Abstract:
A system or method (collectively “selection system”) is disclosed for selecting attributes for a classifier in a sensor system. The selection system selects attribute types using statistical distributions of the attribute values associated with those attribute types. Attribute types not within the selectively identified subset of attribute types can be filtered out before such data is sent to a classifier. The system can use a test data subsystem for storing and accessing actual sensor data. A distribution analysis subsystem can perform statistical analyses on the test data to identify underlying distributions, and to compare individual attribute types to such distributions. An attribute selection subsystem, wherein said attribute selection subsystem selectively identifies a subset of attribute types from said subset of attribute types.

Description:
RELATED APPLICATIONS 
   This application is a continuation-in-part of application Ser. No. 09/870,151, filed on May 30, 2001, now U.S. Pat. No. 6,459,974; and is a continuation-in-part of application Ser. No. 09/901,805, filed on Jul. 10, 2001, now U.S. Pat. No. 6,925,193; and is a continuation-in-part of application Ser. No. 10/006,564, filed on Nov. 5, 2001, now U.S. Pat. No. 6,577,936; and is a continuation-in-part of application Ser. No. 10/023,787, filed on Dec. 17, 2001, now U.S. Pat. No. 7,116,800; and is a continuation-in-part of application Ser. No. 10/052,152, filed on Jan. 17, 2002, now U.S. Pat. No. 6,662,093; and is a continuation-in-part of application Ser. No. 10/269,237, filed on Oct. 11, 2002; and is a continuation-in-part of application Ser. No. 10/269,308, filed on Oct. 11, 2002, now U.S. Pat No. 6,853,898; and a continuation-in-part of application Ser. No. 10/269,357, filed on Oct. 11, 2002, the contents of each of which are hereby by incorporated by reference in their entirety. 

   BACKGROUND OF THE INVENTION 
   The present invention relates in general to a system or method (collectively “selection system”) for selecting robust attributes for use in a classifier from a pool of attributes that could potentially be processed by the classifier. In particular, the present invention relates to a selection system that selects attributes on the basis of statistical distributions. 
   Classifiers are devices that generate classifications out of sensor data collected by one or more sensors. Classification determinations are based on attribute values that associated with attribute types within the sensor data. For example, in a digital picture of a table, the height of the table is an attribute type. Accordingly the numerical value associated with attribute type is the attribute value. In the context of a “height” attribute type, the attribute value could be the number of pixels from top to bottom, or a measurement such as inches, feet, yards, or meters. Attribute values and attribute types are the means by which classifiers generate classifications, and each type of sensor is capable of capturing a potentially voluminous number of attribute types. 
   Classifications can be generated in a wide variety of different formats, and for a wide variety of different purposes. For example, a classifier in an airbag deployment mechanism could be used to identify the location of the upper torso of the occupant so that the airbag deployment mechanism can track the location of the occupant, an ability useful in making airbag deployment decisions. Another example of a classifier could be in conjunction with an automated forklift sensor, with the sensor system distinguishing between different potential obstacles, such as other forklifts, pedestrians, cargo, and other forms of objects. 
   In many of the voluminous number of diverse embodiments and contexts of classifiers, classifiers suffer from what can be referred to as the “curse of dimensionality.” As different attributes are incorporated into the determination process of a classier, the accuracy of the classifier typically degrades rather than improves. This is in sharp contrast to the way human beings typically function, because humans tend to make better decisions when more information is available. It would be desirable for a selection system to identify a subset of robust attribute types from a pool of potential attribute types. This can preferably be done through the use of actual test data. 
   It would be desirable for non-robust features to be filtered out so that the accuracy of the classifier is enhanced, and not minimized. By utilizing fewer attribute types, performance can be increased while reducing cost at the same time. Prior art processes for selecting attributes rely either on attribute-to-attribute correlation measures, or by measures such as entropy. It would be desirable if statistical distributions in the processing of the features were used to eliminate redundant attribute types, and select the desired attribute types. Instead of merely calculating the covariance of data point pairs, it would be desirable to evaluate whether different attribute values are from the same underlying distribution. 
   Such a method of feature selection would be particularly advantageous with respect to classifiers in airbag deployment mechanisms. Frequent movement within the seat area coupled with the high variability of human clothing and appearance requires a better attribute selection process. 
   SUMMARY OF THE INVENTION 
   The invention is a system or method (collectively “selection system”) for selecting robust attributes for use in a classifier from a pool of attributes that could potentially be processed by the classifier. The selection system identifies a subset of attribute types on the basis of the statistical distributions of the attribute values associated with those attribute types. 
   The system can selectively identify a subset of attribute types from the potential pool of attribute types by calculating a distribution statistic for the various potential attribute types. Attribute types not within the selectively identified subset of attribute types can be filtered out before such data is sent to a classifier. 
   The system can use a test data subsystem for storing and accessing actual sensor data in which to test the filter. Such test data is needed to identify underlying statistical distributions. A distribution analysis subsystem can perform statistical analyses on the test data to identify underlying distributions, and to compare individual attribute types to such distributions. An attribute selection subsystem, wherein said attribute selection subsystem selectively identifies a subset of attribute types from said subset of attribute types. 
   Various aspects of this invention will become apparent to those skilled in the art from the following detailed description of the preferred embodiment, when read in light of the accompanying drawings. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a process flow diagram illustrating an example of a process beginning with the capture of sensor data and ending with the classifier deriving a calculation from the captured sensor data. 
       FIG. 2  shows a hierarchy diagram illustrating an example of a hierarchy beginning with the aggregate “attribute space” of sensor-captured “target information” and ending with the individual attribute values that are associated with attribute types. 
       FIG. 3  is a block diagram illustrating an example of a subsystem-level view of an attribute selection system. 
       FIG. 4  is a flow chart illustrating an example of the some of the process steps that can be performed in a distribution-based selection heuristic. 
       FIG. 5  is a partial environmental view of an automobile with an airbag deployment mechanism using a filter with selectively identified attribute types. 
       FIG. 6  is a block diagram of an airbag deployment process flow utilizing a filter that filters out all attribute types except those attribute types on an embedded list of pre-selected attributed types. 
       FIG. 7  is a process flow diagram illustrating an example of an airbag deployment mechanism using classifications to track the shape characteristics and motion characteristics of an occupant. 
   

   DETAILED DESCRIPTION 
   The invention is a system or method (collectively “selection system”) for selecting robust attributes for use in a classifier from a pool of attributes that could potentially be processed by the classifier. The selection system identifies a subset of attribute types on the basis of the statistical distributions of the attribute values associated with those attribute types. 
   I. Introduction of Elements and Definitions 
     FIG. 1  is a process flow diagram illustrating some of the elements that are incorporated into a sensor processing system (or simply “sensor system”)  20 . 
   A. Target 
   A target  22  can be any individual or combination of persons, animals, plants, objects, spatial areas, or other aspects of interest (collectively “target”  22 ) that is or are the subject or target of a sensor  24  used by the system  20 . The purpose of the sensor processing system  20  is to accurately capture useful information relating to the target  22 . The variety of different targets  22  can be as broad as the variety of different sensor processing systems  20 . 
   In one embodiment of the sensor system  20  (an “airbag deployment mechanism” embodiment or simply an “airbag” embodiment), the output of the sensor system  20  is used by an airbag deployment mechanism. In an airbag embodiment, the target  22  is typically an occupant in a seat in the vehicle. By accurately capturing critical attributes of the occupant, the airbag deployment mechanism can make the appropriate deployment decision. Unnecessary deployments and inappropriate failures to deploy can be avoided by the access of the airbag deployment mechanism to accurate occupant classifications. 
   In other embodiments of the sensor system  20 , the target  22  may be a human being (various security embodiments), persons and objects outside of a vehicle (various external vehicle sensor embodiments), air or water in a particular area (various environmental detection embodiments), or some other type of target  22 . 
   B. Sensor 
   A sensor  24  can be any type of device used to capture information relating to the target  22  or the area surrounding the target  22 . The variety of different types of sensors  24  can vary as widely as the different types of physical phenomenon and human sensation. 
   Some sensors  24  are optical sensors, sensors  24  that capture optical images of light at various wavelengths, such as infrared light, ultraviolet light, x-rays, gamma rays, light visible to the human eye (“visible light”), and other optical images. In many embodiments, the sensor  24  may be a video camera. In a preferred airbag embodiment, the sensor  24  is a video camera. 
   Other types of sensors  24  focus on different types of information, such as sound (“noise sensors”), smell (“smell sensors”), touch (“touch sensors”), or taste (“taste sensors”). Sensors can also target the attributes of a wide variety of different physical phenomenon such as weight (“weight sensors”), voltage (“voltage sensors”), current (“current sensor”), and other physical phenomenon (collectively “phenomenon sensors”). 
   C. Target Information 
   A collection of target information  26  can be any information in any format that relates to the target  22  and is captured by the sensor  24 . With respect to embodiments utilizing optical sensors  24 , target information  26  is a target image. Such an image is typically composed of various pixels. With respect to non-optical sensors  24 , target information  26  is some other form of representation, a representation that can typically be converted into a visual or mathematical format. For example, physical sensors  24  relating to earthquake detection or volcanic activity prediction can create output in a visual format although such sensors  24  are not optical sensors  24 . 
   In many airbag embodiments, target information  26  will be in the form of a visible light image of the occupant in pixels. However, the forms of target information  26  can vary more widely than even the types of sensors  24 , because a single type of sensor  24  can be used to capture target information  26  in more than one form. The type of target information  26  that is desired for a particular embodiment of the sensor system  20  will determine the type of sensor  24  used in the sensor system  20 . 
   D. Filter 
   A filter  28  is potentially any means by which a vector of attributes  30  is extracted from the target information  26 . In a preferred embodiment, the filter  28  is exclusively in the form of programmable logic. Such logic can be in the form of hardware, software, or some combination of hardware and software. In other embodiments, the sensor information  26  can be subject to a physical filter  28  to limit the type and quantity of information that is passed along to a classifier  32 . 
   The filter  28  is the mechanism by which only pre-selected types and quantities of information are passed along to the classifier  32 . Other attribute types are blocked by the filter. The filter  28  applies a filtration heuristic to eliminate non-robust or non-desirable attributes from the target information  26 . The sensor system  20  can incorporate a wide variety of different filtration heuristics. Regardless of the potential heuristic that is applied, only a subset of target information  26  is passed along to the classifier  32 . In many embodiments of the system  20 , the subset of target information  26  is stored in a vector of attributes  30  that can be passed along to one or more classifiers  36 . 
   Various attribute selection heuristics can be used to select the target information  26  that is to be contained in the vector of attributes  30 . Particular attributes can be tested so that each attribute that is passed along to the classifier  30  is a robust, useful, and desirable for inclusion into the filter  28 . The attribute selection process is described in greater detail below. 
   E. Vector of Attributes 
   A vector of attributes  30  can be any data structure or information format that is capable of transmitting a subset of target information  26  from the filter  28  to the classifier  32 . Attributes can be any feature or characteristic of the target information  26 . Only attributes relating to the subset of target information  26  are included in the vector of attributes  30 . The number of different attributes in the vector of attributes  30  can vary widely from embodiment to embodiment. Consistent with the attribute selection heuristic discussed below, only useful and desirable attributes should be selected for use in the vector of attributes  30 . 
   Each attribute in the vector of attributes  30  can include two components: an attribute type and an attribute value. “Width” is an example of an attribute type. “15 (pixels)” is an example of an attribute value. Each location on the vector of attributes  30  represents a particular pre-defined attribute type. Each numerical value in that location is the attribute value. 
   F. Classifier 
   A classifier  32  is any device that receives the vector of attributes  30  as an input, and generates one or more classifications  34  as an output. The logic of the classifier  32  can embedded in the form of software, hardware, or in some combination of hardware and software. In many embodiments, both the filter  28  and the classifier  32  are in the same device. 
   In some embodiments of the sensor system  20 , different classifiers  32  will be used to specialize in different aspects of the target  22 . For example, in an airbag embodiment, one classifier  32  may focus on the head of the occupant, while a second classifier  32  may focus on whether the occupant&#39;s movement is consistent with the use of a seatbelt. 
   G. Classification 
   A classification  34  is any determination made by the classifier  32 . Classifications  34  can be in the form of numerical values or in the form of a categorization of the target  22 . For example, in an airbag embodiment, the classification  34  can be a categorization of the occupant that does not require any quantitative measure. The occupant could be classified as an adult, a child, a rear facing infant seat, etc. Other classifications  34  in an airbag embodiment may involve quantitative attributes, such as the top-most location of the head, or the location of the upper torso closest to the airbag deployment mechanism. 
   H. Attribute Space 
     FIG. 2  is a diagram illustrating the hierarchy from the highest level of an attribute space  40  to an attribute value  46  associated with an attribute type  44  associated with a class  42  within that space. 
   Attribute space  40  is simply a graphical representation of all of the potential attribute types  44  that can be obtained from the format of target information  26  captured from the sensor  24 . The attribute space  40  will vary widely from embodiment to embodiment of the sensor system  20 , depending on differences relating to the target  22  or targets  22 , the sensor  24  or sensors  24 , and the target information  26 . 
   I. Classes 
   In between the broad expanse of attribute space  40  and the particularity of attribute types  44 , is the level of classes  42 . Classes  42  are defined in accordance with the goals of the sensor system  20 . For example, in an airbag deployment embodiment of the sensor system  20 , the airbag deployment mechanism may want to distinguish between different classes  42  of occupants, such as adults, small adults, children, rear facing infant seats (FFIS), front facing infant seats (FFIS), booster seats, empty seats, miscellaneous objects, and indeterminate occupants. Classes  42  are associated with various attribute types  44  and ranges of attribute values  46 . In a preferred embodiment, the grouping of attribute types  44  into classes  42  is preferably based on a shared underlying statistical distribution derived from the attribute values  46  associated with the attribute  44 . The underlying statistical distribution are discussed in greater detail below. Classes  42  can also be based on a commonality of virtually any other shared characteristic. For example, one class  42  of attributes types  44  could relate to distance measurements, such as height, width, depth, or distance. Classes  42  may relate to two-dimensional measurements such as area. Still other another class  42  may relate to three-dimensional measurements such as volume. The sensor system  20  can incorporate many different types of classes  42 . In embodiments using visual representations of sensor measurements, a class  42  of attribute types  44  could relate to color, brightness, luminosity, or some other category. The potential number of different classes  42  can be as unlimited as the number of attribute type  44  categories that can be used to describe phenomenon in the physical world. 
   As disclosed in  FIG. 2 , each attribute type  44  need not belong to a class  42 . Moreover, in some embodiments, a class  42  may consist of only one attribute type  44 . As is disclosed in  FIG. 2 , classes can overlap with each other, and a single attribute type  44  can belong to more than one class  42 . Classes  32  are defined by the designers of the sensor system  20 . 
   J. Attribute Types and Attribute Values 
   Each entry in the vector of attributes  30  relates to a particular aspect or characteristic of the target information  26 . The attribute type  44  is simply the type of feature or characteristic. Accordingly, attribute values  46  are simply quantitative value for the particular attribute  44  in a particular set of target information. For example, the height (an attribute type  44 ) of a particular object in the target information  36  could be  200  pixels tall (an attribute value  46 ). The different attribute types  44  and attribute values  46  will vary widely in the various embodiments of the system  20 . 
   Some attribute types  44  can relate to a distance measurements between two or more points in an image representation of the target information  26 . Such attribute types  44  can include height, width, or other distance measurements (collectively “distance attributes”). In an airbag embodiment, distance attributes could include the height of the occupant or the width of the occupant. 
   Some attribute types  44  can relate to a relative horizontal position, a relative vertical position, or some other position-based attribute (collectively “position attributes”) in the image representation of the target information  26 . In an airbag embodiment, position attributes can include such characteristics at the upper-most location of the occupant, the lower-most location the occupant, the right-most location of the occupant, the left-most location of the occupant, the upper-right most location of the occupant, etc. 
   Attributes types  44  need not be limited to direct measurements in the target information  26 . Attribute types  44  can be created by various combinations and/or mathematical operations. For example, the x and y coordinate for each “on” pixel (each pixel which indicates some type of object) could be multiplied together, and the average product for all “on” pixels would constitute a attribute. The average product for the value of the x coordinate squared and the value of the y coordinate squared is also a potential attribute type  44 . 
   One advantage of a sensor system  20  with pre-selected attribute types  44  is that it specifically anticipates that the designers of the sensor system  20  will create new and useful attribute types  44 . Thus, the ability to derive new features from already known features is beneficial with respect to the practice of the invention. In some embodiments, new features can be derived from existing features. 
   II. Subsystem View 
     FIG. 3  illustrates an example of a subsystem-level view of an attribute selection system (“selection system”)  50 . 
   A. Test Data Subsystem 
   A test data subsystem  52  can be used to capture, store, and access samples of test data. In a preferred embodiment of the selection system  50 , the evaluation of attribute types  44  for particular uses is made with the benefit of test data. For example, in an airbag embodiment, actual images of human beings sitting in a vehicle seat should be used to evaluate the attribute types  44 , and selectively identify the subset of robust attribute types  44  with respect to occupant classification and tracking. It is the libraries of test data that contain the target information  26  with the various attribute types  44  and attribute values  46 . Thus, the test data subsystem  52  includes the potential attribute types  44  from which a subset of robust attribute types  44  are to be selected. 
   In some embodiments of the test data subsystem  52 , the test data subsystem  52  includes a normalization module for converting attribute values  46  into normalized scaled values. In other embodiments of the test data subsystem  42 , a redundancy heuristic can be invoked to remove redundant sets of test data. In further embodiments, the redundancy heuristic is a k-nearest neighbor heuristic, described in greater detail below. 
   B. Distribution Analysis Subsystem 
   A distribution analysis subsystem  54  is responsible for determining whether two attribute types are from a common class  42 . The distribution analysis subsystem  54  generates various distribution statistics from the various attribute values  46  for the various attribute types  44  associated with those attribute values  46 . In many embodiments of the selection system  50 , the distribution analysis subsystem  54  will create normalized values from the attribute values  46 , and use the normalized values in generating the distribution statistics. The normalization process is described in greater detail below. One example of a set of normalized values are a set of scaled values with a minimum value of 0 and a maximum value of 1. 
   In some embodiments, the distribution statistics are created by invoking a Mann-Whitney heuristic. However, such embodiments can involve more than two classes  42  if desired. 
   C. Attribute Selection Subsystem 
   An attribute selection subsystem  56  is responsible for selectively identifying a subset of attribute types  44  from the pool of attribute types  44  in the test data. There are many different selection heuristics that can be applied by the attribute selection subsystem  56 . 
   In one category of embodiments (“threshold embodiments”), the various distribution statistics from the distribution analysis subsystem can be compared to a distribution threshold value. Distribution statistics falling below the predetermined distribution threshold value are removed from consideration. 
   In another category of embodiments (“top N selection embodiments”), the users of the selection system  50  define a predetermined number of passing attribute types  44 . In some embodiments, the attribute selection subsystem  54  can apply expert systems, neural networks, artificial intelligence, and other intelligence technologies (collectively “intelligence”) to calculate a desirable number of attribute types  44 . The various distribution statistics can be ranked, with only the top N (where N can be any user defined number) are selected. In some “top N selection embodiments” rankings are done by class  42 . In such embodiments, the top N attribute types  44  for each class  42  are selected. 
   In another category of embodiments (“combined statistic embodiments”), combined class statistics are generated with the distribution statistics, with different classes being given different “weights.” Attribute types  44  can then be ranked by ranking the combined class statistics affiliated with the attribute types  44 . 
   After the appropriate subset of desirable attribute types  44  are identified, the attribute selection subsystem  54  can embed the appropriate list of attribute types  44  in a filter  28 . 
   III. Attribute Selection Heuristic 
     FIG. 4  is a flow chart illustrating one example of an attribute selection heuristic. Different embodiments may involve fewer steps, more steps, or different steps. 
   A. Receive set of Potential Attributes 
   At  60 , the selection system  50  receives a set of potential attribute types  44  into the test data subsystem  52 . For the purposes of conducting tests and evaluation, no attribute type  44  need be excluded from the vector of attributes  30 . The ability of the selection system  50  to detect statistical distributions is enhanced by large quantities of test target information  26 . 
   B. Normalize Attribute Values 
   Attribute values  46  are normalized at  62 . 
   The incoming attribute values  46  within the vector of attributes  30  can be converted into scaled values. The process of converting attribute values  46  into scaled values can be referred to as a normalization heuristic. 
   In a preferred embodiment, the range of normalized values is predetermined before the selection and testing of attributes types  44  begins. A wide variety of different ranges can be used. In a preferred embodiment, the same range of normalized values should be used for all attribute types  44  in a testing sample. The selection system  50  is highly flexible, and can incorporate a wide variety of different predetermined ranges. 
   In a “min-max” normalization heuristic, attribute values  46  are converted to scaled values (a specific type of normalized value) as low as 0 and as high as 1. This is done after the minimum attribute value  46  is subtracted from all attribute types  44  in the sample. Then all attribute values  44  can be divided by the largest attribute value  46 . 
   In a “mean zero” normalization heuristic, the mean value of the normalized values is set to 0, with a variance of 1. Many other types of normalization heuristics can be used by the selection system  50 . 
   The purpose of normalizing the attribute values  46  into normalized values is to reduce the effects of attribute values  44  of varying dynamic range on the classifier  32 . If attribute values  46  are not normalized in some fashion, a single attribute value  46  with a very large dynamic range can dwarf and overwhelm other attributes types  44  and attribute values  46 . 
   The importance of normalizing attribute values  46  can be particularly important in embodiments of the selection system  50  where the target  22  is a human being in motion. In such embodiments, many of the best attribute types  44  can be evaluated in the form of geometric moments or other forms of mathematical moments of the image. Geometric moments can be important, in the areas of pattern recognition, object identification, three-dimensional object pose estimation, robot sensing, image coding and reconstruction. However, such moments can grow monotonically with the order of the moment, and therefore can artificially give increasing importance to the higher order moments. Equation 1 is a mathematical example of a geometric moment, where M pq  is the geometric moment. 
   
     
       
         
           
             
               
                 
                   M 
                   pq 
                 
                 = 
                 
                   
                     ∑ 
                     
                       y 
                       = 
                       1 
                     
                     m 
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     
                       ∑ 
                       
                         x 
                         = 
                         1 
                       
                       n 
                     
                     ⁢ 
                     
                       
                         x 
                         p 
                       
                       ⁢ 
                       
                         y 
                         q 
                       
                       ⁢ 
                       
                         I 
                         ⁡ 
                         
                           ( 
                           
                             x 
                             , 
                             y 
                           
                           ) 
                         
                       
                     
                   
                 
               
             
             
               
                 Equation 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 1 
               
             
           
         
       
     
   
   In a preferred embodiment, target information  26  is either captured in or converted into a two-dimensional format. For example, a video camera captures target information  26  in the form of various pixels with various luminosity values. Equation 1 can be applied in such an embodiment. In Equation 1 by way of example, I(x,y)is the intensity value at pixel (x,y), and p, q=0, 1, 2, . . . N. If I(x,y)=1 for all x, y and if the above equation is correctly scaled then M oo  gives the area (in pixels) of the 2D image pattern of interest and (M 10 , M 01 ) gives the coordinates of the center of gravity of the pattern. Thus, the concept of a “geometric moment” can be used to identify the center of gravity of a human being or other target  22 . Unfortunately, the basis function (x p , y q ), while being complete, includes redundancies (e.g. is not orthogonal). Thus, the desirability of using a filter  28 . 
   Scaled values are stored by the selection system  50 , for future reference as discussed below. In a preferred embodiment, it is the scaled values and not the attribute values  46  that are used in subsequent selection system  50  processes. Thus, in the discussion below, mention of correlated attribute types  44  or other mathematical operations based on attribute type  44  is actually performed using the scale value for a particular attribute type  44 . 
   In alternative embodiments, some type of weighted combination of the scale value and attribute value  46  can be used. Moreover, the selection system  50  need not invoke a normalization heuristic for subsequent selection system  50  processing. 
   C. Remove Select Correlated Attributes 
   Correlated attribute types  44  can be selectively removed at  64 . In a preferred embodiment, correlations are calculated for the scaled value associated with the attribute value  46  that is associated with the attribute type  44 . Thus, in the discussion below, evaluation of attribute types  44  is an evaluation of scaled values that are associated with the attribute types  44 . 
   Many attribute types  44  in the target image  26  may have a relatively high cross correlation. If two attributes types  32  are highly correlated, it means there is a relatively high amount of similarity or redundancy in the information. 
   This can trick the classifier  32  into a false sense of confidence (e.g. a high confidence factor without any real additional information) than would otherwise be calculated with respect to a particular classification  34 . 
   To remove correlated attribute types  44 , a correlation coefficient must first be calculated between every pair of attribute types  44  for all of attribute types  44  in the sample. The system  20  can incorporate a wide variety of different correlation heuristics. In a preferred embodiment, the correlation heuristic is the mathematical operation disclosed in Equation 2.
 
