更新时间:2024-03-27 GMT+08:00

图像内容审核(V2)

功能介绍

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

  1. 文本内容审核默认API调用最大并发为10,如需调整更高并发限制请联系华为专业工程师为您服务。
  2. 您可以进行审核规则配置,根据配置的审核规则,对涉黄内容进行不同场景的检测,详情请参见配置审核规则

URI

POST /v2/{project_id}/moderation/image

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。获取方法请参见获取项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

用于获取操作API的权限。获取方法请参见获取Token接口,响应消息头中X-Subject-Token的值即为Token。

表3 请求Body参数

参数

是否必选

参数类型

描述

url

String

与image二选一。

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

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

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

image

String

与url二选一。

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

支持JPEG/PNG/BMP/WEBP/GIF格式。

moderation_rule

String

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

说明:

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

categories

Array of strings

检测场景。可添加的检测场景如下:

  • porn:涉黄内容元素的检测。

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

说明:

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

threshold

Float

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

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

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

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

result

ImageDetectionResultBody object

调用成功时表示调用结果。

调用失败时无此字段。

表5 ImageDetectionResultBody

参数

参数类型

描述

detail

ImageDetectionResultDetail object

针对选定的每个检测场景列出结果列表,porn为涉黄检测结果。如果检测场景中的最高置信度也未达到threshold则结果列表为空。

suggestion

String

审核结果是否通过。

  • block:包含敏感信息,不通过
  • pass:不包含敏感信息,通过
  • review:需要人工复检
说明:
  1. 当同时检测多个场景时,suggestion的值以最可能包含敏感信息的场景为准。即任一场景出现了block则总的suggestion为block,所有场景都pass时suggestion为pass,这两种情况之外则一定有场景需要review,此时suggestion为review。
  2. 目前本服务不会保存客户的调用结果(如block的历史信息),因为涉及到客户的数据隐私问题,建议您保留接口调用结果的日志信息。

category_suggestions

Map<String,String>

每个场景的检测结果。

  • block:包含敏感信息,不通过
  • pass:不包含敏感信息,通过
  • review:需要人工复检
说明:

目前本服务不会保存客户的调用结果。

表6 ImageDetectionResultDetail

参数

参数类型

描述

porn

Array of ImageDetectionResultSimpleDetail objects

涉黄检测结果。

表7 ImageDetectionResultSimpleDetail

参数

参数类型

描述

confidence

Float

置信度,取值范围 0-1。

label

String

每个检测结果的标签化说明。

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

  • 鉴黄场景当前支持label列表如下:
    • normal:正常(表示您上传的图像内容不涉黄)
    • porn:色情
    • sexy:性感

状态码: 400

表8 响应Body参数

参数

参数类型

描述

error_code

String

调用失败时的错误码,具体请参见错误码

调用成功时无此字段。

error_msg

String

调用失败时的错误信息。

调用成功时无此字段。

fail_category

String

当包含多个场景时,调用失败的场景。

请求示例

“endpoint”即调用API的请求地址,不同服务不同区域的endpoint不同,具体请参见终端节点

例如,服务部署在“中国-香港”区域的“endpoint”“moderation.ap-southeast-1.myhuaweicloud.com”,请求URL为“https://moderation.ap-southeast-1.myhuaweicloud.com/v2/{project_id}/moderation/image”“project_id”为项目ID,获取方法请参见获取项目ID

  • 方式一:使用图片的BASE64编码,识别用户上传的图像内容是否有敏感内容,检测场景为涉黄,图像审核规则为默认规则。
    POST https://{endpoint}/v2/{project_id}/moderation/image
    
    {
      "categories" : [ "porn" ],
      "moderation_rule" : "default",
      "url" : "",
      "image" : "/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAA...",
      "threshold" : ""
    }
  • 方式二:使用图片的url,识别用户上传的图像内容是否有敏感内容,检测场景为涉黄,图像审核规则为默认规则。
    POST https://{endpoint}/v2/{project_id}/moderation/image
    
    {
      "categories" : [ "porn"],
      "moderation_rule" : "default",
      "url" : "https://BucketName.obs.myhuaweicloud.com/ObjectName",
      "image" : "",
      "threshold" : ""
    }

响应示例

状态码: 200

成功响应示例

{
  "result" : {
    "detail" : {
      "porn" : [ {
        "confidence" : 0.7315528178215026,
        "label" : "xxx"
      }, {
        "confidence" : 0.26844718217849733,
        "label" : "yyy"
      } ]
    },
    "suggestion" : "block",
    "category_suggestions" : {
      "porn" : "review"
    }
  }
}

状态码: 400

失败响应示例

{
  "error_code" : "AIS.0402",
  "error_msg" : "The image format is not supported."
}

状态码

状态码

描述

200

成功响应示例。

400

失败响应示例。

错误码

请参见错误码