问题标签 [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 投票
1 回答
39 浏览

python - 如何让图像通过由概率权重确定的许多函数?

我有一个标志。我现在正在做的是为所有这些功能设置概率权重,并且徽标一次只针对其中一个,具体取决于其概率值。这是我的代码:

然而,这还不够。标志应该能够通过多种功能。例如。一个标志可能会通过random_rotation(),perspective_transformation()overlaying(). 它是否会通过一个函数应该取决于它的概率权重。这是我的想法:

在此处输入图像描述

如何调整我的代码,以便徽标根据权重通过许多转换函数?

0 投票
0 回答
290 浏览

python - Imageio 和 cv2 读取图像 - jpeg

我正在努力增加一些图像,我没有遇到任何问题,但有些事情让我觉得很奇怪。对于我的大多数增强方法,我使用Imgaug库并imageio.imread用于读取我的文件。虽然对于我的旋转增强,我正在使用cv2.imread. 我正在使用cv2一个功能,当它旋转时我不需要松开任何图像(imutils.rotate_bound())。两种方法都可以读取图像(jpeg),但我注意到使用该cv2方法颜色会发生变化。请参阅下面的示例。这是我应该关注的事情还是......?

在此处输入图像描述

编辑:只需 阅读这篇关于. cv2只是要清楚,cv2只是以不同的顺序堆叠乐队吗?因此,除非我从多个图像中添加波段并且不考虑一个图像中的波段 1 可能是蓝色波段,而另一张图像中的一个波段可能是红色波段,那么我不需要转换?像素值相同,但显示方式不同?

0 投票
0 回答
122 浏览

python - 在 1,700 个包含 16 个类的大数据集上,损失随 YOLOv4-tiny 波动

我正在使用 YOLOv4-tiny 构建一个徽标检测系统。我构建了一个自定义合成数据集,在其中我在游戏画面顶部绘制了透明徽标。在背景上绘制徽标之前,已对徽标进行了增强(模糊、透视变换、调整大小、旋转等)。以下是我拥有的此类数据的一些示例。

在此处输入图像描述 在此处输入图像描述

我在 1,700 张图像的背景图像上定义的位置上粘贴 1-5 个徽标(随机)。每个徽标都是一个类,我有 16 个类。当我使用 YOLOv4-tiny 运行它时,这是我的输出示例。我的损失波动,我不明白为什么。

我的问题是,这有什么收获?我什至没有针对测试集测试模型以查看它的性能如何。我是否需要改进徽标的增强?我怎样才能理解这个输出?

更新 这是模型的性能。它正确地检测到它是什么标志,但在边界框上完全搞砸了。 在此处输入图像描述

0 投票
1 回答
289 浏览

python - 如何在张量流中实现动态增强?

我想使用 tensorflow 模型在 3D 数据集中实现增强。

增强功能是这样的:

增强功能未在 tensorflow 中实现。

使用此功能的 TensorFlow 代码如下:

我想在每个 epoch 从数据集中随机选择大约 1000 个批次,然后对它们进行扩充。我计算repeat_count创建 1000 批大小为batch_size.

问题是我不知道每个时期中的模型调用增强功能并将其暗示到批次的每个图像(我的意思是每个时期中有 16 1000 个图像),所以我printaugmentation函数中添加了它只打印一次,而不是在每个时代,或每个图像。增强函数是否在每个时期调用 16 1000 次?

此外,每次运行代码时,cpu 和 gpu 的利用率也会有所不同。有时 cpu 的利用率约为 25%,gpu 为 30,但几乎在运行中它是 100% 和 5。

如何解决这两个问题?

0 投票
0 回答
78 浏览

python - 自定义数据生成器 + Imgaug

我正在使用 Imgaug 进行图像增强以及我的 CNN 模型的自定义数据生成器,用于分类 23 类 X 射线身体部位。我不确定如何将我的增强函数传递给我的 def getitem函数,以便查看我的训练集上的增强。代码如下:

我对此相当陌生,因此将不胜感激任何开放的建议。谢谢你

0 投票
1 回答
302 浏览

tensorflow - 有没有办法构建一个以指定角度随机旋转的 keras 预处理层?

我正在从事天文图像分类项目,目前正在使用 keras 构建 CNN。

我正在尝试构建一个预处理管道,以使用 keras/tensorflow 层来扩充我的数据集。为了简单起见,我想实现二面体组的随机变换(即,对于方形图像,90 度旋转和翻转),但似乎tf.keras.preprocessing.image.random_rotation只允许随机度数超过均匀分布后的连续选择范围。

我想知道是否有办法从指定度数列表中进行选择,在我的例子中是 [0, 90, 180, 270]。

0 投票
0 回答
189 浏览

python - 在 Imgaug 中使用图像增强时出现 Dtype 错误

我正在使用 Imgaug 对我的训练数据进行图像增强。代码如下:

以下是错误:

ValueError: Got dtype 'float64',这是一个禁止的 dtype(uint32、uint64、uint128、uint256、int32、int64、int128、int256、float64、float96、float128、float256)。

使用 AdditiveGuassianNoise 时出现此错误,而使用其余部分时,它运行正常。我不太确定错误的含义。如果有人可以提供帮助,将不胜感激。谢谢

还将我的自定义数据生成器代码添加到图像所在的位置:

0 投票
1 回答
44 浏览

python - __init__ 语句上的猴子补丁失败

我正在尝试修补 clodsa 包中的增强函数以读取自定义命名的 .json 文件,而不是遵循它们的格式,因此而不是 /annotations.json 生成 new_name.json:

我尝试了以下方法来修补 self.annotationFile 路径:

当我运行新的 init 时,它确实显示猴子用 ??augmentor 修补了 init。在里面

但是当我运行完整的代码时,它只是回退到使用旧的 init 语句:

我究竟做错了什么?

0 投票
1 回答
76 浏览

python - 使用 Tensorflow 进行图像增强,因此所有类都具有完全相同数量的图像

我想为动物分类做多类图像分类。问题是我的数据集对于每个类都有不同数量的图像,并且差异非常可怕。例如:

在此示例中,数据集包含 3 个类别的 320 张图像。A 类有125 个图像,B 类有170 个图像,C 类只有25 个图像,我希望增加这些类,因此每个类将有 200 个图像,这意味着 600 个图像均匀分布到这 3 个类。

但是,就我而言,我的数据集中有60 个类。我怎样才能增加所有这些,以便它们对所有类都有完全相同数量的图像?

0 投票
1 回答
276 浏览

python - 如何使用“MapDataset”作为 ImageDataGenerator 的输入?

我编写了一个代码,它将图像作为输入并估计 29 个类的值作为输出。该代码无需数据扩充即可正常工作。但是,我无法使用它来增强 TensorFlow 模型训练的图像。这是错误:

下面是获取我的训练图像及其相应标签(29 列数组)的函数。

如果您有任何想法/建议,我将不胜感激。

这是我在上面的函数中使用的另外两个函数: