cvg / pixel-perfect-sfm

Pixel-Perfect Structure-from-Motion with Featuremetric Refinement (ICCV 2021, Best Student Paper Award)
Apache License 2.0
1.33k stars 135 forks source link

About feature-reference bundle adjustment. #123

Closed leo-frank closed 11 months ago

leo-frank commented 1 year ago

I am running pixSFM. From code, I know that pixSFM consists of 3 steps: KA, colmap and BA. I print reconstruction.summary() before and after BA in function refine_hloc.py/PixSfm/run which corresponding to "LINE 1" and "LINE 2" respectively in the following screenshot

image

I found that the two pieces of output statistics are same!

image

So is there any statistic that reflects BA?

Phil26AT commented 11 months ago

Hey, indeed the parameters are not updated in F-BA - the reason for that is that pixsfm does not update point tracks (so track length remains the same), and the reprojection error has no meaning anymore after F-BA (in contrast to geometric BA, which minimizes the reprojection error). Instead, you should look at the cost changes in BA. Your cost decreases from 0.02078 to 0.0204, which is reasonable and some improvements should be visible in the reconstruction.

leo-frank commented 11 months ago

THX! Close it!