arrow_back

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

参加 ログイン

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

1時間 クレジット: 5

GSP223

Google Cloud セルフペース ラボ

概要

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

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

ラボの内容

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

  • ラベル付きデータセットを Cloud Storage にアップロードし、CSV ラベルファイルを使用して AutoML に接続する。

  • AutoML を使用してモデルをトレーニングし、精度を評価する。

  • トレーニングしたモデルで予測を生成する。

設定と要件

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

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

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

必要なもの

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

  • 標準的なインターネット ブラウザ(Chrome を推奨)
  • ラボを完了するために十分な時間

注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、ラボでは使用しないでください。

注: Chrome OS デバイスを使用している場合は、シークレット ウィンドウを開いてこのラボを実行してください。

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

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

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

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

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

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

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

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

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

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

Google Cloud Shell の有効化

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

GCP Console の右上のツールバーにある [Cloud Shell をアクティブにする] ボタンをクリックします。

Cloud Shell アイコン

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

cloudshell_continue

環境のプロビジョニングと接続には少し時間がかかります。接続すると、すでに認証されており、プロジェクトは PROJECT_ID に設定されています。例えば:

Cloud Shell 端末

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

次のコマンドを使用すると、有効なアカウント名を一覧表示できます。

gcloud auth list

出力:

ACTIVE: *
ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net
To set the active account, run:
    $ gcloud config set account `ACCOUNT`
	

次のコマンドを使用すると、プロジェクト ID を一覧表示できます。

gcloud config list project
	

出力:

[core]
project = <project_ID>
	

出力例:

[core]
project = qwiklabs-gcp-44776a13dea667a6
	

タスク 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-central1 \ 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. データセットを作成する

トレーニング データは 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. モデルのトレーニング

モデルのトレーニングを開始する準備が整いました。AutoML ではモデルのトレーニングが自動的に行われるため、モデルコードを記述する必要はありません。

  1. モデルをトレーニングするには、[新しいモデルをトレーニング] をクリックします。

  2. [トレーニング方法] タブで、[続行] をクリックします。

  3. [モデルの詳細] タブで、[続行] をクリックします。

  4. [トレーニング オプション] タブで、[続行] をクリックします。

  5. [説明可能性] タブで、[続行] をクリックします。

  6. [コンピューティングと料金] タブで、ノード時間を 8 に設定します。

  7. [トレーニングを開始] をクリックします。

このデータセットは小さいため、25~30 分ほどで完了します。 その間に次のセクションに進み、事前トレーニング済みモデルを使用します。

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

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

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

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

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

{ "instances": [{ "content": "YOUR_IMAGE_BYTES" }], "parameters": { "confidenceThreshold": 0.5, "maxPredictions": 5 } }
  1. Qwiklabs パネルから Endpoint の値を環境変数にコピーします。

ENDPOINT=$(gcloud run services describe automl-service --platform managed --region us-central1 --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" } }

理解度テスト

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

Cloud1-JSON Image

このモデルが画像中のクラウドの種類を予測できるかどうか確認してみましょう。

  1. CLOUD1-JSON を入力ファイルとして設定します。
INPUT_DATA_FILE=CLOUD1-JSON
  1. 予測を依頼する場合は、以下のコマンドを入力します。

curl -X POST -H "Content-Type: application/json" $ENDPOINT/v1 -d "@${INPUT_DATA_FILE}" | jq

Cloud2-JSON Image

このモデルが画像中のクラウドの種類を予測できるかどうか確認してみましょう。

  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 を介して、独自のカスタム機械学習モデルをトレーニングし、そのモデルを使って予測を生成する方法について学びました。これで、独自の画像データセットでモデルをトレーニングするために必要な知識をすべて習得できました。

実行した作業:

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

  • AutoML UI でラベルをレビューし、モデルをトレーニングしました。

  • 新しい雲の画像で予測を生成しました。

クエストを完了する

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

次のラボを受講する

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

次のステップと詳細情報

Google Cloud Training & Certification

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

マニュアルの最終更新日: 2023 年 1 月 25 日

ラボの最終テスト日: 2023 年 1 月 25 日

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