Main Content

Getting Started with Semantic Segmentation Using Deep Learning

Segmentation is essential for image analysis tasks. Semantic segmentation describes the process of associating each pixel of an image with a class label, (such as flower, person, road, sky, ocean, or car).

Applications for semantic segmentation include:

  • Autonomous driving

  • Industrial inspection

  • Classification of terrain visible in satellite imagery

  • Medical imaging analysis

Label Training Data for Semantic Segmentation

Large datasets enable faster and more accurate mapping to a particular input (or input aspect). Using data augmentation provides a means of leveraging limited datasets for training. Minor changes, such as translation, cropping, or transforming an image provides new distinct and unique images. See Preprocess Images for Deep Learning

You can use the Image Labeler, Video Labeler, or Ground Truth Labeler (Automated Driving Toolbox) (available in Automated Driving Toolbox™) apps to interactively label pixels and export label data for training. The app can also be used to label rectangular regions of interest (ROIs) and scene labels for image classification.

Train and Test a Semantic Segmentation Network

The steps for training a semantic segmentation network are as follows:

1. Analyze Training Data for Semantic Segmentation

2. Create a Semantic Segmentation Network

3. Train A Semantic Segmentation Network

4. Evaluate and Inspect the Results of Semantic Segmentation

Segment Objects Using Pretrained DeepLabv3+ Network

MathWorks® GitHub repository provides implementations of the latest pretrained deep learning networks to download and use for performing out-of-the-box inference.

For a list of all the latest MathWorks pretrained semantic segmentation models and examples, see MATLAB Deep Learning (GitHub).

See Also

Apps

Functions

Objects

Related Examples

More About