필터 지우기
필터 지우기

Object recognition from point cloud

조회 수: 2 (최근 30일)
Hall marokey
Hall marokey 2017년 9월 27일
답변: Paola Donis Noriega 2023년 9월 22일
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
Paola Donis Noriega 2023년 9월 22일
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