您的位置 首页 嵌入式

根据SOPC的人脸检测体系的规划

人脸检测技术是计算机视觉领域非常重要的研究内容,正受到越来越多的关注。但传统的PC机平台上人脸检测系统体积庞大、不易携带、费用高等缺陷。采用通用DSP和多核处理器实现的话,价格昂贵、系统的可拓展性差。

人脸检测技能是核算机视觉范畴非常重要的研讨内容,正遭到越来越多的重视。但传统的PC机渠道上人脸检测体系体积巨大、不易带着、费用高档缺点。选用通用DSP和多核处理器完结的话,价格昂贵、体系的可拓宽性差。本文选用了xilinx公司的Zynq-7000系列芯片作为人脸检测体系完结渠道。Zynq-7000系列是Xilinx公司推出的职业第一个可扩展处理All Programmable解决方案渠道,旨在为视频监督、轿车驾驶员辅佐以及工厂自动化等高端嵌入式使用供给所需的处理与核算功能水平。本规划选用的是Zynq-7000的XC7Z 02SOPC芯片,该芯片集成了Crotex—A9 MPCore双核处理器体系,一起内部集成了丰厚的可编程逻辑资源,该部分包括约1.3M个等效逻辑门数和220个DSP Slices。这些资源供给了灵敏可拓宽的图画处理解决方案。

人脸检测算法有许多,首要能够分为:根据常识的办法、根据特征的办法、根据模板的办法和根据核算的办法。其间以Adaboost为核算的人脸检测算法是不管在检测精度仍是检测速度上,在核算机视觉范畴被认为现已到达很高的水准。

1 Adaboost人脸检测算法原理

