Miten pakkaat Mona Lisan tekstiviestiin?

Kirjoittaja Sami, 22.5.2009

Mona Tweeta

Mario Klingemann on kehittänyt menetelmän, jolla yhteen Twitter-postaukseen (140 merkkiä, hieman pienempi kuin tekstiviesti) saadaan mahtumaan kokonainen kuva. Tietenkään kuva ei ole aivan alkuperäisen veroinen, mutta yllättävän näköinen kuitenkin. Yllä näkyy alkuperäinen Mona Lisa ja sama 140 merkkiin puristettuna.

Miten tämä onnistuu? Ensinnäkin käyttämällä kiinalaisia merkkejä, käyttöön tulee enemmän bittejä merkkiä kohti ja käytettävissä on 210 tavun verran bittejä. Tähän mahtuu tietoa 61 kuvassa sijaitsevasta pisteestä ja kahdeksasta kuvassa käytetystä pääväristä sekä kullekin pisteelle ja päävärille niiden tarkemmasta sävystä. Pisteiden ympärille piirretystä voronoi-diagrammista muodostuu yllä nähdyn kaltainen kuva.

Kuva pakataan geneettisen algoritmin avulla, eli alkuperäiseen kuvaan ripotellaan 61 pistettä sattumanvaraisiin paikkoihin ja katsotaan miten paljon tuloksena saatu voronoi-diagrammi muistuttaa alkuperäistä kuvaa. Sen jälkeen pisteiden paikkoja muutellaan hieman satunnaisesti (mutaatio) ja katsotaan tuliko lopputuloksena enemmän vai vähemmän kuvaa muistuttava muunnos. Huonot muunnokset unohdetaan, mutta hyvien muunnoksien kanssa tehdään jälleen uusi mutaatio. Kun tätä toistetaan parin minuutin ajan (tuhansia sukupolvia), päästään hyviin lopputuloksiin.

Klikkaamalla kuvaa pääset lukemaan Klingemannin alkuperäisen kertomuksen, lisää yksityiskohtia sekä sitä miten hän on optimoinut geneettistä algoritmia lisäämällä siihen pariutuvia mutaatioita.

PS. Kannattaa lukea myös kuvan Flickr-sivulla olevat kommentit. Kuvasta generoidut kiinankieliset merkithän sisältävät kuvadataa eivätkä siis itsessään tarkoita mitään. Eräs lukija syötti kuitenkin Mona Lisasta tehdyn tekstin Google-kääntäjään ja sai niistä aikaiseksi mielenkiintoisen runon.

    Jutussa “Miten pakkaat Mona Lisan tekstiviestiin?” on yksi kommentti:

Kirjoita kommentti


Tämä linkki on ansa roskapostittajille.