总说

简单来说,这个其实类似 Deep photo吧,都是加了分割mask的。和Deep Photo的区别就是,那么仍旧采用Gram-matrix-matching的方式进行style loss的计算。这个采用的是CNNMRF的style loss。
自动语义风格转换
框架也是一样,采用一个能提取特征的model,一般就选VGG19了。然后在隐藏层上进行一些loss的计算。主要是content loss和style loss,都是这些东西。这文章和CNNMRF的区别就是,加入了soft masks,否则还真的完全没区别啊。不过加入semantic mask的话,也是借鉴了 Deep photo吧。。简单来说就是用了CNNMRF的style loss加上Deep photo的semantic mask也加入进style loss的计算。 结合起来就完事。速度也慢,和deep photo的一样,迭代的方法能快? 也没和Deep photo比效果,和CNNMRF比算啥啊。唉唉。不过另外说一点,就是这个不是用hard mask,而是用soft mask来弄,算是和他们不太一样的地方吧。

简述方法

简单来说就是他们先将content 图xc以及style 图xs放进CRF-RNN(用于分割的网络),得到最后一层前面的activations,然后rescale到0-1之间,这就是probability map。得到mcms,分别对应这xcxs的soft masks。
然后也是输入到网络中。这次有4个输入xc,xs,mc,ms,然后得到中间activations
Φ(xc),Φ(xs),Φ(mc)Φ(ms)。值得注意的是Φ(ms)并不是直接将ms输入到VGG中,而是直接下采样到和Φ(xs)大小。由于对Φ(mc)的处理和Φ(ms)一样,所以就直接说前者了。

如何获得soft mask

由于用的CRF-RNN是用来进行Pascal VOC分割任务的,有20个类,因此有20个masks,但是作者就用了5个。这5个类是将xcxs的20个masks的重叠概率最大的前5个挑选出来。
(额,这不就说明了要求style 图和content图的形状比较相近才行啊。。我觉得还不如看Deep Image Analogy。。。)

计算style loss

自动语义风格转换
算了不想写了,公式写的乱七八糟的。看着糟心。

总结

从这里以及以前的Deep photo和Deep image analogy可以看出,为了达到semantic的风格转换,一般都将分割mask加入网络(一般直接将这种mask放缩后concat到feature map上),然后计算style loss时直接全部的通道进行切块计算。这是因为这种soft mask是一种probability map。反正计算loss时别单纯用x的feature map吧。不过Deep image analogy采用coarse-to-fine一层层迭代的方式进行,它那个对content 图和style图的形状相近应该要求还要严格些

相关文章:

  • 2021-11-14
  • 2021-11-24
  • 2021-08-21
  • 2021-07-12
  • 2021-11-05
  • 2021-06-22
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-15
  • 2021-09-15
  • 2021-08-21
  • 2021-09-23
  • 2022-12-23
  • 2021-08-10
  • 2021-10-02
相关资源
相似解决方案