邹志远,安博文,曹 芳,潘胜达
(上海海事大学信息工程学院,上海201306)
角点是图像内容中具有代表意义的一些像素点,在图像配准领域具有重要作用。其中由C.Harris和J.Stphens提出的Harris角点检测算法是一种基于图像局部自相关函数分析的方法,该方法对光强差异、旋转、噪声、视点改变均有极好的鲁棒性并且计算简单、易于实现[1]。但是传统Harris算法需要人工多次实验[2]后得到一个合理阈值(Threshold)来判断图像中有可能作为角点的像素点。当图像内容改变后又需要人工重新进行阈值确定,这使Harris角点检测算法适应性很差。
龚平等在文献[3]中提出曲线拟合角点确定方法,该方法对像素响应值进行曲线拟合,然后利用曲线的峰值位置来确定角点。
房超等在文献[4]中提出双掩膜角点确定方法,采用两个模板对当前的像素响应值进行抑制,当满足一定条件时,该像素点被确定为角点。
毛雁明等在文献[5]中提出双阈值角点确定方法,采用两个阈值进行角点筛选,对得到的两组角点组按照一定原则进行匹配,保留那些不变的点作为角点。
张登荣等在文献[6]中提出阈值迭代角点确定方法,对像素响应值进行排序,取其中位响应值作为第一次阈值,如果得到的角点数量不满足预先设定的参考角点数量,再改变阈值,最终确定角点。
文献[3]~[6]提出的自适应角点检测方法本质是加入一些数学算法来增强阈值选取的自适应性。本文根据Harris算法定义的像素响应函数值大小特性来确定角点检测过程中的阈值,使角点检测具有自动性、适应性。
图1给出了Harris角点的视觉原理。局部自相关函数表示:图像块(图中阴影小块,大小自定义)沿不同方向做小的平移时的局部灰度变化,如图1所示,有三种情况。
图1 Harris角点检测原理图Fig.1 Principle of Harris
(1)当图像块处于平坦区域,沿任意方向做小平移时,图像块覆盖下的灰度变化很小,此时局部自相关函数很平坦。
(2)当图像块处于边缘区域,沿平行边缘方向做小平移时,图像块覆盖下的灰度变化很小,沿垂直边缘方向做小的平移,灰度变化会很大,局部自相关函数呈现马鞍状,即沿着鞍拱自相关值很小,垂直鞍拱变化很大。
(3)当图像块处于角点区域,沿各个方向上做小平移时,灰度变化都很明显,局部自相关函数在某个像素处呈现尖峰状。
下面给出数学意义下的Harris角点原理:定义图像I,图像上任意像素点(x,y)的自相关矩阵定义为M,M的计算表达式为:
其中,fx为(x,y)像素点的水平梯度;fy为(x,y)像素点的垂直梯度;高斯模板大小为7×7;方差为2。以像素点的自相关矩阵M为基础,再定义(x,y)像素点的响应函数值CRF为:
CRF的大小描述了像素点(x,y)的局部邻域灰度特性。公式中参数k按经验值进行选取,推荐范围为[0.04,0.06],具有随机性。本文采用文献[7]的CRF计算方法,将CRF响应函数改进为:
其中,Δ取10-6,防止分母为0的情况。
至此,得到图像中每个像素点的像素响应函数CRF值,进而构成了图像像素响应矩阵。
阈值T在Harris角点检测中起到了重要作用,其用来对第2节中计算出的CRF值进行预筛选,直接排除不可能成为角点的像素点。
文献[7]指出CRF值在平坦区域是绝对值较小的正数,在边缘区域是绝对值较大的负数,在角点处是一个绝对值较大的正数,如公式(4)所示。
CRF值无明确量纲,像素点成为角点的可能性用CRF值大小来度量,像素点的CRF值大,表示该像素点极有可能成为角点,反之亦反。
式(4)中,平坦区域像素响应值的代表值a,角点区域像素响应值的代表值b。本文按照式(3)计算方法得到的a值量级为10-6、b值量级为10-4。a相对于b来说很小,且有 a,b均大于0。δ1,δ2是波动值,不同类型、内容的图像 δ1,δ2不同,由 CRF值特性知不同图像恒有:
本文根据式(4)、(5)这个简单的特性,提出一种自适应阈值T的确定方法。
假设角点检测区域大小为M×N,其对应的CRF矩阵也为M×N,对CRF矩阵的每行和每列值求平均值。会得到M个行均值,N个列均值。如图2所示,其中圆圈表示角点。
图2 响应函数矩阵Fig.2 Matrix of CRF
对C列来说,其上的角点数目多,所求得的列均值要比C0列均值大,对R行来说,其上的角点数目多,所求的行均值要比R0行的均值大。假设C列和R行上的角点为检测区域中具有最多角点的行列,则它们对应的均值大小要受角点处的CRF值影响而趋向可以代表角点的CRF值即b值。
假设R0列和C0行上的角点为检测图像上具有较少角点的行列,则他们的均值大小要趋向于可以代表平坦区域的CRF值即a值。
由式(6)、(7)设计CRF响应阈值T的大小为:
一幅图像中所包含的内容往往在灰度、复杂度上表现不一,如果按照一个阈值T进行角点预筛选,则有可能会漏掉内容简单区域中所包含的一些角点。文献[8]采用图像分块的方法来保证角点的均匀性。本文采用了图3所示的分块方法,来获取更合理的阈值T。即把一副图像分成4个子图。
图3 图像分块方法Fig.3 The divided method of image
对图3所示的4个子图分别按照式(8)进行阈值 Ti的计算,其中 i=1,2,3,4。
每个子图对应一个阈值Ti,为了得到对于整幅图像适用的阈值T,需要考虑每个Ti对T的影响,本文采用加权方法获得T,T的计算表达式如公式(10)所示:
此阈值T考虑了图像区域内容表现的不一、并且避免对平坦区域像素的CRF值进行非极大值抑制,同时使阈值的选取有了导向性。
经过阈值T的筛选后,在局部区域可能会出现角点聚簇的现象,这种现象可能导致在角点匹配步骤中误匹配几率的明显增加,本文应用15×15的模板对整幅图像进行扫描,如果在模板内发现两个角点,则只保留像素响应函数CRF值大的点作为角点,以避免角点聚簇现象,提高后期角点匹配效率。
实验硬件、软件环境如下:计算机内存为4GB;CPU Intel(R)Core(TM)i5-2500;系统平台为32位Win7系统;软件实施平台为LABVIEW2012。
选取4幅具有不同内容复杂度的640×480分辨率的红外图像,在传统Harris检测算法和本文提出的自适应算法之间进行比较,定量给出本文算法的优越性。其中传统算法和本文算法均按照式(1)~(3)计算图像像素的CRF响应矩阵,均用7×7,方差为2的高斯模板进行滤波操作。传统算法采用多次人工设定阈值T传,然后凭主观感觉得到合适的角点数量,本文采用式(10)计算的T改作为阈值。在非极大值抑制步骤中,均对当前CRF值的9×9邻域进行非极大值抑制。两种算法均加入3.3节所论述的剔除策略抑制角点聚簇现象。
图4为按照图像内容复杂程度依次选择的红外图像,图4(a)是简单的电水壶,内容结构最简单,图4(b)是湖面上一个标志物,但是因为下方有水波的干扰,内容复杂一些。图4(c)是人体图像,内容复杂些,图4(d)是建筑物和树枝,内容最为复杂。对上述内容复杂度依次递增的图像应用本文提出的自适应阈值角点检测算法。以验证本文算法的有效性、适应性。
图4 实验处理图像Fig.4 A group image to corner detection
表1为传统Harris检测与本文算法检测比较。
表1 图像1检测比较Tab.1 detection result of no.1 image
表2 图像2检测比较Tab.2 detection result of no.2 image
表3 图像3检测比较Tab.3 detection result of no.3 image
表4 图像4检测比较Tab.4 detection result of no.4 image
通过表1~4和图5中的检测效果图比较两种算法可知,本文算法根据像素响应值大小特性,通过简单的数学运算得到阈值T比传统检测需要人工设定阈值的方法提高了角点检测的适应性,与传统人工阈值得到的角点数量进行比较可知,本文算法得到的角点数量与传统算法的偏差在10个以内。此时可以认为本文算法保留的角点数量合理。采用的角点聚簇抑制策略使得最终角点分布更加均匀合理。
图5 本文算法检测效果Fig.5 Result of adapt algorithm
本文根据像素响应值大小特性,提出了一种自适应角点阈值确定算法,算法仅仅应用了数学上平均值概念使得角点检测不需人工确定阈值,提高了检测的自适应性,采用的图像分块阈值加权方法得到的最终检测阈值使得阈值选取具有了一定的健全性。采用的避免角点聚簇的策略使得检测到的最终角点分布合理,数量减少,为后期的图像配准在精度和速度方面上的提升具有一定的贡献。
[1] JIAO Binliang,FAN Manman.Research on the multisource remote sensing image registration based on the improved algorithm of SIFT[J].Laser & Infrared,2011,41(12):1383-1384.(in Chinese)焦斌亮,樊曼曼.基于改进SIFT算法的多源遥感影像配准研究[J].激光与红外,2011,41(12):1383-1384.
[2] HE Bogen,ZHU Ming,YANG Yuetao,et al.Application of harris corner points locating testing of metal hardness[J].Laser & Infrared,2010,40(9):1027-1029.(in Chinese)贺柏根,朱明,杨粤涛,等.Harris角点在金属材料硬度检测中的应用[J].激光与红外,2010,40(9):1027-1029.
[3] GONG Ping,LIU Xiangbin,ZHOU Peng.Improved harris-based corner detection algorithm[J].Computer Engineering and Applications,2010,46(11):173-175.(in Chinese)龚平,刘相滨,周鹏.一种改进的Harris角点检测算法[J].计算机工程与应用,2010,46(11):173-175.
[4] FANG Chao,WANG Xiaopeng,NIU Yunpeng,et al.Corner detection based on an improved Harris algorithm[J].Computer& Digital Engineering,2011,39(5):142-145.(in Chinese)房超,王小鹏,牛云鹏,等.基于改进Harris算法的角点检测[J].计算机与数字工程,2011,39(5):142-145.
[5] MAO Yanming,LAN Meihui,WANG Yunqiong,et al.An improve corner detection method based on Harris algorithm[J].Computer Technology and Development,2009,5(19):130-133.(in Chinese)毛雁明,兰美辉,王运琼,等.一种改进的基于Harris角点检测方法[J].计算机技术与发展,2009,5(19):130-133.
[6] ZHANG Dengrong,LIU Fubing,YU Le,et al.An auto-adapted features extraction method based on Harris operator[J].Remote Sensing for Land & Resource,2006,2(68):35-38.(in Chinese)张登荣,刘辅兵,俞乐,等.基于Harris算子的遥感影像自适应特征提取方法[J].国土资源遥感,2006,2(68):35-38.
[7] FENG Yuping.Research on fast image registration and automatic mosaic[D].Changchun:Changchun Institute of Optics Fine Mechanics and Physics,Chinese Academy of Sciences.冯宇平.图像快速配准与自动拼接技术研究[D].长春:中国科学院研究生院长春精密机械与物理研究所,2010.
[8] HOU Jianlin,LIN Yi.Adaptive Harris X-corner detection algorithm[J].Computer Engineering & Design,2009,30(20):4741-4743.(in Chinese).侯建辉,林意.自适应的Harris棋盘格角点检测算法[J].计算机工程与设计,2009,30(20):4741-4743.