コンソールで API を使用して画像にラベルを付ける
このクイックスタートでは、以下のプロセスを順を追って説明します。
- ラベル付き境界ボックスを使用して、画像のデータセットを作成する。
- データセットを使用して、カスタムモデルをトレーニングする。
このクイックスタートでは、カスタム ユーザー インターフェース(UI)を使用して AutoML Vision API を操作します。このクイックスタートの手順はすべて AutoML API でも行うことができます。UI または API の使用方法については、入門ガイドをご覧ください。
始める前に
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
になります。特定の画像のインポートに関するエラーを表示するには、データセット名と詳細を選択します。
モデルのトレーニング
データセットを作成し、トレーニング データをデータセットにインポートしたら、カスタムモデルをトレーニングできます。
データセットのリストページで、データセット名をクリックします。
[トレーニング] タブを選択します。すべてのラベルと、トレーニング、テスト、検証セットへの分割の内訳が表示されます。
[トレーニングを開始] を選択します。サイドパネルが開き、トレーニング オプションが表示されます。
カスタム モデルの名前を入力するか、デフォルトの名前を使用します。このパネルでは、モデルの最適化(レイテンシや精度)を選択することもできます。
[モデルをデプロイするように指示されます。モデルをデプロイしないと、予測を行うことはできません。
トレーニング後にモデルをノードにデプロイする] を選択して、自動デプロイをオプトインします。この選択を行わないと、トレーニング後にプロンプトが表示され、[トレーニングを開始] を選択します。
モデルのトレーニングが完了するまで数時間かかることがあります。サンプルの標準的なトレーニング時間は約 1 時間です。
モデルのトレーニングが正常に終了したら、プログラムの登録に使用したメールアドレスにメッセージが届きます。
カスタムモデルの評価
モデルをトレーニングした後、AutoML Vision Object Detection は新しいモデルの品質と精度を評価します。モデルの評価指標を確認するには:
AutoML Vision Object Detection UI を開きます。左側のナビゲーション バーで、電球のアイコンがある [モデル] タブをクリックします。
評価するモデルの名前をクリックします。
必要に応じて、タイトルバーのすぐ下にある [評価] タブをクリックします。
モデルのトレーニングが完了すると、AutoML Vision Object Detection の評価指標が表示されます。モデル全体の適合率と再現率のほか、各オブジェクト ラベルについてはスコアしきい値と IoU(intersection over union)しきい値も表示されます。特定のオブジェクト ラベルの指標を表示するには、[ラベルをフィルタ] リストからラベルを選択します。
適合率と再現率は、モデルがどの程度的確に情報をとらえ、どの程度の量の情報を逃しているかを評価します。適合率とは、特定のラベルのアノテーションが付いているすべてのオブジェクトに対し、そのラベルに実際に割り当てられたオブジェクトの数の割合を表します。再現率とは、特定のエンティティとして識別されるべきオブジェクトの数に対して、そのエンティティに実際に割り当てられたオブジェクトの数の割合を表します。
このデータを使用して、モデルの準備状況を評価します。
- 適合率または再現率のスコアが低い場合、モデルのトレーニング データが不足していることを表しています。
- 適合率または再現率が 100% の場合、データが簡単すぎて、一般化できないことを表しています。
カスタムモデルの使用
モデルのトレーニングに成功したら、次はそのモデルをもとに、カスタムモデルで画像内のオブジェクトを識別して境界ボックスとラベルを付けます。[テストと使用] タブを選択します。
自動デプロイを選択しなかった場合は、予測を行う前にモデルのデプロイを促すメッセージが表示されます。
予測を行う
モデルをデプロイしたら、[テストと使用] ページでテスト画像のパスを指定します配置します(この画像はローカルに保存されています)。AutoML Vision は、モデルを使用して画像を分析し、画像内にラベル付きオブジェクトと境界ボックスを表示します。
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の操作を行います。
不要になったカスタムモデルやデータセットは削除できます。
Google Cloud Platform の不必要な課金を避けるため、GCP Console を使用して、不要になったプロジェクトを削除します。
モデルのデプロイ解除
モデルがデプロイされている間は料金がかかります。
- タイトルバーのすぐ下にある [テストと使用] タブを選択します。
- モデル名の下にあるバナーから [デプロイメントを削除] を選択します。デプロイ解除オプションのウィンドウが開きます。
- [デプロイメントを削除] を選択して、モデルのデプロイを解除します。
- モデルのデプロイ解除が完了すると、メールが届きます。
プロジェクトを削除する(任意)
Google Cloud Platform で不必要な課金を避けるため、Google Cloud コンソールを使用して、不要になったプロジェクトを削除します。