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

サマリー

ディープ ラーニング モデルを使用して点群を分類します。

使用法

  • このツールには、ディープ ラーニング フレームワークのインストールが必要です。

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

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

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

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

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

  • 相対高度属性を使用して入力モデルがトレーニングされた場合、[参照サーフェス] パラメーターは必須です。 ラスター サーフェスが基準高度として使用され、そこから各ポイントの相対高度が内挿されます。 これによって得られるモデルの追加情報を使用して、各オブジェクトを容易に区別することができます。 このパラメーターで指定するラスター サーフェスは、モデルの作成に使用されたトレーニング データで使用されているラスターと同じデータのタイプを表している必要があります。 ほとんどの場合、これは地表分類ポイントから作成されたラスターになります。 地表フィルターを適用して [LAS データセット → ラスター (LAS Dataset to Raster)] ツールを使用することによって、LAS データセット内の地表分類ポイントからラスター サーフェスを生成することができます。 地表サーフェスは、[点群 → ラスター (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])

関連トピック