8

Monocular vision is a difficult and very interesting, particularly in its application to the general navigation problem. I will make an attempt at answering your questions, but if you find anything lacking, you can read through Szeliski's book Computer Vision: Algorithms and Applications. What is the core principle of a monocular visual odometry algorithm? ...


5

The most important point is the scale. If you do monocular SLAM, your map will only be accurate up to scale so that you e.g. cannot compute the length of the travelled path in meters. The scale between your map and the world is not even constant over time so that if you come back to your starting point, it's going to be difficult to match the beginning and ...


2

From the webpage for the dataset: All sequences contain mostly exploring camera motion, starting and ending at the same position: this allows to evaluate tracking accuracy via the accumulated drift from start to end, without requiring ground-truth for the full sequence. It appears as though they didn't intend the ground truth for these datasets to be ...


2

NaN values are sometimes used to indicate unavailable data. Is it possible that these are simply portions of the dataset for which ground truth was not available, but you can still evaluate on the remainder of the sequence (and that this is in fact the standard evaluation domain)? It looks like their evaluation code checks for trajectory entries with any ...


1

The problem of the pure strong rotation is that the image will become easily blurred unless you use 1000FPS camera. This kind of super-strong rotation often occurs in hand-held camera motion. Simply turn on your mobile camera in a slightly dark place and try to make a translational and rotational motion. You will see rotation make huge blurriness in the ...


1

This is not the answer of your question but ORB is a feature detection algorithm. Feature detection and tracking are different. Once you found a feature it is better to track them by a feature tracking algorithm such as KLT. You can also track the features by feature matching algorithms but it is not very efficient. Since features come with their own ...


1

I will assume, similar to OpenCV, that each camera is a pinhole camera, so you already corrected for things like lens distortion. In this case each visible point in 3D space $(x,y,z)$ gets projected into camera coordinates using $$ \begin{bmatrix} x'_i \\ y'_i \\ z'_i \end{bmatrix} = R_i \, \begin{bmatrix} x \\ y \\ z \end{bmatrix} + \vec{t}_i, \\ u_i = \...


1

DSO initializes the scene and camera poses with a specific scale factor such that the average inverse depth of the pointHessians is one. After the initialization the first two frameHessians are led into the backend to do a bundle adjustment like optimization in which, however, the previous determined scale can change (because the absolute scale is not ...


1

Researchers from Davide Scaramuzza's group authored a paper in 2014 about a probabilistic technique called REMODE that estimates depth from a single moving camera. The algorithm performs per pixel depth estimation from a camera stream and regularization based on uncertainty estimation. It should be suitable for your application involving a moving camera and ...


1

It turns out this can easily be done with OpenCV - just find image features (FAST etc.) in first image, track them to the second image (get a set of corresponding features between two images) and then use triangulatePoints function to get the 3D scene. triangulatePoints accepts two projection matrices - one for each image. Each projection matrix defines ...


Only top voted, non community-wiki answers of a minimum length are eligible