1. 引言
自动驾驶汽车要在愈发复杂的城市道路环境中实际部署,拥有实时预测行人、自行车等弱势道路使用者(Vulnerable Road User, VRU)的意图,并采取必要的行动保护其安全的能力是至关重要的 [1] 。
胡远志 [2] 将行人骨骼和方向分别处理,充分利用骨骼的2D信息,建立了双流自适应图卷积网络进行行人意图识别。杨彪 [3] 基于行人动作和环境条件等多种信息建立行人意图识别网络。曹昊天 [4] 基于长短时记忆网络设计了一种多特征融合的行人意图识别和轨迹预测方法。Chen [5] 和Lorenzo [6] 引入行人边界框和人体骨架姿态作为行人过街意图预测的新特征源。SF-GRU [7] 基于循环神经网络(Recurrent Neural Networks, RNN)搭建堆叠RNN模型分层融合五个特征源用于行人过街意图预测。PCPA [8] 将四个特征源直接拼接再利用全连接层实现预测。随着特征源的增加,网络结构愈加复杂。PCIP [9] 拥有五个特征源,还要设计复杂的融合架构保证网络的精度。然而PCIP只考虑隐含的时间特征,而光流天然包含的时间信息可以帮助识别和预测行人的过街意图。
为了解决以上问题,我们提出了一种基于双流网络结构融合时空特征的行人过街意图识别模型。基于图像序列获取光流、行人外观表征和全局上下文分别作为时空特征源。基于MobileNet结合空间注意力设计了空间流特征提取模块,基于I3D引入时空卷积和空洞卷积设计了时间流特征提取模块,搭建了基于注意力机制的双流融合模块。在数据集JAAD和PIE上与其他方法进行比较来证明本文提出模型的有效性。设计行人过街意图识别系统,以真实的城市道路条件为实验环境,验证意图识别系统的稳定性和准确性。
2. 双流卷积特征提取
由于大多数城市交通场景和行人的不可预测性,为了建立行人运动特征模型,在特征提取时对每个行人的观察数据进行采样。每个目标行人i都有一个固定长度m的连续图像序列,在本文中图像序列长度定为16帧。目标行人i基于给定连续图像序列提取的特征信息定义如下:
行人外观表征:基于数据集中标注的目标行人边界框放大固定倍数逐帧裁剪并重新调整大小得到行人外观表征,即:
(1)
其中目标行人i的边界框在t − m帧图像中的坐标位置为:
(2)
其中
表示边界框左上角坐标,
表示边界框右下角坐标。
全局上下文:采用在Cityscapes数据集 [10] 上进行预训练的DeepLab V3 [11] 模型来提取语义掩码作为全局上下文,即
(3)
光流:利用Flownet2 [12] 模型预生成数据集中所有视频的光流信息,即
(4)
2.1. 空间流特征提取
为了提取图像信息中的空间特征,基于MobileNet [13] 和空间注意力 [14] 搭建空间流特征提取模块。如图1所示,它由标准卷积块,深度可分离卷积块和空间注意力融合块组成。预处理得到的全局上下文Cg和行人外观表征Rli经过卷积块处理后送入Lambda层融合,然后经过空间注意力层对特征图的空间信息进行权重再分配,随后经过平均池化层下采样得到空间流特征编码SC。

Figure 1 . Spatial stream feature extraction module
图1. 空间流特征提取模块
MobileNet将标准卷积替换为深度可分离卷积,增加了批量归一化(Batch Normalization, BN)层和激活函数Relu6。深度可分离卷积首先采用深度卷积对不同输入通道分别进行卷积,然后采用逐点卷积将前一步的输出结合,卷积效果类似于标准卷积,可以降低模型计算复杂度和模型大小,更适合自动驾驶汽车等算力受限的应用场景。
空间注意力用于特征图内不同位置特征信息的权重再分配,保持空间维度不变,压缩通道维度获得注意力权重重新分配网络关注度,使网络更关注目标位置。对注意力模块的输入从通道维度分别进行平均池化和最大池化,得到两个特征图并拼接,通过卷积层将其变为1通道的特征图,再经过sigmoid函数得到空间注意力的特征权重,最后将输出结果与原特征图相乘恢复输入尺寸。
2.2. 时间流特征提取
为了获取光流中的时间特征信息,基于I3D [15] 重新设计了时间流特征提取模块。如图2所示,它由十二个卷积块、四个最大池化层和一个全局平均池化层组成。后处理块由Flatten层和Dense层组成。

Figure 2. Temporal feature extraction module
图2. 时间流特征提取模块
光流 送入网络经过卷积处理后,将特征向量输入后处理块得到时间流特征编码 。
卷积块共有三种类型,分别是基础卷积块、改进inception卷积块和时空卷积块,所有卷积层都添加BN层和非线性激活函数Relu。改进inception和时空卷积块引入空洞卷积,空洞率设置为2。
基础卷积块只对空间维度卷积,基础卷积块1保持步长为2,只对空间特征进行下采样并提取底层较丰富的空间特征信息。卷积块结构如图3(a)所示。
改进inception卷积块采用2D卷积核,并引入空洞卷积。模块三的最大池化层对时空特征信息进行下采样,融合并向后传播。卷积块结构如图3(b)所示。
时空卷积块同时引入空洞卷积和分离卷积,将原I3D的3D卷积改为两个连续的2D卷积,首先学习空间特征,然后学习时间特征,将时间信息添加到所有分支,提高获取高层语义特征的效率,利用1 × 1 × 1的卷积层实现特征通道的降维减参,最后再将四个不同尺度的特征拼接然后输出特征向量,卷积块结构如图3(c)所示。
(a) 基础卷积块
(b) 改进inception卷积块
(c) 时空卷积块
Figure 3. Convolutional block structure
图3. 卷积块结构
3. 双流卷积多注意力模型设计
双流卷积多注意力模型结构如图4所示,它由空间流卷积模块,时间流卷积模块和双流融合模块组成。

