1 Indledning Specifikation af opgaven Målet med opgaven Rapportens struktur... 4

Størrelse: px
Starte visningen fra side:

Download "1 Indledning 4 1.1 Specifikation af opgaven... 4 1.2 Målet med opgaven... 4 1.3 Rapportens struktur... 4"

Transkript

1 Indhold 1 Indledning Specifikation af opgaven Målet med opgaven Rapportens struktur Segmentering Definition af et fiskesegment Generering af differensbillede Udglatning med Gauss filter Tærskelværdisegmentering Sammenhænge komponenter Behandling af segmenter Morfologi FFT Ekstrahering af fiskefeatures Fiskens rygrad Hovedet og halens position på rygraden Features Tracking Forhåndsviden Overlapsituationer Tracking ved klyngeanalyse af differensbilleder Tracking ved forudsigelse Forudsigelse ved brug af PDM Forudsigelse ved brug af et kunstigt neuralt netværk Optimale metode til forudsigelse Tracking ved et højdimensionalt featurerum Tildelingsproblemet Vurdering af metoderne Valg af metode Identifikation af overlap Fit af forudsigelse til overlap Point distribution models Metoden Aligning af træningsdata Udarbejdelse af modellen Udarbejdelse af et datasæt Begrænsninger ved PDM Active shape models Problemer med ASM Modificering af metoden Vurdering af den modificerede metode Kunstige neurale netværk Indlæringsalgoritmen Præprocessering af data Valg af input/output Optimering ved ind- og uddata alternativ Optimering ved ind- og uddata alternativ

2 7.6 Postprocessering af output Sammenligning mellem de 2 alternativer Forbedringer Vandskelssegmentering Automatisk bestemmelse af tærskelværdi Homogene koordinater Identifikation af segment med overlap Konklusion 31 A Figurer 33 A.1 Segmentering A.1.1 Gennerering af gennemsnitsbillede A.1.2 Foldning med Gauss filter A.1.3 Tærskelværdisegmentering A.1.4 Behandling af segmenter A.2 Fiskefeatures A.2.1 Fiskens rygrad A.3 Tracking A.3.1 Optimering af forudsigelse ved PDM A.3.2 Point distribution models vs. neurale netværk A.4 Point distribution models A.4.1 Reducering af datasæt A.4.2 Variationer for PDM med 1 fisk A.4.3 Variationer for PDM med 2 fisk A.4.4 Ormeproblemet A.5 Active shape models A.5.1 ASM (slange) set globalt i overlapsituation A.5.2 ASM (larve) set globalt i overlapsituation A.5.3 ASM (larve) set globalt i overlapsituation A.5.4 ASM (larve) set globalt i overlapsituation A.5.5 ASM (larve) der bevæger sig fremad A.5.6 ASM (larve) der fitter sin hale ind A.5.7 ASM (larve) der ikke kan fitte til data i billedet A.5.8 ASM (larve) der hurtigt fitter til data i billedet A.6 Neurale netværk A.6.1 Alternativ A.6.2 Alternativ A.6.3 Sammenligning mellem alternativer A.7 Hungarian A.7.1 Grådig algoritme B Kildekode 76 B.1 alignpair.m B.2 alignsets.m B.3 annotatefish.m B.4 asm.m B.5 boundaries.m B.6 calccov.m B.7 calceig.m B.8 cleanskeleton.m B.9 getpcoordinates.m B.10 getsegments.m

3 B.11 gettail.m B.12 hungarian.m B.13 makecostmatrix.m B.14 makepdm.m B.15 meanimage.m B.16 occlusion.m B.17 prediction.m B.18 preprocessing.m B.19 simplifyfish.m B.20 trainneuralnetwork.m B.21 walkskeleton.m Litteratur 93 3

4 1 Indledning Dette er et bachelorprojekt udarbejdet ved Datalogisk Institut Københavns Universitet (DIKU) i forårssemestret 2004 med Peter Johansen som vejleder. Projektet omhandler hovedsageligt emner indenfor billedbehandling, og det forventes at læseren har et rimeligt kskab til området. Programmet er udviklet i Matlab, og derfor er et kskab til dette en nødvighed for at få et detaljeret indblik i implementeringen. Vi har anvt programmel fra kurset Datalogi V - Billedbehandling og mønstergenkelse, men med vores egne modificeringer. Dette drejer sig hovedsageligt om pdmfit.m (omdøbt til asm.m), boundaries.m og pdmbatch.m, der alle kan findes under stien /usr/local/del1/datv-billed/matlab på DIKU s systemer. Projektet er blevet udbudt af John Fleng Steffensen fra Marinebiologisk Laboratorium i Helsingør, der i forbindelse med adfærdsanalyse af fiskestimer, har ytret ønske om at få implementeret et 2D trackingsystem. Nøgleord: Tracking, Point distribution models, Active shape models, kunstige neurale netværk. 1.1 Specifikation af opgaven Problemet går ud på at observere aktiviteterne af forskellige fiskestimer i forhold til iltindhold i vandet. I [12] er der beskrevet en række forsøg af denne type. Det foregår ved at en fiskestime i en beholder med dimensionerne 60 cm, og en vanddybde på 25 cm, observeres ovenfra af et fastspændt kamera. En fisk udvælges som repræsentant for stimen, og markeres, så kameraet let kan genke den. Derefter observeres repræsentantfiskens position i beholderen over en periode (dette foregår i real time), og på baggrund af de observerede positioner kan svømmeafstanden, hastigheden og retningen findes. Ønsket er, i stedet for kun at følge én fisk, at kunne følge alle fiskene i stimen samtidig. Vi skal altså lave et system, der kan tracke flere fisk samtidig, og samtidig holde styr på deres identiteter. For at skalere problemstillingen ned til noget vi kan afprøve vores ideer på, har vi lavet vores eget setup beståe af 4 fisk i en balje vand, der bliver filmet af et fast kamera fra oven. I stedet for at tracke i real time, arbejdes der på en række filmsekvenser taget med kameraet. Vi har optaget 4 filmsekvenser af varighed på ca. 15 sekunder, i en opløsning på pixels Målet med opgaven Målet med dette projekt er at lave et prototypesystem, der kan tracke fiskene i vores egne omgivelser, på baggrund af en række filmsekvenser. Mere specifikt vil det sige, at kunne identificere fiskene og finde deres positioner, i de enkelte frames, i en filmsekvens, samt at holde styr på identiteten af hver fisk gennem hele filmsekvensen. Vi har på forhånd lagt os fast på ikke at lave et real time-system, men har i stedet fokuseret på at få afprøvet en række velkte metoder i praksis. 1.3 Rapportens struktur Vi har valgt at opbygge rapporten kronologisk i forhold til vores løsningsmodel. Rapporten består af følge overordnede afsnit: Segmentering Afsnittet beskriver de billedbehandlingsmæssige teknikker vi har benyttet for at isolere og behandle de objekter (dvs. fiskene), der bevæger sig i billedet. Ekstrahering af fiskefeatures Dette afsnit beskriver de fiskefeatures vi har ekstraheret til senere brug ifm. id-håndtering i trackingdelen. 1 3 af filmene ligger på de medfølge CD er, og der henvises til vedlagte readme.txt fil 4

5 Tracking Afsnittet beskriver en række trackingalternativer, og kommer samtidig ind på problematikken omkring fiskeoverlap. Løsningsalternativer til overlapproblemet bliver diskuteret med referencer til afsnittene om PDM, ASM og kunstige neurale netværk. Point distribution models Dette afsnit går i dybden med generel teori omkring PDM, og beskriver de problemer der er forbundet med anvelsen af PDM til problemstillingen i denne opgave. Active shape models Afsnittet beskriver generel teori omkring ASM samt anvelsen og modificeringen af metoden til problemstillingen i denne opgave. Kunstige neurale netværk Kunstige neurale netværk falder måske lidt udenfor rapportens overordnede fagområde (billedbehandling), men er medtaget for at give forudsigelse ved PDM et sammenligninsgrundlag. Afsnittet beskriver de muligheder, der er i et neuralt netværk til at forudsige på baggrund af historik, i form af fiskefeatures. Man kunne argumentere for at tracking skulle være placeret før segmentering og ekstrahering af fiskefeatures, men dette er ikke gjort, idet at tracking afsnittet diskuterer brugen af fiskefeatures samt refererer til de behandlede fiskesegmenter. Afsnittene om PDM, ASM og neurale netværk, er placeret sent i rapporten, selvom der refereres til disse på et tidligere tidspunkt, i trackingafsnittet. Grunden hertil skyldes et ønske om at holde en rød tråd i rapporten, og ikke overdynge læseren med for meget teori, før selve ideerne kædes sammen i trackingafsnittet. 5

6 2 Segmentering Målet med segmentering er at adskille fiskene fra baggrunden, således at hvert segment beskriver en fisk. De anvte metoder er hovedsageligt baseret på teknikker beskrevet i [4]. Afsnit diskuterer forskellige trackingmetoder, men som nævnt i indledningen er segmentering alligevel bragt på dette tidlige sted i rapporten, for at kunne give et solidt diskuteringsgrundlag, når der tages stilling til overlapsituationer og anvelsen af fiskefeatures senere i rapporten. Før der tages stilling til de forskellige segmenteringsteknikker, skal den segmenterede fisk defineres. 2.1 Definition af et fiskesegment En af hovedprioriteterne er at bevare fiskens overordnede kontur igennem de forskellige segmenteringstrin. Dette skyldes målet om at knytte en række beskrive features til fisken. Man kan sige, at hvis det blot var positionen, der var afgøre, ville kravet til bevarelse af homotopien være af noget mindre betydning. Segmenteringen må altså ikke ødelægge fiskekonturerne. Det skal ligeledes afgøres hvorvidt fiskene skal være repræsenteret som binære- eller gråtonesegmenter. Grundet et ønske om at benytte binær morfologi til at behandle fiskesegmenter og ekstrahere fiskefeatures, har vi som udgangspunkt sat det som et mål, at segmenterne skal være repræsenteret binært. Segmenteringen er opdelt i en række trin: Generering af differensbillede på baggrund af gennemsnitsbillede Foldning med Gauss filter Tærskelværdisegmentering Sammenhænge komponenter Behandling af hvert segment Morfologiske operationer Fourier transformationen 2.2 Generering af differensbillede For at kunne skelne fiskene fra baggrunden, har vi valgt at generere et gennemsnitsbillede og subtraktere dette fra de enkelte frames som dermed vil give et differensbillede. Med denne metode vil fiskene træde tydeligt frem og danne en solid basis for den videre segmentering. Et billede kan beskrives ved en konstant del (gennemsnitsbilledet) f(x, y) samt en tilføjet komponent η(x, y) der beskriver bevægelserne (differensbilledet): G(x, y) = f(x, y) + η(x, y) I sættet g(x, y) beståe af K sådanne billeder kan gennemsnitsbilledet ḡ(x, y) beregnes: g(x, y) = 1 K K g i (x, y) = 1 K i=1 K (f i (x, y) + η(x, y)) i=1 ḡ(x, y) = 1 K K f i (x, y) + 1 K i=1 K i=1 η i (x, y) = f(x, y) + 1 η(x, y) K Ud fra ovenståe formel kan det ses, at ukorreleret støj bliver reduceret med en faktor K. Hvis hvert billede i sættet er blevet taget med et relativt stort tidsinterval, vil fiskenes positioner ligeledes være relativt ukorrelerede og hermed blive undertrykt i gennemsnitsbilledet med faktor K. Et andet forhold der skal med i betragtningerne om billedsættet, er intensitetsniveauet mellem 6

7 fiskene og baggrund. Hvis denne forskel er beskrevet ved n intensitetsniveauer skal der gælde at K > n for at udjævne fiskenes spor i gennemsnitsbilledet. Hvis systemet skal køre realtime, kunne man overveje at foretage en løbe opdatering af gennemsnitsbilledet, for hermed at tage højde for eksempelvis lysændringer. Gennemsnitsbilledet kan ses i figur 4 i bilag A Udglatning med Gauss filter Differensbilledet kan betragtes som et bjerglandskab, hvor bjergene udtrykker bevægelse i den nuvære frame. Selvom det ideelt set kun er fiskene, der bevæger sig, er der alligevel mulighed for at støj optræder i differensbillede, fx som mindre bjergtoppe tilfældigt fordelt i landskabet (billedet). Denne støj kan nedtones ved at udglatte differensbilledet med et såkaldt gauss filter. Udglatningen foregår ved at man for hver pixel i billedet f(x, y) beregner en output pixelværdi g(x, y) ved at centrere filteret over f(x, y) og udregne summen af den pladsvise multiplikation mellem billede- og filterværdierne, beskrevet ved: g(i, j) = f(i m, j n)h(m, n) (m,n) O Et gauss filter er specificeret ved en vinduesstørrelse n samt en standard afvigelse σ. σ afgør hvor bred gaussfordelingen skal være, jo større, desto lavere og mere bred bliver gaussfordelingen. Med andre ord, jo højere σ er, jo mere udjævnet bliver billedet. Vi har eksperimenteret med forskellige σ er og vinduesstørrelser, og fundet frem til, ved visuel inspektion, at σ = 3 og n = 3 giver det bedste resultat. Figurer med forskellige gausskonfigurationer kan ses i figur 5 i bilag A Tærskelværdisegmentering En måde at segmentere billedet på er at anve en tærskelværdi til at afgøre hvilke pixels i billedet, der hører til hhv. forgrund og baggrund. Alt efter kompleksiteten af det billede der skal segmenteres, kan denne tærskelværdi være globalt eller lokalt bestemt. Segmentering vha. en global tærskelværdi kan oftest benyttes, hvis et billede er taget under kontrollerede forhold, hvilket er tilfældet med dette projekt. I den globale tilgang kigges der bredt henover histogrammet og en optimal tærskelværdi estimeres. Den lokale metode kigger på små områder i billedet og afgør en lokal tærskelværdi, dvs. den lokale metode estimerer forskellige tærskelværdier anvt på forskellige delmængder af billedet. Dette kan være praktisk i situationer hvor de objekter man gerne vil skille ud fra baggrunden har variere intensiteter. En inspektion af histogrammet (se figur 6 i bilag A.1.3) viser at det er præget af en enkelt top, som angiver baggrunden. Vi havde forventet at histogrammet havde været bimodalt, da fiskene ved inspektion af differensbilleder ser ud til at skille sig ud fra de øvrige omgivelser, og dermed regnede vi med at kunne afsøge histogrammet for et lokalt minimum der trådte frem mellem de 2 lokale maksima. Vi har derfor valgt at eksperimentere os frem til en passe tærskelværdi, og segmenteringen har givet et fornuftigt resultat ved en tærskelværdi på 9. Differensbilleder med tærskelværdisegmentering er vist i figur 7 i bilag A Sammenhænge komponenter Billedet er nu transformeret til et binært billede. Næste skridt er at afsøge billedet og identificere de enkelte segmenter. Segmenterne ligger i klynger rundt omkring i billedet og for at tildele pixels med værdier >= 1 til deres respektive segment, har vi benyttet metoden Connected component labeling angivet i [4], som i bund og grund går ud på, at sammenhænge pixelklynger bliver markeret som et segment. Man kan vælge mellem at definere en nabopixel ud fra hvorvidt det ønskes at pixels, der ligger skråt i forhold til hinanden kan være naboer. Vi har valgt at medtage skrå pixels for at sikre, at bl.a. fiskehaler ikke unødigt bortskæres grundet en striks labeling. Det er desværre ganske givet, at der ind imellem vil blive identificeret et antal segmenter pga. støj. 7

8 For at skelne disse segmenter fra fiskesegmenter har vi valgt at se bort fra segmenter med antal pixels < Behandling af segmenter Hvert segment repræsenterer på dette stadie en fisk, eller flere hvis der er tale om et overlap. Disse segmenter betragter vi som helt rå og uformede, idet at de ved visuel inspektion, i visse tilfælde, ser særdeles hærgede ud, dvs. fyldt med små huller og en ujævn kant. Vi har derfor besluttet os for at efterbehandle hver fisk, sådan at fiskeformen bliver mere lig de oprindelige konturer. Der er 2 fremgangsmåder til løsning af dette problem, morfologiske operationer samt Fourier transformationen i 1D til udglatning af fiskeformerne Morfologi Målet med morfologien er 1. At lappe eventuelle huller i fiskene. 2. Udglatte fiskenes kant bedst muligt, uden dog at ændre for meget på de oprindelige fiskeformer. For at løse 1 har vi eksperimenteret med den morfologiske operation close. Denne operation foretager en dilation efterfulgt af en erosion. Dette bevirker at hullerne i fiskene bliver fyldt ud, med mindre de er for store i forhold til det strukturere element. Dilation kombinerer 2 sæt ved brug af vektoraddition, hvor dilationen X B er punktsættet af alle mulige vektoradditioner af par med et element fra hvert sæt X og B. Opskrevet med Minkowski s formalisme: X B = p ɛ 2 : p = x + b, x X og b B Dilation forøger altså konturen og dermed lappes hullerne i fiskene. Dilation kan i dette tilfælde dog ikke stå alene, da dilationen har gjort fisken større proportionelt med størrelsen af det strukturere element. Derfor skal der i det her tilfælde følges op med en erosion, som er den omvte operation 2. Erosion kan formelt opskrives som: X B = p ɛ 2 : p + b X for ethvert b B Close vil ligeledes, til en vis grænse, udglatte fiskens kant, men fisken vil stadig være præget af en ujævn kant, der dog ikke er så slem som før. Vi er kommet frem til at close med et strukturere element på 3 3 er velegnet i vores tilfælde. Close anvt på en ujævn fisk er vist i figur 8 i bilag A.1.4. Resultatet har i første omgang været tilfredsstille for os, men vi løb senere ind i problemer i forbindelse med udtrækning af nogle fiskefeatures pga. at thinning (thinning beskrives i afsnit 3.1) efterlod små tentakler på skelettet, og dette var forstyrre for den efterfølge brug af fiskene. I forsøget på at opnå en nu bedre udglatning har vi anvt Fourier transformationen i 1 dimension FFT Den diskrete 1D Fourier transformation og dens inverse (som beskrevet i [8]) kan bruges til at beskrive en sammenhænge kontur i et digitalt billede. Konturen er beskrevet ved en sekvens af komplekse tal f(1), f(2),..., f(n). Fourier transformationen er beskrevet ved følge formel: F (n) = 1 N N k=1 f(x)e ( 2πi N ) (k 1)(n 1) 2 Dermed ikke sagt at dilation og erosion er hinandens inverse transformationer. 8

9 Fourier transformationen returnerer Fourier deskriptorerne, og disse bruges til at beskrive hvordan konturen kan repræsenteres i frekvensdomænet. Vi ved at Fourier deskriptorerne er ordnet således at det der beskriver den højfrekvente natur i konturen ligger i midten, hvorimod de øvrige ligger med aftage frekvens ud mod erne. Herefter er det muligt at skære de frekvenser bort som beskriver konturens højfrekvente natur, og kun beholde et udpluk af de Fourier deskriptorer der beskriver konturens grundform, nemlig de lavfrekvente. De højfrekvente deskriptorer skæres væk ved at sætte dem til 0, og herefter benyttes den inverse Fourier transformation til at komme tilbage til komplekse koordinater: f(n) = 1 N N k=1 F (x)e ( 2πi N )(k 1)(n 1) På denne måde kan vi styre hvor simpel en udgave af fiskene vi ønsker, ved at skrue på antallet af deskriptorer der nulstilles. I dette tilfælde er vi blot interesserede i at udglatte konturen, men stadig beholde den overordnede grundform. Ved at eksperimentere med antallet af frekvenser, vi ønsker at beholde, er vi nået frem til at 4 frekvenser er nok til at beskrive en fisks grundform, og fiskens kontur er, som ønsket, fuldstændig udglattet. Figur 9, 10, 11 og 12 i bilag A.1.4 viser et par før- og efter eksempler af Fourierudglatningen. Dog har vi været opmærksomme på at fisk kan overlappe, og i disse situationer kan det være nødvigt med flere frekvenser for at beskrive formen. Efter eksperimentelle forsøg, er vi nået frem til at 14 frekvenser er rigeligt. Figur 13 og 14 i bilag A.1.4 viser et par eksempler. Vi skelner altså i programmet mellem normale fisk, repræsenteret ved 4 frekvenser, og overlappe fiskesegmenter, repræsenteret ved 14 frekvenser. Fourier-alternativet er afgjort mest velegnet til vores problemstilling, og vi har derfor valgt denne metode til efterbehandling af fiskesegmenter. 3 Ekstrahering af fiskefeatures Efter t segmentering, står vi med en række segmenter, hvor hvert segment repræsenterer en fisk. Vi har valgt at knytte en række features til hver fisk, for senere, bl.a. at kunne afhjælpe identificeringen af disse. For at kunne udpege fiskefeatures er der oftest behov for at kunne ke forskel på fiskens hoved samt hale. Halen kan udregnes på følge måde: For hvert punkt i segmentet med værdien 1 (dvs. fiskepunkt), udregn afstanden til de øvrige fiskepunkter. Den største summerede afstand må nødvigvis være halen, da vi på forhånd ved, at fisken har en tykkere form omkring hovedet. Vi kan på baggrund af halens placering approksimere os frem til hovedets placering, men i det følge beskriver vi en fremgangsmåde til at gøre dette nu mere præcist. 3.1 Fiskens rygrad Vi har af flere årsager valgt at finde frem til fiskens rygrad, dels giver det os en mere håndterlig form at arbejde videre med, og dels afhjælper det udtrækningen af flere af de øvrige features, hvilket vil blive klart når de hver bliver beskrevet. Vi stod mellem 2 alternativer for at udtrække rygraden (beskrevet i kapitel 11 i [4]): 1. Morfologisk skeleton (maximum ball). Skeleton virker ved at man placerer de størst mulige bolde over konturen med centrum på kantlinierne uden at disse overlapper. Herefter rulles boldene rundt langs konturen, alt imens boldene varierer i størrelse for at overholde kravet om størst mulige bolde. Dette efterlader konturens skelet - det som vi definerer som en fisks rygrad. Formelt kan skelettet S opskrives som: S(X) = p X : r >= 0, B(p, r) er en maksimal bold i X hvor en bold B(p, r) er defineret med centrum p og radius r, og det maksimale bold-sæt X Z 2 består af et sæt centre p. Der er umiddelbart 2 problemer med skeleton, dels er det 9

10 ikke garanteret at homotopien (sammenhængen) på det oprindelige sæt bliver bevaret, og dels kan skeletlinier være tykkere én pixel. 2. Morfologisk thinning. Thinning benytter en anden fremgangsmåde, som virker ved at konturens lag bliver skrællet væk ét efter ét, indtil det ikke længere er muligt at bevare sammenhængen i konturen. Dvs. thinning adresserer skeletons problem med den mangle bevarelse af homotopien. Formelt kan Thinning opskrives som: X B = X\(X B) hvor X er billedet og B er et par af sammenhænge strukturere elementer. Efter at have gransket de 2 metoder, træder thinning umiddelbart frem som den mest fordelagtige metode generelt set, men vigtigst for os er, at fiskekonturen bevares samt at skelettet ligner en rygrad mest muligt, og ikke et afpillet fiskeskelet med afstikkere ud i alle mulige retninger, som i mange tilfælde højst sandsynligt ville kræve en form for efterbehandling. Eksempler på anvelse af de 2 metoder er illustreret i bilag A Hovedet og halens position på rygraden Med et fiskeskelet i hånden er det nu blevet øjensynligt lettere og mere præcist at udtrække en række fiskefeatures, og ikke mindst hængepartiet omkring fiskens hoved. Vi ker positionen på halen, dog skal vi være opmærksomme på at den eksakte haleposition ikke nødvigvis ligger på skelettet, derfor skal dette lokaliseres på ny. Vi ved dog, at den gamle position ikke kan ligge langt fra den nye hale, derfor har vi valgt at afsøge et område indenfor radius r af haleudgangspunktet. Dette giver en vektor med punktkoordinater på pixels med værdien 1. Herefter kører vi et sliding window på 3 3 indover de fundne punkter og tæller antallet af fiskepixels s i vinduet. Hvis s < 3 ved vi at der er tale om et epunkt og markerer derfor dette som den nye haleposition. Med halepositionen rettet til, kan hovedet nu let afgøres ved at løbe rygraden igennem og markere epunktet i den modsatte e. Man skal dog være opmærksom på at rygraden er blevet en anelse kortere pga. thinning. 3.2 Features I det følge vil det blive gennemgået hvilke features vi har valgt skal beskrive fiskene. Målet er at kunne beskrive fiskene så godt, at det ud fra de udvalgte features er muligt at kunne give en god approksimation på en fisks form. Massetyngdepunkt Massetyngdepunktet kan nemt findes efter samme princip som identificering af hovedet. Vi er blevet oplyst 3 at massetyngdepunktet ligger ca. 63% inde på fisken, set fra halen. Derfor har vi bevæget os langs skelettet indtil vi rammer 63%, og markeret dette punkt som fiskens massetyngdepunkt. Dette mener vi er en noget mere eksakt positionsangivelse blot at trække en vektor mellem hoved og hale og placere tyngdepunktet 63% inde. Dette ville i værste fald give et punkt der lå udenfor fisken, hvis vi f.eks. antager en bananformet fiskeform. Massetyngdepunktet er væsentligt idet, at dette punkt vil blive brugt til at markere fiskens position globalt set, i.f.m. f.eks. tracking. Retning Da vi ker den eksakte hale- og hovedposition, er det oplagt at udregne fiskens retning. Vi har dog været en smule i tvivl om hvorledes vi skulle trække retningsvektoren, skal den f.eks. trækkes mellem hoved- og halepunkt, eller fra massetyngdepunkt til hovede? Et alternativ kunne ligeledes 3 John Steffensen, projektudbyder. 10

11 være at tage et gennemsnit over flere retningsvektorer trukket mellem forskellige punkter på fisken, f.eks. fra hale til hoved, massetyngdepunkt til hoved osv. Umiddelbart virker det oplagt at trække retningen mellem massetyngdepunktet og hoved, da denne retning efter al sandsynlighed er mest sige for fiskens fremtidige retning, men netop ordet fremtidig er ved eftertanke nøgleordet, der forkaster dette alternativ, da vi fokuserer på fiskens nuvære retning og ikke prøver at forudsige fiskens fremtidige retning. På dette grundlag har vi valgt at udregne fiskens retning som en retningsvektor fra hale til hoved. Hvis s er en enhedsvektor der løber ud af positiv x-akse, d er retningsvektoren så finder vi vinken θ således: kan omskrives til d s = d s cosθ θ = cos 1 (s ( d d )) Dog skal vi være opmærksomme på at θ ligger i radianintervallet 0 til π, og det vi ønsker er vinkler der ligger i hele enhedscirklen, da vektorerne ( 0 1 ) og ( 1) 0 gerne skulle give forskellige vinkler, nemlig 1 2 π og 1 1 2π. For at håndtere dette har vi indført en lille betingelse, således at vinklen trækkes fra π såfremt at d har en negativ førstekoordinat, dvs. peger mod negativ y-akse. Hastighed Ved at føre historik over fiskenes positioner (massetyngdepunkt) kan vi udregne fiskens bevægelseshastighed. Til dette har vi benyttet pytagoras sætning til at udregne den euklidiske afstand d mellem positionerne. Med hastighed, retning og position som oplagte simple features, er det nu muligt at prediktere fiskens næste position på baggrund af historikken, og dette bliver der beskrevet nærmere om i afsnit 4.4. Form Hvis vi stopper op og kigger på de beskrevne features, indser vi at det der umiddelbart mangler for at fulde beskrivelsen af fisken, er dens krumning(er). Da vi på et tidligere tidspunkt i projektforløbet har gjort det klart at vi ville benytte PDM, er det derfor oplagt at benytte PDM til at beskrive fiskens former. PDM bliver afdækket i afsnit 5.3. Da modellen er udtrykt i et principalt koordinatsystem, hvor de mest betyde akser beskriver modellens største varianser, kan de principale koordinater på disse akser, for en given fisk, benyttes til at beskrive dens form. Der er flere tilgange til dette valg, enten kunne man sætte et mål for hvor meget af variansen man ville have beskrevet ved fisken, fx 90% udtrykt ved de fx n mest betyde komponenter og benytte disse n komponenter som features. Vi er dog ikke interesserede i at oversvømme vores featuresæt med n antal ekstra features for at beskrive formen, så derfor har vi lagt os fast på en enkelt komponent, nemlig den mest betyde. Dette mener vi er nok til at beskrive fiskens form i grove træk. Senere afsnit vil redegøre for hvorvidt dette valg har været tilstrækkeligt. Udregningen af den principale komponent er beskrevet i afsnittet om PDM. Disse 4 features udgør vores samlede featuresæt. Der har dog været nogle overvejelser omkring nogle andre features. Tekstur Fiskene har ved nøjere inspektion et nuanceret mønster på deres ryg. Dette ville kunne benyttes som et grundlag for at beskrive fiskenes tekstur, og identificerer dem ud fra statistiske mål, som angivet i kapitel 14 i [4]. Vi har dog udeladt dette grundet en række faktorer, fx billedernes kvalitet samt lysforhold. 11

12 Størrelse Størrelsen af fisken kunne være ganske relevant, dels for at kunne adskille fiskene på deres størrelse (skulle der være forskel på størrelserne), men ligeledes for at kunne tage højde for 3D effekten hvis fiskene svømmer i forskellige niveauer på dybt vand. Men at medtage denne feature ville introducere et par ekstra overvejelser, nemlig den perspektiviske forvrængning når fiskene befinder sig i forskellige vinkler set fra kameraets referencepunkt. Derudover skal man være mere påpasselig med segmenteringen for at sikre unødig ændring på fiskens størrelse. På baggrund af disse overvejelser, og da vores fisk alligevel svømmer rundt i lavt vand, samt det, at vi ikke er i umiddelbar mangel på features, har vi valgt at se bort fra denne feature. 4 Tracking Målet er at kunne identificere og følge et antal fisk i en sekvens af billeder. Endvidere skal der holdes styr på hver fisks id gennem billedsekvensen. For at kunne afgøre hvordan problemet skal løses, er det nødvigt at præcisere hvad der på forhånd vides om billedsekvensen. 4.1 Forhåndsviden Der er givet et fast antal fisk med samme farve og nogenlunde ens mønster på kroppen. Vi kan se hele det område de har mulighed for at bevæge sig rundt i, hvilket betyder, at der i løbet af sekvensen hverken er objekter, der forsvinder ud af billedet, eller at der kommer nye objekter ind i billedet. Vi ved også at sekvensen er taget under rimeligt kontrolerede lysforhold, så der er kun minimale lysændringer undervejs i sekvensen. Vandet fiskene befinder sig i er kun ca. 15 cm dybt, så fiskene vil generelt bevæge sig fremad fremfor nedad/opad. Dog er der dybt nok til at de kan passere hen over hindanden, hvorved der opstår overlap. Disse overlap vil besværliggøre vedligeholdelsen af fiskenes id. Sekvensen er optaget fra et fastspændt kamera, der betragter fiskene ovenfra, så der er tale om en problemstilling, hvor at statisk kamera følger objekter i bevægelse. 4.2 Overlapsituationer Undervejs i trackingen vil der jævnligt opstå overlapsituationer mellem fisk. Disse situationer skal på en eller anden måde håndteres, for at fiskenes id kan vedligeholdes. Der vil være forskel på sværhedsgraden af overlappene, nogle vil være forholdsvis lette at løse mens andre vil være direkte umulige at løse. Vi skelner mellem veldefinerede overlap, som et system af vores type bør kunne håndtere, og udefinerbare overlap, som enten er så specifikke, at systemet skal tilpasses til lige præcis den type eller som ikke engang det menneskelige øje kan klare. Et udefinerbart overlap kunne f.eks. være hvis en fisk dækker en anden fisk fuldstændigt. Det at håndtere segmenter med overlap virker som en svær opgave. Det ideelle ville være hvis man kunne processere segmentet og afgøre hvilke pixels, der tilhører de forskellige objekter. Men kunne måske finde en ad hoc metode, der kunne gøre dette for nogle veldefinerede overlap, ved at inspicere det thinnede segment (husk at vi har valgt at arbejde med den thinnede udgave af segmenterne, se evt. afsnit 3.1). Men da selv veldefinerede overlap kan have et utal af udformninger, er det nok ikke muligt at lave en sådan metode tilstrækkelig generel. Vi vil derfor gerne finde en metode, der kan håndtere overlap uden direkte at skulle inspicere segmentet med overlap. En mere specifik formulering af vores mål er således, at systemet skal kunne tracke en række sekvenser indeholdene veldefinerede overlap mellem to fisk, og klare de fleste af dem korrekt, under den betingelse, at segmenter med overlap ikke inspiceres direkte. I det følge skitseres en række generelle metoder til tracking, og der vil efterfølge blive taget stilling til, hvor velegnede de er til vores problemstilling. 12

13 4.3 Tracking ved klyngeanalyse af differensbilleder [10] beskriver en metode til tracking, der er baseret på klyngeanalyse af differensbilleder. Ideen er at objekter der bevæger sig i den nuvære frame, vil skabe klynger af pixels i differensbilledet, der laves ved at trække et referencebillede fra den nuvære frame. Objekterne beskrives ved de klynger de skaber i differensbilledet vha. klyngens centrum og kovariansmatrice. Desuden beskrives baggrunden også som en klynge. Sandsynligheden for at en pixel i differensbilledet tilhører de objektklynger, der blev identificeret i den tidligere frame, udregnes på baggrund af den givne pixels position og intensitet i differensbilledet, samt objektklyngernes parametre. Sandsynligheden for at den tilhører baggrundsklyngen udregnes kun på baggrund af intensiteten og baggrundsklyngens parametre, da baggrund er allesteds nærvære og pixlens position derfor ikke har betydning. Derpå benyttes EM-algoritmen til iterativt at beregne sandsynlighederne for hvilke klynger de forskellige pixels tilhører på baggrund af opdaterede parametre for klyngerne. Der er mulighed for at der kan opstå nye klynger, klynger kan dræbes hvis de består af for få pixels, en klynge kan deles op i to klynger og to klynger kan slås sammen til en klynge, hvor den nye fælles klynge overtager den største af de to gamle klyngers id. Det vil sige at antallet af objekter i billedsekvensen kan variere. Desuden tilpasses baggrunden, hvilket vil sige at referencebilledet løbe opdateres på baggrund af sandsynlighederne for at pixels tilhører baggrundsklyngen. Dette gør metoden mere robust overfor lysændringer. 4.4 Tracking ved forudsigelse Metoder af denne type baserer sig på segmentering af differensbilleder og forudsigelse af hvor objekterne bør være i den nuvære frame, på baggrund af features ekstraheret fra segmenter i tidligere frames. Metoden kan altså opsplittes i to dele, segmentering og forudsigelse, hvor segmenteringen svarer til hvad der er beskrevet i afsnit Dvs. at der benyttes et referencebillede som trækkes fra den nuvære frame. Det fremkomne differensbillede vil have høje intensiteter hvor objekterne befinder sig i framen. Objekterne kan findes ved tærskelværdisegmentering og evt. støj i de fremkomne segmenter kan udbedres med passe operationer, eksempelvis morfologi. Segmenterne kan identificeres ved farvning af sammenhænge komponenter. Derpå kan features for de enkelte segmenter udtrækkes, dette kan f.eks. være position, retning eller hastighed. Dette er første skridt i metoden, hvor segmenterne identificeres og behandles. Næste skridt er forudsigelse af hvor objekterne højst sandsynligt vil befinde sig i den næste frame. Til dette formål kan der benyttes en række metoder, hvoraf vi vil beskrive nogle muligheder i de følge underafsnit. Når forudsigelserne er lavet afsøges et område omkring hver forudsigelse og af de fundne segmenter, der ligger umiddelbart i nærheden af hver forudsigelse, vælges et af dem som være det objekt der søges. Et segment kan kun tilknyttes til én forudsigelse. Derved får hvert objekt i den næste frame et id svare til den forudsigelse deres segment tilknyttes Forudsigelse ved brug af PDM En PDM kan bruges til forudsigelse ved at lade hver form, i det træningssæt den baseres på, bestå af en sammensætning af en række former over tid. Dvs. at man konstruerer hver form i træningssættet således, at den består af en sammensætning af formerne for det samme objekt, som det varierer over et antal tidligere frames. Teorien bag PDM og hvordan de konstrueres er beskrevet i afsnit 5.3. Forudsigelsen foregår ved at vi har en række observationer fra de m tidligere frames, i form af n punkter på konturerne for objektet, og ønsker at forudsige punkterne på konturen for objektet i den nuvære frame m + 1. Vi har altså en vektor a af kte punkter: a = a 1, a 2,..., a mn og en vektor b af ukte punkter, som vi ønsker at estimere: b = b 1, b 2,..., b n 13

14 Desuden har vi gennemsnitsformen de t mest betyde eigenvektorer samt de restere eigenvektorer hvor en eigenvektor p i er givet ved x = ( x 1, ȳ 1, x 2, ȳ 2,..., x n(m+1), ȳ n(m+1) ) P 1 = (p 1, p 2,..., p t ) T P 2 = (p t+1, p t+2,..., p n(m+1) ) T p i = (p i 1, p i 2,..., p i n(m+1) ) PDM en bruges til at afgøre hvad der er de mest sandsynelige værdier for b, på baggrund af værdierne for a. Figur 1 viser situationen. f 1 er de akser i det 2n-dimensionale rum, for hvilke f2 P1 b z P2 a f1 Figur 1: Forudsigelse ved PDM. værdierne kes og f 2 er akserne for de ukte værdier. Modellen er placeret med gennemsnitsformen x i origo. b findes ved at lade a skære det underrum, der dannes af P 1 og projicere skæringspunktet z ind på f 2. Det kan formuleres på følge måde: P 2 z = 0 Denne ligning siger at skæringspunktet skal stå vinkelret på underrummet P 2. Dette sikrer at skæringen vil ske med underrummet P 1, da eigenvektorerne er orthogonale og de to underrum derfor står vinkelret på hinanden. Ligningen kan udtrykkes på matriceform: p t+1 1 p t+1 2 p t+1 n(m+1) p t+2 1 p t+2 2 p t+2 n(m+1) p n(m+1) 1 p n(m+1) } 2 {{ p n(m+1) n(m+1) } P 2 14 a 1 a 2. a mn b 1 b 2.. b n } {{ } z = 0

15 hvilket giver et ligningssystem med n(m + 1) t ligninger og n ubekte. Løsning af ligningssystemet giver de værdier b der søges. For at dette kan lade sig gøre kræves det at de kte punkter a alignes med gennemsnitsformen x, der er placeret i origo, ved en række transformationer, inden forudsigelsen foretages, og at de forudsagte punkter b transformeres tilbage til udgangspunktet med de inverse transformationer. Aligning er beskrevet i afsnit Det er nødvigt at afgøre hvor meget historik, der skal forudsiges på baggrund af. Vi har eksperimenteret med forudsigelse på baggrund af hhv. en frame og to frames (hvilket svarer til at formerne til modellen er sammensat af hhv. to og tre fisk). Figur 19 til 21 i bilag A.3.1 viser eksempler på forudsigelser. Der er ikke den store forskel på de to konfigurationer, de har begge en tens til at være lidt for korte, og det lader til at de begge ofte ligger lidt bagved den faktiske fisk. Generelt er modellen lidt bedre til at forudsige krumninger, ved brug af 3 fisk. Til gengæld forekommer der en forskydning af de forudsagte fisk i forhold til den faktiske fisk, og denne forskydning er størst ved brug af 3 fisk. Da det senere har vist sig at denne forskydning introducerer et potentielt problem (se evt. afsnit 6.1), hvorimod forudsigelse af den præcise krumning ikke har så stor betydning, vægter vi forskydningen højest. Derfor vælges det at benytte 2 fisk til forudsigelse, dvs. at der forudsiges på baggrund af én frame. Forudsigelserne er blevet testet på film 1, som ingen af modellerne er blevet trænet med Forudsigelse ved brug af et kunstigt neuralt netværk En oplagt mulighed til forudsigelse er at benytte et kunstigt neuralt netværk. Dette er dog et særskilt teoretisk område, som vil blive nærmere beskrevet i afsnit Optimale metode til forudsigelse Det skal afgøres, hvilken af de to nævnte metoder til forudsigelse, der er mest egnet til vores problemstilling. I figurerne 22 til 28 i bilag A.3.2 er der vist plot af forudsigelse ved hhv. PDM og neurale netværk 4. For begge metoder er der benyttet den optimale konfiguration. Som det kan ses ligger de meget tæt, men PDM ligger generelt lidt tættere på den rigtige fisk. I figur 23 kan det ses at PDM en kan forudsige former med mere én krumning, hvorimod det neurale netværk kun kan forudsige én krumning. Dette skyldes at der i det neurale netværk kun forudsiges på baggrund af den mest betyde formparameter, hvorimod PDM en benytter et større antal af de mest betyde formparametre (helt specifikt dimensionen af underrummet f 1 ). Det må konkluderes at begge metoder gør det godt, men at PDM klarer sig lidt bedre, da den både kan beskrive flere krumninger og generelt ligger tættere på den korrekte form. Så vi har valgt forudsigelse ved PDM som det bedst egnede. 4.5 Tracking ved et højdimensionalt featurerum En mere simpel trackingmetode er tracking vha. et højdimensionalt featurerum. Den har visse ligheder med tracking ved forudsigelse, da der er et segmenteringsskridt med efterfølge ekstrahering af features. Men i stedet for at benytte features fra tidligere frames til forudsigelse af features i den nuvære frame, benyttes der features fra den sidste frame og den nuvære frame til at finde en korrespondance mellem objekterne i de to frames. Ideen er at der udvælges n features for den type objekter der trackes, eksempelvis nogle af de features, der er nævnt tidligere, i afsnit 3.2 om ekstrahering af fiskefeatures. Hver feature tildeles en akse i et højdimensionalt rum, featurerummet, der derved bliver n-dimensionalt. Hvert objekt vil blive repræsenteret som et punkt i featurerummet, og vha. et passe afstandsmål kan objekter fra den ene frame knyttes sammen med objekter fra den anden frame. Det at knytte punkterne sammen i featurerummet på den bedst mulige måde kan beskrives som et optimeringsproblem, hvilket vil blive nærmere beskrevet i det følge underafsnit. For at give features den samme vægtning i featurerummet 4 Film 1 er brugt som data til sammenligningen, dvs. en film som ingen af metoderne er blevet trænet med. 15

16 når den euklidiske afstand udregnes, har vi valgt at skalere værdierne så de ligger i intervallet 0 til Tildelingsproblemet Situationen er den, at vi har x antal fisk i frame t 1, der på baggrund af euklidiske afstande i featurerummet, skal tildeles til de ubekte fisk i frame t. For at få den bedst mulige tildeling skal fiskene i frame t tildeles id er således at summen over hver fisks tildelte afstand i feature rummet (herefter omtalt som vægte) er mindst mulig. Der er umiddelbart 2 alternativer. 1. Udregne summen over alle vægttildelingskombinationer, og udtage den mindste sum som den optimale vægttildelingskombination. Dette resulterer i fakultet n kombinationer, hvor n er antallet af fisk. Altså en eksponentiel udvikling med en køretid på O(n!). 2. En grådig algoritme der med et tilfældigt udgangspunkt (dvs. fisk), tildeles den fisk med kortest vægt, og herefter iterere igennem fiskemængden. Køretid: O(n). Alternativ 1 er for langsomt. Minimumskravet er en algoritme, der har en polynomiel køretid. Dette krav matcher det andet alternativ, men til gengæld kan vi ikke være sikre på at tildelingen er optimal, og dette kan resultere i tab at fiskenes id. En situation hvor den grådige algoritme kan fejle er illustreret i figur A.7.1 i bilag 74, hvor vi antager et featurerum med 2 akser. Hvis vi anskuer vores tildelingsproblem lidt anderledes, nemlig som en todelt graf beståe af 2 mængder, illustreret i figur 2, indser vi at vi i virkeligheden står overfor et velkt algoritmisk problem, nemlig tildelingsproblemet (eng. Assignment Problem), som er et specialtilfælde af parringsproblemet (eng. Matching problem). En metode til at løse dette problem kaldes for Hungarian metoden (beskrevet i [11]), som har en køretid på O(n 3 ). Da grafen i dette tilfælde er komplet, kan man X Y X 1 C 11 C 12 Y 1 X 2 Y 2 X 3 Y 3 X 4 C 44 Y 4 Figur 2: X er mængden af kte fisk, der skal mappes til mængden Y som er de ukte fisk. C er kostfunktionen. anskue den som en kvadratisk matrice C, hvor rækkerne svarer til X a og kolonnerne til X b. Beskrivelse af algoritmen: 1. Søjlevektoren π ai udregnes til at være de mindste vægte i hver række, ligeledes for rækkevektoren π bk blot for kolonnerne istedet. 2. Dernæst udregnes: C = (C π ai ) π bk 16

17 således at C kaldes for den reducerede matrice. C ik = C ik π ai π bk >= 0 3. Marker et tilfældigt 0 i hver række og søjle. Hvis der står ét 0 på samtlige rækker og kolonner, er den optimale tildeling fundet. Marker en række hvor der ingen markerede 0 er er P s = 0, hvor P s er en søjlevektor, og der findes en tilsvare rækkevektor P t. Iterer: (a) Marker hver umarkeret kolonne k som indeholder et umarkeret 0 i en markeret række i: P k = i. Hvis der eksisterer mere én så udvælg blot én. (b) Marker hver umarkeret række i som indeholder et markeret 0 i en markeret kolonne k: P i = k. Der itereres indtil en kolonne t uden markerede indgange markeres, eller indtil det ikke længere er muligt at markere. I det førstnævnte tilfælde er en overskyde vej fundet, dvs. en vej i matricen (defineret ved de rækker og kolonner som er markeret af P s og P t ) hvor der optræder mere ét 0. Denne vej (markeringerne) kan omrokeres, således at C igen får den egenskab, at der for hver række og kolonne højst er ét markeret 0. Det foregår ved, at der på vejen mellem 0 erne ombyttes en markering mellem hver markeret- og umarkeret 0. Når dette er gjort, slettes markeringerne i P s og P t, og iterationen fortsætter. I det andet tilfælde, gå til Trin Et såkaldt hungarian tree er fundet, og følge udregninger foretages: hvis I + og K + er sættet af alle markerede rækker og kolonner og I og K er sættet af alle umarkerede rækker og kolonner, kalkulerer man følge: 5. Opdatering: og C ik er ellers uændret. Gå til trin Vurdering af metoderne = min[c ik], i I +, k K π i = π i +, for i I + π k = π k, for k K + C ik = C ik, for i I + og k K C ik = C ik +, for i I og k K + Fordelen ved den første metode er, at der ikke foretages nogen direkte segmentering af billedet. De andre metoder benytter tærskelværdisegmentering og evt. morfologi til udbedring af de fremkomne segmenter, hvorefter der udtrækkes en række features for segmenterne. Problemet ved dette er at morfologi og tærskelværdisegmentering giver informationstab, idet hver pixel tildeles til baggrunden eller et af objekterne uden at tage hensyn til usikkerheden ved denne tildeling. Til gengæld fører denne metode ikke historik over de objekter der trackes og der udtrækkes heller ikke megen information om objekterne. Den eneste information der er til rådighed, er en approksimeret position for objekterne i form af centrum for klyngerne og et mål for deres størrelse i form af klyngernes størrelse. Dette kan vise sig at være et problem, da vi gerne vil kunne håndtere overlap uden direkte inspektion af segmenterne, hvilket givetvis vil kræve noget mere information om objekterne. En klar ulempe er de dynamiske tilpasninger i metoden, der gør det muligt at håndtere variere antal objekter. F.eks vil sammensætning af to klynger kunne resultere i at to fisk der overlapper hinanden bliver betragtet som én fisk, hvorved den mindste fisks (klynges) id forkastes. Da vi på forhånd ved at der er et fast antal fisk, er de dynamiske tilpasninger ikke nødvige, og da de 17

18 samtidig har uhensigtsmæssige egenskaber, ville vi ikke implementere disse, hvis denne metode vælges. I [10] er der forslag om at benytte gråtonestatistik, der løbe opdateres for hvert objekt, til at skelne objekterne fra hinanden ved overlap. Denne forbedring vil gøre det muligt at vedligeholde id, men forudsætter at objekterne er forskellige i farve og tekstur, og at der kun er begrænsede overlap til stede. Det kunne være en mulig løsning på hele problemstillingen omkring overlap, men da fiskenes farvenuancer og tekstur er meget ensartet, vælger vi at se bort fra denne mulighed. Den anden metode, tracking ved forudsigelse, vedligeholder et fast antal id er. I forbindelse med overlap er det dog ikke sikkert at de vedligeholdes korrekt. Dette afhænger i høj grad af hvordan de forudsagte features benyttes i forbindelse med overlapsituationer. Denne metode har, i form af forudsagte features, mere information til rådighed om overlappe objekter i den første frame af overlappet. Men i de efterfølge frames af overlappet er det ikke muligt at ekstrahere nye features, så de efterfølge forudsigelser må (til dels eller fuldstændigt, afhængig af hvor meget historik der forudsiges på baggrund af) baseres på tidligere forudsigelser. Dette gør at usikkerheden omkring de forudsagte features vil stige undervejs som overlappet står på, og hvis en fisk f.eks. markant ændrer retning undervejs, vil dette ikke kunne forudsiges. Denne metode har altså en interessant egenskab, i form af forudsigelse af features for objekter i et overlap, men det er ikke tilstrækkeligt til at løse vores problemstilling. En fordel ved metoden er, at hele billedet ikke behøver at blive processeret, da man kan nøjes med at processere det område, der afsøges omkring hver forudsigelse. Dette er dog ikke en faktor vi har taget med i vores overvejelser, da vi ikke har vægtet ydeevne særligt højt. Tracking vha. et featurerum minder en del om tracking ved forudsigelse og har derfor også nogle af de samme fordele og ulemper. Da der i begge metoder foretages tærskelværdisegmentering, vil der være informationstab tilstede. Vi anser dog ikke dette for at være et stort problem, da vi arbejder med at fast antal objekter under kontrollerede forhold. Der vedligeholdes, i denne metode, også et fast antal id er, men usikkerheden omkring korrekt vedligeholdelse ved overlap er nu større, ved forudsigelse. Da segmenter med overlap ikke kan inspiceres direkte, har vi ikke nogen features for de implicerede objekter til rådighed, mens overlappet står på. Derfor må man nøjes med at tracke på baggrund af de features, der var kt før overlappet, for de implicerede objekter. Dette lader ikke til at være hensigtsmæssigt og vi har da også observeret at metoden ikke er brugbar i forbindelse med overlap. For denne metode er valg af features afgøre, da det udelukke er på baggrund af disse, at objekterne kan skelnes. Det lader til at tracking ved klyngeanalyse, uden de dynamiske egenskaber, og tracking ved featurerum er på nogenlunde lige fod i forbindelse med vores problemstilling omkring overlap. Der er dog den forskel, at den sidst nævnte metode har mere data for objekterne til rådighed, før overlappet. Dette burde kunne bruges til en bedre håndtering af overlappet. Tracking ved forudsigelse har en bedre, men ikke optimal, håndtering af overlap, og det burde være muligt at udnytte selve forudsigelserne til en nu bedre håndtering. 4.7 Valg af metode På baggrund af de skitserede metoder har vi valgt at benytte en kombination af to af de nævnte trackingmetoder. Til tracking af objekter uden overlap bruges et højdimensionalt featurerum. Når et overlap optræder vil vi benytte en forudsigelsesmetode, i form af forudsigelse ved PDM, til at forudsige features for objekterne i overlappet. Men i stedet for at afsøge det forudsagte område, vælger vi at fitte de forudsagte features til segmentet med overlap. Hvordan dette foregår er nærmere beskrevet i afsnit 6.3. Derved får vi approksimerede features for de fisk der er indblandet i overlappet, og disse kan bruges i featurerummet på lige fod med features ekstraheret fra segmenter uden overlap. På den måde undgås hele problematikken omkring direkte processering af segmenter med overlap. Ved brug af PDM fås features indirekte i form af punkter på en kontur. På baggrund af de fittede punkter kan features ekstraheres. De approksimerede features kan efterfølge bruges 18

19 til f.eks. at forudsige features for den næste frame i overlappet. Dette giver dog det tidligere nævnte problem ved forudsigelser, at usikkerheden stiger efterhånden som der forudsiges på baggrund af noget forudsagt. Men i dette tilfælde fittes forudsigelserne til data i billedet, hvilket burde give et bedre grundlag for videre forudsigelse Identifikation af overlap Det er nødvigt at kunne identificere hvornår der er et overlap i en frame, samt hvor det er. Da vi ved hvor mange fisk der er i en frame, og dermed hvor mange segmenter der bør være, kan antallet af fundne segmenter bruges som en indikation af, om der er et overlap. Hvis der er færre segmenter forventet, er der et overlap tilstede. Det pågælde segment findes ved at se på størrelserne af segmenterne, og det største vælges Fit af forudsigelse til overlap Det er afgøre at der vælges en god metode til at fitte forudsigelserne til data i billedet, for at vores metode skal kunne lade sig gøre. Grådig fremgangsmåde Man kunne vælge en grådig metode, hvor forudsigelserne fittes til det der ligger umiddelbart nærmest (inden for en hvis afstand), og lade det være de opdaterede punkter. Problemet med denne fremgangsmåde er, at der ikke er nogen begrænsninger på hvilke former de opdaterede punkter må beskrive. Det kan resultere i former der ligger for langt fra de ojekter der trackes, og dermed kan man ikke regne med de features der efterfølge ekstraheres. ASM For at løse de problemer der er i forbindelse med en grådig fremgangsmåde, er der brug for en metode, der benytter en global viden om objekternes former, når der fittes til data i billedet, således at fittet har en plausibel form. I [7] beskrives ASM, som er en metode, der netop gør dette. Det er denne metode vi vælger at bruge, dog i en modificeret udgave, der er specialiceret til vores problem. ASM samt den modifikation vi har foretaget er nærmere beskrevet i afsnit 6.3. Det skulle dermed gerne være muligt at håndtere veldefinerede overlap, jvf. diskussionen tidligere i dette afsnit om overlapsituationer. 5 Point distribution models Vi ønsker at kunne beskrive en fisks form på en kompakt måde og vil samtidig gerne kunne afgøre om en given form er en plausibel fiskeform. Til dette formål kan man benytte en Point distribution model (fremover PDM), der er en effektiv model til beskrivelse af typisk form og typisk variation indenfor et datasæt. Når modellen er konstrueret vil vi kunne beskrive en approksimation af en fisks form vha. et eller flere tal og dette kan benyttes som en eller flere features i featurerummet når der trackes. Desuden kan vi bruge modellen som basis for en Active shape model, der er en metode til at fitte en PDM til et objekt i et billede. Dette vil vi gøre brug af når overlapsituationer skal håndteres. Active shape models er beskrevet i afsnit og håndtering af overlapsituationer er beskrevet i afsnit. 5.1 Metoden Repræsentationen af de former som modellen skal laves på baggrund af, skal være i form af annoteringspunkter på formernes kontur. Disse punkter forestilles at repræsentere features ved formen. F.eks. vil det nok være en god ide bl.a. at markere en fisks halespids hvis man vil lave en model over en fisk. Modelleringsmetoden går ud på at undersøge statistikken for koordinaterne til 19

20 annoteringspunkterne i træningssættet. For at kunne sammenligne de samme annoteringspunkter på de forskellige former er det nødvigt at aligne formerne. Ellers vil statistikken ikke kun sige noget om form, men også noget om formernes position og orientering i træningssættet, hvilket vi ikke kan bruge til noget Aligning af træningsdata Givet formerne som n annoteringspunkter: x = (x 1, y 1, x 2, y 2,..., x n, y n ) er målet at aligne disse så de ligger så tæt på hinanden som muligt. Dette gøres ved at translatere, rotere og skalere formerne. Følge algoritme aligner m former: En form x 1 vælges som udgangspunkt og derpå itereres der gennem følge skridt 1. Align x i med x 1, for i = 2, 3,..., m. Dette giver sættet x 1, ˆx 2, ˆx 3,..., ˆx m. 2. Beregn gennemsnittet x = ( x 1, ȳ 1, x 2, ȳ 2,..., x n, ȳ n ) af de transformerede former, hvor. 3. Align gennemsnitsformen til x 1. x j = 1 m m x i j og ȳ j = 1 m i=1 4. Align ˆx 2, ˆx 3,..., ˆx m til den justerede gennemsnitsform, der fås i det tidligere trin. 5. Hvis processen ikke er konvergeret, gå til trin 2. En mulig konvergensbetingelse kunne være at undersøge den gennemsnitlige forskel mellem de transformationer (rotation, skalering og translation) der kræves for at aligne hver form til den justerede gennemsnitsform fra trin 3 og identitetstransformationen 5. Aligning af et par af former Målet med at aligne to former x 1 og x 2 er at finde den samlede rotation og skalering M og translation T, der mapper x 2 over i Mx 2 + T, hvor følge udtryk minimeres: Hvis vi lader m i=1 E = (x 1 Mx 2 T ) T (x 1 Mx 2 T ) a x = s cos θ og a y = s sin θ fører en mindste-kvadraters metode til følge ligninger: X 2 Y 2 n 0 Y 2 X 2 0 n Z 0 X 2 Y 2 0 Z Y 2 X 2 a x a y t x t y = hvor X i = n 1 k=0 x ik Y i = n 1 k=0 y ik Z = n=1 k=0 (x2 2k + y2 2k ) C 1 = n 1 k=0 (x 1kx 2k + y 1k y 2k ) C 2 = n 1 k=0 (y 1kx 2k x 1k y 2k ) Løsningen af ligningssystemet giver a x, a y, t x og t y, der kan bruges til at konstruere M og T. 5 Dette vil for den kombinerede rotations- og skaleringsmatrice være enhedesmatricen og for translation være 0-vektoren y i j X 1 Y 1 C 1 C 2 20

Projektopgave Observationer af stjerneskælv

Projektopgave Observationer af stjerneskælv Projektopgave Observationer af stjerneskælv Af: Mathias Brønd Christensen (20073504), Kristian Jerslev (20072494), Kristian Mads Egeris Nielsen (20072868) Indhold Formål...3 Teori...3 Hvorfor opstår der

Læs mere

Afstande, skæringer og vinkler i rummet

Afstande, skæringer og vinkler i rummet Afstande, skæringer og vinkler i rummet Frank Villa 2. maj 202 c 2008-20. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold

Læs mere

Matlab script - placering af kran

Matlab script - placering af kran Matlab script - placering af kran 1 Til at beregne den ideelle placering af kranen hos MSK, er der gjort brug af et matlab script. Igennem dette kapitel vil opbygningen af dette script blive gennemgået.

Læs mere

Studieretningsprojekter i machine learning

Studieretningsprojekter i machine learning i machine learning 1 Introduktion Machine learning (ml) er et område indenfor kunstig intelligens, der beskæftiger sig med at konstruere programmer, der kan kan lære fra data. Tanken er at give en computer

Læs mere

Affine rum. a 1 u 1 + a 2 u 2 + a 3 u 3 = a 1 u 1 + (1 a 1 )( u 2 + a 3. + a 3. u 3 ) 1 a 1. Da a 2

Affine rum. a 1 u 1 + a 2 u 2 + a 3 u 3 = a 1 u 1 + (1 a 1 )( u 2 + a 3. + a 3. u 3 ) 1 a 1. Da a 2 Affine rum I denne note behandles kun rum over R. Alt kan imidlertid gennemføres på samme måde over C eller ethvert andet legeme. Et underrum U R n er karakteriseret ved at det er en delmængde som er lukket

Læs mere

Projekt 6.1 Rygtespredning - modellering af logistisk vækst

Projekt 6.1 Rygtespredning - modellering af logistisk vækst Projekt 6.1 Rygtespredning - modellering af logistisk vækst (Projektet anvender værktøjsprogrammet TI Nspire) Alle de tilstedeværende i klassen tildeles et nummer, så med 28 elever i klassen uddeles numrene

Læs mere

Grundlæggende køretidsanalyse af algoritmer

Grundlæggende køretidsanalyse af algoritmer Grundlæggende køretidsanalyse af algoritmer Algoritmers effektivitet Størrelse af inddata Forskellige mål for køretid Store -notationen Klassiske effektivitetsklasser Martin Zachariasen DIKU 1 Algoritmers

Læs mere

Arbejdet på kuglens massemidtpunkt, langs x-aksen, er lig med den resulterende kraft gange strækningen:

Arbejdet på kuglens massemidtpunkt, langs x-aksen, er lig med den resulterende kraft gange strækningen: Forsøgsopstilling: En kugle ligger mellem to skinner, og ruller ned af den. Vi måler ved hjælp af sensorer kuglens hastighed og tid ved forskellige afstand på rampen. Vi måler kuglens radius (R), radius

Læs mere

Funktionsterminologi

Funktionsterminologi Funktionsterminologi Frank Nasser 12. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk: Dette

Læs mere

DTU M.SC. SKRIFTLIG EKSAMEN Reviderede Spørgsmål

DTU M.SC. SKRIFTLIG EKSAMEN Reviderede Spørgsmål Skriftlig prøve, 9. januar 1997. Kursus navn : 04250 - Indledende billedbehandling. Tilladte hjælpemidler : Alle sædvanling. "Vægtning" : Alle opgaver vægtes ligeligt. Navn :.................................................

Læs mere

Lagervisning. Dina Friis, og Niels Boldt,

Lagervisning. Dina Friis, og Niels Boldt, Lagervisning Dina Friis, dina@diku.dk og Niels Boldt, boldt@diku.dk 6. april 2001 Kapitel 1 Sammenfatning Dette dokument er et eksempel på en delvis besvarelse af G-opgaven stillet på Datalogi 0 2000-2001.

Læs mere

Rygtespredning: Et logistisk eksperiment

Rygtespredning: Et logistisk eksperiment Rygtespredning: Et logistisk eksperiment For at det nu ikke skal ende i en omgang teoretisk tørsvømning er det vist på tide vi kigger på et konkret logistisk eksperiment. Der er selvfølgelig flere muligheder,

Læs mere

Vejledning i brug af Gym-pakken til Maple

Vejledning i brug af Gym-pakken til Maple Vejledning i brug af Gym-pakken til Maple Gym-pakken vil automatisk være installeret på din pc eller mac, hvis du benytter cd'en Maple 16 - Til danske Gymnasier eller en af de tilsvarende installere. Det

Læs mere

Graph brugermanual til matematik C

Graph brugermanual til matematik C Graph brugermanual til matematik C Forord Efterfølgende er en guide til programmet GRAPH. Programmet kan downloades gratis fra nettet og gemmes på computeren/et usb-stik. Det betyder, det også kan anvendes

Læs mere

Svingningsrapport. Projektopgave 2, 41035 Dynamik og Svingninger Danmarks Tekniske Universitet Jakob Wulff Andersen, s112985

Svingningsrapport. Projektopgave 2, 41035 Dynamik og Svingninger Danmarks Tekniske Universitet Jakob Wulff Andersen, s112985 Projektopgave 2, 41035 Dynamik og Svingninger Danmarks Tekniske Universitet Jakob Wulff Andersen, s112985 Opgaverne er udregnet i samarbejde med Thomas Salling, s110579 og Mikkel Seibæk, s112987. 11/12-2012

Læs mere

praktiskegrunde Regression og geometrisk data analyse (2. del) Ulf Brinkkjær

praktiskegrunde Regression og geometrisk data analyse (2. del) Ulf Brinkkjær praktiskegrunde Praktiske Grunde. Nordisk tidsskrift for kultur- og samfundsvidenskab Nr. 3 / 2010. ISSN 1902-2271. www.hexis.dk Regression og geometrisk data analyse (2. del) Ulf Brinkkjær Introduktion

Læs mere

Matema10k. Matematik for hhx C-niveau. Arbejdsark til kapitlerne i bogen

Matema10k. Matematik for hhx C-niveau. Arbejdsark til kapitlerne i bogen Matema10k Matematik for hhx C-niveau Arbejdsark til kapitlerne i bogen De følgende sider er arbejdsark og opgaver som kan bruges som introduktion til mange af bogens kapitler og underemner. De kan bruges

Læs mere

Emneopgave: Lineær- og kvadratisk programmering:

Emneopgave: Lineær- og kvadratisk programmering: Emneopgave: Lineær- og kvadratisk programmering: LINEÆR PROGRAMMERING I lineær programmering løser man problemer hvor man for en bestemt funktion ønsker at finde enten en maksimering eller en minimering

Læs mere

Lineære differentialligningers karakter og lineære 1. ordens differentialligninger

Lineære differentialligningers karakter og lineære 1. ordens differentialligninger enote 11 1 enote 11 Lineære differentialligningers karakter og lineære 1. ordens differentialligninger I denne note introduceres lineære differentialligninger, som er en speciel (og bekvem) form for differentialligninger.

Læs mere

Kalkulus 1 - Opgaver. Anne Ryelund, Anders Friis og Mads Friis. 20. januar 2015

Kalkulus 1 - Opgaver. Anne Ryelund, Anders Friis og Mads Friis. 20. januar 2015 Kalkulus 1 - Opgaver Anne Ryelund, Anders Friis og Mads Friis 20. januar 2015 Mængder Opgave 1 Opskriv følgende mængder med korrekt mængdenotation. a) En mængde A indeholder alle hele tal fra og med 1

Læs mere

π er irrationel Frank Nasser 10. december 2011

π er irrationel Frank Nasser 10. december 2011 π er irrationel Frank Nasser 10. december 2011 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

Fejlkorligerende køder Fejlkorrigerende koder

Fejlkorligerende køder Fejlkorrigerende koder Fejlkorligerende køder Fejlkorrigerende koder Denne note er skrevet med udgangspunkt i [, p 24-243, 249 Et videre studium kan eksempelvis tage udgangspunkt i [2 Eventuelle kommentarer kan sendes til olav@mathaaudk

Læs mere

DTU M.SC. SKRIFTLIG EKSAMEN Reviderede Spørgsmål

DTU M.SC. SKRIFTLIG EKSAMEN Reviderede Spørgsmål Skriftlig prøve, 19. december 1998. Kursus navn : 04250 - Indledende billedbehandling. Tilladte hjælpemidler : Alle sædvanling. "Vægtning" : Alle opgaver vægtes ligeligt. Navn :.................................................

Læs mere

Matematik A, STX. Vejledende eksamensopgaver

Matematik A, STX. Vejledende eksamensopgaver Matematik A, STX EKSAMENSOPGAVER Vejledende eksamensopgaver 2015 Løsninger HF A-NIVEAU AF SAEID Af JAFARI Anders J., Mark Af K. & Saeid J. Anders J., Mark K. & Saeid J. Kun delprøver 2 Kun delprøve 2,

Læs mere

Køreplan Matematik 1 - FORÅR 2005

Køreplan Matematik 1 - FORÅR 2005 Lineær algebra modulo n og kryptologi Køreplan 01005 Matematik 1 - FORÅR 2005 1 Introduktion Kryptologi er en ældgammel disciplin, som går flere tusinde år tilbage i tiden. Idag omfatter disciplinen mange

Læs mere

Deskriptiv statistik. Version 2.1. Noterne er et supplement til Vejen til matematik AB1. Henrik S. Hansen, Sct. Knuds Gymnasium

Deskriptiv statistik. Version 2.1. Noterne er et supplement til Vejen til matematik AB1. Henrik S. Hansen, Sct. Knuds Gymnasium Deskriptiv (beskrivende) statistik er den disciplin, der trækker de væsentligste oplysninger ud af et ofte uoverskueligt materiale. Det sker f.eks. ved at konstruere forskellige deskriptorer, d.v.s. regnestørrelser,

Læs mere

Center for Statistik. Multipel regression med laggede responser som forklarende variable

Center for Statistik. Multipel regression med laggede responser som forklarende variable Center for Statistik Handelshøjskolen i København MPAS Tue Tjur November 2006 Multipel regression med laggede responser som forklarende variable Ved en tidsrække forstås i almindelighed et datasæt, der

Læs mere

Navn :..Læreren... Underskrift :... Bord nr. :... Ogave Svar

Navn :..Læreren... Underskrift :... Bord nr. :... Ogave Svar Side 1 af 26 sider Skriftlig prøve, den 14. december 2013. Kursus navn: Billedanalyse. Kursus nummer: 02502 Hjælpemidler: Varighed: Vægtning: Alle hjælpemidler er tilladt. 4 timer Alle opgaver vægtes ligeligt.

Læs mere

Løsning til opgave 7, 9, 10 og 11C Matematik B Sommer 2014

Løsning til opgave 7, 9, 10 og 11C Matematik B Sommer 2014 Vejledning til udvalgte opgave fra Matematik B, sommer 2014 Opgave 7 Størrelsen og udbudsprisen på 100 fritidshuse på Rømø er indsamlet via boligsiden.dk. a) Grafisk præsentation, der beskriver fordelingen

Læs mere

Opgave: BOW Bowling. Rules of Bowling. danish. BOI 2015, dag 1. Tilgængelig hukommelse: 256 MB. 30.04.2015

Opgave: BOW Bowling. Rules of Bowling. danish. BOI 2015, dag 1. Tilgængelig hukommelse: 256 MB. 30.04.2015 Opgave: BOW Bowling danish BOI 0, dag. Tilgængelig hukommelse: 6 MB. 30.04.0 Byteasar er fan af både bowling og statistik. Han har nedskrevet resultaterne af et par tidligere bowling spil. Desværre er

Læs mere

Symmetrisk Traveling Salesman Problemet

Symmetrisk Traveling Salesman Problemet Symmetrisk Traveling Salesman Problemet Videregående Algoritmik, Blok 2 2008/2009, Projektopgave 2 Bjørn Petersen 9. december 2008 Dette er den anden af to projektopgaver på kurset Videregående Algoritmik,

Læs mere

Michael Jokil 11-05-2012

Michael Jokil 11-05-2012 HTX, RTG Det skrå kast Informationsteknologi B Michael Jokil 11-05-2012 Indholdsfortegnelse Indledning... 3 Teori... 3 Kravspecifikationer... 4 Design... 4 Funktionalitet... 4 Brugerflade... 4 Implementering...

Læs mere

VUC Vestsjælland Syd, Slagelse Nr. 1 Institution: Projekt Trigonometri

VUC Vestsjælland Syd, Slagelse Nr. 1 Institution: Projekt Trigonometri VUC Vestsjælland Syd, Slagelse Nr. 1 Institution: 333247 2015 Anders Jørgensen, Mark Kddafi, David Jensen, Kourosh Abady og Nikolaj Eriksen 1. Indledning I dette projekt, vil man kunne se definitioner

Læs mere

Matematik, maskiner og metadata

Matematik, maskiner og metadata MATEMATIK, MASKINER OG METADATA VEJE TIL VIDEN Matematik, maskiner og metadata af CHRISTIAN BOESGAARD DATALOG IT Development / DBC 1 Konkrete projekter med machine learning, hvor computersystemer lærer

Læs mere

Matematisk modellering og numeriske metoder. Lektion 16

Matematisk modellering og numeriske metoder. Lektion 16 Matematisk modellering og numeriske metoder Lektion 16 Morten Grud Rasmussen 6. november, 2013 1 Interpolation [Bogens afsnit 19.3 side 805] 1.1 Interpolationspolynomier Enhver kontinuert funktion f på

Læs mere

Andengradsligninger i to og tre variable

Andengradsligninger i to og tre variable enote 0 enote 0 Andengradsligninger i to og tre variable I denne enote vil vi igen beskæftige os med andengradspolynomierne i to og tre variable som også er behandlet og undersøgt med forskellige teknikker

Læs mere

Supply Chain Netværk Design

Supply Chain Netværk Design Supply Chain Netværk Design Indsigt og forretningsværdi Den Danske Supply Chain Konference København den 8. juni 2016 Formålet med i dag Give en generel forståelse af hvad supply chain netværk design er

Læs mere

Projekt 1.4 Tagrendeproblemet en instruktiv øvelse i modellering med IT.

Projekt 1.4 Tagrendeproblemet en instruktiv øvelse i modellering med IT. Projekt 1.4 Tagrendeproblemet en instruktiv øvelse i modellering med IT. Projektet kan bl.a. anvendes til et forløb, hvor en af målsætningerne er at lære om samspillet mellem værktøjsprogrammernes geometriske

Læs mere

Lineære ligningssystemer

Lineære ligningssystemer enote 2 1 enote 2 Lineære ligningssystemer Denne enote handler om lineære ligningssystemer, om metoder til at beskrive dem og løse dem, og om hvordan man kan få overblik over løsningsmængdernes struktur.

Læs mere

Opgave 1 - Lineær Funktioner. Opgave 2 - Funktioner. Opgave 3 - Tredjegradsligning

Opgave 1 - Lineær Funktioner. Opgave 2 - Funktioner. Opgave 3 - Tredjegradsligning Sh*maa03 1508 Matematik B->A, STX Anders Jørgensen, delprøve 1 - Uden hjælpemidler Følgende opgaver er regnet i hånden, hvorefter de er skrevet ind på PC. Opgave 1 - Lineær Funktioner Vi ved, at år 2001

Læs mere

Billedbehandling og mønstergenkendelse: Lidt elementær statistik (version 1)

Billedbehandling og mønstergenkendelse: Lidt elementær statistik (version 1) ; C ED 6 > Billedbehandling og mønstergenkendelse Lidt elementær statistik (version 1) Klaus Hansen 24 september 2003 1 Elementære empiriske mål Hvis vi har observationer kan vi udregne gennemsnit og varians

Læs mere

Vejledende besvarelse på august 2009-sættet 2. december 2009

Vejledende besvarelse på august 2009-sættet 2. december 2009 Vejledende besvarelse på august 29-sættet 2. december 29 Det følgende er en vejledende besvarelse på eksamenssættet i kurset Calculus, som det så ud i august 29. Den tjener primært til illustration af,

Læs mere

Delmængder af Rummet

Delmængder af Rummet Delmængder af Rummet Frank Villa 15. maj 2012 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

Datastrukturer (recap)

Datastrukturer (recap) Dictionaries Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data. Operationer: Datastrukturens egenskaber udgøres af de tilbudte operationer (API for adgang

Læs mere

Billedanalyse, vision og computer grafik. NAVN :..Lærerne... Underskrift :... Bord nr. :...

Billedanalyse, vision og computer grafik. NAVN :..Lærerne... Underskrift :... Bord nr. :... År: 3 Kursusnr: 5 Billedanalyse, vision og computer grafik Skriftlig prøve, den 5. december 3. Kursus navn: Billedanalyse, vision og computer grafik. Tilladte hjælpemidler: Alle sædvanlige. "Vægtning":

Læs mere

Normalfordelingen og Stikprøvefordelinger

Normalfordelingen og Stikprøvefordelinger Normalfordelingen og Stikprøvefordelinger Normalfordelingen Standard Normal Fordelingen Sandsynligheder for Normalfordelingen Transformation af Normalfordelte Stok.Var. Stikprøver og Stikprøvefordelinger

Læs mere

Reduktion af observationer med sort-hvid CCD kamera med påkoblet filterboks

Reduktion af observationer med sort-hvid CCD kamera med påkoblet filterboks Modtaget dato: Godkendt: Dato: Underskrift: (Forbeholdt censor) Reduktion af observationer med sort-hvid CCD kamera med påkoblet filterboks Lasse Overgaard - Studienummer:20053934 Dato: 19. - 30. marts

Læs mere

Videregående Algoritmik. Version med vejledende løsninger indsat!

Videregående Algoritmik. Version med vejledende løsninger indsat! Videregående Algoritmik DIKU, timers skriftlig eksamen, 1. april 009 Nils Andersen og Pawel Winter Alle hjælpemidler må benyttes, dog ikke lommeregner, computer eller mobiltelefon. Opgavesættet består

Læs mere

Some like it HOT: Højere Ordens Tænkning med CAS

Some like it HOT: Højere Ordens Tænkning med CAS Some like it HOT: Højere Ordens Tænkning med CAS Bjørn Felsager, Haslev Gymnasium & HF, 2001 I år er det første år, hvor CAS-forsøget er et standardforsøg og alle studentereksamensopgaverne derfor foreligger

Læs mere

LinAlgDat 2014/2015 Google s page rank

LinAlgDat 2014/2015 Google s page rank LinAlgDat 4/5 Google s page rank Resumé Vi viser hvordan lineære ligninger naturligt optræder i forbindelse med en simpel udgave af Google s algoritme for at vise de mest interessante links først i en

Læs mere

Statistisk 3-D ber egning af sandsynligheden for at finde en jordforurening

Statistisk 3-D ber egning af sandsynligheden for at finde en jordforurening M iljøpr ojekt nr. 449 1999 Statistisk 3-D ber egning af sandsynligheden for at finde en jordforurening Lektor, cand.scient., lic.tech. Helle Holst IMM, Institut for Matematisk Modellering DTU, Danmarks

Læs mere

Bilag til Statistik i løb : Statistik og Microsoft Excel tastevejledning / af Lars Bo Kristensen

Bilag til Statistik i løb : Statistik og Microsoft Excel tastevejledning / af Lars Bo Kristensen Bilag til Statistik i løb : Statistik og Microsoft Excel tastevejledning / af Lars Bo Kristensen Microsoft Excel har en del standard anvendelsesmuligheder i forhold til den beskrivende statistik og statistisk

Læs mere

Flere ligninger med flere ukendte

Flere ligninger med flere ukendte Flere ligninger med flere ukendte Frank Villa 14. februar 2012 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her.

Læs mere

x 2 + y 2 dx dy. f(x, y) = ln(x 2 + y 2 ) + 2 1) Angiv en ligning for tangentplanen til fladen z = f(x, y) i punktet

x 2 + y 2 dx dy. f(x, y) = ln(x 2 + y 2 ) + 2 1) Angiv en ligning for tangentplanen til fladen z = f(x, y) i punktet Eksamensopgaver fra Matematik Alfa 1 Naturvidenskabelig Kandidateksamen August 1999. Matematik Alfa 1 Opgave 1. Udregn integralet 1 1 y 2 (Vink: skift til polære koordinater.) Opgave 2. Betragt funktionen

Læs mere

Vinkelrette linjer. Frank Villa. 4. november 2014

Vinkelrette linjer. Frank Villa. 4. november 2014 Vinkelrette linjer Frank Villa 4. november 2014 Dette dokument er en del af MatBog.dk 2008-2012. IT Teaching Tools. ISBN-13: 978-87-92775-00-9. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

Studieretningsopgave

Studieretningsopgave Virum Gymnasium Studieretningsopgave Harmoniske svingninger i matematik og fysik Vejledere: Christian Holst Hansen (matematik) og Bodil Dam Heiselberg (fysik) 30-01-2014 Indholdsfortegnelse Indledning...

Læs mere

I dag. Kursus Data matrice. Formål med PCA. Statistik. Principal komponent analyse, PCA, Esbensen kapitel 3. Splus. Anna Helga Jónsdóttir

I dag. Kursus Data matrice. Formål med PCA. Statistik. Principal komponent analyse, PCA, Esbensen kapitel 3. Splus. Anna Helga Jónsdóttir I dag Kursus 02593 Statistik Anna Helga Jónsdóttir Principal komponent analyse, PCA, Esbensen kapitel 3. Splus ahj@imm.dtu.dk 18. november 2008 Anna Helga Jónsdóttir (ahj@imm.dtu.dk) Kursus 02593 18. november

