王鑫刚,田军委,于亚琳,王 沁,张 杰
(1. 西安工业大学 机电工程学院,陕西 西安 710021;2. 西安工业大学 光电工程学院 ,陕西 西安 710021;3. 内蒙古北方重工业集团有限公司 ,内蒙古 包头 014030)
红外图像可以直观反应物体的辐射能力大小,其成像不受光照变化影响,具有较强的鲁棒性,因此应用越来越广泛[1]。在人脸图像处理领域,在主动光源不可获取或者自然光源极其微弱的情况下,相较于可见光人脸图像,红外人脸图像成像较为稳定,可以在一定程度上弥补可见光人脸图像的信息缺失[2],这使得红外人脸图像的研究具有重要意义。人脸边缘轮廓特征是一种重要的脸部特征信息,在人脸图像的相关应用中发挥着重要作用[3],而对于红外人脸图像,普遍存在着边缘清晰度低与抗干扰能力不足的问题,因此,提取红外人脸图像清晰完整的边缘轮廓特征对后续的红外人脸图像处理至关重要。
对于人脸图像的轮廓提取,可以通过边缘检测[4]、主动轮廓模型[5]等方法来实现,以上方法在可见光人脸图像中有较好的适用性。除此之外,图像分割也被应用在人脸图像的边缘轮廓提取上,Wang[6]等人提取人脸图像轮廓采用的是图像分割方法,但该方法存在人脸图像边界处理过于粗糙的问题,而且和人脸实际轮廓存在较大差异。对于红外人脸图像[7]的边缘轮廓特征提取,受红外成像分辨率、质量不高的局限以及环境和人自身的状态变化影响,人脸温谱图会发生非均匀变化,使得红外人脸图像特征信息存在过多干扰,增加了红外人脸图像人脸边缘轮廓提取的难度。Canny[8]算法作为一种经典的边缘检测方法,相比于其他的边缘检测算子[9],对于边缘特征能够达到较高的检测精度,可以用作红外图像的边缘检测,但Canny 算法最初始的检测对象并不是红外图像,因此Canny 算法对于红外图像的边缘检测有较大的改进空间。文献[10]将快速烟花算法与Canny算法结合用于飞机蒙皮红外图像边缘检测,有效提高了检测精度;文献[11]提出一种改进的Canny算法,通过采用自适应平滑滤波代替高斯滤波等措施有效提高了边缘检测算法的适应性,但Canny算法的以上改进措施并不能完全适用于红外人脸图像的边缘轮廓提取。
为克服红外人脸图像边缘轮廓提取的以上难点,本文基于红外图像自身的特点,提出了一种基于典型边缘检测最优算子Canny 的改进红外人脸边缘轮廓提取算法,可以有效避免原始Canny 算法检测红外人脸图像边缘轮廓时高斯滤波器参数的不确定性、轮廓边缘提取不完整或存在伪边缘等弊端。
Canny 算子属于微分算子中典型的最优算子,用变分积分来解决边缘检测问题,其算法核心是用高斯滤波器的一阶导数来近似理想的边缘检测算子,如表1 所示为Canny 算法检测流程。
表1 Canny 算法边缘检测流程Table 1 Edge detection process by Canny algorithm
虽然Canny 算子属于典型的最优算子,但是对于提取红外人脸图像边缘轮廓提取原始Canny 算法本身依然存在一些不足:
1) 在使用高斯滤波器滤除噪声时,若高斯模糊的半径过小,噪声去除效果不明显,而高斯模糊的半径增大,又会损失一些边缘特征,整体处理效果不理想;
2) 最初Canny 算法使用2×2 卷积模板计算像素梯度幅值与方向,现阶段常使用3×3 卷积模板计算像素梯度幅值与方向,但以上两种卷积模板计算像素梯度幅值与方向会丢失一些特征信息,造成非极大值抑制插值不够精确;
3) Canny 算法的双阈值主要依靠经验选取,然而根据经验选择阈值很难确定一个最优值,对于红外人脸图像传统Canny 算法选取阈值的方法存在明显弊端。
针对Canny 算法中存在的不足,目前也有许多研究者对其进行了改进,一种改进思路是将原始Canny 算法中的高斯滤波替换为中值滤波或双边滤波[12-13],这种改进思路可以在实现滤波的同时有效保持图像结构信息,但增加了算法复杂度,降噪效果也并不能达到理想状态;除此之外,一些研究者为解决Canny 算法人为经验确定全局固定双阈值的弊端,引入OTSU(大津算法)[14-15]实现自动阈值选取,但OTSU 算法只用单一灰度值表示阈值,容易产生阈值偏差。同时以上改进思路大多是对于Canny 算法进行可见光图像的边缘轮廓检测进行的,并不能完全适用于红外图像的边缘轮廓检测。本文针对Canny 算法在红外图像边缘检测中存在的问题,基于引导滤波算法[16],使用改进的“具有动态阈值约束因子”的引导滤波算法代替原始Canny 算法中的高斯滤波,以解决高斯滤波在红外图像降噪过程中会削弱边缘信息的缺陷;改进原始算法的非极大值抑制,以解决原始算法非极大值抑制过程插值点选取随意度大的弊端;改进OTSU 算法[17],构建灰度-梯度映射函数获取最佳阈值,以解决原始算法人为经验设定阈值的弊端,如图1 所示为本文红外人脸图像边缘轮廓提取算法流程。
图1 改进Canny 算法的红外人脸图像边缘轮廓提取流程Fig. 1 Flow chart of edge contour extraction of infrared face image based on improved Canny algorithm
2.2.1 原始滤波算法改进
本文基于引导滤波算法引入动态阈值约束因子,实现Canny 算法边缘检测过程中的噪声滤除。引导滤波算法[18]是通过局部线性模型推导而来的,该算法的操作就是通过使用一张引导图像产生权重,对输入的待滤波图像进行处理得到输出图像,本文的改进算法中,为了实现边缘强化,引导图像为输入的红外图像本身,引导滤波过程如(1)式所示:
式中;q表示输出图像;I表示引导图像;p表示输入的待滤波图像;W表示引导图像产生的权重;i和j代表像素点的索引。由文献[18] 中的算法公式可得到,对于整个过程,输出图像Q,引导图像I,输入的待滤波图像P之间的线性表达式为
式中: |w|表 示邻域块中像素个数;k表示局部窗口的索引; µk和 σ2分 别表示邻域块的均值和方差;p¯k表示局部窗口wk范围内输入的待滤波图像p的均值;ε为约束项。分析(2)式可得出,利用引导滤波算法处理图像时,图像中每个窗口遍历的滤波算子均是相同的,伴随滤波算子的约束项也是相同的,但对于一幅实际的红外人脸图像,各个窗口的边缘点数不同,如果在整个滤波过程中使用具有相同约束项的滤波算子,对于红外人脸图像中边缘图像较弱的区域会造成边缘过度平滑。针对此问题,结合红外图像自身的特点,本文基于引导滤波算法,以窗口内边缘点的数量为依据,引入了边缘点数目阈值约束因子,能够均衡红外人脸图像中强边缘和弱边缘窗口的滤波需求,引入边缘点数目阈值约束因子后,经过滤波的输出图像为
式中:Q'表示引入边缘点数目阈值约束因子后的滤波输出图像; η表示动态约束因子(即:像素块内阈值变化比值);C表示类间方差最优阈值;n表示窗口内超过变化阈值的像素个数。在引导滤波算法中引入边缘点数目阈值约束因子后,红外人脸图像在像素块中边缘像素信息过弱时会获得较小的约束因子,当像素块边缘信息过强时,约束项随之增大,解决了全局约束对于红外人脸图像中边缘图像较弱的区域会造成边缘过度平滑的问题。
2.2.2 原始非极大值抑制改进
Canny 算法中的非极大值抑制旨在消除检测中的杂散响应,其基本方法是将当前像素梯度幅值与沿正负梯度方向上的相邻像素的梯度幅值进行比较,若其最大(即为极大值),保留该像素为边缘点;反之,则对其进行抑制以消除杂散响应。非极大值抑制线性插值过程中,在采用3×3 卷积模板计算像素梯度幅值与方向时,像素的邻接情况划分为水平、竖直、双对角线4 个梯度方向,但该方式会损失真实边缘点。特别是在红外人脸图像其图像本身边缘信息不够显著的情况下,原始算法非极大值抑制过程中的插值方法可能会漏掉一些边缘特征,存在较大的弊端。如图2 所示为原始Canny 算法非极大值抑制中插值梯度方向示意。
图2 原始Canny 算法非极大值抑制插值遍历梯度方向示意Fig. 2 Schematic of interpolation gradient direction in nonmaximum suppression of original Canny algorithm
为了避免原始算法非极大值抑制过程中的弊端,本文在原始计算梯度方向的基础上又增加了22.5°,67.5°,112.5°,157.5°这4 个梯度方向,使得插值较原始算法更加精细,如图3 所示为改进后的非极大值抑制插值遍历梯度方向示意。
图3 改进后的非极大值抑制插值遍历梯度方向示意Fig. 3 Schematic of improved interpolation gradient direction in non-maximum suppression
2.2.3 原始双阈值检测改进
OTSU 算法基于灰度值获取最佳阈值T*的判别函数如(11)式:
式中: (x,y)∈(O∪B), 代表所有像素的集合;f(h)代表所有像素数量。
通过构造灰度-梯度映射函数实现待测红外人脸图像的灰度信息和梯度信息的融合,由于OTSU算法通过选取目标函数的极小值为最佳阈值,故本文通过使用梯度密度函数取倒数的方法构造灰度-梯度映射函数,并构造指数形式的目标函数以获得最佳的边缘检测效果,构造的指数型灰度-梯度映射目标函数如(13)式:
在新的最佳阈值判别标准下,得到的最佳阈值表示为
改进后的OTSU 算法通过一次判别获得最优的高阈值,根据Canny 算法推荐的高低阈值比在2∶1 到3∶1 之间的准则,即可得到最优的低阈值。由于本文获得的最佳阈值已经确定了大部分边缘点,结合实验分析可知,本文改进算法的高低阈值之间为2.5 倍关系。
为证明提出的改进Canny 算子的红外人脸图像边缘轮廓提取算法的有效性,基于Windows10操作系统、NVIDAG Force GTX 1050Ti 显卡、8 GB内存的计算机,使用MATLAB2018b 软件进行了仿真实验,数据集采用公开的红外光人脸图像数据库UTK-IRIS。该数据集由俄亥俄州立大学发布,数据集总大小为1.83 GB,共包含4228 对红外和可见光图像,图片尺寸为320×240 像素。
3.1.1 滤波算法对比实验
为了充分证明本文改进的滤波算法的滤波效果,将UTK-IRIS 数据库中的红外人脸图像通过不同滤波算法进行了测试比较。为了有效避免红外人脸图像背景边框等冗余信息的干扰,同时做了原始红外人脸图像及剪裁边框后图像的滤波效果对比实验。实验中,在对红外人脸图像进行引导滤波处理时,当滤波窗口半径r=4、约束项正则化参数 ε=0.22,在较好边缘保持效果的前提下,信噪比值最大,测试比较图像结果如图4 所示。
图4 图像滤波处理效果对比Fig. 4 Comparison of image filtering processing effect
通过图4 几种滤波方法处理后的图像对比,可以发现,原始Canny 算法高斯滤波后的图像,边缘信息模糊严重;中值滤波后的图像整体稳定性表现不好;双边滤波虽有效去除了噪声,但边缘保持效果仍有待提升;原始的未添加约束因子的引导滤波处理后的图像,在部分区域出现了过度平滑;本文引入边缘点数目阈值约束因子的引导滤波算法处理后的图像,在强化边缘特征方面的性能表现,优于其他几种滤波算法处理后的图像,为后续的边缘轮廓提取提供了较好的基础。同时,对比未进行边框剪裁和进行边框剪裁的红外人脸图像的滤波效果,可明显看到边框剪裁后的红外人脸图像有效地规避了边框等冗余信息的干扰,在实现边缘增强的同时,显著降低了图像的噪声。
3.1.2 滤波算法客观评价指标对比实验
为了更客观地对比几种滤波算法的效果,本文使用图像处理领域常用的评价指标信噪比PSNR(peak signal to noise radio)和结构 相 似度SSIM[19](structural similarity)2 个指标对比分析了原始图像和滤波处理后的图像信息,用来评价本文改进的引导滤波算法的滤波性能。为了增强滤波对比实验的可靠性,对图像处理领域经典的测试图像Lena做了对比滤波实验,Lena 图像大小为256×256 像素,本文实验是给输入的原始Lena 图像添加方差为0.03 的加性噪声,构成含噪声的图像,再进行滤波实验对比。限于文章篇幅,只展示了测试图像Lena的量化实验结果,如表2、表3 所示为几种滤波方法处理后图像的PSNR 和SSIM 对比结果。
表2 测试图像滤波结果PSNR 对比Table 2 PSNR comparison of test image filtering results dB
表3 测试图像滤波结果SSIM 对比Table 3 SSIM comparison of test image filteringresults %
通过分析几种滤波方法处理后图像的PSNR和SSIM 结果可以得出:本文改进的引导滤波算法对于红外人脸图像和Lena 图像的信噪比和结构相似度表现均优于其他几种滤波算法。对于未裁剪的红外人脸图像,改进后的引导滤波算法相较于未改进的引导滤波算法,其信噪比均值提升了10.95%,相较于Canny 算法原始的高斯滤波提升了34.40%;结构相似度均值相较于未改进的引导滤波算法提升了9.02%,相较于原始Canny 算法中的高斯滤波提升了21.66%;同时对比同一张红外人脸图像进行边框裁剪和未进行边框裁减滤波处理后的信噪比与结构相似度,可以清晰地看到,裁剪边框后的红外人脸图像,其信噪比和结构相似度明显高于未进行边框裁剪的红外人脸图像。
为了验证本文算法的红外人脸边缘轮廓提取效果,分别采用文献[9]、文献[10]、文献[11]、原始的Canny 算法和本文改进后的Canny 算法对红外人脸图像进行了边缘轮廓提取对比实验。如图5、图6 所示,为利用几种边缘检测算法提取原始红外人脸图像和经过边框裁剪后的红外人脸图像边缘轮廓实验结果。
图5 部分红外人脸图像边缘轮廓提取对比实验结果Fig. 5 Experimental results of edge contour extraction comparison from partial infrared face images
图6 部分剪裁红外人脸边缘轮廓提取对比实验结果Fig. 6 Experimental results of edge contour extraction comparison from partial clipping infrared face images
通过分析几种方法的红外人脸图像边缘轮廓提取结果,可以得到:传统Canny 算法提取的红外人脸边缘轮廓存在较多的伪边缘,文献[9]、文献[10]、文献[11]的边缘轮廓检测方法有效去除了红外人脸图像的伪边缘特征,但损失了较多的真实边缘,其中文献[9] 的方法边缘特征丢失最为严重。综合对比可以看出本文改进后的算法不仅有效去除了红外人脸图像的伪边缘特征,同时较完整地保持了真实的边缘轮廓特征。对于红外人脸图像进行边框裁剪后再进行边缘轮廓提取性能对比,和未进行剪裁的红外人脸图像基本表现一致,但有效减少了冗余信息的干扰。
为了客观地评价本文的红外人脸图像边缘轮廓提取效果,通过边缘检测效果评价指标优质系数[20]PFOM来对实验结果进行定量分析,优质系数PFOM的公式如下:
式中:IL代表理想边缘像素点数量;IS代表实际提取的边缘像素点数量; δ为调节系数,其值为常数1 /9;di代 表第i个实际提取的边缘点到与之距离最近的真实边缘点之间的法线距离;PFOM∈(0,1)值越大,代表检测结果越好。为尽可能减小数据误差,本文对经几种不同边缘检测算法处理的未剪裁和剪裁后的红外人脸图像边缘轮廓提取结果的PFOM值做了取均值处理。如图7、图8 所示为利用文献[9]、文献[10]、文献[11]、原始的Canny 算法和本文改进后的Canny 算法对未剪裁和剪裁后的红外人脸图像边缘轮廓提取的PFOM均值对比。
图7 未裁剪图像不同边缘检测算法优质系数对比Fig. 7 Comparison of quality coefficients of different edge detection algorithms for uncropped images
图8 裁剪图像不同边缘检测算法优质系数对比Fig. 8 Comparison of quality coefficients of different edge detection algorithms for clipping images
对比用不同边缘检测算法对未裁剪的红外人脸图像边缘轮廓提取的PFOM均值,可以得到本文算法提取红外人脸图像边缘轮廓的PFOM均值为0.5664,相较于原始的Canny 算法优质系数增加了0.3194,显著提升了Canny 算法在红外人脸图像边缘轮廓提取方面的性能;和其他方法中性能最好的文献[11]相比,其优质系数高了0.2219。裁剪后的图像,其边缘轮廓提取的优质系数明显高于未裁剪的图像,因此在进行红外人脸图像边缘轮廓提取之前可通过裁剪背景以减少冗余信息的干扰。
本文致力于解决红外人脸图像中因其自身成像特点所致分辨率差、对比度低,在边缘轮廓提取时易产生虚假轮廓边缘的问题,基于改进经典的Canny 边缘检测算法实现红外人脸图像边缘轮廓提取。通过分析Canny 算法在红外人脸边缘轮廓提取时存在的局限性,对其进行了改进,提升了Canny 算法在红外人脸图像边缘轮廓提取时的适应性。主要改进措施有:1) 将Canny 原始算法中的高斯滤波替换为引导滤波算法,并对引导滤波算法进行改进,引入“动态阈值约束因子”,使其不仅能够有效降低红外人脸图像的噪声,而且可以避免因过度平滑而丢失弱边缘图像特征;2) 对原始Canny 算法中的非极大抑制步骤进行了改进,在原始计算梯度方向的基础上增加了22.5°、67.5°、112.5°、157.5°梯度方向,使得算法的极大值抑制插值较原始算法更加精细,降低了插值的随意性;3) 基于改进OTSU 算法,通过构造灰度-梯度映射函数确定最佳阈值,弥补了原始OTSU 算法仅依靠图像灰度信息确定最佳阈值不够精确的问题,从而实现了对原始Canny 算法双阈值确定方法的改进。最后利用公开的红外光人脸图像数据库UTKIRIS 进行了仿真实验,实验结果表明,本文算法对于红外人脸图像边缘轮廓提取有较好的性能表现,并且在进行边缘轮廓提取前,对图像进行边框裁剪可以取得更佳的检测效果。同时,由于红外人脸图像是一种具有代表性的红外图像数据,因此,本文红外人脸图像边缘轮廓提取的算法思路也可以为其他红外图像边缘轮廓检测提供一定的参考。但受时间和精力关系,本文尚未对复杂背景下的红外人脸图像进行研究,这将是接下来的研究方向。