图片审核

最近更新时间:2024-07-01 16:31:21

我的收藏

简介

内容审核功能是由 数据万象(Cloud Infinite,CI)提供的,数据万象将处理能力与 COS SDK 完全结合,您可以直接按照本篇文档指引进行使用。
说明:
使用内容审核服务需拥有数据万象使用权限:
主账号请 单击此处 进行角色授权。
子账号请参见 授权子账号接入数据万象服务 文档。
本文档提供关于图片审核的相关的 API 概览以及 SDK 示例代码。
API
操作描述
借助数据万象的内容审核接口,实现对 COS 存量数据的涉黄、违法违规以及广告引导类图片的扫描
借助数据万象的内容审核接口,实现对 COS 存量数据的涉黄、违法违规以及广告引导类图片的扫描
用于查询图片审核任务详情

图片单次审核

功能说明

图片审核的存量扫描功能通过借助数据万象的持久化处理接口,实现对 COS 存量数据的涉黄、违法违规以及广告引导类图片的扫描。图片审核请求包属于 GET 请求。

方法原型

// 基本操作
func (s *CIService) ImageRecognition(ctx context.Context, name string, reserved string) (*ImageRecognitionResult, *Response, error)
// 支持指定更多参数
func (s *CIService) ImageAuditing(ctx context.Context, name string, opt *ImageRecognitionOptions) (*ImageRecognitionResult, *Response, error)

请求示例

name := "test.jpg"
res, _, err := c.CI.ImageRecognition(context.Background(), name, "")


opt := &cos.ImageRecognitionOptions{
CIProcess: "sensitive-content-recognition",
DetectUrl: "http://www.example.com/test.jpg",
BizType: "ce25f391a72e11eb99f********",
}
res, _, err := c.CI.ImageAuditing(context.Background(), "", opt)

参数说明

type ImageRecognitionOptions struct {
CIProcess string
DetectUrl string
Interval int
MaxFrames int
BizType string
LargeImageDetect int
DataId string
Async int
Callback string
}
参数名称
描述
类型
是否必选
name
COS 存储桶中的图片文件名称,COS 存储桶由Host指定,例如在北京的 examplebucket-1250000000 存储桶中的目录 test 下的文件 img.jpg,则 Host 填写 examplebucket-1250000000.cos.ap-beijing.myqcloud.com,ObjectKey 填写 test/img.jpg。如使用 ImageAuditing 接口审核 url 图片链接,传空字符串。
String
CIProcess
标识数据处理功能的字段,内容审核的值为:sensitive-content-recognition
String
BizType
审核策略,不填写则使用默认策略。可在控制台进行配置,详情请参见 设置审核策略
String
DetectUrl
您可以通过填写 detect-url 审核任意公网可访问的图片链接。不填写 detect-url 时,后台会默认审核 ObjectKey。填写了 detect-url 时,后台会审核 detect-url 链接,无需再填写 ObjectKey。detect-url 示例:http://www.example.com/abc.jpg
String
Interval
审核 GIF 动图时,可使用该参数进行截帧配置,代表截帧的间隔。例如值设为5,则表示从第1帧开始截取,每隔5帧截取一帧,默认值5。
Integer
MaxFrames
针对 GIF 动图审核的最大截帧数量,需大于0。例如值设为5,则表示最大截取5帧,默认值为5。
Integer
LargeImageDetect
对于超过大小限制的图片是否进行压缩后再审核,取值为: 0(不压缩),1(压缩)。默认为0。注:压缩最大支持32MB的图片,且会收取图片压缩费用。对于 GIF 等动态图过大时,压缩时间较长,可能会导致审核超时失败。
Integer
DataId
图片标识,该字段在结果中返回原始内容,长度限制为512字节。
String
Async
是否异步进行审核,取值 0:同步返回结果,1:异步进行审核,默认为0。
String
Callback
审核结果(Detail版本)以回调形式发送至您的回调地址,异步审核时生效,支持以 http:// 或者 https:// 开头的地址,例如: http://www.callback.com
String

结果说明

调用 ImageRecognition 或 ImageAuditing 函数,会解析 api 返回的 xml 内容到 ImageRecognitionResult 结构,具体返回参数可查看 图片单次审核 文档。

图片批量审核

功能说明

图片批量审核接口为同步请求方式,您可以通过本接口对多个图片文件进行内容审核。该接口属于 POST 请求。

方法原型

// 图片批量审核
func (s *CIService) BatchImageAuditing(ctx context.Context, opt *BatchImageAuditingOptions) (*BatchImageAuditingJobResult, *Response, error)

请求示例

// 将 examplebucket-1250000000 和 COS_REGION 修改为真实的信息
// CI 任务需要提供 CIURL
bu, _ := url.Parse("https://examplebucket-1250000000.cos.COS_REGION.myqcloud.com")
cu, _ := url.Parse("https://examplebucket-1250000000.ci.COS_REGION.myqcloud.com")
b := &cos.BaseURL{BucketURL: bu, CIURL: cu}
c := cos.NewClient(b, &http.Client{
Transport: &cos.AuthorizationTransport{
SecretID: os.Getenv("SECRETID"),
SecretKey: os.Getenv("SECRETKEY"),
},
})
opt := &cos.BatchImageAuditingOptions{
Input: []cos.ImageAuditingInputOptions{
cos.ImageAuditingInputOptions{
DataId: "1",
Object: "test.jpg",
},
cos.ImageAuditingInputOptions{
DataId: "2",
Url: "http://www.example.com/test.jpg",
},
},
Conf: &cos.ImageAuditingJobConf{
Freeze: &cos.FreezeConf{
PornScore: "90",
AdsScore: "90",
},
},
}
res, _, err := c.CI.BatchImageAuditing(context.Background(), opt)

参数说明

type ImageAuditingInputOptions struct {
DataId string
Object string
Url string
Interval int
MaxFrames int
LargeImageDetect int
UserInfo *UserExtraInfo
}
type UserExtraInfo struct {
TokenId string
Nickname string
DeviceId string
AppId string
Room string
IP string
Type string
}
type ImageAuditingJobConf struct {
BizType string
Async int
Callback string
Freeze *FreezeConf
}
type FreezeConf struct {
PornScore string
AdsScore string
}
type BatchImageAuditingOptions struct {
Input []ImageAuditingInputOptions
Conf *ImageAuditingJobConf
}

参数名称
描述
类型
是否必选
DataId
图片标识,该字段在结果中返回原始内容,长度限制为512字节。
String
Object
存储在 COS 存储桶中的图片文件名称,例如在目录 test 中的文件 image.jpg,则文件名称为 test/image.jpg。Object 和 Url 只能选择其中一种。
String
Url
图片文件的链接地址,例如 http://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/image.jpg。Object 和 Url 只能选择其中一种。
String
Interval
截帧频率,GIF 图检测专用,默认值为5,表示从第一帧(包含)开始每隔5帧截取一帧。
Integer
MaxFrames
最大截帧数量,GIF 图检测专用,默认值为5,表示只截取 GIF 的5帧图片进行审核,必须大于0。
Integer
BizType
审核策略,不填写则使用默认策略。可在控制台进行配置,详情请参见 设置公共审核策略
String
Async
是否异步进行审核,取值 0:同步返回结果,1:异步进行审核,默认为0。
String
Callback
审核结果(Detail版本)以回调形式发送至您的回调地址,异步审核时生效,支持以 http:// 或者 https:// 开头的地址,例如: http://www.callback.com
String
LargeImageDetect
对于超过大小限制的图片是否进行压缩后再审核,取值为: 0(不压缩),1(压缩)。默认为0。注:压缩最大支持32MB的图片,且会收取图片压缩费用。对于 GIF 等动态图过大时,压缩时间较长,可能会导致审核超时失败。
Integer
UserInfo
用户业务字段。
Object
PornScore
取值为[0,100],表示当色情审核结果大于或等于该分数时,自动进行冻结操作。不填写则表示不自动冻结,默认值为空。
String
AdsScore
取值为[0,100],表示当广告审核结果大于或等于该分数时,自动进行冻结操作。不填写则表示不自动冻结,默认值为空。
String

结果说明

调用 BatchImageAuditing 函数,会解析 api 返回的 xml 内容到 BatchImageAuditingJobResult 结构,具体返回参数可查看 图片批量审核 文档。

查询图片审核任务结果

功能说明

用于查询一个图片审核任务的结果详情。该接口属于 GET 请求。

方法原型

// 图片审核-查询任务
func (s *CIService) GetImageAuditingJob(ctx context.Context, jobid string) (*GetImageAuditingJobResult, *Response, error)

请求示例

jobId := "iace25f391a72e11eb99f********"
res, _, err := c.CI.GetImageAuditingJob(context.Background(), jobId)

参数说明

参数名称
参数描述
类型
jobId
任务 ID
String

结果说明

调用 GetImageAuditingJob 函数,会解析 api 返回的 xml 内容到 GetImageAuditingJobResult 结构,具体返回参数可查看 查询图片审核任务结果 文档。