APP下载

基于双流自适应图卷积神经网络的行人过街意图识别

2022-07-17胡远志施友宁

汽车安全与节能学报 2022年2期
关键词:过街关节点骨架

胡远志,蒋 涛,刘 西,施友宁

(汽车零部件先进制造技术教育部重点实验室(重庆理工大学),重庆400054,中国)

在无人行横道标志线和交通信号的城市道路中,过街行人与行驶的车辆往往存在相互干扰。街边行人可以在短时间改变运动的方向和速度,如果自动驾驶车辆对行人的过街意图产生误判,不仅影响车辆的通行效率,严重时,还威胁行人的生命安全,因此准确的预测行人的过街意图至关重要。

行人的过街意图识别可以简化为行人动作识别。在街边行走不过街的行人与即将横穿马路的行人,其运动方向和行人相对于摄像头的位置明显不同;街边站立不过街的行人与街道中行走过街的行人动作也明显不同。设计一种神经网络模型可以隐式的提取行人是否过街有关的行人动作特征,将提取的行人的动作特征输入到行人意图分类网络中即可识别行人的过街意图。

由于输入的行人特征数据存在很大的差异性和复杂性,行人的过街动作识别应用于视频是一个困难的问题[1]。目前动作识别方法分为3 类:三原色彩色标准(red green blue,RGB)视频流法[2-5]、光流法[6-8]、骨架建模法[9-12]。

骨架建模通过估计人体姿态来预测人体的动作,基于骨架数据的动作识别方法对动态环境和复杂背景有很强的适应性,其中使用最广泛的模型是递归神经网络(recurrent neural network,RNN)和卷积神经网络(convolutional neural networks, CNN)。RNN 可以捕捉到连续帧之间的时间依赖性,如bi-RNN[10]、Deep-LSTM[13]、融合特征模型和基于注意力的模型[14]。

为了识别行人的过街与不过街时的动作,研究者往往需要先检测人体的骨骼点[15]。FANG Zhijie 等[16]利用检测出的骨骼点之间的距离和角度判断行人是否有过街意图。R. Quintero 等[17]在三维空间检测人体骨骼点,并基于骨骼点信息识别行人的静止站立、起动、行走和停止动作。

骨架数据并不是单个关节点简单组合,骨架数据可以作为图形结构,传统卷积神经网络可以表示向量序列和二维网格,但并不能完全表示骨架数据的结构,将人体骨架数据看作骨架图结构,可以更深度的提取骨架信息。YAN Sijie 等人应用图卷积网络(graph convolutional network,GCN)来进行动作识别,将人体骨架看作图形结构,提出了时空图卷积网络[14],将骨架数据直接建模为图形结构,以此获得更好的性能。

本文采用图卷积的方法进行行人过街意图识别。将行人骨架看作图结构,行人非相邻关节点之间会存在依赖关系,比如行人的行走时,手部关节与腿部关节会有耦合的运动关系。本文设计了一种自适应的图卷积网络,可以捕捉到非相邻关节间的依赖关系。同时为了更加充分利用骨架数据,进一步利用了骨骼的长度和方向信息,设计双流图卷积网络。

1 行人时空骨架图

1.1 图表示

图由节点和连线组成,是一种描述系统建模的抽象数据类型,被广泛应用于姿态估计、行为识别等诸多邻域[18]。图中任意节点的状态更新均依赖于与其存在连接关系的n个节点的状态,具有节点和连线的完整图可定义为

其中:邻接矩阵M可以表示各个节点间的结构信息关系,图中节点存在连接的位置元素为1,其余位置元素为0,若图中有i个节点,图的节点的状态信息集合记为X= {x0,x1,x2,…,xi}。

行人的行为特征可以用骨架序列图表示,采用openpose 骨架序列[17],如图1 所示。其中0-17 编号分别 对 应: Nose、Neck、RShoulder、RElbow、RWrist、LShoulder、LElbow、LWrist、RHip、RKnee、Rankle、LHip、LKnee、Lankle、REye、LEye、REye、REar、LEar,共18 个关节点。将行人过街视频中每一帧中的骨架关节点组合看作一个图,每个关节点具有2D 或者3D 坐标。设一幅骨架图中有i个关节节点,且每一个关节均可表示为具有3 个位置坐标的向量X= (x,y,z),则从第1个关节到第i关点的状态向量集合记作X= {x0,x1,x2,x3,…,xi}表示。

图1 行人骨架关节点

每个行人数据集样本关节之间的结构信息可以用时空图表示,时空图包括空间维度信息和时间维度信息。图的结构遵循ST-GCN 所提出的原始结构[14],如图2 所示。时空骨架图在空间维度上,骨架图的关节为图的节点,关节之间的连接为图的空间边(图中蓝色线)。在时间维度上,相邻帧对应节点之间的连接为图的时间边(图中的橙色线),将每个关节的坐标设置为对应节点的状态。

图2 行人时空骨架图

在空间维度上,将骨架图定义为G=(V,E),其中V为n个关节的集合,E是个n-1 空间边的集合。设一个有N个节点和T帧的骨架序列的时空图为G=(V,E),V是3D 的关节在T帧内的位置框架,其节点节点集合为V={vti|t= 1,…N,i= 1,…N},第t帧的第i个节点的特征向量F(vti),该节点的坐标向量和估计置信度组成,ES={vtivtj|(i,j)∈H}表示空间边,EF={vtiv(t+1)i}表示时间边。

1.2 图卷积

传统卷积有固定的邻域大小(如3×3 的卷积核即为8 邻域),同时有固定的顺序(一般为左上角到右下角),如图3 所示。对于图结构数据而言:不存在固定8 邻域结构,每个节点的邻域大小是变化的,如图1 所示。例如人体骨架脖子Neck 脖子节点的邻域节点个数为5,Shoulder 肩节点的邻域节点个数为2,Wrist 手腕节点的邻域节点个数为1;并且同一邻域内的节点不存在顺序。

图3 传统卷积8 邻域图

根据上文定义的图,ST-GCN 核心思想将卷积从规则数据扩展到图结构数据的过程中,选择合适的取样函数和权重函数[14]。提出在图上应用多层时空图卷积运算来提取高层特征,然后利用全局平均池化层和softmax 分类器,根据提取的特征进行动作类别预测。

在空间维数中图卷积运算表示为

其中:Zij的意义为(在i节点的邻域中的)j节点所处类的节点数量。Si表示vj卷积的取样区域,定义为目标节点vi到邻居节点vj的距离;归一化系数是为了平衡邻域中每一类节点的贡献;ω[li(vj)]为权重矩阵;fin(vj)为输入的特征映射。

图网络的特征实际上是C×T×N的向量,其中N表示图节点的数量,C代表通道数,T代表时间帧长度,要实现ST-GCN,式2 转换为:

其中:Kv表示空间维数的核大小,ĀK为N×N的邻接矩阵,fin为特征映射,表示顶点Vj是否在顶点Vi的子集Sik中,Si为目标点Vi卷积的采样区域。从权重向量的fin中提取特定子集中的连通点,ηik是归一化对角矩阵。

设置α= 0.001,可以避免空行,归一化也可以避免计算数据差异越来越大,Wk是卷积。

在2D 卷积中,邻域内的像素具有固定的空间顺序,可以通过根据空间顺序索引的张量来实现加权函数。但骨架序列没有这样的隐式排列,所以在骨架识别中按照目标节点周围邻域的图标记过程定义来构造加权函数。

延用ST-GCN 所提出的加权函数设计模式,不给每个相邻节点一个唯一的标签,而是通过分区策略将关节点的邻域集合划分为3 个子集,每个子集都有一个数字标签。图4 显示了这个策略,其中×表示骨架的重心,所有关节的平均坐标视为重心。

图4 采样区域图

采样区域Si是曲线所包围的区域,根据身体运动大致分为向心运动和离心运动,将邻居集划分为3 个区域:1)根节点本身;2)向心组,比根节点更加靠近骨架重心的相邻节点;3)离心组。采样区域Si映射表示为li=S(Vi)→{1,2,3},相应的加权函数可表示为W(Vi,Vj) :S(Vi)→Rc,则一个映射与权重的赋予可以通过来实现。每个子集的权重向量在训练时会向前反向传播更新,以此来提高其加权准确性。Mk是N×N注意力图,表示每个顶点的重要性。

在ST-GCN 的时间维度上,时间卷积网络(temporal convolutional network,TCN)每个顶点的相邻节点数固定为2(即为两个连续帧中的对应关节),所以可以在上面计算的输出特征图上进行Kt×1 卷积,其中Kt是时间维度的内核大小。

