ADJUSTABLE REAL-TIME STYLE TRANSFER
Year: 2020

Abstract:
Artistic style transfer is the problem of synthesizing an image with content similar to a given image and style similar to another. Although recent feed-forward neural networks can generate stylized images in real-time, these models produce a single stylization given a pair of style/content images, and the user doesn’t have control over the synthesized output. Moreover, the style transfer depends on the hyper-parameters of the model with varying ”optimum” for different input images. Therefore, if the stylized output is not appealing to the user, she/he has to try multiple models or retrain one with different hyper-parameters to get a favorite stylization. In this paper, we address these issues by proposing a novel method which allows adjustment of crucial hyper-parameters, after the training and in real-time, through a set of manually adjustable parameters. These parameters enable the user to modify the synthesized outputs from the same pair of style/content images, in search of a favorite stylized image. Our quantitative and qualitative experiments indicate how adjusting these parameters is comparable to retraining the model with different hyper-parameters. We also demonstrate how these parameters can be randomized to generate results which are diverse but still very similar in style and content. The source-code of the project is available at the project website: https://goo.gl/PVWQ9K.

heading: 1 INTRODUCTION
text: Style transfer is a long-standing problem in computer vision with the goal of synthesizing new images by combining the content of one image with the style of another (Efros & Freeman, 2001; Hertzmann, 1998; Ashikhmin, 2001). Recently, neural style transfer techniques (Gatys et al., 2015; 2016; Johnson et al., 2016; Ghiasi et al., 2017; Li et al., 2018; 2017b) showed that the correlation between the features extracted from the trained deep neural networks is quite effective on capturing the visual styles and content that can be used for generating images similar in style and content. However, since the definition of similarity is inherently vague, the objective of style transfer is not well defined (Dumoulin et al., 2017) and one can imagine multiple stylized images from the same pair of content/style images.
Existing real-time style transfer methods generate only one stylization for a given content/style pair and while the stylizations of different methods usually look distinct (Sanakoyeu et al., 2018; Huang & Belongie, 2017), it is not possible to say that one stylization is better in all contexts since people react differently to images based on their background and situation. Hence, to get favored stylizations users must try different methods that is not satisfactory. It is more desirable to have a single model which can generate diverse results, but still similar in style and content, in real-time, by adjusting some input parameters.
One other issue with the current methods is their high sensitivity to the hyper-parameters. More specifically, current real-time style transfer methods minimize a weighted sum of losses from different layers of a pre-trained image classification model (Johnson et al., 2016; Huang & Belongie, 2017) (check Sec 3 for details) and different weight sets can result into very different styles (Figure 6). However, one can only observe the effect of these weights in the final stylization by retraining the model with the new set of weights. Considering the fact that the ”optimal” set of weights can be different for any pair of style/content (Figure 4) and also the fact that this ”optimal” truly doesn’t exist (since the goodness of the output is a personal choice) retraining the models over and over until the desired result is generated is not practical.
The primary goal of this paper is to address these issues by providing a novel mechanism which allows for adjustment of the stylized image, in real-time and after training. To achieve this, we use an auxiliary network which accepts additional parameters as inputs and changes the style transfer process by adjusting the weights between multiple losses. We show that changing these parameters at inference time results to stylizations similar to the ones achievable by retraining the model with different hyperparameters. We also show that a random selection of these parameters at run-time can generate a random stylization. These solutions, enable the end user to be in full control of how the stylized image is being formed as well as having the capability of generating multiple stochastic stylized images from a fixed pair of style/content. The stochastic nature of our proposed method is most apparent when viewing the transition between random generations. Therefore, we highly encourage the reader to check the project website https://goo.gl/PVWQ9K.

heading: 2 RELATED WORK
text: The strength of deep networks in style transfer was first demonstrated by Gatys et al. (Gatys et al., 2016). While this method generates impressive results, it is too slow for real-time applications due to its optimization loop. Follow up works speed up this process by training feed-forward networks that can transfer style of a single style image (Johnson et al., 2016; Ulyanov et al., 2016) or multiple styles (Dumoulin et al., 2017). Other works introduced real-time methods to transfer style of arbitrary style image to an arbitrary content image (Ghiasi et al., 2017; Huang & Belongie, 2017). Although, these methods can generate stylization for the arbitrary inputs, they can only produce one stylization for a single pair of content/style images. In the case that the user does not like the result, it is not possible to get a different result without retraining the network for a different set of hyperparameters. Our goal in this paper is to train a single network that user can get different stylization without retraining the network.
Generating diverse results have been studied in multiple domains such as colorizations (Deshpande et al., 2017; Cao et al., 2017), image synthesis (Chen & Koltun, 2017), video prediction (Babaeizadeh et al., 2017; Lee et al., 2018), and domain transfer (Huang et al., 2018; Zhang, 2018). Domain transfer is the most similar problem to the style transfer. Although we can generate multiple outputs from a given input image (Huang et al., 2018; Zhu et al., 2017), we need a collection of target or style images for training. Therefore we cannot use it when we do not have a collection of similar styles. For instance, when we want to generate multiple stylizations for the Stary Night painting, it is hard to find different similar paintings.
Style loss function is a crucial part of style transfer which affects the output stylization significantly. The most common style loss is Gram matrix which computes the second-order statistics of the feature activations (Gatys et al., 2016), however many alternative losses have been introduced to measure distances between feature statistics of the style and stylized images such as correlation alignment loss (Peng & Saenko, 2018), histogram loss (Risser et al., 2017), and MMD loss (Li et al., 2017a). More recent work (Liu et al., 2017) has used depth similarity of style and stylized images as a part of the loss. We demonstrate the success of our method using only Gram matrix; however, our approach can be expanded to utilize other losses as well.
To the best of our knowledge, the only previous work which generates multiple stylizations is (Ulyanov et al., 2017) which utilized Julesz ensemble to explicitly encourage diversity in stylizations. However their results are quite similar in style and only differ in minor details. A qualitative comparison in Figures 8,14 show that our proposed method is more effective in diverse stylization.

heading: 3 BACKGROUND

heading: 3.1 STYLE TRANSFER USING DEEP NETWORKS
text: Style transfer can be formulated as generating a stylized image p which its content is similar to a given content image c and its style is close to another given style image s. The similarity in style can be vaguely defined as sharing the same spatial statistics in low-level features, while similarity in content is roughly having a close Euclidean distance in high-level features (Ghiasi et al., 2017). These features are typically extracted from a pre-trained image classification network, commonly VGG-19 (Simonyan & Zisserman, 2014). The main idea here is that the features obtained by the image classifier contain information about the content of the input image while the correlation between these features represents its style.
In order to increase the similarity between two images, Gatys et al. (Gatys et al., 2016) minimize the following distances between their extracted features:
Llc(p) = ∣∣∣∣φl(p)− φl(s)∣∣∣∣2 2 , Lls(p) = ∣∣∣∣G(φl(p))−G(φl(s))∣∣∣∣2 F
(1) where φl(x) is activation of a pre-trained classification network at layer l given the input image x, while Llc(p) and Lls(p) are content and style loss at layer l respectively. G(φl(p)) denotes the Gram matrix associated with φl(p).
The total loss is calculated as the weighted sum of losses across a set of content layers C and style layers S : Lc(p) = ∑ l∈C wlcLlc(p), Ls(p) = ∑ l∈S wlsLls(p) (2) where wlc, w l s are hyper-parameters to adjust the contribution of each layer to the loss. Layers can be shared between C and S . These hyper-parameters have to be manually fine tuned through try and error and usually vary for different style images (Figure 4). Finally, the objective of style transfer can be defined as:
min p
( Lc(p) + Ls(p) ) (3)
This objective can be minimized by iterative gradient-based optimization methods starting from an initial p which usually is random noise or the content image itself.

heading: 3.2 REAL-TIME STYLE TRANSFER
text: Solving the objective in Equation 3 using an iterative method can be very slow and has to be repeated for any given pair of style/content image. A much faster method is to directly train a deep network T which maps a given content image c to a stylized image p (Johnson et al., 2016). T is usually a feed-forward convolutional network (parameterized by θ) with residual connections between down-
sampling and up-sampling layers (Ruder et al., 2018) and is trained on many content images using Equation 3 as the loss function:
min θ
( Lc(T (c)) + Ls(T (c)) ) (4)
The style image is assumed to be fixed and therefore a different network should be trained per style image. However, for a fixed style image, this method can generate stylized images in realtime (Johnson et al., 2016). Recent methods (Dumoulin et al., 2017; Ghiasi et al., 2017; Huang & Belongie, 2017) introduced real-time style transfer methods for multiple styles. But, these methods still generate only one stylization for a pair of style and content images.
4 PROPOSED METHOD
This paper addresses the following issues in real-time feed-forward style transfer methods: 1. The output of these models is sensitive to the hyper-parameters wlc and w l s and different weights significantly affect the generated stylized image as demonstrated in Figure 6. Moreover, the ”optimal” weights vary from one style image to another (Figure 4) and finding a good set of weights should be repeated for each style image. Note that for each set of wlc and w l s the model has to be retrained that limits the practicality of style transfer models. 2. Current methods generate a single stylized image given a content/style pair. While the stylizations of different methods usually look very distinct (Sanakoyeu et al., 2018), it is not possible to say which stylization is better for every context since it is a matter of personal taste. To get a favored stylization, users may need to try different methods or train a network with different hyper-parameters which is not satisfactory and, ideally, the user should have the capability of getting different stylizations in real-time.
We address these issues by conditioning the generated stylized image on additional input parameters where each parameter controls the share of the loss from a corresponding layer. This solves the problem (1) since one can adjust the contribution of each layer to adjust the final stylized result after the training and in real-time. Secondly, we address the problem (2) by randomizing these parameters which result in different stylizations.

heading: 4.1 STYLE TRANSFER WITH ADJUSTABLE LOSS
text: We enable the users to adjust wlc,w l s without retraining the model by replacing them with input parameters and conditioning the generated style images on these parameters: p = Ψ(c, s,αc,αs) αc and αs are vectors of parameters where each element corresponds to a different layer in content layers C and style layers S respectively. αlc and α l s replace the hyper-parameters w l c and w l s in the objective Equation 2: Lc(p) =
∑ l∈C αlcLlc(p) Ls(p) = ∑ l∈S αlsLls(p) (5)
To learn the effect of αc and αs on the objective, we use a technique called conditional instance normalization (Ulyanov et al.). This method transforms the activations of a layer x in the feedforward network T to a normalized activation z conditioned on extra inputs α = [αc,αs]:
z = γα (x− µ
σ
) + βα (6)
where µ and σ are mean and standard deviation of activations at layer x across spatial axes (Ghiasi et al., 2017) and γα , βα are the learned mean and standard deviation of this transformation. These parameters can be approximated using a second neural network which will be trained end-to-end with T : γα , βα = Λ(αc,αs) (7) Since Ll can be very different in scale, one loss term may dominate the others which will fail the training. To balance the losses, we normalize them using their exponential moving average as a normalizing factor, i.e. each Ll will be normalized to:
Ll(p) = ∑ i∈C∪S Li(p) Ll(p) ∗ Ll(p) (8)
where Ll(p) is the exponential moving average of Ll(p).

heading: 5 EXPERIMENTS
text: In this section, first we study the effect of adjusting the input parameters in our method. Then we demonstrate that we can use our method to generate random stylizations and finally, we compare our method with a few baselines in terms of generating random stylizations.

