【问题标题】:Superpixels input to CNN输入到 CNN 的超像素
【发布时间】:2019-05-13 03:54:46
【问题描述】:

如何将超像素作为 CNN 的输入?我使用 SLIC 算法将图像分割成超像素。

如何使用 CNN 进行分类?

【问题讨论】:

  • CNN 使用像素的 x,y 属性,以及不同像素之间的邻接关系。 SLIC 的输出没有必要的属性。您可以获取每个超像素的平均 RGB 和 XY 并将它们用作特征,但 CNN 不会是第一层的正确解决方案。您可以应用一些预处理并将像素放在网格上,使用 avg XY,但我不确定它的效果如何。

标签: python conv-neural-network image-segmentation superpixels


【解决方案1】:

我会尽力帮助你的。 CNN(卷积神经网络)处理输入的唯一数据,而不是矩阵(超像素是矩阵)。因此,为此,您需要删除每个超像素并使其成为自己的图像。因此,换句话说,如果您将图像分割成 300 个超像素,之后,您需要创建 300 个新图像,每个超像素一个。 在此之后,每个新图像可能会有不同的大小,这是臭名昭著的。你不能那样工作,因为 CNN 中输入的神经元数量不能改变。为此,您可以将每个“新图像”集中在背景 NxN 中(“N”必须足以覆盖所有新图像)。使用集中式超像素(新图像集中),每个像素都将作为 CNN 的输入。换句话说: 1)每个集中式超像素一次输入一个; 2)CNN中的输入数量为X*Y,X为超像素集中的shape[0],Y为超像素集中的shape[1]; 3)虽然集中了 300 个超像素,但您的 CNN 必须计算每个超像素的输出。

插图:https://imgur.com/k8pRDw7

看插图,祝你好运! :)

【讨论】:

    猜你喜欢
    • 2019-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-28
    • 1970-01-01
    • 1970-01-01
    • 2018-12-15
    相关资源
    最近更新 更多