论文总结 - Vision-based vehicle behaviour analysis: a structured learning approach via convolutional neural networks
1 论文信息
-
期刊:IET Intelligent Transport Systems -
年限:2020年 -
作者:Luntian Mou, Haitao Xie, Shasha Mao, Pengfei Zhao, Yanyan Chen
2 背景信息
车辆行为分析是对道路环境的更高级语义解释,目的是通过增强车辆或监控设备感知道路环境的能力来提高交通效率和减少交通事故。因此,利用车辆行为分析技术来改善现有的智能交通系统是极其重要的。基于视觉的车辆行为分析正处于初级阶段,尤其是与车辆检测和跟踪相比,这是智能交通研究的一个持续挑战。
对于车辆行为分析,典型的研究侧重于使用基于视觉感知机制的自下而上的方法来实现对道路上车辆的语义解释。一般底层利用外观、尺寸、运动等特征来检测和定位道路车辆;中层在车辆跟踪中应用数据关联、时间一致性和过滤;高层致力于通过聚集空间和时间特征来学习、建模、分类和预测车辆行为。在过去的十年中,在基于视觉的车辆行为分析任务中有大量的研究和开发工作,最经典的方法之一是基于跟踪轨迹的车辆行为分析。具体来说,首先跟踪车辆轨迹,然后将其作为样本放入分类器。为每个行为轨迹分配一个离散标签,传统的神经网络分类器直接用于训练与分类。虽然这些方法在车辆行为趋势的分类方面取得了显著的结果,但是在某些行为过程中的不同程度被忽略了,此外,这些方法还使车辆行为分析和车辆跟踪看起来是不可分割的,但是事实并非如此。
论文基于车辆图像同时给出了瞬时车辆行为状态的结构分析,包括行为趋势和程度,其中它只需要检测和定位车辆而不需要跟踪。受结构化学习的启发,作者认为转弯角度的程度代表了转弯行为发生的程度,因此设计了结构化标签,其中具有不同弯曲角度的曲线代表转弯行为,直线代表直行行为。考虑到卷积神经网络(CNNs)在学习原始图像的表示和表达性地捕捉输入图像和结构化标签注释之间的复杂和非线性关系方面的强大能力,作者提出了一个具有结构化标签的结构化CNN模型,命名为结构化CNN(SCNN)。
在车辆行为分析中,给曲线贴标签非常费时费力。因此,获得大量用于学习权重参数的训练例子是昂贵的。开发能够在训练数据有限的情况下对未知的图像做出准确预测的深度神经网络学习方法至关重要。为了解决这个问题,作者提出了一个防止过拟合的DNN (OPDNN),它利用诸如转移学习、多任务学习、重加权、金字塔架构等方法来有效地结合更多的数据,以降低过拟合的风险,并改善未知图像的生成。
3 论文贡献
-
在SCNN模型的基础上,提出了一种对小样本数据集具有更高鲁棒性的鲁棒车辆行为结构分析模型,称为OPDNN。 -
在OPDNN中,迁移学习用于从外部图像数据集(如ImageNet)中学习强大的视觉特征提取器,这有助于缓解论文本身数据集的数据不足问题。 -
在OPDNN中,多任务学习框架被设计为联合学习两个任务:一个是用离散标签预测行为趋势的类别,另一个是用结构化标签预测代表转弯角度的详细转弯曲线。 -
由于结构化标签的复杂性,利用金字塔架构和重加权,使OPDNN能够更好地处理结构化标签中的细粒度信息。
结构化学习
结构化学习 - 我的理解 - 相比于回归,输出一个标量或者一个向量,结构化学习的输出更加复杂,可以是图像、语句、树结构等等可由更小的组件构成的结构体。目前最火的技术GAN,最多的用处便是生成图像,这就是一个结构化学习的例子。其实像目标检测、语义分割、实例分割这些也是结构化学习,因为它们的输出都不是简单的标量或向量,是结构更加复杂的输出。还有,像机器翻译、语音识别、聊天机器人都是结构化学习。做个类比:标量和向量更像是原子与分子,而结构化输出更像是物体,由许多原子与分子组成。
4 数据集的制作
目前没有公开可用的带有结构化标签的车辆行为分析数据集。由于结构化标签的复杂性和大数据集标注工作量,论文的数据还处于小规模阶段。为了对所提出的方法进行初步的实验验证,首先假设监控摄像机的位置面向路口。也就是说,相机拍摄角度近似平行于垂直道路方向。如图1a所示,而对应的真实监控场景如图1b所示。
图1:交叉路口车辆转向行为的场景。(a):显示样本车辆摄像头位置和方向的假想交叉路口,(b):对应的真实交叉路口。
结构化标签用于同时标记瞬时车辆行为的趋势和程度。为了使模型符合人类的视觉认知,用直线表示直行行为,用曲线表示转弯行为,更直观地传达了丰富的车辆行为信息。此外,机器视觉有望通过视觉观察获得更多的语义理解,而不依赖于具体的大小。例如,转向程度的描述只需要感知转向,即大或小的程度,而不需要获得一个转角的具体值。因此,结构化标签图像通过每辆车的实际转弯角度描绘不同曲率的曲线,从而表征不同程度的转弯行为,如图2所示。
图2:基于车辆转弯角度的结构化标签。
5 OPDNN网络
OPDNN的核心是两种学习策略:迁移学习和多任务学习。迁移学习的目标是从比论文数据集大得多的外部图像数据集(如ImageNet)中学习一个强大的视觉特征提取器,然后在论文的任务中使用这个特征提取器。通过这样做,作者隐式地使用更多的数据(来自ImageNet)来训练网络,这有助于缓解论文本身数据集的数据不足问题。迁移学习通过从外部资源借用更多的数据,有效地缓解了过拟合问题。为了执行迁移学习,作者采用ResNet-18架构,并在ImageNet上训练其权重参数。然后,作者使用这个预处理的RetNet-18作为OPDNN网络中的特征提取子网络。
除了迁移学习,作者还利用多任务学习来避免过拟合。在多任务学习中,几个相关的任务在一个框架内共同学习,以使不同的任务相互受益。在作者的问题中,作者考虑两个任务。第一个任务是预测转弯方向的类别,包括左转、右转和直行。第二个任务是预测代表转弯角度的详细转弯曲线。第一个任务可以看作是第二个任务的前兆。作者先预测大致的转弯方向,然后预测详细的转弯角度。任务1的预测结果可以为任务2提供有用的信息。鉴于这一事实,作者设计了一个多任务学习框架。给定一幅输入图像,首先使用预处理后的ResNet-18提取视觉特征,然后根据视觉特征预测三类转弯方向,即执行任务1。然后将任务1的预测结果送入任务2,任务2是预测转弯曲线。这两个任务是共同学习的。
图3:OPDNN的高级架构。
图3显示了论文提出的OPDNN模型的整体架构。给定一个输入的图像,首先把它输入到一个预训练的ResNet-18网络中,以提取视觉特征。然后,这些特征被传递到具有128个隐藏单元的全连接层,接着是另外两个分别具有64个和32个隐藏单元的全连接层。32个单元全连接层的输出用于预测转弯方向(包括左转、右转和直行)的类别标签。定义了一种交叉熵损失L(turn)来进行分类,然后转向预测结果和32个单元全连接层的输出被连接成单个表示。这种表示被输入到由一系列全连接的层组成的金字塔结构中。这些层中隐藏单元的数量正在增加,从64个增加到128个,再增加到256个。然后从256个单元的全连接层的输出预测曲线图像。对于曲线图像中的每个像素,定义了一个二进制交叉熵损失L(curve)。蓝色箭头从“预训练的ResNet18”开始,到“全连接的256个单元”结束,显示正向激活的计算过程。红色箭头从“曲线预测损失”开始,到“预训练的ResNet18”下方的“全连接的128个单元”结束,显示了反向传播过程中反向误差的计算过程。请注意,没有指向ResNet-18网络的箭头,因为ResNet-18中的权重参数是预训练的,在训练OPDNN时不会更新。
最后,作者引入了一种重加权机制来解决曲线像素和非曲线像素的不平衡问题。在每幅图像的2048个像素中,大部分像素来自背景,一小部分像素位于曲线上。由于这种不平衡,在曲线图像预测损失函数中,非曲线像素将支配曲线像素。因此,该模型倾向于将每个像素预测为非曲线。为了解决这个问题,在训练过程中,赋予曲线像素更大的权重,引导模型更加关注曲线像素。
将所有这些部分放在一起,定义了以下损失函数:
其中N是训练示例的数量。Mi和Pi是第i个示例中曲线像素和非曲线像素的数量,Mi+ Pi= 2048。Lj(curve)和Lk(curve)曲线是定义在像素上的二元交叉熵损失。w1和w2是与曲线和非曲线像素相关联的权重。作者使w1大于w2,以解决不平衡问题。Li(turn)是转弯分类损失。λ是转弯分类和曲线预测这两个任务之间的折中参数。当λ = 0时,该多任务学习框架被简化为仅执行曲线预测任务的单任务学习问题。通过最小化这个损失函数来学习OPDNN的权重参数。
6 实验
实验设置包括SCNN与OPDNN的对比实验。数据集分成三个部分,分别包含720幅、180幅和90幅图像,用于训练、验证和测试。SCNN由两个具有5×5大小卷积核的卷积层、两个具有ReLU功能的激活层和两个具有最大池化功能的池化层组成。最后,定义全连接层,如图5所示。
图4:SCNN的基本架构。
OPDNN使用ResNet-18作为视觉特征提取的主干网络。这个网络的权重是在ImageNet数据集上预处理的,在作者任务的优化过程中权重是固定的。作者使用Adam算法来优化OPDNN中的权重参数。epoch的数量设置为600。mini-batch size设置为32。学习率选择为1×10-4。在训练过程中,当损失函数停止下降时,作者会降低学习率。在像素重加权中,作者给代表非曲线的白色像素分配0.07的权重,给代表曲线的黑色像素分配1的权重。论文使用称为交并比(IoU)的指标来评估曲线预测的性能。给定地面真实曲线图像t和预测曲线图像t^,其中黑色像素代表曲线,我们使用S(t)和S(t^)分别表示t和t ^中的黑色像素集合。IoU c(t, t^)的定义为:
其中|.|表示集合的基数。更大的c( t, t ^)表明预测曲线更好地与地面真实曲线对齐。
除了IoU,作者还测量预测曲线是否正确反映了汽车的转弯方向。给定一条预测曲线,作者手动检查它代表哪个转弯方向 - 左转、右转还是直行,然后将预测的转弯方向与地面实况进行比较,准确性被用来衡量预测的正确性。
对于SCNN本身来说,准确性仍然相当低。此外,模型的预测能力不太稳定,有三种完全正确或错误、结果模糊的情况如图5和图6所示。表1列出了错误分类和模糊结果,表2显示了90个预测中三个类别的精度、召回率和F1评分结果。可以看出,SCNN模型对右转和直行的分类能力优于左转。
图5:SCNN模型的完全正确或错误的预测。
图6:所有模糊的SCNN模型预测。
表1:SCNN混淆矩阵。
表2:SCNN模型的精度、召回率和F1评分结果。
OPDNN模型对于三类尤其是左转的分类能力,相比SCNN有了很大的提升。模型中所有不明确的结果都显示在图7中。OPDNN能够做到这一点的主要原因有四个方面。首先,OPDNN利用迁移学习来隐式扩充数据集。其次,它使用多任务学习来合并更多的注释。第三,它使用重加权来解决标签不平衡。第四,它使用金字塔架构来捕捉更详细的信息。表3列出了错误分类和模糊结果,表4显示了90个预测结果中三个类别的精度、召回率和F1评分结果。
图7:OPDNN模型的所有错误和模糊的预测。
表3:OPDNN的混淆矩阵。
表4:OPDNN模型的精度、召回率和F1评分结果。
为了正式验证这四个技术组件 - 迁移学习、多任务学习、重加权、金字塔架构的有效性,作者进行了消融研究。实验的具体过程略。
图8:不同消融研究设置下的IoU。
图9:不同消融研究设置下转弯分类的准确性。
7 结论
本文以汽车图像为基础,对汽车瞬时行为状态进行结构分析,包括行为趋势和行为程度,无论是在自动驾驶还是智能监控应用中,某些行为过程中的不同程度对于车辆交互场景都是有意义的。在预测准确率仅为53.3%的SCNN方法基础上,提出了OPDNN方法,降低了过拟合风险,预测准确率提高到91.1%。转移学习、多任务学习、重加权、金字塔架构方法被用于构建新的OPDNN网络架构,以有效地整合更多的数据。【展望:未来,作者将继续优化OPDNN模型,以提高精度并预测更精确的转弯角度。同时将扩展该模型的适用性,并将其应用于更多的非标准路口应用场景。】
|