Hello @cdcseacave ,
Thank you for your excellent work on OpenMVS. I noticed that a CUDA version of MeshRefine has recently been introduced, and I would like to ask a technical question about the photometric consistency formulation.
From what I have observed, many recent mesh refinement methods seem to use a point-wise NCC formulation: for each reference pixel, the corresponding 3D point is obtained from the reference depth, projected into the source views, and the sampled source intensities are used to form an aligned image for computing NCC with the reference image.
In contrast, they appear to avoid the plane-induced patch NCC formulation commonly used in traditional MVS, where each reference pixel estimates a local plane from its normal and depth, derives a homography, warps the neighboring patch into the source view, and lets the NCC loss backpropagate through the homography to the mesh vertices.
May I ask whether point-wise NCC is generally considered the preferred or more stable choice for mesh refinement? I have implemented a preliminary mesh refinement variant based on plane-induced patch NCC, but the results were not as good as expected. I am wondering whether this is due to known stability issues of patch NCC in mesh refinement, or whether there are implementation details that are especially important for making this formulation work.
Any insights would be greatly appreciated.
Hello @cdcseacave ,
Thank you for your excellent work on OpenMVS. I noticed that a CUDA version of MeshRefine has recently been introduced, and I would like to ask a technical question about the photometric consistency formulation.
From what I have observed, many recent mesh refinement methods seem to use a point-wise NCC formulation: for each reference pixel, the corresponding 3D point is obtained from the reference depth, projected into the source views, and the sampled source intensities are used to form an aligned image for computing NCC with the reference image.
In contrast, they appear to avoid the plane-induced patch NCC formulation commonly used in traditional MVS, where each reference pixel estimates a local plane from its normal and depth, derives a homography, warps the neighboring patch into the source view, and lets the NCC loss backpropagate through the homography to the mesh vertices.
May I ask whether point-wise NCC is generally considered the preferred or more stable choice for mesh refinement? I have implemented a preliminary mesh refinement variant based on plane-induced patch NCC, but the results were not as good as expected. I am wondering whether this is due to known stability issues of patch NCC in mesh refinement, or whether there are implementation details that are especially important for making this formulation work.
Any insights would be greatly appreciated.