# Ethiopian Banknote Recognition Using Convolutional Neural Network and Its Prototype Development Using Embedded Platform

Authors: Dereje Tekilu Aseffa; Harish Kalla; Satyasis Mishra
Journal: Journal of Sensors
 (2022)

---

## Abstract

Money transactions can be performed by automated self-service machines like ATMs for money deposits and withdrawals, banknote counters and coin counters, automatic vending machines, and automatic smart card charging machines. There are four important functions such as banknote recognition, counterfeit banknote detection, serial number recognition, and fitness classification which are furnished with these devices. Therefore, we need a robust system that can recognize banknotes and classify them into denominations that can be used in these automated machines. However, the most widely available banknote detectors are hardware systems that use optical and magnetic sensors to detect and validate banknotes. These banknote detectors are usually designed for specific country banknotes. Reprogramming such a system to detect banknotes is very difficult. In addition, researchers have developed banknote recognition systems using deep learning artificial intelligence technology like CNN and R-CNN. However, in these systems, dataset used for training is relatively small, and the accuracy of banknote recognition is found smaller. The existing systems also do not include implementation and its development using embedded systems. In this research work, we collected various Ethiopian currencies with different ages and conditions and applied various optimization techniques for CNN architects to identify the fake notes. Experimental analysis has been demonstrated with different models of CNN such as InceptionV3, MobileNetV2, XceptionNet, and ResNet50. MobileNetV2 with RMSProp optimization technique with batch size 32 is found to be a robust and reliable Ethiopian banknote detector and achieved superior accuracy of 96.4% in comparison to other CNN models. Selected model MobileNetV2 with RMSProp optimization has been implemented through an embedded platform by utilizing Raspberry Pi 3 B+ and other peripherals. Further, real-time identification of fake notes in a Web-based user interface (UI) has also been proposed in the research.


---

## Body

## 1. Introduction

In the digital world, money transactions play a vital role in day-to-day life. Thousands of organizations perform digital transactions every day. Moreover, in the digital technology world, banking operations and authentication of currencies are mandatory in many applications such as smart card charging machines to pay for electricity and transport, money exchange machines, Automated Teller Machine (ATM), vending machines for drinks, tollgate ticket-vending machines at highways, and parking meters at shopping malls. These devices are user-friendly and make jobs easier and fast. These devices prevent users from authenticating and denominating banknotes. Feature extraction is an important method in the process of classification of banknotes.The banknote authentication process of such machines consists of a series of operations. They are fake currency identification, banknote denomination recognition, and serial number recognition. The paper currency denomination is distinguished by using the banknote images with machine learning algorithms. The result of this process is used in validation and testing. Most of the countries are using these machines adequately. These machines can be used to Ethiopia environment by changing a few algorithms in the software to identify and classify the Ethiopian currency (ETB). In this research, we presented the results to show an effective scheme for Ethiopian banknote recognition. We have employed MobileNetV2 convolutional neural network (CNN) architecture-based banknote recognition algorithm along with the embedded system hardware to verify and classify the denominations of the Ethiopian banknotes. The general objective and specific objective of the research are as follows.


### 1.1. General Objective

The objective of this project is to design and implement an efficient Ethiopian banknote detector system using CNN architecture, an embedded hardware system (Raspberry Pi B+), and a Web-based app for the user interface.


### 1.2. Specific Objective

