存储资源合规审核

最近更新时间:2018-07-31 19:20:51

1.存储资源合规审核使用的场景

  • 客户在资源未被查封之前,提前使用审核产品,保证增量上传资源合规
  • 客户在资源查封之后,对存量图片使用审核产品,筛选出违规资源

2.存储资源合规产品分类

  • 图片审核(涉及到图片的鉴黄,鉴暴,图片政治人物识别)
  • 视频审核 (涉及到视频的鉴黄,鉴暴,图片政治人物识别)

3.存储资源合规审核使用方法

(1) 开启空间自动内容审核

开启审核


在七牛云的空间设置中回包含空间内容审核设置。


开启审核


在内容审核设置中可以开启对图片的审核

(2) 使用API的方式对内容审核

API内容审核包括图片鉴黄图片鉴暴图片鉴政视频鉴黄视频鉴暴视频鉴政。鉴别结果中包含对文件鉴别结果的量化参数-score, score值越大,鉴别结果置信度越高。
我们将针对视频鉴黄给出一个代码示例:

    // String pulpSgin = "/v1/video/pulptest\n";
    String vedioUrl = "http://argus.atlab.ai/v1/video/test";

    // 构造post请求body
    Gson gson = new Gson();

    // data
    Map<String, Object> data = new HashMap<>();
    data.put("uri", "https://neko.chentao.qiniuts.com/V-pc60fps-en_us-1080p60.mp4");

    // params
    Map<String, Object> params = new HashMap<>();
    params.put("async", false);// 是否异步处理

    Map<String, Object> segment = new HashMap<>();
    segment.put("mode", 0);// 片段处理逻辑,0:每隔固定时间为一片段单位s,默认5s,1:每隔`N`帧为一片段,默认5;由`segment.interval`指定
    segment.put("interval", 5);
    params.put("segment", segment);

    Map<String, Object> vframe = new HashMap<>();
    vframe.put("mode", 0);// 截帧处理逻辑,mode==0:截关键帧,1:每隔固定时间截一帧由`vframe.interval`指定,单位`s`,
    // 默认为`1.0s`,2:每隔`N`帧截一帧,由`vframe.interval`指定,默认为`5`
    vframe.put("interval", 5);
    params.put("vframe", vframe);

    // ops
    Object[] ops = new Object[1];
    Map<String, Object> mapOps = new HashMap<>();
    ops[0] = mapOps;

    mapOps.put("op", "pulp");
    //mapOps.put("hookURL", "http://03b7e229.ngrok.io/callback");// 操作回调地址
    //mapOps.put("hookURL_segment", "http://a.b.c");// 片段回调地址

    Map<String, Object> opsParams = new HashMap<>();

    mapOps.put("params", opsParams);

    Map<String, Object> label = new HashMap<>();
    label.put("label", "2");// 选择类别名,跟具体推理cmd有关
    label.put("select", 2);// 类别选择条件,`1`表示忽略不选;`2`表示只选该
    label.put("score", 0.8);// 类别选择的可信度参数,大于该值才能选择
    Map[] labels = new Map[1];
    labels[0] = label;

    Map<String, Object> terminate = new HashMap<>();
    terminate.put("mode", "1");// 提前退出类型。`1`表示按帧计数;`2`表示按片段计数

    // 该类别的最大个数,达到该阈值则处理过程退出
    Map<String, Object> terminateLabels = new HashMap<>();

    terminateLabels.put("<label>", 2);
    // terminate.put("labels", terminateLabels);//该类别的最大个数,达到该阈值则处理过程退出

    opsParams.put("labels", labels);
    // opsParams.put("terminate", terminate);

    Map<String, Object> para = new HashMap<>();
    para.put("data", data);
    para.put("params", params);
    para.put("ops", ops);

    String paraR = gson.toJson(para);
    byte[] bodyByte = paraR.getBytes();
    System.out.println(paraR);

    // 获取签名
    String accessToken = (String) auth.authorizationV2(vedioUrl, "POST", bodyByte, "application/json")
            .get("Authorization");
    System.out.println(accessToken);

    System.out.println("curl -vX POST http://argus.atlab.ai/v1/video/aaaa -d '" + paraR
            + "' -H 'Content-Type:application/json' -H 'Authorization:" + accessToken + "'");

    Client client =
            new Client(null, false, (ProxyConfiguration)null, 10, 30, 0, 64, 16, 32, 5);
    StringMap headers = new StringMap();
    logger.info(accessToken);
    headers.put("Authorization", accessToken);
    try {
        com.qiniu.http.Response resp = client.post(vedioUrl, bodyByte, headers, Client.JsonMime);
        logger.info(resp.toString());
        logger.info(resp.bodyString());
        //return resp.bodyString();
    } catch (Exception e) {
        //throw new Exception(e.getMessage());
    }
}


4.违规资源的处理

当发现违规资源的时候,请依次采取以下措施清理您的资源:
删除存储资源
刷新 CDN 缓存
进行空间整体的鉴黄


5.对于存储资源合规审核的疑问解答

图片未上传到七牛存储可以使用资源合规审核吗?

可以使用, 但是只局限在使用API接口去做内容审核。

什么样的图片算是黄图?

因为每个用户对黄图判断的尺度不同,所以您需要根据自身业务需求自行判断多少分值以上的图片是黄图。

为什么违规图片被删除后仍然会被外部访问到?

在删除违规图片后,该图片仍然可能被CDN缓存,从而可以被访问到。因此,建议您删除图片后刷新CDN缓存。具体请参考刷新 CDN 缓存

关于鉴别不准确的后续操作?

如果鉴别有问题,七牛会自动刷新;但是如果是客户自行删除的操作,那就需要推荐客户自行刷新。具体请参考刷新 CDN 缓存

以上内容是否对您有帮助?
  • Close