yolov5/v7训练时,有两个和多尺度有关的参数,一个是scale, 另一个是multi-scale(yolov8去掉了这个)。
其中scale在超参数配置文件中设置:
multi-scale在训练脚本中设置:
那么这两个参数有什么区别呢?
首先我们看看代码中使用它们的地方。
scale
scale在datasets.py的random_perspective中使用,作用是缩放图像(透视变换中的尺度)。
R = np.eye(3)
a = random.uniform(-degrees, degrees)
# a += random.choice([-180, -90, 0, 90]) # add 90deg rotations to small rotations
s = random.uniform(1 - scale, 1.1 + scale)
# s = 2 ** random.uniform(-scale, scale)
R[:2] = cv2.getRotationMatrix2D(angle=a, center=(0, 0), scale=s)
...
# Combined rotation matrix
M