基于 FPGA 的模式识别和人脸识别.docx

上传人:b****4 文档编号:6778975 上传时间:2023-05-10 格式:DOCX 页数:16 大小:575.68KB
下载 相关 举报
基于 FPGA 的模式识别和人脸识别.docx_第1页
第1页 / 共16页
基于 FPGA 的模式识别和人脸识别.docx_第2页
第2页 / 共16页
基于 FPGA 的模式识别和人脸识别.docx_第3页
第3页 / 共16页
基于 FPGA 的模式识别和人脸识别.docx_第4页
第4页 / 共16页
基于 FPGA 的模式识别和人脸识别.docx_第5页
第5页 / 共16页
基于 FPGA 的模式识别和人脸识别.docx_第6页
第6页 / 共16页
基于 FPGA 的模式识别和人脸识别.docx_第7页
第7页 / 共16页
基于 FPGA 的模式识别和人脸识别.docx_第8页
第8页 / 共16页
基于 FPGA 的模式识别和人脸识别.docx_第9页
第9页 / 共16页
基于 FPGA 的模式识别和人脸识别.docx_第10页
第10页 / 共16页
基于 FPGA 的模式识别和人脸识别.docx_第11页
第11页 / 共16页
基于 FPGA 的模式识别和人脸识别.docx_第12页
第12页 / 共16页
基于 FPGA 的模式识别和人脸识别.docx_第13页
第13页 / 共16页
基于 FPGA 的模式识别和人脸识别.docx_第14页
第14页 / 共16页
基于 FPGA 的模式识别和人脸识别.docx_第15页
第15页 / 共16页
基于 FPGA 的模式识别和人脸识别.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于 FPGA 的模式识别和人脸识别.docx

《基于 FPGA 的模式识别和人脸识别.docx》由会员分享,可在线阅读,更多相关《基于 FPGA 的模式识别和人脸识别.docx(16页珍藏版)》请在冰点文库上搜索。

基于 FPGA 的模式识别和人脸识别.docx

基于FPGA的模式识别和人脸识别

基于FPGA的图像识别与语音播报系统

第一部分

设计概述/DesignIntroduction

本设计实现了图像识别与智能语音播报的功能。

能实时的识别出当前图像,并进行智能的播报。

设计主要涉及到图像采集,图像处理与识别,语音技术等一系列当前热点技术,并将它们有机结合,构

建出了一个实用性很强的系统。

主要可以应用于机场,安检,监控等需要图像处理技术的领域中。

同时

利用智能语音播报系统将图像处理结果进行实时的播报,极大的增强了人机交互界面的友好性。

另外,

本设计根据图像处理以及语音模块的控制等特点,采用了FPGA与单片机相组合的数字系统。

即利用了

FPGA的高速处理能力(主要处理图像信号),同时又采用了单片机的强大控制驱动能力(主要控制智

能语音播报系统),同时又借助于高效的数据传输协议,搭建出了一个集高速的数据处理能力与强大的

控制能力于一身的多处理器系统。

该架构在现实的复杂数字系统中也有较多的应用。

具有一定的实用性。

第二部分

系统组成及功能说明/SystemConstruction&FunctionDescription

整个系统由摄像头,前端FPGA,核心FPGA,语音MPU,VGA显示器构成。

系统通过摄像头读取图像信息,由前端FPGA进行图像初步降噪二值化处理,仅保留有效信息后由

前端FPGA存储,由后端FPGA进行有效图像区域的提取、压缩、特征对比过程,完成图像识别的功能,

并利用语音MCU播报被识别的图像

1、可以手动设置图像的“亮度”,以适应不同光照条件下的图像采集。

2、可以切换自动/手动模式。

自动模式下系统将连续采集摄像头数据。

手动模式下,单击按键进行

一次图像识别。

3.语音模块的详细框图如下:

在本系统中,当前端图像识别完成后,按下播报按钮后,语音模块能将当前识别出的图像播报出来。

交互说明:

1、前端FPGA

1、4键控制摄像头二值化灰度阈值,2键使阈值恢复为128。

A键切换自动和手动模式,自动模式下系统不断采集新图像进行识别,手动模式下采集暂停,需要按下F键才采集一帧。

2、核心FPGA

A.数码管显示当前被识别的图像序号及成功识别次数。

B.LED显示前端FPGA与后端通信情况。

3.语音播报系统

主要采用单片机来驱动语音模块。

在前端图像识别完成后,当按下语音播报按钮后,单品机将

要播报的内容传给语音模块,进行播报。

2、4、VGA图像

VGA显示各区域意义解释

工作流程:

