Documente Academic
Documente Profesional
Documente Cultură
net/publication/345890254
CITATIONS READS
0 808
1 author:
Bogdan-Alexandru Soare
Polytechnic University of Bucharest
5 PUBLICATIONS 0 CITATIONS
SEE PROFILE
All content following this page was uploaded by Bogdan-Alexandru Soare on 15 November 2020.
Abstract: Lucrarea curentă are ca scop prezentarea pentru task-ul de detectare, metoda R-CNN îmbunătățește
noțiunilor teoretice cât și practice în ceea ce privește foarte mult precizia și depășește metoda tradițională de
dezvoltarea și utilizarea de rețele neuronale convoluționale detectare a obiectelor cu 29%.
adânci punând accent pe detecția în timp real a obiectelor,
clasificarea imaginilor, detecția facială și recunoașterea
vorbirii.
Metodele bazate pe rețele neuronale convoluționale
adânci au obținut rezultate foarte bune în clasificarea
imaginilor și detecția obiectelor așa cum se poate observa
în cadrul lucrării.
Principalul subiect al acestei lucrări îl constituie
implementarea tuturor acestor algoritmi în cadrul
sistemelor de tip embedded, IoT pe platforma de
dezvoltare RaspberryPi 4.
1. INTRODUCERE
Fig. 1 Diferența între Recunoașterea/ Detecția de obiecte
Recall – pentru o anumită clasă, acest element reprezintă Este instrumentul software prin intermediul căruia a
proporția corectă a predicțiilor asupra numărului total de fost posibilă rularea modelului de rețea neuronală
obiecte: convoluțională pe platforma embedded Rpi4. Acesta are
∑𝑖=1,…,𝑁1 ∑𝑗=1,…,𝑁𝑖𝑗 𝑍𝑖𝑗 rolul de a realiza inferența cu o latență scazută pe
𝑅𝑒𝑐𝑎𝑙𝑙(𝑡) =
𝑁 dispozitivele cu resurse hardware limitate. Principalele
componente ale instrumentului TF Lite:
,unde 𝑁𝑖 este numărul de imagini, 𝑁𝑖𝑗 este numărul total • Interpretorul - are rolul de a rula modele
de detecții realizate asupra imaginii i, și N este numarul neuronale optimizate, pe o multitudine de
total de obiecte în S clase totale. platforme hardware incluzând platforme mobile,
microcontrollere si embedded.
Precision – este definit ca fracția dintre numărul de • Convertorul – are rolul de a realiza conversia
predicții corecte și numărul de predicții totale. O predicție modelelor TensorFlow clasice într-o formă mult
corect realizată este contorizată o singură dată, în timp ce mai eficientă cu un grad ridicat de optimizare al
toate celelalte predicții duplicat vor fi considerate drept algoritmilor si o dimensiune redusă a fisierelor
detecții false. ridicand astfel nivelul performanței.
∑𝑖=1,…,𝑁𝑖 ∑𝑗=1,…,𝑁𝑗 𝑍𝑖𝑗
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛(𝑡) =
∑𝑖=1,…,𝑁𝑖 ∑𝑗=1,…,𝑁𝑗𝑆𝑖𝑗
2.2 Pași parcurși în realizarea
,unde 𝑆𝑖𝑗 = 1 atunci când algoritmul determină faptul că inferenței modelului TensorFlow Lite:
detecția j din imaginea i este un obiect dintr-o clasă
specificată iar 𝑍𝑖𝑗 măsoară valoarea de adevăr a detecției.
Termenul inferență se referă la procesul de execuție a unui
Average Precision – pentru detecția mai multor obiecte, model TensorFlow Lite pe dispozitiv pentru a face
valoarea preciziei scade odată cu creșterea pragului predicții pe baza datelor de intrare.
modelului Recall. Are rolul de a măsura valoarea ecuației
medie a performanței(AP), ce reprezintă precizia medie la 1. Încărcarea modelului
diferite niveluri ale modelului Recall. Acest model este - este încărcat în memorie fișierul cu extensia .tflite ce
definit ca integrala preciziei peste modelul Recall, unde r conține graficul de execuție al modelului
reprezintă modelul Recall. Integrala este cazul ideal pentru
un set de date infinit de larg. 2. Transformarea datelor de intrare
- în general datele de intrare neprelucraet nu se potrivesc
1
𝐴𝑃 = ∫0 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛(𝑟)𝑑𝑟, cu formatul de intrare așteptat de model. De exemplu în
cazul nostru a fost necesar realizarea unui proces de resize
al cadrelor capturate pentru a realiza compatibilitatea
Considerând că diferența dintre două niveluri apropiate ale datelor.
modelului Recall este 𝑑𝑟 , AP este aproximat ca fiind AP
în cazul mai multor niveluri Recall diferite: 3. Rularea inferenței
- acest pas impune folosirea API-ului pus la dispozitie de
∑ 0,1 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 TFL. Acesta a fost implicat în realizarea build-ului și
𝑟𝑒𝑐𝑎𝑙𝑙= ,…,1
𝑑𝑟
𝐴𝑃 = alocarea tensorilor
𝑑𝑟 + 1
4. Interpretarea datelor de ieșire
Mean Average Precision – această metodă este folosită - rezultatele apărute în urma procesului de inferență au fost
drept metodă finală de verificare. Considerând 𝑁0 clase de interpretate și mapate la etichetele corespunzătoare astfel
obiecte în imaginile evaluate, valoarea mAP este definită încât acestea să capete sens în descrierea obiectelor vizate.
ca fiind media AP din toate clasele existente:
∑𝑛=1,2,…,𝑁0 𝐴𝑃
𝑚𝐴𝑃 =
𝑁0
Unde mAP poate calcula performanța algoritmului peste
toate nivelurile modului Recall și peste toate clasele.
2.3 Pași parcurși în realizarea 3. DETECȚIA FACIALĂ
detecției în timp real:
1. Alegrea unui model preantrenat. Detecția facială este un element esențial din cadrul
- acest pas a fost realizat prin selectarea modelului viziunii computerizate, ce implică gestionarea fețelor
ssd_mbilenet_v1, acesta fiind antrenat în prealabil pe setul umane în cadrul imaginilor sau secvențelor de imagini.
de date COCO. În acest capitol voi descrie două metode de realizare a
detecției faciale folosind două soluții diferite:
2. Conversia modelului MTCNN(Multi-task Cascade Convolutional Neural
- la acst pas a fost utilizat convertorul TF Lite pentru a Network) și Clasificatorul Cascade cu OpenCV.
putea obține el mai bun raport precizie/viteză de răspuns Localizarea unei fețe într-o fotografie se referă la
în ceea ce priveșt detecția. găsirea coordonatelor feței din cadrul imaginii, în timp ce
- ca și observație putem nota faptul că a fost obținută o încadrarea acestia face referire la crearea unui contur de
valoare medie de 4 fps pentru rularea modelului specificat. are rolul de a selecta zona din jurul feței.
- o performanță mai bună în privința ratei de transmisie se O caracteristică importantă în detecția facială o
poate obține folosind un model mai puțin complex dar în reprezintă diversitatea de factori care trebuie considerați în
acest caz va trebui să renunțăm la precizia detecției. momentul detecției: orientarea, culoarea părului,
machiajul, vârsta, etc.
3. Deployment
- rularea inferenței prin intermediul interpretorului oferit
către TF Lite, împreună cu API-ul OpenCV. 3.1 Detecția facială cu OpenCV
2) MTCNN
Fig.3 Pași în realizarea MTCNN
Algoritmii de tip Deep Learning sunt foarte Raspberry Pi 4 este cea mai nouă versiune din cadrul
cunoscuți pentru aplicabilitatea lor în recunoașterea seriei de mini-computere Raspberry Pi. Scopul acestuia este
imaginilor dar o altă utilizare cheie a tehnologiei o acela de a oferi un dispozitiv cu costuri reduse capabil de
reprezintă recunoașterea vorbirii. operații similare cu cele ale unui computer standard.
La nivelul cel mai de bază, recunoașterea vorbirii
transformă undele sonore în litere individuale ulterior
formând propoziții cu ajutorul acestora. Principala barieră
în transcrierea corectă a cuvintelor este variabilitatea
sunetului creat pentru aceleași cuvinte date mai precis,
accentul sau cadența. Dată fiind o propoziție în format
audio, recunoașterea vorbirii pornește de la transformarea
undelor sonore folosind transformata rapidă Fourier și
concatenând cadrele ferestrelor adiacente pentru a forma o
spectogramă. Scopul principal este acela de a reduce
dimensionalitatea datelor sonore univariate, într-un mod
care să permită predicția literelor componente [9].
Fig. 7 Prezentare componente hardware RPi4
BIBLIOGRAFIE
[1] R. Asthana, „How is AI enabling "Object identification
and recognition"?,” 2019.
[2] R. Alake, „How Does AI Detect Objects?,” 2020.
[3] I. Kuksov, „Sense and sensibility: Do we want Ai to
master emotions?,” 2019.
[4] F. Ai, „Object Detection Guide”.
[5] H. Mao și e. Song Yao, „Towards Real-Time Object
Detection on Embedded Systems”.
[6] J. Browniee, „How to Perform Face Detection with
Deep Learning,” 2019.
[7] C. Szegedy, A. Toshev și D. Erhan, „Deep Neural
Networks for Object Detection”.
[8] X. Zhao, „Real-Time Multi-Scale Face Detector on
Embedded Devices,” 2019.
[9] O. D. Science, „Deep Learning for Speech
Recognition,” 2019.
[10] Cleste, „Camera Viedeo Raspberry Pi”.