支援的模型和結構定義

設定物件擴充功能時,您可以選擇要使用哪些機器學習模型分析儲存的物件。每個模型都會評估符合條件的圖片或 PDF 文件,並直接將結構化中繼資料附加至 Cloud Storage 物件。

本頁面說明各個支援的模型、資格規定和輸出結構定義,協助您在 BigQuery 或透過 API 剖析及查詢擴充中繼資料。

模型與物件擴充之間的關係

如要啟用模型,請建立特徵設定 (FeatureConfig),指定要掃描哪些 bucket,以及要執行哪些模型。在非同步處理期間,Cloud Storage 會使用您選擇的模型評估符合條件的物件,並生成結構化 JSON 中繼資料,稱為物件資料充實。

每個模型都會產生專屬的 JSON 酬載,Cloud Storage 會將該酬載直接附加至物件,做為 contexts.custom 屬性下的 Google 代管物件內容。每個酬載都由開頭為 google:annotation: 的專屬情境金鑰識別。

視工作流程而定,您可以透過下列兩種方式使用這項中繼資料:

臉部偵測

使用 face-detector 模型偵測儲存圖片中的人臉。模型會偵測整個頭部和個別臉部的定界多邊形,並找出 36 個臉部特徵點,例如眼睛、鼻子和嘴巴。此外,這項功能還能計算頭部方向角度 (例如滾動、平移和傾斜),以及評估情緒表達的可能性。

模型詳細資料

  • Model name (模型名稱):face-detector
  • 情境索引鍵:google:annotation:face-detector-v1
  • 符合資格的物件:大小不超過 20 MiB 的圖片物件,且支援的 Content-Type 為 BMP、GIF、ICO、JPEG、PNG、TIFF 或 WEBP。

輸出內容的結構定義

模型會輸出 JSON 物件,其中包含 modelName、modelVersion 和 faceAnnotationGroup,以及 faceAnnotations 陣列。如果模型執行失敗,JSON 物件會包含 error 物件,而非 faceAnnotationGroup。

欄位 類型 範圍 說明
modelName string 不適用 生成這項擴充資料的機器學習模型名稱。
modelVersion string 不適用 生成這項擴充資料的機器學習模型版本。
faceAnnotationGroup object 不適用 臉部偵測擴充功能的頂層容器物件。模型執行成功時會顯示。
faceAnnotationGroup.faceAnnotations[] array 不適用 圖片中偵測到的臉孔清單。
faceAnnotationGroup.faceAnnotations[].boundingPoly object 不適用 BoundingPoly 包含整個頭部和臉部,並縮放至原始圖片尺寸。
faceAnnotationGroup.faceAnnotations[].faceDetectionBoundingPoly object 不適用 臉部偵測的 BoundingPoly。比 boundingPoly 更緊密,只包含皮膚和可見的臉部特徵。
faceAnnotationGroup.faceAnnotations[].landmarks[] array 不適用 偵測到的 FaceLandmark 物件清單,代表特定臉部特徵。
faceAnnotationGroup.faceAnnotations[].rollAngle number -180 至 180 臉部順時針或逆時針旋轉的角度。
faceAnnotationGroup.faceAnnotations[].panAngle number -180 至 180 臉部朝向左側或右側的水平角度,以度為單位。
faceAnnotationGroup.faceAnnotations[].tiltAngle number -180 至 180 臉部朝上或朝下的垂直俯仰角,以度為單位。
faceAnnotationGroup.faceAnnotations[].detectionConfidence number 0 至 1 (0% 至 100%) 整體臉部偵測的可信度分數。
faceAnnotationGroup.faceAnnotations[].landmarkingConfidence number 0 至 1 (0% 至 100%) 臉部特徵標記定位的可信度分數。
faceAnnotationGroup.faceAnnotations[].joyProbability number 0 至 1 (0% 至 100%) 臉部表情為喜悅的可能性。
faceAnnotationGroup.faceAnnotations[].sorrowProbability number 0 至 1 (0% 至 100%) 臉部表情為悲傷的可能性。
faceAnnotationGroup.faceAnnotations[].angerProbability number 0 至 1 (0% 至 100%) 臉部表情為憤怒的可能性。
faceAnnotationGroup.faceAnnotations[].surpriseProbability number 0 至 1 (0% 至 100%) 臉部表情驚訝的可能性。
faceAnnotationGroup.faceAnnotations[].underExposedProbability number 0 至 1 (0% 至 100%) 圖片中的臉孔曝光不足的可能性。
faceAnnotationGroup.faceAnnotations[].blurredProbability number 0 至 1 (0% 至 100%) 圖片中的臉孔模糊的可能性。
faceAnnotationGroup.faceAnnotations[].headwearProbability number 0 至 1 (0% 至 100%) 人物戴著頭飾 (例如帽子) 的可能性。
error object 不適用 包含 code 和 message 的 google.rpc.Status 物件。只有在模型執行失敗時才會填入資料。

BoundingPoly

BoundingPoly 物件代表包圍偵測到圖片特徵的多邊形界框。

欄位 類型 範圍 說明
vertices[] array 不適用 使用絕對像素 Vertex 物件的定界多邊形座標。
normalizedVertices[] array 不適用 使用相對 NormalizedVertex 物件的定界多邊形座標,縮放比例為 0 至 1。

Vertex

Vertex 物件代表縮放至原始圖片尺寸的 2D 座標點。

欄位 類型 範圍 說明
x integer 0 以上 水平 X 座標,以像素為單位,從左側邊緣算起。
y integer 0 以上 垂直 Y 座標,以距離頂端邊緣的像素為單位。

正規化 Vertex

NormalizedVertex 物件代表 2D 座標點,以相對於原始圖片尺寸的比率表示。

欄位 類型 範圍 說明
x number 0 至 1 相對於圖片寬度的水平 X 座標,其中 0.0 是左側邊緣,1.0 是右側邊緣。
y number 0 至 1 相對於圖片高度的垂直 Y 座標,其中 0.0 是頂端邊緣,1.0 是底部邊緣。

FaceLandmark

FaceLandmark 物件代表在臉部偵測到的特定臉部特徵。

欄位 類型 範圍 說明
type enum 請參閱「地標類型」 偵測到的特定臉部特徵。
position object 不適用 地標的 3D Position。

地標類型

模型可辨識 36 個特定臉部特徵:

  • TYPE_UNSPECIFIED
  • LEFT_EYE
  • RIGHT_EYE
  • LEFT_OF_LEFT_EYEBROW
  • RIGHT_OF_LEFT_EYEBROW
  • LEFT_OF_RIGHT_EYEBROW
  • RIGHT_OF_RIGHT_EYEBROW
  • MIDPOINT_BETWEEN_EYES
  • NOSE_TIP
  • UPPER_LIP
  • LOWER_LIP
  • MOUTH_LEFT
  • MOUTH_RIGHT
  • MOUTH_CENTER
  • NOSE_BOTTOM_RIGHT
  • NOSE_BOTTOM_LEFT
  • NOSE_BOTTOM_CENTER
  • LEFT_EYE_TOP_BOUNDARY
  • LEFT_EYE_RIGHT_CORNER
  • LEFT_EYE_BOTTOM_BOUNDARY
  • LEFT_EYE_LEFT_CORNER
  • RIGHT_EYE_TOP_BOUNDARY
  • RIGHT_EYE_RIGHT_CORNER
  • RIGHT_EYE_BOTTOM_BOUNDARY
  • RIGHT_EYE_LEFT_CORNER
  • LEFT_EYEBROW_UPPER_MIDPOINT
  • RIGHT_EYEBROW_UPPER_MIDPOINT
  • LEFT_EAR_TRAGION
  • RIGHT_EAR_TRAGION
  • LEFT_EYE_PUPIL
  • RIGHT_EYE_PUPIL
  • FOREHEAD_GLABELLA
  • CHIN_GNATHION
  • CHIN_LEFT_GONION
  • CHIN_RIGHT_GONION
  • LEFT_CHEEK_CENTER
  • RIGHT_CHEEK_CENTER

位置

Position 物件代表臉部特徵的 3D 座標。

