基于图像的相机定位技术综述
2020-05-05
来源:我们爱旅游
人工智麓I前沿技术基于图像的相机定位技术综述f]丈/吴毅红吴毅红中国科学院自动化研究所、模式识别国家重点实验室研究员,博士生导师。研究方向为多视几何理论、相机标定与定位,以及SLAM及其在机器人定位与导航、AR、VR中的应用。在国际权威期刊和重要会议上发表论文80余篇。申请或获权国内外发明专利10余项。曾担任ICCV、CVPR、ACCV、ICPR、UCAI等会议的PC委员或会议/区域主席。中国图象图形学学会三维视觉专委会副主任,中国图象图形学学会机器视觉专委会常委。首批阿里菜鸟驼峰计划特约专家。获三星电子校企合作卓越贡献奖。为诺基亚芬兰、三星、华为、百度等企业提供视觉SLAM技术服务累计10余年。r..-正!-一_尹近段时间来,虚拟现实、增强现实、机器人、自动驾驶等领域得到了学术界和工业界的广泛关注,而基于图像的相机定位是其中的一项关键技术。然而,在基于图像的相机定位方面,目前还没有较全面的技术综述。为了帮助人们快速进入这一领域,本文将对基于图像的相机定位技术进行整体概述并讨论其未来的发展趋势。本文能为相关研究人员、工程应用人员等在全面了解和应用相机定位技术方面提供帮助。·50·基于图像的相机定位技术综述——一、引言近年来,随着全球工业的快速发展和社会的不断进步,人们对自主移动机器人的需求越来越迫切。机器人在环境中自主移动并探索环境的过程正如人类在航海时代探索世界一样,机器人需要利用多种传感器完成自身的精确定位(10calization)。另外,基于各类传感器的定位技术也在增强现实、无人车、无人机、服务机器人和行星探测器等方面得到了广泛应用。目前,人们熟知的OPS无法在室内使用。常用的室内定位工具包括激光雷达、射频、WiFi等,而基于相机进行室内外定位是其中最灵活且成本最低的一种方式。得益于相机在日常生活中的普遍存在,基于图像的相机定位技术具有很好的应用潜力和广泛的应用场景。基于图像的定位技术是一个范围广泛的主题,本文会尽力覆盖相关研究,并提供一种全面的分类方法。本文的组织结构如下:第二节给出基于图像的相机定位技术的整体概述,并以树状图的形式描绘该领域;第三节将根据树状图给出的分类形式分别介绍基于图像的相机定位的各个方面;第四节将给出一些讨论,并分析这一技术未来发展的趋势。二、概述基于图像的相机定位指在某个世界坐标系下,根据相机捕获的图像或视频来计算相机的位姿。如图1所示,前端对相机捕获的图像进行实时处理,并利用后端提供的地图点数据实时估计相机的位姿。根据环境是否已知,可以将该技术分为两个类别:环境已知型和环境未知型。在环境已知型的定位方法中,根据至少需要观测到的特征点数量,可以分为3≤n<6的方法和n≥6的方法。其中,n为所使用的特征点数量。这些方法研究的是PnP·51·人工謦罐I前沿技术传感器数据后端SLAM定位与建图结果}\图1:基于图像的相机定位流程图(Perspective-n-Point)问题。一般来说,3≤n<6的问题是非线性的,n≥6的问题是线性的。环境未知型包含在线实时环境地图构建方法和离线环境地图构建方法,即:同时定位与地图构建(SUM)、从运动恢复结构(SFM)。根据不同的地图生成方法,SLAM可分为四类:几何度量SLAM、拓扑SLAM、基于学习的SLAM和基于标记的SLAM。基于深度学习的S¨d以是近期一个新的研究方向。我们认为它是不同于几何度量SLAM和拓扑SLAM的一个单独的类别。基于深度学习的SU气M可以同时得到相机位姿和3D地图,但需要先验数据集来训练深度神经网络。这类方法的性能极大地依赖于所使用的数据集,并且泛化能力较差。因此,基于深度学习的SLAM不如几何度量SLAM灵活,其在数据集之外的环境中得到的三维地图也不如几何度量SLAM准确。基于标记点的SLAM(markerSLAM)是根据某些已知的结构化的标记来计算相机位①基于圈像的相机定位②猁^墨蕾己知③量吾宴时并在线构奠环境地圈(D墨否基于大数据⑤基于大数据的相机定位两离效优化的线性PnP问盛(力SFM的中间过瑶(面墨否翼舳地圈(蓟墨否曼有训练数据集a6)墨西翼有标i己物01)拓扑SLAM02)基于标记物的sLAM03)基于特征的SLAM04)—接S洲a勘基于滤波器的St.AMa6)基于关键帻的SLAM07)无解n酌PnP闾墨6蓟几何虞■SLAM臣西基于学习的SLAM倥1)墨否只辅机眨曲单目sLAM盘园墨西是有一台根机㈥多目sLAM臣苟多传船SLAM径自松耩台臣而紧藕台·52·基于图像的相机定位技术综述——姿,而不是知晓整个环境。几何度量SLAM包含单目SLAM、多目SLAM和多传感器SLAM。另外,几何度量SLAM也可以根据图像利用方式的不同分为基于特征的SLAM和直接SLAM。多传感器SLAM根据信息融合技术的不同可分为松耦合SLAM和紧耦合SLAM。图2用逻辑树的形式展示了基于图像的相机定位方法的所有类别。其中,当前的热门主题以粗边框示出。我们认为,当前的热门主题包括基于大数据的相机定位、基于深度学习的SLAM、基于关键帧的SLAM和多传感器SLAM。基于图像的相机定位研究回顾已知环境中的相机定位已知环境是指已经构建了环境的三维地图,根据已知的3D空间点来确认相机位姿的问题被称为“透视n点定位(perspective—n—point)”问题,即PnP问题。PnP问题的历史可以追溯到1841年和1903年。Grunert(于1841年)以及Finsterwalder和ScheuMe(于1903年)得出的结论是:P3P问题有最多4个解,P4P问题一般有单个解。PnP问题也是SLAM的关键重定位问题。n=3,4,5的PnP问题n=3,4,5的PnP问题研究关注的是两个方面:一方面研究的是非线性问题的解的数量或多解几何配置,另一个方面研究的是相机位姿的消除或其他解决方法。第一个方面的研究如下:Grunert(于1841年)以及Finsterwalder和ScheuMe(于1903年)指出P3P问题至多有4个解,P4P问题有一个单一解。Fischler和Bolles(于1981年)研究了用于PnP的RANSAC的P3P,发现P3P的4个解是可以求取得到的。Wolfe等人(于1991年)指出P3P大多数情况下有2个解且这2个解是确定的。该研究还给出了P3P有2、3、4个解的几何意义。Hu和Wu(于2002年)定义了基于距离和基于变换的P4P问题。他们发现这两种定义的P4P问题并不等价,其中基于变换的P4P问题最多有4个解,基于距离的最多有5个解。Zhang和Hu(于2005年)给出了P3P问题有4个解的充分和必要条件。Wu和Hu(于2006年)证明:对于P3P问题,基于距离等价于基于旋转变换;对于P4P/P5P问题,基于距离则等价于基于正交变换。另外,他们还表明:对于任意三个非共线性的点,总是可以找到一个光学中心位置,使得由这三个控制点和该光学中心构建的P3P问题有4个解(即解的上限数量)。此外,他们也提供了一种用于构建这4个解的几何方法。Vynnycky和Kanev(于2015年)研究了等边P3P问题的多解概率。n=3,4,5的PnP问题的第二个方面的研究如下:Horaud等人(于1989年)给出了一种用于P4P问题的消除方法,可得到一个一·53·人工智雒I前沿技术元四次方程。Haralick等人(于1991年)总结了P3P的6种方法,这6种方法分别由Grunert(于1841年)、Finsterwalder(于1903年)、Merritt(于1949年)、Fischler和Bolles(于1981年)、Hung等人(于1985年)、Linnainmaa等人(于1988年)和Grafarend等人(于1989年)提出。Dementhon和Davis(于1992年)通过准透视成像(qusi—perspectiveimaging)的查询表给出了P3P问题的解。Quan和Lan(于1999年)线性地求解了P4P和P5P问题。Gao等人(于2003年)使用了Wu的消除方法来获取P3P问题的完整解。Wu和Hu(于2006年)引入了一种基于深度比的方法来表示整体PnP问题的解。Josephson和Byrod(于2009年)采用了Grobnerbases方法来求解针对焦距未知的径向畸变相机的P4P问题。Hesch等人(于2011年)研究了n≥3的PnP问题的非线性平方解。Kneip等人(于2011年)直接求解了P3P问题的旋转和平移解。Kneip等人(于2014年)为PnP问题提供了一个统一的解,可以通过全局最优化和线性复杂『生应对通用相机和多解问题。Kuang等人(于2013年)研究了使用点和线在焦距未知情况下的PnP问题。Bujnak等人(于2013年)研究了基于径向畸变图像在焦距未知情况下的PnP问题。Ventura等人(于2014年)给出了一般性位姿和尺度问题(pose—and—scaleproblem)的最小解。Zheng等人(于2014年)首先介绍了每个P3P问题的角度约束,并为之推导了一个紧凑的二次多项式,然后为焦距未知的PnP问题提出了一种使用迭代的通用方法。之后,Zheng等人(于2016年)对他们2014年的研究进行了改进,新的方法不再需要点顺序和迭代。Wu(于2015年)研究了焦距未知的且n=3.5的PnP问题的解。Albl等人(于2015年)研究了卷帘式快I]相机的位姿解并在2016年改进了这一结果。11≥6的PnP问题这时候,PnP问题是线性的。相关的研究主要集中在两个方面:一方面研究的是如何基于数量更少的点对相机位姿进行有效的优化,另一方面研究的是基于大数据的快速相机定位。第一个方面的研究如下:Lu等人(于2000年)给出了一个使用共线性点的全局收敛算法。Schweighofer和Pinz(于2006年)研究了平面目标的多解问题。Wu、Hu和Li(于2008年)给出了场景和图像之间的不变关系,并给出了一种使用该不变量的RANSACPN方法。Lepetit等人(于2009年)为PnP问题提供了一个准确的O(n)解,称为EPnP,这在如今有很广泛的应用。Hedborg等人(于2012年)通过光束平差法(bundleadjustment)研究了卷帘式快门相机的位姿问题。Oth等人(于2013年)也研究了类似的问题,但使用的是B样条协方差矩阵。Zheng等人(于2013年)使用了四元数(quaternion)和Grobnerbases来提供PnP问题的全局最优解。Ferraz等人(于2014年)使用了代数异常值,·54·基于图像的相机定位技术综述——为PnP问题提供了一种快速解。Svarm等人(于2014年)在考虑重力方向的大型3D模型基础上,提供了一种准确的定位和位姿估计方法。Ozyesil和Singer(于2015年)给出了一种使用凸编程的稳健的相机定位估计。Brachmann等人(于2016年)给出了一种基于单张RGB图像的不确定驱动目标和场景的6D位姿估计。Feng、Tian、Zhang和Sun(于2016年)提出了一种无需手眼校准的策略,可通过按照序列校准3D相关的旋转和平移,主动将相机重新定位到同样的6D位姿。Nakano(于2016年)通过Grobner方法求解了三类PnP问题:针对校准的相机的PnP问题、针对焦距未知的相机的PnPf问题、针对焦距未知且径向畸变未知的相机的PnPff问题。第二个方面关注的是基于大数据的快速相机定位,其相关研究如下:Arth等人(于2009年和2011年)给出了基于手机的实时相机定位。Sattler等人(于2011年)推导出了一种基于视觉词汇量化的直接匹配框架以及一种使用已知城市场景大规模3D模型的优先对应搜索。之后,他们在2012年的研究中通过主动对应搜索对这一方法进行了改进。Li等人(于2010年)设计了一种自适应的优先算法,可以将覆盖大场景的SIFT特征的代表『生集合与查询图像匹配起来,以实现有效的定位。之后,Li等人(于2012年)给出了相对于一个大型地理位置注册的3D点云相机位姿估计方法。Lei等人(于2014年)提出了一种基于街景的高效的相机定位技术,该技术使用了基于PCA的点分组方法。Bansal和Daniilidis(于2014年)使用了从城市环境的数字高程地图中提取的3Dpoint—ray特征,提出了一种用于城市地理位置定位的几何式无对应方法。Kendall等人(于2015年)提出了一种稳健且实时的单眼六自由度再定位系统。Wang等人(于2015年)提出了一种用于大规模室内空间定位的全新方法,该方法以单张图像和环境的平面图为输入。Zeisl等人(于2015年)提出了一种基于投票的位姿估计策略,具有较低的计算复杂度。Lu等人(于2015年)使用了短视频重建的3D模型作为查询,进而在多任务点检索框架下实现3D到3D的定位。Valentin等人(于2015年)训练了一个回归森林来预测模型,可以在连续位姿优化中将预测得到的不确定性考虑进来。Straub等人(于2013年)提出了一种再定位系统,通过使用局部敏感哈希的二元特征描述量和最近邻搜索,实现了实时的6D位姿恢复。Feng、Fan和Wu(于2016年)给出了一种在大规模环境中的快速定位方法,该方法使用了监督式二元特征索引。Ventura等人(于2012年)为手持设备的实时跟踪提出了一种定位方法。Ventura等人(于2014年)提出将基于关键帧的单眼SLAM系统与全局定位方法结合起来的方法。Zamir等人(于2016年)出版了一本关于大规模视觉定位的专业书籍。Liu等人(于2017年)为大规模3D地图中的相机定位提出了一种高效的全局2D-3D匹配方法。Campbell(于2017年)提出了一种全局最优的内部集合最大化方法,可用于同时进行相机位姿估计和特征匹配。Feng等人(于2017年)基于二元特征索引的在线学习技术,提出了一种·55·人工替雒I前沿技术实时SLAM再定位方法。Wu等人(于2017年)提出了一种用于相机定位的卷积神经网络。Kendall和Cipolla(于2017年)探索了一些用于相机位姿估计的全新损失函数,这些函数的基础是重投影几何误差。Qin等人(于2018年)开发了一种用于单眼视觉一惯性SLAM的再定位方法。Piasco等人(于2018年)研究了使用异构数据的视觉定位方法。从以上针对已知环境的相机定位方法研究中可以看到,基于大数据的快速相机定位得到了更多的关注。这是因为基于大数据的相机定位技术有很多应用场景,比如基于位置的服务、各种机器人SLAM的再定位、增强现实、导航等。未知环境中的相机定位在未知环境模型的情况下,可以根据采集的图像或视频,在实时和在线进行相机位姿估计的同时,重建环境地图或模型。这通常被称为SLAM技术。如果对速度和是否在线没有要求,根据多视角图像来重建未知环境的过程被称为从运动恢复结构(SFMo其中,相机位姿求解只是一个中间过程而非最终目标。在本文后续的介绍过程中只会提到部分SFM研究,而不会深入介绍。本文会详细介绍SLAM的相关研究。SLAMSLAM可追溯到1986年R.C.Smith和PeterCheeseman发表于《国际机器人研究期刊(InternationalJournalofRoboticsResearch)》的论文《Ontherepresentationandestimationofspatialuncertainty》。然后,到1995年,H.Durrant、Whyte、D.Rye和E.Nebot的论文《Localizationofautomaticguidedvehicles))创造了“SLAM”这个首字母缩写词。该文发表于第七届国际机器人专题研讨会(InternationalSymposiumonRoboticsResearch)。根据地图生成方法的不同,SLAM可分为四类:几何度量SLAM、基于深由于有较好的定位和构图精确度,几何度量SLAM受到了越来越多的关注。基A.几何度量SLAM几何度量SLAM是用准确的数学方程计算3D地图。根据所使用传感器的不同,几度学习的SLAM、拓扑SLAM和基于标记的SLAM。于深度学习的SLAM得益于深度学习的发展,成为近期的一个新主题。单纯针对拓扑SLAM的研究已经越来越少。相比于上述三种方法,基于标记的SLAM更加准确和稳定。Cadena等人(于2016年)也对近期的SLAM研究进行了总结,主要覆盖的主题包括长期地图构建中的稳健性和可扩展性、地图构建的度量和语义表征、理论上的性能保证、主动SLAM和探索。与之不同的是,本文将将分别详细介绍几何度量SLAM、基于深度学习的SLAM、拓扑SLAM和基于标记的SLAM。何度量SLAM可分为单目SLAM、多目SLAM和多传感器SLAM。根据所使用的技术·56。基于图像的相机定位技术综述的不同,几何度量又可分为基于滤波器的SLAM、基于关键帧的SLAM和基于网格的SLAM。Younes等人(于2017年)的论文中总结了近期基于关键帧的单目SLAM并给出了深度分析。A.1)单目SLAMA.1.1)基于滤波器的SLAM。单目SLAM有一部分使用的是基于滤波器的方法。第一种是Davison(于2002年)提出的基于EKF的MonoSLAM。之后,他(于2003以及同其他研究人员一起于2007年)进一步发展了这一研究。Montemerlo和Thrun(于2003年)提出了基于粒子滤波的单目SLAM。Strasdat等人(于2010年和2012年)讨论了为什么要使用基于滤波器的SLAM,并比较了基于滤波器的方法与基于关键帧的方法,指出基于关键帧的SLAM能得到更准确的结果。Nuchter等人(于2007年)在SLAM中使用了粒子滤波来构建大型3D室外环境地图。Huang等人(于2013年)解决了无迹卡尔曼滤波(UKF)在应用于SLAM问题时的两个关键限制:在状态数量上三次方的计算复杂度以及状态估计的不连续性。他们为UKF引入了一种计算复杂度恒定的新采样策略,并提出了一种新的算法,可确保UKF基于线性回归的系统模型的未被观察子空间与该非线性SLAM系统的维度一样。Younes等人(于2017年)也表示,基于滤波器的SLAM在2010年之前很常见,但之后大部分解决方案都采用非滤波器的架构。A.1.2)基于关键帧的SLAM。基于关键帧的SLAM又可进一步分为:基于特征的方法和直接方法。a)基于特征的SLAM:Klein和Murray(于2007年)提出了首个基于关键帧的特征SLAM,即PTAM。之后,他们在2008年的研究中扩展了该方法,使之与边结合。然后,他们又在2009年的研究中将其扩展到了手机平台。Dong等人(于2009年和2014年)研究了关键帧选择。Salas、Moreno等人(于2013年)提出了带有环路检测和目标识别的SLAM++。Tan等人(于2013年)研究了动态场景检测和RANsAC适应。Feng等人(于2012年)针对动态目标给出了3D辅助的光流SLAM。Artal等人(于2015年)提出的ORBSLAM可以处理环路检测、动态场景检测,以及单目、双目和深度图像。b)直接SLAM:单目SL删的另一部分是直接方法。Newcombe等人(于2011年)提出了DTAM,这是首个直接SLAM。Engel等人(于2013年)给出了一种半稠密的VO方法。他们(于2014年)提出的LsDSLAM是一种适用于大规模环境的稠密SLAM。Pascoe等人(于2015年)所提出的是一种用于道路环境的直接稠密SLAM。Sch6ps等人(于·57·人工留雒l前沿技术·58·.、-图3:(a)为单目直接法(LSD-SLAM)同时估计相机轨迹和半稠密的三维地图;(b)为D1-AM算法构建的稠密三维模型;(C)为特征点法(ORB-SLAM)在线估计运动轨迹和三维点云(d)为SVo算法实时估计无人机的空中轨迹和地面三维点云。2014年)提出的半密集VO能在手机上有效运行。A.2)多目SLAM多目SLAM是指使用多个相机来计算相机位姿和3D地图。大多数研究都侧重于双目视觉,这也是多目视觉的基础。Konolige和Agrawal(于2008年)使用了经典的光束平差法来匹配视觉帧和大量点特征,但仅保留了相对帧的位姿信息。Tan等人(于2013年)研究了多个移动相机的SLAM,其中还构建了全局地图。Engle等人(于2015年)提出了一种用于立体相机的全新大规模直接SLAM算法。Pire等人(于2015年)提出了一种名为S—PTAM的立体SLAM系统,可以获取地图的实际尺度并克服PTAM在解决机器人导航问题时的局限。Moreno等人(于2016年)为立体SLAM系统提出了一种稀疏相对光束平差法(SRBA)的全新方法。Artal和Tardos(于2017年)提出了ORB—SLAM2,这是一种完整的SLAM系统,可用于单目、立体和RGB—D相机,包括地图复用、环路关闭和再定位功能。Zhang等人(于2015年)提出了一种使用直线作为特征的基于图的立体SLAM系统。基于图像的相机定位技术综述——Gomez、Ojeda等人(于2017年)提出了一种立体视觉SLAM系统PL—SLAM,其结合了点和线段,可以在多种不同的场景中稳健地工作,尤其是在那些点特征稀少或在图像中分布不佳的场景中。Usenko等人(于2016年)提出了一种全新的用于立体相机的直接视觉一惯性里程计。Wang等人(于ICCV2017)提出了立体直接稀疏里程计(StereoDSO),可实时提供高准确度的视觉测距估计。Forster等人(于2017年)提出了一种用于单眼和多相机系统的半直接视觉里程计(SVO)。Sun等人(于2017年)提出了一种基于立体多状态约束卡尔曼滤波器的视觉里程计(S—MSCKF)。相比于多状态约束卡尔曼滤波器(MSCKF),S—MSCKF具有显著更高的稳健性。Tang等人(于2019年)提出了特征法与直接法融合的双目SUdⅥ,可以达到速度与精度兼顾的目的,而避免了特征法与直接法各自的不足。多目SLAM比单眼SLAM更加可靠。一般而言,如果硬件平台允许,会优先选择多目S删。A.3)多传感器SUdⅥ这里的多类型传感器仅限于视觉和惯性测量单元(IMU)。这里不介绍其他传感器,因为近期视觉与IMU融合得到的关注远超其他。在机器人研究领域,对相机与IMU融合的研究有很多。移动设备同时配备相机与惯性单元的情况已经很普遍。相机可提供场景丰富的纹理信息。IMU能以很高的频率提供准确的短时运动估计。人们认为,相机与IMU是互补的。由于视觉一惯性传感器的普遍性和互补性,视觉一惯性融合近年来一直是一个非常活跃的研究主题。视觉一惯『生融合的主要研究方法可以分为两类:松耦合与紧耦合。A.3.1)松耦合的SU≮M:在松散耦合的系统中,所有传感器状态都是独立估计和优化的。在Konolige等人(于2010年)的研究中,集成的IMU数据可作为独立的测量结果被整合进立体视觉优化中。优化后的位置、方向秘度图4:松耦合SLAM系统示意图·59·人工智罐l前沿技术·60·WeisS等人(于2012年)仅使用了视觉位姿估计来更新扩展卡尔曼滤波器(EKF),从而执行IMU传播。Falquez等人(于2016年)评估了用于计算帧到帧运动估计的不同的直接方法,这些方法的共同点是都使用了由一个RGB—D相机和一个惯性测量单元构成的移动传感器套件,该研究还提出将来自于视觉里程计的位姿直接添加到IMU优化帧中。A.3.2)紧耦合的SLAM:在紧密耦合的系统中,所有传感器状态是联合估计和优化的。紧密耦合的系统分为两类,即:基于过滤器的方法和基于非线性优化的方法。优化后的位I、方向和速度图5:紧耦合SLAM系统示意图A.3.2.a)基于滤波器的方法:基于滤波器的方法使用EKF来传播和更新视觉一惯性传感器的运动状态。Mourikis和Roumeliotis(于2007年)的研究中的MSCKF使用IMU来预测车辆的运动估计,并利用来自单目相机的显著特征来更新这一运动估计。Li和Mourikis(于2013年)对MSCKF进行了改进,提出了一种基于实时EKF的VIO算法MSCKF2.0。该算法可实现连续一致的估计,并能确保其线性化系统模型有适当的可观察性质。Li等人(于2013年)以及Li和Mourikis(于2014年)在手机上使用惯性感知和卷帘快I、-J市EI机实现了实时运动跟踪。MSCKF算法是谷歌Tango项目的核心算法:https://get.google.com/tango/。Clement等人(于2015年)比较了两种现代方法:MSCKF和滑动窗口滤波器(SWF)。SWF比MSCKF更准确,且对参数调整的敏感度更低。但是,MSCKF的计算成本更低,具有很好的一致性,而且跟踪更多特征时能提升准确度。Bloesch等人(于2015年)提出了一种单目视觉一惯性里程计算法,其更新步骤过程直接使用了图块的像素强度误差。该方法中多层次图块特征的跟踪能与底层的EKF紧密耦合。A.3.2.b)基于非线性优化的方法:基于图像的相机定位技术综述——基于非线性优化的方法使用的是基于关键帧的非线性优化。因为这种方法能够通过对固有的非线性问题进行反复的线性化来限制线性化误差,所以有可能实现更高的准确度。Forster等人(于2017年)提出了一种可以恰当解决旋转组的流形结构的积分(preintegration)理论。此外,研究还表明,在因子图(factorgraph)的底层框架下,预积分IMU模型可以无缝地整合到视觉一惯『生流程中。该方法简称为GTSAM。Leutenegger等人(于2015年)提出了一种名为OKVIS的全新方法,可将视觉测量结果与IMU测量结果紧密地整合到一起,其中优化的是一个联合的非线性代价函数,其整合了IMU误差项与地标重投影误差。此外,为了确保实时操作,较旧的状态会被边缘化,以将优化窗口的大小维持在限定范围。Li、Qin等人(于2017年)提出了一种用于复杂环境中相机定位的紧耦合的单目视觉一惯性状态估计方法。该方法可以在移动设备上运行。在Artal等人于2015年提出ORB单目SLAM之后,Artal和Tardos于2017年又提出了-*0紧耦合的视觉一惯性SLAM系统。在松耦合的系统中,处理帧数据和IMU数据是很容易的。但是,在紧耦合的系统中,为了联合优化所有传感器状态,处理帧数据和IMU数据会很困难。在估计准确度方面,紧耦合的方法比松散耦合的方法更准确和稳健。紧耦合方法正越来越受欢迎,也正得到越来越多研究人员的关注。B.基于深度学习的SLAM基于深度学习的SLAM是近来随着深度学习发展而兴起的新研究主题。我们认为,这是一个不同于3D几何度量SLAM和2D拓扑SLAM的单一类别。基于深度学习的SLAM可以得到相机位姿和3D地图,但需要先验数据集来训练网络。基于深度学习的SLAM的表现极大地取决于所使用的数据集,并且泛化能力较低。因此,基于深度学习的SLAM并不如3D几何度量SLAM灵活,其在所使用的数据集之外获得的3D地图也不如最好的3D几何度量SLAM准确。Tateno等人(于2017年)使用CNN来预测密集深度图,然后再使用基于关键帧的3D度量直接SLAM来计算相机位姿。Ummenhofer等人(于2017年)训练了多层堆叠的编码器一解码器网络来计算深度和相机运动。Vijayanarasimhan等人(于2017年)提出了-*0用于视频中运动估计的几何感知型神经网络。Zhou等人(于2017年)提出了一种无监督学习框架,可用于根据视频序列估计单目深度和相机运动。Li、Wang等人(于2017年)提出了一种单目视觉里程计系统,其使用了无监督深度学习和立体图像对来恢复尺寸。Clark等人(于2017年)提出了一种流形上的序列到序列的学习方法,使用视觉和惯性传感器进行运动估计。Detone等人(于2017年)提出了一种点跟踪系统,其基础是两个深度卷积神经网络——Ma西cPoint和MagicWarp。Gao和Zhang(于2017年)给出了一种基于堆叠式去噪自动编码器的环路闭合检测方法。Araujo等人(于2017年)·61·人工智雒l前沿技术·62·基于循环卷积神经网络,提出了一种用于内窥镜胶囊机器人的视觉里程计方法。虽然深度学习SLAM这些年也在逐步向前发展,然而,由于这类方法的速度较慢且泛化能力较差,目前在实际应用中仍以几何方法为主。C.拓扑S¨UⅥ拓扑SLAM不需要准确计算3D地图,而是通过连接或拓扑来表示环境。Kuiper和Byun(于1991年)使用了空间环境的分层描述。Ulrich和Nourbakhsh(于2000年)为拓扑定位提出了一种基于外观的位置识别系统。Choset和Nagatani(于2001年)利用了机器人的自由空间拓扑在部分构建的地图上来进行定位,并且将环境编码到一个广义的Voronoi图中。Kuipers等人(于2004年)描述了如何分析局部感知地图以确定局部的拓扑描述以及如何将局部感知地图抽象到拓扑空间。Chang等人(于2007年)提出了一种基于预测的SLAM算法来预测未探索区域内的结构。Blanco等人(于2008年)使用了贝叶斯滤波来提供概率估计,在混合的离散一连续状态空间中重建机器入路径。Blanco等人(于2009年)提出了用于子地图自动生成的谱图分割技术。Sunderhauf和Protzel(于2012年)为SLAM提出了后端公式,通过获取底层因子图表征的拓扑,使用可切换的约束在环路闭合检测中识别和拒绝异常值。Latif等人(于2013年)描述了一种用于稳健位置识别的方法,可以检测和移除不正确的环路闭合,以解决地图估计有损的问题。Latif等人(于2014年)给出了对图SLAM的比较分析,其中图节点是由里程计或位置识别连接的相机位姿。Vall%等人(于2018年)提出了因子下降和非环因子下降,这是两种用于SLAM稀疏化的简单算法。从上面的研究中可以看到,拓扑SLAM这些年已经在作为几何度量SLAM中的环路检测发展。单纯的拓扑SLAM已越来越少。D.基于标记的SLAM上面已经介绍了在已知和未知环境中基于图像的相机定位的研究。此外,还有一些研究是使用某些非3D地图的先验环境知识(比如标记)来定位相机。这些研究的环境可视为半已知环境。1991年,Gatrell等人(于1991年)设计了同心圆标记,之后Cho等人(于1998年)为其增加了颜色和尺度信息。Knyaz和Sibiryakov(于1998年)将环境信息纳入标记中。Kato和Billinghurst(于1999年)提出了首个基于被称为ARToolkit的基准标记(fiducialmakers)的增强现实系统,其中所使用的标记物是带有简单图形或文本的黑色封闭矩形。Naimark和Foxlin(于2002年)开发了一种更通用的标记生成方法,通过将条形码编码到黑色圆形区域来产生更多标记。Ababsa和Mallem(于2004年)提出了方形标记。Claus和Fitzgibbon(于2005年)提出了在方形的四个角放置四个圆的标记。Fiala(于2005年和2010年)提出了一种带有黑色和白色方块的黑色封闭矩形,基于图像的相机定位技术综述——称为ARTag。Maidi等人(于2010年)开发了一种基于四个标记点的混合方法,该方法混合了基于扩展卡尔曼滤波的迭代方法与使用位姿参数计算直接分辨的分析方法。近期,Bergamasco等人(于2016年)提出的标记是排列成同心层的一组高对比度圆点。DeGol等(于2017年)引入了一种基准标记ChromaTag,还提出了一种检测算法,可使用相反的颜色来限制和拒绝初始的错误检测和灰度。Munoz、Salinas等人(于2018年)提出根据一组方形平面标记来检测地图构建和定位问题的关键点。Eade和Drummond(于2007年)提出了一种基于序列的实时全局图SLAM,其使用了数百个地标。Wu(于2018年)研究了一种新型的无需匹配的相机定位标记。从运动恢复结构在从运动恢复结构(SFM)的流程中,相机位姿计算只是一个中间步骤。这不是本文的主要内容,因此下面只给出简要的介绍。在SFM发展早期,在相对位姿求解方面的研究要更多一些。其中一项有用的研究成果是Nister(于2004年)提出的五点相对位姿算法,该方法比其他相对位姿求解方法的退化率更低。Lee等人(于2014年)研究了垂直方向已知的多相机系统的相对位姿估计。Kneip和Li(于2014年)提出了一种用于计算广义相机相对位姿的全新解决方案。Chatterjee和Govindu(于2013年)给出了有效、稳健的相对3D旋转大规模平均方法。Ventura等人(于2015年)为基于最小特征对应集的多相机套件的相对运动估计提出了一种有效的方法。Fredriksson等人(于2015年)估计了两台相机之间的相对平移,同时最大化内部对应(inliercorrespondences)的数量。全局位姿相关研究如下:Park等人(于2014年)使用了参照图像估计地理标记图像的相机方向。Carlone等人(于2015年)探究了3D旋转估计技术。Jiang等人(于2013年)为相机位姿注册提出了一种全局线性方法。之后,Cui和Tan(于2015年)以及Cui等人(于2015年)对这一方法进行了改进。最近出现了增量和全局SFM的混合方法。Cui等人(于2017年)估计了全局方法的旋转以及增量方法的平移,并提出了一种基于分区的SFM。Zhu等人(于2017年)提出了并行式的从运动恢复结构,使用了从局部增量到全局平均的方法。Ozyesil等人(于2017年)是对从运动恢复结构的最近期总结。另外,还有一些从单张图像学习深度的研究。相关研究请参阅KITTI数据集网站上排名的方法。四、讨论从上述技术中可以看出,当前对小规模环境中PnP问题的研究越来越少。使用传·63·人工磐雒I前沿技术统几何方法研究SFM的研究也越来越少。但对于SLAM而言,传统几何方法和学习方法还依然热门。将深度学习用于基于图像的相机定位的研究逐渐增多。然而,在其实际应用中仍主要使用几何方法。深度学习方法可以提供有效的图像特征并补偿几何方法。查看内容精选大规模环境中的PnP问题或SLAM的重定位问题还没得到很好的解决,仍然值得进一步研究。为了让定位更可靠,硬件成本更低,使用多种低成本传感器的融合(但以视觉传感器为中心)是一种有效方法。此外,还有一些研究是关于其他相机传感器的位姿计算问题的,比如H.Li(于2016年)对用于卷帘快门相机的对极几何(epipolargeometry)的研究以及Kim(于2017年)对径向卷帘快门直接SLAM的研究。Gallego等人(于2017年)、Vidal等人(于2018年)以及Rebecq等人(于2017年)研究了事件相机SLAM。SU心Ⅵ的发展势头正热,而SLAM是一门偏应用的技术,其最终的目的是要落地使用。因此,工程实现也很重要。从工程上说,为了得到实用的SLAM系统,整合各种技术的优势是大势所趋,比如几何和学习方法的融合、多传感器融合、多特征融合、基于特征的方法与直接方法的融合、与语义的融合。这些技术的整合有望解决当前所面临的挑战性难题,比如缺乏纹理的场景、较大的光照条件变化以及高度动态的运动。当技术越来越成熟时,嵌入式SLAM或SLAM芯片将会有广泛的应用市场。正如Abouzahir等人(于2018年)所阐述的那样,嵌入式SLAM算法时代到来,这意味着SLAM在一些具体场景下已发展成熟,能够得到应用。(本研究得到了中国国家自然科学基金的支持,编号为61421004、61572499、61632003。本文基于Y.Wu,F.Tang,H.Li.Image—basedlocalization:anoverview,VisualandcameraComputingforIndustry,Biomedicine,Art(2018)1-8的翻译,并有少许改动。)