Reporting live from San Diego
February 25, 2012 by Andreas

… og så faldt jeg.

I den forløbne uge har jeg brugt en del tid på at se på resultatet af nogle af de algoritme-træninger jeg nævnte i sidste blogindlæg. Nogle fungerer overraskende godt og andre fungerer ikke overhovedet, så jeg skruer på nogle parametre og prøver at få en idé om hvad der fungerer og hvad der ikke gør.

I går var Sayanan (en af de PhD-studerende) og jeg ude at køre i laboratoriets nye Audi A8. I forbindelse med et forskningssamarbejde mellem Audi (som der står lidt mere om her) og blandt andre UCSD har Audi leveret en tricked-out Audi A8 4,2 Quattro til vores laboratorium forsynet med en bunke sensorer: 2 kameraer, 4 LIDARs og 2 radarer hvis jeg husker ret. Det elegante er at det er blevet integreret så grundigt med bilens design, at man ikke den se forskel på den og en almindelig Audi. Hvis ikke det da var for det store Audi Urban Intelligent Assist-logo. Det er muligvis den dyreste bil jeg har kørt i, selvom sådan en militær GD sikkert heller ikke er billig). Efter lidt bøvl med elektronikken kom vi afsted og fik indsamlet ca. en times data. Det betyder at vi har en times video ud af forruden, video af chaufføren og alt outputtet fra de mange sensorer. En god del af videoen kan jeg også bruge til mit projekt.

I dag tog jeg til Santee for at klatre sammen med nogle af medlemmerne i UCSD-klubben. Jeg har købt mig en crash pad (sådan en madras man falder ned på), så den skulle indvies. Vi varmede op med et par lange, men sjove traverser rundt om en sten, der hedder The Carousel – selvfølgelig. Så gik vi over til The 20-Point Boulder, hvor Gunnar (en tysk PhD-studerende i rygsøjleregeneration) har et projekt han arbejder på. Og da vi alle ca. var på det niveau, så gik vi i gang med den. Starten er et par tunge, men overskuelige, travers-bevælgeser til et løjerligt heel-hook man ligesom klatrer rundt om og fortsætter op gennem et skrånende rids til en noget rund udtopning. Jeg fik starten i første forsøg og vi gik over til at øve slutningen. Jeg nåede aldrig rigtig op til udtopningen.

Dovenskaben var så småt begyndt at indfinde sig, så jeg tænkte at jeg da lige kunne give toppen et sidste go. Jeg starter i bunden af ridset matchende et let slopet kant, med en hæl svinget op i ridset til højre for mig. Forsøger at komme op mod venstre langs ridset, klapper venstre hånd om til en dårlig sloper, en tak videre til en lille, men tilstrækkelig god kant. Videre med højre hånd til den dårlige sloper, rykke heel hooket tættere på. Så fik jeg venstre fod op på en lille kant, klappet lidt deperat videre med venstre hånd til en lille, positiv crimp. Derefter kunne jeg dreje i skulderen og nå med højre hånd til en rigtig god kant 40 cm højere oppe. To lette fodbevægelser, og jeg kunne nå næste, lidt dårligere kant med venstre hånd. Et par små justeringer, og jeg var klar til at udtoppe. Og så var klippen ellers bare rund. Jeg fandt nogle små crimps, så jeg kunne justere mine fødder, men uden held. Prøvede at få venstre hæl op i en form for hook, men det virkede heller ikke. Og så faldt jeg.

Så kunne jeg jo passende lige indvie min nye crashpad, der var fantastisk til at opsamle og fordele trykket fra landingen. For den for der landede på crash pad’en, selvfølgelig. Den anden fod valgte i stedet at lande lige til højre for den fine crash pad, måske i et forsøg på høflighed. Det gjorde temmelig nas, så jeg lagde mig lige ned i to minutter. Da jeg havde fået de andre bevist om at jeg altså var i live endnu, konkluderede jeg at havde forstuvet højre fod. Virgillo (han er mexicaner) tapede hurtigt en støtte om anklen, og jeg lå og så de andre klatre færdig. Vi fik båret/hinket mig ud til bilen og vi kørte hjemad. Da jeg kom hjem kunne jeg låne en elastisk forbinding af Vince, så nu ligger jeg her med foden oppe. Så det er temmelig irriterende.

Det føles ikke nær så smertefuldt som min forstuvning i New Zealand gjorde, så det er et godt tegn. Men jeg kommer ikke til at gå på den de næste par dage. Det gør morgendagens planlagte ugentlige indkøbtur en kende besværlig, men jeg har da heldigvis mad til de næste par dage, og ellers kan jeg nok få et lift af Vince. Nå ja, sådan går det jo, det går over, men lige nu er jeg lidt træt af at jeg ikke lod dovenskabe råde og bare havde ladet være med at tage dagens sidste forsøg 🙂

  •   •   •   •   •
February 20, 2012 by Andreas

Projekt

Siden sidst er der ikke sket så meget udover det sædvanlige. Jeg får klatret en masse, og jeg er på uni hver dag. Så ikke mange nye begivenheder på den front. Og så er det jo meget passende at dette indlæg kan handle om mit projekt og hvad jeg egentlig laver når jeg er på uni.

Som bekendt arbejder jeg med detektion af vejskilte. Men lad os lige tage den helt fra bunden. Min specialeretning på AAU hedder “Vision, Graphics, and Interactive Systems” (forkortet VGIS). Jeg har siden jeg startede på den fokuseret mest på computer vision. Computer vision handler populært sagt om at få computere til at se. Man kobler et kamera eller andre sensorer til en computer og prøver at lave noget software, så computeren ved hvad den kigger på og på en eller anden måde kan reagere ud fra det.

På AAU lavede vi i min gruppe på 6. semester et system til at finde og læse hastighedsskilte. Det nævnte jeg da jeg kom herover, og da mit laboratorium herovre arbejder meget med trafiksikkerhed og generel “driver assistance”, var det oplagt at jeg kastede mig over noget med skilte, nu jeg havde prøvet at lege med den slags før. Således blev min opgave skiltedetektion.

Mit fast radial symmetry program finder et stopskilt.

Modsat vores hjerner, der ved hvad alt muligt er – og som oftest også kan ræsonnere over hvad noget er, selvom man ikke umiddelbart ved det – så er computer vision opgaver som regel ret snævre. Det kan være “her er et billede af et ansigt, se om det er nogen du kender”. Det kan også være “her er et billede, se om der er et ansigt på”. De to opgaver kan man så naturligvis koble sammen, så det bliver til “her er et billede, se om der er et ansigt på, og hvis der er, er det så nogen du kender”. Man opstiller altså en ret snæver opgave, og så udvikler man noget der kan løse den. Man kan ikke bare hælde et billede ind i en computer uden nogen kontekst eller opgave tilknyttet.

I mit tilfælde er opgaven altså “her er et billede, se om der er et skilt på og find ud af hvor det er henne”. Jeg skal ikke (i første omgang i hvert fald) læse skiltet, blot finde dem der måtte blive filmet. Skiltedetektion er noget der er blevet forsket en del i, men primært i Europa, Japan og Australien, der alle har skilte der minder om hinanden. Skiltesystemet herovre er noget anderledes, så derfor er det spændende at prøve at lave et system der passer til amerikanske skilte.

Formålet er at lave et system, der ville kunne assistere en chauffør. Det viser sig at folk er rigtig dygtige til at se skilte med hastighedsgrænser på, men meget dårlige til at se skilte der varsler om fodgængerovergange. Så hvis man lige kunne få bilen til at gøre opmærksom på skilte man har en tendens til at overse, så kan man potentielt hæve trafiksikkerheden. Samtidig har laboratoriet herovre udviklet et andet system, der hele tiden kan fortæller hvor chaufføren kigger hen (ikke bare i hvilken retning, men som faktisk kan generere det nøjagtige billede chaufføren til en hver tid ser). Derfor kan man gøre ekstra opmærksom på skilte, som man ved chaufføren ikke har set.

Hvordan griber man så sådan en opgave an? Første skridt er at finde ud af hvordan alle andre har gjort det. Som nævnt har forskningen hidtil været centreret om lande, der følge Wien konventionen, der beskriver hvordan skilte skal se ud i Europa. Faktisk findes der kun to videnskabelige artikler om amerikanske skilte, mod flere end 100 om Wien konvention-skilte. Imidlertid er der selvfølgelig nok en masse metoder fra europæiske skilte man kan bruge på amerikanske, så selvfølgelig har jeg også læst en masse på dem. Det var en opsamling på hvilke metoder der tidligere har været brugt, en såkaldt survey.

