Rapid Comparison

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

Rapid Comparison

nomoore
I am writing a program to compare one point cloud to another and extract the
similarities from the second point cloud.

For example, lets say I have a reference cloud of the inside of an empty
parking garage. Then I take a second cloud using the same reference frame,
but this time there are cars parked, or perhaps even one driving by. My goal
is to have the program compare the two point clouds and remove points from
the second cloud until I have only cars left.

I will need the program to do this as quickly as possible. I will be
attempting to process 30 clouds/second and each cloud will have ~7.5k
points.

My thoughts are to organize the reference cloud in a K-D tree (for quick
search-ability), then do a radius search to compare each of the points in
the new scan to the reference tree and remove all the ones that fall within
a given radius of points that exist in the reference cloud. My problem is
knowing which functions to use for greatest efficiency.

I have looked into using a voxel filter but I only know how to use it to
down-sample a single cloud. I would love to learn how to use it to compare
two clouds and down-sample the second.

I have also looked into removing outliers, but it actually does the exact
opposite of what I want. Because it removes all the points that are
different while I want to remove the points that are the same.

Can the Voxel or outlier filters take K-D trees as input?

Please excuse my ignorance and feel free to refer me to any resources I may
have overlooked. I appreciate any insights you can offer.




--
Sent from: http://www.pcl-users.org/
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: Rapid Comparison

Fabien Rozar
Hello,

To solve your problem what I would do is using octree data structure.

Let compute the octrees of the empty parking and the parking with something
inside.
Then, remove the leaf nodes of the second octree which is common with the
first one. In your case, as you seem to work in a fix place, for the comparison
of leaf node, I think that you can rely on the leaf node key, it should be enough.

Finally, you should be able the display the points after the "substraction" between
the 2 octrees, so you should use an OctreePointCloud for this purpose.

Hope it helps,
frozar

2018-01-08 22:44 GMT+01:00 nomoore <[hidden email]>:
I am writing a program to compare one point cloud to another and extract the
similarities from the second point cloud.

For example, lets say I have a reference cloud of the inside of an empty
parking garage. Then I take a second cloud using the same reference frame,
but this time there are cars parked, or perhaps even one driving by. My goal
is to have the program compare the two point clouds and remove points from
the second cloud until I have only cars left.

I will need the program to do this as quickly as possible. I will be
attempting to process 30 clouds/second and each cloud will have ~7.5k
points.

My thoughts are to organize the reference cloud in a K-D tree (for quick
search-ability), then do a radius search to compare each of the points in
the new scan to the reference tree and remove all the ones that fall within
a given radius of points that exist in the reference cloud. My problem is
knowing which functions to use for greatest efficiency.

I have looked into using a voxel filter but I only know how to use it to
down-sample a single cloud. I would love to learn how to use it to compare
two clouds and down-sample the second.

I have also looked into removing outliers, but it actually does the exact
opposite of what I want. Because it removes all the points that are
different while I want to remove the points that are the same.

Can the Voxel or outlier filters take K-D trees as input?

Please excuse my ignorance and feel free to refer me to any resources I may
have overlooked. I appreciate any insights you can offer.




--
Sent from: http://www.pcl-users.org/
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users


_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users