Project Report for EE7700

Similar documents
Learning to Detect Faces. A Large-Scale Application of Machine Learning

Viola Jones Face Detection. Shahid Nabi Hiader Raiz Muhammad Murtaz

FACE DETECTION BY HAAR CASCADE CLASSIFIER WITH SIMPLE AND COMPLEX BACKGROUNDS IMAGES USING OPENCV IMPLEMENTATION

COMS W4735: Visual Interfaces To Computers. Final Project (Finger Mouse) Submitted by: Tarandeep Singh Uni: ts2379

Face Recognition Pipeline 1

Face Detection CUDA Accelerating

Mouse Pointer Tracking with Eyes

Criminal Identification System Using Face Detection and Recognition

CSE/EE-576, Final Project

Skin and Face Detection

Machine Learning for Signal Processing Detecting faces (& other objects) in images

Detection of a Single Hand Shape in the Foreground of Still Images

Viola-Jones with CUDA

A Study on Similarity Computations in Template Matching Technique for Identity Verification

Detecting Faces in Images. Detecting Faces in Images. Finding faces in an image. Finding faces in an image. Finding faces in an image

Object Tracking Algorithm based on Combination of Edge and Color Information

FACE DETECTION AND RECOGNITION OF DRAWN CHARACTERS HERMAN CHAU

Class Sep Instructor: Bhiksha Raj

Traffic Signs Recognition using HP and HOG Descriptors Combined to MLP and SVM Classifiers

Computer Vision with MATLAB MATLAB Expo 2012 Steve Kuznicki

Face Tracking in Video

Fast and Robust Classification using Asymmetric AdaBoost and a Detector Cascade

RGBD Face Detection with Kinect Sensor. ZhongJie Bi

A Survey of Various Face Detection Methods

Design guidelines for embedded real time face detection application

Lecture #13. Point (pixel) transformations. Neighborhood processing. Color segmentation

Face detection and recognition. Many slides adapted from K. Grauman and D. Lowe

Automatic Initialization of the TLD Object Tracker: Milestone Update

Designing Applications that See Lecture 7: Object Recognition

Classifier Case Study: Viola-Jones Face Detector

FACE DETECTION, RECOGNITION AND TRACKING FROM VIDEOS

A Hybrid Face Detection System using combination of Appearance-based and Feature-based methods

Three Embedded Methods

Face and Nose Detection in Digital Images using Local Binary Patterns

Fast Face Detection Assisted with Skin Color Detection

A Modified Mean Shift Algorithm for Visual Object Tracking

Postprint.

FACIAL FEATURES DETECTION AND FACE EMOTION RECOGNITION: CONTROLING A MULTIMEDIA PRESENTATION WITH FACIAL GESTURES

Face Detection on Similar Color Photographs

Human Face Classification using Genetic Algorithm

Adaptive Feature Extraction with Haar-like Features for Visual Tracking

Tracking facial features using low resolution and low fps cameras under variable light conditions

EECS 556 Image Processing W 09. Image enhancement. Smoothing and noise removal Sharpening filters

CSE 151 Machine Learning. Instructor: Kamalika Chaudhuri

Real Time Face Detection using VJCMS

REAL-TIME FACIAL FEATURE POINT DETECTION AND TRACKING IN A VIDEO SEQUENCE

Face/Flesh Detection and Face Recognition

Effects Of Shadow On Canny Edge Detection through a camera

Computer and Machine Vision

Detecting and Reading Text in Natural Scenes

Face Detection and Alignment. Prof. Xin Yang HUST

Window based detectors

A New Algorithm for Shape Detection

Eye Tracking System to Detect Driver Drowsiness

Progress Report of Final Year Project

Object Category Detection: Sliding Windows

Viola Jones Simplified. By Eric Gregori

Out-of-Plane Rotated Object Detection using Patch Feature based Classifier

Optical Verification of Mouse Event Accuracy

Object Detection Design challenges

Face Detection for Skintone Images Using Wavelet and Texture Features

Attendance Management System Using Face Recognition

Adaptive Skin Color Classifier for Face Outline Models

HumanFaceDetectionandSegmentationofFacialFeatureRegion

EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm

Previously. Window-based models for generic object detection 4/11/2011

Computer and Machine Vision

Pupil Localization Algorithm based on Hough Transform and Harris Corner Detection

Hand-to-Target Guidance Using Multi-Object Tracking

IMPLEMENTATION OF SPATIAL FUZZY CLUSTERING IN DETECTING LIP ON COLOR IMAGES

Face Detection on OpenCV using Raspberry Pi

Recognition of a Predefined Landmark Using Optical Flow Sensor/Camera

Coarse-to-fine image registration

Extracting Road Signs using the Color Information

FAST HUMAN DETECTION USING TEMPLATE MATCHING FOR GRADIENT IMAGES AND ASC DESCRIPTORS BASED ON SUBTRACTION STEREO

Solving Word Jumbles

An Adaptive Threshold LBP Algorithm for Face Recognition

Image processing techniques for driver assistance. Razvan Itu June 2014, Technical University Cluj-Napoca

Audio Visual Speech Recognition

MOVING OBJECT DETECTION USING BACKGROUND SUBTRACTION ALGORITHM USING SIMULINK

Face Detection Using Color Based Segmentation and Morphological Processing A Case Study

Hand Posture Recognition Using Adaboost with SIFT for Human Robot Interaction

Detecting Pedestrians Using Patterns of Motion and Appearance (Viola & Jones) - Aditya Pabbaraju

Robbery Detection Camera

An Image Based Approach to Compute Object Distance

Vehicle Detection Method using Haar-like Feature on Real Time System

Face tracking. (In the context of Saya, the android secretary) Anton Podolsky and Valery Frolov

OCR For Handwritten Marathi Script

CHAPTER 1 Introduction 1. CHAPTER 2 Images, Sampling and Frequency Domain Processing 37

INTELLIGENT transportation systems have a significant

Real Time Face Detection, Recognition and Tracking System for Human Activity Tracking

Study of Viola-Jones Real Time Face Detector

FACE DETECTION USING SKIN COLOR SEGMENTATION

Predicting Visual Saliency of Building using Top down Approach

TRANSPARENT OBJECT DETECTION USING REGIONS WITH CONVOLUTIONAL NEURAL NETWORK

Parallel face Detection and Recognition on GPU

Time Stamp Detection and Recognition in Video Frames

Introduction. How? Rapid Object Detection using a Boosted Cascade of Simple Features. Features. By Paul Viola & Michael Jones

Color Local Texture Features Based Face Recognition

Angle Based Facial Expression Recognition

Transcription:

Project Report for EE7700 Name: Jing Chen, Shaoming Chen Student ID: 89-507-3494, 89-295-9668

Face Tracking 1. Objective of the study Given a video, this semester project aims at implementing algorithms to achieve the face tracking within the whole video. It definitely will help us get much deeper understanding about those face detection and object tracking algorithms. 2. Background work on the face tracking There is substantial study based on the topic of face tracking. Basically, all the study can be simply divided into two categories. One is real time face detection, and the other is the combination of face detection and face tracking. Specifically, some face detection algorithms can get the faces in each frame timely, which can directly achieve the goal of face tracking; the other way to implement face tracking is to detect the face at the start frame first, and then adopt the object tracking algorithm to follow the face in the other frames. The second method of tracking face has been used in this project. In detail, viola jones face detection algorithm and camshift has been adopted to obtain the face and tracking the face, respectively. 3. Algorithms 3.1 Viola jones face detection algorithm Generally, viola jones face detection algorithm has three critical steps, including feature extraction, boosting and multi-scale detection. 3.1.1 feature extraction It is obvious that feature is very significant to any object detection algorithm. Basically, there are a lot of features, such as eyes, nose, the topology of eye and nose, can be used for face detection. In viola jones face detection, a very simple and straightforward feature has been used. Figure 1 shows four different feature in viola jones algorithm. Each feature can be obtained by subtracting white areas from the black areas. Here, the area means the summation of all the pixels gray value within the rectangle. Aiming at calculating these features, a special representation named as integral image has been used. Specifically, integral image of a location above and to the left of is the sum of the pixel values, inclusively. Figure 2 shows one fast way to compute the pixel sum within a rectangle. In Figure 2, the value of integral image at location 1 ( ) is the sum of pixels in rectangle A; the value at location 2 ( ) is the sum of pixels in

rectangle A and B; the value at location 3 ( ) is the sum of pixels in rectangle A and C; the value at location 4 ( ) is the sum of pixels in rectangle A, B, C and D. Based on this information, the sum of pixels in rectangle D can be easily got from. Therefore, the sum of pixels of any rectangle located at any position can be obtained following this principle very efficiently. Figure 1: four basic features in viola jones algorithm 3.1.2 boosting Figure 2: the calculation of pixel sum within a rectangle The definition of boosting in viola jones face detection algorithm is the combination of several weak classifiers. This boosting idea makes the process of learning to be simple and efficient. Specifically, the boosting works as follows: 1. given a dataset, learn a single and simple classifier first and check where it makes errors; 2. reweight the dataset and give the data where it made errors a higher weight; 3. learn the second simple classifier based on the reweighted dataset; 4. combine the first and second classifier and reweight data where they make errors; 5. keep learning until we get T classifiers; 6. the final classifier will be the combination of all those T classifiers. Figure 3 shows detail of the principle of boosting.

3.1.3 Multi-scales detection algorithm Figure 3: the process of boosting with 3 simple classifiers Another important step in viola jones face detection algorithm is multi-scale detection. It is obvious that we have no idea with the size of face in an image before doing face detection. Therefore, multi-scale detection should be adopted to guarantee that faces with any size can be detected. Features should be calculated at all different scales since the learning and testing are only based on the rectangle features. In this project, we used the scales by the factor of 1.2. In each iteration, the width and height of rectangle will increase to 1.2 times of previous one. 3.2 Camshift CAMshift is called Continuously Adaptive Mean Shift based on the mean shift algorithm[2]. CAMshift uses the Hue channel to trace objects since by using the Hue channel based on HSV color model, objects with different colors can be recognized. Based on the color information, CAMshift tracks objects faster and consumes relatively little CPU resources. Lower computing resource requirement enable CAMshift to become a one of real-time face tracking algorithms The procedure of CAMshift shown in the Figure 4 includes two important parts which are the histogram and the search of peak probability. The first step of Camshift is to obtain the histogram of tracked object. In the second step, the next frame will be converted into a map of skin color probability based on the histogram. In the third step, the peak probability center will be found based on zero moment and first moment. Finally, CAMshift will check whether it converges. If it is no, it will go to the third step;

otherwise, it gets the position of the tracked object in this frame and fetches the next frame to track the object continuously. Figure 4 the procedure of CAMshift 3.2.1 Histogram The histogram is the tracked object s color probability map. Because in the project we focus on the face tracking, the hue channel of the face shown in the Figure 6 is used to illustrate what is the histogram. In the first step, the whole area of Figure 5 histogram Figure 6 H channel of the face tracked object is scanned and the map which record how many pixels have a certain hue value in the tracked object area is built. And then, CAMshift finds out the peak the number of pixel in a certain hue value and normalizes the map into skin color probability map or histogram shown in the Figure 5. The horizontal bar of the Figure 5 is hue value and the vertical bar is the skin probability. According to the histogram, the popular color on the face is revealed.

3.2.2 Finding the center Based on histogram, the skin probability of the next frame can be calculated in this way. In the first, the next frame is converted into H channel which represents the color information of the tracked object (from Figure 7 to Figure 8). And then looking up the histogram, we will get the skin probability for each pixel shown in the Figure 9 according to its hue value. The skin probability of the whole picture is obtained for the next step to find out the center of the face. Figure7 the next frame Figure 8 the hue channel of the next frame Figure 9 the skin probability Based on the skin probability of the next frame, the peak probability as the center of the face is estimated by the zero moment and first moment [2]. The zero moment ( ) and first moment ( and ) are calculated by the equations shown below. In this way, the center of face can be estimated by the following equations. Finally, the convergence of the center of the face (, ) is checked. If the center of the face is very close to the old center, the convergence is reached; otherwise, all the equations should be calculated again based on the new center.

4. Result 4.1 face detection The result of face detection is shown in Figure 10 and 11. Those are the frames extracted from the video. Sometimes, face detection algorithm may get more than one result even there is only one face in the frame, such as Figure 12. In this case, the postprocessing has been used. If the detector provides more than one rectangle, which indicates the position of the face, the distance of center points of these rectangles has been calculated. If this distance is smaller than a pre-set threshold, the average of these rectangles will be computed and set as the final position of the detected face. Figure 7: face detection Figure 8: face detection Figure 9: face detection with two detected faces

4.2 face tracking The result is shown in Figure 13. The result is acceptable but not accuracy. Affected by non-uniform light condition, the result becomes worse since the light changes the color of the object. Moreover, the similar color background, hands and necks also lower the performance. The left image in Figure 13 is the version In the Matlab by using the essential CAMshift idea to track faces. The right image is the version in the OpenCV by using its library which supports CAMshift. The right result is better the left since the CAMshift in the OpenCV removes the noise of background according to objects moving history. Tracking a face implemented in the OpenCV costs only around 0.5 second, compared with the result of face tracking based on optical flow shown in Figure 14 which costs around 2 second. With some optimizations, the real-time tracking face based on CAMshift is feasible. Figure 10 face tracking result Figure 11 face tracking by optical flow

5. Conclusion In the project, we implement face tracking in the Matlab by using Viola jones face detection and CAMshift tracking. This method is verified and the limitations of the scheme are observed through testing and debugging our codes. And then, limited by Matlab performance, we shift to OpenCV to evaluate the speed of this face tracking scheme. Compared with other popular tracking algorithms such as optical flow, we found the Viola jones face detection and CAMshift tracking is more suitable for real-time face tracking since they requires less CPU resource and costs shorter time. Individual responsibility: Jing Chen is responsible for implementing the Viola jones face detection algorithm, and designing the final demonstration of face tracking with Matlab. Shaoming Chen is responsible for implementing the CAMshift algorithm with Matlab, and designing the final demonstration of face tracking with OpenCV. Reference [1] P. Viola, M.J. Jones, Robust Real-Time Face Detection, International Journal of Computer Vision, Vol. 57, No. 2, May 2004, pp. 137-154 [2] G.R. Bradski, Computer video face tracking for use in a perceptual user interface, Intel Technology Journal, Q2 1998