基于直方图的虹膜图像增强方法、装置、设备及存储介质与流程

文档序号:16000546发布日期:2018-11-20 19:24阅读:135来源:国知局

本发明涉及图像处理领域,尤其涉及一种基于直方图的虹膜图像增强方法、装置、设备及存储介质。



背景技术:

虹膜作为一种重要的身份鉴别特征,具有唯一性、稳定性、可采集性和非侵犯性等特点。在虹膜识别系统中,经常需要清晰度较高的虹膜图像作为训练集,但是由于采集设备的限制和采集环境变化等因素的影响,都会导致采集的虹膜图像质量不佳,如对比度低和噪声干扰等问题都会影响虹膜纹理特征的凸显,进而影响虹膜图像训练集的清晰度和识别效率。为了提高识别的准确率,往往需要对虹膜图像进行增强处理,以凸显图像的纹理特征。目前通常只是对采集到的虹膜图像的对比度进行整体动态调整,然而经过如此处理的虹膜图像在识别系统中的准确率还是不高。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种基于直方图的虹膜图像增强方法、装置、设备及存储介质,以解决虹膜图像识别准确率不高的问题。

一种基于直方图的虹膜图像增强方法,包括:

获取虹膜图像集,所述虹膜图像集包括虹膜图像,所述虹膜图像包括用户标识;

计算所述虹膜图像集中的虹膜图像的对比度,按照对比度由大到小的顺序对虹膜图像集中每个用户标识对应的虹膜图像进行排序,得到每个用户标识对应的初始虹膜序列;

从每个用户标识对应的初始虹膜序列中依据对比度由大到小的顺序获取预设数量的虹膜图像,组成初始虹膜集;

采用自适应直方图均衡化算法对所述初始虹膜集中的初始虹膜图像进行局部增强处理,得到第一增强虹膜图像集;

对所述第一增强虹膜图像集中的第一增强虹膜图像采用拉普拉斯算子进行锐化处理,得到第二增强虹膜图像集。

一种基于直方图的虹膜图像增强装置,包括:

虹膜图像集获取模块,用于获取虹膜图像集,所述虹膜图像集包括虹膜图像,所述虹膜图像包括用户标识;

虹膜序列获取模块,用于计算所述虹膜图像集中的虹膜图像的对比度,并按照对比度由大到小的顺序对虹膜图像集中每个用户标识对应的虹膜图像进行排序,得到每个用户标识对应的初始虹膜序列;

初始虹膜集获取模块,用于从每个用户标识对应的初始虹膜序列中依据对比度由大到小的顺序获取预设数量的虹膜图像,组成初始虹膜集;

第一增强虹膜图像集获取模块,用于采用自适应直方图均衡化算法对所述初始虹膜集中的初始虹膜图像进行局部增强处理,得到第一增强虹膜图像集;

第二增强虹膜图像集获取模块,用于对所述第一增强虹膜图像集中的第一增强虹膜图像采用拉普拉斯算子进行锐化处理,得到第二增强虹膜图像集。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于直方图的虹膜图像增强方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于直方图的虹膜图像增强方法的步骤。

上述基于直方图的虹膜图像增强方法、装置、设备及存储介质,首先获取虹膜图像集,对图像虹膜集中的同一用户标识对应的虹膜图像计算对比度,并按照对比度由大到小的顺序进行排序,得到每个用户标识对应的初始虹膜序列,以对比度大小作为虹膜图像选取的标准,便于后续从中挑选对比度较大的虹膜图像进行处理。然后,依据每一用户标识从初始虹膜序列中依序获取预设数量的虹膜图像,组成初始虹膜集,以便后续对该虹膜集进行处理,减少一些冗余操作,加快图像处理的实时性,接下来,采用自适应直方图均衡化算法对初始虹膜集中的初始虹膜图像进行局部增强处理,不仅扩展了初始虹膜图像像素的灰度值的动态范围,而且局部对比度也得到了自适应调整,整体对比度得到有效提高,增强了内部细节。最后,对增强后的虹膜图像进行锐化处理,不仅抑制了增强过程中放大的噪声,而且整幅虹膜图像边缘细节特征被加强,具有较好的增强效果,提高了虹膜图像的识别准确率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例中基于直方图的虹膜图像增强方法的应用场景图;

图2是本发明实施例中基于直方图的虹膜图像增强方法的一流程图;

图3是图2中步骤S10的一具体实施方式的一流程图;

图4是图2中步骤S20的一具体实施方式的一流程图;

图5是图2中步骤S50的一具体实施方式的一流程图;

