用于跟踪障碍物的卡尔曼滤波器

信息处理 计算机视觉 视觉跟踪 立体视觉
2022-02-02 18:37:43

我正在 Matlab 中开发一个计算机视觉项目,以帮助视障人士。该装置将是盲人随身携带的一对立体相机。使用此立体信息,我使用半全局块匹配 (SGBM) 生成视差图像。之后,我处理一个“虚拟视差”,基本上是一个齐次变换,将图像平面传递到地面,得到如下图像:

虚拟视差图像

现在,在去除地平面后,对图像进行形态学改进,并将其阈值使其仅保持在障碍物附近,我得到了一个具有物体近似形状的前景蒙版。

我正在考虑跟踪每一个障碍以改进检测。考虑到相机不是固定的,因为携带它的盲人正在移动,我想知道图像中所有障碍物的相对运动是否可以很容易地被卡尔曼滤波器跟踪,或者像 Kanade 这样的基于特征的跟踪器会更好–Lucas–Tomasi 特征跟踪器 (KLT)。

先感谢您

2个回答

您可以考虑使用粒子过滤器。 这是我写的一篇关于使用粒子过滤器跟踪视频中的对象的论文的链接。这些的好处是可以通过临时遮挡来跟踪对象。在这里使用卡尔曼滤波器的技巧是处理由视频场边缘引入的非线性,并将测量模型转换为状态的线性组合(大概是 x,y 位置)。Unscented Kalman 滤波器是您可以采用的另一条路线,它不需要线性模型。

有趣的应用程序。由于您拥有丰富的深度信息,您可以将其量化为少量级别(例如 8 级),然后应用斑点检测来恢复图像中可以作为对象的区域。如果这些障碍物倾向于符合原生或规则形状(例如矩形、椭圆体等),那么您可以在每个深度区域应用一些基本模式识别来恢复潜在障碍物的位置。

卡尔曼滤波器可用于改善移动环境中的跟踪,但由于视差,当这些对象不在视野范围内时(例如,一旦您失去“锁定”,就很难在同一场景中的其他对象后面继续跟踪)很难将对象重新识别为先前跟踪的对象并继续将其作为一个目标进行跟踪。)