一句话结论
门店端侧视觉能不能用,八成取决于装之前的三件事:相机怎么装、网怎么走、断网怎么办。模型是第四件事。
一、相机选点:先定要看见什么
选点不是"找个位置把相机挂上去",而是从判定目标反推。
自助收银台的识别区,相机要能看见台面全部且不被顾客身体遮挡。常见的错误是装在收银机正上方偏后,顾客前倾时手部区域正好被压住;正确位置是斜前上方,俯角控制在能同时看到台面与商品顶面的区间。
货架分析要看整排货架,单相机覆盖宽度有限,容易出现边缘畸变导致识别不稳。宁可多装一台,也不要用广角硬拉一台覆盖两排。
选点阶段要做的是:在图上标出判定区域,确认目标在这些区域里的尺寸占画面比例够用。一个粗略的判据是,最小要识别的目标在画面里短边不少于 40 像素。低于这个数,靠模型调优救不回来。
二、安装高度与角度
俯角过大会把商品压成"扁"的,正面特征丢失;俯角过小会被人和手遮挡。
经验做法:先按现场货架/台面的高度算出一个能看全的角度,再用实拍验证。装完必须实测三件事:
- 站在最不利位置(最远的顾客、最高的人)拍一张,看目标是否仍可见
- 开顶灯与关顶灯各拍一张,看曝光是否稳定
- 连续拍 100 张,看是否有抖动导致的运动模糊
这三件事在现场十分钟能做完,但能省掉后面两周的"识别率上不去"。
三、网络:门店不是机房
门店宽带的实际质量与合同带宽经常差一截,且晚高峰抖动明显。
约定三条原则:
- 识别不走网络。推理在本地设备完成,判断链路里没有网络往返。
- 交易不依赖网络。断网时本笔交易必须能闭环,联网后补传记录。
- 上报只传结构化结果与必要的小图,不传整段视频。
实现上要有明确的离线队列:断网时结果进本地队列,恢复后按时间顺序补传,并标记补传时间。否则事后查账会出现"记录时间与实际发生时间不一致"的争论。
四、算力与并发
一台设备同时跑几路识别,取决于单路推理耗时与并发要求。
自测口径:在目标机型上测单帧推理耗时(含预处理与后处理),乘以峰值并发路数,再加 30% 余量,才是需要的算力。不要用桌面显卡的数据推断端侧设备。
收银台场景的常见坑是"只在低峰测过"。上线后高峰期排队,识别超时会直接把体验打穿。所以压测要按高峰并发做,而不是按平均。
五、上线验收清单
上线不看"演示效果好",看下面这几条能不能过:
- 断网演练:拔网线后完成一笔完整交易,恢复后记录能补上
- 光照演练:开灯/关灯/侧光三种条件下,识别结果是否在可接受范围
- 遮挡演练:顾客正常动作(前倾、换手、并排站)下是否仍可用
- 长稳演练:连续运行 24 小时,看内存与识别耗时是否劣化
- 回滚演练:换回上一个版本能不能正常跑
任何一条不过,都不要进下一家门店。
六、日常运维
装完之后的成本在运维:谁在线、跑的是什么版本、哪家店最近识别明显下降。
要有的最小台账:设备编号、门店、版本、最后上报时间、近期识别异常次数。有了这张表,"哪家店有问题"是可以看出来的,而不是等客户投诉。
样本回收也要有流程:异常识别结果自动留图,定期回收做增量训练。没有这条流程,模型上线那天就是它最好的那天。
七、常见误区
- 先买设备再想场景:装完才发现视角不够
- 用手机拍的图训练,用工业相机推理:成像差异导致现场效果大跌
- 只看总体准确率:高频商品准确率很高,把低频商品的错误盖住了
- 不给回滚:升级出问题只能到店处理
按这份清单走,门店端侧视觉的落地周期和返工次数都会明显下降。
文档会随实施经验更新。发现表述过时或有误,欢迎指正。
← 返回全部白皮书