Matrice esențială - Essential matrix

În viziunea computerizată , matricea esențială este o matrice , care leagă punctele corespunzătoare din imaginile stereo, presupunând că camerele satisfac modelul camerei cu stenopi .

Funcţie

Mai precis, dacă și sunt coordonatele de imagine normalizate omogene în imaginea 1 și, respectiv, 2, atunci

dacă și corespund aceluiași punct 3D din scenă.

Relația de mai sus care definește matricea esențială a fost publicată în 1981 de H. Christopher Longuet-Higgins , introducând conceptul în comunitatea de viziune computerizată. Cartea lui Richard Hartley și Andrew Zisserman relatează că o matrice analogă a apărut în fotogrametrie cu mult înainte de aceasta. Lucrarea lui Longuet-Higgins include un algoritm pentru estimarea dintr-un set de coordonate de imagine normalizate corespunzătoare, precum și un algoritm pentru determinarea poziției relative și a orientării celor două camere date, care este cunoscută. În cele din urmă, arată cum coordonatele 3D ale punctelor imaginii pot fi determinate cu ajutorul matricei esențiale.

Utilizare

Matricea esențială poate fi privită ca un precursor al matricei fundamentale . Ambele matrice pot fi utilizate pentru stabilirea constrângerilor între punctele de imagine potrivite, dar matricea esențială poate fi utilizată doar în raport cu camerele calibrate, deoarece parametrii interiori ai camerei trebuie cunoscuți pentru a realiza normalizarea. Cu toate acestea, dacă camerele sunt calibrate, matricea esențială poate fi utilă pentru a determina atât poziția relativă și orientarea dintre camere, cât și poziția 3D a punctelor de imagine corespunzătoare.

Derivare și definiție

Această derivare urmează lucrării lui Longuet-Higgins.

Două camere normalizate proiectează lumea 3D pe planurile lor de imagine respective. Fie coordonatele 3D ale unui punct P să fie și relative la sistemul de coordonate al fiecărei camere. Deoarece camerele sunt normalizate, coordonatele corespunzătoare ale imaginii sunt

  și  

O reprezentare omogenă a celor două coordonate ale imaginii este apoi dată de

  și  

care de asemenea poate fi scris mai compact ca

  și  

unde și sunt reprezentări omogene ale coordonatelor imaginii 2D și și sunt coordonate 3D adecvate, dar în două sisteme de coordonate diferite.

O altă consecință a camerelor normalizate este că sistemele lor de coordonate respective sunt legate prin intermediul unei translații și rotații. Aceasta implică faptul că cele două seturi de coordonate 3D sunt legate ca

unde este o matrice de rotație și este un vector de traducere tridimensional.

Matricea esențială este apoi definită ca:

unde este reprezentarea matricială a produsului încrucișat cu .

Pentru a vedea că această definiție a matricei esențiale descrie o constrângere pe coordonatele corespunzătoare ale imaginii se înmulțesc de la stânga la dreapta cu coordonatele 3D ale punctului P în cele două sisteme de coordonate diferite:

  1. Introduceți relațiile de mai sus între și și definiția lui în termeni de și .
  2. deoarece este o matrice de rotație.
  3. Proprietățile reprezentării în matrice a produsului încrucișat .

În cele din urmă, se poate presupune că ambele și sunt> 0, altfel nu sunt vizibile în ambele camere. Asta da

care este constrângerea pe care matricea esențială o definește între punctele de imagine corespunzătoare.

Proprietăți

Nu fiecare matrice arbitrară poate fi o matrice esențială pentru unele camere stereo. Pentru a vedea această observație, este definit ca produsul matricei unei matrici de rotație și a unei matrice simetrice înclinate , ambele . Matricea asimetrică trebuie să aibă două valori singulare egale și alta zero. Înmulțirea matricei de rotație nu modifică valorile singulare, ceea ce înseamnă că și matricea esențială are două valori singulare care sunt egale și una care este zero. Proprietățile descrise aici sunt uneori denumite constrângeri interne ale matricei esențiale.

Dacă matricea esențială este înmulțită cu un scalar diferit de zero, rezultatul este din nou o matrice esențială care definește exact aceeași constrângere ca și. Aceasta înseamnă că poate fi văzut ca un element al unui spațiu proiectiv , adică două astfel de matrice sunt considerate echivalente dacă una este o multiplicare scalară diferită de zero a celeilalte. Aceasta este o poziție relevantă, de exemplu, dacă este estimată din datele imaginii. Cu toate acestea, este de asemenea posibil să luați poziția definită ca

unde , și apoi are o „scalare” bine definită. Depinde de aplicație care este poziția cea mai relevantă.

Constrângerile pot fi exprimate și ca

și

Aici, ultima ecuație este o constrângere de matrice, care poate fi văzută ca 9 constrângeri, una pentru fiecare element de matrice. Aceste constrângeri sunt adesea utilizate pentru determinarea matricei esențiale din cinci perechi de puncte corespunzătoare.

Matricea esențială are cinci sau șase grade de libertate, în funcție de faptul dacă este văzută sau nu ca un element proiectiv. Matricea de rotație și vectorul de translație au fiecare trei grade de libertate, în total șase. Dacă matricea esențială este considerată ca un element proiectiv, totuși, trebuie scăzut un grad de libertate legat de multiplicarea scalară, lăsând cinci grade de libertate în total.

Estimare

Având în vedere un set de puncte de imagine corespunzătoare, este posibil să se estimeze o matrice esențială care satisface constrângerea epipolară definitorie pentru toate punctele din set. Cu toate acestea, dacă punctele de imagine sunt supuse zgomotului, ceea ce este cazul în orice situație practică, nu este posibil să se găsească o matrice esențială care să satisfacă exact toate constrângerile.

În funcție de modul în care este măsurată eroarea legată de fiecare constrângere, este posibil să se determine sau să se estimeze o matrice esențială care satisface în mod optim constrângerile pentru un set dat de puncte de imagine corespunzătoare. Cea mai simplă abordare este de a stabili o problemă totală a celor mai mici pătrate , cunoscută în mod obișnuit ca algoritmul în opt puncte .

Extragerea rotației și translației

Având în vedere că matricea esențială a fost determinată pentru o pereche de camere stereo - de exemplu, folosind metoda de estimare de mai sus - aceste informații pot fi utilizate și pentru determinarea rotației și translației (până la o scalare) între sistemele de coordonate ale celor două camere. În aceste derivări este văzut mai degrabă ca un element proiectiv decât ca având o scalare bine determinată.

Găsirea unei soluții

Următoarea metodă de determinare și se bazează pe efectuarea unui SVD de , a se vedea cartea lui Hartley & Zisserman. De asemenea, este posibil să se determine și fără un SVD, de exemplu, în urma lucrării lui Longuet-Higgins.

Un SVD de dă

unde și sunt matrici ortogonale și este o matrice diagonală cu

Intrările diagonale ale sunt valorile singulare ale căror, conform constrângerilor interne ale matricei esențiale, trebuie să fie formate din două valori identice și una zero. Defini

  cu  

și faceți următorul ansatz

Întrucât este posibil să nu îndeplinească complet constrângerile atunci când se ocupă de date din lumea reală (imagini ale camerei fe), alternativa

  cu  

poate ajuta.

Dovadă

În primul rând, aceste expresii și satisfac ecuația definitorie pentru matricea esențială

În al doilea rând, trebuie arătat că aceasta este o reprezentare matricială a produsului încrucișat pentru unii . De cand

este cazul care este înclinat-simetric, adică . Acesta este și cazul nostru , deoarece

Conform proprietăților generale ale reprezentării matriciale a produsului încrucișat , rezultă că trebuie să fie operatorul produsului încrucișat al unui singur vector .

În al treilea rând, trebuie, de asemenea, să se arate că expresia de mai sus pentru este o matrice de rotație. Este produsul a trei matrice care sunt toate ortogonale, ceea ce înseamnă că și ele sunt ortogonale sau . Pentru a fi o matrice de rotație adecvată, trebuie să satisfacă și ea . Deoarece, în acest caz, este văzut ca un element proiectiv, acest lucru poate fi realizat prin inversarea semnului de, dacă este necesar.

Găsirea tuturor soluțiilor

Până în prezent s-a stabilit o posibilă soluție pentru și a fost stabilită . Cu toate acestea, nu este singura soluție posibilă și nu poate fi nici măcar o soluție validă din punct de vedere practic. Pentru început, deoarece scalarea lui este nedefinită, scalarea lui este, de asemenea, nedefinită. Trebuie să se afle în spațiul nul de atunci

Cu toate acestea, pentru analiza ulterioară a soluțiilor, scalarea exactă a nu este atât de importantă ca „semnul” său, adică în ce direcție indică. Fie vector normalizat în spațiul nul al . Atunci este cazul că ambii și sunt vectori de traducere valabili relativi . Este, de asemenea, posibil să se schimbe în derivările din și mai sus. Pentru vectorul de traducere, acest lucru provoacă doar o schimbare de semn, care a fost deja descrisă ca o posibilitate. Pentru rotație, pe de altă parte, aceasta va produce o transformare diferită, cel puțin în cazul general.

Pentru a rezuma, având în vedere că sunt posibile două direcții opuse și două rotații diferite care sunt compatibile cu această matrice esențială. În total, aceasta oferă patru clase de soluții pentru rotația și translația dintre cele două sisteme de coordonate ale camerei. În plus, există și o scalare necunoscută pentru direcția de traducere aleasă.

Se pare însă că doar una dintre cele patru clase de soluții poate fi realizată în practică. Având în vedere o pereche de coordonate de imagine corespunzătoare, trei dintre soluții vor produce întotdeauna un punct 3D care se află în spatele cel puțin uneia dintre cele două camere și, prin urmare, nu poate fi văzut. Doar una dintre cele patru clase va produce în mod constant puncte 3D care se află în fața ambelor camere. Aceasta trebuie să fie soluția corectă. Cu toate acestea, are o scalare pozitivă nedeterminată legată de componenta de traducere.

Determinarea de mai sus și presupune că satisfac constrângerile interne ale matricei esențiale . Dacă nu este cazul care, de exemplu, este de obicei cazul dacă a fost estimat din date reale (și zgomotoase) de imagine, trebuie să presupunem că satisface aproximativ constrângerile interne. Vectorul este apoi ales drept vector singular drept corespunzător celei mai mici valori singular.

Puncte 3D din punctele de imagine corespunzătoare

Există numeroase metode pentru calcul, având în vedere coordonatele de imagine normalizate corespunzătoare și , dacă matricea esențială este cunoscută și au fost determinate transformările de rotație și translare corespunzătoare.

Vezi si

Cutii de instrumente

linkuri externe

Referințe