3、能够提取出有效图像区域时的时序流程

第三部分

完成情况及性能参数/FinalDesign&PerformanceParameters

1、能进行图像识别,识别0~9十个数字,少量字母,部分形状如方形、圆形、X形。

2、以VGA显示摄像头采集的数据,能标出有效图像的区域;后端数码管实时显示识别结果。

识别

快速准确。

3、系统可识别图像种类非常容易添加和更改,具有良好的编程可拓展性。

4、可以手动设置图像的“亮度”,能适应不同光照条件下的图像采集。

5、可以切换自动/手动模式,手动模式下功耗低。

6、可以语音播报被识别的图像,声音洪亮清晰。

可识别内容举例:

第四部分

总结/Conclusions

经过几个星期的努力,我们小组终于将作品设计完成。

经过实际测试后,该系统基本完成了当初的

设计任务,即当给出不同的图像时,前端摄像头能采集图像,自动识别,并进行语音播报。

本系统中图

像识别速度快,准确率较高,语音播报模块声音基本自然,没有明显播报的错误。

当然,此次设计还有

一些不足之处。

比如准确率还没有达到99%以上,对于一些奇怪的图像无法准确的检测出来,语音播报

模块的声音在自然度上还需进一步的提升等问题。

可以进一步发挥提高的部分

1.优化识别流程,让识别更快速,VGA显示的抖动更小。

2.设置临时模板,可以不再次编程而通过摄像头输入一个模板。

3.语音模块声音更加的自然流畅,能使用不同的声音比如男声,女声以及方言等播报。

组员设计体会

不同的处理器有不同的特点,比如本系统中使用的FPGA与单片机就是两个典型的处理器。

FPGA具有强大的数据吞吐与处理能力,但是它在控制方面不太擅长,单片机有强大的控制能力,但是

在数据处理上又显得力不从心。

因此,如果能将其二者合二为一,则构建出来的系统就具有很强大的性

能力。

但是,如何有效的进行两类处理器之间的通信则是一个非常关键的部分。

一个高效的数据传输协

议不紧能使两个处理器之间数据传输误差减小,还能保持整个系统合理快速的运行。

图像处理技术非常复杂,这个系统中每一个步骤——去除多余图像信息、图像降噪、提取目

标区域、压缩目标区域、图像识别——都选择了相对简单的算法进行。

其实这每一个步骤都值得深入研

究。

参加此次竞赛对自己的查阅资料能力、设计能力、编程能力、动手实践能力、团队协作能力

4、以及知识面都有极大的提高。

看到最终实现的成果得到的是对自己,对团队的认可。

基于人脸识别技术的智能安保系统

第一部分

设计概述/DesignIntroduction

随着信息技术及计算机网络的发展,信息安全显示出前所未有的重要性。

身份鉴定是保证信息安全

的必要部分,在很多领域都需要身份鉴定来达到保护信息安全的作用。

传统的身份认证技术主要是依靠

证件、密码和口令的认证方式,在现代科技快速发展的今天,这些都很容易丢失、破解或伪造,严重威

胁到个人或公共财产信息安全。

近年来,以人脸、虹膜、视网膜、指纹、声音、基因等人的生物特征作

为识别手段的生物特征识别技术渐渐发挥出了很好的作用,这类识别属于模式识别范畴,相比传统的识

别方式更安全、稳定和方便。

其中,人脸识别因具有友好、方便、直接等优点成为一个热门研究领域。

本系统就决定采用人脸识别+密码输入的双保险方式来构建安保系统。

第二部分

系统组成及功能说明/SystemConstruction&FunctionDescription

1硬件设计

1.1ov7620摄像头

本系统是图像采集与处理系统,所以摄像头是非常关键的一个部

分。

文采用了Omnivision公司推出的CMOS图像传感器OV7620。

OV7620

结合CMOS技术,采用数字接口,低功率(<120mW),单电源供电(5V),

为实现更高质量的视频图像应用提供了一种简单的解决方法。

0V7620

的功能特点包括:

单芯片1/3”镜头,最大664×492像素分辨;IzC控

制,标准SCCB接口;开窗功能,局部图像输出;自动曝光控制、自动

白平衡、自动增益控制、自动亮度控制;图像质量控制,包括颜色饱和

度、锐度、伽马校正等功能。

图一:

ov7620摄像头

本系统选取OV7620作为采集模块的原因主要是OV7620图像传感器是CMOS彩色/黑白图像传感

器,支持连续和隔行两种扫描方式,VGA与QVGA两种图像格式,帧速率可达30fps,数据格式包括YUV、

YCrCb、RGB三种,其中有我们作为看重的YUV模式,其中的Y代表着灰度。

OV7620是八位灰度输出最

黑的时候输出0,最白的时候输出255。

这种特性对于图像的处理是非常有利的,因为对于灰度的处理方

法是很多的。

OV7620接口控制器分为SCCB总线控制器和OV7620

采集控制器2部分。

SCCB总线控制器用于实

现符合SCCB总线协议的接口控制;OV7620采集控制器根

据OV7620的视频同步信号实现图像数据采集。

总线控制器

的作用就是更改摄像头内部寄存器的数值,通过这样的配置

来设置摄像头的工作模式。

更改数值是通过SCCB协议来实

现的,SCCB是类似I2C的串行总线协议,定义了串行数据线SDA和串行时钟线SCL,数据传输通过

SDA、SCL2条线上电平的状态以及二者之间的相互配合来实现。

其传输时序如图2所示。

由图2可以

看出,SCCB采用简单的三相写数据的方式,即在写寄存器的过程中先发送OV7620的ID地址,然后发

送写数据的目地寄存器地址,最后发送要写入的数据。

其中具体具体过程就是SCCB_SCL为高电平时,

SCCB—SDA出现一个下降沿,此时传输启动。

在启动条件满足后,SCCBSDA为稳定数据状态,SCCB

—SCL产生一个正脉冲,将传送一位数据。

当SCCB—SCL为高电平时,SCCB—SDA出现一个上升沿,

传输停止。

通过SCCB协议配置好摄像头之后,就可以进行采集控制了。

OV7620多种信号输出。

对于我们的系__统,我们只关心其中场中断信号VSYN、行中断信号HREF、像素中断信号PCLK。

他们的时序关系如图

三所示:

图三:

三个中断信号的时序关系

其中,VSYN的周期是16.64ms,高电平时间为换场时间,约80us;低电平时间内像素输出。

我们在

采集VSYN脉冲时,既可以采集上升沿,也可以采集下降沿,采集下降沿更准确些,这也是一场的开始。

从VSYN的周期可以算出,1s/16.64ms=60帧,OV7620的帧率是60帧/s。

HREF的周期63.6us,高电平时间为像素输出时间,约47us;低电平时间为换行时间,因此采集HREF

一定要采集其上升沿,下降沿后的数据是无效的。

从HREF的周期可以算出,16.64ms/63.6us≈261,除

去期间的间隙时间,可以算出每场图像有240行。

PCLK的周期是73ns,高电平输出像素,低电平像素无效。

PCLK是一直输出的,因此一定要在触发

VSYN并且触发HREF以后,再去捕捉PCLK才能捕捉到像素数据。

从PCLK的周期可以算出,47us/73ns

≈640,可以算出每行图像中有640个像素点。

在之后的软件设计中主要就是通过对于这三个信

号的使用来完成系统的功能。

1.2VGA显示

系统采集了图像,在一定的情况下是需要查看图像

内容的,同时也方便对系统进行控制。

本系统才有VGA

显示屏进行显示。

VGA协议主要由5个输入信号组成,亦是HSYNC

Signal,VSYNCSignal,RGBSignal。

说简单一点,

HSYNCSignal是“列同步信号”,VSYNCSignal是“行

同步信号”,RGBSignal是“红色-绿色-蓝色”颜色信号。

VGA的扫描是固定的。

一帧的屏幕是由“m行扫描”和“n

列填充”组成。

扫描的时序是通过行同步信号与列同步

信号来控制的,同时扫描的频率与数据输出格式也是固

定的。

扫描时序图见图四,扫描频率标准见图五。

图四:

VGA时序图

图五:

VGA扫描频率标准

本系统为了配合OV7620的模式特点,采用了640*480,每秒60帧的标准。

于超凡;04011036

2图像处理原理与方式(软件设计)

本系统的软件开发采用模块化的设计,一共分为四个模块:

采集模块、存储模块、处理模块、显示模块。

下面对这些模块进行一一介绍。

2.1采集模块

通过对OV7620寄存器的配置,摄像头的工作模式被设定为:

输出像素分辨率:

640×480;VGA模式、隔行扫描、16位YUV(取

其8位Y输出)。

采集的控制主要就是依托场同步信号(vclk)、行同步信号

(hclk)以及像素同步信号(pclk)。

所以模块首先要检测出vclk

的下降沿,此时说明新的一帧的数据发送开始了,使能采集模块。

然后开始检测hclk的上升沿,检测到上升沿后说明一行的采集开

始了,并将行计数加1。

然后开始检测pclk的下降沿,每来一个下

