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/H7Pixy 2Jevois
Cost$65 (M7), $59 (H7, coming in Sept)$59$59
IDEFull-featured, cross platform (Mac, Win, Linux)Just a viewer appFull-featured, cross platform (Mac, Win, Linux)
LanguageMicropythonNot really programmablePython
Processing power (QVGA)60 FPS (M7)
120 FPS (H7)
60 FPS60 FPS
Memory0.5MB RAM, 2 MB Flash (M7)
1MB RAM, 2MB Flash (H7}
N/A256MB
Add-on boards availableLots: servo, Wifi, motor controller, LCDNoneNone
Interchangeable lensesYesNoNo
Interchangeable sensorsNo (M7)
Yes (H7)
NoYes
Sample apps~30 covering wide range including deep learning4 (color and line tracking). No deep learning~30 covering wide range including deep learning
I/OUSB, SPI, CAN, I2C, 3x PWM, Serial, ADC, DAC, USB, SPI, 2x PWMUSB
SD CardYesNo Yes
Lights2x IR3x WhiteNo
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)