车载视角下基于视觉信息的前车行为识别

2024-01-13 13:04刘延伟黄志明高博麟陈嘉星刘家熙
汽车安全与节能学报 2023年6期
关键词:车载卷积车辆

刘延伟,黄志明,,高博麟,钟 薇,陈嘉星,刘家熙

(1. 广东工业大学 机电工程学院,广州510006,中国;2. 清华大学,汽车安全与节能国家重点实验室,北京100084,中国;3. 国家智能网联汽车创新中心,北京100084,中国)

自动驾驶汽车涉及的关键技术包括感知认知、决策规划和控制执行等环节。其中,实现对前方车辆的行为识别是自动驾驶环境感知认知的重要内容,也是自动驾驶决策控制的重要基础。

当前关于车辆行为识别研究的主要路径为:通过感知前方车辆目标的时空位置,将感知数据投影于鸟瞰视角(bird's eye view,BEV)下,基于大地坐标系下的历史轨迹信息对前车进行行为识别,进而开展自车后续的决策规划控制。然而,在将目标的感知数据转化为大地坐标系下的历史轨迹过程中,容易引入不容忽视的误差造成数据质量下降。因此直接利用车载视角下的视频信息进行行为识别,将省去目标轨迹在大地坐标系下的转换环节,改善坐标转换过程中数据质量下降以及车辆行为识别的实时性问题,更有利于自动驾驶后续的决策规划控制。因而开发车载视角下基于视频信息的车辆行为识别具有重要意义。

目前,在车辆行为识别领域,众多学者已经进行一系列的研究,主要可分为传统的机器学习和深度学习2 类。其中,基于传统的机器学习方法有:隐Markov 模型(hidden Markov model,HMM)、 支持向量机(support vector machine,SVM)、Bayes 网络(Bayesian network,BN)等。王相海等[1]对交通视频车辆轨迹时序特征下的车辆行驶状态,提出一种基于HMM 的车辆行驶状态实时判别方法,通过实时获取车辆行驶轨迹与相应模型的匹配,从而实现对车辆行驶状态的实时判别。还有其他学者对HMM 进行了改进,有“层次HMM”(hierarchical HMM, HHMM)[2]、HMM-SVM[3]等模型,进一步提高了识别精度,但现有基于HMM 的车辆行为识别方法大多假设车辆未来的状态独立于一切过去的状态,忽略了上下文特征信息之间的关联性,在车辆行为识别方面面临瓶颈。黄慧玲等[4]提出了一种基于梯度方向直方图特征和支持向量机的车辆行为识别方法,以识别前方车辆的行为,并结合Kalman 滤波进行车辆跟踪。党彤[5]基于节点序优化建立了多特征Bayes 行为分类模型,计算不同以频繁变道、违章变道等为代表的车辆异常行为概率。

近年来,深度学习在各个领域都取得了长足的进步,解决了许多传统方法无法解决的难题。卫星等[6]提出一种基于长短时记忆网络(long short term memory,LSTM)的车辆行为动态识别深度学习算法,引入双卷积网络并行对视频图像帧的进行特征提取,利用LSTM 网络对提取出的特征信息进行序列建模,最后输出的预测得分来判断出车辆行为类别。季学武等[7]设计了一种基于长短时记忆网络的驾驶意图识别模块及车辆轨迹预测模块,利用Softmax 函数计算出驾驶意图分别为向左换道、直线行驶、向右换道的概率。蔡英凤等[8]提出了一种SLSTMAT(Social-LSTMAttention)算法,创新性地引入目标车辆社交特征并通过卷积神经网络(convolutional neural networks,CNN)提取,建立了基于深度学习的车辆行为识别模型,应用注意力机制来捕捉行为时窗中的多时步信息,实现了周边车辆行为准确识别。除LSTM 网络外, MOU Luntian等[9]基于时空卷积神经网络(spatial CNN,SCNN)模型,提出了一种对小样本数据集具有较高鲁棒性的车辆行为结构分析模型,利用迁移学习来学习得到一个视觉特征提取器,利用金字塔架构和再加权,使DNN 模型能够更好地处理结构化标签中的细粒度信息。

但是,上述的车辆行为方法大多基于鸟瞰视角下(BEV)的历史轨迹进行行为识别,所用数据主要来源于无人机视角采集到车辆历史轨迹信息,或者路口高位定点的路测设备采集的道路交通数据(如HighD[10]、NGSIM、Mirror-Traffic 数据集),这不利于基于自车坐标系下本车后续的决策规划控制,且上述方法大多需要在车辆的完整行为结束后才能进行识别。而目前公开的车载视角下的车辆数据集,仍主要用于目标检测、语义分割等其它任务(如KITTI[11]、BDD100K[12]、DAIR-V2X 数据集),缺乏对行为信息的标注,这极大地限制了车载视角下的行为识别的研究。

不同于以往车辆行为识别方法主要基于BEV 视角下的车辆历史自然轨迹信息做行为识别研究,本文提出了一种车载视角下的基于视频的前车行为识别方法。针对缺乏车辆行为数据集的问题,提出了一种基于车载视频信息的车辆行为数据集标注方法,构建了智能车车载视角下的行为识别数据集。搭建了以SlowFast 网络为主体的行为识别算法模型,在行为识别算法网络中引入非局部(non-local)操作模块、用焦点损失(focal loss)函数来替换原有的交叉熵损失函数,以便提高行为认知算法的识别精度。

1 模型理论基础

1.1 SlowFast 模型思想

基于视频的车载视角下的行为识别属于视频理解任务中的时空动作检测,时空动作检测不仅需要识别出行为动作出现的区间和对应的类别,还要在视频帧中定位出车辆目标的边界框。

SlowFast 网络是由Facebook FAIR 何恺明团队[13]提出的用于视频识别的高效网络,该网络通过2 条路径以不同的帧率(快和慢)进行视频识别,其中:

1) 慢速路径,以低帧率运行,刷新速度较慢,用于捕捉图像或稀疏帧提供空间语义信息,约占整体计算量的80%;

