I have implemented yolo-v3 detector using tensorflow eager execution.
- python 3.6
- anaconda 5.1.0
- tensorflow 1.9.0
- opencv 3.4.3.18
- imgaug 0.2.6
- tqdm
- Etc.
I recommend that you create and use an anaconda env that is independent of your project. You can create anaconda env for this project by following these simple steps. This process has been verified on Windows 10 and ubuntu 16.04.
$ conda create -n yolo3 python=3.6 anaconda=5.1.0
$ activate yolo3 # in linux "source activate yolo3"
(yolo) $ pip install tensorflow==1.9.0
(yolo) $ pip install opencv-python==3.4.3.18
(yolo) $ pip install imgaug==0.2.6
(yolo) $ pip install tqdm
(yolo) $ pip install pytest-cov
(yolo) $ pip install codecov
(yolo) $ pip install -e .
-
Run object detection through the following command.
project/root> python pred.py -c configs/predict_coco.json -i imgs/dog.jpg
- Running this script will download the original yolo3-weights file and display the object detection results for the input image.
-
You can see the following results:
This project provides a way to train a detector from scratch. If you follow the command below, you can build a digit detector with just two images. If you follow the instructions, you can train the digit detector as shown below.
After training, you can evaluate the performance of the detector with the following command.
project/root> python eval.py -c configs/svhn.json
- Running this script will evaluate the annotation dataset specified in
train_annot_folder
. The evaluation results are output in the following manner. {'fscore': 1.0, 'precision': 1.0, 'recall': 1.0}
- Running this script will evaluate the annotation dataset specified in
Now you can add more images to train a digit detector with good generalization performance.
1. Raccoon dataset : https://github.com/experiencor/raccoon_dataset
- Pretrained weight file is stored at raccoon
- Evaluation (200-images)
- fscore / precision / recall: 0.97, 0.96, 0.98
2. SVHN dataset : http://ufldl.stanford.edu/housenumbers/
- Image files : http://ufldl.stanford.edu/housenumbers/
- Annotation files : https://github.com/penny4860/svhn-voc-annotation-format
- In this project, I use pascal voc format as annotation information to train object detector. An annotation file of this format can be downloaded from svhn-voc-annotation-format.
- Pretrained weight file is stored at svhn
- Evaluation (33402-images)
- fscore / precision / recall: 0.90, 0.83, 0.97
3. Udacity self-driving-car dataset : https://github.com/udacity/self-driving-car/tree/master/annotations
- Pretrained weight file is stored at udacity
- Evaluation (9217-images)
- fscore / precision / recall: 0.80, 0.76, 0.87
4. Kitti object detection dataset : http://www.cvlibs.net/datasets/kitti/eval_object.php
- Pretrained weight file is stored at kitti
- Evaluation (7481-images)
- fscore / precision / recall: 0.93, 0.93, 0.94
- See LICENSE for details.