资讯详情

一文详解基于先验地图的视觉定位

作者丨cc.fy@知乎

来源丨https://zhuanlan.zhihu.com/p/460001686

编辑丨3D视觉工坊

给定高精度地图或环境模型,给定相机(不限于单目、双目、多目、针孔或鱼眼),输出相对于该地图的高精度相机pose,其他传感器信息在此过程中是可选的(optional)

9438131a16ddb88ca7c75f06d4f6c3ec.png

https://news.developer.nvidia.com/drive-labs-how-localization-helps-vehicles-find-their-way/

https://github.com/ethz-asl/hfnet

高精度地图、高精度定位和感知相辅相成。若有高精度地图和感知结果,则可为定位提供先验信息:

artisense_visual_slam

若有高精度地图和定位结果,可将地图元素投影到车身坐标系中,为感知提供先验信息:

https://www.atlatec.de/localization.html

如果有定位和感知结果,可以将感知元素反向投影回地图坐标系,将感知元素与地图现有元素进行比较更新或构建新地图:

kitti vector mapping

与国内高德、四维、宽凳合作,与国外合作tomtom, here, zenrin等合作.DRIVE LOCALIZATION(https://www.bilibili.com/video/BV1cp4y1e7NM), localization within the world robustly and accuratly.

Localization in the road book (REM)

上图分别是road book 投影到图像空间和投影google earth的结果, 个人觉得mobileye一方面是自动驾驶公司rem系统的不断发展也可能是一家全球地理数据资产管理公司

DA4AD: End-to-End Deep Attention-based Visual Localization for Autonomous Driving,ECCV 2020

高精度地图支持下定位精度20cm:https://www.bilibili.com/video/BV1Bf4y1D7Lx

coarse-to-fine semantic localization for autonomous driving,IROS 2021_哔哩哔哩_bilibili(https://www.bilibili.com/video/BV11A411c7Dq?spm_id_from=333.999.0.0)

Input: 单目相机 地图 Output: 6DOF pose,总流程图如下:

3、Monocular Localization with Vector HD Map(MLVHM): A Low Cost Method for Commerial IVs (2020)

提出了耦合单目相机和轻量级矢量地图的定位方法,建立了地图特征与图像检测到的相对稳定的语义特征之间的关联,从而估计了相机的位置。同时,为了增加约束,使轨迹更光滑,引入了两帧之间的视觉里程计约束,最终达到了约24cm的定位的rmse精度. 众所周知,GNSS-RTK 高质量的IMU 室内外多线束激光雷达可交付高精度定位结果,因成本原因不能大规模商业化使用。然后作者的团队也希望只需要一个单目相机 hdmap为了完成这件事,尽管hdmap它本身需要一个昂贵的传感器来构建,当然,一些公司可以使用消费者级传感器的众包技术来构建和更新地图,但一旦地图的边际成本接近0,通过云分发,分发的车辆越多,分享的施工成本就越低,自动驾驶中使用的地图形式也多种多样,如下图所示, 包含环境原始几何信息的激光点云图也有激光定位需要使用的特征点法视觉slam还有类似右图中矢量地图的环境拓扑表达。这些地图可以完成定位任务。考虑到地图的大小和简单要求,矢量地图可能是一个更合适的选择,并在本文中使用,当然,同样的矢量地图,国际上有很多格式标准,如opendrive, apollo, nds等. 以下是两种不同形式的地图:

由于光线变化、视角变化、屏蔽等在室外环境中经常发生,因此有必要从环境特征中选择一些比这些条件更好的特征CNN我们可以获得这些稳定力,我们可以获得这些稳定的语义特征的像素或描述,矢量地图中存储的相对稳定的东西也存储在这些不变的东西中,因此问题自然地简化为数据关联问题。文章提出的方法的总体流程如下:

与前作不同的是,帧间同时解算vo(利用传统视觉特征orb),并将帧间约束引入滑窗,以提高鲁棒性。在图像处理模块中,关键像素被分割提取并拟合point feature(sign)和line feature(lane and pole),同时进行帧间vo将进行计算orb特征地图的定位模块提取特征;pose估计,初始使用pose通过随机采样确定最佳匹配,然后根据匹配关系就可以进行pose优化解决方案;最后,为了鲁棒的定位输出,增加了滑窗的位置优化。

数据关联过程:确定地图上的特征与图像上的特征之间的对应关系 1. 先生形成一个可能的对应关系集合,从集合中随机采样三个具有相同语义线特征的对应关系pose的计算, 2. 根据计算的相机pose如果与图像投影地图元素feature如果距离低于设定阈值,则认为是inlier,然后计算估计pose和初始pose如果距离符合阈值,则假设集合将添加到相应的关系中 3. 最终选择inlier最多的一组对应关系作为最终对应关系

1. 图像特征提取层次,修改版pspnet划分图像,然后根据可信度概率选择特定的像素,将区域生长方法划分为不同的区域,从sign区域拟合点特征,从图像域获得这些特征的位置描述 2. compact map使用的地图是opendrive格式,sign使用质心点,pole使用两个端点,lane用0.2m进行采样散点,然后每两个散点构成拟合成一条线来进行使用 3. 优化与初始化, 系统初始化也采用了低成本GNSS作为初始值,优化是标准的LM算法

结合双目相机和hdmap来进行6dof估计将地图转换为8bit图像代表,使query image可与地图一起进行bitwise operation(位运算)用粒子滤波框匹配pose优化估计,11km测试条件的横向和纵向误差约为0.3m,运行速度为10hz,整个定位过程可分为四个步骤: 1. 图像处理步骤, 语义分割图和视差图从双目图像中得到(所以这种方法比较慢) 2. 将hdmap转化为8 bit image 3. 用粒子滤波估计4dof (三个平移 yaw)pose, 通过当前图像patch还有地图图像,因为这两件事都是8bit图像可以快速计算位置和操作 4. 通过优化额外计算roll和pitch估计完整的6自由度pose

整体流程图如下:

视觉定位是指,在大尺度场景下,已知环境地图,给定任意张图片,计算出该图片对应的位姿。 在视觉定位领域,基本上有两种主要的方向,一种是所谓的 End-to-end 方法,代表作是 PoseNet,这类方法直接用图片和 pose 真值作为监督学习,对于给定的同一场景的图片可以回归出 6dof 的真值。这种方法优点是数据库很小,一个网络可以覆盖一个很大的场景,而且虽然需要 Pose 真值但并不需要显式的空间三维重建。但是缺点也很明显,这类方法无非是简单地通过学习建立起了图像和pose之间的映射关系,本质上就是一个图像相似度匹配的过程,因此不可能回归出精确地真值以及获得对于未学习场景的迁移能力。目前比较流行的方法是,由粗到细两步定位。先通过图像检索的方式找到最接近的关键帧,再与该关键帧匹配局部特征。由于关键帧位姿已知,所以通过PnP等方法可以估计出当前帧位姿。两步定位可以避免从所有关键帧中直接匹配带来的时间复杂度,同时避免了将整个环境地图加载进内存带来的空间复杂度。文章主要提出了一种由粗到精的hierarchical的定位网络,hfnet, 对输入的query image, 会通过一个单一的CNN同时预测影像的局部特征和全局特征来进行6自由度的精确定位,采用的这样一种coarse to fine的定位范式: 先通过一个全局的retrieval获取候选帧,然后和候选的位置做局部特征匹配来进行定位。类似于人类定位的模式一样,作者希望利用这样一种coarse to fine的定位范,同时又希望能够结合深度学习在图像特征检测和描述领域的一些进展,这些学习到的detector 和descriptor提高了对环境变化的鲁棒性。为了达到上面的目的,并且最大的提升效率,提出了HF-NET(hierarchical feature network),同时估计局部和全局特征,并且最大化的共享计算。通过多任务蒸馏的方式进行网络的训练.

类似于人类定位的模式一样,作者希望利用这样一种coarse to fine的定位范式,同时又希望能够结合深度学习在图像特征检测和描述领域的一些进展,这些学习到的detector 和descriptor提高了对环境变化的鲁棒性。为了达到上面的目的,并且最大的提升效率,提出了HF-NET(hierarchical feature network),同时估计局部和全局特征,并且最大化的共享计算。通过多任务蒸馏的方式进行网络的训练.

离线模式下,根据db image利用网络提取局部特征和全局特征,局部特征传入到sfm三维重建框架进行环境模型构建,全局特征构建参考图像索引db, 然后在线运行的时候,对query image 做相同的特征提取操作,根据全局描述子利用NN搜索得到候选帧,建立候选帧共视的地图点和query图像特征点的对应关系利用ransac + pnp框架求解pose.

本文仅做学术分享,如有侵权,请联系删文。

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进4.国内首个面向工业级实战的点云处理课程5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

扫码添加小助手微信,可

也可申请加入我们的细分方向交流群,目前主要有等微信群。

一定要备注:,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。也请联系。

标签: 11a输出传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台