This project involves data scraping, image preprocessing, and object detection using YOLO models, integrated into a web application with both frontend and backend functionalities. The primary goal is to detect car logos and brands from images and videos using deep learning models.
- Directory Structure
- Installation
- Usage
- Dataset Preparation
- Model Training
- Web Application
- Contributing
- License
internship/
│
├── new.py
├── Data_and_Model/
│ ├── Conversion_to_png/ # Stores preprocessed images from different notebooks
│ │ ├── Kia_grascal.ipynb
│ │ ├── Lexus_Mod.ipynb
│ │ └── ... # Other preprocessing scripts
│ ├── Datascraping/ # Contains scripts for data scraping
│ │ ├── Scraptester1.ipynb
│ │ ├── script.py
│ │ ├── swift.ipynb
│ │ └── swift2.ipynb
│ ├── Upload_roboflow_to_anotate/ # Scripts for uploading images to Roboflow for annotation
│ │ └── Upload.ipynb
│ ├── Yolo/ # YOLO model training and testing
│ │ ├── instl.ipynb
│ │ ├── yolov9_custom.ipynb
│ │ ├── yolov9/ # YOLO repository with scripts and models
│ │ │ ├── benchmarks.py
│ │ │ ├── detect.py
│ │ │ ├── ... # Other scripts for detection and training
│ │ ├── CAR_LOGO_DETECTION_MODEL-1/
│ │ ├── CaRsdetection-2/
│ │ ├── ... # Additional model folders
│
├── main/ # Web application
│ ├── Backend/ # Backend scripts handling images and videos
│ │ ├── ImageBackend.py
│ │ ├── VideoBackend.py
│ │ ├── model.py
│ │ └── ...
│ ├── Frontend/ # Frontend of the web app
│ │ ├── App/
│ │ │ ├── Front.py
│ │ │ ├── Video.py
│ │ │ └── image.py
│ │ └── ...
│
└── ...
-
Clone the repository:
git clone <repository-url> cd project-directory
-
Install required dependencies:
pip install -r requirements.txt
-
Set up the YOLO environment:
- Follow the setup instructions provided in the
instl.ipynb
notebook.
- Follow the setup instructions provided in the
-
Data Scraping: Use the scripts in the
Datascraping
folder to gather images for training. These scripts scrape images of various car brands and save them into appropriate directories. -
Image Preprocessing: The notebooks in the
Conversion_to_png
directory preprocess and convert the raw images into a format suitable for model training. -
Annotation: Use the scripts in the
Upload_roboflow_to_anotate
folder to upload images to Roboflow, where they can be annotated for object detection tasks.
-
Training the Model:
TheYolo/yolov9_custom.ipynb
notebook is used to train the YOLOv9 model on the processed dataset. Ensure all dependencies are installed and paths to the datasets are correctly set. -
Testing the Model:
Usedetect.py
and related scripts in theYolo/yolov9
directory to test the trained models on new images or videos.
-
Backend:
The backend scripts, located in theBackend
directory, handle image and video uploads, preprocessing, and model inference. -
Frontend:
The frontend scripts are in theFrontend
directory and include web pages for image upload, video processing, and results display. -
Running the App:
# Ensure all necessary services are running and configured python main.py
Feel free to contribute by creating pull requests or raising issues. Make sure to follow the code style and include appropriate tests.
This project is licensed under the MIT License - see the LICENSE file for details.