Particularly, this research has the following specific objectives:(i)
To collect various Ethiopian currencies of different ages and conditions(ii)
To identify the best architecture model from existing CNN architectures(iii)
Apply various optimization techniques for CNN architects to identify the best optimization technique(iv)
To develop Web-based app (software) for user interface(v)
To implement a novel architecture with the best optimization technique using the embedded system for classifying banknotesThe research contributions are as follows:(i)
In this research, classification of the Ethiopian banknotes using four different CNN architectures is employed. Those are InceptionV3, MobileNetV2, XceptionNet, and Resnet50(ii)
To minimize the loss function, various optimization techniques like Adam, SGD, RMSProp, Nadam, Adagrad, and Adadelta are utilized to abovementioned CNN architectures(iii)
Applied various batch sizes 32, 64, and 128 are taken to understand the performance of hyperparameters of each CNN architecture with different optimization techniques(iv)
Compared the training loss, training accuracy, validation loss, validation accuracy, training time, and prediction time of all these models(v)
Measured the performance sensitivity, specificity, and accuracy of different classifiers(vi)
Based upon all these results, the best-performed model hardware system has been designed to capture banknote image and classify different denominationsBanknotes have been effectively used in almost all the money transactions like electronic currencies daily. Currency recognition and detection whether original or fake is an important issue in computer vision. Even though various types of digital currency transaction systems exist, cash is still the favored choice in daily transactions such as vending machines, banks, shopping complexes, railway station counters, automatic teller machines, and forex. Moreover, there may be situations where the monies drawn have fake currencies. This issue is still unavoidable, and the banks are not able to supply the required fake currency detection system in all the branches [1].The four distinctive features of the banknotes such as the dominant color, the distribution of the dominant color, the hue value, and speeded-up robust features (SURF) were extracted as the referential features of banknotes in order to deduct the counterfeit currencies [2]. The above four features in combination with local feature descriptors were considered in a four-level classification process. During the execution, among the four, one of the four features was extracted as a classification task. The correlation coefficient-based template matching was used for classification. To check the originality of the currencies, final verification tasks were performed by segmenting the thin golden vertical strip which is on the currency denomination of ETB notes of 50 and 100. Test results showed that the proposed design had an average detection rate of 90.42% for genuine currency, with an average prediction time of 1.68 seconds per banknote [3]. Though the researchers have used a suiFigure method for classification as well as fraud recognition, the techniques suffer precision issues such as classifying old genuine bills whose color become fading. The fading of color of the currencies might be due to hard-and-fast circulation of the currencies by careless peoples. The spatial information of the banknote relates to the color present in the note but not the color density. During the image acquisition process illumination conditions, it is expected that it would not vary, but the notes may lose their intensities because of the worn-out or they may have dirt. The banknote recognizing process is sufficient in using RGB space density. The Ethiopian currency may have similar color features; because of this, it is not able to classify accurately the denomination based on color features. In addition, the template matching classifiers are variant to intensity value change. Some researchers proposed the following methods to enhance the feature extraction of the images [3]. SIFT, GLCM, color momentum, CNN, and a combination of SIFT, GLCM, and color momentum techniques. Another researcher proposed and improved the feature extractions using feed-forward artificial neural network as a classifier for the design of the Ethiopian paper currency recognition system. Convolutional neural network (CNN) model utilizes a total of 2400 banknotes images which were collected through the scanner for training and testing [3]. A CNN-based Ethiopian currency recognition model for vision-impaired people has been developed in which they used pretrained models such as TensorFlow object detection API and the pretrained Faster R-CNN (region-based CNN), Inception, and SSD (single-shot multibox detection) MobileNetV2 models with CNN architecture and tested them in real-time scenarios. They predicted the outcomes from the system by applying various input methods such as partially damaged banknotes, fully damaged banknotes, and folded currencies. This model showed an average accuracy value of 91.8% which is considered as very less when compared to our proposed method. In this approach, for every 100 transactions, approximately 8 transactions are found to be abnormal. Hence, this approach has not been considered for commercial usage. Moreover, one of the drawbacks of their approach is that they have not come up with the procedures to calculate the total processing time for the prediction of banknotes [4].The traditional approach of paper money recognition is the identification of visible features found on a paper currency like the historical people images, like father of the nation and freedom fighters, and landmark buildings, like parliament buildings, numbers, color, texture, signature, and size of banknote. These textures are extracted as features using texture-modeling techniques. The disadvantage of this approach is that it is difficult to recognize the old age of banknotes torn due to their regular usage [5]. The researcher predicted the denomination classification based on geometric features of banknotes [6]. This approach is applicable only for countries that have banknote denominations of various sizes like China and Italy. It was unsuitable for US dollars, which had a similar size for various denominations. Moreover, most of the country’s banknotes’ denomination colors are different [7]. The color of Indian paper currencies is different for all denominations. Using these various colors, the author developed an Indian banknote denomination classification [8]. Similarly, another researcher also investigated the currency recognition system using color conversion techniques. The researcher extracted the color features of Indian currencies by using HSV (Hue, Saturation, and Value) color space [9]. Furthermore, a researcher urged on extracting the Euro currency note features using unique characteristics of image parts. Similarly, contributed research on feature extraction techniques using coordinate data size possesses the same characteristics of image color [10]. Likewise, a new approach called the visible light spectrum method is employed for the classification of Korean won notes. The wavelet domain features of Korean won bill images were extracted using the Sobel filter. Additionally, to reduce the features of image space coordinates employed the canonical analysis. Finally, it is required to send the output image to the K-nearest neighbor method to recognize the Korean won currency notes [11].Modern countries have been investigating to develop innovative technologies for authenticating their banknotes. A Canadian dollar scanner has been developed with prerecorded voice output. The user can keep the banknote under the scanner a prerecorded voice output informing the denomination value. This scanner works only for Canadian dollars [12]. A Sri Lankan (LKR) rupee classification system has been designed by utilizing a unique linear transformation function, edge detection, and backpropagation neural networks [13]. The banknote recognition was conducted using AdaBoost and SURF-based methods [14–16]. Furthermore, an image processing-based Bangladesh bill recognition technique has been designed in which the researcher extracted the features from Latent Image, watermark, and microprinting of the bill using the Histogram of Gradient (HOG) method. To classify the Bangladesh bills, they utilized the SVM (support vector machine) algorithm. This design was found to provide 100% of classification accuracy. However, the designed system tested only on the 1000 and 500 Bangladesh banknote denominations [1]. In the same view, the portable system for blind people for Euro banknote detection and recognition is presented in [17]. Finally, a researcher presented a currency recognition system for six different types of US dollars in which the banknote images are processed by utilizing the line sensor. To extract the banknote image features, the Principal Component Analysis (PCA) algorithm was adopted and Linear Vector Quantization (LVQ) network was utilized for classification [14]. Several researchers have recommended server-client model-based online banknote recognition systems for Slovak EURO currency. This model employed a SIFT detector. However, this model had a problem with a long recognition time [18]. A currency recognition system for Ethiopian banknotes using a support vector machine has been discussed in [19], which recognizes the front part of the currency well. Another researcher proposed an Indian banknote detection method using side invariant technique. In this technique, the system used a template matching method. It compared the edges of the input test images and reference images from the database. Finally, the system classified the paper currency depending on the generated match score. Due to the limitations of the proposed system, it showed a low accuracy rate because of the positioning of the input currency image, input image brightness, and image quality system [20]. Furthermore, currency classification by employing a robust method called block local-binary pattern was investigated by researchers [21]. Similarly, a multicurrency detection system for Chinese Yuan and Euro paper currencies has been designed and tested where they followed the generalized Gaussian density (GGD), quaternion wavelet transform (QWT), and a backpropagation neural network (BPNN) to detect the multicurrency notes [22]. Additionally, Persian banknote detection is projected by using Haar wavelet transform (HWT) and multilayer perceptron (MLP) neural network. The benefit of HWT is as a change in the input signal which can lead to an unpredictable change in the transform coefficient. The drawback of this method is that it generates a spatial-domain feature in geometrical positions [23]. Similarly, a new approach, grid features of images, was invented to classify the banknote images. In this approach, the banknote image feature vector is calculated by using the average gray value of partitioned m×n divisions of the input image. The system also had other flaws such as determining the best m×n partition size and number of features for efficient classification [24]. The deep convolutional neural networks are implemented and trained on the DenseNet-121 architecture [25]. Finally, the SVM learning algorithm-based Nigerian currency classification system was proposed and used a genetic algorithm for parameter optimization. A predefined decision function was applied in the SVM learning algorithm. However, an efficient set of features was not calculated for Nigerian banknote classification. Further, the system was not evaluated using other global banknotes [26].Globally, various countries’ banknote recognition systems have been designed to help visually impaired persons. Few of these systems are LookTel Money Scanner and IDEAL Currency Identifier to predict any denomination of US dollars. Apart from this, there are dedicated mobile readers, namely, Money Talker, Note TEller 2, and KNFB designed for Australian and US dollar currency recognition [27]. A mobile phone-based US banknote detection system was employed with background subtraction and perspective correction algorithms. These banknote images are trained using an efficient AdaBoost algorithm. This approach works on various mobile operating systems like Windows and Symbian. However, though the mobile phone-based system used efficient algorithms, they took more processing time which needed to be improved for real-time scenarios [28]. Similarly, a technique proposed for determining the US dollar employed an image identification approach called eigenfaces based on the Principal Component Analysis (PCA). The system analyzed the banknote images on two different Nokia smartphones. It is found that the system had a precision rate of 99.8%. The system had limitations such as image brightness and segmenting the background of banknote images [29]. Correspondingly, a bionic eyeglass was implemented to recognize the banknotes. Bionic eyeglass was interfaced with a Samsung Galaxy S mobile phone, and this experiment was tested with five visually challenged persons. This system utilized K-means and CNN architecture for the classification of banknote images. Bionic eyeglass has an integrated micro camera to capture the banknote image. After that, image is transmitted to the computer system by using server/client architecture for recognition. Here, Samsung mobile acts as an interface device just to send the images to the computer system through the Bionic eyeglass with no processing capability [30]. Finally, a Jordan paper currency recognition system for both colored and grayscale images with a dataset size of 400 has been developed. This system used to test on both grayscale and color images. The SIFT features were extracted from both colored and grayscale images and compared with the classification rate. However, the system faced the same issues with the illumination difficulty and the system was comparatively slow when interfaced on a cell phone [31]. Optimization is one of the core components of machine learning, “convolution neural network (CNN) with RMSProp” (Root Mean Square Propagation) on a standard “UCI machine learning repository” dataset [32]. A technique the PSOSGD proposed by Albeahdili is superior to the traditional method in training [33]. To boost the classification performance, four different optimizers are employed with the TF-CNN, Adagrad, Proximal Adagrad, Adam, and RMSProp [34].Banknote recognition and classification systems play a vital role in automatic money transaction machines. Most of the reviewed research mentioned played a substantial role in the problem area of banknote recognition and classification. Even if they have their limitations/gap such as small datasets, they require special knowledge on the usage of systems, and moreover, they are found to be expensive. Some of the research needs more processing time to see the results because of more computational algorithms and internal architecture layers. In addition, other researchers are expected to come up with issues like folding, lighting conditions, more processing time, paper currency quality, and worn currency notes. Moreover, all the above research works are concentrated on different neural network architectures and do not consider the effect of optimization techniques. Most of the researchers concentrated on various techniques and algorithms, but they did not mention the type and specifications of the computer system to run these algorithms efficiently. Though most of the researchers do analysis on high-speed computers, there are limitations like the cost and complexity of the system to use and operate. Hence, apart from the software programs, algorithms, and architectures, it is also necessary to implement it on sophisticated embedded systems with lightweight architectures in order to provide high processing speed with less validation time. Hence, there is a need to come up with a development of the best accuracy currency recognition models using CNN classifier with a good optimization technique on sophisticated embedded systems. Therefore, in this research project, we designed and implemented an efficient Ethiopian banknote detector system using CNN architecture, an embedded hardware system (Raspberry Pi B+), and a Web-based app for the user interface.


## 1.1. General Objective

The objective of this project is to design and implement an efficient Ethiopian banknote detector system using CNN architecture, an embedded hardware system (Raspberry Pi B+), and a Web-based app for the user interface.


## 1.2. Specific Objective

Particularly, this research has the following specific objectives:(i)
To collect various Ethiopian currencies of different ages and conditions(ii)
To identify the best architecture model from existing CNN architectures(iii)
Apply various optimization techniques for CNN architects to identify the best optimization technique(iv)
To develop Web-based app (software) for user interface(v)
To implement a novel architecture with the best optimization technique using the embedded system for classifying banknotesThe research contributions are as follows:(i)
In this research, classification of the Ethiopian banknotes using four different CNN architectures is employed. Those are InceptionV3, MobileNetV2, XceptionNet, and Resnet50(ii)
To minimize the loss function, various optimization techniques like Adam, SGD, RMSProp, Nadam, Adagrad, and Adadelta are utilized to abovementioned CNN architectures(iii)
Applied various batch sizes 32, 64, and 128 are taken to understand the performance of hyperparameters of each CNN architecture with different optimization techniques(iv)
Compared the training loss, training accuracy, validation loss, validation accuracy, training time, and prediction time of all these models(v)
Measured the performance sensitivity, specificity, and accuracy of different classifiers(vi)
Based upon all these results, the best-performed model hardware system has been designed to capture banknote image and classify different denominationsBanknotes have been effectively used in almost all the money transactions like electronic currencies daily. Currency recognition and detection whether original or fake is an important issue in computer vision. Even though various types of digital currency transaction systems exist, cash is still the favored choice in daily transactions such as vending machines, banks, shopping complexes, railway station counters, automatic teller machines, and forex. Moreover, there may be situations where the monies drawn have fake currencies. This issue is still unavoidable, and the banks are not able to supply the required fake currency detection system in all the branches [1].The four distinctive features of the banknotes such as the dominant color, the distribution of the dominant color, the hue value, and speeded-up robust features (SURF) were extracted as the referential features of banknotes in order to deduct the counterfeit currencies [2]. The above four features in combination with local feature descriptors were considered in a four-level classification process. During the execution, among the four, one of the four features was extracted as a classification task. The correlation coefficient-based template matching was used for classification. To check the originality of the currencies, final verification tasks were performed by segmenting the thin golden vertical strip which is on the currency denomination of ETB notes of 50 and 100. Test results showed that the proposed design had an average detection rate of 90.42% for genuine currency, with an average prediction time of 1.68 seconds per banknote [3]. Though the researchers have used a suiFigure method for classification as well as fraud recognition, the techniques suffer precision issues such as classifying old genuine bills whose color become fading. The fading of color of the currencies might be due to hard-and-fast circulation of the currencies by careless peoples. The spatial information of the banknote relates to the color present in the note but not the color density. During the image acquisition process illumination conditions, it is expected that it would not vary, but the notes may lose their intensities because of the worn-out or they may have dirt. The banknote recognizing process is sufficient in using RGB space density. The Ethiopian currency may have similar color features; because of this, it is not able to classify accurately the denomination based on color features. In addition, the template matching classifiers are variant to intensity value change. Some researchers proposed the following methods to enhance the feature extraction of the images [3]. SIFT, GLCM, color momentum, CNN, and a combination of SIFT, GLCM, and color momentum techniques. Another researcher proposed and improved the feature extractions using feed-forward artificial neural network as a classifier for the design of the Ethiopian paper currency recognition system. Convolutional neural network (CNN) model utilizes a total of 2400 banknotes images which were collected through the scanner for training and testing [3]. A CNN-based Ethiopian currency recognition model for vision-impaired people has been developed in which they used pretrained models such as TensorFlow object detection API and the pretrained Faster R-CNN (region-based CNN), Inception, and SSD (single-shot multibox detection) MobileNetV2 models with CNN architecture and tested them in real-time scenarios. They predicted the outcomes from the system by applying various input methods such as partially damaged banknotes, fully damaged banknotes, and folded currencies. This model showed an average accuracy value of 91.8% which is considered as very less when compared to our proposed method. In this approach, for every 100 transactions, approximately 8 transactions are found to be abnormal. Hence, this approach has not been considered for commercial usage. Moreover, one of the drawbacks of their approach is that they have not come up with the procedures to calculate the total processing time for the prediction of banknotes [4].The traditional approach of paper money recognition is the identification of visible features found on a paper currency like the historical people images, like father of the nation and freedom fighters, and landmark buildings, like parliament buildings, numbers, color, texture, signature, and size of banknote. These textures are extracted as features using texture-modeling techniques. The disadvantage of this approach is that it is difficult to recognize the old age of banknotes torn due to their regular usage [5]. The researcher predicted the denomination classification based on geometric features of banknotes [6]. This approach is applicable only for countries that have banknote denominations of various sizes like China and Italy. It was unsuitable for US dollars, which had a similar size for various denominations. Moreover, most of the country’s banknotes’ denomination colors are different [7]. The color of Indian paper currencies is different for all denominations. Using these various colors, the author developed an Indian banknote denomination classification [8]. Similarly, another researcher also investigated the currency recognition system using color conversion techniques. The researcher extracted the color features of Indian currencies by using HSV (Hue, Saturation, and Value) color space [9]. Furthermore, a researcher urged on extracting the Euro currency note features using unique characteristics of image parts. Similarly, contributed research on feature extraction techniques using coordinate data size possesses the same characteristics of image color [10]. Likewise, a new approach called the visible light spectrum method is employed for the classification of Korean won notes. The wavelet domain features of Korean won bill images were extracted using the Sobel filter. Additionally, to reduce the features of image space coordinates employed the canonical analysis. Finally, it is required to send the output image to the K-nearest neighbor method to recognize the Korean won currency notes [11].Modern countries have been investigating to develop innovative technologies for authenticating their banknotes. A Canadian dollar scanner has been developed with prerecorded voice output. The user can keep the banknote under the scanner a prerecorded voice output informing the denomination value. This scanner works only for Canadian dollars [12]. A Sri Lankan (LKR) rupee classification system has been designed by utilizing a unique linear transformation function, edge detection, and backpropagation neural networks [13]. The banknote recognition was conducted using AdaBoost and SURF-based methods [14–16]. Furthermore, an image processing-based Bangladesh bill recognition technique has been designed in which the researcher extracted the features from Latent Image, watermark, and microprinting of the bill using the Histogram of Gradient (HOG) method. To classify the Bangladesh bills, they utilized the SVM (support vector machine) algorithm. This design was found to provide 100% of classification accuracy. However, the designed system tested only on the 1000 and 500 Bangladesh banknote denominations [1]. In the same view, the portable system for blind people for Euro banknote detection and recognition is presented in [17]. Finally, a researcher presented a currency recognition system for six different types of US dollars in which the banknote images are processed by utilizing the line sensor. To extract the banknote image features, the Principal Component Analysis (PCA) algorithm was adopted and Linear Vector Quantization (LVQ) network was utilized for classification [14]. Several researchers have recommended server-client model-based online banknote recognition systems for Slovak EURO currency. This model employed a SIFT detector. However, this model had a problem with a long recognition time [18]. A currency recognition system for Ethiopian banknotes using a support vector machine has been discussed in [19], which recognizes the front part of the currency well. Another researcher proposed an Indian banknote detection method using side invariant technique. In this technique, the system used a template matching method. It compared the edges of the input test images and reference images from the database. Finally, the system classified the paper currency depending on the generated match score. Due to the limitations of the proposed system, it showed a low accuracy rate because of the positioning of the input currency image, input image brightness, and image quality system [20]. Furthermore, currency classification by employing a robust method called block local-binary pattern was investigated by researchers [21]. Similarly, a multicurrency detection system for Chinese Yuan and Euro paper currencies has been designed and tested where they followed the generalized Gaussian density (GGD), quaternion wavelet transform (QWT), and a backpropagation neural network (BPNN) to detect the multicurrency notes [22]. Additionally, Persian banknote detection is projected by using Haar wavelet transform (HWT) and multilayer perceptron (MLP) neural network. The benefit of HWT is as a change in the input signal which can lead to an unpredictable change in the transform coefficient. The drawback of this method is that it generates a spatial-domain feature in geometrical positions [23]. Similarly, a new approach, grid features of images, was invented to classify the banknote images. In this approach, the banknote image feature vector is calculated by using the average gray value of partitioned m×n divisions of the input image. The system also had other flaws such as determining the best m×n partition size and number of features for efficient classification [24]. The deep convolutional neural networks are implemented and trained on the DenseNet-121 architecture [25]. Finally, the SVM learning algorithm-based Nigerian currency classification system was proposed and used a genetic algorithm for parameter optimization. A predefined decision function was applied in the SVM learning algorithm. However, an efficient set of features was not calculated for Nigerian banknote classification. Further, the system was not evaluated using other global banknotes [26].Globally, various countries’ banknote recognition systems have been designed to help visually impaired persons. Few of these systems are LookTel Money Scanner and IDEAL Currency Identifier to predict any denomination of US dollars. Apart from this, there are dedicated mobile readers, namely, Money Talker, Note TEller 2, and KNFB designed for Australian and US dollar currency recognition [27]. A mobile phone-based US banknote detection system was employed with background subtraction and perspective correction algorithms. These banknote images are trained using an efficient AdaBoost algorithm. This approach works on various mobile operating systems like Windows and Symbian. However, though the mobile phone-based system used efficient algorithms, they took more processing time which needed to be improved for real-time scenarios [28]. Similarly, a technique proposed for determining the US dollar employed an image identification approach called eigenfaces based on the Principal Component Analysis (PCA). The system analyzed the banknote images on two different Nokia smartphones. It is found that the system had a precision rate of 99.8%. The system had limitations such as image brightness and segmenting the background of banknote images [29]. Correspondingly, a bionic eyeglass was implemented to recognize the banknotes. Bionic eyeglass was interfaced with a Samsung Galaxy S mobile phone, and this experiment was tested with five visually challenged persons. This system utilized K-means and CNN architecture for the classification of banknote images. Bionic eyeglass has an integrated micro camera to capture the banknote image. After that, image is transmitted to the computer system by using server/client architecture for recognition. Here, Samsung mobile acts as an interface device just to send the images to the computer system through the Bionic eyeglass with no processing capability [30]. Finally, a Jordan paper currency recognition system for both colored and grayscale images with a dataset size of 400 has been developed. This system used to test on both grayscale and color images. The SIFT features were extracted from both colored and grayscale images and compared with the classification rate. However, the system faced the same issues with the illumination difficulty and the system was comparatively slow when interfaced on a cell phone [31]. Optimization is one of the core components of machine learning, “convolution neural network (CNN) with RMSProp” (Root Mean Square Propagation) on a standard “UCI machine learning repository” dataset [32]. A technique the PSOSGD proposed by Albeahdili is superior to the traditional method in training [33]. To boost the classification performance, four different optimizers are employed with the TF-CNN, Adagrad, Proximal Adagrad, Adam, and RMSProp [34].Banknote recognition and classification systems play a vital role in automatic money transaction machines. Most of the reviewed research mentioned played a substantial role in the problem area of banknote recognition and classification. Even if they have their limitations/gap such as small datasets, they require special knowledge on the usage of systems, and moreover, they are found to be expensive. Some of the research needs more processing time to see the results because of more computational algorithms and internal architecture layers. In addition, other researchers are expected to come up with issues like folding, lighting conditions, more processing time, paper currency quality, and worn currency notes. Moreover, all the above research works are concentrated on different neural network architectures and do not consider the effect of optimization techniques. Most of the researchers concentrated on various techniques and algorithms, but they did not mention the type and specifications of the computer system to run these algorithms efficiently. Though most of the researchers do analysis on high-speed computers, there are limitations like the cost and complexity of the system to use and operate. Hence, apart from the software programs, algorithms, and architectures, it is also necessary to implement it on sophisticated embedded systems with lightweight architectures in order to provide high processing speed with less validation time. Hence, there is a need to come up with a development of the best accuracy currency recognition models using CNN classifier with a good optimization technique on sophisticated embedded systems. Therefore, in this research project, we designed and implemented an efficient Ethiopian banknote detector system using CNN architecture, an embedded hardware system (Raspberry Pi B+), and a Web-based app for the user interface.


