トレーニング済みモデルを使用して点群を分類 (Classify Point Cloud Using Trained Model) (3D Analyst)

サマリー

PointCNN 分類モデルを使用して、点群を分類します。

使用法

  • このツールでは、ディープ ラーニング フレームワークを用いる PointCNN 実装を使用します。

    ArcGIS Pro のディープ ラーニング フレームワークを使用するようにコンピューターを設定するには、「ArcGIS 用のディープ ラーニング フレームワークのインストール」をご参照ください。

  • このツールは、デフォルトで、すべてのポイントを入力点群に分類します。 入力点群の既存のクラス コードが適切に分類される場合は、[既存のクラス コードの処理] および [既存のクラス コード] パラメーターを使用して、編集または保持するクラス コードを指定することで、それらのポイントを必ず変更対象から除外します。

    ディープ ラーニングによる点群分類の詳細

  • 入力点群は、分類モデルを開発するために使用されるトレーニング データと同一で、同様の値範囲の属性を持つ必要があります。 たとえば、トレーニング済みモデルが特定範囲の値を持つ強度属性を使用した場合、点群は同じ範囲の強度値を持っている必要があります。 また、点の密度と分布も、モデルのトレーニングで使用されたデータと同様である必要があります。

  • 入力点群の空間参照が投影座標系を使用していない場合は、出力座標系の環境を使用して、ポイントの分類で使用される投影座標系を定義することができます。

  • [参照サーフェス] パラメーターは、基準高度情報を使用してトレーニングした分類モデルを使用する場合には必須の入力です。 このパラメーターに提供されるラスターは、重複する各ポイントの相対高度属性を取得するために使用されます。 属性は、各ポイントの Z 値を取り、共一次内挿法によってラスターから取得した高さを差し引くことで算出されます。 この情報は、ラスター サーフェスからの相対高度の範囲が明確なクラスに関連付けられたオブジェクトを、より容易に区別するために使用されます。 モデルが相対高度の情報を使用してトレーニングされると、分類のための入力として指定されたラスター サーフェスは、同じ種類のポイントに基づく必要があります。 トレーニング時に相対高度を組み込むために使用されたラスターが地表の分類ポイントに基づく場合、このツールでも同じ種類のラスターを指定します。 屋外調査を表す LAS データセットの場合、相対高度情報の最も一般的なソースは、同じ点群から取得した地表分類ポイントです。 ラスター サーフェスは、レイヤー プロパティから LAS データセットをフィルタリングし、[LAS データセット → ラスター (LAS Dataset To Raster)] ツールを使用することで、地表の分類ポイントから生成できます。 ツールを Python で使用する場合は、[LAS データセット レイヤーの作成 (Make LAS Dataset Layer)] を使用し、ラスターを作成する前に目的のポイントをフィルタリングできます。 地表サーフェスは、[点群 → ラスター (Point Cloud To Raster)] ツールを使用して点群シーン レイヤーから生成することもできます。 入力点群から生成されないラスター サーフェスも使用できますが、ラスターの Z 値が点群の Z 値と適切に対応していることを確認する必要があります。

パラメーター

ラベル説明データ タイプ
ターゲット点群

分類される点群。

LAS Dataset Layer
入力モデル定義

点群の分類で使用される、入力 Esri モデル定義ファイル (*.emd) またはディープ ラーニング パッケージ (*.dlpk)。 ArcGIS Online または ArcGIS Living Atlas で公開されている、ディープ ラーニング パッケージの Web アドレスも使用できます。

File; String
ターゲット分類

入力点群の分類で使用されるトレーニング済みモデルのクラス コード。 サブセットが指定されていない限り、デフォルトにより入力モデルのすべてのクラスが使用されます。

String
既存のクラス コードの処理
(オプション)

入力点群の編集可能ポイントを定義する方法を指定します。

  • すべてのポイントを編集
  • 選択したポイントを編集
  • 選択したポイントを保持
String
既存のクラス コード
(オプション)

[既存のクラス コードの処理] パラメーターの値に基づいて、ポイントが編集されるクラス、または元のクラス コード指定が保持されるクラス。

Long
統計情報の計算
(オプション)

LAS データセットで参照されている *.las ファイルの統計情報を計算するかどうかを指定します。 統計情報を計算することで、*.las ファイルごとの空間インデックスが提供され、解析と表示のパフォーマンスが向上します。 また統計によって、分類コードやリターン情報などの LAS 属性の表示が *.las ファイルに存在する値に制限されるので、フィルタリングとシンボルのエクスペリエンスも強化されます。

  • オン - 統計情報を計算します。 これがデフォルトです。
  • オフ - 統計情報を計算しません。
Boolean
処理境界

入力点群で処理されるポイントのサブセットを定義するポリゴン境界。 境界フィーチャの外側のポイントは評価されません。

Feature Layer
ピラミッドの更新
(オプション)

クラス コードが変更された後に、LAS データセットのピラミッドを更新するかどうかを指定します。

  • オン - LAS データセットのピラミッドを更新します。 これがデフォルトです。
  • オフ - LAS データセットのピラミッドを更新しません。
Boolean
参照サーフェス
(オプション)

点群データの各ポイントの相対高度値を指定するために使用されるラスター サーフェス。 ラスターと重複しないポイントは、解析から除外されます。

Raster Layer
除外されるクラス コード
(オプション)

処理から除外されるクラス コード。 0 ~ 255 の範囲内の任意の値を指定できます。

Long
バッチ サイズ
(オプション)

推論操作中に、ニューラル ネットワークによって同時に処理される点群データ ブロック。 値が指定されない場合は、適切なバッチ サイズは、利用可能な GPU メモリに基づいて計算されます。 所定のブロックによって使用される GPU メモリの量は、モデルで必要となるブロック ポイント制限と点群属性によって異なります。

Long

派生した出力

ラベル説明データ タイプ
出力点群

ディープ ラーニング モデルによって分類された点群。

Feature Layer

arcpy.ddd.ClassifyPointCloudUsingTrainedModel(in_point_cloud, in_trained_model, output_classes, {in_class_mode}, {target_classes}, {compute_stats}, boundary, {update_pyramid}, {reference_height}, {excluded_class_codes}, {batch_size})
名前説明データ タイプ
in_point_cloud

分類される点群。

LAS Dataset Layer
in_trained_model

点群の分類で使用される、入力 Esri モデル定義ファイル (*.emd) またはディープ ラーニング パッケージ (*.dlpk)。 ArcGIS Online または ArcGIS Living Atlas で公開されている、ディープ ラーニング パッケージの Web アドレスも使用できます。

File; String
output_classes
[output_classes,...]

入力点群の分類で使用されるトレーニング済みモデルのクラス コード。 サブセットが指定されていない限り、デフォルトにより入力モデルのすべてのクラスが使用されます。

String
in_class_mode
(オプション)

入力点群の編集可能ポイントを定義する方法を指定します。

  • EDIT_ALL入力点群のすべてのポイントが編集されます。 これがデフォルトです。
  • EDIT_SELECTEDtarget_classes パラメーターでクラス コードが指定されたポイントのみが編集され、その他のすべてのポイントは変更されません。
  • PRESERVE_SELECTEDtarget_classes パラメーターでクラス コードが指定されたポイントが保持されます。残りのポイントは編集されます。
String
target_classes
[target_classes,...]
(オプション)

in_class_mode パラメーターの値に基づいて、ポイントが編集されるクラス、または元のクラス コード指定が保持されるクラス。

Long
compute_stats
(オプション)

LAS データセットで参照されている *.las ファイルの統計情報を計算するかどうかを指定します。 統計情報を計算することで、*.las ファイルごとの空間インデックスが提供され、解析と表示のパフォーマンスが向上します。 また統計によって、分類コードやリターン情報などの LAS 属性の表示が *.las ファイルに存在する値に制限されるので、フィルタリングとシンボルのエクスペリエンスも強化されます。

  • COMPUTE_STATS統計情報を計算します。 これがデフォルトです。
  • NO_COMPUTE_STATS統計情報を計算しません。
Boolean
boundary

入力点群で処理されるポイントのサブセットを定義するポリゴン境界。 境界フィーチャの外側のポイントは評価されません。

Feature Layer
update_pyramid
(オプション)

クラス コードが変更された後に、LAS データセットのピラミッドを更新するかどうかを指定します。

  • UPDATE_PYRAMIDLAS データセットのピラミッドを更新します。 これがデフォルトです。
  • NO_UPDATE_PYRAMIDLAS データセットのピラミッドを更新しません。
Boolean
reference_height
(オプション)

点群データの各ポイントの相対高度値を指定するために使用されるラスター サーフェス。 ラスターと重複しないポイントは、解析から除外されます。

Raster Layer
excluded_class_codes
[excluded_class_codes,...]
(オプション)

処理から除外されるクラス コード。 0 ~ 255 の範囲内の任意の値を指定できます。

Long
batch_size
(オプション)

推論操作中に、ニューラル ネットワークによって同時に処理される点群データ ブロック。 値が指定されない場合は、適切なバッチ サイズは、利用可能な GPU メモリに基づいて計算されます。 所定のブロックによって使用される GPU メモリの量は、モデルで必要となるブロック ポイント制限と点群属性によって異なります。

Long

派生した出力

名前説明データ タイプ
out_point_cloud

ディープ ラーニング モデルによって分類された点群。

Feature Layer

コードのサンプル

ClassifyPointCloudUsingTrainedModel の例 (スタンドアロン スクリプト)

次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。

import arcpy
arcpy.env.workspace = 'C:/data/'
arcpy.ddd.ClassifyPointCloudUsingTrainedModel('2018_survey.lasd', 'electrical_infrastructure_classification.emd', 
                                              [14, 15], 'EDIT_SELECTED', [0,1])

ライセンス情報

  • Basic: 次のものが必要 3D Analyst
  • Standard: 次のものが必要 3D Analyst
  • Advanced: 次のものが必要 3D Analyst

関連トピック