图片检测最佳实践方案
2025.12.26 14:25:26
1. 检测效果优化实践
1.1 背景
内容安全检测技术在不断更新迭代,为了确保您的业务总能获得最新、最准确的检测结果,我们需要采用适合的接入方案。简单来说,由于算法和模型持续优化,同一批图片在不同时期的检测结果可能会有差异,我们希望通过最佳实践方案确保您始终获得最新的准确结果。
1.2 同步检测方案(适合实时性要求高的场景)
1.2.1 流程图示意

1.2.2 接入流程
-
接入同步检测接口
- 文档参考:同步检测接口文档
- 核心概念:同步检测是指您发送图片后,立即获得检测结果,适合需要实时反馈的场景(如用户上传图片时的即时审核)。
- 操作建议:
- 调用检测接口获取即时结果,根据结果对图片进行初步处理(如允许发布或拒绝)。
- 保存返回的taskId值,这是易盾给每张检测图片分配的唯一ID,后续用于关联回调结果。
-
接入主动回调接口
- 文档参考:回调接入文档
- 核心概念: 主动回调是指易盾在后续优化检测结果后,主动将最新结果推送到您指定的服务器地址。
- 为什么需要: 由于算法和模型的持续优化,有时会返回同步检测机审结果的补充结果,返回比首次机审结果严重程度更高的结果。
- 操作方法: 在请求参数中设置
callbackUrl(您的服务器接收回调的接口地址),用于接收最新准确结果的推送,便于二次业务处理。 - 返回示例:
- 首次检测结果为"通过",后续优化分析发现实际应为"不通过"
- 首次检测结果为"不通过-涉价值观",后续优化发现实际应为更严重的"不通过-涉政"
- 操作建议:
- 解析回调结果,识别回调数据中的
resultType=1的字段,这表示是机器审核结果。 - 解析回调结果,识别回调中的
taskid,匹配之前保存的记录,根据最新结果调整处理策略,做出适合的二次处理动作。
- 解析回调结果,识别回调数据中的
1.3 异步检测方案(适合批量处理或历史数据扫描)
1.3.1 流程图示意

1.2.2 接入流程
-
提交异步检测请求
- 文档参考:异步检测接口文档
- 核心概念:异步检测是指您提交图片后,易盾立即返回任务taskId,模型检测在异步进行,检测完成后通过回调通知您检测结果。
- 接入方式:调用图片异步检测接口,通过主动回调获取检测结果。
- 适用场景:历史数据批量扫描、非实时性要求的场景。
- 操作建议:
- 解析接口响应信息,需将响应信息中的
taskid存储,该值是检测任务的唯一标识,便于主动回调时匹配查询。
- 解析接口响应信息,需将响应信息中的
-
接入主动回调
- 文档参考:回调接入文档
- 接入方式:强烈建议接入主动推送回调方式,即在请求参数中指定回调地址参数
callbackUrl(客户侧用于接收回调的接口地址)。 - 操作建议:
- 当收到回调数据时,根据检测结果进行业务处理
2. 系统稳定性保障实践
2.1 背景
由于线上请求接口所处的网络环境较为复杂,可能出现各种异常情况(如DNS劫持、网络攻击、运营商线路故障等),为确保内容安全检测服务不因这些异常而中断,需要采取多重保障措施。
2.2 域名不可用、运营商链路异常
2.2.1 超时报错处理
- 超时时间建议:
- 最小超时时间建议设置为 3秒
- 推荐超时时间设置为 5-10秒
- 根据业务容忍度适当调整
//Java SDK 使用示例
ClientProfile clientProfile = AntispamRequester.createDefaultProfile("SecretId", "SecretKey");
// 按照需求设置http请求的多个参数配置
HttpClientConfig httpClientConfig = clientProfile.getHttpClientConfig();
httpClientConfig.setSocketTimeoutMillis(60000);
2.2.2 同步重试-域名切换
- 目的:解决当前域名不可用或运营商链路故障问题
- SDK接入方式:
- SDK内自带域名自动切换能力
- 当检测到当前接口请求失败时,自动切换其他域名进行重试
- 参考文档:熔断降级
- API接入方式:
- 推荐使用 Sentinel、Hystrix 等熔断降级组件
- 在请求失败时,降级到使用备用域名访问
2.2.3 异步重试
- 目的:建议走先发后审,解决同步重试也无法请求到接口的情况
- SDK接入方式:
- SDK内置基于文件的异步重试能力
- 同步重试仍不成功时,会写入文件进行异步重试
- 参考文档:失败重试
- API接入方式:
- 推荐接入消息队列(MQ)
- 请求失败时推送到MQ中,通过异步消费进行重试
2.3 图片下载优化建议
2.3.1 背景
- 图片检测耗时依赖于图片的下载耗时,若下载较慢引起下载超时导致检测失败;
- 检测链路为:易盾下载服务发起下载请求 --> 资源服务 --> 资源服务返回图片内容 --> 易盾进行检测
2.3.2 CDN使用建议
-
✅ 推荐做法:
- 建议使用CDN加速图片下载,提升下载速度
- 建议进行CDN预热,避免首次下载耗时较久导致超时
- 建议压缩图片,不要使用过大图片,图片过大下载较慢
-
❌ 避免做法:
- 不要使用CDN的预处理功能,首次处理耗时较久
- 避免使用未经压缩的大图,大图对于检测有害而无利
2.3.2 图片规格建议
- 单张图片大小建议不超过 2MB
- 分辨率建议控制在 1920×1080 以内
- 推荐使用 WebP 或 JPEG 格式以优化下载速度
2.4 回调地址安全建议
2.4.1 安全防护
- Referer校验:建议通过Referer白名单机制限制回调请求来源
- IP白名单:配置可信IP地址段
- 签名验证:对回调请求进行签名验证,确保请求合法性
2.4.2 回调处理建议
- 实现幂等性处理,避免重复处理同一回调
- 设置合理的超时时间和重试机制
- 记录完整的回调日志用于问题排查
