在SRGAN当中,如果要对单通道的灰度图进行训练可以将输入层的尺寸改为(: ,: ,1),但是此时网络中使用的VGG19的 输入仍然为RGB三通道的图像,因此会报错。
VGG网络能否用于SRGAN对灰度图像的训练中?如果可以因当如何修改?
使用VGG19的代码如下:
def build_vgg(self):
vgg=VGG19(weights='imagenet')
vgg.outputs = [vgg.layers[9].output]
img = Input(shape=self.hr_shape)
img_features = vgg(img)
return Model(img, img_features)
可以把灰度图宽展成3通道的彩图,既把灰度图3层叠加(也可以使用其他办法),然后再有现有的VGG模型,再微调应该就可以来;
或者你参考VGG模型,重新自定义一个对应于单通道图片的网络模型重新训练。