Skip to content
This repository has been archived by the owner on Apr 18, 2022. It is now read-only.

Issue regarding merging cluster #4

Closed
bradraj opened this issue Oct 21, 2019 · 6 comments
Closed

Issue regarding merging cluster #4

bradraj opened this issue Oct 21, 2019 · 6 comments

Comments

@bradraj
Copy link

bradraj commented Oct 21, 2019

When all the nodes degrees are zero, the sfm_aligner::computePath is giving segmentation error ?

I1021 17:25:22.987895 15644 sfm_aligner.cpp:243] Constructing Minimum Spanning Tree
I1021 17:25:22.987913 15644 sfm_aligner.cpp:245] Construct Minimum Spanning Tree complete
[Graph Info]
Total nodes: 9
Total edges: 0
[Node]:
0 1 2 3 4 5 6 7 8
[Edge]:

I1021 17:25:22.989061 15644 sfm_aligner.cpp:286] Merge the 1-th layer leaf nodes
I1021 17:25:22.989076 15644 sfm_aligner.cpp:292] node: 5, degree: 0
I1021 17:25:22.989084 15644 sfm_aligner.cpp:292] node: 4, degree: 0
I1021 17:25:22.989092 15644 sfm_aligner.cpp:292] node: 3, degree: 0
I1021 17:25:22.989099 15644 sfm_aligner.cpp:292] node: 7, degree: 0
I1021 17:25:22.989107 15644 sfm_aligner.cpp:292] node: 0, degree: 0
I1021 17:25:22.989115 15644 sfm_aligner.cpp:292] node: 8, degree: 0
I1021 17:25:22.989122 15644 sfm_aligner.cpp:292] node: 1, degree: 0
I1021 17:25:22.989130 15644 sfm_aligner.cpp:292] node: 6, degree: 0
I1021 17:25:22.989137 15644 sfm_aligner.cpp:292] node: 2, degree: 0
I1021 17:25:22.989147 15644 sfm_aligner.cpp:549] Computing Path: 1->0
I1021 17:25:22.989174 15644 sfm_aligner.cpp:558] v: 1

Segmentation fault (core dumped)

But image_cluster.txt is showing different graph information with non-zero edges

@AIBluefisher
Copy link
Owner

It's due to large alignment errors. As you can see from the Graph Info, there are 9 noes but 0 edges. In this case, edges that own large weights are not added to the graph. You should check if the partial reconstructions are reconstructed correctly. Or you should enlarge the images for each cluster and increase the completeness ratio in graph clustering. Besides, OpenMVG is not robust in some cases, I leave the algorithm to act as a bug for this purpose.

@bradraj
Copy link
Author

bradraj commented Oct 22, 2019

but the file with "image_cluster.txt" is showing different information.
[Graph Info] Total nodes: 11 Total edges: 26 [Node]: 9 10 11 12 13 14 15 16 17 18 19 [Edge]: (18, 19) (17, 19) (17, 18) (16, 19) (16, 17) (16, 18) (11, 13) (11, 12) (10, 12) (10, 11) (12, 9) (12, 13) (12, 14) (13, 19) (13, 17) (13, 16) (13, 14) (13, 15) (14, 19) (14, 17) (14, 15) (14, 16) (15, 19) (15, 18) (15, 16) (15, 17)

@AIBluefisher
Copy link
Owner

Could you show me the complete log info from the beginning of sfm aligner?

@bradraj
Copy link
Author

bradraj commented Oct 22, 2019

