01 / Robot perception
Webots Neural Vision Robot
A small e-puck robot that finds a selected color, turns toward it, and stops as it approaches. I compared a compact neural network with a calibrated HSV baseline to understand where each approach works.
Python / PyTorch / OpenCV / Webots
Source code →
- 1,460
- model parameters
- 3,000
- training images
- 98.13%
- held-out macro mask IoU
Implementation
I started with color thresholding, then trained a 1,460-parameter CNN on 3,000 labeled synthetic images. Both detectors feed the same steering and stopping controller. The robot uses camera frames and proximity sensors; supervisor positions score the trials but never steer it.
Results
The selected-target model reached 98.13% macro mask IoU on 400 held-out synthetic scenes. A separate comparison covered 3,600 fresh synthetic images and 108 paired Webots trials, measuring perception quality, CPU latency, and task completion.
Observations
HSV handles clean colors and near-color clutter well. The CNN performed better on blurred images; the dim-light difference was uncertain. Looking at robot outcomes alongside image metrics made the tradeoffs clearer.
Limitations
All results come from generated images and simulation. The controller stops for obstacles but does not plan a route around them. Selecting one object among several of the same color remains a limitation; a physical robot has not been tested.