Cuprins
- Introducere . 15
- Capitolul 1 Fundamente teoretice 19
- 1.1 Principiile labiolecturii . 19
- 1.1.1 Considerente generale .. 19
- 1.1.2 Influența lingvisticii în labiolectură . 20
- 1.1.3 Concluzii .. 22
- 1.2 Rețele neuronale artificiale ... 23
- 1.2.1 Instruire asistată de calculator . 23
- 1.2.2 Principiul de funcționare al rețelelor neuronale artificiale .. 24
- 1.2.3 Istoricul rețelelor neuronale artificiale 25
- 1.2.4 Rețele neuronale adânci ... 28
- 1.2.5 Rețele neuronale convoluționale . 30
- 1.2.6 Proprietățile rețelelor neuronale convoluționale .. 32
- 1.3 Biblioteci specifice ... 34
- 1.3.1 TensorFlow .. 34
- 1.3.2 Keras 35
- 1.3.3 OpenCV ... 35
- 1.4 Rezultate anterioare .. 36
- Capitolul 2 Arhitectura sistemului propus ... 39
- 2.1 Achiziția video . 41
- 2.2 Identificarea unui cuvânt .. 41
- 2.2.1 Metoda conturului .. 42
- 2.2.2 Metoda histogramei ... 42
- 2.2.3 Metoda ariei ... 43
- 2.3 Identificarea regiunii de interes 44
- 2.3.1 Metoda directă ... 44
- 2.3.2 Metoda indirectă 44
- 2.3.3 Metoda indirectă cu memorie 45
- 2.3.4 Metoda cu cadru fix ... 45
- 2.4 Recunoașterea cuvântului . 46
- 2.5 Gramatica . 46
- 2.6 Video supratitrat ... 47
- 2.7 Rețeaua antrenată . 47
- 2.7.1 Rețeaua Inception-V3 & Multilayer Perceptron 47
- 2.7.2 Inception-V3 & Long short-term memory 48
- 2.7.3 Long-term recurrent convolutional network .. 50
- 2.7.4 Convolutional 3D ... 51
- Capitolul 3 Rezultate experimentale .. 53
- 3.1 Descrierea seturilor de date .. 53
- 3.2 Metrici de evaluare ... 56
- 3.2.1 Acuratețea .. 56
- 3.2.2 Word Error Rate 57
- 3.3 Analiza rețelelor neuronale adânci ... 57
- 3.4 Analiza metodelor de identificare a cuvintelor 61
- 3.5 Analiza metodelor de identificare a regiunii de interes 62
- 3.6 Rezultate finale . 62
- Concluzii și perspective ... 65
- Bibliografie . 67
- Anexa 1 .. 71
- Diplomă obținută la Sesiunea de Comunicări Științifice Studențești . 71
- Anexa 2 .. 73
- Implementarea identificării regiunii de interes .. 73
Extras din licență
Introducere
Încă din secolul XX, folosirea unor sisteme automate în viața de zi cu zi a oamenilor a devenit tot mai răspândită, conducând inerent la dezvoltarea societății în care trăim. În zilele noastre, realiarea unei interfețe om-mașină (IOM) este unul dintre domeniile de foarte mare interes, numeroși cercetători ocupându-se de această arie, ale cărei utilizări devin tot mai răspândite. Pe măsură ce gradul de utilizare al tehnologiei crește, este necesar ca această interacțiune să devină tot mai intuitivă, prin creșterea gradului de similitudine cu modul în care ființele umane interacționează. Pentru ca acest lucru să devină posibil, abordarea actuală a problemei propune ca în comunicarea dintre om și mașină să se utilizeze cât mai multe dintre modurile în care oamenii transferă informații. Pentru aceasta, este necesar ca mașinile, precum roboții sau calculatoarele de uz personal, să perceapă și să interpreteze cât mai mult din informațiile primite din mediul înconjurător, cu o acuratețe cât mai mare.
Pentru a putea realiza un nivel de conștientizare de către mașini a mediului înconjurător, au fost dezvoltate sisteme capabile să achiziționeze date din exterior într-un mod similar oamenilor [1], prin intermediul senzorilor și al camerelor video. Pe lângă achiziționarea datelor, mașinile trebuie să fie capabile să le proceseze și să le interpreteze. Pentru aceste etape, se consideră că utilizarea tehnicilor de tip Machine Learning (ML), cunoscută și ca instruire asistată de calculator, este cea mai adecvată metodă. În particular, folosirea algoritmilor de tip Deep Learning (DL), altfel spus rețele neuronale adânci, s-a dovedit a fi extrem de utilă în acest domeniu.
Dintre modurile în care se realizează interacțiunea om-mașină amintim comunicarea pe cale orală, care este facilitată prin intermediul unor sisteme de recunoaștere a vorbirii. Deoarece acest tip de comunicare este cel mai comun între ființele umane, este firesc ca direcția de evoluție a sistemelor tehnologice să fie una în care interacțiunea prin intermediul vorbirii să fie cea mai utilizată. În fapt, recunoașterea vorbirii este o temă de interes încă de la jumătatea secolului trecut, atunci când Fry prezenta aspectele teoretice ale unui sistem mecanic de recunoaștere a vorbirii[2]. În ultimii 50 de ani, numeroase implementări ale unor astfel de sisteme, hardware sau software, au fost propuse si realizate.
Dificultatea în cazul realizării unui sistem de recunoaștere automată a vorbirii o prezintă robustețea și acuratețea sistemului. O astfel de soluție software cu acuratețe de 100% nu a fost încă dezvoltată și este foarte improbabil să se obțină în viitorul apropiat. Din acest considerent, s-a încercat adăugarea unor aplicații suplimentare, care să conducă la creșterea ratei de recunoaștere. O astfel de abordare au avut-o Silsbee et al. [9], care au dezvoltat un sistem audiovizual cunoscut ca „Lipreading to Enhance Automatic Perception of Speech (LEAPS)”, un sistem de labiolectură folosit la îmbunătățirea recunoașterii automate a vorbirii.
În mod firesc, următoarea etapă în dezvoltarea aplicațiilor de acest tip a reprezentat-o realizarea unei soluții software de sine stătătoare, un sistem capabil să recunoască cuvinte exclusiv pe baza cadrelor dintr-o filmare. Rațiunea din spatele acestei dezvoltări o reprezintă evoluția domeniului achiziției si procesării imaginilor, cât și numărul tot mai mare de imagini care sunt captate la fiecare moment de timp. În zilele noastre, se estimează că peste 1000 de fotografii sunt realizate în fiecare secundă, însemnând cel puțin un cadru pe milisecundă. Mai mult, dacă luăm în considerare echipamente precum camerele de supraveghere și ținem cont de numărul de cadre pe secundă pe care acestea sunt capabile să le înregistreze, suntem obligați să multiplicăm numărul mai sus amintit cu cel puțin un milion. Asta înseamnă, deci, că suntem înconjurați de informație vizuală, informație care trebuie nu doar achiziționată, ci și procesată și vizualizată. Au apărut astfel aplicațiile [3][4] de tip Automated Lipreading Recognition (ALR), sau sisteme de citit automat pe buze, care au cunoscut un avans puternic în ultimii 30 de ani. Cele mai recente sisteme ating niveluri de acuratețe tot mai ridicate, un exemplu conludent în acest sens fiind proiectul lui Assael et al. [5], capabil să recunoască cuvinte în limba engleză cu o precizie de 95.2%, depășind astfel atât experții umani, cât și cei mai performanți algoritmi dezvoltați până la acest moment.
La momentul actual, cercetările făcute arată că nu există un sistem automat de labiolectură (SAL) creat pentru a detecta și recunoaște cuvinte in limba română. Se impune așadar dezvoltarea și implementarea unei astfel de aplicații, dat fiind faptul că există numeroase contexte în care aceasta ar putea fi folosită. Astfel, recunoașterea unor cuvinte cheie dintr-o frază poate fi utilizată fie pentru a realiza o interfață om-mașină într-un mediu cu nivel ridicat de zgomot, fie pentru implementarea unui sistem național de supraveghere, în care imaginile de la camerele stradale de supraveghere pot fi interpretate de sistem, care alertează autoritățile la apariția unui astfel de cuvânt. În plus, un sistem mai avansat, capabil să recunoască orice cuvânt definit în Dicționarul Explicativ Român, ar putea fi integrat în aplicații de transpunere a imaginilor în scris, folosite pentru a subtitra programele Televiziunii Naționale Române sau, împreună cu un sistem de recunoaștere a vorbirii, pentru a facilita comunicarea între oameni. Rezultatele obținute la nivel internațional în acest domeniu demonstrează că un o astfel de aplicație este realizabilă, chiar cu o acuratețe înaltă, ceea ce face ca prezentul proiect să fie unul fezabil.
Ne propunem, așadar, să realizăm un sistem automat de labiolectură pentru limba română, capabil să realizeze atât detecția, cât și recunoașterea unor cuvinte cheie, folosind exclusiv informație vizuală. Aceast proiect are ca punct de plecare lucrarea prezentată în cadrul „Sesiunii de Comunicări Științifice Studențești UPB, Mai, 2018”, după cum se poate observa în Anexa 1. Pentru prima parte a proiectului, vom realiza un algoritm de procesare a imaginilor, astfel încât să putem selecta din filmul înregistrat doar acele cadre care reprezintă informație dorită, altfel spus cadrele care compun
cuvintele pronunțate de vorbitor. A doua etapă a prezentei lucrări o reprezintă recunoașterea cuvintelor amintite anterior, pe baza unei rețele neuronale adânci deja antrenate. Pentru aceasta, este necesar să realizăm respectiva rețea, urmând mai apoi să o antrenăm folosind un set de date ce conține cuvinte în limba română.
Proiectul cuprinde, astfel, următoarele etape:
- Studiul noțiunii de labiolectură și a tehnicilor folosite pentru a realiza acest proces, studiul metodelor de ML folosind DL ce urmează a fi implementate in cadrul proiectului și analiza tehnologiilor folosite în lucrare, a căror funcționare va fi descrisă în Capitolul 1.
- Implementarea sistemului capabil să citească pe buze, a cărui arhitectură va fi descrisă în Capitolul 2. În acest capitol se vor analiza punctele critice din lanțul de preprocesare a datelor, urmând a se oferi soluții viabile și robuste. De asemenea, se vor propune anumite structuri de rețele neuronale ce ar putea fi folosite în etapa de recunoaștere, împreună cu modul în care acestea pot fi antrenate.
- Evaluarea performanțelor sistemului realizat, atât la nivel de bloc, cât și în integralitatea sa, va fi descrisă în Capitolul 3.
În finalul lucrării vom prezenta atât concluziile proiectului, cât și anumite îmbunătățiri care îi vor fi aduse în viitor.
Bibliografie
[1] George Mather. Essentials of Sensation and Perception. Foundations of Psychology. Taylor & Francis, pages: 73-90, 2014
[2] Fry, D.B.: Theoretical aspects of mechanical speech recognition, Journal of the British Institution of Radio Engineers, 19, (4), p. 211-218, 1959 [3] Eric David Petajan. Automatic Lipreading to Enhance Speech Recognition (Speech Reading). Ph.D. Dissertation. University of Illinois at Urbana-Champaign, 1984 [4] Chung, Joon Son et al. “Lip Reading Sentences in the Wild.” 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR): 3444-3453, 2017. [5] Neil Midgley. „New technology catches Hitler off guard”. https://www.telegraph.co.uk/news /uknews/1534830/New-technology-catches-Hitler-off-guard.html. Accesat pe 19-06-2018. [6] Alasdair Palmer. „Lip reader saw Fraser's incriminating conversation”. https://www. telegraph.co.uk/news/uknews/1420816/Lip-reader-saw-Frasers-incriminating-conversations.html. Accesat pe 19-06-2018. [7] McGurk H., MacDonald J. "Hearing lips and seeing voices". Nature. 264 (5588): 746- 8, 1976.
[8] Corniță Georgeta, „Fonetica integrată”, Umbria, 2001
[9] Ron Kovahi; Foster Provost. "Glossary of terms". Machine Learning 30: 271- 274. 1998
[10] Maqableh, M. , Karajeh, H. and Masa’deh, R. “Job Scheduling for Cloud Computing Using Neural Networks”. Communications and Network, 6, 191-200. 2014
[11] Ovidiu Grigore. „Note de curs”. http://ai.pub.ro/content/RNSF.htm. Accesat pe 19-06-2018
68
[12] Conner DiPaolo. “Perceptron”. https://github.com/cdipaolo/goml/tree/master/perceptron. Accesat pe 19-06-2018 [13] Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel. “Backpropagation applied to handwritten zip code recognition”. Neural Comput., 1(4):541- 551. 1989 [14] Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton. “Imagenet classification with deep convolutional neural networks”. Advances in neural information processing systems., pages 1097- 1105, 2012 [15] Marius Ignătescu. “Lobul occipital și cortexul visual”. https://www.descopera.org/lobul-occipital-si-cortexul-vizual/. Accesat pe 19-06-2018 [16] K. Fukushima. “Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position”. Biological Cybernetics, 36:193- 202, 1980 [17] Peng M, Wang C, Chen T, Liu G. “NIRFaceNet: A Convolutional Neural Network for Near-Infrared Face Identification”. Information. 7(4):61. 2016 [18] Documentația Tensorflow. https://github.com/tensorflow/tensorflow. Accesat la 19-06-2018 [19] Documentația Keras. https://keras.io. Accesat la 19-06-2018 [20] Documentația OpenCV. https://docs.opencv.org. Accesat la 19-06-2018
...
Preview document
Conținut arhivă zip
- Sistem automat de labiolectura.pdf