My initial tests of the Pixy2's object recognition were disconcerting. The camera's color-based object recognition seemed to be very light dependent, and prone to false positives.
I had hoped that with more even lighting, and the consistent background of the arena, the recognition would be more consistent.
The Pixy2's sensitivity can be set, and I tried adjusting that from its default value.
This seemed to produce more accurate results without the false positives I had seen previously. The object was still recognized at the maximum 1.5 meter distance of the arena, but the recognition was lost beyond that distance.
In Tidy Up the Toys, the colored blocks start at a distance of 1.1 meters from the robot. At this distance, the object was reliably recognized.
In lower light conditions, the object was still recognized, although sporadic false positives appeared.
There were no false positives with similar objects of different colors.
The Pixy2 can store 7 different objects. After training the camera on each of the three different colored objects, it was able to recognize all three.
I found that it was necessary to train the Pixy2 in a well lit environment. This seemed to give the camera a better understanding of the objects' shapes, allowing the Pixy2 to still recognize the objects when the lighting was worse.
I also found that different colors required different sensitivities to avoid false positives.