arrow_back

AutoML Image でクラウド内の雲の画像を分類する

参加 ログイン
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

AutoML Image でクラウド内の雲の画像を分類する

Lab 1時間 universal_currency_alt クレジット: 5 show_chart 中級
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP223

Google Cloud セルフペース ラボ

概要

AutoML を使用すると、ML の専門知識が限られている開発者でも、高品質な画像認識モデルをトレーニングできます。AutoML UI に画像をアップロードすると、使いやすい REST API を介して、事前トレーニング済みのモデルに対して予測を生成することが可能です。

このラボでは、Cloud Storage に画像をアップロードして、さまざまな種類の雲(積雲、積乱雲など)を見分けられるようにカスタムモデルをトレーニングします。

学習内容

このラボでは、次のことを行います。

  • ラベル付きデータセットを Cloud Storage にアップロードし、CSV ラベルファイルを使用して AutoML に接続する。
  • 事前トレーニング済みのモデルに対して予測を生成する。

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。

このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。
  • ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、このラボでは使用しないでください。アカウントへの追加料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google コンソールを開く] をクリックします。 ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、[ラボの詳細] パネルから [ユーザー名] をコピーして [ログイン] ダイアログに貼り付けます。[次へ] をクリックします。

  4. [ラボの詳細] パネルから [パスワード] をコピーして [ようこそ] ダイアログに貼り付けます。[次へ] をクリックします。

    重要: 認証情報は左側のパネルに表示されたものを使用してください。Google Cloud Skills Boost の認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  5. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後このタブで Cloud Console が開きます。

注: 左上にある [ナビゲーション メニュー] をクリックすると、Google Cloud のプロダクトやサービスのリストが含まれるメニューが表示されます。 ナビゲーション メニュー アイコン

Cloud Shell をアクティブにする

Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン 「Cloud Shell をアクティブにする」アイコン をクリックします。