ST-GCN 中的图卷积构造过程存在2 个缺点:

1) ST-GCN 的注意力机制灵活性不够,掩码Mk是与邻接矩阵直接相乘。这就造成一个现象,就是如果邻接矩阵Mk里面部分元素为0,那么无论Mk对应元素为何值,最后结果都是0。换句话说就是不会创造不存在的连接,ST-GCN 中使用的骨架图只代表人体的物理结构,忽略了非物理连接关节之间的依赖关系。例如,手和腿之间的关系对于识别行人“过街”动作是很重要的,然而由于手和腿部关节在骨架图的定义中相距很远,ST- GCN 很难捕捉到手和腿之间的依赖关系。

2) 行人关节之间的骨骼特征的2D 信息如骨骼长度和方向,与行人的过街意图息息相关。例如行人从街边横穿突然过街,行人的骨骼2D 骨骼长度和方向会发生突变,有利于快速识别行人的过街意图。

2 自适应图卷积与双流图卷积

2.1 自适应图卷积

ST-GCN 骨架数据的时空图卷积中,图的结构是预定义的,不适用于不同行人过街状态的识别,本文应用了一种自适应图卷积层(adaptive graph convolution,AGC),它将图的拓扑结构与网络的其他参数一起以端到端的学习方式进行优化。由于图对于不同的层和样本是唯一的,这就增加了模型的灵活性。同时插入残差分支,保证了模型的稳定性。

由式(3)可知:图的拓扑实际上是由邻接矩阵Ak和掩码Mk决定的,Ak确定了两个关节点之间是否有连接,而Mk决定了关节点之间的连接的强度。为了增加图结构的适应性,将图卷积公式改为

其中:Ak与式(3)原始的归一化N×N邻接矩阵Ak相同,表示行人关节点的物理结构。Bk和Ak类似,也是一个的邻接矩阵,但Bk是一个可训练的权重,而且没有对其进行如归一化等任何约束条件,Bk是从数据学习过来的参数,不仅能表示2 个节点是否存在联系,而且能表示联系的强弱。这里与ST-GCN 有不同的融合方式,ST-GCN 是相乘,这里是相加,相加就可以产生不存在的联系。Ck是数据相关图,为每一个样本学习唯一的图,为了确定2 个顶点之间是否存在连接以及连接的强度,应用归一化嵌入式Gauss 函数来计算2 个顶点的相似性:其中:f(vi,vj)为给定输入映射,等于式(6)和式(7)的乘积,其大小为C×T×N,N是顶点的总数,θ可以表示为θ(vi) =Wθvi,φ可以表示为φ(vj) =Wφvj,顶点Vi和顶点Vj表示任意2 个点,Vi表示当前关注位置的信息,Vj表示全局信息,θ和φ通过1×1 卷积学习。fe(vi,vj)是non-local 提出的4 个具体函数中名为Embedded Gaussian[19]的一种相似度函数,用来计算和所有可能关联的之间的相似关系。M为归一化系数,N是Vj的位置的数目,用归一化简化梯度计算,计算所有j的softmax,保证输入与输出的大小一致。

如图5 所示,在具体的实现中,首先将大小为Cin×N×T的输入映射fin嵌入具有2 个嵌入函数的Ce×N×T中,即θ和φ,嵌入函数为1×1 卷积层,2 个嵌入的特征图被重新排列并重塑为一个N×Ce×T矩阵和一个Ce×T×N矩阵,然后相乘得到一个N×N矩阵Ck,其中Ck ij表示顶点Vi和Vj的连接度。将矩阵的值归一化为0~1,作为2 个顶点的虚拟边,归一化Gauss具有softmax 操作,可以计算Ck为

图5 自适应卷积块

其中:Wθ和Wφ分别为嵌入函数θ和φ的参数。将Bk和Ck添加到原公式,Bk的值和θ和φ的参数被初始化为0,这样可以增强模型的灵活性,而不会降低模型的原始性能。

时间维度的卷积与ST-GCN 相同,即对C×T×N特征图进行Kt×1 卷积。空间(图)卷积网络GCN 和时间卷积网络TCN 之后都有一个批归一化(BN)层和一个ReLU 层。如图6 左所示,一个基本块是一个空间自适应图卷积神经网络结构(adaptive graph convolutional neural network structure,AGCN)、一个时间TCN 和Dropout 的组合,下降率设置为0.5。为了稳定训练,为每个块添加残差(ResNet)连接。

