全部產品
Search
文件中心

Content Moderation:同步檢測

更新時間:Jul 06, 2024

本文介紹了調用圖片同步檢測介面(/green/image/scan)進行圖片內容審核的方法。圖片審核協助您檢測圖片中的風險或違規內容,具體包括以下情境:圖片智能鑒黃、圖片暴恐涉政、圖文違規、圖片二維碼、圖片不良情境、圖片logo。

使用說明

業務介面:/green/image/scan,表示圖片同步檢測。

您可以調用該介面建立圖片同步檢測任務。關於如何構造HTTP請求,請參見請求結構;您也可以直接選用已構造好的HTTP請求,更多資訊,請參見SDK概覽

  • 計費資訊

    該介面為收費介面。關於計費方式,請參見Alibaba Content Security Service產品定價

  • 檢測逾時

    同步檢測允許的最長檢測時間是6秒,如果檢測在該時間限制內沒有完成,系統會強制返回逾時錯誤碼。如果您對即時性要求不高,可以選擇非同步檢測,其他情況下請選擇同步檢測,同步檢測介面的調用相對簡單些。對於同步檢測介面的調用,建議您將逾時時間設定為6秒。

  • 返回結果

    同步檢測請求一般會在一秒內同步返回結果,但在一些特殊情境(例如系統繁忙導致堆積嚴重、圖片較大、含有OCR內容較多等),耗時可能會增加。

  • 圖片要求
    • 圖片連結支援以下協議:HTTP和HTTPS。

    • 圖片支援以下格式:PNG、JPG、JPEG、BMP、GIF、WEBP。

    • 圖片大小限制為20 MB以內(適用於同步和非同步呼叫)。

    • 圖片下載時間限制為3秒內,如果下載時間超過3秒,返回下載逾時。

    • 圖片像素建議不低於256*256(px),像素過低可能會影響識別效果。

    • 圖片檢測介面的回應時間依賴圖片的下載時間。請保證被檢測圖片所在的儲存服務穩定可靠,建議您使用阿里雲OSS儲存或者CDN緩衝等。

表 1. 情境說明
情境名稱描述檢測結果分類
圖片智能鑒黃檢測圖片是否包含色情、性感內容。正常、色情、性感
圖片暴恐涉政檢測圖片是否包含暴恐或涉政類內容。正常、血腥、爆炸煙光、特殊裝束、特殊標識、武器、涉政、打鬥、聚眾、遊行、車禍現場、旗幟、地標
圖文違規檢測圖片是否包含廣告和文字違規資訊。正常、文字含涉政內容、文字含涉黃內容、文字含辱罵內容、文字含暴恐內容、文字含違禁內容、文字含其他垃圾內容、牛皮癬廣告、含二維碼、含小程式碼、其他廣告
說明 請根據實際情況,設定您需要的檢測分類。更多資訊,請參見自訂機審標準
圖片二維碼檢測圖片是否包含二維碼或小程式碼。正常、含二維碼、含小程式碼
說明 請根據實際情況,設定您需要的檢測分類。更多資訊,請參見自訂機審標準
圖片不良情境檢測圖片是否包含黑屏、黑邊、昏暗畫面、畫中畫、吸煙、車內直播等不良情境。正常、圖片中無內容(例如黑屏、白屏)、畫中畫、吸煙、車內直播
圖片logo檢測圖片是否包含logo資訊,例如台標,商標等。正常、含受管控的logo、含商標

QPS限制

本介面的單使用者QPS限制為50次/秒。超過限制,API調用會被限流,這可能會影響您的業務,請合理調用。

請求參數

名稱類型是否必選樣本值描述
bizTypeStringdefault

該欄位用於標識您的業務情境。您可以通過Alibaba Content Security Service控制台建立業務情境(具體操作,請參見自訂機審標準)。

scenesStringArray["porn","terrorism","ad","live","qrcode","logo"]指定檢測情境。取值:
  • porn:圖片智能鑒黃
  • terrorism:圖片暴恐涉政
  • ad:圖文違規
  • qrcode:圖片二維碼
  • live:圖片不良情境
  • logo:圖片logo
支援指定多個情境,例如,["porn", "terrorism"]表示對圖片同時進行智能鑒黃和暴恐涉政檢測。
說明 同時檢測多個情境的情況下,將按照每個情境的檢測圖片數量×每個情境的單價進行累加計費。
tasksJSONArray指定檢測對象,JSON數組中的每個元素是一個檢測任務結構體。最多支援100個元素,即每次提交100條內容進行檢測,支援100個元素的前提是需要將並發任務調整到100個以上。關於每個元素的具體結構描述,請參見task
表 2. task
名稱類型是否必選樣本值描述
clientInfoJSONObject{"userId":"12023****","userNick":"Mike","userType":"others"}

用戶端資訊,請參見公用參數中的公用查詢參數。

伺服器會把全域的clientInfo和此處獨立的clientInfo合并。

說明

獨立的clientInfo優先順序更高。

dataIdStringcfd33235-71a4-468b-8137-a5ffe323****

檢測對象對應的資料ID。

由大小寫英文字母、數字、底線(_)、短劃線(-)、英文句號(.)組成,不超過128個字元,可以用於唯一標識您的業務資料。

urlStringhttp://www.aliyundoc.com/xxx.jpg

公網HTTP/HTTPS URL,且長度不超過2048個字元。

extrasJSONObject{"hitLibInfo":[{"context":"好看視頻","libCode":"2144002","libName":"預發測試廣告相似文本庫a"}]}額外調用參數。圖片審核情境下無需傳入該參數。
intervalInteger2截幀頻率,GIF圖、長圖檢測專用。
  • GIF圖可理解為圖片數組,interval參數指定了每隔多少張圖片抽取一幀進行檢測。只有該值存在時,才會對GIF進行截幀。
  • 長圖分為長豎圖和長橫圖。
    • 對長豎圖(高大於400像素(px),高寬比大於2.5),按照(高:寬)取整來計算總圖數,並進行切割。
    • 對長橫圖(寬大於400像素(px),寬高比大於2.5),按照(寬:高)取整來計算總圖數,並進行切割。

預設只會檢測GIF圖、長圖的第一幀,interval參數用於指示後台在檢測時可按照該間隔跳著檢測,以節省檢測成本。

說明 interval需要與maxFrames參數組合使用。例如,設定interval為2,maxFrames為10,在檢測GIF圖、長圖時,將每間隔1幀檢測一次,最多檢測10幀,計費則按照實際檢測的數量計算。
maxFramesInteger10

最大截幀數量,GIF圖、長圖檢測專用,預設值為1

interval*maxFrames小於GIF圖、長圖所包含的圖片幀數量時,截幀間隔自動修改為GIF圖、長圖所包含的圖片幀數/maxFrames,以提高整體檢測效果。

返回資料

名稱類型樣本值描述
codeInteger200

錯誤碼,和HTTP狀態代碼一致。

更多資訊,請參見公用錯誤碼

msgStringOK請求資訊的響應資訊。
dataIdStringcfd33235-71a4-468b-8137-a5ffe323****

檢測對象對應的資料ID。

說明

如果在檢測請求參數中傳入了dataId,則此處返回對應的dataId

taskIdStringimg4wlJcb7p4wH4lAP3111111-123456檢測任務的ID。
urlStringhttp://www.aliyundoc.com/xxx.jpg

公網HTTP/HTTPS URL,且長度不超過2048個字元。

storedUrlStringhttp://www.aliyundoc.com如果使用者開啟了證據轉存到OSS儲存空間的功能,並且檢測任務符合配置的規則,則會把圖片轉存到使用者的OSS儲存空間,並返回對應的HTTP URL。
extrasJSONObject{"hitLibInfo":[{"context":"好看視頻","libCode":"2144002","libName":"預發測試廣告相似文本庫a"}]}額外附加資訊。

圖文違規(ad)情境中,該參數可能返回以下內容。

hitLibInfo:如果圖片中的文字命中了自訂文本庫,則返回命中的文本庫資訊。格式為數組,具體結構描述請參見hitLibInfo

resultsJSONArray返回結果。調用成功時(code=200),返回結果中包含一個或多個元素。每個元素是個結構體,具體結構描述請參見result
表 3. result
名稱類型樣本值描述
sceneStringporn圖片檢測情境,和調用請求中的情境對應。取值:
  • porn:圖片智能鑒黃
  • terrorism:圖片暴恐涉政
  • ad:圖文違規
  • qrcode:圖片二維碼
  • live:圖片不良情境
  • logo:圖片logo
