OpenCalib / CalibAnything

269 stars 21 forks source link

Using curvature instead of normal in the code #9

Open leochien1110 opened 1 year ago

leochien1110 commented 1 year ago

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.

sisyphus-99 commented 1 year ago

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.