存储资源合规审核
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 缓存
文档反馈
(如有产品使用问题,请 提交工单)