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

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

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

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

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

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

Efficient Position Updating

Efficient Position Updating Efficient Position Updating Pervasive Positioning, Q3 2010 Lasse H. Rasmussen, 20097778 Christian Jensen, 20097781 12-03-2010 1 Introduktion Denne rapport har til formål at beskrive implementeringen og

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

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

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

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

Billedanalyse, vision og computer grafik. NAVN :... Underskrift :... Bord nr. :... Ogave 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Billedanalyse, vision og computer grafik. NAVN :... Underskrift :... Bord nr. :... Ogave 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 År: 28 Kursusnr: 25 Billedanalyse, vision og computer grafik Skriftlig prøve, den 6. december 28. Kursus navn: Billedanalyse, vision og computer grafik. Tilladte hjælpemidler: Alle hjælpemidler er tilladt.

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

Projekt - Visual Basic for Applications N på stribe

Projekt - Visual Basic for Applications N på stribe Projekt - Visual Basic for Applications N på stribe Mikkel Kaas og Troels Henriksen - 03x 3. november 2005 1 Introduktion Spillet tager udgangspunkt i det gamle kendte 4 på stribe, dog med den ændring,

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

Mini SRP. Afkøling. Klasse 2.4. Navn: Jacob Pihlkjær Hjortshøj, Jonatan Geysner Hvidberg og Kevin Høst Husted

Mini SRP. Afkøling. Klasse 2.4. Navn: Jacob Pihlkjær Hjortshøj, Jonatan Geysner Hvidberg og Kevin Høst Husted Mini SRP Afkøling Klasse 2.4 Navn: Jacob Pihlkjær Lærere: Jørn Christian Bendtsen og Karl G Bjarnason Roskilde Tekniske Gymnasium SO Matematik A og Informations teknologi B Dato 31/3/2014 Forord Under

Læs mere

Projekt 2.1: Parabolantenner og parabelsyning

Projekt 2.1: Parabolantenner og parabelsyning Projekter: Kapitel Projekt.1: Parabolantenner og parabelsyning En af de vigtigste egenskaber ved en parabel er dens brændpunkt og en af parablens vigtigste anvendelser er som profilen for en parabolantenne,

Læs mere

Bevægelse i to dimensioner

Bevægelse i to dimensioner Side af 7 Bevægelse i to dimensioner Når man beskriver bevægelse i to dimensioner, som funktion af tiden, ser man bevægelsen som var den i et almindeligt koordinatsystem (med x- og y-akse). Ud fra dette

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

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

2 Erik Vestergaard www.matematikfysik.dk

2 Erik Vestergaard www.matematikfysik.dk Erik Vestergaard www.matematikfysik.dk Erik Vestergaard www.matematikfysik.dk 3 Lineære funktioner En vigtig type funktioner at studere er de såkaldte lineære funktioner. Vi skal udlede en række egenskaber

Læs mere

Vejledning til Gym18-pakken

Vejledning til Gym18-pakken Vejledning til Gym18-pakken Copyright Maplesoft 2014 Vejledning til Gym18-pakken Contents 1 Vejledning i brug af Gym18-pakken... 1 1.1 Installation... 1 2 Deskriptiv statistik... 2 2.1 Ikke-grupperede

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

27611 Eksamen Sommer 2007

