0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么在自动驾驶中使用数据增强?为什么自动驾驶汽车的数据不一样?

工程师邓生 来源:智车科技 作者:智车科技 2020-10-27 09:55 次阅读

与其他目标检测问题相比,自动驾驶本身有着特殊性。那么,在自动驾驶的训练中,沿用一般的数据增强手段是否有较好的效果呢?本文介绍分享DeepScale深度学习软件工程师Matthew Cooper在针对该问题的一些实验和探讨。

DeepScale 从2019年起由于被特斯拉收购的消息而备受关注,其旨在帮助汽车制造商使用大多数汽车中标准的低功率处理器来提供非常精确的计算机视觉,专注于开发自动驾驶汽车的深度神经网络。而在深度神经网络应用中,数据可以通过多种方式进行扩充,以避免过度拟合,从而提高模型检测性能。

图像增强实验与结果

为了改善目标检测性能,在构建数据增强器时,经常会使用一种称为Cutout的正则化技术。简而言之,Cutout会在图像中使随机放置的正方形变黑。

Cutout应用于CIFAR-10 dataset中的图像

一般情况下,Cutout可以显著提高视觉应用的准确性。但是,当将其应用于这些数据时,我们的检测mmAP降低了。我们搜索了这个问题后惊讶地发现,我们使用的所有增强器都极大地损害了检测性能。

在探索的开始,我们使用了Filp(翻转)、Crop(裁剪)和权重衰减正则化,这些都是用于目标检测的常用方案。通过研究,我们发现这些数据在我们的数据集上均会损害检测性能。而删除这些增强器可使网络的初始性能提高13%mmAP 。(mmAP是COCO目标检测挑战中的默认评估指标)

目标检测常用方案的效果

通常,我们希望使用权重衰减、Flip和Crop来将性能提高几个点,如上图中虚线所示。但是,在这次的案例中,这些增强器分别对mmAP造成8.4%、0.1%和4.5%的损害。删除所有增强器可将整体性能提升13%。

那么,为什么这些标准的增强器会损害检测性能呢?为了解释这些,我们要从根本原理来重新审视图像增强的想法。

为什么使用数据增强?

过度拟合是深度神经网络的常见问题。神经网络非常灵活;但是,考虑到常见数据集的大小,它们通常会被过度参数化。这将导致一个模型,该模型学习数据集中的“噪声”而不是“信号”。换句话说,他们可以记住数据集的意外属性,而不是学习有意义的常规信息。结果,当提供新的实际数据时,过拟合网络无法得到正确的结果。

为了解决过度拟合问题,我们经常选择扩充训练数据。扩充图像数据的常用方法包括水平随机翻转图像(Flip)、改变其色相(色相抖动)或裁剪随机部分(Crop)。

原始长颈鹿图像(左上方)、Flip(右上方)、色相抖动(左下方)、Crop(右下方)。虽然进行了不同的变换,但每个图像依然都是长颈鹿。

诸如Flip、色相抖动和Crop之类的增强器有助于消除过度拟合,因为它们提高了网络的泛化能力。如果训练网络以识别面向右的长颈鹿并在面向左的长颈鹿的翻转图像上进行训练,则网络将知道长颈鹿是长颈鹿,而不管朝向如何。这就使得网络正确学习有关长颈鹿的相关信息(如棕色斑点毛皮),也能正确地排除一般信息。

诸如COCO目标检测挑战之类的公共数据集一般具有泛化的需求。由于这些数据集包含从多种来源聚合而来的图像,这些图像是在不同条件下从不同的相机拍摄的,因此网络需要概括出许多因素才能发挥出色的性能。网络需要应对的一些变量是:光、比例、摄像机固有特性(如焦距,主点偏移和轴偏斜)以及摄像机外部特性(如位置、角度和旋转)。通过使用数据增强器,我们可以训练网络来概括所有这些变量,就像在上一个示例中我们能够概括长颈鹿的方向一样。

来自COCO数据集的这些示例是使用不同的相机,不同的角度,比例和姿势拍摄的,因此有必要学习这些属性的不变性以在COCO目标检测中表现良好。

为什么自动驾驶汽车的数据不一样?

与来自COCO和其他公共数据集的数据不同,自动驾驶汽车收集的数据非常一致。

汽车通常相对于其他车辆和道路物体具有一致的姿势。此外,所有图像都来自相同的摄像机,安装在一样的位置和角度。这意味着同一系统收集的所有数据都具有一致的相机属性,例如上面提到的外部特征和固有特征。我们可以使用与量产时相同的传感器系统来收集训练数据,因此自动驾驶汽车中的神经网络不必担心这些属性的泛化。因此,适应系统的特定摄像机属性实际上可能是有益的。

这些来自Berkeley Deep Drive数据集中每个汽车的示例都是从同一摄像机以相同的角度和姿势拍摄的。它们还具有相同的伪影,例如挡风玻璃反射和每帧右下角的物体。

由于自动驾驶汽车数据具有一致性,这导致使用一般数据增强器(例如Flip和Crop)对性能的损害超过其帮助。原因很简单:翻转训练图像是没有意义的,因为摄像头将始终处于相同角度,并且汽车将始终位于道路的右侧(因国家而已)。汽车几乎永远不会在道路的左侧,摄像头也永远不会翻转角度,因此对翻转数据进行训练会导致模型过度包含一些不会发生的场景。同样,裁剪具有移动和缩放原始图像的效果。由于汽车的摄像头将始终位于相同位置,因此这种移动和缩放会导致网络会浪费其对不相关场景的预测能力。

如何改进?

现在,我们理解了自动驾驶汽车数据具有一致性,导致了之前那些增强器不太理想的结果。接下来,我们来看看是否可以利用这种一致性来进一步提高性能。

在引入任何新的扩充器之前,我检查了我们的数据集以查看是否可以在数据级别进行任何改进。我们的训练集最初包括来自两个广角相机和一个带变焦镜头的相机的图像。变焦镜头产生类似于Crop的缩放和移动效果。在测试时,我们仅使用广角相机,因此对缩放图像进行训练会使得网络过于笼统。我发现,从训练集中删除缩放图像可以大大提高mmAP。这证实了我们的假设,即训练集和测试集之间的一致性对于性能至关重要。

删除原始图像增强器后,我们在新的更一致的新数据集上进行了训练和测试。相对于原始方案,mmAP额外提高了10.5%。

之后,我们考虑了可以在不更改相机属性的情况下更改训练数据的增强器。我在该项目开始时实施的Cutout增强似乎是一个不错的选择。与Flip和Crop不同,Cutout不会以严重影响相机属性的方式(即通过翻转,移动或缩放)来更改输入。取而代之的是,Cutout可以模拟障碍物。障碍物在现实世界的驾驶数据中很常见,而障碍物的不变性可以帮助网络检测部分被遮挡的物体。

障碍物在现实世界的驾驶数据中很常见。在此图像中,两个行人挡住了我们对警车的视野,而大包挡住了我们对行人的视野。

色相抖动(Hue jitter)还可以在不影响相机属性的情况下帮助泛化。色相抖动只是将输入的色相移动一个随机量。这有助于网络对颜色进行泛化(例如,红色汽车和蓝色汽车都应被检测为汽车)。不出所料,Cutout和色相抖动都改善了在新数据集上的性能。

向新数据集中添加Cutout和色相抖动增强,相对mmAP分别增加了1%和0.2%。这比原始方案(即旧数据集上的Flip、Crop和权重衰减)提高了24.7%。

值得注意的是,这些增强技巧不适用于包含来自不同相机类型、不同角度和比例的图像数据集。为了证明这一点,我们通过随机翻转和剪裁创建了具有多种相机属性的测试集。不出所料,在更通用的数据集上,我们新的增强方案的性能比原始的一般增强器差。

当应用于具有一致性的自动驾驶汽车数据时,我们的新增强方案(Cutout和色相抖动)与一般增强方案(Flip、Crop和权重衰减)相比,mmAP提升了11.7%。但是,当我们将其应用到更多样化的数据时,与一般方案相比,其结果会下降24.3%。

最后

Flip和Crop等增强方式在很多研究工作上取得了广泛的成功,以至于我们从没想过要质疑它们对我们特定问题的适用性。当我们从根本原理重新审视增强概念时,很明显我们可以做得更好。机器学习领域有许多类似的“通用最佳实践”,例如如何设置学习率,使用什么优化器以及如何初始化模型。对于机器学习工程师来说,不断重新审视我们关于如何训练模型的假设非常重要,尤其是在针对特定应用进行构建时。学术界尚未对此类问题进行探讨,而通过以崭新的眼光看它们,我们可以极大地改善机器学习的实际应用。
责任编辑:PSY

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7118

    浏览量

    89342
  • 自动驾驶
    +关注

    关注

    784

    文章

    13910

    浏览量

    166761
  • 自动驾驶汽车

    关注

    4

    文章

    376

    浏览量

    40851
