问题标签 [data-augmentation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
950 浏览

python - 使用 Keras 的 flow_from_directory 和 FCNN

我成功地用 Keras 训练了一个用于图像分割的宪法神经网络。现在我正在尝试对我的图像应用一些数据增强来提高性能。为此,我使用ImageDataGenerator然后flow_from_directory仅将批次加载到内存中(我尝试不使用但出现内存错误)。代码示例是:

但是,当我运行代码时,出现以下错误(我使用的是 Tensorflow 后端):

在错误中它抱怨不兼容的形状 14400000 (400x400x9) 与 4800000 (400x400x3)。我在这里使用了自定义损失函数(如果您查看错误,它会说明损失),即 Dice 系数,定义如下:

在这里,我使用 (400,400,3) 图像和 1 类形状 (400,400,1) 的蒙版。我的 NN 将输入定义为Input((img_rows, img_cols, 3)),输出定义为Conv2D(1, (1, 1), activation='sigmoid', name='out')(conv9)(但在没有数据增强的情况下进行训练时效果很好)。

0 投票
3 回答
2309 浏览

tensorflow - 在 Tensorflow 的对象检测 API 中使用 ssd_random_crop_pad 操作

我正在使用 Tensorflow 的对象检测 API 在 Cloud ML Engine 上训练 Inception SSD 对象检测模型,并且我想使用preprocessor.proto文件data_augmentation_options中提到的各种方法。

我目前有兴趣使用的是操作和ssd_random_crop_pad更改.min_padded_size_ratiomax_padded_size_ratio

preprocessor.proto中提到的文档说明了以下内容:

preprocessor.py中提到的文档将函数定义为:

其中 和 的参数min_padded_size_ratiomax_padded_size_ratio(h, w) 形式的元组。

config但是,当我以下面给出的格式在文件中提供这些参数时:

我遇到以下错误:

谁能帮助我将参数传递给min_padded_size_ratioand的格式max_padded_size_ratio

编辑 1:config使用以下参数更改文件:

现在遇到以下错误:

0 投票
2 回答
1081 浏览

tensorflow - 如何在 Tensorflow Estimator 的 input_fn 中执行数据扩充

使用 Tensorflow 的 Estimator API,我应该在管道中的哪个点执行数据增强?

根据这个官方Tensorflow 指南,执行数据增强的一个地方是input_fn

我的问题

如果我在内部执行数据增强input_fn,是否parse_fn返回单个示例或包含原始输入图像 + 所有增强变体的批次?如果它应该只返回一个 [augmented] 示例,我如何确保数据集中的所有图像都以其未增强的形式以及所有变体使用?

0 投票
6 回答
62167 浏览

python - PyTorch 中的数据增强

我对 PyTorch 中执行的数据增强有点困惑。现在,据我所知,当我们执行数据增强时,我们会保留我们的原始数据集,然后添加它的其他版本(翻转、裁剪......等)。但这似乎不会在 PyTorch 中发生。据我从参考资料中了解到,当我们data.transforms在 PyTorch 中使用时,它会一一应用它们。例如:

在这里,对于训练,我们首先随机裁剪图像并将其调整为 shape (224,224)。然后我们拍摄这些(224,224)图像并水平翻转它们。因此,我们的数据集现在只包含水平翻转的图像,因此在这种情况下我们的原始图像丢失了。

我对吗?这种理解正确吗?如果不是,那么我们在上面的代码中(取自官方文档)在哪里告诉 PyTorch 保留原始图像并将它们调整为预期的形状(224,224)

谢谢

0 投票
1 回答
1607 浏览

keras - 数据增强会损害准确性 Keras

我正在尝试将深度学习与 Python 第 5.3 节特征提取与数据增强适应于 resnet50(imagenet 权重)的 3 类问题。

完整代码在https://github.com/morenoh149/plantdisease

问题:

  • 这本书没有过多介绍 ImageDataGenerator 和选择steps_per_epochand validation_steps。这些值应该是什么?我有 3 个班级,每个班级 1000 张图片。我已将其拆分为 60/20/20 训练/验证/测试。
  • 在没有数据增强的情况下,我能够获得 60% 的验证准确度。上面我已将 ImageDataGenerator 简化为仅重新缩放。这个模型的验证准确率为 30% 为什么?
  • 我需要对此脚本的数据增强版本进行哪些更改以匹配不增强的准确性?

更新:这可能是 keras 本身的问题

0 投票
3 回答
4465 浏览

python - 如何在 PyTorch 中对子集使用不同的数据增强

如何Subset在 PyTorch 中对不同的 s 使用不同的数据增强(转换)?

例如:

train并且test将具有与 相同的变换dataset。如何为这些子集使用自定义转换?

0 投票
1 回答
655 浏览

python - 通过放大来增加数据

我想通过创建新的合成图像来扩充我的图像数据集。我想尝试的操作之一是放大,即取原始图像的一部分(例如原始大小的 80%),然后智能地增加该部分,使其仍具有与原始图像完全相同的像素尺寸. 换句话说,通过放大现有图像的一部分来创建新图像,使新图像的大小与原始图像的大小相同。

我该怎么做skimage?还是里面的其他东西Python

0 投票
0 回答
324 浏览

tensorflow - TensorFlow ImageDataGenerator 输出数量

如果这是一个愚蠢的问题,请原谅我,我最近才开始使用 tensorflow 的数据增强功能,我想知道 ImageDataGenerator 为每个输入的图像产生了多少不同的变化。

我正在使用的特定代码的副本如下。

感谢您提供的任何帮助或您可以指出的资源。

0 投票
1 回答
768 浏览

python - 在张量流中翻转时,掩码和图像的增强结果不一致

我目前正在尝试实现自己的功能来在tensorflow. 为此,我需要对输入图像应用随机图像变换,并对输出掩码应用相关变换(即旋转和翻转)。但是,图像翻转/反转无法正常工作。我目前拥有的代码示例如下:

我期望这样做是以相同的方式翻转所有图像/蒙版 ifflip_lr > 0.5flip_ud > 0.5,但实际发生的是某些图像将被翻转而没有翻转蒙版和 v/v。有没有人经历过这个并且知道如何解决它?

提前致谢

0 投票
1 回答
138 浏览

python - 为什么在使用 ImageDataGenerator 和 .flow() 时有些图像可以正确保存而有些则不能?

我一直在尝试使用 ImageDataGenerator 来增加一些训练数据和相应的标签。

这是我处理它的方式(如果格式有点不对,请道歉)

这段代码对我有用,就像我得到翻转的图像一样,但我遇到的问题是它只会翻转前两个图像,而不是我的 imgdatas 和 imglabels 数组中的其余图像。其余的都是空白的。有关示例,请参见此处。我查看了这篇文章这篇关于迭代 .flow() 的文章,但仍然不确定为什么当我迭代 .flow() 时只有 2 个图像有效。有任何想法吗?

另外我不确定图像的名称是什么意思,它看起来像是一个随机生成的数字,但不确定它是在哪里定义的。

谢谢你的帮助