convolutional_2 = Conv2D(number_of_filters, (3, 3), activation='relu', padding='same')(pooling_1)
convolutional_2 = Conv2D(number_of_filters, (3, 3), activation='relu', padding='same')( convolutional_2)
pooling_2 = MaxPooling2D(pool_size=(2, 2))( convolutional_2)
number_of_filters *= factor
pooling_2 = BatchNormalization()(pool2)
convolutional_3 = Conv2D(number_of_filters, (3, 3), activation='relu', padding='same')(pooling_2)
convolutional_3 = Conv2D(number_of_filters, (3, 3), activation='relu', padding='same')( convolutional_3)
pooling_3 = MaxPooling2D(pool_size=(2, 2))(convolutional_3)
number_of_filters *= factor
pooling_3 = BatchNormalization()(pooling_3)
convolutional_4 = Conv2D(number_of_filters, (3, 3), activation='relu', padding='same')(pooling_3)
convolutional_4 = Conv2D(number_of_filters, (3, 3), activation='relu', padding='same')( convolutional_4)
pooling_4 = MaxPooling2D(pool_size=(2, 2))( convolutional_4)
number_of_filters *= factor
convolutional_5 = Conv2D(number_of_filters, (3, 3), activation='relu', padding='same')(pooling_4)
convolutional_5 = Conv2D(number_of_filters, (3, 3), activation='relu', padding='same')(convolutional_5)
number_of_filters //= factor
if conv:
up_6 = concatenate([Conv2DTranspose(number_of_filters, (2, 2), strides=(2, 2), padding='same')(convolutional_5), convolutional_4])
else:
up_6 = concatenate([UpSampling2D(size=(2, 2))(convolutional_5), convolutional_4])
up_6 = BatchNormalization()(up6)
convolutional_6 = Conv2D(number_of_filters, (3, 3), activation='relu', padding='same')(up_6)
convolutional_6 = Conv2D(number_of_filters, (3, 3), activation='relu', padding='same')(convolutional_6)
number_of_filters //= factor
if conv:
up_7 = concatenate([Conv2DTranspose(number_of_filters, (2, 2), strides=(2, 2), padding='same')(convolutional_6), convolutional_3])
else:
up_7 = concatenate([UpSampling2D(size=(2, 2))(convolutional_6), convolutional_3])
up_7 = BatchNormalization()(up_7)
convolutional_7 = Conv2D(number_of_filters, (3, 3), activation='relu', padding='same')(up_7)
convolutional_7 = Conv2D(number_of_filters, (3, 3), activation='relu', padding='same')(convolutional_7)
number_of_filters //= factor
if conv:
up_8 = concatenate([Conv2DTranspose(number_of_filters, (2, 2), strides=(2, 2), padding='same')(convolutional_7), convolutional_2])
else:
up_8 = concatenate([UpSampling2D(size=(2, 2))(convolutional_7), convolutional_2])
up_8 = BatchNormalization()(up_8)
convolutional_8 = Conv2D(number_of_filters, (3, 3), activation='relu', padding='same')(up_8)
convolutional_8 = Conv2D(number_of_filters, (3, 3), activation='relu', padding='same')(convolutional_8)
number_of_filters //= factor
if conv:
up_9 = concatenate([Conv2DTranspose(number_of_filters, (2, 2), strides=(2, 2), padding='same')(convolutional_8), convolutional_1])
else:
up_9 = concatenate([UpSampling2D(size=(2, 2))(convolutional_8), convolutional_1])
convolutional_9 = Conv2D(number_of_filters, (3, 3), activation='relu', padding='same')(up_9)
convolutional_9 = Conv2D(number_of_filters, (3, 3), activation='relu', padding='same')(convolutional_9)
convolutional_10 = Conv2D(classes, (1, 1), activation='sigmoid')(convolutional_9)
model = Model(inputs=input_1, outputs=convolutional_10)