欄位 類型 範圍 說明
x number 不適用 水平 X 座標。
y number 不適用 垂直 Y 座標。
z number 不適用 相對於臉部平面的深度座標,值越小表示越靠近相機。

輸出內容範例

{
  "modelName": "face-detector",
  "modelVersion": "v1",
  "faceAnnotationGroup": {
    "faceAnnotations": [
      {
        "boundingPoly": {
          "vertices": [
            { "x": 1079, "y": 148 },
            { "x": 2152, "y": 148 },
            { "x": 2152, "y": 1396 },
            { "x": 1079, "y": 1396 }
          ],
          "normalizedVertices": [
            { "x": 0.35, "y": 0.12 },
            { "x": 0.70, "y": 0.12 },
            { "x": 0.70, "y": 0.95 },
            { "x": 0.35, "y": 0.95 }
          ]
        },
        "faceDetectionBoundingPoly": {
          "vertices": [
            { "x": 1190, "y": 427 },
            { "x": 2037, "y": 427 },
            { "x": 2037, "y": 1285 },
            { "x": 1190, "y": 1285 }
          ]
        },
        "landmarks": [
          {
            "type": "LEFT_EYE",
            "position": { "x": 1368.8, "y": 737.6, "z": 0.0016 }
          },
          {
            "type": "RIGHT_EYE",
            "position": { "x": 1659.2, "y": 755.1, "z": -116.4 }
          }
        ],
        "rollAngle": 1.959,
        "panAngle": -21.954,
        "tiltAngle": -2.267,
        "detectionConfidence": 0.98,
        "landmarkingConfidence": 0.61,
        "joyProbability": 0.18,
        "headwearProbability": 0.80
      }
    ]
  }
}

物件偵測

使用 object-detector 模型偵測及追蹤圖片中的多個不同物件。針對每個識別出的物件,模型會提供實體名稱、知識圖譜實體 ID (knowledgeGraphId)、可信度分數和定界座標。

模型詳細資料

  • Model name (模型名稱):object-detector
  • 情境索引鍵:google:annotation:object-detector-v1
  • 符合資格的物件:大小不超過 20 MiB 的圖片物件,且支援的 Content-Type 為 BMP、GIF、ICO、JPEG、PNG、TIFF 或 WEBP。

輸出內容的結構定義

模型會輸出 JSON 物件,其中包含 modelName、modelVersion 和 objectAnnotationGroup,以及 objectAnnotations 陣列。如果模型執行失敗,JSON 物件會包含 error 物件,而非 objectAnnotationGroup。

欄位 類型 範圍 說明
modelName string 不適用 生成這項擴充資料的機器學習模型名稱。
modelVersion string 不適用 生成這項擴充資料的機器學習模型版本。
objectAnnotationGroup object 不適用 物件偵測擴充功能的頂層容器物件。模型執行成功時會顯示。
objectAnnotationGroup.objectAnnotations[] array 不適用 圖片中偵測到的物件清單。
objectAnnotationGroup.objectAnnotations[].knowledgeGraphId string 不適用 偵測到物件的 Google 知識圖譜實體 ID。
objectAnnotationGroup.objectAnnotations[].name string 不適用 偵測到的物件名稱或標籤,例如 "Person" 或 "Chair"。
objectAnnotationGroup.objectAnnotations[].score number 0 至 1 (0% 至 100%) 物件偵測的信賴分數。
objectAnnotationGroup.objectAnnotations[].boundingPoly object 不適用 物件周圍的 BoundingPoly,包含像素座標 (vertices) 和正規化座標 (normalizedVertices)。
error object 不適用 包含 code 和 message 的 google.rpc.Status 物件。只有在模型執行失敗時才會填入資料。

輸出內容範例

{
  "modelName": "object-detector",
  "modelVersion": "v1",
  "objectAnnotationGroup": {
    "objectAnnotations": [
      {
        "knowledgeGraphId": "/m/01g317",
        "name": "Person",
        "score": 0.89,
        "boundingPoly": {
          "normalizedVertices": [
            { "x": 0.1, "y": 0.15 },
            { "x": 0.2, "y": 0.15 },
            { "x": 0.2, "y": 0.3 },
            { "x": 0.1, "y": 0.3 }
          ]
        }
      }
    ]
  }
}

一般圖片標籤

使用 label-detector 模型,為圖片生成描述性標籤、關鍵字和廣泛的語意類別。模型會識別一般實體、風景、活動和位置,例如 Landscape、Urban 或 Night,讓您的視覺素材資源可供搜尋和編目。

模型詳細資料

  • Model name (模型名稱):label-detector
  • 情境索引鍵:google:annotation:label-detector-v1
  • 符合資格的物件:大小不超過 20 MiB 的圖片物件,且支援的 Content-Type 為 BMP、GIF、ICO、JPEG、PNG、TIFF 或 WEBP。

輸出內容的結構定義

模型會輸出 JSON 物件,其中包含 modelName、modelVersion 和 labelAnnotationGroup,以及 labelAnnotations 陣列。如果模型執行失敗,JSON 物件會包含 error 物件,而非 labelAnnotationGroup。

欄位 類型 範圍 說明
modelName string 不適用 生成這項擴充資料的機器學習模型名稱。
modelVersion string 不適用 生成這項擴充資料的機器學習模型版本。
labelAnnotationGroup object 不適用 圖片標籤擴充功能的頂層容器物件。模型執行成功時會顯示。
labelAnnotationGroup.labelAnnotations[] array 不適用 偵測到的標籤和類別清單。
labelAnnotationGroup.labelAnnotations[].knowledgeGraphId string 不適用 標籤的 Google 知識圖譜實體 ID。
labelAnnotationGroup.labelAnnotations[].description string 不適用 偵測到的實體文字說明或標籤名稱。
labelAnnotationGroup.labelAnnotations[].score number 0 至 1 (0% 至 100%) 標籤的可信度分數。
labelAnnotationGroup.labelAnnotations[].topicality number 0 至 1 (0% 至 100%) 標籤與圖片主要主體的關聯性,分數越高代表越顯著。
error object 不適用 包含 code 和 message 的 google.rpc.Status 物件。只有在模型執行失敗時才會填入資料。

輸出內容範例

{
  "modelName": "label-detector",
  "modelVersion": "v1",
  "labelAnnotationGroup": {
    "labelAnnotations": [
      {
        "knowledgeGraphId": "/m/01d74z",
        "description": "Night",
        "score": 0.92,
        "topicality": 0.19
      }
    ]
  }
}

煽情露骨內容偵測

使用 content-safety 模型篩選上傳的圖片,找出敏感、煽情露骨或不當內容。模型會根據 Google 安全政策評估圖片。這項服務會評估成人、暴力和其他敏感內容出現的可能性,協助您自動執行內容審核工作流程。

模型詳細資料

  • Model name (模型名稱):content-safety
  • 情境索引鍵:google:annotation:content-safety-v1
  • 符合資格的物件:大小不超過 20 MiB 的圖片物件,且支援的 Content-Type 為 BMP、GIF、ICO、JPEG、PNG、TIFF 或 WEBP。

輸出內容的結構定義

模型會輸出 JSON 物件,其中包含 modelName、modelVersion 和 contentSafetyAnnotation 物件,並附上可能性評分。如果模型執行失敗,JSON 物件會包含 error 物件,而非 contentSafetyAnnotation。

欄位 類型 值/範圍 說明
modelName string 不適用 生成這項擴充資料的機器學習模型名稱。
modelVersion string 不適用 生成這項擴充資料的機器學習模型版本。
contentSafetyAnnotation object 不適用 內容分析結果的頂層容器物件。模型執行成功時會顯示。
contentSafetyAnnotation.adultContentLikelihood string VERY_UNLIKELY、UNLIKELY、POSSIBLE、LIKELY、VERY_LIKELY 圖片含有成人內容的可能性。
contentSafetyAnnotation.violentContentLikelihood string VERY_UNLIKELY、UNLIKELY、POSSIBLE、LIKELY、VERY_LIKELY 圖片描繪暴力內容的可能性。
error object 不適用 包含 code 和 message 的 google.rpc.Status 物件。只有在模型執行失敗時才會填入資料。

輸出內容範例

{
  "modelName": "content-safety",
  "modelVersion": "v1",
  "contentSafetyAnnotation": {
    "adultContentLikelihood": "VERY_UNLIKELY",
    "violentContentLikelihood": "UNLIKELY"
  }
}

PDF 分類

使用 pdf-classification 模型,根據文字和視覺結構自動分類 PDF 文件。模型會為企業、產業和主題指派標準化的階層式類別。這些類別可協助您整理大量文件、建立生成式 AI 檢索基準,以及將文件轉送至下游工作流程。

模型詳細資料

  • Model name (模型名稱):pdf-classification
  • 情境索引鍵:google:annotation:pdf-classification-v1
  • 符合條件的物件:Content-Type 為 application/pdf 且大小不超過 20 MiB 的 PDF 文件物件。

輸出內容的結構定義

模型會輸出 JSON 物件,其中包含 modelName、modelVersion 和 pdfClassificationCategoryList,以及分類 categories 的陣列。如果模型執行失敗,JSON 物件會包含 error 物件,而非 pdfClassificationCategoryList。

欄位 類型 範圍 說明
modelName string 不適用 生成這項擴充資料的機器學習模型名稱。
modelVersion string 不適用 生成這項擴充資料的機器學習模型版本。
pdfClassificationCategoryList object 不適用 PDF 分類結果的頂層容器物件。模型執行成功時會顯示。
pdfClassificationCategoryList.categories[] array 不適用 偵測到的分類類別清單。
pdfClassificationCategoryList.categories[].label string 查看 PDF 分類類別 階層類別路徑,例如 "/Finance/Accounting & Auditing/Tax Preparation & Planning"。
pdfClassificationCategoryList.categories[].score number 0 至 1 (0% 至 100%) 指派類別的可信度分數。
error object 不適用 包含 code 和 message 的 google.rpc.Status 物件。只有在模型執行失敗時才會填入資料。

支援的類別

pdf-classification 模型會為 PDF 文件指派標準化的階層式內容類別。

類別會以階層結構呈現,並以正斜線 (/) 分隔類別深度。開頭是廣泛的頂層產業,然後縮小至特定子類別:

  • 頂層類別:廣泛的主題領域,例如 /Finance、/Law & Government 或 /Computers & Electronics。
  • 子類別:產業中的特定主題,例如 /Finance/Accounting & Auditing/Tax Preparation & Planning。
  • /Other 子類別:內容與父類別一致,但不屬於任何特定子類別。

如果文件涵蓋多個不同主題,模型可以為單一 PDF 物件指派多個高信賴度類別。

頂層類別

模型會將 PDF 文件分為 27 個頂層類別:

  • /Adult
  • /Arts & Entertainment
  • /Autos & Vehicles
  • /Beauty & Fitness
  • /Books & Literature
  • /Business & Industrial
  • /Computers & Electronics
  • /Finance
  • /Food & Drink
  • /Games
  • /Health
  • /Hobbies & Leisure
  • /Home & Garden
  • /Internet & Telecom
  • /Jobs & Education
  • /Law & Government
  • /News
  • /Online Communities
  • /People & Society
  • /Pets & Animals
  • /Real Estate
  • /Reference
  • /Science
  • /Sensitive Subjects
  • /Shopping
  • /Sports
  • /Travel & Transportation

子類別會遵循階層路徑 /Top-Level-Vertical/Subcategory,在這些頂層類別下,可選擇更深層級。如需所有支援類別路徑的完整清單,請參閱「PDF 分類類別」。

輸出內容範例

{
  "modelName": "pdf-classification",
  "modelVersion": "v1",
  "pdfClassificationCategoryList": {
    "categories": [
      {
        "label": "/Finance/Accounting & Auditing/Tax Preparation & Planning",
        "score": 0.85
      },
      {
        "label": "/Business & Industrial/Printing & Publishing/Document & Printing Services",
        "score": 0.25
      }
    ]
  }
}

後續步驟