2) 快速路径,以高帧率运行,以较好的时间分辨率捕捉时间运动信息。

通过降低通道数量,快速路径分支可以变成轻量的网络,仅占整体计算量的20%,同时也能够学到视频中有用的时域信息。具体的SlowFast 网络结构如图1所示,其中:C为通道数量,H为高,W为宽。

图1 SlowFast 网络模型结构图

慢速路径可以是任意在视频片段上做时空卷积的模型。慢速路径在对视频帧进行采样时,时间步长τ较大,设慢速路径采样的帧数是T,则输入到模型中的视频片段长度为

快速路径的时间步长τ/α较小,其中,α表示是慢速路径和快速路径之间帧率比,取值大于1。由于快慢速路径对同一个视频上进行操作,因此快速路径采样到的帧数为αT。快速路径是一个与慢速路径相似的卷积网络,但通道数只有慢速路径的β倍,其中β<1 。

SlowFast 通过多次的横向连接来融合双流分支的特征信息。最后, 将2 条路径的输出进行全局平均池化,以池化后的慢速路径特征向量最后一维与快速路径特征向量的第一维前后拼接在一起后作为全连接分类器层的输入。

1.2 3D 卷积

在二维卷积神经网络(CNN)中,卷积操作应用于2D 的特征图,仅能从空间维度计算特征,如图2 所示。而当进行时空卷积时,其卷积操作方式见图3,模型的输入是多个连续帧组成的视频片段,通过运用3D 卷积核进行操作,卷积层中的特征图都会与上一层中的多个相邻帧相连,从而可以捕获运动信息。

图2 二维卷积操作示意图

图3 三维卷积操作示意图

由于3D 卷积比2D 卷积多了一个时间维度,纯3D卷积网络(C3D)参数更多,更难以训练。且从头训练纯3D 卷积网络,不能很好利用已经成功预训练好的图像分类模型。Carreira 等[14]提出I3D 模型,与C3D 不同,I3D 中的3D 网络由图像分类的2D 网络“膨胀”(inflate)得来(即由二维的卷积核复制三份堆叠形成三维的卷积核),从而可以充分利用已有的图像分类模型,I3D 的性能全面超越C3D,自此由2D 网络“膨胀”而来的3D卷积网络逐渐成为主流。

2 数据集

数据集推动车辆行为认知视觉任务的发展,要实现智能车车载视角下的行为识别的首要任务就是构建车载视角下车辆行为时空标注的数据集。

2.1 标注方法

2.1.1 车辆行为分析

通过观察大量的真实交通环境场景,本文遵循3个原则来定义数据集的行为标签:一般性、原子性和相关性。其中:一般性指的是需要标注车辆在日常行驶场景中的一般动作,而不是特定环境中的特定活动;原子性指的是车辆行为动作类别需要具有清晰的视觉特征,每个行为类别之间应该相互独立;相关性指前方车辆所发生行为会为自车的决策规划造成一定的影响。最终本文定义出来5 类行为进行标注:左变道、右变道、左转弯、右转弯、横行穿越。

2.1.2数据来源

本研究所使用的数据来源于车载智能摄像头采集的真实交通场景数据。这些数据是从广东和福建省内多个城市采集的,包含了不同的天气状况(晴天、阴天和雨天)以及在不同时间(白天和夜间)下的情况。采集场景涵盖了典型的高速路况和城市路况等交通场景。共采集了1 244 个时长为3 min 的高清视频,帧率为30 s-1,总计数据量达62.2 h。为了便于后续的分析和处理,从原始视频中截取了车辆行为片段,并将每个片段的时长统一为15 s,共450 帧。

2.1.3 标注规则

对有行为发生的关键帧,以3帧/s的频率进行标注,如图4 所示。

图4 关键帧标注示意图

以变道行为为例,从变道压线前的车身姿态发生明显变化处前约0.5 s 处开始标注,完成变道后不压线且车身位于同一车道内以车身姿态回正后0.5 s 作为结束标注的时刻。标注范围为本车道、相邻、相隔车道正前方第一排完整、无遮挡且能持续完整行为过程的车辆目标。标注内容包括图像帧中的车辆边界框、行为类别、车辆ID,前后关键帧的车辆目标需要进行跟踪匹配。车辆目标检测框贴合度为3 像素,检测框的准确率为98%的框准。需要标注的详细信息(视频名字2501、车辆ID 为1)如表1 所示,(X1,Y1)表示边界框的左上角,(X2,Y2)表示边界框的右下角。

表1 标注信息示例

2.2 数据集特征

2.2.1 数据集统计分析

基于车载视角的车辆行为数据集经过标注,共包含3 110 个15 s 的车辆行为视频片段,72 435 张关键图像帧,行为标注量达6 239 个,车辆边界框标注共100 463 个。各类别标注数量分布如图5 所示。

图5 数据集行为类别数量统计

车辆行为数据集训练、测试集在车辆行为视频片段级别被划分,因此一个15 s 的车辆行为视频片段中的所有行为只会出现在训练集或测试集中,3 110 个车辆行为视频片段分为2 488 个训练、622 个测试,训练集和测试集大致为4:1。

2.2.2 数据集特点

1) 多目标标注。当一个视频里有多个车辆目标同时执行不同的行为时,每个行为都会进行标注,这使得数据集的复杂度增加。

2) 只对关键帧进行标注。同一车辆行为在车辆行驶过程中会持续数秒时间,只对关键帧进行标注既保证了行为的连贯性,也大大减少了标注的工作量,提高了标注效率,降低标注成本。

3) 标注内容丰富。不同于基于图片的车辆目标检测数据集,车载视角下车辆行为识别数据集的标注基于时空信息进行,一个完整的行为需要在多帧关键帧上进行联合标注,覆盖从行为开始时刻到结束时刻的所有关键帧;同时需要标注车辆的ID,以便在前后多帧中进行匹配跟踪。

3 车载视角行为识别算法

3.1 车辆行为识别算法框架

车辆行为识别算法框架如图6 所示。将车辆行为视频解帧为视频帧序列,依据SlowFast 行为识别模型参数选取快、慢速路径的关键帧,然后使用时空卷积模型提取视频序列的时空特征,将快慢速路径的时空特征经过全局平均池化后进行融合拼接,作为全连接层的输入,最终得到视频中车辆的行为识别结果。

图6 车载视角行为识别算法框架

3.2 SlowFast 网络参数设计

