使用卷积神经网络进行像素分类?

时间:2016-11-08 02:21:26

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

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

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

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

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

详细说明:

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

1 个答案:

答案 0 :(得分:2)

尽管它不是非常有效,但是一种天真的方法可能是将窗口(例如,5px x 5px)的像素着色为黑色,记录每个输出类的概率,然后将窗口滑动一点,然后重新录制。这将重复进行,直到窗口通过整个图像。

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

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

请注意,您不希望窗口太小,否则增量太小而无法发挥作用。此外,您可能希望对如何选择窗口的颜色有点聪明,因此窗口本身似乎不是分类器的特征。

编辑以回应您的详细说明: 这仍然适用于您尝试做的事情。事实上,它甚至变得更好。不要将所有标签概率增量保持分开,而是将它们相加。这将为您提供测量值,告诉您"该区域使图像更像数字#34; (或换句话说,前景)。此外,您不会针对未覆盖的图像测量增量,而是针对每个标签的P(x)= 0的概率向量。

相关问题