Currently I try to compute PFH descriptors for ISS keypoints. I perform the following steps:
(1) Detect keypoints with pcl::ISSKeypoint3D (2) Estimate normals of the new keypoint cloud from (1) with pcl::NormalEstimation (3) Estimate PFH for the keypoints and the normals from (2) with pcl::PFHEstimation
To my understanding, the PFH estimation takes k neighbors into account and therefore has a complexity of O(n*k^2), where n denotes the number of keypoints. However, I only pass a cloud consisting of the keypoints itself to the estimator in (3).
So my question is: How can i retrieve the k neighbors for each ISS keypoint?
You have to put original normal as input.
So, there are three items that should be set.
setinputcloud(filtered one for vertices) //iss keypoints
setinputnormals(non-filtered one for normals) //original normals using original vertices
setSearchSurface(non-filtered one for vetices) // original vertices
You can not use normal of keypoints and original vertices at the same time.
PCL will show you some error.
follow case will show you error.
1.
setinputcloud(filtered one for vertices) //iss keypoints
setinputnormals(filtered one for normals) //recomputed normals using filtered vertices
setSearchSurface(non-filtered one for vetices) // original vertices
2.
setinputcloud(filtered one for vertices) //iss keypoints
setSearchSurface(non-filtered one for vetices) // original vertices