Skip to content

A model that can detect dartboards in an image. Uses the Hough Transform which was produced from scratch. Written in C++ with OpenCV.

Notifications You must be signed in to change notification settings

fznsakib/dartboard-detector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dartboard-detector - Image Processing and Computer Vision

This assignment you experiments with the Viola-Jones object detection framework provided by OpenCV, before combining it with Hough Transform techniques in order to get better results in detecting dartboards in images.

The Viola Jones detector produces bounding boxes for where it thinks there are dartboards. However these detections tend to be overfitted, producing many false positives. The Hough Transform is used to detect lines and circles within these bounding boxes to make a decision on whether or not it contains a dartboard.

Algorithm

Performance

The algorithm produced a strong F1 score of 0.91, where all dartboards were corrected in the test images apart from one. Some false positives did occur, due to noise and the reliance on the Viola Jones detector.

Screenshot 2019-11-13 at 11 48 51

Instructions

Compile using:

g++ dartboardDetector.cpp /usr/lib64/libopencv_core.so.2.4 /usr/lib64/libopencv_highgui.so.2.4 -lopencv_imgproc -lopencv_objdetect

Then run the output file with a chosen image (e.g. dart0 to dart15.jpg)

./a.out dart5.jpg

About

A model that can detect dartboards in an image. Uses the Hough Transform which was produced from scratch. Written in C++ with OpenCV.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages