COMPUTER VISION. Niklas Brunberg 820519-0096 nikbr568



Relevanta dokument
L A B R A P P O R T 1

Visual thinking for Design

Kurvlängd och geometri på en sfärisk yta

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

Grunderna i stegkodsprogrammering

ÄMNESPLANENS STRUKTUR. Progressionstabellen

VARFÖR FINNS DET INGA RIKTIGA

5 Relationer mellan individens utvecklingsnivå, olika verktyg och användning av olika produkter

Computer vision

Kristian Pettersson Feb 2016

Ljus och färg - Lite teori

Visuell perception och synsinnets neurofysiologi

LJ-Teknik Bildskärpa

Polarisation laboration Vågor och optik

Laboration i Fourieroptik

PIXLR #1 BILDBEHANDLING

RödGrön-spelet Av: Jonas Hall. Högstadiet. Tid: minuter beroende på variant Material: TI-82/83/84 samt tärningar


Hur mäts kunskap bäst? examinationen som inlärningsmoment

FÖRKORTA DIN VÄG PÅ BANAN

SLALOMINGÅNGAR hur svårt kan det vara?

Min syn på visuella verktyg i produktutvecklingsprocessen

Fingerprint Matching

1. Kameran 2. Ljus 3. Motiv 4. Kommunikation 5. Att ta bra bilder 6. Studio

Att använda bildhanteringsprogram, del 2

Fö Inspelningsrummet. [Everest kapitel 20 och 22-24]

Objektiv. Skillnad i egenskaper mellan objektiv med olika brännvidder (småbild)

En överblick över tekniken bakom fotografering...

Personal- och arbetsgivarutskottet

Bakgrundsbygge i Cellplast:

Hands-On Math. Matematikverkstad. Förskolans nya läroplan 1 juli Matematik är en abstrakt och generell vetenskap

Tillväxt och klimatmål - ett räkneexempel

Det övergripande syftet med min avhandling var att beskriva och

9-1 Koordinatsystem och funktioner. Namn:

Sex goda skäl att styra trycket med gråbalansfält

Spel som interaktiva berättelser

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

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

LABORATION ENELEKTRONSPEKTRA

RESTAURERING AV GAMLA FOTOGRAFIER

Senaste revideringen av kapitlet gjordes , efter att ett fel upptäckts.


Diffraktion och interferens

Diffraktion och interferens Kapitel 35-36

Matematik 92MA41 (15hp) Vladimir Tkatjev

Global nedvärdering av sig själv, andra och livet.

FÄRG förnyar ditt hem

SÅ VITT VI VET - Om färg, ljus och rum

Lite verktyg och metoder Photoshop CS2

ÄMNESPLANENS STRUKTUR. Syfte Centralt innehåll Kunskapskrav. Mål KUNSKAPSKRAV

Laboration: Att inhägna ett rektangulärt område

Karlsängskolan - Filminstitutet

Bildbehandling, del 1

Sinnena den mänskliga hårdvaran

1. Bekräftelsebehov eller självacceptans

Procedurell grottgenerator och eld i GLSL. Marcus Widegren

Anders Logg. Människor och matematik läsebok för nyfikna 95

FOTOKURS ONLINE. Bli en bättre fotograf medan du plåtar ANNA FRANCK

Concept Selection Chaper 7

FMLOPE Sida 1 av 10 MENTAL TRÄNING UNDER GMU. Lärarhandledning. Redaktörer: David Bergman, Mikael Lindholm och Tommy Sundin

NMCC Sigma 8. Täby Friskola 8 Spets

Projekt i Bildanalys: Automatisk detektion av lungemboli ur scintbilder

Min syn på idéframställan

Kvalitetsmått: Skärpa

Skola: Photoshop och Elements Redigering för äkta bilder

Partiklars rörelser i elektromagnetiska fält

BARNS SPRÅKUTVECKLING

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Skolverkets förslag till kursplan i matematik i grundskolan. Matematik

LABORATION 2 MIKROSKOPET

Möjliga Världar. Skapande Skola, Halmstad. Robert Hais

TDDB96 Projekt: Object priming med visuell stimuli

Ögonlaboration 1(1) ÖGONLABORATION

Rita med ritstift. Raka banor Klicka med Ristiftet vid varje hörn.

Neural bas för kognition

Penningpolitiken och Riksbankens kommunikation

!!!!!!!! Googles'självkörande'bil!

Optiska ytor Vad händer med ljusstrålarna när de träffar en gränsyta mellan två olika material?

36 träfigurer (20 träfigurer och 9 halvfigurer som kan stå i spår, 7 magnetiska träbitar)

varandra. Vi börjar med att behandla en linjes ekvation med hjälp av figur 7 och dess bildtext.

Presentation av Xicatos Livfulla Serie

Bilaga till Fas 2-rapport för Joroma AB

Omtentamen i DV & TDV

Reglerteori, TSRT09. Föreläsning 4: Kalmanfiltret & det slutna systemet. Torkel Glad. Reglerteknik, ISY, Linköpings Universitet

Naturorienterande ämnen

Sammanfattning av kollegialt lärande inom Lärande och inflytande på riktigt när olikheten är normen

Bonusmaterial till Lära och undervisa matematik från förskoleklass till åk 6. Ledning för att lösa problemen i Övningar för kapitel 5, sid

Slutrapport Fästanordning för fordons specifik bilbarnstol i framsätet

Nya Medier. Gränssnitt, Interaktivitet och Digital kod

Slutrapport för Pacman

Photoshop CS4. Adobe. Fortsättningskurs

FOURIERANALYS En kort introduktion

TSRT09 Reglerteori. Sammanfattning av Föreläsning 3. Sammanfattning av Föreläsning 3, forts. Sammanfattning av Föreläsning 3, forts.

