AIBluefisher / DAGSfM

Distributed and Graph-based Structure from Motion. This project includes the official implementation of our Pattern Recognition 2020 paper: Graph-Based Parallel Large Scale Structure from Motion.
https://aibluefisher.github.io/GraphSfM/
BSD 3-Clause "New" or "Revised" License
395 stars 84 forks source link

Sparse reconstruction gone awry #45

Closed coconiox2 closed 3 years ago

coconiox2 commented 3 years ago

I used 26577 images to execute the sparse reconstruction in a distributed mode.This is my config file. config.txt Here is my log of clusters' merging. Can you tell me how to fix it?

Merging Clusters...

I1229 04:45:27.363883 9689 sfm_aligner.cpp:135] Node id: 0 I1229 04:45:27.363890 9689 sfm_aligner.cpp:137] Total images number: 3839 I1229 04:45:27.363895 9689 sfm_aligner.cpp:135] Node id: 1 I1229 04:45:27.363899 9689 sfm_aligner.cpp:137] Total images number: 3749 I1229 04:45:27.363904 9689 sfm_aligner.cpp:135] Node id: 2 I1229 04:45:27.363909 9689 sfm_aligner.cpp:137] Total images number: 3843 I1229 04:45:27.363914 9689 sfm_aligner.cpp:135] Node id: 3 I1229 04:45:27.363919 9689 sfm_aligner.cpp:137] Total images number: 4500 I1229 04:45:27.363922 9689 sfm_aligner.cpp:135] Node id: 4 I1229 04:45:27.363927 9689 sfm_aligner.cpp:137] Total images number: 3242 I1229 04:45:27.363932 9689 sfm_aligner.cpp:135] Node id: 5 I1229 04:45:27.363936 9689 sfm_aligner.cpp:137] Total images number: 4499 I1229 04:45:27.363941 9689 sfm_aligner.cpp:135] Node id: 6 I1229 04:45:27.363946 9689 sfm_aligner.cpp:137] Total images number: 4005 I1229 04:45:27.363951 9689 sfm_aligner.cpp:156] Constructing Reconstructions Graph... I1229 04:45:27.366039 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:27.590319 9689 sfm_aligner.cpp:122] Find 0 common 3D points. I1229 04:45:27.590349 9689 sfm_aligner.cpp:281] Common registerd images number: 0 W1229 04:45:27.590358 9689 sfm_aligner.cpp:284] Not found enough common registered images. I1229 04:45:27.590502 9689 sfm_aligner.cpp:252] weight: 1.79769e+308 I1229 04:45:27.592366 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:28.145555 9689 sfm_aligner.cpp:122] Find 387546 common 3D points. I1229 04:45:28.145593 9689 sfm_aligner.cpp:281] Common registerd images number: 204 I1229 04:45:28.145598 9689 sfm_aligner.cpp:58] Finding Similarity by RANSAC I1229 04:45:28.481813 9689 sfm_aligner.cpp:61] inliers size: 386618 I1229 04:45:29.138371 9689 sfm_aligner.cpp:45] Mean Reprojection Error: 0.0155374 (6021.45/387546) I1229 04:45:29.141289 9689 sfm_aligner.cpp:58] Finding Similarity by RANSAC I1229 04:45:29.409287 9689 sfm_aligner.cpp:61] inliers size: 386577 I1229 04:45:29.939672 9689 sfm_aligner.cpp:45] Mean Reprojection Error: 0.0190042 (7364.99/387546) I1229 04:45:29.945278 9689 sfm_aligner.cpp:252] weight: 0.0190042 I1229 04:45:29.945710 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:30.159727 9689 sfm_aligner.cpp:122] Find 0 common 3D points. I1229 04:45:30.159759 9689 sfm_aligner.cpp:281] Common registerd images number: 0 W1229 04:45:30.159763 9689 sfm_aligner.cpp:284] Not found enough common registered images. I1229 04:45:30.159797 9689 sfm_aligner.cpp:252] weight: 1.79769e+308 I1229 04:45:30.160231 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:30.278816 9689 sfm_aligner.cpp:122] Find 0 common 3D points. I1229 04:45:30.278846 9689 sfm_aligner.cpp:281] Common registerd images number: 0 W1229 04:45:30.278851 9689 sfm_aligner.cpp:284] Not found enough common registered images. I1229 04:45:30.278873 9689 sfm_aligner.cpp:252] weight: 1.79769e+308 I1229 04:45:30.279755 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:30.621914 9689 sfm_aligner.cpp:122] Find 0 common 3D points. I1229 04:45:30.621943 9689 sfm_aligner.cpp:281] Common registerd images number: 0 W1229 04:45:30.621948 9689 sfm_aligner.cpp:284] Not found enough common registered images. I1229 04:45:30.621968 9689 sfm_aligner.cpp:252] weight: 1.79769e+308 I1229 04:45:30.622593 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:31.218353 9689 sfm_aligner.cpp:122] Find 234671 common 3D points. I1229 04:45:31.218389 9689 sfm_aligner.cpp:281] Common registerd images number: 77 I1229 04:45:31.218394 9689 sfm_aligner.cpp:58] Finding Similarity by RANSAC I1229 04:45:31.393977 9689 sfm_aligner.cpp:61] inliers size: 163991 I1229 04:45:31.676512 9689 sfm_aligner.cpp:45] Mean Reprojection Error: 0.158457 (37185.2/234671) I1229 04:45:31.679580 9689 sfm_aligner.cpp:58] Finding Similarity by RANSAC I1229 04:45:31.824123 9689 sfm_aligner.cpp:61] inliers size: 163991 I1229 04:45:32.044814 9689 sfm_aligner.cpp:45] Mean Reprojection Error: 0.179231 (42060.2/234671) I1229 04:45:32.048002 9689 sfm_aligner.cpp:252] weight: 0.179231 I1229 04:45:32.048887 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:32.506783 9689 sfm_aligner.cpp:122] Find 44714 common 3D points. I1229 04:45:32.506817 9689 sfm_aligner.cpp:281] Common registerd images number: 46 I1229 04:45:32.506825 9689 sfm_aligner.cpp:58] Finding Similarity by RANSAC I1229 04:45:32.607309 9689 sfm_aligner.cpp:61] inliers size: 44710 I1229 04:45:32.670723 9689 sfm_aligner.cpp:45] Mean Reprojection Error: 0.0119704 (535.245/44714) I1229 04:45:32.670778 9689 sfm_aligner.cpp:58] Finding Similarity by RANSAC I1229 04:45:32.801065 9689 sfm_aligner.cpp:61] inliers size: 39550 I1229 04:45:32.833482 9689 sfm_aligner.cpp:45] Mean Reprojection Error: 0.0185236 (828.263/44714) I1229 04:45:32.833528 9689 sfm_aligner.cpp:252] weight: 0.0185236 I1229 04:45:32.835462 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:33.444471 9689 sfm_aligner.cpp:122] Find 374054 common 3D points. I1229 04:45:33.444505 9689 sfm_aligner.cpp:281] Common registerd images number: 137 I1229 04:45:33.444510 9689 sfm_aligner.cpp:58] Finding Similarity by RANSAC I1229 04:45:33.656566 9689 sfm_aligner.cpp:61] inliers size: 357952 I1229 04:45:34.313136 9689 sfm_aligner.cpp:45] Mean Reprojection Error: 0.0259794 (9717.69/374054) I1229 04:45:34.317332 9689 sfm_aligner.cpp:58] Finding Similarity by RANSAC I1229 04:45:34.511260 9689 sfm_aligner.cpp:61] inliers size: 289572 I1229 04:45:35.041162 9689 sfm_aligner.cpp:45] Mean Reprojection Error: 0.0787804 (29468.1/374054) I1229 04:45:35.043924 9689 sfm_aligner.cpp:252] weight: 0.0787804 I1229 04:45:35.045714 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:35.172158 9689 sfm_aligner.cpp:122] Find 0 common 3D points. I1229 04:45:35.172183 9689 sfm_aligner.cpp:281] Common registerd images number: 0 W1229 04:45:35.172186 9689 sfm_aligner.cpp:284] Not found enough common registered images. I1229 04:45:35.172211 9689 sfm_aligner.cpp:252] weight: 1.79769e+308 I1229 04:45:35.176087 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:35.403220 9689 sfm_aligner.cpp:122] Find 0 common 3D points. I1229 04:45:35.403244 9689 sfm_aligner.cpp:281] Common registerd images number: 0 W1229 04:45:35.403247 9689 sfm_aligner.cpp:284] Not found enough common registered images. I1229 04:45:35.403285 9689 sfm_aligner.cpp:252] weight: 1.79769e+308 I1229 04:45:35.404291 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:35.865233 9689 sfm_aligner.cpp:122] Find 3918 common 3D points. I1229 04:45:35.865263 9689 sfm_aligner.cpp:281] Common registerd images number: 5 I1229 04:45:35.865268 9689 sfm_aligner.cpp:58] Finding Similarity by RANSAC I1229 04:45:35.870172 9689 sfm_aligner.cpp:61] inliers size: 3918 I1229 04:45:35.872757 9689 sfm_aligner.cpp:45] Mean Reprojection Error: 0.00435428 (17.0601/3918) I1229 04:45:35.872786 9689 sfm_aligner.cpp:58] Finding Similarity by RANSAC I1229 04:45:35.896416 9689 sfm_aligner.cpp:61] inliers size: 3918 I1229 04:45:35.899204 9689 sfm_aligner.cpp:45] Mean Reprojection Error: 0.00562411 (22.0352/3918) I1229 04:45:35.899233 9689 sfm_aligner.cpp:252] weight: 0.00562411 I1229 04:45:35.902665 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:36.133203 9689 sfm_aligner.cpp:122] Find 0 common 3D points. I1229 04:45:36.133231 9689 sfm_aligner.cpp:281] Common registerd images number: 0 W1229 04:45:36.133235 9689 sfm_aligner.cpp:284] Not found enough common registered images. I1229 04:45:36.133256 9689 sfm_aligner.cpp:252] weight: 1.79769e+308 I1229 04:45:36.133704 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:36.257256 9689 sfm_aligner.cpp:122] Find 0 common 3D points. I1229 04:45:36.257280 9689 sfm_aligner.cpp:281] Common registerd images number: 0 W1229 04:45:36.257284 9689 sfm_aligner.cpp:284] Not found enough common registered images. I1229 04:45:36.257318 9689 sfm_aligner.cpp:252] weight: 1.79769e+308 I1229 04:45:36.257550 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:36.476842 9689 sfm_aligner.cpp:122] Find 0 common 3D points. I1229 04:45:36.476866 9689 sfm_aligner.cpp:281] Common registerd images number: 0 W1229 04:45:36.476868 9689 sfm_aligner.cpp:284] Not found enough common registered images. I1229 04:45:36.476886 9689 sfm_aligner.cpp:252] weight: 1.79769e+308 I1229 04:45:36.478417 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:37.056543 9689 sfm_aligner.cpp:122] Find 155200 common 3D points. I1229 04:45:37.056571 9689 sfm_aligner.cpp:281] Common registerd images number: 60 I1229 04:45:37.056578 9689 sfm_aligner.cpp:58] Finding Similarity by RANSAC I1229 04:45:37.176607 9689 sfm_aligner.cpp:61] inliers size: 125376 I1229 04:45:37.321404 9689 sfm_aligner.cpp:45] Mean Reprojection Error: 0.0230374 (3575.41/155200) I1229 04:45:37.321470 9689 sfm_aligner.cpp:58] Finding Similarity by RANSAC I1229 04:45:37.439064 9689 sfm_aligner.cpp:61] inliers size: 134962 I1229 04:45:37.559798 9689 sfm_aligner.cpp:45] Mean Reprojection Error: 0.0205106 (3183.25/155200) I1229 04:45:37.563163 9689 sfm_aligner.cpp:252] weight: 0.0230374 I1229 04:45:37.563935 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:37.913575 9689 sfm_aligner.cpp:122] Find 58377 common 3D points. I1229 04:45:37.913604 9689 sfm_aligner.cpp:281] Common registerd images number: 35 I1229 04:45:37.913609 9689 sfm_aligner.cpp:58] Finding Similarity by RANSAC I1229 04:45:38.012486 9689 sfm_aligner.cpp:61] inliers size: 44558 I1229 04:45:38.052726 9689 sfm_aligner.cpp:45] Mean Reprojection Error: 0.0502982 (2936.26/58377) I1229 04:45:38.052770 9689 sfm_aligner.cpp:58] Finding Similarity by RANSAC I1229 04:45:38.254508 9689 sfm_aligner.cpp:61] inliers size: 58343 I1229 04:45:38.304793 9689 sfm_aligner.cpp:45] Mean Reprojection Error: 0.0174129 (1016.52/58377) I1229 04:45:38.304852 9689 sfm_aligner.cpp:252] weight: 0.0502982 I1229 04:45:38.307466 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:39.832780 9689 sfm_aligner.cpp:122] Find 2839157 common 3D points. I1229 04:45:39.832850 9689 sfm_aligner.cpp:281] Common registerd images number: 817 I1229 04:45:39.832860 9689 sfm_aligner.cpp:58] Finding Similarity by RANSAC I1229 04:45:43.088070 9689 sfm_aligner.cpp:61] inliers size: 1138915 I1229 04:45:45.376761 9689 sfm_aligner.cpp:45] Mean Reprojection Error: 1.05743 (3.00222e+06/2839157) I1229 04:45:45.379458 9689 sfm_aligner.cpp:58] Finding Similarity by RANSAC I1229 04:45:48.002233 9689 sfm_aligner.cpp:61] inliers size: 1139057 I1229 04:45:50.429663 9689 sfm_aligner.cpp:45] Mean Reprojection Error: 0.420649 (1.19429e+06/2839157) I1229 04:45:50.438668 9689 sfm_aligner.cpp:252] weight: 1.05743 I1229 04:45:50.442749 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:51.161881 9689 sfm_aligner.cpp:122] Find 742475 common 3D points. I1229 04:45:51.161918 9689 sfm_aligner.cpp:281] Common registerd images number: 168 I1229 04:45:51.161923 9689 sfm_aligner.cpp:58] Finding Similarity by RANSAC I1229 04:45:51.785136 9689 sfm_aligner.cpp:61] inliers size: 665476 I1229 04:45:53.292551 9689 sfm_aligner.cpp:45] Mean Reprojection Error: 0.0601869 (44687.3/742475) I1229 04:45:53.295760 9689 sfm_aligner.cpp:58] Finding Similarity by RANSAC I1229 04:45:53.836566 9689 sfm_aligner.cpp:61] inliers size: 671004 I1229 04:45:55.038017 9689 sfm_aligner.cpp:45] Mean Reprojection Error: 0.0358768 (26637.6/742475) I1229 04:45:55.044137 9689 sfm_aligner.cpp:252] weight: 0.0601869 I1229 04:45:55.045604 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:55.419373 9689 sfm_aligner.cpp:122] Find 0 common 3D points. I1229 04:45:55.419399 9689 sfm_aligner.cpp:281] Common registerd images number: 0 W1229 04:45:55.419409 9689 sfm_aligner.cpp:284] Not found enough common registered images. I1229 04:45:55.419442 9689 sfm_aligner.cpp:252] weight: 1.79769e+308 I1229 04:45:55.420361 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:55.603348 9689 sfm_aligner.cpp:122] Find 0 common 3D points. I1229 04:45:55.603392 9689 sfm_aligner.cpp:281] Common registerd images number: 0 W1229 04:45:55.603396 9689 sfm_aligner.cpp:284] Not found enough common registered images. I1229 04:45:55.603411 9689 sfm_aligner.cpp:252] weight: 1.79769e+308 I1229 04:45:55.603761 9689 sfm_aligner.cpp:104] Begin find common 3D points I1229 04:45:55.785889 9689 sfm_aligner.cpp:122] Find 0 common 3D points. I1229 04:45:55.785914 9689 sfm_aligner.cpp:281] Common registerd images number: 0 W1229 04:45:55.785918 9689 sfm_aligner.cpp:284] Not found enough common registered images. I1229 04:45:55.785938 9689 sfm_aligner.cpp:252] weight: 1.79769e+308 I1229 04:45:55.785953 9689 graph.inl:445] [Graph Info] I1229 04:45:55.785960 9689 graph.inl:446] Total nodes: 7 I1229 04:45:55.785982 9689 graph.inl:447] Total edges: 9 I1229 04:45:55.785986 9689 graph.inl:448] [Node]: I1229 04:45:55.786016 9689 graph.inl:452] [Edge]: 0 1 2 3 4 5 6 (3, 6) (3, 5) (3, 4) (2, 6) (1, 6) (1, 3) (1, 2) (0, 6) (0, 2)

I1229 04:45:55.786058 9689 sfm_aligner.cpp:182] Finding Minimum Spanning Tree... I1229 04:45:55.786077 9689 graph.inl:445] [Graph Info] I1229 04:45:55.786082 9689 graph.inl:446] Total nodes: 7 I1229 04:45:55.786087 9689 graph.inl:447] Total edges: 6 I1229 04:45:55.786092 9689 graph.inl:448] [Node]: I1229 04:45:55.786098 9689 graph.inl:452] [Edge]: 0 1 2 3 4 5 6 (3, 5) (3, 6) (3, 4) (0, 2) (1, 2) (1, 6)

I1229 04:45:55.786114 9689 sfm_aligner.cpp:202] Finding Anchor Node... I1229 04:45:55.786123 9689 sfm_aligner.cpp:340] Merging the 1-th layer leaf nodes I1229 04:45:55.786132 9689 sfm_aligner.cpp:353] node: 0, degree: 1 I1229 04:45:55.786137 9689 sfm_aligner.cpp:353] node: 2, degree: 2 I1229 04:45:55.786142 9689 sfm_aligner.cpp:353] node: 6, degree: 2 I1229 04:45:55.786149 9689 sfm_aligner.cpp:353] node: 5, degree: 1 I1229 04:45:55.786152 9689 sfm_aligner.cpp:353] node: 4, degree: 1 I1229 04:45:55.786157 9689 sfm_aligner.cpp:353] node: 3, degree: 3 I1229 04:45:55.786162 9689 sfm_aligner.cpp:353] node: 1, degree: 2 I1229 04:45:55.786168 9689 sfm_aligner.cpp:364] Find node [degree = 1]: 0 I1229 04:45:55.786173 9689 sfm_aligner.cpp:365] 0->2: 0.0190042 I1229 04:45:55.786180 9689 sfm_aligner.cpp:371] Merge Clusters: 0->2: 0.0190042 I1229 04:45:55.786188 9689 graph.inl:445] [Graph Info] I1229 04:45:55.786195 9689 graph.inl:446] Total nodes: 6 I1229 04:45:55.786199 9689 graph.inl:447] Total edges: 5 I1229 04:45:55.786204 9689 graph.inl:448] [Node]: I1229 04:45:55.786211 9689 graph.inl:452] [Edge]: 1 2 3 4 5 6 (3, 5) (3, 6) (3, 4) (1, 2) (1, 6)

I1229 04:45:55.786226 9689 sfm_aligner.cpp:364] Find node [degree = 1]: 5 I1229 04:45:55.786231 9689 sfm_aligner.cpp:365] 3->5: 1.05743 I1229 04:45:55.786237 9689 sfm_aligner.cpp:371] Merge Clusters: 5->3: 1.05743 I1229 04:45:55.786244 9689 graph.inl:445] [Graph Info] I1229 04:45:55.786249 9689 graph.inl:446] Total nodes: 5 I1229 04:45:55.786255 9689 graph.inl:447] Total edges: 4 I1229 04:45:55.786260 9689 graph.inl:448] [Node]: I1229 04:45:55.786265 9689 graph.inl:452] [Edge]: 1 2 3 4 6 (3, 6) (3, 4) (1, 2) (1, 6)

I1229 04:45:55.786279 9689 sfm_aligner.cpp:364] Find node [degree = 1]: 4 I1229 04:45:55.786283 9689 sfm_aligner.cpp:365] 3->4: 0.0502983 I1229 04:45:55.786289 9689 sfm_aligner.cpp:371] Merge Clusters: 4->3: 0.0502983 I1229 04:45:55.786295 9689 graph.inl:445] [Graph Info] I1229 04:45:55.786301 9689 graph.inl:446] Total nodes: 4 I1229 04:45:55.786306 9689 graph.inl:447] Total edges: 3 I1229 04:45:55.786312 9689 graph.inl:448] [Node]: I1229 04:45:55.786317 9689 graph.inl:452] [Edge]: 1 2 3 6 (3, 6) (1, 2) (1, 6)

I1229 04:45:55.786332 9689 sfm_aligner.cpp:340] Merging the 2-th layer leaf nodes I1229 04:45:55.786339 9689 sfm_aligner.cpp:353] node: 2, degree: 1 I1229 04:45:55.786345 9689 sfm_aligner.cpp:353] node: 6, degree: 2 I1229 04:45:55.786348 9689 sfm_aligner.cpp:353] node: 1, degree: 2 I1229 04:45:55.786355 9689 sfm_aligner.cpp:353] node: 3, degree: 1 I1229 04:45:55.786360 9689 sfm_aligner.cpp:364] Find node [degree = 1]: 2 I1229 04:45:55.786365 9689 sfm_aligner.cpp:365] 1->2: 0.0185236 I1229 04:45:55.786370 9689 sfm_aligner.cpp:371] Merge Clusters: 2->1: 0.0185236 I1229 04:45:55.786376 9689 graph.inl:445] [Graph Info] I1229 04:45:55.786381 9689 graph.inl:446] Total nodes: 3 I1229 04:45:55.786399 9689 graph.inl:447] Total edges: 2 I1229 04:45:55.786403 9689 graph.inl:448] [Node]: I1229 04:45:55.786409 9689 graph.inl:452] [Edge]: 1 3 6 (3, 6) (1, 6)

I1229 04:45:55.786422 9689 sfm_aligner.cpp:364] Find node [degree = 1]: 3 I1229 04:45:55.786425 9689 sfm_aligner.cpp:365] 3->6: 0.0601869 I1229 04:45:55.786432 9689 sfm_aligner.cpp:371] Merge Clusters: 3->6: 0.0601869 I1229 04:45:55.786438 9689 graph.inl:445] [Graph Info] I1229 04:45:55.786443 9689 graph.inl:446] Total nodes: 2 I1229 04:45:55.786448 9689 graph.inl:447] Total edges: 1 I1229 04:45:55.786453 9689 graph.inl:448] [Node]: I1229 04:45:55.786458 9689 graph.inl:452] [Edge]: 1 6 (1, 6)

I1229 04:45:55.786468 9689 sfm_aligner.cpp:340] Merging the 3-th layer leaf nodes I1229 04:45:55.786474 9689 sfm_aligner.cpp:364] Find node [degree = 1]: 6 I1229 04:45:55.786479 9689 sfm_aligner.cpp:365] 1->6: 0.00562411 I1229 04:45:55.786485 9689 sfm_aligner.cpp:371] Merge Clusters: 6->1: 0.00562411 I1229 04:45:55.786492 9689 graph.inl:445] [Graph Info] I1229 04:45:55.786497 9689 graph.inl:446] Total nodes: 1 I1229 04:45:55.786502 9689 graph.inl:447] Total edges: 0 I1229 04:45:55.786507 9689 graph.inl:448] [Node]: I1229 04:45:55.786512 9689 graph.inl:452] [Edge]: 1 I1229 04:45:55.786520 9689 sfm_aligner.cpp:209] Computing Final Similarity Transformations... I1229 04:45:55.786525 9689 sfm_aligner.cpp:388] Computing Path: 0->1 I1229 04:45:55.786531 9689 sfm_aligner.cpp:397] v: 0 I1229 04:45:55.786536 9689 sfm_aligner.cpp:403] v: 2 I1229 04:45:55.786540 9689 sfm_aligner.cpp:403] v: 1 I1229 04:45:55.786545 9689 sfm_aligner.cpp:388] Computing Path: 2->1 I1229 04:45:55.786551 9689 sfm_aligner.cpp:397] v: 2 I1229 04:45:55.786556 9689 sfm_aligner.cpp:403] v: 1 I1229 04:45:55.786561 9689 sfm_aligner.cpp:388] Computing Path: 3->1 I1229 04:45:55.786566 9689 sfm_aligner.cpp:397] v: 3 I1229 04:45:55.786571 9689 sfm_aligner.cpp:403] v: 6 I1229 04:45:55.786576 9689 sfm_aligner.cpp:403] v: 1 I1229 04:45:55.786581 9689 sfm_aligner.cpp:388] Computing Path: 6->1 I1229 04:45:55.786586 9689 sfm_aligner.cpp:397] v: 6 I1229 04:45:55.786590 9689 sfm_aligner.cpp:403] v: 1 I1229 04:45:55.786595 9689 sfm_aligner.cpp:388] Computing Path: 5->1 I1229 04:45:55.786599 9689 sfm_aligner.cpp:397] v: 5 I1229 04:45:55.786604 9689 sfm_aligner.cpp:403] v: 3 I1229 04:45:55.786609 9689 sfm_aligner.cpp:403] v: 6 I1229 04:45:55.786613 9689 sfm_aligner.cpp:403] v: 1 I1229 04:45:55.786618 9689 sfm_aligner.cpp:388] Computing Path: 4->1 I1229 04:45:55.786623 9689 sfm_aligner.cpp:397] v: 4 I1229 04:45:55.786628 9689 sfm_aligner.cpp:403] v: 3 I1229 04:45:55.786633 9689 sfm_aligner.cpp:403] v: 6 I1229 04:45:55.786638 9689 sfm_aligner.cpp:403] v: 1 I1229 04:45:55.786643 9689 sfm_aligner.cpp:221] Merging Reconstructions... I1229 04:48:28.850807 9689 distributed_mapper_controller.cpp:735] 409599 3D points are filtered W1229 04:48:28.875150 9689 distributed_mapper_controller.cpp:535] cameras, images, points3D files do not exist at /home/hadoop/data/data/1229/LOG I1229 04:49:06.876660 9689 reconstruction.cc:861] Cameras number: 26138 I1229 04:49:06.876879 9689 reconstruction.cc:862] Registered images number: 26138 I1229 04:49:06.876888 9689 reconstruction.cc:863] Added points3D: 18634508 I1229 04:49:06.876893 9689 reconstruction.cc:864] Reconstructed 3D points: 15767853 I1229 04:49:08.070725 9689 reconstruction.cc:865] Mean Reprojection Error: 0.848918 I1229 04:49:08.072942 9689 reconstruction.cc:866] Observations number: 113886769 I1229 04:49:08.074332 9689 reconstruction.cc:867] Mean Track Length: 7.22272 I1229 04:49:08.074915 9689 reconstruction.cc:868] Mean Observations Per Image: 4357.13 I1229 04:50:19.942024 9689 distributed_mapper_controller.cpp:198] Final Global Bundle Adjustment I1229 04:50:26.478338 9689 distributed_mapper_controller.cpp:828] Total separators: 1529 I1229 04:50:26.478376 9689 distributed_mapper_controller.cpp:829] Total points3D observed by separators: 3114514 I1229 04:52:18.179558 9689 distributed_mapper_controller.cpp:868] 6257742 / 15767853(0.4%) tracks are selected for bundle adjustment. I1229 05:01:41.917393 9689 block_sparse_matrix.cc:81] Allocating values array with 15982965248 bytes. I1229 05:01:41.917619 9689 detect_structure.cc:95] Dynamic f block size because the block size changed from 2 to 3 I1229 05:01:42.127158 9689 detect_structure.cc:113] Schur complement static structure <2,3,-1>. iter cost cost_change |gradient| |step| tr_ratio tr_radius ls_iter iter_time total_time 0 8.756585e+07 0.00e+00 7.68e+06 0.00e+00 0.00e+00 1.00e+04 0 4.87e+01 3.18e+02 I1229 05:02:35.346835 9689 detect_structure.cc:95] Dynamic f block size because the block size changed from 2 to 3 I1229 05:02:35.557556 9689 detect_structure.cc:113] Schur complement static structure <2,3,-1>. I1229 05:02:37.292327 9689 block_sparse_matrix.cc:81] Allocating values array with 450556848 bytes. I1229 05:02:45.316612 9689 block_random_access_diagonal_matrix.cc:66] Matrix Size [209113,209113] 575063 1 8.680448e+07 7.61e+05 3.02e+06 9.33e+01 1.00e+00 3.00e+04 4 1.57e+02 4.75e+02 2 8.668503e+07 1.19e+05 3.56e+06 1.02e+03 9.93e-01 9.00e+04 100 9.07e+02 1.38e+03 3 8.664898e+07 3.60e+04 2.04e+06 1.74e+03 9.73e-01 2.70e+05 100 8.59e+02 2.24e+03 4 8.662882e+07 2.02e+04 3.77e+06 7.30e+02 9.96e-01 8.10e+05 100 8.30e+02 3.07e+03 5 8.661352e+07 1.53e+04 1.51e+06 9.48e+02 9.93e-01 2.43e+06 100 8.35e+02 3.91e+03 6 8.660153e+07 1.20e+04 3.39e+05 2.38e+03 9.31e-01 6.80e+06 100 8.36e+02 4.74e+03 7 8.659032e+07 1.12e+04 2.33e+05 1.46e+03 9.39e-01 2.04e+07 100 8.39e+02 5.58e+03 8 8.657986e+07 1.05e+04 1.97e+05 9.21e+02 9.94e-01 6.12e+07 100 8.39e+02 6.42e+03 9 8.657104e+07 8.82e+03 1.40e+05 9.00e+02 9.95e-01 1.84e+08 100 8.41e+02 7.26e+03 10 8.656302e+07 8.02e+03 1.58e+05 8.97e+02 9.97e-01 5.51e+08 100 8.44e+02 8.10e+03 I1229 07:12:17.144408 9689 trust_region_minimizer.cc:631] Terminating: Maximum number of iterations reached. Number of iterations: 10.

Bundle adjustment report

0000Residuals : 227773538 000Parameters : 18982315 000Iterations : 11 000000000Time : 8.1e+03 [s] 0Initial cost : 0.620034 [px] 000Final cost : 0.616474 [px] 00Termination : No convergence

I1229 07:12:49.726022 9689 distributed_mapper_controller.cpp:893] RMSE for separators(before BA): 1.00812 I1229 07:12:49.726284 9689 distributed_mapper_controller.cpp:894] RMSE for all images(before BA): 0.990598 I1229 07:12:52.248788 9689 distributed_mapper_controller.cpp:895] RMSE for separators(after BA): 0.970511 I1229 07:13:10.379519 9689 distributed_mapper_controller.cpp:897] RMSE for all images(after BA): 0.985952 I1229 07:13:10.379556 9689 distributed_mapper_controller.cpp:899] Selected 6257742 to optimize. I1229 07:13:10.379560 9689 distributed_mapper_controller.cpp:900] Total tracks: 15767853 I1229 07:14:39.350056 9689 distributed_mapper_controller.cpp:206] Time elapsed: -[image indexing]: 0 seconds. -[extraction + matching]: 0 seconds. -[Rotation Averaging]: 48.6444 seconds. -[Image Clustering]: 114.19 seconds. -[SfM]: 14785.9 seconds. -[Triangulate]: 0 seconds. -[Bundle Adjustment]: 8659.4 seconds. I1229 07:14:39.351442 9689 reconstruction.cc:861] Cameras number: 26138 I1229 07:14:39.352648 9689 reconstruction.cc:862] Registered images number: 26138 I1229 07:14:39.353776 9689 reconstruction.cc:863] Added points3D: 18634508 I1229 07:14:39.358817 9689 reconstruction.cc:864] Reconstructed 3D points: 15767853 I1229 07:14:39.777616 9689 reconstruction.cc:865] Mean Reprojection Error: 0.842957 I1229 07:14:39.801369 9689 reconstruction.cc:866] Observations number: 113886769 I1229 07:14:39.804697 9689 reconstruction.cc:867] Mean Track Length: 7.22272 I1229 07:14:39.806843 9689 reconstruction.cc:868] Mean Observations Per Image: 4357.13 hadoop@master:~/yq/DAGSfM/scripts/shell$ 2] Registered images number: 26138

coconiox2 commented 3 years ago

This is the sparse point cloud. 1 2 3

Yzhbuaa commented 3 years ago

Could you show me your parameter settings?

coconiox2 commented 3 years ago

image

AIBluefisher commented 3 years ago

This is the sparse point cloud. 1 2 3

Seems the sfm_aligned found the wrong similairty transformations. Besides, the cluster graph with 7 nodes but only 9 edges indicates a not good scene coverage. For aerial images, more edges of the cluster graph are expected. I would like to know the matching parameters. Moreover, could you show the camera poses for the final model and the individual models respectively (you can do this by using the colmap GUI from this project)? So that we can know the structure of each sub-model.

coconiox2 commented 3 years ago

image image

coconiox2 commented 3 years ago

partition0: image image

coconiox2 commented 3 years ago

partition1: image image

coconiox2 commented 3 years ago

partition2: image image

coconiox2 commented 3 years ago

partition3: image image image

coconiox2 commented 3 years ago

partition4: image image

coconiox2 commented 3 years ago

partition5: image image

coconiox2 commented 3 years ago

partition6: image image

AIBluefisher commented 3 years ago

Partition 3 looks being wrongly reconstructed, the points are not located in a same plane. Have you tried a full reconstruction without partition? I'm really interested in the real distribution of camera poses.

