Perspektiva-n-bod - Perspective-n-Point - Wikipedia

Perspektivní-n-Směřovat[1] je problém odhadu pozice kalibrované kamery dané sadou n 3D body na světě a jejich odpovídající 2D projekce v obraze. Pozice kamery se skládá ze 6 stupňů volnosti (DOF), které jsou tvořeny rotací (kolečkem, roztečí a vybočením) a 3D překladem kamery s ohledem na svět. Tento problém pochází z kalibrace kamery a má mnoho aplikací v počítačovém vidění a dalších oblastech, včetně Odhad pozice 3D, robotika a rozšířená realita.[2] Běžně používané řešení problému existuje pro n = 3 s názvem P3P a k dispozici je mnoho řešení pro obecný případ n ≥ 3. Řešení pro n = 2 existuje, pokud jsou k dispozici orientace prvků ve dvou bodech.[3] Implementace těchto řešení jsou k dispozici také v softwaru s otevřeným zdrojovým kódem.

Specifikace problému

Definice

Vzhledem k souboru n 3D body ve světovém referenčním rámci a jejich odpovídající projekce 2D obrazu, stejně jako kalibrované parametry vnitřní kamery, určují pól 6 DOF kamery ve formě její rotace a translace s ohledem na svět. Toto následuje perspektivní model projektu pro kamery:

.

kde je homogenní světový bod, je odpovídající homogenní obrazový bod, je matice vnitřní parametry kamery, (kde a jsou zmenšené ohniskové vzdálenosti, je parametr zkosení, o kterém se někdy předpokládá, že je 0, a je hlavním bodem), je faktor měřítka pro obrazový bod a a jsou požadovaná 3D rotace a 3D překlad kamery (vnější parametry), které se počítají. To vede k následující rovnici pro model:

.

Předpoklady a datové charakteristiky

Existuje několik předběžných aspektů problému, které jsou společné pro všechna řešení PnP. U většiny řešení se předpokládá, že kamera je již kalibrována. Jeho vnitřní vlastnosti jsou tedy již známy, jako je ohnisková vzdálenost, hlavní bod obrazu, parametr zkosení a další parametry. Některé metody, například UPnP.[4] nebo Přímá lineární transformace (DLT) aplikovaný na projekční model, jsou výjimkou z tohoto předpokladu, protože odhadují tyto vnitřní parametry i vnější parametry, které tvoří pózu kamery, že původní PnP problém se snaží najít.

U každého řešení PnP nemůže být vybraná bodová korespondence kolineární. Kromě toho PnP může mít více řešení a výběr konkrétního řešení by vyžadoval následné zpracování sady řešení. RANSAC se také běžně používá s PnMetoda P, aby bylo řešení robustní vůči odlehlým hodnotám v sadě bodových korespondencí. Metody P3P předpokládají, že data neobsahují šum, většina metod PnP předpokládá Gaussův šum na inlierské sadě.

Metody

Tato následující část popisuje dvě běžné metody, které lze použít k řešení PnProblém P, který je také snadno dostupný v softwaru s otevřeným zdrojovým kódem a jak lze RANSAC použít k řešení odlehlých hodnot v datové sadě.

P3P

Když n = 3, P.nProblém P je ve své minimální podobě P3P a lze jej vyřešit tříbodovou korespondencí. S pouhými tříbodovými korespondencemi však P3P přináší až čtyři skutečná, geometricky proveditelná řešení. Pro nízké hladiny hluku lze použít čtvrtou korespondenci k odstranění nejednoznačnosti. Nastavení problému je následující.

Nechat P být středem projekce pro kameru, A, B, a C být 3D světovými body s odpovídajícími obrázky u, proti, a w. Nechat X = | PA |, Y = | PB |, Z = | PC |, , , , , , , , , . To tvoří trojúhelníky PBC, PAC, a PAB ze kterého získáme dostatečný systém rovnic pro P3P:

.


Výsledkem řešení systému P3P jsou až čtyři geometricky proveditelná skutečná řešení pro R a T. Nejstarší publikované řešení pochází z roku 1841[5]. Nedávný algoritmus pro řešení problému a klasifikace řešení pro něj je uveden v roce 2003 Transakce IEEE na analýze vzorů a strojové inteligenci článek Gao a kol.[6] Implementaci open source řešení Gao P3P najdete v OpenCV je calib3d modul v řešitPnP funkce.[7]Od té doby bylo vydáno několik rychlejších a přesnějších verzí, včetně Lambda Twist P3P[8] který v roce 2018 dosáhl nejmodernějšího výkonu s 50násobným zvýšením rychlosti a 400násobným snížením počtu selhání. Lambdatwist je k dispozici jako otevřený zdroj v OpenMVG a v https://github.com/midjji/pnp.

EPnP

Efektivní PnP (EPnP) je metoda vyvinutá Lepetitem a kol. ve svém příspěvku International Journal of Computer Vision z roku 2008[9] který řeší obecný problém PnP pro n ≥ 4. Tato metoda je založena na představě, že každý z n body (které se nazývají referenční body) lze vyjádřit jako vážený součet čtyř virtuálních řídicích bodů. Souřadnice těchto řídicích bodů se tak stávají neznámými problému. Právě z těchto kontrolních bodů je řešena konečná pozice fotoaparátu.

