源码及文档
https://pytorch.org/vision/main/generated/torchvision.transforms.RandomResizedCrop.html#torchvision.transforms.RandomResizedCrop
https://pytorch.org/vision/main/_modules/torchvision/transforms/transforms.html#RandomResizedCrop
功能
代码逻辑:先根据scale和ratio计算裁剪区域,然后调用F.resized_crop从原图裁剪并resize到指定宽高。
对于初始宽高分别为 w w w、 h h h的图片,面积为 w ∗ h w*h w∗h,裁剪区域面积为 s c a l e ∗ w ∗ h scale*w*h scale∗w∗h ,宽高分别修正为 s c a l e ∗ w ∗ h ∗ r a t i o \sqrt{scale*w*h*ratio} scale∗w∗h∗ratio、 s c a l e ∗ w ∗ h / r a t i o \sqrt{scale*w*h/ratio} scale∗w∗h/ratio。
参数表及参数含义
torchvision.transforms.RandomResizedCrop(size, scale=(0.08, 1.0), ratio=(0.75, 1.3333333333333333), interpolation=InterpolationMode.BILINEAR, antialias: Optional[bool] = None)
size:输出的长宽值。
scale: 裁剪区域在原图中的面积占比。
ratio:裁剪区域的长宽比。
interpolation: resize插值方式。