YOLOv3 tensorflow
Build a real-time bounding-box object detection system for the boat (using fine-tuning in tensorflow based on YOLOv3-416 weights trained en COCO dataset). Then use my own data set for distinguish different type of boat
Inspired by YAD2K, Darknet and keras-yolov3
The full details are in this paper
Architecture
Thank you Ayoosh Kathuria for your great image!
Input to CCNs(Features block) | General | 3 Scales | Features |
---|---|---|---|
Test
- Clone this folder
- Transfomer the pre-trained weights in Darknet to keras (may be skip this etape to etape 3)
- wget https://pjreddie.com/media/files/yolov3.weights
- python3 convert.py yolov3.cfg yolov3.weights yolov3.h5
- python3 yolo.py
- Or download the pre-trained weights in keras from here
- Run python3 propagation.py
Results (La Rochelle, la belle ville :) )
YOLOv3-608 | YOLOv3-416 | YOLOv3-320 |
---|---|---|
Train for your own dataset
- Run python3 boat_annotation.py to get 3 files: bateau_train.txt, bateau_valid.txt, bateau_test.txt
- In each file contains path_to_image obj1 obj2 ...
- With obj1: x1_min, y1_min, x1_max, y1_max
- Run python3 train.py
- In propagation.py, modify classes_path to boat_classes.txt
- Run python3 propagation.py
- Enjoy your results!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!