r/raspberry_pi • • 1d ago

Show-and-Tell Fully open source stereo depth stack with cheap cameras

Enable HLS to view with audio, or disable this notification

Hi everyone! We’re building Nuvo Vision One, a stereo depth camera powered by a Raspberry Pi 5, and wanted to share where we’ve got so far.

This started from our own need to add depth sensing to our products. The stereo cameras we were considering were expensive for our budget, and we already had a Pi 5 handling compute. We wondered how far we could get by connecting two cameras and doing the stereo processing on the Pi itself.

The setup uses two IMX296 global-shutter cameras with a shared hardware trigger to synchronize capture. The Pi handles image rectification and stereo matching, producing disparity and depth alongside the camera images.

Doing this on an SBC comes with limits. Resolution, frame rate and matcher settings all affect how much work the Pi can keep up with. We’ve reached a useful starting point for our needs, but there’s still plenty to improve. The attached preview video shows the current output, including the holes and noisy regions where matching struggles.

We also built a browser-based interface to make it easier to use. You can preview the images and depth, adjust exposure and stereo settings, choose outputs, and work through calibration. It’s accessible over the local network through Ethernet or Wi-Fi.

One reason we like this approach is that the camera’s compute is also a normal Linux computer. You can modify the image pipeline and run your own applications on the same Pi. The Nuvo Depth software is open source, including the runtime, web interface and SDKs.

We’ve put product photos and web UI screenshots in this album so you can see the hardware and controls alongside the video.

We’d love feedback from people working with stereo vision or robotics. What would you want to test first, and what would make something like this useful in your projects?

GitHub: https://github.com/arputhamips/nuvo-depth

45 Upvotes

3 comments sorted by

2

u/blobules 7h ago

It seems to me that almost 13000 lines of code for this seems to me like extreme overkill.
It looks like Claude (or similar) played a "bloated code" prank on you...

Obviously there is quite a lot of work in this project, but what is the intended end use? If it is fast/high performance stereo on a Pi5, then including a web interface, streaming, python sdk, etc... does not seem warranted.

Did you try the simplest c++ opencv code that read the camera, rectify, compute sgbm, then display? Is there a performance gain?

Maybe I don't get what you are trying to achieve.

1

u/arputhamips 5h ago

The web user interfaces are completely separately from the application and you dont have to use them.

we wanted a simple,easy to use depth stack for robotics and we couldn't find a easy cheap option, So we built it!