当前位置:首页 > 信息安全 > 正文

面向独居老人的智能居家监护系统

第一部分

1 引言



第七次人口普查公报[1]结果显示,全国人口中 65 岁及以上人口为190,635,280人,占总人口数的13.50%,其中 65岁以上的独居老人人口总数为1988万人,占65岁以上老人总数的10.43%65岁以上老年人的前4大死亡原因分别是呼吸系统疾病、循环系统疾病、肿瘤和意外伤害[2],而独居老人在面对上述各种疾病或意外伤害时具有更高的死亡率[3],这说明独居老人具有更大的健康风险。同时由于老年人生理机能变化,活动量减少,行动不便,缺乏照顾,他们发生意外伤害的可能性随年龄的增长而不断上升,研究表明意外跌倒是我国老年人意外死亡的第一因素[4],当独居老人发生意外跌倒时,若无法及时得到救助,可能危及生命,导致悲剧的发生。

本文设计的面向独居老人的智能居家监护系统可以通过语音识别联动服务机器人实现对老人的需求做出相应反应;还能采用基于毫米波雷达点云数据的深度学习方式检测老人的姿态,并联动服务机器人;在出现老人摔倒或呼救等危险情况时,系统会及时通过前端交互界面给家人发送警报,同时机器人能够自动导航至老人所在房间,提供应急服务。该系统实现具体包含了五个功能模块:云端服务器模块、语音识别模块、姿态检测模块、机器人联动服务模块、前端交互模块

1.1

研究现状





随着第四次科技革命推动的物联网、信息技术、大数据和云计算等技术的发展,养老服务水平也被极大地提升,部分智能家居技术也被用于养老服务中[5]。基于养老的智能家居服务用于满足老年人安全、独立、健康和援助等需求,在照顾老年人方面发挥着重要作用[6]。当前的智能家居的适老化研究主要集中在对老人身体健康指标的监测和老人异常状态检测,例如突然跌等。其中,在健康监测方面有不少研究将智能手环与智能家居系统结合,实现对老年人的健康检测[7],通过让老年人佩戴包含加速度计、陀螺仪、脉搏传感器和体温传感器的智能手环,采集这些数据送往中控平台进行分析,以获得老年人的体温和心跳频率的健康状态,同时通过分析加速度计和陀螺仪的时序数据,推断老年人的运动姿态,判断其是否有摔倒的迹象。同时国内外也有利用视觉检测技术结合深度学习来检测老人是否发生跌倒[8][9]。但是调查显示,穿戴类设备并不适合给老年人使用[10],一是老年人容易遗忘佩戴设备;二是穿戴类设备容易丢失。基于视觉检测的视频监控能够完成非接触式的摔倒检测任务,但近几年因为家庭网络摄像头遭到入侵而造成隐私泄露的事件层出不穷,大部分老年群体也并不希望时刻有摄像头监控自己。对于老人的紧急求助需求,目前的主流产品均为一键呼叫器,求助按钮或随身佩戴,或固定在房间某处,而固定在房间某处的呼叫器更是不便于甚至无法为突发危险情况的老人提供紧急求助服务。调研市场发现,目前面向老人的监护产品还存在着功能单一、不成系统,只,即无法为发生危险情况的独居老人及时提供应急服务的问题。从关心独居老人的健康状况出发,针对上述的不足,本文设计实现了一个可以实时监测突发危险情况,且能根据需求提供便利服务的面向独居老人的智能居家监护系统。

1.2

本系统特色





本文面向独居老人的智能居家监护系统的特色有以下三点:

第一,我们采用毫米波雷达实现老人的姿态检测,克服了主流摔倒检测产品的局限性。基于毫米波雷达的姿态检测是非接触式的检测方式,克服了穿戴类设备的不足;同时也解决了基于视觉的视频监控的痛点,既防止隐私泄露,也满足了老人不愿意被监视的心理需求。

第二,我们使用语音识别的方式解决独居老人的求助需求。只要在房间内布置一个语音识别模块,老人在该房间内的求助语音都能够被接收并发送给家人,相比按钮求助类产品更加方便。

第三,我们将姿态检测功能和语音识别功能组成系统,并在系统内添加了机器人联动服务模块。服务机器人能够根据姿态检测模块和语音识别模块检测到的信息提供相应的服务,解决了只的问题。

第二部分


2 系统总体方案设计


本文基于云﹣边﹣端架构,实现了面向独居老人的智能居家监护系统,其主要功能有云端服务器、感知控制和应用服务,总体功能架构如图1所示。

面向独居老人的智能居家监护系统  第1张

系统总体功能架构图

云端服务器为系统内部各模块提供通信服务。

感知控制方面,语音识别模块主要对老人的语音需求进行感知,采用R329开发板[11]作为开发平台来实现。该模块可以识别到老人的关键词需求,比如喝水、救命等,并向云端服务器下的相应话题发布对应的需求信息。

姿态检测模块主要负责以非接触式检测识别老人在房间内的姿态,采用毫米波雷达以及基于RK3399芯片的 EAIDK610开发平台[12]进行实现。该模块可以识别房间内老人是否摔跤以及一些常见姿态,并向云端服务器下的相应话题发布对应的姿态信息。

机器人联动服务模块主要负责在老人有相应需求或者有危险时能够及时提供帮助或发送警报。通过使用 EAIDK610开发平台控制机器人,实现机器人联动服务模块。它可以订阅语音识别模块和姿态检测模块的话题,从云端服务器接收到对应话题的信息,然后控制服务机器人做出对应行动。

应用服务方面,前端交互模块由微信小程序实现,用户可以进入房间页面查看各房间状况、语音需求以及危险情况报警等,使家人能够远程关注老人在对应房间的状态信息。

第三部分


3 语音识别模块


语音识别模块使用到的硬件设备为采用ARM v8架构的R329开发板。它基于全志R329芯片设计,搭载双核 ARM CortexTM-A53,同时内置高性能的周易AIPU处理器,使得它支持智能语音和视频图像处理,也能够直接跑一些人脸识别模型、语音识别模型等。在本模块中,R329主要用于部署语音识别模型实现关键词识别功能,能够在识别老人关键词需求后发送相应需求信息给云端服务器的对应话题下。

考虑了多种老人在家可能提出的需求,并借助关键词识别功能实现了对这些需求的几种不同关键词的识别,语音识别模块在识别到关键词后向云端服务器下的相应话题发布该关键词对应的需求信息。比如,当老人在房间1发出喝水”“送水”“渴了等需求时,语音识别模块会识别这三个关键词,并向服务器下的"rooml_sr"话题发布信息"drink";当老人在房间2发出救命”“有人吗等需求时,语音识别模块会识别这两个关键词,并向服务器下的"room2_sr"话题发布信息"help"

选取到适合居家助老服务环境下的模型参数,采用了不同尺寸的语言模型和不同的模型输入长度,并对其识别错误率和延迟时间进行比较,得出最后的模型参数选择。

1)模型输入长度选择。取声学模型am_7332,语言模型ImS,语音声音在50 dB左右,我们修改模型输入长度分别为128,192,256进行实验,得到结果如表1所示。

不同模型输入长度下的平均错误率和延迟时间

面向独居老人的智能居家监护系统  第2张

通过分析表1结果,当模型输入长度选取192时,识别率和长度为256时一样高,同时相比之下也具有更及时的响应。因此将模型输入长度设置为192

2)模型尺寸选择。取声学模型am_7332,语音声音在50 dB左右,模型输入长度为192,我们修改语言模型尺寸进行实验,得到结果如表2所示。

通过分析表2结果,三种尺寸识别率相差不大。因此,我们选择模型ImS部署到开发板上,这样可以占用最少的内存,同时该模型0.862的识别率也较高,足够满足识别语音的需求。

不同语言模型尺寸下的平均错误率和延迟时间

面向独居老人的智能居家监护系统  第3张

3)为了使该模块根据关键词识别概率向服务器发送对应消息,需要设定一个概率限值来标识确实成功识别到关键词。取声学模型 am_7332,语言模型 ImS,模型输入长度为192,用不同分贝音量,在不同距离下进行实验,得到结果如表3所示。

不同分贝音量和不同距离下的识别概率

面向独居老人的智能居家监护系统  第4张

由表3中数据可见,当声音较小时识别概率会大幅降低,当距离较远时模块也能采取到关键词但识别概率都低于0.01。因此,考虑到老人遇到紧急情况身体较虚弱声音不大,同时排除房间外的其他声音干扰,我们将概率限值设为0.1。当模块的关键词识别概率高于0.1,语音识别模块就会向服务器发送相应信息。

第四部分


4 姿态检测模块


