原作者代码
https://gitee.com/tekdf/ieechallenge2024
研究团队
- PI: Mohamed-Slim Alouini
- Research Scientist: Sajid Ahmed
- PhD Student: Jose Maria Sosa Gomez
介绍
康复锻炼在帮助个人从伤病中恢复方面发挥着至关重要的作用。
对于医疗保健专业人员来说,监测患者的康复进展并确保他们正确地进行锻炼可能是一项挑战。
同时,保护患者的隐私也至关重要。
本研究旨在应对这些挑战,并为开发一个能够解决这些问题的系统做出贡献。
目标
- 使用雷达传感器的有效性
- 调频连续波雷达
- 特点
- 预处理
- 机器学习模型评估
- 机器学习算法
- 深度学习算法
- 验证方法
- 实时反馈
- 实时获取练习反馈
- 提高练习效果
对于这个项目,我们设定了一些目标,这些目标可以帮助我们取得显著进展。
首先,要探索使用雷达传感器的有效性,在本例中,我们使用了 ADI 公司的 Phaser 作为调频连续波雷达。我们可以通过判断雷达从实验中的运动特征中获取的有用程度来做到这一点。这一点至关重要,因为我们从雷达获取的信息将成为我们用来训练模型的数据。
其次,要找到一个能够准确快速地预测实验中执行动作的机器学习模型。由于我们了解实验中的运动类型,因此我们选择了不同的分类模型,例如 SVM、K 邻域和 CNN。
最后,我们希望尽快给出预测结果,以便执行动作的人能够获得反馈。这种反馈会告诉人们动作是否正确,如果不正确,则指出动作出了什么问题。
拟议工作

这张图展示了我们用于预测练习的流程。
首先,我们获取练习者运动的信号。我们考虑了人与雷达之间的距离、雷达如何朝向人、捕捉身体运动的角度以及每次练习的持续时间。
之后,我们进行数据提取,即将雷达获取的信息(即 IQ 数据)转换为可用于训练模型的值。在本例中,我们选择使用距离和速度作为模型变量。
接下来,我们使用算法清理数据以降低噪声。
接下来,我们开始训练模型,在本例中,我们使用了卷积神经网络,它在模式识别和分类方面表现出色。我们还训练了支持向量机 (SVM) 和 K 邻域算法,它们在分类方面也表现出色,并且训练速度非常快。
最后,我们使用测试数据分析了所有模型的结果,发现 CNN 不仅在准确性方面优于其他模型,而且其快速的响应时间也满足了我们的目标。
数据收集

接下来是数据收集部分。
对于人口统计学而言,展现多样化的特征至关重要。在本实验中,我们的样本包括四名男性和一名女性,涵盖了广泛的年龄范围。此外,我们确保了身高的多样性,这对于获得有意义的样本至关重要。
就数据集的大小而言,我们总共获得了1000个样本。这些样本包含所有六种练习、错误的练习方式以及随机动作。
每个练习持续5秒,每个练习采集20帧数据。在这里,我们必须确定多少帧足够好,才能获得良好的准确率,而不会因为处理和预测而造成较大的延迟。如果帧数较低,我们将无法获得足够的特征来训练模型;如果帧数过多,则处理完成并给出预测可能需要一段时间。
我们在研究中选择了三个简单的练习——手臂和腿部伸展以及弓步——以及三个更复杂的练习:深蹲、膝触肘和弓箭步。这些练习通常用于无需器械的康复计划中。
数据提取过程
在本视频中,我们展示了图表前三个区块的结果。我们获得了训练模型所需的变量,正如距离-速度响应模式图所示。具体来说,对于图中所示的练习——肘碰膝和深蹲——我们的目标是在距离-速度响应模式中找到一个独特的特征,以便模型能够有效地学习和识别。
对于一些简单的练习,独特的特征显而易见。然而,对于像小队或肘碰膝这样的更复杂的练习,识别独特的特征就变得不那么简单了。
关于实验设置,我们将雷达放置在一个三脚架上,该三脚架位于参与者腹部的高度,距离参与者约一米。雷达的接收天线面向参与者,为了优化对运动平面的检测,雷达向下倾斜了5度。
卷积神经网络模型(CNN)

结果

最后,模型展现出卓越的泛化能力,这体现在所有练习类别中训练集和测试集的准确率值接近。
这表明模型没有过度拟合,并且在新的、未见过的数据上表现一致。
我们没有开发一个单一的模型来处理所有练习,而是选择为每项练习创建一个专用模型。我们不仅可以简单地判断练习是否正确执行,还可以提供具体的反馈,例如“左腿抬得不够高”或“动作太快或太慢”。这种详细的信息使患者能够精确地纠正自己的动作,从而确保更有效的康复。
从第一个混淆矩阵可以看出,该模型在识别正确练习方面非常有效,但在识别不同类型的错误执行方面略有不足。从第二个混淆矩阵中我们可以看到,在正确执行方面,模型的误差略大,这可能是因为练习的复杂性更高,但在测试数据集上仍然表现良好。
这里是项目的演示。
首先,我们输入要进行的训练方案以及每个练习的重复次数。设置完成后,我们就可以退出循环并开始训练了。
首先,会出现一个表格,其中包含我们为该方案选择的所有练习,以及重复次数和正确完成的次数。这样,参与者就可以直观地了解训练的进度。此外,程序会在开始计时之前告诉您应该进行哪些练习,这也是为了让参与者知道应该进行哪些练习。
这里,我们选择了所有练习,包括举臂、抬腿、弓步、弓箭步、屈膝肘击和弓步,并分别进行一次重复演示。由于这是一个概念验证项目,因此练习的粒度很小,每个练习只有3个类别。每个练习都有正确的形式,如果人们不知道应该做哪个练习,则会出现错误的练习形式,最后一种是错误练习形式的变体,例如,对于腿部练习,模型告诉参与者他们抬腿的高度不够。但这表明每个练习都有增加更精细程度的空间。它甚至可能与动作速度有关。如视频所示,练习一完成就会出现预测,让参与者有时间阅读并继续练习。如果练习没有像视频中显示的那样正确完成,患者可以使用模型提供的信息重复练习,直到形式正确。此外,所有这些信息都可以收集到报告中并发送给负责的医疗保健专业人员,而不会侵犯患者的隐私。