PowerPoint Presentation

Documente similare
Deep learning

Introducere

Sistem de supraveghere video inteligent cu localizarea automata a evenimentelor de interes SCOUTER, cod proiect PN-II-IN-DPST , contract nr

Microsoft Word - L_TI_4_C2_Tehnici_de_Analiza_a_Imaginilor_Brad_Remus.doc

Microsoft Word - Tema 06 - Convertoare analog-numerice.doc

Învățare automată Laborator 9 Rețele neuronale în TensorFlow TensorFlow (abreviat TF) este o bibliotecă open source ce permite efectuarea de calcule ș

Universitatea Tehnică Gheorghe Asachi, Iași Facultatea de Electronică, Telecomunicații și Tehnologia Informației Triangulaţia și aplicații (referat) P

Inteligență artificială Laboratorul 8 Perceptronul și rețele de perceptroni în Scikit-learn Stanga :multimea de antrenare a punctelor 3d; Dreapta : mu

PowerPoint Presentation

4. Detectarea cantelor Calculul gradientului într-o imagine Detectorul de cante Canny Transformata Hough În această lucrare vor fi studiate metode de

Lucrarea 7 Filtrarea imaginilor BREVIAR TEORETIC Filtrarea imaginilor se înscrie în clasa operaţiilor de îmbunătăţire, principalul scop al acesteia fi

OPERATII DE PRELUCRAREA IMAGINILOR 1

Microsoft Word - Capitolul_07

Microsoft Word - Camera video adaugata intr-o retea CATV2.doc

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIȘA DISCIPLINEI 1.

Carrier Pidgeon Protocol

Procesarea Imaginilor Laborator 3: Histograma nivelurilor de intensitate 1 3. Histograma nivelurilor de intensitate 3.1. Introducere În această lucrar

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Babeş-Bolyai Cluj-Napoca 1.2 Facultatea Facultatea de Mate

1

rrs_12_2012.indd

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Babeş-Bolyai Cluj-Napoca 1.2 Facultatea Facultatea de Mate

Microsoft Word - Sinteza_EtapaIII_Contract 69_IDEI_final_.doc

Microsoft Word - FiltrareaNyquist-rezumat.doc

S.C. SEEKTRON S.R.L. Fişă de prezentare a produsului EYECAR B1 EYECAR B1 Observer Black Box Dispozitiv inteligent pentru înregistrarea evenimentelor r

Microsoft Word - fisa-Prelucrarea-Digitala_Imaginilor-RO-Anca-Ignat-2018

CL2009R0976RO bi_cp 1..1

Inserarea culorilor in tabele

FILTRE DE REALIZARE CU CIRCUITE DE INTEGRARE

Microsoft Word - Volum-RRIOC-2-2

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea de Vest din Timișoara 1.2 Facultatea Matematică și Informa

PowerPoint Presentation

Microsoft Word - 2 Filtre neliniare.doc

Lucrarea 10

SSC-Introducere-2

Slide 1

(Microsoft PowerPoint SIBIUEVIDENTA [Doar \356n citire])

Slide 1

Microsoft Word - PI-L7r.doc

Fisa disciplinei_Utilizarea_Calc_CFDP_ _var2_

Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere S


Microsoft Word - TST48.10.docx

RAPORT ŞTIINŢIFIC Contract nr 33CI/2017, cod PN-III-P2-2.1-CI Titlu proiect: Sistem integrat de analiză și prognoză a consumului pentru dist

Document2

Algebra si Geometri pentru Computer Science

Unitatea: Școala Gimnazială Disciplina: Informatică și TIC Programa școlară aprobată cu OMEN nr.3393 din Profesor: prof. Clasa: a V-a A, B

Sisteme de operare

Microsoft Word - projects.doc

