Damo YOLO Post Process

Hello,

I’m trying to make person detection using Damo YOLO.
I do not understand how to post process the results: for a given input image the output is an array with shape (80,80,68).
Any code snippet to use? I tried DeGirum post processor but without success.

Hi @luciccone
Can you please give details on what you tried with DeGirum post processor and what the error was?

Hi shashi,

how am I supposed to use the post processor? Can you provide a simple example of end to end inference?

Hi @luciccone
Here is a working example of a Damo YOLO model using our PySDK: hailo_examples/examples/damo_yolo.ipynb at main · DeGirum/hailo_examples. Here is the code for python postprocessor if you want to port your own model: hailo_examples/postprocessors/DamoYOLO/HailoDetectorDamoYOLO.py at main · DeGirum/hailo_examples.

This is how your JSON should look like to include the python postprocessor

{
  "ConfigVersion": 10,
  "Checksum": "bc1829cf0a8e0094df282ccc9b5a8062e135b8fc84d8f7f3ce5a4c4527c2e8e2",
  "DEVICE": [
    {
      "DeviceType": "HAILO8L",
      "RuntimeAgent": "HAILORT",
      "SupportedDeviceTypes": "HAILORT/HAILO8L, HAILORT/HAILO8"
    }
  ],
  "PRE_PROCESS": [
    {
      "InputType": "Image",
      "InputN": 1,
      "InputH": 640,
      "InputW": 640,
      "InputC": 3,
      "InputQuantEn": true
    }
  ],
  "MODEL_PARAMETERS": [
    {
      "ModelPath": "damoyolo_tinynasL35_M--640x640_quant_hailort_hailo8l_1.hef"
    }
  ],
  "POST_PROCESS": [
    {
      "OutputPostprocessType": "Detection",
      "Strides": [
        8,
        16,
        32
      ],
      "RegMax": 16,
      "OutputConfThreshold": 0.3,
      "OutputNMSThreshold": 0.6,
      "OutputNumClasses": 80,
      "LabelsPath": "coco_labels.json",
      "PythonFile": "HailoDetectorDamoYOLO.py"
    }
  ]
}

Thanx @shashi , is it possible to have a snippet with just the pure parsing function, i.e. without relying on external library?
The model outputs a (80x80x68) shaped array

Hi @luciccone
Sorry, we do not have such code.