Subclass partitioning in a pattern recognition classifier for controlling deployment of an occupant restraint system

Systems and methods are provided for constructing a classification architecture for a pattern recognition classifier that determines an associated occupant class of an occupant within a vehicle. A plurality of occupant classes are defined, with at least one of the occupant classes having an associated set of subclasses (202). A hierarchy of subclass partitions is determined based on a degree of similarity between subclasses associated with a given occupant class (210). Each successive partition in the hierarchy is an immediate partition of the preceding partition. The following is then performed iteratively until a termination event occurs. A subclass partition is selected according to the determined hierarchy (216/230). The fitness of a classifier model having an architecture derived from the selected subclass partition is evaluated (220). A class separation associated with the selected subclass partition is retained when the evaluated fitness is better than that of the preceding subclass partition in the hierarchy (224).

TECHNICAL FIELD

The present invention is directed generally to the use of pattern recognition classifiers as part of a vehicle occupant protection system and is particularly directed to a method and apparatus for establishing a classification architecture for a pattern recognition classifier in a vehicle occupant protection system.

BACKGROUND OF THE INVENTION

Actuatable occupant restraining systems having an inflatable air bag in vehicles are known in the art. Such systems that are controlled in response to whether the seat is occupied, an object on the seat is animate or inanimate, a rearward facing child seat present on the seat, and/or in response to the occupant's position, weight, size, etc., are referred to as smart restraining systems. One example of a smart actuatable restraining system is disclosed in U.S. Pat. No. 5,330,226.

Pattern recognition systems include systems capable of distinguishing among classes of real world stimuli according to a plurality of distinguishing characteristics, or features, associated with the classes. A number of pattern recognition systems are known in the art, including various neural network classifiers, support vector machines, and Bayesian classification models. Training and configuring classifiers is often a time consuming and difficult process. Even once a plurality of features have been found that distinguish among a plurality of classes of interest for a classifier, it is necessary to determine a hypothesis function that separates the classes in a feature space defined by the features. This determination can be complicated when one or more of the plurality of classes cannot be concisely represented within the feature space.

SUMMARY OF THE INVENTION

In accordance with an example embodiment of the present invention, a method is provided for constructing a classification architecture for a pattern recognition classifier that determines an associated occupant class of an occupant within a vehicle. A plurality of occupant classes are defined, with at least one of the occupant classes having an associated set of subclasses. A hierarchy of subclass partitions is determined based on a degree of similarity between subclasses associated with a given occupant class. Each successive partition in the hierarchy is an immediate partition of the preceding partition. The following is then performed iteratively until a termination event occurs. A subclass partition is selected according to the determined hierarchy. The fitness of a classifier model having an architecture derived from the selected subclass partition is evaluated. A class separation associated with the selected subclass partition is retained when the evaluated fitness is better than that of the preceding subclass partition in the hierarchy.

In accordance with yet another example embodiment of the present invention, a computer program product, operative in a data processing system and recorded on a computer readable medium, is provided for establishing a classification architecture, comprising a plurality of operative classes. A partition search component determines a hierarchy of subclass partitions, based on a degree of similarity between subclasses associated with the plurality of occupant classes. A system control iteratively selects a subclass partition according to the determined hierarchy, evaluates the fitness of a pattern recognition classifier having an architecture derived from the selected subclass partition, and retains a class separation associated with the selected subclass partition when the evaluated fitness is better than that associated with a preceding subclass partition in the hierarchy.

In accordance with another example embodiment of the present invention, a system is provided for establishing a classification architecture, comprising a plurality of operative classes, for a pattern recognition classifier operative to distinguish among a plurality of occupant classes as part of a vehicle occupant protection system. A partition search component determines a hierarchy of subclass partitions, based on a degree of similarity between subclasses associated with a given occupant class. A system control iteratively selects a subclass partition according to the determined hierarchy, evaluates the fitness of a pattern recognition classifier having an architecture derived from the selected subclass partition, and retains a class separation associated with the selected subclass partition when the evaluated fitness is better than that associated with a preceding subclass partition in the hierarchy.