Næste skridt er at lave nogle forsøg, enten med (kombinationer af) etablerede metoder, eller med eventuelle geniale idéer jeg selv måtte have fået. Det er den fase jeg er i nu. Min plan er at teste tre algoritmer (for nørderne i publikum: Fast radial symmetry, en Haar-feature boosted cascade og en SVM på HOG-features). Så vil jeg forsøge at finde ud af hvilken der fungerer bedste på de skilte jeg skal finde, og bygge min endelige detektor omkring den.

Samtidig arbejder jeg med en ny idé om at generere syntetisk træningsdata. Det har, så vidt jeg ved, kun to forskergrupper gjort før mig, når det handler om skilte. Sagen er den at to af de tre algoritmer er machine learning-baserede. Hvad er nu det for noget? Jo, hvis jeg ville finde skilte uden machine learning – som vi gjorde på 6. semester – så ville jeg stille en række regler op om hvordan skilte ser ud: Find røde ting i billedet, sorter alle røde ting fra der ikke er runde, se om der er noget hvidt og sort inde i cirklen. Så ville jeg kunne finde skilte på den måde. En anden tilgang er at man ikke selv stiller de her regler op. I stedet kan man hælde 10000 billeder af skilte og 10000 billeder, der ikke indeholder skilte, ind i en snedig algoritme, og så finder computeren helt selv ud af hvad den skal kigge efter. Det er meget fascinerende 🙂

Syntetiske træningsbilleder (et billede, der er et par uger gammelt, programmet er noget bedre nu).

Det har selvfølgelig også sine problemer: Det er ikke super fedt at skulle ud og optage 10000 billeder af skilte. Så hvis jeg i stedet kan sætte en skabelon af et skilt ind i et lille program, som så spytter 10000 billeder ud af hvordan skilte kunne se ud ude i virkeligheden, så kan det måske være ligeså godt. Så udover at teste de tre algoritmer op mod hinanden, så er det også min plan at teste syntetisk træningsdata mod “rigtige billeder”. Alt i alt ser mit projekt sådan her ud:

Oversigt over mit projekt (blokdiagrammer er rare)

Udover ovenstaående skal jeg selvfølgelig også have produceret en rapport om hele molevitten, noget der sikkert ender med at ramme omrking 100 sider, plus/minus det løse. Jeg plejer heldigvis at være ret hurtig til at skrive den slags, så det bekymrer mig ikke så meget (selvom jeg da i hemmelighed håber at den bare materialiserer sig selv hen over de næste par måneder).

Skal jeg lige slynge lidt flere nørd-fraser ud, så er det hele kodet i C++ med OpenCV til billedbehandling og Qt til GUIs. Også så med en smule OpenGL, bare for en god ordens skyld. Jeg har stort set ikke noget Python i mit projekt, hvilket nok vil overraske de fleste, der kender til mine græsgange indenfor programmeringssprog, men mon ikke jeg kan nå at få rådet bod på det. Skulle du ikke have forstået noget som helst af dette afsnit er det helt fint, det er nok faktisk et sundhedstegn.

I løbet af denne weekend (herovre var mandag fridag – Presidents Day) har jeg haft en computer i lab til at stå og træne min AdaBoost/Viola Jones algoritme, så når jeg kommer på uni i morgen bliver det spændende at se om den er færdig og om detektoren duer til noget.

Det må være nok tekniksnak for denne omgang. Jeg magter i hvert fald ikke mere lige nu. Hyg jer derhjemme i kulden 🙂

  •   •   •   •   •
February 9, 2012 by Andreas

Hverdag og besøg

Nå, så skal jeg da love for jeg fik slækket på disciplinen, men her er langt om længe et nyt indlæg. Hvad er der så sket siden sidst? Sidst jeg skrev havde jeg travlt med at skrive artikel, og Joachim var på vej. Jeg tog lørdag og søndag i brug og fik min kladde færdig som lovet. Joachim ankom søndag aften, hvor jeg samlede ham op i lufthavnen. Vi fandt vores lejebil og lagde kursen mod La Jolla. Mandag brugte vi på universitetet, så kunne vi nemlig slå to fluer med ét smæk: Joachim kunne se hvordan der var på sådan et amerikansk universitet, og jeg kunne lægge sidste hånd på min artikel. Den blev næsten færdig, og i hvert fald færdig nok til at jeg kunne lave de sidste ændringer i stille stunder i løbet af ugen, så jeg ikke behøvede komme på uni mere. Så kunne Joachim og jeg i stedet tage på tur.

