图片内容安全实战教程-阿里云开发者社区

开发者社区> 温柔的养猫人> 正文

图片内容安全实战教程

简介: 内容安全技术是基于阿里云视觉分析技术和深度识别技术。本教程为您介绍如何通过智能视觉平台的图片检测能力保证内容安全。
+关注继续查看

图片内容安全实战教程

内容安全技术是基于阿里云视觉分析技术和深度识别技术。本教程为您介绍如何通过智能视觉平台的图片检测能力保证内容安全。

背景信息

内容安全技术是基于阿里云视觉分析技术和深度识别技术,并经过在阿里经济体内和云上客户的多领域、多场景的广泛应用和不断优化,可提供风险和治理领域的图像识别、定位、检索等全面服务能力,不仅可以降低色情、涉恐、涉政、广告、垃圾信息等违规风险,而且能大幅度降低人工审核成本。

前提条件

在开始之前,请确保完成以下步骤。

  1. 开通内容安全能力,请参见上述开发前准备。
    image.png
  2. 在您的Java工程中添加内容安全能力的pom依赖:
<dependencies>
    <!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-facebody -->
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-imageaudit</artifactId>
        <version>1.0.6</version>
    </dependency>
</dependencies>

图片内容安全

图片内容安全支持检测的场景包括有图片智能鉴黄、图片涉恐涉政识别、图文违规识别、图片二维码识别、图片不良场景识别和图片logo识别等。

例如:识别以下图片是否涉嫌违规。
image.png

示例代码如下:

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;
import java.util.*;
import com.aliyuncs.imageaudit.model.v20191230.*;

public class ScanImage {

    private static DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "<access key id>", "<access key secret>");
    private static IAcsClient client = new DefaultAcsClient(profile);

    public static void main(String[] args) {

        ScanImageRequest request = new ScanImageRequest();
        List<ScanImageRequest.Task> taskList = new ArrayList<ScanImageRequest.Task>();
        ScanImageRequest.Task task1 = new ScanImageRequest.Task();
        // 数据ID。需要保证在一次请求中所有的ID不重复。
        task1.setDataId(UUID.randomUUID().toString());
        // 待检测图像的URL。支持HTTP和HTTPS协议。当前仅支持上海地域的OSS链接。
        task1.setImageURL("https://visionapi-test.oss-cn-shanghai.aliyuncs.com/TB1k8mYCpY7gK0jSZKzXXaikpXa-692-440%5B1%5D.jpg");
        taskList.add(task1);
        request.setTasks(taskList);

        // 指定图片检测的应用场景
        List<String> sceneList = new ArrayList<String>();
        // 图片智能鉴黄
        sceneList.add("porn");
        // 图片涉恐涉政识别
        sceneList.add("terrorism");
        // 图文违规识别
        sceneList.add("ad");
        // 图片不良场景识别
        sceneList.add("live");
        // 图片logo识别
        sceneList.add("logo");
        request.setScenes(sceneList);

        try {
            ScanImageResponse response = client.getAcsResponse(request);
            System.out.println(new Gson().toJson(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }
    }
}

代码返回结果类似如下:

{
  "RequestId": "B2B68CC0-62E8-4DE4-9657-1FDDB8718FDC",
  "Data": {
    "Results": [
      {
        "DataId": "3213132132131",
        "ImageURL": "https://visionapi-test.oss-cn-shanghai.aliyuncs.com/TB1k8mYCpY7gK0jSZKzXXaikpXa-692-440%5B1%5D.jpg",
        "SubResults": [
          {
            "Suggestion": "pass",
            "Rate": 100,
            "Label": "normal",
            "Scene": "porn"
          },
          {
            "Suggestion": "block",
            "Rate": 99.88,
            "Label": "weapon",
            "Scene": "terrorism"
          },
          {
            "Suggestion": "pass",
            "Rate": 99.9,
            "Label": "normal",
            "Scene": "ad"
          },
          {
            "Suggestion": "pass",
            "Rate": 100,
            "Label": "normal",
            "Scene": "live"
          },
          {
            "Suggestion": "pass",
            "Rate": 99.9,
            "Label": "normal",
            "Scene": "logo"
          }
        ]
      }
    ]
  }
}

从返回结果中得到的该图片识别结果如下:

  • 智能鉴黄:通过
  • 涉恐涉政识别:不通过
  • 图文违规识别:通过
  • 图片不良场景识别:通过
  • 图片logo识别:通过

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
好程序员web前端教程分享3种方法实现CSS隐藏滚动条并可以滚动内容
好程序员web前端教程分享3种方法实现CSS隐藏滚动条并可以滚动内容,隐藏滚动条的同时还需要支持滚动,我们经常在前端开发中遇到这种情况,最容易想到的是加一个iscroll插件,但其实现在CSS也可以实现这个功能,我已经在很多地方使用了,下面一起看看这三种方法。
1237 0
《手机测试Robotium实战教程》—第2章2.2节Eclipse的安装
可根据个人喜好选择对应的集成开发工具,本书是在Eclipse IDE下进行的。
1202 0
Json.Net系列教程 3.Json.Net序列化和反序列化设置
原文 Json.Net系列教程 3.Json.Net序列化和反序列化设置 上节补充 首先补充一点,Json.Net是支持序列化和反序列化DataTable,DataSet,Entity Framework和NHibernate的.
768 0
Json.Net系列教程 1.Json.Net介绍及实例
原文 Json.Net系列教程 1.Json.Net介绍及实例 本系列教程假设读者已经对Json有一定的了解,关于Json在这里不多说.本系列教程希望能对读者开发涉及到Json的.Net项目有一定的帮 助.本系列教程是根据官方文档资料和自己项目应用汇总而成.如果觉得本系列对你有用,望多多关注.本人还只是个未毕业的学生,水平有限,尽请指正. 一.Json.Net有什么用?   Json.Net是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更加简单。
1087 0
Json.Net系列教程 2.Net类型与JSON的映射关系
原文 Json.Net系列教程 2.Net类型与JSON的映射关系 首先谢谢大家的支持和关注.本章主要介绍.Net类型与JSON是如何映射的.我们知道JSON中类型基本上有三种:值类型,数组和对象.而.
808 0
1172
文章
2
问答
来源圈子
更多
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载