Overview

What is Optical Flow?

光流(optic flow)是什么呢?名字很专业,感觉很陌生,但本质上,我们是最熟悉不过的了。因为这种视觉现象我们每天都在经历。从本质上说,光流就是你在这个运动着的世界里感觉到的明显的视觉运动(呵呵,相对论,没有绝对的静止,也没有绝对的运动)。例如,当你坐在火车上,然后往窗外看。你可以看到树、地面、建筑等等,他们都在往后退。这个运动就是光流。而且,我们都会发现,他们的运动速度居然不一样?这就给我们提供了一个挺有意思的信息:通过不同目标的运动速度判断它们与我们的距离。一些比较远的目标,例如云、山,它们移动很慢,感觉就像静止一样。但一些离得比较近的物体,例如建筑和树,就比较快的往后退,然后离我们的距离越近,它们往后退的速度越快。一些非常近的物体,例如路面的标记啊,草地啊等等,快到好像在我们耳旁发出嗖嗖的声音。

光流除了提供远近外,还可以提供角度信息。与咱们的眼睛正对着的方向成90度方向运动的物体速度要比其他角度的快,当小到0度的时候,也就是物体朝着我们的方向直接撞过来,我们就是感受不到它的运动(光流)了,看起来好像是静止的。当它离我们越近,就越来越大(当然了,我们平时看到感觉还是有速度的,因为物体较大,它的边缘还是和我们人眼具有大于0的角度的)。

  • Given a set of points in an image, find those same points in another image.
  • Or, given point [ux, uy]T in image I1 find the point [ux + δx, uy + δy]T in image I2 that minimizes ε:
  • Tracking points (“features”) across multiple images is a fundamental operation in many computer vision applications:
    • To find an object from one image in another.
    • To determine how an object/camera moved.
    • To resolve depth from a single camera. …or stereo.

GPU加速光流法

光流的计算较为耗时,以往我们能够实时应用的光流基本都是稀疏光流(如Lucas Kanade光流法,可用于物体跟踪等。其基本思想是提取一些好的特征点 GoodFeaturestoTrack,对这些特征点利用邻域光流一致性的假设进行计算)。而稠密光流(Dense flow)则只是一种理论上的东西。

这样的尴尬局面被GPU完全打破了!由于稠密光流是对每一个点均计算光流,而且每个点的计算工作基本是相同的,这样的特点极易写成并行程序。opencv3.0 实现的Dense flow 总共有5个,分别是: Brox,fastBM,LK,Farn以及TV-L1。下一篇文章会详细介绍这些光流法的基本原理,这一篇本着先看工程效果的态度测试一下这些光流

Dense/sparse optical flow (with simple block matching, pyramidal LucasKanade, Brox, Farnebac, TV-L1) gpu::FastOpticalFlowBM(), ::PyrLKOpticalFlow, ::BroxOpticalFlow(), ::FarnebackOpticalFlow(), ::OpticalFlowDual_TVL1_GPU(), ::interpolateFrames()

Cuda Accelarated Optical Flow

OpenCV 3 LINK: http://docs.opencv.org/3.1.0/d7/d3f/group__cudaoptflow.html

Selected Paper

  • Berthold K.P. Horn and Brian G. Rhunck. Determining Optical Flow. 1981.
  • G. Farneback , “Two-frame Motion Estimation based on Polynomial Expansion”, 13th Scandinavian Conference, SCIA 2003 Halmstad, Sweden, June 29 – July 2, 2003.
  • T. Brox, A. Bruhn, N. Papenberg, and J.Weickert. High accuracy optical flow estimation based on a theory for warping. In European Conference on Computer Vision (ECCV), pages 25–36, 2004.
  • A. Bruhn, J.Weickert and C. Schn¨orr. Lucas/Kanade meets Horn/Schunk: combining local and global optical flow methods. International Journal of Computer Vision (IJCV), 61(3):211–231, 2005.
  • C. Zach, T. Pock, H. Bischof. A duality based approach for realtime tv-l1 optical flow (2007)
  • Javier Sánchez Pérez, Enric Meinhardt-Llopis, and Gabriele Facciolo, TV-L1 Optical Flow Estimation, Image Processing On Line,3 (2013), pp. 137–150. https://doi.org/10.5201/ipol.2013.26
  • http://www.cs.toronto.edu/~fleet/research/Papers/flowChapter05.pdf
  • A Database and Evaluation Methodology for Optical Flow (http://vision.middlebury.edu/flow/floweval-ijcv2011.pdf)

Selected Post & Repo

  • Particle Video
  • http://docs.opencv.org/3.2.0/d7/d8b/tutorial_py_lucas_kanade.html
  • 光流Optical Flow介绍与OpenCV实现
  • OPENCV3.0 GPU加速光流法(1)
  • http://vision.middlebury.edu/flow/

Source Code

  • http://cs.brown.edu/~black/code.html
  • https://github.com/scienceopen/barron-optflow
  • Optical Flow Matlab/C++ Code
  • Github: Comparisons between available optical flow implementations.

转载于:https://www.cnblogs.com/casperwin/p/6376534.html

Review on Optical Flow Research相关推荐

  1. 【菜鸡读论文】Research on Micro-Expression Spotting Method Based on Optical Flow Features

    Research on Micro-Expression Spotting Method Based on Optical Flow Features 哈喽,大家好,从今天开始更<菜鸡读论文&g ...

  2. 论文阅读:Fast Optical Flow using Dense Inverse Search

    文章目录 1. 论文总述 2021_09_14补充: 2. 光流鲁棒性遇到的挑战 3. 保持精度的同时提高速度的一些方法 4. Fast inverse search for corresponden ...

  3. CNN光流计算2--FlowNet 2.0: Evolution of Optical Flow Estimation with Deep Networks

    FlowNet 2.0: Evolution of Optical Flow Estimation with Deep Networks CVPR2017 Code: https://github.c ...

  4. CNN光流计算--FlowNet: Learning Optical Flow with Convolutional Networks

    FlowNet: Learning Optical Flow with Convolutional Networks ICCV2015 Code: https://lmb.informatik.uni ...

  5. opencv光流Optical Flow

    光流Optical Flow 现在四轴飞行器越来越火,如何在室内进行定位呢?不同于传统四轴的姿态控制,电机驱动,室外定位,都有了一套完整的方案,室内定位还是没有完全成熟.,目前大四轴可以利用的GPS定 ...

  6. 光流Optical Flow介绍与OpenCV实现

    光流Optical Flow介绍与OpenCV实现 文章目录: 一.光流Optical Flow介绍 二.OpenCV实现光流 在学习Super SloMo神经网络生成极慢视频 的时候提到了光流的概念 ...

  7. 光流法 Optical Flow

    最近调研目标跟踪,看到一个光流法,测试了一下它的效果,挺好玩的,这里对找到的资料简单整理总结一下. 对于光流法的介绍,可以参看如下博客http://blog.csdn.net/zouxy09/arti ...

  8. 光流 | OpenCV3实现LK Optical Flow(代码类)

    github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================== ...

  9. 视觉里程计 | OF-VO:Robust and Efficient Stereo Visual Odometry Using Points and Feature Optical Flow

    博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 代码执行环境:Windows 8 ...

最新文章

  1. 《Docker技术入门与实战》读书笔记
  2. 百度面试 中缀表达式变成后缀表达式
  3. 嵌入式linux编译环境搭建,嵌入式Linux之旅——环境搭建篇之交叉编译工具的安装...
  4. r语言和metawin_Windows下使用Rtools编译R语言包
  5. 肝了十几个小时的java反射,希望对大家有所帮助吧!
  6. 3 年后端、4 年前端,聊聊用户认证鉴权
  7. zmap扫描mysql_互联网扫描器 ZMap 完全手册
  8. Paparazzi UAV Lisa/M2飞控使用说明书
  9. inspinia中文管理后台_JAVA项目实战开发电商项目案例(六与七)商品分类与商品模块管理开发
  10. 论文阅读笔记—Exploring Visual Relationship for Image Captioning
  11. 计算机应用软件开机自动启动设置,如何关闭开机自动启动的软件?
  12. mantis Linux安装教程,CentOS Linux安装mantis
  13. X(解释变量)增加一单位标准差,Y(被解释变量)增加多少标准差?
  14. ERROR in ./node_modules/element-plus/es/components/menu-item-group/style/css2.mjs 2:0-54
  15. 网络基础知识(ESP8266开发篇)
  16. imuupdate() 解算
  17. java打雪仗,linux jdk安装--转载
  18. Typescript 2+迷你书 :从入门到不放弃
  19. 十进制浮点数的表示方法
  20. 某游戏公司测试工程师面试题

热门文章

  1. 【Linux】一步一步学Linux——gpasswd命令(90)
  2. 【Linux】一步一步学Linux——du命令(78)
  3. 【Linux系统编程】Linux 线程浅析
  4. mysql安装ssl证书_Mysql配置ssl证书
  5. 饼图大小调整_Excel图表变形计:个性化的创意饼图,原来可以很快做出来!
  6. php+循环定时任务,php定时任务循环执行replace操作无故中断
  7. mongodb与java结合_MongoDB初探系列之四:MongoDB与Java共舞
  8. 防火墙(14)——实现路由转发功能(2)
  9. Shell(7)——case
  10. sparkstreaming(2)——updatestatebykey