ArcGIS Blog

3D Visualization & Analytics

ArcGIS API for Python

Dev Summit 2020: Use AI to extract data from LiDAR point clouds

By Kimberly Peter

You can automatically label and extract data from LiDAR point clouds using the Learn module of ArcGIS API for Python. This is possible because the Learn module now includes the ready-to-train PointCNN neural network. You can easily train PointCNN to detect the objects your organization requires.

At this year’s Developer Summit, Dmitry Kudinov demonstrated how to use a PointCNN model. He completed the workflow he earlier described in the blog PointCNN: replacing 50,000 man hours with AI but, this time, he used ArcGIS API for Python to achieve similar results with streamlined coding and data processing.

 

Dmitry trained the PointCNN model to detect and label wires and utility poles in an airborne LiDAR point cloud. Previously, this was the most labor-intensive part of identifying the electric utility line’s safety corridor for monitoring vegetation and encroachments.

You can watch the presentation below. Following that is a summary of the process and links to additional resources.

The process starts with the raw LiDAR point cloud as seen below.

Raw point cloud
The raw LiDAR point cloud

Next, train the PointCNN model to detect utility wires and poles.

Training the PointCNN model to detect wires and poles
Training PointCNN model to detect wires and poles

The next image shows the utility lines and poles generated by the PointCNN model (on bottom) compared to the lines and poles labelled manually (on top). Manual labels took thousands of hours to create, whereas the PointCNN model completed in a few minutes.

Comparison of manual labeling vs predictive model
The PointCNN model results are comparable to manual labeling but take fraction of the time.

See these resources for information on using ArcGIS API for Python:

Share this article

Subscribe
Notify of
0 Comments
Oldest
Newest
Inline Feedbacks
View all comments