林連坤 謝澤毅
【摘要】? ? 為了讓用戶能夠方便的制作和處理含有藝術(shù)風(fēng)格的圖像,本文使用基于卷積神經(jīng)網(wǎng)絡(luò)的快速風(fēng)格遷移,和基于 JavaEE 搭建了一個線上的圖像風(fēng)格遷移網(wǎng)站。網(wǎng)站采用MVC的架構(gòu)模式設(shè)計(jì),前端為 Bootstrap + Layui 框架,后端為 SSM 框架。
【關(guān)鍵詞】? ? 快速風(fēng)格遷移? ? JavaEE? ? 風(fēng)格遷移網(wǎng)站? ? SSM框架
引言:
繪畫是藝術(shù)創(chuàng)作重要的視覺表現(xiàn)形式之一,而繪畫風(fēng)格可以用于表現(xiàn)繪畫的文化創(chuàng)作背景和藝術(shù)特征,是各門類藝術(shù)繪畫派系最直接的特征表現(xiàn)。在現(xiàn)代,人工智能也已經(jīng)能理解“藝術(shù)”了。例如風(fēng)格遷移,它可以提取圖片的風(fēng)格,將另一張圖片重繪為一張含有藝術(shù)風(fēng)格的新圖片。
例如下面圖1所示:圖1(a)是名畫《神奈川沖浪里》,圖1(b)是一副風(fēng)景畫,而圖1(c)是通過風(fēng)格遷移之后得到的新圖像,既包含圖1(a)的樣式風(fēng)格,又包含圖1(b)的圖像內(nèi)容。[1]
隨著深度學(xué)習(xí)技術(shù)不斷地發(fā)展,會帶來更多圖像處理的技術(shù)。此時,圖像處理的網(wǎng)站勢必會為社會不同人群的生活帶來更多的便利與多彩。為了有效的為用戶帶來便利,圖像風(fēng)格遷移網(wǎng)站致力于使用人工智能來對圖片進(jìn)行處理。同時,提供一個網(wǎng)站來讓更多人進(jìn)行藝術(shù)照片方面的探討和交流。網(wǎng)站核心是讓用戶能夠方便的處理和制作圖像,同時也要能增加了用戶之間的互動。
一、技術(shù)背景
1.1快速風(fēng)格遷移
風(fēng)格遷移中,根據(jù)內(nèi)容圖像和風(fēng)格圖像對風(fēng)格化圖像進(jìn)行優(yōu)化,使 loss 值最優(yōu)。此處的梯度下降方法通過調(diào)整輸入圖像來達(dá)到loss值最小,屬于網(wǎng)絡(luò)參數(shù)不變、根據(jù)調(diào)整輸入進(jìn)行下降。每生成一張圖像都要經(jīng)過一個n次的迭代,相當(dāng)于訓(xùn)練一個模型,需要較多的CPU資源和計(jì)算時間。
雖然基于圖像迭代的方式,風(fēng)格化圖像的融合效果較優(yōu),但是考慮到服務(wù)器性能一般,而且等待時間過長容易給用戶帶來不好的體驗(yàn)。所以選擇基于模型迭代的圖像風(fēng)格遷移的方法,該方法又稱“快速風(fēng)格遷移”。
快速風(fēng)格遷移使用了大量的圖像來訓(xùn)練可生成風(fēng)格化圖像的生成模型,訓(xùn)練完成后即可使用此模型對圖像進(jìn)行風(fēng)格遷移只需要幾秒鐘的時間,很大程度上解決了圖像風(fēng)格遷移的計(jì)算效率低下的問題,并且可以與基于圖像迭代的方法進(jìn)行組合[1]。這就是快速風(fēng)格遷移的特別之處,其結(jié)構(gòu)圖如圖2所示。
二、應(yīng)用的系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
本系統(tǒng)主要是實(shí)現(xiàn)了對用戶上傳的圖片進(jìn)行風(fēng)格遷移化的功能,具體風(fēng)格遷移網(wǎng)站和后臺管理系統(tǒng)。系統(tǒng)的主要功能包括圖像風(fēng)格化處理、用戶和圖像信息管理、用戶進(jìn)行互動的功能,包括留言評論、發(fā)布動態(tài)等。
用戶首次使用,需要先在網(wǎng)站注冊一個賬號,接著使用該賬號登錄后,可以查看到其它用戶的作品、動態(tài)、點(diǎn)贊、留言信息等,當(dāng)然也可以進(jìn)行動態(tài)發(fā)布、作品點(diǎn)贊、作品留言等操作,同時,用戶需要制作圖片時,只需進(jìn)入到制作圖片頁面后,將圖片上傳后,選擇一個濾鏡,在點(diǎn)擊制作后,后臺會調(diào)用該濾鏡對應(yīng)的訓(xùn)練模型,用該模型對圖片進(jìn)行訓(xùn)練,然后等待一段時間訓(xùn)練完成后用戶就可以在制作列表中看到風(fēng)格化處理后的圖像,此時用戶可以選擇發(fā)布該圖像作為作品分享給其他人,也可以在該頁面刪除該作品。后臺管理主要是針對圖片信息管理,用戶管理,動態(tài)信息管理。
2.1系統(tǒng)架構(gòu)
基于 JavaEE 的圖像風(fēng)格遷移網(wǎng)站采用MVC的架構(gòu)模式設(shè)計(jì)。網(wǎng)站前端使用了 Bootstrap 和 Layui 前端UI框架,后端采用的是 SSM 框架[3],網(wǎng)頁的前臺設(shè)計(jì)主要功能是給用戶提供制作圖像的制作平臺,同時通過互動功能讓用戶和用戶之間能更好的分享圖像風(fēng)格遷移的樂趣。即包括了留言板、動態(tài)、作品信息查看、用戶主頁空間等,在對圖片處理用的是tensorflow框架。
具體的系統(tǒng)功能架構(gòu)如圖3所示。
用戶制作一張圖像風(fēng)格遷移的流程為:
1.用戶進(jìn)入制作圖片頁面,上傳需要進(jìn)行風(fēng)格遷移化的原圖,再選擇一個濾鏡后,點(diǎn)擊制作圖像
2.點(diǎn)擊后通過本地Cookie上的賬號密碼驗(yàn)證用戶登錄信息是否正確,當(dāng)用戶信息正確時,將用戶信息以及上傳的圖片和選擇的濾鏡發(fā)送給服務(wù)器,將圖片保存到服務(wù)器中,并將該系列對應(yīng)的信息傳入MySQL數(shù)據(jù)庫,同時將原圖再進(jìn)行了低質(zhì)量圖片和水印圖片的存儲,節(jié)約用戶在網(wǎng)站上的流量以及加快了用戶尋找自己想要的作品速度,水印圖片是為了讓用戶發(fā)布的作品被直接進(jìn)行盜取。
3.用戶在點(diǎn)擊制作圖像后自動進(jìn)入制作列表中,制作列表顯示正在制作的圖像和已經(jīng)完成的圖像,并在制作未制作完成時,即查詢圖片路徑上的圖片不存在時,設(shè)置一張默認(rèn)的圖像提示用戶圖像正在制作中,請等待。等待過程中,服務(wù)器將該上傳的圖片以及濾鏡獲取,此時開啟一個線程調(diào)用Python腳本對圖像進(jìn)行風(fēng)格化處理,在調(diào)用Python程序處理過程中,因?yàn)閳D像過大會導(dǎo)致程序的時間變長,所以第一步對內(nèi)容圖像進(jìn)行縮放等處理;第二步獲取用戶選定的風(fēng)格圖像具體路徑;第三步讀入內(nèi)容圖像和風(fēng)格圖像后開始調(diào)用Python程序進(jìn)行圖像的風(fēng)格遷移;最后將生成的圖像按指定名稱保存到指定的本地位置。當(dāng)處理完成后,Python腳本已經(jīng)在服務(wù)器中生成風(fēng)格遷移化的圖片,在用戶重新刷新頁面,由于當(dāng)前地址有圖像存在,即可顯示圖像,用戶即可獲得一張已經(jīng)風(fēng)格遷移化后的圖像。
4.完成圖像制作后,制作后的圖像也會顯示在制作列表中,當(dāng)用戶需要發(fā)布時可以選擇發(fā)布來對圖像的名稱、描述等信息的編寫,編寫完成后點(diǎn)擊發(fā)布,會再次將該風(fēng)格化圖像生成低質(zhì)量圖片和水印圖片。也可以通過刪除某一圖像來管理制作列表。
三、結(jié)束語
過去幾年來,風(fēng)格遷移已經(jīng)持續(xù)成長為了一個蓬勃發(fā)展的研究領(lǐng)域。不過目前雖然已經(jīng)有了成功的應(yīng)用案例,但是距離廣泛的商業(yè)應(yīng)用還有較大的距離,且國內(nèi)圖片風(fēng)格遷移網(wǎng)站較少,所以此網(wǎng)站可以作為藝術(shù)創(chuàng)作和社交的工具,具有重要意義和廣闊前景。
參? 考? 文? 獻(xiàn)
[1] 楊晨,劉立波.基于VGG網(wǎng)絡(luò)的圖像風(fēng)格遷移Android應(yīng)用[J].福建電腦,2019,35(03):51-53.
[2]陳淑環(huán),韋玉科,徐樂,董曉華,溫坤哲.基于深度學(xué)習(xí)的圖像風(fēng)格遷移研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2019,36(08):2250-2255.
[3]王梓,夏凱.基于SSM框架的水質(zhì)監(jiān)測數(shù)據(jù)管理系統(tǒng)研究[J].計(jì)算機(jī)時代,2018(07):25-27+31.