姿态检测模块所需要使用的硬件设备主要是TI公司型号为IWR6843ISK 的毫米波雷达和采用ARM 架构的 RK3399 芯片人工智能开发平台 EAIDK610开发板。在本模块中EAIDK610用于部署姿态检测模型,完成从毫米波雷达获取数据、数据预处理,推理得出姿态检测结果并通过云端服务器将报警信息发送到用户客户端的功能。

面向独居老人的智能居家监护系统  第5张

姿态检测模块总体架构

姿态检测模块的总体结构如图2所示,毫米波雷达通过发射一定频率的电磁波并利用多普勒效应检测区域内物体的运动趋势,即当范围内的物体靠近雷达时会收到频率更高的回波,远离时会受到频率更底的回波,以此计算物体与毫米波雷达之间的位置关系及物体的速度,这类计算在硬件内部即可完成,生成四元组数据。EAIDK610 开发板接收毫米波雷达所发布的话题获得该四元组,并通过数据预处理之后获得固定大小的网络输入后送入轻量CNN分类网络进行推理。推理结果发送至云端服务器,并通过服务器将该结果发送至应用服务层的微信小程序,以实现提示、报警功能。

4.1

数据集的构建与数据预处理





毫米波雷达被设定为只检测并发送范围内活动物体的四元组信息,这使得在开发板订阅毫米波雷达所发送的四元组数据并推理的时候会出现数据截断的可能。考虑到人体姿态活动是一种具有时序性之的一系列连续活动,在网络推理的过程中需要利用到序列的信息,并且神经网络数据的输入需要固定维度大小,因此在训练网络阶段和推理预处理阶段都设计了一种等待队列如下图3所示,保证在收到固定大小为的N=90个四元组数据点之后才打包成[90,4]的矩阵,作为网络的输入送至神经网络中进行推理,提高了网络推理的稳定性与推理结果的准确性。

面向独居老人的智能居家监护系统  第6张

等待队列

4.2

神经网络的结构与训练





神经网络的具体结构如下图4所示。神经网络主干由7个部分构成,四元组点云数据经过等待队列打包之后作为神经网络的输入传入至网络之中,以此经过批标准化、卷积层、池化层、Dropout层、Flatten 层和全连接层后输出最终的四分类结果。

面向独居老人的智能居家监护系统  第7张

神经网络结构

实验所使用的硬件配置为:AMD Ryzen9 5900HS,主频3.3GHz,816线程;加速显卡 NVIDIA GeForce RTX3050Ti 8 GB 显存。使用后端为 TensorFlow-GPU v2.11.0Keras v2.11.0作为训练模型的深度学习库。训练使用的数据集总数为24,404个,4 个不同的标签各占 6101个。训练开始前,先用shuffle 函数对从ROSBAG中处理得到的数据集进行随机打乱,然后使用train_test_split函数对数据集切分,数据集总数的80%作为训练集,20%作为测试集。在训练过程中,将训练集的20%作为验证集以评估模型的训练效果。训练中设置学习率为0.0005,epochs设定为40batch_size设定为128。模型训练过程中的损失函数如图5所示,在验证集上的loss0.00897,准确率达到99.63%

面向独居老人的智能居家监护系统  第8张

损失函数图

4.3

神经网络的测试





经过训练阶段的拆分,得到的测试集分布为fallingsittingstandingwalking的标签各有1194128611891212 个。将测试数据集和标签输入到训练好的网络之中进行测试,得到预测结果如下图6所示。训练得到的神经网络在测试集上的总体准确率达到99.63%,其错报的几率不足0.5%,能够满足对身处卧室、浴室或客厅等各种场所的老人进行姿态检测的需要。

面向独居老人的智能居家监护系统  第9张

测试集预测结果

为了试验姿态检测模块识别准确率,还设置了七轮测试:测试者在每一轮的测试中以随机顺序做站、坐、走、摔倒四个动作,并记录下当时的识别结果,如表4所示。由表中数据可以看出,姿态检测模块的识别率较高,只发生了一次误判,该次误判可能是因为测试者测试时动作之间衔接过快。

不同测试轮中对测试者动作的识别结果

面向独居老人的智能居家监护系统  第10张

综上所述,本文设计的神经网络对于基于毫米波雷达点云数据的人体活动识别有较高的准确率,可以完成对人体姿态进行检测的任务,并与其他模块结合进行系统的测试实验。

第五部分


5 机器人联动服务模块


机器人服务功能主要分为两类。一类为语音服务,即机器人通过语音识别模块响应老人的语音指令,目前实现了机器人送水到老人所在房间、老人不需要机器人后命令其返回充电座两个功能用于展示。一类为老人异常应急服务,即在语音识别模块或姿态检测模块识别到老人出现异常状况时,能够自动导航至相应房间,送来急救药物、拍摄现场照片并上传至服务器,使家人能通过小程序及时了解老人状态并采取紧急措施。

EAIDK610微处理器平台主要负责控制机器人的逻辑行为,机器人的功能建立在导航的基础上,导航需要地图,因此首先需要在家中通过激光雷达扫描建立平面地图。成熟的建图方法众多,根据任务场景选择了在小场景下建图算力消耗较少且地图精度较高的Gmapping算法。选择Navigation Stack 作为导航框架,该框架由多个导航组件构成,其中核心组件map_server 用于加载建图算法创建的地图;amcl 算法估计机器人在地图中的位姿;move_base用于路径规划和控制机器人的行动,其中包括了全局路径规划器(A*算法)和局部轨迹规划器(TEB算法)。这些组件共同工作,令机器人能够在复杂环境中实现自主导航。

服务机器人的部署分两步,一是创建家里的平面地图,二是手动标记各个房间的导航目标点以及机器人的充电座。首先开启激光雷达和Gmapping节点,遥控机器人在家中各个房间探索,探索完毕后保存地图。然后开启编写好的房间标记节点,通过可视化工具 RVIZ 依次标记各个房间的目标点,这些目标点会保存至文档中,供后续联动服务使用。至此,机器人的前期部署完成。

机器人的联动时序图如图7

当老人发出正常的语音指令,比如送水时,语音识别模块能够识别出来并通过云端服务器转发指令至机器人控制模块,机器人控制模块则会发布导航目标点,使服务机器人导航到老人所在的房间;当老人希望机器人离开房间时,说一声回去,机器人就会收到相应指令并导航至充电座;而当老人发生意外,比如心脏不舒服,呼喊救命时,或者是摔倒时,语音识别模块或姿态检测模块能够及时检测到异常并上报服务器,服务器将相关消息转发至微信小程序和机器人控制模块,此时机器人控制模块收到求救指令并控制带着急救药物的机器人导航至指定房间,拍摄照片并上传至服务器,家人可以及时通过小程序看到老人的情况,以便及时采取相应措施帮助老人脱离险境。

面向独居老人的智能居家监护系统  第11张

机器人联动服务时序图

第六部分


云端服务器


采用MQTT (Message Queuing Telemetry Transport)协议作为系统内部通信方式,同时把mqtt服务器和用于反向代理的nginx服务器都采用docker容器的方式部署在云服务器中。

mqtt服务器与各模块通信如图8mqtt 服务器与语音识别模块、姿态检测模块、机器人联动服务模块之间可以直接使用mqtt协议通信。

面向独居老人的智能居家监护系统  第12张

8 mqtt服务器与各模块通信示意

mqtt 服务器与前端通信较为复杂。由于微信小程序必须使用wss (Secure WebSocket)协议保证通信安全,因此我们首先需要在mqtt服务器中将mqtt协议封装在ws(WebSocket)协议中(配置mqtt overwebsocket 功能),由域名经过ssl认证的反向代理服务器nginxws协议升级wss协议,最终完成mqtt服务器与微信小程序的通信。 

第七部分


前端交互模块


前端交互模块基于微信小程序实现了创建/删除房间、查看房间状态、调整房间状态、查看历史记录、查看现场等功能,如图9所示。

面向独居老人的智能居家监护系统  第13张

前端功能展示


第八部分


系统测试


在测试之前,需要先对两个实验房间进行部署,其中语音识别模块在两个房间都有部署,姿态检测模块只部署在房间1,机器人的充电基座(起始出发点)设置在走廊,各模块实验场景部署如图10所示。

面向独居老人的智能居家监护系统  第14张

10 实验场景图

面向独居老人的智能居家监护系统  第15张

11 机器人到达房间2目标导航点送水

1)语音识别与机器人联动功能

进行语音服务需求的测试,测试者坐在房间2喝水,语音识别模块识别到关键词,并将对应需求发到云端服务器的"room2_sr"话题下。机器人订阅到信息后,导航至房间 2为测试者送水。机器人到达目标导航点,并且小程序收到信息,如图11 所示。

进行异常情况的语音需求测试,测试者在房间1呼喊救命,语音识别模块识别到关键词,并将对应需求发到云端服务器的"rooml_sr"话题下。机器人订阅到信息后,就会导航到房间 1 为测试者送药,并将目标导航点处的照片通过云端服务器发送到小程序。在小程序中长按房间1卡片,点击查看现场,可以看到现场照片,如图12所示。

面向独居老人的智能居家监护系统  第16张

12 测试者呼喊救命,机器人送药以及现场拍照

2)姿态检测与机器人联动功能

主要测试姿态检测与机器人联动的功能,测试方法为在实验场地部署毫米波雷达和载有姿态检测模块的EAIDK610开发板,测试者在实验场地做走、站、坐、摔倒四个动作,观察系统是否正确识别到姿态信息并将对应信息发送到云端服务器,以及机器人是否及时、准确地去到对应房间的目标导航点。

前期部署完成后,当机器人订阅到摔倒("fall")信息时,机器人联动服务模块便会控制携带药品的机器人到房间1的目标导航点为摔倒的测试者送药,并将警报信息和现场照片通过云端服务器发送到小程序显示,如图13所示。

面向独居老人的智能居家监护系统  第17张

13 通过毫米波雷达检测到人摔倒并警报

通过以上实验测试,整个系统能较好的实现独居老人居家监护功能。

第九部分


结束语


针对社会老龄化程度的不断加深的背景,本文提出并设计实现了一种面向独居老人的智能居家监护系统,基于云﹣边﹣端架构来设计系统的总体功能框架,包括了云端服务器,部署到端设备上的语音识别、姿态检测、机器人联动服务、前端交互等功能模块,并进行了测试验证。




参考文献

[1]国家统计局.第七次全国人口普查公报(第五号)[EB/OL].

https://www.gov.cn/, 2021-05-11.

[2]李庆瑜.老年人意外伤害及社区干预研究[J].护理研究(中旬版),2006(29): 2635-2636.[3]黄润龙,杨春.我国孤寡独居老人的构成及其生活状况研究[J].人口与社会,2021,37(5):26-37.

[4]徐大麟,孙伯燕,王萍玉.1986~2003 年上海市静安区老年人意外死亡的特点和趋势[J].中华老年医学杂志,2004(11):59-61.

[5] Beard, J. (2010) Innovative Approaches to Dealing with Population Ageing. Ge rontechnology, 9, 64.

https://doi.org/10.4017/gt.2010.09.02.002.00

[6] Zhang, Q., Li, M. and Wu, Y. (2020) Smart Home for Elderly Care: Developme nt and Challenges in China. BMC Geriatrics, 20, Article No. 318.

https://doi.org/10.1186/s12877-020-01737-y

[7] Hu, B.D.C., Fahmi, H., Yuhao, L., et al. (2018) Internet of Things (IOT) Monitori ng System for Elderly. 2018 International Conference on Intelligent and Advanced System (ICIAS), Kuala Lumpur, 13-14 August 2018, 1-6.

https://doi.org/10.1109/ICIAS.2018.8540567

[8]Lafuente-Arroyo, S., Martín-Martín, P., Iglesias-Iglesias, C., Maldonado-Bascón,S. and Acevedo-Rodríguez, F.J. (2022) RGB Camera-Based Fallen Person Detectio n System Embedded on a Mobile Platform. Expert Systems with Applications, 197,Article 116715.

https://doi.org/10.1016/j.eswa.2022.116715

[9]蒋阳阳.基于 YOLOv3 的居家老人摔倒检测系统的设计与实现[D]:[硕士学位论文].南京:南京邮电大学,2021.

[10]Steele, R., Lo, A., Secombe, C. and Wong, Y.K. (2009) Elderly Persons' Perce ption and Acceptance of Using Wireless Sensor Networks to Assist Healthcare. In ternational Journal of Medical Informatics, 78, 788-801.

https://doi.org/10.1016/j.ijmedinf.2009.08.001

[11] MaixSense 简介[EB/OL].

https://wiki.sipeed.com/hrdware/zh/maixll/M2A/maixsense.html, 2022-10-27.

[12]EAIDK-610公开教程(接口编程、数据采集、视觉分析)Python [EB/OL].

https://aijishu.com/a/1060000000362337,2022-10-25.




本文由《嵌入式技术与智能系统》授权发表,原文刊登在2024年第1期。《嵌入式技术与智能系统》杂志由汉斯中文开源期刊学术交流平台出版,是一本关注传统嵌入式技术与新兴智能系统前沿技术最新进展的国际中文期刊,编委团队汇聚了国内知名嵌入式系统专家与学者。