Skip to content

Yolo v3 object detection implemented with Tensorflow 2.0.

License

Notifications You must be signed in to change notification settings

theAIGuysCode/yolo-v3

 
 

Repository files navigation

Yolo v3 Object Detection with Tensorflow 2.0

Yolo v3 is an algorithm that uses deep convolutional neural networks to detect objects.

Getting started

Prerequisites

This project is written in Python 3.7 using Tensorflow 2.0 (deep learning), NumPy (numerical computing), Pillow (image processing), OpenCV (computer vision) and seaborn (visualization) packages.

pip install -r requirements.txt

Downloading official pretrained weights

For Linux: Let's download official weights pretrained on COCO dataset.

wget -P weights https://pjreddie.com/media/files/yolov3.weights

For Windows: You can download the yolov3 weights by clicking here and adding them to the weights folder.

Using Custom trained weights

Learn How To Train Custom YOLOV3 Weights Here: https://www.youtube.com/watch?v=zJDUhGL26iU

Add your custom weights file to weights folder and your custom .names file into data/labels folder.

Change 'n_classes=80' on line 97 of load_weights.py to 'n_classes=<number of classes in .names file>'.

Change './weights/yolov3.weights' on line 107 of load_weights.py to './weights/'.

Change './data/labels/coco.names' on line 25 of detection.py to './data/labels/'.

Save the weights in Tensorflow format

Load the weights using load_weights.py script. This will convert the yolov3 weights into TensorFlow .ckpt model files!

python load_weights.py

Running the model

You can run the model using detect.py script. The script works on images, video or your webcam. Don't forget to set the IoU (Intersection over Union) and confidence thresholds.

Usage

python detect.py <images/video/webcam> <iou threshold> <confidence threshold> <filenames>

Images example

Let's run an example using sample images.

python detect.py images 0.5 0.5 data/images/dog.jpg data/images/office.jpg

Then you can find the detections in the detections folder.
You should see something like this.

detection_1.jpg

alt text

detection_2.jpg

alt text

Video example

You can also run the script with video files.

python detect.py video 0.5 0.5 data/video/shinjuku.mp4

The detections will be saved as detections.mp4 file. alt text

Webcam example

The script can also be ran using your laptops webcam as the input. Example command shown below.

python detect.py webcam 0.5 0.5

The detections will be saved as 'detections.mp4' in the data/detections folder.

To-Do List

  • Finish migration to full TF 2.0 (remove tf.compat.v1)
  • Model training
  • Tiny Yolo Configuration

Acknowledgments

About

Yolo v3 object detection implemented with Tensorflow 2.0.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%