Skip to main content

点群分類モデルのトレーニングを実行 (3D Analyst ツール)

サマリー

点群分類用のディープ ラーニング モデルのトレーニングを行います。

点群分類モデルのトレーニングの詳細

使用法

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

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

  • CUDA 対応の NVIDIA グラフィックス カードか CPU を使って、点群分類モデルのトレーニングを実行できます。 通常は CPU よりも GPU を使った方が処理が速くなります。 GPU がない場合のみ、CPU を使用してください。 トレーニングに CPU を使用する場合、最初に RandLA-Net アーキテクチャーを使用します。PointCNN よりもメモリーの消費が少ないからです。 完全なトレーニング データセットでのトレーニングの前に、データ処理にかかる時間を見積もるために、できるだけ小さいトレーニング サンプルの使用を試すこともできます。

  • GPU を使用して複数のグラフィックス カードがあるコンピューター上で、モデルをトレーニングする場合、ツールはコンピューター上で最も高速なグラフィックス カードを使用します。 GPU ID 環境設定を使用して GPU を指定することもできます。 コンピューター上に複数のグラフィックス カードがある場合、計算リソースが最大のグラフィックス カードをトレーニング専用にし、リソースが少ないグラフィックス カードを表示専用にすると、トレーニングのパフォーマンスを最大限に高めることができます。 選択した GPU を表示にも使用している場合、トレーニング プロセス中に表示を行っているオペレーティング システムやアプリケーションによって、GPU で利用可能なメモリー量が減少します。

  • データ、時間、計算リソースに制限がある場合は特に、事前トレーニング済みモデルを使用すると便利です。 事前トレーニング済みモデルを使用することで、広範囲でのトレーニングの必要性が減り、信頼性の高い出発点をもとにして、役立つモデルを速やかに作成することができます。 事前トレーニング済みモデルを使用するには、新しいトレーニング データと事前トレーニング済みモデルの間に互換性がなければなりません。 新しいトレーニング データの属性とクラス コードが、事前トレーニング済みモデルの作成に使用されたトレーニング データと同じであることを確認します。 トレーニング データのクラス コードが事前トレーニング済みモデルのクラスと一致しない場合、トレーニング データのクラスをこれに合わせて再マッピングする必要があります。

  • ツール実行時には、各エポックで実行されたトレーニング結果に関する以下の統計情報が進捗メッセージによって報告されます:

    • Epoch—結果が関連するエポックの数

    • Training Loss—トレーニング データで平均化されたエントロピー損失関数の結果

    • Validation Loss—検証データのエポックでトレーニングされたモデルを適用する際に決定されたエントロピー損失関数の結果

    • Accuracy—検証データのすべてのポイントのなかで、エポックでトレーニングされたモデルによって適切に分類された (真陽性) 検証データのポイントの比率

    • Precision—すべてのクラス コードの精度のマクロ平均

    • Recall—すべてのクラス コードの再現率のマクロ平均

    • F1 Score—すべてのクラス コードの精度と再現率の値のマクロ平均の調和平均

    トレーニング損失が低いものの、検証損失が高いモデルはトレーニング データと過剰に適合すると見なされます。この場合、検証データで適切に機能しないモデルが生成されるトレーニング データのアーティファクトからパターンが検出されます。 トレーニング損失と検証損失が高いモデルはトレーニング データとの適合性が不足していると見なされます。この場合、使用可能なモデルを生成するためのパターンが効率的に学習されません。

    点群トレーニング結果の評価の詳細

  • エポックの終了時に作成されるモデルであるチェックポイント モデルを格納するフォルダーが作成されます。 モデル名の後ろに .checkpoints を付けたものがこのフォルダーの名前になり、出力モデルの場所 パラメーター値で指定されている場所に格納されます。 トレーニングが完了すると、出力モデル名 パラメーター値で始まり _stats.csv で終わる名前が付いた CSV テーブルがチェックポイント フォルダーに作成されます。 このテーブルには、各クラス コードとエポックで取得された結果に関連する以下のフィールドがあります:

    • Epoch—行の結果に関連するエポック数。 この値は、チェックポイント モデル ディレクトリーで作成されたモデルに対応します。 検証データのエポックでトレーニングされたモデルを適用することで結果が取得されます。

    • Class_Code—結果報告対象のクラス コード。

    • Precision—分類されたすべてのポイント (真陽性と偽陽性) のなかで、適切に分類された (真陽性) ポイントの比率。

    • Recall—この値で分類される必要があったすべてのポイント (真陽性と偽陽性) のなかで、適切に分類されたポイント (真陽性) の比率。

    • F1_Score—精度と再現値の調和平均。

  • ディープ ラーニング フレームワークによって割り当てられたメモリーと、指定したエポックの各反復バッチで処理されるデータ サイズを合計したものがトレーニング中に使用される専用メモリーになります。 属性選択 パラメーターで指定した追加のポイント属性数、指定したブロックのポイント合計数、バッチ サイズ パラメーターで指定した、各バッチで処理されるブロック数によって各バッチのデータ サイズは異なります。 ブロックごとの最大ポイント数はトレーニング データのエクスポート時に決定されます。トレーニング処理時の利用可能メモリー占有領域を見積もる際にこの値が想定されます。

  • 属性選択 パラメーターの 相対高度 オプションは、地表標高モデルなどの参照サーフェスからのポイントの高さを識別する属性です。 この属性を使用することで、トレーニング プロセス中の方向リレーションシップを学習するモデルの能力が向上する可能性があります。

