Google Cloud Platformではじめる機械学習と深層学習を読む

3-2 Cloud Vision API

3-2-2 画像のラベル検出
from google.cloud import vision
from google.cloud import translate
#visionクライアントのインスタンス
vision_client = vision.Client()
#translateクライアントのインスタンス
translate_client = translate.Client()

#ファイルを指定
image = vision_client.image(filename='../gcpml-book/Part1/seagull.jpg')
#ラベルつけ
labels = image.detect_labels()
#答えの一部を翻訳(参考URL https://www.apps-gcp.com/machinelearning-api-translate/)
print('Labels:')
for label in labels:  
print('Score:%f,Label:%s(%s)' % (label.score,label.description,translate_client.translate(label.description,source_language = 'en',target_language='ja')['translatedText']))

f:id:bitop:20171226170905p:plain

3-2-3 顔検出
image = vision_client.image(filename='face.jpg')

# 顔検知を実行
faces = image.detect_faces(limit=20)

# 感情の推定結果をprint
for face in faces:
    print(face.joy)
    print(face.anger)
    print(face.sorrow)
    print(face.surprise)

"""
感情を推定している
    print(face.joy) joy:喜び
    print(face.anger) anger:怒り
    print(face.sorrow) sorrow:悲しみ
    print(face.surprise) surprise:驚き

1人目
Likelihood.VERY_LIKELY VERY_LIKELY:可能性が非常に高いー>喜んでいる可能性がたかいといっている
Likelihood.VERY_UNLIKELY 
Likelihood.VERY_UNLIKELY
Likelihood.VERY_UNLIKELY

2人目
Likelihood.VERY_LIKELY
Likelihood.VERY_UNLIKELY
Likelihood.VERY_UNLIKELY
Likelihood.VERY_UNLIKELY

3人目
Likelihood.VERY_LIKELY
Likelihood.VERY_UNLIKELY
Likelihood.VERY_UNLIKELY
Likelihood.VERY_UNLIKELY

4人目
Likelihood.VERY_LIKELY
Likelihood.VERY_UNLIKELY
Likelihood.VERY_UNLIKELY
Likelihood.VERY_UNLIKELY

5人目
Likelihood.POSSIBLE 可能
Likelihood.VERY_UNLIKELY
Likelihood.VERY_UNLIKELY
Likelihood.VERY_UNLIKELY
"""   

f:id:bitop:20171226171317p:plain

3-2-4 ランドマーク検出
image = vision_client.image(filename='sydney.jpg')

# ランドマークを抽出
landmarks = image.detect_landmarks()

for landmark in landmarks:
    print(landmark.description)
    print(landmark.locations[0].latitude, landmark.locations[0].longitude)

f:id:bitop:20171226171517p:plain

OCR(テキスト検出)

f:id:bitop:20171226172313p:plain

image = vision_client.image(filename='text.jpg')

# OCRを実行
texts = image.detect_text()

# 読み取ったテキストをprint
for text in texts:
    print(text.description)

f:id:bitop:20171226172435p:plain