Pedestrian Graph +: A Fast Pedestrian Crossing Prediction Model Based on Graph Convolutional Network

Our model can combine different data types, as shown in Figure 1 (3D or 2D human pose, images, segmentation maps and ego-vehicle velocity), achieving accuracy comparable to other SOTA models but with lower inference time.
在这里插入图片描述
Pedestrian Graph + can dynamically vary its input size in the temporal dimension, with almost no loss of accuracy when the number of samples generated by the tracking algorithm is limited. Also, to increase the accuracy in Pedestrian Graph +, we utilize a human pose forecasting model and three classes (later mapped to a binary prediction).

  • The novel design of a lightweight and fast multimodal model based on a GCN for predicting pedestrian crossing action in urban areas.
  • A fully convolutional architecture design witch can take almost any input size on the time dimension while preserving the accuracy with a limited number of samples.
  • Two techniques that increase the accuracy of our model while maintaining its efficiency (human pose forecast and the use of three labels with mapping).
  • Our model achieves accuracy comparable with SOTA models on two large datasets, JAAD and PIE.

RELATED WORK

Pedestrian Graph + integrates 1D and 2D convolutional modules to the main Graph Convolutional layers, processing contextual data (images and ego-vehicle velocity) while maintaining low inference time and low computational cost.
We fairly compared available public models in the present work.
GCN-based models have SOTA for human pose-based action recognition, outperforming the LSTM-based models.

In the present work, we made use of the Adaptive Graph Convolution Layer (AGCL) and a Temporal Convolutional (TC) layer of the Adaptive Graph Convolutional Network. We also used a 2D Convolution module to process the cropped images (with the segmentation mask as the fourth channel) and a 1D Convolution layer to process the ego-vehicle velocity.

We used a human pose forecasting model based on a GCN.

However, in our work, we adapted the forecasting idea to human pose coordinates in the present work, which require a lower computational cost. The computational cost is lower because only a few data points (19 points) are predicted.

METHOD

Pedestrian Graph + 将二维或三维人体姿态估计坐标与局部上下文(裁剪图像、语义分割图像和自我-车辆速度)一起,并将其训练为具有三个标签的分类模型:无交叉(NC)、交叉(C)和无关(Irr)。随后,Irr 预测被重新映射到 NC,并进行二值分类。为了获得精度的提高,我们使用了基于 gcn的人体姿态预测模型,该模型将预测接下来的30个坐标(一秒钟)。此外,由于ConvNets的完全卷积特性,我们的模型可以动态地改变输入大小。
在这里插入图片描述

GCN模型

在这个部分,我们将解释Pedestrian Graph +的结构。图2展示了它的示意图。它由三个部分组成,主要模块是一个 GCN(两个 GC层),它处理 2D或3D人体姿势数据。另外两组基于卷积模块,分别处理图像和自车速度。负责处理裁剪后的图像(以及分割图)的模块使用了2D卷积。负责处理自车速度的模块使用了一维卷积。虽然这些模块使用了2D和1D卷积,但模块的结构并没有改变。在神经模型中包含不同类型的数据并不是一项微不足道的任务,因为它能改变特征图的缩放比例。在我们的工作中,为了不扭曲特征图的值,我们决定用外部数据来衡量这些数据。受到Squeeze-and-Excitation(SE)网络的启发,我们使用了一个全局的平均池化(GAP)层和一个 sigmoid 函数。GAP 层挤压二维卷积层(以及一维卷积层)的空间特征,返回一个大小等于通道数量的向量。sigmoid函数将数据归一化到0到1之间,像SE网络那样对GC层的每个特征通道进行加权。在这个设计中,我们只需要使每个分支中的通道数量相等,我们可以拥有不同的空间大小在并行分支中。与SE Network的主要区别在于,我们使用了来自1D或2D卷积层的外部数据,如图3所示,其中XD表示1D或2D的卷积。
在这里插入图片描述Pedestrian Graph + 有两个 GC层;每一层都有一个 AGCL(卷积核大小等于[1,1]),接着是一个TC(一个常规的2D卷积层,卷积核大小等于[5,1]),一个 Batch Normalization,以及激活函数 ReLU。剩余连接是一个point-wise convolution(逐点卷积)(卷积层,卷积核大小等于1)。在模型头部之前,我们添加了75%的 dropout 概率。网络的头部有一个 GAP层,一个通道注意力层(SE层,对通道进行加权),一个全链接(FC)层分三类:“无交叉”、“交叉”、“无关”。

