圖象風格遷移

什么是圖象風格遷移

圖象風格遷移就是將一張圖片的某種風格或者特征應用到另一張圖片上。例如ps或者powerpoint中的圖片風格化。

需要的知識儲備

  • python
  • tensorflow應用知識
  • Linux基礎知識
  • VGGNet的相關知識

圖象風格遷移原理

VGGNet

VGGNet是英國牛津大學研究者提出的一種用以識別圖象目標的分類與定位的神經網絡,當時獲得了ILSVRC2014比賽識別組的第二名與定位組的第一名。

VGGNet結構

VGG由5層卷積層、3層全連接層、softmax輸出層構成,層與層之間使用max-pooling(最大化池)分開,所有隱層的激活單元都采用ReLU函數。
可以這樣簡化的理解VGGNet的結構:前面的卷積層是從圖象中提取“特征”,后面的全連接層則是把“特征”轉換成類別的概率。其中,VGGNet中的淺層(如conv1_1,conv1_2),提取的特征往往是比較簡單的(如檢測點、線、亮度),VGGNet中的深層(如conv5_1,conv5_2),提取的特征往往是比較復雜的(如有無人臉或者某種特定物體)。
VGGNet的本意是輸入圖象,提取特征,并輸出圖象類別。圖象風格遷正好與之相反,輸入的是特征,輸出對應這種特征的圖片

VGGNet與圖象風格遷移的區別

圖象內容還原與圖象風格還原

根據VGGNet的原理,我們選取一幅圖象,經過VGGNet的計算可以得到各個卷積層的特征,根據這些卷積層的特征,可以還原出對應這種特征的原始圖象。通常情況下:淺層的還原效果比較好,深層對應的還原圖象丟失了部分顏色和紋理,但是大體保留了原始圖象中物體的形狀和位置。

  • 圖象內容還原

  • 圖象風格還原
    圖象風格即是圖象的特征還原,這里需要考慮的就是用什么樣的算法來表示圖象的風格。此處選用圖象卷積層特征的Gram矩陣。

  • 風格遷移
    前文描述皆是對原始圖象本身的內容和風格還原,將內容還原與風格還原結合起來,在還原一張圖象的同時,還原另外一張圖象的風格,便形成了圖象的風格遷移。

    以上便是圖象風格遷移的原理,但是使用梯度下降法來進行風格遷移需要耗費大量的計算時間,在CPU上計算生成一張圖片需要數十分鐘甚至幾小時,即使使用高性能GPU進行運算也需要十幾分鐘,不能很好的滿足實時化的應用。

快速風格遷移算法


快速風格遷移demo

demo提供了七種訓練好的快速風格遷移模型,具體如下:

訓練好的模型

隨機選擇幾種進行演示,效果如下:
原始圖象

wave風格化

scream風格化

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。