Transformarea caracteristicilor invariante la scară

Scale -invariant feature transform ( SIFT ) este un  algoritm de detectare a caracteristicilor în viziunea computerizată pentru detectarea și descrierea caracteristicilor locale în imagini. Algoritmul a fost brevetat în Canada de către Universitatea din British Columbia [1] și publicat de David Lowe în 1999 [2] . Aplicațiile includ recunoașterea obiectelor cartografierea și navigarea , îmbinarea imaginilor modelarea 3D , recunoașterea gesturilor , urmărirea , identificarea faunei sălbatice și urmărirea pozițională .

În primul rând, punctele cheie ale obiectelor sunt extrase în SIFT dintr-un set de imagini de referință [2] și stocate în baza de date. Un obiect este recunoscut într-o nouă imagine comparând fiecare caracteristică din noua imagine cu caracteristicile din baza de date și găsirea caracteristicilor candidate pe baza distanței euclidiene dintre vectorii caracteristici. Din setul complet de potriviri din noua imagine, sunt selectate subseturi de puncte cheie care se potrivesc cel mai bine cu obiectul în ceea ce privește locația, scara și orientarea acestuia. Determinarea blocurilor de caracteristici adecvate este rapidă cu o implementare eficientă a tabelului hash a transformării Hough generalizate . Fiecare bloc de 3 sau mai multe caracteristici care este în concordanță cu obiectul și poziția acestuia este supus unei verificări detaliate suplimentare a potrivirii modelului, iar valorile aberante sunt eliminate. În cele din urmă, se calculează probabilitatea ca un anumit set de caracteristici să indice prezența unui obiect, care oferă informații despre acuratețea meciului și numărul de posibile rateuri. Obiectele care trec toate aceste teste pot fi considerate corecte cu un grad ridicat de certitudine [3] .

Prezentare generală

Pentru orice obiect dintr-o imagine, punctele caracteristice pot fi extrase pentru a oferi o „descriere caracteristică” a obiectului. Această descriere obținută din imaginea de antrenament poate fi apoi utilizată pentru a identifica obiectul atunci când se încearcă localizarea obiectului într-o imagine de testare care conține multe alte obiecte. Pentru o recunoaștere fiabilă, este important ca caracteristicile extrase din imaginea de antrenament să poată fi detectate chiar și cu modificări ale scalei imaginii, zgomotului și luminii. Astfel de puncte se află de obicei în zone cu contrast ridicat, cum ar fi marginile obiectelor.

O altă caracteristică importantă a acestor caracteristici este că pozițiile relative dintre ele nu ar trebui să se schimbe de la o imagine la alta. De exemplu, dacă doar cele patru colțuri ale unei uși ar fi folosite ca semne, acestea ar funcționa indiferent de poziția ușii. Dar dacă s-au folosit și punctele de la uși, recunoașterea ar putea eșua deoarece ușa ar putea fi deschisă sau închisă. De asemenea, caracteristicile plasate pe obiecte articulate sau flexibile, în general, nu funcționează dacă are loc vreo modificare a geometriei interne între două imagini din setul de procesare. Cu toate acestea, în practică, SIFT detectează și utilizează un număr mult mai mare de caracteristici de imagine, ceea ce reduce contribuția fiecărei erori cauzate de aceste modificări locale la eroarea totală a tuturor erorilor de potrivire a caracteristicilor.

SIFT [1] poate selecta în mod fiabil obiectele chiar și în prezența zgomotului și a suprapunerii parțiale, deoarece descriptorul de caracteristică SIFT este invariant la scalarea proporțională , orientarea , schimbările de iluminare și este parțial invariant la distorsiunile afine [2] . Această secțiune descrie algoritmul SIFT original și menționează câteva tehnici concurente disponibile pentru recunoașterea obiectelor zgomotoase și suprapuse.

Descriptorul SIFT se bazează pe măsurători de imagine în termeni de câmpuri receptor [4] [5] [6] [7] , pentru care se stabilesc cadre de referință invariante la scară locală [8] [9] prin selectarea unei scale locale [10] [11] [9] . O explicație teoretică generală a algoritmului este dată în lucrarea de proiect Scholarpedia despre SIFT [12] .

O sarcină Tehnică Avantaj
locația cheii / scară / rotație Diferența gaussiană / piramida scărilor spațiului / atribuirea direcțiilor precizie, stabilitate, scară și invarianță de rotație
distorsiuni geometrice estomparea/reeșantionarea planurilor locale de orientare a imaginii invarianta afina
indexare și potrivire cel mai apropiat vecin / căutare „Best Bin First” Eficienta/viteza
Identificarea clusterului Deși transformați votul modele de poziție fiabile
Validarea modelului / detectarea valorii aberante Cele mai mici pătrate liniare toleranță mai bună la erori cu o conformitate mai mică
Aprobarea ipotezei Analiza Bayesiană a Probabilității fiabilitate

Pașii de bază

Detectarea caracteristicilor invariante la scară

Metoda lui Lowe pentru generarea de caracteristici ale imaginii convertește imaginea într-un set mare de vectori de caracteristici, fiecare dintre care este invariant sub translația, scalarea și rotația imaginii (paralele), parțial invarianți la schimbările de iluminare și rezistenți la distorsiunile geometrice locale. Aceste caracteristici au proprietăți similare neuronilor din cortexul vizual principal care codifică forma de bază, culoarea și detectarea mișcării obiectelor în viziunea primatelor [13] . Cheile de locație sunt definite ca maxim și minim al funcției de diferență gaussiană aplicată în spațiul de unei serii de imagini netezite și re-redate. Punctele candidate cu contrast scăzut și punctele de-a lungul marginilor sunt eliminate. Punctele cheie localizate li se atribuie orientări dominante. Acești pași oferă mai multă stabilitate pentru punctele cheie pentru potrivire și recunoaștere. Descriptorii SIFT rezistenți la încălcările afine locale sunt apoi obținuți prin analizarea pixelilor din jurul locației cheie prin estomparea și reeșantionarea planurilor de orientare a imaginii locale.

Potrivirea și indexarea caracteristicilor

Indexarea constă în amintirea cheilor SIFT și identificarea cheilor corespunzătoare din noua imagine. Lowe a folosit o modificare a unui algoritm arbore k-dimensional numit metoda de căutare best-bin-first (BBF) [14] , care poate identifica cel mai apropiat vecin cu o probabilitate mare folosind doar un număr limitat de calcule. Algoritmul BBF folosește o ordine de căutare modificată pentru algoritmul arborelui k-dimensional, astfel încât zonele din spațiul caracteristică sunt căutate în ordinea distanței cele mai apropiate de locația solicitată. Această ordine de căutare necesită utilizarea unei cozi de prioritate bazată pe heap pentru a determina eficient ordinea de căutare. Cel mai bun candidat pentru fiecare punct cheie este găsit prin stabilirea celui mai apropiat vecin în baza de date a punctelor cheie din imaginile de antrenament. Cei mai apropiati vecini sunt definiți ca puncte cheie cu distanța euclidiană minimă față de vectorul descriptor dat. Probabilitatea ca o potrivire să fie corectă poate fi determinată prin calcularea raportului dintre distanța de la cel mai apropiat vecin și distanța până la al doilea cel mai apropiat vecin.

Low [3] a respins toate meciurile în care raportul distanței este mai mare de 0,8, ceea ce elimină 90% dintre potrivirile incorecte, în timp ce elimină mai puțin de 5% dintre potrivirile corecte. Pentru a îmbunătăți și mai mult performanța, algoritmul de căutare best-bin-first se oprește după verificarea primilor 200 de candidați ai celui mai apropiat vecin. Pentru o bază de date cu 100.000 de puncte cheie, aceasta oferă o creștere a vitezei în comparație cu căutarea exactă a vecinilor cu 2 ordine de mărime, în timp ce alegerea greșită nu depășește 5% din potrivirile corecte.

Identificarea clusterului prin votul transformării Hough

Transformarea Hough este folosită pentru a grupa un model de ipoteză robust pentru a găsi chei care sunt în concordanță cu o anumită poziție a modelului Transformarea Hough dezvăluie grupuri de caracteristici cu o interpretare consecventă, votând pentru fiecare caracteristică pentru toate pozițiile obiectelor care sunt în concordanță cu caracteristica. Când se găsesc grupuri de caracteristici cu voturi pentru aceeași poziție a unui obiect, probabilitatea unei interpretări corecte este mult mai mare decât pentru orice caracteristică individuală. Este creată o intrare de tabel hash care conține poziția estimată, orientarea și scara din ipoteza de potrivire. Un tabel hash este căutat pentru a identifica toate clusterele cu cel puțin 3 elemente în zonă, iar zonele sunt sortate în funcție de dimensiune descrescătoare.

Fiecare dintre punctele cheie SIFT definește o locație 2D, o scară și o orientare, iar fiecare punct cheie din baza de date are o intrare cu parametrii săi legați de imaginea de antrenament în care a fost găsit. Transformarea analogă rezultată din acești 4 parametri este doar o aproximare a spațiului de poziție complet cu 6 grade de libertate pentru obiectele 3D și, de asemenea, nu ia în considerare nicio deformație flexibilă. Astfel, Lowe [3] a folosit dimensiuni de 30 de grade pentru orientare pentru locație, un factor de 2 pentru scară și un factor de 0,25 pentru dimensiunea maximă de proiecție a imaginii de antrenament (folosind scala prezisă). Pentru cheile SIFT generate la scară mare, greutatea este dublă în comparație cu cheile pentru o scară mai mică. Aceasta înseamnă că o scară mai mare este capabilă să filtreze vecinii mai probabil să testeze la o scară mai mică. De asemenea, îmbunătățește performanța de recunoaștere, acordând mai multă greutate unei cântare mai puțin zgomotoase. Pentru a evita problema efectelor de frontieră la atribuirea unei zone, fiecare punct cheie analizează voturile pentru cele mai apropiate 2 zone din fiecare direcție, oferind un total de 16 valori pentru fiecare ipoteză și estompând și mai mult răspândirea poziției.

Validarea modelului celor mai mici pătrate

Fiecare cluster stabilit este supus unei proceduri de verificare care realizează o cu cele mai mici pătrate pentru parametrii de transformare afină asociați cu modelul de imagine. O transformare afină a unui punct model [xy] T într-un punct imagine [uv] T poate fi scrisă după cum urmează

unde translația paralelă este [tx ty] T , iar rotația afină, scara și întinderea sunt reprezentate de parametrii m1, m2, m3 și m4. Pentru a obține parametrii de transformare, ecuația poate fi rescrisă astfel încât toate necunoscutele să fie într-un vector coloană.

Egalitatea arată o singură potrivire, dar poate fi adăugat orice număr de potriviri, unde fiecare potrivire adaugă două rânduri la prima și ultima matrice. Sunt necesare cel puțin 3 potriviri pentru a obține o soluție. Putem scrie acest sistem liniar ca

unde A este o matrice cunoscută (de obicei m > n ), x este un vector de parametri n - dimensional necunoscut și b este un vector de dimensiune m - dimensional cunoscut.

Astfel, vectorul de minimizare este soluția ecuației normale

Rezolvarea sistemului de ecuații liniare este dată sub forma unei matrice numită matrice pseudoinversa pentru A , sub forma

,

care minimizează suma distanțelor pătrate ale proiecțiilor locației modelului la locațiile corespunzătoare ale imaginii.

Identificarea valorii aberante

Valorile aberante pot fi acum eliminate prin verificarea acordului dintre caracteristica fiecărei imagini și modelul dat de soluția parametrilor. Având în vedere o soluție pentru cele mai mici pătrate , fiecare potrivire trebuie să fie de acord cu nu mai mult de jumătate din intervalul de eroare care a fost utilizat pentru parametrii din regiunile de transformare Hough . Valorile aberante sunt eliminate, soluția celor mai mici pătrate este recalculată pentru punctele rămase și procesul se repetă. Dacă rămân mai puțin de 3 puncte după eliminarea valorii aberante , meciul este respins. În plus, faza de potrivire de sus în jos este utilizată pentru a adăuga orice alte potriviri care sunt în concordanță cu poziția modelului proiectat, care poate fi omisă de regiunea de transformare Hough din cauza aproximării transformărilor similare sau a altor erori.

Decizia finală de a accepta sau respinge modelul de ipoteză se bazează pe un model probabilistic detaliat [15] . Această metodă calculează mai întâi numărul așteptat de potriviri de eroare ale modelului de poziție, dat de dimensiunea modelului, numărul de caracteristici din regiune și precizia potrivirii. Analiza bayesiană oferă apoi probabilitatea ca obiectul să fie prezent pe baza numărului real de potriviri de caracteristici găsite. Modelul este acceptat dacă probabilitatea finală de interpretare corectă este mai mare de 0,98. Bazat pe metoda SIFT dezvoltată de Lowe, recunoașterea obiectelor dă rezultate excelente, cu excepția cazurilor de răspândire largă a iluminării și cu transformări non-rigide.

Semne

Detectarea și descrierea caracteristicilor locale ale imaginii pot ajuta la recunoașterea obiectelor. Caracteristicile SIFT sunt locale și se bazează pe manifestările obiectului în anumite puncte singulare. Sunt invariante la scalare și rotație. Ele sunt, de asemenea, rezistente la schimbările de iluminare, zgomot și mici modificări ale punctului de vedere. În plus față de aceste proprietăți, ele sunt foarte distinse, relativ ușor de recuperat și permit identificarea obiectelor cu puține erori. Ele sunt relativ ușor de găsit într-o bază de date (mare) de caracteristici locale, dar, totuși, dimensionalitatea mare a caracteristicilor poate cauza dificultăți, astfel încât algoritmi probabilistici precum arbori k-dimensionali cu best-bin-first search ( BBF) sunt utilizate. Descrierea unui obiect folosind caracteristici SIFT este, de asemenea, stabilă în ceea ce privește suprapunerea parțială, deoarece chiar și trei caracteristici SIFT ale unui obiect sunt suficiente pentru a calcula locul și poziția unui obiect. Recunoașterea poate fi efectuată aproape în timp real, cel puțin pentru bazele de date mici ale echipamentelor informatice moderne.

Algoritm

Dezvăluirea extremelor spațiului de scară

Începem prin a identifica punctele, care sunt numite puncte cheie în cadrul SIFT. Imaginea este convoluată cu filtre gaussiene la diferite scări și apoi se calculează diferența de imagini neclare gaussiene succesive. Punctele cheie sunt apoi eșantionate ca diferență maximă/minimă a gaussienilor care apar la diferite scări. Diferența gaussiană este dată de expresia

, unde este convoluția imaginii originale cu estompare gaussiană la scară , adică

Prin urmare, imaginea diferenței gaussiene dintre scale și este diferența imaginilor încețoșate gaussiene cu scale și . Pentru a determina extremul în spațiul de scalare , în algoritmul SIFT, imaginea este mai întâi convoltată cu estompare Gaussiană la diferite scări. Miniaturile sunt grupate pe octava (o octava corespunde dublarii valorii lui ) iar valoarea este aleasa astfel incat sa obtinem un numar fix de miniaturi pe octava. Apoi se calculează diferența gaussiană față de imaginile încețoșate gaussiene adiacente într-o octavă.

Odată obținută diferența Gaussiană a imaginii, punctele cheie sunt definite ca minim/maxim local al diferenței Gauss a imaginii peste șabloane. Acest lucru se face prin compararea fiecărui pixel cu diferența Gaussiană a imaginii pentru cei opt vecini ai săi la aceeași scară și nouă pixeli vecini corespunzători la fiecare dintre scările vecine. Dacă valoarea pixelului este maximă sau minimă dintre toate punctele comparate, este selectată ca punct cheie candidat.

Acest pas de detectare a punctului cheie este o variație a uneia dintre metodele de detectare a punctelor lui Lindeberg prin găsirea extremelor în spațiul de scară normalizat la scara Laplacian [10] [11] . Adică determinarea punctelor care sunt extreme locale, ținând cont atât de poziția spațială, cât și de scară, în cazul discret, prin comparație cu cei mai apropiați 26 de vecini într-un volum discretizat în spațiul de scară. Operatorul de diferență gaussian poate fi privit ca o aproximare a laplacianului, cu o normalizare implicită în piramidă , care conține și o aproximare discretă a laplacianului normalizat la scară [12] . O altă încarnare în timp real a căutării extremelor spațiului de scară al operatorului Laplace a fost prezentată de Lindeberg și Bretzner, se bazează pe o reprezentare piramidală hibridă [16] care a fost folosită pentru interacțiunea computer-om pentru recunoașterea gesturilor în timp real. [17] .

Localizarea punctelor cheie

Determinarea extremelor spațiului scalei oferă prea mulți candidați pentru punctele cheie, dintre care unele sunt instabile. Următorul pas al algoritmului este de a efectua o potrivire detaliată a vecinului pentru locația exactă, scara și raportul de curbură principală . Aceste informații vă permit să eliminați punctele care au contrast scăzut (și, prin urmare, sunt sensibile la zgomot) sau care sunt prost situate de-a lungul marginii.

Interpolarea datelor învecinate pentru precizia poziției

În primul rând, pentru fiecare candidat cue point, interpolarea aproape de date este utilizată pentru a determina cu precizie poziția. Abordarea inițială a fost de a determina locația fiecărui punct cheie după poziția și scara punctului cheie candidat [2] . Noua abordare calculează poziția interpolată a extremului, ceea ce îmbunătățește semnificativ potrivirea și stabilitatea [3] . Interpolarea se realizează utilizând expansiunea Taylor pătratică a  funcției de diferență- de -gauss-spațiu cu punctul cheie candidat situat la origine. Această expansiune Taylor este dată de ecuația:

,

unde D și derivata sa sunt calculate în punctul candidat și este decalajul față de acest punct. Locația extremului este determinată luând derivata acestei funcții în raport cu și echivalând cu zero. Dacă deplasarea este mai mare în oricare direcție, aceasta indică faptul că extremul se află mai aproape de un alt punct cheie candidat. În acest caz, punctul cheie candidat este schimbat și interpolarea este efectuată pentru acest punct. În caz contrar, se adaugă o părtinire punctului cheie candidat pentru a obține o estimare interpolată a locației extremului. O determinare similară subpixel a locației extremelor spațiului scară, dezvoltată de Lindeberg și colab., este efectuată în timp real pe baza piramidelor hibride [16] .

Eliminarea punctelor cheie cu contrast scăzut

Pentru a elimina punctele cheie cu contrast scăzut, se calculează o expansiune Taylor de ordinul doi cu o părtinire . Dacă această valoare este mai mică decât , punctul cheie candidat este eliminat. În caz contrar, este salvat cu o locație în spațiu la scară finită , unde este locația inițială a punctului cheie.

Excluderea contribuției Edge

Funcția de diferență gaussiană va avea valori puternice de-a lungul marginilor, chiar dacă punctul cheie candidat nu este robust la zgomot mic. Prin urmare, pentru a crește stabilitatea, ar trebui să excludeți punctele cheie care au o locație prost definită, dar au o contribuție mare de la margini.

Pentru vârfurile funcției de diferență gaussiene slab definite, curbura principală de-a lungul unei margini va fi mult mai mare decât curbura principală de-a lungul acesteia. Găsirea acestor curburi principale corespunde cu găsirea valorilor proprii ale matricei hessiene de ordinul doi H :

Valorile proprii ale lui H sunt proporționale cu curburele principale ale matricei D. Se dovedește că raportul a două valori proprii, să spunem  cea mai mare dintre ele, a  este cea mai mică, cu raportul , este suficient pentru scopurile SIFT . Urma matricei H , adică , ne dă suma celor două valori proprii, în timp ce determinantul, adică , ne dă produsul. Raportul poate fi arătat a fi , care depinde numai de raportul dintre valorile proprii, nu de valorile individuale. R este minimul dacă valorile proprii sunt egale. Astfel, cu cât este mai mare valoarea absolută a diferenței dintre două valori proprii, care este echivalentă cu cea mai mare valoare absolută a diferenței dintre cele două curburi principale D, cu atât valoarea lui R este mai mare. Rezultă că pentru un raport al valorii proprii de prag , dacă R pentru punctul cheie candidat este mai mare decât , atunci punctul cheie este prost localizat și, prin urmare, este aruncat. Noua abordare folosește [3] .

Acest pas de suprimare a răspunsului la margine este de a transfera abordarea adecvată operatorului Harris pentru detectarea colțurilor . Diferența este că măsura pentru prag este calculată din matricea Hessiană, și nu din matricea momentelor secunde .

Sarcina de orientare

În acest pas, fiecărui punct cheie i se atribuie una sau mai multe orientări pe baza direcțiilor gradienților din imaginea locală. Acesta este un pas cheie în obținerea invarianței de rotație , deoarece descriptorul punctului cheie poate fi reprezentat în raport cu această orientare și, prin urmare, devine invariant de rotație a imaginii.

În primul rând, o imagine neclară gaussiană este luată în punctele cheie cu scară , astfel încât toate calculele să fie efectuate într-o manieră invariabilă la scară. Pentru o imagine la scară , valoarea gradientului și orientarea sunt precalculate pe baza diferenței de pixeli .

Calculul mărimii și direcției gradientului se face pentru fiecare pixel din vecinătatea punctului cheie din imaginea neclară gaussiană L. Se formează o histogramă de direcție cu 36 de zone, fiecare acoperind 10 grade. Fiecare punct din caseta înconjurătoare este adăugat zonei histogramei, ponderat cu mărimea gradientului și printr-o fereastră circulară ponderată Gaussian cu , care este de 1,5 ori scara punctului cheie. Vârfurile din această histogramă corespund direcțiilor dominante. Odată ce histograma este completată, direcțiile corespunzătoare celor mai înalte vârfuri și vârfurilor locale care se află la 80% din cele mai înalte vârfuri sunt alocate punctului cheie. Dacă sunt atribuite mai multe direcții, este creat un punct cheie suplimentar care are aceeași locație și scară ca punctul original pentru fiecare direcție suplimentară.

Descriptor de punct cheie

Pașii anteriori găsesc locațiile punctelor cheie la scări specifice și le atribuie o orientare. Aceasta oferă invarianță pentru locația punctului, scară și rotație. Acum dorim să calculăm un vector de descriptori pentru fiecare punct cheie, astfel încât descriptorul să fie foarte diferit și parțial invariant la alte modificări, cum ar fi iluminarea, punctele de vedere și așa mai departe. Acest pas este efectuat pe imaginea cea mai apropiată la scară de scara punctului cheie.

În primul rând, se creează un set de histograme de direcție pe pixeli vecini 4x4 cu 8 zone în fiecare. Aceste histograme sunt calculate din mărimea și valorile de orientare ale elementelor din zona 16×16 din jurul punctului cheie, astfel încât fiecare histogramă să conțină elemente dintr-o subregiune 4×4 a regiunii vecine originale. Valorile sunt ponderate în continuare printr-o funcție gaussiană egală cu jumătate din lățimea ferestrei descriptor. Mânerul devine apoi un vector al tuturor valorilor acestor histograme. Deoarece există 4×4=16 histograme cu 8 regiuni fiecare, vectorul are 128 de elemente. Acest vector este normalizat la lungimea unității pentru a se asigura că este invariabil la schimbările afine în iluminare. Pentru a reduce efectul luminii neliniare, se aplică un prag de 0,2 și vectorul este normalizat din nou. Procesul de prag poate îmbunătăți rezultatele potrivirii chiar dacă nu există efecte de iluminare neliniare [18] . Valoarea pragului de 0,2 este aleasă empiric și înlocuirea unui prag fix cu unul calculat intenționat poate îmbunătăți rezultatele comparației [18] .

Deși dimensiunea descriptorului (adică 128) pare mare, descriptorii mai mici nu funcționează la fel de bine [3] și costul de calcul rămâne scăzut deoarece metoda aproximativă BBF este utilizată pentru a găsi cel mai apropiat vecin (vezi mai jos). Descriptori mai lungi ar da rezultate mai bune, dar nu cu mult, și există pericolul unei sensibilități crescute la distorsiuni și aliasing. S-a demonstrat, de asemenea, că precizia de potrivire a caracteristicilor este mai mare de 50% pentru schimbări de punct de vedere de până la 50 de grade. Prin urmare, descriptorii SIFT sunt invarianți la mici modificări afine. Pentru a testa caracterul distinctiv al descriptorilor SIFT, acuratețea potrivirii este măsurată și în raport cu un număr diferit de puncte cheie din baza de date de testare și s-a demonstrat că acuratețea potrivirii scade doar puțin pentru bazele de date mari, ceea ce indică faptul că caracteristicile SIFT sunt foarte distinse. .

Comparația caracteristicilor SIFT cu alte caracteristici locale

Au fost efectuate cercetări intense pentru a evalua eficacitatea diferiților descriptori locali, inclusiv SIFT [19] . Principalele rezultate sunt prezentate mai jos:

  • Caracteristicile SIFT și (similar cu SIFT) GLOH ( Histograma de locație și orientare a gradientului ) arată cea mai mare precizie de potrivire pentru o transformare afină de 50 de grade .  Dincolo de această limită, rezultatele conversiei devin nesigure.
  • Distincitatea descriptorilor se măsoară prin însumarea valorilor proprii ale descriptorilor obținute prin metoda componentelor principale pentru descriptori normalizați prin varianță. Aceasta corespunde cantității de varianță corespunzătoare diferiților descriptori și, prin urmare, distincției acestora. Caracteristicile PCA-SIFT (Metoda componentelor principale aplicate la descriptori SIFT), GLOH și SIFT dau cele mai mari valori.
  • Descriptorii bazați pe SIFT depășesc alți descriptori locali moderni atât pentru scenele texturate, cât și pentru cele structurate, fiind în același timp mai eficienți pentru scenele texturate.
  • Pentru zoom de 2-2,5x și rotație a imaginii între 30 și 45 de grade, descriptorii bazați pe SIFT și SIFT depășesc din nou alți descriptori locali moderni pentru scenele texturate și structurate.
  • Încețoșarea (neclaritatea) afectează toți descriptorii locali, în special cei bazați pe margini (margini), cum ar fi algoritmul „context de formă” (contextul formei ), deoarece marginile dispar în cazul încețoșării puternice a granițelor. Dar GLOH, PCA-SIFT și SIFT continuă să aibă performanțe mai bune decât restul. Acest lucru este valabil și în cazul schimbărilor de iluminare.

Testele efectuate sugerează cu tărie că descriptorii bazați pe SIFT sunt cei mai stabili și mai distinși și, prin urmare, cei mai recomandați pentru potrivirea caracteristicilor. Cu toate acestea, descriptori de caracteristici dezvoltați recent, cum ar fi SURF , nu au fost investigați în aceste studii.

S-a demonstrat că SURF are o eficiență apropiată de SIFT, dar, în același timp, algoritmul este mult mai rapid [20] . Alte studii au arătat că atunci când viteza nu este un factor critic, SIFT depășește SURF [21] [22] . În special, fără a lua în considerare efectele de eșantionare, descriptorul de imagine SIFT este semnificativ mai bun decât descriptorul de imagine SURF. În același timp, extremul din spațiul de scară al determinantului Hessian al detectorului de punct singular simplu în SURF constă din puncte singulare semnificativ mai bune în comparație cu extremul din spațiul de scară al laplacianului, pentru care algoritmul pentru determinarea punct singular în SIFT efectuează o aproximare numerică [21] .

Performanța de potrivire a imaginilor a descriptorilor SIFT poate fi îmbunătățită în ceea ce privește obținerea de performanțe mai mari și scoruri mai mici de precizie 1[ clarifica ] ( scoruri de precizie 1 engleză  ) prin înlocuirea extremului spațial scalabil al operatorului de diferență gaussian din SIFT original cu extremul determinantului hessian din spațiul scalabil sau luând în considerare o familie mai generală de puncte singulare generalizate ale spațiu scalabil [21] .

Recent, a fost propusă o versiune ușor modificată a descriptorului, folosind o rețea de histogramă neuniformă, care îmbunătățește semnificativ calitatea [23] . În loc să utilizați o grilă 4x4 de regiuni de histogramă, toate regiunile se extind spre centrul caracteristicii. Acest lucru îmbunătățește rezistența descriptorilor la schimbările la scară.

S-a demonstrat că descriptorul SIFT-Rank [24] îmbunătățește performanța descriptorului SIFT standard pentru potrivirea caracteristicilor afine. Descriptorul SIFT-Rank este generat din descriptorul SIFT standard, atribuind fiecărei zone a histogramei un rang într-o serie sortată de zone. Distanța euclidiană dintre descriptorii SIFT-Rank este invariantă în cazul modificărilor monotone arbitrare ale valorilor histogramei și este legată de coeficienții de corelare a rangului lui Spearman .

Aplicații

Recunoașterea obiectelor folosind caracteristicile SIFT

Dacă este posibil ca un sistem SIFT să găsească diferite puncte cheie care sunt invariante ca locație, scară și rotație și rezistente la transformări afine (schimbări de scară , rotație , deplasare și poziție) și schimbări de iluminare, sunt utile pentru recunoașterea obiectelor. Acești pași sunt prezentați mai jos

  • În primul rând, caracteristicile SIFT sunt obținute din imaginea de intrare folosind algoritmul descris mai sus.
  • Aceste caracteristici sunt comparate cu caracteristicile SIFT ale bazei de date obținute din imagini de antrenament. Această potrivire a caracteristicilor se face folosind abordarea euclidiană a celui mai apropiat vecin. Pentru a crește stabilitatea, potrivirea este eliminată pentru punctele cheie pentru care raportul dintre distanța la cel mai apropiat vecin și distanța până la al doilea cel mai apropiat vecin este mai mare de 0,8. Acest lucru elimină multe potriviri false rezultate din imaginile care interferează cu fundalul. În cele din urmă, pentru a evita căutarea costisitoare necesară pentru a găsi cel mai apropiat vecin euclidian, se folosește un algoritm aproximativ numit „best-bin-first” [14] . Aceasta este o metodă rapidă care returnează cel mai apropiat vecin cu probabilitate mare și poate accelera procesul de căutare cu un factor de 1000, în timp ce găsirea celui mai apropiat vecin durează 95% din timp.
  • Deși testul raportului de distanță descris mai sus elimină multe potriviri false care apar din imaginile care interferează cu fundalul, rămânem cu potriviri care aparțin altor obiecte. Prin urmare, pentru a crește fiabilitatea identificării obiectelor, dorim să grupăm caracteristicile care aparțin aceluiași obiect și să aruncăm potrivirile care rămân după procesul de grupare. Acest lucru se face folosind transformarea Hough . Identifică grupuri de caracteristici care votează pentru o anumită poziție a obiectului. Când se găsesc grupuri de caracteristici cu voturi pentru o anumită poziție a obiectului, probabilitatea de interpretare corectă va fi mult mai mare decât pentru o singură caracteristică. Fiecare punct cheie votează pentru un set de poziții caracteristice dacă sunt în concordanță cu locația, scara și orientarea punctului cheie. Zonele care acumulează cel puțin 3 voturi sunt considerate candidați pentru potrivirea obiect/poziție.
  • Pentru fiecare candidat de cluster, obținem o soluție cu cele mai mici pătrate pentru cele mai bune estimări de proiecție afine care relaționează imaginile de antrenament cu imaginea de intrare. Dacă proiecția punctului cheie prin acești parametri se află în jumătatea intervalului de eroare care a fost utilizat pentru parametrii din regiunile de transformare Hough, corespondența punctului cheie este menținută. Dacă rămân mai puțin de 3 puncte după eliminarea valorii aberante pentru regiuni, potrivirea pentru obiect este respinsă. Montarea celor mai mici pătrate se repetă atâta timp cât ceva poate fi aruncat. Acest lucru funcționează mai bine pentru recunoașterea obiectelor plate, dar nu și pentru recunoașterea obiectelor 3D, deoarece modelul afin devine nefiabil pentru obiectele 3D.
  • Lucrarea lui Sirmachek și Unsalan [25] propune o nouă abordare pentru utilizarea descriptorilor SIFT pentru a aloca mai multe obiecte. Abordarea propusă de detectare a mai multor obiecte a fost testată pe imagini aeriene și prin satelit.

Caracteristicile SIFT pot fi, în principiu, aplicate oricărei probleme în care este necesară potrivirea imaginilor. Se poate lucra la aplicații precum recunoașterea unor categorii specifice de obiecte în imagini 2D, reconstrucția obiectelor 3D, urmărirea și segmentarea mișcării, locația robotului, cusătura imaginii panoramice și calibrarea epipolară . Unele dintre aceste aplicații sunt discutate mai detaliat mai jos.

Locația robotului și a hărții

Această aplicație [26] folosește un sistem trinocular stereo pentru a estima locația 3D a unui punct cue. Punctele cheie sunt folosite numai atunci când apar în toate cele 3 imagini cu nepotriviri consistente, ceea ce duce la abandonuri foarte rare. Pe măsură ce robotul se mișcă, acesta își determină locația utilizând relațiile caracteristicilor cu harta 3D existentă, apoi adaugă treptat caracteristici pe hartă în timp ce actualizează poziția 3D folosind un filtru Kalman. Aceasta oferă o soluție fiabilă și precisă la problema localizării unui robot într-un mediu necunoscut.

Cusături panoramice

Potrivirea caracteristicii SIFT poate fi utilizată pentru asamblarea imaginii pentru construcția panoramă complet automatizată din cadre non-panoramice. Caracteristicile SIFT extrase din imaginile de intrare se potrivesc unele cu altele pentru a găsi k vecini cei mai apropiați din fiecare imagine. Aceste potriviri sunt apoi folosite pentru a găsi m candidați de potrivire a imaginii pentru fiecare imagine. Omografiile dintre perechile de imagini sunt apoi calculate folosind RANSAC ( Random sample consensus ) și este folosit un model probabilistic pentru verificare .  Deoarece nu există restricții privind imaginile de intrare, se aplică o căutare grafică pentru componentele de potrivire a imaginii conectate, astfel încât fiecare componentă conectată să se potrivească cu o panoramă. În cele din urmă, pentru fiecare componentă conectată, se efectuează reglarea blocului pentru a rezolva parametrii camerei, iar panorama este procesată folosind amestecarea multi-bandă . Datorită abordării inspirate de SIFT a recunoașterii obiectelor pentru cusătura panoramă, sistemul rezultat este insensibil la ordinea imaginii, orientare, scară și iluminare. Imaginile de intrare pot conține mai multe panorame și zgomot de imagine (dintre care unele chiar nu pot face parte din imaginea compozită) [27] .  

Modelarea scenei 3D, recunoașterea și urmărirea

Această aplicație folosește caracteristici SIFT pentru recunoașterea obiectelor 3D și modelarea 3D contextul realității augmentate , în care obiectele artificiale create într-o ipostază precisă sunt suprapuse imaginilor reale. O potrivire SIFT este definită pentru mai multe imagini 2D ale unei scene sau obiecte luate din unghiuri diferite. Acesta este folosit cu reglarea blocului pentru a construi un model 3D rar al scenei în cauză și pentru a restabili simultan pozițiile camerei și parametrii de calibrare. Apoi se determină poziția, orientarea și dimensiunea obiectului virtual în raport cu coordonatele cadrului modelului considerat. Pentru urmărirea pozițională online , caracteristicile SIFT sunt extrase din cadrul video curent și potrivite cu caracteristicile deja calculate, rezultând un set de potriviri 2D-3D. Aceste potriviri sunt apoi folosite pentru a calcula poziția curentă a camerei pentru proiecția virtuală și procesarea finală. Tehnica de regularizare este utilizată pentru a reduce jitterul în proiecția virtuală [28] . Au fost implementate și extensii SIFT 3D pentru a recunoaște și evidenția obiecte 3D reale [29] [30] .

Descriptori de tip SIFT 3D pentru recunoașterea acțiunilor umane

Extensiile descriptorului SIFT la date spațio-temporale 2+1-dimensionale au fost studiate în contextul recunoașterii acțiunilor umane în video [29] [31] [32] [33] . Crearea histogramelor dependente de poziție locală în algoritmul SIFT 2D se extinde de la 2D la 3D pentru a descrie caracteristicile SIFT ale domeniului spațiu-timp. Pentru aplicarea la recunoașterea acțiunilor umane în video, videoclipurile de antrenament sunt realizate fie din puncte spațio-temporale specifice, fie la un loc, timp și scară aleatoriu. Regiunile spațiu-timp din jurul acestor puncte singulare sunt apoi descrise folosind un descriptor 3D SIFT. Acești descriptori sunt apoi asamblați într-un model spațiotemporal „ pungă de cuvinte ” . Descriptorii SIFT 3D extrași din clipurile de testare sunt potriviți cu aceste cuvinte pentru a clasifica acțiunile umane.

Autorii susțin că descriptorul lor 3D SIFT are performanțe semnificativ mai bune decât alte abordări, cum ar fi descriptorii SIFT 2D simpli și valoarea gradientului [34] .

Analiza creierului uman în imagistica prin rezonanță magnetică 3D

Tehnica morfometriei bazate pe caracteristici ( FBM) [  35] [35] folosește extreme în diferența spațiului de scalare Gaussian RMN(de rezonanță magneticăimaginilepentru a analiza și clasificaFBM modelează o imagine probabil ca un colaj de caracteristici independente determinate de geometria imaginii și grupuri de etichete, cum ar fi obiecte sănătoase și obiecte corespunzătoare bolii Alzheimer. Caracteristicile sunt mai întâi extrase în imagini individuale dintr-o diferență de spațiu de scalare Gaussian 4D, apoi modelate în ceea ce privește aspectul, geometria și statisticile de co-ocurență într-un grup în mai multe imagini. FBM a fost validat în analiza bolii Alzheimer cu un set de ~200 de imagini volumetrice (IRM) ale creierului uman, detectând automat indicatori stabiliți ai bolii Alzheimer în creier și clasificând bolile non-acute în imagini noi cu o rată de 80% [1]. 35] .  

Metode concurente

Metodele concurente pentru recunoașterea obiectelor invariante la scară sub zgomot și suprapunere parțială sunt următoarele.

RIFT [36] : Generalizare invariantă de rotație a SIFT .  Descriptorul RIFT este construit folosind secțiuni circulare normalizate împărțite în inele concentrice de lățime egală, iar în fiecare inel este calculată o histogramă a direcției gradientului. Pentru a obține invarianța rotațională, orientarea este măsurată în fiecare punct în raport cu direcția de la centru.

G-RIF [37] : Generalized Robust Invariant Feature este un  descriptor general de context care codifică orientarea marginilor, densitatea marginilor și informațiile de culoare într-o singură cheie, combinând informațiile perceptuale cu codificarea spațială. Schema de recunoaștere a obiectelor folosește contextul de vecinătate pentru a evalua modelele de obiecte bazate pe vot.

„SURF” [38] : Caracteristicile robuste accelerate  sunt detectoare/descriptori invarianți la scară și rotație de înaltă performanță despre care se pretinde că se apropie sau chiar depășesc schemele propuse anterior în ceea ce privește reproductibilitatea, claritatea și fiabilitatea. SURF se bazează pe imagini cu convoluție completă pentru a reduce timpul de calcul și se bazează pe puterea detectorilor și descriptorilor existenți (folosind o măsură rapidă bazată pe matricea Hessian pentru detectoare și descriptori bazați pe distribuția probabilității). Descrie distribuția răspunsurilor wavelet Haar între vecinii punctului singular. Imaginile complete sunt folosite pentru accelerare și sunt utilizați doar vectori de caracteristici cu 64 de dimensiuni pentru a reduce timpul de calcul și potrivire. Etapa de indexare se bazează pe semnul laplacianului , care crește viteza de potrivire și robustețea descriptorului.

PCA-SIFT [39] și GLOH [19] sunt variante ale SIFT. Descriptorul PCA-SIFT este un vector de gradienți de imagine în direcțiile x și y calculate în zona suportată. Zona gradientului este împărțită în 39×39 locuri, astfel încât dimensiunea vectorului este 3042. Dimensiunea este redusă la 36 prin metoda componentelor principale . Histograma gradientului de orientare a locației ( GLOH ) este o extensie a descriptorului SIFT și a fost dezvoltată pentru a crește robustețea și capacitatea de diferențiere a acestuia. Descriptorul SIFT este calculat în coordonatele polare logaritmice ale unei grile de poziții cu trei regiuni în direcțiile radiale (raza setată la 6, 11 și 15) și 8 în direcțiile unghiulare, rezultând 17 regiuni. Zona centrală nu este împărțită în direcții unghiulare. Direcțiile gradientului sunt cuantificate în 16 regiuni, rezultând o histogramă cu 272 de regiuni. Dimensiunea acestui descriptor este redusă prin metoda componentei principale . Matricea de covarianță pentru metoda componentei principale este evaluată pe piese colectate din imagini diferite. Pentru descriere sunt utilizați cei 128 de vectori proprii cei mai mari.

Gauss-SIFT [21] este un descriptor de imagine pur definit prin măsurarea tuturor imaginilor descriptorului SIFT subiacent cu o derivată Gaussiană, mai degrabă decât aproximarea derivatei într-o piramidă a imaginii așa cum se face în SIFT standard. Cu această abordare, efectul discretizării spațiului și al scalei poate fi redus la minimum, ceea ce poate duce la descriptori de imagine mai precisi. Lindeberg [21] a combinat astfel de descriptori de imagine Gauss-SIFT cu un set de spații generalizate la scară de puncte singulare, inclusiv Laplacianul Gaussian, determinantul Hessian, patru măsuri noi caracteristice ale Hessianului nesemnat și semnat, precum și Harris-Laplace și Shea. -Thomas puncte singulare. Într-o rulare experimentală intensivă pe o bază de date de panouri publicitare care conține mai multe transformări a 12 panouri publicitare în ceea ce privește zoom-ul de până la 6x și direcția de vedere până la un unghi de 45 de grade, s-a demonstrat că o creștere semnificativă a eficienței procesării imaginii (eficiență mai mare). scoruri și scoruri mai mici 1 -acuratețe) se poate obține prin înlocuirea laplacianului gaussianului punctelor singulare cu determinantul hessianului punctelor singulare. Deoarece diferența Gaussiană a punctului singular presupune o aproximare numerică a Laplacianului punctului singular Gaussian, acest lucru arată că este posibil să se mărească semnificativ performanța de potrivire prin înlocuirea diferenței Hessian a punctului singular în SIFT cu determinantul Hessian a punctului singular. Câștiguri suplimentare de performanță pot fi obținute în continuare luând în considerare o măsură a puterii caracteristicii Hessian  nesemnată sau 0 în caz contrar. O comparație numerică între descriptorul Gauss-SIFT și descriptorul Gauss-SURF corespunzător a arătat, de asemenea, că Gauss-SIFT are în general performanțe semnificativ mai bune decât Gauss-SURF pentru un număr mare de detectoare de scară-spațiu punct singular. Studiul arată astfel că reducerea efectului de discretizare a descriptorului de imagine SIFT este semnificativ mai bună decât a descriptorului de imagine SURF, cu toate acestea, detectorul de punct caracteristic în SURF, care poate fi considerat ca o aproximare numerică la extremul din spațiul de scară al determinantului Hessian, este semnificativ mai bun decât detectorul de puncte caracteristice din SIFT.

Wagner și colegii au dezvoltat doi algoritmi de recunoaștere a obiectelor adaptați în mod specific limitărilor telefoanelor mobile existente [40] . Spre deosebire de abordarea clasică, SIFT Wagner și colaboratorii folosesc algoritmul FAST de detectare a colțurilor pentru detectarea caracteristicilor. Algoritmul include și o fază de pregătire offline, în care funcțiile sunt create la diferite niveluri de zoom, și o fază online, în care funcțiile sunt generate doar pentru un nivel fix de zoom al camerei telefonului. În plus, caracteristicile sunt create numai din zone fixe de 15×15 pixeli și este creat doar un descriptor SIFT cu 36 de dimensiuni. Abordarea a fost extinsă în continuare prin integrarea cu Scalable Vocabulary Tree [41 ] . Acest lucru permite recunoașterea eficientă a unui număr mare de obiecte de către telefonul mobil. Abordarea este limitată în principal de cantitatea de RAM disponibilă .  

KAZE și A-KAZE (Kaze Features and Kaze Boosted Features) este o nouă metodă de detectare și caracterizare a caracteristicilor 2D, care are performanțe mai bune decât SIFT și SURF. A câștigat o mare popularitate datorită faptului că este distribuit gratuit și are coduri open source. De asemenea, algoritmul nu este brevetat. KAZE a fost creat de Pablo F. Alcantarilla, Adrien Bartoli și Andrew J. Davison [42] .

Vezi și

Note

  1. 12 S.U.A. _ Brevetul 6.711.293 , „Metodă și aparat pentru identificarea caracteristicilor invariante la scară într-o imagine și utilizarea acestora pentru localizarea unui obiect într-o imagine”, brevetul lui David Low pentru algoritmul SIFT, 23 martie 2004
  2. 1 2 3 4 Lowe, 1999 , p. 1150–1157.
  3. 1 2 3 4 5 6 Lowe, 2004 , p. 91–110.
  4. Koenderink, van Doorn, 1987 , p. 383-396.
  5. Koenderink, van Doorn, 1992 , p. 597-605.
  6. Lindeberg:BICY, 2013 , p. 589-635.
  7. Lindeberg:AdvImg, 2013 , p. 1-96.
  8. Lindeberg:PLOS ONE, 2013 .
  9. 12 Lindeberg , 2014 , p. 701-713.
  10. 12 Lindeberg , 1994 .
  11. 1 2 Lindeberg, 1998 , p. 79–116.
  12. 12 Lindeberg , 2012 , p. 10491.
  13. Serre, Kouh, Cadieu, Knoblich, Kreiman, Poggio, 2005 .
  14. 1 2 Beis, Lowe, 1997 , p. 1000–1006.
  15. Lowe, 2001 , p. 682-688.
  16. 1 2 Lindeberg, Bretzner, 2003 , p. 148–163.
  17. Bretzner, Laptev, Lindeberg, 2002 , p. 423-428.
  18. 12 Kirchner , 2016 , p. 291-295.
  19. 1 2 Mikolajczyk, Schmid, 2005 , p. 1615–1630
  20. TU-chemnitz.de (link în jos) . Consultat la 12 noiembrie 2018. Arhivat din original la 22 mai 2011. 
  21. 1 2 3 4 5 Lindeberg, 2015 , p. 3-36.
  22. Oyallon, Rabin, 2015 .
  23. Cui, Hasler, Thormaehlen, Seidel, 2009 .
  24. Toews, Wells III, 2009 , p. 172–177.
  25. Sirmacek, Unsalan, 2009 , p. 1156–1167.
  26. Se, Lowe, Little, 2001 , p. 2051.
  27. Brown, Lowe, 2003 , p. 1218–1225.
  28. Gordon, Lowe, 2006 , p. 67-82.
  29. 1 2 Flitton, Breckon, 2010 , p. 11.1–12.
  30. Flitton, Breckon, Megherbi, 2013 .
  31. Laptev, Lindeberg, 2004 , p. 91–103.
  32. Laptev, Caputo, Schuldt, Lindeberg, 2007 , p. 207–229.
  33. Scovanner, Ali, Shah, 2007 , p. 357–360.
  34. Niebles, Wang, Li, 2006 , p. 1156–1167.
  35. 1 2 3 Toews, Wells III, Collins, Arbel, 2010 , p. 2318–2327.
  36. Lazebnik, Schmid, Ponce, 2004 .
  37. Kim, Yoon, Kweon, 2006 .
  38. Bay, Tuytelaars, van Gool, 2006 .
  39. Ke, Sukthankar, 2004 .
  40. Wagner, Reitmayr, Mulloni, Drummond, Schmalstieg, 2008 .
  41. Henze, Schinke, Boll, 2009 .
  42. Caracteristici KAZE . Consultat la 12 noiembrie 2018. Arhivat din original pe 3 noiembrie 2018.

Literatură

Link -uri