Parskatt / RoMa

[CVPR 2024] RoMa: Robust Dense Feature Matching; RoMa is the robust dense feature matcher capable of estimating pixel-dense warps and reliable certainties for almost any image pair.
https://parskatt.github.io/RoMa/
MIT License
597 stars 50 forks source link

Failure to generate 3D reconstruction with unknown pose of the cameras #38

Open royw99 opened 6 months ago

royw99 commented 6 months ago

Hi Roma contributors,

I find RoMa model works extremely well on my dataset, as evidenced by the graphs I have drawn according to the points RoMa matched together. Yet it seems to be quite incompatible with pycolmap.incremental_mapping() for some unknown reasons. For a 55-images image set, I keep getting only two camera registered while producing very small reprojection_error. My primary aim is to estimate the poses of the cameras that generate the images.

The issue is a little complicated and I understand that it may not be solved with this little context. So, if you would like to help, I can send you my code for further inspection. Thank you a lot for working out this brilliant model!

Best regards,

Roy

Parskatt commented 5 months ago

Hi @royw99 , sorry for the late response. In general, COLMAP relies on keypoint correspondences. By default RoMa randomly samples a set of correspondences between each pair, which will not be consistent between the pairs. Integrating dense matching into SfM pipelines is an open problem, but one way is to match with roma (to get F/E), and then also use a keypoint detector and match the keypoints with roma.