GhiXu / Geo-Neus

Geo-Neus: Geometry-Consistent Neural Implicit Surfaces Learning for Multi-view Reconstruction (NeurIPS 2022)
MIT License
297 stars 18 forks source link

Question about visible points for each view #4

Open alvin528 opened 2 years ago

alvin528 commented 2 years ago

Thank you for your impressive work! Now I have obtained the sparse point cloud through COLMAP. Do you have any suggestions on how to obtain visible points for each view?

antoine-crettenand commented 2 years ago

I believe COLMAP outputs the sparse point cloud as well as a visibility mask for each vertex, of the shape [num_pts, 3 (xyz)] and [num_pts, num_view] respectively. At each iteration you sample a batch of pixels from a given view. You can get all the visible points of a given view by taking the column corresponding to the view's id i.e. visibility_array[:, view_id] and filtering out all points where the visibility mask is 0. By applying L1 loss on the resulting set, you get SDF loss for the current iteration.

alvin528 commented 2 years ago

@antoine-crettenand Thank you for your kindly reply. This problem is caused by my unfamiliarity with colmap, I think. I was also surprised by the fact that the results of colmap reconstruction in Geo-Neus paper were much better than the results of colmap reconstruction in Neus paper.