27611 Eksamen Sommer 2007 - Side 1 af 10-27611 Eksamen Sommer 2007 Dette sæt indeholder 4 opgaver. En online version af opgavesættet vil være tilgængeligt fra kursets lektionsplan, under selve eksamen (25. Maj 2007 klokken 9:00

Læs mere

Noter om Komplekse Vektorrum, Funktionsrum og Differentialligninger LinAlg 2004/05-Version af 16. Dec.

Noter om Komplekse Vektorrum, Funktionsrum og Differentialligninger LinAlg 2004/05-Version af 16. Dec. Noter om Komplekse Vektorrum, Funktionsrum og Differentialligninger LinAlg 2004/05-Version af 16. Dec. 1 Komplekse vektorrum I defininitionen af vektorrum i Afsnit 4.1 i Niels Vigand Pedersen Lineær Algebra

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

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

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

Easy Guide i GallupPC

Easy Guide i GallupPC Easy Guide i GallupPC Version. 6.00.00 Gallup A/S Masnedøgade 22-26 DK 2100 København Ø Telefon 39 27 27 27 Fax 39 27 50 80 Indhold SÅDAN KOMMER DU I GANG MED AT ANVENDE GALLUPPC... 2 TILFØJELSE AF UNDERSØGELSER

Læs mere

Projekt 8.3 Hvordan undersøges om et talmateriale normalfordelt?

Projekt 8.3 Hvordan undersøges om et talmateriale normalfordelt? Projekt 8.3 Hvordan undersøges om et talmateriale normalfordelt? Projektet drejer sig om at udvikle en metode, til at undersøge om et givet talmateriale med rimelighed kan siges at være normalfordelt.

Læs mere

Kompendium i faget. Matematik. Tømrerafdelingen. 2. Hovedforløb. Y = ax 2 + bx + c. (x,y) Svendborg Erhvervsskole Tømrerafdelingen Niels Mark Aagaard

Kompendium i faget. Matematik. Tømrerafdelingen. 2. Hovedforløb. Y = ax 2 + bx + c. (x,y) Svendborg Erhvervsskole Tømrerafdelingen Niels Mark Aagaard Kompendium i faget Matematik Tømrerafdelingen 2. Hovedforløb. Y Y = ax 2 + bx + c (x,y) X Svendborg Erhvervsskole Tømrerafdelingen Niels Mark Aagaard Indholdsfortegnelse for H2: Undervisningens indhold...

Læs mere

Eleven kan handle med overblik i sammensatte situationer med matematik. Eleven kan anvende rationale tal og variable i beskrivelser og beregninger

Eleven kan handle med overblik i sammensatte situationer med matematik. Eleven kan anvende rationale tal og variable i beskrivelser og beregninger Kompetenceområde Efter klassetrin Efter 6. klassetrin Efter 9. klassetrin Matematiske kompetencer handle hensigtsmæssigt i situationer med handle med overblik i sammensatte situationer med handle med dømmekraft

Læs mere

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte

Læs mere

1. Kræfter. 2. Gravitationskræfter

1. Kræfter. 2. Gravitationskræfter 1 M1 Isaac Newton 1. Kræfter Vi vil starte med at se på kræfter. Vi ved fra vores hverdag, at der i mange daglige situationer optræder kræfter. Skal man fx. cykle op ad en bakke, bliver man nødt til at

Læs mere

Maple. Skærmbilledet. Vi starter med at se lidt nærmere på opstartsbilledet i Maple. Værktøjslinje til indtastningsområdet. Menulinje.

Maple. Skærmbilledet. Vi starter med at se lidt nærmere på opstartsbilledet i Maple. Værktøjslinje til indtastningsområdet. Menulinje. Maple Dette kapitel giver en kort introduktion til hvordan Maple 12 kan benyttes til at løse mange af de opgaver, som man bliver mødt med i matematiktimerne på HHX. Skærmbilledet Vi starter med at se lidt

Læs mere

Bemærkninger til den mundtlige årsprøve i matematik

Bemærkninger til den mundtlige årsprøve i matematik Spørgsmål til årsprøve 1v Ma 2008 side 1/5 Steen Toft Jørgensen Bemærkninger til den mundtlige årsprøve i matematik IT-værktøjer Jeg forventer, at I er fortrolige med lommeregner TI-89 og programmerne

Læs mere

Vektorregning. Vektorer som lister

Vektorregning. Vektorer som lister 10 Vektorregning Vektorer som lister En vektor laves nemmest som en liste på TI-89 Titanium / Voyage 200. I nedenstående skærmbillede ser du, hvordan man definerer vektorer og laver en simpel udregning

Læs mere

Dig og din puls Lærervejleding

Dig og din puls Lærervejleding Dig og din puls Lærervejleding Indledning I det efterfølgende materiale beskrives et forløb til matematik C, hvori eleverne skal måle hvilepuls og arbejdspuls og beskrive observationerne matematisk. Materialet

Læs mere

Løsningsforslag MatB December 2013

Løsningsforslag MatB December 2013 Løsningsforslag MatB December 2013 Opgave 1 (5 %) a) En linje l går gennem punkterne: P( 2,3) og Q(2,1) a) Bestem en ligning for linjen l. Vi ved at linjen for en linje kan udtrykkes ved: y = αx + q hvor

