点群分類モデルの評価 (Evaluate Point Cloud Classification Model) (3D Analyst)

サマリー

各モデルから取得した分類結果の計算のベースラインとして適切に分類された点群を使用して、1 つ以上の点群分類モデルの品質を評価します。

使用法

  • 最適な評価結果を得るために、評価される対象オブジェクトで参照点群を適切に分類する必要があります。

  • 評価されるすべての入力モデルに同じ分類コードが必要です。 評価対象モデルのクラスと値または意味が一致するクラス コードが参照点群にない場合、[点群クラス再分類] パラメーターを使用して、参照点群の分類をトレーニング済みモデルのコードに指定します。

  • PointCNN ディープ ラーニング アーキテクチャを使用すると、点群分類モデルを作成できます。 このアーキテクチャでは、同じ入力データ セットを処理するときに少し異なる結果が生成される場合があります。 同じモデルを入力として複数回指定して、点群の分類結果の一貫性を評価できます。 分類結果のばらつきの可能性に関する詳細は、「PointCNN: Convolution On X-Transformed Points」をご参照ください。

  • 評価プロセスによって、[ターゲット フォルダー] パラメーター値に複数の出力ファイルが作成されます。 各ファイルの名前は、[ベース名] パラメーター値で指定したテキストで始まります。

    • <ベース名>_ModelStatistics.csv - 各モデルの全体的な正確度、精度、再現率、F1 スコアを一覧したテーブル。
    • <ベース名>_ClassCodeStatistics.csv - 各クラス コードの正確度、精度、再現率、F1 スコアの評価結果をまとめたテーブル。
    • <ベース名>_ConfusionMatrices.csv - 参照点群の各クラス コードの各ポイントが入力モデルごとにどのように分類されたかをまとめたテーブル。 真陽性と偽陽性の数に加え、偽陽性が発生したクラスもこのテーブルで特定されます。
    • <ベース名>_ConfusionMatrix_<model number>.png - 特定のモデルの混同行列をわかりやすく表現したチャートの画像。
  • 相対高度属性を使用して入力モデルがトレーニングされた場合、[参照サーフェス] パラメーターは必須です。 ラスター サーフェスが基準高度として使用され、そこから各ポイントの相対高度が内挿されます。 これによって得られるモデルの追加情報を使用して、各オブジェクトを容易に区別することができます。 このパラメーターで指定するラスター サーフェスは、モデルの作成に使用されたトレーニング データで使用されているラスターと同じデータのタイプを表している必要があります。 ほとんどの場合、これは地表分類ポイントから作成されたラスターになります。 地表フィルターを適用して [LAS データセット → ラスター (LAS Dataset to Raster)] ツールを使用することによって、LAS データセット内の地表分類ポイントからラスター サーフェスを生成することができます。 地表サーフェスは、[点群 → ラスター (Point Cloud To Raster)] ツールを使用して点群シーン レイヤーから生成することもできます。 入力点群から生成されないラスター サーフェスも使用できますが、ラスターの Z 値が点群の Z 値と適切に対応していることを確認する必要があります。

  • 入力モデルが、トレーニング データから除外された特定のクラスのポイントでトレーニングされている場合、[除外されるクラス コード] パラメーターを使用して、このモデルによって評価される一連のポイントから、それらのポイントが除外されるようにします。 所定のモデルの目的に有用なコンテキストを提供しないクラスを除外することで、評価されるポイントの数が減るため、モデルのトレーニングと適用の速度が向上します。 たとえば、建物を表すポイントは、通常は、信号機、電線、自動車などのオブジェクトを表すポイントとは関連性がありません。 建物のポイントは、[LAS の建物分類 (Classify LAS Building)] ツールを使用して確実に分類することもできます。 モデルの作成に使用されたトレーニング データから、建物を表すクラス 6 のポイントが除外された場合、入力点群でも建物ポイントを分類してこれらをこのツールで除外する必要があります。

パラメーター

ラベル説明データ タイプ
入力モデル定義

評価プロセスで使用される点群分類モデルとバッチ サイズ。

Value Table
参照点群

分類モデルを評価するのに使用される点群。

LAS Dataset Layer; File
ターゲット フォルダー

評価結果を要約したファイルを格納するディレクトリ。

Folder
ベース名

評価結果を要約した各出力ファイルに使用されるファイル名接頭辞。

String
処理境界
(オプション)

分類モデルを評価するのに使用される参照点群の一部を表現するポリゴン フィーチャ。

Feature Layer
点群クラス再分類
(オプション)

参照点群のクラス コードは、評価対象モデルのクラス コードと一致する必要があります。 クラス コードが一致しない場合、このパラメーターを使用して、点群のさまざまなクラス コードと、評価対象のモデルでサポートされるクラスを関連付けます。

Value Table
参照サーフェス
(オプション)

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

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

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

Long

派生した出力

ラベル説明データ タイプ
出力混同マトリックス

各入力モデルの各クラス コードの混同行列を格納する CSV 形式のテーブル。

Text File
出力モデルの統計

入力モデルの全体的な統計情報を要約した CSV 形式のテーブル。

Text File
出力クラス コード統計情報

各入力モデルの各クラス コードの統計情報を要約した CSV 形式のテーブル。

Text File

arcpy.ddd.EvaluatePointCloudClassificationModel(in_trained_model, in_point_cloud, target_folder, base_name, {boundary}, {class_remap}, {reference_height}, {excluded_class_codes})
名前説明データ タイプ
in_trained_model
[in_trained_model,...]

評価プロセスで使用される点群分類モデルとバッチ サイズ。

Value Table
in_point_cloud

分類モデルを評価するのに使用される点群。

LAS Dataset Layer; File
target_folder

評価結果を要約したファイルを格納するディレクトリ。

Folder
base_name

評価結果を要約した各出力ファイルに使用されるファイル名接頭辞。

String
boundary
(オプション)

分類モデルを評価するのに使用される参照点群の一部を表現するポリゴン フィーチャ。

Feature Layer
class_remap
[class_remap,...]
(オプション)

参照点群のクラス コードは、評価対象モデルのクラス コードと一致する必要があります。 クラス コードが一致しない場合、このパラメーターを使用して、点群のさまざまなクラス コードと、評価対象のモデルでサポートされるクラスを関連付けます。

Value Table
reference_height
(オプション)

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

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

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

Long

派生した出力

名前説明データ タイプ
out_confusion_matrices

各入力モデルの各クラス コードの混同行列を格納する CSV 形式のテーブル。

Text File
out_model_statistics

入力モデルの全体的な統計情報を要約した CSV 形式のテーブル。

Text File
out_class_code_statistics

各入力モデルの各クラス コードの統計情報を要約した CSV 形式のテーブル。

Text File

コードのサンプル

EvaluatePointCloudUsingTrainedModel の例 (Python ウィンドウ)

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

import arcpy
arcpy.env.workspace = 'C:/data'
arcpy.ddd.EvaluatePointCloudUsingTrainedModel(
        ['Transmission_Power_Lines.dlpk', 'Distribution_Power_Lines.dlpk'], 
        'Classified_Power_Lines.lasd', 'D:/Evaluate_PointCNN_Models', 
        'Power_Line_Results_', 'test_boundary.shp', [[18, 14], [20, 14]])

関連トピック