1. 业务背景:身份证上传中的常见问题与痛点
随着互联网业务的持续深化,用户身份信息核验已成为各类应用场景中的关键环节。身份证上传作为验证用户身份的核心手段,在实际操作中常面临诸多挑战。根据淘天场景金融(以下简称“场金”)项目的真实业务数据,用户在上传身份证时,常因以下图片质量问题导致业务流程中断:
- 非身份证图片上传:上传与身份证无关的图片,如社保卡、其他证件等。
- 两面照片顺序错误:上传时误将国徽面与人像面类型选择颠倒。
- 模糊:照片清晰度不足,导致姓名、身份证号码、有效期等关键信息区域无法被准确识别。
- 反光:因光线过强或拍摄角度不当,部分区域过亮,信息无法正常提取。
- 遮挡:身份证关键信息被手指或其他物品遮挡,部分内容无法正确识别。
- 不完整:身份证边缘被截断、内容超出范围或比例不符合要求。
- 多张卡证:将身份证两面图片合成一张图片上传。
这些问题不仅导致照片信息无法正常提取,用户因身份验证失败而退出当前业务流程,而且即使信息能被OCR提取,也可能因照片质量不符合机构侧要求而导致审核失败。因此,核心目标是:让用户上传质量更高的身份证照片。
> **小提示**:在实际业务中,建议在用户上传前通过前端进行简单的实时校验(如文件大小、分辨率、光线对比度等),配合后端AI检测,可进一步提高整体识别成功率。2. 为何引入多模态模型进行图片检测
场金的OCR服务由阿里云OCR提供,而本次采用的模型服务由阿里云百炼平台提供。理解两者区别,是选择技术方案的关键。
2.1 OCR与多模态模型文字提取的区别
- 基于深度学习的OCR: 是应用深度学习算法专门设计的字符识别系统,流程包括图像处理、特征提取、文字检测和文字识别。它专注于从图像中检测并准确识别文字,适用于特定场景,如身份证识别、发票抬头提取、车牌识别等,适合高效、大规模处理任务。
- 多模态模型的文字提取: 利用预训练的大规模神经网络模型(如GPT类语言模型或多模态模型)完成文字提取任务。这些模型训练了大量非结构化文本、语言和图片数据,通过大规模参数和上下文关联能力实现泛化。适用于模型泛化能力要求较强的场景,例如图片中复杂关系理解、结合上下文进行逻辑分析的OCR,以及更高层次的NLP和逻辑推理应用(如文档结构提取、多语言翻译)。
2.2 结合实际情况的结论
- OCR成功说明文字可以提取,但提取出的信息不一定完整。可能会因遮挡或反光缺失部分数据;而OCR失败则说明照片无法识别,质量较差。
- 多模态图片理解+上下文驱动不仅能识别图片文字/内容,还能实现个性定制、场景适配、智能决策与人性化输出。具体包括:
- 识别多种证件类型(如驾驶证、学生证、工作证、发票、车牌)或“非标准模板”证件(如临时证明)。
- 根据上下文指定返回格式和内容,可按业务需要返回JSON、XML、表格数组等不同结构,支持定制脱敏、字段顺序、中英文切换。
- 灵活的质量检测,支持根据实际业务场景调整质量检测的“容忍度”。
- 场景化建议与对客文案生成,针对识别结果和质量问题,自动生成定制化对客文案。
3. 模型调用问题与对策
在调用模型服务的实践中,归纳了以下主要问题及对应解决方案:
3.1 问题汇总
- 幻觉问题:在部分信息被遮挡的情况下,模型会错误地填补缺失部分信息。例如,将身份证有效期 “08.23 - 2041.08.23” 填补为 “2008.08.23 - 2041.08.23”;将“珠海”识别为“上海”。
- RT较高:当前多模态接口的平均响应时间较高(约3秒),同步调用会影响用户体验,尤其在对时效性要求高的场景。
- 准确率:不同模型(如Gemini、GPT、Qwen)准确率存在较大差异。
- 稳定性:接口出现服务不稳定、异常或非预期返回时,需要做好兼容处理。
3.2 解决方案
- 幻觉问题:继续沿用当前线上稳定的阿里云OCR服务完成信息数据提取,仅将模型服务用于照片质量检测,减少潜在误差。
- RT较高:根据OCR结果做差异化调用处理:
- OCR成功时:异步调用模型服务,避免阻塞用户主流程,调用返回后进行Toast轻提示。
- OCR失败时:同步调用模型服务,采用模型识别检测结果,并将模型给出的文案建议用Modal强提示。(也可提供用户主动触发检测的交互方式)
- 准确率:可持续优化提示词,但准确率极大程度取决于模型本身。由于身份证属于敏感数据,在安全性要求下必须使用阿里千问模型。
- 稳定性:
- 异常及非预期返回做兼容兜底。
- 线上设置开关和监控,便于快速问题定位与恢复。
4. 上线策略与线上表现
4.1 平滑发布:无感知预发布+递进+灰度
此次为用户端首次上线AI功能,为确保过程平稳可控,采用多阶段发布节奏:
- “无感知预发布”策略:上线初期仅埋点收集数据,确保用户界面与体验保持不变。根据数据验证,确认功能表现符合预期后,再进入下一阶段。
- “递进”策略:为平衡风险与效果验证,上线分阶段递进。首阶段,仅针对OCR识别失败的用户进行模型调用,收集数据并评估功能表现,确保链路稳定性。待试点稳定后,扩展至OCR全量场景(成功与失败均调用)。
- “灰度发布”策略:逐步放量,1% → 5% → 10% → 30% → 50% → 100%。
4.2 线上表现
截至目前,关键数据表现如下:
- 响应时间:接口整体稳定在3秒左右,未出现百炼服务异常或非预期返回。
- 问题分布:上线后,仅在OCR失败时调用模型,统计显示“非身份证”及“类型传反”的情况占比超过90%,具体分布如下:
| 模型理解结果 | 占比 |
| 类型传反(国徽面和人像面传反) | 53.67% |
| 非身份证 | 38.26% |
| 模糊和反光 | 5.41% |
| 不完整和遮挡 | 2.66% |
| 多张卡证 | 0% |
4.3 对客友好的提示文案
针对不同检测结果,系统会生成定制化的友好提示:
- 非身份证
您上传的图片不符合身份证照片的要求,请确认并重新上传真实有效的身份证照片。 - 非人像面或者国徽面
您上传的身份证照片与所选类型不符,请核对后重新上传正确的人像面或国徽面照片。 - 遮挡
检测到您的身份证关键信息区域有被遮挡,请确保信息清晰可见后重新上传。 - 模糊
您的身份证关键信息区域较为模糊无法识别,请重新拍摄并上传清晰的身份证照片。 - 多张卡证
系统检测到图片中包含多张身份证,请仅上传单张完整的身份证照片。 - 异常或非预期
身份证识别失败,请重新上传。
4.4 其他相关指标
上线后,相关指标表现出积极变化:
- OCR失败用户的再次失败率有所下降。
- 申请转化率有所提升。
整体来看,功能上线后对业务流程产生了正向影响。在手淘海量用户群体下,这些转化率的提升能够带来极其可观的业务增益!
> **常见问题**:灰度期间如何验证模型效果?
> **答**:可以通过A/B测试或对照实验,对比灰度组与对照组的关键指标(如再次失败率、转化率、用户投诉率等)。同时埋点记录模型的输出结果与用户行为,便于调优提示词和模型参数。
5. 百炼模型服务调用成本
5.1 计费方式
总费用 = 输入 Token 数 × 模型输入单价 + 输出 Token 数 × 模型输出单价。
5.2 图像Token的计算规则
图像转成Token的方法为每28x28像素对应一个Token,一张图最少4个Token;模型的单图Token上限为1280,超过该值的图像会被缩放,直到图像的Token小于1280。
可将单图Token上限从1280提升至16384,但响应时间也会增加。
5.3 百炼Qwen-VL-Max模型计费
调用单价预估
再计入prompt token、系统token以及返回时的元信息等,通过官方工具大致估算调用单价在0.01元左右。
> **小提示**:对于高并发场景,建议提前进行成本估算,并根据业务量评估是否合算。如果调用量极大,可考虑是否可缓存部分检测结果(如同一张图片多次检测),以进一步降低成本。6. 业务和技术上的价值
引入多模态模型照片检测,在业务和技术上带来以下核心价值:
- AI 应用场景突破:场金首个面向终端用户的AI接入实践,在产品场景中落地应用,探索了如何将大模型应用与实际业务结合。
- 提升转化率与入件率:在用户上传身份证的关键阶段,通过合理提示建议使用户上传更优质的图片,有效提高了转化率与入件率。
- 场景适配:通过大模型提示词的增强优化,无需对每个场景进行大规模定制即可快速扩展功能,适用于多种证件上传场景。未来结合工作流或智能体编排,可进一步提升可维护性和功能扩展能力。
- 通用性:借助统一的Mtop接口设计,最大程度减少不同产品间工程代码重复,提高技术复用性,同时降低了各产品的技术接入门槛。
综上,基于多模态模型的图片质量检测实践,为身份核验的业务流程提供了强有力的技术支撑,实现了用户体验与业务效率的双重提升。
