Working on image translation problem. Got many pairs of input-output images, say sketch as input, translated sketch as output. Images are b&w with 1 pixel width sketch lines.

Can simple encoder-decoder be used to LEARN the image translation?

Code snippet below is from https://blog.keras.io/building-autoencoders-in-keras.html which shows how autoencoder is programmed. Obviously, being autoencoder, the input and output are both shown same.

autoencoder.fit(x_train, x_train, epochs=50, batch_size=256, shuffle=True, validation_data=(x_test, x_test))

But here, instead of "x_train, xtrain" as first two arguments, can I give "x_train, y_train", where x_train are input images and y_train are output images?

Is is theoretically correct? Will following optimizer and cost function work?

autoencoder.compile(optimizer='adadelta', loss='binary_crossentropy')

Generally Pix2Pix networks are used for such work. But the main tenet of the GANs is that they learn the Cost Function for what is a good output.

In my problem, cost function is very deterministic, not a pixel here and there would do. So error can be clearly defined.

Is it theoretically correct even to try Pix2Pix here?

More Yogesh Kulkarni's questions See All
Similar questions and discussions