heading: 5.1 IMPLEMENTATION DETAILS
text: We implemented Λ as a multilayer fully connected neural network. We used the same architecture as (Johnson et al., 2016; Dumoulin et al., 2017; Ghiasi et al., 2017) for T and only increased number of residual blocks by 3 (look at supplementary materials for details) which improved stylization results. We trained T and Λ jointly by sampling random values for α from U(0, 1). We trained our model on ImageNet (Deng et al., 2009) as content images while using paintings from Kaggle Painter by Numbers (Kaggle) and textures from Descibable Texture Dataset (Cimpoi et al., 2014) as style images. We selected random images form ImageNet test set, MS-COCO (Lin et al., 2014) and faces from CelebA dataset (Liu et al., 2018) as our content test images. Similar to (Ghiasi et al., 2017; Dumoulin et al., 2017), we used the last feature set of conv3 as content layer C . We used last feature set of conv2, conv3 and conv4 layers from VGG-19 network as style layers S . Since there is only one content layer, we fix αc = 1. Our implementation can process 47.5 fps on a NVIDIA GeForce 1080, compared to 52.0 for the base model without Λ.

heading: 5.2 EFFECT OF ADJUSTING THE INPUT PARAMETERS
text: The primary goal of introducing the adjustable parametersα was to modify the loss of each separate layer manually. Qualitatively, this is demonstrable by increasing one of the input parameters from zero to one while fixing the rest of them to zero. Figure 3 shows one example of such transition. Each row in this figure is corresponding to a different style layer, and therefore the stylizations at each row would be different. Notice how deeper layers stylize the image with bigger stylization elements from the style image but all of them still apply the coloring. We also visualize the effect of increasing two of the input parameters at the same time in Figure 9. However, these transitions are best demonstrated interactively which is accessible at the project website https://goo.gl/PVWQ9K.
To quantitatively demonstrate the change in losses with adjustment of the input parameters, we rerun the same experiment of assigning a fixed value to all of the input parameters while gradually increasing one of them from zero to one, this time across 100 different content images. Then we calculate the median loss at each style loss layer S . As can be seen in Figure 7-(top), increasing
0.2 0.4 0.6 0.8 1.0 Input parameter value
0.0
0.2
0.4
0.6
0.8
1.0
N or
m al
iz ed
s ty
le lo
ss
0.2 0.4 0.6 0.8 1.0 Input parameter value
0.0
0.2
0.4
0.6
0.8
1.0
0.00 0.25 0.50 0.75 1.00 0.0
0.2
0.4
0.6
0.8 1.0 N or m al iz ed s ty le lo ss
Other parameters are fixed at 0.0
0.00 0.25 0.50 0.75 1.00 0.0
0.2
0.4
0.6
0.8
1.0 Other parameters are fixed at 1.0
Loss at conv2_3 Loss at conv3_3 Loss at conv4_3
Figure 7: Effect of adjusting the input parameters αs on style loss from different layers across single style image of Figure 3 (top) or 25 different style images (bottom). In each curve, one of the input parameters αls has been increased from zero to one while others are fixed at to zero (left) and to one (right). Then the style loss has been calculated across 100 different content images. As can be seen, increasing αls decreases the loss of the corresponding layer. Note that the losses is normalized in each layer for better visualization.
αls decreases the measured loss corresponding to that parameter. To show the generalization of our method across style images, we trained 25 models with different style images and then measured median of the loss at any of the S layers for 100 different content images (Figure 7)-(bottom). The similarly exhibited trends show that the model can generate stylizations conditioned on the input parameters.
Finally, we verify that modifying the input parameters αs generates visually similar stylizations to the retrained base model with different loss weights wls. To do so, we train the base model (Johnson et al., 2016) multiple times with different wls and compare the generated results with the output of our model when ∀l ∈ S , αls = wls (Figure 6). Note how the proposed stylizations in test time and without retraining match the output of the base model.

