1.3.5 基于人工神经网络的人脸检测
人工神经网络算法是训练一个网络结构,该神经网络的结构、参数里包含了模式的统计特性。该方法被广泛地运用。目前得到广泛应用的该类方法包括Boltzmann机(1985年提出)、多层反馈神经网络(BP算法,1986年提出)和径向基网络(RBF网络方法,1988年提出)。人工神经网络算法的一个缺点是对于训练样本数量要求比较高,否则识别效果比较差。
1.4 人脸检测中存在的难点
人脸检测存在很多不确定性因素,影响了人脸检测的检出率,并存在误检几率。人脸检测当中存在的难点主要有以下几点:
(1)个体差异性。人脸有很多细节,不同的人面部细节不同。比如不同的人种肤色不同,不同人的发型不同,眼睛睁开和闭合等个体差异。
(2)人脸的遮挡:实际运用中,眼镜、头发以及各种小饰品会对人脸造成遮挡。同时外部环境如树阴、路标等等也会对人脸造成一定的遮挡。
(3)人脸角度:实际当中拍摄到的人脸有一定程度的倾斜,侧面或是旋转的人脸和正面人脸的特征有所不同。
(4)背景:一些背景与人脸的肤色、形状相似,难以分辨,造成了一定程度的误检。
(5)成像条件:光照条件、成像设备等的影响。
目前,随着科技日益发展,用户对识别的速度[4][10]和精度有了越来越高的要求,这就要求人脸检测系统能够在相当短的时间之内迅速进行大量的数据运算。如今虽然进行人脸检测研究的机构和和人比较多,但是其中大部分是基于PC端,用Window、Linux、Unix等平台进行实现。这种实现方式存在系统过于庞大、便捷性低、性价比低等缺点,而嵌入式人脸检测系统内核小、指令精简、专用性能强,并且成本低、具有很好的便携性。由此,对嵌入式人脸检测的研究迫在眉睫。
1.5 本文的主要内容和章节安排
本文分析了作为理论基础的AdaBoost算法和该算法在OpenCV的实现。作了针对性的设计,实现了基于DSP的、适用于嵌入式系统的人脸检测系统。
第一章通过查阅大量有关于人脸检测的国内外文献,归纳总结了人脸检测的发展和现状,介绍了现有成熟算法以及其面临的困难。
第二章分析了本文理论基础AdaBoost算法的内容和工作原理。
第三章简单介绍了OpenCV,着重阐述了利用OpenCV自带的.exe文件进行分类器样本训练的方法,实现了人脸检测所需的特征提取。
第四章主要展示了本次实验当中实现人脸检测所使用的硬件电路的设计。
第五章完成了整个系统的实现,包括CCS3.3软件的模拟,.bin文件的生成,以及文件在嵌入式系统端口的写入,展示了整个嵌入式系统实现的流程以及成果。