高强度运动中脚踝扭伤的快速诊断系统
作者:徐海钦 学校:上海市格致中学
摘要:在高强度运动中,脚踝扭伤是常见的运动损伤,尤其在篮球、足球等需频繁起跳、急停和变向的运动中更为多发。青少年往往缺乏足够的运动生理学知识和有效的康复指导,若对脚踝扭伤处理不当,可能引发长期性伤害。本课题旨在开发一套基于计算机视觉和人工智能的系统,结合 MediaPipe 和深度学习技术,实现脚踝扭伤的快速诊断与康复训练支持。系统通过摄像头获取用户运动数据,使用 MediaPipe Pose 模块精确识别脚部关键点(如脚踝、脚趾、脚后跟),结合国际标准(如 Ottawa 踝关节规则)快速判断扭伤程度,并提供科学的康复建议。康复模块实时监测用户的踝关节动作(如跖屈和背屈),评估动作质量并给予即时反馈,帮用户安全、高效完成康复训练。实验表明本系统能在室内静态、动态及复杂户外场景中稳定运行,帧率达到实时要求(≥25 FPS),关键点检测误差控制在像素级别。通过此系统,不仅可提升用户对运动损伤的认知,还能降低长期损伤风险,具有重要的应用价值和推广前景。 关键词:高强度运动;脚踝扭伤;计算机视觉;深度学习
1.课题背景
高强度运动指的是那些需在短时间内消耗大量体力,并对身体特定部位(如关节、肌肉、韧带)产生很大压力的运动。常见的高强度运动包括篮球、足球、短跑、举重等。作为一名高中生,我们在体育课与课外活动中都会接触这类运动。比如,在篮球比赛中经常需要快速起跳、急停变向,这些动作对脚踝和膝盖产生了极大的压力。而在这些高强度的情况下,如果稍有不慎,就易发生运动损伤,特别是脚踝的扭伤和崴脚,这也是很多篮球运动员和爱好者最易遇到的伤病之一 [1]。
其中,篮球作为一项高强度对抗性运动,充满了奔跑、跳跃等激烈的身体接触,这种不断的剧烈动作使脚踝常处于高风险状态。作为高中生,放学后打篮球是最常见的娱乐方式,有时一打就是几小时。然而,很多时候我们并没有足够的热身,或者在比赛中为了争抢篮板,会忽略自己的姿势,导致崴脚的发生。青少年没有良好的运动与生理知识,往往会忽略脚踝扭伤的判别与恢复,长此以往会落下病根,给后面的运动舒适度甚至生活带来了很大的麻烦。
因此,需要一种即时方便的快速工具来帮助我们更好地进行扭伤程度判断。我发现大多数同学在受伤后往往不能准确判断自己受伤的严重程度[2]。比如,我在篮球场上看到有同学崴脚后,用冷水冲一冲就觉得没事了,接着继续打球,结果几天后伤情加重,脚肿得很厉害,最后不得不休息好几个星期。这不仅影响了日常生活,也让他错过了重要的比赛和考试。其实,如果能在当时通过一个工具及时判断脚踝受伤的程度,甚至检测是否伴随骨折,就能避免这些情况的发生。
2.课题方案
在以上需求的启发下,我尝试开发篮球运动崴脚骨折快速诊断与康复辅助系统。首先,在开发意义上,我认为这个系统会给篮球爱好者带来很大的好处。然后,这个系统可让我们在受伤后立即通过手机或便携设备进行自我检测,指导伤者找到正确位置进行压痛测试,给出初步的伤情判断,这样就可以知道是轻微扭伤还是骨折了,进而做出是否需要就医的判断。
不仅如此,我还计划开发一个针对脚踝扭伤恢复的辅助功能,帮助受伤康复过程中的科学指导。因为我发现很多同学受伤后,不太知道怎么正确康复,往往只是简单的休息或贴个膏药,然后觉得好了就继续运动了,结果不久后又再次受伤,甚至变得更严重。通过这个功能可获得一些简单的康复建议,比如哪些拉伸动作可以帮助恢复,或者什么时候适合开始轻度运动训练。这样不仅能加快康复速度,还能让恢复更加彻底,避免长期的运动损伤。
2.1骨折判断原理
当我们崴脚后,疼痛是快速、最直接的感受。因此,通过疼痛的部位和程度,可更好地判断脚踝是否骨折。虽然疼痛感觉对每个人来说可能有所不同,但一些典型的疼痛模式可帮助我们初步区分是骨折还是扭伤。我采用了国际通用的踝关节扭伤快速诊断规则( Ottawa ankle rules, OAR)。
首先,如果崴脚后疼痛的感觉非常剧烈,在正常的骨科就医流程中,医生会进行常规的压痛检查。当你按压脚踝附近的骨头时感到疼痛加剧,说明骨折的概率非常高。脚踝骨的常见骨折部位通常是外侧和内侧的骨突,这些地方在脚踝关节的活动中起支撑作用。如果轻轻按压这些位置,疼痛非常强烈,甚至是刺痛,那就要怀疑是否存在骨折。在具体细节方面,如果下面4个点中有一处发现压痛,就应及时就诊,并拍足部X片[3]。其位置示意图如下:
1)外踝尖后外侧以上:外踝尖在哪儿很容易找到,足外侧面最凸起的骨结构便是。 摸到后,它的后外侧往上约6cm区域,就是第一个检查压痛的部位。

2)内踝尖后内侧以上:同样,我们在足内侧面摸到的最凸起的骨结构就是内踝尖。内踝尖的后内侧往上约6cm区域,就是第二个检查压痛的部位。

3)足背最外侧缘中间:从小脚趾向后,足背的最外侧缘靠近中间的位置,也就是诊断规则中所说的“第五跖骨基底部”按压处。
4)内踝前下方隆起处:在内踝前下方,可摸到足背上有一处稍高的隆起,这就是最后一个检查压痛的部位 ——足舟骨。为方便大家找到 它的位置,附上骨骼解剖图如下,红色标出的即为足舟骨。

2.2使用的基本框架
现代生活中,大家无法离开手机等移动设备,每个人都有随身电子设备。因此,我们决定利用计算机视觉技术来帮助同学们在家中、体育场所进行简单的脚踝压痛测试,会高亮显示上述的关键点,方便使用者进行压痛测试,以便快速判断是否需要就医。主要使用的技术如下所示:

首先,从技术上说,通过使用摄像头和MediaPipe的姿态检测模块,计划基于MediaPipe开源框架进行脚踝压痛测试指导系统的开发 [4]。首先,利用Mediapipe中的分割模块,将脚步进行分割进行进一步分析与利用。其分割效果如下所示:

由于Mediapipe的分割只可以产生如上图所示的整体图片:脚部+腿部。这带来了很大的关键点识别困难。因此,在课题中,我们继续使用roboflow开源的项目(feet key point与feet 分割)API来进行脚部关键点的识别与脚部确认。这个模型可识别画面内脚部的主要关键点。
这两个开源的项目链接如下:
Foot Segmentation Computer Vision Project:
https://universe.roboflow.com/cv-v6vyj/foot-segmentation-
dd6qiFootDetection Computer Vision Project:
https://universe.roboflow.com/up8/footdetection-5xpkq
首先,利用上述两个feet-segmentation项目进行脚部的具体分割。并结合具体的显示点去再次计算我们想要实时显示的区域,方便使用者快速找到压痛测试的区域。主要对两个模型的输出结果进行二次加工与处理。通过这个方法,这个课题的开发难度被大大降低了。其使用效果具体如下:





2.3 Depth-Anything深度估计
人体部位识别是计算机视觉中的重要研究方向,尤其是在深度图像处理领域。脚踝点的精准识别在医疗康复、体育运动分析等场景中具有重要应用价值。本模块旨在探索如何利用 Depth-Anything 工具结合深度数据,自动识别人体脚踝点的位置。
脚踝判断:https://huggingface.co/spaces/depth-anything/Depth-Anything-V2

Depth-Anything-V2 是一种技术,可通过图片或点的数据,生成物体的三维深度信息,让计算机“看懂”物体的远近和形状,用于制作3D模型或识别场景内容。因此被使用于课题中来定位“突出”的脚踝骨。
2.4 Mediapipe使用
然而,脚部关键点的精确识别是一个重要且实际的问题。通过精确检测脚部的关键点(如脚踝、脚趾和脚后跟),可为动作评估和训练提供可靠的数据支持。本模块基于 Google 提供的 MediaPipe Pose 模块,通过普通摄像头实现脚部关键点的实时检测,为低成本人体关键点识别提供了一种简便可行的解决方案。
MediaPipe Pose 是基于深度学习的人体姿态估计模型,能通过 33 个关键点精确描述人体结构。其中,与脚部相关的关键点包括:
脚踝:LEFT_ANKLE, RIGHT_ANKLE
脚趾:LEFT_FOOT_INDEX, RIGHT_FOOT_INDEX
脚后跟:LEFT_HEEL, RIGHT_HEEL
通过模型推理,可获取这些关键点的 2D 像素坐标和置信度值。
本模块的流程主要如下:
1)数据输入:利用普通 RGB 摄像头获取视频流,确保脚部区域清晰可见。
2)模型推理:加载 MediaPipe Pose 模块,实时检测人体姿态,并提取与脚部相关的关键点。
3)结果可视化:在每帧图像中叠加检测到的关键点,并通过坐标标记显示检测结果。
4)数据记录:记录不同场景下的关键点检测数据,包括检测精度和实时帧率。
与此同时,为了验证方法的适应性和稳定性,分别在以下场景中进行测试。室内静止场景被检测者站立不动,背景简单。室内动态场景被检测者进行正常的步行或跑步。户外场景光照复杂,背景较为混乱。

其结果如下:


2.5 康复训练模型
与此同时,系统利用 MediaPipe Pose 模块实现对踝关节的康复训练动作实时监测和反馈,帮用户完成如跖屈(脚趾向下)和背屈(脚趾向上)的康复动作。本模块功能可实时捕捉脚部关键点的位置和运动轨迹。其次,还可评估动作质量,检测用户是否按标准康复动作进行。最后,还可根据用户动作的完成情况提供即时反馈,如提示保持时间或调整姿势。
在动作判断模块中,核心目标是通过脚部关键点的运动轨迹,实时判断用户是否完成目标康复动作,并检测用户是否按要求保持动作至少 5 秒。
背屈(脚趾向上)判断,背屈动作的特征是脚趾向上抬起,脚踝保持固定。判断依据:脚趾关键点(LEFT_FOOT_INDEX 或 RIGHT_FOOT_INDEX)的 Y 坐标高于脚踝关键点(LEFT_ANKLE 或 RIGHT_ANKLE)的 Y 坐标。检测脚趾的 Y 坐标变化,确保脚趾抬起并稳定在脚踝上方。
跖屈(脚趾向下)判断,跖屈动作的特征是脚趾向下压,脚踝保持固定。判断依据:脚趾关键点(LEFT_FOOT_INDEX 或 RIGHT_FOOT_INDEX)的 Y 坐标低于脚踝关键点(LEFT_ANKLE 或 RIGHT_ANKLE)的 Y 坐标。检测脚趾的 Y 坐标变化,确保脚趾下压并稳定在脚踝下方。
其示例代码如下:
import time
# Initialize variables
start_time = None
pose_held = False
def check_dorsiflexion(foot_index_y, ankle_y):
"""Check if the user is performing dorsiflexion (toes up)."""
return foot_index_y < ankle_y
def check_plantarflexion(foot_index_y, ankle_y):
"""Check if the user is performing plantarflexion (toes down)."""
return foot_index_y > ankle_y
def detect_hold_time(is_pose_detected):
"""Detect if the user is holding the pose for 5 seconds."""
global start_time, pose_held
if is_pose_detected:
if not pose_held:
# Start timing when the pose is first detected
start_time = time.time()
pose_held = True
else:
# Check if the hold time exceeds 5 seconds
hold_time = time.time() - start_time
if hold_time >= 5:
return True, hold_time
else:
# Reset timing if pose is not detected
start_time = None
pose_held = False
return False, 0
# Example usage
foot_index_y = 0.4 # Example coordinate for foot index
ankle_y = 0.5 # Example coordinate for ankle
if check_dorsiflexion(foot_index_y, ankle_y):
pose_detected, hold_time = detect_hold_time(True)
if pose_detected: print(f"Dorsiflexion complete! Hold time: {hold_time:.1f}s")
else:
print("Keep holding the pose...")
elif check_plantarflexion(foot_index_y, ankle_y):
print("Performing plantarflexion (toes down)")
else:
print("Neutral position")
3.实验结果
在检测准确性方面,室内静态场景的检测准确率最高(96.5%),复杂的户外场景表现稍逊(92.3%)。室内动态场景中,检测准确率下降至 94.8%,表明运动增加了检测难度。在静态环境下,背景干扰较少,用户动作稳定,脚部关键点的检测更加精准。然而,动态场景下,人体快速移动导致模糊,增加了检测难度。同时,户外场景下,光线复杂、背景杂乱可能导致检测算法的置信度下降。


在帧率(Frame Rate)分析方面发现,室内静态场景帧率最高(30 FPS),动态和户外场景帧率逐渐降低,最低为 25 FPS。所有场景的帧率均满足实时性要求(≥25 FPS)。动态场景下,检测模型需额外计算关键点位置变化,导致计算开销增加。与此同时,户外场景下复杂背景增加了分割任务的计算负担。综上所述,帧率的稳定性说明系统适合实时监测任务,即便在复杂场景下也能保持可用。后续计划优化模型计算效率(如使用轻量化模型或硬件加速),在动态和户外场景中进一步提高帧率。
4.讨论
本课题开发的快速诊断与康复辅助系统在不同场景下表现出一定的科学性和实用性。在检测准确性方面,系统在室内静态场景中表现最佳,准确率达 96.5%,主要得益于背景干扰少和用户动作稳定。然而,在动态场景和户外复杂环境中,检测准确率分别下降到 94.8% 和 92.3%,说明运动和复杂背景对脚部关键点的检测带来一定挑战。动态场景中的快速动作易导致检测模糊,户外场景的光线变化和背景干扰增加了算法的计算复杂度。尽管如此,系统在所有场景中的准确率均超过 90%,表现出较好的鲁棒性和可靠性。
在实时性方面,系统在三种场景中的帧率分别为 30 FPS、28 FPS 和 25 FPS,均满足实时应用需求。帧率下降主要体现在动态和户外场景,原因是快速运动和复杂背景导致模型的计算开销增加。即便如此,帧率的稳定性依然保证了用户体验。未来可通过优化模型结构、引入硬件加速或使用轻量化算法进一步提升复杂场景中的检测效率。
动作保持时间的检测也表现出较高的精度,在室内静态场景中准确率达 97%,而动态和户外场景的检测精度分别为 95.5% 和 93%。这表明系统能有效识别用户是否完成了目标动作,并判断动作保持时间是否符合康复训练的要求。在动态场景中,由于动作的连续性受到干扰,关键点的波动可能导致保持时间检测的误差;户外场景则受光线和背景影响较大,导致检测的不稳定性增加。对此,未来可通过改进时间检测算法的容错性来提升精度。
从用户反馈来看,系统在不同场景中的满意度分别为 95%、93% 和 90%。静态场景的高满意度反映了系统在背景简单条件下的优秀表现;在动态和户外场景中,偶尔的检测错误可能导致用户体验稍有下降。然而,整体满意度的高分表明该系统在实际应用中受到用户的认可。 综合来看,本课题开发的系统在检测准确性、实时性和用户体验上表现较为均衡,尤其适合室内静态场景的应用。在动态和复杂场景下虽性能有所下降,但仍能保持较高水平的稳定性。未来可通过引入更高精度的模型、多模态感知技术(如深度摄像头或IMU传感器)及优化算法来进一步提升系统的适应性和性能,为广泛推广应用奠定基础。
参考文献:
[1] 杨圣涛,朱永军. 大学生篮球运动损伤风险因素及预防方案研究[J]. 运动精品,2020,39(8):70-71.
[2] 阿曼古丽·热合曼. 脚踝扭伤的护理与治疗方法[J]. 饮食保健,2018,5(18):226-227.
[3] 张宏光,秦绪沛,王康妮. MSCT结合MRI对成人腕关节扭伤的影像分析[J]. 影像科学与光化学,2022,40(6):1323-1327.[4] 倪广兴,徐华,王超. 融合改进YOLOv5及Mediapipe的手势识别研究[J]. 计算机工程与应用,2024,60(7):108-118.