《基于人脸和指纹的身份识别认证系统》项目说明书
入围至今,在初赛成果的基础上,我们项目组成员分工协作,初步完成了该项目总体架构设计,实现了人脸和指纹图像数据的采集与处理,具体工作情况如下: 1、 完成了统硬件平台的搭建,包括I2C总线控制器,指纹采集头控制器以及视频控制接口。
2、 完成了Simulink+SystemGenerate算法模块的搭建,并已通过仿真验证。
3、 完成了软件平台(SDK)的搭建,实现了图像数据的采集和处理。
4、 实现了软硬件平台的集成,功能基本达到要求。
系统总体结构框架图如下:
各功能模块说明如下:
基于OV7620的指纹采集头是整个系统的最前端,其集成了一个664×492的感光阵列、帧(行)控制电路、视频时序产生电路、模拟信号处理电路、A/D转换电路、数字信号输出电路及寄存器I2C编程接口。感光阵列得到原始的彩图像信号后,模拟处理电路完成诸如颜分离与均衡、增益控制、gamma校正、白电平调整等主要的信号处理工作,最后可根据需要输出多种标准的视频信号。视频时序产生电路用于产生行同步、场同步、混合视频同步等多种同步信号和像素时钟等多种内部时钟信号,外部控制器可通过I2C总线接口设置或读取OV7620的工作状态、工作方式以及数据的输出格式等。 其I2C控制时序如下图所示:
图2 I2C控制时序图
OV7620的各种设置都是通过其集成的SCCB(串行相机控制总线,I2C兼容)接口来写入内部寄存器进行的,其数据输出格式如图3所示。
图3 OV7620数据输出时序
其中VSYNC为帧同步信号,其下降沿表示一帧图像的开始,P C L K为像素同步时钟信号输出,在16位数据输出时,PCLK为27MHz,8位数据输出时,P C L K为1 3.5 M H z。HREF为行同步信号,为高电平时表示输出某行的图像数据。一帧图像开始后,仅当HREF为高,PCLK的上升沿时,数据为有效的像素值。
对图像数据的采集是通过中断触发的,这里取VSYNC、HREF、PCLK的上升沿触发三个中断,当采集到VSYNC中断时开始一帧图像数据的采集,HREF中断到来时开始采集一行图像数据,然后对PCLK中断采集640次,一行数据采集完成,然后等待下次HREF中断,开始采集下一行数据,以此类推,对HREF中断采集480次,就得到640*480像素点的一帧图像的数据。
在得到图像数据以后,首先通过VGA显示器实现图像的显示。这里的VGA控制器采用640*480的分辨率,与图像帧的分辨率对应,其刷新速率为60MH,通过行、场同步信号进行显示控制,其参考时序如下图所示:
在水平时序中,包括以下几个时序参数:水平同步脉冲宽度;水平同步脉冲结束到水平门的开始之间的宽度;一个视频行可视区域的宽度;一个完整的视频行的宽度,从水平同步脉冲的开始到下一个水平同步脉冲的开始。
在垂直时序与水平时序类似,包括以下几个不同的时序参数:垂直同步脉冲宽度; 垂直同步结束到垂直门的开始之间的宽度; 一个视频帧可是区域的宽度;一个完整视频帧的宽度,从垂直同步脉冲到下一个垂直同步脉冲的开始。
这里已经把VGA的同步时序控制封装成IP核,用时只需预先把图像数据存入图像缓冲区,在软件中指定VGA要显示的缓冲区的基地址,再使能显示开关即可。
在VGA显示完成以后,就要对指纹图像数据进行处理,这里的处理过程采用Matlab(Simulink)+SystemGenerate来完成一部分算法,利用Xilinx的Simulink工具箱把算法模块转化为硬件模块,这种处理的优点在于硬件模块的速度快,可移植性高,但缺点是部分复杂的算法不易完成,还要在软件SDK中实现。
在贵公司及OpenHard网站的大力支持和帮助下,我们项目组成员同心协力,已取得初步成果。在此向贵公司和OpenHard网站的全体员工表示诚挚的感谢。另外,由于构建扩展模块时在国内买不到FX 2高速扩展接口,我们只好自行搭建简陋的扩展电路,显得有些零乱,还请见谅。