PointCloudLibrary / PointCloudLibrary/pcl

LCCP/CPC Segmentation and Supervoxel indexing

Open
#1,459 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Hi there,

while testing segmentation with LCCP and the recent CPC, I always observe some out-of-order small blobs in the middle of larger segments, which are not tackled by mergeSmallSegment.
I've done some debugging and found that those points are in the octree leaf with voxel_data.owner_ == 0 (see getLabeledCloud in supervoxel_clustering.cpp), have label 0 and are not in the adjacency graph, because the list of SupervoxelHelper is initialised with the label beginning with 1 (see createSupervoxelHelpers):

supervoxel_helpers_.push_back (new SupervoxelHelper(i+1,this));

So, I assume this is not a desired behaviour, though I don't quite get why the indexing skips 0.

Kind regards,
Nikita

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 in supervoxel_clustering.cpp, tracing getLabeledCloud and createSupervoxelHelpers, especially the SupervoxelHelper indexing and owner_ == 0 points. Reproduce the reported LCCP/CPC segmentation case and follow how label-0 leaves bypass the adjacency graph and mergeSmallSegment. Done means the out-of-order small blobs are handled consistently with larger segments and the intended indexing behavior is established.

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
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.