You can fine-tune the Cloud Mask Generation (Sentinel-2) model to suit your geographic area, imagery, or features of interest. Fine-tuning a model requires less training data, computational resources, and time compared to training a new model.
Fine-tuning the model is recommended if you do not get satisfactory results from the available ArcGIS pretrained deep learning models. This can happen when your area of interest falls outside the applicable geographies for the models, or if your imagery properties such as resolution, scale, and seasonality are different.
You can use the Export Training Data For Deep Learning tool to prepare training data. Next, you can fine-tune this model on your data using the Train Deep Learning Model tool in ArcGIS Pro. Follow the steps below to fine-tune the model.
Prepare training data
This model is trained on Sentinel-2 L2A BOA Reflectance and polygon features that represent different classes of Cloud based on density. Use the Export Training Data For Deep Learning tool to prepare training data for fine-tuning the model.
- Browse to Tools under the Analysis tab.
- Click the Toolboxes tab in the Geoprocessing pane, select Image Analyst Tools and browse to the Export Training Data For Deep Learning tool in the Deep Learning toolset.
- Set the variables under the Parameters tab as follows:
- For Input Raster, select the Sentinel-2 L2A BOA Reflectance.
- For Output Folder, browse to any directory of your choice on your machine.
- Optionally, for Input Feature Class Or Classified Raster Or Table, browse to a labeled feature class or classified raster.
This feature class should have three classes of cloud based on density (1: Low Density, 2: Medium Density and 3: High Density).
- For Class Value Field, select the ClassValue field referencing the class value (“1”) in the above feature class.
- For Image Format, select TIFF format.
- For Tile Size X, type 256.
- For Tile Size Y—, type 256.
- For Stride X, type 0.
- For Stride Y, type 0.
- For Metadata Format, select Classified Tiles.
- Set the variables under the Environments tab.
- For Processing Extent, select Current Display Extent or any other option from the drop-down menu as needed.
- For Cell Size, set the value to the desired cell size.
- Click Run.
Once processing is complete, the exported training data is saved in the specified directory.
Fine-tune the Cloud Mask Generation (Sentinel-2) model
Complete the following steps to fine-tune the model:
- Browse to Tools under the Analysis tab.
- In the Geoprocessing pane, click the Toolboxes tab and expand Image Analyst Tools. Select the Train Deep Learning Model tool under Deep Learning.
- Set the variables under the Parameters tab as follows:
- For Input Training Data, set the path to your exported training data from the previous step.
- For Output Folder, browse to any directory of your choice on your machine.
- Optionally, for Max Epochs, type the number of iterations you want to fine-tune the model for.
Epoch is the number of iterations the tool will take to go over the data.
- For Pre-trained Model, input the Cloud Mask Generation (Sentinel-2) (.dlpk) file downloaded from ArcGIS Living Atlas of the World.
- For Batch Size, type 8. Increase or decrease this number according to your GPU capacity.
Batch size should always be a square number.
- Check Stop when model stops improving.
- Check Freeze Model.
- Set the variables under the Environments tab.
- For Processor Type, select CPU or GPU as needed.
If GPU is available, it is recommended that you select GPU and set GPU ID to the GPU to be used.
- For Processor Type, select CPU or GPU as needed.
- Click Run.
You can now use this model to run inferencing against your imagery.