Ask Your Question
0

PCL : computing FPFH at given keypoints

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

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 -0500

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 imagePavel ( 2013-03-11 05:39:46 -0500 )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 imagekalectro ( 2013-03-11 05:54:39 -0500 )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 imagePavel ( 2013-03-11 06:13:38 -0500 )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 imagekalectro ( 2013-03-11 06:21:10 -0500 )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 imagePavel ( 2013-03-11 06:26:53 -0500 )edit
0

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

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

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

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

Seen: 1,535 times

Last updated: Mar 04 '13