I’d like to share with you the details of our last project on Compute Module 3 for playing with stereo video and OpenCV. It could be interesting for those who study computer vision or make drones and robots (3D FPV).
It works with a stock Raspbian, you only need to put a dtblob.bin file to a boot partition for enabling second camera. It means you can use raspivid, raspistill and other traditional tools for work with pictures and video.
JFYI stereo mode supported in Raspbian from 2014, you can read implementation story on Raspberry forum.
Before diving into the technical details let me show you some real work examples.
1. Capture image:
raspistill -3d sbs -w 1280 -h 480 -o 1.jpg
and you get this:
You can download original file here.
2. Capture video:
raspivid -3d sbs -w 1280 -h 480 -o 1.h264
and you get this:
You can download original captured video fragment (converted to mp4) here.
3. Using Python and OpenCV you can experiment with depth map:
For this example I used slightly modified code from my previous project 3Dberry (https://github.com/realizator/3dberry-turorial)
I used this pair of cameras for taking the pictures in examples above:
For video livestream from drone I use wide angle (160 degrees) cameras like this:
Now – to hardware part.
Dimensions: 90x40 mm
Camera: 2 x CSI 15 lanes cable
GPIO: 40 classic Raspberry PI GPIO
USB: 2 x USB type A, 1 USB on a pins
Storage: Micro SD (for CM3 Lite)
Monitor: HDMI out
Power: 5V DC
Supported Raspberry Pi: Raspberry Pi Compute Module 3, Raspberry Pi CM 3 Lite, Raspberry Pi CM 1
Supported cameras: Raspberry Pi camera OV5647, Raspberry Pi camera Sony IMX 237, HDMI In (single mode)
Firmware update: MicroUSB connector
Power switch: Yes! No more connect-disconnect MicroUSB cable for power reboot!
Status: we have fully tested ready-to-production samples
That’s all that I wanted to cover today. If you have any questions I will be glad to answer.
Project website is http://stereopi.com
If you have classic Raspberry Pi with the camera, you can repeat all our video livestream experiments. Livestream to YouTube, Android and Oculus Go. Also you can repeat our behind-the-scene experiments with video livestream to WIndows desktop, Mac or any RTMP server.
Today we want to share with you our Raspbian image. We call it SLP (StereoPi Livestream Playground). It supports single-camera mode and also two-camera mode for StereoPi.
You can find image, Android application and brief manual in our Wiki
Tiziano, thank you for your great manuals!
It looks like a great work. I'd like to test it in my ROS and Raspberry Pi Tutorial series
A little update: our campaign is now live https://www.crowdsupply.com/virt2real/stereopi
Today I've posted our latest project's news here: https://diydrones.com/profiles/blogs/stereopi-preparing-for-the-bat...
I love it.
Auturgy, if you will reanimate it - let's compare our results and share experience!
"Both. Custom carrier was designed (minimalist: basically just exposing USB, sdcard, the csi’s and uart, with some power management), but not fabricated.
Started with the dev board."
Why do you stopped? It does not fit your tasks?
Our first generation (on CM1) was for stereo livestream only, and also has additional 16PWM chip onboard. Current generation more focused on CV.
Here's previous one:
Started with the dev board.