文档首页> > API参考> API> 图像审核> 图像内容检测

图像内容检测

分享
更新时间: 2019/07/02 21:01

功能介绍

分析并识别用户上传的图像内容是否有敏感内容(如涉及政治人物、暴恐元素、涉黄内容等),并将识别结果返回给用户。

URI

URI格式

POST /v1.0/moderation/image

请求消息

请求参数请参见表1

表1 请求参数说明

名称

是否必选

类型

说明

image

与url二选一

String

图片文件Base64编码字符串。要求base64编码后大小不超过10M。

政治人物检测人脸部分不小于50*50像素。

支持JPG/PNG/BMP格式。

url

与image二选一

String

图片的URL路径,目前支持对服务授权访问华为云上OBS的URL,华为云上OBS提供的临时授权访问的URL和匿名公开授权的URL。OBS服务的访问权限设置请参见配置OBS服务的访问权限。出于安全的考虑,不支持使用其它公网上URL读取数据。

categories

Array

检测场景。

  • politics:是否涉及政治人物的检测。
  • terrorism:是否包含涉政暴恐元素的检测。
  • porn:是否包含涉黄内容元素的检测。
  • ad:是否包含广告的检测(公测特性)。
  • all:包含politics、terrorism和porn三种场景的检测。

可通过配置上述场景,来完对应场景元素的检测。

为空或无此参数表示politics和terrorism都检测,但不包含porn场景。

说明:

每个检测场景的检测次数会分类统计。

threshold

Number

结果过滤门限,只有置信度不低于此门限的结果才会呈现在detail的列表中,取值范围 0-1,当未设置此值时各个检测场景会使用各自的默认值。

politics检测场景的默认值为0.95。

terrorism检测场景的默认值为0。

ad检测场景的默认值为0。

无特殊需求直接不传此参数或像示例中一样值设为空字符串即可。

说明:
  • 如果检测场景中的最高置信度也未达到threshold,则结果列表为空;反之threshold过小,则会使结果列表中内容过多。
  • threshold参数不会影响响应中的suggestion。

响应消息

响应参数请参见表2

表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为对应的涉政暴恐元素信息。

  • 涉政暴恐场景当前支持label列表如下:

    normal:正常

    knife:刀

    gun:枪

    fire:火灾

    bloody :血腥

    terrorist:暴恐组织及标志

    fascist:法西斯组织及标志

    cult:邪教组织及标志

    negative_politics :涉政负面组织及标志

    negative_political_events:涉政负面事件及标志

    special_characters :特殊文字

    kidnap:绑架

    corpse:尸体

    riot:暴乱事件

    parade :游行示威

    sensitive_landmarks:敏感地标

    military_weapon:军事武器

    army:警察部队

    positive_politics:涉政正面组织及标志

    crowd:人群聚集

porn:label为对应的涉黄分类(涉黄、性感等)信息

  • 反黄场景当前支持label列表如下:

    normal:正常

    porn:色情

    sexy:性感

ad:label为对应的广告识别结果(普通、广告)信息

suggestion

String

检测结果是否通过。

block:包含敏感信息,不通过

pass:不包含敏感信息,通过

review:需要人工复检

说明:

当同时检测多个场景时,suggestion的值以最可能包含敏感信息的场景为准。即任一场景出现了block则总的suggestion为block,所有场景都pass时suggestion为pass,这两种情况之外则一定有场景需要review,此时suggestion为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"
       ],
       "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"
       ],
       "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"
                }
             ]
          },
          "suggestion": "block"
       }
    }
  • 失败响应示例
    {
        "error_code": "AIS.0005",
        "error_msg": "The service does not exist."
    }

状态码

  • 正常

    200

  • 失败

    返回值

    说明

    400

    • 语义有误,当前请求无法被服务器解析。除非进行修改,否则客户端不应重复提交这个请求。
    • 请求参数有误。

    401

    当前请求需要用户验证。

    403

    没有操作权限。

    404

    请求失败,在服务器上未找到请求所希望得到的资源。

    500

    服务器遇到了一个未曾预料的状况,导致无法完成对请求的处理。

如果您喜欢这篇文档,您还可以:

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区