Соответствующая архитектура для создания условных изображений - PullRequest
0 голосов
/ 21 июня 2019

Мы пытаемся выполнить генерацию условного изображения, где «условие» - это изображение ткани тела в момент времени t, а на выходе - изображение той же ткани в момент времени t + 1.

До сих пор мы пробовали автоэнкодеры CNN двумя способами.

Первый способ - это архитектура с 3-канальным входом и 3-канальным выходом, в которой разные каналы представляют разные аспекты одной и той же ткани.

ВторойСпособом является 3-канальный вход и 1-канальный выход, для каждого из аспектов.Затем мы объединяем все выходные данные и вычисляем потери.

#This is one of the models we've been using:

model = Sequential()

model.add(Conv2D(32, (5,5) , strides = (2,2), input_shape = (148,148,3) , padding = "SAME",kernel_initializer = 'random_normal'))
model.add(BatchNormalization())
model.add(Activation(myact))
model.add(Dropout(0.1))

model.add(Conv2D(64, (5,5) , strides = (2,2) , padding = "SAME",kernel_initializer = 'random_normal'))
model.add(BatchNormalization())
model.add(Activation(myact))
model.add(Dropout(0.1))


model.add(Flatten())

model.add(Dense(64)) 
model.add(BatchNormalization())
model.add(Activation(myact))

model.add(Dense(37*37*64)) 
model.add(BatchNormalization())
model.add(Activation(myact))

model.add(layers.Reshape((37,37,64)))

model.add(Conv2DTranspose(64, (5, 5), strides=(2, 2), padding='SAME', use_bias=False))
model.add(BatchNormalization())
model.add(Activation(myact))
model.add(Dropout(0.1))

model.add(Conv2DTranspose(32, (5, 5), strides=(2, 2), padding='SAME', use_bias=False))
model.add(BatchNormalization())
model.add(Activation(myact))
model.add(Dropout(0.1))

model.add(Conv2D(32, (5,5) , strides = (1,1) , padding = "SAME",kernel_initializer = 'random_normal'))
model.add(BatchNormalization())
model.add(Activation(myact))
model.add(Dropout(0.1))

model.add(Conv2D(3, (5,5) , strides = (1,1) , padding = "SAME",kernel_initializer = 'random_normal'))
model.add(Activation(myact))

Мы получили хорошие результаты с обоими методами, которые мы попробовали.Однако есть ли более подходящий способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...