Converting Yolo v6 - 3.0 (Meituan)

Hi all,

I am trying to convert a YOLO v6 (3.0) with the Hailo DFC. The YOLO v6 model variants available in the Hailo Model Zoo are outdated (before the 3.0 release of Meituan). Has anyone converted such a model before? I am not sure how to set the configuration options in the Hailo Model Zoo to convert the model.

Thanks!

Hey @stwerner

Could you provide more details about which specific configuration options you’re unsure of or need help with? We can guide you more effectively if we know what’s causing confusion. I’d suggest starting with your current setup, and if you hit an error or get stuck at any point, post the details. That way, we can assist you with more targeted advice.

Hey @omria !

Sorry for being a bit unclear. I’ve managed to convert the model up to the post-processing. I can run the inference and implement the decoding and NMS on my own, but I wonder if I can use the Hailo NMS node as well (similar to yolox & yolo-v8). Ive tried to add the NMS node with the same configuration options as are suggested for the Yolo-v8 variants and adjusted the output node namings, but got some error messages. Do you know if I can get the NMS node into the Hailo IR graph for yolov6 3.0 similar to yolox?

Thanks!

Yes you can integrate it inside hailo, you can find one ready in the hailo model zoo.

To Integrating Hailo NMS Node with YOLOv6:

  1. Modify YOLOv6 Output:
  • Verify bounding box format: YOLOv6 uses [x_center, y_center, width, height]
  • Options: a) Configure NMS for this format b) Convert to [x_min, y_min, x_max, y_max] pre-NMS
  • Ensure proper passing of confidence and class scores
  1. Configure NMS:
  • Set appropriate thresholds:
{
  "iou_threshold": 0.5,
  "score_threshold": 0.3,
  "max_detections": 300
}
  1. Align Node Names:
  • Match YOLOv6 output names with Hailo NMS expectations
  • Example: “output_boxes”, “output_scores”

Hi @omria,

Thanks for responding. As far as I understand, the Hailo Model Zoo outlines configs for Yolo-v6 2.0 and not the 3.0 release, which changed the model architecture quite significantly and gives performance close to Yolo-v8. Is there an example for the 3.0 models available as well? I’ve tried adjusting the naming of the 2.0 configs, but could not get them to work so far. I get some issues with the post-processing. Ive tried changing the NMS meta arch and building the configs on the yolov8 base config as well. It would be great to get a config for a yolov6 3.0 model :slight_smile:

Best Regards