540 likes | 720 Views
Universitatea “Politehnica” din Timi ş oara Facultatea de Automatică şi Calculatoare Departamentul de Calculatoare. Recunoa şterea şirurilor numerice scrise de mână. Dan Cireşan Conducător de doctorat: Prof. Dr. Ing. Ştefan Holban octombrie 2008. Obiectiv.
E N D
Universitatea “Politehnica” din Timişoara Facultatea de Automatică şi Calculatoare Departamentul de Calculatoare Recunoaşterea şirurilor numerice scrise de mână Dan Cireşan Conducător de doctorat: Prof. Dr. Ing. Ştefan Holban octombrie 2008
Obiectiv • creareaunei metode eficiente de recunoaştere a şirurilornumerice scrise de mână, compuse dintr-un număr nedefinit de cifre izolatesau parţial suprapuse Ideea • Utilizarea unui clasificator pentru recunoaşterea perechilor de cifre parţial suprapuse, în scopul evitării problemelor generate de segmentare. Implementarea clasificatorului utilizând reţele neuronale cu hărţi de convoluţie (se elimină necesitatea extragerii de caracteristici => simplitate) Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Conţinutul prezentării • Introducere • Stadiul actual • Aspecte teoretice • Baze de date cu cifre şi şiruri de cifre • Experimente • Optimizări ale algoritmului de propagare înainte • Concluzii şi continuări Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Recunoaşterea scrisului de mână • unul din subiectele nerezolvateale Inteligenţei Artificiale • natura acestei probleme impune o abordare euristică înrezolvarea ei, astfel că multe din părţile procesului de recunoaştere sunt şi probabilvor rămâne perfectibile • în acest domeniu nu există soluţii definitive Introducere Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Motivaţie • Filozofică • La modul general, îmbunătăţirea ratei de recunoaştere este importantă în întreg domeniul recunoaşterii formelor şi la dezvoltarea inteligenţei artificiale • Practică • recunoaşterea codurilor poştale de pe plicuri • Parascript – TotalRecognition Company: produsele acestei firme sortează zilnic peste unsfert de miliard de plicuri în SUA • Recunoaşterea informaţiilor din diverse formulare: cecuri bancare, formulare medicale, fiscale etc Introducere Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Recunoaşterea şirurilor numerice • mult mai complicată decât cea a recunoaşterii cifrelor deoarece apar probleme suplimentare: • lungimea necunoscută a şirului (spre deosebire de: cifre - 1, cuvinte - extrasă din dicţionare din care sepoate afla lungimea) • segmentarea • suprapuneri parţiale • ratade recunoaştere actuală este de aproximativ 96-97% • studiu de caz: • 250 milione de plicuri ce trebuie sortate • 10% scrise de mână: 25 de milioane • 4% rată de eroare: un milion de plicuri ce trebuie sortate manual • oriceîmbunătăţire a ratei de recunoaştere este importantă Introducere Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Stadiul actual – cele mai bune rezultate • cifre izolate • Simard, Steinkraus, Platt [63] 2003 – 0.4% eroare • Marc’Aurelio, Poultney, Chopra, LeCun [47] 2006 – 0.39% eroare • şiruri de cifre • metode holistice: număr redus de articole • Wang, Govindaraju, Srihari [66]: 86.8% • Behnke [8]: ? • LeCun et al. [38]: 66% • metode ce utilizează segmentare: număr ridicat de articole • Liu, Sako, Fujisawa [43] 2004 – 96-97% Concluzii: • metodele holistice sunt mult mai puţin studiate, iar ratele de recunoaştere sunt mult mai mici decât cele ale metodelor ce utilizează segmentarea • reţelele neuronale cu hărţi de convoluţie sunt foarte bune pentru recunoaşterea cifrelor izolate Stadiul actual Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Aspecte teoretice • Transformata Hough • Reţele neuronale artificiale (RNA) • RNA cu hărţi de convoluţie (RNC) Aspecte teoretice Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Transformata Hough pentru detecţia de linii Aspecte teoretice Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Reţele neuronale artificiale (RNA) • alcătuite din unităti de procesare numite neuroni • neuronulartificialeste un model matematic simplist al neuronului biologic • neuronii unei RNA sunt,de obicei, dispuşi pe mai multe straturi • RNA pot fi împărţite în două mari categorii: RNA cu propagare înainte şi RNA recurente (nu fac subiectul tezei) • într-o RNA cu propagare înainte există conexiuni numai între neuroni de pestraturi consecutive, informaţia de la intrare propagându-se secvenţial prin fiecarestrat până la ieşire • dacă fiecare neuron de pe un strat este conectat cu toţi neuronii de pe stratul anterior, stratul se numeşte complet conectat Aspecte teoretice Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Reţele neuronale artificiale cu hărţi de convoluţie (RNC) • un strat de convoluţie conţine una sau mai multe hărţi de convoluţie • neuronii din aceste hărţi sunt conectaţi numai cu o parte a neuronilor de pe stratul anterior • se folosesc tipare de conectare pentru a imita funcţionarea sistemului vizual uman • o reţea neuronală poate conţine atât straturi complet conectate, cât şi straturi de convoluţie Y. LeCun [36] Aspecte teoretice Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Deplasarea nucleului de convoluţie • utilizată pentru a micşora progresiv dimensiunile straturilor • după un nivel de convoluţie dimensiunile hărţii se reduc la (n-3)/2 pentru nuclee de 5x5 • neuronii de pe stratul următor sunt conectaţi fiecare la unul sau mai multe nuclee de convoluţie Nuclee de convoluţie Aspecte teoretice Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Conectarea straturilor de convoluţie Aspecte teoretice Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Baze de date cu cifre şi şiruri de cifre Baze de date Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Formular NIST SD 19 Baze de date Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Seturi de cifre • MNIST • creat de Yann LeCun şi Corina Cortez, 1998 [39] • antrenare: 60000 imagini • test: 10000 imagini • LNIST • antrenare: 66214 • test: 45398 • centrare în centrul de masă • 29 x 29 pixeli • subseturi ale NIST SD 19: 128 x 128 pixeli Baze de date Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
TDNS (Two-digit Numeral Strings) • pentru antrenarea clasificatorului pentru perechi de cifre parţial suprapuse (2RNC) • conţine perechi de cifre parţial suprapuse • formularele NIST conţin prea puţine imagini cu perechi de cifre => generare automată: • extragere cifre din NIST SD 19: 2 x 10000 • curăţare semiautomată, centrare, scalare la 20 x 20, unire, deplasare, redimensionare la 40 x 28 Baze de date Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
TDNS (Two-digit Numeral Strings) Baze de date Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
TDNS – metoda de unire • generare automată a perechilor de cifre • centrare • scalare la 20 x 20 pixeli • unire • deplasări pe orizontală şi pe verticală • redimensionare la 40 x 28 pixeli • 200000 imagini pentru setul de antrenare • 200000 imagini pentru setul de test Baze de date Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Seturile de test 3DNS, 6DNS şi 10DNS • pentru a putea compara rezultatele cu cele mai bune existente în domeniu • extrase din 296 de formulare NIST • detectare rânduri • Transformata Hough • Identificare discontinuităţi • Identificare şi eliminare linii multiple • identificare câmpuri • detecţie discontinuităţi • comparare linii paralele • extragere câmpuri Baze de date Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Structura seturilor de test • 3DNS • 1476 de imagini • 4 imagini greşite • 6DNS • 1471 de imagini • 9 imagini greşite • 10DNS • 878 de imagini • 10 imagini greşite Baze de date Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Contribuţii • extragerea şi crearea seturilor LNIST • crearea seturilor TDNS (400000 de imagini) • dezvoltarea unei metode de generare automată a perechilor de cifre parţial suprapuse • conceperea unei metode pentru extragerea câmpurilor din formulare • crearea unei metode de curăţare semiautomată a imaginilor • crearea seturilor de test 3DNS, 6DNS, 10DNS Baze de date Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Experimente • Experimente cu cifre individuale • Reţele neuronale de tip perceptron • Reţele neuronale cu extractori de trăsături • Experimente cu şiruri compuse din două cifre parţial suprapuse • Reţele neuronale de tip perceptron • Reţele neuronale cu extractori de trăsături • Experimente cu şiruri de cifre din baza de date NIST SD 19 • Sistemul de recunoaştere • Analizorul de componente conexe • Componenta de clusterizare (agregare) • Clasificatorul • Experimente cu setul 3DNS • Experimente cu setul 6DNS • Experimente cu setul 10DNS Experimente Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Experimente cu cifre individuale • Reţele neuronale de tip perceptron • un strat ascuns • maxim 600s / epocă • fără distorsiuni • cu distorsiuni: 2.88%, dar timpul creşte cu 100s / epocă • Reţele neuronale cu extractori de trăsături • trei straturi ascunse • cu distorsiuni • timp rulare: 210-620s/epocă (2 thread-uri) • timp total de antrenare (o reţea): 24 h • mult mai performante decât perceptronul multistrat • cea mai performantă: 6 hărţi de convoluţie pe stratul L1, 50 de hărţi de convoluţie pe stratul L2 şi 60 de neuroni pe stratul L3 Experimente cu cifre individuale Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Experimente cu şiruri compuse din două cifre parţial suprapuse • două tipuri de reţele • reţele neuronale de tip perceptron • reţele neuronale cu extractori de trăsături (hărţi de convoluţie) • antrenare şi testare cu seturile TDNS • scalarea imaginilor de la 40x28 la 21x13 (pentru a limita timpul de antrenare la 24h, în cazul utilizării a două thread-uri) • imaginile sunt mici, în unele cazuri fiind dificil de distins chiar şi pentru om Experimente cu perechi de cifre Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Arhitectura reţelelor de convoluţie (RNC) Experimente cu perechi de cifre Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Experimente cu RNC • 77 de reţele de convoluţie antrenate şi testate • timp de antrenare limitat la 24h, în cazul utilizării a două thread-uri • 60-670s / epocă • 15 calculatoare Core2 Duo 2.4GHz pentru două săptămâni • cea mai bună RNC: 10 hărţi 9x5 pe L1, 100 de hărţi 3x1 pe L2, 100 de neuroni pe L3 • eroare test: 5.35% • deformările nu sunt utile pentru cifre parţial suprapuse Experimente cu perechi de cifre Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Erori pentru RNC cu 8 hărţi de convoluţie pe stratul L1 Experimente cu perechi de cifre Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Analiza rezultatelor celei mai bune RNC – concluzii şi contribuţii • cea mai bună reţea are zece hărţi ce convoluţie a 9×5 neuroni pe stratul L1, o sută de hărţi de convoluţie a 3×1 neuroni pestratul L2 şi o sută de neuroni pe stratul L3 • eroare de 5.35% pesetul de test • 10708 imagini din 200000 au fost clasificate greşit • doar în 663 (0.33%) de cazuri ambele cifre au fost clasificatedefectuos • cifra zecilor: 5239 de cazuri • cifra unităţilor: 6123 decazuri • distribuţia erorilor pe clase arată că clasele 67, 64 şi 69 au fost mai dificil derecunoscut, generând 253 (2.36%), 219 (2.04%), respectiv 212 (1.98%) erori declasificare • RNC sunt mult mai performante decât perceptronul cu un strat ascuns • deformările nu sunt utile pentru cifre parţial suprapuse • eroarea este puţin influenţată de rejecţie => clasificator robust • rezultatele au fost publicate în [19] şi au fost prezentate la ICCP 2008 N(C1) −N(C2) < T Experimente cu perechi de cifre Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Experimente pe seturile de test 3DNS, 6DNS şi 10DNS Experimente pe şiruri numerice Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Arhitectura sistemului de recunoaştere • ambii clasificatori sunt implementaţi cu RNC • antrenarea a fost efectuată numai cu exemple pozitive • utilizarea RNC pentru perechi de cifre elimină necesitatea segmentării • prin compararea rezultatelor celor doua RNC se decide dacă imaginea conţine o cifră sau două • evaluarea pe NIST SD 19 arată că metoda are rezultate comparabile cu cele mai bune existente, chiar dacă acelea folosesc antrenare cu exemple negative şi un proces complicat de segmentare 293854 Experimente pe şiruri numerice Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
se extrag toate componentele conexe ale imaginii folosind un algoritm de căutare în patru direcţii:orizontală şi verticală fiecărei componente conexe i se calculează diverse atribute: dimensiune, dreptunghi delimitator, lăţime, înălţime, aspect (lăţime / înălţime), distanţe faţă de alte componente, culoare NU se efectuează segmentare; nicio imagine nu este împărţită în părţi, extrăgându-se componente deja separate Analizorul de componente conexe (CCA) Experimente pe şiruri numerice Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
se execută secvenţial următoarele operaţii: toate componentele mici, depărtate de alte componente sunt şterse oricare două componente separate de un singur pixel sunt concatenate dacă respectă câteva condiţii. Acest pas se repetă pentru componente separate de 2 şi apoi de 3 pixeli reconectarea cifrei 5 oricare două componente ale căror proiecţii pe orizontală se suprapun complet sunt concatenate Etapa de agregare reconectarea cifrei 5 rezultatul final al agregării Experimente pe şiruri numerice Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
fiecare componentă este prezentată ambilor clasificatori clasificatorul cu scor maxim determină clasa şi numărul de cifre din 1476 de imagini a trei cifre (setul 3DNS), 126 au fost incorect recunoscute: rată de recunoaştere 91.46% observaţii: deoarece am antrenat ambele RNC fără exemple negative, nu putem să le utilizăm în mod direct pentru a decide dacă o componentă conţine una, două sau mai multe cifre o RNA antrenată numai cu exemple pozitive atribuie oricărei imagini de intrare, chiar incorectă, clasa cea mai apropiată (asemănătoare) multe imagini conţinând cifrele 0, 1, 3, 4, 7, 8 sau 9 au fost recunoscute de 2RNC ca fiind 01, 11, 31, 41, 71, 81, respectiv 91. Problema se datorează modului de de generare automată a perechilor de cifre. Aceste cazuri vor fi denumite X1 Sistem de recunoaştere bazat pe scor maxim Experimente pe şiruri numerice Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Translatarea imagini în câmpul de intrare al clasificatorilor • imaginile pentru 2RNC au 21x13 pixels şi sunt centrate în dreptunghiul delimitator => sensibile la translaţii • poziţionarea perfectă în câmpul de intrare oferă recunoaştere mai sigură • am deplasat imaginile în câmpurile de intrare ale RNC • 1RCN a fost antrenat cu imagini centrate în centrul de masă. 1RCN este aplicată repetat pe imaginiea translatată cu ±1 pixel relativ la centrul de masă. Se păstrează scorul maxim din cele 3×3 = 9 teste • considerând modul de generare al imaginilor pentru 2RCN imaginile de 18x10 pixeli au fost amplasate în toate poziţiile posibile ale câmpului de intrare de 21x13 neuroni. Există (21 − 18 + 1) × (13 − 10 + 1) = 16 posibilităţi • rata de recunoaştere a scăzut la 71.54% Experimente pe şiruri numerice Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Sistem de recunoaştere bazat pe diferenţa de scoruri • am încercat să evit antrenarea cu exemple negative a RNC prin utilizarea faptului că în cazul unei recunoaşteri corecte diferenţa dintre cele mai bune două scoruri este foarte mare • pentru cazurile X1 şi 1Xcondiţia este întărită • rata de recunoaştere este de doar 76.49% • în cazul aplicării translaţiilor pentru ambele RNC rata de recunoaştere creşte până la 93.36% Experimente pe şiruri numerice Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Sistem de recunoaştere bazat pe scor maxim şi pe diferenţe de scoruri • o combinaţie a metodelor anterioare • pentru fiecare clasificator adunăm cel mai bun scor cu diferenţa dintre cele mai bune două scoruri • pentru cazurile X1 şi 1Xcondiţia este întărită • rata de recunoaştere, 83.40%, este între valorile celor două rate de recunoaştere ale sistemelor anterioare • aplicarea translaţiilor pentru ambele RNC duce la creşterea ratei de recunoaştere până la 93.77% Experimente pe şiruri numerice Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Experimente pe setul 6DNS Experimente pe setul 10DNS Experimente pe şiruri numerice Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Concluziile experimentelor • utilizarea celei de-a doua RNC permite eliminarea procesului de segmentare • antrenarea cu exemple negative a fost evitată prin implementarea unor reguli simple de selecţie a clasificatorului corespunzător • ratele de recunoaştere obţinute sunt mai bune cu până la 30% decât toate rezultatele anterioare (Liu, Sako and Fujisawa [12]) obţinute cu RNA antrenare fără exemple negative, şi apropiate (3%) de cele mai bune rezultate [12], chiar dacă nu am utilizat nici segmentare, nici antrenare cu exemple negative • adăugarea 2RNC la sistemul de recunoaştere a crescut rata de recunoaştere cu 0.61 - 4.47% până la 93.77% Experimente Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Optimizări ale algoritmilor • necesare pentru a putea antrena RNA mai mari => creşterea ratei de recunoaştere • programul open source care a fost adaptat şi cu care s-au efectuat parte din experimentele anterioare este scris didactic, nu în ideea de viteză maximă. Nu permite antrenarea unor reţele de dimensiuni mult mai mari. Utilizează multe clase şi vectori STL => viteză scăzută • imaginile pentru 2RNC au doar 21x13 pixeli din motivele de mai sus • este necesară o creştere a dimensiunii la 41x29 pixeli. Cu programul actual, în cazul în care ar funcţiona, antrenarea ar dura două săptămâni • pentru evaluarea performanţelor am ales o parte reprezentativă a RNA: calcularea celui mai mare strat al reţelelor, L3 de la 1RNC • testarea se face cu 10000 de imagini Optimizări Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Variante pentru CPU • open source modificată • cea mai lentă: multe clase, vectori STL • 11.67s • muti-thread-ing • C++ • o singură clasă, alocare cu malloc() • 4.39s • rearanjarea datelor în memorie pentru creşterea vitezei de citire/scriere • SSE3 • instrucţiuni ASM pentru calcul vectorial: movaps, mulpd, haddpd • 3.37s • dificil de scris Optimizări Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Graphics Processing Unit Adaptare după: NVIDIA. Cuda compute unified device architecture - programming guide.www.nvidia.com. Optimizări Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Comparaţie între arhitecturile CPU şi GPU Sursa:www.nvidia.com Optimizări Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Varianta BROOK+ • pentru plăci AMD-ATI • limbajul de programare este de nivel prea înalt, pentru cazul particular al RNA fiind nepotrivit • derivat din limbajul BROOK • similar ca sintaxa cu limbajul C • varianta cea mai generală de kernel: 15s • depanare dificilă • în 10 septembrie 2008 a apărut noul SDK: trebuie reîncercate programele Optimizări GPU BROOK+ Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Limbajul CUDA • CUDA (Compute Unified Device Architecture) • pentru plăcile din seriile GeForce 8 şiGTX 200 (100 milioane) • mult mai dezvoltat decât limbajul BROOK+ • permite şi acces de nivel scăzut la hardware • este o extensie a C/C++ • cuvinte cheie pentru • accesarea facilităţilor procesorului grafic: kernel, device, global etc • noi tipuri de date: float2, float3, int4 etc • funcţii API: cudaMalloc(), cudaMemset() etc • multithreading masiv • mii de fire de execuţie • schimbarea firelor de execuţie se face fără întârzieri de timp • thread-urile sunt partiţionate în blocuri care la rândul loc alcătuiesc un grid Optimizări GPU CUDA Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Arhitectura GTX 280 • 1.4 miliarde de tranzistoare • 30 multiprocesoare (MP) a 8 procesoare fiecare • 933 GFLOPS • 141GB/s lăţime de bandă la memorie (1GB) • fiecare multiprocesor are memorie partajată, rapidă, accesibilă în paralel prin opt porturi a 32 biţi fiecare • magistrala memoriei globale este de 512 biţi • există memorii pentru texturi şi pentru constante, fiecare fiind accesabile prin intermediul unor cache-uri Sursa:www.nvidia.com Optimizări GPU CUDA Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Variantele CUDA • două variante de optimizare • V1: 1.6 s • V2: 0.2 s • tipuri de optimizări: • accese consecutive la memoria globală • utilizarea memoriei cache a MP • accesarea memoriilor cache evitând conflictele de banc • distribuirea thread-urilor în blocuri în mod cât mai optim • desfăşurarea buclelor • eliminarea instrucţiunilor condiţionale Optimizări GPU CUDA Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Comparaţie între ratele de accelerare Accelerare Optimizări Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Contribuţii • crearea unui clasificator pentru perechi de cifre parţial suprapuse şidemonstrarea eficienţei acestuia [19]. Acest clasificator pune bazele construiriiunui sistem de recunoaştere a şirurilor numerice cu număr nedefinitde cifre, unite sau nu • crearea unui nou sistem de recunoaştere [17] a şirurilor numerice scrisede mână. Metoda propusă evită folosirea segmentării prin utilizarea a doiclasificatori, unul la nivel de cifrăşi unul la nivel de două cifre parţial suprapuse.Ratele de recunoaştere obţinute (92.52-93.77%) sunt foarte apropiate de cele maibune existente în domeniu, cu toate că metoda nu foloseşte nici segmentare,nici antrenare cu exemple negative. Pentru evitarea antrenăriicu exemple negative, au fost concepuţi trei algoritmi simplişi eficienţi deselecţie a clasificatorului potrivit conţinutului imaginii • accelerarea pasului de propagare înainte a reţelelor neuronale de peste20 de ori folosind arhitecturi GPU, cu perspectiva de mărire a acestui factorpentru reţele şi mai mari. Punerea bazelor creării unui algoritm de antrenarepe GPU pentru reţele neuronale practic imposibil de antrenat pe CPU Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână
Contribuţii (continuare) • crearea unui metode ce generează automat perechi de cifre parţial suprapuse • dezvoltarea unui algoritm de extragere automată a câmpurilor din formulare.Algoritmul poate fi adaptat pentru a extrage câmpuri rectangulare din oricetip de formular • extragerea şi crearea seturilor de date LNIST, TDNS, 3DNS, 6DNS, 10DNS • crearea unui program de curăţare semiautomată a imaginilor • conceperea unui algoritm de clusterizare (concatenare) a imaginilor cu părţide cifre în imagini de cifre sau de perechi de cifre Dan Cireşan – Recunoaşterea şirurilor numerice scrise de mână