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