maiminh1996 / YOLOv3-tensorflow

Re-implement YOLOv3 with TensorFlow
1 stars 0 forks source link
deep-learning machine-learning object-detection supervised-learning tensorflow yolov3

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

Update: This code was written during my internship in 2018 and is no longer maintained now!!!

20/05/2022: losing all stars after making this repo private

Inspired by YAD2K, Darknet

The full details are in this paper

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)

    • wget https://pjreddie.com/media/files/yolov3.weights
    • python3 convert.py yolov3.cfg yolov3.weights yolov3.h5
    • python3 yolo.py
  3. Or download the pre-trained weights in keras from here

  4. 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
  2. Run python3 train.py

  3. In propagation.py, modify classes_path to boat_classes.txt

  4. Run python3 propagation.py

  5. Enjoy your results!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!