ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

PCL : computing FPFH at given keypoints

asked 2013-03-04 09:47:16 -0600

Pavel gravatar image

Suppose i have a bunch of keypoints detected by 2D SIFT or SURF and i want to calculate FPFH descriptors at those keypoints. How can i do this?

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
2

answered 2013-03-04 10:21:34 -0600

kalectro gravatar image

There is a PCL tutorial to show how to do it

edit flag offensive delete link more

Comments

@kalectro: thank you but I'd like to compute FPFH for single points and not for an entire point cloud. How can i do this?

Pavel gravatar image Pavel  ( 2013-03-11 05:39:46 -0600 )edit

As for as I know FPFH descriptors need a pointcloud to work with. So do the following: If you have a bunch of keypoints, just create a new empty point cloud and add the keypoints one by one.

kalectro gravatar image kalectro  ( 2013-03-11 05:54:39 -0600 )edit

@kalectro. Thank you again. I thought of that but for computing a local descriptor the points around a keypoint should be needed as well. Am i wrong?

Pavel gravatar image Pavel  ( 2013-03-11 06:13:38 -0600 )edit

You are right, I did not read the tutotial and only assumed it would work like the SHOT descriptor. Try to ask this question on pcl-users.org

kalectro gravatar image kalectro  ( 2013-03-11 06:21:10 -0600 )edit

Already did that but unfortunately no one has answered (http://www.pcl-users.org/Computing-FPFH-at-given-keypoints-td4026504.html). Thank you anyway.

Pavel gravatar image Pavel  ( 2013-03-11 06:26:53 -0600 )edit

how to save descriptor output in pcl move descriptor output to the matlab

hamed12 gravatar image hamed12  ( 2021-11-07 14:50:42 -0600 )edit
0

answered 2016-08-05 05:48:10 -0600

There is a method on the fpfh estimation object to specify the indices of the source cloud points that will be used as keypoints:

PointIndicesPtr keypoints (new PointIndices);
// Compute NARF keypoints here ...

pcl::FPFHEstimation<pcl::PointXYZ, pcl::Normal, pcl::FPFHSignature33> fpfh;
fpfh.setInputCloud(sourceCloud);
fpfh.setInputNormals(normals);
fpfh.setSearchMethod(kdtree);
fpfh.setRadiusSearch(0.05);
fpfh.setIndices(keypoints);
fpfh.compute(*descriptors);
//...

This question is quite old, but I figured this might still be useful

edit flag offensive delete link more

Question Tools

Stats

Asked: 2013-03-04 09:47:16 -0600

Seen: 2,090 times

Last updated: Mar 04 '13