老年人健康智能监测提醒算法的设计与实现

2023-10-20 05:53冯跃飞付元媛余孟儒
医疗卫生装备 2023年8期
关键词:人脸卷积养老

冯跃飞,李 湘,付元媛,余孟儒,刘 洋,黄 东*

(1.空军军医大学军事生物医学工程学系军事医学信息技术教研室,西安 710032;2.空军军医大学基础医学院四大队,西安 710032)

0 引言

人口问题是我国现阶段发展面临的重大问题之一,目前我国已经成为世界上老龄人口数量最多、独居和空巢老人数量最多的国家。有研究预测我国老年人口将持续增长至21 世纪50 年代后期,而老龄化程度不断加深的趋势将贯穿于整个21 世纪,老年人口数量将快速增长,到21 世纪后半叶才转而缓慢下降[1]。严峻的老龄化人口趋势意味着我国也将面临着日益增加的养老服务需求,基于我国人口和养老服务体系现状,我国提出以居家养老为基础,提升社区养老服务能力和发展“互联网+照护服务”的倡导[2]。多地积极响应推进互联网+与养老服务的结合,出现了一些以“互联网+照护服务”为思路的智慧养老服务,如刘海亮等[3]设计的智慧居家养老系统可以向监护人提供老年人实时的心率及血压数据,并可以查看老年人的居家生活情况;张震等[4]设计的居家智慧养老监测系统可以进行环境监测和老年人摔倒监测。然而我国的智慧养老服务仍然处于探索发展阶段[5],大部分智慧养老服务是以智能传感器和物联网技术为核心,少有深度学习、云计算等先进技术在智慧养老中的应用。

对老年人而言,疼痛反应是他们健康的直接体现。通常而言,老年人出现疼痛的信号表明自身的健康出现了某种问题。从生理学而言,疼痛是机体对损伤组织或潜在的损伤产生的一种不愉快的反应,是一种复杂的生理心理活动。机体能够通过多种渠道传递疼痛信息,比如个体既能通过躯体的活动或运动表达自己的不适,也能通过言语或面部表情的改变展现自己的痛苦[6]。老年人因为身体机能衰弱,会经常出现疼痛反应,对这种反应的捕捉显得尤为重要。近年来,随着机器学习技术和计算机视觉的不断发展,基于静态图像或动态视频进行人脸表情识别的技术越发成熟。疼痛表情作为疼痛判别的可靠指标之一,能够较为精准和可靠地传递身体疼痛信息和不适状况。因此把疼痛表情看作一种特殊的复杂的面部表情,利用人的面部信息进行疼痛识别具有可行性[7-10]。目前国内外有一些研究者相继开发了疼痛表情识别算法并设计了相应的应用场景,但在养老服务领域研究较少,主要集中在医疗领域的新生儿监护、重症监护患者的疼痛识别方面[11]。因此,基于家用摄像头实时视频设计一种老年人居家活动面部疼痛表情智能监测算法能在一定程度上满足老年人居家养老过程中健康照护的现实需要。

本研究设计一种老年人健康智能监测提醒算法,能够实时进行人脸检测和疼痛表情识别并及时反馈给子女或社区照护人员,以提醒相关人员及时关注老年人健康状况,避免影响健康的不利因素进一步恶化。本研究可适用性强,既能够在各类家用监控视频终端上应用,也可以基于互联网搭载在云端;而且是基于静态图像或动态视频分析,无需穿戴传感器,对监护对象无额外负担,监护对象可接纳程度高。

1 算法设计

1.1 老年人健康智能监测提醒算法框架

对老年人的健康进行实时监测需要对视频中的老年人的疼痛状态进行获取,而后对检测到疼痛的情况进行提醒。如图1 所示,本文所设计的老年人健康智能监测提醒算法共包含人脸检测、疼痛识别以及健康提醒3 个部分。

图1 老年人健康智能监测提醒算法框架

1.2 人脸检测部分

由于人脸的表情是疼痛状态最为直接的体现,本研究首先设计了人脸检测部分对视频中的人脸进行检测,以便获取仅包含表情的信息。人脸检测部分算法利用多任务级联卷积网络(multi-task cascaded convolutional networks,MTCNN)[12]实现,该网络是一种基于深度学习的人脸检测算法,可以同时完成人脸检测和人脸对齐的任务,相比于传统的算法,性能更好、检测速度更快,被广泛应用于自然场景的人脸检测中。

MTCNN 包括建议网络、细化网络和输出网络3层。其中建议网络(如图2 所示)由一系列的卷积层构成,先将图像进行3 层特征提取,随后通过一个人脸分类器判别输入图像是否包含人脸,同时使用边框回归以及一个面部关键点的定位来对人脸区域进行建议,最终建议网络输出多个包含人脸的图像,并将所有的输出图像发送给下一级的细化网络进行进一步处理分析。

图2 人脸检测部分算法中的建议网络

细化网络(如图3 所示)包含多层卷积层,与建议网络的区别在于增加了一个全连接层,用于对输入特征的筛选。由于建议网络给出的往往是一系列的粗糙的结果,这些结果均会被送入到细化网络中进行筛选,对一些效果不好的人脸进行剔除,最后留下效果较好的候选框用于区域框的回归和人脸关键点的定位。

图3 人脸检测部分算法中的细化网络

输出网络(如图4 所示)也是由一系列的卷积层和全连接层构成,相较于细化网络增加了1 层卷积层,以增加更多的监督来识别面部区域。同时全连接层提高了输出维度,保留了图像更多的特征,在细化网络的基础上再次进行人脸的判别、人脸区域候选框的回归以及人脸关键点的定位。

MTCNN 将人脸检测的任务拆分成多个模型组合的方式,先使用小模型生成一切有可能的候选框,随后一步步使用更复杂、更精细化的模型对粗略的结果进行筛选,从而形成3 层网络的检测模型,实现人脸的精准检测,使得后续的算法仅对人脸表情进行分析,排除了其他大量的背景干扰信息。

1.3 疼痛识别部分

疼痛识别部分是本算法的核心内容。

首先,本研究构建VGG16 的网络模型,一共包括5 个卷积块(每个卷积块由一定数量的卷积层、批归一化层、非线性层和池化层组成)和2 个全连接层来提取全局特征。其中第一个卷积块的结构参数见表1。第二个卷积块将特征的输出维度提升至128,其余结构和第一个卷积块相同。第三、四、五个卷积块在第二个卷积块的基础上增加了一个卷积层、一个批归一化层和一个非线性层,并分别将特征维度提升至256、512、512。2 个全连接层分别将特征维度由512 升至4 096,并连接输出层输出分类结果。在构建网络之后再使用预训练的VGGface 模型[13]参数对模型进行初始化。

表1 第1 个卷积块的结构参数

随后,本研究使用来自于UNBC-McMaster 的肩部疼痛数据库[14]进行模型的微调,该数据库共收录了25 个被试的200 个视频序列,共48 398 帧图像,而且每一帧图像均有疼痛的标记,这为该部分算法的深度模型训练提供了充足的数据。假设训练集D={xi,yi}(i=1,2,…,N,xi、yi分别表示人脸图像和疼痛标签)包含了N张图像,在使用VGGface 模型初始化之后,再使用Softmax 分类损失函数进行微调的训练,如下式所示:

式中,m表示一个批次的图像数量;N表示分类数量;al表示全局分支在第l个类别的输出;yi表示样本的标签。由于该网络以及损失函数均是可导的,损失误差可以反向传播到前面所有层中来更新这些层中的参数。参数更新方法为随机梯度下降法,其中动量为0.9,衰减系数为0.000 5。

1.4 健康提醒部分

在健康提醒部分算法中,本研究根据疼痛识别部分所输出的结果,选择是否向老年人的子女或者社区养老机构护工进行健康提醒。当疼痛识别部分检测到老年人有疼痛表情时,健康提醒部分采用开源的wechatpy 项目调用PC 端微信,发送疼痛报警信息给相应的人员。

2 实验

2.1 实验数据及条件

本文疼痛识别部分算法使用的训练数据来自于UNBC-McMaster 肩部疼痛公共数据库,共选取10 000张图像子集(包含了均衡的疼痛和非疼痛类别)。

在深度网络构建时,所依赖的软件环境是基于Python 3.8 的Pytorch 1.9.1 框架搭建的,硬件环境主要由Intel(R)Core(TM)i9-10900K CPU 和NVIDIA RTX3060 显卡构成。

2.2 人脸检测结果

本研究利用基于MTCNN 所构建的人脸检测算法对原始图像进行人脸检测,识别出人脸区域。人脸检测的结果如图5 所示。

图5 人脸检测的结果

在获得人脸的检测框之后,可以利用检测框的坐标对人脸部分进行裁剪,将视频中的背景进行剔除,只留下人脸的部分。与此同时,需对人脸区域进行尺度放缩,以满足后续疼痛识别部分对输入图像尺寸的要求,从而进行后续的疼痛识别。

2.3 疼痛识别及健康提醒结果

在训练过程中使用留一交叉验证来评估算法的性能,即将数据库中的25 个被试均作为一次测试样本,其余24 个被试的数据作为训练集,一共做25 次循环,获得最终的平均值来进行疼痛识别部分最终的性能评估。本文所设计的疼痛识别算法的平均识别率为94.1%,得到的疼痛识别ROC 曲线如图6 所示,其中AUC 值为0.969。可以看出,本文所设计的疼痛识别算法能够识别绝大部分疼痛的情况,算法性能可靠。

图6 疼痛识别的ROC 曲线

以上的结果为数据库中的实验结果,数据库中的各个被试视频采集条件基本一致。为了验证疼痛识别算法是否能够应对更多的实际场景,使用自行录制的腹泻引起的腹部疼痛的视频,并将视频转化为连续的图像帧输入到人脸检测算法中先进行人脸的检测,随后将人脸区域输入到疼痛识别算法中进行疼痛检测。实际检测的结果如图7 所示。

图7 实际环境中的疼痛检测结果

从图7 中的结果能够看出,疼痛识别算法具有较强的泛化性,在实际环境中的人脸出现疼痛时也能够及时产生报警信号,并将报警信号传递到健康提醒算法中进行消息推送。图8 为检测到疼痛时该算法调用微信发送的健康提醒消息。

图8 实际环境中的微信提醒信息

3 结语

我国是世界上老龄化速度最快、空巢老人数量最多的国家之一,并且大部分老龄人口以居家养老为主。为此,本研究以“互联网+照护服务”为思路设计一种基于家庭摄像头的老年人健康智能监测提醒算法,能够实现基于家庭摄像头的实时视频序列进行人脸检测和疼痛识别,从而及时发现老年人居家养老过程中的不适,并实时提醒相关人员采取相应干预措施。本算法在保证网络可靠性和家庭摄像头较高覆盖范围的前提下能够为“互联网+照护服务”提供一个可行的技术实现和创新的思路,对健全家庭和社区两级的老年人照护服务体系有着重要意义。然而出于隐私保护家庭住房中部分洗手间、卧室等区域不具备配置摄像头的可能,而且家庭住房环境也存在着大量摄像头的盲区,很难实现对老年人的实时疼痛监测;此外,算法采用深度学习模型来识别疼痛表情,没有与其他表情有明确的区分特征,同时跌倒也是老年人居家过程中的健康危险因素之一。因此,本研究下一步将设计算法学习疼痛表情与其他表情的区分特征,同时加入姿态检测算法,并与其他“互联网+照护服务”融合,进一步完善老年人居家养老过程中的健康监测体系。

猜你喜欢
人脸卷积养老
基于3D-Winograd的快速卷积算法设计及FPGA实现
有特点的人脸
从滤波器理解卷积
三国漫——人脸解锁
养生不是养老
基于傅里叶域卷积表示的目标跟踪算法
养老更无忧了
以房养老为何会“水土不服”?
养老之要在于“安”
马面部与人脸相似度惊人