收藏 人收藏

    评论

    相关推荐

    从《自动驾驶地图数据规范》聊高精地图自动驾驶中的重要性

    从技术、管理和应用等多个维度规范自动驾驶地图数据的生产与使用。 引言 随着全球范围内自动驾驶技术的加速发展,自动驾驶地图这新型数字基础设施
    的头像 发表于 01-05 19:24 1657次阅读
    从《<b class='flag-5'>自动驾驶</b>地图<b class='flag-5'>数据</b>规范》聊高精地图<b class='flag-5'>在</b><b class='flag-5'>自动驾驶</b>中的重要性

    标贝科技:自动驾驶中的数据标注类别分享

    自动驾驶训练模型的成熟和稳定离不开感知技术的成熟和稳定,训练自动驾驶感知模型需要使用大量准确真实的数据。据英特尔计算,L3+级自动驾驶每辆汽车
    的头像 发表于 11-22 15:07 990次阅读
    标贝科技:<b class='flag-5'>自动驾驶</b>中的<b class='flag-5'>数据</b>标注类别分享

    标贝科技:自动驾驶中的数据标注类别分享

    自动驾驶训练模型的成熟和稳定离不开感知技术的成熟和稳定,训练自动驾驶感知模型需要使用大量准确真实的数据。据英特尔计算,L3+级自动驾驶每辆汽车
    的头像 发表于 11-22 14:58 865次阅读
    标贝科技:<b class='flag-5'>自动驾驶</b>中的<b class='flag-5'>数据</b>标注类别分享

    自动驾驶算法数据链路是怎么的?#ADAS #智能驾驶

    自动驾驶
    北汇信息POLELINK
    发布于 :2024年11月20日 13:05:51

    MEMS技术自动驾驶汽车中的应用

    MEMS技术自动驾驶汽车中的应用主要体现在传感器方面,这些传感器为自动驾驶汽车提供了关键的环境感知和
    的头像 发表于 11-20 10:19 484次阅读

    自动驾驶汽车安全吗?

    随着未来汽车变得更加互联,汽车逐渐变得更加依赖技术,并且逐渐变得更加自动化——最终实现自动驾驶,了解自动驾驶
    的头像 发表于 10-29 13:42 575次阅读
    <b class='flag-5'>自动驾驶</b><b class='flag-5'>汽车</b>安全吗?

    自动驾驶HiL测试方案案例分析--ADS HiL测试系统#ADAS #自动驾驶 #VTHiL

    自动驾驶
    北汇信息POLELINK
    发布于 :2024年10月22日 15:20:19

    FPGA自动驾驶领域有哪些优势?

    FPGA(Field-Programmable Gate Array,现场可编程门阵列)自动驾驶领域具有显著的优势,这些优势使得FPGA成为自动驾驶技术中不可或缺的部分。以下是FP
    发表于 07-29 17:11

    FPGA自动驾驶领域有哪些应用?

    是FPGA自动驾驶领域的主要应用: 、感知算法加速 图像处理:自动驾驶中需要通过摄像头获取并识别道路信息和行驶环境,这涉及到大量的图像处理任务。FPGA
    发表于 07-29 17:09

    自动驾驶汽车传感器有哪些

    自动驾驶汽车传感器是实现自动驾驶功能的关键组件,它们通过采集和处理车辆周围环境的信息,为自动驾驶系统提供必要的感知和决策依据。以下是对自动驾驶
    的头像 发表于 07-23 16:00 2409次阅读

    标贝数据采集标注自动驾驶场景中落地应用实例

    AI数据服务作为人工智能和机器学习的基础,自动驾驶领域中有着重要地位。与其他人工智能应用场景相比,自动驾驶的落地场景相对复杂,想要让汽车
    的头像 发表于 05-28 14:22 666次阅读
    标贝<b class='flag-5'>数据</b>采集标注<b class='flag-5'>在</b><b class='flag-5'>自动驾驶</b>场景中落地应用实例

    未来已来,多传感器融合感知是自动驾驶破局的关键

    /L4级自动驾驶赛跑的元年。 马斯克评论FSD 12.3版本的左转弯操作就像人类司机一样。如果FSD 12.3版本成功,将基本颠覆目前市场上的智能驾驶技术路线。基于“数据/算法/算力”
    发表于 04-11 10:26

    大众汽车和Mobileye加强自动驾驶合作

    美国智能驾驶芯片巨头Mobileye与大众汽车集团近日宣布,自动驾驶领域深化合作,共同推动全新自动驾驶功能在大众旗下量产车型的应用。Mob
    的头像 发表于 03-22 11:46 977次阅读

    自动驾驶发展问题及解决方案浅析

    汽车的发展提供有益的参考。   自动驾驶汽车发展的现状与挑战 ()技术难题 自动驾驶汽车的核心
    的头像 发表于 03-14 08:38 1205次阅读

    华为自动驾驶技术怎么

          自动驾驶技术是当今世界汽车产业的重要发展方向。作为全球领先的科技企业,华为自动驾驶技术方面也进行了深入的研发和创新。 、华为
    的头像 发表于 02-02 16:58 1836次阅读