Benchmarking OpenCV's LBPH Face Recognition Algorithm – Study Related Research Publication
Benchmarking the LBPH Face Recognition
Algorithm with OpenCV and Python – Kinzig, von Harscher (2016)
For the study module “Advanced Real Time Systems” in my former master’s degree program High Integrity Systems, the task was to work on a project which is closely related to real time systems.
A fellow student of mine and I decided to work on a current topic of computer sciences: Face Recognition and wether it is usable in real time applications or not. We took the (at that time) current OpenCV distribution and did a benchmark wether OpenCV’s face detector and face recognizer is real time capable. We did a benchmark on the LBPH (local binary pattern histograms) face recognizer which is shipped with OpenCV 2.4.
For performing the task successfully it was necessary to develop an application which first detects a face from a stream, learns the face (the name of the person), and later recognizes it and writes the learned name to the face. The video stream was provided by a simple USB webcam so that the faces could be learned from that stream and could then be recognized in the same context. Implementation was done using Python and the OpenCV 2.4 libraries.
The final outcome was that the LBPH face recognizer included with OpenCV 2.4 is indeed usable in real time applications. Finally the project was presented to the other students and to the Professor, it was graded with 1.3 (which is very close to very good).