论文笔记 Learning to Drive from Simulation without Real World Labels

一、问题背景

模拟器的发展越来越好,在模拟器上进行实验有很多好处

可以自由地改变环境外观、照明和天气条件,描述周围障碍物复杂性的更多结构变化,可以模拟在现实世界中难以(或危险)复制的场景。同时,模拟器统计提供了ground-truth表示,如语义,车辆相对道路的位置和角度。

在模拟器上进行训练和测试的模型是“doomed to succeed”事件,即注定会成功的,但是这样训练出来的模型在真实世界中是incapable的,因为存在 “reality gap”,即模拟器和真实世界的差距:在外观上的差异(渲染、拍摄)材质、亮度等。模拟器的图片是渲染得到的,真实世界中的图片是由相机拍摄得到的,两者得到的图片有差异,所以导致在模拟器训练到的模型难以在真实世界中投入使用。

 

二、相关工作

sim2real问题仍然有很大的探索空间,总的来说有如下努力方向:

1、从模拟器出发,提高模拟渲染光感真实度

2、学习模拟器和真实世界图像特征的映射关系(这个映射关系是不变的)

 

2.1 cGAN 转换图像,但是两个图像是同一个场景下的

《Image-to-image translation with conditional adversarial networks》

提出了一种conditional adversarial networ作为image-to-image转换的通用框架。主要是利用了同一场景下模拟器图片和真实世界图片的分割图相同这一特点,将模拟器图片转化为真实世界图片来训练模型。

 

2.2 cycleGAN转换图像,两个图像不需要是对应的

《Un paired image-to-image translation using cycle-consistent adversarial networks》
这篇文章提出了cycleGAN来解决图像转换问题,主要使用了“循环一致性”假设,它假定源领域中的图像映射到目标领域之后还能通过同样的方法映射回源领域。这种方法不需要成对的图片来进行训练,削弱了对数据的要求。
上面这篇博客的讲解比较简洁。
 

2.3 UNIT模型

《Unsupervised Image-to-Image Translation Networks》
这篇文章主要利用的是 “ 共享潜在空间” 的假定,即两个不同域的图像可以映射到共享潜在空间中某些潜在向量。“循环一致性”包含在“共享潜在空间”假定中。基于“共享潜在空间”假定,提出了基于GAN和VAE的无监督图图转换的框架UNIT。在生成对抗和共享约束下学习两个domain边缘分布的联合分布,即潜在空间。

https://blog.csdn.net/leviopku/article/details/83653527   这篇文章的讲解比较简洁。)

a)共享潜在空间假设。假设一对来自两个不同图像领域的对偶图像(x1, x2) ,在共享潜在空间Z中,它们能被映射到相同的潜在码z。E1和E2是两个编码函数,负责把图像编码成潜在码。G1和G2是两个生成函数,负责把潜在码转换成图像。 (b)UNIT框架。E1,E2,G1,G2这四个函数都是用CNN来实现的。此外,为了实现共享潜在空间使用了权重共享限制的策略,即 把E1和E2的后几层绑在一起(共享权重,如上图的虚线所示),把G1和G2的前几层绑在一起。

 

三、方法模型

端到端车道跟随(end to end lane following)

根据“共享潜在空间”假定。 利用模拟器中的驾驶图片-命令标签对(Xsim ,C)训练一个可以在模拟器图像和真实世界图像之间转换的网络,训练过程无需真实世界图像对应的命令标签 

训练出的网络可以根据图像的隐空间Z输出转向命令c,成功的在真实世界中指挥驾驶。

3.1模型架构

 

E的后几层和G的前几层共享参数。

controller是一个条件模仿学习。  由2018年ICRA《End-to-end driving via conditional imitation learning》提出

controller跟在Z空间后面,根据输入的Z输出命令C(转向角度)

3.2损失函数

 

损失函数(3)中一共有7个因子,

0、第0个如图a所示,是重构图像L1损失(1->2,Xsim通过encoder Esim编码到共享潜在Z空间中,再通过Gsim生成sim领域的重构图片)

1、第1个如图b所示,是图像经过一圈循环后重构的图像之间的L1损失(1->2->3->4 ,Xsim通过Esim编码到共享潜在Z空间中,再通过Greal生成real领域的翻译图片,  再将这个翻译得到的图像经过Ereal编码到共享潜在空间Z中,再将这个潜在码经过Gsim生成sim图片,经过一个循环重构了回来)

2、第2个如图c所示,是将Xsim经过Esim编码为Z后直接预测命令C,c与真实c的L1损失。(1->2)

3、第3个如图d所示,将Xsim先经过Esim编码到Z,再利用Greal生成翻译图像,再接着将这个翻译图像通过Ereal编码到Z,用这个循环编码回来的Z预测命令C,c与真实C的L1损失(1->2->3->4)

4、第4个如公式(2)所示,是生成器的最小二乘损失

5、第5个是将原始图像和生成的图像都送到一个训练好的VGG网络中看最后一层提取到的特征的差异。

6、第6个, 是指将Z通过G生成一个图片,再将生成的图片经过E编码到Z,比较两个z的差异

 

四、实验评估

4.1数据收集

贝塞尔生成曲线路径,道路的材质在模拟器材质库中随机选取

树木、树叶的渲染遵从泊松分布 Poisson Disk Sampling(根据树叶密度参数)

模拟器中可以自由改变云量、降雨、地表水积累和时间

标签收集过程:模拟器中一个专家agent以恒定速度,根据车辆与道路中线的距离调整方向,期间假如OU过程噪声,最大化扰动agent获得更多的状态。 一共250m道路,以10km/h的速度,路上没有任何其他车辆障碍物的干扰。(OU过程是一种序贯相关的过程,曾在DDPG中用于实现RL的探索 可以简单地理解为噪声扰动以便获得更多的状态,如果想要深入了解,具体可以参考:https://blog.csdn.net/qq_33254870/article/details/105137275

 

除农村外也在英国剑桥的一个城郊进行了实验(英国剑桥人少的郊区公共道路 ,在没有其他车辆的时候进行了测试(分别在晴天、阴天、雨天进行了测试)。

 

在收集数据时发现,无论是模拟器还是现实世界转向角度,也即命令c(取件在[-1,1]之间)都在0附近徘徊,同时,现实世界更倾向于0,即直行。由于数据分布不均,所以使用了数据分箱,将这些标签分为了8个箱,区间边界为[−1, −0.075, −0.05, −0.025, 0.0, 0.025, 0.05, 0.075, 1]。

 

4.2 开环闭环评估

开环是指每次试验都选取数据集中的图片送进网络得到命令C,下一次再随机选取,两次状态没有关联。

闭环是指下一次的状态是上一次状态预测得到的命令导致的,相邻两次预测方向是有关联的。

如下表结果所示,DPI为闭环评估,另外的都是开环,DPI是人为干预前成功驾驶路径长度,越大越好,其他都是越小越好。

MAE是平均绝对误差,但由于数据不平衡,实际性能反映不佳,于是本文提出了一种Bal-MAE,即Balanced-MAE,是指先将八个箱中的数据,按照众数平滑,将连续的数据离散化,比如第一个箱中的数据-0.1出现最多次,那么第一个箱中的所有数据都变成了-0.1,然后再求8个箱的MAE。

 

从上图中可以看出来,开环指标对于现实世界中模型的实际性能的评估相关性较弱,我理解的是这两个MAE 和Bal-MAE并不能评判模型在现实世界中的好坏,按照表格中来看,在real中文中的模型并不是最好的,但是按照PDI来看,本文提出的模型表现确实最好的,且远超其他方法。

 

这几个baseline分别是:

Drive-Stright:我理解是一直直走(但并不确定)

Simple Transfer:在模拟器中训练好的模型,直接处理真实世界的数据。

Real-to-Sim Translation: 将真实世界图像转化为模拟场景中图像,输入到模型中。

Sim-to-Real Translation:在模拟器中将图像转换为真实世界的图像训练模型,之后直接将模型应用于真实世界。

Latent Feature ADA:对抗领域适应的一种方法

 

五、消融研究

公式3的损失函数中有7个因子,本文对他们做了消融研究,

表格中的数字是指在去掉对应项后(把对应λ设置为0)MAE或者Bal-MAE变为了原来的几倍,(原来分别是0.017,0.018,如TABLE1中所示),可以看到除了Cyc Control项以外的所有项对减小误差都有很大影响,尤其是Recon. Cyclic L1 和 GAN,这两项也是模型基本的内容。

Visualisation (可视化?

左边是农村的图像,右边是城市的图像

行:前四行是sim to real,即模拟器图像到显示世界图像,下面四行反之,是real to sim

列:第一列是原始图像,第二列是重构图像,第三列是翻译图像,第四列是循环重构图像(即把翻译后的图像再翻译回去)

值得注意的是,左边第三行,几乎要驾驶到道路外了,这种状态的训练,提高了模型的鲁棒性,训练agent从偏离道路方向重新调整回来的能力。(这部分理解不透彻,用语有点不太理解,建议自己再看看)

 

六、贡献 

文章对自己的贡献进行了总结:

1、We present the first example of an end-to-end driving policy transferred from a simulation domain with control labels to an unlabelled real-world domain.

2、利用模拟器,我们可以学习到超越在真实世界中常见驾驶分布的策略,消除了对多个摄像头或者数据增强的需要。

3、在没有标签的情况下驾驶车辆在乡村道路上行驶了3km。使用open-loop和closed-loop评测模型与baselines做对比。

4、在英国城市道路上成功的驾驶。

 

七、个人读后理解:

       整篇文章主要解决自动驾驶感知部分的问题,在2017年NIPS发表的《Unsupervised Imageto-Image Translation Networks》提出的UNIT模型结构的基础上稍作修改应用到自动驾驶问题上来。

       核心思想是两个domain的图像存在“共享潜在空间”,模型本质是cycleGAN,利用“共享潜在空间”假设将在模拟器中训练好的模型直接用于真实驾驶场景的lane following任务中。          

       评估使用了开环和闭环评估,提出了Bal-MAE的评价指标,并发现开环评估对真实驾驶场景的相关性较弱,这是需要提高的部分。在闭环评估中车辆在无人的英国剑桥的城郊道路上成功行驶了3km,成果较好。

 

 

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值