视频理解2-I3D

发布时间:2025-12-09 16:29:32 浏览次数:3

  • I3D
  • 简介
  • 视频的模型,最好要在视频的数据集上进行预训练。

    I3D模型在现有的数据集上,效果不错。(在本数据集上训练,然后微调,结果很好)

    在视频中间选一帧,然后做动作分类。效果已经很好了。

  • 摘要
  • (1)提出了新的数据集

    以前的数据集太小,因此无法区分算法的优劣。因此重新构造了数据集。

    每个视频clip有10s,并且精准的切割(标注)。

    在此大规模上训练过的数据集,在小数据上有很大的提升。

    (2)提出了新的模型

    I3D :双流扩展的3D网络。其来自2D网络的扩展,将已经训练好的2D网络,将其中的3*3的kernel变为3*3*3.

    好处,不用专门设计视频理解的网络。

    并且,可以拿2D网络的参数,做3D网络的初始化。

  • 引言
  • imagnet 不仅仅可以训练深度神经网络,还可以对其他任务进行迁移学习。
  • 目前有的数据集,才1w左右。因此,作为提出新的数据集KINECT
  • Kinect400 有400个类别,每个类别有400以上的视频。
  • 拿最新的模型,在此数据集上进行benchmark,测试数据集的难易程度。
  • 3D虽然已经拿到的时间信息,但是不够好,因此还是增加了two-stream
  • CNN + LSTM
  • 最后一个时间戳上的结果,加上fc,softmax,进行分类。

    结果:效果不好。已经被抛弃。

  • 3D-ConvNet
  • 把一个视频,分成一个个视频段。

    每个视频段是1-k张图像,作为一个volume。然后把此视频扔给网络。

    然后此网络就是要进行时空学习,不仅要处理二维的外观特征,还要处理时间流信息。

    因此,此处的所有的卷积,池化,都是3*3*3.

    导致参数量很大。需要大数据才能学习。

    最后返回一个特征,然后在特征上进行全连接层,进行分类。

  • Two-steam
  • 只需要学习 光流 到 动作的映射关系。

  • 3D-Fused Two-stream
  • 加权平均,用3DCONV替代了。之前是late fusion,现在是early fusion,在没有出结果的时候,将特征融合在一起。

    此处的融合,也可以用lstm做,但是效果不好,因此还是用3dconv做。

    先用3d后用2d,还是先用2d,后用3d效果好么?结论:先2d,后3d效果最好。

    好训练,结果也好。

  • Two-stream 3D-ConvNet
  •  有足够数据集上,3d效果,明显比2d效果好。

    但是3dcnn也不是万能的,还是有一些东西学不到。

    如果用光流帮助她以下,效果会更好。

    因此,作者还是采用双流的网络,但是每一个分支都是3D的卷积。

    既然每一分支都是3d卷积网络,因此也不存在late fusion 或者early fusion。

    因此,就直接加权平均,出结果。

  • Inflating 2D TO 3D
  • 直接把2d网络直接转化为3D。

  • Bootstraping 3d filter from 2d filters
  • 验证迁移学习的参数初始化对不对,直接采用相同的输入,相同的参数,得到输出。看输出是否相同。

    现在:直接将图像重复,合成视频;将参数沿时间维度重复,进行初始化。

    输入为NX,参数为NW,则输出为N份的WX。

    如果想要输出一致,则需要将结果除以N。

    这样在往后面传递的时候,后面的参数,也不会有违和感。

    《文字看不懂的时候,就看代码》

  • Inflated inception – V1
  • 时间维度,不做下采样。

    即:输入4帧,输出也是64帧。这个也就1-2s,对于描述动作来说,也就不要下采样了。

    但是在后面的维度上,做了下采样。

  • 结果
  • 需要做网站?需要网络推广?欢迎咨询客户经理 13272073477