labelStringsexy檢測結果的分類。不同檢測情境的結果分類不同,具體如下:
  • 圖片智能鑒黃(porn)結果分類:
    • normal:正常
    • sexy:性感
    • porn:色情
  • 圖片暴恐涉政(terrorism)結果分類:
    • normal:正常
    • bloody:血腥
    • explosion:爆炸煙光
    • outfit:特殊裝束
    • logo:特殊標識
    • weapon:武器
    • politics:涉政
    • violence:打鬥
    • crowd:聚眾
    • parade:遊行
    • carcrash:車禍現場
    • flag:旗幟
    • location:地標
    • drug:涉毒
    • gamble:賭博
    • others:其他
  • 圖文違規(ad)結果分類:
    • normal:正常
    • ad:其他廣告
    • politics:文字含涉政內容
    • porn:文字含涉黃內容
    • abuse:文字含辱罵內容
    • terrorism:文字含暴恐內容
    • contraband:文字含違禁內容
    • spam:文字含其他垃圾內容
    • npx:牛皮癬廣告
    • qrcode:含二維碼
    • programCode:含小程式碼
  • 圖片二維碼(qrcode)結果分類:
    • normal:正常
    • qrcode:含二維碼
    • programCode:含小程式碼
  • 圖片不良情境(live)結果分類:
    • normal:正常
    • meaningless:圖片中無內容(例如黑屏、白屏)
    • PIP:畫中畫
    • smoking:吸煙
    • drivelive:車內直播
    • drug:涉毒
    • gamble:賭博
  • 圖片logo(logo)結果分類:
    • normal:正常
    • TV:含受管控的logo
    • trademark:含商標
sublabelStringporn

如果檢測情境包含智能鑒黃(porn)和暴恐涉政(terrorism),則該欄位可以返回檢測結果的細分類標籤。

該欄位預設不會返回。

suggestionStringblock建議您執行的後續操作。取值:
  • pass:結果正常,無需進行其餘操作。
  • review:結果不確定,需要進行人工審核。
  • block:結果違規,建議直接刪除或者限制公開。
rateFloat91.54

信賴度分數,取值範圍:0(表示信賴度最低)~100(表示信賴度最高)。

如果suggestionpass,則信賴度越高,表示內容正常的可能性越高;如果suggestionreviewblock,則信賴度越高,表示內容違規的可能性越高。

重要

建議您參考suggestionlabel(或者部分介面返回的sublabel)結果用於內容違規判定。

framesJSONArray如果待檢測圖片因為過長被截斷,該參數返回截斷後的每一幀映像的臨時訪問地址。具體結構描述請參見frame
hintWordsInfoJSONArray圖片中含有廣告或文字違規資訊時,返回圖片中廣告文字命中的風險關鍵詞資訊。具體結構描述,請參見hintWordsInfo
說明 只有圖文違規(ad)情境會返回該結果。
樣本值:
"hintWordsInfo":[{"context":"敏感詞"}]
qrcodeDataStringArray["http://www.aliyundoc.com/01ZZOliO"]圖片中含有二維碼時,返回圖片中所有二維碼包含的文本資訊。
說明 只有圖片二維碼(qrcode)情境會返回該結果。
qrcodeLocationsJSONArray返回圖片中識別到的二維碼的座標資訊,關於具體的結構描述,請參見qrcodeLocation
programCodeDataJSONArray圖片中含有小程式碼時,返回小程式碼的位置資訊。關於具體結構的描述,請參見programCodeData
說明 只有圖片二維碼(qrcode)情境會返回該結果,且必須已經開啟小程式碼識別。
logoDataJSONArray圖片中含有logo時,返回識別出來的logo資訊。關於具體結構的描述,請參見logoData
說明 只有圖片logo(logo)情境會返回該結果。
sfaceDataJSONArray圖片中包含暴恐識涉政內容時,返回識別出來的暴恐涉政資訊。關於具體結構的描述,請參見sfaceData
說明 只有圖片暴恐涉政(terrorism)情境會返回該結果。
ocrDataArray好看視頻識別到的圖片中的完整文字資訊。
說明 預設不返回。
表 4. frame
名稱類型樣本值描述
rateFloat89.85

信賴度分數,取值範圍:0~100,信賴度越高表示檢測結果的可信度越高。建議您不要在業務中使用該分數。

urlStringhttp://www.aliyundoc.com/xxx-0.jpg被截斷的圖片的臨時訪問URL,地址有效期間是5分鐘。
表 5. programCodeData
名稱類型樣本值描述
xFloat11.0以圖片左上方為座標原點,小程式碼地區左上方到y軸距離,單位:像素。
yFloat0.0以圖片左上方為座標原點,小程式碼地區左上方到x軸距離,單位:像素。
wFloat402.0小程式碼地區寬度,單位:像素。
hFloat413.0小程式碼地區高度,單位:像素。
表 6. logoData
名稱類型樣本值描述
typeStringTV識別出的logo類型,取值為TV(台標)。
nameStringxxx台識別出的logo名稱。
xFloat140以圖片左上方為座標原點,logo地區左上方到y軸距離,單位:像素。
yFloat68以圖片左上方為座標原點,logo地區左上方到x軸距離,單位:像素。
wFloat106logo地區寬度,單位:像素。
hFloat106logo地區高度,單位:像素。
表 7. sfaceData
名稱類型樣本值描述
xFloat49以圖片左上方為座標原點,人臉地區左上方到y軸距離,單位:像素。
yFloat39以圖片左上方為座標原點,人臉地區左上方到x軸距離,單位:像素。
wFloat97人臉地區寬度,單位:像素。
hFloat131人臉地區高度,單位:像素。
facesJSONArray[{"name":"命中人名","rate":91.54,"id":"AliFace_0123****"}]識別出的人臉資訊,具體結構如下:
  • name:字串類型,相似人物的名稱。
  • rate:浮點數類型,信賴度分數,取值範圍:0(表示信賴度最低)~100(表示信賴度最高)。信賴度越高表示人物識別結果的可信度越高。
  • id:字串類型,人臉ID。
表 8. hitLibInfo
名稱類型樣本值描述
contextString好看視頻文字命中的自訂常值內容。
libCodeString123456文字命中的自訂常值內容對應的庫code。
libNameStringabc文字命中的自訂常值內容對應的庫名稱。
表 9. hintWordsInfo
名稱類型樣本值描述
contextString好看視頻文字命中的風險關鍵詞內容。
表 10. qrcodeLocation
名稱類型樣本值描述
xFloat11.0以圖片左上方為座標原點,二維碼地區左上方到y軸距離,單位:像素。
yFloat0.0以圖片左上方為座標原點,二維碼地區左上方到x軸距離,單位:像素。
wFloat402.0二維碼地區寬度,單位:像素。
hFloat413.0二維碼地區高度,單位:像素。
qrcodeStringhttp://www.aliyundoc.com/0.ZZOliO識別到的二維碼連結。

樣本

請求樣本
http(s)://[Endpoint]/green/image/scan
&<公用請求參數>
{
    "scenes": [
        "porn",
        "terrorism",
        "ad",
        "live",
        "qrcode",
        "logo"
    ],
    "tasks": [
        {
            "dataId": "uuid-xxxx-xxxx-1234",
            "url": "http://www.aliyundoc.com/xxx.jpg"
        }
    ]
}
正常返回樣本
{
    "msg": "OK",
    "code": 200,
    "data": [
        {
            "msg": "OK",
            "code": 200,
            "dataId": "cfd33235-71a4-468b-8137-a5ffe323****",
            "extras": {

            },
            "results": [
                {
                    "rate": 99.63,
                    "suggestion": "block",
                    "label": "sexy",
                    "scene": "porn"
                },
                {
                    "label": "politics",
                    "rate": 91.54,
                    "scene": "terrorism",
                    "sfaceData": [
                        {
                            "faces": [
                                {
                                    "id": "AliFace_0123****",
                                    "name": "命中人名",
                                    "rate": 91.54
                                }
                            ],
                            "h": 131,
                            "w": 97,
                            "x": 49,
                            "y": 39
                        }
                    ],
                    "suggestion": "block"
                },
                {
                    "extras": {
                        "qrcodes": "http://www.aliyundoc.com/0.ZZOliO",
                        "npx": "72.01",
                        "hitCustomLibCode": "8012345000",
                        "hitCustomLibName": "自訂圖庫名",
                        "hitLibInfo": [
                            {
                                "context": "命中的文本",
                                "libCode": "123456",
                                "libName": "文本庫名"
                            }
                        ]
                    },
                    "programCodeData": [
                        {
                            "w": 402.0,
                            "h": 413.0,
                            "x": 11.0,
                            "y": 0.0
                        }
                    ],
                    "frames": [
                        {
                            "rate": 89.85,
                            "url": "http://www.aliyundoc.com/xxx-0.jpg"
                        },
                        {
                            "rate": 68.06,
                            "url": "http://www.aliyundoc.com/xxx-1.jpg"
                        }
                    ],
                    "rate": 99.91,
                    "suggestion": "block",
                    "label": "ad",
                    "scene": "ad"
                },
                {
                    "rate": 99.91,
                    "suggestion": "block",
                    "label": "drug",
                    "scene": "live"
                },
                {
                    "qrcodeData": [
                        "http://www.aliyundoc.com/01ZZOliO"
                    ],
                    "rate": 99.91,
                    "suggestion": "review",
                    "label": "qrcode",
                    "scene": "qrcode"
                },
                {
                    "logoData": [
                        {
                            "name": "xxx台",
                            "type": "TV",
                            "x": 140,
                            "y": 68,
                            "w": 106,
                            "h": 106
                        }
                    ],
                    "rate": 99.9,
                    "suggestion": "block",
                    "label": "TV",
                    "scene": "logo"
                }
            ],
            "taskId": "img4wlJcb7p4wH4lAP3111111-123456",
            "url": "http://www.aliyundoc.com/xxx.jpg"
        }
    ],
    "requestId": "69B41AE8-1234-1234-1234-12D395695D2D"
}