【2023研电赛】安谋科技企业命题特别奖:面向独居老人的智能居家监护系统
本文为2023年第十八届中国研究生电子设计竞赛安谋科技企业命题特别奖分享,参加极术社区的【有奖活动】分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!,分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!
面向独居老人的智能居家监护系统
参赛单位:华南理工大学
指导老师:毕盛 董敏
参赛队员:谭皓禹 杨礼铭 沈煜
研究背景
第七次人口普查结果表明,我国人口老龄化程度正在不断加深,处理好全社会的养老问题十分重要。老人身体健康风险较高,而独居老人在生活中更是面临着精神、健康、意外三重困境,因此,我们认为给独居老人提供便利、安全的居家环境尤为重要。
市面上面向老人的监护产品存在的不足有:穿戴式手环容易被遗忘佩戴且不适用于卫生间等潮湿场所;基于视觉检测摔倒的视频监控则不适用于浴室等隐私场所;一键呼叫器或存在穿戴式的局限,或固定在某处,不适合处理突发情况。这些产品功能单一、不成系统,只“监”无“护”,无法为发生危险情况的独居老人及时提供应急服务。针对上述不足,我们设计实现了面向独居老人的智能居家监护系统。
功能介绍
我们的系统基于云-边-端架构实现,由云端服务器、感知模块和应用服务构成。
云端服务器使用MQTT协议为系统内部各模块提供通信服务。
感知控制方面,语音识别模块主要对老人的语音需求进行感知,采用R329开发板作为开发平台实现。该模块可以识别到老人的关键词需求,比如喝水、救命等。
姿态检测模块主要负责以非接触式检测识别老人在房间内的姿态,采用毫米波雷达以及EAIDK610开发平台进行实现。该模块可以识别房间内老人姿态信息。
机器人联动服务模块主要负责根据老人的语音需求提供便利服务,在检测到危险情况时自动导航至老人身边提供急救药物并拍摄现场。我们使用EAIDK610开发平台控制机器人,实现机器人联动服务模块。它可以订阅语音识别模块和姿态检测模块的话题,从云端服务器接收到对应话题的信息,然后控制服务机器人做出对应行动。
应用服务方面,前端交互模块由微信小程序实现,用户可以进入房间页面查看各房间状况、语音需求以及危险情况报警等,使家人能够远程关注老人在对应房间的状态信息。
创新特色
第一,我们采用毫米波雷达实现老人的姿态检测,克服了主流摔倒检测产品的局限性。基于毫米波雷达的姿态检测是非接触式的检测方式,克服了穿戴类设备的不足;同时也解决了基于视觉的视频监控的痛点,既防止隐私泄露,也满足了老人不愿意被监视的心理需求。
第二,我们采用联邦学习提高了姿态检测模型的可扩展性,优化模型性能。新样本训练的模型可以随时加入联邦学习的迭代聚合得到新的全局模型,相比于传统训练方式具有更高的可扩展性;无需融合多方数据,允许不同模型的训练在分布式环境下进行,以减轻模型训练压力,还在隐私保护的基础上完成间接数据共享,从而提高模型准确性、鲁棒性与泛化性。
第三,服务机器人能够根据姿态检测模块和语音识别模块检测到的信息提供相应的服务。机器人提供服务过程中,使用基于单目相机和激光雷达的多传感器融合的方法自动寻找老人并到达老人身边;我们针对居家环境改进全局路径规划以缩短导航时间,提高了对需求的响应速度;实现了导航参数自适应狭窄场景的功能,降低了复杂的居家环境对导航造成的影响。
技术实现
语音识别模块
在R329开发板部署离线语音库,以实现老人对应需求的关键词识别。
姿态检测模块
姿态检测模块具有识别摔倒、单人活动、多人活动三种情况的功能,主要使用TI毫米波雷达与EAIDK610开发者套件。前者通过发射一定频率的电磁波并利用多普勒效应检测区域内物体的运动趋势,即当范围内的物体靠近雷达时会收到频率更高的回波,远离时会收到频率更低的回波,以此计算物体与毫米波雷达之间的位置关系及物体的速度,这类计算在硬件内部即可完成,生成四元组点云数据 ,我们可以直接利用。后者接收前者所发布的话题获得点云数据,并通过数据预处理得到固定大小的网络输入后送入轻量CNN分类网络进行推理。推理结果发送至云端服务器,并通过服务器将该结果发送至应用服务层的微信小程序,以实现提示、报警功能。
提高姿态检测模型的泛化性,要求训练集更为丰富全面,但每次采集新样本并更新模型都需要集中数据重新训练,开销较大,可扩展性差,且存在隐私泄露的风险。因此我们引入联邦学习,其主要步骤包括:初始化模型、本地训练、全局迭代聚合。实验证明,相比于原模型,聚合优化模型准确率更高,具有更好的泛化性。
机器人联动服务模块
机器人寻找老人位置的思路为:通过单目相机推测老人的方向,激光雷达获取老人的距离,从而确定其具体位置。在机器人接收到“送水”“救命”等指令后,导航到对应房间进行分区覆盖式巡逻,过程中单目标检测模型进行实时推理寻找老人;当找到老人时,机器人停下,根据候选框信息计算其相对老人的方向,随后调整角度,使前进方向正对老人;最后通过激光雷达感知与老人的距离,前进并到达老人身边。
针对导航过程不流畅的问题,我们通过改进全局路径规划算法解决,思路为引入角度约束函数抑止多余转向、对生成路径进行平滑处理;针对机器人无法顺利通过狭窄区域的问题,我们通过实现导航参数自适应宽阔、狭窄场景来解决,思路为分别调整两份适用于宽阔、狭窄场景的导航参数,并在地图上标记狭窄路口,当机器人进出狭窄路口时切换导航参数。
前端交互模块
前端交互模块基于微信小程序实现。通过小程序,家人可以看到不同房间的状态信息、房间的历史记录和发生异常状况时的现场照片。
未来展望
我们只是初步设计并实现了该智能监护系统,面对需求的不断变化以及实际应用场景的一些特殊或复杂的情况,该系统还有一些值得改进的地方:
该系统只涉及了姿态检测和语音识别两个感知老人状况和需求的功能模块,未来可以添加更多的感知模块来监测老人的健康指标和需求。语音识别模块也只考虑了老人“喝水”、“救命”、“回去”等需求,未来可以增加更多关键词、为机器人设计更多功能以满足更多样的需求。
该系统的语音识别模块对于距离在0-1m内的语音需求识别成功率较高,但对于超过1m的语音需求识别率很差,考虑到一些房间比较大或者老人的声音有时候可能比较小,未来可以为R329开发板加一个收音器以加强收音效果,降低距离和声音分贝对识别率的影响。
参加极术社区的【有奖活动】分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!,分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!
相关文章:

【2023研电赛】安谋科技企业命题特别奖:面向独居老人的智能居家监护系统
本文为2023年第十八届中国研究生电子设计竞赛安谋科技企业命题特别奖分享,参加极术社区的【有奖活动】分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!,分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来…...

[Machine learning][Part4] 多维矩阵下的梯度下降线性预测模型的实现
目录 模型初始化信息: 模型实现: 多变量损失函数: 多变量梯度下降实现: 多变量梯度实现: 多变量梯度下降实现: 之前部分实现的梯度下降线性预测模型中的training example只有一个特征属性:…...
LCR 078. 合并 K 个升序链表
LCR 078. 合并 K 个升序链表 题目链接:LCR 078. 合并 K 个升序链表 代码如下: class Solution { public:ListNode* mergeKLists(vector<ListNode*>& lists) {ListNode *lsnullptr;for(int i0;i<lists.size();i){lsmergeList(ls,lists[i])…...

JVM面试题:(三)GC和垃圾回收算法
GC: 垃圾回收算法: GC最基础的算法有三种: 标记 -清除算法、复制算法、标记-压缩算法,我们常用的垃圾回收器一般 都采用分代收集算法。 标记 -清除算法,“标记-清除”(Mark-Sweep)算法,如它的…...
hive建表指定列分隔符为多字符分隔符实战(默认只支持单字符)
1、背景: 后端日志采集完成,清洗入hive表的过程中,发现字段之间的单一字符的分割符号已经不能满足列分割需求,因为字段值本身可能包含分隔符。所以列分隔符使用多个字符列分隔符迫在眉睫。 hive在建表时,通常使用ROW …...
android.app.RemoteServiceException: can‘t deliver broadcast
日常报错记录 android.app.RemoteServiceException: cant deliver broadcast W BroadcastQueue: Cant deliver broadcast to com.broadcast.test(pid 1769). Crashing it.E AndroidRuntime: FATAL EXCEPTION: main E AndroidRuntime: Process: com.broadcast.test, PID: 1769…...

信创办公–基于WPS的EXCEL最佳实践系列 (单元格与行列)
信创办公–基于WPS的EXCEL最佳实践系列 (单元格与行列) 目录 应用背景操作步骤1、插入和删除行和列2、合并单元格3、调整行高与列宽4、隐藏行与列5、修改单元格对齐和缩进6、更改字体7、使用格式刷8、设置单元格内的文本自动换行9、应用单元格样式10、插…...

VsCode同时编译多个C文件
VsCode默认只能编译单个C文件,想要编译多个文件,需要额外进行配置 第一种方法 ——> 通过手动指定要编译的文件 g -g .\C文件1 .\C文件2 -o 编译后exe名称 例如我将demo.c和extern.c同时编译得到haha.exe g -g .\demo.c .\extern.c -o haha 第二种…...

Android绑定式服务
Github:https://github.com/MADMAX110/Odometer 启动式服务对于后台操作很合适,不过需要一个更有交互性的服务。 接下来构建这样一个应用: 1、创建一个绑定式服务的基本版本,名为OdometerService 我们要为它增加一个方法getDistance()&#x…...

系统韧性研究(1)| 何谓「系统韧性」?
过去十年,系统韧性作为一个关键问题被广泛讨论,在数据中心和云计算方面尤甚,同时它对赛博物理系统也至关重要,尽管该术语在该领域不太常用。大伙都希望自己的系统具有韧性,但这到底意味着什么?韧性与其他质…...

使用Perl脚本编写爬虫程序的一些技术问题解答
网络爬虫是一种强大的工具,用于从互联网上收集和提取数据。Perl 作为一种功能强大的脚本语言,提供了丰富的工具和库,使得编写的爬虫程序变得简单而灵活。在使用的过程中大家会遇到一些问题,本文将通过问答方式,解答一些…...

SAP内部转移价格(利润中心转移价格)的条件
SAP内部转移价格(利润中心转移价格) SAP内部转移价格(利润中心转移价格) SAP内部转移价格(利润中心转移价格)这个听了很多人说过,但是利润中心转移定价需要具备什么条件。没有找到具体的文档。…...
WRF如何批量输出文件添加或删除文件名后缀
1. 批量添加文件名后缀 #1----批量添加文件名后缀(.nc)。#指定wrfout文件所在的文件夹 path "/mnt/wtest1/"#列出路径path下所有的文件 file_names os.listdir(path) #遍历在path路径下所有以wrfout_d01开头的文件,在os.path…...

Ubuntu右上角不显示网络的图标解决办法
一.line5改为true sudo vim /etc/NetworkManager/NetworkManager.conf 二.重启网卡 sudo service network-manager stop sudo mv /var/lib/NetworkManager/NetworkManager.state /tmp sudo service network-manager start...
AM@数列极限
文章目录 abstract极限👺极限的主要问题 数列极限数列极限的定义 ( ϵ − N ) (\epsilon-N) (ϵ−N)语言描述极限表达式成立的证明极限发散证明常用数列极限数列极限的几何意义例 函数的极限 abstract 数列极限 极限👺 极限分为数列的极限和函数的极限…...

Vue-2.3v-model原理
原理:v-model本质上是一个语法糖,例如应用在输入框上,就是value属性和input事件的合写。 作用:提供数据的双向绑定 1)数据变,视图跟着变:value 2)视图变,数据跟着变input 注意&a…...

左手 Serverless,右手 AI,7 年躬身的古籍修复之路
作者:宋杰 “AI 可以把我们思维体系当中,过度专业化、过度细分的这些所谓的知识都替代掉,让我们集中精力去体验自己的生命。我挺幸运的,代码能够有 AI 辅助,也能够有 Serverless 解决我的运营成本问题。Serverless 它…...
计算mask的体素数量
import numpy as np import nibabel as nib # 用于处理神经影像数据的库 # 从文件中加载mask图像 mask_image nib.load(rE:\mask.nii.gz) # 获取图像数据 mask_data mask_image.get_fdata() # 计算非零像素的数量,即白质骨架的体素总数 voxel_count np.count_no…...

VR全景营销颠覆传统营销,让消费者身临其境
随着VR的普及,各种VR产品、功能开始层出不穷,并且在多个领域都有落地应用,例如文旅、景区、酒店、餐饮、工厂、地产、汽车等,在这个“内容为王”的时代,VR全景展示也是一种新的内容表达方式。 VR全景营销让消费者沉浸式…...

FreeRTOS学习笔记——四、任务的定义与任务切换的实现
FreeRTOS学习笔记——四、任务的定义与任务切换的实现 0 前言1 什么是任务2 创建任务2.1 定义任务栈2.2 定义任务函数2.3 定义任务控制块2.4 实现任务创建函数2.4.1 任务创建函数 —— xTaskCreateStatic()函数2.4.2 创建新任务——prvInitialiseNewTask()函数2.4.3 初始化任务…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...

select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...