A Real-Time Skin Color Based Human Face Tracking System Using an Evolutionary Search Strategy

Size: px
Start display at page:

Download "A Real-Time Skin Color Based Human Face Tracking System Using an Evolutionary Search Strategy"

Transcription

1 Journal of Applied Science and Engineering, Vol. 16, No. 3, pp (2013) DOI: /jase A Real-Time Skin Color Based Human Face Tracking System Using an Evolutionary Search Strategy Ching-Yi Chen 1 *, Ching-Han Chen 2 and Hsiao-Ping Ho 2 1 Department of Information and Telecommunications Engineering, Ming Chuan University, Taoyuan, Taiwan, R.O.C. 2 Department of Computer Science and Information Engineering, National Central University, Taoyuan, Taiwan 320, R.O.C. Abstract This paper proposes a new structure for applying to real-time evolutionary face tracking of the streaming images. In the described method, first we use the features such as skin color models and facial proportions to extract the face region and complete the pre-processing, and then track the moving face location with particle swarm optimization algorithm. The experimental results show that the face detection method which we have developed has a higher detection rate and complex backgrounds tolerance than the traditional Viola-Jones detector. Compared to the method of searching the face region in the whole image with the streaming image sequences one by one, the execution effect of searching the face region in the key region images by using the method of evolutionary face tracking system based on particle swarm optimization algorithm has a fast execution speed and better accuracy. Furthermore, in order to achieve the goal of real-time processing, we also complete the software design and verify with the personal computer as well as Nios II embedded processor-based FPGA platform, and analyze the efficiencies of various modules to find the functional module of efficiency bottleneck for the further implementation of a hardware architecture, to improve the overall efficiency of the system through a hardware/software co-design. Experimental results demonstrate that the proposed structure is efficient and robust in face tracking under dynamic environments with real-time performance. Key Words: Face Tracking, Particle Swarm Optimization, FPGA Platform, Hardware/Software Co-Design 1. Introduction Tracking human faces is particularly important in many applications such as video surveillance, video conferencing, biometrics, etc. Face tracking system is a design work including two main stages, i.e., face detection and motion tracking. The objective of face detection is to determine whether or not there are any faces in the image and, if any, return the face location. It is indispensable to face tracking because it determines the presence and location of faces in an image. The existing techniques *Corresponding author. chingyi@mail.mcu.edu.tw for face detection are broadly classified as knowledgebased, appearance-based, and feature-based techniques [1]. Knowledge-based face detection depends on using the rules about human facial feature. This approach is good for frontal image; the difficulty of it is how to translate human knowledge into known rules and to detect faces in different poses or head orientations [2]. Appearance-based face detection relys on techniques from statistical analysis and machine learning to find the relevant characteristics of face and non-face images [3]. Wellknown appearance-based methods used for face detection are eignfaces, neural networks, support vector machines, and hidden Markov models [1]. Feature-based

2 250 Ching-Yi Chen et al. methods depend on extraction of facial features such as the eyes, the eyebrows, the noise, and the mouth that are not affected by variations in lighting conditions, pose, and other factors. Among feature-based face detection methods, using skin color as a detection cue is very popular. Skin color is one of the most important features in the human face. It can be used as the first step in face detection process in color images. Many methods have been proposed to build a skin color model [4,5]. The simplest model is to define a region of skin tone pixels using Y, Cb, Cr values from samples of skin color pixels [1]. Face tracking is the continued work of face detection, so long as the correct face position is detected. The subsequent work is to carry on tracking the target human face. Therefore, it is a target human face detecting at the variation of position in an image sequence. In addition to choosing image gradient as the image features of target candidates [6], the models such as statistical distributions of color inside elliptical outline of face can also achieve good tracking results for the moving target after the operation processing [7]. This approach has the advantage of simplicity and velocity, and less susceptive to face rotation, translation and scale, but the drawback is its sensitivity to illumination changes. Qian et al. [8] and Juang et al. [9] used the Kalman filter for face tracking. Kalman filter assumes a dynamic model of the target and that the noise affecting the system is zero mean. However, the Kalman filter has poor robustness against model parameter mismatches [10]. In this paper, we use a method that combined skin color models and ratio of human faces for face detection. This method has excellent tolerance for image with complex background and can detect the location face effectively. After the human face in an image is located, we can then perform the task of face tracking through particle swarm optimization (PSO) algorithm [11]. In this research, the swarm-like and populationbased evolutional learning algorithm, called PSO, simulates manner of bird flocking or fish schooling to keep tracking of the face location in a streaming image sequence. One of the main movements of PSO evolutional learning algorithm is to observe how natural creatures act as a swarm and simulate the swarm patterns through computer operation. In the PSO evolutional learning algorithm, each single solution is a bird referred to as a particle. Every particle has fitness values, estimated by the fitness function to be optimized, and velocities which direct the movement of each particle. Based on guides of the defined fitness function, PSO can efficiently yield the optimum solution in the searching space. Recently, PSO has been applied to determine the wide range of optimization solutions through a simile of social interaction. We regard the changing face location in the streaming image sequence as a constantly moving target solution, and use the region of interest (ROI) which derived from the face-coordinate location of previous image to be the searching space. In the initial population, each encoding value of particles carrying different coordinate information represents a candidate solution to a predefined problem. The fitness function which is based on the color information of target image will help to guide particles to track a new location of target human face in the ROI efficiently. Through the actions such as mutually influence, imitation, and learning with each other, the particles complete message exchange and modification in the course of competing for the global maximum solution. In general, if we perform the same detecting and operation repeatedly in the whole image for every different image, the tracking results are vulnerable due to the effects of environmental variation of image. In the image sequence, compared to the previous image and next image, the changing of location of the same individual face is not too far. Therefore, using a local range search of ROI in an image not only helps reduce the computing time, also can avoid effects from complex background and thus improves the accuracy of target tracking. The experimental results in this study also verify that compared to the method that repeatedly detects the same face in different images, the face tracking method of streaming image sequence based on PSO algorithm has higher accuracy and less time consuming to achieve the purpose of miniaturization and real-time processing of actual application, besides the software simulation on PC platform, we also put the system to the Nios II embedded processor-based FPGA platform to perform the functional module validation and performance comparison, and redesign the functional module which is time-consuming in the operation to make use of the hardware architecture. It improves the overall efficiency of

3 A Real-Time Skin Color Based Human Face Tracking System Using an Evolutionary Search Strategy 251 the system through a hardware/software co-design method. The organization of this paper is as follows. In section 2, we first introduce the design procedure of face detection and the method of PSO-based face tracking. Then, we describe the proposed embedded system architecture for face tracking in section 3. In section 4, we describe the simulation environment, and then simulation results are presented and discussed. Finally, section 5 concludes the paper. 2. PSO-Based Face Tracking System 2.1 Face Detection This research uses the face detection algorithm structure as shown in Figure 1. At first, the color space is transferred from RGB to YCbCr color space which can reduce the effects from the variation of light shade, find the skin color region with skin color model, and then complete the extraction of skin regions. In order to reduce the influence of noise and ensure the integrity of ROI regional edge, we perform the median filter operation to reduce noise in an image, and extend the boundaries of skin regions with the morphological dilation operator. At last, we use the information such as height, width, and area for preliminary face region filtering, and so we can track the face position successfully with Laplacian-of-Gaussian edge detection method (LoG) and elliptical template matching. The related practices as described below: (1) Color space transformation and skin color region analysis Image pixels can be classified as skin or non-skin pixels using the YCbCr skin color model. YCbCr color space segments the image into a luminosity component and chrominance components. The main advantage is that the influence of luminosity can be removed during processing an image. The transformation equations from RGB to YCbCr color space are shown in Eq. (1): [2] has defined explicitly the boundaries skin cluster in YCbCr color space, and identified the ROI as Eqs. (2) and (3): (2) (3) As a preprocess stage to provide candidates for face regions, we group skin pixels into candidate regions using the above skin color model in the transformed YCbCr color space. (2) Morphological operation and connected component analysis The most basic morphological operations are dilation and erosion. Dilation adds pixels to the boundaries of objects in an image, while erosion removes pixels on object boundaries. In this paper, the dilation operator also is used to generate more continued borders and edges. The next step is to analyze the region of the face skin candidates using the connected component labeling analysis. The pixel points in a connected component form a candidate region for representing an object. It adopts the depth-first search labeling method (DFS) which will (1) Using this skin color model, skin candidate region is identified based on certain threshold value. Berbar et al. Figure 1. The flow chart of face detection algorithm.

4 252 Ching-Yi Chen et al. assign same label to the same connected component of a region and those in different connected components have different labels [12]. After the above works completed, we will obtain statistic information such as the heightto-width ratio and area of skin region, and then filter the non-compliant aspect ratio of skin region through Eq. (4): (4) where H(skin_region) represents the length of skin region, W(skin_region) represents the width of skin region, and area(skin_region) isthenumberofpixelsin the skin region. (3) Laplacian-of-Gaussian edge detection It has been noticed that the facial contour can be approximated by an ellipse. Therefore we need to check all the contours of the skin region and filter out the noncompliant areas. This study gets all edge images of skin region with LoG for facilitating subsequent matching in elliptical ring template of face [13]. (4) Elliptical template matching In this paper, we use an elliptical ring as the template. We take the center of skin region as the center starting location of the ellipse, set multiple sets of different central location and the long and the short axis, and statistics information such as point of skin region edge in each set of numbers on the ellipse. We only reserve the ellipse which has the most fitting points, record the length of the axis and the ellipse center location, and then complete the final filtering work. 2.2 Face Tracking Using The PSO Particle Swarm Optimization PSO is an evolutionary computation technique developed by Kenney and Eberhart in The method has been developed through a simulation of simplified social models. PSO is based on swarms such as fish schooling and bird flocking. According to the research results for bird flocking, birds are finding food by flocking (not by each individual). Like GA, PSO must also have a fitness evaluation function that takes the particle s position and assigns to it a fitness value. The position with the highest fitness value in the entire run is called the global best (P g ). Each particle also keeps track of its highest fitness value. The location of this value is called its personal best (P i ). The basic algorithm involves casting a population of particles over the searching space, remembering the best (most fit) solution encountered. At each iteration, every particle adjusts its velocity vector, based on its momentum and the influence of both its best solution and the best solution of its neighbors, and then computes a new point to examine. The studies shows that the PSO has more chance to fly into the better solution areas more quickly, so it can discover reasonable quality solution much faster than other evolutionary algorithms. The original PSO formulate is described by the following equations [11]: (5) (6) where d is the number of dimensions (variables), i is a particle in the population, g is the particle in the neighborhood with the best fitness, V is the velocity vector, X is the location vector, and P is the position vector for a particle s best fitness yet encountered. Parameters c 1 and c 2 are the cognitive and social learning rates, respectively. These two rates control the relative influence of the memory of the neighborhood to the memory of the particle PSO-Based Face Tracking This paper uses face detection algorithm framework as shown in Figure 1 to detect the face location. After the coordinates of the face is determined, we begin using PSO to keep tracking the moving location of face in an image sequence. The key of determining system effectiveness is to define fitness function. A reasonable and valid fitness function will help to guide all the individual

5 A Real-Time Skin Color Based Human Face Tracking System Using an Evolutionary Search Strategy 253 particles to search the target human face location in the ROI efficiently. In this study, every encoding value of the particle in the population is carrying a message of facial image coordinate, and the fitness function is calculated with the color information of image block which is searched by the particles. The rectangle boundary which is defined by the previous image of the face position and the surroundings will be the PSO solution space in the next image. In Figure 2 the solution space region of the PSO is represented by a box with the length and width being (S H, S W ) which are the extending boundary of L 1 and L 2 from the rectangle target image edges, respectively, where (F H, F W ) represents the length and width of the target image, respectively, and (x f, y f ) represents the coordinates of the upper-left corner of the target image. In this paper, the definition of the proposed fitness function is given by (7) where eps is a small-valued constant, and the definition of f t =( R, G, B ) is described as Eq. (8): (8) p The format of X p is defined by X p = [ x i ], i =1,2,p {1, 2,, pop_size}. In the initial population, the x p i is randomly generated by (10) where o i is the coordinate in the ith dimension of the L target image in the previous image, max L i and min i represent the upper and lower bound in the ith dimension of ROI, respectively. We set the PSO initial particle s location and the searching bound all in the ROI rectangle, and considering the moving object is unlikely to move with unduly speed, in order to improve the searching effectiveness in the solution space, the area that is closer with the correct location of previous target image, should be able to have a higher probability to produce more particles. In contrast, the area that is farther away from the target image location should be able to have relatively sparse particles. Therefore, we set m e in Eq. (10) as a random number generator in normal distribution. Because the coordinates cannot be a floatingpoint number, round() function is used to convert the result of the operation to a positive integer. In addition, speed vector of moving particles can be represented as p Vp [ vi ], i = 1, 2, where the initial value v p i is generated by random by Eq. (11) as the follows: (11) where where is a positive integer. (9) In the Eq. (8), m, n represent the length and width of the target image, respectively, p i represents the coordinate (x i, y i ), R i, G i, B i represent the color information of the ith pixel, and z represents the center of the target image. We bring the concept of kernel function into the method of this study, giving the center of ROI a larger weighting value and decline from center outward. The initial population =[X 1, X 2,,X pop_size ]is made up of pop_size possible particles (i.e. solutions). Figure 2. The searching space of PSO.

6 254 Ching-Yi Chen et al. 3. Implementation on an Embedded Platform 3.1 Module Partition and Nios II Software Design It has many advantages, such as help more engineers design together at the same time, shorten the design process, and simplify the design, if the planer could address system behavior to do hierarchical and modular partition. The integrated definition (IDEF) methodology is a structured modeling technique and has been extensively used for modeling various processes in various application areas. Therefore, we use IDEF0 technique in IDEF to carry out hierarchical and modular system design for illustrating the functional framework of a system and the relationship between modules [14]. After the modular system partition is finished, it will be followed by the algorithmic state machine chart (ASM chart) for behavior modeling of algorithm. The face detection and tracking system in this paper was partitioned into 2 submodules where the IDEF0 structure is shown in Figure 3. And then face detection module was partitioned into 7 submodules, which is illustrated in Figure 4. Face detection will take precedence in the system when the first image of image sequence is input. According to the detected face position in generating the searching space of PSObased face tracking system in the next image, we search for local region and output the new tracked face position. PSO-based face tracking module can be partitioned to two submodules that are initialize population and PSO learning scheme as shown in Figure 5. We set the searching space and initialize the particles according to the previous image face position coordinate parameters. Each particle has its fitness value through the evaluation with fitness function. After finished several iterations and updating every particle s position and velocity, we can get a set of optimal coordinates to redefine the location of the new face position. According to the IDEF0 structure, we can get every partitioned independent module and implementation in Figure 3. The IDEF0 diagram of face detection and tracking system. Figure 5. The IDEF0 diagram of PSO-based face tracking algorithm. Figure 4. The IDEF0 diagram of face detection algorithm.

7 A Real-Time Skin Color Based Human Face Tracking System Using an Evolutionary Search Strategy 255 an embedded platform. Nios II is an embedded processor architecture that can be incorporated in system implemented on an Altera s FPGA device by using SOPC (system-on-a-programmable-chip) technology. It allows easy interfacing of new peripheral components to existing software. The FPGA has the capability of parallel processing and hardware modification. It offers the possibility of microprocessor implementations, which can be programmed in assembly or C [15]. In this paper, we choose the function verification of Altera DE2-70 board for the Nios II embedded processor-based FPGA platform. And further, in accordance with the simulation results, we can evaluate which function module should be changed to implement in hardware. 3.2 High Level Synthesis Design This study uses the methodology proposed by Chen et al. [14] for hardware and high-level synthesis. It utilizes larger computational function modules such as color space transformation, skin color region analysis, median filtering, and morphological dilation to design its hardware structure. The related procedures are described as follows: (1) Color space transformation module Color space transformation module has two design points: first, it has to overcome the problem that it needs a large number of floating-point calculations in the color space conversion formulas. In response to this point, the researcher performs on left shift operators to expand the fixed floating-point into integer type, and then scales the result in proportion after complete the performing task. This approach not only reduces the cost of performing floating-point operations in hardware costs, but also save the operation time significantly. In addition, it can convert the multiplication operations of fixed coefficients to shift-and-add paradigm. Therefore, the Eq. (1) can be converted to Eq. (12): (2) Skin color region analysis module The main goal of skin color region analysis module is based on the input of Cb, and Cr signals to determine whether the target belongs to the skin color region. Figure 6 shows ASM chart of skin color region analysis module. In state 1, it moves the fixed-point value 1 and 0.6 in color formula Cb(x, y) Cr(x, y) to enlarge 256 times, getting a formula 256 Cb(x, y) Cr(x, y), and therefore reduces the need for floating-point computation. (3) Median filtering module The median filter functions perform non-linear filtering of a source image data. It is used for the removal of impulsive noise. For this type of image operations, we use the line buffer compiler provided by Altera Corporation to reduce the design complexity, and reduce multiple times access to memory. The line buffer compiler provides an efficient means to map line buffers on to (12) Figure 6. The ASM chart of skin color region analysis module.

8 256 Ching-Yi Chen et al. Altera on-chip memories. Figure 7 shows the ASM chart of median filtering. There are 320 pixels in the original image that we entered in each row, so we need 3 line buffer with the data width 320, and 960 times filling line buffer in total. Each time when the filling is completed, it pulls the signal odfin up to logical high, that means the filling is completed and it is ready for next input data. When the line buffer filling is completed, then it is transferred into state 3 and state 4 for mask operation. It sets the FIN and odfin signals to logical high after each operation is completed, and informs external to read the operation result, and then inputs the next data. (4) Morphological dilation module Morphological dilation operation is also usually performed on binary images. Just like a median filter module, we also use the line buffer compiler MegaCore function to simplify the design process. Figure 8 shows the ASM chart of morphological dilation module. In state 2, after three line buffers are all filled, it is transferred into state 1 to output the result of morphological dilation operation. 4. Simulation Results 4.1 Verification Performance Using Nios II Embedded Platform This paper compares Viola-Jones detector [16] which was provided by the OpenCV library with our human face detection method. The image database used in the research containing 379 test images of size pixels can be broadly divided into two categories. There are 202 ideal images without light variations or angle variations in class A. In class B, there are 177 images with light variations and angle variations. The results in Table 1 show that the correct rates of our face detector and the Viola-Jones detector are similar. In addition, under the condition that the images with light variations and angle variations, the missed detection rate of Viola- Jones detector significantly increases than our proposed method. That is, our method has a better tolerance for the images with complex environments. This system tracks the face location in the streaming image sequence with PSO, and its purpose is to use the evolutionary search in the ROI to detect the correct position of human face with population-based PSO. Compared to the continuous face detection method which performs the face detector operation for each image in continuous streaming images, the PSO has a better calculating efficiency and a higher degree of accuracy. In Figure 7. The ASM chart of median filtering module. Figure 8. The ASM chart of morphological dilation module.

9 A Real-Time Skin Color Based Human Face Tracking System Using an Evolutionary Search Strategy 257 the experiment, we perform the test with the video of 17 seconds of moving face which was recorded with the video record function of a consumer digital camera, and capture 48 frames for continuous streaming face image detection experiments. Shooting environment is for general indoor lighting, with complex background but the rotation angle of moving face is less than 45. We can make a comparison between the average computing time and correct detection rate of PSO-based face tracking system and continuous face detection method with this streaming image sequence. The software testing platform is a Intel (R) 2.4 MHz quad core 3 GB RAM processor personal computer. The parameters definitions of PSO are: ( 1, 2) = (2.0, 2.0), (L 1, L 2 ) = (20, 20), = 20, and eps = The detailed computing time comparisons are shown in Table 2 where we find that PSO gets a correct detection rate about 98% when the population size > 15, while the correct detection rate of continuous face detection method is about 89.6%. In a further observation, considering the longest and the shortest possible time of performing the face detector for a single image, we can find the spent time of PSO-based face tracking system in different experiments are very close, but by the need to perform steps such as elliptical template matching, the spent time of continuous face detection method are considerably different. 4.2 Hardware/Software Co-Design Effectiveness Analysis This research uses IDEF0 method to divide the top design into individual modules, and then implements on Nios II embedded processor-based FPGA platform respectively to evaluate the efficiency for the modules, and performs hardware design for the time-consuming modules. The efficiency comparison of every individual module on PC as well as on Nios II processor-based platform, is shown in Table 3. There are more parameters needed to be adjusted in the process of elliptical template Table 1. Comparison between the Viola-Jones detector and our face detection method Class A Class B Viola-Jones detector Our method Viola-Jones detector Our method Correct detection Miss detection Table 2. Computing time comparisons of a single image between PSO-based face tracking system and continuous face detection method PSO-based face tracking system (ms) Continuous face detection method (ms) Population size Average computing time Longest computing time Shortest computing time Correct detection rate 93.8% 98% 98% 89.6% Table 3. Comparison of computing time between different functional modules Computing time (ms) Module name PC platform NIOS II Color space transformation Skin color region analysis Median filtering Morphological dilation Connected component analysis LoG & template matching Symmetric convex polygon searching 0023 PSO initialize PSO learning scheme

10 258 Ching-Yi Chen et al. Table 4. Hardware cost Module name Logic elements Most critical path delay (ns) Color space transformation Skin color region analysis Median filtering Morphological dilation Table 5. Comparison of performance between NIOS II software IP & Hardware IP Hardware on FPGA NIOS II on FPGA Module name Cycles Execution time (ms) Execution time (ms) Color space transformation Skin color region analysis Median filtering Morphological dilation matching face detection and will spend a lot of time in operation. So we perform the face region judgment with symmetric convex polygon searching method. In order to improve the performance of system, after analyzing implementation efficiency for the various embedded software module in Table 3, we select four modules to be implemented as hardware structure. Table 4 displays the amount of hardware resources and run time of hardware modules. At last, in Table 5, we compare the embedded software modules that were implemented on Nios II processor-based platform with the hardware modules. 5. Conclusions This paper describes a real-time PSO-based face tracking system in which overall structure can be divided into two parts, human face detection system and PSO-based face tracking system. The experimental results show that compared to the traditional Viola-Jones detector, our face detection system has better detection rates and better tolerance for the images with complex background. The PSO-based face tracking system also demonstrates effectiveness and a higher correct detection rate than the continuous face detection method that performs face detection for each image in a continuous streaming images. On the other hand, in order to achieve the functional request of system miniaturization and real-time processing, we enhance the overall efficiency of the system through a hardware/software codesign. Acknowledgements This research was supported by the National Science Council of the Republic of China under Contract Nos. NSC E and NSC E References [1] Yang, M. H., Kriegman, D. J. and Ahuja, N., Detecting Faces in Images: A Survey, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 24, No. 1, pp (2002). doi: / [2] Berbar, M. A., Kelash, H. M. and Kandeel, A. A., Faces and Facial Features Detection in Color Images, Proceedings of the Geometric Modeling and Imaging--New Trends, pp (2006). doi: /GMAI [3] Tabatabaie, Z. S., Rahmat, R. W., Udzir, N. I. B. and Kheirkhah, E., A Hybrid Face Detection System Using Combination of Appearance-Based and Feature- Based Methods, International Journal of Computer Science and Network Security, Vol. 9, No. 5, pp (2009). [4] Yun, J. U., Lee, H. J., Paul, A. K. and Baek, J. H., Face Detection for Video Summary Using Illumination-Compensation and Morphological Processing, Pattern Recognition Letters, Vol. 30, No. 9, pp (2009). doi: /j.patrec [5] Phung, S. L., Bouzerdoum, A. and Chai, D., Skin Segmentation Using Color Pixel Classification: An-

11 A Real-Time Skin Color Based Human Face Tracking System Using an Evolutionary Search Strategy 259 alysis and Comparison, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 27, No. 1, pp (2005). doi: /TPAMI [6] Dokladal, P., Enficiaud, R. and Dejnozkova, E., Contour-Based Object Tracking with Gradient-Based Contour Attraction Field, IEEE International Conference on Acoustics, Speech, and Signal Processing, pp (2004). doi: /ICASSP [7] Sun, Y. B., Kim, J. T. and Lee, W. H., Extraction of Face Objects Using Skin Color Information, IEEE International Conference on Communications, Circuits and Systems and West Sino Expositions, pp (2002). doi: /ICCCAS [8] Qian, R. J., Sezan, M. I. and Matthews, K. E., A Robust Realtime Face Tracking Algorithm, IEEE International Conference on Image Processing, pp (1998). doi: /ICIP [9] Juang, C. F. and Chang, S. W., Fuzzy System-Based Real-Time Face Tracking in a Multi-Subject Environment with a Pan-Tilt-Zoom Camera, Expert Systems with Applications, Vol. 37, No. 6, pp (2010). doi: /j.eswa [10] Vadakkepat, P., Lim, P., Silva, L. C. D., Jing, L. and Ling, L. L., Multi-Modal Approach to Human Face Detection and Tracking, IEEE Transactions on Industrial Electronics, Vol. 55, No. 3, pp (2008). doi: /TIE [11] Kennedy, J. and Eberhart, R., Particle Swarm Optimization, Proceedings of IEEE International Conference on Neural Networks, Perth, Australia, pp (1995). doi: /ICNN [12] Lee, D. R., Jin, S. H., Thien, P. C. and Jeon, J. W., FPGA Based Connected Component Labeling, International Conference on Control, Automation and Systems, pp (2007). doi: /ICCAS [13] Jin, Z., Lou, Z., Yang, J. and Sun, Q., Face Detection Using Template Matching and Skin-Color Information, Neurocomputing, Vol. 70, No. 4 6, pp (2007). doi: /j.neucom [14] Chen, C. H., Kuo, C. M., Chen, C. Y. and Dai, J. H., The Design and Synthesis Using Hierarchical Robotic Discrete-Event Modeling, Journal of Vibration and Control (2012). doi: / [15] Adhangale, V. and Daruwala, R. D., Design and Implementation of Soft Core Processor on FPGA Based on Avalon Bus and SOPC Technology, International Journal of Computer Applications, Vol. 63, No. 16, pp (2013). doi: / [16] Viola, P. and Jones, M. J., Robust Real-Time Face Detection, International Journal of Computer Vision, Vol. 57, No. 2, pp (2004). doi: /B: VISI fb Manuscript Received: Feb. 27, 2013 Accepted: Jun. 28, 2013