APP下载

基于形态学滤波和邻域搜索的掌纹主线提取方法

2018-08-15李海燕潘培哲唐一吟余鹏飞黄亚群陈建华

计算机应用与软件 2018年8期
关键词:掌纹主线形态学

李海燕 潘培哲 唐一吟 余鹏飞 黄亚群 陈建华

1(云南大学信息学院 云南 昆明 650091)2(昆明医科大学第三附属医院乳腺外科 云南 昆明 650106)

0 引 言

掌纹是一种位于人体体表的遗传因子,具有个体特异性和终身不变性,遗传学的研究表明:人体的遗传性病变会体现在掌纹主线上[1-2]。医学研究表明:精神分裂[3]、咬合不正[4]、乳腺肿瘤[5]、支气管哮喘[6]等病人的掌纹主线与健康对照组存在明显差异。因此,提取完整、符合自然生长规律的掌纹主线作为疾病的特异性特征,对研究掌纹与疾病相关的特异性特征具有重要意义。

目前,掌纹主线特征的提取人员主要有两类。一类是医学研究者,靠人眼视觉手工提取。手工提取的掌纹主线可靠性及一致性差,对与掌纹主线与疾病相关性研究的准确性也因人而异。此外,由于手工计算的局限性,现有的特征测量方法多是对视觉可见特征进行定性或近似的描述,再加之人眼视觉对手纹局部细节特征可分辨性差而且手工提取困难,极大地减缓了研究的进度。

另一类是计算机专家,利用检测算法自动提取掌纹主线特征,用于身份识别。目前常用的主线提取算法有:基于边缘检测算法[7-8]、基于方向建模的算法[9]和基于数学形态学的提取算法[10-12]等。基于边缘检测的主线提取算法主要有:张大鹏等[7]采用小波变换将掌纹图像分解为不同频率成分,继而利用小波系数提取掌纹图像中的明显线特征,但是该方法提取的皱褶较多;Lin[8]采用Sobel算子提取具有方向的边缘特征,这些特征主要是掌纹主线以及较深的褶皱线,但是提取的线特征含有大量噪声。基于方向建模的主线提取算法主要有:张大鹏等[9]利用方向建模构造十二方向的线段模板提取图像中的直线特征,接着利用提取出的直线段模拟出原始的掌纹线,该方法提取出的纹线不连续。基于数学形态学的主线提取算法主要有:郑艳清等[10]利用数学形态学滤波和Hough变换处理提取出三条掌纹主线,但是该方法在搜索过程中容易产生分叉而导致提取的主线形态失真;黄申[11]利用小波变换提取不同方向的主线分量,并通过形态学处理得到主线,最后结合回归分析和图像融合完成对主线的修复;彭其胜[12]采用数学形态学和4方向的模板匹配法对掌纹线进行提取,提取出主线以及较深褶皱的信息。

用于身份识别领域的掌纹主线提取方法只需要提取部分匹配识别的特征点,无需提取出完整的掌纹主线。而研究掌纹主线与疾病相关性时,需要提取清晰、完整的掌纹主线。因此当前身份识别领域的掌纹主线提取算法用于研究主线与疾病相关性时,存在以下问题:① 提取过程中难以区分掌纹主线和较深的掌纹皱褶,容易错提取出皱褶线;② 提取出的掌纹主线形态失真,不符合实际生长规律。

因此,本文提出了一种结合形态学滤波和邻域搜索的掌纹主线提取算法,力求解决现有方法的局限性,以期为研究掌纹主线与疾病相关性提供一种客观的、具有一致性的、可重复的特征提取方法。本文算法首先提取手掌轮廓并对其进行归一化方向矫正和截取感兴趣区域(ROI)。然后,提出一种新的平滑模板和3个特异性方向检测模板,利用形态学滤波法对掌纹主线进行粗提取。最后,确定生长于粗提取主线上的搜索起始点,对掌纹ROI灰度图像在两个方向上采用邻域搜索算法提取掌纹主线。

本文的创新点在于:提出了一种结合形态学滤波和邻域搜索的掌纹主线提取算法;提出一种新的平滑模板和3个特异性方向检测模板;提出了一种确定生长于粗提取主线上的搜索起始点,然后对掌纹ROI灰度图像在两个方向上采用邻域搜索算法提取掌纹主线的方法。

1 掌纹图像预处理

对掌纹图像预处理的目的是消除图像平移、旋转等方向性因素干扰。在预处理过程中,利用指根点的位置信息旋转矫正掌纹图像,并采用寻找手掌最大内切圆的方法分割出包含掌纹主线信息的ROI,并将其归一化成相同尺寸,具体流程如图1所示。

图1 掌纹图像预处理流程

首先用Otsu算法二值化输入的掌纹图像,用文献[13]的方法提取手掌轮廓并定位指根点。由于指根点的位置在手掌中的相对位置是不会改变的,因此本文提出了一种用指根点对掌纹图像进行矫正的方法,具体的矫正思路如下:

如图2所示,点A和点B分别是食指与中指、中指与无名指之间的指根点。设A、B两点的坐标分别为(xA,yA)和(xB,yB),如果xA=xB,即A、B两点位于同一条竖直线上,则说明手掌的摆放处于正确的位置,不需要矫正,否则按照下面的步骤计算矫正方向及旋转角度:

Step1连接A和B,得到直线AB。过点B做一条垂线,得到直线BO。

Step2计算直线AB与BO之间的夹角,记为θ。当xAxB时,此时A点在B点右侧,图像逆时针旋转θ。

图2 利用指根点旋转掌纹图像

通过上述方法旋转矫正后的图像如图3所示。

图3 归一化旋转后的掌纹图像

旋转矫正后提取掌纹的ROI。因为手掌的二值图像是单连通区域,观察手掌的形状,可知最大的内切圆必然出现在手掌的中心区域,该区域包含掌纹主线,就是所需截取的ROI区域。本文采用文献[14]的方法提取掌纹ROI。图4为找到的最大内切圆。

图4 最大内切圆法截取掌纹ROI

本文采用最大内切圆的内接正方形来截取ROI,如图4所示。为方便后续处理和便于存储,将截取出的图像归一化成128×128的大小,截取出的ROI效果见图5。

图5 归一化的掌纹ROI图像

从图5可以看到,经过预处理后的掌纹图像统一裁剪成了正方形的ROI图像。ROI图像囊括了主线信息,去除了原始掌纹图像的庞大背景,并且不同掌纹图像的主线走向基本一致,消除了图像采集过程中因手掌旋转造成的影响,提高了下一步主线提取算法对图像的鲁棒性。

2 定位搜索起始点

掌纹主线在所有纹线中体积最大,并且掌纹主线的灰度值相对周围皮肤更低。根据掌纹主线的这两个特点,先利用形态学处理粗提取出掌纹主线,继而定位主线搜索起始点,最后在灰度图像上进行跟踪提取。

由于掌纹主线的长度和宽度通常比褶皱大,灰度值也更低,因此,ROI图像中的掌纹主线经过形态学底帽变换并加以二值化处理后会有更大的面积,通过删除小面积区域就可以剔除褶皱线,仅保留掌纹主线。因此,本算法采用数学形态学前置处理,定位主线搜索起始点。

设掌纹ROI图像信号为I(x,y),对掌纹ROI图像进行归一化旋转矫正后,掌纹主线在方向上具有一致性。本文提出一种新的平滑模板H和新的3个方向结构元素进行形态学处理,如表1所示。

(1)

首先用平滑模板H对图像进行平滑:

J=I×H

(2)

对于平滑后的图像J,依次选择结构元素bi(i=1,2,3),进行形态学Bottom-hat变换:

Li=(J·bi)-J

(3)

而后采用恰当的阈值对Li进行H-极大值变换,将处理后的图像用Otsu方法二值化处理,并采用形态学处理填补孔洞、适度膨胀后得到bwi(i=1,2,3),融合3个方向的二值图,得到底帽变换的二值图:

BW=bw1+bw2+bw3

(4)

为了避免二值图中的主线粘连的情况,还需采用“矩形”结构元素对BW进行开操作,断开主线之间的粘连,保证每条主线都是一个单连通区域。最终得到的主线粗提取二值图如图6所示。

图6 不同掌纹图像的二值图

对二值图中的单连通区域按面积从大到小进行排序,仅保留前3个连通区域,删除其余区域,这样保留下的区域就是粗提取的掌纹主线。接着对粗提取出的掌纹主线进行形态学收缩(shrink)处理,操作次数为无限次(n=Inf),该操作将会使没有孔洞的区域收缩成一个点。在掌纹ROI图像中标记出这些点,如图7所示。

图7 主线上的搜索点

统计主线点的5×5邻域中所有像素点的灰度值,拥有最小灰度值的点将成为主线搜索的起始点。精确定位的主线搜索的起始点用圆形标记“○”标出,如图8所示。

图8 精确定位的主线搜索起始点

3 提取掌纹主线

定位出搜索起始点后,用邻域法进行主线搜索。通过观察发现,在归一化的掌纹ROI图像中,掌纹主线的宽度大约是3个像素,通常位于中央的像素点的灰度值最低,因此在搜索时,算法设计成对灰度值最低的方向进行跟踪。采用邻域搜索算法提取掌纹主线的具体步骤如下:

1) 确定搜索方向。由于掌纹主线的走向具有规律性,所以搜索方向定为向左下角和右上角两个方向,如图9所示。

图9 掌纹主线的搜索方向

以向左下角搜索为例,设当前像素为p(x,y),那么在p的8个邻域中,可供搜索的像素点有3个,分别是(x-1,y)、(x-1,y-1)、(x,y-1)。将搜索方向旋转180°可以得到向右上角的搜索方向,可供搜索的像素点也有3个,分别是(x+1,y)、(x+1,y+1)、(x,y+1)。

2) 确定下一个主线点。在p(x,y)的邻域中,采用一个长度为3个像素的“探针”,以p点为起点,分别向3个搜索方向“刺探”。以左下角搜索为例,如图10所示,黑色像素是已经搜索到的主线,圆圈标记的像素是p(x,y),从p点出发的黑线代表“探针”,分别统计方向i(i=1,2,3)上的“探针”所经过像素的平均灰度值Ii:

(5)

(6)

(7)

在其中求出min{I1,I2,I3},也就是平均灰度值最小的方向作为主线的跟踪方向。那么,下一个主线点就是“探针”在该方向上的中央像素点,如图10所示。

图10 搜索下一个主线点示意图

3) 更新当前点坐标,继续搜索。

4) 进行搜索终止判定。终止条件采用灰度值和灰度方差两项因素综合判定:

(1) 设定一个灰度阈值T,若当前点的灰度值超过阈值,或其3×3邻域的灰度平均值超过阈值,则认为当前邻域内亮度较大,其判定公式如下:

(8)

(2) 设定一个方差阈值V,若当前点的5×5邻域内所有像素点灰度值的方差小于阈值,则认为当前邻域内的像素灰度值基本无变化,其判定公式如下:

(9)

式中:xi表示5×5邻域中的像素点,μ为邻域的平均灰度值。

当且仅当点p同时符合上述两个条件时,即点p亮度过大,且其周围区域无明显灰度变化时,则认为p点周围不存在主线点,终止搜索。

5) 保存主线。主线点标记为1(黑色),其他为0(白色)。

4 实验结果和分析

为了验证本文算法的有效性,对香港理工大学人体生物特征识别中心(BRC)制作的掌纹图像库[15](PolyU Palmprint Database)进行主线跟踪提取,其结果如图11所示。

图11 本文算法提取的掌纹主线

由图11可以看出,采用数学形态学前置处理定位的主线点非常准确,以这些主线点为起始点,应用搜索算法提取出的掌纹主线不但完整,形态也很贴合实际主线。并且该方法完全屏蔽了褶皱线、脊线、阴影噪声的干扰,仅保留纯粹的主线信息。

为了验证提出的算法的性能,将本文提出的算法与梯度算子检测以及文献[12]对比,如图12所示。

图12 掌纹主线提取对比实验

从图12可以看出,本文提出的算法提取出的主线效果最好。Sobel算子检测出的掌纹连续性差、噪声多,并且由于掌纹由两个阶跃边缘组成,所以双边缘现象不可避免。彭七胜提出的数学形态学结合模板匹配的方法[12]提取出的掌纹线连续性佳、定位准确,但是这种基于全局的检测方法不可避免地提取出了褶皱和阴影。本文方法相对于全局检测法有效地避免了主线区域以外的噪声干扰,提取出的掌纹主线完整、纯粹、自然。

为了客观比较本文算法与现有算法的性能,对BRC制作的掌纹图像库中286副手掌图像进行主线提取。因为本文的研究目的是提取完整、符合自然生长规律的掌纹主线,因此统计了提取结果中含噪图像比例、含褶皱图像比例,完整无噪无褶皱图像比例。

从表2的客观比较可看出,本文算法提取的掌纹主线,能有效滤出噪声和其他干扰性褶皱、短线,提取完整、单纯的掌纹主线。

表2 掌纹主线提取客观比较 %

5 结 语

以期为研究掌纹主线特征与疾病相关性提供一种提取完整、符合自然生长规律的主线提取算法,本文提出了一种结合形态学滤波和邻域搜索的掌纹主线提取算法。与现有算法相比,该算法的主要特点是:(1)提出了一种新的平滑模板和结构元素,能屏蔽与主线方向不同的褶皱和噪声,提取出较为理想的掌纹主线。(2)提出了一种基于邻域搜索的掌纹主线跟踪算法,在粗提取的掌纹主线上定位出搜索起始点,而后采用邻域搜索算法,在掌纹ROI灰度图像中采用“探针”跟踪掌纹主线的延伸方向,最终提取出完整的掌纹主线。实验结果表明,该方法算法能提取出完整、纯粹、自然的掌纹主线,有效屏蔽与主线不同方向上的干扰。

猜你喜欢

掌纹主线形态学
人物报道的多维思考、主线聚焦与故事呈现
更加突出主线 落实四个到位 推动主题教育取得实实在在成效
基于混合滤波LBP和PCA的掌纹识别
数字主线
敲窗的鸟
医学微观形态学在教学改革中的应用分析
下沉和整合 辽宁医改主线
掌纹在临床望诊中的应用初探
数学形态学滤波器在转子失衡识别中的应用