Image Analyst ライセンスで利用できます。
Spatial Analyst のライセンスで利用可能。
すべての教師付きディープ ラーニング タスクはラベル付きのデータセットに依存しているため、人間がその知識を活用して、対象のオブジェクトを識別または検出するように、ニューラル ネットワークをトレーニングする必要があります。 ラベル付きのオブジェクトは、ニューラル ネットワークがデータの推論の実行に使用できるモデルをトレーニングするために使用します。
ラベリングは、対象のオブジェクトの代表的サンプルを選択するプロセスです。 ラベリングのために選択されるオブジェクトは、対象のオブジェクトの空間、スペクトル、方位、サイズ、および状態の特性を正確に表す必要があります。 ラベル付きのオブジェクトが対象のフィーチャをより良く表すほど、ディープ ラーニング モデルのトレーニングが良くなり、推論の分類および検出がより正確になります。
画像のアノテーションまたはラベリングは、コンピューター ビジョンや学習などのディープ ラーイング タスクに欠かすことができません。 優れたディープ ラーニング モデルをトレーニングするには、大量のラベル付きデータが必要です。 適切なトレーニング データを利用できる場合、ディープ ラーニング システムは、フィーチャ抽出、パターン認識、および複雑な問題の解決を正確に実行できます。 [ディープ ラーニングのオブジェクトのラベル付け] ウィンドウを使用して、データにラベルを付けることができます。
[ディープ ラーニングのオブジェクトのラベル付け] ボタン には、[画像] タブの [画像分類] グループの [ディープ ラーニング ツール] ドロップダウン メニューからアクセスします。 ツールが開いたら、既存のレイヤーを使用するか、画像コレクションを作成します。 新しい画像コレクションでは、画像フォルダーの場所を参照すると画像コレクションを含むレイヤーが作成されます。
[画像コレクション] パラメーターの値を指定すると、[オブジェクトのラベル付け] ウィンドウが表示されます。 このウィンドウは、2 つのパートに分かれています。 ウィンドウの上部はクラスの管理に使用され、ウィンドウの下部はサンプルのコレクションの管理とディープ ラーニング フレームワークのトレーニング データのエクスポートに使用されます。
クラスの作成とオブジェクトのラベル付け
ウィンドウの上部では、オブジェクト クラスを管理し、ディープ ラーニング モデルのトレーニングに使用するオブジェクトを作成できます。 以下のスケッチ ツールおよび人工知能 (AI) 支援ツールを、ラベル付きオブジェクトの作成に使用できます。
ツール | 説明 |
---|---|
ラスター内のフィーチャまたはオブジェクトの周囲に四角形を描画して、ラベル付きオブジェクトを作成します。 | |
ラスター内のフィーチャまたはオブジェクトの周囲にポリゴンを描画して、ラベル付きオブジェクトを作成します。 | |
ラスター内のフィーチャまたはオブジェクトの周囲に円を描画して、ラベル付きオブジェクトを作成します。 | |
ラスター内のフィーチャまたはオブジェクトの周囲にフリーハンドの図形を描画して、ラベル付きオブジェクトを作成します。 | |
フィーチャまたはオブジェクトを自動的に検出してラベルを付けます。 ポリゴンは、フィーチャまたはオブジェクトの周辺に描画されます。 このツールは、ディープ ラーニング フレームワークがインストールされている場合にのみ使用できます。 | |
セグメント レイヤーからセグメントを選択して、フィーチャを作成します。 このオプションは、[コンテンツ] ウィンドウ内にセグメント レイヤーが存在する場合にのみ使用できます。 [コンテンツ] ウィンドウ内のセグメント レイヤーを選択することによって、[セグメント ピッカー] をアクティブにし、[セグメント ピッカー] ドロップダウン リストからレイヤーを選択します。 | |
選択されたクラスを現在の画像に割り当てます。 このツールは、画像コレクション モードでのみ使用できます。 | |
ラベル付きオブジェクトを選択および編集します。 | |
分類スキーマを作成します。 | |
分類スキーマのオプションを選択します。
| |
変更をスキーマに保存します。 | |
スキーマのコピーを保存します。 | |
クラス カテゴリをスキーマに追加します。 まず、スキーマの名前を選択して、最高レベルの親クラスを作成します。 既存のクラスの名前を選択して、サブクラスを作成します。 | |
選択したクラス カテゴリまたはサブクラス カテゴリをスキーマから削除します。 |
AI アシスト ラベリング ツール
[自動検出] および [テキスト プロンプト] という、オブジェクトにラベルを付けるための 2 種類の AI ツールがあります。
自動検出ツール
[自動検出] ツール は、フィーチャを囲む四角形を自動的に描画します。 フィーチャをクリックすると、フィーチャを含んでいる境界四角形が描画されます。 フィーチャのポリゴン境界が必要である場合、Shift キーを押しながら、フィーチャをクリックすると、フィーチャの形状の輪郭が描画されます。 ツールが適切に機能するようにするには、有意なピクセル数のフィーチャをマップ上に表示する必要があり、フィーチャを拡大する必要があります。
[自動検出] ツールは、個別の形状、鋭いエッジ、および高いコントラストを特徴とする個別のフィーチャに対して適切に機能します。 互いにごく接近している連続フィーチャの場合は、お勧めしません。
注意:
この機能を使用するには、ArcGIS 用のディープ ラーニング フレームワークをインストールする必要があります。
テキスト プロンプト ツール
[テキスト プロンプト] ツールでフィーチャの検出を使用して、ラベリングを支援することができます。 オブジェクトの名前を [クラス名] テキスト ボックスに入力して、[検出] ボタンをクリックします。 この機能には、少なくとも 12 GB の RAM とともに高性能の GPU を使用することをお勧めします。
結果を改善するために、[構成] オプションで [ボックス閾値] および [テキスト閾値] の値を設定できます。
- [ボックス閾値] - この値は、画像内のオブジェクトの検出に使用されます。 この値を高くすると、モデルがより選択的になり、最も信頼度の高いオブジェクト インスタンスのみを識別し、全体的な検出数が少なくなります。 この値を低くすると、モデルの許容度が高くなり、検出数が増え、信頼度の低いオブジェクトが含まれる可能性があります。 閾値の値の範囲は 0 ~ 1 です。
- [テキスト閾値] - この値は、検出されたオブジェクトを指定されたテキスト プロンプトに関連付けるために使用されます。 この値を高くすると、オブジェクトとテキスト プロンプトの間のより強い関連が必要になり、精度が高くなりますが、関連が少なくなる可能性があります。 この値を低くすると、より弱い関連を考慮するようになり、関連の数が増えることがありますが、精度の低い一致も導入されます。 閾値の値の範囲は 0 ~ 1 です。
注意:
この機能を使用するには、ArcGIS 用のディープ ラーニング フレームワークをインストールする必要があります。
クラスの定義ダイアログ ボックス
[クラスの定義] ダイアログ ボックスを使用して、クラスを作成したり、既存のクラスを定義したりできます。 [既存のクラスを使用] を選択した場合は、そのオブジェクトに適切な [クラス名] オプションを選択します。 [新しいクラスの追加] を選択した場合、情報を編集し、[OK] をクリックしてクラスを作成できます。
オブジェクトのラベル付け タブ
[オブジェクトのラベル付け] ウィンドウの下部のセクションにある [ラベル付きオブジェクト] タブでは、クラスごとに収集したトレーニング サンプルを管理します。 画像内のクラスごとに、代表的な領域 (つまり、トレーニング サンプル) を収集します。 トレーニング サンプルは、位置情報 (ポリゴン) および関連するクラスを含んでいます。 画像分類アルゴリズムは、フィーチャクラスとして保存されたトレーニング サンプルを使用して、画像全体の土地被覆クラスを識別します。
トレーニング サンプルを表示し、それらを追加したり、グループ化したり、削除することによって、管理できます。 トレーニング サンプルをクリックすると、マップ上でそのサンプルが選択されます。 テーブル内のトレーニング サンプルをダブルクリックすると、マップ内のそのサンプルにズームします。
次の表で、[ラベル付きオブジェクト] タブのツールを説明します。
ツール | 説明 |
---|---|
既存のトレーニング サンプル フィーチャクラスを開きます。 | |
現在のラベル付きオブジェクト フィーチャクラスに対して行った編集内容を保存します。 | |
現在のラベル付きオブジェクトを新しいフィーチャクラスとして保存します。 | |
選択したラベル付きオブジェクトを削除します。 |
トレーニング データのエクスポート タブ
サンプルを収集したら、[トレーニング データのエクスポート] タブをクリックして、サンプルをトレーニング データにエクスポートできます。 その後、トレーニング データをディープ ラーニング モデルで使用できます。 以下で説明されるパラメーター値を設定したら、[実行] をクリックしてトレーニング データを作成します。
パラメーター | 説明 |
---|---|
出力フォルダー | トレーニング データを保存する出力フォルダー。 |
マスク ポリゴン フィーチャ | 画像チップが作成される領域を描画するポリゴン フィーチャクラス。 このポリゴンに完全に含まれる画像チップのみが作成されます。 |
画像形式 | 画像チップ出力のラスター形式を指定します。
PNG 形式および JPEG 形式は、3 バンドまでサポートします。 |
タイル サイズ X | 画像チップのサイズ (x ディメンション)。 |
タイル サイズ Y | 画像チップのサイズ (y ディメンション)。 |
ストライド X | 次の画像チップを作成する際に x 方向に移動する距離。 ストライドがタイル サイズと等しい場合、オーバーラップは発生しません。 ストライドがタイル サイズの半分と等しい場合は、50% のオーバーラップが発生します。 |
ストライド Y | 次の画像チップを作成する際に y 方向に移動する距離。 ストライドがタイル サイズと等しい場合、オーバーラップは発生しません。 ストライドがタイル サイズの半分と等しい場合は、50% のオーバーラップが発生します。 |
回転角度 | 画像チップを生成するために使用される回転角度。 画像チップは最初に 0 の回転角度で生成されます。 その後、画像チップは、追加の画像チップを作成するために、指定した角度で回転されます。 画像は、360 度回転するまで回転され、チップが作成されます。 たとえば、45 度の回転角度を指定すると、ツールは 8 個の画像チップを作成します。 8 個の画像チップは、0、45、90、135、180、225、270、315 度で作成されます。 |
フィーチャなしのタイルを出力 | トレーニング サンプルをキャプチャしない画像チップをエクスポートするかどうかを指定します。
トレーニング サンプルを含んでいない画像チップの収集は、モデルが、偽陽性オブジェクトなどの、結果の一部と見なされるべきではないオブジェクトを識別するのに役立つことができます。 過剰適合も低減することができます。 |
メタデータ形式 | 出力メタデータ ラベルに使用する形式を指定します。 入力トレーニング サンプル データがビルディング レイヤーなどのフィーチャクラス レイヤーまたは標準分類トレーニング サンプル ファイルの場合、[KITTI ラベル] または [PASCAL Visual Object Classes] オプションを使用します (Python では KITTI_rectangles か PASCAL_VOC_rectangles)。 出力メタデータは、最小境界範囲内のトレーニング サンプル データを含む .txt ファイルまたは .xml ファイルです。 メタデータ ファイルの名前は、入力ソース画像名と一致します。 入力トレーニング サンプル データがクラス マップの場合、出力メタデータ形式として [分類タイル] オプション (Python の Classified_Tiles) を使用します。
KITTI メタデータ形式では 15 個の列が作成されますが、そのうちツールで使用されるのは 5 つのみです。 最初の列はクラス値です。 次の 3 つの列はスキップされます。 5 ~ 8 番目の列は、4 つの画像座標位置 (上下左右のピクセル) で構成される最小境界範囲を定義します。 最小境界範囲には、ディープ ラーニング分類器に使用されるトレーニング チップが含まれます。 残りの列は使用されません。 |
フィーチャの周囲を黒く表示 | それぞれの画像ファイル内で各オブジェクトまたはフィーチャの周囲のピクセルをマスクするかどうかを指定します。
このパラメーターは、[メタデータ形式] パラメーターが [ラベル付きタイル] に設定されており、入力フィーチャクラスまたは分類ラスターが指定されている場合にのみ適用されます。 |
トリミング モード | エクスポートされたタイルが、すべて同じサイズになるようにトリミングされるかどうかを指定します。
このパラメーターは、[メタデータ形式] パラメーターが [ラベル付きタイル] または [ImageNet] に設定されており、入力フィーチャクラスまたは分類ラスターが指定されている場合にのみ適用されます。 |
参照系 | 入力画像を解釈するために使用される参照系のタイプを指定します。 指定する参照系は、ディープ ラーニング モデルをトレーニングするために使用する参照系と一致する必要があります。
|
追加入力ラスター | 画像変換方法の追加の入力画像ソース。 このパラメーターは、[メタデータ形式] パラメーターが [分類済みタイル]、[タイルのエクスポート]、または [CycleGAN] に設定されている場合に有効です。 |
これで、エクスポートされたトレーニング データが、ディープ ラーニング モデル内で使用できるようになりました。