SlowFast 模型的思想是通用的,可以灵活使用不同主干网络进行实现。表2 所示是本文SlowFast 的网络结构设计,采用“膨胀”而来的3D ResNet-50[15]作为主干网络。

表2 SlowFast 网络参数设计

3D ResNet 是一种深度神经网络架构,3D ResNet直接采用2D ResNet 的网络架构设计,通过用3D 卷积层代替2D 卷积层来扩展ResNet 块,3D 卷积层可以从输入视频中捕获空间和时间特征。内核的维度由{T×S2,C}表示,T表示帧数量、S2表示特征图尺寸、C表示通道数。此处速度比例是α=8,通道比例是β=1/8,时间步长τ=16,即输入连续的64 帧的视频片段,慢速路径采样4 帧关键帧,快速路径采样32帧关键帧。

3.3 损失函数设计

在时空行为检测行为分类任务中,通常采用的是交叉熵损失(cross entropy loss)作为多标签分类的损失函数,交叉熵损失函数表示为

式中,pt是模型给出的预测概率。但交叉熵损失函数没有考虑车辆行为识别数据集类别样本不均衡的问题,直接运用原始的交叉熵损失函数,负样本所占比例会非常大,成为主导梯度的优化方向,从而导致模型训练的准确率较低。

焦点损失函数Focal Loss[16]在交叉熵损失函数的基础上引入加权因子θ,可以在训练中让小数量的目标类别增大权重,让大数量的目标类别减小权重;通过引入γ聚焦参数,让分类错误的样本增加权重,从而使模型在训练时更专注于困难分类的类别样本,在整体上提高行为识别算法的识别准确率。Focal Loss 的函数表达式为

式中:θ是加权因子,其取值范围在0~1,θ和(1-θ)是别用于控制正负样本的比例;γ是聚焦参数,其取值范围为[0, +∞),γ越大,对易分类样本的惩罚力度就越大。

3.4 Non-local 模块设计

为了提高模型对视频长距离时空依赖性信息的提取能力,提高识别的准确率,在网络模型结构中引入Non-local[17]自注意力机制模块。

在深度学习网络中,卷积操作和循环神经元操作都是在本地局部操作,是一个建立处理局部范围信息的过程,通常需要堆叠许多层才能完成长距离的时空依赖关系的建模,然而过多的层数会带来计算效率低、优化困难的缺点。而Non-local 模块把非局部感受野的信息提取操作做成一个简单且通用的神经网络模块。它的提出是基于计算机视觉中的非局部均值方法,非局部操作可以将输入特征所有位置的信息进行加权求和,这些位置可以是基于空间域、时间域、甚至是频域,可以快速捕获长距离的时空依赖关系,这方便了端到端的视频分析。Non-local 操作的定义为

式中:i是输出位置的索引,j是需要枚举的所有可能位置。f作为计算i和j相关因子的函数,g作为输入信号的表征。响应通过C(x)进行了归一化。因此,Nonlocal 操作可以将所有位置考虑到,获取长程依赖,并应用在各个尺寸的输入上,输出相同的尺寸。

结合Non-local 的公式,可以将Non-local 模块的形式定义为

式中:xi是输入,zi是输出,Wz是权重参数,yi是nonlocal 计算公式,Non-local 操作可以很好地使用矩阵进行计算。

4 实验及结果分析

4.1 实验环境配置

车载视角下的行为识别算法基于Python3 语言开发,实验使用的云服务器基于Ubuntu 20.04 操作系统。硬件环境CPU 为Intel(R) Xeon(R) Platinum 8358P CPU@ 2.60 GHz;GPU 配备的是2 块GeForce RTX 3 090,显存24 GB。软件环境使用的深度学习框架是Pytorch 1.10.0,CUDA 10.3。

4.2 实验内容与训练

为了验证本文提出的车载视角下行为识别算法的有效性,从以下3 个方面开展网络模型对比实验:

1) 与原SlowFast 模型对比,使用焦点损失函数替换原有的交叉熵损失函数前后,模型的识别效果。

2) 对比Non-local 模块加入SlowFast 网络前后,模型的识别效果。

3) 对比损失函数重新设计、加入Non-local 模块前后,模型的整体识别效果。