Gaussiska primtal. Christer Kiselman. Institut Mittag-Leffler & Uppsala universitet

Mimer Akademiens arbete med barnens matematikutveckling Ann S Pihlgren Elisabeth Wanselius

Fasett. Fasett utnytjar varierad repetition för att skapa ett mönster av ljus och skuggor, detta förstärks yterligare under rörelse när man går förbi.

Matematik E (MA1205)

Trycket beror på ytan

Styrdokumentkompendium

Just nu pågår flera satsningar för att förbättra svenska elevers måluppfyllelse

Transkript:

COMPUTER VISION 820519-0096

COMPUTER VISION... 1 SAMMANFATTNING... 3 INLEDNING... 4 Bakgrund en problemformulering... 4 Den mänskliga visuella processen... 4 Begränsningar i biologiska och datorbaserade visuella system... 5 Parallellism... 7 Blakes kritik... 7 BERÄKNING I DIGITAL BILDBEHANDLING... 7 Integration av stereo, skuggning och textur... 7 The AI Approach... 8 En grundläggande genomgång hur visuell perception fungerar... 8 Bilddigitalisering... 9 Kartläggning av visuella ledtrådar... 9 Brooks ACRONYM-system... 12 BERÄKNINGSTEORI KANTER, SAMMANHÅLLNINGAR OCH YTOR... 12 Brusreducering... 12 Kantdetektion... 13 Cannys kantdetektion... 15 Vektorisering... 16 SLUTSATS OCH DISKUSSION... 16 KÄLLOR... 18 2

Sammanfattning I den här uppsatsen behandlar jag hur datorbaserade visuella perceptionssystem ser ut, hu de jämför sig med biologiska sådana, då framförallt de mänskliga synorganen. Jag beskriver även processen i hur insamlingen av data ser ut för datorbaserade visuella system samt hur den grundläggande bearbetningen av denna data sker för att göra det möjligt för högre ordningens funktioner att identifiera objekt och skapa en mening av omgivningen. Jag tar även upp en mängd exempel på de vanligaste algoritmerna och hur de används i sammanhanget. Till exempel Cannys kantdetektion, Gaussisk oskärpa och vektorisering. 3

Inledning Computer Vision, eller datorseende som jag valt att kalla det i det här projektarbetet, är en gren inom den artificiella intelligensen som rör digital bildbehandling, segmentering, platsbestämning och igenkänning av specifika eller generella objekt. Detta genomförs med hjälp av utvärdering av resultat från olika typer av beräkningar, registrering av förändring (i film), spårning av objekt i rörelse eller kartläggning av en scen för att till exempel kunna navigera i eller hämta objekt i rummet. Jag ska i det här projektarbetet inrikta mig på hur den digitala processen från det att en bild registreras i en kamera till dess att den behandlats färdig för att behandlas i kunskapsbaserade system för t.ex. objektsigenkänning, ansiktsigenkänning eller sökning. Det innehåller Bakgrund en problemformulering För att förstå hur maskinellt seende fungerar måste vi först förstå hur problemet vi ska lösa ser ut, och det är två stora grenar som dominerar, den ena, som har sin grund i matematiken inriktar sig på att skapa generella algoritmer för att lösa problemet. Det andra facket, vilket både filosofen Searle och kognitionsforskaren Vilayanur S. Ramachandran hör till, har sin teoretiska grund i biologin - att eftersom synorganen och hjärnan inte är byggda efter matematiska formler så kan matematiska formler inte beskriva problemen. En stor del av beräkningsteorin som maskinell perception grundas på är beskrivandet av ett specifikt problem med resultatet en algoritm som i sin tur är beskrivningen för hur detta givna problem ska lösas. En beräkningsteori om kognition är, enligt Marr 1, inte så mycket att räkna som en abstrakt analys av den teoretiska vägen att ta sig an ett fysiologiskt problem. Searle menar att det inte finns några hållbara bevis för att hjärnan ens genomför någon komputation/uträkning och att dator-hjärna-metaforen är precis lika felaktig som tidigare telefonväxel- eller kugghjulsmetaforer. Med andra ord: Det pågår helt enkelt inga beräkningsprocesser i hjärnan. Den mänskliga visuella processen Visuell perception tillåter människor att uppfatta och förstå sin omvärld. Medan datorbaserad visuell perception siktar på att kopiera det mänskliga seendet genom att på ett elektroniskt vis uppfatta och förstå en bild. Det finns flera synsätt om hur mänsklig visuell perception fungerar, den ena som baserar sin teori på att den bild som projiceras på retinan är flertydig. Därmed måste den gå igenom flera mentala processer på hög nivå för att bli användbar för hjärnan. Detta enligt Helmholtz (1867), Gregory (1970) och Rock (1983). 2 1 AI And The Eye, s.2 2 AI And The Eye, s.2 4

