文档首页 > > API参考> API> 图像审核>

图像内容审核

图像内容审核

分享
更新时间:2021/04/15 GMT+08:00

功能介绍

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

前提条件

  • 在使用图像内容审核之前需要您完成服务申请和认证鉴权,具体操作流程请参见内容审核快速入门
  • 图像内容审核默认API调用最大并发为10,如需调整更高并发限制请联系华为专业工程师为您服务。

URI

URI格式

POST /v1.0/moderation/image

请求消息

请求参数请参见表1

表1 请求参数说明

名称

是否必选

类型

说明

image

与url二选一

String

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

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

支持JPG/PNG/BMP格式。

url

与image二选一

String

图片的URL路径,目前支持:

  • 公网HTTP/HTTPS URL
  • 华为云OBS提供的URL,使用OBS数据需要进行授权。包括对服务授权、临时授权、匿名公开授权。详请参见配置OBS访问权限
说明:

接口响应时间依赖图片的下载时间,如果图片下载时间过长,会返回接口调用失败。请保证被检测图片所在的存储服务稳定可靠,建议您使用华为云OBS存储。

categories

Array

检测场景:

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

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

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

说明:

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

ad_categories

Array

图文审核检测场景。当categories包含ad时,该参数生效。

当前支持的场景有系统场景和用户自定义场景:
  • 系统场景为:
    • qr_code:二维码
    • politics:涉政
    • porn:涉黄
    • ad:广告
    • abuse:辱骂
    • contraband:违禁品
  • 用户自定义场景为:自定义黑名单词库。
    说明:

threshold

Number

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

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

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

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

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

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

moderation_rule

String

图像审核规则名称,默认使用default规则。

说明:

审核规则的创建和使用请参见配置审核规则

响应消息

响应参数请参见表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为对应的广告识别结果信息

  • 广告场景当前支持label列表如下:
    • normal:正常
    • ad:广告
  • 图文审核场景当前支持label列表如下:
    • normal:正常
    • qr_code:二维码
    • politics:涉政
    • porn:涉黄
    • ad:广告
    • abuse:辱骂
    • contraband:违禁品
    • 其他自定义黑库名称

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

状态码

  • 正常

    200

  • 失败

    返回值

    说明

    400

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

    401

    当前请求需要用户验证。

    403

    没有操作权限。

    404

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

    500

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

分享:

    相关文档

    相关产品

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

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

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

字符长度不能超过200

提交反馈 取消

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

智能客服提问云社区提问