În această postare pe blog, vom analiza simplu și direct principiile și procesele din spatele modului în care computerele recunosc fețele umane.
Ce principii stau la baza recunoașterii faciale?
Probabil ai jucat cel puțin o dată în copilărie un joc în care trebuia să completezi o față umană. În acest joc, mai întâi selectezi o formă a feței, apoi alegi coafura, ochii, nasul și gura unul câte unul și le plasezi pe față. Comutând între diverse coafuri, ochi, nasuri și guri, poți crea fața dorită. Modul în care computerele recunosc și compară fețele nu este mult diferit de acesta. Computerele identifică și stochează trăsăturile faciale; când este introdusă o nouă fotografie a unei fețe, acestea o compară cu trăsăturile stocate pentru a determina cine este persoana respectivă.
Un exemplu recent de tehnologie de recunoaștere facială ușor accesibilă este aplicația de recunoaștere facială (App). Aceste aplicații pre-extrag și stochează caracteristici cheie - cum ar fi contururile faciale, ochii, nasul și gura - din fotografiile vedetelor. Ulterior, când fața unei persoane este capturată cu ajutorul camerei, aplicația extrage trăsăturile faciale în același mod și le compară cu trăsăturile faciale stocate ale vedetelor pentru a identifica și afișa persoana care se potrivește cel mai bine.
Cum recunoaște un computer o față?
Acum, să examinăm procesul de recunoaștere facială al computerului. Recunoașterea facială constă în patru etape principale: introducerea datelor, detectarea feței, extragerea caracteristicilor și compararea.
În etapa de introducere a datelor, un singur cadru dintr-o fotografie sau un videoclip este transmis către computer prin intermediul unui dispozitiv de intrare. În general, cu cât rezoluția dispozitivului de intrare este mai mare și cu cât numărul de cadre pe secundă (FPS) este mai mare, cu atât fețele pot fi recunoscute mai precis. Acest principiu este similar cu modul în care o persoană cu o vedere bună poate recunoaște mai precis fața cuiva care stă departe.
În etapa de detectare a feței, sistemul verifică mai întâi dacă o față este prezentă în fotografia sau videoclipul introdus. Pentru a face acest lucru, identifică conturul feței și caracteristicile cheie, cum ar fi ochii, nasul și gura. Deși în prezent sunt utilizate diverse tehnici de detectare a feței, ne vom concentra aici pe metoda reprezentativă de detectare de tip Haar.
Metoda de detectare de tip Haar utilizează wavelet-uri Haar. O wavelet este un model dreptunghiular simplu, compus din regiuni alb-negru. Aceste regiuni alb-negru sunt utilizate pentru a identifica zonele dintr-o imagine în care apar diferențe de luminozitate. Prin aplicarea de wavelet-uri de diferite dimensiuni și forme pe întreaga imagine sau videoclip de intrare și apoi prin păstrarea doar a locațiilor în care diferența de luminozitate dintre regiunile alb-negru este semnificativă, sistemul poate detecta eficient conturul feței și trăsăturile faciale cheie, cum ar fi ochii, nasul, gura și sprâncenele. În plus, acest proces permite și extragerea informațiilor poziționale privind trăsăturile faciale.
De exemplu, atunci când se extrag informații despre ochi, regiunile negre ale undei sunt poziționate pentru a corespunde zonelor relativ întunecate - cum ar fi pupila - în timp ce regiunile albe corespund zonelor luminoase, cum ar fi pielea. Prin utilizarea acestor diferențe de luminozitate, poziția și forma ochilor pot fi detectate eficient.
Cum se extrag trăsăturile faciale?
Odată ce etapa de detectare a feței este finalizată, sistemul stabilește dacă să treacă la etapa de extragere a caracteristicilor.
În etapa de extragere a caracteristicilor, trăsăturile faciale sunt extrase pentru a utiliza pe deplin componentele faciale identificate în timpul etapei de detectare a feței. Spre deosebire de etapa de detectare a feței, acest proces implică o etapă de preprocesare. Deoarece unghiul de rotație, dimensiunea și intensitatea iluminării fețelor variază în funcție de fiecare fotografie sau videoclip, se efectuează un proces de normalizare pentru a le standardiza cât mai mult posibil. În plus, fotografiile sau videoclipurile color pot fi convertite în imagini alb-negru, după cum este necesar.
De exemplu, fotografia originală este convertită în tonuri de gri, apoi doar regiunea feței este decupată și redimensionată la o dimensiune uniformă, iar egalizarea histogramei este efectuată pentru a corecta luminozitatea. Folosind informațiile de poziție ale componentelor faciale obținute în timpul etapei de detectare a feței, trăsăturile faciale sunt extrase din fotografiile sau videoclipurile care au suferit această preprocesare.
Cum sunt folosite trăsăturile faciale extrase?
În etapa de comparare, informațiile despre aceste componente faciale extrase sunt fie stocate într-o bază de date (DB), fie comparate cu datele faciale existente pentru a identifica cea mai bună potrivire.
Am examinat acum procesul de recunoaștere facială bazată pe computer. Cu doar câteva decenii în urmă, ideea unui computer care distinge între oameni părea o tehnologie departe de realitate. Cu toate acestea, odată cu avansul rapid al hardware-ului, software-ului și tehnologiilor de inteligență artificială, recunoașterea facială este acum utilizată pe scară largă în diverse domenii - inclusiv smartphone-uri și laptopuri, precum și controlul accesului, serviciile financiare și securitatea aeroporturilor. Astăzi, tehnologia care permite computerelor să recunoască fețele umane nu mai este o poveste a viitorului, ci a devenit o tehnologie integrată în mod natural în viața noastră de zi cu zi.