Face Iccit 04

download Face Iccit 04

of 5

Transcript of Face Iccit 04

  • 8/14/2019 Face Iccit 04

    1/5

    Automatic Face Recognition System using P-tree and K-Nearest Neighbor

    ClassifierMohammad Kabir Hossain, Abu Ahmed Sayeem Reaz, Rajibul Alam, and Dr.William Perrizo*

    Department of Computer Science and Engineering, North South University, Dhaka 1217

    *Department of Computer Science, North Dakota State University, Fargo, ND 58105, USA

    Emails: [email protected], [email protected], [email protected],

    [email protected]

    Abstract: Face recognition has recently received

    remarkable attention in both authentication and

    identification systems due to high acceptability and

    collectability, regardless its lower circumvention and

    uniqueness than other biometric verification

    technologies. The basic approach with face recognition

    commences with feature set construction from the

    relevant facial traits of the users, termed enrollment [1].

    When a user is to be authenticated (i.e. the user's

    identity is to be verified), his/her facial sample is

    captured and a feature set is created. This featureset is

    then compared with the enrollment feature set. But feature set search mechanism is time consuming and

    sometimes exhaustive. In this paper, a very efficient and

    time saving search mechanism is proposed that exploits

    the advantages of Peano Count Tree and K- Nearest

    Neighbor Search techniques.

    Keywords: Verification, Identification, Feature set,

    Image processing, P-tree, bSQ format, Quadrant ID,

    Euclidean similarity function, Minkwoski similarity

    function, Manhattan distance, K-nearest neighbor

    classifier.

    1. INTRODUCTIONWhile research towards automatic face recognition

    began in the late 1960's, progress has been slow.

    Recently there has been renewed interest in the problem

    due in part to its numerous security applications ranging

    from identification of suspects in police databases to

    identity verification at automatic teller machines [1].

    Though automatic face recognition systems exhibit

    higher FAR (False Acceptance Rate), the probability

    that a sample falsely matches the presented face

    identification record or feature sets, and FRR (False

    Rejection Rate), the probability that a sample of the

    right person is falsely rejected, than other successful

    biometric systems like fingerprint or iris recognition, it is

    attractive because of its wide-spread acceptability,

    universality and easier acquisition.

    Recognition is a step by step process and quite time-

    consuming in case it has to deal with a large problem

    domain. In applications like surveillance system, airport

    and banking security, database search time is

    significantly huge. Thus, development of real-timeapplication is a challenging task. In this paper our prime

    concern has been reduction in database search time

    during face matching phase. In order to achieve that

    objective we have made use of the techniques of peano

    count tree and k-nearest neighbor algorithm. The rest of

    the paper is organized as follows: first a review of the

    technology behind such an identification system and

    then the proposed system.

    2. RELATED CONCEPTS

    Before we go through the identifier we need to know the

    approaches and problem domains involved in such

    systems.

    2.1 ApproachesAutomatic face recognition divides into roughly two

    lines of inquiry: feature based approaches which rely on

    a feature set small in comparison to the number of

    pixels, and direct image methods which involve no

    intermediate feature extraction stage. The later method issubstantially susceptible to lighting condition. Whereas

    in principle, feature-based schemes can be made

    invariant to scale, rotation and/or illumination variations

    and thus we are interested in them.

    2.2 Problem Domains

    Face recognition system serves two problem domains-

    verification and identification. When a user is to be

    authenticated (i.e. the user's identity is to be verified),samples will be captured from the device and again a

    feature set is created. This featureset is then compared

    with the enrollment feature set. If the resulting similarityvalue is above a predefined threshold, the user is

    considered to be authenticated. In contrast to the

    verification use case, with identification the (claimed)

    identity of the user is not known in advance, but shall be

    determined based on sample images of the user's face

    and a set (population) of feature sets with known

    identities. The identification system takes some samples

    of the user's face, generates a feature set from them and

    compares this feature set with each element of this

    population. The elements yielding the highest

    comparison values above a certain confidence thresholdare candidates for the identity wanted. In this paper, we

    proposed a system that can serve both purposes.

    3. PREVIEWS OF FACE IDENTIFIER

    There are three main parts of the system. They are,

    Image processing, Recognition algorithm, and Database

    searching mechanism.

  • 8/14/2019 Face Iccit 04

    2/5

    3.1 Image Processing: Image capture: We can use digital camera to take an

    individuals photo. In surveillance system video cameracontinuously takes photos. The video signal is converted

    to a series of digital pictures.

    Face finding: The first problem to be solved before

    attempting face recognition is to locate the face in the

    image. A number of algorithms are available for the task.Many authors [2,3,4] have discussed methods of

    segmenting skin-tone regions from images, particularly

    for finding faces and hands. There are also several

    algorithms for face detection based on the intensity

    pattern of the image.

    3.2 Recognition Algorithm:Two steps are involved: Feature extraction and feature

    matching.

    1) Feature extraction: It involves extracting specific

    facial traits (e.g., relative position of nose, eyes,

    chinbones, chin, etc.) and then forming a tuple or featureset of those geometric attributes. We might use distances

    of facial traits instead of positions as features. Also

    discrete cosine transform coefficients of an image can be

    used as features. Whatever the value of the features

    might be we are getting a feature set which is importantfor the proposed system.

    2) Feature matching: The feature set is then matched

    with the feature sets of faces stored in the database.

    3.3 Database Searching:A huge number of feature sets are stored in the database.

    Database search should not be exhaustive. Efficient

    search algorithm limits database search space.

    4. PROPOSED FACE RECOGNITION SYSTEM

    4.1 Introducing P-tree:

    Well try to explain p-tree, based on how it organizes

    spatial data. A P-tree is a quadrant-based tree. It

    recursively divides an entire image into quadrants and

    records the count of 1-bits for each quadrant, thus

    forming a quadrant count tree. P-trees are somewhat

    similar in construction to other data structures in the

    literature (e.g. Quadtrees [5] and HHCodes [6] ).

    For example, given an 8-row-8-column image of single

    bits, its P-tree is as shown in Figure 1.

    Figure 1. 8x8 image and its p-tree

    In this example, 55 is the number of 1's in the entire

    image. This root level is labeled level 0. The numbers

    16, 8, 15, and 16 found at next level (level 1) are the 1-bit count for the four major quadrants in raster order, or

    Z order (upper left, upper right, lower left and lower

    right). Since the first and last level-1 quadrants are

    composed entirely of 1-bits (called pure-1 quadrants),

    sub-trees are not needed, and these branches terminate.Similarly, quadrants composed entirely of 0-bits are

    called pure-0 quadrants, which also cause termination of

    tree branches. This pattern is continued recursively using

    Peano, or Z-ordering (recursive raster ordering), of the

    four sub-quadrants at each new level. Eventually, every

    branch terminates (since, at the "leaf" level, all quadrants

    are pure). If we were to expand all sub-trees, including

    those for pure quadrants, then the leaf sequence would

    be the Peano-ordering of the image. Thus we use the

    name Peano Count Tree [7].

    A spatial image can be viewed as a 2-dimensional array

    of pixels. Associated with each pixel are variousdescriptive attributes, called bands. For example, BMP

    image has 3 bands- namely, Blue, Green and Red. An

    image can also be viewed as a relational table where

    each pixel is a tuple and each band is an attribute. The

    primary key can be expressed as x-y coordinates.

    4.2 Bit Sequential Format:

    Data in relational table must be mapped to bit Sequencial

    (bSQ) format for p-tree generation. Suppose in spatial

    data a reflectance value in a band is a number in the

    range 0-255 and is represented by a byte. We split each

    band into eight separate files, one for each bit position.

    In figure 2 we give a very simple illustrative example of

    bSQ format with only two bands in a scene having only

    four pixels (two rows and two columns). P-trees are

    basically z-order-run-length-compressed, representations

    of each bSQ file. So, we store the database not in

    relational tables but in bSQ files.

    Figure 2. bSQ formats for a two-band 2x2 image

    4.3 Basic P-trees:

    We reorganize each bit file of the bSQ format into a

    basic p-tree. The definition of basic P-tree has been

    given in [7] as written below:

  • 8/14/2019 Face Iccit 04

    3/5

    Definition 1: A basic P-tree Pi,j is a P-tree for the j

    thbit

    of the ith

    band i.

    4.4 Logical Operations on P-tree

    The basic P-trees defined in Section 4.3 can be

    combined using simple logical operations (AND, ORand COMPLEMENT) to produce P-trees for the original

    values at any level of precision.

    4.5 Value and Tuple P-trees

    Definition 2: A value P-tree Pi (v) is the P-tree if value v

    at band i. Value v can be expressed in 1-bit upto 8-bit

    precision [7].

    Value p-trees can be constructed by ANDing basic P-

    trees or their complements. For example,

    Pi (110) = Pi,1 AND Pi,2 AND Pi,3

    Definition 3: A tuple P-tree P (v1, v2, , vn), is the P-

    tree of value vi at band i, for all i from 1 to n [6]. We

    have,

    P (v1,v2, , vn) = P1(v1) AND P2(v2) AND ANDPn(vn)

    4.6 Root-Count and Quadrant ID of a P-tree

    The total number of 1s in a P-tree is called the root

    count. The root count of a p-tree indicates the total

    number of 1s in the image from where the P-tree was

    built. We will assume P-trees are coded in a depth-first

    ordering of the paths to each 1-quadrant. We use a

    hierarchical quadrant id scheme to identify quadrants as

    delineated in figure 3. At each level we append a sub-

    quadrant id number (0 means upper left, 1 means upper

    right, 2 means lower left, and 3 means lower right).

    Figure 3. Quadrant id (Qid)

    For a spatial data set with 2n-row and 2

    n-column, there is

    a mapping from raster coordinates (x,y) to Peano

    coordinates (called quadrant id or Qid). If x and y are

    expressed as n-bit strings, x1x2xn and y1y2yn then the

    mapping is (x,y) = (x1x2xn, y1y2yn) (x1y1.x2y2

    .xnyn). Thus in an 8 by 8 image, the pixel at (3,6) =

    (011,110) has quadrant id 01.11.10 = (1.3.2). For

    simplicity we wrote Qid as 132 instead of 1.3.2 in figure

    3[8].

    4.7 Matching Feature Set:

    Each feature set can be viewed as a tuple in a relational

    tablewhere each feature represents a particular attribute.

    This is just like pixel values of an image where a featurecorresponds to a band of the image. Each tuple might

    have index of form (x, y).

    Let S = B1 x B2 x x Bd be a d-dimensional feature

    space and B1, B2, , Bd are the dimensions or features

    of S. We consider each tuple of the table as d-

    dimensional vector v = . Enrolled feature

    vectors would correspond to a myriad number of points

    in S for a large database. During authentication a d-

    dimensional feature vector of the face to be

    authenticated is created the enrolled feature sets are

    searched for a match. A distance metric is required to

    measure the closeness of vectors. Various distance areavailable. For two data points, X =

    and Y = , the Euclidean similarity

    function is defined as [8]. In this paper a new matching

    mechanism has been proposed where k-nearest

    neighbors are searched that might use any of the distancemetrics mentioned above.

    Example:

    This example has been taken from [10]. The following

    relation table contains 4 features of 4-bit data values.

    Table 1. Feature sets in relational table

    Index Features

    X Y B1 B2 B3 B4

    0,0

    0,1

    0,2

    0,3

    0011

    0011

    0111

    0111

    0111

    0011

    0011

    0010

    1000

    1000

    0100

    0101

    1011

    1111

    1011

    1011

    1,0

    1,1

    1,2

    1,3

    0011

    0011

    0111

    0111

    0111

    0011

    0011

    0010

    1000

    1000

    0100

    0101

    1011

    1011

    1011

    1011

    2,0

    2,1

    2,2

    2,3

    0010

    0010

    1010

    1111

    1011

    1011

    1010

    1010

    1000

    1000

    0100

    0100

    1111

    1111

    1011

    1011

    3,03,1

    3,2

    3,3

    00101010

    1111

    1111

    10111011

    1010

    1010

    10001000

    0100

    0100

    11111111

    1011

    1011

    This dataset is converted in bSQ format. The feature-1

    bit-bands would be like below if we display the bSQ

    format in 2- dimension:

  • 8/14/2019 Face Iccit 04

    4/5

    B11 B12 B13 B14

    0000 0011 1111 1111

    0000 0011 1111 11110011 0001 1111 0001

    0111 0011 1111 0011

    There is a constraint on bSQ formation. P-tree requires

    the number of rows and columns in bSQ file be multipleof four. In case, the number of tuples in database is not a

    multiple of four we need to pad zero vectors at the end;

    so that it is.

    Now, for feature-1, basic p-trees are as follows (tree

    pointers are omitted).

    P1,1 P1,2 P1,3 P1,4

    5 7 16 11

    0014 0403 4403

    0001 0111 0111

    Value P-trees can be constructed from basic p-treesapplying a series of AND and COMPLEMENT

    operations. Value p-tree construction process of P1,0011

    has been shown below as an example:

    P1,0011 = P1,1 AND P1,2 AND P1,3 AND P1,44 11 9 16 11

    4000 4430 4041 4403

    1110 1000 0111

    From the value p-trees, we can generate tuple p-trees.

    As an example tuple p-tree of tuple

    0010,1011,1000,1111 is:

    3

    0 0 3 0

    1 1 1 0

    Figure 4. Tuple p-tree P0010,1011,1000,1111

    Here 3 is the root count indicating the relational table

    has three such tuples. The three leaves with value 1

    indicate the quadrants where these tuples are residing.

    These quadrants can be trivially mapped to indexes of

    the relational table. In the example, the three leaves with

    value 1 has Qids 2.0, 2.1 and 2.2 as read from the left to

    right. The three Qids are mapped such way:

    2.0 = 10.00 10,00 = (2,0)

    2.1 = 10.01 10,01 = (2,1)

    2.2 = 10.10 11,00 = (3,0)

    Based on this idea, to identify a person, the recognition

    system works as follows:

    1) Basic p-trees of the enrolled feature sets areconstructed as preprocessing. This is a one-time

    job.

    2) Feature vector of the person to be recognized isextracted.

    3) A tuple p-tree of this feature vector is generatedbased on the basic p-trees.

    4) If the root count of this tuple p-tree is more thanzero, then we have one or more matches. The

    indexes of those matched tuples at the relationaldatabase can be figured out using Qid to (x,y)

    co-ordinate conversion technique discussed

    above.

    This is a nice way of feature matching, as it doesnt need

    to scan the database at all. A few algebraic operations

    perform the job. Besides, the AND operation which

    produce the tuple p-trees is fast [11] Thus, we have a

    framework for real-time recognition system.

    4.8 Some Improvements:

    Feature extraction method might introduce somedistortion or addition of noise, which is unavoidable. In

    such cases, some disparity between extracted and

    enrolled feature vectors of the same person might occur.

    The above-mentioned system expects to match feature

    vectors exactly. If an exact match is not found it fails torecognize. So, we assume the feature extraction process

    to be perfect or propose some improvement.

    If root count of the tuple p-tree for target feature vector

    is zero we know there is no exact match. But it is

    possible to know what are the nearest matches. We

    propose K-nearest neighbor classifier to achieve that

    objective, as it is simple and effective [13].

    Given an unknown sample, a k-nearest neighbor

    classifier searches the pattern space for the k training

    samples that are closest to the unknown sample. These k

    training samples are the k nearest neighbors of the

    unknown sample [12]. Closeness is defined in terms of

    Euclidean distance, where Euclidean distance between

    two feature vectors, X = (x1, x2, , xn) and Y = (y1, y2,

    , yn) is

    =

    =

    1

    1

    22 )(),(

    n

    i

    ii yxYXd

    . It can be generalized to

    Minkowski similarity function,

    q

    n

    i

    q

    iiiq yxwYXd

    =

    =

    1

    1||),(

    . If q = 1, it gives the

    Manhattan distance, which is

    =

    =

    1

    1

    1 ||),(n

    i

    iiyxYXd

    .

    Any selected distance metric can be used to find the k-

    nearest neighbors. More on how lazy classifier works

    using p-trees is given in [13].

  • 8/14/2019 Face Iccit 04

    5/5

    5. CONCLUSION

    In this paper, we have tried to show, how we can applyp-tree concept in face recognition. Though, framework

    for a whole system has been developed in this paper, we

    concentrated only on database search mechanism. The

    proposed mechanism can be applied not only in face but

    also in other recognition system successfully for real-time system development.

    REFERENCES

    [1] User guide -face recognition concepts

    Available at: http://www.cognitecsystems.de

    /documentation/frsdk_public/u_biometrics.html

    [2] Ingemar L. Cox, Joumana Ghosn, Peter N. Yianilos

    Feature-based face recognition system using mixture-

    distance, International Conference on Computer Vision

    and Pattern recognition, IEEE, pp. 209-216, 1996.

    [3] Jean Christophe Terrillon, Martin David, and Shigeru

    Akamatsu, Automatic detection of human faces in

    natural scene image by use of a skin color model and

    of invariant moments, in International Conference onFace and Gesture Recognition, number-3, pp. 112-117.

    IEEE, April 1998.

    [4] T. Darrell, G. Gordon, J. Woodfill, and M. Harville,

    A virtual mirror interface using real-time robust face

    tracking, in International Conference on Face and

    Gesture Recognition, number-3, pp. 616-621. IEEE,

    April 1998.

    [5] H. Samet, Quadtree and related hierarchical data

    structure, ACM Computing Surveys, 16(2): 187-260,

    June 1984.

    [6] HH-codes. Available at

    http://www.statkart.no/nlhdb/iveher/hhtext.htm,

    03.10.2000

    [7] Qin Ding, Maleq Khan, Amalendu Roy and William

    Perizzo, The p-tree algebra, Proceedings of ACM

    Symposium on applied Computing (SAC02), Madrid,

    Spain, March 2002, pp. 426-431.

    [8] William Perrizo, Qin Ding, and Anne Denton, Lazy

    classifiers using p-trees, Proceedings of 15th

    International Conference on Computer Applications in

    Industry and Engineering (CAINE'02), San Diego, CA,

    Nov. 2002, pp. 176-179

    [9] M. K. Hossain and W. Perrizo, Automaticfingerprint identification system using p-tree

    [10] Qiang ding, William Perrizo, Cluster analysis of

    spatial data using peano count tree, Proceedings of

    CATA2002, San Francisco, USA, April 4-6, 2002.

    [11] Association rule mining on remotely sensed

    images using peano count trees, Pacific-AsiaConference on Knowledge Discovery and Data Mining,

    pp. 66-79, 2002.

    [12] J. Han and M. Kamber, Data mining: concepts and

    techniques,Ed., San Francisco, USA: MorganKaufmann Publishers, 2001, pp. 314-315.

    [13] W. Perrizo, Q. Ding, and A. Denton, Lazy

    classifiers using p-trees. Available at:

    "http://www.citeseer.nj.nec.com/perrizo02lazy.html"