快速稀疏角点光流框架(Fast sparse corner optical flow framework)
光流适用在连续的图像系列(视频流)中,描述本身或画面目标的运动状态;在目标跟踪、运动分析、甚至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)的更多相关文章
- RDIFramework.NET -.NET快速信息化系统开发整合框架 【开发实例 EasyUI】之产品管理(WebForm版)
RDIFramework.NET—.NET快速开发整合框架 [开发实例]之产品管理(WebForm版) 接上篇:RDIFramework.NET (.NET快速信息化系统开发整合框架) [开发实例]之 ...
- RDIFramework.NET-.NET快速信息化系统开发整合框架 【开发实例 EasyUI】之产品管理(MVC版)
RDIFramework.NET—.NET快速开发整合框架 [开发实例]之产品管理(MVC版) 接上篇:RDIFramework.NET (.NET快速信息化系统开发整合框架) [开发实例]之产品管理 ...
- JavaScriptOO.com – 快速找到你需要的 JS 框架
JavaScriptOO.com 集合了目前 Web 开发中最常用的422(截至目前)款 JavaScript 框架,你可以根据功能类别(Ajax,动画,图表,游戏等)进行过滤和排序,快速找到你需要的 ...
- HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID
HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID HealthKit开发准备工作 在开发一款HealthKit应用程序时,首先需要讲解HealthKit中有哪些类,在i ...
- TensorFlow RNN MNIST字符识别演示快速了解TF RNN核心框架
TensorFlow RNN MNIST字符识别演示快速了解TF RNN核心框架 http://blog.sina.com.cn/s/blog_4b0020f30102wv4l.html
- 光流法(optical flow)
光流分为稠密光流和稀疏光流 光流(optic flow)是什么呢?名字很专业,感觉很陌生,但本质上,我们是最熟悉不过的了.因为这种视觉现象我们每天都在经历.从本质上说,光流就是你在这个运动着的世界里感 ...
- 光流optical flow基本原理与实现
光流(optical flow)是什么呢?名字很专业,感觉很陌生,但本质上,我们是最熟悉不过的了.因为这种视觉现象我们每天都在经历.从本质上说,光流就是你在这个运动着的世界里感觉到的明显的视觉运动(呵 ...
- 主流PHP框架间的比较(Zend Framework,CakePHP,CodeIgniter,Symfony,ThinkPHP,FleaPHP)
Zend Framework 优点: Zend Framework大量应用了PHP5中面向对象的新特征:接口.异常.抽象类.SPL等等.这些东西的应用让Zend Framework具有高度的模块化和灵 ...
- 光流(optical flow)和openCV中实现
转载请注明出处! ! ! http://blog.csdn.net/zhonghuan1992 光流(optical flow)和openCV中实现 光流的概念: 是Gibson在195 ...
随机推荐
- sql: having使用,及删除重复数据
写了好几年的sql,having语句基本上很少写,这就有一点尴尬了,现在总结一下having的作用,每日整理一下学习文档. having 通常伴随group by使用,过滤group by的数据集. ...
- win8中常见问题排查
1. 无法使用内置管理员账户打开 1.1 启动组策略编辑器:运行中“gpedit.msc”,1.2 依次展开“计算机配置”--->“Windows设置”--->“安全设置”--->“ ...
- leetcode 141. Linked List Cycle 、 142. Linked List Cycle II
判断链表有环,环的入口结点,环的长度 1.判断有环: 快慢指针,一个移动一次,一个移动两次 2.环的入口结点: 相遇的结点不一定是入口节点,所以y表示入口节点到相遇节点的距离 n是环的个数 w + n ...
- CSS属性之word-break:break-all强制性换行
一般情况下,元素拥有默认的white-space:normal(自动换行,PS:不换行是white-space:nowrap),当录入的文字超过定义的宽度后会自动换行,但当录入的数据是一堆没有空 ...
- 源码编译安装mysql-boost-5.7.16.tar.gz报错分析处理
Plugin 'FEDERATED' is disabled. mysqld: Table 'mysql.plugin' doesn't exist [ERROR] Can't open the ...
- 【转】C++三大特性
又重新看了一个多月的书,也算是基本上了解了一些很基础的东西,学习C++就得掌握它所具备的三大特性. 封装性是基础,继承性是关键,多态性是补充,并且多态性存在于继承的环境中. 封装性 C++语言中支持数 ...
- 2019北航OO第一单元作业总结
一.前三次作业内容分析总结 前言 前三次作业,我提交了三次,但是有效作业只有两次,最后一次作业没能实现多项式求导的基本功能因此无疾而终,反思留给后文再续,首先我介绍一下这三次作业,三次作业围绕着多项式 ...
- JQuery的ajax函数执行失败,alert函数弹框一闪而过
先查看<form>标签是否有action属性,如果没有,并且最后<button>标签的type属性为'submit‘时,默认提交位置就是当前页面 如果在页面右键检查,点击网络, ...
- jquery html 鼠标悬浮出现列表切换
效果截图 HTML结构为: <div class="activityBox"> <ul class="activityTab"> < ...
- MAC & Xcode 快捷键的使用
"磨刀不费砍材工",在熟悉了MAC 和 Xcode 快捷键后一定可以帮助我们更快捷方便的开发程序 MAC 快捷键: command + Q = 退出应用程序 command + c ...