(復(fù)旦五浦匯實(shí)驗(yàn)學(xué)校 上海 201700)
中國(guó)傳統(tǒng)繪畫(huà),又稱(chēng)國(guó)畫(huà),是中華文化的傳統(tǒng)繪畫(huà)藝術(shù),也是琴棋書(shū)畫(huà)四藝之一。國(guó)畫(huà)中又以水墨畫(huà)為主。它是用毛筆蘸水、墨、彩作畫(huà)于絹或紙上。工具和材料有毛筆、墨、國(guó)畫(huà)顏料、宣紙、絹等,題材可分人物、山水、花鳥(niǎo)等,技法可分為具象和寫(xiě)意。是我國(guó)歷史文化遺產(chǎn)的重要組成部分。
近年來(lái),由深度學(xué)習(xí)所引領(lǐng)的人工智能技術(shù)浪潮,開(kāi)始越來(lái)越廣泛地應(yīng)用到社會(huì)各個(gè)領(lǐng)域。其中,人工智能與藝術(shù)的交叉碰撞,在相關(guān)的技術(shù)領(lǐng)域和藝術(shù)領(lǐng)域引起了高度關(guān)注。以相關(guān)技術(shù)為基礎(chǔ)而開(kāi)發(fā)的各種圖像處理軟件和濾鏡應(yīng)用更是一推出就立刻吸引了海量用戶(hù)。根據(jù)調(diào)研,目前一共有5種主流相關(guān)算法,分別是:
(1)基于筆畫(huà)的渲染,即對(duì)筆畫(huà)的各個(gè)特征進(jìn)行調(diào)整,類(lèi)似各種畫(huà)圖工具的筆刷功能。
(2)圖像類(lèi)比方法,即在數(shù)據(jù)庫(kù)中找類(lèi)似的圖像替換目標(biāo)圖像中的對(duì)應(yīng)元素,如照片中的樹(shù),通過(guò)類(lèi)比找到數(shù)據(jù)庫(kù)中形狀類(lèi)似、顏色類(lèi)似的樹(shù)并予以替換。
(3)圖像濾波方法,即通過(guò)對(duì)顏色的調(diào)整,實(shí)現(xiàn)畫(huà)面的卡通畫(huà)或素描化。如通過(guò)RGB向灰度變換,形成黑白照片。
(4)紋理合成方法,即將對(duì)象的表面紋理材質(zhì)替換為其他類(lèi)型,如將大理石材質(zhì)紋理替換膚色并應(yīng)用在人的圖像上,就能獲得大理石質(zhì)感的人物雕像圖片。
(5)神經(jīng)網(wǎng)絡(luò)風(fēng)格遷移,即通過(guò)卷積神經(jīng)網(wǎng)絡(luò),自動(dòng)識(shí)別并提取需要的圖像特征,并應(yīng)用到目標(biāo)圖像中。因?yàn)檫@種方法和其他方法相比,不需要人工創(chuàng)建數(shù)據(jù)庫(kù),因此該方法是目前的主流研究方法。
在研究中發(fā)現(xiàn),現(xiàn)有的很多圖像風(fēng)格化遷移技術(shù)雖然已經(jīng)基本可以實(shí)現(xiàn),但是由于開(kāi)發(fā)人員和團(tuán)隊(duì)以外國(guó)為主,所以常見(jiàn)一些油畫(huà)、素描、漫畫(huà)類(lèi)風(fēng)格遷移,而較少甚至沒(méi)有見(jiàn)過(guò)帶有中國(guó)元素的風(fēng)格遷移項(xiàng)目。而國(guó)畫(huà)作為我國(guó)傳統(tǒng)文化的重要組成部分,目前在我國(guó)甚至全世界都鮮有人通過(guò)人工智能的方法實(shí)現(xiàn)。
因此,本文計(jì)劃使用相對(duì)較成熟的風(fēng)格遷移算法,采用人工智能技術(shù)對(duì)一般風(fēng)景照片進(jìn)行國(guó)畫(huà)風(fēng)格的圖像風(fēng)格遷移處理,嘗試直接生成山水類(lèi)國(guó)畫(huà)。
在神經(jīng)網(wǎng)絡(luò)之前,圖像風(fēng)格遷移算法的思路是分析某一種風(fēng)格的圖像,給那一種風(fēng)格建立一個(gè)數(shù)學(xué)或者統(tǒng)計(jì)模型,再改變要做遷移的圖像讓它能更好的符合建立的模型。
基于神經(jīng)網(wǎng)絡(luò)的圖像風(fēng)格遷移在2015年由 Gatys et al.在兩篇論文中提出。它是第一個(gè)使用深度學(xué)習(xí)來(lái)給紋理建模的方法。他研究了紋理和風(fēng)格之間的區(qū)別并提出了紋理能夠描述一個(gè)圖像的風(fēng)格的觀點(diǎn),以及如何只提取圖片內(nèi)容而不包括圖片風(fēng)格的解決方案。隨著這兩篇文章的出現(xiàn),圖像風(fēng)格遷移成為了深度學(xué)習(xí)領(lǐng)域研究的一個(gè)熱門(mén)方向,相關(guān)的研究如:多個(gè)預(yù)設(shè)風(fēng)格的融合,實(shí)時(shí)任意風(fēng)格遷移算法,圖片類(lèi)比等大量涌出。同時(shí),隨著技術(shù)的不斷更新和發(fā)展,圖像風(fēng)格遷移技術(shù)也大量應(yīng)用于各種軟件,為人們的生活帶來(lái)了便利。
由于國(guó)外相關(guān)資料豐富且完整,本文主要采用國(guó)外典型的風(fēng)格遷移人工智能算法①進(jìn)行改寫(xiě)并嘗試在國(guó)畫(huà)創(chuàng)作上進(jìn)行應(yīng)用。
數(shù)字圖像是一個(gè)二維的數(shù)據(jù),對(duì)數(shù)字圖像做卷積操作其實(shí)就是利用卷積核(卷積模板)在圖像上滑動(dòng),將圖像點(diǎn)上的像素灰度值與對(duì)應(yīng)的卷積核上的數(shù)值相乘,然后將所有相乘后的值相加作為卷積核中間像素對(duì)應(yīng)的圖像上像素的灰度值,并最終滑動(dòng)完所有圖像的過(guò)程。通過(guò)與不同的卷積算子(一些經(jīng)過(guò)設(shè)計(jì)的數(shù)組)進(jìn)行卷積計(jì)算,可以獲得不同類(lèi)型的圖片特征,獲得圖像的各種隱含信息。
風(fēng)格遷移是本文的核心內(nèi)容,它使用VGGNet神經(jīng)網(wǎng)絡(luò)分別從原始圖片A(風(fēng)格)和原始圖片B(內(nèi)容)直接提取特征,然后使用梯度下降法,計(jì)算風(fēng)格和內(nèi)容損失值,獲取最優(yōu)的輸出結(jié)果。
VGG Net是由牛津大學(xué)的視覺(jué)幾何組(Visual Geometry Group)和GoogleDeepMind公司的研究員一起研發(fā)的深度卷積神經(jīng)網(wǎng)絡(luò)。它是一個(gè)多重卷積的結(jié)構(gòu):前面的卷積層從圖像中提取“特征”,而后面的全連接層把圖片的“特征”轉(zhuǎn)換為類(lèi)別概率。其中,VGGNet中的淺層提取的特征往往是比較簡(jiǎn)單的(如檢測(cè)點(diǎn)、線、亮度),VGGNet中的深層提取的特征往往比較復(fù)雜(如有無(wú)人臉或某種特定物體)。本文采用VGGNet中的VGG16的算法,結(jié)構(gòu)圖如圖1所示。
圖1:VGG16的算法結(jié)構(gòu)圖
VGGNet的處理過(guò)程是輸入圖像,提取特征,并輸出圖像類(lèi)別。在VGGNet處理程序之后在進(jìn)行逆操作,先要輸入特征,然后輸出對(duì)應(yīng)這種特征的圖片。這就是一個(gè)完整的風(fēng)格遷移過(guò)程。
但是VGGNet中提供的默認(rèn)卷積計(jì)算參數(shù)可能不一定能滿(mǎn)足風(fēng)格遷移要求,于是在本文中另外采用了一個(gè)基于Tensorflow的訓(xùn)練程序進(jìn)行訓(xùn)練,并希望獲取較理想的計(jì)算參數(shù)。
圖2:程序流程圖
根據(jù)程序流程圖,本文用Python語(yǔ)言編寫(xiě)了程序(略),用以實(shí)現(xiàn)AI國(guó)畫(huà)的生成。首先輸入如下國(guó)畫(huà),作為被模仿的圖像。然后分別考慮簡(jiǎn)單圖像的風(fēng)格遷移和山水風(fēng)景圖像的風(fēng)格遷移(見(jiàn)圖3)。
圖3:輸入的模仿圖像
從運(yùn)行結(jié)果可以看到(見(jiàn)圖4),輸入目標(biāo)圖像中的兩筆3段曲線在經(jīng)過(guò)風(fēng)格遷移后,增加了具有水墨韻開(kāi)的質(zhì)感。輸入圖像中,中下部分的紙張的褶皺和光線不均,也被系統(tǒng)提取了并進(jìn)行了遷移,形成了類(lèi)似湖泊河流的畫(huà)面。
圖5:輸入的風(fēng)景圖
從這兩次遷移結(jié)果可以看出,山和水經(jīng)過(guò)風(fēng)格遷移算法運(yùn)算后,都能獲得不錯(cuò)的水墨畫(huà)質(zhì)感。但是圖5中左側(cè)的樹(shù)林,被算法識(shí)別為了山,這可能是因?yàn)樵谀7聢D像中,山和水在畫(huà)面中的占比較高,導(dǎo)致生成的替換特征也是以山和水為主。因此誤將樹(shù)林識(shí)別為山,并進(jìn)行了風(fēng)格遷移運(yùn)算。
圖4:簡(jiǎn)單圖像的目標(biāo)圖像和生成圖像
圖6:預(yù)處理后的風(fēng)景圖
圖7:AI生成的圖像
通過(guò)測(cè)試可以發(fā)現(xiàn),輸出的結(jié)果在色調(diào),顏色變化模型,物體外形上都接近或與一般山水國(guó)畫(huà)類(lèi)似。但是最終生成結(jié)果與真實(shí)的國(guó)畫(huà)還有一定的距離。其主要原因可能出現(xiàn)在:
(1)訓(xùn)練集采用的是網(wǎng)絡(luò)上搜羅的訓(xùn)練集,而非專(zhuān)門(mén)為國(guó)畫(huà)準(zhǔn)備的訓(xùn)練集,導(dǎo)致在卷積運(yùn)算參數(shù)的訓(xùn)練上,無(wú)法與國(guó)畫(huà)風(fēng)格進(jìn)行高度匹配。
(2)替換的特征內(nèi)容在整個(gè)VGG16卷積算法的中層,該層主要能提取出類(lèi)似“筆觸”的特征,從而在一定層面上能體現(xiàn)出山水國(guó)畫(huà)中“山”的畫(huà)面樣式。但是對(duì)于“水”和山水畫(huà)中經(jīng)常出現(xiàn)的“舟”,“林”,“鳥(niǎo)”等,并不能較好的實(shí)現(xiàn)模仿。因?yàn)檫@些元素往往在圖像中過(guò)大或過(guò)小,很容易在最初的幾次卷積運(yùn)算中被當(dāng)做噪聲或背景過(guò)濾。這些元素沒(méi)有加入后續(xù)運(yùn)算,因此在反卷積運(yùn)算中被徹底丟失。
通過(guò)以上兩個(gè)主要問(wèn)題的分析和總結(jié),本文在下一階段中將進(jìn)行四個(gè)方向的改進(jìn):
(1)通過(guò)網(wǎng)絡(luò)爬蟲(chóng)手段,生成國(guó)畫(huà)圖像訓(xùn)練集,并希望從該訓(xùn)練更準(zhǔn)確的卷積計(jì)算參數(shù)。
(2)通過(guò)對(duì)圖像進(jìn)行后處理,對(duì)遠(yuǎn)近山水進(jìn)行顏色深度的調(diào)整,使其更符合國(guó)畫(huà)特征。
(3)通過(guò)對(duì)圖像進(jìn)行后處理,通過(guò)較簡(jiǎn)單的圖像疊加方式,添加國(guó)畫(huà)中經(jīng)常出現(xiàn)的“林”,“鳥(niǎo)”,“舟”等元素。
(4)嘗試對(duì)目標(biāo)圖像先進(jìn)行目標(biāo)分類(lèi),然后根據(jù)不同類(lèi)目在畫(huà)面中位置,使用對(duì)應(yīng)的特征,進(jìn)行相應(yīng)的風(fēng)格遷移,最后再通過(guò)一些畫(huà)面平整方法將各部分組合。
注釋
① 該算法的網(wǎng)址為https://github.com/marcatmendez/fast-style-transfer-master