Accurate 3D information of transmission power lines is crucial for detecting potential hazards, such as vegetation encroachment, and for assessing the structural stability of the power lines. Lidar techniques enable fast, precise, and cost-effective acquisition of power lines as 3D point clouds, making it a key technology for obtaining this information.
However, extracting power line points from lidar point clouds remains challenging, particularly when trees or other objects are in close proximity. Traditional approaches often rely on rule-based algorithms and manual editing, which can be time-consuming and error-prone in complex environments. Deep learning presents a powerful alternative by training models to learn and recognize patterns from the data, enabling more accurate and automated classification.
ArcGIS Pro provides point cloud deep learning tools that support the training of power line classification models and applying them to classify power lines within lidar point clouds.
Software and hardware requirements:
- ArcGIS Pro with the 3D Analyst extension
- Deep learning libraries, which can be installed using the Deep Learning Libraries Installer for ArcGIS
- NVIDIA graphics card with CUDA compute capability and a minimum of 8 GB of dedicated graphics memory
Data requirements:
- Airborne lidar point clouds captured from aircraft, helicopters, or drones
- Average point spacing of less than 1 feet to ensure sufficient details for classifying power lines
Recommendations
It's important to follow general guidelines for training a deep learning classification model, assessing training results, and classifying a point cloud using the trained model. The following recommendations are specifically for power line classification:
Select representative training samples
Transmission power lines span diverse terrains with varying environmental conditions. Including point clouds from different terrain types captures this variability and improves model robustness. Power lines also differ in height and materials, so incorporating samples that reflect these variations helps the model learn different types of power lines. Vegetation around power lines varies in type and density as well, and using diverse vegetation samples enables the model to better distinguish power lines from nearby foliage.
Focus training on the power line proximity area
Transmission power lines are typically installed within designated corridors and at specific heights to maintain safe clearance. Over time, vegetation in these areas can encroach on the power lines, making it difficult to distinguish power lines from nearby foliage.
To improve model accuracy, exclude lidar points beyond a certain distance from the power lines during training. This focuses the model on the power line vicinity, helping it to learn more relevant distinctions while reducing dataset volume and improving training efficiency.
Use attributes to distinguish power lines from other features
Power lines are linear features typically located within a defined height range above the ground. The Relative Height attribute is particularly useful for identifying them, especially when ground points are excluded from the training data, relative height provides more meaningful context than absolute elevation.
For low-voltage power lines, Intensity is another helpful attribute as they often return lower intensity values compared to other features. In contrast, high-voltage power lines tend to reflect laser pulses with higher intensity values similar to other objects, making intensity less reliable for identifying them.
Mitigate the effects of imbalanced data
Imbalanced data occurs when some classes have significantly more examples than others, causing the model to bias toward the majority classes. This issue is especially critical in power line classification, where power line points represent a small minority compared to dominant classes such as ground and vegetation.
To mitigate this, reduce the majority-class samples (for example, exclude ground points) during training to minimize bias. Additionally, applying Focal Loss assigns more weight to minority class examples, helping the model to learn more effectively from limited power line data.
Workflow overview
The following workflow starts from unclassified lidar point clouds. If your data is already classified, you can skip the relevant steps.
- Use the Build LAS Dataset Pyramid geoprocessing tool to build LAS pyramids on your LAS dataset to optimize rendering.
- Use the Classify LAS Ground geoprocessing tool to classify ground points.
- Use the LAS Dataset To Raster tool to create a DEM and DSM raster.
- Use the Minus geoprocessing tool to create a normalized DSM (DSM - DEM) to highlight the power lines. Create processing boundaries that enclose all power lines with an appropriate buffer distance (for example, 10 meters).

Power lines in the normalized DSM raster, with tan lines showing the processing boundaries. - Label power lines using the Classify Point Cloud Using Trained Model geoprocessing tool if a suitable model is available. If not, you can manually label power line points through profile editing, or use the Classify LAS By Height geoprocessing tool and correct any misclassified points, such as towers and vegetation, within the specified power line height range using the interactive editing tools.

Manual classification of powerlines in the profile viewer. Note:
You can also use the Classify LAS By Height geoprocessing tool to classify points that are above or below the power lines' height range. These points, along with ground points, can be excluded from training to reduce dataset size and focus model training on the power line vicinity.
- Split data into training and validation subsets, for example, 80:20 ratio.
- Prepare training data by using the Prepare Point Cloud Training Data geoprocessing tool to export training and validation blocks. Additional details in the section below.
- Train the model by using the Train Point Cloud Classification Model geoprocessing tool. Additional details in the section below.
- Classify power lines by using the Classify Point Cloud Using Trained Model geoprocessing tool. Additional details in the section below.
Use the Prepare Point Cloud Training Data geoprocessing tool
LAS datasets must be converted into smaller training blocks before they can be used in model training. The Prepare Point Cloud Training Data geoprocessing tool exports LAS data into these blocks. Below is a summary of key parameters and usage guidance for power line classification.
Training Boundary Features and Validation Boundary Features: Use boundary polygons to export only points near power lines, focusing training on relevant areas.
Reference Surface: Provide a DEM raster to calculate relative height values. This attribute is critical for distinguishing power lines from other features.
Excluded Class Codes: Exclude classes outside the power line height range (for example, ground, low/medium height, noise) from the training data. Ground points, in particular, often constitute a large portion of the dataset, so removing them significantly reduces data volume and speeds up training.
Block Size and Block Point Limit: These parameters control the number of points included in each block. Set them by balancing point density, object size, GPU memory, and batch size. Some experiments may be needed to determine the optimal configuration for your dataset and hardware.
Note:
- A good rule of thumb is to set a block size large enough to capture objects of interest with minimal subsampling, ensuring preservation of critical features and sufficient detail in the training data.
- The block size and the number of points it contains depend largely on your GPU memory. Larger block and denser point clouds increase memory usage. The block point limit controls the maximum number of points per block. If exceeded, the block splits into multiple blocks. For example, if a block containing 10,000 points with a point limit of 3,000 will be split into four blocks, each containing 3,000 randomly sampled points (note some points may be duplicated in two blocks).
- Batch size controls the number of blocks processed concurrently on the GPU. A larger batch size uses more GPU memory, while a smaller batch size requires less.
- Adjust these parameters according to your GPU memory. For a high-memory GPU, you can choose a larger block size (to capture more context), a higher block point limit (to reduce subsampling), and a larger batch size for faster and more stable training.
After the tool completes, review the histograms in the Messages to assess whether the block size and block point limit are appropriate. The output training data is saved in a folder with a .pctd extension, containing two subfolders: “train” and “val”, which include the exported training and validation data, respectively. Point data is stored in .h5 files and organized into blocks.

Use the Train Point Cloud Classification Model geoprocessing tool
Use the training data exported by the Prepare Point Cloud Training Data tool to train a classification model. If an appropriate pretrained power line classification model is available, you can fine-tune it with your data; otherwise, train a new model from scratch. Below is the list of the tool’s parameters, with guidance on how to configure them for power line classification.
Pre-Trained Model: Choose a suitable pretrained model if available. Ensure your training data matches the model's attributes, class codes, and maximum points used during its original training.
Model Architecture: For power line classification, Point Transformer V3 is preferred for its best performance and highest accuracy, particularly in identifying minor classes. RandLA-Net is also recommended—efficient in memory usage while still producing accurate results. In contrast, PointCNN requires more GPU memory and often yields lower accuracy. While the Semantic Query Network can train effective models with limited sampled data, It is less suitable here. Power lines are linearly distributed and constitute only a small portion of the dataset, so randomly sampling power lines may lead to the loss of key local features and reduce the model's accuracy.
Attribute Selection: Select Relative Height, and for low-voltage powerlines, also select Intensity. These attributes help distinguish power lines from other objects in the point cloud.

