视觉同时定位与建图方法综述_第1页
视觉同时定位与建图方法综述_第2页
视觉同时定位与建图方法综述_第3页
视觉同时定位与建图方法综述_第4页
视觉同时定位与建图方法综述_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机器人领域作为如今热门的研究领域之一受到了研究者们的广泛关注,但是机器人的研究始终伴随着如何使机器人能够在陌生的环境中自主探索和行动这个关键性问题。SLAM提出至今已有30多年的研究历程,大致分为传统时期、算法分析时期和鲁棒性-预测性时期3个时间段。对于未知环境,为了能够自主移动和探索,机器人需要依靠传感器获取环境数据。机器人首先需要解决定位问题即明确自身位置,随后测量自身周围的环境信息并建立地图,同时保存已建的地图以备后期在该地区内直接进行定位和导航。2007年,MonoSLAM是首个利用纯视觉恢复相机的移动路径,使用概率框架在线创建稀疏并持久的自然地标地图,同时由先验信息辅助系统完成初始化,由扩展卡尔曼滤波法实时更新状态。此外,相机采用恒速度运动模型,相机状态的误差用不确定性程度衡量。2008年,PTAM实现了跟踪和建图用不同线程,并可在地图中显示AR虚拟物体。前端采用FAST角点检测算法且引入关键帧技术,利用极线约束法匹配特征点计算旋转矩阵,后端则采用非线性优化的BA(BundleAdjustment)方法。2014年,SVO为了在无人机高速移动状态下估计准确位姿,采用特征点法和直接法相结合的方法实现高频高精度里程计。直接法中摒弃传统算法对图像中少量的大补丁图像块的提取,转而提取大量小补丁图像块。RTAB-MAP针对大场景稠密建图,并提出内存管理方法来解决大场景长时间稠密建图存在的回环检测和实时性问题。2018年,设计了一个完备的运动状态估计器。它是由单目和IMU组装成的一个小巧装置,用于度量六自由度,可以广泛应用移动机器人、无人机和移动电子设备等SLAM系统。DSO依靠图像上的采样像素生成稀疏地图,所用模型涉及光度校正来消除曝光时间和镜头渐晕等影响。ORB-SLAM在PTAM基础上添加了回环检测线程,是第一个具备跟踪、回环检测和建图环节的完整实例,最终准确实现了相机的运动轨迹和地图中轨迹的一致。2019年,基于模型的视觉惯性里程计VIMO正逐步取代传统的视觉惯性里程计VIO,关注点放在作用于系统的外力上,把动力学和外力结合在残差中作为约束产生了一种精度较高的状态估计器。2020年,DeepFactors建立在CodeSLAM的基础上,结合深度学习重新表示已学习的紧凑性深度图对光度误差、重投影误差和几何误差,实现单目相机构建稠密地图。一个无需配置相机参数,便可较灵活地选择多个数量的相机组合使用,完成自适应初始化的SLAM系统。语义NodeSLAM根据VAE和概率渲染引擎判别物体形状及重构多视图物体。Vid2Curve系统单凭RGB视频流也可实现细线条物体三维重建,摒弃传统基于深度和图像纹理,而采用基于2D曲线特征的方法抽取出骨骼曲线,沿曲线按物体宽度融合相应半径圆饼反映物体线条。AVP-SLAM借助对视角和光照具有鲁棒性的语义特征构建地下停车场地图,完成了自动泊车任务。在任一亮环境下,基于物理的深度网络考虑反射、折射和内部全反射对物体表面法线重建,进一步实现透明物体的三维重建。ESVO是SLAM领域首次用双目事件相机构建的视觉里程计,在保证每帧图像时空一致性前提下,逆深度估计附加时间戳,并采用了IRLS非线性优化和前向合成Lucas-Kanade方法。除此之外,目前开源并且框架完备的算法有ORB-SLAM、DTAM、RGBD-SLAM、改善大场景下回环检测性能的算法。综上所述,对大量视觉算法进行分析归纳出视觉SLAM框架涵盖传感器数据输入、前端VO、后端优化、回环检测和建图5个主体。图1为视觉SLAM的算法流程。图1视觉SLAM算法流程1前端前端视觉里程计部分实现对位姿的计算。计算方法大致有特征点法、直接法、光流法和深度学习与帧间估计4种。如图2所示,视觉里程计要计算估计出相机各帧位姿,从初始位置(可以自定义)起,当前位置通过和上一时刻的位置来计算,公式为。其中,为K和K+1时刻之间的相机平移和旋转变化,可根据图像变换的基本矩阵、单应矩阵和SVD分解本质矩阵计算获得,从而恢复相机的运动轨迹。图2相机运动轨迹1.1特征点法特征点法是在相邻帧之间选取特征点并进行匹配,然后使用RANSAC、M估计或最小中值估计等方法,尽可能滤除错误匹配的噪声点,最后求得位姿。介于对精度和时间的考虑,关键点检测器和描述符组合搭配使用。检测器算法有ORB、SIFT以及SURF等,描述符算法有BRIEF、FREAK等。由于深度图像的取舍,前端将面临2D-2D、3D-2D和3D-3D共3种情形,故使用特征点法时最主要考虑的问题是算法选择问题和计算方法的选择问题。(1)SIFT/SURF。SIFT/SURF算法使用基于梯度方法的HOG作为描述符,通过物体在局部区域中的强度梯度分布来描述物体的结构。(2)RISK/BRIEF/ORB/KAZE/FREAK。上述算法使用二进制Binary描述符,仅依靠图像自身强度信息,将关键点周围信息编码成一串二进制数。BRISK算法采用长距离对和短距离对,其中长距离对描述图像补丁的梯度方向,而短距离对用于组成二进制字符串来描述梯度大小。长距离对搜索函数为:短距离对搜索函数为:长对计算关键点方向向量公式为:短距离对组装成二进制串公式为:上面使用相同数量图片及同一工程对所有可能的检测器和描述符组合进行性能比较实验。由表1各种检测器和描述符组合的总运行时间结果可以看出,FAST+BRIEF速度最快,FAST+ORB次之。表1中x表示当前检测器和描述符不能搭配使用,相应的实验结果也将不存在。表2为各种检测器和描述符组合的匹配点数目结果,可以看出BRISK+BRIEF匹配点数目最多,BRISK+SIFT和BRISK+FREAK次之。对于所有类型的几何变换来说,SIFT和BRISK的总体精度最高。表1各种检测器和描述符组合的总运行时间(单位:ms)表2各种检测器和描述符组合的匹配点数目(单位:个)1.2光流法光流法是为了应对图像中的特征点难提取、纹理简单且单一的情况提出的。它是基于亮度不变的假设,即图像中某一位置的像素其亮度在短时间内不会变化的思想来选取图像中某些像素点进行跟踪,最后计算出位姿。不变性假设关于时间t进行求导,得:整理为矩阵形式,为:式中:代表该点x方向梯度,代表该点x方向速度;同理,。分别代表y方向梯度和速度,表示图像随时间的变化量。1.3直接法直接法依据灰度不变性假设,利用图像中像素灰度值的变化来估计相机的运动方向。只要环境中有亮度并使得相机运动时图像像素点有亮度的变化,直接法就能工作。因为直接法只关注亮度变化,不关注特征信息,故效率较高。常见的块匹配算法有NCC、SSD等。DVO在假设条件下用高斯牛顿迭代法计算相机的运动位姿,预测场景点深度值和深度图提供的实际深度值之间的差异预估运动。LSD-SLAM是继特征点法后将直接法应用于SLAM的典型算法,省略了特征点提取环节,从而提高了算法效率,将图像中梯度较大的像素点还原出对应3D地图坐标来尽量反映场景物体的轮廓信息,即建立了半稠密的地图。跟踪线程中以归一化的方差光度误差最小化为目标,对上一关键帧的姿态值左乘这两个关键帧之间的刚体变换值,从而得到当前关键帧的位姿。2后端后端优化主要对前端的位姿值进行优化,尽量减少累积误差。前端当前建立的带有累积误差的局部地图,后端会优化当前的地图,避免地图误差越来越多。目前,最主要的后端算法包括基于滤波理论的扩展卡尔曼滤波法和基于优化理论的BA和图优化法、位姿图法。除此之外,基于滤波理论的算法还有UKF、EIF、SEIF、PF等,基于优化理论的算法还有非线性优化、TORO、G2O等。2.1滤波法卡尔曼滤波器包含预测和更新两个任务,被看作两步骤程序。步骤1:使用上一状态值估计下一状态及不确定性:步骤2:使用当前的测量值透过加权平均来更新当前的状态估计值:式中,表示卡尔曼增益,表示观测模型,表示残差。MonoSLAM的后端采用扩展卡尔曼滤波法,相机采用恒速度运动模型,受瞬间外力对相机的影响,需要再更新相机运动状态量。未知力度对相机瞬时作用的影响用噪声向量表示,其中包含短时间内外力的线加速度和角加速度产生的线速度和角速度。2.2优化法BA(BundleAdjustment)目标函数中,相机位姿变量和路标点变量组成自变量,作为所有待优化的变量。变量发生变化时对应的增量方程为:式中,分别表示关于相机位姿和路标点位置的偏导数。无论使用G-N方法还是L-M方法,最后都将面对增量线性方程:以G-N为例,则矩阵为:认识到矩阵的稀疏结构,并发现该结构可以自然地用图优化来表示,此处引入G2O。若一个场景内有5个相机位姿和2个路标。关系结构图如图3所示,以最小化下列函数为目标,优化所有图中的变量:式中,表示第j个路标点,表示j=N个路标点分别在第i个相机下的像素坐标,表示各路标点到各相机平面的深度值。图3关系结构2.3位姿图法从图优化知,随着相机运动需加入大量路标节点。路标节点数量远大于位姿节点的数量,将严重降低计算效率。因此,舍弃路标节点变量的优化,只关注相机位姿变量的优化,如图4所示。图4关系结构首先根据两帧已记录(前端计算)的位姿得到相对位姿变换:重新根据i、j两帧图像利用对极几何得到实际位姿增量,优化的目标为:若所有位姿节点之间的边集合记做,则总体目标函数为:3三维地图构建三维地图的表达方式有深度图(depth)、点云(pointcloud)、体素(voxel)和网格(mesh)共4种。图5为4类三维建图方式样例,深度图中每个像素表示物体距离相机平面的值。点云是大量点组成的数据集,每个点包含位置、颜色等信息。体素是由一个个矩形小方块组成,类似于三维空间中的像素。网格由许多三角形面拼接成的多边形以接近现实物体表面,每个网格包含三角形的顶点、边和面。图54类三维建图方式样例3.1深度图Shao等人提出了一种立体视觉和阴影形状(ShapeFromShading,SFS)算法,能够同时生成深度图和方向图,但很难作用在颜色和纹理不均一的场景。强度图像与对应的深度信息进行隐马尔可夫模型(HiddenMarkovModel,HMM)建模,应用单张图像的3D人脸或手的重构系统。Saxena等人将图像划分出多个区域块,使用马尔可夫随机场(MarkovRandomField,MRF)对逐个像素块计算出相应参数,以描述每块所指的3D平面位置与方向,而各个平面共同组成最后的3D场景。Liu等人使用有监督的学习方法对非结构化场景图进行深度预测,其中模型采用经过区分训练的马尔可夫随机场(MRF)。受生物学复杂单元的启发,对图像像素之间相关性进行编码,从数据中学习深度和运动线索实现3-D运动分析。最近,使用基于SIFTFlow的KNN传输机制从单个图像估计静态背景的深度,并利用运动信息对其进行增强,以更好地估计视频中的运动前景对象。使用两个深度网络分别进行图像粗略预测和局部细化预测,实现了对单张图像的深度估计,并提出了一个尺度不变的损失函数。提出了将语义对象标签与单眼深度特征集成在一起的方法,以提高性能,但它们依靠手动添加的方式并使用超像素来分割图像。建议使用基于ResNet的网络结构来预测深度。建议使用CNN结构构建用于深度预测的多尺度条件随机场CRF。BA-Net输入图像使用预先学习(端到端)的深度图生成器产生多个基础深度图,并通过特征量度BA将这些深度图线性组合出最终深度。3.2点云Fan等人实现了对单图像中单个物体以点云形式进行三维重建,开创了点云生成的先例。从一张2D图像恢复一个3D物体可能出现多个可能的较好结果,使得此问题不适用经典回归或分类方法解决,转而研究基于点云表示的3D几何生成网络。网络由输入图像和推断的视点位置确定3D点云中的点位置。点集生成网络恢复出多个可能的结果,再经损失函数确立最终点云结果。图6为系统的整体结构图。图6系统结构2D图恢复所有可能的3D形状:损失函数:ElasticFusion算法侧重构建清晰稠密地图。对RGB-D相机获取的深度图进行操作,相关信息融合到初始的surfel数学模型中,一步步优化模型外形,最后使用此模型描画场景。图7展示了ElasticFusion算法的整体实现流程。图7ElasticFusion算法框架流程建图线程的两个步骤。一是surfel模型初始化采用Deformation图使用均匀抽样初始化。它由许多node组成,每个node带有和等参数来影响surfel模型进行表面变形。二是RGB-D相机获得深度图像,使用内参将深度图转为点云。点云和RGB彩色图像使用跟踪线程计算的相机几何位姿和光度位姿,并利用OPENGL融合到surfel模型中。3.3体素3D-R2N2没有在观察对象之前需先匹配合适的3D形状,以尽可能迎合2D图像中所描述的物体。而受早期使用机器学习来学习2D到3D映射以进行场景理解的工作启发,引入深度卷积神经网络。网络建立在LSTM和GRU的基础上,实现了单视图和多视图的3D重建。网络框架包含Encoder、3DConvolutionalLSTM和Decoder共3大部分,如图8所示。Encoder是一种CNN结构对输入图像进行编码;Decoder是解码过程;3DConvolutionalLSTM是由许多LSTM单元组成的正立方体网格结构,每个单元负责一个已编码的部分并恢复出相应体素,所有体素格组成3D物体。损失函数使用二分类交叉熵函数,决定相应体素格状态是否占有:图8网络框架3.4网格Pixel2Mesh在基于图的卷积神经网络中输出3D网格图形。任一单图像输入之前,系统默认同步初始化一椭圆球作为初始的物体形状。全卷积神经网络一步一步提取2D图像中的细节特征,同时图卷积神经网络受图像特征的约束将细节附加于初始的椭球体上,随着特征数量的不断增加致使椭球不断形变(粗糙到细密过程),最终得到最后物体。图9为双网络协作流程。图9双网络协作流程4种约束网格形变的损失函数为:图卷积神经网络中包含与Mesh网格对应的顶点(V)、边(E)和特征向量(F),定义函数如下:式中,分别表示顶点p在卷积前后的特征向量,表示顶点p的相邻顶点,是待学习的权重参数。4发展趋势当前,视觉SLAM的发展趋势主要涵盖以下3个方面。4.1面对特殊材质的透明物体的重建透明物体的重建受光反射、折射和内部全反射等因素影响。透明物体成像的物理基础是界面处的折射遵循斯涅尔定律,反射由菲涅尔方程确定。由高折射率介质进入较低折射率介质界面处的入射角大于临界角时,就会发生全内反射。文献[13]中利用了深层网络学习和模拟图像形成的物理基础知识。网络内的渲染层可对最多两次反射的折射光路进行建模,以建立对应于物体正反两面投影光线的曲面法线,可在任意

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论