Automatic Self-checkout System Using SURF, Brute Force Matcher, and RFID for Payment Process Optimization at Supermarket

―A long queue is common at a conventional supermarket. It is caused by inability of cashier to handle the task. Cashier could have an inconsistent performance, untrained skill, and fatigue. In addition, odd price tags could engage unnecessary conversation in giving change. This resulted on the service provided to be longer. The current solution for this problem is Radio Frequency Identification (RFID) and debit card usage. As per our survey at local supermarket, the usage of RFID could extend cashier service by up to five minutes fifteen seconds for the purchase of six test goods, meanwhile the cash took up to three minutes 23 seconds. Intelligent self-checkout system has been proposed but requires a high-end graphics card. In this study, we propose an automatic self-checkout system based on Speeded Up Robust Features (SURF), brute force matcher, and RFID for payment process optimization at supermarket. The system consists of an image scanner, a conveyor set which moves the customer’s goods into scanning area. After the goods is detected, customer pay the displayed price using RFID card. The result of our experiment has 77.78% detection rate and 16 seconds of payment process. Compared to traditional method, our system is twenty times faster.


I. INTRODUCTION 1
Shopping at supermarkets is an inevitable activity in our urban communities. Despite the existence of e-commerce, we still see transactions in small-scale to large-scale supermarket for their own satisfaction. The biggest difficulty faced by customers is long queue at payment process. At conventional supermarket, cashier will scan goods one-by-one using barcode reader. This time consumption process could be inconvenient for rush people. There is also extreme waste of money and time spent on each customer [1], [2]. A constant exposure with customers may be enjoyed by cashier, but this interaction can also be a mental weight. This overloaded-communication may affect badly on cashier's performance and cause frustration [3]. Cashier's performance also influenced strongly by management training. An organized method must be engaged on 1 Jeff L Gaol, Muhamad Amirul Haq, Sigit Armiyanto, Hendra Kusuma, and Tasripan  training, so cashier may experience progressive abilities [4]. The new batch may affect the payment process in regards to untrained skills. As a human, fatigue may be experienced by a cashier, who has high demand jobs, extended duration, and accumulative sleep debt [5], that in the end can affect payment process.
Psychological pricing is a common marketing strategy that applied in many supermarkets over the years. This effective technique is used so customers perceive odd prices as being lower than the actual [6], [7]. The impact of this strategy is the unnecessary conversation. Cashier offers many options in giving change, such as put customers' change into donation, give a change in the form of candy, etc. This procedure can extend the duration of billing.
Our survey ( Figure 1) shows that some supermarkets have extended length of service when using financial technology in the form of RFID and debit card than cash.

A. System Scheme
The scheme of our system is shown in Figure 2. Our system has three main procedures -stock registration, customer self-checkout, and member registration. 'Stock registration' is a procedure to register new product to be detected by the system. Employee will enter name and price of the product. Then, employee will capture eight images of the product. Finally, its information will be stored into the goods database in Microsoft SQL Server. Employee also able to add new member by following 'member registration' procedure ( Figure 2). First, employee enters several information related to customer information, including name, unique permanent identification from RFID card, and desired balance. All information will be stored in customer database in Microsoft SQL Server. When a customer wants to perform a self-checkout, the customer must follow the 'customer self-checkout' procedure ( Figure 2). At the beginning, the customer puts goods on conveyor belt. Then, the customer initiates the procedure from LCD touch-screen display and conveyor will roll goods into scanning area. After that, this scene will be captured by a camera and object will detected. In order to execute object detection, computer will extract the features using SURF in EmguCV on both scene and images from goods database. SURF is a fast interest point detectordescriptor which has great speed and accuracy compared to current technology [8]. The benefits of this algorithm are least dependent on lighting conditions, and rotation or tilt invariant [9]. Then, both extracted features from scene and goods database will be matched based on the greatest number of detected features using brute force matcher [10]. If features matched, product tags obtained from goods database will be added to the bill and total price will be showed. To proceed the procedure, the customer will be asked to place his/her RFID card so the customer's data can be identified. Finally, the customer either accepts or declines the given bill.  Figure 2. The Scheme of Automatic Self-checkout System.