图6(a)是本发明实施例中一初始虹膜图像的示例图;

图6(b)是本发明实施例中一第二增强虹膜图像的示例图;

图7是本发明实施例中基于直方图的虹膜图像增强装置的一示意图;

图8是本发明实施例中计算机设备的一示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请提供的基于直方图的虹膜图像增强方法,可以应用在计算机设备或系统中,用于对虹膜图像进行增强处理,以解决虹膜图像识别准确率不高的问题。其中,计算机设备可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。

可选地,若该基于直方图的虹膜图像增强方法应用在系统中,该系统可以包括服务端和客户端。图1示出该基于直方图的虹膜图像增强方法应用在系统中的应用场景图。其中,服务端和客户端之间通过网络进行连接,客户端采集或者获取虹膜图像,服务端从客户端获取虹膜图像,客户端具体可以是摄像机、照相机、扫描仪或其他带有拍照功能的设备(手机或平板电脑等),或者存储有虹膜图像的存储设备。客户端可以为一个,也可以为复数个。服务端具体可以用一个服务器实现或者用复数个服务器组成的服务器集群实现。

在一实施例中,如图2所示,提供一种基于直方图的虹膜图像增强方法,以该方法应用在计算机设备中为例进行说明,包括以下步骤:

S10:获取虹膜图像集,虹膜图像集包括虹膜图像,虹膜图像包括用户标识。

其中,虹膜图像集是指由虹膜图像组成的图像集合,而虹膜图像是指通过摄像设备拍摄用户眼睛内部的虹膜所得到的图像。可选地,虹膜图像集可以是实时采集的,也可以预先存储在计算机设备中。一个虹膜图像集可以包括一个用户的虹膜图像,也可以包括多个用户的虹膜图像。例如,一个虹膜图像集中包括N个用户的虹膜图像,若每个用户都有M幅虹膜图像,那么该虹膜图像集就有M*N幅虹膜图像。优选地,虹膜图像集中包括至少两幅虹膜图像。用户标识是指虹膜图像所属用户的标识,用于对虹膜图像按照所属用户进行分类,每一虹膜图像对应一用户标识,同一用户的虹膜图像对应相同的用户标识。

在一个具体实施方式中,可通过拍摄用户的眼睛获取预定数量的虹膜图像组成虹膜图像集,或者从计算机设备中获取预定数量的预先存储的虹膜图像组成虹膜图像集,或者通过拍摄用户的眼睛获取部分虹膜图像,再从计算机设备中获取另一部分预先存储的虹膜图像,两者共同组成虹膜图像集。

优选地,可选择在相同时间段内,采集若干用户的多幅虹膜图像作为虹膜图像集。例如,可以在阴雨天的中午采集,也可以在晴天的下午采集,这样能够避免获取的虹膜图像集中不同的虹膜图像因光线变化导致对比度相差较大的问题。

S20:计算虹膜图像集中的虹膜图像的对比度,并按照对比度由大到小的顺序对虹膜图像集中每个用户标识对应的虹膜图像进行排序,得到每个用户标识对应的初始虹膜序列。

其中,对比度是一种衡量图像质量的指标,具体来说,虹膜图像的对比度是图像黑与白的比值,用于表征虹膜图像从黑到白的渐变层次。该比值越大,说明虹膜图像从黑到白的渐变层次越多,从而色彩表现越丰富。对比度对视觉效果的影响非常关键,一般来说对比度越大,图像越清晰醒目,色彩也越鲜明艳丽。对比度高的虹膜图像在一些暗部场景中的细节表现、清晰度和高速运动物体表现上优势更加明显。

初始虹膜序列,是指每个用户标识对应的虹膜图像按照对比度由大到小的顺序排列组成的虹膜序列。同一用户标识对应的虹膜图像按照对比度由大到小的顺序排列组成的虹膜序列为该用户标识对应的子虹膜序列。具体地,对每个用户标识的多幅虹膜图像一一进行对比度计算,并依据对比度由大到小的顺序对每个用户标识对应的多幅虹膜图像进行排序,得到每个用户标识对应的子虹膜序列。对比度越大的虹膜图像,清晰度也会越高,因此将虹膜图像集中每个用户标识对应的虹膜图像按照对比度从大到小的顺序排列。例如:初始虹膜序列中有N个用户标识,每个用户标识都包括M幅虹膜图像,则有N个子虹膜序列,且这N个子虹膜序列一起组成了初始虹膜序列,每个子虹膜序列中的虹膜图像是按照对比度由大到小的顺序排列的。

