Pienemmän verkon kanssa liikkeellä

Neural-stylen ydin on valmiiksi koulutettu neuroverkko, joka on opetettu suurella joukolla kuvia tunnistamaan kuvista esineitä ja hahmoja. Neural-stylen oletusneuroverkko, VGG19, on hyvin tehokas tunnistamaan kuvista piirteitä. Neural-stylessä käytettynä sillä on helppo tuottaa hyvälaatuisia kuvia jotka kätevästi mukautuvat tyylimallin piirteisiin. Haittana on vain suuri muistintarve. 8GB muistilla ei pääse kuin noin 720px levyisiin kuviin.

Neural-styleen voi ladata haluamansa neuroverkon, tietyin teknisin rajoituksin. Kokeilin verkkoa nimeltä nin-imagenet-conv, ja sain tehtyä 1280px leveän kuvan ylittämättä 4GB muistintarvetta. Kuvan laatu ei kuitenkaan vastannut odotuksia enkä tyylinkään seuraamisessa oikein onnistunut. Annoin jo melkein periksi, kun lopulta aloin saada kelvollisia tuloksia. Nin-imagenet-conv on erilainen, muttei huono. Se ei ehkä ole paras vaihtoehto alkaa kopioida maalausten tyyliä, mutta se voi olla hyvä työkalua oman tyylin etsimisessä.

Kokeilin tämän neuroverkon käyttöä helsinkiläiseen webbikamerakuvaan lainaten tyylin Lyonel Feiningerin maalauksesta:

kauppatori-nin-feininger

Kuten yleensä, kiinnostuin nytkin iteraatioketjun välivaiheista. Ne ovat usein kiinnostavia, niissä on luovaa kauneutta ja niistä voi koota mielenkiintoisia animaatioita, kuten seuraavassa videossa jossa lähtökuvan abstraktit muodot vähitellen taipuvat ja hahmottuvat Helsingin Kauppatorin näkymäksi.

Seuraavaksi muokkaa kuvaa useassa vaiheessa lähtökohtana viime syksynä ottamani valokuva.

DSC01350

Tyylikuvaksi otan itse Processing-skriptillä luomani kuvan, jossa webbikamerakuva on muunnettu harmaiksi pystyraidoiksi.

Tanssi

Kun nämä kaksi kuvaa yhdistetään sopivasti, saadaan tämä:

nin_tanssi_1350_r03h3_1000

Tämähän voisi jo olla kiva, mutta jospa kuitenkin lisätään vähän väriä. Sitä toki saisi käyttämällä mallina alkuperäistä valokuvaa, mutta sen sijaan käytänkin seuraavaa kuvaa jonka loin em. valokuvasta Processing-skriptin ja neuroverkon yhteistyöllä.

nin_canvas_1350_r023h2_200

Lopputulos, jossa harmaat raidat yhdistyvät tyyliteltyyn syysnäkymään, on tällainen. Jos se ei ole sitä mitä olin hakemassa, voin jatkaa etsimistä. Tähän mennessä olen käyttänyt useita valokuvia, Processing-skriptejä ja neuroverkkoajoja. Jokaisessa vaiheessa on paljon valinnan varaa kuvien ja parametrien arvojen valinnassa.

metsa_takaisin_1150

Lisäksi voin edelleenkin seurata neural-stylen tuottamia välituloksia, ja jos pidän jostain niistä, niin sehän on sitten siinä. Ei tarvitse jatkaa 2000 iteraatioon asti, joskus voi jo 50 iteraation kohdalla saada vaikkapa tällaisen:

metsa_takaisin2_50

Linkkejä:

Neural-style: https://github.com/jcjohnson/neural-style

Nin-imagenet-conv: https://gist.github.com/mavenlin/d802a5849de39225bcc6

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *