In this project, my goal is to train a neural network to detect both robots and balls in the context of RoboCup SPL. I have implemented a Single Shot Detector (SSD) following the work of Liu et al.1. The architecture of the initial network is based on the works of BHuman. However, the implementation of BHuman is limited to detecting only Robots. This project is my attempt to extend the network such that it detects both robots and balls.
The training data for this project was obtained from RoboEireann2. A sample of nine images is provided below.
To set up the project, follow these steps:
- Clone the repository to your local machine.
git clone https://github.com/jonathan-hellwig/robot-detection.git
- Navigate to the project directory.
cd robot-detection
- Create a virtual environment and activate it.
python3 -m venv .venv
source .venv/bin/activate
- Install the required packages.
pip install -r requirements.txt
The files robot_detection_train.ipynb
and synthetic_data_train.ipynb
contain the code to train a JetNet on the RoboEireann data and synthetic data respectively.
Each training run automatically generates a directory with log files that can be visualized with tensorboard.