Supervised ball detection within the official B-Human code release 2016
Switch branches/tags
Clone or download
Pull request Compare This branch is 34 commits ahead, 4 commits behind bhuman:master.
Latest commit ecd11a3 Feb 12, 2018
Permalink
Failed to load latest commit information.
Config
Install
Make
Src
Util
.gitignore
CodeRelease2016.pdf
LICENSE
License.txt
MachineLearningForRealisticBallDetection.pdf
README.md

README.md

SPQR Ball Perceptor

DISCLAIMER

⚠️ This code is not the full SPQR Team Release but it is only a part of it released for the RoboCup Community. Please refer to the SPQR Team Description Paper for the details about all the modules contained in the SPQR Team release.

SPQR Ball Perceptor is provided WITHOUT ANY WARRANTY about its usability. It is for educational purposes and should be regarded as such. Please report bugs at sapienza.spqrteam@gmail.com

Introduction

SPQR Ball Perceptor is a software module for black and white ball detection developed by the SPQR Team to be used within the BHuman framework. This repo is a fork from the official 2016 B-Human code release.

SPQR Ball Perceptor is distributed under the LGPL-3.0 license for the parts developed by the SPQR Team. This license does not apply to the parts of this distribution developed by others where the rights of the copyright owners remain. In particular, see the file "License.txt" for more details about the parts that have not been developed by the SPQR Team.

The details about the SPQR Ball Perceptor can be found in the technical report:
Domenico Bloisi, Francesco Del Duchetto, Tiziano Manoni, and Vincenzo Suriani "Machine Learning for Realistic Ball Detection in RoboCup SPL" arXiv:1707.03628 [PDF] [arXiv]

A Supervised Approach

The SPQR Ball detector is based on a supervised approach implemented in OpenCV. In particular, an LBP binary cascade classifier has been trained to detect the ball. Details about how to generate the classifier are available in the tutorial "How to Use OpenCV for Ball Detection - RoboCup SPL Use Case".

Installation

The SPQR Ball Perceptor has been tested on Ubuntu 16.04 LTS. The installation procedure is as follows.

  1. Install dependencies:
  • cmake
  • libgtk2.0-dev
  • pkg-config
  • libavcodec-dev
  • libavformat-dev
  • libswscale-dev
  • libjpeg8
  • libjpeg-turbo8-dbg
  • lib32z1-dev
  • libjpeg-turbo8-dev

To install the above dependencies on Ubuntu 16.04 use the following command: sudo apt−get install cmake libgtk2.0−dev pkg−config libavcodec−dev libavformat−dev libswscale−dev libjpeg8 libjpeg-turbo8−dbg lib32z1−dev libjpeg−turbo8−dev

  1. Install Opencv 2.4

  2. By following the B-Human code release documentation it is possible to conclude the code installation.

IMPORTANT: To improve the detection and to not discard far away balls it is necessary to calibrate the NAO's camera matrix and joints.

Results

SPQR Ball Perceptor has been used by the SPQR Team during the competitions of the Robocup German Open 2017.

SPQR Ball Perceptor

SPQR Ball Perceptor can be used both indoor and outdoor without any modification.

SPQR Ball Perceptor indoor and outdoor

SPQR Team 2017

Faculty
Daniele Nardi
Luca Iocchi

Team Manager
Domenico Bloisi

Software Development Leader
Vincenzo Suriani

Members
Emanuele Antonioni
Matteo Cecchini
Francesco Del Duchetto
Tiziano Manoni
Armando Nania
Marco Paolelli