Læs mere

Personlig stemmeafgivning

Personlig stemmeafgivning Ib Michelsen X 2 -test 1 Personlig stemmeafgivning Efter valget i 2005 1 har man udspurgt en mindre del af de deltagende, om de har stemt personligt. Man har svar fra 1131 mænd (hvoraf 54 % har stemt personligt

Læs mere

Kapitel 9. Optimering i Microsoft Excel 97/2000

Kapitel 9. Optimering i Microsoft Excel 97/2000 Kapitel 9 Optimering i Microsoft Excel 97/2000 9.1 Indledning... 164 9.2 Numerisk løsning af ligninger... 164 9.3 Optimering under bibetingelser... 164 9.4 Modelformulering... 165 9.5 Gode råd ommodellering...

Læs mere

Selam Friskole Fagplan for Matematik

Selam Friskole Fagplan for Matematik Selam Friskole Fagplan for Matematik Formål Formålet med undervisningen er, at eleverne udvikler matematiske kompetencer og opnår viden og kunnen således, at de bliver i stand til at begå sig hensigtsmæssigt

Læs mere

Tal. Vi mener, vi kender og kan bruge følgende talmængder: N : de positive hele tal, Z : de hele tal, Q: de rationale tal.

Tal. Vi mener, vi kender og kan bruge følgende talmængder: N : de positive hele tal, Z : de hele tal, Q: de rationale tal. 1 Tal Tal kan forekomme os nærmest at være selvfølgelige, umiddelbare og naturgivne. Men det er kun, fordi vi har vænnet os til dem. Som det vil fremgå af vores timer, har de mange overraskende egenskaber

Læs mere

1gma_tændstikopgave.docx

1gma_tændstikopgave.docx ulbh 1gma_tændstikopgave.docx En lille simpel opgave med tændstikker Læg 10 tændstikker op på en række som vist Du skal nu danne 5 krydser med de 10 tændstikker, men du skal overholde 3 regler: 1) når

Læs mere

Kapitel 2 Tal og variable

Kapitel 2 Tal og variable Tal og variable Uden tal ingen matematik - matematik handler om tal og anvendelse af tal. Matematik beskæftiger sig ikke udelukkende med konkrete problemer fra andre fag, og de konkrete tal fra andre fagområder

Læs mere

Komplekse tal og Kaos

Komplekse tal og Kaos Komplekse tal og Kaos Jon Sporring Datalogisk Institut ved Københavns Universitet Universitetsparken 1, 2100 København Ø August, 2006 1 Forord Denne opgave er tiltænkt gymnasiestuderende med matematik

Læs mere

3. klasse 6. klasse 9. klasse

3. klasse 6. klasse 9. klasse Børne- og Undervisningsudvalget 2012-13 BUU Alm.del Bilag 326 Offentligt Elevplan 3. klasse 6. klasse 9. klasse Matematiske kompetencer Status tal og algebra sikker i, er usikker i de naturlige tals opbygning

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Termin Efterår 2014 Institution Niels Brock Uddannelse Fag og niveau Lærer Hold HHX Matematik - Niveau A Peter Harremoës GSK hold t14gymaau1o2 Oversigt over gennemførte undervisningsforløb

Læs mere

Computerundervisning

Computerundervisning Frederiksberg Seminarium Computerundervisning Koordinatsystemer og Funktioner Lærervejledning 12-02-2009 Udarbejdet af: Pernille Suhr Poulsen Christina Klitlyng Julie Nielsen Indhold Introduktion... 3

Læs mere

Evaluering af matematik undervisning

Evaluering af matematik undervisning Evaluering af matematik undervisning Udarbejdet af Khaled Zaher, matematiklærer 6-9 klasse og Boushra Chami, matematiklærer 2-5 klasse Matematiske kompetencer. Fællesmål efter 3.klasse indgå i dialog om

Læs mere

TUNGE SKILLEVÆGGE PÅ TRYKFAST ISOLERING BEREGNINGSMODELLER

TUNGE SKILLEVÆGGE PÅ TRYKFAST ISOLERING BEREGNINGSMODELLER pdc/sol TUNGE SKILLEVÆGGE PÅ TRYKFAST ISOLERING BEREGNINGSMODELLER Indledning Teknologisk Institut, byggeri har for EPS sektionen under Plastindustrien udført dette projekt vedrørende anvendelse af trykfast

Læs mere

Tak for kaffe! 17-10-2004 Tak for kaffe! Side 1 af 16

Tak for kaffe! 17-10-2004 Tak for kaffe! Side 1 af 16 Tak for kaffe! Jette Rygaard Poulsen, Frederikshavn Gymnasium og HF-kursus Hans Vestergaard, Frederikshavn Gymnasium og HF-kursus Søren Lundbye-Christensen, AAU 17-10-2004 Tak for kaffe! Side 1 af 16 Tak

Læs mere

Animationer med TI-Nspire CAS

Animationer med TI-Nspire CAS Animationer med TI-Nspire CAS Geometrinoter til TI-Nspire CAS version 2.0 Brian Olesen & Bjørn Felsager Midtsjællands Gymnasieskoler Marts 2010 Indholdsfortegnelse: Indledning side 1 Eksempel 1: Pythagoras

Læs mere

Differentialligninger med TI Nspire CAS version 3.1

Differentialligninger med TI Nspire CAS version 3.1 Differentialligninger med TI Nspire CAS version 3.1 Der er tilføjet en ny graftype til Graf værkstedet kaldet Diff lign. Denne nye graftype er en implementering af differentialligningerne som vi kender

Læs mere

I. Deskriptiv analyse af kroppens proportioner

I. Deskriptiv analyse af kroppens proportioner Projektet er delt i to, og man kan vælge kun at gennemføre den ene del. Man kan vælge selv at frembringe data, fx gennem et samarbejde med idræt eller biologi, eller man kan anvende de foreliggende data,

Læs mere

Uafhængig og afhængig variabel

Uafhængig og afhængig variabel Uddrag fra http://www.emu.dk/gym/fag/ma/undervisningsforloeb/hf-mat-c/introduktion.doc ved Hans Vestergaard, Morten Overgaard Nielsen, Peter Trautner Brander Variable og sammenhænge... 1 Uafhængig og afhængig

Læs mere

mobiletelefon (eller modem indbygget i en anden enhed) kan sende og modtage emails eller browse på Internettet via mobiletelefon.

mobiletelefon (eller modem indbygget i en anden enhed) kan sende og modtage emails eller browse på Internettet via mobiletelefon. GPS baseret tracking af mobile objekter Christian S. Jensen, Aalborg Universitet og & Kristian Torp, Aalborg Universitet Denne artikel beskriver hvorledes man med eksisterende teknologi, herunder Global

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Institution Uddannelse Fag og niveau Lærer(e) Termin hvori undervisningen afsluttes: maj-juni, 2013 HTX Vibenhus

Læs mere

Transit af XO-2b. Jonas Bregnhøj Nielsen. Lars Fogt Paulsen

Transit af XO-2b. Jonas Bregnhøj Nielsen. Lars Fogt Paulsen Transit af XO-2b Udarbejdet af: Kasper Lind Jensen Jonas Bregnhøj Nielsen Lars Fogt Paulsen Indholdsfortegnelse Baggrund... 3 XO-2b... 4 Beskrivelse af observationer... 4 Datareduktion... 5 Diskussion...

Læs mere

Statistik (deskriptiv)

Statistik (deskriptiv) Statistik (deskriptiv) Ikke-grupperede data For at behandle ikke-grupperede data i TI, skal data tastes ind i en liste. Dette kan gøres ved brug af List, hvis ikon er nr. 5 fra venstre på værktøjsbjælken

Læs mere

DE BEAR TECHNOLOGY. o Processer, metoder & værktøjer. e-mail: info@dbtechnology.dk WWW.DBTECHNOLOGY.DK

DE BEAR TECHNOLOGY. o Processer, metoder & værktøjer. e-mail: info@dbtechnology.dk WWW.DBTECHNOLOGY.DK Mission Critical o Projekt Information management o Processer, metoder & værktøjer. Side 1 of 11 Projekt information Projekt information management inkluderer alle de processer, som er nødvendige for at

Læs mere

Brug af Vegas Pro farve anvendelsesområder

Brug af Vegas Pro farve anvendelsesområder Brug af Vegas Pro farve anvendelsesområder Gary Rebholz Vegas Pro software med fire sofistikerede video anvendelsesområder, som du kan bruge til at analysere din video og få indblik i farvekorrektion filtrering,

Læs mere

Store forskelle i varmepriserne hvorfor?

Store forskelle i varmepriserne hvorfor? Store forskelle i varmepriserne hvorfor? Der er store prisforskelle på fjernvarme rundt om i landet. Energitilsynet analyserer her, hvordan brændselsvalg, beliggenhed i forhold kunderne, størrelse og ejerskab

Læs mere

5 spørgsmål om koordinatsystemer du ville ønske, du aldrig havde stillet! Erik Wirring Landinspektørfirmaet LE34. (ew@le34.dk)

5 spørgsmål om koordinatsystemer du ville ønske, du aldrig havde stillet! Erik Wirring Landinspektørfirmaet LE34. (ew@le34.dk) 5 spørgsmål om koordinatsystemer du ville ønske, du aldrig havde stillet! Erik Wirring Landinspektørfirmaet LE34 (ew@le34.dk) 5 spørgsmål om koordinatsystemer du vil ønske du aldrig havde stillet! 1. Hvorfor

Læs mere

Eleverne skal lære at:

Eleverne skal lære at: PK: Årsplan 8.Ga. M, matematik Tid og fagligt område Aktivitet Læringsmål Uge 32 uge 50 Tal og algebra Eleverne skal arbejde med at: kende de reelle tal og anvende dem i praktiske og teoretiske sammenhænge

Læs mere

APPENDIX A INTRODUKTION TIL DERIVE

APPENDIX A INTRODUKTION TIL DERIVE APPENDIX A INTRODUKTION TIL DERIVE z x y z=exp( x^2 0.5y^2) CAS er en fællesbetegnelse for matematikprogrammer, som foruden numeriske beregninger også kan regne med symboler og formler. Det betyder: Computer

Læs mere

Simulering af stokastiske fænomener med Excel

Simulering af stokastiske fænomener med Excel Simulering af stokastiske fænomener med Excel John Andersen, Læreruddannelsen i Aarhus, VIA Det kan være en ret krævende læreproces at udvikle fornemmelse for mange begreber fra sandsynlighedsregningen

Læs mere

Temaopgave i statistik for

Temaopgave i statistik for Temaopgave i statistik for matematik B og A Indhold Opgave 1. Kast med 12 terninger 20 gange i praksis... 3 Opgave 2. Kast med 12 terninger teoretisk... 4 Opgave 3. Kast med 12 terninger 20 gange simulering...

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

Effektiv søgning på web-steder

Effektiv søgning på web-steder Effektiv søgning på web-steder 7. maj 1998 Udarbejdet af DialogDesign ved Rolf Molich, Skovkrogen 3, 3660 Stenløse Indhold 1. Indledning 3 1.1. Model for søgning 3 2. Forskellige former for søgning 4 2.1.

Læs mere

VisiRegn: En e-bro mellem regning og algebra

VisiRegn: En e-bro mellem regning og algebra Artikel i Matematik nr. 2 marts 2001 VisiRegn: En e-bro mellem regning og algebra Inge B. Larsen Siden midten af 80 erne har vi i INFA-projektet arbejdet med at udvikle regne(arks)programmer til skolens

Læs mere

Spar Nord Banks ansøgningsscoremodel. - et ekspertbaseret ratingsystem for nye udlånskunder

Spar Nord Banks ansøgningsscoremodel. - et ekspertbaseret ratingsystem for nye udlånskunder Spar Nord Banks ansøgningsscoremodel - et ekspertbaseret ratingsystem for nye udlånskunder Mål for ansøgningsscoremodel Rating af nye udlånskunder som beskrives vha. en række variable: alder, boligform,

Læs mere

Simpel Lineær Regression

Simpel Lineær Regression Simpel Lineær Regression Mål: Forklare variablen y vha. variablen x. Fx forklare Salg (y) vha. Reklamebudget (x). Vi antager at sammenhængen mellem y og x er beskrevet ved y = β 0 + β 1 x + u. y: Afhængige

Læs mere

Indledning. Søren Mønsted: Visionsfilm som projektmål 24. november 2004. Side 1

Indledning. Søren Mønsted: Visionsfilm som projektmål 24. november 2004. Side 1 Indledning Alle projekter har et mål. Hvad enten det drejer sig om et personligt projekt om at holde op med at ryge, projektet med at bygge en bro eller projektet med at arrangere en havefest for hele

Læs mere

Skriv punkternes koordinater i regnearket, og brug værktøjet To variabel regressionsanalyse.

Skriv punkternes koordinater i regnearket, og brug værktøjet To variabel regressionsanalyse. Opdateret 28. maj 2014. MD Ofte brugte kommandoer i Geogebra. Generelle Punktet navngives A Geogebra navngiver punktet Funktionen navngives f Funktionen navngives af Geogebra Punktet på grafen for f med

Læs mere

Julehjerter med motiver

Julehjerter med motiver Julehjerter med motiver Torben Mogensen 18. december 2012 Resumé Jeg har i mange år moret mig med at lave julehjerter med motiver, og er blevet spurgt om, hvordan man gør. Så det vil jeg forsøge at forklare

Læs mere

Indholdsfortegnelse. Regneark for matematiklærere

Indholdsfortegnelse. Regneark for matematiklærere Indholdsfortegnelse Forord... 3 Diskettens indhold... 4 Grafer i koordinatsystemet... 5 Brug af guiden diagram... 5 Indret regnearket fornuftigt... 9 Regneark hentet på Internettet... 15 Læsevenlige tal

Læs mere

CRAWL. Fra Plask&Leg til Talent

CRAWL. Fra Plask&Leg til Talent CRAWL Fra Plask&Leg til Talent Lidt om mig Træner siden 1993 - Kolding, S68 Hjørring, Roskilde Svømning, Hovedstadens Svømmeklub - Fra svømmeskole, via årgangssvømning til at blive cheftræner Uddannelsesmæssige

Læs mere

Application Management Service

Application Management Service Application Management Service I dette Whitepaper vil vi beskrive nogle af vores erfaringer med Application Management. De fleste virksomheder har på et tidspunkt lavet, eller fået lavet, en mindre applikation,

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin 5. 6. semester efterår 2013-forår 2014 Institution Grenaa Tekniske Gymnasium Uddannelse Fag og niveau Lærer(e)

Læs mere

Komplekse tal. x 2 = 1 (2) eller

Komplekse tal. x 2 = 1 (2) eller Komplekse tal En tilegnelse af stoffet i dette appendix kræver at man løser opgaverne Komplekse tal viser sig uhyre nyttige i fysikken, f.eks til løsning af lineære differentialligninger eller beskrivelse

