• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于深度神經(jīng)網(wǎng)絡(luò)的圖像風(fēng)格遷移系統(tǒng)開(kāi)發(fā)

      2023-08-09 06:39:06黃凱怡姜佳琪方建文楊彩云
      關(guān)鍵詞:樣式像素卷積

      黃凱怡 姜佳琪 方建文 楊彩云

      摘 要:傳統(tǒng)的圖像風(fēng)格遷移程序通過(guò)人工建模只能局限于單一風(fēng)格遷移,且資源消耗過(guò)大。2015 年jatys 等提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的圖像風(fēng)格遷移算法,通過(guò)這一種算法便能生成各種具有原內(nèi)容和新風(fēng)格的合成圖像。文章利用深度學(xué)習(xí)算法,對(duì)卷積神經(jīng)網(wǎng)絡(luò)模型和風(fēng)格遷移算法進(jìn)行圖像風(fēng)格特征提取的研究,在MXNET 深度計(jì)算引擎上開(kāi)發(fā)圖像風(fēng)格遷移系統(tǒng)(Stvler),將一副圖像的風(fēng)格遷移到另一副圖像,其成果可應(yīng)用到設(shè)計(jì)、娛樂(lè)和社交等領(lǐng)域。

      關(guān)鍵詞:深度神經(jīng)網(wǎng)絡(luò):圖像風(fēng)格遷移;卷積神經(jīng)網(wǎng)絡(luò):VGG-19 模型

      中圖法分類(lèi)號(hào):TP391文獻(xiàn)標(biāo)識(shí)碼:A

      1 引言

      藝術(shù)源于人類(lèi)對(duì)生活情趣的探索,它的價(jià)值在于人類(lèi)的審美意識(shí)。隨著時(shí)代的進(jìn)步與發(fā)展,現(xiàn)代人的基本物質(zhì)需求已經(jīng)得到了滿(mǎn)足。所以,大多數(shù)人會(huì)通過(guò)追求藝術(shù)享受來(lái)豐富自身經(jīng)歷、提升生活品質(zhì)。即使大部分藝術(shù)在生活中都不具備實(shí)際的功能性,大多數(shù)人卻還是會(huì)愛(ài)上各種各樣的藝術(shù),甚至在有些人的心中,藝術(shù)有著不可代替的地位。從古至今,藝術(shù)繪畫(huà)大師的作品吸引著千千萬(wàn)萬(wàn)的人。人們渴望自己也能夠擁有同樣藝術(shù)風(fēng)格的圖像,圖像風(fēng)格化這一概念由此誕生。

      然而,繪制風(fēng)格圖像需要大批相關(guān)技術(shù)人員,并損耗大量資源。20 世紀(jì)90 年代,科研人員相繼提出大量風(fēng)格化算法來(lái)完成圖像風(fēng)格化的任務(wù)。傳統(tǒng)圖像風(fēng)格化算法多采用人工建立數(shù)學(xué)和物理模型的方式來(lái)模仿圖像風(fēng)格,即一種圖像風(fēng)格對(duì)應(yīng)一個(gè)數(shù)學(xué)或統(tǒng)計(jì)模型。這樣做出來(lái)效果是不錯(cuò)的,但一個(gè)程序基本只能做一種風(fēng)格或者只針對(duì)一個(gè)場(chǎng)景,程序的適用范圍過(guò)于局限。本選題基于深度神經(jīng)網(wǎng)絡(luò)來(lái)解答人類(lèi)如何創(chuàng)造和感知藝術(shù)意象并實(shí)現(xiàn)圖像風(fēng)格遷移。這樣一來(lái),用一種算法就可以實(shí)現(xiàn)從任意圖像中提取風(fēng)格并將其應(yīng)用于內(nèi)容完全不同的其他圖像中。

      2 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)

      本系統(tǒng)主要包括圖像輸入、圖像預(yù)處理和圖像后處理、圖像特征提取、損失函數(shù)定義、合成圖像創(chuàng)建、模型訓(xùn)練6 大模塊。本系統(tǒng)的第一步是在圖像輸入模塊中輸入內(nèi)容圖像和樣式圖像,讀取任意圖像后需要進(jìn)行圖像預(yù)處理和后處理,通過(guò)標(biāo)準(zhǔn)化處理來(lái)增強(qiáng)系統(tǒng)圖像兼容性。第二步是利用VGG?19 網(wǎng)絡(luò)模型的某些層來(lái)抽取內(nèi)容和樣式特征。第三步是定義損失函數(shù)。內(nèi)容損失對(duì)比保留原始圖像,樣式損失對(duì)比合成樣式圖像,而總變差損失則優(yōu)化減少合成圖像中的噪點(diǎn)(圖像顆粒感)。第四步是創(chuàng)建和初始化合成圖像。第五步就是通過(guò)迭代來(lái)訓(xùn)練模型最終輸出合成圖像。總體結(jié)構(gòu)設(shè)計(jì)如圖1 所示。

      其中,基于VGG?19 卷積神經(jīng)網(wǎng)絡(luò)的遷移方法過(guò)程如圖2 所示。圖中輸入的內(nèi)容圖像為作者在舊金山漁人碼頭附近的街道拍攝的照片,輸入的樣式圖像是一幅內(nèi)容為樹(shù)木的油畫(huà)。最終輸出的合成圖像內(nèi)容還是街景,但是樣式融入了油畫(huà)筆觸,同時(shí)整體顏色也更加飽滿(mǎn)鮮艷了。

      3 系統(tǒng)實(shí)現(xiàn)

      3.1 圖像輸入模塊設(shè)計(jì)

      導(dǎo)入程序相關(guān)的包和模塊,例如d2lzh,mxnet 以及time,然后調(diào)用函數(shù)分別讀取任意大小與尺寸的內(nèi)容圖像和樣式圖像,獲取圖像的尺寸和大小。

      3.2 圖像預(yù)處理與后處理模塊設(shè)計(jì)

      設(shè)計(jì)preprocess 函數(shù)并對(duì)輸入圖像進(jìn)行預(yù)處理,將RGB 3 個(gè)通道分別進(jìn)行標(biāo)準(zhǔn)化,使其變成卷積神經(jīng)網(wǎng)絡(luò)所接受的輸入格式。設(shè)計(jì)postprocess 函數(shù)后處理輸出圖像,把圖像的像素值還原回標(biāo)準(zhǔn)化之前的格式,以方便正確輸出圖像。輸出圖像用打印函數(shù)來(lái)表示,該函數(shù)要求每個(gè)像素的浮點(diǎn)數(shù)值在0~1 之間,所以clip 函數(shù)用來(lái)剔除非0~1 的數(shù)(小于0 的數(shù)取0,大于1 的值分別1)。其中rgb 均值是在imageNet 數(shù)據(jù)集上學(xué)習(xí)到的。

      rgb_mean = nd.array([0.485, 0.456, 0.406]

      rgb_std = nd.array([0.229, 0.224, 0.225])

      def preprocess(img, image_shape):

      img = image.imresize(img, ?image_shape)

      img = (img.astype('float32') / 255 - rgb_mean)/ rgb_std

      return img. transpose ((2, 0, 1)). expand _ dims(axis=0)

      def postprocess(img):

      img = img[0].as_in_context(rgb_std.context)

      return (img.transpose((1, 2, 0)) ? rgb_std +rgb_mean).clip(0, 1)

      3.3 圖像特征抽取模塊

      本項(xiàng)目使用Gatys 提出的VGG?19 網(wǎng)絡(luò)來(lái)抽取圖像特征。經(jīng)過(guò)研究者實(shí)驗(yàn),在遠(yuǎn)離輸入層的地方易抽取圖像的全局信息,在靠近輸入層的地方則容易抽取圖像的局部細(xì)節(jié)信息。綜合以上考慮,本設(shè)計(jì)將第5個(gè)卷積塊中的第1 個(gè)卷積層作為樣式層,將第4 個(gè)卷積塊的最后一個(gè)卷積層作為內(nèi)容層,這樣可以得到作者認(rèn)為的最佳效果。在抽取特征時(shí),不需要使用整個(gè)VGG 網(wǎng)絡(luò),只需使用上述的6 個(gè)卷積層。所以需要構(gòu)建一個(gè)新的網(wǎng)絡(luò)net,具體層數(shù)可以從pretrained_net實(shí)例中查看獲取。

      3.4 損失函數(shù)定義模塊

      損失函數(shù)主要包括內(nèi)容損失函數(shù)、樣式損失函數(shù)、總變差損失函數(shù)。內(nèi)容損失函數(shù)采用平方誤差函數(shù)來(lái)匹配合成圖像與內(nèi)容圖像在內(nèi)容特征。樣式損失函數(shù)也是通過(guò)平方誤差函數(shù)來(lái)優(yōu)化樣式風(fēng)格,具體是對(duì)比圖像像素點(diǎn)在每個(gè)通道上的統(tǒng)計(jì)分布。比如,顏色是通過(guò)對(duì)比RGB 直方圖來(lái)匹配2 圖之間的顏色差異;紋理則是通過(guò)對(duì)比先前用卷積神經(jīng)網(wǎng)絡(luò)中提取的紋理,然后,再用格拉姆(Gram)矩陣來(lái)有效地模擬紋理的各種變化,表示紋理信息。實(shí)驗(yàn)中部分內(nèi)容圖像與特征圖像的特征結(jié)合后,其合成的圖像中會(huì)有大量高頻噪點(diǎn),本系統(tǒng)采用總變差損失函數(shù)來(lái)降噪??傋儾顡p失(TV loss)約束噪聲的具體方法是通過(guò)降低總變差損失來(lái)盡可能使鄰近的像素值相近[1~4] 。

      3.5 合成圖像創(chuàng)建模塊

      在遷移過(guò)程中,合成的目標(biāo)圖像是一個(gè)需要一直更新的變量,本系統(tǒng)將合成圖像視為模型參數(shù),通過(guò)定義一個(gè)新的GeneratedImage 類(lèi)來(lái)表示。類(lèi)內(nèi)還需定義一個(gè)前向計(jì)算forward(self)函數(shù)來(lái)返回模型參數(shù)。

      class GeneratedImage(nn.Block):

      def __init__(self, img_shape, ??kwargs):

      super(GeneratedImage, self).__init__(??kwargs)

      self.weight = self.params.get('weight', shape=img_shape)

      def forward(self):

      return self.weight.data()

      隨后還需定義一個(gè)get_inits 函數(shù)來(lái)創(chuàng)建合成圖像的模型實(shí)例,并將其初始化命名為圖像X。

      def get_inits(X, ctx, lr, styles_Y):

      gen_img = GeneratedImage(X.shape)

      gen_ img. initialize ( init. Constant ( X),

      ctx = ctx,force_reinit=True)

      trainer = gluon. Trainer ( gen _ img. collect _params(), 'adam',{'learning_rate': lr})

      styles_Y_gram = [gram(Y) for Y in styles_Y]

      return gen_img(), styles_Y_gram, trainer

      3.6模型訓(xùn)練模塊

      首先,定義train 函數(shù),該函數(shù)有7 個(gè)參數(shù)。X 代表初始化圖像也是最后輸出的合成圖像,contents_Y代表內(nèi)容圖像的內(nèi)容特征,styles_Y 則是風(fēng)格圖像的風(fēng)格特征,ctx 是GPU 相關(guān)參數(shù),lr 即學(xué)習(xí)率(learningrate)。max_epochs 為訓(xùn)練迭代的次數(shù),不斷抽取合成圖像的內(nèi)容特征和樣式特征,并計(jì)算損失函數(shù)來(lái)優(yōu)化圖像。在每一個(gè)迭代周期調(diào)用一次同步函數(shù)waitall,可以解決內(nèi)存占用過(guò)高問(wèn)題。每經(jīng)過(guò)lr_decay_epoch次迭代,將lr 減少1/10,使得收斂加速。

      接著進(jìn)行模型訓(xùn)練。將內(nèi)容圖像和樣式圖像的高和寬調(diào)整為統(tǒng)一像素,大小可以調(diào)節(jié)??梢韵仍O(shè)置小一些的像素,這樣訓(xùn)練速度較快,這里設(shè)置為225×150 像素。訓(xùn)練迭代參數(shù)的設(shè)置是經(jīng)過(guò)試驗(yàn)的,參數(shù)過(guò)小無(wú)法得到清楚結(jié)果,參數(shù)過(guò)大會(huì)導(dǎo)致訓(xùn)練時(shí)間過(guò)長(zhǎng)消耗過(guò)大且對(duì)結(jié)果影響并不大。代碼如下,其中內(nèi)容圖像content_X 初始化合成圖像,初始學(xué)習(xí)率設(shè)為0.01,迭代次數(shù)設(shè)為500,學(xué)習(xí)率改變的位置設(shè)為每200 次。

      將訓(xùn)練好的合成圖像保存為neural?style?1.png。一般而言,這樣的圖像已經(jīng)可以得到遷移到風(fēng)格的新圖像。為了得到更加清晰的合成圖像,可以將上一步的輸出放在更大的像素尺寸上進(jìn)行訓(xùn)練。這里將高和寬放大2 倍,設(shè)置為450×300 的尺寸來(lái)初始化合成圖像。將合成圖像保存為neural?style?2.png,初始學(xué)習(xí)率仍設(shè)為0.01,迭代次數(shù)改為300,學(xué)習(xí)率改變的位置設(shè)為每100 次[5~10] 。

      3.7 訓(xùn)練結(jié)果分析

      本節(jié)圖3(a)為原始內(nèi)容圖像,圖3(b)為原始風(fēng)格圖像。首先,本節(jié)選?。?組圖像對(duì)比合成圖像在不同像素情況下的轉(zhuǎn)換情況。圖3(c)為分辨率225×150 像素的合成圖像,圖3(d)為分辨率450×300 像素的合成圖像。原始圖像為巴厘島的某一餐廳外景,模仿到風(fēng)格圖像的紋理后合成圖變得有油畫(huà)的筆觸,色塊變得比較大,圖像有點(diǎn)朦朧感,多了些許詩(shī)情畫(huà)意。

      圖4 為控制風(fēng)格權(quán)重變量的結(jié)果圖像對(duì)比。圖4(c)、圖4(d)是分辨率為225×150 像素的合成圖像,圖4(c) 的風(fēng)格權(quán)重為103,圖4(d) 的風(fēng)格權(quán)重為104。圖4(e)、圖4(f)是分辨率為450×300 像素的合成圖像,圖4(e)的風(fēng)格權(quán)重為103,圖4(f)的風(fēng)格權(quán)重為104。從藍(lán)天上可以明顯發(fā)現(xiàn)在其他變量不變的情況下,風(fēng)格權(quán)重越大模仿的風(fēng)格特征更明顯。

      4 結(jié)束語(yǔ)

      本文主要介紹并回答了如何規(guī)定圖像風(fēng)格;如何提取圖像紋理特征而不夾雜內(nèi)容特征;如何提取圖像內(nèi)容特征而不夾雜紋理特征;如何將兩種特征融合生成目標(biāo)圖像。同時(shí),分析并驗(yàn)證深度卷積神經(jīng)網(wǎng)絡(luò)中不同層對(duì)于圖像特征表達(dá)的特性。通過(guò)反向傳播算法對(duì)VGG19 不同層所抽取的特征進(jìn)行反向圖片生成,以可視化的方式驗(yàn)證深層卷積神經(jīng)網(wǎng)絡(luò)中不同層所抽取的特征特性。找到一種基于交替訓(xùn)練的風(fēng)格遷移算法。該算法主要為解決經(jīng)典神經(jīng)風(fēng)格遷移算法中所存在的內(nèi)容細(xì)節(jié)丟失,物體邊緣扭曲以及顏色覆蓋等問(wèn)題,提出一種交替訓(xùn)練的方式,以盡可能地保留內(nèi)容圖片中的細(xì)節(jié)信息。找到一種基于多路徑前饋神經(jīng)網(wǎng)絡(luò)的實(shí)時(shí)風(fēng)格遷移算法。該算法在編碼器與解碼器之間添加多個(gè)由殘差塊所構(gòu)成的通道,從而提高網(wǎng)絡(luò)收斂速度以及生成圖片的質(zhì)量。找到一種基于多層次特征轉(zhuǎn)換的任意風(fēng)格遷移算法。訓(xùn)練一個(gè)通用的解碼器,通過(guò)特征轉(zhuǎn)換的方式直接對(duì)編碼器所提取的特征圖進(jìn)行操作,進(jìn)而豐富所需渲染圖片的風(fēng)格。

      參考文獻(xiàn):

      [1] 黃海新,梁志旭,張東.基于深度學(xué)習(xí)的圖像風(fēng)格化算法研究綜述[J].電子技術(shù)應(yīng)用,2019,45(7):27?31.

      [2] 陳淑環(huán),韋玉科,徐樂(lè),等.基于深度學(xué)習(xí)的圖像風(fēng)格遷移研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2019,26(8):2250?2255.

      [3] EFROS A A, FREEMAN W T. Image quilting for texturesynthesis and transfer[C]∥Proceedings of the 28th AnnualConference on Computer Graphics and InteractiveTechniques.New York:ACM Press,2001:341?346.

      [4] 錢(qián)小燕,肖亮,吳慧中.快速風(fēng)格遷移[J].計(jì)算機(jī)工程,2006,32(21):15?17+46.

      [5] 阿斯頓·張,李沐,扎卡里·C.動(dòng)手學(xué)深度學(xué)習(xí)[M].北京:人民郵電出版社,2019.

      [6] 劉建偉,劉媛,羅雄麟.深度學(xué)習(xí)研究進(jìn)展[J].計(jì)算機(jī)應(yīng)用研究,2014,31(7):1921?1930+1942.

      [7] 孫志軍,薛磊,許陽(yáng)明.深度學(xué)習(xí)研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2012,29(8):2806?2810.

      [8] 牟晉娟.基于深度學(xué)習(xí)的圖像風(fēng)格遷移技術(shù)的研究[J].電子元器件與信息技術(shù),2019,3(4):82?85.

      [9] 欒五洋.基于深度學(xué)習(xí)的圖像風(fēng)格轉(zhuǎn)換淺論[J].經(jīng)驗(yàn)交流,2018:248?250.

      [10] 焦李成,楊媛淑,劉芳,等.神經(jīng)網(wǎng)絡(luò)七十年:回顧與展望[J].計(jì)算機(jī)學(xué)報(bào),2016(8):1697?1716.

      作者簡(jiǎn)介:

      黃凱怡(2001—),本科,研究方向:計(jì)算機(jī)應(yīng)用技術(shù)。

      方建文(1972—),博士,教授,研究方向:計(jì)算機(jī)應(yīng)用技術(shù)(通信作者)。

      猜你喜歡
      樣式像素卷積
      趙運(yùn)哲作品
      藝術(shù)家(2023年8期)2023-11-02 02:05:28
      CPMF-I 取樣式多相流分離計(jì)量裝置
      像素前線(xiàn)之“幻影”2000
      CPMF-I 取樣式多相流分離計(jì)量裝置
      基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
      取樣式多相流分離計(jì)量裝置
      “像素”仙人掌
      從濾波器理解卷積
      電子制作(2019年11期)2019-07-04 00:34:38
      基于傅里葉域卷積表示的目標(biāo)跟蹤算法
      高像素不是全部
      CHIP新電腦(2016年3期)2016-03-10 14:22:03
      唐山市| 通山县| 罗源县| 海安县| 江北区| 襄垣县| 河北省| 库尔勒市| 德格县| 陈巴尔虎旗| 平邑县| 于田县| 武定县| 新绛县| 化州市| 延安市| 册亨县| 乌拉特前旗| 外汇| 建昌县| 西青区| 轮台县| 徐水县| 嘉义市| 八宿县| 麻江县| 金阳县| 巴林左旗| 镇巴县| 客服| 岚皋县| 娄烦县| 平阴县| 麟游县| 葫芦岛市| 休宁县| 兴仁县| 东辽县| 南川市| 镇沅| 昌平区|