LoginSignup
20
21

More than 5 years have passed since last update.

MAGELLAN BLOCKS VisionAPIの結果をBQに突っ込む 3分で! 前編

Last updated at Posted at 2016-04-06

複数ファイル処理の後編もあります

下準備

GCP

  • 対象プロジェクトのサービスアカウントを作成しておく
    • JSONの秘密鍵を生成しておく。
  • VisionAPIをOnにする
  • bigqueryでデータセットとテーブルを作っておく > スキーマはこちら
  • GCSのバケットを作成する

MAGGELAN BLOCKS

  • アカウントを作成してログイン
  • ボードを作成する

マゼランブロックの設定

ボードにGCPアカウント登録

ボード毎にGCPへのサービスアカウントを登録しておくことで、各ブロックから簡単に権限情報を利用できる。

ボード画面上の右上の ボード設定 ボタンを押すことで設定ダイアログが開く
ボードsetting.png

プロジェクト名を入力して、GCPコンソールからDLしたJSONファイルをアップロードする。
GCP_serv_Acnt.png

ブロックの配置

今回は、GCSに保存してある画像をVisionAPIに渡して結果をBQに投げるフローとなる。
使用するブロックは全部で4つ

Blocks.png

フローの開始

特に設定は無い。
今回の処理には関係ないが、Slackのアカウントもボードに登録してあるので、成功時、失敗時それぞれ別メッセージを自分のチームに飛ぶように設定してある。

Vision API(汎用)

設定場所は3箇所
VisionAPI_option.png

BigQuery Insert

これも設定箇所は3箇所。簡単すぎる。

  • アカウント
  • データセット
  • テーブル

e0e9317b-f993-d2cd-5f45-8a24112a0416.png

フローの完了

特に何も設定しない

Finish_option.png

以上で、MAGGELAN BLOCKS 設定が完了。
ゆっくりやっても3分、なれれば30秒でイケル。

番外編 ブロックのつなぎ方

MB初めて触る方は、ブロック同士のつなぎ方がわからないと思います。
コツは左右を揃えて、親のブロックの下に子のブロックをそっと置く感じです。
文字でわかりにくいので動画作りました。

実行してみよう

手動実行編

バケットに画像を保存する。

今回使用する画像はこちら > RG_saisyu.jpg

RG_saisyu.jpg

#gcloud cmdに プロジェクトをセットする
$ gcloud config set project <YOUR PROJECT>
$  gsutil cp  ./RG_saisyu.jpg gs://<YOUR_BUCKET>/mb_img_src/RG_saisyu.jpg
Copying file://./RG_saisyu.jpg [Content-Type=image/jpeg]...
Uploading   gs://<YOUR_BUCKET>/mb_img_src/RG_saisyu.jpg:     45.12 KiB/45.12 KiB

Vision APIブロックを一時的にこのファイルを読み込むように変更する。

画像のGCS上のURLのパラーメータをアップロードしたファイルにPathに書き換える。
VisionAPI_option2.png

サービスアカウントを登録しているので、画像ファイルのACLをAllUserに変更する必要はない。

実行するぞ!

フローの開始ブロックで再生ボタンをポチッとすると、1回実行になります。

ポチットな
動作画面はこんな感じです。最初1回失敗していますが、再度実行して2回めは成功しています。
ちょいちょい失敗することがあります。
単発動作画面

結果はBQにて

Query

SELECT gcs_url  , safeSearchAnnotation.adult, safeSearchAnnotation.violence
FROM [データセット.テーブル名] 
WHERE gcs_url like "gs://hoge-bucket/mb_img_src/RG_saisyu.jpg"
limit 1

Result

Row gcs_url safeSearchAnnotation_adult  safeSearchAnnotation_violence    
1   gs://hoge-bucket/mb_img_src/RG_saisyu.jpg   UNLIKELY    VERY_UNLIKELY

アダルトと、バイオレンスの判定結果を抜いてみましたが、白でしたwww

20
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
21