log info of sfm aligner :
`I1022 18:21:44.108232 15435 sfm_aligner.cpp:384] [1]: 22 - 22
I1022 18:21:44.108256 15435 sfm_aligner.cpp:384] [2]: 23 - 23
I1022 18:21:44.108273 15435 sfm_aligner.cpp:384] [3]: 24 - 24
I1022 18:21:44.108284 15435 sfm_aligner.cpp:384] [4]: 29 - 29
I1022 18:21:44.108294 15435 sfm_aligner.cpp:387] common camera size: 4
I1022 18:21:44.108317 15435 sfm_aligner.h:48] poses size: 4
I1022 18:21:44.108328 15435 sfm_aligner.h:48] poses size: 4
I1022 18:21:44.341991 15435 sfm_aligner.cpp:520] scale: 1.77228
I1022 18:21:44.342105 15435 sfm_aligner.cpp:521] rotation:
0.955252 -0.0664128 0.288241
0.0595305 0.997694 0.0325877
-0.28974 -0.0139704 0.957003
I1022 18:21:44.342314 15435 sfm_aligner.cpp:525] translation: -1.66637, -0.149839, -2.09835
I1022 18:21:44.342391 15435 sfm_aligner.h:48] poses size: 4
I1022 18:21:44.342460 15435 sfm_aligner.h:48] poses size: 4
I1022 18:21:44.574748 15435 sfm_aligner.cpp:520] scale: 0.579933
I1022 18:21:44.574848 15435 sfm_aligner.cpp:521] rotation:
0.955252 0.0595305 -0.28974
-0.0664128 0.997694 -0.0139704
0.288241 0.0325877 0.957003
I1022 18:21:44.575055 15435 sfm_aligner.cpp:525] translation: 0.558228, 0.00349249, 1.41075
I1022 18:21:44.575132 15435 sfm_aligner.h:48] poses size: 4
I1022 18:21:44.575202 15435 sfm_aligner.h:48] poses size: 4
I1022 18:21:44.575301 15435 sfm_aligner.cpp:363] Sum Reprojection Error: 0.106696
I1022 18:21:44.575382 15435 sfm_aligner.cpp:364] Points Size: 4
I1022 18:21:44.575446 15435 sfm_aligner.cpp:365] Mean Reprojection Error: 0.0266739
I1022 18:21:44.575546 15435 sfm_aligner.cpp:363] Sum Reprojection Error: 0.0563278
I1022 18:21:44.575619 15435 sfm_aligner.cpp:364] Points Size: 4
I1022 18:21:44.575682 15435 sfm_aligner.cpp:365] Mean Reprojection Error: 0.0140819

I1022 18:21:44.613605 15435 sfm_aligner.cpp:384] [1]: 7 - 7
I1022 18:21:44.613631 15435 sfm_aligner.cpp:384] [2]: 8 - 8
I1022 18:21:44.613651 15435 sfm_aligner.cpp:384] [3]: 9 - 9
I1022 18:21:44.613667 15435 sfm_aligner.cpp:384] [4]: 24 - 24
I1022 18:21:44.613677 15435 sfm_aligner.cpp:387] common camera size: 4
I1022 18:21:44.613690 15435 sfm_aligner.h:48] poses size: 4
I1022 18:21:44.613703 15435 sfm_aligner.h:48] poses size: 4
I1022 18:21:44.811895 15435 sfm_aligner.cpp:520] scale: 0.819338
I1022 18:21:44.811995 15435 sfm_aligner.cpp:521] rotation:
0.75815 0.0289315 -0.651437
0.0145807 0.998013 0.0612926
0.651917 -0.0559674 0.756222
I1022 18:21:44.812275 15435 sfm_aligner.cpp:525] translation: 2.48483, -0.176352, 0.568264
I1022 18:21:44.812355 15435 sfm_aligner.h:48] poses size: 4
I1022 18:21:44.812427 15435 sfm_aligner.h:48] poses size: 4
I1022 18:21:44.977769 15435 sfm_aligner.cpp:520] scale: 1.23493
I1022 18:21:44.977860 15435 sfm_aligner.cpp:521] rotation:
0.75815 0.0145807 0.651917
0.0289315 0.998013 -0.0559674
-0.651437 0.0612926 0.756222
I1022 18:21:44.978071 15435 sfm_aligner.cpp:525] translation: -2.78086, 0.168584, 1.47663
I1022 18:21:44.978147 15435 sfm_aligner.h:48] poses size: 4
I1022 18:21:44.978219 15435 sfm_aligner.h:48] poses size: 4
I1022 18:21:44.978317 15435 sfm_aligner.cpp:363] Sum Reprojection Error: 0.167283
I1022 18:21:44.978391 15435 sfm_aligner.cpp:364] Points Size: 4
I1022 18:21:44.978453 15435 sfm_aligner.cpp:365] Mean Reprojection Error: 0.0418207
I1022 18:21:44.978552 15435 sfm_aligner.cpp:363] Sum Reprojection Error: 0.20855
I1022 18:21:44.978626 15435 sfm_aligner.cpp:364] Points Size: 4
I1022 18:21:44.978688 15435 sfm_aligner.cpp:365] Mean Reprojection Error: 0.0521376

I1022 18:21:45.022279 15435 sfm_aligner.cpp:384] [1]: 12 - 12
I1022 18:21:45.022305 15435 sfm_aligner.cpp:384] [2]: 21 - 21
I1022 18:21:45.022321 15435 sfm_aligner.cpp:384] [3]: 22 - 22
I1022 18:21:45.022334 15435 sfm_aligner.cpp:384] [4]: 23 - 23
I1022 18:21:45.022361 15435 sfm_aligner.cpp:384] [5]: 24 - 24
I1022 18:21:45.022370 15435 sfm_aligner.cpp:387] common camera size: 5
I1022 18:21:45.022384 15435 sfm_aligner.h:208] src poses size: 5
I1022 18:21:45.022397 15435 sfm_aligner.h:218] dst poses size: 5
I1022 18:21:45.026284 15435 sfm_aligner.cpp:449] scale: 0.680635
I1022 18:21:45.026306 15435 sfm_aligner.cpp:450] rotation:
0.845014 0.0175314 0.534457
0.0254768 0.997008 -0.0729847
-0.534137 0.0752893 0.842039
I1022 18:21:45.026324 15435 sfm_aligner.cpp:453] translation: -1.88647, 0.200955, 0.209794
I1022 18:21:45.029923 15435 sfm_aligner.cpp:449] scale: 1.46583
I1022 18:21:45.029945 15435 sfm_aligner.cpp:450] rotation:
0.845014 0.0254768 -0.534137
0.0175314 0.997008 0.0752893
0.534457 -0.0729847 0.842039
I1022 18:21:45.029963 15435 sfm_aligner.cpp:453] translation: 2.49585, -0.268378, 1.24375

I1022 18:21:45.066516 15435 sfm_aligner.cpp:384] [1]: 24 - 24
I1022 18:21:45.066542 15435 sfm_aligner.cpp:384] [2]: 25 - 25
I1022 18:21:45.066560 15435 sfm_aligner.cpp:384] [3]: 26 - 26
I1022 18:21:45.066568 15435 sfm_aligner.cpp:387] common camera size: 3
I1022 18:21:45.066581 15435 sfm_aligner.h:48] poses size: 3
I1022 18:21:45.066592 15435 sfm_aligner.h:48] poses size: 3
I1022 18:21:45.209183 15435 sfm_aligner.cpp:520] scale: 0.473068
I1022 18:21:45.209288 15435 sfm_aligner.cpp:521] rotation:
0.543043 0.0765419 -0.836209
-0.0426292 0.997066 0.063582
0.838622 0.00111923 0.544712
I1022 18:21:45.209522 15435 sfm_aligner.cpp:525] translation: 2.07446, -0.130426, 1.75658
I1022 18:21:45.209602 15435 sfm_aligner.h:48] poses size: 3
I1022 18:21:45.209678 15435 sfm_aligner.h:48] poses size: 3
I1022 18:21:45.368405 15435 sfm_aligner.cpp:520] scale: 2.11386
I1022 18:21:45.368500 15435 sfm_aligner.cpp:521] rotation:
0.543043 -0.0426292 0.838622
0.0765419 0.997066 0.00111923
-0.836209 0.063582 0.544712
I1022 18:21:45.368712 15435 sfm_aligner.cpp:525] translation: -5.50701, -0.064908, 1.66181
I1022 18:21:45.368790 15435 sfm_aligner.h:48] poses size: 3
I1022 18:21:45.368861 15435 sfm_aligner.h:48] poses size: 3
I1022 18:21:45.368955 15435 sfm_aligner.cpp:363] Sum Reprojection Error: 0.113646
I1022 18:21:45.369031 15435 sfm_aligner.cpp:364] Points Size: 3
I1022 18:21:45.369094 15435 sfm_aligner.cpp:365] Mean Reprojection Error: 0.0378821
I1022 18:21:45.369187 15435 sfm_aligner.cpp:363] Sum Reprojection Error: 0.240233
I1022 18:21:45.369261 15435 sfm_aligner.cpp:364] Points Size: 3
I1022 18:21:45.369324 15435 sfm_aligner.cpp:365] Mean Reprojection Error: 0.0800776

I1022 18:21:45.411800 15435 sfm_aligner.cpp:384] [1]: 22 - 22
I1022 18:21:45.411826 15435 sfm_aligner.cpp:384] [2]: 23 - 23
I1022 18:21:45.411844 15435 sfm_aligner.cpp:384] [3]: 24 - 24
I1022 18:21:45.411880 15435 sfm_aligner.cpp:387] common camera size: 3
I1022 18:21:45.411895 15435 sfm_aligner.h:48] poses size: 3
I1022 18:21:45.411906 15435 sfm_aligner.h:48] poses size: 3
I1022 18:21:45.577752 15435 sfm_aligner.cpp:520] scale: 0.370311
I1022 18:21:45.577858 15435 sfm_aligner.cpp:521] rotation:
0.952569 0.0424865 0.301341
-0.0402992 0.999097 -0.013474
-0.301641 0.000691118 0.953421
I1022 18:21:45.578088 15435 sfm_aligner.cpp:525] translation: -1.0377, 0.154043, 0.807202
I1022 18:21:45.578171 15435 sfm_aligner.h:48] poses size: 3
I1022 18:21:45.578248 15435 sfm_aligner.h:48] poses size: 3
I1022 18:21:45.722990 15435 sfm_aligner.cpp:520] scale: 2.70044
I1022 18:21:45.723093 15435 sfm_aligner.cpp:521] rotation:
0.952569 -0.0402992 -0.301641
0.0424865 0.999097 0.000691118
0.301341 -0.013474 0.953421
I1022 18:21:45.723323 15435 sfm_aligner.cpp:525] translation: 3.3436, -0.298056, -1.22823
I1022 18:21:45.723414 15435 sfm_aligner.h:48] poses size: 3
I1022 18:21:45.723491 15435 sfm_aligner.h:48] poses size: 3
I1022 18:21:45.723589 15435 sfm_aligner.cpp:363] Sum Reprojection Error: 0.0477856
I1022 18:21:45.723670 15435 sfm_aligner.cpp:364] Points Size: 3
I1022 18:21:45.723738 15435 sfm_aligner.cpp:365] Mean Reprojection Error: 0.0159285
I1022 18:21:45.723836 15435 sfm_aligner.cpp:363] Sum Reprojection Error: 0.129042
I1022 18:21:45.723917 15435 sfm_aligner.cpp:364] Points Size: 3
I1022 18:21:45.723984 15435 sfm_aligner.cpp:365] Mean Reprojection Error: 0.0430139

I1022 18:21:45.767062 15435 sfm_aligner.cpp:384] [1]: 24 - 24
I1022 18:21:45.767081 15435 sfm_aligner.cpp:387] common camera size: 1

#2 [Graph Info]
Total nodes: 4
Total edges: 0
[Node]:
0 1 2 3
[Edge]:

file Graph :
I1022 18:21:45.768687 15435 sfm_aligner.cpp:248] Constructing Minimum Spanning Tree
I1022 18:21:45.768712 15435 sfm_aligner.cpp:250] Construct Minimum Spanning Tree complete
#2 [Graph Info]
Total nodes: 4
Total edges: 0
[Node]:
0 1 2 3
[Edge]:

I1022 18:21:45.768982 15435 sfm_aligner.cpp:291] Merge the 1-th layer leaf nodes
I1022 18:21:45.769006 15435 sfm_aligner.cpp:297] node: 1, degree: 0
I1022 18:21:45.769026 15435 sfm_aligner.cpp:297] node: 0, degree: 0
I1022 18:21:45.769044 15435 sfm_aligner.cpp:297] node: 3, degree: 0
I1022 18:21:45.769058 15435 sfm_aligner.cpp:297] node: 2, degree: 0
I1021 17:25:22.989147 15644 sfm_aligner.cpp:549] Computing Path: 1->0
I1021 17:25:22.989174 15644 sfm_aligner.cpp:558] v: 1

Segmentation fault (core dumped)
`

total no of clusters are 4 nos: output of cluster_0 "image_cluster.txt" file is
#1 [Graph Info] Total nodes: 11 Total edges: 25 [Node]: 7 8 9 10 11 12 21 22 23 24 29 [Edge]: (21, 22) (9, 7) (9, 12) (9, 10) (9, 11) (8, 7) (8, 12) (8, 11) (8, 9) (8, 10) (10, 29) (10, 12) (10, 11) (10, 21) (10, 24) (10, 23) (10, 22) (11, 24) (11, 23) (11, 22) (11, 12) (11, 21) (12, 22) (12, 21) (7, 9)

@AIBluefisher
Copy link
Owner

Well, as you can see from the log, there are 4 nodes while no edges are reserved. Consider this, you may notice that the mean reprojection errors are all above 0.0001. In practice, this reprojection error is too large to register cluster. The cluster.txt file contains the graph info of inner information, not the clusters.

@bradraj
Copy link
Author

bradraj commented Oct 23, 2019

Thanks for the explanation.

@bradraj bradraj closed this as completed Oct 23, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants