mirror of
https://github.com/blakeblackshear/frigate.git
synced 2025-01-31 00:18:55 +01:00
merge boxes by label
This commit is contained in:
parent
08174d8db2
commit
49dc029c43
@ -113,19 +113,23 @@ class RegionRefiner(threading.Thread):
|
|||||||
detected_objects = self.camera.detected_objects[frame_time].copy()
|
detected_objects = self.camera.detected_objects[frame_time].copy()
|
||||||
# print(f"{frame_time} finished")
|
# print(f"{frame_time} finished")
|
||||||
|
|
||||||
|
detected_object_groups = defaultdict(lambda: []))
|
||||||
|
# group by name
|
||||||
|
for obj in detected_objects:
|
||||||
|
detected_object_groups[obj['name']].append(obj)
|
||||||
|
|
||||||
|
look_again = False
|
||||||
|
selected_objects = []
|
||||||
|
for name, group in detected_object_groups.items():
|
||||||
|
|
||||||
# apply non-maxima suppression to suppress weak, overlapping bounding boxes
|
# apply non-maxima suppression to suppress weak, overlapping bounding boxes
|
||||||
boxes = [(o['box']['xmin'], o['box']['ymin'], o['box']['xmax']-o['box']['xmin'], o['box']['ymax']-o['box']['ymin'])
|
boxes = [(o['box']['xmin'], o['box']['ymin'], o['box']['xmax']-o['box']['xmin'], o['box']['ymax']-o['box']['ymin'])
|
||||||
for o in detected_objects]
|
for o in detected_objects]
|
||||||
confidences = [o['score'] for o in detected_objects]
|
confidences = [o['score'] for o in detected_objects]
|
||||||
idxs = cv2.dnn.NMSBoxes(boxes, confidences, 0.5, 0.4)
|
idxs = cv2.dnn.NMSBoxes(boxes, confidences, 0.5, 0.4)
|
||||||
|
|
||||||
# print(f"{frame_time} - NMS reduced objects from {len(detected_objects)} to {len(idxs)}")
|
|
||||||
|
|
||||||
look_again = False
|
|
||||||
# get selected objects
|
|
||||||
selected_objects = []
|
|
||||||
for index in idxs:
|
for index in idxs:
|
||||||
obj = detected_objects[index[0]]
|
obj = group[index[0]]
|
||||||
selected_objects.append(obj)
|
selected_objects.append(obj)
|
||||||
if obj['clipped']:
|
if obj['clipped']:
|
||||||
box = obj['box']
|
box = obj['box']
|
||||||
|
Loading…
Reference in New Issue
Block a user