WO2013134932A1 - A method and apparatus for improved facial recognition - Google Patents

A method and apparatus for improved facial recognition Download PDF

Info

Publication number
WO2013134932A1
WO2013134932A1 PCT/CN2012/072286 CN2012072286W WO2013134932A1 WO 2013134932 A1 WO2013134932 A1 WO 2013134932A1 CN 2012072286 W CN2012072286 W CN 2012072286W WO 2013134932 A1 WO2013134932 A1 WO 2013134932A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
facial image
program code
computer program
processor
Prior art date
Application number
PCT/CN2012/072286
Other languages
French (fr)
Inventor
Yanming Zou
Yong Ma
Kongqiao Wang
Original Assignee
Nokia (China) Investment Co., Ltd.
Nokia Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia (China) Investment Co., Ltd., Nokia Corporation filed Critical Nokia (China) Investment Co., Ltd.
Priority to PCT/CN2012/072286 priority Critical patent/WO2013134932A1/en
Priority to CN201280071403.4A priority patent/CN104169943B/en
Priority to US14/381,728 priority patent/US10248848B2/en
Priority to EP12871162.9A priority patent/EP2825996A4/en
Publication of WO2013134932A1 publication Critical patent/WO2013134932A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • G06V40/173Classification, e.g. identification face re-identification, e.g. recognising unknown faces across different face tracks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition

Definitions

  • An example embodiment of the present invention relates generally to facial recognition, and more particularly, to a method, apparatus and computer program product improving the efficiency and accuracy of identifying facial characteristics and identifying a subject facial image as resembling a facial image in an enrolled group.
  • Facial recognition systems have proved useful in a variety of fields. Facial recognition has played a role in biometric security. For example, an automatic teller machine user's identification could be confirmed by capturing a real-time image of an individual as they withdraw cash from an account and comparing it to an image on record. Law enforcement has on occasion used facial recognition systems to identify wanted persons by capturing facial images in public crowds and comparing them against images in a database of wanted persons.
  • a method, apparatus, and computer program product are therefore provided for improving the efficiency and accuracy of facial recognition systems.
  • Implementing facial recognition systems with improved efficiency leads to conservation of computation resources, which in turn can allow the systems to process a higher volume of images in a short amount of time.
  • Systems that aim toward improving efficiency will better satisfy the demands of facial recognition systems implemented in public settings or those that require the processing of a high volume of images in a limited timeframe. Improving the accuracy of the system will lead to a greater number of successful identifications, and a lower error rate.
  • a method for identifying an enrolled image that resembles a subject facial image.
  • a statistical property is identified by which to measure pixels in a block of the subject image.
  • the measurements are converted into a feature vector, and utilized to identify facial characteristics, such as age, gender, or emotions.
  • a feature vector may also be compared to enrolled feature vectors to identify a matching subject.
  • the method of one embodiment may compress the feature vectors of the subject and enrolled images by applying a dimension compression matrix.
  • the method of some embodiments may determine the feature vectors by converting the measurements into histograms illustrating frequencies of unique property measurements, and, in some embodiments, may further convert a plurality of histograms in order to arrive at the feature vector for the image.
  • a block division method is evaluated by first applying the block division method to a training group of images, comprising subsets of images of the same individuals. The images are then classified in accordance with this embodiment utilizing the feature vectors obtained with a common statistical measurement, and the results of the
  • classification are used to determine a dimension compression matrix.
  • the same block division method, statistical measurement, and compression matrix may be used to convert a group of evaluation images into feature vectors.
  • the evaluation images may then be classified based on the vectors, and the success rate of the classification indicates the effectiveness of the block division method.
  • the method of some embodiments may employ a block division method in which blocks overlap one another.
  • the method of other embodiments may employ techniques resulting in a division in which blocks are self-contained.
  • An additional embodiment provides a method for weighting the blocks
  • Another embodiment provides a method for determining the weight of a block through classification iterations of a training group, in which the iterations call for varying the weights of the blocks.
  • Ideal weights may be identified by analyzing a block's impact on a classification error rate throughout the iterations.
  • a method may also be provided to assign a weight to a facial feature point of the facial image and utilize the weight in normalizing the facial image prior to a vector conversion and identification process.
  • an apparatus in another embodiment, includes at least one processor and at least one memory including computer program code with the at least one memory and the computer program code configured to, with the processor, cause the apparatus to receive a subject facial image, determine statistical property measurements by pixel in a block of the image, convert the measurements into a vector, identify characteristics, and compare subject and sample vectors in order to classify the images.
  • the at least one memory and computer program code may also be configured to, with the processor, cause the apparatus to compress the feature vectors, such as with a dimension compression matrix, or create histograms illustrating the frequency of statistical property measurements while converting an image to a feature vector.
  • the at least one memory and computer program code may also be configured to, with the processor, cause the apparatus to utilize a training processes to evaluate various block division methods or block weights applied to a facial image.
  • a computer program product includes at least one non-transitory computer-readable storage medium having computer- executable program code instructions to identify characteristics and facial images by utilizing feature vectors. Additional embodiments include a computer program product that compresses the vectors. Other embodiments contain executable program code instructions that produce histograms while determining feature vectors, or provide training mechanisms for identifying block division methods and weights to apply to the blocks.
  • the apparatus of some embodiments provide means for identifying facial images by utilizing feature vectors.
  • Apparatuses of additional embodiments include means for compressing the vectors, while others include means for producing histograms while determining feature vectors, or providing training mechanisms for identifying block division methods and weights to apply to the blocks.
  • Figure 1 is a block diagram of an apparatus that may be configured to implement example embodiments of the present invention.
  • Figure 2 is a flowchart illustrating operations to classify an image performed in accordance with one embodiment of the present invention
  • Figure 3 a illustrates the identification of a plurality of blocks in accordance with one example embodiment of the present invention
  • Figure 3b illustrates the identification an overlapping block in accordance with one example embodiment of the present invention
  • Figure 4 is a histogram of a block in accordance with one embodiment of the present invention.
  • Figures 5a, 5b, and 5c illustrates the conversion of statistical measurements into a feature vector in accordance with one embodiment of the present invention
  • Figure 6 is a flowchart illustrating operations to evaluate a block division method performed in accordance with one embodiment of the present invention
  • Figure 7 is a flowchart illustrating operations to identify block weights or feature point weights performed in accordance with one embodiment of the present invention.
  • Figures 8a and 8b illustrate the identification of a plurality of weighted blocks in accordance with one embodiment of the present invention.
  • circuitry refers to (a) hardware-only circuit implementations (e.g., implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present.
  • This definition of 'circuitry' applies to all uses of this term herein, including in any claims.
  • the term 'circuitry' also includes an implementation comprising one or more processors and/or portion(s) thereof and accompanying software and/or firmware.
  • the term 'circuitry' as used herein also includes, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, other network device, and/or other computing device.
  • a method, apparatus and computer program product are provided to improve the accuracy and efficiency of a facial recognition system in identifying an enrolled facial image as capturing the same individual as a subject image.
  • the method, apparatus and computer program product of an example embodiment may utilize training techniques to optimize block division and weighting before reducing images to a feature vector in order to compare and classify images.
  • apparatus 25 may include or otherwise be in
  • the apparatus 25 may also optionally include a camera 28 or other image capturing device, a communication interface 24, and a user interface 22.
  • Apparatus 25 may be embodied by a wide variety of devices including mobile terminals, such as personal digital assistants (PDAs), pagers, mobile televisions, mobile telephones, gaming devices, laptop computers, tablet computers, cameras, camera phones, video recorders, audio/video players, radios, global positioning system (GPS) devices, navigation devices, or any combination of the aforementioned, and other types of voice and text
  • PDAs personal digital assistants
  • pagers mobile televisions, mobile telephones, gaming devices, laptop computers, tablet computers, cameras, camera phones, video recorders, audio/video players, radios, global positioning system (GPS) devices, navigation devices, or any combination of the aforementioned, and other types of voice and text
  • the apparatus 25 need not necessarily be embodied by a mobile device and, instead, may be embodied in a fixed device, such as a computer or workstation.
  • the processor 20 (and/or co-processors or any other processing circuitry assisting or otherwise associated with the processor 20) may be in communication with the memory device 26 via a bus for passing information among components of the apparatus 25.
  • the memory device 26 may include, for example, one or more volatile and/or non-volatile memories.
  • the memory device 26 may be an electronic storage device (e.g., a computer readable storage medium) comprising gates configured to store data (e.g., bits) that may be retrievable by a machine (e.g., a computing device like the processor 20).
  • the memory device 26 may be configured to store information, data, content, applications, instructions, or the like for enabling the apparatus to carry out various functions in accordance with an example embodiment of the present invention.
  • the memory device 26 could be configured to buffer input data for processing by the processor 20.
  • the memory device 26 could be configured to store instructions for execution by the processor 20.
  • the apparatus 25 may, in some embodiments, be embodied in various devices as described above. However, in some embodiments, the apparatus 25 may be embodied as a chip or chip set. In other words, the apparatus 25 may comprise one or more physical packages (e.g., chips) including materials, components and/or wires on a structural assembly (e.g., a baseboard). The structural assembly may provide physical strength, conservation of size, and/or limitation of electrical interaction for component circuitry included thereon. The apparatus 25 may therefore, in some cases, be configured to implement an embodiment of the present invention on a single chip or as a single "system on a chip.” As such, in some cases, a chip or chipset may constitute means for performing one or more operations for providing the functionalities described herein.
  • a chip or chipset may constitute means for performing one or more operations for providing the functionalities described herein.
  • the processor 20 may be embodied in a number of different ways.
  • the processor 20 may be embodied as one or more of various hardware processing means such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing element with or without an accompanying DSP, or various other processing circuitry including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like.
  • the processor 20 may include one or more processing cores configured to perform independently.
  • a multi-core processor may enable multiprocessing within a single physical package.
  • the processor 20 may include one or more processors configured in tandem via the bus to enable independent execution of instructions, pipelining and/or multithreading.
  • the processor 20 may be configured to execute
  • the processor 20 may be configured to execute hard coded functionality. As such, whether configured by hardware or software methods, or by a
  • the processor 20 may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to an embodiment of the present invention while configured accordingly.
  • the processor 20 when the processor 20 is embodied as an ASIC, FPGA or the like, the processor 20 may be specifically configured hardware for
  • the instructions may be embodied as an executor of software instructions, the instructions may
  • the processor 20 may be a processor of a specific device (e.g., a mobile terminal or network entity) configured to employ an embodiment of the present invention by further configuration of the processor 20 by instructions for performing the algorithms and/or operations described herein.
  • the processor 20 may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor 20.
  • ALU arithmetic logic unit
  • the communication interface 24 may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and/or transmit data from/to a network and/or any other device or module in communication with the apparatus 25.
  • the communication interface 24 may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network.
  • the communication interface 24 may include the circuitry for interacting with the antenna(s) to cause transmission of signals via the antenna(s) or to handle receipt of signals received via the antenna(s).
  • the communication interface 24 may alternatively or also support wired communication.
  • the communication interface 24 may include a communication modem and/or other hardware/software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB) or other mechanisms.
  • DSL digital subscriber line
  • USB universal serial bus
  • the apparatus 25 may include a user interface 22 that may, in turn, be in
  • the user interface 22 may include, for example, a keyboard, a mouse, a joystick, a display, a touch screen(s), touch areas, soft keys, a microphone, a speaker, or other input/output mechanisms.
  • the processor 20 may comprise user interface circuitry configured to control at least some functions of one or more user interface elements such as, for example, a speaker, ringer, microphone, display, and/or the like.
  • the processor 20 and/or user interface circuitry comprising the processor 20 may be configured to control one or more functions of one or more user interface elements through computer program instructions (e.g., software and/or firmware) stored on a memory accessible to the processor 20 (e.g., memory device 26, and/or the like).
  • computer program instructions e.g., software and/or firmware
  • the apparatus 25 may include a camera 28 or other image capturing device, which is configured to capture images, including video images. In other embodiments, however, the apparatus 25 may not include a camera 28, with an image, instead, being provided by memory device 26 or via communication interface 24.
  • the apparatus 25 may include means, such as the camera 28, the processor 20, the communication interface 24 or the like, for receiving an image of a face, as shown in operation 30.
  • the apparatus may include means, such as the processor 20 or the like, for optionally normalizing the image of the face.
  • the image may be a cropped image of the face, or it could be a larger image with background or full bodies not utilized in the identification process, in which case the image may be cropped to focus on the face.
  • the normalization may also include reducing or eliminating variables including, but not limited to, head tilt, image angle, illumination, and expression.
  • apparatus 25 the method, or computer program product of some embodiments may include means, such as the processor 20, or the like, for identifying a block or blocks into which the image may be broken.
  • the block(s) may cover the entire facial image, a portion, or portions of the image.
  • a block may be rectangular, or as in some
  • inventions advantageously shaped in any way, as illustrated in Figures 3a and 3b, to provide for improved accuracy in identification in comparison to an embodiment calling for rectangular division.
  • the blocks may be identified manually, by user input provided via user interface 22 or communication interface 24, or they may be pro grammatically formulated and optionally refined, in some embodiments, as described in further detail below.
  • the apparatus, method, or computer program product of some embodiments may optionally rely on key points to be first identified on the facial image, as indicated by points A; in Figure 3 a.
  • the key points A may be manually identified or systematically identified using various feature recognition techniques utilizing knowledge regarding location of natural curves and distinguishing points on a face.
  • block may be identified by measuring the distance from a pixel P, to each key point Ai, and assigning pixel P to a block encompassing a closest key point Ai.
  • a block division according to this example embodiment is illustrated in Figure 3 a, where P is located closest to key point Ao, and thus resides in the same block as Ao. This process may be repeated for each pixel P.
  • apparatus 25 may include means, such as the processor 20 or the like, for utilizing a block division that is either self-contained with no overlap between the blocks or overlapping in order to identify the block(s).
  • Figure 3a illustrates blocks that are self-contained, while the shaded area of Figure 3b illustrates an overlapping block.
  • the processor 20 of some embodiments may utilize a mathematical formula to determine a shaded area.
  • a measurable statistical property of the facial image may be identified.
  • a simple example of a measurable statistical property is grayscale levels, which may be measured on a scale of 0 to 255.
  • Other statistical properties may include Local Binary Patterns (LBP), Discrete Cosine Transformation (DCT) parameters, Gabor wavelets, Haar wavelets, or any other form of a statistical property measurement.
  • LBP Local Binary Patterns
  • DCT Discrete Cosine Transformation
  • Gabor wavelets Gabor wavelets
  • Haar wavelets or any other form of a statistical property measurement.
  • either a single measurable property may be used in the facial recognition process, or any combination of measurable properties.
  • Apparatus 25 may include means, such as the processor 20 or the like, to measure the properties of pixels encompassed within a block, such as in operation 33, and to optionally capture the data in a histogram, as illustrated in Figure 4, and as described in operation 34.
  • the histogram representing the statistical property distribution of a block shows the number of pixels having a particular value, or bin. With respect to grayscale values, each bin may represent a different grayscale value on a different range of grayscale values, such that the histogram depicts the number of pixels having a respective grayscale value.
  • the histogram may be converted into a vector, or, in the instance of multiple blocks and histograms, the histograms are converted into first a plurality of vectors and then concatenated to arrive at a feature vector of the image.
  • a concatenation of 500 vectors representing 500 blocks using the example gray scale values can be seen in Figures 5a and 5b.
  • block 1 contains 16 pixels with a grayscale level of 0, 19 pixels with a grayscale level of 1, and so on.
  • the concatenation results in a vector as illustrated in Figure 5b, where the feature vector of the image has 256*500, or 128,000 elements.
  • the apparatus, methods, or computer program products of some embodiments may include means, such as the processor 20, or the like, for applying a dimension compression matrix to the feature vector in order to reduce the vector to a more manageable size. See operation 38.
  • a potential outcome of such a compression is illustrated in Figure 5c.
  • the dimension compression matrix may be determined by a variety of techniques, including, but not limited to, principal component analysis (PCA), or linear discriminant analysis (LDA).
  • the apparatus 25 may include means, such as the processor 20, or the like for comparing a feature vector against vectors of enrolled images that may have undergone a similar or same block division, vector conversion and compression process.
  • the efficiency of comparison operation 39 may improve significantly with the application of a dimension compression matrix.
  • Various algorithms for comparing the vectors may be implemented, for example, by the processor, and influence on the efficiency of the comparison may vary among algorithms.
  • the apparatuses, method, or computer program product, such as processor 20, may provide a comparison that identifies a pair or any group of images whose feature vectors resemble one another's, and in these scenarios, the subjects of the images may be presumed to be one in the same, thus resulting in an image identification.
  • feature vectors may alternatively or additionally be used to identify characteristics of a facial image. Certain statistical properties may have known ranges which when recognized on a subject facial image, may lead to identification of gender, age, emotion, or any other characteristic. Apparatus may include means, such as the process 20, or the like, for comparing the values in feature vectors against feature vectors of images with a known characteristic, and therefore provide for identification of that same characteristic in a subject image.
  • the division may be optimized through a training process, as described herein.
  • the goal of the optimization is to divide the blocks in a manner such that the resulting vector leads to a more accurate identification process.
  • the apparatus 25 includes means, such as processor 20, or the like, for receiving a training group of subject facial images.
  • the images may be provided by communication interface 24, memory device 26, or a user interface 22, or captured by camera 28.
  • the training group may include multiple images known to have captured the same individual.
  • the apparatus 25 includes means, such as the processor 20, user interface 22, or the like, for identifying the hypothesized block division.
  • the block division may be determined according to the key point identification technique as described above.
  • the division may be manually provided via user interface 22, or determined by processor 20.
  • Example embodiments in which the processor formulates the block division may include applying adjustments to a previously applied block division, or by employing other hypothesized block divisions.
  • Operation 42 may include means, such as the processor 20 or the like, for classifying, or identifying characteristics or matches amongst, the images. More specifically, the classification, in accordance with one embodiment, may comprise of operations 30-39 as previously described, and utilize the hypothesized block division in regards to the block division operation.
  • the apparatuses, methods, and computer program products of those embodiments implementing matrix compression, such as the processor 20, or the like, may learn a dimension compression matrix during the classification of the images.
  • the apparatus 25 includes means, such as processor 20, or the like, for identifying a set of evaluation facial images.
  • the images may be provided by communication interface 24, memory device 26, or a user interface 22, or captured by camera 28. Again, some images may be known to be of the same subject, so as to provide for a test of the accuracy of the block division.
  • the apparatus 25 includes means, such as processor 20, or the like, for classifying the evaluation images, such as according to operations 30-39, during which the hypothesized block division and learned dimension compression matrix is applied.
  • the apparatus, method, or computer program product may provide means, such as processor 20, or the like, for evaluating the block division, at operation 45, by analyzing the results of the image identification. Training and evaluation cycles may be iterated by returning to operation 41 , where the block division may be fine-tuned until a desired level of optimization is reached.
  • a best key point distribution can be defined as " ( ⁇ £? ⁇ ) " max £(Sl, f
  • the apparatus, method, or computer program product of some embodiments may employ a training process to apply varying weights to blocks.
  • the apparatus 25 includes means, such as processor 20, or the like, for identifying a group of training facial images.
  • the images may be provided by communication interface communication interface 24, memory device 26, or a user interface 22, or captured by camera 28.
  • some images may be of the same subject.
  • the training images may undergo a similar vector conversion and classification process as previously described, but in this example embodiment, at operation 51, the apparatus 25 may include means, such as processor 20, or the like, for applying block division and weighting the various block using, for example, a weight for each block that is hypothesized.
  • the weights may be incorporated into the feature vectors as they are created. For example, a block with a relatively low weight may have a reduced number of elements, or range of measurement, in its vector while a block with a higher weight will have a greater number of elements. Alternatively, a heavily weighted block may include all its encompassing pixels in its feature vector, while a block having a lower weight may include a smaller percentage or no pixels in its feature vector. Or, the apparatus, method, or computer program product of some embodiments may employ other techniques for reducing or compressing vectors associated with blocks of relatively low weight.
  • the apparatus 25 may include means, such as processor 20, or the like, for classifying the images based on the weighted feature vectors.
  • the apparatus, method, or computer program product may provide means for analyzing the results of the training and identifying ideal weights of the blocks.
  • apparatuses, methods and computer program products may utilize weighting of individual pixels, also using the training process illustrated in Figure 7.
  • These embodiments may employ 3-dimensional morphable model (3DMM) processes, in which a 2-dimensional image is reconstructed as a 3D image in order to improve a facial recognition process.
  • 3DMM 3-dimensional morphable model
  • Many traditional 3DMM treat all pixels or facial points equally.
  • Applying varying weights to the points in an image prior to the 3DMM process may include a process 20 configured to improve accuracy in the normalization phase.
  • Apparatuses, methods, and computer program products of some embodiments may implement a 3D fitting algorithm, such as, , where represents a shape parameter, P represents rendering parameters such as pose and illumination, ( " r r 'fj ) are coordinates of facial point '/ , and - represents a calculated weight of tj .
  • Weight w may be calculated by applying operations 50-55.
  • apparatuses, methods, and computer program products of some example embodiments may include a processor 20 configured to employ boosting algorithms, such as Adaboosting, in order to optimize weights of the blocks.
  • Adaboosting boosting algorithms
  • weak learners are identified and updated throughout iterations. Classification error rates may be calculated throughout the iterations, and their progress measured in comparison to the shifting weights.
  • Various weak learners and their respective blocks are appropriately weighted by analyzing a block's impact on a classification error rate, the error rate taking into account false classifications and additionally missed identification opportunities. Blocks shown to significantly decrease the classification error rate may have a greater weight than those that have little effect on the error rate.
  • Figure 8a is a facial image
  • 8b is an image illustrating weighted blocks, in accordance with one
  • blocks of a greater weight are lighter in color
  • blocks with a lower weight are darker in color.
  • Applying varying weights to the blocks, and incorporating them into the feature vectors may improve the accuracy of the facial recognition, as many features, such as eyes, offer more distinguishing capabilities than other areas, such as, for example, cheeks.
  • Figures 2, 6, and 7 illustrate a flowchart of an apparatus 25, method, and computer program product according to example embodiments of the invention. It will be understood that each block of the flowchart, and combinations of blocks in the flowchart, may be implemented by various means, such as hardware, firmware, processor, circuitry, and/or other devices associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described above may be embodied by computer program instructions. In this regard, the computer program instructions which embody the procedures described above may be stored by a memory device 26 of an apparatus 25 employing an embodiment of the present invention and executed by a processor 20 of the apparatus 25.
  • any such computer program instructions may be loaded onto a computer or other programmable apparatus (e.g., hardware) to produce a machine, such that the resulting computer or other programmable apparatus implements the functions specified in the flowchart blocks.
  • These computer program instructions may also be stored in a computer- readable memory that may direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture the execution of which implements the function specified in the flowchart blocks.
  • the computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowchart blocks.
  • blocks of the flowchart support combinations of means for performing the specified functions and combinations of operations for performing the specified functions for performing the specified functions. It will also be understood that one or more blocks of the flowchart, and combinations of blocks in the flowchart, may be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
  • certain ones of the operations above may be modified or further amplified. Furthermore, in some embodiments, additional optional operations may be included. Modifications, additions, or amplifications to the operations above may be performed in any order and in any combination.
  • the method, apparatus 25 and computer program product may be utilized in various scenarios.
  • images could be provided via user interface 22 or a
  • images could be captured real-time by camera 28.

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

A method, apparatus and computer program product for an improved facial recognition system are provided. Some embodiments may utilize a weighted block division of an image and capture a property measurement for pixels residing within a block. The measurements may be converted to vectors, compressed, and compared against compressed vectors of enrolled images to identify a characteristic or an image of a matching subject. Training processes may be utilized in order to optimize block divisions and weights.

Description

A METHOD AND APPARATUS FOR IMPROVED
FACIAL RECOGNITION
TECHNOLOGICAL FIELD
[0001] An example embodiment of the present invention relates generally to facial recognition, and more particularly, to a method, apparatus and computer program product improving the efficiency and accuracy of identifying facial characteristics and identifying a subject facial image as resembling a facial image in an enrolled group.
BACKGROUND
[0002] Facial recognition systems have proved useful in a variety of fields. Facial recognition has played a role in biometric security. For example, an automatic teller machine user's identification could be confirmed by capturing a real-time image of an individual as they withdraw cash from an account and comparing it to an image on record. Law enforcement has on occasion used facial recognition systems to identify wanted persons by capturing facial images in public crowds and comparing them against images in a database of wanted persons.
[0003] Although useful, current methods of facial recognition leave room for improvement. Variants across facial images, such as head tilt, illumination, and expression can negatively impact the precision of feature recognition, ultimately leading to failure in finding a match where the subject image is that of an individual that is indeed enrolled in a sample group or database.
[0004] Additionally, many methods aimed at improving facial identification success rates are implemented at the expense of efficiency. For example, precision could be improved immensely by analyzing every pixel of every image or applying complex normalizing algorithms to images. However, tasks such as these may be computationally expensive and slow the facial recognition process.
BRIEF SUMMARY
[0005] A method, apparatus, and computer program product are therefore provided for improving the efficiency and accuracy of facial recognition systems. Implementing facial recognition systems with improved efficiency leads to conservation of computation resources, which in turn can allow the systems to process a higher volume of images in a short amount of time. Systems that aim toward improving efficiency will better satisfy the demands of facial recognition systems implemented in public settings or those that require the processing of a high volume of images in a limited timeframe. Improving the accuracy of the system will lead to a greater number of successful identifications, and a lower error rate.
[0006] In one embodiment, a method is provided for identifying an enrolled image that resembles a subject facial image. A statistical property is identified by which to measure pixels in a block of the subject image. The measurements are converted into a feature vector, and utilized to identify facial characteristics, such as age, gender, or emotions. A feature vector may also be compared to enrolled feature vectors to identify a matching subject. Additionally, the method of one embodiment may compress the feature vectors of the subject and enrolled images by applying a dimension compression matrix. The method of some embodiments may determine the feature vectors by converting the measurements into histograms illustrating frequencies of unique property measurements, and, in some embodiments, may further convert a plurality of histograms in order to arrive at the feature vector for the image.
[0007] In another embodiment, a block division method is evaluated by first applying the block division method to a training group of images, comprising subsets of images of the same individuals. The images are then classified in accordance with this embodiment utilizing the feature vectors obtained with a common statistical measurement, and the results of the
classification are used to determine a dimension compression matrix. The same block division method, statistical measurement, and compression matrix may be used to convert a group of evaluation images into feature vectors. The evaluation images may then be classified based on the vectors, and the success rate of the classification indicates the effectiveness of the block division method.
[0008] The method of some embodiments may employ a block division method in which blocks overlap one another. The method of other embodiments may employ techniques resulting in a division in which blocks are self-contained.
[0009] An additional embodiment provides a method for weighting the blocks and
incorporating the weights into the feature vector in a way such that not every block has the same significance in the identification process. More specifically, another embodiment provides a method for determining the weight of a block through classification iterations of a training group, in which the iterations call for varying the weights of the blocks. Ideal weights may be identified by analyzing a block's impact on a classification error rate throughout the iterations. [0010] Methods according to some embodiments include identifying a plurality of key points of the facial image, measuring distances from a pixel to a plurality of key points, and
encompassing the pixel and a closest key point in a block. A method may also be provided to assign a weight to a facial feature point of the facial image and utilize the weight in normalizing the facial image prior to a vector conversion and identification process.
[0011] In another embodiment, an apparatus is provided that includes at least one processor and at least one memory including computer program code with the at least one memory and the computer program code configured to, with the processor, cause the apparatus to receive a subject facial image, determine statistical property measurements by pixel in a block of the image, convert the measurements into a vector, identify characteristics, and compare subject and sample vectors in order to classify the images. The at least one memory and computer program code may also be configured to, with the processor, cause the apparatus to compress the feature vectors, such as with a dimension compression matrix, or create histograms illustrating the frequency of statistical property measurements while converting an image to a feature vector. The at least one memory and computer program code may also be configured to, with the processor, cause the apparatus to utilize a training processes to evaluate various block division methods or block weights applied to a facial image.
[0012] Similarly, in a further embodiment, a computer program product is provided that includes at least one non-transitory computer-readable storage medium having computer- executable program code instructions to identify characteristics and facial images by utilizing feature vectors. Additional embodiments include a computer program product that compresses the vectors. Other embodiments contain executable program code instructions that produce histograms while determining feature vectors, or provide training mechanisms for identifying block division methods and weights to apply to the blocks.
[0013] Additionally, the apparatus of some embodiments provide means for identifying facial images by utilizing feature vectors. Apparatuses of additional embodiments include means for compressing the vectors, while others include means for producing histograms while determining feature vectors, or providing training mechanisms for identifying block division methods and weights to apply to the blocks.
BRIEF DESCRIPTION OF THE DRAWINGS [0014] Having thus described certain example embodiments of the present invention in general terms, reference will hereinafter be made to the accompanying drawings which are not necessarily drawn to scale, and wherein:
[0015] Figure 1 is a block diagram of an apparatus that may be configured to implement example embodiments of the present invention;
[0016] Figure 2 is a flowchart illustrating operations to classify an image performed in accordance with one embodiment of the present invention;
[0017] Figure 3 a illustrates the identification of a plurality of blocks in accordance with one example embodiment of the present invention;
[0018] Figure 3b illustrates the identification an overlapping block in accordance with one example embodiment of the present invention;
[0019] Figure 4 is a histogram of a block in accordance with one embodiment of the present invention;
[0020] Figures 5a, 5b, and 5c illustrates the conversion of statistical measurements into a feature vector in accordance with one embodiment of the present invention;
[0021] Figure 6 is a flowchart illustrating operations to evaluate a block division method performed in accordance with one embodiment of the present invention;
[0022] Figure 7 is a flowchart illustrating operations to identify block weights or feature point weights performed in accordance with one embodiment of the present invention; and
[0023] Figures 8a and 8b illustrate the identification of a plurality of weighted blocks in accordance with one embodiment of the present invention.
DETAILED DESCRIPTION
[0024] Some embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all,
embodiments of the invention are shown. Indeed, various embodiments of the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout. As used herein, the terms "data," "content," "information," and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the present invention. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present invention.
[0025] Additionally, as used herein, the term 'circuitry' refers to (a) hardware-only circuit implementations (e.g., implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present. This definition of 'circuitry' applies to all uses of this term herein, including in any claims. As a further example, as used herein, the term 'circuitry' also includes an implementation comprising one or more processors and/or portion(s) thereof and accompanying software and/or firmware. As another example, the term 'circuitry' as used herein also includes, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, other network device, and/or other computing device.
[0026] As defined herein, a "computer-readable storage medium," which refers to a physical storage medium (e.g., volatile or non-volatile memory device), may be differentiated from a "computer-readable transmission medium," which refers to an electromagnetic signal.
[0027] As described below, a method, apparatus and computer program product are provided to improve the accuracy and efficiency of a facial recognition system in identifying an enrolled facial image as capturing the same individual as a subject image. In this regard, the method, apparatus and computer program product of an example embodiment may utilize training techniques to optimize block division and weighting before reducing images to a feature vector in order to compare and classify images.
[0028] Referring now to Figure 1 , apparatus 25 may include or otherwise be in
communication with a processor 20, and a memory device 26. As described below and as indicated by the dashed lines in Figure 1 , in some embodiments the apparatus 25 may also optionally include a camera 28 or other image capturing device, a communication interface 24, and a user interface 22. Apparatus 25 may be embodied by a wide variety of devices including mobile terminals, such as personal digital assistants (PDAs), pagers, mobile televisions, mobile telephones, gaming devices, laptop computers, tablet computers, cameras, camera phones, video recorders, audio/video players, radios, global positioning system (GPS) devices, navigation devices, or any combination of the aforementioned, and other types of voice and text
communications systems. The apparatus 25 need not necessarily be embodied by a mobile device and, instead, may be embodied in a fixed device, such as a computer or workstation.
[0029] In some embodiments, the processor 20 (and/or co-processors or any other processing circuitry assisting or otherwise associated with the processor 20) may be in communication with the memory device 26 via a bus for passing information among components of the apparatus 25. The memory device 26 may include, for example, one or more volatile and/or non-volatile memories. In other words, for example, the memory device 26 may be an electronic storage device (e.g., a computer readable storage medium) comprising gates configured to store data (e.g., bits) that may be retrievable by a machine (e.g., a computing device like the processor 20). The memory device 26 may be configured to store information, data, content, applications, instructions, or the like for enabling the apparatus to carry out various functions in accordance with an example embodiment of the present invention. For example, the memory device 26 could be configured to buffer input data for processing by the processor 20. Additionally or alternatively, the memory device 26 could be configured to store instructions for execution by the processor 20.
[0030] The apparatus 25 may, in some embodiments, be embodied in various devices as described above. However, in some embodiments, the apparatus 25 may be embodied as a chip or chip set. In other words, the apparatus 25 may comprise one or more physical packages (e.g., chips) including materials, components and/or wires on a structural assembly (e.g., a baseboard). The structural assembly may provide physical strength, conservation of size, and/or limitation of electrical interaction for component circuitry included thereon. The apparatus 25 may therefore, in some cases, be configured to implement an embodiment of the present invention on a single chip or as a single "system on a chip." As such, in some cases, a chip or chipset may constitute means for performing one or more operations for providing the functionalities described herein.
[0031] The processor 20 may be embodied in a number of different ways. For example, the processor 20 may be embodied as one or more of various hardware processing means such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing element with or without an accompanying DSP, or various other processing circuitry including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like. As such, in some embodiments, the processor 20 may include one or more processing cores configured to perform independently. A multi-core processor may enable multiprocessing within a single physical package. Additionally or alternatively, the processor 20 may include one or more processors configured in tandem via the bus to enable independent execution of instructions, pipelining and/or multithreading.
[0032] In an example embodiment, the processor 20 may be configured to execute
instructions stored in the memory device 26 or otherwise accessible to the processor 20.
Alternatively or additionally, the processor 20 may be configured to execute hard coded functionality. As such, whether configured by hardware or software methods, or by a
combination thereof, the processor 20 may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to an embodiment of the present invention while configured accordingly. Thus, for example, when the processor 20 is embodied as an ASIC, FPGA or the like, the processor 20 may be specifically configured hardware for
conducting the operations described herein. Alternatively, as another example, when the processor 20 is embodied as an executor of software instructions, the instructions may
specifically configure the processor 20 to perform the algorithms and/or operations described herein when the instructions are executed. However, in some cases, the processor 20 may be a processor of a specific device (e.g., a mobile terminal or network entity) configured to employ an embodiment of the present invention by further configuration of the processor 20 by instructions for performing the algorithms and/or operations described herein. The processor 20 may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor 20.
[0033] Meanwhile, the communication interface 24 may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and/or transmit data from/to a network and/or any other device or module in communication with the apparatus 25. In this regard, the communication interface 24 may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network. Additionally or alternatively, the communication interface 24 may include the circuitry for interacting with the antenna(s) to cause transmission of signals via the antenna(s) or to handle receipt of signals received via the antenna(s). In some environments, the communication interface 24 may alternatively or also support wired communication. As such, for example, the communication interface 24 may include a communication modem and/or other hardware/software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB) or other mechanisms.
[0034] In some embodiments, such as instances in which the apparatus 25 is embodied by a user device, the apparatus 25 may include a user interface 22 that may, in turn, be in
communication with the processor 20 to receive an indication of a user input and/or to cause provision of an audible, visual, mechanical or other output to the user. As such, the user interface 22 may include, for example, a keyboard, a mouse, a joystick, a display, a touch screen(s), touch areas, soft keys, a microphone, a speaker, or other input/output mechanisms. Alternatively or additionally, the processor 20 may comprise user interface circuitry configured to control at least some functions of one or more user interface elements such as, for example, a speaker, ringer, microphone, display, and/or the like. The processor 20 and/or user interface circuitry comprising the processor 20 may be configured to control one or more functions of one or more user interface elements through computer program instructions (e.g., software and/or firmware) stored on a memory accessible to the processor 20 (e.g., memory device 26, and/or the like).
[0035] In some embodiments, such as instances in which the apparatus 25 is embodied by a user device, the apparatus 25 may include a camera 28 or other image capturing device, which is configured to capture images, including video images. In other embodiments, however, the apparatus 25 may not include a camera 28, with an image, instead, being provided by memory device 26 or via communication interface 24.
[0036] Referring now to Figure 2, the operations for identifying a facial image are outlined in accordance with on example embodiment. In this regard and as described below, the operations of Figure 2 may be performed by an apparatus 25. The apparatus 25 may include means, such as the camera 28, the processor 20, the communication interface 24 or the like, for receiving an image of a face, as shown in operation 30. As shown in operation 31, the apparatus may include means, such as the processor 20 or the like, for optionally normalizing the image of the face. The image may be a cropped image of the face, or it could be a larger image with background or full bodies not utilized in the identification process, in which case the image may be cropped to focus on the face. The normalization may also include reducing or eliminating variables including, but not limited to, head tilt, image angle, illumination, and expression.
[0037] Continuing to operation 32, apparatus 25, the method, or computer program product of some embodiments may include means, such as the processor 20, or the like, for identifying a block or blocks into which the image may be broken. The block(s) may cover the entire facial image, a portion, or portions of the image. A block may be rectangular, or as in some
embodiments, advantageously shaped in any way, as illustrated in Figures 3a and 3b, to provide for improved accuracy in identification in comparison to an embodiment calling for rectangular division. The blocks may be identified manually, by user input provided via user interface 22 or communication interface 24, or they may be pro grammatically formulated and optionally refined, in some embodiments, as described in further detail below.
[0038] In order to identify the blocks, the apparatus, method, or computer program product of some embodiments may optionally rely on key points to be first identified on the facial image, as indicated by points A; in Figure 3 a. The key points A; may be manually identified or systematically identified using various feature recognition techniques utilizing knowledge regarding location of natural curves and distinguishing points on a face. Following identification of key points Ai, block may be identified by measuring the distance from a pixel P, to each key point Ai, and assigning pixel P to a block encompassing a closest key point Ai. A block division according to this example embodiment is illustrated in Figure 3 a, where P is located closest to key point Ao, and thus resides in the same block as Ao. This process may be repeated for each pixel P.
[0039] Furthermore, apparatus 25 may include means, such as the processor 20 or the like, for utilizing a block division that is either self-contained with no overlap between the blocks or overlapping in order to identify the block(s). Figure 3a illustrates blocks that are self-contained, while the shaded area of Figure 3b illustrates an overlapping block. The processor 20 of some embodiments may utilize a mathematical formula to determine a shaded area. For example, a block encompassing Ao may be extended to include a pixel P for which Distance(Ao, P) <= (minimum(Distance(Aj, P))) * Alpha, where Aj is a set of key points. Any desired Alpha value may be used. For example, in Figure 3b, Alpha=l .3. [0040] Returning now to Figure 2, after blocks have been identified on an image at operation 32, a measurable statistical property of the facial image may be identified. A simple example of a measurable statistical property is grayscale levels, which may be measured on a scale of 0 to 255. Other statistical properties that may be used in accordance with various embodiments may include Local Binary Patterns (LBP), Discrete Cosine Transformation (DCT) parameters, Gabor wavelets, Haar wavelets, or any other form of a statistical property measurement. In some embodiments, either a single measurable property may be used in the facial recognition process, or any combination of measurable properties.
[0041] Apparatus 25 may include means, such as the processor 20 or the like, to measure the properties of pixels encompassed within a block, such as in operation 33, and to optionally capture the data in a histogram, as illustrated in Figure 4, and as described in operation 34. The histogram representing the statistical property distribution of a block shows the number of pixels having a particular value, or bin. With respect to grayscale values, each bin may represent a different grayscale value on a different range of grayscale values, such that the histogram depicts the number of pixels having a respective grayscale value. Next, in operation 35, the histogram may be converted into a vector, or, in the instance of multiple blocks and histograms, the histograms are converted into first a plurality of vectors and then concatenated to arrive at a feature vector of the image. A concatenation of 500 vectors representing 500 blocks using the example gray scale values can be seen in Figures 5a and 5b. In this example, block 1 contains 16 pixels with a grayscale level of 0, 19 pixels with a grayscale level of 1, and so on. The concatenation results in a vector as illustrated in Figure 5b, where the feature vector of the image has 256*500, or 128,000 elements. Since a vector of this size may inhibit efficient processing or analysis of the vector, the apparatus, methods, or computer program products of some embodiments may include means, such as the processor 20, or the like, for applying a dimension compression matrix to the feature vector in order to reduce the vector to a more manageable size. See operation 38. A potential outcome of such a compression is illustrated in Figure 5c. The dimension compression matrix may be determined by a variety of techniques, including, but not limited to, principal component analysis (PCA), or linear discriminant analysis (LDA).
[0042] Following the optional compression, in operation 39, the apparatus 25 may include means, such as the processor 20, or the like for comparing a feature vector against vectors of enrolled images that may have undergone a similar or same block division, vector conversion and compression process. The efficiency of comparison operation 39 may improve significantly with the application of a dimension compression matrix. Various algorithms for comparing the vectors may be implemented, for example, by the processor, and influence on the efficiency of the comparison may vary among algorithms. In some embodiments, the apparatuses, method, or computer program product, such as processor 20, may provide a comparison that identifies a pair or any group of images whose feature vectors resemble one another's, and in these scenarios, the subjects of the images may be presumed to be one in the same, thus resulting in an image identification.
[0043] In some embodiments, feature vectors may alternatively or additionally be used to identify characteristics of a facial image. Certain statistical properties may have known ranges which when recognized on a subject facial image, may lead to identification of gender, age, emotion, or any other characteristic. Apparatus may include means, such as the process 20, or the like, for comparing the values in feature vectors against feature vectors of images with a known characteristic, and therefore provide for identification of that same characteristic in a subject image.
[0044] Continuing to Figure 6, in those embodiments whose apparatus, methods, or computer program products implement a block division, the division may be optimized through a training process, as described herein. The goal of the optimization is to divide the blocks in a manner such that the resulting vector leads to a more accurate identification process. In operation 40, the apparatus 25 includes means, such as processor 20, or the like, for receiving a training group of subject facial images. The images may be provided by communication interface 24, memory device 26, or a user interface 22, or captured by camera 28. The training group may include multiple images known to have captured the same individual. In operation 41, the apparatus 25 includes means, such as the processor 20, user interface 22, or the like, for identifying the hypothesized block division. The block division may be determined according to the key point identification technique as described above. The division may be manually provided via user interface 22, or determined by processor 20. Example embodiments in which the processor formulates the block division may include applying adjustments to a previously applied block division, or by employing other hypothesized block divisions.
[0045] Operation 42, may include means, such as the processor 20 or the like, for classifying, or identifying characteristics or matches amongst, the images. More specifically, the classification, in accordance with one embodiment, may comprise of operations 30-39 as previously described, and utilize the hypothesized block division in regards to the block division operation. The apparatuses, methods, and computer program products of those embodiments implementing matrix compression, such as the processor 20, or the like, may learn a dimension compression matrix during the classification of the images.
[0046] In operation 43, the apparatus 25 includes means, such as processor 20, or the like, for identifying a set of evaluation facial images. The images may be provided by communication interface 24, memory device 26, or a user interface 22, or captured by camera 28. Again, some images may be known to be of the same subject, so as to provide for a test of the accuracy of the block division. In operation 44, the apparatus 25 includes means, such as processor 20, or the like, for classifying the evaluation images, such as according to operations 30-39, during which the hypothesized block division and learned dimension compression matrix is applied. In embodiments utilizing this training procedure, the apparatus, method, or computer program product may provide means, such as processor 20, or the like, for evaluating the block division, at operation 45, by analyzing the results of the image identification. Training and evaluation cycles may be iterated by returning to operation 41 , where the block division may be fine-tuned until a desired level of optimization is reached.
[0047] In embodiments utilizing the described training procedures, methods, apparatuses, and computer program product may direct the optimization toward a key point distribution, which may ultimately lead to a block division through the techniques described above. In training and evaluating a key point distribution, a best key point distribution can be defined as " ({£?}) "max £(Sl, f |£>) ; where i?(5t[D) is a recognition rate identified with training set St.
[0048] Continuing to Figure 7, the apparatus, method, or computer program product of some embodiments may employ a training process to apply varying weights to blocks. In operation 50, the apparatus 25 includes means, such as processor 20, or the like, for identifying a group of training facial images. The images may be provided by communication interface communication interface 24, memory device 26, or a user interface 22, or captured by camera 28. Like previously described training groups, some images may be of the same subject. The training images may undergo a similar vector conversion and classification process as previously described, but in this example embodiment, at operation 51, the apparatus 25 may include means, such as processor 20, or the like, for applying block division and weighting the various block using, for example, a weight for each block that is hypothesized. The weights may be incorporated into the feature vectors as they are created. For example, a block with a relatively low weight may have a reduced number of elements, or range of measurement, in its vector while a block with a higher weight will have a greater number of elements. Alternatively, a heavily weighted block may include all its encompassing pixels in its feature vector, while a block having a lower weight may include a smaller percentage or no pixels in its feature vector. Or, the apparatus, method, or computer program product of some embodiments may employ other techniques for reducing or compressing vectors associated with blocks of relatively low weight. The apparatus 25 may include means, such as processor 20, or the like, for classifying the images based on the weighted feature vectors. Iterations are initiated at operation 53, and at operation 54, processor 20, or the like, may adjust weights, and operations 51 and 52 are repeated to reclassify the images. At operation 55 of Figure 7, the apparatus, method, or computer program product may provide means for analyzing the results of the training and identifying ideal weights of the blocks.
[0049] In embodiments utilizing normalization operation 31 , apparatuses, methods and computer program products may utilize weighting of individual pixels, also using the training process illustrated in Figure 7. These embodiments may employ 3-dimensional morphable model (3DMM) processes, in which a 2-dimensional image is reconstructed as a 3D image in order to improve a facial recognition process. Many traditional 3DMM treat all pixels or facial points equally. Applying varying weights to the points in an image prior to the 3DMM process may include a process 20 configured to improve accuracy in the normalization phase. Apparatuses, methods, and computer program products of some embodiments may implement a 3D fitting algorithm, such as, , where represents a shape parameter, P represents rendering parameters such as pose and illumination, (" rr 'fj ) are coordinates of facial point '/ , and - represents a calculated weight of tj . Weight w may be calculated by applying operations 50-55.
[0050] In the training process illustrated in Figure 7, apparatuses, methods, and computer program products of some example embodiments may include a processor 20 configured to employ boosting algorithms, such as Adaboosting, in order to optimize weights of the blocks. In this regard, weak learners are identified and updated throughout iterations. Classification error rates may be calculated throughout the iterations, and their progress measured in comparison to the shifting weights. Various weak learners and their respective blocks are appropriately weighted by analyzing a block's impact on a classification error rate, the error rate taking into account false classifications and additionally missed identification opportunities. Blocks shown to significantly decrease the classification error rate may have a greater weight than those that have little effect on the error rate.
[0051] An example of a weight application is illustrated in Figures 8a and 8b. Figure 8a is a facial image, and 8b is an image illustrating weighted blocks, in accordance with one
embodiment, in which blocks of a greater weight are lighter in color, and blocks with a lower weight are darker in color. Applying varying weights to the blocks, and incorporating them into the feature vectors may improve the accuracy of the facial recognition, as many features, such as eyes, offer more distinguishing capabilities than other areas, such as, for example, cheeks.
[0052] As described above, Figures 2, 6, and 7 illustrate a flowchart of an apparatus 25, method, and computer program product according to example embodiments of the invention. It will be understood that each block of the flowchart, and combinations of blocks in the flowchart, may be implemented by various means, such as hardware, firmware, processor, circuitry, and/or other devices associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described above may be embodied by computer program instructions. In this regard, the computer program instructions which embody the procedures described above may be stored by a memory device 26 of an apparatus 25 employing an embodiment of the present invention and executed by a processor 20 of the apparatus 25. As will be appreciated, any such computer program instructions may be loaded onto a computer or other programmable apparatus (e.g., hardware) to produce a machine, such that the resulting computer or other programmable apparatus implements the functions specified in the flowchart blocks. These computer program instructions may also be stored in a computer- readable memory that may direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture the execution of which implements the function specified in the flowchart blocks. The computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowchart blocks.
[0053] Accordingly, blocks of the flowchart support combinations of means for performing the specified functions and combinations of operations for performing the specified functions for performing the specified functions. It will also be understood that one or more blocks of the flowchart, and combinations of blocks in the flowchart, may be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
[0054] In some embodiments, certain ones of the operations above may be modified or further amplified. Furthermore, in some embodiments, additional optional operations may be included. Modifications, additions, or amplifications to the operations above may be performed in any order and in any combination.
[0055] The method, apparatus 25 and computer program product may be utilized in various scenarios. In one embodiment, images could be provided via user interface 22 or a
communication interface 24. Alternatively, images could be captured real-time by camera 28.
[0056] Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing descriptions and the associated drawings describe example embodiments in the context of certain example combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and/or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.

Claims

WAHT IS CLAIMED IS:
1. A method comprising:
receiving a subject facial image;
determining statistical property measurements for respective pixels in at least one block ) of the subject facial image;
converting the statistical property measurements into a feature vector; and
identifying, by a processor, at least one characteristic of the subject facial image by utilizing the feature vector.
2. A method according to claim 1 wherein the at least one characteristic comprises at least ) one of age, gender, or expression.
3. A method according to claim 1 wherein the characteristic is the identity of the subject facial image, and the identifying comprises identifying an enrolled facial image that resembles the subject facial image by comparing the feature vector to a plurality of enrolled feature vectors.
) 4. A method according to claim 1 further comprising:
compressing the feature vector by applying a dimension compression matrix; and compressing the enrolled feature vectors by applying the dimension compression matrix.
5. A method according to claim 1 wherein:
the converting further comprises creating at least one histogram of bins, wherein a bin is ) associated with a unique statistical property measurement value and a bin frequency represents a number of pixels in the at least one block measuring at the unique statistical property measurement value.
6. A method according to claim 5 wherein:
the converting further comprises converting a plurality of histograms, each representing a ) block of the subject facial image, into a plurality of vectors and subsequently converting the plurality of vectors into the feature vector.
7. A method according to claim 1 further comprising:
receiving a training group of facial images comprising at least a plurality of facial images of the same subject;
applying block division to the training group;
classifying images in the training group following the application of block division;
utilizing results of the classification to determine a learned dimension compression matrix;
receiving an evaluation group of facial images comprising at least a plurality of facial images of the same subject;
applying the block division to the evaluation group;
applying the learned dimension compression matrix to the evaluation group following application of the block division; and
evaluating the block division based on results of applying the learned dimension compression to the evaluation group.
8. A method according to claim 1 further comprising:
identifying a plurality of blocks of a facial image in which at least one block overlaps another block.
9. A method according to claim 1 further comprising:
assigning a block of the facial image a weight; and
incorporating the weight into the feature vector.
10. A method according to claim 9 wherein assigning a block of the facial image a weight further comprises:
receiving a training group of facial images;
analyzing changes in a classification error rate throughout classification iterations with variable block weights; and
determining an ideal weight by analyzing a block's impact on the classification error rate.
11. A method according to claim 1 further comprising:
identifying a plurality of key points of the facial image;
measuring distances from a pixel to a plurality of key points; and
encompassing the pixel and a closest key point in a block.
12. A method according to claim 1 further comprising:
assigning a weight to a facial feature point of the facial image; and
utilizing the weight in normalizing the facial image.
13. An apparatus comprising at least one processor and at least one memory including ) computer program code, the at least one memory and the computer program code
configured to, with the processor, cause the apparatus to at least:
receive a subject facial image;
determine statistical property measurements for respective pixels in at least one block of the subject facial image;
) convert the statistical property measurements into a feature vector; and
identifying, by a processor, at least one characteristic of the subject facial image by utilizing the feature vector.
14. An apparatus according to claim 13 wherein the at least one characteristic comprises at ) least one of age, gender, or expression.
15. An apparatus according to claim 13 wherein the characteristic is the identity of the subject facial image, and the identifying comprises identifying an enrolled facial image that resembles the subject facial image by comparing the feature vector to a plurality of enrolled feature vectors.
)
16. An apparatus according to claim 13 wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to:
compress the feature vector by applying a dimension compression matrix; and compress the enrolled feature vectors by applying the dimension compression matrix.
) 17. An apparatus according to claim 13 wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to create at least one histogram of bins, wherein a bin is associated with a unique statistical property value and a bin frequency represents a number of pixels in the at least one block measuring at the unique statistical property value.
18. An apparatus according to claim 17 wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to convert a plurality of histograms, each representing a block of the subject facial image, into a plurality of vectors and subsequently converting the plurality of vectors into the feature vector.
19. An apparatus according to claim 13 wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to:
receive a training group of facial images;
apply block division to the training group;
classify images in the training group following application of block division;
utilize results of the classification to determine a learned dimension compression matrix; receive an evaluation group of facial images;
apply the block division to the evaluation group;
apply the learned dimension compression matrix to the evaluation group following application of the block division; and
evaluate the block division based on the results of the applying the learned dimension compression to the evaluation group.
20. An apparatus according to claim 13 wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to:
identify a plurality of blocks of a facial image in which at least one block overlaps another block.
21. An apparatus according to claim 13 wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to:
assign a block of the facial image a weight; and
incorporate the weight into the feature vector.
22. An apparatus according to claim 21 wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to:
receive a training group of facial images;
analyze changes in a classification error rate throughout classification iterations with variable block weights; and
determine an ideal weight by analyzing a block's impact on the classification error rate.
23. An apparatus according to claim 13 wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to:
identify a plurality of key points of the facial image;
measure distances from a pixel to a plurality of key points; and
encompass the pixel and a closest key point in a block.
24. An apparatus according to claim 13 wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to:
assign a weight to a facial feature point of the facial image; and
utilize the weight in normalizing the facial image.
25. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions comprising program code instructions to:
receive a subject facial image;
determine statistical property measurements for respective pixels in at least one block of the subject facial image;
convert the statistical property measurements into a feature vector; and
identify at least one characteristic of the subject facial image by utilizing the feature vector.
26. A computer program product according to claim 25 wherein the at least one characteristic comprises at least one of age, gender, or expression.
27. A computer program product according to claim 25 wherein the characteristic is the identity of the subject facial image, and the identifying comprises identifying an enrolled facial image that resembles the subject facial image by comparing the feature vector to a plurality of enrolled feature vectors.
28. A computer program product according to claim 25 wherein the computer-executable program code instructions comprise program code instructions to:
compress the feature vector by applying a dimension compression matrix; and compress the enrolled feature vectors by applying the dimension compression matrix.
) 29. A computer program product according to claim 25 wherein the computer-executable program code instructions comprise program code instructions to create at least one histogram of bins, wherein a bin is associated with a unique statistical property measurement and a bin frequency represents a number of pixels in the at least one block measuring at the unique statistical property measurement.
) 30. A computer program product according to claim 29 wherein the computer-executable program code instructions comprise program code instructions to convert a plurality of histograms, each representing a block of the subject facial image, into a plurality of vectors and subsequently converting the plurality of vectors into the feature vector.
31. A computer program product according to claim 25 wherein the computer-executable ) program code instructions comprise program code instructions to:
receive a training group of facial images;
apply block division to the training group;
classify images in the training group following application of block division; utilize results of the classification to determine a learned dimension compression matrix; ) receive an evaluation group of facial images;
apply the block division to the evaluation group;
apply the learned dimension compression matrix to the evaluation group following application of the block division; and
evaluate the block division based on the results of the applying the learned dimension ) compression to the evaluation group.
32. A computer program product according to claim 25 wherein the computer-executable program code instructions comprise program code instructions to:
identify a plurality of blocks of a facial image in which at least one block overlaps another block. A computer program product according to claim 25 wherein the computer-executable program code instructions comprise program code instructions to:
assign a block of the facial image a weight; and
incorporate the weight into the feature vector.
A computer program product according to claim 25 wherein the computer-executable program code instructions comprise program code instructions to:
receive a training group of facial images;
analyze changes in a classification error rate throughout classification iterations; and determine the weight by measuring a block's impact on the classification error rate.
A computer program product according to claim 25 wherein the computer-executable program code instructions comprise program code instructions to:
identify a plurality of key points of the facial image;
measure distances from a pixel to a plurality of key points; and
encompass the pixel and a closest key point in a block.
PCT/CN2012/072286 2012-03-13 2012-03-13 A method and apparatus for improved facial recognition WO2013134932A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/CN2012/072286 WO2013134932A1 (en) 2012-03-13 2012-03-13 A method and apparatus for improved facial recognition
CN201280071403.4A CN104169943B (en) 2012-03-13 2012-03-13 Method and apparatus for improved face recognition
US14/381,728 US10248848B2 (en) 2012-03-13 2012-03-13 Method and apparatus for improved facial recognition
EP12871162.9A EP2825996A4 (en) 2012-03-13 2012-03-13 A method and apparatus for improved facial recognition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/072286 WO2013134932A1 (en) 2012-03-13 2012-03-13 A method and apparatus for improved facial recognition

Publications (1)

Publication Number Publication Date
WO2013134932A1 true WO2013134932A1 (en) 2013-09-19

Family

ID=49160229

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/072286 WO2013134932A1 (en) 2012-03-13 2012-03-13 A method and apparatus for improved facial recognition

Country Status (4)

Country Link
US (1) US10248848B2 (en)
EP (1) EP2825996A4 (en)
CN (1) CN104169943B (en)
WO (1) WO2013134932A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2551715A (en) * 2016-06-27 2018-01-03 Image Capture Ltd A system and method for determining the age of an individual

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10013601B2 (en) * 2014-02-05 2018-07-03 Facebook, Inc. Ideograms for captured expressions
CN104850818B (en) * 2014-02-17 2018-05-18 华为技术有限公司 Human-face detector training method, method for detecting human face and device
US9405965B2 (en) * 2014-11-07 2016-08-02 Noblis, Inc. Vector-based face recognition algorithm and image search system
CN104573652B (en) * 2015-01-04 2017-12-22 华为技术有限公司 Determine the method, apparatus and terminal of the identity of face in facial image
CN104966046B (en) * 2015-05-20 2017-07-21 腾讯科技(深圳)有限公司 A kind of appraisal procedure of face key point positioning result, and apparatus for evaluating
US10482336B2 (en) 2016-10-07 2019-11-19 Noblis, Inc. Face recognition and image search system using sparse feature vectors, compact binary vectors, and sub-linear search
US11093796B2 (en) 2017-03-29 2021-08-17 International Business Machines Corporation Entity learning recognition
US11087144B2 (en) * 2018-10-10 2021-08-10 Harman International Industries, Incorporated System and method for determining vehicle data set familiarity
CN109801207B (en) * 2019-01-08 2023-05-30 桂林电子科技大学 CPU-FPGA collaborative image feature high-speed detection and matching system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030086593A1 (en) * 2001-05-31 2003-05-08 Chengjun Liu Feature based classification
GB2452513A (en) * 2007-09-05 2009-03-11 Sony Corp Image recognition including modifying width of image
CN102147862A (en) * 2011-05-26 2011-08-10 电子科技大学 Face feature extracting method based on survival exponential entropy
CN102194106A (en) * 2011-05-11 2011-09-21 西安理工大学 Human face recognition method used in door access system
CN102324022A (en) * 2011-09-05 2012-01-18 辽宁工程技术大学 Composite gradient vector-based face recognition method

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1359536A3 (en) * 2002-04-27 2005-03-23 Samsung Electronics Co., Ltd. Face recognition method and apparatus using component-based face descriptor
EP1411459B1 (en) 2002-10-15 2009-05-13 Samsung Electronics Co., Ltd. Method and apparatus for extracting feature vector used for face recognition and retrieval
KR100473598B1 (en) * 2002-11-04 2005-03-11 삼성전자주식회사 System and method for detecting veilde face image
KR100601989B1 (en) 2005-02-07 2006-07-18 삼성전자주식회사 Apparatus and method for estimating 3d face shape from 2d image and computer readable media for storing computer program
US7817826B2 (en) 2005-08-12 2010-10-19 Intelitrac Inc. Apparatus and method for partial component facial recognition
US8090160B2 (en) 2007-10-12 2012-01-03 The University Of Houston System Automated method for human face modeling and relighting with application to face recognition
TWI382354B (en) 2008-12-02 2013-01-11 Nat Univ Tsing Hua Face recognition method
US8571273B2 (en) * 2009-05-22 2013-10-29 Nokia Corporation Method and apparatus for performing feature extraction using local primitive code
EP2519915B1 (en) 2009-12-31 2019-07-31 Provenance Asset Group LLC Method and apparatus for local binary pattern based facial feature localization
US20110293189A1 (en) * 2010-05-28 2011-12-01 Microsoft Corporation Facial Analysis Techniques
KR101130817B1 (en) * 2011-09-27 2012-04-16 (주)올라웍스 Face recognition method, apparatus, and computer-readable recording medium for executing the method
US10748325B2 (en) * 2011-11-17 2020-08-18 Adobe Inc. System and method for automatic rigging of three dimensional characters for facial animation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030086593A1 (en) * 2001-05-31 2003-05-08 Chengjun Liu Feature based classification
GB2452513A (en) * 2007-09-05 2009-03-11 Sony Corp Image recognition including modifying width of image
CN102194106A (en) * 2011-05-11 2011-09-21 西安理工大学 Human face recognition method used in door access system
CN102147862A (en) * 2011-05-26 2011-08-10 电子科技大学 Face feature extracting method based on survival exponential entropy
CN102324022A (en) * 2011-09-05 2012-01-18 辽宁工程技术大学 Composite gradient vector-based face recognition method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2825996A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2551715A (en) * 2016-06-27 2018-01-03 Image Capture Ltd A system and method for determining the age of an individual

Also Published As

Publication number Publication date
CN104169943B (en) 2018-03-23
CN104169943A (en) 2014-11-26
US20150055834A1 (en) 2015-02-26
EP2825996A1 (en) 2015-01-21
US10248848B2 (en) 2019-04-02
EP2825996A4 (en) 2017-03-08

Similar Documents

Publication Publication Date Title
US10248848B2 (en) Method and apparatus for improved facial recognition
US10534957B2 (en) Eyeball movement analysis method and device, and storage medium
KR101656373B1 (en) Face identifying method, face identifying apparatus and computer program executing the method
CN107633207A (en) AU characteristic recognition methods, device and storage medium
CN109657582B (en) Face emotion recognition method and device, computer equipment and storage medium
CN110705392A (en) Face image detection method and device and storage medium
CN109829448A (en) Face identification method, device and storage medium
EP2608108A1 (en) Face feature vector construction
CN110838119B (en) Human face image quality evaluation method, computer device and computer readable storage medium
US20150310308A1 (en) Method and apparatus for recognizing client feature, and storage medium
CN108229419A (en) For clustering the method and apparatus of image
Ayyavoo et al. Illumination pre‐processing method for face recognition using 2D DWT and CLAHE
US10650234B2 (en) Eyeball movement capturing method and device, and storage medium
CN111626371A (en) Image classification method, device and equipment and readable storage medium
CN113139439B (en) Online learning concentration evaluation method and device based on face recognition
KR20210036039A (en) Electronic device and image processing method thereof
CN110610131B (en) Face movement unit detection method and device, electronic equipment and storage medium
Lahiani et al. Hand pose estimation system based on Viola-Jones algorithm for android devices
Rani et al. Emotion recognition based on facial components
US12073655B2 (en) Image synthesis for personalized facial expression classification
Yi et al. Illumination normalization of face image based on illuminant direction estimation and improved retinex
CN113822871A (en) Target detection method and device based on dynamic detection head, storage medium and equipment
CN113569707A (en) Living body detection method, living body detection device, electronic apparatus, and storage medium
CN109711287A (en) Face acquisition method and Related product
CN112464699B (en) Image normalization method, system and readable medium for face analysis

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12871162

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14381728

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2012871162

Country of ref document: EP