快速稀疏角点光流框架(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 ...
随机推荐
- Java 的字符串,String、StringBuffer、StringBuilder 有什么区别?
String 是 Java 语言非常基础和重要的类,提供了构造和管理字符串的各种基本逻辑.它是典型的 Immutable 类,被声明成为 final class,所有属性也都是 final 的.也由于 ...
- #001 WebStrom SVN使用技巧
WebStrom中SVN 的一些使用技巧 2016-03-23 17:11:52 星期三 使用SVN的目录,是为了来管理代码的版本. 服务端语言 都有比较完善的IDE,前端JS代码,由于之前一直都用 ...
- App案例分析——XBMC
本文分析app的是安卓本地视频播放器:XBMC. 第一部分: 调研,评测 1.下载软件并使用起来,描述最简单直观的个人第一次上手体验. 第一次使用这个播放器,就很喜欢这个主界面,其他类似软件的主界 ...
- APP案例分析-摩拜单车app
第二次作业-App案例分析 本次案例分析选用的是 摩拜单车IOS5.7.5版本 测试环境为 IPhone 6s (IOS11.0.1,含有3DTOUCH功能).本次案例分析仅针对APP 而言,并不涉及 ...
- ECharts 定制 label 样式
起因 实现对 label 的样式定制,自定义字体颜色.大小等属性:效果如下图 实现 itemStyle: { normal: { color: '#f7ba0e', label: { ...
- was集群下基于接口分布式架构和开发经验谈
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/luozhonghua2014/article/details/34084935 某b项目是我首 ...
- [USACO08JAN]Running
嘟嘟嘟 这很显然是一道dp题. 令dp[i][j]表示第 i 分钟末,疲劳度为 j 是的最大跑步距离,则 dp[i][0] = max(dp[i - 1][0], max(dp[i - j][j])) ...
- 微信小程序------导航栏样式、tabBar导航栏
一:导航栏样式设置 小程序的导航栏样式在app.json中定义. 这里设置导航,背景黑色,文字白色,文字内容测试小程序 app.json内容: { "pages":[ " ...
- virtualbox+vagrant学习-4-Vagrantfile-4-Tips & Tricks
Tips & Tricks Vagrantfile是一种非常灵活的配置格式.因为它只是Ruby,所以你可以用它做很多事情.然而,同样的道理,因为它是Ruby,所以有很多方法可以朝自己的脚开枪( ...
- R3.4.0安装包时报错“需要TRUE/FALSE值的地方不可以用缺少值”,需升级到R3.5.0
错误: 解决方案: 升级R3.5.0后,解决: