Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul

Proiect
8/10 (1 vot)
Domeniu: Automatică
Conține 1 fișier: pdf
Pagini : 61 în total
Cuvinte : 21670
Mărime: 5.06MB (arhivat)
Publicat de: Clara Robu
Puncte necesare: 9

Cuprins

  1. 1. Introducere . 5
  2. 2. Rețele neuronale artificiale . 7
  3. 2.1 Modele ale neuronului artificial . 8
  4. 2.2 Arhitecturi . 10
  5. 2.3 Algoritmi de învățare . 11
  6. 2.4 Aplicații din viața de zi cu zi . 12
  7. 2.5 Dezavantaje ale rețelelor neuronale . 12
  8. 3. Descrierea componentelor hardware ale sistemului . 13
  9. 3.1 Vehiculul . 13
  10. 3.2 Camera pentru înregistrarea imaginilor . 13
  11. 3.3 Modulul de procesare . 14
  12. 3.4 Arduino Duemilanove . 15
  13. 3.5 Conexiunile hardware . 16
  14. 4. Descrierea modulelor software . 18
  15. 4.1 Software Arduino . 19
  16. 4.2 Software Android . 20
  17. 4.3 Aplicatie Java VACRN . 23
  18. 5. Antrenarea rețelei neuronale . 31
  19. 5.1 Propagare înainte și Propagare inversă . 32
  20. 5.2 Metode de generalizare . 35
  21. 5.3 Determinarea numărului de neuroni din stratul ascuns . 36
  22. 5.4 Metoda Gradient cu Propagare Inversă (traingd) . 39
  23. 5.5 Propagare inversă flexibilă (trainrp) . 40
  24. 5.6 Propagarea inversă BFGS quasi-Newton (trainbfg) . 42
  25. 5.7 Propagarea inversă OSS (trainoss) . 43
  26. 5.8 Propagarea inversă Levenberg-Marquardt (trainlm) . 44
  27. ALGORITMI CU GRADIENT-CONJUGAT . 46
  28. 5.9 Actualizarea Fletcher-Reeves (traincgf) . 47
  29. 5.10 Actualizarea Polak-Ribiere (traincgp) . 49
  30. 5.11 Resetarea Powell-Beale (traincgb) . 50
  31. 5.12 Algoritmul Gradientului Conjugat Scalat (trainscg) . 51
  32. 6. Concluzii și planuri de viitor . 56
  33. 7. Bibliografie . 60

Extras din proiect

1. Introducere

Nu există niciun dubiu că de la începutul anilor ‘90 până în prezent, omenirea a făcut un progres uimitor în domeniul roboticii. Roboții moderni pot replica mișcările și acțiunile oamenilor, iar pasul următor constă în învățarea roboților să gândească și să reacționeze în condiții cât mai diverse. Inteligența artificială promite să ofere aparatelor abilitatea de a gândi analitic, folosind ultimele concepte și descoperiri din domeniul calculatoarelor, robotizărilor și matematicii.

Se dorește ca roboții să preia acțiunile monotone cum ar fi tunderea ierbii, datul cu aspiratorul sau executarea task-urilor de precizie cum ar fi asamblarea anumitor obiecte din fabrici și uzine. Astfel de automatizări ar trebui să permită mașinăriilor să execute sarcini periculoase pentru oameni, cum ar fi mineritul sau stinsul incendiilor. Unele țări au început deja să folosească roboți inteligenți pentru dezarmarea minelor de teren sau prelucrarea materialelor radioactive pentru a limita riscul pentru oameni. Tot pentru protecția umană se fac multe cercetări și în domeniul vehiculelor autonome. Există deja multe mașini dotate cu senzori și echipamente capabile să evite accidente sau dacă nu, măcar să atenționeze șoferul de potențialele pericole. În acest domeniu, cele mai avansate modele de mașini care au reușit cu succes să se conducă singure, chiar și în condiții de trafic intens, sunt cele construite de compania Google. Mașinile Google sunt la bază mașini Toyota Prius dotate cu camere, senzori și radare. Toate aceste dotări de ultimă generație au ca scop depistarea tuturor celorlalți participanți la trafic, dar și diferite obstacole, astfel încât mașina să meargă singură, fără ca șoferul să intervină în direcția ei și în frânare. Dar acestea au sisteme destul de complexe care nu pot fi construite la scară industrială încă și au un cost destul de mare, motiv pentru care cred că va mai dura cel puțin 10-20 ani până când publicul va avea acces la ele.

Deși cele mai bune rezultate din acest punct de vedere , al vehiculelor autonome, a fost înregistrat de curând, el este un subiect care i-a intrigat tot timpul pe cercetători. Un exemplu în acest sens este proiectul ALVINN (Autonomous Land Vehicle In a Neural Network) desfășurat în anii ‘95 de către Universitatea Carnegie Mellon în colaborare cu armata americană, proiect care avea ca scop realizarea unui vehicul care să ia decizii de control folosind rețele neuronale. ALVINN este un sistem care învață să controleze vehiculul prin urmărirea unui om conducând. Abordarea pentru acest sistem este diferită deoarece el nu se bazează pe senzori, radare, laser și GPS, ci are ca date de intrare imagini de dimensiune 30x32 pixeli de la o cameră video montată deasupra mașinii. Ca date de ieșire, sistemul ar trebui să genereze direcția în care vehiculul ar trebui să meargă pentru a rămâne pe drum. Deși modelul este unul destul de simplu în comparație cu cel de la Google, el a înregistrat rezultate destul de bune. ALVINN a reușit să conducă cu o viteză maximă de 70 de mph pe o autostradă publică de lângă orasul Pittsburg, USA. De asemenea, vehiculul s-a deplasat cu o viteză normală de 30-40 mph pe drumuri nepavate și pe străzi cu benzi din suburbii. Limitările erau faptul că nu putea conduce eficient pe tipuri de drum pe care nu a fost antrenat și că nu era prea robust la schimbări de luminozitate. Cu toate acestea, în comparație cu algoritmii tradiționali de prelucare de imagini, care aveau nevoie să proceseze imaginea pentru a găsi drumul și apoi să îl urmărească, ajungând la viteze de doar 3-4 mph, ALVINN era mult mai rapid.

Unul dintre motivele pentru care m-am înscris la Facultatea de Automatică și Calculatoare a fost pentru a crea sisteme inteligente de conducere și a aplica concepte matematice cu ajutorul cărora să pot implementa soluții care ușurează munca oamenilor și previn accidentele provenite din erori umane. ALVINN reprezintă modelul pe care se bazează realizarea acestei lucrări, în care, folosind obiecte accesibile oricui dar și puterea de calcul existentă în zilele noastre, am reușit să construiesc un sistem, care după doar 2-3 minute de înregistrare de date, a reușit să funcționeze în mod autonom, reproducând mișcările din timpul antrenării.

Am ales această temă și acest proiect deoarece pentru o asemenea lucrare sunt necesare cunoștințe din diferite domenii pe care le-am studiat în timpul facultății, dar și în afara ei, cum ar fi cele de electronică, programare orientată pe obiecte, tehnici de optimizare, sisteme avansate de control, programare în timp real și chiar programarea pe sisteme de tipul Android și microcontrolere pe platforma Arduino.

Lucrarea este divizată în 5 capitole, fără a-l include și pe acesta, în care este explicat demersul științific pentru realizarea proiectului :

În capitolul doi, intitulat Rețele neuronale artificiale, este realizată o scurtă descriere a rețelelor neuronale pentru a familiariza cititorul cu acestă tehnică și a oferi o viziune asupra modului în care funcționează. Sunt prezentate elemente de bază ale unei rețele neuronale cum ar fi :

- neuronul artificial, modele ale acestuia și cum afecteză alegerea modelului rezultatul final

- arhitecturi, adică structuri de legătură între diferiți neuroni și problemele care pot apărea din alegerea unei arhitecturi inadecvate

- algoritmi de învățare, sunt exemplificate diferite metode de învățare și se justifică alegerea uneia dintre ele pentru cazul nostru

În finalul capitolului sunt exemplificate câteva aplicații ale rețelelor neuronale pentru a ilustra utilitatea acestora dar și câteva probleme care apar când se folosește o astfel de tehnică.

În capitolul trei, sunt prezentate componentele hardware necesare realizării unui model în miniatură capabil să funcționeze ca ALVINN. Sunt descrise detalii despre vehiculul ales, structura și limitările acestuia, despre senzorul folosit pentru captarea imaginilor și despre modulul central de procesare. Tot aici sunt oferite detalii despre mediile de programare/interpretare de pe unitatea de procesare. În ultimele două subcapitole este precizat modul în care cele trei componente descrise anterior comunică, componentele hardware necesare pentru realizarea comunicației și conexiunile fizice pe care le implică această comunicare. În finalul capitolului, sunt expuse implicațiile pe care le are arhitectura fizică aleasă asupra programelor ce vor prelucra datele.

În capitolul patru, sunt descrise modulele software necesare pentru implementarea sistemului. La începutul capitolului, sunt fixate unele obiective ce țin de modul în care trebuie sa funcționeze aplicația principală pentru ca aceasta să fie cât mai flexibilă și ușor de implementat pe orice sistem. Pe tot parcursul capitolului se va urmări ca aceste obiective să fie atinse ținându-se evident cont și de restricțiile impuse de hardware, menționate în capitolul precedent. Capitolul acesta este divizat în trei subcapitole, în primul se prezintă programul de pe microcontrolerul ATMega cu ajutorul căruia se vor transmite comenzi către vehicul și se va impune un protocol de comunicație între acesta și aplicația centrală. În cel de-al doilea subcapitol, este prezentat programul conceput pentru captarea și transmiterea imaginilor de pe un telefon ce folosește sistemul Android către un server prin intermediul internetului wireless și la fel ca mai sus se impune un protocol de transmitere a informațiilor. În ultimul subcapitol este expus modul de funcționare a aplicației centrale, cea care va rula pe modulul de procesare și va fi responsabilă de primirea imaginilor, de la aplicația descrisă anterior, să genereze comenzi prin intermediul rețelei neuronale pe baza imaginilor și să transmită comenzi prin serial către microcontroler care la rândul lui va acționa vehiculul. Pentru a face acest lucru, aplicația centrală va trebui în prealabil să poată înregistra imagini și comenzi care vor constitui setul de antrenament pentru rețea și să încarce apoi rețeaua antrenată în Matlab prin intermediul unor fișiere.

Preview document

Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 1
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 2
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 3
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 4
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 5
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 6
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 7
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 8
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 9
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 10
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 11
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 12
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 13
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 14
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 15
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 16
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 17
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 18
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 19
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 20
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 21
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 22
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 23
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 24
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 25
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 26
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 27
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 28
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 29
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 30
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 31
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 32
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 33
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 34
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 35
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 36
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 37
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 38
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 39
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 40
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 41
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 42
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 43
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 44
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 45
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 46
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 47
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 48
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 49
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 50
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 51
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 52
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 53
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 54
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 55
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 56
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 57
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 58
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 59
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 60
Prelucrare Neuronală de Imagini pentru Controlul unui Vehicul - Pagina 61

Conținut arhivă zip

  • Prelucrare Neuronala de Imagini pentru Controlul unui Vehicul.pdf

Alții au mai descărcat și

Toolbox-ul Mapping - Matlab

Ce este navigatia? Navigatiea este procesul de planificare, inregistrare si controlul miscarii unei nave sau vehicul de la o locatie la alta....

Modelarea Matlab-Simulink a Unei Sere

Cunoasterea duratei de timp de la semanat pâna la rasaritul plantelor mai are însemnatate si pentru obtinerea unor productii cat mai timpurii. Daca...

Circuite logice secvențiale

In multe aplicatii este nevoie de un element care sa prezinte 2 stari diferite, cu posibilitatea de a trece dintr-o stare in cealalta, fara sau in...

Proiectare conceptuală

Cerintele sistemului operational Odata ce a fost definita nevoia si abordarea tehnica, e necesar sa le tranlatam intr-un “scenariu...

Ai nevoie de altceva?