论文阅读笔记——双流网络

双流网络论文

视频相比图像包含更多信息:运动信息、时序信息、背景信息等等。

原先处理视频的方法:

  • CNN + LSTM:CNN 抽取关键特征,LSTM 做时序逻辑;抽取视频中关键 K 帧输入 CNN 得到图片特征,再输入 LSTM,进行时间戳上的融合,得到视频的特征。最后将 LSTM 最终时刻的特征接一个 FC 层得到最终结果。
  • 3D 网络:输入 3D CNN,模型参数量大。

    作者认为 CNN 本身适合处理静态信息(如物体的形状、大小、颜色等)而非运动信息。于是采取另一个网络(光溜网络)抽取运动信息,CNN 只需要学习输入光流和最后动作信息之间的映射。
    最后的融合有两种方式:1)late fusion:两个 logits 加权平均得到最终结果;2)将 argmax 结果作为特征再训练一个 SVM 分类器。

光流是描述视频中物体的运动信息,对每个点实际上都是需要计算的,故而是一种密集表示。在本文中,作者将光流值压缩至 [0,255],采用 JPEG 存储。(光流的弊端------存储空间大、提取速度慢)

在本文中,光流采取了两种方式:1)简单叠加:每个点多次光流的叠加,光流点位置不更新;2)按轨迹叠加:每一帧都根据光流轨迹,更新光流点位置。(在本文实验中第一种方式更好,但实际上第二种更合理。)

在光流网络中,对所有视频首先 rescale 至 256,再固定抽取 25 帧(不管视频多长,等间距抽取),对抽取出来的每一帧都做 10 crop(每一帧裁剪 4 个边和 1 个中心,翻转之后再 crop 五张图)。

实验结果

  • 空间流网络:使用预训练模型更好,可以直接使用从 ImageNet 上预训练的模型。
    • From scratch:从头训练,效果更差。
    • Pre-trained + fine-tuning:微调整个模型。因为数据集过小,担心过拟合,实验了 dropout ratio=0.9
    • Pre-trained + last layer:微调最后一层,不担心过拟合。
  • 时间流网络:简单叠加效果更好
    • Single-frame:输入是单张光流图。
    • Optical flow stacking、 Trajectory stacking:简单叠加和按轨迹叠加。

总结

之前的深度学习方法没有利用运动信息,导致效果远不如手工特征,由此引入运动信息------光流;同时双流网络的应用同时表明了,当魔改单个网络无法解决时,可以给模型提供一些先验信息,往往能大幅简化。同时也证明了数据的重要性,更多更好的数据能够提升模型效果、泛化性等一系列问题。

相关推荐
weixin_507929911 小时前
第G7周:Semi-Supervised GAN 理论与实战
人工智能·pytorch·深度学习
AI波克布林3 小时前
发文暴论!线性注意力is all you need!
人工智能·深度学习·神经网络·机器学习·注意力机制·线性注意力
Blossom.1184 小时前
把 AI 推理塞进「 8 位 MCU 」——0.5 KB RAM 跑通关键词唤醒的魔幻之旅
人工智能·笔记·单片机·嵌入式硬件·深度学习·机器学习·搜索引擎
草莓熊Lotso4 小时前
《吃透 C++ 类和对象(中):const 成员函数与取地址运算符重载解析》
c语言·开发语言·c++·笔记·其他
玖別ԅ(¯﹃¯ԅ)5 小时前
PID学习笔记6-倒立摆的实现
笔记·stm32·单片机
2502_927161286 小时前
DAY 40 训练和测试的规范写法
人工智能·深度学习·机器学习
赵英英俊6 小时前
Python day46
python·深度学习·机器学习
想学全栈的菜鸟阿董7 小时前
Django5个人笔记
笔记
盼小辉丶10 小时前
Transformer实战(4)——从零开始构建Transformer
pytorch·深度学习·transformer
ZZHow102412 小时前
JavaWeb开发_Day05
java·笔记·web