Igor Markov Face Detection and Classification on Mobile Devices.

Slides:



Advertisements
Similar presentations
Jan-Michael Frahm, Enrique Dunn Spring 2013
Advertisements

Templates in C++. Generic Programming Programming/developing algorithms with the abstraction of types The uses of the abstract type define the necessary.
EE462 MLCV Lecture 5-6 Object Detection – Boosting Tae-Kyun Kim.
Rapid Object Detection using a Boosted Cascade of Simple Features Paul Viola, Michael Jones Conference on Computer Vision and Pattern Recognition 2001.
Rapid Object Detection using a Boosted Cascade of Simple Features Paul Viola, Michael Jones Conference on Computer Vision and Pattern Recognition 2001.
Face Detection & Synthesis using 3D Models & OpenCV Learning Bit by Bit Don Miller ITP, Spring 2010.
Face Alignment with Part-Based Modeling
Facial feature localization Presented by: Harvest Jang Spring 2002.
Face Recognition and Biometric Systems
Bohr Robot Group OpenCV ECE479 John Chhokar J.C. Arada Richard Dixon.
Face Recognition & Biometric Systems, 2005/2006 Face recognition process.
A Mobile-Cloud Pedestrian Crossing Guide for the Blind
Virtual Dart: An Augmented Reality Game on Mobile Device Supervisor: Professor Michael R. Lyu Prepared by: Lai Chung Sum Siu Ho Tung.
HCI Final Project Robust Real Time Face Detection Paul Viola, Michael Jones, Robust Real-Time Face Detetion, International Journal of Computer Vision,
Face Recognition with Harr Transforms and SVMs EE645 Final Project May 11, 2005 J Stautzenberger.
i Sight1 April 1998 i Sight2 Objective u Present i Sight Company. u Present i Sight Technologies. u Description of technologies. u Status of each technology.
Learning and Vision: Discriminative Models
2007Theo Schouten1 Introduction. 2007Theo Schouten2 Human Eye Cones, Rods Reaction time: 0.1 sec (enough for transferring 100 nerve.
CS335 Principles of Multimedia Systems Multimedia and Human Computer Interfaces Hao Jiang Computer Science Department Boston College Nov. 20, 2007.
Robust Real-Time Object Detection Paul Viola & Michael Jones.
EECE 279: Real-Time Systems Design Vanderbilt University Ames Brown & Jason Cherry MATCH! Real-Time Facial Recognition.
Viewpoint Tracking for 3D Display Systems A look at the system proposed by Yusuf Bediz, Gözde Bozdağı Akar.
Oral Defense by Sunny Tang 15 Aug 2003
TEAM-1 JACKIE ABBAZIO SASHA PEREZ DENISE SILVA ROBERT TESORIERO Face Recognition Systems.
Wen-Chyi Lin CS2310 Software Engineering.  “Never express yourself more clearly than you are able to think” by Niels Bohr. However, there are times and.
Facial Feature Detection
Face Detection using the Viola-Jones Method
HiTrack Introduction Shanghai Zhuo-Shi Software Technology Co., Ltd Shanghai Zhuo-Shi Software Technology Co., Ltd
EADS DS / SDC LTIS Page 1 7 th CNES/DLR Workshop on Information Extraction and Scene Understanding for Meter Resolution Image – 29/03/07 - Oberpfaffenhofen.
PortableVision-based HCI A Hand Mouse System on Portable Devices 連矩鋒 (Burt C.F. Lien) Computer Science and Information Engineering Department National.
Introduction to Computer Vision Olac Fuentes Computer Science Department University of Texas at El Paso El Paso, TX, U.S.A.
Visual Tracking with Online Multiple Instance Learning
Face Recognition System By Arthur. Introduction  A facial recognition system is a computer application for automatically identifying or verifying a person.
Detecting Pedestrians Using Patterns of Motion and Appearance Paul Viola Microsoft Research Irfan Ullah Dept. of Info. and Comm. Engr. Myongji University.
Access Control Via Face Recognition Progress Review.
Window-based models for generic object detection Mei-Chen Yeh 04/24/2012.
Sign Classification Boosted Cascade of Classifiers using University of Southern California Thang Dinh Eunyoung Kim
Face detection Slides adapted Grauman & Liebe’s tutorial
DIEGO AGUIRRE COMPUTER VISION INTRODUCTION 1. QUESTION What is Computer Vision? 2.
Terrorists Team members: Ágnes Bartha György Kovács Imre Hajagos Wojciech Zyla.
Robust Real-time Face Detection by Paul Viola and Michael Jones, 2002 Presentation by Kostantina Palla & Alfredo Kalaitzis School of Informatics University.
ECE738 Advanced Image Processing Face Detection IEEE Trans. PAMI, July 1997.
Tony Jebara, Columbia University Advanced Machine Learning & Perception Instructor: Tony Jebara.
Face Detection Ying Wu Electrical and Computer Engineering Northwestern University, Evanston, IL
Robust Object Tracking with Online Multiple Instance Learning
Automated Solar Cavity Detection
BIOMETRICS THE MAN MACHINE INTERFACE
The Viola/Jones Face Detector A “paradigmatic” method for real-time object detection Training is slow, but detection is very fast Key ideas Integral images.
CDVS on mobile GPUs MPEG 112 Warsaw, July Our Challenge CDVS on mobile GPUs  Compute CDVS descriptor from a stream video continuously  Make.
Learning to Detect Faces A Large-Scale Application of Machine Learning (This material is not in the text: for further information see the paper by P.
Delivering Business Value through IT Face feature detection using Java and OpenCV 1.
Face Image-Based Gender Recognition Using Complex-Valued Neural Network Instructor :Dr. Dong-Chul Kim Indrani Gorripati.
GENDER AND AGE RECOGNITION FOR VIDEO ANALYTICS SOLUTION PRESENTED BY: SUBHASH REDDY JOLAPURAM.
Hand Gesture Recognition Using Haar-Like Features and a Stochastic Context-Free Grammar IEEE 高裕凱 陳思安.
IBM - CVUT Student Research Projects IBM Presence detection Milan Stezka
Facial Recognition By Lisa Tomko.
Face Detection & Recognition
Face Detection 蔡宇軒.
1 Munther Abualkibash University of Bridgeport, CT.
2. Skin - color filtering.
License Plate Detection
PRESENTED BY Yang Jiao Timo Ahonen, Matti Pietikainen
FACE DETECTION USING ARTIFICIAL INTELLIGENCE
Proposed architecture of a Fully Integrated
Play game, pause video, move cursor… with your eyes
Student: Wanli Ouyang (歐陽萬里) Supervisor: Prof. W.K. Cham
Progress report 2019/1/14 PHHung.
Paper Reading Dalong Du April.08, 2011.
ECE738 Final Project Face Detection Baseline
PRELIMINARY DESIGN REVIEW
Presentation transcript:

Igor Markov Face Detection and Classification on Mobile Devices

2 Agenda Introduction Algorithms The project Free frameworks 2

3 What is face detection for? Camera focusing Tagging faces on photos Marketing studies Surveillance Special effects (Augmented Reality) Robotics 3

4 On mobile devices? The same thing. 4

5 Face classification Gender Age Emotion Ethnic group 5

6 Face tracking Is this the same person in the next video frame? 6

7 Traditional algorithms Search for eyes, nose, mouth, etc Estimate relative positions of these points... or, comparison with templates Eigenfaces Linear Discriminate Analysis Elastic Bunch Graph Matching Multilinear Subspace Learning Dynamic link matching 7

8 Proposed in 2001 by Paul Viola and Michael JonesPaul Viola Real-time enough A face can be rotated by angle up to 30° Good for embedded solutions Learning is rather slow 8 Viola–Jones Object Detection Framework

9 Sub-window Size is 24×24 Moves through all possible positions 9

10 The light part is added The dark part is subtracted 10 Haar-like features

11 Haar Feature Example 11

12 Integral Image 12

13 Classifiers Cascade 13

14 Learning: Photo Set At&T Facedatabase Yale Facedatabase A Extended Yale Facedatabase B FERET 14

15 Machine Learning Boosting AdaBoost 15

16 Classification Learning: AdaBoost Classifications: Local Binary Patterns, EigenFaces, etc. 16 ? ?

17 Use Case Face detection and classification for marketing study Video stream from a camera, real time Using Android phone High performance 17

18 Generic scheme on Android Scheme - camera, native, overlays 18

19 Optimizations Avoid large data copying double ➙ int Early exit from loops Parallelization SIMD 19

20 Parallel Detection Thread pool (max threads = CPU cores number) For each possible sub-window size: Put a task to the thread pool Wait for results 20

21 NEON code 21 loop: vldmia %0!, {%d8, %d9} //q4 <- data[i][j] vldmia %3!, {%d28, %d29} //q14 <- integral_fi[i-1][j] vldmia %5!, {%d30, %d31} //q15 <- sq_integral_fi[i-1][j] vmul.f32 %q5, %q4, %q4 //q5 <- data^2 vmov %d1, %d8 // q0[2-3] <- q4[0-1] vadd.f32 %q4, %q0 vext.32 %d3, %d8, %d9, #1 // q1[2-3] <- q4[1-2] vmov %s5, %s16 // q1[1] <- q4[0] vadd.f32 %q4, %q1 //data is summed in q4 vmov %d5, %d10 // q2[2-3] <- q5[0-1] vadd.f32 %q5, %q2 vext.32 %d7, %d10, %d11, #1 // q3[2-3] <- q5[1-2] vmov %s13, %s20 // q3[1] <- q5[0]

22 Public Frameworks OpenCV (FaceRecognizer) Android SDK (Camera Face Listener) iOS SDK (Core Image) Lots of them (facedetection.com) 22

23 OpenCV Open source C++ Many useful algorithms and primitives 23 FaceRecognizer model = createEigenFaceRecognizer();.... int predictedLabel = model->predict(testSample);

24 Android SDK Face Detection 24 class MyFaceDetectionListener implements Camera.FaceDetectionListener { public void onFaceDetection(Face[] faces, Camera camera) { int i = 0; for (Face face : faces) { Log.i("FD", "face detected: " + (++i) + " of " + faces.length + "X: " + faces.rect.centerX() + "Y: " + faces.rect.centerY()); }

25 iOS Core Image 25 CIContext *context = [CIContext contextWithOptions:nil]; NSDictionary *opts CIDetectorAccuracy : CIDetectorAccuracyHigh }; CIDetector *detector = [CIDetector detectorOfType:CIDetectorTypeFace context:context options:opts]; opts CIDetectorImageOrientation : [[myImage properties] valueForKey:kCGImagePropertyOrientation] }; NSArray *features = [detector featuresInImage:myImage options:opts];