基于andriod移动设备嵌入式机器视觉的人脸识别毕业设计(编辑修改稿)内容摘要:
个模型,再把得到的模板用于人脸检测。 对比于基于模板的方法,该方法是一种自下而上的方法。 现在许多人脸检测方法都是这种基于表象的方法。 在众多基于表象的方法中,一般都是采用统计分析等方法来自动的寻找相关的人脸信息。 把学习而来的特性总结成分布模型或者判别函数,再利用这些分布模型或者判别函数来对输入图像进行计算并进行人脸检测判断。 在进行样本学习时都是一些高维数据,所以为了降低计算的复杂度以及提高计算效率,则一般都是需要对高维特征数据进行降维,然后再进行计算。 大部分基于表象的人脸检测方法都可以使用概率的知识进行介绍与运用。 提取出的特征向量设为随机变量x,分类条件函数p(x|faces)和p(x|nonface)用于把随机变量x 判别为人脸或非人脸。 另一种基于表象的人脸检测方法使用了人脸和非人脸的判别函数:图像图案先被投射到低维或者高维空间,之后使用判别函数来进行分类。 人脸识别人脸识别就是选择合适的匹配策略,将待识别的人脸图像与数据库中已知人脸图像进行比较,得出待识别图像与样本图像的相似度。 这一过程的核心是设计一个分类器。 人脸识别包括人脸验证和人脸辨别。 人脸验证解决的是“是不是他”的二类问题,人脸辨别解决的是“他是谁”的多类问题。 目前,人脸识别的常用方法有: 基于几何特征的识别方法这种方法是基于人脸面部结构的几何关系的先验知识,提取人脸面部主要器官的几何特征,用一组几何特征向量来表示整个人脸。 识别过程就是特征向量之间相似性的匹配过程,采用比较多的是采用欧氏距离作为判决的准则。 这种方法比较简单,特征存储量比较小,但是从人脸图像提取稳定的个性化特征相对比较困难,而且特征受表情和姿态变化的影响很大。 基于特征脸的识别方法特征脸法是一种基于主成分分析的人脸识别方法。 这种方法用代数特征向量来表示人脸。 Sirovich和Kirby最先将 (KarhunenLoeve Transform)用于人脸图像的表示。 Turk和Pentland首先提出了“特征脸”方法。 该方法使用 KL 变换将图像从高维向量转换为低维向量,然后便形成一个低维的线性微量空间,人脸在这个空间的投影便是人脸的特征向量,可以用于识别。 而“特征脸”其实就是这个所有子空间的正交基。 在这种方法的基础上,学者们又提出了许多特征子空间方法,如Swets等人提出的线性判别法,Peng等人提出的双子空间法,Belhumeur等人提出的Fisherface方法[8]。 “特征脸”分析法又称为主分量分析法。 尽管特征脸算法是目前人脸识别技术的主流方法,但它对人脸图像的归一化要求较高,其性能易受到光照和姿态的影响,因此近几年来学者们提出了各种改进版本或扩展算法,如Yang等人提出了基于高阶统计的PCA方法;Pujol等人利用人脸样本拓扑关系提出了一种拓扑PCA方法;Takeshi等人[9]则将特征脸分解到两个正交的特征空间中以实现在不同的光照条件下鲁棒性识别;张辉等人[10]采用对称主元分析神经网络,用去冗余和权值正交相结合的方法对人脸进行特征提取和识别;彭辉等人[11]也提出了特征脸的进一步改进方法,采用类间散布矩阵作为产生矩阵,以降低运算量。 Brennan等人[12]的算法则组合了多精度、PCA方法。 基于神经网络的方法神经网络人脸识别方法的研究近几年来比较活跃。 神经网络可以用于人脸特征提取,也可以用来设计分类器。 其中自适应主分量网络算法是比较成熟的人脸特征提取算法。 径向基函数(RBF)神经网络具有逼近性好和训练速度快等特点,在人脸识别方面发挥重要作用。 神经网络还和一些传统的识别方法相结合使用,提高人脸识别系统的准确性和鲁棒性。 神经网络在非线性特征提取和分类方面具有良好的分类效果。 但是所需要的神经元数量巨大,网络结构复杂。 性能也有可能随着样本的急剧增加而迅速下降。 基于支持向量机的方法支持向量机(SVM)是基于统计学习理论的学习方法。 它通过构造最优超平面,使得对未知样本分类具有最优的推广能力。 SVM在解决小样本、非线性及高维模式识别问题中表现出许多特有的优势。 支持向量机已经成为近年来的研究热点。 Lee提出了用遗传算法提取人脸面部特征[13],用支持向量机对人脸特征进行分类;Guo等提出用特征脸法提取人脸特征,然后再用支持向量机对人脸特征进行分类;支持向量机具有许多优势,但快速学习算法是其要进一步解决的问题。 本文采用支持向量机LBP直方图匹配实现人脸识别系统,在后面将会详细介绍[14]。 本章小结本章主要介绍了多种人脸检测和匹配的方法,并对比了这些方法的优缺点, 在Android系统中主要采用了基于知识的人脸检测方法。 本文采用AdaBoost的人脸检测方法和通过LBP直方图匹配的人脸识别方法。 第三章 AdaBoost算法和直方图匹配原理在基于计算机视觉的目标检测中,主要都是基于以下过程图[15]。 目标检测过程图在上面的过程中,特征提取和分类器是整个检测过程的核心部分。 图像采集一般都是用图像感官器件获取原始图片信息。 预处理为了进行特征提取而做的准备,其主要工作是把获取到的图片信息进行整理并归一化。 本文主要目的是在图像上检索人脸信息,所以首先要考虑的是提取什么样的特征。 接着需要考虑使用何种分类算法来将特征分开并训练分类器。 本章就是按照这个顺序,介绍所使用的特征提取方法,接着介绍所使用的分类器。 特征与特征值计算特征选取和特征计算对于AdaBoost 人脸检测训练算法是非常重要的,这两个方面决定了AdaBoost算法的运行速度。 本文主要使用的是Haar特征,用于进行特征提取,并采用积分图来计算特征值。 由于采用了积分图,在进行计算时,能够在常量时间范围内计算出每一个特征值,这大大的提高了人脸检测速度。 矩形特征在给定有限的数据情况下,基于特征的检测能够对特定区域的状态进行编码。 矩形特征的定义是对输入图像使用矩形进行提取特征。 对于一幅图片,所提取的矩形特征数量是巨大的,所以需要通过一定算法对所获取的矩形特征进行提取,然后通过相应的算法组合成强分类器,最终用于人脸检测。 矩形特征值定义为两个不同的矩形区域像素和之差。 本系统主要使用的3种类型分别为2矩形特征、3矩形特征、4矩形特征,其分别对应如下的A、B、C、D各图。 矩形特征模板根据矩形特征值的定义, 中的A,B和D这三个特征模板的特征值计算公式为:v=Sum白Sum黑 ()而对于C 图来说,计算公式如下:v=Sum 白2Sum 黑 ()在()中,将黑色区域像素和乘以2,主要是为了使两种矩形区域中像素数目一致。 在进行特征提取时,可以通过改变特征模板的大小与所处的位置,就可以获得很多的特征值。 单个矩形特征的计算是非常简单与快速的[16]。 但是在具体的使用过程中,需要各类原型特征模板以多种尺度在图像区域内的各个位置进行计算,从而导致了特征数量的总量相当大,这也带来了非常大的计算量。 假设W,H 分别为图像窗口的宽度和高度,X=[W/w],Y=[H/h],那么对于矩形特征原型,其特征数量的计算如下:N=X Y(W+1wx12)(H+1hY+12) ()在人脸检测过程中,一个2424的图像窗口内的特征总数达到110000多个。 如果每次都进行特征提取,都得重新计算,那么将导致后续检测的速度很慢。 于是Viola 等人提出了积分图的概念,加快了特征值的计算速度。 积分图通常训练样本有近万个,随之而来的是获取到的矩形特征的数量非常庞大,于是Viola 等人基础了积分图像的概念[17],加快了矩形特征的计算速度。 通过计算得到所研究的积分图像后,每个位置的矩形特征都能够固定的时间内计算得到。 积分图的定义为:某个像素点的积分图为图像原点到该点的矩形区域内的所有像素值之和。 在计算积分图时,所使用的像素值为图像点的灰度值,如果图像为彩色图像,则需要对彩色图像进行灰度转换。 垂直矩形的积分图像矩形的积分图像的公式定义如下:其中I(x39。 ,y39。 )为图像在点(x39。 ,y39。 )处的灰度值。 图像I 的积分图可使用递推公式计算:sx,y=sx,y1+ix,ycx,y=cx1,y+sx,y ()其中s(x,y)表示为列积分,其意义表示的是图像点(x,y)及其在y 方向上所有图像点的灰度值之和。 可以定义为:sx,y=y39。 ≤yix,y39。 ()在使用积分图的表示方法下,特征值的计算只和图像端点相关。 所以不管特征矩阵的位置如何,计算特征值的时间复杂度都是O(1)。 只要遍历图像一,就可以求得所有图像子窗口的特征值。 其中在这些假定下,有两种运算:(1) 计算任意矩形的积分图像 积分图计算 所示,像素点1 的积分图像c1 的值为矩形图像区域内的所有像数灰度值之和。 由于像数点1 矩形区域的一个顶点在原点,则像素点1 的积分图为:C1=sum(A),其中sum 表示区域内中的所有像素的灰度值和。 与像素点1 的积分相同,像素点像素点像素点4 的积分图像分别为:c2=sum(A)+Sum(B); ()c3=sum(A)+sum(C); ()c4=sum(A)+sum(B)+sum(C)+sum(D); ()从而,通过以上几个等式恒定变换可以得到区域D 的积分图即:sum(D)=c1+c4(c2+c3) ()由公式()可知矩形区域D 内的所有像素点灰度值之和(即矩形特征值)可以通过矩形区域的各个顶点的积分表示出来。 (2)特征值计算根据定义,矩形特征的特征值是两个不同的矩形区域像素和之差,由公式()可以计算任意矩形特征的特征值,下面以特征模型B 为例说明特征值的计算。 所示,根据特征值的计算公式可得,特征模型B 的特征值为:sum(A)sum(B)根据公式()有以下等式:sum(A)=c4+c1(c2+c3) ()sum(B)=c6+c3(c4+c5) ()然后把这两个等式带入到公式sum(A)sum(B),可以得到特征原型B 的特征值为:(c4c3)(c2c1)+(c4c3)(c6c5)。 可以得出结论为:该原型特征值的计算只和原型特征值的各个端点的积分图有关。 实际上,通过计算所有原型的特征值,也能得到这个结论。 综上使用图像积分图能够快速的计算出所给定的矩形区域内的所有像素点灰度值之和,也能够快速的计算出给定的特征矩形的特征值。 在计算矩形特征矩形图时,可以遍历整个图像区域,计算出每个像素点的积分图,并保存,然后使用保存的像素点积分图可以在常数的时间内计算出特征矩阵的特征值,这样能够非常节省计算开销。 矩形特征值计算 AdaBoost 分类器目前在实际中应用的人脸检测方法多为基于AdaBoost 学习算法的方法。 该方法在检测人脸时实时性比较强,检测率也比较高。 本文主要采用AdaBoost算法在Android 系统上实现人脸检测。 AdaBoost 算法是计算学习领域算法。 所以首先介绍下机器学习领域的主要模型。 PAC 学习模型可学习理论主要分为计算学习理论以及统计学习理论[18]。 计算学习理论是概率理论中发展比较成熟的一个重要分支。 Valiant 于1984 年首先提出来的PAC(ProbablyApproximatelyCorrect)模型是计算学习理论中比较常用的模型,该模型的出现发展了计算学习理论[19]。 在PAC 学习模型中,Valiant 提出了经典的弱学习和强学习这两个概念,这两个模型主要用于分类学习。 PAC 模型的数学描述如下:定义X 为样本空间,该样本空间是用于训练学习的样本集合;定义C 为概念空间,该概念空间是可用于选定的目标概念;定义V 为分类集合,该分类集合的值为目标概念的所有分类;定义H 为假设空间,该空间包含了所有输出假设Hm(T,x);定义自动学习器L,该自动学习器L 的最终目的是找到一个假设H,使的该假设H 能够对样本空间X 中的每一个样本进行分类。 其方法是,首先是按照选取的一个固定概率分布率p(x)在样本空间X 独立的进行样本抽取,分别抽取样本xl,…,xm,自动学习器L 返回hT(xt)的值。 其中hT(xt) 定义为T 在分类集合V 上的指示函数,其结果表示L 对xt 作出的分类。 可以获得一些数据:[(x, hT(x1)),…,(xl, hT(x1))]∈[xy]在实际的应用中,人们总希望找到一个适用于所有样本的假设,但是实际情况是不可能的。 所以需要预设一个阈值用来指示是否可行。 在实际使用时,设置一个假设错误率ε,如果随机样本被错误分类的概率小于该错误率ε,则可以认为该假设是成功的。 弱学习与强学习机器学习领域中的一个主要问题是如何能够在众多的观测数据中得到一个非常精确的假设。 其目标是对输入样本做出一个非常准确的判断[20]。 根据概率论的相关知识,对于一个0 或1 的问题做随机判断时,将会有50%的几率做出1 的判断。 相似的,对于一个是非问题做随机性判断,将会得到50%的正确性判断。 一个弱学习算法定义为一个有比随机猜测高的正确率的假设,而得到这个算法的过程称为弱学习。 相似的,如果某一个假设能够显著的提高猜对的正确率,那么该假设即为一个强算法,而得到这个算法的过程称为强学习。 在实际应用中,一个弱学习算法是很容易得到的,而要获得一个强学习算法则比较困难。 Kearns 提出了弱学习算法与强学习算法之间的等价问题——是否能把弱学习算法转化为强学习算法。 Keams 和Valiant证明[21]:在有充分足够的数据的情况下,通过集成弱学习算法,能够得到任意精度的假设,最终可以生成一个强学习算法。 AdaBoost 算法AdaBoost 算法是由Freund 和Schapire在1995年提出来的[22]。 AdaBoost全称为Ada。基于andriod移动设备嵌入式机器视觉的人脸识别毕业设计(编辑修改稿)
相关推荐
“播放 URI 地址” (Note:URI 即是统一资源识别地址 )模式 — 在网络上直接播放的流媒体。 另外支持 6 各种通用的静态图像格式,如 JPG、 PNG、 GIF 等格式。 GSM 技术 : Global System for Mobile Communications,即全球移动通讯系统,俗称 “ 全球通”,是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术
.............................................................................. 28 测试目 的 ...................................................................................................... 28 测试环境
以在你的应用程序中实现 Broadcast Receiver 来监听和响应这些广播的 Intent ( 4) ContentProvider 简介 Content Provider 用来保存和检索数据,并且使应用程序之间相互访问数据成为可能。 它是跨应用程序共享数据的唯一方法。 Android 为常用的数据类型(如:音视频、图片和联系方式等)提供了大量的 Content Provider。
程就是一个直流仿真的过程,因此模板中的仿真控制器为直流仿真控制器,而扫描的变量是 BJT的 CE 极电压 VCE 和 B极电流 IBB。 图 33 ( 4)单击工具栏中的 Display Component Library List,打开 元件库 ,图 34。 图 34 (5)在 Component 上栏的 Serch 中 ,输入 41511。 (6)回车查找结束后可以看到这种晶体管的不同模型
s= Ohm, Lg= nH,其余的: Ld, Ls, Cpd, Cpg,和 Cpdg 的值都为零。 和偏置相关的本征元件的计算方法如下: gm=Re(Y21) () Gd=Re(Y21) () Cgd=Im(Y12) () Cgs=Im(Y11+Y12)D/ω () Cds= Im(Y11+Y12)/ω () Ri=Re(Y11)D/(ω 178。 Cgs178。 ) () τ
ll (27) 反射系数 放射系数是端口输入电压与输出电压的比值, 表达公式为: = uu (28) 当Γ s = Γ opt 时,放大器的噪声系数最小, NF=NFmin ,但此时从功率传输的角度来看,输入端是失配的,所以放大器的功率增益会降低,但有些 时候为了获得最小噪声,适当的牺牲一些增益也低噪声放大器设计中经常采用的一种 办法。 放大器的动态范围( IIP3)