Profile - CN279


CN279

基于手指静脉网络特征与二维条码融合的证书防伪系统

北京交通大学
计算机与信息技术学院


Finals


[print]


Project

Name of Project:基于手指静脉网络特征与二维条码融合的证书防伪系统

Contact Information

Name:蒋应吉
E-Mail:jiangyingji1@163.com
Telephone:010-51689893
Mobile Phone:13811524094
Mailing Address:北京市海淀区 上园村3号 北京交通大学 计算机与信息技术学院

Contest Advisor

Name:丁晓明
E-Mail:xmding@bjtu.edu.cn
Telephone:010-51688636

Members

No.NameE-MailEnglish Name
1蒋应吉jiangyingji1@163.comJiangYingji
2郑兴艳06281179@bjtu.edu.cnZhengXingYan
3白雁06282001@bjtu.edu.cnBaiYan

Project Paper - view as Preliminary(2009/06/15), Final(2009/09/14), Draft, Latest

1. 设计概述 (Preliminary Paper)

 

一、设计概述
1.设计背景:
自“9.11”事件以来,为了应对公共安全问题,身份识别技术已经引起各国密切关注。由于常规的识别方法,如钥匙、密码、PIN码、智能卡、证书等,存在着被遗忘、被窃取、被遗失等诸多缺陷,特别是最近MAFIRE智能卡被破解更是引起了一定的恐慌。因此,生物识别技术的开发是必然的趋势。该技术正被广泛用于区域访问控制、电子商务、证书防伪等领域。迄今为止,人们已对人体各种生物特征进行了识别与认证研究,如静脉识别、面部识别、指纹识别、虹膜识别、掌纹认证、语音识别、人耳识别、手部几何特征认证和步态识别等生物识别技术。
 
手指静脉网络(如图1所示是近红外光下的手指静脉网络图像)藏匿于皮肤内部,由于血管内的血红蛋白和其他组织对近红外光的吸收能力不同,在近红外照射时,能显现出对比度不同的静脉网络纹理,具有高度的唯一性、普遍性和稳定性,其特征是人体内部活体特征,即便在最极端情况下也不可能被窃取,同时我们采用非接触式近红外成像技术,在提高安全性的同时,也提高了大众的可接受度,故本识别技术将有很好现实意义和推广前景。
 
本系统中用作特征载体的二维码具有信息量大、编码范围广、保密性能好、译码可靠性高、修正错误能力强、容易制作且成本低等特点,可以同步储存照片、声纹、手指静脉特征等生物信息及文字、声音、图像等大量信息。能在非网络环境下以及无数据库支持时,进行正常的注册和认证工作,由于可不与外部网络进行任何物理连接,本系统的的信息高安全性的也得到了进一步的提高。图2是一个具体的应用,基于手指静脉网络特征生成二维条码,并打印在学位证上,达到防伪的目的。
  
                                 图1                                                                  图2
2.设计目的
a.      解决目前基于密码的认证系统中,密码易被窃取、破解等安全隐患。
b.      解决目前基于生物特征的认证系统中,特征易被伪造、系统易用性、实时性不够高等缺陷。
c.      解决当前认证系统,在安全性和易用性方面的冲突。
d.      解决当前认证系统,成本过高,便携性不够好等缺陷。
e.      基于nios设计,以提供一种便携的、稳定的、能满足实时性要求的生物特征识别系统。
 
3.适用范围:
由于本系统将手指静脉网络特征的高安全性和二维码的易用性结合在一起,使整个系统的可扩展性大大提高,同时本系统是基于NIOS平台所设计的,具有体积小巧,便携等特点。
根据二维码的载体不同,本系统主要可用在以下几个方面:
1.证书防伪,如身份证,学位证,准考证等。
2.各种门禁和需要认证的场合,如学校实验室的人员管理、公司员工考勤、住宅小区的住户身份认证等,同时由于手指静脉网络特征有很高的安全性,故在对安全性要求较高的医院、银行、军事重地等场所依然适用
 
4.选择Nios II软核处理器的原因:
随着微电子技术的发展,可编程逻辑器件规模越来越大,速度越来越快,功能越来越强。目前已经有若干种FPGA器件支持嵌入式处理软核,为基于FPGA的硬件开发提供了更多的选择。Nios® II是Altera公司开发的一种采用流水线技术、单指令流的RISC嵌入式处理器软核,可嵌入FPGA内部,与用户自定义逻辑结合构成一个基于FPGA的片上系统。与嵌入式硬核相比较,嵌入式软核拥有更大的灵活性。FPGA的高速性恰恰满足了指纹识别系统对速度的要求。
 
a.     在FPGA内部可以实现多个处理器内核。
本系统中对手指静脉网络特征的采集处理和二维码信息的采集处理都有很大的运算量,采用资源足够丰富的FPGA芯片可实现多CPU系统,将手指静脉特征采集处理和二维码信息采集处理分别由不同的软核来处理,提高整个系统的运行速度,可更好地满足系统的实时性要求。
b.     C2H对设计的有力支持。
本系统对实时性要求非常高,而NiosⅡ提供的C2H编译器能够将对性能要求较高的C语言程序自动转换为硬件加速器,集成到基于FPGA的SOPC系统中。这样,分担了NiosⅡ处理器的数据计算和存储器访问功能,使处理器能够更好的处理其他任务,能提高效率,使系统能满足实时性要求。
c.     Nios II软核处理器比较灵活,设计周期比较短,而且可以通过升级延长产品生存时间
d.     用户自定义指令和自定义逻辑可以加速复杂的算术运算和逻辑;

 

(Revision: 4 / 2009-09-14 10:32:47)

2. 功能描述 (Final Project Paper)

二、功能描述

   1.手指静脉网络特征采集

本设计中将手指静脉图像的采集和手指静脉网络特征的提取合并为一个模块,降低了手指静脉网络特征被非法窃取的可能性,进一步提高了系统的安全性,能更好地实现证书防伪的功能。

   2.融合了手指静脉网络特征的二维条码的生成

本设计中采用了国际通用的pdf417编码格式,将上一步中提取到的手指静脉网络特征生成3.2cm*2.4cm大小的二维条码,可以方便地打印到各种证书上,制作融合了手指静脉网络特征的防伪证书。下图是我们制作的防伪证书:

                   图3 融合了手指静脉网络特征的防伪证书

 

              图4 融合了手指静脉网络特征的学位证

 

   3.防伪证书上的防伪二维条码的解码

在二维条码扫描枪内采用内置高速解码的方法,以满足系统对实时性的要求,最终解码之后的特征信息由串口输出。

   4.证书的防伪认证

本设计采用并行处理机制,将现场采集证书持有者的手指静脉网络特征和解码证书上的二维条码特征同时进行,提高了系统的实时性,以满足应用要求。

   5.演示功能:基于手指静脉网络特征进行认证演示

本功能主要用于演示手指静脉网络特征作为生物认证特征的可行性,具体过程如下:现场注册和认证,以判断注册和认证的是否是同一个人。

6.网络功能

考虑到本系统的网络特性,我们开发了一个网口,并通过自定义的DM9000A控制器实现其网络功能,本功能能将系统和互联网连接起来,方便文档的传输和系统的功能扩展,比如当认证失败时发布证书伪造信息。
(Revision: 4 / 2009-09-14 11:17:59)

3. 性能参数 (Final Project Paper)

三、性能参数

性能参数主要包括四个方面,硬件资源占用、二维条码的编解码速度、手指静脉特征的提取速度和手指静脉网络特征的识别正确率。

如下图为系统的硬件资源使用情况。

                                        图5 系统的硬件资源使用情况

二维条码编码速度:<3s

二维条码解码速度:1s

手指静脉特征提取速度:<3s

手指静脉网络特征的识别正确率:>99.9%

拒真率:<0.01%

认假率:<0.01%

(Revision: 4 / 2009-09-14 11:19:14)

4. 设计结构 (Preliminary Paper)

四、设计结构

 

本系统以DE1开发板为中心,扩展了一个手指静脉网络采集器和一个二维条码专用扫描枪。
本系统主要由以下两部分组成:
注册系统:获取手指静脉网络特征并生成二维条码,此部分在DE2或PC机的注册系统上完成。用PC机方案有利于网络实现,此外我们也可以利用我们在DE1网口开发的功能;利用DE2有利于系统的一体化实现,将注册和认证集合到DE2平台上实现,使系统的集成度更高,更能满足实际应用需求。
认证系统:从二维条码中获取手指静脉网络特征并与现场采集的手指静脉网络特征进行现场实时比对认证,且整个过程均在DE1平台实现。

 

                  图6 注册系统实物结构图

 


                  图7 认证系统实物结构图

 

注册系统的设计:

首先通过采集器采集手指静脉网络图像,经过预处理后提取出手指静脉网络特征,再对手指静脉网络特征进行编码。设计方案如图8所示

                                        图8

认证系统的设计:

首先通过扫描枪扫描二维条码,在扫描枪内部自行解码得出压缩后手指静脉网络信息并存储到DE1平台上,再由DE1平台与手指静脉采集器所构成的系统将现场采集到的静脉网络信息进行图像增强、预处理、特征提取和注册过的特征进行比对等一系列的专用算法处理最终输出认证后结果设计方案如图9所示

                                  图9

 

系统的硬件结构图10所示:

 


                图10

 

两颗NiosII CPU分别完成静脉静脉网络特征的采集处理和二维码信息的采集处理,双核通过共享OnChip-RAM高速地通讯、传递数据,提高了整个系统的处理速度,满足了生物特征认证中的实时性要求。

软件流程图:

本系统的注册和认证分别在pc机和DE1平台上实现。

注册:基于手指静脉网络特征生成二维条码,如图11所示。

认证:将从二维码扫描得到的特征信息和现场采集到的静脉网络特征信息进行比对,以确定认证是否成功,如图12所示。

 

 图11                       12

 

  

(Revision: 11 / 2009-09-14 11:20:55)

5. 设计方法 (Final Project Paper)

五、设计方法

设计方法

整个设计采用自上而下的设计方法,在SOPC Builder中搭建系统硬件模块。将所需的各功能模块通过Avalon总线集成,这样系统的稳定性更高。尤其对于在像证书防伪这种安全系统中,执行多个功能任务时,需要有稳定的硬件系统来支撑。所以我们在硬件部分就尽量完全用SOPC Builder来完成。 

SOPC Builder所具有强大的系统集成特性,大大缩短了我们的设计周期,在很短的时间内就可以构建一个稳定的系统,进而基于硬件完成系统的软件设计,最后集合成一个完整的系统。 最后完成的整个系统的实物图如下:

                     图13 系统实物图

 

硬件系统设计步骤

本设计采用了DE1多媒体开发平台,同时将手指静脉特征采集、二维条码的编解码和人机交互分成三个个单独的模块进行设计,最后形成一个完整的系统。

 

1.在SOPC Builder下将各个功能模块控制器加入到系统之中,以完成硬件系统的设计,其在SOPC中的结构图如下:

                                                                                                        图14  硬件资源占用 

 

2.各个功能模块的实现

 

2.1 手指静脉特征采集模块

本模块主要完成手指静脉图像的采集和手指静脉网络特征的提取,最后将提取出的特征由RS232串口送个nios系统处理。

 

手指静脉特征的提取主要分为如下几步

a.对采集出来的原始图像进行了适当的预处理包括:对比度的拉伸,标准化的处理。

b.对完成了预处理的图像进行静脉部分的分割:采用的算法原理是一模板为单位找出满足比周围点灰度值都小的中心点,以此点作为静脉的图像点标记灰度值为0。

c.对分割完的图像进行后期的平滑,放大腐蚀等算法,并骨架化以得到清晰的图像。

d.对完成骨架化后的图像进行离散余弦变换,得到变换的特征向量系数,这样比较待测的图像和标准的图像库之间的向量系数的欧式距离,以两者距离之差来决定是否验证成功。

原始图像如下:

 

手指静脉特征的提取具体过程如下:

 

对比度的拉伸:我们观察到原始图像的灰度直方图的分布集中在比较低的灰度值的区域,因而显得对比不是很明显,给下一步的分割带来了很大的困难. 因此我们选择对原始图像的灰度值进行拉伸(本次实验将灰度值域从【0.19 0.65】扩展到了【0,1】)。效果对比如下图:

                          

              拉伸前           拉伸后

标准化处理:即将原始图像的各个点的像素尽量向所有样本图像的理想方差和均值进行靠近。以使下面的步骤所设的参数尽量符合所有的采集图像。标准化的公式如下:

其中I(x,y)是原始的点,I’(x,y)是标准化后的点,Ud,σd分别是理想的均值和方差。

效果如下:

           

标准化前                   标准化后

 

图像的静脉特征分割:以模板为单位找出满足比周围点灰度值都小的中心点,以此点作为静脉的图像点标记灰度值为0, 其中以实验结果来进行确定的参数为模板大小,和中心点比周围点灰度值小的个数。分割出来的效果如下:

 

注意到刚开始提取出的图像有很多噪音点,断点。因此需要进一步的进行平滑,及形态的变化:放大,腐蚀。处理后的效果如下:

 

整个特征提取的流程示意图如下:

           

 

2.2 二维条码的编解码模块

 

1. 将PS/2口,改装成RS232串口,以满足设计中对资源的要求。

 