容易理解地,由于对比度是衡量图像质量的一种重要指标,因此,可通过计算比较每幅虹膜图像的对比度,并基于同一用户标识,按照对比度由大到小的顺序对虹膜图像集中的虹膜图像进行排序,进而将对比度较大的虹膜图像作为虹膜图像选取的标准,便于后续从中挑选对比度较大的虹膜图像进行处理,得到更具纹理特征的虹膜图像。

S30:从每个用户标识对应的初始虹膜序列中依据对比度由大到小的顺序获取预设数量的虹膜图像,组成初始虹膜集。

其中,预设数量是预先设定好的一个数值,用于选取一定数量的虹膜图像后续再进行增强处理。可选地,该预设数量可以根据训练样本量的要求来设定。例如:若在后续的模型训练中,要求每个用户标识的训练样本数量为P,则可以设定预设数量为P。可选地,可以根据每一用户标识对应的虹膜图像的数量来设置预设数量的值。例如,在每个用户标识采集的图像为30幅的情况下,对应的预设数量可以设置为10幅,即只需要在这30幅虹膜图像中,按照对比度的大小顺序,在每个用户标识对应的初始虹膜序列中按照从大至小选取10幅虹膜图像作为初始虹膜集即可。初始虹膜集是从初始虹膜序列中选取的对比度数值靠前的预设数量的虹膜图像组成的集合。通过选取对比度较大的虹膜图像组成初始虹膜集,从而排除对比度较小的虹膜图像,减少了一些冗余图像,减轻后续虹膜图像增强处理的工作量,加快虹膜图像增强处理的速度,提高后续虹膜图像的处理效率。同时,由于选取对比度较大的虹膜图像作为初始虹膜集,能够提高虹膜图像的增强程度,进而提升虹膜图像的识别率。

S40:采用自适应直方图均衡化算法对所述初始虹膜集中的初始虹膜图像进行局部增强处理,得到第一增强虹膜图像集。

其中,自适应直方图均衡化(Adaptive Histogram Equalization,AHE)算法采用移动子窗口技术,对包含初始虹膜图像像素的子窗口区域进行直方图均衡化,即求出该区域内的最低灰度值和最高灰度值,在该子窗口对应的区域内均衡化初始虹膜图像直方图,据此并按整幅初始虹膜图像直方图均衡化的灰度映射原理,给子窗口对应的区域内待处理图像像素重新赋值。容易理解地,初始虹膜图像灰度值整体偏低,其直方图分布在灰度值较小的区域,因此在低灰度区域相对较为集中,经过直方图均衡化后,增大了其灰度分布范围,且各个灰度级之间的距离也被增大,在整个灰度级上更为均匀,有效地扩展了初始虹膜图像的灰度分布范围,使得初始虹膜图像亮度增加,一定程度上提高了初始虹膜图像的对比度。

局部增强是指对图像的局部信息进行增强的处理过程,在一具体实施方式中,通过将整幅初始虹膜图像分成多个子块,利用直方图均衡化算法分散到初始虹膜图像的所有子块区域,通过子块区域直方图均衡化计算的叠加,自适应地增强虹膜图像的局部细节信息。因此,采用自适应直方图均衡化算法对初始虹膜图像进行局部增强后,使得初始虹膜图像尽可能地保留图像细节信息,局部纹理细节也能得到自适应调整,增强了图像的内部细节,整幅虹膜图像的细节信息更为清晰,从而可以得到纹理丰富清晰的第一增强虹膜图像集,可以提高后续的识别精度。

本实施例中,初始虹膜集中的初始虹膜图像的灰度值即为自适应直方图均衡化算法的输入,第一增强虹膜图像的灰度值为自适应直方图均衡化算法的输出。通过采用移动子窗口技术,对初始虹膜图像进行直方图均衡化,调节了虹膜图像灰度值的动态范围,通过对虹膜图像的局部进行自适应直方图均衡化,更好的凸显了局部特征,同时有效扩展初始虹膜图像像素灰度值的动态范围并细化了内部细节,使得虹膜图像的纹理细节更为明了。

S50:对第一增强虹膜图像集中的第一增强虹膜图像采用拉普拉斯算子进行锐化处理,得到第二增强虹膜图像集。

其中,第一增强虹膜图像是指对初始虹膜集中的初始虹膜图像采用自适应直方图均衡化算法进行增强处理后得到的虹膜图像。拉普拉斯算子(Laplacian operator)是一种二阶微分算子,适用于改善因为光线的漫反射造成的图像模糊。其原理是,在摄像记录图像的过程中,光点将光漫反射到其周围区域,这种由于光的漫反射造成了图像一定程度的模糊,其模糊程度相对与正常情形下拍摄的图像来说,往往是拉普拉斯算子的常数倍,因此,对图像进行拉普拉斯算子锐化变换可以减少图像的模糊,提高图像的清晰度。因此,通过对第一增强虹膜图像进行锐化处理,突出第一增强虹膜图像的边缘细节特征,提高了第一增强虹膜图像的轮廓清晰度。

锐化处理是指对图像进行锐化的变换,用于加强图像中的目标边界和图像细节。第二增强虹膜图像是指对第一增强虹膜集中的虹膜图像采用拉普拉斯算子进行锐化处理后得到的虹膜图像。第一增强虹膜图像经过拉普拉斯算子锐化处理后,图像边缘细节特征被加强的同时也提高了第一增强虹膜图像的亮区边缘的清晰度,从而保护了第一增强虹膜图像的细节。

可选地,对第一增强虹膜图像采用拉普拉斯算子进行锐化的过程可以是:用拉普拉斯算子对第一增强虹膜图像像素的灰度值求二阶导数,二阶导数等于零处对应的像素就是图像的边缘像素,这样的处理可以将虹膜纹理边缘更加清晰的呈现出来,以便获取纹理细节更丰富的清晰的虹膜训练集,提高识别效果。

进一步地,在采用自适应直方图均衡化算法对初始虹膜进行增强处理的过程中,由于是通过移动子窗口的方式对初始虹膜图像进行直方图均衡化,为此会引入放大的噪声,产生干扰。因此,利用锐化处理中的拉普拉斯算子进行滤波,可以抑制由自适应直方图均衡化算法进行局部增强过程中引入的噪声,使得第二增强虹膜细节信息更为丰富。本实施例中,首先获取虹膜图像集,对虹膜图像集中的虹膜图像进行对比度计算,并提取出虹膜图像集中对比度较大的虹膜图像组成初始虹膜集,从而减少了质量不佳的虹膜图像,减少了冗余操作,有利于提高虹膜图像的增强程度和后续增强处理的效率。然后对初始虹膜集中的初始虹膜图像采用自适应直方图均衡化算法进行局部增强处理,调节了初始虹膜图像灰度值的动态范围,更好的凸显了局部特征,同时细化了内部细节,最后对增强后的第一增强虹膜图像进行锐化处理,以抑制由自适应直方图均衡化算法进行局部增强过程中引入的噪声,同时锐化处理后得到第二增强虹膜图像,保留了更多的虹膜图像的细节,整体上提高了虹膜图像的对比度,使虹膜图像的纹理特征更加清晰,以便得到纹理细节更丰富的清晰的虹膜训练集,提高后续识别的准确率。

在一实施例中,如图3所示,步骤S10中,即获取虹膜图像集,具体包括如下步骤:

S11:实时获取人眼和摄像头的实测距离,若实测距离不在距离阈值范围内,则发送提示消息。

其中,实测距离是指用户的眼睛距离摄像头的距离,距离阈值是指实验测定的过程中,通过反复测试给定的一个预设距离值,若被拍摄物在距离阈值处,计算机设备所采集的图像相比其他的位置处采集的图像质量更优。距离阈值范围是指在距离阈值上下所设定的界限,容易理解地,实测距离在距离阈值上下波动的一定范围内,也能拍摄到清晰的图像。在保证图像质量清晰的条件下,为了方便快速拍摄图像,可以设置该距离阈值±a%的数值范围作为距离阈值范围,可选地,a可以为5、10或15等。提示信息是用于提示用户进行相应的调整以便拍摄清晰图像,提示信息包括但不限于箭头标识(如不同方向的箭头)、文字提示信息(如距离过远、距离适当或距离过近)和语音信息(如“请您靠近摄像头”、“正在采集”或“请您远离摄像头”)等。

获取到实测距离后,判断实测距离是否在距离阈值范围内,如果不在距离阈值范围内,发送提示信息,用户根据提示信息进行相应的调整,再获取实测距离,直到实测距离在距离阈值范围内为止,通过引导用户在距离阈值范围内,有利于提高后续获取的虹膜图像的质量。

在一个具体实施方式中,以红外摄像头为例,可以将红外摄像头的焦距作为距离阈值,具体地,可通过红外摄像头本身手动或自动对焦的方式进行调节,根据图像的清晰度确定该摄像头的焦距。

本实施例中,通过对实测距离和距离阈值范围的比较来发送对应的提示信息,可以引导用户快速地调整位置,提高虹膜图像采集的效率。