パラメーター

ラベル 説明 データ タイプ

入力トレーニング データ

分類モデルのトレーニングに使用される点群トレーニング データ (*.pctd ファイル)。

File

出力モデルの場所

ディープ ラーニング モデルを含む新しいディレクトリーを格納する既存のフォルダー。

Folder

出力モデル名

出力 Esri モデル定義ファイル (*.emd)、ディープ ラーニング パッケージ (*.dlpk)、それらを格納するために作成されるディレクトリーの名前。

String

事前トレーニング済みモデル

(オプション)

微調整される事前トレーニング済みモデル。 事前トレーニング済みモデルを指定する際、そのモデルを生成したトレーニング データで使用したのと同じ属性、クラス コード、最大ポイント数を入力トレーニング データで指定する必要があります。

File

属性選択

(オプション)

モデルのトレーニングに使用されるポイント属性を指定します。 点群トレーニング データに存在する属性のみを使用できます。 デフォルトでは、その他の属性は含まれません。

  • IntensityThe measure of the magnitude of the lidar pulse return will be used.

  • Return NumberThe ordinal position of the point obtained from a given lidar pulse will be used.

  • Number of ReturnsThe total number of lidar returns that were identified as points from the pulse associated with a given point will be used.

  • Red BandThe red band's value from a point cloud with color information will be used.

  • Green BandThe green band's value from a point cloud with color information will be used.

  • Blue BandThe blue band's value from a point cloud with color information will be used.

  • Near Infrared BandThe near infrared band's value from a point cloud with near infrared information will be used.

  • Relative HeightThe relative height of each point in relation to a reference surface, which would typically be a bare earth DEM, will be used.

String

ブロックごとの最小ポイント数

(オプション)

モデルのトレーニングに使用するために、所定のブロックに存在するべき最小ポイント数。 デフォルトは 0 です。

Long

クラスの再マッピング

(オプション)

ディープ ラーニング モデルのトレーニング前にクラス コード値を新しい値にマッピングする方法を定義します。

値テーブル列:

  • Current ClassThe class code value in the training data.

  • Remapped ClassThe class code that the existing code will be changed to.

Value Table

対象クラス コード

(オプション)

トレーニング データのブロックをフィルターするために使用されるクラス コード。 対象クラス コードを指定すると、他のすべてのクラス コードがバックグラウンド クラス コードに再分類されます。

Long

バックグラウンド クラス コード

(オプション)

対象クラス コードが指定されている際に、他のすべてのクラス コードに使用されるクラス コード値。

Long

クラスの説明

(オプション)

トレーニング データの各クラス コードが何を表しているかに関する説明。

値テーブル列:

  • Current CodeThe class code value that was learned by the model.

  • Class DescriptionThe object described by the class code.

Value Table

モデル選択基準

(オプション)

最終モデルの決定に使用される統計的基礎を指定します。

  • Validation LossThe model that achieves the lowest result when the entropy loss function is applied to the validation data will be used.

  • RecallThe model that achieves the best macro average of the recall for all class codes will be used. Each class code's recall value is determined by the ratio of correctly classified points (true positives) over all the points that should have been classified with this value (expected positives). This is the default.

  • F1 ScoreThe model that achieves the best harmonic mean between the macro average of the precision and recall values for all class codes will be used. This provides a balance between precision and recall, which favors better overall performance.

  • PrecisionThe model that achieves the best macro average of the precision for all class codes will be used. Each class code's precision is determined by the ratio of points that are correctly classified (true positives) over all the points that are classified (true positives and false positives).

  • AccuracyThe model that achieves the highest ratio of corrected classified points over all the points in the validation data will be used.

String

エポックの最大数

(オプション)

ニューラル ネットワークを通って前後に 1 回渡される各データ ブロックの最大数。 デフォルトは [25] です。

Long

エポック当たりの反復 (%)

(オプション)

各トレーニング エポックで処理されるデータの割合。 デフォルトは 100 です。

Double

学習率

(オプション)

既存の情報が新たな情報で上書きされる割合。 値を指定しないと、トレーニング プロセス中に最適な学習率が学習曲線から抽出されます。 これがデフォルトです。

Double

バッチ サイズ

(オプション)

任意の時点で処理されるトレーニング データ ブロックの数。 デフォルトは 2 です。

Long

モデルの改善がなくなった時点でトレーニングを停止

(オプション)

5 回の連続エポックの後に モデル選択基準 パラメーターで指定された指標に改善が登録されない場合にモデルのトレーニングを停止するかどうかを指定します。

  • オンThe model training will stop when the model is no longer improving. This is the default.

  • オフThe model training will continue until the maximum number of epochs has been reached.

Boolean

学習率戦略

(オプション)

トレーニング中に学習率を変更する方法を指定します。

  • One Cycle Learning RateThe learning rate will be cycled throughout each epoch using Fast.AI's implementation of the 1cycle technique for training neural networks to help improve the training of a convolutional neural network. This is the default.

  • Fixed Learning RateThe same learning rate will be used throughout the training process.

String

モデル アーキテクチャー

(オプション)

モデルのトレーニングに使用するニューラル ネットワーク アーキテクチャーを指定します。 事前トレーニング済みモデルを指定すると、事前トレーニング済みモデルの作成に使用されるアーキテクチャーが自動的に設定されます。

  • PointCNNThe PointCNN architecture will be used.

  • RandLA-NetThe RandLA-Net architecture will be used. RandLA-Net is built on the principles of simple random sampling and local feature aggregation.

  • Semantic Query NetworkThe Semantic Query Network (SQN) architecture will be used. SQN does not require a comprehensive classification of the training data as the other neural network architectures do.

  • Point Transformer V3The Point Transformer V3 architecture will be used. This is the default.

String

損失関数

(オプション)

トレーニング中に使用される損失関数を指定します。

  • Cross Entropy LossCross entropy loss will be used. This function is best suited for training data in which each class has a similar number of points to the other classes. This is the default.

  • Focal LossFocal loss will be used. This function is best suited for training data in which the classes that are being trained may have point counts with great variation.

String

派生した出力

ラベル 説明 データ タイプ

出力モデル

このツールによって生成されるモデル。

File

出力モデルの統計

.csv ファイルには、それぞれのクラス コードとエポックの精度、再現率、F1 の各スコアが含まれています。

Text File

出力エポック統計情報

各エポックで取得したトレーニング ロス、検証ロス、正確度、精度、再現率、F1 スコアを含む .csv ファイル。

Text File

環境

プロセッサー タイプ, GPU ID

ライセンス情報

  • Basic: 3D Analyst が必要
  • Standard: 3D Analyst が必要
  • Advanced: 3D Analyst が必要