1. 程式人生 > >Fast Patch-based Style Transfer of Arbitrary Style論文理解

Fast Patch-based Style Transfer of Arbitrary Style論文理解

創新點

       這篇論文實現了影象的任意風格轉換,不在侷限於單個風格的訓練。同時支援優化和前向網路的方法。這個方面只在一層進行相關處理。

style swap

         表示content在某一層的feature maps、表示style在某一層的feature maps。


         ,就是表示用對應的代替後的值。具體怎麼替換,採用的是基於塊的方式,先確定塊的大小為3(可以是5、7等),對的每個塊都在中查詢最接近的塊來替換它。論文中一般是在relu3_1進行計算style swap,具體的計算公式如下。

    

         以上可以採用並行的計算方式,具體可以表示成兩個卷積層來計算。一個卷積層是採用歸一化後的風格塊作為卷積核。卷積核的深度是風格塊的個數。另一個卷積層就是使用風格塊作為卷積核,核的深度仍然是風格塊的個數。前一個卷積層最終是為了計算得到content的每個patch對應替換style patch的位置。

優化方法


       優化的方法和gatys的方法類似,不過其優化方法很快就可以收斂,且在迭代100次的時候效果就比較好,不需要迭代很多次。其每次迭代速度比gatys的每次迭代速度都比較快。

       實驗中試驗使用的是預訓練好的VGG網路,且style layer是使用Relu3_1層。

        主要分為如下4步,不斷迴圈:
1.首先計算表示content在某一層的feature maps、表示style在某一層的feature maps。

2.計算,即style swap之後的結果。

3.計算損耗函式。

4.梯度下降進行更新風格化影象I


優化方法損耗函式

        優化方法時使用的損耗函式是如下的函式,初始時風格化圖片I是隨機初始化的,使得I的特徵空間和內容圖與風格圖交換後的featuremap在feature空間上距離最近。可以直接採用梯度下降的不斷更新輸入I以得到最終的風格圖片I。這裡注意梯度下降是對I進行作梯度下降。

 


前向網路


主要分為3步:
1.首先計算表示content在某一層的feature maps、表示style在某一層的feature maps。

2.計算,即style swap之後的結果。

3.輸入到前向網路,計算得到風格化影象結果。



前向網路的損耗函式

         和優化方法的損耗函式類似,只是前向網路時是經過前向網路得到的風格圖去計算,不斷的梯度下降更新前向網路的引數。





網路結構

        優化和前向網路這兩種方式的swap layer都是採用relu3_1。經過實驗驗證在這一層進行swap然後重構出來的stylized圖片的效果相對比較好。
      
        優化和前向網路這兩種方式前面編碼部分(將顏色空間轉換到feature空間)使用的網路都是Table A1的結構。優化方式的網路結構就使用這部分的網路之後進行style swap。前向網路除了編碼部分以及style swap之後,還需要從feature空間轉換到顏色空間,即解碼部分,解碼部分的網路和編碼部分的網路是對稱的,在卷積層之後都緊接著instance normalization,max pooling對應的是最近鄰上採用方式。


實驗效率


          速度相比一般的風格遷移網路有些慢,主要的時間是花在style swap的計算上,style swap佔總計算比達到95%。相比一般的風格遷移主要的優點就是支援任意風格的style 圖片。

          隨著風格影象尺寸的變大,syle swap部分的計算時間呈線性增長。內容影象增大,syle swap部分的計算時間開始呈線性增長,當增長到很大時,基本不變了。


論文實驗結果


       此方法直接計算視訊的風格轉換時,效果還不錯,偶爾會出現幀的風格有跳動。相比一般演算法視訊發生跳到小的原因主要是其演算法採用的是用最相近的style 的feature 塊替換content的塊,相應比較穩定,背景區域變化不大時,計算出來的對應替換換結果基本一致的。


在不同層進行Swap(relu3_1、relu4_1、relu5_1)

在越高的層數上進行Swap風格化越明顯,層數越低效果也越不明顯。在越高的層數上進行Swap內容資訊越不明顯,層數越低內容資訊越明顯。

      要風格化強些,層數稍高些;內容資訊強些,層數稍低點。

      可以考慮綜合稍高層和稍低層的結果,弄個權重進行權衡。

      不同patchSize大小進行測試(pathSize = 3、pathSize = 7)

pathSize越大,風格化越明顯。




程式碼

https://github.com/rtqichen/style-swap

相關推薦

Fast Patch-based Style Transfer of Arbitrary Style論文理解

創新點        這篇論文實現了影象的任意風格轉換,不在侷限於單個風格的訓練。同時支援優化和前向網路的方法。這個方面只在一層進行相關處理。 style swap          表示content在某一層的feature maps、表示style在某一層的fea

Perceptual Losses for Real-Time Style Transfer and Super-Resolution 論文 理解

      斯坦福大學的一篇基於感知損失函式的實時風格轉換和超分辨重建論文理解,暫時只對實時風格轉換部分做了理解,記錄如下,如有問題,歡迎指正。       這篇論文解決了之前Gatys等人實現的風格轉換費時比較久的問題。訓練了一個網路,其中直接包含前向生成部分,等模

Perceptual Losses for Real-Time Style Transfer and Super-Resolution----論文筆記

