YOLOv3
YOLOv3 copied to clipboard
YOLOv3 Implementation in TensorFlow 1.1X
:unicorn: YOLOv3 Implementation in TensorFlow 1.1x + Keras :unicorn:
How it Looks Like
Quick Start
On a PC / Mac
Create conda
environment depending on whether you have a supported GPU or not:
conda env create -f environment-[c|g]pu.yml
source activate yolov3-[c|g]pu
On a Raspi 3
Install OpenCV 3 with the following instructions.
Then:
pip install tensorflow scikit-learn
Download YOLO Weights
Download weights into the cfg
directory:
cd cfg
wget https://pjreddie.com/media/files/yolov3.weights
Demo on Single Image:
python single_image.py
The output is stored on out.png
in the root folder.
Demo on Web Cam:
To see it live on your Web Cam:
python webcam.py
Progress
- [X] YOLO configuration parser
- [X] Build YOLO model
- [X] Check architecture against a well-known implementation
- [X] Load YOLO pre-trained weights
- [X] Handle YOLO layer (Detection Layer)
- [X] Non-Maximal Suppression
- [X] Colorful boxes with labels and scores
- [X] Test out on a Web Cam
- [X] Check dependencies
- [X] Dependencies for CPU and GPU
- [X] Instructions for running the project
- [X] Use original scale of input image
- [X] YOLO head in a function
- [ ] Figure out Eager Execution + Loading Weights
- [X] Support Tiny YOLOv3
- [ ] Allow passing in options to use Tiny YOLOv3
- [ ] Investigate Quantization / Smaller Weights
- [ ] Try this out on a Raspi3
- [ ] Tensorflow.js (¯\(ツ)/¯)