2 BAZE TEORETICE ALE REȚELELOR DE CALCULATOARE CAPITOLUL 2 BAZE TEORETICE ALE REŢELELOR DE CALCULATOARE 2.1. Necesitatea standardizării (referenţierii

Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test

VI. Achiziția datelor în LabVIEW

Transmisia datelor multimedia in retele de calculatoare <Titlu Lucrare>

Aproximarea functiilor prin metoda celor mai mici patrate

Microsoft Word - Fisa DRS - ROMANA.docx

Microsoft Word - 4_Fd_Teoria_sist_I_2013_2014_MLF_Calc

013757_ABB (A Szocs)_ACS50_EN_revE_high_100812ENRODECRCG_f_1

Interfață Vizuală Om-Mașină Analiza și recunoașterea gesturilor

Noțiuni matematice de bază

Laborator 3

Microsoft Word - AI.doc

LUCRAREA 8 PROGRAMAREA NELINIARĂ ÎN REZOLVAREA PROBLEMELOR DIN ENERGETICĂ. METODE DE ORDINUL Aspecte generale Programarea neliniară are o foart

U.T.Cluj-Napoca, C.U.N. Baia Mare Facultatea: Inginerie PLAN de INVĂŢĂMÂNT Domeniul: Calculatoare şi Tehnologia Informaţiei anul univ Progr

METODE NUMERICE ÎN INGINERIE

Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursu

Microsoft Word - Probleme-PS.doc

Microsoft Word - C05_Traductoare de deplasare de tip transformator

1

PowerPoint Presentation

Slide 1

Sisteme de calcul în timp real

Unelte ce se regasesc in Viewer (CD, Stick) Uneltele de baza Uneltele de baza includ cele mai comune unelte folosite in modulele OnDemand 3D App. Unel

LOGICA MATEMATICA SI COMPUTATIONALA Sem. I,

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Babeş-Bolyai, Cluj-Napoca 1.2 Facultatea Facultatea de Geo

PLAN DE ÎNVĂŢĂMÂNT

PowerPoint-Präsentation

Concluzii şi recomandări Examinarea preliminară privind activitatea de racordare la rețelele de energie electrică și la reţelele de gaze naturale de i

Slide 1

G.I.S. Curs 3

PROGRAMA CONCURSULUI NAŢIONAL

Image processing

Bazele spectroscopiei si laserilor

TM200 Live Tour guide Sistem audio mobil Sistemul de comunicare audio Tour guide este util in cel putin 3 situatii si vine cu avantaje clare: 1) Cand

C10: Teoria clasică a împrăștierii Considerăm un potențial infinit în interiorul unui domeniu sferic de rază a și o particulă incidentă (Figura 1) la

Calcul Numeric

Inspiron Specificaţii

Dräger REGARD-1 Unitate de comandă Sistemul Dräger REGARD -1 este un sistem de evaluare de sine stătător cu un singur canal, pentru monitorizarea gaze

PowerPoint Presentation

Microsoft Word - Curs_08.doc

Proiectarea Sistemelor Software Complexe

RAPORT: Evoluţia pieţelor de comunicaţii electronice – trimetrul 1, 2012

CURS II Modelarea scurgerii în bazine hidrografice Modelarea scurgerii lichide pe versanţii bazinului hidrografic Modalităţi de cercetare a scurgerii

Inspiron Specificaţii (Battery)

Tesutul nervos

Prelegerea 4 În această prelegere vom învăţa despre: Algebre booleene; Funcţii booleene; Mintermi şi cuburi n - dimensionale. 4.1 Definirea algebrelor

Elemente de Web design

PowerPoint Presentation

Biomedical Wi-Fi data transmissons

Nr

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Babeş-Bolyai Cluj-Napoca 1.2 Facultatea Facultatea de Mate

Transcriere:

Procesarea Imaginilor Curs 13 Procesarea imaginilor folosind rețele neuronale.

Rețele neuronale convoluționale Analogie cu biologia Neuronul biologic: are ca intrări semnale electrice primite pe dendrite, prin intermediul sinapselor (conexiuni cu alți neuroni). Puterea sinapselor influențează ponderea semnalului de intrare. Dacă neuronul este activat, se generează semnal de ieșire pe axon (care se poate conecta apoi la alte dendrite, prin alte sinapse). sursa imaginii: http://cs231n.github.io/convolutional-networks/

Rețele neuronale convoluționale Analogie cu biologia Neuronul artificial: are ca intrări valori numerice, primite de la intrarea rețelei (datele de clasificat) sau de la ieșirea altor neuroni artificiali. - Tăria sinapselor este înlocuită de ponderi ale intrărilor - Ieșirea este o combinație liniară a intrărilor, urmată de o funcție de activare neliniară. sursa imaginii: http://cs231n.github.io/convolutional-networks/

Rețele neuronale convoluționale Funcții de activare Funcția sigmoid Valori în intervalul [0, 1] Neliniară, derivata ei e ușor de calculat Funcția tanh Centrată în 0, valori între [0, 1] Utilizată pentru clasificare binară Funcția ReLU (Rectified Linear Unit) Cea mai utilizată Nu necesită operații complexe Introduce o non-linearitate

Rețele neuronale convoluționale Nivelurile rețelei Date 3 dimensionale: în cazul imaginilor: înălțime, lățime și număr de canale (imagine grayscale 1 canal, imagine color 3 canale) Trei tipuri de niveluri (layer) nivel convoluțional nivel de pooling nivel complet conectat (fully connected) Dimensiunea spațială a nivelurilor (width, height) scade pe măsură ce avansăm în rețea, dar adâncimea crește odată cu avansarea în rețea primele niveluri din rețea extrag trăsături cu informație semantică redusă (muchii, colțuri), iar nivelurile mai mari codifică trăsături mult mai complexe (de exemplu, roată, parbriz etc.)

Rețele neuronale convoluționale Nivelurile rețelei sursa imaginii: http://cs231n.github.io/convolutional-networks/

Rețele neuronale convoluționale Neuronii și convoluția Convoluția produce o imagine rezultat unde fiecare pixel este o combinație liniară a unei vecinătăți din imaginea sursă În funcție de coeficienții nucleului de convoluție, putem obține filtre care au efect de netezire, sau pot pune în evidență anumite trăsături Neuronul artificial se bazează tot pe o combinație liniară a intrărilor

Rețele neuronale convoluționale Neuronii și convoluția Convoluția se aplică în trei dimensiuni (width, height, depth) Este operația clasică de convoluție, dar rețeaua ÎNVAȚĂ ponderile pentru fiecare filtru Parametri: Dimensiunea filtrului Pasul (Stride) Umplere (Padding) Numărul de canale de ieșire Exemple de filtre învățate de primul nivel al unei rețele neuronale convoluționale

Rețele neuronale convoluționale Nivelul convoluțional

Rețele neuronale convoluționale Nivelul de pooling (integrare, încorporare) se aplică individual pe fiecare canal al datelor de intrare NU are parametri care trebuie să fie învățați reduce dimensiunea spațială, deci și riscul de overfitting Cele mai comune filtre de tip pooling: max pooling selectează maximul average pooling selectează media

Rețele neuronale convoluționale Nivelul complet conectat (fully connected - FC) Similar cu rețelele neuronale clasice, fiecare neuron din nivelul k este conectat la toți neuronii din nivelul k+1 Folosit în ultimele niveluri din rețea pentru clasificare Problemă: sunt foarte multe ponderi de învățat, astfel încât sunt practice doar după de numărul de trăsături este redus Există rețele care nu mai folosesc niveluri FC, ci doar niveluri convoluționale.

Segmentare semantică Fiecărui pixel din imagine i se asociază o clasă Rețele neuronale complet convoluționale (fully convolutional neural networks)

Segmentare semantică Segmentarea implică obținerea unei imaginii de aceeași dimensiune cu imaginea de intrare în care fiecare pixel are asignată o anumită clasă Rețele convoluționale neuronale clasice scad dimensiunea spațială a hărților de trăsături pe măsură ce ne apropiem de rezultat Este necesar un mecanism de refacere a rezoluției inițiale (up-sampling)

Segmentare semantică Sursa: Sasank Chilamkurthy, A 2017 Guide to Semantic Segmentation with Deep Learning, http://blog.qure.ai/notes/semantic-segmentation-deep-learning-review

Segmentare semantică Deconvoluție convoluție transpusă Se utilizează nuclee pentru operația de deconvoluție transpusă, cu parametri variabili, supuși procesului de învățare Din punct de vedere intuitiv, se proiectează nucleul în imaginea rezultat, ponderat cu valorile din imaginea sursă, și se însumează aceste proiecții Pasul de proiecție stride poate fi mai mare de 1, rezultând o imagine rezultat mai mare

Segmentare semantică Deconvoluție convoluție transpusă Pas (stride) = 1 Pas (stride) = 2 Sursa imaginii: https://datascience.stackexchange.com/questions/6107/what-aredeconvolutional-layers

Segmentare sematică Deconvoluție convoluție transpusă 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 3 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Date de intrare Padding 1 0 2 0 1 0 0 2 1 1 0 2 2 0 4 0 1 0 0 2 0 0 2 1 0 4 2 3 0 6 4 0 8 0 3 0 0 4 0 0 6 3 0 8 4 Nucleul ponderat cu intrarea 1 02 2 4 30 1 5 02 8 08 0 25 51 9 2 0 6 311 4 Rezultatul Nucleu de deconvoluție

Segmentare semantică Deconvoluția prin convoluție Același rezultat se obține prin folosirea unei convoluții cu nucleul oglindit pe ambele axe: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 3 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 1 0 * = 2 0 1 0 0 0 0 0 0 0 1 2 2 4 0 0 3 5 8 8 0 0 0 5 9 2 0 0 0 6 11 4 0 0 0 0 0 0 0 Termeni improprii: deconvoluția CNN nu e nici deconvoluție (operația inversă convoluției), nici transpusă (e oglindită)

Segmentare semantică Funcția de pierdere (loss function)

Segmentare semantică Rețeaua U-Net Dezvoltată pentru segmentarea imaginilor în domeniul medical Există două căi în rețea: Calea de contracție extrage contextul din imaginea de intrare, exact ca o rețea convoluțională clasică Calea de expansiune simetrică cu cea de contracție, extinde trăsăturile prin deconvoluții pentru a clasifica precis fiecare pixel Legături între cele două căi (skip connections) simplă concatenare a hărților de trăsături Astfel se adaugă informație de localizare în ieșirea rețelei Olaf Ronneberger, Philipp Fischer, Thomas Brox, U-Net: Convolutional Networks for Biomedical Image Segmentation, Medical Image Computing and Computer-Assisted Intervention (MICCAI), Springer, LNCS, Vol.9351: 234--241, 2015

Segmentare semantică Antrenarea rețelei Se utilizează perechi de imagini (imagine color sursa + imagine etichetată (adnotată)) Deoarece adnotarea imaginilor pentru segmentare este mult mai dificilă decât pentru clasificare, se folosesc de obicei baze de date publice. F. Yu, W. Xian, Y. Chen, F. Liu, M. Liao, V. Madhavan, T. Darrell, BDD100K: A Diverse Driving Video Database with Scalable Annotation Tooling, arxiv: 1805.04687, 2018.

Segmentare semantică Antrenarea rețelei Se calculează ieșirile rețelei pentru imaginile de antrenare, și se compară cu rezultatele dorite (imaginile adnotate, Ground Truth ). Se calculează funcții de cost (de pierdere, loss ), cum ar fi Intersection over Union, sau eroarea pătratică medie Ponderile neuronilor sunt ajustate în funcție de eroare și de impactul ponderilor asupra ei, folosind metoda Backpropagation, o particularizare a metodei generale Gradient Descent.

Segmentare semantică Comparație cu segmentarea clasică Imagine inițială Segmentare color Segmentare semantică https://www.researchgate.net/publication/326875064_towards_a_meaningful_3d_map_usi ng_a_3d_lidar_and_a_camera

Segmentare semantică Alte exemple Segmentare drum, folosind rețeaua U-Net antrenată pe baze de date publice, și testată pe imagini din Cluj- Napoca Capacitate de generalizare, dovada unei învățări corecte!

Putere de calcul Performanța unei rețele este dată de arhitectura ei, dar și de cantitatea și calitatea datelor de antrenare. De exemplu, rețeaua folosită pentru segmentarea imaginilor din trafic are 93000000 de parametri care trebuie reglați Au fost folosite 10000 de imagini pentru antrenare Timp de antrenare: 1h 30 min, pe un sistem echipat cu două plăci grafice nvidia 1080 Ti Timp de predicție (segmentare): 15 ms folosind plăcile grafice (GPU) 410 milisecunde folosind doar CPU (Intel i7 6700K)

Resurse suplimentare TensorFlow Platformă open source pentru inteligență artificială https://www.tensorflow.org/ Keras: The Python Deep Learning library API de nivel înalt pentru dezvoltarea rețelelor neuronale artificiale (folosește engine-ul TensorFlow) https://keras.io/ Dlib pachet de unelte C++ pentru inteligență artificială și viziune computerizată http://dlib.net/