Skip to content

Latest commit

 

History

History
170 lines (122 loc) · 5.83 KB

README.md

File metadata and controls

170 lines (122 loc) · 5.83 KB

oneAPI ODAV

Team Name - Hitaya

Problem Statement - Object Detection For Autonomous Vehicles (DEMO)

Team Leader Email - [email protected]

A Brief of the Prototype:

This section includes UML Daigrms and prototype description

Tech Stack:

List Down all technologies used to Build the prototype Clearly mentioning Intel® AI Analytics Toolkits, it's libraries and the SYCL/DCP++ Libraries used

  • Intel® AI Analytics Toolkits
  • Intel Distribution for Python

Step-by-Step Code Execution Instructions:

This Section must contain set of instructions required to clone and run the prototype, so that it can be tested and deeply analysed

  • Kindly scroll down and head over to the Project Architecture section were we've explained in detail steps to run

What I Learned:

Write about the biggest learning you had while developing the prototype

  • We've been able to custom label/annotate the objects in detection.
  • Came up with novel algorithms for different kinds of object detection specific to autonomous cars.
  • Using Intel® AI Analytics Toolkits we were able to enhance performance speed in training data.
  • Our applications works under all kinds of weather conditions and provides proper analysis over the data.

Features

  • Car Dashboard Application, to detect objects after detection from, the yolov7 model.

  • We have used Tiny Yolov7 Model Architecture to ensure, the car dashcam requires very less, hardware configuration to run the application.

  • Custom Labelling tool, to self Label the Application.

  • Sending of data points once connected to the internet, like userid, detected_image, label, bounding_box_co-ordinate, latitude, and longitude through rest API.

  • Rest API saves the real-time data, in the database, and sends the data to Admin Web Interface.

  • Auto Train the custom-yolov7 model, with new data points every week, and update the car dashboard Application over the internet, to improve the accuracy of the model over time.

  • Install Python 3.10 and its required Packages like PyTorch etc.

2. Train the YoloV7 Object Detection Model

Open Image Labelling Tool

labelImg

Add more data from the already labelled images

git clone https://github.com/IntelegixLabs/smartathon-dataset
cd smartathon-dataset
Add train,val, and test data to oneAPI_ODAV/yolov7-custom/data files 

Train the custom Yolov7 Model

git clone https://github.com/IntelegixLabs/oneAPI_ODAV
cd oneAPI_ODAV
cd yolov7-custom
pip install -r requirements.txt
pip install -r requirements_gpu.txt
pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
python train.py --workers 1 --device 0 --batch-size 8 --epochs 100 --img 640 640 --data data/custom_data.yaml --hyp data/hyp.scratch.custom.yaml --cfg cfg/training/yolov7-custom.yaml --name yolov7-custom --weights yolov7.pt

3. Getting Started With Car Dash Board Application

  • Clone the repo and cd into the directory
$ git clone https://github.com/IntelegixLabs/oneAPI_ODAV.git
$ cd oneAPI_ODAV
$ cd oneAPI_ODAV_App
$ wget https://drive.google.com/file/d/1YXf8kMjowu28J5Z_ZPXoRIDABRKzmHis/view?usp=sharing
  • Install Python 3.10 and its required Packages like PyTorch etc.
$ pip install -r requirements.txt
$ pip intsall -r requirements_gpu.txt
$ pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
  • Run the app
$ python home.py

Packaging the Application for Creating a Execulatle exe File that can run in Windows,Linus,or Mac OS

You can pass any valid pyinstaller flag in the following command to further customize the way your app is built. for reference read the pyinstaller documentation here.

$ pyinstaller -i "favicon.ico" --onefile -w --hiddenimport=EasyTkinter --hiddenimport=Pillow  --hiddenimport=opencv-python --hiddenimport=requests--hiddenimport=Configparser --hiddenimport=PyAutoGUI --hiddenimport=numpy --hiddenimport=pandas --hiddenimport=urllib3 --hiddenimport=tensorflow --hiddenimport=scikit-learn --hiddenimport=wget --hiddenimport=pygame --hiddenimport=dlib --hiddenimport=imutils --hiddenimport=deepface --hiddenimport=keras --hiddenimport=cvlib --name oneAPI_ODAV home.py

4. Working Samples

  • For Video Demostration refer to the YouTube link here.

GUI INTERFACE SAMPLES

THEME 1 (Detection and evaluation of the following elements on street imagery taken from a moving vehicle) 📸

Object types:

 ● PERSON
 ● BICYCLE
 ● CAR
 ● MOTORCYCLE
 ● BUS
 ● TRUCK
 ● TRAFFIC LIGHT
 ● STOP SIGN
 ● PARKING METER
 ● POTTED PLANT
 ● CLOCK

Car Dashboard Custom Image Labelling Tool

5. Running yolov7-Segmentation Model

$ cd oneAPI_ODAV
$ cd seg/segment
$ python predict.py