基于 adaboost 的嵌入式系统人脸检测外文翻译资料

 2022-08-14 03:08

英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料


  • Yang M , Crenshaw J , Augustine B , et al. AdaBoost-based face detection for embedded systems[J]. Computer vision and image understanding, 2010, 114(11):p.1116-1125.

基于 adaboost 的嵌入式系统人脸检测

摘要

人脸检测是计算机视觉中一个被广泛研究的课题,而最近在算法、低成本处理和CMOS成像仪方面的进展使其应用于嵌入式消费者应用程序。与图形一样,最好的性价比是通过专用硬件实现的。本文设计了一种适用于手持数码相机或照相手机的嵌入式人脸检测系统。嵌入式环境中人脸检测面临的挑战包括高效的管道设计、低成本内存设置的带宽限制、需要找到并行性以及如何有效利用可用的硬件资源。此外,消费者应用程序需要可靠性,这要求使用硬实时方法来保证满足处理期限。具体而言,本文的主要贡献包括:(1)在AdaBoost训练中加入遗传算法,在给定Haar特征数量的情况下优化检测性能;(2)满足硬实时截止时间的复杂度控制方案;(3)用于类haar特征计算的硬件流水线设计和利用多个并行级别的系统设计。通过对Altera公司低成本Cyclone II FPGA的综合分析,验证了该结构的有效性。仿真结果表明,该系统可以实现约75-80%的群体画像检测率。

近年来,计算机视觉技术在理论研究和实际应用方面都取得了稳步的进展。基于视频的安全监控[1,2]、人机交互(human-computer interaction, HCI)[3,4]、智能交通控制[5]、自动驾驶车辆和机器人导航[6]、医学图像处理[7]、工业控制[8]中的机器视觉等提出了许多可行的软硬件系统。除了传统的视觉应用之外,带摄像头的手持设备的流行为PDA中的[9]、手机[10]或任何小型电池驱动设备的新应用创造了潜力。同时,嵌入式系统的设计方法和计算能力也在不断提高。因此,从技术和商业的角度来看,让算法开发适应低成本嵌入式视觉系统的需求是很高的。

对于该算法,我们从两个方面对基于AdaBoost的人脸检测进行了改进:在训练阶段,为了充分利用给定的硬件资源,我们提出将遗传算法(GA)引入AdaBoost训练中,在给定Haar特征数量的情况下,使误报率最小化;在检测阶段,针对硬实时设计,我们提出了一种新的复杂度控制方案,该方案基于连续尺度间的空间相关性,跳过不太可能的候选窗口。

人脸检测的目的是定位静止图像中出现的任何人脸。这一直是计算机视觉研究的一个重点,并取得了很大的成功。杨和赵给出了全面的综述。

在人脸检测算法中,Viola和Jones提出的基于AdaBoost的人脸检测方法因检测率高、复杂度低、理论基础扎实而受到广泛欢迎。AdaBoost方法速度快,主要是因为它使用了简单的haar类特征和级联分类器结构,快速地排除了大部分的图像窗口假设。

在预处理阶段,一个辅助图像Ii,被称为积分图像或像素和是从原始图像I0计算出来的。其中Ii (i,j)为 I0位置(i,j)左或上像素之和。利用Ii,可以在常数时间内计算出I0中任意矩形的像素强度之和。然后,每个候选图像窗口w,在所有的位置和所有的尺度,被送入一个级联分类器。在每个阶段,分类器相应h(w)是一系列特征响应hj(w)的和。

AdaBoost-based的人脸检测算法,积分计算和图像成像的资源是由图像分辨率,同时检测性能和最坏延迟主要取决于Harr特性用于级联分类器的数量如Eq。然而,最小化的优化问题Harr特性的预期数量N给定目标假阳性率F和检出率D是“非常困难”,因此在Viola和Jones的原始算法中,他们采用了一种贪婪搜索方案来选择Haar特征并构建分类器。本文采用遗传算法作为优化工具,在保持相似检出率的前提下,最小化Haar特征个数下的假阳性率。

由Holland提出的遗传算法(GA)或进化算法(EA)是生物种群进化的一个模拟,可以看作是一个函数优化。在遗传算法中,一个优化问题的解空间中的一个采样点通常被编码成一个称为“chromosome”或“genotype”的二进制字符串。大量的“染色体”根据一个依赖问题的评价函数所确定的“适合度”或“生殖能力”进行进化。在进化过程中,对种群进行变异和交叉操作,在解空间中产生新的采样点,这可以看作是在巨大的解空间中进行超平面采样。遗传算法的典型应用涉及到参数不能作为自变量单独求解的非线性问题。一般来说,遗传算法可以看作是一种不依赖梯度信息的全局搜索方法。关于遗传算法的详细讨论在Whitley中给出。

最近,有一些尝试将遗传算法应用于基于adaboost的检测。在Treptow 中,我们使用进化搜索在一个扩大的Haar特征库中选择一个特征。其优点是进化搜索可以加快训练速度,并在合理的时间内在一个较大的特征库中有效地找到一个好的Haar特征,而不是对所有特征进行穷举搜索。Chen 使用遗传算法为AdaBoost人脸检测器生成新的阳性训练样本。自Harr特性在舞台中选择分类器是相互依赖,没有分析之间的关系特征分类器的数量及其检测性能,这个优化问题的误警率降到最低的数量Harr特性是非线性的和困难,很适合GA优化。此外,作为Haar特征组合的分类器也可以被描述为超平面,这将在第3节中进一步解释。

为了将AdaBoost人脸检测算法移植到嵌入式系统中,对算法进行裁剪以有效地利用硬件资源是至关重要的。给定一个特定的硬件平台,计算能力是固定的。然后,对于AdaBoost人脸检测,计算效率主要取决于硬件平台上可以实现的Haar特征的数量和运行时评估的候选图像窗口的数量。除了计算能力之外,片外存储器和处理引擎之间的带宽约束常常是整个系统的瓶颈。与桌面实现不同,桌面实现包含一个庞大而昂贵的缓存内存层次结构,内存的随机访问对于嵌入式系统来说可能是昂贵的。因此,找到一个规则的数据流将极大地提高RAM访问的效率并促进管道的安排。

硬件上实现的Haar特性的数量主要决定了设计的硅区和最坏情况下的延迟。给定特定平台上可用的硬件资源,Haar特性的最大数目是有界的。原始的特征选择方法在是一个贪婪的方法中,寻找当前最好的Harr特性功能池,将它添加到分类器,然后测试如果检出率和假阳性的预定义的要求得到满足,如果不是最好继续寻找下一个Harr功能。为了改进Haar特征在分类器中的选择,我们在AdaBoost训练阶段引入了遗传算法优化方法。

在实际应用中,除了分类器的识别能力外,候选图像窗口的个数也对精度的检测起着重要的作用。在运行时检查的特性的数量是一个数据因变量。因此,为了满足硬件平台的逼近实时要求,复杂性控制方案是必不可少的。提出了一种利用图像窗口的时空相关性进行复杂度控制的方法,以在计算资源过载时跳过一些不太可能的图像窗口,提高检测率。

另外,为了降低硬件复杂度和满足实时性要求,我们对基于adaboost的算法进行了一些修改。接下来,我们将分别介绍AdaBoost训练阶段的GA优化方法,检测阶段的逼近实时控制方案,以及修改算法。

一般来说,人脸的外观可以看作是高维空间中的非线性流形,例如,在400维空间中有20times;20个像窗。在Viola-Jones的检测器中,每个具有阈值的Haar特征都可以看作是该空间中的一个超平面,因此,一个具有 Haar特征的分类器将该空间分割为2超细胞。一个阶段分类器描述一个包含人脸流形的超对象,下一个分类器进一步从这个超对象中分割出非人脸的超区域,以描述一个更精确的人脸流形近似。Haar特征库中的特征总数通常比较大,例如我们的训练中有43,844个特征,所以用特征来寻找最优分类器是一个比较困难的优化问题。遗传算法本质上是一个巨大解空间中的超平面采样过程,是解决这一复杂优化问题的自然选择。

我们利用遗传算法对贪婪算法得到的AdaBoost分类器进行了进一步的改进。对于具有特征的分类器,我们首先生成S“染色体”的初始种群,其中每个染色体都是具有 Haar特征的分类器。在本节中,我们将交替使用术语染色体和分类器。每个染色体的“适应度”的评价函数是训练集上的假阳率,因为这是我们要优化的变量。另一种选择是整个训练集上的预期误差。注意,如果检测率低于一个预先定义的值,这个“染色体”就失去了生存的机会,这就保证了与原始训练的检测率相似。在每条染色体上进行一定概率的变异和交叉操作后,适应度低于平均值的染色体被最好的染色体取代,其他的存活到下一代。在这个简单的遗传算法中,每一代中最好的染色体都具有优势种群,并且有更大的机会进一步进化成一个更好的分类器,具有更高的“适合度”。最后一代假阳率最低的作为最终分类器返回。一个染色体的突变和交叉操作定义为:

· 突变。在概率P= 0.1的情况下,分类器中的一个Haar特征被剩下的特征池中的最佳特征所代替。

· 交叉。在概率P= 0.5的情况下,分类器中有一半的Haar特征是与另一个随机选择的分类器交换的。

整个GA过程总结如下:

  • 初始化。在原始的AdaBoost训练中,初始的染色体集是由贪心方案产生的。
  • 一代进化。每代对每条染色体进行如下操作:
  • 突变和交叉。对每条染色体进行一定概率的变异和交叉操作。
  • 学习演算法。AdaBoost学习确定每个分类器的最佳阈值。
  • 染色体进化。评估每个染色体的适合度,并将适合度低于平均值的染色体替换为最佳染色体。
  • 最终的分类器的选择。从上一代染色体中选择最优分类器。

实验表明,随着遗传算法优化中代数的增加,假阳性率从降到。

一个探测器可能有数百甚至数千个特征。尽管,根据前两个阶段分类器,80-90%的候选图像窗口被跳过,但是在运行时为一帧评估的Haar特征数的可证明上限是非常高的。为了获得硬实时的成功,必须有复杂的控制机制来保证每一帧都能在指定的时间间隔内进行处理。

简单的解决方案是在给定的截止日期截断处理,不管要处理多少个图像窗口。然而,后一个候选窗口中的面可能会被忽略。我们的控制运行时复杂度的方案满足硬实时的最后期限,并且在时间预算很关键的情况下有很好的降低,代价是检测率可能降低5%左右。

给定时钟频率、期望的帧率、分类器管道的吞吐量和积分图像计算的开销,我们可以估计在一帧中可以评估多少个特征,记作F帧。对于特定的图像分辨率和比例因子,我们知道候选图像窗口的最大W帧数。复杂性控制的目标是在不能检查所有W帧窗口的情况下,最好地利用F帧。基本上,我们利用图像窗口的时空相关性进行预测,以指导分类器并跳过不太可能的窗口。这是基于一个观察,如果一个图像窗口在一定的尺度上通过了所有分类器的测试,很有可能相同的区域在较小的尺度上比平均通过了更多的阶段分类器。如图2所示,其中绘制了最右边的人像图像的候选图像窗口所通过的阶段分类器数量的空间分布。在图2左侧的3个图中,X-Y轴表示候选窗口在三个连续尺度上的空间位置,Z轴表示候选窗口通过的阶段分类器数量。我们可以观察到脸部的真实位置,即,左侧三个图的最高峰值,一个候选窗口通的分类器数量在不同尺度下的空间分布非常相似。另一个观察结果是,对于大多数视频序列,特别是肖像,帧与帧之间有很强的时间相关性。

对算法进行了一些修改和简化,以方便硬件实现。具体地,我们动态地缩放了积分图像;在AdaBoost分类器中,系数和阈值使用定点数代替浮点数;减少了哈尔特征池;并对光照条件校正的归一化因子进行了近似计算。

虽然[16]认为重新缩放帧比重新缩放功能更昂贵,但事实并非总是如此。对于嵌入式系统没有大的缓存,数据本地化的损失发生的较大re-scaled特性比包括re-scaling小块的成本,因为损失的位置意味着访问主存为每个使用积分图像数据,带宽以外的负担得起的一种低成本的设备。但是一个重新定标器是并行运行的,几乎不需要逻辑,带宽也不大。我们重新采样25 ,从25通道到20通道,并写回积分图像存储,如图4所示。因此,只有哈尔特征为20 ,需要存储和应用20个窗口,这大大减少了带宽,因为引入的数据被用于相邻窗口。比例因子1.25的另一个好处是只需要移位和添加操作。

该训练方案基于OpenCV库的实现,训练数据集使用了857张正面人脸和3000张负面图像。每个阶段分类器的最小检测率为0.997,最大误报率为0.5。训练20times;20个窗口的AdaBoost检测器包括15个阶段分类器。该测试集包括133张从短视频芯片和互联网上的图像中获得的直立正面脸。

我们将遗传算法的优化方法引入到AdaBoost训练中,并测试了不同染色体数和总代数的性能。图12比较了不同训练方案下AdaBoost分类器的假阳性率,即、原始贪心搜索方案和遗传算法优化方法。点线显示了使用[21]实现的原始贪婪搜索方法的分类器的假阳性率。在我们的方法中,实线表示在进行遗传算法优化之前每个阶段分类器的假阳性率。虚线显示了我们使用遗传算法优化的方法的假阳性率。图12中从左到右的三个图显示了遗传算法中第5代、第30代和第60代的性能,我们的方法一致降低了假阳性率。在级联AdaBoost分类器的第15级分类器中,假阳性率从到具有相同数量的Harr特征。利用不同代数、染色体数、所选特征数的假阳性率(FP)和检出率(DR)的详细定量结果如表1所示。这种改进随着遗传算法的代数的增加而不断增加,说明了该方法的有效性。

我们的方法是在使用贪心搜索方案获得AdaBoost分类器后,以额外的训练努力为代价来获得较低的假阳性率。AdaBoost分类器训练中计算开销最大的模块是在每次迭代中在特征池中选择最优的Haar特征,这涉及到测试整个训练数据集上每个特征的分类性能并找到阈值。因

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[235429],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。