Studiu comparativ al unor soluții de recunoaștere facială [303216]
Universitatea Ștefan cel Mare Suceava
Facultatea de Inginerie Electrică și Știința Calculatoarelor
Proiect de diplomă
Studiu comparativ al unor soluții de recunoaștere facială
Profesor coordonator:
prof. dr. ing. Turcu Cristina Elena
Student: [anonimizat], 2018
R54 – F02
[anonimizat], [anonimizat]. SUCEAVA, str. CELULOZEI, nr.7, născut(ă) la data de 27.09.1995, [anonimizat], nr. 929927 absolventă al Universității “Ștefan cel Mare” [anonimizat], programul de studii/[anonimizat] 2014-2018, [anonimizat]. 1/2011 [anonimizat], pe care urmează să o [anonimizat]. [anonimizat], [anonimizat]-o bază de date în acest scop.
Am luat la cunoștință faptul că îmi este interzisă comercializarea / transmiterea lucrării mele către un terț în vederea facilitării falsificării de către acesta a calității de autor al lucrării.
Data azi, _______________, în fața noastră:
[anonimizat]: [anonimizat], prof. dr. ing. [anonimizat] (viață) și metrikos (măsură), reprezintă un complex de metode automatizate destinate identificării unei persoane folosind unele caracteristici biometrice ([anonimizat], irisul, retina, [anonimizat], [anonimizat].) sau comportamentale ([anonimizat], [anonimizat], [anonimizat].) [anonimizat], [anonimizat], [anonimizat] o persoană. [anonimizat], echipamente și sisteme destinate diseminării identității cu performanțe mult superioare celor existente. [anonimizat] a [anonimizat]-lea. Acesta a elaborat un studiu detaliat asupra amprentelor degetelor în care a [anonimizat]; amprentarea a fost introdusă ca metodă de identificare a persoanei în poliția britanică începând cu anul 1890 de către Sir Richard Edward Henry. [anonimizat], măsurabile ale persoanei. [anonimizat], geometria mâinii, geometria feței, amprenta (codul) irisului sau a retinei, timbrul vocal pot fi utilizate în sisteme și scheme destinate accesului la un computer, într-o anumită încăpere și, de ce nu, la un cont bancar. Identificarea automată a persoanei reprezintă procesul prin care un sistem biometric asociază o persoană unei identități specifice, acest lucru putându-se realiza în termenii verificării sau recunoașterii. În cadru procesului de verificare, sistemul numai autentifică o identitate pretinsă; cu alte cuvinte sistemul verifică dacă o persoană este cine pretinde că este. În cadrul recunoașterii crește complexitatea procesului, sistemul determinând identitatea persoanei prin consultarea unei baze de date sau prin testarea unei rețele neuronale cu informații despre persoane, cu alte cuvinte, sistemul determină cine este persoana respectivă fără ca aceasta să precizeze un nume ori alte informații de identificare.
Interesul sporit pentru recunoașterea facială a determinat ca multe companii să furnizeze diferite produse care vin în sprijinul cercetătorilor din acest domeniu. Producătorii pun la dispoziția clienților diferite caracteristici cum ar fi detecția și recunoașterea feței dintr-o imagine sau dintr-un video, emoțiile detectate, vârsta și sexul persoanelor. Pe site-urile acestor companii se găsesc instrumente pentru dezvoltarea aplicațiilor software cum ar fi API-uri( Application Programming Interface) sau SDK-uri( Software Development Kit).
În acest proiect de diplomă voi face o comparație între dezvoltatorii de intrumente care permit oricui să se aibă acces la tehnologia de recunoaștere a imaginii. Voi crea aplicații cu ajutorul api-urilor existente pe internet și voi compara rezultatele obținute ținând seama de unele caracteristici precum detecția și recunoașterea feței, emoțiile, vârsta și sexul persoanelor din imagine. Producătorii de la care voi folosi instrumentele sunt Kairos, Google, Microsoft, OpenCV, IBM și Clarifai. De asemenea voi analiza rezultatele obținute și în urma folosirii aplicației web pusă la dispoziție pentru utilizatori.
Deoarece majoritarea furnizorilor de instrumente pentru recunoaștere vizuală oferă funcționalități similare, voi compara performanța acestora din mai multe puncte de vedere precum acuratețea cu care este detectă o față, caracteristicile oferite de furnizori, cât de ușor pot fi folosite intrumentele puse la dispoziție. Rezulatatele comparațiilor pot fi folosite de persoane care doresc să realizeze aplicații cu detectarea feței și nu știu care platformă este utilă.
Pe internet se găsesc unele comaparații între tehnologiile existente pe piață din domeniul recunoașterii vizuale, dar aceste comparații sunt făcute între două cel mult trei platforme. Există o comparație între mai multe tehnologii realizată de compania Kairos, dar rezultatul este în favoarea acestora. Analiza lor nu refectă în totalitate realitatea dorind ca produsul lor să iasă în evidență.
Noutatea adusă prin intermediul acestui proiect este comparația între cele șase companii care furnizează servicii asemănătoare de recunoaștere vizuală.
Platformele existente pentru detecția vizuală pun la dispoziția utilizatorilor pagini online unde se pot analiza în timp real imaginle încărcate. Această facilitate este folositoare pentru analiză dar și pentru simpli utilizatori interesați de domeniul detecției vizuale.
Pentru dezvoltatorii de software se oferă servicii pentru a putea crea aplicații la nivel local. Voi face o analiză și din acest punct de vedere realizând câteva aplicații cu ajutorul api-urilor disponibile. Voi compara rezulatele obținute pentru a fi folositoare viitorilor programatori.
Introducere
Nevoia pronunțată de securitate a determinat interesul crescut al cercetătorilor pentru reconoașterea feței. Fața umană joacă un rol important în interacțiunea noastră socială, transmițând identitatea oamenilor. Autentificările bazate pe o singură trăsătură, cum ar fi amprenta, vocea, irisul nu sunt eficiente dacă se dorește o performanță de potrivire a sistemului foarte bună. De aceea recunoașterea facilă poate fi găsită în diverse aplicații de securitate folosite de aeroport, în detectarea criminalității, etc.[1].
Evaluările arată că majoritatea cazurilor de utilizare a recunoașterii faciale se încadrează în trei mari categorii: securitate, sănătate și marketing. Pentru asigurarea securității companiile pregătesc algoritmi de învățare profundă pentru a recunoaște detectarea fraudei, pentru a reduce nevoia de parole tradiționale și pentru a îmbunătăți capacitatea de a face distincția între o față umană și o fotografie. În domeniul sănătății se sprijină procedurile de gestionare a durerii. Încadrat în considerente etice, marketingul este un domeniu în creștere al inovației de recunoaștere facială și devine tot mai prezent[7].
Recunoașterea biometrică a feței, cunoscută și sub numele de recunoașterea automată a feței (AFR), este o abordare biometrică deosebit de atractivă, deoarece se concentrează pe același identificator pe care oamenii îl folosesc în primul rând pentru a distinge o persoană de alta: "fețele" lor. Unul dintre obiectivele sale principale este înțelegerea sistemului vizual complex și a cunoașterii modului în care oamenii reprezintă fețe pentru a identifica identități diferite cu o precizie ridicată[8].
Problema recunoașterii faciale poate fi împărțită în două părți: detectarea feței și identificarea feței. Prima parte cuprinde identificarea și localizarea unei fețe umane dintr-o imagine, iar a doua parte include extragerea de caracteristici ale feței care sunt informații importante pentru potrivire.
Dintre diferitele tehnici biometrice, recunoașterea facială poate să nu fie cea mai fiabilă și mai eficientă, dar are mai multe avantaje față de altele: este naturală, ușor de utilizat și nu necesită ajutor de la subiectul testului. Sistemele bine concepute instalate în aeroporturi și locuri publice pot detecta prezența criminalilor în rândul mulțimii. Alte elemente biometrice, cum ar fi amprentele, irisul și recunoașterea vorbirii, nu pot efectua acest tip de scanare în masă[8]. Cu toate acestea apar unele probleme importante pentru recunoașterea feței precum problema iluminării, problema reprezentării, imagini luate în decurs de câțiva ani, ochelari, mustăți, barbă, calitatea imaginilor scăzută.
Deoarece recunoașterea facială este un domeniu de mare interes multe companii oferă aplicații software online sau instrumente pentru analiză a imaginii pentru identificarea persoanelor sau obiectelor. Ca și servicii pentru analiza imaginii dezvolatorii au la dispoziție Amazon Rekognition, care face parte din suita Amazon AI, API-ul Google Cloud Vision, API-ul Kairos Human Analytics, Microsoft Face, IBM Watson Visual Recognition, Clarifai Face Detection, OpenCV, etc. Acești producători oferă anumite caracteristici pentru o imagine precum detectarea sau recunoașterea fețelor, recunoașterea emoțiilor, estimarea vârstei, toleranța la poziția feței, determinarea calității unei imagini, etc. Majoritatea companiilor oferă caracteristici similare și de accea voi face o comparație între rezultatele oferite de producătorii de servicii pentru recunoaștere facială.
Stadiul actual al domeniului
În prezent recunoașterea facială este unul dintre cele mai căutate domenii de cercetare și are o gamă foarte largă de aplicații în lume, precum supraveghere, control de acces, autentificarea identității. În ultima decadă dezvolatatorii de produse comerciale au înbunătățit performanța algoritmilor de recunoaștere a feței[2]. În mod tradițional această tehnologie a fost asociată cu sectorul de securitate, dar există o expansiune în unele industriile de marketing și sănătate[3].
Platformele sociale au adoptat capabilități de recunoaștere facială pentru a-și diversifica funcționaitățile și pentru a atrage cât mai mulți utilizatori.
SnapChat este o aplicație care utilizează tehnologia de recunoaștere a feței și care permite utilizatorilor să adauge filtre pentru a schimba modul în care arată. Acestă aplicație are în continuare succes, fiind pe primul loc în preferințele adolescenților.
DeepFace este un sistem de recunoaștere facilă, creat de un grup de cercetători pentru Facebook. Acesta identifică chipurile umane din imaginile digitale. Utilizează o rețea neuronală cu nouă staturi cu peste 120 de milioane de parametri și a fost instruită pe patru milioane de imagini încărcate de utilizatorii Facebook. Se spune că sistemul este 97% corect, comaparativ cu 85% pentru sistemul de identificare de la FBI[4]. Opțiunea bazată pe recunoaștere facială pe care Facebook a lansat-o îi anunță pe utilizatori atunci când fotografii sau videoclipuri în care aceștia apar sunt încărcate de alte persoane. Dacă cineva publică o imagine și Facebook recunoaște fața unui utilizator acesta va primi o alertă plus o opțiune de a se eticheta în ea, dacă dorește. Dacă nu apare în fotografie, utilizatorul poate anunța Facebook și are opțiuni pentru a raporta imaginea[5]. În Uniunea Europeană și Canada utilizatorii aplicației Facebook nu sunt afectați de aceste modificări deoarece legistațiile în vigoare împiedică momentan Facebook să ofere recunoaștere facială pe teritoriul acestor regiuni.
Recunoașterea feței a fost folosită ca o formă de autentificare biometrică pentru diferite platforme și dispozitive de calcul. Android 4.0 „Ice Cream Sandwich” a adăugat recunoașterea facială utilizând camera frontală a smartphone-ului ca mijloc de blocare a dispozitivelor, iar Microsoft a introdus recunoașterea feței la consola de jocuri video Xbox 360 prin intermediul accesorului Kinect.
Apple a introdus Face ID pentru iPhone-ul X, ca succesor biometric de autentificare a lui Touch ID, un sistem bazat pe amprente digilate. Face ID are un senzor de recunoaștere a feței care constă din două părți: un modul „Romeo” care proiectează mai mult de 30.000 de puncte infroroșu pe fața utilizatorului și un modul „Julie” care citește modelul. Modelul este trimis către un „Secure Enclave” aflat în unitatea de procesare a dispozitivului pentru a confirma o potrivire cu fața proprietarului telefonului. Sistemul nu va funcționa cu ochii închiși pentru a împiedica accesul neautorizat. Tehnologia învață din schimbările utilizatorului, prin urmare funcționează și cu pălării, eșarfe, ochelari, barbă, machiaj. De asemenea funcționează în întuneric. Acest lucru se face folosind un „iluminator de inundații”, care este un blitz cu infraroșu dedicat, aruncând lumină infraroșie invizibilă pe fața utilizatorului[4].
AiCure este o companie fondată în 2010 și utilizează tehnologia de recunoaștere a feței pentru a înbunătății practicile din domeniul sănătății. Software-ul bazat pe algoritmi realizați de companie este livrat printr-o aplicație, iar AiCure suține că acesta poate fi accesat pe orice dispozitiv. Aplicația efectuează trei funcții de bază: identifică pacientul, identifică medicamentul prescris și poate confirma vizual dacă medicamenul a fost luat de către pacient[6].
Departamentul din Statele Unite administrează unul dintre cele mai mari sisteme de recunoaștere a feței din lume, cu a bază de date de 117 milioane de adulți americani. Deși nu este finalizat, este pus în aplicare în anumite orașe pentru a da indicii despre cine a fost în fotografie.
Din punct de vedere al securității nu toate tehnologiile de recunoaștere facială sunt capabile să distingă între fața umană și o fotografie. Dezvoltatorii de la compania Trueface.AI au încercat să abordeze această problemă folosind o tehnologie de învățare profundă care a făcut posibilă diferența dintre o față umană și o fotografie.
Recunoașterea feței este în creștere ca zonă de cercetare majoră datorită gamei largi de aplicații în domeniile comerciale. Un rol important în serviciile care necesită un nivel ridicat de precizie îl vor avea roboții cu tehnologie de recunoaștere facilă deoarece pot contribui la reducerea costurilor și pot fi atribuite sarcini dificile oamenilor.
Descrierea domeniului
Termenii de recunoașterea și detectarea feței sunt folosiți ca și sinonime, dar există unele diferențe între aceste cuvinte. Detecția feței se referă la tehnologia informatică care poate identifica prezența fețelor umane în cadrul imaginilor digitale. Aplicațiile de detectare a feței utilizează algoritmi pentru detectarea chipurilor umane în imagini mai mari. Aceste imagini pot conține numeroase obiecte care nu sunt fețe cum ar fi peisaje, clădiri și alte părți ale oamenilor. Detectarea feței este un termen mai larg decât recunoașterea feței. Acest termen înseamnă că un sistem este capabil să identifice faptul că există o figură umană prezentă într-o imagine. Detectarea feței are mai multe aplicații, dintre care recunoașterea feței este un exemplu. Alte aplicabilități pot fi focalizarea automată a camerelor, numărarea a câte persoane au intrat intr-o anumită zonă sau în scopuri de marketing[7].
Algoritmii de detectare a feței sunt complecși și încep adesea prin căutarea ochilor umani. Ochii constituie una dintre cele mai ușoare caracteristici de detectat. După detectarea ochilor algoritmul încearcă să detecteze regiuni ale feței, inclusiv sprâncenele, gura, nasul, nările și irisul. Odată ce algoritmul presupune că a detectat o regiune facială poate aplica apoi teste suplimentare pentru a valida dacă a detectat de fapt o față[7].
Recunoașterea feței descrie o tehnologie biometrică. Se încearcă să se stabilească a cui este fața. Procesul funcționează utilizând o aplicație informatică care captează o imagine digitală dintr-o bază de date cu înregistrări stocate. Chiar dacă recunoaștera facială are o marjă de eroare, se poate determina cu exactitate când există șanse mari ca fața persoanei să se potrivească cu o persoană din baza de date. Sistemele de recunoaștere facială utilizează detectarea feței, nu toate sistemele de detectare a feței au o componentă de recunoaștere facială[7].
Detecția fețelor
Detectarea feței poate fi privită ca un caz specific de detectare a clasei de obiecte. În detectarea de obiecte de clasă, sarcina este de a găsi locațiile și dimensiunile tuturor obiectelor dintr-o imagine care aparțin unei clase date. Pentru a găsirea fețelor se pune accent pe identificarea fețelor umane frontale. Orice modificare a caracteristicilor faciale în baza de date va invalida procesul de potrivire[19].
În primul rând, zonele posibile ale ochilor umani sunt detectate prin testarea tuturor regiunilor din vale în imaginea de nivel gri. Apoi, algoritmul genetic este folosit pentru a genera toate posibilele regiuni ale feței care includ sprâncenele, irisul, nările și colțurile gurii. Fiecare posibil candidat al feței este normalizat pentru a reduce atât efectul fulgerului, care este cauzat de iluminarea neuniformă cât și efectul de șiret, care se datorează mișcării capului. Simetria feței este măsurată, iar existența diferitelor trăsături faciale este verificată pentru fiecare candidat față[19].
Procesul de detecție a feței este unul complex și poate fi vizualizat în figura 1.
Sursa: http://www.ehu.eus/ccwintco/uploads/e/eb/PFC-IonMarques.pdf
Figura 1: Procesul de detecție a feței
Detecția feței este utilizază în captura de mișcare a feței, recunoaștere facială, fotografie, marketing. În domeniul fotografiilor detecția este utilizată pentru autofocus. Comercianții sunt de asemenea interesați de acest domeniu având unele infromații depre populație.
Recunoașterea fețelor
Recunoașterea feței este un termen care include unele probleme. Intrarea unui sistem de recunoaștere a feței este întotdeauna o imagine sau un flux video. Rezultatul este o identificare sau o verificare a subiectului sau a subiectelor care apar în imagine sau video. Unele abordări definesc un sistem de recunoaștere a feței ca un proces în trei etape( figura 2)[20].
Sursa: http://www.ehu.eus/ccwintco/uploads/e/eb/PFC-IonMarques.pdf
Figura 2: Prezentarea unui sistem de recunoaștere facială
Algoritmii de recunoaștere facială pot fi clasificați fie ca bază de geometrie fie ca șablon bazat pe algoritmi. Metodele bazate pe șabloane compară imaginea de intrare cu un set de șabloane. Metodele bazate pe metode geometrice analizează caracteristicile locale ale feței și relațiile lor geometrice. Modelele de recunoaștere a feței pot fi împărțite pe bază de aparență sau pe bază de algoritm model. Elementul diferențial al acestor metode este reprezentarea feței. Metodele bazate pe aparență reprezintă o față în câteva imagini cu intensitate brută. O imagine este considerată un vector de dimensiuni mari. Apoi tehnicile satisfăcătoare sunt de obicei utilizate pentru a obține un spațiu caracteristic din distribuția imaginilor. Imaginea eșantionului este comparată cu imaginea de învățare. Pe de altă parte, abordarea bazată pe modele încearcă să modeleze o față umană. Eșantionul nou este montat pe model iar parametrii sunt utilizați pentru recunoașterea imaginii. Metodele de apariție pot fi clasificate ca liniare sau neliniare, în timp ce a doua categirie pote fi 2D sau 3D[20].
Analiza fețelor
După etapele de detecție și recunoaștere facială următoarea etapă este analiza feței. Aproape toate platformele de recunoaștere facială oferă o analiză semantică a fețelor. Se oferă termeni precum vârsta, sexul, expresiile faciale, rasa umană, etc.
Acestă analiză este foarte utilă în domeniul de marketing. Informațiile depre un client sau un călător erau dificil de aflat, dar cu ajutorul sistemele de recunoaștere facială aceste informații sunt foarte ușor de detectat.
Platforme existente
Kairos
Kairos oferă dezvoltatorilor o modalitate de a adăuga analiza feței în aplicațiile lor. Platforma Human Analytics permite integrarea datelor de emoție, identitate și demografice în produsele software. Prin intermediul viziunii pe calculator, Kairos poate recunoaște și măsura persoanele din orice film, imagine sau fotografie. Conceptul pe care se bazează acestă platformă este simplu și presupune trimiterea de imagini sau fișiere video în api-ul folost de Kairos, se analizează fețele găsite cu ajutorul unui algoritm, iar rezultatele sunt returnate sub formă de fișier json. Datele obținute pot fi folosite pentru a căuta și compara fețele sau pentru a măsura caracteristici precum emoția, vârsta și sexul.
Platforma Kairos pune la dispoziția dezvoltatorilor servicii online de identificare a imaginii, dar și api-uri care utilizează apeluri REST. De asemenea Kairos are câteva biblioteci preconstruite care vin în spijinul programatorilor. Pentru a beneficia de serviciile oferite, utilizatorii trebuie să obțină o cheie unică pusă la dispoziție după ce își fac un cont pe pagina companiei Kairos. Dezvoltatorii de aplicații au la dispoziție o documentație și ajutor din partea companiei.
Această platformă conține o caracteristică cu ajutorul căreia oamenii pot interacționa cu sistemul în timp real. De asemenea se permite identificarea feței potrivind fețele cu deținătorii acelor fețe. Kairos detectează emoții precum furie, tristețe, frică plus altele. Vârsta și sexul sunt alte caracteristici puse la dispoziție. Se pot detecta mai multe fețe dintr-un grup de oameni. Ochii, nasul, gura, urechile, părul sunt detecate în imaginile unde apar persoane. Sentimentele faciale pozitive sau negative pot fi detectate de asemenea[9].
Cu ajutorul platformei Kairos aplicațiile sunt sigure, nivelul de securitate al datelor fiind bun. Kairos se găsește în afacerile moderne dintre care putem enumera cercetarea de marketing, autoturisme, bănci, sănătate și securitate[9].
Aceste servicii de analiză a imaginii puse la dispoziție de Kairos sunt folositoare dacă se dorește o analiză în timp real a unor imagini deoarece sunt oferite mai multe caracteristici. Pentru utilizatorii care nu au timp sau nu doresc să își facă un cont pot folosi foarte ușor platforma online. Aceasta este folositoare pentru o analiză medie a unor imagini.
Sursa: https://www.kairos.com/demos
Figura 3: Exemplu de recunoaștere faciă pentru platform online Kairos
API-ul Google Vision a fost lansat pe data de 2 decembrie 2015. Acesta permite dezvoltatorilor să înțeleagă conținutul unei imagini prin încapsularea unor modele de învățare într-un API REST ușor de folosit. Cu ajutorul instrumentelor se pot clasifica rapid imaginile în mii de categorii, se detectează obiecte și fețe individuale, se găsesc și se citesc cuvintele imprimate conținute în imagini. Fotografiile încărcate se pot integra în spațiul de stocare a imaginilor în Google Cloud Storage[10].
Platforma online pusă la dispoziție permite următoarele caracteristici pentru o imagine:
Detecția etichetelor: execută analiza conținutului imaginii pe întreaga imagine și
oferă etichete relevante( adică cuvinte cheie și categorii)
Detecția textelor: efectuează recunoașterea optică a caracterelor( OCR) și oferă textul extras, dacă este cazul
Detecția fețelor: detectează chipurile, oferă puncte cheie ale feței, orientare principală, probabilitate emoțională
Detecția reperelor: detectează repere geografice
Detecția siglelor: detectează siglele companiilor
Detecția web: căutare pe internet pentru imagini similare
Proprietățile imaginilor: calculează un set de proprietăți despre imagine( cum ar fi culorile dominante ale imaginii)
Detecția căutării sigure: determină proprietățile de căutare securizată a imaginii (adică probabilitatea ca o imagine să conțină violență sau nuditate)
Pentru a procesa imaginile, acestea trebuie convertite în format Base64. Aceasta înseamnă că datele binare ale imaginii sunt transformate în text, astfel încât acestea pot fi trimise la api-ul lor pentru a fi analizate. Opțiunile de identificare a etichetelor și a reperelor par a fi cele mai expresive. Fiecărei etichete i se alocă un scor( care este nivelul de încredere pe care algoritmul îl are despre cât de precis este)[11].
Platforma online oferă cele mai multe informații despre o imagine încărcată, cu un indice de precizie bun. Dacă utilizatorii doresc să afle cât mai multe caracteristici despre imagini acest serviciu de analiză este unul foarte folositor. Google Vision are și un dezavantaj și anume că pentru a creea aplicații locale acest api percepe o taxă de utilizare și trebuie activată facturarea înainte de utilizare.
Sursa: https://cloud.google.com/vision/docs/drag-and-drop
Figura 4: Exemplu de recunoaștere faciă pentru platform online Google
Microsoft
Pe data de 19 aprilie 2017 compania Microsoft a realizat două interfețe de servicii cognitive: API-ul Face și API-ul Computer Vision. Aceste servicii sunt disponibile pe portalul Azure. Microsoft oferă interfețe de programe a aplicațiilor ale serviciilor cognitive, care sunt menite să ofere dezvoltatorilor modalități de a aduăga funcții precum recunoașterea vorbirii, înțelegerea limbilor, detectarea sentimentelor.
Potrivit Microsoft API-ul Face ajută la detectarea și compararea chipurilor umane, la organizarea chipurilor în grupuri în funcție de similitudinea vizuală și la identificarea persoanelor marcate anterior în imagini. API-ul Computer Vision furnizează dezvoltatorilor instrumente pentru a înțelege conținutul oricărei imagini. Creează etichete care identifică obiecte, persoane precum celebrități sau acțiuni dintr-o imagine și realizează propoziții coerente pentru descriere. API-ul Computer Vision poate, de asemenea, să detecteze reperele și scrisul de mână în imagini[12].
Platforma Microsoft Face oferă următoarele facilicăți: detecția feței, recunoașterea feței, validarea feței, găsirea de fețe similare, gruparea de fețe, identificare fețelor, stocarea fețelor.
Detecția fețelor
API-ul Face detectează până la 64 de fețe umane cu locație de înaltă precizie a
feței într-o imagine. Imaginea poate fi specificată de fișier în octeți sau într-o adresă URL validă. Fiecare față detectată este încadrată într-un dreptunghi. Opțional, detecția feței extrage o serie de atribute legate de față, cum ar fi poziția, sexul, vârsta, părul facial și ochelarii[13].
Recunoașterea fețelor
Aceasă faciltate este utilizată în scară mare în multe domenii precum securitate, aplicații mobile și robotică. Sunt furnizate patru funcții de recunoaștere a feței: verificarea feței, găsirea de fețe similare, gruparea fețelor și identificarea persoanelor.
Validarea fețelor
Acestă facilitate permite o modalitate de comparare între două fețe detectate.
Găsirea de fețe similare
Având în vedere o față țintă detectată și un grup de fețe candidat, serviciul găsește un set mic de fețe care arată cel mai asemănător cu fața țintă. Sunt acceptate două moduri de lucru, matchFace și matchPerson. Modul matchPerson returnează fețe similare după aplicarea unui prag pentru aceeași persoană derivat din Face, iar modul matchFace ignoră pragul aceleași persoane și returnează fețele similare ale candidaților[13].
Gruparea fețelor
Având la dispoziție un set de fețe necunoscute, api-ul de grupare a feței le împarte automat în mai multe grupuri bazate pe similitudine. Fiecare grup este un subset distinct propriu al setului de fețe necunoscut original și conține fețe similare. Toate fețele din același grup pot fi considerate ca aparținând aceluiași obiect persoană[13].
Indetificarea fețelor
Aplicația Face API poate fi utilizată pentru a identifica persoane pe baza unei persoane detectate și a unei baze de date pentru persoane[13].
Stocarea fețelor
Această facilitate permite stocarea unor fețelor dar pe bază de abonament. Imaginile stocate au o taxă de 0.5 $ pe 1000 de fețe. Prețurile pentru depozitarea fețelor sunt proporționate zilnic.
Platforma Microsoft Vision poate fi folosită cu ușurință atât de dezvoltatori de aplicații software cât și de simple persoane care doresc să analizeze unele imagini din diferite puncte de vedere.
Sursa: https://azure.microsoft.com/en-us/services/cognitive-services/face/
Figura 5: Exemplu de recunoaștere faciă pentru platform online Microsoft
IBM Watson
IBM Watson este o platformă de inteligență artificială care oferă companiilor puterea de a accelera cercetarea. Platforma oferă întreprinderilor un control complet asupra a ceea ce contează pentru afacere și le permite acestora să păstreze dreptul de proprietate asupra datelor, instruirii, proprietății intelectuale și a informațiilor. Platforma bazată pe IBM Cloud ajută organizațiile să ia decizii mai informate și este destinată întreprinderilor din diferite sectoare, inclusiv finanțe, asistență medicală, energie, IoT, implicarea consumatorilor, educație, muncă și transport[14].
Platforma avansat AI permite întreprinderilor să profite de expertiza angajaților și să dezvolte o bază valoroasă a cunoștințelor lor. Acesta combină experiențele trecute cu cea mai recentă industrie de învățare pentru a crea o sursă profundă de cunoștințe la dispoziția tuturor angajaților, ori de câte ori au nevoie. Ea facilitează întreprinderile să țină la curent cu privire la posibilele riscuri, reglementări și amenințări. De exemplu, analiștii privind securitatea informatică pot termina ancheta amenințărilor semnificativ mai rapid și mai precis, în timp ce și alte sectoare pot profita de caracteristicile puternice de detectare a răspunderii și de reducere a riscurilor[14].
Serviciul de recunoaștere vizuală IBM Watson utilizează algoritmi de învățare profundă pentru a analiza imagini pentru scene, obiecte, fețe și alte tipuri de conținut. Răspunsul include cuvinte cheie care oferă informații despre conținut.
Sunt disponibile un set de modele care oferă rezultate foarte precise fără antrenament:
Model general: Clasificarea implicită din mii de clase.
Modelul feței: Analiză facială cu vârsta și sexul.
Model explicit (Beta): Dacă o imagine este nepotrivită pentru uz general.
Model alimentar (Beta): Specific pentru imaginile produselor alimentare.
Model text (beta privat): Extragere text din imagini[15].
Procesul de creare și utilizare a platformei este reprezentată în figura 6.
Sursa: https://console.bluemix.net/docs/services/visual-recognition/index.html#about
Figura 6: Procesul de creare a platformei IBM Watson
Acest serviciu de recunoaștere facială pus la dispoziție de IBM Watson poate fi utilizat pentru diferite aplicații și industrii precum fabricare, audit vizual, asigurare, comerț social, educație. Se pune accent mai puțin pe recunoaștere facială și mai mult pe un tip de model. În luna aprilie 2018 modelul de identificare facială a fost modificat. Informațiile de identitate care se referă la numele persoanei a fost eliminat, dar au adăugat un interval pentru vârsta unei persoane. În modelul anterior era o gamă fixă de 9 ani, iar în cel actual intervalul mediu de vârstă este de 4.9 ani.
Sursa: https://www.ibm.com/watson/services/visual-recognition/demo/#demo
Figura 7: Exemplu de recunoaștere faciă pentru platform online IBM
Clarifai
Platforma de inteligență artificială Clarifai permite construirea de programe pentru
recunoaștere vizuală. Aceasta este o tehnologie puternică de recunoaștere a imaginilor și videoclipurilor care poate fi folosită pentru a înbunătăți căutarea de pagini web și produse cu metadate și asemănări vizuale sau pentru a organiza colecția media. Calrifai pune la dispoziția utilizatorilor un model general de recunoaștere care identifică 10.000 de concepte de obiecte, emoții și teme, dar și un model de domeniu( Modelare, Demografie, Sigle, Celebritate, etc.). Pe lângă platforma online în care utilizatorii pot încărca imagini din spațiul local sau cu ajutorul adreselor de imagini Clarifai oferă un API cu ajutorul căruia se pot realiza aplicații complexe.
API-ul Clarifai oferă recunoașterea imaginilor și a videoclipurilor ca serviciu. Se utilizează inteligența artificială pentru a recunoaște conținutul vizual din imagini. Acesta se construie cu ajutorul unei idee simple. Mesajele de intrare, imaginile sau videoclipurile sunt trimise către serviciu de recunoaștere și se returnează predicțiile. Tipul de predicție se bazează pe modelul utilizat. De exemplu, dacă se utilizează datele introduse prin modelul „alimente”, predicțiile vor conține concepte cunoscute de modelul „alimente”. Dacă se rulează modelul „culoare”, acesta va returna predicțiile despre culorile dominante din imaginea încărcată[16]. În figura 8 este prezentat modul de funcționare a API-ului Clarifai.
Sursa: https://clarifai.com/developer/guide/
Figura 8: Modul de funcționare a API-ului Clarifai
Din punctul de vedere al api-ului acestă platformă este cel mai ușor de utilizat. Pentru a beneficia de o cheie unică folosită în aplicații trebuie să vă creați un cont care durează doar câteva minute. Părerile găsite pe internet au fost foarte bune, clienții descriind api-ul Clarifai ca fiind puternic, robust și ușor de folosit.
Sursa: https://clarifai.com/models/demographics-image-recognition-model-c0c0ac362b03416da06ab3fa36fb58e3
Figura 9: Exemplu de recunoaștere faciă pentru platform online Clarifai
OpenCV
OpenCV( Open Source Computer Vision Library) este o viziune open-source pentru
calculator și o bibliotecă de software pentru învățarea mașinilor. OpenCV a fost construit pentru a oferi o infrastructură comună pentru aplicațiile de vizibilitate pe calculator și pentru a accelera utilizarea percepției mașinilor în produsele comerciale. Fiind un produs cu licență, OpenCV facilitează utilizarea și modificarea codului de către companii[17].
Biblioteca are peste 2500 de algoritmi optimizați, care includ un set cuprinzător de algoritmi de vizionare clasică și de ultimă generație, precum și de algoritmi de învățare a mașinilor. Acești algoritmi pot fi utilizați pentru a detecta și a recunoaște fețele, a identifica obiecte, a clasifica acțiunile umane în videoclipuri, a urmări mișcările camerei, a urmări obiectele în mișcare, a extrage modele 3D de obiecte, a produce nori de puncte 3D din camerele stereo, imaginea unei scene întregi, găsirea unor imagini similare dintr-o bază de date a imaginilor, eliminarea ochilor roșii din imaginile realizate cu ajutorul blițului, urmărirea mișcărilor ochilor, recunoașterea peisajelor și stabilirea marcatorilor pentru a suprapune cu realitatea augmentată, etc. OpenCV are mai mult de 47 mii de utilizatori iar numărul estimat de descărcări depășește 14 milioane. Biblioteca este utilizată extensiv în companii, grupuri de cercetare și organizații guvernamentale. Numeroase companii precum Google, Yahoo, Microsoft, Intel, IBM, Sony, Honda, Toyota utilizeă biblioteca OpenCV[17].
Principiile de detectare a feței folosesc clasificatori cascadă bazați pe caracteristici Haar. Acestă metodă de detectare a obiectelor a fost propusă de Paul Viola și Michael Jones în 2001. Inițial, algoritmul are nevoie de multe imagini pozitive( imagini ale fețelor) și imagini negative ( imagini fără chipuri) pentru a instrui clasificatorul, apoi se extrag caracteristici din ea. Pentru aceasta, sunt folosite caracteristicile Haar prezentate în figura 10. Fiecare caracteristică este o singură valoare obținută prin scăderea sumei de pixeli sub dreptunghiul alb din suma pixelilor sub dreptunghiul negru[18].
Sursa: docs.opencv.org 1
Figura 10: Diferite stagii a vizualizării
Pentru fiecare calcul al caracteristicilor trebuie găsită suma pixelilor sub triunghiuri albe și negre. Acest lucru s-a realizat intruducând imaginea integrală. Dar unele trasături calculate pot fi și irelevante. Fiecare caracteristică este aplicată tuturor imaginilor de antrenament. Pentru fiecare caracteristică se găsește cel mai bun prag care va clasifica fețele pozitive și negative. Totuși există erori sau clasificări greșite, dar se selectează cele care au o rată minimă de eroare. Clasificatorul final este o sumă ponderată a acelor clasificatori slabi.
Dacă am lua fiecare fereastă 24×24 și am aplica 6000 de caracteristici ar fi foarte inaficient. De aceea s-a introdus conceptul de casacdă a clasificatorilor. Nu mai sunt aplicate 6000 de caracteristici pe o imagine ci sunt grupate în diferite etape ale clasificatorilor și aplicate unul câte unul. Atunci când o fereastră trece toate etapele se poate spune că acea regiune este o față.
Chiar dacă algoritmul Viola-Jones folosit de platforma OpenCV pare greu de înțeles OpenCV vine ca un antrenor și detector. Se poate personaliza propriul clasificator pentru orice obiect cum ar fi mașină, avioane, etc. Pe pagina companiei se găsește o documentație folositoare pentru antrenarea clasificatorilor.
Comparații între platfome
Comparații generale
Fiecare platformă analizată pune la dispoziția utilizatorului o documentație care oferă
informații referitoare la caracteristicile furnizate. În urma analizei am realizat tabelul 1 de mai jos.
Tablul 1: Comparații generale între tehnologii de recunoaștere facială
Comaparații realizate pe domo
Majoritatea furnizorilor de tehnologie pentru recunoaștere facială pun la dispoziția utilizatorilor instrumente de testare bazate pe web. Se poate încărca o imagine iar aplicația web returnează caracteristicile imaginii. De asemenea utilizatorul poate descărca un fisier json în care se găsesc detaliile referitoare la imaginea încărcată.
Test 1
Primul test realizat a fost făcut în funcție de unghiul feței. Scopul acestui test a fost de a vedea care este unghiul pentru care fața nu mai este detectată. Au fost încărcate diferite imagini în care unghiul variază între 5 și 90 de grade.
Sursa: http://robotics.csie.ncku.edu.tw/Databases/FaceDetect_PoseEstimate.htm#Our_Database_
Figura 11: Fețe umane în care unghiul variază
Tablul 2: Rezultatele obținute pentru diferite unghiuri ale feței
Din acest test se poate spune că atât Google cât și IBM Waston au o precizie mai mare pentru detectarea feței chair dacă fața are un unghi de înclinație de 90. Pentru aplicația de la Google la un unghi de 85 se dă informația că în imagine este o față, dar și de la 90 fața este încadrată într-un dreptunghi și sunt detectate caracteristici cum ar fi urechea, bărbia, nasul, spâncenele, gâtul. Platformele online de la Kairos și Microsoft detectează fața până la un unghi de 60 respective 65, iar cea de la Clarifai detectează până la un unghi de 75. Dacă o persoană dorește o detecției precisă a feței poate pot folosi platormele online de la Google, IBM sau Clarifai.
Test 2
Al doilea test a fost făcut în funcție de vârstă și sex. Am folosit următorul set de imagini.
Sursa: 1
Figura 12: Fețe umane care au fost folosite pentru testare
În urma testelor realizate am obținut următorul tabelul 3.
Tablul 3: Rezulatele obținute pentru vârstă și sex
Am comparat rezultatele obținute, iar concluzia este că diferența de vârstă nu este mare, marja fiind de 2-4 ani( figura 13). Pentru platformele Kairso, Microsoft și Clarifai am observat că vârsta se schimbă și odată cu unghiul de înclinație al feței.
Figura 13: Variația vârstei pentru diferite platforme
Din testele făcute pentru vârstă am observat că pentru Imaginea 10( figura 12) în care se găsea o femeie în vârsta am observat că este o diferență mare între rezulatatul dat de Clafifai și celelalte platforme. Din acest motiv am decis să fac câteva teste pentru oameni cu vârstă peste 60 de ani. Am folosit fotografiile din figura 14. Rezulatatele obținute se pot observa în tabelul 4. Comparația dintre vârstele obținute se găsește în figura 15. Rezulatatele arată că sunt diferențe mari în ceea ce privește vârsta pentru persoanele cu o vârstă de peste 60 de ani. Platforma care oferă vârste mai apropiate de adevăr de cea de la Clarifai, iar cele mai eronate vârste le are Kairos. Pentru Microsoft aproape toate vârstele au fost de 71 de ani.
Sursa: 2
Figura 14: Fețe umane folosite pentru testare
Tablul 4: Vârstele obținute pentru persoane în vârstă
Figura 15: Variația vârstei pentru diferite platforme
Test 3
Acest test are ca scop detectarea feței în imaginile animate cu extensia gif.
Sursa: 3
Figura 16: Imagini cu extensia gif folosite pentru testare
Tablul 5: Rezulatele în urma încărcării imaginilor cu extensia gif
Cum se poate observa din tabelul 5 Microsoft și Google acceptă imagini animate dar trebuie să fie doar o singură față. Mai multe fețe nu sunt detectate dacă se găsesc într-o imagine cu extensia gif.
Test 4
Scopul acestui test este de a compara rezultatele imaginilor în care se găsesc diferite emoții precum bucurie, tristețe, surprindere. Imaginile folosite se găsesc în figura 17.
Sursa: http://vision.ucsd.edu/content/yale-face-database
Figura 17: Fețe cu diferite emoții
Tablul 6: Rezulatele obținute în urma detecției emoțiilor
Rezultatele obținute sunt asemănătoare, deci toate trei servicii recunosc cu apoximație emoția existenă în imagini.
Test 5
Acest test a fost făcut cu scopul de a verifica cât de bine sunt detectate fețele în fotografii
cu grupuri de persoane. Analiza a fost realizată pe un număr de 10 fotografii în care apăreau studenți și profesori din cadrul Universității Ștefan cel Mare Suceava. Rezulatatele pot fi vizualizate în tabelul 7 și figura 18.
Tabelul 7: Rezultatele obținute în urma analizei fotografiilor cu mai multe fețe
Figura 18: Analiza fotografiilor care conțin grupuri de persoane
În urma testelor făcute am ajuns la concluzia că platforma de la IBM și cea de la Clarifai detectează mai multe fețe, dar în unele cazuri nu aceleași fețe. Din punctul meu de vedere cea mai slabă detecție este cea de la Kairos. O problemă întâlnită a fost accea că instrumentele online de la Microsoft și Google nu suportă fotografii care au mărimea mai mare de 4 GB. De asemenea atunci când încarci o imagine pe platforma de la Kairos poza este tăiată.
În cazul detecției fețelor pentru grupuri de persoane un aspect foarte important îl are unghiul de înclinare al feței. Toate platformele testate au un indice scăzut de eroare dacă fața persoanelor are un unghi mic de înclinare. Totodată unghiul din care este facută fotografia contează pentru localizarea fețelor.
Diferențele dintre detecțiile realizare sunt prezenate în figurile următoare. Imaginile din fiecare figură sunt numerotate în funcție de platforma folosită. Poza analizată de platforma Kairos este numerotată cu 1, cu 2 este cea de la Microsoft, 3 pentru Google, 4 pentru IBM, iar 5 pentru Clarifai.
Figura 19: Rezultatele testelor pentru prima imagine folosită
Sursa: http://www.foto.usv.ro/Facultatea-de-Inginerie-Electrica-si-Stiinta-Calculatoarelor/StudACE/StudACE-2018/
Figura 20: Rezultatele obținute pentru a doua imagine
Sursa: http://www.foto.usv.ro/Facultatea-de-Inginerie-Electrica-si-Stiinta-Calculatoarelor/StudACE/StudACE-2018
Figura 21: Rezultatele obținute pentru a treia imagine folosită
Sursa: http://www.foto.usv.ro/Facultatea-de-Inginerie-Electrica-si-Stiinta-Calculatoarelor/CTF/CTF2016/IMG_6730
Figura 22: Rezultatele obținute pentru a patra imagine
Sursa: http://www.foto.usv.ro/Facultatea-de-Inginerie-Electrica-si-Stiinta-Calculatoarelor/CTF/CTF2017/IMG_9818
Figura 23: Rezultatele obținute pentru a cincea imagine
Sursa: http://www.foto.usv.ro/Facultatea-de-Inginerie-Electrica-si-Stiinta-Calculatoarelor/Hard-Soft/Hard-Soft-2018/IMG_8007
Figura 24: Rezultatele obținute pentru a șasea imagine
Sursa: http://www.foto.usv.ro/Facultatea-de-Inginerie-Electrica-si-Stiinta-Calculatoarelor/Hard-Soft/Hard-Soft-2018/IMG_8360
Figura 25: Rezultatele obținutepentru a șaptea imagine
Sursa: http://www.foto.usv.ro/Facultatea-de-Inginerie-Electrica-si-Stiinta-Calculatoarelor/DAS-Conference/DAS-2018/IMG_8708
Figura 26: Rezultatele obținute pentru a opta imagine
Sursa: http://www.foto.usv.ro/Facultatea-de-Inginerie-Electrica-si-Stiinta-Calculatoarelor/Promotii/Electrotehnica-2002/acp
Figura 27: Rezultatele obținute pentru a noua imagine folosită
Sursa: http://www.foto.usv.ro/Intalniri-de-lucru/transfer_tehnologic_2011/Prezentare-lucrari-2011/DSC08003
Figura 28: Rezultatele obținute pentru a zecea imagine
Comparații realizate pe aplicații locale
Toate seriviciile de recunoaștere facială pun la dispoziția dezvoltatorilor de aplicații software api-uri. Fiecare platformă dispune de o documentație cu ajutorul căreia se pot realiza aplicații după preferința dezvoltatorilor. Librăriile necesare pentru aplicații pot fi descărcate doar dacă ai un cont pe respectivele platforme. O dată creat contul utilizatorii pot cere o cheie unică care trebuie folosită în aplicația proprie. Termenul de valabilitate a acestei chei diferă de la platformă la platformă. Unele servicii precum Clarifai, OpenCV sau IBM oferă o cheie pentru un timp nedeterminat. De asemenea Microsoft oferă o cheie gratis dar pentru un timp foarte scurt de 7 zile. Acest api poate fi foarte util de folosit în scopuri academice. Spre deosebire de celelalte servicii, cel de la Google nu poate fi achiziționat gratuit, fiind nevoie de plată. Dar Google Vision are o platformă online foarte bună, unde se pot testa imaginile.
Am creat trei aplicații în limbajul de programare Python. Scopul acestora a fost acela de a testa timpul de răspuns pentru detectarea fețelor dintr-un set de imagini. Am comparat rezultatele pentru serviciile de la IBM Watson, Claifai și OpenCV. Testele au fost realizate pe 100 de imagini care conțin una sau mai multe fețe. Rezulatatele sunt prezentate în tabelul 7.
Table 8: Timpii de răspuns pentru detectarea fețelor dintr-un set de imagini
După cum se poate observa timpii de răspuns diferă pentru cele 3 servicii. Diferența este mare deoarece fiecare oferă API oferă și alte informații pe lângă detectarea fețelor. De exemplu pentru figura 32 rezulatele sunt următoarele:
Figura 29: Rezulatate obținute pentru API-ul de la IBM Figura 30: Rezulatate pentru aplicația OpenCV
Figura 31: Rezulatate obținute pentru API-ul de la Clarifai
Sursa: 4
Figura 32: Imagine folosită pentru test
API-ul de la IBM oferă informații depre vârsta și genul persoanei identificate, locația feței. Cu ajutorul bibliotecii de la OpenCV se pot detecta fețele persoanelor și acestea se încadrează într-un pătrat. Aplicația de la Clarfai face doar detecția facială.
Dacă utilizatorii doresc detecția facială și un timp de răspuns mic biblioteca OpenCV poate fi ușor folosită. Pentru răspunsuri detaliate recomand folosirea api-ului de la IBM.
Concluzii
În această lucrare am realizat un studiu comparativ pentru unele tehnologii de recunoaștere facială aflate în momentul actual pe piață. Producători precum Google, IBM, Microsoft, Clarifai, Kairos, OpenCV oferă servicii similare pentru analiza vizuală a imaginilor. Scopul lucrării a fost analiza din mai multe considerente a acestor servicii de recunoaștere vizuală. Am comparat din puntul de vedere al detecției și recunoașterii faciale, dar și din punct de vedere demografic.
Deoarece platformele considerate au pus la dispoziția utilizatorilor pagini online pentru analiza imaginilor, primele teste au fost făcute pe aceste demo-uri. În primul test am luat în considerare unghiul de înclinare al feței. Din acest test a rezultat că serviciul de la Google este cel mai bun din punctul de vedere al poziței faciale, acceptând un unghi de închinație până la 85. Al doilea test a fost realizat pentru analiza vârstei persoanelor. Google Vision nu dispune de analiza vârstei. Celelalte platforme determină vârsta cu aproximație, fiind o diferență între ele de 3-4 ani. Rezultatul testului trei a fost că doar Google și Microsoft acceptă imagini animate cu extensia gif. Testul patru a fost pentru a compara analiza emoțiilor dintr-o imagine. Platforma de la Kairos detectează emoții doar dacă este o singură persoană în imagine. Rezulatatele analizei pentru fiecare platformă sunt măsurate diferit, de exemplu Kairos oferă rezulatate pentru fiecare emoție( bucurie, surpriză, tristețe, furie, dizgust, teamă) între 0 si 100, Google oferă o afirmație pentru unele emoții detectate precum bucurie, furie, tristețe sau surpriză. Toate acestea au un coeficient de încredere. Microsoft are un sistem diferit de notare avât un nota între 0.0 și 1.0 pentru următoarele emoții: furie, dispreț, dezgust, teamă, fericire, tristețe, surpriză sua neutru. Testul cinci a fost realizat pentru a face o comparație din punctul de vedere al detecției unor grupuri de persoane. Concluzia din acest test a fost că platforma de la IBM și cea de la Clarifai detectează cele mai multe fețe.
Pe lângă testele realizate pe platformele online am creat trei aplicații în limbajul Python cu scopul de a testa timpul de răspuns al detecției faciale pentru IBM Watson, Clarifai și OpenCV. Am ales aceste platforme deoarece sunt cel mai ușor de utilizat la nivel de aplicații locale. Totodată acestea pun la dispoziție chei unice care nu expiră după un anumit interval de timp. Am dorit să realizez și cu API-ul de la Microsoft dar cheia expiră după 7 zile. Acest serviciu este de asemenea ușor de folosit fiind util în scop academic. O probelmă a fost și folosirea serviciilor de la Google, pentru a beneficia de cheie trebuia activat serviciul de facturare. Pentru studenții care doresc să realizeze un proiect cu tema în domeniul recunoașterii faciale serviciile de la Microsoft sunt de preferat.
Rezulatetele obținute în urma rulării programelor au fost diferite. La fiecare rulare am obșinut timpi diferiți pentru setul de imagini care a conținut 100 de fotografii. Cel mai mare timp a fost aproximativ 130 de secunde de la IBM, iar cel mai rapid timp a fost de 8 secunde de la OpenCV. Diferența mare de timpi este datorată faptului că aplicația de la pentru IBM detectează și aspecte precum vârsta și locația imaginii, ceea ce aplicația pentru OpenCV nu oferă, ea detectând doar fețele.
Lucrarea realizată ghidează studenți sau dezvolatatorii de aplicații software spre o tehonogie prezentă pe piață. Analizând comparațiile făcute fiecare persoană alege ce platformă dorește să folosească. De exemplu dacă un student dorește să realizeze o aplicație simpă pentru facultate realizată în C# în domeniul recunoașterii faciale poate alege serviciile de la Microsoft.
Acestă lucrare poate fi exinsă prin adăugarea unor comparații din alte puncte de vedere precum detecția facială în funcție de claritatea imaginilor. Cu ajutorul acestui proiect am acumulat noțiuni noi din domeniul recunoașterii vizuale care îmi voi fi de folos pe viitor. De asemenea m-am familiarizat cu limbajul de programare Python.
Bibiografie
https://www.nec.com/en/global/solutions/safety/face_recognition/index.html
https://www.nist.gov/sites/default/files/documents/2016/12/14/facerecognitionalgorithmssurpasshumans.pdf
https://www.techemergence.com/facial-recognition-applications/
https://en.wikipedia.org/wiki/Facial_recognition_system
https://www.digi24.ro/stiri/sci-tech/lumea-digitala/facebook-introduce-un-instrument-de-recunoasterea-faciala-848585
https://www.techemergence.com/facial-recognition-applications/
https://www.facefirst.com/blog/face-detection-vs-face-recognition/
https://www.codeproject.com/Articles/49128/Face-Recognition-Project-Introduction-To-Face-Reco
https://www.predictiveanalyticstoday.com/kairos/
https://cloud.google.com/vision/
https://www.zdnet.com/article/microsoft-makes-three-more-cognitive-services-generally-available/
https://docs.microsoft.com/en-us/azure/cognitive-services/face/overview
https://reviews.financesonline.com/p/ibm-watson/
https://console.bluemix.net/docs/services/visual-recognition/index.html#about
https://clarifai.com/developer/guide/
https://opencv.org/about.html
https://docs.opencv.org/3.4.1/d7/d8b/tutorial_py_face_detection.html
https://en.wikipedia.org/wiki/Face_detection
http://www.ehu.eus/ccwintco/uploads/e/eb/PFC-IonMarques.pdf
Surse pentru figuri
http://robotics.csie.ncku.edu.tw/Databases/FaceDetect_PoseEstimate.htm#Our_Databas_
https://www.kairos.com/demos
https://www.google.com/search?tbm=isch&q=leonardo+dicaprio+black+tie&spell=1&sa=X&ved=0ahUKEwjqzbO9mIPcAhWKJVAKHRRmBrIQBQgyKAA&biw=1366&bih=662&dpr=1#imgrc=9PbxBaPGdUjSfM:
https://cswww.essex.ac.uk/mv/allfaces/faces94.html
https://www.google.com/search?q=old+people&source=lnms&tbm=isch&sa=X&ved=0ahUKEwit1OnmYPcAhWJUlAKHfHlD9AQ_AUICigB&biw=1366&bih=613#imgrc=KXh5Nor4L2302M:
https://www.google.com/search?biw=1366&bih=613&tbm=isch&sa=1&ei=rI87W5TrJ5LWwQLts5XwDg&q=old+people+faces&oq=old+people+faces&gs_l=img.3..0i19k1l2j0i5i30i19k1l7j0i8i30i19k1.25744.26819.0.26971.6.6.0.0.0.0.101.526.5j1.6.0….0…1c.1.64.img..0.6.525…0j0i30k1.0.lElhKB1J4h0
https://www.google.com/search?biw=1366&bih=662&tbm=isch&sa=1&ei=65A7W9zLEY3ewALrq5bIAQ&q=ugh+white+people+&oq=ugh+white+people+&gs_l=img.3..0i19k1j0i30i19k1.2684.20058.0.20194.8.8.0.0.0.0.94.661.8.8.0….0…1c.1.64.img..0.8.657…0j0i30k1.0.SftPDgmGNeY#imgrc=Z-ZbsWjmxj6TjM:
https://www.google.com/search?biw=1366&bih=662&tbm=isch&sa=1&ei=Z5E7W4b-G87SwAKvuaHoCA&q=professional+GIFspro&oq=professional+GIFspro&gs_l=img.3…15847.16979.0.17205.5.5.0.0.0.0.95.311.4.4.0….0…1c.1.64.img..1.2.169…0i30k1j0i5i30k1j0i8i30k1j0i19k1j0i5i30i19k1j0i8i30i19k1.0.Y15ZbYzMjsw#imgrc=G3fD-qzuAQ90bM:
https://www.google.com/imgres?imgurl=https://okmagazine.ro/wp-content/uploads/2016/01/angelina-jolie-1.jpg&imgrefurl=https://okmagazine.ro/people/cele-mai-grele-momente-din-viata-angelinei-jolie/index.html&h=1137&w=800&tbnid=vQO_sZ-W6QF1JM:&q=angelina+jolie&tbnh=186&tbnw=130&usg=__OuR5gHLuqXYbuiJwB6uHSHkFDyw%3D&vet=10ahUKEwii8-Gbj4PcAhUQKywKHUfZD9sQ_B0IvQEwDA..i&docid=F–SlnNqkztkKM&itg=1&sa=X&ved=0ahUKEwii8-Gbj4PcAhUQKywKHUfZD9sQ_B0IvQEwDA
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Studiu comparativ al unor soluții de recunoaștere facială [303216] (ID: 303216)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
