• 学习笔记 | Review on Optical Flow Research


    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

    Selected Post & Repo

    Source Code

  • 相关阅读:
    【类的继承与派生】学习笔记
    c++类的学习笔记
    c++链表
    实验六--类和对象
    mission3--dp
    POJ2718Smallest Difference(暴力全排列)
    我也不知道该起什么标题....
    noip2014题解
    Windows平台整合SpringBoot+KAFKA__第2部分_代码编写前传
    Windows平台整合SpringBoot+KAFKA_第1部分_环境配置部分
  • 原文地址:https://www.cnblogs.com/casperwin/p/6376534.html
Copyright © 2020-2023  润新知