您的位置 首页 设计

根据NiosⅡ的人脸检测体系规划

摘要 基于FPGA内嵌的NiosⅡ处理器,设计了一个实时人脸检测系统。介绍了基于Haar特征的AdaBoost人脸检测算法,描述了依据AdaBoost算法的人脸检测软件实现过程,最后在以Altera

摘要 依据FPGA内嵌的NiosⅡ处理器,规划了一个实时人脸检测体系。介绍了依据Haar特征的AdaBoost人脸检测算法,描绘了依据AdaBoost算法的人脸检测软件完结进程,终究在以Altera公司CycloneⅡ系列EP2C70为中心芯片的DE-2开发渠道上,对检测体系进行了全体规划。测验成果表明,体系有较高的检测率,能够满意实时人脸检测的要求。
关键词 人脸检测FPGAAdaBoost算法分类器

人脸检测是指在图画中判别是否有人脸存在,并且将检测到的人脸部分在图画中标识出来的进程。作为人脸信息处理中的一项关键技术,人脸检测在主动人脸辨认、视频会议、智能人机交互等范畴得到广泛应用。现在人脸检测体系多选用PC或DSP作为处理渠道。在PC上,人脸检测体系完结虽现已到达根本要求,但由于带着不方便,无法满意实时检测,且本钱较高。选用通用的DSP方法,外围电路较杂乱,规划难度大,调试也需求较长的时刻,且体系的可扩展性和移植性差。文中运用SOPC技术规划了依据NiosⅡ处理器的人脸检测体系,不只到达了实时性要求,并且在PC上开发的程序,可方便地移植到Nios II处理器上。

1 Nios II处理器
Nios II处理器是Altera公司为其FPGA产品配套开发的软核CPU。在逻辑功用上,它是一款通用的RISC结构的CPU;在完结方法上,它在FPGA上经过编程完结。由于Nios II有一个开放式的ALU,经过用户自定义指令集,能够方便地完结对体系的操作;一起选用哈佛结构的总线形式,大幅地进步了体系的处理速度;别的,Nios II体系中的外设具有可装备性,这在较大程度上简化了硬件开发的难度,缩短了产品开发周期。

2 算法概述
文中选用Viola P提出的依据Haar特征的AdaBoost人脸检测算法,该算法首要分为以下3部分:
(1)运用Haar-like特征表明人脸,将“积分图”的概念用于Haar矩形特征的快速核算。
(2)运用AdaBoost算法练习得到很多弱分类器,依照权值补偿的方法级联得到强分类器
(3)将练习得到的强分类器串联组成层叠分类器,这种结构能及时摒弃非人脸图画子模块,减少了核算的数据量,有用进步体系的检测速度。
练习得到一个好的分类器,将大幅进步体系功用。文中经过对很多的人脸及非人脸图画进行练习,经过屡次迭代,取得一系列弱分类器。在迭代进程傍边,挑选错误率最小的弱分类器作为本次迭代产生的弱分类器hn(x),之后更新样本权值,使得那些在前次检测进程中被误判的样本在此次检测时能得到满足的注重,然后再次迭代,取得新的弱分类器,以此类推,经过k次迭代,得到k个弱分类器,而一切弱分类器组合后便得到分类才干较强的强分类器。

a.JPG

体系中,每级强分类器都有相应的阈值,经过调整每级强分类器的阈值,使得简直一切含人脸的图画都能够顺畅经过分类器,而绝大多数的非人脸图画被回绝。分类器方位越靠前,只需少数的特征即可滤除很多的非人脸图画,而方位靠后,分类器的结构相对较杂乱,需求较多的特征才干扫除那些具有必定人脸特征的非人脸图画。终究,经过每级强分类器的检测,人脸图画将被保存,而非人脸图画则在检测进程傍边被某级强分类器所筛选。

b.JPG

归纳说来,该检测算法的首要流程为:首要对检测图画进行积分图运算,然后用必定巨细的子窗口遍历整幅待检测图画,并将子窗口截取到的图画输入到分类器中判别是否包括人脸,若该子图画经过悉数强分类器,则断定当时子图画包括人脸特征,记载该子图画的方位和巨细,不然扔掉当时子图画,进入下一帧的检测,当该子窗口遍历整幅图画后,放大子窗口尺度,从头遍历待检测图画,直到子窗口巨细超越图画巨细,检测完毕,流程如图3所示。

