【動手玩系列#1】Google Cloud Vision API

文/Allen|編輯/Quen

我們之前曾經提過 Google Cloud Vision API(雲視覺API)在 YouTube 影片、空拍機影片的應用,透過此 API 能從圖片之中擷取內容的特徵,例如照片中出現的物體、是否有人臉等等。

其實, Cloud Vision API 可說是用來「理解」圖片內容的工具,就如同語音方面使用 Cloud Natural Language API 來「理解」字句中的意義一樣。我們今天就來看看 Cloud Vision API 能「看懂」哪些特徵吧!

動手玩!

只要前往 Google Cloud Vision API 的官方網頁,就能無壓力試玩大多數的 API 功能!不僅不用錢,連網頁、API 都不需要先架設!

icon/enlarge

將檔案拖放進去就可以開始試用 Cloud Vision API 強大的解析功能。檔案拖入後,還可以簡單的在上方選擇想偵測的特徵:

icon/enlarge

可簡單分成臉部辨識、標籤偵測、Web、文本辨識等等,下面將會就各個功能分邊說明。不過,就算不真正設置 API 到自己的 project 中,網頁版就值得大家試試看他的威力了!

標籤偵測(LABEL_DETECTION)

在 API 中要求返回 LABEL_DETECTION 這個特徵時,API 會回傳一組或多組回應,每組 3 個值:middescription 以及 score

mid:Machine-generated identifier。如果 API 偵測出的物件或特徵是 Google Knowledge Graph 裡面有的資料,那麼就會秀出該物件在 Knowledge Graph 知識圖譜中的位置。(前情提要:Knowledge Graph 是將世間萬物建立關係網路的龐大資料庫)

description:這就是對該物件的文字敘述,例如:摩天輪。

score:顧名思義,就是 Cloud Vision API 對於這個猜測的信心分數囉!

icon/enlarge

同一張圖片內可能同時被偵測到許多物件或特徵,此時回傳的值會像是這樣:

“labelAnnotations”: [
{
“mid”: “/m/017m8l”,
“description”: “waterway”,
“score”: 0.9609974
},
{
“mid”: “/m/0838f”,
“description”: “water”,
“score”: 0.9603445
},
{
“mid”: “/m/03ktm1”,
“description”: “body of water”,
“score”: 0.93432164
},
{
“mid”: “/m/08rrcl”,
“description”: “water transportation”,
“score”: 0.9240506
},
{
“mid”: “/m/019jd”,
“description”: “boat”,
“score”: 0.9176671
},
…………
…………
]

這個案例就是上面這張圖的回傳結果,API 認為「水路運輸」是圖片中的主角,因此給了最高分;下面說的「大面積的水」、「船」、「划船」等特徵也都會列出來。

利用這個特徵值,可以輕易找出照片內容關鍵字,對於大量照片的分類、關鍵資訊的抽取都很有幫助。

臉部偵測(FACE_DETECTION)

可以偵測輸入圖片中的多個臉孔,並可指出臉部特徵。此 API 會回傳一組非常龐大的特徵集 faceAnnotations,包含人臉的位置、是否高興、是否生氣、是否有戴眼鏡、是否模糊等等,甚至包含左眼在哪裡、眼睛上緣、下緣的位置等極細微的特徵都能透過此 API 獲取。

icon/enlarge

圖中可看出除了偵測人臉位置外,API 還會回傳人臉的仰角、傾角、可能的情緒狀態等資訊。

icon/enlarge

煽情露骨內容偵測(SAFE_SEARCH_DETECTION)

大家一定用過 Google 搜尋吧?Google 會自動擋掉成人、血腥等內容,靠的就是一樣的技術。使用此功能可偵測 4 種內容:adultspoofmedicalviolence,幫助使用者過濾不適合顯示出來的圖片。

標誌偵測(LOGO_DETECTION)

此功能可以偵測出圖片中是否含有著名商標。這項偵測同標籤偵測,一樣會有每組 3 個值回傳:middescription 以及 score。像是筆者在臉部偵測放的這張圖,其中的 UNIQLO 就被認出來了:

icon/enlarge

地標偵測(LANDMARK_DETECTION)

顧名思義,此功能可偵測圖片中著名的自然景觀或人工造景、建築等地標級物件。除了常規的 middescriptionscore 以外,回傳值還會包含該地標在圖片中的位置(類似臉部偵測的方框),以及此地標的經緯度位置資訊 locations。

筆者嘗試了自己拍的台北101與紐約中央車站都被正確的辨識出來了。

icon/enlarge

OCR 文字辨識(DOCUMENT_TEXT_DETECTION)

這也是很強大的功能,能圖片中出現的文字變成文字檔,省去輸入謄稿的時間。

icon/enlarge

Google Cloud Vision API 是非常強大的利器,由於多年來 Google 做搜尋引擎的經驗與技術累積,Cloud Vision API 可說是「看盡」世間萬物,又透過各種 Machine Learning 的 training,讓辨識率大幅提高,甚至能偵測到很多人類沒有察覺的特徵細節。今天就打開網頁玩玩看吧!

參考資料來源

*Google Cloud Vision API
https://cloud.google.com/vision/

*Google Cloud Vision API Documentation
https://cloud.google.com/vision/docs/

*Filtering inappropriate content with Cloud Vision API
https://cloud.google.com/blog/big-data/2016/08/filtering-inappropriate-content-with-the-cloud-vision-api

訂閱 CloudMile 電子報

所有 CloudMile 最新消息、產品動態、活動資訊和特別優惠,立即掌握。