基于 FPGA 的模式识别和人脸识别_第1页
基于 FPGA 的模式识别和人脸识别_第2页
基于 FPGA 的模式识别和人脸识别_第3页
基于 FPGA 的模式识别和人脸识别_第4页
基于 FPGA 的模式识别和人脸识别_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于 FPGA 的图像识别与语音播报系统第一部分设计概述 /Design Introduction本设计实现了图像识别与智能语音播报的功能。能实时的识别出当前图像,并进行智能的播报。本设计主要涉及到图像采集,图像处理与识别,语音技术等一系列当前热点技术,并将它们有机结合,构建出了一个实用性很强的系统。主要可以应用于机场,安检,监控等需要图像处理技术的领域中。同时利用智能语音播报系统将图像处理结果进行实时的播报,极大的增强了人机交互界面的友好性。另外,本设计根据图像处理以及语音模块的控制等特点,采用了FPGA 与单片机相组合的数字系统。即利用了FPGA 的高速处理能力(主要处理图像信号),同时又

2、采用了单片机的强大控制驱动能力(主要控制智能语音播报系统),同时又借助于高效的数据传输协议,搭建出了一个集高速的数据处理能力与强大的控制能力于一身的多处理器系统。该架构在现实的复杂数字系统中也有较多的应用。具有一定的实用性。第二部分系统组成及功能说明 /System Construction & Function Description整个系统由摄像头,前端FPGA,核心FPGA,语音MPU,VGA 显示器构成。系统通过摄像头读取图像信息,由前端FPGA 进行图像初步降噪二值化处理,仅保留有效信息后由前端FPGA 存储,由后端FPGA 进行有效图像区域的提取、压缩、特征对比过程,完成图

3、像识别的功能,并利用语音MCU 播报被识别的图像1、可以手动设置图像的“亮度”,以适应不同光照条件下的图像采集。2、可以切换自动/手动模式。自动模式下系统将连续采集摄像头数据。手动模式下,单击按键进行一次图像识别。3.语音模块的详细框图如下:在本系统中,当前端图像识别完成后,按下播报按钮后,语音模块能将当前识别出的图像播报出来。交互说明:1、 前端FPGA1、4 键控制摄像头二值化灰度阈值,2 键使阈值恢复为128。A 键切换自动和手动模式,自动模式下系统不断采集新图像进行识别,手动模式下采集暂停,需要按下F 键才采集一帧。2、核心FPGAA. 数码管显示当前被识别的图像序号及成功识别次数。B

4、. LED 显示前端FPGA 与后端通信情况。3.语音播报系统主要采用单片机来驱动语音模块。在前端图像识别完成后,当按下语音播报按钮后,单品机将要播报的内容传给语音模块,进行播报。2、 4、VGA 图像VGA 显示各区域意义解释工作流程:3、 能够提取出有效图像区域时的时序流程第三部分完成情况及性能参数/Final Design & Performance Parameters1、能进行图像识别,识别09 十个数字,少量字母,部分形状如方形、圆形、X 形。2、以VGA 显示摄像头采集的数据,能标出有效图像的区域;后端数码管实时显示识别结果。识别快速准确。3、系统可识别图像种类非常容易添

5、加和更改,具有良好的编程可拓展性。4、可以手动设置图像的“亮度”,能适应不同光照条件下的图像采集。5、可以切换自动/手动模式,手动模式下功耗低。6、可以语音播报被识别的图像,声音洪亮清晰。可识别内容举例:第四部分总结 /Conclusions经过几个星期的努力,我们小组终于将作品设计完成。经过实际测试后,该系统基本完成了当初的设计任务,即当给出不同的图像时,前端摄像头能采集图像,自动识别,并进行语音播报。本系统中图像识别速度快,准确率较高,语音播报模块声音基本自然,没有明显播报的错误。当然,此次设计还有一些不足之处。比如准确率还没有达到99%以上,对于一些奇怪的图像无法准确的检测出来,语音播报

6、模块的声音在自然度上还需进一步的提升等问题。可以进一步发挥提高的部分1.优化识别流程,让识别更快速,VGA 显示的抖动更小。2.设置临时模板,可以不再次编程而通过摄像头输入一个模板。3.语音模块声音更加的自然流畅,能使用不同的声音比如男声,女声以及方言等播报。组员设计体会不同的处理器有不同的特点,比如本系统中使用的FPGA 与单片机就是两个典型的处理器。FPGA 具有强大的数据吞吐与处理能力,但是它在控制方面不太擅长,单片机有强大的控制能力,但是在数据处理上又显得力不从心。因此,如果能将其二者合二为一,则构建出来的系统就具有很强大的性能力。但是,如何有效的进行两类处理器之间的通信则是一个非常关

7、键的部分。一个高效的数据传输协议不紧能使两个处理器之间数据传输误差减小,还能保持整个系统合理快速的运行。图像处理技术非常复杂,这个系统中每一个步骤去除多余图像信息、图像降噪、提取目标区域、压缩目标区域、图像识别都选择了相对简单的算法进行。其实这每一个步骤都值得深入研究。参加此次竞赛对自己的查阅资料能力、设计能力、编程能力、动手实践能力、团队协作能力4、 以及知识面都有极大的提高。看到最终实现的成果得到的是对自己,对团队的认可。基于人脸识别技术的智能安保系统第一部分设计概述 /Design Introduction随着信息技术及计算机网络的发展,信息安全显示出前所未有的重要性。身份鉴定是保证信息

8、安全的必要部分,在很多领域都需要身份鉴定来达到保护信息安全的作用。传统的身份认证技术主要是依靠证件、密码和口令的认证方式,在现代科技快速发展的今天,这些都很容易丢失、破解或伪造,严重威胁到个人或公共财产信息安全。近年来,以人脸、虹膜、视网膜、指纹、声音、基因等人的生物特征作为识别手段的生物特征识别技术渐渐发挥出了很好的作用,这类识别属于模式识别范畴,相比传统的识别方式更安全、稳定和方便。其中,人脸识别因具有友好、方便、直接等优点成为一个热门研究领域。本系统就决定采用人脸识别+密码输入的双保险方式来构建安保系统。第二部分系统组成及功能说明 /System Construction & F

9、unction Description1 硬件设计1.1 ov7620 摄像头本系统是图像采集与处理系统,所以摄像头是非常关键的一个部分。文采用了Omnivision公司推出的CMOS图像传感器OV7620。OV7620结合CMOS技术,采用数字接口,低功率(<120 mW),单电源供电(5 V),为实现更高质量的视频图像应用提供了一种简单的解决方法。0V7620的功能特点包括:单芯片13”镜头,最大664×492像素分辨;IzC控制,标准SCCB接口;开窗功能,局部图像输出;自动曝光控制、自动白平衡、自动增益控制、自动亮度控制;图像质量控制,包括颜色饱和度、锐度、伽马校正等功

10、能。图一:ov7620摄像头本系统选取OV7620作为采集模块的原因主要是OV7620图像传感器是CMOS彩色黑白图像传感器,支持连续和隔行两种扫描方式,VGA与QVGA两种图像格式,帧速率可达30 fps,数据格式包括YUV、YCrCb、RGB三种,其中有我们作为看重的YUV模式,其中的Y代表着灰度。OV7620是八位灰度输出最黑的时候输出0,最白的时候输出255。这种特性对于图像的处理是非常有利的,因为对于灰度的处理方法是很多的。OV7620 接口控制器分为SCCB 总线控制器和OV7620采集控制器2 部分。SCCB 总线控制器用于实现符合SCCB 总线协议的接口控制; OV7620 采

11、集控制器根据OV7620 的视频同步信号实现图像数据采集。总线控制器的作用就是更改摄像头内部寄存器的数值,通过这样的配置来设置摄像头的工作模式。更改数值是通过SCCB协议来实现的,SCCB 是类似I2C 的串行总线协议, 定义了串行数据线SDA 和串行时钟线SCL, 数据传输通过SDA、SCL2 条线上电平的状态以及二者之间的相互配合来实现。其传输时序如图2 所示。由图2 可以看出, SCCB 采用简单的三相写数据的方式, 即在写寄存器的过程中先发送OV7620 的ID地址, 然后发送写数据的目地寄存器地址, 最后发送要写入的数据。其中具体具体过程就是SCCB_SCL为高电平时,SCCBSDA

12、出现一个下降沿,此时传输启动。在启动条件满足后,SCCB SDA为稳定数据状态,SCCBSCL产生一个正脉冲,将传送一位数据。当SCCBSCL为高电平时,SCCBSDA出现一个上升沿,传输停止。通过SCCB协议配置好摄像头之后,就可以进行采集控制了。OV7620多种信号输出。对于我们的系_统,我们只关心其中场中断信号VSYN、行中断信号HREF、像素中断信号PCLK。他们的时序关系如图三所示:图三:三个中断信号的时序关系其中,VSYN 的周期是16.64ms,高电平时间为换场时间,约80us;低电平时间内像素输出。我们在采集VSYN脉冲时,既可以采集上升沿,也可以采集下降沿,采集下降沿更准确些