Super cool abe i San Diego Zoo

De første par dage brugte vi på at se San Diego, hvor vi blandt andet var i zoo. San Diego har angiveligt verdens bedste zoo (jeg har ingen kilder, men det siger alle), så det var på tide at få den set. Den var nu heller ikke så ringe, men jeg må erkende at dyr, i hvert fald i fangenskab, ikke har min helt store interesse. En safari er nok anderledes. Nå, men uanset hvad var det nu helt sikkert besøget værd. Da vi have set San Diego var det på tide at tage på road trip. Vi havde Joshua Tree National Park i kikkerten, for der er rigtig god klatring, især på denne tid af året. På vejen dertil ville vi nu lige slå et smut forbi Slab City og Salvation Mountain, som filmkendere vil kende fra den fremragende film Into The Wild instrueret af Sean Penn.

Salvation Mountain

Salvation Mountain er en form for kunstigt bjerg af halmballer og maling bygget af en nu nogle-og-firs år gammel mand. Det ligger ude i ørkenen, langt væk fra alting, sydøst for Salton Sea. Det er et meget spøjst sted. En kirke kan det vist næppe kaldes, men en form for tempel til Guds ære er ikke helt ved siden af. Man finder en sidevej i “byen” Niland, der egentlig bare er en trailer park, skrumler 3-4 miles ud af den, og så dukker det op langs vejen.

Salvation Mountain

På vej ind passerer man et par skilderhuse med metertykke vægge, der vidner om at stedet her engang har været artilleritestområde for det amerikanske marinekorps. I stil med Christiania har nogle hippier så besat stedet med deres ramponerede autocampere, og nu er det et kunstner- og hippiekollektiv ved navn Slab City. I udkanten af Slab City ligger Salvation Mountain. Rundt om bjerget står en håndfuld gamle biler og traktorer, der også er dekoreret med farvelade og bibelcitater. Går man tættere på kan man enten gå op på bjerget til venstre, eller ind i den flere etager høje dekorerede halmhule han har bygget til højre. Alle steder er der farverigt og ingen rette vinkler, og rundt omkring står små altere med gamle bibeler og andre artefakter.

Salvation Mountain

Salvation Mountain ligger meget langt fra alfarvej, så man kommer kun forbi hvis man har god tid. Har man muligheden er det dog helt sikkert et besøg værd. Det er et virkeligt specielt sted.

På vej derfra blev vi også lige standset i et checkpoint, der formentlig ledte efter illegale mexicanske flygtninge. Vi lignede åbenbart ikke prototypen på dem de ledte efter og blev vinket videre af de Oakley M-frame bærende betjente, efter at have forklaret at vi var danskere på vej til Joshua Tree. Vi kørte videre op til Palm Springs og fortsatte til byen Joshua Tree, hvor vi havde booket et motel.

Skilte ved vores motel i Joshua Tree

Dagen efter to vi ind forbi klatrebiksen Joshua Tree Outfitters, hvor vi lejede en crashpad (sådan en madras man bruger til at falde på når man klatrer) og en guidebog, og efter lidt tips og småsnak om hvor vi fandt de bedste steder at klatre – “you guys need at least a week here to get a proper taste of the bouldering” – lagde vi kursen ind i nationalparken. Vi brugte den første halve dag på at klatre, og da vi ikke havde energi til det mere, vandrede vi en 10 kilometers tur ud til den forladte Lost Horse Mine og tilbage igen.

Sveden busk langs stien til Lost Horse Mine

