https://github.com/nvhnam/fooddetector
A web application that use a YOLOv10b model, got mAP50 of 0.92, trained on the VietFood67 dataset to perform real-time Vietnamese food recognizing.
https://github.com/nvhnam/fooddetector
food-detection object-detection opencv python real-time roboflow rtsp-stream streamlit vietfood67 yolov10
Last synced: about 2 months ago
JSON representation
A web application that use a YOLOv10b model, got mAP50 of 0.92, trained on the VietFood67 dataset to perform real-time Vietnamese food recognizing.
- Host: GitHub
- URL: https://github.com/nvhnam/fooddetector
- Owner: nvhnam
- License: mit
- Created: 2024-08-09T13:19:15.000Z (almost 2 years ago)
- Default Branch: v2
- Last Pushed: 2025-05-14T12:38:41.000Z (about 1 year ago)
- Last Synced: 2025-05-14T13:54:01.066Z (about 1 year ago)
- Topics: food-detection, object-detection, opencv, python, real-time, roboflow, rtsp-stream, streamlit, vietfood67, yolov10
- Language: Python
- Homepage: https://fooddetectorv2.streamlit.app/
- Size: 446 MB
- Stars: 2
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# π΅οΈββοΈ FoodDetector
**FoodDetector** is a real-time web-based application for detecting and recognizing Vietnamese dishes using a custom YOLOv10 model trained on the VietFood67 - the **largest** Vietnamese food dataset. This system empowers users with instant nutritional feedback, aiding in dietary awareness and health-conscious decision-making.
---
## β¨ Project Highlights
- Real-time Vietnamese dish detection via images, videos, webcam input and IP camera (RTSP).
- Nutritional breakdown for each detected dish: Calories, Fat, Saturates, Sugar, Salt.
- Traffic light system for nutrient awareness.
- Powered by a custom-trained YOLOv10 model on our largest Vietnamese food image dataset [VietFood67 dataset](https://www.kaggle.com/datasets/thomasnguyen6868/vietfood68).
- Developed using **Python**, **Streamlit**, and **OpenCV**.
---
## π Publications
This project has been the foundation of two published research papers:
1. **"Now I Know What I am Eating: Real-time Tracking and Nutritional Insights Using VietFood67 to Enhance User Experience"**
π *Best Paper Runner-up Award at SOICT 2024*
π [View Paper](https://link.springer.com/chapter/10.1007/978-981-96-4288-5_35)
2. **"Itβs Yummy: Real-Time Detection and Recognition of Vietnamese Dishes"**
π *Presented at ICCIT 2024, British University Vietnam (BUV)*
π [View Paper](https://www.igi-global.com/gateway/chapter/380134)
---
## π¨βπ» Contributors
- **Nguyen Viet Hoang Nam** (Project Lead, Web Developer, YOLOv10 Trainer, VietFood Dataset Gathering)
- **Tran Bao Tu** (UI/UX Designer, Poster, Slides Creator)
- **Ton That Minh Vu** (Dataset Gathering)
- **Dr. Vi Chi Thanh** (Research Supervisor & Guidance)
---
## π§ Technologies Used
| Area | Tech Stack |
|------------------|-----------------------------------|
| Model Training | Python, YOLOv10 |
| Deployment | Streamlit |
| Nutritional Data | Custom JSON + Traffic Light System|
| Visualization | Matplotlib, Streamlit Components |
---
## π Dataset
We created and released the **VietFood67** dataset for training and evaluation, containing 68 classes (an extra class for human face detection) and 33k images of common Vietnamese dishes with annotated bounding boxes.
π¦ [View VietFood67 on Kaggle](https://www.kaggle.com/datasets/thomasnguyen6868/vietfood68)
---
## β Support This Project
If you find **FoodDetector** or the **VietFood67** dataset helpful in your research or projects:
- π Please consider giving this repository a **star** on [GitHub](https://github.com/nvhnam/FoodDetector).
- π Star the [VietFood67 dataset on Kaggle](https://www.kaggle.com/datasets/thomasnguyen6868/vietfood68) to show your support.
- π **Cite our papers** in your publications to help us continue our research and development.
> π The **FoodDetector** and **VietFood67** dataset are free to use for research and educational purposes **with proper citation**. Commercial use or redistribution is **not permitted**.
---
## π Features
- Upload or stream food media (image, video, webcam, IP camera via RTSP).
- Real-time detection with bounding boxes and labels.
- Nutritional values shown per dish and total per meal.
- User-friendly nutrient traffic light indicators.
- Designed for low-resource environments (runs without GPU).
---
## π οΈ Getting Started
> π **Latest Version:** Please use the [`v2` branch](https://github.com/nvhnam/FoodDetector/tree/v2) before proceeding, as it includes all the newest features and improvements.
### Requirements
- Python 3.8+
- Streamlit
- OpenCV
- ONNX Runtime
- Pandas, Numpy, etc.
### Run Locally
git clone https://github.com/nvhnam/FoodDetector.git
cd FoodDetector
git checkout v2
pip install -r requirements.txt
streamlit run app.py
---
## π Future Work
- π± **Mobile App with AR**: Building a mobile version featuring AR overlays that display 3D real-time nutrient values directly on detected dishes.
> π *Currently seeking passionate collaborators with experience in **Unity** and **AR development** to bring this vision to life! And be the co-author of this new paper.*
- π§ Integration with AI nutritionist agents (CrewAI, LangChain) for personalized meal recommendations.
> π *Research is currently in progress.*
- π₯ Real-time health feedback based on user demographics (age, gender, height, weight, eating patterns).
- π² Expand the VietFood67 dataset with more regional Vietnamese dishes for greater diversity and recognition accuracy.
---
π© Contact
For questions or collaborations:
- π§ Email: nvhnam01@gmail.com
- π¨βπ» Portfolio: https://nguyenviethoangnam.vercel.app/
- π LinkedIn: https://www.linkedin.com/in/nvhnam01/