ディープ ラーニングに使用するラベル オブジェクト

Image Analyst ライセンスで利用できます。

Spatial Analyst のライセンスで利用可能。

すべての教師付きディープ ラーニング タスクはラベル付きのデータセットに依存しているため、人間がその知識を活用して、識別させる内容に対してニューラル ネットワークをトレーニングする必要があります。 ラベル付きのオブジェクトは、ニューラル ネットワークがデータの推論の実行に使用できるモデルをトレーニングするために使用します。

画像のアノテーションまたはラベリングは、コンピューター ビジョンや学習などのディープ ラーイング タスクに欠かすことができません。 優れたディープ ラーニング モデルをトレーニングするには、大量のラベル付きデータが必要です。 適切なトレーニング データを利用できる場合、ディープ ラーニング システムは、フィーチャ抽出、パターン認識、および複雑な問題の解決を非常に正確に実行できます。 [ディープ ラーニングのオブジェクトのラベル付け] ウィンドウを使用して、データに迅速かつ正確にラベルを付けることができます。

[ディープ ラーニングのオブジェクトのラベル付け] ボタン ディープ ラーニングのオブジェクトのラベル付け は、[画像] タブの [画像分類] グループの [分類ツール] ドロップダウン メニューにあります。 このウィンドウは、2 つのパートに分かれています。 ウィンドウの上部はクラスの管理に使用され、ウィンドウの下部はサンプルのコレクションの管理とディープ ラーニング フレームワークのトレーニング データのエクスポートに使用されます。

クラスの作成とオブジェクトのラベル付け

ウィンドウの上部では、オブジェクト クラスを管理し、ディープ ラーニング モデルのトレーニングに使用するオブジェクトを手動で作成できます。 ラベル付きオブジェクトの作成に役立つさまざまなツールがあります。

ツール機能
New Rectangle

ラスター内のフィーチャまたはオブジェクトの周囲に四角形を描画して、ラベル付きオブジェクトを作成します。

New Polygon

ラスター内のフィーチャまたはオブジェクトの周囲にポリゴンを描画して、ラベル付きオブジェクトを作成します。

New Circle

ラスター内のフィーチャまたはオブジェクトの周囲に円を描画して、ラベル付きオブジェクトを作成します。

New Lasso Area

ラスター内のフィーチャまたはオブジェクトの周囲にフリーハンドの図形を描画して、ラベル付きオブジェクトを作成します。

自動検出

フィーチャまたはオブジェクトを自動的に検出してラベルを付けます。 ポリゴンはフィーチャまたはオブジェクトの周辺に描画されます。

このツールは、ディープ ラーニング フレームワークがインストールされている場合にのみ使用できます。

ポリゴンによる選択

セグメント レイヤーからセグメントを選択して、フィーチャを作成します。 このオプションは、[コンテンツ] ウィンドウ内にセグメント レイヤーが存在する場合にのみ使用できます。 [コンテンツ] ウィンドウ内のセグメント レイヤーをハイライト表示させることによって、[セグメント ピッカー] をアクティブにし、[セグメント ピッカー] ドロップダウン リストからレイヤーを選択します。

ラベル画像

選択されたクラスを現在の画像に割り当てます。

これは、画像コレクション モードでのみ使用できます。

編集

ラベル付きオブジェクトを選択および編集します。

新しいテンプレート

分類スキーマを作成します。

参照

分類スキーマのオプションを選択します。

  • 既存のスキーマを参照します。
  • 新しいスキーマを既存のトレーニング サンプル フィーチャクラスから生成します。
  • 新しいスキーマを既存の分類ラスターから生成します。
  • デフォルトの 2011 年の National Land Cover Database スキーマを使用します。

保存

変更をスキーマに保存します。

編集の保存

スキーマの新しいコピーを保存します。

追加

クラス カテゴリをスキーマに追加します。 まず、スキーマの名前を選択して、最高レベルの親クラスを作成します。 既存のクラスの名前を選択して、サブクラスを作成します。

選択アイテムの削除

選択したクラス カテゴリまたはサブクラス カテゴリをスキーマから削除します。

  1. オブジェクト サンプルの収集を開始するには、[四角形][ポリゴン][円][フリーハンド] などのスケッチ ツールのいずれかをクリックします。
  2. スケッチ ツールを使用して、オブジェクトを表す画像フィーチャをマップに描画します。
    1. クラスを指定せずにフィーチャを作成している場合、[クラスの定義] ダイアログ ボックスが表示されます。 このダイアログ ボックスの詳細については、「クラスの定義」をご参照ください。
  3. 上記の手順で、引き続きオブジェクトの作成とラベル付けを行います。
  4. [ラベル付きオブジェクト] タブ (ウィンドウの下部) を使用して、ラベル付きオブジェクトのサンプルを削除および整理できます。
  5. すべてのラベル付きオブジェクトに問題がなければ、[ラベル付きオブジェクト] タブの [保存] ボタン 保存 をクリックしてサンプルを保存します。

これでオブジェクトの代表的なサンプルに手動でラベルを付けたので、これらを使用してトレーニング データをエクスポートできます。

自動検出

[自動検出] ツール 自動検出 を使用すると、フィーチャを囲む四角形を自動的に描画できます。フィーチャをクリックすると境界四角形が描画されます。 フィーチャのポリゴン境界が必要な場合、Shift キーを押しながら、フィーチャをクリックします。これにより、フィーチャの形状の輪郭が描画されます。 ツールが適切に機能するようにするには、有意なピクセル数のフィーチャをマップ上に表示する必要があり、フィーチャを拡大する必要があります。

個別のフィーチャの場合、[自動検出] は適切に機能します。 連続フィーチャを互いに密接させる場合はお勧めしません。

クラスの定義

[クラスの定義] ダイアログ ボックスを使用して、新しいクラスを作成したり、既存のクラスを定義したりできます。 [既存のクラスを使用] を選択した場合は、そのオブジェクトに適切な [クラス名] オプションを選択します。 [新しいクラスの追加] を選択した場合、必要に応じて情報を編集し、[OK] をクリックして新しいクラスを作成できます。

画像コレクションのラベル付け

画像のコレクションがあり、それにラベルを付ける場合は、ラスターのモザイク関数を使用して、最初にモザイク データセットまたはモザイク レイヤーを作成する必要があります。 次に、そのモザイク データセットまたはモザイク レイヤーを使用して各画像にラベルを付けます。 [画像コレクション] タブに、画像のドロップダウン リストが表示されます。 選択した画像がマップに描画されます。 次に、適切なクラスで画像のラベル付けを行うことができます。 矢印ボタンを使用して、次に表示してラベル付けを行う画像を選択します。

画像が画像座標系 (ICS) である場合、特に斜め撮影画像や透視画像を扱う場合、画像の方向が普通でないことがあります。 画像をピクセル空間で表示するには、[ピクセル空間のラベル] チェックボックスをオンにします。 これにより、画像が直観的に解釈しやすい方向で描画されます。

画像全体のラベル付け

たとえば、オブジェクト周囲の境界を描画したくない場合、[画像ラベル] ボタン ラベル画像 を使用して、オブジェクトの空間的側面に関係なく、選択したクラスで画像全体のラベル付けを行うことができます。

ラベル付きオブジェクト

ウィンドウの下部のセクションにある [ラベル付きオブジェクト] タブでは、クラスごとに収集したトレーニング サンプルが表示され、管理されます。 画像内のクラスごとに、代表的な領域 (つまり、トレーニング サンプル) を収集します。 トレーニング サンプルは、位置情報 (ポリゴン) および関連するクラスを含んでいます。 画像分類アルゴリズムは、フィーチャクラスとして保存されたトレーニング サンプルを使用して、画像全体の土地被覆クラスを識別します。

トレーニング サンプルを表示し、それらを追加したり、グループ化したり、削除することによって、管理できます。 トレーニング サンプルを選択すると、マップ上でそのサンプルが選択されます。 テーブル内のトレーニング サンプルをダブルクリックすると、マップ内のそのサンプルにズームします。

ツール機能
参照

既存のトレーニング サンプル フィーチャクラスを開きます。

