northern-bites/nbites — pull request #265 by bmende (2012-02-16 04:04:36+00:00)
Title: robot detection improvements in vision

This pull request is for Rob and I's robot detection improvements to the vision system. Previously, robot detection was done in the same framework as the other object detection, namely with vertical runs. The vision system fed the robot object runs of red and navy, and the robot object blobbed them together, and used information about white around these blobs to determine if there was a robot.
The new system does robot detection independently of the goalpost and ball detection, and does not affect them. We know search for squares in the image which are predominantly red or navy, and blob these squares together. We use much the same methods for rejecting bad blobs as before. We decided to take this approach because the previous system was too finicky when confronted with weird reflections on the robots bodies and their uniforms.
Previously, we only recorded the robots waistbands as the robots. Now, we create a bounding box around the entire robot, or as much as we can get. This feature occasionally misses body parts such as the head and arms.
Whereas previously the vision system could only detect about 50-60 percent of robots in images, with some false positives, the new system detects between 80-95 percent of robots in images, with no false positives that Rob or I have seen, and does this with a much weaker color table.