B. Object Detection
It consists of webcam and object detection algorithms. Object detection with EmguCV begins with color conversion of both the scene and the images from the goods database into grey. Then, the system will detect all interest points and its descriptors based on SURF. Subsequently, brute force matcher will perform K-nearest Neighbor match based on Euclidean distance to find the match of descriptors of the grey images from the goods database inside the grey scene. The matched features then will be filtered using VoteForUniqueness algorithm that able to discard all non-unique matches, with uniqueness threshold set at 0.63. VoteForSizeAndOrientation algorithm, is also applied to discard features whose size and orientation does not match its majority, with scale increment set at 3 and 20 rotation bins [11]. As a result, algorithm can determine whether the scene has the images listed in the goods database or not.
Our object detection algorithms will compare the scene with the eight images for each product from the goods database. For instance, there are four products listed on the database namely A, B, C, and D. The algorithms will compare the scene with the first image retrieved from the database for product A. If matched, the algorithms will add it to the bill and continue the comparison for the product B, and so on. Otherwise, the algorithms will compare the scene with the second, third, until eighth image for product A. Figure 3 shows the hardware of our Automatic Self-Checkout System. The hardware consists of LCD touchscreen display which is placed on top as part of our interface. At the lower part of our hardware, we placed conveyor, while the camera is located inside the scanning area.

III. RESULTS AND DISCUSSION
Before perform the test, we added eight images as goods database for six goods as shown in Figure 4. Then, functional tests were performed by putting all six goods at the end of conveyor bed. After conveyor put the goods inside scanning area, timer is turned on to measure the duration of object detection and RFID payment. Object detection rate is also measured. There are three placement configurations of six goods ( Figure 5) and the measurement is done 40 times for each configuration on a computer with Intel Core i5-4590T CPU and Intel HD Graphics 4600.   Our object detection shows 77.78% detection rate and 16 seconds of payment process on average for all three configurations ( Table 1). The average standard deviation for the detection rate is 14.69%. The first configuration has the highest detection rate at 86.67%, meanwhile the lowest is the third configuration at 70.42%. This percentage reduction is caused by the placement of the goods. For instance, the placement of Genji at first and second configurations (figure 5.a and figure 5.b) are 80% and 100% accordingly (table 2), while the percentage dropped at 65% when Genji was flipped (figure 5.c).
The objects are also classified into three categories based on its surface property: transparent reflective surface, nontransparent reflective surface, and non-reflective surface as shown in Table 2. The non-reflective surface accounted for 90.83% as the highest detection rate, followed by nontransparent reflective surface at 79.58%, and transparent reflective surface at 61.25%. This shows that non-reflective surface is easier to be detected by the system. The reason is this type of surface does not reflect light, so the image from the scene will always be the same as the images retrieved from the goods database. This does not apply for the other reflective surfaces, transparent and non-transparent ones. Both types of these surfaces reflect light and also can change its shape due its plastic form.
The average of object detection duration is 9 seconds, while the RFID payment is 7 seconds ( Table 1). The object detection duration is reliant with the detection rate. The higher the detection rate, the faster it takes to execute object detection algorithms. This is because the object detection algorithm does not need to compare the product with alleight images from the product database. The RFID payment duration itself only influenced by the placement of the RFID card. The total duration needed to complete the whole process only take 16 seconds on average for every configuration. This implies the performance of our system relatively consistent, consider it does not need high computer specification. Note that our experiment is based on three placement configurations of six goods only.

IV. CONCLUSION
It has made the design and implementation of SURF and brute force matching as object detection algorithms and RFID as integrated payment method for payment process optimization at supermarket. Object detection algorithms will compare the scene of goods put by the customer with the images from the product database listed by the employee. All algorithms are written in C# (with EmguCV libraries) and can be executed even on a low-specification computer. The detection rate of our object detection is 77.78% and the payment process is 16 seconds long on average for three placement configurations of six goods. The detection rate is affected by the placement of the goods and its surface property. The object detection duration is