tencent cloud

文档反馈

图片审核

最后更新时间:2024-03-13 10:07:10

    简介

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

    图片同步审核

    功能说明

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

    方法原型

    ImageAuditingResponse imageAuditing(ImageAuditingRequest request);

    请求示例

    //1.创建任务请求对象
    ImageAuditingRequest request = new ImageAuditingRequest();
    //2.添加请求参数 参数详情请见api接口文档
    //2.1设置请求bucket
    request.setBucketName("examplebucket-1250000000");
    //2.2设置审核类型
    request.setDetectType("porn,ads");
    //2.3设置bucket中的图片位置
    request.setObjectKey("1.png");
    //3.调用接口,获取任务响应对象
    ImageAuditingResponse response = client.imageAuditing(request);

    参数说明

    Request 中的具体数据描述如下:
    节点名称(关键字)
    描述
    类型
    是否必选
    ObjectKey
    COS 存储桶中的图片文件名称,COS 存储桶由Host指定,例如在北京的 examplebucket-1250000000存储桶中的目录 test 下的文件 img.jpg,则Host填写 examplebucket-1250000000.cos.ap-beijing.myqcloud.com,ObjectKey填写 test/img.jpg。
    String
    bizType
    表示审核策略的唯一标识,您可以通过控制台上的审核策略页面,配置您希望审核的场景,如涉黄、广告、违法违规等,配置指引: 设置审核策略。您可以在控制台上获取到 bizType。bizType 填写时,此条审核请求将按照该审核策略中配置的场景进行审核。bizType 不填写时,将自动使用默认的审核策略。
    String
    detectType
    (后续不再维护)审核的场景类型,有效值:Porn(涉黄)、Ads(广告)等,可以传入多种类型,不同类型以逗号分隔,例如:Porn,Ads。如您有更多场景的审核需要,请使用 bizType 参数。
    String
    detectUrl
    您可以通过填写detectUrl审核任意公网可访问的图片链接不填写detectUrl时,后台会默认审核ObjectKey填写了detectUrl时,后台会审核detectUrl链接,无需再填写ObjectKey``detectUrl示例:http://www.example.com/abc.jpg。
    String
    interval
    审核 GIF 动图时,可使用该参数进行截帧配置,代表截帧的间隔。例如值设为5,则表示从第1帧开始截取,每隔5帧截取一帧,默认值5。
    Int
    maxFrames
    针对 GIF 动图审核的最大截帧数量,需大于0。例如值设为5,则表示最大截取5帧,默认值为5。
    Int
    largeImageDetect
    对于超过大小限制的图片是否进行压缩后再审核,取值为: 0(不压缩),1(压缩)。默认为0。注:压缩最大支持32MB的图片,且会收取图片压缩费用。对于 GIF 等动态图过大时,压缩时间较长,可能会导致审核超时失败。
    Int
    dataId
    图片标识,该字段在结果中返回原始内容,长度限制为512字节。
    String
    async
    是否异步进行审核,取值 0:同步返回结果,1:异步进行审核,默认为0。
    Int
    callback
    审核结果(Detail版本)以回调形式发送至您的回调地址,异步审核时生效,支持以 http:// 或者 https:// 开头的地址,例如: http://www.callback.com
    String

    返回结果说明

    成功:成功则返回 ImageAuditingResponse 实例,内含审核结果内容。
    失败:发生错误(例如 Bucket 不存在),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理
    ImageAuditingResponse对象转为json后内容展示
    {
    "requestId":"NjJkOTI3YTJfNGNhY2ZhMDlfOWJhOV9hZ*****",
    "jobId":"si461d9f9608de11ed9b3d525400b*****",
    "object":"1.png",
    "compressionResult":"0",
    "result":"0",
    "label":"Normal",
    "category":"",
    "subLabel":"",
    "score":"42",
    "text":"",
    "state":"Success",
    "pornInfo":{
    "code":"0",
    "msg":"OK",
    "hitFlag":"0",
    "score":"0",
    "label":"",
    "ocrResults":{
    "text":"",
    "keywords":""
    },
    "category":""
    }
    }
    响应包体具体数据内容如下:
    参数名称
    类型
    描述
    DataId
    String
    图片标识,审核结果会返回原始内容,长度限制为512字节。
    JobId
    String
    图片审核任务的 ID。
    State
    String
    审核任务的状态,值为 Success(审核成功)。
    Object
    String
    存储在 COS 桶中的图片名称,创建任务使用 ObjectKey 时返回。
    Url
    String
    图片文件的链接地址,创建任务使用 detect-url 时返回。
    CompressionResult
    Int
    图片是否被压缩处理,值为 0(未压缩),1(正常压缩)。
    Result
    Int
    该字段表示本次判定的审核结果,您可以根据该结果,进行后续的操作;建议您按照业务所需,对不同的审核结果进行相应处理。有效值:0(审核正常),1 (判定为违规敏感文件),2(疑似敏感,建议人工复核)。
    Label
    String
    该字段用于返回检测结果中所对应的优先级最高的恶意标签,表示模型推荐的审核结果,建议您按照业务所需,对不同违规类型与建议值进行处理。返回值:Normal 表示正常,Porn 表示色情,Ads 表示广告,以及其他不安全或不适宜的类型。
    Category
    String
    该字段为Label的子集,表示审核命中的具体审核类别。例如 Sexy,表示色情标签中的性感类别。
    SubLabel
    String
    该图命中的二级标签结果。
    Score
    Int
    该字段表示审核结果命中审核信息的置信度,取值范围:0(置信度最低)-100(置信度最高 ),越高代表该内容越有可能属于当前返回审核信息例如:色情 99,则表明该内容非常有可能属于色情内容。
    Text
    String
    该图里的文字内容(OCR),当审核策略开启文本内容检测时返回。
    PornInfo
    Container
    审核场景为涉黄的审核结果信息。
    AdsInfo
    Container
    审核场景为广告引导的审核结果信息。
    审核信息(PornInfo、AdsInfo)中包含如下内容:
    参数名称
    类型
    描述
    Code
    Int
    错误码,0为正确,其他数字对应相应错误。详情请参见 错误码
    Msg
    String
    具体错误信息,如正常则为 OK。
    HitFlag
    Int
    用于返回该审核场景的审核结果,返回值:0:正常。1:确认为当前场景的违规内容。2:疑似为当前场景的违规内容。
    Score
    Int
    该字段表示审核结果命中审核信息的置信度,取值范围:0(置信度最低)-100(置信度最高),越高代表该内容越有可能属于当前返回审核信息。其中0 - 60分表示图片正常,61 - 90分表示图片疑似敏感,91 - 100分表示图片确定敏感。例如:色情 99,表明该内容非常有可能属于色情内容。
    Label
    String
    该字段表示该截图的综合结果标签(可能为 SubLabel,可能为人物名字等)。
    Category
    String
    该字段为Label的子集,表示审核命中的具体审核类别。例如 Sexy,表示色情标签中的性感类别。
    SubLabel
    String
    该字段表示审核命中的具体子标签,例如:Porn 下的 SexBehavior 子标签。
    注意:该字段可能返回空,表示未命中具体的子标签。
    OcrResults
    Container Array
    该字段表示 OCR 文本识别的详细检测结果,包括文本识别结果、命中的关键词等信息,有相关违规内容时返回。
    LibResults
    Container Array
    该字段用于返回基于风险库识别的结果。
    注意:未命中风险库中样本时,此字段不返回。
    Container 节点 LibResults 的内容:
    参数名称
    类型
    描述
    ImageId
    String
    该字段表示命中的风险库中的图片样本 ID。
    Score
    String
    该字段用于返回当前标签下的置信度,取值范围:0(置信度最低)-100(置信度最高 ),越高代表当前的图片越有可能命中库中的样本。例如:色情 99,表明该数据非常有可能命中库中的色情样本。
    Container 节点 OcrResults 的内容:
    参数名称
    类型
    描述
    Text
    String
    图片 OCR 文本识别出的具体文本内容。
    Keywords
    Array
    在当前审核场景下命中的关键词。
    Location
    Container
    该参数用于返回 OCR 检测框在图片中的位置(左上角 xy 坐标、长宽、旋转角度),以方便快速定位识别文字的相关信息。
    名称
    类型
    描述
    X
    Float
    该参数用于返回检测框左上角位置的横坐标(x)所在的像素位置,结合剩余参数可唯一确定检测框的大小和位置。
    Y
    Float
    该参数用于返回检测框左上角位置的纵坐标(y)所在的像素位置,结合剩余参数可唯一确定检测框的大小和位置。
    Width
    Float
    该参数用于返回检测框的宽度(由左上角出发在 x 轴向右延伸的长度),结合剩余参数可唯一确定检测框的大小和位置。
    Height
    Float
    该参数用于返回检测框的高度(由左上角出发在 y 轴向下延伸的长度),结合剩余参数可唯一确定检测框的大小和位置。
    Rotate
    Float
    该参数用于返回检测框的旋转角度,该参数结合 X 和 Y 两个坐标参数可唯一确定检测框的具体位置;取值:0-360角度制),方向为逆时针旋转

    图片批量审核

    功能说明

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

    方法原型

    BatchImageAuditingResponse batchImageAuditing(BatchImageAuditingRequest request);

    请求示例

    //1.创建任务请求对象
    BatchImageAuditingRequest request = new BatchImageAuditingRequest();
    //2.添加请求参数 参数详情请见api接口文档
    //2.1设置请求bucket
    request.setBucketName("examplebucket-1250000000");
    //2.2添加请求内容
    List<BatchImageAuditingInputObject> inputList = request.getInputList();
    BatchImageAuditingInputObject input = new BatchImageAuditingInputObject();
    input.setObject("1.jpg");
    input.setDataId("DataId");
    inputList.add(input);
    
    input = new BatchImageAuditingInputObject();
    input.setUrl("https://examplebucket-1250000000.cos.ap-chongqing.myqcloud.com/1.png");
    input.setDataId("DataId");
    inputList.add(input);
    
    //2.2设置审核类型
    request.getConf().setDetectType("all");
    //3.调用接口,获取任务响应对象
    BatchImageAuditingResponse response = client.batchImageAuditing(request);
    List<BatchImageJobDetail> jobList = response.getJobList();

    参数说明

    request 的数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    Request
    图片批量审核的具体配置项。
    Container
    Container 类型 Request 的具体数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    Input
    Request
    需要审核的内容,如有多个图片,请传入多个 Input 结构。
    Container Array
    Conf
    Request
    审核规则配置。
    Container
    Container 类型 Input 的具体数据描述如下,使用其中一种:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    Object
    Request.Input
    存储在 COS 存储桶中的图片文件名称,例如在目录 test 中的文件 image.jpg,则文件名称为 test/image.jpg。Object 和 Url 只能选择其中一种。
    String
    Url
    Request.Input
    图片文件的链接地址,例如 http://a-1250000.cos.ap-shanghai.myqcloud.com/image.jpg。Object 和 Url 只能选择其中一种。
    String
    Interval
    Request.Input
    截帧频率,GIF 图检测专用,默认值为5,表示从第一帧(包含)开始每隔5帧截取一帧。
    Int
    MaxFrames
    Request.Input
    最大截帧数量,GIF 图检测专用,默认值为5,表示只截取 GIF 的5帧图片进行审核,必须大于0。
    Int
    DataId
    Request.Input
    图片标识,该字段在结果中返回原始内容,长度限制为512字节。
    String
    LargeImageDetect
    Request.Input
    对于超过大小限制的图片是否进行压缩后再审核,取值为: 0(不压缩),1(压缩)。默认为0。
    注:压缩最大支持32M的图片,且会收取压缩费用。
    Int
    UserInfo
    Request.Input
    用户业务字段。
    Container
    Container 节点 UserInfo 的内容:
    节点名称(关键字)
    描述
    类型
    是否必选
    TokenId
    一般用于表示账号信息,长度不超过128字节。
    String
    Nickname
    一般用于表示昵称信息,长度不超过128字节。
    String
    DeviceId
    一般用于表示设备信息,长度不超过128字节。
    String
    AppId
    一般用于表示 App 的唯一标识,长度不超过128字节。
    String
    Room
    一般用于表示房间号信息,长度不超过128字节。
    String
    IP
    一般用于表示 IP 地址信息,长度不超过128字节。
    String
    Type
    一般用于表示业务类型,长度不超过128字节。
    String
    ReceiveTokenId
    一般用于表示接收消息的用户账号,长度不超过128字节。
    String
    Gender
    一般用于表示性别信息,长度不超过128字节。
    String
    Level
    一般用于表示等级信息,长度不超过128字节。
    String
    Role
    一般用于表示角色信息,长度不超过128字节。
    String
    Container 类型 Conf 的具体数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    BizType
    Request.Conf
    表示审核策略的唯一标识,您可以通过控制台上的审核策略页面,配置您希望审核的场景,如涉黄、广告、违法违规等,配置指引: 设置审核策略。您可以在控制台上获取到 BizType。BizType 填写时,此条审核请求将按照该审核策略中配置的场景进行审核。BizType 不填写时,将自动使用默认的审核策略。
    String
    DetectType
    Request.Conf
    (后续不再维护)审核的场景类型,有效值:Porn(涉黄)、Ads(广告)等,可以传入多种类型,不同类型以逗号分隔,例如:Porn,Ads。如您有更多场景的审核需要,请使用 BizType 参数。
    String
    Async
    Request.Conf
    是否异步进行审核,0:同步返回结果,1:异步进行审核。默认值为 0。
    Integer
    Callback
    Request.Conf
    审核结果(Detail版本)以回调形式发送至您的回调地址,异步审核时生效,支持以 http:// 或者 https:// 开头的地址,例如:http://www.callback.com
    String
    注意:
    通过 Object 进行审核为内网操作,不会产生额外的外网流量。
    通过 Url 进行审核,会产生图片所在源站对应的外网流量。

    返回结果说明

    成功:成功则返回 BatchImageAuditingResponse 实例,内含审核结果内容。
    失败:发生错误(例如 Bucket 不存在),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理
    ImageAuditingResponse对象转为json后内容展示
    {
    "requestId":"NjJkOTJjMjVfMTIwNjUzMDlfNDg5OF8*****",
    "jobList":[
    {
    "dataId":"DataId",
    "jobId":"sif6423b8008e011ed9b3d525400*****",
    "category":"",
    "label":"Normal",
    "result":"0",
    "object":"1.jpg",
    "score":"0",
    "subLabel":"",
    "text":"",
    "code":"",
    "message":"",
    "url":"",
    "compressionResult":"0",
    "pornInfo":{
    "code":"0",
    "msg":"OK",
    "hitFlag":"0",
    "score":"45",
    "label":"",
    "keywords":"",
    "count":"",
    "subLabel":"",
    "ocrResults":{
    "text":"",
    "keywords":""
    },
    "category":""
    },
    "adsInfo":{
    "code":"0",
    "msg":"OK",
    "hitFlag":"0",
    "score":"0",
    "label":"",
    "keywords":"",
    "count":"",
    "subLabel":"",
    "ocrResults":{
    "text":"",
    "keywords":""
    },
    "category":""
    },
    "userInfo":{
    "tokenId":"",
    "nickname":"",
    "deviceId":"",
    "appId":"",
    "room":"",
    "ip":"",
    "type":"",
    "receiveTokenId":"",
    "gender":"",
    "level":"",
    "role":""
    },
    "ocrResults":{
    "text":"",
    "keywords":""
    }
    },
    {
    "dataId":"DataId",
    "jobId":"sif640a3c108e011ed9b3d525400*****",
    "category":"",
    "label":"Normal",
    "result":"0",
    "object":"",
    "score":"42",
    "subLabel":"",
    "text":"",
    "code":"",
    "message":"",
    "url":"https://demo-1234567890.cos.ap-chongqing.myqcloud.com/1.png",
    "compressionResult":"0",
    "pornInfo":{
    "code":"0",
    "msg":"OK",
    "hitFlag":"0",
    "score":"0",
    "label":"",
    "keywords":"",
    "count":"",
    "subLabel":"",
    "category":"",
    "ocrResults":{
    "text":"",
    "keywords":""
    }
    },
    "adsInfo":{
    "code":"0",
    "msg":"OK",
    "hitFlag":"0",
    "score":"0",
    "label":"",
    "keywords":"",
    "count":"",
    "subLabel":"",
    "category":"",
    "ocrResults":{
    "text":"",
    "keywords":""
    }
    },
    "userInfo":{
    "tokenId":"",
    "nickname":"",
    "deviceId":"",
    "appId":"",
    "room":"",
    "ip":"",
    "type":"",
    "receiveTokenId":"",
    "gender":"",
    "level":"",
    "role":""
    },
    "ocrResults":{
    "text":"",
    "keywords":""
    }
    }
    ]
    }
    响应包体具体数据内容如下:
    Response 的内容:
    参数名称
    类型
    描述
    JobsDetail
    Array
    图片审核的结果
    RequestId
    String
    每次请求发送时,服务端将会自动为请求生成一个 ID,遇到问题时,该 ID 能更快地协助定位问题。
    JobsDetail 节点内容如下:
    参数名称
    类型
    描述
    Code
    String
    错误码,只有失败时返回。详情请查看 错误码列表
    Message
    String
    错误描述,只有失败时返回。
    DataId
    String
    图片标识,审核结果会返回原始内容,长度限制为512字节。
    JobId
    String
    本次审核任务的 ID。
    State
    String
    审核任务的状态,值为Success(审核成功)、Failed(审核失败)其中一个。
    Object
    String
    存储在 COS 存储桶中的图片文件名称,创建任务使用Object时返回。
    Url
    String
    图片文件的链接地址,创建任务使用Url时返回。
    CompressionResult
    Integer
    图片是否被压缩处理,值为 0(未压缩),1(正常压缩)。
    Label
    String
    该字段用于返回检测结果中所对应的优先级最高的恶意标签,表示模型推荐的审核结果,建议您按照业务所需,对不同违规类型与建议值进行处理。 返回值:Normal:正常,Porn:色情,Ads:广告等。
    Result
    Integer
    该字段表示本次判定的审核结果,您可以根据该结果,进行后续的操作;建议您按照业务所需,对不同的审核结果进行相应处理。有效值:0(审核正常),1 (判定为违规敏感文件),2(疑似敏感,建议人工复核)。
    Score
    Integer
    该字段表示审核结果命中审核信息的置信度,取值范围:0(置信度最低)-100(置信度最高 ),越高代表该内容越有可能属于当前返回审核信息。例如:色情 99,表明该内容非常有可能属于色情内容。
    Category
    String
    该图命中的审核类别结果。
    SubLabel
    String
    该图命中的二级标签结果。
    Text
    String
    该图里的文字内容(OCR),当审核策略开启文本内容检测时返回。
    PornInfo
    Container
    审核场景为涉黄的审核结果信息。
    AdsInfo
    Container
    审核场景为广告引导的审核结果信息。
    UserInfo
    Container
    请求中设置的 UserInfo 原样返回。
    ListInfo
    Container
    账号黑白名单结果。
    审核信息(PornInfo、AdsInfo 等)中的内容如下:
    参数名称
    类型
    描述
    Code
    Integer
    单个审核场景的错误码,0为成功,其他为失败。详情请参见 错误码
    Msg
    String
    具体错误信息,如正常则为 OK。
    HitFlag
    Integer
    用于返回该审核场景的审核结果,返回值:0:正常。1:确认为当前场景的违规内容。2:疑似为当前场景的违规内容。
    Score
    Integer
    该字段表示审核结果命中审核信息的置信度,取值范围:0(置信度最低)-100(置信度最高 ),越高代表该内容越有可能属于当前返回审核信息例如:色情 99,则表明该内容非常有可能属于色情内容。
    Label
    String
    该图的结果标签(为综合标签,可能为 SubLabel,可能为人物名字等)。
    Category
    String
    该字段为Label的子集,表示审核命中的具体审核类别。例如 Sexy,表示色情标签中的性感类别。
    SubLabel
    String
    该图的二级标签结果。
    OcrResults
    Container Array
    该字段表示 OCR 文本识别的详细检测结果,包括文本坐标信息、文本识别结果等信息,有相关违规内容时返回。
    LibResults
    Container Array
    该字段用于返回基于风险库识别的结果。注意:未命中风险库中样本时,此字段不返回。
    Container 节点 LibResults 的内容:
    节点名称(关键字)
    类型
    描述
    ImageId
    String
    该字段表示命中的风险库中的图片样本ID。
    Score
    Integer
    该字段用于返回当前标签下的置信度,取值范围:0(置信度最低)-100(置信度最高 ),越高代表当前的图片越有可能命中库中的样本。例如:色情 99,则表明该数据非常有可能命中库中的色情样本。
    OcrResults 的内容如下:
    节点名称(关键字)
    类型
    描述
    Text
    String
    有敏感信息的 Ocr 文本内容。
    Keywords
    String Array
    该段内容中的敏感文字。
    UserInfo 的内容(与请求中的 UserInfo 一致):
    节点名称(关键字)
    描述
    类型
    是否必选
    TokenId
    一般用于表示账号信息,长度不超过128字节。
    String
    Nickname
    一般用于表示昵称信息,长度不超过128字节。
    String
    DeviceId
    一般用于表示设备信息,长度不超过128字节。
    String
    AppId
    一般用于表示App的唯一标识,长度不超过128字节。
    String
    Room
    一般用于表示房间号信息,长度不超过128字节。
    String
    IP
    一般用于表示IP地址信息,长度不超过128字节。
    String
    Type
    一般用于表示业务类型,长度不超过128字节。
    String
    ReceiveTokenId
    一般用于表示接收消息的用户账号,长度不超过128字节。
    String
    Gender
    一般用于表示性别信息,长度不超过128字节。
    String
    Level
    一般用于表示等级信息,长度不超过128字节。
    String
    Role
    一般用于表示角色信息,长度不超过128字节。
    String
    ListInfo 的内容:
    节点名称(关键字)
    类型
    描述
    ListResults
    Container Array
    命中的所有名单结果。
    ListResults 的内容:
    节点名称(关键字)
    类型
    描述
    ListType
    String
    命中的名单类型,取值为0(白名单)和1(黑名单)。
    ListName
    String
    命中的名单名称。
    Entity
    String
    命中了名单中的哪条内容。
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持