image-processing - 使用卷积神经网络进行像素级分类?

标签 image-processing machine-learning tensorflow deep-learning convolution

这个问题是概念性的。我基本上了解 MNIST 示例的工作原理,前馈网络将图像作为输入并输出预测标签 0 到 9。

我正在开发一个项目,理想情况下将图像作为输入,对于该图像上的每个像素,我将输出该像素是否是某个标签的概率。

例如,我的输入大小为 600 * 800 * 3 像素,我的输出将为 600 * 800,其中输出中的每个条目都是概率。

如何使用卷积神经网络设计管道?我正在使用 tensorflow 。谢谢

<小时/>

详细说明:

基本上我想将每个像素标记为前景或背景(像素为前景的概率)。我的直觉是,在卷积层中,神经元将能够拾取该像素周围的补丁中的信息,并最终能够判断该像素是前景的可能性有多大。

最佳答案

虽然效率不是很高,但一个简单的方法可能是将像素窗口(例如 5px x 5px)着色为黑色,记录每个输出类的概率,然后将窗口滑动一点,然后记录再次。这将重复,直到窗口经过整个图像。

现在我们有一些有趣的信息。对于每个窗口位置,我们知道标签上的概率分布与分类器收到整个图像时的概率相比的增量。该增量对应于该区域对分类器做出决策的贡献量。

如果您希望将其映射到每个像素级别以实现可视化目的,则可以在滑动窗口时使用 1 像素的步长,并将概率增量映射到窗口最中心的像素。

请注意,您不想让窗口太小,否则增量将太小而无法产生影响。另外,您可能需要聪明地选择窗口的颜色,这样窗口本身就不会成为分类器的一个功能。

根据您的阐述进行编辑: 这仍然适用于您想要做的事情。事实上,它甚至变得更好了。您无需将所有标签概率增量分开,而是将它们相加。这将为您提供测量结果,告诉您“该区域使图像更像一个数字”(或者换句话说,前景)。此外,您不会根据未覆盖的图像来测量增量,而是根据每个标签的 P(x)=0 的概率向量来测量增量。

关于image-processing - 使用卷积神经网络进行像素级分类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40477940/

相关文章:

image-processing - ffmpeg调整大图像和高分辨率

matlab - 从特征向量分类

machine-learning - Tic tac Toe 机器学习 - 有效 Action

machine-learning - WEKA 使用类值来解决决策树?

python - 对应于 tf.nn.conv2d_transpose 的 Keras 层(函数)

python - 我的 tensorflow keras 模型每次预测总是给出 1.0。它无法正常工作

image - 比较图像的共同特征/模式

java - Java中的图像透明度或不透明度问题

python - 使用验证集确定 Keras 中的纪元数

python - 从 Cleverhans 攻击模型生成对抗数据