Object recognition from point cloud

2 次查看(过去 30 天)
Like ORK (object recognition tabletop) available in ROS does MATLAB have any function which identifies objects from pointclouds ( not from images)

回答(1 个)

Paola Donis Noriega
Hi Hall,
MATLAB has point cloud processing functionality to help you achieve this workflow. You can detect the table and the objects on the table with a pipeline similar to the following:
1) To detect the table, you can use the pcfitplane function with the referenceVector input set to [0 0 1]. This function detects the dominant plane in the point cloud. If there is another plane with similar orientation that gets detected first (for example: the floor), you can remove that plane and do plane detection a second time. In addition, if you know the general area where the table is located, you can first select the area of interest in your point cloud using the findPointsInROI object function.
2) Once you detect the table, you can define an area of interest around the table and select it using findPointsInROI. In this area of interest, you can remove the detected plane to have a point cloud that just contains the objects on the table.
3) Then, you can segment the point cloud to identify each object. For this step, you can use pcsegdist. Then, use the select object function to get a point cloud of each object.
4) Once you have identified each object, you can find its position and orientation by doing registration between the mesh and the object. First convert the mesh to a point cloud. For 3-D registration, there are many options available in MATLAB. You can start by trying a global registration function like pcregisterfgr. Alternatively (or in addition), you can try using a local registration algorithm like Generalized-ICP to get a more accurate transformation. The G-ICP algorithm is available in the pcregistericp function with the following syntax: pcregistericp(ptCloud1, ptCloud2, Metric="planeToPlane").
I hope this helps.
Paola

类别

Help CenterFile Exchange 中查找有关 Point Cloud Processing 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by