基于FPGA并行计算的人脸分类方法技术

技术编号:21833734 阅读:50 留言:0更新日期:2019-08-10 18:24
本发明专利技术属于数字信号处理、数字集成电路设计技术领域,请求保护一种基于FPGA并行计算的人脸分类方法,主要包括:图像采集模块、图像预处理模块、Haar特征提取模块、人脸检测分类模块、以太网传输模块及所包含的子模块。其中,根据硬件电路特性,在FPGA中分析设计了特征提取及分类的算法实现方法。通过仅存储当前计算像素及其相邻像素所需的像素,完成了用缩放图像代替缩放子窗口的特征值高速计算。设计实现了分类检测模块五级流水分别计算积分图点值、特征值、弱分类器加权和、弱分类器分类结果和强分类器分类结果流水线方案下的Haar分类器体系结构,完成高效低资源占用率的特征分类。

Face Classification Method Based on Parallel Computing of FPGA

【技术实现步骤摘要】
基于FPGA并行计算的人脸分类方法
本专利技术属于数字信号处理、数字集成电路设计
,具体涉及一种基于Haar特征的人脸分类算法FPGA并行计算系统设计。
技术介绍
人脸检测作为人脸识别的第一个步骤,该阶段下的检测精度与速度直接影响整个人脸识别系统的性能,特别是复杂背景下的人脸检测研究,已经成为人脸识别系统是否能够真正实用的关键。目前对人脸检测的研究已经作为一个独立的研究内容受到研究者的重视,随着人脸检测技术的不断发展,人脸检测的应用范围也已经远远超出了人脸识别领域的范畴在基于内容的检索、视频会议、三围人脸模型等方面有着重要的应用价值。Viola等人提出了一种基于使用Haar特征的AdaBoost学习算法的人脸检测框架。然而,面部检测需要相当大的计算能力,因为许多Haar特征分类器检查图像中的所有像素。使用高性能计算机可以进行实时人脸检测,但系统的资源往往会被大量计算占用产生高延迟。硬件电路特性使基于其平台设计实时的人脸检测硬件并行架构,用硬件描述语言对硬件并行架构分模块进行描述成为一项非常好的选择。并行计算是提高人脸检测速度最有效的技术之一,较ASIC设计周期长、成本高、风险大等缺点,当前出现了采用FPGA硬件并行处理方案来提高人脸检测算法的速度。基于FPGA设计的人脸检测方案,具有开发成本低,周期短等优点,是一种高效灵活的解决方法。深入分析充分挖掘人脸检测算法本身的并行性,设计灵活的硬件并行架构是本专利技术的重点。
技术实现思路
针对人脸检测实现的重要性,以及当前所有关于实时人脸检测的文献都描述了软件实现或是理论上的硬件分析。本专利技术提出了一种提高电路性能和减少硬件资源占用的Haar特征提取及分类的FPGA并行计算系统,本专利技术的技术方案如下:一种基于FPGA并行计算实现的实时人脸分类检测系统硬件架构,利用并行处理能力和多级流水线处理,采用至顶向下设计方法,所述系统包括图像采集模块、图像预处理模块、Haar特征提取模块、人脸检测分类模块和以太网传输模块,使用VerilogHDL语言进行设计,并在FPGA上实现。在图像采集模块中,帧捕获控制器生成控制信号,用于控制从图像传感器采集图像信息的过程。预处理模块将图像转为灰度数据,同时用中值滤波算法对图像质量改善处理后进行存储在BlockRAM中。Haar特征提取模块对图像进行缩放、积分图的生成和对应的特征计算。人脸检测分类模块由级联的强分类器构成,弱分类器加权相加构成强分类器,通过将计算好的特征值与阈值对比并进行弱分类后相加并级联后得出检测结果。进一步的,所述Haar特征提取模块包括图像存储子模块、图像定标器子模块、特征计算子模块构成,经过预处理的灰度图像存入由图像存储控制器例化的存储空间之后,按图像的缩放比例分别存储缩小后的图像数据。图像定标器模块在生成并传输包含帧图像的BRAM的地址,根据缩放图像的比例因子请求图像数据,图像存储模块根据图像定标器模块中需要的BRAM地址将像素数据传输给特征计算模块。进一步的,特征计算公式如下:Pxy=Hwhite∑p∈whitetanglep-Hblack∑p∈blacktanglep进一步的,仅仅在24*24大小的窗口,通过平移和缩放就可以产生数十万计大小不一、位置各异的Haar特征。在一个窗口内就有这么多Haar特征,而检测窗口的尺寸也是大小不一的,为快速的计算这些Haar特征的特征值此处引入积分图简化计算。引入积分图设计思想的特征计算公式如下:进一步的,使用缩放图像技术代替缩放子窗口,生成积分图像窗口而不是在一个时钟周期期间包含整个图像的积分图像,每个缓冲区都有自己的控制器控制存储用于将每个像素及其相邻像素一起处理的必要像素。进一步的,人脸检测模块中采用弱分类器构成强分类器,强分类器级联构成检测系统设计思想,一个完整的弱分类器包含:Haar特征、leftValue、rightValue和弱分类器阈值。P为一特征值,θ为该特征值对应的阈值,lv、rv分别为阈值对应的左右值下弱分类器功能表现为如下公式:进一步的,强分类器由多个弱分类器“并列”构成,即强分类器中的弱分类器是两两相互独立的。在检测目标时,每个弱分类器独立运行并输出weakc值,当前强分类器中每一个弱分类器的输出值相加之后,相加结果与本级强分类器对应的阶段阈值对比,当且仅当结果大于该阶段阈值时,认为当前检测窗口通过了该级强分类器。进一步的,采用流水线方案实现Haar分类器的体系结构。在每个时钟周期期间,来自积分图像窗口缓冲器的特征积分像素值和来自BRAM的Haar分类器的参数用于连续计算分类结果,将每个强分类器划分成五级流水分别计算积分图、特征值、弱分类器加权和、弱分类器分类结果和强分类器分类结果,一个弱分类器的延迟是五个时钟周期。进一步的,当前检测窗口通过所有强分类器时,认定为检测成功即图像中存在人脸。附图说明图1是本专利技术提供改进的Haar特征下并行计算的人脸分类检测系统硬件架构图;图2是缩放图像操作图;图3是由一级强分类器电路图及其流水线划分。具体实施方式下面结合说明书附图,对本专利技术实施例中的技术方案进行清楚、详细的描述。本专利技术解决上述问题的技术方案是:本专利技术选择在FPGA器件上实现基于流水线技术的并发分类算法,根据Haar特征的计算和Adaboost算法下的多级强分类器分类得出检测结果。为了提高电路性能和减少硬件资源占用,本专利技术对特征计算过程和分类过程进行了基于硬件特性的分析,采用多窗口尺寸特征值并发计算和分类器插入流水线的技术增加计算单元利用率,系统实现的整体架构及模块划分情况如图1所示,本专利技术的具体技术方案如下:1.特征值计算模块,由具有图像行缓冲器,图像窗口缓冲器,积分图像窗口缓冲器构成。引入优化采用固定积分图像窗口(21×21像素),用输入图像不同尺寸的缩小代替特征计算窗口不同尺寸的放大。本专利技术中使用最近邻插值算法计算缩放图像,因子为1.2。缩放图像中的像素值被设置为原始图像中的最近像素的值。这是最简单的插值算法,需要较低的计算成本。如图2所示,缩放图像的数量取决于输入图像分辨率,Haar特征提取模块中的图像缩放子模块执行输入图像的缩小,320×240像素图像的缩放器模块有14个比例因子(1.20~1.213),640×480像素图像的缩放器模块有18个比例因子(1.20~1.217)。生成整个缩放图像的整体图像需要大量的计算能力和时间,本专利技术提出一种特征值计算结构,这种结构仅存储了处理每个像素及其相邻像素所需的像素。它由图像行缓冲区、图像窗口缓冲区和积分图像窗口缓冲区组成,每个缓冲区都有自己的控制器。每个双端口BRAM可以存储图像的一行。因此,像素的x坐标可以用作双端口BRAM的地址。对于坐标为(x,y)的传入像素,图像行缓冲区控制器执行如下公式的操作:L(x,y-k)=L(x,y-(k-1)),1≤k≤n-2L(x,y-k)=p(x,y),k=0其中n为图像窗口行大小,p(x,y)为传入像素值,L(x,y)表示图像行缓冲区中的每个像素。每个双端口BRAM存储图像的一行,从每一行获得一个像素值。像素数据被存储并在图像行缓冲器中移动,具有相同图像行缓冲器地址的像素数据被同时传送到图像窗口缓冲器。图像窗口缓冲区执行预计算以生成积分图像窗口。本文档来自技高网...

【技术保护点】
1.一种基于FPGA并行计算实现的人脸分类检测系统硬件架构,所述系统包括图像采集模块、图像预处理模块、Haar特征提取模块、人脸检测分类模块和以太网传输模块,其特征在于,图像采集和预处理、图像缩放、积分图像生成采用流水线技术,强分类器间并发计算。

【技术特征摘要】
1.一种基于FPGA并行计算实现的人脸分类检测系统硬件架构,所述系统包括图像采集模块、图像预处理模块、Haar特征提取模块、人脸检测分类模块和以太网传输模块,其特征在于,图像采集和预处理、图像缩放、积分图像生成采用流水线技术,强分类器间并发计算。2.一种基于FPGA并行计算的人脸分类方法,其特征在于,包括如下步骤:步骤1:在传感器中进行寄存器配值,同时,在FPGA平台图像存储模块逐帧存储从OV5640传感器模块采集的串行图像数据;步骤2:图像缩放器模块在图像存储模块中生成并传送包含帧图像的BRAM的地址,基于比例因子请求缩小的图像数据,完成缩放功能后并发传输到多级Haar分类器;步骤3:分类器模块使用Haa...

【专利技术属性】
技术研发人员:李平张博维王忆文
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1