top of page


In the last 20 years, face recognition has received a lot of attention from researchers and there exist some very well performing methods. Nevertheless, those methods are computationally expensive while the methods that are not expensive are either slow, inaccurate, or both.
When dealing with humanoid robots, it should be taken into account that the processing power is limited while accurate real-time performance is required. Therefore, a robust real-time face recognition system with low computational complexity is proposed.



The first step of the algorithm 

consists of acquiring the images and localizing the face. The robot takes several images of a person and applies Viola-Jones Face Detector. Viola-Jones works by generating a huge amount of very simple features called Haar-like features, reducing their amount with Adaboost that finds the best features and forms a strong classifier. At the end of this step, a face is cropped out of the original image and used as input for the following steps.

Local Binary Patterns

The second step is applying local binary patterns. Each 3-by-3 pixel neighbourhood is thresholded against the center pixel and assigned a 0 if it is smaller and 1 if it is larger or equal than the center pixel. Every pixel will be labeled with the correspondingly resulting binary number's value.

Ensemble Method

Labeled face images in each colour channel are then block-wise converted into probability distribution functions which are compared using the Kullback-Leibner divergence. Results from different channels are fused with simple ensemble methods, so as not to use too much processing power.

How it Works


The proposed method was tested on known databases that enable comparing it with other methods in the literature, but also on a self-made database. 

Average Recognition Rate 
Average Recognition Rate
bottom of page