## SeetaFace Alignment
[![License](https://img.shields.io/badge/license-BSD-blue.svg)](../LICENSE)
### Description
Instead of a straightforward application of deep network, SeetaFace Alignment implements a Coarse-to-Fine Auto-encoder
Networks (CFAN) approach, which cascades a few Stacked Auto-encoder Networks (SANs) to progressively approach the accurate locations of the facial landmarks. The algorithm details can be found in our ECCV-2014 paper [CFAN](#citation). The released SeetaFace Alignment is trained with more than 23,000 images and can accurately detect five facial landmarks, i.e., two eye centers, nose tip and two mouth corners. Please note that this implementation is slightly different from that described in the corresponding paper: only two stages are cascaded for the purpose of higher speed (more than 200 fps on I7 desktop CPU).
SeetaFace Alignment is implemented for running on CPU with no dependence on any third-party libraries. Currently it is only tested on Windows, but it does not include any Windows-specific headers. Versions for more platforms, e.g., Linux, will be released in the future. The open source is released under BSD-2 license (see [LICENSE](../LICENSE)), which means the codes can be used freely for both acedemic purpose and industrial products.
### Performance Evaluation
To evaluate the performance of SeetaFace Alignment, experiments are conducted on [AFLW](http://lrs.icg.tugraz.at/research/aflw/), following the protocol published in [3]. The mean alignment errors normalized by the inter-ocular distance are shown in the following figure. As you can see, our SeetaFace Alignment achieves better accuracy than comparative methods.
![aflw_nrmse](./doc/aflw_nrmse.png)
Where LE, RE, N, LM, RM denote the left eye center, the right eye center, the nose tip, left mouth corner and right mouth corner respectively.
> [1] Xuehan Xiong, Fernando De la Torre. Supervised descent method and its applications to face alignment. CVPR 2013
> [2] Yi Sun, Xiaogang Wang, Xiaoou Tang. Deep Convolutional Network Cascade for Facial Point Detection. CVPR 2013
> [3] Zhanpeng Zhang, Ping Luo, Chen Change Loy, Xiaoou Tang. Facial Landmark Detection by Deep Multi-task Learning. ECCV 2014
As for speed, it takes about 5 milliseconds per face to predict the 5 facial points, given a face bounding box reported by SeetaFace Detector, running on a single Intel 3.4GHz i7-3770 CPU with no parallel computing.
### Build Shared Lib with Visual Studio
1. Create a dll project: New Project -> Visual C++ -> Win32 Console Application -> DLL.
2. *(Optional) Create and switch to x64 platform.*
3. Add [header files](./include): all `*.h` files in `include`.
4. Add [source files](./src): all `*.cpp` files in `src` except for those in `src/test`.
5. Define `SEETA_EXPORTS` macro: (Project) Properities -> Configuration Properties -> C/C++ -> Preprocessor -> Preprocessor Definitions.
6. Build.
### How to run SeetaFace Alignment
This version is developed to detect five facial landmarks, i.e., two eyes' centers, nose tip and two mouth corners.
To detect these facial landmarks, one should first instantiate an object of `seeta::FaceAlignment` with path of the model file.
```c++
seeta::FaceAlignment landmark_detector("seeta_fa_v1.0.bin");
```
Then one can call `PointDetectLandmarks(ImageData gray_im, FaceInfo face_info, FacialLandmark *points)` to detect landmarks.
```c++
seeta::ImageData image_data(width, height);
image_data.data = image_data_buf;
image_data.num_channels = 1;
seeta::FaceInfo face_bbox;
seeta::FacialLandmark points[5];
landmark_detector.PointDetectLandmarks(image_data, face_bbox, points);
```
Where **image_data** denotes an input gray image, **face_bbox** is the face bouding box detected by [Seeta - Face Detection] (https://github.com/seetaface/SeetaFaceEngine/tree/master/FaceDetection),
The landmarks detection results are returned in **points**. An example can be found in file [face_alignment_test.cpp](./src/test/face_alignment_test.cpp).
### Citation
If you use the code in your work, please consider citing our work as follows:
@inproceedings{zhang2014coarse,
title={Coarse-to-fine auto-encoder networks (cfan) for real-time face alignment},
author={Zhang, Jie and Shan, Shiguang and Kan, Meina and Chen, Xilin},
booktitle={European Conference on Computer Vision},
year={2014},
organization={Springer}}
### License
SeetaFace Alignment is released under the [BSD 2-Clause license](../LICENSE).
没有合适的资源?快使用搜索试试~ 我知道了~
SeetaFace_Alignment.zip
共100个文件
h:24个
tlog:21个
obj:7个
5星 · 超过95%的资源 需积分: 12 468 下载量 33 浏览量
2016-09-26
08:55:50
上传
评论 6
收藏 38.98MB ZIP 举报
温馨提示
山世光老师的SeetaFace_Alignment,的代码,已经改成可以运行的,你值得拥有
资源推荐
资源详情
资源评论
收起资源包目录
SeetaFace_Alignment.zip (100个子文件)
seeta_fa_v1.0.bin 1.99MB
seeta_fd_frontal_v1.0.bin 1.15MB
cfan.cpp 14KB
sift.cpp 13KB
face_alignment_test.cpp 4KB
face_alignment.cpp 3KB
SeetaFace_FaceDetection_DLL.dll 457KB
SeetaFace_FaceAlignment_DLL.dll 86KB
SeetaFace_FaceAlignment_DLL.dll 86KB
SeetaFace_FaceAlignment_test.exe 94KB
SeetaFace_FaceAlignment_DLL.exp 1KB
SeetaFace_FaceAlignment_test.exp 795B
SeetaFace_FaceAlignment_DLL.vcxproj.filters 1KB
SeetaFace_FaceAlignment_test.vcxproj.filters 960B
surf_feature_map.h 5KB
image_pyramid.h 5KB
cfan.h 5KB
cfan.h 5KB
math_func.h 4KB
sift.h 4KB
sift.h 4KB
mlp.h 4KB
face_detection.h 3KB
lab_boosted_classifier.h 3KB
fust.h 3KB
lab_feature_map.h 3KB
common.h 3KB
common.h 3KB
surf_mlp.h 3KB
face_alignment.h 2KB
face_alignment.h 2KB
lab_boost_model_reader.h 2KB
detector.h 2KB
feature_map.h 2KB
classifier.h 2KB
surf_mlp_model_reader.h 2KB
model_reader.h 2KB
nms.h 2KB
vc120.idb 779KB
vc120.idb 651KB
SeetaFace_FaceAlignment_test.ilk 511KB
SeetaFace_FaceAlignment_DLL.ilk 417KB
2.jpg 122KB
5.jpg 78KB
3.jpg 47KB
4.jpg 42KB
1.jpg 36KB
SeetaFace_FaceAlignment_DLL.lastbuildstate 186B
SeetaFace_FaceAlignment_test.lastbuildstate 185B
SeetaFace_FaceAlignment_DLL.lastbuildstate 184B
SeetaFace_FaceDetection_DLL.lib 5KB
SeetaFace_FaceAlignment_DLL.lib 3KB
SeetaFace_FaceAlignment_DLL.lib 3KB
SeetaFace_FaceAlignment_test.lib 2KB
SeetaFace_FaceAlignment_DLL.log 4KB
SeetaFace_FaceAlignment_DLL.log 3KB
SeetaFace_FaceAlignment_test.log 2KB
SeetaFace_FaceAlignment_DLL.Build.CppClean.log 2KB
README.md 4KB
cfan.obj 895KB
sift.obj 827KB
face_alignment.obj 810KB
face_alignment_test.obj 369KB
cfan.obj 184KB
sift.obj 156KB
face_alignment.obj 141KB
SeetaFace_FaceAlignment_test.pdb 2.12MB
vc120.pdb 1.23MB
SeetaFace_FaceAlignment_DLL.pdb 787KB
vc120.pdb 436KB
vc120.pdb 404KB
SeetaFace_FaceAlignment_test.sdf 61.38MB
SeetaFace_FaceAlignment_DLL.sdf 57.38MB
SeetaFace_FaceAlignment_test.sln 1KB
SeetaFace_FaceAlignment_DLL.sln 1KB
SeetaFace_FaceAlignment_DLL.v12.suo 21KB
SeetaFace_FaceAlignment_test.v12.suo 20KB
CL.read.1.tlog 44KB
CL.read.1.tlog 44KB
CL.read.1.tlog 18KB
SeetaFace_FaceAlignment_test.write.1u.tlog 7KB
link.read.1.tlog 5KB
link.read.1.tlog 4KB
link.read.1.tlog 4KB
cl.command.1.tlog 3KB
cl.command.1.tlog 3KB
CL.write.1.tlog 3KB
CL.write.1.tlog 2KB
link.command.1.tlog 2KB
link.command.1.tlog 2KB
link.command.1.tlog 2KB
link.write.1.tlog 1KB
link.write.1.tlog 970B
cl.command.1.tlog 910B
CL.write.1.tlog 832B
link.write.1.tlog 780B
SeetaFace_FaceAlignment_DLL.write.1u.tlog 604B
SeetaFace_FaceAlignment_DLL.write.1u.tlog 596B
SeetaFace_FaceAlignment_test.vcxproj 5KB
SeetaFace_FaceAlignment_DLL.vcxproj 4KB
共 100 条
- 1
watersink
- 粉丝: 5170
- 资源: 87
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页