本文介绍内容审核(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。
- 图像大小:不超过10 MB。如果您有大图需求,请通过钉钉群(23109592)联系我们。
- 图像分辨率:建议大于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小时后会被系统自动清理删除。