由于本设计中所采用的二维条码扫描枪采用RS232数据传输模式,而设计中所采用的DE1多媒体开发平台只有一个串口,故我们需要想办法在增加一个串口资源。通过研究相关文档,我们发现DE1多媒体开发平台上的PS/2口和FPGA是直接相连,且我们设计中不需要用到PS/2口,故我们可以将PS/2口改造成RS232串口。

设计中,我们通过阅读相关协议,采用MAX232芯片,开发了一个全新自定义外设,实现将PS/2转RS232信号,以方便二维条码扫描枪的使用。

注:在开发PS/2转RS232的过程中,发现随本次大赛所用平台的随机光盘中的DE1_Schematic.pdf 中对PS/2的管脚定义存在一定的误差,文档中将第2和6管脚定义为DAT和CLK信号,而我们经过查阅资料发现,其定义应当是:第1,5管脚分别对应DAT,CLK信号。

 

2.3 人机交互模块的设计

 

本设计中,触摸屏采用5.7”65000色的TFT,控制器选用TCB8000A, 在系统设计过程中,我们只需要在SOPC Builder中集成关于该控制器与CPU的接口,包括数据线8位,写传输信号,地址信号、复位信号以及片选信号,将该摸块作为从外设挂载到Avalon总线下,就可以人机交互功能。

同时为了提高整个系统的易用性,我们对DE1多媒体开发平台上的按键进行了二次开发,让其和触摸屏上的按钮相对应起来,能完成相同的功能,以满足不同用户的使用习惯。

 

 

软件系统的设计

 

1.µc/os-II操作系统: 

µc/os-II,是免费且公开源码的嵌入式操作系统。在世界范围内得到广泛的应用,包括诸多领域,如手机,路由器,集线器、飞行器、 医疗设备等等。uC/OS适合小型控制系统,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点。本系统的软件开发均在NIOSII集成的µc/os-II操作系统上面完成。 

在基于手指静脉网络特征的证书防伪系统中我们建立了Task_Main(主控任务)、Task_Gui(GUI图形化人机交互界面显示任务),Task_led(系统运行状况提示)等三个任务。利用消息邮箱机制,µc/os-II对这三个任务进行调度管理。 

 

2.μC/GUI图形用户界面: 

1)  µc/GUI 简介: 

μC/GUI是一款针对嵌入式系统的优秀图形软件,它具有源码公开、可移植、可裁

减、稳定性和可靠性高的特点。μC/GUI提供了丰富的界面元素,例如按钮、编辑框、滑动条等控件,同时支持高效的窗口回调机制,为界面与应用函数之间提供了良好的接口机制。多功能数字相册系统的人机交互界面正是利用这个工具进行开发的。 

 

μC/GUI函数库为用户程序提供GUI接口,包含的函数有文本、数值、二维图形、输入设备以及各种窗口对象。其中,输入设备可以是键盘、鼠标或触摸屏;二维图形包括图片、直线、多边形、园、椭圆、圆弧等;窗口对象包括按钮、编辑框、进度条、复选框等。 μC/GUI函数库可以通过GUIConf.h文件进行配置,配置的内容包括是否采用内存设备,是否采用窗口管理器,是否支持操作系统、触摸屏,以及配置动态内存的大小等。 在LCDConf.h文件中定义了与硬件有关的各种属性,如液晶的大小、颜色以及与液晶的接口函数。而LCD驱动文件则负责把μC/GUI的各种函数解释成LCDConf.h文件中定义的液晶接口函数,这个文件与具体的硬件连接无关。 μC/GUI与LCD的硬件接口通过驱动文件把硬件接口函数转化为LCDConf.h中定义的LCD读写函数。 

 

3)  μC/GUI移植 

配置文件的移植 

    移植工作首先需要完成的是对配置文件的GUIConf.h, LCDConf.h移植,根据本设计的显示模块的要求,对配置文件的相关的参数进行配置。 

LCD驱动的移植 

μC/GUI针对不同的液晶控制器提供了多种驱动程序,如KS0713、SEDl335、T6963等控制器都有对应的液晶驱动程序。但是由于在本系统中,采用的显示模块为TOPWAY  T8000A  LCD控制器和TFT、 65000色、LCD屏。而μC/GUI没有提供相关控制器的驱动,并且与μC/GUI提供驱动支持的LCD控制器相比较,T8000A控制器拥有自己独立的屏幕控制指令体系,这给μC/GUI在TCB8000A控制器的移植工作带来了很大的难度。 

在移植的过程中,我们首先运用TCB8000A的指令体系,实现了μC/GUI为上层应用函数提供的大部分API函数,接着对于TCB8000A控制器不能在硬件支持的API函数,我们采用软件实现的方法对驱动进行了修补,最后通过对大量控件显示测试实验,调整了在LCD驱动中运用的TCB8000A显示指令中的参数,使得LCD驱动的性能达到最优。最终实现了μC/GUI在TCB8000A控制器上的无缝移植。   

鼠标、键盘移植: 

在GUI下提供了鼠标与键盘的驱动,但是对于我们这个系统而言,我们实现了鼠标与键盘的IP模块,在与GUI结合过程中需要考虑驱动问题,我们在Nios下编写了键盘数据接收函数,GUI的键盘输入驱动处调用此函数, 将得到的硬件键盘值传送给μC/GUI, 即完成一次键盘事件, μC/GUI就会在消息处理LOOP当中处理按键, 将其发到μC/GUI中的当前焦点窗体。该模块在系统中我们可以将输入的任何信息传递给μC/GUI,有了该模块我们可以实现文本的输入,方便实现系统编辑任务。 

对于触摸屏的驱动则是更加复杂一点,好在ucGUI对鼠标驱动很好的支持,GUI下

窗体管理及消息处理机制使得触摸屏的信息被实时的更新处理。

 

 

SOPC概念在本设计中的应用 

 

在本次设计中,我们的硬件结构完全在SOPC下集成,该系统具有的好处在于硬件的可重构与可重配置,这是FPGA在硬件开发过程中独一无二的特点,从上而下的设计流程使得系统设计周期大大缩短。在设计的一开始,我们就考虑到了这一点,就是要利用SOPC的设计理念来设计我们的系统,嵌入式的系统最大的特点并不在于您的设计成果是多么的完美,而在于您是如何利用最少的资源来完成您的所有设计,让您的设计在功耗,集成性方面达到最优。此外作为系统,必须要考虑到其将来的发展空间,使系统具有很好的可扩展性,如果当前的设计已经把以后发展、扩展的道路堵住了,那么就是一个比较失败的设计方案,在此次设计中,我们为将来的系统扩展预留了很多操作,可以随时将您的想法嵌入到系统中去,进而完成更多更好的功能,比如说:可以将智能卡应用到本系统中,形成新的安全系统。

总之,在进行SOPC设计时,其可重配置功能是难点,也是设计的精华所在。

(Revision: 5 / 2009-09-14 11:21:30)

6. 设计特点 (Preliminary Paper)

 六、设计特点

1.使用手指静脉网络特征作为个人信息用于认证

  该特征是人身体内部活体特征,特征的采集过程是非接触性的,安全卫生,容易被使用者接受,同时具有很好的安全性。

2.将生物特征融入二维码扩展了系统的适用范围。

  由于二维条码的载荷信息量大的特点,所以利用二维条码可以有效地载荷压缩处理后的手指静脉网络特征,故基于手指静脉网络特征的系统其扩展性可大大增强。根据二维条码载体的不同可扩展到不同的应用场合。

3.采用双核处理器

  本系统中将手指静脉采集与处理和二维码采集与处理分开来,由不同的CPU处理,并通过ShareOnChip-RAW共享数据, 提高了整个系统的速度,满足了实时性要求。

4.自定义外设和指令的应用。

  用硬件逻辑电路实现系统中软件处理耗时多的手指静脉特征采集、处理,二维码处理等关键算法,大大提高了系统的效率。

5.采用C2H编译器。

      系统中,利用硬件加速(C2H)编译器自动加速对手指静脉预处理时性能要求较高的软件子程序,从而显著提高系统总体性能。

6.系统的成本,功耗,便携性,集成性良好。

      基于FPGA的系统设计,将处理器、外设、存储器,和I/O接口集成到一个单一的FPGA中,从而降低了系统的成本、复杂性、功耗和体积,满足了系统便携性的要求。

(Revision: 4 / 2009-06-14 19:16:59)

7. 总结 (Final Project Paper)

七. 总结 

 

此次大赛中,我们的作品“基于手指静脉网络特征的证书防伪系统”成功的实现了预期功能,从中我们学习了很多东西,掌握了很多新的知识,对Nios II嵌入式系统的理解也更加深刻,同时也对可重配置这一概念有了清晰地认识。 

此次设计过程中,让我们领悟到了SOPC Builder的高度集成性以及Nios IDE软件集成开发环境的易用性,系统调试起来非常方便。 这种基于SOPC的可重构硬件与软件设计,自上而下的设计方法是系统实现起来更加灵活、系统集成度更高,实现周期大大缩短。

最后,感谢Altera公司为我们参赛小组提供这次机会,锻炼了我们的动手能力。 

(Draft / 2009-09-11 16:47:26)