接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

  1. (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
  1. [承認] をクリックします。

  2. 出力は次のようになります。

出力:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project = <project_ID>

出力例:

[core] project = qwiklabs-gcp-44776a13dea667a6 注: Google Cloud における gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。

タスク 1. AutoML を設定する

AutoML は、画像分類モデルのトレーニングと予測の生成におけるすべてのステップに、インターフェースを提供します。まず、Cloud AutoML API を有効にするところから始めます。

  1. ナビゲーション メニューから、[API とサービス] > [ライブラリ] を選択します。

  2. 検索バーに「Cloud AutoML」と入力します。

  3. Cloud AutoML API有効になっていることを確認します。

  4. 新しいブラウザで、AutoML UI を開きます。

ストレージ バケットを作成する

  1. 次のコマンドを実行してストレージ バケットを作成します。
gsutil mb -p $GOOGLE_CLOUD_PROJECT \ -c standard \ -l us \ gs://$GOOGLE_CLOUD_PROJECT-vcm/
  1. Google Cloud コンソールでナビゲーション メニューを開き、[Cloud Storage] をクリックして、作成したバケットを確認します。

[進行状況を確認] をクリックして、目標に沿って進行していることを確認します。

Cloud Storage バケットを作成する

タスク 2. トレーニング画像を Cloud Storage にアップロードする

雲の画像を分類するようにモデルをトレーニングするには、さまざまな種類の雲に関連付けられた画像の特徴をモデルが理解できるように、ラベル付けしたトレーニング データを用意する必要があります。この例のモデルは、3 種類の雲(巻雲、積雲、積乱雲)を分類できるように学習します。 AutoML を使用するには、トレーニング画像を Cloud Storage に保存する必要があります。

  1. 雲の画像を追加する前に、使用するバケットの名前の環境変数を作成します。

Cloud Shell で次のコマンドを実行します。

export BUCKET=$GOOGLE_CLOUD_PROJECT-vcm

トレーニング画像は Cloud Storage バケットで一般公開されています。

  1. 次に、Cloud Storage の gsutil コマンドライン ユーティリティを使用して、バケットにトレーニング画像をコピーします。
gsutil -m cp -r gs://spls/gsp223/images/* gs://${BUCKET}
  1. 画像のコピーが完了したら、Storage ブラウザの上部にある [更新] ボタンをクリックした後、バケット名をクリックします。分類する 3 種類の雲ごとに 3 つの写真フォルダがあります。

各フォルダ内の個々の画像ファイルをクリックすると、雲の種類ごとにモデルをトレーニングするための写真を表示できます。

タスク 3. データセットを作成する

トレーニング データは Cloud Storage に格納されました。次は AutoML からそのデータにアクセスする方法が必要となります。そこで、トレーニング画像の URL と、その画像に対応するラベルが各行に含まれる CSV ファイルを作成します。 この CSV ファイルはすでに用意してありますので、先ほどのバケット名を使用して更新してください。

  1. 次のコマンドを実行して、ファイルを Cloud Shell インスタンスにコピーします。
gsutil cp gs://spls/gsp223/data.csv .
  1. 次に、コピーした CSV ファイルをプロジェクト内のファイルで更新します。
sed -i -e "s/placeholder/${BUCKET}/g" ./data.csv
  1. 次に、このファイルを Cloud Storage バケットにアップロードします。
gsutil cp ./data.csv gs://${BUCKET}
  1. コマンドが完了したら、Storage ブラウザの上部にある [更新] ボタンをクリックします。バケットに data.csv ファイルが表示されることを確認します。

  2. Vertex AI データセット タブを開きます。ページは以下のようになります。

Google Cloud コンソール、データセット ページ

  1. コンソールの上部で、[+ 作成] をクリックします。

  2. データセット名として「clouds」と入力します。

  3. [画像分類(単一ラベル)] を選択します。

注: ご自身のプロジェクトでは、マルチクラス分類を使用することもできます。
  1. [作成] をクリックします。

  2. [インポート ファイルを Cloud Storage から選択] を選択し、先ほどアップロードしたファイルの URL にファイル名を追加します(your-bucket-name/data.csv)。

Google Cloud コンソールに戻って data.csv ファイルをクリックし、URI フィールドに移動するとこのリンクを簡単に取得できます。

  1. [続行] をクリックします。

画像のインポートには、2~5 分ほどかかります。インポートが完了すると、データセット内のすべての画像を含むページが表示されます。

[進行状況を確認] をクリックして、目標に沿って進行していることを確認します。

データセットを作成する

タスク 4. 画像を調べる

インポートが完了すると、アップロードした画像を確認するための [参照] タブにリダイレクトされます。

画像タブページでの画像タイル

左側のメニューからさまざまなラベルでフィルタして(積雲をクリックするなど)、トレーニング画像を確認してみてください。

注: 本番環境モデルを作成する場合は、高い精度を確保するために、ラベルごとに少なくとも 100 枚の画像を用意する必要があります。今回はデモなので、モデルをすばやくトレーニングできるよう画像を 20 枚に絞っています。

ラベルが間違っている画像があった場合は、画像をクリックしてラベルを切り替えてください。

イメージ 12/50

注: 使用するデータセットにまだラベルが付いていない場合、AutoML では Google のヒューマン ラベリング サービスを利用できます。

タスク 5. 予測を生成する

予測を生成する方法はいくつかあります。 このラボでは、UI を使用して画像をアップロードし、モデルが 2 つの画像をどのように分類するかを確認します(1 つ目の画像は巻雲、2 つ目の画像は積乱雲です)。

  1. Cloud Shell ターミナルに戻ります。

  2. これらの画像をローカルマシンにダウンロードします。

gsutil cp gs://spls/gsp223/examples/* .
  1. サンプル ファイル CLOUD1-JSON の内容を確認します。
cat CLOUD1-JSON

出力例:

{ "instances": [{ "content": "YOUR_IMAGE_BYTES" }], "parameters": { "confidenceThreshold": 0.5, "maxPredictions": 5 } }
  1. Endpoint の値を環境変数にコピーします。
ENDPOINT=$(gcloud run services describe automl-service --platform managed --region {{{project_0.default_region | REGION}}} --format 'value(status.url)')
  1. 予測を依頼する場合は、以下のコマンドを入力します。
curl -X POST -H "Content-Type: application/json" $ENDPOINT/v1 -d "@${INPUT_DATA_FILE}" | jq 上記の呼び出しは、AutoML に予測をリクエストします。 しかし、入力データが指定されていないため、リクエストは失敗します。 HTTP エラーコード 400 は、想定されたデータが存在しないことを示します。

予想される出力:

{ "error": { "code": 400, "message": "Empty instances.", "status": "INVALID_ARGUMENT" } }

タスク 6. 理解度テスト

このラボで扱うトピックに関する短いクイズに答えて、AutoML の理解度をテストしてください。 ラボで得た知識を使って、予測を立てます。

雲の画像 1

このモデルが画像内の雲の種類を予測できるかどうかを確認してください。

  1. CLOUD1-JSON を入力ファイルとして設定します。
INPUT_DATA_FILE=CLOUD1-JSON
  1. 予測を依頼する場合は、以下のコマンドを入力します。
curl -X POST -H "Content-Type: application/json" $ENDPOINT/v1 -d "@${INPUT_DATA_FILE}" | jq

雲の画像 2

このモデルが画像内の雲の種類を予測できるかどうかを確認してください。

  1. CLOUD2-JSON を入力ファイルとして設定します。
INPUT_DATA_FILE=CLOUD2-JSON
  1. 予測を依頼する場合は、以下のコマンドを入力します。
curl -X POST -H "Content-Type: application/json" $ENDPOINT/v1 -d "@${INPUT_DATA_FILE}" | jq

お疲れさまでした

ウェブ UI を介して、独自のカスタム ML モデルをトレーニングし、そのモデルを使って予測を生成する方法について学びました。これで、独自の画像データセットでモデルをトレーニングするために必要な知識をすべて習得できました。

実行した作業:

  • トレーニング画像を Cloud Storage にアップロードし、CSV ファイルを作成して AutoML がそれらの画像を見つけられるようにしました。
  • 新しい雲の画像で予測を生成しました。

クエストを完了する

このセルフペース ラボは、クエストである Machine Learning APIsIntro to ML: Image Processing の一部です。クエストとは学習プログラムを構成する一連のラボのことで、完了すると成果が認められて上のようなバッジが贈られます。バッジは公開して、オンライン レジュメやソーシャル メディア アカウントにリンクできます。このラボの修了後、こちらのクエストまたはこのラボが含まれるクエストに登録すれば、すぐにクレジットを受け取ることができます。受講可能なすべてのクエストについては、Google Cloud Skills Boost カタログをご覧ください。

次のラボを受講する

Cloud Vision API で画像内の物体(ラベル)、顔、ランドマークを検出するに進んでクエストを続けるか、下記のおすすめをご確認ください。

次のステップと詳細情報

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2023 年 10 月 20 日

ラボの最終テスト日: 2023 年 10 月 20 日

Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。