S12:若实测距离在距离阈值范围内,则控制摄像头进行连续拍摄,获取虹膜图像集。

可以理解地,当用户眼睛距离摄像头的距离在距离阈值范围内,这种情况下拍摄获取的虹膜质量较佳。连续拍摄可以获取同样一个人的多张虹膜图像,方便快捷,为后续的增强处理提供了质量较佳的虹膜图像集。

本实施例中,通过获取用户眼睛与摄像头的实测距离,并将实测距离与距离阈值范围进行比较,根据比较结果反馈对应的提示信息给用户,用户依据提示信息进行调整,当实测距离在阈值范围内,控制摄像头进行连续拍摄,获取虹膜图像,可以方便快捷地获取到虹膜图像,也提高了虹膜图像的质量。

在一实施例中,如图4所示,步骤S20中,即计算虹膜图像集中的虹膜图像的对比度,具体包括如下步骤:

S21:获取虹膜图像集中虹膜图像的每个像素的灰度值,并依次将每个像素作为中心像素。

其中,像素(Pixel)是数字图像的基本元素,像素是在模拟图像数字化时对连续空间进行离散化得到的。每个像素具有整数行(高)和整数列(宽)位置坐标,同时每个像素都具有整数灰度值或颜色值。一幅图像是由很多像素构成的。具体地,数字图像数据可以用矩阵来表示,因此可以采用矩阵理论和矩阵算法对数字图像进行分析和处理。灰度图像的像素信息就是一个矩阵,矩阵的行对应图像的高,矩阵的列对应图像的宽,矩阵元素对应图像的像素,矩阵元素的值就是像素的灰度值,它表示灰度图像中颜色的深度。具体地,可通过图像信息获取工具获取到虹膜图像的每个像素对应的灰度值。即给出图像对应的路径,通过路径读取到该路径下的图像。例如,可以通过imread函数实现:

I=imread('D:\lena.jpg');

其中,jpg为图像的格式,lean为图像的名称,“D:\”为lean图像的路径,I为lean图像对应的矩阵。中心像素是指在给定的区域内,位于中心位置的像素。本实施中,依次将每个像素作为中心像素是指在给定的区域内,将区域内的每个像素都作为中心像素。例如,区域内有15个像素,这15个像素依次作为中心像素,那么就有15个中心像素。当边界的像素作为中心像素时,可通过扩展像素的方式将边界像素看作中心像素,即边界像素邻域内不存在的像素的灰度值设置成与该边界像素灰度值相等。例如一虹膜图像的矩阵为:

其中,第一行第一列的像素的灰度值为22,其左部和上部均不存在像素,那么在计算对比度时,将其左部和上部的像素的灰度值设置成与该边界像素相同的大小的灰度值,即左部和上部的灰度值均为22。

S22:根据预设邻域大小,计算每个中心像素的灰度值与对应邻域像素的灰度值之差。

其中,邻域像素是指与中心像素位置相邻的像素,例如,位于坐标(x,y)的像素p有两个水平和两个垂直的相邻像素,每个像素距(x,y)一个单位距离。坐标分别为:(x-1,y),(x+1,y),(x,y-1),(x,y+1)。此像素集合定义为像素p的4个邻域,用N4(p)表示。另外,像素p还有4个对角相邻像素,坐标为:(x-1,y-1),(x+1,y-1),(x-1,y+1),(x+1,y+1)。这四个对角相邻像素和N4(p)共同称为像素P的8邻域,用N8(P)表示。

若预设邻域大小取4,即取4邻域,则每个中心像素与对应邻域的像素的灰度值之差有4个,若中心像素的灰度值用h(x,y)表示,那么其与对应4邻域的像素的灰度值之差可通过如下公式得到:

q1=h(x-1,y)-h(x,y);

q2=h(x,y-1)-h(x,y);

q3=h(x+1,y)-h(x,y);

q4=h(x,y+1)-h(x,y);

容易理解地,当中心像素为边界像素时,其对应的灰度值之差q1、q2、q3、q4中至少有一个值为0。

S23:基于预设邻域大小和该虹膜图像对应矩阵的行数和列数,获取该虹膜图像中灰度值之差的个数。

例如,设一虹膜图像对应的矩阵为则矩阵M的行数m=3,列数n=5。容易理解地,通过图像信息获取工具,能够获取到该虹膜图像对应的矩阵,进而获取矩阵的行数和列数。

若预设邻域大小为4,矩阵的行数和列数分别为m和n,则灰度值之差的个数k可通过如下公式得到:

k=4×(m-2)×(n-2)+3×(2×(m-2)+2×(n-2))+4×2;

若预设邻域大小为8,矩阵的行数和列数分别为m和n,则灰度值之差的个数k可通过如下公式得到:

k=8×(m-2)×(n-2)+6×(2×(m-2)+2×(n-2))+4×3。

S24:将该虹膜图像中每个中心像素的灰度值与对应邻域像素的灰度值之差进行平方求和之后除以该虹膜图像中灰度值之差的个数,得到该虹膜图像的对比度。

其中,虹膜图像的对比度用C表示,灰度值之差分别为q1、q2…qk,k为正整数。虹膜图像的对比度C的具体计算公式如下:

C=(q12+q2+…+qk2)/;

由公式可知,对比度C是一个具体的数值。

本实施例中,首先获取虹膜图像的每个像素的灰度值,并依次将每个像素作为中心像素,根据预设邻域大小,计算中心像素的灰度值与预设邻域像素的灰度值差值,该灰度值差值的个数通过预设邻域的大小和虹膜图像对应矩阵的行数和列数计算得到后,将该虹膜图像中每个中心像素的灰度值与对应邻域像素的灰度值差值进行平方求和之后除以灰度值差值的个数,所得到结果即是该虹膜图像的对比度。通过步骤S21至步骤S24可以简单快速地计算出虹膜图像的对比度,还能通过比较对比度筛选出质量高的虹膜图像。

在一实施例中,步骤S40中,采用自适应直方图均衡化算法对所述初始虹膜集中的初始虹膜图像进行局部增强处理,得到第一增强虹膜图像集,具体包括:

获取预设子图块,并依照预设子图块的位置顺序对初始虹膜图像中对应的像素块进行直方图均衡化处理;

其中,对初始虹膜图像中对应的像素块进行直方图均衡化处理,具体包括:

获取像素块的直方图中的每个灰度值的个数;

基于每个灰度值的个数计算每个灰度值的累积分布函数;

基于每个灰度值的累积分布函数对像素块进行灰度变换处理,得到均衡化后的像素块。

其中,预设子图块是指预先设定好的移动子窗口,用于作为对像素块进行对比度调整的标准。可以理解地,预设子图块越小,其包含的信息量越少,像素块的对比度拉伸程度越大。例如,预设子图块A的大小为32×32,预设子图块B的大小为8×8,则预设子图块B对应的像素块的对比度的拉伸程度大于预设子图块A对应的像素块的对比度的拉伸程度。像素块是指将初始虹膜图像进行划分获得的子图块。例如初始虹膜图像大小为64×64,将其按照2×2均分,则有4个像素块,每个像素块的大小为32×32。依照预设子图块的位置顺序是指按照子图块的每个像素块所在位置的顺序,如先从上到下再从左至右的顺序,或者先从左至右再从上到下的顺序。例如,一初始虹膜图像按照M×N均分,依照预设子图块的位置顺序可以是:第一行、第二行…第M行的顺序,也可以是第一列、第二列…第N列的顺序。

具体地,以预设子图块在初始虹膜图像的像素块上移动,并按像素块的位置顺序进行遍历,对像素块进行直方图均衡化,通过依照预设子图块的位置顺序对像素块进行操作,虹膜图像的局部信息得到自适应调整,增加了初始虹膜图像的内部细节。

图像的直方图是描述图像中各灰度值出现频率的统计关系,反映的是一幅图像中各个灰度值出现的次数。计算各个灰度值的累积分布函数是指获取到各个灰度值的个数后,将小于或者等于各个灰度值的个数累加后得到的分布函数,例如,N(n1)、N(n2)…N(nk)为直方图中小于等于灰度值为nk的个数,那么灰度值为rk对应的累积分布函数为:N(rk)=N(n1)+N(n2)+…N(nk)。灰度变换处理具体方法是:将计算得到的累积分布函数作为变换函数,对初始虹膜图像中的各个像素块通过累积分布函数进行灰度变换,从而将灰度值相对较为集中的区域变换到了较大的区域,提高了初始虹膜图像中的像素块的对比度。

在一具体实施方式中,可通过图像信息工具获取像素块的直方图,然后统计像素块对应的直方图的各个灰度值的个数;计算各个灰度值的累积分布函数;基于累积分布函数对像素块进行灰度变换处理,得到均衡化后的像素块。通过累积变换函数进行灰度变换,将初始虹膜图像的像素块的直方图分布改变成均匀分布直方图分布,通过使用累积函数对灰度值进行调整实现了初始虹膜图像的对比度增强的效果。可以理解地,通过这三个步骤实现初始虹膜图像中的对应像素块的直方图均衡化。

本实施例中,将预设子图块在初始虹膜图像的像素块上依照子图块的位置顺序进行遍历后在进行直方图均衡化处理,使得初始虹膜图像的像素灰度值的动态范围得到有效扩展,并且局部信息也得到自适应调整,增强了内部细节。

在一实施例中,如图5所示,步骤S50中,即对第一增强虹膜图像集中的第一增强虹膜图像采用拉普拉斯算子进行锐化处理,具体包括如下步骤:

S51:获取第一增强虹膜图像集中的第一增强虹膜图像的每个像素的灰度值,采用拉普拉斯算子对每个像素的灰度值都进行锐化,得到锐化后的像素灰度值。

具体地,可以直接读入第一增强虹膜图像集中的第一增强虹膜图像,获取每一虹膜图像像素灰度值,具体的读入方式和步骤S21类似,在此不再赘述。

基于二阶微分的拉普拉斯算子定义为:

对于第一增强虹膜图像R(x,y),其二阶导数为:

因此,拉普拉斯算子为:

得到拉普拉斯算子之后,用拉普拉斯算子对第一增强虹膜图像的灰度值R(x,y)的每一像素灰度值都根据下述公式进行锐化,得到锐化后的像素灰度值,式中,g(x,y)为锐化后的像素灰度值。

S52:基于第一增强虹膜图像中锐化后的像素灰度值,获取对应的第二增强虹膜图像。

将锐化后的像素灰度值替换原(x,y)像素处的灰度值得到第二增强虹膜图像。

在一个具体实施方式中,拉普拉斯算子选用四邻域锐化模板矩阵采用四邻域锐化模板矩阵H对第一增强虹膜图像集中的一幅第一增强虹膜图像进行拉普拉斯算子锐化。

如图6(a)和图6(b)所示,展示了对一幅初始虹膜图像(图6(a))进行自适应直方图均衡化算法增强和拉普拉斯算子锐化后的虹膜图像即第二增强虹膜图像(图6(b))的对比图。可以看出,初始虹膜图像的整体对比度较低,第二增强虹膜图像相对于初始虹膜图像,灰度值的动态范围得到有效调节,较好地呈现了6(a)中不清楚的局部信息,局部细节信息凸显(人眼图像中的虹膜图像视觉上变清晰),边缘细节比较丰富。

在本实施例中,首先获取第一增强虹膜图像集中的第一增强虹膜图像的每个像素的灰度值,对其进行拉普拉斯锐化处理,得到锐化后的像素灰度值后再获取对应的第二增强虹膜图像。将经过自适应直方图均衡化算法增强处理之后的虹膜图像采用拉普拉斯算子进行锐化,图像边缘细节特征被加强的同时抑制了第一增强虹膜图像增强过程中引入的噪声,从而保护了第一增强虹膜图像的细节。此外,上述步骤不仅简单方便,提高虹膜图像处理的实时性,而且处理后得到第二增强虹膜图像边缘细节特征更加突出明了,虹膜图像集的整体对比度得到较大提高,增强了虹膜图像的纹理特征,有利于提高虹膜图像的识别的准确率。

值得说明的是,为了验证该基于直方图的虹膜图像增强方法的有效性,按照本实施例中步骤S11和步骤S12的方法采集50个人眼虹膜图像,每个人眼6张共计600幅虹膜图像集,计算虹膜图像集的对比度,选取每个人眼对比度靠前的3幅,其中2幅用作训练,1幅用作验证。将此300张虹膜图像经过本实施例中的自适应直方图均衡化算法进行局部增强后,并将增强的虹膜图像采用本实施例中步骤S51至步骤S52的方法进行锐化处理,得到处理后的训练集和验证集。将未经处理训练集和经过处理训练集分别提取纹理特征,识别算法通过计算欧式距离或者通过支持向量机(Support Vector Machine,SVM)分类器来实现,计算比较识别率,作为该基于直方图的虹膜图像增强算法的增强效果。结果显示:未经处理的虹膜图像的识别率为83%,虹膜图像经本实施例中的基于直方图的虹膜图像增强方法处理后的识别率为99.3%,识别率提升了16.3%。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种基于直方图的虹膜图像增强装置,该基于直方图的虹膜图像增强装置与上述实施例中基于直方图的虹膜图像增强方法一一对应。如图7所示,该基于直方图的虹膜图像增强装置包括虹膜图像集获取模块10、虹膜序列获取模块20、初始虹膜集获取模块30、第一增强虹膜图像集获取模块40和第二增强虹膜图像集获取模块50。其中,虹膜图像集获取模块10、虹膜序列获取模块20、初始虹膜集获取模块30、第一增强虹膜图像集获取模块40和第二增强虹膜图像集获取模块50的实现功能与上述实施例中基于直方图的虹膜图像增强方法对应的步骤一一对应,为避免赘述,本实施例不一一详述。