自适应图卷积神经网络(AGCN)是这些基本块的堆栈,如图6 右所示共有9 个基本块,每块的输出通道 分 别 为64、64、64、128、128、128、256、256、256,在开始时添加一个BN 层(批量归一化)来对输入数据进行规范化。最后执行一个全局平均池化层,以汇集到相同大小的不同样本的特征图。最终的输出被发送到一个softmax 分类器,获得过街意图预测。

图6 AGCN 模块结构

2.2 双流图卷积

在原有的骨架识别中,仅仅对关节坐标位置信息进行提取与识别,行人关节之间的骨骼信息骨骼长度和方向,对于行人意图识别也同样重要。在本文中,应用骨骼信息与关节信息来加强行人意图的识别。骨骼信息能表示行人骨骼的物理连接、骨骼的长度与连接方向,其信息输入的数据是骨骼的长度和方向。

首先寻找一个人体骨骼的重心,就是人胸腔部分作为中心点,因为每个骨骼都有两个点,把靠近中心点的关节看做源关节,远离中心点的关节视为目标关节。所以说关节就是点,骨骼就是从一个点指向另外一个点的向量,向量的长度就是骨骼的长度,向量的方向就是骨骼的方向。假设一个行人骨骼的源关节位置信息为V1= (x0,y0,z0),其目标关节位置信息为V2=(x1,y1,z1),则骨骼的矢量计算为eV1V2= (x1-x0,y1-y0,z1-z0)。因为骨骼是2 个关节组成一个骨骼,而且没有环状的图,所以关节数比骨骼数多1 个。中心关节上添加一个值为0 的空关节,这样关节数与骨骼数就相同,网络也相同,双流法的框架如图7。

图7 双流图卷积模块

可根据骨骼的长度与连接方向对过街行人的过街状态进行分类与识别。假设道路上有3 种不同状态的行人:行人横向过街(过街)、 行人在街边行走(不过街)、行人在道路边等待(不过街或者即将过街)。在连续视频帧中,3 种行人的骨骼长度变化和骨骼的方向存在差异明显,分类网络可根据行人特征的差异性来识别行人的过街意图。给定一个样本,首先根据关节的数据计算骨骼的数据,然后将关节数据和骨骼数据分别输入AGCN,最后将2 个网络输出的softmax 分数融合,得到融合分数,预测行人过街意图标签。

3 实验与分析

3.1 实验准备

3.1.1 实验数据集

采用加拿大York 大学提供的自动驾驶联合注意力公开数据集 (joint attention in autonomous driving public dataset,JAAD )[22], 预测行人过街意图,JAAD包含346 个视频场景,其中81 个行人不过街的场景,234 个行人过街的场景。在每个视频中,随着时间的推移,每个行人都有自己的过街状态等信息,如图8 所示。

3.1.2 实验数据集预处理

为了提取行人的关键点,本实验采用openpose 算法提取过街行人骨架数据[17],其中JAAD 数据集提供每个行人的身份识别号(ID)和过街时间帧等信息。全部视频帧被标准化为656×368 帧大小。然后,将每个关键点 (x,y) ∈R2分别归一化,将每个坐标除以656和368,如式(9)所示:这种规范化有利于数据的标准化输入(方差≤1),为神经网络做准备,同时保留了场景中行人的空间信息。随后利用openpose 获取行人关键点的坐标序列,则每个行人的状态可以表示为其中:C是通道数,设C= 3 ,包括骨骼2 维坐标、关节点置信度;T是时间帧,T= 300;N是行人关节点数量,N= 15。

3.1.3 实验参数设置

实验中,为了训练并验证ST-AGCN 对行人过街意图的识别准确率,将JAAD 数据集行人样本统一帧数为300,若数据集视频帧数小于300,则从第一帧循环,直到视频帧达到300 帧,若数据集视频帧大于300 帧,则将大于300 帧外的视频帧作为另一个视频帧;openpose 获取行人关节点信息采用caffe 深度学习框架;行人过街意图识别采PyTorch 深度学习框架;行人过街意图识别分类num_class 为2,C 为过街(Crossing),NC 为不过街(No Crossing),其中训练集和测试集的比例为1:1;训练epoch 为50,训练批次大小为8;采用随机梯度下降(SGD)优化器;初始学习率为0.01;权重衰减系数为10-4。

3.2 实验结果分析

3.2.1 行人过街意图分类分析

行人过街意图分类存在2 个神经网络模型,如图9所示。首先将原始视频数据输入到openpose 骨架特征提取网络模型,得到行人关节点坐标,根据行人关节点坐标绘制出行人骨架图;然后将行人的关节特征输入到双流自适应图卷积神经网络模型,得到行人的过街意图标签。

图9 过街和不过街意图分类网络数据处理流程

行人不同的动作状态会激活关节之间不同的动作依赖性,在实验可视化视图中,行人关节的依赖性由白色高亮的热度图表示在关节上。

实验利用关节点热度图来评价分类网络对关节点之间的依赖性以及对单个关节的关注度。若不同关节点之间存在依赖性,则关节点将会由不同大小的热度图;若某节点对模型识别分类结果产生较大的影响;该节点将产生更大的权重参数,则产生较大的热度图,反之将产生更小的热度图。在意图分类整个过程中,计算并绘制行人关节点的热度图,如图10 所示。

图10 不过街和过街意图关节点热度图

在行人不过街神经网络的分类过程中,神经网络更加关注腿部的关节点信息,所以腿部出现较大的热度图,在行人过街神经网络的分类过程中,神经网络不仅关注腿部的关节点信息,而且关注手部关节的摆动信息,故腿部和手部关节都出现较大的热度图。从实验结果也可以看出,行人不同过街状态,模型可以对相同的关节产生不同的关注度,实验验证意图分类神经网络的自适应可以捕捉到非相邻关节间的依赖关系。

3.2.2 模型识别方法性能分析

本次实验重新设计了时空图卷积神经网络用于行人过街意图的识别分类,在分类网络中加入了自适应图卷积模块和双流图卷积模块,如图11 所示。双流自适应图卷积神经网络可以准确识别行人的过街状态(过街、不过街)。

图11 行人过街与不过街识别结果

实验采用准确率 (accuracy,Acc)指标进行评价,计算公式为

其中:P和N分别表示总的过街样本和不过街样本数目;PT和NT分别表示正确识别的过街样本与不过街样本数目。

实验对比了Openpose+ST-GCN 模型和Openpose+2s-AGCN 模 型 识 别 的 准 确 率, 分 别 为86% 和89.36%,Openpose+2s-AGCN 模型的识别准确率高3.36%,验证了模型自适应和双流图卷积的有效性。本实验的模型与同样在JAAD 公开数据集上的实验模型结果对比,如表1 所示。本实验的模型准确率比Openpose+Keypoint 分类模型还要高1.36%。

表1 行人过街意图模型准确率

4 结 论

本文在时空图卷积网络(ST-GCN)的基础上,针对此网络的不足,进行了改进,针对此网络注意力机制灵活度不够以及不能捕捉到非相邻关节间的依赖关系,加入了自适应图卷积模块,为了充分利用骨骼的2D 信息,加入了双流图卷积,最后设计了双流自适应图卷积神经网络(ST-AGCN)行人过街意图识别方法。在自动驾驶联合注意力公开数据集 (JAAD) 中具有行人的身份标识号(ID)和标签信息(过街、不过街;C/NC),实验对行人骨骼关节点的关注度和意图分类的准确率进行分析比较,验证了自适应模块和双流网络都能给行人过街意图网络带来性能上的提升,改进网络结构后准确率提升3.36%。

本文提出的方法,当智能车辆检测出行人过街意图时候,能够方便智能车辆或者驾驶员及时收到反馈,减速停车礼让行人,提高交通安全性和车辆的通行效率。但本文所提出的双流自适应图卷积行人过街意图识别方法,更加侧重空间维度上信息的利用,未来将针对网络时间维度上信息的利用。

猜你喜欢

过街关节点骨架
搭接相位信号交叉口非机动车过街行为分析
浅谈管状骨架喷涂方法
基于深度学习和视觉检测的地铁违规行为预警系统研究与应用
关节点连接历史图与卷积神经网络结合的双人交互动作识别
骨架密度对炭/炭多孔骨架压力浸渗铜的影响
搞好新形势下军营美术活动需把握的关节点
市政道路过街管施工的质量控制
盲人智能过街辅助系统设计
内支撑骨架封抽技术在突出煤层瓦斯抽采中的应用
铁骨架配合物凝胶的合成、表征及催化性能