Numerisk analys och datalogi, KTH Tony Lindeberg Lösningar till tentamen i 2D420 Datorseende gk 200 03 08 Allmänt: För de teorifrνagor där svaren pνa uppgifterna direkt stνar att finna i kurslitteraturen ges i dessa lösningar endast referenser till relevanta avsnitt. Uppgift : ffl receptiva fält: sidan 80 i utdraget ur av Coren, Ward och Enns samt föreläsningsanteckningarna Biologiskt seende" respektive Theory of a visual front-end". ffl Voronoidiagram: se föreläsningsanteckningarna Digital geometry" ffl Butterworths högpassfilter: se avsnitt 4.4.2 i Gonzalez och Woods ffl närmaste-tyngdpunkts-klassificering: se föreläsningsanteckningarna Pixelklassificering" ffl förkortningseffekten: se föreläsningsanteckningarna Textur" ffl apparent motion: se föreläsningsanteckningarna Rörelse I" ffl Huffmankodning: se föreläsningsanteckningarna Bildkompression" Uppgift 2: (a) Sammanhängande komponent samt algoritm för att beräkna sνadana: se avsnitt 2.4.2 och 2.4.3 i Gonzalez och Woods samt föreläsningsanteckningarna Digital geometri". (b) Se föreläsningsanteckningarna Fouriertransformen" Uppgift 3: Denna uppgift kan genomföras genom att transformera bilden med en projektiv transformation; som bestäms exempelvis genom att välja ut fyra punkter i bildens hörn och avbilda dessa pνa en rektangel av önskad storlek. När väl koordinattransformationen är bestämd vidtar ett interpolationsförfarande. Detaljer gällande dessa bearbetningssteg beskrivs i (supplementet till) föreläsningsanteckningarna Image formation", se ocksνa exempel.2 pνa sid 3-4 i utdraget ur Hartley och Zissermann. Uppgift 4: Ett lämpligt sätt att reducera känsligheten för belysningsvariationer i detta fall är genom att medelst anpassa en linjär modell log f(x; y) = a + bx + cy som approximerar belysningsvariationerna i logaritmen av bildintensiteten som funktion av bildkoordinaterna (x; y). Koefficienterna a, b och c bestäms lämpligen via
Originalbild Dilation Erosion Slutning Öppning Resultat av morfologiska operationer till uppgift 6(b). 2
minstakvadratanpassning och därefter subtraheras denna funktion frνan logaritmen av originaldata. Klassifikation utförs slutligen pνa den korrigerade signalen, se föreläsningsanteckningarna Pixelklassificering" för ytterligare detaljer. Uppgift 5: Se avsnitt 7.2.2 i G & W, föreläsningsanteckningarna Segmentering, Houghtransformen" samt Laboration 3. Uppgift 6: (a) Gällande skalrumsrepresentation och pyramidrepresentation, se föreläsningsanteckningarna Theory of a visual front-end' samt översiktsartikeln Scalespace: A framework for handling image structures at multiple scales". (b) Gällande definitionerna av de morfologiska operationerna, se avsnitt 8.4. och 8.4.2 i Gonzalez och Woods, samt föreläsningsanteckningarna Representation, morfologi". Resultatet av att applicera de angivna morfologiska operationerna pνa det givna objektet ges i bifogad figur. (c) Gällande stereomatchning, se föreläsningsanteckningarna Stereomatchning". (d) Gällande DCT-baserad bildkompression, se föreläsningsanteckningarna Bildkompression" samt avsnitt 6.5.2 och avsnitt 3.5.3 i Gonzalez och Woods. Uppgift 7: (a) (i) Definiera '( ) = X n= c n e in där 2 [ ß; ß]. Dνa följer '( ) =i( ( sin 2 ) 2( sin )+2sin + sin 2 ) = i (4 sin + 2 sin 2 ) =4isin ( + cos ) Fouriertransformen är rent imaginär eftersom filtret är antisymmetriskt. Grafiskt har denna imaginärdel följande utseende: 3
-3-2 - 2 3 4 2-2 -4 För smνa gäller att '( ) =8i + O( 3 ) och det linjära beteendet kring origo avspeglar att filtret har en deriverande verkan för lνaga frekvenser, medan avtagandet mot noll dνa!±ßavspeglar att filtret helt undertrycker frekvenser nära samplingsgränsen! = ±ß. Den diskreta Fouriertransformen X N ^c(u) = n=0 c n e 2ßiun=N kan (medelst periodisk utvidgning) ses som en sampling av denna funktion med = 2ßu N (ii) Givet koefficienterna i beräkningsmolekylen för filtret, betrakta uttrycket D h (x) =f(x+2h)+2f(x+h)+0f(x) 2f(x h) f(x 2h) och Taylorutveckla. Dνa erhνalles D h (x) =8hf 0 (x)+ 0 3 h3 f 000 (x)+o(h 5 ) Av detta drar vi slutsatsen att filtret approximerar en förstaderivata i x-led multiplicerad med faktorn 8. (iii) Detta filter är resultatet av att applicera följande tvνa filter i kaskad: (; 2; ) och ( ; 0; ) För enhetsnormalisering skall det första binomialfiltret divideras med 4, och det andra differensfiltret med 2. Produkten av dessa normaliseringskonstanter syns i form av faktorn 8 i derivate-estimeringen i uppgift (ii) samt lutningen 8 i origo i uppgift (i). 4
(b) Lνat x beteckna bildkoordinater, samt lνat f vara en indikatorfunktion sνa att f(x) = i omrνadet och f(x) = 0 utanför. Dνa definieras den normaliserade spatiala momentdeskriptorns M enligt. N = där μx är omrνadets tyngdpunkt R x2r 2 (x μx)(x μx) T f(x) dx R x2r 2 f(x) dx μx = R x2r 2 xf(x)dx R x2r 2 f(x) dx Detta objekt är symmetriskt, tyngdpunktens läge är uppenbart. Vi kan därför välja att förlägga koordinatsystemet med origo i tyngdpunkten sνa att μx =0. För att beräkna komponenterna i matris N, lνat oss först beräkna: M = m20 m Z(x;x2)2R2 x = 2 xx2 m m02 xx2 x 2 f(x) dx där respektive komponent iintegralen evalueras till: Z Z =2 Z 2 Z =2 m20 = x = 2 x 2 = 3=2 x2 dx dx2 + x = 2 x 2 = =2 x2 dx dx2 Z 2 Z 3=2 + x = x 2 ==2 x2 dx dx2 = 7 3 + 6 3 + 7 3 =0 Z Z =2 Z 2 Z =2 m = x = 2 x 2 = 3=2 x x2 dx dx2 + x = 2 x 2 = =2 x x2 dx dx2 Z 2 Z 3=2 + x = x 2 ==2 x x2 dx dx2 = 3 2 +0+3 2 =3 Z Z =2 Z 2 Z =2 m02 = x = 2 x 2 = 3=2 x2 2 dx dx2 + x = 2 x 2 = =2 x2 2 dx dx2 Z 2 Z 3=2 + x = x 2 ==2 x2 2 dx dx2 = 3 2 + 6 + 3 2 = 7 3 Efter normalisering med objektets massa Z Z =2 Z 2 Z =2 m00 = x = 2 x 2 = 3=2 dx dx2 + x = 2 x 2 = =2 dx dx2 Z 2 Z 3=2 + x = x 2 ==2 dx dx2 =+4+=6 5
följer därefter att n20 = m 20 m00 = 0 6 n = m m00 = 3 6 n02 = m 02 m00 = 7 8 Givet denna spatiala andramomentsdeskriptor N, ges motsvarande ellipsapproximation av (x μx)n (x μx) =C där C är en obestämd konstant. Med tyngdpunkten μx i origo, och med utnyttjande av att N = n20 n = n n02 n20n02 n 2 n02 n n n20 kan det explicita uttrycket för denna ellipsapproximation skrivas x 2 n20 2n xx2 + x2 2 n20n02 n02 = C n2 n20n02 vilket med de angivna värdena pνa n20, n och n02 samt C =4antar formen 2x 2 54xx2 +90x 2 2=86 Figuren nedan visar formen hos denna ellips 4 2 0-2 -4-4 -2 0 2 4 (c) Inför ett världskoordinatsystem med Z-axeln horisontellt riktad framνat, X- axeln horisontellt riktad νat sidan och Y -axeln vertikalt riktad uppνat. En robot som rör sig pνa ett plant golv har tre frihetsgrader; translation med hastighet U i X-riktningen, translation med hastighet V i Z-riktningen, 6
samt rotation med rotationsvektor! kring Y -axeln. Dνa kan rörelsen hos punkter relativt roboten skrivas 0 @ _ X _Y _Z 0 A = @ u 0 v 0 A @ 0! 0 0 A @ X Y Z 0 A = @ U +!Z 0 V!X Med kameran är monterad rakt framνat med optiska axeln parallell med Z-axeln samt horisontellt riktad x-axel parallell med X-axel, och vertikalt riktad y-axel parallell med Y -axeln kan ekvationerna för perspektivavbildningen skrivas x f = X Z ; y f = Y Z Derivering av dessa relationer kombinerat med de explicita uttrycken för _X, _ Y respektive _Z ger _x = Z _X X _Z f Z 2 _y = Z Y _ Y _Z f Z 2 Z(U +!Z) X(V!X) = Z 2 0 Y (V!X) = Z 2 vilket med användning av ekvationerna för perspektivavbildningen kan skrivas om pνa formen _x f = U Z! + x f _y f = y f V Z! xy f 2 V x2 Z! f 2 Dessa uttryck ger det generella utseende pνarörelsefältet för en translaterande och roterande robot pνa ett plant horisontellt golv. I fallet ren translation med! = 0 reduceras uttrycken till _x f = U Z + x f _y V = y f f Z där punkter i bildplanet parametriseras av (x; y) medan punkter i världen parametriseras enligt (X; h; Z). Av det senare följer enligt ekvationerna för perspektivavbildningen att y f = h Z vilket ger följande relation mellan y och Z (som pga villkoret Z > 0gäller endast dνa y<0) = y Z fh 7 V Z A
Efter insättning i rörelse-ekvationerna ovan fνar vi att rörelsefältet (_x; _y) i bildpunkter (x; y) med y<0 ges av _x y = U V f h f h _y = V y 2 f h f 2 Dessa relationer innebär att rörelsefältet beskrivs av ett andragradspolynom. En rättfram metod för hinderdetektion bestνar sνaledes i att anpassa en polynom-modell till ett uppmätt rörelsefält, och därefter detektera hinder genom att detektera avvikelser mellan modellen och det faktiska rörelsefältet. xy f 2 Kommentarer: Som framgνar av ekvationerna är formen pνa rörelsefältet beroende av objektens höjd relativt kameran, varför hinder med avvikande höjd kan förväntas ge upphov till variationer i rörelsefältet. Gällande modellanpassningen är det vara värt att notera att koefficienterna för tre monom skall bestämmas (monomen y, xy och y 2 ). I det allmänna fallet svarar detta mot tre obestämda koefficienter; här är dock tvνa av dessa koefficienter lika vilket förenklar förfarandet. Bestämning av dessa tvνa koefficienter innebär i praktiken att vi bestämmer robotens hastighet (U; V ) relativt omgivningen. 8