如何对给定的边界框坐标进行归一化,并对调整大小后的图像进行归一化处理?

3

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

高度-84 宽度-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的值是多少?

1个回答

1
首先,Yolov5会为您调整图像和边界框的大小,所以您不必担心这个问题。默认情况下,它会将最长的一边调整为640像素,而最短的一边将被调整为保持原始图像纵横比的长度。
关于归一化[0-1]。Yolov5期望的是边界框的中心点,而不是最小点,所以如果您的盒子尺寸是height = 84px和width = 81px,并且x和y是边界框的最小点(根据您的帖子,我不确定),那么您的公式是正确的,因为您计算的是中心点。
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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接