- Colour Spaces or models
- RGB, YUV, HSV
- The AIBOs use YUV natively.
Symbolic colours
- Mapping from YUV to symbolic colours

- Drop low order bit - use 128x128x128 table
- Mapping from YUV to symbolic colours
Detecting objects
- Blobs of colour
- Disjoint Set Algorithms -- Cormen, Leiserson & Rivest, section 22.3
- Edge detection
- Full algorithms are slow (for embedded, serial, computers)
- Use a cut-down system that only detects edges in one direction
- See Alex North's honours thesis
- Blobs of colour
Detecting the ball
- Circles of orange edge
- Use RANSAC style algorithm to find the ball (again, see Alex's thesis for details)
Distance to objects
- Size
- Integer size causes large distance jumps at around 2m
- Use average size (e.g. sqrt(num pixels) or average height across a number of columns of pixels)
- Projection
- If we know an object is on the ground, we can use kinematics to find out its location relative to our head
- Ball
- Project centre of ball onto 1-radius high plane
- For ball, size is better at long distances, projection is better up close
- Size
Where to look
- If you look at the centre of the ball, then when it is close you just see orange everywhere and cannot localise it accurately
Ring correction
- The ERS-7 model AIBOs had an awful camera with chromatic distortion
- 'Ring correction' used a lookup table to partially correct for this before further processing