# CSE 555 Term Project (Computer Vision and Natural Language Processing) ## Overview This project is a multi-featured application focused on food image classification, variation detection, recipe recommendation, and reporting. It leverages deep learning and NLP techniques to provide a comprehensive toolkit for food-related data analysis and user interaction. ## Features - **Image Classification:** Classify food images using pre-trained models. - **Variation Detection:** Detect variations in food items. - **Recipe Recommendation:** Recommend recipes based on user input and image analysis. - **Report Generation:** Generate reports based on classification and recommendation results. ## Project Structure ``` PatternRec_Project_Group5/ ├── assets/ │ ├── css/ # Stylesheets │ ├── modelWeights/ # Pre-trained model weights (.pth) │ └── nlp/ # NLP data and models (to be downloaded from google drive once the app runs) ├── config.py # Configuration file ├── Scripts/ # Configuration file │ ├── CV/ # CV Training script │ ├── NLP/ # NLP Training script ├── Home.py # Main entry point (possibly Streamlit or similar) ├── model/ # Model code (classifier, search recipe) ├── pages/ # App pages (image classification, variation detection, etc.) ├── utils/ # Utility functions (layout, etc.) ├── sakenv/ # Python virtual environment ``` ## Setup Instructions 1. **Clone the repository:** ```bash git clone cd PatternRec_Project_Group5 ``` 2. **Create and activate the virtual environment: (Already included as sakenv/):** ```bash source sakenv/bin/activate ``` 3. **Install dependencies:** ```bash pip install -r requirements.txt ``` 4. **Run the application:** - If using Streamlit: ```bash streamlit run Home.py ``` - Or follow the instructions in `Home.py`. ## Python Version - Python 3.12.2 ## Notes - Model weights are stored in the `assets/` directory. - NLP weights were quite large and are stored at [CSE 555 Project Group 5](https://drive.google.com/drive/folders/1m6cfy4NuxIKNDBtJqm150NNN0FSUS8Np) - Ensure you have the necessary permissions to access large files in `assets/modelWeights/` and `assets/nlp/`. - For best results, use the provided virtual environment and requirements file.