随机裁剪¶
py/ssd/data/transforms/random_sample_crop.py
对图像进行随机裁剪操作
实现流程¶
其实现比较复杂,因为需要考虑到相应的标注边界框的计算。实现流程如下:
- 计算随机裁剪的宽/高。符合以下要求
- 裁剪宽的取值为
[0.3*width, width]
- 裁剪高的取值为
[0.3*height, height]
- 高/宽比例(
h/w
)在(0.5, 2
)之间
- 裁剪宽的取值为
- 计算随机裁剪的左上角坐标
- 计算裁剪边界框和标注边界框的
IoU
。符合以下要求- 设置了
5
个最小IoU([0.1, 0.3, 0.7, 0.9, None])
- 每次随机选择一个最小
IoU
,如果为None
,则直接返回原图
- 设置了
- 计算标注边界框是否位于裁剪图像中。如果其标注边界框中心位于裁剪图像,则进一步计算其长宽