小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

【計(jì)算攝影】淺析圖像風(fēng)格遷移背后的核心技術(shù)

 有三AI 2021-05-28

大家好,這是專欄《計(jì)算攝影》的第八篇文章,這一個(gè)專欄來(lái)自于計(jì)算機(jī)科學(xué)與攝影藝術(shù)的交叉學(xué)科。

                                            作者&編輯 | 言有三

今天要介紹的一個(gè)問(wèn)題是計(jì)算機(jī)視覺(jué)領(lǐng)域中的一個(gè)老問(wèn)題了,即圖像風(fēng)格化領(lǐng)域中的圖像風(fēng)格遷移及其背后的核心技術(shù)。

1 圖像風(fēng)格遷移基礎(chǔ) 

1.1 圖像風(fēng)格化

首先我們來(lái)看圖像風(fēng)格化,所謂風(fēng)格化的重點(diǎn)就在于風(fēng)格,它一定不是普通的圖片,而是對(duì)普通圖片進(jìn)行處理后,得到的擁有特殊風(fēng)格的作品,以Photoshop軟件為例,很早就內(nèi)置了非常多的濾鏡風(fēng)格,可以分為兩大類。

第一類是基于基于邊緣的風(fēng)格化,可以突出輪廓,創(chuàng)建出特殊的效果,如下圖1。

圖1 PS的邊緣風(fēng)格

上圖展示了Photoshop中幾種常見(jiàn)的基于邊緣的風(fēng)格化效果,從左到右分別是原圖,查找邊緣,等高線,浮雕效果,雖然各自效果有所不同,但是其中最核心的技術(shù)仍然是尋找到主體的邊緣。為了實(shí)現(xiàn)以上的風(fēng)格,首先要檢測(cè)到主體邊緣,可以使用傳統(tǒng)的邊緣檢測(cè)方法,如Sobel、Canny檢測(cè)算子,也可以采用深度學(xué)習(xí)方法進(jìn)行檢測(cè)。

第二類風(fēng)格就是基于顏色的風(fēng)格化,它通過(guò)更改像素值或者像素的分布,可以創(chuàng)造出特殊的風(fēng)格,如油畫(huà)、波紋,下圖2從左到右分別是原圖,波紋,凸出,油畫(huà)效果。

圖2 PS的顏色風(fēng)格

以上的風(fēng)格化,基于特定的圖像算法規(guī)則,模式固定,只能處理特定數(shù)量的風(fēng)格。而隨著深度學(xué)習(xí)技術(shù)的發(fā)展,基于深度學(xué)習(xí)的風(fēng)格化方法被廣泛研究并且取得了非常好的效果,開(kāi)啟了一個(gè)新的研究領(lǐng)域,風(fēng)格遷移。

1.2 風(fēng)格遷移

風(fēng)格遷移的重點(diǎn)在于遷移,它是將一幅圖中的風(fēng)格,遷移到另一幅圖中。2015年德國(guó)圖賓根大學(xué)科學(xué)家在論文《A Neural Algorithm of Artistic Style》[1]中提出了使用深層卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,創(chuàng)造出了具有高質(zhì)量藝術(shù)風(fēng)格的作品。

該網(wǎng)絡(luò)將一幅圖作為內(nèi)容圖,從另外一幅畫(huà)中抽取藝術(shù)風(fēng)格,兩者一起合成新的藝術(shù)畫(huà),從而使得神經(jīng)網(wǎng)絡(luò)風(fēng)格遷移領(lǐng)域( Neural Style Transfer)誕生。

圖3 Neural Style Transfer

圖3中A圖就是內(nèi)容圖,B圖左下角就是風(fēng)格圖,B圖大圖就是融合了A圖的內(nèi)容和風(fēng)格圖的風(fēng)格,從而可以實(shí)現(xiàn)任意風(fēng)格的遷移,不必局限于特定的算法,下圖4展示了一些案例,每一種風(fēng)格都有著獨(dú)特的美感,主體和背景的處理都非常好。

圖4 多種Neural Style Transfer風(fēng)格

