トレーニング済みモデルを使用して点群からオブジェクトを検出 (Detect Objects From Point Cloud Using Trained Model) (3D Analyst)

サマリー

ディープ ラーニング モデルを使用して、点群で捕捉されたオブジェクトを検出します。

トレーニング済みモデルを使用して点群からオブジェクトを検出ツールの図

使用法

  • このトレーニングを使用するには、点群を分類するニューラル アーキテクチャーなど、複数のニューラル ネットワーク ソリューションを提供する Deep Learning Essentials をインストールする必要があります。

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

  • オブジェクト検出モデルは分類対象の入力点群を必要としません。 ただし、評価対象の点群は、モデルのトレーニングに使用される点群データとほぼ同じ特性を持っていなければなりません。 たとえば、地上の点群についてトレーニングされた、自動車を分類するオブジェクト検出モデルは、別の地上測量の点群には適していても、航空 LIDAR 測量から収集された点群では十分に機能しないことがあります。

  • このモデルはさまざまなオブジェクトを識別し、その一部はオーバーラップしている場合があります。 これらの検出を調整するには、信頼度スコア閾値とオーバーラップ閾値の 2 つの主な閾値が使用されます。 信頼度スコアは 0.0 ~ 1.0 の数値であり、オブジェクトが正しく識別されている可能性がどの程度であるかを示します。 スコアが高いほど確実性が高くなり、閾値を設定することで、一定の信頼度を下回る検出を除外することができます。

    複数の類似するオブジェクトの境界四角形がオーバーラップしている場合、オーバーラップ閾値がさらに重要になります。 この測定値では共通部分に対する交差部分 (IoU) の比率が使用され、これはオーバーラップする境界四角形の交差部分の体積を共通部分の体積で割ることによって計算されます。 IoU がオーバーラップ閾値を超えるオブジェクトのうち、信頼度スコアが最も高いものだけが維持されます。 最も関連性の高い検出だけを最終出力に含めるようにするには、Non-Maximum Suppression (NMS) アルゴリズムを使用します。

  • [参照サーフェス] パラメーターは、入力モデルが相対高度属性を使用してトレーニングされた場合に必要です。 ラスター サーフェスは参照高さとして使用され、そこから各ポイントに対して相対高度が内挿されます。 これは、モデルがオブジェクトをより容易に区別するために使用される追加情報を提供します。 このパラメーターに提供されるラスター サーフェスは、モデルを作成したトレーニング データで使用されたラスターと同じタイプのデータを表している必要があります。 ほとんどの場合、これは地表として分類されたポイントから作成されたラスターです。 地表フィルターを適用し、[LAS データセット → ラスター (LAS Dataset to Raster)] ツールを使用することで、LAS データセットで地表に分類されたポイントからラスター サーフェスを生成できます。 [点群 → ラスター (Point Cloud To Raster)] ツールを使用して、点群シーン レイヤーから地表を生成することもできます。 入力点群から取得されていないラスター サーフェスも使用できますが、ラスター内の Z 値が点群内の Z 値と適切に対応していることを確認する必要があります。

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

パラメーター

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

オブジェクトの検出に使用される点群。

LAS Dataset Layer
入力モデル定義

使用されるオブジェクト検出モデル。 Esri モデル定義ファイル (.emd)、ディープ ラーニング パッケージ (.dlpk)、ArcGIS Online または Portal for ArcGIS から公開されているオブジェクト検出モデルを指定できます。

File; String
ターゲット オブジェクト

入力点群で識別されるオブジェクト、および検出されたオブジェクトの承認に使用される信頼度閾値とオーバーラップ閾値。

  • [オブジェクト コード] - トレーニングされたモデルによって識別されるオブジェクトを表すコード。
  • [信頼度] - オブジェクトが識別されるときの信頼度閾値 (スケール 0.0 ~ 1.0)。 値が大きいほど、識別の条件を満たすオブジェクトは少なくなります。 この閾値を 1.0 に設定した場合、オブジェクトの検出で 100% の確度が求められるため、オブジェクトが識別される可能性は実質的にほぼなくなります。 特定のオブジェクトを出力から除外するには、その信頼度閾値を 1.0 に設定します。
  • [オーバーラップ] - オーバーラップ閾値によって、オーバーラップする複数のオブジェクトが識別された場合に維持されるオブジェクトを選択できます。 オーバーラップ閾値は、オーバーラップする境界四角形の交差部分と共通部分の比率を表します。 複数のオブジェクトがオーバーラップし、オーバッラップ閾値を超えている場合、信頼度が高い方のオブジェクトが維持されます。

