ブロックリファレンス

BLOCKS Reference

機械学習

画像解析

概要

このブロックは、Cloud Vision APIopen_in_newを使って、Google Cloud Storage(GCS)open_in_new上の画像を解析します。

画像解析ブロックの概念図
(画像をクリックすると拡大表示されます。)

上図の画像解析の結果は、実際には「結果を格納する変数」プロパティで指定された変数に格納されます。

info 補足

画像解析ブロックの「検知する情報」ごとのサンプル集を「画像解析ブロック サンプル」でまとめています。

warning 注意

セルフサービスプランで、このブロックを使用する場合は、Cloud Vision APIを有効にしてください。詳しくは、「基本操作ガイド>ヒント> Google APIを有効にする」を参照してください。

プロパティ

プロパティ名 説明
ブロック名 ブロックの名前を指定します。ブロックに表示されます。
GCPサービスアカウント このブロックで使用するGCPサービスアカウントを選択します。
画像のGCS上のURL

画像ファイルが格納されているGCS上のURLを指定します。

画像ファイルの推奨事項については、「画像解析ブロックの画像ファイルの推奨事項」でまとめています。

変数展開の指定が可能][%形式の文字列書式の指定が可能]
検知する情報 画像から検知する特徴を指定します。指定できる特徴は以下のとおりです。
  • 顔検知
  • ランドマーク検知
  • ロゴ検知
  • 物体検知
  • 有害コンテンツ検知
  • 色解析
  • テキスト
    • テキスト
    • OCR(ドキュメント)

error_outline 情報

テキスト]は、任意の画像からテキストを検出します。[OCR(ドキュメント)]も同様ですが、高密度のテキストやドキュメントに応じて結果が最適化され、ページ・ブロック・段落・単語・改行の情報も検出します。

ブロックメモ ブロックに対するコメントを指定します。
結果を格納する変数

画像から検知した情報を格納する変数を指定します。格納する情報は、「検知する情報」プロパティで指定された特徴に関する情報のみです。

詳細については、「出力仕様>画像解析」を参照してください。

解析する言語

テキスト解析に使用する言語を設定します。

  • 言語は、複数設定できます。
  • 画像内のテキストの言語がわかっている場合に、その言語を設定するとより良い結果が得られる可能性があります。
  • 言語を設定しない場合は、自動的に言語を検出します。
  • ラテン文字(アルファベット)に基づく言語(例えば英語)は、設定不要です。

使用例

GCSにアップロードされた画像を解析し、その結果をBigQueryテーブルに保存して、さらにGoogleスプレッドシートに出力するフローの例を以下に示します。

error_outline 情報

以下の使用例では、各ブロックのプロパティ設定について、デフォルト値をそのまま使用しているプロパティの説明は省略しています。明示的に値が指定されているプロパティは、デフォルト値から変更が必要な箇所です。

  1. フローの開始」ブロックでフローにIDを設定します。
    プロパティ名
    ID image_analysis_flow
    ブロック名 画像解析サンプル

    ID設定時に、GCSに画像ファイルを配置したときにフローが実行されるよう設定します。

    項目
    Google Cloud Storage(GCS)上にファイル/フォルダを配置したときにフローを実行する check_box
    GCSサービスアカウント デフォルトのGCSサービスアカウントを選択。複数ある場合は適切なものを選択してください。
    バケット アップロード先のGCSバケットを設定
    フォルダ名/ファイル名 block-example-reference/versatile_vision_api/*
  2. 「画像解析」ブロックで、GCS上の画像を解析します。
    プロパティ名
    画像のGCS上のURL ${gcs_path}

    画像の解析結果は、変数_に格納されます。

  3. 変数からテーブルへロード」ブロックを使って、解析結果をBigQueryのテーブルにロードします。
    プロパティ名
    投入先のデータセット example
    投入先のテーブル image_analysis_result
    スキーマ設定 JSONで編集を使って、「画像解析ブロックの出力結果スキーマ定義ファイルopen_in_new」の内容を貼り付け
  4. クエリーの結果からスプレッドシートを作成」ブロックを使って、BigQueryテーブルの内容をGoogleスプレッドシートに出力します。
    プロパティ名
    ファイル名 画像解析の結果
    クエリー
    SELECT
      gcs_url,
      timestamp,
      l.description AS logo_description,
      l.score AS logo_score,
      v.x AS vertex_x,
      v.y AS vertex_y
    FROM
      `example.image_analysis_results`,
      UNNEST(logoAnnotations) AS l,
      UNNEST(l.boundingPoly.vertices) AS v
    
  5. 全体のフローは、以下のようになります。
  6. これで、所定の場所に画像ファイルを配置すると、フローが実行されます。以下は、配置した画像とGoogleスプレッドシートの内容です。

warning 注意

なお、この使用例で示したプロパティの設定値はあくまで一例です。実際にフローを作成する際は、ご自身の環境に合わせてGCPサービスアカウントやバケット名、データセット名、テーブル名などを適切な値に変更してください。

この情報は役に立ちましたか?