Kravspecifikation Fredrik Berntsson Version 1.3

Relevanta dokument
Kravspecifikation Fredrik Berntsson Version 1.1

Kravspecifikation Fredrik Berntsson Version 1.3

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 9 november 2015 Sida 1 / 28

TANA81: Matematikprojekt

Kravspecifikation. LIPs. LiTH Stråldosplaner för cancerbehandling Fredrik Berntsson Version 1.4. Status. TANA81 Matematikprojekt

TANA81: Föreläsning 2

Kravspecifikation. LiTH Segmentering av MR-bilder med ITK Anders Eklund Version 1.0. Status

Projektplan. LiTH Segmentering av MR-bilder med ITK Anders Eklund. Version 1.0. Status. Bilder och grafik projektkurs, CDIO MCIV LIPs

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 26 november 2015 Sida 1 / 28

NUMPROG, 2D1212, vt Föreläsning 1, Numme-delen. Linjära ekvationssystem Interpolation, Minstakvadratmetoden

Numerisk Analys, MMG410. Lecture 12. 1/24

LiTH Segmentering av MR-bilder med ITK Efterstudie MCIV. Anders Eklund. Status

Föreläsning 14: Exempel på randvärdesproblem. LU-faktorisering för att lösa linjära ekvationssystem.

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

Newtons metod. 1 Inledning. CTH/GU LABORATION 3 MVE /2014 Matematiska vetenskaper

Föreläsning 5. Approximationsteori

Minsta kvadratmetoden

Laboration 1. Grafisk teknik (TNM059) Introduktion till Matlab. R. Lenz och S. Gooran (VT2007)

TANA17 Matematiska beräkningar med Matlab

Kurs DN1215, Laboration 3 (Del 1): Randvärdesproblem för ordinära differentialekvationer

TMA226 datorlaboration

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Tillämpning: Bildinterpolation. Ekvationslösning. Integraler. Tillämpning: En båt. Räkning med polynom. Projekt. Tentamensinformation.

Efterstudie. Redaktör: Jenny Palmberg Version 1.0. Status. LiTH Fordonssimulator. Granskad Godkänd. TSRT71 Jenny Palmberg

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 27 oktober 2015 Sida 1 / 31

NUMPROG, 2D1212, vt Föreläsning 9, Numme-delen. Stabilitet vid numerisk behandling av diffekvationer Linjära och icke-linjära ekvationssystem

TAIU07 Matematiska beräkningar med Matlab

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

Projektplan. LiTH Reglering av Avgaser, Trottel och Turbo Fredrik Petersson Version 1.0. Status. Reglerteknisk Projektkurs RATT LIPs

LiTH Autonom styrning av mobil robot Projektplan. Martin Elfstadius & Fredrik Danielsson. Version 1.0

Linköpings universitet

Linköpings universitet

LIPS Kravspecifikation. Institutionen för systemteknik Mattias Krysander

Dokumentation och presentation av ert arbete. Kursens mål. Lärare Projektmedlemmar. Studenter Extern personal. Projektfaser. Projektroller.

LIPs Daniel Axehill ChrKr Projektdirektiv_Saab_v3 CKr

x 2 x 1 W 24 november, 2016, Föreläsning 20 Tillämpad linjär algebra Innehåll: Projektionssatsen Minsta-kvadratmetoden

TAIU07 Matematiska beräkningar med MATLAB för MI. Fredrik Berntsson, Linköpings Universitet. 15 januari 2016 Sida 1 / 26

Innehåll (3) Innehåll (2) Innehåll (5) Innehåll (4) Innehåll (6) Innehåll (7) Dokumenthistorik. beställare, Översiktlig beskrivning av projektet

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration

Interpolation Modellfunktioner som satisfierar givna punkter

Projektplanering. Projektplanen. Om inte projektet planeras noga, kommer det garanterat att misslyckas

Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 9p av totalt 20p Hjälpmedel: MATLAB

Numerisk Analys, MMG410. Lecture 13. 1/58

KRAVSPECIFIKATION. Pontus Brånäs Wojtek Thorn Version 1.1. Status

2 Matrisfaktorisering och lösning till ekvationssystem

Projektdirektiv Oskar Ljungqvist Sida 1. Kund/Examinator: Daniel Axehill, Reglerteknik/LiU

Spelschema för årets fotbollsmästerskap! island tyskland Söndag 14/7 Växjö Arena, Växjö. Söndag 14/7 Kalmar Arena, Kalmar

