電腦視覺 · API / SDK

Amazon Rekognition

AWS

透過雲端偵測能力分析圖片與影片內容。

官方文件下載開發規格

AMAZON REKOGNITION / DEVELOPER FIELD GUIDE

選對接口,定義可驗證的結果。

公司/專案背景、十個技術入口,以及每份引用的實作分析。

2026-10-08 · 串接尚未實測

公司/專案背景全貌

依官方公司或專案自述撰寫的原創概要;完整原文請見來源。

Amazon Rekognition · About
供應商Amazon Web Services 隸屬 Amazon,於 2006 年推出。
服務對象使用雲端與 AI 基礎設施的新創、企業、非營利組織與政府。
公司資訊About 網站提供起源、價值、影響、團隊、客戶與合作夥伴資訊。
產品範圍Rekognition 提供託管影像與視訊分析;各 API 能力於下方逐项比較。
官方 About 完整原文 ↗
About 引用 — TA 分析
適用角色進行 AI 供應商初選的採購、合作夥伴與產品負責人。
本站評估用定位與公司背景判斷初步適配度;另行取得專案部署、支援與商務條件。

已核對 AWS 官方文件;JavaScript 指令由 API 文件連出,但其動態頁正文無法擷取。本輪未呼叫雲端或驗證帳號資格。

十項技術入口比較

依影像與已儲存影片整合選出十項入口,不是官方排名。規劃串流或批次分析前先查閱功能可用性引用。

依要完成的工作選擇
接口用途與 TA
01 · DetectLabelsSynchronous image API偵測一般物件與場景,可選擇取得影像屬性。後端/影像目錄團隊
02 · Boto3 Rekognition clientPython SDK透過 AWS Python SDK 呼叫 Rekognition。Python/自動化工程師
03 · AWS SDK for JavaScript v3JavaScript SDK使用官方 Rekognition client 與 DetectLabels 指令。Node.js/TypeScript 後端
04 · AWS CLI RekognitionCommand-line interface從終端檢視並呼叫 Rekognition 操作。QA/平台工程師
05 · DetectTextImage text API從影像擷取文字與文字行。包裝/視覺中繼資料工程師
06 · DetectProtectiveEquipmentImage equipment API偵測影像中人員的臉部、手部與頭部覆蓋裝備。工廠應用/安全複核團隊
07 · DetectCustomLabelsCustom-model image API對影像執行指定版本的 Custom Labels 模型。ML/工業巡檢團隊
08 · StartLabelDetectionAsynchronous stored-video API啟動 S3 已儲存影片的標籤分析。視訊管線/後端工程師
09 · StartSegmentDetectionVideo segmentation API啟動已儲存影片的鏡頭或技術提示分析。媒體作業/證據複核團隊
10 · DetectModerationLabelsImage moderation API回傳內容審核標籤,支援應用政策判斷。內容審核/平台團隊

逐份文件分析

能力摘要依據官方文件;限制與建議測試為本站工程評估。

01

Synchronous image API

DetectLabels

DetectLabels · TA
目標讀者 TA後端/影像目錄團隊
官方文件能力偵測一般物件與場景,可選擇取得影像屬性。
輸入 → 輸出JPEG/PNG 位元組或 S3 物件 → 標籤與模型版本
執行環境AWS 區域雲端端點。
本站選型評估標籤信心分數為 0–100;一般標籤不能證明能辨識特定缺陷。
本站建議驗證驗證分數轉換與空結果,比對實際巡檢分類。
官方文件 · DetectLabels ↗
02

Python SDK

Boto3 Rekognition client

Boto3 Rekognition client · TA
目標讀者 TAPython/自動化工程師
官方文件能力透過 AWS Python SDK 呼叫 Rekognition。
輸入 → 輸出Python 參數 → 回應字典
執行環境具備 AWS 憑證與區域設定的 Python 後端。
本站選型評估安裝 SDK 不等於取得 API 權限或完成區域設定。
本站建議驗證記錄 SDK 版本,分別測試授權推論與權限拒絕。
官方文件 · Boto3 Rekognition client ↗
03

JavaScript SDK

AWS SDK for JavaScript v3

AWS SDK for JavaScript v3 · TA
目標讀者 TANode.js/TypeScript 後端
官方文件能力使用官方 Rekognition client 與 DetectLabels 指令。
輸入 → 輸出指令輸入 → 服務回應
執行環境搭配 AWS 認證的伺服器端 JavaScript。
本站選型評估確認執行環境相容性,憑證不得進入前端程式包。
本站建議驗證建置實際伺服器目標,確認瀏覽器只收到去敏後輸出。
官方文件 · AWS SDK for JavaScript v3 ↗
04

Command-line interface

AWS CLI Rekognition

AWS CLI Rekognition · TA
目標讀者 TAQA/平台工程師
官方文件能力從終端檢視並呼叫 Rekognition 操作。
輸入 → 輸出CLI 參數 → JSON 輸出
執行環境已設定的 AWS CLI 環境。
本站選型評估CLI 影像操作使用 S3 引用,不能原封不動套用 SDK 位元組範例。
本站建議驗證記錄 profile、區域與物件版本,比對一次 SDK 結果。
官方文件 · AWS CLI Rekognition ↗
05

Image text API

DetectText

DetectText · TA
目標讀者 TA包裝/視覺中繼資料工程師
官方文件能力從影像擷取文字與文字行。
輸入 → 輸出影像 → 文字、幾何位置與型態
執行環境AWS 區域雲端服務。
本站選型評估使用字詞與文字行關係,避免同一文字重複計算。
本站建議驗證測試實際包裝字型、旋轉與語言,量測序號完全正確率。
官方文件 · DetectText ↗
06

Image equipment API

DetectProtectiveEquipment

DetectProtectiveEquipment · TA
目標讀者 TA工廠應用/安全複核團隊
官方文件能力偵測影像中人員的臉部、手部與頭部覆蓋裝備。
輸入 → 輸出影像 → 人員、身體部位與裝備偵測
執行環境AWS 影像分析端點。
本站選型評估無法判定的覆蓋狀態需保留未知;偵測結果不是安全認證。
本站建議驗證搭配人工複核測試遮擋與弱光,量測漏檢與誤報。
官方文件 · DetectProtectiveEquipment ↗
07

Custom-model image API

DetectCustomLabels

DetectCustomLabels · TA
目標讀者 TAML/工業巡檢團隊
官方文件能力對影像執行指定版本的 Custom Labels 模型。
輸入 → 輸出影像+專案版本 ARN → 自訂標籤
執行環境AWS 上的 Custom Labels 模型。
本站選型評估需要適當的已訓練模型;一般標籤不能取代缺陷資料集。
本站建議驗證保留近似產線的獨立樣本,上線前記錄版本 ARN 與各缺陷召回率。
官方文件 · DetectCustomLabels ↗
08

Asynchronous stored-video API

StartLabelDetection

StartLabelDetection · TA
目標讀者 TA視訊管線/後端工程師
官方文件能力啟動 S3 已儲存影片的標籤分析。
輸入 → 輸出S3 影片 → 工作 ID,再取得完成結果
執行環境AWS 非同步工作,可使用 SNS 通知。
本站選型評估取得工作 ID 不代表分析完成;應保留冪等識別值。
本站建議驗證測試等待、失敗與成功狀態,再取回所有結果分頁。
官方文件 · StartLabelDetection ↗
09

Video segmentation API

StartSegmentDetection

StartSegmentDetection · TA
目標讀者 TA媒體作業/證據複核團隊
官方文件能力啟動已儲存影片的鏡頭或技術提示分析。
輸入 → 輸出S3 影片+片段類型 → 工作識別碼
執行環境AWS 非同步已儲存影片分析。
本站選型評估鏡頭邊界是媒體結構,不是工業事件的證據。
本站建議驗證與人工複核影片比對片段時間,保留原始時間基準。
官方文件 · StartSegmentDetection ↗
10

Image moderation API

DetectModerationLabels

DetectModerationLabels · TA
目標讀者 TA內容審核/平台團隊
官方文件能力回傳內容審核標籤,支援應用政策判斷。
輸入 → 輸出JPEG/PNG 影像 → 審核標籤與信心分數
執行環境AWS 區域影像服務。
本站選型評估模型分數不等於應用決策;應保留人工複核流程。
本站建議驗證阻擋上傳前,先評估正常工業影像的誤判情況。
官方文件 · DetectModerationLabels ↗

Rekognition overview

Rekognition overview · 補充引用分析
TAPM/採購:將影像與視訊需求對應至託管服務。
本站驗證建議估算投入前先選定 API 與帳號區域。
官方文件 · Rekognition overview ↗

Feature availability changes

Feature availability changes · 補充引用分析
TA架構師/採購:確認帳號可用資格。
本站驗證建議Streaming Video 與 Bulk Image Analysis 自 2026-04-30 起不再開放新客戶;AWS 說明其他功能不受影響。本指南選用影像及已儲存影片路徑,仍需確認預定操作。
官方文件 · Feature availability changes ↗

GetLabelDetection

GetLabelDetection · 補充引用分析
TA後端/QA:完成非同步標籤管線。
本站驗證建議等待成功,使用相同工作 ID,依 NextToken 取得所有分頁。
官方文件 · GetLabelDetection ↗

Boto3 credentials

Boto3 credentials · 補充引用分析
TA平台工程師:設定臨時角色或 SSO 憑證。
本站驗證建議使用標準憑證鏈,確認必要最小權限,不將機密寫入程式。
官方文件 · Boto3 credentials ↗

Botocore configuration

Botocore configuration · 補充引用分析
TA後端工程師:明確設定逾時與重試行為。
本站驗證建議範例只嘗試一次,設定連線/讀取逾時;正式使用仍需整體任務截止時間。
官方文件 · Botocore configuration ↗

04 / INPUT · EXPECTED OUTPUT · ACCEPTANCE

具體的第一步串接

單張影像一般標籤;不是自訂缺陷偵測、人臉識別或即時視訊。信心分數由 0–100 正規化為 0–1。

起始範例 v1.0.0 · 僅離線樣本測試 · 尚未實際串接供應商

在自己的環境執行

在 Python 環境安裝 boto3 並記錄版本。設定具有 rekognition:DetectLabels 權限的 AWS 角色或 SSO profile。設定 AWS_REGION 與 IMAGE_PATH,必要時指定 AWS_PROFILE。另存為 rekognition_smoke.py 並執行 python rekognition_smoke.py。本頁不提供帳號、憑證或代呼叫雲端。

憑證僅交由本機或伺服器端的認證設定管理。執行此範例會將影像送至供應商雲端,並可能消耗帳號用量。

展開 Python 起始範例 · rekognition_smoke.py
"""One authorized JPEG/PNG sent to AWS DetectLabels; no automatic retry."""
import json
import math
import os
import sys
from datetime import datetime, timezone
from importlib.metadata import version
from pathlib import Path
from time import monotonic


def normalize(raw):
    if not isinstance(raw, dict) or not isinstance(raw.get('Labels'), list):
        raise ValueError('unexpected_schema')
    output = []
    for item in raw['Labels']:
        if not isinstance(item, dict) or not isinstance(item.get('Name'), str):
            raise ValueError('unexpected_schema')
        confidence = item.get('Confidence')
        if type(confidence) not in (int, float) or not math.isfinite(confidence) or not 0 <= confidence <= 100:
            raise ValueError('unexpected_schema')
        output.append({'label': item['Name'], 'score': confidence / 100})
    model = raw.get('LabelModelVersion')
    if model is not None and not isinstance(model, str):
        raise ValueError('unexpected_schema')
    return output, model


def create_client(region):
    import boto3
    from botocore.config import Config
    settings = Config(connect_timeout=5, read_timeout=30,
                      retries={'mode': 'standard', 'total_max_attempts': 1})
    # Standard AWS credentials chain; no access keys in source code.
    return boto3.client('rekognition', region_name=region, config=settings)


def classify_error(exc):
    code = getattr(exc, 'response', {}).get('Error', {}).get('Code')
    if code in ('AccessDeniedException', 'UnrecognizedClientException', 'InvalidSignatureException', 'ExpiredTokenException'):
        return 'authorization_failure'
    if code in ('ThrottlingException', 'ProvisionedThroughputExceededException'):
        return 'throttled'
    if code in ('InvalidImageFormatException', 'ImageTooLargeException', 'InvalidParameterException'):
        return 'provider_input_failure'
    if type(exc).__name__ in ('NoCredentialsError', 'PartialCredentialsError', 'ProfileNotFound'):
        return 'credentials_missing'
    if type(exc).__name__ in ('ReadTimeoutError', 'ConnectTimeoutError', 'EndpointConnectionError'):
        return 'transport_failure'
    return 'provider_or_transport_failure'


def run(client_factory=create_client):
    start = monotonic()
    result = {'schema_version': '1.0.0', 'provider': 'Amazon Rekognition', 'status': 'error',
              'model_version': None, 'data': None, 'error': None,
              'captured_at': datetime.now(timezone.utc).isoformat()}
    try:
        region = os.environ['AWS_REGION'].strip()
        filename = Path(os.environ['IMAGE_PATH'])
        if not region or filename.suffix.lower() not in ('.jpg', '.jpeg', '.png'):
            raise ValueError('configuration')
        # Bounded read: this starter's cap is 4 MiB, not a claimed service limit.
        with filename.open('rb') as image:
            content = image.read(4 * 1024 * 1024 + 1)
        if not content or len(content) > 4 * 1024 * 1024:
            raise ValueError('input_size')
        client = client_factory(region)
        try:
            raw = client.detect_labels(Image={'Bytes': content}, MaxLabels=20,
                                       MinConfidence=70, Features=['GENERAL_LABELS'])
            result['data'], result['model_version'] = normalize(raw)
        finally:
            client.close()
        result['region'] = region
        result['status'] = 'ok'
    except (KeyError, OSError):
        result['error'] = 'configuration'
    except (ValueError, TypeError):
        result['error'] = 'configuration_or_schema'
    except ImportError:
        result['error'] = 'dependency_missing'
    except Exception as exc:
        result['error'] = classify_error(exc)
    if result['status'] != 'ok':
        result['data'] = None
    result['elapsed_ms'] = round((monotonic() - start) * 1000)
    return result


if __name__ == '__main__':
    output = run()
    print(json.dumps(output, ensure_ascii=False, allow_nan=False))
    sys.exit(0 if output['status'] == 'ok' else 1)
下載規格、範例與驗收計畫
工程交接 — 本站建議契約與驗收門檻
結果契約ok 包含已驗證 label/score,允許有效空陣列;error 的 data 為 null,只回傳去敏錯誤類別。記錄 AWS 回傳的 LabelModelVersion;此一般 DetectLabels 範例不能指定固定模型版本。
操作限制只嘗試一次,連線逾時 5 秒、讀取逾時 30 秒;這不是整體程序截止時間。本地輸入上限 4 MiB;門檻 70、最多 20 個標籤是範例設定,不是已驗證的商業門檻。
失敗決策區分授權、節流、輸入與傳輸失敗。先修正設定錯誤,再評估重複成本與整體截止時間,才加入有限重試。
資料與成本影像位元組會送至設定的 AWS 區域。確認帳號條件與資料處理方式,先以小樣本量測用量。本輪未量測價格、延遲或缺陷準確率。
建議驗收使用 20 張經授權代表影像,加上空檔、格式錯誤、權限拒絕與逾時案例。要求零筆隱藏失敗與正確分數轉換;實測前先約定標籤實用性與延遲目標。工業缺陷驗收需另外定義。

可一併評估的路線: Google Cloud Vision

開發評估

場域影像索引工作台

開發構想規格・串接尚未實測

接口能力依據官方文件或程式庫;以下產品方向、輸入、交付與驗收條件則是我們的開發評估。

可先做小原型

確認存取後,用少量真實樣本測試一個有文件的操作。此為開發判斷,不是交期估算。

原型輸入規劃
少量經授權影像、任務定義與參考標註。
原型交付規劃
可審核的影像引用、標籤或標註狀態;保留原始檔案。
驗收條件
用已標註樣本比對支援的操作;錯誤與缺漏結果分開呈現。
依賴條件
資料集存取、影像使用權與支援的模型或標註專案。

開發順序

  1. 確認 Amazon Rekognition 的存取、授權與支援版本。
  2. 準備上述樣本,針對「場域影像索引工作台」先實作一個有官方文件的操作。
  3. 整理輸出時保留來源、時間與錯誤狀態,並保留供應商回應供審核。
  4. 通過驗收條件後,再估算擴展投入與客戶交付。

如何驗證需求

記錄產品瀏覽、官方文件點擊、規格下載與技術 Hub 點擊。這些是事件次數,不等於獨立人數或已完成串接。

本次可行性評估依實作條件判斷;尚未給定流量排名或交期承諾。

相關產品