seminar on skin detection

94

Upload: ali-madooei

Post on 13-Jan-2015

7.119 views

Category:

Education


3 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Seminar on Skin Detection
Page 2: Seminar on Skin Detection

Ali MadooeiAsia Pacific Institute of Information Technology (APIIT)Undergraduate student (2007-2010) Final Year Project conducted from December 2009 to July 2010

SupervisorProf. Andrew Philip Seddon, Ph.D.Dean: Quality Assurance & PartnershipsActing Dean: Faculty of Computing, Engineering & TechnologyAsia Pacific University College of Technology & Innovation (UCTI)Kuala Lumpur, Malaysia AdvisorProf. Simon David Scott, Ph.D.Chief Technical OfficerCentre of Technology and Innovation (CTI)Asia Pacific University College of Technology & Innovation (UCTI)Kuala Lumpur, Malaysia

Robustness Skin Detection System Based on Fusing Different Techniques

Page 3: Seminar on Skin Detection

Content

• Introduction• Literature Review• Analysis and Design• Implementation• Testing and Evaluation• Conclusion and Future Work• Demonstration• Learning outcome

04/10/2023 Page 3 of 94

Page 4: Seminar on Skin Detection

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 oncomputer vision methods analysing and detecting skin colour in

unconstrained environments. 04/10/2023 Page 4 of 94

Page 5: Seminar on Skin Detection

Motivation for Skin Colour in Computer 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 of human parts in images (videos)

04/10/2023 Page 5 of 94

Page 6: Seminar on Skin Detection

Background (task)

• Skin detection means detecting image pixels and regions that contain skin-tone colour

04/10/2023 Page 6 of 94

Page 7: Seminar on Skin Detection

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).

04/10/2023 Page 7 of 94

Page 8: Seminar on Skin Detection

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.

04/10/2023 Page 8 of 94

Page 9: Seminar on Skin Detection

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 image segmentation”.

04/10/2023 Page 9 of 94

Page 10: Seminar on Skin Detection

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 approaches04/10/2023 Page 10 of 94

Page 11: Seminar on Skin Detection

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.04/10/2023 Page 11 of 94

Page 12: Seminar on Skin Detection

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.

04/10/2023 Page 12 of 94

Page 13: Seminar on Skin Detection

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. – It's 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.

04/10/2023 Page 13 of 94

Page 14: Seminar on Skin Detection
Page 15: Seminar on Skin Detection
Page 16: Seminar on Skin Detection
Page 17: Seminar on Skin Detection

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. – It's 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.

04/10/2023 Page 17 of 94

Page 18: Seminar on Skin Detection

Content

• Introduction• Literature Review• Analysis and Design• Implementation• Testing and Evaluation• Conclusion and Future Work• Demonstration• Learning outcome

04/10/2023 Page 18 of 94

Page 19: Seminar on Skin Detection

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.

04/10/2023 Page 19 of 94

Page 20: Seminar on Skin Detection
Page 21: Seminar on Skin Detection
Page 22: Seminar on Skin Detection
Page 23: Seminar on Skin Detection
Page 24: Seminar on Skin Detection
Page 25: Seminar on Skin Detection
Page 26: Seminar on Skin Detection
Page 27: Seminar on Skin Detection
Page 28: Seminar on Skin Detection
Page 29: Seminar on Skin Detection
Page 30: Seminar on Skin Detection

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 spaces

04/10/2023 Page 30 of 94

Page 31: Seminar on Skin Detection
Page 32: Seminar on Skin Detection
Page 33: Seminar on Skin Detection
Page 34: Seminar on Skin Detection

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.

04/10/2023 Page 34 of 94

Page 35: Seminar on Skin Detection

Content

• Introduction• Literature Review• Analysis and Design• Implementation• Testing and Evaluation• Conclusion and Future Work• Demonstration• Learning outcome

04/10/2023 Page 35 of 94

Page 36: Seminar on Skin Detection

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)04/10/2023 Page 36 of 94

Page 37: Seminar on Skin Detection

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.

04/10/2023 Page 37 of 94

Page 38: Seminar on Skin Detection

Design

• Skin detection process has two phases:– a training phase – a detection phase

04/10/2023 Page 38 of 94

1- Collecting a database of

skin data (skin image pixels).

2- Preprocessing the data for training

3- Training the Skin

Classifier.

Training Phase ->

1- Such database typically contains non-skin pixels as well.

2- This step may consist of tasks such as -colour space transformation, -cleaning the data set, -choosing data distribution, etc.

3- The outcome of this stage is e.g. -construction of probability density function (PDF) (and save it in

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.

Page 39: Seminar on Skin Detection

Design

• Skin detection process has two phases:– a training phase – a detection phase

04/10/2023 Page 39 of 94

1- Preprocessing the image

2- Classification (skin vs.

nonSkin)

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. - image re-sampling (to reduce the size of input data)

- Filtering (histogram equalization to enhance the intensity for instance).

2- At this stage, the system might perform several tasks to speed up the process and/or to enhance the performance of classifier. -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 regions

Page 40: Seminar on Skin Detection

Design

• Skin Detection Framework

04/10/2023 Page 40 of 94

- Note that the stage of training is not represented in this framework

Page 41: Seminar on Skin Detection

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. 04/10/2023 Page 41 of 94

Page 42: Seminar on Skin Detection

Design

04/10/2023 Page 42 of 94

Page 43: Seminar on Skin Detection
Page 44: Seminar on Skin Detection
Page 45: Seminar on Skin Detection
Page 46: Seminar on Skin Detection
Page 47: Seminar on Skin Detection

Design

04/10/2023 Page 47 of 94

Page 48: Seminar on Skin Detection

Content

• Introduction• Literature Review• Analysis and Design• Implementation• Testing and Evaluation• Conclusion and Future Work• Demonstration• Learning outcome

04/10/2023 Page 48 of 94

Page 49: Seminar on Skin Detection

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.

04/10/2023 Page 49 of 94

Page 50: Seminar on Skin Detection

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 stages

04/10/2023 Page 50 of 94

Page 51: Seminar on Skin Detection

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.04/10/2023 Page 51 of 94

Page 52: Seminar on Skin Detection

Content

• Introduction• Literature Review• Analysis and Design• Implementation• Testing and Evaluation• Conclusion and Future Work• Demonstration• Learning outcome

04/10/2023 Page 52 of 94

Page 53: Seminar on Skin Detection

Testing and Evaluation

Content:• 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 Method04/10/2023 Page 53 of 94

Page 54: Seminar on Skin Detection

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)

04/10/2023 Page 54 of 94

Given colour vector C

It actually is skin colour

It is non-skin colour

It is classified as skin

It is classified as non-skin

It is classified as skin

It is classified as non-skin

True Positive

True Negative

False Positive

False Negative

Page 55: Seminar on Skin Detection

Method of Evaluation

04/10/2023 Page 55 of 94

TPR = True Positive Rate = TP/P FPR = False Positive Rate = FP/N

ACC = Accuracy = TP + TN / P+N PPV = Positive Predictive Value (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 Graph

P = Total number of Positive (Skin) samplesN = Total number of Negative (non-skin) instances

Page 56: Seminar on Skin Detection

Dataset

• Compaq dataset of labelled skin and non-skin photos.• Gomez’s Skin/non-Skin dataset.

04/10/2023 Page 56 of 94

Dr. Giovani G. Estrada Helmholtz Zentrum München

German Research Centre (Gomez & Morales, 2002)

Dr. Michael Jones MERL Research Centre(Jones & Rehg, 1999)

Page 57: Seminar on Skin Detection

Objective evaluation of skin detection approaches 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.

04/10/2023 Page 57 of 94

Page 58: Seminar on Skin Detection

Explicitly defined skin regions

04/10/2023 Page 58 of 94

Page 59: Seminar on Skin Detection

Explicitly defined skin regions

04/10/2023 Page 59 of 94

Page 60: Seminar on Skin Detection

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. 04/10/2023 Page 60 of 94

Page 61: Seminar on Skin Detection

Objective evaluation of skin detection approaches 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 SPSS software,

providing 2 million sample data for each experiment. 04/10/2023 Page 61 of 94

Page 62: Seminar on Skin Detection

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).

04/10/2023 Page 62 of 94

Page 63: Seminar on Skin Detection

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.

04/10/2023 Page 63 of 94

Page 64: Seminar on Skin Detection

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).

04/10/2023 Page 64 of 94

Page 65: Seminar on Skin Detection

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. 2002).

04/10/2023 Page 65 of 94

Page 66: Seminar on Skin Detection

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.

04/10/2023 Page 66 of 94

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 .

Page 67: Seminar on Skin Detection

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.

04/10/2023 Page 67 of 94

Page 68: Seminar on Skin Detection

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’.

04/10/2023 Page 68 of 94

Page 69: Seminar on Skin Detection

Objective evaluation of skin detection approaches 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.

04/10/2023 Page 69 of 94

Page 70: Seminar on Skin Detection

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).04/10/2023 Page 70 of 94

Page 71: Seminar on Skin Detection

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 can conclude 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 here 04/10/2023 Page 71 of 94

Page 72: Seminar on Skin Detection

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 System

04/10/2023 Page 72 of 94

Page 73: Seminar on Skin Detection

Execution evaluation

04/10/2023 Page 73 of 94

Page 74: Seminar on Skin Detection

Execution evaluation

04/10/2023 Page 74 of 94

Page 75: Seminar on Skin Detection

Execution evaluation

04/10/2023 Page 75 of 94

Page 76: Seminar on Skin Detection

Execution evaluation

04/10/2023 Page 76 of 94

• 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.

Page 77: Seminar on Skin Detection

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. 04/10/2023 Page 77 of 94

Page 78: Seminar on Skin Detection

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.

04/10/2023 Page 78 of 94

Page 79: Seminar on Skin Detection

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.

04/10/2023 Page 79 of 94

Page 80: Seminar on Skin Detection

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.

04/10/2023 Page 80 of 94

Page 81: Seminar on Skin Detection

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) 04/10/2023 Page 81 of 94

Page 82: Seminar on Skin Detection

Proposed Method

Page 83: Seminar on Skin Detection

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 techniques

04/10/2023 Page 83 of 94

Page 84: Seminar on Skin Detection

Content

• Introduction• Literature Review• Analysis and Design• Implementation• Testing and Evaluation• Conclusion and Future Work• Demonstration• Learning outcome

04/10/2023 Page 84 of 94

Page 85: Seminar on Skin Detection

Conclusion

04/10/2023 Page 85 of 94

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.

Page 86: Seminar on Skin Detection

Conclusion

04/10/2023 Page 86 of 94

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.

Page 87: Seminar on Skin Detection

Conclusion

04/10/2023 Page 87 of 94

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.

Page 88: Seminar on Skin Detection

Conclusion

04/10/2023 Page 88 of 94

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.

Page 89: Seminar on Skin Detection

Future Work

04/10/2023 Page 89 of 94

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.

Page 90: Seminar on Skin Detection

Future Vision

04/10/2023 Page 90 of 94

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)

Page 91: Seminar on Skin Detection

Content

• Introduction• Literature Review• Analysis and Design• Implementation• Testing and Evaluation• Conclusion and Future Work• Demonstration• Learning outcome

04/10/2023 Page 91 of 94

Page 92: Seminar on Skin Detection

Demonstration

04/10/2023 Page 92 of 94

Running the application!

Page 93: Seminar on Skin Detection

Content

• Introduction• Literature Review• Analysis and Design• Implementation• Testing and Evaluation• Conclusion and Future Work• Demonstration• Learning outcome

04/10/2023 Page 93 of 94

Page 94: Seminar on Skin Detection

Thank you!

Q & A

04/10/2023 Page 94 of 94