The present invention is related to estimating occupancy of a region, and more specifically to estimating occupancy of people within the region based on occupant traffic models.
Knowledge regarding the occupancy of a particular region can be useful in a variety of applications. For instance, knowledge of occupancy within a building can be used to improve the efficiency, comfort, and convenience of a building and in emergency situations to improve search and rescue efforts of first responders by providing information regarding the location of occupants. Typically, building occupancy is determined based solely on data provided by sensors. These occupancy estimates may result in the generation of errors due to loss of sensor data or accumulation of errors in the sensor data over time.
Described herein is a system for estimating occupancy in a region. The system includes a controller for executing an algorithm that generates occupancy estimations associated with the predicted movement of occupants within each of the plurality of segments. The algorithm is a Kinetic Motion (KM)-based model predicts occupant movement based on modeled distinctions between congested and uncongested portions of each segment. The system further includes an output operably connected to the controller to communicate the occupancy estimates generated by the algorithm.
In another aspect, described herein is a method of estimating occupancy in a region dividing into a plurality of segments. The method includes modeling each of the plurality of segments as containing a congested portion and an uncongested portion. The method further includes calculating model-based predictions of occupancy within the plurality of segments based on state equations that model occupant movement in the congested portion of each segment, occupant movement in the uncongested portion of each segment, and occupant movement between segments based, in part, on whether an entrance to a particular segment is modeled as congested or uncongested.
In another aspect, described herein is a system for estimating occupancy in a region divided into a plurality of segments. The system includes means for modeling each of the plurality of segments as containing a congested portion and uncongested portion. The system further includes means for calculating model-based predictions of occupancy within the plurality of segments based on state equations that model occupant movement in the congested portion of each segment, occupant movement in the uncongested portion of each segment, and occupant movement between segments based, in part, on whether an entrance to a particular segment is modeled as congested or uncongested
In another aspect, described herein is a computer readable storage medium encoded with a machine-readable computer program code for generating occupancy estimates for a region, the computer readable storage medium including instructions for causing a controller to implement a method. The computer program includes instructions for modeling each of the plurality of segments as containing a congested portion and uncongested portion. The computer program also includes instructions for calculating model-based predictions of occupancy within the plurality of segments based on state equations that model occupant movement in the congested portion of each segment, occupant movement in the uncongested portion of each segment, and occupant movement between segments based, in part, on whether an entrance to a particular segment is modeled as congested or uncongested.
This application discloses a system and method related to the application titled “System and Method for Occupancy Estimation,” by Robert Tomastik, filed on Sep. 19, 2007 and assigned PCT serial number U.S. 07/20291. The application discloses a system and method for estimating occupancy based on an occupant traffic model. In an exemplary embodiment, occupancy is estimated based solely on the occupant traffic model. In another exemplary embodiment, occupancy is estimated based on a prediction of occupancy generated by an occupant traffic model, which is corrected based on received sensor data. This application expands upon the scope of the previous application, disclosing additional embodiments and methods of implementing occupant estimation.
The occupant traffic model seeks to predict how occupants will move throughout a region. In one embodiment, the occupant traffic model is a single-phase occupant traffic model that predicts the movement of occupants based on models of how occupants can flow from one region to another. In another embodiment, the occupant traffic model is a kinetic motion (KM)-based model that uses a two-phased approach to modeling how occupants move between adjacent regions. In particular, the two-phased approach takes into account how traffic congestion affects the movement of occupants through a region.
In both cases, the occupant traffic model is based on historical or expected traffic patterns of occupants throughout the area or region and may take into account factors such as layout of the region or building. For example, building layout may include information describing the location of exits, hallways, offices, and occupancy limits of associated hallways and offices. In addition, the occupant traffic model may be a mathematical model, a statistical model, or a computer simulation describing the predicted movement or traffic patterns of occupants within a region.
In an exemplary embodiment, the estimates generated by the occupant traffic model are employed in conjunction with sensor data to generate occupancy estimates. Sensor data may be provided by a variety of different types of sensor devices, each providing a different type of sensor output that is analyzed to detect occupant movements or locations throughout an area or region. To this end, the present invention discloses an occupancy estimator that takes as input both the sensor data and occupant traffic models, and executes an algorithm to generate an occupancy estimate for the area or region based on the provided inputs. The occupancy estimate based on both the sensor data and the occupant traffic models provides an occupancy estimation that is more accurate than the result of estimations based solely on sensor data or based solely on a model. In addition to the benefit of providing a more accurate estimation of occupancy and movement and changes thereto, the combination of sensor data with an occupant traffic model allows for the continued estimation of building occupancy despite the loss of data from one or more sensors, or pause in transmission of sensor data. This may be particularly beneficial in emergency situations in which sensors may be disabled or destroyed.
In another exemplary embodiment, the occupant traffic model operates as a stand-alone tool in estimating occupancy (e.g., without sensor data feedback). This embodiment is particularly well-suited to egress modes of operation in which occupants can be expected to move towards defined exits.
The term ‘region’ is used throughout the description to refer to both a region as well as various sub-divisions of the region. For instance, in the exemplary embodiment shown in
In addition, the term ‘occupancy estimate’ is used throughout the description and refers generally to output related to occupancy. Therefore, an occupancy estimate for a region may include data such as a mean estimate of the number of occupants within the region, a probability associated with all possible occupancy levels associated with the region changes in occupancy, data indicative of the reliability of confidence associated with an estimate of occupancy (e.g., covariance), as well as other similarly useful data related to occupancy. Therefore, in the example shown in
The model-based estimate of occupancy generated by applying the occupant traffic model ƒ (e.g., either the single-phase model or the KM-based model) is then combined with sensor data z (if available) by occupancy estimation algorithm 20. Occupancy estimation algorithm 20 combines the model-based estimate of occupancy provided by the occupant traffic model ƒ with the sensor data z by assigning weights to the respective inputs based on the predicted reliability of each. For example, if the sensor data z is determined to be highly reliable, then occupancy estimation algorithm 20 assigns a higher weight to the sensor data z and the corresponding occupancy estimation {circumflex over (x)} is based in large part on the provided sensor data z. Vice versa, if the sensor data z is determined to be highly unreliable, then more weight is given to the model-based occupancy estimate provided by the occupant traffic model ƒ.
Based on the model-based occupancy estimate, the sensor data z, and the weighting associated with both of these inputs, occupancy estimation algorithm 20 generates an occupancy estimate {circumflex over (x)} for a region. For instance, with respect to the floor plan shown in
In addition, data generated as part of the occupancy estimate {circumflex over (x)} may be interrelated to one another. For instance, the probability of occupancy in a region may be described as a probability distribution by a probability distribution function (PDF) that defines the likelihood associated with each possible state or occupancy level. The peak of the curve would represent the most likely estimate of the occupancy associated with the zone, but in addition, the shape of the curve (e.g., the standard deviation associated with the curve) would provide an indication of the confidence or reliability associated with the occupancy estimate. In other embodiments, the occupancy estimate {circumflex over (x)} may include a confidence interval associated with the estimate, a covariance associated with the occupancy estimate, or other reliability calculations that indicate the confidence or reliability associated with an occupancy estimate {circumflex over (x)}.
In an exemplary embodiment the occupancy estimate {circumflex over (x)} generated by occupancy estimation algorithm 20 is generated in real-time, allowing the occupancy estimate to be used in real-time applications (e.g., as input to first responders). In an exemplary embodiment, the occupancy estimate {circumflex over (x)} may be used for forensic or after the fact estimates of occupancy within a building. In yet another exemplary embodiment, the occupancy estimate {circumflex over (x)}can be used to predict occupancy estimates into the near future. Near future occupancy estimates may be useful in controlling applications such as elevator calls based on the expected near future movements of occupants within a building. Near future occupancy estimates may also be useful to first responders to provide data regarding not only the present location of occupants but the likely future location of building occupants.
In an exemplary embodiment, occupancy estimation algorithm 20 is an Extended Kalman Filter (EKF), which is a well known algorithm used to generate state estimates of a system based on observations and models. In other embodiments, other types of filters capable of combining sensor data and model-based estimates may be employed (e.g., traditional Kalman filter). A benefit of the EKF is the ability to provide calculations based on received sensor data z and occupant traffic models ƒ in real-time. In an exemplary embodiment, the EKF employs an occupant traffic model ƒ to generate a predicted or model-based occupancy estimate based on a current or present occupancy estimate.
The EKF may make use of either the single-phase occupant traffic model or the kinetic motion (KM)-based occupant traffic model. The single-phase occupant traffic model will be discussed first, including how the single-phase occupant traffic model is incorporated by occupancy estimation algorithm 20 to generate occupancy estimates {circumflex over (x)}. The KM-based occupant traffic model is discussed with respect o
In an exemplary embodiment, the general equation for the Extended Kalman Filter (based either on the single-phase model or the KM-based model) occupancy estimate is defined by the following equation:
x(t+1)=ƒ(t,x(t))+v(t) Equation 1
where x(t) represents occupancy in a region (e.g. in each zone in the example shown in
For the sake of simplicity, the following example assumes an egress mode, described with examples based on the floor plan illustrated in
x
1(t+1)=x1(t)+y21(t)+y31(t)−y16(t) Equation 2
wherein x1(t+1) represents the state (e.g., number of occupants) in zone 1 at time t+1, x1(t) represents the previous state of occupants in zone 1 at time t, y21(t) represents the number of occupants moving from zone 2 to zone 1 at time t, y31(t) represents the number of occupants moving from zone 3 to zone 1 at time t, and y61(t) represents the number of occupants moving (exiting) from zone 1 via exit 6 at time t. The model would vary for non-egress modes in which occupants are not instructed to move towards exits. For example, movement of occupants would not be confined to movements from zone 2 to zone 1, but would also include movement from zone 1 to zone 2. The structure of occupant traffic model ƒ is therefore dependent, in part, on the layout of the building and may vary from region to region. In an exemplary embodiment based on the above example, the function relating the flow of occupants from zone 1 to exit 6 is modeled as:
y
16(t)=min[x1(t),α*C16] Equation 3
In this equation, C16 represents the flow capacity of the link from zone 1 to exit 6, and is selected based on physical characteristics of the passage from zone 1 to exit 6. The parameter α is a tuning parameter that is specific to a particular design.
In an embodiment based on this example, the function relating the flow of occupants from zone 2 to zone 1 is modeled as:
y
21(t)=min[α21x2(t)*β/C2*C1−x1(t))/C1,C21] Equation 4
In this equation, α21 is the percent of occupants in zone 2 who have the exit in zone 1 as the nearest exit, the term β/C2 represents the delay for occupants moving across zone 2, C2 is the maximum occupancy of zone 2 (i.e., C2 is proportional to the area corresponding to zone 2), the term (C1−x1(t))/C1 represents congestion in zone 1 that slows occupants from moving into the zone, C21 is the link capacity from zone 2 to 1, and finally β is a tuning parameter. The flow between zone 3 and zone 1 would be modeled in the same manner used to model flow between zone 2 and zone 1. In this way, the single-phase occupant traffic model ƒ makes predictions regarding the occupancy in a particular zone based on current information regarding occupancy in each of the zones. In other embodiments, additional modeling parameters may be employed to model additional aspects of movement through the region.
The second component of the equation used to calculate a model-based occupancy estimate (i.e., equation 1) is the process noise represented by the term v(t). The process noise term v(t) accounts for the uncertainty in how occupants move between zones. A straightforward and simplistic approach for modeling the process noise v(t) is to assume that the process noise v(t) in Equation 1 is zero-mean and Gaussian with variance proportional to state x(t) and independent among zones. In an embodiment employing the Extended Kalman Filter, the covariance matrix for the process noise is set equal to a diagonal matrix with elements corresponding to the state variance of the current estimate.
In an exemplary embodiment the occupancy estimation algorithm (e.g., an Extended Kalman Filter) also makes use of a sensor model h, described by the following equation:
z(t)=h(t,x(t))+w(t) Equation 5
wherein output vector z(t) represents an occupancy measurement in each of the five zones at time t, function h is the sensor model and is a function of time t and occupant estimate x(t), and w(t) is sensor noise. For example, in the embodiment shown in
z
1(t)=z1(t−1)+φ21(t)+φ31(t)−φ16 Equation 6
wherein z1(t−1) represents the previous measurement (based on sensor input) of occupants in zone 1, φ21(t) represents sensor outputs indicating occupant movement from zone 2 to zone 1, φ31(t) represents sensor outputs indicating occupant movement from zone 3 to zone 1, and φ16(t) represents sensor outputs indicating occupant movement from zone 1 to exit 6. The sensor readings provided by individual sensor devices can be in error, and z1(t) defined in Equation 6 may therefore accumulate errors over time based on errors in individual sensor readings. However, in an embodiment in which the extended Kalman filter is employed, the sensor noise w(t) is modeled as zero mean and white, with variance equal to the variance of the estimate of the sensor-only estimator (i.e., if the occupant estimate was based only on sensor input and not on the occupant traffic model). In an exemplary embodiment, the sensor data z(t) is analyzed by applying sensor model h to outputs provided by individual sensor devices (e.g., φ21(φ). In another exemplary embodiment, pre-processing is performed on the sensor data z(t) such that the sensor data provided to occupancy estimation algorithm 20 reflects occupancy estimates of zones based on received sensor data (as described in more detail with respect to
With respect to
In this embodiment, calculating or updating of the occupancy estimate {circumflex over (x)}(t+1|t+1) begins with a current occupancy estimate (generated in a previous iteration by the Extended Kalman Filter algorithm or by some initialization procedure) {circumflex over (x)}(t|t), as shown at step 30. The notation of the occupancy estimate {circumflex over (x)}(t|t) denotes that this is the occupancy estimate for time t, based on observations from time t (i.e., combination of both model outputs and sensor updates). At step 32, occupant traffic model ƒ(t) is applied to the current occupancy estimate {circumflex over (x)} (t|t) to generate occupancy prediction or model-based occupancy estimate {circumflex over (x)}(t+1|t). That is, the occupancy in the next state is predicted based on the current state estimate and the occupant traffic model ƒ(t). The notation {circumflex over (x)}(t+1|t) denotes that this is the state prediction for time t+1 based on observations made at time t (i.e., the update is not based on the most recently observed events). At step 34, sensor model h is applied to model-based occupancy estimate {circumflex over (x)}(t+1|t) to generate measurement prediction {circumflex over (z)}(t+1|t). Measurement prediction {circumflex over (z)}(t+1|t) represents the expected sensor measurements based on the model-based occupancy prediction {circumflex over (x)}(t+1|t). For instance, if model-based occupancy prediction {circumflex over (x)}1(t+1|1) predicts the addition of an occupant to zone 1 (in this case, from zone 2), then measurement prediction z21(t+1|t) will indicate a predicted sensor measurement or observation of one occupant detected entering zone 1 from zone 2.
At step 36, measurement prediction {circumflex over (z)}(t+1|t) is compared with actual sensor data z(t+1) to generate a difference signal represented by the innovation variable u(t+1). In this embodiment, sensor data z(t+1) has been pre-processed to provide values representing detected occupants moving between zones. In other embodiments, sensor model h or some other function would need to be applied to incoming sensor data in order to interpret the data such that z(t+1) represents detected occupant movement between zones. Based on the comparison between sensor data z(t+1) and measurement prediction {circumflex over (z)}(t+1|t), innovation u(t+1) is determined. In an exemplary embodiment, innovation u(t+1) indicates the difference between expected sensor outputs (calculated at step 34) and the actual observed sensor outputs. For instance, using the example described above, model-based occupancy estimate x1(t+1|t) predicts one occupant enters zone 1 from zone 2, resulting in a corresponding measurement prediction of z21(t+1|t) being equal to one. If sensor data z21(t+1) instead equals zero, then innovation u21(t+1) will indicate the difference or error between the predicted value and the actual sensor value, in this case, an error of one.
At step 38, the occupancy estimate {circumflex over (x)}(t|t) is updated based on occupancy prediction {circumflex over (x)}(t+1|t), innovation u(t+1) and a weighting coefficient W(t+1) discussed in more detail with respect to the covariance calculations. As indicated by this equation, the updated occupancy estimate {circumflex over (x)}(t+1|t+1) is based on both the model-based occupancy estimate {circumflex over (x)}(t+1 |t) generated based on the occupant traffic model ƒ(t) and the observed sensor data z(t+1). The updated state estimate {circumflex over (x)}(t+1|t+1) becomes the current state estimate {circumflex over (x)}(t|t) in the next iteration. A benefit of generating the state estimate as a result of both the occupant traffic model ƒ(t) and sensor data z(t+1), is the ability to generate a state estimate indicating occupancy despite a loss of sensor data. In this scenario, the error between the predicted measurement {circumflex over (z)}(t+1|t) and sensor data z(t+1) will increase, but an estimate of occupancy {circumflex over (x)}(t+1|t+1) may still be generated based on partial sensor data z(t+1) and the occupant traffic model ƒ(t), or based entirely on the occupant traffic model ƒ(t) if no sensor data is available.
In the embodiment shown in
Calculating or updating of the covariance estimate P(t+1|t+1) begins with a current estimate of the covariance P(t|t), as shown at step 40. At step 42, the occupant traffic model ƒ(t) is evaluated based on previous occupancy estimates to generate a Jacobian matrix depicted as F(t). At step 44, the Jacobian matrix F(t), initial covariance estimate P(t|t), and uncertainty value Q(t) associated with the occupant traffic model are used to generate a predicted covariance P(t+1|t). At step 45, the sensor model h(t) is evaluated based on previous estimates to generate a Jacobian matrix depicted as H(t). At step 46, the Jacobian evaluation H(t) and uncertainty R(t) associated with the sensor model are applied to the predicted covariance P(t+1|t) to generate the innovation covariance S(t+1). At step 48, the inverse of the innovation covariance S(t+1)−1 is used to generate weighting parameter W(t+1), which represents the weighting that is applied to the sensor data at step 38.
The weighting parameter W(t+1), as shown by the covariance calculation, weights the confidence level to be applied to the sensor data based on both the sensor models and the occupant traffic models, such that the updated state estimate {circumflex over (x)}(t+1|t+1) reflects the determination of which input is most reliable. That is, if the confidence level associated with the sensor data z(t) is high (or confidence in the model-based occupancy estimate {circumflex over (x)}(t+1|t) is low), then filter gain value W(t+1) as applied to the innovation u(t+1) at step 38 results in the occupancy estimate providing more weight to the sensor data z(t) than the result of the occupancy prediction {circumflex over (x)}(t+1|1) generated by occupant traffic model ƒ(t). Likewise, if the filter gain value W(t+1) indicates a low confidence associated with the sensor data z(t+1) (or confidence in the model-based occupancy estimate is high), then the updated state estimate will be more heavily influenced by the result of the model-based occupancy estimate {circumflex over (x)}(t+1|t) and less by the associated sensor data z(t). For instance, in a situation in which sensors are compromised by smoke or fire, then the associated confidence of their outputs is decreased such that occupancy estimates are more heavily influenced by the result of applying occupant traffic model ƒ(t) to the state estimate {circumflex over (x)}(t|t).
The weighting of sensor data z(t) may also account for the reliability associated with the type of sensor devices used to provide sensor data z(t). Some sensors are inherently more reliable than others, while others may be reliable in some instances and unreliable in others. The sensor model h, similar to the way in which occupant traffic model ƒ accounts for the layout of a building, can be used to account for variations in types of sensor devices. For instance, a motion detection sensor device may be used to detect whether a room is occupied or not, but does not provide information regarding the number of occupants in a room (i.e., binary output). In this situation, data from the motion detection sensor indicating a room is not occupied (i.e., sensor data for a particular room zroom(t+1)=0) may be considered highly reliable. However, data from the motion detection sensor indicating a room is occupied (i.e., sensor data for a particular room zroom(t+1)=1) may be considered less reliable because the data does not account for the possibility that additional occupants may be present in the room. In one embodiment, the sensor model h accounts for the sensor type, and assigns an expected number of occupants located in the room based on size of the room (or some other variable). In addition, the reliability associated with data provided by a particular sensor device may be selectively modified based on the type of sensor device as well as the input received from the sensor device.
At step 50, the state covariance P(t|t) is updated based on the filter gain value W(t+1), the innovation covariance S(t+1), and the predicted covariance P(t+1|t) to generate an updated covariance value P(t+1|t+1). This value reflects the confidence level in the occupancy estimate value {circumflex over (x)}(t+1|t+1).
In the embodiment shown in
The term {circumflex over (r)}(t|t) will be referred to generally as the state estimate, but as illustrated in Equation 7 includes both the occupancy estimate {circumflex over (x)}(t|t) reflecting the estimate of the number of people in a region at a time t and the occupant flow estimate ŷ(t|t), which reflects the number of people flowing from one region to another region. For example, as illustrated in
With respect to
In general, the Extended Kalman Filter shown in
At step 64, sensor model h is applied to model-based state estimate {circumflex over (r)}(t+1|t) to generate measurement prediction {circumflex over (z)}(t+1|t). Measurement prediction {circumflex over (z)}(t+1|t) represents the expected sensor measurements based on the model-based state prediction {circumflex over (r)}(t+1|t). This applies both to the number of occupants expected to be detected within a particular region as well as the number of occupants expected to be detected flowing from one zone to another. For instance, if model-based flow estimate prediction ŷ21(t+1|1) predicts that one occupant flows from zone 2 to zone 1, then measurement prediction z21(t+1|t) will indicate a predicted sensor measurement or observation of one occupant detected entering zone 1 from zone 2.
At step 66, measurement prediction {circumflex over (z)}(t+1|t) is compared with actual sensor data z(t+1) to generate a difference signal represented by the innovation variable u(t+1). Once again, innovation u(t+1) indicates the difference between expected sensor outputs (calculated at step 64) and the actual observed sensor outputs. For instance, using the example described above, model-based flow estimate ŷ21(t+1|1) predicted one occupant entering zone 1 from zone 2, resulting in a corresponding measurement prediction of z21(t+1|t) being equal to one. If sensor data z21(t+1) instead equals zero, then innovation u21(t+1) will indicate the difference or error between the predicted value and the actual sensor value, in this case, an error of one.
At step 68, the state estimate {circumflex over (r)}(t|t) is updated based on state prediction {circumflex over (r)}(t+1|t), innovation u(t+1), a weighting coefficient W(t+1) discussed in more detail with respect to the covariance calculations, and one or more constraints. This step is similar in form to step 38 illustrated in
In general, the EKF is not designed to take into account constraints such as non-negative occupancy estimates, upper bounds on occupancy, and bounded rates associated with flow of occupants between adjacent regions. Such ‘hard’ constraints can be taken into account by defining for each state variable (e.g., {circumflex over (x)}(t) or ŷ(t)) a projection of the state variable onto a convex region to which the state process is known to evolve, labeled , as illustrated by the following equation.
In particular, the is the projection of {circumflex over (x)} onto in the weighted Euclidean norm, in which the weighting matrix is specified by the inverse of the covariance matrix P(t|t).
The updated state estimate is then defined by the following equation.
{circumflex over (x)}(t+1|t+1)=[{circumflex over (x)}(t+1|t)+W(t+1)*u(t+1) Equation 9
As shown, equation 8 is similar in form to the equation illustrated in step 38 of
In an exemplary embodiment such as the embodiment shown in
In this embodiment, the Extended Kalman Filter algorithm models the number of occupants located in each region {circumflex over (x)}(t|t) as well as the number of occupants flowing between each region ŷ(t|t) and corrects each prediction with sensor data. A benefit of this system is the ability to generate estimates despite the loss of sensor data.
The covariance estimate P(t|t) is generated as an output along with the state estimate {circumflex over (r)}(t|t) and indicates the level of confidence associated with the state estimate. The covariance estimate P(t|t) will therefore include terms related to both state variables, the occupancy estimates {circumflex over (x)}(t|t) and flow rate estimates ŷ(t|t).
Calculating or updating of the covariance estimate P(t+1|t+1) begins with a current estimate of the covariance P(t|t), as shown at step 70. At step 72, the occupant traffic model ƒ(t) is evaluated based on previous occupancy estimates to generate a Jacobian matrix depicted as F(t). At step 74, the Jacobian matrix F(t), initial covariance estimate P(t|t), and uncertainty value Q(t) associated with the occupant traffic model are used to generate a predicted covariance P(t+1|t).
In this embodiment, predicted covariance P(t+1|t) has terms directed toward both the occupancy estimate for each region {circumflex over (x)}(t|t) and the flow estimate of occupants between each region ŷ(t|t). As described above, the flow of occupants between regions (in this example, between zones 2 and 1) is described by the following equation.
y
21(t)=min[α21x2(t)*β/C2*(C1−x1(t))/C1,C21] Equation 10
As shown, the function of the term min[a,b] is to select the minimum of the two terms calculated (i.e., the minimum value between term ‘a’ and term ‘b’). The first term, α21x2(t)*β/C2*(C1−x1(t))/C1 represents the expected flow of occupants between the region based on factors such as the expected percentage of occupants moving from zone 2 to zone 1 (α21), the number of occupants in zone 2 (x2(t)), as well as congestion of occupants in zone 1 that may affect the flow of occupant from zone 2 to zone 1. The term C21 is a flow constraint value that in this equation sets a maximum value for the number of occupants who can flow from zone 2 to zone 1 in a given timestep. Thus, if the left term of equation 8 exceeds the flow constraint value C21, then equation 8 limits the expected flow estimate y21 to equal the flow constraint value C21.
In the embodiment shown in
At step 80, the sensor model h(t) is evaluated based on previous estimates to generate a Jacobian matrix depicted as H(t). At step 82, the Jacobian evaluation H(t) and uncertainty R(t) associated with the sensor model are applied to the modified, predicted covariance Pmod(t+1|t) to generate the innovation covariance S(t+1). At step 84, the inverse of the innovation covariance S(t+1)−1 is used to generate weighting parameter W(t+1), which represents the weighting that is applied to the sensor data at step 68.
The weighting parameter W(t+1), as shown by the covariance calculation, weights the confidence level to be applied to the sensor data based on both the sensor models and the occupant traffic models, such that the updated state estimate {circumflex over (r)}(t+1|t+1) reflects the determination of which input is most reliable. That is, if the confidence level associated with the sensor data z(t) is high (or confidence in the model-based state estimate {circumflex over (r)}(t+1|t) is low), then filter gain value W(t+1) as applied to the innovation u(t+1) at step 68 results in the updated state estimate (t+1|t+1) providing more weight to the sensor data z(t) than the result of the state prediction {circumflex over (r)}(t+1|1) generated by occupant traffic model ƒ(t). Likewise, if the filter gain value W(t+1) indicates a low confidence associated with the sensor data z(t+1) (or confidence in the model-based occupancy estimate is high), then the updated state estimate (t+1|t) will be more heavily influenced by the result of the model-based state estimate {circumflex over (r)}(t+1|t) and less by the associated sensor data z(t). For instance, in a situation in which sensors are compromised by smoke or fire, then the associated confidence of their outputs is decreased such that occupancy estimates are more heavily influenced by the result of applying occupant traffic model ƒ(t) to the previous state estimate {circumflex over (r)}(t|t).
As discussed with respect to
At step 86, the state covariance P(t|t) is updated based on the filter gain value W(t+1), the innovation covariance S(t+1), and the modified predicted covariance Pmod(t+1|t) to generate an updated covariance value P(t+1|t+1). This value reflects the confidence level in the occupancy estimate value (t+1|t+1).
Thus, the embodiment shown in
The floor plan shown in
For instance, room 100 is non-rectangular in shape. This room is modeled in
The remainder of the doorways are modeled in a similar fashion, with the location and width of the modeled doorways tracking closely with the physical location and widths of the real doorways. Modeling of the rooms also includes noting the distance between doorways. For instance, in this embodiment the model would note the distance between doorways 114′ and the exit, to allow for the model to take into account the time it would take for an occupant to traverse room 102′.
Both
The term A represents the area occupied, on average, by a single occupant. The term q defines the number of people currently within the queue, and the term L (as defined above) corresponds with the width of segment 130. Thus, as people are added to the queue, the queue length dq or congested area is extended farther into segment 130. Conversely, when occupants exit via exit 138 the length of the queue dq would decrease.
Segment 130 is further sub-divided into a plurality of elementary cells as indicated by the plurality of circular lines surrounding exit 138. Because of the length of segment 130, the elementary cells could also be defined as rectangles spanning the width L of segment 130. The number of occupants located in each elementary cell is expressed as n1, n2, n3 . . . nm wherein there are m elementary cells. The number of occupants located in the uncongested portion of segment 130 is expressed as the sum of occupants located in each cell.
The term τq represents the first elementary cell not modeled as part of the queue. Thus, Equation 12 defines the number of occupants in the uncongested portion of segment 130. The total number of occupants {circumflex over (x)}(t) located in a segment could therefore be expressed as a sum of the total number of occupant in the queue, defined as q, and the number of occupants located in the uncongested portion ntot.
{circumflex over (x)}(t)=qi+ntot Equation 13
The time it takes for an occupant to travel from an entrance to the exit is defined by the following equation,
τi=di/V0 Equation 14
wherein di is the distance from a particular entrance to the exit, and V0 is the velocity at which occupants are expected to travel. The width of each elementary cell is defined such that an occupant can be modeled as advancing one elementary cell closer to the exit at each time step, assuming the occupant is moving through an uncongested region. Therefore, as shown in
Thus, the number of occupants in each elementary cell can be modeled by the following equation.
The number of occupants located in a particular cell i at time k+1 is equal to the sum of the number of occupants located in the adjacent cell in the previous time step k and the number of occupants modeled to enter cell i by way of an entrance into segment 130. Equation 15 therefore models the movement of occupants within uncongested regions of segment 130.
The queue is maintained by the following equation.
q(k+1)=q(k)+nτ
The number of occupants in queue at time k+1 is equal to the sum of the number of occupants in the queue at the previous time step k and the number of occupants located in the elementary cell located at the end of the queue nτ
In an exemplary embodiment the KM-based model operates as a stand-alone tool that does not require correction of occupancy estimates based on sensor data. For example, employing the KM-based model without the benefit of sensor data may be particularly practical in applications such as egress-modeling in which occupants can be expected to move towards exits. In this embodiment, the occupancy estimates would be based solely on the equations described above with respect to the KM-based model. The initial state (e.g., initial occupancy estimates) to which the KM-based model would be applied (for instance, upon the issuance of a fire alarm signifying an egress mode of operation) may be modeled based on statistical occupancy data, simulated occupancy data or stored data regarding the location of occupants. For instance, statistical data may include defining initial occupant locations based on assignment of a simple distribution describing the likely location of occupants (e.g., Gaussian distribution). Simulated occupancy data may be based on historical or observed data regarding the likely location of occupants (e.g., a classroom may be modeled as containing a particular number of occupants depending on time of day). In addition, any other stored data such as knowledge regarding scheduled meeting times may be used to initialize the initial occupancy state. The KM-based filter is then employed to generate occupancy estimates that model occupant movement, taking into account modeled congestion during the operation.
In another exemplary embodiment, the KM-based model is used in conjunction with sensor data to generate corrected estimates of occupancy. As with the single-phase model described above, the goal of the KM-based model is to generate predictions regarding how many occupants are located in a particular segment at a given time. In the single-phase model this was based on the number of occupants previously located in a region, the number of occupants entering the region, and the number of occupants exiting a region. Thus, the relevant state variable was the number of occupants in a particular region and, in some embodiments, the number of occupants flowing between regions. In the KM-based model, there are several ways of organizing the model ƒ or use in conjunction with a filter (e.g., the extended Kalman filter described with respect to
In one embodiment, state variables are defined with respect to number of occupants located in each elementary cell (e.g., see Equation 15), the number of occupants in the queue (e.g., see Equation 16), and the flow of occupants between adjacent rooms. These state variables would be corrected with sensor data as described with respect to
In another exemplary embodiment, state variables are defined with respect to the state of the queue (i.e., number of occupants in the queue), the total number of occupants in the uncongested portions of each segment, and the flow of occupants between adjacent regions. Once again, estimates for the total number of occupants in a particular segment or region can be derived based on these state variables.
In both embodiments, modeling of the flow of occupants is dependent on the state (i.e., congestion) of each segment. In particular, modeling the flow of occupants into a particular segment is dependent, in part, on the whether the entrance to the segment is modeled as congested or uncongested. The entrance to a segment can be categorized into one of three states. In an exemplary embodiment, the effect of congestion in a particular segment, and the effect it has on doors acting as an entrance to the segment are modeled by the following flags.
Therefore, a flag is set to ‘0’ in cases in which an entrance opens to an uncongested area, to ‘1’ in cases in which an entrance opens to a congested area, and ‘2’ in cases in which all entrances to a particular segment open to congested areas (i.e., the segment is totally congested). For example, in
For conditions in which the entrance opens to an uncongested or low-density region, as indicated by the flag for that entrance being set to zero, the first line is applied in modeling how many occupants flow into the segment. The term ‘V0’ describes the velocity with which occupants are expected to move and wi models the width of the entrance through which the occupant is trying to pass. The velocity of occupants is defined as a constant value for all occupants. Therefore, for greater door widths, the number of occupants modeled as flowing through a particular door increases. The next term,
represents how the density of agents in a particular elementary cell that an occupant is attempting to enter affects the possibility of enter. For instance, in
describes how the flow of occupants through a particular entrance is defined, in part, on the size of the queue qi in the adjacent segment, as well as the width of the entrance wi and the assumed velocity of occupants V0.
The second line of equation 18 models how occupants flow into segment 130 in situations in which the entrance opens to a congested area. For example, as shown in
The term represents a step function that returns a value of ‘0 ’ when the term to which it is applied is less than zero, and returns a value of 1′ when the term to which it is applied is greater than zero. The term pk defines the likelihood that a propagating vacancy passing by an entrance will enter (i.e., an occupant will be allowed to take the spot of the vacancy in the queue), and is dependent on the width of the door, with wider doors increasing the likelihood that a vacancy will enter. The term
represents the likelihood of a vacancy reaching a particular entrance. Thus, the term Pk defines the probability of a vacancy being propagated into a particular entrance, with the probability indicating that entrances closer to the exit will be more likely to capture propagating vacancies, and therefore increasing the odds of an occupant entering the segment. The probabilities defined with respect to equation 19 are used in conjunction with equation 18 to define how occupants enter a segment when the entrance is to a congested or high-density area.
The third term in equation 18 states that if the entire segment is modeled as congested, then no occupants will be modeled as entering the segment.
Based on the equations defined above and the modeling of occupants within a segment, the KM-based model provides accurate modeling of the flow of occupants into a particular segment. Output generated by the KM-based model would therefore include the number of occupants modeled to flow between each entrance and exit of each segment, as well as the number of occupants in each elementary cell or occupants in congested areas versus uncongested areas. Although based on different principles, both the KM-based model and the single-phase model provide an output that estimates the number of occupants in a particular region, as well as the flow of occupants between regions. In this way, the KM-based model may be employed as part of the Extended Kalman Filter described with respect to
In addition, in order to quantify the improvements associated with an embodiment of the present invention, additional simulations were run in which estimates were generated based on different methods. The results were then compared to the simulation, described above, in which the KM-based model is employed in conjunction with the EKF and sensor data provided by nine video sensors and a plurality of motion detectors. In one simulation, estimates were generated based only on sensor data. In another simulation, estimates were generated based on sensor data from the video cameras (but not the motion detector sensors) and the Extended Kalman Filter with the KM-based model. The results of these estimates were compared with the simulation in which all sensor data (including motion sensor data) was employed, as well as the EKF employing the KM-based model. Averaged over one-hundred simulations and for a variety of evacuation times, the following results were generated for each method.
As shown, employing the EKF with the KM-based occupant model provided much improved results over the sensor-only approach. Employing the use of motion sensors, despite their limited reliability, further reduced the mean error per room. As a result, use of the Extended Kalman Filter, in which model-based estimates generated by the KM-based occupant model are combined with sensor data that include motion detector sensors, reduces the error associated with the sensor only approach by 74%. In addition, although motion sensors are more unreliable than other detection means, the use of motion detectors in each room had the effect of further reducing the mean error by an additional 36%.
Another benefit of the system described herein is the ability to perform the calculations in real-time. In all embodiments described herein, updates are provided every five seconds or less.
The sensor data is communicated to computer or controller 154. Depending on the type of sensors employed, and whether the sensors include any ability to process captured data, computer 154 may provide initial processing of the provided sensor data. For instance, video data captured by a video camera sensing device may require some video data analysis pre-processing to determine whether the video data shows occupants traversing from one zone to another zone. In addition, this processing performed by processor 154 may include storing the sensor data, indicating detected occupants moving between zones, to an array or vector such that it can be supplied as an input to the occupancy estimation algorithm (e.g., an Extended Kalman Filter).
In the embodiment shown in
For example, in an embodiment shown in
As shown in
In the embodiment shown in
In distributed system 162b shown in
In distributed system 162c shown in
Communication of occupancy estimations between occupancy estimators may be provided via typical communication networks, including telecommunication networks, local area network (LAN) connections, or via wireless networks. In addition, in some embodiments communication costs are minimized by only sharing occupancy estimates between adjacent nodes/zones, such that only those occupancy estimators monitoring adjacent zones share occupancy estimates. A benefit of employing distributed systems for providing occupancy estimates is the ability of distributed systems to function despite the loss of one or more of the distributed systems.
Although the present invention has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention. For example, although a computer system including a processor and memory was described for implementing the occupancy estimation algorithm, any number of suitable combinations of hardware and software may be employed for executing the mathematical functions employed by the occupancy estimation algorithm. In addition, the computer system may or may not be used to provide data processing of received sensor data. In some embodiments, the sensor data may be pre-processed before being provided as an input to the computer system responsible for executing the occupancy estimation algorithm. In other embodiments, the computer system may include suitable data processing techniques to internally process the provided sensor data.
Furthermore, throughout the specification and claims, the use of the term ‘a’ should not be interpreted to mean “only one”, but rather should be interpreted broadly as meaning “one or more”. The use of sequentially numbered steps used throughout the disclosure does not imply an order in which the steps must be performed. The use of the term “or” should be interpreted as being inclusive unless otherwise stated.
Number | Date | Country | Kind |
---|---|---|---|
PCT/US2007/020291 | Sep 2007 | US | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US08/02528 | 2/26/2008 | WO | 00 | 9/15/2010 |