Entity-tracking computing system
An entity-tracking computing system receives sensor information from a plurality of different sensors. The positions of entities detected by the various sensors are resolved to an environment-relative coordinate system so that entities identified by one sensor can be tracked across the fields of detection of other sensors.
1. An entity-tracking computing system, comprising:
a logic machine;
a communication subsystem; and
a storage machine holding instructions executable by the logic machine to:
via the communication subsystem, communicatively couple the entity-tracking computing system to a plurality of sensors each having a field-of-detection (FOD) within an environment;
maintain an environment-relative coordinate system to which the FOD of each sensor of the plurality of sensors is mapped, where mapping the FOD of a particular sensor of the plurality of sensors to the environment-relative coordinate system includes resolving a position of a calibration device relative to the particular sensor, and identifying a correspondence between the position of the calibration device and the FOD of the particular sensor;
receive, via the communication subsystem and from a first sensor of the plurality of sensors, an indication of presence of a first entity within a FOD of the first sensor at a sensor-relative position within a sensor-relative coordinate system of the first sensor;
translate the sensor-relative position of the first entity to an environment-relative position of the first entity within the environment-relative coordinate system;
assign a unique entity identifier to the first entity;
receive, from a second sensor of the plurality of sensors, an indication of presence of a second entity within a FOD of the second sensor at a sensor-relative position within a sensor-relative coordinate system of the second sensor;
translate the sensor-relative position of the second entity to an environment-relative position of the second entity within the environment-relative coordinate system; and
based on determining that the environment-relative position of the second entity is consistent with the environment-relative position of the first entity, assign the unique entity identifier to the second entity.
2. The entity-tracking computing system of claim 1 , where resolving the position of the calibration device includes receiving from the calibration device information useable to assess the position of the calibration device within the environment-relative coordinate system.
3. The entity-tracking computing system of claim 2 , where the particular sensor incorporates a positioning marker, and the instructions are further executable to receive, from the calibration device, information useable to assess a position of the positioning marker within the environment-relative coordinate system.
4. The entity-tracking computing system of claim 2 , where the calibration device incorporates a positioning marker, and the instructions are further executable to receive, from the particular sensor, information useable to assess a position of the positioning marker within a sensor-relative coordinate system of the particular sensor.
5. The entity-tracking computing system of claim 1 , where the first entity is unidentified, and where the unique entity identifier is a generic identifier.
6. The entity-tracking computing system of claim 5 , where data received from the second sensor is useable to identify the second entity as a previously-identified human, and the instructions are further executable to replace the generic identifier with a previously-assigned entity identifier associated with the previously-identified human.
7. The entity-tracking computing system of claim 1 , where the first entity is previously-identified human, and where the unique entity identifier is a previously-assigned entity identifier associated with the previously-identified human.
8. The entity-tracking computing system of claim 1 , where the first sensor is a camera, and where the data received from the camera includes information usable to identify a human face in the first FOD.
9. The entity-tracking computing system of claim 1 , where data received from the second sensor is not sufficient to identify the second entity without the data received from the first sensor.
10. The entity-tracking computing system of claim 1 , where determining that the environment-relative position of the second entity is consistent with the environment-relative position of the first entity includes determining that the environment-relative position of the second entity is within a threshold distance of the environment-relative position of the first entity according to the environment-relative coordinate system.
11. The entity-tracking computing system of claim 1 , where the instructions are further executable to predict a path of the first entity after the first entity leaves the FOD of the first sensor, and determining that the environment-relative position of the second entity is consistent with the environment-relative position of the first entity includes determining that the environment-relative position of the second entity is consistent with the path after the second entity enters the FOD of the second sensor.
12. The entity-tracking computing system of claim 1 , where determining that the environment-relative position of the second entity is consistent with the environment-relative position of the first entity includes determining that one or more identifying characteristics of the second entity are within a threshold similarity of one or more identifying characteristics of the first entity.
13. The entity-tracking computing system of claim 1 , where the plurality of sensors includes a plurality of cameras.
14. The entity-tracking computing system of claim 13 , where the plurality of cameras includes one or more infrared (IR) cameras.
15. The entity-tracking computing system of claim 13 , where the plurality of cameras includes one or more depth cameras.
16. The entity-tracking computing system of claim 13 , where the plurality of cameras includes one or more downward-facing overhead cameras.
17. The entity-tracking computing system of claim 1 , where the plurality of sensors includes a radar sensor.
18. A method for tracking entities in an environment, comprising:
maintaining an environment-relative coordinate system to which a field-of-detection (FOD) of each of a plurality of sensors is mapped, each of the plurality of sensors having a FOD within the environment, where mapping the FOD of a particular sensor of the plurality of sensors to the environment-relative coordinate system includes resolving a position of a calibration device relative to the particular sensor, and identifying a correspondence between the position of the calibration device and the FOD of the particular sensor;
receiving an indication of presence of a first entity within a FOD of a first sensor of the plurality of sensors at a sensor-relative position within a sensor-relative coordinate system of the first sensor;
translating the sensor-relative position of the first entity to an environment-relative position of the first entity within the environment-relative coordinate system;
assigning a unique entity identifier to the first entity;
receiving an indication of presence of a second entity within a FOD of a second sensor of the plurality of sensors at a sensor-relative position within a sensor-relative coordinate system of the second sensor;
translating the sensor-relative position of the second entity to an environment-relative position of the second entity within the environment-relative coordinate system; and
based on determining that the environment-relative position of the second entity is consistent with the environment-relative position of the first entity, assigning the unique entity identifier to the second entity.
19. An entity-tracking computing system, comprising:
a logic machine;
a communication subsystem; and
a storage machine holding instructions executable by the logic machine to:
via the communication subsystem, communicatively couple the entity-tracking computing system to a plurality of sensors each having a field-of-detection (FOD) within an environment, the plurality of sensors including at least an infrared (IR) camera and a radar sensor;
maintain an environment-relative coordinate system to which the FOD of each sensor of the plurality of sensors is mapped;
receive, via the communication subsystem and from the IR camera, an indication of presence of a first entity within a FOD of the IR camera at a sensor-relative position within a sensor-relative coordinate system of the IR camera;
translate the sensor-relative position of the first entity to an environment-relative position of the first entity within the environment-relative coordinate system;
identify the first entity as a previously-identified human, and assign a unique entity identifier to the first entity, the unique entity identifier being a previously-assigned entity identifier associated with the previously-identified human;
receive, from the radar sensor, an indication of presence of a second entity within a FOD of the radar sensor at a sensor-relative position within a sensor-relative coordinate system of the radar sensor;
translate the sensor-relative position of the second entity to an environment-relative position of the second entity within the environment-relative coordinate system; and
based on determining that the environment-relative position of the second entity is consistent with the environment-relative position of the first entity, assign the unique entity identifier to the second entity.