本文档介绍图片内容安全ScanImage的语法及示例。

功能描述

ScanImage可以检测图片中的违规内容,实时返回检测结果。

支持检测的场景包括:图片智能鉴黄、图片涉恐涉政识别、图片风险人物识别、图片垃圾广告识别、图片不良场景识别、图片logo识别。

在提交检测任务时,您需要指定scenes参数,并且支持组合使用,即可对同一张图片的多种风险进行检测。

说明 在同时检测多个scene的情况下,将按照每个场景的检测图片数量×每个场景的单价进行累加计费。

而在检测返回结果中,则包含了您指定的scenes对应的label。您可以根据参数的返回值判断风险的具体类型。然后对图片进行处理。

在图片审核中,scene与label的对应关系如下:

scene

描述

label

porn

图片智能鉴黄:适用于图片涉及色情、低俗内容检测。

normal(正常图片)、sexy(性感图片)、porn(色情图片)

terrorism

图片涉恐涉政识别:适用于图片涉及政治敏感、暴力、武器、恐怖、血腥、爆炸等内容识别。

图片风险人物识别:适用于图片涉及敏感政治人物、明星的识别。

normal(正常图片)、bloody(血腥)、explosion(爆炸烟光)、outfit(特殊装束)、logo(特殊标识)、weapon(武器)、politics(涉政)、violence(打斗)、crowd(聚众)、parade(游行)、carcrash(车祸现场)、flag(旗帜)、location(地标)、others(其他)

ad

图片垃圾广告识别:适用于图片中含有广告信息的识别,特別是针对于类似牛皮癣的文字广告有较好的识别效果。

normal(正常图片)、politics(文字含涉政内容)、porn(文字含涉黄内容)、abuse(文字含辱骂内容)、terrorism(文字含涉恐内容)、contraband(文字含违禁内容)、spam(文字含其他垃圾内容)、npx(牛皮藓广告)、qrcode(包含二维码)、programCode(包含小程序码)、ad(其他广告)

live

图片不良场景识别:适用于图片中涉及毒品、赌博、画中画等内容的识别。

normal(正常图片)、meaningless(无意义图片)、PIP(画中画)、smoking(吸烟)、drivelive(车内直播)

logo

图片logo识别:适用于图片中含有台标、水印、商标等内容的检测。

normal(正常图片)、TV(带有管控logo的图片)、trademark(商标)

前提条件

请确保您已开通内容安全服务,详情请参见服务开通

输入限制

  • 图片格式:PNG、JPG、JPEG、BMP、GIF、WEBP。
  • 图片大小:图片大小不超过10MB。如果您有大图需求, 请提工单申请。
  • 图片像素:建议大于256×256,像素过低可能会影响识别效果。
  • URL地址中不能包含中文字符。

检测说明

  • 最长检测时间是6秒,如果在该时间范围内没有完成检测,系统会返回超时错误码。
  • 图片下载时间限制为3秒,如果下载时间超过3秒,则会返回下载超时。
  • 图片检测接口响应时间依赖图片的下载时间。请确保被检测图片所在的存储服务稳定可靠,建议您使用阿里云OSS存储或者CDN缓存。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String ScanImage

要执行的操作。取值:ScanImage。

Scene.N RepeatList porn

指定图片检测的应用场景,可选值包括:

  • porn:图片智能鉴黄
  • terrorism:图片涉恐涉政识别/图片风险人物识别
  • ad:图片垃圾广告识别
  • live:图片不良场景识别
  • logo:图片logo识别
说明 支持多场景(scenes)一起检测。例如scenes=[“porn”, “terrorism”],即对一张图片同时进行鉴黄和涉恐识别,此时也会按照两个场景计费。
Task.N.ImageURL String http://xxx.xxx.com/xxx.jpg

待检测图像的URL。支持HTTP和HTTPS协议。当前仅支持上海地域的OSS链接,如何生成URL请参见生成URL

说明 对于该接口,系统会自动将OSS链接地址转成内网地址然后再下载文件,所以调用该接口并不会产生OSS流量计费。
Task.N.DataId String uuid-xxxx-xxxx-1234

数据ID。需要保证在一次请求中所有的ID不重复。

Task.N.ImageTimeMillisecond Long 1

图片创建或编辑时间,单位为毫秒。

Task.N.Interval Integer 1

截帧频率,GIF图或者长图检测专用。GIF图可理解为图片数组,每interval张图片抽取一张进行检测。只有该值存在时,才会对GIF进行截帧。长图同时支持长竖图和长横图。

  • 长竖图(高大于400像素,高宽比大于2.5),会按照高/宽取整来计算总图数,并进行切割。
  • 长横图(宽大于400像素,宽高比大于2.5),会按照宽/高取整来计算总图数,并进行切割。