1.3 風(fēng)格遷移算法原理

生物學(xué)家證明了人腦處理信息具有不同的抽象層次,人的眼睛看事物可以根據(jù)尺度調(diào)節(jié)抽象層次,當(dāng)仔細(xì)在近處觀察一幅圖時(shí),抽象層次越低,我們看到的是清晰的紋理,而在遠(yuǎn)處觀察時(shí)則看到的是大致的輪廓。實(shí)際上卷積神經(jīng)網(wǎng)絡(luò)就是實(shí)現(xiàn)和證明了這樣的分層機(jī)制的合理性。將各個(gè)神經(jīng)元看做是一個(gè)圖像濾波器,輸出層就是由輸入圖像的不同濾波器的組合,網(wǎng)絡(luò)由淺到深,內(nèi)容越來(lái)越抽象。

研究者基于此特點(diǎn)提出圖片可以由內(nèi)容層(content)與風(fēng)格層(style)兩個(gè)圖層描述,內(nèi)容層描述圖像的整體信息,風(fēng)格層描述圖像的細(xì)節(jié)信息。

所謂內(nèi)容,指得是圖像的語(yǔ)義信息,即圖里包含的目標(biāo)及其位置,它屬于圖像中較為底層的信息,可以使用灰度值,目標(biāo)輪廓等進(jìn)行描述。

而風(fēng)格,則指代筆觸,顏色等信息,是更加抽象和高層的信息。

圖像風(fēng)格可以用數(shù)學(xué)式子來(lái)描述,其中常用的是格拉姆矩陣(Gram Matrix),它的定義為n維歐氏空間中任意k個(gè)向量的內(nèi)積所組成的矩陣,如下:

基于圖像特征的Gram矩陣計(jì)算方法如下:

Glij向量化后的第l個(gè)網(wǎng)絡(luò)層的特征圖i和特征圖j的內(nèi)積,k即向量的長(zhǎng)度。

格拉姆矩陣可以看做特征之間的偏心協(xié)方差矩陣,即沒(méi)有減去均值的協(xié)方差矩陣。內(nèi)積之后得到的矩陣的對(duì)角線元素包含了不同的特征,而其他元素則包含了不同特征之間的相關(guān)信息。因此格拉姆矩陣可以反應(yīng)整個(gè)圖像的風(fēng)格,如果我們要度量?jī)蓚€(gè)圖像風(fēng)格的差異,只需比較他們Gram Matrix的差異即可。

假設(shè)我們有兩張圖,一張是欲模仿的風(fēng)格圖s,一張是內(nèi)容圖c,想要生成圖x,風(fēng)格遷移轉(zhuǎn)換成數(shù)學(xué)問(wèn)題,就是最小化下面這個(gè)函數(shù)。

因此當(dāng)我們要實(shí)現(xiàn)一個(gè)濾鏡算法時(shí),只需要提取風(fēng)格圖的風(fēng)格,提取要使用濾鏡的圖的內(nèi)容,然后合并成最終的效果圖。

目前風(fēng)格遷移主要有兩大類方法,基于圖像優(yōu)化的風(fēng)格遷移算法和基于模型優(yōu)化的風(fēng)格遷移算法。

2 基于圖像的風(fēng)格遷移算法

本節(jié)我們來(lái)介紹基于圖像優(yōu)化的風(fēng)格遷移算法,這是最早期的風(fēng)格遷移算法。

基于圖像優(yōu)化的方法是在圖像像素空間做梯度下降來(lái)最小化目標(biāo)函數(shù),以Gary等人提出的經(jīng)典算法[1]為例,下圖5是該算法的原理圖。

圖5 Neural Style Transfer算法原理

圖中包含了2個(gè)輸入通道,分別用于進(jìn)行內(nèi)容重建(Content construction)和風(fēng)格重建(Style construction)。

(1) 內(nèi)容重建通道。選擇某一個(gè)抽象級(jí)別較高的特征層計(jì)算內(nèi)容損失,它的主要目標(biāo)是保留圖像主體的內(nèi)容和位置,損失計(jì)算如下,使用了特征的歐式距離,F(xiàn)ijl和Pijl分別是第l層生成圖和內(nèi)容圖的特征值。

內(nèi)容重建之所以不使用多尺度,是因?yàn)閮?nèi)容圖本身只需要維持可識(shí)別的內(nèi)容信息,多尺度不僅會(huì)增加計(jì)算量,還引入噪聲,抽象層次較低的低尺度關(guān)注了像素的局部信息,可能導(dǎo)致最終渲染的結(jié)果不夠平滑。

(2) 風(fēng)格重建通道。與內(nèi)容重建不同,CNN從底層到高層的每一層都會(huì)對(duì)風(fēng)格有貢獻(xiàn),因?yàn)轱L(fēng)格采用格拉姆矩陣進(jìn)行表述,所以損失也是基于該矩陣計(jì)算,每一層加權(quán)相加,第l層的損失定義如下。

整個(gè)的風(fēng)格損失函數(shù)就是各層相加,

風(fēng)格重建使用多尺度不僅有利于模型的收斂,而且兼顧了局部的紋理結(jié)構(gòu)細(xì)節(jié)和整體的色彩風(fēng)格。

圖6 Neural Style Transfer算法優(yōu)化

當(dāng)然最原始的遷移算法也存在著一些固有的缺陷,包括無(wú)法保持目標(biāo)的顏色,紋理比較粗糙,無(wú)法識(shí)別語(yǔ)義內(nèi)容導(dǎo)致目標(biāo)風(fēng)格不完整,或者出現(xiàn)錯(cuò)亂,比如將天空的風(fēng)格遷移到大地等,后續(xù)的研究者們對(duì)其提出了許多的改進(jìn),其中最具有代表性的是Adobe公司[2]的真實(shí)場(chǎng)景風(fēng)格轉(zhuǎn)換,它們只遷移圖像的顏色而不改變紋理,作者稱之為照片風(fēng)格遷移(photo style transfer)。

圖7 photo style transfer

更多的基于圖像優(yōu)化的風(fēng)格遷移算法,讀者可以自行拓學(xué)習(xí)。

3 基于模型優(yōu)化的風(fēng)格遷移算法

基于圖像優(yōu)化的方法由于每個(gè)重建結(jié)果都需要在像素空間進(jìn)行迭代優(yōu)化,這種方式無(wú)法實(shí)時(shí),因此研究人員開(kāi)始研究更加高效的方法,即基于模型優(yōu)化的方法,它的特點(diǎn)是首先使用數(shù)據(jù)集對(duì)某一種風(fēng)格的圖進(jìn)行訓(xùn)練得到一個(gè)風(fēng)格化模型,然后在使用的時(shí)候只需要將輸入圖經(jīng)過(guò)一次前向傳播就可以得到結(jié)果圖,根據(jù)模型與風(fēng)格數(shù)量可以分為許多方向,下面分別介紹。

3.1  單模型單風(fēng)格及其改進(jìn)

Justin Johnson等人提出的方法[3]是一個(gè)典型的單模型單風(fēng)格框架,通過(guò)圖像轉(zhuǎn)換層(Image Transform Net)來(lái)完成整個(gè)的渲染過(guò)程,在損失網(wǎng)絡(luò)(VGG16 Loss Network)的約束下,分別學(xué)習(xí)內(nèi)容和風(fēng)格。該模型用于訓(xùn)練的風(fēng)格圖數(shù)據(jù)集必須屬于同一種風(fēng)格,而內(nèi)容圖則可以任意選擇。

與基于圖像優(yōu)化的方法相比,基于模型優(yōu)化的方法不需要反復(fù)地迭代,速度快了兩三個(gè)數(shù)量級(jí),下圖8所示是它的模型結(jié)構(gòu)。

圖8 基于模型的風(fēng)格化

這個(gè)模型可以分為兩部分,Image Transform Net是圖像轉(zhuǎn)換網(wǎng)絡(luò),VGG16是損失網(wǎng)絡(luò)。圖像轉(zhuǎn)換網(wǎng)絡(luò)輸入x,輸出y,它和風(fēng)格圖ys,內(nèi)容圖yc經(jīng)過(guò)同樣的網(wǎng)絡(luò),分別計(jì)算風(fēng)格損失和內(nèi)容損失,注意這里的yc實(shí)際上就是輸入圖x。

內(nèi)容損失采用的是感知損失,風(fēng)格損失與基于圖像優(yōu)化的方法一樣采用Gram矩陣來(lái)定義,都已經(jīng)介紹過(guò)許多次了,就不再贅述。

3.2 單模型多風(fēng)格

單模型單風(fēng)格對(duì)于每一種風(fēng)格都必須重新訓(xùn)練模型,這大大限制了它們的實(shí)用性,因此研究人員很快便開(kāi)始研究單模型多風(fēng)格框架。Style bank[4]是其中的一個(gè)典型代表,它使用了一個(gè)濾波器組來(lái)代表多個(gè)風(fēng)格,原理如下圖9:

圖9 Style bank框架

從圖可以看出,輸入圖I首先輸入一個(gè)編碼器得到特征圖,然后和StyleBank相互作用。StyleBank包括n個(gè)并行的濾波器組,分別對(duì)應(yīng)n個(gè)不同的風(fēng)格。每一個(gè)濾波器組中的每一個(gè)通道可以被看作是某一種風(fēng)格元素,比如紋理類型,筆觸類型。

模型總共包含兩個(gè)分支,第一個(gè)是從編碼器到解碼器,它要求重建的圖像O和輸入圖像I在內(nèi)容上一致,因此采用的損失函數(shù)就是逐個(gè)像素的均方誤差損失。

另一個(gè)分支是從編碼器到風(fēng)格化濾波器到解碼器,它要求對(duì)于不同的風(fēng)格生成不同的風(fēng)格輸出。對(duì)于這一個(gè)分支,包括一個(gè)內(nèi)容損失,一個(gè)風(fēng)格損失,以及一個(gè)平滑損失, 具體的內(nèi)容損失和風(fēng)格損失與Gatys論文中一樣。

在具體訓(xùn)練的時(shí)候,針對(duì)K個(gè)不同的風(fēng)格,首先固定編解碼器分支,對(duì)風(fēng)格化分支訓(xùn)練K輪。然后固定風(fēng)格化分支,對(duì)編碼器分支訓(xùn)練1輪。

StyleBank方法的特點(diǎn)是:

(1) 多個(gè)風(fēng)格可以共享一個(gè)自編碼器(Auto-encoder)。

(2) 可以在不更改自編碼器(Auto-encoder)的情況下對(duì)新的風(fēng)格進(jìn)行增量學(xué)習(xí)。

另外還有的方法通過(guò)學(xué)習(xí)實(shí)例歸一化(Instance Normalization)后的仿射變換系數(shù)的方法[5]來(lái)控制不同風(fēng)格的圖像,實(shí)例歸一化表達(dá)式如下:

取對(duì)應(yīng)某風(fēng)格的縮放系數(shù)和偏移系數(shù)就實(shí)現(xiàn)了對(duì)應(yīng)風(fēng)格的歸一化。

圖10 Instance Normalization

3.3 單模型任意風(fēng)格

單模型多風(fēng)格框架在增加新的風(fēng)格時(shí)總需要重新訓(xùn)練模型,單模型多風(fēng)格算法可以通過(guò)學(xué)習(xí)實(shí)例歸一化的仿射變換系數(shù)來(lái)控制多種風(fēng)格的轉(zhuǎn)換,研究表明[6]這種仿射參數(shù)其實(shí)可以由風(fēng)格圖本身的統(tǒng)計(jì)信息來(lái)替代,用風(fēng)格圖圖像的方差和均值分別替代,就可以生成任意風(fēng)格的圖像,該層被稱為AdaIN層,其定義如下式。

其中x是內(nèi)容圖,y是風(fēng)格圖,可以看出使用了內(nèi)容圖的均值和方差進(jìn)行歸一化,使用風(fēng)格圖的均值和方差作為偏移量和縮放系數(shù),整個(gè)模型原理圖如下圖。

