PointCloudLibrary / pcl

Point Cloud Library (PCL)
https://pointclouds.org/
Other
9.89k stars 4.61k forks source link

LCCP/CPC Segmentation and Supervoxel indexing #1459

Open arnike opened 8 years ago

arnike commented 8 years ago

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 voxeldata.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

taketwo commented 8 years ago

@mschoeler any ideas about this?

mschoeler commented 8 years ago

In general mergeSmallSegments merges segments with their biggest neighboring segment. Depending on the voxelsize it can happen that you get isolated blobs which are not adjacent to any other segment in the point cloud. In this case those segments are not merged (because the have no neighbor). About the voxel_data owner I think @jpapon should take a look at this, because this is part of the supervoxelclustering and I'm not as confident there. Can you upload and example image with adjacency graph?

arnike commented 8 years ago

@taketwo Please, have a look at the PR #1480.

stale[bot] commented 4 years ago

Marking this as stale due to 30 days of inactivity. It will be closed in 7 days if no further activity occurs.