网站项目开发案深圳建设网站商
网站项目开发案,深圳建设网站商,网站在服务器,怎么样让公司网站原文地址#xff1a;http://www.learnopencv.com/facial-landmark-detection/#comment-2471797375
作为计算机视觉研究员#xff0c;我们很早就开始研究人脸。人脸分析领域最广为人知的就是人脸识别#xff08;face recognition#xff09;.但是为了识别一幅图像中的人脸http://www.learnopencv.com/facial-landmark-detection/#comment-2471797375
作为计算机视觉研究员我们很早就开始研究人脸。人脸分析领域最广为人知的就是人脸识别face recognition.但是为了识别一幅图像中的人脸我们首先必须要找到图像中人脸的位置。因此人脸检测face detection)-定位一幅图像中的人脸并且返回一个包围人脸的矩形或者正方形bounding rectangle/square是一个热门的研究领域。2001年Paul Viola 和Michael Jones 发表了史诗级论文 “Rapid Object Detection using a Boosted Cascade of Simple Features..在OpenCV早期甚至某种程度下在现在OpenCV的致命武器就是对 Viola and Jones face detector的一个比较好的实现。
一旦你找到了人脸附近的包围盒最显然的研究当然是准确识别人脸不同特征的位置比如眼角、瞳孔、嘴巴、鼻子等。人脸特征检测face feature detection也称为 “facial landmark detection”, “facial keypoint detection” and “face alignment”你可以在Google找到类似的文献。
Facial Keypoint Detection
人脸关键点检测有很多应用。如下做了一些列举
Facial feature detection improves face recognition
人脸特征点可以被用来将人脸对齐到平均人脸mean face shape,这样在对齐之后所有图像中的人脸特征点的位置几乎是相同的。直观上来看用对齐后的图像训练的人脸识别算法更加有效这个直觉已经被很多论文验证。
Head pose estimation
一旦你知道了一些特征点的位置你也可以估计头部的姿势。换句话说你可以解决头部在空间中的定向问题或者通俗的讲就是人朝那里看的问题。
Face Morphing 人脸变形
人脸特征点可以对齐人脸这样可以生成两张人脸的中间图像。如下图
Virtual Makeover虚拟化妆
在我的公司 我们已经写了自己的人脸特征点检测器。检测出的特征点被用来计算嘴的轮廓眼睛等用来渲染虚拟化妆。Figure2z展示了这一效果:
Face Replacement
如何两张人脸的特征点已经估计出来了你可以将一张人脸对齐到另一张人脸并且可以无缝换脸。你也可以做像下面一样傻瓜的事。 https://auduno.github.io/clmtrackr/examples/facesubstitution.html
先前的报告中我们展示了如何使用人脸特征点去预测人脸的吸引力。
很明显在图片和视频上进行人脸特征点检测为许多有趣的应用提供了很多的可能性。下面我们就将介绍一些有用的特征点检测工具。
Facial Feature Detection Tracking Libraries
过去五年来这个领域很火部分原因是大量可以用来训练的数据如LFPW、Helen被提供。我在下一节列了很多论文。但是我不建议胡乱实现这些论文因为已经有开源的实现。
下面的视频中你可以看到两个库Dlib和CLM-framework. http://7xrqgw.com1.z0.glb.clouddn.com/dlib_clm.mp4
Dlib(C/Python)
Dlib是机器学习计算机视觉图像处理线性代数中众多算法的集合。库中大多数是头文件你可以直接直接包含在C应用中。或者你更喜欢Python?没问题他也有一个Python接口.
我个人更喜欢Dlib因为代码是简洁的有大量的注释也可以被用来商用。他们选择实现的算法是非常快的并且是准确的你可以很容易集成这个库到你的C工程中而你需要做的仅仅是包含头文件.
如何编译Dlib?
从Github上下载
git clone https://github.com/davisking/dlib.git
建立ExamplesOSX\Linux
cd dlib/examples
mkdir build
cd build
cmake ..
cmake --build . --config Release
这些例子是一个开始使用Dlib的非常好的方法。拷贝一个例子的cpp文件修改它修改examples/CMakeLists.txt 并且像上面一样再一次编译它。很容易吧 3. 编译dlib python 模块
cd dlib/python_examples
./compile_dlib_python_module.bat
设置 PYTHONPATH 环境变量
# Put the following line in .bashrc or .profile
export PYTHONPATH/path/to/dlib/python_examples:$PYTHONPATH测试python模块
python -c import dlib
如果以上都没有问题的话你就设置好了。
How to run Dlib’s facial landmark detector ?
当你编译好examples后为了在网络摄像头上运行人脸特征点检测器可以这样做:
cd examples/build/
#Download the face landmark model
wget http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
tar xvjf shape_predictor_68_face_landmarks.dat.bz2
./webcam_face_pose_ex
如果你想要在单个图像上运行你可以这样试试:
./face_landmark_detection_ex shape_predictor_68_face_landmarks.dat faces/*.jpgCLM-Framework (C)
CLM-framework,也被称为剑桥人脸跟踪器是一个用来进行人脸特征点检测和头部姿势估计的C库。你可以看看他在包含的video文件里工作的多么好啊在OSX上编译这个库有点儿挑战但是也不太难。库依赖于OpenCV3和X11.
有两个重要的事说明Dlib可以挑战CLM-Framework。首先Dlib比CLM-Framework更快。其次Dlib的license允许你商用。如果要挑一个的我会使用Dlib.有趣的是CLM-Framework依赖于Dlib.
如何编译CLM-Framework
编译CLM-Framework在OSX上有点儿复杂。对于Windows和linux这里有一份详细的说明.为了在OSX上编译version 1.3.0,我使用了linux的指示但是发生了很多改变。
许多依赖项可以使用brew安装.
在文件CMakeLists.txt(如下划掉的被后面的取代)
find_package( OpenCV 3.0 REQUIRED )
find_package( OpenCV 3.0 REQUIRED HINTS /path/to/opencv )
INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(/opt/X11/include)
在文件exe/SimpleCLM/SimpleCLM.cpp中
writerFace VideoWriter(tracked_videos_output[f_n], CV_FOURCC(‘D’,’I’,’V’,’X’), 30, captured_image.size(), true);
writerFace VideoWriter(tracked_videos_output[f_n], CV_FOURCC(‘M’,’P’,’4′,’V’), 15, captured_image.size(), true);
如何运行CLM-Framework人脸检测器
编译后可执行文件在bin路径中.对于视频中展现的网络摄像头Demo你可以这样使用
bin/SimpleCLM
Face ( FacePlusPlus ) : Web API
人脸特征点检测最好的实现之一就是Face.他们在300 Faces in-the-Wild Landmark Detection Challenge,2013取得了冠军。他们提供了一个易用的API。问题是你需要上传一张图片到他们的服务器这个将带来很多隐私上的担忧。但是如果隐私不是问题的话Face是一个好的选择。你可以在 http://www.faceplusplus.com/demo-landmark/ 看到一个Demo.
Facial Feature Detection Research
许多不同的方法都可以用来解决这个问题。很难再博客中对其归类。我简单地列出了一些重要论文。 1. Active Appearance Model (AAM) by T. Cootes, G. Edwards and C. J. Taylor. [1998] 2. Face Alignment through Subspace Constrained Mean-Shifts by Jason M. Saragih, Simon Lucey and Jeffrey F. Cohn. [2009] 3. Localizing Parts of Faces Using a Consensus of Exemplars by Peter N. Belhumeur, David W. Jacobs, David J. Kriegman, Neeraj Kumar [ 2011 ] 4. Face Alignment by Explicit Shape Regression by Xudong Cao Yichen Wei Fang Wen Jian Sun [2012] 5. Supervised Descent Method and Its Applications to Face Alignment by Xuehan Xiong and Fernando De la Torre [2013] 6. Constrained Local Neural Fields for robust facial landmark detection in the wild by Tadas Baltrusaitis, Peter Robinson, and Louis-Philippe Morency. [2013] 7. Extensive Facial Landmark Localization with Coarse-to-fine Convolutional Network Cascade by Erjin Zhou, Haoqiang Fan, Zhimin Cao, Yuning Jiang and Qi Yin. [2013] 8. Face alignment at 3000 fps via regressing local binary features by S Ren, X Cao, Y Wei, J Sun. [2014] 9. Facial Landmark Detection by Deep Multi-task Learning by Zhanpeng Zhang, Ping Luo, Chen Change Loy, and Xiaoou Tang. [2014] 10.One Millisecond Face Alignment with an Ensemble of Regression Trees by Vahid Kazemi and Josephine Sullivan. [2014]
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89032.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!