圖11 基于AdaIN的風(fēng)格遷移

損失包括內(nèi)容損失和風(fēng)格損失兩部分。內(nèi)容損失的計(jì)算是比較AdaIN層的輸出與最終的輸出圖之間的L2損失,風(fēng)格損失則使用了VGG不同特征層的均值和方差的L2損失而不是使用基于Gram矩陣的損失,形式更加簡(jiǎn)單。

3.4 小結(jié)

目前AdaIN層已經(jīng)在圖像風(fēng)格化,圖像生成等領(lǐng)域中被廣泛應(yīng)用,屬于圖像風(fēng)格遷移的標(biāo)配技術(shù),單模型任意風(fēng)格在實(shí)際應(yīng)用中也更加有效。

當(dāng)前風(fēng)格遷移模型還存在著一些重難點(diǎn),包括:

(1) 高效率地學(xué)習(xí)到任意的風(fēng)格。

(2) 如何對(duì)不同區(qū)域進(jìn)行精確的風(fēng)格控制。

(3) 如何控制風(fēng)格化的筆觸大小。

(4) 如何根據(jù)需要保留顏色或者紋理。

(5) 如何保留圖像中重要的信息,如深度。

(6) 基于GAN的風(fēng)格遷移模型。

本文參考資料:

[1] Gatys L A, Ecker A S, Bethge M. Image style transfer using convolutional neural networks[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 2414-2423.

[2] Luan F, Paris S, Shechtman E, et al. Deep photo style transfer[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 4990-4998.

[3] Johnson J, Alahi A, Fei-Fei L. Perceptual losses for real-time style transfer and super-resolution[C]//European conference on computer vision. Springer, Cham, 2016: 694-711.

[4] Chen D, Yuan L, Liao J, et al. Stylebank: An explicit representation for neural image style transfer[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 1897-1906.

[5] Dumoulin V, Shlens J, Kudlur M. A learned representation for artistic style[J]. arXiv preprint arXiv:1610.07629, 2016.

[6] Huang X, Belongie S. Arbitrary style transfer in real-time with adaptive instance normalization[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 1501-1510.

更多內(nèi)容細(xì)節(jié)和實(shí)踐,請(qǐng)參考我最近出版的新書(shū),《深度學(xué)習(xí)之?dāng)z影圖像處理》,介紹如下:

言有三新書(shū)來(lái)襲,業(yè)界首本深度學(xué)習(xí)計(jì)算攝影書(shū)籍,科技與藝術(shù)的結(jié)合

總結(jié)

本文介紹了基于神經(jīng)網(wǎng)絡(luò)的風(fēng)格遷移,這是一個(gè)沒(méi)有標(biāo)準(zhǔn)的真值標(biāo)簽的任務(wù),但深度學(xué)習(xí)模型依然展現(xiàn)出了非常強(qiáng)大的學(xué)習(xí)能力,盡管評(píng)估它相對(duì)于圖像分類,目標(biāo)檢測(cè)等任務(wù)更難,值得對(duì)視覺(jué)技術(shù)感興趣的朋友了解學(xué)習(xí)。

有三AI秋季劃-圖像質(zhì)量組

圖像質(zhì)量小組需要掌握與圖像質(zhì)量相關(guān)的內(nèi)容,學(xué)習(xí)的東西包括8大方向:圖像質(zhì)量評(píng)價(jià),圖像構(gòu)圖分析,圖像降噪,圖像對(duì)比度增強(qiáng),圖像去模糊與超分辨,圖像風(fēng)格化,圖像深度估計(jì),圖像修復(fù)。了解詳細(xì)請(qǐng)閱讀以下文章:

【CV秋季劃】圖像質(zhì)量提升與編輯有哪些研究和應(yīng)用,如何循序漸進(jìn)地學(xué)習(xí)好?

轉(zhuǎn)載文章請(qǐng)后臺(tái)聯(lián)系

侵權(quán)必究

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多