GNN

图g,在数学中,被定义为一组节点/顶点 V 和一组边/链接 E 的元组: g=(V,E)。在Pedestrian Graph +中,我们使用了19个特征向量的节点,代表人的关键点在3D或2D中,深度为4(x,y,z,sc)。其中x、y是像素坐标,z是深度(对于2D z不包括在内)。最后,sc是每个人的关键点的置信度得分。相邻矩阵A是一个方阵,其中元素表示哪对顶点是相邻的。Pedestrian Graph + A n,i,j 大小为[3,19,19],是一个三维的可学习参数,称为自适应邻接矩阵Adaptive Adjacency Matrix (AAM)。 GCNs 基于消息传递方法,其中顶点与邻居交换信息。消息传递是通过矩阵A和顶点相乘来完成的。乘法A改变了特征向量的尺度。为了避免这种情况,AAM被分割用它的L2范式在正向阶段在这里插入图片描述。最后一步是标准的2D卷积,用TC层表示。方程式1代表GC层。在这里插入图片描述
上式1中,x表示输入数据,WGC 图卷积权值和 WTC时间卷积权值。sum of x 表示剩余连接(为了简单起见,我们忽略了逐点卷积)。

Fully Convolutional GCN

我们设计我们的架构来保留具有相同填充(same padding)的 ConvNets的完全卷积性质。因为AGCL有一个等于[1,1]的卷积核,所以在这个阶段不需要填充。而TC的卷积核为[5,1],根据公式2,填充等于2是必要的,在这个方程中,k是卷积核的大小,s是步长,nout 和 nin 是相等的在这里插入图片描述
为了提高模型的准确性,在训练阶段,我们随机裁剪一些序列的长度,在2到20个样本的范围内,概率为50%。在现实中,许多序列都很短,因为当行人第一次被检测到时,只有少数帧可用,这种修剪过程模拟了这种情况,增加了短序列的准确性。它也可以被认为是一个数据增强过程。

GCN for Human Pose Forecasting

在人行横道预测任务中,TTE越低,预测精度越高。考虑到这一点,在Pedestrian Graph +中,为了提高准确率,我们使用了基于gcn的模型来预测以下30种人体姿态:
我们从零开始训练了两个模型,一个用于 JAAD,一个用于PIE,预测以下30种姿势。输入数据用标准差和均值归一化到0和1之间。在预测过程中对数据进行去正态化(使用标准差和均值数据),恢复原始维度。然后将人体姿态估计数据与预测姿态进行拼接,进行预测。

Training

我们对JAAD和PIE使用了建议的数据分割。使用二元交叉熵损失函数进行训练,如方程3所示。在这里插入图片描述使用 Kaiming initialization 和 AdamW optimizer。由于我们模型的内存占用较小,每个样本的大小较小,我们用相对较大的1024个样本的小批来训练。训练PIE模型的经验学习率为2x10-3,训练JAAD的经验学习率为5x10-3。进行了30个epoch的训练。为了获得训练和测试的可重复性结果,我们将种子值设置为常用值42。我们对每个人类关键点使用空间归一化。每个人体姿势坐标除以图像大小。深度值用 d max = 81 归一化。对裁剪后的图像进行归一化处理,均值为[0.485,0.456,0.406],标准差为[0.229,0.224,0.225]。这些归一化值是根据 ImageNet中的图像值计算出来的。对于数据增强,我们添加0到9像素范围内的随机值在宽度上,0到6像素在高度上,0到2米在深度上,用于人体姿态估计数据。我们对每个通道进行值为10的RGB偏移,并对图像数据进行模糊过滤器和颜色抖动。

