比赛介绍
时序动作定位(提案生成)是计算机视觉和视频分析领域一个具有挑战性的任务。本次比赛不同于以往的ActivityNet-TAL,FineAction等视频时序检测动作定位比赛,采用了更精细的动作数据集–乒乓球转播画面,该数据集具有动作时间跨度短、分布密集等特点,给传统模型精确定位细粒度动作带来了很大挑战。
数据集介绍及处理
数据集介绍
本次比赛的数据集包含了19-21赛季兵乓球国际比赛(世界杯、世锦赛、亚锦赛,奥运会)和国内比赛(全运会,乒超联赛)中标准单机位高清转播画面的特征信息,共包含912条视频特征文件,每个视频时长在0~6分钟不等,特征维度为2048,以pkl格式保存。
数据处理方案
1.数据预处理
本赛题数据集中每条视频特征有不同的帧长(训练集帧长范围为464~8992,其中90%的序列帧长超过8704),对于如此长且长度不统一的视频序列,将其直接输入到模型中用于训练是不现实的。我们对最初的训练集按39:1的比例进行划分,得到新的训练集与验证集。当然,可以按照其他比例如9:1进行数据集划分,但是因为我们设计的验证方案(后续会提到)在数据量较多时耗费的时间更长,因此在验证可靠性与验证时间之间做出了取舍。 训练集 参照BMN[1]论文单元3.5中Training Data Construction部分所讲,我们也以一个滑动窗口对每一个长视频序列进行切分,其中步长为窗口长度的一半,同时要注意的是我们所保留的每一个视频切片必须包含至少一个完整提案。但是滑动窗口的长度如何选取呢? 首先我们对训练集相应的动作提案标签进行分析,总共有19054个提案标签(长度范围为1~831),分布如图1所示。我们设提案长度为D,当D=93时,已能够覆盖99.9%的动作提案。因此我们选择提案长度D为100,足以覆盖几乎全部的动作提案。当然为了减少训练推理时计算量,也可以选择更小的D,如D=50。正如冠军团队所说,PaddleVideo的anet_pipeline.py第50行出现错误,使得视频切片长度T与提案长度D不相等时便报错,故我们默认滑动窗口长度T与D相等,皆为100。当然,当T稍微更大时,比如T=200,可以使模型更好地建模长提案的上下文,但会带来更多的计算代价,因此T大小的选择可以在速度与性能之间进行权衡。模型设计思路
这里围绕我们的最终模型进行讲述,思路演进可以见[2]。
模型整体架构
首先要提及的是我们的基础网络,即百度自研的BMN[1]模型,如图2所示。
Base Module
为了使模型轻量,BMN[1]的基础模块使用的是两层的3x3分组卷积。由于分组之后,每通道信息只在各组中融合,而组与组之间无信息流通,会使得模型丢失一部分信息,降低模型容量。轻量化网络ShuffleNet采用Channel Shuffle操作使得信息跨组流通来解决这个问题,同样地,在这里我们也引入了Channel Shuffle操作。当然,也可以使用1x1卷积来解决,但会引入额外的参数和计算量。Channel Shuffle操作的代码如下:
Temporal Evaluation Module
与BMN[1]模型一致,我们沿用了它的TEM模块结构,仅在第一个卷积的输入通道数有差别。当然,修改过的SE模块、non-local块等注意力机制也曾应用到两层卷积之间,但提升不大,且引入了额外的计算量,故最终方案没有采用。SE模块代码如下:
Proposal Evaluation Module
PEM模块是BMN[1]模型推理时间占比最大的部分,从图[2]可以看到,PEM模块存在3D卷积和多个2D卷积,带来了巨大的计算耗费。当然我们最终方案沿用的是BMN[1]模型的PEM模块。这里只提及我们做过的一些尝试。首先,如何对3D卷积进行取代?可以采用(2D+1D)来取代3D卷积;也可以减小3D卷积的输出通道数,采用2D卷积与3D卷积两路混合来取代3D卷积;采用3D可分离卷积或分组卷积等。虽然产生了高效的模型,但不可避免地带来了性能下降,不过A榜AUC分数仍能达到48分以上。然后,对2D卷积进行处理,我们尝试2D分组卷积和Channel Shuffle操作来替代,引入U-Net结构等,但相对最终方案性能都略低,但相对高效。总结与完善方向
由于比赛要求不超过两个模型,且提到除了模型精度以外模型数量和模型耗时指标的权重分数会高于其他指标,我们专注于模型本身的设计,在兼顾轻量的同时追求高性能,故TTA等集成方法均没有采用。由于是基于A榜分数改进模型,最终模型不可避免地对A榜测试集过拟合,使得B榜分数下降,因此提高模型泛化性也是未来要改进的一个方向。此外,模型压缩等手段我们均未采用,所以设计容量大但冗余的模型,再进行压缩得到轻量结构也是一个完善方向。当然,模型本身也有许多完善的方向,比如PEM模块的轻量化。参照冠军方案[7],训练数据处理与增强方案也可以进一步完善。最后感谢百度官方提供算力与框架支持,感谢PaddleVideo套件提供强力支持。最后希望PaddleVideo可以把更多前沿的学术成果迁移到飞桨框架,越做越好!参赛项目地址:https://aistudio.baidu.com/aistudio/projectdetail/3548768
PaddleVideo地址:https://github.com/PaddlePaddle/PaddleVideo
参考文献
[1] Tianwei Lin, Xiao Liu, Xin Li, Errui Ding, and Shilei Wen. BMN: Boundary-Matching Network for Temporal Action Proposal Generation[C].In Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019: 3889-3898.
[2] 翟濮成, 基于飞桨实现乒乓球时序动作定位大赛 :B榜第2名方案.
[3] Haisheng Su, Weihao Gan, Wei Wu, Yu Qiao, and Junjie Yan. BSN++: Complementary Boundary Regressor with Scale-Balanced Relation Modeling for Temporal Action Proposal Generation[C]. In Proceedings of the AAAI Conference on Artificial Intelligence. 2021, 35(3): 2602-2610.
[4] Ronneberger O, Fischer P, and Brox T. U-Net: Convolutional Networks for Biomedical Image Segmentation. In International Conference on Medical image computing and computer-assisted intervention. Springer, Cham, 2015: 234-241.
[5] Zongwei Zhou, Md Mahfuzur Rahman Siddiquee, Nima Tajbakhsh, and Jianming Liang. UNet++: A Nested U-Net Architecture for Medical Image Segmentation[M]. Deep learning in medical image analysis and multimodal learning for clinical decision support. Springer, Cham, 2018: 3-11.
[6] Pengfei Zhang, Cuiling Lan, Wenjun Zeng, Junliang Xing, Jianru Xue, and Nanning Zheng. Semantics-Guided Neural Networks for Efficient Skeleton-Based Human Action Recognition[C]. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 1112-1121.
[7] 来路生云烟,路里老咯,基于飞桨实现乒乓球时序动作定位大赛 :B榜第1名方案.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