def yolo2coco(image_height, image_width, bboxes):
    '\n    yolo => [xmid, ymid, w, h] (normalized)\n    coco => [xmin, ymin, w, h]\n    \n    '
    bboxes = bboxes.copy().astype(float)
    bboxes[(..., [0, 2])] = (bboxes[(..., [0, 2])] * image_width)
    bboxes[(..., [1, 3])] = (bboxes[(..., [1, 3])] * image_height)
    bboxes[(..., [0, 1])] = (bboxes[(..., [0, 1])] - (bboxes[(..., [2, 3])] / 2))
    return bboxes
yolo => [xmid, ymid, w, h] (normalized)
coco => [xmin, ymin, w, h]
def yolo2coco(image_height, image_width, bboxes):
    '\n    yolo => [xmid, ymid, w, h] (normalized)\n    coco => [xmin, ymin, w, h]\n    \n    '
    bboxes = bboxes.copy().astype(float)
    bboxes[(..., [0, 2])] = (bboxes[(..., [0, 2])] * image_width)
    bboxes[(..., [1, 3])] = (bboxes[(..., [1, 3])] * image_height)
    bboxes[(..., [0, 1])] = (bboxes[(..., [0, 1])] - (bboxes[(..., [2, 3])] / 2))
    return bboxes