Train Point Cloud Object Detection Model (3D Analyst Tools)
Summary
Trains an object detection model for point clouds using deep learning.
Usage
This tool requires the installation of Deep Learning Essentials, which provides multiple neural network solutions that include neural architectures for classifying point clouds.
To set up your machine to use deep learning frameworks in ArcGIS Pro, see Install deep learning frameworks for ArcGIS.
If you will be training models in a disconnected environment, see Additional Installation for Disconnected Environment for more information.
Using a pretrained model in the training process is helpful, especially when you have limitations in data, time, or computational resources. Pretrained models reduce the need for extensive training and provide a reliable starting point for quickly creating a useful model. To use a pretrained model, the new training data must be compatible with the pretrained model. This means that the new training data must have the same attributes and object codes as the training data that was used to create the pretrained model. If object codes in the training data do not match the codes in the pretrained model, the training data's object codes must be remapped accordingly.
The point cloud object detection model can only be trained using a CUDA-capable NVIDIA graphics card. When the Processor Type environment is not set to a computer with CUDA-capable graphics cards, the card with the most optimal hardware will be used for training. Otherwise, a specific graphics card can be assigned in the GPU ID environment setting.
The following metrics will be reported during the training process:
Epoch—The epoch number with which the result is associated
Training Loss—The result of the entropy loss function that was averaged for the training data
Validation Loss—The result of the entropy loss function that was determined when applying the model trained in the epoch on the validation data
Average Precision—The ratio of points in the validation data that were correctly classified by the model trained in the epoch (true positives) over all the points in the validation data
A model that achieves low training loss but high validation loss is considered to be overfitting the training data, whereby it detects patterns from artifacts in the training data that result in the model not working well for the validation data. A model that achieves a high training loss and a high validation loss is considered to be underfitting the training data in which no patterns are learned effectively enough to produce a usable model.
A folder is created to store the checkpoint models, which are models that are created at the end of each epoch. The checkpoints folder name begins with the same name as the model and ends with a suffix of
.checkpoints. It is stored in the Output Model Location parameter value.
Parameters
| Label | Explanation | Data type |
|---|---|---|
|
Input Training Data |
The point cloud object detection training data ( |
File |
|
Output Model Location |
An existing folder that will store the new directory containing the deep learning model. |
Folder |
|
Output Model Name |
The name of the output Esri model definition file ( |
String |
|
Pre-trained Model Definition File (Optional) |
The pretrained object detection model that will be refined. When a pretrained model is provided, the input training data must have the same attributes and maximum number of points that were used by the training data that generated the model. |
File |
|
Architecture (Optional) |
Specifies the architecture that will be used to train the model.
|
String |
|
Attribute Selection (Optional) |
Specifies the point attributes that will be used with the classification code when training the model. Only the attributes that are present in the point cloud training data will be available. No additional attributes are included by default.
|
String |
|
Minimum Points Per Block (Optional) |
The minimum number of points that must be present in a given block for it to be used when training the model. The default is 0. |
Long |
|
Remap Object Codes (Optional) |
Defines how object codes will be remapped to new values before training the deep learning model. Value table columns:
|
Value Table |
|
Object Codes of Interest (Optional) |
The object codes that will be used to filter the objects in the training data. When object codes are provided, the objects that are not included will be ignored. |
Long |
|
Only train blocks that contain objects (Optional) |
Specifies whether the model will be trained using only blocks that contain objects or if all blocks, including those that do not contain objects.
|
Boolean |
|
Object Descriptions (Optional) |
The descriptions for each object code in the training data. Value table columns:
|
Value Table |
|
Model Selection Criteria (Optional) |
Specifies the statistical basis that will be used to determine the final model.
|
String |
|
Maximum Number of Epochs (Optional) |
The number of times each block of data will be passed forward and backward through the neural network. The default is 25. |
Long |
|
Learning Rate Strategy (Optional) |
Specifies how the learning rate will be modified during training.
|
String |
|
Learning Rate (Optional) |
The rate at which existing information will be overwritten with new information. If no value is provided, the optimal learning rate will be extracted from the learning curve during the training process. This is the default. |
Double |
|
Batch Size (Optional) |
The number of training data blocks that will be processed at any given time. The default is 2. |
Long |
|
Stop training when model no longer improves (Optional) |
Specifies whether the model training will stop when the metric specified in the Model Selection Criteria parameter value does not register any improvement after five consecutive epochs.
|
Boolean |
|
Architecture Settings (Optional) |
The architecture settings that can be modified to improve training results. Value table columns:
|
Value Table |
Derived output
| Label | Explanation | Data type |
|---|---|---|
|
Output Model |
The output object detection model that is produced. |
File |
|
Output Epoch Statistics |
The output ASCII table that contains the epoch statistics that were obtained during the training process. |
Text File |
Environments
Licensing information
- Basic: Requires 3D Analyst
- Standard: Requires 3D Analyst
- Advanced: Requires 3D Analyst