Patent Publication Number: US-7715632-B2

Title: Apparatus and method for recognizing an image

Description:
PRIORITY 
   This application claims priority to an application entitled “Apparatus and Method for Recognizing Image” filed in the Korean Intellectual Property Office on Dec. 9, 2004 and assigned Serial No. 2004-103452, the contents of which are incorporated herein by reference. 
   BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to an apparatus and a method for recognizing an image, and more particularly to an apparatus and a method for recognizing a specific subject from a still image or a moving image at a high speed. 
   2. Description of the Related Art 
   In order to recognize a specific subject from an image, a device for recognizing an image must receive learning data for the image and information about candidate areas used for distinguishing the specific object from other objects in the image. At this time, the use of both subject information and pixel information about the candidate area requires a great amount of time and computing power. 
   For this reason, the conventional technique uses either feature information or edge information about a concerned area used for determining a certain subject instead of inputting all pieces of information about the concerned area, thereby reducing the amount of information required for image recognition. Thus, various schemes for reducing the amount of information may exist according to schemes of extracting feature information. However, the schemes for reducing the amount of information determine a subject using either feature information or an intrinsic vector and an intrinsic value extracted from an edge image. In the conventional technique, even when the minimum size of a candidate area used for determining a subject is, for example, 64×64 pixels, the number of the pixels is 4096. The 4096 pixels become 20480 dimensions when they are multiplied by the dimensions of x and y coordinates and RGB. If a candidate area having an amount of information larger than an amount of information of 64×64 pixels is employed, the dimension of input information may be within the range of several hundreds of thousands to several millions. 
   This great amount of information degrades the performance of a device for recognizing an image and requires a great amount of initial learning time. In addition, an image having this great amount of information is not suitable for both a portable terminal having little computing power and a server environment over a network. 
   A variety of typical schemes for finding an edge image used for reducing the amount of information required for recognizing an image only extract more detailed edge information, but actually do not reduce an amount of input information. 
   SUMMARY OF THE INVENTION 
   Accordingly, the present invention has been made to solve the above-mentioned problems occurring in the prior art, and an object of the present invention is to reduce the amount of information required for recognizing an image. 
   Another object of the present invention is to reduce the amount of learning data of a subject to be recognized in an image recognizing apparatus. 
   Still another object of the present invention is to provide an apparatus and a method for recognizing an image, which can reduce the amount of learning data of an image subject to be recognized. 
   Still another object of the present invention is to provide an apparatus and a method for recognizing an image, which can reduce the amount of information required for image recognition. 
   Still yet another object of the present invention is to reduce the amount of information required for image recognition by using a feature template dividing a candidate area for image recognition into a plurality of areas. 
   Still yet another object of the present invention is to provide an apparatus and a method for recognizing an image, which can perform learning and image recognition for an image subject using a feature template dividing a candidate area for image recognition into a plurality of areas. 
   To accomplish the above objects, the apparatus for recognizing an image extracts one feature vector value by using one feature template dividing an image into a plurality of areas and performs learning and image recognition with respect to a subject to be recognized in the image using the extracted feature vector value. 
   The feature vector value is obtained by calculating differences between pixel values in plural areas for a corresponding feature template and summing up the differences, and the feature template is provided according to subjects to be recognized. 
   The learning is performed by employing an identical feature template for a subject to be recognized and an image which is not the subject to be recognized and extracting a criterion for distinguishing a subject to be recognized and an image which is not the subject. The recognition is performed by comparing the criterion extracted through the learning with a feature vector value of the subject to be recognized. 
   The apparatus for recognizing an image includes an image preprocessing module for adjusting the brightness of the image so as to clear the contour of a subject to be recognized, an edge extracting module for extracting horizontal edge information and vertical edge information from an image having its contour clearly adjusted by the image preprocessing module, a feature template processing module for extracting a feature vector value from the vertical edge information and the horizontal edge information using an identical feature template, and an image recognizing module for extracting a criterion for determining an image using the feature vector value and recognizing the subject using the criterion. 
   According to another aspect of the present invention, there is provided a method for recognizing an image, including extracting one feature vector value by using a feature template dividing an image into a plurality of areas, and performing learning and image recognition with respect to a subject to be recognized in the image using the extracted feature vector value. 
   The method for recognizing an image further includes adjusting the brightness of the image so as to clear the contour of a subject to be recognized, extracting horizontal edge information and vertical edge information from an image having its contour clearly adjusted by the image preprocessing module, extracting a feature vector value from the vertical edge information and the horizontal edge information using an identical feature template, extracting a criterion of determining an image using the feature vector value, and recognizing the subject to be recognized using the criterion. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The above and other objects, features and advantages of the present invention will be more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: 
       FIG. 1  is a block diagram illustrating the structure of an apparatus for recognizing an image according to the present invention; 
       FIGS. 2A and 2B  illustrate an example of an image preprocessing procedure according to the present invention; 
       FIGS. 3A to 3D  illustrate examples of extracting a horizontal edge and a vertical edge according to the present invention; 
       FIGS. 4A to 4D  illustrate examples of feature templates according to the present invention; 
       FIGS. 5A and 5B  illustrate examples of learning data input for image recognition learning according to the present invention; and 
       FIG. 6  is a flowchart illustrating a method for recognizing an image according to the present invention. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
   Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Note that the same or similar components in drawings are designated by the same reference numerals as far as possible although they are shown in different drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention unclear. 
     FIG. 1  is a block diagram illustrating the structure of an apparatus for recognizing an image according to the present invention. 
   The apparatus for recognizing an image according to the present invention includes an image preprocessing module  11 , an edge extracting module  12 , a feature template processing module  13 , and an image recognizing module  14 . 
   The image preprocessing module  11  clears the overall contour of a subject. The change of an illumination has an influence on the performance of a whole system, and the brightness of the illumination being too light or too dark makes the contour of the subject indistinct, so as to make it difficult to recognize the subject. Accordingly, before an input image undergoes a main processing procedure, the input image undergoes a preprocessing procedure in the image preprocessing module  11  for removing indefiniteness of a subject due to the illumination. 
   The image preprocessing procedure includes Histogram Equalization and Min-Max Normalization. It is preferred that the Min-Max Normalization shown in Equation 1 is used as the preprocessing procedure according to the present invention. 
   
     
       
         
           
             
               
                 
                   y 
                   1 
                 
                 = 
                 
                   
                     
                       ( 
                       
                         
                           y 
                           - 
                           
                             min 
                             1 
                           
                         
                         
                           
                             max 
                             1 
                           
                           ⁢ 
                           
                             - 
                             
                               min 
                               1 
                             
                           
                         
                       
                       ) 
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           max 
                           2 
                         
                         ⁢ 
                         
                           - 
                           
                             min 
                             2 
                           
                         
                       
                       ) 
                     
                   
                   + 
                   
                     min 
                     2 
                   
                 
               
             
             
               
                 ( 
                 1 
                 ) 
               
             
           
         
       
     
   
   Herein, min 1  and the max 1  denote the minimum brightness value and the maximum brightness value of an input image, respectively, and min 2  and the max 2  denote the minimum brightness value and the maximum brightness value after the image preprocessing procedure. In addition, y denotes the value of a pixel of the input image. The value of y 1  denotes the value of a pixel corrected through the image preprocessing procedure. The value of the pixel is within the range of 0 to 255 in the case of, for example, a black image. In the case of a color image, the R, G, and B values of the pixel are within the range of 0 to 255, respectively. 
   The image preprocessing module  11  performs the image preprocessing procedure for all input images.  FIGS. 2A and 2B  illustrate an example of the image preprocessing procedure and illustrates that an input image in  FIG. 2A  having undergone the image preprocessing procedure is changed into an image in  FIG. 2B  having an overall clear contour. 
   The edge extracting module  12  extracts a horizontal edge and a vertical edge from the image having undergone the image preprocessing procedure. This is because an amount of information is reduced when feature information extracted from an input image is used rather than when information about the input image is used as it is. In addition, generally, an edge image is less sensitive to the change of illumination as compared with a full image having a predetermined pixel value. 
     FIGS. 3A to 3D  illustrate examples of a horizontal edge and a vertical edge extracted in the edge extracting module  12 . 
   The edge extracting module  12  extracts a horizontal edge image in  FIG. 3C  and a vertical edge image in  FIG. 3D  from a candidate image in  FIG. 3B  of the image in  FIG. 3A  having undergone the image preprocessing procedure. 
   The feature template processing module  13  calculates a feature vector of a subject to be obtained from an image by using a feature template. The feature template is provided in the present invention in order to reduce an amount of information processed when an image is recognized. The feature template is used in order to divide the candidate area into a plurality of areas. 
   The feature template processing module  13  extracts one feature vector value using one feature template with respect to a candidate area. The feature template processing module  13  divides the candidate area into a plurality of areas defined based on the feature template, calculates differences between pixel values corresponding to the areas, and finds a feature vector value for the candidate area by adding the differences. This is expressed as Equation 2; an example of a feature vector value calculated when a feature template is divided into two areas. 
   
     
       
         
           
             
               
                 D 
                 = 
                 
                   
                     ∑ 
                     X 
                     
                         
                     
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     { 
                     
                       
                         W 
                         ⁡ 
                         
                           ( 
                           X 
                           ) 
                         
                       
                       - 
                       
                         B 
                         ⁡ 
                         
                           ( 
                           X 
                           ) 
                         
                       
                     
                     } 
                   
                 
               
             
             
               
                 ( 
                 2 
                 ) 
               
             
           
         
       
     
   
   Herein, W represents a pixel value for one area of the feature template, and B represents a pixel value for the other area of the feature template. In addition, X represents a coordinate value at each area. 
   Since the use of this feature template allows only one feature vector based on one feature template to be extracted with respect to the candidate area, the amount of information to be processed is remarkably reduced. In the case of a color image, differences between pixel values are calculated with respect to R, G, and B of each pixel, and a feature vector value is calculated by adding the differences, so that one feature vector value based on one feature template is extracted. 
   It is preferred that several feature templates are employed according to subjects to be distinguished in order to exactly recognize corresponding subjects. In addition, shapes of divided areas are different from each other such that features of a corresponding subject can be finely extracted. 
   In the meantime, Equation 3 shows another scheme of calculating a feature vector using a feature template. 
   
     
       
         
           
             
               
                 D 
                 = 
                 
                   
                     ∑ 
                     
                       min 
                       ⁡ 
                       
                         ( 
                         
                           
                             W 
                             ⁡ 
                             
                               ( 
                               X 
                               ) 
                             
                           
                           , 
                           
                             B 
                             ⁡ 
                             
                               ( 
                               X 
                               ) 
                             
                           
                         
                         ) 
                       
                     
                   
                   
                     min 
                     ⁡ 
                     
                       ( 
                       
                         
                           
                             ∑ 
                             X 
                             
                                 
                             
                           
                           ⁢ 
                           
                             W 
                             ⁡ 
                             
                               ( 
                               X 
                               ) 
                             
                           
                         
                         , 
                         
                           
                             ∑ 
                             X 
                             
                                 
                             
                           
                           ⁢ 
                           
                             B 
                             ⁡ 
                             
                               ( 
                               X 
                               ) 
                             
                           
                         
                       
                       ) 
                     
                   
                 
               
             
             
               
                 ( 
                 3 
                 ) 
               
             
           
         
       
     
   
   Feature templates may be expressed as shown in  FIGS. 4A to 4D  in detail. Herein, in order to distinguish areas, the feature templates are expressed using a white color and a black color. A feature template of  FIG. 4A  is divided into two areas of a right area and a left area, and a feature template of  FIG. 4B  is divided into two areas of an up area and a bottom area. Although it seems as if feature templates of  FIG. 4C  and  FIG. 4D  are divided into four areas, the feature templates are substantially divided into two areas of a black area and a white area, respectively, while varying the division pattern thereof. 
   If Equation 3 is applied to  FIGS. 4A to 4D , W and B stand for pixel values of a white area and a black area, respectively. All symmetrical pixels in the white area and the black area are compared with each other while moving coordinates. In the coordinate value X, a coordinate starting point and a coordinate movement direction are different in every feature template area. For example, since the feature template in  FIG. 4A  is used in order to distinguish the symmetry of an image, it is preferred that Equation 3 is used while moving coordinates in the black colored area  41  from a left side to a right side and while moving coordinates in white colored area  42  from a right side to a left side. Since the feature template in  FIG. 4B  is used for recognizing the longitudinal symmetric feature of an image, it is preferred that Equation 3 is used while moving coordinates in the black colored area  43  from an upper side to a lower side and while moving coordinates in white colored area  44  from a lower side to an upper side. In the meantime, the feature template in  FIG. 4C  is used in order to distinguish the symmetry of an image in more detail by dividing the symmetrical image into an upper part and a lower part. The movement direction of coordinates in the feature template in  FIG. 4C  is identical to that in the feature template in  FIG. 4A . In addition, the symmetrical relation between a black colored area  45  and a white colored area  46  and the symmetrical relation between a black colored area  48  and a white colored area  47  can be recognized in more detail by distinguishing the relation between the black colored area  45  and the white colored area  46  from the relation between the black colored area  48  and the white colored area  47 . In the meantime, the feature template in  FIG. 4D  is used in order to distinguish the symmetry of an image in more detail by dividing the longitudinal symmetric image into a right part and a left part. The movement direction of coordinates in the feature template in  FIG. 4D  is identical to that in the feature template in  FIG. 4B . In addition, the longitudinal symmetric relation between a black colored area  50  and a white colored area  49  and the longitudinal symmetric relation between a black colored area  51  and a white colored area  52  can be recognized in more detail by distinguishing the relation between the black colored area  50  and the white colored area  49  from the relation between the black colored area  51  and the white colored area  52 . 
   If a human face is used as an experimental subject, it is enough to provide only the four feature templates shown in  FIGS. 4A to 4D . If a face is a subject to be recognized as shown in a candidate area of  FIGS. 3A to 3D , the face has symmetrical features, so that the value of a feature vector D for the feature template in  FIG. 4A  is approximate to ‘1’, and the value of a feature vector D for the feature template in  FIG. 4B  is approximate to ‘0’. Accordingly, the value of a feature vector is within the range of ‘0’ to ‘1’. 
   In other words, if four feature templates are used with respect to both a horizontal edge and a vertical edge as data required for recognizing a face, only eight numbers of data are used in order to recognize the face. Therefore, the greatest effect according to the present invention is that the number of data to be used for learning and recognition for the image is remarkably reduced in the image recognizing module  14 . 
   In particular, the feature template processing module  13  calculates a feature vector using horizontal edge information and vertical edge information extracted by the edge extracting module  12 , thereby reducing a computation amount as compared with a case where a feature vector is directly extracted from an input image. 
   The image recognizing module  14  performs learning or image recognition with respect to a subject to be obtained from an input image using a feature vector extracted in the feature template processing module  13 . It is necessary for an image recognizing device to previously perform a learning process in order to exactly recognize an image. In other words, the image recognizing module  14  performs learning with respect to a subject to be recognized and has a database for learning results so as to later exactly recognize a subject. The image recognizing module  14  performs this learning procedure and recognizes a subject input later. 
   Hereinafter, a learning process for a subject to be recognized in the image recognizing module  14  will be described. 
   The image recognizing module  14  classifies feature vectors extracted by the feature template processing module  13  according to subjects. In order to enhance a learning effect, the image recognizing module  14  performs the learning procedure not only for a subject to be recognized, but also for an image, which is not the subject to be recognized. 
   In other words, in the learning procedure, the image recognizing module  14  extracts a criterion for determining a subject to be recognized by analyzing a feature vector value for a feature template identically employed for the subject to be recognized and an image which is not the subject to be recognized. That is, since a feature vector value for the subject to be recognized is different from a feature vector value for the image, which is not the subject to be recognized, with respect to the same feature template, the image recognizing module  14  extracts the criterion for determining the subject to be recognized in the learning procedure. 
     FIGS. 5A and 5B  are views illustrating examples of learning data on the assumption that a subject to be recognized is a face. The learning data includes data about a face which is a subject to be recognized and data (which are not face data) distinct from a face as shown in  FIGS. 5A and 5B .  FIG. 5A  illustrates data about a face which is a subject to be recognized, and  FIG. 5B  illustrates data which are not face data. As shown in  FIG. 5A , the data about the face has a predetermined rule that eyes, a noise, and a mouth are symmetrical. However, data, which is not face data as shown in  FIG. 5B , have features distinct from the features of a face. In other words, the image recognizing module  14  determines if a feature vector value of a next input image is included in a distribution area for feature vector values of learned face data by using distribution information of a feature vector value for face data shown in  FIG. 5A  and distribution information of a feature vector value for data, which are not face data, shown in  FIG. 5B . If the feature vector value of the next input image is included in the distribution area for feature vector values of learned face data, the input image is distinguished as a face. Otherwise, it is determined that the input image is not a face. As the number of these learning data increases, it is possible to obtain a superior learning effect. In addition, the following face recognition is performed with higher accuracy. 
   In more detail, the image recognizing module  14  is realized using a support vector machine (SVM), thereby extracting a criterion for classifying a subject to be recognized and determining the subject to be recognized using the criterion in the image recognizing module  14 . Hereinafter, an example of a scheme for extracting a criterion for classifying a recognition subject and determining a recognition subject of an image using the criterion in the image recognizing module  14  will be described. 
   According to the SVM, a non-linear feature vector space having a high degree can be linearly projected and analyzed, and the optimal boundary (i.e., the optimal decision boundary) between feature vectors is provided. In other words, the present invention provides the optimal boundary between feature vectors of a subject to be recognized and feature vectors of an image which is not the subject to be recognized by using feature vectors of both the subject to be recognized and the image which is not the subject to be recognized. 
   The SVM arbitrarily extracts a subject to be recognized and an image which is not the subject to be recognized so as to divide them into two areas and extracts a support vector value based on the divided areas. Herein, the support vector denotes a vector around a decision boundary from among feature vectors extracted from divided areas of arbitrarily selected images. For example, referring to  FIGS. 5A and 5B , according to the present invention, the support vector value corresponds to a vector value around the decision boundary dividing feature vector values for face data and data which are not face data. 
   The SVM has support vector values according to subjects to be recognized through learning and then determines if an image input from the feature template processing module  13  is a subject to be recognized according to an area to which a feature vector of the image belongs based on a decision boundary. 
   Hereinafter, a scheme for learning and recognizing an image in the image recognizing device will be described with reference to  FIG. 6 . 
   The image recognizing device clears the contour of an input image through the image preprocessing procedure in the image preprocessing module  11  (step S 61 ) and sends the image to the edge extracting module  12 . 
   The edge extracting module  12  extracts a horizontal edge and a vertical edge from the image having undergone the image preprocessing procedure (step S 62 ) and delivers the horizontal edge and the vertical edge to the feature template processing module  13 . 
   The feature template processing module  13  extracts a feature vector value to be delivered to the image recognizing module  14  (step S 63 ) by applying corresponding feature templates to horizontal edge information and vertical edge information. 
   Thereafter, the image recognizing module  14  determines if a current step corresponds to a learning step (step S 64 ) or a recognition step (step S 66 ). If it is determined that the current step corresponds to the learning step (step S 64 ), a criterion for determining a subject to be recognized by using the feature vector values is extracted (step S 65 ). If it is determined that the current step corresponds to the recognition step (step S 66 ), it is determined if a certain image is the subject to be recognized by using the classification criterion (step S 67 ). 
   Herein, it is preferred that the learning is performed with respect to all images including a subject to be recognized and an image which is not the subject to be recognized. The learning is performed by applying the same feature template to both the subject to be recognized and the image which is not the subject to be recognized. Even a corresponding subject is determined using feature vectors for identical feature templates. 
   As described above, according to the present invention, a feature vector is extracted using a feature template, thereby remarkably reducing a data amount required for image recognition as compared with the conventional technique having a data amount proportional to the number of pixels. According to the present invention, it is possible to reduce a computation amount and a time required for image recognition and it is easy to apply the present invention to an application system based on a portable terminal or a network. 
   While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention. Consequently, the scope of the invention should not be limited to the described embodiments, but should be defined by the appended claims and equivalents thereof.