
双流融合的艺术action-detection 中 RGB 与光流网络如何协同作战【免费下载链接】action-detectiontemporal action detection with SSN项目地址: https://gitcode.com/gh_mirrors/ac/action-detection在视频动作检测领域action-detection 项目Temporal Action Detection with SSN即结构化分段网络的官方开源实现给出了一个经典答案让 RGB 与光流网络双流协同作战。这套源自 ICCV 2017 的方案通过融合静态外观与动态运动两种信号将时序动作检测精度大幅拉升。本文将用通俗语言拆解双流融合原理带你理解光流网络为何是动作检测的第二只眼睛以及 RGB 与光流如何从各自为战走向合二为一。 什么是双流融合动作检测的两大视觉信号一段视频里动作信息藏在两个维度RGB 帧外观信号记录颜色、纹理、物体轮廓回答画面里有什么光流运动信号记录像素在相邻帧之间的位移矢量回答什么东西在怎样动。双流融合正是让两个独立的网络分别学习这两种信号再把结论合并。action-detection 为每种模态各训练一套 SSN 模型正如论文所述一个人看静态照片另一个人盯着运动轨迹最后两人投票决定这是哪个动作。 光流网络如何看见运动动作检测的关键一步光流图是双流架构的燃料。在 action-detection 中光流通常由 DenseFlow 工具在 GPU 上批量提取每个像素位置记录水平x与垂直y两个方向的速度分量因此光流图是2 通道图像而 RGB 帧是 3 通道。两个关键差异藏在源码细节里光流网络输入new_length5即一次堆叠5 帧光流10 通道来捕捉运动趋势而 RGB 只需 1 帧见ssn_models.py中的模态判断逻辑网络首个卷积层需从 3 通道扩展到 10 通道这一步由_construct_flow_model自动完成ImageNet 预训练权重也会被巧妙复用而非从零训练。python binary_train.py thumos14 Flow -b 16 --lr_steps 20 40 --epochs 45 SSN 如何组织双流输入结构化分段网络的时空分工有了双流输入SSN 模型核心在ssn_models.py再完成结构化的分工把每个动作候选片段切成**开始段starting、过程段course、结束段ending**三部分由ops/ssn_ops.py中的 STPP结构化时序金字塔池化分别聚合特征同时输出动作分类、完整性评估与边界回归三个结果。这种三阶段结构与双流输入天然互补——RGB 负责回答这是不是跳高光流负责回答起跳和落地发生在哪一帧两者各司其职。 双流协同作战的三种融合方式融合位置决定了协同的深度常见有三种融合方式原理特点数据级融合把 RGB 与光流拼成多通道输入简单但模态信息互相干扰特征级融合网络中间层特征拼接后继续前向需要改造网络结构分数级融合两个模型各自输出分数再加权平均✅ action-detection 采用灵活稳健action-detection 采用分数级融合RGB 与 Flow 各自独立训练、独立推理得到检测分数评估时由eval_detection_results.py的merge_scores函数把多个分数列表按权重合并默认等权平均也可通过--score_weights手动调配两个模态的话语权。python ssn_test.py thumos14 RGB checkpoint_rgb.pth.tar result_rgb.pkl python ssn_test.py thumos14 Flow checkpoint_flow.pth.tar result_flow.pkl python eval_detection_results.py thumos14 result_rgb.pkl result_flow.pkl这种训练时各自为战、测试时合体输出的设计让双流无需同时在线训练更省显存融合策略还能随时调优。 实测数据RGBFlow 融合到底强在哪以 THUMOS14 基准mAP0.5 IoU为例README 中公开的参考模型成绩一目了然网络结构RGB 单流Flow 单流RGBFlow 融合BNInception16.1822.5027.36BNInception (Kinetics 预训练)21.3127.9332.50InceptionV318.2823.3028.00融合后的指标几乎等于两流之和再往上跳一截——BNInception 上 RGBFlow 比最强单流高出约 5 个百分点这正体现了双流信息互补的价值静态外观与动态运动的盲区被彼此补齐。 实操指南一键复现双流融合流程动手复现只需四步数据与配置均已就绪准备数据clone 仓库后下载 THUMOS14 或 ActivityNet v1.2 视频用 DenseFlow 提取 RGB 帧与光流图生成候选片段先用gen_sliding_window_proposals.py生成滑窗候选再用binary_train.py训练二分类 actionness 模型最终由gen_bottom_up_proposals.py产出 TAG 候选列表data/目录已内置归一化样例分别训练双流把MODALITY分别替换为RGB与Flow运行ssn_train.py两份 checkpoint 各自落地ssn_opts.py中可查看全部训练参数合并评估按上文命令把两个结果的 pickle 一并喂给eval_detection_results.py即可看到融合后的 mAP 明显超过任何单流。 小结双流融合的艺术在于合而不同action-detection 告诉我们双流融合的艺术不在网络多复杂而在分工清晰、合谋有道RGB 与光流各练各的内功独立训练最后在分数层面取长补短加权融合。想进一步研究双流细节不妨深入ssn_models.py的模态分支与ops/ssn_ops.py的 STPP 实现你会在每一行代码里看到这场协同作战的精心设计。【免费下载链接】action-detectiontemporal action detection with SSN项目地址: https://gitcode.com/gh_mirrors/ac/action-detection创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考