将指纹转换成供认证据
指纹识别技术具有很高的性价比和安全性,支持用于保护敏感数据和防止未授权进入系统的各种应用。传统的指纹识别系统基于PC或DSP芯片。然而,在PC上处理图像很慢,DSP芯片缺少支持全部所需功能的灵活性。FPGA则有效填补了高性能处理和系统灵活性之间的空白。来自中国华中科技大学的一个学生团队使用包含有Cyclone II FPGA和Nios II处理器的DE2板创建出了原型化的指纹识别系统,该系统充分利用了FPGA技术的高性能和灵活性优势。
快速而灵活的系统增强功能
采用系统级可编程芯片(SOPC)方法,该团队成功开发出具有认证和集中管理功能的网络指纹识别系统。作为主机的PC运行着提供各种管理功能的软件。嵌入在Cyclone II FPGA上的50MHz Nios II/f内核运行相关算法以实现包含系统初始化、指纹收集、图像处理、主从通信和用户接口在内的各种功能。在SOPC Builder的支持下,该团队不仅能以高效的方式将各个组件集成到单个系统中,还能根据需要对各个部件进行配置。
图4:指纹处理的次序
以下是指纹识别系统的工作原理:当指纹收集器检测到手指存在时,它将从睡眠模式中苏醒过来采集图像,并提交最高质量的图像。DE2板上的12.5MHz SPI内核将图像数据传送给嵌入式处理器,由该处理器执行相应图像处理算法以完成对指纹的以下一些处理:
模式发现:系统首先根据目标点周围的点的灰度等级值计算单点的方向,然后使用统计方法得到5x5的块模式,并在没有关于背景的明确条件下对块进行标记。
图像滤波:系统将沿着脊线增强图像连续性,同时提高与脊线垂直的图像对比度,以分割相邻脊线。
二进制化:图像脊线在滤波后将十分清晰,因此一个固定门限的二进制化功能可以将固定灰度值作为标准而将图像分割成黑白版本。
脊线细化:在这个阶段,图像将经过并行的细化过程,这个过程会逐渐调整脊线,直到脊线薄成单个像素的宽度,从而为图像进行细节定位做好准备。
定位细节:在这最后一步,系统对图案进行扫描以定位指纹的中心点。从细化的脊线图像开始,系统将定位指尖点,并分割这些点来评估指纹的唯一性。
通过定制指令和定制外设,该团队极大地提高了图像处理算法的性能。由于要求52次乘法累加操作,设计团队设计了一条定制指令,该指令可在三个时钟周期内完成单次乘法累加操作,从而将没有定制指令时的36.4s时间缩短到用定制指令时的4.77s,使图像滤波性能提高了7倍;脊线细化要求对目标像素进行16次比较,该团队设计了两个定制外设,可在6个时钟周期内完成16次比较,从而将没有定制外设时的13.5s缩短到有定制外设时的2.67s,使其性能提高了5倍。
当有人在终端提供他们的指纹和其他识别信息时,该系统会先在数据库中寻找匹配信息,以判断是否允许访问。系统的错误接受率(将不一致的指纹错误判断为一致的可能性)小于5%。它的错误拒绝率(将一致的指纹判断为不一致的可能性)小于20%。
利用PLD深度挖掘罪犯
就像警车支持应用一样,DSP器件或ASSP也可以用于指纹识别系统。然而设计团队发现,通过简单地实现Nios II定制指令和定制外设可以极大地提高处理速度。在优质的FPGA基础上,设计团队还集成了多个组件,从而减少了解决方案的复杂性、成本和功耗。
大多数应用都需要一定程度的灵活性来满足性能和成本要求。这些团队展示了如何利用硬件来加速算法,从而允许以较低时钟频率运行,因此有效降低功耗和简化了总体设计。同时,他们还利用系统生成工具来帮助自己方便地复用和修改组件以用于其他应用。
【想第一时间了解安防行业的重磅新闻吗?请立即关注中安网官方微信(微信号:cpscomcn)——安防行业第一人气微信,万千精彩,千万不要错过!!!
网友评论
共有0条评论 点击查看全部>>24小时阅读排行
本周阅读排行