版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于CycleGAN的圖像風(fēng)格轉(zhuǎn)換所謂圖像風(fēng)格轉(zhuǎn)換,是指利用算法學(xué)習(xí)一類圖像的風(fēng)格,然后將學(xué)習(xí)到的風(fēng)格應(yīng)用到另外一張圖像上的技術(shù)。隨著深度學(xué)習(xí)的興起,圖像風(fēng)格遷移獲得了進一步的發(fā)展,并取得了一系列突破性的研究成果,其出色的風(fēng)格遷移能力引起了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注,具有重要的研究價值。本案例將使用藝術(shù)風(fēng)格圖像與現(xiàn)實風(fēng)景圖像數(shù)據(jù)集,構(gòu)建CycleGAN網(wǎng)絡(luò),進行圖像風(fēng)格轉(zhuǎn)換。一是將藝術(shù)風(fēng)格圖像轉(zhuǎn)換成現(xiàn)實風(fēng)景圖像風(fēng)格。二是將現(xiàn)實風(fēng)景圖像轉(zhuǎn)換成藝術(shù)風(fēng)格?;贑ycleGAN的圖像風(fēng)格轉(zhuǎn)換1數(shù)據(jù)準(zhǔn)備目錄目標(biāo)分析2構(gòu)建網(wǎng)絡(luò)3訓(xùn)練網(wǎng)絡(luò)4結(jié)果分析5在使用神經(jīng)網(wǎng)絡(luò)進行圖像風(fēng)格遷移之前,圖像風(fēng)格遷移的程序設(shè)計有一個共同的思路:分析某一種風(fēng)格的圖像,并為該風(fēng)格建立一個數(shù)學(xué)或統(tǒng)計模型,再將模型應(yīng)用到待遷移的圖像中。因此帶來了一個問題,一個程序基本只能做某一種風(fēng)格或某一個場景間的轉(zhuǎn)換,存在較高的局限性。所以,傳統(tǒng)的風(fēng)格轉(zhuǎn)換研究的實際應(yīng)用非常有限。圖像風(fēng)格轉(zhuǎn)換的核心在于獲得輸入圖像的特征表達。卷積神經(jīng)網(wǎng)絡(luò)對于圖像高層特征的抽取,使得獲取特征的表達變得相對容易。因此,隨著深度學(xué)習(xí)技術(shù)的興起,圖像風(fēng)格轉(zhuǎn)換再次回到了大眾的視野。背景生活中,圖像風(fēng)格轉(zhuǎn)化的實際運用較少,多數(shù)運用偏娛樂性,例如,智能手機相機里的卡通濾鏡功能,可以將拍攝的圖像轉(zhuǎn)換成卡通風(fēng)格。本案例將基于CycleGAN進行圖像風(fēng)格轉(zhuǎn)換。CycleGAN是圖像風(fēng)格轉(zhuǎn)換中常用的網(wǎng)絡(luò),其特點是樣本數(shù)據(jù)無需配對即可實現(xiàn)轉(zhuǎn)換,例如,將斑馬轉(zhuǎn)換成馬,如圖所示。背景CycleGAN特點就是圖像會經(jīng)過兩次風(fēng)格轉(zhuǎn)換。首先將圖像從風(fēng)格A轉(zhuǎn)換到風(fēng)格B。然后再從風(fēng)格B轉(zhuǎn)換回風(fēng)格A。如果兩次轉(zhuǎn)換的效果都比較好,那么轉(zhuǎn)換后的圖像應(yīng)該與輸入的圖像基本一致。CycleGAN通過對比轉(zhuǎn)換前后的圖像,形成了有監(jiān)督學(xué)習(xí),提升了轉(zhuǎn)換效果。背景本小節(jié)主要介紹圖像風(fēng)格轉(zhuǎn)換的相關(guān)背景、運用領(lǐng)域以及本案例的分析目標(biāo)和相關(guān)流程。利用藝術(shù)風(fēng)格與現(xiàn)實風(fēng)景圖像數(shù)據(jù)集,可以實現(xiàn)以下目標(biāo)。讓模型將現(xiàn)實風(fēng)景圖像的風(fēng)格轉(zhuǎn)換成藝術(shù)風(fēng)格。讓模型將藝術(shù)風(fēng)格圖像轉(zhuǎn)換成現(xiàn)實風(fēng)景圖像的風(fēng)格。本案例的總體流程主要包括以下4個步驟。加載數(shù)據(jù),加載藝術(shù)風(fēng)格與現(xiàn)實風(fēng)景圖像數(shù)據(jù)集。構(gòu)建網(wǎng)絡(luò),包含殘差網(wǎng)絡(luò)、生成器、判別器及緩存隊列。訓(xùn)練網(wǎng)絡(luò),計算生成器和判別器的損失,從而對生成器和判別器進行訓(xùn)練。結(jié)果分析,對迭代中輸出的風(fēng)格轉(zhuǎn)換圖像進行分析。分析目標(biāo)本案例的總體流程圖如圖所示,主要包括加載數(shù)據(jù)、構(gòu)建網(wǎng)絡(luò)、訓(xùn)練網(wǎng)絡(luò)、結(jié)果分析4個步驟。分析目標(biāo)本案例基于PyTorch1.8.1、CUDA10.2和cuDNN8.2.0環(huán)境下運行,其中PyTorch1.8.1也可以是CPU版本。本案例的目錄包含三個文件夾,分別是code、data和tmp。如右上圖所示。所有原始圖像數(shù)據(jù)存放在data文件夾,其中包含了四個文件夾,分別是trainA、trainB、testA、testB,如右下圖所示。項目工程結(jié)構(gòu)所有的代碼文件放在code文件夾,如圖所示。代碼運行過程中生成的轉(zhuǎn)換圖像會放入tmp文件夾中,如圖所示。構(gòu)建網(wǎng)絡(luò)包括構(gòu)建殘差網(wǎng)絡(luò)、生成器、判別器以及緩存隊列。其中生成器與判別器是CycleGAN的主要組成部分。項目工程結(jié)構(gòu)1數(shù)據(jù)準(zhǔn)備目錄目標(biāo)分析2構(gòu)建網(wǎng)絡(luò)3訓(xùn)練網(wǎng)絡(luò)4結(jié)果分析5本案例使用的數(shù)據(jù)是藝術(shù)風(fēng)格圖像與現(xiàn)實風(fēng)景圖像數(shù)據(jù)集,包含了四個子數(shù)據(jù)集。testA文件夾里包含了263張藝術(shù)風(fēng)格圖像。testB文件夾里包含了751張現(xiàn)實風(fēng)景圖像。trainA文件夾里包含了562張藝術(shù)風(fēng)格圖像。trainB文件夾里包含了6287張現(xiàn)實風(fēng)景圖像。數(shù)據(jù)準(zhǔn)備1數(shù)據(jù)準(zhǔn)備目錄目標(biāo)分析2構(gòu)建網(wǎng)絡(luò)3訓(xùn)練網(wǎng)絡(luò)4結(jié)果分析5
構(gòu)建網(wǎng)絡(luò)使用殘差網(wǎng)絡(luò)增加淺層網(wǎng)絡(luò)到深層網(wǎng)絡(luò)的信息傳輸,可以解決網(wǎng)絡(luò)擁有層數(shù)較多時,網(wǎng)絡(luò)準(zhǔn)確度出現(xiàn)飽和,甚至出現(xiàn)下降的問題。在定義殘差網(wǎng)絡(luò)block時,ResidualBlock類繼承自父類Module,并通過block_layer對象定義殘差模塊中的網(wǎng)絡(luò)層。殘差網(wǎng)絡(luò)block生成器的目的是對輸入的圖像進行風(fēng)格的轉(zhuǎn)換,生成能夠以假亂真的圖像。同時,生成器所生成的圖像也將作為輸入對象提供給下一個生成器或判別器。在生成器中,使用了鏡像填充卷積(ReflectionPad2d)由低維的特征生成高維特征,同時使用圖像生成的歸一化層(InstanceNorm2d)加速模型收斂,最終得到了生成的圖像x。生成器Generator判別器的目的是對輸入的圖像進行判斷,判斷圖像是真實的圖像或生成的圖像。在判別器中,使用了大量的卷積層用于提取輸入圖像的特征,在網(wǎng)絡(luò)的結(jié)尾使用avg_pool2d函數(shù)進行均值池化。均值池化前的特征維度為torch.Size([10,1,14,14]),池化時對10個[14,14]大小的向量求均值并返回結(jié)果。判別器Discriminator訓(xùn)練網(wǎng)絡(luò)時,每個周期都會讀取一定批量大小的數(shù)據(jù)用于訓(xùn)練。需要注意藝術(shù)風(fēng)格圖像與現(xiàn)實風(fēng)景圖像是成對被讀取的,圖像對中的固定搭配可能會被網(wǎng)絡(luò)學(xué)習(xí)到。因此,需要將輸入數(shù)據(jù)的順序打亂重新分組。定義緩存隊列ReplayBuffe。在ReplayBuffer函數(shù)中,有如下兩種可能。如果緩存池中的圖像數(shù)量小于閾值max_size,那么返回原圖像,并向緩存池增加輸入的圖像。如果緩存池中的圖像數(shù)量大于閾值max_size,那么從緩存池中隨機選擇圖像返回,并將輸入的圖像替換返回的圖像。緩存隊列ReplayBuffer1數(shù)據(jù)準(zhǔn)備目錄目標(biāo)分析2構(gòu)建網(wǎng)絡(luò)3訓(xùn)練網(wǎng)絡(luò)4結(jié)果分析5訓(xùn)練網(wǎng)絡(luò)的過程。首先需要實例化生成器、判別器和緩存隊列。然后設(shè)置損失函數(shù)和優(yōu)化器。其次開始訓(xùn)練網(wǎng)絡(luò)中的生成器和判別器。最后將風(fēng)格轉(zhuǎn)換的結(jié)果輸出保存。G_A2B表示生成風(fēng)格B圖像的生成器,G_B2A表示生成風(fēng)格A圖像的生成器,netD_A表示對風(fēng)格A圖像進行判別的判別器,netD_B表示對風(fēng)格B圖像進行判別的判別器。real_A和real_B為輸入的真實圖像。訓(xùn)練網(wǎng)絡(luò)生成器的訓(xùn)練過程主要包含如下6個步驟。利用G_A2B將real_B生成same_B,并獲取real_B和same_B之間的損失。利用G_B2A將real_A生成same_A,獲取real_A和same_A之間的損失。利用G_A2B將real_A生成fake_B,通過netD_B判斷fake_B,將netD_B的返回作為損失。利用G_B2A將real_B生成faka_A,通過netD_A判斷fake_A,將netD_A的返回作為損失。利用G_B2A將fake_B生成recovered_A,獲取recovered_A與real_A之間的損失。利用G_A2B將fake_A生成recovered_B,獲取recovered_B與real_B之間的損失。訓(xùn)練網(wǎng)絡(luò)生成器的訓(xùn)練過程及圖像名稱解釋,如圖所示,主要包含6個步驟。訓(xùn)練網(wǎng)絡(luò)對獲得的損失進行加權(quán)求和即可得到生成器的總損失,訓(xùn)練完畢的G_A2B生成器需要滿足以下3點要求。如果輸入是圖像real_B,那么生成的圖像same_B在總體像素層面上與real_B相同。如果輸入是圖像real_A,那么生成的圖像fake_B會具有B型的風(fēng)格。如果輸入是圖像fake_A,那么生成的圖像recovered_B在內(nèi)容上與real_B相同,在風(fēng)格上與風(fēng)格B相同。訓(xùn)練完畢的判別器可以滿足以下4點要求。判別器netD_A可以對real_A判真。判別器netD_A可以對fake_A判偽。判別器netD_B可以對real_B判真。判別器netD_B可以對fake_B判偽。訓(xùn)練網(wǎng)絡(luò)訓(xùn)練網(wǎng)絡(luò)完成后最終的輸出結(jié)果是4張圖像。一張藝術(shù)風(fēng)格的真實圖像a_real。一張現(xiàn)實風(fēng)景圖像的真實圖像b_real。一張具有藝術(shù)風(fēng)格的現(xiàn)實風(fēng)景圖像a_fake。一張具有現(xiàn)實風(fēng)景圖像風(fēng)格的藝術(shù)圖像b_fake。訓(xùn)練網(wǎng)絡(luò)1數(shù)據(jù)準(zhǔn)備目錄目標(biāo)分析2構(gòu)建網(wǎng)絡(luò)3訓(xùn)練網(wǎng)絡(luò)4結(jié)果分析5通過觀察訓(xùn)練過程中某些周期的輸出結(jié)果來分析圖像風(fēng)格轉(zhuǎn)換模型的效果。訓(xùn)練第1個周期時,生成的圖像基本是噪聲,如圖所示。其中a_fake.png為由真實藝術(shù)風(fēng)格圖像a_real.png生成的現(xiàn)實風(fēng)景圖像,b_fake.png為由現(xiàn)實風(fēng)景圖像a_real.png生成的藝術(shù)風(fēng)格圖像。結(jié)果分析訓(xùn)練第200個周期時,模型已經(jīng)能夠生成具有簡單色彩的圖像,如圖所示。訓(xùn)練第560個周期時,生成的圖像已經(jīng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 接樁專項施工方案
- 機柜間施工方案
- 二零二五年度美甲店知識產(chǎn)權(quán)保護與專利申請合同4篇
- 高效害蟲防治與建筑保護合同2025年度版4篇
- 部編人教版七年級上冊語文《少年正是讀書時》教學(xué)設(shè)計
- 2025年度新能源車輛掛名權(quán)轉(zhuǎn)讓及免責(zé)保障協(xié)議范本4篇
- 2025年版酒店餐飲行業(yè)食品安全與售后服務(wù)標(biāo)準(zhǔn)協(xié)議3篇
- 二零二五年船舶安全監(jiān)督與船員資質(zhì)審核協(xié)議3篇
- 2025年度商業(yè)空間瓷磚定制及安裝服務(wù)合同4篇
- 二零二五版蒙娜麗莎瓷磚環(huán)保認證與市場準(zhǔn)入?yún)f(xié)議4篇
- 招標(biāo)師《招標(biāo)采購項目管理》近年考試真題題庫(含答案解析)
- 微生物組與唾液腺免疫反應(yīng)-洞察分析
- 2024公共數(shù)據(jù)授權(quán)運營實施方案
- 《向心力》 教學(xué)課件
- 結(jié)構(gòu)力學(xué)數(shù)值方法:邊界元法(BEM):邊界元法的基本原理與步驟
- 北師大版物理九年級全一冊課件
- 2024年第三師圖木舒克市市場監(jiān)督管理局招錄2人《行政職業(yè)能力測驗》高頻考點、難點(含詳細答案)
- RFJ 006-2021 RFP型人防過濾吸收器制造與驗收規(guī)范(暫行)
- 盆腔炎教學(xué)查房課件
- 110kv各類型變壓器的計算單
- 新概念英語課件NCE3-lesson15(共34張)
評論
0/150
提交評論