本發(fā)明方法涉及一種圖像風(fēng)格遷移模型構(gòu)建方法,尤其是一種數(shù)據(jù)增強(qiáng)cyclegan正則化的圖像風(fēng)格遷移模型構(gòu)建方法。
背景技術(shù):
1、近年來(lái),基于深度學(xué)習(xí)的圖像風(fēng)格遷移技術(shù)廣泛應(yīng)用于計(jì)算機(jī)視覺(jué)、圖像處理和藝術(shù)創(chuàng)作等領(lǐng)域,其背景可以追溯到藝術(shù)領(lǐng)域中的風(fēng)格轉(zhuǎn)移技術(shù),即將一種繪畫(huà)風(fēng)格應(yīng)用于另一張圖像上。目前主要以?xún)纱笾髁髂P蜑橹鳎椿诰矸e神經(jīng)網(wǎng)絡(luò)的風(fēng)格遷移和基于生成對(duì)抗網(wǎng)絡(luò)的風(fēng)格遷移,前者采用卷積神經(jīng)網(wǎng)絡(luò)作為特征提取器,可以有效保留圖像的內(nèi)容信息并且較好的融合目標(biāo)風(fēng)格的紋理和色彩特征。但是反向傳播優(yōu)化過(guò)程緩慢,模型所需訓(xùn)練時(shí)間長(zhǎng),并且往往難以控制生成圖像的細(xì)節(jié)如一些細(xì)微的紋理和顏色變化。生成對(duì)抗網(wǎng)絡(luò)采用對(duì)抗博弈的思想,通過(guò)控制生成器和判別器的參數(shù)來(lái)控制生成圖像的細(xì)節(jié)和風(fēng)格特征,可以生成更加真實(shí)、自然、細(xì)節(jié)豐富的圖像,具有很好的風(fēng)格遷移效果,但其模型訓(xùn)練的不穩(wěn)定性影響生成圖像的視覺(jué)效果和品質(zhì)。
2、傳統(tǒng)水墨繪畫(huà)(唐代的草書(shū)、宋代的花鳥(niǎo)畫(huà)、元代的山水畫(huà)等)風(fēng)格不僅具有很高的藝術(shù)價(jià)值,而且對(duì)后世的繪畫(huà)和藝術(shù)創(chuàng)作都產(chǎn)生了深遠(yuǎn)的影響,因此,基于圖像風(fēng)格遷移技術(shù)將傳統(tǒng)水墨繪畫(huà)的藝術(shù)風(fēng)格應(yīng)用于數(shù)字圖像處理中,從而創(chuàng)造出更加具有藝術(shù)感和視覺(jué)效果的圖像,具有極高的應(yīng)用價(jià)值和研究意義。然而,上述兩種風(fēng)格遷移方法對(duì)于風(fēng)格獨(dú)特、意境飄逸的中國(guó)傳統(tǒng)水墨畫(huà)而言,都面臨著真實(shí)配對(duì)數(shù)據(jù)缺乏的問(wèn)題,限制了生成圖像的真實(shí)性和細(xì)節(jié)性。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明是為了解決現(xiàn)有技術(shù)所存在的上述技術(shù)問(wèn)題,提供一種數(shù)據(jù)增強(qiáng)cyclegan正則化的圖像風(fēng)格遷移模型構(gòu)建方法。
2、本發(fā)明的技術(shù)解決方案是:一種數(shù)據(jù)增強(qiáng)cyclegan正則化的圖像風(fēng)格遷移模型構(gòu)建方法,按照如下步驟進(jìn)行:
3、步驟1.采集訓(xùn)練集圖像
4、將數(shù)據(jù)集中的中國(guó)傳統(tǒng)水墨山水畫(huà)圖像和自然風(fēng)景圖像作為訓(xùn)練集,分別記為traina、trainb;將中國(guó)傳統(tǒng)水墨山水畫(huà)圖像定義為a域圖像,自然風(fēng)景圖像定義為b域圖像;
5、步驟2.定義整體網(wǎng)絡(luò)結(jié)構(gòu)
6、整體網(wǎng)絡(luò)結(jié)構(gòu)由兩對(duì)生成器-判別器結(jié)構(gòu)組成,即ga2b-db、gb2a-da,生成器ga2b實(shí)現(xiàn)a域圖像至b域圖像的轉(zhuǎn)換,判別器db判別輸入圖像是否為真實(shí)b域圖像;生成器gb2a實(shí)現(xiàn)b域至a域圖像的轉(zhuǎn)換,判別器da判別輸入圖像是否為真實(shí)a域圖像;
7、所述生成器ga2b、gb2a的網(wǎng)絡(luò)結(jié)構(gòu)由編碼器特征提取、特征轉(zhuǎn)換及解碼器重構(gòu)特征三部分組成,所述編碼器提取特征部分,由填充層、7×7卷積層conv1-1、兩個(gè)下采樣模塊構(gòu)成,所述填充層是進(jìn)行反射填充操作將圖像上下左右都填充3行,所述7×7卷積層conv1-1是帶有64個(gè)7×7大小的濾波器的卷積層、標(biāo)準(zhǔn)化層batchnorm和rule激活函數(shù)的組合,所述下采樣模塊由帶有64個(gè)3×3大小的濾波器的卷積層、batchnorm標(biāo)準(zhǔn)化層和relu激活函數(shù)構(gòu)成;所述特征轉(zhuǎn)換部分,由9個(gè)殘差塊構(gòu)成,每個(gè)殘差塊是由兩個(gè)卷積層、兩個(gè)歸一化層、一個(gè)relu激活函數(shù)及跳躍連接構(gòu)成;所述解碼器重構(gòu)特征部分由兩個(gè)上采樣模塊、7×7卷積層conv1-2及填充層構(gòu)成,所述上采樣模塊是反卷積操作deconv,所述7×7卷積層conv1-2是帶有64個(gè)7×7大小的濾波器的卷積層和tanh激活函數(shù)的組合,所述填充層是進(jìn)行反射填充操作將圖像上下左右都填充3行;
8、所述判別器da、db采用patchgan網(wǎng)絡(luò)結(jié)構(gòu),首先經(jīng)過(guò)一層由64個(gè)4×4大小濾波器構(gòu)成的卷積層和leakyrelu激活函數(shù)組成的卷積層conv2-1,再經(jīng)過(guò)三層由卷積層、標(biāo)準(zhǔn)化層和leakyrelu激活函數(shù)組成的特征提取層conv2-2,最后經(jīng)過(guò)一個(gè)通道為1的卷積層,獲得預(yù)測(cè)值;
9、步驟3.設(shè)計(jì)正則化損失,訓(xùn)練網(wǎng)絡(luò),得到實(shí)現(xiàn)中國(guó)傳統(tǒng)水墨畫(huà)風(fēng)格遷移的網(wǎng)絡(luò)模型,具體步驟如下:
10、步驟3.1隨機(jī)初始化生成器與判別器網(wǎng)絡(luò)參數(shù);
11、步驟3.2開(kāi)始迭代地訓(xùn)練生成器與判別器,更新生成器與判別器網(wǎng)絡(luò)參數(shù);約定變量epoch記錄當(dāng)前網(wǎng)絡(luò)訓(xùn)練迭代次數(shù),epoch初始為0,每一輪迭代都分為如下兩部分:
12、步驟3.2.1:固定生成器網(wǎng)絡(luò)參數(shù),調(diào)整判別器da、db網(wǎng)絡(luò)參數(shù);針對(duì)判別器da,將訓(xùn)練集traina中的真實(shí)a域圖像real_a采用cutout策略進(jìn)行數(shù)據(jù)增強(qiáng)處理記為t,處理后圖像記為real_a_aug,再輸入判別器da網(wǎng)絡(luò),得到輸出記為pred_real_a_aug;生成器gb2a生成假圖像fake_a同樣采用cutout策略進(jìn)行數(shù)據(jù)增強(qiáng)處理,處理后圖像記為fake_a_aug,輸入判別器da網(wǎng)絡(luò),得到輸出記為pred_fake_a_aug,采用均方損失函數(shù)計(jì)算pred_real_a_aug與標(biāo)簽true間損失記為loss_da_real、pred_fake_a_aug與標(biāo)簽false間損失記為loss_da_fake,結(jié)合loss_da_real與loss_da_fake計(jì)算均值,得到判別器da損失loss_d_a;同理,針對(duì)判別器db,將訓(xùn)練集trainb中真實(shí)b域圖像real_b采用cutout策略進(jìn)行數(shù)據(jù)增強(qiáng)處理,處理后圖像記為real_b_aug,再輸入判別器db網(wǎng)絡(luò),得到輸出記為pred_real_b_aug;生成器ga2b生成假圖像fake_b同樣采用cutout策略進(jìn)行數(shù)據(jù)增強(qiáng)處理,處理后圖像記為fake_b_aug,再輸入判別器db網(wǎng)絡(luò),得到輸出記為pred_fake_b_aug,采用均方損失函數(shù)計(jì)算pred_real_b_aug與標(biāo)簽true間損失記為loss_db_real、pred_fake_b_aug與標(biāo)簽false間損失記為loss_db_fake,結(jié)合loss_db_real與loss_db_fake計(jì)算均值,得到判別器db損失loss_d_b;計(jì)算這一輪迭代中判別器da損失loss_d_a與判別器db損失loss_d_b梯度,進(jìn)行反向傳播,通過(guò)adam優(yōu)化算法重新更新判別器da、db參數(shù);
13、步驟3.2.2固定判別器網(wǎng)絡(luò)參數(shù),調(diào)整生成器ga2b,gb2a網(wǎng)絡(luò)參數(shù);針對(duì)生成器ga2b,將真實(shí)a域圖像real_a進(jìn)入ga2b網(wǎng)絡(luò),得到生成的b域假圖像fake_b,再將fake_b輸入生成器gb2a,得到重建的a域圖像rec_a,定義loss_g_a2b變量記錄生成器ga2b總損失,生成器ga2b總損失由四部分組成:第一部分計(jì)算生成器ga2b普通gan損失,將生成假圖像fake_b先進(jìn)行數(shù)據(jù)增強(qiáng)操作得到fake_b_aug,再送入判別器db得到輸出,采用均方損失函數(shù)計(jì)算輸出與true標(biāo)簽間損失,記為ganloss_a;第二部分采用l1loss計(jì)算重建a域圖像rec_a與真實(shí)a域圖像real_a間差異,即循環(huán)一致性損失函數(shù),記為cycleloss_a;第三部分采用多尺度結(jié)構(gòu)相似性衡量重建a域圖像rec_a與真實(shí)a域圖像real_a之間在顏色與色調(diào)等人眼觀察角度的相似程度,記為msssim_a,計(jì)算1-msssim_a值作為多尺度結(jié)構(gòu)相似性損失函數(shù)ms_ssimloss_a;第四部分計(jì)算生成假圖像fake_b所有像素與垂直方向、水平方向相鄰像素之間的差異總和,即總變分損失tvloss_a;將上述四部分損失函數(shù)賦予權(quán)重并累積作為生成器ga2b總損失loss_g_a2b;同理,針對(duì)生成gb2a,由上述四部分對(duì)應(yīng)計(jì)算并累積得到總損失loss_g_b2a;最后計(jì)算loss_g_a2b與loss_g_b2a梯度并進(jìn)行反向傳播,通過(guò)adam優(yōu)化算法重新更新生成器ga2b,gb2a網(wǎng)絡(luò)參數(shù);
14、步驟3.2.3:本輪迭代結(jié)束,置epoch=epoch+1;當(dāng)epoch達(dá)到設(shè)定次數(shù)后,網(wǎng)絡(luò)停止訓(xùn)練,保存訓(xùn)練模型model.pt文件;否則再一次進(jìn)入步驟3.2,循環(huán)重復(fù)訓(xùn)練判別器與生成器。
15、本發(fā)明設(shè)計(jì)了雙生成器-判別器結(jié)構(gòu),有效提高單向gan模型的映射約束;為更好地學(xué)習(xí)和遷移傳統(tǒng)水墨畫(huà)風(fēng)格,設(shè)計(jì)了新的正則化損失,包括全變分損失和結(jié)合多尺度結(jié)構(gòu)相似性改進(jìn)循環(huán)一致性損失函數(shù),從而提高圖像遷移的準(zhǔn)確性和質(zhì)量,更好地捕捉傳統(tǒng)水墨畫(huà)的特點(diǎn)和意境;針對(duì)水墨畫(huà)配對(duì)數(shù)據(jù)集的缺乏,采用數(shù)據(jù)增強(qiáng)技術(shù)來(lái)增加真實(shí)數(shù)據(jù)和生成數(shù)據(jù)的數(shù)量和多樣性,從而提高生成器性能和模型的準(zhǔn)確性,其峰值信噪比(psnr)和結(jié)構(gòu)性相似性(ssim)均高于現(xiàn)有技術(shù)。本發(fā)明可以有效地將自然風(fēng)景照片轉(zhuǎn)換成傳統(tǒng)水墨畫(huà)風(fēng)格的圖像,且所得圖像效果更符合真實(shí)水墨風(fēng)格畫(huà)作特點(diǎn)。