SISTEM DE IDENTIFICARE BAZAT PE RECUNOAȘTEREA SEMNĂTURII
Alexandru Cristian
Profesor coordonator: Ş.l. Dr. Ing. Cosmin Cernăzanu-Glăvan
Iunie 2014
Universitatea Politehnica Timișoara
Facultatea de Automatică și Calculatoare
Calculatoare și Tehnologia Informației
1/21
Identificarea persoanelor.
2/21
Metode de identificare:
3/21
Semnătura.
• Text sau un însemn scris de mână cu scopul de a marca și de a autentifica permanent un document.
• În funcție de complexitate se poate împărții in 3 categorii:
4/21
Semnătura falsificată. • Semnăturile contrafăcute prezintă următoarele
caracteristici: caractere mai mari, retușări, variații in grosime si intensitate, apariții ale unor forme inexistente.
• În funcție de dificultatea cu care pot fi detectate semnăturile contrafăcute se împart în mai multe categorii: falsuri aleatorii, falsuri ocazionale, falsuri calificate.
5/21
Sistemul propus:
• Sistem bazat pe modele standard de tip pipeline, cu 3 etape: • Pre-procesare • Extragere de trăsături • Clasificare
6/21
Pre-procesarea:
Etapă necesară pentru a obține o imagine care să respecte cerințele pentru ca etapa următoare să se execute cu succes. Este compusă din patru pași:
Transformarea imaginii în alb negru. Eliminarea zgomotelor. Normalizarea imaginii. Redimensionarea.
7/21
Rezultatul fiecărei etape de pre-procesare:
Intrare Pasul 1
Pasul 2 Pasul 3 & 4
8/21
Extragerea de trăsături:
Trăsăturile se pot impărții în două categorii: � Trăsături globale:
o Histograma punctelor � Trăsături locale:
o Densitate de pixeli o Centrul de greutate o Unghiul de înclinație față de orizontală o Unghiul de înclinație față de verticală
9/21
Trăsături globale:
o Histograma reprezintă distribuția punctelor din imagine pe coloane, aceasta se calculează pe benzi cu lățimea de 15 coloane.
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75
Histograma de puncte
Banda
10/21
Trăsături locale:
o Inclinatia fata de orizontala
o Centrul de greutate o Densitatea de pixeli
o Inclinatia fata de verticala
Trăsături locale se extrag din zone de dimensiuni mai mici numite celule, obținute prin segmentarea imaginii. Din fiecare celulă se extrag urmatoarele trăsături:
11/21
Clasificarea:
Clasificatorul folosit este o rețea neuronală artificială (RNA), cu următoarele caracteristici:
• RNA cu propagare înainte (feed – forward) • un start intrare • două staturi ascunse • un strat de ieșire, cu un singur neuron • algoritm de învățare supervizat, cu propagarea erorii înapoi
12/21
Implementarea sistemului:
Se disting
următoarele pachete:
•clasifier •core •extraction •preprocess
•services
•util
•test
Aplicația software a fost implementată în limbajul de programare Java folosind Eclipse Kepler IDE. S-au folosit bibliotecile:
• Open-CV Java • Encog
13/21
Rezultate experimentale.
• Pentru testarea sistemului s-au folosite 5 seturi de date, constând din date de test și validare: • Setul 1 de date este compus din 197 imagini • Setul 2 de date este compus din 130 imagini • Setul 3 de date este compus din 269 imagini • Setul 4 de date este compus din 119 imagini • Setul 5 de date este compus din 118 imagini
• S-a variat procentul de imagini folosite la antrenarea clasificatorului cu un increment de 5% pentru fiecare test.
14/21
Acuratetea sistemului
50
55
60
65
70
75
80
85
90
95
100
5.00% 9.00% 15.00% 20.00% 25.00% 30.00% 35.00% 40.00% 45.00% 50.00% 55.00% 60.00% 65.00% 70.00% 75.00% 80.00% 85.00% 90.00%
Ra
ta d
e s
ucc
es
Procent din imagini folosite la antrenare
Procentul de semnături catalogate corect din totalul de semnături folosite la evaluare
15/21
Fals negative
43
56
29
24
27
16
6 5
2
6
3 4
2 1
2 2 2 1
23
26
20
4 3
5
1 2
3 2 2
1 2 2 2
4
2 2
53
51
46
35
26
29
23 24
18
16
12
9 9
6
4 4 3
2
0
7
2 1 1
2 1
2 2 3
4 4
2 1 1 1
0 1
35
28
22
17
11
6 7 7
10
6 6
4 5
4 3 3
1 2
5.00% 9.00% 15.00% 20.00% 25.00% 30.00% 35.00% 40.00% 45.00% 50.00% 55.00% 60.00% 65.00% 70.00% 75.00% 80.00% 85.00% 90.00%
Set de date: 1 Set de date: 2 Set de date: 3 Set de date: 4 Set de date: 5
Semnături originale catalogate drept semnături false.
16/21
Fals pozitive
29
20
10
6
3 4
12
10
13
6
8
6
2
5
2 1
2
0
29
3
1
5 4
3
5 4
3 4 4
3
1 1 1 0 0 0
1 0 0
1
4 3
4 4 4
2 2 2 2 2 1
0 0 1
48
21 22
5
8
3 3 3
1 1 1 1 1 2 2
1 1 1
8
4
1 2 2
4 4 3
2 2 1
2 1 1 1 1
0 0
5.00% 9.00% 15.00% 20.00% 25.00% 30.00% 35.00% 40.00% 45.00% 50.00% 55.00% 60.00% 65.00% 70.00% 75.00% 80.00% 85.00% 90.00%
Set de date: 1 Set de date: 2 Set de date: 3 Set de date: 4 Set de date: 5
Semnături false catalogate drept semnături originale.
17/21
Variația preciziei Procentul de documente relevante din mulțimea obținută
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 20 40 60 80 100 120 140 160 180 200
Pre
cizi
e
Numarul de semnaturi folosite la antrenare
18/21
Concluzii:
• Sistemul este independent. • Soluția dezvoltată prezintă o rata mare de success,
peste 85% pentru un set de antrenare de 25 de semnături.
• Sistemul evoluează, îmbunătățindu-și acuratețea pană la 95% prin creșterea numărului de semnături.
• Numărul de catalogări fals pozitive este redus, în medie de 3.8 semnături fals pozitive pe set.
• Aplicatia dezvoltata este adaptiva, obtinand rezultate constante pentru toate seturile de date folosite.
19/21
Dezvoltări ulterioare:
• Testarea sistemului cu alte seturi de date. • Adaugarea unor noi trăsături care să ducă la creșterea
performanței. • Testarea unor noi clasificatori care să scadă rata de
eroare. • Optimizarea procesului de pre-procesare. • Îmbunătățirea siguranței și validarea integrității datelor ce
sunt salvate pe disc prin criptare.
20/21
Vă mulțumesc!
21/21
Întrebări ?