问题标签 [image-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 投票
0 回答
42 浏览

tensorflow - 具有图像增强数据集的 CNN 模型

我想使用图像数据集创建具有图像增强功能的 cnn 模型。当我尝试加载图像增强数据时,它显示如下错误 ValueError: Shapes (None, None, None) and (None, 12, 28, 64) are incompatible

执行步骤: •训练数据:otrain_images:像素的归一化值 otrain_labels:存储为 One-Hot 编码数据•验证数据:oval_images:像素的归一化值椭圆标签:存储为 One-Hot 编码数据•类:“squiggle”、“窄带”、“narrowbanddrd”和“噪声”</p>

•使用CNN准备一个详细的python笔记本,用于使用来自SETI数据集的Keras对来自深空的无线电信号进行分类•导入所需的库•加载和预处理数据集o使用pandas read_csv函数加载数据集o检查训练和验证数据的形状o重塑训练和验证图像

使用 Keras ImageDataGenerator 函数创建训练和验证数据生成器•设计卷积神经网络 (CNN) 模型•使用 Adam 优化器、categorical_crossentropy 损失函数和准确度指标编译模型•打印模型摘要•使用 batch_size = 32 和 epochs = 12 训练模型•评估模型 o使用 model.evaluate 函数评估准确性o打印

这里的代码:`

ValueError:在用户代码中:

0 投票
1 回答
409 浏览

python - 如何在 keras 中使用 ImageDataGenerator 和 flow_from_directory 保存增强图像

我想在 Keras 中使用 ImageDataGenerator 来增强两个不同目录(文件夹:良性/恶性)中的图像。

然后我想将每个类的增强图像保存在一个单独的文件夹中。

我的目录结构如下:

我的问题是我无法区分这两个类的增强图像,因为它们都将存储在同一个文件夹中。

实际上,我只能将单个文件夹路径设置为“save_to_dir”参数,以便在那里存储图像。

因此,正如我提到的,所有增强的图像都将保存在一个文件夹中 ( augmented_images)。

你们能告诉我如何将每个班级的增强图像保存在单独的文件夹(augmented_benignaugmented_malignant)中吗?

我写的代码是这样的:

0 投票
0 回答
58 浏览

python - 增强 TensorFlow 中的验证和测试集

我的实验图像数据非常少。我的数据集中每个类只有 40 张图像。所以我想通过使用ImageDataGenerator以下方法来增加所有的训练集、验证集和测试集:

我将它们与flow_from_directory函数一起使用,在模型训练中使用训练和验证生成器,但验证数据似乎没有增加(验证集中的图像数量似乎与初始数量没有变化)。不知何故,这也发生在测试集中。当我用 sklearn's 评估模型时,我发现了它classification_report。结果列中显示的support数量与增强前测试集中的图像数量完全相同。

如何使用 Tensorflow 生成器来增加验证和测试集?

0 投票
1 回答
336 浏览

image-processing - ValueError: x_max 小于或等于 bbox 的 x_min

我正在为一组图像和 bbox 使用专辑。

我的边界框是“yolo”格式,即(x_mid,y_mid,width,height),全部标准化。

在为一组边界错误运行标注时,当边界框采用以下值时,会出现上述错误(ValueError:x_max 小于或等于 bbox 的 x_min):[0.00017655367231635, 0.0002155172413793, 0.0003531073446327, 0.0004310344827586]。这里,x_min, y_min=[0,0]。

其他边界框不会出现此错误 - 例如:[0.3060659468984962, 0.4418239134174312, 0.2412257095864662, 0.5496854701834863]。

当我稍微增加 ERROR 边界框的所有尺寸时,此错误得到解决,即:将此错误 BB [0.00017655367231635、0.0002155172413793、0.0003531073446327、0.0058631034482] 的 x_mid、y_mid、x_width 和 y_width 增加 0.01。

产生的无错误 BB:[0.01017655367231635、0.0102155172413793、0.0103531073446327、0.010431034482758601]。

谁能告诉我在不改变 BB 尺寸的情况下解决此错误的方法?

我正在使用以下代码进行标注:

详细错误:

0 投票
0 回答
22 浏览

tensorflow - 有没有办法对 ImageDataGenerator 流进行后处理?

我在我的训练管道上使用图像增强,但旋转会影响我的缩放。我将每个图像缩放到 (0,1) 并且我的目标设备也会这样做。所以,我想知道:

  • ImageDataGenerators 是否在本地扩展,但使用后处理器而不是预处理器
  • ImageDataGenerators 是否以某种方式相互传输
  • 是否可以拦截 model.fit(aug, ... ) 中的流,以便在将其输入系统之前对其进行规范化

还有其他方法可以实现我的意图吗?

相关代码:

0 投票
0 回答
64 浏览

tensorflow - ImageDataGenerator 是如何工作的?

我正在尝试使用 来了解数据增强ImageDataGenerator,为了深入了解它,我创建了一个小型数据集。我save_to_dir用来查看图像是如何增强的

主目录:/图像

火车目录:/图像/火车

dog_directory : /Images/train/dogs #10 狗的图像

cat_directory : /Images/train/cats #10 张猫的图片

save_to_dir : /Augmented_images

=> 这是代码

所以,我的问题是,如果有 20 张图片,batch_size=5, 1 epoch,steps_per_epoch=4 因此,“Augmented_images”目录中的图片数量应该是 20。但是,它显示了 45 张图片。如何?这是否意味着即使steps_per_epoch = 4,也训练了9次迭代?

0 投票
0 回答
27 浏览

python - 当我们使用 Albumentations 时,我们是否会更改数据集中的图像数量?

我是数据增强的新手,到目前为止,我已经收集到它用于通过稍微更改其中的数据(即旋转或裁剪)并将增强图像添加到数据集中来使数据集更大。它是这样工作的吗?如果是这样,我已经看到了很多使用 Albumentations 库的示例,在这些示例中,我们只是以一定的概率更改数据集中的图像,但数据集的大小保持不变。我觉得我错过了什么。先感谢您!

0 投票
1 回答
172 浏览

python - 在 pytorch 中绘制转换(增强)图像

我想使用其中一种图像增强技术(例如旋转或水平翻转)并将其应用于 CIFAR-10 数据集的一些图像并在 PyTorch 中绘制它们。

我知道我们可以使用以下代码来增强图像:

然后当我想加载 Cifar10 数据集时,我使用了上面的转换:

据我所知,当使用此代码时,所有 CIFAR10 数据集都会被转换。

问题

我的问题是如何对数据集中的某些图像使用数据转换或增强技术并绘制它们?例如 10 个图像及其增强图像。

0 投票
0 回答
53 浏览

tensorflow - 如何使用 Tensorflow 平衡图像数据集

我有一个不平衡的图像数据集。目前我正在使用ImageDataGenerator对象从目录中获取数据并适合 tensorflow 模型,fit_generator()但我想在将其输入模型之前平衡该类。

所以为此我创建了这个data_augmentation层来生成更多图像并将图像保存在文件夹中。然后用于ImageDataGenerator从文件夹中获取图像。

但是要花很多时间来平衡班级。有没有另一种方法可以更快地做到这一点?

0 投票
0 回答
62 浏览

tensorflow - TensorFlow Object Detection API (2.0) 中的每批次增强

我正在训练一个包含 LSTM 部分的对象检测网络,并假设每批训练图像都是按时间顺序排列的。我调用 random_horizo​​ntal_flip 和其他增强。然而,从我在 Tensorboard 图像中看到的情况来看,增强是在每帧的基础上随机应用的,这不是我想要的;我希望将同一组选定的增强应用于整个批次。有什么方法可以在不修改源代码的情况下实现这一点?