降沿就说明一个像素的信号发送的过来,然后将此数据存入数组

中,把像素计数加一。

此时要检测一下行计数是不是已经到了640,

如果是的话就要将行计数加一

,像素计数归零。

此时也要检测行计数,若行计数到了480,图六:

数据采集流程图

说明一帧的数据采集结束。

流程图见图六。

由于图像的数据量是非常大的,所以不可能也不必要一直采集,所以本系统也加上了定时模块,也

就是说每隔若干帧才使能一次采集模块,这样可以减小存储模块的压力。

2.2存储模块

数据采集中是把每一行的数据暂存在一个数组里,但是如

果480行都存入数组里,数据量会使一般的FPGA开发板难以

承受,所以必须将数据暂存在ram中。

在xilinx开发板配套

的软件ISE中有着丰富的软核资源,其中就有很多块存储器。

根据系统的需要,最终选取了其中单口RAM的IPCORE。

图七就是单口ram的接线图。

其中DINA是数据输入端,

ADDRA是地址输入端,WE是写使能(本系统采用写优先模

式),CLKA是RAM的时钟输入端。

本系统的存储是这样设

计的:

没到一行的数据采集结束后,就会使WE信号变高,然

后这一行的数据就存了进去,也就是640个像素点的数据并行输图七:

单口RAM

入了RAM中,然后地址加一,这里的地址也就是行计数。

其余的时间里WE都是低电平,这个时候RAM就是读模式,可以进行读操作,为后面的数据处理提供

数据。

2.3显示模块

显示模块主要分为两个部分,一个是同步模块,一个是VGA控制模块。

显示模块的整体结构图如

图八所示。

首先是同步模块。

简单的说该模块就是通过对时钟的计数来控制输向VGA显示屏的信号:

行同步

与列同步。

之前提到过VGA是有频率标准的,而且并不是任何时间输入的数据都是有效数据,在一个

周期内有空闲的时间段,只有中间的一部分是有效显示段。

所以同步模块就根据这些行业标准来进行定

时,输出行同步、列同步信号。

同时,于行、列的计数就是VGA图像上相应的位置坐标,这与摄像头

采集到的一幅图像的坐标信息是相对应的,所以很自然地这个模块也会输出这种坐标,其中行计数可以

作为读取RAM里数据时的地址。

然后是VGA控制模块。

这个模块的任务就是输出RGB数据给VGA显示屏。

这里RGB的数据是

存在RAM里面的,之前通过同步模块输出的地址信号对RAM进行了读取,这里就相应的将RAM里

的数据进行输出。

2.4处理模块

处理模块是本系统的核心。

人脸自动识别系统主要包括人脸检测和定位、人脸特征的提取和识别两

个主要部份。

人脸检测和定位,即从输入图像中找到人脸及人脸的位置,并将人脸从背景中分割出来,

然后才是对归一化的人脸图像进行特征提取和识别。

对人脸的基本特征如眼睛、鼻子和嘴巴的准确定位

在很多人脸识别方法中也是必不可少的步骤,尤其是眼睛的准确定位,这是因为两眼间距受光照或表情

变化的影响最小,所以常被用于几何特征或脸像尺寸的归一化标准。

本系统主要依靠人脸整体粗略识别与人眼识别两种方式。

首先介绍人眼识别。

由于眼睛虹膜、瞳孔

部位的灰度值明显比其邻近区域(眼部周围皮肤、眼白)灰度值要低,因此能够从适当光照条件下拍照的

图像中分割眼睛虹膜、瞳孔部位的灰度值总是存在的,并且不是唯一的,而是有一定的小范围。

然而寻

找这样的最佳分割阈值并不是一件容易的事,眼睛虹膜、瞳孔部位及其邻近区域的灰度值会因人而异,

并随光照条件、带眼镜时镜片的反光而变化,加上复杂背景的变化,使得最佳分割阈值的估计十分困难,

但通过图像灰度直方图分析和统计的方法,对最佳分割阂值可能所在的灰度区间进行粗估计还是可以做

到的。

若选择固定的背景和光照条件,由统计的方法可估计出更小的最佳分割阈值可能所在的区间。

系统就采用固定的背景,而且是只拍摄头部部分(作为安保系统是合理的安排),这样就大大提升了检

测的水平。

具体做法是:

首先用某一分割阈值T将包含人脸的灰度图像二值化,对二值化图像进

“Majority”形态运算以去除二值化图像中小的黑斑点,再对二值化图像中黑色块进行标记、计算每块

面积(像素数)、确定每块的外按矩形位置及宽高。

人眼位置的判定是根据眼睛在二值化人脸图像中的几

何位置确定的,主要有以下几条准则:

1)双眼中心距应在某个范围内:

设图像尺寸为160x120,考虑到

人脸在图像中大小的变化,双眼中心距变化大约在20-50个像素距离范围内;2)双眼下方一定距离内不能

有其它黑块:

双眼下方一定距离内没有其它器官,因此在二值化图像中不能有其它黑块,这一特点也是

区分眉毛与眼睛的重要判据;3)双眼中心位置上下相差不超过一定距离:

由于人脸在图像中可能向两侧

倾斜,双眼中心位置常常不在水平线上。

作为判据,允许人脸在一定程度上向两侧倾斜,双眼中心位置

在垂直方向相差不超过一定距离(如15个像素距离);4)眼睛黑块所包含的像素数应在某个范围内:

二值

化图像中眼块所包含的像素数应在某个范围内(如5-50个像素),太大的黑块不太可能是眼块;5)眼睛黑

块的外接矩形应是一宽大于高的矩形或接近于正方形:

由于眼睛的结构特点,二值化图像中眼块的外接

矩形常常是一宽大于高的矩形或接近于正方形,眼块的几何中心位于圆形的眼睛虹膜(含瞳孔)位置,高

远大于宽的外接矩形对应的黑块不可能是眼块;6)与图像四边接壤或非常接近的黑块不是眼块:

由于拍

摄人脸图像时,要求人脸在照片中应完整,且较靠近图像中心,因此在二值化图像中与图像四边接壤或

非常接近的黑块不是眼块。

在这些原理的基础上,结合实验得到的阀值,使用RAM里的数据就可以进行人脸识别了。

系统主

要是依靠人眼间距来进行人脸识别。

在大多数情况下其实是不需要进行麻烦的人眼识别的,粗略的识别就可以完成预定功能,具体来说

主要基于对图像每一个像素点的灰度值比较。

对于判断比对人脸来说,我们这里是比较简单的一种方式,

因为我们是设计密码锁,所以要求解锁者在指定位置进行人脸的测试,这也就是说图像中除了人脸的部

分,其余的背景是固定的,所以这就为我们进行简单的人脸识别提供了基础:

我们只需要先预存一幅人

脸图像,然后与被测试者的人脸图像想比对,然后把误差率与先前设定好的阀值相比对,然后就可以加

以判断了。

事实证明,这种方法可以完成多数情况下的识别,可以作为第一级识别,而人脸识别作为第

二级识别,这样既准确又高效。

3系统结构总图

第三部分

完成情况及性能参数/FinalDesign&PerformanceParameters

作品可以比较好的完成可输入密码锁与人脸识别的功能,并在VGA上显示界面与菜单,并可以用PS2

键盘来控制整个系统。

系统运转稳定、良好。

第四部分

总结/Conclusions

我们觉得这个作品较为成功的利用了ov7620的功能,与VGA和FPGA结合,做出了具有一定实用

价值的人脸识别安保系统,系统能够较为灵敏地对人脸进行识别,加之传统密码锁,我们的安保系统具

有较高的安全性和可实用性。

下一步可以提高的地方有两点:

1.可以增加几种人脸识别的算法,是系统算法更合理,最大程度上减小误判的几率。

2.增加人脸搜寻功能,当人脸出现在屏幕的任何位置时,都可以寻找出来并进行进一步的人脸识别,

这个功能在我们的安保系统中也会有着很重要的应用。

FPGA

OV7620VGAPS2键盘

显示模块

图像采集

图像存储图像处理与系统控制

通过这次pld竞赛,我们进一步学习和掌握了有关pld编程的方法和特点,也对FPGA开发板的使用

有了比以前更加清晰的了解。

同时,这次让我们有机会把自己的设计想法付诸实践,让我们第一次有了

真正的pld设计经历,对我们以后的工程设计会有很大的帮助。

这次题目还是比较有难度的,我们也是

从零一点点做起,遇到过很多困难,有过很多问题,不过还是在两个人的努力下,一点点解决,最后较

好的完成了选题,也找到了继续提高的方向,相信我们以后会做得更好。

参考文献

[1]胡瑶荣基于FPGA的实时视频采集系统[期刊论文]-电视技术2005(02)

[2]潘松;黄继业;王国栋现代DSP技术2003

[3]OmniVisionTechnologiesIncOV7620DatasheetV2.12000

[1]Graybradski,AdrianKaebler.LearningOpenCV[M]清华大学出版社2009.

[2]RafaelC.Gonzalcz.数字图像处理[M]北京:

电子工业出版社,2005.__

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2