【论文阅读】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

前端实现交互式3D人体肌肉解剖图:基于 Three.js + React Three Fiber 的完整方案

本文将详细介绍如何在前端实现一个交互式的3D人体肌肉解剖展示工具,用户可以旋转、缩放模型,点击任意肌肉查看中英文名称。 为什么要做这个? 传统的肌肉解剖学习通常依赖静态图片或昂贵的3D软件。作为健身爱好者,我希望能有一个免费、易用的在线工具来学习肌肉解剖知识。于是我决定自己动手,基于开源的 Z-Anatomy 项目,在浏览器中实现一个交互式的3D肌肉解剖图。 如果你想先体验效果,可以试试这个在线的3D肌肉功能解剖工具。 技术架构概览 ┌─────────────────────────────────────────────────────────────┐ │ 用户浏览器 │ ├─────────────────────────────────────────────────────────────┤ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │ │ │ GLB 模型 │ -> │ Three.js │ -> │ React Three │ │ │ │ (Draco) │ │ 场景渲染 │ │ Fiber

什么是Webhook?工作原理?如何实现?缺点?

什么是Webhook?工作原理?如何实现? 背景 在使用钉钉机器人配置Stream推送 - 钉钉开放平台,qq机器人(微信没有机器人),企业微信机器人、飞书机器人、GitHub WebHook、腾讯问卷这些应用时, 这些应用都提供了Webhook,它允许系统之间在事件发生时主动传递信息,而无需持续轮询。 有的人一开始可能很困惑,什么是Webhook?如何使用? 什么是 Webhook? 通俗一点就是,你(自己的服务器提供一个webhook)在手机(其它支持webhook的平台注册)上定了一个明天早上6点的闹钟(将自己的webhook注册在其它平台上),当时间来到第二天早上6点时候,手机(其它支持webhook的平台)闹钟响起(触发你注册的webhook),你(自己的服务器提供一个webhook)就会听到铃声响起来(自己的服务器上的webhook触发)。 Webhook 是一种简单的 HTTP 回调机制,它允许一个应用程序在事件发生时自动通过 HTTP 请求通知另一个应用程序。这意味着 Webhook 在某个特定事件发生时,自动向指定的 URL

前端错误处理最佳实践:别让你的应用崩溃了!

前端错误处理最佳实践:别让你的应用崩溃了! 毒舌时刻 错误处理?听起来就像是前端工程师为了显得自己很专业而特意搞的一套复杂流程。你以为随便加个try-catch就能解决所有错误?别做梦了!到时候你会发现,错误处理的代码比业务代码还多,维护起来比业务代码还麻烦。 你以为console.error就能记录所有错误?别天真了!console.error只会在控制台打印错误,用户根本看不到,也无法帮助你分析错误原因。还有那些所谓的错误监控工具,看起来高大上,用起来却各种问题。 为什么你需要这个 1. 提高用户体验:良好的错误处理可以避免应用崩溃,提高用户体验。 2. 减少生产环境问题:及时捕获和处理错误可以减少生产环境中的问题。 3. 便于调试:良好的错误处理可以帮助你更快地定位和解决问题。 4. 提高代码可靠性:错误处理可以提高代码的可靠性,减少意外情况的发生。 5. 监控和分析:错误处理可以帮助你监控和分析应用的运行状态,发现潜在问题。 反面教材 // 1. 忽略错误 function fetchData() { fetch('/api/data') .the

Trae IDE评测体验:通过 MCP Server - Figma AI Bridge 一键将 Figma 转为前端代码

Trae IDE评测体验:通过 MCP Server - Figma AI Bridge 一键将 Figma 转为前端代码

Trae IDE评测体验:通过 MCP Server - Figma AI Bridge 一键将 Figma 转为前端代码 在现代前端开发中,从设计稿到可用页面的交付往往需要大量重复劳动:切图、手写样式、布局调整……而借助 MCP Server - Figma AI Bridge,我们可以将 Figma 设计稿自动转换成整洁的 HTML/CSS/JS 代码,并立即生成可预览的网页。一键化、傻瓜式操作,让设计交付效率跃升。 先下载 Trae IDE,让我们一起开始吧! [立即免费获取 Trae]:https://trae.ai 演示环境 本文测试使用的系统环境如下: * Trae IDE 版本:0.