咨询:可用于MM-Fit 2D骨骼数据集的动作重复次数分割算法
以下是针对MM-Fit 2D骨骼数据集的重复动作分割可行算法:
动态时间规整(DTW):这是时序序列匹配的经典方法,适配动作模式固定的重复动作(如深蹲、俯卧撑)。操作逻辑:先截取一段完整的动作周期作为模板,提取模板的骨骼关键点时序特征;在整个动作序列上滑动窗口,计算每个窗口与模板的DTW距离;将距离低于阈值的连续窗口判定为一个重复动作单元。
峰值/谷值检测法:针对骨骼关键点的周期性时序信号设计,比如深蹲时膝盖高度的周期性低谷、俯卧撑时肩肘角度的周期性峰值。具体做法:筛选动作中最具周期性的关节(如深蹲选膝盖、俯卧撑选肩肘),提取其坐标或角度的时序曲线;通过滑动窗口平滑、小波变换等方式检测曲线的峰值/谷值点;相邻两个特征点之间的区间即为一个完整的重复动作单元。
循环神经网络(LSTM/GRU)序列标注:适合复杂动作或多动作混合的场景,需少量标注数据训练。步骤:将每个帧标注为「动作起始」「动作进行中」「动作结束」三类标签;提取骨骼序列的帧级特征(如关节坐标、速度、加速度、相邻关节角度);用LSTM/GRU模型学习时序特征与标签的映射关系,最终通过模型输出的帧标签分割重复动作单元。
无监督自编码器方法:无需标注数据,适合无监督场景。训练自编码器学习动作周期的紧凑特征表示,计算序列中每个窗口的重构误差;重构误差连续处于低位的区间即为重复动作单元。也可使用变分自编码器(VAE)将动作序列映射到潜在空间,通过潜在空间的聚类结果识别重复的动作周期。
聚类分割法:适配无标注且动作模式相对单一的场景。提取每个时间窗口的骨骼特征(如关节角度统计量、运动轨迹形状特征);用K-means、DBSCAN等聚类算法对窗口特征进行聚类;同一类别的连续窗口即为一个重复动作单元,需提前根据动作周期数量设定聚类数目。
Transformer时序分割:利用注意力机制捕捉长序列中的动作依赖关系,适合长时长、动作逻辑复杂的序列。用Transformer Encoder处理骨骼序列的帧级特征,后续接分类头预测每个帧对应的动作阶段;根据阶段标签的连续变化分割出重复动作单元。
内容的提问来源于stack exchange,提问作者Van Philip Pangan

