A DJUSTABLE R EAL - TIME S TYLE T RANSFER
A BSTRACT
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.
I NTRODUCTION
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 deﬁnition of similarity is inherently vague, the objective of style transfer is not well deﬁned (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 speciﬁcally, current real-time style transfer methods minimize a weighted sum of losses from different layers of a pre-trained image classiﬁcation 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 ﬁnal 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.
[Figure]
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 ﬁxed 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.
R ELATED W ORK
The strength of deep networks in style transfer was ﬁrst 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 ﬁnd different similar paintings.
Style loss function is a crucial part of style transfer which affects the output stylization signiﬁcantly.
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.
B ACKGROUND 3. S TYLE TRANSFER USING DEEP NETWORKS
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 deﬁned 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 classiﬁcation network, commonly
VGG-19 (Simonyan & Zisserman, 2014).
The main idea here is that the features obtained by the image classiﬁer 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:
[Equation]
(1) where φ l ( x ) is activation of a pre-trained classiﬁcation network at layer l given the input image x , while L lc ( p ) and L ls ( 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 :
[Equation]
where w lc , w ls 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 ﬁne tuned through try and error and usually vary for different style images (Figure 4).
Finally, the objective of style transfer can be deﬁned as:
[Equation]
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.
3. R EAL - TIME STYLE TRANSFER
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- [Figure] c o n v 2 _ c o n v 3 _ c o n v 4 _ sampling and up-sampling layers (Ruder et al., 2018)
and is trained on many content images using
Equation 3 as the loss function:
[Equation]
The style image is assumed to be ﬁxed and therefore a different network should be trained per style image.
However, for a ﬁxed 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.
P ROPOSED M ETHOD
[Figure]
This paper addresses the following issues in real-time feed-forward style transfer methods: The
output of these models is sensitive to the hyper-parameters w lc and w ls and different weights signiﬁcantly affect the generated stylized image as demonstrated in Figure 6.
Moreover, the ”optimal” weights vary from one style image to another (Figure 4) and ﬁnding a good set of weights should be repeated for each style image.
Note that for each set of w lc and w ls the model has to be retrained that limits the practicality of style transfer models. 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 ﬁnal stylized result after the training and in real-time.
Secondly, we address the problem (2) by randomizing these parameters which result in different stylizations.
R a n d o m i
z e d
P a r a m e t e r s
R a n d o m i
z e d
C o n t e n t
N o
i s e
B o t h
We enable the users to adjust w lc , w ls without retraining the model by replacing them with input parameters and conditioning the generated style images on these parameters: [Equation]
ααα 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 α ls replace the hyper-parameters w lc and w ls in the objective Equation 2:
[Equation]
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 , [Equation] s ] :
[Equation]
(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 :
[Equation]
Since L l 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 L l will be normalized to:
[Equation]
where L l ( p ) is the exponential moving average of L l ( p ) .
E XPERIMENTS
In this section, ﬁrst 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 ﬁnally, we compare our method with a few baselines in terms of generating random stylizations. [Figure] b a s e o u r s b a s e o u r s
5. I MPLEMENTATION DETAILS
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 conv 3 as content layer C .
We used last feature set of conv 2 , conv 3 and conv 4 layers from VGG-19 network as style layers S .
Since there is only one content layer, we ﬁx ααα c = 1 .
Our implementation can process 47 .
5 fps on a NVIDIA
GeForce 1080, compared to 52 .
for the base model without Λ .
5. E FFECT OF ADJUSTING THE INPUT PARAMETERS
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 ﬁxing the rest of them to zero.
Figure 3 shows one example of such transition.
Each row in this ﬁgure 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 ﬁxed 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 [Figure] [Figure] α 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 w ls .
To do so, we train the base model (Johnson et al., 2016)
multiple times with different w ls and compare the generated results with the output of our model when ∀ l ∈ S , α ls = w ls (Figure 6).
Note how the proposed stylizations in test time and without retraining match the output of the base model.
5. G ENERATING RANDOMIZED STYLIZATIONS
One application of our proposed method is to generate multiple stylizations given a ﬁxed 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 ﬁlter 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. C OMPARISON WITH OTHER METHODS
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.
C ONCLUSION
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 ﬁnd 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 ﬁnally 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