Skip to content

🏯 A structure from motion (SfM) pipeline implemented for my final year project (BA Computer Science).

License

Notifications You must be signed in to change notification settings

meganelisabethfinch/StructureFromMotion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏯 Structure From Motion

Disclaimer: Zhang bundle adjustment is still a work in progress. Don't expect these methods to work yet!

⌨️ Command Line Interface

Mandatory Arguments

  • --input or -i "/path/to/input/directory"

Optional Arguments

  • --output or -o "/path/to/output/directory"
  • --output_format or -g "OUTPUT_FORMAT". The point cloud and cameras positions will be written to a .ply file by default, but additional output formats can be specified. Allowed values are
    • PLY_POINT_CLOUD
    • PLY_CAMERAS
    • PCD_POINT_CLOUD
    • VTK_MESH
    • TXT_REPORT
  • --calibration or -c "/path/to/calibration/directory". If used, the camera is calibrated from images in this directory, and the following assumptions are made: the images in the input and calibration directories were all taken with the same camera, and thus have the same dimensions, focal length and distortion. If not used, the intrinsic camera matrix is initialised with a default focal length and the camera centre adjusted to the size of each image.
  • --baseline or -b "IMAGE_INDEX". The pair of images to be used as the baseline of the reconstruction.
  • --detector or -d "DETECTOR_TYPE". The type of feature detector used. Allowed values are
    • SIFT
    • ORB
  • --triangulator or -t "TRIANGULATOR_TYPE". The triangulation method used. Allowed values are
    • LINEAR
    • MIDPOINT
  • --bundle_adjuster or -a "BUNDLE_ADJUSTER_TYPE". The bundle adjustment method used. Allowed values are
    • OFF: no bundle adjustment is applied.
    • BASIC: bundle adjustment minimises the overall reprojection error.
    • ZHANG: bundle adjustment minimises the error as defined by Zhang et al. in [1].
  • --filter or -f "FILTER_TYPE". A filter to be applied upon registering each image. Each filter removes certain outliers. Allowed values are
    • STATISTICAL
    • RADIAL
  • --loss or -l "LOSS_TYPE". Changes the loss function used during bundle adjustment. Allowed values are

📚 Sources

[1] J. Zhang, M. Boutin, and D. G. Aliaga, “Robust bundle adjustment for structure from motion,” in 2006 International Conference on Image Processing, pp. 2185–2188, IEEE, 2006.

About

🏯 A structure from motion (SfM) pipeline implemented for my final year project (BA Computer Science).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published