DESCRIPTION OF PREFERRED EMBODIMENT

Referring toFIG. 1, an example embodiment of an actuatable occupant restraint system20, in accordance with the present invention, includes an air bag assembly22mounted in an opening of a dashboard or instrument panel24of a vehicle26. The air bag assembly22includes an air bag28folded and stored within the interior of an air bag housing30. A cover32covers the stored air bag and is adapted to open easily upon inflation of the air bag28.

The air bag assembly22further includes a gas control portion34that is operatively coupled to the air bag28. The gas control portion34may include a plurality of gas sources (not shown) and vent valves (not shown) for, when individually controlled, controlling the air bag inflation, e.g., timing, gas flow, bag profile as a function of time, gas pressure, etc. Once inflated, the air bag28may help protect an occupant40, such as a vehicle passenger, sitting on a vehicle seat42. Although the example embodiment ofFIG. 1is described with regard to a vehicle passenger seat, the present invention is applicable to a vehicle driver seat and back seats and their associated actuatable restraining systems. The present invention is also applicable to the control of side actuatable restraining devices and to actuatable devices deployable in response to rollover events.

An air bag controller50is operatively connected to the air bag assembly22to control the gas control portion34and, in turn, inflation of the air bag28. The air bag controller50can take any of several forms such as a microcomputer, discrete circuitry, an application-specific-integrated-circuit (“ASIC”), etc. The controller50is further connected to a vehicle crash sensor52, such as one or more vehicle crash accelerometers. The controller monitors the output signal(s) from the crash sensor52and, in accordance with an air bag control algorithm using a deployment control algorithm, determines if a deployment event is occurring, i.e., one for which it may be desirable to deploy the air bag28. There are several known deployment control algorithms responsive to deployment event signal(s) that may be used as part of the present invention. Once the controller50determines that a deployment event is occurring using a selected crash analysis algorithm, for example, and if certain other occupant characteristic conditions are satisfied, the controller50controls inflation of the air bag28using the gas control portion34, e.g., timing, gas flow rate, gas pressure, bag profile as a function of time, etc.

The air bag control algorithm associated with the controller50can be made sensitive to determined characteristics of the vehicle occupant40. For example, if the determined characteristics indicate that the occupant40is an object, such as a shopping bag, and not a human being, actuating the air bag during a crash event serves no purpose. Accordingly, the air bag controller50can include a pattern recognition classifier assembly54operative to distinguish between a plurality of occupant classes based on the determined characteristics, and a selected occupant class can then, in turn, be used to control the air bag. It will be appreciated that the classifier54can be implemented as an independent module that communicates with air bag controller50or, alternatively, be integrated into the air bag controller50.

Accordingly, the air bag restraining system20, in accordance with the present invention, further includes an array of weight sensors82that indicates the distribution of weight on the vehicle seat42or/and a stereo-vision assembly60. The weight sensors can be distributed across the surface of the seat as to provide a two-dimensional representation of the pressure applied on the seat by the presence of the occupant. The output of each sensor in the array82can be provided to the air bag controller50and used as inputs to the pattern recognition classifier54.

The stereo-vision assembly60can include stereo-cameras62preferably mounted to the headliner64of the vehicle26. The stereo-vision assembly60includes a first camera70and a second camera72, both connected to a camera controller80. In accordance with one exemplary embodiment of the present invention, the cameras70,72are spaced apart by approximately 35 millimeters (“mm”), although other spacing can be used. The cameras70,72are positioned in parallel with the front-to-rear axis of the vehicle, although other orientations are possible.

The camera controller80can take any of several forms such as a microcomputer, discrete circuitry, ASIC, etc. The camera controller80is connected to the air bag controller50and provides a signal to the air bag controller50to provide data relating to various image characteristics of the occupant seating area, which can range from an empty seat, an object on the seat, a human occupant, etc. Herein, image data of the seating area is generally referred to as occupant data, which includes all animate and inanimate objects that might occupy the occupant seating area. It will be appreciated that the classifier54can utilize other inputs besides the array of weight sensors82and the camera controller80.

