【问题标题】:How to properly set up a neural network for coloring grayscale images?如何正确设置用于为灰度图像着色的神经网络?
【发布时间】:2019-04-16 20:17:48
【问题描述】:

我正在尝试为 CIFAR-10 数据集中的鸟类图像着色。 问题设置: X: (5000,32,32,1) 其中每个条目都是鸟类图像的灰度版本 Y: (5000,4096) 这是一个单热编码数组。例如,第一个像素将具有[0,0,1,0],其中 1 表示要使用的颜色。 Y 只是每个图像所有 one-hot 编码的折叠版本。

我关注了许多实现灰度图像着色的文章,但我的损失/准确度仍然高/低。

model = Sequential()
model.add(Convolution2D(32, (5, 5), strides=(1,1), input_shape=(32,32,1),padding='same', activation='relu'))
model.add(Dropout(0.2))

model.add(Convolution2D(32, (5, 5),activation='relu', padding='same' ))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Convolution2D(64, (5, 5), activation='relu', padding='same' ))
model.add(Flatten())

model.add(Dense(128))

model.add(Dense(4096, activation='softmax'))



# Compile model
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

model.fit(Xtrain, Ytrain, validation_data=(val_data,Ytest),epochs=5, batch_size=32)

我预计准确性会随着时代的发展而提高,但它会继续变得更糟。

【问题讨论】:

  • 您可以参考here

标签: python keras conv-neural-network


【解决方案1】:

您必须在架构中投入一些工作(听起来您一直在考虑),但要简单地将其黑盒化,您可以注入灰色图像并绘制彩色图像。为什么不呢?

使用 model.summary() 确保您的形状符合您的喜好。 (见下文)

我还没有测试过这段代码,但应该很接近......

model = Sequential()

model.add(InputLayer(input_shape=(32,32,1)))

model.add(Conv2D(32,(5,5),strides=(1,1), activation='relu', padding='same'))
model.add(SpatialDropout2D(rate=0.2)) # holla at this layer
model.add(Conv2D(32,(5,5), activation='relu', padding='same'))
model.add(MaxPool2D((2,2)))
model.add(Conv2D(64,(5,5),activation='relu',padding='same'))
model.add(Dense(128))

# have to upsample to get your height/width back from max pooling!
model.add(UpSampling2D((2,2)))

model.add(Conv2D(3,(2,2),activation='relu',padding='same'))
model.add(Activation('softmax'))


model.compile(optimizer='adam',loss='mse')
model.summary()

这是model.summary() 的输出。输出层为(32,32,3); 32 高,32 宽,通道。 [1]

现在只需将灰度作为 X 进行训练,将颜色原件作为 Y 进行训练。然后发布结果,供好奇者参考!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-10
    • 2020-12-02
    • 1970-01-01
    • 2021-10-21
    • 2011-11-23
    相关资源
    最近更新 更多