人脸识别技术大总结.docx
文本预览下载声明
人脸识别技术大总结:Face Detection Alignment2015/04/08 ·? HYPERLINK /category/it-tech/ \o 查看 IT技术 中的全部文章 IT技术?·? HYPERLINK /85783/ \l article-comment 2 评论?·? HYPERLINK /tag/%e4%ba%ba%e8%84%b8%e8%af%86%e5%88%ab/ 人脸识别,? HYPERLINK /tag/algorithm/ 算法分享到: HYPERLINK /share?uid=1745061 \t /85783/_blank 33 HYPERLINK /view/543?from=jobboleblog \o Android摄像头基础 \t /85783/_blank Android摄像头基础 HYPERLINK /view/492?from=jobboleblog \o Golang之IO操作初接触 \t /85783/_blank Golang之IO操作初接触 HYPERLINK /view/557?from=jobboleblog \o PHP第三方登录—OAuth2.0协议 \t /85783/_blank PHP第三方登录—OAuth2.0协议 HYPERLINK /view/451?from=jobboleblog \o JSP常用标签 \t /85783/_blank JSP常用标签原文出处:? HYPERLINK /sciencefans/p/4394861.html \t /85783/_blank sciencefans 的博客???欢迎分享原创到 HYPERLINK /?utm_source=jobboleblog-article \t /85783/_blank 伯乐头条搞了一年人脸识别,寻思着记录点什么,于是想写这么个系列,介绍人脸识别的四大块:Face detection, alignment, verification and identification(recognization),本别代表从一张图中识别出人脸位置,把人脸上的特征点定位,人脸校验和人脸识别。(后两者的区别在于,人脸校验是要给你两张脸问你是不是同一个人,人脸识别是给你一张脸和一个库问你这张脸是库里的谁。今天先介绍第一部分和第二部分。 主要说三篇顶会文章。人脸检测(detection)在opencv中早就有直接能拿来用的haar分类器,基于Viola-Jones算法。但是毕竟是老掉牙的技术,Precision/Recall曲线渣到不行,在实际工程中根本没法给boss看,作为MSRA脑残粉,这里介绍一种MSRA在14年的最新技术:Joint Cascade Face Detection and Alignment(ECCV14)。这篇文章直接在30ms的时间里把detection和alignment都给做了,PR曲线彪到很高,时效性高,内存占用却非常低,在一些库上虐了Face++和Google Picasa,正好契合这篇想讲的东西。可以作为本节的主线。人脸校准(alignment)是给你一张脸,你给我找出我需要的特征点的位置,比如鼻子左侧,鼻孔下侧,瞳孔位置,上嘴唇下侧等等点的位置。如果觉得还是不明白,看下图:图中红色框框就是在做detection,白色点点就是在做alignment。如果知道了点的位置做一下位置驱动的变形,脸就成正的了,如何驱动变形不是本节的重点,在此省略。首先介绍一下下面正文要写的东西,由于干货非常多所以可能会看着看着就乱了,所以给出框架图:=================================废话说了这么多,正文开始~detection作者建立了一个叫post classifier的分类器,方法如下:1.样本准备:首先作者调用opencv的Viola-Jones分类器,将recal阀值设到99%,这样能够尽可能地检测出所有的脸,但是同时也会有非常多的不是脸的东东被检测出来。于是,检测出来的框框们被分成了两类:是脸和不是脸。这些图片被resize到96*96。2.特征提取:接下来是特征提取,怎么提取呢?作者采用了三种方法:第一种:把window划分成6*6个小windows,分别提取SIFT特征,然后连接着36个sift特征向量成为图像的特征。第二种:先求出一个固定的脸的平均shape(27个特征点的位置,比如眼睛左边,嘴唇右边等等),然后以这27个特征点为中心提取sift特征,然后连接后作为特征。第三种:用他们组去年的另一个成果Face Alignment at 3000 FPS via Regressing Local Binary Features (
显示全部