卷積神經網絡的圖片風格轉換系統思考

前言:尋找寫作靈感?中文期刊網用心挑選的卷積神經網絡的圖片風格轉換系統思考,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。

卷積神經網絡的圖片風格轉換系統思考

摘要:隨著互聯網技術的推進發展,對圖片風格進行個性化、藝術化的處理受到廣泛關注,并成為一大發展熱點。神經網絡遷移是另一種“印刷術”,從圖片中復制風格并對新的圖片進行轉換,具有重要的現實意義。本文通過使用卷積神經網絡方法,在內容、風格兩個層面上將圖像分離,標注融合后相對應的圖片進行跟進優化,降低照片的損失值;按照數值重新糅合制作出新的圖片,能夠促進圖片與所需風格的有效融合,可以完美地掩飾圖片上的一些瑕疵,應用范圍更加廣泛,與用戶交互更加友好,體驗感更愉悅。

關鍵詞:Python;卷積式神經網絡(CNN);深度學習;圖片風格遷移;VGGNet;NeuralStyle

0引言

在學術研究方面,對于圖片風格轉換的可探索性領域十分廣泛;在日常互聯網產品中,其應用空間也十分廣闊。例如可應用于所拍攝照片的后期處理,為用戶打破使用固定濾鏡的限制;還可以根據用戶心儀的風格,改變圖片紋理,對圖片的視覺感官進行層次化處理,從而在社交網絡分享平臺上多角度體現自己圖片的獨特性,為用戶打造個性化體驗。在圖像方面,2015年Gatys等人[1]提出了基于神經網絡的風格遷移算法。JustinJohnson提出了采用Torch實現Neural-style網絡,將圖片經過多次運算,達到無法以肉眼判別圖片真偽的程度。后來研究方法主要包括利用卷積神經網絡實現高層次圖像的內容合成[2]和對Gatys算法的優化[3],加快了訓練模型的速度。隨著人們對技術的更加智能、精準、快捷的追求,反卷積層允許模型[4]被提出,通過小圖的點描繪大圖中的方塊。隨后BagofFeatures方法[5]也被提出,該方法先把圖片拆成小塊,然后逐塊進行比較,并標記出相似塊數最多的區域;當某一小塊識別出現錯誤時,將其他小塊作為識別依據,從而大大降低系統錯誤的風險?;谏窠浘W絡的風格遷移從2015年出現至今,發展非常迅速,并且被應用在很多領域里。本系統以Python作為開發語言來實現深度學習,在運用NeuralStyle算法的同時進行優化改進,通過收集用戶感興趣的畫家作品,將圖片轉化為各種需求的畫作風格,大大增強了系統應用的性能。

1系統設計原理

圖片風格轉換系統利用Tensor?ow框架和大量的第三方庫提供了卷積式神經網絡方法,并利用NeuralStyle算法對圖片和不同的風格加以融合,使照片更具個性和藝術氣息。另外還對NeuralStyle算法進行優化,以增強其實際使用的有效體現,顯示了基于CNN的樣式傳輸方法的輸出。首先以深度學習為基礎,采用VGG19網絡結構與Python的Tensor?ow系統提取原有圖片內容與藝術作品的圖像風格,后期基于輕量框架Flask將系統部署在Web服務器上運行。VGG19網絡結構通過層層遞進對更復雜的特征進行提取,從而更好地識別物體,所以每層都相當于許多小提取器,對局部特征進行更精確地提取。深度卷積分類網絡在特征提取方面功能強大,將網絡訓練好后可以成為效果良好的圖片數據特征提取器,由多層非線性函數所構成的深度網絡可定義為復雜多元非線性函數來實現從輸入圖片到輸出的映射。因此,通過將深度網絡進行訓練就可以成為一種損失函數計算器。

1.1VGG19深度網絡

VGGNet旨在提取輸入圖片的特征并輸出圖像類別,而圖像風格遷移技術主要是用于產生對應輸入特征的圖片并進行輸出,如圖1所示。通過VGGNet,前面的卷積層是從圖片中獲取風格特征,后面的全連通層將特征轉化成類別概率。其中的淺層提取特征比較簡單,可檢測亮度和點等特征;深層提取特征往往是較為復雜,如判斷是否體現臉部特征、是否出現某種特定物體等。

1.2內容重構

在每個卷積層中,根據濾波器個數Nl確定圖片p和訓練卷積網絡(比如VGG19)所得到的featuremap個數;再將featuremap轉化成向量,其大小為Ml。將每一級的Nl個特征向量存儲到矩陣Fl∈RMl×Nl中,其元素Fijl表示第l層的第i個濾波器在位置j上的激活頻率。如果須確定某一特征從而產生新圖片x,使圖片在選定層中的新特征Pl與原特征Fl相等,則定義損失函數如下:

1.3圖片風格

一般情況下對所需風格進行定義會相對復雜。根據上一層卷積操作中卷積核的數量,可以獲得每一級中的特征圖。對featuremap兩兩進行內積,得到Gram矩陣為圖片風格,其中包含了紋理和顏色的相關信息,定義如下:l其中:Gijl為對某一featuremap的i與j列進行內積,也是Gram矩陣中第i行第j列的元素值;k則是featuremap中所對應的元素。每層風格的損失函數定義如下:其中:Nl為某一featuremap的個數;Ml為featuremap的尺寸。對這層中的每一個featuremap進行遍歷,從而得出Gram矩陣,i和j可相同。最終的風格損失函數為:其中,wl為某層的風格對應的權重。1.4訓練圖像選擇白噪聲圖像,并加入表達內容的圖片和所需風格的圖片來搭建卷積式神經網絡,從而得到具有特定內容和風格的合成圖片,如圖2所示。設計網絡時須注意某些層和提取網絡的維度相同。

2系統功能實現

首先利用Tensor?ow庫與VGG19網絡搭建卷積神經網絡,訓練出具有將任意一張圖片的內容與風格分離功能的模型;然后分別對原照片的Content(內容)與名畫風格的Style(風格)進行單獨提取;再將提取到的風格與原圖的內容相結合,生成最終的效果圖,實現風格遷移;最終將訓練好的模型保存,利用Flask將項目部署在Web服務器上即可。接下來訓練卷積式神經網絡,然后定義卷積算法,在Tensor?ow的slim模塊中傳入參數。對結構部分進行處理,需要先對輸入圖片做padding,并通過圖像轉換網絡后去除,這樣可以防止經過遷移之后出現邊緣效應。隨后根據VGG19的特征圖片,對圖片的內容差異進行了比對衡量。根據輸出的特征圖片的均方誤差,可以通過比較合成圖片與內容圖片對來實現優化,使其內容一致。通過Gram矩陣量化體現合成圖片與原圖片在風格和內容上的差異;再將風格loss與內容loss按權值相加,優化loss,使所優化圖片同時擁有所選內容圖片的內容和所選風格圖片的風格。為了帶給用戶更快的圖片轉換體驗,該系統在實現過程中對速度進行了優化。首先,建立交換網絡,以進一步優化權值,進而實現快速風格轉化;其次,對系統進行降維和升維優化,減少計算量,并對loss進行優化,將圖片在水平、垂直兩方向上平移一個像素,再與平移前的圖片相減,算出絕對值之和,為TotalVariation;最后,對一些近似圖片進行約束,減少內容相似的圖片和風格相似的圖片,從而產生一個可以較快地對風格和圖片進行有效融合并輸出用戶期望圖片的模型。為了達到更加友好的交互效果,選擇將項目部署在Web上,采用了輕量級Web框架Flask,將程序打包搭建成一個Web系統。最終實現結果如圖3所示。

3系統測試效果

通過測試來驗證本系統功能是否滿足所計劃的用戶需求,是否與實際情況相符合。圖4為測試圖,選擇陜西師范大學的一張風景照片,對不同的風格進行風格融合,選擇六種不同藝術畫作為風格訓練內容,其中包括愛德華?蒙克的《吶喊》(如圖5所示)、葛飾北齋的《神奈川沖浪里》(如圖6所示)、梵高的《星月夜》(如圖7所示)、伊萬?切爾尼的《尖角》(如圖8所示)、梵高的《向日葵》(如圖9所示)、畢加索的《窗前的女人》(如圖10所示)。隨著意境的變化,圖片產生了別樣的美感,彷佛本來就出自著名畫家之手。4結語本文通過使用卷積神經網絡方法,設計了圖片風格轉換系統。首先,系統整體從設計開發、功能運行到測試,已經達到了最初開發目的;并且經過實際測試,已達到投入使用的標準。另外,開發系統所用技術為當前主流技術,開發工具和所用框架效果較好,整體設計良好。最后,圖片風格轉換系統為用戶處理圖片提供了更多選擇和更全面的功能,能夠使拍攝的照片更具有藝術氣息。

作者:王瑜佳 單位:陜西師范大學  物理學與信息技術學院

亚洲精品一二三区-久久