NEREALISTICKÉ ZOBRAZENÍ PGD: Počítačová Grafika Jozef Mlích <imlich@fit.vutbr.cz> 1 Úvod Nejčastějším cílem počítačové grafiky je co nejpřesnější zobrazení reálného světa. Metody pro nerealistické zobrazení se zabývají ostatními způsoby zobrazení realného světa. Jejich cílem může být zvýšení čitelnosti obrazu, zvýšení míry abstrakce, naplnění uměleckého záměru, apod. Techniky nerealistického zobrazení jsou často založeny na kopirování přístupů používaných ve výtvarném umění. Metody nerealistického zobrazení obvykle používají stený data jako fotorealistické techniky (3d modely objektů, textury, fotky). V závislosti na účelu nebo dalším použití nerealistického obrazu je nutné zvolit optimální poměr mezi fotorealistickou a abstraktní části obrazu s ohledem na efektnost výsledného obrazu. Jednotlivé metody pro nerealistické zobrazení lze rozdělit na metody pracující s 3D reprezentací objektu a na metody využívající 2D obraz získaný metodami fotorealistického zobrazení. V počítačovych hrách nebo kreslených filmech se nejčastěji používá metoda označovaná jako toon-shading nebo cel-shading, která upravuje se zaměruje na osvětlovací model objektu. Tyto metody jsou podrobněji zpracovány v [6]. Tato práce se zabývá pouze vybranými metodami nerealistického zobrazení. Přehled odstatní metod lze nalézt na stránce [10]. 2 Malířské techniky Napodobením malířských technik 1 lze dosáhnout efektní obrázek nerealisticky zobrazující realný svět. Paul Haeberli v [7] popsal jak lze pomocí malířských technik interaktivně upravit fotografii (viz. obrázek 1). Metoda se snaží modelovat průběh tvorby samotného obrazu, podobným způsobem jako malířův algoritmus pro řešení viditelnosti objektů, pomocí modelování jednotlivých tahů štětcem. Je nutné definovat tvar a velikost štetce, jeho orientaci, polohu a tlak při každém tahu. Typ štetce se většinou zvolí podle požadavků na výsledný obraz. Tento tvar zůstává většinou staticky. Lze ho definovat pomocí pomocí textury, která vznikne jeho použitím. Vliv tvaru štětce na výsledný obraz je ukázaný na obrázku 2. Tvar tahu a vytvořenou texturu lze různými adhoc způsoby vypočítat z rychlosti pohybu a délky tahu. Barva tahu štetce se získá navzorkováním blízkého okolí polohy štětce v původním obraze. Jednotlivé parametry štětce pro každý tah lze odhadnout automacticky. Požadavky na výsledný obraz obvykle zahrnují vystižení základního tvaru objektu, zvýšenou úroveň detailů v bodech, kde má být soustředěná pozornost pozorovatele. 1 Jedná se o volný překlad výrazu painterly rendering 1
Obrázek 1: Průběh vytváření obrazu z fotografie Obrázek 2: Vliv volby tvaru štětce na výsledný obraz Pro získání informací o tvaru objektu lze použít běžné hranové detektory. Oblasti zájmu (pozornosti uživatele) mohou být definovány jako oblasti ze složitější strukturou, kterou lze detekovat jako oblasti vyšší frekvencí hran, přičemž nejčastěji býva bod pozornosti zaměřený uprostřed fotografie. Směr jednotlivých tahů a jejich délku lze potom odhadnout z lokálních gradientů v původním obrázku. Obvyklý postup je přecházet při vykreslování od větších štetců k menším. Nejprve pokyrýt celou plochu plátna a potom dokreslovat jemnějšími štětci detaily. 3 3D malířské techniky Při automatickém vytváření obrazu pomocí malířských technik je nutné tedy nějakým způsobem simulovat tahy štětcem. V případě, že je k dispozici 3D model scény, tak lze jednotilvé parametry odhadnout podle geometrie objektu. Na obrázku 3 je znázorněné schéma vytváření obrazu pomocí malířských technik. Obrázek je převzaný z [9]. Pro analýzu geometrie se používá Geometry Buffers (G-Buffer - viz. Saito, et. al. [11]). Každý G-Buffer obsahuje jednu geometrickou veličinu. Typicky se jedná o g-buffery popisující absolutní hodnotu hloubky v jendotlivých osách, G-buffery popisující relativní vzdálenosti pro každou osu a normály pro každý pixel objektu. Do G-Bufferu je uložena informace o objektu po zpracování projektční matice a odstranění skrytých povrchů. Informace uložené v jednotlivých G-Bufferech lze potom použít k nalezení hran objektů (například pomocí sobelova 2
Obrázek 3: Renderování 3d objektu pomocí malířských technik detektoru hran), apod. 4 Vodové barvy Tundee Cockshott se ve své disertační práci [5] zabývá chováním barev jako směsí látek a jejich simulací na počítači s ohledem na požadavky v počítačové grafice (Hayesův koncept hloupé fyziky ). Jsou zde simulovány procesy jako je kapilární elevace (vzlínaní), mísení tekutin a gravitace. V případě Cockshottova Wet and Sticky modelu je chování kapky barvy popsané pomocí blíže adhoc definovaných modelů, ktere se vzájemě ovlivňují. Jednotlivé modely zahrnují zjednodušenou simulaci několika fyzikálně chemických jevů. Jedná se o model plátna, stávající malby, štětce a prostředí. Vliv okolního prostředí zahrnuje světlo, teplotu, vlhkosti a gravitace. Chování takto definovaného modelu lze formalizovat pomocí celulárních automatů. 5 Kresba perem Kresbu perem lze popsat jako kresbu neobsahující informace o barvě ani odstínu. Vjem barvy nebo odstínu musí být nahrazen kombinací několika samostatných čar. Klíčovým prvkem metod kresby perem nebo tužkou je oddělení obrysu ubjektu a ostatních vlastností scény. Obrys objektu je výhodný pro abstratní popis objektu, protože tvar objektu je pro rozpoznání typu objektu většinou důležitější než textura. Při bežných typech vykreslování se na základě úrovně detailu často zandebává prostorová informace a informace o vzhledu objektu zůstává pouze v textuře. I z tohoto důvodu je nutné analyzovat strukturu textury. Při vykreslování scény se používá textura a informace o osvětlení samostatně. Pro účely kresby perem lze definovat několik odstínů barvy objektu včetně stínování a každé úrovni přiřadit samostatný vzor šrafování. Podle průměrné hodnoty odstínu v dané oblasti objektu 3
je zvoleno nejbližší šrafování (viz. obrázek 4). Při ořezávání textury by měl být její tvar daný čárou. Obrázek 4: Textury pro jednotlivé odstíny objektu a složená textura Samotná anlýza textury objektu probíha pomocí hranových detektorů, prahování podle odstínu a trasování čar. Při sledování čar se přidává šum, který má zabránit stojovému vzhledu výsledného obrázku. Jedná se hlavně o simulaci roztřesení ruky a mírné přesahy čar. Při zobrazování pomocí této metody přináší 3D reprezentace řadu výhod. Je poměrně jednoduché získat obrysy objektu, olišit jednotlivé stěny objektu a jejich textury předpočítat a odlišit vržené stíny. Navíc lze šrafování zvolit podle tvaru objektu. Naproti tomu normální obraz neobsahuje žádné další informace a je nutné je bud analýzou z obrazu získat nebo tuto informaci zanedbat. Další informace lze najít v [14, 12]. 6 Animace Pro animaci objektu zobrazených pomocí technik nerealistického zobrazování je velmi důležitá stabilita metod, tzn. že části snímků po sobě následujících, které se nezměnily, by se němely výrazně lišit. Pokud se zobrazení scény mění rychle v čase a nesouvisí to s pohybem objektu, tak to působí velmi rušivě. Metoda painterly renderingu popsaná v [9] využívá vykreslování pomocí částic (particle rendering). Podle geometrie objektu se vygenerují náhodně částice, které odpovídají pozici ve scéně. Tyto částice potom odpovídají bodům, ve kterých se budou simulovat tahy štetcem. Pokud je poloha částic stabilní, tak by měla být stabilní i výsledná animace. 7 Praktické ukázky Jednotlivé metody pro nerealistické vykreslování se používají bežně v počítačových hrách, kreslených filmech. Metody toon shadingu nebo sketchingu jsou implementované různých modelovacích a renerovacích nástrojích jako je například v Blenderu [2] nebo 3D Studio MAX. Příkladem 3D modelovacího nástroje zaměřeného na nerealistické zobrazení je SketchUp [4]. Pro vytváření kresby perem v 2d nástrojích na základě fotografie se často nechává na grafikovy jaké metody a filtry použije pro vytvoření požadovaného obrázku. Příkladem nástroje pro kresbu perem je plugin Ink Sketch pro Paint.NET[1]. Pro renderování obrázků pomocí malířských technik lze použít například program painter [13]. Výstup tohoto programu je ukázaný na obrázku 5, záznam průběhu vytváření obrázku je k dispozici na [3]. Další příkaldy malířských technik jsou k dispozici v [15, 8]. 4
Obrázek 5: Malba z fotky viz. [3] Reference [1] Ink sketch plugin pro paint.net http://boltbait.googlepages.com/inksketch. [2] Jak vytvořit pen and ink v blenderu http://matthieu3d.free.fr/tutovira1/tuten.html. [3] Program pro painterly rendering http://www.youtube.com/watch?v=pnmmlohfiw0 http://www.visgraf.impa.br/courses/ip00/proj/painter/ip4.htm. [4] Sketchup http://sketchup.google.com/. [5] Tundee Cockshott. Wet and Sticky: A Novel Model for Computer-Based Painting. PhD thesis, The University of Glasgow, UK, 1991. [6] Amy Gooch, Bruce Gooch, Peter Shirley, and Elaine Cohen. A non-photorealistic lighting model for automatic technical illustration. In SIGGRAPH 98: Proceedings of the 25th annual conference on Computer graphics and interactive techniques, pages 447 452, New York, NY, USA, 1998. ACM. [7] Paul Haeberli. Paint by numbers: abstract image representations. In SIGGRAPH 90: Proceedings of the 17th annual conference on Computer graphics and interactive techniques, pages 207 214, New York, NY, USA, 1990. ACM. [8] Aaron Hertzmann. Painterly rendering with curved brush strokes of multiple sizes. In SIGGRAPH 98: Proceedings of the 25th annual conference on Computer graphics and interactive techniques, pages 453 460, New York, NY, USA, 1998. ACM. [9] Barbara J. Meier. Painterly rendering for animation. In SIGGRAPH 96: Proceedings of the 23rd annual conference on Computer graphics and interactive techniques, pages 477 484, New York, NY, USA, 1996. ACM. [10] Craig Reynolds. Stylized depiction in computer graphics: Non-photorealistic, painterly and toon rendering, http://www.red3d.com/cwr/npr/. 5
[11] Takafumi Saito and Tokiichiro Takahashi. Comprehensible rendering of 3-d shapes. SIGGRAPH Comput. Graph., 24(4):197 206, 1990. [12] Michael P. Salisbury, Sean E. Anderson, Ronen Barzel, and David H. Salesin. Interactive pen-and-ink illustration. In SIGGRAPH 94: Proceedings of the 21st annual conference on Computer graphics and interactive techniques, pages 101 108, New York, NY, USA, 1994. ACM. [13] Michio Shiraishi and Yasushi Yamaguchi. An algorithm for automatic painterly rendering based on local source image approximation. In NPAR 00: Proceedings of the 1st international symposium on Non-photorealistic animation and rendering, pages 53 58, New York, NY, USA, 2000. ACM. [14] Georges Winkenbach and David H. Salesin. Computer-generated pen-and-ink illustration. In SIGGRAPH 94: Proceedings of the 21st annual conference on Computer graphics and interactive techniques, pages 91 100, New York, NY, USA, 1994. ACM. [15] Holger Winnemöller, Sven C. Olsen, and Bruce Gooch. Real-time video abstraction. ACM Trans. Graph., 25(3):1221 1226, 2006. 6