视觉里程计第二部分:匹配、鲁棒、优化和应用
VisualOdometry:PartII: Matching, Robustness, Optimization, and Applications
TaylorGuo, 2016/5/15,
第二部分讲解特征匹配、鲁棒性和应用。主要是视觉里程计中的各种点特征检测和离群点去除算法。特别重点讲解了随机采样一致性算法(RANSAC)和加快运算速度的策略。其他的议题包括,误差模型构建、回环检测(或位置识别)、和捆集调整。开源代码可以从网上下载。本文数学符号和公式在第一部分已经提到,这里就不重复了。
有两种方法可以查找特征点和它们的对应关系。第一种是查找一张图像上的特征,用局部查询方法在后面的图像中跟踪这些特征,比如相关分析。第二种是单独检测所有图像中的特征,基于相似特征匹配它们的特征描述子。当图像的拍摄视角非常相近时,前一种方法更适合;当运动幅度较大或视角变换大时,后一种方法更合适。视觉里程计早期的研究多采用前一种方法,如论文2-5,最近10年的研究工作更倾向于后一种方法,如论文1,6-9。主要由于早期的研究工作主要是小场景环境,图像拍摄的角度较小,最近几十年的研究主要集中在大场景环境下,图像拍摄尽可能大同时限制运动偏移相关问题。
在特征检测的过程中,需要搜索图像的显著特征点,这样可以在其他图像上进行良好的匹配。局部特征是一种图像模式,它能从相邻的图像中从亮度,颜色和纹理方面进行区别。对视觉里程计,点云检测,比如角点或圆斑,非常重要,因为它们在图像中的位置可以精确测量。
两个或多个边缘相交的点就是角点。斑点通过亮度,颜色和纹理比较来区别它和邻近的图像模式。它不是边缘也不是角点。优秀的特征检测应该具有以下特征:定位精准(包括位置和尺度),可重复(比如,大量的特征可以在下一幅图像中被再次检测到),计算效率高,鲁棒(对噪声,压缩损伤,图像模糊),具有特殊性(这样特征可以在不同的图像间精确匹配),不变性【对光度测量方面(比如亮度)和几何上的变化【旋转,尺度(缩放),透视变形】】。
视觉里程计采用各种点特征检测器,比如,角点检测(如Harris,Shi-Tomasi,FAST)和斑点检测(SIFT,SURF和CENSURE)。对这些检测方法的概述如论文17分析所示。每种检测方法都有自己的优势和劣势。角点检测计算速度更快,但特征更少;但斑点检测特征更多,计算速度较慢。另外,角点检测在图像内位置的定位更好,但在尺度上的定位稍差。这意味着角点不能像斑点那样在尺度和视图大幅变化情况下,经常重复检测。但在某些环境中斑点并非总是正确的选择,例如SIFT会自动忽略角点,但在城市环境中这些角点非常丰富。基于这些原因,选择合适的特征检测,应该仔细考虑如下问题:计算资源,实时性要求,环境类型和运动状况(比如,相邻图像之间的远近距离)。图1是不同焦点和斑点特征检测的特点和性能对比。SIFT,SURF和CENSURE不是仿射不变检测器,但对视角变换具有不变性。论文18和论文9,19分别评估了室内和室外的特征检测和特征描述。
每个特征检测都有两个阶段组成。先用特征响应函数处理整个图像【比如哈尔斯检测中的角点响应函数或者SIFT中的高斯差分DoG(difference-of-Gaussian)操作符】。然后,用非极大值抑制算法处理第一步输出的结果。目的就是为了识别特征响应函数的局部最小值(或最大值)。非极大值抑制算法输出的结果表示的是检测出来的特征。为了使检测对尺度变换不变的方法是在同一图像的小尺度和大尺度上使用检测器,如图2(a)。透视变换的不变性可以估计仿射变换中的透视扭曲获得。
SIFT特征最开始是用于物体和位置识别,对视觉里程计的效果也非常好。SIFT检测器用高斯差分操作处理图像的高尺度和低尺度,然后获取尺度和空间上的输出的局部最大或最小值(如图2)。SIFT的优势是鲁棒的描述子,后面会详细介绍。SURF是建立在SIFT基础之上的,但是用盒子滤波去近似高斯操作,相比SIFT计算速度更快,可以用积分图像获得。
图2.原始图像(a,左边)用4个不同sigmas值的高斯滤波平滑处理,可以重复降采样2层处理图像。最后,(b)DoG高斯差分图像可以用两个连续的不同的高斯平滑图像计算得到。SIFT特征是DoG高斯差分图像尺度和空间上的局部最小或最大值。
特征描述子
在特征描述阶段中,每个特征邻域会转化成精简的描述子用于匹配,而不是其他的描述子来匹配。最简单的特征描述子是贴图外观,也就是特征点附近区域的像素亮度。在这里,误差的度量,比如SSD差值平方和或NCC归一化互相关分析可以用于比较亮度。与SSD相比,NCC对轻微亮度改变的补偿更好。一种更鲁棒的图像相似度测量方法是非参数变换,可以将每个图像区块转换成二进制向量表示,其中向量邻居的亮度值高于或低于中心像素的亮度。区域的相似度就可以通过汉明距离计算。
在很多例子中,特征的局部贴图外观并不是携带特征信息得最好的描述子,因为外观可能会随着方向,尺度和视角变化。实际上,SSD和NCC并不是对任意变化都不变,因此它的应用只局限于特征位置附近。点特征最流行的描述子是SIFT。SIFT描述子基本上是局部梯度方向的直方图。特征附近的区域被分解成一个4x4的网格。每个象限中,构建包含8个梯度方向的直方图。所有这些直方图联系在一起形成一个含有128个元素的描述向量。为了减小光照变化的影响,描述子会归一化成单位长度。
图3 SIFT特征方向和尺度
SIFT描述子对光照,旋转,尺度变换,甚至到60o的变化比较稳定。SIFT特征的例子如图3所示。显示了每个特征的方向和尺度。SIFT描述子通常可以计算角点特征和斑点特征;但性能在计算角点特征时会降低,因为,角点的定义是边缘的交点。因此,描述子不如斑点那么明显,依赖于图像纹理明显的区域。
2010-2011年,发明了3个新的描述子,比SIFT和SURF计算速度快。一个简单的二值描述子BRIEF比较流行:它用关键点附近的区块采样的亮度对比。除了提取和对比速度非常快之外,对旋转和尺度变化性能非常好。由于BRIEF的成功,开发了ORB,处理方向不变性,优化了亮度值比值的取样算法。与此同时,基于FAST的BRISK关键点检测器,对尺度和旋转不变,其二值描述子可以配置采样模式。
图4 SIFT特征跟踪
特征匹配在另外一幅图像上搜索对应的特征。图4显示了在第一幅图像上的特征在多个帧上SIFT特征匹配。对应同一特征的一组匹配称为特征跟踪。最简单的匹配两幅图像间特征的方法是对比第一幅图像中所有的特征描述子和第二幅图像中所有其他的特征描述子。
描述子的对比用相似度测量。如果描述子是特征的局部外观贴图,比较好的测度方法是SSD或NCC。对SIFT描述子来说,就是欧氏距离。
比较两幅图像中所有的特征描述子后,在第二幅图像中选择最优对应特征就是选择距离或相似度上最近的描述子。但在这个过程中可能导致第二幅图像中的特征匹配了第一幅图像中的不止一个特征。为了决定选择哪个匹配,就需要采用相互一致性确认。这个方法存在于用第一幅图像中的特征去匹配第二幅图像中的每个特征过程中。只有相互认为是优选匹配的对应特征对才会被认为是正确的特征匹配。
这种穷尽匹配的劣势是计算复杂度是特征数量的二次方,当特征的数量很大的时候,比如几千个时,这种方法就变得不切实际。一种更好的方法是使用索引结构,比如多维搜索树或哈希表,用于在给定的特征附近快速搜索特征。一种更快的特征匹配方法是在第二幅图像中可能的区域搜索潜在的对应关系。这些区域用运动模型或3D特征位置(如果有的话)寻找。比如,在第一部分中描述的3D到2D的运动估计。运动估计还可以使用附带的传感器,比如IMU,里程计,激光,GPS,或者也可以从前一位置估计一个常量速度模型,如论文26所示。那么,特征区域就可以从运动的不确定性和3D点云中作为误差椭圆计算。
还有一种方法,如果只知道运动模型而不知道3D特征位置,那么对应关系就可以在第二幅图像中沿着对极线进行搜索。这个过程称为对极几何匹配。如图5所示,一个2D特征和两个相机中心点形成了3D空间中的一个平面,这个平面和两幅图像相交于两条直线,这两条直线成为对极线。对极线可以从2D特征和相关的相机运动计算出来,如第一部分中介绍的。第一幅图像中的每个特征在第二幅图像中都有不同的对极线。
图5.对极几何约束
在立体视觉中,通常不是对每个候选特征计算对极线,而是对图像进行矫正。图像矫正是将图像对重投影到一个新的图像对上,其中左右两边的图像对极线是水平的且相互对齐。既然对极线不需要从每个特征中计算:特征的对应关系可以从左右两个图像中交叉搜索,它们都在同一行上,这样图像匹配/对应关系搜索就非常有优势。图像矫正可以在GPU上高效执行。在立体视觉中,两个相机的相对位置是精确已知的。但是如果运动受到不确定性的影响,对极搜索通常会从对极线扩展到一个特定距离的矩形区域中。在立体视觉中,SSD,NCC和统计变换,广泛地用来计算对极几何匹配的相似度度量。
在所有候选图像上查找特征,然后匹配它们具体操作是先在第一幅图像上检测特征,再在后续的图像上搜索对应的匹配。这种检测后跟踪的方法非常适合视觉里程计应用,拍摄的图像都是在相近的位置,它们的连续帧间的运动和外观形变比较小。针对这种运用,SSD和NCC工作良好。
然而,如果特征跟踪是工作在一个很长的图像序列上,它们的外观变化很大。这种情况下,针对每个特征采用仿射形变模型是一种解决方案。一种可行的跟踪算法是KLT跟踪法。
==========不忘初心 方得始终[email protected]===2017年4月20日编辑===EJU in Shanghai===
SIFT特征匹配,论文14的作者最初使用距离比值,用于位置和目标检测。如果最近的和第二近的匹配的比值低于用户指定的阈值,距离比值算法就会使用最近的这个匹配(最小的欧几里得距离)。这种删除匹配的方法可能不是一直有用,比如在重复的场景结构情况下。用于检测的比值只能是启发式的,不幸运的猜测可能会删除正确的匹配。因此,很多例子中,不是用比值测试,而使用RANSAC处理离群点可能更好一些。
视觉里程计中除了点特征方法,还可以使用直线和小边。在结构化环境中,他们可以用作点特征的附加信息,可以提供更多有用的线索,比如方向(直线或小边的)平面或正交约束。相比点云,直线更难匹配,直线更容易被遮挡。然而,小边线段的起点和终点可能不存在(比如,遮挡和水平直线)。
图像中的特征会显著影响视觉里程计的效果。特征越多,运动估计效果越稳定,这就需要关键点在图像中的分布尽可能平均。为了达到这样的目的,图像可以被分成网格,每个格子中的特征检测会调整检测阈值,知道每个子图像中取得最少数量的特征。一个成功的规则是,一个640x480分辨率中有1000个特征。
除了稀疏特征提取方法外,还可以使用稠密方法,比如光流法,或无特征方法。光流法主要用于跟踪,每个像素或整幅图像中的子集(比如,用于指定的网格中的所有像素)。但与特征跟踪类似,它要求帧之间的运动较小,因此,不适用于视觉里程计,它的运动累积误差会迅速增加。另一种替代方法是无特征运动估计方法:使用谐波傅里叶变换计算两幅图像的相对运动。这种方法对低纹理图像优势明显,但计算复杂度高(可能需要好几分钟)运动恢复精度也比基于特征的低。
匹配好的点云通常会被离群点污染,也就是错误的数据关联。离群点出现的可能原因是图像噪声,遮挡,特征检测子或描述子的数学模型没有处理到的视角和光照变化。比如,大部分特征匹配技术都假定线性光照变化,纯相机旋转和缩放,或仿射形变。然而,这些只是数学模型,估计了现实中复杂的多的状况(图像饱和,透视形变,运动模糊)。如果需要相机运动准确地估计,那么移除离群点就非常重要。在大部分视觉里程计中移除离群点最需要谨慎处理。图6显示了移除离群点前后的视觉里程计结果。
图6:之前估计的视觉里程计轨迹与移除离群点之后的对比。
离群点去除算法有效地使用了运动模型的几何约束。鲁棒估计方法,比如M估计,数据删除,外部匹配、离群点去除,都可以使用,只有在离群点相对较少的情况下才有效。在离群点出现时,模型估计的标准方法是RANSAC。
RANSAC的核心思想是随机提取数据点计算模型的假设前提,再在其他数据点中验证这个假设。如果其他数据都一致验证这个假设,它就是一种有效方案。对于视觉里程计中的两视图运动估计,估计的模型是两个相机位置间的相对运动(旋转和平移)和用于候选特征匹配的数据点。通过计算点到极线的距离可以找到满足前提条件的内点。点到对极线的距离通常通过一阶估计计算---称为Sampson距离---这样效率更高。另外一种点到对极线的距离计算方法是论文36提出的直接误差测量。直接误差测量图像特征和对极平面的夹角。作者声称直接误差对全景相机和广角相机非常有效,对一般的相机也同样有效。
通过计算等式1得出子集数量N(迭代次数)以确保可以找到一个正确的方案:
其中,s是模型中数据点的数量,是离群点占数据点的百分比,p是要求的成功的概率。考虑到鲁棒性,在很多实际操作中,N通常乘以10。RANSAC更高级的执行方法是在迭代的过程中,对离群点分数比值进行估算。
如上所示,RANSAC是一种概率方法,不同的方法有不同的解决方案、具有不确定性;然而,当迭代的数量增加时,方案会趋向稳定。
图7.RANSAC的迭代次数与离群点分数比值的对比
如图7所示,N是数据点数量s次方指数,用于估计模型。因此,使用模型的最小参数法非常有必要。在第一部分中,曾经讲到过对未标定的相机使用8点法解决方案。尽管也可以用于标定过的相机,但当场景点共面时,8点算法会失效。不过,当相机标定过后,6自由度运动模型可以从最少5点对应关系中得到,解决这一问题的方案是1913年论文37提出的。几种最小5点解决方案后来也有很多人提出,但最有效的是论文39的方案,论文41提出过,后来论文42修正过。在这之前,6点,7点,8点解决方案都广泛应用。但5点法更有优势,应用于平面场景中。(可以看到,8点和7点法用于未标定过的、透视模型相机。全景相机也可以使用这两种方法,相机需要标定。另外,未标定的全景相机n点法也有很多研究,其中n由镜头类型或鱼眼镜头决定。论文48中,对标定过的全景相机,6自由度运动模型可以从2对正对图像点中恢复。正对的图像点是它们的射线对齐但朝不同的视角方向。这也表明正对的图像点可以独立地估计出平移和旋转变换。)
尽管5点算法是标定相机的最小解决方案,过去几十年中,仍然有很多尝试去减小运动估计参数所需的数量。论文49提出了3点法估计已知相机方向角的情况。这种情况可以用于带有重力传感器的相机(实际上,重力矢量可以固定两个相机航向角度。)后来,论文50改进了这个研究,3点法可以用于4点(3+1)RANSAC算法。3+1指的是增加了一个远场景点(理论上是无穷远场景点)用于确定两个航向角。采用这个4点RANSAC,他们成功演示了6自由度的视觉里程计。论文51提出了最小2点的6自由度视觉里程计,从带有IMU的相机中得到满旋转矩阵。
在平面运动场景下,运动模型复杂度可以减少到3自由度,可以用论文52所示的2点参数法。对于汽车来说。论文9和53表明,运动模型完全由平面和圆圈表示,因此运动模型的复杂度可以降低到2自由度,就可以用1点法解决。1点法估计运动模型是最少的参数法,使得RANSAC算法非常有效率。另外,如果用直方图,选出离群点可以在很少或单一迭代中完成。论文54对比了视觉里程计的5点,2点和1点算法做了性能评估。
这里总结一下,如果相机运动没有约束,用于估计运动模型的最少点数是5点,应该使用5点RANSAC(或6点,7点或8点)。当然,使用5点RANSAC比6点,7点,8点的迭代次数更少。表1对比了8点,7点,5点,4点,2点,1点方法中,RANSAC算法最少迭代次数,作为模型参数s的等式数量。这些值可以从等式1中获取,假定成功的概率p=99%,离群点百分比=50%。
表1中,p=99%,,5点RANSAC需要最少145次迭代。然而,现实中,事情并没有这么简单。有时,离群点数量低估了,需要增加迭代次数以找到更多的内点。有时,甚至需要几千次的迭代。因此,有必要考虑加快RANSAC的迭代速度。最大似然估计参数统计使得对应关系的测量更可靠,增强了对假设的估计。论文56有进步的参数统计基于相似度对对应关系进行排序,从排在前面的点开始生成运动模型。论文57中的优先权RANSAC使用运动估计的优先计分和固定的迭代次数。论文58中的不确定性RANSAC整合了特征的不确定行,减少了潜在离群点的数量,因此强制减少了迭代次数。论文59中的确定性RANSAC方法估计了匹配正确的概率。
上面提到的所有算法都是直接从点云生成运动假设模型。相反,其他算法从汽车运动模型分布采样确定假设。
在这些所有算法中,优先权RANSAC是应用最多的,因为迭代次数可以预先指定,在所有的优势中,实时运行优势是最重要的。
考虑到运动速度,使用最小点方法绝对优于其他方法。然而,当图像匹配有很多噪声时,即使是5点RANSAC也可能不是最好的选择。这种情况下,用多点法而不是最小点法可以获得更好的性能(在给定精度和内点数量的情况下)。这里解释一下,比如一个5点RANSAC的一个迭代步骤:首先,随机选5个点估计运动模型;其次,用所有其他点来检验这个假定模型。如果5个内点有很大的图像噪声,运动估计就不精确,当测试其他点时就表现出内点很少。相反,如果用5点法从更多点中做运动估计,噪声的影响就会被平均掉,估计出来的模型就更精确,当然就会识别出更多的内点。因此,当计算并不需要实时处理时,在有噪声特征的情况下,使用非最小集要由于最小集。
在视觉里程计中,很多单个的变换Tk,k-1连接起来形成机器人Ck的当前位姿。每个变换Tk,k-1都有不确定性,相机位姿Ck的不确定性依赖于之前变换的不确定性。具体如图8所示。视觉里程计计算变换Tk+1,k的不确定状态依赖于相机几何和图像特征。论文3可以看到立体相机的情况。
图8. Ck相机位姿的不确定性由Ck-1(黑色的实心椭圆)的不确定性和变换Tk,k-1(灰色虚线椭圆)的不确定性组成。
视觉里程计联立变换计算相机位姿,大部分情况下式从不同时刻k和k-1的两个连续的视图中来计算(如第一部分所示)。但也可以从当前时刻k和前n个时刻步骤Tk,k-2,…,Tk,k-n,或甚至任一时刻步骤Ti,j。在位姿图优化中,如果这些变换已知,就可以用来作为附加约束增强相机位姿。
视觉里程计中的相机位姿计算可以用位姿图表示,它是一个图,相机位姿是结点,两个相机位姿的刚体变换是边,连接两个结点,如论文65所示。每个附件的变换都是已知的,可以作为边添加到位姿图中。边的约束eij定义如下面的代价公式:
其中,是位姿i和j之间的变换。位姿图优化是寻找位子图参数来最小化这个代价公式。变换的旋转部分使得代价公式非线性,需要使用非线性优化算法(比如LM算法)。
回环约束对于位姿图优化非常有用。结点之间的这些图上的边约束经常离得很远,在它们之间可能累积了很大的漂移。通常,把长时间没有看到的路标再重新观测一次或者之前建过地图的区域再重新做一遍,这样的事情叫做回环检测。回环约束是通过评估当前相机图像和之前相机图像的视觉相似度来寻找的。全局图像描述子(论文67和68)和局部图像描述子(论文69)都可以计算视觉相似度。最近,用局部图像描述子的视觉相似度回环检测获得了很多关注,其中最成功的方法是视觉单词。在这些方法中,图像用视觉词袋表示。两幅图像的视觉相似度可以计算两幅图像的视觉单词直方图的距离。视觉单词方法计算大型图像数据的视觉相似度效率非常高,对回环检测非常重要。视觉单词用一个单整型数字表示高维特征描述子(比如,SIFT或SURF)。为了将其量化,初始的高维描述子空间通过k均值聚类方法划分成不重叠的单元,被称为视觉词典。特征描述子会分配到相同的单元中,并分配一个单元号,表示视觉单词。视觉单词相似度的计算可以通过用逆序文件数据结构组织的视觉单词数据库进行加速,数据结构有效利用了视觉词典的有限结构。视觉相似度计算是回环检测的第一步。找到前n个相似图像后,通过会使用对极几何约束进行几何验证;同时,为了验证匹配,用两幅图像之间的宽基线特征匹配计算刚体变换。这个刚体变换作为回环约束添加到位姿图中。
窗口捆集调整和位姿图优化相似用于优化相机参数,另外,同时它还优化3D路标参数。这样的话,图像特征就可以跟踪超过两个图像帧的更多图像。窗口捆集调整采用n幅图像帧的一个窗口,执行相机位姿的参数优化和一组图像帧的3D路标的参数优化。在捆集调整中,误差函数最小化就是图像重投影误差最小化:
其中是第k个图像观测到的3D路标的第i个图像点,是当前相机位姿的图像重投影。
重投影误差是一个非线性函数,用LM算法优化。这就需要一个接近最小值的初始值。通常是使用一个标准的两视图视觉里程计方案作为初始化方案。这个优化问题的雅可比矩阵结构特殊可以用于更有效的计算。
窗口捆集调整相比两视图视觉里程计可以减小漂移,因为它使用了超过两幅图像的特征观测值。当前相机位姿通过3D路标链接起来,图像特征不仅跟踪前一个图像位姿还跟踪更之前的相机位姿。当前和前n-1个相机位姿要和n个图像保持一致的观测。窗口大小n的选择受制于计算复杂度。捆集调整的计算复杂度是,M和N分别是点云和相机位姿,q和l是点云和相机位姿参数。小的窗口数量限制了优化的参数的数量,使得实时捆集调整成为可能。也就使3D路标数量固定只优化相机参数来减小计算复杂度成为可能,比如,3D路标可以从立体相机中精确地进行三角化。
视觉里程计成功地应用于各种领域。它用于空间探索中的自身位姿估计(比如,计算火星探路者的自身位姿和行星登陆设备),也可以用于消费电子中,比如Dacuda鼠标扫描仪。
视觉里程计还应用于各种移动机器人系统中,比如空间机器人,地面机器人,航空机器人和水下机器人。但可能视觉里程计最出名的应用是NASA火星探测。NASA的视觉里程计自2004年1月用于跟踪两个NASA火星探测器的运动作为运动推算的补充信息。立体视觉里程计运行在一个20MHzCPU上,计算一步两视图运动恢复结构要3分钟。视觉里程计主要用于有效地接近目标,在斜坡障碍物附件维护车辆安全,获得大难度行驶安全,确保车辆运行安全。
视觉里程计也应用各种飞行设备上,自动飞行跟踪设备和微型飞行机器人。微型飞行机器人上,视觉里程计用于自动起飞,点对点导航,着陆。
视觉里程计也应用于水下自动设备上。水下设备无法使用GPS作位置估计;因此需要使用板载传感器。相机提供了一个高性价比的方案;另外,海底平面经常提供一种纹理丰富的环境,对计算机视觉方法非常理想。
视觉里程计在自动工业中也扮演重要角色。驾驶辅助系统主要使用计算机视觉和数码相机了。视觉里程计在自动驾驶市场还在发展,第一个演示已经在戴姆勒6视觉系统中成功演示了。相比激光传感器,相机成本更低,这对汽车工业非常是非常重要的因素。
表2是视觉里程计代码选型表。
第二部分总结了视觉里程计的剩余部分:检测、匹配静态的、可重复的图像间特征,在出现离群点的情况下的鲁棒估计和捆集调整。另外还有误差传播,应用和可用代码。
在有回环闭合的情况下,视觉里程计可以构建完整的SLAM算法减少运动漂移。仍然有一些挑战开发大场景和长时间运行的应用,比如自动驾驶。这样的系统还使用激光和雷达传感器。然而,这样的系统中的视觉里程计,鲁棒性问题和长期稳定性必须要解决。最终,视觉里程计都有可能取代激光系统用于自身估计,达到最好的精度、鲁棒性和可靠性。视觉里程估计提供了非常便宜和容易组装的方案用于自身估计,同时是全主动方式。由于数码相机的日趋小型化,可以开发更小的机器人系统估计自身位置。
[1]D. Nister, O. Naroditsky, and J. Bergen, “Visual odometry,” inProc. Int. Conf. Computer Vision and Pattern Recognition, 2004, pp.652–659. [2] H. Moravec, “Obstacle avoidance and navigation inthe real world by a seeing robot rover,” Ph.D. dissertation,Stanford University, Stanford, CA, 1980.
[3]L. Matthies and S. Shafer, “Error modeling in stereo navigation,”IEEE J. Robot. Automat., vol. 3, no. 3, pp. 239–248, 1987.
[4]S. Lacroix, A. Mallet, R. Chatila, and L. Gallo, “Rover selflocalization in planetary-like environments,” in Proc. Int. Symp.Artificial Intelligence, Robotics, and Automation for Space(i-SAIRAS), 1999, pp. 433–440.
[5]C. Olson, L. Matthies, M. Schoppers, and M. W. Maimone, “Robuststereo ego-motion for long distance navigation,” in Proc. IEEEConf. Computer Vision and Pattern Recognition, 2000, pp. 453–458.
[6]M. Lhuillier, “Automatic structure and motion using a catadioptriccamera,” in Proc. IEEE Workshop Omnidirectional Vision, 2005, pp.1–8. [7] E. Mouragnon, M. Lhuillier, M. Dhome, F. Dekeyser, and P.Sayd, “Real time localization and 3d reconstruction,” in Proc.Int. Conf. Computer Vision and Pattern Recognition, 2006, pp.363–370.
[8]J. Tardif, Y. Pavlidis, and K. Daniilidis, “Monocular visualodometry in urban environments using an omnidirectional camera,” inProc. IEEE/ RSJ Int. Conf. Intelligent Robots and Systems, 2008, pp.2531–2538.
[9]D. Scaramuzza, F. Fraundorfer, and R. Siegwart, “Real-time monocu-lar visual odometry for on-road vehicles with 1-point RANSAC,” inProc. IEEE Int. Conf. Robotics and Automation (ICRA), 2009, pp.4293–4299. [10] W. Forstner, “A feature based correspondencealgorithm for image matching,” Int. Archiv. Photogram., vol. 26,no. 3, pp. 150–166, 1986.
[11]C. Harris and J. Pike, “3d positional integration from imagesequences,” in Proc. Alvey Vision Conf., 1987, pp. 233–236.
[12]C. Tomasi and J. Shi, “Goodfeatures to track,” in Proc. CVPR, 1994, pp. 593–600.
[13]E. Rosten and T. Drummond, “Machine learning for high-speed cor-ner detection,” in Proc. European Conf. Computer Vision, 2006, vol.1, pp. 430–443.
[14]D. Lowe, “Distinctive image features from scale-invariant key-points,” Int. J. Comput. Vis., vol. 20, no. 2, pp. 91–110, 2003.
[15]H. Bay, T. Tuytelaars, and L. V. Gool, “Surf: Speeded up robustfeatures,” in Proc. ECCV, 2006, pp. 404–417.
[16]M. Agrawal, K. Konolige, and M. Blas, “Censure: Center surroundextremas for realtime feature detection and matching,” in Proc.European Conf. Computer Vision, 2008, pp. 102–115.
[17]R. Siegwart, I. Nourbakhsh, and D. Scaramuzza, Introduction toAutonomous Mobile Robots, 2nd ed. Cambridge, MA, MIT Press, 2011.[18] A. Schmidt, M. Kraft, and A. Kasinski, “An evaluation of imagefea- ture detectors and descriptors for robot navigation,” in Proc.Int. Conf. Computer Vision and Graphics, 2010, pp. 251–259.
[19]N. Govender, “Evaluationof feature detection algorithms for structure from motion,”Council for Scientific and Industrial Research, Preto- ria, TechnicalReport, 2009.
[20]R. C. Gonzalez and R. E. Woods, Digital Image Processing, 3rd ed.Englewood Cliffs, NJ, Prentice Hall, 2007.
[21]R. Zabih and J. Woodfill, “Non-parametriclocal transforms for com- puting visual correspondence,” inProc. European Conf. Computer Vision, 1994, pp. 151–158.
[22]M. Calonder, V. Lepetit, C. Strecha, and P. Fua, “BRIEF: Binaryrobust independent elementary features,” in Proc. European Conf.Computer Vision, 2010, pp. 778–792.
[23]E. Rublee, V. Rabaud, K. Konolige, and G. Bradski, “Orb: An effi-cient alternative to sift or surf (pdf),” in Proc. IEEE Int. Conf.Computer Vision (ICCV), Barcelona, Nov. 2011, pp. 2564–2571.
[24]S. Leutenegger, M. Chli, and R. Siegwart, “Brisk: Binary robustinvar- iant scalable keypoints,” in Proc. Int. Conf. ComputerVision, 2011, pp. 2548–2555.
[25]M. Maimone, Y. Cheng, and L. Matthies, “Two years of visual odom-etry on the mars exploration rovers: Field reports,” J. FieldRobot., vol. 24, no. 3, pp. 169–186, 2007.
[26]A. Davison, “Real-time simultaneous localisation and mapping with asingle camera,” in Proc. Int. Conf. Computer Vision, 2003, pp.1403–1410.
[27]T. Lemaire and S. Lacroix, “Vision-based SLAM: Stereo and monoc-ular approaches,” Int. J. Comput. Vis., vol. 74, no. 3, pp.343–364, 2006. [28] G. Klein and D. Murray, “Improving theagility of keyframe-based SLAM,” in Proc. European Conf. ComputerVision, 2008, pp. 802–815. [29] H. Strasdat, J. Montiel, and A.Davison, “Real time monocular SLAM: Why filter?” in Proc. IEEEInt. Conf. Robotics and Automation, 2010, pp. 2657–2664.
[30]B. Horn and B. Schunck, “Determining optical flow,” Artif.Intell., vol. 17, no. 1–3, pp. 185–203, 1981.
[31]A. Makadia, C. Geyer, and K. Daniilidis, “Correspondence-freestructure from motion,” Int. J. Comput. Vis., vol. 75, no. 3, pp.311– 327, 2007.
[32]P. Torr and D. Murray, “Thedevelopment and comparison of robust methods for estimating thefundamental matrix,” Int. J. Comput. Vis., vol. 24, no. 3, pp.271–300, 1997.
[33]K. Sim and R. Hartley, “Recovering camera motion using l1minimization,” IEEE Conf. Computer Vision and Pattern Recognition,2006, pp. 1230–1237.
[34]M. A. Fischler and R. C. Bolles, “RANSACsample consensus: A paradigm for model fitting with applications toimage analysis and automated cartography,” Commun. ACM, vol.24, no. 6, pp. 381–395, 1981. [35] R. Hartley and A. Zisserman,Multiple View Geometry in Computer Vision, 2nd ed. Cambridge, MA,Cambridge Univ. Press, 2004.
[36]J. Oliensis, “Exacttwo-image structure from motion,” IEEE Trans. Pattern Anal.Machine Intell., vol. 24, no. 12, pp. 1618–1633, 2002.
[37]E. Kruppa, “Zur ermittlung eines objektes aus zwei perspektiven mitinnerer orientierung,” in Proc. Sitz.-Ber. Akad. Wiss., Wien, Math.Naturw. Kl., Abt. IIa., 1913, vol. 122, pp. 1939–1948.
[38]O. Faugeras and S. Maybank, “Motion from point matches: Multi-plicity of solutions,” Int. J. Comput. Vis., vol. 4, no. 3, pp.225–246, 1990. [39] J. Philip, “A non-iterative algorithm fordetermining all essential matrices corresponding to five pointpairs,” Photogram. Rec., vol. 15, no. 88, pp. 589–599, 1996.
[40]B. Triggs, “Routines for relative pose of two calibrated camerasfrom 5 points,” INRIA Rhone-Alpes, Tech. Rep., 2000.
[41]D. Nister, “An efficient solution to the five-point relative poseproblem,” Proc. CVPR03, 2003, pp. II: 195–202.
[42]H. Stewenius, C. Engels, and D. Nister, “Recent developments ondirect relative orientation,” ISPRS J. Photogram. Remote Sens.,vol. 60, no. 4, pp. 284–294, 2006.
[43]O. Pizarro, R. Eustice, and H. Singh, “Relative pose estimation forinstrumented, calibrated imaging platforms,” in Proc. DICTA, 2003,pp. 601–612.
[44]R. Sturm, “Das problem der projektivitaet und seine anwendung aufdie flaechen zweiten grades,” Math. Annal., vol. 1, no. 4, pp. 533–573, 1869.
[45]C. Geyer and H. Stewenius, “A nine-point algorithm for estimatingparacatadioptric fundamental matrices,” in Proc. IEEE Conf.Computer Vision and Pattern Recognition (CVPR’07), June 2007, pp.1–8, 17–22. [46] P. Sturm and J. Barreto, “General imaginggeometry for central cata- dioptric cameras,” in Proc. 10thEuropean Conf. Computer Vision, Mar- seille, France, 2008, pp.609–622.
[47]P. Sturm, S. Ramalingam, J. Tardif, S. Gasparini, and J. Barreto,“Camera models and fundamental concepts used in geometric computervision,” Foundat. Trends Comput. Graph. Vis., vol. 6, no. 1– 2,pp. 1–183, 2010.
[48]J. Lim, N. Barnes, and H. Li, “Estimating relative camera motionfrom the antipodal-epipolar constraint,” IEEE Trans. Pattern Anal.Machine Intell., vol. 32, no. 10, pp. 1907–1914, 2010.
[49]F. Fraundorfer, P. Tanskanen, and M. Pollefeys, “A minimal casesolution to the calibrated relative pose problem for the case of twoknown orientation angles,” in Proc. European Conf. Computer Vision,2010, pp. 269–282.
[50]O. Naroditsky, X. S. Zhou, J. Gallier, S. I. Roumeliotis, and K.Daniilidis, “Two efficient solutions for visual odometry usingdirec- tional correspondence,” IEEE Trans. Pattern Anal. MachineIntell., no. 99, p. 1, 2011.
[51]L. Kneip, M. Chli, and R. Siegwart, “Robust real-time visual odome-try with a single camera and an imu,” in Proc. British MachineVision Conf., 2011.
[52]D. Ortin and J. M. M. Montiel, “Indoor robot motion based onmonocular images,” Robotica, vol. 19, no. 3, pp. 331–342, 2001.
[53]D. Scaramuzza, “1-point-RANSAC structure from motion for vehi-cle-mounted cameras by exploiting non-holonomic constraints,” Int.J. Comput. Vis., vol. 95, no. 1, pp. 74–85, 2011.
[54]D. Scaramuzza, “Performanceevaluation of 1-point ransac visual odometry,” J. Field Robot.,vol. 28, no. 5, pp. 792–811, 2011.
[55]P. Torr and A. Zisserman, “Mlesac: A new robust estimator withapplication to estimating image geometry,” Comput. Vis. ImageUnder- stand., vol. 78, no. 1, pp. 138–156, 2000.
[56]O. Chum and J. Matas, “Matching with prosac—Progressive sampleconsensus,” in Proc. CVPR, 2005, pp. 220–226.
[57]D. Nister, “Preemptive ransac for live structure and motionestimation,” Machine Vis. Applicat., vol. 16, no. 5, pp. 321–329,2005.
[58]R. Raguram, J. Frahm, and M. Pollefeys, “Exploiting uncertainty inrandom sample consensus,” in Proc. ICCV, 2009, pp. 2074–2081.
[59]P. McIlroy, E. Rosten, S. Taylor, and T. Drummond, “Deterministicsample consensus with multiple match hypotheses,” in Proc. BritishMachine Vision Conf., 2010, pp. 1–11.JUNE2012 •IEEEROBOTICS&AUTOMATIONMAGAZINE•89
[60]J. Civera, O. Grasa, A. Davison, and J. Montiel, “1-point RANSACfor ekf filtering: Application to real-time structure from motion andvisual odometry,” J. Field Robot., vol. 27, no. 5, pp. 609–631,2010.
[61]D. Scaramuzza, A. Censi, and K. Daniilidis, “Exploiting motionpriors in visual odometry for vehicle-mounted cameras withnon-holonomic constraints,” in Proc. IEEE/RSJ Int. Conf.Intelligent Robots and Systems, 2011, pp. 4469–4476.
[62]E. Rosten, G. Reitmayr, and T. Drummond, “Improved ransacperformance using simple, iterative minimal-set solvers,”University of Cambridge, Tech. Rep., arXiv:1007.1432v1, 2010.
[63]O. Chum, J. Matas, and J. Kittler, “Locally optimized ransac,” inProc. DAGM-Symp., 2003, pp. 236–243.
[64]R. C. Smith, P. Cheeseman. (1986).On the representation, and estimation of spatial uncertainty,Int. J. Robot. Res., [Online], vol. 5, no. 4, pp. 56–68. Available:http://ijr.sagepub.com/content/5/4/56.abstract
[65]E. Olson, J. Leonard, and S. Teller, “Fastiterative optimization of pose graphs with poor initial estimates,”in Proc. ICRA, 2006, pp. 2262–2269.
[66]T. Bailey and H. Durrant-Whyte, “Simultaneouslocalisation and mapping (SLAM): Part II. State of the art,”IEEE Robot. Automat. Mag., vol. 13, no. 3, pp. 108–117, 2006.
[67]I. Ulrich and I. Nourbakhsh, “Appearance-basedplace recognition for topological localization,” in Proc. IEEEInt. Conf. Robotics and Auto- mation, Apr. 2000, pp. 1023–1029.
[68]M. Jogan and A. Leonardis, “Robustlocalization using panoramic view-based recognition,” in Proc.ICPR, 2000, vol. 4, pp. 136–139.
[69]K. Mikolajczyk, T. Tuytelaars, C. Schmid, A. Zisserman, J. Matas, F.Schaffalitzky, T. Kadir, and L. Van Gool, “Acomparison of affine region detectors,” Int. J. Comput. Vis.,vol. 65, no. 1–2, pp. 43–72, 2005.
[70]P. Newman, D. Cole, and K. Ho, “OutdoorSLAM using visual appearance and laser ranging,” in Proc. IEEEInt. Conf. Robotics and Automation, 2006, pp. 1180–1187.
[71]M. Cummins and P. Newman, (2008). “FAB-MAP:Probabilistic localization mapping in the space of appearance,”Int. J. Robot. Res. [Online], vol. 27, no. 6, pp. 647–665.Available: http://ijr.sagepub.com/ cgi/content/abstract/27/6/647
[72]F. Fraundorfer, C. Engels, and D. Nist er, “Topologicalmapping, localization and navigation using image collections,”in Proc. IEEE/RSJ Conf. Intelligent Robots and Systems, 2007, pp.3872–3877.
[73]F. Fraundorfer, C. Wu, J.-M. Frahm, and M. Pollefeys, “Visualword based location recognition in 3d models using distance augmentedweighting,” in Proc. 4th Int. Symp. 3D Data Processing,Visualization, and Transmission, 2008, pp. 1–8.
[74]R. Duda, P. Hart, and D. Stork, Pattern Classification, New York,Wiley, 2001.
[75]D. Nist er and H. Stew enius, “Scalablerecognition with a vocabulary tree,” in Proc. IEEE Conf.Computer Vision and Pattern Recognition, New York, 2006, pp.2161–2168.
[76]B. Triggs, P. McLauchlan, R. Hartley, and A. Fitzgibbon, “Bundleadjustment a modern synthesis,” in Proc. Int. Workshop VisionAlgo- rithms: Theory and Practice (ICCV’99), 2000, pp. 298–372.
[77]G. Sibley, L. Matthies, and G. Sukhatme. (2010). Sliding windowfilter with application to planetary landing. J. Field Robot.,[Online], vol. 27, no. 5, pp. 587–608. Available:http://dx.doi.org/10.1002/rob.20360
[78]Dacuda AG. (2011). Dacuda scanner mouse. [Online]. Available:http://www.dacuda.com/
[79]Y. Cheng, M. W. Maimone, and L. Matthies, “Visual odometry on themars exploration rovers,” IEEE Robot. Automat. Mag., vol. 13, no.2, pp. 54–62, 2006.
[80]J. Kelly and G. S. Sukhatme. (2007. Sept.). An experimental study ofaerial stereo visual odometry. In Proc. IFAC –Int. Federation ofAutomatic Control Symp. Intelligent Autonomous Vehicles, Toulouse,France. [Online]. Available:http://cres.usc.edu/cgi-bin/print.pub.details.pl? pubid=543
[81]S. Weiss, D. Scaramuzza, and R. Siegwart, “Monocular-SLAM-basednavigation for autonomous micro helicopters in GPS-denied environ-ments,” J. Field Robot., vol. 28, no. 6, pp. 854–874, 2011.
[82]M. Dunbabin, J. Roberts, K. Usher, G. Winstanley, and P. Corke, “Ahybrid AUV design for shallow water reef navigation,” in Proc. IEEEInt. Conf. Robotics and Automation, ICRA, Apr. 2005, pp. 2105–2110.
[83]B. P. Foley, K. DellaPorta, D. Sakellariou, B. S. Bingham, R.Camilli, R. M. Eustice, D. Evagelistis, V. L. Ferrini, K. Katsaros,D. Kourkoumelis, A. Mallios, P. Micha, D. A. Mindell, C. Roman, H.Singh, D. S. Switzer, and T. Theodoulou, “The 2005 chios ancientshipwreck survey: New methods for underwater archaeology,”Hesperia, vol. 78, no. 2, pp. 269– 305, 2009.
[84]A. G. Daimler. (2011). 6d vision. [Online]. Available: http://www.6d-vision.com/
[85]M. Bertozzi, A. Broggi, E. Cardarelli, R. Fedriga, L. Mazzei, and P.Porta, “Viac expedition toward autonomous mobility [from thefield],” IEEE Robot. Automat. Mag., vol. 18, no. 3, pp. 120–124,Sept. 2011.
[86]E. Guizzo. (2011). How Google’s self-driving car works. [Online].Available:http://spectrum.ieee.org/automaton/robotics/artificial-intelli-gence/howfl-google-self-driving-car-works
[87]D. Scaramuzza and F. Fraundorfer, “Visual odometry,” IEEERobotics Automat. Mag., vol. 18, no. 4, pp. 80–92, Dec. 2011.
[88]C. F. Olson, L. H. Matthies, M. Schoppers, and M. W. Maimone, “Stereoego-motion improvements for robust rover navigation,” in Proc. IEEEInt. Conf. Robotics and Automation (ICRA 2001), 2001, vol. 2, pp.1099–1104.
[89]M. V. Srinivasan, S. W. Zhang, M. Lehrer, and T. S. Collett,“Honeybee navigation en route to the goal: Visual flight controland odometry,” J. Exp. Biol., vol. 199, 1996, pp. 237–244.
[90]P. Viola and M. Jones, “Robust real time object detection,” Int.J. Comput. Vis., vol. 57, no. 2, pp. 137–154, 2001.
[91]D. Scharstein and R. Szeliski, “A taxonomy and evaluation of densetwo-frame stereo correspondence algorithms,” Int. J. Comput. Vis.,vol. 47, no. 1–3, pp. 7–42, Apr.–June 2002.