PointCloudLibrary / PointCloudLibrary/pcl

Open issues with the multiple randomized FLANN tree interface (#435)

Open
#500 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind: proposal kind: todo
Dominant language
C++
Stars
11.1k
Forks
4.7k
Avg merge
4d 10h
Merged PRs (30d)
6

Description

In #435 the FlannSearch class was updated to also be able to utilize FLANN's multiple randomized trees which are much faster for high-dim searches. There are still a number of open issues, and this issue is meant to start up the discussion, and eventually making a PR with the solutions.

  1. Switching between the first three fields (single k-d tree) and the feature fields (multiple k-d trees) of a point type currently has to be done manually by setPointRepresentation(). Do we want the class to automatically "detect" if a high-dim feature is input, or not?
  2. In line with this, it would be good if the class automatically uses the single k-d tree for features with dim <= 10, where this is still faster.
  3. Potentially handling the Histogram point type. All features in point_types.h are registered, except this one, because it has a variadic dim. Therefore, users have to execute POINT_CLOUD_REGISTER_POINT_STRUCT() each time they want to use a Histogram. Do we want to keep this, or can instantiation be done automatically?
  4. Unit tests, and a tutorial showing how to use this class properly for feature searches (I already did a small code example in the class doxy).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the FlannSearch class and its existing doxy example, then inspect point_types.h and the current point representation registration. The issue lists unresolved design questions about tree selection, low-dimensional features, Histogram, unit tests, and a tutorial. Done requires decisions on those questions plus the requested tests and usage documentation.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-vision
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.