OpenPose结合BP网络的行为检测方法

2020-06-08 09:56周德良
关键词:BP神经网络

周德良

摘 要:采用OpenPose与BP网络相结合的方法对人体整体或局部行为进行分类检测,首先利用人体姿态估计算法获得人体骨架节点坐标数据,然后利用BP分类网络对节点坐标数据进行迭代训练与学习。检测不同整体行为的分类模型,训练准确率达100%,网络损失仅为0.091,实测各类准确率及总体准确率均达100%;检测局部行为的分类模型,训练准确率亦达100%,网络损失小于10-6,实测各类准确率及总体准确率均达100%;OpenPose与BP网络相结合的方法不仅可以实现不同整体行为或局部行为快速、准确的分类检测任务,同时还克服了传统行为检测方法的不足,能夠实现更高效、更准确、更快速的分类检测。

关键词:BP神经网络;OpenPose;行为识别;隐藏层

中图分类号:TP391.4

文献标识码: A

随着人体行为识别技术和计算机视觉的快速发展,行为检测和识别[1-3]在人机交互、视频监控和基于内容的视频检索等领域变得越来越重要,已引起了学术界和工业界的广泛关注,并成为计算机视觉领域的重要研究课题。行为检测主要是对视频或视频流中人体行为模式进行分析与识别,并分析判断是否发生了指定的目标行为,比如站立、坐着、躺卧等,当检测到指定目标行为后则执行后续相关操作。传统的行为检测方法主要包括模板匹配法、状态空间法以及基于模型[4]的方法,这些方法普遍存在识别准确率低、识别可靠性差等问题,难以满足对海量图片进行准确、高效的行为检测的需求。本文采用“姿态估计”与“分类网络”相结合的方法,即利用OpenPose[5-8]与BP分类网络[9-13] 相结合的方法对视频或视频流中的目标行为进行识别:首先,基于 OpenPose提取图像中的人体骨架节点坐标数据;再次,将骨架节点坐标数据作为 BP 分类网络的输入数据进行迭代训练与学习;最后,利用分类检测模型输出行为检测结果。

1 BP神经网络

BP神经网络[11-13]是误差反向传播神经网络的简称,是一种按照误差反向传播算法训练的多层前馈神经网络,其以网络实际输出值与期望输出值之间的误差均方差为目标函数,利用梯度下降法使目标函数最小以实现网络最优。BP神经网络的结构如图1所示,包括输入层、隐藏层、输出层[14],其中隐藏层可以包括一层或多层,BP神经网络不存在层与层之间的局部连接,而是全部保持全连接状态。BP神经网络具有很强的非线性映射能力,可以对任一种非线性输入输出关系进行逼近,在解决一些非线性问题方面非常突出,已广泛应用在分类识别、模式识别、函数逼近、回归预测等领域。

BP神经网络的训练流程:输入信号经输入层输入,通过隐含层的复杂计算由输出层得到网络输出,以网络输出与期望输出之间的误差均方差为目标函数,若目标函数不满足期望要求,则将误差信号通过误差反向传播算法,由输出层向输入层逐层反传并分摊给各层所有单元,并根据各单元误差信号计算梯度来更新各单元权值及相关参数,参数更新后输入信号再次由输入层输入网络,重复上述过程,直到目标函数满足期望要求,或迭代过程达到预先设定的训练次数为止。

2 OpenPose

OpenPose算法[5-8]是由美国卡耐基梅隆大学(CMU)基于卷积神经网络[15-16]和监督学习并以caffe[17-18]为框架开发的人体姿态估计算法,该算法是自下而上的估计算法,即先得到关节点位置再获得人体骨架。OpenPose是第一个用于多人二维姿态检测的开源实时系统,它可以获得人体骨架节点并将它们很好地关联起来,不会受到画面中人数、人的位置与比例、以及人与人间肢体互动的影响,同时,画面中人数增加不会影响OpenPose的检测实时性。OpenPose可以实现二维多人关键点实时识别,包括18个身体关键点的识别、70个面部关键点的识别、以及42个左右手关键点的识别,图2所示为18个身体关键点的识别效果图。因此,OpenPose可以实现面部表情、躯干、四肢及手指的姿态估计,适用于单人和多人实时检测,且具有很好的鲁棒性。

OpenPose的主体网络结构采用VGGNet网络[19]作为骨架,然后采用两个分支网络分别回归关节点位置 S 和像素点在骨架中的走向 L;两个分支网络的结构是多阶段迭代的,每个阶段计算一次损失函数,然后将L、S以及通过VGGNet提取的原始图像特征连结后继续下一阶段的训练。图3所示为OpenPose的网络结构图,其中 F 是通过 VGGNet 提取出的原始图像的特征,下标 1 和 2 分别表示多阶段迭代中的第一阶段和第二阶段。

3 整体行为分析

3.1 数据采集与处理

本文共采集站立、坐着、躺着共3类整体行为图片,每类行为图片均利用usb摄像头采集1 250张,其中1 000张用于网络训练,余下250张用于网络实际测试。每类行为图片均利用摄像头从正面进行采集,且采集过程中四肢、躯干保持自然状态,无抬腿、摸头、倾斜等有意状态。利用OpenPose 对上述3类行为图片中人体骨架节点的坐标位置信息进行提取,由此可得到躯干、四肢、头部等部位共18个骨架节点(包括鼻子、脖子、右肩、右肘、右腕、左肩、左肘、左腕、右髋、右膝、右踝、左髋、左膝、左踝、右眼、左眼、右耳、左耳)的位置信息,并保存在json文件内。

3.2 特征提取与学习

站立、坐着、躺着这3类整体行为主要与左右臂、左右腿和脖子共13个骨架节点有关,因此仅从json文件内提取这13个骨架节点的坐标位置信息作为BP网络的输入数据进行迭代训练与学习,然后利用训练所得模型对实际行为数据进行检测,从而得到最终的结果分类与输出,具体流程如图4所示。

5 结论

(1)对每类250个共计750个行为数据进行实际测试发现,无论是整体行为分类检测,还是局部行为分类检测,OpenPose与BP分类网络相结合的方法均可以实现各类行为检测准确率达100%,总体检测准确率亦达到100%。

(2)OpenPose与BP分类网络相结合的行为检测方法,具有较好的行为检测普适性,其不仅可以对躯干整体产生的整体行为进行准确、快速、有效的分类检测,对局部躯干产生的局部行为同样可以达到很好的分类检测效果。

(3)OpenPose与BP分类网络相结合的方法收敛速度快、训练耗时短,且克服了传统行为检测方法效率低、准确率低、可靠性差等不足,能够对大批量行为图片进行更高效、更准确、更快速的行为分类检测。

参考文献:

[1]XIA L, CHEN C C, AGGARWAL J K. View invariant human action recognition using histograms of 3D joints[C]//Proceedings of the 2012 IEEE Conference on Computer Vision and Pattern Recognition Workshops. Piscataway, NJ: IEEE, 2012: 20-27.

[2]陆中秋, 侯振杰, 陈宸, 等. 基于深度图像与骨骼数据的行为识别[J]. 计算机应用, 2016, 36(11): 2979-2984.

[3]ADAM N R, ATLURI V, HUANG W K. Modeling and analysis of workflows using Petri nets[J]. Journal of Intelligent Information Systems, 1998, 10(2): 131-158.

[4]邹建. 基于BP神经网络的人体行为识别[J]. 网络与信息安全, 2017, 3(9):1-6.

[5]SATO K, NAGASHIMA Y, MANO T, et al. Quantifying normal and parkinsonian gait features from home movies: Practical application of a deep learning-based 2D pose estimator[J]. PloS one, 2019, 14(11): 1-15.

[6]LI X, FAN Z, LIU Y B, et al. 3D pose detection of closely interactive humans using multi-view cameras[J]. SENSORS, 2019, 19(12): 1-16.

[7]SONG C H, KIM S H. Robust vehicle occupant detection based on RGB-depth-thermal camera[J]. The Journal of Korea Robotics Society, 2018, 13(1): 31-37.

[8]PARK J H, SONG K H, KIM Y S. A kidnapping detection using human pose estimation in intelligent video surveillance systems[J]. Journal of the Korea Society of Computer and Information, 2018, 23(8): 9-16.

[9]呂学志, 范保新, 尹建, 等. 基于BP神经网络的维修任务优先级分类方法[J]. 计算机工程与应用, 2014, 50(24): 250-254.

[10]冷昕, 张树群, 雷兆宜. 改进的人工蜂群算法在神经网络中的应用[J].计算机工程与应用,2016,52(11): 7-10.

[11]ZOU L, ZHAO Y X, JIAO B. Application of BP neural network in digital image recognition[J]. IOP Conference Series: Materials Science and Engineering, 2019, 490(7): 1-5.

[12]ZHANG L, WANG F L, SUN T, et al. A constrained optimization method based on BP neural network[J]. Neural Computing & Applications, 2018, 29(2): 413-421.

[13]ZHU Q L, WANG S G, SUN Q B, et al. Service classification based on improved BP neural network[J]. Journal of Internet Technology, 2018, 19(2): 369-379.

[14]GULIYEV N J, ISMAILOV V E. On the approximation by single hidden layer feed forward neural networks with fixed weights[J]. Neural Networks, 2018, 98(12): 296-304.

[15]SHI W W, GONG Y H, TAO X Y, et al. Improving CNN performance accuracies with min-max objective[J]. IEEE Transactions on Neural Networks & Learning Systems, 2018, 29(7): 2872-2885.

[16]ZHANG X B, CHEN F C, HUANG R Y. A combination of RNN and CNN for attention-based relation classification[J]. Procedia Computer Science, 2018, 131(4): 911-917.

[17]JIA Y Q, SHELHAMER E, DONAHUE J, et al. Caffe: convolutional architecture for fast feature embedding[J]. Computer Science, 2014, 2: 675-678.

[18]MAKOTO I, TETSUYA O, LEONARD B. A vegetable category recognition system: a comparison study for caffe and Chainer DNN frameworks[J]. Soft Computing, 2019, 23(9): 3129-3136.

[19]LIU K H, ZHONG P S, ZHENG Y, et al. P_VggNet: A convolutional neural network (CNN) with pixel-based attention map[J]. PLOS ONE, 2018, 13(12): 1-11.

(责任编辑:于慧梅)

猜你喜欢
BP神经网络
基于神经网络的北京市房价预测研究
一种基于OpenCV的车牌识别方法
基于遗传算法—BP神经网络的乳腺肿瘤辅助诊断模型
一种基于改进BP神经网络预测T/R组件温度的方法
基于BP神经网络的光通信系统故障诊断
提高BP神经网络学习速率的算法研究
就bp神经网络银行选址模型的相关研究
基于DEA—GA—BP的建设工程评标方法研究
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 