Datastrukturer och algoritmer

Tentamen, Programmeringsteknik för BME, F och N

TMV166 Linjär algebra för M. Datorlaboration 2: Matrisalgebra och en mekanisk tillämpning

Projektplan. LiTH AMASE Accurate Multipoint Acquisition from Stereovision Equipment. Johan Hallenberg Version 1.0

Linjärisering, Jacobimatris och Newtons metod.

Hemuppgift 1, SF1861 Optimeringslära, VT 2017

LIPs Fredrik Ljungberg ChrKr Projektdirektiv18_ROV.doc CKr

TANA09 Föreläsning 8. Kubiska splines. B-Splines. Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Hjälpmedel: MATLAB

MMA132: Laboration 2 Matriser i MATLAB

15 februari 2016 Sida 1 / 32

UPG5 och UPG8 Miniprojekt 1: 2D datorgrafik

2 = 3 = 1. ekvationssystem är beskriven som de vektorer X =

Projektdirektiv. Rikard Falkeborn Sida 1

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Inför examensarbetet, 15 hp. Examensarbetsprocessen vt-17

Information TBMT41. Göran Salerud Version Status

Rangordning av internetsidor - ett egenvärdesproblem för positiva matriser

Teorifrågor. 6. Beräkna konditionstalet för en diagonalmatris med diagonalelementen 2/k, k = 1,2,...,20.

LiTH. WalkCAM 2007/05/15. Testplan. Mitun Dey Version 1.0. Status. Granskad. Godkänd. Reglerteknisk projektkurs WalkCAM LIPs

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Ingenjörsprojekt, TFYY51, 2017 Slutleverans, Projektkonferens, Dokumentation

Tentamen, del 2 Lösningar DN1240 Numeriska metoder gk II F och CL

Dokumentation och presentation av ert arbete

Robotarm och algebra

Minsta-kvadratmetoden

Stockholms Universitet Sociologiska Institutionen. Delkursplan till specialkursen Samhällsproblem (6 hp) Sociologi I&II VT17 (4/4 5/5 2017)

Linjär algebra F1 Ekvationssystem och matriser

Information om examensarbete 15 hp (10 veckor) Examensarbetsprocessen ht-15

Reglerteknisk projektkurs TSRT10

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan

TANA09 Föreläsning 5. Matrisnormer. Störningsteori för Linjära ekvationssystem. Linjära ekvationssystem

Sammanfattning (Nummedelen)

Grafisk Teknik. Rastrering. Övningar med lösningar/svar. Sasan Gooran (HT 2013)

Några saker som jag inte hann: Ur trigonometriska ettan kan vi uttrycka och i termer av. Vi delar båda led i trig. 1:an med :

Hemuppgift 2, SF1861 Optimeringslära för T, VT-10

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp,

Välkomna till KMM! KMM. KMM - lärandemål Efter fullgjord kurs ska ni bland annat kunna:

Innehåll. Projekt Greed. Projekt definition. Projekt Greed En introduktion till projektmodellen LIPs

3. Vilka taltripler (x, y, z) satisfierar ekvationssystemet 3x + 2y 3z = 3 2x + y + 4z = 7

Matrismetod för analys av stångbärverk

CHALMERS Finit Elementmetod M3 Institutionen för tillämpad mekanik. Teorifrågor

Histogram över kanter i bilder

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

Inledande matematik M+TD

Reglerteknisk projektkurs TSRT10

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

Interpolation. 8 december 2014 Sida 1 / 20

Linjära ekvationssystem

Tentamen i Linjär algebra , 8 13.

Kvalificeringstävling den 30 september 2008

Transkript:

Kravspecifikation Fredrik Berntsson Version 1.3 Status Granskad FB 2017-01-27 Godkänd FB 2017-02-27

Dokumenthistorik Version Datum Utförda ändringar Utförda av Granskad 1.0 2014-01-15 Första versionen FB FB 1.1 2015-01-16 Uppdaterad för VT-2015 FB FB 1.2 2016-02-01 Uppdaterad för VT-2016 FB FB 1.3 2017-01-27 Uppdaterad för VT-2017 FB FB 2

1 Introduktion Manipulation av bilder är en vanligt förekommande tillämpning där matematiska metoder används för att lösa ett flertal problem som exempelvis att ändra upplösning eller ändra detaljer i bilden. En annan tillämpning är datakompression där bara den väsentliga informationen i bilden lagras för att spara minne. Dessa tillämpningar kan beskrivas som interpolations problem. Vi skall inom projektet formulera interpolationsproblemet i 1D på ett sådant sätt att det går att generalisera till 2D (eller till 3D vilket i detta fallet skulle tolkas som en filmsekvens). Vi skall dessutom visa hur exempelvis bildkompression kan formuleras som ett interpolationsproblem. Slutligen skall ett system implementeras som enkelt låter oss lösa olika tillämpningsproblem. Systemet skall utformas på ett sådant sätt att det är flexibelt och lätt att modifiera. Detta för att vi skall kunna utveckla systemet genom att exempelvis implementera mera avancerade metoder för interpolation. 1.1 Parter Med leverantör åsyftas i efterföljande text projektgruppen. Matematiska Institutionen (MAI) är beställare och kund. 1.2 Syfte och Mål Målet med projektarbetet är att inhämta kunskap i hur matematiska metoder kan användas i realistiska tillämpningar, samt inhämta tillräcklig kunskap inom tillämpningen bildbehandling för att förstå vilka möjligheter och begränsningar som metoderna som studeras har. Projektet har också som övergripande mål att ge träning i att utveckla ett system, ingenjörsmässiga arbetsmetoder, samt dokumentation och muntlig presentation. 1.3 Användning Beställaren skall kunna använda systemet för att lösa ett antal olika bildbehandlingsuppgifter. Systemet skall utformas så att det är enkelt för användaren att vidareutveckla. 2 Systemöversikt Kärnan i systemet skall vara en funktion som löser ett interpolationsproblem. Indata är en bild, dvs en matris I = (I ij ) där en enskild pixel antigen har ett 3

känt värde eller betraktas som okänd samt en Mask, dvs en matrism = (M ij ) som talar om vilka pixlar som är kända respektive okända. För att lösa ett bildbehandlingsproblem genomförs görs steg enligt Figur 1. De olika bildbehandlingsproblemen svarar mot olika metoder för att konstruera mask martisen. Bild I Skapa Mask M givet I M,I Interpolera okända I ij Bild I ny Figur 1: Bildbehandlingsaproblem löses genom att man först skapar en mask M som talar om vilka platser i I matrisen som skall betraktas som okända. I interpolationssteget beräknas lämpliga värden på de okända pixlarna I ij. 2.1 Avgränsningar Systemet skall ses som en prototyp och inget högre krav ställs på användargränssnitt. Det räcker om systemet består av ett antal fristående funktioner som tillsammans kan användas för att lösa uppgiften. Det måste isåfall medfölja ett tydligt exempel där det visas hur de ingående funktionerna skall användas tillsammans för att lösa bildbehandlingsproblemen. 2.2 Generella krav på hela systemet Krav 1 Original Systemet skall kunna lösa bildbehandlingsproblem Systemet skall vara testat och stabilt med avseende på parametrar användaren kan Krav 2 Original välja. 3 Interpolationsproblemet Vi börjar med att beskriva en metod för linjär interpolation i en dimension. Antag att vi har en vektor y, med element y i, där vissa element är kända och vissa okända. Inför vi en x vektor av samma längd som y, med exempelvis x i = i. Om då y j och y k är kända värden men y i för j < i < k är okända kan vi hitta den räta linjen som går genom punkterna (x j,y j ) och (x k,y k ) och använda den för att approximera de okända värdena. För att enkelt hålla reda på vilka punkter som är kända respektive okända använder vi en vektor 4

m sådan att m i = 1 om elementet y i är att betrakta som känt och m i = 0 om y i är okänt. Krav 3 Original Krav 4 Original Krav 5 Original Visa teoretiskt hur interpolationsproblemet i 1D kan beskrivas som ett randvärdesproblem för en ordinärdifferentialekvation. Implementera linjär interpolation i 1D enligt den metod som beskrivs i Krav 1. Skapa minst ett testexempel som visar att metoden fungerar (1) Då vi istället studerar interpolation i 2D eller 3D behöver vi en formulering av interpolationsproblemet som är enkel att generalisera. Krav 3 erbjuder en sådan formulering. En bild I kan ses som en funktion I(x,y),, 1 x n, 1 y m, där n m är antalet pixlar i bilden. Vissa pixlar betraktas som kända och vissa som okända. Vi kan beskriva detta genom att införa ett område Ω sådant att I ij är okänd ifall (x i,y j ) Ω och känd annars. Området Ω kan på ett enkelt sätt beskrivas av en matris M, eller Mask, sådan att M ij = 1 om I ij är att betrakta som känd, och M ij = 0 annars. Då vi formulerat interpolationsproblemet som ett randvärdesproblem för en partiell differential ekvation kan lösa problemet med hjälp av en finita differensapproximation. Detta leder till ett linjärt ekvationssystem där de obekanta är pixelvärdena I ij. 5

