Keywords

1 Introduction

Individuals have constantly created innovation to bolster their requirements as from the start of humankind. The fundamental reason for development is that it leads to making our regular tasks simpler and speedier. Ever since the debut of wireless technology, electronic commerce has developed to such an extent to provide convenience, comfort, and efficiency in day-to-day life. One significant task that individuals invest maximum measure of energy is in shopping. Supermarket is a spot where individuals get their everyday necessities running from sustenance items, garments, electrical machines, and so forth [1]. Some of the time clients have issues with respect to the unspecific data about the item marked down and misuse of superfluous time at the counters. The main purpose of this paper is to provide centralized and automated billing system using RFID and to provide product recommendations to customers using Collaborative Recommender system of Machine Learning.

Radio frequency identification (RFID) is a rapidly growing technology that has the potential to make great economic impacts on many industries [2]. While RFID is a relatively old technology, more recent advancements in chip manufacturing technology are making RFID practical for new applications and settings, particularly consumer item level tagging. Supply-chain management, logistics, and inventory control are few sectors that are highly benefiting from these advancements. RFID tags are cards/tags attached to products that have transponders in them. When they are wirelessly interrogated by RFID readers, they send an ID that may be associated with arbitrary data records. RFID systems are a type of automatic identification system, just like optical bar codes. All products of supermarket will be supplied with an RFID tag, to identify the product and all its details like the price or brand. Every cart contains an RFID reader, Wi-Fi module, and a fingerprint sensor. There will also be a centralized database from which we can give product recommendations to the customer. We use the recommender system of machine learning. The fingerprint sensor takes the fingerprint of the customer relating it to all the products he bought and thus, the data is collected for the recommender system.

2 Related Work

In “Smart shopping cart with automatic billing system through RFID and ZigBee,” the authors Mr. P. Chandrasekar and Ms. T. Sangeetha have implemented Smart Shopping cart using RFID for product detection and Zigbee for communication between carts and centralized system. Zigbee has a very low data rate and use of Wi-Fi module is a new technology that enables communication with higher data rate. This system does not add any extra features to the smart cart except for billing [3].

In “RFID based Smart Shopping: An Overview” by Zeeshan Ali and Reena Sonkusare. They have implemented an innovative concept of Intelligent Smart Shopping and Billing. This is a system implemented on RFID and Zigbee technology with no additional features [4].

In “Smart Cart with Automatic Billing, Product Information, Product Recommendation Using RFID and Zigbee with Anti-Theft,” the authors Ankush Yewatkar, Faiz Inamdar, Raj Singh, Ayushya, and Amol Bandal have implemented Smart Cart with RFID and Zigbee and have added additional features of online payment system and anti-theft [5].

In “Electronic Shopping Cart for Effective Shopping based on RFID,” authors Kalyani Dawkhar, Shradhha Dhomase, and Samruddhi Mahabaleshwarkar have implemented an electronic automatic cart system which automatically detects products being added to the cart and bills them on its own. The total value of the bill is displayed on an LCD screen [6].

Most existing projects have used Zigbee module for communication whereas we are using NodeMCU. Even though Zigbee is less expensive than a NodeMCU the range is less and a greater number of ZigBee modules will be required making the system more complex hence, in this project a NodeMCU is more efficient.

We are using recommender systems for product recommendations. Recommender system is the latest algorithm being used for personalized recommendations and is proven to be more accurate. It is also implemented by websites like Netflix.

The microcontroller being used is Arduino which is very simple to use and makes the system more affordable.

We are using fingerprint for customer identification making the processing faster rather than facial recognition which first of all the customers will not be very open to, plus it will make processing very complicated and hence slow.

3 Proposed Method

The approach that has been used in order to implement the idea can be elaborated using four steps which are stated below

  1. 1.

    Integration of fingerprint sensor, RFID reader module, and Wi-Fi module with the microprocessor (Arduino UNO) to form the PID

  2. 2.

    Creation of user dataset

  3. 3.

    Creation of product and purchase history dataset

  4. 4.

    Building the recommendation system.

Figure 1 shows the working of the project. The user first places their finger on the fingerprint sensor module attached to the PID which then identifies if the user is registered or not by checking the user database. If the user is registered, the cart is linked to the purchase history of the database and as new products are added the database keeps updating. Using this database, by analyzing the purchase history of users, we recommend other products that they have not previously purchased, to them.

Fig. 1
figure 1

Flowchart depicting the working of the project