Læs mere

1 monotoni & funktionsanalyse

1 monotoni & funktionsanalyse 1 monotoni & funktionsanalyse I dag har vi grafregnere (TI89+) og programmer på computer (ex.vis Derive og Graph), hvorfor det ikke er så svært at se hvordan grafen for en matematisk funktion opfører sig

Læs mere

Grådige algoritmer. Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Læs mere

Hvad siger statistikken?

Hvad siger statistikken? Eleverne har tidligere (fx i Kolorit 7, matematik grundbog) arbejdet med især beskrivende statistik (deskriptiv statistik). I dette kapitel fokuseres i højere grad på, hvordan datamateriale kan tolkes

Læs mere

Kapitel 9: Netværksmodeller

Kapitel 9: Netværksmodeller Kapitel 9: Netværksmodeller Terminologi: Et netværk eller en graf bestar af et sæt punkter samt et sæt linier, der forbinder par af punkter; netværket betegnes som komplet, hvis ethvert par af punkter

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne: Opgave

Læs mere

Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010

Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010 Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010 Computere er uvurderlige redskaber for personer der ønsker at arbejde med matematiske modeller

Læs mere

Kursusgang 3 Matrixalgebra Repetition

Kursusgang 3 Matrixalgebra Repetition Kursusgang 3 Repetition - froberg@math.aau.dk http://people.math.aau.dk/ froberg/oecon3 Institut for Matematiske Fag Aalborg Universitet 16. september 2008 1/19 Betingelser for nonsingularitet af en Matrix

Læs mere

Emmas og Frederiks nye værelser - maling eller tapet?

Emmas og Frederiks nye værelser - maling eller tapet? Emmas og Frederiks nye værelser - maling eller tapet? Emmas og Frederiks familie skal flytte til et nyt hus. De har fået lov til at bestemme, hvordan væggene på deres værelser skal se ud. Emma og Frederik

Læs mere

Matricer og lineære ligningssystemer

Matricer og lineære ligningssystemer Matricer og lineære ligningssystemer Grete Ridder Ebbesen Virum Gymnasium Indhold 1 Matricer 11 Grundlæggende begreber 1 Regning med matricer 3 13 Kvadratiske matricer og determinant 9 14 Invers matrix

Læs mere

Intoduktion til Billedbehandling F13. Statistisk Grænseværdiafskæring. Segmentering

Intoduktion til Billedbehandling F13. Statistisk Grænseværdiafskæring. Segmentering Intoduktion til Billedbehandling F13 I industriel billedbehandling er segmentering ofte den hyppigste operation. Ofte er billederne simple og objekterne findes ved en grænseværdiafskæring. Støj i segmenteringen

Læs mere

Løs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomielt tid Optimeringsproblemer kan ikke altid verificeres i polynomiel

Løs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomielt tid Optimeringsproblemer kan ikke altid verificeres i polynomiel I dag Løsning af NP -hårde optimeringsproblemer Repetition: branch-and-bound Flere begreber Konkret eksempel: TSP Lagrange relaxering Parallel branch-and-bound 1 Opsummering Løsning af NP -hårde optimeringsproblemer

Læs mere

Statistik Lektion 1. Introduktion Grundlæggende statistiske begreber Deskriptiv statistik

Statistik Lektion 1. Introduktion Grundlæggende statistiske begreber Deskriptiv statistik Statistik Lektion 1 Introduktion Grundlæggende statistiske begreber Deskriptiv statistik Introduktion Kursusholder: Kasper K. Berthelsen Opbygning: Kurset består af 5 blokke En blok består af: To normale

Læs mere

1 α K = A t, (SS1) n + g + δ eller: ln yt =lna t +

1 α K = A t, (SS1) n + g + δ eller: ln yt =lna t + Tag Med-Hjem-Eksamen Makroøkonomi,. Årsprøve Efterårssemestret 5 Udleveres mandag den. januar, 6, kl. 10. Afleveres onsdag den 4. januar, 6, senest kl. 10. på: Eksamenskontoret, Center for Sundhed og Samfund

Læs mere

Broer, skak og netværk Carsten Thomassen: Naturens Verden 10, 1992, s. 388-393.

Broer, skak og netværk Carsten Thomassen: Naturens Verden 10, 1992, s. 388-393. Broer, skak og netværk Side 1 af 6 Broer, skak og netværk Carsten Thomassen: Naturens Verden 10, 1992, s. 388-393. Eksempler på praktiske anvendelser af matematik og nogle uløste problemer Indledning Figur

Læs mere

Nummeriske Metoder. 1 Indledning. 2 Davidson metoden. Bo Thomsen, juni 2009

Nummeriske Metoder. 1 Indledning. 2 Davidson metoden. Bo Thomsen, juni 2009 Nummeriske Metoder Bo Thomsen, 20050885 25. juni 2009 1 Indledning I denne opgave søges løsninger på et relativt stort egenværdiproblem. I mit tilfælde er dette fremkommet ved at konstruere hamilton matricen

Læs mere

Introduktion til Computer Grafik Projekt 1

Introduktion til Computer Grafik Projekt 1 Introduktion til Computer Grafik Projekt 1 Line Løfquist,Thor Prentow, Nikoline Vinkel Datalogisk Institut, Aarhus Universitet Åbogade 34, 8200 Aarhus N, Denmark 20071346, 20071952, 20071387 {u071346,prentow,u071387}@cs.au.dk

Læs mere

28 Algoritmedesign. Noter. PS1 -- Algoritmedesign

28 Algoritmedesign. Noter. PS1 -- Algoritmedesign 28 Algoritmedesign. Algoritmeskabelon for Del og Hersk. Eksempler på Del og Hersk algoritmer. Binær søgning i et ordnet array. Sortering ved fletning og Quicksort. Maksimal delsums problem. Tætteste par

Læs mere

Matematik A-niveau 22. maj 2015 Delprøve 2. Løst af Anders Jørgensen og Saeid Jafari

Matematik A-niveau 22. maj 2015 Delprøve 2. Løst af Anders Jørgensen og Saeid Jafari Matematik A-niveau 22. maj 2015 Delprøve 2 Løst af Anders Jørgensen og Saeid Jafari Opgave 7 - Analytisk Plangeometri Delopgave a) Vi starter ud med at undersøge afstanden fra punktet P(5,4) til linjen

Læs mere

Værktøjshjælp for TI-Nspire CAS Struktur for appendiks:

Værktøjshjælp for TI-Nspire CAS Struktur for appendiks: Værktøjshjælp for TI-Nspire CAS Struktur for appendiks: Til hvert af de gennemgåede værktøjer findes der 5 afsnit. De enkelte afsnit kan læses uafhængigt af hinanden. Der forudsættes et elementært kendskab

Læs mere

Lars Andersen: Anvendelse af statistik. Notat om deskriptiv statistik, χ 2 -test og Goodness of Fit test.

Lars Andersen: Anvendelse af statistik. Notat om deskriptiv statistik, χ 2 -test og Goodness of Fit test. Lars Andersen: Anvendelse af statistik. Notat om deskriptiv statistik, χ -test og Goodness of Fit test. Anvendelser af statistik Statistik er et levende og fascinerende emne, men at læse om det er alt

Læs mere

Skriftlig Eksamen Diskret Matematik (DM528)

Skriftlig Eksamen Diskret Matematik (DM528) Skriftlig Eksamen Diskret Matematik (DM528) Institut for Matematik & Datalogi Syddansk Universitet Tirsdag den 20 Januar 2009, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug

Læs mere

Vektorer og lineær regression. Peter Harremoës Niels Brock

Vektorer og lineær regression. Peter Harremoës Niels Brock Vektorer og lineær regression Peter Harremoës Niels Brock April 2013 1 Planproduktet Vi har set, at man kan gange en vektor med et tal. Et oplagt spørgsmål er, om man også kan gange to vektorer med hinanden.

Læs mere

3D-grafik Karsten Juul

3D-grafik Karsten Juul 3D-grafik 2005 Karsten Juul Når der i disse noter står at du skal få tegnet en figur, så er det meningen at du skal få tegnet den ved at taste tildelinger i Mathcad-dokumentet RumFig2 Det er selvfølgelig

Læs mere

Teoretiske Øvelsesopgaver:

Teoretiske Øvelsesopgaver: Teoretiske Øvelsesopgaver: TØ-Opgave 1 Subtraktion division i legemer: Er subtraktion division med elementer 0 i legemer veldefinerede, eller kan et element b have mere end ét modsat element -b eller mere

Læs mere

Københavns Universitet, Det naturvidenskabelige Fakultet. Afleveringsopgave 3

Københavns Universitet, Det naturvidenskabelige Fakultet. Afleveringsopgave 3 Københavns Universitet, Det naturvidenskabelige Fakultet 1 Lineær Algebra (LinAlg) Afleveringsopgave 3 Eventuelle besvarelser laves i grupper af 2-3 personer og afleveres i to eksemplarer med 3 udfyldte

Læs mere

dpersp Uge 40 - Øvelser Internetalgoritmer

dpersp Uge 40 - Øvelser Internetalgoritmer Øvelse 1 dpersp Uge 40 - Øvelser Internetalgoritmer (Øvelserne 4 og 6 er afleveringsopgaver) a) Hver gruppe får en terning af instruktoren. Udfør 100 skridt af nedenstående RandomWalk på grafen, som også

Læs mere

P2-projektforslag Kombinatorik: grafteori og optimering.

P2-projektforslag Kombinatorik: grafteori og optimering. P2-projektforslag Kombinatorik: grafteori og optimering. Vejledere: Leif K. Jørgensen, Diego Ruano 1. februar 2013 1 Indledning Temaet for projekter på 2. semester af matematik-studiet og matematikøkonomi-studiet

Læs mere

Middelværdi og varians. Kovarians. korrelation = 0.02 korrelation = 0.7 korrelation = 1.0

Middelværdi og varians. Kovarians. korrelation = 0.02 korrelation = 0.7 korrelation = 1.0 Middelværdi og varians Middelværdien af en diskret skalarfunktion f(x), for x = 0, N er: µ = N f(x) N x=0 For vektorfuktioner er middelværdivektoren tilsvarende: µ = N f(x) N x=0 Middelværdien er en af

Læs mere

Det er en af de hyppigst forekommende udregninger i den elementære talbehandling at beregne gennemsnit eller middeltal af en række tal.

Det er en af de hyppigst forekommende udregninger i den elementære talbehandling at beregne gennemsnit eller middeltal af en række tal. Tre slags gennemsnit Allan C. Malmberg Det er en af de hyppigst forekommende udregninger i den elementære talbehandling at beregne gennemsnit eller middeltal af en række tal. For mange skoleelever indgår

Læs mere

Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP()

Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP() Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP() John Andersen, Læreruddannelsen i Aarhus, VIA Et kast med 10 terninger gav følgende udfald Fig. 1 Result of rolling 10 dices

Læs mere

Kapitel 3 Lineære sammenhænge

Kapitel 3 Lineære sammenhænge Matematik C (må anvendes på Ørestad Gymnasium) Lineære sammenhænge Det sker tit, at man har flere variable, der beskriver en situation, og at der en sammenhæng mellem de variable. Enhver formel er faktisk

Læs mere

Affine transformationer/afbildninger

Affine transformationer/afbildninger Affine transformationer. Jens-Søren Kjær Andersen, marts 2011 1 Affine transformationer/afbildninger Følgende afbildninger (+ sammensætninger af disse) af planen ind i sig selv kaldes affine: 1) parallelforskydning

Læs mere

Social Media Rapport for VIRKSOMHED A/S af Bach & McKenzie

Social Media Rapport for VIRKSOMHED A/S af Bach & McKenzie Social Media Rapport for VIRKSOMHED A/S af Bach & McKenzie Dato: 22-08-2014 Copyright af Bach & McKenzie 2014 Introduktion Indholdsfortegnelse 03 Hovedtal Kære VIRKSOMHED A/S Tillykke med jeres nye Social

Læs mere

Københavns Universitet, Det naturvidenskabelige Fakultet. Afleveringsopgave 4

Københavns Universitet, Det naturvidenskabelige Fakultet. Afleveringsopgave 4 Københavns Universitet, Det naturvidenskabelige Fakultet Lineær Algebra LinAlg Afleveringsopgave 4 Eventuelle besvarelser laves i grupper af 2-3 personer og afleveres i to eksemplarer med 3 udfyldte forsider

Læs mere

Resonans 'modes' på en streng

Resonans 'modes' på en streng Resonans 'modes' på en streng Indhold Elektrodynamik Lab 2 Rapport Fysik 6, EL Bo Frederiksen (bo@fys.ku.dk) Stanislav V. Landa (stas@fys.ku.dk) John Niclasen (niclasen@fys.ku.dk) 1. Formål 2. Teori 3.

Læs mere

4. Snittets kædebrøksfremstilling og dets konvergenter

4. Snittets kædebrøksfremstilling og dets konvergenter Dette er den fjerde af fem artikler under den fælles overskrift Studier på grundlag af programmet SKALAGENERATOREN (forfatter: Jørgen Erichsen) 4. Snittets kædebrøksfremstilling og dets konvergenter Vi

Læs mere

EKSAMENSOPGAVELØSNINGER CALCULUS 2 (2005) JANUAR 2006 AARHUS UNIVERSITET.. Beregn den retningsafledede D u f(0, 0).

EKSAMENSOPGAVELØSNINGER CALCULUS 2 (2005) JANUAR 2006 AARHUS UNIVERSITET.. Beregn den retningsafledede D u f(0, 0). EKSAMENSOPGAVELØSNINGER CALCULUS 2 (2005) JANUAR 2006 AARHUS UNIVERSITET H.A. NIELSEN & H.A. SALOMONSEN Opgave. Lad f betegne funktionen f(x, y) = x cos(y) + y sin(x). ) Angiv gradienten f. 2) Lad u betegne

Læs mere

Løsninger til kapitel 1

Løsninger til kapitel 1 Opgave. a) observation hyppighed frekvens kum. frekvens 2,25,25 3,875,325 2 3,875,5 3 3,875,6875 4,625,75 5,625,825 6,,825 7 2,25,9375 8,,9375 9,625, Frekvenser illustreres i et pindediagram,2,8,6,4,2,,8,6,4,2

Læs mere

Skrevet af stud. geom. Martin Hedegaard, Aalborg Universitet, virksomhedspraktikant

Skrevet af stud. geom. Martin Hedegaard, Aalborg Universitet, virksomhedspraktikant Laserscanning af Boy Skrevet af stud. geom. Martin Hedegaard, Aalborg Universitet, virksomhedspraktikant hos AAKJAER Landinspektører. Kunstværket Boy blev skabt af den australske kunstner Ron Muecks i

Læs mere

Produkt og marked - matematiske og statistiske metoder

Produkt og marked - matematiske og statistiske metoder Produkt og marked - matematiske og statistiske metoder Rasmus Waagepetersen Institut for Matematiske Fag Aalborg Universitet February 19, 2016 1/26 Kursusindhold: Sandsynlighedsregning og lagerstyring

Læs mere

Guide til mindfulness

Guide til mindfulness Guide til mindfulness Mindfulness er en gammel buddistisk teknik, der blandt andet kan være en hjælp til at styre stress og leve i nuet. Af Elena Radef. Januar 2012 03 Mindfulness er bevidst nærvær 04

Læs mere

Eksempel på logistisk vækst med TI-Nspire CAS

Eksempel på logistisk vækst med TI-Nspire CAS Eksempel på logistisk vækst med TI-Nspire CAS Tabellen herunder viser udviklingen af USA's befolkning fra 1850-1910 hvor befolkningstallet er angivet i millioner: Vi har tidligere redegjort for at antallet

Læs mere

WORKSHOP 2C, DLF-kursus, Krogerup, 26. november 2015

WORKSHOP 2C, DLF-kursus, Krogerup, 26. november 2015 WORKSHOP 2C, DLF-kursus, Krogerup, 26. november 2015 At I får overblik over statistik og sandsynlighed som fagområde i folkeskolen indblik i didaktiske forskeres anbefalinger til undervisningen i statistik

Læs mere