coconiox2 commented 3 years ago

I got a full reconstruction using openMVG and graclus.The result is here. image image image

AIBluefisher commented 3 years ago

The result from OpenMVG seems also not correct. From the result of Partition 3, I guess the wrong result is caused by this partition. Try to remove the result of partition 3, and run sfm_aligner in command line to see if the final model is consistent. Because I think the dataset is challenge so that the robustness of SfM algorithm needs to be improved. As I'm not able to own your dataset and analyse the result in detail, I could only give you some suggestions as I can.

coconiox2 commented 3 years ago

Thanks for your patience.I tried another better but smaller dataset.And things are getting a lot better.I will continue to test it on a number of other datasets.

Yzhbuaa commented 3 years ago

@coconiox2 Hello, I am wondering how much time does it take to match all the 26577 images? Recently I try to run the pipeline on a large dataset(100,000, 4000x6000), and I found that it would take approximately 10 days to finish the feature matching step.

Here is my parameter settings:

/home/yuzihao/Projects/DAGSfM/build/src/exe/colmap vocab_tree_matcher \
--database_path=$DATASET_PATH/database.db \
--SiftMatching.num_threads=-1 \
--SiftMatching.use_gpu=1 \
--SiftMatching.gpu_index=-1 \
--VocabTreeMatching.num_images=100 \
--VocabTreeMatching.num_nearest_neighbors=5 \
--VocabTreeMatching.vocab_tree_path=$VOC_TREE_PATH

And my hardware configuration:

2 * 2080ti GPU Intel Xeon CPU E5-2609 v4 @ 1.70GHz 8 cores

Could you please share your parameter settings for feature matching and possibly your hardware configuration? Thank you!