演示里跟得住,开业后跟丢了
屏幕上那个框
推销视频识别的人常放一段录像:镜头对着货架,屏幕上有个框,跟着顾客手里那瓶饮料一路走。讲解员说,它能一直盯住这个商品。
这段录像多半拍在总部或者样板店,光打得匀,货架前没什么人。真装到店里,早高峰一过,运维发现数对不上。回看录像才明白:不是没识别出来,是从某一秒起,框跟到了旁边同款的那一瓶,或者跟到了下一个顾客手上。
跟丢在门店长什么样
有三种形态,混在一起看很容易都归成「识别不准」。
换了目标。 同类商品并排摆着,包装只差一个色块。系统原本锁着左边那瓶,某帧之后锁到了右边。框一直有,形状也对,位置差了几厘米。
断跟。 顾客的手挡了一下,或者有人从货架前走过。遮挡结束后,系统重新找了个最像的目标接上,接错了人。
身份记错。 同一个人在两段画面里被当成两个,或者两个人被合成一个。这类错误直接体现在计数上:重复计或者漏计。
前两种在单帧画面上几乎看不出来,因为每一帧都有一个像样的框。它们的共同点是:系统照常工作,报表照常有数,只是数不对。
为什么压小之后更容易漂
门店设备要同时跑几路视频、要无风扇、要控制成本,模型常被压到 8 位,激进一点压到 4 位。
分类任务对这种事比较宽容:最终只取一个类别,特征里的小扰动大多被后处理吸收。但跟踪要回答的是「哪一个是它」——这个判断依赖特征里差别很小的那些方向。压缩先吃掉的往往正是这些方向。结果就是框还在,形状也合理,对象换了。
这解释了一个常见现象:同一套模型在演示机上跟得稳,换到便宜一档的盒子上就漂。不是算法退步,是模型的敏感部分先被压坏了。
验收该看什么
用店里的录像,不用演示视频。 至少覆盖三段:早高峰、逆光时段、同类商品并排的货架。长度不必长,两三分钟够看出问题。
看身份连续性,不看单帧准确率。 人工挑一个目标,从头看到尾,记下它有没有在中途变成别的东西。这个动作比算平均框重合度更接近门店的真实损失。
把计数口径写清楚。 「拿起」「放下」「带走」分别算什么,重复计数和漏计要分开统计。很多争议不是模型错,是双方对同一个动作的理解不同。
同一份模型换台设备重跑。 量化后的表现和芯片、推理引擎绑在一起,同一份文件在另一种盒子上未必是同一个结果。
要求给出身份切换次数。 只给平均精度的报告,看不出跟踪功能能不能用。让对方报「一段录像里目标身份切换了几次」,这个数更难修饰。
什么情况下不必上跟踪
如果业务只关心「这一帧里是什么」——比如放在秤上称重、扫一下条码——单帧识别就够,跟踪是额外成本,还会带来新的验收负担。
如果只需要知道「有没有人经过」,红外对射或者简单的移动检测更便宜,也更稳。
跟踪真正的价值在事件:谁在什么时候拿起了什么、放回了什么。只有业务要靠这些事件出结论时,才值得为它付算力和验收的代价。
一句话
跟踪功能的问题很少是「看不见」,多是「看错了对象」。而看错对象这件事,只有把画面连着看一遍才会暴露——所以验收的时候,别只看截图,看录像。