Вычисление координат YOLOv4 приводит к неправильным аннотациям

#python #annotations #bounding-box #yolov4

#python #аннотации #ограничивающий прямоугольник #yolov4

Вопрос:

Я пытался написать правильные аннотации для YOLOv4. Мне сказали, что аннотации должны быть рассчитаны относительно изображения холста. Но есть проблема, из-за которой ограничивающая рамка неуместна.

введите описание изображения здесь
введите описание изображения здесь

Это моя функция, которая вычисляет аннотации для каждого логотипа на изображении холста:

 def get_annotation_coordinates(canvas_shape, logo_shape):
    x = (logo_width   canvas_width) / 2
    y = (logo_height   canvas_height) / 2

    width = logo_width / canvas_width
    height = logo_height / canvas_height

    return f"{x / canvas_width} {y / canvas_height} {width} {height}"
 

Что именно я делаю не так? Потому что, очевидно, мои вычисления неверны.

Комментарии:

1. Строки, в которых вы определяете x и y, выглядят неправильно. Почему вы добавляете одно и то же число дважды для y только для того, чтобы затем разделить на 2?

2. @ScienceSnake Я это исправил, но предполагается, что x и y ставят на середину объекта, нет? Вот почему я делю их на два.

3. Попробуйте это в качестве ссылки: github.com/tzutalin/labelImg/blob /…