in fig1 , an occupancy detection system 100 is shown as one embodiment of the present invention . system 100 includes a seat having an upper seat cushion or “ seat bun ” 104 that has an upper seating surface 105 and a lower surface 103 . the seat also has a seat back cushion 107 . an array of weight sensors 108 is contained within seat bun 104 . a flexible circuit layer 112 is used to provide electrical interconnection between the individual sensors 108 and an associated processor 114 . flexible circuit layer 112 and sensors 108 are physically mounted on a substrate 113 . substrate 113 is more rigid than flexible circuit layer 112 and provides resistive support for the sensors when compressed by loads applied to upper seating surface 105 . substrate 113 and flexible circuit layer 112 are attached to lower surface 103 of seat bun 104 . the entire seat unit is fixedly attached to a seat pan and support structure 115 that is connected to the associated vehicle by a seat adjustment or mounting mechanism represented at 117 . each weight sensor 108 of the array contains a sensor / emitter pair that is made up of a magnetic field sensor , such as a hall - effect sensor , and a magnetic field emitter , such as a permanent magnet . an embodiment of a weight sensor 108 is more particularly described below in the discussion of fig2 . in fig1 , a human occupant 102 is represented as being seated on surface 105 of seat bun 104 . this causes compression loading on the seat and a corresponding output from each weight sensor 108 . each weight sensor 108 transmits the data in the form of an output signal at a dc voltage level indicative of the amount of loading , via flexible circuit layer 112 , to a system processor 114 . an ambient temperature sensor 110 may be provided and is shown as connected to system processor 114 . temperature sensor 110 is used to ascertain the ambient temperature in which system 100 is operating for the purpose of temperature compensating the data provided by sensors 108 in non - standard or extreme ambient temperatures . once the system processor 114 has analyzed the temperature - compensated sensor data and produced the desired outputs , an output signal 116 is sent or made available to one or more external sub - systems . for instance , for an output signal 116 having a “ 1 ” value , an airbag deployment control system can use the information to enable deployment of an associated airbag in the event of a collision . conversely , if output 116 is “ 0 ” value , an airbag deployment control system can use the information to suppress deployment of or disable an associated airbag in the event of a collision . other variations of the output 116 , i . e . output of “ 0 . 5 ”, could be used to provide 50 % or some other fractional deployment power applied to an associated airbag . fig1 illustrates the current fmvss - 208 mandate . future airbag deployment systems may utilize partial or graduated airbag deployment for some of the classifications or modes that are now mandated for no deployment , based upon the value of output signal 116 . in fig2 , a cross - sectional view is provided of one embodiment of a single weight sensor 108 , as shown in fig1 . in this view , a cavity 109 is formed in seat bun 104 and extends upwards from lower surface 103 in a manner that provides for a significant thickness of the seat bun above the cavity . cavity 109 is generally cylindrical in shape and has a longitudinal axis “ p ” aligned transverse or substantially perpendicular to upper surface 105 of seat bun 104 . cavity 109 is configured and sized to allow for accommodating the mounting of weight sensor 108 into seat bun 104 . weight sensor 108 is shown as a unitary assembly of elements , which includes a first part comprising a plunger element 118 , a second part comprising a base support element 120 , and a third part comprising a spring element 111 . plunger element 118 includes a magnet 126 and base support element 120 surrounds and includes a magnetic field sensor 122 . in this embodiment , sensor 122 is a ratio - metric or linear hall - effect sensor . that is , as the magnet 126 moves towards the sensor 122 , it causes a stronger magnetic field flux to be sensed by the sensor 122 and the output voltage is reduced in value . together , the first and second parts 118 and 120 form part of a compressible housing for the weight sensor 108 . flexible circuit layer 112 provides electrical connection to sensor element 122 and is sandwiched between lower surface 103 and a substrate 113 . base support element 120 is formed about a lower central bore 125 and an upper central bore 135 . lower central bore 125 is generally cylindrical in shape , centrally aligned about axis p , and surrounds sensor 122 . lower central bore 125 has a first predetermined diameter and upper central bore 135 has a second predetermined diameter . the second predetermined diameter is less than the first predetermined diameter . plunger element 118 contains an upper head portion 134 and a probe portion 127 . plunger element 118 is mounted on base support element 120 so that its probe portion 127 is movable along a linear travel path within both the upper and lower central bores 135 and 125 , parallel to axis p . plunger element 118 contains an embedded permanent magnet 126 in probe portion 127 . an aperture 124 is formed ahead of magnet 126 in probe portion 127 to minimize resistance to the flux field emitted by magnet 126 . probe portion 127 contains a flanged extension 133 at its extreme lower end , adjacent aperture 124 . flanged extension 133 serves to slide along and to be guided by lower central bore 125 during the linear or axial path movement of probe portion 127 therein . flanged extension 133 also serves to limit the upward movement of probe portion 127 by catching the transition wall formed between upper central bore 135 and lower central bore 125 . upper head portion 134 of plunger element 118 contains a lower surface 123 that is oriented towards base support element 120 . base support element 120 contains a shoulder surface 121 that is oriented in opposition to lower surface 123 . spring element 111 is mounted between shoulder surface 121 and lower surface 123 . spring element 111 may be a bellows , a coil spring or any other element that has the desired characteristics . the desired characteristics of spring element 111 are : a predictable spring constant over a long lifetime to allow a predetermined amount of relative movement between magnet 126 and sensor 122 for a known load ; and a spring constant that is of sufficient force to restore plunger element 118 to its full height with respect to base support element 120 , when no load is applied . one may also attach the upper head surface 134 to top of cavity 109 through an in - molding process , or otherwise attach the plunger element 118 to the cushion material , and thereby utilize the spring - back characteristics of the cushion material used for seat bun 104 to provide a restoration of plunger element 118 to its no load condition / position . however , by including a spring element 111 to supplement the spring - back characteristics of the seat cushion material , a more robust , reliable and accurate embodiment is attained . this is because current choices of seat cushion materials have inconsistent properties between batches , between manufacturers and over time and therefore may be unreliable to restore the plunger 118 to its proper no - load position . certainly , if seat materials are developed that have consistent spring - back properties over the expected life of the system and vehicle , then it is possible that the separate spring element 111 could be eliminated form the sensor 108 . base support element 120 also contains a catch ring 130 formed on its outer periphery . latch elements 129 extend upwards from substrate 113 through cutouts 220 in flexible circuit layer 112 . latch elements 129 are arranged to retain catch ring 130 and thereby lock in place base support element 120 and the attached components of weight sensor 108 . in use , plunger element 118 is forced from its no - load or “ zero ” position along the travel path parallel to axis p , towards sensor 122 when a weight is placed on upper surface 105 of seat bun 104 . plunger element 118 and also magnet 126 , may move over a predetermined distance “ e ” that is selected such that the optimum and substantially linear performance of the sensor 122 is achieved over the range of movement between the elements along the defined linear travel path . the predetermined distance e is physically limited in the upper direction by flanged extension 133 catching the transition wall formed between upper central bore 135 and lower central bore 125 ; and in the lower direction by lower surface 123 contacting stop element 131 . it should be noted that the limited predetermined distance e is slightly shorter than the distance “ f ” which indicates the maximum distance between the magnet 126 and the sensor element 122 . this is purposely designed into the weight sensor 108 , in order to prevent magnet 126 from physically contacting sensor 122 during maximum loading conditions . it is believed that , without his protection , repeated contact could eventually cause breakage of sensor 122 , magnet 126 , flexible circuit layer 112 , and / or plunger element 118 . in fig2 , sensor 122 is shown mounted on flexible circuit layer 112 , preferably composed of silver or other conductive material traces printed onto or embedded in a sheet of insulated film , such as polyamide . flexible circuit layer 112 may be attached to lower surface 103 with a double - sided adhesive sheet or adhesive layer 136 . substrate 113 may be attached to flexible circuit layer 112 with a double - sided adhesive sheet or adhesive layer 138 . substrate 113 provides a stable reference position for the sensor 108 and serves to seal the lower surface of the system from the elements , and also protecting the circuit from being cut or punctured by sharp objects that may be present under the seat . although adhesives are used in this description , is it recognized and anticipated that others may chose to use other mechanisms to attach the elements to the seat cushion and have results similar to ours . in fig3 , a first array of weight sensors 108 ′ is shown mounted on a rigid substrate 113 ′ for assembly to a seat . array patterns are selected according to the demands of individual seat or vehicle builders / customers and may take on a variety of specified sensing patterns . in fig4 , a second array of weight sensors 108 ″ is shown mounted on a rigid substrate 113 ″ prior to assembly in a seat . the flexible circuit layer 112 ″ for the array shown in fig4 is further detailed in fig5 . in fig5 , the flexible circuit layer 112 ″ is detailed in a plan view to show base substrate 202 , power conductor 203 , ground conductor 204 , and sensor output conductor 206 . base substrate 202 may be a formed from a conventional material such as a polyester or polyamide laminated to a dielectric layer . the conductors may be formed in a conventional manner , such as by etching or printing of electrically conducting metals such as silver , gold or copper . alternatively , wires may be embedded in the laminated layer . the conductors are routed to each of the sensor locations , as exemplified at location 208 , and to a tail 207 where they are connected to a power supply and processor in a conventional manner . in fig6 , a detailed view is provided of sensor location 208 , as shown in fig5 . in this view , power conductor 203 , ground conductor 204 , and sensor output conductor 206 are shown leading to power pad 213 , ground pad 214 and output pad 216 , respectively . power terminal 122 p , ground terminal 122 g and output signal terminal 122 s extending from the sensor 122 are shown as connected to the respectively corresponding pads 213 , 214 and 216 in a conventional manner , such as by soldering , ultrasonic bonding or adhesive bonding . cutout apertures 220 are formed on either side of the sensor 122 in base substrate 202 and are configured to accommodate the latch elements 129 that extend from rigid substrate 113 , as shown in fig2 . in fig7 , plot “ a ” shows the output voltage vdc characteristics provided by a sensor 122 vs . the size of the air gap between sensor 122 and magnet 126 over the distance f . this portion of the sensor &# 39 ; s output characteristics is selected for monitoring the weight applied to a seat cushion , because it is the closest to a linear output that the hall - effect sensors produce . point “ c ”, at 0 . 5 inches in this example , shows the maximum separation between magnet 126 and sensor 122 at the preferred no - load condition . point “ d ” at 0 . 125 inches , in this example , shows the minimum separation between magnet 126 and sensor 122 under an assumed fully loaded condition . plot “ b ” illustrates the linear approximation that is used by the processor to adjust the actual voltage readings from each sensor 122 at each point along the axial travel path that readings are taken . in fig8 , the flowchart illustrates the initial power - up process 300 that is used to set the “ zero ” reference point for the signal readings from each weight sensor , after the weight sensors are installed in a seat cushion and preferably before the seat is installed in a vehicle . this is done with no load present on the seat cushion , in order to calculate / establish the corresponding “ zero ” reading by each weight sensor 108 . when initial power activates the system after installation of the weight sensor array within the seat and during the seat assembly procedure , the processor 114 detects this as the “ first power - up ” at step 310 . the processor responsively initiates the data gathering protocol at sub - process 500 , which is described below in association with the more detailed flow chart shown in fig1 . sub - process 500 samples and gathers the output reading from each weight sensor 108 in the array . following the data gathering sub - process 500 , sub - process 600 is used to pre - filter the gathered sensor data , which is described below in association with the more detailed flow chart shown in fig1 . the pre - filter sub - process 600 serves to provide adjustments to the gathered sensor data , if ambient conditions such as temperature indicate that it is necessary . following the pre - filter sub - process 600 , the resultant sensor data from each sensor 122 is stored at step 320 as its “ zero ” point , from which future readings of the respective sensors are compared in order to determine the degree of loading that is being sensed . following the storage of the sensor zero readings at step 320 , initial power - up process 300 is recorded as being completed at step 330 . in fig9 , a flow chart shows the categorization process 400 that is used to identify and categorize the occupant / load present on the seat bun 104 . ( the following discussion will involve frequent references to other , more detailed flow charts provided in fig1 , 11 , 12 , 13 and 14 .) in this example , the system processor 114 initiates the categorization process 400 when the system is turned on , preferably at step 410 by sensing when the ignition or start switch is turned on in the associated vehicle . the first step is to gather data from each weight sensor 108 by sub - process 500 , which is shown in fig1 . data gathering sub - process 500 begins with step 510 and proceeds to step 520 where a read counter is set to zero and the total sensor value for each of the sensors is set to a zero value . at step 530 all the sensors are read at once and the output signal value for each sensor is added to the total for each sensor . at step 540 the read counter is incremented by one count . at step 550 , a determination of whether the read counter has been incremented past a predetermined value “ n ”. in this example , the value of n is 4 . this allows the sensors to be read five times so that an average sensor output value can be determined . this procedure of averaging the data over a predetermined number of cycles serves to minimize the effects of electromagnetic or other background interference that may impact the readings from the weight sensors 108 . if the determination at step 550 is that the read counter is less than n , steps 530 , 540 and 550 are repeated until the read counter has been incremented to a value greater than n . when step 550 determination is in the affirmative , the data gathering sub - process 500 proceeds to step 560 where the average sensor value is computed for each sensor from the total values produced at step 530 . the average value for each sensor output is stored at step 560 as average sensor data . the data gathering sub - process 500 is completed at 570 and proceeds to the sensor data pre - filtering sub - process 600 , within categorization process 400 ( or the initial power - up sub - process 300 , as appropriate ). the sensor data pre - filtering sub - process 600 is shown in fig1 as beginning with step 610 . a temperature reading is taken at step 620 from the ambient temperature sensor 110 . based on the value of the temperature reading at step 620 , the sensor data pre - filtering sub - process 600 makes adjustments to the sensor data at step 630 . in this example , pre - filtering adjustments are made to the sensor data for each weight sensor according to a predetermination of how such temperature values are known to effect the sensor data . such pre - filtering adjustments may be necessary when the sensors are heat sensitive and produce varying readings according to variations in temperature ; or when the degree of seat compression by predetermined loads is effected by temperature and / or humidity . if humidity is deemed to effect the readings , then a humidity sensor can be installed to provide such data and appropriate pre - filtering will be made to the sensor data at step 640 . similarly , other ambient conditions that can be sensed and measured as having a predictable effect on the sensor data , can also be pre - filtered in step 640 . when the sensor data pre - filtering sub - process 600 is completed at step 650 , the categorization process 400 proceeds to the “ determine if re - zero recalibration is required ” sub - process 700 ( or to step 320 within the initial power - up process 300 , as appropriate ). in fig1 , the “ determine if zero recalibration is required ” sub - process 700 is shown as starting at step 710 . this sub - process is repeatedly performed over the life of the system to adjust the base readings from each weight sensor under a no - load condition . this may be necessary in order to accommodate for deteriorating cushion material or for other changes that could otherwise adversely effect the sensor readings . as it is not possible to check for such changes directly , an auxiliary variable , such as operation time of the system or number of ignition cycles of the engine , is used to determine the need for zero recalibration . this variable is examined in step 720 . if there is no need for zero recalibration , the corresponding flag is set to false in step 770 , which completes the sub - process 700 . if condition for zero recalibration requirement is satisfied , the system verifies whether the current control signal indicates an empty seat in step 730 . if the seat is not empty , zero recalibration is explicitly impossible and the flag is set to false in step 770 completing the sub - process 700 . if the seat is empty , the system further verifies whether the zero recalibration is implicitly possible in step 740 . this step is used to determine the difference of the current sensor data and the stored zero calibration values . ideally the difference should be zero if the seat is empty and there has been no deterioration of the seat or sensor components . in practice this value will be small but nonzero , reflecting the changes in seat bun and / or sensors . however , in some situations , the seat could be occupied by object ( s ), such us suitcases that are correctly classified as an empty seat due to their weight and pattern characteristics , but cause deflection of the seat bun and produce relatively large nonzero output values of the sensors . for this reason , at step 750 the difference is compared to a predetermined value y . if the computed difference is less than y , the corresponding flag is set to true at step 760 . otherwise , the flag is set to false at step 770 to avoid introduction of bias caused by the presence of light objects during recalibration . the sub - process 700 is completed at step 780 and the processor takes up step 420 in the categorization process 400 shown in fig9 . referring to fig9 , step 420 looks at the rezero required flag and if it is set to true , causes categorization process 400 to proceed to step 430 where the data from the sensors is considered to be at zero values and is so stored . if , on the other hand , the rezero required flag is seen as set to false at step 420 , categorization process 400 is caused to proceed to the compute control signal sub - process 800 as shown in fig1 . the compute control signal sub - process 800 is the final sub - process in categorization process 400 and provides an output signal that is essential to allowing an associated air bag deployment sub - system to know how the seat load is categorized for an occupant — and therefore , whether or how much to deploy the airbag in the event of a vehicle collision . since people come in a wide range of shapes and sizes , the processor 114 must be programmed so as to be capable of recognizing weight patterns of various sized human occupants and loads such as infant seats and generalizing them to yield correct output for any occupant or load . a learning system , such as a neural network system , is utilized to provide such functionality in the form of tables that are then referenced by the on - board system processor 114 . the tables of values generated from the neural network in the learning system are referenced by the processor while applying an algorithm that simulates a neural network , and thereby requires less memory and processing power than an actual on - board neural network processor would require . a neural network simulation consists of two basic elements : nodes and connections . nodes are additive , summing all values from connections entering the node and sending that value to the connections leaving the node . connections are multiplicative , multiplying a value passing through a connection by the weight associated with it . the signals outputting the node are usually conditioned using a transfer function assisting the neural network in achieving desired nonlinear characteristics . to create the basic architecture for a neural network simulation , nodes and connections are usually arranged into conceptual “ layers ” of different sizes . the input layer receives the input from the source . conversely , the output layer creates the output for the user . the size of the input layer and the output layer are determined by the desired amount of inputs and outputs . the hidden layers , so named because they are conceptually hidden from the outside of the network , determine the non - linearity and generalization capabilities of the network . by changing the size of the layers ( i . e ., the number of nodes ), higher resolution and more detail of the pattern may be obtained , thereby allowing a wider variety of patterns / classes to be recognized . at the same time , the size of the layers must be kept as small as possible to keep the minimize the storage and processing requirements of the system and to optimize its generalization capabilities . in practice , the size of the layers are determined experimentally to resolve this trade - off . in fig1 , a block diagram conceptually represents a neural network 232 . in this example , the architecture of the network 232 contains sixteen individual nodes 234 in the input layer 236 ; m individual nodes 237 in the hidden layer 238 ; and “ n ” nodes 239 in the output layer 242 , where the value of m is obtained experimentally as described above , and the value of n is given by the desired number of occupant categories ( e . g . n = 3 for the classification describe in fig1 ). each node 234 in the input layer 236 receives at input 244 a preprocessed value from a corresponding weight sensor 108 in the array of such sensors . each node 234 in the input layer 236 is connected to each individual node 237 in the hidden layer 238 with multiplicative connections 246 each being assigned a weight factor 248 . every node 237 in the hidden layer 236 is further connected to each node 239 in the output layer 242 . tables are prepared as a result of the learning process and contain values that respectively correspond to the individual weight sensors and their respective readings . the tables are referenced by sub - processor 114 in order to simulate the network 232 by multiplying , summing , and conditioning the readings according to its algorithm in order to provide an output that is indicative of predetermined classifications and categories of seat occupants , and according to the sensed weight distribution over the weight sensor array . the outputs 254 of the output layer 242 may then be used by the associated airbag deployment system as a control signal as mentioned above . it should be noted that this architecture is not the only available architecture for the simulated network 232 . as seat buns become more complex and as a wider of variety of patterns is to be recognized , the size of the network 232 may grow and change . in fig1 , the compute control signal sub - process 800 is shown that simulates a neural network protocol and begins at step 810 . at step 815 , the sensor datum is tared for each sensor . taring is achieved by subtracting the stored zero point from each sensor &# 39 ; s averaged sensor value that is stored in step 560 of fig1 . the result is a net value that is reflective of a load applied to each weight sensor 108 . at step 820 , the tared sensor data is assigned according to respectively corresponding input nodes . for each hidden node , the tared sensor data value at each assigned input node is respectively multiplied by a factor from a table designated wi to derive corresponding input products , at step 825 . in simulating a neural network , each input value is multiplied by a distinctly addressed factor read from table wi at step 825 . the wi factors are addressed according to the unique identity of each hidden node . following the multiplication at step 825 , all corresponding input products are summed for each hidden node in step 830 . for each hidden node , a value is added to the sum that is derived from a table designated wbi at step 835 . the wbi values are addressed according to the unique identity of each hidden node . a sigmoid function is then taken at step 840 of the value derived at step 835 for each hidden node , in order to derive a corresponding hidden node value . for each output node , the hidden node value at each hidden node is respectively multiplied by a factor from a table designated wii to derive corresponding hidden products , at step 845 . in continuing to simulate a neural network , each hidden node value is multiplied by a distinctly addressed factor read from table wii at step 845 . the wii factors are addressed according to the unique identity of each output node . following the multiplication at step 845 , all corresponding hidden products are summed for each output node in step 850 . for each output node , a value is added to the sum that is derived from a table designated wbii at step 855 . the wbii values are addressed according to the unique identity of each output node . a sigmoid function is then taken at step 860 of the value derived at step 855 for each output node , in order to derive a corresponding output node value . at this stage of sub - process 800 , a comparison step 865 is performed in order to determine which output node has the greatest output node value . the control signal is than set to correspond to the output node with greatest value at step 870 . the sub - process 800 is completed at step 875 , thereby returning to step 440 in categorization process 400 of fig9 . again referencing fig9 , the categorization process 400 shows that in step 440 the current control signal derived by sub - process 800 is stored for access by an associated deployment control system , or by any other system that requires to know the categorization of an occupant or load present above the sensor array . in fig9 , it can be seen that the categorization process 400 is repeated at predetermined intervals following step 440 during the time the vehicle is in operation . categorization determinations are made with each cycle of the process in order to provide a control signal to the associated deployment control system . the associated deployment control system then uses the control signal stored at step 440 to deploy or not deploy the airbag according to the classification as mandated and shown in fig1 . although fig1 shows the current mandate for classification into three classes based upon sensed occupant characteristics , it is anticipated that in the future , as airbag deployment force , size and speed is more precisely controlled , there may be several more classes for degraded deployment based upon the sensed occupant characteristics described in fig1 . it should be understood that the foregoing description of the embodiments is merely illustrative of many possible implementations of the present invention and is not intended to be exhaustive .