圖像風格轉換(四)-最終進化?

更新於 發佈於 閱讀時間約 4 分鐘

一.引言

  經過三篇的進展,我們目前實作的網路已經能做到同時訓練多種風格,且後續可以直接進行轉換,不用重新訓練,但是這種方法畢竟還是受到了預訓練的風格制約,無法跳脫出來,那麼有什麼辦法能夠讓他對於沒學過的風格也有一定的反應能力呢?

二.方法說明

  在上篇我們談到了CIN,其基本概念假設風格可以藉由正規化的特徵向量進行線性組合而得,所以不同的風格只是代表了不同的線性組合參數,所以,是不是只要能自動的根據不同的風格產生出不同的參數組合,就能在沒訓練的風格情況下也有一定效果呢?

  在這個想法下,Ghiasi et al. 2017 提出的 Exploring the structure of a real-time, arbitrary neural artistic stylization network 便使用了一個風格預測模型去預測一個風格向量,並且在CIN模塊內導入風格向量去自行產生Gamma及Beta值,這樣一來只要同時訓練這個風格預測模型,就能夠在未訓練的風格上也有一定的泛用性。

三.實際演練

  實際操作上CIN與風格向量的銜接方法挺特殊的,若風格向量為1000維,在使用時會使用線性層將1000維再次壓縮成每個CIN模組需要的大小,以下為修改後的捲積層,詳細整體實作可以前往我的Github:

class ConvLayer(nn.Module):
def __init__(self, in_channels, out_channels, kernel_size, stride,style_vector_size):
super(ConvLayer, self).__init__()
padding = kernel_size // 2
self.reflection_pad = nn.ReflectionPad2d(padding)
self.conv2d = nn.Conv2d(in_channels, out_channels, kernel_size, stride)
self.cin = CIN(out_channels)
self.style_gamma = nn.Linear(style_vector_size, out_channels)
self.style_beta = nn.Linear(style_vector_size, out_channels)

def forward(self, x, style_vector):
# 获取本层的gamma和beta
gamma = self.style_gamma(style_vector).view(-1, self.conv2d.out_channels, 1, 1)
beta = self.style_beta(style_vector).view(-1, self.conv2d.out_channels, 1, 1)

out = self.reflection_pad(x)
out = self.conv2d(out)
out = self.cin(out, gamma, beta)
return out

本次訓練集使用 COCO(作為content) 及 Painter by numbers(作為style)進行訓練,其中有幾點本次實作遇到的小坎 :

  1. 圖片載入時的正規化動作在訓練時造成了影響,將其拿掉在我的實驗中有更好的效果
  2. content weight 及 style weight 及 tv weight 的設定需要再調整
  3. 因為本次同時要對兩個資料集做迭代,其中以content為主,所以要注意style dataset的迭代狀況
  4. 請注意預測時的每個部件都處在正確的狀態,否則會出現復現失敗的問題

以下為實驗結果 :

raw-image

四.結語

  從實驗結果來看,目前我的模型對於鮮豔色彩及幾何風格尚無法很好的表現出來,但接下來就是超參微調及持續訓練的問題,於是想了想還是將目前狀態整理好發了出來,對於風格轉換的研究也會先告一段落,雖然風格轉換後續還有很多有趣的用法,如更細微的控制及結合不同風格的綜合體,但到此為止也已經對於風格轉換有著基本的認識,接下來會進行其他領域的探索,當然也期待著有機會能再將風格轉換系列繼續寫到最新,讓我們下篇再見 OwO/