Enligt Gibson (1966) 3 och Neumann (1977) 4, finns grunden för vår perception redan utanför våra sinnesorgan. De anser att den tvetydighet som vissa forskare tycker sig se endast sker i laboratoriemiljö och inte går att återskapa på naturlig väg på grund av den höga komplexitet som finns där ute i den naturliga världen. Gibson lyckades aldrig bevisa sin teori om att perceptionen skapar en mental resonans, att synintrycken inte behöver bearbetas. Utan att eftersom synorganen är skapta på det sättet som dom är så tillåter dom hjärnan att direkt gå vidare till högre mentala processer. Trots det så finns det fortfarande belägg för att Gibson kan ha haft rätt, något vi ska se längre fram när mer och mer information från visuella ledtrådar kombineras så minskar tvetydigheten. Neumann visade genom sina försök gällande prototyper, att även om vi aldrig sett något som passar in exakt på en prototyp så kan vi peka ut prototypen direkt om det behövs. Det är med andra ord väldigt lätt för hjärnan att skapa sig prototyper 5. Hans experiment gick till som följer: Från ett antal prototyper genererade Neumann ett antal mönster som försökspersonerna fick studera. Därefter frågade han försökspersonerna om de kunde identifiera vilken prototyp som använts för att generera de tidigare mönstren. En tydlig majoritet svarade rätt när de presenterades med prototypen bland mönster som ej använts som prototyper och försökspersonerna var dessutom väldigt säkra på sin sak. Begränsningar i biologiska och datorbaserade visuella system För att lyckas implementera datorbaserad perception måste man alltid utgå ifrån att man måste hitta de problem som måste lösas och sedan tillämpa en beräkningsmässig synvinkel på dessa problem. Något som V. S. Ramachandran tidigt insett i sina rapporter 6. I och med att den biologiska evolutionen inte kan ta den typen av steg som krävs för att skapa den typ av intrikata mönster som datalogin försöker skapa. Därför måste det finnas, något som V. S. Ramachandran ser det: A bag of trix. Det vill säga att det tidigt i det visuella systemet finns ett system för att lösa varje typ av visuellt problem vi stöter på. Till exempel att se former med hjälp av skuggning eller texturer är två olika processer. Här arbetar, enligt V. S. Ramachandran flera mindre system parallellt, eller möjligtvis, men inte troligt, seriellt, för att förstå det som projiceras på retinan. Trots att vårt biologiska perceptionssystems enskilda delar opererar på ett relativt enkelt vis så är det så komplext i sin sammansättning att det gör dem näst intill omöjliga att simulera. Och om vi försöker simulera delar av dessa system så behöver resultatet nödvändigtvis inte bevisa hur biologiska system egentligen fungerar. Därför behöver vi förutom att ta reda på begränsningar även reda ut hur skillnaderna mellan biologiskt seende skiljer sig från hur processen fungerar i datorer. I datorbaserat seende har optimalitet stor vikt eftersom maskinella system sällan har råd att nöja sig med gissningar så ökar det komplexiteten avsevärt. Dessutom så finns det gränser för hur mycket en dator kan behandla under den tiden som tilldelats varje process. Detta till 3 AI And The Eye, s.22 4 Cognitive Pshychology, s.130 5 Cognitive Pshychology, s.130 6 Percieving Shape From Shading 5

skillnad mot biologiska system som utan problem kan nöja sig med att använda sig av bästa möjliga resultat som situationen tillåter 7. Dessutom, biologiska visuella system verkar inte ha några problem att klara av extremt komplexa situationer. Detta är ett argument för att perceptionssystemet inte är ett beräkningssystem som så. Utan att det visuellt kognitiva systemet är mer som ett flödessystem som har som krav att skicka signalerna vidare till hjärnans högre kognitiva processer för att låta individen agera enligt sina percept. Det antagandet stöds av D. A. Kleffner och V. S. Ramachandran (1992) som visade att reaktionstiden för att finna en ensam konvex form bland ett myller av konkava inte var en funktion av komplexiteten i omgivningen eller ens en beräknande kognitiv process. De antar att förmågan att se former är en tidig- och lågnivåkognitionsprocess som inte på något sätt tar tid. 8 De begränsningar som finns naturligt i omgivningen minskar givetvis beräkningsbördan för både biologiska och datorbaserade system men det finns fortfarande ett överväldigande antal teoretiska förklaringar på hur situationen ska tolkas. För att det ska bli beräkningsmässigt hanterbart att plocka ut korrekt information. Det som är gemensamt för de forskare som försöker få maskiner att kunna se och urskilja sin miljö på samma sätt som människor gör är att de anser att mjukvaran, eller själva implementeringen av algoritmerna, kan vara skild och oberoende från hårdvaran. Det går i stark kontrast mot hur resonemanget om hur biologiska system fungerar. Där är det i princip ingen som inte anser att ögon, hjärnan, nerver och så vidare synorganens fysiska uppbyggnad är det som sätter begränsningar och möjligheter för hur synintryck tas emot och behandlas. 9 Det finns helt enkelt många begränsningar på hur neuroner kan behandla våra synintryck. Att ha dessa begränsningar i åtanke reducerar tydligt mängden av möjliga teoretiska lösningar på ett visuellt problem. Dessa naturliga begränsningar på interna representationer och beräkningsmöjligheter är långt ifrån kartlagda. Därmed blir det svårt att veta exakt hur kunskap bör vara representerad i datorbaserade system för visuella beräkningar. Det är inte heller självklart hur de naturliga begränsningarna som finns ska användas på bästa sätt. Det biologiska ögat har en obruten flödesuppfattning: Den ser inte världen i serier av bilder, utan allt flyter i varandra. Datorbaserade system, som dom ser ut idag behandlar AI-system kan ännu inte ta itu med störande moment i sitt synfält, vilket människans öga är mycket bra på att göra. Detta visade Todd 1995 genom att låta sina försökspersoner hitta en fast rörelse i ett myller av slumpmässiga rörelser. 10 7 AI And The Eye, s.24 8 Percieving Shape From Shading 9 AI And The Eye, s.23 10 The effects of spatio-temporal integration on maximum displacement thresholds in the detection of coherent motion. 6