## 2. Materials and Methods

This part is to propose the methodology to determine the best CNN model for the real-time Ethiopian banknote classification by iteratively varying the pretrained model configurations. Figure1 demonstrates the block diagram of the proposed model procedure. Figure 2 shows retrain stage process of the proposed model, which is described below.Figure 1
Methodology of the proposed model.Figure 2
Retrain stage process of the proposed model.


### 2.1. Flowchart of the Proposed Methodology

### 2.2. Preparing Dataset

The Ethiopian banknote images were captured using a Logitech C920 digital camera with a resolution of 1080 pixels. All banknotes were collected from the Cooperative Bank of Oromia, Deka Adi Branch, Adama, Ethiopia. This collected dataset contains four denominations/classes such as five, ten, fifty, and hundred with demonstrated sample images in Figure3. Images of banknotes are in RGB format and are stored in Joint Photographic Experts Group (JPEG) format. They possess some challenges such as blurry images, partially occluded signs, low resolution, poor illumination, and furthermore different dimensions. These images are filtered and renewed in size into 500×500 pixels.Figure 3
Sample images of Ethiopian currency collected from the bank.


### 2.3. Splitting Data

When the samples in the dataset increase enormously and are diverse, splitting data with ratio of train dataset 70%, validation dataset 10%, and test dataset 20% is a good choice. Table1 represents the splitting ratio of Ethiopian banknotes.Table 1
Splitting the banknote datasets.
Type of currencyTrainingValidationTestingFifty1430231427Five1534238449Hundred1393219419Ten1345221427Total57029091722Total images: 8333


### 2.4. Augmenting Dataset

In short, data augmentation is a preprocessing technique to help us to generate more image variations to both avoid overfitting and increase the accuracy of the model. Here is the index of techniques we used in the research.Image rotation helps our model to become more robust to the changes in the orientation of banknotes. The information of the image remains the same, for example, a ten-birr note is a ten-birr note even if we see it from a different angle. When the image is rotated, some pixels will move outside the image and leave an empty area that needs to be filled in. To fill this empty area, use the nearest pixel values. Here, we rotated images into 45°. All the bank currency notes may not always be in the center of the image. To overcome this problem, we shifted the pixels of the image either horizontally or vertically.Pseudocode 1: Data generation.
train_data_generator = ImageDataGenerator(zca_epsilon =1e−06,rotation_range = 45,width_shift_range = 0.2,height_shift_range = 0.2,brightness_range = none,fill_mode = “nearest”,horizontal_flip = true,vertical_flip = false,rescale = none,)Random flip technique should be according to the object in the image. The pretrained network will be trained on patches of images which are randomly flipped from the original dataset. The various techniques of data augmentation output images are shown in Figure4. So here we flipped the banknotes horizontally. After the data augmentation, we obtained 30,580 samples as shown in Table 2.Figure 4
Output images of image data augmentation techniques rotation, shifts, and flips.Table 2
Image quantity after data augmentation generation.
Type of currencyTrainingValidationTestingFifty40793203227Five42903343355Hundred40393223176Ten40043043130Total16,412128012,888Total images: 30,580


### 2.5. MobileNetV2

MobileNetV2 is a CNN architecture model for image classification and mobile vision. MobileNetV2 has two new global hyperparameters (width multiplier and resolution multiplier) that allow model developers to tradeoff latency or accuracy for speed and low size depending on their requirements. The convolutional layer and model architectures are shown in Figures5 and 6.Figure 5
MobileNetV2 model architecture.Figure 6
MobileNetV2 convolutional layer models [35].


## 2.1. Flowchart of the Proposed Methodology

## 2.2. Preparing Dataset

The Ethiopian banknote images were captured using a Logitech C920 digital camera with a resolution of 1080 pixels. All banknotes were collected from the Cooperative Bank of Oromia, Deka Adi Branch, Adama, Ethiopia. This collected dataset contains four denominations/classes such as five, ten, fifty, and hundred with demonstrated sample images in Figure3. Images of banknotes are in RGB format and are stored in Joint Photographic Experts Group (JPEG) format. They possess some challenges such as blurry images, partially occluded signs, low resolution, poor illumination, and furthermore different dimensions. These images are filtered and renewed in size into 500×500 pixels.Figure 3
Sample images of Ethiopian currency collected from the bank.


## 2.3. Splitting Data

When the samples in the dataset increase enormously and are diverse, splitting data with ratio of train dataset 70%, validation dataset 10%, and test dataset 20% is a good choice. Table1 represents the splitting ratio of Ethiopian banknotes.Table 1
Splitting the banknote datasets.
Type of currencyTrainingValidationTestingFifty1430231427Five1534238449Hundred1393219419Ten1345221427Total57029091722Total images: 8333


