Chethan Kumar Hanumanthappa Venkatesh (Author)

Information Technology,

SRH Hochschule Heidelberg

Heidelberg, Germany

Mail ID: [email protected]

 

Abstract— This paper is to show Touch-less fingerprint recognition is regarded as a
viable alternative to contact-based fingerprint recognition technology. It
provides a near ideal solution to the problems in terms of hygienic,
maintenance and latent fingerprints. In this paper, we present a touch-less
fingerprint recognition system by using a digital camera. This paper is to show
the skin tone segmentation using open CV and C++programming language and color
detection with fingerprint detection of hand in different tilted positions of
fingers. And fingerprint detection with inclusion of hand palm.

Keywords: Luminance, colour
transform, skin tone detection, steganography, object oriented embedding.

                                                                                                                                                       
I.         
Introduction

The touch-based electronic fingerprint scanner will lead to the
weakening of durability if the device is used heavily. In addition, the
pressure of the physical contacts will normally cause the touch-based
fingerprint images to be degraded. On the other hand, images captured with
touch-less devices are distortion free and present no deformation because these
images are free from the pressure of contact. Moreover, the problems in terms
of hygienic, maintenance, latent fingerprint problems and so forth are overcome
with the touch-less fingerprinting technology 2. Finger print detection will
be helpful in various day to day applications like human machine interface,
surveillance, driver detection, Immigration, security and access in critical
areas. In this project we should use a built-in laptop
camera or a web-camera. For a value to luminance to brighten the image we can
use either of the two alternations of the RGB (Red, Green, Blue) color model.
Either HSI (Hue, Saturation, Lightness) or HSV (Hue, Saturation, Value). The
below flow diagram will help us to understand the concept of touchless
fingerprint capturing technology.

 

 

 

 

 

 

 

 

 

II.
TECHNOLOGIES USED

A.    OpenCV

                I have used OpenCV (Open Source
Computer Vision Library) which is a library mainly aims at real-time computer
vision systems, developed by Intel. It mainly focuses on real time Image Processing
and Computer Vision. Computer Vision is a science and technology that is used
to process images to obtain relevant information. OpenCV library is written in
C language with its primary application interface available in C. It provides
wrapper classes for use in C++ language as well. It provides basic data
structures for Matrix operations and Image Processing with efficient
optimizations. It provides fast and efficient data structures and algorithms
which can be used for complex real time Image Processing and Computer Vision
applications 3.

 

B.    C++

The
programming language used is C++ (pronounced as see plus plus), it is a
multi-paradigm, general-purpose and compiled programming language. Which
comprises of a combination of high-level language features like OOPS concepts
and low-level language features like memory access using pointers etc. It has
also added object oriented concepts like classes to the C language. We are
using here the C++ interface of OpenCV for the implementation. The C++
interface provides a powerful data structure Mat (short for Matrix) which is
efficient, portable and easy to use. Mat is basically just a multi-channel and
multi-dimensional array which can be used to store images, intermediate image
transformations, values just like a normal Array.

 

III.
IMPLEMENTATION

A.    Skin
tone Segmentation

Skin tone
segmentation deals with separating the user’s skin from the background in the
image. This can be done using various methods. The most important step for skin
segmentation is Thresholding which is used in most of the methods described
below to separate the skin from the background. Thresholding can be used to
extract an object from its background by assigning intensity values for each
pixel suchthat eachpixel is
either classified as an object pixel or a background pixel. Thresholding is
done on the input image according to a threshold value. Any pixel with
intensity less than the threshold value is set to 0 and any pixel with
intensity more than the threshold value is set to 1. Thus the output of
thresholding is a binary image with all pixels 0 belonging to the background
and pixels 1 represent the hand. Therefore the white blob that is pixels having
value 1 is the object area. In our case the object is the user’s hand. The most
important component for thresholding is the threshold value. There are various
methods to select the appropriate threshold value for better result explained
in the further points 5. Hand Segmentation method with background constraints
explained as follows:

 

1)      
 With Background Constraint

 

In this type of segmentation, some constraints are put on the
background to extract hand blob without much noise. In this type of hand
segmentation, intensity of the pixels is used for segmenting the user’s hand.
Typically intensity of hand is much higher, so by keeping background dark, hand
can be easily segmented. This type includes the following methods for
segmentation:

 

a)      
 Static Threshold Value

 

Image frame is taken as input from the webcam in the RGB
format. This image is converted into grayscale. Then either a static threshold
value is used or a threshold value is selected from 0 to 255 according to the
user specification which acts as the threshold value. This threshold value
should be chosen by the user in such a way that the white blob of the hand is
segmented with minimum noise possible. A Trackbar can be provided to adjust the
threshold value for the current usage scenario.

For every usage,
either the thresholdingvalue is static that is each time same value is used or
the user is required to set the threshold value to ensure good level of hand
segmentation. Thus this method is not used since it puts the systems success or
failure dependant on the user setting a proper threshold value or on the
quality of the static threshold value. This method is useful where the intensity
of the hand is almost similar whenever the system is used. Also the background
intensity should be similar every time the system is used. But even in constant
lighting conditions during every system use, the system might fail depending on
the user’s hand color. If the user’s hand is also darker in color, the system
might not be able to separate the user’s hands and the dark background. The
figures 2 below show the thresholdedinput image from figure 1 using a static
threshold value of 70 and 20. The noise introduced in figure 1 clearly shows
how using a bad thresholding value can introduce noise which can reduce the
accuracy of hand detection.

The region of
interest (ROI) is needed to extract from original images which makes the work
faster and reduces the computational time taken. The HSV color space based skin
filter was used to form the binary silhouette of the input image, which will be
used to segment hands and masking with original images. Essentially, HSV type
color spaces are deformations of the RGB color cube and they can be mapped from
the RGB space via a nonlinear transformation. The reason behind the selection
of this color space in skin detection is that it allows users to intuitively
specify the boundary of the skin color class in terms of the hue and
saturation. As ?Value’ in HSV provides the brightness information, it is often
dropped to reduce illumination dependency of skin color.

 

Fig.1 Hand segmentation with noise.

 

 

Fig.2. Hand segmentation without noise.

 

b)      
Incremental Thresholding Value

 

In this method,
same pre-processing as in the static thresholding value is done on the image
input frame, converting from RGB to Grayscale. Instead of using a constant
value for every input image frame, the threshold value is incremented till a
condition is not met. For this method, a minimum threshold value is set and
then the input image frame is thresholded using this value. If the current
thresholding value does not fulfil the condition, then the thresholding value
is incremented and again the same procedure is followed till the condition is
met. The condition to detect hand is until only one white blob is present in
the thresholded image.

 

c)      
 Thresholding using Otsu’s Method

 

Otsu’s Methodis
used to automatically select a threshold value based on the shape of the
histogram of the image. This algorithm assumes that the image contains two
dominant peaks of pixel intensities in the histogram that is two classes of
pixels. The histogram should be bi-model for using this method. The two classes
are foreground and background. The algorithm tries to find the optimal
threshold value using which the two classes are separated in such a way that
their intra-class variance or combined spread is minimal. Thus the two classes
are background and hand. So the threshold value tries to separate the peaks in
order to give minimal intra-class variance4.

 

d)      
 Dynamic Thresholding using Color at Real Time

 

Unlike previous
methods of thresholding, in this method color based thresholding is done. This can
also be termed as color level slicing. Initially the user has to give some
dummy input image frames with the hand to be detected in the central part of
the image. The system would do the analysis on these dummy input frames and
generating dynamic threshold values in RGB. In this analysis, a small central
circular part, with arbitrary radius, of the dummy input frames is considered
initially. The first two pixels of the central part are set as minimum pixel
value and maximum pixel values. Then rest all pixels in the central part are
processed. For every pixel value that is scanned, it is compared with the
minimum and maximum pixel values. If the scanned pixel value is less than the
minimum pixels value then the minimum pixel value is updated to the scanned
pixel value. Similarly if scanned pixel value is more than that of maximum
pixel value, then the maximum pixel value is updated to the scanned pixel
value. The range defined by the Minimum and Maximum pixel value is used to
threshold the image, whichever pixel comes between this ranges is considered as
hand pixel.

B.    Human Skin Modelling

Computer vision
requires colour transformations, there are several ways including, RGB, HSV,
XYZ, LHC etc., The RGB represents the view of colours in proportions of Red,
Green & Blue. 6

 

1)      
RGB

This is
a simple yet powerful method to construct a skin classifier directly from the
RGB composites which sets many rules (N) for skin colour likelihood. e.g.,
luminance elimination. They utilize the following rules:

 

An R, G, B pixel
is classified as skin if and only if

 

R > 95 & G > 40 & B > 20 & max (R, G, B)

– min (R, G, B) > 15 (4) & |R-G|
> 15 & R > G & R > B

 

Some authors
prefer to normalise the RGB primaries beforehand. Let the RGB denote the
normalised

colour space, which is expressed below

 

The b
component has the least representation of skin colour and therefore it can be
not taken into count in skin segmentation 7. Abdullah-Al-Wadud and Chae 8
use a colour distance map (CDM) applied to RGB colours, although that can be
extended to any colour space. They have implement an algorithm based on the
property of the flow of water to further refine the output using an edge
operator. The generated CDM is a grayscale image. The distribution of the
distance map is quasi-Gaussian. They also propose an adaptive Standard Skin
Colour (SSC) to act as a classifier to vote for skin pixels. The method does
not develop any color space.

 

2)      
 HSV

 

HSV
(Hue, Saturation and Value) colour space. HS can be obtained by applying a non-linear
transformation to the RGB colour primaries as shown in below equation. A
texture amplitude map is used to find regions of low texture information. The
algorithm first locates images containing large areas where colour and texture
is appropriate for skin, and then segregates those regions with little texture.
The texture amplitude map is generated from the matrix I by applying 2D median
filters. RGB to HSV transform can be expressed as in-

 

               

                                                                                            1

                                                                                           

 

C.     Finger print extraction

To extract finger
print from the palm we are going to use the convex hall technique. Convex Hull
is the smallest convex set that contains a set of points. And a convex set is a
set of points such that, if we trace a straight line from any pair of points in
the set, that line must be also be inside the region. With this algorithm we
can get much smoother, nice & easier analyse. 9.

 

 

The fingertip
angle can be calculated by following equation.

||X|| = {(X – X1)(X – X2)} / {|X –X1| |X- X2|}

X1, X2 are the
previous and following point of X and they are separated by X within the same
distance. The value of fingertip-angle ||X|| is between 0 and 1, because it is
the cosine value of ‘X1 X X2’. We notice that more accurate the angle is, the larger the
cosine value is. Thus all the angle of each point in contour is calculated and
a threshold is set for cosine value which gives fingertip position.

 

By writing a
rectangle to the fingertip we can get the finger print within the rectangle. Using
you can find convexity defects, which will be potential fingertip locations.
Following figures shows the fingertip extraction for multiple fingers.

 

 

 

RESULTS

The current work
can efficiently result in extraction of segmented skin tone and the
fingerprint. Skin tone segmentation is provided in different techniques for preprocessing of
input images. And the fingerprint obtained can be used in several applications
as mentioned in introduction. These provided techniques can be used accurately
and efficiently applying some constraints. This method can also be used for
human machine interfaces.

Conclusion

The paper is presented to get the hand
segmentation & fingertip print extraction to the user with the hand palm. By
changing the values, you must adjust the segmentation and the fingertip detection.
This algorithm helps in getting the fingerprint without any physical contact of
fingers. This technique can be used in multiple areas. By using this algorithm,
you can get more durable, efficient and fast fingerprint detection. To detect
the hand palm & fingers a very well illuminated area is necessary.  With a good background subtraction, we can use
this method in all locations.

 

Acknowledgment

This paper is
written under the guidence of lectures from Prof. Dr. Ing Christof Jonietz and from the references
given in the paper. I thank all the authors and Prof. Dr. Ing Christof Jonietz for giving me
opprtunity to write this paper.

REFERENCES

1     
A Skin Tone Detection Algorithm
for an Adaptive Approach to  Steganography,
by Abbas Cheddad, Joan Condell, Kevin Curran and Paul Mc Kevitt

2     
Y. Song, C. Lee, and J. Kim,
“A New Scheme for Touchless Fingerprint Recognition System”,
International Symposium on Intelligent Signal Processing and Communication
Systems, Korea, 2004.

3     
O’reilly, Learning OpenCV,
Computer Vision in C++ with the OpenCV Library, Adrian Kaebler and Gary
Bradski.

4     
Implementation of Hand
Detection based Techniques for Human Computer Interaction, by Amiraj Dhawan,
Vipul Honrao

5     
Thresholdinghttp://www.cse.unr.edu/~bebis/CS791E/Not
es/Thresholding.pdf

6      G. Gomez,
On selecting colour components for skin detection, in: Proceedings of
International Conference on Pattern Recognition, Quebec, 11-15 Aug 2002, vol.2,
pp. 961-964.

7      R.R.
Porle, A. Chekima, F. Wong and G. Sainarayanan, Wavelet-based skin segmentation
for detecting occluded arms in human body pose modelling system, in:
Proceedings of International Conference on Intelligent and Advanced Systems,
Malaysia, 25-28 November 2007, pp.764 -769.

8       M. Abdullah-Al-Wadud and O. Chae, Skin
segmentation using color distance map and water-flow property, in: Proceedings
of International Conference on Information Assurance and Security, Italy, 8-10
Sept. 2008, pp. 83-88.

9      https://picoledelimao.github.io/blog/2015/11/15/fingertip-detection-on-opencv

10   http://thescipub.com/PDF/jcssp.2014.382.392.pdf