🦄 YOLOv3 Implementation in TensorFlow 1.1x + Keras 🦄
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
- YOLO configuration parser
- Build YOLO model
- Check architecture against a well-known implementation
- Load YOLO pre-trained weights
- Handle YOLO layer (Detection Layer)
- Non-Maximal Suppression
- Colorful boxes with labels and scores
- Test out on a Web Cam
- Check dependencies
- Dependencies for CPU and GPU
- Instructions for running the project
- Use original scale of input image
- YOLO head in a function
- Figure out Eager Execution + Loading Weights
- Support Tiny YOLOv3
- Allow passing in options to use Tiny YOLOv3
- Investigate Quantization / Smaller Weights
- Try this out on a Raspi3
- Tensorflow.js (¯\(ツ)/¯)