内容审核

  • 内容审核 > API 文档 > API调用图片审核

    API调用图片审核

    最近更新时间: 2024-10-02 23:22:20

    本文介绍了同步调用图片内容审核/v3/image/censor的接口,帮助您正确使用此API进行图片内容审核。图片内容审核API支持基于API URL发起HTTP/HTTPS POST请求。

    使用限制

    • 图片大小不超过10M
    • 图片尺寸大于32x32,小于5000x5000
    • RGB通道数为3和3以内的图片,不能包含 alpha 通道
    • 图片格式支持 png、jpg、jpeg、bmp、webp、tif 和 gif
    • 接口响应时间依赖图片的下载时间。请保证被审核图片所在的存储服务稳定可靠,建议您使用七牛云存储或者CDN缓存等。

    功能描述

    图片内容审核 API 主要用于检测或识别图片中的不良信息,并给出审核结果管控建议。支持的审核类型包括:图片鉴黄、图片鉴暴恐、图片敏感人物识别、图片广告识别。
    审核类型scenes与相应的label/group
    在提交内容审核任务时,您需要指定审核类型scenes;而在返回结果中,则包含了您指定的类型对应的label结果分类参数。

    审核类型 说明 scenes label/group
    图片鉴黄 识别图片中的色情、性感内容。 pulp normal:正常图片,无色情内容
    sexy:性感图片
    pulp:色情图片
    图片鉴暴恐 识别图片中的暴恐内容。 terror bloodiness:血腥
    self_burning:自焚
    beheaded:斩首类
    march_crowed:人群聚集类
    fight_police:警民冲突
    fight_person:民众肢体接触
    illegal_flag:违规旗帜类
    guns:枪
    knives:刀
    anime_bloodiness:动漫血腥类
    anime_knives:二次元刀
    anime_guns:二次元枪
    politics:涉政
    violence:暴恐
    normal:正常
    图片敏感人物识别 识别图片中的敏感人物人脸。 politician 图片敏感人物识别的label返回的是敏感人物的姓名;
    group返回的是该敏感人物所属的分组,目前支持的分组有:
    domestic_statesman:国内政要
    foreign_statesman:国外政要
    chinese_martyr:革命英烈
    affairs_official_gov:落马官员(政府)
    affairs_official_ent:落马官员(企事业)
    terrorist:恐怖分子
    affairs_celebrity:劣迹艺人
    politics:涉政人物
    图片广告识别 识别图片中的广告内容。 ads 图片广告识别的label有:
    summary_ads:文字广告
    qr_code:二维码
    bar_code:一维码
    ad: 其它广告
    normal: 正常
    图片不良场景识别 识别图片中的不良场景内容。 behavior 图片不良场景识别的label有:
    behavior:不良场景
    normal: 正常

    请求参数

    对公网可访问的图片,通过图片URL发起POST请求的方式,进行高性能的图片鉴黄、图片鉴暴恐、图片敏感人物识别和图片广告识别。目前,支持提交单张图片进行同步审核。此方法同时支持对七牛云bucket中的单张图片进行同步审核。

    请求方式 POST

    请求接口 http://ai.qiniuapi.com/v3/image/censor

    请求Header

    字段 取值
    Content-Type application/json
    Authorization Qiniu <AccessKey>:<Sign>
    注意: 用户请根据AccessKey和SecretKey后生成鉴权,以便进行身份验证。Sign的取值以及Authorization签名方法请参考七牛鉴权

    请求参数

    字段 类型 是否必选 说明
    data.uri string Y 图片资源。支持两种资源表达方式:
    1. 网络图片URL地址,支持http、https和qiniu协议的资源;
    2. 图片 base64 编码字符串,需在编码字符串前加上前缀 data:application/octet-stream;base64, 例:data:application/octet-stream;base64,xxx
    params.scenes string array Y 审核类型,必填字段,没有默认值,可选项:pulp/terror/politician/ads

    返回参数

    返回参数

    字段 取值 说明
    code int 处理状态:200 调用成功
    message string 与code对应的状态描述信息
    result.suggestion string 图片的审核结果管控建议说明
    根据内容审核中各种审核类型的返回结果,系统会将审核结果转换成对应的管控建议,取值包括:block/review/pass。
    suggestion=block:表示系统确认审核内容违规,建议您将其删除。
    suggestion=review:表示系统无法确认审核内容是否违规,建议您进行人工复核。
    suggestion=pass:表示系统确认审核内容正常,建议您忽略该文件。
    result.scenes.<scene> json 结构体 审核类型,目前支持:pulp/terror/politician/ads/behavior
    result.scenes.<scene>.suggestion string 该审核类型的结果管控建议,参见result.suggestion
    result.scenes.<scene>.details[] object array 该审核类型的详细信息数组
    result.scenes.<scene>.details[].suggestion string 详细的结果管控建议,参见result.suggestion
    result.scenes.<scene>.details[].label string 该审核类型返回的标签,具体请参见上文中审核类型scenes与相应的label/group
    result.scenes.<scene>.details[].score float 该审核类型结果置信度

    敏感人物识别返回参数

    字段 取值 说明
    result.scenes.politician.details[].group string 敏感人物的分组,具体请参见上文中审核类型scenes与相应的label/group
    result.scenes.politician.details[].detections[].pts array 图片中检测到的敏感人物人方框坐标,形式为[4][2]int,分别表示方框的[左上,右上,右下,左下]
    result.scenes.politician.details[].detections[].score float 图片中检测到的人脸匹配为敏感人物的置信度
    result.scenes.politician.details[].sample.uri string 该敏感人物的参考图链接
    result.scenes.politician.details[].sample.pts array 参考图中敏感人物的人脸方框坐标

    鉴暴恐返回参数

    字段 取值 说明
    result.scenes.terror.details[].detections[].pts array 形式为[4][2]int,分别表示方框的[左上,右上,右下,左下]。图片鉴暴恐审核,当审核结果label为以下五种时,该字段用于返回检测到的物体方框坐标:
    “illegal_flag:违规旗帜类”
    ”guns:枪”
    ”knives:刀”
    ”anime_knives:二次元刀”
    “anime_guns:二次元枪”
    result.scenes.terror.details[].detections[].score float 图片中检测到的物体置信度

    广告识别返回参数

    字段 取值 说明
    result.scenes.ads.details[].detections[].pts array 形式为[4][2]int,分别表示方框的[左上,右上,右下,左下]。图片广告审核,该字段用于返回检测到的物体或敏感词的方框坐标
    result.scenes.ads.details[].detections[].score float 图片中检测到的物体置信度
    result.scenes.ads.details[].detections[].comments array 图片广告审核,当审核结果label为"summary_ads”(文字广告),该字段用于返回识别到的敏感词

    示例

    请求示例

    POST /v3/image/censor HTTP/1.1
    Host: ai.qiniuapi.com
    Content-Type: application/json
    Authorization: Qiniu YnxrxOSvGotRZpqkZnMzl_euuoqRzOKUd6zwbRju:r6a-o2UpBg6A4puIMnkCExH8lE8=
    {
        "data": {
            "uri": "https://mars-assets.qnssl.com/resource/gogopher.jpg"
        },
        "params": {
            "scenes": [
                "pulp",
                "terror",
                "politician"
            ]
        }
    }
    

    注意: 请把 Authorization 换成您的账号七牛鉴权 QiniuToken

    返回示例

    {
        "message": "OK",
        "code": 200,
        "result": {
            "scenes": {
                "terror": {
                    "details": [
                        {
                            "score": 0.99985,
                            "suggestion": "pass",
                            "label": "normal"
                        }
                    ],
                    "suggestion": "pass"
                },
                "politician": {
                    "suggestion": "pass"
                },
                "pulp": {
                    "details": [
                        {
                            "score": 0.65191,
                            "suggestion": "pass",
                            "label": "normal"
                        }
                    ],
                    "suggestion": "pass"
                }
            },
            "suggestion": "pass"
        }
    }
    

    代码示例

    注意

    • 运行方法:python ImageReview.py <censor | pulp | terror | politician | ads> <uri>
    • 代码中需填入账号的 aksk

    图片内容审核(ImageReview.py)

    # -*- coding: utf-8 -*-
    from qiniu import Auth, QiniuMacAuth, http
    import requests, json, sys
    
    url = 'http://ai.qiniuapi.com/v3/image/censor'
    
    access_key = '<ak>'
    secret_key = '<sk>'
    
    auth = QiniuMacAuth(access_key, secret_key)
    
    body = {
        "data": {
            "uri": "<uri>"
        },
        "params": {
            "scenes": []
        }
    }
    
    scenes = {
        'censor': ['pulp', 'terror', 'politician', 'ads'],
        'pulp': ['pulp'],
        'terror': ['terror'],
        'politician': ['politician'],
    		'ads': ['ads']
    }
    
    body["params"]["scenes"] = scenes[sys.argv[1]]
    body["data"]["uri"] = sys.argv[2]
    
    header = {"Content-Type": "application/json"}
    ret, res = http._post_with_qiniu_mac_and_headers(url,json.dumps(body), auth,header)
    
    headers = {"code": res.status_code, "reqid": res.req_id, "xlog": res.x_log}
    
    print(json.dumps(headers, indent=4, ensure_ascii=False))
    print(json.dumps(ret, indent=4, ensure_ascii=False))
    

    注意

    • 调用命令:python ImageReview.py censor https://mars-assets.qnssl.com/resource/gogopher.jpg
    • 第一段是响应头headers,请在反馈问题时提供reqid字段
    • 第二段是响应body,即审核结果,字段解释参考返回报文
    {
        "reqid": "IisAABW7lT5croUV, IisAABW7lT5croUV",
        "code": 200,
        "xlog": "COMMON-GATE:255;AI:256"
    }
    {
        "message": "OK",
        "code": 200,
        "result": {
            "scenes": {
                "terror": {
                    "details": [
                        {
                            "score": 0.99985,
                            "suggestion": "pass",
                            "label": "normal"
                        }
                    ],
                    "suggestion": "pass"
                },
                "politician": {
                    "suggestion": "pass"
                },
                "pulp": {
                    "details": [
                        {
                            "score": 0.65191,
                            "suggestion": "pass",
                            "label": "normal"
                        }
                    ],
                    "suggestion": "pass"
                }
            },
            "suggestion": "pass"
        }
    }
    

    服务价格

    内容审核 API 仅支持机器智能审核,服务价格请参考机器智能审核阶梯计费方式

    以上内容是否对您有帮助?
  • Qvm free helper
    Close