Correlation Coefficient ( A,B )=Cov( A,B )/sqrt[Var( A )*Var( B ))]  Equation 2
 
   Cov(A,B) is the covariance of attribute type A with attribute type B. Var(A) is the variance of the attribute type A over all of the attribute types  44  in the sample of potential attribute types  44 . 
   The correlation coefficient can be compared to a correlation threshold. If the correlation coefficient for a particular attribute type  44  exceeds the correlation threshold, that particular attribute type  44  can be removed from the sample. In some embodiments, the correlation threshold is a predetermined threshold. In other embodiments, the correlation threshold is determined after the correlation coefficients have been calculated, based on a predefined number of attribute types  44  “passing” the test. For example, a correlation threshold could be set using statistical data from the various correlation coefficients so that only the top N % of attribute types  44  remain in the sample of attribute types  44 . Attribute types  44  not in the top N % can be removed, without the need to be subjected to subsequent testing. In still other embodiments, the correlation threshold is determined after the computation of the various correlation coefficients, and that calculation is not based on any predetermined numerical values. 
   D. Perform Distribution Analysis 
   A distribution analysis heuristic can be performed at  66 . The distribution analysis heuristic can use solely statistical means to determine whether particular attribute types  44  are of the same statistical distribution as the other attribute types  44 . 
   In a preferred embodiment, the distribution analysis heuristic is performed on two attribute types  44  at a time (e.g. “pair-based distribution analysis heuristic”). In a preferred embodiment of a pair-based distribution analysis heuristic, the Mann-Whitney test (e.g. Mann-Whitney heuristic”) is implemented for each attribute type  44 . Other types of mathematical and computational processes can be used as distribution analysis heuristics. 
   The purpose of the distribution analysis heuristic is to infer if the various attribute types  44  come from the same distribution or from different distributions. In a pair-based distribution analysis where each attribute type  44  is evaluated as part of a pair with the other attribute types  44 , any two attribute types  44  in each pair are either of the same distribution, or of two distinct distributions. 
   Each attribute type  44  can be processed sequentially. For each attribute type  44 , all of the scaled values in the test data that correspond to class i (e.g. distribution i) and class j (e.g. distribution j) are extracted and placed in a vector. The scaled values can then be sorted, and the ranks of each scaled value is then recorded. The sums of the ranks for each class can then be computed. A null hypothesis set of statistics (“null statistics”) can be computed (“null statistic heuristic”) according to Equation 3 and Equation 4.
 
null_hyp_mean=num_class*(num_class+num_else+1)/2   Equation 3
 
null_hyp_sigma= sqrt{num _class*num_else*(num_class+num_else+1)}/12   Equation 4
 
   The variable “null_hyp_mean” represents the mean of the null hypothesis set. The variable “num_class” refers to the normalized values belonging to a particular class, while “num_else” is the number of scaled values or normalized values belonging to a different class  42 . 
   An evaluation statistic can then be generated by using a statistic heuristic, such as the calculation in Equation 5.
 
statistic=(rank_sum_class —   null   —   hyp _mean−0.5/null_hyp_sigma   Equation 5
 
   In the above equation, “ran_sum_class” refers to the sum of the ranks, a variable calculated for each class. After the calculation of the statistic, there are several different processes which can be performed to complete the distribution analysis heuristic. 
   1. Thresholding Heuristic 
   One alternative sub-process to complete the distribution analysis heuristic is a thresholding heuristic. In the thresholding heuristic, the statistic is compared to a statistic threshold value. Such a threshold value can be predefined before the thresholding heuristic is performed, or it can be computed after the statistic is generated for all attribute types using any number of different criteria. If the various classes equally separable or roughly equally separable, the statistic threshold can be chosen directly from a confidence in the decision. For example, a confidence of 0.001 means that the threshold is 3.291 according to statistics literature known in the art. 
   Attribute types  44  with a statistic that exceeds the statistic threshold are kept, while those attribute types  44  with a statistic below the statistic threshold are removed. Use of the thresholding heuristic can lead to any number of attribute types  44 . 
   2. Top N Heuristic 
   Unlike the thresholding heuristic which can lead to an unpredictable number of attribute types  44  remaining, the top N heuristic find the top N most separable attribute types  44  for each class  42 . Any number between  1  and the number of remaining attribute types  44  can be used for N. Attribute types  44  not in the top N are removed. This is a particularly good method if one class  42  is far less separable than other classes  42 , as is the case with respect to recognizing the differences between small adults and large children in a vision based occupant application. As discussed above, the number and types of classes  42  that can be used in the sensor system  20  should depend on the goals and desired functionality of the sensor system  20 . In an airbag embodiment desiring to impede the deployment of an airbag, the number and types of classes  42  should be adequate for allowing the airbag to deploy when it is desirable to do so, and to preclude the deployment of the airbag when deployment is not desirable. The top N heuristic for calculating the final number of attribute types  44  can incorporate the mathematics of Equation 6.
 
Final number of attribute types=N*number of classes   Equation 6
 
   3. Combination Statistic 
   One sub-process that can be used to complete the distribution analysis heuristic is a combination heuristic that involves the calculation of a combination statistic. One example of an combination heuristic is Equation 7.
 
comb_statistic=sum of absolute value of the statistic for all class pair combinations   Equation 7
 
   The statistic described in Equation 5 can be calculated for all class pair combinations in the attribute type  44  sample. The sum of the absolute values of those statistics can be added together to calculate the combination statistic (comb_statistic) of Equation 7. The combination heuristic provides a combined separability metric. Such an approach may include a weighted sum if it is desirable for the sum to depend on the importance of each class, or some other factor. This method also provides a fixed number of attribute types  44 . Alternative combination heuristics outside the scope of Equation 7 can be incorporated into the selection system  50 . 
   E. Delete Redundant Samples 
   When collecting training samples there is often considerable redundancy in the sample space, or in other words, multiple samples provide very similar or even identical information. This can be particularly true where training samples are collected in collected in a single location such as a classroom of students or any other group of people. When samples of individuals data are taken for entire groups of people, it is more likely that size, clothing style, and other characteristics will be similar. To delete redundant samples at  68 , a delete redundant samples heuristic can be invoked by the selection system  20 . In a preferred embodiment, the delete redundant samples heuristic is a k-nearest neighbor heuristic. 
   A k-nearest neighbor heuristic classification on every training sample can be performed against the other training samples. The order for k to be used should be at least two times the value for the end system&#39;s k-value if the classifier  32  is to a use a k-nearest neighbor heuristic in the classifier&#39;s  36  processing. The k-nearest neighbor heuristic can be an effective methodology with regards to human targets  22  because variability in what people wear is extremely high, and it can be nearly impossible to sensibly parameterize for all possibilities. The k-nearest neighbor heuristic tests the classification of every sample against all remaining attribute types  44  that have not been previously deleted. If the classification  34  is correct and the confidence is 100% (i.e. every k nearest neighbor was of the correct class) then the sample is considered redundant and discarded. 
   F. Format Output 
   At  70 , selected attribute types are entered into a data format that can be either be embedded into a sensor system  20 , or transported to a different testing component for potential application to different testing samples. The selection system  50  is highly flexible, and can incorporate a wide variety of different formats and protocols. The precise locations in the vector of attributes  30  need to be linked to the particular attribute types  44 . 
   G. Invoke Additional Training for Attribute Set 
   If the users of the selection system  50  desire to subject the subset of selectively identified attribute types to additional tests, those test can be invoked at  72 . 
   H. Embed Attribute Set into Classifier 
   At  74 , the selected attribute types  44  are embedded into the classifier  32 , and the filter  28  corresponding to the classifier  32  is configured to remove all attribute values  46  that are not affiliated with the selectively identified subset of attribute types  44 . The process ends after the sensor system  20  is embedded with the results of the selection system  50 . 
   IV. Airbag Embodiments 
   A. Partial Environmental View 
     FIG. 5  is a partial view of the surrounding environment for potentially many different airbag embodiments of the sensor system  20 , an airbag sensor system (“airbag system”)  80 . If an occupant  96  is present, the occupant  96  can sit on a seat  98 . In some embodiments, a video camera or any other sensor capable of rapidly capturing images (collectively “camera”  86 ) can be attached in a roof liner  82 , above the occupant  96  and closer to a front windshield  88  than the occupant  96 . The camera  86  can be placed in a slightly downward angle towards the occupant  96  in order to capture changes in the angle of the occupant&#39;s  96  upper torso resulting from forward or backward movement in the seat  98 . There are many potential locations for a camera  22  that are well known in the art. Moreover, a wide range of different cameras  86  can be used by the airbag system  80 , including a standard video camera that typically captures approximately  40  images per second. Higher and lower speed cameras  86  can be used by the airbag system  80 . 
   In some embodiments, the camera  86  can incorporate or include an infrared or other light sources operating on direct current to provide constant illumination in dark settings. The airbag system  80  can be designed for use in dark conditions such as night time, fog, heavy rain, significant clouds, solar eclipses, and any other environment darker than typical daylight conditions. The airbag system  80  can be used in brighter light conditions as well. Use of infrared lighting can hide the use of the light source from the occupant  96 . Alternative embodiments may utilize one or more of the following: light sources separate from the camera; light sources emitting light other than infrared light; and light emitted only in a periodic manner utilizing alternating current. The airbag system  80  can incorporate a wide range of other lighting and camera  86  configurations. Moreover, different heuristics and threshold values can be applied by the airbag system  80  depending on the lighting conditions. The airbag system  80  can thus apply “intelligence” relating to the current environment of the occupant  96 . 
   A computer, computer network, or any other computational device or configuration capable of implementing a heuristic or running a computer program (collectively “computer system”  84 ) houses the logic of the airbag system  80 . The computer system  84  can be any type of computer or device capable of performing the programming logic described below. The computer system  84  can be located virtually anywhere in or on a vehicle. Preferably, the computer system  84  is located near the camera  86  to avoid sending camera images through long wires. An airbag controller  90  is shown in an instrument panel  94 . However, the airbag system  80  could still function even if the airbag controller  90  were located in a different environment. Similarly, an airbag deployment mechanism  92  is preferably located in the instrument panel  94  in front of the occupant  96  and the seat  98 , although alternative locations can be used by the airbag system  80 . In some embodiments, the airbag controller  90  is the same device as the computer system  84 . The airbag system  80  can be flexibly implemented to incorporate future changes in the design of vehicles and airbag deployment mechanism  36 . 
   Before the airbag deployment mechanism is made available to consumers, the computer system  84  is loaded with preferably predetermined classes  42  desired by the designers of the airbag deployment mechanism. The computer system  84  is loaded with a list of preferably predetermined attribute types  44  useful in distinguishing the preferably predetermined classes  42 . The attribute types  44  are preferably selected using the process disclosed in  FIG. 4 . Actual human and other test “occupants” or at the very least, actual images of human and other test “occupants” could be broken down into various lists of attribute types  44  that would make up the pool of potential attribute types  44 . Such attribute types  44  could be selected from a pool of features or attribute types  44  include features such as height, brightness, mass (calculated from volume), distance to the airbag deployment mechanism, the location of the upper torso, the location of the head, and other potentially relevant attribute types  44 . Those attribute types  44  could be tested with respect to the particular predefined classes  42 , selectively removing highly correlated attribute types  44  and attribute types  44  with highly redundant statistical distributions. Other steps in  FIG. 4  and alternative processes and heuristics can be used so that only desirable and useful attribute types  44  are loaded into the computer system  84 . 
   B. High-Level Process Flow for Airbag Deployment 
     FIG. 6  discloses a high-level process flow diagram illustrating one example of the sensor system  20  being used in an airbag system  80 . An ambient image  89  of a seat area  100  that includes both the occupant  96  and surrounding seat area  100  can be captured by the camera  86 . In the figure, the seat area  100  includes the entire occupant  96 , although under many different circumstances and embodiments, only a portion of the occupant&#39;s  96  image will be captured, particularly if the camera  86  is positioned in a location where the lower extremities may not be viewable. 
   The ambient image  89  can be sent to the filter  28 . The filter  28  receives the ambient image  89  as an input, and sends the vector of attributes  30 , a vector populated with the attribute types  44  in accordance with the selection heuristic described above. The vector of attributes  30  can then be analyzed to determine the appropriate airbag deployment decision. This process is also described below. For example, the vector of attributes  30  can be used to determine if the occupant  96  will be too close to the deploying airbag  92  at the time of deployment. The attribute types  44  and attribute values  46  in the vector of attributes  30  can be sent to the airbag controller  32 , allowing the airbag deployment mechanism  92  to make the appropriate deployment decision with the information obtained relating to the occupant  96 . 
   C. Detailed Process Flow 
     FIG. 7  discloses a more detailed example of the process from the point of capturing the ambient image  89  through sending the appropriate occupant data to the airbag controller  90 . This process continuously repeats itself so long as the occupant  96  is in the vehicle. In a preferred embodiment, past data is incorporated into the analysis of current data, and thus a process flow arrow leads from the airbag controller  90  at the bottom of the figure back to the top of the figure. 
   After an ambient image  89  (which is a specific category of sensor information  26 ) is captured by the camera  86 , it can then be subjected to the filtration heuristic performed by the filter  28 . The processes of attribute selection and filtration are described in greater detail above. 
   The filter  28  allows a shape tracker and predictor  102  to ignore many of the attribute types  44  captured by the camera  86 . Key attribute types  44  for deployment purposes typically relate to position and motion characteristics of the occupant  96 . 
   A tracking and predicting subsystem  102  can be used to track occupant  96  characteristics such as position, velocity, acceleration, and other characteristics. In some embodiments, the tracking subsystem  102  can also be used to “extrapolate forward” occupant characteristics, generating predictions of what those characteristics would be in the interim of time between sensor measurements. In a preferred embodiment, the tracking and predicting subsystem  102  uses one or more Kalman filters to integrate past sensor measurements with the most recent sensor measurement in a probability-weighted manner. 
   The tracking subsystem  102  can incorporate a wide variety of different subsystems that focus on different subsets of occupant characteristics. For example, the tracking subsystem  102  can include a shape tracker and predictor module  106  for tracking and predicting “shape” characteristics and a motion tracker and predictor module  104  for tracking and predicting “motion” characteristics. 
   The information by the tracking subsystem  102  can then be sent to the airbag controller  90  to effectuate the appropriate behavior by the airbag deployment mechanism  92 . In some circumstances, deployment is impeded due to the presence or future presence of the occupant in an at-risk-zone. In some embodiments, airbag deployments can be configured to occur at various strengths, corresponding to the amount of kinetic energy the airbag needs to absorb from the occupant  96 . The tracking subsystem  102  can also be used to determine whether or not a collision has occurred, and whether such a collision merits the deployment of an airbag. 
   V. ALTERNATIVE EMBODIMENTS 
   In accordance with the provisions of the patent statutes, the principles and modes of operation of this invention have been explained and illustrated in preferred embodiments. However, it must be understood that this invention may be practiced otherwise than is specifically explained and illustrated without departing from its spirit or scope.