图像内容审核
功能介绍
分析并识别用户上传的图像内容是否有敏感内容(如涉及政治人物、暴恐元素、涉黄内容等),并将识别结果返回给用户。
前提条件
- 在使用图像内容审核之前需要您完成服务申请和认证鉴权,具体操作流程请参见内容审核快速入门。
- 图像内容审核默认API调用最大并发为10,如需调整更高并发限制请联系华为专业工程师为您服务。
URI
URI格式
POST /v1.0/moderation/image
请求消息
请求参数请参见表1。
名称 |
是否必选 |
类型 |
说明 |
---|---|---|---|
image |
与url二选一 |
String |
图片文件Base64编码字符串。要求base64编码后大小不超过10M。 政治人物检测人脸部分不小于50*50像素。 支持JPG/PNG/BMP格式。 |
url |
与image二选一 |
String |
图片的URL路径,目前支持:
说明:
接口响应时间依赖图片的下载时间,如果图片下载时间过长,会返回接口调用失败。请保证被检测图片所在的存储服务稳定可靠,建议您使用华为云OBS存储。 |
categories |
否 |
Array |
检测场景:
可通过配置上述场景,来完对应场景元素的检测。 为空或无此参数表示politics和terrorism都检测,但不包含porn场景。 说明:
每个检测场景的检测次数会分类统计。 |
ad_categories |
否 |
Array |
图文审核检测场景。当categories包含ad时,该参数生效。 当前支持的场景有系统场景和用户自定义场景:
|
threshold |
否 |
Number |
结果过滤门限,只有置信度不低于此门限的结果才会呈现在detail的列表中,取值范围 0-1,当未设置此值时各个检测场景会使用各自的默认值。 politics检测场景的默认值为0.95。 terrorism检测场景的默认值为0。 ad检测场景的默认值为0。 无特殊需求直接不传此参数或像示例中一样值设为空字符串即可。 说明:
|
moderation_rule |
否 |
String |
图像审核规则名称,默认使用default规则。 说明:
审核规则的创建和使用请参见配置审核规则。 |
响应消息
响应参数请参见表2。
名称 |
类型 |
说明 |
---|---|---|
result |
Object |
调用成功时表示调用结果。 调用失败时无此字段。 |
detail |
Object |
针对选定的每个检测场景列出结果列表,politics为涉政敏感的人物检测结果,terrorism为涉政暴恐检测结果,porn为涉及黄检测结果。如果检测场景中的最高置信度也未达到threshold则结果列表为空。 |
confidence |
Number |
置信度,取值范围 0-1。 |
face_detail |
Object |
politics场景中的人物面部信息,包括4个值: h:人脸区域高度 w:人脸区域宽度 x:人脸区域左上角到y轴距离 y:人脸区域左上角到x轴距离 |
label |
String |
每个检测结果的标签化说明: politics:label为对应的政治人物信息。 terrorism:label为对应的涉政暴恐元素信息。
porn:label为对应的涉黄分类(涉黄、性感等)信息。
ad:label为对应的广告识别结果信息
|
hit_contexts |
Array |
图文审核场景命中的文本列表。 |
suggestion |
String |
审核结果是否通过。 block:包含敏感信息,不通过 pass:不包含敏感信息,通过 review:需要人工复检 说明:
当同时检测多个场景时,suggestion的值以最可能包含敏感信息的场景为准。即任一场景出现了block则总的suggestion为block,所有场景都pass时suggestion为pass,这两种情况之外则一定有场景需要review,此时suggestion为review。 |
category_suggestions |
Object |
具体每个场景的检测结果。 block:包含敏感信息,不通过 pass:不包含敏感信息,通过 review:需要人工复检 |
error_code |
String |
调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 |
error_msg |
String |
调用失败时的错误信息。 调用成功时无此字段。 |
示例
- 请求示例(方式一,使用图片的BASE64编码)
POST https://moderation.cn-north-1.myhuaweicloud.com/v1.0/moderation/image Request Header: Content-Type:application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "url" : "", "image" : "/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAA...", "categories":[ "politics", "terrorism", "ad" ], "ad_glossaries":[ "glossary_01", "glossary_02" ], "ad_categories":[ "qr_code", "politics", "abuse", "porn", "ad", "contraband" ], "threshold" : "" }
- 请求示例(方式二,使用图片的URL)
POST https://moderation.cn-north-1.myhuaweicloud.com/v1.0/moderation/image Request Header: Content-Type:application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "url" : "https://BucketName.obs.myhuaweicloud.com/ObjectName", "image" : "", "categories":[ "politics", "terrorism", "ad" ], "ad_glossaries":[ "glossary_01", "glossary_02" ], "ad_categories":[ "qr_code", "politics", "abuse", "porn", "ad", "contraband" ], "threshold" : "" }
- 成功响应示例
{ "result":{ "detail":{ "politics":[ { "confidence": 0.89155281782150264, "face_detail":{ "h": 130, "w": 103, "x": 80, "y": 125 }, "label": "xxx" }, { "confidence": 0.87563462432654422, "face_detail":{ "h": 131, "w": 203, "x": 423, "y": 109 }, "label": "yyy" } ], "terrorism":[ { "confidence": 0.73155281782150264, "label": "xxx" }, { "confidence": 0.26844718217849736, "label": "yyy" } ], "ad":[ { "hit_contexts": [ "xxx", "xx" ], "confidence": 1, "label": "politics" }, { "confidence": 0, "label": "ad" }, { "confidence": 0.998, "label": "qr_code" }, { "confidence": 0, "label": "normal" } ] }, "suggestion": "block", "category_suggestions": { "politics":"block", "terrorism":"review", "ad":"block" } } }
- 失败响应示例
{ "error_code": "AIS.0005", "error_msg": "The service does not exist." }
- 失败
返回值
说明
400
- 语义有误,当前请求无法被服务器解析。除非进行修改,否则客户端不应重复提交这个请求。
- 请求参数有误。
401
当前请求需要用户验证。
403
没有操作权限。
404
请求失败,在服务器上未找到请求所希望得到的资源。
500
服务器遇到了一个未曾预料的状况,导致无法完成对请求的处理。