Joshua Tree var et rigtig fedt sted at klatre, et sted jeg gerne vil på en længere tur til. Til sommer er det planen at Johan kommer på besøg, og vi skal så rejse rundt og klatre den sidste måned jeg er her. Der vil imidlertid være alt, alt for varmt at klatre i Joshua Tree til den tid. Da vi kom tilbage til byen Joshua Tree afleverede vi crashpadden og smuttede ind på den super hyggelige Crossroads Café and Tavern, først til en kop kaffe, og senere vendte vi tilbage og fik afstensmad. Den er spækket med stemning, og jeg er sikker på det er et sted man kan høre mange røverhistorier fra andre klatrere, hvis man tilbringer lidt længere tid i byen. Jeg fik i øvrigt en ganske fremragende lakseburger, og vi nåede igennem hele deres udvalg af fadøl (de har dog kun tre typer), før vi traskede tilbage til motellet.

Postkasser i Wonder Valley (ja, det kalder de den altså)

Dagen efter – lørdag –  kørte vi videre mod Amboy, som jeg også besøgte med min familie hen over julen. Vejen dertil er meget lang og meget lige, og der er aldrig rigtig nogen by, men skurvogne spredt i ørkenen nogle hundrede meter fra vejen. Hvis ikke det var for postkasserne i klynger langs vejen ville man ikke tro der boede nogen. Efter Amboy kørte vi til Barstow og så et meget rodet Route 66 museum, før vi vendte næsen sydpå igen. Inden vi ramte San Diego havde vi et meget vigtigt stop: Stone bryggeriet i Escondido. Sagen er den at jeg har fået en ny yndlingsøl efter at være kommet herover (og det er ellers ikke noget der sker hver dag): Stone’s Arrogant Bastard. Den er absolut fremragende. Læs mere om den på Arrogant Bastard-hjemmesiden. Vi fik en rundvisning på bryggeriet, komplet med gratis prøvesmagning af fire af deres øl. Derefter var vi jo nødt til at købe noget øl, så vi købte en ordentlig 2-liters flaske frisk tappet med Arrogant Bastard og en almindelig flaske Double Bastard til deling. Så kørte vi hjem og fik aftenen til at gå med at drikke det, mens vi så dokumentarfilm om netop Stone bryggeriet. En film der indledes med en bemærkning om at man kun må se den, hvis man til alle tider har en flaske specialøl indenfor rækkevidde. Det havde vi jo heldigvis.

Søndag sov vi længe, tog ud at klatre i Vertical Hold, men havde ellers bare en stille og rolig dag. Joachim skulle nemlig flyve videre til New York meget tidligt mandag morgen for at besøge sin storebror, Kristian. Mange tak for besøget Joachim, det var en super uge.

Siden Joachim forlod San Diego har tingene kørt mere eller mindre som de plejer. Mandag eftermiddag var min artikel 100% færdig, og jeg fik den indsendt. En halv time efter jeg havde gjort det, kom professor Trivedi forbi og spurgte om ikke også jeg lige ville skrive en artikel til en konference (den første, som også er den største og mest omfattende, er til en journal). Med deadline dagen efter. Da så jeg meget træt ud. Vi blev enige om at jeg jo lige kunne sove på det. Så dagen efter startede jeg på min artikel nummer 2 kl. 0900 og efter at have arbejdet hele dagen, kun afbrudt af et kvarters frokost, kunne jeg indsende den kl. 1804. Så gik jeg hjem og sov.

Siden da har jeg haft rimelig almindelige dage, jeg er på uni fra ca. 9 til 18, hvorefter jeg tager til klatring og træner et par timer mandag, tirsdag, torsdag og fredag. Med artiklerne i bakspejlet kan jeg nu koncentrere mig lidt mere om at fremstille noget til mit specialeprojekt. Og ja – jeg har lovet det gang på gang, men nu lover jeg at næste indlæg kommer til at handle om netop mit projekt. Så kan det jo enten betyde at I skal sørge for at læse det, eller sørge for at holde jer væk, afhængig af temperament og tolerence for nørderi 🙂

Jeg vil takke af for nu. Vi er netop i Lyd&Lys på AAU (hvor jeg jo er frivillig lysnørd) officielt blevet booket til dette års Studiestartsfest i Gigantium, så der er et lysshow der skal designes inde i mit hoved. Studiestartsfesten lavede vi i Gigantium for første gang sidste år, og det var en fantastisk oplevelse at få lov at være med til at stable det på benene. Her er en lille video af hvordan det hele løb af stabelen:

Godnat og hav det godt til næste gang 🙂

  •   •   •   •   •