c.JPG

3 人脸检测体系的硬件规划结构
依照人脸检测体系的功用要求,能够将整个体系分为几个模块:视频收集模块、视频缓存模块、视频输出模块、人脸检测算法完结模块、IO接口模块(LCD显现模块和按键模块);一起为项目开发的连续,在不影响体系功用的基础上再增加通讯接口模块,这样既能够完结数据的远距离传输,又能与个人PC协同处理。
体系的作业流程:经过CCD摄像机(25帧/s)收集视频,之后运用ADV7121将CCD送来的NTSC、PAL模仿视频信号转化成契合CCIR 656规范的YCrCb4:2:2视频数据;然后在FPGA中经过视频收集模块、视频缓存模块、视频输出模块、人脸检测算法完结模块完结人脸检测;终究在LCD上显现终究检测成果。经过FPGA内部的I2C总线操控器模块,完结对ADV7121视频解码芯片的装备。视频输出模块,经过操控信号提取、制式检测、灰度有用数据提取等单元,完结视频数据流中灰度图画数据的提取。人脸检测算法完结模块依据AdaBoost人脸检测算法流程对人脸进行检测,然后输出人脸的相关数据。LCD显现模块首要是输出行同步信号(HS)和场同步信号(VS),结合人脸检测算法完结模块的检测成果和视频缓存模块寄存的视频数据,完结人脸方位显现和视频数据中人脸方位标定。硬件体系的规划结构如图4所示。

d.JPG

详细功用流程如下:
(1)初始化:FPGA经过I2C总线传输SDAT和SCLK信号,完结对ADV7121的装备;来自模仿摄像机的模仿视频信号,经过ADV7121,输出ITU—RBT.656格局数字视频信号。
(2)FPGA将转化后的数字视频数据传输给SRAM1。图5为视频收集模块框图。ADV7121首要完结视频数据收集,其视频数据总线、帧图画数据时钟(PCLK)、场同步信号(Vsync)、行同步信号(Hsync)与FPGA视频收集模块相连。FPGA和谐两块SRAM“乒乓形式”的读写操作,并完结模块的外部接口。

e.JPG

(3)FPGA等候一帧图画数据存储完毕后,调用人脸检测模块,一起等候下一帧图画数据,并存储到SRAM2。
(4)检测完毕,FPGA将得到的人脸方位写回图画地点SRAM中。
(5)当SRAM2存储完毕,告诉人脸检测模块,一起等候下一帧图画数据,并存储到SRAM1。检测完毕,将得到的人脸方位坐标写回图画地点SRAM中。每秒25帧,每帧周期40 ms,因而从写入视频图画到检测模块回来成果,需求在40 ms内完结。

4 试验成果
经过对A、B、C 3名同学在多种不同情况下的重复测验,得到测验数据如表1所示。

f.JPG

其间,N、n、FR分别为该条件下测验的总次数、错检次数以及误检率。
此外,还对网络上的具有多个人脸的图画进行了测验,试验成果表明,体系对多人脸形式也有较好的辨认才干,作用图如图6所示。

g.JPG

5 试验定论
经过对试验成果的剖析,可得如下定论:
(1)检测速度:经过剖析人脸检测算法,经过练习分类器、定点化、以及硬件加速后,使人脸检测体系在DE-2开发板渠道上,根本到达实时检测的作用。
(2)检测定位:从检测成果能够看到,人脸的规模较小,侧重点首要会集在眉毛、眼睛、鼻子、嘴唇等器官上,没有耳朵信息特征体现。这是由于人脸练习库首要是环绕几个首要特征,所以检测定位是小区域定位。
(3)检测率与误检率:经过重复试验能够看到,该体系具有较高的检测率和能够承受的误检率,尤其是在正面人脸、小视点歪斜、光照比较均匀的情况下。漏检往往是由于头像过小、脸部特征产生暂时性改变(戴眼镜)、只呈现部分人脸或偏转视点过大,又或许光照不均匀等。而那些被断定为人脸的非人脸图画,一般是由于布景杂乱,并且该图画又具有人脸某些特征等要素形成的。
(4)资源运用率:从终究的归纳和仿真成果来看,在一切模块傍边,积分图资源占用最多,分类器核算时刻最长,因而选用一种好的处理架构,能大幅提高体系的全体功用。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/sheji/287391.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部