What's New in ENVI Deep Learning 1.2
ENVI Deep Learning 1.2 contains many exciting improvements to usability and training models. Refer to the Deep Learning Help for instructions on using the tools and API. Access the help by selecting Help > Contents from the ENVI menu bar. Then click "ENVI Deep Learning" in the table of contents on the left side of the help page.
ENVI Deep Learning 1.2 provides the capability to train and classify object detection models. Object detection can be used to locate features with similar spatial, spectral, and textural characteristics. This is different than previous versions of ENVI Deep Learning that located features only on a pixel-by-pixel basis (referred to as pixel segmentation). While that method is still available, object detection is new to this release. Object detection can be used to extract objects that touch or overlap, unlike pixel segmentation. ENVI uses the RetinaNet convolutional neural network (CNN) for object detection.
The following image shows an example of using object detection to locate ships. Red bounding boxes mark the locations of ships. Click on the thumbnail to see a larger image.
Object detection involves these steps:
- Label features in one or more images by drawing bounding boxes around them. Bounding boxes can be in the form of rectangle annotations or polygon regions of interest (ROIs).
- Pass the labeled images (called object detection rasters) to a trainer. The result is a trained model in HDF5 format.
- Classify the same or other rasters using the trained model. The result is a set of bounding boxes drawn around identified features. Each box belongs to a particular class.
A number of changes were implemented to support object detection:
- The Deep Learning Guide Map provides a guided path to label, train, and classify object detection models.
- The Deep Learning Labeling Tool has a new Project Type drop-down list that lets you set up an Object Detection or Pixel Segmentation project. If you select Object Detection, the Labeling Tool lets you draw rectangle annotations around features of interest. You can also import existing annotation files for labeling. The Labeling Tool automatically creates object detection rasters when you are finished with labeling. You can then proceed with training within the Labeling Tool.
- Mask-based pixel segmentation models (ENVINet5 and ENVINetMulti) had to be explicitly initialized before training could occur, except when using the Labeling Tool to train the models. With object detection, model initialization occurs automatically without any user input.
New standalone tools are also available for object detection. Access them from the ENVI Toolbox or the Tools menu in the Guide Map:
- Build Object Detection Raster From Annotation
- Build Object Detection Raster From ROI
- Postprocess Classification Vector
- Train TensorFlow Object Model
- TensorFlow Object Classification
- View Object Detection Raster Labels
See the following topics in ENVI Deep Learning Help to learn more about object detection:
- Object Detection
- Object Detection Tutorial
- Annotate Images for Object Detection
The following objects are new:
- ENVIBoundingBoxSet: Add and manage bounding box information in object detection rasters, instead of drawing rectangle annotations on training rasters.
- ENVIDeepLearningGeoJSONToROI: Convert GeoJSON code with bounding box information to polygon regions of interest (ROIs).
- ENVIDeepLearningROIToGeoJSON: Convert polygon ROIs with bounding box information to GeoJSON code.
- ENVIDeepLearningObjectDetectionRaster: Construct a lightweight ENVIDeepLearningRaster subclass from a file that can be used with ENVITasks in ENVI Deep Learning. It contains additional GeoJSON information about bounding boxes, stored in the metadata. The bounding boxes are used for object detection.
- ENVITensorFlowObjectModel: Create a TensorFlow object detection model.
The following tasks are new:
- BuildObjectDetectionRasterFromAnnotation: Build an object detection raster from an input raster and an annotation file indicating features of interest.
- BuildObjectDetectionRasterFromROI: Build an object detection raster from an input raster and a ROI file indicating features of interest.
- PostProcessObjectClassification: Refine an object classification shapefile produced by the TensorFlowObjectClassification task.
- TensorFlowObjectClassification: Classify a raster using a trained object detection model.
- TrainTensorFlowObjectModel: Train a TensorFlow model for object detection.