## 2.4. Augmenting Dataset

In short, data augmentation is a preprocessing technique to help us to generate more image variations to both avoid overfitting and increase the accuracy of the model. Here is the index of techniques we used in the research.Image rotation helps our model to become more robust to the changes in the orientation of banknotes. The information of the image remains the same, for example, a ten-birr note is a ten-birr note even if we see it from a different angle. When the image is rotated, some pixels will move outside the image and leave an empty area that needs to be filled in. To fill this empty area, use the nearest pixel values. Here, we rotated images into 45°. All the bank currency notes may not always be in the center of the image. To overcome this problem, we shifted the pixels of the image either horizontally or vertically.Pseudocode 1: Data generation.
train_data_generator = ImageDataGenerator(zca_epsilon =1e−06,rotation_range = 45,width_shift_range = 0.2,height_shift_range = 0.2,brightness_range = none,fill_mode = “nearest”,horizontal_flip = true,vertical_flip = false,rescale = none,)Random flip technique should be according to the object in the image. The pretrained network will be trained on patches of images which are randomly flipped from the original dataset. The various techniques of data augmentation output images are shown in Figure4. So here we flipped the banknotes horizontally. After the data augmentation, we obtained 30,580 samples as shown in Table 2.Figure 4
Output images of image data augmentation techniques rotation, shifts, and flips.Table 2
Image quantity after data augmentation generation.
Type of currencyTrainingValidationTestingFifty40793203227Five42903343355Hundred40393223176Ten40043043130Total16,412128012,888Total images: 30,580


## 2.5. MobileNetV2

MobileNetV2 is a CNN architecture model for image classification and mobile vision. MobileNetV2 has two new global hyperparameters (width multiplier and resolution multiplier) that allow model developers to tradeoff latency or accuracy for speed and low size depending on their requirements. The convolutional layer and model architectures are shown in Figures5 and 6.Figure 5
MobileNetV2 model architecture.Figure 6
MobileNetV2 convolutional layer models [35].


## 3. Experimental Setup

### 3.1. Training and Testing Infrastructure

The hardware utilized comprised a Core i7, 2.4 GHz processor with 16 GB RAM, and NVIDIA RTX2060 GPU. The operating system used was Windows 10, 64-bit. Image processing techniques and other related Python, Keras, and Transfer learning toolboxes were utilized in the development of the system. The research utilized cross-validation for data analysis. It is a statistical technique used in evaluating predictive models by feature extraction of data into training and validation sets. After evaluation of the model, save the weights into .h5py format. These saved files are loaded and tested using Raspberry Pi 4 B+ model processor. The hardware setup is shown in Figure7.Figure 7
Experimental setup.


## 3.1. Training and Testing Infrastructure

The hardware utilized comprised a Core i7, 2.4 GHz processor with 16 GB RAM, and NVIDIA RTX2060 GPU. The operating system used was Windows 10, 64-bit. Image processing techniques and other related Python, Keras, and Transfer learning toolboxes were utilized in the development of the system. The research utilized cross-validation for data analysis. It is a statistical technique used in evaluating predictive models by feature extraction of data into training and validation sets. After evaluation of the model, save the weights into .h5py format. These saved files are loaded and tested using Raspberry Pi 4 B+ model processor. The hardware setup is shown in Figure7.Figure 7
Experimental setup.


## 4. Results and Discussions

For performance evaluation, the designed framework has been trained on four (4) types of convolutional neural network architectures including InceptionV3, MobileNetV2, XceptionNet, and ResNet50, individually. Six different optimization techniques, namely, Adam, SGD, RMSProp, Nadam, Adadelta, and Adagrad, have been utilized in the CNN models. All these models and optimization techniques are conducted simultaneously for 100 epochs. The experiments are performed on a high-performance computer using NVIDIA RTX2060 GPU. When training a CNN model, one of the important aspects is to avoid overfitting. This is occurring when the model fits the training data well, but it cannot generalize and make accurate predictions for data that has not been seen before. To avoid overfitting, a cross-validation technique has been employed, where we split the data into three parts—the training dataset, the test dataset, and the validation dataset. The splitting data are performed in three different ways with the ratio of 70% for training, 20% for testing, and 10% for validation. The loss and accuracy are measures of loss and accuracy on the training set, while test loss and test accuracy are measures of loss and accuracy on the test data set. Tables3–7 present the average of train accuracy, test accuracy, train loss, test loss, and validation time of banknote recognition using InceptionV3, MobileNetV2, XceptionNet, and ResNet50 architectures with various batch sizes of 32, 64, and 128, respectively. Figures 8–11 represent the persistence graph of train accuracy, test accuracy, train loss, test loss, and validation time of the abovementioned models and optimizations.Table 3
Training accuracy of batch sizes 32, 64, and 128.
OptimizationModelBatch size 32Batch size 64Batch size 128IV3MNXNRNIV3MNXNRNIV3MNXNRNAdam96.3896.9694.8094.7896.3096.9695.4494.8596.4696.9694.6194.83SGD95.7594.5691.5996.5696.3092.6594.1296.4296.4692.9392.2896.47RMSProp96.5996.9892.2894.6596.5896.9892.2094.5796.5796.9896.2094.56Nadam96.4596.9696.2994.9396.3596.9696.2496.0096.3796.9696.2596.02Adadelta59.3487.3189.6194.7551.1586.0991.3594.9946.4687.1094.3094.89Adagrad91.4894.8294.4796.8885.3494.8994.4496.8791.9496.0094.6196.88Table 4
Test accuracy of batch sizes 32, 64, and 128.
OptimizationModelBatch size 32Batch size 64Batch size 128IV3MNXNRNIV3MNXNRNIV3MNXNRNAdam96.2696.9490.9479.0694.3095.9596.3277.2696.2996.8696.3479.47SGD94.2193.2092.1896.8794.3091.3492.7096.8596.2993.4692.7696.72RMSProp96.4596.9692.7676.0696.4296.9390.3377.1696.5296.9092.9678.57Nadam92.3096.9291.1275.6394.0196.9094.5980.4894.0496.9894.2580.62Adadelta61.6188.1590.6996.0050.2889.0593.5296.3346.9587.9194.2196.24Adagrad90.1996.2196.3896.9690.1996.2296.3296.9790.5396.2996.3496.97Table 5
Train loss of batch sizes 32, 64, and 128.
OptimizationModelBatch size 32Batch size 64Batch size 128IV3MNXNRNIV3MNXNRNIV3MNXNRNAdam0.020.000.070.050.020.000.070.050.020.000.070.05SGD12.7518.0121.802.660.020.170.180.030.020.170.180.03RMSProp0.010.000.180.100.020.000.090.100.020.000.060.09Nadam0.360.000.030.040.350.000.030.040.240.000.030.04Adadelta1.150.490.340.061.240.480.320.051.260.500.310.05Adagrad0.330.070.070.010.330.070.070.010.320.070.070.01Table 6
Test loss of batch sizes 32, 64, and 128.
OptimizationModelBatch size 32Batch size 64Batch size 128IV3MNXNRNIV3MNXNRNIV3MNXNRNAdam3.280.34104.48183.7427.650.213.99182.012.440.503.79250.94SGD7.9215.8114.421.0637.6515.3013.571.302.4414.8313.881.44RMSProp1.830.1113.88291.952.300.18110.69373.632.720.24160.91455.04Nadam1.380.2488.62484.782.940.4487.80189.055.560.0848.57416.08Adadelta112.0546.7528.594.19124.3845.6326.053.92126.2247.3225.343.93Adagrad25.905.833.920.2925.865.963.990.3425.385.903.790.34Table 7
Validation time of batch sizes 32, 64, and 128 for classifiers and optimizers.
OptimizationModelBatch size 32Batch size 64Batch size 128IV3MNXNRNIV3MNXNRNIV3MNXNRNAdam34.1536.23128.9136.8235.1535.09310.3459.5843.3352.57132.3536.23SGD33.9235.12155.8935.4438.9235.09124.8451.1443.3350.91304.6635.6RMSProp35.8750.91135.5437.3537.8736.22132.8753.2134.6653.05129.4236.4Nadam37.655.36187.1640.8539.636.58124.0956.8437.4955.93125.3940.26Adadelta36.6551.23127.7369.6142.6545.51126.2751.77237.5751.44664.4171.11Adagrad37.7952.42128.1389.9237.7936.84123.3259.5836.752.57123.4166.07Figure 8
Graph of the average training accuracy for each dataset with each classifier and optimizer. IV3: InceptionV3; MN: MobileNetV2; XN: XceptionNet; RN: ResNet50.Figure 9
Graph of the average test accuracy for each dataset with each classifier and optimizer.Figure 10
Graph of the average train loss for each dataset with classifier and optimizer.Figure 11
Graph of the average test loss for each dataset with each classifier and optimizer.