Class Remapping: Remap all non-power line classes to a background class. This helps the model focus on distinguishing power lines from a single background class, simplifying the classification, speeding up training, and often enhancing model accuracy by reducing complexity.
Loss Function: Choose the Focal Loss function to address class imbalance by assigning more weight on the minority class power lines.
Model Selection Criteria: Select the default Recall option, which calculates the macro-average recall across all class codes.
Minimum Points Per Block: Blocks with fewer points than the specified value will be excluded from training. Skipping blocks that contain only a few power line points can speed up training and improve the model's learning efficiency.
Maximum Number of Epochs: Use the default setting of 25 epochs. If the model continues to improve after 25 epochs, you can further refine it as a pretrained model.
Iteration Per Epoch (%): Keep the default value of 100 to pass the entire training data in each epoch.
Learning Rate Strategy: Keep the default One Cycle Learning Rate option. This strategy dynamically adjusts the learning rate throughout training, starting with a lower rate, rising to a peak, and then decreasing. It accelerates convergence, prevents overfitting, and helps the model find better local minima, improving both training speed and model accuracy.
Learning Rate: If you're unsure how to set this parameter, leave it blank to allow the tool to automatically calculate the optimal learning rate.
Batch Size: Batch size specifies how many blocks are processed at a time. The training data is divided into batches. For example, with a batch size of 20, 1,000 blocks are split into 50 batches, all of which are processed in one epoch. Smaller batch sizes help stabilize training and are suitable for GPUs with limited memory, though they may increase training time. Larger batch sizes speed up training but require significantly more memory and may affect generalization. Finding the optimal batch size requires balancing GPU memory, training speed, and model accuracy, often through experimentation.
Stop training when model no longer improves: Enable this option to stop training if the model shows no improvement after 5 epochs, helping to prevent overfitting.
During the training, monitor the training process by tracking changes in training loss, validation loss, and recall.
Note:
As each epoch progresses, a decrease in training loss and validation loss along with an increase in recall indicates that the model is learning.
The output consists of two folders. One is the model folder, which contains the saved model with the best overall recall. The other is the checkpoints folder, which contains models saved at each epoch checkpoint.
For power line classification, the model with the best overall recall (macro average recall of power line and background) may not be the best at classifying power lines. The best model for power line classification is the model with the highest recall for power lines. Open the Epoch_Statistics.csv file in the checkpoints folder, locate the epoch with the highest recall for power lines, and use the corresponding model to classify the power lines.
Use the Classify Point Cloud Using Trained Model geoprocessing tool
When classifying point clouds using the trained model, ensure the lidar data to be classified is similar to the training data. If you used processing boundaries, a DEM surface, or excluded certain class codes during training data preparation, apply the same settings here. The following guides will help you configure the parameters effectively for power line classification.
Input Model Definition: Select the checkpoint model with the highest recall for power lines.
Existing Class Code Handling: Choose either Edit Selected Points or Preserve Selected Points to improve classification accuracy. Preclassify the target point clouds, such as ground (class 2), low vegetation (class 3), and medium vegetation (class 4), and specify which class codes to edit or preserve during classification. For example, if medium vegetation is preserved, its class code will remain unchanged, even if the model misclassifies some medium vegetation points as power lines.
Batch Size: If you're unsure how to set this parameter, leave it blank to allow the tool to automatically calculate an optimal batch size based on the available GPU memory.
Processing Boundary, Reference Surface, and Excluded Class Codes: If the power line classification model was trained with any of these inputs, be sure to apply the same settings here.
After the tool completes, examine the results in the Scene view. Use the interactive selection and editing tools to correct any misclassified power line points. Additionally, use the Extract Power Lines From Point Cloud geoprocessing tool to generate 3D lines modeling the power lines. For further analysis, use the Generate Clearance Surface geoprocessing tool to delineate the clearance zone around the power lines. Features within the zone, often trees, are dangerously close to the power lines, posing risks such as power outages or fire hazards, and should be addressed promptly.

Lidar data source acknowledgements:
- NASA Grant NNX13AP69G, the University of Maryland, and the Sonoma County Vegetation Mapping and LiDAR Program.
- For hands-on practice, see the tutorial: Classify power lines using deep learning.