说明 默认只会检测GIF图或长图的第一帧,interval参数用于指示后台在检测时可按照该间隔跳着检测,以节省检测成本。需要与maxFrames参数组合使用。例如,设置interval为2,maxFrames为100,检测长图或GIF图时,将每间隔1帧检测一次,最多检测100帧,计费则按照实际检测的数量计算。
Task.N.MaxFrames Integer 1

最大截帧数量,GIF图或长图检测专用,默认值为1。

当interval*maxFrames小于该图片所包含的图片数量时,截帧间隔会自动修改为该图片所包含的图片数/maxFrames,以提高整体检测效果。

说明 最多指定10个检测对象,即最多同时对10张图片进行检测。

返回数据

名称 类型 示例值 描述
Data Struct

返回的结果数据内容。

Results Array

图片检测结果。

DataId String uuid-xxxx-xxx-1234

数据ID。

ImageURL String http://xxx.xxx.xxx/xxx.jpg

图像URL地址。

SubResults Array

单张图片的检测结果。

Frames Array

如果待检测图片因为过长被截断,该参数返回截断后的每一帧图像的临时访问地址供您参考。

Rate Float 89.85

结果为该分类的概率,取值范围为0~100。值越高,表示越有可能属于该分类。

URL String http://xxx.xxx.com/xxx-0.jpg

被截断的图片的临时访问URL,地址有效期是5分钟。

HintWordsInfoList Array

图片中含有广告时,返回图片中广告文字命中的风险关键词信息。格式为数组。

说明 仅适用于ad场景。示例值:”hintWordsInfo”:[{“context”:”敏感词”}]
Context String abc

图片中文字命中的风险关键词内容。

Label String normal

检测结果的分类,与具体的scene对应。取值范围参见scene和label对应关系说明。

LogoDataList Array

图片中含有Logo时,返回识别出来的Logo信息。

说明 仅适用于Logo场景。
Height Float 106

Logo区域高度。

Name String abc

识别出的Logo名称。

Type String TV

识别出的logo类型,取值为TV(台标)。

Width Float 106

Logo区域宽度。

X Float 140

以图片左上角为坐标原点,Logo区域左上角到y轴距离。

Y Float 68

以图片左上角为坐标原点,Logo区域左上角到x轴距离。

OCRDataList List abc

识别到的图片中的完整文字信息。

ProgramCodeDataList Array

图片中含有小程序码时,返回小程序码的位置信息。

说明 仅适用于qrcode场景,且已通过工单联系我们开通了小程序码识别。
Height Float 413.0

小程序码区域高度。

Width Float 402.0

小程序码区域宽度。

X Float 11.0

以图片左上角为坐标原点,小程序码区域左上角到y轴距离。

Y Float 0.0

以图片左上角为坐标原点,小程序码区域左上角到x轴距离。

Rate Float 99.91

结果为该分类的概率,取值范围为0~100。值越高,表示越有可能属于该分类。

Scene String ad

图片检测场景,和调用请求中的场景(scenes)对应。

SfaceDataList Array

图片中包含暴恐识涉政内容时,返回识别出来的暴恐涉政信息。

说明 仅适用于terrorism和sface场景。关于该参数在sface场景中的具体内容,请参见敏感人脸检测。
Faces Array

识别出的人脸信息。

Id String AliFace_0001234

人脸ID。

Name String abc

相似人物的名称。

Rate Float 91.54

相似概率。

Height Float 131

人脸区域高度。

Width Float 97

人脸区域宽度。

X Float 49

以图片左上角为坐标原点,人脸区域左上角到y轴距离。

Y Float 39

以图片左上角为坐标原点,人脸区域左上角到x轴距离。

Suggestion String block

建议您执行的操作。

  • pass:图片正常,无需进行其余操作;或者未识别出目标对象。
  • review:检测结果不确定,需要进行人工审核;或者未识别出目标对象。
  • block:图片违规,建议执行进一步操作(如直接删除或做限制处理)。
TaskId String img4wlJcb7p4wH4lAP3111111-123456

任务ID。

RequestId String 69B41AE8-1234-1234-1234-12D395695D2D

请求ID。

示例

请求示例

http(s)://imageaudit.cn-shanghai.aliyuncs.com/?Action=ScanImage
&Scene.1=porn
&Task.1.DataId=uuid-xxxx-xxxx-1234
&Task.1.ImageURL=http://viapi-test.oss-cn-shanghai.aliyuncs.com/sanjiye-meizi/%E9%A3%8E%E9%99%A9%E4%BA%BA%E7%89%A9.jpg
&<公共请求参数>

正常返回示例

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 格式

{
  "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"
}

错误码

关于图片内容安全的错误码,详情请参见常见错误码

SDK参考

单击SDK简介查看SDK信息。