陳良
摘? 要:通過卷積神經(jīng)網(wǎng)絡對不同圖片的內(nèi)容和風格進行融合,可生成風格多樣化的圖片。這不但為影視制作提供了豐富的素材,更有利于圖像修復和圖像增強。針對這類問題,前人曾提出一些算法,但很難在時間和空間方面都達到很好的效果。這里提出一種基于TensorFlow(將復雜的數(shù)據(jù)結(jié)構(gòu)傳輸至人工智能神經(jīng)網(wǎng)中進行分析和處理過程的系統(tǒng))的條件歸一化網(wǎng)絡來支持多風格融合及圖片快速遷移,多風格可共用一個網(wǎng)絡模型,這大大減少了算法耗時,并緩解了模型存儲耗費空間大的問題,節(jié)省了計算機資源。時間上優(yōu)于傳統(tǒng)遷移算法三個數(shù)量級,空間上25種風格可共用一個模型。同時,更大程度地保留了內(nèi)容圖的語義特征,具有更好的視覺效果。
關鍵詞:條件歸一化網(wǎng)絡;風格融合;快速遷移;共享模型
中圖分類號:TP312? ? ?文獻標識碼:A
文章編號:2096-1472(2021)-01-21-04
Abstract: Content and style of different pictures can be merged by convolutional neural network to generate pictures with diversified styles. This not only provides rich materials for film and television production, but also facilitates image restoration and enhancement. Aiming at this kind of problem, previous researchers have proposed some algorithms, which turned out to be difficult to achieve good results in both time and space. This paper proposes a conditional normalization network based on TensorFlow (a system that transmits complex data structures to artificial intelligence neural networks for analysis and processing) to support multi-style fusion and rapid image migration. Multiple styles share a network model, which greatly reduces time-consuming algorithm and relieves large space consumption for model storage, saving computer resources. It is three orders of magnitude better in time than traditional migration algorithms, and 25 styles in space share one model. At the same time, semantic features of the content map are retained to a greater extent, and the visual effect is better.
Keywords: conditional normalization network; style fusion; rapid migration; sharing model
1? ?引言(Introduction)
圖像風格遷移不僅能改善電影動畫制作效果,降低制作成本,更重要的是它有利于圖像修復。圖像風格遷移算法最初從研究紋理合成技術開始,大多數(shù)紋理合成算法采用非參數(shù)方法[1],并沒有提取圖像的高級特征,對紋理較為復雜的圖像很難做到理想的風格遷移。Gatys[2]等人提出了一種基于CNN的傳統(tǒng)遷移算法,增強了遷移效果,但耗時很大。Johnson[3]等人提出快速遷移算法即訓練一種前饋生成網(wǎng)絡,生成速度提高了三個數(shù)量級,但仍然無法同時獲取多種風格。
本文提出一種條件歸一化網(wǎng)絡算法,對每種風格歸一化后再對其風格參數(shù)進行特定的調(diào)節(jié),令最終模型具有多風格同步遷移且支持風格融合的能力。這樣多風格可以共享一個模型,不僅縮短了風格融合時間,還大大緩解了模型存儲的空間壓力,為后期部署節(jié)約了很大的成本。
2? ?算法設計(Algorithm design)
2.1? ?構(gòu)思背景
考慮到快速風格遷移算法雖然加快了圖像遷移的速度,但每次遷移時的風格圖像是固定的,也就是每當更換風格時都需要加載另一個模型,這不利于多風格遷移且多個模型很不利于存儲,更會浪費計算機資源。更重要的是,這為后期模型部署帶來了很大的壓力,降低了圖片風格遷移的應用價值。于是設計一種網(wǎng)絡可以滿足對多個風格實現(xiàn)同步遷移,并最終利用該網(wǎng)絡訓練得到針對多風格的單一模型就顯得尤為重要。
顯然,這里的訓練數(shù)據(jù)和測試數(shù)據(jù)屬于同一集合,因此不會存在過擬合問題。進行圖像風格遷移時,不同風格圖片的參數(shù)計算有一定的規(guī)律,那么不同的風格圖片與同一內(nèi)容圖片進行風格遷移時就會存在一種共享模式,因此在實際的多風格遷移時多風格可以共享模型的參數(shù)和結(jié)構(gòu),這會大大減少模型占用空間。憑直覺來講,不同的繪畫有著相似的筆觸,這代表著相似的視覺元素,但調(diào)色、用筆力度等方面存在差異,那么這多幅作品其實存在很多共通點。顯然,在進行N風格遷移時仍然構(gòu)建N個網(wǎng)絡,這種共享模式就失去了意義,也很不利于模型的訓練和存儲。從藝術的角度來講,繪畫風格的多樣性代表了一種豐富的視覺信息,有利于增強人們對繪畫更高層次特征的理解。捕獲到不同的圖像風格,訓練得到的模型允許任意方式組合的全新風格來探索新的藝術風格,為學習藝術風格的特征提供了一條獨特的途徑。
2.2? ?網(wǎng)絡架構(gòu)
條件歸一化網(wǎng)絡架構(gòu)從輸入層到輸出層依次為三層卷積層、五層殘差塊和兩層上采樣,最后一層為卷積層,如圖1所示;再結(jié)合損失函數(shù)網(wǎng)絡便構(gòu)成了條件歸一化網(wǎng)絡流程的整體網(wǎng)絡架構(gòu)(圖2)。與快速風格遷移網(wǎng)絡架構(gòu)的主要區(qū)別為,條件歸一化網(wǎng)絡使用了條件歸一化操作,并且該操作貫穿了整個網(wǎng)絡的每一層,也就是圖像的多風格遷移和風格融合是同時進行的。
圖1的卷積層包含三種操作:卷積、歸一化、relu。殘差塊使用的是Gross and Wilber的殘差網(wǎng)絡,每個殘差塊共五層結(jié)構(gòu),包含兩個3×3的卷積層,每個卷積層有128個濾波器。殘差網(wǎng)絡的核心操作為跨卷積層做加法操作,目的為避免梯度消失。與其等效的卷積塊相比,該殘差塊最后缺少一個relu非線性,在分類方面有更好的性能,同時加快了損失函數(shù)收斂的速度,更易于訓練深層的網(wǎng)絡[4]。上采樣同樣包含三種操作:雙線性插值、卷積和歸一化。最后一層為卷積層,與開始卷積層不同的是,這里把relu改為sigmoid。
2.3? ?條件歸一化
條件歸一化可用來學習多種圖像樣式,該操作將單風格的圖像轉(zhuǎn)換網(wǎng)絡轉(zhuǎn)變?yōu)槎囡L格的轉(zhuǎn)換網(wǎng)絡。多風格圖像轉(zhuǎn)換網(wǎng)絡的卷積權(quán)重在不同風格間是共享的,歸一化后對其對應的風格參數(shù)進行調(diào)節(jié)[5]。具體做法就是先將輸入圖像映射到正態(tài)分布,再對每個固定的風格在歸一化之后進行特定的縮放和平移,所以這個網(wǎng)絡中增加了W和B這兩個參數(shù),一個負責縮放,另一個負責平移。針對多風格的模型,只需要訓練一個網(wǎng)絡,網(wǎng)絡整體也只是增加了W和B這兩個參數(shù),實際增加量為:2×風格數(shù)目×特征映射數(shù)目。在典型的網(wǎng)絡設置中,只有0.2%的參數(shù)代表風格的獨立特征。又因為條件歸一化只對縮放和移動參數(shù)起作用,所以在多個風格上訓練圖像轉(zhuǎn)換網(wǎng)絡所需的參數(shù)比訓練多個單獨網(wǎng)絡的方法需要的參數(shù)少得多,這大大減少了模型訓練需要的時間。
條件歸一化把每種風格壓縮為嵌入空間的一個點,多個不同點構(gòu)成了最終的模型。該模型可以允許一些全新的方式組合風格,能更快地捕獲新的藝術風格。
2.4? ?改進圖像生成質(zhì)量
棋盤現(xiàn)象:在快速遷移算法上采樣過程中使用了轉(zhuǎn)置卷積,這會導致生成圖像出現(xiàn)一些類似棋盤狀的偽影,尤其在顏色較深的區(qū)域,嚴重影響了圖像的生成質(zhì)量。本文采用雙線性插值算法,避免了棋盤現(xiàn)象的產(chǎn)生。
偽影現(xiàn)象:在快速風格遷移算法中殘差塊的卷積層沒有使用填充操作,但一般卷積層會采用零填充。零填充雖然可以控制特征圖的大小,但會造成邊界偽影現(xiàn)象,嚴重影響了生成圖像的質(zhì)量。據(jù)了解,鏡像填充可以緩解這種現(xiàn)象,但設置較為復雜,同時會增加訓練時間,不利于多風格遷移模型的訓練。那么這里僅是修改卷積時的邊緣填充方式,使用VALID方式進行卷積,避免了生成圖像邊緣發(fā)黑,因此這與鏡像填充方式的作用一致,較大程度地增強了風格遷移生成圖像的質(zhì)量。
降低內(nèi)容損失層:大部分的風格遷移算法都采用conv_3作為內(nèi)容損失層。Gatys提出層數(shù)越低越能很好地重建內(nèi)容特征,但conv_1層的內(nèi)容損失很小,變化幅度相對更小不利于損失函數(shù)收斂。實驗中發(fā)現(xiàn)采用conv_2作為內(nèi)容損失層能加快收斂速度,增強生成圖像質(zhì)量,更適合多風格遷移。
sigmoid函數(shù):實驗中發(fā)現(xiàn)當最后一層卷積層采用relu時圖像有黑塊現(xiàn)象,改為sigmoid這種現(xiàn)象幾乎消失,同時有利于將結(jié)果控制在(0,255)內(nèi)。
2.5? ?多風格融合及快速遷移
條件歸一化網(wǎng)絡(圖1)生成目標圖像,再將生成圖像及內(nèi)容和風格圖像一并傳入損失函數(shù)網(wǎng)絡計算得到總損失,損失函數(shù)值按公式(1)計算。最后通過Adam優(yōu)化器最小化損失值,逐步優(yōu)化模型參數(shù),如圖3所示。
3? ?實驗(Experiment)
3.1? ?實驗數(shù)據(jù)和環(huán)境
本次風格遷移實驗需要的數(shù)據(jù)集分為內(nèi)容圖片和風格圖片。內(nèi)容圖片為MSCOCO官網(wǎng)的train 2014中的82783張訓練圖片,數(shù)據(jù)集大小為12.5G。另外需要20張風格鮮明的風格圖片用于訓練。
環(huán)境搭建:由于數(shù)據(jù)集很大,CPU訓練非常耗時且容易斷電或網(wǎng)絡中斷影響模型訓練,因此這里采用GPU服務器進行模型訓練,GPU型號為NVIDIA GeForce RTX 2080 Ti。編寫語言為python,采用TensorFlow框架,在jupyter notebook和pycharm上運行代碼。
制作tfrecord訓練集:對數(shù)據(jù)進行統(tǒng)一的管理是很有必要的。tfrecord文件[6]就是對輸入數(shù)據(jù)做統(tǒng)一管理的格式,加上一些多線程的處理方式,使得在訓練期間對于數(shù)據(jù)管理把控的效率和靈活度都比普通暴力的方法好得多。再加之實驗需求的數(shù)據(jù)量很大,使用統(tǒng)一格式管理顯得尤為重要。
3.2? ?模型訓練
讀取制作好的tfrecord訓練集,依照圖3所示訓練得到最終模型。模型訓練時的風格矩陣用于提取當前風格的參數(shù)W和B。訓練中提供了斷點續(xù)訓功能,可及時查看當前訓練結(jié)果,保存最優(yōu)模型。實驗開啟了多線程訓練,進一步減少了模型訓練時間,為節(jié)省磁盤空間只保存最后一代模型。
3.3? ?實驗結(jié)果
3.3.1? ?圖像多風格遷移
選擇多張不同類別的圖像為風格圖像,一張兒童圖片為內(nèi)容圖像,采用訓練好的模型進行多風格遷移。實驗結(jié)果證明,該算法確實可以很好地將每種風格特征遷移到如圖4所示的內(nèi)容圖,生成圖如圖5和圖6所示。
3.3.2? ?圖像多風格融合
條件歸一化網(wǎng)絡算法能提取多張圖像的風格特征,并將它們按照一定比例融合。實驗采用了一張灰度圖像作為內(nèi)容圖像,如圖7所示。四張不同風格的圖像令原本單調(diào)的灰度圖像充滿生機,驗證了條件歸一化網(wǎng)絡算法具有很好的多風格融合能力,如圖8所示。
4? ?算法對比(Algorithm comparation)
4.1? ?普通圖像遷移效果
這里采用相同的內(nèi)容和風格圖像,分別利用Gatys提出的傳統(tǒng)遷移算法、Johnson提出的快速遷移算法和本文的條件歸一化網(wǎng)絡算法生成三張遷移后的效果圖像,直觀地對比三種算法對普通圖像的風格遷移效果,如圖9至圖11所示。
采用條件歸一化網(wǎng)絡算法生成的遷移圖與其他算法的生成圖在整體感官上很接近,但經(jīng)過網(wǎng)絡模型得到的圖像更易捕獲內(nèi)容信息,如圖10和圖11能夠保留原內(nèi)容圖中的文字信息,圖11的文字更清晰,而圖9的文字幾乎被圖像色彩覆蓋,很難辨認。
4.2? ?灰度圖像遷移效果
4.1節(jié)表明了條件歸一化網(wǎng)絡算法對普通圖像的遷移效果要優(yōu)于傳統(tǒng)遷移算法和快速遷移算法,圖12為灰度圖,圖13為風格圖,圖14和圖15對比了灰度圖像遷移效果。
實驗采用了一張年代較遠的灰度圖像和一張色彩很濃的風格圖像,對傳統(tǒng)遷移算法和條件歸一化網(wǎng)絡算法進行了遷移效果對比。傳統(tǒng)風格遷移算法雖然能對普通圖像進行較好的風格遷移,但這種方式對灰度圖像不是很理想,存在圖像失真、風格渲染不均勻等現(xiàn)象。對比圖14和圖15很容易發(fā)現(xiàn):圖14中人物鼻部和眼部特征被光斑遮蓋,甚至衣服的褶皺度也被變小。而圖15幾乎融合了圖12的內(nèi)容信息,例如,女性右側(cè)頭發(fā)的卷曲度和臉部距離與圖12相比,在肉眼觀察的范圍內(nèi)是沒有差距的,這主要因為條件網(wǎng)絡算法是通過卷積神經(jīng)網(wǎng)絡生成圖像的,而在卷積池化的過程中,網(wǎng)絡就很好地學習了圖像中的魯棒特征[7]。當然,可采用語義分割的方式來改善圖像失真問題。更為重要的是,人的臉部特征并沒有因為融合風格圖像而大幅度地失去,也就是在保持風格化的前提下,盡量降低內(nèi)容損失。
總之,條件歸一化網(wǎng)絡下的風格遷移比傳統(tǒng)遷移算法更大程度地減少了損失函數(shù)值,同時生成圖15的速度比生成圖14快了約300倍。
4.3? ?圖像裁剪
實際應用中往往提供的風格和內(nèi)容圖像大小并不一致,但傳統(tǒng)遷移算法和快速遷移算法都沒有給出一種合理的裁剪方案,故遷移效果不理想。本文的條件歸一化網(wǎng)絡算法提出了一種中心裁剪的方式,即以圖像中心為起點裁剪出一個正方形,該方法可調(diào)整輸入圖像使之大小一致,并較好地保留圖像內(nèi)容信息。圖16對比了兩種不同算法下的裁剪效果。
圖16右上角為條件歸一化網(wǎng)絡算法下的生成圖像,左上角為傳統(tǒng)遷移算法生成圖像。值得肯定的是,中心裁剪保留了更多的內(nèi)容圖特征,如條件歸一化網(wǎng)絡算法將舞者的形體美更好地展示出來。
4.4? ?算法耗時和空間
快速遷移算法在時間上至少快了幾百倍,這一點是很有價值的。但條件歸一化網(wǎng)絡不僅加快了速度,還有效緩解了模型存儲的空間壓力,表1對比了三種算法在時間和模型空間儲存上的差異。
為了有效對比不同算法耗時,表1的時間都是在CPU服務器上的運行時間。時間1、時間2分別指生成單張圖像和25張不同圖像所需時間??臻g1、空間2分別指生成單張圖像和25張圖像所需模型占用空間的大小。由表1可知:時間層次上,條件歸一化網(wǎng)絡算法所需時間與快速遷移算法差不多,都優(yōu)于傳統(tǒng)遷移算法三個數(shù)量級,且遷移的圖像數(shù)目越多,這種優(yōu)勢越明顯??臻g層次上,傳統(tǒng)遷移算法是直接梯度下降生成目標圖像,故不需要模型;而快速遷移算法和本文的條件歸一化網(wǎng)絡算法都需要模型,生成一張圖像時兩者幾乎沒有差距。但條件歸一化網(wǎng)絡是支持多風格同步遷移的,只要沒超過訓練時的風格圖像數(shù)目,模型所占空間不變,極有利于后期開發(fā);而快速遷移算法模型占用空間會隨著模型數(shù)量而線性增加,這顯然對模型的移動端部署是很不利的。總之,本文提出的條件歸一化網(wǎng)絡一方面能夠像快速遷移算法一樣,大大縮短圖像遷移所需的時間;另一方面由于模型共享,很大程度地緩解了模型存儲的空間壓力。
5? ?結(jié)論(Conclusion)
本文設計的條件歸一化網(wǎng)絡算法不僅加快了圖像生成時間,更大大緩解了模型存儲的空間壓力,節(jié)省了計算機資源,為后期的部署應用節(jié)約了成本。更重要的是,該算法的遷移效果在很多方面要優(yōu)于其他算法,且能實現(xiàn)風格融合。
參考文獻(References)
[1] 陳淑環(huán),韋玉科,徐樂.基于深度學習的圖像風格遷移研究綜述[J].計算機應用研究,2019,36(08):2250-2255.
[2] Leon A Gatys, Alexander SEcker, Matthias Bethge. A neural algorithm of artistic style[J]. arXiv preprint arXiv, 2015, 1508(06276):4-12.
[3] Justin Johnson, Alexandre Alahi, Li Fei-Fei. Perceptual losses for real-time style transfer and super-resolution[J]. arXiv preprint ar Xiv, 2016, 1603(08155):1-7.
[4] Kaiming He, Xiangyu Zhang, Shaoqing Ren, et al. Deep residual learning for image recognition[J]. arXivarXiv preprint arXiv, 2015, 1512(03385):2-8.
[5] Vincent Dumoulin,Jonathon Shlens,Manjunath.Kudlur. A learned repre sentation for artistic style[J]. In ICLR, 2017, 1610(07629):4-8.
[6] 鄭澤宇,梁博文,顧思宇.TensorFlow:實戰(zhàn)Google深度學習框架[M].北京:電子工業(yè)出版社,2017:170-183.
[7] Andrew Ilyas, Shibni Santurkar, Dimitris Tsipras, et al. A adversaral examples Are NotBugs, They are Features[J]. arXiv preprint arXiv, 2019, 1905(02175):6-7.
作者簡介:
陳? ?良(1995-),男,本科生.研究領域:深度學習,模型壓縮.