圖像風格轉換(三)-我全~都要

更新於 2024/05/08閱讀時間約 5 分鐘

一.引言

  上篇我們已經把風格融入在一個網路之中,實現了訓練一次就可以轉換不同的圖片成我們訓練的風格,但是這樣還不夠,因為這樣每個風格都得訓練一個網路來轉換,太浪費了,那麼,我們有沒有辦法在同一個網路中訓練多個風格呢?


二.方法說明

  在上篇我們已證實了<圖-圖>的網路結構是有辦法處理風格轉換問題的,所以在主要網路結構方向及 Loss 設計上是沒什麼問題的,那麼只要讓網路能夠記憶不同風格時的權重變化,是不是就能夠在同一個網路中實現多風格的轉換呢 ?
  基於這個想法,Google Brain 2017 提出的 A Learned Representation For Artistic Style 便在網路結構中加入了 Conditional Instance Normalization 機制,使網路能夠儲存多組風格的參數。

  接著我們來解析 Conditional Instance Normalization 機制,Conditional Instance Normalization(以下簡稱CIN)從名字上可以知道他是一種 Normalization 方法,Normalization 通常用於控制輸入層的均值和標準差,以此來避免訓練過程中的梯度消失或爆炸,而 Instance Normalization 指將每個樣本獨立正則化,對每個樣本的每個通道進行獨立的 Normalization,計算方式為:

raw-image

其中 x 是輸入特徵,μ(x) 和 σ(x) 分別是該特徵在空間維度上的均值和標準差。

而CIN中,不僅進行Instance Normalization,而且對Normalization後的輸出進行風格特定的規模和偏移調整:

raw-image

這裡,γs​ 和 βs​ 是學習得到的風格特定參數,其中索引 s 表示特定的風格。這使得網絡可以根據選擇的風格動態調整其行為,每種風格都有一組專屬的 γ 和 β 值。

  在每個 Conv / Residual 後都增加 CIN 模組,建置網路時便可以在 Conv / Residual 階段預置多組 γ 及 β,可以用來訓練不同風格的表現形態,接下來我們就來實作看看。


三.實際演練

  本次實作主要擴充上一篇的程式,所以與論文內細節可能不一樣,但核心 CIN 部分是完整復刻了,詳細模組如下,詳細可參考我的Github :

class CIN(nn.Module):
def __init__(self, num_features, num_styles):
super(CIN, self).__init__()
self.num_features = num_features
self.num_styles = num_styles

# 初始化風格特定的 gamma 和 beta
self.gamma = nn.Parameter(torch.ones(num_styles, num_features))
self.beta = nn.Parameter(torch.zeros(num_styles, num_features))

def forward(self, x, style_id):
"""
x: 輸入特徵,維度為 (N, C, H, W)
style_id: 表示風格的整數索引,維度為 (N,)
"""
# 獲取每個樣本的 gamma 和 beta
gamma = self.gamma[style_id].view(-1, self.num_features, 1, 1)
beta = self.beta[style_id].view(-1, self.num_features, 1, 1)

# 計算特徵的均值和標準差
mean = x.mean(dim=[2, 3], keepdim=True)
std = x.std(dim=[2, 3], keepdim=True)

# 應用條件實例正則化
normalized = (x - mean) / (std + 1e-5)
out = normalized * gamma + beta

return out

本次預置了4個sytle,然後訓練 0 : 壁畫風格 、 1 : 彩繪玻璃風格、2/3未訓練,結果如下,可以看到兩種風格確實分散在不同的參數組中,而2/3則保持一致(上篇的新媒體藝術風格太過廣泛,替代成風格較統一的彩繪玻璃風格)。

raw-image


四.結語

  這次擴展了上篇的程式,加入了 CIN 模組讓模型能夠記憶不同風格的參數組合,所以目前的模型已經能做到同時訓練多個風格,且訓練完後可以轉換不同的圖像到已訓練風格,接下來還能做什麼呢 ?人類是貪心的,這樣還不夠,如果我只要預訓練幾種風格,後續使用其他風格時,若模型也能根據我提供的風格圖轉換的話豈不美哉,所以下一篇便是要介紹該如何再進化。



avatar-img
8會員
21內容數
AI、電腦視覺、圖像處理、AWS等等持續學習時的學習筆記,也包含一些心得,主要是幫助自己學習,若能同時幫助到不小心來到這裡的人,那也是好事一件 : )
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
貓貓學習筆記 的其他內容
在第一篇我講到一開始的圖像風格轉換,每產生一張圖片都得重新訓練,這對於使用上難免綁手綁腳,所以理所當然的下一步就是要解決這個問題,看看能不能只要訓練一次,就可以重複使用。
  最近遇到一些人想做音訊的合成,我回答他或許可以從圖像風格轉換中找到些靈感,我才突然想起我對於這部分的認知只止於知道他能做什麼及結果大概如何,對於內部訓練邏輯及結構並沒有認真的去了解,現在剛好趁此機會好好的學習一下。
在第一篇我講到一開始的圖像風格轉換,每產生一張圖片都得重新訓練,這對於使用上難免綁手綁腳,所以理所當然的下一步就是要解決這個問題,看看能不能只要訓練一次,就可以重複使用。
  最近遇到一些人想做音訊的合成,我回答他或許可以從圖像風格轉換中找到些靈感,我才突然想起我對於這部分的認知只止於知道他能做什麼及結果大概如何,對於內部訓練邏輯及結構並沒有認真的去了解,現在剛好趁此機會好好的學習一下。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
Freepik除了提供素材下載外,還可以線上生成AI圖片, 圖片生成工具名為「AI Image Generator」,只需要輸入文字就能快速生成圖片,每天能免費生成 20 張圖片,還可依照自己的喜好設定不同風格、燈光、畫面尺寸等參數。
Thumbnail
Tenge AI是一款免費的AI圖像生成器,支持中文和英文提示詞或圖像上傳生成。它提供了19種風格,並可以用於商業用途。
Thumbnail
可能包含敏感內容
這邊紀錄使用Bing images create 生成原圖並利用Tensor art
Thumbnail
AI 繪圖提詞咒語(prompts)詠唱,如何呈現/表現一張圖像的風格,同時,還能夠學英文!
Thumbnail
幾乎可以說是跟stable diffusion一體同命的ControlNet的XL版本總算是上線了,算是為SDXL補上最關鍵一塊地圖,以下快速的來瀏覽一下它的安裝方式與功能吧。
Thumbnail
柔軟具伸縮性的運動服裝,緩緩沿著身型塑出身體曲線,香奈爾按此概念設計服裝。
Thumbnail
Midjourney生成式AI利用強大技術,讓設計師輕鬆創造多樣風格的Line貼圖,充滿獨特魅力。不僅提高設計效率,也激發無限創意,帶來全新創作體驗,革新平面設計。這篇文章詳解Midjourney設計步驟與生成設計成果!
Thumbnail
本文介紹了如何使用Midjourney平台生成驚奇隊長圖像。用戶可以根據喜好和需求,設定風格、尺寸和細節,生成獨特的驚奇隊長圖像。文章提供了不同風格和場景的指令範例,並分析了生成圖像的質量、細節和潛在限制。此外,生成的圖像可作為創意靈感,應用於個人或商業項目。
Thumbnail
An Chen,一個用形狀畫畫的插畫家。喜歡用具幾何機械感的手法繪製花草,在有機物、無機物中無止盡的實驗著。2019年畢業於劍橋藝術學院兒童繪本系,作品多出現於報紙雜誌編輯領域,國內外客戶比較有名的有Apple、Gucci、The New Yorker、紐約時報、華爾街郵報、週刊編集、台灣設計展等。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
Freepik除了提供素材下載外,還可以線上生成AI圖片, 圖片生成工具名為「AI Image Generator」,只需要輸入文字就能快速生成圖片,每天能免費生成 20 張圖片,還可依照自己的喜好設定不同風格、燈光、畫面尺寸等參數。
Thumbnail
Tenge AI是一款免費的AI圖像生成器,支持中文和英文提示詞或圖像上傳生成。它提供了19種風格,並可以用於商業用途。
Thumbnail
可能包含敏感內容
這邊紀錄使用Bing images create 生成原圖並利用Tensor art
Thumbnail
AI 繪圖提詞咒語(prompts)詠唱,如何呈現/表現一張圖像的風格,同時,還能夠學英文!
Thumbnail
幾乎可以說是跟stable diffusion一體同命的ControlNet的XL版本總算是上線了,算是為SDXL補上最關鍵一塊地圖,以下快速的來瀏覽一下它的安裝方式與功能吧。
Thumbnail
柔軟具伸縮性的運動服裝,緩緩沿著身型塑出身體曲線,香奈爾按此概念設計服裝。
Thumbnail
Midjourney生成式AI利用強大技術,讓設計師輕鬆創造多樣風格的Line貼圖,充滿獨特魅力。不僅提高設計效率,也激發無限創意,帶來全新創作體驗,革新平面設計。這篇文章詳解Midjourney設計步驟與生成設計成果!
Thumbnail
本文介紹了如何使用Midjourney平台生成驚奇隊長圖像。用戶可以根據喜好和需求,設定風格、尺寸和細節,生成獨特的驚奇隊長圖像。文章提供了不同風格和場景的指令範例,並分析了生成圖像的質量、細節和潛在限制。此外,生成的圖像可作為創意靈感,應用於個人或商業項目。
Thumbnail
An Chen,一個用形狀畫畫的插畫家。喜歡用具幾何機械感的手法繪製花草,在有機物、無機物中無止盡的實驗著。2019年畢業於劍橋藝術學院兒童繪本系,作品多出現於報紙雜誌編輯領域,國內外客戶比較有名的有Apple、Gucci、The New Yorker、紐約時報、華爾街郵報、週刊編集、台灣設計展等。