Přenos neurálního stylu - Neural Style Transfer - Wikipedia

Přenos neurálního stylu (NST) odkazuje na třídu softwarových algoritmů, které manipulují s digitálními obrázky nebo videi, aby převzaly vzhled nebo vizuální styl jiného obrázku. Algoritmy NST jsou charakterizovány jejich použitím hluboké neuronové sítě kvůli transformaci obrazu. Běžným využitím NST je tvorba umělých uměleckých děl z fotografií, například přenosem vzhledu slavných obrazů na fotografie dodané uživatelem. Několik pozoruhodných mobilních aplikací používá pro tento účel techniky NST, včetně DeepArt a Prisma. Tuto metodu používají umělci a designéři z celého světa k vývoji nových uměleckých děl založených na existujících stylech.

Pozadí

NST je příkladem stylizace obrazu, problém studovaný více než dvě desetiletí v oboru nefotorealistické vykreslování. Před NST byl přenos stylu obrazu prováděn pomocí technik strojového učení založených na analogie obrazu.[1] Vzhledem k tréninkové dvojici obrázků - fotografii a umělecké dílo zobrazující tuto fotografii - lze transformaci naučit a analogicky ji použít k vytvoření nové kresby z nové fotografie. Nevýhodou této metody je, že takový tréninkový pár v praxi zřídka existuje. Například originální zdrojový materiál (fotografie) je pro slavná umělecká díla zřídka k dispozici.

NST takové spárování nevyžaduje; k tomu, aby algoritmus přenesl svůj styl, stačí jediný příklad kresby.

NST

NST byl poprvé publikován v příspěvku „Neural Algorithm of Artistic Style“ od Leona Gatyse a kol., Původně vydaného ArXiv 2015,[2] a následně přijato recenzovaným Počítačové vidění a rozpoznávání vzorů (CVPR) v roce 2016.[3]

Hlavní novinkou NST je použití hluboké učení oddělit reprezentaci obsahu (struktury) obrazu od vzhledu (stylu), ve kterém je zobrazen. Původní papír používal a konvoluční neuronová síť (CNN) Architektura VGG-19[4] který byl předem vyškolen k provádění rozpoznávání objektů za použití ImageNet datová sada.

V roce 2017 Google AI představil metodu[5] který umožňuje jedné hluboké konvoluční přenosové síti stylů naučit se více stylů najednou. Tento algoritmus umožňuje interpolaci stylů v reálném čase, i když se provádí na videu.

Formulace

Proces NST předpokládá vstupní obraz a ukázkový obrázek stylu .

Obrázek je napájen prostřednictvím CNN a síťové aktivace jsou vzorkovány ve vrstvě pozdní konvoluce architektury VGG-19. Nechat být výsledným výstupním vzorkem, který se nazývá „obsah“ vstupu .

Obrázek stylu je poté veden přes stejnou CNN a síťové aktivace jsou vzorkovány v raných až středních vrstvách CNN. Tyto aktivace jsou zakódovány do a Gramianova matice reprezentace, nazvěte to k označení „stylu“ .

Cílem NST je syntetizovat výstupní obraz který vykazuje obsah aplikováno stylem , tj. a .

Iterativní optimalizace (obvykle klesání ) pak se postupně aktualizuje k minimalizaci chyby funkce ztráty:

,

kde je L2 vzdálenost. Konstanta ovládá úroveň efektu stylizace.

Výcvik

obraz je zpočátku aproximován přidáním malého množství bílého šumu do vstupního obrazu a krmení přes CNN. Pak jsme postupně backpropagate tato ztráta v síti s opravenými vahami CNN za účelem aktualizace pixelů . Po několika tisících epoch tréninku, an (doufejme) se objeví, který odpovídá stylu a obsah .

Algoritmy jsou obvykle implementovány pro GPU, takže trénink trvá několik minut.

Rozšíření

NST byl také rozšířen na videa.[6]

Následná práce zlepšila rychlost NST pro obrázky.

V příspěvku od Fei-Fei Li et al. přijala odlišnou metriku regularizované ztráty a zrychlenou metodu výcviku, aby přinesla výsledky v reálném čase (třikrát rychlejší než Gatys). Jejich myšlenkou bylo použít ne ztráta založená na pixelech definováno výše, ale spíše „percepční ztráta“, která měří rozdíly mezi vrstvami vyšší úrovně v rámci CNN. Použili symetrický kodér-dekodér CNN. Výcvik využívá podobnou funkci ztráty jako základní metoda NST, ale také regularizuje výstup pro plynulost pomocí a celková variace (TV) ztráta. Jakmile je síť proškolena, lze ji použít k transformaci obrazu do stylu používaného během tréninku pomocí jediného předání sítě. Síť je však omezena na jediný styl, ve kterém byla trénována.[7]

V díle od Chen Dongdong et al. prozkoumali fúzi optický tok informace do dopředné sítě aby se zlepšila časová koherence výstupu.[8]

Naposledy, funkce transformovat založené metody NST byly zkoumány pro rychlou stylizaci, které nejsou spojeny s jediným konkrétním stylem a umožňují ovládání uživatelem míchání stylů, například Bělící a barvicí transformace (WCT).[9]

Reference

  1. ^ „Image Analogies“ (PDF). Mrl.nyu.edu. 2001. Citováno 13. února 2019.
  2. ^ Gatys, Leon A .; Ecker, Alexander S .; Bethge, Matthias (26. srpna 2015). "Neurální algoritmus uměleckého stylu". arXiv:1508.06576 [cs.CV ].
  3. ^ Bethge, Matthias; Ecker, Alexander S .; Gatys, Leon A. (2016). „Přenos stylu obrazu pomocí konvolučních neuronových sítí“. Cv-foundation.org. 2414–2423. Citováno 13. února 2019.
  4. ^ „Very Deep CNNS for Large-Scale Visual Recognition“. Robots.ox.ac.uk. 2014. Citováno 13. února 2019.
  5. ^ Dumoulin, Vincent; Shlens, Jonathon S .; Kudlur, Manjunath (9. února 2017). "Naučená reprezentace pro umělecký styl". arXiv:1610.07629 [cs.CV ].
  6. ^ Ruder, Manuel; Dosovitskiy, Alexey; Brox, Thomas (2016). Msgstr "Přenos uměleckého stylu pro videa". arXiv:1604.08610 [cs.CV ].
  7. ^ Johnson, Justin; Alahi, Alexandre; Li, Fei-Fei (2016). "Percepční ztráty při přenosu stylu v reálném čase a při super rozlišení". arXiv:1603.08155 [cs.CV ].
  8. ^ Chen, Dongdong; Liao, Jing; Yuan, Lu; Yu, Nenghai; Hua, Gang (2017). "Koherentní online přenos video stylu". arXiv:1703.09211 [cs.CV ].
  9. ^ Li, Yijun; Fang, Chen; Yang, Jimei; Wang, Zhaowen; Lu, Xin; Yang, Ming-Hsuan (2017). "Univerzální přenos stylu pomocí transformace funkcí". arXiv:1705.08086 [cs.CV ].