FIG. 2is a schematic illustration of the cameras70and72of the stereovision assembly60. The cameras70and72may be of any several known types. For example, the cameras may be charge-coupled devices (“CCD”) or complementary metal-oxide semiconductor (“CMOS”) devices. Preferably, the cameras70and72take two-dimensional, grayscale images of the passenger compartment of the vehicle26. In one example embodiment of the present invention, the cameras70and72are wide spectrum response cameras that cover the visible and near-infrared spectrums.

The cameras70and72are spaced apart from one another so as to enable the cameras to be used for determining a distance, also called a “range,” from the cameras to an object. The object is shown schematically inFIG. 2and is indicated by reference numeral94. The distance between the cameras70and72and the object94may be determined by using triangulation. The cameras70and72have different views of the passenger compartment due to the position of the object94relative to each camera70and72being different. As a result, the object94is located at a different position in the image obtained by camera70than in the image obtained by camera72. The difference in the positions of the object94in the images is referred to as “disparity.” To get a proper disparity between the images for performing triangulation, it is desirable for the cameras70and72to be positioned so that the object94to be monitored is within the horopter of the cameras.

Camera70includes a lens100and a pixel array110. Likewise, camera72includes a lens102and a pixel array112. Since the cameras70and72are located at different positions relative to the object94, an image of the object94formed on the pixel array110of camera70differs from an image of the object94formed on the pixel array112of camera.72. The distance between the viewpoints of the cameras70and72, i.e., the distance between the lenses100and102, is designated “b” inFIG. 2. The focal length of the lenses100and102of the cameras70and72is designated as “f” inFIG. 2. The lenses100and102of the cameras70and72ofFIG. 2have the same focal lengths. The horizontal distance from the image center on the pixel array110and the image of the object94on the pixel array110of camera70is designated “dl” inFIG. 2. The horizontal distance from the image center on the pixel array112and the image of the object94on the pixel array112for the camera72is designated “dr” inFIG. 2. Preferably, the cameras70and72are mounted so that they are in the same image plane. The difference between dl and dr is referred to as the “image disparity” and is directly related to the distance, designated “r” inFIG. 2, to the object94where the distance r is measured normal to the image plane of cameras70and72from a location v on the image plane. It will be appreciated that
r=bf/d, whered=dl−dr.(Equation 1)

From equation 1, the distance r to the object94as a function of disparity of the images from cameras70and72can be determined. It should be appreciated that the distance r is an inverse function of disparity.

FIG. 3illustrates a methodology150for establishing an architecture for a pattern recognition classifier within a vehicle occupant protection system. While, for purposes of simplicity of explanation, the methodology150has steps shown and described as executing serially, it is to be understood and appreciated that the present invention is not limited by the illustrated order, as some steps could occur in different orders and/or concurrently with other steps from that shown and described herein.

The methodology150begins at step152, where a plurality of occupant classes and subclasses are defined. The occupant classes represent broad classes of interest to the classification problem. Each occupant class can comprise one or more subclasses. The subclasses can represent specific instances of the occupant classes. In establishing the classifier architecture, the subclasses are partitioned into a plurality of operative classes that are discriminated among by the classifier. Each operative class is associated with one of the plurality of occupant classes and is comprised of one or more subclasses of its associated occupant class.

At step154, a hierarchy of subclass partitions is established. Beginning with a minimum partition, where the operative classes are equivalent to the occupant classes, a series of immediate partitions are developed by separating one operative class in each successive partition until a maximum partition is reached, where each operative class comprises a single subclass. The class separation added at each partition in the series can be determined to maximize the distance in a feature space associated with the classifier between the two operative classes created by the class separation. Accordingly, while the hierarchy represents a small subset of the possible subclass partitions, the class separations are selected such that the probability of finding an optimal or near optimal partition of the subclasses is very high.