Krav 6 Original Krav 7 Original Krav 8 Original Krav 9 Original Visa hur formuleringen i Krav 3 kan generaliseras till 2D. Beskriv tydligt hur interpolationsproblemet kan formuleras som ett randvärdesproblem i planet. Välj en finita differensapproximation av metoden i Krav 6 och visa hur det linjära ekvationssystemet ser ut. Redovisa här eventuella restriktioner på bilden för att metoden skall fungera. Implementera interpolation i 2D enligt den metod som beskrivits i Krav 6 och Krav 7. Hitta ett bra test exempel som tydligt visar att metoden fungerar. En analytisk lösning på problemet som besrivits i Krav 6 skall användas. (1) (1) För varje konkret bild I måste vi hitta ett effektivt sätt att beskriva det område där pixlarna I ij skall betraktas som okända. I Matlab finns en funktion ginput där man kan klicka i ett grafikfönster där en bild visas och få koordinaterna man klickade på. Detta kan utnyttjas för att definiera rektangulära områden genom att man klickar på två av dess hörn. Vi kan även kombinera två olika områden (eller Masker) M 1 och M 2 genom logiska villkor. Följande möjligheter skall finnas Visa orginal bilden i ett grafik fönster och markera ett rektangelområde som skall betraktas som okänt. Skapa motsvarande mask matris. Kombinera två mask matriser till en på ett sådant sätt att en pixel betraktas som okänd om den är okänd i någon av de ingående mask matriserna. Visa orginalbilden i ett grafikfönster och rita in kanten på det okända området. Krav 10 Original Krav 11 Original Implementera lämpliga funktioner för att skapa och manipulera mask matriser enligt ovan. Skapa en mask matris som svarar mot ett cirkulärt område. Klicka i cirkelns centrum samt på en punkt på cirkeln. Extra 6

4 Tillämpningar Interpolation i bilder (dvs 2D) har flera tillämpningar. Vi skall nu försöka beskriva åtminstone några av dessa. Den enklaste tillämpningen är då en bild innehåller skadade områden, eller oönskade detaljer. Isåfall kan man skapa en mask matris som beskriver vilka delar av bilden man skall ersätta med nya pixelvärden. Vi använder sedan interpolation i 2D för att beräkna nya pixelvärden som ersätter de existerande. Vill man på detta sätt manipulera färgbilder så betraktar man färgbilden som tre separata bilder (röd,grön,blå). Nästa tillämpning är att ändra upplösning på bilder, eller så kallad digital zoom. Givet en n m bild I skapar vi en ny dubbelt så stor bild Ĩ genom att betrakta pixlar med jämnt index, Ĩ2i,2j = I i,j, som kända och pixlar med udda index som okända. Detta fungerar ej för pixlar som ligger på kanten av bilden så där måste först endimensionell interpolation användas. Den metod vi använder för att interpolera innebär att vi löser en differential ekvation och approximerar bilden I. Den exakta bilden I(x, y) kommer säkert inte att vara en lösning till differentialekvationen i hela området. Dock innehåller ofta bilder stora områden där färgerna är konstanta eller långsamt varierande. I sådana områden kan bilden återskapas väldigt noggrannt med interpolation. Detta betyder att vi kan minska mängden data vi måste lagra genom att evaluera en lämplig differntial operator för varje pixel (x i,y j ). Om resultatet till beloppet är mindre än en tolerans tol så kan vi betrakta den punkten som okänd och istället beräkna pixelvärdet genom interpolation. Vi behöver då endast larga några pixlar där viktig information finns. Detta kallas kant-baserad bildkomprimering. Hur stor tolerans tol vi skall använda beror på vilken kvalitet vi kräver av den återskapade bilden. Givet att masken är M kan vi i Matlab använda spy(sparse(m)) för att grafiskt se vilka pixlar som måste användas för att kunna återskapa bilden noggrannt via interpolation. För att mäta hur nära den återskapade bilden är den ursprungliga kan Frobenius norm användas. Vi mäter då skillnaden som I Ĩ F = I ij Ĩij 2. i,j 7

