PointCloudLibrary / PointCloudLibrary/pcl
FPFH implementation does not match documentation
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 11.1k
- Forks
- 4.7k
- Avg merge
- 4d 10h
- Merged PRs (30d)
- 6
Description
⚠️ This is a issue tracker, please use our mailing list for questions: www.pcl-users.org. ⚠️
The FPFH equation:
FPFH(p) = SPFH(p) + weighted average of SPFH over neighbourhood
does not hold for the current implementation.
PCL FPFH consists only of the weighted average, the query point SPFH is omitted.
This can be seen from the code logic, in features/impl/fpfh.hpp:
- computeFeature calls computeSPFHSignatures and then iterates over points with weightPointSPFHSignature
- computeSPFHSignatures fills three eigen matrices with SPFH split by feature
- weightPointSPFHSignature clears the FPFH, then iterates over neighbours, skipping the query point and adding weighted neighbour SPFH to the FPFH, and finally normalizes FPFH.
If this is intentional, I guess the documentation, tutorial and the wiki page should mention it.
Your Environment
- Operating System and version:
- Compiler:
- PCL Version:
Expected Behavior
Current Behavior
Possible Solution
Code to Reproduce
Context
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in features/impl/fpfh.hpp and trace computeFeature, computeSPFHSignatures, and weightPointSPFHSignature. Compare the implementation with the documented FPFH equation, then determine whether omitting the query-point SPFH is intentional. Done means resolving the discrepancy in the implementation or updating the documentation, tutorial, and wiki consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-vision
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100