运动目标跟踪
相对于单一的图像,运动目标的跟踪是计算机视觉的另一个重点。从跟踪目标的多少来看,跟踪可分为单目标跟踪和多目标跟踪;从是否需要在不同的镜头中跟踪到同一个目标来看,跟踪可分为单镜跟踪和跨镜跟踪。
目标跟踪算法研究难点与挑战:实际复杂的应用环境 、背景相似干扰、光照条件的变化、遮挡等外界因素以及目标姿态变化,外观变形,尺度变化、平面外旋转、平面内旋转、出视野、快速运动等。还有,实时性也是十分关键的问题。
当然,跟踪准的前提是检测准,跟踪快的前提是检测快,毕竟一切的跟踪必须建立在检测的基础之上。(好的检测是跟踪的一半,十分重要!!!)检测的方法我个人最推荐YOLOv3/4/5,在确保实时性的基础上准确性也很好。
假设检测部分已经做好了,现在开始写如何跟踪。
从单镜单目标跟踪写起。
假设我们在连续两帧分别检测到了一个物体,如何让计算机知道它们是不是同一个呢?很自然的想法,我们可以取两个检测框的中心,如果它们相距不太远(小于一个阈值),则判定它们是一个物体;反之,判定它们不是一个物体。
事实上,这个想法已经能解决大部分场景下的跟踪了。然而,面临遮挡、快速运动以及检测算法并非百分之百准确的各种问题,这个简单的质心跟踪想法还有很大的提升空间。
比较好的方法,一般而言有最重要的两个部分:
- 运动模型:预测下一帧目标的区域。例如Mean shift、Kalman Filter等等;