申明:本文非笔者原创,原文转载自:http://blog.csdn.net/carson2005/article/details/7581642

光流的概念是Gibson在1950年首先提出来的。它是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的。其计算方法可以分为三类:

(1)基于区域或者基于特征的匹配方法;

(2)基于频域的方法;

(3)基于梯度的方法;

简单来说,光流是空间运动物体在观测成像平面上的像素运动的“瞬时速度”。光流的研究是利用图像序列中的像素强度数据的时域变化和相关性来确定各自像素位置的“运动”。研究光流场的目的就是为了从图片序列中近似得到不能直接得到的运动场。

光流法的前提假设:

(1)相邻帧之间的亮度恒定;

(2)相邻视频帧的取帧时间连续,或者,相邻帧之间物体的运动比较“微小”;

(3)保持空间一致性;即,同一子图像的像素点具有相同的运动

这里有两个概念需要解释:

运动场,其实就是物体在三维真实世界中的运动;

光流场,是运动场在二维图像平面上的投影。

如上图所示,H中的像素点(x,y)在I中的移动到了(x+u,y+v)的位置,偏移量为(u,v)。

光流法用于目标检测的原理:给图像中的每个像素点赋予一个速度矢量,这样就形成了一个运动矢量场。在某一特定时刻,图像上的点与三维物体上的点一一对应,这种对应关系可以通过投影来计算得到。根据各个像素点的速度矢量特征,可以对图像进行动态分析。如果图像中没有运动目标,则光流矢量在整个图像区域是连续变化的。当图像中有运动物体时,目标和背景存在着相对运动。运动物体所形成的速度矢量必然和背景的速度矢量有所不同,如此便可以计算出运动物体的位置。需要提醒的是,利用光流法进行运动物体检测时,计算量较大,无法保证实时性和实用性。

光流法用于目标跟踪的原理:

(1)对一个连续的视频帧序列进行处理;

(2)针对每一个视频序列,利用一定的目标检测方法,检测可能出现的前景目标;

(3)如果某一帧出现了前景目标,找到其具有代表性的关键特征点(可以随机产生,也可以利用角点来做特征点);

(4)对之后的任意两个相邻视频帧而言,寻找上一帧中出现的关键特征点在当前帧中的最佳位置,从而得到前景目标在当前帧中的位置坐标;

(5)如此迭代进行,便可实现目标的跟踪;

Optical_Flow(1)相关推荐

  1. HALCON示例程序optical_flow.hdev如何使用optical_flow_mg计算图像序列中的光流以及如何分割光流。

    HALCON示例程序optical_flow.hdev如何使用optical_flow_mg计算图像序列中的光流以及如何分割光流. 示例程序源码(加注释) 关于显示类函数解释 dev_update_o ...

  2. Optical_Flow(4)

    申明:本文非笔者原创,原文转载自:http://blog.csdn.NET/crzy_sparrow/article/details/7407604 本文目录: 一.基于特征点的目标跟踪的一般方法 二 ...

  3. Optical_Flow(3)

    本文转自:http://blog.csdn.net/zouxy09/article/details/8683859 光流Optical Flow介绍与OpenCV实现 光流(optic flow)是什 ...

  4. Optical_Flow(2)

    本文转自:http://blog.csdn.net/justremind/article/details/23662273 1. 光流概念的介绍 光流的概念是Gibson在1950年首先提出来的,它是 ...

  5. PX4 - position_estimator_inav

    by luoshi006 欢迎交流~ 个人 Gitter 交流平台,点击直达: 参考: 1. http://dev.px4.io/advanced-switching_state_estimators ...

  6. pixhawk position_estimator_inav.cpp思路整理及数据流

    写在前面: 这篇blog主要参考pixhawk的高度解算算法解读,并且加以扩展,扩展到其他传感器,其实里面处理好多只是记录了流程,至于里面实际物理意义并不是很清楚,也希望大牛能够指导一下. 概述: 整 ...

  7. pixhawk 整体架构的认识

     此篇blog的目的是对px4工程有一个整体认识,对各个信号的流向有个了解,以及控制算法采用的控制框架. PX4自动驾驶仪软件可分为三大部分:实时操作系统.中间件和飞行控制栈. 1.NuttX实时 ...

  8. Px4源码框架结构图

     此篇blog的目的是对px4工程有一个整体认识,对各个信号的流向有个了解,以及控制算法采用的控制框架. PX4自动驾驶仪软件可分为三大部分:实时操作系统.中间件和飞行控制栈. 1.NuttX实时 ...

  9. opencv光流例程_OpenCV 4.4 发布!新增YOLOv4 和 EfficientDet 推断支持

    新增特性: 1. 支持 YOLOv4! OpenCV一直对较为实用的YOLO系列算法情有独钟. 2. ONNX增加支持Resnet_backbone 3. 支持谷歌目标检测算法 EfficientDe ...

最新文章

  1. 从JAVA转学习Go——Go在eclipse的环境搭建
  2. 一道关于回文的笔试题
  3. Android中的帧布局
  4. Dojo EnhancedGrid Pagination
  5. wpf的tabcontrol获取当前选中的名字_技巧:ANSA中如何快速批量修改PID名字
  6. ios10中禁止Safari浏览器用户缩放页面
  7. leetcode - 5. 最长回文子串
  8. 【整数转字符串】LeetCode 9. Palindrome Number
  9. 近期14个“AI产品经理”职位JD推荐(覆盖北京、上海、深圳、成都、重庆、杭州)
  10. msdia80.dll文件出现在磁盘根目录下的解决方案
  11. H5 页面36种漂亮的CSS3网页按钮Button样式
  12. 新闻稿标题写作中的五大技巧
  13. android雪花飘落动画,Android自定义View——从零开始实现雪花飘落效果
  14. 线程初步(四)--小练习
  15. python matplotlib画爱心
  16. java多线程12:阻塞队列Queue
  17. 【NLP】中文分词:原理及分词算法
  18. linux usb 网络摄像头,树莓派|Linux有问必答:如何在树莓派上安装USB网络摄像头...
  19. 怎么给word文档注音_请教如何在WORD文档中给汉语拼音加上声调?
  20. VisualStudio神级插件Resharper技巧基础入门到骨灰玩家使用全教程+Resharper性能优化...

热门文章

  1. openstack-5:安装rabbitmq
  2. 用python查找指定格式或名称的文件及修改指定文件夹名称
  3. 或许每条喵咪上辈子都是陨落的码农
  4. layui-概念-入门-总结
  5. 本机Ajax异步通信
  6. 网段:192.168.6.0的机器A要访问网段:10.1.56.0的机器B
  7. How ASP.NET MVC Works?
  8. Asp.net MVC 示例项目Suteki.Shop分析之---ViewData
  9. mysql将备份的数据导入_成功将MySQL的大型数据导入导出和备份(转载)
  10. struts2,jsp,freemarker编程小技巧