ラベルの作成と管理

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

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

教師付きディープ ラーニングは、ニューラル ネットワークをトレーニングするためのデータにラベル付けするために、人間に頼ります。 このラベル付きデータは、ディープ ラーニング ニューラル ネットワークが、画像分類、オブジェクト検出などのタスクを学習して実行できるようにします。 [オブジェクトのラベル付け] ウィンドウ内の (ディープ ラーニング用の) ツールをラベル付けタスクに使用することができます。

ソース画像を指定してウィンドウを開く

ソース画像を指定してウィンドウを開くには、次の手順を実行します。

  1. [画像] タブをクリックします。
  2. [ディープ ラーニング ツール] ドロップダウン矢印をクリックし、[ディープ ラーニングに使用するラベル オブジェクト] をクリックします。
  3. [ラベルの使用] ドロップダウン ボックスから、次のいずれかを選択します。
    • [既存のイメージ レイヤー] - [イメージ レイヤー] ドロップダウン ボックスからイメージ レイヤーを選択します。
    • [新しい画像コレクション レイヤー] - 画像を含んでいるフォルダーを参照して選択します。

      フォルダー内の複数の画像のラベルを作成するには、フォルダー全体を選択して画像コレクション レイヤーを作成し、マップに追加します。

[オブジェクトのラベル付け] ウィンドウが表示されます。 このウィンドウでツールを使用して、ラベル スキーマおよびラベルを作成して管理し、トレーニング データをエクスポートすることができます。

スキーマの作成

スキーマは、モデルをトレーニングするためのオブジェクト (またはピクセル) にラベルを付けるために使用されるさまざまなクラスを定義する構造化されたシステムです。

クラスを含むスキーマを作成するには、次の手順を実行します、

  1. 以下を実行してスキーマを作成します。
    1. [画像分類] ウィンドウで、[新しいスキーマ] を右クリックし、[プロパティの編集] をクリックします。

      新しいスキーマの編集

    2. スキーマに名前を付けます。

      スキーマ名を編集する

    3. [保存] ボタンをクリックします。

      スキーマの名前が [画像分類] ウィンドウで変更され、このスキーマにクラスを追加することができます。

  2. 以下を実行してクラスをスキーマに追加します。
    1. 作成したスキーマを右クリックして、[新しいクラスの追加] をクリックします。

      新しいクラスの追加オプション

    2. クラスに名前を付けます。

      新しいクラス名

    3. クラスの値を指定します。

      値を 0 にすることはできません。

    4. 必要に応じて、クラスの色を選択します。
    5. [OK] をクリックします。

      [画像分類] ウィンドウで、クラスがスキーマに追加されます。

    6. 必要に応じて、ステップ 2a 〜 2e を繰り返し、クラスをさらに追加します。

注意:

上の手順で示したように、すべてのラベルを手動で作成したくない場合は、[参照] ドロップダウン矢印を使用して、次のオプションからスキーマを生成します。

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

ラベル画像

スケッチ ツールおよび AI 支援ツールを使用して画像にラベルを付けることができます。 次のサブセクションでは、さまざまなラベリング ツールについて説明します。

スケッチ ツールを使用するラベル付け

スケッチ ツールを使用して画像にラベルを付けるには、次の手順に従います。

  1. オブジェクト サンプルの収集を開始するには、[四角形][ポリゴン][円][フリーハンド] などのスケッチ ツールのいずれかをクリックします。

    クラスを指定せずにフィーチャを作成する場合、[クラスの定義] ダイアログ ボックスが表示されます。 詳細については、「ディープ ラーニングのオブジェクトのラベル付け」トピックの「クラスの定義」セクションをご参照ください。

  2. スケッチ ツールを使用して、オブジェクトを表す画像フィーチャをマップに描画します。

    指定されたクラスを使わずにフィーチャを作成している場合、[クラスの定義] ダイアログ ボックスが表示されます。 詳細については、「クラスの定義」セクションをご参照ください。

  3. 上記の手順で、引き続きオブジェクトの作成とラベル付けを行います。
  4. [ラベル付きオブジェクト] タブ (ウィンドウの下部) を使用して、ラベル付きオブジェクトのサンプルを削除および整理します。
  5. ラベル付きオブジェクトに問題がなければ、[ラベル付きオブジェクト] タブの [保存] ボタンをクリックしてサンプルを保存します。

自動検出ツールを使用するラベル付け

[自動検出] ツールを使用して画像にラベルを付けるには、次の手順に従います。

  1. オブジェクト サンプルの収集を開始するには、[自動検出] ツール 自動検出 をクリックします。
    注意:

    この機能を使用するには、ArcGIS 用のディープ ラーニング フレームワークをインストールする必要があります。

  2. フィーチャを拡大します。

    [自動検出] ツールは、有意なピクセル数のフィーチャがマップに表示されている必要があります。

  3. 対象のオブジェクトをクリックします。

    境界四角形が描画されます。 フィーチャのポリゴン境界の場合、Shift キーを押しながら、フィーチャをクリックします。これにより、フィーチャの形状の輪郭が描画されます。

  4. 上記の手順で、引き続きオブジェクトの作成とラベル付けを行います。
  5. [ラベル付きオブジェクト] タブ (ウィンドウの下部) を使用して、ラベル付きオブジェクトのサンプルを削除および整理します。
  6. ラベル付きオブジェクトに問題がなければ、[ラベル付きオブジェクト] タブの [保存] ボタンをクリックしてサンプルを保存します。

注意:
[自動検出] ツールは、個別のフィーチャに対して適切に機能します。 互いに隣接する連続フィーチャの場合は、お勧めしません。

テキスト プロンプト ツールを使用するラベル付け

[テキスト プロンプト] ツールを使用して画像にラベルを付けるには、次の手順に従います。

  1. [クラス名] テキスト ボックスに、樹木や四角形などの対象のオブジェクトの名前を入力します。
    注意:

    この機能を使用するには、ArcGIS 用のディープ ラーニング フレームワークをインストールする必要があります。

  2. [検出] ボタンをクリックします。

    生成されたオブジェクトのまわりにバウンディング ボックスが描画されます。

  3. 上記の手順で、引き続きオブジェクトの作成とラベル付けを行います。
  4. [ラベル付きオブジェクト] タブ (ウィンドウの下部) を使用して、ラベル付きオブジェクトのサンプルを削除および整理します。
  5. ラベル付きオブジェクトに問題がなければ、[ラベル付きオブジェクト] タブの [保存] ボタンをクリックしてサンプルを保存します。

注意:
結果を改善するには、[構成] オプションで [ボックス閾値] および [テキスト閾値] の値を設定します。

画像全体のラベル付け

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

画像全体のラベル付けを行うには、次の手順に従います。

  1. 適切な画像コレクションまたはモザイク データセットをソースとして使用していることを確認します。
  2. [画像コレクション] タブで、矢印を使用して、ラベルを付ける画像を選択します。
  3. スキーマ内の適切なクラス ラベルを選択します。
  4. [画像ラベル] ボタン ラベル画像 をクリックします。

    選択したラベルが画像全体に割り当てられます。

  5. 上記の手順で、引き続きオブジェクトの作成とラベル付けを行います。
  6. [ラベル付きオブジェクト] タブ (ウィンドウの下部) を使用して、ラベル付きオブジェクトのサンプルを削除および整理します。
  7. ラベル付きオブジェクトに問題がなければ、[ラベル付きオブジェクト] タブの [保存] ボタンをクリックしてサンプルを保存します。

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

画像のコレクションがあり、それにラベルを一度に 1 つずつ付けたい場合は、モザイク データセット レイヤーまたは画像コレクション レイヤーを使用して各画像にラベルを付けます。

画像のコレクションにラベルを付けるには、次の手順を実行します。

  1. [ディープ ラーニング ツール] ドロップダウン矢印をクリックし、[ディープ ラーニングを使用したオブジェクトのラベル付け] をクリックします。
  2. [ラベルの使用] ドロップダウン ボックスで、[新しい画像コレクション レイヤー] を選択します。
  3. 画像を含んでいるフォルダーを参照して選択します。
  4. [OK] をクリックします。

    [画像分類] ウィンドウが表示されます。

  5. [画像の分類] ウィンドウで、[画像コレクション] タブをクリックします。
  6. 画像名の横にある矢印ボタンを使用して、次に表示してラベル付けを行う画像を選択します。
  7. スケッチ ツールおよび AI 支援ツールを使用して、上のセクションで説明したようにラベルを作成します。
  8. 上記の手順で、引き続きオブジェクトの作成とラベル付けを行います。
  9. [ラベル付きオブジェクト] タブ (ウィンドウの下部) を使用して、ラベル付きオブジェクトのサンプルを削除および整理します。
  10. ラベル付きオブジェクトに問題がなければ、[ラベル付きオブジェクト] タブの [保存] ボタンをクリックしてサンプルを保存します。

注意:
画像がマップ空間に投影されない場合は、[ピクセル空間のラベル] チェックボックスをオンにします。 これによって画像が描画されるため、解釈が容易になります。

ラベルの管理

クラスごとに収集したトレーニング サンプルを管理する [ラベル付きオブジェクト] タブが、[画像分類] ウィンドウの下側のセクションにあります。 トレーニング サンプルは、位置情報 (ポリゴン)、関連するクラス、およびそのピクセルの割合を含んでいます。 トレーニング サンプルを表示して管理するには、トレーニング サンプルを選択し、次のいずれか、またはすべてを実行します。

  • マップ上のラベルを拡大する - トレーニング サンプル テーブルで、拡大するトレーニング サンプルの行をダブルクリックします。
  • トレーニング サンプルを削除する - [削除] ボタン 選択アイテムの削除 をクリックします。
  • トレーニング サンプルを別のクラスまたは新しいクラスに割り当てる - [クラス プロパティの編集] ボタン クラス プロパティの編集 を使用します。
  • ラベルをフィーチャクラスとして保存する - [保存] ボタン 保存 または [名前を付けて保存] ボタン 編集の保存 を使用します。
  • 既存のラベルを追加する - [トレーニング サンプルの読み込み] ボタン 参照 を使用します。

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

[トレーニング データのエクスポート] タブを使用して、収集したサンプルをトレーニング データにエクスポートできます。

ラスター データセットまたはフィーチャクラスに既存のトレーニング サンプルがある場合は、代わりに [ディープ ラーニング用のトレーニング データをエクスポート (Export Training Data For Deep Learning)] ツールを使用して、ディープ ラーニング モデル タスクをトレーニングすることができます。

[トレーニング データのエクスポート] タブを使用してトレーニング データをエクスポートするには、次の手順を実行します。

  1. [画像の分類] ウィンドウで、[トレーニング データのエクスポート] タブをクリックし、次の手順を実行します。
    1. [出力フォルダー] の値を指定します。

      これが、出力画像チップとメタデータを格納するフォルダーのパスと名前になります。

    2. 必要に応じて、[マスク ポリゴン] の値を指定します。

      これが、画像チップを作成できる領域を描画するポリゴン フィーチャクラスになります。 このポリゴンに完全に含まれる画像チップのみが作成されます。

    3. 必要に応じて、チップの [画像形式] の値を選択します。

      サポートされている形式は TIFF、PNG、JPEG、および MRF です。

    4. 必要に応じて、[タイル サイズ X][タイル サイズ Y] の値を指定します。

      これらが、画像チップの X ディメンションと Y ディメンションになります。 デフォルト値を使用すると、通常は良好な結果が得られます。 一般的に、両方のディメンションに同じサイズが指定されます。

    5. 必要に応じて、[ストライド X][ストライド Y] の値を指定します。

      これが、次の画像チップを作成する際に X 方向および Y 方向に移動する距離になります。 ストライドがタイル サイズと等しい場合、オーバーラップは発生しません。 ストライドがタイル サイズの半分と等しい場合は、50% のオーバーラップが発生します。

    6. 必要に応じて、[回転角度] の値を指定します。

      画像チップは、追加の画像チップを作成するために、指定した角度で回転されます。 画像チップが完全に回転するまで、各角度に対して追加の画像チップが作成されます。 たとえば、回転角度を 45 度に指定すると、8 つの画像チップが作成されます。 これらの画像チップは、45 度、90 度、135 度、180 度、225 度、270 度、および 315 度に対して作成されます。

    7. 必要に応じて、[参照系] の値を選択します。

      これが、入力画像を解釈するために使用する参照系になります。 オプションは [マップ空間] または [ピクセル空間] です。 マップ空間はマップベースの座標系を使用し、入力ラスターに空間参照が定義されている場合はデフォルトです。 ピクセル空間は、回転または変形のない画像空間座標系を使用します。 [ピクセル空間] オプションは、入力画像が方向付き画像または傾め画像の場合に推奨されます。 指定する参照系は、ディープ ラーニング モデルをトレーニングするために使用する参照系と一致する必要があります。

    8. 必要に応じて、[フィーチャなしのタイルを出力] チェックボックスをオンにします。

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

    9. 必要に応じて、[メタデータ形式] の値を選択します。

      オブジェクト検出でサポートされているメタデータ形式は、ラベル付きタイル、Pascal Visual Object Class、および RCNN マスクです。

    10. [実行] をクリックして、トレーニング データをエクスポートします。

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

画像のラベル付けおよびトレーニング データの詳細については、次の ArcGIS ブログの記事をご参照ください。

関連トピック