我正在尝试使用KLT跟踪器在CCTV录像中进行人体跟踪。人们非常接近中央电视台。我注意到有些时候人们会改变磁头的方向,而且帧率也会略微变慢。我从Rodrigues等人那里读过。论文第3.4节:
"这个简单的程序(KLT跟踪程序)非常强大,并且可以在头部检测之间建立匹配,其中由于姿势变化而连续检测到头部未连续检测到或由于人群的其他成员而导致的部分遮挡# 34。
可在此链接中找到论文:Rodriguez et al.
1)。我知道KLT跟踪器可以很好地构成变化和遮挡。我是对的吗?
到目前为止,我试图通过使用MATLAB KLT跟踪一个人的镜头:
然而,在JUST 3帧之后没有找到分数。
2)。有人可以解释为什么会这样,或者更好的解决方案。也许使用粒子/卡尔曼滤波器应该更好?
答案 0 :(得分:1)
由于以下原因,我不建议将KLT跟踪器用于近距离闭路电视摄像机: 1. CCTV帧率通常较低,因此人们在帧之间显着改变其外观 2.由于相机靠近人,由于透视效果,它们也会随着时间的推移而改变外观(例如,当人远离相机时可以看到脸,但是当他/她靠近时,只有头顶是看到)。 3.由于接近,人们也会显着改变比例和纵横比,这对一些头部探测器来说是一个挑战。
当像素的邻域(包括前景和背景)保持相似时,KLT才能正常工作。上述属性使大多数像素的可能性降低。我只能推荐KLT作为附加基于运动的跟踪提示,作为部分运动场的矢量。
大多数单人跟踪器不能很好地适应规模变化。我建议你从一些最先进的跟踪器开始,比如Struck(Sam Hare提供的C ++代码here),并修改搜索例程以适应规模变化。
答案 1 :(得分:1)
KLT本身仅适用于短期跟踪。问题是由于跟踪错误,3D旋转,遮挡或离开视野的对象而导致丢失点数。对于长期跟踪,您需要一些补充点的方法。在multiple face tracking example中,通过定期重新检测面部来获取新点。
你的特殊情况听起来有点奇怪。在3帧之后你不应该失去所有的分数。如果发生这种情况,则对象移动得太快,或者帧速率太低。