OpenCalib/CalibAnything

Using curvature instead of normal in the code

Opened this issue · 1 comments

Hi, I appreciate all this effort in developing this awesome calibration tool. I have a question about the normal you adopt in the source code.

After diving into the code, I notice that you commented out the original normal properties and calculations and replaced them with curvature.

Is there any reason for this shift such as performance or accuracy?

Thank you in advance.

Hello, thanks for your careful reading.
We originally changed the normal vector to curvature mainly for time reasons. Computing the similarity of normal vectors uses large-scale matrix multiplications, which is very time-consuming. However, since the information contained in curvature is not as rich as the normal vector, we changed it to a normal vector again in the new version. The code repository is updated now. Considering efficiency, we added downsampling to the point cloud and only use the margin of the large-area mask.