BRIEF
2016-05-08 20:59
459 查看
1.简介
特征描述子是许多CV技术的重要核心,如目标识别,三维重建,图像检索等,这些技术有关的应用通常都要处理很多的数据,而且狠多时候需要运行在移动终端上,对于移动终端我们都知道它的弊端,就是运算能力有限,因此必须要有一种计算快,匹配快,并且节省内存的局部描述子来替代。针对上述情况,通常的解决办法主要有三种,第一种,PCA或LDE(Linear Discriminant Embedding);第二种,将浮点数变为整型,从而减少存储位数;第三种,也是更加彻底的方法,就是二值化描述子,比如局部敏感哈希(LSH);尽管上述三种方法都某种程度的解决了问题,但是它们有一个共同点前提,就是首先需要计算出完整的高维描述子,然后才得以后续进行优化,所以本质上来讲,这只是一个间接过程,治标不治本,没有从根本上解决问题,于是这个时候所谓的BRIEF出现了,它与上述三种方法不同的是,它通过比较点坐标对之间的强度关系,可以直接计算出低维的描述子。
BRIEF(Binary Robust Independent Elementary Features)出现的略晚(ECCV 2010),但是在某些方面性能跟sift相似,如对光照,模糊和透视畸变的鲁棒性,但是缺点是不支持平面内的旋转。
2.brief
brief的主要思想是在一个平滑(注意,首先要对图像进行平滑操作)的图像块内,对各像素之间进行二值测试,所以它生成的descriptor是一串二值字符串;对于一个MxM的图像块p,我们定义一个二值测试:其中,p(x)表示图像块p在x处的像素强度;
在图像块p中选出由nd个点组成点集,我们来构造出一个由nd维的位串构成的BRIEF描述子:
其中,维数nd可以是128,512或256;
3.平滑核
构造完描述子,我们还有一个工作要做,那就是在选取平滑核,用来平滑计算用的图像块;从上述公式我们可以看出,BRIEF描述子是针对单个像素的,所以对噪声极其敏感,所以必须进行平滑降噪,来提高描述子的稳定性。主要的平滑核有:
P(x,y)~均匀分布(-M/2,M/2),其中M是图像块的尺寸;
P(x,y)~高斯分布(0,M^2/25);
P(x)~高斯分布(0,M^2/25),P(y)~高斯分布(xi,M^2/100),其中xi的初始值为以原点为中心的高斯抽样;
当然,性能最好的是高斯核。
相关文章推荐
- PHP连接MySQL数据库
- 2.Spark Streaming运行机制和架构
- 20145110 《Java程序设计》第五次实验报告
- 关于获取Android系统所有已安装App信息的一些操作(详细)
- hibernate缓存讲解
- 记一次 Python 编码的坑
- Android.mk的使用
- 线程之线程的创建
- 形象的打比方来介绍下对TCP UDP SOCEKT的理解吧,一看都懂哟(最易懂)
- 计算机编译原理
- 最短路算法整理 1557 热浪
- Android使用ListView将数据显示到手机屏幕上
- 《JavaScript语言精粹》小记
- Windows API——SHFileOperation——文件操作
- Wi-Fi Sigma测试系统
- 输入输出
- Android文件读写操作--读取Assets中的文件数据
- 一分钟学习SpringMVC 下载
- html5绘制渐变图形-图形缩放
- 多线程编程