/YOLOv3-tensorflow

Implement YOLOv3 with TensorFlow

Primary LanguagePython

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

The full details are in this paper

Architecture

Thank you Ayoosh Kathuria for your great image!

Imgur

Input to CCNs(Features block) General 3 Scales Features
Imgur Imgur Imgur Imgur

Test

  1. Clone this folder
  2. Transfomer the pre-trained weights in Darknet to keras (may be skip this etape to etape 3)
  1. Or download the pre-trained weights in keras from here
  2. Run python3 propagation.py

Results (La Rochelle, la belle ville :) )

YOLOv3-608 YOLOv3-416 YOLOv3-320
608 416 320

Train for your own dataset

  1. 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
  1. Run python3 train.py
  2. In propagation.py, modify classes_path to boat_classes.txt
  3. Run python3 propagation.py
  4. Enjoy your results!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!