简介
本文是对 视频理解论文串讲(上) 和 视频理解论文串讲(下) 的笔记, 推荐去看原视频以及原论文,可以对近几年来视频理解领域的经典论文和方法有一个较为全面、简要的insight。
目录
DeepVideo
2D卷积,3种fusion
多分辨率(双流)
双流(single frame:空间, 光流:时间), 最后做fusion
双流网络+尝试各种pooling, conv pooling效果最好, LSTM做特征融合
LSTM做特征融合
双流网络+early fusion(空间流和时间流)
early fusion(空间流和时间流)
双流网络+把视频切开(分别送入双流网络,空间流和时间流输出分别做fusion, 最后空间流和时间流late fusion(加权平均))
trick:
- 用ImageNet预训练的模型处理光流, 将第一层对3个channel做平均,再复制20遍,效果特别好,被广泛使用
- 提出partial BN: 第一层BN打开,其他所有BN冻住(由于第一层变了),被广泛使用 (数据集太小, BN容易过拟合, )
- 数据增强:corner cropping(在边角crop) and scale-jittering(改变长宽比), 被广泛使用
3D版的VGG
膨胀的3D卷积网络,inflated操作,利用在2D卷积网络上预训练好的参数
把self-attention(时空注意力)用于视频理解
空间2D卷积+时间1D卷积
slow: 低帧率,小输入,大网络,空间信息
fast: 高帧率,大输入,小网络,时间信息
将图片切成16x16大小的一系列token,作为输入直接送入标准的transformer
借鉴BERT的想法,用特殊的*token的输出用作分类,或者和CNN一样用GAP
这里的patch embedding层就是一个全连接层
把ViT运用到视频领域
5种不同的时空注意力拆分,主打第3种
输入为图片的MViT:空间分辨率减少,通道数增加
在Pool层(一个stage中的第一个MHPA中)降低时空分辨率,在MLP输出层(一个stage的最后一个MLP)增加D(2倍)
每个stage最后的MLP后的残差连接需要加一层Linear匹配维度
Frame shuffling, 准确率降低,说明较好地对时间进行了建模
改进绝对位置嵌入为相对位置嵌入
残差池化连接,以增加信息流,加快池化注意块的训练
Pooling attention and window attention, 减少计算复杂度
Hwin, 计算一个窗口内的局部注意力,除了最后三个阶段的最后一个块,并将其输入 FPN