lips mall Kravspecifikation
Transcription
lips mall Kravspecifikation
LiTH Automatisk Tecken Identifiering 2015-01-19 Kravspecifikation Fredrik Berntsson Version 1.2 Status Godkänd Beställare Fredrik Berntsson 01/19/15 LIPs TANA81 Matematikprojekt Kravspecifikation 1 LiTH Automatisk Teckenidentifiering 2014-01-13 PROJEKTIDENTITET Linköpings tekniska högskola, Matematiska institutionen Namn Telefon Ansvar Projektledare (PL) Dokumentansvarig (DOK) Ansvarig - Delsystem 1 (D1) Ansvarig – Delsystem 2 (D2) E-post Ansvarig - Utvärdering (UT) Applikationsexpert (AE) Kund: Matematiska institutionen, LiTH, kundtelefon 013-11 00 00, fax: 013-10 19 02, e-postadress Kontaktperson hos kund: Viktor Linders, 013-281456, [email protected] Kursansvarig: Fredrik Berntsson, 013-282860, [email protected] Handledare: Tomas Lundquist, [email protected] LIPs TANA81 Matematikprojekt Kravspecifikation 2 LiTH Automatisk Teckenidentifiering 2014-01-13 Innehåll STATUS.................................................................................................................................................................1 PROJEKTIDENTITET LINKÖPINGS TEKNISKA HÖGSKOLA, MATEMATISKA INSTIUTIONEN DOKUMENTHISTORIK.....................................................................................................................................4 1 INLEDNING........................................................................................................................................................5 1.1 PARTER..........................................................................................................................................................5 1.2 SYFTE OCH MÅL............................................................................................................................................5 1.3 ANVÄNDNING.................................................................................................................................................5 2 ÖVERSIKT AV SYSTEMET............................................................................................................................5 2.1 2.2 2.3 2.4 2.5 GROV BESKRIVNING AV PRODUKTEN.............................................................................................................5 BEROENDEN TILL ANDRA SYSTEM.................................................................................................................5 INGÅENDE DELSYSTEM...................................................................................................................................5 AVGRÄNSNINGAR...........................................................................................................................................6 GENERELLA KRAV PÅ HELA SYSTEMET..........................................................................................................6 3 DELSYSTEM 1 – NÄRMSTA-GRANNE-METODEN..................................................................................6 4 DELSYSTEM 2 – APPROXIMATION MED LINJÄRT UNDERRUM......................................................6 5 DELSYSTEM 3 - UTVÄRDERING..................................................................................................................7 6 EKONOMI ..........................................................................................................................................................8 7 LEVERANSKRAV OCH DELLEVERANSER ..............................................................................................8 8 DOKUMENTATION .........................................................................................................................................9 9 UTBILDNING.....................................................................................................................................................9 LIPs TANA81 Matematikprojekt Kravspecifikation 3 LiTH Automatisk Teckenidentifiering 2014-01-14 Dokumenthistorik version datum utförda förändringar utförda av granskad 1.2 01/19/15 Uppdaterad för VT2015 FB 1.1 01/13/14 Uppdaterad inför kursomgång VT2014 FB 1.0 01/19/11 Första versionen FB 0.1 01/21/11 Första utkastet FB LIPs TANA81 Matematikprojekt Kravspecifikation 4 LiTH Automatisk Teckenidentifiering 2014-01-14 1 Inledning 1.1 Parter Med leverantör åsyftas i efterföljande text projektgruppen. MAI är kund och beställare. 1.2 Syfte och Mål Målet är att inhämta kunskap om matematiska metoder som kan användas för automatisk tecken igenkänning. Inom projektet skall två olika metoder som kan användas för att läsa handskrivna siffror implementeras. De bägge metoderna skall även jämföras. Projektet har också som övergripande mål att ge träning i att utveckla system, följa en projektstyrningsmodell, samt ge övning i dokumentation och muntlig presentation. 1.3 Användning Beställaren skall kunna använda produkten för att typbestämma en handskriven siffra. Det krävs att siffran är lagrad på ett format som systemet känner igen. 2 Översikt av systemet Systemet skall använda en referensmängd med siffror av känd typ för att typbestämma en siffra av okänt slag. Två olika metoder skall implementeras: Närmsta-granne-metoden och en metod som bygger på approximation i linjära underrum. Två, av varandra oberoende, system skall alltså utvecklas för att lösa samma uppgift. 2.1 Grov beskrivning av produkten Både de siffror som ingår referensmängden och de siffror som skall identifieras av produkten är lagrade som kolumnvektorer. Systemet skall kunna ta en okänd siffra lagrad på detta sätt och med hjälp av referensmängden avgöra vilken typ av siffra det är. 2.2 Beroenden till andra system Indata till systemet är dels referensmängden, samt ytterligare en uppsättning siffror, testmängden, som skall användas för att testa metodernas tillförlitlighet. Siffrorna finns lagrade i en Matlab fil DataSet.mat. Siffrorna finns lagrade i matriser där varje kolumn representerar en specifik siffra. Siffra nummer k ur referesmängden är lagrad som vektorn RefSet(:,k) och siffra nummer j ur testmängden finns lagrad i kolumnen TestSet(:,j). Det finns även två vektorer RefAns och TestAns som innehåller information om vad referensmängden respektive testmängden innehåller. 2.3 Ingående delsystem LIPs TANA81 Matematikprojekt Kravspecifikation 5 LiTH Automatisk Teckenidentifiering 2014-01-14 Två olika metoder skall implementeras. De två metoderna kan ses som oberoende delsystem. Dessutom skall metodernas prestanda utvärderas. Utvärderingsmodulen kan ses som ett tredje delsystem. 2.4 Avgränsningar Systemet skall ses som en prototyp som skall användas för att utvärdera metodernas prestanda. Inga högre krav ställs därför på användargränssnitt eller prestanda. Det som krävs är att systemet är uppbyggt på ett sådant sätt att det är lätt att modifiera och utveckla vidare. Vidare kan antas att siffrorna finns tillgängliga som bitmap bilder (eller Matlab vektorer). 2.5 Generella krav på hela systemet 1. Original Systemet skall kunna typbestämma okända siffor; givet en Matlab vektor som representerar den okända siffran. Bas 2. Original Det skall finnas möjlighet att grafisk visa en enskild siffra på skärmen. Bas 3. Original Systemet skall vara testat så att det är stabilt och tillförlitligt. Bas 3 Delsystem 1 – Närmsta-granne-metoden I projektet representeras varje siffra av en kolumnvektor. Vi kan därför mäta skillnaden mellan två siffror genom att beräkna det Euklidiska avståndet mellan dem. Närmsta-granne-metoden utnyttjar detta för att typbestämma siffror. Givet en okänd siffra och en referensmängd med kända siffror beräknar vi avståndet mellan den okända siffran och siffrorna ur referensmängden. Vi hoppas sedan att den okända siffran är av samma typ som den siffra ur referensmängden som ligger närmast. 4. Original Systemet skall kunna beräkna Euklidiska avståndet mellan två Bas vektorer som representerar siffror. 5. Original Systemet skall kunna hitta den siffra ur referensmängden som Bas ligger närmast en viss okänd siffra. 6. Original Beskriv matematiskt hur avståndet mellan två siffror skall beräknas. Bas(1) 7. Original Beskriv schematiskt hur Närmsta-granne-metoden skall implementeras. Bas(1) LIPs TANA81 Matematikprojekt Kravspecifikation 6 LiTH Automatisk Teckenidentifiering 2014-01-14 4 Delsystem 2 – Approximation med linjärt underrum Referensmängden innehåller ett stort antal siffror av varje typ. Ett effektivt sätt att utnyttja siffrorna i referensmängden kan utvecklas om man betraktar siffrorna av en viss typ som vektorer i ett linjärt rum. Vi kan då beräkna en ortogonalbas för detta rum på följande sätt: Bilda den första basvektorn genom att bilda medelvärdet av alla siffror av en viss typ. Använd sedan Gram-Schmidt ortogonalisering för att göra alla vektorer ortogonala mot denna första basvektor. Första basvektorn representerar då det mest typiska utseendet för en siffra av denna typ. Andra basvektorn fås sedan genom ytterligare en medelvärdesbildning över vektorerna. Den andra basvektorn kommer då att representera den mest typiska variationen i hur den aktuella siffertypen skrivs. Man kan på samma sätt fortsätta generera fler basvektorer genom att fortsätta Gram-Schmidt ortogonalisering och medelvärdesbildning. Istället för att beräkna avståndet mellan en okänd siffra och enskilda siffror ur referensmängden kan vi beräkna avståndet mellan en okänd siffra och det underrum som spänns upp av kst basvektorer skapade enligt metoden ovan. Avståndet kan definieras genom att den okända siffran projiceras på underrummet. Denna metod kan bli mycket effektivare än närmsta-granne-metoden förutsatt att det räcker med ett litet antal basvektorer för att fånga de vanligaste sätten siffror kan skrivas på. 8. Original Beskriv de matematiska formler som skall utnyttjas då en ortogonalbas skall beräknas enligt metoden som beskrivits ovan. Bas(1) 9. Original Beskriv matematiskt de formler som behövs för att beräkna avståndet mellan en vektor (okänd siffra) och det underrum som spänns upp av kst ortogonala basvektorer. Bas(1) 10. Original Givet en uppsättning vektorer skall systemet kunna beräkna en ortogonal bas enligt metoden ovan. Användaren skall kunna bestämma hur många basvektorer som efterfrågas. Bas 11. Original Systemet skall kunna beräkna avståndet mellan en vektor, som representerar en okänd siffra, och det linjära underrum som spänns upp av ett antal basvektorer. Bas 12. Original Systemet skall med hjälp av tidigare beräknade linjära underrum avgöra av vilken typ en okänd siffra är. Bas 5 Delsystem 3 - Utvärdering LIPs TANA81 Matematikprojekt Kravspecifikation 7 LiTH Automatisk Teckenidentifiering 2014-01-14 13. Original Försök att typbestämma alla siffror i testmängden med hjälp av Närmsta-granne-metoden. Räkna hur stor andel som klassas korrekt. Bas 14. Original Försök att typbestämma alla siffror i testmängden med hjälp av underrums-metoden. Använd k=15 basvektorer av varje siffertyp. Ränka efter hur stor andel som typbestämms korrekt. Bas 15. Original Låt parametern k variera i underrums-metoden och se efter hur metodens träffsäkerhet beror på antalet basvektorer som används. Extra 16. Original De olika siffertyperna kan vara olika svåra att typbestämma korrekt. Undersök hur stor andel fel som fås för varje siffertyp. Extra Systemet skall utvecklas med en arbetsinsats på 105 timmar per student. Bas 6 Ekonomi 17. Original 7 Leveranskrav och delleveranser Vid slutleverans skall samtliga krav märkta Bas vara uppfyllda samt minst ett krav märkt extra. LIPs TANA81 Matematikprojekt Kravspecifikation 8 LiTH Automatisk Teckenidentifiering 2014-01-14 18. Original Leverans av projektplan skall ske senast torsdag 12/2 kl 17.00 Bas via epost till handledare och beställare. 19. Original Krav märkta Bas(1) redovisas för beställare under gruppmöte senast fredag 6/3 klockan 15.00. Detta sammanfaller med BP3. 20. Original Vid grupper med sex studenter skall ett extra krav Bas genomföras, vid sju studenter skall två extra krav genomföras. 21. Original Delleverans omfattande det utvecklade systemet, bruksanvisning, och ett utkast till den konferensartikel som presenterar arbetet skall skickas till beställare senast onsdag 15/4 klockan 17.00. 22. Original Statusrapporter skall skickas via epost till beställare varannan måndag med start v.7 och slut v. 20. 23. Original Slutleverans bestående av den artikel som beskriver gruppens arbete skall skickas till handledare och beställare senast onsdag 13/5. kl. 17.00. Bas Bas Bas Det skall tydligt framgå i texten att alla Bas-, Bas*, och extra krav är uppfyllda. 24. Original Leverans av reflektionsdokument senast onsdag 27/5 kl. 17.00 Bas 8 Dokumentation För att beställaren skall kunna testa det utvecklade systemet behövs en enklare bruksanvisning. Denna bruksanvisning bör innehålla en övergripande förklaring av vad systemet gör och hur detta utförs. Alla dokument skall följa LIPS mallarna. LIPs TANA81 Matematikprojekt Kravspecifikation 9 LiTH Automatisk Teckenidentifiering 2014-01-14 25. Original Till systemet skall en bruksanvisning följa. Bas 26. Original Projektgruppens arbete skall beskrivas i en artikel som lämpar Bas sig för att presenteras på en teknisk konferens. Artikeln skall innehålla nödvändig bakgrundsinformation, en beskrivning av vad som gjorts, samt exempel som illustrerar metoderna. Detta dokument behöver ej följa LIPS mallarna. 27. Original En litteraturstudie skall göras och några artiklar som beskriver Bas liknande, eller alternativa, tillvägagångssätt skall identifieras. 28. Original Projektplan. Bas 29. Original Veckorapport bestående av status- och tidsrapport skall skickas till beställare varje vecka med start v. 7. Bas 30. Original Reflektionsdokument. Bas 9 Utbildning Inom projektet kommer utbildning i Matlab att erbjudas. Det är projektledarens ansvar att tillsammans med beställare komma överens om tid och plats för denna utbildning. LIPs TANA81 Matematikprojekt Kravspecifikation 10