首页 理论教育两帧视觉里程计算法关键问题解析

两帧视觉里程计算法关键问题解析

【摘要】:经典视觉里程计系统大多基于两帧计算框架。两帧视觉里程计算法的核心算法模块一般包括特征选择与匹配以及基于所选择特征集合的鲁棒运动估计。1)特征的选择与匹配视觉里程计的关键工作之一,就是得到一些稳定鲁棒的特征。后者则表示特征在任何投影变换后性质不发生改变。一般来说,有3对3D-2D点关联就可以求解,称三维P3P问题。相对定姿则是采用单目视觉所不可避免的。

经典视觉里程计系统大多基于两帧计算框架。两帧视觉里程计算法的核心算法模块一般包括特征选择与匹配以及基于所选择特征集合的鲁棒运动估计。其中,鲁棒运动估计又由从噪声数据中选择内数据和依据理想数据求解方位两个部分组成。接下来对这些步骤的现有技术状况进行分析与讨论。

1)特征的选择与匹配

视觉里程计的关键工作之一,就是得到一些稳定鲁棒的特征。用于恢复摄像机位姿的特征应当具有良好的光度不变性和几何不变性。前者是指当两个视角有较大的光线变化时,从对应两帧图像所检测到的特征依然对应相同的三维世界坐标系点。后者则表示特征在任何投影变换后性质不发生改变。例如投影变换后的点还是点,直线还是直线。这种几何不变性可以说是基于特征的位姿恢复算法的重要基础。

点特征、线特征和曲线(轮廓)特征都可以用于解算两个视角之间的几何变换关系。其中,Harris角点和尺度不变特征变换(SIFT)特征点得到了最为广泛的应用。Harris角点在较大范围的光度变化和几何变换中能够保持良好的不变性,并且在信息丰富度方面的表现非常优秀。许多基于视觉的位姿估计系统都采用了Harris角点或其改进版本(FAST角点等)作为其特征检测的对象。

不过,倘若场景中存在成簇的或是重复的纹理特征,则角点可能会失效,并不是因为它们不具备良好的判别能力,而是在匹配时容易产生误匹配。由于Harris角点的这一缺陷,所以SIFT特征点更适合应用在视觉姿态恢复系统中。SIFT特征点对图像的平移变换、尺度变换和旋转变换,一定程度的光照变化、仿射变换或三维投影变换都具有良好的不变性。近来也有许多研究者在他们的系统中采用了SIFT特征点。但是,SIFT特征点的缺点主要在于计算复杂、效率低下。所以,SIFT特征点更适合于应用在那些对系统频率要求不高的场合。除了Harris角点和SIFT特征之外,应用较多的特征还有Shi-Tomasi特征点,加速鲁棒特征(SURF)等。

特征检测完成之后,需要对连续帧的特征进行匹配,以生成可以用于估计姿态的特征集。最简单常用的匹配方案是绝对误差和(SAD)和零均值归一化互相关(ZMNCC)。在大部分情况下,前者的效率更高,而后者的鲁棒性更佳。当然,不同的特征检测对应不同的特征匹配方法,对SIFT特征点来说最合适的匹配方法是最邻近算法。考虑到特征数量一般都非常多,直接搜索最邻近匹配需要大量的计算时间,而用一种基于k-d树搜索的Best-Bin-First算法为所有的特征点寻找最佳匹配,可以比直接搜索节省大量时间。

2)基于噪声数据的内数据提取

在实际中,由特征检测与匹配得到的特征数量远大于求解的需要,并且由于不可避免的误差,得到的特征集合实际上是一个噪声数据集。传统的方法是利用所有点做全局直接最小二乘或是更鲁棒的加权最小二乘来求解此超定方程,没有任何抛弃误匹配数据的机制。如今,基于统计学的假设-验证结构算法能够从这样的噪声数据中寻找正确的内数据,正逐渐成为解决该问题的通用方法。其中,最常用的就是随机采样一致性(RANSAC)算法。

RANSAC算法首先从全部的观测数据中选择一定数量的随机集合,然后用每一个随机小特征集进行求解。此前的步骤被称为假设生成。最后在全部的观测数据上验证,通过某种函数形式计分,分最高者作为最终结果。与剔除异常值相对应的另一种获得理想特征集的思路是直接用基于最大团的方法检测内数据。

3)从理想数据集中求解方位

根据两个视角的数据坐标性质,从特征点集计算姿态的问题包括3类:第一类为3D-3D点配准问题,也称绝对定姿问题;第二类为3D-2D点配准问题,又称N点透视投影(Perspective View of N Points,PNP)问题;第三类为2D-2D点配准,称相对定姿问题。

绝对定姿的基础是在每个相机参考系下的坐标都可以获得场景点的三维坐标,主要出现在用立体视觉配置中。求解方法包括奇异值分解(Singular Value Decomposition,SVD)和四元数法。N点透视投影估计位姿的两个数据点集分别是一个视角下的二维图像坐标和另一个视角坐标系下的三维世界坐标。一般来说,有3对3D-2D点关联就可以求解,称三维P3P问题。P3P问题的求解主要是用代数方法将多自由度约束方程的维数削减,得到一个一元高次多项式方程。求解此一元多项式方程的所有可能解后再倒推其他的参数。P3P方法也主要用于立体视觉配置。相对定姿则是采用单目视觉所不可避免的。Stéwenius对截至2006年相对定姿问题的最小集求解算法做了总结,比较了包括Nistér的高效五点算法和其他多种N(N=6~8)点算法,证明了高效五点算法在数值稳定性、计算效率和对场景退化的处理能力方面都有较为优秀的综合性能,所以它在单目视觉里程计系统中应用广泛。