YOLO

Yolo, a great library my Colleague (Ashkan) and I have found for detecting objects. YOLO stands for You Only Look Once, and its a deep learning computer vision library [1]. The code base is on C (not C++) and it has GPU support. These features along with the availability of designing new layers make it awesome. But the most significant feature of this library is its speed in detecting objects in real life. The default network on this project is trained to detect variety range of objects.

However, the library has a huge disadvantage. It's written in C, which makes it hard to further developments. Although, there is C++ wrapper for it in [2], but the library isn't satisfying. I am still try it to fit it in my program, but after a week no progress has been attained yet...

I planed to rewrite the wrapper (and in worst case the library itself) to see if I am able to  1) compile it under c++ and integrate it in my program. and 2) to see if can improve it even faster.

The YOLO has not integrated in the code yet; and currently, the ball pattern is detected via AdaBoost (from OpenCV library). Prior to pattern recognition, there are few steps to find a ROI in order to ignore the process to search the whole image, and search only a small proportion of the image instead.

In the video below, you can see the steps for detecting this ROI (or ball candidates). The first step is to analyze the image, define the green color, apply a convex hull boundary on the highest green pixels and finally detect the field boundary. Then, run Fast Randomized Hough Transform (FRHT) to guess some circles form the edge space and then validate these guesses to find the correct circles. Here is the results:


The code is available on my github at [3]. Please let me know if you have any opinion on this project.

Check my twitter, I'll let you know about any updates.

[1] - https://pjreddie.com/darknet/
[2] - https://github.com/for-aiur/yolo_cpp
[3] - https://github.com/ArefMq/SoccerBallDetection/

Comments

Popular posts from this blog

Stage #1 - Replanting a pineapple

Brand New Perception