How Open3D compares with OpenCV for Visual Odometry applications?

How Open3D compares with OpenCV for Visual Odometry applications? They both seem to be supported by Open Source Vision Foundation (OSVF), so I wonder about overlaps and specializations of these two libraries. Since OpenCV is a much older and more established library implementing many visual odometry algorithms, why would one use Open3D instead?

Can you name any visual odometry algorithms in OpenCV? To the best of my knowledge, there are geometry-related functions like solvePnP or findEssentialMats, but I am not aware of officially implemented algorithms.

At the current stage, Open3D focuses on RGB-D/3D data, so our odometry is RGB-D specific. OpenCV is designed for images, though it has expanded its domain a bit. If there is visual odometry in OpenCV, I suspect that it would be for pure RGB images. That could be the biggest difference.

There is a bunch of visual odometry algorithms in RGB-Depth Processing module (https://docs.opencv.org/4.2.0/d2/d3a/group__rgbd.html), which is an area of overlap with Open3D.

Interesting to know! These three functions are from the same variation of ours.

I would still argue that Open3D is more focusing on 3D and more self-contained, and provides the state-of-the-art reconstruction pipeline upon components like RGBD odometry.

Of course, there are many people working on 3D and there can be overlap between libraries, but we believe it is good to offer another possibility :slight_smile:

1 Like