Parallellism Biologiska system är allt som oftast parallella. Djupseendet är ett tydligt exempel på detta. Det använder sig till och med av multipla parallella processer. 11 Dessa processer är bearbetning av; texturer, relativ storlek, interposition, linjärt perspektiv, höjdperspektiv, plats i bildplanet, rörelseparallax, binokulär konvergens och binokulär disparitet. Fördelen med att ha flera individuella, parallella processer är att varje process i sig inte behöver vara helt fri från tvetydighet eller ens lyckas. Utan det är först när resultaten av dessa processer kombinerats som tvetydighet eller andra problem försvinner. Parallella applikationer inom datorseende har visat sig vara förvånansvärt robusta när det gäller att hantera både brus och kamouflage. Blakes kritik Biologiskt seende är ändamålsenligt enligt Andrew Blake (1990). 12 Det innehåller inte någon aktivt intelligent resonerande som t.ex. Gibsons anhängare menar, inte heller kräver det avancerade och välutvecklade interna strukturer. Faktum är att biologiska organ, när de är isolerade, är väldigt oexakta och kommer bara till sin användning när de kombineras med andra organ. Biologiska system är ett virrvarr av evolutionära steg i flera oväntade riktningar i och med att naturen som sådan är opportunistisk och anpassar sig så fort den får möjlighet. Med andra ord: Ad hoc, opportunistiskt och oelegant. För att ta ett vanligt exempel: Stigbygeln, hammaren och städet har vi kvar från tiden då vi var reptiler då de användes för att tugga föda. I datorbaserade system försöker man för det mesta nå perfektion i så hög grad det går. Därför blir det än en gång möjligt att argumentera för giltigheten i the bag of trix. Allt har utvecklats för att det fungerat, inte för att passa en vacker, elementär, matematisk formel. Om Blake har rätt så borde forskningens mål vara att kartlägga och simulera dessa enskilda, heuristiska regler istället för att hitta en genensam algoritm för att simulera hela den visuella processen. Beräkning i digital bildbehandling Integration av stereo, skuggning och textur Som jag tidigare nämnt så anser D. A. Kleffner och V. S. Ramachandran (1992) att reaktionstiden för att undersöka konvexa och konkava ytor inte var en funktion av komplexiteten i omgivningen eller en beräknande kognitiv process. 13 Trots det har de flesta processer, så som djupseendet formaliserats på ett relativt lyckat vis i beräkningsteorin. Och de går bra att simulera som enskilda processer i datorer. När det gäller arrangerade och enkla bilder så presterar dessa system ofta mycket bra men människan dåligt. Men i naturliga miljöer gör maskinerna allt för ofta fel samtidigt som det mänskliga visuella systemet då presterar bäst. 11 Cognitive Pshychology, s.120 12 AI And The Eye, s.24 13 Percieving Shape From Shading 7

För att skapa en tredimensionell rumsbild med hjälp av mer än ett objekt så går det inte att använda sig av bara ett slags stimuli, till exempel endast texturer, endast skuggning eller endast relativ storlek. Den ledtråd som högdagrar och skuggning i sig ger är visserligen en tydlig gradient som visar att det observerade objektet inte bara är en tvådimensionell yta, men säger samtidigt inget om objektets placering i rummet. Inför man ett andra objekt så kvarstår problemet i de flesta fall. 14 Ger man dock båda objekt samma typ av textur framgår det väldigt tydligt vart i rummet de båda är placerade i förhållande till varandra. Detta gäller givetvis i monokulärt seende, skulle vi ha binokulära ledtrådar så blir scenen genast mycket mindre tvetydig. Rådata från ledtrådar för djupseendet så som skuggning, textur och disparitet kan ses som enkla (eller nollte ordningens) representationer av den tredimensionella strukturen i en bild. 15 Baserat på denna information så kan högre nivåer av interna representationer av objekt i bilden skapas. Ofta med ett diskret resultat den observerade scenen har bara en möjlig förklaring och tvetydigheten har bearbetats bort. The AI Approach The AI Approach 16 kallas den syntetisering görs genom att rigoröst beskriva det beräkningsmässiga problemet som organismen står inför. Och därefter försöka utveckla en beräkningsmässig teori och en begränsad mängd algoritmer som kan hantera problemet. Det som gör denna synsätt så speciellt är att det tillåter användaren att ha interna representationer på låg nivå för djup, textur, rörelse och så vidare, men inte om saker i sig. Användaren tillåts inte ha några interna representationer för till exempel bilar och blommor, representationer på högre nivå, med andra ord. En grundläggande genomgång hur visuell perception fungerar Att ge datorer förmågan att se är ingen lätt uppgift eftersom vi lever i en värld med minst tre dimensioner och när maskiner försöker analysera objekt i ett tredimensionellt rum så tillåter dagens sensorer dem oftast bara att bearbeta informationen på ett tvådimensionellt plan. Detta leder uteslutande till att mycket information går till spillo. För att förenkla det maskinella seendet och förståelsen så brukar man definiera två nivåer av bearbetning 17 : Den första nivån är lågnivåbearbetning, som använder väldigt lite internaliserad kunskap om bilden den bearbetar. Denna typ av bearbetning påminner, eller är i flera fall identisk med, vanlig digital bildbearbetning som sker i en digitalkamera, i följande ordning bukar det ske: 1. Bildinsamling via t.ex. en kamera, lins och ljuskänsligt filter. 2. Digitalisering av bilden. 3. Förbehandling som för det mesta innehåller: Extra skärpa Brusreduktion: Gaussisk oskärpa eller medianfilter. 18 14 AI And The Eye, s.120 15 AI And The Eye, s.121 16 AI And The Eye, s.22 17 Digital Image Processing 18 Introduction to Smoothing 8

Kantdetektion. 4. Bildsegmentering, där maskinen försöker dela upp bilden i de beståndsdelar där datorn kan separera objekt från bakgrunden. 5. Objektbeskrivning och viss klassificering kan även ske. I högnivåbearbetning av bilden, som baserar sig på internt representerad kunskap om världen. Här finns mål för beräkningsprocessen, kunskap och planer för att nå dessa mål. AI-metoder är väldigt vanliga att använda sig i dessa fall. Högnivåbearbetning försöker efterlikna den mänskliga kognitionen och människans förmåga att fatta beslut med hjälp av den information som observatören eller datorn presenteras inför. En bild kan beskrivas med två (eller, ibland) tre variabler: i. Det finns koordinater (x och y) i ett plan samt att om bilden förändras över tiden så finns det tre koordinater (x, y, t). ii. Varje pixel (koordinat) i bilden kan ges ett ljusvärde (och färgvärde) på en kvotskala. iii. Funktionsvärdet kan även beskriva andra värden så som temperatur, tryckdistribution, avstånd från observationspunkten och så vidare. iv. Bilddigitalisering Att skapa en bild görs genom att funktionen ƒ(x, y) (m, n) där x och y denoterar heltalsvärdet i en cell i en matris med M rader och N kolumner. Kontinuiteten i ƒ(x, y) delas i K intervaller. Ju finkänsligare sampling högre kvantitet i M, N och K desto bättre fungerar funktionen ƒ(x, y). Granulariteten (finkänsligheten) bör bestämmas, dvs. avståndet mellan två mätpunkter i bilden. Detta p.g.a. Interferens mellan brus och problemets beräkningsbarhet. Därefter bör den geometriska fördelningen av testpunkter och ytor ( sampling grid och slumpmässigt Markov-fält) sättas. Att återfå den information som går förlorad när man överför en tredimensionell bild på ett tvådimensionellt medium (motsvarande retinan) är bara huvudsakligen ett geometriskt problem i datorseende. 19 Det andra problemet gäller hur man ska tolka ljusvärden i bilden. Den enda informations som är tillgänglig i en monokrom bild är ljusheten på varje enskild pixel (koordinat). Vilket i sig är beroende på ett flertal av varandra oberoende faktorer så som hur objektets yta reflekterar ljus. Det kan vara högblankt, suddigt, texturerat, ha märken osv. Belysningens beskaffenhet - vinkel, styrka, spridning, flertal källor osv. Ytans vinkel jämtemot observatören. Kartläggning av visuella ledtrådar En viktig fråga att ställa sig är vilka ledtrådar som ska ges störst vikt när man behandlar visuell rådata. Behöver man veta mycket om texturer för att föra en tråd genom ett nålsöga eller räcker det med en höjdkarta (eng: pointwise depth map)? Behöver man behandla bilden 19 Digital Image Processing 9

med t.ex. Gaussisk oskärpa för att få bort brus och jämna ut bilden? Enligt Marr och Nishihara (1978) 20 så finns chansen att deras följande två grundläggande processer kan lösa många problem. Dessa grundläggande processer har flera individuella kategorier för att få fram ledtrådar ur bilderna: I den första processen bör man bearbeta ocklusionen först, eftersom den är vanligast och bäst att använda när det gäller kartläggning och beskrivning av ledtrådar för objektets placering i rummet, än t.ex. lutning. Medan skuggning är viktigare för att bestämma lutningen än objektets placering i höjdplanet, och så vidare. Av det kan vi sluta oss till att resultaten från olika beräkningsprocesser ska vägas olika mycket när vi ska disambiguera en tolkning av en bild. Det andra är ledtrådarnas interaktion med varandra beroende på dess beskrivning. Från en beräkningsgrunds synvinkel så kan vi fråga oss hur dessa ledtrådar bidrar till beräkningen och slutsatsen i en diskret deskriptor (eller flera kombinerade deskriptorer). I princip så finns det flera olika typer av användbara interaktioner mellan deskriptorer som är diskreta, skilda från andra par: i. Ackumulation: Information kan samlas in på flera sätt, så som med linjär sannolikhet, eller en mer beräkningsbar grund: Regelmässighet över flera liknande ledtrådar slås ihop och räknas samman. ii. Samarbete: Är framförallt nyttigt att använda när man har stora mängder brus eller störande moment. Moduler kan då arbeta synärgetiskt för att i en icke-linjär interaktion behandla sina ledtrådar i enskilda delar av bilden. Ett bra exempel på detta är hur man kan behandla data med hjälp av ett slumpmässigt Markov-fält 21 för att få fram prototyper från en bild. Prototyper är ett vanligt inslag i neurala nät för maskinellt seende. Formeln för ett slumpmässigt Markov-fält är som följer: Låt S = {X1,..., Xn}, med Xi in {0,1,...,G-1}, vara en mängd av slumpmässiga variabler i sample-rymden Ω={0,1,...,G-1}n, ett sannolikhetsvärde π är ett slumpmässigt valt fält om: π(ω) > ω Ω Ett SMF uppvisar följande Markovska egenskaper: π(x i = x i X j = x j,i j) = π(x i = x i i ) Sannolikheten att en slumpmässig variabel antar ett värde beror inte på alla slumpmässiga värden. En sannolikhet för en slumpmässig variabel i ett SMF syns i ekvation 1, Ω' är samma realisation av Ω, förutom den slumpmässiga variabeln Xi. Det är lätt att se att det är svårt att beräkna med hjälp av den här ekvationen. Lösningen på det här problemet föreslogs av Besag (1974), när han kartlade relationerna mellan slumpmässiga Markov-fält och Gibbs slumpmässiga fält. π(ω ) π(x i = x i i ) = ω π(ω ) 20 What is a Visual Object 21 Thresholding with Random Field Theory 10