Læs mere

Komplekse tal. Mikkel Stouby Petersen 27. februar 2013

Komplekse tal. Mikkel Stouby Petersen 27. februar 2013 Komplekse tal Mikkel Stouby Petersen 27. februar 2013 1 Motivationen Historien om de komplekse tal er i virkeligheden historien om at fjerne forhindringerne og gøre det umulige muligt. For at se det, vil

Læs mere

Algebra. Dennis Pipenbring, 10. februar 2012. matx.dk

Algebra. Dennis Pipenbring, 10. februar 2012. matx.dk matx.dk Algebra Dennis Pipenbring, 10. februar 2012 nøgleord andengradsligning, komplekse tal, ligningsløsning, ligningssystemer, nulreglen, reducering Indhold 1 Forord 4 2 Indledning 5 3 De grundlæggende

Læs mere

Kapitel 7 Matematiske vækstmodeller

Kapitel 7 Matematiske vækstmodeller Matematiske vækstmodeller I matematik undersøger man ofte variables afhængighed af hinanden. Her ser man, at samme type af sammenhænge tit forekommer inden for en lang række forskellige områder. I kapitel

Læs mere

Matematik i AT (til elever)

Matematik i AT (til elever) 1 Matematik i AT (til elever) Matematik i AT (til elever) INDHOLD 1. MATEMATIK I AT 2 2. METODER I MATEMATIK OG MATEMATIKKENS VIDENSKABSTEORI 2 3. AFSLUTTENDE AT-EKSAMEN 3 4. SYNOPSIS MED MATEMATIK 4 5.

Læs mere

Tænk på a og b som to n 1 matricer. a 1 a 2 a n. For hvert i = 1,..., n har vi y i = x i β + u i.

Tænk på a og b som to n 1 matricer. a 1 a 2 a n. For hvert i = 1,..., n har vi y i = x i β + u i. Repetition af vektor-regning Økonometri: Lektion 3 Matrix-formulering Fordelingsantagelse Hypotesetest Antag vi har to n-dimensionelle (søjle)vektorer a 1 b 1 a 2 a =. og b = b 2. a n b n Tænk på a og

Læs mere

Årsplan for 7. klasse, matematik

Årsplan for 7. klasse, matematik Årsplan for 7. klasse, matematik I matematik bruger vi bogsystemet Sigma som grundmateriale. I systemet er der, ud over grundbogen, også kopiark og tests tilknyttet de enkelte kapitler. Systemet er udarbejdet

Læs mere

Fagplan for faget matematik

Fagplan for faget matematik Fagplan for faget matematik Der undervises i matematik på alle klassetrin (0. - 7. klasse). De centrale kundskabs- og færdighedsområder er: I matematik skal de grundlæggende kundskaber og færdigheder i

Læs mere

Golf og Lederudvikling!

Golf og Lederudvikling! Golf og Lederudvikling! Golf og Lederudvikling! Kan man lære om ledelse på en golfbane eller er det blot en undskyldning for en god dag væk fra kontoret? Ja, ja, ja meget endda! En forudsætning for at

Læs mere

Her er et spørgsmål, du måske aldrig har overvejet: kan man finde to trekanter med samme areal?

Her er et spørgsmål, du måske aldrig har overvejet: kan man finde to trekanter med samme areal? Her er et spørgsmål, du måske aldrig har overvejet: kan man finde to trekanter med samme areal? Det er ret let at svare på: arealet af en trekant, husker vi fra vor kære folkeskole, findes ved at gange

Læs mere

brikkerne til regning & matematik statistik preben bernitt

brikkerne til regning & matematik statistik preben bernitt brikkerne til regning & matematik statistik 2+ preben bernitt brikkerne til regning & matematik statistik 2+ 1. udgave som E-bog ISBN: 978-87-92488-33-6 2009 by bernitt-matematik.dk Kopiering af denne

