内容审核

  • 图片内容审核

    最近更新时间:2019-01-23 13:04:25

    本文介绍了同步调用图片内容审核v3/image/censor的接口,帮助您正确使用此 API 进行图片内容审核。图片内容审核 API 支持以下两种请求方式:

    • 采用<fop>的方式,针对七牛云华东、华北和华南 bucket 中的图片 URL 通过问号传参的方式调用,例如url?<fop>
    • 基于API URL发起HTTP/HTTPS POST请求。

    功能描述

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

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

    关于审核图片的规格

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

    请求说明

    1. 七牛云 bucket 的图片<fop>的请求方式

    注意

    • 此方式只支持七牛云存储华东华北华南中的图片
    • 请求中不能包含任何空格与换行符
    • 未指定pulp, terror, politician参数时,默认为同时进行图片鉴黄,鉴暴恐和敏感人物识别
    <DownloadURI>?image-censor/v3/pulp
                                 /terror
                                 /politician
    
    参数 必填 说明
    DownloadURI Y 图片外链 url
    image-censor/v3 Y 图片内容审核命令,image-censor是内容审核命令,v3是命令版本号
    pulp N 表示图片需要进行鉴黄审核,可以与terror,politician同时设置
    terror N 表示图片需要进行鉴暴恐审核,可以与pulp,politician同时设置
    politician N 表示图片需要进行敏感人物识别,可以与pulp,terror同时设置

    请求示例

    第一步 获取图片 url

    获取到您存在七牛 bucket 里面的图片的 url。 例如:https://mars-assets.qnssl.com/resource/gogopher.jpg

    第二步 调用服务

    在您的图片的 url 后面加上 ?image-censor/v3 例如:https://mars-assets.qnssl.com/resource/gogopher.jpg?image-censor/v3

    例如:

    • 进行鉴黄,鉴暴恐和敏感人物识别:
    curl https://mars-assets.qnssl.com/resource/gogopher.jpg?image-censor/v3
    
    • 只进行鉴黄
    curl https://mars-assets.qnssl.com/resource/gogopher.jpg?image-censor/v3/pulp
    
    • 进行鉴黄和鉴暴恐
    curl https://mars-assets.qnssl.com/resource/gogopher.jpg?image-censor/v3/pulp/terror
    

    2. 基于API URL发起HTTP/HTTPS POST请求。

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

    请求方式: POST

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

    请求Header

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

    请求参数

    字段 类型 是否必选 说明
    data.uri string Y 网络图片URL地址,目前支持http和https
    params.scenes array Y 审核类型,必填字段,没有默认值,可选项:pulp/terror/politician。

    返回报文

    返回参数说明

    字段 取值 说明
    code int 处理状态:200 调用成功
    message string 与code对应的状态描述信息
    result.suggestion string 图片的审核结果管控建议说明
    根据内容审核中各种审核类型的返回结果,系统会将审核结果转换成对应的管控建议,取值包括:[“block”,”review”,”pass”]。
    suggestion=block:表示系统确认审核内容违规,建议您将其删除。
    suggestion=review:表示系统无法确认审核内容是否违规,建议您进行人工复核。
    suggestion=pass:表示系统确认审核内容正常,建议您忽略该文件。
    result.scenes.<type> json 结构体 审核类型,目前支持"pulp", "terror", "politician"
    result.scenes.<type>.suggestion string 该审核类型的结果管控建议,参见result.suggestion
    result.scenes.<type>.details[] array 该审核类型的详细信息数组
    result.scenes.<type>.details[].suggestion string 详细的结果管控建议,参见result.suggestion
    result.scenes.<type>.details[].label string 该审核类型返回的标签,具体请参见上文中审核类型scenes与相应的label/group
    result.scenes.<type>.details[].score float 该审核类型结果置信度
    result.scenes.politician.details[].group string 敏感人物的分组,具体请参见上文中审核类型scenes与相应的label/group
    result.scenes.politician.details[].sample.uri string 该敏感人物的参考图链接
    result.scenes.politician.details[].sample.pts array 参考图中敏感人物的人脸方框坐标
    result.scenes.politician.details[].detections[].pts array 图片中检测到的敏感人物人方框坐标
    result.scenes.politician.details[].detections[].score string 图片中检测到的人脸匹配为敏感人物的置信度
    result.scenes.terror.details[].detections[].pts array 图片鉴暴恐审核,当审核结果label为以下五种时,该字段用于返回检测到的物体方框坐标:
    “illegal_flag:违规旗帜类”
    ”guns:枪”
    ”knives:刀”
    ”anime_knives:二次元刀”
    “anime_guns:二次元枪”
    result.scenes.terror.details[].detections[].score string 图片中检测到的物体置信度

    请求示例

    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

    返回示例

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

    代码示例

    注意

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

    图片内容审核(ImageReview.py)

    # -*- coding: utf-8 -*-
    from qiniu import Auth, QiniuMacAuth
    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'],
        'pulp': ['pulp'],
        'terror': ['terror'],
        'politician': ['politician'],
    }
    
    body["params"]["scenes"] = scenes[sys.argv[1]]
    body["data"]["uri"] = sys.argv[2]
    
    token = "Qiniu " + auth.token_of_request("POST", "ai.qiniuapi.com", url, "", content_type='application/json', body = json.dumps(body))
    r = requests.post(url, data=json.dumps(body), headers={'Authorization': token, 'Content-Type': 'application/json'})
    print json.dumps(json.loads(r.text), indent=4, ensure_ascii=False)
    

    调用示例

    python ImageReview.py censor https://mars-assets.qnssl.com/resource/gogopher.jpg
    {
        "message": "OK",
        "code": 200,
        "result": {
            "scenes": {
                "terror": {
                    "details": [
                        {
                            "score": 0.99914,
                            "suggestion": "pass",
                            "label": "normal"
                        }
                    ],
                    "suggestion": "pass"
                },
                "politician": {
                    "suggestion": "pass"
                },
                "pulp": {
                    "details": [
                        {
                            "score": 0.99989,
                            "suggestion": "pass",
                            "label": "normal"
                        }
                    ],
                    "suggestion": "pass"
                }
            },
            "suggestion": "pass"
        }
    }
    

    服务价格

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

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