Main Content

Segmentation

Segment point cloud data using deep learning and geometric algorithms

Semantic segmentation clusters the points of a 3-D point cloud by using their similar characteristics, and associates each point with a class label such as car, building, ground, or vegetation.

You can segment a point cloud based on edges, neighboring point properties, and geometric shapes such as cuboid, plane, and cylinder. Lidar Toolbox™ includes functions and workflows for geometric segmentation of point clouds. For more information, see the Terrain Classification for Aerial Lidar Data example.

Lidar Toolbox also supports semantic segmentation using deep learning. You can use the included pretrained PointSeg, SqueezeSegV2, and PointNet++ convolutional neural networks (CNNs) or develop custom segmentation models. For a segmentation workflow using a PointNet++ network, see Aerial Lidar Semantic Segmentation Using PointNet++ Deep Learning.

Semantic segmentation in lidar point clouds.

Functions

expand all

segmentGroundSMRFSegment ground from lidar data using a SMRF algorithm (Since R2021a)
segmentLidarDataSegment organized 3-D range data into clusters
segmentGroundFromLidarDataSegment ground points from organized lidar data
segmentCurbPointsSegment curb points from point cloud (Since R2022b)
pcsegdistSegment point cloud into clusters based on Euclidean distance
pcsegplanesSegment point cloud into planar surfaces (Since R2024b)

Load Training Data

combineCombine data from multiple datastores
countEachLabelCount occurrence of pixel or box labels
groundTruthGround truth label data
imageDatastoreDatastore for image data
pixelLabelDatastoreDatastore for pixel label data

Augment and Preprocess Training Data

transformTransform datastore
sampleLidarDataSample 3-D bounding boxes and corresponding points from training data (Since R2022a)
pcBboxOversampleRandomly augment point cloud data using objects (Since R2022a)

Define Layers

pointCloudInputLayerPoint cloud input layer (Since R2022b)

Design Networks

pointCloudInputLayerPoint cloud input layer (Since R2022b)
squeezesegv2NetworkCreate SqueezeSegV2 segmentation network for organized lidar point cloud (Since R2024a)
pointnetplusNetworkCreate PointNet++ segmentation network (Since R2024a)

Segment Point Cloud

pcsemanticsegPoint cloud semantic segmentation using deep learning (Since R2022b)
semanticsegSemantic image segmentation using deep learning
segmentAerialLidarVegetationSegment vegetation points from aerial lidar data (Since R2022b)
segmentAerialLidarBuildingsSegment building points from aerial lidar data (Since R2022b)
segmentAerialLidarPowerlineSegment powerline points from aerial lidar data (Since R2023b)
segmentAnythingAerialLidarPerform semantic segmentation of aerial lidar data using pretrained Segment Anything Model (SAM) (Since R2024b)
pcsegsamSegment all objects automatically in lidar point cloud using Segment Anything Model (SAM) (Since R2024b)
randlanet Segment point clouds using RandLA-Net semantic segmentation network (Since R2024a)
segmentObjectsSegment point cloud using RandLA-Net semantic segmentation (Since R2024a)
trainRandlanetTrain RandLA-Net network to perform semantic segmentation (Since R2024a)

Visualize Results

labeloverlayOverlay label matrix regions on 2-D image
pcshowPlot 3-D point cloud

Evaluate Results

evaluateSemanticSegmentationEvaluate semantic segmentation data set against ground truth
segmentationConfusionMatrixConfusion matrix of multi-class pixel-level image segmentation (Since R2020b)

Topics

Featured Examples