My implementation of high dimensional LBP feature for face recognition
Switch branches/tags
Clone or download
Latest commit 3edfa94 Jul 29, 2014
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin v1.0 Jun 2, 2014
data v1.0 Jun 2, 2014
include update face detector Jul 4, 2014
src update face detector Jul 4, 2014
.gitignore v1.0 Jun 2, 2014 update readme Jul 29, 2014


My implementation of high dimensional lbp feature for face recognition based on

Dong Chen, Xudong Cao, Fang Wen, Jian Sun. Blessing of Dimensionality: High-dimensional Feature and Its Efficient Compression for Face Verification. Computer Vision and Pattern Recognition (CVPR), 2013.

I use openCV for face detection and IntraFace for facial landmark detection.

Details of the implementations can be found in

Bor-Chun Chen, Chu-Song Chen, Winston H. Hsu. Review and Implementation of High-Dimensional Local Binary Patterns and Its Application to Face Recognition, Technical Report TR-IIS-14-003, Institute of Information Science, Academia Sinica, 2014. (PDF)

If you use this code for your research, please kindly cite the technical report above.

For more information, pelase visit the project website



Install openCV and change the first line in src/Makefile to opencv home directory:

OPENCV_HOME = /path/to/opencv/


Download IntraFace Library from (I used v1.0)

and put

  1. libintraface.a to lib/
  2. DetectionModel-v1.5.yml,TrackingModel-v1.10.yml to data/
  3. **FaceAlignment.h **, Marcos.h, XXDescriptor.h to include/


change to src directory and type make


If everythings goes right, there will be to binary files in bin/

face-detection will detect the largest face in the input images and crop the faces into a new image.

Usage: face-detection [-m model_file -o output_dir -s output_scale -l min_size] input_images

model_file: face detection model file, default: ../data/fdetector_model.dat
output_dir: output directory for face images, default: ./
output_scale: output face image size, default: 250
min_size: minimal face size for detection, default: 100
input_images: images for face detection

After face detection, we can extract the high dimensional LBP features using extract-lbp:

Usage: extract-lbp [-m model_dir -o output_dir] input_images

model_dir: model directory for landmark detection, default: ../data/
output_dir: output directory for lbp features, default: ./
input_images: face images for featrue extraction

The output will be image_name.lbp which contains 75,520 dimensional lbp features


If you have any questions, feel free to contact me at