物体识别算法——SIFT/SURF、haar特征、广义hough变换的特性对比分析

转载 2012年03月27日 11:38:17

识别算法概述:

 

SIFT/SURF基于灰度图,

一、首先建立图像金字塔,形成三维的图像空间,通过Hessian矩阵获取每一层的局部极大值,然后进行在极值点周围26个点进行NMS,从而得到粗略的特征点,再使用二次插值法得到精确特征点所在的层(尺度),即完成了尺度不变。

二、在特征点选取一个与尺度相应的邻域,求出主方向,其中SIFT采用在一个正方形邻域内统计所有点的梯度方向,找到占80%以上的方向作为主方向;而SURF则选择圆形邻域,并且使用活动扇形的方法求出特征点主方向,以主方向对齐即完成旋转不变。

三、以主方向为轴可以在每个特征点建立坐标,SIFT在特征点选择一块大小与尺度相应的方形区域,分成16块,统计每一块沿着八个方向占的比例,于是特征点形成了128维特征向量,对图像进行归一化则完成强度不变;而SURF分成64块,统计每一块的dx,dy,|dx|,|dy|的累积和,同样形成128维向量,再进行归一化则完成了对比度不变与强度不变。

 

haar特征也是基于灰度图,

首先通过大量的具有比较明显的haar特征(矩形)的物体图像用模式识别的方法训练出分类器,分类器是个级联的,每级都以大概相同的识别率保留进入下一级的具有物体特征的候选物体,而每一级的子分类器则由许多haar特征构成(由积分图像计算得到,并保存下位置),有水平的、竖直的、倾斜的,并且每个特征带一个阈值和两个分支值,每级子分类器带一个总的阈值。识别物体的时候,同样计算积分图像为后面计算haar特征做准备,然后采用与训练的时候有物体的窗口同样大小的窗口遍历整幅图像,以后逐渐放大窗口,同样做遍历搜索物体;每当窗口移动到一个位置,即计算该窗口内的haar特征,加权后与分类器中haar特征的阈值比较从而选择左或者右分支值,累加一个级的分支值与相应级的阈值比较,大于该阈值才可以通过进入下一轮筛选。当通过分类器所以级的时候说明这个物体以大概率被识别。

 

广义hough变换同样基于灰度图,

使用轮廓作为特征,融合了梯度信息,以投票的方式识别物体.

 

 

特点异同对比及其适用场合:

 

三种算法都只是基于强度(灰度)信息,都是特征方法,但SIFT/SURF的特征是一种具有强烈方向性及亮度性的特征,这使得它适用于刚性形变,稍有透视形变的场合;haar特征识别方法带有一点人工智能的意味,对于像人脸这种有明显的、稳定结构的haar特征的物体最适用,只要结构相对固定即使发生扭曲等非线性形变依然可识别;广义hough变换完全是精确的匹配,可得到物体的位置方向等参数信息。前两种方法基本都是通过先获取局部特征然后再逐个匹配,只是局部特征的计算方法不同,SIFT/SURF比较复杂也相对稳定,haar方法比较简单,偏向一种统计的方法形成特征,这也使其具有一定的模糊弹性;广义hough变换则是一种全局的特征——轮廓梯度,但也可以看做整个轮廓的每一个点的位置和梯度都是特征,每个点都对识别有贡献,用直观的投票,看票数多少去确定是否识别出物体。

相关文章推荐

三种强大的物体识别算法——SIFT/SURF、haar特征、广义hough变换的特性对比分析

 from: http://blog.csdn.net/cy513/archive/2009/06/20/4285579.aspx 识别算法概述: SIFT/SURF基于灰度图,一、首先建立图像金字塔...
  • hwb506
  • hwb506
  • 2011年05月09日 22:40
  • 563

三大物体识别算法--SIFT/SURF、haar特征、广义hough变换的特性深入剖析

(参考CSDN博主cy513的分析内容)

OpenCV Using Python——调整基于HAAR特征的AdaBoost级联分类器的物体识别的参数

调整基于HAAR特征的AdaBoost级联分类器的物体识别的参数 1. 基于HAAR特征的AdaBoost级联分类器的物体识别问题         Paul A. Viola和Michael J....

AdaBoost中利用Haar特征进行人脸识别算法分析与总结2——级联分类器与检测过程

上一篇连接:http://blog.csdn.net/weixingstudio/article/details/7631241   1. 弱分类器 在确定了训练子窗口中的矩形特征数量和特征值后...

AdaBoost中利用Haar特征进行人脸识别算法分析与总结

目前因为做人脸识别的一个小项目,用到了AdaBoost的人脸识别算法,因为在网上找到的所有的AdaBoost的简介都不是很清楚,让我看看头脑发昏,所以在这里打算花费比较长的时间做一个关于AdaBoos...
  • jtcjump
  • jtcjump
  • 2014年10月30日 11:15
  • 1339

AdaBoost中利用Haar特征进行人脸识别算法分析与总结(一)

目前因为做人脸识别的一个小项目,用到了AdaBoost的人脸识别算法,因为在网上找到的所有的AdaBoost的简介都不是很清楚,让我看看头脑发昏,所以在这里打算花费比较长的时间做一个关于AdaBoos...

AdaBoost中利用Haar特征进行人脸识别算法分析与总结(转载)

转自:http://blog.csdn.net/watkinsong/article/details/7631241 目录(?)[-] 特别说明一般进行人脸检测以后会对检测到的人脸特征进行提取...

AdaBoost中利用Haar特征进行人脸识别算法分析与总结(二)

1. 弱分类器 在确定了训练子窗口中的矩形特征数量和特征值后,需要对每一个特征f ,训练一个弱分类器h(x,f,p,O) 。 在CSDN里编辑公式太困难了,所以这里和公式有关的都用...

使用SIFT和RANSAC算法,完成特征点的正确匹配,并求出变换矩阵,通过变换矩阵计算出要识别物体的边界

使用SIFT和RANSAC算法,完成特征点的正确匹配,并求出变换矩阵,通过变换矩阵计算出要识别物体的边界...

基于haar特征的人脸识别程序

  • 2013年05月27日 16:02
  • 12.94MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:物体识别算法——SIFT/SURF、haar特征、广义hough变换的特性对比分析
举报原因:
原因补充:

(最多只允许输入30个字)