FPGA的指纹识别算法硬件实现

2007 年第 24 卷第 4 期

微电子学与计算机

63

基于 FPGA 的指纹识别算法硬件实现
王 洪 1, 郭 娟 2 , 赖宗声 1 , 李小进 1 , 赵建龙 2 , 李光显 3
( 1 华东师范大学 微电子电路与系统研究所, 上海 200062 ) ( 2 中国科学院 上海微系统与信息技术研究所, 上海 200050 ) ( 3 北京百信通电子技术有限公司, 北京 100029 ) 摘 通用 MCU 或者 DSP。算法由硬件来实现, 提高了运算 要: 提出用 FPGA 来实现指纹识别算法, 代替了 PC 机、

速度。同时具体说明了指纹识别系统的基本原理、 系统总体结构、 FPGA 模块划分, 以及指纹识别算法的处理流程。 关键词: 指纹识别; 指纹算法; 指纹系统; 指纹传感器; FPGA 中图分类号: TP31 文献标识码: A 文章编号: 1000- 7180 ( 2007 ) 02- 0063- 03

The Har dwar e Realization of Finger pr int Recognition Ar ithmetic Based on FPGA
WANG Hong1, GUO Juan2, LAI Zong-sheng1, LI Xiao-jin1, ZHAO Jian-long2, LI Guang-xian3
( 1 Institute of Microelectronics Circuit & System, East China Normal University, Shanghai 200062) ( 2 Shanghai Institute of Microsystem & Information Technology, Chinese Academy of Science, Shanghai 200050) ( 3 Biometrics Security Tech Co. Ltd., Beijing 100029 )

Abstr act: In this article, the fingerprint recognition arithmetic is designed in FPGA which takes the place of PC, MCU

or DSP. As the arithmetic is realized in hardware, the fingerprint recognition system can work in higher speed. The rationale of this system, the structure of this system, the modules in FPGA and the flow of fingerprint recognition arithmetic will be shown in this article.
Key wor ds: Fingerprint recognition; Fingerprint arithmetic; Fingerprint system; Fingerprint sensor; FPGA



引言
指纹识别作为生物特征识别的一种, 在身份识

纹识别的片上系统做准备。在该系统中采用 Xilinx 公司的 FPGA 芯片 SpartanIII 系列芯片作为指纹识 别的算法实现平台; 指纹采集芯片采用 Hynix 的光 学指纹传感器。

别上有着其他手段不可比拟的优越性: 人的指纹具 有唯一性和稳定性; 随着指纹传感器性能的提高和 价格的降低 , 指 纹 的 采 集 相 对 容 易 ; 指 纹 识 别 算 法 已经比较成熟 [2]。传统的指纹识别系统一般以 PC、



基本原理
自动指纹识别系统 AFIS( Automatic Fingerprint

MCU 或者 DSP 作为主处理平台, 然而目前消费类
产品越来越小型化, 人们对移动设备的安全性的要 求不断提高, 指纹识别系统则开始应用在这些小型 的消费类产品中, 原来的系统平台模式移动性比较 差、 体积比较大的弊端就显现出来了。所以设计一 套体积更小、 速度更快的嵌入式指纹识别系统是非 常有意义的 [3]。 文中实现了一种基于 FPGA 的指纹识别系统, 为将来实现应用于手机、 PDA 等小型化设备中的指
收稿日期 : 2006- 02- 28 基金项目 : 上海市科委 PDC 项目( 047062023 )

指 Identification System) 一般包括指纹的采集、 纹 图 像预处理和特征提取、指纹图像的特征匹配。图 1 是自动指纹识别系统( AFIS) 的简单流程。

在指纹登陆过程中, 每一枚指纹从指纹传感器 录入若干次( 默认为 3 次) , 算法模块对每次录入的

AM 项目( 0403 )

64

微电子学与计算机

2007 年第 24 卷第 4 期

图像进行处理, 再对处理后的图像进行特征提取, 之后对该若干次特征数据进行处理, 得到最能体现 该特征的一组数 据 , 作 为 该 枚 指 纹 的 模 板 ( 即 指 纹 匹配的依据) 。最终将该模板存储于 Flash 中并输出 显示是否保存成功。 在指纹比对时, 指纹图像从指纹传感器录入, 然后提取该图像的特征数据, 用这些特征数据与指 纹登 录 时 生 成 的 模 板 进 行 比 较 , 计 算 它 们 的 相 似 度, 产生 pass 或者 fail 两种结果并输出显示。

文中, 通过控制信号, 只截取 256× 的图像数据。 256

3.2 SRAM 与 FPGA 的连接 SRAM 的作用是存储部分算法程序运行时的临
时 数 据 , 包 括 图 像 数 据 、 量 、 征 值 等 , SRAM 与 向 特

FPGA 的连接如图 4 所示。



电路设计
整个电路系统由指纹传感器、 SRAM、 Flash、

PROM 和 FPGA 构成, 如图 2 所示。 3.3 Flash 与 FPGA 的连接 Flash 是一个指纹数据库, 用来存储指纹特征点
数据。它的容量决定了该指纹识别系统能够储存的 指纹数据数量。Flash 与 FPGA 的连接如图 5 所示。

3.4 FPGA 的上电配置连接 本文选择主串 PROM 加载方式( Master Serial ) ,
其中, SRAM 的地址线与 Flash 的地址线共用;

FPGA 与 PROM 的接口电路如图 6 所示[4]。

SRAM 的数据线也与 Flash 的数据线共用。 3.1 指纹传感器与 FPGA 的连接
指纹传感器采用 Hynix 芯片, 可生成 398× 302 象素的图像。指纹传感器用来读取指纹图像。其控 制信号由标准 I2C 总线提供。 连接如图 3 所示。 在本

其 中 , PROM( Programmable ROM, 可 编 程 只 读

2007 年第 24 卷第 4 期

微电子学与计算机
表2 动性 UART 指令的描述 指令描述 算法运行, Run- step for 登录 算法运行, Run- all for 登录 算法运行, Run- step for 比对 算法运行, Run- all for 比对 将 SRAM 中数据导入 PC 中 指令读取成功 指令读取失败

65

存 储 器 ) 为 Xilinx 公 司 专 用 的 PROM, 专 门 用 于

SpartanIII 系列的在线配置。 3.5 FPGA 模块划分 3.5.1 Flash 控制器
控 制 对 Flash 的 读 取 与 写 入 , 是 算 法 模 块 和

UART 3A 01 3A 02 3A 03 3A 04 3A 05 3A FE 3A FF 01 02 03 04 05 FE FF A3 A3 A3 A3 A3 A3 A3

Flash 之间的桥梁。 3.5.2 SRAM 控制器
控 制 对 SRAM 的 读 取 与 写 入 , 但 是 同 时 有 指纹传感器控制器、 算法模块都与之通 UART 模块、 信。SRAM 空间映射如表 1 所示。
表1

SRAM 空间映射
数据功用

SRAM 空间( ! BHE=0 , BLE=1 ) 0000_0000_0000_0000 ̄ FFFF_FFFF_FFFF_FFFF 0000_0000_0000_0000_  ̄ 0000_0000_0000_000F 0000_0000_0000_0010 0000_0000_0000_0011 0000_0000_0000_0012 0000_0000_0000_0013 0000_0000_0000_0014 ̄ 0000_0000_0000_001F 0000_0000_0000_0020 ̄ FFFF_FFFF_FFFF_FFFF 256 256× 的图像数据

SRAM 空间( ! BHE=1 , BLE=0 )
保留 寄存器: Run- step for 登录 寄存器: Run- step for 比对 寄存器: Run- all for 登录 寄存器: Run- all for 比对 保留 算法横块中所需的中间变量

① ImageCheck : 首先将指纹区与背景区分离。
将图像分块, 计 算 每 一 块 的 标 准 差 , 若 该 值 大 于 某 一阈值( 本文中为 8) , 则该块的所有点都为指纹数 据, 否则为背景 数 据 ; 然 后 判 断 指 纹 区 面 积 占 整 个 图像区域面积的比例。如果这个比例超过我们给定 的阈值, 则判定 ImageCheck 通过, 否则该指纹重新 采样。以此避免在没有足够有效信息的区域进行特 征提取, 提高指纹特征提取和匹配的精度;

3.5.3

指纹传感器控制器 控制指纹传感器, 对指纹传感器发送指令和从

传感器读取图像数据, 然后将数据送入 SRAM 中。 由于传感器的控制信号由 I2C 总线提供, 故而在指 纹传感器控制模块中包括一个 I C 总线模块 。
2 [5]

② ImageEnhancement : 首先计算每一块图像的 方向( 采用直角坐标系 x, y) ; 然 后 根 据 相 邻 图 像 块
的方向, 过滤掉脊线方向发生太大弯曲的地方, 恢 复脊线原来的结构; 再对图像数据进行滤波;

3.5.4

UART 接口 & 指令控制器 PC 机对整个系统的调试接口, 其作用有二: 将 SRAM 中的数据读到 PC 机中, 观察其数据是否与 期望数据一致; 将特定的值从 PC 送入 SRAM 的某
些特定地址, 作 为 系 统 寄 存 器 , 控 制 算 法 模 块 的 运 行——Run- step 或者 Run- all, 便于对算法模块的 — 调试。

③ MinutiaExtraction : 在本文 中 特 征 点 选 择 脊
线的端点和指纹交叉点。每一个特征点的信息有: 类型、 位置( 直 角 坐 标 系 坐 标 ) 、 向 以 及 该 特 征 点 方 在特征点集中的序号。然后去除掉由于噪声引起的 大量伪特征点;

④ Database: 将成功提取特征点的指纹图像的
特征点集保存到数据库中;

UART 指 令 格 式 : 起 始 位 ( 1byte) + 命 令 位 ( 1byte ) +校验位( 1byte ) +结束位( 1byte ) 。 UART 指令 的描述如表 2 所示。 3.5.5 算法模块 采用北京百信通公司 BST FingerAPI1.0 版本算 法, 既支持 1:1 比对模式( 称为“ 验证”, 也支持 1:N ) 比对模式 ( 又称“ 识别” 。图 7 为算法流程图。 )

⑤ Hough Transform Minutia Matching: 指 纹 比 对时, 在直角坐标系中, 通过基于特征点的 Hough
变换匹配算法, 计算现场指纹与数据库中指纹的相 似度。如果匹配的特征点占模板中所有特征点的一 定的百分比, 则认为两枚指纹一致, 输出结果 - pass; 否则进入极坐标下的比较;

(下转第 68 页)

68

微电子学与计算机

2007 年第 24 卷第 4 期

DENCLUE 中固定爬山步长带来的问题。设计并实
现了适合于人体组织器官的医学图像分割算法

DSLDC- MIS, 这种新的分割方法将会受到更多人的
关注。

参考文献:
[1] Alexander Hinneburg, Daniel A Keim. A general approach to clustering in large databases with noise. Knowledge and Information Systems, 2003, 20( 5 ) : 387 ̄415

发 更 好 的 体 现 , 由 表 1 可 见 DSLDC- MIS 比 DEN-

[2] 李存华 , 孙志挥 . 一类数据空 间 网 格 化 聚 类 算 法 的 均 值
近似方法 [J]. 软件学报 , 2003, 14 ( 7 ) : 1267 ̄1274

CLUE 更快。最优步长可以克服聚类数目会增加的
问题, 从表 1 中可见 DSLDC- MIS 有效地控制了密 度吸引子数目。用文献[4]中定义的一致性和对比度 比较两种参数比较分割性能, 如表 1 所示 DSLDC-

[3] 栗 塔 山 , 彭 维 杰 . 最 优 化 计 算 机 原 理 与 算 法 程 序 设 [M].
国防科学技术大学出版社 , 2001

[4] 侯格贤, 毕笃彦 . 图象分割质量评价方法研究 [J]. 中国图
象图形学报 , 2000, 5 ( 1 ) : 39 ̄43

MIS 比 DENCLUE 有更好的一致性和对比度。
表1 两种分割算法的几个性能参数比较

[5] 徐海祥 , 朱光喜 , 张翔 , 等 . 基 于 改 进 的 一 对 一 支 持 向 量
机方法的多目标图像分割 [J]. 微 电 子 学 与 计 算 机 , 2005,

DENCLUE
分割时间( 秒) 密度吸引子数目( 个) 一致性 对比度

DSLDC- MIS 68.56 45 0.901 0.879

169.21 78 0.795 0.653

22 ( 12 ) : 51 ̄54

作者简介:
谢从华
男, ( 1978- ) , 硕士研究生。研究方向为医学图像处 理、 医学图像挖掘。



结束语
基于密度聚类的医学图像分割研究对医学图
[5]

陆 虎
据挖掘。

男, ( 1977- ) , 硕士研究生, 研究方向为网络安全、 数

像理解、 分析、 分割、 检索等有重要的意义 。文中采 用 改 进 的 DENCLUE 密 度 聚 类 实 现 了 医 学 图 像 分 割, 是对聚类技术在医学图像分析中一个新尝试。 提出的基于动态步长的爬山策略有效地克服了

薛万宇
据库。

男, ( 1973- ) , 硕士研究生。研究方向为医学图像数

宋余庆

男, ( 1969- ) , 博士, 教授。 研究方向为医学图像处理

和数据挖掘。

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (上接第 65 页) ⑥ Polar Matching: 由于在直角坐标系中的匹配
算法有一定的误差, 则在极坐标系中继续比较, 纠 正一定的误差。如果在两个坐标系中所有匹配的特 征点占所有特征点的一定的百分比, 则认为两枚指 纹一致, 输出结果- pass; 否则输出结果- fail 。
[J]. 地理空间信息 , 2005, 3 ( 3 ) : 1 [2] 李莹 , 艾明晶 . 基于 Nios II 的自动指纹识别系统设计 [J].
新器件新技术 , 2005. 6

[3] 周 宁 婕 , 付 宇 卓 , 周 煜 . 基 于 DSP 的 指 纹 识 别 系 统 硬 件
平台设计 [J]. 计算机仿真 , 2005, 22 ( 1 ) : 1

[4]

Xilinx Application Notes Spartan - 3 Families - The 3.3v Configuration of Spartan- 3 FPGAs



结束语
文中介绍了一个完整的、 独立运行的基于 FP-

[5] 吴 晓 闻 , 王 森 章 . 基 于 CoolRunner CPLD 的 I2C 总 线 控
制器设计 [J]. 微电子学与计算机 , 2004, 21 ( 3 )

GA 的嵌入式指纹识别系统。该系统能实现快速的
指纹登录 以 及 指 纹 比 对 , 指 纹 比 对 所 需 的 时 间 在

作者简介:
王 郭 洪 娟 男, ( 1982- ) , 硕士研究生。研究方向为数字集成电 女, ( 1982- ) , 硕士研究生。研究方向为数字集成电 路设计。

0.5s 以内, 完全能满足用户的要求。 参考文献:
[1] 支华 , 巢佰崇 , 陈雪丰 . 基于 ARM 的指纹识别平台设计

路设计。


相关文档

指纹识别算法的研究及基于FPGA的硬件实现
几种硬件算法及其在FPGA中的实现
用FPGA实现优化的指纹识别预处理算法
基于FPGA的指纹识别算法硬件实现
遗传算法的FPGA硬件实现
如何用FPGA实现算法的硬件加速
实现基于FPGA 的硬件算法加速器
小波算法的FPGA硬件实现
实现基于FPGA的硬件算法加速器
基于DSP和FPGA的自动指纹识别系统硬件设计与实现
电脑版