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 Augment Images for Deep Learning Workflows Using Image Processing Toolbox (Deep Learning Toolbox)

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.

To perform semantic segmentation of images by using DeepLabv3+ deep learning network, download the pretrained DeepLabv3+ model from the Pretrained DeepLabv3+ Semantic Segmentation Network GitHub repository. The network is trained on Pascal VOC dataset and can segment 20 different object classes that include airplane, bus, car, train, person, and horse.

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

See Also




Related Examples

More About