全面回顾 | 基于深度学习的光流估计算法汇总

深度学习在光流估计中的应用与发展
光流估计是计算机视觉中的关键技术,通过连续帧间的像素运动来理解视频内容。FlowNet是首个基于深度学习的光流估计算法,后续的FlowNet2.0和PWC-Net等不断优化性能和效率。 LiteFlowNet2和RAFT等方法进一步减小模型规模,提升速度和精度。GMA则聚焦于解决遮挡点的光流估计问题。这些发展展示了深度学习在光流估计领域的巨大潜力。

光流估计是计算机视觉研究中的一个重要方向,其不像其他感知任务会显式的在应用中呈现。如今,光流估计也在基于视频的任务中承担着越来越重要的作用。

光流的基本概念

光流(Optical Flow)是一个有关物体运动的概念。最早由Gibson提出,描述的是空间中运动的物体在成像平面上,造成像素运动的瞬时速度。主要由以下三类组成:

  • 场景中前景目标本身在移动

  • 成像平面在移动(比如,相机)

  • 或者两者共同运动而所产生的混合动作

光流是在一系列连续变化的图像中产生类似光“流动”的效果,故简称为光流。光流是一个有方向、有长度的矢量,光流估计的目的就是根据2个连续的帧来求解对应像素的运动速度(或偏移量)。根据是否选取图像稀疏点进行光流估计,可以将光流估计分为稀疏光流和稠密光流,demo如下所示:

视频链接:https://github.com/open-mmlab/mmflow

OpenCV也集成了相应的算法接口,稀疏光流cv2.calcOpticalFlowPyrLK()和稠密光流cv2.calcOpticalFlowFarneback(),其中稀疏光流估计算法是最经典的Lucas-Kanade算法,在此不再赘述。

FlowNet

首篇基于深度学习的光流估计算法FlowNet,收录于ICCV2015。FlowNet构建了能够将光流估计问题作为监督学习任务来解决的CNN。提出并比较了两种架构,一种通用架构,另一种包括在不同图像位置关联特征向量的层。由于缺乏相关标注数据集,FlowNet还生成了一个大型合成 Flying Chairs数据集。实验结果表明,在合成数据集上训练的模型可以很好的推广到现实场景,如 Sintel 和 KITTI,在 5 到 10 fps的帧率下实现具有不错的性能。

b04001aa33b4df471ecd8bd234548d48.png

FlowNet的输入为待估计光流的两张图像,输出即为图像每个像素点的光流。光流的评价指标或损失函数EPE(End-Point-Error),定义为预测的每个像素的光流(2维向量)和groundtruth之间的欧式距离。

对于训练数据集,人工标注光流真值几乎不可能。因此,作者设计了一种生成的方式,得到包括大量样本的训练数据集FlyingChairs。其生成方式为对图像做仿射变换生成对应的图像。为了模拟图像中存在多种运动,比如相机在移动,同时图像中的人或物体也在移动。作者将虚拟的椅子叠加到背景图像中,并且背景图和椅子使用不同的仿射变换得到对应的另一张图,如下图所示:

2a94fec858ae22d171e90d757ef7417d.png

FlowNetSimple

FlowNet提出的通用架构为FlowNetSimple,即将两个输入图像堆叠在一起,

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值