Från ljusenergi till en kub som går att stå på Hur man får en dator att känna igen olika former i visuell information

Relevanta dokument
Martin Burström [dit02mbm] Robert Eriksson [dit02ren] Filip Sjögren [dit02fsn] Handledare: Therese Edvall Daniel Ölvebrink :13

Kort introduktion till POV-Ray, del 1

Metoder för rörelsemätning, en översikt.

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping

Ontologier. Cassandra Svensson

Undersökande arbetssätt i matematik 1 och 2

Statistisk mönsterigenkänning

Kognitionsvetenskapliga programmet, åk 1

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens Erik Claesson

Karta över Jorden - viktigt exempel. Sfär i (x, y, z) koordinater Funktionen som beskriver detta ser ut till att vara

Rumsuppfattning är förmågan att behandla sinnesintryck av former

Mekaniska metoder för att mäta objekt och/eller rörelser kan bestå av:

Den räta linjens ekvation

Hierarchical Temporal Memory Maskininlärning

Anvisningar för passfoto

Grafiska pipelinen. Edvin Fischer

Den räta linjens ekvation

GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare. Karlstads universitet april

Vektorgeometri för gymnasister

Linköpings universitet

SF1624 Algebra och geometri

Funktioner. Räta linjen

Läsanvisningar Henrik Shahgholian

Pedagogisk planering

Individuell inlämningsuppgift TEK210

Upprepade mönster kan talen bytas ut mot bokstäverna: A B C A B C eller mot formerna: Anna-Lena Ekdahl, Högskolan i Jönköping

Optik 2018 Laborationsinstruktioner Våglära och optik FAFF30+40

Vektorgeometri för gymnasister

Vi har väl alla stått på en matta på golvet och sedan hastigt försökt förflytta

Hur optimerar jag min inlärning?

Artificiell intelligens

Institutionen för matematik och datavetenskap Karlstads universitet. GeoGebra. ett digitalt verktyg för framtidens matematikundervisning

Linjär Algebra, Föreläsning 2

3D- LJUD. Binaural syntes med hjälp av HRTF- filter och duplexteorin. DT1174 Ljud som informationsbärare Sandra Liljeqvist

Kvalitetsanalys för Storängens Montessoriförskola läsåret 2014/15

Grafiska pipelinens funktion

Robin Wahlstedt Datavetenskap / Spel Vetenskapsmetodik rwt07001@student.mdh.se. Datorgrafik i spel

Neurovetenskap 30/08/2013. Kognitiv neurovetenskap. Lober. Olika färg, olika vävnadsstruktur. Hjärnbarken

TAIU07 Matematiska beräkningar med Matlab

Vrida detalj samt flytta nollpunkt 1

Robotarm och algebra

(N) och mängden av heltal (Z); objekten i en mängd behöver dock inte vara tal. De objekt som ingår i en mängd kallas för mängdens element.

Anvisningar för ansiktsfoton som skickas in elektroniskt

Geometrisk optik. Syfte och mål. Innehåll. Utrustning. Institutionen för Fysik

Bemästra verktyget TriBall

SF1626 Flervariabelanalys

Natur och miljö, kurskod: SGRNAT7 Antal verksamhetspoäng: 1200

TANA17 Matematiska beräkningar med Matlab

Hållbar utveckling A, Ht. 2014

Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering...

PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN

Vad är geometri? För dig? I förskolan?

VARFÖR FINNS DET INGA RIKTIGA

Individuell inlämningsuppgift del 1: Kognitiv design.

Vad kan biologiskt plausibla modeller säga oss?

Linjär algebra på några minuter

Roboten. Sida 1 av 11

Oppositionsprotokoll-DD143x

Bemästra verktyget TriBall

För elever i gymnasieskolan är det inte uppenbart hur derivata relaterar

Datalogiskt tänkande. med DATALIA DATALIA

Upprepade mönster (fortsättning från del 1)

Moment 4.2.1, 4.2.2, 4.2.3, Viktiga exempel 4.1, 4.3, 4.4, 4.5, 4.6, 4.13, 4.14 Övningsuppgifter 4.1 a-h, 4.2, 4.3, 4.4, 4.5, 4.

Parabeln och vad man kan ha den till

3 augusti (G) Programmering: Lego

Utveckling av ett grafiskt användargränssnitt

729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581

Uppdrag för LEGO projektet Hitta en vattensamling på Mars

Tentamen i Beräkningsvetenskap II, 5.0 hp,

5 Linjär algebra. 5.1 Addition av matriser 5 LINJÄR ALGEBRA

el o;; Utbildningsplan för Kognitionsvetenskapligt kandidatprogram Bachefor Programmein Cognitive Science 180 Högskolepoäng

Linköpings universitet 1

Stina Nyman

Fakta om robotar VAD HANDLAR BOKEN OM? LGR 11 CENTRALT INNEHÅLL SOM TRÄNAS ELEVERNA TRÄNAR FÖLJANDE FÖRMÅGOR. Lärarmaterial EVA MOSEGAARD AMDISEN

Barns lek och lärande i perspektivet av förskolans verksamhetsutveckling

Selektiv uppmärksamhet. Klassiska teorier. Sidan 1. Översikt. Vad är uppmärksamhet? Människan har ansetts ha. Filtrering. Vad är uppmärksamhet?

LJ-Teknik Bildskärpa

Att orientera i den närliggande natur- och utemiljön med hjälp av kartor, såväl med som utan digitala verktyg. Kartors uppbyggnad och symboler.

Handledning Det didaktiska kontraktet. 19 september 2012

Anteckningsstöd. Pedagogiskt stöd, Lunds universitet

Visual thinking for Design

P Q = ( 2, 1, 1), P R = (0, 1, 0) och QR = (2, 2, 1). arean = 1 2 P Q P R

SF1624 Algebra och geometri

V.A.T lärstilstest och studieteknik

Dinosaurier och livet på jorden

Vad är algoritmer? Lektionen handlar om att få en grundläggande förståelse för vad en algoritm är. Vad är algoritmer?

LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen?

October 9, Innehållsregister

Den intelligenta dammsugaren

Linjär Algebra, Föreläsning 2

Specifikation av kandidatexjobb

Artificiell intelligens, eller Kommer din dator att bli klokare än dig? (eller kanske är den redan det?)

Jag är en häxa Lärarmaterial

FRÅGEFORMULÄR 0M STUDIEVANOR

Laboration 1 Mekanik baskurs

Centralt innehåll. I årskurs 1.3

Koordinatsystem och Navigation

Betyget D innebär att kunskapskraven för betyget E och till övervägande del för C är uppfyllda. KUNSKAPSKRAV I ÄMNET KEMI

FORMER, MÖNSTER OCH TESSELERINGAR

TEKNISKA SYSTEM LÄRARHANDLEDNING ÅRSKURS 5

Transkript:

ARTIFICIELL INTELLIGENS II INSTITUTUINEN FÖR DATAVETENSKAP LINKÖPINGS UNIVERSITET Från ljusenergi till en kub som går att stå på Hur man får en dator att känna igen olika former i visuell information Anna Holm, annho740@student.liu.se 2010-10-03

Sammanfattning Arbetet kommer att behandla ett sätt att artificiellt skapa en process för objektigenkänning givet visuell information. Den teori som i huvudsak kommer att beskrivas är David Marrs 3-D Model representation, vilken till stor del bygger på hur man tror att dessa processer sker för människor. 1

Innehållsförteckning Sammanfattning 1 Innehållsförteckning 2 Introduktion 3 Inledning 3 Arbetets uppbyggnad 3 Termer 3 Perception och AI (Bakgrund) 3 Problemformulering 4 Minne och tidsåtgång 4 Synvinkel och representationer 5 Filtrera input 5 Meningsskapande 5 David Marrs 3-D Model Representation 5 Representationer 5 Axlar och förhållanden 6 Objektigenkänning 7 Diskussion 8 Referenser 9 Böcker 9 Bilder 9 Övrigt 9 2

Introduktion Inledning Hur vi människor kan identifiera så många olika objekt bara genom en snabb blick på dem är något jag personligen tycker är väldigt fascinerande. Att veta hur omgivningen ser ut och att kunna klassificera vad som finns i den har varit grundläggande för mänsklig överlevnad, vilket gjort att funktionen utvecklats över tid. Eftersom visuell information samt bearbetning och tolkning av denna är så pass viktig för människor och andra djur ville jag se hur detta går att göra artificiellt. Arbetets uppbyggnad Det här arbetet kommer att behandla ett av många sätt för datorer att bearbeta visuell information vilket liknar de teorier som finns om mänsklig bearbetning av visuell information. Det är David Marrs teori/proposition om detta som beskrivs i arbetet som är byggt på hans bok A computational investigation into the human representation and processing of visual information. Denna bok publicerades 1982 och så de tillvägagångssätt som beskrivs i arbetet stämmer kanske inte helt överens med de som används idag, vilket man som läsare bör ta hänsyn till. Termer Jag kommer i arbetet att beskriva maskinella processer i termer som är mer vanliga när man pratar om mänsklig perception. Anledningen till detta är inte för att jag anser att det är samma sak som sker utan snarare för att det blir lättare att förklara på det viset. Den mer filosofiska diskussionen om huruvida människan och maskinen tänker likvärdigt lämnar jag till de intresserade. Skillnader och likheter mellan människa och dator tas inte i åtanke i detta arbete såvida det inte är relevant för själva systemet eller processen som beskrivs. Perception och AI (Bakgrund) En agent definieras som något som kan varsebli världen och agera i den. Detta gör perception till något väldigt grundläggande inom AI. Perception sker genom att agenten är utrustad med en eller flera sensorer som ger den input om miljön. En sensor beskrivs av Russel & Norwig som något som kan registrera någon aspekt av en miljö och vidarebefordra det som en input till ett agentprogram. Om en agent ska kunna förflytta sig fysiskt i en miljö är visuell information viktig. Enligt Russel & Norwig den klart viktigaste sensorn. Främst för att inte krocka, det är klart att till exempel en dammsugare kan utföra handlingar och uppnå målet (ett dammfritt golv) trots att den krockar. Men jag tror att de flesta håller med mig om att det vore smartare och bättre om målet kunde nås utan dessa onödiga krockar. 3

Ett sätt att uppnå detta är med hjälp av visuell information. Om målet bara består i att undvika att krocka är visuell information inte nödvändig, man kan till exempel använda radar istället. Men om man vill känna igen olika saker i världen är visuell information väldigt viktig. Det är en stor fördel att veta vad som finns till höger om dig jämfört med att bara veta att det finns något till höger. Och här kan visuell information ge oss fler ledtrådar än till exempel radar. Färger kan till exempel vara en stor tillgång för att urskilja objekt. Värt att notera är att en kamera i sig aldrig är tillräcklig, för att en agent ska undvika att krocka med saker(navigering) eller kunna använda sig av föremål i miljön (manipulation). Det behövs någon slags förståelse för vad som finns i bilden också. Det hjälper inte att se att det ligger en liten ask med mönstret av ett barn på bordet om du vill tända ett ljus, du behöver även kunna förstå att det du ser är en tändsticksask och veta vad en tändsticka används till. På så vis blir informationen användbar. Objektigenkänning kallas detta vilket är av stor vikt både i arbetet och för agenter. På senare tid byggs perception och objektigenkänning även upp för att göra avatarer i spel mer intelligenta, framförallt för att kunna använda sig av 3-D modeller(ronghua Liang, Tinan Huang, Meleagros Krokos and Jinglong Fan, 2006). Detta är ett, enligt mig, väldigt intressant sidospår men kommer inte att tas upp mer i detta arbete. Problemformulering Vilka problem finns när man försöker bygga maskinell perception då? Denna fråga sammanfattar hela denna del som kommer att beskriva några av svårigheterna med att få en maskin att förstå världen genom visuell information. Minne och tidsåtgång För att kunna urskilja olika objekt är det vanligt att bygga upp representationer 1 av dem, men det är begränsat hur detaljerade dessa kan vara. Om dem är för detaljerade ökar belastningen på minnet och tidsåtgången ökar. En annan sak att ta hänsyn till är antalet representationer som sparas. Det måste vara tillräckligt många och tillräckligt beskrivande för att det ska vara möjligt att känna igen alla nödvändiga objekt utan att de förväxlas med varandra. Samtidigt kan de inte vara hur noggranna som helst eftersom det inte kan ta hur lång tid som helst att identifiera ett objekt. 1 Representationer beskrivs mer ingående under rubriken Representationer 4

