The present disclosure includes systems and methods for detecting an anomaly in crowd behavior. The method includes receiving sensor data representing a crowd, and partitioning the sensor data into local areas forming neighborhoods. The method further includes, for each local area, characterizing motion in the local area to determine real-time estimates of motion of sub-populations based on the sensor data, providing a crowd model for each local area, representing continuous functions describing expected motion near each local area, and determining parametric values of the crowd model based on the real-time estimates of the motion of the sub-populations. The method further includes learning and adapting auxiliary stochastic models characterizing normal evolution of the parametric values of the crowd model over time associated with each local area, and identifying a potential anomaly associated with the local area by comparing predictions from an auxiliary stochastic model with parametric values of the crowd model.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A computer-implemented method of detecting an anomaly in crowd behavior, the method comprising: receiving sensor data from one or more sensors, the sensor data representing a crowd in motion; partitioning the sensor data into a set of local areas, each local area forming a neighborhood for analyzing the crowd in motion; for each local area in the set of local areas, characterizing motion in the local area to determine a set of real-time estimates of motion of sub-populations in the local area based at least in part on the sensor data, each sub-population characterized by a pattern of motion based at least in part on sensor data collected over a longer-term time duration describing motion in the sub-population, the longer-term time duration including at least one of minutes, hours, days, weeks, seasons, and years; providing a crowd model for each local area, each model representing dynamics of continuous functions describing expected motion near each local area; determining a set of parametric values of the crowd model based at least in part on the real-time estimates of the motion of the sub-populations in the local area, to correlate the set of parametric values with a short-time evolution of the motion of the sub-populations in the local area; learning and adapting a set of auxiliary stochastic models based at least in part on evolution of the parametric values of the crowd model over time, the set of auxiliary stochastic models characterizing substantially normal evolution of the parametric values of the crowd model over time associated with each local area; and identifying an occurrence of a potential anomaly associated with the local area by comparing predictions from an auxiliary stochastic model in the set of auxiliary stochastic models with the set of parametric values of the crowd model based at least in part on the real-time estimates of the motion of the sub-populations in the local area. 2. The method of claim 1, further comprising: allocating at least one of additional sensor resources and additional computational resources to further analyze motion in the local area associated with the identified potential anomaly to verify whether to flag the identified potential anomaly, if the predictions from the auxiliary stochastic model do not match the set of parametric values of the crowd model based at least in part on the real-time estimates of the motion of the sub-populations in the local area; and wherein if the further analysis of the motion in the local area associated with the identified potential anomaly determines that the identified potential anomaly should be flagged, analyzing motion of one or more individuals in the local area to verify whether the identified potential anomaly is an actual anomaly. 3. The method of claim 1, wherein the sensor data includes data from a video stream; wherein the partitioning the sensor data includes associating a subset of the sensor data with each local area in the set of local areas, each local area forming a neighborhood around a grid point in a spatial grid of the video stream representing an area under observation; wherein the set of real-time estimates of the motion of the sub-populations includes real-time estimates of a velocity field and a density field; wherein the crowd model is based at least in part on continuous-state, multi-population, compressible fluid dynamics to model expected motion near each local area, and wherein parameters of the crowd model include coefficients for quantifying an effect of crowd viscosity, crowd pressure, extraneous forces, and random motion that characterize local motion of each sub-population in the local area; wherein the learning and adapting the set of auxiliary stochastic models includes determining a set of thresholds that represent substantially normal values of at least one of (i) the continuous functions describing expected motion near each local area, (ii) the parametric values of the crowd model, (iii) the coefficients of any auxiliary stochastic model in the set of auxiliary stochastic models, and (iv) spatial and temporal derivatives of at least one of (i), (ii), and (iii), for each local area, the set of thresholds being determined based at least in part on at least one of sensor data collected over the longer-term time duration and the real-time estimates of the motion of the sub-populations; and wherein the identifying the occurrence of the potential anomaly associated with the local area includes at least one of (i) determining whether a residual error identified by any of the auxiliary stochastic models in the set of auxiliary stochastic models exceeds a pre-determined threshold in the set of thresholds, and (ii) determining whether a residual error identified by the crowd model exceeds the pre-determined threshold. 4. The method of claim 1, further comprising: aggregating parametric values from the crowd model and predictions from the set of auxiliary stochastic models for a plurality of local areas; and identifying an occurrence of a potential anomaly associated with the crowd, by comparing the aggregated predictions from the set of auxiliary stochastic models and the parametric values from the crowd model based at least in part on the real-time estimates of the crowd in motion for the plurality of local areas. 5. The method of claim 1, wherein the parametric values of the crowd model based at least in part on the real-time estimates of the motion of the sub-populations in the local area are determined based at least in part on at least one of minimum variance unbiased estimation, maximum likelihood estimation, least squares estimation, minimum mean-square estimation, maximum a posteriori estimation, optimal filtering, Wiener filtering, and Kalman filtering. 6. The method of claim 1, wherein the auxiliary stochastic models are learned based at least in part on at least one of principal components analysis, linear discriminant analysis, subspace learning, Galerkin methods, Hankel matrix-based methods, and machine learning algorithms. 7. The method of claim 2, wherein at least one of the motion in the local area and the motion of the individuals in the local area are analyzed based at least in part on agent-based crowd models with socio-economic forces, Boltzmann-like gas-kinetic models for crowd motion, lattice gas models for crowd motion, and cellular automata for crowd motion. 8. A system for detecting an anomaly in crowd behavior, the system comprising one or more sensors for observing a crowd in motion; storage; and at least one processor configured to: receive sensor data from the one or more sensors, the sensor data representing the crowd in motion; partition the sensor data into a set of local areas, each local area forming a neighborhood for analyzing the crowd in motion; for each local area in the set of local areas, characterize motion in the local area to determine a set of real-time estimates of motion of sub-populations in the local area based at least in part on the sensor data, each sub-population characterized by a pattern of motion based at least in part on sensor data collected over a longer-term time duration describing motion in the sub-population, the longer-term time duration including at least one of minutes, hours, days, weeks, seasons, and years; provide a crowd model for each local area, each model representing dynamics of continuous functions describing expected motion near each local area; determine a set of parametric values of the crowd model based at least in part on the real-time estimates of the motion of the sub-populations in the local area, to correlate the set of parametric values with a short-time evolution of the motion of the sub-populations in the local area; learn and adapt a set of auxiliary stochastic models based at least in part on evolution of the parametric values of the crowd model over time, the set of auxiliary stochastic models characterizing substantially normal evolution of the parametric values of the crowd model over time associated with each local area; and identify an occurrence of a potential anomaly associated with the local area by comparing predictions from an auxiliary stochastic model in the set of auxiliary stochastic models with the set of parametric values of the crowd model based at least in part on the real-time estimates of the motion of the sub-populations in the local area. 9. The system of claim 8, wherein the at least one processor is further configured to: allocate at least one of additional sensor resources and additional computational resources to further analyze motion in the local area associated with the identified potential anomaly to verify whether to flag the identified potential anomaly, if the predictions from the auxiliary stochastic model do not match the set of parametric values of the crowd model based at least in part on the real-time estimates of the motion of the sub-populations in the local area; and wherein if the further analysis of the motion in the local area associated with the identified potential anomaly determines that the identified potential anomaly should be flagged, analyze motion of one or more individuals in the local area to verify whether the identified potential anomaly is an actual anomaly. 10. The system of claim 8, wherein the sensor data includes data from a video stream; wherein the at least one processor configured to partition the sensor data includes the at least one processor configured to associate a subset of the sensor data with each local area in the set of local areas, each local area forming a neighborhood around a grid point in a spatial grid of the video stream representing an area under observation; wherein the set of real-time estimates of the motion of the sub-populations includes real-time estimates of a velocity field and a density field; wherein the crowd model is based at least in part on continuous-state, multi-population, compressible fluid dynamics to model expected motion near each local area, and wherein parameters of the crowd model include coefficients for quantifying an effect of crowd viscosity, crowd pressure, extraneous forces, and random motion that characterize local motion of each sub-population in the local area; wherein the at least one processor configured to learn and adapt the set of auxiliary stochastic models includes the at least one processor configured to determine a set of thresholds that represent substantially normal values of at least one of (i) the continuous functions describing expected motion near each local area, (ii) the parametric values of the crowd model, (iii) the coefficients of any auxiliary stochastic model in the set of auxiliary stochastic models, and (iv) spatial and temporal derivatives of at least one of (i), (ii), and (iii), for each local area, the set of thresholds being determined based at least in part on at least one of sensor data collected over the longer-term time duration and the real-time estimates of the motion of the sub-populations; and wherein the at least one processor configured to identify the occurrence of the potential anomaly associated with the local area includes the at least one processor configured to at least one of (i) determine whether a residual error identified by any of the auxiliary stochastic models in the set of auxiliary stochastic models exceeds a pre-determined threshold in the set of thresholds, and (ii) determine whether a residual error identified by the crowd model exceeds the pre-determined threshold. 11. The system of claim 8, wherein the at least one processor is further configured to: aggregate parametric values from the crowd model and predictions from the set of auxiliary stochastic models for a plurality of local areas; and identify an occurrence of a potential anomaly associated with the crowd, by comparing the aggregated predictions from the set of auxiliary stochastic models and the parametric values from the crowd model based at least in part on the real-time estimates of the crowd in motion for the plurality of local areas. 12. The system of claim 8, wherein the parametric values of the crowd model based at least in part on the real-time estimates of the motion of the sub-populations in the local area are determined based at least in part on at least one of minimum variance unbiased estimation, maximum likelihood estimation, least squares estimation, minimum mean-square estimation, maximum a posteriori estimation, optimal filtering, Wiener filtering, and Kalman filtering. 13. The system of claim 8, wherein the auxiliary stochastic models are learned based at least in part on at least one of principal components analysis, linear discriminant analysis, subspace learning, Galerkin methods, Hankel matrix-based methods, and machine learning algorithms. 14. The system of claim 9, wherein at least one of the motion in the local area and the motion of the individuals in the local area are analyzed based at least in part on agent-based crowd models with socio-economic forces, Boltzmann-like gas-kinetic models for crowd motion, lattice gas models for crowd motion, and cellular automata for crowd motion. 15. A non-transitory computer program product for detecting an anomaly in crowd behavior, the non-transitory computer program product tangibly embodied in a computer-readable medium, the non-transitory computer program product including instructions operable to cause a data processing apparatus to: receive sensor data from one or more sensors, the sensor data representing a crowd in motion; partition the sensor data into a set of local areas, each local area forming a neighborhood for analyzing the crowd in motion; for each local area in the set of local areas, characterize motion in the local area to determine a set of real-time estimates of motion of sub-populations in the local area based at least in part on the sensor data, each sub-population characterized by a pattern of motion based at least in part on sensor data collected over a longer-term time duration describing motion in the sub-population, the longer-term time duration including at least one of minutes, hours, days, weeks, seasons, and years; provide a crowd model for each local area, each model representing dynamics of continuous functions describing expected motion near each local area; determine a set of parametric values of the crowd model based at least in part on the real-time estimates of the motion of the sub-populations in the local area, to correlate the set of parametric values with a short-time evolution of the motion of the sub-populations in the local area; learn and adapt a set of auxiliary stochastic models based at least in part on evolution of the parametric values of the crowd model over time, the set of auxiliary stochastic models characterizing substantially normal evolution of the parametric values of the crowd model over time associated with each local area; and identify an occurrence of a potential anomaly associated with the local area by comparing predictions from an auxiliary stochastic model in the set of auxiliary stochastic models with the set of parametric values of the crowd model based at least in part on the real-time estimates of the motion of the sub-populations in the local area. 16. The non-transitory computer program product of claim 15, wherein the non-transitory computer program product further includes instructions operable to cause the data processing apparatus to: allocate at least one of additional sensor resources and additional computational resources to further analyze motion in the local area associated with the identified potential anomaly to verify whether to flag the identified potential anomaly, if the predictions from the auxiliary stochastic model do not match the set of parametric values of the crowd model based at least in part on the real-time estimates of the motion of the sub-populations in the local area; and wherein if the further analysis of the motion in the local area associated with the identified potential anomaly determines that the identified potential anomaly should be flagged, analyze motion of one or more individuals in the local area to verify whether the identified potential anomaly is an actual anomaly. 17. The non-transitory computer program product of claim 15, wherein the sensor data includes data from a video stream; wherein the instructions operable to cause the data processing apparatus to partition the sensor data include instructions operable to cause the data processing apparatus to associate a subset of the sensor data with each local area in the set of local areas, each local area forming a neighborhood around a grid point in a spatial grid of the video stream representing an area under observation; wherein the set of real-time estimates of the motion of the sub-populations includes real-time estimates of a velocity field and a density field; wherein the crowd model is based at least in part on continuous-state, multi-population, compressible fluid dynamics to model expected motion near each local area, and wherein parameters of the crowd model include coefficients for quantifying an effect of crowd viscosity, crowd pressure, extraneous forces, and random motion that characterize local motion of each sub-population in the local area; wherein the instructions operable to cause the data processing apparatus to learn and adapt the set of auxiliary stochastic models include instructions operable to cause the data processing apparatus to determine a set of thresholds that represent substantially normal values of at least one of (i) the continuous functions describing expected motion near each local area, (ii) the parametric values of the crowd model, (iii) the coefficients of any auxiliary stochastic model in the set of auxiliary stochastic models, and (iv) spatial and temporal derivatives of at least one of (i), (ii), and (iii), for each local area, the set of thresholds being determined based at least in part on at least one of sensor data collected over the longer-term time duration and the real-time estimates of the motion of the sub-populations; and wherein the instructions operable to cause the data processing apparatus to identify the occurrence of the potential anomaly associated with the local area include instructions operable to cause the data processing apparatus to at least one of (i) determine whether a residual error identified by any of the auxiliary stochastic models in the set of auxiliary stochastic models exceeds a pre-determined threshold in the set of thresholds, and (ii) determine whether a residual error identified by the crowd model exceeds the pre-determined threshold. 18. The non-transitory computer program product of claim 15, wherein the non-transitory computer program product further includes instructions operable to cause the data processing apparatus to: aggregate parametric values from the crowd model and predictions from the set of auxiliary stochastic models for a plurality of local areas; and identify an occurrence of a potential anomaly associated with the crowd, by comparing the aggregated predictions from the set of auxiliary stochastic models and the parametric values from the crowd model based at least in part on the real-time estimates of the crowd in motion for the plurality of local areas. 19. The non-transitory computer program product of claim 15, wherein the parametric values of the crowd model based at least in part on the real-time estimates of the motion of the sub-populations in the local area are determined based at least in part on at least one of minimum variance unbiased estimation, maximum likelihood estimation, least squares estimation, minimum mean-square estimation, maximum a posteriori estimation, optimal filtering, Wiener filtering, and Kalman filtering. 20. The non-transitory computer program product of claim 16, wherein the auxiliary stochastic models are learned based at least in part on at least one of principal components analysis, linear discriminant analysis, subspace learning, Galerkin methods, Hankel matrix-based methods, and machine learning algorithms.