虹膜图像集获取模块10,用于获取虹膜图像集,虹膜图像集包括虹膜图像,虹膜图像包括用户标识。

虹膜序列获取模块20,用于计算虹膜图像集中的虹膜图像的对比度,并按照对比度由大到小的顺序对虹膜图像集中每个用户标识对应的虹膜图像进行排序,得到每个用户标识对应的初始虹膜序列。

初始虹膜集获取模块30,用于从每个用户标识对应的初始虹膜序列中依据对比度由大到小的顺序获取预设数量的虹膜图像,组成初始虹膜集。

第一增强虹膜图像集获取模块40,用于采用自适应直方图均衡化算法对初始虹膜集中的初始虹膜图像进行局部增强处理,得到第一增强虹膜图像集。

第二增强虹膜图像集获取模块50,用于对第一增强虹膜图像集中的第一增强虹膜图像采用拉普拉斯算子进行锐化处理,得到第二增强虹膜图像集。

具体地,虹膜图像集获取模块10包括实测距离检测单元11、虹膜图像集获取单元12。

实测距离检测单元11,用于实时获取人眼和摄像头的实测距离,若实测距离不在距离阈值范围内,则发送提示消息。

虹膜图像集获取单元12,用于若实测距离在距离阈值范围内,则控制摄像头进行连续拍摄,获取虹膜图像集。

具体地,虹膜序列获取模块20还包括对比度计算单元21,用于计算虹膜图像集中的虹膜图像的对比度。

具体地,对比度计算单元21包括灰度值获取子单元211、灰度值的差值获取子单元212、灰度值的差值个数获取子单元213和对比度计算子单元214。

灰度值获取子单元211,用于获取虹膜图像集中虹膜图像的每个像素的灰度值,并依次将每个像素作为中心像素。

灰度值的差值获取子单元212,用于根据预设邻域大小,计算每个中心像素的灰度值与对应邻域像素的灰度值之差。

灰度值的差值个数获取子单元213,用于基于预设邻域大小和该虹膜图像对应矩阵的行数和列数,获取该虹膜图像中灰度值之差的个数。

对比度计算子单元214,用于将该虹膜图像中每个中心像素的灰度值与对应邻域像素的灰度值之差进行平方求和之后除以该虹膜图像中灰度值之差的个数,得到该虹膜图像的对比度。

具体地,第一增强虹膜图像集获取模块40用于获取预设子图块,并依照预设子图块的位置顺序对初始虹膜图像中对应的像素块进行直方图均衡化处理;

其中,对初始虹膜图像中对应的像素块进行直方图均衡化处理,具体包括:

获取像素块的直方图中每个灰度值的个数;

基于每个灰度值的个数计算每个灰度值的累积分布函数;

基于每个灰度值的累积分布函数对像素块进行灰度变换处理,得到均衡化后的像素块。

具体地,第二增强虹膜图像集获取模块50包括锐化后灰度值获取单元51和第二增强虹膜图像获取单元52。

锐化后灰度值获取单元51,用于获取第一增强虹膜图像集中的第一增强虹膜图像的每个像素的灰度值,采用拉普拉斯算子对每个像素的灰度值都进行锐化,得到锐化后的像素灰度值。

第二增强虹膜图像获取单元52,用于基于第一增强虹膜图像中锐化后的像素灰度值,获取对应的第二增强虹膜图像。

关于基于直方图的虹膜图像增强装置的具体限定可以参见上文中对于基于直方图的虹膜图像增强方法的限定,在此不再赘述。上述基于直方图的虹膜图像增强装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是客户端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于直方图的虹膜图像增强方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例基于直方图的虹膜图像增强方法的步骤,例如图2所示的步骤S10至步骤S50。或者,处理器执行计算机程序时实现上述实施例基于直方图的虹膜图像增强装置的各模块/单元的功能,例如图7所示的模块10至模块50。为避免重复,这里不再赘述。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例基于直方图的虹膜图像增强方法的步骤,或者,计算机程序被处理器执行时实现上述实施例基于直方图的虹膜图像增强装置的各模块/单元的功能,为避免重复,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1