基于FPGA的人脸检测系统设计

发布者:qazwsx007最新更新时间:2011-12-26 来源: 电子产品世界关键字:FPGA 手机看文章 扫描二维码
随时随地手机看文章

    近年来,以人脸、虹膜、视网膜、指纹、声音、基因等生物特征作为识别手段的生物特征识别技术渐渐发挥出了很好的作用。这类识别属于模式识别范畴,相比传统的识别方式更安全、稳定和方便[1]。其中,人脸识别因具有友好、方便、直接等优点而成为一个热门研究领域。

鉴于FPGA的并行高速处理特点以及设计、扩展的灵活性,本论文采用FPGA来实现人脸检测系统的设计。

1 人脸检测系统方案设计

目前,根据是否使用人脸区域的色彩特征,将人脸检测算法分为两大类:针对彩色图像的基于肤色检测的算法和针对灰度图像的基于灰度信息的算法。

本文综合采用基于彩色图像的肤色检测方法和基于几何特征的灰度检测方法对人脸区域进行实时跟踪检测。

1.1 基于FPGA的人脸检测方案设计

本设计选取的是一种由粗及精的方法,综合采用基于彩色图像的肤色检测方法和基于几何特征的灰度检测方法。首先基于肤色检测在一个大的摄像头范围内捕捉人脸区域,在一个最佳范围内定位人脸候选区,实现人脸的粗定位,这一模块大大减小了后续部分的搜索范围,降低了系统的运算量。在此基础上,在肤色检测所圈定的区域中,利用先验人脸的几何特征,实现人脸检测的目的。

本设计的算法部分在传统肤色检测算法的基础上加入图像预处理模块、色彩平衡模块、自适应阈值二值化模块、形态学滤波模块等实现人脸的粗定位;在此基础上,对定位出来的人脸区域进行中值滤波、边缘检测等处理,如图1所示。

69.jpg

基于上述基本算法,本系统最终需要搭建CMOS摄像头、FPGA核心图像处理单元、LCM显示人脸区域这样一个完整的人脸图像处理以及检测定位系统。系统整体架构如图2所示。

图2中左部分是CMOS摄像头设备及其控制电路,它输出主要的数字视频数据给CMOS Sensor Data Capture模块,同时从该模块获得MCLK信号。另外,摄像头电路需要通过I2C进行配置,它们之间传递的信号主要有SDAT和SCLK。

中间的FPGA模块主要完成输入设备和输出设备的配置、控制等功能,并完成从输入到输出的数据传输,是设计的核心单元。其中,主要包含CMOS摄像头电路的数据获取、图像类型转换、LCM显示设备控制器、SDRAM控制器、I2C配置控制器等模块。SDRAM控制器主要是用作帧缓存和图像获取(拍照功能);LCM控制器主要是输出HS(行同步信号)、VS(场同步信号)、显示数据以及显示时钟给LCM;图像格式转换模块主要是实现数据格式到RGB格式的转换,以方便后续显示及处理。

本设计采用Altera公司的FPGA(EP2C35F672C6)作为核心处理芯片,全部模块功能通过纯硬件实现。采用Verilog语言编程,系统具有很好的便携性、实时性、可扩展性和移植性。

2 图像预处理算法及实现

在本设计中,使用图像预处理技术来消除环境因素对人脸检测的影响,主要有快速中值滤波、形态学滤波和边缘检测。

2.1 快速中值滤波

中值滤波是一种基于统计排序理论的、能有效抑制噪声的非线性信号处理技术[2]。其基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近真实值,从而消除孤立的噪声点。

在本设计中,选用快速中值滤波[3]来进行图像预处理,在快速实现滤波输出的同时节省了比较逻辑单元的个数,减少了资源占用率。

2.2 形态学滤波

形态学滤波器被广泛地应用于图像处理和目标识别领域。它的基本思想是[4]利用具有一定形态的结构元素作为“探针”,在图像中不断移动来度量图像的结构信息,考察图像各部分之间的相互关系,进而提取图像的结构特征。

本文所述形态学滤波的目的是检测大小为256×256像素的8位灰度图像中的弱小目标。在本文中,主要实现了腐蚀、膨胀、开运算和闭运算,并在此基础上通过级联开运算和闭运算对图像进行预处理。

经过形态学滤波后,二值化后的图像变得“黑白分明”,更符合实际的二值结果,去除了噪声点或背景区域的干扰。

2.3 边缘检测

图像边缘检测可以简化图像处理,广泛应用于图像分割、图像识别、纹理分析等领域。在数学上可以利用其亮度变化曲线的一阶、二阶导数来描述两种不同的边缘[5]。

本文采用Sobel边缘检测算子做硬件实现,并且用于实时人脸检测系统。Sobel边缘检测算子是综合图像每一个像素点的上下左右亮度加权和,接近模板中心的权值较大[6]。

70.jpg

从图3和图4可知,Sobel算子x方向和y方向的滤波分别突出了图像的横向和纵向的边缘,灰度连续的部分削弱。经过Sobel边缘检测之后,lena图像的边缘信息被提取了出来,检测效果比较理想。

3 人脸检测系统设计与实现

3.1 图像采集和显示系统设计

71.jpg

本系统中,通过摄像头采集图像做人脸检测。同时,视频检测的结果需要通过显示系统显示结果,因此需要视频采集电路和显示电路[7]。

3.2 二值化及系统实现

3.2.1 人脸矩形位置确定

本设计中,利用了人脸的几何形状特征来精确地定位人脸区域。这里的人脸区域是指包含了人脸主要特征部位(如眼睛、鼻子、嘴巴)的一个矩形区域。

图5给出了人脸几何形状的模型图。根据人们的先验知识,可以假设人脸长度约是宽度的1倍到1.5倍,即:iFaceHeight<1.5iFaceWidth。

以上图作为模型,并且根据人们的先验经验,可以找出二值化后人脸区域的左右边缘、上下边缘以及人脸中心位置点,这样就可以在人脸面部区域画一个矩形框,进而确定人脸的上、下、左、右边缘的位置。

3.2.2 系统测试结果分析

图6和图7是一个摄像头采集到图像,经过肤色检测二值化后加入形态学滤波,去除周围环境类肤色区域影响的结果图,人脸的肤色区域检测效果较好。

72.jpg

本文综合采用基于彩色图像的肤色检测方法和基于几何特征的灰度检测方法,设计的人脸检测系统能较好地检测人脸。下一步工作中,需对本系统从如下几方面做出改进:

(1)在进行肤色二值化时,可以采用自适应阈值方法代替固定的统计得出的经验阈值,即可针对不同的图像进行二值化,肤色检测的效果更好。

(2)实现人脸面部五官的精确定位,以提高人脸检测的精确度。

(3)光照平衡模块的小波变换方法实现。采用的方法是利用小波变换[8]做3级分解,然后再对3级之后的低通滤波分量LL3做灰度平均,并且将LL3中的每个像素都赋值为该均值,相当于对图像做了亮度的归一,从而去掉了图像中的光照成分,最后做小波重构即可。本文中已验证此方法可行。

(4)实现复杂背景下[9]的人脸区域检测定位以及分割技术。

关键字:FPGA 引用地址:基于FPGA的人脸检测系统设计

上一篇:基于FPGA的PEX8311的LBS控制器的实现
下一篇:正交幅度调制解调器的FPGA设计与仿真

推荐阅读最新更新时间:2024-03-30 21:52

基于FPGA的数字量变换器测试系统设计
  针对数字量变换器性能参数的测试工作,以FPGA为控制核心,开展数字量变换器测试系统的设计和研究,并给出系统各模块的具体设计方法;系统通过USB实现与计算机的通信,能够产生计算机字信号及相应移位脉冲信号、勤务信号和128路指令信号,并能接收经过数字量变换器变化后的计算机数码和指令数码信号;测试系统能够完成对数字量变换器各项性能指标的测试,实验表明,测试系统精度及可靠性高、实时性好,已经成功应用于某遥测系统中。   0 引言   在飞行器发射试验中,常用遥测系统获取其内部各系统的工作状态参数和环境数据,为评定飞行器的性能及故障分析提供依据。数字量变换器作为遥测系统弹上的重要设备,它的主要功能是控制接收弹上的各种飞行参数。变换器性能
[测试测量]
基于<font color='red'>FPGA</font>的数字量变换器测试系统设计
nRF24L01无线模块在单片机与FPGA上的应用
  先简单的介绍下nRF24L01无线模块   (1) 2.4Ghz 全球开放ISM 频段免许可证使用   (2) 最高工作速率2Mbps,高效GFSK调制,抗干扰能力强,特别适合工业控制场合   (3) 126 频道,满足多点通信和跳频通信需要   (4) 内置硬件CRC 检错和点对多点通信地址控制   (5) 低功耗1.9 - 3.6V 工作,待机模式下状态为22uA;掉电模式下为900nA   (6) 内置2.4Ghz 天线,体积小巧15mm X29mm   (7) 模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接接各种单片机使用,软件编程非常方便   通过SPI方式完成数据的交换,包括数
[单片机]
nRF24L01无线模块在单片机与<font color='red'>FPGA</font>上的应用
CDMA 2000系统中前向链路卷积编码器的FPGA实现
在通信系统中,由于数字信号在传输过程中受到各种干扰的影响,使信号码元波形变坏,故传输到接收端后可能发生错误判决,为解决这一问题,通常在设计数字通信系统时,首先应从合理地选择调制制度、解调方法以及发送功率等方面考虑,若采取以上措施仍难满足要求,就要考虑差错控制措施。在CDMA 2000系统的前向链路和反向链路中就采用了卷积编码来实现前向差错控制(FEC)。   FPGA是可编程逻辑器件,它的主要优点在于可以借助EDA工具通过软件编程对器件的硬件结构和工作方式进行重构,这就使得硬件设计具有软件设计的灵活性和便捷性。本设计采用VHDL语言并选用可编程逻辑器件在QuartusⅡ下来实现CDMA 2000系统中的前向链路卷积编码器。  
[嵌入式]
CDMA 2000系统中前向链路卷积编码器的<font color='red'>FPGA</font>实现
AD977A在脑电信号采集系统中的应用
   前言   脑电信号EEG(Electroencephalography)是由脑神经活动产生并存在于中枢神经系统的自发性电位活动,含有丰富的大脑活动信息。它是大脑研究、生理研究和临床脑疾病诊断的重要手段。记录脑电信号,可为临床诊断提供依据。因此,提取脑电信号具有重要的现实意义。由于脑电信号处理一般都是基于数字技术,因此电极采集到的模拟信号经信号调理后,通过A/D转换器转换成数字信号是必不可少的过程。这里提出一种基于FPGA和AD977A的脑电信号数据采集系统,采用FPGA作为信号处理器,并控制模数转换,从而实现高可靠性,高通用性的脑电信号数据采集系统。    2 系统总体设计   通过对人体进行视觉刺激、听觉刺激或神经刺
[模拟电子]
基于MicroBlaze软核的FPGA片上系统设计
摘要: 分析软处理器 MicroBlaze 的体系结构,给出 MicroBlaze 内核在软件无线电系统中的应用,实现 SOPC (可编程系统芯片)。 关键词: FPGA IP Core SOPC MicroBlaze CoreConnect 软处理器 软件无线电 Xilinx 公司的 MicroBlaze 32 位软处理器核是支持 CoreConnect 总线的标准外设集合。 MicroBlaze 处理器运行在 150MHz 时钟下,可提供 125 D-MIPS 的性能,非常适合设计针对网络、电信、数据通信和消费市场的复杂嵌入式系统。
[嵌入式]
基于FPGA的双口RAM与PCI9O52接口设计
  O 引言   IDT70V28L(双口RAM)的存取时间大于20ns,PCI9052工作于25MHz,其存取时间要大于双口RAM的存取时间。PCI9052是发起交易的主动者,相当于一个慢速器件访问快速器件,通过可编程器件,可以把PCI9052读写控制信号直接传递给IDT70V28L,完成时序的匹配。   为将PCI9052的局部逻辑转换为双口RAM的读写控制信号和地址信号,本设计采用了可编程器件来实现它们之间的接口逻辑电路。在可编程器件设计中,状态机的设计方法是应用最广泛的设计方法之一。有限状态机是一种简单、结构清晰、设计灵活的方法,它易于建立、理解和维护,特别应用在具有大量状态转移和复杂时序控制的系统中,更显其优势。
[嵌入式]
基于89C55和FPGA的最小系统频率特性测试仪
  频率特性是一个系统(或元件)对不同频率输入信号的响应特性,是一个网络最重要的特性之一。幅频特性和相频特性综合称为频率特性。测量频率的方法有点频法和扫频法。传统的模拟式扫频仪价格昂贵、体积庞大,不能直接得到相频特性,给使用带来诸多不便。为此,设计了数字扫频式 频率特性测试仪 。   1 方案论证与选择   1.1 方案的选择   1.1.1 信号发生模块   方案1:采用模拟分立元件或单片压控函数发生器。可同时产生正弦波、方波、三角波,但由于元件分散性太大,产生的频率稳定度较差、精度低、波形差,不能实现任意波形输出。   方案2:采用传统的直接频率合成器。这种方法能实现快速频率变换,具有低相位噪声以及所有方法中最高的工作频
[单片机]
基于89C55和<font color='red'>FPGA</font>的最小系统频率特性测试仪
基于FPGA的FIR数字滤波器设计方案(一)
在Matlab/Simulink环境下,采用DSP Builder模块搭建FIR模型,根据FDATool工具对FIR滤波器进行了设计,然后进行系统级仿真和ModelSim功能仿真,其仿真结果表明其数字滤波器的滤波效果良好。通过SignalCompiler把模型转换成VHDL语言加入到FPGA的硬件设计中,从QuartusⅡ软件中的虚拟逻辑分析工具SignalTapⅡ中得到数字滤波器实时的结果波形图,结果符合预期。   0 引言   在信息信号处理过程中,数字滤波器是信号处理中使用最广泛的一种方法。通过滤波运算,将一组输入数据序列转变为另一组输出数据序列,从而实现时域或频域中信号属性的改变。常用的数字滤波器可分为有限脉冲响应(F
[模拟电子]
基于<font color='red'>FPGA</font>的FIR数字滤波器设计方案(一)
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved