Artificiell Intelligens, KV, 5p
Laboration 2 – Projektrapport
Umeå Universitet
19 oktober 2004
DATORBASERAD PERCEPTION
- extrahering av tre-dimensionell information
Gruppmedlemmar:
Fredrik Johansson (dit02fjs@cs.umu.se)
Mathias Bergmark (dit02mbk@cs.umu.se)
Handledare:
Therese Edvall (dva99tel@cs.umu.se)
Daniel Ölvebrink (dano@cs.umu.se)
Kursansvarig:
Christina Olsén
Artificiell Intelligens, KV, 5p
Laboration 2 – Projektrapport
Umeå Universitet
19 oktober 2004
Abstract
The intention of this report is to discuss and present the basic structures of perception
within the area of computer vision and especially the process of extracting threedimensional information from two-dimensional images. This process enables the
interactive agent to recognize objects in the real world and thereby be able to interact
with them. There are five well-known methods for doing this. These five different
methods are: Shape from Motion, Binocular stereopsis, Texture gradients, Shading and
contour. These methods complete each other and the results are combined to achieve
correct representation of the real world.
Sammanfattning
Denna rapport diskuterar och presenterar grunderna till perception inom området
datorseende och då främst processen för att ta fram tre-dimensionell information från
två-dimensionella bilder. Denna process är viktig för en interaktiv agent som måste
kunna känna igen och interagera med objekt i den riktiga världen. Det finns fem olika
metoder för att utföra denna process. Dessa fem metoder är: Motion, binocular
stereopsis, texture gradients, shading and contour. Metoderna kompletterar varandra bra
och resultaten kombineras för att få en korrekt representation av den verkliga världen.
2
Artificiell Intelligens, KV, 5p
Laboration 2 – Projektrapport
Umeå Universitet
19 oktober 2004
Innehållsförteckning
1. Introduktion & Bakgrund ................................................................ sida
2. Syfte ............................................................................................... sida
3. Metodbeskrivning ........................................................................... sida
4. Resultat .......................................................................................... sida
4.1 Frågeställning 1 ............................................................................. sida
4.2 Frågeställning 2 ............................................................................. sida
4.2.1 Process av visuella signaler ........................................................ sida
4.2.2 Object recognition ..................................................................... sida
4.2.3 Metoder för att erhålla tre-dimensionell information....................... sida
4.2.3.1 Motion ................................................................................ sida
4.2.3.2 Binocular Stereopsis ............................................................ sida
4.2.3.3 Texture .............................................................................. sida
4.2.3.4 Contour .............................................................................. sida
4.2.3.5 Shading .............................................................................. sida
5. Diskussion ...................................................................................... sida
6. Referenser ..................................................................................... sida
4
4
4
5
5
5
5
5-6
6
6-7
7-8
8
8-9
9
10
10
Bilaga:
1. Tentamensfråga + Svar
3
Artificiell Intelligens, KV, 5p
Laboration 2 – Projektrapport
Umeå Universitet
19 oktober 2004
1. Introduktion / Bakgrund:
Ordet perception har en vid bemärkelse. Perception sträcker sig från hur vi människor
ser och tolkar de intryck som vi dagligen utsätts för till den psykologiska biten där den
enskilde individens psykologiska profil har en stor roll i hur omvärlden tolkas. När man
talar om datorbaserad perception, där en intelligent agent 1 ska erhålla en representation
av omvärlden, måste ordet perception omdefineras. Även om en agent kan utrustas med
sensorer som liknar människans så är informationen väldigt svår att tolka och överföra
till en klar bild av omvärlden. Den datorbaserade visuella perceptionen fungerar så att
sensorer konverterar den tre-dimensionella världen till en två-dimensionell bild. För att
kunna hitta och känna igen objekt i världen måste sedan agenten extrahera tredimensionell information från den två-dimensionella bilden. Det är problemet med att
omvandla den 2-dimensionella bilden till en representativ modell av den verkliga världen
byggd på 3-dimensionell information som kommer att behandlas i denna rapport.
2. Syfte
Syftet med denna rapport är att genom litteraturstudier, främst från kapitlet perception i
boken ”Artificial Intelligence – A Modern Approach” ge svar på nedanstående
frågeställningar:

Varför är tre-dimensionell information viktigt för en visuell styrd agent vars
uppgift är att interagera med objekt i den verkliga världen.

