Skip to content

LovelySharma-dev/NutriInsightX

Repository files navigation

NutriInsightX

AI-Powered Food Label Analysis & Nutrition Intelligence System


Python Machine Learning Dataset Accuracy License


Overview

NutriInsightX is an AI-powered food label analysis platform that combines Optical Character Recognition (OCR), Machine Learning, and nutritional risk assessment to help users understand packaged food products.

The system extracts ingredient information from food labels, detects allergens and additives, evaluates health risks, and predicts Nutri-Score grades using a Random Forest classifier trained on the OpenFoodFacts Kaggle dataset.


Key Achievements

190,969

Training Samples

94.54%

Model Accuracy

7

Nutritional Features

A-E

Nutri-Score Classes


Machine Learning Pipeline

flowchart TD

A["πŸ“¦ OpenFoodFacts Dataset
190,969 Records"]

--> B["🧹 Data Cleaning"]

--> C["βš™οΈ Feature Selection"]

--> D["πŸ“Š Nutritional Features
Energy
Fat
Saturated Fat
Sugar
Protein
Fiber
Salt"]

--> E["βœ‚οΈ Train-Test Split
80% / 20%"]

--> F["🌲 Random Forest Training"]

--> G["πŸ” Hyperparameter Tuning"]

--> H["πŸ“ˆ Model Evaluation"]

--> I["🎯 Accuracy
94.54%"]

--> J["πŸ† Nutri-Score Prediction
A β€’ B β€’ C β€’ D β€’ E"]
Loading

Dataset

Source

OpenFoodFacts (Kaggle)

Records Used

190,969 Food Products

Target Variable

nutrition_grade_fr

Features

energy_100g
fat_100g
saturated-fat_100g
sugars_100g
proteins_100g
fiber_100g
salt_100g

Model Performance

Metric Value
Dataset OpenFoodFacts
Records 190,969
Algorithm Random Forest
Accuracy 94.54%
Target nutrition_grade_fr
Classes A, B, C, D, E

Classification Performance

Grade Precision Recall F1-Score
A 0.97 0.95 0.96
B 0.90 0.91 0.91
C 0.93 0.94 0.94
D 0.96 0.96 0.96
E 0.97 0.94 0.96

Features

OCR Food Label Analysis

  • Image Upload
  • Ingredient Extraction
  • Food Label Processing
  • Real Package Recognition

Nutri-Score Prediction

  • Random Forest Classifier
  • Grade Prediction A-E
  • Nutritional Feature Analysis
  • ML-Based Classification

Allergen Detection

  • Milk
  • Soy
  • Wheat
  • Gluten
  • Peanuts
  • Tree Nuts

Health Risk Analysis

  • Sugar Assessment
  • Salt Assessment
  • Saturated Fat Analysis
  • Energy Evaluation

Additive Detection

  • Food Additives
  • Preservatives
  • Ingredient Screening
  • Risk Awareness

Personalized Recommendations

  • Consumer Guidance
  • Allergy Warnings
  • Risk Insights
  • Nutritional Suggestions

System Architecture

Food Package Image
        β”‚
        β–Ό
     EasyOCR
        β”‚
        β–Ό
 Ingredient Extraction
        β”‚
 β”Œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
 β–Ό      β–Ό        β–Ό
Language Allergens Additives
Detect   Detect    Detect
        β”‚
        β–Ό
 Health Risk Engine
        β”‚
        β–Ό
 Random Forest Model
        β”‚
        β–Ό
 Nutri-Score Prediction
        β”‚
        β–Ό
 Recommendations

Technology Stack

Layer Technologies
User Interface Streamlit
Computer Vision EasyOCR, OpenCV, Pillow
Machine Learning Scikit-Learn, Random Forest
Data Processing Pandas, NumPy
Language Detection LangDetect
Visualization Streamlit Charts, Matplotlib
Dataset OpenFoodFacts (Kaggle)
Programming Language Python 3.11

Application Preview

Light Theme


Dark Theme


OCR Extraction


Health Risk Analysis


Nutri-Score Prediction


Project Structure

NutriInsightX
β”‚
β”œβ”€β”€ app.py
β”œβ”€β”€ preprocess.py
β”œβ”€β”€ train_model.py
β”‚
β”œβ”€β”€ src
β”‚   β”œβ”€β”€ ocr_engine.py
β”‚   β”œβ”€β”€ allergen_detector.py
β”‚   β”œβ”€β”€ additive_detector.py
β”‚   β”œβ”€β”€ health_risk.py
β”‚   β”œβ”€β”€ language_detector.py
β”‚   β”œβ”€β”€ recommender.py
β”‚   └── nutriscore_predictor.py
β”‚
β”œβ”€β”€ knowledge_base
β”‚   β”œβ”€β”€ allergens.json
β”‚   └── food_additives.json
β”‚
β”œβ”€β”€ screenshots
β”‚
β”œβ”€β”€ dataset
β”‚
└── models

Installation

git clone https://github.com/LovelySharma-dev/NutriInsightX.git

cd NutriInsightX

pip install -r requirements.txt

streamlit run app.py

Future Enhancements

  • SHAP Explainability Integration
  • Barcode Scanner Support
  • Real-Time Camera OCR
  • Automated Nutrition Extraction
  • Product Comparison Engine
  • Mobile Application

License

This project is licensed under the MIT License.

See the LICENSE file for details.


Final Year Report

AI-Powered Food Label Analysis Using OCR and Machine Learning

About

NutriInsightX is an AI-powered food label analysis system that uses OCR, ingredient parsing, allergen detection, additive risk assessment, health risk scoring, and personalized nutritional insights from food packaging data.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages