2021 CCF BDCI基于飞桨实现花样滑冰选手骨骼点动作识别-B榜第3名方案
本文是2024 CCF BDCI花样滑冰选手骨骼点动作识别大赛B榜第三名方案。基于飞桨,采用ICCV2024论文CTRGCN和Focal loss、PaddleVideo套件,构建节点流、骨骼流等四流框架,结合模型集成,在FSD-30数据集上取得良好成绩,还介绍了环境配置、训练与预测流程。

2024 CCF BDCI基于飞桨实现花样滑冰选手骨骼点动作识别-第3名方案
本项目是基于飞桨实现花样滑冰选手骨骼点动作识别大赛:花样滑冰选手的细粒度骨骼点动作识别大赛B榜第三名方案。本项目基于ICCV2024论文CTRGCN和Focal loss、PaddleVideo套件构建节点流、骨骼流、节点运动流、骨骼运动流四流框架进行动作识别,取得了B榜第三,A榜15的成绩。
[](https://)
一、赛题介绍
人体运动分析是近几年许多领域研究的热点问题。在学科的交叉研究上,人体运动分析涉及到计算机科学、运动人体科学、环境行为学和材料科学等。随着研究的深入以及计算机视觉、5G通信的飞速发展,人体运动分析技术已应用于自动驾驶、影视创作、安防异常事件监测和体育竞技分析、康复等实际场景人体运动分析已成为人工智能领域研究的前沿课题。目前的研究数据普遍缺少细粒度语义信息,导致现存的分割或识别任务缺少时空细粒度动作语义模型。此类研究在竞技体育、运动康复、日常健身等方面有非常重大的意义。相比于图片的细粒度研究,时空细粒度语义的人体动作具有动作的类内方差大、类间方差小这一特点,这将导致由细粒度语义产生的一系列问题,利用粗粒度语义的识别模型进行学习难得获得理想的结果。
基于实际需求以及图深度学习模型的发展,本比赛旨在构建基于骨骼点的细粒度人体动作识别方法。通过本赛题建立精度高、细粒度意义明确的动作识别模型,希望大家探索时空细粒度模型的新方法。
二、竞赛数据集
数据集Figure Skating Dataset (FSD-30)旨在通过花样滑冰研究人体的运动。在花样滑冰运动中,人体姿态和运动轨迹相较于其他运动呈现复杂性强、类别多的特点,有助于细粒度图深度学习新模型、新任务的研究。
在本次比赛最新发布的数据集中,所有视频素材均从2017-2020 年的花样滑冰锦标赛中采集得到。源视频素材中视频的帧率被统一标准化至每秒30 帧,图像大小被统一标准化至1080 * 720 ,以保证数据集的相对一致性。之后通过2D姿态估计算法Open Pose,对视频进行逐帧骨骼点提取,最后以.npy格式保存数据集。
训练数据集与测试数据集的目录结构如下所示:
train_data.npytrain_label.npytest_A_data.npytest_B_data.npy # B榜测试集后续公开登录后复制
本次比赛最新发布的数据集共包含30个类别,训练集共2922个样本,A榜测试集共628个样本,B榜测试集共634个样本;
train_label.npy文件通过np.load()读取后,会得到一个一维张量,张量中每一个元素为一个值在0-29之间的整形变量,代表动作的标签;
data.npy文件通过np.load()读取后,会得到一个形状为N×C×T×V×M的五维张量,每个维度的具体含义如下:
骨架示例图:
数据集下载
数据集可以从比赛链接处下载,报名成功后,即可获取数据集下载链接。数据集下载完成后,可以将数据集上传到aistudio项目中,上传后的数据集路径在/home/aistudio/data目录下。
如果是直接fork的本项目,在/home/aistudio/data 目录下已经包含了下载好的训练数据和测试数据。注意:由于只能携带两个数据集,故A榜测试集是存放在/home/aistudio/work/PaddleVideo/data/fsd10目录下的。
In [ ]# 检查数据集所在路径!tree -L 3 /home/aistudio/data !tree -L 3 /home/aistudio/work/PaddleVideo/data/fsd10登录后复制
/home/aistudio/data├── data104925│ ├── train_data.npy│ └── train_label.npy└── data117914 └── test_B_data_1118.zip2 directories, 3 files/home/aistudio/work/PaddleVideo/data/fsd10├── example_skeleton.npy└── test_A_data.zip0 directories, 2 files登录后复制
三、模型构建思路及调优过程
(一)做过的一些尝试(简述)
1、首先肯定是基于最新baseline的agcn模型调训练参数,为了尽可能的照顾到长时间序列的样本以及统计到有效帧长超于1000的样本训练集占有率不容忽视,控制变量,对比AutoPadding的window_size为500、1000的结果,选择了更优的window_size=1000的配置,至于更大的window_size,考虑到带来的训练代价我认为是不可取的。对比了epochs=100和epochs=200的结果,最终选取了结果更好的epochs=200,与之匹配的是Warmup epochs=20;比较了学习率0.05和0.1,最终选取了0.1;也对标签平滑的系数ls_eps进行了调整,最终选取了ls_eps=0.3。当然也对优化器、学习率策略修改过,但没起到好的作用;Mixup系数保持为最初的优值;CutMix不起作用等等。注意,这些的调整基本都是在设好相同随机数种子1024下进行的。
2、在大部分与1相同的配置(除了ls_eps=1)下,基于最新baseline的agcn模型,分别或同时增加特征注意力(如增加SEBlock)、节点(空间)注意力、时间注意力,全料数据训练在A榜最好取得了66.4的成绩。
3、将训练集划分为了训练集(90%)和验证集(10%),为了进行1的参数调整和对模型进行修改,之后所有训练(除特殊说明)都是仅在划分出来的训练集上进行训练,然后在验证集上验证取得最优(1个epoch验证1次)的验证模型。我们的划分代码中不涉及随机性,在数据集本身样本存放顺序没变下可以保证每次的划分是一致的,从而可以保证可复现性。
4、除注意力机制以外,对模型进行过的一些修改,为了扩大时域感受野,我增加了时域卷积的空洞参数为2、3、4等等,采取多分支级联形式,后来看论文发现这个方向的主流模型早都是这样做了,我加了之后提升不是很满意;由于易过拟合,然后对于改过的这些模型进行过增加模型深度并增加随机深度、增加dropout等等,没有大的提升。之后几乎看完了最近所有相关顶会论文,逐步更换著名的2s-Agcn、Ms-Agcn模型、Ms-G3D模型,发现跑的很慢,性能没怎么提升,比最初的agcn还容易过拟合,也进行过自适应图拓扑结构构建方法修改、模型结构修改等,发现训练速度严重影响了我验证想法,当然那些想法也没起到正的作用。
5、对数据进行处理,看到不少论文的数据,不是padding 0进行补全,而是replay进行补全,故也尝试了对训练、验证数据进行replay之后训练验证,发现更易过拟合了,性能更差了;发现数据集类别分布不均匀,我们对数据集进行label shuffle进行数据集类别均匀扩增,同时对dropout等参数进行调整,发现没有带来性能提升,估计是难识别、易混淆的类别不一定是数目少的类别等。
6、基于5,我无意中发现了Focal loss对于训练类别不均衡很有效,可以自适应地可以通过减少易分类样本的权重,使得模型在训练时更专注于难分类的样本。
7、构建节点流、骨骼流、节点运动流、骨骼运动流四流框架进行多模型融合。
相关攻略
Trae在Python数据分析与机器学习项目中主要通过四种方式提供支持:利用Auto模式自动生成并执行端到端分析脚本;通过AgentCLI命令行自动化机器学习建模流程;对现有代码进行智能调试与优化;借助语音交互快速构建数据处理函数。这些功能覆盖了从需求描述到代码生成、模型构建及代码优化的全流程。
在Python编程中,你是否也曾编写过类似的统计代码? 统计词频 count = {} for word in words: if word in count: count[word] += 1 else: count[word] = 1 实际上,这种高频的计数需求,完全可以通过Python内置
Trae稳定支持Python3 10至3 13版本,3 9及以下版本无法运行。Python3 14处于实验性支持阶段,核心功能可能受限。当存在多个3 10以上版本时,Trae优先选择虚拟环境中的解释器,其次为最高系统版本。此外,Trae仅兼容64位Python解释器,不支持32位架构。
在企业级数据采集与自动化运维实践中,IT团队普遍面临一个核心挑战:Python爬虫为何频繁报错,修补维护何时才能终结?随着前端技术演进与动态反爬机制的日益复杂,依赖DOM解析的传统爬虫脚本往往陷入“部署即过时,运行即异常”的困境。本文将深入解析传统爬虫代码脆弱性的根本原因,并系统介绍一种能够重塑数据
很多刚接触Docker的开发者常有一个误解:制作镜像不就是把源代码打包进去就行了吗?实际上,在企业级的标准化开发流程中,直接将源码打包进Docker镜像是非常不专业的做法。这会导致镜像体积臃肿、引入潜在安全风险,并且模糊了“构建环境”与“运行环境”的边界。本文将深入解析Java、Vue、Go、Pyt
热门专题
热门推荐
近期,比特币价格在突破12万美元大关后持续高位盘整,市场目光聚焦于其下一步走向。一个关键的链上指标——Coinbase溢价指数,正释放出强烈的看涨信号,暗示以美国为首的机构资金可能正在为新一轮行情蓄力。 Coinbase溢价飙升:机构买盘强势回归的明确信号 根据权威链上数据分析平台CryptoQua
比特币金融化浪潮:从数字黄金到生产性资产的范式革命 在经历了超过十五年的发展后,比特币(BTC)正站在一个历史性的十字路口。长期以来,其“数字黄金”的标签深入人心,主要被视为一种价值存储工具。然而,一场深刻的变革正在发生:比特币正从一种静态的储值资产,向具备生息能力和金融生产力的资本形态演进。这场被
目录 Metaplanet的比特币收益率在2024年底飙升至300% 上市公司持有比特币总量达100万枚 市场总是充满戏剧性。就在2024年底,日本上市公司Metaplanet的比特币收益率一度冲高至惊人的309 8%。这意味着,其每股对应的比特币持仓价值在短期内增长了超过三倍。进入2025年后,这
Excel中输入身份证号码易出错且格式难控制。可采用直接输入并仔细核对、使用数据验证功能限制位数、利用公式提取出生日期信息,以及批量复制粘贴时确保号码独立分列等方法,以提高录入效率和准确性。
Excel中的空白行会影响排序、筛选和数据分析。针对不同情况,可采用多种方法清理:手动删除适用于少量数据;筛选功能可处理散布的空白行;快捷键能快速定位空白单元格;VBA宏可自动删除大量无规律的完全空行。根据数据情况和操作习惯选择合适方法,能显著提升数据整理效率。





