openMVG CLI详解

openMVG官网文档如下:

openMVG libraries — openMVG library

在阅读openMVG文档时发现有一些参数选项没有在官方文档里提到,一些CLI的名称没有在官方文档里更新,一些可选的CLI用法没有在官方文档里记录,因此写下本篇博客,希望对研究MVS的同好有所帮助。

此外,本套CLI不稳定,有时会出现如下情况导致无法使用:

“拒绝访问:此应用无法在你的电脑上运行,若要找到适用你电脑的版本,请咨询软件发布者”

对此报错我没有找到诱因以及解决方案,我的处理方式是编译openMVG成功后将CLI文件夹备份存档,如果发生上述报错即刻回档。

openMVG_main_SfMInit_ImageListing:

openMVG_main_SfMInit_ImageListing这个工具是整个openMVG流程的起始,目标是生成记载图片名称、图片大小、辐射定标信息的sfm_data.json文件。

使用形制用例如下:

"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_SfMInit_ImageListing.exe" ^
  -i D:\test ^
  -o D:\test\out ^
  --use_pose_prior 1 ^
  -k 3729;0;2640;0;3729;1978;0;0;1

必须参数:

  • [-i|–imageDirectory]
  • [-o|–outputDirectory]

可选参数:

  • [-f|–focal] (value in pixels)
  • [-k|–intrinsics] K矩阵,形如: “f;0;ppx;0;f;ppy;0;0;1”
  • [--use_pose_prior|--GPS信息] 是否启用先验位姿

注意f为像素焦距,k为镜头的k矩阵,以大疆M3M为例:

其ppx即为5280/2=2640,

其ppy即为3956/2=1978。

像素焦距计算公式为:

带入上式可计算得到:

f=5280*12.29/17.4=3729。

注意-f参数与-k参数不可共存,

因此以本例,输入应为:

"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_SfMInit_ImageListing.exe" -i D:\test -o D:\test\out -k 3729;0;2640;0;3729;1978;0;0;1 --use_pose_prior 1

或:

"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_SfMInit_ImageListing.exe" -i D:\test -o D:\test\out -f 3729 --use_pose_prior 1

得到sfm_data.json说明此步骤运算成功,内容如下:

"sfm_data_version": "0.3",
"root_path": "D:\\test",
"views": [
  {
    "key": 0,
    "value": {
      "polymorphic_id": 2147483649,
      "polymorphic_name": "view_priors",
      "ptr_wrapper": {
        "id": 2147483649,
        "data": {
          "local_path": "",
          "filename": "DJI_20240719102457_0048_D.JPG",
          "width": 5280,
          "height": 3956,
          "id_view": 0,
          "id_intrinsic": 0,
          "id_pose": 0,
          "use_pose_center_prior": true,
          "center_weight": [
            1.0,
            1.0,
            1.0
          ],
          "center": [
            -2623705.042300526,
            3977050.0632113099,
            4226251.519788439
          ]
        }
      }
    }
  },
  {
    "key": 1,
    "value": {
      "polymorphic_id": 1,
      "ptr_wrapper": {
        "id": 2147483650,
        "data": {
          "local_path": "",
          "filename": "DJI_20240719102502_0049_D.JPG",
          "width": 5280,
          "height": 3956,
          "id_view": 1,
          "id_intrinsic": 0,
          "id_pose": 1,
          "use_pose_center_prior": true,
          "center_weight": [
            1.0,
            1.0,
            1.0
          ],
          "center": [
            -2623682.1806975656,
            3977063.644023109,
            4226252.953000385
          ]
        }
      }
    }
  },

openMVG_main_ComputeFeatures:

使用示例:

"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_ComputeFeatures.exe" ^
  -i D:\test\out\sfm_data.json ^
  -o D:\test\out ^
  -m SIFT -p HIGH -n 4

必须参数:

[-i|–input_file] sfm_data.json文件所在地址。

[-o|–outdir path] .DESC与.FEAT输出所在地址。

可选参数:

  • [-f|–force: Force to recompute data]
    • 0: (默认)重新加载以前计算的数据
    • 1: 强制重新计算
  • [-m|–describerMethod]
    • SIFT: (default),
    • AKAZE_FLOAT: AKAZE with floating point descriptors,
    • AKAZE_MLDB: AKAZE with binary descriptors.
  • [-p|–describerPreset]
    • NORMAL,
    • HIGH,
    • ULTRA.

openMVG_main_ListMatchingPairs(可选):

根据已有的特征文件(.feat/.desc)和配对策略,列出所有“可能需要做特征匹配”的图像对,并生成一个 pair_list.txt 供后续 ComputeMatches 使用。

(1)穷举匹配(默认方式):

"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_ListMatchingPairs.exe" ^
  -i D:\test\out\sfm_data.json ^
  -o D:\test\out\pair_list.txt ^
  -E

是没有什么意义的操作,因为下一步ComuputeMatches本就使用穷举匹配,其产生的pair_list.txt如下:

0 1
0 2
0 3
0 4
1 2
1 3
1 4
2 3
2 4
3 4

如有104张相片,则其生成的相片对儿则为:5*(5-1)/2=10对。

(2)GPS 邻域匹配

"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_ListMatchingPairs.exe" ^
  -i D:\test\out\sfm_data.json ^
  -o D:\test\out\pair_list.txt ^
  -G ^
  -n 8

无人机/相机带 GPS,按距离找最近的 8 张,如想运用此等匹配方式,续在初始化时录入先验信息,否则该匹配会报错。

openMVG_main_ComputeMatches:

openMVG_main_ComputeMatches这个工具是本条工具链中最耗费时间的一个,也是本人认为最重要的一条工具链,使用示例如下:

"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_ComputeMatches.exe" ^
 -i D:\test\out\sfm_data.json ^
 -o D:\test\out\matches.f.bin ^
 -p D:\test\out\pair_list.txt ^
 -r 1.6

注意:

1、如果选择执行-p D:\test\out\pair_list.txt ^则必须运行openMVG_main_ListMatchingPairs,否则本步运行时会报错。

2、必须将输出文件命名为matches.f.bin,否则下一步时运行会报错。

挑选输出日志的最后一条说明:

INFO: [graph_stats.hpp:53] Graph statistics:
        #nodes: 15
        #cc: 1
        #singleton: 0
        Node degree statistics: min: 14, max: 14, mean: 14, median: 14

node15说明有15张相片参与匹配,cc=1说明有一个连通分量。

openMVG_main_exportMatches(可选):

"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_exportMatches.exe" ^
  -i "D:\test\out\sfm_data.json" ^
  -d "D:\test\out" ^
  -m "matches.f.bin" ^
  -o "D:\test\out"

没啥用,打开是这样的。

openMVG_main_SfM:

旧版openMVG资料中提到的openMVG_main_IncrementalSfM已不复存在,新版 openMVG把此CLI改名为openMVG_main_SfM。

使用示例:

"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_SfM.exe" ^
 -s INCREMENTAL ^
 -i D:\test\out\sfm_data.json ^
 -m D:\test\out ^
 -o D:\test\reconstruction

读一下输出日志:

D:\test>"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_SfM.exe" ^
More?  -s INCREMENTAL ^
More?  -i D:\test\out\sfm_data.json ^
More?  -m D:\test\out ^
More?  -o D:\test\reconstruction
INFO: [main_SfM.cpp:157]
-----------------------------------------------------------
 Structure from Motion:
-----------------------------------------------------------
INFO: [loggerprogress.hpp:79] [- Features Loading -] 20%
INFO: [loggerprogress.hpp:79] [- Features Loading -] 40%
INFO: [loggerprogress.hpp:79] [- Features Loading -] 60%
INFO: [loggerprogress.hpp:79] [- Features Loading -] 80%
INFO: [loggerprogress.hpp:79] [- Features Loading -] 100%
INFO: [sequential_SfM.cpp:278] Track building
INFO: [sequential_SfM.cpp:281] Track filtering
INFO: [sequential_SfM.cpp:283] Track export to internal struct
INFO: [sequential_SfM.cpp:309]
------------------
-- Tracks Stats --
 Tracks number: 140545
 Images Id:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
------------------
TrackLength, Occurrence
        2       94962
        3       27027
        4       10886
        5       4614
        6       1761
        7       774
        8       333
        9       122
        10      47
        11      15
        12      3
        13      1

Tracks number: 140545意思是找到了140545个3D点的候选,这140545并不是都会被重建出来。

TrackLength(被几张图看到)

Occurrence(出现次数)

例子

2

94 962

94 962 个 3D 点 只在 2 张图 里出现

3

27 027

27 027 个 3D 点3 张图 里出现

4

10 886

13

1

只有 1 个 3D 点13 张图 同时看到

TrackLength = 这个 3D 点被多少张图同时观测到;数字越大,说明该点越可靠。

INFO: [loggerprogress.hpp:79] [Selection of an initial pair] 10%
INFO: [loggerprogress.hpp:79] [Selection of an initial pair] 20%
INFO: [loggerprogress.hpp:79] [Selection of an initial pair] 30%
INFO: [loggerprogress.hpp:79] [Selection of an initial pair] 40%
INFO: [loggerprogress.hpp:79] [Selection of an initial pair] 50%
INFO: [loggerprogress.hpp:79] [Selection of an initial pair] 60%
INFO: [loggerprogress.hpp:79] [Selection of an initial pair] 70%
INFO: [loggerprogress.hpp:79] [Selection of an initial pair] 80%
INFO: [loggerprogress.hpp:79] [Selection of an initial pair] 90%
INFO: [loggerprogress.hpp:79] [Selection of an initial pair] 100%
INFO: [sequential_SfM.cpp:495] Putative starting pair info:
index:(4,6)
view basename:(DJI_20240719102638_0079_D,DJI_20240719102706_0091_D)
INFO: [sequential_SfM.cpp:538] Relative pose a-contrario upper_bound residual is: 250.093

openMVG 已经 自动挑出第 4 张和第 6 张图作为“种子”(起始相机对),并算出了它们之间的 相对位姿(旋转 + 平移),误差 250 像素(还在可接受范围),重建正式开始

接着openMVG.exe会经历数次重定位,下面是重定位部分的日志分段解读。

INFO: [sfm_data_BA_ceres.cpp:513]
Bundle Adjustment statistics (approximated RMSE):
 #views: 2
 #poses: 2
 #intrinsics: 1
 #tracks: 2483
 #residuals: 9932
 Initial RMSE: 44.4043
 Final RMSE: 39.2986
 Time (s): 22.1649
--
 Used motion prior: 0

字段

含义

#views: 2

当前 已参与优化的相机视图 数量(2 幅图)。

#poses: 2

当前 已估计出的相机外参(位姿)数量,与 views 一致。

#intrinsics: 1

当前 已估计的相机内参 组数;所有图共用一套内参。

#tracks: 2 483

已生成的 3D 轨迹(空间点) 数量。

#residuals: 9 932

优化时 总的重投影误差项 数量(≈ 2 483 点 × 2 图 × 2 坐标)。

Initial RMSE: 44.40 px

优化前 平均重投影误差(像素)。

Final RMSE: 39.30 px

优化后 平均重投影误差(像素)。

Time: 22.16 s

本次 Bundle Adjustment 耗时

Used motion prior: 0

未使用 GPS/IMU 先验,纯靠图像数据。

INFO: [sequential_SfM.cpp:648]
=========================
 MSE Residual InitialPair Inlier:

INFO: [sequential_SfM.cpp:733]
SequentialSfMReconstructionEngine::ComputeResidualsMSE.
        -- #Tracks:     1775
        -- Residual min:        0.000566776
        -- Residual median:     7.96736
        -- Residual max:         246.478
        -- Residual mean:        18.3262

字段

含义

#Tracks: 1 775

这两张图共同观测到的 3D 点数量(轨迹)。

Residual min

最小重投影误差(像素)→ 0.0006 px,接近完美。

Residual median

中位数误差 → 7.97 px,一半的点误差 ≤ 7.97 px。

Residual max

最大误差 → 246 px,通常是外点或误匹配

Residual mean

平均误差 → 18.3 px,整体水平(后续会再降)。

INFO: [sequential_SfM.cpp:932] -- Trying robust Resection of view: 5
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-583.724 inliers=735/1231 precisionNormalized=0.0158319 precision=469.2 (iter=0 ,sample=1002,167,1115,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-624.815 inliers=377/1231 precisionNormalized=0.000845997 precision=108.462 (iter=3 ,sample=441,521,1119,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-930.434 inliers=424/1231 precisionNormalized=0.000283866 precision=62.8274 (iter=3 ,sample=441,521,1119,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-1150.36 inliers=702/1231 precisionNormalized=0.00209171 precision=170.547 (iter=5 ,sample=872,831,546,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-1337.72 inliers=1061/1231 precisionNormalized=0.0106084 precision=384.076 (iter=7 ,sample=612,496,590,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-1650.18 inliers=1041/1231 precisionNormalized=0.00480216 precision=258.411 (iter=10 ,sample=724,504,352,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-1693.4 inliers=1046/1231 precisionNormalized=0.00449041 precision=249.882 (iter=11 ,sample=1163,933,683,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-1711.36 inliers=1100/1231 precisionNormalized=0.00586067 precision=285.474 (iter=21 ,sample=363,769,650,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-1761.9 inliers=1149/1231 precisionNormalized=0.00694758 precision=310.82 (iter=42 ,sample=619,531,793,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-1922.79 inliers=1097/1231 precisionNormalized=0.00369328 precision=226.62 (iter=43 ,sample=1128,759,1016,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-1976.35 inliers=1099/1231 precisionNormalized=0.00334 precision=215.509 (iter=96 ,sample=1164,1168,345,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2120.27 inliers=1126/1231 precisionNormalized=0.00292757 precision=201.765 (iter=126 ,sample=146,729,984,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2193.79 inliers=1086/1231 precisionNormalized=0.00194293 precision=164.369 (iter=241 ,sample=825,1056,826,)
INFO: [SfM_Localizer.cpp:333]
-------------------------------
-- Robust Resection statistics:
-- Resection status: 1
-- #Points used for Resection: 1231
-- #Points validated by robust Resection: 1086
-- Threshold: 164.369
-------------------------------

字段

含义

Resection status: 1

成功(0 表示失败)。

#Points used: 1231

1231 个候选 2D-3D 对应去定位这张新图。

#Points validated: 1086

最终有 1086 个内点通过 RANSAC 验证,远超最低要求。

Threshold: 164.369

最终重投影误差阈值(像素),后续 Bundle Adjustment 会把它压得更低。

最终是重定位(Resection)的最终统计摘要:

INFO: [sequential_SfM.cpp:733]
SequentialSfMReconstructionEngine::ComputeResidualsMSE.
        -- #Tracks:     421
        -- Residual min:        4.53392e-05
        -- Residual median:     0.107564
        -- Residual max:         3.38666
        -- Residual mean:        0.280224
INFO: [sequential_SfM.cpp:235]
-------------------------------
-- Structure from Motion (statistics):
-- #Camera calibrated: 13 from 15 input images.
-- #Tracks, #3D points: 421
-------------------------------

Histogram of residuals:
0       |       1185
0.339   |       289
0.677   |       121
1.02    |       51
1.35    |       18
1.69    |       7
2.03    |       9
2.37    |       2
2.71    |       0
3.05    |       1
3.39

INFO: [main_SfM.cpp:618]  Total Sfm took (s): 2599
INFO: [main_SfM.cpp:620] ...Generating SfM_Report.html
INFO: [main_SfM.cpp:625] ...Export SfM_Data to disk.

这段日志是 SfM(Structure from Motion)全部完成的最终结果。

#Camera calibrated: 13 from 15 input images.

  • 15 张照片里,13 张成功注册到 3D 场景
  • 剩下 2 张因视角/遮挡/匹配不足等原因 被剔除(属正常)

#Tracks, #3D points: 421

  • 最终生成 421 个稀疏 3D 点(即 421 条“轨迹”)

最终产出列表如下:

00000000_Resection.ply
00000001_Resection.ply
00000002_Resection.ply
00000003_Resection.ply
cloud_and_poses.ply
initialPair.ply
Reconstruction_Report.html
residuals_histogram.svg
SfMReconstruction_Report.html
sfm_data.bin

0000000_Resection.ply ~ 00000003_Resection.ply是重定位过程中的稀疏点云文件,不太准确,可以用cloudcompare打开。

cloud_and_poses.ply是最终稀疏点云加位姿的可视化文件,可以用cloudcompare打开,如下所示:

其中白色的是稀疏点云,绿色的是位姿。

initialPair.ply是从第一对图像(通常是匹配度最高的)重建的初始点云,是整个 SfM 的起点。

Reconstruction_Report.html / SfMReconstruction_Report.html是重建过程的报告。

residuals_histogram.svg残差分布直方图。

sfm_data.bin完整的 SfM 数据文件(二进制格式),用于后续步骤。

openMVG_main_ConvertSfM_DataFormat(可选):

从sfm结果中提取位姿文件:

"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_ConvertSfM_DataFormat.exe" ^
  -i D:\test\reconstruction\sfm_data.bin ^
  -o D:\test\reconstruction\sfm_data_pose.json ^
  -E

位姿文件如下:

{
  "sfm_data_version": "0.3",
  "root_path": "D:\\test",
  "views": [],
  "intrinsics": [],
  "extrinsics": [
    {
      "key": 0,
      "value": {
        "rotation": [
          [
            0.9965679318761698,
            -0.02091007672089604,
            -0.08009448075604335
          ],
          [
            0.018885075253284309,
            0.9994846521974721,
            -0.025957348754758217
          ],
          [
            0.08059597439532414,
            0.02435567106906728,
            0.9964492411548336
          ]
        ],
        "center": [
          -0.06473362576833615,
          -0.0039566809550143099,
          0.03479580992933211
        ]
      }
    },
    ...省略了

从sfm结果中提取点云文件:

"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_ConvertSfM_DataFormat.exe" ^
  -i D:\test\reconstruction\sfm_data.bin ^
  -o D:\test\reconstruction\sfm_data.ply ^
  -S

在meshlab中打开效果如下:

注意,本CLI没有输出提示。

openMVG_main_ComputeSfM_DataColor(可选):

将初始点云转化为彩色点云:

"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_ComputeSfM_DataColor.exe" ^
  -i D:\test\reconstruction\sfm_data.bin ^
  -o D:\test\reconstruction\sparse.ply

效果如下所示:

openMVG_main_openMVG2openMVS:

将sfm_data.bin转化为scene.mvs,供后续处理:

"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_openMVG2openMVS.exe" ^
  -i "D:\test\reconstruction\sfm_data.bin" ^
  -o "D:\test\reconstruction\scene.mvs"

这个还没有细研究,打算等下次再更。

附录1,CMD中CLI全流程:

D:\test>"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_SfMInit_ImageListing.exe" -i D:\test -o D:\test\out -k 2905.88;0;1416;0;2905.88;1064;0;0;1
INFO: [main_SfMInit_ImageListing.cpp:194]  You called : D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_SfMInit_ImageListing.exe
--imageDirectory D:\test
--sensorWidthDatabase
--outputDirectory D:\test\out
--focal -1
--intrinsics 2905.88;0;1416;0;2905.88;1064;0;0;1
--camera_model 3
--group_camera_model 1
--use_pose_prior 0
--prior_weights 1.0;1.0;1.0
--gps_to_xyz_method 0
INFO: [loggerprogress.hpp:79] [- Listing images -] 100%
INFO: [main_SfMInit_ImageListing.cpp:475] SfMInit_ImageListing report:
listed #File(s): 11
usable #File(s) listed in sfm_data: 11
usable #Intrinsic(s) listed in sfm_data: 1

D:\test>"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_ComputeFeatures.exe" ^
More?   -i D:\test\out\sfm_data.json ^
More?   -o D:\test\out ^
More?   -m SIFT -p HIGH -n 4
INFO: [main_ComputeFeatures.cpp:120]  You called :
D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_ComputeFeatures.exe
--input_file D:\test\out\sfm_data.json
--outdir D:\test\out
--describerMethod SIFT
--upright 0
--describerPreset HIGH
--force 0
--numThreads 4

INFO: [loggerprogress.hpp:79] [- EXTRACT FEATURES -] 100%
INFO: [main_ComputeFeatures.cpp:343] Task done in (s): 55

D:\test>"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_ListMatchingPairs.exe" ^
More?   -i D:\test\out\sfm_data.json ^
More?   -o D:\test\out\pair_list.txt ^
More?   -E
INFO: [main_ListMatchingPairs.cpp:85]
-----------------------------------------------------------
Compute a view pair list file for main_ComputeMatches:
 - various pair modes are available to adapt to user dataset
   configuration.
-----------------------------------------------------------
INFO: [main_ListMatchingPairs.cpp:125]  You called :
D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_ListMatchingPairs.exe
--input_file D:\test\out\sfm_data.json
--output_file D:\test\out\pair_list.txt
Optional parameters:
--exhaustive_mode ON
--video_mode OFF
--gps_mode OFF

INFO: [main_ListMatchingPairs.cpp:163] Loaded a sfm_data scene with:
 #views: 11
INFO: [main_ListMatchingPairs.cpp:309] Exported 55 view pairs
from a view graph that have 55 relative pose pairs.

D:\test>"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_ComputeMatches.exe" ^
More?  -i D:\test\out\sfm_data.json ^
More?  -o D:\test\out\matches.f.bin ^
More?  -p D:\test\out\pair_list.txt ^
More?  -r 0.8
INFO: [main_ComputeMatches.cpp:112]  You called :
D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_ComputeMatches.exe
--input_file D:\test\out\sfm_data.json
--output_file D:\test\out\matches.f.bin
--pair_list D:\test\out\pair_list.txt
Optional parameters:
--force 0
--ratio 0.8
--nearest_matching_method AUTO
--cache_size unlimited
--preemptive_feature_used/count 0 / 200
INFO: [loggerprogress.hpp:79] [- Regions Loading -] 100%
INFO: [main_ComputeMatches.cpp:215]  - PUTATIVE MATCHES -
INFO: [main_ComputeMatches.cpp:236] Using FAST_CASCADE_HASHING_L2 matcher
INFO: [main_ComputeMatches.cpp:309] Running matching on #pairs: 55
INFO: [Cascade_Hashing_Matcher_Regions.cpp:238] Using the OPENMP thread interface
INFO: [loggerprogress.hpp:79] [- Matching -] 20%
INFO: [loggerprogress.hpp:79] [- Matching -] 40%
INFO: [loggerprogress.hpp:79] [- Matching -] 60%
INFO: [loggerprogress.hpp:79] [- Matching -] 80%
INFO: [loggerprogress.hpp:79] [- Matching -] 100%
INFO: [main_ComputeMatches.cpp:355] Task (Regions Matching) done in (s): 309
INFO: [main_ComputeMatches.cpp:358] #Putative pairs: 55
INFO: [graph_stats.hpp:53] Graph statistics:
        #nodes: 11
        #cc: 1
        #singleton: 0
        Node degree statistics: min: 10, max: 10, mean: 10, median: 10
'neato' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

D:\test>"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_SfM.exe" ^
More?  -s INCREMENTAL ^
More?  -i D:\test\out\sfm_data.json ^
More?  -m D:\test\out ^
More?  -o D:\test\reconstruction
INFO: [main_SfM.cpp:157]
-----------------------------------------------------------
 Structure from Motion:
-----------------------------------------------------------
INFO: [loggerprogress.hpp:79] [- Features Loading -] 100%
INFO: [sequential_SfM.cpp:278] Track building
INFO: [sequential_SfM.cpp:281] Track filtering
INFO: [sequential_SfM.cpp:283] Track export to internal struct
INFO: [sequential_SfM.cpp:309]
------------------
-- Tracks Stats --
 Tracks number: 14990
 Images Id:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
------------------
TrackLength, Occurrence
        2       8770
        3       2902
        4       1387
        5       761
        6       467
        7       290
        8       175
        9       104
        10      98
        11      36

INFO: [loggerprogress.hpp:79] [Selection of an initial pair] 20%
INFO: [loggerprogress.hpp:79] [Selection of an initial pair] 40%
INFO: [loggerprogress.hpp:79] [Selection of an initial pair] 60%
INFO: [loggerprogress.hpp:79] [Selection of an initial pair] 80%
INFO: [loggerprogress.hpp:79] [Selection of an initial pair] 100%
INFO: [sequential_SfM.cpp:495] Putative starting pair info:
index:(0,8)
view basename:(100_7100,100_7108)
INFO: [sequential_SfM.cpp:538] Relative pose a-contrario upper_bound residual is: 8.30221
INFO: [sfm_data_BA_ceres.cpp:513]
Bundle Adjustment statistics (approximated RMSE):
 #views: 2
 #poses: 2
 #intrinsics: 1
 #tracks: 642
 #residuals: 2568
 Initial RMSE: 27.9412
 Final RMSE: 26.568
 Time (s): 4.93576
--
 Used motion prior: 0
INFO: [sequential_SfM.cpp:648]
=========================
 MSE Residual InitialPair Inlier:

INFO: [sequential_SfM.cpp:733]
SequentialSfMReconstructionEngine::ComputeResidualsMSE.
        -- #Tracks:     194
        -- Residual min:        0.000370105
        -- Residual median:     0.484967
        -- Residual max:         8.16321
        -- Residual mean:        1.42086
INFO: [sequential_SfM.cpp:932] -- Trying robust Resection of view: 1
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-370.485 inliers=133/145 precisionNormalized=0.000286729 precision=49.2055 (iter=0 ,sample=118,20,131,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-389.28 inliers=122/145 precisionNormalized=8.69365e-05 precision=27.0943 (iter=1 ,sample=135,109,33,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-389.887 inliers=129/145 precisionNormalized=0.000150151 precision=35.6075 (iter=4 ,sample=66,127,138,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-436.53 inliers=125/145 precisionNormalized=4.54147e-05 precision=19.5829 (iter=6 ,sample=15,92,51,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-441.526 inliers=124/145 precisionNormalized=3.78085e-05 precision=17.8679 (iter=173 ,sample=92,64,80,)
INFO: [SfM_Localizer.cpp:333]
-------------------------------
-- Robust Resection statistics:
-- Resection status: 1
-- #Points used for Resection: 145
-- #Points validated by robust Resection: 124
-- Threshold: 17.8679
-------------------------------
INFO: [sfm_data_BA_ceres.cpp:513]
Bundle Adjustment statistics (approximated RMSE):
 #views: 1
 #poses: 1
 #intrinsics: 1
 #tracks: 124
 #residuals: 248
 Initial RMSE: 5.08299
 Final RMSE: 4.05286
 Time (s): 0.0215036
--
 Used motion prior: 0
INFO: [sequential_SfM.cpp:932] -- Trying robust Resection of view: 2
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-899.899 inliers=744/850 precisionNormalized=0.0122327 precision=321.395 (iter=0 ,sample=692,116,770,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2533.94 inliers=784/850 precisionNormalized=0.000130606 precision=33.2092 (iter=0 ,sample=692,116,770,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2620.9 inliers=782/850 precisionNormalized=9.83493e-05 precision=28.818 (iter=3 ,sample=207,176,149,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2721.34 inliers=765/850 precisionNormalized=5.75376e-05 precision=22.0421 (iter=12 ,sample=625,231,505,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2788.9 inliers=760/850 precisionNormalized=4.36029e-05 precision=19.1882 (iter=19 ,sample=569,285,560,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2815.38 inliers=755/850 precisionNormalized=3.73577e-05 precision=17.761 (iter=60 ,sample=799,383,59,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2838.79 inliers=743/850 precisionNormalized=2.9012e-05 precision=15.6519 (iter=85 ,sample=364,674,11,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2916.05 inliers=741/850 precisionNormalized=2.20867e-05 precision=13.6566 (iter=92 ,sample=768,385,812,)
INFO: [SfM_Localizer.cpp:333]
-------------------------------
-- Robust Resection statistics:
-- Resection status: 1
-- #Points used for Resection: 850
-- #Points validated by robust Resection: 741
-- Threshold: 13.6566
-------------------------------
INFO: [sfm_data_BA_ceres.cpp:513]
Bundle Adjustment statistics (approximated RMSE):
 #views: 1
 #poses: 1
 #intrinsics: 1
 #tracks: 741
 #residuals: 1482
 Initial RMSE: 3.54883
 Final RMSE: 3.14944
 Time (s): 0.0898828
--
 Used motion prior: 0
INFO: [sequential_SfM.cpp:932] -- Trying robust Resection of view: 7
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-384.43 inliers=382/678 precisionNormalized=0.00856686 precision=268.96 (iter=0 ,sample=552,92,614,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-776.87 inliers=316/678 precisionNormalized=0.000220348 precision=43.1352 (iter=0 ,sample=552,92,614,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-843.796 inliers=450/678 precisionNormalized=0.00149314 precision=112.287 (iter=1 ,sample=570,375,520,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-881.361 inliers=501/678 precisionNormalized=0.00237073 precision=141.488 (iter=4 ,sample=473,319,246,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-884.331 inliers=516/678 precisionNormalized=0.00278721 precision=153.413 (iter=8 ,sample=319,352,250,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-986.044 inliers=374/678 precisionNormalized=0.000188369 precision=39.8825 (iter=16 ,sample=126,610,350,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-1009 inliers=494/678 precisionNormalized=0.00119764 precision=100.564 (iter=34 ,sample=83,306,208,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-1098.36 inliers=499/678 precisionNormalized=0.000845232 precision=84.4823 (iter=48 ,sample=458,166,544,)
INFO: [SfM_Localizer.cpp:333]
-------------------------------
-- Robust Resection statistics:
-- Resection status: 1
-- #Points used for Resection: 678
-- #Points validated by robust Resection: 499
-- Threshold: 84.4823
-------------------------------
INFO: [sfm_data_BA_ceres.cpp:513]
Bundle Adjustment statistics (approximated RMSE):
 #views: 1
 #poses: 1
 #intrinsics: 1
 #tracks: 499
 #residuals: 998
 Initial RMSE: 14.6543
 Final RMSE: 13.8892
 Time (s): 0.272608
--
 Used motion prior: 0
INFO: [sequential_SfM.cpp:932] -- Trying robust Resection of view: 3
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-169.664 inliers=782/1529 precisionNormalized=0.0480387 precision=636.903 (iter=0 ,sample=1245,208,1385,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-308.202 inliers=1128/1529 precisionNormalized=0.0758394 precision=800.249 (iter=0 ,sample=1245,208,1385,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-1200.38 inliers=1195/1529 precisionNormalized=0.0156485 precision=363.509 (iter=1 ,sample=390,467,1128,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-1211.32 inliers=1016/1529 precisionNormalized=0.00756161 precision=252.688 (iter=1 ,sample=390,467,1128,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-4165.66 inliers=1351/1529 precisionNormalized=0.000168656 precision=37.738 (iter=1 ,sample=390,467,1128,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-4412.98 inliers=1298/1529 precisionNormalized=7.38573e-05 precision=24.9732 (iter=2 ,sample=1210,1152,487,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-4454.2 inliers=1281/1529 precisionNormalized=5.997e-05 precision=22.5032 (iter=8 ,sample=609,1027,1127,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-4534.87 inliers=1330/1529 precisionNormalized=7.64029e-05 precision=25.3999 (iter=9 ,sample=59,1144,747,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-4614.89 inliers=1317/1529 precisionNormalized=6.00119e-05 precision=22.5111 (iter=10 ,sample=1366,422,778,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-4674.93 inliers=1297/1529 precisionNormalized=4.59351e-05 precision=19.6947 (iter=109 ,sample=1164,420,114,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-4692.88 inliers=1261/1529 precisionNormalized=3.29083e-05 precision=16.6698 (iter=178 ,sample=840,1104,896,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-4779.3 inliers=1257/1529 precisionNormalized=2.71158e-05 precision=15.1317 (iter=241 ,sample=932,1332,1292,)
INFO: [SfM_Localizer.cpp:333]
-------------------------------
-- Robust Resection statistics:
-- Resection status: 1
-- #Points used for Resection: 1529
-- #Points validated by robust Resection: 1257
-- Threshold: 15.1317
-------------------------------
INFO: [sfm_data_BA_ceres.cpp:513]
Bundle Adjustment statistics (approximated RMSE):
 #views: 1
 #poses: 1
 #intrinsics: 1
 #tracks: 1257
 #residuals: 2514
 Initial RMSE: 3.78812
 Final RMSE: 3.46686
 Time (s): 0.141076
--
 Used motion prior: 0
INFO: [sequential_SfM.cpp:932] -- Trying robust Resection of view: 4
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-548.834 inliers=1244/1573 precisionNormalized=0.0588402 precision=704.879 (iter=0 ,sample=1281,213,1424,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-3669.24 inliers=1254/1573 precisionNormalized=0.000193022 precision=40.3721 (iter=0 ,sample=1281,213,1424,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-3881.82 inliers=1299/1573 precisionNormalized=0.000179986 precision=38.985 (iter=9 ,sample=764,1402,959,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-4057.67 inliers=1255/1573 precisionNormalized=9.50884e-05 precision=28.3362 (iter=11 ,sample=1222,1279,1021,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-4129.79 inliers=1296/1573 precisionNormalized=0.000113291 precision=30.9297 (iter=31 ,sample=1145,559,1113,)
INFO: [SfM_Localizer.cpp:333]
-------------------------------
-- Robust Resection statistics:
-- Resection status: 1
-- #Points used for Resection: 1573
-- #Points validated by robust Resection: 1296
-- Threshold: 30.9297
-------------------------------
INFO: [sfm_data_BA_ceres.cpp:513]
Bundle Adjustment statistics (approximated RMSE):
 #views: 1
 #poses: 1
 #intrinsics: 1
 #tracks: 1296
 #residuals: 2592
 Initial RMSE: 6.98246
 Final RMSE: 5.70832
 Time (s): 0.195446
--
 Used motion prior: 0
INFO: [sequential_SfM.cpp:932] -- Trying robust Resection of view: 6
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2356.21 inliers=1197/1503 precisionNormalized=0.00175496 precision=121.734 (iter=0 ,sample=1224,204,1361,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2797.44 inliers=1125/1503 precisionNormalized=0.00046989 precision=62.9906 (iter=1 ,sample=244,1457,720,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2970.18 inliers=1176/1503 precisionNormalized=0.000467827 precision=62.8522 (iter=7 ,sample=1095,1235,929,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2999.16 inliers=1154/1503 precisionNormalized=0.000380629 precision=56.6929 (iter=16 ,sample=998,1231,208,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-3081.43 inliers=1142/1503 precisionNormalized=0.000296546 precision=50.0407 (iter=22 ,sample=912,1134,864,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-3204.9 inliers=1070/1503 precisionNormalized=0.000132342 precision=33.4292 (iter=56 ,sample=1238,985,1269,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-3220.3 inliers=1096/1503 precisionNormalized=0.000157705 precision=36.4923 (iter=178 ,sample=966,1433,497,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-3226.82 inliers=1091/1503 precisionNormalized=0.000149517 precision=35.5323 (iter=247 ,sample=1406,1181,925,)
INFO: [SfM_Localizer.cpp:333]
-------------------------------
-- Robust Resection statistics:
-- Resection status: 1
-- #Points used for Resection: 1503
-- #Points validated by robust Resection: 1091
-- Threshold: 35.5323
-------------------------------
INFO: [sfm_data_BA_ceres.cpp:513]
Bundle Adjustment statistics (approximated RMSE):
 #views: 1
 #poses: 1
 #intrinsics: 1
 #tracks: 1091
 #residuals: 2182
 Initial RMSE: 7.99216
 Final RMSE: 7.65943
 Time (s): 0.236724
--
 Used motion prior: 0
INFO: [sequential_SfM.cpp:932] -- Trying robust Resection of view: 5
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-3600.84 inliers=1503/1937 precisionNormalized=0.000625947 precision=72.702 (iter=0 ,sample=1578,263,1754,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-4287.28 inliers=1321/1937 precisionNormalized=6.94909e-05 precision=24.2238 (iter=4 ,sample=1423,678,1492,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-4322.7 inliers=1386/1937 precisionNormalized=0.000101321 precision=29.2501 (iter=8 ,sample=678,849,1191,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-4346.4 inliers=1336/1937 precisionNormalized=6.95929e-05 precision=24.2415 (iter=60 ,sample=1486,1260,236,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-4362.22 inliers=1344/1937 precisionNormalized=7.15663e-05 precision=24.5828 (iter=65 ,sample=1489,1438,1442,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-4376.9 inliers=1404/1937 precisionNormalized=0.000104043 precision=29.6405 (iter=210 ,sample=1548,1748,50,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-4438.62 inliers=1398/1937 precisionNormalized=9.03885e-05 precision=27.627 (iter=237 ,sample=721,1103,472,)
INFO: [SfM_Localizer.cpp:333]
-------------------------------
-- Robust Resection statistics:
-- Resection status: 1
-- #Points used for Resection: 1937
-- #Points validated by robust Resection: 1398
-- Threshold: 27.627
-------------------------------
INFO: [sfm_data_BA_ceres.cpp:513]
Bundle Adjustment statistics (approximated RMSE):
 #views: 1
 #poses: 1
 #intrinsics: 1
 #tracks: 1398
 #residuals: 2796
 Initial RMSE: 7.20164
 Final RMSE: 5.8632
 Time (s): 0.251374
--
 Used motion prior: 0
INFO: [sfm_data_BA_ceres.cpp:513]
Bundle Adjustment statistics (approximated RMSE):
 #views: 11
 #poses: 9
 #intrinsics: 1
 #tracks: 7736
 #residuals: 43614
 Initial RMSE: 3.86408
 Final RMSE: 1.70673
 Time (s): 83.5872
--
 Used motion prior: 0
INFO: [sfm_data_BA_ceres.cpp:513]
Bundle Adjustment statistics (approximated RMSE):
 #views: 11
 #poses: 9
 #intrinsics: 1
 #tracks: 7161
 #residuals: 40502
 Initial RMSE: 0.618586
 Final RMSE: 0.413712
 Time (s): 36.1851
--
 Used motion prior: 0
INFO: [sfm_data_BA_ceres.cpp:513]
Bundle Adjustment statistics (approximated RMSE):
 #views: 11
 #poses: 9
 #intrinsics: 1
 #tracks: 7118
 #residuals: 40306
 Initial RMSE: 0.371037
 Final RMSE: 0.356604
 Time (s): 27.2485
--
 Used motion prior: 0
INFO: [sequential_SfM.cpp:932] -- Trying robust Resection of view: 9
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=12.0362 inliers=4/1208 precisionNormalized=0.000203133 precision=43.0161 (iter=0 ,sample=984,164,1094,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=8.42439 inliers=19/1208 precisionNormalized=0.00105734 precision=98.1406 (iter=0 ,sample=984,164,1094,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-631.591 inliers=692/1208 precisionNormalized=0.0112794 precision=320.541 (iter=1 ,sample=1008,154,1170,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-1479.3 inliers=739/1208 precisionNormalized=0.0010077 precision=95.8092 (iter=1 ,sample=1008,154,1170,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2995.11 inliers=741/1208 precisionNormalized=8.93276e-06 precision=9.02057 (iter=1 ,sample=1008,154,1170,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-3103.19 inliers=736/1208 precisionNormalized=5.86435e-06 precision=7.30888 (iter=2 ,sample=483,742,893,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-3212.45 inliers=723/1208 precisionNormalized=3.32114e-06 precision=5.50028 (iter=3 ,sample=399,1173,677,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-3255.47 inliers=717/1208 precisionNormalized=2.59233e-06 precision=4.85943 (iter=4 ,sample=633,1197,1148,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-3264.86 inliers=704/1208 precisionNormalized=1.98444e-06 precision=4.25167 (iter=60 ,sample=81,171,253,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-3279.85 inliers=721/1208 precisionNormalized=2.5626e-06 precision=4.8315 (iter=94 ,sample=1002,407,171,)
INFO: [SfM_Localizer.cpp:333]
-------------------------------
-- Robust Resection statistics:
-- Resection status: 1
-- #Points used for Resection: 1208
-- #Points validated by robust Resection: 721
-- Threshold: 4.8315
-------------------------------
INFO: [sfm_data_BA_ceres.cpp:513]
Bundle Adjustment statistics (approximated RMSE):
 #views: 1
 #poses: 1
 #intrinsics: 1
 #tracks: 721
 #residuals: 1442
 Initial RMSE: 0.93545
 Final RMSE: 0.899626
 Time (s): 0.0581348
--
 Used motion prior: 0
INFO: [sfm_data_BA_ceres.cpp:513]
Bundle Adjustment statistics (approximated RMSE):
 #views: 11
 #poses: 10
 #intrinsics: 1
 #tracks: 8400
 #residuals: 47364
 Initial RMSE: 0.437482
 Final RMSE: 0.407857
 Time (s): 24.8722
--
 Used motion prior: 0
INFO: [sequential_SfM.cpp:932] -- Trying robust Resection of view: 10
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-170.938 inliers=501/1256 precisionNormalized=0.0253567 precision=477.813 (iter=0 ,sample=1023,171,1137,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2445.65 inliers=686/1256 precisionNormalized=2.26639e-05 precision=14.2849 (iter=3 ,sample=572,896,279,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2514.8 inliers=684/1256 precisionNormalized=1.74062e-05 precision=12.5188 (iter=4 ,sample=919,522,224,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2718.39 inliers=669/1256 precisionNormalized=6.80836e-06 precision=7.82948 (iter=9 ,sample=1240,1154,1197,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2836.78 inliers=636/1256 precisionNormalized=2.44425e-06 precision=4.69121 (iter=13 ,sample=989,957,1102,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2859 inliers=651/1256 precisionNormalized=2.99182e-06 precision=5.19014 (iter=42 ,sample=1234,980,144,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2859.22 inliers=660/1256 precisionNormalized=3.52577e-06 precision=5.63428 (iter=44 ,sample=776,844,411,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2881.44 inliers=654/1256 precisionNormalized=2.91236e-06 precision=5.12075 (iter=146 ,sample=1135,30,923,)
INFO: [robust_estimator_ACRansac.hpp:440]   nfa=-2884.71 inliers=638/1256 precisionNormalized=2.11656e-06 precision=4.36543 (iter=369 ,sample=1125,1239,917,)
INFO: [SfM_Localizer.cpp:333]
-------------------------------
-- Robust Resection statistics:
-- Resection status: 1
-- #Points used for Resection: 1256
-- #Points validated by robust Resection: 638
-- Threshold: 4.36543
-------------------------------
INFO: [sfm_data_BA_ceres.cpp:513]
Bundle Adjustment statistics (approximated RMSE):
 #views: 1
 #poses: 1
 #intrinsics: 1
 #tracks: 638
 #residuals: 1276
 Initial RMSE: 0.881863
 Final RMSE: 0.818131
 Time (s): 0.0728298
--
 Used motion prior: 0
INFO: [sfm_data_BA_ceres.cpp:513]
Bundle Adjustment statistics (approximated RMSE):
 #views: 11
 #poses: 11
 #intrinsics: 1
 #tracks: 9258
 #residuals: 52134
 Initial RMSE: 0.402402
 Final RMSE: 0.384152
 Time (s): 21.2162
--
 Used motion prior: 0
INFO: [sequential_SfM.cpp:733]
SequentialSfMReconstructionEngine::ComputeResidualsMSE.
        -- #Tracks:     9244
        -- Residual min:        1.43221e-06
        -- Residual median:     0.147909
        -- Residual max:         3.95452
        -- Residual mean:        0.284458
INFO: [sequential_SfM.cpp:235]
-------------------------------
-- Structure from Motion (statistics):
-- #Camera calibrated: 11 from 11 input images.
-- #Tracks, #3D points: 9244
-------------------------------

Histogram of residuals:
0       |       40581
0.395   |       7293
0.791   |       2144
1.19    |       959
1.58    |       460
1.98    |       244
2.37    |       168
2.77    |       117
3.16    |       65
3.56    |       34
3.95

INFO: [main_SfM.cpp:618]  Total Sfm took (s): 423
INFO: [main_SfM.cpp:620] ...Generating SfM_Report.html
INFO: [main_SfM.cpp:625] ...Export SfM_Data to disk.

D:\test>"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_ConvertSfM_DataFormat.exe" ^
More?   -i D:\test\reconstruction\sfm_data.bin ^
More?   -o D:\test\reconstruction\sfm_data_pose.json ^
More?   -E

D:\test>"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_ConvertSfM_DataFormat.exe" ^
More?   -i D:\test\reconstruction\sfm_data.bin ^
More?   -o D:\test\reconstruction\sfm_data.ply ^
More?   -S

D:\test>"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_ComputeSfM_DataColor.exe" ^
More?   -i D:\test\reconstruction\sfm_data.bin ^
More?   -o D:\test\reconstruction\sparse.ply
INFO: [loggerprogress.hpp:79] [- Compute scene structure color -] 10%
INFO: [loggerprogress.hpp:79] [- Compute scene structure color -] 20%
INFO: [loggerprogress.hpp:79] [- Compute scene structure color -] 30%
INFO: [loggerprogress.hpp:79] [- Compute scene structure color -] 40%
INFO: [loggerprogress.hpp:79] [- Compute scene structure color -] 50%
INFO: [loggerprogress.hpp:79] [- Compute scene structure color -] 60%
INFO: [loggerprogress.hpp:79] [- Compute scene structure color -] 70%
INFO: [loggerprogress.hpp:79] [- Compute scene structure color -] 80%
INFO: [loggerprogress.hpp:79] [- Compute scene structure color -] 90%
INFO: [loggerprogress.hpp:79] [- Compute scene structure color -] 100%

D:\test>"D:\openMVG_build\Windows-AMD64-\Debug\openMVG_main_openMVG2openMVS.exe" ^
More?   -i "D:\test\reconstruction\sfm_data.bin" ^
More?   -o "D:\test\reconstruction\scene.mvs"
INFO: [loggerprogress.hpp:79] [- PROCESS VIEWS -] 100%
INFO: [loggerprogress.hpp:79] [- UNDISTORT IMAGES ] 100%
INFO: [main_openMVG2openMVS.cpp:304] Scene saved to OpenMVS interface format:
 #platforms: 1
INFO: [main_openMVG2openMVS.cpp:309]   platform ( 0 ) #cameras: 1
INFO: [main_openMVG2openMVS.cpp:311]   11 images (11 calibrated)
  9244 Landmarks
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值