At step156, a subclass partition is selected according to the hierarchy. For example, in a first iteration, the minimum partition would be selected, in a second iteration, the partition immediate to the medium partition would be selected, and so on until a maximum partition is reached. At step158, the classifier is configured according to the selected subclass partition and the performance of the classifier is evaluated. For example, the classifier can be trained to distinguish among the operative classes defined by the selected partition and tested on a verification set. The classifier can be evaluated according to its performance on the verification set (e.g., accuracy, rejection rate, etc.).

At step160, it is determined if the classifier performance has improved between two iterations. If so (Y), the methodology advances to step162where the class separation associated with the selected partition is accepted. The methodology then returns to step156to select another subclass partition. If the classifier performance has not improved, the class separation associated with the selected partition is not accepted, and the methodology returns to step156to select a new partition for evaluation. In one implementation, the class associated with the class separation is accepted as an operative class, such that no partitions requiring further separation of the class are considered. The methodology150terminates when all of the subclass partitions have been eliminated or evaluated.

FIG. 4illustrates an example methodology200for establishing an architecture for a pattern recognition classifier for a vehicle occupant protection system in accordance with an example embodiment of the present invention. While, for purposes of simplicity of explanation, the methodology200has steps shown and described as executing serially, it is to be understood and appreciated that the present invention is not limited by the illustrated order, as some steps could occur in different orders and/or concurrently with other steps from that shown and described herein.

The methodology200begins at step202where one or more subclasses are defined for each of a plurality of occupant classes, representing the classes of interest for a particular problem. For example, the occupant classes can include a few broad classes such as an adult class, a small occupant class, and an empty seat class. The subclasses can represent specific instances of the occupant classes. For example, the adult class can be broken down into subclasses associated with the adult's size, such as a first subclass representing an adult at ninety-fifth percentile in height and weight, a second subclass representing an adult at a median (e.g., fiftieth percentile) height and weight, and a third subclass representing an adult at a fifth percentile in height and weight. Similarly, the small occupant class can include subclass representing children in various poses (e.g., standing, kneeling, sitting, leaning forward, lying down, etc.), empty and occupied booster seats, empty and occupied convertible child seats, empty and occupied frontward facing child seats, and empty and occupied rearward facing infant seats. It will be appreciated that other occupant classes and subclasses can be used in accordance with the present invention.

The present invention relates to the partitioning of the plurality of subclasses associated with the occupant classes to produce a plurality of operative classes to be distinguished by a pattern recognition classifier. Each operative class is associated with one of the plurality of occupant classes and comprises at least one subclass of its associated occupant class. A maximum and minimum partition can be defined for a given set of subclasses. In a minimum partition of the subclasses, the operative classes are each equivalent to the occupant classes, such that a given operative class comprises all of the subclasses associated with its occupant class. In a maximum partition, each operative class comprises a single subclass. A number of partitions can be defined between the maximum and minimum partitions.

At step204, the classifier is trained using an architecture based on the maximum partition. In this architecture, the classifier distinguishes between the plurality of subclasses as operative classes. At step206, a validation set is classified at the classifier for each occupant class. The results of this analysis are recorded as a confusion matrix. It will be appreciated that the confusion matrix reflects the similarity of the classes in a feature space defined by a plurality of features utilized by the classifier. At step208, a similarity matrix, reflecting the pair wise similarity among the plurality of subclasses is derived from the confusion matrix for each occupant class. Distance measures can be derived from the values comprising the confusion matrix and utilized to generate the similarity matrix.

At step210, a subclass partition hierarchy is generated for each occupant class according to the similarity matrix for the class. For example, the search tree can be generated in accordance with a hierarchical agglomerative clustering algorithm. The hierarchical agglomerative clustering algorithm is a bottom-up clustering algorithm in which each subclass is initially represented by a single cluster. In each successive iteration of the algorithm, the closest pair of clusters, according to the similarity criteria, is combined until every subclass is in the same cluster. The order in which the classes are combined can be used to construct a hierarchy of partitions that progresses from a minimum partition of the subclasses (e.g., all subclasses in a single cluster) to a maximum partition (e.g., all subclasses in separate clusters) through a series of class separations, such that each class separation added to a partition produces a new, immediate partition.

At step212, the partition hierarchies constructed for the plurality of occupant classes are combined into a single search tree, representing a hierarchy of subclass partitions for the plurality of occupant classes. For example, this can be accomplished utilizing the distance values associated with the similarity matrices for each class. Like the individual hierarchies for each occupant class, the search tree progresses from a minimum partition of the subclasses (e.g., all subclasses associated with a given occupant class in a cluster associated with the class) to a maximum partition (e.g., all subclasses in separate clusters) through a series of class separations, such that each class separation added to a partition produces a new, immediate partition. Each partition comprises a plurality of operative classes for a classifier, with each operative class being associated with a given occupant class and comprising a plurality of subclasses associated with the occupant class.

At step214, a pattern recognition classifier is trained and configured to distinguish between the plurality of operative classes defined by the minimum partition. The classifier is then used to classify a verification set having known class membership, and the performance of the classifier is recorded. For example, the performance of the classifier can be recorded as a fitness metric determined as a function of the accuracy and rejection rate of the classifier. It will be appreciated, however, that the computation of the fitness matrix can be more complex, to penalize certain classifier errors more severely based upon the effects of the classification on the behavior of the vehicle occupant protection system.

At step216, a next partition is selected from the search tree according to the established hierarchy of subclass partitions. It will be appreciated that consecutive partitions in the search tree are immediate partitions such that a successive partition will comprise the previous partition with one operative class from the previous partition being separated into two operative classes in the new partition. The selection of a new partition can be characterized as the selection of a new class separation that distinguishes the two partitions. At step218, the performance of the classifier is evaluated. For example, the classifier can be used to classify a verification set having known class membership, and the performance of the classifier can be recorded. In one example implementation, the performance of the classifier can be recorded as a fitness metric determined as a function of the accuracy and rejection rate of the classifier.

At step222, it is determined if the performance of the classifier has improved. For example, the fitness parameter associated with the previous partition can be compared to the fitness parameter associated with the new partition. If the classifier performance has improved (Y), the methodology advances to step224where the class separation associated with the new partition is accepted. The methodology then advances to step226. If the classifier performance has not improved (N), the class separation associated with the new partition is rejected at step228. In addition, all partitions having class separations subordinate to the class separation associated with the new partition can be rejected, such that the class affected by the class separation will not be separated in later partitions. A first class separation is subordinate to a second class separation within the search tree when the first class separation would further divide an operative class created by the second class separation. The methodology then advances to step226.

At step226, it is determined if additional partitions remain for analysis. If so (Y), a new partition is selected at step230, and the methodology returns to step218to evaluate the selected partition. If all partitions have been eliminated or evaluated (N), the occupant classes are defined according to retained class separations at step232. The methodology then terminates.

FIG. 5illustrates a representation of a search tree250, representing a hierarchy of subclass partitions, A1-A3, B1-B9, and C1-C2, of three occupant classes, A, B, and C for a pattern recognition classifier. The search tree begins at a first, minimum, partition252, in which the operative classes are equivalent to the occupant classes. It will be appreciated that the performance of the classifier can be evaluated at each of the plurality of partitions in accordance with the present invention.

In a second partition254, a first class separation255, is added to divide the existing class comprising B1-B9, into two smaller operative classes. The class separation255is determined according to the similarity of the subclass groupings, such that the two new operative classes created by the class separation are separated by a large distance in a feature space associated with the classifier relative to other operative class pairs available through alternative class separations. It will be appreciated that the second partition254is immediate to the first partition252as they differ by only a single class separation. In the illustrated example, the performance of the classifier is determined to have improved with the addition of the first class separation255, so the class separation is retained.

In a third partition256, a second class separation257has been added to split the operative class comprising B4, B5, B8, and B9into two smaller operative classes. The second class separation257is selected such that the two new operative classes created by the class separation are separated by the largest possible distance given the existing class separation255. In the illustration, the performance of the classifier is determined to have improved with the addition of the second class separation257, so the class separation is retained. In a fourth partition258, a third class separation259has been added to split the operative class comprising C1and C2into two operative classes, each comprising a single subclass. In the illustration, the performance of the classifier is determined to have improved with the addition of the third class separation259, so the class separation is retained. Since the subclasses C1and C2cannot be further divided, they can be considered final operative classes for the classifier.

In a fifth partition260, a fourth class separation261has been added to split the operative class comprising B1-B3, B6, and B7into two smaller operative classes. In the illustration, the performance of the classifier is determined to have failed to improve with the addition of the fourth class separation261, so the fourth class separation261is rejected. To illustrate this, the fourth class separation261is shown in dashed lines. This can also be considered as an acceptance of the operative class comprising B1-B3, B6, and B7as a final operative class for the system. To increase the efficiency of the search, all subordinate class separations to the fourth class separation261, that is, class separations associated with the operative classes that would have been generated by the fourth class separation261, can be rejected along with any partitions in the search tree associated with the subordinate class separations. Accordingly, the eighth, ninth, and tenth partitions266,268, and270in the series can be removed from consideration, and their associated class separations can be rejected.

In a sixth partition262, a fifth class separation263has been added to split the operative class comprising A1-A3into two smaller operative classes, one comprising Al and A2, and the other comprising A3. In the illustration, the performance of the classifier is determined to have improved with the addition of the fifth class separation263, so the fifth class separation263is retained. A3can thus be considered a final operative class for the system, as it cannot be further divided. In a seventh partition264, a sixth class separation265has been added to split the operative class comprising B4and B5into two operative classes, each comprising a single subclass. In the illustration, the performance of the classifier is determined to have failed to improve with the addition of the sixth class separation265, so the sixth class separation265is rejected. Accordingly, the operative class comprising B4and B5can be considered a final operative class for the classifier.

Since the eighth, ninth, and tenth partitions266,268, and270have been eliminated from consideration, the search advances to an eleventh partition272, where a tenth class separation273has been added to split the operative class comprising B8and B9into two operative classes, each comprising a single subclass. In the illustration, the performance of the classifier is determined to have failed to improve with the addition of the tenth class separation273, so the tenth class separation273is rejected. Accordingly, the operative class comprising B8and B9can be considered a final operative class for the classifier.

In a twelfth partition274, an eleventh class separation275has been added to split the operative class comprising A1and A2into two operative classes, each comprising a single subclass. In the illustration, the performance of the classifier is determined to have failed to improve with the addition of the eighth class separation275, so the eighth class separation275is rejected. Accordingly, a final partition for the system contains seven operative classes, a first class comprising A1and A2, a second class comprising B1-B3, B6and B7, a third class comprising B4and B5, a fourth class comprising B8and B9, and three individual subclasses, A3, C1, and C2.

FIG. 6illustrates an example system280for determining an architecture for a pattern recognition classifier282associated with a vehicle occupant protection system. The system280selects an architecture comprising a plurality of output classes, referred to as operative classes, with each operative class being associated with one of a plurality of occupant classes for a vehicle occupant protection system. Each occupant class can be broken down into one or more subclasses, with the one or more operative classes representing the occupant class being a partition of the subclasses associated with the occupant class. The pattern recognition classifier282can comprise a suitable classification system for assigning an input pattern to one of a plurality of output classes according to one or more features of the input pattern. For example, the pattern recognition classifier282can comprise one or more of a support vector machine, a neural network classifier, or a Bayesian statistical classifier.

In accordance with the present invention, a hierarchical search tree can be established at a partition search component284. In accordance with the present invention, the search tree represents a limited subset of the total number of the partitions available for the plurality of subclasses, but the partitions within the search tree are selected as to be near optimal. This can be accomplished, for example, by determining the similarity of the subclasses within a given occupant class, and determining logical partitions of the subclasses with the occupant class according to the determined similarity. For example, the subclasses can be partitioned such that the search tree begins by separating subclasses and groups of subclasses having the least similarity into different operative classes. By making the most likely class separations early in the search tree, it is possible to search a limited number of the possible partitions of the subclasses with a high probability of discovering an optimal or near optimal partition.

A system control286can select a partition from the search tree and configure the classifier282to distinguish between a plurality of operative classes defined by the selected partition. A set of training samples288can be retrieved from a system memory290and used to train the classifier282in the selected configuration. For example, the training samples288can include a plurality of images from a camera associated with the vehicle occupant protection system and/or a plurality of readings from an array of weight sensors associated with a vehicle seat.

The training of a given classifier will vary with the type of classifier and the selected architecture. For example, a pattern recognition classifier implemented as a support vector machine can process data extracted from the training samples to produce functions representing boundaries in a feature space defined by various features of interest. The bounded region for each class defines a range of feature values associated with each of the plurality of classes. The location of a feature vector representing an input sample with respect to these boundaries can be used to determine the class membership of the input sample and the associated confidence value.

Alternatively, a pattern recognition classifier implemented as an artificial neural network comprises a plurality of nodes having a plurality of interconnections. Each of the plurality of interconnections has an associated weight that can be applied to numerical data passed from node to node along the interconnection. Feature vectors associated with the training samples are provided to the system along with their associated class to adjust the weights associated with the interconnections to appropriate values for distinguishing among the plurality of output classes.

A plurality of verification samples292can be retrieved from memory290and classified at the classifier282. Like the training samples288, the verification samples292can include images from a camera mounted in the vehicle, sensor readings from a vehicle seat, or any other sensor data useful for classifying a vehicle occupant. The performance of the classifier can be quantified as one or more fitness parameters and stored in memory290as a part of a set of classifier statistics294. The system control286can select the partitions such that each successive partition is an immediate partition of the previous partition. Accordingly, each successive partition defines a new occupant class relative to the previous partition via a new class separation. The system control can determine if the performance of the classifier282improves between successive partitions.

When the classifier performance improves, the new class separation can be retained, and further partitions containing the partition can be considered. Where the performance of the classifier282does not improve between partitions, the class separation can be discarded, and all partitions having class separations subordinate to that class separation can be eliminated from consideration. This can be continued until all of the partitions represented by the search tree have been evaluated or eliminated. Accordingly, the partitions represented by the search tree can be quickly searched to determine an optimal architecture for the classifier282.

FIG. 7illustrates a data processing system300that can be incorporated into a vehicle to implement systems and methods described herein, such as based on computer executable instructions running on the data processing system. The data processing system300can be implemented as one or more general purpose networked computer systems, embedded computer systems, routers, switches, server devices, client devices, various intermediate devices/nodes and/or stand alone computer systems. Additionally, the data processing system300can be implemented as part of the computer-aided engineering (CAE) tool running computer executable instructions to perform a method as described herein.

The data processing system300includes a processor302and a system memory304. A system bus306couples various system components, including a coupling of the system memory304to the processor302. Dual microprocessors and other multi-processor architectures can also be utilized as the processor302. The system bus306can be implemented as any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory304includes read only memory (ROM)308and random access memory (RAM)310. A basic input/output system (BIOS)312can reside in the ROM308, generally containing the basic routines that help to transfer information between elements within the computer system300, such as a reset or power-up.

The computer system300can include long term storage314, for example, a magnetic hard disk, an optical drive, magnetic cassettes, or one or more flash memory cards. The long term storage314can contain computer executable instructions for implementing systems and methods described herein. A number of program modules may also be stored in the long term storage as well as in the RAM310, including an operating system330, one or more application programs332, other program modules334, and program data336.

The data processing system300can be connected to a vehicle bus340via an interface or adapter342to communicate with one or more vehicle systems. Additionally, the data processing system300can be connected to a remote computer344via a logical connection346for configuration or for diagnostic purposes through an external control interface348. The remote computer344may be a workstation, a computer system, a router, a peer device or other common network node, and typically includes many or all of the elements described relative to the computer system300. Diagnostic programs352and configuration data354may be stored in memory356of the remote computer344.