本發(fā)明屬于圖像處理和計算機(jī)視覺領(lǐng)域,涉及深度學(xué)習(xí)、圖像生成等相關(guān)技術(shù),具體為一種基于卷積神經(jīng)網(wǎng)絡(luò)的圖像風(fēng)格轉(zhuǎn)移方法。
背景技術(shù):
日常生活,無論是拍照還是繪畫,人們往往希望通過后期編輯使其具有某種特定的風(fēng)格。然而圖像編輯、繪畫需要較高的技巧和豐富的經(jīng)驗,普通人不經(jīng)學(xué)習(xí)難以實現(xiàn)風(fēng)格轉(zhuǎn)移的功能。
目前的已有的圖像風(fēng)格轉(zhuǎn)移方法主要是通過非參數(shù)算法來實現(xiàn)。這些方法能夠有效地將風(fēng)格圖像的顏色、細(xì)小邊緣等紋理基元結(jié)構(gòu)轉(zhuǎn)移到內(nèi)容圖像中。但是這些方法也只能夠提取圖像的低級語義特性,實現(xiàn)圖像的初級風(fēng)格轉(zhuǎn)移,對于圖像的高級風(fēng)格特性轉(zhuǎn)移效果較差,生成的圖像不自然。這是因為之前的方法所建立的圖像風(fēng)格模型只涉及到圖像的低級語義特征。除此之外,之前的方法大多數(shù)只適用于對具有明顯重復(fù)性圖像結(jié)構(gòu)的風(fēng)格圖像進(jìn)行風(fēng)格轉(zhuǎn)移,對于任意的風(fēng)格圖像不具有普適性。因此,一種簡單、高效、適用于任意風(fēng)格圖像的圖像風(fēng)格轉(zhuǎn)移方法就成為了亟待解決的焦點。
技術(shù)實現(xiàn)要素:
針對上述存在問題或不足,為解決對任意風(fēng)格圖像都高效地進(jìn)行風(fēng)格轉(zhuǎn)移的問題,本發(fā)明提供了一種基于卷積神經(jīng)網(wǎng)絡(luò)的圖像風(fēng)格轉(zhuǎn)移方法。
本發(fā)明采用的技術(shù)方案是:
步驟1、選定一個卷積神級網(wǎng)絡(luò)φ、一張目標(biāo)內(nèi)容圖像
步驟2、計算目標(biāo)內(nèi)容圖像xc在卷積神經(jīng)網(wǎng)絡(luò)φ內(nèi)容約束層中的濾波響應(yīng)為
步驟3、計算目標(biāo)風(fēng)格圖像xs在卷積神經(jīng)網(wǎng)絡(luò)φ中風(fēng)格約束層的濾波響應(yīng)為
步驟4、選定新圖像x*,初始化為高斯白噪聲;
步驟5、采用步驟2和步驟3相同的方法計算新圖像x*在選定的卷積神經(jīng)網(wǎng)絡(luò)φ中內(nèi)容約束層i的內(nèi)容表示φ(x*)i和風(fēng)格約束層j的風(fēng)格表示
步驟6、計算新圖像x*和目標(biāo)內(nèi)容圖像xc在卷積神經(jīng)網(wǎng)絡(luò)φ在內(nèi)容約束層i的內(nèi)容特征的損失函數(shù)
步驟7、計算新圖像x*和目標(biāo)風(fēng)格圖像xs在卷積神經(jīng)網(wǎng)絡(luò)φ在風(fēng)格約束層j的風(fēng)格特征的損失函數(shù),
步驟8、將步驟6和步驟7中的梯度在卷積神經(jīng)網(wǎng)絡(luò)φ中進(jìn)行反向傳播到輸入層,更新圖像x*;
步驟9、若第t次后更新的圖像
進(jìn)一步的,由于卷積神經(jīng)網(wǎng)絡(luò)不同層濾波響應(yīng)表達(dá)語義能力的不同,風(fēng)格轉(zhuǎn)移的效果非常依賴于內(nèi)容約束層和風(fēng)格約束層的選擇。內(nèi)容約束層選擇低層用來保持目標(biāo)內(nèi)容圖像的低級語義信息;風(fēng)格約束層在低層、中層和高層中都選擇至少一層用以學(xué)習(xí)目標(biāo)風(fēng)格圖像的多層次風(fēng)格信息。
本發(fā)明基于卷積神級網(wǎng)絡(luò)中的高級語義表示建立圖像內(nèi)容模型和圖像風(fēng)格模型,然后優(yōu)化一張初始圖像(例如噪聲圖像)使其在同一個卷積神經(jīng)網(wǎng)絡(luò)中具有與內(nèi)容圖像相似的內(nèi)容表示、與風(fēng)格圖像相似的風(fēng)格表示,從而生成融合內(nèi)容圖像的內(nèi)容和風(fēng)格圖像的風(fēng)格的圖像,實現(xiàn)風(fēng)格轉(zhuǎn)移功能。
卷積神經(jīng)網(wǎng)絡(luò)通過多層、多組濾波器能夠?qū)W習(xí)到物體的多層語義特征。關(guān)于圖像的風(fēng)格信息,卷積神經(jīng)網(wǎng)絡(luò)中的每一個濾波器都從輸入圖像中提取到某一種特殊的紋理基元。越低層的濾波器提取到的紋理基元顏色就越單一,紋理基元的重復(fù)性結(jié)構(gòu)就簡單;越高層的濾波器提取到的紋理基元的顏色就越豐富,紋理基元的重復(fù)性結(jié)構(gòu)就越復(fù)雜。
卷積神經(jīng)網(wǎng)絡(luò)中的每一個濾波器都提取了一種特定的紋理基元。因此,每個濾波響應(yīng)的響應(yīng)程度可以用來表征輸入圖像所含有的該濾波器所對應(yīng)的紋理基元的成分多少,輸入圖像的風(fēng)格特征就可以用某一層的濾波響應(yīng)的和向量來表征。通過約束新圖像使其在該層具有與目標(biāo)風(fēng)格圖像相同的濾波響應(yīng)和向量,就可以使生成圖像與目標(biāo)風(fēng)格圖像具有相同的紋理基元組合方式,生成與目標(biāo)風(fēng)格圖像相似的風(fēng)格。
圖像的內(nèi)容信息可以直接用卷積神經(jīng)網(wǎng)絡(luò)中的濾波響應(yīng)表征。通過優(yōu)化初始圖像使其在卷積神經(jīng)網(wǎng)絡(luò)中的內(nèi)容表示與目標(biāo)內(nèi)容圖像的相同、其風(fēng)格表示與目標(biāo)風(fēng)格圖像的相同,就可以生成與內(nèi)容圖像相同內(nèi)容、與風(fēng)格圖像相同風(fēng)格的圖像,從而實現(xiàn)圖像風(fēng)格轉(zhuǎn)移功能。
綜上所述,本發(fā)明具有對任何風(fēng)格圖像實現(xiàn)風(fēng)格轉(zhuǎn)移的技術(shù)效果。
附圖說明
圖1為本發(fā)明的圖像風(fēng)格轉(zhuǎn)移流程圖;
圖2為實施例的目標(biāo)內(nèi)容圖像;
圖3為實施例的目標(biāo)風(fēng)格圖像;
圖4為實施例最終完成的風(fēng)格轉(zhuǎn)移效果圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明做進(jìn)一步的詳細(xì)說明。
圖2為目標(biāo)內(nèi)容圖像,圖3為目標(biāo)風(fēng)格圖像。我們的目標(biāo)是生成圖像4,使其融合圖2的內(nèi)容和圖3的風(fēng)格。
步驟1、選取2014年在imagenet圖像分類比賽中獲得優(yōu)異成績的深度卷積神經(jīng)網(wǎng)絡(luò)vgg-19作為我們的圖像高級語義特征提取模型φ,選取圖2為目標(biāo)內(nèi)容圖像xc、圖3為目標(biāo)風(fēng)格圖像xs,選定relu2_2為內(nèi)容約束層,選定relu1_1、relu2_1、relu3_1、relu4_1和relu5_1為風(fēng)格約束層,選定設(shè)置閾值ε=5e-3和最高迭代次數(shù)th=200;
步驟2、將目標(biāo)內(nèi)容圖像xc輸入到卷積神經(jīng)網(wǎng)絡(luò)vgg-19中,計算內(nèi)容圖像在內(nèi)容約束層relu2_2上的濾波響應(yīng)φ(xc)relu2_2,計算內(nèi)容表示φ(xc)relu2_2;
步驟3、將目標(biāo)風(fēng)格圖像xs輸入到卷積神經(jīng)網(wǎng)絡(luò)vgg-19中,計算風(fēng)格圖像在風(fēng)格約束層relu1_1,relu2_1,relu3_1,relu4_1和relu5_1上的響應(yīng)φ(xs)reluh_1,計算圖3在vgg-19中的多層風(fēng)格表示
步驟4、隨機(jī)生成高斯噪聲圖像為初始化新圖像x*,大小與內(nèi)容圖像xc相同;
步驟5、將新圖像x*輸入到卷積神經(jīng)網(wǎng)絡(luò)vgg-19中,得到其在內(nèi)容約束層relu2_2上的濾波響應(yīng)φ(x*)relu2_2,計算內(nèi)容表示φ(x*)relu2_2。計算x*在風(fēng)格約束層relu1_1,relu2_1,relu3_1,relu4_1和relu5_1上的響應(yīng)φ(x*)reluh_1,計算圖3在vgg-19中的風(fēng)格表示υ(φ(x*)reluh_1),其中
步驟6、計算新圖像x*和內(nèi)容圖像xc在卷積神經(jīng)網(wǎng)絡(luò)φ的層relu2_2內(nèi)容特征的損失函數(shù)
步驟7、計算新圖像x*和風(fēng)格圖像xs在卷積神經(jīng)網(wǎng)絡(luò)φ層relu1_1,relu2_1,relu3_1,relu4_1和relu5_1上的風(fēng)格特征的損失函數(shù):
步驟8、將步驟6和步驟7中的內(nèi)容梯度與風(fēng)格梯度分別乘以5和1,然后反向運算到輸入圖像上,更新輸入圖像x*;
步驟9、重復(fù)步驟5-8,迭代104次后發(fā)現(xiàn)新生成圖像x*滿足
生成的風(fēng)格轉(zhuǎn)移效果圖像如圖4。實驗結(jié)果表面,本發(fā)明能夠有效地實現(xiàn)圖像的風(fēng)格轉(zhuǎn)移功能。