Tekoäly kuvanteossa 2023

Vilkaisu uhkien ja mahdollisuuksien taakse Tekoälypohjaista kuvantekoa kohtaan esiintyy nyt paljon kritiikkiä. Vahvasti esillä on kysymys kuvien luvattomasta käytöstä koulutusaineistona, mitä pidetään syynä siihen että yksittäisen taitelijan tyylin jäljittely on tullut helpoksi. Toisaalta samalla voidaan tekoälyä myös vähätellä, luonnehtimalla se ”pelkäksi matematiikaksi”. Lähdetään liikkeelle tästä jälkimmäisestä väitteestä. Matematiikan pohjalle neuroverkot …

Continue reading

Kuvan käsittely pythonilla, osa 2

Kokeillaan tällä kertaa maskien käyttöä. Maski on harmaasävykuva, jolla voidaan rajata kuvista mielivaltaisia alueita. Käytän tässä maskina tätä kuvaa. Huomaa, että maskin ei tarvitse olla joko/tai, vaan sävyjen avulla voidaan myös tehdä esim. pehmeitä siirtymiä kuvasta toiseen. Luetaan tuo maski ja muunnetaan se tällä kertaa liukuluvuiksi välillä 0..1. Muutenkin tehdään …

Continue reading

Kuvien käsittely pythonilla, osa 1

Neurokuvatreenien yhteydessä nousee yhtenään esille, että siinä on kyseessä uusi paradigma käsitellä ja generoida kuvia. Tässä sarjassa katsotaan sitä ”vanhaa” mallia, jossa käydään suoraan käsiksi kuvan pikseleihin, jota kaiken aikaa tarvitaan myös neurokuvanteossa. Käytännössä melkeinpä enemmän näitä kuin sitä syväoppimista. Käytämme python-ohjelmointikieltä ja opencv-kirjastoa. Kuten neurokuvatreenit, tämäkään ei ole pythonin …

Continue reading

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