Slaboproudý obzor Roč. 70 (2014) Číslo 1
L. Boleček, V. Říčný: Program pro výpočet prostorových souřadnic ...
7
PROGRAM PRO VÝPOČET PROSTOROVÝCH SOUŘADNIC A TVORBU HLOUBKOVÉ MAPY Ing. Libor Boleček1, prof. Ing. Václav Říčný, CSc.2 Ústav radioelektroniky; Fakulta elektrotechniky a komunikačních technologií VUT, Brno, 1
[email protected],
[email protected]
Abstrakt
Abstract
V článku je popsán interaktivní program pro výpočet prostorových souřadnic (x, y, z) 3D scény a tvorbu její hloubkové mapy z jediného stereoskopického snímku scény. Aplikace byla vytvořena v prostředí MATLAB. Program může nalézt uplatnění v mnoha oblastech – např. ve strojírenství, stavebnictví, kriminalistice aj. Uživatel může použít různé metody a tím ovlivnit přesnost výstupu. Vstupem jsou dva prostorově posunuté snímky stejné scény. Výstupem mohou být souřadnice vybraných bodů 3D scény, její prostorový model, případně její hloubková mapa. Aplikace může sloužit jako výukový nástroj, prostředek pro praktickou analýzu 3D scény. Článek obsahuje praktické výsledky a popis původních implementovaných algoritmů.
The software for reconstruction of the spatial coordinates (x, y, z) of the 3Dscene and for creating its depth map from stereoscopic image is described in this article. The application is created in MATLAB. This software can be used in many areas- engineering, building, criminology, etc. The user can use various methods for obtaining results. The method used can influence the accuracy of the results. The inputs are two spatially shifted images of the same scene. The outputs can be coordinates of the selected points of 3D-scene, its spatial model or depth map. The application can serve as an education tool, or tool for practical analysis of the 3D-scene. The article contains experimental results and description of the proposed and implemented algorithms.
Klíčová slova: rekonstrukce scény, hloubková mapa, stereogrammetrie, aplikace
Keywords: scene application
1
2
Úvod
Tvorba prostorového modelu scény je aktuální problém. Prostorový model scény vypočítaný na základě dvou a více snímků scény má široké uplatnění v různých oblastech průmyslu, například ve stavebnictví nebo strojírenství. Uplatnění může najít ve specifických oblastech, jako jsou tvorba plastických map, multimédia nebo kriminalistika, kde by mohla aplikace pomoci při modelování místa dopravní nehody. Zjišťování prostorových souřadnic na základě 3D fotografie scény a tvorba hloubkových map spolu blízce souvisí. Vytvořená aplikace kombinuje obecné známé metody a metody navržené autory článku. Aplikace umožňuje provádět tyto dílčí operace: • • • • • • •
hledání korespondenčních bodů, rektifikaci obrazu, vnitřní kalibraci použité kamery, vnější kalibraci kamer, výpočet prostorových souřadnic zvoleného bodu 3D scény, rekonstrukci prostorového modelu scény, odhad hloubkové analyzované 3D scény.
Výhodou vytvořeného programu je, že většinu zmíněných operací lze provádět pomocí různých metod a aplikace nabízí určitou variabilitu postupu. Určitá část implementovaných postupů byla již v technické literatuře popsána [1], [2], [3]. Proto není v článku uváděn odpovídající matematický aparát, ale pouze ucelený popis postupu rekonstrukce (formou vývojového diagramu programu) a jejich dílčích kroků. Další část článku je věnována uživatelskému prostředí a možnostem programu. V článku jsou také stručně popsány nové (autory navržené) algoritmy. V závěrečné kapitole jsou možnosti programu prezentovány na praktických příkladech.
reconstruction,
depth
map,
stereophotogrammetry,
Základy stereogrammetrie
Rekonstrukce prostorových souřadnice pomocí popisovaného programu vyžaduje uskutečnění několika důležitých kroků. Postup je možno popsat pomocí vývojového diagramu na obr. 1. Prostorové souřadnice lze spočítat jen pro body, pro které známe pár korespondujících bodů. Z toho důvodu je základním úkolem, na němž z velké části závisí úspěšnost a přesnost rekonstrukce souřadnic, nalezení sady korespondujících bodů v obou dílčích snímcích analyzované 3D scény. Hledáním korespondenčních bodů probíhá řešení tzv. korespondenčního problému. Korespondenční problém spočívá ve stanovení, který obrazový bod v jednom snímku odpovídá kterému bodu v dalším snímku. Korespondující (odpovídající si) body si odpovídají v tom smyslu, že reprezentují tentýž bod v prostoru. Pokud se jedná o klasické stereo snímky, jsou hledání korespondujících bodů i samotná rekonstrukce výrazně zjednodušeny. Korespondující body se pak v obou snímcích nacházejí na stejném řádku. Potom lze použít dva postupy. První možností je speciální konfigurace kamer tak, že osy kamer jsou paralelní. Druhou možností je úprava snímků a provedení tzv. rektifikace. Je to nelineární geometrická transformace obrazu, která promítá snímky do shodné obrazové roviny. Během rektifikace dochází k transformaci polohy pixelů z jednoho souřadnicového systému do druhého. Sada korespondujících bodů je vstupem do dalších fází rekonstrukce. Dalšími prováděnými kroky jsou vnitřní a vnější kalibrace kamer. Vnitřní kalibrace je procedura, během níž je získána kalibrační matice K, obsahující parametry dané kamery. Těmito parametry jsou ohnisková vzdálenost, velikost pixelu, umístění hlavního bodu a zkreslení. Kalibraci dané kamery při daném nastavení stačí provést jednou. Vnější kalibrace slouží k získání informace o vzájemné pozici snímacích kamer. Informace může být reprezentována maticí rotace R a vektorem posunu T. Vnější
L. Boleček, V. Říčný: Program pro výpočet prostorových souřadnic …
8
kalibraci kamer je potřeba provést vždy při změně pozice snímacích kamer. Posledním krokem v rekonstrukci pozice prostorového bodu je triangulace. Všechny kroky prováděné v procesu rekonstrukce prostorového modelu scény je možné provádět různými metodami. Matematický aparát je založen na tzv. epipolární geometrii.
3
Uživatelské rozhraní a možnosti programu
Vzhled uživatelského prostředí je na obr. 7 na konci článku. Pracovní okno je rozděleno do pěti základních pracovních oblastí. Vlevo nahoře je oblast pro načítání a následné zobrazení vstupních snímků. Pod tímto blokem se nachází blok pro řešení operací a nastavení při hledání bodových korespondencí a rektifikace obrazu. Poslední pracovní oblast v levé polovině se týká kalibrací kamery. Horní část pravé poloviny obrazovky umožňuje samotnou rekonstrukci obrazu. Poslední pracovní oblast slouží pro odhad hloubkové mapy. Většina úkonů je řešena přímo v základním uživatelském okně a jejím hlavním panelu, ve kterém je také zobrazena většina výstupů. To umožňuje práci s jediným oknem. Program nabízí možnost exportu průběžných výsledků pro pozdější samostatné zpracování. Možnost ukládání výstupů mezikroků přináší také tu výhodu, že uživatel nemusí pokaždé znovu provádět všechny kroku postupu a ušetří tím čas a výpočetní prostředky.
Obr. 1.
Vývojový diagram možných použití aplikace.
Možnosti aplikace a postup výpočetních procesů lze sledovat ve vývojovém diagramu na obr. 1. V následujících podkapitolách budou postupně popsány funkce, které daná aplikace nabízí. Současná verze programu významně rozšiřuje možnosti aplikace popisované v článku [4]. Jednotlivé funkce odpovídají blokům vývojového diagramu. Postup práce uživatele v programu odpovídá postupu, jakým jsou dále popisovány možnosti programu. Uživatel postupuje v aplikaci od levého horního rohu po pravý dolní roh. Práce s programem kopíruje základní metodický postup rekonstrukce modelu,
Slaboproudý obzor Roč. 70 (2014) Číslo 1
tak jak byl popsán v kapitole 2. Hloubkovou mapu však lze generovat bez provedení jakékoliv jiné operace.
3.1 Hledání korespondenčních bodů Velmi důležitým úkolem v procesu zjišťování prostorových souřadnic 3D scény je vyhledání korespondenčních bodů. Aplikace nabízí širokou paletu možností provádění tohoto kroku. Korespondenční body jsou takové body dílčích obrazů, které odpovídají stejnému bodu v prostoru. Pro správnou rekonstrukci prostorové souřadnice daného bodu je nutné nalézt v levém i pravém vstupním obraze body, které daný bod reprezentují. Situace je schematicky zachycena na obr. 3. Proces hledání korespondenčních bodů bývá zpravidla rozdělen do dvou dílčích kroků, na nalezení výrazných bodů v obou obrazech (Significant Points) a na nalezení korespondencí mezi nimi. Pro daný úkol byla v uplynulých desetiletích navržena řada metod. Aplikace umožňuje hledání výrazných bodů pomocí několika různých a v literatuře dobře popsaných metod: •
Harris Detector [5].
•
Scale-Invariant Feature Transform (SIFT) [6].
•
Speeded up Features (SURF) [7].
•
Fast Radial Feature Detektor [8].
První dvě patří do kategorie detektorů. Musí být proto doplněny dalším krokem, a to hledáním korespondencí neboli přiřazených shodných bodů k sobě. Další dvě metody patří mezi deskriptory a umožňují bezprostřední nalezení korespondencí. Aplikace pomocí těchto metod umožňuje vyhledání výrazných bodů v obrazech, reprezentovaných v různých modelech: •
monochromatický snímek,
•
RGB model s pravými barvami,
•
HSV model,
•
RGB model s nepravými barvami.
Příspěvek autorů představuje zejména využití nepravých barev v procesu vyhledávání korespondenčních bodů (kapitola 4.1). V neposlední řadě má uživatel možnost určit počet hledaných korespondencí. Nalezené korespondence jsou reprezentovány ve formě dvou dvousloupcových vektorů. Každý vektor reprezentuje body nalezené v jednom ze snímků. Jeden ze sloupců reprezentuje horizontální pozici vektoru ve snímku a druhý vertikální pozici bodu ve snímku. Po nalezení korespondencí může uživatel nalezená data uložit. Kromě získání korespondencí tímto způsobem má uživatel několik dalších možností. První možností je načtení uložených korespondencí z lokálního disku. Student či experimentátor má také možnost vytvořit manuálně vlastní sadu korespondencí (vybráním odpovídajících si bodů v obou obrazech). V následných krocích je proto možné volit, která ze sad má být k výpočtům použita (program umožňuje používat obě současně). Jakmile je jakýmkoliv z výše popsaných způsobů získána sada odpovídajících si bodů, nabízí aplikace poslední možnost modifikace této sady, a to využitím tzv. eliminace falešných korespondencí. To je proces, při kterém jsou detekovány a eliminovány páry bodů, které k sobě byly přiřazeny chybně. Nalezení chybné korespondence je relativně častý jev.
Slaboproudý obzor Roč. 70 (2014) Číslo 1
L. Boleček, V. Říčný: Program pro výpočet prostorových souřadnic ...
Ve vytvořené aplikaci je možné eliminovat falešné korespondence dvěma různými způsoby, a to použitím známého a často používaného algoritmu RANSAC [9], a nebo použitím postupu publikovaného v [10] (stručně popsán v kapitole 5.2), který je založen na použití určitých omezujících podmínek a vznikl rozšířením původního algoritmu popsaného v článku [11].
3.2 Kalibrace kamery Kalibrace kamery je velmi důležitý proces při rekonstrukci 3D scény. Tento krok je v odborné literatuře dokonale popsaný, a proto se jím v rámci tohoto článku nebudeme blíže zabývat. Kalibraci je možné provést, jakmile máme k dispozici sadu korespondujících bodů. V aplikaci jsou využity známé a již dříve publikované matematické postupy. Vnější kalibrace je provedena pomocí osmibodového algoritmu [3]. Vnitřní kalibrace je provedena v aplikaci pomocí implementace funkcí volně šířitelného toolboxu pro MatLab Calib Toolboox [12]. V něm je používána kalibrace s kalibračním vzorem založená na metodě publikované v [13]. Kromě aktuálního provedení kalibrace je možné také načíst kalibrační matici k vnitřní kalibraci z lokálního disku nebo ji manuálně vyplnit. Kalibrace může být provedena s využitím jednotlivých sad korespondujících bodů, a to buď z nalezených korespondencí, z manuálně určených korespondencí, nebo pomocí obou sad korespondencí. Po provedení korespondencí máme již dostupné všechny informace, potřebné k rekonstrukci modelu scény.
3.3 Rekonstrukce prostorového modelu a výpočet prostorových souřadnic Prvním ze dvou hlavních cílů je určení prostorových souřadnic vybraných korespondujících bodů a vytvoření prostorového modelu snímané scény. I v této finální fázi nabízí aplikace různé možnosti. První variantou je výpočet celkového modelu (tlačítko: Calculate Reconstruction) - tedy výpočet prostorových souřadnic pro všechny prostorové body odpovídající nalezeným párům odpovídajících si obrazových bodů. Souřadnice jsou spočítány a výsledná prostorová síť je zobrazena. K výpočtu je použit v odborné literatuře dobře popsaný postup triangulace. Druhou variantou je možnost výpočtu prostorových souřadnic pro konkrétní, uživatelem zvolený bod v levém snímku. K tomu je ovšem potřeba nalezení odpovídajícího bodu v pravém snímku. Nalezení této individuální korespondence umožňuje program provést pomocí standardně používaných funkcí založených na měření míry podobnosti. Aplikace nabízí funkce: • • • • • • •
Sum of Absolute differences SAD, Zero-mean Sum of Absolute Differences ZSSD, Normalized Cross Correlation NCC, Zero-mean Normalized Cross Correlation ZNCC, Sum of Squared Differences SSD, Zero-mean Sum of Squared Differences ZSSD, Locally scaled Sum of Absolute Differences LSSD.
Pokud je použita klasická metoda, volí uživatel dále parametry vyhledávání, kterými jsou: •
velikost vyhledávacího okna,
• •
9
oblast prohledávání, prahové hodnoty.
Jinou možností nalezení individuální bodové korespondence je využití automatické funkce navržené v [10] a stručně zmíněné v odstavci 4.3. Tato funkce má širší využití než jen hledání individuální korespondence. Dosažené výsledky mohou být interpretovány dvěma různými způsoby, kromě již zmíněného grafického vyjádření modelu. Je možné využít také přesné numerické vyjádření tří prostorových souřadnic v souřadném systému s definovaným počátkem.
3.4 Odhad hloubkové mapy Poslední sekce aplikace umožňuje splnění druhého hlavního cíle, kterým je odhad hloubkové mapy. I tentokrát má uživatel aplikace na výběr z několika metod pro získání cíleného výstupu. Aplikace nabízí několik postupů, které je možné i navzájem kombinovat. Základní metodou je výpočet počáteční hloubkové mapy pomocí metody založené na míře podobnosti okolí [14]. Na tento základní odhad lze navázat využitím metod navržených v [15]. Metody budou stručně popsány v kapitole 5.4. Dle zvolené metody se uživateli zpřístupní různá nastavení metody. Nezkušený uživatel má samozřejmě možnost použít defaultní nastavení. To však nemusí vždy přinést ty nejlepší výsledky.
4
Navrhované postupy
V této kapitole jsou stručně popsány jen ty algoritmy použité v popisovaném systému, které byly autory navrženy. Vzhledem k rozsahu článku bude jejich popis jen stručný.
4.1 Využití nepravých (pseudo) barev Snímek reprezentovaný v nepravých (pseudo) barvách používá klasický RGB model. Každý pixel je reprezentován pomocí tří základních barev. Barvy obrazových bodů neodpovídají reálným barvám odpovídajících bodů analyzované 3D scény. Pro konverzi snímku do nepravých barev byly navrženy různé metody. Ve vytvořené aplikaci je použita metoda popsaná v [16]. Vstupní snímky jsou převedeny do nepravých barev a následně jsou v nich hledány výrazné body. Výsledky jsou ovlivněny použitými parametry konverze. Obraz v nepravých barvách má vyšší barevný kontrast a tím je přesnější nalezení výrazných bodů i v původně monotónních oblastech bez výraznějších změn jasového kontrastu. Použití tohoto postupu však s sebou nese zvýšení rizika falešné korespondence. Tento problém však může být řešen pečlivou eliminací falešných korespondencí, podpořenou předzpracováním snímku - konkrétně využitím jasových transformací.
4.2 Eliminace falešných korespondencí Eliminace falešných korespondencí je nutný krok k zvýšení spolehlivosti dosažených výsledků. Navržený postup spočívá v dodržení určitých omezujících podmínek pro dvojici korespondujících bodů. Pravidla kombinují omezení velikosti horizontální paralaxy, extrémních úhlů spojnice korespondujících bodů a podobnosti okolí zkoumaného bodu. V prvním kroku jsou získány omezující podmínky. Nejprve je spočítán průměrný úhel β, který svírá spojnice ztotožněných bodů s horizontální osou. K průměrnému úhlu je dopočítán jeho
10
L. Boleček, V. Říčný: Program pro výpočet prostorových souřadnic …
interval spolehlivosti, který slouží jako prahová hodnota při posuzování. V případě, že příslušný uhel β nespadá do určeného intervalu spolehlivosti, korespondence bodů je vyhodnocena jako falešná. Druhé omezení spočívá ve vymezení velikosti horizontální paralaxy. Paralaxa mezi levým a pravým snímkem musí vždy nabývat kladných hodnot a její maximální velikost je odvezená od maximální paralaxy u spolehlivých korespondencí. Posledním omezením je omezení odchylek jasových hodnot v definovaných okolích korespondujících bodů. Nejprve je na základě spolehlivých korespondencí spočítána průměrná odchylka okolí daných bodů a je určen práh, který by diference neměla překročit. Následně jsou spočítány diference mezi okolími korespondujících bodů. Pokud diference pro příslušnou korespondenci překročí zvolený práh, pak je vyhodnocena jako falešná.
4.3 Hledání korespondence pro individuální bod Cílem dalšího z dílčích kroků aplikace je nalezení odpovídajícího bodu v pravém obraze pro konkrétní zvolený bod v levém snímku. Tento úkol je relativně nenáročný, pokud je hledaný bod nějakým způsobem jednoznačně identifikovatelný a odlišný od dalších bodů v obraze. V takovém případě není problém odpovídající bod najít pomocí klasických metod, které určitým způsobem porovnávají okolí zvoleného bodu a okolí jednotlivých bodů v pravém obraze. Používané metriky počítají téměř výhradně s informací o jasu pixelu. Problém však nastane, pokud zvolený bod leží v monotónní oblasti s nízkým kontrastem. Navržený postup je založen na předpokladu, že body ležící ve stejné oblasti budou mít stejnou hloubku. Toto tvrzení je tím pravděpodobnější, čím menší daná oblast je. Pozice a tedy i hloubka (souřadnice z) daného bodu v prostoru je reprezentována jeho obrazovými souřadnicemi v levém a pravém snímku – přesněji vyjádřeno změnou mezi těmito pozicemi v levém a pravém snímkem. Postup je následující: nalezneme výrazné body v okolí zvoleného bodu použitím algoritmu SURF. Z nalezené sady vybereme 5 nejbližších bodů ke zvolenému bodu. K vyhodnocení je použita Euklidova vzdálenost. Následně ze znalosti pozice nejbližších bodů v levém (SURFposL) i pravém snímku (SURFposR) lze vypočítat tzv. pohyb obrazového bodu (SURF_mov). Je to dvousložkový vektor spočítaný jako rozdíl horizontálních a vertikálních souřadnic odpovídajících si bodů. Platí
SURFmov = SURFposL − SURFposR .
(1)
Ze znalosti SURFmov a pozice zvoleného bodu v levém snímku (selectleft) lze vypočítat potencionální souřadnice zvoleného bodu v pravém obraze (potential_pos). Výpočet je proveden dle rovnice
potential _ pos = selectleft − SURFmov .
(2)
Tak se získá pět potencionálních pozic obrazu zvoleného bodu v pravém snímku. Další fáze algoritmu slouží k identifikaci nereálných potencionálních pozic a určení finální pozice odpovídajícího bodu. Podrobnější popis je možné nalézt v [10]. Výstupem operace je nalezení pozice korespondujícího bodu v pravém snímku ke zvolenému bodu v levém snímku. Na základě této obrazové souřadnice potom v dalším kroku lze
Slaboproudý obzor Roč. 70 (2014) Číslo 1
spočítat všechny tři prostorové souřadnice příslušného bodu. Princip metody je zachycen na obr. 2.
Obr. 2.
Ilustrace základního principu metody hledání korespondence pro konkrétní bod.
4.4 Tvorba hloubkové mapy Počáteční hloubková mapa je tvořena pomocí podobnostních metrik jmenovaných výše. Pro každý bod v levém snímku se hledá nejpodobnější pixel v pravém snímku. Tak se získá pár korespondujících bodů a z jejich horizontální disparity je určena jejich hloubka. Vyhledávání probíhá za různých omezujících podmínek. Zásadní podmínkou je předpoklad, že vstupní snímky jsou stereoskopické nebo že došlo k jejich rektifikaci. To znamená, že odpovídající bod je hledán pouze na shodném řádku. Vyhledávání může být dále omezeno tím, že bod musí ležet napravo od původního, tedy že jeho paralaxa je kladná a má určitou minimální a maximální hodnotu. Tyto parametry může uživatel v programu nastavit. Tímto postupem může být získaná (původní) mapa dále vylepšována. Aplikace nabízí dva základní přístupy. První z nich je založen na segmentaci obrazu. Základní myšlenkou je rozdělení obrazu na dílčí segmenty a zjištění, jakou hloubku mají výrazné body spadající do dané oblasti. Na základě této informace lze určit hloubku celé analyzované omezené oblasti. Druhým přístupem ke zlepšení původní hloubkové mapy je využití předpokladu spojitosti hloubkové mapy s využitím hranové reprezentace obrazu. Algoritmus pracuje po jednotlivých řádcích snímku. V počáteční hloubkové mapě jsou nalezeny nulové oblasti, které jsou v počáteční mapě vždy přítomny. Následně je určena hloubka na okrajích nulových oblastí (depth_Rborder a depth_Lborder) a délka nulové oblasti regionu (length). V dalším kroku je vypočítán parametr delta dle následujícího vztahu:
delta =
depth _ Lborder − depth _ Rborder length
.
(3)
Parametr delta reprezentuje rychlost změny hloubky v dané oblasti (nulové oblasti). Jestliže jsou delta nebo length menší než určené prahy, je použit následující vztah pro výpočet hloubky D jednotlivých nulových bodů: D = depth _Lborder + delta.
(4)
V jiných případech je použita dříve získaná hranová reprezentace. V závislosti na přítomnosti nebo nepřítomnosti hrany na okraji nulové oblasti lze rozlišit 4 různé situace a způsoby výpočtu hloubky jednotlivých pixelů. Možné situace jsou uvedeny na obr. 3.
Slaboproudý obzor Roč. 70 (2014) Číslo 1
L. Boleček, V. Říčný: Program pro výpočet prostorových souřadnic ...
5
lenght Edge_pre = 0
seg. A Edge_pre = 0
seg. B Edge_pre = 1
seg. A Edge_pre = 0
seg. B Edge_pre = 0
seg. A Edge_pre = 1
seg. B Edge_pre = 1
seg. A Edge_pre = 1
Obr. 3.
seg. B
Ilustrace čtyř možných situací v metodě využívající spojitosti v obraze.
a)
11
Výsledky
Pro ilustraci možností použití navrženého programu jsou v této kapitole uvedeny příklady analyzovaných stereoskopických snímků bez zobrazení uživatelského prostředí, které by zabíralo velkou část plochy obrázku a výsledky by nebyly dobře čitelné. Příklady dvou analyzovaných vstupních levých snímků jsou uvedeny na obr. 4 a výsledné modely na obr. 5. Pro větší přehlednost je použito barevné odlišení zrekonstruovaných bodů příslušných k různým objektům ve snímcích. Barevné odlišení rekonstruovaných bodů odpovídá barevnému značení jednotlivých objektů ve vstupních obrazech. Obr. 6 zobrazuje hloubkové mapy získané pomocí aplikace v po-rovnání s pravdivými hloubkovými mapami. Pravdivá hloubková mapa představuje přesnou hloubkovou interpretaci scény. Získává se různými referenčními metodami (např. měřením pomocí laserového dálkoměru aj.). Menší úrovni jasu odpovídá menší hloubka.
6
Závěr
V článku je popsán navržený a realizovaný program v prostředí MATLAB pro zjišťování prostorových souřadnic bodů 3D scény a tvorbu její hloubkové mapy. Aplikace je přehledná a uživatelsky příjemná. Její rozhraní umožňuje interaktivní práci s programem i neodborníkovi v oblasti analýzy 3D scén. Poskytuje značnou variabilitu nastavení, která naopak umožňuje zkušenému uživateli, znalému problému, významně ovlivňovat probíhající procedury. Vzhledem k tomu, že aplikace nabízí, kromě známých standardních postupů, i nově navržené metody, je použitelná i pro další experimenty v oblasti analýzy 3D scény a zejména pro výukové účely. Program může nalézt uplatnění v různých praktických aplikacích v oblastech strojírenství či stavebnictví. Software umožňuje postupné provedení celého postupu rekonstrukce prostorových souřadnic libovolné 3D scény a vytvoření její hloubkové mapy. Aplikace nabízí volbu široké škály postupů pro provedení jednotlivých kroků rekonstrukce. Koncepce aplikace umožňuje také implementaci dalších nových metod. Výstupem analýzy může být trojrozměrný model scény, hloubková mapa nebo vektor obsahující čistě numerickou interpretaci prostorových souřadnic bodů scény. Program umožňuje výpočet prostorových souřadnic jak pro automaticky nalezené body, tak pro body manuálně vybrané.
Poděkování
b) Obr. 4.
Příklady vstupních snímků s barevným odlišením objektů v různých hloubkách: a) scéna I, b) scéna II.
Tento příspěvek vznikl za podpory grantu GAČR Výzkum a modelování pokročilých metod hodnocení kvality obrazové informace 102/10/1320, Výzkumného záměru MSM 0021630513, projektu Zpracování signálu v mobilních a bezdrátových komunikačních systémech FEKT - S-11-12 a centra S. I. X.
L. Boleček, V. Říčný: Program pro výpočet prostorových souřadnic …
12
Literatura [1] Mikhail, E. M., Bethel, J. S., McGlone, J. CH. Introduction to Modern Photogrammetry. New York: John Wiley & Sons, 2001. 479 s. ISBN 0-471-30924-9. [2] Kraus, K. Photogrammetry: Geometry from Images and Laser Scans. 2nd edition. Berlín: Walter de Gruyter, 2007. 459 s. ISBN 978-3-11-019007-6. [3] Ma, Y., Soatto, S., Kosecka, J., Sastry, S. S. An Invitation to 3-D Vision: From Images to Geometric Models. 1st. Springer, 2003, 526 p. Interdisciplinary Applied Mathematics, 26. ISBN 978-0-387-00893-6. [4] Boleček, L, Říčný, V. GUI for reconstruction of 3D coordinates. In Proc. of 20th Annual Conference, Technical Computing Bratislava 2012. Bratislava: RT Systems s.r.o., 2012, s. 1-6. ISBN 978-80-970519-4- 5. [5] Harris, C., Stephens, M. A. Combined Corner and Edge Detector. Proc. 4th Alvey Vision Conference. 1988. p. 147-151. [6] Lowe, D. Distinctive Image Features from Scale-Invariant Keypoints. International Journal of Computer Vision, 2004, vol. 60, no. 2, p. 91-110. URL:
[7] Bay, H., Tuytelaars, T., Gool, L. V. SURF: Speeded up Robust Features. Proc. of the 9th European Conference Computer Vision, 2006, p. 404-417. [8] Fast Radial Feature Detector [online]. [9] Fischer, M. A., Bolles, R. C. Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography. Communication of ACM, 1981, vol. 24, no. 6, p. 381−395. URL:
[10] Boleček, L., Říčný, V., Slanina, M. 3D Reconstruction: Novel Method for Finding of Corresponding Points. Radioengineering, 2013, vol. 22, no. 1, p. 82-91. ISSN: 1210- 2512. [11] Chuan, L., Jinjin, Z., Chuangyin, D., Hongjun, Z. A Method of 3D Reconstruction from Image Sequence. Image and Signal Processing, 2009. CISP '09. 2nd International Congress on Signal Processing, 2009, p. 1-5, doi: 10.1109/CISP.2009.5305647. URL: [12] Bouguet, J.-Y. Camera Calibration Toolbox for Matlab [open source software] [online]. Last updated July 9th, 2010. . [13] Zhang, Z., Flexible Camera Calibration by Viewing a Plane from un-known Orientations. Computer Vision, 1999. The Proceedings of the Seventh IEEE International Conference, vol. 1, 1999, p. 666-673, doi: 10.1109/ ICCV.1999.791289. URL: [14] Lankton, S. 3D Vision with Stereo Disparity [online]. [cit. 2013-02-26]. [15] Boleček, L., Říčný, V. The Estimation of a Depth Map Using Spatial Continuity and Edges. In 36th International Conference on Telecommunications and Signal Processing. Rome (Italy), 2013, p. 740 - 744. [16] Lehman, T., Kaser, A., Repges, R. A simple parametric equation for pseudocoloring grey scale images keeping their original brightness progression. Image and Vision Computing, 1997, vol. 15, no. 3, p. 251-257.
a)
c) Obr. 5.
Slaboproudý obzor Roč. 70 (2014) Číslo 1
b)
d)
a) čelní pohled na scénu I, b) pohled shora na scénu I, c) čelní pohled na scénu II, d) pohled shora na scénu II.
Slaboproudý obzor Roč. 70 (2014) Číslo 1
L. Boleček, V. Říčný: Program pro výpočet prostorových souřadnic ...
a)
b)
13
c)
Obr. 6.
Hloubkové mapy dvou různých scén a) snímek scény b) hloubková mapa získaná pomocí programu, c) pravdivá hloubková mapa.
Obr. 7.
Pracovní okno aplikace.