【论文阅读】Vision-skeleton dual-modality framework for generalizable assessment of Parkinson’s disease ga

【论文阅读】Vision-skeleton dual-modality framework for generalizable assessment of Parkinson’s disease ga

论文题目:《Vision-skeleton dual-modality framework for generalizable assessment of Parkinson’s disease gait》
论文链接:https://doi.org/10.1016/j.media.2025.103727 
代码链接:https://github.com/FJNU-LWP/PD-gait-VSDF

视觉-骨架双模态框架:通过视频实现帕金森病步态的泛化评估

研究背景介绍

帕金森病评估与帕金森病评分量表(MDS-UPDRS)

帕金森病步态评估

研究内容

总体方法流程

关键点视觉 Transformer (KVT)

图像块嵌入 (Patches embedding)

位置与连接嵌入 (Positions and connections embedding)

关键点自注意力 (Keypoints Self-Attention, KSA)

骨架特征提取 (Skeleton features extraction)

时间融合编码器 (Temporal Fusion Encoder)

实验结果

结论

研究背景介绍

帕金森病评估与帕金森病评分量表(MDS-UPDRS)

步态评估在衡量帕金森病(PD)患者的病情严重程度中起着至关重要的作用 。通过仔细观察和分析步态表现,医生可以深入了解帕金森病的进展,从而制定更精确的诊断和治疗方案 。目前在临床实践中,被广泛接受的 PD 步态评估标准是基于 MDS-UPDRS(统一帕金森病评分量表)第三部分的内容 。在评估过程中,患者必须遵守 MDS-UPDRS 中规定的测试协议,以准确捕捉其步态特征 。这要求经过专业培训的评估人员仔细观察关键的步态指标,并对步态表现进行全面评估 。然而,这种方法极其耗时,且需要大量的医疗资源 。尽管评估人员具备专业培训和丰富经验,但主观性差异仍可能影响评分,引入了显著的主观性因素 。因此,临床上迫切需要一种客观且精确的 PD 患者步态评估方法 。近年来,许多研究探索了基于可穿戴传感器的各种自动化技术来量化 PD 患者的步态运动 。然而,这些方法依赖于直接接触患者身体的传感器,不可避免地会影响 PD 患者的自然运动,这阻碍了它们在临床实践中的广泛采用 。

帕金森病步态评估

随着计算机视觉技术的进步,基于视频的非接触式 PD 步态评估方法应运而生,克服了基于传感器方法的局限性 。视频技术为 PD 评估提供了一种非接触、可扩展且无创的方法 。近期的研究利用视频技术,辅以深度学习和人体姿态估计算法,来准确量化人体运动,证明了非接触式视频分析技术能够有效、快速地评估 PD 患者的步态 。然而,目前大多数基于视频的方法仅仅依赖于在视频中通过人体姿态估计获取的骨架信息,而忽略了 PD 步态的视觉特征 。而且,它们仅应用于单一录制视角的 PD 步态评估,展现出有限的泛化能力 。此外,大多数现有的基于视频的方法依赖于光流或姿态估计等中层特征,这可能会在提取过程中丢弃原始 RGB 图像中的某些视觉信息 。但是,直接使用视频中的全部 RGB 信息又会引入不必要的背景细节,并显著增加不必要的计算量 。事实上,临床评估人员主要关注的是各个特定身体部位的状态 。不仅如此,由于 PD 步态评估是一个综合的过程,除了局部视觉细节,如何有效地利用更宏观的骨架运动特征也值得进一步考量 。


研究内容

总体方法流程

视觉-骨架双模态框架总体工作流程如下图所示 。首先,通过人体姿态估计技术从步态视频中提取关键点的视觉信息和骨架信息 。对于关键点视觉,模型将带有坐标信息的特征块输入到关键点视觉 Transformer(KVT)中以提取视觉特征 。随后,模型将提取到的骨架运动特征与 KVT 提取的关键点视觉特征进行融合,并输入到时间融合编码器(Temporal Fusion Encoder)中,以进一步提取步态的时间动态特征 。最后,最终的评估分数由一个多层感知器(MLP)头部输出 。

关键点视觉 Transformer (KVT)

为了捕捉局部身体部位在行走时的视觉细节,作者设计了一种全新的 Transformer 模型来提取人体关键点的视觉特征(如下图所示) 。

图像块嵌入 (Patches embedding)

模型并非将整张图片输入,而是围绕关键点提取短时间序列的帧序列图像块(如下图)。对于视频

,获取关键点局部视频块

后,使用 3D 卷积来提取反映短期变化的特征,从而生成关键点Tokens (KT)

位置与连接嵌入 (Positions and connections embedding)

考虑到关键点不仅具有绝对的坐标位置,关键点之间还存在物理结构上的连通性 。该模型通过可学习的线性投影直接嵌入关键点坐标

,并与

 拼接得到

随后,引入了基于关键点邻接矩阵

的邻接嵌入(Adjacency Embedding, AE)来表示身体各部位之间的连接信息 :

最后,将 AE 加入到特征中,并在序列头部添加一个 CLS Token :

关键点自注意力 (Keypoints Self-Attention, KSA)

如下图所示,输入数据首先通过线性投影转换为 Queries (Q), Keys (K), Values (V) :

在 Transformer 的自注意力计算阶段,模型将上述的邻接嵌入(AE)融入其中,使得注意力权重的计算不仅基于特征相似度,还能充分考虑到人体关键点之间的物理连接性 :

骨架特征提取 (Skeleton features extraction)

在获取了人类关键点的视觉特征后,模型采用经典的时空图卷积网络(ST-GCN)来提取 PD 步态的全局骨架特征 。该部分将空间连接与时间维度相结合,能够从宏观角度提取人体行走的运动规律 :

时间融合编码器 (Temporal Fusion Encoder)

对于同一时间段内提取到的“局部关键点视觉特征”与“全局骨架运动特征”,模型首先通过拼接(Concatenation)的方式进行特征融合

。为了提取整个视频的全局时间动态特性,融合后的特征序列被输入到时间融合编码器中,该编码器还加入了时间嵌入(Temporal Embeddings, TE) :

最后,评估分数由 MLP 头部计算输出 :


实验结果

在作者的研究中,由于单独特征在不同评分等级上的表现存在差异,因此作者在实验部分首先进行了骨架运动与关键点视觉的消融实验 。作者列举了所提框架中两个分支之间相互比较,该实验结果如下表:

由该结果可以看出,在双模态方法中,关键点视觉在非0评分的量化中表现比骨架运动更好 。这表明关键点视觉能够更好地捕捉步态中细微特征的变化。此外,还可以看出双模态特征融合能有效提升对视频中PD步态的整体评估准确性 。

此外,作者还比较了目前几种帕金森步态严重程度评估的方法 。表明了本文提出的方法以视频方式在一个更多参与者的数据集中实现了更为准确的帕金森步态评估,并在更一般的录制条件下(Ours-2 跨视角)展现出了极其显著的泛化优势 。


结论

该研究开创性地提出了一种用于评估 MDS-UPDRS 步态严重程度的视觉-骨架双模态深度学习框架 。通过引入独特的关键点视觉 Transformer 以及时间融合编码器,该模型不仅有效弥补了传统骨架方法在微小视觉特征上的丢失,还显著提高了多类别评分的准确性 。更重要的是,该模型在更一般化的跨视角监控数据上表现出了极高的鲁棒性,这为未来在家庭和社区环境中实现无约束的帕金森病远程监测与评估提供了极其可行的技术方案 。

Read more

从语法纠错到项目重构:Python+Copilot 的全流程开发效率提升指南

从语法纠错到项目重构:Python+Copilot 的全流程开发效率提升指南

文章目录 * 从语法纠错到项目重构:Python+Copilot 的全流程开发效率提升指南 💻✨ * 一、语法纠错:Copilot 如何成为你的“实时校对员” ✅ * 示例 1:自动修复缩进错误 * 示例 2:括号/引号自动闭合与修复 * 示例 3:类型注解缺失的智能补充 * 实战技巧:结合 Linter 使用 Copilot * 二、代码生成:从单行补全到完整函数实现 🧠⚡ * 示例 4:用注释驱动函数生成 * 示例 5:生成单元测试 * 示例 6:异步 HTTP 请求生成 * 三、调试辅助:Copilot 如何帮你“读懂”错误信息 🐞🔍 * 场景:遇到 `KeyError` 怎么办? * 场景:

彻底关闭Win10中烦人的365 Copilot弹窗的6种方法

快速体验 1. 打开 InsCode(快马)平台 https://www.inscode.net 2. 点击'项目生成'按钮,等待项目生成完整后预览效果 输入框输入如下内容 帮我开发一个Windows系统优化小工具,用于帮助普通用户一键禁用各类系统弹窗和推送功能。系统交互细节:1.提供常见弹窗类型选择 2.显示当前系统状态 3.一键禁用功能 4.支持恢复默认设置。注意事项:需要管理员权限运行 最近很多Win10用户在系统升级后都遇到了Microsoft 365 Copilot频繁弹窗的问题,这个功能虽然智能,但频繁的打扰确实影响工作效率。经过实测,我总结了6种有效的关闭方法,从简单隐藏到彻底禁用一应俱全。 1. 任务栏临时隐藏是最简单的解决方案,只需右键任务栏取消勾选相关选项。但这个方法只是隐藏入口,Copilot功能仍在后台运行。 2. 组策略彻底禁用是最推荐的方式,通过系统内置的组策略编辑器可以完全关闭Copilot。操作时需要管理员权限,设置完成后需要重启生效。这个方法禁用后连快捷键都会失效,

记录一下使用llama.cpp过程中遇到的一些问题和解决方法

写在前面: 什么未操作即同意的条款?我写的东西免费分享也不是你能随意搬运的理由啊 特此声明,若该文章被搬运到除ZEEKLOG(www.ZEEKLOG.net)以外的其他社区如2048 AI社区,则视为该社区同意将所有收益无偿捐赠给我所有 此外,我写的所有分享都是免费的,如有VIP文章也是ZEEKLOG干的,请私信我修改成免费 起因:使用LMStudio调用AI模型时发现显存占用率一直不超过80%,询问AI解决办法无果后一怒之下换用llama.cpp,遇到了一堆AI解决不了的问题,遂记录 llama.cpp下载地址如下 https://github.com/ggml-org/llama.cpp/releases 以防万一 我老年痴呆说一下如何使用llama.cpp调用模型,把下面的代码保存成bat,放在和llama-server.exe同目录下,然后运行这个bat(确保模型位置选对,GPU_LAYERS和THREADS根据机器能力) @echo off setlocal set "MODEL_PATH=F:\Models\Yakyu&

【XR技术介绍】一文理清 OpenVR、OpenXR、SteamVR 与各厂商 SDK等容易混淆的概念

【XR技术介绍】一文理清 OpenVR、OpenXR、SteamVR 与各厂商 SDK等容易混淆的概念

在虚拟现实、混合现实开发领域,OpenVR、OpenXR、SteamVR 以及各硬件厂商专属 SDK,是我们经常遇到的东西。是不是傻傻分不清楚,容易混淆它们的定位、归属、功能与适用场景,这些到底是标准协议?还是插件?还是开发工具包?本文将从概念定义、制定 / 开发主体、核心职能、技术关系、适用场景多个维度,系统拆解它们差异与关联,帮你建立完整的认知框架。 一、基础概念总览:先分清 “标准” 与 “实现” 在正式拆解前,先建立一个核心认知:OpenXR 与 OpenVR 是行业标准 / 接口规范,属于抽象的技术协议;SteamVR 是基于标准的 runtime 运行时实现,是可落地的软件平台;硬件厂商 SDK 则是设备专属的底层驱动与开发工具包,是硬件直连的桥梁。标准解决 “兼容统一” 问题,运行时与