如何标准化给定的边界框坐标并标准化它们以调整大小的图像?

问题描述 投票:0回答:1

我有一个数据集,它提供以下格式的边界框坐标。

height- 84 width- 81 x - 343 y - 510。现在,我想标准化这些值(0-1)以使用yolov5模型训练它们。我在网上查了一下,发现我可以通过两种方式标准化这些值。方式一:

   Normalized(Xmin) = (Xmin+w/2)/Image_Width
   Normalized(Ymin) = (Ymin+h/2)/Image_Height
   Normalized(w) = w/Image_Width
   Normalized(h) = h/Image_Height

方式二:x_center和width除以图像宽度,y_center和height除以图像高度。 现在,我不确定应该遵循哪种方式来标准化给定数据集中的值。谁能建议我任何解决方案?另外,我的数据集中给定图像的大小是 1024 x 1024。现在,如果我将图像转换为 512 x 512 大小,我如何计算新的边界框坐标,即高度、宽度 x 和 y 的值是多少?

deep-learning yolo
1个回答
1
投票

首先,Yolov5 会为您调整图像和边界框的大小,因此您不必担心这一点。默认情况下,它将最长边的大小调整为 640px,最短边的大小将调整为保留原始图像纵横比的长度。

关于归一化[0-1]。

Yolov5
期望的是 bbox 的中心点,而不是最小点,因此如果您的 box 尺寸
height = 84px
width = 81px
并且 那些
x
y
是 bbox 的最小点
(我不确定你的帖子),你的公式有效,因为你正在计算中心点:

Normalized(**x_center**) = (Xmin+w/2)/Image_Width
Normalized(**y_center**) = (Ymin+h/2)/Image_Height
...

关于调整大小: https://github.com/ultralytics/yolov5/discussions/7126#discussioncomment-2429260

© www.soinside.com 2019 - 2024. All rights reserved.