传送带停一下再启动,计数就多出几个;两个包裹贴在一起过线,系统只认成一个。工业产线上这些看似不起眼的抖动和粘连,恰恰是无接触视觉计数方案落地时最难绕开的三道坎。

检测、追踪、越线:一条链路三个环节

整套方案的核心链路并不复杂:先用轻量级 YOLO 做毫秒级目标检测,把画面里的包裹框出来;再交给 ByteTrack 或 BoT-SORT 这类多目标跟踪算法,为每个目标分配连续的运动矢量,避免同一个包裹在相邻帧之间被换上新的 ID;最后靠质心穿过虚拟判定矢量,完成进出方向的计数结算。

检测负责"看见",追踪负责"认准",越线判定负责"记账"。三个环节任何一环出错,最终数字都会失真。

停启防抖:给 ID 加一把状态锁

产线暂停是常态,但暂停期间画面里的包裹并没有消失。如果系统继续按帧判定,同一个包裹可能在重启后被重复计数。

解法是引入 ID 生命周期状态锁:当传送带处于停止状态时,锁定已有轨迹的计数资格,等产线恢复、目标重新进入稳定运动后再解锁。这样暂停不会凭空多出数字,重启也不会漏掉该记的那一件。

粘连遮挡:调 IoU,也靠时序推断

包裹挨得近,检测框就会重叠,跟踪算法容易把两个目标合并成一个。方案给出的应对分两层:

  • 调整 IoU 容忍度,让重叠框在判定时保留区分空间;
  • 结合时序轨迹推断,用目标此前的运动路径判断它是否被短暂遮挡,而不是简单判定为消失。

前者处理空间上的重叠,后者处理时间上的断续,两者配合才能扛住近距离遮挡。

边缘部署:量化换来 30+ FPS

产线现场不可能把每一帧都传回云端。方案采用 TensorRT 或 OpenVINO 做模型量化,在边缘端直接推理,实现 30+ FPS 的吞吐能力。这个帧率意味着系统能跟上流水线的实际节拍,而不是让计数成为整条产线的瓶颈。

从检测到追踪再到越线结算,这条链路的技术选型都不算新,真正决定成败的是停启、粘连、部署这三个工程细节。它们不写在算法论文里,却直接决定产线上的数字能不能用。