保存

現在のラベル付きオブジェクト フィーチャクラスに対して行った編集内容を保存します。

編集の保存

現在のラベル付きオブジェクトを新しいフィーチャクラスとして保存します。

選択アイテムの削除

選択したラベル付きオブジェクトを削除します。

トレーニング データのエクスポート

サンプルを収集したら、[トレーニング データのエクスポート] タブをクリックして、サンプルをトレーニング データにエクスポートできます。 その後、トレーニング データをディープ ラーニング モデルで使用できます。 パラメーターを入力したら、[実行] をクリックしてトレーニング データを作成します。

パラメーター説明

出力フォルダー

トレーニング データを保存する出力フォルダーを選択します。

マスク ポリゴン フィーチャ

画像チップが作成される領域を描画するポリゴン フィーチャクラス。

このポリゴンに完全に含まれる画像チップのみが作成されます。

画像形式

画像チップ出力のラスター形式を指定します。

  • TIFF。 これがデフォルトです。
  • MRF (Meta Raster Format)。
  • PNG。
  • JPEG。

PNG 形式および JPEG 形式は、3 バンドまでサポートします。

タイル サイズ X

画像チップのサイズ (x ディメンション)。

タイル サイズ Y

画像チップのサイズ (y ディメンション)。

ストライド X

次の画像チップを作成する際に x 方向に移動する距離。

ストライドがタイル サイズと等しい場合、オーバーラップは発生しません。 ストライドがタイル サイズの半分と等しい場合は、50% のオーバーラップが発生します。

ストライド Y

次の画像チップを作成する際に y 方向に移動する距離。

ストライドがタイル サイズと等しい場合、オーバーラップは発生しません。 ストライドがタイル サイズの半分と等しい場合は、50% のオーバーラップが発生します。

回転角度

追加の画像チップを生成するために使用される回転角度。 画像チップは、0 の回転角度 (つまり、回転しない) で生成されます。 その後、画像チップは、追加の画像チップを作成するために、指定した角度で回転されます。 データ拡大のために、同じトレーニング サンプルが、複数の角度の複数の画像チップでキャプチャされます。 デフォルトの回転角度は 0 です。

フィーチャなしのタイルを出力

トレーニング サンプルをキャプチャしない画像チップをエクスポートするかどうかを指定します。

  • オフ - トレーニング サンプルを取得する画像チップのみをエクスポートします。 これがデフォルトです。
  • オン - トレーニング サンプルを取得しないものも含め、すべての画像チップをエクスポートします。

メタデータ形式

出力メタデータ ラベルに使用する形式を指定します。

