This is a implementation of Yolov5 model in solving the problem of billing of non-barcoded items
Complete Information (Google slides)Get this project Up and running
Backend Setup (in the root folder):
pip install -r requirements.txt
Frontend Setup (in Frontend UI /smart_invoicing/):
npm i
npm run build
*npm run build ensures there are no breaking changes
Start the Backend (in the root folder):
flask --app server run
All the logic and code are in the server.py file (detection , API, excel management). One can improve it by making separate files, functions.
Start the Frontend (in Frontend UI /smart_invoicing/):
npm run dev
The Object Recognition System is designed to detect and manage various fruits and vegetables using a camera interface. The system is trained on a dataset consisting of 20 different fruits and vegetables. For detailed information on the training process, refer to the run/train folder.
-
Initialization
- Press the "Start" button to initiate the object recognition process.
-
Object Detection
- Place a vegetable or fruit, such as a tomato, in front of the camera.
- The system will detect the item, and the interface will update from "No Detection" to "Detected".
-
Item Addition
- Click the "Detect" button to add the detected item to the item list on the front end.
-
Detect Item
- Bring an item in front of the camera.
- Confirm the detection as indicated by the interface.
-
Add to List
- After detection, click "Detect" to add the item to the list.
- The item will appear in the front-end list, where you can view and manage it.
-
Editing and Adding Items
- You can manually edit and add other items through the front-end interface as needed.
-
Generating Invoice
- Once all items are added and confirmed, click the "Pay" button.
- An invoice will be generated, including a payment address and a QR code for convenience.
-
Printing Invoice
- To print the invoice, click the "Print Invoice" button.
For a comprehensive understanding of the system's logic and workflow, refer to the Google Slides presentation provided.
Ensure to check the run/train folder for in-depth details on the training data and process.