APP下载

抑制光照不均匀影响的图像特征点提取算法

2021-02-22石蕴玉辛斌杰

计算机工程与应用 2021年4期
关键词:尺度空间金字塔高斯

薛 冕,刘 翔,石蕴玉,辛斌杰

1.上海工程技术大学 电子电气工程学院,上海 201620

2.上海工程技术大学 服装学院,上海 201620

随着科技的进步,计算机视觉已经进入人们的生活中,可以用来进行人脸检测、目标追踪等,但由于光照和目标表面相互作用的机制非常复杂,出现在真实场景图像中的投射阴影给计算机视觉任务带来了很多的问题和限制[1],在图像特征提取的过程中,常常因为光照不均匀无法提取到稳定的特征点,匹配率也随之降低。

目前特征点提取的方法有很多,文献[2]提出的SIFT(Scale Invariant Feature Transform)算法,通过构建高斯差分金字塔提取图像特征点,具有良好的鲁棒性,SIFT算法因尺度不变性等特点得到了广泛应用,但其复杂度较高,计算速率慢;文献[3]中Bay 等人提出的SURF(Speed-Up Robust Features)算法是在 SIFT 算法基础上做了改进,利用box filters构建高斯金字塔,速度比SIFT 算法提高3 倍左右;贡超等人在文献[4]中提出采用扩散距离对SURF特征进行匹配,提高了匹配正确率及鲁棒性;Rublee等[5]于2011年在ICCV(International Conference on Computer Vision)中提出一种快速特征点提取与描述算法ORB(Oriented FAST and Rotated BRIEF),其采用 FAST 的特征检测方式,再与 BRIEF 二进制串的描述子结合起来,节约存储空间并大大缩短计算时间,提高了算法的提取速度,但不具备尺度不变性;同时期BRISK[6](Binary Robust Invariant Scalable Keypoints)在ICCV中被提出,具备尺度不变性;文献[7]提出的SBRISK 进一步加快了BRISK 算法的计算速度。上述方法在提取速度、匹配率及鲁棒性等方面做出了贡献,而在有光照干扰情况下目前的特征提取算法鲁棒性较差,光照不均匀对特征点提取造成极大影响,在进行图像匹配时准确率下降,SIFT 算法受邻域像素方向梯度信息影响,在光照不均匀情况下提取效果欠佳[8]。

一些研究考虑在进行特征点提取之前先做图像增强方面的预处理,比较常用的算法是直方图均衡化、变换域及同态滤波等,能在一定程度上实现光照均衡的效果,但直方图均衡化是对图像整体进行处理,会出现过增强和丢失局部细节等[9-10]问题;变换域是将图像从空域转换到某些变换域,如傅里叶变换[11],该类算法往往自适应性较弱;同态滤波中的高斯滤波器可滤除图像光照成分,但受参数调节的影响,需要进行大量实验,通用性较弱[12]。

针对以上问题,本文提出了一种可以有效抑制图像光照不均匀影响的GT-SIFT特征点提取算法:首先在构造尺度空间时对图像进行滤波处理,采用同态滤波中变形的高斯滤波器[12-13]与图像频率谱相乘,滤除光照成分,得到新的频谱获取滤波图像;接着对滤波图像进行一次Top-hat变换,弱化滤波参数对其影响,并将高斯函数与变换后图像进行卷积,从而构建基于光照滤除与参数弱化的高斯差分(Gaussian Filtering and Top-hat transformation with Difference of Gaussian,GT-DoG)金字塔。GT-DoG金字塔的图像在不受滤波参数影响下滤除了光照成分,以此替换SIFT算法的高斯差分金字塔,再进行特征点检测、特征向量赋值,生成GT-SIFT描述子,因此该描述子相较于原SIFT 描述子具有更好的光照不变性。实验表明,本文算法在对光照不均匀图像进行特征点提取与匹配时不受参数影响,具有更强的鲁棒性。

1 SIFT算法

