手背静脉识别系统的设计与实现
2019-03-13何振邦徐喜荣胡旭明戴鑫邦
何振邦,徐喜荣,胡旭明,戴鑫邦
(大连理工大学 计算机科学与技术学院,辽宁 大连 116024)
1 引 言
手背静脉识别技术是近年来新兴的一种生物特征识别技术.医学研究表明每个个体的手背静脉结构具有很好的稳定和唯一性,即使是双胞胎的手背静脉结构也是不尽相同的[1],这为手背静脉作为生物特征来开发相应的身份识别技术提供了理论依据.相比于指纹识别、声音识别、人脸识别等生物特征识别技术,手背静脉识技术别具有以下优点:1)采集方便可靠,由于采集的是人体手背表皮以下的静脉血管红外图像,手背出现污染、伤疤仍能正常采集;2)手背静脉图像采集通过人体手背位置采集,静脉血管为人体内部组织,只有活体静脉血管才会对红外光产生强烈吸收效应,并在图像中显现出来,故不易伪造[2];3)图像采集为非接触式采集,卫生方便且采集迅速,容易被人们接受[2].手背静脉识别技术由于有着上述的独特优点,成为了生物识别技术中的热点与前沿[3].可以预见,手背静脉发展成熟之后能够广泛应用于军政部门、银行、酒店、商场、公寓等场景,有着较大的发展前景和市场潜力.
手背静脉识别技术经过十几年的发展,取得了长足的进步,从一个新生事物逐渐发展成熟,无论是图像的采集、图像预处理和特征提取与匹配都发展出了许多成熟的方法;其中手背静脉识别的核心问题是手背静脉特征的提取与匹配,对此许多学者提出了一些解决方法,如Huang[4,5]等人通过研究手背静脉图像的局部纹理特征提出了基于质心的同心圆关键点网格特征提取方法和基于多源关键点检测子的特征提取算法;Wang[6]等人提出一种基于判别性局部二值模式的手背静脉识别方法;刘铁根[7]等人提出了通过小波包分解来提取手背静脉特征;任桐慧[8]等人提出了一种基于特征点距离的手背静脉特征融合方法;Hu[9]等人通过提取出手背静脉骨架中的交叉点和端点并将这些点之间的拓扑关系作为特征进行匹配.上述学者从不同角度提出的手背静脉的识别方法,具有一定的实用性、借鉴性和启发性.然而市面上仍鲜有相关的商业化产品,其中原因有整套设备难以微型化、各个部件不易整合、一些设备部件非标准通用件不易大批量生产等.本文通过使用一些常见、易于获得的部件实现了一套简易的手背静脉识别系统,能够完成手背静脉红外图像的采集、预处理、特征提取和匹配,在整套系统的价格较为低廉的同时也具有较好的识别效果,对手背静脉识别系统的研制有一定的借鉴意义.
2 手背静脉识别系统结构
本文设计的手背静脉识别系统由图像采集设备、相应的软件和一台PC机组成.图像采集设备主要由红外摄像头和红外灯组成,负责采集用户的手背原始红外图像,以视频流的形式输出;软件则接收图像采集设备输出的视频流,自动识别视频流中的用户的手背静脉原始红外图像并进行预处理、特征提取、分类匹配,输出最终的匹配结果;PC机用于控制图像采集设备和运行软件.整个系统结构如图1所示.
图1 手背静脉识别系统结构图Fig.1 Structure of dorsal hand vein recognition system
3 图像采集设备
3.1 图像传感器
医学影像学研究表明,当手背静脉受到波长为700nm~1100nm的近红外光的照射时,近红外光能穿透厚约3mm的皮肤组织到达手背静脉血管[10],由于静脉中的血红蛋白能强烈吸收此范围波长的光波,而相比之下其他部分吸收能力较弱,使得在最终的红外图像中静脉呈现出较为明显的深色[11],据此可以提取出手背静脉的骨架以便后续处理.
本文选用了一款购买自某电商平台的100万像素、分辨率为1280×720且带有红外滤光片的CMOS摄像头.该摄像头带有的红外滤光片能有效滤去环境光中除850nm波长的近红外光外的其他成分的光波.选择850nm波长红外光的优点是其波长介于700nm~1100nm之间,手背静脉对此波长的红外光有较好的吸收效果,而且此波长的红外光被广泛应用于夜间红外监控领域,市场上有大量850nm波长红外灯和相应的配套设备可供选择.
3.2 图像采集盒
为便于采集用户的手背图像、避免采集图像时外界光源的干扰,设计了如图2所示的采集盒,盒高24cm长18cm宽16cm,盒子内壁铺有类似鼠标垫的橡胶薄垫吸收红外光,使背景呈现出深色,突出用户的手背图像.摄像头固定在盒子顶部,盒子底部装有一个把手,采集时用户握住把手以采集握拳状的手背图片,握拳可以拉伸手背皮肤使其略微变薄,红外光能更容易地穿透皮肤被静脉吸收从而使手背静脉在图像中更为明显.
3.3 红外灯源
目前较为常用的手背静脉图像的采集方法是在手掌放置位置上方放置红外灯,照亮手背使得红外摄像头能够采集到手背静脉的红外图像,此种方法较为简便,但有时红外光的亮度不够,手背静脉轮廓不够明显或只能显示粗大的主血管而不能显示细小血管分支;若增加红外光功率又会使得手背皮肤强烈反射红外光导致画面过亮、泛白而采集不到手背静脉结构.故本文采用了一种改进的采集方法:在盒子内部把手处安装一个由6×10个1W红外灯珠组成的红外灯珠阵列来产生较大功率的红外光,红外灯珠采用的是监控领域常见的850nm红外补光灯,价格低廉且容易在市场上获得.盒子开口处安装有一个距离传感器,当用户的手伸入盒子,距离传感器检测到有物体遮挡,自动开启红外灯珠阵列的电源.该阵列产生的红外光能够自下而上穿透整个手掌使得整个血管结构都能完整清晰地显示出来.由于手掌靠近腕部的腕骨较厚实,靠近手腕部分红外光难以直接穿透,故在盒子左右两侧各安置一个功率为1W的红外灯珠自上而下照亮手背来获得靠近手腕部分的手背静脉图像,其照射角度约与手背平面呈50°角;取50°角能够保证红外光均匀覆盖到整个手背使得图像中手背静脉纹理均一[12],避免因光照不均导致下一步图像预处理时将阴影判为手背静脉的一部分、避免角度过大红外光反射严重导致整个画面过亮.最终的采集效果如图3.从图中可以看出手背静脉呈深色与手背皮肤对比较为明显,符合进一步后期处理的要求.
图2 采集盒示意图Fig.2 Sketch map of image capture box
图3 手背静脉原始图像Fig.3 Original dorsal hand vein image
4 图像预处理
通过图像采集设备可以获得手背静脉的原始图像,但这些原始图像含有一些噪声成分和无关图像,故需要滤去噪声并提取ROI(Region Of Interest),除此之外还需要进一步处理图像使手背静脉信息以易于计算机识别和处理的方式表示出来.
4.1 图像的截取
图像采集设备输出的是视频流,故需要从视频流中截取合适的手背静脉图像,本文设计了一个状态机来完成用户手背静脉图像的截取.状态机每0.2秒从视频流中截取一幅图像,根据图像来决定下一个状态.对截取的图像先进行全局阈值二值化,将二值化的图像进行长宽方向各十等分分成共100块,并将图像最外层的块全部赋0即全部涂黑;统计除最外层块以外的块中白色像素数占该块中全部像素数的比例,若低于90%,该块全部赋值0即全部涂黑.对处理后的二值图像求最大连通块的最小包围矩形,此矩形则是手背的大致范围.记当前矩形与上一矩形的交集区域的块数为N,当前矩形与上一矩形并集区域的块数M,N与M的比例r=N/M,根据r的值来判断两幅图像截取时间间隔内手背是否发生移动,来决定下一状态.状态机的状态转换图如图4所示,箭头上注明了状态转换的条件和转换时进行的操作.
图4 状态机状态转换图Fig.4 States transformation map of the state machine
当从状态2转换到状态3时,截取一张的图像作为此次识别的样本并进行后续处理.
4.2 ROI提取
(1)
(2)
n为白色像素总数,确定一个大致的矩形区域能将二值化之后的大部分手背白色像素框住,最后在原始区域中切割该矩形区域内的图像[13].通过此步骤,图像的尺寸缩减到约500×500的大小,减少了后续操作中对多余像素的运算.
4.3 小波阈值去噪
红外成像系统因其成像波长较长,手背静脉图像存在噪声大、对比度低和画面不均匀等问题[14],需首先对图像进行去噪处理,滤去红外图像中常见的噪点和图像中较为尖锐的图像成分,使整个图像较为均匀.本文使用小波阈值去噪法进行图像去噪处理.
小波变换作为一种发展迅速的变换分析方法,近年来在许多领域被广泛应用.信号f(t)的连续小波变换定义为:
(3)
式中:
(4)
为小波基函数,a为尺度因子,b为平移因子.
(5)
式中常取a0=2,b0=1.则信号离散小波变换式为:
(6)
小波阈值去噪其主要理论依据是小波变换具有很强的去数据相关性[15],图像经过小波变换之后有用信号的小波系数幅值要大于噪声的小波系数幅值[15],故可以用阈值处理的方法将大部分噪声的系数置零,从而保留有用信号减小噪声信号,再经过小波逆变换重建图像得到去噪图像,基本流程图如图5所示.
图5 小波去噪基本流程Fig.5 Wavelet denoising flow chart
本文小波阈值去噪的具体步骤是:
1)对原始图像在各个尺度上进行小波分解,本文使用db3小波基对图像进行3层二维小波分解.
(7)
3)将阈值处理后的小波系数进行小波逆变换,重构手背静脉图像,得到的图像即是小波阈值去噪的结果.
一张样本图片的原图与其小波去噪结果如图6所示.
从图6中可以看出两幅图大致相同,但经过去噪处理后的图片较为均匀、纯净、噪点有一定程度的减少.两者在二值化之后有更明显的区别,如图7所示.
图6 小波去噪效果对比图Fig.6 Results of wavelet denoising
小波阈值去噪处理后的图像中手背静脉的轮廓更清晰、分离出了手背静脉的脉络结构、减少了与无关部分的粘连,而原图中手背静脉边缘的较不规则、二值化杂斑较多.另一张均值滤波后的二值化图像中的手背静脉边缘不规则程度有所改善,但存在较多粘连的无关杂斑、图像不够纯净.
图7 不同去噪处理后二值化结果对比图Fig.7 Binarization results of different denoising operations
4.4 图像直方图均衡化
由于图像传感器的性能限制,图像的灰度范围较窄,经小波阈值去噪处理后图像中静脉与手背皮肤对比度仍不够大,在后续较为关键的一步二值化中部分手背静脉可能会被误判为背景而剔除掉,故可对图像进行直方图均衡化,将图像中灰度较为集中的范围拉伸到整个灰阶范围,提高对比度.从图8可以看到,直方图均衡化后整个图像的对比度明显变大了,皮肤部分明显变白,手背静脉变得易于分辨.
图8 直方图均衡化效果对比图Fig.8 Results of histogram equalization
4.5 图像二值化处理
手背静脉图像细节多、分叉多、图像亮度不均匀,采用全局阈值的二值化算法常常将不明显的手背静脉部分判为背景造成手背静脉图像的缺失.使用动态局部阈值法来进行二值化能较好地克服这个问题,本文使用NiBlack算法对图像进行二值化.
NiBlack算法是由Charl Coetzee提出的一种局部阈值算法,能克服全局阈值法在处理目标和背景灰度相差不大的图像时难以提取图像细节的缺点.其阈值的选取公式为:
T(x,y)=m(x,y)+k·s(x,y)
(8)
对于像素点p(x,y),T(x,y)为该点的阈值,m(x,y)是以该点为中心的R×R窗口内所有像素值的均值,s(x,y) 是以该点为中心的R×R窗口内所有像素值的标准方差,k为修正系数,根据经验和图像质量选取,通常取|k|<1.
NiBlack二值化算法处理后的图像结果如图9(a)图所示,通过与全局阈值法的结果对比可以发现NiBlack算法较好地保留了大部分手背静脉结构.
NiBlack算法处理后手掌的轮廓也被二值化为白色,这并不属于手背静脉,因此有必要去除手掌的轮廓线.具体的操作是首先对NiBlack算法处理前的图像进行全局阈值二值化处理,得到如图9(b)所示的图片,由于二值化后的图像可看成一个布尔值矩阵,将该图片与NiBlack算法处理后的图像进行逻辑与运算可以保留手背部分的图像而删去手掌轮廓线和轮廓线以外的图像,结果如图9(c)图所示.
图9 手掌轮廓线的去除Fig.9 Removal of hand contour
二值化过程中NiBlack算法过分强调了图像中的细节,导致处理后的图像中含有较多的杂点与杂斑,这些杂点和杂斑类似于椒盐噪声.为了使图像纯净,对NiBlack算法处理后的图像进行中值滤波,滤波窗口大小为10×10,通过中值滤波滤去较为杂碎的孤立像素点,将较为靠近的一群像素点滤为一块小斑.对于无法通过滤波去除的杂斑,可以通过孔洞填充来消除.根据试验,本文在图像大小为500×500时填充的孔洞面积大小取200,能将手背静脉结构较好地提取出来.
4.6 二值图像细化
即使是同一用户,每次采集的图像中静脉的宽度也不尽相同,静脉的拓扑结构则比较稳定,故有必要将二值化之后的图像进行细化操作来提取静脉骨架.细化的主要操作是不断删去连通区域外层像素点,直到整个图像被“腐蚀”为一个像素大小的骨架.细化结果如图10所示.
通过细化后的手背静脉骨架图像可以较为方便地提取手背静脉的交叉点、端点、长度等感兴趣的特征,用于后续匹配.
5 特征提取与分类器
5.1 随机投影法特征提取
手背静脉识别技术经过多年的发展,发展出了较多的特征提取的方法,较为常用的有Hu矩、Zernike矩、静脉拓扑结构特征点、PCA(Principal Component Analysis)等;其中PCA方法能显著降低图像特征的维数的同时保留信息.PCA方法广泛应用于数据压缩、图像特征提取等领域,但PCA算法需要根据所有样本数据计算出投影矩阵,计算量较大.基于特征提取性能和计算速度二者平衡的考虑,本文选用的是随机投影法来提取手背静脉图像的特征.随机投影法用于数据降维的理论依据是Johnson-Lindenstrauss定理[17],该定理表明一些数据点组成的高维欧氏空间可以通过一个映射变换到低维子空间,而且在映射后各数据点之间的距离保持近似不变,且这个映射关系可以是随机构造的,不需要随着样本的变化重新训练算法来更新投影矩阵[18].相比PCA等传统代数降维方法,随机投影法计算量小,运算速度快,并具有和PCA同等性能的降维效果[18].
图10 手背静脉骨架图像Fig.10 Skeleton image of dorsal hand vein
由于在预处理中得到的最终结果是单个像素大小的手背静脉骨架图像,其骨架信息较为单薄,故在特征提取之前对图像进行膨胀处理,将骨架的单个像素膨胀10倍以增加白色像素占图像像素总数的比例.经过膨胀处理后,其纹理信息更为丰富、不同图像的特征更有区分度.
本文的随机投影法特征提取过程如下:
分别将样本库中的M幅图像由500×500的二维矩阵以行顺序展开排成一个1×250000的一维向量,记为xi=(xi1,xi2,xi3,xi4,…,xi250000),i∈[1,M].
X为库中M个1×250000的一维向量组成的M×250000维矩阵,X=(x1,x2,x3,x4,…,xM)T.
构造一个250000×d(d≪250000)的随机矩阵R,R的构造方法使用Brigham提出的一种快速生成随机投影矩阵的算法,矩阵R的元素只取-1、0、1三者之一,且矩阵R的元素ri,j是服从下列分布的独立随机变量:
(9)
设Y为投影后的结果,Y通过以下公式得到:
(10)
易知Y是M×d维矩阵,则Y是降维后的样本矩阵,每个样本由250000维降到d维.本文取d=220≪250000,可见计算得到的特征大大降低了数据的维数,数据库中仅仅需要储存样本维数为1×220的特征yi而不必储存图像原图,减小了数据库规模,提高了检索速度.
5.2 分类器
特征提取后的关键问题是设计优良的分类器[7],倘若没有设计良好的分类器便无法匹配到正确的目标对象.本文采用了一种简便实用且易于维护的分类器——最邻近距离分类器.
定义输入样本S到对象Oi的距离为:
(11)
分类规则:
若Dj(S)=min{Di(S)},i∈[1,M],则S∈Oj.
该算法的直观解释是,输入样本到某一类对象的距离等于该输入样本到某一类对象中所有样本的欧几里得距离的最小值,该输入样本属于该输入样本到所有对象距离最小的对象[2].
在实际应用中还要考虑拒识的问题,即当输入样本与库中所有的对象的距离都大于某一值Δ时,认为库中未收录对象,判定识别失败.Δ的选值需要在实际测试中选定.
此分类器简单易于实现而无需训练,当分类失败时可要求用户再次进行样本采集来扩充样本集,从而提高分类精度.
6 实验结果与分析
利用实现的手背静脉识别系统进行测试.由于目前并没有开放的手背静脉图像库可供测试,本文自行建立了一个小规模的手背静脉图像库进行测试.图像库采集了25位用户的图像,每位用户采集10张作为库中的样本,另采集4张作为测试输入.所有测试均在8GB内存、2.7GHz双核CPU的硬件环境下进行.
6.1 特征维数对识别效果的影响
特征的维数对匹配效果有着直接影响,特征维数过小,特征的区分度差、信息丢失程度高;特征维数过大,冗余数据多、匹配时运算量大.本文使用100例样本测试了随机投影法中不同特征维数对匹配效果的的影响(本测试中不考虑拒识的情况),测试结果如图11所示,当特征维数过小时虽然速度较快,但识别率较低,显然无法满足实际使用的要求;随着特征维数增大,识别率开始提高,在特征维数为200维时开始收敛,超过300维之后耗时大幅增加,正确率却未有较大提高.选择220维特征能在正确率和耗时之间取得较好的平衡,故本文选择对手背静脉图像提取220维特征.
图11 特征维数对匹配正确率和耗时的影响Fig.11 Impact on matching correctness and elapsed time results on different feature dimension
6.2 分类器的距离阈值对识别效果的影响
如前文所述,分类器在实际使用时还需要考虑拒识的问题,因为最邻近距离分类器匹配出的结果仅仅是样本库中最接近输入测试样本的结果,并不一定属于该匹配结果所属的对象.因此确定一个最佳的距离阈值Δ是很有必要的,当输入样本与分类器所给出的匹配结果的欧几里得距离大于Δ时认为库中没有任何匹配的对象,拒绝通过.
为了寻找到合适的阈值Δ,本文使用了100例测试样本进行匹配测试,测试不同阈值Δ下匹配的正确率、误识率与拒识率,测试中使用随机投影法进行特征提取、最邻近距离分类器进行分类,部分典型的结果如表1所示.
表1 手背静脉识别系统在不同距离阈值下测试结果
Table 1 Test result of dorsal hand vein recognition system under different Euclidean distance thresholds
阈值Δ通过次数拒识次数误识次数通过正确率/%误识率/%拒识率/%101000001005663401000341081190100019159010198.8911017946297.872618982297.952219991396.9621201000496403010004964050100049640
本文使用通过正确率来衡量被分类器接受通过的样本中匹配结果的正确率,通过正确率的计算式为:
(12)
其中C为通过正确率,P为通过次数,E为误识次数.
从表1中数据可知当阈值较低时,虽然保证了较高的通过正确率,误识率较低,但整体的拒识率较高,识别效率较低,用户可能需要反复匹配才能通过,这在实际使用中是难以接受的;当阈值取值较高时,拒识率较低,但由于阈值的“宽容度”较高导致容易误识.故在所测试的阈值中取值18是较为合适的,能在通过正确率、误识率和拒识率中取得较好的平衡.
6.3 不同特征提取算法的比较
除了随机投影法,本文还实现了Hu矩特征提取算法和PCA特征提取算法,用于对比参照.测试中PCA算法与随机投影算法均取220维特征,Hu矩由于其算法局限仅取7维特征;各特征提取算法的分类器距离阈值Δ取测试所得的最优值:Hu矩Δ取0.9,PCA算法Δ取5,随机投影法Δ取18.样本总数为250,进行100次匹配.测试的结果如表2所示.
从表2中可知,虽然Hu矩运算速度较快,但PCA算法和随机投影法的正确率明显较优.PCA算法匹配100次耗时5890ms,随机投影法匹配100次耗时4442ms,对比之下随机投影法的识别率达96%,随机投影法在具有比PCA算法更好的识别正确率的同时,速度上也占优,证明本文使用的随机投影算法是较为理想的特征提取算法.
表2 手背静脉识别系统在不同特征提取算法下测试结果
Table 2 Test result of dorsal hand vein recognition system under different feature extraction algorithm
特征提取算法通过次数拒识次数误识次数正确率/%耗时/msHu矩42058424101PCA9316935890随机投影9822964442
6.4 小波去噪对识别效果的影响
为了验证本文使用的小波去噪算法的有效性,本文进行了与三种常用去噪算法均值滤波、中值滤波和高斯滤波的比较测试;测试中特征提取算法均使用随机投影法,提取220维特征,分类器使用最邻近距离分类器,距离阈值Δ取18;不同之处仅在于预处理中的去噪算法,测试的结果如表3所示.
表3 手背静脉识别系统在不同去噪算法下测试结果
Table 3 Test result of dorsal hand vein recognition system under different denoising algorithms
去噪算法通过次数拒识次数误识次数正确率/%小波去噪982296中值滤波937390均值滤波946292高斯滤波946292
由表3可看出,本文使用的小波去噪方法优于其他三种常用的去噪方法,无论是在处理后图片的感官上还是在最终的匹配效果上,对其原因作简要分析:小波变换在去除噪声时可提取并保存边缘信息,具有低熵性、多分辨率性、去相关性,其二值化图像手背静脉结构较为清晰、与背景能够较好分离;而经均值滤波、高斯滤波会将图像模糊化,图像二值化之后手背静脉结构易与噪声、杂斑粘连在一起从而改变静脉结构;中值滤波虽然能保持边缘结构,但其对椒盐噪声这类噪声较为有效,难以应对红外图像中噪声成分复杂的场景;因此小波去噪应用于手背静脉红外图像去噪的效果是较为理想的.
7 结 语
本文实现了一套简易的手背静脉识别系统.首先通过使用一个100万像素的红外摄像头作为采集系统的核心,该采集系统能够采集到质量较好的手背静脉图片,再对手背静脉图片进行预处理得到了手背静脉骨架图像,通过随机投影算法来提取出手背静脉骨架图像的特征向量,最后使用最邻近距离分类器进行匹配.经实验测试本系统识别正确率为96%,系统所用器材单价均较为低廉且易于获得,系统总造价仅三百元人民币,具有较好的实际应用价值、便于普及,对手背静脉识别系统的研制有一定参考价值.实际测试使用中还发现,在不同的时间段、不同温度环境下人体手背静脉血管的收缩程度不同,也会影响到匹配的效果;在进一步的研究中,图像采集设备对此情况应加以改进,使之能提取到稳定、完整的手背静脉结构图像;在特征提取方面,还可以根据手背静脉网络的拓扑结构的特点来设计一种稳定的生物特征提取方法,相比各种不变矩特征提取方法和图像代数特征提取方法,此方面的手背静脉特征提取方法的研究还较少,具有较大的研究空间.