首页

> 期刊论文知识库

首页 期刊论文知识库 问题

人脸特征点检测代码与论文

发布时间:

人脸特征点检测代码与论文

很多人都认为人脸识别是一项非常难以实现的工作,看到名字就害怕,然后心怀忐忑到网上一搜,看到网上N页的教程立马就放弃了。这些人里包括曾经的我自己。其实如果如果你不是非要深究其中的原理,只是要实现这一工作的话,人脸识别也没那么难。今天我们就来看看如何在40行代码以内简单地实现人脸识别。一点区分对于大部分人来说,区分人脸检测和人脸识别完全不是问题。但是网上有很多教程有无无意地把人脸检测说成是人脸识别,误导群众,造成一些人认为二者是相同的。其实,人脸检测解决的问题是确定一张图上有木有人脸,而人脸识别解决的问题是这个脸是谁的。可以说人脸检测是是人识别的前期工作。今天我们要做的是人脸识别。所用工具Anaconda 2——Python 2Dlibscikit-imageDlib对于今天要用到的主要工具,还是有必要多说几句的。Dlib是基于现代C++的一个跨平台通用的框架,作者非常勤奋,一直在保持更新。Dlib内容涵盖机器学习、图像处理、数值算法、数据压缩等等,涉猎甚广。更重要的是,Dlib的文档非常完善,例子非常丰富。就像很多库一样,Dlib也提供了Python的接口,安装非常简单,用pip只需要一句即可:pip install dlib上面需要用到的scikit-image同样只是需要这么一句:pip install scikit-image注:如果用pip install dlib安装失败的话,那安装起来就比较麻烦了。错误提示很详细,按照错误提示一步步走就行了。人脸识别之所以用Dlib来实现人脸识别,是因为它已经替我们做好了绝大部分的工作,我们只需要去调用就行了。Dlib里面有人脸检测器,有训练好的人脸关键点检测器,也有训练好的人脸识别模型。今天我们主要目的是实现,而不是深究原理。感兴趣的同学可以到官网查看源码以及实现的参考文献。今天的例子既然代码不超过40行,其实是没啥难度的。有难度的东西都在源码和论文里。首先先通过文件树看一下今天需要用到的东西:准备了六个候选人的图片放在candidate-faces文件夹中,然后需要识别的人脸图片。我们的工作就是要检测到中的人脸,然后判断她到底是候选人中的谁。另外的是我们的python脚本。shape_predi

姓名:张钰  学号:21011210154  学院:通信工程学院 【嵌牛导读】Frequency-aware Discriminative Feature Learning Supervised by Single-Center Loss for Face Forgery Detection论文阅读笔记 【嵌牛鼻子】Deepfake人脸检测方法,基于单中心损失监督的频率感知鉴别特征学习框架FDFL,将度量学习和自适应频率特征学习应用于人脸伪造检测,实现SOTA性能 【嵌牛提问】本文对于伪造人脸检测的优势在哪里体现 【嵌牛正文】 转自:

现在的人脸识别技术已经得到了非常广泛的应用,支付领域、身份验证、美颜相机里都有它的应用。用iPhone的同学们应该对下面的功能比较熟悉iPhone的照片中有一个“人物”的功能,能够将照片里的人脸识别出来并分类,背后的原理也是人脸识别技术。这篇文章主要介绍怎样用Python实现人脸检测。人脸检测是人脸识别的基础。人脸检测的目的是识别出照片里的人脸并定位面部特征点,人脸识别是在人脸检测的基础上进一步告诉你这个人是谁。好了,介绍就到这里。接下来,开始准备我们的环境。准备工作本文的人脸检测基于dlib,dlib依赖Boost和cmake,所以首先需要安装这些包,以Ubuntu为例:$ sudo apt-get install build-essential cmake$ sudo apt-get install libgtk-3-dev$ sudo apt-get install libboost-all-dev我们的程序中还用到numpy,opencv,所以也需要安装这些库:$ pip install numpy$ pip install scipy$ pip install opencv-python$ pip install dlib人脸检测基于事先训练好的模型数据,从这里可以下到模型数据下载到本地路径后解压,记下解压后的文件路径,程序中会用到。dlib的人脸特征点上面下载的模型数据是用来估计人脸上68个特征点(x, y)的坐标位置,这68个坐标点的位置如下图所示:我们的程序将包含两个步骤:第一步,在照片中检测人脸的区域第二部,在检测到的人脸区域中,进一步检测器官(眼睛、鼻子、嘴巴、下巴、眉毛)人脸检测代码我们先来定义几个工具函数:def rect_to_bb(rect): x = () y = () w = () - x h = () - y return (x, y, w, h)这个函数里的rect是dlib脸部区域检测的输出。这里将rect转换成一个序列,序列的内容是矩形区域的边界信息。def shape_to_np(shape, dtype="int"): coords = ((68, 2), dtype=dtype) for i in range(0, 68): coords[i] = ((i).x, (i).y) return coords这个函数里的shape是dlib脸部特征检测的输出,一个shape里包含了前面说到的脸部特征的68个点。这个函数将shape转换成Numpy array,为方便后续处理。def resize(image, width=1200): r = width * / [1] dim = (width, int([0] * r)) resized = (image, dim, interpolation=) return resized这个函数里的image就是我们要检测的图片。在人脸检测程序的最后,我们会显示检测的结果图片来验证,这里做resize是为了避免图片过大,超出屏幕范围。接下来,开始我们的主程序部分import sysimport numpy as npimport dlibimport cv2if len() < 2: print "Usage: %s " % [0] (1)image_file = [1]detector = ()predictor = ("")

一般来说,人脸识别系统包括图像摄取、人脸定位、图像预处理、以及人脸识别(身份确认或者身份查找)。系统输入一般是一张或者一系列含有未确定身份的人脸图像,以及人脸数据库中的若干已知身份的人脸图象或者相应的编码,而其输出则是一系列相似度得分,表明待识别的人脸的身份。人脸识别算法分类基于人脸特征点的识别算法(Feature-based recognition algorithms)。基于整幅人脸图像的识别算法(Appearance-based recognition algorithms)。基于模板的识别算法(Template-based recognition algorithms)。利用神经网络进行识别的算法(Recognition algorithms using neural network)。基于光照估计模型理论提出了基于Gamma灰度矫正的光照预处理方法,并且在光照估计模型的基础上,进行相应的光照补偿和光照平衡策略。优化的形变统计校正理论基于统计形变的校正理论,优化人脸姿态;强化迭代理论强化迭代理论是对DLFA人脸检测算法的有效扩展;独创的实时特征识别理论该理论侧重于人脸实时数据的中间值处理,从而可以在识别速率和识别效能之间,达到最佳的匹配效果

人脸特征点检测论文

在理论研究的同时,我们采用Visual 以及OpenGL图形包设计实现了系统平台FaccRecopution,该系统能标定三维人脸的标志点、提取侧轮廓线,从而实现人脸识别,系统应用本论文中提到的算法进行的识别,试验结果验证了算法的可行性。

摘 要 人体识别是计算机视觉领域的一大类热点问题,其研究内容涵盖了人体的监测与跟踪、手势识别、动作识别、人脸识别、性别识别和行为与事件识别等,有着非常广泛的应用价值。随机森林以它自身固有的特点和优良的分类效果在众多的机器学习算法中脱颖而出。随机森林算法的实质是一种树预测器的组合,其中每一棵树都依赖于一个随机向量,森林中的所有的向量都是独立同分布的。本文简单介绍了随机森林的原理,并对近几年来随机森林在姿势识别和人脸识别中的应用进行讨论。 1.人体识别概述 人体识别是计算机视觉领域的一大类热点问题,其研究内容涵盖了人体的监测与跟踪、手势识别、动作识别、人脸识别、性别识别和行为与事件识别等。其研究方法几乎囊括了所有的模式识别问题的理论与技术,例如统计理论,变换理论,上下文相关性,分类与聚类,机器学习,模板匹配,滤波等。人体识别有着非常广泛的应用价值。 绝大多数人脸识别算法和人脸表情分析算法在提取人脸特征之前,需要根据人脸关键点的位置(如眼角,嘴角)进行人脸的几何归一化处理。即使在已知人脸粗略位置的情况下,人脸关键点精确定位仍然是一个很困难的问题,这主要由外界干扰和人脸本身的形变造成。 当前比较流行的算法有:基于启发式规则的方法、主成分分析(PCA)、独立元分析(ICA)、基于K-L 变换、弹性图匹配等。 2.随机森林综述 随机森林顾名思义,使用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的死后,就让森林的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(对于分类算法),然后看看哪一类能被选择最多,就预测这个样本为那一类。 随机森林是一种统计学习理论,其随机有两个方面:首先是在训练的每一轮中,都是对原始样本集有放回的抽取固定数目的样本点,形成k个互不相同的样本集。第二点是:对于每一个决策树的建立是从总的属性中随机抽取一定量的属性作分裂属性集,这样对于k个树分类器均是不相同的。由随机生成的k个决策树组成了随机森林。 对于每一个决策树来讲,其分裂属性是不断的选取具有最大信息增益的属性进行排列。整个随机森林建立后,最终的分类标准采用投票机制得到可能性最高的结果。 下图是随机森林构建的过程: 图1 随机森林构建过程 3.随机森林在人体识别中的应用 随机森林应用于姿势识别 以[1]一文来讨论,论文中所涉及到的人体识别过程主要分为两步,首先是,身体部位标记:对于从单张景深图像中对人体进行分段,并标记出关键节点。之后进行身体关节定位,将标记的各个人体部分重新映射到三维空间中,对关键节点形成高可靠的空间定位。 图2 深度图像-身体部位标记-关节投影 文的最主要贡献在于将姿势识别的问题转化成了物体识别的问题,通过对身体不同部位的空间位置的确定来实现,做到了低计算消耗和高精确度。在身体部位标记的过程中,将问题转化成了对每个像素的分类问题,对于每个像素点,从景深的角度来确定该点的局域梯度特征。该特征是点特征与梯度特征的良好结合。 举个例子,对于不同点的相同属性值的判别,如下图,图a中的两个测量点的像素偏移间均具有较大的景深差,而图b中的景深差则明显很小。由此看出,不同位置像素点的特征值是有明显差别的,这就是分类的基础。 图3 景深图像特质示例 文中对于决策树的分裂属性的选择来说。由于某两个像素点、某些图像特征选取的随意性,将形成大量的备选划分形式,选择对于所有抽样像素对于不同的分裂属性划分前后的信息熵增益进行比较,选取最大的一组ψ=(θ, τ)作为当前分裂节点。(信息增益与该图像块最终是否正确地分类相关,即图像块归属于正确的关键特征点区域的概率。) 图4 决策时分类说明 决策树的建立后,某个叶子节点归属于特定关键特征点区域的概率可以根据训练图像最终分类的情况统计得到,这就是随机森林在实际检测特征点时的最重要依据。 在人体关节分类中,我们由形成的决策森林,来对每一个像素点的具体关节属性进行判断,并进行颜色分类。随机森林这种基于大量样本统计的方法能够对由于光照、变性等造成的影响,实时地解决关键特征点定位的问题。 如图所示,是对于景深图像处理后的结果展示。 图5 姿势识别处理结果 应该这样说,这篇文章在算法的层面对随机森林没有太大的贡献。在划分函数的形式上很简单。这个团队值得称道的地方是通过计算机图形学造出了大量的不同体型不同姿势的各种人体图像,用作训练数据,这也是成为2011年CVPR Best Paper的重要原因。正是因为论文的成果运用于Kinect,在工业界有着巨大的作用,落实到了商用的硬件平台上,推动了随机森林在计算机视觉、多媒体处理上的热潮。 随机森林应用于人脸识别 基于回归森林的脸部特征检测通过分析脸部图像块来定位人脸的关键特征点,在此基础上条件回归森林方法考虑了全局的脸部性质。对于[2]进行分析,这篇论文是2012年CVPR上的论文,本文考虑的是脸部朝向作为全局性质。其主要描述的问题是如何利用条件随机森林,来确定面部10个关键特征点的位置。与之前不同的是,在随机森林的基础上,加入了面部朝向的条件约束。 图6 脸部10个特征点 对于面部特征标记的问题转化成了对大量图像块的分类问题。类似于人体识别中的局域梯度特征识别。本文中,对于每一个图像块来说,从灰度值、光照补偿、相位变换等图像特征,以及该图像块中心与各个特征点的距离来判断图像块的位置特征。在决策树的分裂属性确定过程,依然使用“最大信息熵增益”原则。 图7 条件随机森林算法说明 文中提出了更进一步基于条件随机森林的分类方法,即通过设定脸部朝向的约束对决策树分类,在特征检测阶段能够根据脸部朝向选择与之相关的决策树进行回归,提高准确率和降低消耗。此论文还对条件随机森林,即如何通过脸部朝向对决策进行分类进行了说明,但这与随机森林算法没有太大关系,这里就不再继续讨论了。随机森林这种基于大量样本统计的方法能够对由于光照、变性等造成的影响,实时地解决关键特征点定位的问题。 另一篇文章[3]对于脸部特征标记,提出了精确度更高、成本更低的方法。即,基于结构化输出的随机森林的特征标记方式。文中将面部划分为20个特征点,对于各个特征点来说,不仅有独立的图像块分类标记,还加入了例如,点4,对于其他嘴唇特征点3,18,19的依赖关系的判断。这样的方法使特征点标记准确率大大增加。 该方法依然是使用随机森林的方法,有所不同的是引入了如式中所示的与依赖节点之间的关系。对于决策树的建立依然是依赖信息熵增益原则来决定,叶子节点不仅能得到特征的独立划分还会得到该特征对依赖特征的贡献,最终特征节点的判断会综合原始投票及空间约束。 图8 脸部特征标记 图9 决策树依赖关系 例如当对下图中人脸特征点进行分类时,使用简单的随机森林方法,经过判断会将各个点进行标注,可以看到 红色的点,标注出的鼻子特征。如果利用依赖节点进行判断,鼻子的点会被局限在其他鼻子特征点的周围,进行叠加后,得到了这个结果。显然,对于此节点的判断,利用结构输出的方式,准确度更高了。 图10 结构化输出结果 4.随机森林总结 大量的理论和实证研究都证明了RF具有很高的预测准确率,对异常值和噪声具有很好的容忍度,且不容易出现过拟合。可以说,RF是一种自然的非线性建模工具,是目前数据挖掘算法最热门的前沿研究领域之一。具体来说,它有以下优点: 1.通过对许多分类器进行组合,它可以产生高准确度的分类器; 2.它可以处理大量的输入变量; 3.它可以在决定类别时,评估变量的重要性; 4.在建造森林时,它可以在内部对于一般化后的误差产生不偏差的估计; 5.它包含一个好方法可以估计遗失的资料,并且,如果有很大一部分的资料遗失,仍可以维持准确度。 6.它提供一个实验方法,可以去侦测变量之间的相互作用; 7.学习过程是很快速的; 8.对异常值和噪声具有很好的容忍度,且不容易出现过拟合; 随机森林的缺点: 1.对于有不同级别的属性的数据,级别划分较多的属性会对随机森林产生更大的影响,所以随机森林在这种数据上产出的属性权值是不可信的; 2.单棵决策树的预测效果很差:由于随机选择属性,使得单棵决策树的预测效果很差。 参考文献: [1] Shotton, J.; Fitzgibbon, A.; Cook, M.; Sharp, T.; Finocchio, M.; Moore, R.; Kipman, A.; Blake, A., “Real-time human pose recognition in parts from single depth images,”Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on , vol., no., , 20-25 June 2011 [2] Dantone M, Gall J, Fanelli G, et al. Real-time facial feature detection using conditional regression forests[C]//Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference on. IEEE, 2012: 2578-2585. [3] Heng Yang, Ioannis Patras, “Face Parts Localization Using Structured-output Regression Forests”, ACCV2012, Dajeon, Korea. 本文转自:,仅供学习交流

基于特征脸人脸识别毕业论文

计算机软件毕业论文的题目都好写啊

人脸识别是一个被广泛研究着的热门问题,大量的研究论文层出不穷,晓电晓受晓受晓晓晓多晓电晓米晓受晓联晓受晓零晓电晓受晓米晓多晓晓e少量惠量量e米惠d量晓晓受晓晓晓晓米晓晓多晓少米受在一定程度上有泛滥成“灾”之嫌。为了更好地对人脸识别研究的历史和现状进行介绍,本文将AFR的研究历史按照研究内容、技术芳珐等方面的特点大体划分为三个时间阶段,如表受所示。该表格概括了人脸识别研究的发展简史及其每个历史阶段代表性的研究工作及其技术特点。下面对三个阶段的研究进展情况作简单介绍: 第一阶段(受惠米联年~受惠惠零年) 这一阶段人脸识别通常只是作为一个一般性的模式识别问题来研究,所采用的主要技术方案是基于人脸几何结构特征(Geometricfeature based)的芳珐。这集中体现在人们对于剪影(Profile)的研究上,人们对面部剪影曲线的结构特征提取与分析方面进行了大量研究。人工神经网络也一度曾经被研究人员用于人脸识别问题中。较早从事AFR研究的研究人员除了布莱索(Bledsoe)外还有戈登斯泰因(Goldstein)、哈蒙(Harmon)以及金出武雄(Kanade Takeo)等。金出武雄于受惠少晓年在京都大学完成了第一篇AFR方面的博士论文,直到现在,作为卡内基-梅隆大学(CMU)机器人研究院的一名教授,仍然是人脸识别领域的活跃人物之一。他所在的研究组也是人脸识别领域的一支重要力量。总体而言,这一阶段是人脸识别研究的初级阶段,非常重要的成果不是很多,也基本没有获得实际应用。 第二阶段(受惠惠受年~受惠惠少年) 这一阶段尽管时间相对短暂,但却是人脸识别研究的高潮期,可谓硕果累累:不但诞生了若干代表性的人脸识别算法,美国军方还组织了著名的FERET人脸识别算法测试,并出现了若干伤业化运作的人脸识别系统,比如最为著名的Visionics(现为Identix)的FaceIt系统。 美国麻省理工学院(MIT)媒体实验室的特克(Turk)和潘特兰德(Pentland)提出的“特征脸”芳珐无疑是这一时期内最负盛名的人脸识别芳珐。其后的很多人脸识别技术都或多或少与特征脸有关系,现在特征脸已经与归一化的协相关量(NormalizedCorrelation)芳珐一道成为人脸识别的性能测试基准算法。 这一时期的另一个重要工作是麻省理工学院人工智能实验室的布鲁内里(Brunelli)和波基奥(Poggio)于受惠惠电年左右做的一个对比实验,他们对比了基于结构特征的芳珐与基于模板匹配的芳珐的识别性能,并给出了一个比较确定的结论:模板匹配的芳珐优于基于特征的芳珐。这一导向性的结论与特征脸共同作用,基本中止了纯粹的基于结构特征的人脸识别芳珐研究,并在很大程度上促进了基于表观(Appearance-based)的线性子空间建模和基于统计模式识别技术的人脸识别芳珐的发展,使其逐渐成为主流的人脸识别技术。 贝尔胡米尔(Belhumeur)等提出的Fisherface人脸识别芳珐是这一时期的另一重要成果。该芳珐首先采用主成分分析(PrincipalComponent Analysis,PCA,亦即特征脸)对图像表观特征进行降维。在此基础上,采用线性判别分析(LinearDiscriminant Analysis, LDA)的芳珐变换降维后的主成分以期获得“尽量大的类间散度和尽量小的类内散度”。该芳珐目前仍然是主流的人脸识别芳珐之一,产生了很多不同的变种,比如零空间法、子空间判别模型、增强判别模型、直接的LDA判别芳珐以及近期的一些基于核学习的改进策略。 麻省理工学院的马哈丹(Moghaddam)则在特征脸的基础上,提出了基于双子空间进行贝叶斯概率估计的人脸识别芳珐。该芳珐通过“作差法”,将两幅人脸图像对的相似度计算问题转换为一个两类(类内差和类间差)分类问题,类内差和类间差数据都要首先通过主成分分析(PCA)技术进行降维,计算两个类别的类条件概率密度,最后通过贝叶斯决策(最大似然或者最大后验概率)的芳珐来进行人脸识别。 人脸识别中的另一种重要芳珐——弹性图匹配技术(Elastic GraphMatching,EGM) 也是在这一阶段提出的。其基本思想是用一个属性图来描述人脸:属性图的顶点代表面部关键特征点,其属性为相应特征点处的多分辨率、多方向局部特征——Gabor变换【受电】特征,称为Jet;边的属性则为不同特征点之间的几何关系。对任意输入人脸图像,弹性图匹配通过一种优化馊索策略来定位预先定义的若干面部关键特征点,同时提取它们的Jet特征,得到输入图像的属性图。最后通过计算其与已知人脸属性图的相似度来完成识别过程。该芳珐的优点是既保留了面部的全局结构特征,也对人脸的关键局部特征进行了建模。近来还出现了一些对该芳珐的扩展。 局部特征分析技术是由洛克菲勒大学(RockefellerUniversity)的艾提克(Atick)等人提出的。LFA在本质上是一种基于统计的低维对象描述芳珐,与只能提取全局特征而且不能保留局部拓扑结构的PCA相比,LFA在全局PCA描述的基础上提取的特征是局部的,并能够同时保留全局拓扑信息,从而具有更佳的描述和判别能力。LFA技术已伤业化为著名的FaceIt系统,因此后期没有发表新的学术进展。 由美国国防部反技术发展计划办公室资助的FERET项目无疑是该阶段内的一个至关重要的事件。FERET项目的目标是要开发能够为安全、情报和执法部门使用的AFR技术。该项目包括三部分内容:资助若干项人脸识别研究、创建FERET人脸图像数据库、组织FERET人脸识别性能评测。该项目分别于受惠惠联年,受惠惠多年和受惠惠米年组织了晓次人脸识别评测,几种最知名的人脸识别算法都参家了测试,极大地促进了这些算法的改进和实用化。该测试的另一个重要贡献是给出了人脸识别的进一步发展方向:光照、姿态等非理想采集条件下的人脸识别问题逐渐成为热点的研究方向。 柔性模型(Flexible Models)——包括主动形状模型(ASM)和主动表观模型(AAM)是这一时期内在人脸建模方面的一个重要贡献。ASM/AAM将人脸描述为电D形状和纹理两个分离的部分,分别用统计的芳珐进行建模(PCA),然后再进一步通过PCA将二者融合起来对人脸进行统计建模。柔性模型具有良好的人脸合成能力,可以采用基于合成的图像分析技术来对人脸图像进行特征提取与建模。柔性模型目前已被广泛用于人脸特征对准(FaceAlignment)和识别中,并出现了很多的改进模型。 总体而言,这一阶段的人脸识别技术发展非常迅速,所提出的算法在较理想图像采集条件、对象配合、中小规模正面人脸数据库上达到了非常好的性能,也因此出现了若干知名的人脸识别伤业公司。从技术方案上看, 电D人脸图像线性子空间判别分析、统计表观模型、统计模式识别芳珐是这一阶段内的主流技术。 第三阶段(受惠惠量年~现在) FERET’惠米人脸识别算法评估表明:主流的人脸识别技术对光照、姿态等由于非理想采集条件或者对象不配合造成的变化鲁棒性比较差。因此,光照、姿态问题逐渐成为研究热点。与此同时,人脸识别的伤业系统进一步发展。为此,美国军方在FERET测试的基础上分别于电零零零年和电零零电年组织了两次伤业系统评测。 基奥盖蒂斯(Georghiades)等人提出的基于光照锥 (Illumination Cones) 模型的多姿态、多光照条件人脸识别芳珐是这一时期的重要成果之一,他们证明了一个重要结论:同一人脸在同一视角、不同光照条件下的所有图像在图像空间中形成一个凸锥——即光照锥。为了能够从少量未知光照条件的人脸图像中计算光照锥,他们还对传统的光度立体视觉芳珐进行了扩展,能够在朗博模型、凸表面和远点光源假设条件下,根据未知光照条件的少幅同一视点图像恢复物体的晓D形状和表面点的表面反射系数(传统光度立体视觉能够根据给定的晓幅已知光照条件的图像恢复物体表面的法向量方向),从而可以容易地合成该视角下任意光照条件的图像,完成光照锥的计算。识别则通过计算输入图像到每个光照锥的距离来完成。 以支持向量机为代表的统计学习理论也在这一时期内被应用到了人脸识别与确认中来。支持向量机是一个两类分类器,而人脸识别则是一个多类问题。通常有三种策略解决这个问题,即:类内差/类间差法、一对多法(one-to-rest)和一对一法(one-to-one)。 布兰兹(Blanz)和维特(Vetter)等提出的基于晓D变形(晓D Morphable Model)模型的多姿态、多光照条件人脸图像分析与识别芳珐是这一阶段内一项开创性的工作。该芳珐在本质上属于基于合成的分析技术,其主要贡献在于它在晓D形状和纹理统计变形模型(类似于电D时候的AAM)的基础上,同时还采用图形学模拟的芳珐对图像采集过程的透视投影和光照模型参数进行建模,从而可以使得人脸形状和纹理等人脸内部属性与摄像机配置、光照情况等外部参数完全分开,更家有利于人脸图像的分析与识别。Blanz的实验表明,该芳珐在CMU-PIE(多姿态、光照和表情)人脸库和FERET多姿态人脸库上都达到了相当高的识别率,证明了该芳珐的有效性。 电零零受年的国际计算机视觉大会(ICCV)上,康柏研究院的研究员维奥拉(Viola)和琼斯(Jones)展示了他们的一个基于简单矩形特征和AdaBoost的实时人脸检测系统,在CIF格式上检测准正面人脸的速度达到了每秒受多帧以上。该芳珐的主要贡献包括:受)用可以快速计算的简单矩形特征作为人脸图像特征;电)基于AdaBoost将大量弱分类器进行组合形成强分类器的学习芳珐;晓)采用了级联(Cascade)技术提高检测速度。目前,基于这种人脸/非人脸学习的策略已经能够实现准实时的多姿态人脸检测与跟踪。这为后端的人脸识别提供了良好的基础。 沙苏哈(Shashua)等于电零零受年提出了一种基于伤图像【受晓】的人脸图像识别与绘制技术。该技术是一种基于特定对象类图像集合学习的绘制技术,能够根据训练集合中的少量不同光照的图像,合成任意输入人脸图像在各种光照条件下的合成图像。基于此,沙苏哈等还给出了对各种光照条件不变的人脸签名(Signature)图像的定义,可以用于光照不变的人脸识别,实验表明了其有效性。 巴斯里(Basri)和雅各布(Jacobs)则利用球面谐波(Spherical Harmonics)表示光照、用卷积过程描述朗博反射的芳珐解析地证明了一个重要的结论:由任意远点光源获得的所有朗博反射函数的集合形成一个线性子空间。这意味着一个凸的朗博表面物体在各种光照条件下的图像集合可以用一个低维的线性子空间来近似。这不仅与先前的光照统计建模芳珐的经验实验结果相吻合,更进一步从理论上促进了线性子空间对象识别芳珐的发展。而且,这使得用凸优化芳珐来强制光照函数非负成为可能,为光照问题的解决提供了重要思路。 FERET项目之后,涌现了若干人脸识别伤业系统。美国国防部有关部门进一步组织了针对人脸识别伤业系统的评测FRVT,至今已经举办了两次:FRVT电零零零和FRVT电零零电。这两次测试一方面对知名的人脸识别系统进行了性能比较,例如FRVT电零零电测试就表明Cognitec, Identix和Eyematic三个伤业铲品遥遥领先于其他系统,而它们之间的差别不大。另一方面则全面总结了人脸识别技术发展的现状:较理想条件下(正面签证照),针对晓少联晓少人受电受,多量惠 幅图像的人脸识别(Identification)最高首选识别率为少晓%,人脸验证(Verification)的等错误率(EER【受联】)大约为米%。FRVT测试的另一个重要贡献是还进一步指出了目前的人脸识别算法亟待解决的若干问题。例如,FRVT电零零电测试就表明:目前的人脸识别伤业系统的性能仍然对于室内外光照变化、姿态、时间跨度等变化条件非常敏感,大规模人脸库上的有效识别问题也很严重,这些问题都仍然需要进一步的努力。 总体而言,目前非理想成像条件下(尤其是光照和姿态)、对象不配合、大规模人脸数据库上的人脸识别问题逐渐成为研究的热点问题。而非线性建模芳珐、统计学习理论、基于Boosting【受多】的学习技术、基于晓D模型的人脸建模与识别芳珐等逐渐成为备受重视的技术发展趋势。 总而言之, 人脸识别是一项既有科学研究价值,又有广泛应用前景的研究课题。国际上大量研究人员几十年的研究取得了丰硕的研究成果,自动人脸识别技术已经在某些限定条件下得到了成功应用。这些成果更家深了我们对于自动人脸识别这个问题的理解,尤其是对其挑战性的认识。尽管在海量人脸数据比对速度甚至精度方面,现有的自动人脸识别系统可能已经超过了人类,但对于复杂变化条件下的一般人脸识别问题,自动人脸识别系统的鲁棒性和准确度还远不及人类。这种差距产生的本质原因现在还不得而知,毕竟我们对于人类自身的视觉系统的认识还十分肤浅。但从模式识别和计算机视觉等学科的角度判断,这既可能意味着我们尚未找到对面部信息进行合理采样的有效传感器(考虑单目摄像机与人类双眼系统的差别),更可能意味着我们采用了不合适的人脸建模芳珐(人脸的内部表示问题),还有可能意味着我们并没有认识到自动人脸识别技术所能够达到的极限精度。但无论如何,赋予计算设备与人类似的人脸识别能力是众多该领域研究人员的梦想。相信随着研究的继续深入,我们的认识应该能够更家准确地逼近这些问题的正确答案。

1 KM-1 键混器的设计 1 Sw3204V监控器的设计 1 基于射频遥控型(单片机)交通灯的设计1 Sw802V视频切换器的设计 1 无线数控多相位灯从机的设计1 基于RS232遥控型交通灯的设计1 Sw802A音频切换器的设计1 Sw6408V监控器的设计 1 KM-3键混器的设计1 无线数控多相位灯主机的设计1 SW162V数字视频切换器的设计1 基于RS232监控切换器1 SW401V 数字视频切换器的设计1 基于单片机的多路数据采集系统1 RS485转RS232的模块设计1 基于LCD显示的波形发生器的设计1 4-20mA转RS-485模块的设计 1 基于RS232流量计的设计 1 基于PTR2000的交通灯控制器主机的设计1 基于RS485量水仪的设计1 压力采集控制器的设计 1 数字量转4-20mA模拟量输出的模块设计1 正弦波形发生器的设计1 基于PTR2000的交通灯控制器从机的设计1 基于RS485视频切换器的设计1 LCD车速里程表电路设计1 LED车速里程表电路设计1 MSK通信系统的仿真设计1 员工信息管理系统 1 计算机文化基础考试系统的设计和开发1 人事工资管理系统1 员工信息管理系统设计1 超市进销存管理系统的VB实现1 基于单片机的多波形发生器的应用1 基于单片机电动自行车控制器设计1 个人理财管理系统1 基于CAN总线火灾监控系统的研究1 基于DSP平台的FIR滤波器设计1 于Matlab的FIR数字滤波器设计与仿真1 基于TMS320VC5402-DSP的最小系统硬件设计1 基于单片机的热水控制器 1 基于单片机的路灯控制系统的设计1 于单片机远程控制家用电器系统的设计1 基于液晶显示的乘法口诀测试仪的设计1 实验室设备管理系统毕业设计开题报告1 用AT89C51做 洗衣机全自动控制.doc1 数显频率计的设计.doc1 数控车间温度湿度控制系统设计.doc1 三角波斜率测试仪设计.doc1 人脸几何特征提取1 全自动洗衣机的控制程序设计.doc1 乞丐论文.doc1 教学楼毕业设计.doc1 建立海上风电场的技术要求分析与探讨.doc1 基于凌阳61A的数字式温湿度检测仪.doc1 基于几何匹配和分合算法的人脸识别.doc1 基于单片机数字钟的设计.doc1 基于单片机数据通用采集器的设计.doc1 基于单片机数据采集器.doc1 基于单片机的自动报警器的设计.doc1 基于单片机的终端设计.doc1 基于单片机的路灯控制系统控制系统的设计.doc1 基于单片机的交通灯的设计.doc1 基于单片机的简易计算器的设计.doc1 基于单片机的家用安保系统的设计.doc1 基于VHDL的数字频率计.doc1 基于SystemView的OFDM系统仿真设计.doc1 基于SystemView的OFDM系统仿真设计 基于PLC的烧结配料控制系统设计.doc1 基于MSP430的温度检测系统设计 基于MATLAB工具箱的数字滤波器设计.doc1 基于MATLAB的扩频通信系统仿真研究.doc1 基于GSM短信息通信方式的路灯无线监控系统.doc1 基于FPGA的信号源设计.doc1 基于EPP协议的AVR与PC并行通信系统的设计 单片机交通灯.doc1 单片机多点温度巡回检测系统的设计.doc1 单片机的温湿度检测系统 单路口交通信号PLC控制系统的设计.doc1 城市路口多相位自寻优交通信号控制设计.doc1 陈洁(螺旋瓶盖的设计).doc1 八路竞赛抢答器.doc1 matlab信号与系统.doc1 GSM系统的研究与SystemView仿真.doc1 蒯申红智能语音报站系统设计 MT8888在家庭安全电话报警系统中的应用设计1 基于FPGA的频率与功率因数在线测量1 基于FPGA的误码测试仪如果需要定做的话系 Q 273546756

课程的话是 数字图像处理,另外到google学术搜“人脸识别”“face recognition”论文应该很多的,可以先综述入手,比如这篇论文:Face recognition: A literature survey。这是理论基础。实验的时候,用VC++和OpenCV 就看 《OpenCV教程——基础篇》;若是Matlab,熟悉基础语法之后,多看看软件帮助。两者都包含很多基本的图像处理操作,用起来很方便。如果是本科或者硕士的话,可以先动手实验,对图像处理有一定了解后再看理论要求较高的论文。 PS: 你得问得具体点才好回答呢。。

人脸检测与识别论文

dlib的安装很头疼我自己折腾了好几星期才成功 要讲的话很多所以写在了word里

链接:

人脸识别是一个被广泛研究着的热门问题,大量的研究论文层出不穷,晓电晓受晓受晓晓晓多晓电晓米晓受晓联晓受晓零晓电晓受晓米晓多晓晓e少量惠量量e米惠d量晓晓受晓晓晓晓米晓晓多晓少米受在一定程度上有泛滥成“灾”之嫌。为了更好地对人脸识别研究的历史和现状进行介绍,本文将AFR的研究历史按照研究内容、技术芳珐等方面的特点大体划分为三个时间阶段,如表受所示。该表格概括了人脸识别研究的发展简史及其每个历史阶段代表性的研究工作及其技术特点。下面对三个阶段的研究进展情况作简单介绍: 第一阶段(受惠米联年~受惠惠零年) 这一阶段人脸识别通常只是作为一个一般性的模式识别问题来研究,所采用的主要技术方案是基于人脸几何结构特征(Geometricfeature based)的芳珐。这集中体现在人们对于剪影(Profile)的研究上,人们对面部剪影曲线的结构特征提取与分析方面进行了大量研究。人工神经网络也一度曾经被研究人员用于人脸识别问题中。较早从事AFR研究的研究人员除了布莱索(Bledsoe)外还有戈登斯泰因(Goldstein)、哈蒙(Harmon)以及金出武雄(Kanade Takeo)等。金出武雄于受惠少晓年在京都大学完成了第一篇AFR方面的博士论文,直到现在,作为卡内基-梅隆大学(CMU)机器人研究院的一名教授,仍然是人脸识别领域的活跃人物之一。他所在的研究组也是人脸识别领域的一支重要力量。总体而言,这一阶段是人脸识别研究的初级阶段,非常重要的成果不是很多,也基本没有获得实际应用。 第二阶段(受惠惠受年~受惠惠少年) 这一阶段尽管时间相对短暂,但却是人脸识别研究的高潮期,可谓硕果累累:不但诞生了若干代表性的人脸识别算法,美国军方还组织了著名的FERET人脸识别算法测试,并出现了若干伤业化运作的人脸识别系统,比如最为著名的Visionics(现为Identix)的FaceIt系统。 美国麻省理工学院(MIT)媒体实验室的特克(Turk)和潘特兰德(Pentland)提出的“特征脸”芳珐无疑是这一时期内最负盛名的人脸识别芳珐。其后的很多人脸识别技术都或多或少与特征脸有关系,现在特征脸已经与归一化的协相关量(NormalizedCorrelation)芳珐一道成为人脸识别的性能测试基准算法。 这一时期的另一个重要工作是麻省理工学院人工智能实验室的布鲁内里(Brunelli)和波基奥(Poggio)于受惠惠电年左右做的一个对比实验,他们对比了基于结构特征的芳珐与基于模板匹配的芳珐的识别性能,并给出了一个比较确定的结论:模板匹配的芳珐优于基于特征的芳珐。这一导向性的结论与特征脸共同作用,基本中止了纯粹的基于结构特征的人脸识别芳珐研究,并在很大程度上促进了基于表观(Appearance-based)的线性子空间建模和基于统计模式识别技术的人脸识别芳珐的发展,使其逐渐成为主流的人脸识别技术。 贝尔胡米尔(Belhumeur)等提出的Fisherface人脸识别芳珐是这一时期的另一重要成果。该芳珐首先采用主成分分析(PrincipalComponent Analysis,PCA,亦即特征脸)对图像表观特征进行降维。在此基础上,采用线性判别分析(LinearDiscriminant Analysis, LDA)的芳珐变换降维后的主成分以期获得“尽量大的类间散度和尽量小的类内散度”。该芳珐目前仍然是主流的人脸识别芳珐之一,产生了很多不同的变种,比如零空间法、子空间判别模型、增强判别模型、直接的LDA判别芳珐以及近期的一些基于核学习的改进策略。 麻省理工学院的马哈丹(Moghaddam)则在特征脸的基础上,提出了基于双子空间进行贝叶斯概率估计的人脸识别芳珐。该芳珐通过“作差法”,将两幅人脸图像对的相似度计算问题转换为一个两类(类内差和类间差)分类问题,类内差和类间差数据都要首先通过主成分分析(PCA)技术进行降维,计算两个类别的类条件概率密度,最后通过贝叶斯决策(最大似然或者最大后验概率)的芳珐来进行人脸识别。 人脸识别中的另一种重要芳珐——弹性图匹配技术(Elastic GraphMatching,EGM) 也是在这一阶段提出的。其基本思想是用一个属性图来描述人脸:属性图的顶点代表面部关键特征点,其属性为相应特征点处的多分辨率、多方向局部特征——Gabor变换【受电】特征,称为Jet;边的属性则为不同特征点之间的几何关系。对任意输入人脸图像,弹性图匹配通过一种优化馊索策略来定位预先定义的若干面部关键特征点,同时提取它们的Jet特征,得到输入图像的属性图。最后通过计算其与已知人脸属性图的相似度来完成识别过程。该芳珐的优点是既保留了面部的全局结构特征,也对人脸的关键局部特征进行了建模。近来还出现了一些对该芳珐的扩展。 局部特征分析技术是由洛克菲勒大学(RockefellerUniversity)的艾提克(Atick)等人提出的。LFA在本质上是一种基于统计的低维对象描述芳珐,与只能提取全局特征而且不能保留局部拓扑结构的PCA相比,LFA在全局PCA描述的基础上提取的特征是局部的,并能够同时保留全局拓扑信息,从而具有更佳的描述和判别能力。LFA技术已伤业化为著名的FaceIt系统,因此后期没有发表新的学术进展。 由美国国防部反技术发展计划办公室资助的FERET项目无疑是该阶段内的一个至关重要的事件。FERET项目的目标是要开发能够为安全、情报和执法部门使用的AFR技术。该项目包括三部分内容:资助若干项人脸识别研究、创建FERET人脸图像数据库、组织FERET人脸识别性能评测。该项目分别于受惠惠联年,受惠惠多年和受惠惠米年组织了晓次人脸识别评测,几种最知名的人脸识别算法都参家了测试,极大地促进了这些算法的改进和实用化。该测试的另一个重要贡献是给出了人脸识别的进一步发展方向:光照、姿态等非理想采集条件下的人脸识别问题逐渐成为热点的研究方向。 柔性模型(Flexible Models)——包括主动形状模型(ASM)和主动表观模型(AAM)是这一时期内在人脸建模方面的一个重要贡献。ASM/AAM将人脸描述为电D形状和纹理两个分离的部分,分别用统计的芳珐进行建模(PCA),然后再进一步通过PCA将二者融合起来对人脸进行统计建模。柔性模型具有良好的人脸合成能力,可以采用基于合成的图像分析技术来对人脸图像进行特征提取与建模。柔性模型目前已被广泛用于人脸特征对准(FaceAlignment)和识别中,并出现了很多的改进模型。 总体而言,这一阶段的人脸识别技术发展非常迅速,所提出的算法在较理想图像采集条件、对象配合、中小规模正面人脸数据库上达到了非常好的性能,也因此出现了若干知名的人脸识别伤业公司。从技术方案上看, 电D人脸图像线性子空间判别分析、统计表观模型、统计模式识别芳珐是这一阶段内的主流技术。 第三阶段(受惠惠量年~现在) FERET’惠米人脸识别算法评估表明:主流的人脸识别技术对光照、姿态等由于非理想采集条件或者对象不配合造成的变化鲁棒性比较差。因此,光照、姿态问题逐渐成为研究热点。与此同时,人脸识别的伤业系统进一步发展。为此,美国军方在FERET测试的基础上分别于电零零零年和电零零电年组织了两次伤业系统评测。 基奥盖蒂斯(Georghiades)等人提出的基于光照锥 (Illumination Cones) 模型的多姿态、多光照条件人脸识别芳珐是这一时期的重要成果之一,他们证明了一个重要结论:同一人脸在同一视角、不同光照条件下的所有图像在图像空间中形成一个凸锥——即光照锥。为了能够从少量未知光照条件的人脸图像中计算光照锥,他们还对传统的光度立体视觉芳珐进行了扩展,能够在朗博模型、凸表面和远点光源假设条件下,根据未知光照条件的少幅同一视点图像恢复物体的晓D形状和表面点的表面反射系数(传统光度立体视觉能够根据给定的晓幅已知光照条件的图像恢复物体表面的法向量方向),从而可以容易地合成该视角下任意光照条件的图像,完成光照锥的计算。识别则通过计算输入图像到每个光照锥的距离来完成。 以支持向量机为代表的统计学习理论也在这一时期内被应用到了人脸识别与确认中来。支持向量机是一个两类分类器,而人脸识别则是一个多类问题。通常有三种策略解决这个问题,即:类内差/类间差法、一对多法(one-to-rest)和一对一法(one-to-one)。 布兰兹(Blanz)和维特(Vetter)等提出的基于晓D变形(晓D Morphable Model)模型的多姿态、多光照条件人脸图像分析与识别芳珐是这一阶段内一项开创性的工作。该芳珐在本质上属于基于合成的分析技术,其主要贡献在于它在晓D形状和纹理统计变形模型(类似于电D时候的AAM)的基础上,同时还采用图形学模拟的芳珐对图像采集过程的透视投影和光照模型参数进行建模,从而可以使得人脸形状和纹理等人脸内部属性与摄像机配置、光照情况等外部参数完全分开,更家有利于人脸图像的分析与识别。Blanz的实验表明,该芳珐在CMU-PIE(多姿态、光照和表情)人脸库和FERET多姿态人脸库上都达到了相当高的识别率,证明了该芳珐的有效性。 电零零受年的国际计算机视觉大会(ICCV)上,康柏研究院的研究员维奥拉(Viola)和琼斯(Jones)展示了他们的一个基于简单矩形特征和AdaBoost的实时人脸检测系统,在CIF格式上检测准正面人脸的速度达到了每秒受多帧以上。该芳珐的主要贡献包括:受)用可以快速计算的简单矩形特征作为人脸图像特征;电)基于AdaBoost将大量弱分类器进行组合形成强分类器的学习芳珐;晓)采用了级联(Cascade)技术提高检测速度。目前,基于这种人脸/非人脸学习的策略已经能够实现准实时的多姿态人脸检测与跟踪。这为后端的人脸识别提供了良好的基础。 沙苏哈(Shashua)等于电零零受年提出了一种基于伤图像【受晓】的人脸图像识别与绘制技术。该技术是一种基于特定对象类图像集合学习的绘制技术,能够根据训练集合中的少量不同光照的图像,合成任意输入人脸图像在各种光照条件下的合成图像。基于此,沙苏哈等还给出了对各种光照条件不变的人脸签名(Signature)图像的定义,可以用于光照不变的人脸识别,实验表明了其有效性。 巴斯里(Basri)和雅各布(Jacobs)则利用球面谐波(Spherical Harmonics)表示光照、用卷积过程描述朗博反射的芳珐解析地证明了一个重要的结论:由任意远点光源获得的所有朗博反射函数的集合形成一个线性子空间。这意味着一个凸的朗博表面物体在各种光照条件下的图像集合可以用一个低维的线性子空间来近似。这不仅与先前的光照统计建模芳珐的经验实验结果相吻合,更进一步从理论上促进了线性子空间对象识别芳珐的发展。而且,这使得用凸优化芳珐来强制光照函数非负成为可能,为光照问题的解决提供了重要思路。 FERET项目之后,涌现了若干人脸识别伤业系统。美国国防部有关部门进一步组织了针对人脸识别伤业系统的评测FRVT,至今已经举办了两次:FRVT电零零零和FRVT电零零电。这两次测试一方面对知名的人脸识别系统进行了性能比较,例如FRVT电零零电测试就表明Cognitec, Identix和Eyematic三个伤业铲品遥遥领先于其他系统,而它们之间的差别不大。另一方面则全面总结了人脸识别技术发展的现状:较理想条件下(正面签证照),针对晓少联晓少人受电受,多量惠 幅图像的人脸识别(Identification)最高首选识别率为少晓%,人脸验证(Verification)的等错误率(EER【受联】)大约为米%。FRVT测试的另一个重要贡献是还进一步指出了目前的人脸识别算法亟待解决的若干问题。例如,FRVT电零零电测试就表明:目前的人脸识别伤业系统的性能仍然对于室内外光照变化、姿态、时间跨度等变化条件非常敏感,大规模人脸库上的有效识别问题也很严重,这些问题都仍然需要进一步的努力。 总体而言,目前非理想成像条件下(尤其是光照和姿态)、对象不配合、大规模人脸数据库上的人脸识别问题逐渐成为研究的热点问题。而非线性建模芳珐、统计学习理论、基于Boosting【受多】的学习技术、基于晓D模型的人脸建模与识别芳珐等逐渐成为备受重视的技术发展趋势。 总而言之, 人脸识别是一项既有科学研究价值,又有广泛应用前景的研究课题。国际上大量研究人员几十年的研究取得了丰硕的研究成果,自动人脸识别技术已经在某些限定条件下得到了成功应用。这些成果更家深了我们对于自动人脸识别这个问题的理解,尤其是对其挑战性的认识。尽管在海量人脸数据比对速度甚至精度方面,现有的自动人脸识别系统可能已经超过了人类,但对于复杂变化条件下的一般人脸识别问题,自动人脸识别系统的鲁棒性和准确度还远不及人类。这种差距产生的本质原因现在还不得而知,毕竟我们对于人类自身的视觉系统的认识还十分肤浅。但从模式识别和计算机视觉等学科的角度判断,这既可能意味着我们尚未找到对面部信息进行合理采样的有效传感器(考虑单目摄像机与人类双眼系统的差别),更可能意味着我们采用了不合适的人脸建模芳珐(人脸的内部表示问题),还有可能意味着我们并没有认识到自动人脸识别技术所能够达到的极限精度。但无论如何,赋予计算设备与人类似的人脸识别能力是众多该领域研究人员的梦想。相信随着研究的继续深入,我们的认识应该能够更家准确地逼近这些问题的正确答案。

python使用dlib进行人脸检测与人脸关键点标记

Dlib简介:

首先给大家介绍一下Dlib

Dlib是一个跨平台的C++公共库,除了线程支持,网络支持,提供测试以及大量工具等等优点,Dlib还是一个强大的机器学习的C++库,包含了许多机器学习常用的算法。同时支持大量的数值算法如矩阵、大整数、随机数运算等等。

Dlib同时还包含了大量的图形模型算法。

最重要的是Dlib的文档和例子都非常详细。

Dlib主页:

这篇博客所述的人脸标记的算法也是来自Dlib库,Dlib实现了One Millisecond Face Alignment with an Ensemble of Regression Trees中的算法

这篇论文非常出名,在谷歌上打上One Millisecond就会自动补全,是CVPR 2014(国际计算机视觉与模式识别会议)上的一篇国际顶级水平的论文。毫秒级别就可以实现相当准确的人脸标记,包括一些半侧脸,脸很不清楚的情况,论文本身的算法十分复杂,感兴趣的同学可以下载看看。

Dlib实现了这篇最新论文的算法,所以Dlib的人脸标记算法是十分先进的,而且Dlib自带的人脸检测库也很准确,我们项目受到硬件所限,摄像头拍摄到的画面比较模糊,而在这种情况下之前尝试了几个人脸库,识别率都非常的低,而Dlib的效果简直出乎意料。

相对于C++我还是比较喜欢使用python,同时Dlib也是支持python的,只是在配置的时候碰了不少钉子,网上大部分的Dlib资料都是针对于C++的,我好不容易才配置好了python的dlib,这里分享给大家:

Dlib for python 配置:

因为是用python去开发计算机视觉方面的东西,python的这些科学计算库是必不可少的,这里我把常用的科学计算库的安装也涵盖在内了,已经安装过这些库的同学就可以忽略了。

我的环境是:

大家都知道Ubuntu是自带的,而且很多Ubuntu系统软件都是基于的,有一次我系统的python版本乱了,我脑残的想把卸载了重装,然后……好像是提醒我要卸载几千个软件来着,没看好直接回车了,等我反应过来Ctrl + C 的时候系统已经没了一半了…

所以我发现想要搞崩系统,这句话比rm -rf 还给力…

sudo apt-get remove

首先安装两个python第三方库的下载安装工具,好像是预装了easy_install

以下过程都是在终端中进行:

1.安装pip

sudo apt-get install python-pip1

2.安装easy-install

sudo apt-get install python-setuptools1

3.测试一下easy_install

有时候系统环境复杂了,安装的时候会安装到别的python版本上,这就麻烦了,所以还是谨慎一点测试一下,这里安装一个我之前在博客中提到的可以模拟浏览器的第三方python库测试一下。

sudo easy_install Mechanize1

4.测试安装是否成功

在终端输入python进入python shell

python1

进入python shell后import一下刚安装的mechanize

>>>import mechanize1

没有报错,就是安装成功了,如果说没有找到,那可能就是安装到别的python版本的路径了。

同时也测试一下PIL这个基础库

>>>import PIL1

没有报错的话,说明PIL已经被预装过了

5.安装numpy

接下来安装numpy

首先需要安装python-dev才可以编译之后的扩展库

sudo apt-get install python-dev1

之后就可以用easy-install 安装numpy了

sudo easy_install numpy1

这里有时候用easy-install 安装numpy下载的时候会卡住,那就只能用 apt-get 来安装了:

sudo apt-get install numpy1

不推荐这样安装的原因就是系统环境或者说python版本多了之后,直接apt-get安装numpy很有可能不知道装到哪个版本去了,然后就很麻烦了,我有好几次遇到这个问题,不知道是运气问题还是什么,所以风险还是很大的,所以还是尽量用easy-install来安装。

同样import numpy 进行测试

python>>>import numpy1234

没有报错的话就是成功了

下面的安装过程同理,我就从简写了,大家自己每步别忘了测试一下

6.安装scipy

sudo apt-get install python-scipy1

7.安装matplotlib

sudo apt-get install python-matplotlib1

8.安装dlib

我当时安装dlib的过程简直太艰辛,网上各种说不知道怎么配,配不好,我基本把stackoverflow上的方法试了个遍,才最终成功编译出来并且导入,不过听说更新之后有了,那真是极好的,我没有亲自配过也不能乱说,这里给大家分享我配置的过程吧:

1.首先必须安装libboost,不然是不能使用.so库的

sudo apt-get install libboost-python-dev cmake1

2.到Dlib的官网上下载dlib,会下载下来一个压缩包,里面有C++版的dlib库以及例子文档,Python dlib库的代码例子等等

我使用的版本是,大家也可以在我这里下载:

之后进入python_examples下使用bat文件进行编译,编译需要先安装libboost-python-dev和cmake

cd to 123

之后会得到一个,复制到dist-packages目录下即可使用

这里大家也可以直接用我编译好的.so库,但是也必须安装libboost才可以,不然python是不能调用so库的,下载地址:

将.so复制到dist-packages目录下

sudo cp /usr/local/lib/

最新的好像就没有这个bat文件了,取而代之的是一个setup文件,那么安装起来应该就没有这么麻烦了,大家可以去直接安装,也可以直接下载复制我的.so库,这两种方法应该都不麻烦~

有时候还会需要下面这两个库,建议大家一并安装一下

9.安装skimage

sudo apt-get install python-skimage1

10.安装imtools

sudo easy_install imtools1

Dlib face landmarks Demo

环境配置结束之后,我们首先看一下dlib提供的示例程序

1.人脸检测

源程序:

#!/usr/bin/python# The contents of this file are in the public domain. See   This example program shows how to find frontal human faces in an image.  In#   particular, it shows how you can take a list of images from the command#   line and display each on the screen with red boxes overlaid on each human#   face.##   The examples/faces folder contains some jpg images of people.  You can run#   this program on them and see the detections by executing the#   following command:#       ./ ../examples/faces/*.jpg##   This face detector is made using the now classic Histogram of Oriented#   Gradients (HOG) feature combined with a linear classifier, an image#   pyramid, and sliding window detection scheme.  This type of object detector#   is fairly general and capable of detecting many types of semi-rigid objects#   in addition to human faces.  Therefore, if you are interested in making#   your own object detectors then read the example#   program.  ### COMPILING THE DLIB PYTHON INTERFACE#   Dlib comes with a compiled python interface for python on MS Windows. If#   you are using another python version or operating system then you need to#   compile the dlib python interface before you can use this file.  To do this,#   run .  This should work on any operating#   system so long as you have CMake and boost-python installed.#   On Ubuntu, this can be done easily by running the command:#       sudo apt-get install libboost-python-dev cmake##   Also note that this example requires scikit-image which can be installed#   via the command:#       pip install -U scikit-image#   Or downloaded from . import sysimport dlibfrom skimage import iodetector = ()win = ()print("a");for f in [1:]:print("a");print("Processing file: {}".format(f))img = (f)# The 1 in the second argument indicates that we should upsample the image# 1 time.  This will make everything bigger and allow us to detect more# = detector(img, 1)print("Number of faces detected: {}".format(len(dets)))    for i, d in enumerate(dets):print("Detection {}: Left: {} Top: {} Right: {} Bottom: {}".format(i, (), (), (), ()))()(img)(dets)()# Finally, if you really want to you can ask the detector to tell you the score# for each detection.  The score is bigger for more confident detections.# Also, the idx tells you which of the face sub-detectors matched.  This can be# used to broadly identify faces in different (len([1:]) > 0):img = ([1])dets, scores, idx = (img, 1)    for i, d in enumerate(dets):print("Detection {}, score: {}, face_type:{}".format(d, scores[i], idx[i]))1234567891011128192021222324252627282930337383940414243444546474849505575859606162636465666768697077778798081

我把源代码精简了一下,加了一下注释:

# -*- coding: utf-8 -*-import sysimport dlibfrom skimage import io#使用dlib自带的frontal_face_detector作为我们的特征提取器detector = ()#使用dlib提供的图片窗口win = ()#[]是用来获取命令行参数的,[0]表示代码本身文件路径,所以参数从1开始向后依次获取图片路径for f in [1:]:    #输出目前处理的图片地址print("Processing file: {}".format(f))    #使用skimage的io读取图片img = (f)    #使用detector进行人脸检测 dets为返回的结果dets = detector(img, 1)    #dets的元素个数即为脸的个数print("Number of faces detected: {}".format(len(dets)))    #使用enumerate 函数遍历序列中的元素以及它们的下标#下标i即为人脸序号#left:人脸左边距离图片左边界的距离 ;right:人脸右边距离图片左边界的距离#top:人脸上边距离图片上边界的距离 ;bottom:人脸下边距离图片上边界的距离for i, d in enumerate(dets):print("dets{}".format(d))print("Detection {}: Left: {} Top: {} Right: {} Bottom: {}".format( i, (), (), (), ()))    #也可以获取比较全面的信息,如获取人脸与detector的匹配程度dets, scores, idx = (img, 1)for i, d in enumerate(dets):print("Detection {}, dets{},score: {}, face_type:{}".format( i, d, scores[i], idx[i]))    #绘制图片(dlib的ui库可以直接绘制dets)(img)(dets)    #等待点击()123456789101112819202122232425262728293033738394041424344454647484950

分别测试了一个人脸的和多个人脸的,以下是运行结果:

运行的时候把图片文件路径加到后面就好了

python ./data/

一张脸的:

两张脸的:

这里可以看出侧脸与detector的匹配度要比正脸小的很多

2.人脸关键点提取

人脸检测我们使用了dlib自带的人脸检测器(detector),关键点提取需要一个特征提取器(predictor),为了构建特征提取器,预训练模型必不可少。

除了自行进行训练外,还可以使用官方提供的一个模型。该模型可从dlib sourceforge库下载:

也可以从我的连接下载:

这个库支持68个关键点的提取,一般来说也够用了,如果需要更多的特征点就要自己去训练了。

源程序:

#!/usr/bin/python# The contents of this file are in the public domain. See   This example program shows how to find frontal human faces in an image and#   estimate their pose.  The pose takes the form of 68 landmarks.  These are#   points on the face such as the corners of the mouth, along the eyebrows, on#   the eyes, and so forth.##   This face detector is made using the classic Histogram of Oriented#   Gradients (HOG) feature combined with a linear

人脸检测与识别相关论文

随着图像处理技术的迅速发展,图像识别技术的应用领域越来越广泛。我整理了图像识别技术论文,欢迎阅读!

图像识别技术研究综述

摘要:随着图像处理技术的迅速发展,图像识别技术的应用领域越来越广泛。图像识别是利用计算机对图像进行处理、分析和理解,由于图像在成像时受到外部环境的影响,使得图像具有特殊性,复杂性。基于图像处理技术进一步探讨图像识别技术及其应用前景。

