CENTER FOR MACHINE PERCEPTION Zpráva o zahraničním pobytu CZECH TECHNICAL UNIVERSITY IN PRAGUE Michal Polic policmic@fel.cvut.cz CTU CMP 2016 08 3. Srpna, 2016 ZPRÁVA O ZAHRANIČNÍM POBYTU ISSN 1213-2365 Lze získat na http://cmp.felk.cvut.cz/ policmic/docs/research stay 2016.pdf Vedoucí Ing. Tomáš Pajdla, PhD., Ass.Prof. Dr. Friedrich Fraundorfer (1url.cz/stoOf) Stipendium: Mobilita Akce 200 Univerzita: TU Graz (https://www.tugraz.at) České vysoké učení technické v Praze, No. 8, 2016 Poblikováno výzkumným ústavem Centrum strojového vnímání, Katedra kybernetiky Fakulta elektrotechnická ČVUT Karlovo náměstí 13, 121 35 Praha 2 fax: (02) 2435 7385, tel: (02) 2435 7637, www: http://cmp.felk.cvut.cz
Zpráva o zahraničním pobytu Michal Polic 3. Srpna, 2016 Výzkumná stáž se uskutečnila v době od 1. 3. 2016 do 31. 7. 2016 na univerzitě Graz University of Technology - Institute for Computer Graphics & Vision, ve skupině Aerial Vision Group pod vedením Ass.Prof. Dr. Friedricha Fraundorfera. Institute for Computer Graphics & Vision je jedna z nejprestižnějších vývojových skupin v oblasti počítačového vidění v Evropě. Studijní cesta měla za cíl společný vývoj v oblasti řídké rekonstrukce se zašuměnými dodatečnými dodatečnými daty, konkrétně porovnání možností výpočtu neurčitostí rekonstruovaných bodů a kamer trojdimenzionální scény vzhledem k dodatečným měřením, navržení algoritmu umožňující výpočet neurčitosti pro rozsáhlé scény, jeho implantace, zpřístupnění na webových stránkách a následné publikování. Rekonstrukce trojdimenzionální scény spočívá v nalezení pozic 3D bodů, které jsou viditelné ve dvou a více obrazech, a zároveň pozic a rotací kamer, které tyto obrazy pořídily. Standardní rekonstrukce Structure from Motion (SfM) spočívá v nalezení korespondencí zajímavých bodů feature points mezi snímky, vypočítání relativní pozice relative pose algorithm prvního páru kamer, triangulaci 3D bodů a následného přidávání kamer pomocí výpočtu jejich absolutní pozice absolute pose algorithm vůči již rekonstruovaným 3D bodům. Nové 3D body se triangulují vždy po přidání množiny kamer pomocí absolute pose algorithm. Postupným přidáváním kamer a bodů dochází k akumulaci chyb, které vznikají z nepřesnosti detekce zajímavých bodů. Vzniklé chyby jsou minimalizovány nelineární optimalizační metodou vyrovnání svazků paprsků, anglicky Bundle adjustment. Po doplnění o dostatečný počet dodatečných měření, konkrétně referenčních pozic bodů ve 3D (například v GPS souřadnicích) a jejich korespondencích v obrazech, lze zafixovat měřítko a natočení 3D scény tak, aby korespondovala běžně používanému geografickému referenčnímu systému (například WGS84). Pro praktické využití rekonstruované scény je takováto transformace nezbytná. Kvůli akumulaci chyb nemají referenční 3D body stejné 1
pozice jako 3D body k nim korespondující, které jsou spočítané pomocí triangulace z příslušných obrazových bodů. Cílem mé disertační práce je minimalizace chyb mezi triangulovanými a referenčními 3D body, při využití malého počtu referenčních bodů. Prvním krokem k dosažení tohoto cíle je vážení objektivní funkce minimalizované úlohy pomocí neurčitostí jednotlivých bodů a kamer 3D scény. Podobnou úlohu řeší člen skupiny Aerial Vision Group, M. Rumpler ve článku [1]. M. Rumpler váží objektivní funkci na základě stanovené neurčitosti referenčních bodů, kterými je množina všech pozic kamer ve formátu GPS a předpokládá normální rozdělení chyb 3D bodů, pozic kamer a zajímavých bodů v obrazech. Zásadní částí mé disertace a výzkumné stáže je navrhnout obecnější algoritmus pro určení neurčitostí všech parametrů projekční funkce, který dokáže vyhodnotit rozsáhlé 3D scény, a tohoto cíle se mi díky spolupráci s rakouskou výzkumnou skupinou podařilo dosáhnout. V první fázi výzkumného pobytu jsem se zaměřil na vylepšení rekonstrukčního softwaru YASFM naší výzkumné skupiny CMP na úroveň současného stavu vědy v této oblasti. Implementoval jsem vážení referenčních bodů [1] a zmenšil akumulaci chyb použitím vhodného modelu, který nalezne radiální distorzi společně s relativní pozicí (algoritmus F10 [2]). Po zmíněných modifikacích YASFM rekonstruuje přibližně o padesát procent víc bodů s čtvrtinovou průměrnou reprojekční chybou oproti tamějšímu rekonstrukčnímu software i3d. Ve druhé fázi pobytu jsem porovnával specifické reprezentace neurčitosti se standardním výpočtem popsaným v [3]. Standardní výpočet neurčitosti lze vypočítat po zafixování min. 7 parametrů scény viz. článek [4]. Neurčitost popisuje kovarianční matice C = (J ΣJ), kde J je matice derivace parametrů kamer a trojdimenzionálních bodů podle pozorování, Σ je matice kovariancí pozorovaných bodů v obrazech a A je Moore Penrose inverze matice A. Standardní výpočet je nerealizovatelný pro reálné scény kvůli MP inverzi matice o velikosti C R k k, kde k = 3 počet bodů + počet parametrů kamer počet kamer. Navrhl a mapoval jsem 4 různé odvozené výpočty neurčitostí 3D bodů a 8 různých výpočtů neurčitostí kamer na výstup standardní metody [3]. Dvě z mapovaných neurčitostí 3D bodů vycházely z aproximace Jakobiánu a byli odvozeny pomocí fixace parametrů kamer, třetí vycházela ze simulace Monte Carlo a čtvrtá vycházela z maximální vzdálenosti polyhedralu vytvořeného průnikem polorovin procházejících ɛ okolím obrazových bodů a středy příslušných kamer. Neurčitosti kamer jsem popsal dvěma metodami vycházejícími z aproximace standardní metody při fixované rotaci, třetí metoda vycházela z inverzního výpočtu parciálních derivací projekční funkce, čtvrtá metoda vycházela z kovariance vzdálenostní funkce, pátá metoda vycházela z maximální vzdálenosti konvexního obalu 2
průsečíku ±ɛ sfér vzdálenostní funkce, šestá a sedmá ze simulací Monte Carlo pomocí P3P a PNP algoritmů a osmá z podmíněnosti tečného prostoru vzdálenostní funkce v okolí středu kamery. Všechny neurčitosti byli graficky porovnány na syntetických a reálných scénách. Poslední oblastí výzkumu, na kterou jsem se zaměřil bylo upravení standardního výpočtu pomocí obecného rozkladu Moore Penrose inverze součinu J ΣJ na základě článku [5]. M. Lhuillier [6], používá Cholesky dekompozici blokové matice, a pseudoinversi Schurova doplňku počítá pomocí Singular Value Decomposition metody s oříznutím nespecifikované množiny nejmenších singulárních čísel. Na experimentech jsem dokázal, že nepoužití nejmenších singulárních čísel má na výsledek zásadní vliv. Odebráním jednoho singulárního čísla výrazně změníme neurčitost jednoho bodu nebo jedné kamery. Tuto závislost jsem vyřešil odvozením pseudoinverse z Schurova doplňku s přičtenou maticí λi a následným odstraněním parametru λ pomocí Taylorova rozvoje derivace λ, kde I reprezentuje jednotkovou matici a λ volitelnou konstantu. Navržený výpočet je rychlejší, méně citlivý na volbě parametru λ než v současné době používaná pseudoinverse pomocí SVD na oříznutí nejmenších singulárních čísel a lze efektivně paralelizovat. Současná metoda používající SVD umožňuje vypočíst neurčitost maximálně jednotek kamer a tisíce bodů. Pro umožnění výpočtu neurčitosti řádově několika tisíc kamer a milionů 3D bodů, jsem vyjádřil přímý výpočet kovariancí 3D bodů a kovariancí kamer ze vstupního jakobiánu J. Toto vyjádření nebylo při použití metody popsané v článku [6] možné. Navržený algoritmus jsem dále zjednodušil. Nepočítám téměř polovinu hodnot díky symetriím matic, které jsou ve výpočtu použity. V současné době dokončuji implementaci výše zmíněné metody v jazyce C++ s výpočty prováděnými na grafické kartě s hardwarovou a softwarovou architekturou CUDA. Všechny doposud provedené testy byly zapsány v prostředí Matlab. Implementace je psaná ve formě knihovny, která lze použít v nelineárním Ceres Solveru a zobecnit na řadu dalších problémů s nižší hodností, které doposud nejdou řešit a proto má předpoklady širokého využití ve výzkumu a vývoji. Pobyt na Graz University of Technology - Institute for Computer Graphics & Vision mi umožnil ve spolupráci s kolegy z Aerial Vision Group navrhnout a implementovat algoritmus ve vývojovém prostředí Matlab a posunout tak současný stav výzkumu. Po dokončení pokročilé implementace na hardwarové a softwarové architektuře CUDA bude možné vypočíst kovariance u přibližně tisíckrát větších scén než tomu bylo doposud. Práce bude publikována v impaktovaném časopise a kód bude zveřejněn na http://cmp.felk.cvut.cz/ policmic. V neposlední řadě mi pobyt pomohl výrazně vylepšit mé jazykové dovednosti a také získat cenné zkušenosti díky 3
kooperaci s prestižní zahraniční vývojovou skupinou. References [1] Rumpler, M. et al., Evaluations on multi-scale camera networks for precise and geo-accurate reconstructions from aerial and terrestrial images with user guidance [online]. - In: Computer Vision and Image Understanding (2016). Dostupné z: http://dx.doi.org/10.1016/j.cviu.2016.04.008 [2] Kukelova, Z. et al., Efficient Solution to the Epipolar Geometry for Radially Distorted Cameras [online]. - In: Proceedings of the IEEE International Conference on Computer Vision. 2015, s. 2309 2317. Dostupné z: http://1url.cz/ktw8r. [3] HARTLEY, Richard a Andrew ZISSERMAN. Multiple view geometry in computer vision. 2nd ed. New York: Cambridge University Press, 2003. ISBN 05-215-4051-8. [4] K. Kanatani and D. D. Morris. Gauges and gauge transformations for uncertainty description of geometric structure with indeterminacy [online]. - In: IEEE Transactions on Information Theory 47(5):2017-2028, 2001. Dostupné z: http://1url.cz/mtw8a. [5] Tian, Y. The Moore-Penrose inverses of m n matrices and their applications [online]. - In: Linear Algebra and its Applications, 283 (1998), s. 35-60. Dostupné z: http://1url.cz/9tw53. [6] Lhuillier, M. a M. Perriollat. Uncertainty ellipsoids calculations for complex 3D reconstructions [online]. - In: IEEE. 2006, pp.0. Dostupné z: https://hal-clermont-univ.archives-ouvertes.fr/hal-00091146/document. [7] Coleman, T. F. a Ch. Sun. Solving Rank-Deficient Linear Least-Squares Problems [online]. Dostupné z: http://www.math.uwaterloo.ca/ tfcolema/articles/ls-paper.pdf 4