Seminar on Skin Detection
Upcoming SlideShare
Loading in...5
×
 

Seminar on Skin Detection

on

  • 5,525 views

This presentation was an extended version of my original work for my Final Year Project on "Skin Detection" (for BSc in Computing Science)

This presentation was an extended version of my original work for my Final Year Project on "Skin Detection" (for BSc in Computing Science)

Statistics

Views

Total Views
5,525
Views on SlideShare
5,519
Embed Views
6

Actions

Likes
5
Downloads
238
Comments
1

3 Embeds 6

http://www.slashdocs.com 3
http://msphitesh.blogspot.in 2
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • good
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Seminar on Skin Detection Seminar on Skin Detection Presentation Transcript

  • Ali MadooeiAsia Pacific Institute of Information Technology (APIIT)Undergraduate student (2007-2010)Final Year Project conducted from December 2009 to July 2010SupervisorProf. Andrew Philip Seddon, Ph.D.Dean: Quality Assurance & PartnershipsActing Dean: Faculty of Computing, Engineering & TechnologyAsia Pacific University College of Technology & Innovation (UCTI)Kuala Lumpur, MalaysiaAdvisorProf. Simon David Scott, Ph.D.Chief Technical OfficerCentre of Technology and Innovation (CTI)Asia Pacific University College of Technology & Innovation (UCTI)Kuala Lumpur, Malaysia
  • Content• Introduction• Literature Review• Analysis and Design• Implementation• Testing and Evaluation• Conclusion and Future Work• Demonstration• Learning outcome2/6/2011 Page 3 of 94
  • Introduction• Skin is arguably the most widely used primitive in human image processing research and computer vision with applications ranging from face detection and person tracking to pornography filtering.• It is has proven to be a useful and robust cue for detecting human parts in images since – it is invariant to orientation and size, – gives an extra dimension compared to gray scale methods, – and is fast to process.• The main problems with the robustness of skin colour detection are however: – (1) dependence on the illumination condition, – (2) it varies between individuals, and – (3) many everyday-life objects are skin colour like, i.e., skin colour is not unique.• These are the focus of this dissertation : The emphasis of the work presented in this report is on computer vision methods analysing and detecting skin colour in unconstrained environments.2/6/2011 Page 4 of 94
  • Motivation for Skin Colour inComputer Vision• Detecting human skin tone is of outmost importance in numerous applications such as – Facial analysis, Gesture analysis, Video surveillance, Human-machine interface, Cyber- crime prosecution, Image content filtering, Content- aware video compression, Video annotation, Image colour balancing applications, Image indexing and retrieval.• The application of skin colour detection can be summarized as: Locating, tracking, detecting and recognition of2/6/2011 human parts in images (videos) Page 5 of 94
  • Background (task)• Skin detection means detecting image pixels and regions that contain skin-tone colour2/6/2011 Page 6 of 94
  • Background (rational)• The colour of human skin is created by the combination of blood (red) and melanin (brown, yellow) which gives it a restricted range of hues,” (Fleck et al., 1996).• Human skin is not deeply saturated either, therefore, the human skin colour likely occupies a specific (clustered) region of any colour space .• This suggests that we can try to model skin colour distribution based on specifications of the skin colour cluster (e.g. its shape).2/6/2011 Page 7 of 94
  • Background (challenges)• Advantages (Skin Detection based on colour information) – Allows fast processing – Robust to geometric variations of the skin patterns – Robust under partial occlusion – Robust to resolution changes – Eliminate the need of cumbersome tracking devices or artificially places colour cues – Experience suggests that human skin has a characteristic colour, which is easily recognized by humans.• Issues with skin colour (challenges) – Skin tones vary dramatically within and across individuals – Illumination changes over time. – Different cameras have different output for the identical image. – Movement of objects cause blurring of colours. – Ambient light, shadows change the apparent colour of the image. – There might be objects with skin-tone colour in the background (e.g. wood, leather, sand, skin-coloured clothing, etc.) which cause false detections.2/6/2011 Page 8 of 94
  • Objectives and Focus of this Thesis• Many strategies based on heuristic and pattern recognition have been used for skin detection.• The most recent methods are based on colour information. – There are other approaches such as use of texture information or use of non-visual spectrum (e.g. infrared) to identify skin regions in an image. – This research is focused on use of colour information, leaving other approaches for another discussion.• Skin detection based on colour information can be seen from two point of views, – from one point it is a problem of “classification” – and from another, a problem of “colour image2/6/2011 segmentation”. Page 9 of 94
  • Skin Detection (Segmentation point of view)• Pixel-Based Methods – Classify each pixel as skin or non-skin individually, independently from its neighbors. – Colour Based Methods fall in this category• Region Based Methods – Try to take the spatial arrangement of skin pixels into account during the detection stage to enhance the methods performance. – Additional knowledge in terms of texture, etc. are required• The process of skin detection generally is a pixel-level process, since region-based methods are built on top of pixel-based ones. Consequently, – “an improvement on a pixel-based methodology would lead to general advancement in the resolution of skin detection”, (Soriafrisch et al. 2007).• The focus of this dissertation is on pixel-based approaches2/6/2011 Page 10 of 94
  • Skin Detection (Classification point of view)• is a standard binary classification problem – where the input is the colour vector and the output will be 1 for skin and 0 for non-skin.• Classification in the field of computer vision is commonly referred to as pattern recognition. – Therefore, skin detection is also a problem of pattern recognition.• There are three major approaches to pattern recognition: statistical, neural and syntactical.• “Among the various frameworks in which pattern recognition has been traditionally formulated, the statistical approach has been, most intensively studied and used in practice,” (A. K Jain & Mao 2000). – Similarly, the most widely used methods of skin detection based on colour information are statistical approaches.2/6/2011 Page 11 of 94
  • Declaration• This report studies statistical skin modelling approaches. The objectives of this work can be summarized as follows: – To review and study the most widely used methods and techniques of statistical (pixel-based) skin detection (based on colour information). – To investigate the performance of each method by use of quantitative analysis and comprehensive tests and experiments. – To implement selected methods and fusing their results in order to improve accuracy rate. – To develop a software development kit (SDK) of various methods of skin detection.2/6/2011 Page 12 of 94
  • Method of Investigation• The state of the objective makes it clear that selecting and adopting the right Software Development Life Cycle (SDLC) methodology is needed to maximize the chances of successfully delivering the project.• There are dozens of available SDLCs, more or less mainstream, yet there is no best one. – Each has been designed to meet the needs of certain situations. – D3 decision cube (Functionality, Budget, Time Horizon)• This project is intended to be individual effort at all its stages. It comparatively is small scale and for short duration.• Although it is desirable to minimize resource consumption, for a student project at this level, budget is not prevailing factor in our decisions.• The project has clear objectives, yet requirements and functionality may change frequently and significantly for any reasons such as external changes, changing expectations or rapidly changing technology.• Having aforesaid criteria, this project will be done foremost using the Spiral Model – The spiral model emphasizes the need to go back and reiterate earlier stages a number of times as the project progresses. – Its actually a series of short waterfall cycles, each producing an early prototype representing a part of the entire project. – This approach helps demonstrate a proof of concept early in the cycle, and it more accurately reflects the disorderly, even chaotic evolution of technology.2/6/2011 Page 13 of 94
  • Method of Investigation• The state of the objective makes it clear that selecting and adopting the right Software Development Life Cycle (SDLC) methodology is needed to maximize the chances of successfully delivering the project.• There are dozens of available SDLCs, more or less mainstream, yet there is no best one. – Each has been designed to meet the needs of certain situations. – D3 decision cube (Functionality, Budget, Time Horizon)• This project is intended to be individual effort at all its stages. It comparatively is small scale and for short duration.• Although it is desirable to minimize resource consumption, for a student project at this level, budget is not prevailing factor in our decisions.• The project has clear objectives, yet requirements and functionality may change frequently and significantly for any reasons such as external changes, changing expectations or rapidly changing technology.• Having aforesaid criteria, this project will be done foremost using the Spiral Model – The spiral model emphasizes the need to go back and reiterate earlier stages a number of times as the project progresses. – Its actually a series of short waterfall cycles, each producing an early prototype representing a part of the entire project. – This approach helps demonstrate a proof of concept early in the cycle, and it more accurately reflects the disorderly, even chaotic evolution of technology.2/6/2011 Page 17 of 94
  • Content• Introduction• Literature Review• Analysis and Design• Implementation• Testing and Evaluation• Conclusion and Future Work• Demonstration• Learning outcome2/6/2011 Page 18 of 94
  • Literature Review• A survey on statistical skin detection approaches – Skin colour representation – Skin colour classification• Colour and Colour spaces – Colour – Colour spaces• There are two requirements of the greatest importance for skin detection in an image using colour information; (1) to represent the image pixels in a suitable color space, (2) to model the skin and non-skin pixels using a suitable distribution.2/6/2011 Page 19 of 94
  • Literature Review• A survey on statistical skin detection approaches – Skin colour representation – Skin colour classification• Colour and Colour spaces – Colour – Colour spaces• This section is aimed at providing the reader with the knowledge required to understand the basics of colour theory and the foundation of colour spaces2/6/2011 Page 30 of 94
  • Literature Review• A survey on statistical skin detection approaches – Skin colour representation – Skin colour classification• Colour and Colour spaces – Colour – Colour spaces – More than 200 articles and other resources (books, reports, projects, websites, etc.) have been reviewed.2/6/2011 Page 34 of 94
  • Content• Introduction• Literature Review• Analysis and Design• Implementation• Testing and Evaluation• Conclusion and Future Work• Demonstration• Learning outcome2/6/2011 Page 35 of 94
  • Analysis• Comparative review of reported investigations – There are quite few papers which provide comprehensive surveys on skin detection. – Among the few, Kakumanu et al. (2007), Stoerring (2004) and Vezhnevets et al. (2003) provide a thorough review, however their focus is on skin colour detection techniques. – I try to extend their effort by reviewing more references, including more recent studies and providing up-to-date survey.• Discussion on the choice of Colour space – How might colour space affect the performance of skin colour detector? – How can this affect be measured and compared? – Is there an optimal colour space for skin detection?• Comparison of different skin-colour classifiers – A summary of the performance of the skin detection strategies discussed in literature review – Many of the reported performances were on different datasets. Hence, it is not possible to obtain a fair evaluation of all these methods, as they are not evaluated on common representative train and test datasets Kindly refer to documentation (page 39 to 49)2/6/2011 Page 36 of 94
  • Analysis (conclusion)• The choice of colour space has to be based on the skin modelling method employed – non-parametric models are not much affected – Parametric models and Methods that use explicitly defined skin region are influenced by the choice of colour space.• The choice of colour space also should be based on the specification of project resources. – At the beginning of this research, my thought was to implement a skin detection engine (that would be my proposed one with enhanced features to possibly outperform current methods). However, after some research ,I have realized that• Each Skin modelling method has its own strong and weak points based on its application domain and particular business objectives . – Hence, instead of one detection engine, I decided to implement a “Skin Detection Software Development Kit”, containing commonly used skin classifiers and modules to build, manipulate and enhance each method.2/6/2011 Page 37 of 94
  • Design• Skin detection process has two phases: – a training phase – a detection phase 3- Training the Skin Classifier. Training Phase -> 1- Such database typically contains non-skin pixels as well. 2- Preprocessing the data for 2- This step may consist of tasks such as training - colour space transformation, - cleaning the data set, 1- Collecting a - choosing data distribution, etc. database of skin 3- The outcome of this stage is e.g. data (skin image - construction of probability density function (PDF) (and save it in pixels). lookup tables) for non-parametric approaches, - learning distribution’s parameter for parametric approaches, - and defining a set of rules for “explicitly defined skin region” methods.2/6/2011 Page 38 of 94
  • Design• Skin detection process has two phases: – a training phase – a detection phase 3- Post processing the image Detection Phase -> 1- This process might involve: - converting the image into the same colour space that was used in the training phase. 2- Classification - image re-sampling (to reduce the size of (skin vs. nonSkin) input data) -Filtering (histogram equalization to enhance the intensity for instance). 1- 2- At this stage, the system might perform several tasks to Preprocessing speed up the process and/or to enhance the performance of classifier. the image -using region growing methods -to combine the classifier with other (e.g. texture analysis) 3- using methods such as smoothing, closing or morphology to demand the spatial homogeneity on the detected regions2/6/2011 Page 39 of 94
  • Design• Skin Detection Framework - Note that the stage of training is not represented in this framework2/6/2011 Page 40 of 94
  • Design• The scope of this project has been restricted to the skin detection engine (at pixel level) and hence it is out of the concern of this study to explore the various pre and post-processing steps.• However, a thorough investigation is to be made for the training phase and classification stage of detection phase, that is the construction and application of skin detection engine.• For the level of this study, the following are to be implemented. – 1) Explicitly defined skin region methods • a number of commonly used classifiers which have been frequently reported in the literature. – 2) Non-Parametric methods: • two very famous methods of “Histogram based” and “Histogram-based with naive Bayes” – 3) Parametric methods: • the single Gaussian method is to be implemented as the most commonly used model of this category.2/6/2011 Page 41 of 94
  • Design2/6/2011 Page 42 of 94
  • Design2/6/2011 Page 47 of 94
  • Content• Introduction• Literature Review• Analysis and Design• Implementation• Testing and Evaluation• Conclusion and Future Work• Demonstration• Learning outcome2/6/2011 Page 48 of 94
  • Implementation• Generally, image processing programming can be done through a variety of programming languages.• These languages can be divided into three level of sophistication: – Assembly, – Compiled (e.g. C, C++) and – Application packages (e.g. MATLAB).• Choice of Language: C – Power, portability, modularity, flexibility and versatility: C has it all. – C is a memory efficient, close to machine language and hardware level , and executes at higher speed. – Also, there are rich image processing libraries, namely OpenCV, and extensive resources available for C.• Challenges with C – The language is not restricting to what is “allowed”, programmer can pretty much do whatever he wants. – The compiled code runs in a stripped down run-time model with no safety checks for bad type casts, bad array indices, or bad pointers. – There is no garbage collector to manage memory. Instead the programmer manages heap memory manually. – C is designed for professionals • It assumes the programmer knows exactly what he wants to do and how to use the language.2/6/2011 Page 49 of 94
  • Implementation• Worth mentioning, C++, Java and Perl are other strong choices for image processing. – Java and Perl are more portable than C. – Java and C++ are more structured that C. – but both portability and structured feature are useful for large projects. C works best for small projects where performance is important and the programmer has the skill to make it work in C.• Enhancing the system with OpenCV – OpenCV is an open source computer vision library available at http://SourceForge.net/projects/opencvlibrary. – The library is written in C and C++ and runs under Linux, Windows and Mac OSX. – OpenCV was designed for computational efficiency and with a strong focus on real time applications. – OpenCV is probably the most extensive library has ever built for computer vision application. – In this project, I have used OpenCV to manage I/O routines of skin detection system. That is reading and writing to an image data, camera, etc. • Note that, except the I/O routines, all other features of the skin detection SDK is implemented and written purely in C (using standard library).• Spiral SDLC – Bottom up approach (as oppose to top-down) – Iterative design, implementation and evaluation stages2/6/2011 Page 50 of 94
  • Implementation• Highlights: – Professional Coding Style – Extensive use of comments (functionality, reference, etc.) – High modularity – Extensive use of pointers – Manual Memory allocation (manage heap memory) – Error Handling (CV Call) – Execution speed: • Using Mahalanobis distance instead of Gaussian probability density function. • Using array data type for LUT • Fast Colour Space Transformation (alternative approaches) • Pre calculate slow function and store in LUT (colour Gamut) • Avoid using function such as sin(x), log(x), exponent, etc – Store the output values in static variables instead of using the function – Etc.2/6/2011 Page 51 of 94
  • Content• Introduction• Literature Review• Analysis and Design• Implementation• Testing and Evaluation• Conclusion and Future Work• Demonstration• Learning outcome2/6/2011 Page 52 of 94
  • Testing and EvaluationContent:• Method of Evaluation : ROC Analysis• Dataset• Objective Evaluation of Skin Detection Approaches using ROC Analysis – Explicitly defined Skin Regions – Non-Parametric Methods – Parametric Methods• Execution evaluation• Critical Evaluation• Proposed Method2/6/2011 Page 53 of 94
  • Method of Evaluation• ROC Analysis – Receiver Operating Characteristic (ROC) graph is a technique for visualizing, organizing and selecting classifiers based on their performance, (Fawcett 2006). • (Refer to documentation page 62 to 64) It is classified as skin True Positive It actually is skin colour It is classified as non-skin True Negative Given colour vector C It is classified as skin False Positive It is non-skin colour It is classified as non-skin False Negative2/6/2011 Page 54 of 94
  • Method of Evaluation P = Total number of Positive (Skin) samples N = Total number of Negative (non-skin) instances TPR = True Positive Rate = TP/P FPR = False Positive Rate = FP/N PPV = Positive Predictive Value ACC = Accuracy = TP + TN / P+N (Precision) = TP / TP+TN Some classifiers, such as neural network, produce probability values representing the degree to which class the instance belongs to. Plotting the ROC point for each possible threshold value results in a curve. AUG = Area Under the Graph2/6/2011 Page 55 of 94
  • Dataset• Compaq dataset of labelled skin and non-skin photos.• Gomez’s Skin/non-Skin dataset. Dr. Michael Jones MERL Research Centre (Jones & Rehg, 1999) Dr. Giovani G. Estrada Helmholtz Zentrum München German Research Centre (Gomez & Morales, 2002)2/6/2011 Page 56 of 94
  • Objective evaluation of skin detectionapproaches using ROC analysis• Explicitly defined skin regions – Four metrics of TPR, FPR, ACC and PPV are provided. – A method with higher TPR, ACC, PPV and lower FPR is considered “performs better”. – The values of TPR, FPR and ACC are given in percentage whereas PPV is normalized between 0 and 1 – All experiments in this category have been carried out on the both Compaq and Gomez database (full data). – The TPR is calculated from skin images whereas FPR is computed on non-skin images.2/6/2011 Page 57 of 94
  • Explicitly defined skin regions2/6/2011 Page 58 of 94
  • Explicitly defined skin regions2/6/2011 Page 59 of 94
  • Explicitly defined skin regions• It can be seen that methods with high true positive rate usually produce high false positive rates as well. – ( e.g. see number 1, 11 and 16)• Interestingly, the decision rules defined by Gomez perform very well on Gomez database however its performance is inferior (significantly) for Compaq Database. – (e.g. see number 4,6 and 7)• Also, many other classifiers perform significantly better on Gomez database. – This probably is due to the fact that Gomez dataset has more compact skin cluster and less skin/non-skin overlap.• The overall performance of explicit method defined by Kovac, et al (2003) outperforms other methods.2/6/2011 Page 60 of 94
  • Objective evaluation of skin detectionapproaches using ROC analysis• Non-parametric methods – Two methods of “Histogram-Based” and “Histogram-based with naïve Bayes” are putted into experiments to represent non-parametric methods‟ performance. • The former method is referred to as “Ordinary” whereas the later is noted “Bayes method” for convenience and to avoid confusion. – Objectives are: • To study how discretization of histogram (number of bins) would affect the performance of the classifier. • To investigate how the size of training set might make a difference • To explore whether using chrominance plane of the colour space (dropping luminance component) would lead to better outcomes. • Look into the question of whether selecting an appropriate colour space would improve the performance of classifier and if yes, search for the best choice. • Determine the dependency of a classifier on its training set. • Find out which method (Bayes or Ordinary) works better and under what conditions. – Classifier performance is quantified by computing the ROC curve and providing the AUG measure (area under the curve). • The value of AUG is normalized between 0 to 1, 1 being the perfect classifier. • The analysis and construction of ROC curve is accomplished by SPSS2/6/2011 software, providing 2 million sample data for each experiment. Page 61 of 94
  • Histogram discretization experiments• As the number of bins reduced, the average performance increases – however 16 bins is too little to capture the skin distribution accurately. – The reason seems to be that smaller bins number help to generalize the training data and avoid over fitting.• The optimal discretization is 32 bins per dimension. – Worth mentioning, findings of this experiment tally with those noted in (Schmugge et al. 2007) and (Jones & Rehg 1999).2/6/2011 Page 62 of 94
  • Affect of the size of training data• The acquired results suggest that the classifier’s performance (for both Bayes and Ordinary method) increases as the training set grows.2/6/2011 Page 63 of 94
  • Modelling of skin colour:Bayes vs. Ordinary method• The findings attest that the performance of Ordinary method is inferior to Bayes method for all colour spaces ; – Except HSV where Ordinary method performs slightly better than Bayes (for Compaq Dataset); • Understanding the reasons would require more investigations.• Findings match with those reported in (Vezhnevets & Andreeva 2005).2/6/2011 Page 64 of 94
  • Dropping illumination component• It can be seen that the performance is better with the presence of luminance component. – This affect is more obvious with Bayes method. – Probably this is due to that luminance component adds much more information to the separation of skin from non-skin colour distributions.• Interestingly, a number of recent studies confirm the finding of this experiment; – e.g. refer to (Kakumanu et al. 2007), (Schmugge et al. 2007), (Vezhnevets & Andreeva 2005) and (M.C. Shin et al.2/6/2011 2002). Page 65 of 94
  • The effect of colour space transformation• The performance is higher in phenomenal colour spaces in particular HSV. – I suspect this is due to the explicit discrimination between luminance and chrominance components.• Performance of non-parametric skin classifier, varies a little from colour space to colour space.• 90% above performance rate for most of the classifiers shows the effectiveness of classification via non-parametric methods. All experiments are performed by computing the Bayes classifier on a 3D histogram with 32 bins. This time all the data has been used for training and testing to maximize the performance .2/6/2011 Page 66 of 94
  • The effect of colour space ... (continued)• Interestingly the performance of classifiers in Compaq database is superior to Gomez database for all colour spaces. – I believe higher representativeness of the training sets from Compaq database caused this.• To further investigate this matter, an experiment has been conducted to obtain the performance of a classifier that was trained on Compaq database but tested on Gomez and vice versa• The classifier which was trained on Compaq performed better.2/6/2011 Page 67 of 94
  • Experiments with multi model colour spaces• Gomez in his article “on selecting colour components for skin detection”, (Gomez 2002) state that : – “if an appropriate colour model means something in terms of predictive power, generalization, memory saving, compactness, etc. It should be outside of a single model.”• He proposed a colour space with three axis of H (HSV), GY (RGB-Y), and Wr (Martinkauppi & Soriano 2001).• I have investigated this issue and result shows ‘it has high performance however there is no significant improvement’.2/6/2011 Page 68 of 94
  • Objective evaluation of skin detectionapproaches using ROC analysis• Parametric methods – single Gaussian approach has been implemented. • Take note that Gaussian models under study here are implemented in chrominance plane (2D) only. – Objectives: • Find the dependency of Gaussian models on the size of training datasets, more precisely to investigate whether “they can generalize well on small amounts of training data” as claimed by many researches, e.g. (Vezhnevets & Andreeva 2005), (Terrillon et al. 2000) and (Jones & Rehg 1999). • Determine the performance of Gaussian models with colour space transformation. In other words, to find out how much the performance of parametric methods is affected by the choice of colour spaces. • Compare the performance of parametric methods to non-parametric ones and explicitly defined skin regions. – The performance of Gaussian classifier is measured by computing the ROC curve, providing the area under the curve (AUG). • The value of AUG is normalized between 0 to 1, 1 being the perfect classifier. • The analysis and construction of ROC curve is accomplished by SPSS software, providing 10,000 sample data for each experiment.2/6/2011 Page 69 of 94
  • Affect of train/test data size• It is claimed by many researchers that the performance of Gaussian model is invariant to the size of training set.• To investigate this, the dataset separation scheme from (Table 6-6) is employed here; Each dataset is then used to train and test Gaussian models.• It can be seen, Gaussian model performs almost equally for different train/test separation percentage.• This finding suggests that Gaussian model does not require huge training dataset (unlike non-parametric methods).2/6/2011 Page 70 of 94
  • The effect of colour space transformation• Experiments have been conducted using 13 different colour spaces.• Only chrominance plane of colour spaces (2D) is used• All the data from each database has been used for training/testing.From the experiment we canconclude that:• The colour space choice certainly affect the Gaussian skin model. – This is clearly visible in the result of e.g. (Vezhnevets & Andreeva 2005), (Lee & Yoo 2002) and (Terrillon et al. 2000) as well.• Interestingly, the performance in colour spaces with Y component has found higher. – This is probably due to separation of luminance and chrominance which is highly achieved here2/6/2011 Page 71 of 94
  • Execution evaluation• Many application of skin detection are real time systems, e.g. pornographic image filtering.• The major problem with skin detection algorithms is that it is too time consuming to be applied to a real time system.• Consequently, many performance evaluation methods are concerned with execution speed of skin detector.• In this section, a very simple evaluation approach is employed to assess this quality of implemented methods.• In that manner, two metrics are provided: – CPU Time which is the time taken to process all the pixels in the testing dataset. The time is computed from CPU clock and is given in seconds. – Speed which is the rounded number of pixels processed in one second.• All experiments are conducted on a dataset of high-resolution images – (total of 565,405,346 pixels) taken in absolutely arbitrary conditions.• Hardware Platform: HP Pavilion tx1000 Notebook PC – Processor: AMD Athlon™ 64 X2 Dual-Core TK-53 1.70 GH – Memory: 2 GB – System Type: 32 bit Windows 7 professional Operating System2/6/2011 Page 72 of 94
  • Execution evaluation2/6/2011 Page 73 of 94
  • Execution evaluation2/6/2011 Page 74 of 94
  • Execution evaluation2/6/2011 Page 75 of 94
  • Execution evaluation• It can be seen that, • Explicitly defined skin region methods can be very fast. • On average, parametric methods have the worse execution performance; • they are considerably slower than other methods. • Non-parametric approaches are in the middle, • the execution speed of these methods is seemed to be directly related to the cost of colour space transformation part of their process.2/6/2011 Page 76 of 94
  • Critical evaluation• Explicitly defined skin region methods – Advantages: • They have simple and straightforward implementation. • They do not require training. • The classifier does not require storage space. • They can be very fast. – Disadvantage: • They are not robust classifiers to factors such as changing illumination. • The classifier is dependent to the shape of skin cluster in colour space. – So higher overlap between skin and non-skin classes will produce more false positives. • Achieving high recognition rates with this method requires finding both good colour space and adequate decision rules empirically.2/6/2011 Page 77 of 94
  • Critical evaluation• Non-Parametric Methods – Advantages: • They have high performance rate • They are relatively fast in usage (and also in training). • Theoretically independent to the shape of skin distribution (which is not true for explicit skin cluster definition and parametric skin modelling). – Disadvantage: • They do require training (performance directly depends on the representativeness of the training set). • The classifier requires much storage space in contrast with two other methods (storage to save LUT). • Inability to interpolate or generalize the training data.2/6/2011 Page 78 of 94
  • Critical evaluation• Parametric Methods – Advantages: • They do not require a huge training set. • Classifier does not require much storage space. • The ability to interpolate or generalize the training data. – Disadvantage: • They are generally slow in usage and since an explicit distribution model is used, a question of model validation arises.2/6/2011 Page 79 of 94
  • Proposed Method• A motivation of conducting this project was to enhance the performance of the Skin Detection Engine.• For that reason a simple fusion technique (based on Max Voting) is proposed; – As most of the previous studies showed that combining the decisions of several classifiers can lead to better recognition results. – I have selected the 3 best of explicitly defined skin region methods along with 2 best of Bayes classifiers and the best Gaussian classifier.2/6/2011 Page 80 of 94
  • Proposed Method• I did not consider the Gaussian model because: – the Gaussian classifier is by far inferior to other methods. • Even though it produces a high rate of true positives but it comes with 30% above false positives which significantly decreases its overall performance. – Also Gaussian model is too slow.• The 5 remaining methods have been combined to build the proposed method. (see the flowchart)2/6/2011 Page 81 of 94
  • Proposed Method
  • Proposed Method• Experimental results:• It can be seen that the performance is slightly improved for both databases.• Interestingly, the numerical results for both sets are very similar. – This suggests that the robustness of proposed method is higher than the previously investigated methods.• One drawback of this method would be its execution speed which is relatively low. – However this is expected from the nature of method fusion techniques2/6/2011 Page 83 of 94
  • Content• Introduction• Literature Review• Analysis and Design• Implementation• Testing and Evaluation• Conclusion and Future Work• Demonstration• Learning outcome2/6/2011 Page 84 of 94
  • Conclusion  Skin detection is an important indicator of human presence and actions in many application domains of computer vision.  Using skin colour has the advantages of being invariant to orientation and size, giving extra dimensions compared to gray scale methods, and being fast to process.  While significant advances have been made in skin detection during the past decade, the robustness to complex dynamic backgrounds and variable lighting still remained a problem.  This thesis dealt with such skin colour analysis and detection related issues.2/6/2011 Page 85 of 94
  • Conclusion  The main findings of the comprehensive experiments carried, are:  The explicitly defined skin region method has good skin detection rate at the expense of high false positives.  This technique is less accurate in case of shadows and situations where the skin colour is not distinguishable from background.  The main advantage of this method is the simplicity and intuitiveness of the classification rules.  However, the problem with them is the need to find both good colour space and adequate decision rules empirically.  Since this technique for skin segmentation is less precise, it is suitable in situations that accuracy may be sacrificed when the skin detection strategy is used only as a preprocessing step to e.g. face detection.2/6/2011 Page 86 of 94
  • Conclusion  The main findings of the comprehensive experiments carried, are:  The non-parametric methods performance is affected by the degree of overlap between the skin and non-skin classes in a given colour space and the choice of the detection threshold.  They are rather useful for image indexing because a skin model can be learned from training data which is largely available.  Also non-parametric methods are better than parametric methods to model data from different acquisition sources.  Parametric skin modelling methods are better suited for constructing classifiers in case of limited training and expected target data set.  Generalize and interpolation ability of these methods makes it possible to construct a classifier with acceptable performance from incomplete training data.2/6/2011 Page 87 of 94
  • Conclusion  Also, a skin detection library (written in C) is delivered which can be used for application oriented creation of desired skin detectors.  Our very own proposed method (built with this library) proved that, using simple fusion techniques to combine different methods, we can produce better results.2/6/2011 Page 88 of 94
  • Future Work  Study and review other statistical skin detection models  As well as other skin detection methods based on colour information  And also other approaches than colour information  Enhance the Skin Detection SDK  Include more colour space transformation  Implement other methods into Skin Detection SDK  Optimize implemented modules  Include I/O routines, etc.  Provide more extensive experiments  Other databases (maybe my own developed database)  Test conditions such as illumination changing, indoor/outdoor images, camera specific, etc.  Apply extra/advance methods to enhance the current system  adaptive thresholding  Region–based methods  Texture analysis, etc.2/6/2011 Page 89 of 94
  • Future Vision The way in which AI has been attempting to solve the problem of intelligent machines suffers from a fundamental issue; researchers are trying to simulate intelligent behavior on conventional machines which are fundamentally different from biological systems that are platforms to natural intelligence. The greatest inventor is the nature itself; if we are interested to uncover the rules of human thought and simulate it on a machine (computer), we have to build a computer in the same way that nature builds a brain.  This would be possible if we constantly study and model nature and accordingly evolve our computational approaches.  In my belief, the future of AI is lied in bio-inspired computing. I see the future of AI with two promises; first use of evolutionary machines and next, committing to more realistic goals.  In that manner, bio-inspired computing could deliver both promises.  e.g. (University of Michigan, 2010) and (Monash University, 2009)2/6/2011 Page 90 of 94
  • Content• Introduction• Literature Review• Analysis and Design• Implementation• Testing and Evaluation• Conclusion and Future Work• Demonstration• Learning outcome2/6/2011 Page 91 of 94
  • Content• Introduction• Literature Review• Analysis and Design• Implementation• Testing and Evaluation• Conclusion and Future Work• Demonstration• Learning outcome2/6/2011 Page 93 of 94
  • Thank you! Q&A2/6/2011 Page 94 of 94