写在前面:一些介绍
monocular cameras单目摄像机:需要对目标进行识别,也就是说在测距前先识别障碍物是车、人还是别的什么。在此基础上再进行测距。缺点:需要大量数据且要不断更新
双目摄像头:则更加像人类的双眼,主要通过两幅图像的视差计算来确定距离。也就是说,双目摄像头不需要知道障碍物是什么,只要通过计算就可以测距。缺点:计算量庞大
reality gap:由于模拟器对于物理环境的建模都是存在误差的,因而在模拟环境中学习到的最优策略往往不能直接在现实环境中应用,我们把这个问题称为 “reality gap”。而sim2real的工作就是去尝试解决这个问题
关于Homography单应性变换详细了解可参照这篇:https://zhuanlan.zhihu.com/p/74597564
论文:A Sim2Real Deep Learning Approach for the Transformation of Images from Multiple Vehicle-Mounted Cameras to a Semantically Segmented Image in Bird’s Eye View
自动驾驶的关键要素是对环境的精准感知。对于平面,反向透视映射(Inverse Perspective Mapping, IPM)可以精确地将图像转换为边界向量。但三维物体如车辆、道路会被这种变换扭曲变形,这使得很难估计他们相对于传感器的位置。
本文提出由多个车载摄像机图像转换成360°的鸟瞰图(BEV)像,对这个BEV进行语义类分割,并且预测被遮挡的部分。所提出的这种神经网络方法并不依赖于人工标记的数据,而是在合成数据集上进行训练,并泛化到真实世界的数据。通过使用语义分割的图像作为输入,减少了模拟数据和真实数据之间的现实差距,证明该方法可以成功地应用于现实世界。
本文贡献:
- 将多台车载摄像机的图像转换成BEV中语义分割图像;
- 设计比较两种不同模型方法;
- 训练神经网络模型时不需要手动标记BEV图像;
- 展示模型在现实世界的成功应用;
作者提出两个模型设计。
- 单输入模型,基于DeepLabv3+,其中主干分别采用MobileNetV2 和 Xception测试
- 多输入模型,基于U-Net,做了一些变型。模型结构如图:
- 它为每个输入图像都有单独的编码器路径(绿色路径);
- 作为每个尺度级(紫色路径)跳连接的一部分,特征图将进行投影变换(v-块)、与其他输入流串联(|| -块)、卷积、解码器路径的上采样输出进行串联;
- 此图显示了一个只有两个池化层和两个上采样层的网络,实际训练的网络分别包含四个。
上图中(v-块)类似于空间变换器单元,其细节如下图所示:
来自前一个卷积层(橙色网格层)的输入特征图通过IPM(逆投影映射)获得的单应性做投影变换; 不同摄像机的输入流之间,这种转换也不同;这里建立了空间一致性,因为变换的特征图捕获了与BEV真值相同的视野。 然后需要将这些变换的特征图级联到一个单特征图(参见上图的||-块)
实验结果:
以 Intersection-over-Union (IoU) 作为评估标准,实验结果如下:
实验表明: 使用uNetXST的方法可以在IPM引入透视误差之前,从未变换的相机图像中提取特征
实验表明:汽车、卡车、公共汽车为动态交通参与者,所以可以获得较好的实验结果; 但对于行人和自行车,因其在BEV图中较小且在训练集中出现的次数较少所以实验结果并不理想,但实验结果确实表明该方法确实较其他有好的表现; 没有IMP的模型(带有*)表现始终较差
虚拟合成数据:
真实数据: