Currency Currency is the means of purchasing through trade. Today, currency generally refers to printed or minted money. Sometimes only paper bills are thought of as currency, while other times coins are included. Currency involves the exchange of goods or services for cash.
Currency counterfeit Counterfeiting of money is one of the oldest crimes in history. It was a serious problem during the 19th century when banks issued their own currency. At the time of the Civil War, it was estimated that one-third of all currency in circulation was counterfeit
Why currency validationsystemBecause of the availability of mobile inevery handThe customer didn’t have to buy any of theprevious devices only he pick his mobilephone up and take a photo for thecurrency and through our application hecan determine whether that currencyreal or false.
Currencies Our system applied on Egyptian currencies
Used Technologies: Matlab Microsoft visual studio Windows phone developer tools
Processing steps Taking a photo for the suspected currency via mobile Sending the currency image to the server to be checked Preprocessing of the input image to remove noise and background Currency value determinant Extracting special features Checking the validity of the currency Show result and send it back to the mobile
Step1: taking a photo for thesuspected currency via mobile
Check to see if the camera is available on the device if not available Message ===== > The camera not supported on the device. if available Use standard camera if available. Otherwise, use front-facing camera on the device. Start image capture Save picture as JPEG to isolated storage.
Step2: Sending the currency imageto the server to be checked In this steps the mobile send the captured image to the server using network And the mobile waiting for response
send image to server by network Connecting to a TCP Socket Server create a socket and connect to the server by using the System.Net.Sockets APIs. Send Request to Server for connect by Host name and Port Number Server listen to any request and Accept On Connection Client Convert image to Array of bytes Send Array to server
Waiting for Result from Server Server Received Byte Array Convert array of bytes to Image Run processing Operations on This Image
Step3: Preprocessing of the inputimage to remove noise andbackground This step concerns with preparing the input image for the processing ž First, resizing the input image to a predefined general size ž Second, removing the image noise if exist finally, removing the currency background
Removing noise Using blurring filters to remove noise from the image
Step4: Currency value determinant ž In this step we determine the value of the currency ž There was 2 methods 1.MSE 2.comparison method using Surf algorithm
1- MSE Create a matlab function that calculate the mean square error for the spectrum of the image Binding that matlab function with c# ž Crop a rectangle from the upper left corner ž Apply matlab function that calculate MSE in the cropped part ž Test the result and get the range ž Determine the currency value
MSE limitations ž By examining the MSE method we find an error rate between 20% & 40% That rate come from inference between 200L.E & 100L.E rates ž So, we apply the second method .
Comparison method In this method the system determine the value of the currency by comparing the input currency with a small database that contains a number of different currencies and get the similarity rate for each comparison ž We determine the currency value by getting the highest similarity rate in comparison process
Step5: Extracting security features After determining the value of currency, we need to extract the security features for each currency Security marks of currencies are those marks with which we can determine whether the currency is true or false
Some important security marks intheEgyptian currency : Shiny intermittent tape Magnetic security tape Eye of Horus
A print using an ink which its color is changeable when tilting the currency
Step6: Checking the validity of thecurrency In order to check the validity of the currency we need to compare the extracted security marks with another real currency marks that is saved in the system This process is done using two different techniques:1. Neural Network2. Surf algorithm
Neural network Simply we use xor neural network but with changing the inputs of the network to the numbers which obtained by counting ones exits in rows and columns of special parts in the currency like Shiny intermittent tape this is called projection. In the training process we use back propagation algorithm to learn neural by using at least one original currency and one that is not original .
Neural network The ideal output of the original currency is 1 and the ideal output of the not original one is 0. The network stopped when the number of epochs is larger than 5000 and the error is less than 0.001.then we test the network by a new data. We compare the output of the network by a threshold to determine which it is original or not.
Surf algorithm Convert the input image to integral image Applying fast Hessian filter for generating interest point For each interest point generate surf descriptor Comparison between surf descriptors in each image
Step7: Show result and send itback to the mobile In this step the mobile receive the result from the server and show a message to the user
Limitations Camera with more than 5 MP efficiency The photo of currency must be taken with black background Our system is not applied in old versions of currency
Team: Ahmad Mohammed Akl Abdurrahman Mohammed Amira Raft Ahmed Elhmamsy ž Ibrahim El-Said Mohammed El-Said Harhera Mai Magdy Mohammad ElKobrosly Nada Said El-Said Essa ž Nada Mohammed Mohammed Yousef