MIT-SPARK / TEASER-plusplus

A fast and robust point cloud registration library
MIT License
1.69k stars 333 forks source link

[QUESTION] Is it possible to disable scaling and rotation estimation? #146

Closed Scyten closed 1 month ago

Scyten commented 1 year ago

Have you read the documentation?

I have a time critical problem and need only the translation estimation, rotation is 0 and scaling is 1.

Is there a way to disable the scaling estimation? The documentation and the registration.h answer params.estimate_scaling = false, but if i am right this variable is not checked by the solve method and the debug output states: 'Starting scale solver.' and 'Scale estimation complete.' Is it possible that this option does not work at all?

Is it possible to disable rotation estimation? I have not found any solution for that. If I use solve.solveForTranslation(Matrix3Xd&, Matrix3Xd&) directly, there is no filtering of correspondences, right?

jingnanshi commented 1 year ago

@Scyten Hi, the scale estimation option will disable the scale solver, but it will still try to filter out outliers using scale. Unfortunately we don't have a way to disable rotation. If you use the estimate translation function directly, it will still have inlier selection based on TLS cost.

jingnanshi commented 1 year ago

Alternatively, if all you need are translations, perhaps writing a custom solver with the max clique outlier rejection will be a better option.

LimHyungTae commented 2 months ago

If there are no further questions, we will close the issue. Thx!