Method and apparatus for image analysis of a gabor-wavelet transformed image using a neural network

Information

  • Patent Grant
  • 6917703
  • Patent Number
    6,917,703
  • Date Filed
    Wednesday, February 28, 2001
    24 years ago
  • Date Issued
    Tuesday, July 12, 2005
    19 years ago
Abstract
The present invention may be embodied in a method, and in a related apparatus, for classifying a feature in an image frame. In the method, an original image frame having an array of pixels is transformed using Gabor-wavelet transformations to generate a transformed image frame. Each pixel of the transformed image is associated with a respective pixel of the original image frame and is represented by a predetermined number of wavelet component values. A pixel of the transformed image frame associated with the feature is selected for analysis. A neural network is provided that has an output and a predetermined number of inputs. Each input of the neural network is associated with a respective wavelet component value of the selected pixel. The neural network classifies the local feature based on the wavelet component values, and indicates a class of the feature at an output of the neural network.
Description
BACKGROUND OF THE INVENTION

The present invention relates to image analysis, and more particularly, to feature classification and object analysis in an image frame.


Robust image analysis is able to classify objects or features in an image frame under a variety of lighting conditions, backgrounds, orientations, etc. However, existing image analysis techniques may not be sufficiently robust to achieve desired results.


Accordingly, there exists a significant need for improved and robust image analysis. The present invention satisfies this need.


SUMMARY OF THE INVENTION

The present invention may be embodied in a method, and in a related apparatus, for classifying a feature in an image frame. In the method, an original image frame having an array of pixels is transformed using wavelet transformations to generate a transformed image frame having an array of pixels. Each pixel of the transformed image is associated with a respective pixel of the original image frame and is represented by a predetermined number of wavelet component values. A pixel of the transformed image frame associated with the feature is selected for analysis. A neural network is provided that has an output and a predetermined number of inputs. The neural network is trained to classify the feature in a transformed image frame. Each input is associated with a respective wavelet component value of the predetermined number of wavelet component values of the selected pixel. The neural network classifies the local feature based on the wavelet component values provided at the neural network inputs, and indicates a class of the feature at the neural network output.


In more detailed features of the present invention, the wavelet transformations may use Gabor wavelets and each wavelet component value may be generated based on a Gabor wavelet having a particular orientation and frequency. The predetermined number of wavelet component values and the predetermined number of neural network inputs may be 12. Also, the wavelet component values may be magnitudes of complex numbers.


Alternatively, the present invention may be embodied in a method, and in a related apparatus, for analyzing an object image in an image frame. In the method, an original image frame having an array of pixels is transformed using wavelet transformations to generate a transformed image frame having an array of pixels. Each pixel of the transformed image is associated with a respective pixel of the original image frame and is represented by a predetermined number of wavelet component values. Pixels of the transformed image frame are selected that correspond to sensing nodes of a label graph. Each sensing node is for analyzing a local feature of the object image in the original image frame. A plurality of neural networks is provided, each neural network having an output and a predetermined number of inputs. Further, each neural network is trained to analyze the respective local feature of the object image in a transformed image frame and is associated with a sensing node of the label graph. Each input is associated with a respective wavelet component value of the predetermined number of wavelet component values of the respective selected pixel. Using the neural networks, the local features are analyzed based on the wavelet component values provided at the neural network inputs, and a characteristic of the object image is indicated based on the neural network outputs


Other features and advantages of the present invention should be apparent from the following description of the preferred embodiments taken in conjunction with the accompanying drawings, which illustrate, by way of example, the principles of the invention.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a flow diagram of a method for image analysis of a Gabor-wavelet transformed image using a neural network, according with the invention.



FIG. 2 is a block diagram of an apparatus for image analysis of a Gabor-wavelet transformed image using a neural network, according with the invention.



FIG. 3 is a series of images showing processing of a facial image using Gabor wavelets.



FIG. 4 is a flow diagram of another method for image analysis of a Gabor-wavelet transformed image using neural networks, according with the invention.



FIG. 5 is a block diagram of another apparatus for image analysis of a Gabor-wavelet transformed image using neural networks, according with the invention.



FIG. 6 is a schematic diagram of a plurality of neural networks for image analysis of a Gabor-wavelet transformed image.



FIG. 7 is a schematic diagram of a neural network for classification of a local feature in an image frame.



FIG. 8 is an image showing the location of positive and negative activity samples in an image frame for training a neural network for use in the techniques of the invention.



FIG. 9 is a block diagram showing a system for training a neural network for use in the techniques of the invention.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

With reference to FIGS. 1 and 2, the present invention may be embodied in a method (FIG. 1), and in a related apparatus 10 (FIG. 2), for classifying a feature 12 in an image frame 14. In the method, an original image frame 14 having an array of pixels is transformed using wavelet 16 transformations to generate a transformed image frame having an array of pixels (step 30). Each pixel of the transformed image is associated with a respective pixel of the original image frame and is represented by a predetermined number of wavelet component values 18. A pixel of the transformed image frame that is associated with the feature is selected for analysis (step 32). A neural network 20 is provided that has an output Y and a predetermined number of inputs (step 34). The neural network is trained to classify the feature in a transformed image frame. Each input is associated with a respective wavelet component value of the predetermined number of wavelet component values of the selected pixel. The neural network classifies the local feature based on the wavelet component values provided at the neural network inputs, and indicates a class of the feature at the neural network output (step 36).


The wavelet transformations may use Gabor wavelets 16 and each wavelet component value 18 may be generated based on a Gabor wavelet having a particular orientation and spatial frequency. The predetermined number of wavelet component values and the predetermined number of neural network inputs may be 12. Also, the wavelet component values may be magnitudes of complex numbers.


The Gabor-wavelet transformation may be described in more detail with reference to FIG. 3. The orginal image 14 is processed using Gabor wavelet transformations to generate respective convolution results. Wavelets are functions that resolve data into different frequency components, and then analyze each component with a resolution matched to its scale. Empirical results have indicated that Gabor wavelets 16 are particularly advantageous for analysis of facial images. However, other wavelet functions may provide advantages similar to Gabor wavelets in object and feature analysis. The wavelet transformations result from a convolution with a family of complex Gabor wavelets or kernels. A Gabor kernel consists of a two-dimensional complex wave field modulated by a Gaussian envelope. All of the Gabor kernels in the wavelet family are similar in the sense that they can be generated from a basic kernel simply by dilation and rotation For each location (i.e., pixel row and column) in the original image, a complex value associated with each Gabor kernel is generated. The complex value has an imaginary part 24 and a magnitude 26. The equations and features related to the Gabor wavelet transformations are disclosed in U.S. Pat. No. 6,222,939, titled LABELED BUNCH GRAPHS FOR IMAGE ANALYSIS, which patent is incorporated herein by reference. The wavelet family may have a discrete hierarchy of 3 spatial resolutions and 4 orietations at each resolution level, thus generating 12 complex values, referred to as a jet 28, for each pixel of the original image. Each jet describes the local features of the region surrounding the respective pixel. Jets of other hierarchies, i.e., spatial resolutions and orientations, may be used depending on the application, available processing power, etc. The images in FIG. 3 show the imaginary part 24 and magnitude 26 of two convolution results for two exemplary Gabor wavelets 16. For convenience, the other 10 convolution results are not shown.


With reference to FIGS. 4 and 5, the present invention may be alternatively embodied in a method (FIG. 4), and in a related apparatus (FIG. 5), for analyzing an object image in an image frame 14. In the method, an original image frame 14 having an array of pixels is transformed using wavelet transformations to generate a transformed image frame 54 having an array of pixels (step 42). Each pixel of the transformed image is associated with a respective pixel of the original image frame and is represented by a predetermined number of wavelet component values. Pixels of the transformed image frame are selected that correspond to sensing nodes 56 of a label graph 58 (step 44). Each sensing node is for analyzing a local feature of the object image in the original image frame. A plurality 60 of neural networks 20 is provided, each neural network having an output and a predetermined number of inputs (step 46). Further, each neural network is trained to analyze the respective local feature 12 of the object image in a transformed image frame and is associated with a sensing node of the label graph. Each input is associated with a respective wavelet component value of the predetermined number of wavelet component values of the respective selected pixel. Using the neural networks, the local features are analyzed based on the wavelet component values provided at the neural network inputs, and a characteristic Z of the object image is indicated based on the neural network outputs (step 48)


