Symmetry descriptor

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Symmetry descriptor

Kilin
Hi guys,

given a point cloud, I would need to compute a number quantifying the symmetry of the cloud (global symmetry, accounting for reflection and translation would be enough).

Is there anything already implemented in PCL, or in other tools that you can suggest me?

Is there a quick way to implement that?

I could restrict the problem by manually providing the symmetry planes (no need to find every possible symmetry, just the more important for my application).

Thank you...

...and happy new year!
Reply | Threaded
Open this post in threaded view
|

Re: Symmetry descriptor

VictorLamoine
Administrator
Hello,

Finding the symmetry plane is not something I can think of, but if you provide a plane suggestion here is how I would process the data:

1. Loop through the point cloud and determine on what side of the plane the point is lying.
Make 2 indices vectors corresponding to each side of the plane.

Fo2. r each point of one side, estimate the mirror point:
- Find the length of the distance point/plane (perpendicular to the plane)
- Translate the point on the plane normal axis two times the previous distance

3. Search for the nearest neighbor (using KdTree for example etc.) between the mirrored point and the other set of indices.

4. Compute the distance between the mirror point and the nearest neighbor.

Do that for all points and you should get a good idea of how symmetric your point cloud is.

Bye