Using
CUDA 11
ZED SDK 3.7
I am trying to figure out how does ingest_custom_box_objects
works.
Having some inconsistent results of detections drops after ingesting.
the following code is itterating over a SVO file:
if settings.detection_model == "tensorrt":
detections, length = self.detect_trt(image_left[:, :, :3], need_resize=True)
objects_in = []
for i in range(length):
try:
tmp = sl.CustomBoxObjectData()
# Fill the detections into the correct SDK format
tmp.unique_object_id = sl.generate_unique_id()
tmp.label = FruitClass.get_label_idx(detections[i].name.decode("ascii"))
tmp.probability = detections[i].prob
b = detections[i].bbox
tmp.bounding_box_2d = self.xywh2xyxy((b.x,b.y,b.w,b.h))
tmp.is_grounded = True
objects_in.append(tmp)
self.cam.ingest_custom_box_objects(objects_in)
self.cam.retrieve_objects(self.objects)
Here is a comparison between the length of objects_in
and self.objects.object_list
frame: 0 before ingest: 2 after ingest: 2
frame: 1 before ingest: 2 after ingest: 1
frame: 2 before ingest: 2 after ingest: 1
frame: 3 before ingest: 2 after ingest: 1
frame: 4 before ingest: 2 after ingest: 3
frame: 5 before ingest: 2 after ingest: 1
frame: 6 before ingest: 4 after ingest: 2
frame: 7 before ingest: 3 after ingest: 1
frame: 8 before ingest: 3 after ingest: 2
frame: 9 before ingest: 2 after ingest: 2
frame: 10 before ingest: 5 after ingest: 5
frame: 11 before ingest: 3 after ingest: 3
frame: 12 before ingest: 6 after ingest: 4
frame: 13 before ingest: 8 after ingest: 5
frame: 14 before ingest: 7 after ingest: 7
frame: 15 before ingest: 8 after ingest: 7
frame: 16 before ingest: 5 after ingest: 2
frame: 17 before ingest: 6 after ingest: 9
frame: 18 before ingest: 6 after ingest: 5
frame: 19 before ingest: 19 after ingest: 10
frame: 20 before ingest: 19 after ingest: 10
frame: 21 before ingest: 13 after ingest: 10
frame: 22 before ingest: 16 after ingest: 14
frame: 23 before ingest: 25 after ingest: 19
frame: 24 before ingest: 31 after ingest: 19
frame: 25 before ingest: 26 after ingest: 17
frame: 26 before ingest: 26 after ingest: 21
frame: 27 before ingest: 20 after ingest: 24
frame: 28 before ingest: 11 after ingest: 15
frame: 29 before ingest: 13 after ingest: 16
frame: 30 before ingest: 12 after ingest: 15
frame: 31 before ingest: 7 after ingest: 15
frame: 32 before ingest: 11 after ingest: 5
frame: 33 before ingest: 9 after ingest: 8
frame: 34 before ingest: 11 after ingest: 11
frame: 35 before ingest: 17 after ingest: 11
frame: 36 before ingest: 25 after ingest: 15
What could be the reason for the differences?