Patent Publication Number: US-6337927-B1

Title: Approximated invariant method for pattern detection

Description:
TECHNICAL FIELD 
     The invention relates generally to systems and methods for assigning input patterns into one of two classes and more particularly to a system and a method for classifying input patterns based on a linear classification. 
     DESCRIPTION OF THE RELATED ART 
     Pattern classification has drawn increasing attention in recent years, due to its application in a number of technological areas, such as acoustic signal processing and image processing. The objective in pattern classification is to separate input patterns into two classes, a target class and a non-target class. For example, for face detection in images, vectors (blocks of pixels) are extracted from an image and each vector is examined to determine whether it contains an image of a human face (target class) or not (non-target class). Another example is the detection of a specific sound, e.g., a piano sound, in an arbitrary sound signal stream. In this case, the components of the sound signal stream are classified into the specific sound class (target class) or background class (non-target class). 
     Various types of pattern classifiers are known in the art. Most pattern classifiers are configured to discriminate between the two classes by “learning” from two training sets, {circumflex over (X)}={x i } i=1 . . . Lx  (target samples) and Ŷ={y i } i=1 . . . Ly  (non-target samples). Such classifiers are known as example-based classifiers. The simplest and computationally fastest type of pattern classifier is a linear classifier C(z), where the classifying operation is based on a mathematical projection followed by a thresholding. For a given input pattern, i.e., a vector z, the projection of z is performed onto a projection vector u and, thus, C(z)=f(u T z), where f(*) is a thresholding operation or some other decision rule. 
     Various types of pattern classifiers are known in the art. Most pattern classifiers are configured to discriminate between the two classes by “learning” from two training sets, {circumflex over (X)}={x i } i=1 . . . Lx  (target samples) and Ŷ={y i } i=1 . . . Ly  (non-target samples). Such classifiers are known as example-based classifiers. The simplest and computationally fastest type of pattern classifier is a linear classifier C(z), where the classifying operation is based on a mathematical projection followed by a thresholding. For a given input pattern, i.e., a vector z, the projection of z is performed onto a projection vector u and, thus, C(z)=f(u t z), where f(*) is a thresholding operation or some other decision rule and where U T  is the related transpose. 
     Therefore, what is needed is a system and a method for efficiently and accurately classifying input patterns into two classes, even in cases where the configuration of the two classes is complex and cannot be separated by a linear hyper-plane. 
     SUMMARY OF THE INVENTION 
     A system and a method for classifying input vectors into one of two classes, a target class and a non-target class, utilize iterative rejection stages to first label the input vectors that belong in the non-target class in order to identify the remaining non-labeled input vectors as belonging in the target class. Each iterative rejection stage involves a linear projection of an input vector that is followed by a thresholding to determine whether that input vector belongs in the non-target class. The system and method may be used in a number of applications, such as face detection, where the members of the two classes can be represented in a vector form. In a face detecting application, the system operates to determine whether an input vector, representing a block of image pixels, contains a picture of a human face. 
     The operation of the system can be divided into an off-line (training) procedure and an on-line (actual classification) procedure. During the off-line procedure, a training module of the system computes the projection vectors and their corresponding threshold values that will be used during the on-line procedure. During the on-line procedure, the projection vectors and the threshold values are utilized by a pattern classifier of the system to execute the iterative rejection stages to determine if an input vector should be labeled as a non-target. After all the iterative rejection stages are executed, the input vector is identified as a target, if it had not been previously labeled as a non-target. 
     An off-line method of computing the projection vectors and their corresponding threshold values in accordance with the invention begins when a training set of vectors, including sample targets and sample non-targets, is received by the training module of the system. Mean-variance pairs for the sample targets and the sample non-targets are then computed by the mean-variance pair calculator of the training module. Using a proximity measure approach, a first projection vector is calculated by the projection vector calculator of the training module. Preferably, the first projection vector facilitates a positive identification of a large portion of the sample non-targets. In particular, the first projection vector is chosen such that projection values of many sample non-targets fall outside a target-containing interval, i.e., an interval of projection values that contains the projection values of all the sample targets when projected onto the first projection vector. 
     Next, a pair of threshold values is chosen for the first projection vector by the threshold setter of the training module. The pair of threshold values defines the upper and lower limits of the target-containing interval. The threshold values are chosen to include the smallest and the largest projection values of the sample targets. The separation between the two threshold values may include the separation between the smallest and the largest projection values of the sample targets, as well as a safety margin. The safety margin may be some percentage of the separation between the smallest and the largest projection values of the sample targets, e.g., five percent, to reduce the risk of erroneous non-target classification. After the pair of threshold values has been set, the sample non-targets having projection values that fall outside of the target-containing interval defined by the two threshold values are removed from the training set. The result is a reduced training set that contains fewer sample non-targets. 
     Using the reduced training set, a new mean-variance pair for the remaining sample non-targets is then computed by the mean-variance pair calculator. Next, a second projection vector and its corresponding pair of threshold values are calculated by the projection vector calculator and the threshold setter, respectively, in the same manner in which the first projection vector and its corresponding pair of threshold values were derived. This process is repeated until all the sample non-targets have been removed from the training set. The end product of the off-line procedure is a number of projection vectors and their corresponding threshold values that can be utilized during an on-line procedure to classify unknown input vectors into one of the two classes. 
     An on-line method of classifying input vectors into one of the two classes is primarily executed by the pattern classifier of the system. The method begins at a step in which the input vectors, as well as the computed projection vectors and their corresponding threshold values, are received by the pattern classifier. For each input vector, successive rejection stages are performed by the linear projection unit and the threshold module of the pattern classifier. During each stage, an input vector is linearly projected using one of the projection vectors computed during the off-line procedure to derive a projection value. The projection value is then compared to corresponding pair of threshold values. If the projection value falls outside the target-containing interval defined by the threshold values, the input vector is labeled as a non-target. After the successive rejection stages, the input vector is identified as a target, if the input vector has not been previously labeled as a non-target. In this manner, all of the input vectors are classified as either non-targets or targets. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of an approximated invariant method (AIM) system, including its components, in accordance with the present invention. 
     FIG. 2 is an exemplary illustration for the construction of the intervals C t , C c  and C u  in accordance with the invention. 
     FIG. 3 illustrates the first rejection stage at which many Clutters are rejected using a first projection vector in accordance with the invention. 
     FIG. 4 illustrates the second rejection stage at which additional Clutters are rejected using a second projection vector in accordance with the invention. 
     FIG. 5 is a block diagram of a training module in the AIM system of FIG. 1, including its components, in accordance with the invention. 
     FIG. 6 is a flow diagram of an off-line method of computing projection vectors and their corresponding threshold values in accordance with the invention. 
     FIG. 7 is a block diagram of a pattern classifier in the AIM system of FIG. 1, including its components, in accordance with the invention. 
     FIG. 8 is a flow diagram of an on-line method of classifying input vectors into one of two classes, a Target class and a Clutter class, in accordance with the invention. 
    
    
     DETAILED DESCRIPTION 
     With reference to FIG. 1, an approximated invariant method (AIM) system having a pattern classifier  12 , a training module  14 , a processing unit  16 , memory  18 , a user interface device  20 , and an output device  22  is shown. The AIM system operates to classify input vectors within a signal stream into one of two classes, a Target class and a non-Target (“Clutter”) class. The AIM system may be used in a number of applications, such as face detection, where the members of the two classes can be represented in a vector form. In a face detecting application, the input vectors represent blocks of pixels from an image that may or may not contain a picture of a human face. In this application, the AIM system operates to discriminate between the two possibilities. 
     A mathematical description for the overall operation of the AIM system will be first described. The classification problem can be defined as follows: Given two classes X (Target class) and Y (Clutter class) in , a point z drawn from one of these classes needs to be labeled correctly as either a Target or a Clutter. An important observation is that it is known a priori that for a typical input stream, the vast majority of the inputs are in Clutters, i.e.: 
     
       
         P{X}&lt;&lt;P{Y}.  (1) 
       
     
     Based on this knowledge, the Clutter labeling should be made fast, even at the expense of a slow Target labeling, to yield a fast output, i.e., the determination of whether the input point z is a Target or a Clutter, with as few operations as possible. 
     Similar to other linear classifiers, the fundamental approach utilized by the AIM system  10  to label the point z as either a Target or a Clutter is to project the point z onto a projection vector u and then label the point z based on the projected value α=u T z. Projecting the Target class onto the projection vector u results in a Probability Density Function (PDF) P{α|X}, or the “Target PDF”, defined as: 
      P{α|X}=∫ a      n   P{z|X}δ(u T z−α)dz,  (2) 
     where δ(x) is the Dirac&#39;s function. The term P{α|X} defines the probability that a given input drawn from the Target class will have the value α after it has been projected onto the projection vector u. Similarly, projecting the Clutter class onto the projection vector u results in a PDF P{α|Y}, or the “Clutter PDF”, defined as: 
     
       
         P{α|Y}=∫ a      n   P{z|Y}δ(u T z−α)dz.  (3) 
       
     
     The following intervals are based on P{α|X} and P{α|Y}: 
     
       
         C t ={α|P{α|X}&gt;0, P{α|Y}=0} 
       
     
     
       
         C c ={α|P{α|X}=0, P{α|Y}&gt;0} 
       
     
     
       
         C u ={α|P{α|X}&gt;0, P{α|Y}&gt;0},  (4) 
       
     
     where t=Target, c=Clutter and u=Unknown. After the projection, z is labeled either as a Target, Clutter or Unknown based on the following decision rule:                Classifier        {   z   }       =     {         Target             u   T        z     ∈                C   t               Clutter             u   T        z     ∈     C   c               Unknown             u   T        z     ∈     C   u                       (   5   )                         
     The Unknown classifications are obtained only in the C u  interval, where a definite decision cannot be made. FIG. 2 illustrates an example for the construction of the intervals C t , C c  and C u  and their appropriate decisions. In FIG. 2, a Target PDF  24  and two Clutter PDFs  26  and  28  are shown, super-imposed. The overlapping zones between the two types of PDFs define the Unknown regions C u , in which definite decisions cannot be made. 
     The probability of the Unknown decision is given by: 
     
       
         P{Unknown}=∫ αεC     u   [P{Y}P{α|Y}+P{X}P{α|X}]dα.  (6) 
       
     
     The equation (6) is a function of the projection vector u. It is desirable to find the vector u that minimizes the Unknown probability. However, it turns out that this problem is difficult to solve directly, even for simplified cases. Thus, some heuristics need to be applied. An alternative approach is to use a proximity measure. 
     If P{α|X} and P{α|Y} are far apart and separated from each other, P{Unknown} will be small. Therefore, the alternative approach is to minimize the overlap between these two types of PDFs. This approach will be defined using the following expected distance between a point α 0  and a distribution P{α}:                  D        (       α   0                     P        {   α   }       )       =       ∫   α                  (       α   0     -   α     )     2        P        {   α   }         σ   2               α           ,           (   7   )                         
     where τ is the variance of P{α} and the division by τ is performed to make the distance scale-invariant (or unit-invariant). Calculating the integral in the equation (7), it is easy to verify that:                D        (       α   0                     P        {   α   }       )       =           (       α   0     -   μ     )     2     +     σ   2         σ   2               (   8   )                         
     where μ is the mean of P{α}. Using this distance definition, the distance of P{α|X} from P{α|Y} can be defined as the expected distance of (α|Y} from P{α|X} and expressed as:                      D        (     P        {     α           Y   }                      P        {   α           X     }       )       =       ∫   α            D        (     α                   P        {     α   |   X     }       )          P        {     α   |   Y     }             α                     =       ∫   α                  (     α   -     μ   x       )     2     +     σ   x   2         σ   x   2          P        {     α   |   Y     }             α                       =           (       μ   y     -     μ   x       )     2     +     σ   x   2     +     σ   y   2         σ   x   2         ,                 (   9   )                         
     where [μ x , τ x ] and [μ y , τ y ] are the mean-variance pairs of P{α|X} and P{α|Y}, respectively. Since the two distributions should have as small an overlap as possible, it is desirable to maximize this distance or minimize the proximity between P{α|X} and P{α|Y}, which can be defined as the inverse of their mutual distance. Note that this measure is asymmetric with respect to the two distributions. The proximity between P{α|X} and P{α|Y} defines the closeness of P{α|Y} to P{α|X}, but not vice versa. Therefore, the overall proximity between the two distribution is defined as follows:                Prox        (       P        {     α   |   Y     }       ,     P        {     α   |   X     }         )       =       P        {   X   }            σ   y   2         σ   x   2     +     σ   y   2     +       (       μ   y     -     μ   x       )     2           +     P        {   Y   }              σ   x   2         σ   x   2     +     σ   y   2     +       (       μ   y     -     μ   x       )     2         .                 (   10   )                         
     Compared to the original expression in Equation (6), the minimization of this term with respect to μ is easier. If P{X}=P{Y}, i.e., if there is an even chance to get Target or Clutter inputs, the proximity becomes:                Prox        (       P        {     α   |   Y     }       ,     P        {     α   |   X     }         )       =           σ   x   2     +     σ   y   2           σ   x   2     +     σ   y   2     +       (       μ   y     -     μ   x       )     2         .             (   11   )                         
     This is the cost function minimized by the Fisher Linear Discriminant (FLD). Specifically, the inverse of the equation (11) is minimized by the FLD. An alternative approach would have been to use an overall distance instead, resulting with the expression                        (       μ   y     -     μ   x       )     2     +     σ   x   2     +     σ   y   2         σ   x   2       +           (       μ   y     -     μ   x       )     2     +     σ   x   2     +     σ   y   2         σ   y   2         ,           (   12   )                         
     for P{X}=P{Y}. However, this expression is more difficult to minimize, as compared to the FLD. 
     However, when P{X}&lt;&lt;P{Y} (Eq. 1), the first term of equation (10) is negligible and can be omitted. Therefore, the preferred u should minimize the resulting term:                  d        (   u   )       =       σ   x   2           σ   x   2     +     σ   y   2     +       (       μ   y     -     μ   x       )     2       )         ,           (   13   )                         
     where τ 2   y , τ 2   x , μ y  and μ x  are all function of u. 
     Note again that d(u) is asymmetric, and its minimization is equivalent to the maximization of equation (9). This means that most Clutter samples must be distant from the Target class, but the opposite is not necessarily required. A given Target sample can be close to some of the Clutters. This implies that most of the Clutters will be projected onto C c , while C t  might even be an empty set. After projection, many of the Clutter inputs are usually classified, whereas Target labeling may not be immediately possible. In fact, this serves the intended objective because for a Clutter input, there is a high probability that a decision will be made. Since Clutter inputs are more frequent, this means a faster decision for the vast majority of the inputs. 
     Minimization of equation (13) usually results with a small τ x  and a large τ y . This means that projection of Target inputs tends to concentrate near a constant value, whereas the Clutter inputs will spread with a large variance. Therefore, the projection onto the projection vector u stands as an approximated invariant for the Target class. 
     In order to find the preferred projection vector u, the τ 2   y , τ 2   x , μ y  and μ x  must be expressed as function of u.                        μ   x     =                    ∫   α          α                 P        {     α   |   X     }             α         =       ∫   α            ∫   z          α                 P        {     z   |   X     }          δ        (         u   T        z     -   α     )               z             α                         =                  ∫   z          P          {     z   |   X     }          [       ∫   α            αδ        (         u   T        z     -   α     )               α         ]               z                     =                    u   T            ∫   z          zP        {     z   |   X     }             z           =       u   T          M   x                      
        and        
                  σ   x   2     =                    ∫   α              (     α   -     μ   x       )     2        P        {     α   |   X     }             α         =       ∫   α            (       α   2     -     2        αμ   x       +     μ   x   2       )        P        {     α   |   X     }             α                       =                    ∫   α            α   2        P        {     α   |   X     }             α         -     2        μ   x            ∫   α          α                 P        {     α   |   X     }             α           +     μ   x   2                   =                    ∫   α            α   2        P        {     α   |   X     }             α         -       u   T          M   x          M   x   T        u                   =                      u   T          [       ∫   z            zz   T        P        {     z   |   X     }             z         ]          u     -       u   T          M   x          M   x   T        u                   =                    u   T          [       ∫   z            (     z   -     M   x       )            (     z   -     M   x       )     T             z         ]          u                 =                  u   T          R   xx        u                     (   14   )                         
     and similarly, 
     
       
         μ y =u T M y   
       
     
     
       
         τ 2   y =u T R yy u. 
       
     
     Therefore, 
     
       
         μ x =u T M x  and τ 2   x =u T R xx u  (15) 
       
     
     and 
     
       
         μ y =u T M y  and τ 2   y =u T R yy u,  (16) 
       
     
     where it is defined that 
     
       
         M x =∫ a      n   zP{z|X}dz R xx =∫ a      n   (z−M x )(z−M x ) T P{z|X}dz 
       
     
     
       
         M y =∫ a      n   zP{z|Y}dz R yy =∫ a      n   (z−M y )(z−M y ) T P{z|Y}dz.  (17) 
       
     
     As can be seen from the above equations (15) and (16), only the first and second moments of the classes play a role in the choice of the projection vector u. The function that is to be minimized is therefore:                      d        (   u   )       =       σ   x   2         σ   x   2     +     σ   y   2     +       (       μ   y     -     M   x       )     2                     =           u   T          R   xx        u           u   T          [       R   xx     +     R   yy     +       (       M   y     -     M   x       )            (       M   y     -     M   x       )     T         ]          u       .                   (   18   )                         
     The u that minimizes the equation (18) satisfies the equation 
     
       
         R xx u=λ[R xx +R yy +(M y −M x )(M y −M x ) T ]u  (19) 
       
     
     and should correspond to the smallest possible λ. A problem of the form Au=λBu, as in equation (19), is known as the generalized eigen-value problem and can be easily solved. Notice that given any solution u for this equation, bu is also a solution with the same λ, where b is any scalar. Therefore, without loss of generality, normalized solution ||u||=1 is used. 
     After finding the preferred projection vector u, the intervals C t , C c  and C u  are determined according to equation (4). An input z is labeled as a Target or Clutter, if its projected value u T z is in the interval C t  or the interval C c , respectively. FIG. 3 presents this first rejection stage for the case where the interval C t  is empty, i.e., there are no inputs which can be classified as a Target. In FIG. 3, the Clutters and Targets  32  are shown in two-dimensional space. For illustrative purposes, Target PDF  34  and Clutter PDF  36  for the Clutters and Targets are also shown. Note that the preferred projection vector  38  was chosen such that many of the Clutters are rejected, which are identified in FIG. 3 as rejected Clutters  40 . The thresholds are chosen such that erroneous rejection of Targets is not possible for the given Targets. 
     Input vectors having projected values within in the interval C u  are not labeled. For these inputs another step of classification is applied, where the design of the preferred projection vector in this step is performed according to the following new distributions: 
     
       
         P{α|Y &amp; α 1 εC u } and P{α|X &amp; α 1 εC u },  (20) 
       
     
     where u 1  is the first projection vector and α 1 =u T   1 z. The next projection vector u 2  is defined as the vector which minimizes the following proximity measure: 
     
       
         Prox(P{α|Y &amp; α 1 εC u }, P{α|X &amp; α 1 εC u }).  (21) 
       
     
     This minimization is performed in the same manner as explained for the first rejection stage. FIG. 4 illustrates the second rejection stage, after the application of the first stage, shown in FIG.  3 . During the second rejection stage, the next projection vector  42  is chosen such that large portions  46  of the remaining Clutters  44  are rejected. In FIG. 3, the Clutters that were rejected during the first rejection stage are shown in phantom. Again, corresponding thresholds are chosen such that erroneous rejection of Targets  32  is not possible for the given Targets. In FIG. 4, new Clutter PDF  48  and new Target PDF  50  for the remaining Clutters and Targets are also shown. 
     After the second rejection stage, the process can continue with projection vectors u 3 , u 4 , . . . , etc. Due to the high rejection rate of the projection vectors for a given set of Clutters, it is expected that a large portion of the Clutter input vectors will be labeled as Clutters at each rejection stage, such that the remaining Clutter input vectors are labeled by subsequent projection vectors. Such an iterative process ensures a good performance of the classification with respect to an accurate labeling and a fast classification rate. 
     In practice, the probabilities P{α|X} and P{α|Y} are not known and the inference on the Target or Clutter class is achieved through examples. Two example sets are collected and denoted as {circumflex over (X)}={x k } k=1   Lx  and Ŷ={y k } k=1   Ly . It is assumed that these two collected sets are sufficiently large to be considered as good representations of the actual classes X and Y. First, an alternative definition of the function to be minimized is found, expressed in terms of the training sets. Replacing the mean-covariance pairs, M x , R xx , M y  and R yy , with empirical approximations, the mean-covariance pairs can be expressed as:                    M   ^     x     =       1     L   x              ∑     k   =   1       L   x                       x   k                
              R   ^     xx     =       1     L   x              ∑     k   =   1       L   x                         (       x   k     -       M   ^     x       )            (       x   k     -       M   ^     x       )     T                     (   22   )             and                               M   ^     y     =       1     L   y              ∑     k   =   1       L   y                       y   k                
              R   ^     yy     =       1     L   y              ∑     k   =   1       L   y                         (       y   k     -       M   ^     y       )              (       y   k     -       M   ^     y       )     T     .                     (   23   )                         
     Substituting the empirical approximations into equation (18) results in the empirical proximity:                  d   ^          (   u   )       =         u          R   ^     xx               T        u           u   T          [         R   ^     xx     +       R   ^     yy     +       (         M   ^     y     -       M   ^     x       )            (         M   ^     y     -       M   ^     x       )     T         ]          u       .             (   24   )                         
     As previously described, the desired projection vector u is computed by a generalized eigen-value routine. 
     Since the class probabilities have been exchanged with sets of points, it is impractical to define the intervals C t , C c  and C u  using equation (4). This is because the intervals will be composed of many fragments, each of which results from a particular example. Moreover, the domain of a cannot be covered by a finite set of examples. Thus, it is more natural to define for each set, two thresholds bounding its projection values. Due to the function that is being minimized, in most cases, the Target thresholds define a small interval located inside the Clutter interval (see FIG.  3 ). Therefore, for simplicity, a single interval, ┌=[T 1 , T 2 ], which is bounding the Target set, is defined. Using the defined interval ┌, points that are projected outside the interval ┌ are classified as Clutter and points that are projected inside the interval ┌ are classified as Unknown. 
     Turning back to FIG. 1, the components of the AIM system  10  operate to compute the preferred projection vectors and their corresponding pairs of threshold values, i.e., two threshold values for each computed projection vector, and then to utilize the computed vectors and the threshold values to determine whether each vector within an input signal belongs to the Target class or the Clutter class. The operation of the AIM system can be divided into an off-line (training) procedure and an on-line (actual classification) procedure. During the off-line procedure, the projection vectors and their corresponding pairs of threshold values that will be used during the on-line procedure are computed. During the on-line procedure, an input vector is projected onto each projection vector and the derived projection value is thresholded using its corresponding pair of threshold values to determine whether the input vector belongs in the Clutter class in an iterative manner. If the input vector is not labeled as belonging in the Clutter class for every projection vector, the input vector is identified as belonging in the Target class. Although the AIM system is described as utilizing only two thresholds for each computed projection vector, the AIM system may utilize more than two thresholds for each computed projection vector. 
     If more than two thresholds are utilized by the AIM system  10 , the target and non-target classes are separated, during the training procedure, into several sub-intervals in accordance with their projection values, and training proceeds for each of these sub-intervals separately. The on-line procedure using more than two thresholds simply requires that after each projection, the projected value is compared to the existing thresholds, and further treatment will depend on the sub-interval into which the projected value fell. 
     An off-line method of computing the projection vectors and their corresponding intervals in accordance with the invention is illustrated by a flow diagram, shown in FIG.  6 . The off-line method is primarily executed by the training module  14  of the AIM system  10 . Therefore, the off-line method will be described with reference to the components of the training module, which is shown in FIG.  5 . The training module includes a mean-variance pair calculator  52 , a projection vector calculator  54  and a threshold setter  56 . 
     With reference to FIG. 6, the off-line method begins at step  58 , in which a training set of vectors, including a Target sample subset {circumflex over (X)} and a Clutter sample subset Ŷ, is received by the mean-variance pair calculator  52  of the training module  14 . The vectors may be digitized representations of images, such as blocks of pixels, or of sounds. Using equation (22), {circumflex over (M)} x  and {circumflex over (R)} xx  for {circumflex over (X)} are then computed by the mean-variance pair calculator, at step  60 . Next, at step  62 , the variable k is set to one. At step  64 , {circumflex over (M)} k   y  and {circumflex over (R)} k   yy  for Ŷ k  are computed by the mean-variance pair calculator, using equation (23). The projection vector u k  is then calculated by the projection vector calculator  54 , at step  66 . The projection vector u k  is the vector that minimizes the equation (24). After the calculation of the projection vector U k , threshold values T k   1  and T k   2  that define the corresponding interval ┌ k  for the current projection vector u k  are determined by the threshold setter  56 , at step  68 . During this step, T k   1  is set to min x     i     ε{circumflex over (X)} (u T   k x i )−Δ/2, while the T k   2  is set to max x     i     ε{circumflex over (X)} (u T   k x i )+Δ/2. The term Δ/2 in the T k   1  and T k   2  includes a safety margin in the interval ┌ k . The Δ can be 5% of the actual interval for the Target set, i.e., [min x     i     ε{circumflex over (X)} (u T   k x i ), max x     i     ε{circumflex over (X)} (u T   k x i )], for the current projection vector u k , or any other reasonable value. 
     After the projection vector u k  and its corresponding threshold values T k   1  and T k   2  have been determined, the Clutter sample vectors having projection values outside the interval ┌ k  are discarded, while the Clutter sample vectors having projection values within the interval ┌ k  are kept for further processing. Therefore, at step  70 , the Clutter set Ŷ k+1  is defined as including Clutter sample values that are within the interval ┌ k . Next, at step  72 , the variable k is set to k+1. At step  74 , a determination is made whether |Ŷ k | is greater than zero, where |Ŷ k | is the number of Clutter sample vectors remaining in Ŷ k . If |Ŷ k | is greater than zero, the method proceeds back to step  64 . If |Ŷ k | is equal to zero, the off-line method comes to an end. 
     In an alternative embodiment, the values {circumflex over (M)} x , {circumflex over (R)} xx , {circumflex over (M)} y  and {circumflex over (R)} yy  are modified in accordance to a regularization scheme. The modification of these values solves two potential problems that may be encountered when attempting to solve the generalized eigen-value problem, as shown in equation (19). The first problem is purely numerical. The matrix {circumflex over (R)} yy  may become singular after several rejection stages, when few Clutters remain. The second problem involves an over-fitting problem associated with insufficient samples in the training set of Clutter samples and Target samples. An over-fitting problem results in a classifier that operates well on the example sets, but not on the actual unknown input vectors. 
     The regularization scheme involves taking two given example-sets, {circumflex over (X)}={x k } k=1   L     x    and Y={y k } k=1   L     x   , and enriching these two sets in the following manner, thereby solving the over-fitting problem, as well as the numerical stability problem. For any Target point x k , it is assumed that all the points z within its neighborhood are also Targets. More formally, defining the neighborhood by a sphere, it is assumed that for a predefined radius δ, all z satisfying ||z−x k ||≦δ are Targets as well. In this fashion, the finite set {circumflex over (X)}={x k } k=1   L     x    are replaced with a new richer set of points, which contains infinite number of Targets, {circumflex over (X)} reg  (the subscript reg stands for regularization). In a similar manner, the Clutter set is also enriched, and Ŷ reg  is obtained. The quality of this solution depends on the validity of the assumption that δ neighborhood contains a similar class points, and consequently, the predefined radius δ should be carefully chosen to ensure that δ is not too large. Adopting a different point of view for the above scheme, an assumption is made that when adding zero mean white Gaussian noise with moderate variance δ 2  to the points {circumflex over (X)}={x k } k=1   L     x   , their classification does not change. Thus, if x k  is a Target, so are all the realizations of x k +v k , where v k  is a multi-variate Gaussian noise with zero mean and δ 2 l covariance matrix. (V k ˜N(0, δ 2 l)). Similarly, such noise can be used to enrich the Clutter set as well. 
     The first and second moments for the regularized sets, {circumflex over (X)} reg  and Ŷ reg , can be computed by exploiting the statistical representation of the regularization process, where the neighborhood of each given point is regarded as additive noise with a known variance. Looking at the regularized Pattern set, it can be referred to as an finite mixture of multi-dimensional (dimension n) Gaussians. These Gaussians are the following:                Prob        {     z   |     X   reg       }       =       1   Const            ∑     k   =   1       k   =     L   x                           G     {       x   k     ,       δ   2        l       }            (   z   )                   (   25   )                         
     where:            G     {     M   ,       δ   2        l       }            (   z   )       =       1       (     2        πδ   2       )       n   /   2            exp          {     -                      z     -     M                  2           2        δ   2           }     .                       
     The constant is a normalization factor that ensures that the above probability function sums into 1. Its value is given by:              Const   =         ∫     z   ∈     ℜ   n                ∑     k   =   1       L   x                         1       (     2        πδ   2       )       n   /   2            exp        {           -                  z     -       x   k                    2           2        δ   2         }             z           =     L   x               (   26   )                         
     and similarly:                Prob        {     z   |     Y   reg       }       =       1     L   y              ∑     k   =   1       k   =     L   y                             G     {       y   k     ,       δ   2        l       }            (   z   )       .                 (   27   )                         
     The first moment (the mean) of the regularized Pattern set is given by:                        M   ^     x   reg     =     E        {     z   |     X   reg       }                   =       ∫     z   ∈     ℜ   n                z   ·   Prob          {     z   |     X   reg       }             z                     =       ∫     z   ∈     ℜ   n                z   ·     {       1     L   x              ∑     k   =   1       L   x                         1       (     2        πδ   2       )       n   /   2            exp        {           -                  z     -       x   k                    2           2        δ   2         }           }               z                     =       1     L   x              ∑     k   =   1       L   x                       x   k                     =       1     L   x              ∑     k   =   1       L   x                       x   k                     =       M   ^     x                   (   28   )                         
     where {circumflex over (M)} x  is the first moment of {circumflex over (X)}, the original set before regularization. Similarly for the regularized Non-Pattern set, {circumflex over (M)} y   reg ={circumflex over (M)} y . 
     The second moment for the regularized Pattern set is computed through:                        R   ^     xx   reg     =                E        {           [     z   -       M   ^     x   reg       ]          [     z   -       M   ^     x   reg       ]       T     |     X   reg       }                   =                  ∫     z   ∈     ℜ   n                      [     z   -       M   ^     x   reg       ]          [     z   -       M   ^     x   reg       ]       T     ·   Prob          {     z   |     X   reg       }             z                     =                  1     L   x              ∑     k   =   1       L   x                         ∫     z   ∈     ℜ   n                    [     z   -       M   ^     x   reg       ]          [     z   -       M   ^     x   reg       ]       T          1       (     2        πδ   2       )       n   /   2            exp        {           -                  z     -       x   k                    2           2        δ   2         }             z                         =                  1     L   x              ∑     k   =   1       L   x            [         δ   2        l     +       x   k          x   k   T       -         x   k          (       M   ^     x   reg     )       T     -         M   ^     x   reg          x   k   T       +           M   ^     x   reg          (       M   ^     x   reg     )       T       ]                     =                    δ   2        l     +       1     L   x              ∑     k   =   1       L   x                           [       x   k     -       M   ^     x   reg       ]          [       x   k     -       M   ^     x   reg       ]       T                       =                    δ   2        l     +       R   ^     xx                     (   29   )                         
     and therefore, {circumflex over (R)} xx   reg δ 2 l+{circumflex over (R)} xx . Similarly, the Non-Pattern second moment is give by {circumflex over (R)} yy   reg =δ 2 l+{circumflex over (R)} yy . 
     Thus, the following regularized first and second moments are derived. 
     
       
         {circumflex over (M)} y   reg ={circumflex over (M)} y  {circumflex over (R)} xx   reg δ 2 l+{circumflex over (R)} xx   
       
     
     
       
         {circumflex over (M)} y   reg ={circumflex over (M)} y . {circumflex over (R)} yy   reg =δ 2 l+{circumflex over (R)} yy   (30) 
       
     
     where {circumflex over (M)} x , {circumflex over (R)} xx , {circumflex over (M)} y , and {circumflex over (R)} yy  are the mean-covariance pairs of the original sets before modification. Note that the means do not change, but the covariance matrices become well-posed because of the addition of the identity matrix that is multiplied by δ 2 . Also note that the two sets need not be treated similarly with regularization. In cases where the Target set contains enough examples, only the Clutter set can be regularized. In such cases, the parameter δ can be determined, for example, by finding the nearest neighbor Of Y k  in the Target set, for each y k , and choosing δ to be half of the smallest distance found for all kε[1, L y ]. 
     The extracted projection vectors and their corresponding threshold values are stored in the memory  18  of the system  10 , until needed for the on-line procedure. An on-line method of classifying input vectors into one of the two classes in accordance with the invention is illustrated by a flow diagram, shown in FIG.  8 . The on-line method is primarily executed by the pattern classifier  12  of the AIM system  10 . Therefore, the on-line method will be described with reference to the components of the pattern classifier, which is shown in FIG.  7 . The pattern classifier includes a linear projection unit  76 , a thresholding module  78 , and a decision module  80 . 
     With reference to FIG. 8, the on-line method begins at step  82 , in which a set of input vectors Z 1 ={z i } n   i=1  are received by the linear projection unit  76  of the pattern classifier  12 . The integer n represents the number of input vectors included in the set. In addition, the stored projection vectors {u k } K   k=1  and their corresponding thresholds {[T k   1 , T k   2 ]} K   k=1  are transmitted to the pattern classifier from the memory  18  by the processing unit  16  of the AIM system  10 . The integer K represents the number of projection vectors that will be utilized to determine the classification of the input vectors. Again, depending on the application, each input vector can be a digitized, representation of images, such as blocks of pixels, or of sounds. At steps  84  and  86 , the variables i and k are set to one. Next, at step  88 , a projected value α is computed by the projection vector calculator  54 , using the equation α=u T   k z i . At step  90 , a determination is made whether the projected value α is outside the interval ┌ k  defined by the threshold values T k   1  and T k   2  that correspond to the projection vector u k . This determination is executed by the thresholding module  78 . If step  90  is satisfied, the method proceeds to step  92 , where the input vector z i  is labeled as Clutter. However, if step  90  is not satisfied and the projected value α is within the interval ┌ k , the method proceeds to step  94 . At step  94 , the variable k is set to k+1. 
     After the input vector z i  has been analyzed using the projection vector u k  and its associated threshold values T k   1  and T k   2 , a determination is made whether the variable k is greater than K, at step  96 . If step  96  is not satisfied, the method proceeds back to step  88 , in order to further analyze the input vector z i . If step  96  is satisfied, the method proceeds to step  98 . During this step, the input vector z i  is labeled as Target by the decision module  80 , if it has not been already labeled as Clutter at step  92 . Next, at step  100 , the variable i is set to i+1, so that the next input vector can be processed. At step  102 , a determination is made whether i is greater than n. If step  102  is not satisfied, the method proceeds back to step  86 , in order to process the next input vector. However, if step  102  is satisfied, the on-line method comes to an end. The result of the on-line method is that each input vector has been labeled as either a Target or Clutter. 
     The final determination of the input vectors may be displayed on the output device  22  of the AIM system in a desired format, depending on the parameter prescribed by an operator via the user interface device  20 . As an example, in a face detecting application, the output displayed on the output device may be an image with highlighted blocks of pixels that correspond to the input vectors that have been labeled as Targets.