首页 > 其他分享 >双流网络two stream network学习笔记草稿(待整理)

双流网络two stream network学习笔记草稿(待整理)

时间:2022-08-24 21:33:31浏览次数:76  
标签:视频 network stream 网络 信息 two 学习 光流 输入

卷积神经网络比较擅长学习局部的特征,而非物体移动的规律
先将运动信息抽取好(光流),再让CNN去学习这种(运动信息到动作分类间的)映射
空间流的输入是单帧图片,而时间流的输入是一系列的光流信息
最后将两个flow得到的概率取加权平均,就得到最终的结果

光流——观察者和场景之间各种物体之间的运动
描述视频里各个物体之间是怎么运动的

如何同时学到两种信息——外观信息和时序(运动)信息
一:提出光流网络
2,在数据量有限的情况下在只有多帧密集光流下训练的网络也能取得良好的效果
3、多任务学习,在视频数据量不足的情况下用同一个网络在两个不同的数据集上进行训练,也能取得良好的效果


视频天生就能实现数据增强
使用late fusion,也就是在logits层面去做合并
之前的early fusion是在中间层进行合并

基于时空学习演变成了3D网络,基于轨迹的学习,演变出了光流法
直接用CNN从视频中学习时空信息效果并不佳,输入一系列单独的视频帧和输入堆叠的图片效果差不多(差)


双流
空间流的输入是单帧图片,从静止图像中做动作识别,其实和图像分类没有本质区别,很多动作和对应物体紧密相连,所以从静止图像中提取信息对动作识别有很大帮助。而且空间网络可以从ImageNet上进行预训练,然后再在小的数据集上进行微调。其backbone为alexnet

而时间流的输入是一系列的光流信息
从数学上将光流分解为竖起和水平两个方向的位移
图像输入和预测出来的光流大小是一样的,每个像素点都可能运动,如果不运动的话运动幅度为0,因为每个像素点都有值,所以叫密集的光流dense optical flow.每两张图会得到一个光流。视频帧数为L则光流数为L-1
如何使用光流:
1、让算出的光流通过一个2D网络,跟图像分类没区别。之前的手工特征处理运用了多个帧之间的光流信息来学习运动信息,所以此处也将多个光流信息叠加到一起

光流叠加
1、直接叠加,将它们resize到需要的相同尺寸后直接stack起来。网络每次取输入都是在同样的位置上取的光流,每次对一张光流图来说都找的是同一点往哪走了
2、轨迹叠加,对于一个点产生了一个位移后下一次继续跟踪它下一步的位移
前者效果会优于后者
3、双向光流 给定L个光流图,将前1/2拿来计算前向光流,后1/2计算后向光流,然后将其叠加

给定L+1帧,得到L个光流图,输入到时间流网络的数据为H*W*2L的张量
时间流网络的架构和空间流差不多,只是第一层的输入维度的channel为2L
光流图的叠加,先是水平方向的位移,再是竖直方向的位置
最后的输出,以UCF101为例,共101个类别,那么时间流和空间流最后的输出维度都是1*101,最后将它们相加取平均,最后再做argmax操作,得分最高的就是最终的结果

实现细节,测试时不论视频多长,都等间距地取25帧,取出的帧先做10 crop,一张图取4个边角和中心,然后再将图像反过来再取一次,一张图就变成10张,对光流也是一样的取的这25帧,从25帧开始连续取11帧,抽得光流,将光流送给时间流网络。最后把所有结果取平均,当空间流和时间流都取完平均后将这两个流的结果取平均(late fusion).测试时像3D网络用的是30view,不同的算法测试方法不尽相同,对比时要考虑这些因素

https://www.bilibili.com/video/BV1mq4y1x7RU

视频看到37min 21s

标签:视频,network,stream,网络,信息,two,学习,光流,输入
From: https://www.cnblogs.com/flyingtester/p/16622358.html

相关文章

  • 1. Two Sum #
    1.TwoSum#题目#Givenanarrayofintegers,returnindicesofthetwonumberssuchthattheyadduptoaspecifictarget.Youmayassumethateachinputwo......
  • NC24953 [USACO 2008 Jan G]Cell Phone Network
    题目链接题目题目描述FarmerJohnhasdecidedtogiveeachofhiscowsacellphoneinhopestoencouragetheirsocialinteraction.This,however,requireshi......
  • csharp: Zip and Unzip files using GZipStream
      usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.......
  • 解决Delphi传stream参数时出现Stream read error错误提示
    有时候我们会把内存流,文件流等作为参数传递给函数内部使用。在传参之前必须加上dMem.Position:=0;不然就会出错。因为如果dMem流是作为其他函数输出流的话,它的Positi......
  • 【笔记】EG3D: Efficient Geometry-aware 3D Generative Adversarial Networks
    EG3D:EfficientGeometry-aware3DGenerativeAdversarialNetworksIntroduction使用单视角2D图片集,无监督地生成高质量且视角一致性强的3D模型,一直以来都是一个挑战。......
  • JaVA-函数式接口&Stream流.
    1.函数式接口1.1函数式接口概述【理解】概念有且仅有一个抽象方法的接口如何检测一个接口是不是函数式接口@FunctionalInterface放在接口定义的上方:如果接口是函......
  • PowerShell教程 - 网络管理(Network Management)
    更新记录转载请注明出处。2022年8月23日发布。2022年8月18日从笔记迁移到博客。网络管理(NetworkManagement)获得网卡信息Get-NetAdapter测试网络连通性实例:......
  • Stream-常见方法(下)
    常见方法跳过前几个:skip如果希望跳过前几个元素可以使用skip方法获取一个截取之后的新流Stream<T>skip(longn);如果流的当前长度大于n则跳过前n个否则将会得到......
  • Attentional Factorization Machines: Learning the Weight of Feature Interactions
    动机本文是2017年IJCAI上的一篇论文。FM方法通过结合二阶特征交互来增强线性回归模型,它将这些特征交互一视同仁,给予它们一个相同的权重,但是并不是所有特征的交互都是有意......
  • Stream-常见方法(中)
    常用方法:映射:map如果需要将流中的元素映射到另一个流中,可以使用map方法。方法签名:<R>Stream<R>map(Function<?superT,?extendsR>mapper);该接口需要一个Funct......