【技术领域】
本发明涉及人工智能技术领域,尤其涉及一种肢体震颤检测方法及装置。
【背景技术】
目前,随着人口老龄化逐渐上升,一些患有甲亢、帕金森或其他一些特殊疾病的人会出现手部、头部、腿部等肢体震颤的症状,对病人的日常生活、工作、社会交往等带来诸多不便。现有的肢体震颤检测方法,一般需要通过专业的医疗检测设备进行检测,或者通过一些辅助检测设备进行检测,检测结果准确度低。
因此,如何提高肢体震颤检测准确度成为目前亟待解决的问题。
【发明内容】
有鉴于此,本发明实施例提供了一种肢体震颤检测方法及装置,用以解决现有技术中肢体震颤检测准确度低的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种肢体震颤检测方法,所述方法包括:
构建并训练识别模型,所述识别模型用于识别肢体信号是否具有震颤特征;获取移动终端内的传感器采集的第一用户的待识别肢体信号;向训练好的识别模型中输入所述待识别肢体信号;获取所述识别模型根据训练好的网络参数识别所述待识别肢体信号并输出识别结果,并发送所述识别结果至所述移动终端。
进一步地,所述构建并训练识别模型,包括:获取多个健康人体的第一肢体信号及多个肢体震颤症状患者的第二肢体信号;按照预设格式对所述多个第一肢体信号及所述多个第二肢体信号分别进行样本制作,获得包括多个训练样本的训练集;构建所述识别模型;将所述训练集输入所述识别模型的卷积神经网络,得到所述卷积神经网络的前向输出;利用反向传播神经网络算法更新所述卷积神经网络的权值和偏置,得到训练好的所述识别模型,并保存训练好的所述识别模型的网络参数。
进一步地,所述利用反向传播神经网络算法更新所述卷积神经网络的权值和偏置,得到训练好的所述识别模型的方法,包括:
根据所述前向输出和所述训练样本的真实结果构建损失函数,所述损失函数的表达式为其中,Eloss表示所述损失函数,n表示所述训练样本总数,xi表示第i个训练样本的前向输出,yi表示与xi相对应的第i个训练样本的真实结果;采用基于批量梯度下降的反向传播算法更新卷积神经网络的权值和偏置,对所述损失函数进行优化使其最小化,得到训练好的所述识别模型。
进一步地,所述获取移动终端内的传感器采集的第一用户的待识别肢体信号之后,并在向所述训练好的识别模型中输入所述待识别肢体信号之前,所述方法还包括:
将所述待识别肢体信号进行预处理,所述预处理包括采用Kalman滤波算法滤除低频的人体运动信号。
进一步地,所述传感器包括多轴向加速度传感器、多轴向陀螺仪、多轴向倾角仪中的至少一种;所述移动终端是手机、iPad、智能手表或者可穿戴智能设备中任意一种。
进一步地,所述获取移动终端内的传感器采集的第一用户的待识别肢体信号之前,所述方法还包括:
设置所述传感器的预设采样频率,以使所述传感器按照所述预设采样频率进行采样,得到预设采样时长的实际采样数据;根据所述实际采样数据计算所述传感器的实际采样频率;判断所述实际采样频率与所述预设采样频率之间的频率误差值是否超出预设误差范围;当所述频率误差值在所述预设误差范围内时,逐级提高所述预设采样频率,直至测得的所述实际采样频率与所述预设采样频率之间的频率误差值超出所述预设误差范围,将当前的预设采样频率作为所述传感器的最大采样频率;以所述最大采样频率采集所述第一用户的待识别肢体信号。
为了实现上述目的,根据本发明的一个方面,提供了一种肢体震颤检测装置,所述装置包括:构建单元,用于构建并训练识别模型,所述识别模型用于识别肢体信号是否具有震颤特征;获取单元,用于获取移动终端内的传感器采集的第一用户的待识别肢体信号;输入单元,用于向训练好的识别模型中输入所述待识别肢体信号;发送单元,用于获取所述识别模型根据训练好的网络参数识别所述待识别肢体信号并输出识别结果,并发送所述识别结果至所述移动终端。
进一步地,所述构建单元包括:获取子单元,用于获取多个健康人体的第一肢体信号及多个肢体震颤症状患者的第二肢体信号;制作子单元,用于按照预设格式对所述多个第一肢体信号及所述多个第二肢体信号分别进行样本制作,获得包括多个训练样本的训练集;构建子单元,用于构建所述识别模型;训练子单元,用于将所述训练集输入所述识别模型的卷积神经网络,得到所述卷积神经网络的前向输出;更新子单元,用于利用反向传播神经网络算法更新所述卷积神经网络的权值和偏置,得到训练好的所述识别模型,并保存训练好的所述识别模型的网络参数。
为了实现上述目的,根据本发明的一个方面,提供了一种计算机非易失性存储介质,所述存储介质包括存储的程序,在所述程序运行时控制所述存储介质所在设备执行上述的肢体震颤检测方法。
为了实现上述目的,根据本发明的一个方面,提供了一种服务器,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,所述程序指令被处理器加载并执行时实现上述的肢体震颤检测方法的步骤。
在本方案中,通过获取用户移动终端内的传感器采集的待识别肢体信号,并由深度学习的识别模型识别待识别肢体信号,以判断识别肢体信号是否具有震颤特征,以提醒用户是否患有肢体震颤症。通过深度学习的识别模型识别待识别肢体信号,整个过程简单快速,提高了肢体震颤检测准确度。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是根据本发明实施例的一种肢体震颤检测方法的流程图;
图2是根据本发明实施例的一种肢体震颤检测装置的示意图;
图3是根据本发明实施例的一种服务器的示意图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述终端,但这些终端不应限于这些术语。这些术语仅用来将终端彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一终端也可以被称为第二终端,类似地,第二终端也可以被称为第一终端。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
图1是根据本发明实施例的一种肢体震颤检测方法的流程图,如图1所示,该方法包括:
步骤S101,构建并训练识别模型,识别模型用于识别肢体信号是否具有震颤特征。
步骤S102,获取移动终端内的传感器采集的第一用户的待识别肢体信号。
其中,移动终端包括手机、ipad、智能手表或者可穿戴智能设备中的任意一种。传感器包括多轴向加速度传感器、多轴向陀螺仪、多轴向倾角仪中的至少一种。可以理解地,通过人体随身携带的移动终端采集的肢体震颤信号才检测是否患有肢体震颤症状,可以随时随地检测,帮助用户实时了解自身的身体状态。
步骤S103,向训练好的识别模型中输入待识别肢体信号。
步骤S104,获取识别模型根据训练好的网络参数识别待识别肢体信号并输出识别结果,并发送识别结果至移动终端。以使用户能够快速准确地知道自己是否患有震颤症。
在本方案中,通过获取用户移动终端内的传感器采集的待识别肢体信号,并由深度学习的识别模型识别待识别肢体信号,以判断识别肢体信号是否具有震颤特征,以提醒用户是否患有肢体震颤症。通过深度学习的识别模型识别待识别肢体信号,整个过程简单快速,提高了肢体震颤检测准确度。
可选地,构建并训练识别模型,包括:
获取多个健康人体的第一肢体信号及多个肢体震颤症状患者的第二肢体信号。本实施例中,第一肢体信号为被确诊为健康的人体的正常信号,第二肢体信号为被确诊为患有肢体震颤症状的人体的震颤信号。将两种不同的肢体信号作为训练识别模型的基本数据,使识别模型深度学习。
肢体信号包括震频、振幅、频谱等参数,震颤根据其频率的不同可以分为慢震颤(3~5Hz)和快震颤(6~12Hz),振幅表示震颤的幅度,频谱是频率的分布曲线。肢体信号数能够用于表征人体是否具有肢体震颤特征。
按照预设格式对多个第一肢体信号及多个第二肢体信号分别进行样本制作,获得包括多个训练样本的训练集。具体地,通过不同的标签对肢体信号(正常及病态)进行分类标注。
构建识别模型,识别模型包括卷积神经网络;
将训练集输入识别模型的卷积神经网络,得到卷积神经网络的前向输出;
利用反向传播神经网络算法更新卷积神经网络的权值和偏置,得到训练好的识别模型,并保存训练好的识别模型的网络参数。
具体地,根据前向输出和训练样本的真实结果(标签)构建损失函数,损失函数的表达式为其中,Eloss表示损失函数,n表示训练样本总数,xi表示第i个训练样本的前向输出,yi表示与xi相对应的第i个训练样本的真实结果;
采用基于批量梯度下降的反向传播算法更新卷积神经网络的权值和偏置,对损失函数进行优化使其最小化,得到训练好的识别模型。
可选地,构建识别模型,识别模型包括卷积神经网络及长短时记忆神经网络;
将训练集输入识别模型的卷积神经网络及长短时记忆神经网络,得到识别模型的输出结果;
利用识别模型的输出结果和肢体信号的标签构建损失函数,并迭代损失函数至最小化,得到训练好的识别模型及其网络参数。
具体地,损失函数采用二分类交叉熵损失(binary cross entropyloss)函数,具体地,训练集中两种类别的概率分布为p和q,其中p为真实分布,q非真实分布。采用交叉熵损失函数度量两个概率分布之间的相似性。对于一个随机变量X而言,它的所有可能取值的信息量的期望(E[I(x)]=log(1/p))就称为熵。
二分类交叉熵为:其中,p(x)是真实分布,q(x)是通过数据计算的估计概率。需要说明的是,交叉熵的值越大,这种差异程度也就越大。
使用Adam梯度下降法来迭代二分类交叉熵损失函数至最小化,得到训练好的识别模型;获取训练好的识别模型中的卷积神经网络与长短时记忆神经网络的网络参数。
可选地,获取待识别肢体信号之后,并在向训练好的识别模型中输入待识别肢体信号之前,方法还包括:
将待识别肢体信号进行预处理,预处理包括采用Kalman滤波算法滤除低频的人体运动信号。
可选地,向训练好的识别模型中输入通过移动装置内置传感器采集的待识别肢体震颤信号之前,方法还包括:
设置传感器的预设采样频率,以使传感器按照预设采样频率进行采样,得到预设采样时长的实际采样数据;根据实际采样数据计算传感器的实际采样频率;判断实际采样频率与预设采样频率之间的频率误差值是否超出预设误差范围;
当频率误差值在预设误差范围内时,逐级提高预设采样频率,直至测得的实际采样频率与预设采样频率之间的频率误差值超出预设误差范围,将当前的预设采样频率作为传感器的最大采样频率;以最大采样频率采集第一用户的待识别肢体信号。可以理解地,通过传感器的最大采样频率来采集待识别肢体震颤信号,能够有效提高识别效率。
本发明实施例提供了一种肢体震颤检测装置,该肢体震颤检测装置用于执行上述肢体震颤检测方法,如图2所示,该装置包括:构建单元10、获取单元20、输入单元30、发送单元40。
构建单元10,用于构建并训练识别模型,识别模型用于识别肢体信号是否具有震颤特征。
获取单元20,用于获取移动终端内的传感器采集的第一用户的待识别肢体信号;
其中,移动终端包括手机、ipad、智能手表或者可穿戴智能设备中的任意一种。传感器包括多轴向加速度传感器、多轴向陀螺仪、多轴向倾角仪中的至少一种。可以理解地,通过人体随身携带的移动终端采集的肢体震颤信号才检测是否患有肢体震颤症状,可以随时随地检测,帮助用户实时了解自身的身体状态。
输入单元30,用于向训练好的识别模型中输入待识别肢体信号。
发送单元40,用于获取识别模型根据训练好的网络参数识别待识别肢体信号并输出识别结果,并发送识别结果至移动终端。以使用户能够快速准确地知道自己是否患有震颤症。
在本方案中,通过获取用户移动终端内的传感器采集的待识别肢体信号,并由深度学习的识别模型识别待识别肢体信号,以判断识别肢体信号是否具有震颤特征,以提醒用户是否患有肢体震颤症。通过深度学习的识别模型识别待识别肢体信号,整个过程简单快速,提高了肢体震颤检测准确度。
可选地,构建单元10包括获取子单元、制作子单元、第一构建子单元、第一训练子单元、第一更新子单元。
获取子单元,用于获取多个健康人体的第一肢体信号及多个肢体震颤症状患者的第二肢体信号。
本实施例中,第一肢体信号为被确诊为健康的人体的正常信号,第二肢体信号为被确诊为患有肢体震颤症状的人体的震颤信号。将两种不同的肢体信号作为训练识别模型的基本数据,使识别模型深度学习。
肢体信号包括震频、振幅、频谱等参数,震颤根据其频率的不同可以分为慢震颤(3~5Hz)和快震颤(6~12Hz),振幅表示震颤的幅度,频谱是频率的分布曲线。肢体信号数能够用于表征人体是否具有肢体震颤特征。
制作子单元,用于按照预设格式对多个第一肢体信号及多个第二肢体信号分别进行样本制作,获得包括多个训练样本的训练集。具体地,通过不同的标签对肢体信号(正常及病态)进行分类标注。
第一构建子单元,用于构建识别模型,识别模型包括卷积神经网络;
第一训练子单元,用于将训练集输入识别模型的卷积神经网络,得到卷积神经网络的前向输出;
第一更新子单元,用于利用反向传播神经网络算法更新卷积神经网络的权值和偏置,得到训练好的识别模型,并保存训练好的识别模型的网络参数。
具体地,将训练集输入识别模型的卷积神经网络,得到卷积神经网络的前向输出;
利用反向传播神经网络算法更新卷积神经网络的权值和偏置,得到训练好的识别模型,并保存训练好的识别模型的网络参数。
具体地,根据前向输出和训练样本的真实结果(标签)构建损失函数,损失函数的表达式为其中,Eloss表示损失函数,n表示训练样本总数,xi表示第i个训练样本的前向输出,yi表示与xi相对应的第i个训练样本的真实结果;
采用基于批量梯度下降的反向传播算法更新卷积神经网络的权值和偏置,对损失函数进行优化使其最小化,得到训练好的识别模型。
可选地,构建单元10还包括第二构建子单元、第二训练子单元、第二更新子单元;
第二构建子单元,用于构建识别模型,识别模型包括卷积神经网络及长短时记忆神经网络;
第二训练子单元,用于将训练集输入识别模型的卷积神经网络及长短时记忆神经网络,得到识别模型的输出结果;
第二更新子单元,用于利用识别模型的输出结果和肢体信号的标签构建损失函数,并迭代损失函数至最小化,得到训练好的识别模型及其网络参数。
具体地,损失函数采用二分类交叉熵损失(binary cross entropyloss)函数,具体地,训练集中两种类别的概率分布为p和q,其中p为真实分布,q非真实分布。采用交叉熵损失函数度量两个概率分布之间的相似性。对于一个随机变量X而言,它的所有可能取值的信息量的期望(E[I(x)]=log(1/p))就称为熵。
二分类交叉熵为:其中,p(x)是真实分布,q(x)是通过数据计算的估计概率。需要说明的是,交叉熵的值越大,这种差异程度也就越大。
使用Adam梯度下降法来迭代二分类交叉熵损失函数至最小化,得到训练好的识别模型;获取训练好的识别模型中的卷积神经网络与长短时记忆神经网络的网络参数。
可选地,装置还包括处理单元,用于将待识别肢体信号进行预处理,预处理包括采用Kalman滤波算法滤除低频的人体运动信号。
可选地,装置还包括设置单元、计算单元、测试单元、采集单元。
设置单元,用于设置传感器的预设采样频率,以使传感器按照预设采样频率进行采样,得到预设采样时长的实际采样数据;
计算单元,用于根据实际采样数据计算传感器的实际采样频率;判断实际采样频率与预设采样频率之间的频率误差值是否超出预设误差范围;
测试单元,用于当频率误差值在预设误差范围内时,逐级提高预设采样频率,直至测得的实际采样频率与预设采样频率之间的频率误差值超出预设误差范围,将当前的预设采样频率作为传感器的最大采样频率;
采集单元,用于以最大采样频率采集第一用户的待识别肢体震颤信号。可以理解地,通过传感器的最大采样频率来采集待识别肢体震颤信号,能够有效提高识别效率。
本发明实施例提供了一种计算机非易失性存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行以下步骤:
构建并训练识别模型,识别模型用于识别肢体信号是否具有震颤特征;获取移动终端内的传感器采集的第一用户的待识别肢体信号;向训练好的识别模型中输入待识别肢体信号;获取识别模型根据训练好的网络参数识别待识别肢体信号并输出识别结果,并发送识别结果至移动终端。
可选地,在程序运行时控制存储介质所在设备还执行以下步骤:获取多个健康人体的第一肢体信号及多个肢体震颤症状患者的第二肢体信号;按照预设格式对多个第一肢体信号及多个第二肢体信号分别进行样本制作,获得包括多个训练样本的训练集;构建识别模型;将训练集输入识别模型的卷积神经网络,得到卷积神经网络的前向输出;利用反向传播神经网络算法更新卷积神经网络的权值和偏置,得到训练好的识别模型,并保存训练好的识别模型的网络参数。
可选地,在程序运行时控制存储介质所在设备还执行以下步骤:根据前向输出和训练样本的真实结果构建损失函数,损失函数的表达式为其中,Eloss表示损失函数,n表示训练样本总数,xi表示第i个训练样本的前向输出,yi表示与xi相对应的第i个训练样本的真实结果;采用基于批量梯度下降的反向传播算法更新卷积神经网络的权值和偏置,对损失函数进行优化使其最小化,得到训练好的识别模型。
可选地,在程序运行时控制存储介质所在设备还执行以下步骤:将待识别肢体信号进行预处理,预处理包括采用Kalman滤波算法滤除低频的人体运动信号。
可选地,在程序运行时控制存储介质所在设备还执行以下步骤:设置传感器的预设采样频率,以使传感器按照预设采样频率进行采样,得到预设采样时长的实际采样数据;根据实际采样数据计算传感器的实际采样频率;判断实际采样频率与预设采样频率之间的频率误差值是否超出预设误差范围;当频率误差值在预设误差范围内时,逐级提高预设采样频率,直至测得的实际采样频率与预设采样频率之间的频率误差值超出预设误差范围,将当前的预设采样频率作为传感器的最大采样频率;以最大采样频率采集第一用户的待识别肢体信号。
本发明实施例提供了一种服务器100,包括存储器101和处理器102,存储器101用于存储包括程序指令103的信息,处理器102用于控制程序指令103的执行,程序指令被处理器加载并执行时实现以下步骤:
构建并训练识别模型,识别模型用于识别肢体信号是否具有震颤特征;获取移动终端内的传感器采集的第一用户的待识别肢体信号;向训练好的识别模型中输入待识别肢体信号;获取识别模型根据训练好的网络参数识别待识别肢体信号并输出识别结果,并发送识别结果至移动终端。
可选地,程序指令被处理器加载并执行时还实现以下步骤:获取多个健康人体的第一肢体信号及多个肢体震颤症状患者的第二肢体信号;按照预设格式对多个第一肢体信号及多个第二肢体信号分别进行样本制作,获得包括多个训练样本的训练集;构建识别模型;将训练集输入识别模型的卷积神经网络,得到卷积神经网络的前向输出;利用反向传播神经网络算法更新卷积神经网络的权值和偏置,得到训练好的识别模型,并保存训练好的识别模型的网络参数。
可选地,程序指令被处理器加载并执行时还实现以下步骤:根据前向输出和训练样本的真实结果构建损失函数,损失函数的表达式为其中,Eloss表示损失函数,n表示训练样本总数,xi表示第i个训练样本的前向输出,yi表示与xi相对应的第i个训练样本的真实结果;采用基于批量梯度下降的反向传播算法更新卷积神经网络的权值和偏置,对损失函数进行优化使其最小化,得到训练好的识别模型。
可选地,程序指令被处理器加载并执行时还实现以下步骤:将待识别肢体信号进行预处理,预处理包括采用Kalman滤波算法滤除低频的人体运动信号。
可选地,程序指令被处理器加载并执行时还实现以下步骤:设置传感器的预设采样频率,以使传感器按照预设采样频率进行采样,得到预设采样时长的实际采样数据;根据实际采样数据计算传感器的实际采样频率;判断实际采样频率与预设采样频率之间的频率误差值是否超出预设误差范围;当频率误差值在预设误差范围内时,逐级提高预设采样频率,直至测得的实际采样频率与预设采样频率之间的频率误差值超出预设误差范围,将当前的预设采样频率作为传感器的最大采样频率;以最大采样频率采集第一用户的待识别肢体信号。
需要说明的是,本发明实施例中所涉及的终端可以包括但不限于个人计算机(Personal Computer,PC)、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、MP3播放器、MP4播放器等。
可以理解的是,所述应用可以是安装在终端上的应用程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本发明实施例对此不进行限定。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。