Top Open-Source YOLO Object Detection Projects
By: Mrinal Walia
Tags: AI, Machine Learning, Computer Science, Object Detection, Programming

1. DarkNet_ROS

YOLO ROS: Real-Time Object Detection for ROS, ROS package developed for object detection in-camera images. You only look once (YOLO) is a state-of-the-art, real-time object detection system. In the following ROS package, you are able to use YOLO (V3) on GPU and CPU. The pre-trained model of the convolutional neural network is able to detect pre-trained classes including the data set from VOC and COCO, or you can also create a network with your own detection objects.

The YOLO packages have been tested under ROS Melodic and Ubuntu 18.04.

Based on the Pascal VOC 2012 dataset, YOLO can detect the 20 Pascal object classes:

person

bird, cat, cow, dog, horse, sheep

aeroplane, bicycle, boat, bus, car, motorbike, train

bottle, chair, dining table, potted plant, sofa, tv/monitor

Based on the COCO dataset, YOLO can detect the 80 COCO object classes:

person

bicycle, car, motorbike, aeroplane, bus, train, truck, boat

traffic light, fire hydrant, stop sign, parking meter, bench

cat, dog, horse, sheep, cow, elephant, bear, zebra, giraffe

backpack, umbrella, handbag, tie, suitcase, frisbee, skis, snowboard, sports ball, kite, baseball bat, baseball glove, skateboard, surfboard, tennis racket

bottle, wine glass, cup, fork, knife, spoon, bowl

banana, apple, sandwich, orange, broccoli, carrot, hot dog, pizza, donut, cake

chair, sofa, potted plant, bed, dining table, toilet, tv monitor, laptop, mouse, remote, keyboard, cell phone, microwave, oven, toaster, sink, refrigerator, book, clock, vase, scissors, teddy bear, hair drier, toothbrush

2. MobileNet-YOLO

MobileNet YOLO is a Caffe implementation of MobileNet-YOLO detection network which is trained on 07+12 and tested on VOC2007.

This project also supports the SSD framework and here lists the difference from SSD Caffe

Multi-scale training, you can select input resolution when inference

Modified from last update caffe (2018)

Support multi-task model

Pelee + driveable map

3. Android YOLO

Android-Yolo is the first implementation of YOLO for TensorFlow on an Android device. It is compatible with Android Studio and usable out of the box. It can detect the 20 classes of objects in the Pascal VOC dataset:

aeroplane, bicycle, bird, boat, bottle, bus, car, cat, chair, cow, dining table, dog, horse, motorbike, person, potted plant, sheep, sofa, train and tv/monitor.

The network only outputs one predicted bounding box at a time for now.

To use this demo first clone the repository. Download the TensorFlow YOLO model and put it in android-Yolo/app/src/main/assets. Then open the project on Android Studio. Once the project is open you can run the project on your Android device using the Run ‘app’ command and selecting your device.

Note: The standalone APK has been released and you can find it here. Just open your browser on your Android device and download the APK file. When the file has been downloaded it should begin installing on your device after you grant the required permissions.

4. CarND Vehicle Detection

CarND vehicle detection is a project for Udacity self-driving car Nanodegree program. The aim of this project is to detect vehicles in a dash camera video. This implementation is able to achieve 21FPS without batching processing. The final video output is here.

Detecting vehicles in a video stream is an object detection problem. An object detection problem can be approached as either a classification problem or a regression problem.

The output of this network is a 1470 vector, which contains the information for the predicted bounding boxes. The information is organized in the following way:

The 1470 vector output is divided into three parts, giving the probability, confidence and box coordinates.

The following shows the results for several test images with a threshold of 0.17. We can see that cars are detected:

5. YoloFace

YoloFace is a Deep learning-based Face detection using the YOLOv3 algorithm. The YOLOv3 (You Only Look Once) is a state-of-the-art, real-time object detection algorithm. The published model recognizes 80 different objects in images and videos. For more details, you can refer to this paper.

This project uses the OpenCV Deep Neural Networks dnn module. OpenCV dnn the module supports running inference on pre-trained deep learning models from popular frameworks such as TensorFlow, Torch, Darknet and Caffe.

Prerequisites

Tensorflow

OpenCV-python

OpenCV-contrib-python

Numpy

Keras

Matplotlib

Pillow

Development for this project will be isolated in the Python virtual environment.

6. MyVision

MyVision is a Computer Vision-based ML Training data generation tool.

MyVision is a free online image annotation tool used for generating computer vision-based ML training data. It is designed with the user in mind, offering features to speed up the labelling process and help maintain workflows with large datasets.

Features:

Draw bounding boxes and polygons to label your objects:

Polygon manipulation is enriched with additional features to edit, remove and add new points:

Annotating objects can be a difficult task… You can skip all the hard work and use a pre-trained machine learning model to automatically annotate the objects for you. MyVision leverages the popular ‘COCO-SSD’ model to generate bounding boxes for your images and by operating locally on your browser — retain all data within the privacy of your computer: