本文介绍内容审核(imageaudit)类目下的图片内容安全ScanImage的语法及示例。
功能描述
图片内容安全结合行为、内容,采用多维度、多模型、多检测手段,识别图片中的敏感信息,规避图片中存在敏感人物照片、敏感事件等内容风险。
支持检测的场景包括:图片智能鉴黄、图片敏感内容识别、图片风险人物识别、图片垃圾广告识别、图片不良场景识别、图片Logo识别。
在提交检测任务时,您需要指定scenes参数,并且支持组合使用,即可对同一张图片的多种风险进行检测。
- 在同时检测多个scene的情况下,将按照每个场景的检测图片数量×每个场景的单价进行累加计费。而在检测返回结果中,则包含了您指定的scenes对应的label。您可以根据参数的返回值判断风险的具体类型。然后对图片进行处理。
- 您可以进入在线咨询获取在线人工帮助。
- 阿里云视觉智能开放平台视觉AI能力API接入、接口使用或问题咨询等,请通过钉钉群(23109592)加入阿里云视觉智能开放平台咨询群联系我们。
在图片审核中,scene与label的对应关系如下:
| scene | 描述 | label | 
| porn | 图片智能鉴黄:适用于图片涉及色情、低俗内容检测。 | normal(正常图片)、sexy(性感图片)、porn(色情图片) | 
| terrorism | 图片敏感内容识别:适用于图片涉及敏感事件、暴力、武器、恐怖、血腥、爆炸等内容识别。 图片风险人物识别:适用于图片涉及敏感人物、明星的识别。 | normal(正常图片)、bloody(血腥)、explosion(爆炸烟光)、outfit(特殊装束)、logo(特殊标识)、weapon(武器)、politics(敏感内容)、violence(打斗)、crowd(聚众)、parade(游行)、carcrash(车祸现场)、flag(旗帜)、location(地标)、drug(涉毒)、gamble(赌博)、others(其他) | 
| ad | 图片垃圾广告识别:适用于图片中含有广告信息的识别,特別是针对于类似牛皮癣的文字广告有较好的识别效果。 | normal(正常图片)、politics(文字含敏感内容)、porn(文字含涉黄内容)、abuse(文字含辱骂内容)、terrorism(文字含涉恐内容)、contraband(文字含违禁内容)、spam(文字含其他垃圾内容)、npx(牛皮癣广告)、qrcode(包含二维码)、programCode(包含小程序码)、ad(其他广告) | 
| live | 图片不良场景识别:适用于图片中涉及毒品、赌博、画中画等内容的识别。 | normal(正常图片)、meaningless(无意义图片)、PIP(画中画)、smoking(吸烟)、drivelive(车内直播)、drug(涉毒)、gamble(赌博) | 
| logo | 图片Logo识别:适用于图片中含有台标、水印、商标等内容的检测。 | normal(正常图片)、TV(带有管控logo的图片)、trademark(商标) | 
接入指引
1. 注册阿里云账号:打开阿里云官网,在阿里云官网右上角,单击立即注册,按照操作提示完成账号注册。
2. 开通能力:请确保您已开通内容审核服务,若未开通服务请立即开通。
3. 创建AccessKey:请确保您已创建AccessKey,如果您使用的是子账号AccessKey,您需要给子账号赋予AliyunVIAPIFullAccess权限,具体操作,请参见RAM授权。
4. 在线调试(可选):您可以通过OpenAPI Explorer在线调试能力,查看完整的调用示例代码及SDK依赖信息,也可以下载完整的工程。
5. 开发接入步骤:
- 在SDK总览中选择您要接入使用的SDK语言。
- 在对应语言的SDK文档中找到AI类目为内容审核(imageaudit)的SDK包进行安装。
- 参考文档中提供的示例代码进行适当修改后调用。
6. 示例代码:该能力常用语言的示例代码,请参见图片内容安全示例代码。
7. 客户端直接调用:该能力常用的客户端调用方式包括以下几种。
输入限制
- 图像格式:PNG、JPG、JPEG、BMP、GIF、WEBP。
- 图像大小:不超过9 MB。
- 图像分辨率:建议大于256×256像素,像素过低可能会影响识别效果。超长图的分辨率长或宽不能超过30000像素。GIF图总像素(长x宽)不超过4194304像素,超过该总像素值会报InvalidFile.Download(文件无法下载)错误。
- URL地址中不能包含中文字符。
检测说明
- 最长检测时间是6秒,如果在该时间范围内没有完成检测,系统会返回超时错误码。
- 图片下载时间限制为3秒,如果下载时间超过3秒,则会返回下载超时。
- 图片检测接口响应时间依赖图片的下载时间。请确保被检测图片所在的存储服务稳定可靠,建议您使用阿里云OSS存储或者CDN缓存。
计费说明
关于图片内容安全的计费方式及报价,请参见计费介绍。
| 能力 | 体验中心 | 
| 图片智能鉴黄 | |
| 图片敏感内容识别 | |
| 图片Logo识别 | |
| 图片垃圾广告识别 | |
| 图片不良场景识别 | |
| 图片风险人物识别 | 
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
| 名称 | 类型 | 是否必选 | 示例值 | 描述 | 
| Action | String | 是 | ScanImage | 系统规定参数。取值:ScanImage。 | 
| Task.N.ImageTimeMillisecond | Long | 否 | 1 | 图片创建或编辑时间,单位为毫秒。 | 
| Task.N.Interval | Integer | 否 | 1 | 截帧频率,GIF图或者长图检测专用。GIF图可理解为图片数组,每interval张图片抽取一张进行检测。只有该值存在时,才会对GIF进行截帧。长图同时支持长竖图和长横图。 
 说明 默认只会检测GIF图或长图的第一帧,interval参数用于指示后台在检测时可按照该间隔跳着检测,以节省检测成本。需要与maxFrames参数组合使用。例如,设置interval为2,maxFrames为100,检测长图或GIF图时,将每间隔1帧检测一次,最多检测100帧,计费则按照实际检测的数量计算。 | 
| Task.N.ImageURL | String | 是 | http://xxx.xxx.com/xxx.jpg | 待检测图像的URL地址。支持HTTP和HTTPS协议。推荐使用上海地域的OSS链接,对于文件在本地或者非上海地域OSS链接的情况,请参见文件URL处理。 说明 如果使用上海地域的OSS链接,系统会自动将OSS链接地址转成内网地址然后再下载文件,所以调用该接口并不会产生OSS流量计费。 | 
| Task.N.MaxFrames | Integer | 否 | 1 | 最大截帧数量,GIF图或长图检测专用,默认值为1。 当interval*maxFrames小于该图片所包含的图片数量时,截帧间隔会自动修改为 | 
| Task.N.DataId | String | 否 | uuid-xxxx-xxxx-1234 | 数据ID。需要保证在一次请求中所有的ID不重复。 | 
| Scene.N | String | 否 | porn | 指定图片检测的应用场景,可选值包括: 
 说明 支持多场景(scenes)一起检测。例如 scenes=[“porn”, “terrorism”],即对一张图片同时进行鉴黄和涉恐识别,此时也会按照两个场景计费。 | 
返回数据
| 名称 | 类型 | 示例值 | 描述 | 
| RequestId | String | 69B41AE8-1234-1234-1234-12D395695D2D | 请求ID。 | 
| Data | Object | 返回的结果数据内容。 | |
| Results | Array of Result | 图片检测结果。 | |
| ImageURL | String | http://xxx.xxx.xxx/xxx.jpg | 图像URL地址。 | 
| DataId | String | uuid-xxxx-xxx-1234 | 数据ID。 | 
| SubResults | Array of SubResult | 单张图片的检测结果。 | |
| SfaceDataList | Array of SfaceData | 图片中包含暴恐敏感内容时,返回识别出来的暴恐敏感信息。 说明 仅适用于terrorism和sface场景。关于该参数在sface场景中的具体内容,请参见敏感人脸检测。 | |
| Width | Float | 97 | 人脸区域宽度。 | 
| Faces | Array of Face | 识别出的人脸信息。 | |
| Name | String | abc | 相似人物的名称。 | 
| Id | String | AliFace_0001234 | 人脸ID。 | 
| Rate | Float | 91.54 | 相似概率。 | 
| Height | Float | 131 | 人脸区域高度。 | 
| Y | Float | 39 | 以图片左上角为坐标原点,人脸区域左上角到x轴距离。 | 
| X | Float | 49 | 以图片左上角为坐标原点,人脸区域左上角到y轴距离。 | 
| HintWordsInfoList | Array of HintWordsInfo | 图片中含有广告时,返回图片中广告文字命中的风险关键词信息。格式为数组。 说明 仅适用于ad场景。示例值: ”hintWordsInfo”:[{“context”:”敏感词”}]。 | |
| Context | String | abc | 图片中文字命中的风险关键词内容。 | 
| Suggestion | String | block | 建议您执行的操作。 
 | 
| ProgramCodeDataList | Array of ProgramCodeData | 图片中含有小程序码时,返回小程序码的位置信息。 说明 仅适用于qrcode场景,且已通过钉钉群(23109592)联系我们开通了小程序码识别。 | |
| Width | Float | 402.0 | 小程序码区域宽度。 | 
| Height | Float | 413.0 | 小程序码区域高度。 | 
| Y | Float | 0.0 | 以图片左上角为坐标原点,小程序码区域左上角到x轴距离。 | 
| X | Float | 11.0 | 以图片左上角为坐标原点,小程序码区域左上角到y轴距离。 | 
| OCRDataList | Array of String | abc | 识别到的图片中的完整文字信息。 | 
| Frames | Array of Frame | 如果待检测图片因为过长被截断,该参数返回截断后的每一帧图像的临时访问地址供您参考。 | |
| URL | String | http://xxx.xxx.com/xxx-0.jpg | 被截断的图片的临时访问URL,地址有效期是5分钟。 | 
| Rate | Float | 89.85 | 结果为该分类的概率,取值范围为0~100。值越高,表示越有可能属于该分类。 | 
| LogoDataList | Array of LogoData | 图片中含有Logo时,返回识别出来的Logo信息。 说明 仅适用于Logo场景。 | |
| Type | String | TV | 识别出的logo类型,取值为TV(台标)。 | 
| Width | Float | 106 | Logo区域宽度。 | 
| Height | Float | 106 | Logo区域高度。 | 
| Y | Float | 68 | 以图片左上角为坐标原点,Logo区域左上角到x轴距离。 | 
| Name | String | abc | 识别出的Logo名称。 | 
| X | Float | 140 | 以图片左上角为坐标原点,Logo区域左上角到y轴距离。 | 
| Label | String | normal | 检测结果的分类,与具体的scene对应。取值范围参见scene和label对应关系说明。 | 
| Scene | String | ad | 图片检测场景,和调用请求中的场景(scenes)对应。 | 
| Rate | Float | 99.91 | 结果为该分类的概率,取值范围为0~100。值越高,表示越有可能属于该分类。 | 
| TaskId | String | img4wlJcb7p4wH4lAP3111111-123456 | 任务ID。 | 
SDK参考
阿里云视觉AI内容审核类目下的图片内容安全能力推荐使用SDK调用,支持多种编程语言,调用时请选择AI类目为内容审核(imageaudit)的SDK包,文件参数通过SDK调用可支持本地文件及任意URL,具体可参见SDK总览。
示例代码
该能力常用语言的示例代码,请参见图片内容安全示例代码。
示例
请求示例
http(s)://imageaudit.cn-shanghai.aliyuncs.com/?Action=ScanImage      //更多关于访问域名(Endpoint)信息,请参见:https://help.aliyun.com/document_detail/143103.html
&Task=[{"ImageTimeMillisecond":1,"Interval":1,"ImageURL":"http://xxx.xxx.com/xxx.jpg","MaxFrames":1,"DataId":"uuid-xxxx-xxxx-1234"}]
&Scene=["porn"]
&公共请求参数正常返回示例
XML格式
HTTP/1.1 200 OK
Content-Type:application/xml
<Data>
    <Results>
        <Code>200</Code>
        <Message>OK</Message>
        <DataId>uuid-xxxx-xxx-1234</DataId>
        <SubResults>
            <Rate>99.63</Rate>
            <Suggestion>block</Suggestion>
            <Label>sexy</Label>
            <Scene>porn</Scene>
        </SubResults>
        <SubResults>
            <Label>politics</Label>
            <Rate>91.54</Rate>
            <Scene>terrorism</Scene>
            <SfaceDataList>
                <Faces>
                    <Id>AliFace_0001234</Id>
                    <Name>命中人名</Name>
                    <Rate>91.54</Rate>
                </Faces>
                <Height>131</Height>
                <Width>97</Width>
                <X>49</X>
                <y>39</y>
            </SfaceDataList>
            <Suggestion>block</Suggestion>
        </SubResults>
        <SubResults>
            <ProgramCodeDataList>
                <Width>402</Width>
                <Height>413</Height>
                <X>11</X>
                <y>0</y>
            </ProgramCodeDataList>
            <Frames>
                <Rate>89.85</Rate>
                <URL>http://xxx.xxx.com/xxx-0.jpg</URL>
            </Frames>
            <Frames>
                <Rate>68.06</Rate>
                <URL>http://xxx.xxx.com/xxx-1.jpg</URL>
            </Frames>
            <Rate>99.91</Rate>
            <Suggestion>block</Suggestion>
            <Label>ad</Label>
            <Scene>ad</Scene>
        </SubResults>
        <SubResults>
            <Rate>99.91</Rate>
            <Suggestion>block</Suggestion>
            <Label>drug</Label>
            <Scene>live</Scene>
        </SubResults>
        <SubResults>
            <LogoDataList>
                <Name>xxx台</Name>
                <Type>TV</Type>
                <X>140</X>
                <y>68</y>
                <Width>106</Width>
                <Height>106</Height>
            </LogoDataList>
            <Rate>99.9</Rate>
            <Suggestion>block</Suggestion>
            <Label>TV</Label>
            <Scene>logo</Scene>
        </SubResults>
        <TaskId>img4wlJcb7p4wH4lAP3111111-123456</TaskId>
        <ImageURL>http://xxx.xxx.xxx/xxx.jpg</ImageURL>
    </Results>
</Data>
<RequestId>69B41AE8-1234-1234-1234-12D395695D2D</RequestId>JSON格式
HTTP/1.1 200 OK
Content-Type:application/json
{
  "Data" : {
    "Results" : [ {
      "Code" : 200,
      "Message" : "OK",
      "DataId" : "uuid-xxxx-xxx-1234",
      "SubResults" : [ {
        "Rate" : 99.63,
        "Suggestion" : "block",
        "Label" : "sexy",
        "Scene" : "porn"
      }, {
        "Label" : "politics",
        "Rate" : 91.54,
        "Scene" : "terrorism",
        "SfaceDataList" : [ {
          "Faces" : [ {
            "Id" : "AliFace_0001234",
            "Name" : "命中人名",
            "Rate" : 91.54
          } ],
          "Height" : 131,
          "Width" : 97,
          "X" : 49,
          "y" : 39
        } ],
        "Suggestion" : "block"
      }, {
        "ProgramCodeDataList" : [ {
          "Width" : 402.0,
          "Height" : 413.0,
          "X" : 11.0,
          "y" : 0.0
        } ],
        "Frames" : [ {
          "Rate" : 89.85,
          "URL" : "http://xxx.xxx.com/xxx-0.jpg"
        }, {
          "Rate" : 68.06,
          "URL" : "http://xxx.xxx.com/xxx-1.jpg"
        } ],
        "Rate" : 99.91,
        "Suggestion" : "block",
        "Label" : "ad",
        "Scene" : "ad"
      }, {
        "Rate" : 99.91,
        "Suggestion" : "block",
        "Label" : "drug",
        "Scene" : "live"
      }, {
        "LogoDataList" : [ {
          "Name" : "xxx台",
          "Type" : "TV",
          "X" : 140,
          "y" : 68,
          "Width" : 106,
          "Height" : 106
        } ],
        "Rate" : 99.9,
        "Suggestion" : "block",
        "Label" : "TV",
        "Scene" : "logo"
      } ],
      "TaskId" : "img4wlJcb7p4wH4lAP3111111-123456",
      "ImageURL" : "http://xxx.xxx.xxx/xxx.jpg"
    } ]
  },
  "RequestId" : "69B41AE8-1234-1234-1234-12D395695D2D"
}错误码
关于图片内容安全的错误码,详情请参见常见错误码。
开源模型体验
更多开源免费模型体验及下载,详见魔搭社区:内容审核模型-鉴黄。
安全声明
- 请确保上传的图片或文件来源符合相应的法律法规。
- 通过体验调试上传的临时文件有效期为1小时,在24小时后会被系统自动清理删除。