{'fraction_non_alphanumeric': 0.026248917123881027, 'fraction_numerical': 0.00837424198671672, 'mean_word_length': 4.757439733998337, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 8, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Compositional GAN: Learning Image-Conditional Binary Composition

Generative Adversarial Networks (GANs) can produce images of remarkable complexity and realism but are generally structured to sample from a single latent source ignoring the explicit spatial interaction between multiple entities that could be present in a scene. Capturing such complex interactions between different objects in the world, including their relative scaling, spatial layout, occlusion, or viewpoint transformation is a challenging problem. In this work, we propose a novel self-consistent Composition-by-Decomposition (CoDe) network to compose a pair of objects. Given object images from two distinct distributions, our model can generate a realistic composite image from their joint distribution following the texture and shape of the input objects. We evaluate our approach through qualitative experiments and user evaluations. Our results indicate that the learned model captures potential interactions between the two object domains, and generates realistic composed scenes at test time.


Introduction
Generative Adversarial Networks (GANs) have emerged as a powerful method for generating images conditioned on a given input. The input cue could be in the form of an image [11,40,18,2,32,23], a text phrase [36,26,25,13] or a class label layout [21,22,1]. The goal in most of these GAN instantiations is to learn a mapping that translates a given sample from source distribution to generate a sample from the output distribution. This primarily involves transforming either a single object of interest (apples to oranges, horses to zebras, label to image etc.), or changing the style and texture of the input image (day to night etc.). However, these direct input-centric transformations do not directly capture the fact that a natural image is a 2D projection of a composition of multiple objects interacting in a 3D visual world. In this work, we explore the role of compositionality in learning a function that maps images of different objects sampled from their marginal distributions (e.g., chair and table) into a combined sample (table-chair) that captures their joint distribution.
Modeling compositionality in natural images is a challenging problem due to the complex interaction possible among different objects with respect to relative scaling, spatial layout, occlusion or viewpoint transformation. Recent work using spatial transformer networks [12] within a GAN framework [17] decomposes this problem by operating in a geometric warp parameter space to find a geometric modification for a foreground object. However, this approach is only limited to a fixed background and does not consider more complex interactions in the real world. Another recent work on scene generation conditioned on text and a scene graph, which explicitly provides reasoning about objects and their relations [13].
We develop an approach to model object compositionality in images. We consider the task of composing two input object images into a joint image that captures their joint interaction in natural images. For instance, given an image of a chair and a table, our formulation should be able to generate an image containing the same chair-table pair interacting naturally. For a model to be able to capture the composition correctly, it needs to have the knowledge of occlusion ordering, i.e., table comes in front of chair, and spatial layout, i.e., a chair slides inside table. To the best of our knowledge, we are among the first to solve this problem in the image conditional space without any prior explicit information about the objects layout.
Our key insight is to reformulate the problem of composition of two objects into first composing the given object images to generate the joint combined image which models the object interaction, and then decomposing the joint image back to obtain individual ones. This reformulation enforces a self-consistency constraint [40] through a composition-decomposition network. However, in some scenarios, one does not have access to the paired examples of same object instances with their combined compositional image, for instance, to generate the joint image from the image of a given table and a chair, we might not have any example of that particular chair besides that particular table while we might have images of other chairs and other tables together. We add an inpainting network to our composition-decomposition layers to handle the unpaired case as well.
Through qualitative and quantitative experiments, we evaluate our proposed Compositional-GAN approach in two training scenarios: (a) paired: when we have access to paired examples of individual object images with their corresponding composed image, (b) unpaired: when we have a dataset from the joint distribution without being paired with any of the images from the marginal distributions.

Related Work
Generative adversarial networks (GANs) have been used in a wide variety of settings including image generation [7,35,14] and representation learning [24,28,19,6]. The loss function in GANs have been shown to be very effective in optimizing high quality images conditioned on available information. Conditional GANs [21] generate appealing images in a variety of applications including image to image translation both in the case of paired [11] and unpaired data [40], inpainting missing image regions [23,34], generating photorealistic images from labels [21,22], and solving for photo super-resolution [16,15].
Learning compositional structure has been studied in earlier works such as [4] where composition was introduced as a geometric and data-driven approach for measuring similarities between two set of signals. Two signals are locally similar if regions in one signal can be composed using large contiguous chunks of data from the other signal. Similarly, composition could address the problem of detecting irregularities in visual data as a process of constructing a puzzle [3]. More recently, each image was explained as a spatial composite of partial regions taken from different database images with the end goal of unsupervised scene segmentation [27].
Image compositing is a challenging problem in computer graphics where masked objects from different images are to be overlayed in one single image. Appearance and geometric differences between these objects are obstacles that can result in non-realistic composed images. Zhu et.al. [39] proposed to learn optimal parameters of a compositing method as well as a discriminator (a CNN) that could distinguish realistic composite images from non-realistic ones. Tsai et.al. [31] developed an end-to-end deep CNN for image harmonization which could automatically capture the context and semantic information of the composite image and was able to outperform its precedents [30,33] which used transferring statistics of hand-crafted features including color and texture to harmonize the foreground and background in the composite image. A more recent paper [17] introduced a novel GAN that uses spatial-transformer networks as the generator that performs geometric corrections to sequentially warp a masked object to adapt to a fixed background image. Another recent paper [13] computed a scene layout starting from given scene graphs which revealed an explicit reasoning about relationships between objects, and converted the layout to an output image. Despite the success all these approaches gained in improving perceptual realism, they lack the realistic complex problem statement where no prior information about the scene layout is given. In the general case which we address, each object should be rotated, scaled, and translated in addition to occluding others and/or being occluded to generate a realistic composite image. 2

Compositional GAN Architecture
We propose a generative network for composing two objects by learning how to handle their relative scaling, spatial layout, occlusion, and viewpoint transformation. Given a set of images from the marginal distribution of the first object, X = {x 1 , · · · , x n }, and a set of images from the marginal distribution of the second object, Y = {y 1 , · · · , y n }, in addition to a set of real images from their joint distribution containing both objects, C = {c 1 , · · · , c n }, we generate realistic composite images containing objects given from the first two sets. We propose a conditional generative adversarial network for two scenarios: (1) paired inputs-output in the training set where each image in C is correlated with an image in X and one in Y , and (2) unpaired training data where images in C are not paired with images in X and Y . It is worth noting that our goal is not to learn a generative model of all possible compositions, but learn to output the mode of the distribution. The modular components of our proposed approach are critical in learning the mode of plausible compositions. For instance, our relative appearance flow network handles the viewpoint and the spatial transformer network handles affine transformation eventually making the generator invariant to these transformations. In the following sections, we first summarize a conditional generative adversarial network, and then will discuss our network architecture and its components for the two circumstances.

Conditional Generative Adversarial Networks
Starting from a random noise vector, z, GANs generate images c of a specific distribution by adversarially training a generator, G, versus a discriminator, D. While the generator tries to produce realistic images, the discriminator opposes the generator by learning to distinguish between real and fake images. In the conditional GAN models (cGANs), an auxiliary information, x, in the form of an image or a label is fed into the model alongside the noise vector ({x, z} → c) [8,21]. The objective of cGANs would be therefore an adversarial loss function formulated as: where G and D minimize and maximize this loss function, respectively.
The convergence of the above GAN objective and consequently the quality of generated images would be improved if an L 1 loss penalizing deviation of generated images from their ground-truth is added. Thus, the generator's objective function would be summarized as: In our proposed compositional GAN, model ({(x, y), z} → c) is conditioned on two input images, (x, y), concatenated channel-wise in order to generate an image from the target distribution p data (c).
We have access to real samples of these three distributions during training (in two paired and unpaired scenarios). Similar to [11], we ignore random noise as the input to the generator, and dropout is the only source of randomness in the network.

Relative Appearance Flow Network (RAFN)
In some specific domains, the relative view point of the objects should be changed accordingly to generate a natural composite image. Irrespective of the paired or unpaired inputs-output cases, we train a relative encoder-decoder appearance flow network [38], G RAFN , taking the two input images and synthesizing a new viewpoint of the first object, x RAFN i , given the viewpoint of the second one, y i encoded in its binary mask. The relative appearance flow network is trained on a set of images in X with arbitrary azimuth angles α i ∈ {−180 • , −170 • , · · · , 170 • , 180 • } along with their target images in an arbitrary new viewpoint with azimuth angle θ i ∈ {−180 • , −170 • , · · · , 170 • , 180 • } and a set of foreground masks of images in Y in the target viewpoints. The network architecture for our relative appearance flow network is illustrated in the appendix and its loss function is formulated as: As mentioned above, G RAFN is the encoder-decoder network predicting appearance flow vectors, which after a bilinear sampling generates the synthesized view. The encoder-decoder mask generating network, G M RAFN , shares weights in its encoder with G RAFN , but its decoder is designed for predicting Fake pair Real pair  Figure 1: Compositional GAN training model both for the paired and unpaired training data. The yellow box refers to the RAFN step for synthesizing a new viewpoint of the first object given the foreground mask of the second one, which will be applied only during training with paired data. The orange box represents the process of inpainting the input segmentations for training with unpaired data. Rest of the model would be similar for the paired and unpaired cases which includes the STN followed by the self-consistent composition-decomposition network.
foreground mask of the synthesized image. Moreover, x r i is the ground-truth image for x i in the new viewpoint,M fg xi is its predicted foreground mask, and M fg xi , M fg yi are the ground-truth foreground masks for x i and y i , respectively.

Paired Training Data
In this section, we propose a model, G, for composing two objects when there is a corresponding composite real image for each pair of input images in the training set. In addition to the relative AFN discussed in the previous section, to relatively translate the center-oriented input objects, we train our variant of the spatial transformer network (STN) [12] which simultaneously takes the two RGB images, x RAFN i and y i , concatenated channel-wise and translates them to x T i and y T i based on their spatial relation encoded in the training composite images. The architecture of this network is illustrated in Appendix B.
The main backbone of our proposed model consists of a self-consistent composition-decomposition network both as conditional generative adversarial networks. The composition network, G c , takes the two translated input RGB images, x T i and y i T , concatenated channel-wise in a batch, with size N × 6 × H × W , and generates their corresponding output,ĉ i , with size N × 3 × H × W composed of the two input images appropriately. This generated image will be then fed into the decomposition network, G dec , to be decomposed back into its constituent objects,x T i andŷ T i in addition to G M dec that predicts probability segmentation masks of the composed image,M xi andM yi . The two decomposition components G dec and G M dec share their weights in their encoder network but are different in the decoder. We assume the ground-truth foreground masks of the inputs and the target composite image are available, thus we remove background from all images in the network for simplicity. A GAN loss with gradient penalty [9] is applied on top of generated imagesĉ i ,x T i ,ŷ T i to make them look realistic in addition to multiple L 1 loss functions penalizing deviation of generated images from their ground-truth. An schematic of our full network, G, is represented in Figure 1 and the loss function is summarized as: , and x c i , y c i are the ground-truth transposed full object inputs corresponding to c i . Moreover, L L1 (G dec ) is the self-consistency constraint penalizing deviation of decomposed images from their corresponding transposed inputs and L CE is the cross entropy loss applied on the predicted probability segmentation masks. We also added the gradient penalty introduced in [9] to improve convergence of the GAN loss functions. If viewpoint transformation is not needed for the objects' domain, one can replace x RAFN i with x i in the above equations. The benefit of adding decomposition networks will be specifically clarified in Section 3.5.

Unpaired Training Data
Here, we propose a variant of our model discussed in section 3.3 for broader object domains where paired inputs-outputs are not available or hard to collect. In this setting, there is not one-to-one mapping between images in sets X, Y and images in the composite domain, C. However, we still assume that foreground and segmentation masks are available for images in all three sets during training. Therefore, the background is again removed for simplicity.
Given the segmentation masks, M xi , M yi , of the joint ground-truth image, c i , we first crop and resize object segments x c i,s = c i M xi and y c i,s = c i M yi to be at the center of the image, similar to the input center-oriented objects at test time, calling them as x i,s and y i,s . For each object, we add a self-supervised inpainting network [23], G f , as a component of our compositional GAN model to generate full objects from the given segments of image c i , reinforcing the network to learn object occlusions and spatial layouts more accurately. For this purpose, we apply a random mask on each x i ∈ X to zero out pixel values in the mask region and train a conditional GAN, G x f , to fill in the missing regions. To guide this masking process toward a similar task of generating full objects from segmentations, we can use the foreground mask of images in Y for zeroing out images in X. Another cGAN network, G y f , should be trained similarly to fill in the missing regions of masked images in Y . The loss function for each inpainting network would be as: Therefore, starting from two inpainting networks trained on sets X and Y , we generate a full object from each segment of image c i both for the center oriented segments, x i,s and y i,s , and the original segments, x c i,s and y c i,s . This step is summarized in the bottom left block of Figure 1. Now, given (x c i , y c i , c i ), we can train a spatial transformer network similar to the model for paired data discussed in section 3.3 followed by the composition-decomposition networks to generate composite image and its probability segmentation masks. Since we start from segmentations of the joint image rather than an input x i from a different viewpoint, we skip training the RAFN end-to-end in the compositional network, and use its pre-trained model discussed in section 3.2 at test time.

Inference Refinement Network
After training the network, we study performance of the model on two new images, x, y, from the marginal distributions of sets X and Y along with their foreground masks to generate a naturallooking composite image containing the two objects. However, since generative models cannot generalize very well to a new example, we continue optimizing network parameters given the two input test instances to remove artifacts and generate sharper results [2]. However, the groundtruth for the composite image and the target spatial layout of the objects are not available at test time, thus the self-consistency cycle in our decomposition network provides the only supervision for penalizing deviation from the original objects through an L 1 loss. We freeze the weights of the relative spatial transformer and appearance flow networks, and only refine the weights of the composition-decomposition layers where the GAN loss will be still applied given the real samples from our training set. Similar to the training time, we ignore background for simplicity given the foreground masks of the input instances. The ground-truth masks of the transposed full input images, M fg x , M fg y can be also obtained by applying the pre-trained RAFN and STN on the input masks. We then use the hadamard product to multiply the predicted masksM x ,M y with the objects foreground masks M fg x , M fg y , respectively to eliminate artifacts outside of the target region for each object. One should note that M fg x , M fg y are the foreground masks of the full transposed objects whileM x andM y are the predicted segmentation masks. Therefore, loss function for this refinement would be: wherex T ,ŷ T are the generated decomposed images, and x T and y T are the transposed inputs.
In the experiments, we will present two type of generated images: (1) image generated directly from the composition network,ĉ, before and after this refinement step, and (2) image generated directly based on the predicted segmentation masks asĉ s =M x x T +M y y T .

Experiments
In this section, we study the performance of our proposed compositional GAN model for both the paired and unpaired scenarios through multiple qualitative experiments in different domains. First, we use the Shapenet dataset [5] as our main source of input objects and study two cases: (1) a chair next to a table, (2) a bottle in a basket. Second, we show that our model performs equally well when one object is fixed and the other one is relatively scaled and linearly transformed to generate a composed image. We present our results on the CelebA dataset [20] composed with sunglasses downloaded from the web. In all our experiments, the values for the training hyper-parameters are set to λ 1 = 100, λ 2 = 50, λ 3 = 100, λ 4 = 1, and the inference λ = 100.

Composing a Chair with a Table
Composition of a chair and a table is a challenging problem since viewpoints of the two objects should be similar and one object should be partially occluded and/or partially occlude the other one depending on their viewpoint, the problem that cannot be solved by considering each object as a separate individual layer of an image. By feeding in the two objects simultaneously to our proposed network, the model learns to relatively transform each object and composes them reasonably.
We manually made a collection of 1000 composite images from Shapenet chairs and tables, thus our collected dataset can be used for both the paired and unpaired scenarios. In the paired scenario, we use the pairing information between each composite image and its constituent full chair and table besides their foreground masks. On the other hand, to show the performance of our model on the unpaired examples as well, we ignore the individual chairs and tables used in each composite image, and use a different subset of Shapenet chairs and tables as real examples of each individual set. We made sure that these two subsets do not overlap with the chairs and tables in composite images to avoid the occurrence of implicit pairing in our experiments.
Chairs and tables in all three sets can pose in a random azimuth angle in the range [−180 • , 180 • ] at steps of 10 • . As discussed in section 3.2, we feed in the foreground mask of a random table with a random azimuth angle in addition to the input chair to our relative appearance flow network. Irrespective of the paired or unpaired scenarios, we use the azimuth angle information of chairs and tables in Shapenet to train the RAFN model given the target chair in the same viewpoint as the mask of a random table. Therefore, network learns to synthesize a chair in the viewpoint encoded in the table's mask. In the third column of Figure 2, we represent the synthesized test chairs as X RAFN .
In addition, to study our network components, we visualize outputs of the model at different steps in Figure 2. To evaluate our network with paired training data on a new input chair and table represented as X and Y , respectively, we find its nearest neighbor composite example in the training set in terms of its constituent chair and table features extracted from a pre-trained VGG19 network [29]. As X Y X RAFN NN C before C after C s after^P aired Training NoInpaint C before C after C s after^Û npaired Training Figure 2: Test results on the chair-table composition task trained with either paired or unpaired data. "NN" stands for the nearest neighbor image in the paired training set, and "NoInpaint" shows the results of the unpaired model without the inpainting network. In both paired and unpaired cases, c before andĉ after show outputs of the generator before and after the inference refinement network, respectively. Also,ĉ after s represents summation of masked transposed inputs after the refinement step.
shown in the fourth column of Figure 2, nearest neighbors are different enough to be certain that network is not memorizing its training data. We also illustrate output of the network before and after the inference refinement step discussed in section 3.5 in terms of the generator's prediction,ĉ, as well as the direct summation of masked transposed inputs,ĉ s , for both paired and unpaired training models. The refinement step sharpens the synthesized image and removes artifacts generated by the model. Our results from the model trained on unpaired data is comparable with those from paired data. Moreover, we depict the performance of the model without our inpainting network in the eighth column, where occlusions are not correct in multiple examples. The second and last rows of Figure 2 emphasize that our model has successfully resolved the challenges involved in this composition task, where in some regions such as the chair handle, table is occluding the chair while in some other regions such as table legs, chair is occluding the table. We also report some of the failure cases for both paired and unpaired scenarios in Figure 6.
We have also conducted a mechanical turk evaluation to compare the performance of our algorithm in different scenarios including training with and without paired data and before and after the final inference refinement network. From a set of 90 test images of chairs and tables, we have asked 60 evaluators to select their preferred composite image generated by the model trained on paired data X Y NN C before C after C s after^P aired Training NoInpaint C before C after C s after^Û npaired Training Figure 3: Test results on the basket-bottle composition task trained with either paired or unpaired data. "NN" stands for the nearest neighbor image in the paired training set, and "NoInpaint" shows the results of the unpaired model without the inpainting network. In both paired and unpaired cases, c before andĉ after show outputs of the generator before and after the inference refinement network, respectively. Also,ĉ after s represents summation of masked transposed inputs after the refinement step.
versus images generated by the model trained on unpaired data, both after the inference refinement step. As shown in Table 1 , 57% of composite images generated by our model trained on paired inputs-outputs were preferred to the ones generated through the unpaired scenario. It shows that even without paired examples during training, our proposed model performs reasonably well. We have repeated the same study to compare the quality of images generated before and after the inference refinement step. As summarized in Table 1, there was a 71.3% preference to the refined images at inference time revealing the benefit of the the last refinement module in generating higher-quality images.

Composing Bottle with a Basket
Here, we represent another compositional example from Shapenet dataset to study our network's performance where the task would be to put a bottle in a basket. Similar to the chair-table problem, we manually composed Shapenet bottles with baskets to prepare a training set of 100 paired examples. We trained the model both with and without the paired data, similarly to section 4.1, and represent outputs of the network before and after the inference refinement in Figure 3. In addition, nearest neighbor examples in the paired training set are shown for each new input instance (third column) as well as the model's predictions in the unpaired case without the inpainting network (seventh column). As clear from the results, our inpainting network plays a critical role in the success of our unpaired model specially for handling occlusions. This problem statement is similarly interesting since the model should identify which pixels to be occluded. For instance in the first row of Figure 3, region inside in the basket is occluded by the blue bottle while the region outside is occluding the later. More examples are shown in Figure 7. In addition, we have shown results of a Amazon Mechanical Turk [37] study on this task, with 60 evaluators and a set of 45 test images, in the second row of Table 1 confirming the benefit of the refinement module and the comparable performance of training in the unpaired scenario with the paired training case.   -4th column: no cross-entropy mask loss in training results in faded bottles, -5th column: no GAN loss in training and inference generates outputs with a different color and lower quality than the input image, -6th column: no decomposition generator (G dec ) and self-consistent cycle results in partially missed bottles, -7, 8th columns represent full model in paired and unpaired scenarios.
Other Baselines: The purpose of our model is to capture object interactions in the 3D space projected onto a 2D image by handling their spatial layout, relative scaling, occlusion, and viewpoint for generating a realistic image. These factors distinguish our model from CycleGAN [40] and Pix2Pix [11] models whose goal is only changing the appearance of the given image. In this section, we compare to these two models. To be able to compare, we use the mean scaling and translating parameters of our training set to place each input bottle and basket together and have an input with 3 RGB channels (9th column in Figure 4). We then train a ResNet generator on our paired training data with an adversarial loss added with a L 1 regularizer. Since the structure of the input image might be different from its corresponding ground-truth image (due to different object scalings and layouts), ResNet model works better than a U-Net but still generating unrealistic images (10th column in Figure 4). We follow the same approach for the unpaired data through the CycleGAN model (11th column in Figure 4). As apparent from the qualitative results, it is not easy for either Pix2Pix or CycleGAN networks to learn the transformation between samples from the input distribution and that of the occluded outputs.

Composing Faces with Glasses
In this experiment, we compose a pair of sunglasses with a face image, similar to [17], where the latter should be fixed while sunglasses should be rescaled and transformed relatively. We used the CelebA dataset [20], followed its training/test splits and cropped images to 128 × 128 pixels. We hand-crafted 180 composite images of celebrity faces from the training split with sunglasses downloaded from the web to prepare a paired training set. However, we could still use our manual composite set for the unpaired case with access to the segmentation masks separating sunglasses from faces. In the unpaired scenario, we used 6000 images from the training split while not overlapping with our composite images to be used as the set of individual faces during training. In this case, since pair of glasses is always occluding the face, we report results based on summation of the masked transposed inputs,ĉ s for both the paired training data and the unpaired one. We also compare our results with the ST-GAN model [17] which assumes faces as a fixed background and warps glasses in geometric warp parameter space. Our results both in paired and unpaired cases, shown in Figure 5,look more realistic in terms of the scale, rotation angle, and location of the sunglasses with the cost of only 180 paired training images or 180 unpaired images with segmentation masks. More example images are illustrated in Figure 8.
To confirm this observation, we have studied the results by asking 60 evaluators to score our model predictions versus ST-GAN on a set of 75 test images. According to this study where we compare our model trained on paired data with ST-GAN, 84% of the users evaluated favorably our network predictions. Moreover, when comparing ST-GAN with our unpaired model, 73% of the evaluators selected the latter. These results confirm the ability of our model in generalizing to the new test examples and support our claim that both our paired and unpaired models significantly outperform the recent ST-GAN model in composing a face with a pair of sunglasses.

Conclusion and Future Work
In this paper, we proposed a novel Compositional GAN model addressing the problem of object composition in conditional image generation. Our model captures the relative linear and viewpoint transformations needed to be applied on each input object (in addition to their spatial layout and occlusions) to generate a realistic joint image. To the best of our knowledge, we are among the first to solve the compositionality problem without having any explicit prior information about object's layout. We evaluated our compositional GAN through multiple qualitative experiments for two cases of paired versus unpaired training data. In the future, we plan to extend this work toward generating images composed of multiple (more than two) and/or non-rigid objects. We believe this paper opens a new line of research in image compositionality.  Figure 7: More test results on the basket-bottle composition task trained with either paired or unpaired data. "NN" stands for the nearest neighbor image in the paired training set, and "NoInpaint" shows the results of the unpaired model without the inpainting network. In both paired and unpaired cases, c before andĉ after show outputs of the generator before and after the inference refinement network, respectively. Also,ĉ after s represents summation of masked transposed inputs after the refinement step.

A Relative Appearance Flow Network (RAFN)
Architecture of our relative appearance flow network is illustrated in Figure 9 which is composed of an encoder-decoder set of convolutional layers for predicting the appearance flow vectors, which after a bilinear sampling generates the synthesized view. The second decoder (last row of layers in Figure 9) is for generating foreground mask of the synthesized image following a shared encoder network [38]. All convolutional layers are followed by batch normalization [10] and a ReLU activation layer except for the last convolutional layer in each decoder. In the flow decoder, output is fed into a Tanh layer while in the mask prediction decoder, the last convolutional layer is followed by a Sigmoid layer to be in the range [0, 1].

B Relative Spatial Transformer Network
Diagram of our relative spatial transformer network is represented in Figure 10. The two input images (e.g., chair and table) are concatenated channel-wise and fed into the localization network to generate two set of parameters, θ 1 , θ 2 for the affine transformations. This single network is simultaneously trained on the two images learning their relative transformations required to getting close to the given target images. In this figure, orange feature maps are the output of a conv2d layer (represented along with their corresponding number of channels and dimensions) and yellow maps are the output of max-pool2d followed by ReLU. The blue layers also represent fully connected layers.