Object Detection Pipeline Example
SUMMARY
Object Detection Pipeline Example demonstrates a complete 3D object detection workflow using the Vitreous SDK. It includes loading, preprocessing, segmenting, clustering, and calculating bounding boxes for objects in point cloud data.
This example is useful in industrial, mobile, and humanoid robotics pipelines for detecting and localizing objects in 3D space. For example, it can detect parts on a conveyor belt in manufacturing, identify obstacles for mobile robots, or locate items for humanoid robot manipulation. The pipeline ensures objects are properly segmented and represented for downstream tasks like pose estimation, pick-and-place, or navigation.
Use these Skills when you want to build a robust 3D object detection workflow using point cloud data.
The Pipeline
This pipeline focuses on discovering and localizing objects in a scene without requiring prior knowledge of object models.
Input Point Cloud
↓
Segment Plane
↓
Filter by Plane
↓
Subtract Plane Points
↓
Cluster Objects
↓
Estimate Bounding BoxesThe output of this pipeline is a set of geometrically segmented objects, each represented by a bounding box suitable for downstream tasks such as grasp planning, collision checking, or navigation.
The Skills
The pipeline is composed of the following Vitreous Skills, listed in the order they are applied:
segment_point_cloud_using_plane
Detects the dominant planar surface (e.g., table or ground).filter_point_cloud_using_plane_splitting
Splits the point cloud relative to the detected plane.filter_point_cloud_using_plane_proximity
Filters points near the plane to remove surface-adjacent noise.subtract_point_clouds
Removes remaining near-plane points to clean the scene.cluster_point_cloud_using_dbscan
Groups remaining points into distinct object candidates.calculate_oriented_bounding_box
Computes oriented bounding boxes for each detected object.
Examples
This pipeline can be applied to a range of object detection scenarios. The following examples illustrate how the same sequence of Skills behaves on different types of objects and scenes.
Example 1: Detecting Screws on a Surface
Pipeline Parameters
distance_threshold=1.5Plane Splitting
keep_positive_side=FalsePlane Proximity Filter
distance_threshold=1Subtract Point Clouds
distance_threshold=1DBSCAN Clustering
max_distance=3.5min_points=600print_progress=TrueInput Point Cloud
Output: Detected Objects with Bounding Boxes
Example 2: Detecting Consumer Goods
Pipeline Parameters
voxel_size=3Plane Segmentation
distance_threshold=1Plane Splitting
keep_positive_side=FalsePlane Proximity Filter
distance_threshold=3Subtract Point Clouds
distance_threshold=11DBSCAN Clustering
max_distance=20min_points=100print_progress=TrueInput Point Cloud
Output: Detected Objects with Bounding Boxes
The Code
INFO
The runnable implementation will be available soon to you.
Meanwhile, you’re encouraged to explore the individual Skills to better understand each step of the pipeline.
Alternate Pipeline
While the Object Detection Pipeline Example focuses on geometric segmentation and localization using clustering and bounding boxes, some applications require precise alignment and pose estimation between point clouds.
In such cases, an ICP Registration Pipeline Example can be used as an alternative or follow-up step. You can experiment and explore using ICP Registration Pipeline Example.

