Does anybody have any experience with, or any good references on reconstructing a 3d scene from a stero image, or lots of images from different positions?
My use case is obviously a robot (MmBot) which has a stereo camera mounted on the front. I don't want to use a proper depth camera, as they are intrusive so I couldn't have multiple robots in the same room all seeing at once.
This is MmBot with the stereo cameras on the left, and the image she sends to the pc on the right.
First thing that comes to mind for PC vision processing is OpenCV. Not only does OpenCV take care of many fancy vision functions for you, it’s also extremely flexible and therefore powerful.
I know OpenCV has stereo imaging abilities, but I can’t say I’ve ever used those tools myself. However you will find more than a few people here on LMR and around the 'net that have plenty of OpenCV experience. It’s a popular platform for a good reason.
BTW MmBot is coming along nicely, and I wouldn’t feel right if I didn’t mention that I love LBP/LBP2 =)
Yup - I’m thinking OpenCV will be my first stop - hopefully by the time I get my raspberry pi somebody will have ported it as well Ideally I need an algorithm I can pull out and GPUify it though.
OpenCV has stereo functions for stereo cameras. Additionally it has other fun algorithms like SURF, which is what the 123d catch program primarily uses mentioned by airuno2I.
Good luck, we always need “new and improved” wheels
Thx grog - I think OpenCV is definitely a good starting point. I’m wondering if there’s any stereo algorithms that can take ‘hints’ from things at known depths, calculated via feature matching.
It sounds like your interested in “horizontal disparity” to indicate depth, which all stereo algorithms do at some level. The difficult part is figuring out the “which where & how” details of the features to match.
That’s why I mentioned OpenCV SURF implementation. It appears to be pretty good at finding & matching features in two different frames.