本文是參考文獻[1]的筆記。該論文是Li Fei-Fei名下的論文。 引入 最近新出的影象風格轉換演算法,雖然效果好,但對於每一張要生成的圖片,都需要初始化,然後保持CNN的引數不變,反向傳播更新影象,得到最後的結果。效能問題堪憂。 但是影象風格轉換演算法的成功,在

風格遷移(2)-Fast Style Transfer

info 圖片 參考 更新 ron bsp 深度 pytorch 們的 X為輸入圖片 fw 風格遷移的網絡 yc就是X ys是風格後的圖片 y帽為輸入圖片X經過fw 風格遷移的網絡生成的圖片 y帽在內容上與yc相類似,在風格上與ys相類似。 Fast Style Tr

論文閱讀】Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization

簡述 看這篇論文,並實現一下這個。(如果有能力實現的話) 實時任意風格轉換(用自適應Instance Normalization) instanceNorm = batchsize=1 的 batchNorm 1 Abstract Gatys et al

The good book: Bible helps researchers perfect translation algorithms: Study results in AI style transfer data set of unmatched

Internet tools to translate text between languages like English and Spanish are widely available. Creating style translators -- tools that keep text in th

經典論文重讀---風格遷移篇(一):Image Style Transfer Using Convolutional Neural Networks

核心思想 採用深層卷積網路提取影象風格特徵與內容,並將其進行融合生成效果很好的藝術圖。 引言部分 將一幅影象的風格遷移到另一副影象可以看作是紋理遷移的一個分支。對於紋理遷移,它的目標是從源圖合成一種紋理同時施加一定的限制條件來保留目標影象內容的顯著性。在採用神經網路進行風格遷移之

sp4.4 Face recognition Neural style transfer

人臉驗證:輸入照片以及id 1v1的問題看是否相符即可 這裡比如需要掃描的ID卡 他1V1比對 人臉識別:擁有多人資料庫,這裡不需要ID卡 直接人走過來 看在不在資料庫裡 1v多 錯誤率放大N倍     一次學習one-shot le

吳恩達深度學習4-Week4課後作業2-Neural Style Transfer

一、Deeplearning-assignment 在本節的學習中,我們將學習神經風格遷移(Neural Style Transfer)演算法,通過該演算法使得兩張不同風格的圖片融合成一張圖片。 問題描述:神經風格遷移演算法是深度學習中的一種有趣的技術。正如下面的圖片所示,演算法將兩種圖

10.A Neural Algorithm of Artistic Style

藝術風格的神經網路演算法 在精細工藝中,尤其是繪畫方面,人類已經掌握了通過在影象的內容和樣式之間複雜的相互作用來創造獨特的視覺體驗的技巧。到目前為止,這個過程的演算法基礎是未知的,並且沒有一個具有類似功能的人工系統。然而,在視覺感知的其他關鍵領域,如物體和人臉識別等,最近通過一種被稱為“深層神經

Choosing The Right Center of Excellence Style For Integrating Artificial Intelligence

The growing competition to drive digital transformation has led organizations to seek help from artificial intelligence. By harnessing the power of AI, org

Internets of interest #1: Brian Kernighan on the Elements of Programming Style

“It turns out that style matters in programming for the same reason that it matters in writing. It makes for better reading.” — Douglas Crockford I stu

Making AI Art with Style Transfer using Keras

Content LossThe purpose of the content loss is to make sure that the generated image x retains some of the “global” characteristics of the content image, p

ToneNet : A Musical Style Transfer

ToneNet : A Musical Style TransferBy: Team Vesta, University of Southern California.CSCI:599 Deep Learning and Its ApplicationsSuraj Jayakumar ([email 

吳恩達 深度學習 程式設計作業(4-4)- Face Recognition for the Happy House & Art: Neural Style Transfer

吳恩達 Coursera 課程 DeepLearning.ai 程式設計作業系列,本文為《卷積神經網路》部分的第四周“特殊應用:人臉識別和神經風格遷移”的課程作業。 Part 1:Face Recognition for the Happy H

The Elements of Programming Style(程式設計風格)

下文的程式設計風格規則摘錄於由McGraw Hill出版的,由Kernighan和 Plauger合著的《程式設計風格要素》一書。有Strunk和White的一引言:《程式設計風格要素》中的規則就像英語規則一樣,就算是大牛也有時候也會犯錯。然而,當這些規則被打破時,經常會為之付出代價。除非你確定這樣

一個藝術風格化的神經網路演算法(A Neural Algorithm of Artistic Style)(譯)

文章地址:《A Neural Algorithm of Artistic Style》. arXiv:1508.06576   對於好的藝術作品,尤其是畫作,人們已經掌握了通過在一幅影象的內容和風格中構成複雜的相互影響來創作獨特的視覺體驗的技能。因此這個過

Neural Style Transfer

Concept Content C + Style S = Generated image G What are Deep ConvNet Learning? More abstract features in deeper layer. C

深度卷積神經網路影象風格變換 Deep Photo Style Transfer

深度卷積神經網路影象風格變換 Taylor Guo, 2017年4月23日 星期日 - 4月27日星期四 摘要 本文介紹了深度學習方法的影象風格轉換,處理各種各樣的影象內容,保持高保真的參考風格變換。我們的方法構建於最近繪畫風格變換基礎上,用神經網路的不同網路層從影

藝術風格轉換之《A Neural Algorithm of Artistic Style

scipy.optimize.minimize的使用 scipy.optimize.minimize(fun, x0, args=(), method=None, jac=None, hess=None, hessp=None, bounds=None