Changing NMS node after model optimization?

Hi, I have customized the configs of the Hailo Model Zoo package to optimize a Yolox object detection model. Can I change the NMS node after the optimization command? My quantization settings are quite expensive and it seems like Ive made a mistake in the NMS node mappings. Also it would be great if I could change the IoU threshold parameters without re-running the quantization.

Thanks!

Hey @stwerner

You can indeed modify the Non-Maximum Suppression (NMS) node and IoU threshold parameters after optimizing your model in Hailo’s Model Zoo without re-running the entire quantization process. Here’s how:

  1. Modifying the NMS node: Adjust the NMS configuration by editing the model configuration YAML file. You can change NMS-related parameters directly in this file or in the post-processing script after quantization.
  2. Changing IoU Threshold: Use the HailoRT API to modify the IoU threshold after model quantization and compilation:
hailo_vstream_set_nms_iou_threshold(output_vstream, new_iou_threshold)

This function allows dynamic adjustment of the IoU threshold without re-quantization, provided NMS is part of the CPU-executed post-processing.

Thanks for the response @omria !

I am not quite sure if I understand option 1). I would typically change the YAML file before I’d quantize the model, since these parameters then determine those in the HAR file, no? Is there also an option to change the NMS settings set in the HAR file, that is, to get another HAR file with the changed NMS parameters?

Best Regards