前端教程
当前位置: 主页 > 资讯 > 前端教程
浅析多相机SLAM系统及其在自动驾驶中的应用
发布日期:2023-08-05 阅读次数:

  视觉传感器体积小重量轻、价格相对低廉,同时能够提供丰富的信息供定位、感知等算法模块使用,因此在机器人和自动驾驶系统中的得到了广泛应用。作为视觉定位系统的重要组成部分,基于视觉传感器的同时定位和建图算法(SLAM)应用广泛,在学术界和工业界都得到了很多关注。具体来说,在自动驾驶系统中,视觉SLAM可以在地图不可靠、GPS不稳定情况下(例如城区辅助驾驶)提供可靠的位姿估计和周围环境信息。同时,相对于激光雷达等传感器,相机价格较低,配合视觉定位和感知算法,可以以低成本实现智能驾驶功能。

  但是,视觉SLAM系统经常被人诟病的一点是鲁棒性。基于视觉的位姿估计的基本原理是追踪匹配图像中明显的视觉特征,因此过曝、弱纹理、运动模糊等问题一直是视觉SLAM系统实际应用中的痛点。在研究和工程实践中,多传感融合、相机参数控制等手段都可以用来提高视觉SLAM系统的鲁棒性;另一方面,目前的自动驾驶系统往往都配备了多个相机形成环视视觉系统,而合理利用多相机系统可以很大程度上提升SLAM系统的性能,因此本文将着重介绍在多相机SLAM系统的原理、和一般单目/双目系统的区别及其在自动驾驶系统中的应用。

  自2004年视觉里程计技术被正式提出以来,视觉SLAM技术经过长期发展,其基础理论已经相对完善(如立体几何、非线性优化和滤波等)。在工程实践方面,研究者也总结出一套相对通用的系统框架:粗略来说,视觉SLAM系统通常被划分为前端和后端,其中前端负责建立不同时刻图像之间的匹配关系并进行局部估计,保证系统的实时位姿输出,后端则负责在相对大范围内进行优化,保证系统的精度和全局地图一致性。从具体系统实现上来说,大部分工作都是针对单目或者双目相机进行的,因此我们最熟悉的一些技术实践不可避免是针对这两种相机配置进行设计的。

  将单目/双目SLAM系统拓展到多相机SLAM系统时,前端-后端的系统框架一般可以沿用,但是需要对原有针对单目/双目的具体算法模块进行改进,使其适用于多相机配置,下面以MultiCol-SLAM为例进行说明。MultiCol-SLAM基于ORB-SLAM设计了多相机SLAM,在基础数据结构上将关键帧Keyframe的概念拓展到Multi-Keyframe(MKF),即不同相机在同一时刻观测的集合:

  因此这里我们关注的不再是某个相机的位姿,而是图中body-frame的位姿,多个相机的观测都可以为估计body-frame的位姿服务。其他算法模块也需要针对MKF进行适配,首先需要通过非线性优化求解位姿的模块(例如Tracking中相对局部地图的定位、局部BundleAdjustment)需要将body-frame的位姿作为求解变量并更改相应的cost,其次,一些常用的位姿求解器需要替换为支持多相机的版本,例如在重定位中使用Generalized P3P和PnP算法替代EPnP求解位姿初值。

  从单相机绝对位姿估计(左)到多相机绝对位姿估计(右),其中f代表视觉观测。图取自OpenGV文档。

  从MultiCol-SLAM的例子可以看出,将适用于单目/双目的SLAM系统拓展到多目整体来看是比较自然的:需要估计的位姿不再和相机绑定而是通过外参关联到多个相机,相应的算法模块也都可以比较容易地拓展到多相机系统。更一般地,从SLAM理论基础的角度来说,非线性优化和滤波的理论和工具相当灵活,可以方便地根据多相机配置进行适配,同时,针对多相机的几何视觉研究也相对成熟,常见的位姿求解问题基本都可以找到相应的工具。

  但是,如果我们不仅仅满足于让多相机SLAM系统“跑起来”,而是想要实现一个鲁棒、泛用的多相机SLAM系统,就需要进一步考虑各个模块中引入多相机所带来的额外问题,而这些问题往往会对系统的整体性能有明显影响。下面对多目SLAM系统中的几个难点进行说明。

  视觉SLAM初始化的目的是建立初始的3D点地图用于后续跟踪,直接影响SLAM系统的精度指标。对于单目和双目系统,分别通过5点法/planar homography和双目三角化进行初始化已经成为事实上的标准方法。但是,对于多目相机,由于相机的配置不确定,一套通用的初始化方法应当如何设计仍不明确。显然,相机的具体配置,尤其是相机之间是否有overlap,决定了合适的初始化流程。MultiCol-SLAM对多相机组中的每个相机都计算相对位姿、从中选择质量最好的一组得到粗略的3D点,再将这些3D点投影到其他相机中并利用所有观测进行联合优化,这种方法只适用于相机之间有overlap的情况。也有一些工作尝试通过分析相机之间的overlap情况来决定初始化的策略,可以对不同的多相机配置实现一定程度上的自适应,但是整体来说,通用鲁棒的多目相机初始化仍是一个开放的问题。

  和多传感融合算法一样,多相机SLAM算法也需要精确的相机间外参才能正常工作。离线标定虽然可以得到十分精确的结果,但是在系统运行过程中由于碰撞、震动等不可避免会出现外参的变化,尤其是对自动驾驶汽车来说,由于相机之间距离较大,外参甚至可能随着车体运动、负载状况的不同发生变化,因此系统在正常运行环境中(不依赖标定设备)对相机外参进行标定的能力比较重要,学界对此也有很多研究工作。一类工作是利用多个相机(单目或者双目组合)单独运行SLAM/SfM算法,再对不同相机的地图进行匹配融合,最后再通过联合优化得到外参;另一类工作是利用SLAM本身已有的非线性滤波或优化求解过程,将外参作为额外待估参数加入求解器进行估计,可以实时估计外参变化(激励充分时),例如有的提出一种MSCKF框架下的多相机、多IMU视觉惯性里程计,实现了对相机和IMU外参的在线估计;而针对自动驾驶平台上的多相机系统,也有人将相机之间的外参加入视觉SLAM的局部BA中进行估计。

  原理上来说,上述方法和构建一般的状态估计问题差异不大,但是相较于离线标定问题,在线标定受限于系统的运行状况,需要额外注意当前数据是否足以准确估计外参(即系统是否有足够的激励,相应待估参数是否可观)。相关地,也有工作从数据的角度出发,自动选择信息量更大的数据对多相机外参进行估计。

  多个相机带来更多的观测数据,理论上来说总能带来更好的定位建图结果,但是也带来了更大的计算量。因此实际中经常需要面对的问题是,如何对丢弃一定的观测以减小计算量,同时对定位精度有较小的影响?启发式的方法可以起到一定的效果(例如视觉SLAM中经常用到的特征在图像上平均分布的技巧),但是往往不是最优的。因此一些研究工作提出了基于信息论的方法,粗略来说,是以一种数学上更严格的方法衡量丢弃观测后对系统的影响,例如利用Hessian矩阵的信息度量对多个相机中的特征进行选择,或者通过对特征分布的合理假设,简化Hessian矩阵的计算和多个相机的特征选择问题。本质上来说,特征选择是一种在尽量不影响求解结果的约束下,通过更改问题结构减小计算量的方法,这一方向的研究工作仍处于SLAM后端优化的研究前沿。

  自动驾驶平台上的多个相机往往覆盖车身周围360°的视角,能够利用全方向的视觉信息,因此如果能够充分利用这些相机,多相机视觉SLAM系统可以实现不同外部条件下鲁棒准确的位姿估计。在论文“Towards Robust Visual Odometry with a Multi-Camera System”中,作者设计了一种基于光度一致性的多目视觉SLAM系统,在配备有前、后、左、右四组双目相机的平台上进行测试,结果表明,如果能够利用全部四组双目相机,系统可以在不同光照条件下(白天、夜晚)稳定地工作,并保持较高的位姿估计精度。“ROVO: Robust Omnidirectional Visual Odometry for Wide-baseline Wide-FOV Camera Systems”一文则针对包含4个鱼眼相机的环视系统设计了基于特征点的视觉SLAM系统,实验结果表明在多相机SLAM系统中加入在线外参估计对系统性能有明显提升。

  在自动驾驶平台上应用多相机SLAM系统同时也需要考虑自动驾驶汽车的特性。例如,自动驾驶汽车的运动自由度有限,并存在大量速度变化不大情况,这对某些参数的在线标定有一定影响,这一点在结合IMU搭建SLAM系统的时候需要尤其注意。另一方面,也可以利用车辆特有的性质减小状态估计的难度,例如通过离线实验识别出相机外参变化的可能模式(由具体相机安装方式决定),随后在在线外参标定中将这些模式作为约束,提高了在线标定的效率和精度,又如车道线作为结构性很强的特征,可以作为外参在线标定的重要线索。

  自动驾驶平台上的感知系统往往也充分利用了多相机系统,可以提供丰富的语义信息,例如车道线和分割结果等,这些信息和传统视觉特征互为补充,可以作为多相机SLAM系统的重要输入。例如有的利用IPM图上提取的车道线信息构建地下车库的地图,为自动泊车提供定位功能,或者利用环视相机生成BEV视角下的分割结果,直接将该结果作为SLAM系统的输入,实现相邻帧的位姿估计和回环检测等功能。另外,特斯拉在AIDay 2022上也提到,在FSD中集成了多目视觉-惯性-轮速里程计,利用了神经网络输出的多种结果(特征、全景分割、地面等),实现了100Hz、漂移率在1%左右的位姿估计,该里程计输出的位姿和3D结构为下游自标注系统提供了输入。

  在视觉SLAM系统中引入多相机可以有效提高系统的鲁棒性和精度,具体到自动驾驶汽车,环视相机系统可以利用全方向的视觉信息,为视觉SLAM系统提供了很好的传感器配置。从具体算法来说,虽然视觉SLAM的理论基础相对成熟,但是实现一套效果优秀的多相机SLAM系统仍需要解决若干痛点,例如外参自标定、如何平衡计算量和精度等,这里既有工程上的挑战,也有待研究的问题。另外,自动驾驶汽车感知系统提供的语义信息可以作为多相机视觉SLAM系统的重要输入,如何将神经网络输入的语义信息和传统的非线性优化滤波有效结合(例如如何衡量语义输出的几何不确定度)仍是一个开放的问题。

  关键字:自动驾驶编辑:什么鱼 引用地址:浅析多相机SLAM系统及其在自动驾驶中的应用

  第二届“光”+智能驾驶技术高峰论坛于2019年9月6日举办,本次论坛邀请了政府部门、咨询机构、整车企业、激光雷达制造商、红外夜视、摄像头等传感器重点企业及知名科研院所等到会研讨,共话光与汽车电子行业市场前景。以下为Cibby Pulikkaseril首席技术官兼联合创始人 Baraja现场演讲实录: Cibby Pulikkaseril首席技术官兼联合创始人 Baraja 感谢各位今天的到来,这是我今天第一次来到深圳,我真的特别喜欢深圳。我叫Cibby,是Baraja的创始人,致力于激光雷达领域,聚焦自动驾驶。我们公司在澳大利亚,我们认为激光是可以为自动驾驶带来全新的变革。 我今天想分享的是激光雷达在自动驾驶领域

  激光雷达现状 /

  全球最大的汽车零部件制造商Bosch(博世)准备在德国东部城市Drasden(德累斯顿,德意志联邦萨克森州首府)投资11亿美元(约10亿欧元)建造一座新的芯片制造工厂。这将成为博世历史上总额最大的一笔投资。 这座新的工厂落成以后,预计将为自动驾驶汽车应用的传感器制造芯片,并将带来约700个新的工作岗位。去年,博世曾经和著名汽车制造商Daimler(戴姆勒)联合宣布,将在2020年开始销售自动驾驶汽车。 MEMS传感器、摄像头、雷达传感器、LiDAR传感器以及激光扫描器等先进的 智能传感器 是自动驾驶汽车开发的关键使能者。自2013年以来,博世一直在为MEMS信号处理开发特种电路。这座新投资的工厂预计将负责大规模制造这些特种电路。

  据外媒报道,博世于2017年3月15日宣布,该公司正与英伟达(NVIDIA)公司开展合作,共同开发一款人工智能自动驾驶系统,同时还推出一款超级芯片Xavier,旨在实现各类自动驾驶任务,相信未来该系统和芯片将被应用于 大众 市场(mass market)内的各 车型 中。 博世昨日在柏林召开了集团内部的物联网年度大会,博世CEO沃尔克马尔·邓纳尔(Volkmar Denner)博士上台发言,在名为“博世连通世界(Bosch Connected World)”的主题演讲中透露了上述信息。 英伟达和博世正在共同研发一款人工智能自动驾驶车用计算机,其基于英伟达的深度学习和先进的软硬件,帮助车辆学会并掌握复杂的操作,如:驾驶、自动

  深度神经网络是用于各种分类问题的机器学习算法的一个子集,包括图像识别和机器视觉(由自动驾驶汽车和其他机器人使用)、自然语言处理、语言翻译和欺诈检测。但心怀不轨的人可能会修改输入,并使得算法运行错误。据外媒报道,为保护算法免受此类攻击,密歇根大学(University of Michigan)的研究人员开发出强大的对抗性免疫启发学习系统(Robust Adversarial Immune-inspired Learning System,RAILS)。 图片来源:密歇根大学 John H. Holland杰出教授、研究员之一Alfred Hero表示:“RAILS是第一种以适应性免疫系统为模型的对抗性学习方法,该系统与先

  汽车的攻击 /

  实现 自动驾驶 的一大关键是,汽车可以准确无误地“看”到周围的环境,并实时做出正确的决策。这不仅仅要求汽车内带有大量功能强大且细分的 传感器 来感知环境,以及先进高效的软件系统来“思考”做决策,更需要的是所有可能街道的及时更新的地图。在这场新移动革命的众多技术中,3D高清地图已经被车企、科技公司等众多产业链参与者视作至关重要的功能。自动驾驶浪潮引发的高清地图大战由此燃起。 挖掘高精地图“金山” 在此之前的消费级数字地图竞争中,谷歌曾是无可争议的赢家,其赢得数字地图大战的关键是在全球范围内派出地图街景车采集数据,此外它还拥有地图导航公司、汽车厂商等无法匹敌的软件技术。谷歌希望将这一成功延续到自动驾驶时代。据彭博社报道,谷歌目前

  地图大战正酣 各大巨头企业挖掘高精地图“金山” /

  西门子推出PAVE360™投片前自动验证环境,这是一项旨在促成并加快创新自动驾驶车辆平台研发的计划。PAVE360提供多供应商协同环境,全面覆盖下一代汽车芯片研发生态。此外,PAVE360将数字化双胞胎仿真拓展至处理器之外,包含汽车硬件和软件子系统、整车模型、传感器数据融合、交通流量、乃至智慧城市(即自动驾驶车辆的未来行驶环境)仿真等。 “两年前,Mentor和西门子强强联合,结合双方的人才、理念及技术,共同打造了一个创新流程,而 PAVE360 便是这一创新流程所取得的首项成果,”西门子旗下机构Mentor公司IC验证解决方案事业部副总裁兼总经理Ravi Subramanian说。“西门子PAVE360提供的综合性计划使我们

  标准是各行业领域统一的技术要求,是一个行业规范化发展的基础,推动自动驾驶汽车标准的制定非常有必要。目前,以ISO、SAE、UN WP.29为代表的全球化标准化组织机构有针对性地出台自动驾驶相关标准,国内工信部、国标委、中国汽车工程学会等也牵头制定了一系列的自动驾驶相关标准。 总体而言,我们将自动驾驶相关的标准和认证划分为五大类标准体系: 自动驾驶分级、术语和定义标准; 自动驾驶功能安全和预期功能安全标准; 汽车网络安全和数据安全标准; 辅助和自动驾驶系统标准; 自动驾驶汽车质量管理、准入规范和测试认证标准。 自动驾驶分级标准持续完善中 汽车自动驾驶分级、术语和定义标准提供了初始监管框架,为汽车制造

  汽车发展 /

  1 RRT算法的简介 天下武功唯快不破,快是 RRT 的最大优势。RRT 的思想是快速扩张一群像树一样的路径以探索空间的大部分区域,找到可行的路径。 RRT 算法是一种对状态空间随机采样的算法,通过对采样点进行碰撞检测,避免了对空间的精确建模带来的大计算量,能够有效地解决高维空间和复杂约束的路径规划问题。 与PRM类似,该方法是概率完备且非最优的。可以轻松处理障碍物和差分约束(非完整和动力学)的问题,并被广泛应用于机器人路径规划。 2 RRT算法原理 2.1 算法流程 (1)设定初始点 与目标点 ,自行设定状态采样空间 (2)进行随机采样得到采样点 ,如果采样点 在障碍物内,则重新随机采样 (3)若不在障碍物内,计算

  RRT算法原理解析 /

  及其技术应用_第2版

  数字调制解调技术的MATLAB与FPGA实现(Altera/Verilog版)

  免费领取|Badger 2040,一款由树莓派RP2040驱动的可编程电子墨水显示器

  Littelfuse第2期 符合AEC-Q200 车规的保险丝/熔断器

  有奖直播:NXP 汽车系统电源管理开讲啦,从功能安全架构到新品FS26,预约有礼~

  Teledyne e2v和英飞凌联合推出用于高可靠性边缘计算太空系统的处理器启动优化方案

  【2023年8月4日,德国慕尼黑和法国格勒诺布尔讯】英飞凌科技股份公司和Teledyne e2v联合开发了一款计算密集型航天系统的参考设计。该设计 ...

  在8月4日的华为开发者大会2023(HDC Together)大会上,HarmonyOS 4正式发布。自2019年发布以来,HarmonyOS一直以用户为中心,经历四年多 ...

  华为开发者大会2023 (HDC.Together)今日召开,鸿蒙生态引领全场景时代

  华为开发者大会2023(HDC Together)正式开启,一文带你了解全新鸿蒙世界(中国,东莞,2023年8月4日)2023年华为开发者大会(HDC Together ...

  一、背景在空调安装维修时,经常使用钳表测电流,使用方便快捷。在用钳表测电流时,只需要将档位打到适当量程,然后钳住被测电流的线路即可 ...

  迷你音频放大器电路每当我们喜欢随身携带音乐时,都会发挥作用。这种迷你音频放大器将使音乐系统轻巧,并且可以从一个地方移动到另一个地方 ...

  站点相关:嵌入式处理器嵌入式操作系统开发相关FPGA/DSP总线与接口数据处理消费电子工业电子汽车电子其他技术存储技术综合资讯论坛电子百科