始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Create an API Key
/ 25
Upload an Image to a Cloud Storage bucket
/ 25
Upload an image for Face Detection to your bucket
/ 25
Upload an image for Landmark Annotation to your bucket
/ 25
Cloud Vision API は、画像を分析し情報を抽出できるクラウドベースのサービスであり、画像内の物体、顔、テキストの検出に利用できます。高度な ML モデルがシンプルな REST API にカプセル化した形で提供され、これを使って画像の内容を把握できます。
このラボでは、Cloud Vision API に画像を送信し、物体、顔、ランドマークが検出されることを確認します。
このラボでは、次のタスクの実行方法について学びます。
curl で API を呼び出すこちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] ペインでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] ペインでもパスワードを確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン をクリックします。
ウィンドウで次の操作を行います。
接続した時点で認証が完了しており、プロジェクトに各自の Project_ID、
gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
出力:
出力:
gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
このタスクでは、curl を使用して Vision API にリクエストを送信する準備として、リクエスト URL に含める API キーを生成します。
API キーを作成するには、Cloud コンソールのナビゲーション メニューで、[API とサービス] > [認証情報] を選択します。
[認証情報を作成] をクリックし、[API キー] を選択します。
下の [進行状況を確認] をクリックして、ラボの進捗状況を確認します。
次に、リクエストごとに API キーの値を挿入しなくて済むように、環境変数にキーを保存します。
画像検出のために Cloud Vision API に画像を送信する方法は 2 つあります。base64 でエンコードされた画像文字列を API に送信する方法と、Cloud Storage に保存されたファイルの URL を渡す方法です。
このラボでは、Cloud Storage の URL を使用する方法を採用します。最初のステップは、画像を保存するための Cloud Storage バケットを作成することです。
ナビゲーション メニューで、[Cloud Storage] > [バケット] を選択します。[バケット] の隣にある [作成] をクリックします。
バケットに
バケットに名前を付けたら、[オブジェクトへのアクセスを制御する方法を選択する] をクリックします。
[このバケットに対する公開アクセス禁止を適用する] チェックボックスをオフにして、[きめ細かい管理] ラジオボタンをオンにします。
バケットに関するその他の設定は、デフォルトのままで問題ありません。
バケットにこのファイルが表示されます。
次に、この画像を公開する必要があります。
[エントリを追加] をクリックし、以下を入力します。
[保存] をクリックします。
これで、ファイルをバケットに保存できました。次は Cloud Vision API リクエストを作成し、このドーナツの画像の URL を渡します。
下の [進行状況を確認] をクリックして、ラボの進捗状況を確認します。
Cloud Shell のホーム ディレクトリに request.json ファイルを作成します。
またはコマンドライン エディタ(nano、vim、emacs)を使用して、request.json ファイルを作成します。
request.json ファイルに次のコードを貼り付けます。Cloud Shell などの統合開発環境(IDE)で Gemini Code Assist を使用して、コードに関するガイダンスを受けたり、コードの問題を解決したりできます。使用を開始する前に、Gemini Code Assist を有効にする必要があります。
左側のペインで [設定] アイコンをクリックし、[設定] ビューで「Gemini Code Assist」を検索します。
[Geminicodeassist: Enable] のチェックボックスがオンになっていることを確認し、[設定] を閉じます。
画面下部のステータスバーで [Cloud Code - No Project] をクリックします。
指示に従ってプラグインを承認します。プロジェクトが自動的に選択されない場合は、[Google Cloud プロジェクトを選択する] をクリックして
ステータスバーの Cloud Code ステータス メッセージに Google Cloud プロジェクト(
最初に、Cloud Vision API のラベル検出機能について見てみましょう。ここで使用するメソッドは、画像に含まれるラベル(単語)のリストを返します。
curl コマンドを実行して Cloud Vision API を呼び出し、レスポンスを label_detection.json ファイルに保存します。次のようなレスポンスが表示されます。
出力:
API は、ドーナツの種類をシュガー ドーナツと特定することができました。分析がうまくいったようです。Vision API で検出されたラベルごとに、次のような結果が返されます。
description: アイテムの名前と説明。score: 説明と画像の内容がどの程度一致しているかの信頼度を示す 0~1 の数字。mid: Google のナレッジグラフのアイテムの mid に対応する値。Knowledge Graph API を呼び出すときに mid を使用すると、アイテムに関する詳細情報を取得できます。label_detection.json に移動します。この操作により、エディタの右上隅に コンテキストの切り替えを最小限に抑えながら生産性を向上させるため、Gemini Code Assist では、AI によるスマート アクションをコードエディタに直接備えています。このセクションでは、Gemini Code Assist に Cloud Vision API のレスポンスをチームメンバーに説明してもらうことにします。
Gemini Code Assist: Smart Actions アイコン をクリックし、[Explain this] を選択します。
Gemini Code Assist により、「Explain this」というプロンプトが事前入力されたチャットペインが開きます。Code Assist チャットのインライン テキスト ボックスで、事前入力されたプロンプトを次のプロンプトに置き換えて、[送信] をクリックします。
label_detection.json コードの Cloud Vision API レスポンスに関する詳細な説明が Gemini Code Assist のチャットに表示されます。
Cloud Vision API を使うと、画像の内容に関するラベルを取得できます。また、特定の画像の詳細情報をインターネットで検索することもできます。API の WebDetection メソッドを使用することで、以下のようなさまざまな興味深いデータを取得できます。
ウェブ検出を試してみましょう。同じベニエの画像を使用して request.json ファイルの 1 行を変更します(まったく異なる画像を使用することもできます)。
Cloud Shell エディタで、これまでと同じディレクトリ内にある request.json を開きます。
ツールバーの Gemini Code Assist: Smart Actions アイコン をクリックします。
コードの詳細な説明を提供するだけでなく、Gemini Code Assist の AI による機能を利用して、コードエディタで直接コードを変更できます。ここでは、Gemini Code Assist を使用して request.json ファイルの内容を編集することにします。
request.json ファイルを編集するには、ツールバーから開いた Gemini Code Assist インライン テキスト フィールドに次のプロンプトを貼り付けます。Gemini Code Assist にこのプロンプトに応じたコード変更を指示するには、Enter キーを押します。
[Gemini Diff] ビューにプロンプトが表示されたら、[Accept] をクリックします。
request.json ファイルの内容は次のようになります。
curl コマンドを実行して Cloud Vision API を呼び出します。webEntities で始まるレスポンスを見てみましょう。以下は、この画像が返したエンティティの一部です。この画像は Cloud ML API の多くのプレゼンテーションで使用されているため、API は「Machine learning」や「Google Cloud Platform」といったエンティティを検出しました。
fullMatchingImages、partialMatchingImages、pagesWithMatchingImages の下の URL を調べると、多くの URL がこのラボサイトを参照していることがわかります。
前のものとは少しだけ異なるベニエの画像を探しているとします。その場合は、API レスポンスの visuallySimilarImages 部分が役に立ちます。次のような視覚的に類似した画像が検出されます。
これらの URL にアクセスすれば、類似の画像を確認できます。
これは、Google 画像検索の画像による検索と似ています。
Cloud Vision を使用すると、使いやすい REST API で画像検索機能にアクセスし、それをアプリケーションに統合できます。
次に、Vision API の顔検出メソッドについて説明します。
顔検出メソッドは、画像内で検出された顔に関するデータを返します。返されるデータには、顔に表れている感情や、画像内での顔の位置などが含まれます。
このメソッドを使用するには、顔を含む新しい画像を Cloud Storage バケットにアップロードします。
下の [進行状況を確認] をクリックして、ラボの進捗状況を確認します。
Cloud Shell エディタで、これまでと同じディレクトリ内にある request.json を開きます。
ツールバーの Gemini Code Assist: Smart Actions アイコン をクリックします。
request.json ファイルの更新を支援するために、ツールバーから開いた Gemini Code Assist インライン テキスト フィールドに次のプロンプトを貼り付けます。
Gemini Code Assist にこのプロンプトに応じたコード変更を指示するには、Enter キーを押します。
[Gemini Diff] ビューにプロンプトが表示されたら、[Accept] をクリックします。
更新されたリクエスト ファイルは次のようになります。
curl コマンドを実行して Cloud Vision API を呼び出します。faceAnnotations オブジェクトを確認すると、画像内に見つかったそれぞれの顔(この場合 3 つ)に対して、API がオブジェクトを 1 つずつ返していることがわかります。以下は、レスポンスの一部を抜粋したものです。boundingPoly は、画像内の顔の周囲の x 座標と y 座標を示します。fdBoundingPoly は顔の肌部分にフォーカスした、boundingPoly よりも小さなボックスです。landmarks は、それぞれの顔の特徴を表すオブジェクトの配列です(聞き慣れないものも含まれているかもしれません)。この値から、ランドマークの種類と、その特徴の 3 次元の位置(x, y, z 座標)がわかります。z 座標は奥行きを示しています。残りの値からは、喜びや悲しみ、怒り、驚きの感情が表れている可能性など、顔に関する詳細情報がわかります。上記のレスポンスは、画像で最も奥に立っている人物についてのものです。彼はおどけた表情をしていますが、それが joyLikelihood の LIKELY という値に表れています。
ランドマークの検出メソッドを使うと、知名度を問わずさまざまなランドマークを識別できます。ランドマークの名前、その緯度と経度の座標、ランドマークが識別された画像内の位置が返されます。
このメソッドを使用するには、Cloud Storage バケットに新しい画像をアップロードします。
引用: ロシア、モスクワの聖ワシリイ大聖堂(2019 年 12 月 19 日)、撮影 Adrien Wodey、無料メディア リポジトリ Unsplash より。https://unsplash.com/photos/multicolored-dome-temple-yjyWCNx0J1U から取得。このファイルは、Unsplash ライセンスの下で使用を許諾されています。
下の [進行状況を確認] をクリックして、ラボの進捗状況を確認します。
request.json ファイルを以下のように更新します。新しい画像の URL が追加され、ランドマーク検出が使用されています。curl コマンドを実行して Cloud Vision API を呼び出します。landmarkAnnotations の部分を見てみましょう。Cloud Vision API は、写真が撮影された場所を特定し、その場所の座標(ロシア、モスクワの赤の広場にある聖ワシリイ大聖堂)を示すことができました。
このレスポンスに含まれる値は、上記の labelAnnotations のレスポンスに似ています。
mid: ランドマークの値。description: ランドマークの名前。score: 信頼度。boundingPoly: ランドマークが特定された画像内の領域。locations キー: 画像の緯度と経度の座標。Vision API は、オブジェクト ローカライズを使用して、画像内の複数のオブジェクトを検出および抽出できます。オブジェクト ローカライズにより、画像内のオブジェクトが識別され、オブジェクトごとに LocalizedObjectAnnotation が指定されます。LocalizedObjectAnnotation ごとに、オブジェクトに関する情報、オブジェクトの位置、画像内でオブジェクトがある領域の四角い境界線が識別されます。
オブジェクト ローカライズでは、画像内で目立っているオブジェクトと、それほど目立たないオブジェクトの両方が識別されます。
オブジェクト情報は英語でのみ返されます。Cloud Translation を使うと、英語のラベルをさまざまな言語に翻訳できます。
このメソッドを使用するには、インターネット上の既存の画像を使い、request.json ファイルを更新します。
request.json ファイルを以下のように更新します。新しい画像の URL が追加され、オブジェクト ローカライズが使用されています。curl コマンドを実行して Cloud Vision API を呼び出します。localizedObjectAnnotations の部分を見てみましょう。ご覧のように、Vision API はこの写真に自転車と自転車の車輪が写っていることを認識できました。このレスポンスに含まれる値は、上記の labelAnnotations のレスポンスに似ています。オブジェクトの mid、name(名前)、score(信頼度)のほか、boundingPoly はオブジェクトが識別された画像の領域を示しています。
さらに、boundingPoly には normalizedVertices キーがあり、画像内のオブジェクトの座標を示しています。これらの座標は 0 から 1 の範囲で正規化され、0 は画像の左上、1 は画像の右下を表します。
これで、Vision API を使って画像を分析し、画像内のオブジェクトに関する情報を抽出することができました。
Vision API のラベル、顔、ランドマークの検出とオブジェクト ローカライズのメソッドを見てきましたが、他にもまだ取り上げていないメソッドが 3 つあります。それらについて詳しくは、メソッド: images.annotate のドキュメントをご確認ください。
このラボでは、Vision API を使って画像を分析する方法について学びました。さまざまな画像の Cloud Storage の URL を API に渡すことで、画像内で見つかったラベル、顔、ランドマーク、オブジェクトが返されました。この他に、API に base64 でエンコードされた画像文字列を渡すことも可能です。これは、データベースやメモリに保存されている画像を分析する場合に便利です。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2025 年 8 月 21 日
ラボの最終テスト日: 2025 年 8 月 21 日
Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください