În viziunea computerizată , extragerea caracteristicilor vizuale (sau extragerea caracteristicilor vizuale în limba engleză) constă din transformări matematice calculate pe pixelii unei imagini digitale . Caracteristicile vizuale permit, în general, să se țină cont mai bine de anumite proprietăți vizuale ale imaginii, utilizate pentru prelucrarea ulterioară în sfera aplicațiilor, cum ar fi detectarea obiectelor sau căutarea de imagini de către conținut . Din anii 2010, marea majoritate a muncii în viziunea pe computer se bazează pe caracteristici care sunt învățate de rețelele convoluționale pe baze de date cu imagini mari, în conformitate cu principiile învățării profunde .
De obicei, se face distincția între caracteristicile globale care sunt calculate pe întreaga imagine și caracteristicile locale care sunt calculate în jurul punctelor de interes . De asemenea, putem vorbi de caracteristici semi-locale atunci când acestea sunt extrase în zone restricționate ale imaginii, rezultate dintr-o segmentare a imaginii în regiuni sau pur și simplu conform unei grile arbitrare.
Distincția dintre caracteristicile globale și locale prezintă un interes taxonomic . Caracteristicile locale se disting prin faptul că sunt distincte, robuste la ocluzii (deoarece există multe într-o imagine sau regiune) și nu necesită segmentare. Un descriptor local calculat la fiecare pixel al unei imagini sau al unei regiuni obținut prin segmentare, apoi acumulat într-o histogramă este, prin urmare, o descriere globală a imaginii sau a regiunii .
Luarea în considerare a culorilor imaginilor a fost, în mod istoric, una dintre primele caracteristici utilizate pentru cercetarea imaginilor bazate pe conținut și produce încă rezultate uneori spectaculoase pe anumite baze. În 1991, Swain și Ballard au propus să folosească o histogramă de culoare pentru acest tip de sarcină. Reprezintă distribuția generală a culorilor în imagine. Calculul său constă într-o cuantificare a spațiului de culoare ales ( RGB de exemplu) urmată de calcularea histogramei pixelilor astfel transformați. De exemplu, dacă luăm în considerare o imagine clasică RGB și cuantificăm fiecare plan de culoare la 4 coșuri, histograma rezultată va avea o dimensiune . Dacă imaginea este codificată inițial pe 24 de biți (valoarea fiecărui plan este în interval ), histograma de culoare pe 64 de biți ar putea fi reprezentată printr-un „cub” :
roșu | |||||||||||||||||
0-63 | 64-127 | 128-191 | 192-255 | ||||||||||||||
Verde | Verde | Verde | Verde | ||||||||||||||
0-63 | 64-127 | 128-191 | 192-255 | 0-63 | 64-127 | 128-191 | 192-255 | 0-63 | 64-127 | 128-191 | 192-255 | 0-63 | 64-127 | 128-191 | 192-255 | ||
Albastru | 0-63 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
64-127 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | |
128-191 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | |
192-255 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
Fiecare culoare reprezintă unul dintre cele 64 de coșuri cuantificate, iar x fiind apoi numărul de pixeli ai imaginii corespunzătoare acestui coș. În practică, acest descriptor este în general reprezentat de un vector monodimensional cu 64 de dimensiuni.
cod de octavă calculând o histogramă de culoare % I = double ( imread('xxx.jpg')); quant=4; nb_bin=quant^3; Iq = floor(I/nb_bin); Iq = Iq(:,:,1) + quant*Iq(:,:,2) + quant*quant*Iq(:,:,3); [NN, XX] = hist(Iq(:),nb_bin);Mulți descriptori pot fi derivați din reprezentarea histogramei, dintre care mai mulți au fost incluși în modelul experimental al standardului MPEG-7 . Acestea includ:
Încă din 1995, s-a propus utilizarea momentelor calculate într-un spațiu de culoare dat pentru a caracteriza imaginile. În general, ne restrângem la primele două sau trei momente ( medie , varianță , asimetrie sau chiar momentul de ordinul 4 numit kurtosis ), dar acestea sunt calculate în fiecare dintre cele trei planuri ale spațiului de culoare ales. Un posibil rafinament este împărțirea imaginii în funcție de o grilă și calcularea acestor momente în fiecare celulă.
Se observă culoarea unui pixel , să definim setul . Astfel înseamnă că pixelul p al imaginii I are o culoare c . Să luăm în considerare o valoare a distanței dintre pixeli fixată a priori. Distanța utilizată este de exemplu definită pentru doi pixeli și cu . Corelograma pentru și este apoi definit de:
Aceasta reflectă probabilitatea ca un pixel la o distanță k de pixelul luat în considerare să fie colorat . Mărimea corelogramei este .
Autocorelograma este definită de:
Necesită spațiu pentru comandă .
Descrierea formularelor necesită identificarea prealabilă a regiunilor. Acesta poate fi rezultatul segmentării imaginii sau al detectării contururilor acestora. Putem apoi caracteriza regiunile prin intermediul unor indici diferiți, cum ar fi orientarea lor principală (de exemplu, prima lor axă corectă ), simetria lor sau momentele lor Zernike .
O metodă de descriere utilizată în mod deosebit este cea propusă de Mokhtarian, numită Spațiu la scară de curbură. Acesta constă în descrierea unei regiuni în funcție de variațiile de curbură ale conturului său. Pentru o curbă plană în coordonate parametrice într-un sistem de coordonate ortonormale , curbura este exprimată prin:
.Această descriere este invariantă în rotație și traducere. În ceea ce privește zoomul, este necesar să se standardizeze cel puțin după lungimea conturului. Mai important, descriptorul este de obicei calculat la scări diferite, fiecare corespunzând convoluției de către un nucleu gaussian.
Definiția texturii nu este evidentă și depinde de scară. Există trei abordări pentru a defini noțiunea de textură. În linia lucrării de pionierat a lui Haralick, o primă abordare consideră o textură rezultată dintr-un proces stocastic și încearcă să le descrie în ceea ce privește proprietățile statistice ale valorilor și pozițiilor relative ale pixelilor.
A doua abordare presupune existența primitivelor fundamentale care fac posibilă descrierea texturilor, cum ar fi Textonii definiți de Julesz. Prin urmare, o textură dată este descrisă ca o combinație complexă a acestor primitive, exprimată de exemplu cu grafice .
O abordare mai recentă este mai degrabă inspirată de percepția vizuală și tinde să explice procesul de formare a texturii din punct de vedere uman.
O textură poate fi descrisă statistic, luând în considerare modul în care nivelurile de gri ale imaginii se organizează unul în raport cu celălalt. Considerăm un operator de poziție p care face posibilă definirea unei matrice care numără de câte ori un pixel de nivel de gri i este prezent la poziția p a unui pixel de nivel j . Dacă matricea este normalizată între 0 și 1, vorbim despre o matrice de co-apariție a nivelului de gri . Poziția relativă a doi pixeli poate fi definită și printr-un unghi și o distanță d . De exemplu, dacă luăm în considerare trei niveluri posibile de gri și imaginea definită de:
Iar operatorul este în dreapta (definit și de un unghi și o distanță de pixeli), atunci matricea de co-apariție (non-normalizată) este:
3 al matricei semnificând găsim trei ori un pixel din valoarea 2 (deci în coloana a treia) , la dreapta unui pixel de valoare 1 (prin urmare , în al doilea rând).
Din această matrice de coincidență, este posibil să se definească mulți descriptori, cum ar fi cei enumerați în acest tabel:
Operator | Formulare |
---|---|
Maxim | |
Diferența de ordine k | |
Entropie | |
Uniformitate |
O altă abordare statistică utilizată pe scară largă este modelul MSAR (Multiresolution Simultaneous Autoregressive Models) folosit, dincolo de recunoașterea texturii, pentru a recunoaște scenele naturale.
Abordare structuralăAceastă abordare presupune existența primitivelor fundamentale pentru descrierea texturilor. Unul dintre primele exemple de astfel de primitivi a fost textonul propus de Julesz. O textură dată este descrisă ca o combinație complexă a acestor primitive, exprimată de exemplu cu grafice . Aceste grafice pot fi apoi utilizate ca descriptori ai texturii.
Abordare spectralăExprimarea periodicităților și a altor regularități într-o imagine sau într-un semnal are loc în mod natural în cadrul analizei spectrale . Astfel, o transformată Fourier discretă a imaginii poate fi o bază pentru realizarea descriptorilor. Cu toate acestea, este mai frecvent să se utilizeze un set de filtre Gabor dispuse la mai multe scale și orientări. Acest lucru face posibilă în special identificarea „trăsăturilor perceptive majore”. Lucrările au arătat că un descriptor bazat pe o astfel de descriere spectrală ar putea explica structura spațială dominantă a unei scene naturale.
O alternativă la transformata Fourier este de a calcula transformata de cosinus discret (DCT). În practică, descriptorii pe baza coeficienților DCT au făcut posibilă discriminarea imaginilor interioare și exterioare, a imaginilor peisajelor urbane față de peisajele naturale și, combinate cu alți descriptori, mai multe categorii de scene naturale simultan.
Caracterizarea unei imagini poate fi calculată într-un număr limitat de pixeli. Pentru aceasta, este mai întâi necesar să se detecteze zonele de interes ale imaginii și apoi să se calculeze un vector caracteristic în fiecare dintre aceste zone. Aceste zone de interes sunt, de exemplu, marginile sau punctele marcante ale imaginii (zone cu contrast ridicat). Ele pot fi, de asemenea, puncte luate aleatoriu sau regulat în imagine (așa-numita eșantionare densă ).
Vectorul caracteristică conține uneori date din detecție, cum ar fi orientarea marginii sau magnitudinea gradientului în zona de interes. În general, vectorul caracteristic într-un pixel este calculat pe o vecinătate a acestui pixel, adică dintr-o imagine centrată pe acest pixel. Poate fi calculat la diferite scale pentru a elimina factorul de zoom. Dintre caracteristicile locale calculate în prezent, există modele utilizate anterior la nivel global, cum ar fi histograme de culoare sau vectori care reprezintă orientarea gradienților nivelurilor de gri.
Anumite metode precum SIFT sau SURF includ atât detectarea unei zone de interes, cât și calculul unui vector caracteristic în fiecare dintre aceste zone. În ceea ce privește vectorul caracteristic, SIFT-urile sunt aproximativ o histogramă a orientărilor gradientului, iar SURF-urile constau din calculul de aproximare a undelor Haar . Într-un mod similar, tiparele de biți locali sunt un calcul al co-apariției nivelurilor locale de gri ale unei imagini, iar HOG-urile sunt histograme ale gradienților orientați, destul de asemănători cu SIFT-urile, calculate folosind eșantionare densă.
Descrierea unei imagini prin intermediul caracteristicilor locale are, în general, o dimensiune variabilă, în funcție de numărul de puncte de interes extrase (de fapt, acest număr este mai mare decât dimensiunea descriptorului local). O astfel de reprezentare nu este, prin urmare, adecvată pentru alimentarea algoritmilor de învățare utilizați în mod convențional ( SVM , boosting etc.). Pentru a reveni la o reprezentare într-un spațiu vectorial de dimensiuni fixe, folosește tehnici de agregare a descriptorilor, cum ar fi cele ale sacilor de cuvinte ( sac de visterms ). Rezultatul unei astfel de acumulări este deci o caracteristică generală a unei imagini sau a unei părți (regiune) a imaginii.
În 2012, campania internațională de evaluare ImageNet Large Scale Recognition Visual Challenge a fost câștigată folosind o abordare de rețea convoluțională (CNN) care a fost învățată prin progresele recente în învățarea profundă . Îmbunătățirea performanței este deosebit de marcată în comparație cu anii precedenți. La scurt timp după aceea, se arată că un strat al unei rețele convoluționale pre-învățate pe ImageNet poate fi folosit ca vector de reprezentare a unei imagini, în conformitate cu o schemă de transfer de învățare , și astfel să obțină performanțe niciodată până acum. imagini din câmpul viziunii computerizate. Din această perioadă, marea majoritate a muncii în domeniu utilizează, prin urmare, vectori de caracteristici învățați pe imagini naturale prin intermediul unei rețele convoluționale, iar caracteristicile „desemnate manual” devin foarte minore, cu excepția domeniilor de aplicație foarte specifice.
Caracteristicile imaginilor extrase conform metodelor explicate mai sus sunt utilizate în multe domenii ale viziunii computerizate.
Asociate cu imagini adnotate, acestea pot fi utilizate ca intrare într-un algoritm de învățare supravegheat pentru clasificare . Aceasta poate fi utilizată în special pentru a detecta conținutul lor și în special obiectele prezente în imagine . În aceeași ordine de idei, dar în zone mai specifice, ele pot fi utilizate pentru a detecta fețe sau persoane .
Fiind capabili să servească drept semnătură de imagine, acești descriptori sunt folosiți și în căutarea de imagini după conținut .
În general, acestea sunt tehnologii de bază utilizate în multe domenii în care este implicată viziunea pe computer: robotică , supraveghere video , viziune automată , recunoaștere optică a caracterelor etc.