当前位置: 首页 > 科技观察

Virtual-RealDomainAdaptationMethod

时间:2023-03-12 05:54:45 科技观察

arXiv论文“Sim-to-RealDomainAdaptationforLaneDetectionandClassificationinAutonomousDriving”,2022年5月,加拿大滑铁卢大学。虽然用于自动驾驶的监督检测和分类框架需要大型注释数据集,但由光照逼真的模拟环境生成的合成数据驱动的无监督域适应(UDA,UnsupervisedDomainAdaptation)方法是一种低成本、耗时较少的解决方案。本文提出了一种UDA方案,用于自动驾驶中车道线检测和分类应用的对抗性判别和生成方法。它还引入了Simulanes数据集生成器,它利用CARLA庞大的交通场景和天气条件来创建一个自然的合成数据集。所提出的UDA框架将标记的合成数据集作为源域,而目标域是未标记的真实数据。使用对抗生成器和特征鉴别器,调整学习模型以预测目标域中的车道位置和类别。对真实和合成数据集进行评估。开源UDA框架位于githubcom/anita-hu/sim2real-lane-detection,数据集生成器位于github.com/anita-hu/simulanes。现实世界中的驾驶是多种多样的,交通状况、天气和周围环境各不相同。因此,模拟场景的多样性对于模型在现实世界中的良好适应性至关重要。自动驾驶的开源模拟器有很多,分别是CARLA和LGSVL。本文选择CARLA生成模拟数据集。除了灵活的PythonAPI,CARLA还包含丰富的预绘地图内容,涵盖城市、乡村和道路场景。模拟数据生成器Simulanes在城市、乡村和高速公路环境中生成各种模拟场景,包括15种车道类别和动态天气。显示了来自合成数据集的样本。行人和车辆演员随机生成并放置在地图上,通过遮挡增加了数据集的难度。根据TuSimple和CULane数据集,车辆附近的最大车道数限制为4,并使用行锚点作为标签。由于CARLA模拟器不直接给出车道位置标签,因此使用CARLA的路点系统(waypointsystem)来生成标签。CARLA航路点是车辆自动驾驶仪要遵循的预定义位置,位于车道中央。为获取车道位置标签,将当前车道的航路点左右移动W/2,其中W为模拟器给出的车道宽度。然后将这些移动的航路点投影到相机坐标系,并用样条拟合以沿着预定的行锚点生成标签。类标签由模拟器给出,是15个类之一。为了生成具有N帧的数据集,N在所有可用地图上均匀分配。在默认的CARLA地图中,使用了城镇1、3、4、5、7和10,而城镇2和6由于提取的车道位置标签与图像的车道位置之间存在差异而未使用。对于每张地图,车辆参与者在随机位置生成并随机移动。动态天气的工作原理是随着时间的推移平滑地改变太阳的位置作为正弦函数,并偶尔产生风暴,通过云量、水量和积水等变量影响环境的外观。为避免在同一位置保存多个帧,请检查车辆是否已从先前的帧位置移动,如果该车辆静止时间过长,则重新生成新车辆。当将sim-to-real算法应用于车道检测时,采用端到端的方法,并使用超快速车道检测(UFLD)模型作为基础网络。选择UFLD是因为它的轻量级架构可以在相同的输入分辨率下达到300帧/秒,同时具有与最先进方法相当的性能。UFLD将车道检测任务制定为基于行的选择方法,其中每个车道由预定义行中的一系列水平位置表示,即行锚点。对于每一行anchor,位置被划分为w个网格单元。对于第i条车道和第j行锚点,位置预测成为一个分类问题,其中模型输出选择(w+1)个网格单元的概率Pi,j。输出中的附加维度是无车道。UFLD提出了一个辅助分割分支,该分支聚合多个尺度的特征以对仅在训练期间使用的局部特征进行建模。使用UFLD方法,交叉熵损失用于分割损失Lseg。对于车道分类,添加了一个全连接(FC)层的小分支,接收与用于车道位置预测的FC层相同的特征。车道分类损失Lcls也使用交叉熵损失。为了缓解UDA设置的域漂移问题,UNIT(“UnsupervisedImage-to-ImageTranslationNetworks”,NIPS,2017)&MUNIT(“Multimodalunsupervisedimage-to-imagetranslation”,ECCV2018)的对抗生成方法)被采用,并且使用特征鉴别器的对抗性鉴别方法。如图所示:提出了一种对抗生成方法(A)和一种对抗判别方法(B)。UNIT和MUNIT在(A)中表示,其中显示了用于图像翻译的生成器输入。MUNIT的附加样式输入以蓝色虚线显示。为简单起见,省略了MUNIT风格的编码器输出,因为它不用于图像转换。实验结果如下:左:直接迁移法,右:对抗性识别(ADA)法