Skip to content

Commit 486dbb3

Browse files
committed
old guides reference bug changes.
1 parent 1c8379b commit 486dbb3

File tree

3 files changed

+26
-26
lines changed

3 files changed

+26
-26
lines changed

guide/14-deep-learning/point_cloud_classification_using_randlanet.ipynb

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"cell_type": "markdown",
2929
"metadata": {},
3030
"source": [
31-
"The `arcgis.learn` module has an efficient point cloud classification model called RandLA-Net <a href=\"#References\">[1]</a>, which can be used to classify a large number of points in a point cloud dataset. In general, point cloud datasets are gathered using LiDAR sensors, which apply a laser beam to sample the earth's surface and generate high-precision x, y, and z points. These points, are known as 'point clouds' and are commonly generated through the use of terrestrial and airborne LiDAR.\n",
31+
"The `arcgis.learn` module has an efficient point cloud classification model called RandLA-Net <a href=\"#references\">[1]</a>, which can be used to classify a large number of points in a point cloud dataset. In general, point cloud datasets are gathered using LiDAR sensors, which apply a laser beam to sample the earth's surface and generate high-precision x, y, and z points. These points, are known as 'point clouds' and are commonly generated through the use of terrestrial and airborne LiDAR.\n",
3232
"\n",
3333
"Point clouds are collections of 3D points that carry the location, measured in x, y, and z coordinates. These points also have some additional information like 'GPS timestamps', 'intensity', and 'number of returns'. The intensity represents the returning strength from the laser pulse that scanned the area, and the number of returns shows how many times a given pulse returned. LiDAR data can also be fused with RGB (red, green, and blue) bands, derived from imagery taken simultaneously with the LiDAR survey. \n",
3434
"\n",
@@ -63,7 +63,7 @@
6363
"source": [
6464
"When it comes to classifying point clouds, deep learning and neural networks are a great choice since they offer a scalable and efficient architecture. They have enormous potential to make manual or semi-assisted classification modes of point clouds a thing of the past. With that in mind, we can take a closer look at the RandLA-Net model included in `arcgis.learn` and how it can be used for point cloud classification.\n",
6565
"\n",
66-
"RandLA-Net is a unique architecture that utilizes random sampling and a local feature aggregator to improve efficient learning and semantic segmentation on a large-scale for point clouds. Compared to existing approaches, RandLA-Net is up to 200 times faster and surpasses state-of-the-art benchmarks like Semantic3D and SemanticKITTI. Its effective local feature aggregation approach preserves complex local structures and delivers significant memory and computational gains over other methods <a href=\"#References\">[1]</a>."
66+
"RandLA-Net is a unique architecture that utilizes random sampling and a local feature aggregator to improve efficient learning and semantic segmentation on a large-scale for point clouds. Compared to existing approaches, RandLA-Net is up to 200 times faster and surpasses state-of-the-art benchmarks like Semantic3D and SemanticKITTI. Its effective local feature aggregation approach preserves complex local structures and delivers significant memory and computational gains over other methods <a href=\"#references\">[1]</a>."
6767
]
6868
},
6969
{
@@ -83,7 +83,7 @@
8383
"</center>\n",
8484
"</p>\n",
8585
"<br>\n",
86-
"<center>Figure 2. The detailed architecture of RandLA-Net. (N, D) represents the number of points and feature dimension respectively. FC: Fully Connected layer, LFA: Local Feature Aggregation, RS: Random Sampling, MLP: shared Multi-Layer Perceptron, US: Up-sampling, DP: Dropout <a href=\"#References\">[1]</a>.</center>"
86+
"<center>Figure 2. The detailed architecture of RandLA-Net. (N, D) represents the number of points and feature dimension respectively. FC: Fully Connected layer, LFA: Local Feature Aggregation, RS: Random Sampling, MLP: shared Multi-Layer Perceptron, US: Up-sampling, DP: Dropout <a href=\"#references\">[1]</a>.</center>"
8787
]
8888
},
8989
{
@@ -105,7 +105,7 @@
105105
"- The final semantic label of each point is predicted by three fully-connected layers, (N, 64) → (N, 32) → (N, n<sub>class</sub>), and a dropout layer. The dropout ratio is 0.5.\n",
106106
"\n",
107107
"\n",
108-
"- The output of RandLA-Net is the predicted semantics of all points, with a size of N × n<sub>class</sub>, where n<sub>class</sub> is the number of classes <a href=\"#References\">[1]</a>.\n"
108+
"- The output of RandLA-Net is the predicted semantics of all points, with a size of N × n<sub>class</sub>, where n<sub>class</sub> is the number of classes <a href=\"#references\">[1]</a>.\n"
109109
]
110110
},
111111
{
@@ -125,7 +125,7 @@
125125
"</center>\n",
126126
"</p>\n",
127127
"<br>\n",
128-
"<center>Figure 3. RandLA-Net utilizes downsampling of point clouds at each layer, while still preserving important features required for precise classification <a href=\"#References\">[1]</a>.</center>"
128+
"<center>Figure 3. RandLA-Net utilizes downsampling of point clouds at each layer, while still preserving important features required for precise classification <a href=\"#references\">[1]</a>.</center>"
129129
]
130130
},
131131
{
@@ -153,7 +153,7 @@
153153
"</center>\n",
154154
"</p>\n",
155155
"<br>\n",
156-
"<center>Figure 4. Illustration of the dilated residual block which significantly increases the receptive field (dotted circle) of each point, colored points represent the aggregated features. L: Local spatial encoding, A: Attentive pooling <a href=\"#References\">[1]</a>.</center>"
156+
"<center>Figure 4. Illustration of the dilated residual block which significantly increases the receptive field (dotted circle) of each point, colored points represent the aggregated features. L: Local spatial encoding, A: Attentive pooling <a href=\"#references\">[1]</a>.</center>"
157157
]
158158
},
159159
{
@@ -164,7 +164,7 @@
164164
"\n",
165165
"In an attentive pooling unit, the attention mechanism is used to automatically learn important local features and aggregate neighboring point features while avoiding the loss of crucial information. It also maintains the focus on the overall objective, which is to learn complex local structures in a point cloud by considering the relative importance of neighboring point features.\n",
166166
"\n",
167-
"Lastly in the dilated residual block unit, the receptive field is increased for each point by stacking multiple LocSE and Attentive Pooling units. This dilated residual block operates by cheaply dilating the receptive field and expanding the effective neighborhood through feature propagation (see Figure 4). Stacking more and more units enhances the receptive field and makes the block more powerful, which may compromise the overall computation efficiency and lead to overfitting. Hence, in RandLA-Net, two sets of LocSE and Attentive Pooling are stacked as a standard residual block to achieve a balance between efficiency and effectiveness <a href=\"#References\">[1]</a>."
167+
"Lastly in the dilated residual block unit, the receptive field is increased for each point by stacking multiple LocSE and Attentive Pooling units. This dilated residual block operates by cheaply dilating the receptive field and expanding the effective neighborhood through feature propagation (see Figure 4). Stacking more and more units enhances the receptive field and makes the block more powerful, which may compromise the overall computation efficiency and lead to overfitting. Hence, in RandLA-Net, two sets of LocSE and Attentive Pooling are stacked as a standard residual block to achieve a balance between efficiency and effectiveness <a href=\"#references\">[1]</a>."
168168
]
169169
},
170170
{
@@ -419,9 +419,9 @@
419419
],
420420
"metadata": {
421421
"kernelspec": {
422-
"display_name": "Python 3 (ipykernel)",
422+
"display_name": "Python [conda env:conda-arcgispro-py3-clone] *",
423423
"language": "python",
424-
"name": "python3"
424+
"name": "conda-env-conda-arcgispro-py3-clone-py"
425425
},
426426
"language_info": {
427427
"codemirror_mode": {
@@ -433,7 +433,7 @@
433433
"name": "python",
434434
"nbconvert_exporter": "python",
435435
"pygments_lexer": "ipython3",
436-
"version": "3.11.10"
436+
"version": "3.11.11"
437437
},
438438
"toc": {
439439
"base_numbering": 1,

guide/14-deep-learning/point_cloud_classification_using_sqn.ipynb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"cell_type": "markdown",
2727
"metadata": {},
2828
"source": [
29-
"SQN <a href=\"#References\">[1]</a> is a point cloud classification model available in the `arcgis.learn` module, designed to efficiently classify a vast amount of point clouds. Typically, LiDAR sensors use laser technology to survey the earth's surface, generating precise 3D coordinates (x, y, and z) that form point clouds. These points also have some additional information like 'GPS timestamps', 'intensity', and 'number of returns'. The intensity represents the returning strength from the laser pulse that scanned the area, and the number of returns shows how many times a given pulse returned. LiDAR data can also be fused with RGB (red, green, and blue) bands, derived from imagery taken simultaneously with the LiDAR survey. \n",
29+
"SQN <a href=\"#references\">[1]</a> is a point cloud classification model available in the `arcgis.learn` module, designed to efficiently classify a vast amount of point clouds. Typically, LiDAR sensors use laser technology to survey the earth's surface, generating precise 3D coordinates (x, y, and z) that form point clouds. These points also have some additional information like 'GPS timestamps', 'intensity', and 'number of returns'. The intensity represents the returning strength from the laser pulse that scanned the area, and the number of returns shows how many times a given pulse returned. LiDAR data can also be fused with RGB (red, green, and blue) bands, derived from imagery taken simultaneously with the LiDAR survey. \n",
3030
"\n",
3131
"Point cloud classification is based on the type of object that reflected the laser pulse. For example, a point that reflects off the ground is classified into the ground category. LiDAR points can be classified into different categories like buildings, trees, highways, water, etc. These different classes have numeric codes assigned to them."
3232
]
@@ -59,7 +59,7 @@
5959
"source": [
6060
"When it comes to classifying point clouds, deep learning and neural networks are a great choice since they offer a scalable and efficient architecture. They have enormous potential to make manual or semi-assisted classification modes of point clouds a thing of the past. With that in mind, we can take a closer look at the SQN model included in `arcgis.learn` and how it can be used for point cloud classification.\n",
6161
"\n",
62-
"SQN is a novel approach for semantic segmentation of 3D point cloud data, which can achieve high performance even with a small percentage of labeled data for training. It is based on a feature extractor that encodes the raw point cloud into a set of hierarchical latent representations, which can be queried using an arbitrary point position within a local neighborhood. The queried representations are then summarized into a compact vector, which is fed into a multilayer perceptron (MLP) to predict the final semantic label. Additionally, SQN takes into account the semantic similarity between neighboring 3D points, which allows it to back-propagate the sparse training signals to a wider spatial region and hence achieve superior performance under weak supervision <a href=\"#References\">[1]</a>."
62+
"SQN is a novel approach for semantic segmentation of 3D point cloud data, which can achieve high performance even with a small percentage of labeled data for training. It is based on a feature extractor that encodes the raw point cloud into a set of hierarchical latent representations, which can be queried using an arbitrary point position within a local neighborhood. The queried representations are then summarized into a compact vector, which is fed into a multilayer perceptron (MLP) to predict the final semantic label. Additionally, SQN takes into account the semantic similarity between neighboring 3D points, which allows it to back-propagate the sparse training signals to a wider spatial region and hence achieve superior performance under weak supervision <a href=\"#references\">[1]</a>."
6363
]
6464
},
6565
{
@@ -79,7 +79,7 @@
7979
"</center>\n",
8080
"</p>\n",
8181
"<br>\n",
82-
"<center>Figure 2. Architecture of SQN, depicting the training stage with weak supervision. Here, only one query point is shown for simplicity <a href=\"#References\">[1]</a>.</center>"
82+
"<center>Figure 2. Architecture of SQN, depicting the training stage with weak supervision. Here, only one query point is shown for simplicity <a href=\"#references\">[1]</a>.</center>"
8383
]
8484
},
8585
{
@@ -91,7 +91,7 @@
9191
"\n",
9292
"The Point Local Feature Extractor component of SQN aims to extract local features for all points using a hierarchical approach, while the Point Feature Query Network is designed to collect relevant features with the help of a 3D query point, using the training signals to be shared and back-propagated for the relevant points.\n",
9393
"\n",
94-
"After the features are extracted using the Point Local Feature Extractor and relevant features are collected using the Point Feature Query Network, the unique and representative feature vector for the query point is obtained. This feature vector is then fed into the final component of SQN, which is a series of MLPs that directly infer the point semantic category (see Figure 2.) <a href=\"#References\">[1]</a>.\n"
94+
"After the features are extracted using the Point Local Feature Extractor and relevant features are collected using the Point Feature Query Network, the unique and representative feature vector for the query point is obtained. This feature vector is then fed into the final component of SQN, which is a series of MLPs that directly infer the point semantic category (see Figure 2.) <a href=\"#references\">[1]</a>.\n"
9595
]
9696
},
9797
{
@@ -380,9 +380,9 @@
380380
],
381381
"metadata": {
382382
"kernelspec": {
383-
"display_name": "Python 3 (ipykernel)",
383+
"display_name": "Python [conda env:conda-arcgispro-py3-clone] *",
384384
"language": "python",
385-
"name": "python3"
385+
"name": "conda-env-conda-arcgispro-py3-clone-py"
386386
},
387387
"language_info": {
388388
"codemirror_mode": {
@@ -394,7 +394,7 @@
394394
"name": "python",
395395
"nbconvert_exporter": "python",
396396
"pygments_lexer": "ipython3",
397-
"version": "3.11.10"
397+
"version": "3.11.11"
398398
},
399399
"toc": {
400400
"base_numbering": 1,

0 commit comments

Comments
 (0)