Hybrid Face Detection by Thresholding in Diverse
Total Page:16
File Type:pdf, Size:1020Kb
Author Maryam Abdollahi Khameneh Submission Institute of Computational Perception HYBRID FACE Thesis Supervisor a. Univ.-Prof., Dr. Josef DETECTION BY Scharinger THRESHOLDING IN February 2019 DIVERSE COLOR SPACES Master’s Thesis to confer the academic degree of Diplom-Ingenieurin in the Master’s Program Computer Science JOHANNES KEPLER UNIVERSITY LINZ Altenberger Straße 69 4040 Linz, Austria jku.at DVR 0093696 Abstract With the development of information technology and pattern recognition, authentication based on certain biometric traits of people such as face recognition began to appear in finance, photography, tracking, artificial intelligence, and various security applications. Face detection is the first step of face recognition and human-computer interaction systems. Several different algorithms with different advantages and drawbacks are introduced to determine the location of the face in an input image with the aim of high accuracy and speed. This thesis introduces a hybrid face detection system to detect multiple faces in a single input image with different environmental conditions. The aim of the proposed approach is to first obtain face region candidates by applying a novel skin color segmentation method with a new thresholding segmentation formula which is a combination of three color spaces: Normalized RGB, HSV, and YCgCr to reduce the search area and computational costs. Next, to reduce the false detection rate in case of complex backgrounds and the parts with the similar color to the skin color, AdaBoost algorithm is applied only on regions of interest to distinguish between human faces and nonhuman faces. The resulting image contains the locations of all presented human faces which are marked with a bounding box. The results of the proposed method depict that this method has respectable results in different environmental conditions compared to the other methods. 1 Kurzfassung Mit der Entwicklung von Informatik und Mustererkennung begann die biometrische Authentifizierung, basierend auf Merkmalen wie zum Beispiel dem menschlichen Gesicht, in Bereiche wie Finanz, Fotografie, Spurensicherung, künstliche Intelligenz und verschiedene Sicherheitsapplikationen Einzug zu halten. Hierbei ist die Erkennung der Gesichtsposition der erste Schritt, welcher für Identifikation anhand des Gesichts oder für Anwendungen in der Mensch-Computer-Interaktion notwendig ist. Viele verschiedene Algorithmen, welche mit verschiedenen Vorteilen und Nachteilen behaftet sind, wurden entwickelt, um die Position von Gesichtern in einem Foto mit hoher Genauigkeit und Geschwindigkeit zu erkennen. Diese Masterarbeit stellt ein hybrides Gesichtserkennungssystem vor, um mehrere Gesichter in einem Foto auch bei unterschiedlichsten Bedingungen zu detektieren. Der Ansatz ist, zuerst mögliche Regionen mit Gesichtern zu bestimmen, indem man eine neuartige Methode zur Segmentierung basierend auf der Hautfarbe anwendet. Diese Methode wendet eine neue Formel zur Schwellwertbildung an, welche eine Kombination von drei Farbräume ist: Normalisiertes RGB, HSV und YCgCr. Diese Segmentierung reduziert den Suchbereich und damit den Rechenaufwand für nachfolgende Verarbeitungsschritte. Um die Anzahl der falsch detektierten Gesichter bei komplexen Hintergründen oder in Regionen mit hautähnlicher Farbe zu verringern, wird daher nach der Segmentierung der AdaBoost Algorithmus angewendet. Dieser AdaBoost Algorithmus wird nur auf jene Regionen angewandt, welche von der Hautfarbe-basierten Segmentierung geliefert wurden, und soll jene Bereiche erkennen, die tatsächlich ein Gesicht enthalten. Das resultierende Foto beinhaltet die Positionen aller Gesichter im Bild, welche jeweils mit einem Rahmen markiert sind. Die experimentelle Evaluierung der vorgeschlagenen Methode zeigt, dass diese Methode bemerkenswerte Ergebnisse auf unterschiedlichsten Eingabebildern erzielen kann und im Vergleich zu anderen Methoden hervorragend abschneidet. 2 Acknowledgements First of all, I would like to thank my supervisor a.Univ.-Prof., Dr. Josef Scharinger for the patient guidance, encouragement, valuable time and continuous support he has provided me throughout this thesis. Furthermore, I would like to express my deep gratitude to my whole family especially my parents for supporting me spiritually throughout my life. 3 Contents 1 Introduction ............................................................................................................. 6 1.1 Motivation ......................................................................................................... 6 1.2 Problem statement ............................................................................................. 7 1.3 Outline ............................................................................................................... 9 2 Related work .......................................................................................................... 10 2.1 Face detection based on skin color and AdaBoost algorithm, by [8] ............. 10 2.1.1 Introduction and overview .......................................................................... 10 2.1.2 Proposed method ......................................................................................... 10 2.1.3 Conclusion .................................................................................................. 11 2.2 A hybrid skin color detection using HSV and YCgCr color space for face detection, by [9] .......................................................................................................... 13 2.2.1 Introduction and overview .......................................................................... 13 2.2.2 Proposed method ......................................................................................... 13 2.2.3 Results ......................................................................................................... 15 2.3 A new face detection algorithm based on skin color segmentation, by [1] .... 17 2.3.1 Introduction and overview .......................................................................... 17 2.3.2 Proposed method ......................................................................................... 17 2.3.3 Results ......................................................................................................... 19 3 Theory .................................................................................................................... 21 3.1 Face detection and recognition ....................................................................... 21 3.2 Face detection methods ................................................................................... 23 3.3 Skin color detection ........................................................................................ 29 3.3.1 Color space models ..................................................................................... 31 3.4 Viola-Jones face detection .............................................................................. 39 3.4.1 Haar-like features ........................................................................................ 40 3.4.2 AdaBoost algorithm .................................................................................... 44 3.4.3 Cascade classifier ........................................................................................ 47 4 Tools ....................................................................................................................... 49 4 4.1 Open Source Computer Vision (version 3.4.0) ............................................... 49 4.2 MATLAB R2017b .......................................................................................... 50 4.3 MexOpenCV ................................................................................................... 50 4.4 CMake (version 3.10.2) .................................................................................. 50 4.5 Visual Studio 2017 .......................................................................................... 51 4.6 Dataset (FDDB) .............................................................................................. 51 5 Implementation ..................................................................................................... 53 5.1 Program requirements ..................................................................................... 53 5.1.1 CMake installation (Version 3.10.2) ........................................................... 53 5.1.2 OpenCV installation (Version 3.4.0) .......................................................... 54 5.1.3 MexOpenCV installation ............................................................................ 55 5.2 Face detection method .................................................................................... 56 5.2.1 Skin color detection .................................................................................... 57 5.2.2 Morphological operations ........................................................................... 65 5.2.3 Face detection using AdaBoost (Viola-Jones method) ............................... 66 6 Results .................................................................................................................... 71 7 Conclusion.............................................................................................................. 84 8 Future work ........................................................................................................... 85 References