光流适用在连续的图像系列(视频流)中,描述本身或画面目标的运动状态;在目标跟踪、运动分析、甚至slam中都有广泛应用。

opencv里就有不少光流算法,其中很经典也是当前被调用最多的的Lucas-Kanade算法;参看

calcOpticalFlowPyrLK(...)

2006年,Edward Rosten在各种慢速角点检测中给出了一种快速角点检测方案,取名FAST;后续也有相关改进。

http://www.edwardrosten.com/work/fast.html

http://www6.in.tum.de/Main/ResearchAgast

可以参看opencv

FastFeatureDetector

FAST角点重点强调速度快,角点的质量不如Harris、SIFT、SURF等慢速角点;可是天下那啥,为快不破,于是火了,在各种实时系统中或追求速度的系统中,都有他的身影,甚至随后还发展了不少与之配套的二值特征描述ORB,BRIEF,BRISK等。

2014年,Matthieu Garrigues,Video Extruder A real-time semi dense point tracker,给出了一种基于FAST的光流方法,速度+性能很是惊艳。其中为每个FAST角点制定16维灰度描述,梯度下降搜索,以及块光流估计是其成功的亮点。不过他不关注角点分布。

Video%20Extruder%20A%20real-time%20semi%20dense%20point%20tracker

2017年CVPR,有篇文章JiaWang Bian,GMS: Grid-based Motion Statistics for Fast, Ultra-Robust Feature Correspondence;介绍如果更好的筛选匹配点。其中本质的思想就是局部刚体约束,处在同一局部的特征点要有一致性运动(光流),否则剔除;该方法在一些复杂运动目标,或孤立点对上,有局限性。

https://github.com/JiawangBian/GMS-Feature-Matcher

有了上面种种,在实际应用中,希望角点稀疏的同时,尽可能均匀分布在画面的各个区域(对SLAM特别有好处);于是设计如下方案:
1. 金字塔结构(有下往上匹配)-> 满足快速运动目标
2. FAST角点,网格滤波,尽量均匀分布 -> 稀疏,但均匀,可设定期望角度数,demo展示默认2048个
3. 16维梯度描述 + 梯度下降搜索 -> 相比Matthieu Garrigues,描述提取可以更简单
4. 局部方向一致性约束 -> 类GMS约束
5. 自动FAST角点补缺 -> 维持稀疏下的稠密度,保证有期望数目的种子点去做后续跟踪

Demo介绍:

运行程序,可以看到界面;
[V] - 快捷键,选择测试视频流

[C] - 快捷键,打开usb摄像头

选择测试数据,即可看到相关效果。

DEMO下载链接
http://pan.baidu.com/s/1bo203fx

如果运行出错,请自行安装VC_RedistInstaller.exe

快速稀疏角点光流框架(Fast sparse corner optical flow framework)的更多相关文章

  1. RDIFramework.NET -.NET快速信息化系统开发整合框架 【开发实例 EasyUI】之产品管理(WebForm版)

    RDIFramework.NET—.NET快速开发整合框架 [开发实例]之产品管理(WebForm版) 接上篇:RDIFramework.NET (.NET快速信息化系统开发整合框架) [开发实例]之 ...

  2. RDIFramework.NET-.NET快速信息化系统开发整合框架 【开发实例 EasyUI】之产品管理(MVC版)

    RDIFramework.NET—.NET快速开发整合框架 [开发实例]之产品管理(MVC版) 接上篇:RDIFramework.NET (.NET快速信息化系统开发整合框架) [开发实例]之产品管理 ...

  3. JavaScriptOO.com – 快速找到你需要的 JS 框架

    JavaScriptOO.com 集合了目前 Web 开发中最常用的422(截至目前)款 JavaScript 框架,你可以根据功能类别(Ajax,动画,图表,游戏等)进行过滤和排序,快速找到你需要的 ...

  4. HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID

    HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID HealthKit开发准备工作 在开发一款HealthKit应用程序时,首先需要讲解HealthKit中有哪些类,在i ...

  5. TensorFlow RNN MNIST字符识别演示快速了解TF RNN核心框架

    TensorFlow RNN MNIST字符识别演示快速了解TF RNN核心框架 http://blog.sina.com.cn/s/blog_4b0020f30102wv4l.html

  6. 光流法(optical flow)

    光流分为稠密光流和稀疏光流 光流(optic flow)是什么呢?名字很专业,感觉很陌生,但本质上,我们是最熟悉不过的了.因为这种视觉现象我们每天都在经历.从本质上说,光流就是你在这个运动着的世界里感 ...

  7. 光流optical flow基本原理与实现

    光流(optical flow)是什么呢?名字很专业,感觉很陌生,但本质上,我们是最熟悉不过的了.因为这种视觉现象我们每天都在经历.从本质上说,光流就是你在这个运动着的世界里感觉到的明显的视觉运动(呵 ...

  8. 主流PHP框架间的比较(Zend Framework,CakePHP,CodeIgniter,Symfony,ThinkPHP,FleaPHP)

    Zend Framework 优点: Zend Framework大量应用了PHP5中面向对象的新特征:接口.异常.抽象类.SPL等等.这些东西的应用让Zend Framework具有高度的模块化和灵 ...

  9. 光流(optical flow)和openCV中实现

    转载请注明出处! ! ! http://blog.csdn.net/zhonghuan1992 光流(optical flow)和openCV中实现 光流的概念:        是Gibson在195 ...

随机推荐

  1. REDIS线上问题

    这周终于解决了Redis访问经常超时的问题,终于可以踏实睡觉了.从上周就开始纠结在这个问题上,可以用寝食难安来形容,感觉这个问题就像个定时炸弹一样,虽然根据手搜的访问量,极少的Timeout Erro ...

  2. linux下统计目录下所有子目录的大小

    du -sh * --exclude=tar |awk '{v=substr($1,length($1),1)}v=="G"{$0="1G "$0}v==&qu ...

  3. 【python库安装问题解决】UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 121: invalid start byte

    好久没用python了...今天随便pip安装个库突然报错: Exception:‘’ (most recent call last):  File "C:\ProgramData\Anac ...

  4. Spring读取资源的接口Resource笔记

    这个是Resource接口的继承体系图.这个接口就是一个资源描述符,抽象的描述了类路径下或者是文件系统中的文件.比如一个Resource接口的实现类的一个实例就代表一个的资源,比如用一个Resourc ...

  5. JavaScript-2.内置对象---简单脚本之弹出对话框显示当前时间 ---ShinePans

    <html> <head> <meta http-equiv="content-type" content="text/html; char ...

  6. k8s存储 pv pvc ,storageclass

    1.  pv  pvc 现在测试 glusterfs  nfs  可读可写, 多个pod绑定到同一个pvc上,可读可写. 2. storageclass  分成两种 (1)  建立pvc, 相当于多个 ...

  7. USB耳机声卡-音频输入/输出控制器:DP108替代兼容CM108

    DP108是一款完全替代CM108的高度集成的单芯片USB音频解决方案芯片.方便的USB即插即用的兼容性,用户可以快速创建易用性,高质量和便携式USB音频产品基于高度集成的单芯片解决方案.所有重要的模 ...

  8. (未解决)记录一次登录&jmeter,留下的一地鸡毛

    一般的登录校验过程是这样的:客户端发起请求,拿到服务器给的“令牌”,再次发起请求,服务器验证“令牌”是否正确,从而返回给客户端是登录成功还是登录失败.然后我按照这个流程,用jmeter去模拟了登录过程 ...

  9. 删除iptables nat 规则

    删除FORWARD 规则: iptables -nL FORWARD --line-numberiptables -D FORWARD 1 删除一条nat 规则  删除SNAT规则 iptables ...

  10. MVC下载文档

    public FileStreamResult DownFile(string content,string name) { ProInterface.ISubject ems = new ProSe ...