iii. iv. Disambiguering: I vissa ickelinjära fall kan information deriverat från en ledtråd användas för att disambiguera representationer från andra intryck. Till exempel kan stereoseende användas för att disambiguera skuggningar och högdagrar på objekt vars konvexa och eller konkava yta inte är tydligt belyst. Veto: Information från vissa ledtrådar kan vara så tydlig och stark att den inte får tillåtas att påverkas från andra ledtrådar. T.ex. genom disambigueringsförsök. De flesta angreppen på att hitta bra lösningar har fokuserat på punkt två, genom att hitta datatyper i en representation som tros vara unika. Poggio (1985) 22 la fram ett förslag om en ny formalism gällande hur olika visuella ledtrådar ska integreras. Förslaget är baserat på en sannolikhetsbaserad modell för vilka ledtrådar som används mest. Fördelen med den här modellen blir tydlig när den kopplas till det slumpmässiga Markov-fältet då det blir möjlighet att parallellt dela upp och reducera brus i en bild. Att jämföra Poggios förslag med (ackumulation) regelmässighet borde inte ge några signifikanta skillnader. 23 Dock finns den stora fördelen när man även beräknar t.ex. ocklusion. Den metod som A. Blake och T. Troscianko 24 använde sig av var att först mäta hur mycket individuella ledtrådar bidrar till den totala 3-dimensionella kartläggningen och därefter jämföra dessa bidrag och om möjligt gruppera dem kvantitativt. Alla bilder de använde sig av var binokulära med djupmarkören lagt som ett oleat ovanpå bilden. Uppskattat djup i bilden kartlades med en pekare son interaktivt förändrade sig mot den uppfattade ytan. Djupen uppskattades sen med hjälp av kantbaserat stereoseende där djupmarkören (pekaren) var lagt som ett oleat över bilden. Varje förändring av djupmarkören ger en graderad mätning av avståndet (eller det lokala djupet). Globala former på två föremål med olika kombinationer av ledtrådar för att uppskatta deras former jämfördes samtidigt. Eftersom alla bilder visar två ovaler vars loci-plan ligger i princip vänt bort från observatören. Dom är olika långa så ger mätningen av dem resultat som kan berätta om kurvatur eller form att använda som deskriptorer i 3D-världen. Objektorientering studerade A. Blake och T. Troscianko med hjälp av bilder på två avlånga ovaler som har olika orientering i rummet och olika vinkling mot observatören. Om en människa endast skulle ha texturen som ledtråd för att bestämma objektets lutning och orientering skulle mängden fel bli större än mängden rätt. 25 Med andra ord: ser man hela objekten så går det lätt att göra jämföranden mellan liknande föremål och gruppera dem. A. Blake och T. Trosciankos fynd från denna studie är framför allt att de fysiologiska processerna för att behandla synintryck är mjuka och påverkas inte mycket av bildens ljusintensitet eller andra variabler. 22 AI And The Eye, s.143 23 AI And The Eye, s.144 24 AI And The Eye, s.143 25 Todd & Mingolla 1983; 1986 11

Och vad är det egentligen man behöver veta för att till exempel känna igen ansikten? Är det inte bättre då att identifiera polygoner och via bågformer? Brooks ACRONYM-system Brooks (1981, 1983) 26 utvecklade ett system för 3D-tolkning av scener från enskilda bilder. 27 Systemet behandlar kanter, texturer, skuggning och djup-organisation av objekten i en scen. Systemet var synvinkelsoberoende för tredimensionella objektsmodeller genom att använda del-/helinformation och generaliserade cylinderprimitiver. Genom att använda en klassificeringshierarki att skapa parametrar av de naturliga begränsningarna innebar en stor avlastning på beräkningsbördan. Geometriskt resonerande via regelbaserad problemlösning kunde förutsäga hur objektet ser ut i andra vinklar, relationer. För att tolka scenen så kombinerar ACRONYM lokala ledtrådar som stämmer, och tvingar dem att konformera med den interna representationen genom att göra dem lite elastiska (subgraph isomorphism). Dock har ACRONYM-systemet en mängd svagheter som innebar att det gavs upp på efter hand, bland dem hör: Svag kantdetektion eftersom den var dålig på att ta bort brus och förvandla kanterna till diskreta objekt. 28 Dålig gruppering av ledtrådar från de olika processerna gav ibland inte den starka disambiguering som man hade hoppats på. Top-downförutsägning misslyckas ofta. Ett av de värre problemen rör hur kunskapen var representerad i systemet. Det behöver tidigare 3D-modeller för alla objekt och typer av objekt som det stöter på. Så även om det ofta lyckades identifiera dessa objekt så var det inte någon lösning som Brooks och andra hade hoppats på att kunna uppnå. Många objekt kan dessutom inte delas upp I geoner eller andra mindre objekt för att identifieras. En stark särskiljning av olika ledtrådar för tidigt I beräkningsprocessen riskerar att förstöra möjligheterna för att processer på högre nivåer ska lyckas. Beräkningsteori kanter, sammanhållningar och ytor Brusreducering För att reducera brus måste vi veta vad bruset består av. Brus är nämligen pixlar i bilden som blivit missfärgade på vägen från objektet till bildbehandlingen. Det kan vara smuts på linsen, otydliga siktförhållanden, överkänslig sensor ljus som träffar sensorn fel. Detta bruset är distribuerat slumpmässigt (eller Gaussiskt om man så vill eftersom det bruset haren förmåga att spilla över på närliggande pixlar enligt en Bell-kurva) över bilden och uppträder oftare på ytor där ljuset är normal- eller underexponerat (ju mörkare en bild är ju tydligare står bruset ut). Den enklaste och mer välkända metoden för att reducera brus i en bild är att använda Gaussisk oskärpa. Att applicera Gaussisk oskärpa görs genom att beräkna en Gaussisk mask eller ett Medianfilter: 26 ACRONYM by Shimon Edelman 27 AI Magazine s. 8 28 ACRONYM by Shimon Edelman 12

Med en Gaussisk mask så slätar man ut värdet av en pixel över dess grannar och på det sättet tas oönskade toppar eller dalar bort från bilden. Tyvärr leder det obevekligen till att bilden blir mindre skarp och efterföljande behandling kan få problem. Med medianfilter går det lättare att bibehålla detaljer i bilden. Det görs genom att en grupp av pixlar väljs ut för att sedan rangordnas efter ljus- och/eller färgintensitet. Ett tröskelvärde bestäms för hur många pixlar beräkningen ska gälla och därefter appliceras medianvärdet på de utvalda (de med högst intensitet) pixlarna. Kantdetektion Kantdetektionen är egentligen en relativt enkel sak jämfört med många andra processer. Formeln för detta är som följer 29 : Där N(x, y) är koordinaten som räknas med. Det första Sigma-tecknet räknar på förändringen i höjdled (x) och det andra räknar på förändringen i sidled (y). Så om man använder konvolution K på pixelgrupp p (en grupp består vanligtvis av 9 pixlar). Så att man helt enkelt skapar en matris där varje cell har ett värde som visar hur mycket skillnad (positiv eller negativ) den är från sin granne. -1 0 +1-2 0 +2-1 0 +1 Det normala Kernel-förhållandet för X-riktningen i Sobel-operatorn (G x ) +1 +2 +1 0 0 0-1 -2-1 Det normala Kernel-förhållandet för Y-riktningen i Sobel-operatorn. (G y ) [http://en.wikipedia.org/wiki/sobel] Anta att vi har en bild bestående av 8*8 pixlar. Med följande gråskalevärden (0 är svart 255 är vitt): 0 0 0 0 63 63 63 63 0 0 0 0 63 63 63 63 0 0 0 0 63 63 63 63 0 0 0 0 63 63 63 63 63 63 63 63 0 0 0 0 63 63 63 63 0 0 0 0 29 Machine Vision, Theory, Algorithms, Praciticalities, 2nd Edition 13

63 63 63 63 0 0 0 0 63 63 63 63 0 0 0 0 När X-operatorn beräknas via Sobel-kärnan där A är vår bild: blir resultatet: 0 0 0 0 0 0 0 0 0 0 0 0 252 252 126-126 -252-252 252 252 126-126 -252-252 0 0 0 0 0 0 0 0 0 0 0 0 Anledningen att fältet endast är 6*6 i stället för 8*8 beror på att kantpixlarna inte kan beräknas eftersom den saknar granne. När Y-operatorn beräknas blir resultatet: 0 0 252 252 0 0 0 0 252 252 0 0 0 0 126 126 0 0 0 0-126 -126 0 0 0 0-252 -252 0 0 0 0-252 -252 0 0 Härnäst summerar vi resultaten av de båda beräkningarna med hjälp av: Resultatet blir då: 0 0 252 252 0 0 0 0 252 252 0 0 252 252 170 170 252 252 252 252 170 170 252 252 0 0 252 252 0 0 0 0 252 252 0 0 När vi räknat fram dessa värden så ska vi välja ett tröskelvärde för att antingen ersätta cellens (pixelns) värde eller behålla det. Vad vi kan göra är att i detta fallet är att välja tröskelvärdet 169 så kommer resultatet att bli en mycket exakt beskrivning av kanterna i den ursprungliga bilden. Det enda problemet är att hitta rätt tröskelvärde. 14

För det mesta är kanterna i bilden bäst när man kan välja ett tröskelvärde där, så fort en cells värde är över tröskelvärdet beskrivs den som vit och om cellens värde är under tröskelvärdet så blir pixeln färgad svart. Tyvärr så finns det inga bra algoritmer för att finna ett bra tröskelvärde, utan det är upp till programmeraren att sätta det värdet. Cannys kantdetektion Utvecklad av John F. Canny 1986 använder sig Cannys kantdetektion av en algoritm som i flera stadier bearbetar över bilden. Det kanske viktigaste resultatet av J. F. Cannys utveckling är en komputationell teori för kantdetektion och en förklaring varför den fungerar. 30 Canny ansåg att en optimal kant omfattar följande argument: God detektion: Algoritmen ska markera så många äkta kanter som möjligt i bilden. God lokalisering: Algoritmen ska placera de utmärkta kanterna så nära dess ursprungliga placering som möjligt. Minimal respons: en kant ska endast ge ett utslag (den algoritm jag presenterat här ovan markerar varje kant två gånger) och brus ska inte ge falska utslag. För att lyckas så använde sig J. F. Canny av en sökning bland funktionerna för att hitta den funktion som bäst satisfierar ett kvalificerat mål. Detta påminner mycket om att använda sig av derivatan för en Gaussisk funktion för att hitta den funktionen med högsta värdet. Brusreduceringen sker med hjälp av en Gaussisk mask, vilket vi gått igenom i ett tidigare avsnitt. Efter detta så försöker algoritmen hitta intensitetskurvor i bilden. Det vill säga de ytor där ljusvärdet förändas. Information om hur mycket och i vilken riktning som ljusförändringen sker sparas. Ju högre förändring och desto kortare avståndet är mellan ytterligheterna i intensitetskurvan desto större sannolikhet att intensitetskurvan ska markeras som en kant. Med andra ord: J. F. Canny använder, i likhet med många andra, tröskelvärden för att få ett bra resultat. Cannys kantdetektion börjar beräkningen med ett högt tröskelvärde för att vara helt säker på att det som ges som resultat verkligen är kanter. Men för att kunna låta algoritmen arbeta mer autonomt finns det en tröghet i tröskelvärdet så att om väldigt lite eller mycket passerar genom algoritmen så rättar den till sina nedre och övre tröskelvärden för att få en tydligare bild. Det viktigaste i bilden är långa linjer och om algoritmen inte kan finns några eller bara ett fåtal så börjar den att förändra tröskelvärdet och fortsätter att försöka att följa linjerna. Även om algoritmen inte kan följa linjen när den förändrat tröskelvärdet så kan den räkna ut i vilken generell riktning (till och med böjning) som linjen följer genom att från linjens startpunkt räkna ut en bana som linjen antagligen borde ha följt och därmed kan algoritmen komplettera bilden. När detta är klart återstår en svartvit bild med alla kanter markerade. Cannys kantdetektion har visat sig vara väldigt bra. Den är anpassningsbar och kan finna både smala och breda kanter eftersom både det Gaussiska filtret och tröskelvärdena går att förändra 30 Canny Edgde Detection, Wikipedia 15

för att nå ett bra resultat. Dock är processen väldigt beräkningskrävande och går inte att applicera på film i realtid. Vektorisering En bild som blivit behandlad med kantdetektion har visserligen blivit mycket tydligare än den bild som vi ursprungligen hade, men det återstår flera problem. Maskinen kan inte ta hänsyn till lutning på objektet som ska kännas igen. Inte heller går det bra att skala objektet för att den behandlade bilden är antagligen inte alls lika stor som den interna representationen. Inte heller går det att ta hänsyn till elasticitet att delar av bilden kan dras ut. Till exempel ansikten. För att vektorisera en bild använder vi den relativt enkla formeln: Där g är vektorn för den funna kanten och g är magnituden av samma kant och Delta är kantens riktning. När vektoriseringen av bilden är klar så har vi vunnit flera fördelar jämtemot en bild som består av en matris. Den vektoriserade bilden har ett väldigt litet avtryck på minnet, vilket gör den enkel att arbeta med. Men framförallt: Den vektoriserade bilden går att skalförändra, skeva, rotera och elastiskt förändra utan kvalitetsförlust eller svåra beräkningar. Slutsats och diskussion Det finns inte många kontroverser eller otydligheter att diskutera i den här grenen av Artificiell Intelligens. Eftersom de matematiska formler jag baserat projektarbetet på är vedertagna och används väldigt ofta. Dock så finns det många bättre algoritmer för att vektorisera bilder som klarar av att förutsäga linjernas riktning bättre. Det största problemet som AI-forskningen stöter på i de fallen jag beskrivit handlar om huruvida problemen är beräkningsbart hanterbara. Ta till exempel Gaussisk oskärpa som kräver minst 74 beräkningar per pixel. En vanlig TV-bild har lite drygt 300 000 pixlar och visas nästan 25 gånger per sekund. Detta resulterar i drygt 555 miljoner beräkningar per sekund bara för att reducera bruset i en bildsekvens som sedan tidigare var i en väldigt dålig (låg) upplösning. Dessutom verkar det finnas en övertro inom datalogin att algoritmer och Markovmodeller kan utgöra en bra lösning på de problem som de försöker att lösa när det ofta blir lager på lager av dellösningar. Ofta löser dom inte problemen mer än tillfredsställande och den exakta orsaken till varför är inte självklar. Vissa hävdar att det är på grund av att algoritmerna är så många och komplicerade i förhållande till den beräkningskraft som finns att tillgå idag till att det finns dom som menar att man börjat i fel ände om man vill simulera mänsklig visuell kognition. Det är den senare gruppen som är anhängare till att ANN kan vara den lösning som forskarna söker efter. 16

Jag har medvetet valt att utesluta Artificiella Neurala Nät ur projektarbetet eftersom den grenen av datorseendet är så pass stor och skiljd från det som jag valt att koncentrera mig på. Det enda de egentligen har gemensamt är användandet av prototyper för att identifiera objekt. För Neurala Nät har den digitala bildbehandlingen fram till kantdetektionen redan gjorts och de Neurala Näten behandlar då endast färdiga bilder. 17

Källor Machine Vision, Theory, Algorithms, Praciticalities, 2nd Edition E. R. Davies Academic Press 1997 Strutured Computer Vision, Machine Perception Through Hierachial Computational Structures Tanimoto & Klinger Academic Press 1980 AI Magazine, Volume 25, No. 2 Summer 2004, Cognitive Vision AI And The Eye Andrew Blake & Tom Troscianko John Wiley & Sons 1990 Artificial Intelligence, A Modern Approach, Second Edition, International Edition Stuart Russel & Peter Norvig Prentice Hall 2003 Cognitive Pshychology, Third Edition Robert J. Sternberg Thomson Wadsworth 2003 Percieving Shape From Shading V. S. Ramachandran W. H. Freeman & Co, Publishers 1990 http://psy.ucsd.edu/chip/pdf/shape_from_shading_p_&_p.pdf The effects of spatio-temporal integration on maximum displacement thresholds in the detection of coherent motion, Todd, J. T. & Norman, J. F. 1995 http://www.sciencedirect.com/science?_ob=mimg&_imagekey=b6t0w-3ymwkxk-cm- 2&_cdi=4873&_orig=search&_coverDate=08%2F31%2F1995&_qd=1&_sk=999649983&vi ew=c&wchp=dglbvzbzskwa&_acct=c000034998&_version=1&_userid=650414&md5=a9c437412a66013a6aec6 6a3c83d90e1&ie=f.pdf Digital Image Processing University of Iowa http://www.icaen.uiowa.edu/~dip/lecture/introduction.html http://www.icaen.uiowa.edu/~dip/lecture/imageproperties1.html Introduction to Smoothing Cambridge Cognition and Brain Sciences Unit http://www.mrc-cbu.cam.ac.uk/imaging/common/smoothing.shtml 18

What is a Visual Object Jakob Feldman http://ruccs.rutgers.edu/~jacob/papers/feldman_tics.pdf Thresholding with Random Field Theory Cambridge Cognition and Brain Sciences Unit http://www.mrc-cbu.cam.ac.uk/imaging/common/randomfields.shtml ACRONYM by Shimon Edelman http://kybele.psych.cornell.edu/~edelman/course/newrecog/node15.html http://kybele.psych.cornell.edu/~edelman/course/newrecog/node16.html Canny Edge Detection, Wikipedia http://en.wikipedia.org/wiki/canny 19