基于CNN和高速通信技术的医用人体姿态识别方法

2022-08-17 03:59金玮孟君黄宇飞何萍
微型电脑应用 2022年7期
关键词:关键点姿态卷积

金玮, 孟君, 黄宇飞, 何萍

(上海交通大学医学院附属新华医院, 信息管理部, 上海 200025)

0 引言

目前,在世界范围内住院患者中老年人的比例在逐步提升,而老人跌倒的概率明显高于其他患者。据统计,在美国每年记录的352 000例髋部骨折中,约有90%是跌倒导致的且仅有1/4的患者能够完全康复。本文提出一种基于CNN的人体姿态估计方法来实时检测摔倒并及时发出告警。

1 卷积神经网络

卷积神经网络(CNN)是在多层神经网络的基础上,在全连接层前加入了部分连接的卷积层和池化层,使其增加了特征学习的功能并实现深度学习[1-2]。

CNN的基本组成包括输入层、卷积层、池化层、激活层以及输出层。卷积层是 CNN的核心,其是由多个卷积单元组成,目的是提取图像的特征;激活层具有非线性分割能力[3];池化层也称为下采样层,主要目的在于保持大部分重要信息的同时缩小卷积层提取特征后的参数,通常可分为最大池化和平均池化。

如图1所示,OpenPose是基于卷积神经网络和监督学习的一种自底向上的网络模型。其上分支网络用于预测人体关节点的置信度P,下分支网络用于预测人体部分亲和字段M。各阶段网络前向传播公式如下:

P1=ρ1(F),t=1

M1=φ1(F),t=1

Pt=ρt(F,Pt-1,Mt-1),∀t≥2

Mt=φt(F,Pt-1,Mt-1),∀t≥2

(1)

其中,F为由VGG网络所得到的图像特征,t代表第t级联网络。通过多级网络级联可以使系统提高置信度P和M,从而提高识别精度。

图1 OpenPose 网络结构

2 医用人体姿态估计方法

人体姿态估计是以RGB图片或视频中检测出人体的一些关键点作为基本特征,构造出关节向量以及向量间的夹角与长度比值,通过这些特征信息来描述骨骼脉络,进而判断人体姿态。

在医院中,最常见的监测姿态是跌倒姿态,跌倒监测系统工作流程见图2。其通过摄像头获取视频图像数据,然后利用高速通信技术将数据传送至处理器端,最后通过本文提出的人体姿态识别方法进行实时计算与分类识别出不同的人体姿态。当识别出人员存在跌倒姿态时,自动发出警告。因此,跌倒监控系统的核心是跌倒姿态的监测。

图2 医院跌倒监测系统工作流程图

本文跌倒姿态检测算法主要分为人体关键点提取、人体姿态分类以及人体姿态分析3部分,如图3所示。

图3 跌倒检测算法流程图

2.1 关键点提取

本文采用OpenPose[4-5]姿态估计算法提取的25个关键点,如图4所示。图5为该算法提取出的前10种骨架向量的特征重要程度。其中,f56指人体躯干与左大腿长度比值,f57指躯干与右大腿长度比值,f70指躯干与右小腿的向量夹角。

图4 OpenPose提取到的25关键

图5 特征重要程度

2.2 分类模型

在获取人体关键节点后,需要对关键点进行分类以确定人体所处的姿态,最终对姿态进行判断。分类的作用是利用给定的类别与已知的训练数据集来学习分类规则,并构建一个分类函数或分类模型,然后对未知数据进行预测。本文采用XGBoost[2]分类器来进行人体关键点的分类,其在GBDT算法基础上将损失函数通过二阶泰勒展开式做了近似,并对正则项进行了改进,使其更加高效、灵活和便携。文中通过分类器将人体关键点分为正常状态、跌倒状态、平躺状态以及其他状态,如图6所示。

(a) 正常状态

(c) 平躺状态

2.3 人体姿态分析

在获取人体姿态分类后,需要判断人体此时所处的状态。由于每一帧图像可能同时存在多个人,因此会导致同一帧图像出现多个人体姿态,从而对最终的跌倒姿态检测产生影响。为此其需要提取每一帧图像中的关键状态,即每一帧图像中与跌倒姿态最接近的状态,而对于其他状态无需过度关注。文中4种姿态的重要程度按从大到小进行排序可表示为

pfalling>play>pother>pnormal

(2)

由于当一帧图像中出现跌倒姿态时,发生跌倒事件的概率最大,因此跌倒状态的重要程度最高;而平躺状态下出现跌倒的可能性较大,故其重要程度次之;由于正常状态最为常见,所以其重要程度排名最低。

由于跌倒不是一个单一行为,而是一个从正常到倒地的动态过程,因此采用一个单一状态来判别是否跌倒容易出现误判。本文采用{pfalling,play}序列来判断是否存在跌倒事件,即当前一帧图像的关键姿态为跌倒,后一帧的关键姿态为平躺时,则可认为发生了跌倒事件。

3 实验测试

3.1 训练集与测试集

实验情况为在单人与多人情况下的正常行走、半蹲、前倒、后倒和随机方向侧倒,实验者共3人。该算法只检测出人体的骨架图与实验者的体型、年龄、性别等因素无关。为了测试算法的兼容性,本文参与实验的实验者身高均不相等。另外,为了评估算法的鲁棒性,实验还模拟医院环境设有柜台、识别闸机、椅子等物体。实验样本情况,如表1所示。

表1 实验样本说明

为了提高算法的通用性,本文分别研究了单人与多人状态下的跌倒检测效果,如图7和图8所示。

(a) 正常行走

(a) 正常行走

3.2 模型评估

在处理分类问题时,常用的模型分类效果评价指标主要有敏感度、特异度、准确率、精确率、召回率和F得分,其均可通过混淆矩阵计算得出。本实验得出的测试集混淆矩阵,如图9所示。

效果评价采用文献[4]给出的度量标准,由混淆矩阵可得:TP=176;FP=2;TN=614;FN=0。

该模型的各项评价指标,如表2所示。

图9 测试集的混淆矩阵

表2 模型的评价指标

在表2中,准确度为跌倒被检测出来的概率,其值越高,分类效果越优;敏感度为发生跌倒且被判断为跌倒的概率;特异度为未跌倒且被判断为未跌倒的概率,两者越高,误判率越低;F1-score是精确度和召回率的调和平均,其值越大,表明模型质量越高。由表2中数据可知,该算法的误判率较低,分类效果和模型质量较好。

本文在使用相同训练集和测试集的情况下,分别测试了Hu J、Ren W、Kolivand H等[6-8]提出的跌倒算法识别准确度,并与文中结果进行比较,结果如表3所示。从表3可以看出,本文算法的识别准确度最高。

4 总结

本文基于OpenPose的关键点提取以及XGBoost分类器的跌倒检测方法,提出了一种人体姿态识别方法。在医院环境下,以实时的监控视频作为数据源,利用OpenPose结合XGBoost分类器进行人体姿态估计。实验结果显示,本文所提出方法的准确度为99.75%、敏感度为100%、特异度为99.68%,可以准确地检测出跌倒动作,且应用简单、实时性良好。

猜你喜欢
关键点姿态卷积
论建筑工程管理关键点
肉兔育肥抓好七个关键点
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
攀爬的姿态
从滤波器理解卷积
利用定义法破解关键点
另一种姿态
机械能守恒定律应用的关键点