一种新型SoPC自动指纹识别系统设计

分享到:

 

2 系统实现

2.1 MBF200硬件采集模块

MBF200开启自动检测功能采集整幅指纹图像。通过设置芯片内部的阈值寄存器THR使芯片适应不同的外部环境。改变内部的PGC、DTR、DCR三个寄存器的值可以调整图像的清晰度,提高采集到的图像质量。

2.2 预处理模块的实现


图像预处理主要分为指纹图像平滑、背景分离和滤波增强三大部分。通过硬件处理控制状态机实现各个硬件模块的处理。预处理的指纹数据均存于SRAM中,根据硬件状态控制来选择SRAM与各个硬件模块的连接。图像平滑采用归一化处理,背景分离采用方差法,滤波增强采用方向滤波图像增强算法来实现[5]。
 
2.3 Nios算法实现

软件算法的主要模块分别为二值化、细化、特征提取和特征匹配。其中二值化处理中同时包括二值化后的填充和删除算法;细化算法包括细化后的去伪算法。二值化算法采用阈值法;细化算法采用Hilditch细化算法,同时采用基于8邻域特征点的特征提取算法和基于中心点的匹配算法。

3 系统实现

3.1 指纹处理VGA显示结果


图2(a)为MBF200采集效果图,图中指纹图像的纹线清晰,与背景区域对比明显。

  

归一化处理的作用是使图像中的黑白点对比更加明显,同时改变图像灰度的均匀程度。如图2(b)所示为采集后的指纹归一化处理情况,从图中可以看出指纹脊线明显加强。由于背景区域较少,因而跳过了背景分离这一步。

采用基于方向图的增强算法,处理效果如图2(c)所示。从图中可以看出,对指纹图像脊线具有很好的连接效果,能较好地去除指纹图像中的噪声干扰使指纹更清晰、真实。

二值化是在滤波的基础上进行的,包括二值化后的删除和填充算法,处理效果如图2(d)所示。二值化后图像只剩余黑白两色。

细化主要是去除不必要的纹线粗线信息,便于之后提取特征点。细化处理如图2(e)所示,细化后的指纹图像的纹线只剩下一个像素点。细化后去除了伪特征点,明显去除了断点和短线。

3.2 指纹处理性能说明

系统的处理时间消耗分为硬件预处理和软件算法处理两部分。

硬件处理包括指纹采集块、归一化块、背景分离块和增强滤波块四个部分;软件处理包括二值化、细化、特征提取和特征匹配四个部分。系统处理时间消耗如表1所示。


本文根据指纹识别算法的特点设计了一种基于SoPC的新型结构的自动指纹识别系统,通过对指纹识别算法的具体分析和优化,设计了将指纹处理划分为硬件处理和软件处理两大部分的结构,用一块SRAM作指纹处理中间数据的缓存,软件和硬件之间不涉及大的数据流的传输,节约了数据传输时间。此结构将耗时较多的预处理部分使用全硬件模式,大大提高了系统的运算速度;将耗时较小的匹配算法部分由NiosⅡ软件完成,缩短了设计周期,提高了设计精度。这种设计结构降低了系统的复杂度,使得系统结构明晰,处理性能得到提升,便于单独处理模块的优化以及系统的升级。

 

论坛已做迁移,有相关技术资料和问题讨论可以到电路城对应版块(“模拟/电源”)
X