This task is related to segmenting four specific object from a 3D Image (*.pcd) file. Here we have used "Region Growing RGB clustering Algorithm" to detect the objects of interest from input pcd file. This particular algorithm is being used as Input pcd contains objects with different structures and also it is fast.
Following operations have been performed in this algorithm:
-
Read input pcd file and initialize PointCloud.
-
Using BoxFiltering method, remove the unused Data points from the dataset.
-
Create Segmentation Object and initialize metadata to filter the noise. Calculate Normals to implement SACSegmentaionWithNormals Algorithm.
-
We used Sample Consensus(SAC) Model and Random Sample Consensus Method for segmentation. In segmentation we tried to reach to the optimum value for distance threshold. We tried from 0.01 till 0.30 range. At 0.024 distance threshold we saw the better result, basically were able to reduce pcd's with noisy data.
-
Run Region Growing RGB algorithm to identify nad segment the object of interest.
-
Use PCL Visualiser to generate he procesed pcd file.
$ cd pointcloud-segmentation-poc
$ mkdir build
$ cd build
$ ckmake ..
$ make
$ ./pcs_exe
Input:
Output: