Updated 28 Apr 2022
Semantic segmentation of large multi-resolution satellite imagery tiles is ideally suited to blockedImage workflows - where only part of the image is loaded for training at one time. This is a much faster workflow as the size of the tiles can be tuned to fit within GPU RAM.
This example walks through the process of:
- Importing a pre-labelled ground truth object
- Modifying the paths of the ground truth to match this training machine
- Converting the large satellite images to blockedImageDatastores
- Building and training, with validation, a semantic segmentation network on blockedImages
- Testing on out of sample data that was not used in the training set.
The satellite data used in this example is based on SPOT 6/7 Imagery and is reused from the New South Wales Spatial Data Portal and is licensed under a Creative Commons Attribution 3.0 License with additional acknowledgement to Airbus (© CNES (2020) DISTRIBUTION AIRBUS DS) as the original provider of the data to the NSW Government.
To run open and execute buildAndTrainNet.mlx.
If you have moved the two data folders:
Outside the MATLAB Project folder you will have to change lines 7 and 11, respectively to point to the new data folder locations.
MathWorks Products (http://www.mathworks.com)
Requires MATLAB release R2021b or newer
The license for is available in the LICENSE.TXT file in this GitHub repository.
Copyright 2021 The MathWorks, Inc.
Peter Brady (2022). satellite-image-semantic-segmentation (https://github.com/matlab-deep-learning/satellite-image-semantic-segmentation/releases/tag/1.0.2), GitHub. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!