### 4.1. Train Accuracy

A train accuracy metric is used to measure the algorithm’s performance in an interpretable way. It is the measure of how accurate the proposed model’s prediction is compared to the true data. The banknote classification of training accuracy results is presented in Table4. It is understood that the highest training accuracy of 96.98% is achieved by MobileNetV2 using RMSProp optimization in all the batch sizes. The second hyperparameter resolution multiplier of MobileNetV2 is reducing the computational cost of a neural network. The results are also presented graphically and are shown in Figure 8. As shown in Figure 8, the highest accuracy is obtained in MobileNetV2 using the RMSProp optimization technique. Apart from this, using the combinations of MobileNetV2 with Adam and MobileNetV2 Nadam optimizations, it is found that accuracy of 96.96% is achieved which is the second-best accuracy value among other optimization methods. However, the Resnet50 model also shows better accuracy value of 96.88% using Adagrad optimization with batch sizes 32 and 128. But it is also almost nearer to the value of the first model which is the MobileNetV2 model. Except for the model InceptionV3 with Adadelta optimization technique, all other optimized combinations produced more than 90% accuracy.The Adadelta optimization technique shows low performance with an accuracy of 46.46% for the InceptionV3 model with a batch size of 128. Hence, this optimization technique is unfit to predict all the Ethiopian currencies. Hence, MobileNetV2 is more accurate than InceptionV3, XceptionNet, and ResNet50 while being smaller and more than 2.5 times less computation. The graph in Figure6 shows the persistence of training accuracy for all the proposed models and optimization techniques. It is found that when compared to MobileNetV2, Resnet50 is showing almost constant values for all optimization techniques and batch sizes.


### 4.2. Test Accuracy

The test accuracy, we must measure performance onunseen data, which are not used for training data. To measure the test accuracy, use the test dataset. The banknote classification test accuracy results are presented in Table 4. It is understood that the highest training accuracy of 96.97% is achieved by ResNet50 using Adagrad optimization in batch sizes 64 and 128. The results are also presented graphically and are shown in Figure 9. As shown in Figure 9, the highest accuracy is obtained in ResNet50 using the Adagrad optimization technique. However, the MobileNetV2 model also shows better accuracy value of 96.96% using RMSProp optimization with batch size 32. But it is also almost nearer to the value of the first model which is the ResNet50 model. The test accuracy values are very low for Adadelta optimization for all proposed models.The Adadelta optimization technique shows low performance with all proposed models. Hence, this optimization technique is unfit to predict all the Ethiopian currencies. The graph in Figure9 shows the persistence of test accuracy for all the proposed models and optimization techniques. It is found that when compared to MobileNetV2, XceptionNet is showing almost constant values for all optimization techniques and batch sizes. But XceptionNet is showing less test accuracy compared to MobileNetV2 and ResNet50.


### 4.3. Train Loss

In this research, we have employed the loss function as categorical cross-entropy to classify multiple classes.The MobileNetV2 architecture showing training loss is zero for Adam, RMSProp, and Nadam optimization techniques in batch sizes 32, 64, and 128. Compared to other models with various optimization techniques and batch sizes, MobileNetV2 shows low loss values. The ResNet50 showed good training and test accuracy, but it has not achieved zero loss for any optimization techniques shown in Figure10.


### 4.4. Test Loss

When we increased the number of layers, the training and test error rate also increases. From Figure11, we observed that a 50-layer ResNet, 48-layer InceptionV3, and 36-layer XceptionNet CNN give more error rate on both training and testing datasets than MobileNetV2 28-layer CNN architecture.The MobileNetV2 architecture contains a smaller number of layers compared to other network models. Hence, it is showing that training loss becomes zero. The MobileNetV2 and ResNet50 showed almost equal training and test accuracy, but the test loss is very high for the ResNet50 because its gradient is too large, so this model is overfitting the data.


### 4.5. Validation Time

Table7 presents the average processing (testing) time for the Ethiopian bank currency 5-birr, 10-birr, 50-birr, and 100-birr, employed using various CNN models. To improve the recognition time, each system was pretrained before testing on a GPU-based laptop. The time for each set was computed with different classifiers as each technique varied because of the architecture’s approach. It shows the validation time for the dataset with each method; the InceptionV3 using Adam optimization technique in batch size 32 had the shortest validation time 34.15 seconds. But Inceptionv3 showed less training accuracy and test accuracy. The second fastest validation time classifier is the MobileNetV2 model. It is showing 35.09 s. Figure 12 shows the graph of average validation time for each dataset with each classifier. The InceptionV3 and MobileNetV2 had the shortest processing time when optimization technique using the Adam and SGD. The XceptionNet had the highest validation time 664.41 seconds on the proposed classification methods.Figure 12
Graph of the average validation time for each dataset with each classifier and optimizer.


### 4.6. Sensitivity and Specificity

(1)Sensitivity=TruePositiveTruePositive+FalseNegative.The MobileNetV2 model with RMSProp in batch size 32 showed high sensitivity 96.53% compared to remaining models shown in Table8. Figure 13 shows the graph of the proposed model’s sensitivity.
(2)Specificity=TrueNegativeTrueNegative+FalsePasitive.Table 8
Sensitivity of batch sizes 32, 64, and 128 for classifiers and optimizers.
OptimizationModelBatch size 32Batch size 64Batch size 128IV3MNXNRNIV3MNXNRNIV3MNXNRNAdam95.9893.8793.5289.9696.196.2692.4490.8395.995.8494.9689.38SGD94.5695.5691.5993.5695.396.1094.4293.694.4695.791.9293.5RMSProp95.9596.5389.8196.0295.8596.4595.3296.0895.7596.4995.1295.82Nadam94.5494.3595.2989.2696.0195.9596.0490.3695.7395.0295.2593.36Adadelta69.3491.5791.1779.3169.4196.1092.6682.7366.5794.9993.4384.53Adagrad87.8496.0195.4785.8289.3496.1589.6786.6287.6596.0894.1884.82Figure 13
Sensitivity of the proposed architecture models.The MobileNetV2 model with RMSProp in batch size 128 showed high specificity 96.28% compared to remaining models shown in Table9. Figure 14 shows the graph of the proposed model’s specificity.Table 9
Specificity of batch sizes 32, 64, and 128 for classifiers and optimizers.
OptimizationModelBatch size 32Batch size 64Batch size 128IV3MNXNRNIV3MNXNRNIV3MNXNRNAdam92.3490.8791.4386.2395.6592.3688.5492.3895.3290.7489.4589.29SGD89.6490.3494.2392.3794.4794.9590.6792.9393.6790.3486.6791.1RMSProp93.8295.8189.6792.9395.8495.9892.2390.2894.9796.2888.2494.25Nadam90.1294.4587.3491.195.4393.9393.4689.5394.3489.8689.7592.36Adadelta52.3289.3283.9589.0265.2789.7289.8793.1756.9385.9586.8393.75Adagrad77.9894.8791.3793.4787.9481.2389.1293.8386.2686.3690.4692.64Figure 14
Graph of the average specificity.


### 4.7. Hardware Implementation

