Достаточно было почитать документацию)
Там явно сказано, что есть параметр
imgsz, по дефолту имеющее значение 640И все изображения, при обучении модели, будут приведены к указанным размерам
Argument | Default | Description
imgsz | 640 | Target image size for training. All images are resized to this dimension before being fed into the model. Affects model accuracy and computational complexity.
Так же в документации к predict - есть аналогичный пункт
Argument | Type | Default | Description
imgsz | int or tuple | 640 | Defines the image size for inference. Can be a single integer 640 for square resizing or a (height, width) tuple. Proper sizing can improve detection accuracy and processing speed.
Хотя в примере выше - точность инференса страдает, если не отресайзить предварительно изображение
Думаю имеет место быть кейс, когда из cv2 объекта изображения вытягиваются и используются реальные размеры изображения
Тогда на инференсе будут расхождения
Благо в этом случае соотношение сторон не играет роли
Достаточно получить на выходе максимально точно определенные классы с их координатами, чтобы по x координате отсортировать
И считай готово, значение распознано, дальше используем по назначению 😀
UPD:
Хотя, судя по всему не совсем то, что я подумал происходит:
With respect to YOLOv8, the 'imgsz' parameter during model training allows for flexible input sizes. When set to a specific size, such as 640, the model will resize input images so their largest dimension is 640 pixels while maintaining the original aspect ratio.
Он ресайз делает по большей стороне, сохраняя соотношение сторон изображения,
Так что закончу обучение balanced модели, на ней проведу тесты, и уже вернусь с ответом на вопрос "На сколько сильно влияет на точность инференса ресайз изображения до 640x640"