经典SIFT算法是由David Lowe提出的,其实质是在不同的尺度空间中查找关键点,具体包括以下四步:尺度空间构造,特征点检测,特征方向赋值和生成特征描述子。

1.1 尺度空间构造

Iijima首次于1962年提出尺度空间思想,后经Witkin和Koenderink 等人的推广而逐渐引起关注。在尺度空间构造中,将偏微分方程应用在图像处理中即为尺度空间理论,采用高斯函数G(x,y,σ)与二维图像I(x,y)卷积得到尺度空间函数:

其中,L(x,y,σ)为尺度空间,σ为尺度参数,每个尺度包含多张图,变换尺度参数可以得到不同尺度下的函数。

1.2 特征点检测

将相邻尺度空间相减得到高斯差分金字塔D(x,y,σ),寻找高斯差分图中的极值点,通过每个像素点与其周围邻域点的比较来确定,包括它同尺度的8个邻域点以及上下相邻尺度空间各9个邻域点,若中心点是此范围内的最大或最小值,则判定为极值点。极值点并不全是稳定的特征点,通过二阶Taylor展开式计算极值点的偏移量,获得亚像素定位精度,再通过阈值设置剔除对比度低的点,并用Hessian 矩阵技术剔除不稳定的边缘响应点,得到最终的特征点。

1.3 特征方向赋值

为了使描述子具有旋转不变性,需要为每个关键点分配一个基准方向,如图1 所示,通过统计特征点周围邻域像素梯度的幅值m(x,y)和方向θ(x,y)为每个特征点指定方向,采用直方图统计m和θ,直方图最大峰值为主方向,该点附近大于主方向峰值80%的方向为辅助方向,其中:

图1 特征方向赋值

1.4 生成特征描述子

以特征点为中心取16×16的窗口,并划分为4×4的子窗口,每个窗口作为一个种子点,在16个种子点中每个点含8个方向梯度信息,共有128维的特征描述向量,再把128 维特征描述向量归一化,得到最终的描述子,如图2所示。

图2 生成SIFT特征描述子

2 改进的SIFT特征提取算法

SIFT 算法通过归一化处理特征向量长度来一定程度消除图像光照变化的影响。特征向量是由每个关键点邻域4×4=16 个种子点来描述的,每个种子点有8个方向梯度信息,产生128维的特征向量。由于特征向量受邻域像素的影响,归一化无法消除在光照变化较大情况下出现的暗光、高光现象,这对SIFT提取特征点带来很大困扰。本文针对此问题对SIFT 算法进行改进,提出一种可以有效抑制图像光照不均匀影响的GT-SIFT特征点提取算法。对输入图像进行滤波处理与Top-hat变换,旨在不受参数影响下滤除图像光照。通过构造基于光照滤除与参数弱化的高斯差分金字塔,生成具有更好光照不变性的GT-SIFT描述子。流程图如图3所示。

图3 GT-SIFT算法流程图

2.1 GT-DoG金字塔构造

2.1.1 基于图像频率域的光照滤除

图像在频率域中包含照射分量i(x,y)与反射分量r(x,y)[14-15],两个分量共同决定图像的灰度。光照强度反映图像光照,在空间上通常会有缓慢变化的性质,位于低频段。反射强度反映图像细节,因物体材质不同差异较大,变化迅速,位于高频段。为了抑制光照不均匀的影响,采用文献[13]高斯高通滤波器的变形滤波函数H(x,y),如式(4),通高频降低频,有效滤除图像低频段的暗光、高光等光照不均匀现象,并增强图像细节。因此,本文在构造尺度空间时对输入原图像I(x,y)进行滤波处理,滤波函数H大小和原图像频谱f大小相同,相乘即可得到新的频谱f′,从而获取滤波图像g(x,y)。流程图如图4所示。

图4 高斯滤波流程图

滤波函数表达式如下:

其中,H(x,y)大致形状如图5所示。γH、γL分别为高频增益和低频增益,控制滤波器幅度的范围,达到减弱低频增强高频的目的,压缩图像整体灰度范围,提高图像对比度,使图像既减少了光照不均的影响,又保留了图像原有的细节。常数c控制函数坡度的锐利度。D0为截止频率,D0越大对图像细节增强越明显。γH、γL、c、D0这4个参数相互作用决定滤波效果,选择合适的参数可以在频率域中减弱图像光照成分。然而滤波处理时,由于高斯滤波器的各参数相互作用,导致输入的滤波图像g(x,y)需经过大量实验找到最优参数才能获得理想滤波效果,这无疑给实验增加了困难。

图5 高斯滤波函数

由图6可知,原图在经过滤波处理后光照不均匀现象得到改善,但高斯滤波器的各参数相互作用很难找到一个理想参数下的图像,造成图像整体灰度不稳定。

图6 滤波效果图

2.1.2 Top-hat变换改善滤波参数

为解决参数对高斯滤波的影响,本文对滤波图像g(x,y)进行一次Top-hat 变换,由于Top-hat 变换参数的选择较为简单,可以用来降低滤波参数的影响[15-16]。其中S为结构元素,在灰度图中S(x,y)是二维函数,结构元素的形状由定义域决定,结构元素的高度信息由函数值决定,本文采用平坦(高度为0)的结构元素[15]。原图像与开运算图像之差便是Top-hat 变换,最终得到变换后的新图像u(x,y)。

滤波图像g(x,y)开运算:

Top-hat变换:

由图7可以看出,不同参数选择的滤波图像在经过一次Top-hat 变换后效果都很相近,图像灰度值趋于稳定,且细节更为突出。接着采用高斯函数G(x,y,σ)与变换后新图像u(x,y)卷积得到尺度空间函数:

高斯函数:

图7 图5参数弱化后实验效果图

变换尺度参数σ可以得到不同尺度下的函数,每个尺度包含多张图,将相邻尺度空间相减得到光照滤除与参数弱化下的高斯差分金字塔D(x,y,σ):

其中,D(x,y,σ)即为本文构建的基于光照滤除与参数弱化的高斯差分金字塔(图8 简单概括GT-DoG 金字塔的构造过程)。GT-DoG金字塔的图像在不受γH、γL、c、D0滤波参数影响下滤除了光照成分。

2.2 生成具有良好光照不变性的GT-SIFT描述子

特征描述子的生成仍采用SIFT特征描述子生成方法,在上述构造的基于光照滤除与参数弱化的高斯差分金字塔内寻找特征点,并进行特征点检测与特征向量方向赋值。在4×4(16)个邻域中,每个邻域含8 个方向梯度信息,共有128维的特征描述向量,再把128维特征描述向量归一化得到最终的描述子,得到的GT-SIFT描述子不仅具有尺度不变性,而且具有更好的光照不变性。在对光照不均图像进行特征点提取时效果更佳。

3 实验结果与分析

考虑到面料其纹理均匀分布的特点有利于研究图像光照不均匀所带来的影响,实验使用Flare 4M180CCL相机(分辨率2 048×2 048,帧率179 f/s)拍摄下的1 000张同一种面料图像做相关实验。本文实验平台是个人电脑上的Matlab R2016a,操作系统Windows 10,处理器为 Intel®CoreTMi5-7200U@2.50 GHz 2.70 GHz,内存4.00 GB。

3.1 参数选取与参数弱化分析

3.1.1 基于参数选取的敏感性分析

参数弱化前,根据SUFI-2 中的参数敏感性分析方法[17],设计本文基于参数选取的敏感性分析实验:每次只改变一个参数值,其他参数保持不变,以检测到图6(a)所示的特征点个数作为评价指标,定量分析各参数对高斯滤波的影响。图9 反映了特征点个数随各参数的变化情况。

(1)参数选择的影响

图8 构造GT-DoG金字塔

图9 4个参数取值特征点个数变化曲线

由文献[13]确定初始参考值:令c=1.5,γH=1.2,γL=0.3,根据客观实验数据调整截止频率D0,找到合适的参数。由图9(a)可知D0取值为60 时检测到图像特征点个数最多,D0<60 时,图像整体灰度范围扩大,图像质量下降,D0>60 时,图像整体灰度范围缩小,图像对比度不高;当D0=60 时,令γH=1.2,γL=0.3 ,调整锐化系数c,由图9(b)可知c=1.0 时效果最好,c <1.0时图像的对比度较低,c >1.0 又会导致图像不够平滑,检测到特征点个数下降;当D0=60,c=1.0 时,令γL=0.3,调整高频增益γH的取值,由图9(c)可知γH取值并非越大越好,γH>0.9 时会混入较多的高频噪声,影响滤波效果,γH<0.9 时不能有效增强图像高频成分,因此取γH=0.9;最后在D0=60,c=1.0,γH=0.9 的情况下,由图9(d)可知γL=0.3 取得最好的结果,γL<0.3 时图像整体灰度较低,γL>0.3 时不能有效抑制图像低频成分,特征点个数降低。由以上实验可以确定本文参数的选择:D0=60,c=1.0,γH=0.9,γL=0.3。

(2)敏感性分析

采用特征点个数变化量与对应参数变化幅度(即参数值变化量的比值)作为敏感系数[18],对比分析不同参数敏感系数得出参数对高斯滤波的影响,如图10所示。本文在D0=60,c=1.0,γH=0.9,γL=0.3 作为基础参数时,根据上述(1)参数选择的影响中的实验数据,将分析区间定为基础参数值的-100%~500%,进行敏感性分析。由图10 可知,负区间内,高频增益γH对高斯滤波的影响最大,敏感度最高,γH的减少使得高斯滤波无法达到增强图像高频成分的效果,低频增益γL的敏感度次之,然后是锐化系数c,敏感度最弱为截止频率D0;正区间内,低频增益γL敏感度最高,γL偏大导致图像低频成分得不到有效抑制,大大影响滤波效果,高频增益γH的敏感度次之,锐化系数c和截止频率D0敏感度较弱。

图10 各参数对算法影响的敏感性分析

本文针对基于参数选取的敏感性分析做了大量实验,发现4个参数对高斯滤波的影响程度各不相同。实验结果为本文算法在解决实际问题时,对参数的选取提供了客观依据。

3.1.2 参数弱化评价分析

为降低参数选取的难度,本文算法通过一次Tophat 变换对滤波参数进行弱化。已知在D0=60,c=1.0,γH=0.9,γL=0.3 时高斯滤波效果最好,再依据各个参数的含义调整参数进行特征点提取,选取其中具有代表性的6 组参数记录在表1 中,n1为不同参数下特征点个数,n2为参数弱化后特征点个数,统计6 组参数弱化前后检测到的特征点个数如图11 所示,通过对比实验分析参数弱化的效果。

表1 高斯滤波参数与特征点个数

图11 特征点个数对比折线图

当γH、γL偏大时(组别1),入射分量衰减小,反射分量提升大,图像整体灰度偏高,检测到特征点个数为34 100,与最高值相差29 150;当γH、γL偏小时(组别6),入射分量衰减大,反射分量提升小,图像整体灰度偏低,检测到特征点个数只有434,与最高值相差62 816;其他3个参数不变,适当调小c值(组别1、4、5),检测到特征点个数提高;D0偏大时(组别1、2、3),图像对比度低,背景衰减严重,检测到特征点个数降低。可见不同参数的选择造成图像整体灰度不稳定,检测到的特征点个数参差不齐。而经过一次Top-hat 变换弱化参数后,无论高斯滤波参数如何选择,6组参数下检测到的特征点个数趋于一个较高的稳定值(如图11),有效改善了高斯滤波时各参数对图像的影响,达到参数弱化的目的。

3.2 特征点提取与匹配实验

为了验证本文特征点提取算法在光照不均匀条件下的可靠性与优越性,本文从Flare 4M180CCL 相机拍摄下的1 000张图像中选取3组不同程度光照不均匀面料图像,每一组包含5 张不同光照亮度等级图像,其中图12(a)~(c)光照不均匀程度逐渐增强。

图12 不同程度光照不均图像数据集

实验分别用BRISK、ORB、SIFT以及本文算法对每组的第1 张图像进行特征点提取,效果图如图13 所示,并将特征点个数记录在表2中。减少率q公式如下:

其中,na为图12(a)第1张图像检测到的特征点个数,nc为图12(c)第1张图像检测到的特征点个数。图13直观反映出在光照不均匀条件下,本文算法相比其他算法可以提取到更多特征点。其中BRISK算法与ORB算法中的描述符均为二进制描述符,BRISK描述子描述了特征点邻域内像素点采样信息,ORB 描述子是通过比较特征区域中像素值的大小建立的,两种算法容易导致描述信息丢失,因此在图像光照不均匀程度逐渐增强时,提取到的特征点个数迅速下降,BRISK算法提取到特征点个数从826 降至110,ORB 算法提取到特征点个数从1 895降至239,减少率分别为86.68%、87.39%。SIFT算法以图像的梯度方向作为主方向建立梯度描述子,而在进行特征向量长度归一化处理时无法消除剧烈光照变化,随着图像光照不均匀程度增加,提取到的特征点也随之减少,特征点个数从3 642 降至1 498,减少率为58.87%。本文算法通过构建GT-SIFT金字塔,生成具有良好光照不变性的GT-SIFT描述子,每组图提取到的特征点个数均是四种算法中最多的,随光照不均匀程度增强,从4 707 降至3 941,减少率仅有16.27%,比BRISK、ORB、SIFT算法小70.41个百分点、71.12个百分点、42.6个百分点。图12(c)受光照不均匀程度影响最强,也是本文算法与其他三种算法提取到特征点个数差异最大的一组图像,比BRISK、ORB、SIFT 算法增加3 831、3 702、2 443。可见本文算法对于光照不均匀图像特征点提取的效果最好,能够有效抑制光照不均匀对特征点提取的影响。

图13 四种算法图像特征点提取实验结果

表2 四种算法光照不均匀图像对比结果

利用图12(a)、(b)、(c)每组数据集的第1张图像分别与后4张图像匹配,记为组别1~组别4,记录每组匹配的平均运行时间于表3中,匹配效果如图14所示。图15为四种算法匹配正确率[19]的对比图,图像数据集1 的光照不均匀程度较小,SIFT虽能提取到大量特征点,但随亮度差异增加匹配正确率逐渐下降,在图像数据集1的组别4 中SIFT 匹配正确率低于本文算法32.21 个百分点,对于图像数据集2 和图像数据集3,BRISK、ORB、SIFT算法匹配正确率均低于本文算法,ORB算法下降速度最快。可见,GT-SIFT 描述子对于光照的鲁棒性增加,本文算法更好地抑制了光照不均匀对图像信息的影响,随着亮度差异的增加,正确匹配率曲线下降缓慢,明显优于其他三种算法。

表3 不同算法运行时间对比 ms

图14 四种算法图像匹配实验结果

由表3 可知,ORB 算法采用FAST 算子作为检测算子与BRIEF描述子相结合,无论是在特征点提取还是匹配上都是最快的。BRISK 算法采用固定离散邻域强度对比,形成512 bit二进制串,加速特征点提取,速度仅次于ORB算法。SIFT算法需要构造尺度空间和采用128维描述子,计算量较大,提取与匹配运行时间均较长。由于本文算法通过高斯滤波与Top-hat 变换构建出GT-DoG金字塔取代SIFT 算法原有的DoG 金字塔,增加了尺度空间极值检测的计算时间,整体时间复杂度高,在运行速度方面不及其他三种算法。

3.3 算法性能对比实验

为了进一步证明算法的普遍可靠性,本文选用Mikolajczyk标准数据集从视角、尺度、模糊度、亮度4个角度全面研究算法的性能。其中具有代表性的4 组图像序列(图16所示),每组含有6张不同变化的图像。图像数据集中,Leuven 图像组为亮度变化序列,Wall 图像组为视角变化序列,Boat图像组为尺度变化序列,Bikes图像组为模糊度变化序列。

通过BRISK、ORB、SIFT以及本文算法进行匹配实验,统计出对比图17。在图像匹配实验中,常用查全率(recall)和错误率(1-precision)评价算法的优劣性[20-22]。其中查全率是指图像检索出正确的配准点和图像中所有配准点对(包括已配准和应配准但未通过算法配准的点)的比率:

图15 四种算法匹配正确率对比

图16 Mikolajczyk标准数据集

图17 四种算法匹配实验曲线

错误率是指错误配准点占通过算法得到的总配准点的比重:

如图17(a)所示,在Leuven 的亮度变化图中,SIFT描述子的主方向与邻域像素梯度方向有关,亮度变化较大时无法通过归一化处理特征向量长度来消除其影响,鲁棒性下降,导致图像匹配效果差。本文算法在光照亮度方面进行改进,构建GT-DoG 金字塔,生成的描述子光照鲁棒性增强,有效抑制图像光照成分,查全率高达0.98,明显优于其他算法。如图17(b)所示,在Wall的视角变化图中,本文算法与SIFT算法的查全率较高,匹配效果比 BRISK 和 ORB 好。如图 17(c)所示,在 Boat 的尺度变化图中,SIFT 算法因其特征描述子具有良好的尺度不变性达到较好的匹配效果,本文算法在抑制光照不均匀机制中融合了SIFT 算法生成GT-SIFT 描述子,在特征点描述方面增添尺度信息,BRISK算法也同样融入了SIFT算法的尺度不变性,三者匹配效果较好,曲线相似,ORB算法的尺度性匹配效果差,曲线低于前三种算法。如图17(d)所示,在Bikes的高斯模糊变化图中,BRISK 与ORB 的二进制描述算法描述像素点信息,在图像高斯模糊变化下具有较好的鲁棒性,四种算法曲线相似,本文算法匹配效果稍好一点。可见改进的SIFT算法在改善光照不均匀方面有很大提高,且不影响SIFT算法视角、尺度、模糊度等其他性能,甚至略有提高。

4 结束语

本文针对图像在光照不均匀条件下提取与匹配效果不佳的缺陷,在SIFT算法中进行改进,提出了一种抑制光照不均匀的GT-SIFT算法,将输入图像进行高斯滤波处理,并对滤波图像进行一次Top-hat变换,以此构建GT-DoG金字塔替换SIFT算法中的DoG金字塔。GT-DoG金字塔中的图像在没有参数干扰情况下滤除了光照成分,避免大量参数选择的实验,生成具有良好光照不变性的GT-SIFT 描述子进行特征点提取与匹配。实验表明,该算法在构建GT-DoG 金字塔时增加了计算时间,整体的时间复杂度较高,但其在光照不均匀条件下能够提取到更多稳定的特征点,匹配正确率得到提高,与其他算法相比鲁棒性更高,可以有效抑制光照不均匀对图像的影响,对图像的视角、尺度、模糊度等其他性能也具有良好的通用性,适合使用在对实时性要求不高的场景中。今后工作需对算法的速度做进一步提升。

猜你喜欢

尺度空间金字塔高斯
“金字塔”
基于AHP的大尺度空间域矿山地质环境评价研究
Great Vacation Places
数学王子高斯
天才数学家——高斯
海上有座“金字塔”
居住区园林空间尺度研究
神秘金字塔
基于降采样归一化割的多尺度分层分割方法研究
有限域上高斯正规基的一个注记