As we observed the results from sensitivity and specificity metric values, the MobileNetV2 architecture showed the best values. The second-best performance was showed by ResNet50. So, we designed the embedded-based hardware and tested the MobileNetV2 and ResNet50 architecture models in batch sizes 32, 64, and 128. The embedded-based hardware system, i.e., Raspberry Pi captured the banknote images of 10-birr and 100-birr using a Web camera. Using Python code called the saved architecture model to test the input image, Raspberry Pi successfully classified the banknote images and displayed the output on the screen shown in Figure15. Table 10 shows the Raspberry Pi time consumption for processing and validating the banknotes. From the table, it is clear to understand that the MobileNetV2 model with RMSProp optimization technology in batch size 32 shows less time 87 seconds due to its lightweight architecture. Compared to all the proposed architecture, MobileNetV2 is having a few parameters which are 4.2 M and a small size of 16 MB. The Resnet50 consumes more time for processing and validation compared to MobileNetV2 as shown in Figure 16.Figure 15
Embedded-based hardware system for capturing and testing the sample banknote images.
(a)
Raspberry Pi captured and tested the 10-birr note front side(b)
Raspberry Pi captured and tested the 50-birr note front sideTable 10
Banknote image classification test time using embedded-based hardware system.
OptimizationModelBatch size 32Batch size 64Batch size 128MNRNMNRNMNRNRMSProp87 s113 s105 s118 s130 s145 sFigure 16
Banknote image classification test time using embedded-based hardware system.


### 4.8. Web Development

Researchers involved in banknote recognition and classification are required to possess deep knowledge in fake note detection, banknote classification technologies, and hi-tech production of banknote products. In such cases, use of a special authenticity verification method is extremely helpful. This Web development-based currency recognition system is helpful to users and bank employees to verify the Ethiopian currencies (ETB) globally. The procedure to recognize the denomination is very simple. If a user or bank employee wants to identify the authentication of currency, they have to keep the banknote under the camera with good brightness as shown in Figure17. Then, click on the “Take Snapshot” button to capture the banknote image as mentioned in Figure 18. Next, save the captured image from the camera using the “Save Snapshot” button as shown in Figure 19. After saving the captured image, the system can authenticate the Ethiopian currency and classify the denomination. The output window of the banknote image recognition appears as in Figure 20 to show the outcome of the Ethiopian banknote recognition and denomination to be checked [36].Pseudocode 2: Web development.
DEFINE FUNCTION predict(filename):#Step 1SET my_image TO plt.imread(os.path.join(‘uploads’, filename))#Step 2SET my_image_read TO resize(my_image (224,224,1))#Step 3CALL #F with graph.as_default():CALL #F set_session(sess)SET #Fmodel TO tf.keras.models.load_model(“model_name.h5”)CALL #F model.compile(optimizer = tf.keras.optimizers.Adam(learning_rate =1e−05),#‘adam’,loss = ‘categorical_cross-entropy’,metrics = [‘accuracy’])SET #F probabilities TO model.predict(np.array([my_image_read])) [0,:]CALL #F OUTPUT(probabilities)#Step 4SET number_to_class TO [‘fifty’, ‘five’, ‘hundred’, ‘ten’, ‘twohundred’]SET #F index TO np.argsort(probabilities)SET predictions TO {“class1”: number_to_class[index [3]],“class2”:number_to_class[index [2]],“class3”:number_to_class[index [1]],“prob1”:probabilities[index [3]],“prob2”:probabilities[index [2]],“prob3”:probabilities[index [1]]}#Step 5CALL #F RETURN render template(‘predict.html’, predictions = predictions)Figure 17
Placement of the banknote on Web-based system to scan.Figure 18
Capture the snapshot of banknote.Figure 19
Save the snapshot of banknote images.Figure 20
Output window of Web-based banknote recognition system.This research article is the part of the preprint published in the Research Gate [36].


## 4.1. Train Accuracy

A train accuracy metric is used to measure the algorithm’s performance in an interpretable way. It is the measure of how accurate the proposed model’s prediction is compared to the true data. The banknote classification of training accuracy results is presented in Table4. It is understood that the highest training accuracy of 96.98% is achieved by MobileNetV2 using RMSProp optimization in all the batch sizes. The second hyperparameter resolution multiplier of MobileNetV2 is reducing the computational cost of a neural network. The results are also presented graphically and are shown in Figure 8. As shown in Figure 8, the highest accuracy is obtained in MobileNetV2 using the RMSProp optimization technique. Apart from this, using the combinations of MobileNetV2 with Adam and MobileNetV2 Nadam optimizations, it is found that accuracy of 96.96% is achieved which is the second-best accuracy value among other optimization methods. However, the Resnet50 model also shows better accuracy value of 96.88% using Adagrad optimization with batch sizes 32 and 128. But it is also almost nearer to the value of the first model which is the MobileNetV2 model. Except for the model InceptionV3 with Adadelta optimization technique, all other optimized combinations produced more than 90% accuracy.The Adadelta optimization technique shows low performance with an accuracy of 46.46% for the InceptionV3 model with a batch size of 128. Hence, this optimization technique is unfit to predict all the Ethiopian currencies. Hence, MobileNetV2 is more accurate than InceptionV3, XceptionNet, and ResNet50 while being smaller and more than 2.5 times less computation. The graph in Figure6 shows the persistence of training accuracy for all the proposed models and optimization techniques. It is found that when compared to MobileNetV2, Resnet50 is showing almost constant values for all optimization techniques and batch sizes.


## 4.2. Test Accuracy

The test accuracy, we must measure performance onunseen data, which are not used for training data. To measure the test accuracy, use the test dataset. The banknote classification test accuracy results are presented in Table 4. It is understood that the highest training accuracy of 96.97% is achieved by ResNet50 using Adagrad optimization in batch sizes 64 and 128. The results are also presented graphically and are shown in Figure 9. As shown in Figure 9, the highest accuracy is obtained in ResNet50 using the Adagrad optimization technique. However, the MobileNetV2 model also shows better accuracy value of 96.96% using RMSProp optimization with batch size 32. But it is also almost nearer to the value of the first model which is the ResNet50 model. The test accuracy values are very low for Adadelta optimization for all proposed models.The Adadelta optimization technique shows low performance with all proposed models. Hence, this optimization technique is unfit to predict all the Ethiopian currencies. The graph in Figure9 shows the persistence of test accuracy for all the proposed models and optimization techniques. It is found that when compared to MobileNetV2, XceptionNet is showing almost constant values for all optimization techniques and batch sizes. But XceptionNet is showing less test accuracy compared to MobileNetV2 and ResNet50.


## 4.3. Train Loss

In this research, we have employed the loss function as categorical cross-entropy to classify multiple classes.The MobileNetV2 architecture showing training loss is zero for Adam, RMSProp, and Nadam optimization techniques in batch sizes 32, 64, and 128. Compared to other models with various optimization techniques and batch sizes, MobileNetV2 shows low loss values. The ResNet50 showed good training and test accuracy, but it has not achieved zero loss for any optimization techniques shown in Figure10.


## 4.4. Test Loss

When we increased the number of layers, the training and test error rate also increases. From Figure11, we observed that a 50-layer ResNet, 48-layer InceptionV3, and 36-layer XceptionNet CNN give more error rate on both training and testing datasets than MobileNetV2 28-layer CNN architecture.The MobileNetV2 architecture contains a smaller number of layers compared to other network models. Hence, it is showing that training loss becomes zero. The MobileNetV2 and ResNet50 showed almost equal training and test accuracy, but the test loss is very high for the ResNet50 because its gradient is too large, so this model is overfitting the data.


## 4.5. Validation Time

Table7 presents the average processing (testing) time for the Ethiopian bank currency 5-birr, 10-birr, 50-birr, and 100-birr, employed using various CNN models. To improve the recognition time, each system was pretrained before testing on a GPU-based laptop. The time for each set was computed with different classifiers as each technique varied because of the architecture’s approach. It shows the validation time for the dataset with each method; the InceptionV3 using Adam optimization technique in batch size 32 had the shortest validation time 34.15 seconds. But Inceptionv3 showed less training accuracy and test accuracy. The second fastest validation time classifier is the MobileNetV2 model. It is showing 35.09 s. Figure 12 shows the graph of average validation time for each dataset with each classifier. The InceptionV3 and MobileNetV2 had the shortest processing time when optimization technique using the Adam and SGD. The XceptionNet had the highest validation time 664.41 seconds on the proposed classification methods.Figure 12
Graph of the average validation time for each dataset with each classifier and optimizer.


## 4.6. Sensitivity and Specificity

(1)Sensitivity=TruePositiveTruePositive+FalseNegative.The MobileNetV2 model with RMSProp in batch size 32 showed high sensitivity 96.53% compared to remaining models shown in Table8. Figure 13 shows the graph of the proposed model’s sensitivity.
(2)Specificity=TrueNegativeTrueNegative+FalsePasitive.Table 8
Sensitivity of batch sizes 32, 64, and 128 for classifiers and optimizers.
OptimizationModelBatch size 32Batch size 64Batch size 128IV3MNXNRNIV3MNXNRNIV3MNXNRNAdam95.9893.8793.5289.9696.196.2692.4490.8395.995.8494.9689.38SGD94.5695.5691.5993.5695.396.1094.4293.694.4695.791.9293.5RMSProp95.9596.5389.8196.0295.8596.4595.3296.0895.7596.4995.1295.82Nadam94.5494.3595.2989.2696.0195.9596.0490.3695.7395.0295.2593.36Adadelta69.3491.5791.1779.3169.4196.1092.6682.7366.5794.9993.4384.53Adagrad87.8496.0195.4785.8289.3496.1589.6786.6287.6596.0894.1884.82Figure 13
Sensitivity of the proposed architecture models.The MobileNetV2 model with RMSProp in batch size 128 showed high specificity 96.28% compared to remaining models shown in Table9. Figure 14 shows the graph of the proposed model’s specificity.Table 9
Specificity of batch sizes 32, 64, and 128 for classifiers and optimizers.
OptimizationModelBatch size 32Batch size 64Batch size 128IV3MNXNRNIV3MNXNRNIV3MNXNRNAdam92.3490.8791.4386.2395.6592.3688.5492.3895.3290.7489.4589.29SGD89.6490.3494.2392.3794.4794.9590.6792.9393.6790.3486.6791.1RMSProp93.8295.8189.6792.9395.8495.9892.2390.2894.9796.2888.2494.25Nadam90.1294.4587.3491.195.4393.9393.4689.5394.3489.8689.7592.36Adadelta52.3289.3283.9589.0265.2789.7289.8793.1756.9385.9586.8393.75Adagrad77.9894.8791.3793.4787.9481.2389.1293.8386.2686.3690.4692.64Figure 14
Graph of the average specificity.


## 4.7. Hardware Implementation

As we observed the results from sensitivity and specificity metric values, the MobileNetV2 architecture showed the best values. The second-best performance was showed by ResNet50. So, we designed the embedded-based hardware and tested the MobileNetV2 and ResNet50 architecture models in batch sizes 32, 64, and 128. The embedded-based hardware system, i.e., Raspberry Pi captured the banknote images of 10-birr and 100-birr using a Web camera. Using Python code called the saved architecture model to test the input image, Raspberry Pi successfully classified the banknote images and displayed the output on the screen shown in Figure15. Table 10 shows the Raspberry Pi time consumption for processing and validating the banknotes. From the table, it is clear to understand that the MobileNetV2 model with RMSProp optimization technology in batch size 32 shows less time 87 seconds due to its lightweight architecture. Compared to all the proposed architecture, MobileNetV2 is having a few parameters which are 4.2 M and a small size of 16 MB. The Resnet50 consumes more time for processing and validation compared to MobileNetV2 as shown in Figure 16.Figure 15
Embedded-based hardware system for capturing and testing the sample banknote images.
(a)
Raspberry Pi captured and tested the 10-birr note front side(b)
Raspberry Pi captured and tested the 50-birr note front sideTable 10
Banknote image classification test time using embedded-based hardware system.
OptimizationModelBatch size 32Batch size 64Batch size 128MNRNMNRNMNRNRMSProp87 s113 s105 s118 s130 s145 sFigure 16
Banknote image classification test time using embedded-based hardware system.


## 4.8. Web Development

Researchers involved in banknote recognition and classification are required to possess deep knowledge in fake note detection, banknote classification technologies, and hi-tech production of banknote products. In such cases, use of a special authenticity verification method is extremely helpful. This Web development-based currency recognition system is helpful to users and bank employees to verify the Ethiopian currencies (ETB) globally. The procedure to recognize the denomination is very simple. If a user or bank employee wants to identify the authentication of currency, they have to keep the banknote under the camera with good brightness as shown in Figure17. Then, click on the “Take Snapshot” button to capture the banknote image as mentioned in Figure 18. Next, save the captured image from the camera using the “Save Snapshot” button as shown in Figure 19. After saving the captured image, the system can authenticate the Ethiopian currency and classify the denomination. The output window of the banknote image recognition appears as in Figure 20 to show the outcome of the Ethiopian banknote recognition and denomination to be checked [36].Pseudocode 2: Web development.
DEFINE FUNCTION predict(filename):#Step 1SET my_image TO plt.imread(os.path.join(‘uploads’, filename))#Step 2SET my_image_read TO resize(my_image (224,224,1))#Step 3CALL #F with graph.as_default():CALL #F set_session(sess)SET #Fmodel TO tf.keras.models.load_model(“model_name.h5”)CALL #F model.compile(optimizer = tf.keras.optimizers.Adam(learning_rate =1e−05),#‘adam’,loss = ‘categorical_cross-entropy’,metrics = [‘accuracy’])SET #F probabilities TO model.predict(np.array([my_image_read])) [0,:]CALL #F OUTPUT(probabilities)#Step 4SET number_to_class TO [‘fifty’, ‘five’, ‘hundred’, ‘ten’, ‘twohundred’]SET #F index TO np.argsort(probabilities)SET predictions TO {“class1”: number_to_class[index [3]],“class2”:number_to_class[index [2]],“class3”:number_to_class[index [1]],“prob1”:probabilities[index [3]],“prob2”:probabilities[index [2]],“prob3”:probabilities[index [1]]}#Step 5CALL #F RETURN render template(‘predict.html’, predictions = predictions)Figure 17
Placement of the banknote on Web-based system to scan.Figure 18
Capture the snapshot of banknote.Figure 19
Save the snapshot of banknote images.Figure 20
Output window of Web-based banknote recognition system.This research article is the part of the preprint published in the Research Gate [36].


## 5. Conclusion

In this research, a novel method for distinguishing and classifying original banknotes from counterfeits (another denomination) using deep learning technology has been developed. A prototype for an Ethiopian banknote recognition system that could be able to classify the various denominations of Ethiopian banknotes has been implemented. Nearly about 8500 old Ethiopian paper currency images have been collected and placed in order to train, test, and validate according to their denominations. For the performance evaluation, the designed framework of the proposed techniques is trained on four (4) types of convolutional neural network (CNN) architectures including InceptionV3, MobileNetV2, XceptionNet, and ResNet50 sequentially. The proposed architectures fused six different optimization techniques, namely, Adam, SGD, RMSProp, Nadam, Adadelta, and Adagrad, used along all the architectures for the training purposes. For all these models and optimization techniques, we have conducted iterations simultaneously for 100 epochs. CNN architectures with optimization techniques programmed using Python language have been implemented on Raspberry Pi computer along with an integrated Logitech camera. When compared to all the proposed CNN architectures, the MobileNetV2 architecture with RMSProp optimization technique in a batch size of 64 showed the best accuracy of about 96.80%. Furthermore, we designed the Web-based program to evaluate the same identification of various denominations of Ethiopian currencies (ETB) globally. Using a Web-based design, we have captured various Ethiopian banknotes and classified the denominations and identifications successfully. This robust system is found to be helpful for ATMs for cash deposits and withdrawals, as well as for financial transactions, banknote counters, smart transportation systems, and automatic vending machines, into which money is inserted to purchase goods and automatic smart card charging machines. The findings reported from this research work are expected to bring benefits to the development of a fast and efficient banknote recognition system using banknote images and contribute to further leading into the development of more accurate point-of-care detection tools for Ethiopian banknote recognition and classification.



---

*Source: 4505089-2022-01-12.xml*