« Rättviseförmedlingens pressbild del två: Mosaiken tar form
Rättviseförmedlingens pressbild del tre: Tio gånger bättre!
8 March 2011
Nu har jag gått igenom hur vi fick tag på 5000 profilbilder och hur vi skapade mosaiken och jag trodde det fick räcka så. Men så fick jag en utmaning.
Min gode vän Martin Persson, som doktorerar i fysik (biofotonik) och bygger pincetter bestående av laserstrålar med vilka man kan flytta molekyler, och program som använder grafikkortet för att generera hologram för att styra sagda pincetter, hörde av sig och föreslog en förbättrad algoritm för att göra en bättre mosaik. Sånt här får man räkna med när man fuskar med programmering, rätt vad det är kommer det någon som kan matematik på riktigt och slår en på fingrarna.
Det var bara att bita ihop och bygga ett nytt program. Martin, som vanligtvis publicerar papper med hög imponansfaktor på GU, kom till stan i fredags och tog med sig några bärs till vårt kontor (snyggt va - det går att hyra också!). Perfekt fredagsöl - gott sällskap och en rolig utmaning! Martin sa att vi skulle använda något som heter Monte Carlo-metoden (som uppfanns under Manhattanprojektet) och simulated annealing, men försäkrade att det inte var så svårt. Med hjälp av metoden color_distance som vi skapade för att räkna ut färgskillnaden mellan en punkt och en profilbild i den förra versionen av programmet, skulle vi kunna räkna ut den totala summan av skillnaderna mellan varje profilbild respektive punkt. Vi skulle alltså ta profilbilder och punkter i vilken ordning som helst, räkna ut skillnaden mellan varje och summera dem:
På så sätt fick vi en initial_solution, en utgångspunkt. Vårt angreppssätt var nu ganska enkelt: Välj två profilbilder, vilka som helst, och testa att byta plats på dem. Om den sammanlagda färgskillnaden mellan profilbilderna och pixlarna på deras nya position är mindre än tidigare, behöll vi den nya positionen. Annars flyttade vi tillbaka dem. Sedan började vi om med två nya profilbilder:
Det här gjorde vi massor av gånger. I våra tester kom vi fram till att bilden slutade förbättras anmärkningsvärt efter mellan en och två miljoner iterationer. Då var det dags att spara bilden:
När vi var klara med det här föreslog jag att vi skulle göra ytterligare en förbättring. Istället för att bara titta på en färg per profilbild, skulle man inte kunna dela upp den i fyra, och försöka passa in varje profilbild på det ställe där alla fyra delar passade bäst in? Då skulle hörnen på flera bilder kunna bilda en sned linje, till exempel. Då hade vi fått i oss ett par öl och det blev svårare att tänka, men efter fyra timmars slit hade vi den här, fantastiska bilden:
Klicka på bilden för att ladda ner den i full storlek (24MB). Varsågoda, Rättviseförmedlingen! Slit den med hälsan! Slutligen en jämförelse, sida vid sida: Så här mycket bättre blir det om man slutför sina KTH-studier:
Kom ihåg det! Stanna i skolan (eller skaffa smarta vänner som gör det).
Related tags: Martin Persson, Monte Carlo, mosaik, Rättviseförmedlingen, simulated annealing

Comments
1 professional resume says...
Cool. That is some pretty good work. Every detail is so sharp.
Posted at 1:37 p.m. on January 19, 2012
2 transcription company says...
The contrast on the second picture is too high.
Posted at 5:44 p.m. on January 21, 2012
3 cheap research papers says...
Not until they finish their 200 meters project in a few days.
Posted at 5:34 p.m. on March 8, 2012
4 my essay says...
If it were made by you, not by a programm written by you, it would worth something.
Posted at 11:02 a.m. on April 13, 2012
5 photography essay says...
När vi var klara med det här föreslog jag att vi skulle göra ytterligare en förbättring. Istället för att bara titta på en färg per profilbild, skulle man inte kunna dela upp den i fyra, och försöka passa in varje profilbild på det ställe där alla fyra delar passade bäst in? Då skulle hörnen på flera bilder kunna bilda en sned linje, till exempel.
Posted at 9:29 a.m. on May 15, 2012