Rok / Year: 2011
Svazek / Volume: 13
Číslo / Number: 6
Algoritmus pro detekci stínů v aplikací profilometrie The algorithm for shadows detection in profilometry applications Libor Boleček, Václav Říčný
[email protected],
[email protected] Fakulta elektrotechniky a komunikačních technologií VUT v Brně.
Abstrakt: Článek je věnován detekci stínů v profilometrii, která se zabývá analýzou a zjišťováním hloubkových profilů různých scén. Článek poskytuje stručný přehled metod detekce stínůa navrhuje nový přístup k této problematice. Nalezení stínůve snímcích získaných při profilometrickém snímáním má určitá specifika, vyplývající z povahy snímků. Detekce stínů a eliminace jejich vlivu při následném zpracování je důležitým krokem při vytváření hloubkové mapy touto aktivní metodou. Proto byl navržen speciální algoritmus využívající pro detekci několik vstupních obrazů. Testy byla ověřena správná a spolehlivá funkce algoritmu a vliv kvality detekce stínůna další zpracování obrazu. V článku je rovněž popsána možnost zpřesnění tvorby hloubkové mapy.
Abstract: The article deals with the detection of shadows in the image. Shadow detection is performed as one of the steps of the algorithm to enhance the depth maps by active profilometry.
2011/58 – 20. 11. 2011
VOL.13, NO.6, DECEMBER 2011
Algoritmus pro detekci stínů v aplikací profilometrie Libor Boleček1, Václav Říčný. Csc 1
Fakulta elektrotechniky a komunikačních technologií VUT v Brně Email:
[email protected],
[email protected]
Abstrakt – Článek je věnován detekci stínů v profilometrii, která se zabývá analýzou a zjišťováním hloubkových profilů různých scén. Článek poskytuje stručný přehled metod detekce stínů a navrhuje nový přístup k této problematice. Nalezení stínů ve snímcích získaných při profilometrickém snímáním má určitá specifika, vyplývající z povahy snímků. Detekce stínů a eliminace jejich vlivu při následném zpracování je důležitým krokem při vytváření hloubkové mapy touto aktivní metodou. Proto byl navržen speciální algoritmus využívající pro detekci několik vstupních obrazů. Testy byla ověřena správná a spolehlivá funkce algoritmu a vliv kvality detekce stínů na další zpracování obrazu. V článku je rovněž popsána možnost zpřesnění tvorby hloubkové mapy.
1 Úvod 3D zobrazování je v současné době velmi aktuální téma. Trojrozměrné (3D) zobrazení získává na významu v mnoha oblastech lidské činnosti, počínaje zábavním průmyslem a 3D filmy až po průmyslové nebo lékařské aplikace. Informace o prostorovém rozložení snímané scény lze získat několika způsoby. Metody získání informace o hloubce scény (3D informace) z dvojrozměrných snímků lze dělit podle několika hledisek. Jedním ze základních kritérií je, zda se jedná o přístup aktivní či pasivní. Pasivní metody jsou takové, kdy do dané snímané scény není přidána žádná přídavná informace. Reprezentantem těchto metod je stereofotogrammetrie založená na bipolární geometrii a použití dvou snímků scény [10],[11]. Pokud je do scény přidána další přídavná informace jedná se o aktivní metody. Profilometrie je zástupcem aktivních metod. Pomocná informace je dodána projekcí vzoru na snímaný objekt (viz Obrázek 1). Základní princip této metody je vyjádřen vývojovým diagramem na Obrázku 2, podrobnější popis je možné najít v literatuře [9]. Závěrečným a nejobtížnějším krokem v procesu získání informaci o fázi, který je společný pro mnoho různých systémů, je rozbalování fáze (phase unwraping). Nerozbalená fáze v rozsahu od -π do π a vykazuje náhlé změny o 2π (wraps). Cílem rozbalení fáze je vytvoření kontinuální fáze neobsahující tyto náhlé změny. Během rozbalování fáze jsou problematické oblasti stínů, ve kterých dochází k častým skokům fáze (jedná se o falešné skoky), což způsobuje selhání algoritmu. Proto je nutné stíny detekovat a jejich vliv eliminovat. Tento problém vznikl při našem výzkumu, možností využití profilometrie pro zpřesnění hloubkové mapy získané použitím stereoskopických snímků. Schématické znázornění experimentálního pracoviště je na Obrázku 3.
2 Profilometrie a volba vhodné metody pro zisk hloubkové mapy Hloubkovou mapu scény lze získat různými způsoby, ale ne všechny jsou vhodné pro všechny situace. Je potřeba zdůraznit, že v případě zmíněného výzkumu se nejedná o tvorbu přesného 3D modelu použitím přesné, na epipolární geometrii, založené fotostereogrammetrii, známé zejména v průmyslových aplikacích – např. ve stavebnictví či strojírenství. Našim cílem bylo vytvoření hloubkových map objektů či menší snímaných scén - např. jednoduchých muzejních exponátů. Zásadním omezením je velikost snímané scény, omezená možností kvalitní projekce. Druhý problém představuje určení vzájemného vztahu hloubek mezi více samostatnými objekty scény. Profilometrie bývá většinou používána pro vytvoření profilu objektu se souvislým plynule se měnícím povrchem. V projektu chceme použít profilometrii jako zpřesňující metodu pro obecnou (avšak malou scénu) s více objekty. To přináší dva typy problémů. První představuje již zmíněné určení vzájemné polohy objektů. Druhým problémem je výskyt stínů objektů, kvůli němuž může dojít k selhání algoritmu pro rozbalení fáze. Zejména tímto problémem a z toho vyplývajícím problémem detekce stínů se zabývá tento článek.
3
Metody pro detekci stínů
Pro detekci stínů je používán velký počet různých metod. Ve většině případů se detekcí zabýváme u videosekvencí a metody jsou založeny na faktu, že je k dispozici více snímků. Přístupy lze rozdělit na dvě základní kategorie: využití mezisnímkové diference a odečtení pozadí. Prvním krokem je vždy nalezeni změn v aktuálním snímku. Tyto změny nastávají v oblastech pohybujících se objektů a jejich stínů. V další fázi je nutné odlišit stíny od objektů. Ucelený přehled metod je např. ve studii [1] z roku 2006. Jako příklady aktuálních přístupů lze uvést metodu založenou na využití samoučícího algoritmu [2]. Stejně jako v této metodě i Yuqi Wang ve svém článku [3] navrhuje metodu používající detekci hran. Liang Zhang ve své práci [4] aplikuje využití metody Scale Invariant Feature Transform (SIFT), která je běžně používána při hledání význačných bodů v obraze. Bangyu Sun představuje metodu založenou na kombinaci dvou barevných modelů [5]. Odlišný problém musí být řešen, pokud jsou stíny hledány v samostatných obrazech. Jeden z možných přístupů je využití vlnkové transformace, pro segmentaci pozadí a eliminací stínů [6]. Metoda popsaná v článku GUO Hai-taa [7] využívá sa-
58 – 1
2011/58 – 20. 11. 2011
VOL.13, NO.6, DECEMBER 2011
motný jas obrazových bodu (statistické informace), geometrii a informaci vyplívající z kontextu snímku. Další z metod publikována Jean-Francois Lalonde [8] je založena na faktu, že stín ve venkovní scéně zpravidla dopadá na omezený typ pokladu (asfalt, tráva, kámen). Tato metoda používá tréninkové sady a učící algoritmus.
Obrázek 3: Schematický nákres pracoviště pro měření hloubkové mapy metodou profilometrie
4 Navrhovaný nový algoritmus detekce stínů
Obrázek 1: Snímaná scéna s projekcí vzoru
Detekce stínu v aplikaci profilometrie má specifické vlastnosti. Jednou z nich je, že je k dispozici více různých snímků, což umožňuje použití speciálního rychlého algoritmu. Prvním snímkem je originální scéna (objekt) bez promítnutého vzoru. Další obraz, představuje promítnutý vzor. Třetím snímkem je objekt s promítnutým vzorem a posledním hloubková mapa získaná metodou stereofotogrammetrie. Vývojový diagram navrženého algoritmu je zobrazen na Obrázku 4. Proces je možné rozdělit na několik kroků. V první části je vzájemným odečtením snímků object_project a object je docíleného toho, že v místech stínů vzniknou oblasti s konstantním jasem (viz Obrázek. 5). K zvýraznění tohoto efektu lze užít podmínku, zaručující, že v obrazových bodech, ve kterých jas v původním snímku přesáhl určitý prah, bude ve výsledném snímku maximální jas (bílá barva). Tímto krokem bude zamezeno efektu proužku na místech světlých objektů případně bílého pozadí (viz Obrázek 6). Tyto tmavé proužky by samozřejmě komplikovaly detekci stínů, které mají také tmavý odstín. Dalším nepříznivým efektem, znemožňujícím správnou detekci stínů, jsou oblasti s nízkým jasem v místech tmavých objektů. Tento artefakt lze eliminovat využitím hloubkové mapy získané ze stereosnímků. Hloubková mapa má v oblastech, kde byly nalezeny blízké objekty, vysoký jas (malé vzdálenosti od pozorovatele). Proto zavedeme následující podmínku. If (Depth_stereo > Threshold_Depth ) Output = 1; End Výsledný snímek je na Obrázku 7.
Obrázek 2: Vývojový diagram profilometrické metody generování hloubkové mapy
V závěrečné fázi detekce stínů jsou použity morfologické operace eroze a uzavírání. Tyto procedury zajistí potlačení menších oblastí falešných stínů. Tyto oblasti mohou vzniknout v průběhu předešlého postupu jako nechtěné artefakty napří58 – 2
2011/58 – 20. 11. 2011
VOL.13, NO.6, DECEMBER 2011
klad v regionech s nízkým jasem, které nebyly odhaleny v původní hloubkové mapě jako objekty. Vlivem morfologických operací může dojít i k odstranění skutečných oblastí malých stínů. Tento fakt však nemá zásadní vliv na následující zpracování obrazu. Na výsledném snímku (viz Obrázek 8) jsou bílou barvou označeny oblasti, ve kterých byly detekovány stíny.
Start
Načtení snímků (DepthStereo,Object,Obje ct_Pattern,Pattern )
zobrazen na Obrázku 4. Experiment byl proveden pro několik různých scén (v článku jsou uvedeny výsledky jen pro jednu vybranou scénu). Snímaná scéna, jejíž hloubkovou mapu je třeba vytvořit je na Obrázku 9. Ze snímků je patrné, že z důvodu výskytu tmavých objektů nelze použít jednoduché prahování. Tmavé objekty mohou obecně přinášet problémy i v navrhované metodě, ale ve většině případů je možno tento problémový aspekt eliminovat. Falešné detekci stínů v místech tmavých objektů, předcházíme využitím hloubkové mapy získané pasivní stereometrickou metodou. Aplikací předpokladu, že stíny nemohou být v popředí scény (viz kapitola Závěr). Upravovaná hloubková mapa byla získána pomocí stereosnímků pořízených kamerou se stereonástavcem (nikoliv dvěma kamerami). Z výsledku je patrná hloubka jednotlivých předmětů. V rámci jednotlivých předmětů se však vyskytují nepřesnosti a artefakty, což by u složitějších scén mohlo působit problémy. Pro vylepšení hloubkové mapy jednotlivých objektů scény bylo proto vyzkoušena profilometrie. Základní algoritmus profilometrie je jednoduchý a snadno aplikovatelný. Zásadní problém však představuje proces rozbalení fáze, pro který byl použit algoritmus PUMA[12]. Algoritmus však selhával z důvodu prudkých změn fáze v oblastech výskytu stínů. Z toho důvodu byl navržen algoritmus pro detekci stínů v obraze. Snímky z jednotlivých kroků algoritmu jsou uvedeny na Obrázcích 5 až 8. Z výsledků je patrné, že navržený algoritmus umožňuje kvalitní detekci stínu.
Rozdíl snímků Object-Object_Pattern
Prahování snímku Object
V obrazových bodech spadajících do oblasti stínu, pak byla před rozbalením fáze nahrazena původní hodnota nulovým jasem. Díky této úpravě již nedocházelo k selhání a byla získána hloubková mapa zobrazena na Obrázku 11. Z výsledku a zejména z průběhu vybraného řádku (červená linka v obraze snímané scény) na Obrázku 12 je patrné, že bylo dosaženo dobrého výsledku. Problémem profilometrie je určení vzájemného vztahu jednotlivých objektů (tuto informaci lze ovšem získat použitím steosnímků) na druhou stranu byl získán kvalitnější průběh profilu jednotlivých objektů a ucelenější vzhled bez artefaktů. Obrázek 13 zobrazuje další vybrané výsledky detekce stínů.
Prahování snímku DepthStereo
Morfologické operace Object (i.j) > ThreshWhite
End
Obrázek 4: Vývojový diagram navrhované metody pro detekci stínů
5 Experimentální výsledky Funkce navrženého algoritmu byla ověřena experimentálně. Experiment současně testoval správnost úvahy o vylepšení hloubkové mapy kombinací dat získaných stereometrii s použitím dvou kamer a s informací získaných pomocí profilometrie. Měřící pracoviště pro tento experiment je schematicky zobrazeno na Obrázku 3. Promítaný vzor byl vytvořen v prostředí MATLAB a promítán projektorem. Hloubková mapa byla získána pomocí volně šiřitelného programu (tvorba vlastního softwaru je součásti výzkumu). Navržený algoritmus byl implementován ve vývojovém prostředí MATLAB a jeho vývojový diagram je
6 Závěr Experimenty prokázaly, že pomocí navrženého algoritmu je možné detekovat stíny v profilometrických snímcích. Použitá metoda je založena na předpokladech, které mohu do určité míry omezit její použitelnost pro jistou kategorii scén, které by způsobovali níže popsané problémy. První komplikací by mohly způsobovat tmavé objekty vyskytující se ve snímané scéně. Problém tmavých objektů je do určité míry eliminován v kroku prahování DeptStereo, který zajistí, že jako stín nebudou vyhodnoceny oblasti, které jsou v „popředí“ scény (tedy i tmavých objektů). Nicméně problém může nastat u vzdálenějších tmavých objektů. Tento problém by bylo možno definitivně vyřešit použitím segmentace a přesným určením umístění objektů v obraze. Další komplikací se může zdát situace, kdy objekt v popředí vrhá stín na objekt v pozadí a možnost, že takový stín neodhalíme. Toto však není závažný problém, Pokud jsou objekty blízko za sebou, je i posun stínů malý (případně žádný) a neovlivňuje algoritmus rozbalování fáze.
58 – 3
2011/58 – 20. 11. 2011
VOL.13, NO.6, DECEMBER 2011
Pokud je jejich odstup větší, potom objekt v pozadí nebude mít v hloubkové mapě DepthStereo velký jas a nebude vyhodnocen jako objekt, ale jako pozadí a stín bude úspěšně detekován. Skutečnost, že si algoritmus uspokojivě poradí s tmavými objekty v popředí a vrhání stínu na jiný objekt ukazuje i ukázkový příklad. Vzhledem ke skutečnosti , že metoda je navrhována pro konkrétní užití v aplikaci, nevyžadujeme extrémní robustnost v komplikovaných scénách. V důsledku detekce stínu je možné úspěšně rozbalit fázi získanou v první fázi profilometrie a tím získat hloubkovou mapu scény. V dalším výzkumu bude zkoumán nejlepší způsob kombinace obou hloubkových map získaných různými metodami. Dalším směrem výzkumu a využitím získaných stínů může být také směr, ve kterém budou detekovány jednotlivé objekty, provedena segmentace, a následně získána hloubková mapa jednotlivých objektů. Tato metodika by měla vést k nejpřesnějšímu určení profilu jednotlivých objektů (částí scény).
Poděkování Tento příspěvek vznikl za podpory grantů GACR 102/08/H027 Pokročilé metody, struktury a komponenty elektronické bezdrátové komunikace, GACR Výzkum a modelování pokročilých metod hodnocení kvality obrazové informace 102/10/1320, výzkumného záměru MSM 0021630513 a projektu Zpracování signálu v mobilních a bezdrátových komunikačních systémech FEKT- S-11-12.
Reference [1] Li Xu, Feihu Qi, Renjie Jiang, Yunfeng Hao, Guorong Wu,.: “Shadow detection and removal in real images: A survey” Technical report, Shanghai Jiao Tong University, 2006. [2] HUANG, Chung-Hsien ; WU, Ruei-Cheng . An Online Learning Method for Shadow Detection . In 2010 Fourth Pacific-Rim Symposium on Image and Video Technology [online]. Singapore : Gwangju Institute of Science and Technology, 2010 [cit. 2011-09-25]. Dostupné z WWW:
. ISBN 978-1-4244-8890-2. [3] WANG, Yuqi ; TANG, Miao ; ZHU, Guangxi . An Improved Cast Shadow Detection Method with Edge Refinement . In Sixth International Conference on Intelligent Systems Design and Applications [online]. Jinan, Shandong : SHANDONG UNIV, 2006 [cit. 2011-09-25]. Dostupné z WWW: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber= 4021766>. ISBN 0-7695-2528-8.
[5] SUN, Bangyu ; LI, Shutao . Moving Cast Shadow Detection of Vehicle Using Combined Color Models. In Pattern Recognition (CCPR), 2010 Chinese Conference on [online]. Chongqing, China : Chongqing University, 2010 [cit. 2011-09-25]. Dostupné z WWW: . ISBN 978-1-4244-7209-3. [6] GUAN, Ye-Peng . Wavelet multi-scale transform based foreground segmentation and shadow elimination. The Open Signal Processing Journal [online]. 2008, n.1, [cit. 2011-09-25]. Dostupný z WWW: . ISSN 1876-8253. [7]GUO Hai-tao*, Zhang Yan, Lu Jun, Jin Guo-wang Zhengzhou, "Research on the Building Shadow Extraction and Elimination Method" , The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. Vol. XXXVII. Part B3b. Beijing 2008 [8] LALONDE, Jean-François ; EFROS, Alexei A. ; NARASIMHAN, Srinivasa G. . Detecting ground shadows in outdoor consumer photographs. In ECCV'10 Proceedings of the 11th European conference on Computer vision [online]. Berlin : Springer-Verlag, 2010 [cit. 201109-25]. Dostupné z WWW: . ISBN 978-3-642-15551-2. [9] HU, Qingying ; HARDING, Kevin G. . Conversion from phase map to coordinate : Comparison among spatial carrier, Fourier transform, and phase shifting methods. Optics and Lasers in Engineering [online]. February 2007, 45, 2, [cit. 2011-09-25]. Dostupný z WWW: . ISSN 01438166. [10] MIKHAIL, Edward M.; BETHEL, James S.; MCGLO NE, J. Chris. Intruduction to Modern Photogrammetry. New York : John Wiley & Sons, 2001. 479 s. ISBN 0-47130924-9. [11] KRAUS, Karl. Photogrammetry : Geometry from Images and Laser Scans. 2nd edition. Berlín : Walter de Gruyter, 2007. 459 s. ISBN 978-3-11-019007-6. [12] BIOUCAS-DIAS, J.M; VALADAO, G. Phase Unwrapping via Graph Cuts . IEEE Transactions on Image Processing [online]. 2007, 16, 3, [cit. 2011-9-25]. Dostupný z WWW: . ISSN 1057-7149.
[4] ZHANG , Liang ; HE, Xiaomei . Fake Shadow Detection Based on SIFT Features Matching. In 2010 WASE International Conference on Information Engineering [online]. Beidaihe, Hebei, China : WASE, Aug. 2010 [cit. 2011-09-25]. Dostupné z WWW: <978-1-4244-75063 >. ISBN 978-1-4244-7506-3.
58 – 4
2011/58 – 20. 11. 2011
VOL.13, NO.6, DECEMBER 2011
Obrázek 5: Snímek s konstantními oblastmi v místech stínů
Obrázek 7: Snímek s odstraněním vlivu tmavých objektů
Obrázek 6: Snímek s odstraněným efektem svislých pruhů
Obrázek 8: Detekované oblasti stínů
58 – 5
2011/58 – 20. 11. 2011
VOL.13, NO.6, DECEMBER 2011
Obrázek 9: Snímaná scéna
Obrázek 11: Hloubková mapa získaná profilometrii po detekci stínů
Obrázek 10: Hloubková mapa získaná pomocí stereosnímků
Obrázek 12: Průběh vybraného řádku hloubkové mapy (horní řádek původní hloubková mapa, dolní řádek hloubková mapa získaná profilometrií)
58 – 6
2011/58 – 20. 11. 2011
VOL.13, NO.6, DECEMBER 2011
Obrázek 13: Ukázka výsledku hledání detekce stínů pro další (jednoduché) scény.
58 – 7