识别为什么会准或不准
结果由七个环节共同决定,阈值只是其中一环
“把阈值调低”通常只能让系统更敢猜,不能修复错误候选、坏图、缺样本或错误引擎。按顺序判断,才能知道应该改哪里。
- 01业务配置
收敛真实候选
先按客户、流程、部门、正结存等当前业务事实取得允许选择的货品集合。
缺失时:模型可能在不属于本次业务的货品里找到高相似图片。
- 02现场拍摄
通过图像质量闸
清晰度、亮度、单件构图和拍摄角度合格后,图片才适合作为识别或学习输入。
缺失时:糊、暗、过曝或多件混拍会毒化特征库,后续越用越错。
- 03识别引擎
生成特征向量
普通、深度、定位裁剪或 DINOv2 以不同成本提取视觉特征;引擎之间分数尺度不同。
缺失时:引擎不适合背景或构图,换阈值也只能有限补救。
- 04检索
在候选内排序
待测向量只与当前账套、当前业务候选的有效特征比较,返回 Top K。
缺失时:候选范围过大或特征覆盖不足,正确货品排不到前面。
- 05置信规则
分成预填、候选、未命中
High、Mid 和领先差共同决定是否直接预填、仅列候选或明确没把握。
缺失时:High 过松会误认,Mid 过严会频繁没有候选。
- 06人工确认
操作员确认正式货品
候选只是辅助;最终选择仍来自正式货品。确认结果会记录认对、认错与采纳名次。
缺失时:把最高分当主键会把视觉误差直接写成业务事实。
- 07运维闭环
用日志标定和清理
看近 30 天分布,用近 90 天已确认结果预览阈值建议,必要时评估模型自适应和软删脏特征。
缺失时:没有反馈闭环,只能长期靠起步阈值和人工感觉。
先定候选,再谈视觉
不同业务页面的候选范围不能混用
| 业务环节 | 识别只能在什么范围里找 | 有歧义时怎么办 |
|---|---|---|
| 来货 | 当前客户有正式业务关系的货品。 | 列正式候选让操作员确认;确属新货时走明确建档流程。 |
| 生产交接 | 所选来源部门和工作流程路线中可交接的正结存批次与货品。 | 显示候选差异,不按最高相似度直接提交。 |
| 生产作业 | 当前功能所绑工作流程交货部门的正结存批次。 | 手选、扫码和识别都接受同一部门库存范围校验。 |
| 出货 | 出货流程交货部门中可出货的正式库存,再按客户和扫码规则收敛。 | 回到业务条件补齐,不把识别扩大为全库搜索。 |
运维工具 · 货品识别
配置页:先处理开关、来源和引擎,再看高级参数
配置按当前账套保存,手机下一次识别生效。OCR 拍单与货品视觉识别互相独立,不要因为关闭其中一个就推断另一个也关闭。
- 1货品维护扫码来源、视觉识别和 OCR 开关
- 2识别引擎与灵敏度
- 3质量闸、命中率体检和阈值标定
- 4模型自适应、特征统计与定向清理
- 1
读取当前账套配置
先确认顶部 API 和维护对象,再点“读取配置”。核对货品维护扫码来源是否真实可用;视觉识别与 OCR 是两个独立开关。
- 2
按现场图选择引擎和灵敏度
先用标准灵敏度。误认多再调严格,频繁手选再考虑宽松;切换引擎后,旧阈值尺度和特征不能当作已经验证。
- 3
高级参数只在有证据时调整
质量闸保护特征库,Top K 控制返回候选数,High/Mid/Margin 控制结果分带。先看测试和日志,再改对应参数。
- 4
保存后进入测试页复验
保存只改变当前账套识别配置。特征清理是软删且必须明确客户或货品,不能用空条件清全库。
完成结果:手机识别使用明确引擎和阈值,关闭、未命中与人工选择都有正常路径。
引擎不是越重越好
按现场画面问题选择,不按名称或“最准”盲选
| 引擎 | 适合的画面 | 代价与换用条件 |
|---|---|---|
| 普通(整帧) | 背景简单、货品占画面主体、设备资源有限。 | 最省资源;若乱背景明显干扰候选,再比较深度引擎。 |
| 深度(ONNX) | 背景复杂,单纯颜色和纹理容易被环境带偏。 | 模型更大、CPU 更慢;必须用真图证明排序改善。 |
| 深度 + 定位裁 | 货品经常偏在画面一角,整帧特征被大面积背景稀释。 | 增加定位与裁剪链,构图稳定时未必优于普通深度。 |
| 深度 Pro(DINOv2) | 复杂材质、易混品较多,现场接受更高资源成本并追求精度。 | 特征维度与分数尺度不同;切换后重新积累/重建特征并重新标定。 |
分数不是业务主键
High、Mid、Margin 分别回答三个不同问题
阈值必须跟当前引擎一起理解。不同编码器的相似度尺子不同,不能把一个引擎的数字原样抄给另一个。
| 参数 | 它控制什么 | 调错后的表现 |
|---|---|---|
| High(直接预填线) | Top 1 足够高且其他条件满足时,允许预填正确候选,仍不自动落单。 | 过低:误认增多;过高:本来清楚的货也总要手选。 |
| Mid(候选线) | 低于 High 但高于 Mid 时,只列候选让人确认。 | 过低:大量相似但无关候选;过高:频繁显示未命中。 |
| Margin(领先差) | 判断 Top 1 是否真正领先 Top 2,避免两个易混品分数接近仍被预填。 | 过小:易混品被冒进预填;过大:候选经常降级为不确定。 |
| 质量闸 | 先拒绝太糊、太暗、太亮或非单件图进入识别/学习。 | 过松会污染特征;过严会让正常现场图无法参与。 |
| Top K | 最多给操作员多少个排序候选。 | 太少可能看不到正确货;太多增加选择负担且掩盖范围问题。 |
先沙盒,后现场
货品识别测试:比较排序,不写特征库和业务单据
左侧放同一货品的多角度参考图,右侧放待测图。测试使用当前账套引擎和阈值,只在内存比对。
- 1同一货品的多角度参考图
- 2真实现场条件的待测图
- 3运行当前引擎与阈值测试
- 4命中、不确定、未命中的结果与分数
- 1
参考图覆盖真实外观变化
同一货品至少覆盖正反面、角度、摆放和合理光线差异;不要只放一张棚拍美图。
- 2
待测图要包含难例
加入现场常见背景、偏角、反光、包装差异和易混品。只测最好的一组图片不能说明稳定。
- 3
运行测试并观察排序
测试不会新增特征、不会建来货单。正确货品应稳定处在合理名次,易混品需要保持可解释的候选关系。
- 4
按症状回到对应层修正
全都低先查图像和特征;错误货品很高先查业务范围和脏特征;Top 1/2 接近再看 Margin;不要一律调低 High。
完成结果:正常图、难例、不同货和未命中图都有符合预期的置信带与人工处理路径。
越用越准的前提是反馈可信
体检、阈值标定、模型自适应和特征清理的先后关系
| 动作 | 它使用什么证据 | 什么时候才执行 |
|---|---|---|
| 近 30 天命中率体检 | 识别次数、置信带分布、坏图数量和平均候选情况。 | 每次读取配置先看;用于判断问题类型,不直接改参数。 |
| 阈值标定预览 | 近 90 天当前引擎下、操作员已确认的认对/认错和采纳名次。 | 数据量足够后先预览 High/Mid 建议;不足则保持现有阈值不动。 |
| 应用阈值标定 | 预览出的建议和精确率/召回权衡。 | 确认建议合理后显式应用;换引擎后重新标定。 |
| 模型自适应评估 | 现有特征向量,按货品类别做留出集 A/B 命中率比较。 | 样本和类别足够,且评估确实比原模型好时才允许应用。 |
| 定向清理脏特征 | 明确客户编码或货品编码,以及选错/模糊样本的证据。 | 二次确认后软删并保留历史;绝不空条件清全库。 |
先定位问题属于哪一层
常见现象与正确处理顺序
| 现象 | 先看什么 | 通常不是先做什么 |
|---|---|---|
| 总是没有候选 | 当前业务候选是否为空、特征是否覆盖这些货品、图片是否过质量闸、Mid 是否过高。 | 直接把 High 和 Mid 一起大幅调低。 |
| 经常认成另一个客户的货 | 客户/流程/部门候选范围是否在识别前已收敛,特征是否属于当前账套。 | 为某个货品写死排除例外。 |
| 易混品总被直接预填 | Top 1 与 Top 2 的领先差、High 是否过松、是否有脏特征或参考角度不足。 | 关闭人工确认或把相似度当货品编码。 |
| 换引擎后整体分数下降 | 是否重新生成当前引擎特征,是否仍在使用旧引擎阈值。 | 认定新引擎一定更差,或沿用旧数字继续生产。 |
| 越用越不准 | 现场确认是否可信、坏图是否进入特征库、是否需要按客户/货品软删脏特征。 | 清空全库后从零开始,丢失可追溯历史。 |
| 沙盒好、手机差 | 手机实际光线、距离、背景、构图、网络和业务候选是否与沙盒一致。 | 只重复跑同一组精选图片。 |
用真实现场分布验收
货品识别现场验收清单
不要只报一个平均准确率。至少分别记录正常命中、易混淆、无候选、坏图和停用回退,才能判断系统是否真正可用。
- 1. 候选范围正确
不同客户、流程和部门的同类货不会跨业务范围互相干扰。
- 2. 参考图有覆盖
重点货品有多角度特征,易混品、包装变化和反光表面有专门样本。
- 3. 质量闸可理解
糊、暗、过曝和多件图明确拒绝,正常现场图不会被大面积误拒。
- 4. 三种置信结果
预填、候选、未命中都有代表性样本,操作员知道下一步。
- 5. 人工选择可用
识别关闭、失败或不确定时仍能从正式候选继续,不阻断基本业务。
- 6. 手机与沙盒一致
同一批图片在当前账套、当前引擎下排序和置信带可解释。
- 7. 反馈能进入体检
操作员确认结果形成日志,近 30 天体检能看到实际分布。
- 8. 调优可回退
标定先预览、模型先 A/B;特征清理为定向软删并保留历史。