As mentioned above, the detailed steps are:

  1. A.

    Integration of fingerprint sensor, RFID reader module, and Wi-Fi module with the microprocessor (Arduino UNO) to form the PID

The microprocessor used here is Arduino UNO due to its cost-effectiveness and compatibility with most hardware. The components used here are—Fingerprint Sensor Module (FPS GT-511C3), RFID Reader Module (EM18), and Wi-Fi Module (NodeMCU ESP8266). The fingerprint sensor accepts the fingerprint, processes it to extract features to identify a user and assigns an ID to the user. EM18 reads the RFID on the products in the range of 10 cm and sends the ID on the RFID card which gives the system details of the product purchased. NodeMCU ESP8266 enables serial transfer of these ID’s from Arduino to the central database.

  1. B.

    Creation of user dataset

The user dataset has been created by us. It has a total of 35 users and their fingerprints. Every user has been assigned a unique ID by the fingerprint sensor itself. It is a simple database with just the user-fingerprint feature and the ID assigned to the user.

  1. C.

    Creation of product and purchase history dataset

The product dataset is of size (48, 18), i.e., there is a total of 48 products falling in 18 categories. Each product falls into 1 or more categories of products. A 1 is assigned to the product for whichever categories it falls into, hence making a matrix of 1s and 0s (Fig. 2).

Fig. 2
figure 2

Snapshot of the product database

The purchase history database is of size (15, 50) with rows beings customer ID and columns being the list of products. For each user, the history of products purchased is mentioned with the quantity (Fig. 3).

Fig. 3
figure 3

Snapshot of the purchase history database

These databases are further used by the recommendation engine to provide product recommendations to the users.

  1. D.

    Building the recommendation system

Recommendation engines identify things that a user may like based on products that they’ve interacted with in the past. We have used TensorFlow to implement machine learning for this purpose [7, 8].

Figure 4 shows the algorithm used for building the recommendation system. Once we have the matrix of products and the user purchase history, the user quantity matrix, i.e., a list of products purchased by a user with quantities is multiplied with the product types to give a stack of users with their top product types.

Fig. 4
figure 4

Recommender systems algorithm

Figure 5 shows the list created by multiplication of product types and user purchase history matrix.

Fig. 5
figure 5

Lists of top user types

The sum is taken across columns of this matrix and then dot product is calculated with the user products matrix. These values are then summed across rows to give the normalized values. These normalized values lie between 0 and 1 and show how similar the item is to the user’s previous purchases. The product with the highest normalized value is thus recommended at the top by the recommendation engine followed by the products with decreasing values [8].

Figure 6 shows the snapshot of the simple GUI created to show the recommendations in an organized manner.

Fig. 6
figure 6

Snapshot of the GUI

The GUI has been created by using PyQt5 library and its widgets (Fig. 7).

Fig. 7
figure 7

Snapshot of GUI showing recommendations of user with ID 12

4 Results and Discussions

The smart shopping cart implements RFID and Wi-Fi technology along with Recommender systems using content-based filtering. Content-based filtering is based on comparing the history of the products purchased by the users and recommending products similar to the history or by comparing the history of users and recommending products from the history of similar users.

A more advanced algorithm for implementing recommender systems could have been collaborative filtering which takes many more factors into account while recommending products.

High-frequency or UHF RFID technology could have been used which has a better range. The availability of these modules is a problem and they are also not cost-effective [2].

5 Conclusion

The smart cart system implemented was successful in generating databases of users and purchased products and give a customized product recommendation for each customer. The recommendation is displayed on the central computer where the recommendations are being generated. The data is communicated between the cart system (sensors attached along with the microcontroller to the cart) to the central computer via NodeMCU. This improves upon the existing smart shopping system implemented which requires multiple sensors in each aisle and relies heavily on image recognition for recognizing the user and the product being purchased. This allows for higher chances for technical error. The smart cart system implemented in this project requires the sensors to be attached to the cart instead on every aisle which reduces the number of sensors required.

The smart cart opens the gateway to the following advantages:

  1. (1)

    The smart cart created will be used by the customers to put their products in, while the system detects them, thus calculating the bill, while the customer shops and this is advantageous since the customer can check their total paying amount and be aware of their payments at all times.

  2. (2)

    With the bill being calculated on the cart itself, the customer is not needed to stand in lines at the billing counter, moreover there will be no billing counters.

  3. (3)

    Saves time of the customers.

  4. (4)

    Cuts costs of the company in terms of manpower to some extent.

  5. (5)

    The customer is recommended products on the basis of his history and it makes it easier for them to know about.