Harris特征点(通用8篇)
Harris特征点 篇1
随着计算机技术的发展, 数字信息的安全保护, 包括数字信息的完整性和版权保护受到了极大的关注。数字水印技术是解决此问题的有效方法, 可以保护机密信息的正确性, 确定数字产品的版权, 并且也可以检测图像是否遭到非法篡改。目前大部分的数字水印方案能够抵抗常规信号处理, 但对于抵抗几何攻击方面仍面临着很大的问题。在众多抗几何攻击的数字水印算法中, 基于特征的水印算法[1,2]在经过几何攻击[3]以及常规信号处理后仍然能够提取水印, 因此得到了广泛的应用。但是基于特征点的水印嵌入还存在很多问题, 主要是特征点过多, 稳定性不好, 分布不均匀, 对旋转后的图像不能有效提取。
针对以上问题, 本文提出了一种基于Harris-Laplace特征点检测的强韧性数字水印算法。
1 图像的Harris-Laplace特征点检测
Harris检测法是在图像处理中应用最广的一种方法[4,6]。它对于抵抗图像的旋转和平移都有高度的抵抗力, 但不具有尺度不变性, 所以, Mikolajczyk[6]等学者则针对这个问题提出改善方法, 借由建立尺度空间 ( scale-space) 来侦测角点更能准确定位出真正的角点, 此方法是利用M矩阵估计特征的强度, 通过阈值则视为角点。M矩阵的定义如式 ( 1) 。
式 ( 1) 中, G ( σI) 表示高斯函数, σI为积分尺度, σD微分尺度, x, y为图像坐标, L ( x, y) 则表示计算高斯平滑影像x与y方向导数。
由上述公式可知, 对于给定的 σI和 σD, 可以确定出像素点x, y的特征强度, 如公式 ( 2) :
式 ( 2) 中R代表角点强度、det表示矩阵的行列式、trace代表矩阵的迹, k为常数, 一般设为0. 04。当像素点的特征强度大于阈值, 且该像素点为尺度空间的极值时, 就可以认为该像素点为图像的角点。
对于各尺度的空间极值点, 该极值点的尺度空间则代表图像的局部特征, 可与其他尺度空间极值进行运算, 进而萃取出具有尺度不变特征的局部特征点。如何萃取出具有尺度不变的特征点则使用LOG ( Laplaceian-of-Gaussian ) 来做运算, 而LOG运算是将高斯滤波和拉普拉斯边缘检测做结合, 定义如公式 ( 3) 所示。
只要给定图像的像素点与尺度范围, LOG运算局部极值所对应的尺度即为特征尺度, 就得到具有尺度不变的特征点。具体步骤如下:
( 1) 设定好尺度空间范围。
σ (n) I=1.2n×1.5, σ (n) D=0.7σ (n) I (n=1, 2, …, 13) 与阈值 (T) , 利用公式 (1) 和 (2) 计算出每一尺度空间上的候选特征点Pk。
( 2) 使用迭代法验证每个尺度空间候选特征点Pk的LOG运算是否在整个尺度空间搜索范围内获得区域极值, 如不能获得极值, 则舍弃该点, 搜寻范围限定在 σI (k+1) = tσI (k) , 其中t=0. 7, 0. 8, …, 1. 4。
( 3) 对于LOG运算能获得极值图像特征点pk, 在该点区域内计算特征强度R最大的特征点pk+1, 若pk+1存在则舍弃pk。重复b, c过程直到 σI (k+1=σI (k) 或者pk+1不再变化。
2 数字水印的嵌入
选用的嵌入法人水印图像是有意义水印, 首先要对水印图像进行预处理, 将有意义水印图像经过Arnold置乱转变为水印序列后利用重复嵌入的方式将水印序列嵌入到原始图像中。水印图像经过处理后, 提取原始图像的特征点并计算质心与最显著特征点, 通过特征点的重定位来确定嵌入位置, 修改特征点与质心和最显著特征点的角度以嵌入水印序列信息, 之后通过德劳内三角技术对修改后的特征点进行调整, 利用仿射变换将改变后的图像矩阵转换为原先设定的矩阵, 最后完成水印信息的嵌入过程, 得到含水印的图像信息。
该嵌入过程的示意图如图1 所示。
具体嵌入步骤如下:
步骤1 用Harris-Laplace角点检测方法提取特征点, 先建立一个尺度空间, 利用Harris角点检测出图像中区域的极值点作为候选点, 最后利用迭代法计算所有尺度范围内候选点的LOG ( Laplacian-ofGaussian) 得到特征点的位置和尺度空间。
Harris-Laplace的角点检测提取的特征点信息包括x和y坐标位置、尺度空间 ( σ) 与特征强度 ( R) 。因图像的特征点是在不同的尺度范围上, 一般认为在较大的尺度下能找出真正的特征点, 但特征点的位置较不易确定。相反来说, 较小的尺度对特征点的位置较准确, 但容易找出错误的特征点, 所以, 本文将各特征点的尺度 ( σ) 、特征强度 ( r) 和质心到特征点的距离d相除并做降幂排序, 得到既稳固又强韧的特征点。如图2 所示。
但提取的特征点可能相邻太近或是靠近边界造成之后取出的特征点错误, 如此, 可借由x和y坐标与尺度 ( σ) 就能把太相邻或靠近图像边界的特征点删除。首先, 将尺度空间做降幂排序, 以固定倍数的尺度 ( σ) 半径之点坐标为中心点画图, 计算出外接正方形四个顶点。利用四个顶点x和y坐标, 来判断与其他特征点坐标是否有重叠。如图3 所示。
步骤2 计算质心和最显著特征点, 修改这些特征点和质心、最显著特征点与特征区域平均值, 来嵌入水印信息。
虽然取得一定数量的特征点, 但图像遭到攻击后特征点会变动。因此本方法找出定位整张图像特征点质心o与最显著特征点p, 质心o则是利用图像的质量重心 ( center of mass) 。其计算方式如公式 ( 4) 。令图像f ( x, y) 的大小为Mx N, 其 ( p+q) 阶的二阶矩阵 ( moment) :
式 ( 4) 中心矩 ( central moment) 定义为:
式 ( 5) , ( x0, y0) 即是图像f ( x, y) 的质心为o, 此点也具有几何不变的特性。
另一个则是最显著特征点p, 方法是将各特征点的尺度与其特征强度相乘再除以质心至特征点距离d, 得到的最大值的特征点来定位整张图像的位置。
式中 σi、Ri为i个特征点的尺度与特征强度索引, di为质心到特征点第i个距离。
质心o与最显著特征点p除了定位整张图像外, 这两点也是划分数字水印嵌入的区域, 连接质心o与最显著特征点p两点, 每360° / m顺时针划分成m个区域, 每个区域嵌入一个单位, 数字水印W是经过转换后的0, 1 序列, 数字水印长度为划分的m个区域, 位于每个区域的特征点均嵌入相同的单位。
步骤3 重新定位特征点, 修改特征点与质心、最显著特征点形成的角度及特征点尺度 ( σ) 大小的区域平均值来进行嵌入, 角度的嵌入过程如下:
设质心o、最显著特征点p与特征点q、计算出质心o与最显著特征点p向量记为; 将质心o分别和特征点q连接其向量记为, 使用cos-1函数可得其夹角 ( θ) , 如公式 ( 6) 。
特征点所求得的角度则使用一个嵌入函数进行水印的嵌入, 如公式 ( 7) 所示。首先将要嵌入的水印图像利用转换函数转换为0, 1 的水印序列来进行嵌入。假设我们所要嵌入的水印为0 的话, 则将特征点构成的夹角变为4 的倍数; 反之嵌入的水印为1, 则将角度改为4 的倍数加2. 依序将特征点进行计算可得到嵌入后的特征点的新角度
式 ( 7) 中 θi为特征点与质心、最显著特征点的夹角, i为第i个特征点, α 为水印的权重。α 值越大嵌入的水印越强韧, 但对图像的影响也越大。
由于是通过改变角度进行的嵌入, 其坐标也会跟着移动, 为避免特征点坐标改变太大, 造成特征点位置错误和图像失真严重, 要在一个n×n的范围内寻找改变角度后的特征点的新坐标来避免特征点严重移位。举例来说, 假设要嵌入的特征点为q, 其坐标为 ( 273, 115) 与质心o、最显著特征点p形成的夹角 θ 为53 度, 要嵌入的水印为1, 即嵌入水印后其夹角应为54°, 为避免特征点移位太多, 本文将特征点移动范围控制在坐标周围的2×2 区域内, 找出最接近角度的特征点坐标, 得到嵌入水印后的新特征点q。如图5 所示。
特征区域平均值嵌入方法如下:
根据Harris-Laplace detector获得尺度 ( σ) , 特征区域半径r的大小由公式 ( 8) 定义, round表示四舍五入, τ 为正整数的倍数, 这里定为3 的缩放倍数。
在求得特征区域后, 嵌入方法定义如公式 ( 9) 所示。假设特征点角度嵌入的水印信息为1, 其特征区域平均值也变为4 的倍数加2。通过角度与特征区域平均值的嵌入可以增加水印提取的正确性。
式 ( 9) 中为特征点与质心、最显著特征点的特征区域平均值, i为第i个特征点, α 则为水印的权重。
步骤4使用Delaunay三角网络技术, 将相邻的特征点每三个点形成一个三角形区域, 而全部特征点所构成的三角形样板区域T则包含各三角形特征点的顶点和顺序, 因微调后的特征点连接三角形顺序可能会与原始特征点所形成的三角样板不同, 只要利用原始特征点产生的三角形样板应用在位移特征点上, 就可保证原始与新特征点所形成的每个三角形网格区域是相同的, 如图6 所示。
步骤5 进行仿射转换。将更改坐标位置的特征点利用仿射转换将各特征点所形成的三角形区域转换至预先设定好的与原图大小相同的矩阵, 其余各点依序对应进行计算, 运算完后即完成了整个数字水印的嵌入过程。
3 数字水印的提取
数字水印的提取过程与嵌入过程相似, 其提取过程示意图如图7 所示。
首先, 利用先前的Harris-Laplace提取特征点, 再分别找出其质心与最显著特征点, 求其余特征点与质心和最显著特征点的角度与特征点区域平均值, 并利用提取函数进行水印提取, 其公式如下:
式 ( 11) 中wai为取出的角度水印序列, wvi为取出的区域平均值水印序列。
然后, 根据公式 ( 12) 计算各区域特征点角度与特征区域平均值为1 或0 的个数, 即可取出嵌入的水印信息Wi。
式 ( 12) 中wi为提取的水印特征点, 其中i表示为第i个特征点。
4 实验结果分析
本实验使用512×512 的Lena图像为原始图像, 如图8 ( a) 所示, 水印图像为64×64 的标有天津财经字样的二值图像, 如图8 ( b) 所示, 并且利用Matlab[6]进行仿真实验。以信噪比PSNR ( peak signal to noise ration) 来作为原始图像与嵌入水印图像质量的评估标准, PNSR值越大, 则图像差异度越小。嵌入后的图像如图8 ( c) , 显然水印的不可见性较好, 其PNSR值为31. 26d B, 图8 ( d) 是提取的水印, 它与原始水印的归一化相关系数NC值为1。表1 是本算法对常见图像处理和几何攻击的抵抗能力。并与Lee等学者[4]的方法作比较。
由实验结果可看出, 不管遭受何种攻击, 只要能正确取出质心与缩放比例乘以特征强度最大的点, 数字水印就很容易嵌入, 并且通过比较可知, 本文算法能很好地抵抗压缩、旋转、缩放等攻击, 具有较好的不可见性和鲁棒性。
5 结束语
本文利用Harris-Laplace提取的特征点与质心和Delaunay三角网络技术方法将特征点构成三角形, 将数字水印嵌入其中, 再利用正规化的概念经由仿射转换后得到嵌入数字水印的图像。由实验结果可知, 本研究是一个不需要原图就可将水印取出的方法, 且图像遭到几何攻击后也有高度的抵抗能力, 对于一般图像处理也有显著的效果。
参考文献
[1] Lauzef L M.The improbability of Harris interest points.IEEE Transactions on Pattern Analysis and Machine Intelligence, 2010;32 (6) :1141—1147
[2] Wang X Y, Yang Y P, Yang H Y.Invariant image watermarking using multi-scale Harris detector and wavelet moments.Computers and Electrical Engineering, 2010;36 (1) :31—44
[3] 袁大洋, 肖俊, 王颖.数字图像水印算法抗击和攻击鲁棒性研究.电子与信息学报, 2008;30 (5) :1251—1256
[4] 柏均, 张敏瑞, 梁文莉.基于特征点的图像水印嵌入方案.计算机工程, 2011;37 (13) :139—140
[5] 赵洁, 武斌, 张艳.基于Harris兴趣点和空域均值信息的图像复制粘贴窜改检测算法.计算机应用研究, 2013;30 (9) :2971—2973
[6] Mikolajczyk K, Schmid C.Scale and affine invariant interest point detectors.International Journal of Computer, 2001;60 (1) :147—151
[7] 张强, 王正林.精通Matlab图像处理.北京:电子工业出版社, 2009
[8] Lee H Y, Kim H, Lee H K.Robust image watermarking using local invariant features.Journal of Optical Engineering, 2006;45:037002 (1—11)
Harris特征点 篇2
龙特锑金矿点地质特征及其找矿前景
根据龙特锑金矿点所处区域地质背景、地球化学特征,结合矿区矿体特征、矿石类型对矿区及其外围的地层、构造特征、岩浆热液条件、地球化学特征进行类比分析,分析了龙特锑金矿点及其外围的找矿前景.
作 者:路耀祖 LU Yaozu 作者单位:青海省核工业地质局,青海,西宁,810008刊 名:黄金科学技术 ISTIC英文刊名:GOLD SCIENCE AND TECHNOLOGY年,卷(期):16(3)分类号:P618.66关键词:龙特 锑金矿点 地质特征 找矿前景
Harris特征点 篇3
关键词:harris算子,特征匹配
引言
影像匹配是数字摄影测量中的重要环节, 其目的在于采用影像相关的原理进行同名点的寻找。通常采用灰度相关的方法来进行影像匹配, 但该方法存在待匹配像素搜索盲目的问题。Ackermann教授提出最小二乘影像匹配的方法[1], 该方法充分利用影像窗口内的信息进行平差计算, 是匹配达到很高的精度, 但若影像窗口信噪比较低的时候精度较差, 甚至无法进行匹配。针对上述两种方法的缺点, 基于特征点的影像匹配策略被引入, 该策略主要用于匹配特征点、线或面。由于特征点纹理信息丰富, 在匹配过程中能够达到较高的成功率。
特征点是指影像上的明显点, 如边缘点、角点和圆点, 提取点特征即运用某州算法从影像中提取特征点。1977年Moravec提出利用灰度方差提取点特征的Moravec算子[2]。1987年Forstner提出通过建立影像窗口灰度协方差矩阵的误差椭圆提取点特征的Forstner算子[3]。1988年C.Harris和M.Stephens提出著名的Harris算子[4]。1997年Smith和Brady提出了SUSAN角点检测算法[5], 该算法基于对USAN值进行统计, 判断目标点是否为角点。
本文首先采用Harris算子对影像进行特征点提取, 然后对特征点进行二维灰度匹配。实验表明, Harris算子提取的特征点能够很好地反映角点和边缘点特征, 分布合理, 并且在匹配过程中能够保证较好的匹配成功率。
1 Harris算子
H a r r i s算子是C.H a r r i s等在改进Moravec算子的基础上提出的角点检测算子。该算子考虑一个局部窗口沿不同方向偏移后窗口内区域灰度值的变化, 主要考虑以下三种情形:
(1) 如果窗口内为灰度平坦区域, 则窗口沿任意方向偏移都不会引起大的灰度变化。
(2) 如果窗口内包含边, 则窗口沿垂直于边的方向偏移会引起较大的灰度变化。
(3) 如果窗口内包含角点, 则窗口沿任意方向偏移都会引起较大的灰度变化。
基于上述三种情形, 算子把窗口偏移能够引起灰度变化超过某一特定值的点判定为特征点, 包括角点和边缘点。
设像素点为 (x, y) , 窗口平移量为 (u, v) , 则该像素灰度变化为:
其中wu, v为窗口函数, 通常取
引入与自相关矩阵M得到:
对称矩阵M为:
M的特征值λ1, λ2可以表示在该像素图像灰度自相关函数的极值曲率, 考虑下面三种情形:
(1) 两个曲率都很小, 则局部自相关函数较平坦, 即影像区域为平坦区域。
(2) 一个曲率很大而另一个曲率比较小, 局部自相关函数呈山脊状, 垂直于山脊方向的窗口偏移引起大的灰度变化, 表明影像区域包含边缘。
(3) 两个曲率都较大, 局部自相关函数包含峰值, 表明影像区域包含角点或独立点。
实际计算过程中, 并不直接计算出各像素M矩阵的两个特征值, 而是定义一个角点响应函数CRF来检测特征点。C.Harris提出的角点响应函数为:
上面式中, k为经验参数, 一般取0.04~0.06。当CRF值较大时, 对应像素是角点, 当CRF为负值且绝对值较大时, 对应像素位于影像的边缘区域, 当CRF绝对值很小时, 对应像素位于平坦区域。为了顾及角点特征和边缘特征, 将CRF取绝对值, 绝对值较大的像素为特征点。
算法步骤
依据Harris算子提取特征点的原理, 算法分为以下几步:
(1) 依次计算影像中每个像素的自相关矩阵M
其中, G (s) 为高斯函数, gx和gy分别为影像在x和y方向上的梯度。
(2) 计算每个像素的特征点响应函数
(3) 取CRF值大于某一阈值的像素为候选点, 该阈值对每一幅影像设置都有不同。
(4) 抑制局部非最大。在抑制窗口中选取候选点中CRF值最大的像素为特征点。
2 影像匹配
影像匹配就是利用影像相关原理对两块影像的相似性进行评定, 以确定影像同名点的过程。由于影像纹理结构的特点, 若匹配窗口区域内纹理特征不明显, 即匹配窗口内信噪比过小, 会影响匹配精度, 甚至会导致匹配失败。因此, 以影像特征点作为待匹配点不仅能够保证匹配成功率, 也能够避免待匹配点的盲目搜索。
对左影像提取出来的特征点, 预测其在右影像上的大致位置, 利用灰度相关系数逐一匹配, 相关系数的计算公式[1]见图1。
匹配过程中, 如果两个点相关系数大于0.7, 可以认为是同名点。
匹配的过程为:
1) 得到每一个特征点的待匹配窗口, 窗口以待匹配点的为中心, 大小为5×5或7×7。
2) 根据影像的大致关系预测待匹配点的大致位置, 设置搜索窗口, 搜索窗口大小为21×21。
3) 在搜索窗口内进行二维影像相关, 取相关系数最大的匹配窗口中心点为待选同名点, 相关系数大于0.7则匹配成功, 否则该待匹配点匹配失败。
4) 重复上述步骤直到所有特征点匹配结束。
3 实验与分析
利用VC实现以上影像匹配过程对两幅航空灰度影像 (如图2) 进行了实验, 影像大小为1240×1210。分别采用Harris算子和Moravec算子提取影像特征点, 并利用特征点进行特征匹配。
实验中Harris算子CRF阈值设置为100000, Moravec算子兴趣值阈值设置为1000。图3、图4分别为Harris算子和Moravec算子提取特征点效果图, 可以看出Harris算子对边缘和角点更敏感, 获取的特征点能更好的反映边缘的轮廓。
将左影像上的特征点作为待匹配点, 在右影像上进行影像相关, 寻找同名点。表中给出了特征匹配结果的质量指标。表1表明基于Harris算子的特征匹配正确率略高于基于Moravec算子的特征匹配。
4 结语
采用Harris算子提取特征点能很好的反映角点和边缘特征, 且分布均匀合理, 利用Harris提取的特征点进行灰度相关匹配, 匹配正确率较高, 且在纹理丰富区域的匹配效果很好。但对于纹理信息贫乏区域的匹配正确率仍然较低, 且匹配的精度还有待进一步提高。
参考文献
[1]张剑清, 潘励, 王树根.摄影测量学[M].武汉:武汉大学出版社, 2006
[2]H.P.Moravec.Towards Automatic Visual Obstacle Avoidance[C].Proc 3rd.Int.Conf.Inf.Comm and Artificial Intelligent.1977
[3]W.Forstner, E.Gulch.A Fast Operatorfor Detection and Precise Loacation of Distinct Points, Corners and Centres of Circular Features[C].ISPRS Intercommission Workshop, Inter Laken.1987
[4]C.Harris, M.Stephens.A Combined Corner And Edge Detector[C].Proc.Alvey Vision Conference.1988:189-192
[5]S.M.Smith, M.Brady.SUSAN-A New Approach to Low Level Image Processing[J].Pattern International Journal of Computer Vision.1997, 23 (1) :45-78
[6]陈文.图像角点特征提取方法研究[D].武汉大学硕士学位论文, 2010
Harris特征点 篇4
伴随计算机网络技术的迅速发展,数据传送通道的公共、信息发布平台的公开、数据高度的共享、以及数字化数据的便捷复制,极大提高了空间信息服务的质量,同时亦增加了数据的不安全隐患。航空航天技术的快速发展,促使遥感影像数据逐渐成为了民用空间服务的主要信息来源。数字化遥感影像的版权归属、数据的完整性已经成为可信赖空间信息服务的关键性技术问题之一。数字水印技术作为版权保护的有效技术手段[1],在图像、音频及视频等领域已经取得了较好的研究和应用,因此,遥感影像的数字水印技术也成为了实现遥感影像版权保护的可行的解决方案。
制约数字水印技术发展的最大技术难题是水印攻击[2],数字水印就是在不断的“攻”与“防”中发展起来的,目前为止,能够真正经受得住任何攻击的算法还不存在。在各类水印攻击中,几何攻击极为易行、难以抵抗和防御,且严重影响数字水印的有效性。因此,近年来针对数字水印的抗几何攻击鲁棒性,学者们陆续提出了大量的方法。文献[3]提出将小波应用于遥感影像特征的自适应二维盲水印算法,将水印灰度图像实施置乱加密和小波压缩之后,利用相邻特征的平均值和奇偶判决法嵌入遥感影像的二阶小波变换域内的所选子带上,水印检测无需原始遥感影像。文献[4]提出基于内容的离散余弦变换域自适应遥感图像数字水印算法,将二值水印图像安全嵌入遥感图像(纹理区)的离散余弦变换域内的高频系数中,对信号处理、几何剪切具有较好的抗差性。文献[5]提出了DFT域数字水印算法在遥感图像中的应用,该算法对水印灰度图像实施置乱后,采用一种基于内容自适应的离散傅立叶变换域的水印嵌入算法,将数字水印嵌入遥感图像的纹理区中以实现版权保护,并同时保证边缘信息不受较大损害。
上述文献分别提出了DWT、DCT和DFT域的遥感图像水印算法,算法各具优点,但均为基于图像全局的水印算法,抵抗行列剪切、任意角度的旋转、水平镜像等复杂几何攻击能力较差,仅要几种简单攻击组合就会彻底破坏水印的鲁棒性。
本文在上述研究的基础上,结合“第二代数字水印”思想,在遥感影像中选取特征区域冗余嵌入数字水印,提出了一种基于Harris-Laplace特征区域的遥感图像水印算法。
1 特征区域的确定
1.1 局部化水印基本思想
针对全局水印算法存在的缺欠,Kutter等提出了 “第二代数字水印”概念,基本思想如下:在图像中选择相对稳定的特征点区域嵌入水印,水印被独立嵌入每一区域内,水印定位与检测也利用特征点实现,实现了对几何攻击有效抵抗。第二代数字水印是基于图像内容的局部化水印技术,一般采用将数字水印冗余地嵌入图像中多个局部区域的方法,通过某一个局部区域就能够检测到水印的存在。
此类局部水印算法的稳定性依赖于:选取特征空间的方法(点特征、线特征、以及区域特征)、相似性度量的算法、搜索空间和搜索策略等[6,7,8]。选取到相对稳定的特征点是实现匹配校正、标识水印嵌入位置,以及实现水印定位与检测的重要基础。
1.2 Harris-Laplace特征点检测
Harris算子是一种有效的角点检测算子,在其基础上改进得到Harris-Laplace算子,Harris算子特点如下:Harris算子的计算仅用灰度一阶差分,易于实现;Harris算子通过计算图像每个点的兴趣值后,在邻域内选择最优点,因此提取的点特征均匀合理;Harris算子提取的点特征能够有效抵抗图像旋转、灰度值变化、噪声以及视点变换等。
这些良好特性促使Harris特征点在机器视觉、模式识别等方面得到广泛应用。然而,对于尺度变化较大的视觉系统,Harris保持特征不变性的能力较差,即对图像缩放变换的重复率低,使其对纵横比变换等攻击的鲁棒性较差。
特征点的尺度信息通常是未知的,一般而言,较大尺度能较可靠地消除误检,但定位不够准确;反之,较小尺度能准确定位真正的特征点,而误检率较高。因此,在Harris角点检测的基础改进得到Harris-Laplace算子,通过引入尺度空间理论,在多尺度空间上寻求最大响应点。具体实现过程如下:
(1) Harris角点的尺度空间表示如下:
其中, (x,y)为图像中像素点的坐标,δI、δD分别为积分尺度和微分尺度,高斯尺度空间用La表示,计算函数在方向的偏导数,若δD已知,可定义如下:
La(x,y,δD)=Ga(x,y,δD)*I (2)
其中,数字图像记为,I均值为0、方差为δD时的高斯函数用G表示,*表示线性卷积。依据给定的δI与δD,来确定点(x,y)的梯度因子:
R(x,y,δI,δD)=Det(M(x,y,δI,δD))-η.Tr2(M((x,y,δI,δD))) (3)
其中,Det(·)为矩阵行列式,Tr(·)为矩阵的迹,η是常数(通常取值0. 04)。
条件1为:
条件2为: R(x,y,δI,δD)≥tu
其中, Q为以点(x,y)为中心的邻域,tu是阈值。当点(x,y)的梯度因子R(x,y,δI,δD)同时符合上述条件时,表示该点在正交方向上梯度变化显著,将其作为候选特征点。
(2) 确定候选特征点集之后,计算每一特征点的特征尺度。特征尺度(characteristic scale)反映局部图像特征与操作算子间的最大相似度,即求特定尺度范围内,某函数极值点对应的尺度,本文选用LOG函数,计算特征尺度。LOG算子如下:
(3) Harris-Laplace算子的实现过程:
对于给定的尺度空间δ
Step1 检验LOG算子在预选的图像特征点处,能否在尺度搜索范围内获得局部极值,如果得不到极值,该点舍弃。尺度搜索范围限定为:δ
Step2 将LOG算子取极值的特征点pk加入候选特征点集合{p′k}。
Step3 重复以上两步,至所有特征点处理完毕为止。集合{p′k}就是所求Harris-Laplace特征点。
基于Harris-Laplace特征点抗压缩、噪声、滤波、旋转、缩放等的良好特性,根据所选的特征点及其特征尺度,确定水印的嵌入区域,提高算法的抗几何攻击能力。
1.3 几何不变特征区域的确定
依据得到的特征点集建立几何不变区域作为水印嵌入位置,几何不变区域能够有效抵抗绝大多数几何攻击,特别是局部几何攻击。几何变换不变区域的选择遵循如下原则:几何不变区域可逆,含水印图像遭受攻击时,几何不变区域依然能被提取出,确保水印检测正确;几何不变区域的自适应,水印图像遭遇几何攻击,不变区域应能随之自适应地变换,使其中内容保持不变,正确检测水印[9]。
依据上述原则,本文确定几何不变区域方法如下:将水印嵌入的几何不变区域确定为以特征点为圆心,kσ为半径圆片,k取常数(6-10)。特征点的特征尺度用σ表示,σ过大、过小的特征点舍弃,若嵌入范围重合,则舍弃σ较小的特征点,将多尺度上的稳定性较好的特征点保留,进而确定几何不变区域。
2 基于Harris-Laplace特征区域的遥感图像水印算法
2.1 数字水印的嵌入
设原始载体遥感图像1大小为M×M,水印嵌入具体步骤如下:
(1) 水印生成
通过种子密钥K,生成一个随即序列,对其进行二值化,选取长度为N的一段,作为数字水印W。记为W={wi,1≤i≤N}。
依据1.2节方法,提取Harris_Laplace特征点,依据1.3节方法,并构建几何不变区域。
(2) 嵌入水印信息
依据待嵌水印位数N,将每个圆形区域划分成若干同心圆环,如图1所示。在每个所选尺度不变区域冗余嵌入水印。
首先,把像素坐标(x,y)变换为极坐标:极坐标半径ρ,角度θ。由圆心起的第i个圆环区域CRi记为:
其中 i=1,2,…,N。
然后,依据待嵌入的水印信息,采用奇偶量化方法,由圆心向外修改每个圆环的像素,将圆环修改为“奇圆环”或“偶圆环”。利用公式(6),对每一个像素I(x,y)赋值“0”或“1”,Δ为量化步长。
为增强水印鲁棒性,将修改后的像素值限定于相应量化区间中间值。为此,本文依如下规则对像素进行修改。
其中
2.2 数字水印的检测
水印提取是水印嵌入的逆过程,本文的水印提取无需原始遥感影像参与,实现步骤如下:
(1) 同步水印信息
提取Harris-Laplace特征点,同步含水印的区域,得到一系列圆形区域。
(2) 水印信息提取
在每个同步的圆形区域内进行圆环划分,其方式与嵌入过程同步,依据公式(6),计算每一圆环区域内像素的量化函数值, NUMi,0表示函数值为0的像素数目,函数值为1的像素数目记NUMi,1,依据式(8)提取水印信息:
然后,计算原始水印w与提取水印w′的归一化相关函数(NC):
每一圆形区域内均可提取到水印信息,选取其中NC值最大的作为最终的水印检测结果,水印提取核心流程如图3所示。
3 实验与结果分析
为了验证所提算法有效性、测试分析水印透明性、相关性、及抗攻击的鲁棒性,分别进行了特征点提取、水印的嵌入与提取实验、水印的常规信号处理和几何攻击等攻击实验。实验中,采用的原始宿主图像为截选256×256大小的遥感影像图,水印为通过种子密钥K,生成一个随即序列,对其进行二值化,选取长度为N的一段,作为数字水印W,水印长度64bit。按本文提出的算法进行了水印的嵌入与提取、不同参数的水印攻击及性能检测仿真实验。
3.1 Harris Laplace特征点提取
按照本文1.2和1.3节方法进行Harris Laplace特征点提取和特征区域确定。图4是宿主遥感影像提取的Harris-Laplace特征点以及构建的尺度不变区域:(a) 提取的Harris-Laplace特征点;(b) 所有的尺度不变区域;(c) 选定的不变区域。
Harris Laplace特征点提取核心编程实现:
3.2 水印性能检测
3.2.1 透明性检测
图5为嵌入水印前后的遥感影像,可见原始遥感影像与含水印影像视觉差别不明显,含水印影像与原始遥感影像峰值信噪比(PSNR)为41.24dB。
3.2.2 相关性检测
通过100个不同水印进行实验检测,以验证水印相关性,其中被嵌入的水印是第50个。仿真实验结果如图6。响应曲线仅在第50的位置有明显峰值,可见检测器对真实水印的响应远高于其它错误水印。
3.2.3 鲁棒性检测
对含水印遥感图像进行常见的几何攻击包括:旋转、缩放、平移、剪切,纵横比改变等。对于平移、剪切攻击,只要保留一个几何不变区域,水印即可正确提取。平移、剪切攻击结果示例如图7,提取水印NC值均等于1;尺度缩放、旋转攻击如图8、图9,图为将水印分别嵌入两幅遥感影像中的水印检测NC值与缩放因子、旋转角度的关系。
3.3 实验分析
通过上述实验可知,本文算法对RST、非等比例缩放、局部剪切等常见几何攻击具有较好鲁棒性。
(1) 基于在图像每一局部区域嵌入水印,对平移、剪切攻击,只要保留任一局部区域即可成功检测水印;
(2) 鉴于水印嵌入的区域具有缩放不变性,进行缩放攻击时,局部区域内的内容是相同的,采用统计提取水印位的方法,即使像素有所变动,只要该区域内一半像素改变不大,亦可正确提取水印位;
(3) 由于Harris-Laplace特征点对旋转有良好稳健性,且本文选取圆环区域嵌入水印,因此具有较好的旋转不变性。
4 结 语
现有DWT、DCT和DFT域的遥感图像水印算法,虽各具优点,但均为基于图像全局的水印算法,抵抗行列剪切、任意角度的旋转、水平镜像等复杂几何攻击能力较差,仅要几种简单攻击组合就会彻底破坏水印的鲁棒性[10,11]。本文针对上述问题,结合“第二代数字水印”思想,在遥感影像中选取特征区域冗余嵌入水印信息。算法通过种子密钥K,生成一个随即序列,对其进行二值化,选取长度为N的一段,作为数字水印信息;然后,在宿主遥感影像中提取Harris-Laplace特征点,并依据其确定水印嵌入特征区域;最后根据待嵌入的水印信息,将所选特征区域划分为若干圆环,采用奇偶量化方法嵌入数字水印。实验表明本文算法对JEPG压缩、噪声与滤波等常规信号处理具有较好的鲁棒性,同时抵抗旋转、缩放、平移及其联合等几何攻击。
参考文献
[1]陈丽萍,姚志强,孔祥增.基于证据理论数据融合的双效水印[J].计算机应用与软件,2011,28(8):50-53,161.
[2]Bami M,Cox I J,Kalker T.Digital watermarking[C]//Lecture Notes in Computer Science(LNCS),USA(New York):Springer-Verlag,2005:15-17.
[3]王贤敏,关泽群,吴沉寒.小波用于基于遥感影像特征的自适应二维盲水印算法[J].计算机工程与应用,2004,(20):37-41.
[4]王向阳,杨红颖,邬俊.基于内容的离散余弦变换域自适应遥感图像数字水印算法[J].测绘学报,2005,34(04):324-330.
[5]陈晨,何建农.DFT域数字水印算法在遥感图像中的应用[J].计算机与现代化,2008,159(11):77-79.
[6]Dong P,Galatsanos N P.AffineTransformation Resistant Watermarking Based on Image Normalization[J].IEEE Trans.on image processing,2002,8:865-882.
[7]Li Leida,Guo Baolong,Shao Kai.Geometrically robust image water-marking using scale-invariant feature transform and Zernike moments[J].Chinese Optics Letters,2007,5(6):332-335.
[8]孟岚,杨红颖,王向阳.基于图像归一化的DFT域数字水印嵌入算法[J].小型微型计算机系统,2008,29(11):2153-2156.
[9]肖迎杰,孙劲光,张云.一种模板和图像特征相结合的数字水印算法[J].计算机应用,2010,30(1):50-53,57.
[10]Lee S,Choi H,Choi K,et al.Fingerprint-quality index using gradient components[J].IEEE Transactions on Information Forensics and Secu-rity,2008,3(4):791-799.
Harris特征点 篇5
1 算法改进思想
通常情况下, Harris角点检测需要根据图像的特性 (如尺寸、纹理、灰度等) , 对其所涉及到的阈值 (Threshold Value) 、局部极大值的邻域大小 (Width) 、高斯窗口的大小 (GaussWidth) 和高斯方差 (σ2) 四个参数进行手动调整[1]。本文所研究处理的对象具有角点分布均匀, 个数确定的特点, 所以提取图像角点需要满足以下两个准则: (1) 每个角点的附近邻域内避免出现多个角点; (2) 角点数目和图像的长、宽有关, 据此得出角点区间。当角点不满足上述准则时, 采取分步方法对相应的参数进行调整。同时用二分法赋值的思想对Threshold Value和Width进行调整, 直到角点数位于规定的区间范围内。
2 算法改进描述
本文充分考虑了各个参数的相互作用和影响, 在此基础上提出一种自适应的Harris角点检测算法。具体算法处理过程描述如下。
(1) 对GaussWidth和σ2赋最大初值。
(2) 定义水平、垂直差分算子, 并利用其对图像进行滤波, 求得图像沿X、Y方向的灰度梯度Ix, Iy。
(3) 对Ix2, Iy2, Ixy进行高斯滤波处理;其中, Ix2=Ix×Ix, Iy2=Iy×Iy, Ix y=Ix×Iy。
(4) 根据公式
计算角点量c (i, j) 。
(5) 设置Threshold Value和Width。如果角点不满足两条准则时, 用二分法赋值的思想对Threshold Value和Width进行调整, 直到角点数位于规定的区间范围内, 转 (6) ;否则, 转 (1) 。
(1) min=5000, max=50000, 当min
(2) 当CornerNum
(6) 结束。
3 结语
实验证明, 上述角点检测算法能够准确的检测出各目标区域轮廓线上的角点有效的避免了传统Harris角点检测算法所存在的角点聚簇和角点丢失等问题。
参考文献
Harris特征点 篇6
Harris算子是一种有效的点特征提取算子, 其优点有两个方面[2]: (1) 计算简单, Haris算子中只用到灰度的一阶差分以及滤波, 操作简单; (2) 提取的点特征均匀而且合理Haris算子对图像中的每个点都计算其兴趣值, 然后在邻域中选择最优点。Harris角点提取方法是目前效果最好的, 它不受摄像机姿态及光照的影响[3]。
1 检测原理
Harris角点检测算法基本原理描述如下:建立下面矩阵M
其中I (x, y) 是亮度值, 这里用灰度表示;Ix为图像I的x方向的梯度;Iy为y方向的梯度。通过分析上面矩阵可以看出如果在一点上矩阵M的两个特征值很大, 则在该点向任意方向上的一个很小的移动都会引起灰度值的较大变化, 这也就说明该点是一个角点。
在矩阵M基础上, 角点响应函数CRF定义为:
其中det为矩阵M的行列式;trace为矩阵M的迹 (矩阵对角线元素的和) ;k为常数, 一般取0.04[1]。CRF的局部极大值所在的点即为角点。
该算法易受噪声的影响。为了减小噪声的干扰, 在对图像进行偏导计算以后用高斯滤波器对数据进行平滑。于是 (1) 式矩阵M重新定义为如下 (3) 式:
其中G为高斯模板;<.>表示高斯模板与函数卷积:
按此方法求出的角点数量很多。为了减少匹配计算量, 可以对想要获得的角点数量进行限制。限制方法是确定一个阈值, 仅仅选取CRF值大于这个阈值的点作为角点。这个阈值根据需要的检点数量来确定。
2 编程步骤
harris角点检测算法的具体编程步骤:
(1) 对灰度图像I的每一点, 计算其在x和y方向上的一阶导数, 以及二者的乘积。具体操作时, 采取类似卷积的方式, 分别使用 (5) 式中的模板wx (x方向) 和模板wy (y方向) 在图像上移动, 并在每个位置计算对应中心像素的梯度值, 得到x方向和y方向的两幅梯度图像。计算每个像素位置对应的x方向和y方向梯度的乘积, 得到1幅新的图像。三幅图像中的每个像素对应的属性值分别代表Ix, Iy和IxIy。
核心代码如下:
(2) 对步骤1所得到的三幅图像分别进行高斯滤波 (标准差为σ) 。即采用高斯模板分别与这三幅图像进行卷积, 得到 (3) 式矩阵M。这里离散二维零均值高斯函数为:
核心代码如下:
(3) 计算原图像上对应每个像素的角点响应函数值。角点对应于CRF的局部极大值点。在这里使用了一种改进的计算cim (R) 的方法。该方法由Nobel提出[4], 即:
核心代码如下:
(4) 设置CRF的门限, 对提取的角点个数进行限制。局部极值点的数目往往很多, 通过设置CRF的门限, 根据实际需要提取一定数量的最优点作为最后的结果。在矩阵cim中, 同时满足“cim大于阈值thresh和cim是某邻域内的局部极大值”这两个条件的点被认为是角点。提高阈值, 则提取的角点数目变少;降低阈值, 则提取的角点数目变多。核心代码如下:
3 程序调试
在VS2005中建立Windows组件解决方案, 在软件开发中, 充分考虑到影响Harris角点检测算法的各种参数, 程序运行界面图如图1所示。Harris角点检测, 可以通过设置高斯窗口宽度、高斯函数方差、非极大抑制领域和阀值, 来改变提取点角点的范围和数目。图2显示不同阈值角点提取效果图, 可以看出角点提取的效果依赖于阈值的设定, 阈值大会丢失角点信息, 阈值小又会提取出伪角点。另外, 求局部极大值的邻域大小也将会影响提取角点的数目和容忍度。
Harris角点检测虽然采用了可调的高斯平滑窗口, 但实际运用中高斯窗口的大小不易控制。若选用较小高斯平滑窗口, 则会因为边缘细节的影响导致众多伪角点的出现;若用较大的高斯平滑窗口, 则会因为卷积的圆角效应使得角点的位置产生较大的偏移, 而且增加了算法的计算量。
摘要:用C#语言实现了Harris角点检测算法实现程序, 并结合图例分析了该算法各种参数的设置。
关键词:角点检测,harris角点检测
参考文献
[1]C.G.Harris, M.J.Stephens.A combined corner and edge detec-tor.In:Proceedings Fourth Alvey Vision Conference.Manch-ester, U.K.1988:147-151.
[2]刘玉斌.一种分阶段的高精度亚像素特征点提取方法[J].南华大学学报, 自然科学版, 2006, 20 (2) :54-57.
[3]Schmid C, Mohr R, Bauckhage C.Evaluation of Interest Point Detectors[J].International Journal of Computer Vision, 2000, 37 (2) :151-172.
Harris特征点 篇7
1 Harris算法
1.1 算法原理
1988年, 学者Chris Harris提出了著名的Harris算法[3], 它继承了Moravec算子的思想精髓, 并作出重要的改进。Harris算子可从连续角度进行推导, 考虑每个方向上的自相关性, 以像元 (x0, y0) 为中心的一个圆形窗口来计算, 记该窗口为W (x0, y0, R) , 其中W (x0, y0, R) ={ (x, y) ∈R2, (x-x0) 2+ (y-y0) 2≦R2}为 (x0, y0) 的一个邻域。
灰度I (x, y) 在 (x0, y0) 处沿着某一方向的灰度变化可表示为:
F (x0, y0) =min∑[I (x0+△x, y0+△y) -I (x0, y0) ]2, 其中 (x0+△x, y0+△y) ∈W (x0, y0, R)
用Taylor级数对I (x0+△x, y0+△y) 进行展开, 采用前两项来近似, 可得:
由以上两式可得:
F (x0, y0) =min{[△x, △y]M[]}, 其中M=∑ (▽I (x0, y0) ▽I (x0, y0) T)
=|| (△x, △y) ||2λmin其中λmin为最小特征值
结合上式, 通过对图像特征的分析, 可得以下几点:
(1) 当I (x, y) 在W中相近时, 即窗口内各像素灰度相近时, ▽I (x, y) 在W中趋近于零, 因此矩阵的两个特征根也趋近于零。
(2) 当▽I (x, y) 在W中有同向时, 即窗口内存在边缘线条时, M矩阵为奇异阵, 此时其最小特征根也为零。
(3) 当▽I (x, y) 在W中方向均不相同时, 此时M矩阵满秩, 且最小特征根大于某一正值, 此时窗口内存在角点。
为了避免对自相关矩阵M进行特征值分解, 定义角点响应函数为R=DetM–K X Trace2 (M) , 其中detM=λ1λ2, traceM=λ1+λ2, λ1、λ2为M的特征值, 尺度因子K为经验值, 通常取0.04。
1.2 流程[4]
(1) 使用梯度模板与图像I (x, y) 进行卷积, 求得各像素点梯度; (2) 利用各点梯度得到自相关矩阵; (3) 使用高斯模板对自相关进行卷积运算; (4) 计算各像素点的响应值R; (5) 抑制响应值的局部最大值, 利用阈值判定角点。
2 算法分析
2.1 评价标准
(1) 完整性:能够检测到所有的角点。
(2) 准确性:检测到的角点应位于真实位置。
(3) 鲁棒性:较好地应对噪声的干扰, 正确检测出角点。
(4) 快速性:在较短时间内完成运算。
2.2 算法评价
Harris算法具有良好的检测完整性, 可以检测到绝大多数角点。算法通过梯度模板检测像素点任意方向上的灰度强度变化, 能够有效地区分角点和边缘, 具有旋转不变性, 检测角点准确度高。同时, 算法选取高斯模板进行卷积运算, 对噪声有一定的抑制作用。
然而, 算法仍具有一定的局限性: (1) 梯度算子的选取不同影响检测结果。 (2) 算法虽然采用可变窗口的高斯模板, 但模板的大小不易确定。如果选用较小的高斯模板, 则无法很好地抵抗随机噪声的干扰, 导致大量伪角点的出现。如果选用模板较大, 则可能漏检角点。 (3) 算法需对每个像素点进行多次计算, 速度较慢。
3 算法改进
3.1 选择梯度算子
通过大量实验, 对采用常见的梯度算子进行角点提取时, 处理的优缺点进行总结, 如表1所示。
因此, 根据实验的经验, 一般选取Sobel梯度算子进行梯度的计算, 能够取得较好的效果。
3.2 利用方向算子探测图像噪声
针对角点检测可能受到图像噪声影响的弊端, 先采用方向算子进行图像的噪声探测, 标记出噪声点。在此, 先定义4个方向算子[5]:
记4个方向算子的卷积核为K, 对图像上各像素I (x, y) 进行卷积运算:
NoiseValue=min{KI (x, y) }
定义如上模板并进行相应卷积运算的依据在于, 如果该点为非噪声点, 则其与周围点在至少一个方向灰度卷积值很小;反之, 如果该点为噪声点, 则四个方向的卷积值都较大。通过求出目标点灰度四个方向的卷积最小值, 根据设定的阈值, 即可判定该点是否为噪声点。
当卷积NoiseValue大于阈值时, 该点即为噪声点, 此时将其标记。
3.3 利用目标点与邻域点的方差探测图像噪声与灰度连续区域点
如图1所示, 当图像点I (x, y) 为噪声点时, 则其与周围8邻域内的像素灰度相差均较大。由此, 可通过计算其与8邻域像素的平方差, 并统计平方差超过阈值的个数来判断该点是否为噪声点。记EVF (i, j) = (I (x0, y0) -I (i, j) ) 2, 其中点 (i, j) 属于点 (x0, y0) 的八邻域。统计超过阈值的EVF的个数N。如果N大于个数阈值T1, 则点 (x0, y0) 为噪声点;否则, 则为非噪声点。用判别公式表示为:
如图2所示, 当图像点I (x, y) 为灰度连续区域中的一点, 则其与周围8邻域内的像素灰度均相差不大。同理计算EVF (i, j) , 并统计小于阈值的EVF的个数M。如果M大于个数阈值T2, 则点 (x0, y0) 为灰度连续区域内的点。即:
3.4 利用点的预判定提高计算速度
噪声点以及灰度连续区域内的像素往往不可能是角点, 因而利用之前的对图像的噪声点的检测和位于灰度连续区域内像素的判定, 可识别出大量与角点提取不相关的像素点。对这些像素点进行标记, 即Noise=1或Cons=1。具有这种标记的像素点在运算过程中予以忽略, 并不参与之后的响应值计算, 由此能大大提高处理速度。
4 实验分析
4.1 梯度算子的选择
Prewitt算子形式简单, 但在角点的检测中存在着较为严重的漏检现象;Sobel算子考虑到方向性, 在模板中增加了权值, 对漏检有一定的改善。选取一幅房屋的黑白图像对算子的应用进行检验, 使用两种算子进行对照, 对正确点、漏检点、错检点个数进行统计, 结果如表2。
4.2 噪声检测算子的使用
对于Harris算法, 随机噪声与角点在相应函数值上具有相似的特征, 因而对图像的角点提取影响很大。为了对比改进前后的角点提取算子的抗噪能力, 选取一幅加入了5%的随机噪声的图像, 分别使用未改进的Harris算法与基于噪声检测算子的Harris算法进行处理, 对比效果如图3和图4所示。
图3说明采用Harris算法已无法区分噪声与角点, 大量噪声点被判定为角点, 角点提取已不具有实用意义。而通过加入噪声检测机制, 可有效地解决这一问题, 图4表明, 改进后的算法可对噪声点和角点进行良好区分, 错检点极少, 从而大大提高检测的精度。
4.3 像点的预判
通过像点的预判, 省去了大量不必要的计算, 由此大大提高处理速度。在保证计算机工作状态大致相同的情况下, 对一幅1240×1210像素大小的航摄影像连续进行5次处理, 算法改进前后的处理时间如表3所示。
由此可见, 处理效率的提高在35%以上, 在图像处理工作中具有较高价值。
5 结语
详细阐述了经典的Harris算法, 指出Harris算子抵抗噪声能力较差和运算速度较慢的缺点。同时, 针对这些局限, 采用Sobel梯度算子和新的响应函数计算响应值, 并添加了噪声检测算子, 对算法进行改进。通过多组对照试验实验证明, 改进后的算法在抵抗随机噪声干扰和处理速度上均有较大提高, 在避免漏检与错检方面有一定的改善, 具有实用价值。
参考文献
[1]王展, 皇普堪, 万建伟.基于多尺度小波变换的二维图像角点检测技术[J].国防科技大学学报, 1999, 21 (2) :46-49.
[2]潘炜.基于边缘和角点的图像特征提取方法的研究及实现[D].北京:北京邮电大学, 2008:51-55.
[3]Harris C., Stephens M..A Combined Comer and Edge Detec-tor, Proc4th Alvey Vision Conference, 1988:189-192.
[4]张剑清, 潘励, 王树根.摄影测量学[M].武汉:武汉大学出版社, 2002:130-131.
Harris特征点 篇8
关键词:小波变换,角点检测,自适应阈值
0 引 言
在计算机视觉和模式识别研究领域中,角点检测是一项非常重要的研究课题。能否正确检测出精度高的角点,对于目标识别、图像匹配、相机标定、三维重建等研究有重大意义。
图像中的角点是指图像中具有高曲率或亮度变化剧烈的点,它是由目标边缘曲率较大的位置以及两条或多条边缘的交点所形成。由于角点在图像中所占比例极小(约0.05%的像素点),且具有旋转不变性等特点,因此研究角点检测对于计算机视觉任务的顺利完成起着非常重要的作用。目前常用且效率较高的角点检测算法有如下几种: Harris[1]基于Moravec[2]对角点的描述,利用灰度函数的自相关矩阵实现了角点的检测;Mikolajczyk和Schmid[3]利用Laplace算子检测Harris角点的尺度,构建了一种具有尺度不变性的Harris-Laplace算子,并将Harris-Laplace算子扩展为具有仿射不变性的Harris-affine算子;Mokhtarian及Suomela[4]利用图像边缘及轮廓曲线提出了基于曲率尺度空间(Curvature Scale Space,CSS)的角点检测算法。
比较以上几种算法的复杂度、精确性和实时性后,本文采用Harris角点检测算法,并在其基础上进行了改进。首先,对图像进行小波多尺度分解,提取出水平细节、垂直细节和对角细节并对其进行增强,从而突出了细节部分,使图像中T型及斜T型的部分更明显,以便在后续的角点检测中能够准确定位。其次,计算角点响应函数的二阶值和局部极大值来设定自适应阈值,使检测过程可自动完成,且能更好地抑制角点聚簇现象。
1 Harris角点检测算法
Harris算子是C.Harris和M.J.Stephens在1988年提出的一种特征点提取算子[2]。Harris检测算法比其他关键点检测算法更加稳定和可靠[5]。Harris算子的基本思想与Moravec算子类似:通过在图像中平移一个小窗口(通常定义一个3×3或5×5的正方形模板)就可以很容易地检测出角点。不同之处是Harris算子用一阶偏导来描述灰度的变化,给出自相关矩阵M来反映局部互相关曲率,而Moravec算子则是通过在图像上平移自相关窗口测量灰度值的差来检测出角点。
1.1 Harris角点检测算法原理
设像素点(u,v)在u方向和v方向移动的距离分别为x和y,定义能量变化函数为:
其中,E(x,y)是窗口内的灰度变化量;Iu,v是像素点(u,v)上的灰度值,Ix+u,y+u是像素点(u,v)微小移动后的灰度值;w(u,v)定义为高斯函数:
将式(1)在像素点(u,v)展开,将E(x,y)近似表示为泰勒多项式:
E(x,y)=Ax2+By2+2Cxy (3)
其中,A=X2⨂w(u,v),B=Y2⨂w(u,v),C=XY⨂w(u,v) ;X=I⨂[1],Y=I⨂[1]T;⨂表示卷积运算,X和Y是灰度函数I在图像平面横轴和纵轴上的一阶方向导数。因此,式(3)可写为:
E(x,y)=[x y]·M·[x y]T (4)
其中,M是自相关函数E(x,y)的近似Hession矩阵:
再定义Harris角点响应函数:
R=det(M)-k·(trace(M))2 (6)
其中,det(M)=AB-C2,trace(M)=A+B,如果图像上某个像素点的R值超过了事先设定的阈值,则认为该点为角点,k可以取0.04~0.06。
Nobel认为k的取值有些任意且不太令人满意,因此,他对角点响应函数R进行了改进[6],将其定义为:
Harris算子利用Gauss模板对原图像的横向和纵向一阶导数进行平滑以抑制噪声。对每个像素点都计算其R值,当计算出来的R值大于某个合理的阈值T时,则表示找到了一个角点。因为角点一般是局部范围内的极大兴趣值对应的像素点,所以,在计算完各点的R值后,还要进行非极大值抑制,一般窗口设置为3×3,从而提取原始图像中所有局部兴趣值最大的点。
1.2 Harris角点检测法的缺点
虽然Harris算子是一种经典的角点检测算法,仍存在以下不足:
1) 由于Harris算子对图像上的每个像素点进行2次for循环,其运算速度慢。
2) 对角点度量执行非极大值抑制,确定局部极大值时,角点的提取完全依赖于阈值的设定。阈值过大会丢失角点信息,而阈值过小又会提取出错误的角点,以下称为伪角点。
3) 对T型和斜T型角点存在定位不准确。
4) 聚簇现象较为严重。
鉴于Harris角点检测法存在以上不足,本文对此进行了改进。
2基于小波细节系数增强的自适应Harris角点检测算法
2.1 基于小波多尺度分解的细节系数增强
根据Harris算子对T型和斜T型角点的定位存在定位不精确或遗漏等现象,本文提出将图像进行n级小波分解,每级可形成三个具有方向选择性的高频带Vj,Hj,Dj(j=1, 2,…,n),一个低频带An[7]。 其中,V表示垂直细节分量,H表示水平细节分量,D表示对角细节分量和A表示图像的近似分量。利用公式(8)基于小波的巴特沃斯(Butterworth)滤波器对三个方向上的细节分量分别进行增强。
其中,γ1代表高频增益;γ2代表低频增益;j代表分解级数;2j反映了相应的分辨率;kc称为截止系数;wh和wv分别为水平权系数和垂直权系数,对于V,有wh=1,wv=0,对于H,有wh=0,wv=1,对于D,有wh=1,wv=1。这样使得图像中的拐角和交叉处更为明显。
2.2 自适应阈值的Harris角点算法
由于Harris算子运算速度较慢、难以确定合理阈值和明显的聚簇现象,本文根据Harris算子尺度空间的表示,提出了相应的改进。
根据式(7),尺度空间中的角点响应函数R为:
其中,M为自相关矩阵:
;L(u,v,σD)=G(σD)⨂I,σI和σD分别表示积分尺度和微分尺度;G(σ·)表示均值为0方差为σ·的高斯函数;L为图像的高斯尺度空间表示;Lu和Lv分别表示计算在U和V方向上的偏导数;I为数字图像。det(·)和trace(·)分别表示矩阵的行列式和迹。
利用角点响应函数R和σI通过循环平均滤波得到模板,并利用这个模板对角点响应函数R(u,v,σI,σD)进行二阶统计计算,得到最高值h1和次最高值h2。标记像素点,如果R值与最高值h1相等,且最高值h1与次最高值h2不相等时,则该像素点所在位置即为局部最大值max_local的坐标。自适应阈值T的公式如下:
T=p·max(max_local) (10)
其中p为小于1的常数,则满足大于阈值T的局部最大值的坐标即为所要求角点的坐标。
2.3 本文提出算法的主要步骤
第一步 对图像进行小波尺度分解,并对细节系数进行增强操作。
1) 对图像进行n层二维小波分解(n=6),使用的小波为‘sym4’,得到高频系数c和低频系数s。
2) 从高频系数c中提取垂直细节分量Vj,水平细节分量Hj,对角细节分量Dj(j=1,2,…,n)。
3) 分别对这三个细节分量按式(8)进行增强操作。
4) 对增强后的分量进行重构,得到改进的细节加强的图像。
第二步 对小波增强后的图像进行Harris自适应阈值角点检测。
1) 定义积分尺度和微分尺度σI和σD。
2) 利用导数模板计算图像像素点在横轴和纵轴方向上的方向导数。
3) 由式(9)计算角点响应函数R。
4) 求出局部最大值max_local并根据式(10)求出阈值T。
5) 当像素点的局部最大值大于阈值T,则该局部最大值的坐标即为角点坐标。
3 实验结果与分析
实验图像由普通相机在校园内拍摄,一共为四幅不同建筑物的图像,通过尺寸变换,图像1、图像2和图像4的尺寸为400×300,图像3的尺寸为300×400。对四幅图像分别进行第2节描述的传统Harris角点检测和第3节描述的基于小波细节系数增强的Harris自适应阈值角点检测。试验环境为Pentium 4,1.50GHz CPU,2.00GB内存,Windows XP SP3。
表1为角点检测运行程序所需时间。从表中可见,本文提出的改进方法在运算速度上超过传统的Harris方法。可见,本文提出算法在运行速度上有明显提高。表2为角点检测所得到的角点个数。从表中可以看出本文改进方法的角点个数略少于传统的Harris方法。
图1是由图像4经小波多尺度分解后获得高频系数并对其进行增强的结果。比较图1(a)和(b)两幅图像,可看出,经2.1节描述的小波细节增强后,其细节分量突出,且条框明显。而原图像的水平、垂直和对角细节则不明显。
图2由4行3列共12幅图像组成。横向为同一图像使用不同方法的实验结果,列向为不同图像使用同一方法的实验结果,其中列(a)为图像1~图像4的四幅原始图像,列(b)为图像1~图像4在本文提出方法下测得的角点,用+号表示,列(c)为图像1~图像4在传统Harris方法下测得的角点,用+号表示。观察4幅图像的检测结果,可看出,本文提出的角点检测法测得的角点分布比较均匀,而传统的Harris方法测得的角点聚簇现象较严重。另外,观察图像3中亭子的下方,比较第3行的(b)列和(c)列,用本文方法可以检测到亭子底部的角点。同样比较第4行的(b)列和(c)列,图像4中建筑物左面墙上空调的角点通过本文方法可检测到,而用传统的Harris方法不能检测到。可见,本文提出方法在十字型和T型部分能较好检测出角点。另外,再观察四幅图像的伪角点,本文提出方法检测出的角点数目少于传统Harris方法,伪角点也明显减少。
综上分析,本文提出的基于小波细节系数增强的Harris自适应阈值角点检测在效率、精确度和角点分布上都有提高。
4 结 语
本文提出Harris阈值自适应算法对增强后的小波图像进行角点检测,提高了角点定位的准确性,通过自动阈值的设定,避免了手工设定阈值对于角点提取的局限性。另外,本文提出的算法也减少了传统Harris算法中的循环次数,从而加快了运算速度。经试验证明,本文是一种有效的角点检测方法。为后一步的图像匹配工作奠定了良好的基础。
参考文献
[1]Harris C,Stephens M.A Combined corner and edge detector[C]//Pro-ceedings of the 4th Alvey Vision Conference,Manchester,England,1988:147-151.
[2]Moravec H P.Towards automatic visual obstacle avoidance[C]//Pro-ceedings of the 5th International Joint Conference on Artificial Intelli-gence,Cambridge,MA,USA,1977:584-590.
[3]Mikolajczyk K,Schmid C.Scale and affine invariant interest point de-tectors[J].International Journal of Computer Vision,2004,60(1):63-86.
[4]Mokhtarian F,Suomela R.Robust image corner detection through cur-vature scale space[J].IEEE Trans.on Pattern Analysis and MachineIntelligence,1998,20(12):1376-1381.
[5]程邦胜,唐孝威.Harris尺度不变性关键点监测子的研究[J].浙江大学学报:工学版,2009,43(5):854-859.
[6]Nobel A.Finding Corners[J].Image and Vision Computing,1998,6(2):121-128.