From 2ab14d0ad68c926868cffc6e6bba22a5130a4cd3 Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Tue, 1 Oct 2024 07:50:50 -0600 Subject: [PATCH] Fix selection bug --- frigate/video.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/frigate/video.py b/frigate/video.py index 2af38540c..cd4a93386 100755 --- a/frigate/video.py +++ b/frigate/video.py @@ -734,7 +734,7 @@ def process_frames( object_tracker.update_frame_times(frame_time) # group the attribute detections based on what label they apply to - attribute_detections: dict[str, ObjectAttribute] = {} + attribute_detections: dict[str, list[ObjectAttribute]] = {} for label, attribute_labels in model_config.attributes_map.items(): attribute_detections[label] = [ ObjectAttribute(d) @@ -752,7 +752,10 @@ def process_frames( for attributes in attribute_detections.values(): for attribute in attributes: filtered_objects = filter( - lambda o: o["label"] in attribute_detections.keys(), all_objects + lambda o: o["label"] in attribute_detections.keys() + and attribute.label + in model_config.attributes_map.get(o["label"], []), + all_objects, ) selected_object_id = attribute.find_best_object(filtered_objects)