Figure 4. Two-stream convolutional multi-attention model
图4. 双流卷积多注意力模型
在双流融合模块中引入注意力机制 [16] ,时间注意力用于序列特征内不同时序特征信息的权重再分配,提高神经网络对时序信息的利用率。注意力模块的输入为GRU输出的隐藏状态
。注意力权重为:
(5)
其中基于特征内容的“得分”函数为
,t是序列长度,
是解码器当前隐藏层状态,
是编码器所有的隐藏层状态。注意力模块的输出向量为:
(6)
其中Wc是可训练权重矩阵,上下文向量ct是注意力权重与编码器所有隐藏层状态的加权和,即
。
模型首先经过预处理得到光流O、行人外观表征Rli和全局上下文Cg。光流送入时间流卷积模块得到时间流特征编码TO。全局上下文Cg与行人外观表征Rli送入MobileNet网络经过融合得到卷积特征编码VC,再经由空间注意力模块根据空间特征信息加权得到空间流特征编码SC。时空流特征编码分别经过GRU单元重编码得到时间流特征向量FTo和空间流特征向量
,时空特征向量输入时间注意力模块得到关于时序特征的时间注意力向量at1和at2。
最后将两个时间注意力向量拼接融合输入到模态注意力模块得到关于各模态特征加权的注意力编码am,再输入Dense层获得行人过街动作概率
,判断行人过街意图。模型的行人动作概率如下:
(7)
其中AT为注意力模块,sigmoid为激活函数。
4. 对比实验与结果分析
4.1. 实验设置
评估模型使用的数据集是JAAD [17] 和PIE [18] 。其中JAAD提供346个经过剪辑的短视频(5~10秒长),包含两个子集,分别是jaad_beh和jaad_all,前者包含正在过街的行人495个,即将过街的行人191个,后者包含额外的出现在视野中远离马路或者没有动作的行人2100个。PIE中包含超过30万张的已标注视频帧,过街行人512个,其他行人1322个。
使用标准二元分类指标评估模型结果,分别是准确率(Accuracy),AUC、F1分数(F1 Socre)、精确率(Precision)和召回率(Recall)。dropout=0.5,损失函数使用二元交叉熵误差,优化器使用Adam,batchsize为16,学习率4 × 10−6。实验使用的硬件设备是显存11G的NVIDIA GeForce RTX 2080 Ti,内存16G,深度学习框架为tensorflow。
本文模型基于PCIP开发,将提出的模型与同类型方法进行了比较。参与对比试验的方法包括PCIP [9] 、PCPA [8] 、SF-GRU [7] 、SingleRNN [19] 。
4.2. 结果分析
如图5为模型对比试验的定性结果分析示例。t时刻为观察到图像序列最后一帧的时间,t + 0.5 s时刻和t + 0.25s时刻是t时刻前观察到图像序列中独立帧的时间,行人行为发生于t + 1s时刻,模型识别行人意图预测t + 1s行人是否穿越马路,绿色为穿越,红色为不穿越。
场景(a)中行人保持静止,等待车辆通过。由于SF-GRU和SingleRNN只考虑行人动作和局部背景,认为靠近道路边缘的行人即将采取穿越行为导致其对行人意图出现误判。其余模型均能正确识别行人意图。
场景(b)中目标行人为儿童,外观表征像素面积较小,有跨入车道穿越马路的动作。SF-GRU考虑行人动作因素比重较大,由儿童跨入道路的动作判定其将要穿越道路,导致识别结果错误。PCIP考虑行人动作因素和全局场景上下文,由于道路中并无车辆,因此结合儿童动作判定其将要穿越道路,导致识别结果错误。其余模型均能正确识别行人意图。
场景(c)中目标行人为青少年,左侧一直有遮挡,难以判断行人数量。SingleRNN考虑行人动作信息和局部背景,由于行人在看到车辆时动作出现停顿,导致模型的意图识别结果出现误判。PCPA则结合行人动作、局部背景和车辆信息认为行人不会穿越道路,由于缺少全局场景上下文信息,导致其忽略了后续出现在场景中的其他行人,给出了错误的意图识别结果。其余模型均能正确识别行人意图。
可以看到三个场景中,本文模型的意图识别结果均与数据集的真实标签相同,其他模型都有识别错误的情况出现,说明本文模型的意图识别准确性优于同类型方法。

Figure 5. Comparison of qualitative analysis results
图5. 定性分析结果对比
如表1所示是所有模型在数据集jaad_beh上的测试结果。本文方法在五项指标上都获得了最佳结果。相比对照模型中准确率最高的SingleRNN,本文方法提高了7个百分点。F1分数同时兼顾了分类模型的精确率和召回率,可以看作模型的精确率和召回率的一种加权平均,是衡量二元分类模型有效性最重要的指标。相比对照模型中F1分数最高的PCIP,本文方法也提高了4个百分点。由于jaad_beh中只包含正在过街或者即将过街的行人样本,样本数量小,泛化性不足,因此在其基础上增加了出现在视野中远离马路或者没有动作的行人样本,再次进行训练和测试。
如表2所示是所有模型在数据集jaad_all上的测试结果。在Jaad_all中,本文提出的模型在关键的准确率、F1分数和精确率三个指标中都优于对比模型。

Table 1. Quantitative results for the dataset jaad_beh
表1. 数据集jaad_beh的定量结果
*加粗的字体是表中对应评估指标最好的模型测试结果。

Table 2. Quantitative results for the dataset jaad_all
表2. 数据集jaad_all的定量结果
*加粗的字体是表中对应评估指标最好的模型测试结果。
如表3所示是所有模型在数据集PIE上的测试结果。PIE中有更广泛的行人样本,更多样的数据分布,更接近真实城市道路场景。在PIE中,本文提出的模型在仅在召回率一项指标上落后于对比方法PCPA,其他指标均领先于对比方法。

