点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
标题:RoadMap: A Light-Weight Semantic Map for Visual Localization towards Autonomous Driving
作者:Tong Qin, Yuxin Zheng, Tongqing Chen, Yilun Chen, and Qing Su
来源:ICRA 2021
链接:https://arxiv.org/pdf/2106.02527.pdf
机构:IAS BU Smart Driving Product Dept, Huawei Technologies
编辑:李璟
审核:张海晗
摘要
准确的定位是自动驾驶任务的关键。如今,我们已经看到了很多传感器丰富的车辆(如Robo-taxi)在街道上进行自动驾驶任务,它依赖于高精度传感器(如激光雷达和RTK GPS)和高精地图。然而,低成本的量产汽车负担不起在传感器和地图上如此高昂的费用。如何降低成本?传感器丰富的汽车如何使低成本汽车受益?在本文中,我们提出了一种轻量级的定位解决方案,它依赖于低成本的相机和紧凑的视觉语义地图。地图可以由众包的方式利用传感器丰富的车辆进行制作和更新。具体来说,地图由几个语义元素组成,如路面上的车道线、人行横道、地面标志和停车线。我们介绍了车辆建图、云上维护和用户端本地化的整体框架。地图数据在车辆上进行采集和预处理,然后,将众包数据上传到云服务器。来自众多车辆的海量数据在云上进行合并,实现语义地图的及时更新。最后,将语义地图压缩并分发到量产车辆,量产车辆使用该地图进行定位。我们在真实世界的实验中验证了所提出地图性能,并与其他算法进行了比较。语义地图的平均大小为36KB/km。需要强调的是,该框架是一种可靠、实用的自动驾驶定位解决方案。
1 背景与贡献
为了实现自主驾驶,车辆上安装了各种传感器,如GPS、IMU、摄像头、激光雷达、毫米波雷达、轮式里程计等。基于激光雷达和高精地图的自动驾驶定位方案是Robo-taxi的理想选择。然而,有几个缺点限制了它在一般量产汽车上的使用。首先,量产车负担不起激光雷达和高清地图的高昂成本。此外,点云地图占用大量内存,难以批量生产。同时,高精地图的制作需要耗费大量人力,并且难以保证及时的更新。为了克服这些挑战,应该使用依赖低成本传感器和紧凑地图的方法。
本文的主要贡献如下:
提出了一种新的用于自动驾驶任务的轻量级定位框架,包括车辆建图、云端地图维护和用户端定位。
我们提出了一个新颖的想法,让低成本车辆从传感器丰富的车辆(如Robo-taxi)受益,传感器丰富的车辆每天自动收集数据和更新地图。
我们在真实世界中进行了实验,以验证所提出的系统的实用性。
2 方法
本文所提出系统框架如图1。
图1.系统结构示意。该系统由三部分组成,第一部分是车端建图,第二部分是云端建图,第三部分是用户端定位。
2.1 车端建图
A.图像分割
图2.(a)为前视相机捕获的原始图像。红框为2.1B节中使用的ROI。(b)为分割结果,将场景划分为多个类别。白色为车道线,蓝色为人行横道,黄色为路标,棕色为停止线,灰色为路面。(c)表示在车辆坐标系下的语义特征。
我们使用一种基于CNN的方法 ,对场景进行分割。在本文中,前视图像被分割为多个类别,如地面、车道线、停车线、路标、路缘、车辆、自行车和人。其中,地面、车道线、停车线和路标用于语义建图,其他类别可用于其他自动驾驶任务,图像分割的一个例子如图2。
B.逆透视变换
分割后,语义像素点由图像平面反投影到车辆坐标系下的地平面,这一过程称为逆透视变换。离线标定相机内参与其关于车辆中心的外参。由于透视噪声的存在,场景越远,误差越大,因此我们只选择靠近相机中心的一个ROI(Region Of Interest)内的像素进行计算。这个ROI代表了车辆前方 的矩形区域,假设地面是一个平面( ),那么将像素坐标投影至地平面的过程如下:
其中 为相机的畸变校正与投影模型, 为相机相对于车辆中心的外参, 为像素坐标, 为特征在车体中心坐标系下的坐标, 是一个标量。 表示取矩阵的第 列。图2是逆透视变换的一个实例。ROI中每一个被标记的像素都被投影到车辆前方。
C.图优化
图3.蓝线为GNSS信号好的区域,受益于RTK-GNSS的准确性,轨迹信息也是十分准确的。在GNSS阻塞区域,轨迹由绿色线画出,可以看到产生了很大的漂移。为了消除漂移,我们对位姿图进行了优化,优化后的轨迹用红色表示,可以看到轨迹平滑无漂移。
图4.位姿图的示意图。蓝色节点是车辆在某一时刻的状态,包括位置 和方向 。图中有两种边,蓝色边表示GNSS约束,其仅在GNSS-good时存在,只影响一个节点。绿色边表示任何时刻都存在的里程计约束,它约束了两个相邻节点。
为了绘制地图,准确的车辆姿态是必要的。虽然采用了RTK-GNSS,但不能保证其能始终提供一个可靠的姿态。RTK-GNSS只能在开放区域提供厘米级的位置。在城市场景中,它的信号很容易被高楼大厦遮挡。导航器件(IMU、轮速计)能够在GNSS阻塞区域提供里程信息。然而,里程计无可避免地存在累计误差(图3),通过位姿图(图4)的优化可以消除累计误差。图优化可以表示为如下方程:
其中 为姿态(位置和方向), 为里程计的残差因子, 为里程计的测量值,包含相邻状态间的位置和姿态, 为GNSS残差因子, 指GNSS-good区域的状态集合, 为GNSS测量值,包含了全局位置。残差因子的形式定义如下,其中 为四元数的虚部:
D.本地建图
图5.语义地图压缩与解压缩示例。(a)表示原始语义图,(b)表示语义图的轮廓,(c)表示由轮廓恢复的语义图。
位姿图的优化车辆提供了可靠的姿态信息。在第 帧图像中提取的语义特征从车辆坐标系转换到全局坐标系:
从图像分割中,每个点都包含一个类标签(地面、车道线、路标和人行横道)。每个点表示世界系中的一个小区域。当车辆移动时,一个区域可以被多次观察到。然而,由于分割的噪声,这一区域可能被划分为不同的类别。为了克服这个问题,我们使用统计方法来过滤噪声。我们将地图分为小网格,分辨率为0.1 × 0.1 × 0.1m。每个网格的信息包含位置、语义标签和每个语义标签的计数。语义标签包括地面、车道线、停车线、地面标志和人行横道。一开始,每个标签的分数都是零。当语义点插入网格时,相应标签的得分增加1。因此,得分最高的语义标签表示网格的类。通过该方法,语义图对噪声分割具有较好的准确性和鲁棒性。全局建图结果如图5(a)所示。
2.2 云端建图
A.地图合并/更新
云端建图服务器用于聚合多个车辆捕获的大量数据。它及时地合并局部地图,从而使全局语义地图是最新的。为了节省带宽,我们只将局部地图的占用网格上传到云端。与车端建图过程一样,云服务器上的语义地图也被划分为分辨率为0.1 × 0.1 × 0.1m的网格。我们将局部地图的网格根据其位置添加到全局地图中。具体来说,本地地图网格中的分数被添加到全局地图的相应网格中。这个过程是并行运行的。最后,得分最高的标签即为该网格的标签。图8给出了地图更新的详细实例。
B.地图压缩
在云服务器中生成的语义地图将在量产汽车上进行本地化。但是,量产车的传输带宽和车载存储有限。为此,语义地图在云上进一步压缩。由于轮廓线可以有效地表示语义地图,因此采用轮廓提取对语义地图进行压缩。首先,我们生成了语义地图的俯视图图像,每个像素表示一个网格。其次,提取每个语义组的轮廓。最后,将轮廓点保存并分配到量产车上。如图5所示,(a)为原始语义图。图5(b)为该语义图的轮廓。
2.3 用户端定位
A.地图解压
当接收到压缩后的地图后,用户端会从轮廓图中解压得到语义地图。在俯视图图像平面中,我们用相同的语义标签填充轮廓内的点。然后,每个标记像素从图像平面转换到世界系。解压缩后的语义地图示例如图5(c)。对比图5(a)中原始地图和图5(c)中恢复的地图,可见解压方法有效地恢复了语义信息。
B.ICP定位
图6.语义地图定位示意。地图上的白点与黄点分别是车道线和路标。绿色点是观察到的语义特征,橙色线是估计的轨迹。
解压后的语义地图进一步用来进行定位。类似于建图的过程,前视相机图像分割得到的像素投影到车辆坐标系下,生成语义点云。那么,通过将当前特征点与地图进行匹配,就可以得到车体当前姿态,如图6。使用ICP进行估计,公式如下:
其中 和 分别是四元数和位置。 是特征点的集合。 是当前车辆坐标系下的特征, 是世界系下地图中的最近点。最终采样EKF框架完成里程计与视觉定位结果的融合,该滤波器不仅提高了定位的鲁棒性,而且平滑了轨迹。
3 实验
A.地图生成
制图时,汽车配备有RTK-GPS,前视相机,IMU和轮式编码器。多辆车同时在市区行驶,车辆本地地图通过网络上传到云服务器。最终结果如图7。这一地区的公路总长度为22公里。原始语义地图的整体大小为16.7 MB,压缩后的语义地图的大小为0.786 MB,压缩语义地图的平均大小为36 KB/KM。地图更新的例子如图8。
图7.上海浦东新区一个城市街区的语义地图。该地图已与谷歌地图对齐。
图8.语义更新示例。(a)展示了原始环境,(b)显示行车线重新绘制后的环境,(c)显示了原始语义地图,(d)显示了正在更新的语义地图,(e)显示更新完成的语义地图。
B.定位准确性
在这一部分,我们评估了本方法与基于激光定位方法的精度。车辆配备了摄像头、激光雷达和RTK GPS。RTK GPS被视为真值。由于是自动驾驶场景,我们重点关注x,y方向和偏航角的定位精度。由图9和表1可见,我们的定位方法优于基于lidar的定位方法。
图9.定位误差在x, y,和偏航方向的概率分布图。
表1.定位误差
参考文献
[1] J. Long, E. Shelhamer, and T. Darrell, “Fully convolutional networks for semantic segmentation,” in Proceedings of the IEEE conference on computer vision and pattern recognition, 2015, pp. 3431–3440.
[2] O. Ronneberger, P . Fischer, and T. Brox, “U-net: Convolutional networks for biomedical image segmentation,” in International Conference on Medical image computing and computer-assisted intervention.Springer, 2015, pp. 234–241.
[3] V . Badrinarayanan, A. Kendall, and R. Cipolla, “Segnet: A deep convolutional encoder-decoder architecture for image segmentation,” IEEE Transactions on Pattern Analysis and Machine Intelligence,2017.
本文仅做学术分享,如有侵权,请联系删文。
下载1
在「3D视觉工坊」公众号后台回复:3D视觉,即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。
下载2
在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总,即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计汇总等。
下载3
在「3D视觉工坊」公众号后台回复:相机标定,即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配,即可下载独家立体匹配学习课件与视频网址。
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~