【问题标题】:Image colorization using autoencoder - Maximum compression point使用自动编码器进行图像着色 - 最大压缩点
【发布时间】:2020-10-17 17:11:46
【问题描述】:

我正在为自动编码器构建一个模型。我在 LAB 颜色空间中有一个图像数据集(256x256)。

但我不知道,正确的最大压缩点是多少。我找到了示例,当我有 176 x 176 x 1 (~30976) 时,点是 22 x 22 x 512 (~247808)。

但是那是怎么计算的呢?

我的模特:

model = Sequential()
model.add(Conv2D(32, (3, 3), activation='relu', padding='same', input_shape=(256, 256, 1)))
model.add(MaxPooling2D((2,2)))
model.add(Conv2D(64, (3, 3), activation='relu', padding='same'))
model.add(MaxPooling2D((2,2)))
model.add(Conv2D(128, (3,3), activation='relu', padding='same'))
model.add(MaxPooling2D((2,2)))
model.add(Conv2D(256, (3,3), activation='relu', padding='same'))
model.add(MaxPooling2D((2,2)))
model.add(Conv2D(512, (3,3), activation='relu', padding='same'))

#Decoder
model.add(Conv2D(256, (3,3), activation='relu', padding='same'))
model.add(UpSampling2D((2, 2)))
model.add(Conv2D(128, (3,3), activation='relu', padding='same'))
model.add(UpSampling2D((2, 2)))
model.add(Conv2D(64, (3,3), activation='relu', padding='same'))
model.add(UpSampling2D((2, 2)))
model.add(Conv2D(2, (3, 3), activation='tanh', padding='same'))
model.add(UpSampling2D((2, 2)))
model.compile(optimizer='adam', loss='mse' , metrics=['accuracy'])
model.summary()

【问题讨论】:

    标签: python tensorflow keras autoencoder


    【解决方案1】:

    弄清楚网络的这些方面是艺术而非数学。因此,如果不正确分析数据,我们就无法定义一个恒定的压缩点,这就是首先使用神经网络的原因。

    然而,我们可以直观地考虑每一层发生了什么。例如,在图像着色问题中,最好不要使用太多池化层,因为这会丢弃大量信息。一个大小为 2x2、步长为 2 的最大池化层丢弃了 75% 的输入数据。这在分类中更有用,以消除不可能的类别。类似地,ReLU 会丢弃所有负数据,并且可能不是解决当前问题的最佳函数选择。

    以下提示可能有助于解决您的具体问题:

    1. 减少池化层的数量。在池化之前,尝试增加可训练层的数量,以便模型(直观地)学会聚合重要信息以避免将其池化。

    2. 将激活更改为eluLeakyReLU 等,不会消除负值,尤其是因为输出也需要负值。

    3. 也许尝试 BiLinear 或 BiCubic 上采样来保持结构?我还建议看看所谓的“魔术”内核here。就我个人而言,我使用它取得了不错的效果,但有效地实施它需要时间。

    4. 如果您有足够的 GPU 空间,请增加通道数。除了在某些情况下过度拟合之外,这一点无需考虑太多。

    5. 最好使用Conv2D 层作为最后一层,以补偿上采样时的伪影。

    请记住,这些要点适用于一般用例。研究论文中的模型是另一种情况,并不像你的架构那么简单。所有这些要点可能适用于也可能不适用于特定论文。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-09
      相关资源
      最近更新 更多