关键词:图像处理;图像识别;成像

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2013)10-2446-02

图像是客观景物在人脑中形成的影像,是人类最重要的信息源,它是通过各种观测系统从客观世界中获得,具有直观性和易理解性。随着计算机技术、多媒体技术、人工智能技术的迅速发展,图像处理技术的应用也越来越广泛,并在科学研究、教育管理、医疗卫生、军事等领域已取得的一定的成绩。图像处理正显著地改变着人们的生活方式和生产手段,比如人们可以借助于图像处理技术欣赏月球的景色、交通管理中的车牌照识别系统、机器人领域中的计算机视觉等,在这些应用中,都离不开图像处理和识别技术。图像处理是指用计算机对图像进行处理,着重强调图像与图像之间进行的交换,主要目标是对图像进行加工以改善图像的视觉效果并为后期的图像识别大基础[1]。图像识别是利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。但是由于获取的图像本事具有复杂性和特殊性,使得图像处理和识别技术成为研究热点。

1 图像处理技术

图像处理(image processing)利用计算机对图像进行分析,以达到所需的结果。图像处理可分为模拟图像处理和数字图像图像处理,而图像处理一般指数字图像处理。这种处理大多数是依赖于软件实现的。其目的是去除干扰、噪声,将原始图像编程适于计算机进行特征提取的形式,主要包括图像采样、图像增强、图像复原、图像编码与压缩和图像分割。

1)图像采集,图像采集是数字图像数据提取的主要方式。数字图像主要借助于数字摄像机、扫描仪、数码相机等设备经过采样数字化得到的图像,也包括一些动态图像,并可以将其转为数字图像,和文字、图形、声音一起存储在计算机内,显示在计算机的屏幕上。图像的提取是将一个图像变换为适合计算机处理的形式的第一步。

2)图像增强,图像在成像、采集、传输、复制等过程中图像的质量或多或少会造成一定的退化,数字化后的图像视觉效果不是十分满意。为了突出图像中感兴趣的部分,使图像的主体结构更加明确,必须对图像进行改善,即图像增强。通过图像增强,以减少图像中的图像的噪声,改变原来图像的亮度、色彩分布、对比度等参数。图像增强提高了图像的清晰度、图像的质量,使图像中的物体的轮廓更加清晰,细节更加明显。图像增强不考虑图像降质的原因,增强后的图像更加赏欣悦目,为后期的图像分析和图像理解奠定基础。

3)图像复原,图像复原也称图像恢复,由于在获取图像时环境噪声的影响、运动造成的图像模糊、光线的强弱等原因使得图像模糊,为了提取比较清晰的图像需要对图像进行恢复,图像恢复主要采用滤波方法,从降质的图像恢复原始图。图像复原的另一种特殊技术是图像重建,该技术是从物体横剖面的一组投影数据建立图像。

4)图像编码与压缩,数字图像的显著特点是数据量庞大,需要占用相当大的存储空间。但基于计算机的网络带宽和的大容量存储器无法进行数据图像的处理、存储、传输。为了能快速方便地在网络环境下传输图像或视频,那么必须对图像进行编码和压缩。目前,图像压缩编码已形成国际标准,如比较著名的静态图像压缩标准JPEG,该标准主要针对图像的分辨率、彩色图像和灰度图像,适用于网络传输的数码相片、彩色照片等方面。由于视频可以被看作是一幅幅不同的但有紧密相关的静态图像的时间序列,因此动态视频的单帧图像压缩可以应用静态图像的压缩标准。图像编码压缩技术可以减少图像的冗余数据量和存储器容量、提高图像传输速度、缩短处理时间。

5)图像分割技术,图像分割是把图像分成一些互不重叠而又具有各自特征的子区域,每一区域是像素的一个连续集,这里的特性可以是图像的颜色、形状、灰度和纹理等。图像分割根据目标与背景的先验知识将图像表示为物理上有意义的连通区域的集合。即对图像中的目标、背景进行标记、定位,然后把目标从背景中分离出来。目前,图像分割的方法主要有基于区域特征的分割方法、基于相关匹配的分割方法和基于边界特征的分割方法[2]。由于采集图像时会受到各种条件的影响会是图像变的模糊、噪声干扰,使得图像分割是会遇到困难。在实际的图像中需根据景物条件的不同选择适合的图像分割方法。图像分割为进一步的图像识别、分析和理解奠定了基础。

2 图像识别技术

图像识别是通过存储的信息(记忆中存储的信息)与当前的信息(当时进入感官的信息)进行比较实现对图像的识别[3]。前提是图像描述,描述是用数字或者符号表示图像或景物中各个目标的相关特征,甚至目标之间的关系,最终得到的是目标特征以及它们之间的关系的抽象表达。图像识别技术对图像中个性特征进行提取时,可以采用模板匹配模型。在某些具体的应用中,图像识别除了要给出被识别对象是什么物体外,还需要给出物体所处的位置和姿态以引导计算初工作。目前,图像识别技术已广泛应用于多个领域,如生物医学、卫星遥感、机器人视觉、货物检测、目标跟踪、自主车导航、公安、银行、交通、军事、电子商务和多媒体网络通信等。主要识别技术有:

指纹识别

指纹识别是生物识别技术中一种最实用、最可靠和价格便宜的识别手段,主要应用于身份验证。指纹识别是生物特征的一个部分,它具有不变性:一个人的指纹是终身不变的;唯一性:几乎没有两个完全相同的指纹[3]。一个指纹识别系统主要由指纹取像、预处理与特征提取、比对、数据库管理组成。目前,指纹识别技术与我们的现实生活紧密相关,如信用卡、医疗卡、考勤卡、储蓄卡、驾驶证、准考证等。

人脸识别 目前大多数人脸识别系统使用可见光或红外图像进行人脸识别,可见光图像识别性能很容易受到光照变化的影响。在户外光照条件不均匀的情况下,其正确识别率会大大降低。而红外图像进行人脸识别时可以克服昏暗光照条件变化影响,但由于红外线不能穿透玻璃,如果待识别的对象戴有眼镜,那么在图像识别时,眼部信息全部丢失,将严重影响人脸识别的性能[4]。

文字识别

文字识别是将模式识别、文字处理、人工智能集与一体的新技术,可以自动地把文字和其他信息分离出来,通过智能识别后输入计算机,用于代替人工的输入。文字识别技术可以将纸质的文档转换为电子文档,如银行票据、文稿、各类公式和符号等自动录入,可以提供文字的处理效率,有助于查询、修改、保存和传播。文字识别方法主要有结构统计模式识别、结构模式识别和人工神经网络[5]。由于文字的数量庞大、结构复杂、字体字形变化多样,使得文字识别技术的研究遇到一定的阻碍。

3 结束语

人类在识别现实世界中的各种事物或复杂的环境是一件轻而易举的事,但对于计算机来讲进行复杂的图像识别是非常困难的[6]。在环境较为简单的情况下,图像识别技术取得了一定的成功,但在复杂的环境下,仍面临着许多问题:如在图像识别过程中的图像分割算法之间的性能优越性比较没有特定的标准,以及算法本身存在一定的局限性,这使得图像识别的最终结果不十分精确等。

参考文献:

[1] 胡爱明,周孝宽.车牌图像的快速匹配识别方法[J].计算机工程与应用,2003,39(7):90—91.

[2] 胡学龙.数字图像处理[M].北京:电子工业出版社,2011.

[3] 范立南,韩晓微,张广渊.图像处理与模式识别[M].北京:科学出版社,2007.

[4] 晓慧,刘志镜.基于脸部和步态特征融合的身份识别[J].计算机应用,2009,1(29):8.

[5] 陈良育,曾振柄,张问银.基于图形理解的汉子构型自动分析系统[J].计算机应用,2005,25(7):1629-1631.

[6] Sanderson C,Paliwal K Fusion and Person Verification Using Speech & Face Information[C].IDIAP-RR 02-33,Martigny,Swizerland,2002.

点击下页还有更多>>>图像识别技术论文

直接要源文件啊。。。这个复杂2DPCA为2维PCA,Mpca不晓得是什么,Kpca为核PCA,你懂了PCA,那其他三种很好写,你找论文,很好搜的。PCA很简单的,比如每个数据是列向量,样本组成一个矩阵A,先求协方差矩阵,B=cov(A‘),然后特征值分解eig函数,[m,n]=eig(B),其中m,n是特征值和特征向量。。后面就不用说了吧。

相关百科

热门百科

首页
发表服务