Synvinkel och representationer Eftersom objekt ser olika ut beroende på från vilket håll man ser det är det viktigt att skilja både på olika objekt och samma objekt ur olika synvinklar. Alla beskrivningar behöver dessutom vara unika för att inte blanda ihop objekt. Det finns två huvudkategorier för hur man kan konstruera objektbeskrivningar; object-centered och viewer-centered. Om man väljer att beskriva ett objekt utifrån betraktarens perspektiv behövs olika representationer för olika synvinklar. Detta perspektiv kallas för viewer-centered. Alternativet till detta är det så kallade object- centered - perspektivet, vilket som namnet inger utgår från objektet. Vid objektigenkänning är de representationer som utgår ifrån betraktaren lättare att producera men svårare att använda(marr 1982). Filtrera input Ett annat stort problem med visuell information är hur överflödig information ska filtreras bort så att den användbara informationen blir kvar i en mängd som går att hantera. Detta kommer inte att tas upp i detta arbete, men kan vara viktigt vid implementeringen av objektigenkännings- program. Meningsskapande En annan viktig aspekt som kanske är mer filosofi än AI är huruvida en agent kan bedöma om det den ser faktiskt är verkligheten. Med det menar jag att det kan vara svårt att avgöra om den visuella informationen representerar det som faktiskt händer här och nu i världen eller om agenten i själva verket ser en modell av något. Det är en väsentlig skillnad mellan att se en dinosaurie eller en modell av den i ett museum. Det är också skillnad mellan att se att New York förstörs i en film eller på nyheterna. David Marrs 3-D Model Representation Marr utgår från hur bland annat neurofysiologer och psykofysiker beskriver människans perception och vad de har ansett vara viktigt att tänka på vid objektigenkänning. Teorin bygger på att det finns en mängd olika 3-D modeller organiserade i en hierarki som representerar olika objekt med hjälp av enklare former, cylindrar är vanliga. Dessa beskrivs mer ingående nedan. Kortfattat kan man säga att modellen går ut på att en input med visuell information filtreras och sedan identifieras axlar i bilden. Dessa axlar behövs för att bygga upp de enklare formerna samt för att beräkna förhållandet mellan dem. Även detta kommer att beskrivas mer noggrant senare. Representationer I denna modell används ett objektcentrerat koordinatsystem, där formen på objektet representeras huvudsakligen i 3-D format. Ett litet antal objekt kan även komma att representeras I 2D. Centrala 5

begrepp när det gäller representationer är shape, eller form, vilket innefattar det geometriska utseendet av ett objeks yta. Description of shape är uttryck för en representation som beskriver shape. Dessa representationer kan vara specificerade i olika stor grad. Figur 1. Ovan ges en överblick över organisationen bland olika representationer. Denna typ av representationer benämns även som 3-D model descriptions. Representationernas beskrivningar utgår från en axel (vilken är objektcentrerad) och syns till vänster i bilden ovan. 3D modellerna organiseras i olika moduler. I bilden ovan syns själva 3-D modellen till höger om figuren som illustrerar axeln. En modell/representation kan innehålla andra representationer vilka är mer detaljrika. Detta för att snabba upp processen vid objektigenkänning då det gör det möjligt att inte ta hänsyn till positionen på varje finger vid bedömningen av om det som syns är en människa. En sak som bör tas hänsyn till angående bilden är att eftersom den utgår från betraktaren är axlarnas förhållande till varandra inte korrekt representerat då de i själva verket är objektcentrerade. Axlar och förhållanden Förhållandet mellan de olika delarna(modellerna) i en mer översiktlig modell är viktigt att ta hänsyn till, för en representation av en människa betyder detta att det är möjligt att ta hänsyn till att armar, händer och ben kan ha olika position/vinklar jämfört med kroppen/torson. I David Marrs modell har 6

varje modell ett enskilt koordinatsystem och med hjälp av dessa beräknas objektens relation i förhållande till varandra. För detta används två 3-dimensionella vektorer, vilka representerar de två olika modellernas axlar. Den axel som man utgår från vid jämförelsen kallas Principal axis, och det är oftast den har kopplingar till flest andra axlar/modeller, till exempel torson. Figur 2 Ovan illustreras vilka variabler som behövs för att bestämma förhållandet för S i jämförelse med A. I Figur 2 (a) visas koordinater som beskriver S:s startpunkt i förhållande till A. Dessa är så kallade cylindriska koordinater och tillhör den första vektorn. Med cylindriska koordinater menas att en viss punkt beskrivs genom en vinkel(sidled), θ, och två sträckor(en i höjdled och ett avstånd)ρ och r. Den andra vektorn illustreras i (b) och beskrivs genom sfäriska koordinater. Med sfäriska koordinater menas att en punkt beskrivs genom två vinkar(sid- och höjdled), ι och θ, och ett avstånd, s. Om man kan göra en tabell med lämpliga värden på alla variabler som nämnts ovan för alla objekt som kan relateras till varandra kommer tabellen att visa en stor del av den informationen som 3-Dmodeller kan ge. Objektigenkänning Nu när 3-D modellerna och andra delar som är av stor vikt i teorin har förklarats, kan en mer överskådlig bild av hur detta är tänkt att fungera ges. Som nämnts tidigare börjar allt med en input av visuell information som filtreras. Sedan gäller det att hitta de olika axlarna samt att identifiera vilken axel som (man kan säga att) hela objektet utgår ifrån. När axlarna har hittats har vi kommit en bra bit på vägen för att förstå hur objektet är uppbyggt. Då kan vi välja ut en lämplig 3-D modell, inte alltför detaljerad, som verkar stämma med de axlar som hittats. Med hjälp av denna går det sedan att beräkna värdena för axlarnas relation till varandra i bilden. Denna beräkning bygger alltså på data ur betraktarens perspektiv. För att göra om dessa data till objektcentrerade, vilket modellerna är 7

baserade på, används en funktion som kallas Image-space processor. Med dessa värden kan vi sedan jämföra objektet i bilden med mer detaljerade 3-D modeller som är sparade. För att täcka in observationer där betraktarens synvinkel gör det svårt att se hela objektet är det även möjligt att gå från att identifiera mer specifika delar av objektet till att se en mindre detaljerad helhet. Ett exempel på när detta används skulle kunna vara då en häst observerad framifrån. Då en häst naturligt beskrivs utifrån dess kropp och denna knappt syns i detta fall är det istället möjligt att genom att se hästben och mule och dess lägen anta att kroppen finns mellan dem. På så vis känns hästen igen även framifrån. För att matcha synbara objekt kan man alltså börja med de stora dragen och sedan de mer specifika, men även gå från mer detaljerade delobjekt till att hitta en helhet. Diskussion Ur den bild som fåtts av Marrs teori finns inga tvivel på att den fungerar till en viss utsträckning. Förbättringar och vidareutvecklingar har säkerligen även gjorts sedan den bok som ligger till grund för arbetet gavs ut. Det som istället får mina tvivel är om det som sker i våra huvuden verkligen kan beskrivas med matematik. Det verkar som att det krävs så mycket beräkningar bara för att urskilja ett objekt och så fort jag öppnar mina ögon har jag på något vis en förståelse för allt jag ser. Detta skulle kunna förklaras med parallella processer men det känns ändå inte självklart. Något annat som känns väldigt konstigt är om alla dessa beräkningar skulle ske utan att jag hade en aning om dem, varför är det då så förbannat svårt att lära sig multiplikationstabellen? Något som jag saknade i Marrs bok var även hur en description of shape ska representeras relativt övrig kunskap om objektet, ligger det under ett objekt eller separat men kopplat till objektet. Fast det kanske inte spelar så stor roll egentligen. Det blir ju på något sätt samma sak ändå i slutändan. Teorin bör även utökas så att objektens relation till betraktaren och varandra kan representeras. Ett förslag på detta fanns i Artificial Intelligence: A Modern Approach av Russel & Norwig men jag har inte haft tid att sätta mig in i det mer. En annan sak jag funderat över är hur väl denna teori fungerar på delar av objekt är täckta eller skymda samt hur väl ett sådant program skulle fungera då en mängd liknande objekt är vridna eller inlindade i varandra. Blandar programmet ihop dessa eller är det möjligt att korrekt identifiera de olika objekten. För att teorin ska bli hållbar krävs även att den kan fungera med inlärning. Om det är möjligt att bli bättre och reagera på små detaljer som annars lätt missas, det vill säga hur kompatibel teorin är med andra teorier om inlärning och perception såsom Professional vision. 8

Referenser Böcker Marr David, A computational investigation into the human representation and processing of visual information, 1982, W.H. Freeman and Company, New York. Russell Stuart J. and Norwig Peter, Artificial Intelligence: A Modern Approach, 2 nd edition, 2003, Prentice Hall, New Jersey Bilder http://www.doc.gold.ac.uk/~mas02fl/msc101/vision/pics/marrimg4.gif, Figur 1, hämtad 2010-10-01. http://www.cc.gatech.edu/classes/cs7322_97_spring/participants/moore/summaries/fig54.gif, Figur 2, hämtad 2010-10-02 Övrigt http://www.math.kth.se/~lhakan/nr15april19.pdf, endast information om koordinatsystem, från Institutionen för matematik, KTH. Hämtad 2010-10-02. Ronghua Liang, Tinan Huang, Meleagros Krokos and Jinglong Fan, Visual Perception Modelling for Intelligent Avatars, 2006 9