Cloud Vision API 可偵測及擷取圖片中多個類別的實體資訊。標籤可識別一般物體、地點、活動、動物物種和產品等內容。
標籤只會以英文顯示。Cloud Translation API 可將英文標籤翻譯成多種語言。
舉例來說,上圖可能會傳回下列標籤清單:
| 說明 | 分數 |
|---|---|
| 街道 | 0.872 |
| 快照 | 0.852 |
| 城鎮 | 0.848 |
| 夜間 | 0.804 |
| Alley | 0.713 |
標籤偵測要求
設定 Google Cloud 專案和驗證
偵測本機圖片中的標籤
您可以使用 Vision API,對本機圖片檔執行特徵偵測。
如果是 REST 要求,請在要求主體中,以 Base64 編碼字串的形式傳送圖片檔案內容。
如果是 gcloud 和用戶端程式庫要求,請在要求中指定本機圖片的路徑。
REST
使用任何要求資料之前,請先修改下列項目的值:
- BASE64_ENCODED_IMAGE:二進位圖片資料的 Base64 表示法 (ASCII 字串)。這個字串應與下列字串類似:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- RESULTS_INT:(選填) 要傳回的結果整數值。如果省略
"maxResults"欄位及其值,API 會傳回預設值 (10 個結果)。這個欄位不適用於下列特徵類型:TEXT_DETECTION、DOCUMENT_TEXT_DETECTION或CROP_HINTS。 - PROJECT_ID: Google Cloud 專案 ID。
HTTP 方法和網址:
POST https://vision.googleapis.com/v1/images:annotate
JSON 要求內文:
{
"requests": [
{
"image": {
"content": "BASE64_ENCODED_IMAGE"
},
"features": [
{
"maxResults": RESULTS_INT,
"type": "LABEL_DETECTION"
}
]
}
]
}
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/images:annotate"
PowerShell
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content
如果要求成功,伺服器會傳回 200 OK HTTP 狀態碼,以及 JSON 格式的回應。
LABEL_DETECTION 回應包含偵測到的標籤、分數、主題性和不透明標籤 ID,其中:
mid:如果有的話,會包含與實體的 Google 知識圖譜項目對應的機器生成 ID (MID)。請注意,mid值在不同語言中仍是不重複的值,因此您可以使用這些值,將不同語言的實體連結在一起。如要檢查 MID 值,請參閱 Google 知識圖譜 API 說明文件。description:標籤說明。score:可信度分數,範圍介於 0 (不可信) 到 1 (非常可信) 之間。topicality- ICA (圖片內容註解) 標籤與圖片的相關性。這項指標會評估標籤在網頁整體脈絡中的重要性/中心性。
{
"responses": [
{
"labelAnnotations": [
{
"mid": "/m/01c8br",
"description": "Street",
"score": 0.87294734,
"topicality": 0.87294734
},
{
"mid": "/m/06pg22",
"description": "Snapshot",
"score": 0.8523099,
"topicality": 0.8523099
},
{
"mid": "/m/0dx1j",
"description": "Town",
"score": 0.8481104,
"topicality": 0.8481104
},
{
"mid": "/m/01d74z",
"description": "Night",
"score": 0.80408716,
"topicality": 0.80408716
},
{
"mid": "/m/01lwf0",
"description": "Alley",
"score": 0.7133322,
"topicality": 0.7133322
}
]
}
]
}
Go
在試用這個範例之前,請先按照「使用用戶端程式庫的 Vision 快速入門導覽課程」中的 Go 設定說明操作。詳情請參閱「Vision Go API 參考文件」。
如要向 Vision 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
在試用這個範例之前,請先按照「使用用戶端程式庫的 Vision API 快速入門導覽課程」中的 Java 設定說明操作。詳情請參閱「 Vision API Java 參考文件」。
Node.js
在試用這個範例之前,請先按照「使用用戶端程式庫的 Vision 快速入門導覽課程」中的 Node.js 設定說明操作。詳情請參閱 Vision Node.js API 參考文件。
如要向 Vision 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python
在試用這個範例之前,請先按照「使用用戶端程式庫的 Vision 快速入門導覽課程」中的 Python 設定說明操作。詳情請參閱 Vision Python API 參考文件。
如要向 Vision 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
其他語言
C#:請按照用戶端程式庫頁面上的 C# 設定操作說明完成相關步驟,然後參閱「.NET 適用的 Vision 參考文件」。
PHP:請按照用戶端程式庫頁面上的 PHP 設定操作說明完成相關步驟,然後參閱 PHP 適用的 Vision 參考文件。
Ruby:請按照用戶端程式庫頁面上的 Ruby 設定操作說明完成相關步驟,然後參閱「Ruby 適用的 Vision 參考文件」。
偵測遠端圖片中的標籤
您可以透過 Vision API,對位於 Cloud Storage 或網路上的遠端圖片檔案執行特徵偵測。如要傳送遠端檔案要求,請在要求本文中指定檔案的網頁網址或 Cloud Storage URI。
REST
使用任何要求資料之前,請先修改下列項目的值:
- CLOUD_STORAGE_IMAGE_URI:Cloud Storage bucket 中有效圖片檔案的路徑。您至少必須具備檔案的讀取權限。
範例:
gs://cloud-samples-data/vision/label/setagaya.jpeg
- RESULTS_INT:(選填) 要傳回的結果整數值。如果省略
"maxResults"欄位及其值,API 會傳回預設值 10 筆結果。這個欄位不適用於下列特徵類型:TEXT_DETECTION、DOCUMENT_TEXT_DETECTION或CROP_HINTS。 - PROJECT_ID: Google Cloud 專案 ID。
HTTP 方法和網址:
POST https://vision.googleapis.com/v1/images:annotate
JSON 要求內文:
{
"requests": [
{
"image": {
"source": {
"gcsImageUri": "CLOUD_STORAGE_IMAGE_URI"
}
},
"features": [
{
"maxResults": RESULTS_INT,
"type": "LABEL_DETECTION"
},
]
}
]
}
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/images:annotate"
PowerShell
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content
如果要求成功,伺服器會傳回 200 OK HTTP 狀態碼,以及 JSON 格式的回應。
LABEL_DETECTION 回應包含偵測到的標籤、分數、主題性和不透明標籤 ID,其中:
mid- 如果存在,則包含與實體 Google 知識圖譜項目對應的機器生成 ID (MID)。請注意,mid值在不同語言中仍保持不重複,因此您可以使用這些值,將不同語言的實體連結在一起。如要檢查 MID 值,請參閱 Google 知識圖譜 API 說明文件。description:標籤說明。score:信賴分數,範圍從 0 (沒有信心) 到 1 (非常有信心)。topicality- 圖片內容註解 (ICA) 標籤與圖片的關聯性。這項指標會評估標籤在網頁整體脈絡中的重要性/中心性。
{
"responses": [
{
"labelAnnotations": [
{
"mid": "/m/01c8br",
"description": "Street",
"score": 0.87294734,
"topicality": 0.87294734
},
{
"mid": "/m/06pg22",
"description": "Snapshot",
"score": 0.8523099,
"topicality": 0.8523099
},
{
"mid": "/m/0dx1j",
"description": "Town",
"score": 0.8481104,
"topicality": 0.8481104
},
{
"mid": "/m/01d74z",
"description": "Night",
"score": 0.80408716,
"topicality": 0.80408716
},
{
"mid": "/m/01lwf0",
"description": "Alley",
"score": 0.7133322,
"topicality": 0.7133322
}
]
}
]
}
Go
在試用這個範例之前,請先按照「使用用戶端程式庫的 Vision 快速入門導覽課程」中的 Go 設定說明操作。詳情請參閱 Vision Go API 參考文件。
如要向 Vision 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
在試用這個範例之前,請先按照「使用用戶端程式庫的 Vision API 快速入門導覽課程」中的 Java 設定操作說明進行操作。詳情請參閱「 Vision API Java 參考文件」。
Node.js
在試用這個範例之前,請先按照「使用用戶端程式庫的 Vision 快速入門導覽課程」中的 Node.js 設定說明操作。詳情請參閱「Vision Node.js API 參考文件」。
如要向 Vision 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python
在試用這個範例之前,請先按照「使用用戶端程式庫的 Vision 快速入門導覽課程」中的 Python 設定說明操作。詳情請參閱「Vision Python API 參考文件」。
如要向 Vision 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
gcloud
如要在圖片中偵測標籤,請使用 gcloud ml vision detect-labels 指令,如以下範例所示:
gcloud ml vision detect-labels gs://cloud-samples-data/vision/label/setagaya.jpeg
其他語言
C#:請按照用戶端程式庫頁面上的 C# 設定操作說明完成相關步驟,然後參閱「.NET 適用的 Vision 參考文件」。
PHP:請按照用戶端程式庫頁面上的 PHP 設定操作說明完成相關步驟,然後參閱「PHP 適用的 Vision 參考文件」。
Ruby:請按照用戶端程式庫頁面上的 Ruby 設定操作說明完成相關步驟,然後參閱「Ruby 適用的 Vision 參考文件」。
試試看
請使用下列範例嘗試標籤偵測功能。您可以使用已指定的圖片 (gs://cloud-samples-data/vision/label/setagaya.jpeg),或指定自己的圖片。選取「執行」,傳送要求。
要求主體:
{
"requests": [
{
"features": [
{
"maxResults": 5,
"type": "LABEL_DETECTION"
}
],
"image": {
"source": {
"imageUri": "gs://cloud-samples-data/vision/label/setagaya.jpeg"
}
}
}
]
}開啟 Google APIs Explorer 並傳送要求
如要開啟 Google APIs Explorer,請按一下「Try it!」(試試看!)。
選用。修改現有要求主體。
按一下「執行」即可傳送要求。