计算机视觉如何在复杂环境中进行有效感知?
近年来,计算机视觉在智能交通系统(ITS)和自动驾驶(AD)中的应用逐渐转向深度神经网络架构。虽然在基准数据集上的性能似乎有所改善,但在研究中还没有充分考虑到许多现实世界中的挑战。本文对计算机视觉在ITS和AD中的应用进行了广泛的调研,并讨论了与数据、模型和复杂城市环境相关的挑战。数据的挑战与训练数据的收集和标记及其与现实世界条件的相关性、数据集固有的偏向、需要处理的大量数据以及隐私问题有关。深度学习(DL)模型对于嵌入式硬件上的实时处理来说通常过于复杂,缺乏可解释性和可推广性,并且难以在真实环境中进行测试。
虽然在一些文献中提到了这些问题,但只开发了一些方法来解决这些问题。智能交通中的计算机视觉是一个非常活跃的研究领域,本文选择并综述了200多篇论文。图1概述了应用程序和挑战,以供快速参考,而表1总结了每个应用程序中使用的方法和相关挑战。以下章节(II、III、IV)讨论了数据、模型和复杂交通环境的具体挑战。第五节解释了应对挑战的一些代表性应用和解决方案。第六节是这一领域研究应采取的未来方向,最后,第七节提出了一些结论性意见。
数据的挑战
1)数据通信
数据通信虽然在大多数ITS和AV计算机视觉研究中没有考虑,但在实际应用中至关重要。在实践中,单个基于相机的深度学习任务通常需要在TMC的相机和云服务器之间进行数据通信。视频数据量很大,这可能导致潜在的数据通信问题,如传输延迟和数据包丢失。在协作摄像机传感环境中,不仅与服务器进行数据通信,而且在不同传感器之间进行数据通信。因此,另外两个问题是多传感器校准和数据同步,协作环境中的校准旨在确定传感器之间的透视转换,以便能够在给定帧合并来自多个视图的采集数据。这项任务在多用户环境中非常具有挑战性,因为传感器之间的变换矩阵随着车辆的移动而不断变化。在协作环境中,校准依赖于背景图像中元素的同步,以确定静态或移动传感器之间的转换。存在多个去同步源,例如时钟之间的偏移或可变通信延迟。虽然时钟可能是同步的,但很难确保在同一时刻触发数据采集,这增加了合并采集数据的不确定性。同样,不同的采样率需要在采集或预测数据之间进行插值,这也增加了不确定性。
2)训练数据和benchmark的质量
交通摄像头广泛部署在道路和车辆上,DOT和城市的TMC不断收集网络范围内的交通摄像头数据,这些数据对各种ITS应用(如事件识别和车辆检测)都很有价值。然而,标记的训练数据远不如未标记的数据常见。随着图形逼真度和模拟物理变得越来越现实,许多应用程序缺少注释数据集的问题正慢慢被合成数据所克服。例如,[9]中的GT 3D信息在单目3D检测和跟踪的训练期间需要高精度,因此使用了视频游戏数据。除了真实的外观,模拟场景不需要手动标记,因为标签已经由模拟生成,并且可以支持各种照明、视点和车辆行为。然而,如果使用合成数据,真实世界的应用仍然需要额外的学习过程,例如领域自适应。低保真度模拟数据用于训练具有域随机化转移学习的真实世界目标检测器。缺乏高质量的碰撞和接近碰撞数据通常被认为是一个实际的限制,更多的碰撞数据将更新AD中的注意力指南,使其能够捕捉长期碰撞特征,从而提高碰撞风险评估。
3)数据偏差
尽管当前的车辆检测算法在平衡数据集上表现良好,但当面对不平衡数据集时,它们在尾部类别上的性能会下降。在现实世界场景中,数据往往服从Zipfian分布,其中大量尾部类别的样本很少。在长尾数据集中,少数头部类(频繁类)贡献了大部分训练样本,而尾部类(罕见类)的代表性不足。大多数使用此类数据训练的DL模型将长尾训练数据的经验风险降至最低,并且偏向于头部类别,因为它们贡献了大部分训练数据。一些方法,如数据重采样[22]和损失重加权[23],可以补偿不足的类别。然而,他们需要根据类别频率将类别划分为几个组。头尾类之间的这种硬性划分带来了两个问题:相邻类别之间的训练不一致,以及对罕见类别缺乏辨别力。
模型挑战
1)复杂性
DL计算机视觉模型在神经网络结构和训练过程方面具有很高的复杂性。许多DL模型设计用于在高性能云中心或AI工作站上运行,而一个好的模型需要数周或数月的训练,以及由GPU或Tensor处理单元(TPU)驱动的高功耗。实时应用程序通常会进行一些修改,如调整视频大小以降低分辨率或模型量化和修剪,这可能会导致性能损失。为了满足效率和精度要求,在许多实际应用中需要降低最先进DL方法的模型复杂性。例如,多尺度可变形注意力已与视觉vit一起用于目标检测,以实现高性能和快速收敛,从而加快训练和推理。
2)缺乏可解释性
DNN在很大程度上被视为具有多个处理层的黑盒,其工作情况可以使用统计数据进行检查,但学习到的网络内部表示基于数百万或数十亿个参数,使得分析极其困难。这意味着,行为本质上是不可预测的,而且对决策的解释很少,这也使得自动驾驶等关键用例无法进行系统验证。普遍认为,复杂的黑盒是良好性能所必需的,这一假设受到了挑战。最近的研究试图使DNN更易于解释,[41]中介绍了视觉transformer的可视化工具,可用于查看内部机制,如隐藏参数,并深入了解影响预测的输入的特定部分。
3)可转移性和可推广性
对非分布数据的泛化对人类来说是自然的,但对机器来说却具有挑战性,因为大多数学习算法都强烈依赖于测试数据的独立和相同分布假设训练,而这在实践中常常因域转移而被违反。域泛化旨在将模型泛化到新的领域,已经提出了学习可推广和可转移表示的不同方法。大多数现有方法都属于域对齐的范畴,其中的主要思想是最小化源域之间的差异,以学习域不变表示。对源域移位不变的特征也应该对任何未发现的目标域移位都是鲁棒的,数据增强是一种常见的做法,用于规范机器学习模型的训练,以避免过度拟合并提高泛化能力[45],这对于过度参数化的DNN尤为重要。神经网络中的视觉注意力可用于突出决策中涉及的图像区域,并进行因果过滤以找到最相关的部分[46]。[47]中通过使用图像的随机屏蔽版本并比较输出预测来估计单个像素的重要性,这种方法不适用于时空方法或那些考虑复杂环境中对象之间关系的方法!
4)真实世界测试
一般来说,DL方法容易出现不规范,无论模型类型或应用如何,都会出现这种问题。在其它领域中,[48]分析了计算机视觉中的不规范性,特别是针对DL模型,如常用的ResNet-50和缩放转移学习图像分类模型Big transfer(BiT)[49]。研究表明,虽然基准分数随着模型复杂度和训练数据的增加而提高,但使用真实世界的失真进行测试会导致较差且高度变化的性能,这严重依赖于用于初始化训练的随机种子。实际系统需要在各种低成本硬件上实时处理的内存和计算方面高效[50]。一些实现高效和低成本计算的方法包括参数修剪、网络量化、低秩因子分解和模型蒸馏。像[51]这样的方法是有效的,能够实时预测轨迹,但不是端到端的,因为它们假设预先存在目标跟踪系统来估计周围车辆的状态。
行人和骑自行车者等弱势道路使用者(VRU)存在一个独特的问题,因为他们可以非常快速地改变方向和速度,并与车辆不同地与交通环境交互。在ITS中实际部署计算机视觉模型的一些主要障碍是数据源和软件的异质性、传感器硬件故障以及极端或异常传感情况。此外,最近的框架(例如基于边缘计算的框架)直接暴露了具有各种安全实现的大量异构设备的无线通信信号,为恶意行为者创造了不断增加的潜在攻击面。已经开发了深度学习模型来检测这些攻击,但实时应用和在线学习仍然是积极研究的领域。IoV面临着基本的实际问题,这是由于移动车辆将在边缘节点上呈现高度可变的处理要求,而每辆车也可以同时运行许多边缘和云相关的应用程序,以及恶劣的无线通信环境。与自动驾驶汽车边缘计算相关的其它挑战包括协作感知、协作决策和网络安全,攻击者可以使用激光和明亮的红外光干扰相机和激光雷达,改变交通标志,并通过通信信道回放攻击,模型挑战的可视化描述如图3所示!
复杂的环境
1)阴影、照明、天气
阴影、恶劣天气、背景和前景之间的相似性、现实世界中的强烈或不足照明等情况被引用为常见问题[59],[60]。众所周知,相机图像的外观受到不利天气条件的影响,如大雾、雨夹雪、暴风雪和沙尘暴[61]。[62]中的一种实时碰撞检测方法使用高斯混合模型进行前景提取,然后使用平均移动算法跟踪车辆。车辆的位置、速度和加速度通过阈值函数来确定碰撞的检测。虽然计算效率很高,但这种方法在噪声、复杂的交通环境和天气变化的情况下会受到严重影响。在恶劣的天气条件下,相机捕捉到的车辆会出现曝光不足、模糊和部分遮挡等问题。同时,出现在交通场景中的雨滴和雪花增加了算法提取车辆目标的难度。在夜间,或在车辆朝着摄像头行驶的隧道中,由于远光眩光,场景可能被完全掩盖。
2)Occlusion
遮挡是最具挑战性的问题之一,其中由于另一个前景目标的遮挡,目标对象仅部分可用于相机或传感器。遮挡以多种形式存在,从部分遮挡到重度遮挡。在AD中,目标对象可以被建筑物和灯柱等静态对象遮挡,诸如移动车辆或其它道路使用者之类的动态对象可能会彼此遮挡,例如在人群中。遮挡也是物体跟踪中的一个常见问题,因为一旦被跟踪车辆从视野中消失并再次出现,它就被视为不同的车辆,导致跟踪和轨迹信息不准确。
3)摄像机角度
在交通基础设施的应用中,监控摄像机的多样性及其视角对在有限类型的摄像机视图上训练的DL方法提出了挑战。虽然[68]中的算法在计算上是有效的,并且可以在不同的照明条件和交通密度场景下工作,但较低的间距相机视图和道路标记拐角可能会引入显著的错误。[69]中的模型可以识别摄像机附近的异常,包括它们的开始和结束时间,但对于距离中的异常来说并不准确,因为车辆只占几个像素。早期对监控视频异常检测的一项调查得出结论,照明、摄像机角度、异质对象和缺乏真实世界数据集是主要挑战[67]。用于稀疏和密集交通条件的方法是不同的,并且缺乏可推广性。在多视图视觉场景中,匹配不同视图中的对象是另一个主要问题,因为多视图ITS应用程序需要处理不同相机同时捕获的不同图像中的数据[70]。
4)相机模糊和图像降级
监控摄像机受天气因素影响。水、灰尘和颗粒物质可能积聚在镜头上,导致图像质量下降。强风会导致相机抖动,导致整个图像的运动模糊。自动驾驶汽车上的前置摄像头也面临这一问题,因为昆虫会砸到玻璃上,导致摄像头视野中的盲点。具体而言,目标检测和分割算法受到极大影响,除非在模型中做好准备,否则错误检测可能会导致AD中的严重安全问题,并错过监视应用中的重要事件。解决这一问题的一些方法包括使用退化图像进行训练、图像恢复预处理和微调预训练网络以从退化图像中学习。例如,[72]中使用了密集的Gram网络,其提高了退化图像中的图像分割性能。
5)异构的城市交通条件
密集的城市交通场景充满了复杂的视觉元素,不仅在数量上,而且在各种不同的车辆及其交互中,如图4所示。汽车、公共汽车、自行车和行人在同一个十字路口的存在是自动导航和轨迹计算的一个重要问题。不同的尺寸、转弯半径、速度和驾驶员行为因这些道路使用者之间的互动而进一步复杂化。从DL的角度来看,很容易找到异构城市交通的视频,但标记地面真相非常耗时。模拟软件通常无法捕捉此类场景的复杂动态,尤其是在密集的城市中心出现的交通规则破坏行为。事实上,[74]中创建了一个特定的数据集来表示这些行为。[75]中创建了一个用于无管制密集交通的模拟器,该模拟器对自动驾驶感知和控制很有用,但不代表真实道路使用者的轨迹和交互。
原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与AI的社区(https://mp.weixin.qq.com/s/NK-0tfm_5KxmOfFHpK5mBA)