Opțiunile pentru modelul camerei
De regulă, un vector de coloană cu forma [u v 1] ⊤> este utilizat pentru a reprezenta coordonatele 2D ale unui punct pe un plan. și pentru a defini poziția 3D puncte în lume coordonate - [x w y w z w 1] ⊤ \, y _ \ z _ \, 1]>. Trebuie remarcat faptul că aceste expresii sunt scrise în notarea extinsă a coordonatelor omogene. care este cea mai obișnuită în robotică și în problemele de transformare a solidelor. În particular, în modelul obscura al camerei, matricea camerei este utilizată pentru a proiecta punctele din spațiul tridimensional pe planul imaginii:
Parametrii de calibrare internă
Matricea de calibrare internă A conține 5 parametri semnificativi. Acești parametri corespund lungimii focale. unghi de pixeli schematice și punctul (punctul de intersecție a planului de imagine cu axa optică, care coincide cu centrul imaginii. În camerele reale, tinde să fie ușor deplasată din cauza distorsiuni optice). În special, α x> și α y> corespund distanței focale, măsurată în lățime și pixeli înălțime, u 0> și v 0> - coordonatele punctului principal și γ = α y * tan φ> * \ tan \ varphi>. unde φ este unghiul de înclinare al pixelului [2]. Parametrii de calibrare interni neliniari, cum ar fi coeficienții de distorsiune. sunt de asemenea importante, deși nu pot fi incluse în modelul liniar descris de matricea de calibrare internă. Majoritatea algoritmilor de calibrare moderni ai aparatului foto le determină împreună cu parametrii părții liniare a modelului.
Parametrii de calibrare interni se aplică numai camerei, dar nu și scenei, astfel încât acestea să se modifice numai când se modifică setările corespunzătoare ale camerei.
Parametri externi de calibrare
R. T>, T> (în care R >> - rotația vector 1 × 3 sau 3 × 3 matrice, T >> - 3 x 1 vector de transport) - parametrii de calibrare externi. care determină transformarea coordonatelor. traduce coordonatele punctelor scenei de la sistemul de coordonate mondial la sistemul de coordonate asociat camerei [2]. Sau, echivalent cu definiția anterioară, parametrii externi de calibrare au stabilit poziția camerei în sistemul de coordonate mondial.
Parametrii externi de calibrare sunt direct corelați cu scena fotografiată, prin urmare (spre deosebire de parametrii de calibrare internă), fiecare fotografie are setul propriu de parametri.
Modelul camerei
Atunci când utilizați camera, lumina din fotografia filmată este focalizată și capturată. Acest proces reduce numărul de măsurători în datele primite de camera trei-doi (lumina de la o scenă tridimensională este transformată într-o imagine bidimensională). Prin urmare, fiecare pixel din imaginea rezultată corespunde fasciculului luminos al scenei originale. În timpul calibrării camerei, se caută un meci între punctele tridimensionale ale scenei și pixelii imaginii.
În cazul unei camere ideale pentru găurire, este suficientă o singură matrice de proiecție pentru a specifica această corespondență. Cu toate acestea, în cazul camerelor mai complexe, distorsiunile introduse de lentile pot afecta foarte mult rezultatul. Astfel, funcția de proiecție are o formă mai complexă și este adesea scrisă ca o secvență de transformări, de exemplu:
x = I x D i s t (E × X). unde
Algoritmi de calibrare a camerelor
Există mai multe abordări diferite pentru rezolvarea problemei de calibrare.
- Abordarea clasică este algoritmul Roger Y. Tsai [3]. Se compune din două etape, primul dintre acestea determinând parametrii calibrării externe, a doua - calibrarea internă și distorsiunea.
- "Noua tehnologie de calibrare a camerei flexibile" [4]. care a fost dezvoltat de Zhengyou Zhang și se bazează pe utilizarea unui obiect gabarit plat sub formă de tablă de șah.
- Auto-calibrare - achiziționarea datelor de calibrare direct din imagini, iar scena nu necesită prezența obiectelor speciale de calibrare.
Algoritmul de calibrare pentru o cameră, precum și algoritmul de calibrare stereo sunt implementate în biblioteca OpenCV.
Calibrarea automată
Pașii de bază ai acestei metode sunt:
- Căutați puncte singulare în toate imaginile. În acest scop, de exemplu, poate fi utilizat un detector de unghi Harris.
- Căutați corespondențe punctuale între imagini. Pentru aceasta, puteți utiliza, de exemplu, compararea descriptorilor SIFT cu punctele singulare găsite. Ca rezultat, în fiecare imagine există un set de pixeli care corespund acelorași puncte tridimensionale ale scenei.
- După aceea, folosind algoritmul de ajustare Bundle pe baza datelor din corespondențele punctului de efectuat parametri de căutare și de calibrare simultane, precum și 3D coordonatele punctelor singulare în scenă.