Pytorch 中的 Albumentations:多目标数据集的不一致增强

问题描述

我正在使用 Pytorch 并希望使用 Albumentations 对我的图像进行数据增强。我的数据集对象有两个不同的目标:“模糊”和“清晰”。两个目标的每个实例都需要进行相同的更改。当我尝试使用这样的 Dataset 对象执行数据扩充时:

augmentation_transform = A.Compose(
        [
        A.Resize(1024,1024,p=1),A.HorizontalFlip(p=0.25),A.Rotate(limit=(-45,65)),A.VerticalFlip(p=0.24),A.RandomContrast(limit=0.3,p=0.15),A.normalize((0.5,0.5,0.5),(0.5,0.5)),A.pytorch.transforms.ToTensorV2(always_apply=True,p=1.0)
        ],additional_targets={"target_image": "image"}
        )

不幸的是,我收到了两张具有两种不同增强功能的图像:

enter image description here

当我在没有 Dataset 对象的情况下尝试相同的操作时,我收到两个具有相同增强应用的图像。有人知道如何使它与数据集对象一起工作吗?

这是我的增强管道:

var date = new Date();
                date.setDate(date.getDate() - 1);
                var defaultDate = new Date();
                defaultDate.setMonth(date.getMonth() + 6);

                $('[data-toggle="datepicker"]').datepicker({
                        format: 'dd/MM/yyyy',autoHide: true,minDate: date,startDate: defaultDate,changeMonth: true
                });

解决方法

您可以堆叠模糊和清晰的图像,应用您的增强然后将它们拆开

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...