Læs mere

SRO. Newtons afkølingslov og differentialligninger. Josephine Dalum Clausen 2.Y Marts 2011 SRO

SRO. Newtons afkølingslov og differentialligninger. Josephine Dalum Clausen 2.Y Marts 2011 SRO SRO Newtons afkølingslov og differentialligninger Josephine Dalum Clausen 2.Y Marts 2011 SRO 0 Abstract In this assignment I want to illuminate mathematic models and its use in the daily movement. By math

Læs mere

Kapitel 1. Planintegraler

Kapitel 1. Planintegraler Kapitel Planintegraler Denne tekst er en omarbejdet version af kapitel 7 i Gunnar Mohrs noter til faget DiploMat 2, og opgaverne er et lille udpluk af opgaver fra Mogens Oddershede Larsens bog Matematik

Læs mere

GeoGebra 3.0.0.0 Quickstart. det grundlæggende

GeoGebra 3.0.0.0 Quickstart. det grundlæggende GeoGebra 3.0.0.0 Quickstart det grundlæggende Grete Ridder Ebbesen frit efter GeoGebra Quickstart af Markus Hohenwarter Virum, 28. februar 2009 Introduktion GeoGebra er et gratis og meget brugervenligt

Læs mere

Tips og vejledning vedrørende den tredelte prøve i AT, Nakskov Gymnasium og HF

Tips og vejledning vedrørende den tredelte prøve i AT, Nakskov Gymnasium og HF Tips og vejledning vedrørende den tredelte prøve i AT, Nakskov Gymnasium og HF Den afsluttende prøve i AT består af tre dele, synopsen, det mundtlige elevoplæg og dialogen med eksaminator og censor. De

Læs mere

Opgave 1 Regning med rest

Opgave 1 Regning med rest Den digitale signatur - anvendt talteori og kryptologi Opgave 1 Regning med rest Den positive rest, man får, når et helt tal a divideres med et naturligt tal n, betegnes rest(a,n ) Hvis r = rest(a,n) kan

Læs mere

Teorien om High Dynamic Range Fotografering

Teorien om High Dynamic Range Fotografering Teorien om High Dynamic Range Fotografering Indhold High Dynamic Range - HDR 2 HDR sidder i øjet 3 Du ser kun en lille del ad gangen 4 HDR for det hele med, Princip 1 5 Ev-trin på histogrammet 6 Farver

Læs mere

Excel tutorial om lineær regression

Excel tutorial om lineær regression Excel tutorial om lineær regression I denne tutorial skal du lære at foretage lineær regression i Microsoft Excel 2007. Det forudsættes, at læseren har været igennem det indledende om lineære funktioner.

Læs mere

matx.dk Enkle modeller

matx.dk Enkle modeller matx.dk Enkle modeller Dennis Pipenbring 28. juni 2011 Indhold 1 Indledning 4 2 Funktionsbegrebet 4 3 Lineære funktioner 8 3.1 Bestemmelse af funktionsværdien................. 9 3.2 Grafen for en lineær

Læs mere

03-10-2012 side 1. Billeddannelsen. Anne Sofie Nielsen. UDDANNELSER I UDVIKLING www.ucl.dk

03-10-2012 side 1. Billeddannelsen. Anne Sofie Nielsen. UDDANNELSER I UDVIKLING www.ucl.dk 03-10-2012 side 1 Billeddannelsen Anne Sofie Nielsen 03-10-2012 side 2 Dataopsamling (Data acquisition) Slice by sice (sekventiel) Volumen (Helical eller spiral) 03-10-2012 side 3 Seeram 03-10-2012 side

Læs mere

Introduktion til ridge detection

Introduktion til ridge detection Introduktion til ridge detection Katrine Hommelhoff Jensen katrine@diku.dk Martin Parm parmus@diku.dk 18. oktober 2003 Indhold 1 Indledning 3 1.1 Højderygge på et billede..................... 4 1.2 Projektets

Læs mere