[发明专利]一种关节活动度智能检测方法及系统有效
申请号: | 202210762975.2 | 申请日: | 2022-07-01 |
公开(公告)号: | CN114795192B | 公开(公告)日: | 2022-09-16 |
发明(设计)人: | 黄峰;尹博;徐硕瑀;罗子芮;谢韶东;骆志强;陈仰新;陶旭泓;熊丹宇;梁桂林;黎志豪;王安涛;谢航;江焕然;吴梦瑶;李宇彤;郝梦真;梁奕 | 申请(专利权)人: | 佛山科学技术学院 |
主分类号: | A61B5/11 | 分类号: | A61B5/11;G06T7/20 |
代理公司: | 广州专理知识产权代理事务所(普通合伙) 44493 | 代理人: | 邓易偲 |
地址: | 528200 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 关节 活动 智能 检测 方法 系统 | ||
1.一种关节活动度智能检测方法,其特征在于,所述方法包括以下步骤:
S100,在连续的多个不同时刻,使用若干摄像机,对用户进行全方位拍摄,得到图像序列;
S200,对图像序列中的每个图像,使用关键点检测算法,分别在各图像中标出关键点;
S300,根据图像序列,计算得到关节活动时域值;
S400,根据关节活动时域值,判断关节活动时域值是否在正常范围内;如果否,则推送报警信息到移动设备或者数据库;
其中,在S200中,对图像序列中的每个图像,使用关键点检测算法,分别在各图像中标出关键点的方法为:使用关键点检测算法,分别在图像序列中的各图像中标出关键点,将图像矩阵中关键点的位置的像素值设置为1其余的位置则为0,以此将图像序列中的每个图像的像素值转化为0或1的取值;
在S300中,根据图像序列,计算得到关节活动时域值的方法为:
记所述连续的多个不同时刻中各个时刻的序号为t,记所述连续的多个不同时刻中时刻的数量为T,t∈[1,T];
记图像序列为序列Rouseq,Rouseq中序号为t的元素为Rouseq(t),Rouseq(t)中的主视图为fv(t),Rouseq(t)中的侧视图为sv(t),Rouseq(t)中的俯视图为tv(t),Rouseq(t)=[fv(t), sv(t), tv(t)];
记fv(t)中行序号为i列序号为j的元素为fv(t)[i,j],sv(t)中行序号为i列序号为j的元素为sv(t)[i,j],tv(t)中行序号为i列序号为j的元素为tv(t)[i,j];
定义函数Cap(),函数Cap()的输入为图像矩阵,其中函数Cap()的运算过程为:获取输入的图像矩阵中像素值为1的点的集合作为集合oneset,获取集合oneset中元素的数量为size,记集合oneset中元素的序号为q,q∈[1,size],集合oneset中序号为q的元素在图像矩阵中的行序号i1的数值与列序号j1 的数值所组成的二元数组记为数组q[i1,j1],其中,i1表示行序号,j1表示列序号,以q[i1]表示oneset中序号为q的元素在图像矩阵中的行序号,以q[j1]表示oneset中序号为q的元素在图像矩阵中的列序号,记函数Cap()的输出为result,result的计算公式为:
将得到的result输出;
对序列Rouseq中各元素Rouseq(t)包含的fv(t), sv(t)和tv(t)分别输入函数Cap(),fv(t)输入函数Cap()得到Cap(fv(t)),sv(t)输入函数Cap()得到Cap(sv(t)),tv(t)输入函数Cap()得到Cap(tv(t));
定义Rouseq(t)的关节活动时域值为Spec(t),Spec(t)=[Cap(fv(t)), Cap(sv(t)),Cap(tv(t))],进而,记Spec(t)中的第1个元素为Spec(t)1,Spec(t)中的第2个元素为Spec(t)2,Spec(t)中的第3个元素为Spec(t)3;
关节活动时域值序列为各元素Rouseq(t)分别对应的关节活动时域值Spec(t)组成的序列,记作Spec,Spec中元素的序号与Rouseq中元素的序号保持一致;
在S400中,根据关节活动时域值,判断关节活动时域值是否在正常范围内的方法为:
设置集合Errset,Errset为用来收集具有异常的关节活动时域值的样本的集合,Errset为非互异性集合,令Errset的初始值为空集合;
设置变量state,state为用来计算用户的活动是否在正常范围内的变量,令state的初始值为0;
判断用户的活动是否在正常范围内的步骤具体为:
S601,在序列Spec内,按序号t从1到T的顺序,令t 的初始值为1;
S602,判断t的数值是否小于等于1,若是转到S606,若否则获取Spec中序号为t的元素Spec(t)并转到S603;
S603,获取序号t的前一个序号即t-1,获取Spec中序号为t-1的元素Spec(t-1);从Spec(t)中获取Spec(t)1、Spec(t)2和Spec(t)3;从Spec(t-1)中获取其中的第1个元素Spec(t-1)1、第2个元素Spec(t-1)2和第3个元素Spec(t-1)3;转到S604;
S604,对state进行赋值,其中,进行赋值的方法为:计算Spec(t)1减去Spec(t-1)1的差值作为gr1,计算Spec(t)2减去Spec(t-1)2的差值作为gr2,计算Spec(t)3减去Spec(t-1)3的差值作为gr3,计算Spec(t)1、Spec(t)2和Spec(t)3的算术平均值为avg(t),计算Spec(t-1)1、Spec(t-1)2和Spec(t-1)3的算术平均值为avg(t-1),以state1表示用来对state进行赋值的变量,state1当前的数值的计算公式为:
将state1的数值赋值予state;转到S605;
S605,根据state的数值计算cos(π*state),判断cos(π*state) 的数值是否小于等于0,若是则将当前的Spec(t)加入Errset,转到S606;
S606,判断当前t的数值是否大于等于T的数值,若是则转到S607,若否则将当t的数值增加1再转到S602;
S607,获取当前集合Errset中元素的数量为en,计算en/T;判断en/T是否小于等于1/(en+1),若是则为关节活动时域值在正常范围内,若否则为关节活动时域值不在正常范围内,将关节活动时域值是否在正常范围内的判断结果保存并输出,再推送报警信息到移动设备或者数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于佛山科学技术学院,未经佛山科学技术学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210762975.2/1.html,转载请声明来源钻瓜专利网。