selectively increment position changes

This commit is contained in:
Blake Blackshear 2022-02-09 21:27:33 -06:00
parent 8de15af7b4
commit 5a2e395352
2 changed files with 10 additions and 2 deletions

View File

@ -57,7 +57,7 @@ Message published for each changed event. The first message is published when th
"has_snapshot": false,
"has_clip": false,
"motionless_count": 0, // number of frames the object has been motionless
"position_changes": 2 // number of times the object has changed position
"position_changes": 2 // number of times the object has moved from a stationary position
},
"after": {
"id": "1607123955.475377-mxklsc",

View File

@ -99,8 +99,16 @@ class ObjectTracker:
if self.update_position(id, new_obj["box"]):
self.tracked_objects[id]["motionless_count"] += 1
else:
# register the first position change and then only increment if
# the object was previously stationary
if (
self.tracked_objects[id]["position_changes"] == 0
or self.tracked_objects[id]["motionless_count"]
>= self.detect_config.stationary_threshold
):
self.tracked_objects[id]["position_changes"] += 1
self.tracked_objects[id]["motionless_count"] = 0
self.tracked_objects[id]["position_changes"] += 1
self.tracked_objects[id].update(new_obj)
def update_frame_times(self, frame_time):