基于c#指纹识别系统设计

2014-09-23 03:19丛碧辉刘文鹏朱满琼祁楷峰
电子设计工程 2014年13期
关键词:指纹图指纹识别中心点

丛碧辉 ,李 敏 ,许 爽 ,刘文鹏 ,朱满琼 ,2,祁楷峰

(1.大连民族学院 辽宁 大连 116600;2.北方民族大学 宁夏 银川 750021;3.北京邮电大学 北京 100000)

基于c#指纹识别系统设计

丛碧辉1,李 敏1,许 爽1,刘文鹏1,朱满琼1,2,祁楷峰3

(1.大连民族学院 辽宁 大连 116600;2.北方民族大学 宁夏 银川 750021;3.北京邮电大学 北京 100000)

设计了一套精确、方便、人性化的基于c#指纹识别系统。指纹识别经过图像预处理、特征提取、特征匹配三步骤。运用高斯-拉普拉斯算子的边缘检测方法进行图像分割、Poincare法提取中心点以及端点、分叉点后去伪点进行特征提取以及结合节点与方向场的匹配方法进行匹配。经过调试得到的识别结果表明:运行稳定、实时性好、识别率高,达到了预期的目标并能够很好地满足实际需求,具有广泛的应用前景。

c#指纹识别系统;图像分割;边缘检测;特征匹配

随着物质生活水平的提高,身份的数字化和隐形化趋势日益明显。但是,由于身份信息泄露而造成的经济损失等问题也日益严重,因此,对于如何识别身份成为各方面研究重点[1]。单纯的证件类身份识别方法因其容易伪造等缺点已经不能满足人们的生活需求。因此,基于科学技术的身份识别方法已成为人们关注热点。指纹因其具有易采集、稳定性好、容易接受等优点,在众多身份识别方法中拥有不可替代的地位。一套方便、快捷、美观、实用的指纹识别系统成为时代的需求。本研究应用c#语言设计了一种指纹识别系统。以往的指纹识别系统应用c++或者Matlab构建。与c++相比较,c#操作方便、修改容易。与Matlab相比较,c#拥有更美观的操作界面,而且不用后台支撑,可直接运行。通过应用c#,不但能够更好融合各种方法与平台之间的联系而且美观的界面设计更符合现代人的审美需求。本系统识别率较高,使用简单方便,对指纹研究与丰富c#语言应用有较大意义。

1 指纹识别技术原理

指纹识别系统操作分为两个阶段:注册阶段与识别阶段。指纹识别系统运行示意图如图1所示,展示了指纹识别系统的操作过程。注册阶段的主要目的是获取指纹数据库,为指纹识别提供基础信息。识别阶段的目的是识别出待识别人的身份。识别阶段为本系统设计重点。识别阶段主要包括三步骤:指纹图像预处理、指纹特征提取与特征识别。在这三步骤中,指纹图像预处理是基础,特征提取是核心,特征匹配得到结论。本系统着重设计了预处理步骤中的分割部分,指纹特征提取以及指纹识别中的匹配两个过程。

1.1 指纹图像预处理

指纹图像预处理按照执行顺序分为图像分割、平滑去噪、平衡、二值化、细化等步骤。本系统着重设计指纹图像的前景与背景分割。指纹图像分割采用的是应用高斯-拉普拉斯算子的边缘检测方法。由于拉普拉斯算子对图像噪声比较敏感,为了减少噪声的影响,可以用高斯函数对图像先进行平滑卷积滤波,然后再运行拉普拉斯算子。将高斯卷积和拉普拉斯算子组合成一个滤波器或算子的方法称为拉普拉斯-高斯(LOG)滤波器或算子,它的脉冲响应函数为:

图1 指纹识别系统组成示意图Fig.1 Fingerprint identification system schematic diagram

因为模板是中心对称形式的,所以可以先得到模板左上角的值,再赋值到全部模板,当然对称轴上的点要单独处理。得到处理后的数据给整体重新赋值。对脉冲响应函数进行采样,就可构造成一个离散形势的响应函数,一般高斯模板半径取 3σ。

图像边缘梯度幅值远大于噪声梯度幅值,因此可以设定一个阈值来判断某个像素点究竟是边缘点还是非边缘点。若该点的梯度值大于阈值,则该点是图像轮廓上的点,其值不变;若该点的梯度值小于阈值,则该点不是边缘点,设为0。将图像按灰度值大小分为s1和s2两类,s1图像灰度值小于T,而s2图像灰度值大于T,那么η(T)为最大值得T即为最佳阈值。

式中v2B(T)是类间方差,v2W(T)是类内方差,它们可由以下公式得到:

其中 Ψ1和 Ψ2分别属于 ρ1和 ρ2像素的灰度值。 γi是灰度值为i的像素个数,ΨT是所有像素平均值,N是像素总数。图像分割效果图如图2所示。

