Updating intensities in a PHD filter based on a sensor track ID
11175142 · 2021-11-16
Assignee
Inventors
- Vibhor L. Bageshwar (Minneapolis, MN, US)
- Michael Ray Elgersma (Plymouth, MN)
- Eric A. Euteneuer (St. Anthony Village, MN, US)
Cpc classification
G01D9/30
PHYSICS
G01D9/32
PHYSICS
International classification
G01D9/32
PHYSICS
G01D9/30
PHYSICS
G01S13/72
PHYSICS
Abstract
In one embodiment, a method of tracking multiple objects with a probabilistic hypothesis density filter is provided. The method includes obtaining measurements corresponding to a first object with at least one sensor, the at least one sensor providing one or more first track IDs for the measurements. A T.sub.k+1 first predicted intensity is generated for the first object based on a T.sub.k first track intensity. A T.sub.k+1 measurement from a first sensor of the at least one sensors is obtained, the first sensor providing a second track ID for the T.sub.k+1 measurement. The second track ID is compared to the one or more first track IDs, and the T.sub.k+1 first predicted intensity is selectively updated with the T.sub.k+1 measurement based on whether the second track ID matches any of the one or more first track IDs to generate a T.sub.k+1 first measurement-to-track intensity for the first object.
Claims
1. A tracking method comprising: tracking multiple objects in an environment around a vehicle with a probabilistic hypothesis density filter using one or more processing devices that are configured to perform a method comprising: obtaining statistics of a measurement vector, based on one or more sensor measurements corresponding to a first object with at least one sensor onboard the vehicle; obtaining, by the at least one sensor, a first track identifier (ID) for the one or more sensor measurements, wherein the first track ID is correlated across time to the one or more sensor measurements; generating a T.sub.k first track intensity for the first object based on the statistics of the measurement vector, the T.sub.k first track intensity including a weight, a state mean vector, and a state covariance matrix of statistics of a track of the first object at time T.sub.k; generating a T.sub.k+1 first predicted intensity for the first object based on the T.sub.k first track intensity, the T.sub.k+1 first predicted intensity corresponding to time T.sub.k+1; obtaining statistics of a T.sub.k+1 measurement vector, based on a T.sub.k+1 sensor measurement from a first sensor of the at least one sensor, the first sensor providing a second track ID for the T.sub.k+1 sensor measurement, wherein the T.sub.k+1 sensor measurement corresponds to time T.sub.k+1; comparing the second track ID to the first track ID; updating the T.sub.k+1 first predicted intensity with the statistics of the T.sub.k+1 measurement vector if the second track ID matches the first track ID to generate a T.sub.k+1 first measurement-to-track intensity for the first object at time T.sub.k+1; generating a new intensity having values equal to the statistics of the T.sub.k+1 measurement vector if the second track ID does not match the first track ID; generating a T.sub.k+1 second track intensity for a second object based on the new intensity, the T.sub.k+1 second track intensity corresponding to time T.sub.k+1; generating a T.sub.k+2 second predicted intensity based on the T.sub.k+1 second track intensity, the T.sub.k+2 second predicted intensity corresponding to time T.sub.k+2; associating the second track ID with the T.sub.k+2 second predicted intensity; obtaining statistics of a T.sub.k+2 measurement vector, based on a T.sub.k+2 sensor measurement from the first sensor, the first sensor providing a third track ID for the T.sub.k+2 sensor measurement, wherein the T.sub.k+2 sensor measurement corresponds to time T.sub.k+2; comparing the third track ID to the second track ID; computing a statistical distance between the T.sub.k+2 second predicted intensity and the statistics of the T.sub.k+2 measurement vector; and selectively updating the T.sub.k+2 second predicted intensity with the statistics of the T.sub.k+2 measurement vector based on whether the third track ID matches the second track ID and based on whether the statistical distance is less than a threshold to generate a T.sub.k+2 second measurement-to-track intensity for the second object at time T.sub.k+2; wherein the probabilistic hypothesis density filter is operative to maintain a single intensity for each object being tracked.
2. The method of claim 1, further comprising: computing a statistical distance between the T.sub.k+1 first predicted intensity and the statistics of the T.sub.k+1 measurement vector; and wherein updating includes updating the T.sub.k+1 first predicted intensity with the statistics of the T.sub.k+1 measurement vector if the statistical distance is less than a threshold.
3. The method of claim 2, wherein: if either the second track ID does not match the first track ID or the statistical distance is greater than the threshold, not updating the T.sub.k+1 first predicted intensity with the statistics of the T.sub.k+1 measurement vector.
4. The method of claim 1, further comprising: generating a T.sub.k+1 first track intensity based on the T.sub.k+1 first measurement-to-track intensity; associating the first track ID with the T.sub.k+1 first track intensity; generating a T.sub.k+2 first predicted intensity for the first object based on the T.sub.k+1 first track intensity, the T.sub.k+2 first predicted intensity corresponding to time T.sub.k+2; obtaining statistics of a T.sub.k+2 measurement vector, based on a T.sub.k+2 sensor measurement from the first sensor, the first sensor providing a fourth track ID for the T.sub.k+2 sensor measurement, wherein the T.sub.k+2 sensor measurement corresponds to time T.sub.k+2; comparing the fourth track ID to the first track ID; and selectively updating the T.sub.k+2 first predicted intensity with the statistics of the T.sub.k+2 measurement vector based on whether the fourth track ID matches the first track ID to generate a T.sub.k+2 first measurement-to-track intensity for the first object at time T.sub.k+2.
5. The method of claim 1, wherein updating includes: computing a statistical distance between the T.sub.k+1 first predicted intensity and the statistics of the T.sub.k+1 measurement vector; if the second track ID matches the first track ID and the statistical distance is less than a threshold: updating the T.sub.k+1 first predicted intensity with the statistics of the T.sub.k+1 measurement vector to generate a T.sub.k+1 first measurement-to-track intensity; and associating only the second track ID with the T.sub.k+1 first measurement-to-track intensity; pruning the T.sub.k+1 first predicted intensity such that the T.sub.k+1 first predicted intensity is no longer used for tracking the first object; generating a T.sub.k+1 track intensity from the T.sub.k+1 first measurement-to-track intensity; and associating only the second track ID with the T.sub.k+1 track intensity.
6. The method of claim 1, wherein each track ID of the first track ID and the second track ID is one of an identifier assigned by a sensor of the at least one sensor to a set of measurements obtained by that sensor that are correlated across time, or an international civil aviation organization (ICAO) aircraft address received by a sensor of the at least one sensor and corresponding to a respective measurement for that sensor.
7. A tracking system comprising: one or more processing devices onboard a vehicle; a plurality of sensors onboard the vehicle and operatively coupled to the one or more processing devices; and one or more data storage devices onboard the vehicle and including instructions which, when executed by the one or more processing devices, cause the one or more processing devices to track multiple objects in an environment around the vehicle with a probabilistic hypothesis density filter, wherein the instructions cause the one or more processing devices to: obtain a plurality of sensor measurements corresponding to a first object with at least one sensor onboard the vehicle; obtain, by the at least one sensor, a first track identifier (ID) for the plurality of sensor measurements, wherein the first track ID is correlated across time to the plurality of sensor measurements; generate a T.sub.k first track intensity for the first object based on measurement statistics from the plurality of sensor measurements, the T.sub.k first track intensity including a weight, a state mean vector, and a state covariance matrix of statistics of a track of the first object at time T.sub.k; generate a T.sub.k+1 first predicted intensity for the first object based on the T.sub.k first track intensity, the T.sub.k+1 first predicted intensity corresponding to time T.sub.k+1; obtain a T.sub.k+1 sensor measurement from a first sensor of the plurality of sensors, the first sensor providing a second track ID for the T.sub.k+1 sensor measurement, wherein the T.sub.k+1 sensor measurement corresponds to time T.sub.k+1; compare the second track ID to the first track ID; selectively update the T.sub.k+1 first predicted intensity with T.sub.k+1 measurement statistics from the T.sub.k+1 sensor measurement, based on whether the second track ID matches the first track ID to generate a T.sub.k+1 first measurement-to-track intensity for the first object at time T.sub.k+1; generate a T.sub.k+1 second track intensity for a second object based on the new intensity, the T.sub.k+1 second track intensity corresponding to time T.sub.k+1, generate a T.sub.k+2 second predicted intensity based on the T.sub.k+1 second track intensity, the T.sub.k+2 second predicted intensity corresponding to time T.sub.k+2; associate the second track ID with the T.sub.k+2 second predicted intensity; obtain a T.sub.k+2 sensor measurement from the first sensor, the first sensor providing a third track ID for the T.sub.k+2 sensor measurement, wherein the T.sub.k+2 sensor measurement corresponds to time T.sub.k+2; compare the third track ID to the second track ID; compute a statistical distance between the T.sub.k+2 second predicted intensity and T.sub.k+2 measurement statistics from the T.sub.k+2 sensor measurement; and selectively update the T.sub.k+2 second predicted intensity with the T.sub.k+2 measurement statistics based on whether the third track ID matches the second track ID and based on whether the statistical distance is less than a threshold to generate a T.sub.k+2 second measurement-to-track intensity for the second object at time T.sub.k+2, wherein the probabilistic hypothesis density filter is operative to maintain a single intensity for each object being tracked.
8. The tracking system of claim 7, wherein the instructions cause the one or more processing devices to: compute a statistical distance between the T.sub.k+1 first predicted intensity and the T.sub.k+1 measurement statistics; and wherein selectively update includes selectively update the T.sub.k+1 first predicted intensity with the T.sub.k+1 measurement statistics based on whether the statistical distance is less than a threshold.
9. The tracking system of claim 8, wherein: if either the second track ID does not match the first track ID or the statistical distance is greater than the threshold, not updating the T.sub.k+1 first predicted intensity with the T.sub.k+1 measurement statistics.
10. The tracking system of claim 7, wherein the instructions cause the one or more processing devices to: generate a plurality of T.sub.k track intensities including the T.sub.k first track intensity, the plurality of T.sub.k track intensities having a plurality of track IDs associated therewith, the plurality of track IDs including the first track ID; and if the second track ID does not match any of the plurality of track IDs, generate a new intensity having values equal to the T.sub.k+1 measurement statistics.
11. The tracking system of claim 7, wherein the instructions cause the one or more processing devices to: generate a T.sub.k+1 first track intensity based on the T.sub.k+1 first measurement-to-track intensity; associate the first track ID with the T.sub.k+1 first track intensity; generate a T.sub.k+2 first predicted intensity for the first object based on the T.sub.k+1 first track intensity, the T.sub.k+2 first predicted intensity corresponding to time T.sub.k+2; obtain a T.sub.k+2 sensor measurement from the first sensor, the first sensor providing a fourth track ID for the T.sub.k+2 sensor measurement, wherein the T.sub.k+2 sensor measurement corresponds to time T.sub.k+2; compare the fourth track ID to the first track ID; and selectively update the T.sub.k+2 first predicted intensity with T.sub.k+2 measurement statistics from the T.sub.k+2 sensor measurement based on whether the fourth track ID matches the first track ID to generate a T.sub.k+2 first measurement-to-track intensity for the first object at time T.sub.k+2.
12. The tracking system of claim 7, wherein selectively update includes: compute a statistical distance between the T.sub.k+1 first predicted intensity and the T.sub.k+1 measurement statistics; if the second track ID matches the first track ID and the statistical distance is less than a threshold: update the T.sub.k+1 first predicted intensity with the T.sub.k+1 measurement statistics to generate a T.sub.k+1 first measurement-to-track intensity; and associate only the second track ID with the T.sub.k+1 first measurement-to-track intensity; prune the T.sub.k+1 first predicted intensity such that the T.sub.k+1 first predicted intensity is no longer used for tracking the first object; generate a T.sub.k+1 track intensity from the T.sub.k+1 first measurement-to-track intensity; and associate only the second track ID with the T.sub.k+1 track intensity.
13. The tracking system of claim 7, wherein: the vehicle is an aircraft; and the plurality of sensors comprise one or more of a radar, a traffic collision avoidance system (TCAS) sensor, an automatic dependent surveillance-broadcast (ADS-B) sensor, an optical camera, or a LiDAR; wherein each track ID of the first track ID and the second track ID is one of an identifier assigned by one of the sensors to a set of measurements obtained by that sensor that are correlated across time, or an international civil aviation organization (ICAO) aircraft address received by one of the sensors and corresponding to a respective measurement for that sensor.
14. A non-transitory computer readable medium including instructions which, when executed by one or more processing devices, cause the one or more processing devices to: track multiple objects in an environment around a vehicle with a probabilistic hypothesis density filter, wherein the instructions cause the one or more processing devices to: obtain a plurality of sensor measurements corresponding to a first object with at least one sensor onboard the vehicle; obtain, by the at least one sensor, a first track identifier (ID) for the plurality of sensor measurements, wherein the first track ID is correlated across time to the plurality of sensor measurements; generate a T.sub.k first track intensity for the first object based on measurement statistics from the plurality of sensor measurements, the T.sub.k first track intensity including a weight, a state mean vector, and a state covariance matrix of statistics of a track of the first object at time T.sub.k; generate a T.sub.k+1 first predicted intensity for the first object based on the T.sub.k first track intensity, the T.sub.k+1 first predicted intensity corresponding to time T.sub.k+1; obtain a T.sub.k+1 sensor measurement from a first sensor of the plurality of sensors, the first sensor providing a second track ID for the T.sub.k+1 sensor measurement, wherein the T.sub.k+1 sensor measurement corresponds to time T.sub.k+1; compare the second track ID to the first track ID; selectively update the T.sub.k+1 first predicted intensity with T.sub.k+1 measurement statistics from the T.sub.k+1 sensor measurement, based on whether the second track ID matches the first track ID to generate a T.sub.k+1 first measurement-to-track intensity for the first object at time T.sub.k+1; generate a T.sub.k+1 second track intensity for a second object based on the new intensity, the T.sub.k+1 second track intensity corresponding to time T.sub.k+1; generate a T.sub.k+2 second predicted intensity based on the T.sub.k+1 second track intensity, the T.sub.k+2 second predicted intensity corresponding to time T.sub.k+2; associate the second track ID with the T.sub.k+2 second predicted intensity; obtain a T.sub.k+2 sensor measurement from the first sensor, the first sensor providing a third track ID for the T.sub.k+2 sensor measurement, wherein the T.sub.k+2 sensor measurement corresponds to time T.sub.k+2; compare the third track ID to the second track ID; compute a statistical distance between the T.sub.k+2 second predicted intensity and T.sub.k+2 measurement statistics from the T.sub.k+2 sensor measurement; and selectively update the T.sub.k+2 second predicted intensity with the T.sub.k+2 measurement statistics based on whether the third track ID matches the second track ID and based on whether the statistical distance is less than a threshold to generate a T.sub.k+2 second measurement-to-track intensity for the second object at time T.sub.k+2; wherein the probabilistic hypothesis density filter is operative to maintain a single intensity for each object being tracked.
15. The non-transitory computer readable medium of claim 14, wherein the instructions cause the one or more processing devices to: compute a statistical distance between the T.sub.k+1 first predicted intensity and the T.sub.k+1 measurement statistics; and wherein selectively update includes selectively update the T.sub.k+1 first predicted intensity with the T.sub.k+1 measurement statistics based on whether the statistical distance is less than a threshold.
16. The non-transitory computer readable medium of claim 14, wherein the instructions cause the one or more processing devices to: generate a plurality of T.sub.k track intensities including the T.sub.k first track intensity, the plurality of T.sub.k track intensities having a plurality of track IDs associated therewith, the plurality of track IDs including the first track ID; and if the second track ID does not match any of the plurality of track IDs, generate a new intensity having values equal to the T.sub.k+1 measurement statistics.
17. The non-transitory computer readable medium of claim 14, wherein each track ID of the first track ID and the second track ID is an international civil aviation organization (ICAO) aircraft address received by a sensor of the at least one sensor and corresponding to a respective measurement for that sensor.
Description
DRAWINGS
(1) Understanding that the drawings depict only exemplary embodiments and are not therefore to be considered limiting in scope, the exemplary embodiments will be described with additional specificity and detail through the use of the accompanying drawings, in which:
(2)
(3)
(4)
(5) In accordance with common practice, the various described features are not drawn to scale but are drawn to emphasize specific features relevant to the exemplary embodiments.
DETAILED DESCRIPTION
(6) The subject matter described herein provides for a method of updating intensities that are being tracked in a probabilistic hypothesis density (PHD) filter by using track identifiers (IDs) provided by one or more sensors obtaining object measurements corresponding to the intensities. A track ID is an identifier provided by a sensor, wherein the identifier is correlated across time to a series of measurements. One type of track ID is an international civil aviation organization (ICAO) aircraft address that is transmitted by an aircraft along with corresponding measurement information and is received by a sensor along with the corresponding measurement information. Examples of sensors that are able to receive such ICAO aircraft addresses include an automatic dependent surveillance-broadcast (ADS-B) sensor and a traffic collision avoidance system (TCAS) mode S sensor. Another type of track ID is an identifier from a sensor that correlates measurements over time. In particular, such sensors identify tracks of objects by correlating measurements over time and assigning an ID to those tracks. These IDs are provided by the sensor along with the measurements. Since these IDs are generated by a sensor that correlates its own measurements over time, these IDs are sensor specific. That is, even though a first sensor and a second sensor may be obtaining measurements of the same object, the first sensor and second sensor correlate their own measurements, not the measurements of the other sensor; therefore, the track ID provided by each sensor is different and corresponds to the measurements from that sensor not the other sensor. Examples of a sensor that provides such a track ID for correlated measurements include a TCAS mode C sensor, certain LiDARs, and certain radars. The subject matter described herein utilizes these track IDs to improve the accuracy and efficiency with which multiple objects can be tracked in a PHD filter.
(7)
(8)
(9) The one or more processing devices 208 are configured to track a plurality of objects (such as intruder aircraft 106, 108) based on the measurements received from the sensors 202-206. To track the objects, the one or more processing devices 208 are configured to execute instructions 210 stored on one or more data storage devices 212 coupled to the one or more processing devices 208. The instructions 210, when executed by the one or more processing devices 208, cause the one or more processing devices 208 to implement the actions to track objects based on the measurements from the sensors 202-206. The one or more processing devices 208 can include a central processing unit (CPU), microcontroller, microprocessor, (e.g., a digital signal processor), field programmable gate array (FPGA), application specific integrated circuit (ASIC), or other processing device. In certain examples, the one or more data storage devices 212 include a non-volatile electronic hardware device for storing machine readable data and instructions. In an example, the one or more data storage devices 212 store information on any appropriate computer readable medium used for storage of computer readable instructions or data structures. The computer readable medium can be implemented as any available media that can be accessed by the one or more processing devices 208. Suitable computer readable media may include storage media such as magnetic or optical media. For example, storage media can include a conventional hard disk, Compact Disk-Read Only Memory (CD-ROM), solid state drive (SSD), other flash memory, Read Only Memory (ROM), and Electrically Erasable Programmable ROM (EEPROM). The one or more processing devices 208 are also coupled to memory 214 that is configured to store data and instructions during execution by the one or more processing devices 208. The memory 214 can include volatile or non-volatile media such as Random Access Memory (RAM) (including, but not limited to, Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate (DDR) RAM, RAMBUS Dynamic RAM (RDRAM), and Static RAM (SRAM), etc.). In an example, the one or more processing devices 208 are configured to output information regarding the tracks of the objects to an output device such as a display device. In some examples, the one or more processing devices 208 provide the track information to a larger SAA system for controlling movement of an unmanned aircraft system.
(10)
(11) The tracking method 300 operates on measurements that have a track ID associated therewith that was provided by a sensor 202-206. Accordingly, one or more measurements and their associated track IDs are provided by the sensors 202-206 (block 302). The one or more measurements each have a single respective track ID associated therewith. In some examples, other measurements that do not have a track ID associated therewith are also obtained by the sensors 202-206. These other measurements can also be used to update intensities maintained by the loop of method 300 after translating the measurements to the statistics of a set-valued measurement vector (i.e., the measurement statistics, for short). Actions to update the intensities with such other measurements are not shown in
(12) The tracking method 300 utilizes the track IDs provided by the sensors 202-206 to determine whether to update a currently maintained intensity with a newly obtained measurement from the sensors 202-206. The tracking method 300 utilizes the fact that the track ID provided by a sensor 202-206 indicates a potential correlation with previous measurements to determine which intensities to update with which measurement statistics. In order to do this, the tracking method 300 associates one or more track IDs with a currently maintained intensity. In some examples, all currently maintained intensities have at least one track ID associated therewith, however, in other examples one or more of the currently maintained intensities may not have a track ID associated therewith. In any case, the intensities that do have a track ID associated therewith can proceed through the method 300 as described herein. Any intensity that does not have a track ID associated therewith can be updated in any suitable manner including in a manner known to those skilled in the art. Actions to update an intensity that does not have a track ID associated therewith are not shown in
(13) As mentioned above, each loop of method 300 updates each intensity that is not deleted to the next time step. As used herein, time steps are referred to as T.sub.k, T.sub.k+1 for the time step which immediately follows time step T.sub.k, T.sub.k+2 for the time step which immediately follows time step T.sub.k+1, etc. The length of time corresponding to a time step can be determined in any suitable manner, such as based on the frequency of measurements provided by one or more of the sensors 202-206. For a given loop of the method 300, the one or more measurements provided by the sensors 202-206 correspond to the time step at which the one or more intensities are being updated. In an example loop, therefore, the one or more intensities input into the loop (block 304) correspond to time step T.sub.k and the one or more measurements input into the loop (block 302) correspond to time step T.sub.k+1. During this iteration of the loop, the one or more intensities are predicted to time step T.sub.k+1 (block 308) and updated to time step T.sub.k+1 using the one or more measurements that correspond to time step T.sub.k+1.
(14) In an example, one or more T.sub.k intensities (intensities corresponding to time step T.sub.k) are provided (block 304) from the previous iteration of the loop. The one or more T.sub.k intensities are the one or more intensities that were output from the previous iteration of the loop. In examples where the tracking system 102 provides tracks of objects to an SAA system, the one or more T.sub.k intensities are output to the SAA system as the tracks for time step T.sub.k. Each intensity progresses through multiple intermediate stages during updating by method 300. An intensity that has completed updating for a given time step and is output (e.g., to an SAA system) is referred to herein as a “track intensity”. Accordingly, the one or more T.sub.k intensities input into a loop of method 300 are also referred to herein as one or more T.sub.k “track” intensities.
(15) Ignoring any T.sub.k track intensities that do not have a track ID associated therewith (as discussed above), each of the one or more T.sub.k track intensities input into the loop has a respective one or more track IDs associated therewith. Each of these track IDs corresponds to one or more measurements from a sensor 202-206 that have been used to update (in a previous time step) the respective T.sub.k track intensity. The one or more track IDs can correspond to measurements that have been used to update the T.sub.k track intensity at any time step including and previous to the T.sub.k time step. For example, the respective one or more track IDs can correspond to measurements that have been used to update the corresponding T.sub.k track intensity at the T.sub.k time step, the T.sub.k−1 time step, the T.sub.k−2 time step, etc. More detail regarding the process of associating one or more track IDs with a track intensity is provided below.
(16) In any case, the one or more T.sub.k track intensities (block 304) collectively have a first one or more track IDs associated therewith. Similarly, the one or more measurements (block 302) from the sensors 202-206 collectively have a second one or more track IDs provided therewith. The second one or more track IDs are compared with the first one or more track IDs to determine which, if any, T.sub.k track intensities to update with which, if any, of the one or more measurement statistics. In an example, to compare the second one or more track IDs with the first one or more track IDs, each track ID from the second one or more track IDs is compared with each track ID from the one or more first track IDs. A match occurs when a track ID from the second one or more track IDs is the same as a track ID from the first one or more track IDs. The one or more T.sub.k track intensities are selectively updated based on whether any of the second one or more track IDs match the one or more track IDs of the first one or more track IDs that are associated with a respective T.sub.k track intensity. That is, a given T.sub.k track intensity is selectively updated based on whether any of the second one or more track IDs match any of the one or more track IDs associated with the given T.sub.k track intensity.
(17) In addition to using the comparison between the one or more track IDs to determine whether to update the one or more T.sub.k track intensities, a statistical distance test is also used. The statistical distance test includes computing a statistical distance between an intensity and a measurement statistic. Any suitable distance test can be used, such as a Malhanobis distance test. Since the one or more measurement statistics correspond to time step T.sub.k+1, in order to accurately compute a statistical distance, a predicted intensity for time step T.sub.k+1 (a T.sub.k+1 predicted intensity) is computed (block 308) for each of the one or more T.sub.k+1 track intensities. These one or more T.sub.k+1 predicted intensities can be computed in any suitable manner including in ways known to those skilled in the art. Once the T.sub.k+1 predicted intensities are computed, statistical distances can be computed between the one or more T.sub.k+1 predicted intensities and the one or more measurement statistics respectively. The T.sub.k+1 predicted intensities are then selectively updated based on whether a corresponding statistical distance (as explained below) is below a threshold. The threshold can be selected in any suitable manner.
(18) In an example, a statistical distance is computed for each pair of the one or more measurement statistics and the T.sub.k+1 predicted intensities. That is, a statistical distance is computed between each of the one or more measurements measurement statistics and each of the one or more T.sub.k+1 predicted intensities. If any of the measurement-T.sub.k+1 predicted intensity pairs have at least one matching track ID and have a statistical distance that is below a threshold, that T.sub.k+1 predicted intensity is updated with the paired measurement statistic. If there is no matching track ID or the statistical distance is above the threshold for a given measurement-T.sub.k+1 predicted intensity pair, then that T.sub.k+1 predicted intensity is not updated with the paired measurement statistic. This analysis is repeated for each measurement-T.sub.k+1 predicted intensity pair.
(19) In another example, instead of computing the statistical distance for each pair of the one or more measurement statistics and the T.sub.k+1 predicted intensities, a statistical distance test is selectively computed based on whether any matching track IDs are present for the measurement-T.sub.k+1 predicted intensity pair. For example, for a given measurement-T.sub.k+1 predicted intensity pair, if the track ID provided with that measurement statistic matches any of the track IDs associated with the T.sub.k+1 predicted intensity, then the statistical distance between that measurement statistic and that T.sub.k+1 predicted intensity are computed. If the statistical distance is below a threshold, that T.sub.k+1 predicted intensity is updated with the paired measurement statistic. If the statistical distance is above the threshold, then that T.sub.k+1 predicted intensity is not updated with the paired measurement statistic. If, however, the track ID provided with the sensor measurement does not match any of track IDs associated with the T.sub.k+1 predicted intensity, then the statistical distance is not computed and that T.sub.k+1 predicted intensity is not updated with the paired measurement statistic. This analysis is repeated for each measurement-T.sub.k+1 predicted intensity pair.
(20) In either case, the one or more T.sub.k+1 predicted intensities are selectively updated with the one or more measurement statistics based on their track IDs and the statistical distances. Updating a T.sub.k+1 predicted intensity with a measurement statistic (block 310) refers to the process of adjusting the prediction to take into account the measurement statistic. Basically, the analysis of the track IDs and the statistical distance identifies which measurement statistics likely correspond to which T.sub.k+1 predicted intensities. Since track IDs provide evidence of a correlation between a previous sensor measurement and a current sensor measurement, the track IDs can be used as a simple and effective aid in determining whether a given measurement statistic corresponds to an object being tracked by a given T.sub.k+1 predicted intensity.
(21) In an example, this updating includes computing a measurement-to-track association between the paired measurement statistic and T.sub.k+1 predicted intensity to generate a measurement-to-track intensity for the measurement-T.sub.k+1 predicted intensity pair. Such a measurement-to-track association can be computed in any suitable manner, including in ways known to those skilled in the art. The measurement-to-track intensity corresponds to time step T.sub.k+1 and, therefore, is also referred to as a T.sub.k+1 measurement-to-track intensity. In this example, measurement-to-track intensities are generated for each measurement-T.sub.k+1 predicted intensity pair that has a matching track ID and a statistical distance below the threshold.
(22) In addition to being used to selectively determine whether to update a T.sub.k+1 predicted intensity, track IDs can also be used to determine whether to initiate a new intensity (block 309). In an example, if a track ID in the second one or more track IDs (provided with the one or more sensor measurements) does not match any of the first one or more track IDs (associated with the one or more T.sub.k track intensities), then a new intensity is initiated having values equal to the measurement statistic provided with the (non-matching) track ID. Since the track IDs provide evidence of a correlation between previous sensor measurements and a current sensor measurement, if no current intensities (T.sub.k track intensities) have a track ID that matches a track ID of a sensor measurement, this provides evidence that the sensor measurement corresponding to that track ID is a measurement of a newly sensed object by a given sensor. Accordingly, a new intensity is created for that sensor measurement. Such a newly sensed object can be an object that just came into view of the sensor or can occur when a sensor drops an object for a while—for whatever reason—and then picks up the object again. In any case, a new intensity is created for each measurement of the one or more sensor measurements in which the track ID provided therewith does not match any of the first one or more track IDs. The track ID from the sensor measurement used to create the new intensity is associated with that new intensity.
(23) In an example, these one or more new intensities are analyzed in the same manner as the one or more T.sub.k+1 predicted intensities to determine whether to update the one or more new intensities based on whether each new intensity-measurement pair has a matching track ID and a statistical distance below a threshold (block 310). In this example, since each new intensity has values equal to a measurement statistic and has the track ID from that measurement statistic associated therewith, each new intensity will have one measurement statistic that has a matching track ID and a statistical distance below the threshold. Similar to that described above, updating a new intensity includes computing a measurement-to-track association to generate a measurement-to-track intensity based on the new intensity-measurement pair.
(24) The T.sub.k+1 predicted intensities, new intensities, and measurement-to-track intensities are then further processed by pruning and merging the intensities to generate the T.sub.k+1 track intensities for this loop (block 312). Any suitable process of pruning and merging intensities can be used, including processes known to those skilled in the art.
(25) The resulting one or more T.sub.k+1 track intensities can be output for display and/or further analysis, such as by an SAA system (block 314). The one or more T.sub.k+1 track intensities are also provided as input into the next iteration of the loop for updating based on one or more measurement statistics for time step T.sub.k+2.
(26) As mentioned above, in order to utilize track IDs to determine whether to update a track intensity and a new intensity one or more track IDs are associated with the one or more track intensities and one or more new intensities. The one or more track IDs associated with a track intensity correspond to measurement statistics used to update/generate the track intensity. For a new intensity, the track ID associated therewith is the track ID provided with the sensor measurement from which the new intensity was created as discussed above. For a measurement-to-track intensity, the track ID associated therewith is the track ID from the measurement statistic of the one or more measurement statistics in the current time step that was used to update the predicted intensity to generate the measurement-to-track intensity.
(27) For a track intensity, the track intensity maintains all track IDs from any measurement used to create the track intensity. For example, if no intensities are merged with a given track intensity as it is updated to the next time step, the updated track intensity maintains the same track ID(s) as the previous track intensity. If, however, a first intensity is merged (block 312) with a second one or more intensities to create an updated track intensity, the updated track intensity has associated therewith all the track IDs from the first intensity and the second one or more intensities. The first intensity and second one or more intensities can be any type of intensity including a predicted intensity, a measurement-to-track intensity, and a new intensity. Accordingly, if a predicted intensity and a measurement-to-track intensity are merged to form a track intensity, that track intensity has associated therewith all the track ID(s) associated with the predicted intensity and the track ID associated with the measurement-to-track intensity.
(28) If an intensity is pruned (block 312), that intensity is deleted (no longer maintained) and, therefore, is not present in the updated track intensities. Any track IDs associated with a pruned intensity are not passed on to an updated track intensity by the pruned intensity. Finally, if a measurement-to-track intensity is not merged with any other intensities and an updated track intensity is created based on the measurement-to-track intensity, the track ID associated with the measurement-to-track intensity is associated with the updated track intensity. No other track IDs are associated with such an updated track intensity. Similarly, if a new intensity is not merged with any other intensities and an updated track intensity is created based thereon, the track ID associated with the new intensity is associated with the updated track intensity. No other track IDs are associated with such an updated track intensity.
EXAMPLE EMBODIMENTS
(29) Example 1 includes a method of tracking multiple objects with a probabilistic hypothesis density filter, the method comprising: obtaining a plurality of measurements corresponding to a first object with at least one sensor, the at least one sensor providing one or more first track IDs for the plurality of measurements; generating a T.sub.k first track intensity for the first object based on the plurality of measurements, the T.sub.k first track intensity including a weight, a state mean vector, and a state covariance matrix of statistics of a track of the first object at time T.sub.k; generating a T.sub.k+1 first predicted intensity for the first object based on the T.sub.k first track intensity, the T.sub.k+1 first predicted intensity corresponding to time T.sub.k+1; obtaining a T.sub.k+1 measurement from a first sensor of the at least one sensors, the first sensor providing a second track ID for the T.sub.k+1 measurement, wherein the T.sub.k+1 measurement corresponds to time T.sub.k+1; comparing the second track ID to the one or more first track IDs; and selectively updating the T.sub.k+1 first predicted intensity with the T.sub.k+1 measurement based on whether the second track ID matches any of the one or more first track IDs to generate a T.sub.k+1 first measurement-to-track intensity for the first object at time T.sub.k+1.
(30) Example 2 includes the method of Example 1, comprising: computing a statistical distance between the T.sub.k+1 first predicted intensity and the T.sub.k+1 measurement; and wherein selectively updating includes selectively updating the T.sub.k+1 first predicted intensity with the T.sub.k+1 measurement based on whether the statistical distance is less than a threshold.
(31) Example 3 includes the method of Example 2, wherein selectively updating includes: if the second track ID matches any of the one or more first track IDs and the statistical distance is less than a threshold, updating the T.sub.k+1 first predicted intensity with the T.sub.k+1 measurement; and if either the second track ID does not match any of the one or more first track IDs or the statistical distance is greater than the threshold, not updating the T.sub.k+1 first predicted intensity with the T.sub.k+1 measurement.
(32) Example 4 includes the method of any of Examples 1-3, comprising: generating a plurality of T.sub.k track intensities including the T.sub.k first track intensity, the plurality of T.sub.k track intensities having a plurality of track IDs associated therewith, the plurality of track IDs including the first one or more track IDs, if the second track ID does not match any of the plurality of track IDs, generating a new intensity having values equal to the T.sub.k+1 measurement.
(33) Example 5 includes the method of Example 4, comprising: generating a T.sub.k+1 second track intensity for a second object based on the new intensity, the T.sub.k+1 second track intensity corresponding to time T.sub.k+1; generating a T.sub.k+2 second predicted intensity based on the T.sub.k+1 second track intensity, the T.sub.k+2 second predicted intensity corresponding to time T.sub.k+2; associating the second track ID with the T.sub.k+2 second predicted intensity; obtaining a T.sub.k+2 measurement from the first sensor, the first sensor providing a third track ID for the T.sub.k+2 measurement, wherein the T.sub.k+2 measurement corresponds to time T.sub.k+2; comparing the third track ID to the second track ID; computing a second statistical distance between the T.sub.k+2 second predicted intensity and the T.sub.k+2 measurement; selectively updating the T.sub.k+2 second predicted intensity with the T.sub.k+2 measurement based on whether the third track ID matches the second track ID and based on whether the second statistical distance is less than the threshold to generate a T.sub.k+2 second measurement-to-track intensity for the second object at time T.sub.k+2.
(34) Example 6 includes the method of any of Examples 1-5, comprising: generating a T.sub.k+1 first track intensity based on the T.sub.k+1 first measurement-to-track intensity; associating the one or more first track IDs with the T.sub.k+1 first track intensity; generating a T.sub.k+2 first predicted intensity for the first object based on the T.sub.k+1 first track intensity, the T.sub.k+2 first predicted intensity corresponding to time T.sub.k+2; obtaining a T.sub.k+2 measurement from the first sensor, the first sensor providing a fourth track ID for the T.sub.k+2 measurement, wherein the T.sub.k+2 measurement corresponds to time T.sub.k+2; comparing the fourth track ID to the one or more first track IDs; and selectively updating the T.sub.k+2 first predicted intensity with the T.sub.k+2 measurement based on whether the fourth track ID matches any of the one or more first track IDs to generate a T.sub.k+2 first track intensity for the first object at time T.sub.k+2.
(35) Example 7 includes the method of any of Examples 1-6, wherein selectively updating includes: computing a statistical distance between the T.sub.k+1 first predicted intensity and the T.sub.k+1 measurement, wherein selectively updating includes, if the second track ID matches any of the one or more first track IDs and the statistical distance is less than a threshold: updating the T.sub.k+1 first predicted intensity with the T.sub.k+1 measurement to generate a T.sub.k+1 first measurement-to-track intensity; and associating only the second track ID of the one or more first track IDs with the T.sub.k+1 first measurement-to-track intensity; pruning the T.sub.k+1 first predicted intensity such that the T.sub.k+1 first predicted intensity is no longer used for tracking the first object; and generating a T.sub.k+1 track intensity from the T.sub.k+1 first measurement-to-track intensity; and associating only the second track ID of the one or more first track IDs with the T.sub.k+1 track intensity.
(36) Example 8 includes the method of any of Examples 1-7, wherein each track ID of the one or more first track IDs and the second track ID is one of an identifier assigned by a sensor to a set of measurements obtained by that sensor that are correlated across time, or an international civil aviation organization (ICAO) aircraft address received by a sensor and corresponding to a respective measurement for that sensor.
(37) Example 9 includes a tracking system comprising: one or more processing devices; and one or more data storage devices including instructions which, when executed by the one or more processing devices, cause the one or more processing devices to track multiple objects with a probabilistic hypothesis density filter, wherein the instructions cause the one or more processing devices to: obtain a plurality of measurements corresponding to a first object with at least one sensor, the at least one sensor providing one or more first track IDs for the plurality of measurements; generate a T.sub.k first track intensity for the first object based on the plurality of measurements, the T.sub.k first track intensity including a weight, a state mean vector, and a state covariance matrix of statistics of a track of the first object at time T.sub.k; generate a T.sub.k+1 first predicted intensity for the first object based on the T.sub.k first track intensity, the T.sub.k+1 first predicted intensity corresponding to time T.sub.k+1; obtain a T.sub.k+1 measurement from a first sensor of the at least one sensors, the first sensor providing a second track ID for the T.sub.k+1 measurement, wherein the T.sub.k+1 measurement corresponds to time T.sub.k+1; compare the second track ID to the one or more first track IDs; and selectively update the T.sub.k−1 first predicted intensity with the T.sub.k+1 measurement based on whether the second track ID matches any of the one or more first track IDs to generate a T.sub.k+1 first measurement-to-track intensity for the first object at time T.sub.k+1.
(38) Example 10 includes the tracking system of Example 9, wherein the instructions cause the one or more processing devices to: compute a statistical distance between the T.sub.k+1 first predicted intensity and the T.sub.k+1 measurement; and wherein selectively update includes selectively update the T.sub.k+1 first predicted intensity with the T.sub.k+1 measurement based on whether the statistical distance is less than a threshold.
(39) Example 11 includes the tracking system of Example 10, wherein selectively update includes: if the second track ID matches any of the one or more first track IDs and the statistical distance is less than a threshold, update the T.sub.k+1 first predicted intensity with the T.sub.k+1 measurement; and if either the second track ID does not match any of the one or more first track IDs or the statistical distance is greater than the threshold, not updating the T.sub.k+1 first predicted intensity with the T.sub.k+1 measurement.
(40) Example 12 includes the tracking system of any of Examples 9-11, wherein the instructions cause the one or more processing devices to: generate a plurality of T.sub.k track intensities including the T.sub.k first track intensity, the plurality of T.sub.k track intensities having a plurality of track IDs associated therewith, the plurality of track IDs including the first one or more track IDs, if the second track ID does not match any of the plurality of track IDs, generate a new intensity having values equal to the T.sub.k+1 measurement.
(41) Example 13 includes the tracking system of Example 12, wherein the instructions cause the one or more processing devices to: generate a T.sub.k+1 second track intensity for a second object based on the new intensity, the T.sub.k+1 second track intensity corresponding to time T.sub.k+1; generate a T.sub.k+2 second predicted intensity based on the T.sub.k+1 second track intensity, the T.sub.k+2 second predicted intensity corresponding to time T.sub.k+2; associate the second track ID with the T.sub.k+2 second predicted intensity; obtain a T.sub.k+2 measurement from the first sensor, the first sensor providing a third track ID for the T.sub.k+2 measurement, wherein the T.sub.k+2 measurement corresponds to time T.sub.k+2; compare the third track ID to the second track ID; compute a second statistical distance between the T.sub.k+2 second predicted intensity and the T.sub.k+2 measurement; selectively update the T.sub.k+2 second predicted intensity with the T.sub.k+2 measurement based on whether the third track ID matches the second track ID and based on whether the second statistical distance is less than the threshold to generate a T.sub.k+2 second measurement-to-track intensity for the second object at time T.sub.k+2.
(42) Example 14 includes the tracking system of any of Examples 9-13, wherein the instructions cause the one or more processing devices to: generate a T.sub.k+1 first track intensity based on the T.sub.k+1 first measurement-to-track intensity; associate the one or more first track IDs with the T.sub.k+1 first track intensity; generate a T.sub.k+2 first predicted intensity for the first object based on the T.sub.k+1 first track intensity, the T.sub.k+2 first predicted intensity corresponding to time T.sub.k+2; obtain a T.sub.k+2 measurement from the first sensor, the first sensor providing a fourth track ID for the T.sub.k+2 measurement, wherein the T.sub.k+2 measurement corresponds to time T.sub.k+2; compare the fourth track ID to the one or more first track IDs; and selectively update the T.sub.k+2 first predicted intensity with the T.sub.k+2 measurement based on whether the fourth track ID matches any of the one or more first track IDs to generate a T.sub.k+2 first track intensity for the first object at time T.sub.k+2.
(43) Example 15 includes the tracking system of any of Examples 9-14, wherein selectively update includes: compute a statistical distance between the T.sub.k+1 first predicted intensity and the T.sub.k+1 measurement, wherein selectively update includes, if the second track ID matches any of the one or more first track IDs and the statistical distance is less than a threshold: update the T.sub.k+1 first predicted intensity with the T.sub.k+1 measurement to generate a T.sub.k+1 first measurement-to-track intensity; and associate only the second track ID of the one or more first track IDs with the T.sub.k+1 first measurement-to-track intensity; prune the T.sub.k+1 first predicted intensity such that the T.sub.k+1 first predicted intensity is no longer used for tracking the first object; and generate a T.sub.k+1 track intensity from the T.sub.k+1 first measurement-to-track intensity; and associate only the second track ID of the one or more first track IDs with the T.sub.k+1 track intensity.
(44) Example 16 includes the tracking system of any of Examples 9-15, wherein each track ID of the one or more first track IDs and the second track ID is one of an identifier assigned by a sensor to a set of measurements obtained by that sensor that are correlated across time, or an international civil aviation organization (ICAO) aircraft address received by a sensor and corresponding to a respective measurement for that sensor.
(45) Example 17 includes a computer readable medium including instructions which, when executed by one or more processing devices, cause the one or more processing devices to: obtain a plurality of measurements corresponding to a first object with at least one sensor, the at least one sensor providing one or more first track IDs for the plurality of measurements; generate a T.sub.k first track intensity for the first object based on the plurality of measurements, the T.sub.k first track intensity including a weight, a state mean vector, and a state covariance matrix of statistics of a track of the first object at time T.sub.k; generate a T.sub.k+1 first predicted intensity for the first object based on the T.sub.k first track intensity, the T.sub.k+1 first predicted intensity corresponding to time T.sub.k+1; obtain a T.sub.k+1 measurement from a first sensor of the at least one sensors, the first sensor providing a second track ID for the T.sub.k+1 measurement, wherein the T.sub.k+1 measurement corresponds to time T.sub.k+1; compare the second track ID to the one or more first track IDs; and selectively update the T.sub.k+1 first predicted intensity with the T.sub.k+1 measurement based on whether the second track ID matches any of the one or more first track IDs to generate a T.sub.k+1 first measurement-to-track intensity for the first object at time T.sub.k+1.
(46) Example 18 includes the computer readable medium of Example 17, wherein the instructions cause the one or more processing devices to: compute a statistical distance between the T.sub.k+1 first predicted intensity and the T.sub.k+1 measurement; and wherein selectively update includes selectively update the T.sub.k+1 first predicted intensity with the T.sub.k+1 measurement based on whether the statistical distance is less than a threshold.
(47) Example 19 includes the computer readable medium of any of Examples 17-18, wherein the instructions cause the one or more processing devices to: generate a plurality of T.sub.k track intensities including the T.sub.k first track intensity, the plurality of T.sub.k track intensities having a plurality of track IDs associated therewith, the plurality of track IDs including the first one or more track IDs, if the second track ID does not match any of the plurality of track IDs, generate a new intensity having values equal to the T.sub.k+1 measurement.
(48) Example 20 includes the computer readable medium of any of Examples 17-19, wherein each track ID of the one or more first track IDs and the second track ID is one of an identifier assigned by a sensor to a set of measurements obtained by that sensor that are correlated across time, or an international civil aviation organization (ICAO) aircraft address received by a sensor and corresponding to a respective measurement for that sensor.