本文的模型训练采用随机梯度下降优化方法(stochastic gradient descent, SGD)来优化网络模型中的参数,数据集训练轮数(epoch)设置为50,动量参数(momentum)取值为0.9,批量大小(batch size)设为8,权重衰减(weight decay)设置为10-5,学习率初始化设置为0.015,输入到网络模型中的每个关键帧都降采样到224×224 大小。

4.3 车辆行为识别结果分析

本实验将车辆行为数据集划分为训练集和测试集,大致为4:1。将划分出来的训练集用于训练模型,将训练好的模型在测试集上进行测试,识别测试集视频中的车辆行为。具体的测试集各类别统计数量见图7。

图7 测试集行为类别数量统计

本文采用总体准确率-Accuracy (被识别为正确的行为个数,占测试集的总行为数的比例)、精确率-Precision(被识别为正确的某类行为个数,占算法判定为该类行为个数的比例)、召回率-Recall(识别正确的某类行为个数占测试集中该类行为标注个数的比例)作为评价指标。

车辆行为识别算法在测试集上的结果如表3 所示。

表3 总体正确率-行为识别结果

从表3 可知:引入Non-local 模块和使用焦点损失函数替换原有的交叉熵损失函数,能有效提高模型对各车辆行为类别的精确率和召回率。综合考虑各车辆行为类别的精确率和召回率在方案4 的行为识别算法模型中的表现,左变道行为识别效果较好,精确率和召回率都超过了78%;右变道行为识别精确率77.44%,召回率70.23%,横行穿越行为精确率70.80%,召回率超过65%;上述3 种行为识别效果表现均高于左、右转弯行为。

其可能存在的原因:1) 左右转弯行为持续时长通常大于变道、横行行为;2) 转弯行为前半段车辆视觉特征与变道行为有一定的相似性,后半段车辆视觉特征与横行穿越行为有一定的相似性,导致行为识别模型容易将转弯误判为其他3 类行为,从而降低转弯行为准确率。

通过更改交叉熵损失函数为焦点损失函数,方案2 相较于方案1 总体准确率提高了11.6%;通过添加Non-local 模块提高模型对长距离时空依赖性信息提取能力,方案3 相较于方案1 提高了14.96%;通过比较方案2 和方案3,方案3 的行为总体准确率比方案2 高3.36%,说明提高模型的时空信息提取比增大对困难类别行为的识别权重更为有效。通过同时融合Non-local模块和焦点损失函数,行为识别算法模型识别的总体准确率得到进一步的提升,相较于SlowFast 原模型总体准确率提高了20.56%,达到68.12%。

5 结 论

本文提出了一种车载视角下的基于视觉信息的前方车辆行为识别方法,根据前方车辆行为特点,提出了基于车载视频信息的车辆行为数据集标注方法;设计了以SlowFast 网络为主体的行为识别算法模型,实现了车载视角下基于视觉信息的前方车辆行为识别。且在SlowFast 原模型的基础上,做了以下2 点改进:

1) 为了解决数据集类别数量不均衡的问题,使用焦点损失函数替换原有的交叉熵损失函数;

2) 引入Non-local 模块提高了模型对视频长距离时空依赖信息的提取,使模型能够捕捉视频中不同位置和时间的相关特征,增强模型对视频动态变化的理解和判断能力。

同时运用这2 点改进了原SlowFast 模型,改进后的模型总体准确率提高了20.56%,达到68.12%。研究工作对包括自动驾驶领域、智能交通系统、驾驶员行为分析等方面具有较为广泛借鉴意义。

本文的行为识别算法模型对左、右转弯行为的识别准确率还较低。今后工作研究的重点一是继续扩充车辆行为识别数据集,平衡数据集中各类行为标签的数量;二是提升左右转弯行为的准确率,从整体上提高行为识别算法的实用性。

猜你喜欢
车载卷积车辆
基于3D-Winograd的快速卷积算法设计及FPGA实现
高速磁浮车载运行控制系统综述
从滤波器理解卷积
车辆
基于傅里叶域卷积表示的目标跟踪算法
智能互联势不可挡 车载存储需求爆发
冬天路滑 远离车辆
提高车辆响应的转向辅助控制系统
基于ZVS-PWM的车载隔离DC-DC的研究
一种基于卷积神经网络的性别识别方法