Neurokuvatreenit, harj 4

Tähän astisissa harjoituksissa olemme luoneet pikselikuvan, mitanneet sen samankaltaisuutta tavoitteeseen, ja ohjanneet tämän poikkeaman avulla kuvaa kohti tavoitetta. Kuva on koko ajan ollut pikselimuotoinen RGB-kuva, olemme siis ohjanneet suoraan kuvan pikseleitä. Tässä harjoituksessa kuva syntyy aivan toisella tavalla, niinkin erikoisella ettei se ole mitenkään kovin yleinen. Kun aloin tehdä näitä …

Continue reading

Neurokuvatreenit, harj 3

Tähänastisissa harjoituksissa olemme antaneet kuvan kehittyä vertaamalla sitä pikseli pikseliltä tavoitteeseen. Malli näyttää toimivan, mutta yleisemmin siinä on se ongelma, että tämä malli ei oikeasti mittaa samankaltaisuutta. Ei tarvitse kuin siirtää pikseleitä hieman sivuun, ja malli arvioi kuvan ihan erilaiseksi, vaikka se todellisuudessa näyttää ihan samalta. Pikselikohtainen virhe on silti …

Continue reading

Neurokuvatreenit -mistä on kysymys

Neurokuvatreenien idea on valottaa kuinka neuroverkkojen ja syväoppimisen pohjalta voidaan käsitellä ja luoda kuvia aivan uudella tavalla. Lähestymistapa käytännönläheinen, käydään suoraan asiaan, edetään yksinkertaisesta mutkikkaampaan, käyttäen samoja palikoita uudelleen ja tarpeen mukaan ottamalla mukaan uutta. Keskiössä on kuva ja kuvanteko. Ei lähdetä ensin käymään läpi neuroverkkojen perusteita, ei myöskään pythonohjelmointia. …

Continue reading

Neurokuvatreenit -kirjastoja

KESKENERÄINEN Tässä esitellään lyhyesti koodissa käyttämiämme kirjasto-ohjelmia. Moni on sanonut, ettei oikein ole perehtynyt tuohon pythoniin. Itse asiassa useinkaan kyse ei ole pythonin vaikeudesta, vaan käytettyjen kirjasto-ohjelmien piirteistä, jotka taas juontuvat siitä että niitä käytetään mutkikkaiden asioiden tekemiseen. PYTORCH Pythonissa itsessään ei ole tukea moniulotteisen datan käsittelylle eikä GPU-laskennalle. Moniulotteinen …

Continue reading

Neurokuvatreenit, harj 2+

Vaikka käsittelemme kuvantekoa ja käsittelyä neuroverkoilla, suuri osa kehittelystä ja koodaustyöstä liittyy muuhun kuin itse algoritmiin. Edellisessä artikkelissa jo törmäsimme mm. siihen, miten joudutaan muuntamaan kuvia eri esitystapojen välillä (esim. 0..1 pikselikuvista -1..1 tensoreiksi), kun haluamme ja on järkevääkin käyttää valmiita kirjastoja. Tähänastisten skriptien varmaankin suurin käytännön ongelma on se …

Continue reading

Neurokuvatreenit, harj 2

Ensimmäisessä osassa tutustuimme kuvan luomiseen tavoitefunktion avulla, siitä syntyi vihreä neliö. Alustimme uuden kuvan satunnaisesti ja tavoitekuvan taas alustimme pelkästään vihreillä pikseleillä. Annoimme sitten koulutusprosessin mitata eroa tavoitteeseen nähden ja sen avulla ohjasimme pikseleiden arvot kohti tavoitetta. Tässä ei toki tapahtunut vielä mitään uutta tai hyödyllistä, saimme kopion vihreästä neliöstä. …

Continue reading

Neurokuvatreenit, harjoitus 1

Näissä treeneissä tutustutaan neuroverkkopohjaiseen kuvankäsittelyyn, tehdään tai muutetaan pikselikuvia uudella tavalla, ikäänkuin ohjaamalla kuvaa itseään, sen jokaista pikseliä, kohti haluttua lopputulosta, sen sijaan että kirjoitettaisiin koodia joka lukee ja muuttaa itse pikseleitä. Tässä ensimmäisessä osassa ei vielä käytetä edes neuroverkkoakaan. Kokeillaan vain, mitä kuvan ohjaaminen kohti tavoitetta käytännössä tarkoittaa. Periaate …

Continue reading