新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 让生物识别技术成为FPGA动态部分重配置功能的“杀手级”应用

让生物识别技术成为FPGA动态部分重配置功能的“杀手级”应用

作者:时间:2011-02-27来源:电子产品世界收藏

  摘要:我们在本项工作中解决的问题是:证实部分重配置适用于基于特性的复杂个人识别算法的开发;运用二维设计抽象层对功能进行空间和时间的管理。

本文引用地址:http://www.eepw.com.cn/article/117277.htm

  关键词:;指纹识别;;部分重配置

  自动指纹识别系统

  指纹识别是自动个人识别技术中使用的最常见、最可靠的技术。大体上,实现的技术将自动指纹识别(AFAS) 划分为在不同时间和不同条件下执行的两个阶段:登记和识别。

  登记流程中,用户向系统提供指纹,系统随即执行一系列需要高强度计算的图像处理步骤,以提取所有具有相关性、永久性和独特性的信息,从而使系统明确识别指纹的真正主人。这一系列特性就构成了用户ID(身份识别号码),由系统存储在数据库中。这一过程一般在安全的环境中,在专业人员的指导下离线执行。

  指纹识别是查看其是否与数据库中的经认可的用户一致。在登记过程中执行的各种处理工作将反复进行,以从当前指纹采样本中提取出独特的特征。系统随后将这些特征与数据库中存储作为为用户模版的信息进行对比,以确认当前指纹采样是否与登记的模版相符。根据数据库大小,识别分为两种模式:一对一或一对多匹配。识别一般是在安全度较低的环境中,且在实时约束的条件下完成的。

  这里的每一步被细分为一系列彼此独立的任务,以从指纹图像中抽取出用户独特的信息。以此为目的,系统将进行一系列具体的运算,如图像处理(2D 卷积、形态学运算)、三角运算(正弦、余弦、反切、开方)[1] 或者统计(平均值、方差)。

  因此,应用是由一系列按顺序流程执行的任务构成的。因为在这个链条上某个给定任务的输出数据是下一项任务的输入数据,一项任务的开始需要等待前一项任务的完成。另外,在登陆阶段和识别阶段,有许多任务是反复执行的。

  图1列举了目前算法中发生的任务。第一项是图像获取。根据传感器的尺寸,系统可以一次性地获得整个图像(全图像传感器),也可以分片获取(扫描传感器)。在第二种情况下,即我们正在使用的这种情况,需要额外经过一次图像重构阶段。完整的指纹图像是由连续且部分重叠的图像条所组成的[2]。

  我们获得整个重构的图像之后,下一步是在背景中对前景(即指纹皮肤的凸凹形成的关注区域)分割。我们采用由 5x5 像素的 Sobel边缘检测滤波器逐像素完成图像卷积。完成后,我们以特定的均值和方差进行图像标准化。

  下一步,我们通过各向同性滤波来增强标准化图像。该步骤使用 13x13 像素,从之前在采集阶段因噪声而导致图像丢失或者干扰的图像区域恢复相关信息[3]。图像强化步骤完成之后的下一步是计算指纹矢量图 (field orientation map),以确定图像前景中脊线和谷线的主要方向。生成的方向场 (eld orientation) 随后被提交给新的滤波步骤(5x5像素),以获得精细化的矢量图。

  此时图像仍为 8 位灰度。在二值化处理中,由 7x7 像素的 Gabor 方向滤波器进行灰度图像卷积,以提升脊线和谷线的清晰度,并把每个灰度像素转化为 1 位二进制(黑或白)点。合成的脊线和谷线图像再次进行经过平滑处理和重绘。随后,通过细化或骨架化,将黑白图像的黑色走线变为一个像素宽。从这个图像上不难提取指纹的特性或者细节,即纹线端点和纹线分叉点。

  最后,在获取到指纹细节和方向场数据后,就可以进行指纹模板和样本的对比。这里采用一种比较直接的算法,在考虑到转换和旋转动作以及采集阶段因皮肤弹性导致的图像变形引起的误差可接受的情况下,让两者实现最理想的重合[4]。下一步是进行样本和模板的匹配,获知两者之间的相似度,随后自动化系统可以根据相似度来确定两个图像是否属于同一人[5]。

  在如图3所示的整个处理过程中,使用的指纹图像分辨率为 500dpi,灰度为 8 位,图像大小为 280x512 像素。图像获取采用的是Atmel公司的热敏指纹传感器 FingerChip 扫描技术,运算采用的是赛灵思 Virtex-4 XC4VLX25 器件。

  系统架构

  Virtex-4 器件是 AFAS 平台的计算单元,其中采用 Flash(闪存)作为系统数据库,存储FPGA配置数据,以及如用户指纹模板或生物识别算法配置设置等特定于应用的数据。此外,该系统还使用 DDR-SDM 存储器来暂时保存从每个处理阶段中获得的中间数据或图像。我们采用的是串行通信,在我们的案例中是连接至 UART 控制器的 RS-232 收发器 — 后者可在 FPGA 资源中进行综合 — 以用于调试目的。其目的是将每个阶段生成的结果图像传输到 PC 上,以便以图形化的方式察看每步的指纹图像或者结果。最后,使用扫描式指纹传感器来获取用户的生物识别特性,并作为识别算法的输入,如图 2 所示。

  作为计算单元,FPGA 被划分为两个区域,一个是静态区,由完整的多处理器 CoreConnect 总线系统构成;另一个是可重配置区,用于根据需要放置定制的生物识别协处理器或IP(知识产权),以执行识别算法的各种顺序任务,并随处理的进展进行复用。多处理器 CoreConnect 总线系统主要由赛灵思 MicroBlaze 处理器及其它标准外设构成,同时还拥有一个链接至 ICAP (内部配置访问通道)端口的重配置控制器。

  如图1所示,所有的处理任务都按照顺序执行的次序从 0(静态)到 B 进行枚举。定制的硬件协处理器负责在 PRR (部分重配置区域)中实现所有的任务,由 MicroBlaze 在软件中完成的指纹采集过程除外。

  软硬件特定的划分是由于扫描传感器需要 5μs的积分时间来获得连续的图像条(SLICE)。这种速度下无需采用定制的硬件协处理器,采用MicroBlaze软件采集和重构图像不仅速度足够,而且更简单经济。

  图像采集按每个 SLICE 5μs的速率采集 100 个SLICE,每个 SLICE 的大小为 280x8 像素。每两个连续的图像 SLICE 之间的像素重叠部分交由软件进行探测,从而完成图像的实时重构。

  由于实时的要求,剩余的任务我们交由 FPGA 的 PRR 的定制硬件协处理器来实现。一旦每个特定的任务完成之后,位于器件静态区的重配置控制器在 MicroBlaze 处理器的控制下,载入下一个任务的工作模块。重配置控制器通过 ICAP 接口将新模块的配置数据从 DDR-SDM 中直接传输到内部的 FPGA 配置存储器中,从而完成此项任务。

  值得一提的是,我们使用的是静态区和可重配置区之间基于 FIFO(先进先出)存储器和触发寄存器构成的标准界面。这样我们就可以在 PRR 中开发标准的生物识别协处理器或 IP,而无需理会系统使用的是哪种多处理器总线,无论其是 AMBA、CoreConnect、Wishbone 还是其它均如此,如图 2 所示。这一点具有根本性的意义,因为这样才能确保生物识别算法跨不同平台的标准化和便携性。


上一页 1 2 下一页

关键词: 生物识别 FPGA 201102

评论


相关推荐

技术专区

关闭