Thursday, June 2, 2016

Multi View Stereo - George H. Jones plot


Set of 19 images (1920x1080) from which we want to extract the corresponding 3D scene.

We are gonna use Structure from Motion 10 (SfM10) to extract the camera poses (Structure from Motion) and Multi View Stereo 10 (MVS10) to reconstruct the dense 3D scene (Multi View Stereo).


Animated gif showing the dense reconstruction obtained with MVS10 using minimum number of matches = 100. The dense 3D scene reconstruction has 2,222,692 3D points.

Input "mvs10_input.txt" used:

duh.nvm
100
0.5
32
0.9
30.0
10.0
4
0
4
1
0.5
3
2.0
1

We are gonna focus on the 2nd parameter, the minimum number of matches, which is here equal to 100. In MVS10, a depth/disparity map between two views is computed only if the number of feature matches is greater than the minimum number of matches. Note that MVS10 needs to compute depth/disparity maps to add 3D points to the current dense reconstruction but it has to be done judiciously as computing a depth/disparity map can be rather costly. If the depth/disparity map is likely to be not so good due to a low number of feature matches, it doesn't make a whole lot of sense to compute it in the first place.

Let's see what happens when the minimum number of matches is raised to 200, all other variables remaining the same.


Animated gif showing the dense reconstruction obtained with MVS10 using minimum number of matches = 200. The dense 3D scene reconstruction has 2,325,476 3D points.

Input "mvs10_input.txt" used:

duh.nvm
200
0.5
32
0.9
30.0
10.0
4
0
4
1
0.5
3
2.0
1

In this case, it's probably better to use a minimum number of matches equal to 200 for two reasons:
1) the number of 3D points is larger (albeit slightly) and
1) it requires less cpu time to run MVS10.

No comments:

Post a Comment