Class Mapping

Pedestrian Graph + 一个特点是使用了“无关”标签。其他算法直接映射这个标签为“No Crossing”(数据集预处理的一部分)。当模型使用三个标签进行训练时,获得了精度的提高。在训练中,Pedestrian Graph + 使用了带有sigmoid 函数的二分类交叉熵损失函数。在测试中,这种配置允许模型在单个样本中预测多个类别,这是一个多类别多标签任务。其背后的逻辑是,一个无关紧要的行人可能正在过马路;然而,将这个类直接映射到“No Crossing”(i= 1)可能会导致不确定的结果。在测试阶段,添加了“Irrelevant”类 y 的概率(y i=3 )到“No Crossing”类(y i=1)。同时,“Irrelevant”类 y 的概率被减去从“Crossing”中(y i=2 )。为了防止概率大于1小于0,我们使用了一个剪切函数,如公式4所示。在这里插入图片描述
将概率相加后,最终的交叉或不交叉预测 由式5得到。其中,如果 ( argmax( y i ) ) 的最大值为 y i=1,则取逆概率,否则取 y i=2 的概率值。在这里插入图片描述最后,如果y的概率大于0.5则为“Crossing”,否则为“No Crossing”。

Data

JAAD 和PIE是为研究交通场景下行人行为而创建的数据集,重点关注过马路的行人。JAAD 以每秒30帧(fps)的速度包含346个视频片段,长度从5秒到15秒不等。视频分辨率分别为1920x1080和1280x720,增加了240小时的视频。JAAD 为每个行人提供 bbox 和跟踪 id。JAAD 数据集引入
了一个数据分割,包括177个用于训练的视频,117个用于测试的视频,以及29个用于验证的视频。
PIE数据集类似于JAAD,为每个行人提供边框和跟踪ID。不过,PIE对JAAD的某些方面进行了改进。PIE中对行人的跟踪序列更长,增加了带有注释的行人数量,它提供了自我车辆速度,并衡量了行人类别的数量 。尽管如此,PIE数据集并不包括不同的天气状况,所有视频都是在白天的理想条件下录制的,在晴天/阴天的天气条件下。另一方面,JAAD数据集被记录在不同的季节,白天,夜晚,雨雪。
PIE 数据集以 30帧的高清格式(1920x1080)记录,由超过6小时的驾驶镜头组成:数据分割 按50%的比例用于训练,40%用于测试,10%用于验证。

Data Sampling

我们的模型采用32帧(观察 2的5次 帧,约1秒)在交叉动作或TTE之前的30到60帧(1到2秒)内 。每一次观测都代表一个样本。每个样本的数据输入是<F, 19, 4>。其中F为采样帧数,19为人体关键点数,4为[x,y。d,sc]表示的维数。其中x和y为像素坐标,d表示深度,sc为每个人类关键点的置信度得分。
人体姿态估计数据由 Alpha-pose获得。我们用深度估计模型(BTS)估计每一帧的深度,该模型在 kitty 数据集上进行训练。为了提取语义分割图,我们在不进行微调的情况下使用 DeepLab v3,并在 the Cityscapes Dataset 上训练它。我们使用最后一帧(只有一帧)从每个数据序列中提取上下文信息。后来我们用JAAD和PIE中提供的边框裁剪了图像和分割图。我们扩大了每个边界框的面积,以增加局部上下文。我们将边界框坐标放大了10%,并调整了产生的图像的大小,空间维度为192x64像素(一个典型的行人边界框的纵横比)。数据采样过程如图4所示。在这里插入图片描述PIE数据集中的自车速度数据来自车载诊断(On-Board Diagnostics,OBD)系统和 GPS 传感器;这两种来源都得到了利用,为了将自车速度数据归一化,我们将其除以120,并将其连接到一个大小为<F, 2>。F是有两个通道的帧数,一个用于OBD,一个用于GPS数据。JAAD 数据集没有提供自车速度。但是,它提供了自我-车辆的动作标签,代表自我车辆的速度状态(动作)(停止、缓慢移动、快速移动、减速、加速)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值