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