本发明涉及一种基于动作识别与虚拟现实的康复训练方法及系统,属于人工智能。
背景技术:
1、在当前的手部康复行业中,手部创伤后的恢复过程往往漫长且枯燥,这使得患者在康复过程中容易感到孤独和压力。传统的康复方法通常依赖于重复的物理治疗练习,这些练习缺乏趣味性,难以激发患者的持续参与度,这不仅可能影响患者的康复进度,还可能增加他们的心理压力,使他们在康复过程中感到孤独和压力;此外,康复行业面临的一个主要痛点是专业康复设备和专家的可访问性有限,尤其是在偏远地区。
技术实现思路
1、本发明所要解决的技术问题是克服现有技术的缺陷,提供一种基于动作识别与虚拟现实的康复训练方法及系统。
2、为解决上述技术问题,本发明是采用下述技术方案实现的。
3、一方面,本发明提供一种基于动作识别与虚拟现实的康复训练方法,包括:
4、基于unity开发平台构建虚拟康复场景;
5、使用leap motion设备捕获用户的手部动作数据,基于动作识别算法对所述手部动作数据进行动作识别,根据动作识别的结果在虚拟康复场景模拟识别的动作;
6、比较所述识别的动作和预设的康复动作,确定动作相似度;
7、根据动作相似度确定康复效果,并基于所述康复效果生成针对所述用户的反馈和建议。
8、进一步的,所述基于unity开发平台构建虚拟康复场景,包括:
9、基于unity开发平台构建多个不同大小、形状、颜色、光照条件以及添加不同3d模型的虚拟康复场景;
10、在unity开发平台的unity编辑器中设置场景切换窗口,将构建的多个虚拟康复场景缩小后设置在场景切换窗口中,所述场景切换窗口中的缩小后的虚拟康复场景通过鼠标滚动进行场景切换,并通过点击鼠标选择切换后的缩小后的虚拟康复场景在unity编辑器中进行主展示。
11、进一步的,所述使用leap motion设备捕获用户的手部动作数据,基于动作识别算法对所述手部动作数据进行动作识别,包括:
12、使用leap motion设备捕获用户的手部动作数据;
13、对捕获的用户的手部动作数据进行滤波和归一化处理,得到稳定数据;
14、利用深度学习模型对所述稳定数据进行特征提取,得到用户手部的姿态、手指的弯曲角度特征、手部在空间中的位置、手部的方向、手部的速度、手部的自遮挡信息;
15、利用机器学习或模式匹配的方法对提前的用户手部的姿态、手指的弯曲角度特征、手部在空间中的位置、手部的方向、手部的速度、手部的自遮挡信进行分类,识别用户的康复动作。
16、进一步的,所述比较所述识别的动作和预设的康复动作,确定动作相似度,包括:
17、将识别的动作和预设的康复动作分别加入到第一动作序列和第二动作序列中;
18、获取第一动作序列和第二动作序列的长度,获取的长度分别存储为变量n和变量m;
19、创建一个用于存储动态时间规整dtw的计算结果的二维数组dtw,所述二维数组dtw的大小为n行m列;
20、将二维数组dtw的除第一个元素的第一列和除第一个元素的第一行的所有元素初始化为正无穷大,表示这些位置的动作序列尚未开始;
21、将二维数组dtw的第一个元素设置为0,表示两个动作序列在开始时的相似度为0;
22、使用两个嵌套的for循环,分别遍历第一动作序列和第二动作序的每个元素,在每次循环中,计算第一动作序列和第二动作序的当前元素的绝对差值,作为当前位置的代价cost;
23、将这个代价cost加上二维数组dtw中的左方、上方和左上方三个位置的最小值,作为当前位置的dtw值;
24、返回二维数组dtw的最后一个元素,作为两个动作序列的最终相似度。
25、进一步的,所述预设的康复动作的获取,包括:
26、使用leap motion设备捕捉中国武术手部的动作数据,所述动作数据包括手部的位置、速度、加速度信息;
27、对捕捉到的动作数据进行滤波、归一化预处理;
28、根据预处理后的动作数据,将每个动作分解为一系列的关键帧,每个关键帧包含手部的位置、速度、加速度信息;
29、根据每个关键帧的手部的位置、速度、加速度信息计算每个关键帧的数字化表示;
30、将每个关键帧的数字化表示存储在虚拟康复场景的数据库中,以便在康复训练时,从所述数据库中检索相应的关键帧对应的动作,并在虚拟康复场景中展示给用户。
31、进一步的,在将每个动作分解为一系列的关键帧和根据每个关键帧的手部的位置、速度、加速度信息计算每个关键帧的数字化表示之间,还包括:对每个动作的关键帧进行插值处理生成连续的动作序列,;
32、所述插值处理表示为:
33、;
34、其中, m( t)是在时间 t的动作姿态, p i( t)是第 i个关键帧的插值函数, k i是第 i个关键帧的姿态。
35、进一步的,还包括:采集客户的语音数据,通过语音数据识别客户的语音命令和语音反馈,所述语音命令用于控制虚拟康复场景中的操作,所述语音反馈用于提供客户对康复训练的评价;
36、还包括:通过无线通信将用户的手机屏幕投射到虚拟康复场景的显示设备上,通过蓝牙连接在康复设备上直接操作和使用其手机。
37、进一步的,还包括:对手部动作数据进行存储,步骤如下:
38、创建一个临时文件m_temp,并打开临时文件m_temp的流m_stream,用于读写操作;
39、利用临时文件m_temp接收手部动作数据的数据流以及该数据流预存储的路径,检查数据流的长度是否超过预设长度,如果超过则将路径转换为字节,并获取路径长度和数据长度;将路径长度、路径、数据长度和数据依次写入到文件流中;从文件流中读取指定长度的数据到缓冲区中,进行存储;
40、遍历文件流中的所有记录,对于每一条记录,首先读取路径的长度和路径,然后读取数据的长度和数据,最后返回一个包含路径和数据流的键值对;
41、根据键值对判断所有数据是否存储完毕,若是则释放文件流和临时文件的资源,若否,继续读取键值对。
42、第二方面,本发明提供一种基于动作识别与虚拟现实的康复训练系统,包括:
43、虚拟场景开发模块,用于在unity环境中开发和设计各种康复训练场景;
44、用户动作识别模块,用于采用leap motion技术捕捉用户的手部、手指的动作,将用户的用户的手部、手指的动作转化为虚拟环境中的相应动作,并将这些数据实时传输给主控模块;
45、康复动作开发模块,用于根据武术手部动作设计一系列康复动作,并将康复动作的要求和标准传输给主控模块以及康复动作展现模块;
46、虚拟助手模块,包括语音助手和手机助手;其中,语音助手,用于用户与系统的实时语音交互,提供指令和反馈;手机助手,用于通过蓝牙技术,将手机屏幕投射到虚拟康复场景的显示设备上;
47、康复动作展现模块,用于根据康复动作开发模块的要求和标准,呈现标准动作的残影,用户通过模仿标准动作用于在虚拟场景中与残影重合来进行康复训练;
48、主控模块,用于接收其他模块的数据和信息,协调所有模块的工作,实时分析用户的动作数据,并根据这些数据进行康复评估,控制康复场景的变换,控制康复动作展现模块的呈现,以及控制康复数据记录模块与数据分析模块的运行。
49、进一步的,所述主控模块,包括:游戏管理器;
50、所述游戏管理器,用于:定义私有的序列化字段,包括任务管理器、游戏状态、物品和事件,所述序列化字段,用于存储游戏的状态和数据;
51、所述任务管理器,用于管理游戏中的任务;
52、所述游戏状态,用于表示游戏的当前状态;
53、所述物品,用于表示游戏中的物品,在相应的事件被触发时,被添加到物品栏中;
54、所述事件,用于表示游戏中的事件;
55、调用开始游戏程序来开始游戏,更新游戏状态为游戏中,并启动任务管理器的任务;
56、根据需求对各个事件添加onenable函数或者ondisable函数,用于在事件发生时,onenable函数或者ondisable函数被调用。
57、本发明所达到的有益效果:
58、本发明通过游戏化的康复练习,不仅可以提高患者的参与度,还可以通过提供社交互动的机会,帮助减轻他们的孤独感和压力。对提高康复效果和患者的生活质量产生积极影响。可以通过远程或移动技术进行访问,可以解决专业康复设备和专家的可访问性有限的问题,尤其是在偏远地区。这将使更多的患者能够接受到有效的康复治疗,从而进一步提高康复行业的服务水平。
1.一种基于动作识别与虚拟现实的康复训练方法,其特征在于,包括:
2.根据权利要求1所述的基于动作识别与虚拟现实的康复训练方法,其特征在于,所述基于unity开发平台构建虚拟康复场景,包括:
3. 根据权利要求1所述的基于动作识别与虚拟现实的康复训练方法,其特征在于,所述使用leap motion设备捕获用户的手部动作数据,基于动作识别算法对所述手部动作数据进行动作识别,包括:
4.根据权利要求1所述的基于动作识别与虚拟现实的康复训练方法,其特征在于,所述比较所述识别的动作和预设的康复动作,确定动作相似度,包括:
5.根据权利要求1所述的基于动作识别与虚拟现实的康复训练方法,其特征在于,所述预设的康复动作的获取,包括:
6.根据权利要求5所述的基于动作识别与虚拟现实的康复训练方法,其特征在于,在将每个动作分解为一系列的关键帧和根据每个关键帧的手部的位置、速度、加速度信息计算每个关键帧的数字化表示之间,还包括:对每个动作的关键帧进行插值处理生成连续的动作序列;
7.根据权利要求1所述的基于动作识别与虚拟现实的康复训练方法,其特征在于,
8.根据权利要求1所述的基于动作识别与虚拟现实的康复训练方法,其特征在于,还包括:对手部动作数据进行存储,步骤如下:
9.一种基于动作识别与虚拟现实的康复训练系统,其特征在于,包括:
10.根据权利要求9所述的基于动作识别与虚拟现实的康复训练系统,其特征在于,所述主控模块,包括:游戏管理器;