heading: 5.3 GENERATING RANDOMIZED STYLIZATIONS
text: One application of our proposed method is to generate multiple stylizations given a fixed pair of content/style image. To do so, we randomize α to generate randomized stylization (top row of Figure 5). Changing values of α usually do not randomize the position of the ”elements” of the style. We can enforce this kind of randomness by adding some noise with the small magnitude to the content image. For this purpose, we multiply the content image with a mask which is computed by applying an inverse Gaussian filter on a white image with a handful (< 10) random zeros. This masking can shadow sensitive parts of the image which will change the spatial locations of the ”elements” of style. Middle row in Figure 5 demonstrates the effect of this randomization. Finally, we combine these two randomizations to maximizes the diversity of the output which is shown in the bottom row of Figure 5. More randomized stylizations can be seen in Figure 10 and at https://goo.gl/PVWQ9K.

heading: 5.4 COMPARISON WITH OTHER METHODS
text: To the best of our knowledge, generating diverse stylizations at real-time is only have been studied at (Ulyanov et al., 2017) before. In this section, we qualitatively compare our method with this baseline. Also, we compare our method with a simple baseline where we add noise to the style parameters.
The simplest baseline for getting diverse stylizations is to add noises to some parameters or the inputs of the style-transfer network. In the last section, we demonstrate that we can move the locations of elements of style by adding noise to the content input image. To answer the question that if we can get different stylizations by adding noise to the style input of the network, we train (Dumoulin et al., 2017) which uses conditional instance normalization for transferring style. We train this model with only one style image and to get different stylizations, we add random noise to the style parameters (γα and βα parameters of equation 6) at run-time. The stylization results for this baseline are shown on the top row of Figure 8. While we get different stylizations by adding random noises, the stylizations are no longer similar to the input style image.
To enforce similar stylizations, we trained the same baseline while adding random noises at the training phase. As it can be seen in the second row of Figure 8, adding noise at the training time makes the model robust to the noise and the stylization results are similar. This indicates that a loss term that encourages diversity is necessary.
We also compare the results of our model with StyleNet (Ulyanov et al., 2017). As visible in Figures 8, although StyleNet’s stylizations are different, they vary in minor details and all carry the same level of stylization elements. In contrast, our model synthesizes stylized images with varying levels of stylization and more randomization.

heading: 6 CONCLUSION
text: Our main contribution in this paper is a novel method which allows adjustment of each loss layer’s contribution in feed-forward style transfer networks, in real-time and after training. This capability allows the users to adjust the stylized output to find the favorite stylization by changing input parameters and without retraining the stylization model. We also show how randomizing these parameters plus some noise added to the content image can result in very different stylizations from the same pair of style/content image.
Our method can be expanded in numerous ways e.g. applying it to multi-style transfer methods such as (Dumoulin et al., 2017; Ghiasi et al., 2017), applying the same parametrization technique to randomize the correlation loss between the features of each layer and finally using different loss functions and pre-trained networks for computing the loss to randomize the outputs even further. One other interesting future direction is to apply the same ”loss adjustment after training” technique for other classic computer vision and deep learning tasks. Style transfer is not the only task in which modifying the hyper-parameters can greatly affect the predicted results and it would be rather interesting to try this method for adjusting the hyper-parameters in similar problems.

Review summaries:
The paper proposed a generative model for image style transfer in real time. In particular, comparing to the existing work, the proposed method is able to generate a series of transferred images instead of one, and more importantly, users can adjust different parameters without re-training the network to control over the synthesized output. The proposed method was evaluated on publicly-available datasets, and achieved convincing experimental results.

The paper presents an approach for style transfer with controlable parameters. The controllable parameters correspond to the weights associated to "style losses" or ordinary style transfer models (distance between gram matrices of generated vs style image at specific layers of a network). The authors propose to learn a single architecture that takes these parameters as input to generate an image that resembles what would be generated by optimizing directly on these parameters. Examples of transfer and of the effect of these parameters are given. A quantitative evaluation shows that the effect of changing the parameters of the new network has the effect of reducing the loss at the desired layers.