- This project uses
tensorflow==1.14
&keras==2.2.4
.
-
This repository contains files necessary for building the custom object detector using YoloV3 using tensorflow and keras.
-
The goal of the project was to build a cutom object detector that can detect:
- Traffic signs.
- Speed limit signs.
- Stop signs.
- Traffic Lights.
- Car.
- Bus.
-
The dataset for
speed limit signs
dataset was created by manually scraped from the web and annotate using labelIMg and converted to the format yolo desires. The dataset for other images was pulled from the Open Images Dataset.
- Tutorials and codes used in this project comes from pylessons.com.
- Youtube channel playlist: playlist
- New Tensorflow 2.x based YoloV3 playlist: playlist
- Download the desired image datasets if available from OpenImagesDatasets following this tutorial and convert them to XML using the tutorial.
- In case you've have your own dataset, annotate your custom dataset using this tool and save the annotated files in the XML format in the save folder as the image.
- Make sure each you want to detect has it's own seperate folder in which both the images and xml file reside.
- When this is done as per the tutorial, run
voc_to_YOLOv3.py
to get the annotation file as required by YOLOv3. - Change the variable
dataset_file
invoc_to_YOLOv3.py
as fit. I had 6 classes so changed it to'6_CLASS_test.txt
. - From there just follow the tutorial series.
- You can train the algorithm on colab, upload the .ipynb notebook uploaded.
- I used google drive to download and run different scripts, you can find the files in the tutorials github account.
- You might need to download
yolov3.weights
files and put it in the model_data folder before-hand. dad
- Sample Output
- Train a tiny-yolo model for the dataset.
- Try the new
YoloV4
model and train your custom object detector. - Try other new models in the
object detection
domain.
- End notes
- I cannot share the custom dataset file as of yet.
- I'll open the link for download in the upcoming month.