Value Table
出力オブジェクト フィーチャ

入力点群から検出されたオブジェクトを囲む境界四角形を含む出力マルチパッチ フィーチャ。

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

入力点群から同時に処理されるブロックの数。 値が指定されていない場合、一度に 1 つのブロックが処理されます。

Long
処理境界

処理対象のエリアを定義するポリゴン フィーチャ (複数可)。

Feature Layer
参照サーフェス

各ポイントの相対高度の計算に使用されるラスター サーフェス。 このパラメーターは、参照高度ラスター サーフェスを使用してトレーニングされたことを示す相対高度属性が入力モデルに含まれている場合、このパラメーターは必須です。

Raster Layer
除外クラス

入力点群からのオブジェクト検出処理で除外されるポイントのクラスコード。 特定のクラス コードのポイントを除外してモデルがトレーニングされている場合、最適な結果を得るには、入力点群で同じオブジェクト クラスのポイントを識別して除外する必要があります。

Long

arcpy.ddd.DetectObjectsFromPointCloudUsingTrainedModel(in_point_cloud, in_trained_model, target_objects, out_features, {batch_size}, boundary, reference_height, excluded_class_codes)
名前説明データ タイプ
in_point_cloud

オブジェクトの検出に使用される点群。

LAS Dataset Layer
in_trained_model

使用されるオブジェクト検出モデル。 Esri モデル定義ファイル (.emd)、ディープ ラーニング パッケージ (.dlpk)、ArcGIS Online または Portal for ArcGIS から公開されているオブジェクト検出モデルを指定できます。

File; String
target_objects
[target_objects,...]

入力点群で識別されるオブジェクト、および検出されたオブジェクトの承認に使用される信頼度閾値とオーバーラップ閾値。

  • オブジェクト コード - トレーニングされたモデルによって識別されるオブジェクトを表すコード。
  • 信頼度 - オブジェクトが識別されるときの信頼度閾値 (スケール 0.0 ~ 1.0)。 値が大きいほど、識別の条件を満たすオブジェクトは少なくなります。 この閾値を 1.0 に設定した場合、オブジェクトの検出で 100% の確度が求められるため、オブジェクトが識別される可能性は実質的にほぼなくなります。 特定のオブジェクトを出力から除外するには、その信頼度閾値を 1.0 に設定します。
  • オーバーラップ - オーバーラップ閾値によって、オーバーラップする複数のオブジェクトが識別された場合に維持されるオブジェクトを選択できます。 オーバーラップ閾値は、オーバーラップする境界四角形の交差部分と共通部分の比率を表します。 複数のオブジェクトがオーバーラップし、オーバッラップ閾値を超えている場合、信頼度が高い方のオブジェクトが維持されます。

Value Table
out_features

入力点群から検出されたオブジェクトを囲む境界四角形を含む出力マルチパッチ フィーチャ。

Feature Class
batch_size
(オプション)

入力点群から同時に処理されるブロックの数。 値が指定されていない場合、一度に 1 つのブロックが処理されます。

Long
boundary

処理対象のエリアを定義するポリゴン フィーチャ (複数可)。

Feature Layer
reference_height

各ポイントの相対高度の計算に使用されるラスター サーフェス。 このパラメーターは、参照高度ラスター サーフェスを使用してトレーニングされたことを示す相対高度属性が入力モデルに含まれている場合、このパラメーターは必須です。

Raster Layer
excluded_class_codes
[excluded_class_codes,...]

入力点群からのオブジェクト検出処理で除外されるポイントのクラスコード。 特定のクラス コードのポイントを除外してモデルがトレーニングされている場合、最適な結果を得るには、入力点群で同じオブジェクト クラスのポイントを識別して除外する必要があります。

Long

コードのサンプル

DetectObjectsFromPointCloudUsingTrainedModel の例 (Python ウィンドウ)

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

import arcpy
arcpy.env.workspace = 'C:/data/detect_cars'
arcpy.ddd.DetectObjectsFromPointCloudUsingTrainedModel('2018_survey.lasd', 'cars.emd',
                                                       [(1, 0.7, 0.4)], 'Cars_in_Point_Cloud.shp',
                                                       10, 'study_area_boundary.shp',
                                                       'dem.tif', [2, 6, 7, 18])

ライセンス情報

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

関連トピック