自动驾驶汽车中的深度学习技术

自动驾驶汽车领域,深度学习技术扮演着至关重要的角色。本文将深入探讨如何利用这一技术来提高汽车的自主驾驶能力。首先,需要了解自动驾驶汽车的感知系统是如何工作的。这涉及到传感器、摄像头、计算引擎和决策算法等技术的集成,它们共同构成了自动驾驶汽车的核心技术。

为了训练计算机识别汽车周围环境中的物体,如车辆、行人、自行车和卡车,需要提供这些物体在真实场景中出现的例子。这些例子可以通过收集和标注图像来获取,这是一个庞大的任务。数据收集和整理通常是深度学习研究过程中的关键部分。幸运的是,许多公共数据集已经为自动驾驶汽车的深度学习项目做好了准备,这大大减轻了工作量。

自动驾驶汽车中部署物体检测模型,需要将问题框架化,以便能够用数学方式表达。创建一个数学模型来反映使用自己的视觉能力进行决策的逻辑。物体检测是计算机视觉中的一个流行任务。大多数用于物体检测的深度学习模型将问题分为两部分:识别物体边界框的存在(回归问题)和将边界框内容分类为相关类别(分类问题)。

有很多方法可以模拟物体检测问题,深入探讨神经网络架构超出了本文的范围。如果对进一步了解示例感兴趣,已经写过一篇关于EfficientDet架构和设计的深入分析。主要的观点是,可以使用训练数据通过一个称为梯度下降的过程来数学地告知模型关于手头任务的信息。每个示例都“教导”模型通过更新模型参数来做出更正确的预测。梯度下降最小化了问题中定义的损失函数(例如,准确性的倒数)。

模型看到的例子越多,它就越有可能在生产中遇到的不同场景中标记物体。在模型中,可以看到总损失在减少——这是统计上的保证,模型将在部署到生产中时很好地泛化到它尚未见过的图像上。确保训练数据的质量非常重要,特别是在自动驾驶汽车的背景下。最近,发现一个流行的自动驾驶汽车数据集包含错误和缺陷。

如果有兴趣亲自尝试训练物体检测模型,请参阅教程,了解如何训练EfficientDet进行物体检测以及如何在自定义数据集上训练YOLOv3。这两个教程都详细介绍了训练最新物体检测模型所需的代码。

如何知道模型在训练后会表现良好?神经网络就像一个黑盒子,很难窥视其内部逻辑。因此,不依赖于对模型系统的直观理解,深度学习研究人员通过在测试集上量化其模型的成功来了解模型在训练之外的表现如何。也就是说,如果在一个数据集上训练一个模型来识别汽车,然后测试那个模型,发现它在一个完全不同的数据集上识别出100%的汽车,那么可以安全地假设模型在引入到现实生活中的全新数据集时会做得很好。

但这是一个大胆的前景!如果使用的测试集不包含可能出现的所有场景范围怎么办?在Joshua Brown的案例中,特斯拉缺乏在极亮条件下训练/测试图像的数据集,其中卡车和天空之间的区别很微弱。

一旦训练了一个物体检测模型来识别汽车在路上行驶时感兴趣的物体,并确定它在未见过的数据上表现良好,可以设置一个系统来处理汽车行驶时视频流中的图像。会注意到随着模型对其周围环境进行推断,人和汽车周围的框架会移动和更新。最新的最先进的模型非常小,可以非常快速地进行预测!

在每个框架的左上角,显示了物体的分类。在右上角,显示了模型对预测的信心。模型的信心有一个20%的阈值。因此,模型必须至少有20%的把握才能预测给定物体的存在。

然而,模型远非完美。会看到它经常将标志分类为交通灯,并且偶尔会错过一个人,特别是如果他们距离很远。现在可以看到全貌。有一个深度学习系统在实时对其周围环境中的物体进行推断。如果汽车制造商,可以将这项技术与激光雷达传感器一起链接,以检测物体距离和车轮中的超声波传感器来检测路缘和停放的车辆。然后,会编写算法,将这些信息输入并部署决策到操作车辆的执行器。

应该买一辆自动驾驶汽车吗?购买自动驾驶或半自动驾驶汽车的理由将始终是一个统计问题,因为深度学习技术很难在引擎盖下进行拆解。认为,决定信任计算机而不是自己,归结为两个关键概念:1)相信数据和统计的力量来预测未来;2)谦逊感。因为归根结底,需要比信任自己更信任这个系统。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485