图2 指纹图像分割效果图Fig.2 Fingerprint image segmentation effect

1.2 指纹特征提取

指纹特征点有端点、交叉点、中心点以及三角点。要记录指纹特征点应先得到指纹中心点,以中心点为相对坐标原点记录其他点与中心点关系。

1 .2 .1 指纹中心点、三角点的提取

中心点与三角点统称为奇异点。一个场,如果存在奇异点,其周围的方向场剧烈变化。本系统对于中心点、三角点的提取所使用的原理就是基于这点的。Poincare公式:

在方向场中,中心点的Poincare的索引值为1/2,三角点的Poincare索引值为-1/2。用一条闭合曲线方向场差值的和来代替Poincare的值。以任意点P(i,j)=1的点为中心,分别计算其周围3×3方格内与5×5方格内所有以闭合曲线顺时针方向的点的方向场差的和,只有在3×3方格与5×5方格的Poincare值(1/2或-1/2)相同的时候,才是真正的奇异点。

1 .2 .2 指纹端点、交叉点的提取以及除去伪点

以中心点为原点,建立相对坐标系。记录端点、分叉点的位置、距离原点距离、频率、方向以及特征点类型。以 P(i,j)=1 为中心,在 3×3 方格范围内记录点 P(i,j)周围的 8 个点有几个点的灰度值为1,有一个点的为端点,有3个点的为交叉点,记录 P(i,j)的类型。 应用勾股定理、三角函数计算 P(i,j)的位置、与原点距离以及方向。

由于估计提取中会存在部分点不是真的特征点即伪点需要将其去掉,故计算特征点之后还要将伪点去掉才是真正的特征点。

伪特征点包括因纹线断裂造成的点以及因小孔、毛刺、和叉连形成的点,还有边缘点。

1)边缘点

边缘点去除较简单,只需采集特征点的时候从一定数量之后采集即可。

2)因纹线断裂造成的伪特征点

对于这类为特征主要考虑细节点间的距离和方向关系。首先确定一特征点P1,如果存在另一特征点P2使两点之间的距离小于5(5为阈值),即为伪点。

3)因小孔、毛刺、叉连形成的伪点

①对于任意两个纹线的分叉点,如果两点间的距离小于10(10为阈值)则为小孔点 。

②对于同一条纹线上的任一端点P1与任一分叉点P2,如果两点间距离小于4或两点间距离小于8同时两特征点连线与横坐标的夹角与纹线方向角之差的绝对值小于,则为毛刺点(4和8为阈值)。

③对于任意分叉点,如果两点间距离约等于 同时两特征点连线与横坐标的夹角与纹线方向角之差的绝对值小于π/4,则为叉连点。特征点提取示意图如图3所示。

图3 指纹特征提取效果图Fig.3 Fingerprint feature extraction effect

1.3 基于节点和方向场的匹配方法

假设M和W分别是数据库指纹和输入指纹。在上面的提取图像特征点时得到了图像的特征点个数、中心点位置、特征点的位置、梯度、方向、类型以及频率等指纹特征信息,在进行特征点比对时是以这些信息为基础进行比对的。首先对M和W进行旋转和平移对齐。在误差允许范围内计算方向OT(i,j)。应用角度误差计算横、纵坐标值。在满足横、纵坐标的允许误差范围内,在相同的特征点类型的条件下,查找匹配图像在45度方向场偏差范围内的相似特征点。相似点在原图像特征点所占比例即为对比度或者相似度。

在数据库中查找对比度最高的指纹图像即可完成匹配。识别效果图如图4所示。

图4 指纹识别效果图Fig.4 Fingerprint identification effect

2 系统软件设计

现在市面流行的生物特征识别系统大多应用c++或者Matlab编程。本系统的软件采用c#编程,与以往生物特征识别应用平台c++、Matlab相比较是一个创新。与c++相比c#语言更容易操作,程序更简洁,节省了程序运行时间。与Matlab相比c#平台可以在没有后台软件支撑下单独运行,

而且界面更加美观。程序流程图如图 所示。

图5 程序流程图Fig.5 Program flow chart

从图可以看出,本系统分为两个模块:注册模块与识别模块。首先介绍注册模块。将指纹图像采集后,通过图像分割、平滑去噪得到图像的骨架信息。由于经过平滑去噪后部分图像不够清晰,应用加强算法可以智能增强图像灰度值。将清晰的图像细化得到单个像素的骨架信息后进行二值化处理,使得图像呈现明显的黑白效果。将具有黑白效果的图片以Image类型存入SQL Server数据库中,构成带有指纹信息的个人信息数据库。其次介绍一下识别模块。识别模块与注册模块一样需要经过图像预处理部分,即:图像采集、图像分割、平滑去噪、增强、细化、二值化。经过图像预处理就要进行指纹特征提取。这里的指纹特征提取是数据库指纹图像与待识别图像的指纹特征双向提取。将待识别图像指纹特征与数据库指纹特征进行逐一比对即为指纹图像的匹配。记录差异度最小值的指纹信息,并在数据库中查找相应指纹信息所属人的姓名。最后显示姓名与指纹差异度。

3 结论

本系统是应用c#构建的指纹识别[8-9]系统。通过高斯-拉普拉斯算子结合双自动阈值选择法的边缘检测方法进行图像分割,良好的保存了指纹信息的可读性。以Poincare公式为依据提取的中心点为坐标原点得到特征值,从而应用结合节点与方向场方法进行了指纹匹配。本系统运行速度较快、精度较高、美观、可行性强,具有实际应用价值的同时能够满足科研要求。但存在中心点定位不够精准等不足有待改进。

[1]李敏,许爽,崔艳秋.身份认证系统设计[J].大连民族学院报,2013,15(3):296-299.

LI Min,XU Shuang,CUI Yan-qiu.Identity authentication system design[J].Journal of Dalian Nationality University,2013,15(3):296-299.

[2]张圆圆.指纹识别技术相关算法的研究[D].北京:北京邮电大学,2012.

[3]Brunelli R,Falavigna D.Person identification u-sing multiple cues[J].IEEE Trans.on PAMI,2005,17(10):955-966.

[4]孙冬梅,裘正定.生物特征识别技术综述[J].电子学报,2001(12):1744-1747.

SUN Dong-mei,QIU Zheng-ding.Biometric recognition technology review[J].Journal of Electronics.2001(12):1744-1747.

[5]于为民,赵继印,李敏,等.全手形特征的生物识别技术综述[J].大连民族学院学报,2012,14(1):19-23.

YU Wei-Min,ZHAO Ji-yin,LI Min,et al.All hand shape characteristics of biological recognition technology reviewe[J].Journal of Dalian Nationality University.2012,14(1):19-23.

[6]Jain A K,Ross A,Prabhakar S.An introduction to biometric recognition[J].IEEE Transactions on Circuit and System for Video Technology,2004,14(1):4-20.

[7]Pankanti S,Bolle R M,Jain A K.Biometrics:the future of identification[J].Computer,2000,33(2):46-49.

[8]刘畅,李晓东,毕云峰.基于LabVIEW虚拟仪器技术的指纹识别报警系统设计[J].现代电子技术,2012(4):188-191.

LIU Chang,LI Xiao-dong,BI Yun-feng.Fingerprint identification and alarm system based on LabVIEW virtual instrument[J].Modern Electronics Technique,2012(4):188-191.

[9]郑智强,郑建德,高媛.基于自适应遗传算法的残缺指纹识别[J].现代电子技术,2013(10):83-86.

ZHENG Jian-de,ZHENG Zhi-qiang,GAO Yuan.Fragmentary fingerprint matching based on adaptive generic algorithm[J].Modern Electronics Technique,2013(10):83-86.

The fingerprint identification system design based on c#

CONG Bi-hui1,LI Min1,XU Shuang1,LIU Wen-peng1,ZHU Man-qiong1,2,QI Kai-feng3
(1.Dalian Nationalities University,Dalian 116600,China;2.Beifang Nationalities University,Yinchuan 750021,China;3.Beijing University of Posts and Telecommunication,Beijing 100000,China)

Design a set of precise,convenient and humanized fingerprint identification system based on c#.Fingerprint identification need image preprocessing,feature extraction,feature matching three steps.Using Gauss-laplacian edge detection method for image segmentation,Poincare method extracted the center as well as the endpoint,bifurcation point except the pseudo point after feature extraction,and combining with matching nodes and direction of field matching method.After debugging the recognition results show that the running stability,good real-time,high recognition rate,has reached the expected goal and can well meet the actual demand,with wide application prospect.

fingerprint identification system base on c#;image segmentation;edge detection;feature matching

TP391

A

1674-6236(2014)13-0025-03

2013-10-10 稿件编号:201310035

辽宁省教育厅科学技术研究项目 (L2010094);中央高校基本科研业务费专项资金资助项目(DC120101132;DC110309);大连民族学院2013年硕士专业学位研究生创新基金项目(YCX2013010)

丛碧辉(1989—),女,辽宁大连人,硕士。研究方向:民族工作专用信息网络工程。

猜你喜欢
指纹图指纹识别中心点
一种基于标准差的K-medoids聚类算法
Scratch 3.9更新了什么?
如何设置造型中心点?
指纹图像干湿度评价及亮度自动调节方法研究
基于单片机指纹识别电子寄存柜设计
指纹识别技术综述
沉香GC-MS指纹图谱分析
基于模板检测法的指纹图像的细节特征提取
基于大容量指纹识别的实时身份认证系统
寻找视觉中心点