Table 3. Quantitative results for the dataset PIE
表3. 数据集PIE的定量结果
*加粗的字体是表中对应评估指标最好的模型测试结果。
5. 意图识别系统实验验证
5.1. 行人过街意图识别系统设计
为了验证本文所提行人过街意图识别算法在复杂城市交通环境下的准确性、合理性和稳定性,采用Python联合Tensorflow-Keras深度学习框架设计了行人过街意图识别系统,系统主要包括自车视角图像加载模块、行人特征提取模块、特征编码模块,意图识别模块。以真实的城市道路条件为实验环境,确定硬件型号和软件参数,搭建实验平台,进行实车实验。通过意图识别系统对车辆采集到的第一人称视角的视频数据进行识别,以验证意图识别系统的稳定性和准确性。
系统使用Python语言进行开发,系统的人机交互界面基于Python 3版本中的tkinter模块进行编程,编程平台为VS Code和 Anaconda。在模型改进和设计方面,使用Tensorflow-Keras深度学习框架对模型进行搭建。本系统的具体软硬件开发环境如表4所示。

Table 4. System environment configuration
表4. 系统环境配置
使用tkinter模块设计行人过街意图识别系统的人机交互界面,主要包括:视频加载模块、图像预处理模块、特征卷积模块和意图识别模型加载模块。
1) 视频加载模块
该模块是系统的输入,导入车载摄像头采集的道路图像视频流。
2) 图像预处理模块
该模块负责预处理已采集的视频数据流。
3) 特征卷积模块
该模块选择行人特征对应的编码模块,包括处理光流的原始I3D或者TFENet,空间特征编码模块主干网络的选择。
4) 意图识别模型加载模块
该模块选择意图识别使用的算法模型,包括第四章提到的对比模型PCPA、PICP和本文模型。
5.2. 实车道路实验
在上海市松江区多条开放的城市道路和校园内多条道路下进行实车实验,主要包含的道路场景为有信号灯十字路口、无信号灯十字路口、无信号灯人行横道路口和路侧行人较多的直行道路等典型交通场景。完成车载硬件布置及软件环境搭建之后,车辆以0~40 km/h的速度行驶在交通道路上进行行人过街意图识别实车实验。
实车实验采集的有效行人样本约为200个,使用所有意图识别模型对200个行人样本进行意图识别,并对识别结果进行了统计,统计结果如表5所示。

Table 5. Recognition results of different models
表5. 不同模型的识别结果
由表5可知,本文模型在200个新样本上的准确率领先于同类型模型,只在平均测试耗时这一项上稍微落后。说明将各个功能集成在一起之后本文模型依旧稳定,验证了本文行人过街意图识别系统的有效性。
6. 结论
正确识别城市道路场景中各种道路使用者的行为和意图对自动驾驶汽车的应用有非常积极的作用。我们提出了一种基于双流网络结构融合时空特征的行人过街意图识别模型。基于输入的视频流获取空间流和时间流,基于MobileNet结合空间注意力设计了空间流特征提取模块,通过优化I3D设计了时间流特征提取网络,搭建了基于注意力机制的双流融合网络。在JAAD和PIE数据集上的实验证明了本文方法的有效性。通过对软件功能需求分析,将各模块集成在系统中,利用Python语言的tkinter模块设计了图形用户界面,使用实车采集的200个新样本对系统进行了验证,结果表明本文模型意图识别准确率为96%,领先于对比模型,验证了识别系统的稳定性与准确性。
由于光流需要提前生成,费时费力,因此未来会探索能代替光流,不需要额外工作的特征信息。行人之间的交互也是影响行人下一步动作和意图的重要因素,同样是未来的工作需要关注的重点。
基金项目
国家自然科学基金(62101314):基于姿态超图匹配和迁移融合学习行人重识别研究。