Krav 12 Original Krav 13 Original Krav 13 Original Krav 14 Original Krav 15 Original 5 Ekonomi Använd interpolation i 2D för att ta bort oönskade detaljer i en färgbild. Bild tillhandahålls av beställaren. Implementera en funktion som använder interpolation för att dubbla upplösningen på en bild. Implementera en funktion som genomför bildkomprimering enligt ovan. Givet en bild skall en mask som beskriver de pixlar vi skall betrakta som kända respektive okända returneras. Gör ett tydligt exempel där kant-baserad datakomprimering används för att minska antalet pixlar vi behöver larga. Gör en studie som visar hur den valda toleransen tol vid bildkomprimering bestämmer antalet pixlar vi måste lagra samt kvaliteten på resultatet mätt i Frobenius norm. Extra Extra Krav 16 Original 6 Leveranser Projektet skall genomföras med en arbetsinsats på 105 timmar per student. * Vid slutleverans skall samtliga krav märkta vara uppfyllda. För grupper med 5 studeneter gäller att minst ett krav märkt Extra dessutom skall vara uppfyllt. För grupper med 6 studenter gäller att tre Extra krav skall vara genomförda. För större grupper gäller att samtliga Extra krav skall vara uppfyllda. 8

Krav 17 Original Krav 18 Original Krav 19 Original Krav 20 Original Krav 21 Original Krav 22 Original Krav 23 Original Krav 24 Original Krav 25 Original Leverans av gruppkontrakt skall ske senast torsdag 2/2 kl. 17.00 till handledare och kursansvarig Leverans av projektplan skall ske senast onsdag den 15/2 kl. 17.00 via e-post till beställaren och handledaren. Presentation av krav (1) skall ske muntligt för beställare senast fredag den 28/2 klockan 17.00. Detta sammanfaller med BP3. Delleverans omfattande det utvecklade systemet, bruksanvisning, och ett utkast till den konferensartikel som presenterar arbetet skall skickas till beställare och handledare senast tisdag 11/4 klockan 17.00. Slutleverans bestående av den artikel som beskriver gruppens arbete skall skickas till handledare och beställare senast torsdag 11/5. Det skall tydligt framgå i texten att alla - och *-krav skall är uppfyllda samt extrakrav enligt texten ovan. Statusrapporter skall skickas via e-post till beställare varannan måndag med start v. 7 och slut v. 20. Tidsrapporter för varje vecka skall skickas via e-post till handledare och beställare senast måndag 13.00 påföljande vecka Leverans av efterstudie till kursansvarig senast onsdag 27/5 klockan 17.00. Krav märkta * skall vara uppfyllda vid kursens avslutande och redovisning av detta sker genom mail till beställaren senast den 27/5 kl. 17.00. 9

7 Dokumentation För att beställaren skall kunna testa det utvecklade systemet behövs en bruksanvisning. Denna bruksanvisning skall förklara hur man gör för att använda systemets olika funktioner. En bruksanvisning skall följa med systemet Krav 26 Original Krav 27 Original En projektplan skall upprättas Krav 28 Original Mötesprotokoll skall föras vid alla möten Tidsrapporter skall sammanställas varje Krav 29 Original vecka Projektgruppensarbete skall beskrivas i en artikel som lämpar sig för att presenteras på en teknisk konferens. Artikeln skall innehålla nödvändig bakgrundsinformation, Krav 30 Original en beskrivning av vad som gjorts, samt exempel som illustrerar hur metoden fungerar. Detta dokument behöver inte följa LIPS mallarna. En litteraturstudie skall göras och någon, eller några, differential ekvationer som används för att interpolera bilder skall pre- Krav 31 Original senteras. Detta för att beställaren skall kunna vidare utveckla projektet. Krav 32 Original En efterstudie skall skrivas. Alla dokument som lämna till beställare skall granskas, med avseende på både Krav 33 Original språk och innehåll, av minst en projektdeltagare, utöver den som skrev texten. Krav 34 Original Alla dokument skall följa LIPS-mallarna * * * * * * * 8 Utbildning Inom projektet erbjuds utbildning i Matlab. 10