AutoML Vision Edge API を使用して画像にラベルを付ける
このクイックスタートでは、以下のプロセスを順を追って説明します。
- AutoML Vision Object Detection を使用してデータセットを作成し、カスタム AutoML Vision Edge モデルをトレーニングし、予測を行う。
- AutoML Vision Edge モデルをエクスポートして使用する。
このクイックスタートでは、ユーザー インターフェース(UI)を使用して AutoML Vision API を操作し、AutoML Vision Edge モデルをエクスポートします。
始める前に
AutoML Vision Object Detection を使用する前に、Google Cloud プロジェクト(他の AutoML サービスで使用しないプロジェクト)を作成し、そのプロジェクトで AutoML Vision Object Detection を有効にする必要があります。
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Cloud AutoML and Storage API を有効にします。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Cloud AutoML and Storage API を有効にします。
ベータ版の要件
- このベータ版の機能では、リージョンとして
us-central1
を使用する必要があります。
データセットの準備
このクイックスタートでは、Open Images Dataset V4 から作成したデータセットを使用します。一般公開されている Salads のデータセットは gs://cloud-ml-data/img/openimage/csv/salads_ml_use.csv
にあります。
CSV 形式は次のとおりです。
TRAINING,gs://cloud-ml-data/img/openimage/3/2520/3916261642_0a504acd60_o.jpg,Salad,0.0,0.0954,,,0.977,0.957,, VALIDATION,gs://cloud-ml-data/img/openimage/3/2520/3916261642_0a504acd60_o.jpg,Seafood,0.0154,0.1538,,,1.0,0.802,, TEST,gs://cloud-ml-data/img/openimage/3/2520/3916261642_0a504acd60_o.jpg,Tomato,0.0,0.655,,,0.231,0.839,,
各行は、大きな画像内にローカライズされたオブジェクトに対応し、各オブジェクトはテスト、トレーニング、検証データとして指定されます。ここに含まれる 3 行は、gs://cloud-ml-data/img/openimage/3/2520/3916261642_0a504acd60_o.jpg
で使用可能な同じ画像内にある 3 つの異なるオブジェクトを示しています。各行には、Baked goods
または Cheese
ラベルを持つ他の行に加えて、Salad
、Seafood
、Tomato
という異なるラベルがあります。
左上と右下の頂点で、各画像の境界ボックスが指定されます。
- (0,0)が左上の頂点に対応します。
- (1,1)が右下の頂点に対応します。
上記の最初の行の場合、Salad
ラベル付きオブジェクトの左上の頂点の(x、y)座標は(0.0,0.0954)であり、オブジェクトの右下の頂点の座標は(0.977,0.957)です。
CSV ファイルの形式と有効なデータセットの最小要件の詳細については、トレーニング データの準備をご覧ください。
データセットの作成
- AutoML Vision Object Detection UI を開き、タイトルバーのプルダウン リストからプロジェクトを選択します。
AutoML Vision Object Detection UI を初めて開くときに、AutoML API が有効になっていない場合は、この API を有効にする必要があります。
- プロンプトが表示されたら、ポップアップ ウィンドウで [開始] を選択します。
- データセットのリストページが表示されます。[新しいデータセット] を選択して、新しいデータセットを作成します。データセットの一意の名前を入力します。
- 表示されたウィンドウで、インポートするトレーニング データの場所を入力します。
[Cloud Storage で CSV ファイルを選択] テキスト ボックスに、CSV サンプル ファイルのパスを入力します(
gs://
という接頭辞が自動的に追加されます)。cloud-ml-data/img/openimage/csv/salads_ml_use.csv
あるいは、[参照] を選択して、Google Cloud Storage バケット内にある CSV ファイルを選択することもできます。
このクイックスタートで使用するサンプルデータは、一般公開の Google Cloud Storage バケットにステージングされています。トレーニング データは、モデルに学習させる境界ボックスとオブジェクトのラベルが追加された JPG サンプル画像です。トレーニング データをデータセットにインポートするには、画像ファイル(JPEG、PNG、GIF、BMP または ICO)を参照する CSV ファイルを使用します。ファイルの形式と画像の指定方法については、トレーニング データの準備をご覧ください。
- [インポート] を選択します。
画像のインポート中、データセットのステータスは
Running:importing images
になります。この処理には数分かかります。
トレーニング データが正常にインポートされると、[ステータス] 列に Success:Creating dataset
が表示され、データセット(AutoML API の呼び出しで使用したデータセット)に生成された ID とインポートされた項目数が UI に表示されます。
画像のインポートで問題が発生した場合は、ステータスが Warning: Importing
images
になります。特定の画像のインポートに関するエラーを表示するには、データセット名と詳細を選択します。
モデルのトレーニング
データセットが作成されて処理されたら、[トレーニング] タブを選択してモデルのトレーニングを開始します。
続行するには [トレーニングを開始] を選択してください。
トレーニング オプションを含むサイド ウィンドウが開きます。
トレーニングの [モデルを定義する] セクションからモデル名を変更して、モデルタイプとして radio_button_checked Edge を指定します。Edge モデルのトレーニングを選択したら、[続行] を選択します。
次の [モデル最適化のオプション] セクションでは、デフォルトの radio_button_checked [最良のトレードオフ] オプションを選択します。最適化基準を選択したら、[続行] を選択します。
次の [ノード時間予算の設定] セクションで、ノード時間の推奨予算(24 時間)を使用します。
[トレーニングを開始] を選択して、モデルのトレーニングを開始します。
モデルのトレーニングが開始されます。これには約 1 時間かかります。トレーニングは、選択したノード時間より前に停止することがあります。トレーニングが完了した後、またはエラーが発生した場合は、メールが届きます。
トレーニングが完了したら、評価指標の参照や、モデルのテスト、使用ができるようになります。
[評価] タブを選択すると、F1、精度、再現率のスコアの詳細が取得されます。
[ラベルをフィルタ] の各ラベルを選択すると、真陽性、偽陰性、偽陽性の詳細が取得されます。
予測を行う
トレーニングの完了後、モデルをオンライン予測で使用する前に、モデルを手動でデプロイする必要があります。
[テストと使用] タブを選択して、モデルをデプロイ(またはデプロイ解除)します。予測のためにモデルに画像を送信する手順については、[テストと使用] ページをご覧ください。例については、画像へのアノテーション付けもご覧ください。
Edge モデルをエクスポートして使用する
AutoML Vision Edge モデルを使用する最後のステップは、モデルをエクスポート(最適化とダウンロード)して使用することです。
Edge デバイスで予測を実施するために、モデルをエクスポートして使用する際の方法は複数あります。
このクイックスタートでは、Tensorflow Lite(TF Lite)を例に説明します。 TF Lite モデルは使いやすく、幅広いユースケースを対象にしています。
[モデルを使用する] で、[TF Lite] オプションを選択します。
開いたサイド ウィンドウに、エクスポートされたモデルの Google Cloud Storage の場所が表示されます。
ストレージの場所を指定したら、[エクスポート] を選択して TF Lite パッケージを Cloud Storage ストレージ バケットにエクスポートします。通常、エクスポート処理には数分かかります。
エクスポートが完了したら、Google Cloud Platform Console の [Google Cloud Storage で開く] リンクをクリックして、Google Cloud Platform Console の Google Cloud Storage のインストール先フォルダに移動します。
Google Cloud Storage のインストール先には、タイムスタンプとモデル形式で名前が付けられたフォルダがあり、その中に以下のファイルがあります。
- tflite ファイル(
model.tflite
) - 辞書ファイル(
dict.txt
) - メタデータ ファイル(
tflite_metadata.json
)
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の操作を行います。
次のステップ
これらのファイルを使用すると、チュートリアルに沿って Android デバイス、iOS デバイス、Raspberry Pi 3 で使用できるようになります。
モデルを使用するその他のオプション:
- TensorFlow SavedModel としてモデルをエクスポートし、[コンテナ] タブの Docker コンテナで使用することもできます。コンテナにエクスポートする方法については、コンテナのチュートリアルをご覧ください。
- Edge TPU で実行するモデルは、[Edge デバイス] タブでエクスポートできます。モデルを使用するためには、Edge TPU 公式ドキュメントをご確認ください。