Tuesday, August 2, 2016

Multi View Stereo - Harry Race mausoleum


Input to SfM10 (Structure from Motion):

Number of cameras = 9
Image name for camera 0 = IMG_0164_00.jpg
Focal length for camera 0 = 2304
Image name for camera 1 = IMG_0164_01.jpg
Focal length for camera 1 = 2304
Image name for camera 2 = IMG_0164_02.jpg
Focal length for camera 2 = 2304
Image name for camera 3 = IMG_0164_03.jpg
Focal length for camera 3 = 2304
Image name for camera 4 = IMG_0164_04.jpg
Focal length for camera 4 = 2304
Image name for camera 5 = IMG_0164_05.jpg
Focal length for camera 5 = 2304
Image name for camera 6 = IMG_0164_06.jpg
Focal length for camera 6 = 2304
Image name for camera 7 = IMG_0164_07.jpg
Focal length for camera 7 = 2304
Image name for camera 8 = IMG_0164_08.jpg
Focal length for camera 8 = 2304
Number of trials (good matches) = 10000
Max number of iterations (Bundle Adjustment) = 1000
Min separation angle (low-confidence 3D points) = 0.1
Max reprojection error (low-confidence 3D points) = 2
Radius (animated gif frames) = 10
Angle amplitude (animated gif frames) = 2

I computed the focal length by using the formula: f = "max image dimension" * 1.2. When running SfM10, keep an eye on the number of 3D points that get rejected due to the reprojection error right after the initial pair has been selected. If it's high, something is amiss, and it's probably the focal lengths that are to blame. If you want to change the focal lengths after SfM10 has been run, the file "initial_camera_pair.sfm" should be deleted (only that "sfm"file) before re-running SfM10.

Animated wiggle gif:


Input to MVS10 (Multi-View Stereo):

nvm file = duh.nvm
Min match number (camera pair selection) = 100
Min average separation angle (camera pair selection) = 0.1
radius (disparity map) = 16
alpha (disparity map) = 0.9
color truncation (disparity map) = 30
gradient truncation (disparity map) = 10
epsilon = 255^2*10^-4 (disparity map)
disparity tolerance (disparity map)= 0
downsampling factor (disparity map)= 4
sampling step (dense reconstruction)= 1
Min separation angle (low-confidence 3D points) = 0.1
Min image point number (low-confidence 3D points) = 3
Max reprojection error (low-confidence image points) = 2
Radius (animated gif frames) = 1
Angle amplitude (animated gif frames) = 2

I used a downsampling equal to 4 in order to speed up the process. If the downsampling is set to 2 instead of 4, the running time will increase by about a factor 8 (2*2*2). That's almost an order of magnitude.

Animated wiggle gif:


Sketchfab viewer:


SfM10 and MVS10 are available for download at 3D Software.

No comments:

Post a Comment