更新时间:2024-04-23 GMT+08:00

内容审核-图像

本章节提供了通过Java SDK调用“内容审核-图像”服务的样例,用户直接调用接口函数即可使用SDK功能。具体流程如下:

步骤一:开通服务,用户在“服务列表”“服务管理”页面选择内容审核-图像服务申请开通。

步骤二:对象存储服务OBS授权(可选),如果需要对OBS中的数据进行内容审核请开通对象存储服务OBS授权。

步骤三:配置审核规则(可选),可对涉黄内容进行不同场景的检测。

步骤四:配置环境,获取SDK和样例工程,导入到开发环境中。

步骤五:认证鉴权,使用AK/SK方式进行认证。

步骤六:调用服务,调用API接口使用服务,使用过程中可以随时查看状态码与错误码。

步骤一:开通服务

内容审核-图像服务开通步骤请参考开通服务步骤说明

步骤二:对象存储服务OBS授权(可选)

如果您需要对OBS中的数据进行内容审核,请开通对象存储服务OBS授权。具体操作步骤如下:

  1. 登录华为云内容审核管理控制台,单击进入“服务管理”页面。
  2. 打开对象存储服务OBS授权的按钮,完成授权操作。
    • Moderation不支持跨区域OBS,OBS的区域需要和服务保持一致。
    • OBS授权需要使用IAM主账号进行授权,不支持使用子账号进行授权。
    • 授权完成后,不支持取消授权操作。

步骤三:配置审核规则(可选)

如果您需要对涉黄内容进行不同场景的检测,可进行审核规则的配置。具体操作步骤请参考配置审核规则

步骤四:配置环境

您可以基于内容审核SDK通过编写代码的方式调用内容审核-文本API。在使用SDK和调用API时您需要进行环境配置。具体操作步骤如下:

  1. 最新版本内容审核SDK软件包和文档,请单击SDK中心
  2. 环境配置请参见Java开发环境配置
  3. 以eclipse工具为例,导入SDK工程:

    1. 打开Eclipse,确保“Windows >Preferences >Java >Installed JREs”配置正确的JRE路径。
    2. 在左边导航上选择“General > Workspace”,在“Text file encoding”区域选中“Other”,并设置参数值为“UTF-8”,单击“Apply”后,单击“OK”。
    3. 在菜单栏依次选择“File > Import”, 弹出导入工程窗口,选择“Maven > Existing Maven Projects”,单击“Next”,单击“Browse”,选择“ais-moderation-java-sdk”所在的本地位置。
    4. 单击Finish,导入SDK,导入后打开工程,工程目录如图1所示。
      图1 工程目录

步骤五:认证鉴权

内容审核服务认证方式有Token和AK/SK两种方式,本示例中使用AK/SK方式进行认证。

  1. 获取AK/SK。

    AK/SK即访问密钥,请登录我的凭证页面,选择“访问密钥 > 新增访问密钥”获取。

    图2 新增访问密钥

  2. 配置Java SDK中的AK/SK,进行AK/SK认证鉴权。

    根据获取的AK/SK,修改工程目录中“ModerationImageContentDemo.java”文件中函数的“AK”和“SK”的值。示例代码如下:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    // 1. 配置好访问图像内容审核服务的基本信息,生成对应的一个客户端连接对象
    AisAccess service = ServiceAccessBuilder.builder()		
           // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全
           // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK
            .ak("HUAWEICLOUD_SDK_AK")      
            .sk("HUAWEICLOUD_SDK_SK") 
            .region("ap-southeast-1")           // 内容审核服务支持中国-香港(ap-southeast-1)、亚太-新加坡(ap-southeast-3)的配置
            .connectionTimeout(5000)            // 连接目标url超时限制
            .connectionRequestTimeout(1000)     // 连接池获取可用连接超时限制
            .socketTimeout(20000)               // 获取服务器响应数据超时限制
            .build();
    

步骤六:调用服务

  1. 选择本地图片或者使用Demo默认图片,参考如下示例代码修改“ModerationImageContentDemo.java”文件中图片文件路径(“data/moderation-demo-1.jpg”)。

    1
    2
    3
    4
    5
    6
    public static void main(String[] args) throws IOException {
    	ModerationImageContentDemo tool = new ModerationImageContentDemo();
    	tool.imageContentCheck("https://sdk-obs-source-save.obs.cn-north-4.myhuaweicloud.com/XXX.jpg");
    	byte[] imageBytes = FileUtils.readFileToByteArray(new File("data/moderation-demo-1.jpg"));
    	tool.imageContentCheck(imageBytes);
    	}
    

  2. 执行“ModerationImageContentDemo.java”文件,控制台输出200即表示程序执行成功,图像内容审核结果输出到控制台,如图3所示。

    图3 运行结果

  3. 查看调用次数。您可以在“服务列表”“图像审核”页查看调用详情和调用次数统计。如图4所示。

    图4 识别统计
    • 识别结果统计:显示一段时间范围,内容审核的调用总数,拒绝数,疑似数和通过数,帮助您更好了解服务的调用情况和审核情况。
      • 总数:指的是审核调用总次数。
      • 拒绝数:指的是block总数,即文本中包含敏感信息,审核不通过的次数。
      • 疑似数:指的是review总数,即人工复查审核的次数。
      • 通过数:指的是pass总数,即通过审核的次数。
    • 数据趋势:显示您设置的这段时间范围内,总数,拒绝数,疑似数和通过数的变化趋势。
      图5 原因分布
    • 拒绝数据原因分布:显示您设置的这段时间范围内,审核不通过的检测场景占比数。
    • 疑似数据原因分布:显示您设置的这段时间范围内,需要人工复查的检测场景占比数。

  4. 查看监控数据。您可以单击“查看监控指标”在云监控控制台查看服务调用成功和失败的次数等历史数据,如图6所示。

    图6 监控数据