PointCloudLibrary / PointCloudLibrary/pcl

ICP different result depending if cloud is in [mm] or [m]

Open
#5,180 21 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind: bug module: registration
Dominant language
C++
Stars
11.1k
Forks
4.7k
Avg merge
4d 10h
Merged PRs (30d)
6

Description

I have two identical clouds, with a translation diff on Z-axis about 200mm(0.2m).
When clouds are in [m], ICP::IterativeClosestPointsWithNormals gives me perfect alignment, which is expected as clouds are the same.
The problem occurs when I have clouds in millimeters. With the same scenario, I am not able to get alignment.
The only parameters I am setting are:
setRansacOutlierRejectionThreshold for both is half of uniform sampling leaf size. [Meter] cloud leaf is 0.05, a [millimeter] is 50
setMaxCorrespondenceDistance [Meter] cloud leaf is 0.5, [millimeter] is 500

I would expect the result should be the same, especially clouds are the same.

I also tried to increase transformationEpsilon and euclideanFitnessEpsilon -by multiplying the default value by 1000 - in the case of millimeters.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at ICP::IterativeClosestPointsWithNormals and reproduce the reported comparison using identical clouds translated by about 200 mm, once represented in metres and once in millimetres. Check the configured setRansacOutlierRejectionThreshold, setMaxCorrespondenceDistance, transformationEpsilon, and euclideanFitnessEpsilon values; done means both unit scales produce equivalent alignment.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-vision
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.