トレーニング画像の収集
Survey123 のスマート属性では、画像分類モデルを使用して、モデルが画像から検出したオブジェクトに基づいて値を抽出できます。
画像分類モデルを作成するには、モデルが認識する必要があるフィーチャの各クラスを特定する大量の画像コレクションが必要です。 一時停止標識と速度標識の 2 つのクラスを識別します。
道路標識では、クラスごとに約 500 枚の画像が必要です。 同じ標識の写真を複数枚 (照明、角度、対象物までの距離を変えて) 用意してもかまいません。 照明、角度、対象物までの距離が異なる写真によってモデルは強化され、結果として精度が向上し、予測の信頼度と受容性が高まります。
注意:
最高の精度と信頼度をもたらすモデルを作成するには、何度も反復、テスト、および実験を行う必要があります。 このチュートリアルでは、現場での画像分類に使用するモデルの作成に必要な手順を示すワークフローとフレームワークについて説明します。 運用環境での使用に適したモデルを作成するには、さらに多くの反復とテスト画像が必要になる場合があります。
調査の作成と公開
最初に、Survey123 Connect を使用して調査を作成します。この調査は画像と標識タイプを取得し、各レコードに固有の ID が割り当てられます。
- SignImageCollection .xlsx ファイルをダウンロードします。
- ArcGIS Survey123 Connect を起動します。
注意:
ArcGIS Survey123 Connect を保有していない場合、Microsoft Store または Survey123 の製品ページからダウンロードすることができます。 インストーラーを実行し、手順に従ってプログラムをインストールします。
- リボンでメニュー ボタンをクリックして、[サイン イン] をクリックします。
- ArcGIS の認証情報を使用してサイン インします。
組織アカウントがない場合は、ソフトウェア アクセスのオプションをご参照ください。
- ダウンロードした .xlsx ファイルを Survey123 Connect の調査のギャラリーにドラッグします。
- インポートが完了したら、[OK] をクリックします。
- 調査の質問を確認します。
[Sign Image] の質問には、カメラ ボタンがあり、ユーザーがモバイル デバイスを使用して画像を添付することができます。 この調査を使用して、モデルをトレーニングする画像を収集します。
- [公開] をクリックします。
- [SignImageCollection の公開] ウィンドウで [調査の公開] をクリックします。
調査は、関連するすべてのフィーチャ サービスやフォーム アイテムとともに、ArcGIS 組織に公開されます。
- 公開が完了したら、[OK] をクリックします。
- サイド メニューの [その他のアクション] ボタンをクリックします。 [Survey123 Web サイトで管理] をクリックします。
新しいブラウザー ウィンドウで、公開した調査の [概要] ページが Survey123 Web サイトで開きます。 他のユーザーがこの調査を使用できるようにするには、組織と調査を共有します。
- リボンの [共同作業] をクリックします。
- [調査の共有] タブの [この調査にデータを投稿できるユーザーを選択] で、[組織のメンバー] を選択し、[保存] をクリックします。
[調査の共有] ウィンドウが開きます。
- [共有の共有] ウィンドウで、[保存] をクリックします。
これで、画像分類モデルの学習に使用できる画像を収集する調査が作成されました。
調査を同僚と共有し、さまざまな照明条件、角度、および距離で撮影した写真など、さまざまな道路標識の収集を開始できます。 種類と例が多ければ多いほど、生成されたモデルは観察対象に対して優れた予測を行えるようになります。 分類する画像カテゴリごとに、約 500 枚の画像を用意します。
- Survey123 Connect を閉じます。
調査の使用
調査を公開したので、モバイル デバイスにダウンロードして使用します。
お住まいの地域で道路標識の写真を撮影できない場合は、このチュートリアル用に作成された写真のサンプル ジオデータベースを使用して次のセクションに進むことで、次の手順をスキップできます。
- モバイル デバイスで、Survey123 フィールド アプリを開きます。
注意:
Survey123 フィールド アプリがない場合は、Google Play、App Store、Microsoft Store、Survey123 の製品ページにアクセスします。 製品ページからダウンロードする場合は、[ArcGIS Survey123 フィールド アプリ] で、お使いのコンピューターまたはデバイスのオペレーティング システムに合ったダウンロード リンクをクリックします。 ダウンロードしたインストーラーを実行し、指示に従ってフィールド アプリをインストールします。
- [ArcGIS Online でサイン イン] をタップします。 ArcGIS の組織アカウントにサイン インします。
注意:
ArcGIS Enterprise を使用している場合は、[ArcGIS 接続の管理] をタップして、ArcGIS Enterprise 環境にサイン インします。
アプリで [Survey123] ページが開きます。 調査の記録を収集するには、調査をダウンロードする必要があります。
- [調査のダウンロード] をタップします。
注意:
調査をデバイスにダウンロードしている場合、新しい調査をダウンロードするには、[メニュー] ボタンをタップし、[調査のダウンロード] を選択します。
[調査のダウンロード] ページには、組織で共有したすべての調査が表示されます。
- 検索バーに「SignImageCollection」と入力します。 検索結果から、[SignImageCollection] 調査を見つけて、[ダウンロード] をタップします。
調査がデバイスにダウンロードされます。
- 調査のダウンロードが完了したら、戻る矢印をタップして調査ギャラリーに戻ります。
調査ギャラリーに、[SignImageCollection] 調査が表示されます。
- [SignImageCollection] 調査をタップします。 調査のコンテンツ ページで、[収集] をタップします。
- [Sign image] の質問で、カメラ ボタンをタップします。
注意:
ファイルから写真を追加したり、デバイスのカメラを使って写真を収集したりするためのオプションがカメラ ボタンにはあります。 調査のフィールド テストを実行できない場合は、このサンプル画像のコレクションを使用できます。 コンピューター上で写真を開き、デバイスを使用して、コンピューター画面上の画像の写真を撮影します。
- 一時停止標識または速度標識の写真を撮影します。
- [Sign type] の質問では、撮影した標識に応じて、[Stop sign] または [Speed sign] を選択します。
- [送信] ボタンをタップします。
デバイスがオンラインの場合、[今すぐ送信]、[この調査を続行]、または [送信箱に保存] のいずれかを選択するように求められます。
- [今すぐ送信] を選択します。
一時停止標識と速度標識について、それぞれ少なくとも 500 枚の写真を送信するまで写真の撮影を続けます。 さまざまな方角、角度、照明条件で撮影された写真を追加してみてください。
写真の量が多いほどトレーニング済みモデルの質も上がり、標識を認識する際の精度も上がります。
注意:
お住まいの地域で道路標識の写真を撮影できない場合は、このチュートリアル用に作成されたサンプル ジオデータベースを使用できます。 次の手順では、独自のデータまたはサンプル ジオデータベースを使用してモデルをトレーニングする方法を説明します。
これで、画像分類モデルの構築に必要な入力データを用意できました。
モデルのトレーニング
次に、ArcGIS Notebooks を使用して、画像分類モデルを作成します。 Advanced with GPU 機能を使用するノートブックを作成する必要があります。 この機能では 1 時間あたり 30 クレジットが使用されます。
または、参照されているノートブックをローカルにダウンロードして使用することもできますが、適切なハードウェアを使用していることを確認する必要があります。
注意:
ArcGIS Notebooks を使用して ArcGIS 用の Python コードを記述する方法を習得したい場合は、まず「初めてのノートブック」チュートリアルを完了してください。 [ダウンロード] ボタンは表示されているが、[ノートブックを開く] ボタンが表示されていない場合は、サイン インしていない可能性があります。 サイン インしても、[ノートブックを開く] ボタンにアクセスできない場合、お使いのアカウントではノートブックを使用できません。 Notebooks にアクセスするには、所属組織の ArcGIS 管理者にお問い合わせください。
「ArcGIS Notebooks での Python の使用方法の理解」チュートリアル シリーズで利用できるノートブックの他のチュートリアルもぜひご参照ください。
管理者がこれまでに ArcGIS Notebooks を有効化したことがない場合は、ガイド「ArcGIS Online での組織用の ArcGIS Notebooks の有効化」ガイドが役立ちます。
ArcGIS Notebook の設定
最初に、ArcGIS Notebooks でノートブックを作成します。 ArcGIS Notebooks にアクセスできない場合は、このチュートリアルの次のセクションで使用するトレーニング済みモデルをダウンロードできます。
- SignImageClassificationModel ノートブックをダウンロードします。
- 自身のイニシャルを .ipynb ファイルに追加して、ダウンロードしたファイルの名前を変更します。
ArcGIS 組織内のアイテム名は一意である必要があります。 組織内の他のユーザーがこのチュートリアルを完了した場合は、ノートブック ファイルがデフォルト名ですでにアップロードされている可能性があります。
- 必要に応じて、ArcGIS 組織にサイン インします。
- リボンの [コンテンツ] タブをクリックします。
- [新しいアイテム] をクリックします。
- .ipynb ファイルをドラッグするか、このファイルがある場所まで移動し、[新しいアイテム] ウィンドウに追加します。
- [新しいアイテム] ウィンドウで、次のパラメーターを設定します。
- [タイトル] に、「Sign Image Collection Model_(ユーザー名)」と入力します。
- [フォルダー] で、適切なプロジェクト フォルダーを選択または作成します。
- [タグ] に、「SignImageCollectionModel」と入力します。
- [サマリー] に、「Sign Image Collection Model」と入力します。
- [保存] をクリックします。
アイテムが作成され、その詳細ページが表示されます。
- 詳細ページで [設定] タブをクリックします。
- [ノートブック ランタイム] で、[ArcGIS Notebook Python 3 Advanced with GPU support – 9.0] を選択します。
- [保存] をクリックします。
- [概要] タブをクリックします。
- [ノートブックを開く] をクリックします。
ノートブックを実行し、モデル ファイルを作成する手順がノートブック テキストに含まれています。
- ノートブックでこれらの手順を完了した後、このチュートリアルに戻ります。
ノートブックの手順は次のとおりです。
- 環境の設定
- フィーチャ レイヤーからのトレーニング画像のダウンロード
- モデルのトレーニング
- モデルのテスト (オプション)
注意:
ノートブックは、提供されたデータを使用して実行できるように設計されています。 ノートブック内に記述された手順 (特に、指示されたときにカーネルを再起動する手順) に従うことが重要です。
独自の画像を収集している場合は、ノートブックで参照されているアイテム ID を変更して、独自の画像からモデルを作成できます。
モデルの結果のダウンロード
ノートブックが正常に終了したら、ファイルのパッケージが生成されます。 これらのファイルをダウンロードして、テスト調査に含めます。
- ArcGIS Notebooks で、[ファイル] を選択します。
- [/arcgis/home/tmp/fa40cf680eb4436daf4109b887b52b30/models/] を参照します。
注意:
デフォルト名は、ノートブックが実行された日付に基づきます。 ファイル名は上の図と異なることがあります。
- .zip ファイルをダウンロードします。
注意:
モデルをトレーニングしなかった場合は、このチュートリアルの次のセクションで使用するモデルをダウンロードできます。
- .zip ファイルの内容をコンピューター上の適切な場所に展開します。
ダウンロードした画像分類モデル出力ファイルは、速度標識と一時停止標識を自動的に識別するために Survey123 フィールド アプリで使用します。
モデルのテスト
次に、画像分類モデル ファイルを調査に追加して、速度標識と一時停止標識を識別します。
現場に行って、この調査をテストするのが理想的ではありますが、それができない場合、または速度標識と一時停止標識が近くにない場合は、お使いのコンピューター上で写真を使用してこのテストをシミュレートすることもできます。
調査の作成と公開
最初に、Survey123 Connect を使用して調査を作成します。調査では、作成したモデル ファイルを使用して、画像を一時停止標識または速度標識のいずれかに分類します。
- SignImageClassificationModelTesting .xlsx ファイルをダウンロードします。
- Survey123 Connect を起動します。 必要に応じて、ArcGIS 組織のアカウントにサイン インします。
- ダウンロードした .xlsx ファイルを調査のギャラリーにドラッグします。
[SignImageClassificationModelTesting] という名前の新しい調査が作成されます。
- インポートが完了したら、[OK] をクリックします。
- サイド メニューの [ファイル] をクリックします。
[SignImageClassificationModelTesting] 調査に関連するすべてのファイルが表示されます。 調査には、[media] フォルダーが含まれています。 ダウンロードしたフォルダーから 2 つのモデルをコピーして、この [media] フォルダーに貼り付けます。
- モデル出力を含むフォルダーを開きます。 ファイル拡張子が .emd および .tflite であるモデル ファイルを見つけてコピーします。
注意:
これらのファイルの名前は、ノートブックが実行された日付に基づきます。 ファイル名は上の図と異なることがあります。
.emd ファイルと .tflite ファイルを使用すると、調査で、モバイル デバイスのカメラを使用して速度標識と一時停止標識を検出できます。
- 調査の [SignImageClassificationModelTesting] フォルダーに戻ります。 [media] フォルダーを開き、.emd ファイルと .tflite ファイルを [media] フォルダーに貼り付けます。
- ファイル ブラウザーを閉じて、Survey123 Connect に戻ります。
新しい調査は次の機能を備えています。
- [Sign Image] の質問の外観が Survey123 の標準のカメラ ボタンと同じようにみえますが、この機能は調査に含めたモデルを使用して、撮影された写真の内容を解釈します。
- [Sign Type] の質問では、写真で検出される標識のタイプが自動的にチェックされます。
- [Is this correct] の質問により、ユーザーはカメラが正常に実行されたことを確認できます。
これで調査を公開する準備ができました。
- サイド メニューの [公開] をクリックします。
- [SignImageClassificationModelTesting の公開] ウィンドウで [調査の公開] をクリックします。
Survey123 Connect によって、コンテンツが ArcGIS 組織に公開されます。 調査に画像分類ファイルが含まれているため、公開に通常よりも長い時間がかかることがあります。
- 公開が完了したら、[OK] をクリックします。
- サイド メニューの [その他のアクション] ボタンをクリックし、[Survey123 Web サイトで管理] を選択します。
公開した調査の [概要] ページが Survey123 Web サイトで開きます。 他のユーザーがこの調査を使用できるようにするには、組織と調査を共有します。
- リボンの [共同作業] をクリックします。
- [調査の共有] タブの [この調査にデータを投稿できるユーザーを選択] で、[組織のメンバー] を選択します。 [保存] をクリックします。
- [共有の共有] ウィンドウで、[保存] をクリックします。
これで、画像分類モデルをテストするための調査を作成できました。
次のステップでは、この調査を使用して、モデルをテストします。 さまざまな照明条件の下でいろいろな角度と距離から写真を撮影してモデルの精度をテストします。 成功したテストで使用された写真が多様であるほど、これらのモデルを共有する場合の信頼性が向上します。
調査の使用
調査が公開されたら、その調査をモバイル デバイスにダウンロードします。 外へ出て、一時停止標識と速度標識の写真を撮影することができます。
注意:
調査のフィールド テストを実行できない場合は、このサンプル画像のコレクションを使用できます。 コンピューター上で写真を開き、デバイスを使用して、コンピューター画面上の画像の写真を撮影します。
- モバイル デバイスで Survey123 フィールド アプリを開きます。
- 必要に応じて、ArcGIS 組織にサイン インします。
アプリで [Survey123] ページが開きます。 調査の記録を収集するには、調査をダウンロードする必要があります。
- [メニュー] ボタンをタップし、[調査のダウンロード] を選択します。
[調査のダウンロード] ページには、組織で共有したすべての調査が表示されます。
- 検索バーに「SignImageClassificationModelTesting」と入力します。 検索結果から、[SignImageClassificationModelTesting] 調査を見つけて、[ダウンロード] をタップします。
調査がデバイスにダウンロードされます。
- 調査のダウンロードが完了したら、戻る矢印をタップして、調査ギャラリーに戻ります。
- [SignImageClassificationModelTesting] 調査をタップします。 調査のコンテンツ ページで、[収集] をタップします。
- [Sign Image] の質問で、カメラ ボタンをタップします。
- 一時停止標識または速度標識の写真を撮影します。
カメラのプレビューの画面上部に、分類 (一時停止または速度) と信頼値が表示されます。
画像を取得すると、調査ページに戻ります。 [Sign Type] の質問が、カメラ プレビューに表示されたのと同じ値で自動的に更新されます。 この画像分類は、調査に含まれていたモデル ファイルによって実行されています。
次に、スマート属性の結果を整合チェックする必要があります。
- モデルで標識タイプが正しく予測された場合は、[Is this correct] の質問で [Yes] をタップします。 そうでない場合は [いいえ] をタップします。
- [送信] ボタンをタップします。
デバイスがオンラインの場合、[今すぐ送信]、[この調査を続行]、または [送信箱に保存] のいずれかを選択するように求められます。
- [今すぐ送信] をタップします。
- 一時停止標識と速度標識について、それぞれ少なくとも 10 枚の写真を送信するまで写真の撮影を続けます。
これで、カメラを使用して、一時停止標識または速度標識を含む写真を分類しました。 結果に問題がなければ、任意の調査でこれらのモデル ファイルを使用して、一時停止標識または速度標識を識別できます。 結果に問題がある場合は、モデルのトレーニングが再度必要になることがあります。
モデルの品質向上のために、次のオプションを検討してください。
- モデルのトレーニングに使用される画像を確認します。
- 標識が画像の中央部分にあることを確認し、必要に応じてトリミングします。
- 対象物の写真がさまざまな照明および角度と距離で撮影されていることを確認します。
- 整合チェックの損失 (valid_loss) とトレーニングの損失 (train_loss) を足した値が 1 未満になるまで、エポック (反復) を増やしてデータのトレーニングを続けます。 トレーニングごとに 5 ずつエポックを増やすことを推奨します。
他のチュートリアルについては、チュートリアル ギャラリーをご覧ください。