Adaboost人脸检测算法是根据核算模型的办法,该办法给出了一个实时的、安稳的检测架构。此办法会从许多典型的数据信息中获取并进行特定的剖析,得出人脸图画,这也是人们遍及使用它进行人脸辨认的最根本原因。这一算法首要有3个方面的特色:使用积分图(Integral Image)快速核算Haar特征;使用Adaboost学习算法将Haar特征生成的弱分类器(Weak Classifier)组合成一个强分类器((Strong Classifier);将强分类器串联构成级联分类器(Cascade Classifier)。

1.1 Haar特征及积分图的核算

Haar特征又称矩形特征,指的是一系列矩形构成的结构,这种特征结构简略,利于快速核算。图1(a)是四种根本结构的矩形特征。把矩形特征中自色区域像素灰度值减去黑色区域的像素灰度值就得到该矩形特征的特征值。图1(b)矩形特征在人脸检测中的使用,这些典型的矩形特征能够很好把人脸和非人脸区别开来。

根据SOPC的人脸检测体系的规划
根据SOPC的人脸检测体系的规划

积分图能够快速算出Haar特征的特征值。如图2(a)所示,积分图画的界说;积分图图画的恣意一点i(x,y)处的积分图画值ii(x,y)是原图画上该点的左上方一切像素的灰度值之和,即

根据SOPC的人脸检测体系的规划

引进积分图,核算恣意矩形特征的区域的灰度值只需求4个参考点即可,图2(b)中灰色部分的矩形特征区域的灰度值能够通过A,B,C,D四个点的积分图来核算,即

sum=ii(AA)+ii(D)-ii(R)-ii(C) (2)

其间sum表明该灰色区域的灰度值。

1.2 Adaboost人脸检测算法

整个Adaboost人脸检测算法如图3所示,首要对图画进行预处理并核算检测图画的积分图,然后扫描其间每个N*N窗口,关于每个N*N窗口需求进入一个层次型检测结构(图示是一个三层结构每一层都是通过Adaboost算法练习得到一个强分类器),核算分类器中的各个Haar特征的特征值,再和阈值α相比较,从而挑选得到一个该分类器的影响因子。关于每个分类器的检测中,一切的影响因子累加起来便是该窗口和人脸的类似度,终究把类似度与阈值β比较。若类似度的值小于β,则断定该窗口图画不是人脸图画,将扫除该窗口并挑选进入下一窗口,若类似度的值大于β,则断定该窗口图画是人脸窗口图画,该窗口能够到下个分类器进行检测。假如该窗口通过一切分类器,则该窗口便是人脸窗口,输出它的方位信息。将图画中一切N*N的窗口都检测完,第一轮的检测也就完毕了。

根据SOPC的人脸检测体系的规划

一副图画种人脸的巨细是不确定的,为了习惯不同巨细人脸的图画,在完结第一轮原始图画的检测后,需求扩大检测窗口,并重复上述的过程直到窗口不能扩大停止。最终算法需求将一切检测窗口进行兼并,将方位和巨细附近的窗口兼并在一起。

2 人脸检测体系SOPC完结

2.1 硬件规划方案

SOPC(System On Programmable Chip)便是要在单块芯片上搭建出整个体系,其规划的内容不只包括硬件规划,还包括软件规划。根据SOPC的完结使得处理器、内存控制器等嵌入式体系所包括的硬件组成部分,都嵌入在芯片上。

根据SOPC的人脸检测体系的规划

本体系依靠的硬件渠道是Zedboard开发板,体系结构框图如图4所示,Zedboard的中心处理芯片是Xilinx公司的Zynq-7000芯片系列的XC7Z02,Zynq-7000芯片内部首要分为处理器体系PS(Processing System)和可编程逻辑PL(Programmable Logic)。PS部分内部嵌入了ARM Cortex—A9硬核模块,PL部分为FPGA,用户可自在规划自己的硬件逻辑。PS和PL之间的通讯通过AXI4高档通讯接口,图5显现使用Zynq进行SOPC开发的体系启动流程。

根据SOPC的人脸检测体系的规划

2.2 体系完结

图4给出了体系结构框图,其间PS部分首要担任人脸视频信号的收集、人脸检测等模块;PL担任AXI4总线缓存、VGA驱动、图画预处理等模块。

体系选用现代的V26的USB摄像头进行视频的收集,该摄像头支撑最大分辨率为1280*960,一起支撑VGA(640*480)方法。图画数据输出格局能够为8位/16位的YCrCb 4:2:2 ITU2656、IR2601GRB 4:2:2或RGB Raw Data。

图画预处理对人脸检测有着很重要的效果,图画预处理首要由图画增强和噪声滤除,本文选用的是中值滤波是进行噪声滤除,中值滤波能有用的滤除图画中孤立的像素点,还能维护像素的边际信息。图画增强首要选用直方图均衡化处理。本文通过PL调用了Xilinx公司的图画与处理的IP,通过PL对图画预处理能够节约体系的处理时刻。

视频显现输出选用的是群创的AT070TN07数字液晶,视频显现输出选用群创AT056TN52数字液晶,其分辨率为640*480,40Pin 16bit的RGB格局输出,可视角:L/R/T/B:70/70/50/70,反应时刻:15 ms。

人脸检测模块首要是通过在PC机Linux渠道上的QT进行代码的编写,并通过Xilinx公司的穿插编译器xilinx-arm-linux将人脸检测代码编译成Zynq渠道可执行的文件,然后通过将QT移植到Zynq渠道。下面是本文人脸检测模块一些参数:

根据SOPC的人脸检测体系的规划

3 试验与成果

完结环境如图6所示,输入图画选用动态图画方法,外部USB摄像头将640*480的视频信传送到Zedboard开发板上,经人脸检测体系处理。体系输出选用的方法是开发板外接一个液晶驱动电路和液晶屏,通过处理的图画数据以640*480@60Hz的规范VGA格局输出,从液晶屏幕上能够观察到人脸检测的成果。

根据SOPC的人脸检测体系的规划

本人脸检测体系选用的级联分类器有25级,共有2913个弱分类器。本体系中Zedboard中PS的CPU作业频率为667 Mhz,PL的作业频率为100 MHz。得到的试验成果如图7所示,关于640*480分辨率的视频信号的均匀检测时刻56 ms,均匀每秒的检测17.8帧的图画,根本满意实时性的检测成果。检测率在93%左右,误检率在2%左右。

根据SOPC的人脸检测体系的规划

在资源耗费方面,Zynq中PS的CPU的使用率为20%,内存的使用率为9.4%。PL的使用率如表1所示,能够看出Zynq的资源使用率较小。

根据SOPC的人脸检测体系的规划

4 定论

本文的人脸检测体系使用了Xilinx公司的Zynq-7000上完结规划,减小了体系面积,关于620*480的视频信号根本完结了实时人脸检测,有很强的实用性。本文介绍的人脸检测表现了SOPC技能的灵敏性,一起结合了ARM和FPGA各自的长处,克服了传统ARM在图画视频范畴开发速度上的下风,一起减小了硬件规划的难度。

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部