代维利
(海军青岛特勤疗养中心,山东 青岛 266071)
近年来,人体姿态识别研究逐渐成熟,在视频的智能分析、虚拟现实、人机交互、视频摘要、视频信息检索与运动分析方面都具有广阔的应用前景。姿态识别已经成为深度学习领域的研究热点之一,深度学习算法的研究推动了姿态识别研究的进步[1]。而信号采集与无线技术迎来了新的发展高峰。在人们日益关注自身健康的当下,身体各项指标的准确监测成为医学领域的研究重点之一。在该背景下,有学者提出无线体域网(WBAN,wireless body area network)[2]。WBAN属于短距离、小型的无线传感器网络,汲取了无线通信与微机电系统的共同优势。该项技术主要应用在人体周围,通过各类传感器信息的采集,能够实现人体生命和姿态信息的监测,已经在医疗领域取得了巨大的成功[3]。在WBAN技术中,人体姿态识别能够对患者状态进行实时准确地监测,对于医学诊断及辅助治疗具有重要意义[4]。但在实际应用中,WBAN具有高动态特性,当人体姿态出现改变时,信号采集和传输同样会发生变化,这就要求二者无形之中必须具有较高的适应性。同时计算机视觉领域中人体姿态识别已然成为当今最具有挑战性的研究方向。随着各国科技公司推出深度学习传感设备后,基于深度图像的人体姿态识别技术开始受到广泛学者们的关注。但由于人体姿态与动作的复杂度较高,利用深度图像特征与骨骼关键点提取的维度也较高,无法对图像进行较为准确的预处理。此时人工神经网络(ANN,artificial neural network)与卷积神经网络(CNN,convolutional neural networks)应运而生,并在相关领域得到了广泛的应用与关注[4]。黄展原等学者为了对老人摔倒进行有效监测,同时降低相关设备的成本与制作问题,提出一种基于2D视频的摔倒监测算法。通过3个公共摔倒数据集测试显示,该算法是可行的并能够有效提高监测效率[5]。孙月驰等人提出一种基于优化CNN的人体行为动作识别算法,以有效应对复杂图像中人体姿态识别不准的问题。过程中通过构嵌Maxout多层感知网络结构实现增强CNN的特征提取能力。结果表明,该方法对人体行为与动作识别有较高准确率[6]。金玮等研究人员将CNN与高速通信技术相互融合并应用于人体姿态识别当中,以应对病人跌到能够及时获得救助。数据显示,该方法对人体姿态的识别准确率高达99.75%,同时具有百分百的敏感度,能够准确对人体跌到进行检测[7]。邓平与吴明辉将多信息融合的特征筛选方法与人体姿态修正相互结合,以应对传统人体姿态识别算法识别精度不足等问题。结果表明,通过修正后该算法对人体姿态识别的精度高达99.67%,同时能够以较少的特征数目获得更准确的姿态分类[8]。从以上相关研究可知,对人工神经网络的改进集中在不同领域的方方面面,但仍无法满足医疗设备所需要的高效率与高准确性的要求,网络与智能算法相结合的技术更新亟待解决。鉴于此,研究在WBAN人体姿态识别系统的基础上,结合改进ANN自适应学习与高速寻优等特点,将其应用于人机交互医疗设备系统中,以期进一步提高医疗设备人体姿态识别的应用效果。
人体在地面时有静止与相对运动的两个状态。当一个人处于相对静止的状态时对应的坐标系为自然坐标系;而当一个人发生相对运动时对应的坐标系则为动态坐标系[9]。在自然坐标系中,人体向上从头到脚的垂直站立方向被定义为X轴的正方向;而人体朝着水平方向左边则为Y轴的正方向;人体脸部 朝前的方向则被看做是Z轴的负方向。于是,重力加速度G的方向与X轴的方向实际上是一致的。另一方面在动态坐标系中,不管任何时间任何地点以及任何方向,更不管人体处在何种状态,均选择人体从脚到头的方向向量作为X轴的正方向;Y轴与Z轴的方向选取与自然坐标系相同。为了对人体的不同姿态特征进行提取,通常利用4种不同的特征参数向量对运动中的人体姿态进行目标检测与识别。通过系统计算与采集得到3个轴的加速度值,同时引入支持向量机(SVM,signal vector magnitude)对其进行平方计算操作后再取值。得到的数值对应表示人体正在进行的不同强度运动。随着运动的剧烈程度的增大其数值也逐渐增大,可以初步对人体运动是否剧烈进行判断。利用恰当的阈值对人类运动进行判断,并对人体运动状态进行分类。具体计算见式(1)。
(1)
式(1)中,az,ax,ay对应代表Z、X与Y轴的加速度。同时当人体围绕着X轴进行旋转时,向左转是正向角度参数,此时θx作为航向角。当人体围绕Y轴旋转时,θy作为俯仰角。当围绕Z轴进行旋转时,向后退则是正向角度参数,θz表示横滚角。对不同的坐标轴角度的极差进行分析,并以此计算在同一个采样时间内人体运动姿态旋转过的最大角度(Rx,Ry,Rz)。以通过WBAN系统采集得到的角度数据为基础数据进行实验计算,能够对运动着的人体是否发生弯腰或跌倒情况做出合理的判断。具体计算见式(2)。
Ry=θymax-θymin
(2)
式(2)中,θmin与θmax是指在对数据单位进行采集过程中对应得到的最小值与最大值。同时由于实验所采取的硬件系统能够对人体姿势进行实时的采集,将人体坐标系三轴的角加速度设置为ω。不同人所发生的姿态动作在相同的时间内是不尽相同的,因此围绕着人体旋转所产生的转动角度与速度也不相同,这就表示着对应的坐标系也不相同。日常生活中,当一个人身体发生十分剧烈的晃动时,那么很有可能是该患者罹患了中风或脑卒中而产生的身体抽搐。因此当面临这种情况时,及时地对患者进行监测能够有效帮助医生更为快速且准确地判断得到该病患的情况。在对患者进行实时检测时对应的极差r计算见式(3)。
(3)
式(3)中,ω与θ分别表示人体发生转动时的角加速度与转动的角度;而t是指间隔无限小的时间段;ωmin与ωmax分别表示在对数据进行采集的过程中所对应的角速度的最小值与最大值。其中人体的不同姿态会根据不同加速度而产生不同的位置移动,医生可以根据该位移为病人的复检情况做出合理的判断,同时为该病患合理规划并建议运动方式与运动量。将三维空间内3个轴所产生位移的量看做计算姿态检测参量的重要参数,具体计算出见式(4)。
(4)
式(4)中,a表示人体在运动时任意一个数轴产生的加速度;S表示人体姿态运动时数轴所产生的位移。综合得到人体运动时姿态多级分层的识别算法。该算法主要是服务于应用无线体域网时对人体不同姿势与动作的识别。具体的识别过程见图1。
图1 人体姿态多级分层识别算法流程
图1中可以发现整个人体姿态多级分层识别共分为三各阶段。在第一阶段,研究选择SVM值作为决策依据,并根据实验数据的数值设定合适的阈值a。将得到的阈值作为基础依据,假设共有慢走(Walk)、蹲(Squat)、坐(Sit)、跑步(Run)和弯腰(Stoop)5种姿态,将这5种姿态通过分类初步定义为非剧烈运动与剧烈运动。当人体发生运动时,若运动过程中的某一个姿态连续30毫秒内不间断并持续的出现3个波峰采样点的数值一直大于阈值时,则将该姿态判别为跑步,并定义为姿态A1。若这一姿态的波峰采样点小于阈值时则将该姿态判别为坐、蹲、弯腰和走,并下定义为姿态A2,进而有效识别出相应的跑步姿态。接着进入到第二阶段,在该阶段实验将Y轴方向姿态发生的角度的极差RY与该纵轴方向上角加速度的极差ry看作是判断依据。当人体进行运动时,会产生不同的姿态。这些不同的姿态所拥有的特征不尽相同。在姿态A2当中,当人体发生慢走运动时,3个角度θx,θy,θz的值并不会发生较大的变化,甚至看作并没有任何变化发生。因此计算得到的Y轴方向的RY与ry的数值都会较小。相反,当人体姿态处于弯腰、蹲下以及坐下3个状态时,两个极差RY与ry的数值均会有较大的变动。因此将实验所设定的角加速度阈值c与角度对应的阈值b可知,当极差RY大于角度阈值同时极差ry大于角加速度阈值时,将对应的人体姿态判定为弯腰、蹲下以及坐下,并将其定义为姿态B1。而其他的阈值比较情况则判定为人体处于慢走状态当中,并将其下定义为姿态B2。当第二阶段的人体姿态识别结束即可识别出慢走状态。最后便是第三阶段。在该阶段中,研究人员将实验所得数据当中位于X轴方向上的加速度展开两次积分操作,进而得到人体在X轴方向上的位置移动的量dx作为判断依据。人体处于弯腰姿态时,相对于腰部直立时的状态而言,腰部弯曲时的位移几乎不会因人为因素而变化。但当人体姿态由站立姿转变为坐姿时,其腰部发生的位移应当显著小于其大腿的长度d1。当人体从站立的姿势转变为蹲坐姿势时,其腰部对应发生的位移应当大于其大腿的长度d1但小于整个大腿腿部的长度d2。根据上述所有特点可知,实验选取在X轴方向上的位置移动阈值可以对姿态进行有效区分,进而识别出不同的对应姿态。
现实生活中WBAN被广泛应用于人体可穿戴设备,这一举措便要求人体姿态识别算法在设计的过程中能够尽量地降低人为干预所带来的影响,即在训练后能够自动地产生相应的拓扑结构。该方法不需要人工选取并设置门限,即可对人体新姿态进行识别。但WBAN在实际运行的过程中存在有大量的人为工作,识别率较高但应用价值较低。CNN隶属于ANN的一种,是在ANN算法的基础上改进得到的。CNN拥有深层网络结构的前馈神经网络,具有较强的容错、自适应学习及并行计算能力。近年来CNN广泛应用于处理分类和识别问题,特别是人脸识别、辅助医疗诊断、自动驾驶系统等领域,极大程度上促进了深度学习快速发展和推广应用。鉴于此,研究提出利用改进卷积神经网络模型对WBAN算法进行改进,并进行人体姿态识别算法,并期待有效减少人为设定算法的拓扑结构,最终实现算法可靠性[10]。CNN网络的构建与训练是分步骤进行的,CNN网络构建的流程如下。第一层为网络输入层,即input层。由于CNN网络能够进行自我学习,当输入图像为深度图像,便可以直接将其作为网络的输入。接着将卷积层定义为Cx,该卷积层通过n×n的滤波器大小(即卷积核或窗口大小)与偏置值相加再进行卷积操作,便能够得到特征图N个。卷积网络的下采样层则被定义为Sx。在不同的邻域区域内对图像上的4个像素进行求和,并加入卷积核元素进行加权操作,另外加上偏置值,并通过激活函数sigmoid,以得到一个大小约缩小4倍的特征映射图Sx+1。对应得到的一层卷积层与下采样层的过程实现见图2。
图2 一层卷积层与下采样层的过程
实验所设计的改进卷积神经网络模型是设计一共可以分为4个步骤。首先对卷积网络层数进行选取。CNN特征提取实际上是一个从低级到高级的抽取过程。当前面的卷积层所提取的是研究图像中层次较低的特征,那么后面的卷积层再增加时,特征的提取便会开始变得越来越抽象化。从这个角度来看,如果网络层级过少,可能会引入大量的干扰信息,而无法准确反映图像的关键特征。然而,如果网络层级过多,虽然能够获得图像的高级抽象特征,但随着层级的增加,有效信息的损失也会逐渐增多,这可能会导致无法获取最优的特征信息。但由于所选取的深度图像所包含的信息较为单一,那么特征的提取便会逐渐明显。因此在总体上,CNN网路并不需要太多的层次便可以实现对图像中的关键特征信息的提取。有学者研究发现,当CNN网络层数为5,而其他条件不变的情况下,此时模型中的网络便可以实现快速地拟合与收敛,同时拥有较高的识别速度与准确性。接着是对滤波器个数进行选取。鉴于输入图像为深度图像时,所包含的数据信息会较为准确,因此实验采用简单的线性滤波器便能够有效提取图像中的关键特征[11]。滤波器的个数选取会影响分类的效果和效率。若滤波器个数较少,产生的特征图就会减少,可能导致特征提取不全面;反之,滤波器个数过多,需要处理的特征图数量也会相应增加,既会降低处理速度,又可能引入许多无用的特征。因此,在权衡速度与准确性的考虑且大量实验数据表明,在以准确性为首要考量的情况下,当滤波器的个数选取为6个时,CNN网络可以达到较高的效率。然后选择合适的滤波器大小。实际上,滤波器是一种可以处理信号以改善其性质或提取有用信息的电子设备或软件工具。在电子和通信工程中,滤波器主要用于消除某些不需要的频率或保留某些所需频率。其运作原理基于对频率的选择性,即对某些频率响应强烈,对其他频率则响应弱或无响应。综合考虑各方面因素后,实验滤波器大小(即卷积核尺寸)选取为5×5,它在提取特征方面效果良好,并能保持较快的特征提取速度。最后选取tanh函数作为激活函数。一般的激活函数输出数据时并没有稀疏性,这会导致过程中生成大量的稀疏数据。因此需要在实验过程中设定一些惩罚因子以避免这种情况的产生。通过进行无监督训练,筛选排除掉一大堆接近于0的冗余数据,避免由于梯度消失问题而影响收敛速度。然而ReLU函数是一种线性修正函数,其根本作用在于若计算得到的数值比0小,便将其设置为0,否者设置为原始数值。经过实践验证,训练后得到的改进CNN网络具备有适当的稀疏性,能够满足要求。同时,训练后的CNN网络可视化效果与传统方法训练得到的效果十分相似,这表示所选取tanh函数在进行适当计算的同时还能够有效提升收敛速度。最终综合上述原理,实验选取3D-CNN与WBAN相互结合,共同优化人体姿态识别系统。姿态识别的整体过程见图3。
图3 姿态识别的整体过程
图3中整个姿态识别流程包括以下几个步骤。首先,采集样本图片并对应做好标记,接着,对每种类型的姿态训练样本进行分类,并输入到CNN以进行模型训练,适时调整网络以实现收敛。然后,将输出层更改为softmax分类器,并将测试图像作为输入。最后,对识别结果的准确性进行验证和评估。其中3D-CNN在对时空两个维度上的特性进行计算的同时,还能够运用3D卷积核对多幅图片与多个视频进行处理。因此,卷积层中的特征图均会与上一层连续多帧的图像相互关联。具体计算见式(5)。
(5)
(6)
式(6)中,x代表三维空间上的输入向量;y代表三维池化层对应的输出结果;s,t,r表示三维池化操作在3个维度上所产生的步长。通过计算可知,经过3D维度池化操作后,可以有效地降低网络的时空尺寸,进而极大地降低网络的计算复杂度,同时池化操作融合后的网络在时空维度上的鲁棒性均有显著提升。研究所设计的3D卷积网络的第一层为输入层,该层采用的图像帧的参数设置为7帧分辨率60×40,第二层网络则为硬线层,他的主要功能在于能够从图像中提取出灰度与水平方向上的光流等。具体结构见图4。
图4 3D-CNN网络结构图
为了验证研究所构建方法能够对人体姿态进行识别,并准确地应用于人机交互医疗系统设备中,研究对所构建平台的实际性能与应用效果进行分析,期待能够为医疗行业的发展提供一定的支持。开展实验所使用的服务器平台配置如下:实验硬件环境为Intel i5处理器,16 G内存,1T硬盘,编程环境基于Python;操作系统为Windows 10;中央处理器为Intel Corei7-4590;数据储存系统为MySQL data bank;GPU型号为GTX1080Ti 11Gx4;CPU型号为Intel Xeon E5-2665x2。实验选取HiEve与Human3.6 M两个公开的人体姿势数据集进行人体姿势识别的仿真实验。所有实验环节均在相同的设备环境中进行。研究将改进SVM模型、RCNN模型与CNN-Apriori模型与研究模型进行不同性能指标的比较。首先对比不同算法的收敛速度,具体结果见图5。
图5 不同算法收敛速度对比
图5(a)是在HiEve数据集上的测试结果。曲线变化显示,当迭代次数为20次左右,研究方法开始趋于平稳,同时对应有0.011 2的损失函数值;与此同时其他两种算法的损失函数值均显著高于0.03。当迭代次数进行到第40次时,RCNN模型与CNN-Apriori模型开始出现有最小损失值,数值分别为0.025 8与0.026 7。图5(b)是在Human3.6 M数据集上的测试结果。可以发现当迭代次数在第30次附近时,研究方法便有最小损失值函数值,此时其余算法在迭代进行到第50次左右才能够有最小值。对比以上结果可知,在相同的时间长度内研究方法能够更为快速达到最小收敛度,具有更为快速的收敛速度。这也表示研究方法对数据的分析与计算过程效率会更高,并且有着较为广泛的普适性。接着对4种模型的AUC值进行对比,具体见图6。
图6 4种模型的ROC曲线
图6中可以看出,与其他方法相比,研究方法的ROC曲线下面积显著较大。研究方法、RCNN模型、文献[13]与CNN-Apriori模型对应的ROC曲线占据面积为0.897、0.856、0.789与0.754。以显著性原理为基础可知,研究方法的AUC值最大,在对人体姿势进行识别的过程中得到的识别效果较好,具有较高的真实性。为了丰富研究方法的实际效果,研究对不同算法的准确率进行分析,具体见图7。
图7 模型精度及损失率变化图
根据图7可知,模型在误差的变化上呈现出急剧减小后又缓慢增加的趋势,迭代次数为60时为拐点,准确率也同样在迭代次数为60次附近时开始趋向收敛,此时其训练准确率接近于84.32%,显著高于其余3种算法。其次当迭代到达60次附近时,研究方法的误差无限接近于0.00%,而此时RCNN模型、文献[13]与CNN-Apriori模型对应的误差分别为0.005 21%、0.009 87%与0.012 54%。以上结果说明研究方法在具有较高准确率的同时,模型所产生的误差也相对较低,能够被人体姿势识别系统中。最后将4种不同的算法应用于人机交互医疗设备系统的患者不同姿势存储系统中,进行实际效果的验证,具体结果见图8。
图8 不同方法运行下的患者姿势识别效果
图8(a)为4种方法对患者不同姿势的识别准确率,图8(b)则为识别时间对比。图8(a)中可知,在对患者的腰痛姿势、腿痛姿势以及腹痛姿势的基本动作识别中,研究方法的识别准确率均显著高于90%,均高于其他算法的识别准确率。而RCNN模型的是被准确率均低于85%,是4种方法中最低的。由图8(b)中,在对患者的腰痛姿势与腿痛姿势进行识别时间中,RCNN模型的识别耗时最长,据接近于40.0 s。在腹痛姿势与头痛姿势的识别中,CNN-Apriori模型的识别耗时最长,分别为35.21 s与38.47%。而研究方法的所需时间均为最少,对应不同姿势的耗时分别为25.14%、27.45%、23.16%与25.61%。对比以上结果可知,研究方法能够对患者的不同姿势进行较为准确的识别,同时耗时较少。
利用人机交互医疗设备对人体健康状态进行监测是当前医疗行业重点发展的项目之一。为了能够更加全面地实现人体姿态识别在人机交互医疗设备中的应用,研究根据WBAN能够实现不同层次间信号传输的特点,构建了相应的人体姿态识别系统。过程中,分别对网络结构、网路层数、滤波器个数与尺寸进行了选择,并选取了最为合适的激活函数,使得改进CNN能够有效地提取图像特征并识别姿态。同时,针对WBAN识别效率较低的缺陷,提出通过3D卷积网络对其进行改进。结果显示,在HiEve数据集上,当迭代次数为20次左右,研究方法开始趋于平稳,同时对应有0.011 2的损失函数值;在Human3.6 M数据集中,该模型于30次迭代左右出现最小损失值函数值。ROC曲线对比中,研究方法、RCNN模型、文献[13]与CNN-Apriori模型对应的ROC曲线占据面积为0.897、0.856、0.789与0.754,研究方法的性能更优。不同算法的准确率方面,该模型于60次迭代附近时,误差无限接近于0.00%;同时准确率也同样在迭代次数为60次附近时开始趋向收敛,此时其训练准确率接近于84.32%,显著高于其余3种算法。将该模型应用于人机交互医疗设备进行患者不同姿势的检测中,对应的耗时分别为25.14 s、27.45 s、23.16 s与25.61 s,具有更高的效率,验证了该方法的有效性。总的来说,研究所提出方法为医疗设备提供了一个有力的工具,能够有助于提升医疗服务质量和效率。但研究主要从软件方面进行姿态识别的改进,未来需要通过蓝牙等硬件设施的技术更新来实现更优的效果。