当前位置:首页 期刊杂志

面向无人车安全的行人姿态估计

时间:2024-05-04

朱常杰 冉浩祥 何大鹏 重庆交通大学

1 介绍

无人车技术成为近年交通行业研究热点,目前无人车技术的研究分为2 种思路:一种是以单车为智能体,解决单车对环境的感知;另一种是车路协同为主的无人车技术。这两种无人车技术都将行人检测作为智能汽车外部环境感知中的核心技术之一。当前行人检测主要通过计算机视觉技术来判断图像或者视频序列中是否存在行人并给予定位,但这类方法只能够检测到行人的2D 位置,而无法判断识别行人3D 姿态,其应用受到一些限制。

在无人驾驶技术领域,如能实时检测到行人3D 姿态,并对人体姿态信息进行快速判断识别(如行人打车、挥手等典型动作、交警指挥动作等),则能有效提升无人驾驶汽车的智能化水平。

针对这一需求,本文采用一种面向无人驾驶的交通行人姿态检测和估计方法,该方法利用人体多种参数信息,采用卷积神经网络(CNN)和人体形状模型(SMPL)从图像中自动估计人体3D 姿态,主动识别人体行为状态。利用分层式优化实时计算求解行人的3D 姿态,能够无人车对行人姿态判断的准确性、实时性要求,有力保证无人车行驶安全。

2 相关工作

2.1 训练数据集的准备

关于人体姿态估计的研究目前主要侧重于人体肢体动作研究与人体朝向研究两类。其中,人体肢体动作研究侧重于动作分析,通过获得人体四肢的关节点的信息并利用DCNN 网络学习人体部位的条件概率分布及其在空间的分布关系。但此方法对图片清晰度要求较高,且由关节点信息训练得到关于人体朝向的信息较为困难。在实际的行车过程中,由于路况等原因,车辆的抖动是无法避免的,且高速行进中的车辆需要针对远处的行人提前做出预判,则由摄像头获得的图像质量并不高,行人在图片中尺寸较小。故对行人的预测则需要主要由人体的朝向进行预测。针对上述情况,本文聚焦于人体朝向研究,将大量低分辨率的人体姿态灰度图片作为数据集进行训练预测。

当行人在朝着一个方向移动时,根据其身体的姿势与转向我们往往能判断他的下一步行动意图。对于人的姿态识别估计,本文将人的朝向分为8 个方向,每个方向范围为45 度,从而将人的姿态问题变成一个分类问题。这样能较为准确的预测行人的行动方向。

图1 8 种不同行人姿态

如上图所示,将人体正面朝向从0 度到360 度以45 度为间隔分为8 类,代表了人体的8 种行走特征,并以0—7 的标签对应。本文使用20000 张人体姿态灰度图片,根据图片中人体的姿态朝向,将人体分至对应的8 个文件夹,同一文件夹的图片具有统一的特征并对应同一标签值。最后编写Matlab 脚本文件,将各个图片的路径与标签值读入excel 中,以便CNN 网络根据路径与标签值进行训练。

3 卷积神经网络

本文利用CNN 对行人方向进行分类,图1 显示了8 种不同的行人身体朝向。首先将数据集进行分类,进行监督学习,然后将其将其分为训练数据集和测试数据集。然后将训练数据规范化为一样的大小、进行归一化,最后将其送入卷积神经网络中进行训练。然后对测试数据集进行同样的操作,送入训练好的分类器中,系统框图如图2 所示。

图2 CNN 系统框图

CNN 是一个层次化的结构,每一层都有输入向量和输出向量。除去输入层之外,结构中主要有卷积层、池化层、dropout 层、全连接层和SoftMax 层。

卷积层中卷积操作就是一个滤波的过程,每一个卷积核都可以提取一定的特征。假设输入图像维度为滤波器维度为卷积步长为s,padding 大小为p,那么输出维度可以计算为:

池化层通过降低空间分辨率对输入向量进行采样。我们采用的是最大池化,即取局部接受域中值最大的点。表示大小为的池化结果,其中包含对应区域的最大值。

为了消除梯度消失的情况,我们采用的是Relu 函数,其表达式为:

为了解决里神经网络存在的训练时间长和过拟合问题,我们引进了dropout。Dropout 就是在神经网络训练的时候,按照一定的比例丢弃一些神经元来进行训练。

我们参考Raza 设计的卷积神经网络结构,设计的CNN 结构如图3 所示。输入层图像尺寸为64×64×1,1 表示图像为单通道图像,从RGB 三通道中随机选择一个通道。

图3 CNN 分层结构

我们一共使用了5 个卷积层,其卷积核大小如下:C1 到C5 的卷积核尺寸分别为11×11,9×9,7×7,5×5,3×3。卷积层C1 到C5 的步长均为1。我们采用的是最大池化操作。池化层中P1是3×3 的池化操作,而P2 到P4 使用2×2 的池化操作。

为了避免过拟合,在全连接层之前应用dropout 层D。层R1 和R2 使用ReLU 变换来引入线性映射的非线性。最后应用SoftMax层进行预测。

4 结果和讨论

由于设备不足以支撑如此大的计算量,我们到网上租用了GPU云平台来训练模型。其配置为酷睿i5,显卡为TITAN XP,显存大小为12G,内存也为12G。我们对数据集进行小批量的训练,每批为256。学习率选择为8e-5,L2 正则化参数和dropout 参数分别为4e-4、0.9。我们所选的epoch 为50,在训练过程中,模型在40 个epoch 已经收敛了。

表1 混淆矩阵

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!