ValueError: Expected x_max for bbox (0.65, 0.51, 1.12, 0.64, 3) to be in the range [0.0, 1.0], got 1.1234809015877545

ValueError: Expected x_max for bbox (0.65, 0.51, 1.12, 0.64, 3) to be in the range [0.0, 1.0], got 1.1234809015877545

我想将来自 PyTorch 的 Albumentations 的数据增强应用到带有边界框的图像。

当我应用 Horizo​​ntalFlip 转换时,我收到此错误 ValueError: Expected x_max for bbox (0.6505353259854019, 0.517013871576637, 1.1234809015877545, 0.6447916687466204, 3) to be in the range [0.0, 1.0], got 1.1234809015877545.

我使用下面的代码

A.Compose([
           A.HorizontalFlip(p=1),
           ToTensorV2(p=1.0)],
           p=1.0,     
           bbox_params=A.BboxParams(format='coco',min_area=0, min_visibility=0,label_fields=['labels'])
                  )

当我应用 Cutout 转换时,我没有任何关于边界框的错误

A.Compose([
          A.Cutout(num_holes=10, max_h_size=32, max_w_size=32, fill_value=0, p=0.5),
          ToTensorV2(p=1.0)],
          p=1.0,       
          bbox_params=A.BboxParams(format='coco',min_area=0, min_visibility=0,label_fields=['labels'])
                  )

边界框超出了图像,因为在转换后它最终大于图像大小。仔细检查边界框的尺寸。

注意数据集的格式,也许您传递的是 Pascal_VOC 格式而不是 coco。 https://albumentations.ai/docs/getting_started/bounding_boxes_augmentation/

原因可能是您使用 opencv 读取图像,而不是 PIL.Image。 opencv读取图像为:HWC.
PIL.Image读取图片为:WHC。 而相册需要输入的是:WHC.