The labeled image graph 58, as shown in FIG. 5, is advantageous in the analysis of the object image (in this context, a face). The nodes 56 of the labeled graph refer to points on the object image. Edges 62 of the graph are labeled with distance vectors between the nodes. The nodes and edges define the graph topology. Graphs with equal topology can be compared to determine the person's facial features and characteristics.


The plurality 60 of neural networks 20 is shown in more detail in FIG. 6. The label graph 58 may have N nodes 56 which correspond to jets J1 through JN. The wavelet component values 18 for the jets 28 are input in a respective neural network. Each neural network has a respective output, Y1 through YN. The outputs are analyzed to characterize the object image. For example, the neural network outputs may be summed (and normalized) to generate an indicator value Z which may be compared with a threshold value. Alternatively, selected neural network outputs may be weighted to increase or decrease the output's contribution to the indicator value. As an example, the nodes associated with the eyes or the center of the face may have more effectiveness in analyzing a facial image than the nodes associated with the ears or the hair outline.


A representative neural network 20 is shown in FIG. 7. The neural network may have nodes 72 that are arranged in three layers: an input layer 74, a middle (or hidden) layer 76, and an output layer 78. Each node on the input layer corresponds to an input of the neural network and is associated with one of the wavelet component values 18. For example, a jet J1 includes a plurality of wavelet component values A1F1 through ANFN, each value associated with a particular angle AN (or orientation) and spatial frequency FN (or resolution). The input layer nodes have weighted connections 80 with the middle layer nodes. Likewise, the middle layer nodes have weighted connections 82 with the output layer.


The neural network 20 is trained by adjusting the weighted connections, 80 and 82, to provide a known output Y when presented with particular samples of input values. An exemplary image 84 for obtaining training samples 86 is shown in FIG. 8. The neural network is being trained to classify the left eye in a facial image. Accordingly, a jet 88 corresponding to a pixel centered on the left eye is associated with a high activity value, e.g., 0.9 on a scale from 0 to 1. Other jets 90 may be selected from the facial image that are associated with a low activity value, e.g., 0.1. The low-activity jets may be selected from a regular pattern of positions surrounding the high-activity jet. The wavelet component values XN of the jets are input at the input nodes of the neural network 20 as shown in FIG. 9, resulting in a current activity value Y. The current activity value is compared with a correct activity value Z by an error computation module 94 resulting in an error value E. The error value is back propagated to update the weighted connections, 80 and 82, of the neural network, as known in the art, to modify the current activity value until it is sufficiently close to the correct activity value. The training process is continued for the high-activity jet 88 and all of the low-activity jets 90 selected from the facial image. Advantageously, for each facial image, the neural network is trained with 50 to 100 low-activity samples for each high-activity sample. Empirical evidence indicates that a neural network may adequately classify a local feature after training based on about 500 sample facial images.


A jet 28 may be selected for analysis by scanning the transformed image with a sensing node 56 of model graph 58 and monitoring the resulting activity value Y or indicator value Z. A maximum value may locate a desired local feature or object image in the image frame.


The techniques of the invention may be advantageous for tracking a node in a series of image frames or reinitializing a tracked node. Node tracking and reinitialization, and model graph scanning, are described in more detail in U.S. Pat. No. 6,272,231, titled WAVELET-BASED FACIAL MOTION CAPTURE FOR AVATAR ANIMATION, which patent is incorporated herein by reference.


Likewise, the techniques of the invention may be practiced more efficiently if only a portion of the image frame 14 undergoes a wavelet transformation as described in more detail in U.S. Pat. No. 6,301,370, titled FACE RECOGNITION FROM VIDEO IMAGES, which patent is incorporated herein by reference.


Although the foregoing discloses the preferred embodiments of the present invention, it is understood that those skilled in the art may make various changes to the preferred embodiments without departing from the scope of the invention. The invention is defined only by the following claims.

Claims
  • 1. A method for classifying a feature in an image frame, comprising: transforming an original image frame having an array of pixels using wavelet transformations to generate a transformed image frame having an array of pixels, each pixel of the transformed image being associated with a respective pixel of the original image frame and being represented by a predetermined number of wavelet component values; selecting a pixel of the transformed image frame associated with the feature; providing a neural network having an output and a predetermined number of inputs, each input being associated with a respective wavelet component value of the predetermined number of wavelet component values of the selected pixel, wherein the neural network is trained to classify the feature in a transformed image frame; and classifying, using the neural network, the local feature based on the wavelet component values provided at the neural network inputs, and indicating a class of the feature at the neural network output.
  • 2. A method for classifying a feature in an image frame as defined in claim 1, wherein the wavelet transformations use Gabor wavelets.
  • 3. A method for classifying a feature in an image frame as defined in claim 1, wherein each wavelet component value is generated based on a Gabor wavelet having a particular orientation and frequency.
  • 4. A method for classifying a feature in an image frame as defined in claim 1, wherein the feature in the image frame is a facial feature.
  • 5. A method for classifying a feature in an image frame as defined in claim 1, wherein the predetermined number of wavelet component values and the predetermined number of neural network inputs is 12.
  • 6. A method for classifying a feature in an image frame as defined in claim 1, wherein the wavelet component values are magnitudes of complex numbers.
  • 7. A method for analyzing an object image in an image frame, comprising: transforming an original image frame having an array of pixels using wavelet transformations to generate a transformed image frame having an array of pixels, each pixel of the transformed image being associated with a respective pixel of the original image frame and being represented by a predetermined number of wavelet component values; selecting pixels of the transformed image frame corresponding to sensing nodes of a label graph, each sensing node for analyzing a local feature of the object image in the original image frame; providing a plurality of neural networks, each neural network being associated with a sensing node of the label graph and having an output and a predetermined number of inputs, each input being associated with a respective wavelet component value of the predetermined number of wavelet component values of the respective selected pixel, wherein each neural network is trained to analyze the respective local feature of the object image in a transformed image frame; analyzing, using the neural networks, the local features based on the wavelet component values provided at the neural network inputs, and indicating a characteristic of the object image based on the neural network outputs.
  • 8. A method for classifying a feature in an image frame as defined in claim 7, wherein the wavelet transformations use Gabor wavelets.
  • 9. A method for classifying a feature in an image frame as defined in claim 7, wherein each wavelet component value is generated based on a Gabor wavelet having a particular orientation and frequency.
  • 10. A method for classifying a feature in an image frame as defined in claim 7, wherein the object image is a facial image.
  • 11. A method for classifying a feature in an image frame as defined in claim 7, wherein the predetermined number of wavelet component values is 40 and the predetermined number of neural network inputs is 12.
  • 12. A method for classifying a feature in an image frame as defined in claim 7, wherein the wavelet component values are magnitudes of complex numbers.
  • 13. Apparatus for classifying a feature in an image frame, comprising: means for transforming an original image frame having an array of pixels using wavelet transformations to generate a transformed image frame having an array of pixels, each pixel of the transformed image being associated with a respective pixel of the original image frame and being represented by a predetermined number of wavelet component values; means for selecting a pixel of the transformed image frame associated with the feature; a neural network having an output and a predetermined number of inputs, each input being associated with a respective wavelet component value of the predetermined number of wavelet component values of the selected pixel, wherein the neural network is trained to classify the feature in a transformed image frame and classifies the local feature based on the wavelet component values provided at the neural network inputs, and indicating a class of the feature at the neural network output.
  • 14. Apparatus for classifying a feature in an image frame as defined in claim 13, wherein the wavelet transformations use Gabor wavelets.
  • 15. Apparatus for classifying a feature in an image frame as defined in claim 13, wherein each wavelet component value is generated based on a Gabor wavelet having a particular orientation and frequency.
  • 16. Apparatus for classifying a feature in an image frame as defined in claim 13, wherein the feature in the image frame is a facial feature.
  • 17. Apparatus for classifying a feature in an image frame as defined in claim 13, wherein the predetermined number of wavelet component values and the predetermined number of neural network inputs is 12.
  • 18. Apparatus for classifying a feature in an image frame as defined in claim 13, wherein the wavelet component values are magnitudes of complex numbers.
  • 19. Apparatus for analyzing an object image in an image frame, comprising: means for transforming an original image frame having an array of pixels using wavelet transformations to generate a transformed image frame having an array of pixels, each pixel of the transformed image being associated with a respective pixel of the original image frame and being represented by a predetermined number of wavelet component values; means for selecting pixels of the transformed image frame corresponding to sensing nodes of a label graph, each sensing node for analyzing a local features of the object image in the original image frame; a plurality of neural networks, each neural network being associated with a sensing node of the label graph and having an output and a predetermined number of inputs, each input associated with a respective wavelet component value of the predetermined number of wavelet component values of the respective selected pixel, wherein each neural network is trained to analyze the respective local feature of the object image in a transformed image frame; means for analyzing, using the neural networks, the local features based on the wavelet component values provided at the neural network inputs, and indicating a characteristic of the object image based on the neural network outputs.
  • 20. Apparatus for classifying a feature in an image frame as defined in claim 19, wherein the wavelet transformations use Gabor wavelets.
  • 21. Apparatus for classifying a feature in an image frame as defined in claim 19, wherein each wavelet component value is generated based on a Gabor wavelet having a particular orientation and frequency.
  • 22. Apparatus for classifying a feature in an image frame as defined in claim 19, wherein the object image is a facial image.
  • 23. Apparatus for classifying a feature in an image frame as defined in claim 19, wherein the predetermined number of wavelet component values is 40 and the predetermined number of neural network inputs is 40.
  • 24. Apparatus for classifying a feature in an image frame as defined in claim 19, wherein the wavelet component values are complex numbers.
US Referenced Citations (38)
Number Name Date Kind
4725824 Yoshioka Feb 1988 A
4805224 Koezuka et al. Feb 1989 A
4827413 Baldwin et al. May 1989 A
5159647 Burt Oct 1992 A
5168529 Peregrim et al. Dec 1992 A
5187574 Kosemura et al. Feb 1993 A
5220441 Gerstenberger Jun 1993 A
5280530 Trew et al. Jan 1994 A
5333165 Sun Jul 1994 A
5383013 Cox Jan 1995 A
5430809 Tomitaka Jul 1995 A
5432712 Chan Jul 1995 A
5465308 Hutcheson et al. Nov 1995 A
5511153 Azarbayejani et al. Apr 1996 A
5533177 Wirtz et al. Jul 1996 A
5550928 Lu et al. Aug 1996 A
5581625 Connell Dec 1996 A
5588033 Yeung Dec 1996 A
5680487 Markandey Oct 1997 A
5699449 Javidi Dec 1997 A
5703964 Menon et al. Dec 1997 A
5714997 Anderson Feb 1998 A
5715325 Bang et al. Feb 1998 A
5719954 Onda Feb 1998 A
5736982 Suzuki et al. Apr 1998 A
5764803 Jacquin et al. Jun 1998 A
5774591 Black et al. Jun 1998 A
5802220 Black et al. Sep 1998 A
5809171 Neff et al. Sep 1998 A
5828769 Burns Oct 1998 A
5842194 Arbuckle Nov 1998 A
5917937 Szeliski et al. Jun 1999 A
5982853 Liebermann Nov 1999 A
5995119 Cosatto et al. Nov 1999 A
6011562 Gagne Jan 2000 A
6044168 Tuceryan et al. Mar 2000 A
6052123 Lection et al. Apr 2000 A
6301370 Steffens et al. Oct 2001 B1
Foreign Referenced Citations (3)
Number Date Country
4406020 Jun 1995 DE
0807902 Nov 1997 EP
WO9953443 Oct 1999 WO