1 / 9

W.I.B

Ball Recognition for RoboCup’s black and white ball using OpenCV. W.I.B. Technical University of Crete. Karageorgiadis Anastasios. Introduction.

mcdonalde
Download Presentation

W.I.B

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ball Recognition for RoboCup’s black and white ball using OpenCV W.I.B Technical University of Crete Karageorgiadis Anastasios

  2. Introduction • What is W.I.B? W.I.B (aka Where Is Ball) is a project for ball recognition, using OpenCV. More precisely is a program that uses classification methods of OpenCV, to train and detect black and white ball. This type of ball is used at Robocup(SPL) the last years. Ball Since 2016 SPL Ball till 2015 SPL

  3. HoughCircles Approach • We tried to detect circles with specific center and radius (that will match to the ball size) using the sample file houghcircles.cpp of OpenCV. • What do we do? We simply adjust the threshold for ball’s color and for its center, and we also set the size of the circle in a range. • Example code: • HoughCircles(img, circles, HOUGH_GRADIENT, 1, 10,210, 30, 1, 50 ); • // change the last two parameters • // (min_radius & max_radius) to detect larger circles • “210” : circle’s max threshold • “30”: circle center’s max threshold

  4. HoughCircles Results Change threshold of ball Perfect Threshold and circle size Keep threshold and increase circle’s size-range

  5. Cascade Classifier Approach • We chose LBP(Local Binary Pattern) features cascade classifier. • We use opencv_createsamples to get .vec file with all positive samples. • Then we use opencv_trainscade with input .vec and bg.txt(negative images) to create and train our cascade-classifier. Abstract view of whole project

  6. Cascade Classifier Results False Detection Ball Dedected *Note: Ignore drawn circles-error drawing outline

  7. Results(2) Detection These images are showing detection happens for 500 positve images and 1000 negative images.

  8. Conclusion • We saw that HoughCircles is a very good approach for simple application on object detection.But, it’s not such an accurate method. • OpenCV cascade-classifier is an easy way to detect objects, once we have trained our classifier. Also, we can adjust the size of the detected object by resizing the detection window. • But most important is that our results are independent of light conditions and image quailty. • The only restriction is collecting a satisfactory dataset (could be thousands of one object images). • More specific we tried for 50 positive images and 110 negative. With cascade’s number of stages equal to 20 and we detected the ball (roi). (partial) SUCCESS!! • We achieved full success of ball detection with a dataset of 500 positive images and 1000 negatives.

  9. Usefull Links • https://github.com/soylisK/W-I-B • https://docs.opencv.org/2.4.13/doc/user_guide/ug_traincascade.html • http://answers.opencv.org/question/39160/opencv_traincascade-parameters-explanation-image-sizes-etc/ • http://profs.scienze.univr.it/~bloisi/tutorial/balldetection.html • https://www.youtube.com/watch?v=WEzm7L5zoZE Some intresting : • http://www.cs.utexas.edu/users/AustinVilla/papers/LNAI17-jmenashe.slides.pdf • https://www.robocup2017.org/file/symposium/RoboCup_Symposium_2017_paper_20.pdf • Visit also www.github.com/AnonKour Kouretes Team 2018 Techical University of Crete

More Related