概述
在藝術(shù)領(lǐng)域,藝術(shù)家可以通過風(fēng)格和內(nèi)容的相互交融來創(chuàng)作不同的畫作,現(xiàn)階段,在深度神經(jīng)網(wǎng)絡(luò)的幫助下,計(jì)算機(jī)可以輕易的識(shí)別畫作中的物體或者內(nèi)容。但是,風(fēng)格是一個(gè)比較抽樣的概念,計(jì)算機(jī)其實(shí)無法像人類那樣識(shí)別一個(gè)畫作或者藝術(shù)家的風(fēng)格。這篇文章主要介紹深度神經(jīng)網(wǎng)絡(luò)將畫作中的風(fēng)格和內(nèi)容本身進(jìn)行分離,并將風(fēng)格做遷移,應(yīng)用到另一個(gè)圖片內(nèi)容之中,最終達(dá)到一個(gè)風(fēng)格遷移的工作。其實(shí)這很像Photoshop中的濾鏡,然而濾鏡畢竟是人為設(shè)定好的一系列動(dòng)作處理集合,只能針對(duì)特定風(fēng)格的圖片,對(duì)于不同特征的圖片,需要選擇不同的濾鏡,因此是比較機(jī)械和人工的。
卷積神經(jīng)網(wǎng)絡(luò)在圖像識(shí)別領(lǐng)域應(yīng)用廣泛,并且實(shí)踐證明有很好的效果。它通過一個(gè)多層的網(wǎng)絡(luò)結(jié)構(gòu)來對(duì)圖像進(jìn)行特征表達(dá),如果我們把輸入圖像稱之為網(wǎng)絡(luò)的底層,則隨著網(wǎng)絡(luò)層次的加深,高層的網(wǎng)絡(luò)關(guān)注圖片的高級(jí)特征,例如圖像的內(nèi)容或者物體的排列,而底層的信息則重點(diǎn)關(guān)注圖像像素級(jí)別的特征。為了將圖像的風(fēng)格和內(nèi)容分離并進(jìn)行遷移,我們需要做兩部分工作:
- 圖像內(nèi)容的重建
- 風(fēng)格的重建
同時(shí)在合成是要同時(shí)考慮內(nèi)容重建造成的loss和風(fēng)格重建造成的loss。
內(nèi)容重建
內(nèi)容重建和風(fēng)格重建都使用了VGG網(wǎng)絡(luò),VGG-16的網(wǎng)絡(luò)結(jié)構(gòu)圖參見下圖,詳情圖來自于這里.
圖1 VGG網(wǎng)絡(luò)結(jié)構(gòu)圖
對(duì)于內(nèi)容重建來說,只使用了前5層的網(wǎng)絡(luò)‘conv1 1’ (a), ‘conv2 1’ (b), ‘conv3 1’ (c), ‘conv4 1’ (d) and ‘conv5 1’ (e),即圖2中的a、b、c、d、e。VGG 網(wǎng)絡(luò)主要用來做內(nèi)容識(shí)別,在實(shí)踐中作者發(fā)現(xiàn),使用前三層a、b、c已經(jīng)能夠達(dá)到比較好的內(nèi)容重建工作,d、e兩層保留了一些比較高層的特征,丟失了一些細(xì)節(jié)。