乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

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

       有三AI 2021-05-28

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

                                                  作者&編輯 | 言有三

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

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

      1.1 圖像風(fēng)格化

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

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

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

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

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

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

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

      1.2 風(fēng)格遷移

      風(fēng)格遷移的重點(diǎn)在于遷移,它是將一幅圖中的風(fēng)格,遷移到另一幅圖中。2015年德國圖賓根大學(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)容圖,從另外一幅畫中抽取藝術(shù)風(fēng)格,兩者一起合成新的藝術(shù)畫,從而使得神經(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ì)在近處觀察一幅圖時,抽象層次越低,我們看到的是清晰的紋理,而在遠(yuǎn)處觀察時則看到的是大致的輪廓。實(shí)際上卷積神經(jīng)網(wǎng)絡(luò)就是實(shí)現(xiàn)和證明了這樣的分層機(jī)制的合理性。將各個神經(jīng)元看做是一個圖像濾波器,輸出層就是由輸入圖像的不同濾波器的組合,網(wǎng)絡(luò)由淺到深,內(nèi)容越來越抽象。

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

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

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

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

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

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

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

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

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

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

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

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

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

      圖5 Neural Style Transfer算法原理

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

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

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

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

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

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

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

      當(dāng)然最原始的遷移算法也存在著一些固有的缺陷,包括無法保持目標(biāo)的顏色,紋理比較粗糙,無法識別語義內(nèi)容導(dǎo)致目標(biāo)風(fēng)格不完整,或者出現(xiàn)錯亂,比如將天空的風(fēng)格遷移到大地等,后續(xù)的研究者們對其提出了許多的改進(jìn),其中最具有代表性的是Adobe公司[2]的真實(shí)場景風(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)化的方法由于每個重建結(jié)果都需要在像素空間進(jìn)行迭代優(yōu)化,這種方式無法實(shí)時,因此研究人員開始研究更加高效的方法,即基于模型優(yōu)化的方法,它的特點(diǎn)是首先使用數(shù)據(jù)集對某一種風(fēng)格的圖進(jìn)行訓(xùn)練得到一個風(fēng)格化模型,然后在使用的時候只需要將輸入圖經(jīng)過一次前向傳播就可以得到結(jié)果圖,根據(jù)模型與風(fēng)格數(shù)量可以分為許多方向,下面分別介紹。

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

      Justin Johnson等人提出的方法[3]是一個典型的單模型單風(fēng)格框架,通過圖像轉(zhuǎn)換層(Image Transform Net)來完成整個的渲染過程,在損失網(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ù)地迭代,速度快了兩三個數(shù)量級,下圖8所示是它的模型結(jié)構(gòu)。

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

      這個模型可以分為兩部分,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)過同樣的網(wǎng)絡(luò),分別計算風(fēng)格損失和內(nèi)容損失,注意這里的yc實(shí)際上就是輸入圖x。

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

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

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

      圖9 Style bank框架

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

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

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

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

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

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

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

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

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

      圖10 Instance Normalization

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

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

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

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

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

      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) 如何對不同區(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í)踐,請參考我最近出版的新書,《深度學(xué)習(xí)之?dāng)z影圖像處理》,介紹如下:

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

      總結(jié)

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

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

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

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

      轉(zhuǎn)載文章請后臺聯(lián)系

      侵權(quán)必究

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多