13、,这也是一场的开始。从VSYN的周期可以算出,1s/16.64ms=60帧,OV7620的帧率是60帧/s。HREF的周期63.6us,高电平时间为像素输出时间,约47us;低电平时间为换行时间,因此采集HREF一定要采集其上升沿,下降沿后的数据是无效的。从HREF的周期可以算出,16.64ms/63.6us261,除去期间的间隙时间,可以算出每场图像有240行。PCLK的周期是73ns,高电平输出像素,低电平像素无效。PCLK是一直输出的,因此一定要在触发VSYN并且触发HREF以后,再去捕捉PCLK才能捕捉到像素数据。从PCLK的周期可以算出,47us/73ns640,可以算出每行图像中有

14、640个像素点。在之后的软件设计中主要就是通过对于这三个信号的使用来完成系统的功能。1.2 VGA 显示系统采集了图像,在一定的情况下是需要查看图像内容的,同时也方便对系统进行控制。本系统才有VGA显示屏进行显示。VGA协议主要由5个输入信号组成,亦是HSYNCSignal, VSYNC Signal, RGB Signal。说简单一点,HSYNC Signal 是“列同步信号”,VSYNC Signal是“行同步信号”,RGB Signal是“红色-绿色-蓝色”颜色信号。VGA的扫描是固定的。一帧的屏幕是由“m行扫描”和“n列填充”组成。扫描的时序是通过行同步信号与列同步信号来控制的,同时扫

15、描的频率与数据输出格式也是固定的。扫描时序图见图四,扫描频率标准见图五。 图四:VGA时序图图五:VGA扫描频率标准本系统为了配合OV7620的模式特点,采用了640*480,每秒60帧的标准。于超凡;040110362 图像处理原理与方式(软件设计)本系统的软件开发采用模块化的设计,一共分为四个模块:采集模块、存储模块、处理模块、显示模块。下面对这些模块进行一一介绍。2.1 采集模块通过对OV7620寄存器的配置,摄像头的工作模式被设定为:输出像素分辨率:640×480;VGA 模式、隔行扫描、16 位YUV(取其8 位Y 输出)。采集的控制主要就是依托场同步信号(vclk)、行同

16、步信号(hclk)以及像素同步信号(pclk)。所以模块首先要检测出vclk的下降沿,此时说明新的一帧的数据发送开始了,使能采集模块。然后开始检测hclk的上升沿,检测到上升沿后说明一行的采集开始了,并将行计数加1。然后开始检测pclk的下降沿,每来一个下降沿就说明一个像素的信号发送的过来,然后将此数据存入数组中,把像素计数加一。此时要检测一下行计数是不是已经到了640,如果是的话就要将行计数加一,像素计数归零。此时也要检测行计数,若行计数到了480, 图六:数据采集流程图说明一帧的数据采集结束。流程图见图六。由于图像的数据量是非常大的,所以不可能也不必要一直采集,所以本系统也加上了定时模块,

17、也就是说每隔若干帧才使能一次采集模块,这样可以减小存储模块的压力。2.2 存储模块数据采集中是把每一行的数据暂存在一个数组里,但是如果480 行都存入数组里,数据量会使一般的FPGA 开发板难以承受,所以必须将数据暂存在ram 中。在 xilinx 开发板配套的软件ISE 中有着丰富的软核资源,其中就有很多块存储器。根据系统的需要,最终选取了其中单口RAM 的IP CORE。图七就是单口ram 的接线图。其中DINA 是数据输入端,ADDRA 是地址输入端,WE 是写使能(本系统采用写优先模式),CLKA 是RAM 的时钟输入端。本系统的存储是这样设计的:没到一行的数据采集结束后,就会使WE

18、信号变高,然后这一行的数据就存了进去,也就是640 个像素点的数据并行输 图七:单口RAM入了 RAM 中,然后地址加一,这里的地址也就是行计数。在其余的时间里WE 都是低电平,这个时候RAM 就是读模式,可以进行读操作,为后面的数据处理提供数据。2.3 显示模块显示模块主要分为两个部分,一个是同步模块,一个是VGA 控制模块。显示模块的整体结构图如图八所示。首先是同步模块。简单的说该模块就是通过对时钟的计数来控制输向VGA 显示屏的信号:行同步与列同步。之前提到过VGA 是有频率标准的,而且并不是任何时间输入的数据都是有效数据,在一个周期内有空闲的时间段,只有中间的一部分是有效显示段。所以同

19、步模块就根据这些行业标准来进行定时,输出行同步、列同步信号。同时,于行、列的计数就是VGA 图像上相应的位置坐标,这与摄像头采集到的一幅图像的坐标信息是相对应的,所以很自然地这个模块也会输出这种坐标,其中行计数可以作为读取RAM 里数据时的地址。然后是 VGA 控制模块。这个模块的任务就是输出RGB 数据给VGA 显示屏。这里RGB 的数据是存在RAM 里面的,之前通过同步模块输出的地址信号对RAM 进行了读取,这里就相应的将RAM 里的数据进行输出。2.4 处理模块处理模块是本系统的核心。人脸自动识别系统主要包括人脸检测和定位、人脸特征的提取和识别两个主要部份。人脸检测和定位,即从输入图像中

20、找到人脸及人脸的位置,并将人脸从背景中分割出来,然后才是对归一化的人脸图像进行特征提取和识别。对人脸的基本特征如眼睛、鼻子和嘴巴的准确定位在很多人脸识别方法中也是必不可少的步骤,尤其是眼睛的准确定位,这是因为两眼间距受光照或表情变化的影响最小,所以常被用于几何特征或脸像尺寸的归一化标准。本系统主要依靠人脸整体粗略识别与人眼识别两种方式。首先介绍人眼识别。由于眼睛虹膜、瞳孔部位的灰度值明显比其邻近区域(眼部周围皮肤、眼白)灰度值要低,因此能够从适当光照条件下拍照的图像中分割眼睛虹膜、瞳孔部位的灰度值总是存在的,并且不是唯一的,而是有一定的小范围。然而寻找这样的最佳分割阈值并不是一件容易的事,眼睛

21、虹膜、瞳孔部位及其邻近区域的灰度值会因人而异,并随光照条件、带眼镜时镜片的反光而变化,加上复杂背景的变化,使得最佳分割阈值的估计十分困难,但通过图像灰度直方图分析和统计的方法,对最佳分割阂值可能所在的灰度区间进行粗估计还是可以做到的。若选择固定的背景和光照条件,由统计的方法可估计出更小的最佳分割阈值可能所在的区间。本系统就采用固定的背景,而且是只拍摄头部部分(作为安保系统是合理的安排),这样就大大提升了检测的水平。具体做法是:首先用某一分割阈值T 将包含人脸的灰度图像二值化,对二值化图像进“Majority”形态运算以去除二值化图像中小的黑斑点,再对二值化图像中黑色块进行标记、计算每块面积(像

22、素数)、确定每块的外按矩形位置及宽高。人眼位置的判定是根据眼睛在二值化人脸图像中的几何位置确定的,主要有以下几条准则:1)双眼中心距应在某个范围内:设图像尺寸为160x120,考虑到人脸在图像中大小的变化,双眼中心距变化大约在20-50个像素距离范围内;2)双眼下方一定距离内不能有其它黑块:双眼下方一定距离内没有其它器官,因此在二值化图像中不能有其它黑块,这一特点也是区分眉毛与眼睛的重要判据;3)双眼中心位置上下相差不超过一定距离:由于人脸在图像中可能向两侧倾斜,双眼中心位置常常不在水平线上。作为判据,允许人脸在一定程度上向两侧倾斜,双眼中心位置在垂直方向相差不超过一定距离(如1 5个像素距离

23、);4)眼睛黑块所包含的像素数应在某个范围内:二值化图像中眼块所包含的像素数应在某个范围内(如5-50个像素),太大的黑块不太可能是眼块;5)眼睛黑块的外接矩形应是一宽大于高的矩形或接近于正方形:由于眼睛的结构特点,二值化图像中眼块的外接矩形常常是一宽大于高的矩形或接近于正方形,眼块的几何中心位于圆形的眼睛虹膜(含瞳孔)位置,高远大于宽的外接矩形对应的黑块不可能是眼块;6)与图像四边接壤或非常接近的黑块不是眼块:由于拍摄人脸图像时,要求人脸在照片中应完整,且较靠近图像中心,因此在二值化图像中与图像四边接壤或非常接近的黑块不是眼块。在这些原理的基础上,结合实验得到的阀值,使用RAM里的数据就可以

24、进行人脸识别了。系统主要是依靠人眼间距来进行人脸识别。在大多数情况下其实是不需要进行麻烦的人眼识别的,粗略的识别就可以完成预定功能,具体来说主要基于对图像每一个像素点的灰度值比较。对于判断比对人脸来说,我们这里是比较简单的一种方式,因为我们是设计密码锁,所以要求解锁者在指定位置进行人脸的测试,这也就是说图像中除了人脸的部分,其余的背景是固定的,所以这就为我们进行简单的人脸识别提供了基础:我们只需要先预存一幅人脸图像,然后与被测试者的人脸图像想比对,然后把误差率与先前设定好的阀值相比对,然后就可以加以判断了。事实证明,这种方法可以完成多数情况下的识别,可以作为第一级识别,而人脸识别作为第二级识别,这样既准确又高效。3 系统结构总图第三部分完成情况及性能参数/Final Design & Performance Parameters

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论