Ma Dr. Sylvain Lefebvre járt nálunk Franciaországból. Nagyon nagy ember lehet, mert szó szerint az összes oktatóm ott volt az előadásán. Munkásságának lényege az automatikus tartalom generálás, főleg videójátékokba és filmekbe. Munkája megkönnyíteni és meggyorsítani modellező művészek életét, hogy egy-egy játékban vagy filmben ne kelljen minden tér/díszlet részletet kézzel lemodellezniük, hanem csak ki kelljen javítaniuk az automatikus generálás hibáit, ill. magát az automatikus generálási folyamatot irányítaniuk. Sok munkája szól az információ tömörítésről is, szintén valós idejű számítógépes játékokhoz főleg, de technikái felhasználhatók mindenféle, sávszélesség által korlátolt környezetben (pl. virtuális bevásárlóközpont). Legújabban a 3D nyomtatók által használt nyomtatási tervek generálásának felgyorsításával is foglalkozik, elmondása szerint nagy sikerrel.
Nekünk főleg korábbi munkáiról mesélt, mint pl.
Interaktív textúra generálás (video)
A Gábor Dénesről (a hologramm feltalálója) elnevezett zajmodelleket használja fel arra, hogy tetszőlegesen módosítson meglévő mintákat, többi a videón.
Az eredeti publikáció:
http://graphics.cs.kuleuven.be/publications/GLLD12GNBE/
Egy másik hatásos munkája a képekből történő 3D modellek gyors generálásáról (video) szól.
Legfrissebb munkája, hosszanti minták automatikus generálásáról szól (video), PDF sok kedves képpel!
Nekünk egy korábbi munkájáról, http://alice.loria.fr/publications/papers/2010/TEXRESIZE//video/texresize.wmv (video), az építészeti képek generálásáról mesélt. A lényege, hogy egy pár ház homlokzatának képéből egy egész hihető várost tud generálni, különböző magasságú és szélességű épületekkel, úgy, hogy nem venni észre az ismétlődést. Maga az algoritmus nagyon nagyon érdekes volt, mivel rengeteg játékban látható hasonló módszer, többnyire a végtelen folyosók falain és padlóján – nem észrevehető módon.
A videó és a kép közötti határvonalon mozogtunk egy “Computational Photography and Capture” órán. A módszer lényege, hogy a rosszabb minőségű videófelvételt feljavítják egy pár jó minőségű fénykép alapján. 2007-es munka, elég összetett módszereket használnak minden részprobléma megoldására, és szerintem elég megyőző az eredmény. Érdemes végignézni a videót.
Nem kívánt részletek eltűntetésére is felhasználható, ahogy a projekt honlapján (itt) látható:
http://grail.cs.washington.edu/projects/videoenhancement/videoEnhancement_files/image001.jpg
A hétfőre leadandó grafika házim témája a “Path tracing”. Egy nagyon szép megvalósítása a módszernek a videóban:
A feladat, amit megpróbálunk megoldani, hogy egy fizikailag reális képet rajzoljunk a megfigyelt színtérről egy adott megfigyelő nézőpontjából. Adott a világnak egy leírása (milyen tárgyak vannak, hol vannak, mekkorák, milyen színűek, van-e mintázatuk, hogyan verik vissza a fényt, stb…), a fényforrások (nap, lámpák, stb.) és adott egy kameraállás, vagy szempozíció. A kérdés, hogy ha a fényt úgy kezelnénk, mint ahogy fizikailag viselkedik (hullám és/vagy részecske, ami nagyon gyors, és nincs tömege), akkor hogy nézne ki egy valós megfigyelőnek a színtér. A fényt mint sugarakat kezeljük, amik minden tárggyal való találkozáskor vagy visszaverődnek, vagy elnyelődnek. Ha visszaverődnek, akkor előbb utóbb a kamerában/szemben elnyelődnek, így ekkor látjuk őket. Tehát ha egy tárgyat pirosnak látunk, akkor az a piros hullámhosszon rezgő fotonokat veri vissza a legnagyobb mértékben. Ezek a fotonok eljutnak a szemünkbe, ahol meg böknek kis receptorokat (érzékelőket), amik felerősödve a látóidegen keresztül eljutnak az agyba. Az érkező fotonok sokasága elég kis közelítéssel is egyenes vonalban közlekedik, így ezt nevezzük fénysugárnak.
A lényeg, hogy a számítógépes játékokban használt gyors, de pontatlan képalkotási technikákkal ellentétben itt közepesen gyors, de pontos technikát keresünk. A különbség ott látható, hogy az alábbi képen
a piros fal tövében piros a fehér padló, a zöld fal tövében zöld, és a sárga kocka, ill. a golyó árnyéka nem teljesen korom sötét, hiszen előbb utóbb eljut oda a fény, csak nagyon sok pattanás után, ill. az árnyék széle elmosott, és fokozatosan halványodik, nem éles. Az előző félévben tárgyalt, sugárkövetés módszere ilyesmi képet rajzolna:

itt élesek az árnyékhatárok, és nem festi meg a piros fal a fehér falat a sarkokban. (forrás: http://www.icare3d.org/images/stories/GPURT/CornellJungle2.jpg)
A fent látható videó ezt a feladatot majdnem valós időben (tehát számítógépes játékoknál már majdnem használható módon) oldja meg. Egy nagyon szép megvalósítás, de mint látható, még mindig nem elég gyors. Mivel kevés rajta a szín, ezért inkább csak az az érdekes, hogy a sötétebb sarkokban sincs teljesen korom sötét.
A szemcsés jelleg abból adódik, hogy minden képpontot úgy színezünk be, hogy néhány sugarat lövünk át rajta keresztül a kamerából, és megnézzük, hogy hova pattan, milyen színű tárgyakat talál el. Ahol fekete, ott túl hamar álltunk meg, és nem találtunk semmilyen fényes pontot, amiből eljuthatna a fény a szemünkbe (pl. egy fényforrás, vagy egy tükör). Ahol nagyon világos, ott csak egy fényforrást találtunk el a visszaverődéssel, véletlenül, pedig valójában a fénysugarak többsége nem a fényforrás irányába verődik vissza.
Idővel viszont sikerül elég sugarat kilőni az adott képponton keresztül, hogy megtaláljuk a leggyakoribb visszaverődési irányokat, és azokból a valós fénymennyiség arányainak megfelelő mintákat gyűjtsünk. Tehát a fehér fal tövében a legtöbb fénysugár először a piros falra pattan, így azt enyhén pirosasnak látjuk (nyilván a fal fehér színe a legmeghatározóbb, amit a lámpa-fal-szem fénysugárból kapunk, de ez a sugárkövetésnél is így működött). Ja, és azért Monte-Carlo, mert minden pattanásnál kaszinózunk egyet, hogy merre pattanjunk tovább, és az a matek elmélet mögötte, hogy ha elég sokszor kaszinózunk, akkor mégiscsak a valós körülményeket tükröző arányban fogunk találkozni az eseményekkel. (Ha elég sokszor dobok két kockával, és mindig felírom, hogy mennyi az összegük, akkor minél többször dobok, annál gyanúsabb, hogy a 7-es összeg mellé kell a legtöbb strigulát behúznom, lásd amerikai filmek és a Scramble játék a kaszinóban).
A gépi látás csoport ezen a héten ezt a publikációt járta körbe:
http://cybertron.cg.tu-berlin.de/eitz/projects/classifysketch/
Megpróbáltak egy rendszert fejleszteni, ami felismeri a dolgokat, amiket rajzolunk. Elég szűk kategóriákba sorolták őket, tehát egy szóval megnevezhető, környezete nélkül felismerhető objektumoknak kellett lenniük, és 250 kategóriánál többet nem tudtak kitalálni. 10 000-es nagyságrendű rajzot gyűjtöttek be a neten, és aztán ismertettek fel az emberekkel.
Itt tudtam meg, hogy léteik egy oldal, amit úgy hívnak, hogyAmazon Mechanical Turk, ahol emberek pénzt keresnek azzal, hogy kutatásokhoz csinálnak egyszerű feladatokat. (pl. rajzolj egy nyulat), ill. ismerj fel egy nyulat egy kézzel rajzolt képen.
A lényeg, hogy az eredmény elég sikertelen, mégis bekerült a legnevesebb grafikával és környékével foglalkozó konferencia (SIGGRAPH) 2012-es publikációi közé. Nagyon sok mindenen lehetne javítani, de érdekes játék, pl. iPhone app is található az oldalon, így letöltheted, és megpróbálhatsz rajzolni valamit, ami szerinted a legjobban hasonlít arra, amit mások rajzolnának ugyanerre a dologra.
Itt: http://cybertron.cg.tu-berlin.de/eitz/projects/classifysketch/layouts/index.html például megnézhetjük, hogy a 80 leggyakoribb ábrázolása egy adott tárgynak (pl. csiga, karóra, stb…) hogy nézett ki a rajzolást elvégző emberek körében. Pl. hold, távcső, vagy karóra. A legérdekesebb nyilván a széle. Vannak egész szép és igényes rajzok is.
Itt megláthatjuk, hogy mi a kutatásban felhasznált leírók (képekre jellemző vonások) szerint melyik a legáltalánosabb ábrázolás: klaszterközéppontok.
Azt, hogy a kísérlet második részében milyen pontossággal ismerték fel az emberek a mások által rajzolt képeket, pl. itt(tehén) tehetjük meg. Baloldalt láthatók a helyesen azonosított tehenek, középen a nem felismert tehenek, míg jobb oldalt a hibásan tehénnek vélt egyéb dolgok (elég vicces). itt lehet böngészni az egyéb [félre]/felismert rajzokat.
A következő ábrán látható, hogy a gépi vagy az emberi felismerés volt a pontosabb (az adott kísérlet keretein belül természetesen, az összesen, legjobb esetben elért 56%-os gépi felismerési teljesítmény nem túl biztató). A piros, amit az ember jobban ismert fel a gépnél. Tehát a galambot, a bokrot és a versenyautót felismerjük, a többit a gép jobban viszi. Valószínűleg azért, mert míg a felhasználóknak egy hosszú, és nem túl hierarchikus listából kellett kiválasztaniuk a tárgyat, addig a gépet nem zavarták az osztályok közötti átfedések (álló madár és galamb, medve és panda, stb.). A felhasználók általában az első (abc-ben) szembejövő, illeszkedő kategóriát választották, míg a gép “végignézte” a listát.
Az egész érdekessége, hogy a sörnyitó felismerésében is megvertük a kifejlesztett algoritmust, de ugye tudjuk, hogy minden sörnyitó.
Érdekes munka, főleg érdekes, hogy a grafikához kevés köze lévén mégis bekerült. Az ülés végén könnyű volt megegyezni, hogy ha lenne egy értelmes felhasználási terület, akkor elég sok helyen lehetne javítani a sok sebből vérző, de láthatóan sok munkabefektetéssel járó kutatást. Ilyen felhasználási cél lehetne pl. a Google képkeresőjének egy funkciója, ahol nem beírható, hogy “keresek egy nyulat”, hanem rajzolható egy nyúl adott pózban, adott típusból, adott szögből, adott méretben, stb. Minden egyes tollvonás után új képeket láthatnánk, így pontosan meg tudnánk rajzolni a képet, amit keresünk, és kaphatnánk rá millió javaslatot. Mindamellett, hogy olyan munkák már léteznek, ahol az ember lerajzolja a fotót, és a rajznak megfelelő fotókat kikeres nekünk az algoritmus egy adatbázisból (pl. flickr, vagy google image search).
A gradiens alapú összeillesztés technika sikeresen használható panoráma képek szebb illesztésénél is. Egy klasszikus illesztésnél az illesztésnél átlagolni szokták a bal és a jobb képet. Ennek eredményeként az élek (pl. ház tetejének sarka) elmosódnak, mert az átlagolás egy simító művelet. Ennek elkerülése érdekében ugyanazt a technikát használjuk, mint az alma és a narancs összemosásánál. Először szűk sávban összemásoljuk a nagyon éles váltásokat (nagy kontrasztú éleket), majd egy kicsit szélesebb sávban a kevésbé gyors változásokat (pl. fű mintázata), majd végül a legszélesebb sávban a legkevésbé változékony mintákat (fű zöldsége). A szintek számát növelve még jobb eredményt kaphatunk.
Az alábbi képen láthatók a panoráma képek különbző kameraállásokból (a), a képek helyes összerendelése (b) és a végső összeillesztés a fent taglalt módszerrel (c):
Az előző bejegyzésben nem beszéltem arról, hogy lehet két képet összevágni úgy, hogy az átmenet ne tűnjön fel. Rengeteg publikáció foglalkozik ezzel, de ez a videó a közepe felé elég vicces módon mutatja be a gradiens alapú technikák erejét.
Az eredeti projekt honlapja: http://graphics.cs.cmu.edu/projects/gradient-paint/
A módszer lényege, hogy nem a színeket mossa össze, hanem a színváltozásokat. Tehát le lehet írni egy képet úgy is, hogy mondjuk balról jobbra elkezdem nézni a képpontok színeit, megjegyzem az elsőt, majd azt, hogy a következőhöz mennyit kellett “ugranom” – fel vagy le, azaz plusz vagy mínusz irányban a fényesség tekintetében (mennyivel sötétebb vagy mennyivel világossabb). Ha ezeket az ugrásokat megjegyzem mindkét (az eredeti és a bemásolandó darab) képen, akkor össze tudom őket mosni úgy, hogy az ugrások simák legyenek. Mivel a látásunk is az ilyen ugrások (élek, nagy gradiensek, kontraszt) alapján alkot képet, ha ezek rendben vannak, akkor természetesnek tűnik a kép. A videót véginézve ennek szemtanúi is lehetünk.
További példák erre a technikára:

Credit: UCL CGVI – Computational Photography and Capture GV15:
Image Compositing and Blending
Az “egyetlen kép alapján történő tartalom készítés” (Image based rendering) témakörében taglaltuk a 2007-ben publikált Photoclipart projektet.
Érdekes fotómontázs módszer, közepesen szűk felhasználási körrel. Például építészeti látványterveknél használható a kép “benépesítéséhez”. A módszer újítása a korábbiakhoz képest, hogy megpróbálja az alkotó válláról levenni az összes körülményes műveletet, amire ilyenkor szükség van. Kiválasztja a kívánt tárgykategóriát (pl. sétáló ember, tűzcsap), és megmondja, hogy hova kéri a képre. A program egy nagy adatbázisból kikeresi a képnek leginkább megfelelő színvilággal és megvilágítási iránnyal rendelkező tárgyat, és átmenetmentesen beszúrja. Például:

És a hozzá tartozó eredeti kép:

Érdekes játék, amit lehet az ilyen képekkel játszani, hogy találd ki, hogy mi az eredeti a képen. Itt láthatók érdekes példák:
http://graphics.cs.cmu.edu/projects/photoclipart/results.html
Érdekes megnézni a videót arról, hogy is működik a program.
Egy másik, hasonló célra készült technika ezen a címen: http://graphics.cs.cmu.edu/projects/scene-completion/









