©PaperWeekly 原创 · 作者|黄飘
学校|华中科技大学硕士生
研究方向|多目标跟踪
之前的文章中我介绍了 Kalman 滤波器,这个算法被广泛用于多目标跟踪任务中的行人运动模型。然而实际场景中存在有很多相机运动,仅仅依赖行人运动模型是不够的。这次我主要介绍下相机运动模型,以对极几何和 ECC 为主。完整的代码和示例我都放在了 Github:
https://github.com/nightmaredimple/libmot
多目标跟踪中的相机运动
在多目标跟踪场景中往往存在有复杂的运动模式,这些模式除了行人这类非刚性运动,还有相机这类刚性运动。以 MOT Challenge 数据集为例,其中就存在大量相机运动场景,甚至超过了静态相机场景数。
比如 MOT17-13 号视频中车载相机在车辆转弯时对于两个运动速度较慢行人的视角:
我们从示意图可以看到,由于车辆转弯速度很快,上一帧的行人位置映射到下一帧就变成了另一个的位置。因此相机运动对于多目标跟踪的影响很大,尤其是仅依赖运动信息的模型,相机的运动会严重干扰运动模型。
对极几何
2.1 对极几何模型
关于相机运动方面的知识,我在之前介绍单目深度估计中的无监督模型时介绍过,即将变化差异不剧烈的两帧画面近似看作不同相机视角下同一场景的画面,也就是对极几何,这一点可以看看《计算机视觉中的多视几何》中关于相机几何方面的知识:
不过这里我需要先解释一下一些概念,以方便后续模型的讲解:
1. 基线 [baseline]:直线 CC'为基线。
2. 对极平面束 [epipolar pencil]:以基线为轴的平面束。
3. 对极平面 [epipolar plane]:任何包含基线的平面都称为对极平面。
4. 对极点 [epipole]:摄像机的基线与每幅图像的交点。比如,上图中的点 x 和 x'。
5. 对极线 [epipolar line]:对极平面与图像的交线。
6. 5点共面:点 x,x',摄像机中心 C、C',空间点 X 是 5 点共面的。
7. 极线约束:两极线上点的对应关系。
接下来,我们首先看一篇 ACM MM2019 的论文 TNT [1],这是一篇研究端到端运动信息和表观信息结合框架的论文:
不过这里我们要讲的是其提出来的相机运动模型:
我们可以看到,作者将行人运动和相机运动结合了,其中目标函数的第一部分是利用了对极几何中本质矩阵 F 的性质,相关的理论推导可以看下图:
其中 x 表示的目标框的四个顶点的坐标信息,第二部分中作者则是假设两帧中的同一目标的形状近似不变。因此我们只需要求得本质矩阵 F,即可根据上一帧目标框信息,利用最小二乘法求得下一帧目标框信息。
关于本质矩阵 F 的求解,作者提到基于 SURF 特征点提取和 Ransac 采样进行估计。
不过作者也没有给出详细的实现过程,我这里试着做一下理论推导。首先由于作者在目标函数中要求了目标框形状的一致性,那么我们不妨直接把下一帧目标框的形状信息看做已知的。
其次,我们先假设本质矩阵 F 已经被估计出来了,这个矩阵是 3x3 的形状,那么为了推导方便,我这里做一个假设:
对于第 t 帧的任意一个目标框的每一个节点 ,这里由于是三维的几何信息,所以添加一个 z 轴坐标,令