Comparing three low-cost integrated computer vision boards for autonomous cars
(Above, from left: Pixy 2, Jevois, OpenMV)
Computer vision used to be hard. No more. Now you can run OpenCV on a RaspberryPi, or even better use a dedicated computer vision camera/computer combo that costs less than $60. It’s kind of amazing, and perfect for small and cheap autonomous cars.
I’ve tested three of these camera/CV combo products with a DIY Robocar as the use case.
Here’s a quick review of the three and how they compare. I’ve previously compared Jevois and OpenMV, but both have improved since then — Jevois on the software side, and OpenMV on both the software and the hardware side with the forthcoming H7. But now Charmed Labs has come out with the Pixy 2, which adds line following along with much improved hardware and software, so I’m expanding the comparisons.
For the OpenMV car, I tested the “Minimum Racer” configuration. For the other two, I used the Adafruit rover chassis, an Arduino and a motor driver board. My code for the Pixy 2 with the Adafruit motor driver shield is here
Winner: OpenMV M7/H7
Why: Best IDE, copious I/O and shields mean no extra parts to drive a car, easy to program. Still the one to beat, and with the forthcoming H7 (to be launched via Kickstarter in September) it will have the computing power to do amazing frame rates and neural networks.
Fun Feature: The way it handles AprilTags (like QR codes, but super fast for robots to recognize) is miraculous. It can recognize them from 20 feet away when integrated with blob tracking.
Second Place: Pixy 2
Why: This is a big improvement over the original Pixy, which could just do color blob tracking. The new version has a fun line-following app and good Arduino/RaspberryPi integration. But it’s not really programmable and you’re limited to the four apps already loaded. And you need to add an Arduino and motor driver shield to drive a car. It doesn’t really do anything that OpenMV doesn’t do better.
Fun Feature: The three white LEDs make for great headlights!
Third Place: Jevois
Why: The Jevois hardware is amazing, but it has been hamstrung by overly complex software (no IDE) (UPDATE 6/20: It now has one and it looks great) and no I/O. The I/O problem remains, but the software has been much improved and now includes some good TensorFlow deep learning demos and some basic Linux command line support. But like the Pixy 2, to drive a car it needs an Arduino (or equivalent) and motor driver board to be connected.
Fun Feature: It can recognize 1,000 objects out of the box thanks to TensorFlow.
Here’s how they compare in features
OpenMV M7/H7> | Pixy 2> | Jevois> | |
---|---|---|---|
Cost | $65 (M7), $59 (H7, coming in Sept) | $59 | $59 |
IDE | Full-featured, cross platform (Mac, Win, Linux) | Just a viewer app | Full-featured, cross platform (Mac, Win, Linux) |
Language | Micropython | Not really programmable | Python |
Processing power (QVGA) | 60 FPS (M7) 120 FPS (H7) | 60 FPS | 60 FPS |
Memory | 0.5MB RAM, 2 MB Flash (M7) 1MB RAM, 2MB Flash (H7} | N/A | 256MB |
Add-on boards available | Lots: servo, Wifi, motor controller, LCD | None | None |
Interchangeable lenses | Yes | No | No |
Interchangeable sensors | No (M7) Yes (H7) | No | Yes |
Sample apps | ~30 covering wide range including deep learning | 4 (color and line tracking). No deep learning | ~30 covering wide range including deep learning |
I/O | USB, SPI, CAN, I2C, 3x PWM, Serial, ADC, DAC, | USB, SPI, 2x PWM | USB |
SD Card | Yes | No | Yes |
Lights | 2x IR | 3x White | No |
Cost to make a car | $100 (OpenMV + motor shield + car) | $115 (Pixy 2 + Arduino + Adafruit Motor Shield + car) | $115 (Jevois, + Arduino + Adafruit Motor Shield + car) |