Почему вывод сверточного слоя неправильно нормализован между 0 и 1 для некоторых изображений? - PullRequest
0 голосов
/ 23 февраля 2020

Я работаю над понижающей дискретизацией изображений на основе обучения с использованием сверточных слоев. Моя сеть содержит 3 слоя свертки, а также слой BatchNorm и слои ReLu: Сетевая архитектура . После обучения модели было замечено, что для некоторых изображений сеть предсказывает значения пикселей, которые больше 1,0, таким образом создавая черные пиксели на большинстве предсказанных изображений. Изображение (2) показывает контрольное изображение , а Изображение (3) показывает, что моя сеть предсказывает . После исследования предсказанных результатов, которые я обнаружил, эта проблема возникает всякий раз, когда изображение содержит ярко-белую область.

Вход

`inpt = Input(shape=(None,None,1),name='input_com')`

comCNN Layer 1

`comcnn_layer1=Conv2D(64, (3, 3),strides=1, 
padding='same',kernel_initializer='he_uniform',name='convL1_com')(inpt)
comcnn_layerac=Activation('relu',name='reluL1_com')(comcnn_layer1)`

comCNN Layer2

`comcnn_layer2=Conv2D(64, (3, 
3),strides=2,padding='same',kernel_initializer='he_uniform',name='convL2_com')(comcnn_layerac)
comcnn_layer2bn= BatchNormalization(axis=3, momentum=0.0,epsilon=0.0001,name='BNL2_com') 
(comcnn_layer2)
comcnn_layer2ac=Activation('relu',name='reluL2_com')(comcnn_layer2bn)`

comCNN Layer3

`comcnn_layer3=Conv2D(1, (3, 
3),strides=1,padding='same',kernel_initializer='he_uniform',name='convL3_com')(comcnn_layer2ac)`

Уровень апсэмплинга

`comcnn_upscale=btl.UpSampling2DBilinear((40,40))(comcnn_layer3)`

Модель

`model_comcnn_test = Model(inputs=inpt, outputs=comcnn_upscale)`

Обратите внимание, что перед тренировкой весь набор данных изображения нормализуется между 0,0 и 1,0 путем деления каждого пикселя на 255,0, когда я работаю над полутоновыми изображениями. Кроме того, слой Upsampling используется для сопоставления размера выходного изображения с размером целевого изображения во время обучения.

Может кто-нибудь помочь мне решить эту проблему?

...