Artificiell Intelligens, KV, 5p Laboration 2 – Projektrapport Umeå Universitet 19 oktober 2004 DATORBASERAD PERCEPTION - extrahering av tre-dimensionell information Gruppmedlemmar: Fredrik Johansson ([email protected]) Mathias Bergmark ([email protected]) Handledare: Therese Edvall ([email protected]) Daniel Ölvebrink ([email protected]) 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 [email protected] [email protected] 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