Jako přehled procesu si nejprve všimněte, že každý z n referenční body ve světovém rámci, a jejich odpovídající obrazové body, , jsou vážené součty čtyř kontrolních bodů, a v uvedeném pořadí a váhy jsou normalizovány na referenční bod, jak je uvedeno níže. Všechny body jsou vyjádřeny v homogenní formě.

Z toho bude odvození referenčních bodů obrazu

.

Homogenní kontrolní bod obrazu má formu . Přeskupením rovnice referenčního bodu obrazu získáte následující dvě lineární rovnice pro každý referenční bod:

.

Pomocí těchto dvou rovnic pro každou z n referenční body, systém mohou být vytvořeny kde . Řešení pro kontrolní body existuje v prázdný prostor z M a je vyjádřena jako

kde je číslo null singulární hodnoty v a každý je odpovídající pravý singulární vektor z . se může pohybovat od 0 do 4. Po výpočtu počátečních koeficientů , Gauss-Newton k jejich upřesnění se používá algoritmus. The R a T matice, které minimalizují chybu reprojekce světových referenčních bodů, a jejich odpovídající skutečné obrazové body , poté se vypočítají.

Toto řešení má složitost a funguje v obecném případě PnP pro planární i neplanární kontrolní body. Open source softwarové implementace této metody lze nalézt v OpenCV Camera Calibration and 3D Reconstruction module v řešitPnP funkce[7] stejně jako z kódu publikovaného Lepetitem a kol. na jejich webových stránkách, CVLAB ve společnosti EPFL.[10]

Tato metoda není robustní vůči odlehlým hodnotám a obecně se špatně porovnává s RANSAC P3P následovanou nelineárním vylepšením.

Pomocí RANSAC

PnP je náchylný k chybám, pokud jsou v sadě bodových korespondencí odlehlé hodnoty. RANSAC lze tedy použít ve spojení se stávajícími řešeními, aby konečné řešení pro kameru představovalo robustnější odlehlé hodnoty. Open source implementace PnMetody P s RANSAC lze najít v modulu OpenCV Camera Calibration and 3D Reconstruction v řešitPnPRansac funkce[11].

Viz také

Reference

  1. ^ Fischler, M. A .; Bolles, R. C. (1981). "Náhodná shoda vzorků: Paradigma pro přizpůsobení modelu aplikacím pro analýzu obrazu a automatickou kartografii". Komunikace ACM. 24 (6): 381–395. doi:10.1145/358669.358692.
  2. ^ Apple, tým ARKIT (2018). „Porozumění sledování a detekci ARKit“. WWDC.
  3. ^ Fabbri, Ricardo; Giblin, Peter; Kimia, Benjamin (2012). „Odhad pozice kamery pomocí diferenciální geometrie křivky prvního řádu“ (PDF). Přednášky z informatiky (ECCV 2012). Přednášky z informatiky. 7575: 231–244. doi:10.1007/978-3-642-33765-9_17. ISBN  978-3-642-33764-2.
  4. ^ Penate-Sanchez, A .; Andrade-Cetto, J .; Moreno-Noguer, F. (2013). "Vyčerpávající linearizace pro robustní odhad pozice kamery a ohniskové vzdálenosti". Transakce IEEE na analýze vzorů a strojové inteligenci. 35 (10): 2387–2400. doi:10.1109 / TPAMI.2013.36. hdl:2117/22931. PMID  23969384.
  5. ^ Quan, Long; Lan, Zhong-Dan (1999). „Stanovení polohy kamery lineárním N-bodem“ (PDF). Transakce IEEE na analýze vzorů a strojové inteligenci.
  6. ^ Gao, Xiao-Shan; Hou, Xiao-Rong; Tang, Jianliang; Cheng, Hang-Fei (2003). „Kompletní klasifikace řešení pro perspektivní tříbodový problém“. Transakce IEEE na analýze vzorů a strojové inteligenci. 25 (8): 930–943. doi:10.1109 / tpami.2003.1217599.
  7. ^ A b "Kalibrace kamery a 3D rekonstrukce". OpenCV.
  8. ^ Persson, Mikael; Nordberg, Klas (2018). „Lambda Twist: přesný rychlý, robustní, tříbodový (P3P) řešič“ (PDF). Evropská konference o počítačovém vidění (ECCV).
  9. ^ Lepetit, V .; Moreno-Noguer, M .; Fua, P. (2009). "EPnP: Přesné O (n) řešení problému PnP". International Journal of Computer Vision. 81 (2): 155–166. doi:10.1007 / s11263-008-0152-6. hdl:2117/10327.
  10. ^ „EPnP: Efektivní odhad pozice kamery v perspektivě n-bodu“. EPFL-CVLAB.
  11. ^ "Kalibrace kamery a 3D rekonstrukce". OpenCV.

externí odkazy