光流介绍与FlowNet

主要由于需求原因,需要了解一些Optical Flow相关知识
于是写下这篇入门介绍文章

Optical Flow(光流) 介绍

segmentation  : 像素级的分类
光流估计     : 像素级的回归

光流估计   预测连续图片序列中每个像素的速度(大小与方向)

例如给定第t帧与t+1帧,求每个像素的运动速度与方向
It(x1,y1) = It+1(x2,y2) = It(x1 + vx,y1 + vy)
(vx,vy)即为我们要预测的

光流场 (Optical Flow Field) : 整张图片的光流

光流场是个双通道图像,尺寸与原图相等

这里写图片描述

FlowNet

FlowNetCorr

这里写图片描述

如图,网络整体还是很容易理解的
灰色箭头是给了一条支路用于concat操作,U-net,densenet等网络中已经屡见不鲜
conv_redir是1*1卷积用于压缩至32维

corr定义如下
其实就是拿第二个feature map去卷积 (其实是相关运算) 第一个feature map
这里写图片描述
f1:第一个特征图  f2:第二个特征图
x1,x2是位置
卷积核尺寸 : 以x2为中心的 (2k+1)*(2k+1) 的区域 , 通道与原feature map一致
卷积核个数 : 即x2可选位置的个数
      x2可取x1为中心周围 (2k+1)*(2k+1) 的所有位置
      论文中k取10,即(2*10+1)*(2*10+1)=441个通道

refinement

这里写图片描述

主要为堆叠deconv和concat操作
其实这部分加上Corr运算之后的部分合起来和Unet没啥区别

其中 flow5/4/3 等是把concat起来的feature map进行预测光流场(conv成双通道再deconv)
再和下一个feature map 进行 concat

final

总而言之就是 Corr + U-net + flow
模型以实验得出为主
也是较早的一个模型,好像flow net 2.0也出来了,主要用于我粗略了解这方面的知识