OpenSfM

mapillaryBSD-2-Clause活跃维护

开源的运动恢复结构(SfM)流水线,从多张照片自动重建三维场景和相机位姿,适合做摄影测量与三维建模。

Open source Structure-from-Motion pipeline

v0.5.1发布于 2020-08-11 09:59 UTC3,818star899fork同步于 2026-11-10 05:39 UTC

怎么上手

由 README 提炼,执行前请确认
README 未给出安装命令,仅链接到 https://opensfm.org/docs/building.html 的构建说明
硬件要求按 README 说明

README 未说明

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

Python 编写的 Structure from Motion 库,从多张图片重建相机位姿和三维场景

开源的运动恢复结构(SfM)流水线,从多张照片自动重建三维场景和相机位姿,适合做摄影测量与三维建模。

核心能力

  • 提供特征检测与匹配、最小求解器等 SfM 基础模块
  • 构建稳健可扩展的重建流水线,输出相机位姿与三维点云
  • 融合 GPS、加速度计等外部传感器数据做地理对齐
  • 附带 JavaScript 查看器用于预览模型和调试流水线

容易踩的坑

该仓库已停止活跃开发,官方建议改用新的 OpenSfM/OpenSfM 仓库;安装与运行步骤需查阅外部文档站点,README 本身不含命令

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.5.1
  1. v0.5.1最新正式版2020-08-11 · 2020-08-11 09:59 UTC

    Added

    • Switch from python+OpenCV to internal C++ camera models
    • Switch from python to internal C++ tracks manager
    • COLMAP import script

    Changed

    • Docker images : Ubuntu 20.04 (python3), Ubuntu 19.10 (python2)

    Improved

    • Reprojection derivatives are now computed analytically instead of autodiff-ed (20%-45% speed-up on opensfm reconstruct)
    • Phantom4 sensor width @pierotofy
    • Fixed CLANG compilation
  2. v0.4.02020-04-23 · 2020-04-23 12:43 UTC
    查看更新说明

    Added

    • Internal geometric solvers and RANSAC

    Changed

    • Undistorted images, masks and depthmaps are now under the undistorted folder. Use the bin/migrate_undistort.sh script to port old datasets to the new folder structure.
    • Removed dependency on opengv
    • Restructured c++ code

    Improved

    • Undistorting 16bit images now produces 16bit undistorted images. @pierotofy
    • Fix bug on multiple reconstruction alignment. @linusmartensson
  3. v0.3.02019-12-11 · 2019-12-11 20:22 UTC
    查看更新说明

    Added

    • Matching:
      • Bag-of-words pair selection
      • VLAD pair selection
      • Words based matching

    Changed

    • Local bundle adjustment is used by default
    • extract_metadata extracts exif only once
    • Changed default FLANN parameters for faster, less precise matching
    • Require cmake version 3 or later

    Improved

    • Faster local bundle adjustment by limiting the neighborhood and the number of iterations
    • New GCP file format allows for GCPs without known world coordinates
  4. v0.2.02018-03-01 · 2018-03-01 22:35 UTC
    查看更新说明

    Added

    • Python 3 support. @spease
    • Brown-Conrady camera model. @bdholt1
    • reporting
    • docs on coordinates systems and incremental reconstruction pipeline. @jdjakub, @bryanibit
    • export reconstruction in proj4 geographic coordinates

    Improved

    • improved initialization for planar scenes
    • support for recent (1.65+) versions of boost python. @spease
    • fix bug when using GCP. @jhacsonmeza
    • better navigation for 360 images. @mpetroff
    • use loky for better exception handling when using multi-processing. @pierotofy
  5. v0.1.02017-06-22 · 2017-06-22 12:53 UTC
    查看更新说明

    Added

    • Add option local_bundle_radius to run bundle adjustment locally around the last added image
    • Add optionoptimize_camera_parameters to optimize or not the internal camera parameters
    • Add tools to split large datasets into multiple submodels and align them a posteriori

    Changed

    • run_all command is now named opensfm_run_all
    • Features are now saved in the features folder. The feature type is no longer used to name the feature folder and files
    • The option bundle_use_gps is now true by default.
    • Update openMVS exporter with current master Interface.h

    Improved

    • Speed up the search for candidate matching images
    • Open binary file in binary mode under Windows

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    NOTE: This repository is no longer under active development. Please use the new OpenSfM repository instead.

    OpenSfM

    Conda Docker Ubuntu 20.04 Docker Ubuntu 24.04

    Overview

    OpenSfM is a Structure from Motion library written in Python. The library serves as a processing pipeline for reconstructing camera poses and 3D scenes from multiple images. It consists of basic modules for Structure from Motion (feature detection/matching, minimal solvers) with a focus on building a robust and scalable reconstruction pipeline. It also integrates external sensor (e.g. GPS, accelerometer) measurements for geographical alignment and robustness. A JavaScript viewer is provided to preview the models and debug the pipeline.

    Checkout this blog post with more demos

    Getting Started

    License

    OpenSfM is BSD-style licensed, as found in the LICENSE file. See also the Facebook Open Source Terms of Use and Privacy Policy