NMS with class specific IoU tresholds

Our pipeline uses object detection across various classes, each requiring different IoU thresholds. For some classes, high overlap with the ground truth is crucial, while for others, it is less critical.

Currently, our object detection model (yolov5-m) applies a uniform IoU threshold in post-processing.
At the moment we use the following script_commands to convert the model to the hef format:
'nms_postprocess(meta_arch=yolov5, engine=cpu, nms_scores_th=0.25, nms_iou_th=0.45)'

Could we modify the NMS procedure on the Hailo to implement class-specific IoU thresholds for post-processing?

Yes, you can implement your own NMS post-processing. Convert the model without the nms_postprocess command in the model script and use your own post-processing code.

The NMS runs on the host in both cases. See engine=cpu parameter. With the command above it is executed by HailoRT. Otherwise it becomes part of your application.