Google Cloud Platform に登録してCloud Vision APIの画像認識機能をお試ししてみる②
①ラベル検出(LABEL_DETECTION)
ラベル検出(LABEL_DETECTION)は乗り物や動物など、画像に写っているさまざまなカテゴリの物体を検出できます。
まずは分かりやすく、この猫の写真でやってみます(ΦωΦ)
息切れしているオス猫(スコティッシュフォールド)|ぱくたそフリー写真素材 |
---|
結果
"labelAnnotations": [ { "mid": "/m/01yrx", "description": "cat", "score": 0.9912357
ちゃんとdescription(実行結果)に"cat"が返ってきました。
midというのは、画像を判断するために必要な一意のIDです。
scoreは画像を読み取った精度でが~1の範囲で返されます。
今回はかなり1に近いので、精度が高い(descriptionが信用できる)ことがわかります。
次は体が隠れてしまっている猫..
さびしいにゃん|ぱくたそフリー写真素材 |
---|
結果
"labelAnnotations": [ { "mid": "/m/083jv", "description": "white", "score": 0.9419842 }
description(実行結果)は"white"でした
間違った結果のくせに、精度が高い(自信満々)ですね。。
最後は手描きの猫です。
ペイントで描いた猫 |
---|
結果
"labelAnnotations": [ { "mid": "/m/0215n", "description": "cartoon", "score": 0.86530787 }
description(実行結果)は"cartoon(漫画)"でした。
精度はまあまあといった感じでしょうか。
②顔検出(FACE_DETECTION)
画像に含まれる複数の人物の顔を検出できます。
感情の状態や帽子の着用といった主要な顔の属性についても識別されます。
ただし、個人を特定する顔認識には対応していません。
顔検出は人物の表情だけでなく、目鼻の位置など返ってくる値が多いです。
参考:Method: images.annotate | Google Cloud Vision API | Google Cloud Platform
今回は、下表の結果のみ掲載します。
フィールド名 | 意味 |
---|---|
detectionConfidence | 顔検出の精度(0~1) |
landmarkingConfidence | 顔の各パーツを検出した精度(0~1) |
joyLikelihood | 顔が楽しんでいるか |
sorrowLikelihood | 顔が悲しんでいるか |
angerLikelihood | 顔が怒っているか |
"surpriseLikelihood | 顔が驚いているか |
nderExposedLikelihood | 肌の露出度) |
blurredLikelihood | 画像がぼやけているか |
headwearLikelihood | 帽子かなにかを被っているか |
また、結果は精度(0~1)と以下の5段階で返ってきます。
結果 | 意味 |
---|---|
VERY_LIKELY | 非常に当てはまる |
LIKELY | あてはまる |
UNKNOWN | 不明 |
UNLIKELY | 当てはまらない |
VERY_UNLIKELY | 全く当てはまらない |
まずは、笑顔たっぷりのこの写真でやってみます
満面の笑みの女の子|ぱくたそフリー写真素材 |
---|
結果
"detectionConfidence": 0.5244219, "landmarkingConfidence": 0.52761644, "joyLikelihood": "VERY_LIKELY", "sorrowLikelihood": "VERY_UNLIKELY", "angerLikelihood": "VERY_UNLIKELY", "surpriseLikelihood": "VERY_UNLIKELY", "underExposedLikelihood": "VERY_UNLIKELY", "blurredLikelihood": "VERY_UNLIKELY", "headwearLikelihood": "UNLIKELY" _______日本語訳_______ 顔検出の精度: 0.5244219(半分くらい) 顔の各パーツを検出した精度:0.52761644(半分くらい) 顔が楽しんでいるか:非常に当てはまる 顔が悲しんでいるか:全く当てはまらない 顔が怒っているかいるか:全く当てはまらない 顔が驚いているか:全く当てはまらない 肌の露出度:全く当てはまらない 画像がぼやけているか:全く当てはまらない 帽子か何かを被っているのか:当てはまらない
画像のままの結果となりました。
次はこのように、目が隠れている画像です。
いちご少女|ぱくたそフリー写真素材 |
---|
結果
200 - Show headers - { "responses": [ { } ] }
何も返ってきませんでした。
どうやら、顔として検出できなかったようです。
最後は、この何tも言えない表情です。
人間に「どういう感情だと思う?」と聞いても答えが分かれそうですね
ちなみに、「腕っぷし自慢のウェーイ系 」という画像だそう。。
腕っぷし自慢のウェーイ系|ぱくたそフリー写真素材 |
---|
結果
"detectionConfidence": 0.99624336, "landmarkingConfidence": 0.683373, "joyLikelihood": "UNLIKELY", "sorrowLikelihood": "VERY_UNLIKELY", "angerLikelihood": "VERY_UNLIKELY", "surpriseLikelihood": "VERY_UNLIKELY", "underExposedLikelihood": "VERY_UNLIKELY", "blurredLikelihood": "VERY_UNLIKELY", "headwearLikelihood": "VERY_LIKELY" _______日本語訳_______ 顔検出の精度: 0.99624336(かなり精度が高い) 顔の各パーツを検出した精度:0.683373(まあまあ) 顔が楽しんでいるか:当てはまらない 顔が悲しんでいるか:全く当てはまらない 顔が怒っているかいるか:全く当てはまらない 顔が驚いているか:全く当てはまらない 肌の露出度:当てはまらない 画像がぼやけているか:全く当てはまらない 帽子か何かを被っているのか:非常に当てはまる
感情についてはUNNOWN(不明)が返ってくるかと思ったら、
どれも当てはまらない結果となりました。
帽子はちゃんと被っていることが認識されていますね。
(不自然なカツラの人とか、人工知能で見抜けるかも(^o^))
③OCR:光学式文字認識(TEXT_DETECTION)
画像内のテキストを検出、抽出できます。幅広い言語がサポートされ、言語の種類も自動で判別されます。
こちらも結果が多いので、locale(文字の言語)とdescription(結果)のみ記載します。
まずは適当感満載の手作り画像で実践
てすと |
---|
結果
"locale": "ja", "description": "てすとテストtest\n",
正しくdescription(実行結果)に"てすとテストtest\n"が返ってきました。
文字がはっきりしていれば、日本語と英語が混ざっていても問題なさそうです。
言語も"ja"(日本語)となっています。
次はこの記号/日本語/英語/ハングル文字が混ざった画像
出口への案内板|ぱくたそフリー写真素材 |
---|
結果
"locale": "lb", "description": "58EE\n「Ir\nEE\nExit\n",
「58EE Ir EE Exit」とは。。
ひどい結果。。( ;∀;)
かろうじて、「Exit」は読めているので出口であることは認識できるか。。と言った感じですね。
言語は"lb"だそう。 あまり馴染みがないですが、「インド・ヨーロッパ語族:ルクセンブルク語」であってるのかな?(・.・;)
最後は人で作られた文字
人文字[英数字/記号]|ぱくたそフリー写真素材 |
---|
結果
"locale": "su", "description": "HELLO wo NLD\n",
HELLO wo NLD。。
まあ、少し小文字にされたり、'R'が'N'と認識されたりしていますが、上出来のような気がします。
これなら手書き文字とかでも大丈夫かも。
言語は"su"(オーストロネシア語族:スンダ語)らしいです。。