入力トレーニング サンプル データがビルディング レイヤーなどのフィーチャクラス レイヤーまたは標準分類トレーニング サンプル ファイルの場合、[KITTI ラベル] または [PASCAL Visual Object Classes] オプションを使用します (Python では KITTI_rectanglesPASCAL_VOC_rectangles)。 出力メタデータは、最小境界範囲内のトレーニング サンプル データを含む .txt ファイルまたは .xml ファイルです。 メタデータ ファイルの名前は、入力ソース画像名と一致します。 入力トレーニング サンプル データがクラス マップの場合、出力メタデータ形式として [分類タイル] オプション (Python の Classified_Tiles) を使用します。

  • KITTI ラベル - メタデータは、KITTI (Karlsruhe Institute of Technology and Toyota Technological Institute) オブジェクト検出評価データセットと同じ形式に従います。 KITTI データセットは、Vision Benchmark Suite です。 ラベル ファイルは、プレーン テキスト ファイルです。 数値および文字列のすべての値はスペースで区切られ、各行は 1 つのオブジェクトと対応しています。
  • PASCAL Visual Object Classes - メタデータは、PASCAL VOC (Pattern Analysis, Statistical Modeling and Computational Learning, Visual Object Classes) データセットと同じ形式に従います。 PASCAL VOC データセットは、オブジェクト クラスの認識のために標準化された画像データセットです。 ラベル ファイルは XML ファイルで、画像名、クラス値、境界四角形に関する情報が含まれています。 これがデフォルトです。
  • 分類済みタイル - 1 つの入力画像チップにつき、分類された画像チップが 1 つ出力されます。 各画像チップに対してその他のメタデータは使用されません。 統計出力だけに、クラスに関する詳細情報 (クラス名、クラス値、出力統計など) が含まれます。
  • RCNN マスク - サンプルが存在する領域にマスクが含まれる画像チップが出力されます。 このモデルは、画像内のオブジェクトの各インスタンスに対して、境界四角形とセグメンテーション マスクを生成します。 ディープ ラーニング フレームワーク モデルの FPN (Feature Pyramid Network) と ResNet101 バックボーンに基づいています。
  • ラベル付きタイル - 各出力タイルは、特定のクラスでラベル付けされます。 このメタデータ形式を選択した場合、[フィーチャの周囲を黒く表示] パラメーターおよび [トリミング モード] パラメーターを詳細に調整できます。
  • 複数ラベル付きタイル - 各出力タイルは、1 つ以上のクラスでラベル付けされます。 たとえば、タイルに「agriculture」および「cloudy」とラベル付けすることができます。 この形式の使用目的はオブジェクト分類です。
  • タイルのエクスポート - 出力は、ラベルのない画像チップです。 この形式は、Pix2Pix や超解像などの画像変換技術に使用されます。
  • CycleGAN - 出力は、ラベルのない画像チップです。 この形式は、重なり合わない画像のトレーニングに使用される画像変換技術 CycleGAN に使用されます。
  • Imagenet - 各出力タイルは、特定のクラスでラベル付けされます。 この形式は、オブジェクト分類のために使用されます。ただし、トレーニング中にディープ ソート モデル タイプが使用される場合、オブジェクト トラッキングにも使用できます。

KITTI メタデータ形式では 15 個の列が作成されますが、そのうちツールで使用されるのは 5 つのみです。 最初の列はクラス値です。 次の 3 つの列はスキップされます。 5 ~ 8 番目の列は、4 つの画像座標位置 (上下左右のピクセル) で構成される最小境界範囲を定義します。 最小境界範囲には、ディープ ラーニング分類器に使用されるトレーニング チップが含まれます。 残りの列は使用されません。

フィーチャの周囲を黒く表示

それぞれの画像ファイル内で各オブジェクトまたはフィーチャの周囲のピクセルをマスクするかどうかを指定します。

  • オフ - オブジェクトまたはフィーチャの周囲のピクセルがマスクされません。 これがデフォルトです。
  • オン - オブジェクトまたはフィーチャの周囲のピクセルがマスクされます。

このパラメーターは、[メタデータ形式] パラメーターが [ラベル付きタイル] に設定されており、入力フィーチャクラスまたは分類ラスターが指定されている場合にのみ適用されます。

トリミング モード

エクスポートされたタイルが、すべて同じサイズになるようにトリミングされるかどうかを指定します。

  • 固定サイズ - エクスポートされたタイルが同じサイズになり、フィーチャが中央に配置されます。 これがデフォルトです。
  • 境界四角形 - タイル内のフィーチャだけが境界ジオメトリで囲まれるように、エクスポートされたタイルがトリミングされます。

このパラメーターは、[メタデータ形式] パラメーターが [ラベル付きタイル] または [ImageNet] に設定されており、入力フィーチャクラスまたは分類ラスターが指定されている場合にのみ適用されます。

参照系

入力画像を解釈するために使用される参照系のタイプを指定します。 指定する参照系は、ディープ ラーニング モデルをトレーニングするために使用する参照系と一致する必要があります。

  • マップ空間 - 入力画像はマップベースの座標系です。 これがデフォルトです。
  • ピクセル空間 - 入力画像は画像空間内で回転も変形もされません。

追加入力ラスター

画像変換方法の追加の入力画像ソース。

このパラメーターは、[メタデータ形式] パラメーターが [分類済みタイル][タイルのエクスポート]、または [CycleGAN] に設定されている場合に有効です。

これで、エクスポートされたトレーニング データが、ディープ ラーニング モデル内で使用できるようになりました。

関連トピック