留言
avatar-img
留言分享你的想法!
avatar-img
貓貓學習筆記
9會員
21內容數
AI、電腦視覺、圖像處理、AWS等等持續學習時的學習筆記,也包含一些心得,主要是幫助自己學習,若能同時幫助到不小心來到這裡的人,那也是好事一件 : )
貓貓學習筆記的其他內容
2024/07/08
我們前面幾篇已經講完TTS技術的一大半架構了,知道了如何將聲學特徵重建回音訊波形,也從中可以知道要是聲學特徵不完善,最終取得的結果也會不自然,剩下要探討該如何將文字轉換成聲學特徵,且能夠自然地表現停頓及細節變化,讓我們開始吧。
Thumbnail
2024/07/08
我們前面幾篇已經講完TTS技術的一大半架構了,知道了如何將聲學特徵重建回音訊波形,也從中可以知道要是聲學特徵不完善,最終取得的結果也會不自然,剩下要探討該如何將文字轉換成聲學特徵,且能夠自然地表現停頓及細節變化,讓我們開始吧。
Thumbnail
2024/06/26
距離上篇已經快過一個月了,這個月我也沒閒著,我FF14生產職拉了不少等級進行了上篇 WaveNet 的後續調試,也比較與其他人實現的效果,又發現了幾個實作上可能造成困難的點,現在就跟各位分享一下~
Thumbnail
2024/06/26
距離上篇已經快過一個月了,這個月我也沒閒著,我FF14生產職拉了不少等級進行了上篇 WaveNet 的後續調試,也比較與其他人實現的效果,又發現了幾個實作上可能造成困難的點,現在就跟各位分享一下~
Thumbnail
2024/06/01
WaveNet 提供了一個先進的架構用於音訊重建,但是,有必要嗎? Mel 頻譜本身就是經過數學轉換而獲得的結果,不能反運算嗎 ? 到底 WaveNet 在其中扮演了甚麼腳色 ?它是如何運作的 ? 讓我們在這篇好好探討下去。
Thumbnail
2024/06/01
WaveNet 提供了一個先進的架構用於音訊重建,但是,有必要嗎? Mel 頻譜本身就是經過數學轉換而獲得的結果,不能反運算嗎 ? 到底 WaveNet 在其中扮演了甚麼腳色 ?它是如何運作的 ? 讓我們在這篇好好探討下去。
Thumbnail
看更多
你可能也想看
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
在這一章中,我們介紹了 CSS 的過渡效果和動畫效果。過渡效果使 CSS 屬性的變化更加平滑,而動畫效果則允許我們更精細地控制元素的多個屬性隨時間變化的過程。我們通過基本語法和示例展示了如何使用這些效果,並提供了一個綜合應用的實踐案例來幫助理解。這些技術可以讓你的網頁更具互動性和動態效果。
Thumbnail
在這一章中,我們介紹了 CSS 的過渡效果和動畫效果。過渡效果使 CSS 屬性的變化更加平滑,而動畫效果則允許我們更精細地控制元素的多個屬性隨時間變化的過程。我們通過基本語法和示例展示了如何使用這些效果,並提供了一個綜合應用的實踐案例來幫助理解。這些技術可以讓你的網頁更具互動性和動態效果。
Thumbnail
本章介紹了 CSS 中的顏色和背景屬性,包括文本顏色的設置方法、背景顏色和背景圖片的應用、背景重複和位置的配置,以及線性漸變和徑向漸變的使用。這些知識將幫助你更靈活地設計和美化網頁。
Thumbnail
本章介紹了 CSS 中的顏色和背景屬性,包括文本顏色的設置方法、背景顏色和背景圖片的應用、背景重複和位置的配置,以及線性漸變和徑向漸變的使用。這些知識將幫助你更靈活地設計和美化網頁。
Thumbnail
視覺層級並不侷限於平面設計,在用戶體驗及介面上更是一個重要的核心之一。視覺層級除了讓畫面的視覺編排更加精緻好看,更重要的功能是能讓畫面有效地被組織,讓觀者更容易理解。
Thumbnail
視覺層級並不侷限於平面設計,在用戶體驗及介面上更是一個重要的核心之一。視覺層級除了讓畫面的視覺編排更加精緻好看,更重要的功能是能讓畫面有效地被組織,讓觀者更容易理解。
Thumbnail
最近在嘗試使用不同的AI生圖方式混合出圖的方式,採用A平台的優點,並用B平台後製的手法截長補短,創造出自己更想要的小說場景,效果不錯,現在以這張圖為例,來講一下我的製作步驟。
Thumbnail
最近在嘗試使用不同的AI生圖方式混合出圖的方式,採用A平台的優點,並用B平台後製的手法截長補短,創造出自己更想要的小說場景,效果不錯,現在以這張圖為例,來講一下我的製作步驟。
Thumbnail
  經過三篇的進展,我們目前實作的網路已經能做到同時訓練多種風格,且後續可以直接進行轉換,不用重新訓練,但是這種方法畢竟還是受到了預訓練的風格制約,無法跳脫出來,那麼有什麼辦法能夠讓他對於沒學過的風格也有一定的反應能力呢?
Thumbnail
  經過三篇的進展,我們目前實作的網路已經能做到同時訓練多種風格,且後續可以直接進行轉換,不用重新訓練,但是這種方法畢竟還是受到了預訓練的風格制約,無法跳脫出來,那麼有什麼辦法能夠讓他對於沒學過的風格也有一定的反應能力呢?
Thumbnail
在第一篇我講到一開始的圖像風格轉換,每產生一張圖片都得重新訓練,這對於使用上難免綁手綁腳,所以理所當然的下一步就是要解決這個問題,看看能不能只要訓練一次,就可以重複使用。
Thumbnail
在第一篇我講到一開始的圖像風格轉換,每產生一張圖片都得重新訓練,這對於使用上難免綁手綁腳,所以理所當然的下一步就是要解決這個問題,看看能不能只要訓練一次,就可以重複使用。
Thumbnail
  最近遇到一些人想做音訊的合成,我回答他或許可以從圖像風格轉換中找到些靈感,我才突然想起我對於這部分的認知只止於知道他能做什麼及結果大概如何,對於內部訓練邏輯及結構並沒有認真的去了解,現在剛好趁此機會好好的學習一下。
Thumbnail
  最近遇到一些人想做音訊的合成,我回答他或許可以從圖像風格轉換中找到些靈感,我才突然想起我對於這部分的認知只止於知道他能做什麼及結果大概如何,對於內部訓練邏輯及結構並沒有認真的去了解,現在剛好趁此機會好好的學習一下。
Thumbnail
這篇要搭建一個同時生成寫實照片跟動漫風格圖片的工作流,還可以幫線稿上色。
Thumbnail
這篇要搭建一個同時生成寫實照片跟動漫風格圖片的工作流,還可以幫線稿上色。
Thumbnail
排版微系列調專門分享如何透過一些調整讓設計與排版更好看,並且每張設計都會說明為何調整的原因,以及原本設計可能有的問題。 如果你是設計初學者那這份內容會很適合你,因為會很細節的去講解排版原因,如果你看完喜歡,我每月會有三篇微調詳解固定分享給訂閱會員,歡迎訂閱。
Thumbnail
排版微系列調專門分享如何透過一些調整讓設計與排版更好看,並且每張設計都會說明為何調整的原因,以及原本設計可能有的問題。 如果你是設計初學者那這份內容會很適合你,因為會很細節的去講解排版原因,如果你看完喜歡,我每月會有三篇微調詳解固定分享給訂閱會員,歡迎訂閱。
Thumbnail
排版微系列調專門分享如何透過一些調整讓設計與排版更好看,並且每張設計都會說明為何調整的原因,以及原本設計可能有的問題。 如果你是設計初學者那這份內容會很適合你,因為會很細節的去講解排版原因,如果你看完喜歡,我每週五會固定分享給訂閱會員,歡迎訂閱。
Thumbnail
排版微系列調專門分享如何透過一些調整讓設計與排版更好看,並且每張設計都會說明為何調整的原因,以及原本設計可能有的問題。 如果你是設計初學者那這份內容會很適合你,因為會很細節的去講解排版原因,如果你看完喜歡,我每週五會固定分享給訂閱會員,歡迎訂閱。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News