CN112633059B - 一种基于LabVIEW和MATLAB的跌倒远程监控系统 - Google Patents
一种基于LabVIEW和MATLAB的跌倒远程监控系统 Download PDFInfo
- Publication number
- CN112633059B CN112633059B CN202011265091.3A CN202011265091A CN112633059B CN 112633059 B CN112633059 B CN 112633059B CN 202011265091 A CN202011265091 A CN 202011265091A CN 112633059 B CN112633059 B CN 112633059B
- Authority
- CN
- China
- Prior art keywords
- labview
- data
- fall
- formula
- matlab
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B21/00—Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
- G08B21/02—Alarms for ensuring the safety of persons
- G08B21/04—Alarms for ensuring the safety of persons responsive to non-activity, e.g. of elderly persons
- G08B21/0407—Alarms for ensuring the safety of persons responsive to non-activity, e.g. of elderly persons based on behaviour analysis
- G08B21/043—Alarms for ensuring the safety of persons responsive to non-activity, e.g. of elderly persons based on behaviour analysis detecting an emergency event, e.g. a fall
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Social Psychology (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Psychiatry (AREA)
- Psychology (AREA)
- Probability & Statistics with Applications (AREA)
- Gerontology & Geriatric Medicine (AREA)
- Business, Economics & Management (AREA)
- Emergency Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
Abstract
一种基于LabVIEW和MATLAB的跌倒远程监控系统,以Kinect V2深度视觉传感器为数据获取源,采用LabVIEW和MATLAB联合编程的方式完成跌倒检测系统的设计,首先将获取的骨骼节点数据进行平滑重构,通过改进的K‑means聚类算法对重构数据进行计算,得到两个聚类中心点,将聚类中心点速度阈值和高度阈值作为跌倒检测的初步判断条件。以聚类中心加速度以及聚类中心和垂直向的夹角为数据源,构建7*7检测样本数据,输入训练好的CNN跌倒检测模型进行跌倒事件最终认定,并将认定结果与远程手机端和PC端进行分享。实验结果表明,本跌倒检测系统具有更高的识别正确率,更低的误报率以及更好的鲁棒性,且手机端和PC端可以实现稳定可靠的实时远程监控。
Description
技术领域
本发明涉及跌倒检测以及远程监控领域,具体涉及一种基于LabVIEW和MATLAB的跌倒远程监控系统
背景技术
随着社会进步和医疗条件的发展,全球人口老龄化日益严重。调查表明,在跌倒后,得到医疗救助的时间越短,对老人造成的伤害程度就越低,及时合理的医疗救助,可以大大降低死亡风险,提高救治率。因此,如何对老年人可能随时出现的跌倒行为进行快速精确的检测并报警变得尤为关键。
根据采用算法的不同,跌倒检测可以分为基于阈值的检测和基于机器学习的检测。前者只需将识别特征值与阈值进行比较,通过简单的逻辑判断来识别跌倒行为,计算量小,识别速度快,对硬件系统要求不高,易于实现,但该方法受个体差异影响较大,识别精度较低。后者将大量含有特征向量的样本代入模型进行训练,得到精确的模型参数。该方法算法较为复杂,识别速度较慢,一般硬件系统不易实现。
根据采取的检测装置和检测方式的不同,跌倒检测技术又可分为三种类型。第一种为基于分布式环境参数采集的检测方法,这种方法是在被监测者活动区域内布置多个压力和噪声传感器,根据环境参数的异常来检测跌倒行为,其受周围环境影响较大,误报和漏报率较高。第二种为基于穿戴式智能传感器的检测方法,这种方法将测量加速度、压力、磁力等信号的传感器和微控制器组合佩戴在人体身上,将采集到的数据经过处理并通过特定算法来检测跌倒行为,其检测精度虽然较高,但对人体舒适度影响较大,影响生活质量。第三种为基于视觉传感器的检测方法,按照采用的视觉传感器种类不同,又可分为基于RGB视觉传感器的跌倒检测和基于深度视觉传感器的跌倒检测。前者只能得到二维图像信息,特征提取比较困难且容易造成用户个人隐私泄露。后者可得到三维的骨骼节点数据,不涉及个人隐私,同时特征提取容易,识别精度较高,成为近年来跌倒检测的主要研究方向之一。
发明内容
本发明针对上述背景技术,提出一种基于LabVIEW和MATLAB的跌倒远程监控系统,以Kinect V2深度视觉传感器为数据获取源,采用LabVIEW和MATLAB联合编程的方式完成跌倒检测系统的设计,实现人体跌倒识别和远程报警功能。
一种基于LabVIEW和MATLAB的跌倒远程监控系统,包括硬件部分和软件部分;
硬件部分由Kinect V2、计算机、GSM模块和路由器组成,Kinect V2用于人体骨骼节点的数据采集,计算机用于数据处理、存储和运算,通过GSM模块系统与远程手机端实现短信收发功能,通过路由器实现通过网页远程访问系统的状态和数据;
软件部分通过LabVIEW和MATLAB混合编程的方式实现系统控制、检测和远程报警功能;以LabVIEW软件为开发平台,采集KinectV2提取的人体25个骨骼点数据,并完成跌倒检测流程控制和远程监控的开发;以MATLAB软件为辅,编制K-means聚类算法和卷积神经网络CNN程序,完成跌倒行为检测;通过LabVIEW中提供的MATLAB script节点,实现两软件之间的数据传输。
进一步地,跌倒行为检测包括:
步骤a,骨骼节点数据采集及数据平滑处理;
步骤b,骨骼节点数据进行聚类中心算法处理;
步骤c,跌倒特征数据提取,其中包括聚类中心高度计算、聚类中心速度计算、聚类中心加速度计算、聚类中心与垂直方向夹角计算;
步骤d,通过卷积神经网络算法对跌倒行为进行模式分类;
步骤e,采用阈值分析和机器学习相结合的方法来设计跌倒检测系统,聚类中心点的速度和高度作为阈值判断条件,如果两个阈值条件均成立,则将聚类中心加速度和聚类中心与垂直方向夹角所重构的测试样本输入已训练好的CNN模型进行精确识别,如果输出结果为真,则系统进行远程报警。
进一步地,步骤a中,使用微软的官方Kinect SDK和Kinect dirver配合LabVIEW平台进行KinectV2控制,首先安装KinectSDK和Kinect DeveloperToolkit,然后安装labVIEW的VIPM,通过kinect工具包控制KinectV2进行25个骨骼点数据的采集,按照公式(1)对骨骼点的三维坐标数据进行均值平滑,式中,N为连续平滑帧数。
进一步地,步骤b中,采用K-means算法对25个骨骼点进行聚类分析,以聚类中心点作为识别分析数据源;人体以两髋中心为分界点,分为上下两部分,因此选取聚类中心的个数K=2,设计优化的K-means算法中初始聚类中心的选择方法,其流程如下:
步骤b-1,计算25个骨骼节点任意两点之间的欧式距离,选择距离最大的两个骨骼点作为初始聚类中心;
步骤b-2,由公式(2)计算样本所属的类,ci表示骨骼点i与k个类中距离最近的那个类;对于每个类j由公式(3)计算该类中心点μj;
c(i):=arg minj||w(i)-μj||2 (2)
式中w(i)表示样本数据;
步骤b-3,重复公式(2)和公式(3)直至得到收敛的聚类中心点O1(xu,yu,zu)和O2(xd,yd,zd),此时所有骨骼点到它所属类中心欧氏距离的平方和SSE不变。
进一步地,步骤c的跌倒特征数据提取中,聚类中心高度计算为:
Kinect V2系统坐标系中建立的地面方程如公式(4)所示,其中A,B,C、D为系统常数;将O1(xu,yu,zu)坐标带入公式(5)得到上半身聚类中心O1(xu,yu,zu)距离地面的高度d;
Ax+By+Cz+D=0 (4)
聚类中心速度计算为:
由公式(6)得到相邻两帧时O1(xu,yu,zu)的移动距离dr;式中x(i)、y(i)、z(i)为当前帧时O1(xu,yu,zu)的三维坐标,x(i-1)、y(i-1)、z(i-1)为上一帧时O1(xu,yu,zu)的三维坐标;由公式(7)得到O1(xu,yu,zu)的速度vu(i),式中Δt为相邻两帧的时间戳差;
vu(i)=dr(i)/Δt (7)
聚类中心加速度计算为:
由公式(8)得到聚类中心在X轴方向的速度值,由公式(9)计算得到聚类中心在X轴方向的加速度aX(i);同理,分别得到聚类中心在Y轴方向和Z轴方向的加速度aY(i)、aZ(i);
聚类中心与垂直方向夹角计算为:
公式(10)计算得到当前帧两聚类中心的欧式距离,公式(11)为两聚类中心当前帧的垂直距离,由公式(12)计算得到θ(i)。
dv(i)=y1(i)-y2(i) (11)
进一步地,步骤d中,输入卷积神经网络的样本数据为图片格式,即n*m矩阵数据,将连续7帧的aX1(i)、aX2(i)、aY1(i)、aY2(i)、aZ1(i)、aZ2(i)和θ(i)的特征数据构成7*7的样本Si,如式(13)所示:
设计基于卷积神经网络的跌倒检测模型,将7*7训练样本输入卷积神经网络,卷积层1采用12个大小为3*3的卷积核对跌倒特质进行粗略提取,然后进入大小为2*2步长为1的池化层用来降低特征维度,提高运算速度;接着再进入第二个卷积层,其大小为3*3个数为24,用于对特征进行精确提取,之后再经过一个大小为2*2步长为1的池化层;经过全连接层和判断层运算,最后由输出层输出分类结果。
进一步地,步骤e中,以聚类中心点O1(xu,yu,zu)的速度vu和O1(xu,yu,zu)离地面的垂直距离即高度d作为判断条件,具体的选取vu>0.9m/s和d<0.5m作为阈值判断的条件。
进一步地,与手机端通讯的实现方式具体为:选用西门子TC35i模块的GSM模块并采用串口通讯方式实现和远程手机端的信息传输,支持Text和PDU格式SMS,结合LabVIEW中的VISA Configure Serial Port模块、VISA写入模块和VISA读取模块,VISA ConfigureSerial Port模块用于初始化包括端口号、奇偶校验、波特率、数据位数在内的串口通讯参数,VISA写入模块依次向GSM端写入短信模式指令和短信发送请求指令,VISA读取模块用于读取指定串口的数据;当接收到短信允许发送标记时,由VISA写入模块向GSM端写入短信发送内容。
进一步地,远程PC端通过LabVIEWWeb服务器实现与远程PC端的通讯。
进一步地,远程PC端安装LabVIEW或LabVIEW运行引擎LVRun TimeEng.msi,对LabVIEWWeb服务器发布的Web页进行浏览和控制。
本发明达到的有益效果为:本系统将深度视觉传感器KinectV2用于监测跌倒,首先将获取的骨骼节点数据进行平滑重构,通过改进的K-means聚类算法对重构数据进行计算,得到两个聚类中心点,将聚类中心点速度阈值和高度阈值作为跌倒检测的初步判断条件。以聚类中心加速度以及聚类中心和垂直向的夹角为数据源,构建7*7检测样本数据,输入训练好的CNN跌倒检测模型进行跌倒事件最终认定,并将认定结果与远程手机端和PC端进行分享。实验结果表明,本跌倒检测系统具有更高的识别正确率,更低的误报率以及更好的鲁棒性,且手机端和PC端可以实现稳定可靠的实时远程监控。
附图说明
图1为本发明实施例中所述跌倒远程监控系统的系统结构框图。
图2为本发明实施例中骨骼节点数据采集和显示的程序框图。
图3为本发明实施例中人体骨骼节点分布图。
图4为本发明实施例中骨骼节点聚类中心MATLAB算法程序。
图5为本发明实施例中跌倒时迭代次数和SSE的关系示意图。
图6为本发明实施例中卷积神经网络跌倒检测模型图。
图7为本发明实施例中卷积神经网络程序结构图。
图8为本发明实施例中CNN训练步长和准确率之间的关系示意图。
图9为本发明实施例中跌倒检测控制流程图。
图10为本发明实施例中LabVIEW与手机端通讯程序框图。
图11为本发明实施例中Web发布工具对话框。
图12为本发明实施例中LabVIEW运行界面。
图13为本发明实施例中跌倒检测实验结果。
具体实施方式
下面结合说明书附图对本发明的技术方案做进一步的详细说明。
跌倒检测系统是一个需要软件和硬件紧密结合的复杂系统,其结构框图如图1所示。
硬件部分主要由Kinect V2、计算机、GSM模块和路由器几部分组成,Kinect V2用于人体骨骼节点的数据采集,计算机用于数据处理、存储和运算,通过GSM模块系统可以与远程手机端实现短信收发功能,通过路由器,用户可以通过网页远程访问系统的状态和数据。软件部分是通过LabVIEW和MATLAB混合编程的方式实现系统控制、检测和远程报警功能。以LabVIEW软件为开发平台,利用其优秀的可操作性和可扩展性,采集KinectV2深度相机提取的人体25个骨骼点数据,并完成跌倒检测流程控制和远程监控的开发。以MATLAB软件为辅,利用其出色的数据处理能力,编制K-means和卷积神经网络(CNN)程序,完成跌倒行为识别。通过LabVIEW中提供的MATLAB script节点,实现两软件之间的数据传输。
跌倒检测的具体程序如下:
1.骨骼节点数据采集
目前有两种驱动方案对Kinect V2进行开发,第一种方案是采用第三方的驱动Sensor以及开发组件OpenNI和NITE进行开发。第二种方案是使用微软的官方Kinect SDK和Kinect dirver配合visual、python或LabVIEW等平台进行开发。第一种方案虽然扩展性和兼容性较好,但其稳定性较差。本系统选择第二种方案配合LabVIEW平台对其进行开发,首先安装KinectSDK和Kinect DeveloperToolkit,然后安装labVIEW的VIPM,在里面下载kinect工具包就可以对Kinect V2进行25个骨骼点数据的采集,骨骼节点数据采集和显示的程序如图2所示。Initialise.vi为初始化函数,用于打开所连接的Kinect V2设备,并返回一个引用供后续函数使用。Configure.vi为配置函数,用于设置从Kinect V2中采集的图像类型,RGB图像分辨率及帧率,平滑选型等。由于跌倒发生的时间很短并且人体自遮挡情况严重,骨骼节点数据会出现严重跳变和丢失,因此按照公式(1)对骨骼点数据进行均值平滑,式中,N为连续平滑帧数。人体骨骼节点分布如图3所示。Initialise 3D Skeleton.vi为骨架显示初始化函数,用于初始化骨骼显示的三维坐标系。Read.vi为读取函数,用于从KinectV2设备中读取视频和骨骼点信息。Render 3D Skeleton.vi为渲染输出函数,用于更新骨骼节点三维显示。Kinect Close.vi用于关闭所打开的Kinect V2设备
2.骨骼节点聚类中心算法设计
人体骨骼节点数据包含了人体姿态的各类信息,跌倒发生时各骨骼节点都会表现出一定识别性。像0、1、2、3、20这类人体支撑类节点识别性比较明显,而像6、7、21、22、10、11、23、24、15、19这类关节类节点识别性不明显。若将所有25个骨骼节点均作为跌倒识别的数据源,会造成样本数据维度增加,识别速度较慢。而若仅选择几个关键骨骼点作为分析数据源,又会造成跌倒特征提取不充分,识别准确率不高。为有效解决上述矛盾,本系统采用K-means算法对25个骨骼点进行聚类分析,以聚类中心点作为识别分析数据源。人体以两髋中心(0号节点)为分界点,可以明显分为上下两部分,因此选取聚类中心的个数K=2。传统的K-means算法对初始聚类中心采取随机选择的方式,这可能会导致算法收敛次数较大,甚至无法得到全局最优解。本系统对传统K-means算法中初始聚类中心的选择方法进行优化,其算法流程如下。
(1)计算25个骨骼节点任意两点之间的欧式距离,选择距离最大的两个骨骼点作为初始聚类中心。
(2)由公式(2)计算样本所属的类,ci表示骨骼点i与k个类中距离最近的那个类,w(i)表示样本数据;对于每个类j由公式(3)计算该类中心点μj。
c(i):=arg minj||w(i)-μj||2 (2)
(3)重复公式(1)和公式(2)直至得到收敛的聚类中心点O1(xu,yu,zu)和O2(xd,yd,zd),此时所有骨骼点到它所属类中心欧氏距离的平方和SSE不变。
LabVIEW提供了专门用于和MATLAB通讯的MATLAB script节点,通过该节点可以很方便的在LabVIEW运行程序中调用MATLAB算法。本系统在该节点中编写的改进型K-means算法程序如图4所示。在节点左侧边框点击右键,选择“Add Input”为算法创建输入变量“x”,x表示25个骨骼节点的三维坐标,其数据类型为25*3的二维数组。在节点右侧边框点击右键,选择“Add Output”为算法创建输出变量“center”,center表示2个聚类中心,其数据类型为1*2的一维数组。
选取人体跌倒行为下的骨骼点数据作为分析样本,分别使用传统K-Means算法和改进型K-Means算法进行分析,迭代次数与SSE之间的关系如图5所示。可以看出通过传统K-Means算法在迭代9次后达到收敛,而改进型K-Means算法只需迭代5次即可达到收敛,因此改进型K-Means算法可极大提高运算速度,保证跌倒检测的实时性要求。
3.跌倒特征数据提取
跌倒时,人体骨骼节点尤其是上身骨骼节点距离地面的高度较小,因此选择上身骨骼节点聚类中心离地面的高度作为跌倒检测的阈值条件之一。KinectV2系统坐标系中建立的地面方程如公式(4)所示,其中A,B,C、D为系统常数。将O1(xu,yu,zu)坐标带入公式(5)即可得到上半身聚类中心O1(xu,yu,zu)距离地面的高度d。
Ax+By+Cz+D=0 (4)
跌倒时,上身骨骼节点聚类中心O1(xu,yu,zu)会在极短的时间内由正常位置到贴近地面,造成速度急剧增加,因此选择O1(xu,yu,zu)的速度作为跌倒检测的阈值条件之一。由公式(6)可得到相邻两帧时O1(xu,yu,zu)的移动距离dr。式中x(i)、y(i)、z(i)为当前帧时O1(xu,yu,zu)的三维坐标,x(i-1)、y(i-1)、z(i-1)为上一帧时O1(xu,yu,zu)的三维坐标。由公式(7)得到O1(xu,yu,zu)的速度vu(i),式中Δt为相邻两帧的时间戳差。
vu(i)=dr(i)/Δt (7)
研究表明,由骨骼节点位移变化量换算得到的加速度特征参数对基于机器学习的跌倒检测算法具有较好的行为识别性。由公式(8)得到聚类中心在X轴方向的速度值,由公式(9)计算得到聚类中心在X轴方向的加速度aX(i)。同理,分别得到聚类中心在Y轴方向和Z轴方向的加速度aY(i)、aZ(i)。
人体跌倒时,由于失去平衡,身体会在较短的时间内从倾斜状态变成倒地状态,两聚类中心点连线和垂直方向的夹角θ(i)会急剧变化,公式(10)计算得到当前帧两聚类中心的欧式距离,公式(11)为两聚类中心当前帧的垂直距离,由公式(12)可计算得到θ(i)。
dv(i)=y1(i)-y2(i) (11)
4.卷积神经网络算法设计
对聚类中心的高度和速度进行阈值分析,虽然具有一定的跌倒行为识别性,但识别精度并不高。比如,跌倒、蹲下、坐下等行为的高度和速度特征相似,阈值分析不适合上述行为分类。为了提高识别精度,本系统采用卷积神经网络算法,对跌倒行为进行模式分类。卷积神经网络是为图像处理而设计的算法,其输入的样本数据为“图片”格式(n*m矩阵数据),因此为满足卷积神经网络框架要求,将连续7帧的aX1(i)、aX2(i)、aY1(i)、aY2(i)、aZ1(i)、aZ2(i)和θ(i)的特征数据构成7*7的样本Si,如式(13)所示。
本系统设计的跌倒检测模型如图6所示,将7*7训练样本输入卷积神经网络,卷积层1采用12个大小为3*3的卷积核对跌倒特质进行粗略提取,然后进入大小为2*2步长为1的池化层用来降低特征维度,提高运算速度。接着再进入第二个卷积层,其大小为3*3个数为24,用于对特征进行精确提取,之后再经过一个大小为2*2步长为1的池化层。经过全连接层和判断层运算,最后由输出层输出分类结果。
采用deepLearnToolbox-master深度学习MATLAB包完成卷积神经网络程序编制,其程序结构如图7所示。test_example_CNN函数用于设置CNN的卷积层、池化层的数量,卷积核大小等基本参数,cnnsetup函数用于初始化卷积核、偏置等。cnntrain函数用于训练网络。cnnff函数完成训练的前向过程。cnnbp函数计算并传递网络的error,并更新权重。cnnapplygrads函数把计算出来的梯度加到原始模型上。cnntest函数用于测试当前模型的准确率。LabVIEW通过MATLAB script节点调用CNN跌倒检测模型。
选择A、B、C三个形体差异较大的实验对象,连续采集骨骼节点数据,构建5000个训练样本,样本中包含行走、慢跑、弯腰、蹲下等日常活动和跌倒事件。将训练样本输入设计的卷积神经网络模型进行学习,学习结果如图8所示,模型在步长为80时,各隐含层参数基本收敛,训练准确率达到100%。
5.跌倒检测控制流程
为保证系统的实时性和识别准确性,采用阈值分析和机器学习相结合的方法来设计跌倒检测系统,控制流程如图9。将采集到的骨骼点数据进行平滑处理,通过改进型K-Means算法计算两聚类中心点坐标。计算上身聚类中心点O1(xu,yu,zu)的速度值vu,实验表明,人体在跌倒的整个过程中vu>1m/s,为减小漏报率选取vu>0.9m/s作为阈值判断条件。计算O1(xu,yu,zu)离地面的垂直距离d,实验表明,跌倒发生后d<0.4m,为减小漏报率选取d<0.5m作为阈值判断的条件。如果两个阈值条件均成立,则将聚类中心加速度和聚类中心与垂直方向夹角所重构的测试样本输入已训练好的CNN模型进行精确识别,如果输出结果为真,则系统进行远程报警。
当跌倒发生后,为及时通知到患者亲属,选用西门子TC35i模块并采用串口通讯方式实现和远程手机端的信息传输。该芯片是一种支持Text和PDU格式SMS(短消息)的GSM模块。LabVIEW与手机端通讯程序如图10所示。“VISA Configure Serial Port”模块用于初始化包括端口号、奇偶校验、波特率、数据位数在内的串口通讯参数。“VISA写入”模块依次向GSM端写入短信模式指令“AT+CMGF=1”(英文模式)和AT+CMGS="发送电话"短信发送请求指令。“VISA读取”模块用于读取指定串口的数据,读取的字节数由“属性节点”指定。当模块接收到短信允许发送标记“>”时,由“VISA写入”模块向GSM端写入短信发送内容。
LabVIEWWeb服务器在LabVIEW开发环境中,自身带了一个已连接好的Web服务器。该服务器除了与其他Web服务器一样能发布文档外,它还可以发布正在运行的VIs前面板图。因此远程监控端(医护平台)可以通过该方式实时监控用户跌倒状况,在跌倒发生时,第一时间提供医疗救助。
进入主菜单中"工具->选项",勾选“启用远程前面板服务器”,即可启用Web服务器。由"工具->Web发布工具"进入Web发布工具对话框,如图11所示。选择待发布的程序、浏览方式、HTML输出选型,即可完成HTML文件发布。
远程计算机如果没有安装LabVIEW,要安装LabVIEW运行引擎LVRun TimeEng.msi,才能对发布的Web页进行浏览和控制。在浏览器中输入正确的URL,即可在局域网内访问发布的HTML文件。如果远程计算机不在同一个局域网,在发布Web时,可以借助IP映射软件,将局域网的IP和端口映射为对应的外网IP和端口,即可通过外网访问。LabVIEW运行界面如图12所示。
下面对本系统进行实验测试,选择D和E两个不同型体的实验对象,分别模仿向前跌倒、向后跌倒、左侧跌倒、右侧跌倒、坐下、蹲下、弯腰各30次,共得到420个检测样本,其实验结果如图13所示。可以发现,本跌倒检测系统的识别正确率接近99%,平均漏报率仅为1.25%,平均误报率仅为1.65%,且与远程手机端和PC端的数据通讯稳定可靠。而基于分布式环境参数采集的检测方法的识别正确率一般在90%左右,基于穿戴式智能传感器的检测方法的识别正确率一般在95%左右,但其误报率高达10%以上。基于RGB视觉传感器的跌倒检测方法的识别正确率在90%左右,但受光线影响较大,晚上时识别效果较差。
以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。
Claims (6)
1.一种基于LabVIEW和MATLAB的跌倒远程监控系统,包括硬件部分和软件部分,其特征在于:
硬件部分由Kinect V2、计算机、GSM模块和路由器组成,Kinect V2用于人体骨骼节点的数据采集,计算机用于数据处理、存储和运算,通过GSM模块系统与远程手机端实现短信收发功能,通过路由器实现通过网页远程访问系统的状态和数据;
软件部分通过LabVIEW和MATLAB混合编程的方式实现系统控制、检测和远程报警功能;以LabVIEW软件为开发平台,采集Kinect V2提取的人体25个骨骼点数据,并完成跌倒检测流程控制和远程监控的开发;以MATLAB软件为辅,编制K-means聚类算法和卷积神经网络CNN程序,完成跌倒行为检测;通过LabVIEW中提供的MATLAB script节点,实现两软件之间的数据传输;
跌倒行为检测包括:
步骤a,骨骼节点数据采集及数据平滑处理;
步骤b,骨骼节点数据进行聚类中心算法处理;
步骤b中,采用K-means算法对25个骨骼点进行聚类分析,以聚类中心点作为识别分析数据源;人体以两髋中心为分界点,分为上下两部分,因此选取聚类中心的个数K=2,设计优化的K-means算法中初始聚类中心的选择方法,其流程如下:
步骤b-1,计算25个骨骼节点任意两点之间的欧式距离,选择距离最大的两个骨骼点作为初始聚类中心;
步骤b-2,由公式(2)计算样本所属的类,ci表示骨骼点i与k个类中距离最近的那个类;对于每个类j由公式(3)计算该类中心点μj;
c(i):=arg minj||w(i)-μj||2 (2)
式中w(i)表示样本数据;
步骤b-3,重复公式(2)和公式(3)直至得到收敛的聚类中心点O1(xu,yu,zu)和O2(xd,yd,zd),此时所有骨骼点到它所属类中心欧氏距离的平方和SSE不变;
步骤c,跌倒特征数据提取,其中包括聚类中心高度计算、聚类中心速度计算、聚类中心加速度计算、聚类中心与垂直方向夹角计算;
步骤c的跌倒特征数据提取中,聚类中心高度计算为:
KinectV2系统坐标系中建立的地面方程如公式(4)所示,其中A,B,C、D为系统常数;将O1(xu,yu,zu)坐标带入公式(5)得到上半身聚类中心O1(xu,yu,zu)距离地面的高度d;
Ax+By+Cz+D=0 (4)
聚类中心速度计算为:
由公式(6)得到相邻两帧时O1(xu,yu,zu)的移动距离dr;式中x(i)、y(i)、z(i)为当前帧时O1(xu,yu,zu)的三维坐标,x(i-1)、y(i-1)、z(i-1)为上一帧时O1(xu,yu,zu)的三维坐标;由公式(7)得到O1(xu,yu,zu)的速度vu(i),式中Δt为相邻两帧的时间戳差;
vu(i)=dr(i)/Δt (7)
聚类中心加速度计算为:
由公式(8)得到聚类中心在X轴方向的速度值,由公式(9)计算得到聚类中心在X轴方向的加速度aX(i);同理,分别得到聚类中心在Y轴方向和Z轴方向的加速度aY(i)、aZ(i);
聚类中心与垂直方向夹角计算为:
公式(10)计算得到当前帧两聚类中心的欧式距离,公式(11)为两聚类中心当前帧的垂直距离,由公式(12)计算得到θ(i);
dv(i)=y1(i)-y2(i) (11)
步骤d,通过卷积神经网络算法对跌倒行为进行模式分类;
步骤d中,输入卷积神经网络的样本数据为图片格式,即n*m矩阵数据,将连续7帧的aX1(i)、aX2(i)、aY1(i)、aY2(i)、aZ1(i)、aZ2(i)和θ(i)的特征数据构成7*7的样本Si,如式(13)所示:
设计基于卷积神经网络的跌倒检测模型,将7*7训练样本输入卷积神经网络,卷积层1采用12个大小为3*3的卷积核对跌倒特质进行粗略提取,然后进入大小为2*2步长为1的池化层用来降低特征维度,提高运算速度;接着再进入第二个卷积层,其大小为3*3个数为24,用于对特征进行精确提取,之后再经过一个大小为2*2步长为1的池化层;经过全连接层和判断层运算,最后由输出层输出分类结果;
步骤e,采用阈值分析和机器学习相结合的方法来设计跌倒检测系统,聚类中心点的速度和高度作为阈值判断条件,如果两个阈值条件均成立,则将聚类中心加速度和聚类中心与垂直方向夹角所重构的测试样本输入已训练好的CNN模型进行精确识别,如果输出结果为真,则系统进行远程报警。
2.根据权利要求1所述的一种基于LabVIEW和MATLAB的跌倒远程监控系统,其特征在于:步骤a中,使用Kinect SDK和Kinect dirver配合LabVIEW平台进行Kinect V2控制,首先安装KinectSDK和Kinect Developer Toolkit,然后安装labVIEW的VIPM,通过kinect工具包控制Kinect V2进行25个骨骼点数据的采集,按照公式(1)对骨骼点的三维坐标数据进行均值平滑,式中,N为连续平滑帧数;
3.根据权利要求1所述的一种基于LabVIEW和MATLAB的跌倒远程监控系统,其特征在于:步骤e中,以聚类中心点O1(xu,yu,zu)的速度vu和O1(xu,yu,zu)离地面的垂直距离即高度d作为判断条件,具体的选取vu>0.9m/s和d<0.5m作为阈值判断的条件。
4.根据权利要求1所述的一种基于LabVIEW和MATLAB的跌倒远程监控系统,其特征在于:与手机端通讯的实现方式具体为:选用TC35i模块的GSM模块并采用串口通讯方式实现和远程手机端的信息传输,支持Text和PDU格式SMS,结合LabVIEW中的VISA ConfigureSerial Port模块、VISA写入模块和VISA读取模块,VISA Configure Serial Port模块用于初始化包括端口号、奇偶校验、波特率、数据位数在内的串口通讯参数,VISA写入模块依次向GSM端写入短信模式指令和短信发送请求指令,VISA读取模块用于读取指定串口的数据;当接收到短信允许发送标记时,由VISA写入模块向GSM端写入短信发送内容。
5.根据权利要求1所述的一种基于LabVIEW和MATLAB的跌倒远程监控系统,其特征在于:远程PC端通过LabVIEWWeb服务器实现与远程PC端的通讯。
6.根据权利要求1所述的一种基于LabVIEW和MATLAB的跌倒远程监控系统,其特征在于:远程PC端安装LabVIEW或LabVIEW运行引擎LVRun TimeEng.msi,对LabVIEWWeb服务器发布的Web页进行浏览和控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011265091.3A CN112633059B (zh) | 2020-11-12 | 2020-11-12 | 一种基于LabVIEW和MATLAB的跌倒远程监控系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011265091.3A CN112633059B (zh) | 2020-11-12 | 2020-11-12 | 一种基于LabVIEW和MATLAB的跌倒远程监控系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112633059A CN112633059A (zh) | 2021-04-09 |
CN112633059B true CN112633059B (zh) | 2023-10-20 |
Family
ID=75303290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011265091.3A Active CN112633059B (zh) | 2020-11-12 | 2020-11-12 | 一种基于LabVIEW和MATLAB的跌倒远程监控系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112633059B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113378682B (zh) * | 2021-06-03 | 2023-04-07 | 山东省科学院自动化研究所 | 基于改进型聚类算法的毫米波雷达跌倒检测方法及系统 |
CN114601452A (zh) * | 2022-02-21 | 2022-06-10 | 青岛大学 | 一种人体跌倒检测方法、系统、介质、设备及终端 |
CN116523938A (zh) * | 2023-05-16 | 2023-08-01 | 北京长木谷医疗科技股份有限公司 | 骨骼分割后的数据处理方法、装置、设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106846729A (zh) * | 2017-01-12 | 2017-06-13 | 山东大学 | 一种基于卷积神经网络的跌倒检测方法和系统 |
CN107506706A (zh) * | 2017-08-14 | 2017-12-22 | 南京邮电大学 | 一种基于三维摄像头的人体跌倒检测方法 |
CN109726672A (zh) * | 2018-12-27 | 2019-05-07 | 哈尔滨工业大学 | 一种基于人体骨架序列和卷积神经网络的摔倒检测方法 |
CN110706255A (zh) * | 2019-09-25 | 2020-01-17 | 马可 | 一种基于自适应跟随的跌倒检测方法 |
CN111652192A (zh) * | 2020-07-07 | 2020-09-11 | 泰州职业技术学院 | 一种基于kinect传感器的跌倒检测系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11179064B2 (en) * | 2018-12-30 | 2021-11-23 | Altum View Systems Inc. | Method and system for privacy-preserving fall detection |
-
2020
- 2020-11-12 CN CN202011265091.3A patent/CN112633059B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106846729A (zh) * | 2017-01-12 | 2017-06-13 | 山东大学 | 一种基于卷积神经网络的跌倒检测方法和系统 |
CN107506706A (zh) * | 2017-08-14 | 2017-12-22 | 南京邮电大学 | 一种基于三维摄像头的人体跌倒检测方法 |
CN109726672A (zh) * | 2018-12-27 | 2019-05-07 | 哈尔滨工业大学 | 一种基于人体骨架序列和卷积神经网络的摔倒检测方法 |
CN110706255A (zh) * | 2019-09-25 | 2020-01-17 | 马可 | 一种基于自适应跟随的跌倒检测方法 |
CN111652192A (zh) * | 2020-07-07 | 2020-09-11 | 泰州职业技术学院 | 一种基于kinect传感器的跌倒检测系统 |
Non-Patent Citations (1)
Title |
---|
防老年人摔伤智能可穿戴装置研究;潘峰;《中国优秀硕士学位论文全文数据库工程科技II辑》(第01期);论文第7-39页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112633059A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112633059B (zh) | 一种基于LabVIEW和MATLAB的跌倒远程监控系统 | |
US11430189B2 (en) | Cloud assisted generation of local map data using novel viewpoints | |
CN103988150B (zh) | 用于初始化基于视觉的手跟踪器的快速指尖检测 | |
Zhang et al. | A novel hierarchical information fusion method for three-dimensional upper limb motion estimation | |
CN100407798C (zh) | 三维几何建模系统和方法 | |
CN109084746A (zh) | 用于具有辅助传感器的自主平台引导系统的单目模式 | |
CN105068657B (zh) | 手势的识别方法及装置 | |
Surer et al. | Methods and technologies for gait analysis | |
CN113221726A (zh) | 一种基于视觉与惯性信息融合的手部姿态估计方法及系统 | |
Fang et al. | Dynamic gesture recognition using inertial sensors-based data gloves | |
CN113111767A (zh) | 一种基于深度学习3d姿态评估的跌倒检测方法 | |
Linqin et al. | Dynamic hand gesture recognition using RGB-D data for natural human-computer interaction | |
CN115512005A (zh) | 一种数据处理方法及其装置 | |
CN111797851A (zh) | 特征提取方法、装置、存储介质及电子设备 | |
CN115515487A (zh) | 基于使用多视图图像的3d人体姿势估计的基于视觉的康复训练系统 | |
Kim et al. | 3D human-gesture interface for fighting games using motion recognition sensor | |
CN112818733B (zh) | 信息处理方法、装置、存储介质及终端 | |
Li et al. | Human motion representation and motion pattern recognition based on complex fuzzy theory | |
CN116051699B (zh) | 动捕数据的处理方法、装置、设备及存储介质 | |
CN111797856B (zh) | 建模方法、装置、存储介质及电子设备 | |
CN111796710A (zh) | 一种在触摸屏上再现图像轮廓特征的方法 | |
Parashar et al. | A robust covariate‐invariant gait recognition based on pose features | |
CN110236560A (zh) | 智能穿戴设备的六轴姿态检测方法、系统 | |
Ni et al. | Sports dance action recognition system oriented to human motion monitoring and sensing | |
CN117011929A (zh) | 一种头部姿态估计方法、装置、设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |