End of Year Presentation
Principle Investigator: David Pilkington Supervisor: James Connan
BUILDING A ROBUST FACIAL RECOGNITION
SYSTEM BASED ON GENERIC TOOLS
CONTENTS
• Introduction
• Recap
• Changes to image database
• Testing Framework
• Benchmark System
• Design
• Testing Results
• Weaknesses and Proposed Solutions
• Developed System
• Design
• Implementation and Encountered Problems
• Experimental Results
• Concluding Thoughts and Possible Future Work
2
RECAP
• Makes use of the EmguCV package (C# wrapper for OpenCV)
• Logitech 300 webcam (640 x 480)
• Benchmark System to establish baseline performance
• Identify weaknesses
CHANGES TO THE IMAGE DATABASE
• Comprised of 50 images
• 10 individuals with 5 images each
• Captured using the tools provided by the package
• Stored as .png files due to lossless compression (640 x 480)
• Varying backgrounds, lighting conditions, sexes, race
4
TESTING FRAMEWORK
• Consists of 5 tests:
Test Description
1 1 training image
2 2 training images
3 3 training images
4 4 training images
5 5 training images
BENCHMARK SYSTEM
6
DESIGN
Input Image
EigenObjectRe
cogniser Identified
Face
training
TEST RESULTS
8
Test Recognition Rate
1 40% (s2, s3)
2 40% (s2, s3)
3 40% (s2, s3)
4 40% (s2, s3)
5 40% (s2, s3)
IDENTIFIED WEAKNESSES
•
Lower recognition rate than we would like (40%)
•
No ability to reject an image
•
Highly afftected by spurious background noise
•
Highly affected by varying lighting
PROPOSED SOLUTION
10
•
Make use of face detection to crop image
•
Make use of skin segmentation to further reduce background noise
•
Use histogram equalisation to reduce light variability
•
Introduce a threshold to the recongniser to allow the rejection of images
DEVELOPED SYSTEM
DESIGN
Input Image
Face Detector Skin
Segmentation Eigen
Recogniser
Identified Face Image Rejected
12 training
FACE DETECTOR
SKIN SEGMENTATION: DESIGN
14
Input Image
Nose Detector Colour
Modelling Segmentation
Segmented ImageSKIN SEGMENTOR : NOSE IDENTIFICATION
SKIN SEGMENTOR: SKIN MODELING
16
SKIN SEGMENTOR: SEGMENTATION
EIGEN RECOGNISER
18
TRAINING
• Makes use of the eigenfaces technique which is base on PCA
• Receive training images and labels
• Create the PCA subspace
• Compute eigenvectors for training images
• Project the training images onto the PCA subspace to obtain eigenvalues for images
RECOGNITION
• Project test image onto the PCA subspace and obtain eigenvalues
• Find nearest neighbour by shortest Euclidean Distance
EXPERIMENTAL RESULTS
Test Recognition Rate
1 60% (s1, s2, s4)
2 60% (s1, s2, s4)
3 60%(s1, s2, s4)
4 80% (s1, s2, s3, s4)
5 80% (s1, s2, s3, s4)
EXPERIMENTAL RESULTS : COMPARISON
Euclidean Distance to Nearest Neighbour
20
EXPERIMENTAL RESULTS : COMPARISON
VS
Benchmark System Developed System
EXPERIMENTAL RESULTS : COMPARISON
22
Database Load Time
CONCLUDING THOUGHTS AND POSSIBLE FUTURE WORK
Conclusions
• Background noise reduction has proved to be effective
• Light sensitivity is still a problem
• Thresholding was temperamental
• Scalability problem due to image processes
Possible Future Extensions
• Expand image data set
• Comparison between recognition techniques
• Effects of glasses, beards, etc.
PROUDLY BROUGHT TO YOU BY …
24