问题标签 [image-preprocessing]

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 回答
1266 浏览

python - Can I generate uint8 label using ImageDataGenerator() and flow_from_directory() in Keras?

I'm dealing with the 2D semantic segmentation task.

in Keras API Documents, these only has samples showing how to arrange dataset for image classification, not semantic segmentation.

So I arrange my image and label like this

But I found that the type of generated label images is float32, so I add a preprocessing_function function to label_datagen only to cast the dtype to uint8, but the generated label images' dtype is still float32, it seemed that preprocessing_function did nothing.

How can I repair this problem?

How to change my label data to uint8?

Is it a 'common practice' to add a preprocessing function to cast the dtype of label images?

Thanks for any advice!</p>

0 投票
1 回答
359 浏览

python - Keras 中的预处理功能不起作用

例如,在我的 2D 语义分割任务中,标签中的所有像素值都不是 0,1,2,而是 0,127,255。所以我想简单地向我的标签数据集的 ImageDataGenerator 添加一个预处理函数,

我的代码:

但似乎我的

预处理函数(图像)

对我的标签数据没有影响。

我是否以正确的方式使用预处理功能?我该如何修复这个?

0 投票
1 回答
107 浏览

matlab - 如何在我的环境中使用分类学习器?

我正在研究面部表情识别。我制作了一个包含 213 个图像的特征和类别的数据集。

  • Step1:我的数据集的每一行代表一张图像的特征。所以对于 213 图像 213 行
  • Step2:最后一列代表类如;1,2,3,4,5,6,7
  • Q1:当我运行分类学习器并检查交叉验证时,准确性非常低。
  • Q2:当我运行分类学习器并且没有检查交叉验证时,所有分类器的准确性都很好。

我不明白为什么?请帮我?如果有人已经经历过。

0 投票
1 回答
522 浏览

opencv - 删除文本周围的黑色边框/框以获得更好的 OCR?

如下图所示的文本边框对 OCR 来说是一个非常糟糕的结果。

在此处输入图像描述

在此处输入图像描述

所以我使用 javaCV(OpenCV 的 java wrapper)来删除图像中文本周围的边框和框。结果相当令人满意。但我现在面临的问题是,它正在删除文本的水平和垂直行,就像下面的例子一样。

在此处输入图像描述

被移除的水平线以不同的颜色重新绘制。

我正在按照以下步骤删除边框

  1. 找到指定轮廓高度和宽度的水平和垂直轮廓。
  2. 用白色填充轮廓。

我在下面附上了我的代码片段。

那么如何只删除边框而不影响文本呢?Java中的解决方案更可取,但我对python没问题。

0 投票
4 回答
472 浏览

python-3.x - 裁剪具有不同黑边距的图像

我有一个图像数据集,在将其提供给深度学习算法之前,我需要将其裁剪为相同的大小。所有图像都有不同大小的黑边,如下图所示。有关裁剪具有不同边距大小的图像的方法的任何建议。 在此处输入图像描述

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

0 投票
3 回答
11161 浏览

tensorflow - Keras VGG16 preprocess_input 模式

我正在使用Keras VGG16 模型

我已经看到有一个preprocess_input 方法可以与 VGG16 模型结合使用。此方法似乎调用 imagenet_utils.py 中的preprocess_input 方法(视情况而定)调用imagenet_utils.py 中的 _preprocess_numpy_input 方法

preprocess_input一个mode参数需要“caffe”、“tf”或“torch”。如果我在 Keras 中使用带有 TensorFlow 后端的模型,我绝对应该使用mode="tf"吗?

如果是,这是因为 Keras 加载的 VGG16 模型是用经过相同预处理的图像训练的(即将输入图像的范围从 [0,255] 更改为输入范围 [-1,1])?

另外,测试模式的输入图像是否也应该进行这种预处理?我相信最后一个问题的答案是肯定的,但我想要一些保证。

我希望 Francois Chollet 能正确地做到这一点,但是看看https://github.com/fchollet/deep-learning-models/blob/master/vgg16.py是他还是我在使用mode="tf".

更新信息

@FalconUA 将我带到牛津的 VGG,它有一个模型部分,其中包含 16 层模型的链接。有关preprocessing_input mode参数tf缩放到 -1 到 1 并caffe减去一些平均值的信息,请访问Models 16 层模型中的链接:信息页面。在描述部分它说:

“在论文中,模型表示为使用尺度抖动训练的配置 D。输入图像应通过平均像素(而不是平均图像)减法以零为中心。即,应减去以下 BGR 值:[103.939, 116.779、123.68]。”

0 投票
2 回答
1094 浏览

image-processing - 谷歌视觉更好的 OCR 的理想图像尺寸是多少?

我已经使用谷歌视觉 OCR 有一段时间了。而且我观察到 OCR 结果随图像尺寸而变化。例如,尺寸为 720 x 1280 的图像比 360 x 720 的效果更好。有时反过来会更糟。

我对微软的 OCR API 也有同样的体验。

那么是否有一个理想的图像尺寸总能提供良好的 OCR 结果?图像尺寸如何影响 OCR 结果?

0 投票
3 回答
1037 浏览

python - 如何分块加载非常大的mat文件?

好的,所以代码就像这样 X1 是加载的高光谱图像,尺寸为(512x512x91)我想做的基本上是裁剪 64x64x91 大小的矩阵,变化的步幅为 2。这给了我总共 49952 个图像,每个 64x64x91 大小但是当我运行 for 循环时,我得到了内存错误。我的系统有 8 GB 内存。

我有一个作为 Mat 文件加载的高光谱图像,尺寸为 (512x512x91)。我想使用这个图像的块作为我的 CNN 的输入,例如使用 64x64x91 的裁剪。问题是,一旦我从原始图像创建作物,我就无法加载数据,因为一次加载所有作物会给我带来内存错误。我可以做些什么来分批加载我裁剪的数据,这样我就不会收到这样的内存错误。我应该将我的数据转换为其他格式还是以其他方式处理问题?

0 投票
3 回答
10132 浏览

python - 使用 keras ImageDataGenerator 时如何在测试阶段对图像应用归一化?

我正在尝试使用训练有素的模型来预测新图像。我的准确率是 95%。但是无论我输入什么,predict_classes 总是返回第一个标签 [0]。我想原因之一是我使用featurewise_center=Trueand samplewise_center=Truein ImageDataGenerator。我想我应该对我的输入图像做同样的事情。但我找不到这些功能对图像做了什么。

任何建议将不胜感激。

ImageDataGenerator代码:

预测代码(我使用 100*100*3 的图像来训练模型):

11/14 更新:

我将代码更改为预测图像,如下所示。但是,即使我提供了用于训练模型的图像(并且获得了 95% 的准确率),该模型仍然可以预测相同的类别。有什么我错过的吗?

0 投票
0 回答
24 浏览

tensorflow - 当与初始模型的失真输入一起使用时,“颜色排序”是什么意思

我一直在寻找输入图像的预处理技术。在查看了 inception 模型的实现后:https ://github.com/awslabs/deeplearning-benchmark/blob/master/tensorflow/inception/inception/image_processing.py#L164 ,我发现他们使用的color_ordering参数可以是 0 或 1。在这种情况下,颜色排序是什么意思?