Vilka är de tekniker som används för att ta fram tre-dimensionell information ur
ett två-dimensionellt input.
Svaren på dessa frågeställningar ska sedan presenteras på ett vetenskapligt sätt. För att
ge övriga kursdeltagre insikt i ämnet ska även resultaten redovisas på ett så pedagogisk
sätt som möjligt.
3. Metodbeskrivning
Materialet i denna rapport kommer huvudsakligen från litteraturstudier och webbaserad
litteratursökning. Den litteratur som har studerats har behandlat ämnen såsom Artificiell
Intelligens och perception. Denna rapport behandlar ämnet datorbaserad perception och
fördjupningen ligger på extraktion av tre-dimensionell information. Många studier har
gjorts om detta ”problem” och vedertagna tekniker är väldokumenterade. Många av
dessa studier utfördes under den period när forskningen kring AI hade stora anslag, det
vill säga under det tidiga 80-talet. Så för att ge vissa förbehållningar om huruvida
materialet är ”up-to-date” meddelar vi härmed detta. Eftersom syftet med denna rapport
är att ge en överskådlig och pedagogisk inblick i ämnet har komplexa matematiska
härledningar inte diskuterats.
1
En Agent är något som agerar, från Latinska ordet Agere = att göra
4
Artificiell Intelligens, KV, 5p
Laboration 2 – Projektrapport
Umeå Universitet
19 oktober 2004
4. Resultat
4.1 – Frågeställning 1
”Varför är tre-dimensionell information viktigt för en visuell styrd agent vars
uppgift är att interagera med objekt i den verkliga världen”.
Det som ger agenten information om världen är dess perceptionsförmåga. Det är
sensorer som gör det möjligt att förändra agentens tillstånd utifrån omvärldens
förändringar. De sensorer som agenter delar med oss människor är syn, hörsel och
känsel. Den förstnämnda av dessa är utgångspunkten för detta projekt.
När man pratar om visuellt styrda interagerande agenter är omvandligen från agentens
två-dimensionell input till tre-dimensionell information en mycket viktig del. Svaret på
varför den tre-dimensionella informationen är viktigt för dessa agenter är enkel,
agenterna lever i den verkliga världen och inte i bildens två-dimensionella plan. Den tredimensionella informationen krävs för att agenterna ska kunna känna igen objekt och
interagera med dessa, men även för att kunna hitta vägar, undvika hinder och beräkna
sin egen hastighet och orientering. De flesta agenter behöver dock bara en begränsad
representation av vissa delar av den tre-dimensionella verkligheten, sådana som är
viktiga för just den uppgift agenten har. En stor del av informationen som kommer in är
egentligen onödig, så det krävs att den viktiga informationen kan filtreras ut.
4.2 – Frågeställning 2
”Vilka tekniker används för att ta fram tre-dimensionell information ur ett tvådimensionellt input”
4.2.1 Process av visuella signaler:
Att erhålla information för agenter via ett visuellt sinne är en process som delas in i fyra
olika sekventiella operationer. Operationerna medför en stigande komplexitet under
processens gång. De fyra operationerna är:
1. Processering av inkommande signaler.
2. Analys av bilden för att fastslå den två dimensionella omfattningen hos ett objekt i
bilden.
3. Objektet som erhålls från föregående analys kategoriseras .
4. Objekten som i tidigare operation kategoriserades används här för att bygga upp
en tre-dimensionell modell/representation av verkligheten, en sk ” scene”.
Det är viktigt att tänka sig denna representation som en sk scene eftersom en agent ska
befinna sig i en verklighet och inte i ett bildplan. Meningen är att agenter skall kunna,
med hjälp av ett visuellt sinne, interagera med objekt i den ”verkliga” miljö som den
befinner sig i.
4.2.2 Object recognition:
För att en agent skall kunna påverka sin omgivning eller erhålla information utifrån den
krävs det någon form av input. Med hjälp av ett visuellt sinne kan object recognition
utföras. Detta är en process som gör det möjligt för agenten att ta ut information från ett
objekt och sedan utifrån denna information identifiera det. Detta sker genom att ta ut
5
Artificiell Intelligens, KV, 5p
Laboration 2 – Projektrapport
Umeå Universitet
19 oktober 2004
kriterier, som tex kanter i ett objekt. Agenten försöker sedan finna ett objekt i en
minnesbas, som redan är känt och passar in på dessa kriterier. På så sätt kan agenten
fastslå vad det är för objekt. Object recognition innehåller tre steg:
1. Utifrån en scene lokalisera enskilda objekt
2. Identifiera positionen samt riktningen (sk pose) av varje objekt utifrån agenten.
3. Identifiera formen för varje enskilt objekt.
Att finna den sk pose på ett specifikt objekt är betydelsefullt för uppgifter då agenten
skall interagera/navigera med/till objektet.
Svårigheten med object recognition ligger i det faktum att finna representationer som
kan passa till den otroliga mångfald av objekt som världen har att erbjuda. Objekt
uppbyggda av enkla former, såsom koner eller cylindrar blir enkelt igenkända, men det
är inte bara de geometriska aspekterna som är relevanta för object recognition.
Tillsammans med den geometriska formen är färg samt textur betydande information för
att identifiera objekt.
4.2.3 Metoder för att erhålla tre-dimensionell information:
Ur den information som erhålls från visuella sensorer finns det många olika ledtrådar som
gör det möjligt att erhålla tre-dimensionell information. Ledtrådarna eller metoderna är:





Motion
Binocular stereopsis
Texture
Shading
Contour
4.2.3.1 Motion (Rörelse)
Det som diskuterats under rubriken Object recognition ovan behandlar bara en bild i
taget. En kamera tar 30 frames2, vilket gör att man kan få ut viktig information
innehållande de skillnader som finns mellan dessa bilder. Om man nu använder sig av en
kamera för att ta in information från verkligheten, som sedan skapar ”scenen”, kan man
erhålla viktig information angående objekten.
Optical Flow:
Här observeras ett objekt i scenen. Skillnaderna i bilderna gör att agenten kan beräkna avståndet till objektet 3
2
3
Frame = Antal bilder på ett tidsintervall av 1 sekund
Artificial Intelligence – A Modern Approach, Second Edition, Stuart Russel, Peter Norvig,
6
Artificiell Intelligens, KV, 5p
Laboration 2 – Projektrapport
Umeå Universitet
19 oktober 2004
Optical flow beskriver riktningen samt rörelsehastigheten av dessa objekt i scenen, som
då är ett resultat av rörelsen mellan åskådaren (kameran) och scenen.
Riktningen och rörelsehastigheten är två så kallade Optical-flow-vektorer. Det krävs en
hel del beräkningar för att erhålla dessa storheter. Innan man kan utföra dessa
beräkningar krävs det att man kan finna punkter i den andra bilden som finns
representerade i den första. När man väl hittat ekvavilenta element i de båda bilderna
kan beräkningar utföras som resulterar i de två vektorerna.
Denna metod ger alltså agenten information om objektets hastighet och riktning, men
ger också information om avståndet till objeket. Detta eftersom mer avlägsna objekt
förflyttar sig långsammare än mer närstående.
4.2.3.2 Binocular stereopsis (Binokulär stereopsis)
En annan metod för att ta fram tre-dimensionell information från en två-dimensionell bild
är att binocular stereopsis, vilket bygger på samma teknik som människans synsinne.
Metoden använder sig alltså av två inputkällor, vilka är separerade i rummet för att
erhålla ytterligare information utifrån samma scene. Denna metod liknar tekniken för att
erhålla Optical-flow-vektorer. Båda metoderna kräver att två bilder kombineras så att
skillnaderna mellan dessa utmärker sig. Skillnaden mellan metoderna är att Binocular
Steropsis använder sig av bilder tagna på olika platser i rummet, och inte i tiden. Detta
medför att man med hjälp av en triangulering mellan inputkällorna och objektet kan
beräkna avståndet till objektet.
Tanken med stereopsis är att olika kamerapositioner resulterar i en något annan två-dimensionell bild av
samma tre-dimensionella verklighet4.
4
Artificial Intelligence – A Modern Approach, Second Edition, Stuart Russel, Peter Norvig,
7
Artificiell Intelligens, KV, 5p
Laboration 2 – Projektrapport
Umeå Universitet
19 oktober 2004
Baseline kallas den längd som finns mellan input källorna. Hos människor är denna cirka
6 cm, dvs längden mellan ögonen. Med vetskapen om denna längd samt att man kan
rikta sensorer mot ett objekt så kan man beräkna avstånd. Om man inte har förmågan
att vinkla sensorerna mot ett objekt så mister man denna förmåga. Man erhåller inte
några skillnader mellan input bilderna. I dessa fall kan alltså det inte dras några
slutsatser angående avstånd till objekt.
Riktningen av inputkällorna gör det möjligt att bilda en fokuspunkt. Om man drar
tangenter utifrån sensorernas riktning så korsar dessa till slut varandra, vilket alltså
resulterar i denna fokuspunkt. Denna punkt är avgörande för att kunna avgöra vilket
objekt som skall observeras.
Problem som kan uppkomma med denna metod liknar de i metoden ovan. Det kan ibland
finnas svårigheter att finna ekvivalenta element i de två erhållna bilder från sensorerna.
Korresponderande delar av ett objekt kan ibland inte likna varandra i de två inputen.
Ytorna kan se olika ut eftersom reflektioner kan uppstå på olika sätt beroende på varifrån
ytan ses ifrån. På detta sätt försvåras agentens förmåga att bearbeta sin input.
4.2.3.3 Texture (struktur)
När man talar om ett objekts struktur så tänker man genast på objektets yta. Inom
datorseende så betyder strukturen egentligen ett upprepande mönster på en yta.
Exempel på detta är en tegelvägg eller maskorna i ett stickat tyg.
Elementen i en struktur kallas för texels. Storlek och vinkel skiljer sig för varje texel
inom en struktur. Genom att använda sig av matematisk analys kan man ställa upp ett
uttryck som beskriver förändringar hos texels i en bild. Förändringar av avstånd mellan
texels och kameran är en av de faktorer som vägs in i det matematiska uttrycket. Texels
som befinner sig på ett längre avstånd från åskådaren representeras som om den vore
mindre än mer närbelägna texels.
Foreshortening av texels påverkar också uttrycket då det tar hänsyn till vilken placering
varje texel har relativt riktningen av kameran. Om en texel är vinkelrätt mot kamerans
riktning så uppstår ingen foreshortening. Foreshorteningens storlek är ett resultat av
sambandet cosinus . Där  innebär den slant av planet där texeln befinner sig. Slant är
vinkeln mellan vektor n (vinkelrät mot planet) och z-axeln. Man måste ta hänsyn till
dessa variabler samt att dessa är funktioner av ytornas form, dess slant och tilt utifrån
åskådarens angreppspunkt. Tilt innebär vinkel mellan vektor n och x-axeln.
Sammanfattningsvis kan man säga att på grund av vilken vinkel utifrån kamerans
position en texel befinner sig uppstår en förvrängning av texelns storlek och form.
Denna metod används för att bestämma en ytas utseende. Detta sker genom en
inverterad två-stegsprocessen som enkelt beskrivs nedan:
(a) Uppmätning av skillnaden inom strukturen.
(b) Uppskattning av ytans form samt dess slant och tilt som påverkar dess utseende.
4.2.3.4. Contour (Kontur)
När vi människor tittar på en ritning gjord med enkla linjer får vi en relativt bra insikt i
den tre-dimensionella formen. Detta beror på vår förmåga att kunna relatera till den
verkliga världen med den ”hög-nivå” kunskap som vi människor besitter.
Det svåra är att få datorn att uppnå denna nivå av slutsats-tagande. Man försöker få
datorn att finna betydelsen för varje linje i en bild. Detta sker genom att man utför en så
kallad ”line labeling”. Informationen i bilden är oftast övermäktig så om man tänker sig
8
Artificiell Intelligens, KV, 5p
Laboration 2 – Projektrapport
Umeå Universitet
19 oktober 2004
att bilden förprocesserats så att skuggor, ytförändringar och liknande tagits bort så kan
varje linje klassificeras antingen som en projektion av en ”limb” (när linjen följer ytan)
eller som en ”edge”. Varje ”edge” kan sedan klassificeras som konvex, konkav eller
occluding, vilket betyder att kanten består av en synlig och en osynlig (skymd) yta.

"+" och "-" representerar konvexa respektive konkava kanter. Båda dessa kanter
är associerade med förändringar i ytans orientering där man kan se båda ytorna
som skapar kanten. (Se figurl 1 & 2 nedan)

"<-" och "->" representerar occluding kanter. Här kan man bara se en yta av de
två som skapar kanten. Den synliga och den osynliga möts. Om man följer pilen
riktning så ligger den synliga ytan till höger (Se figur 1 & 2 nedan)

"<-<-" och "->->" representar limbs. Detta är egentligen inte en kant utan en yta
som böjer sig runt för att sluta sig med den yta man ser (Se figur 1 nedan).
Denna metod fungerar bara på grundgeometriska ytor och inte på objekt som byter
geometrisk form under linjens längd.
+
-
-
+
Figur 2
Figur 1
4.2.3.5. Shading (Skuggning & reflektion)
Denna metod bygger upp objekt genom att mäta variation i ljusintensitet mottaget från
olika delar av ytan i en ”scen”. Hur ljusintensiteten varierar beror på objektets geometri
och reflektionsegenskaperna hos objektets ytor. Inom området datorgrafik, är målet att
ge ett objekt ljusintensitet (brightness) givet dess geometri och reflektionsgrad. Inom
datorseende, vill man istället omvända denna process, alltså att få tillbaka geometrin och
reflektionsegenskaperna, när man efter analys erhållit bildens ljusintensitet. Denna
metod har visat sig att vara svår att applicera i alla förutom de enklaste fallen.
Det verkliga problemet är interreflektansen – vilket betyder att objekt blir ljussatta av
andra källor än själva ljuskällan, exempelvis reflektioner från andra objekt. I ett sådant
scenario är Shading-metoden inte att föredra, eftersom den inte finner några lösningar.
9
Artificiell Intelligens, KV, 5p
Laboration 2 – Projektrapport
Umeå Universitet
19 oktober 2004
5. Diskussion
Den största svårigheten för datorer är att urskilja den viktiga informationen från allt brus
som sensorerna plockar upp. De metoder som vi har tagit upp i denna rapport visar
också på dessa brister. Många av metoderna klarar bara av reglerade förutsättningar. De
har ingen chans att klara av att behandla det informationsflöde som finns i den verkliga
världen. Innan dessa ovan nämnda metoder kan användas måste informationen
förprocesseras för att den ska vara av någon användning. Komplexiteten hos uppgifterna
ökar allt eftersom antalet objekt som finns representerade blir fler. Forskningen inom
computer vision har många problem att lösa, där komplexiteten av den riktiga världen
måste övervinnas. Enligt M.J. Tarr och M.J. Black5 så finns det olika läger inom
forskningen på detta område, vissa uttrycker kritik mot dessa typer av metoder som
försöker rekonstruera ”scenen”. Motståndarna anser att metoderna inte är produktiva
eller praktiska. Istället förordar dessa ett annat sätt att angripa problemet, nämligen
genom att erhålla funktionalitets- och uppgiftdriven perception.
Arbetet med detta projekt har gett oss insikt i hur komplex den verkliga världen är och
hur svårt det kan vara att uppfatta och tolka den. Vi människor kanske inte reflekterar
över all den information vi tar in och filterar i vårt dagliga liv, men man inser nu hur
otroligt utvecklad perception människan har. Samtidigt med detta förstår man hur
otroligt det skulle vara att få dator att genom visuellt seende känna igen objekt. För att
sedan få en agent att manipulera med dessa objekt måste agentens kunskapsbas vara
väl utvecklad. Även om detta är en framgång för vetenskapen så finns det givetvis både
många fördelar och nackdelar med att skapa Artificiell Intelligens. I en framtid där
människan skapat robotar som kan hantera vår värld, kommer detta medföra att vi
människor får en förändrad livsstil. Det är möjligt att detta rent ut av är vårt öde, men
frågan är vilka konsekvenser det har för mänskligheten.
Arbetet med att samla in information rörande detta område har varit omständigt. Detta
beroende på att mycket av materialet publicerades för mer än tjugo år sedan. Även om
tankarna kring hur detta problem skulle lösas kretsade runt samma metoder, så var
dessa metodbeskrivningerna svåra att förstå och luddigt formulerade. Det verkade som
om forskarna hade utgått fram gamla vedertagna tekniker och applicerat dessa i en ny
vetenskap. Största delen av de kunskaper som vi tagit del av kommer från
kurslitteraturen, men utifrån denna har det krävts vidare förklaringar från andra källor.
6. Referenser
Internet:

http://osiris.sunderland.ac.uk/cbowww/AI/TEXTS/VISION/

http://portal.acm.org/citation.cfm?id=4081

http://www.cs.dartmouth.edu/~brd/Teaching/AI/Lectures/Summaries/vision.html
Litteratur:

Artificial Intelligence – A Modern Approach, Second Edition, Stuart Russel, Peter Norvig,

A Computational and Evolutionary Perspective on the Role of Representation in Vision, Tarr
M. J. and Black M. J. Yale Univ, Dept Psychol, New Haven, CT 06520, USA and Yale Univ, Dept Comp
Sci, New Haven, CT 06520, USA
A Computational and Evolutionary Perspective on the Role of Representation in Vision, Tarr M. J.
and Black M. J. Yale Univ, Dept Psychol, New Haven, CT 06520, USA and Yale Univ, Dept Comp Sci, New
Haven, CT 06520, USA
5
10
Artificiell Intelligens, KV, 5p
Laboration 2 – Projektrapport
Umeå Universitet
19 oktober 2004
Bilaga:
Grupp: Perception – Extrahering av tre-dimensionell information
Mathias Bergmark
Fredrik Johansson
dit02mbk@cs.umu.se
dit02fjs@cs.umu.se
Tentamensfråga:
Varför krävs tre-dimensionell information för en interaktiv agent?
Svar:
Tre-dimensionell information krävs för att kunna få en representation om den verkliga
världen som agenten befinner sig i. Represenation behöver bara vara passande för de
uppgifter agenten ska lösa. Ex Navigera, undvika objekt, interagera med objekt eller
objekt-igenkänning
11