Auteursrechterlijke overeenkomst Opdat de Universiteit Hasselt uw eindverhandeling wereldwijd kan reproduceren, vertalen en distribueren is uw akkoord voor deze overeenkomst noodzakelijk. Gelieve de tijd te nemen om deze overeenkomst door te nemen, de gevraagde informatie in te vullen (en de overeenkomst te ondertekenen en af te geven). Ik/wij verlenen het wereldwijde auteursrecht voor de ingediende eindverhandeling met Titel: Afschatting van lichtinval op gefotografeerde objecten met toepassing voor hervisualisatie en herbelichting Richting: master in de informatica - multimedia Jaar: 2008 in alle mogelijke mediaformaten, - bestaande en in de toekomst te ontwikkelen - , aan de Universiteit Hasselt. Niet tegenstaand deze toekenning van het auteursrecht aan de Universiteit Hasselt behoud ik als auteur het recht om de eindverhandeling, - in zijn geheel of gedeeltelijk -, vrij te reproduceren, (her)publiceren of distribueren zonder de toelating te moeten verkrijgen van de Universiteit Hasselt. Ik bevestig dat de eindverhandeling mijn origineel werk is, en dat ik het recht heb om de rechten te verlenen die in deze overeenkomst worden beschreven. Ik verklaar tevens dat de eindverhandeling, naar mijn weten, het auteursrecht van anderen niet overtreedt. Ik verklaar tevens dat ik voor het materiaal in de eindverhandeling dat beschermd wordt door het auteursrecht, de nodige toelatingen heb verkregen zodat ik deze ook aan de Universiteit Hasselt kan overdragen en dat dit duidelijk in de tekst en inhoud van de eindverhandeling werd genotificeerd. Universiteit Hasselt zal mij als auteur(s) van de eindverhandeling identificeren en zal geen wijzigingen aanbrengen aan de eindverhandeling, uitgezonderd deze toegelaten door deze overeenkomst.
Ik ga akkoord,
ARKOUDOPOULOS, Athanasios Datum: 20.11.2008
^ÑëÅÜ~ííáåÖ=î~å=äáÅÜíáåî~ä=çé=ÖÉÑçíçÖê~ÑÉÉêÇÉ= çÄàÉÅíÉå=ãÉí=íçÉé~ëëáåÖ=îççê=ÜÉêîáëì~äáë~íáÉ=Éå= ÜÉêÄÉäáÅÜíáåÖ
^íÜ~å~ëáçë=^êâçìÇçéçìäçë éêçãçíçê=W mêçÑK=ÇêK=mÜáäáééÉ=_bh^boq
=
báåÇîÉêÜ~åÇÉäáåÖ=îççêÖÉÇê~ÖÉå=íçí=ÜÉí=ÄÉâçãÉå=î~å=ÇÉ=Öê~~Ç= j~ëíÉê=áå=ÇÉ=áåÑçêã~íáÅ~=ãìäíáãÉÇá~
Beste lezer,
Deze masterthesis vormt het sluitstuk van mijn opleiding tot master in de informatica/kennistechnologie/ICT aan de UHasselt/tUL. Het zou niet eerlijk zijn om te beweren dat dit enkel het resultaat is van mijn interesse in de uiterst boeiende wetenschap van de informatica en in het bijzonder van de computer graphics. Er zijn verschillende personen die, elk op hun manier, hun steentje bijgedragen hebben om dit werk te maken tot wat het nu is. Personen die mij in de loop van de jaren hebben gesteund en mij gemaakt hebben tot wie ik nu ben. In de eerste plaats zou ik graag mijn promotor, Prof. Dr. Philippe Bekaert, willen bedanken voor zijn vertrouwen en voor de geboden kans. Mijn thesisbegeleiders, Mark Gerrits en Cedric Vanaken, zou ik willen bedanken voor de grote hoeveelheid tijd en energie die ze in mij en dit werk hebben gestoken. Ook mijn (ex)klasgenoten verdienen een woord van dank voor al de momenten die we samen hebben meegemaakt. Ik zou deze studie nooit hebben kunnen beginnen zonder de continue steun van het thuisfront. Mama, Gioti en Katerina: bedankt voor alles. Ook mijn vriendin, Ellen, wil ik bedanken voor haar niet aflatende steun, bemoedigende woorden en geduld. Zonder jullie was het me niet gelukt. Bedankt allemaal. . .
Athanasios Arkoudopoulos, januari 2008
Abstract Met de opkomst van het digitaal fototoestel heeft de (amateur) fotografie een hoge vlucht genomen. Desondanks blijft het correct belichten van een statisch voorwerp ´e´en van de moeilijkere opdrachten die ook van professionele fotografen een behoorlijke inspanning vraagt. Daarom gebeuren zulke opnames vaak in een speciale studio waar men kan beschikken over verschillende hulpmiddelen om de belichting juist in te stellen. Ondanks een zorgvuldige (en tijdrovende) voorbereiding worden de meeste foto’s tijdens een postproductie proces bijgewerkt, bijvoorbeeld om schaduwen te verwijderen, kenmerken te benadrukken en details te verscherpen. Hierdoor is men in staat om foto’s te genereren die voldoen aan het gewenste resultaat. Deze tijdrovende manuele postproductie technieken geven indrukwekkende resultaten maar vereisen ook artistiek en technisch inzicht. Tijdens deze thesis willen we een manier toelichten die toelaat om op eenvoudige wijze een raamwerk te cre¨eren om de posities van de lichtbronnen te lokaliseren. Met behulp van de lichtbronposities kunnen we bijvoorbeeld sc`enes herbelichten of texturen een realistisch uiterlijk geven. Doordat we enkel met het basismateriaal (een fototoestel, een statief en een manueel bediende lichtbron) zullen werken en geen moeilijke voorbereiding van de sc`ene uitvoeren vooraleer we foto’s kunnen nemen, zal de techniek die we zullen bespreken voor iedereen bereikbaar, snel en effici¨ent blijken.
v
Inhoudsopgave 1 Inleiding 1.1 Licht . . . . . 1.2 Lichtbronnen 1.3 Kleur . . . . . 1.4 Belichting . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
2 Literatuurstudie 2.1 Beeldgebaseerde belichting . . . . . . . . . . . 2.1.1 Foto’s met een hoog dynamisch bereik 2.1.2 Omgevingslicht . . . . . . . . . . . . . 2.2 Herbelichting . . . . . . . . . . . . . . . . . . 2.2.1 Plenoptische functie . . . . . . . . . . 2.2.2 Lichtveld . . . . . . . . . . . . . . . . . 2.2.3 Reflectieveld . . . . . . . . . . . . . . . 2.2.4 Polynomiale textuurkaart . . . . . . . 2.2.5 Free-form lightstage . . . . . . . . . . . 2.2.6 Interactieve belichting . . . . . . . . . 3 Light waving 3.1 Dataverwerving . . . . . . . . . . . . . . 3.2 Schatting van de lichtbronposities . . . . 3.2.1 Dimensionaliteitsreductie . . . . . 3.2.2 Isomap toegepast op light waving 3.2.3 Sfeer fitten . . . . . . . . . . . . . 4 Resultaten
. . . . .
. . . . .
. . . . .
. . . .
. . . . . . . . . .
. . . . .
. . . .
. . . . . . . . . .
. . . . .
. . . .
. . . . . . . . . .
. . . . .
. . . .
. . . . . . . . . .
. . . . .
. . . .
. . . . . . . . . .
. . . . .
. . . .
. . . . . . . . . .
. . . . .
. . . .
. . . . . . . . . .
. . . . .
. . . .
. . . . . . . . . .
. . . . .
. . . .
1 1 3 5 7
. . . . . . . . . .
14 15 16 21 30 30 32 34 37 41 45
. . . . .
49 50 50 51 65 66 67
5 Toepassingen 73 5.1 Hervisualisatie . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
vi 5.2
Herbelichting . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6 Toekomstig werk
79
7 Conclusie
80
Bibliografie
81
Lijst van figuren
85
INLEIDING
1
Hoofdstuk 1 Inleiding Iedere fotograaf, zowel amateur als professioneel, zal het wel eens hebben meegemaakt. Men maakt een opname van een niet-bewegend voorwerp, maar is niet tevreden met het resultaat. De verdere mogelijkheden zijn dan ofwel een nieuwe foto maken (nadat men de belichting heeft aangepast) en hopen dat deze foto wel aan het gewenste resultaat voldoet ofwel dat de foto tijdens de postproductie (op een eenvoudige manier) bewerkt kan worden. Op die manier kan men veel objecten fotograferen zonder dat men een expert moet zijn in het opzetten van (dure) belichting. In wat volgt zullen we eerst een beschrijving van licht en kleur geven, gevolgd door een kort overzicht van belichtingstechnieken. Tenslotte zullen we een korte beschrijving geven van de light waving techniek [32], die het hoofdonderwerp van de thesis zal vormen.
1.1
Licht
Licht is een elektromagnetische golf. Het elektromagnetisch spectrum strekt zich uit van zeer lange golflengtes bij radiogolven tot zeer korte golflengtes bij gammastraling (zie figuur 1.1). Voor het menselijk oog is er slechts een zeer klein deel zichtbaar, met golflengtes die vari¨eren van ongeveer 700 tot 400 nanometer - van rood tot violet dus. Dit wordt ook wel het zichtbaar lichtspectrum genoemd. Als we het in deze tekst over kleur hebben, dan zullen we altijd die golflengtes bedoelen die voor de mens zichtbaar zijn. De inde-
1.1 Licht
2
ling van licht in verschillende types wordt gedaan op basis van hun golflengte in een vacu¨ umtoestand. Redenen hiervoor zijn dat de golf overal even lang is en nergens vervormd wordt, het beweegt zich dus lineair voort. Concreet betekent dit dat licht, ook in een niet vacu¨ umtoestand, altijd een rechte lijn volgt en dat het zowel bij de bron als bij het doel dezelfde sterkte heeft. Een gevolg van deze lineariteit is dat licht additief kan zijn. Dit betekent dat we het gebruik van verschillende lichtbronnen kunnen combineren. In figuur 1.2 zien we bijvoorbeeld een persoon die eerst wordt belicht langs de linkerkant en vervolgens langs de bovenkant. Als we deze foto’s optellen lijkt het alsof het object door twee lichtbronnen tegelijk werd beschenen [5]. Onze perceptie van de sterkte van het licht hangt meestal samen met de gebruikte lichtbron. Sommige lichtbronnen kunnen bijvoorbeeld een plaatselijk licht vormen terwijl andere de volledige sc`ene belichten. Het verschil tussen deze lichtbronnen vormt het onderdeel van de volgende sectie.
Figuur 1.1: Licht dat voor mensen zichtbaar is, vormt slechts een klein onderdeel van het elektromagnetisch spectrum. De rodere kleuren (kleinere frequenties) bestaan uit lange golflengtes, terwijl de blauwere kleuren (hogere frequenties) uit kortere golflengtes bestaan.
1.2 Lichtbronnen
3
Figuur 1.2: Een belangrijk gevolg van de lineariteit van het licht is de additiviteit ervan. Dit zorgt ervoor dat we twee foto’s van een gezicht, dat wordt belicht van twee verschillende standpunten, kunnen optellen. In het resultaat zal het lijken alsof het gezicht op het moment van de opname gelijktijdig door twee lichtbronnen wordt belicht [5].
1.2
Lichtbronnen
Er bestaan drie soorten lichtbronnen, namelijk lokale of puntlichtbronnen, globale of directionele lichtbronnen en oppervlaktelichtbronnen (Eng. area lightsources). Een lokale lichtbron bevindt zich steeds in (of dichtbij) de sc`ene. Een bureaulamp, die zich in een sc`ene bevindt en een duidelijk waarneembaar effect heeft op de omgeving, is hiervan een voorbeeld. Het effect van het licht zal zich beperken tot een bepaalde straal rond de bureaulamp. Met lokaal licht kunnen we de nadruk leggen op bepaalde delen van een sc`ene. Globaal licht daarentegen is licht dat zich op zo’n relatief grote afstand van de sc`ene bevindt, dat alles evenredig wordt belicht. Een voorbeeld hiervan is de zon. Als we een foto nemen van een buitensc`ene met enkel de zon als belichting, zal de inkomende lichtsterkte overal even sterk zijn (behalve natuurlijk als we met een speculair of spiegelend oppervlak werken). Om die reden wordt dit globaal licht ook wel oneindig licht genoemd. Het is namelijk licht dat zich oneindig ver bevindt en oneindig groot is. Een eenvoudige weergave van het verschil tussen lokale en globale lichtbronnen wordt getoond in figuur 1.3. Oppervlaktelichtbronnen, waarvan tv- en computerschermen voorbeelden zijn, worden hier niet verder bespro-
1.2 Lichtbronnen
4
ken. In deze tekst concentreren we ons op benaderend globaal licht omdat we de volledige belichting van een foto willen kunnen aanpassen. We kunnen benaderend globaal licht bekomen door een lichtbron op voldoende grote afstand van de sc`ene te houden.
Figuur 1.3: Lokale lichtbronnen (zoals de bureaulamp) hebben een duidelijk waarneembaar effect op een gedeelte van de omgeving. Bij globale lichtbronnen daarentegen zal de inkomende lichtsterkte overal in de sc`ene even sterk zijn.
Tot nu toe hebben we het gehad over licht (en enkele van haar eigenschappen). We hebben ook vermeld met welke lichtbronnen wij zullen werken. Maar licht bestaat niet enkel in ‘kleurloze’ vorm. Kleur is onlosmakelijk verbonden met licht en daarom zullen we dit in het volgende deel behandelen. We zullen kleur beschrijven aan de hand van het lichtspectrum en we zullen ook de beperkingen van uitvoerapparaten wat betreft kleurbeheer uitleggen.
1.3 Kleur
1.3
5
Kleur
Kleur, zoals wij dat zien, is de waarneming van een deel van het lichtspectrum en wordt beschreven met behulp van haar golflengte λ (lambda). Het volledig lichtspectrum is opgebouwd uit ultraviolet, zichtbaar en infrarood licht. Het menselijk oog is enkel gevoelig voor kleuren uit het zichtbaar lichtspectrum (zie figuur 1.1) namelijk rood, oranje, geel, groen, blauw, indigo en violet (m.a.w. de kleuren van de regenboog). Deze kleuren zijn monochromatisch (Gr. mono=´e´en en chroma=kleur) en bestaan dus uit ´e´en bepaalde golflengte van het lichtspectrum. Als we combinaties maken (bijvoorbeeld om de kleur bruin te krijgen) dan spreken we van polychromatisch (Gr. poly=veel) licht. Als licht een object raakt, worden sommige golflengtes geabsorbeerd terwijl andere worden gereflecteerd. Dit hangt af van het materiaal van het object. De gereflecteerde golflengtes vormen de kleur die we zien. Een object dat groen schijnt, absorbeert dus alle golflengtes behalve de groene. Het kleurenpalet (Eng. color gamut) is de verzameling van alle mogelijke kleuren in een kleurensysteem (vb: menselijk oog, lcd-scherm, printer). In figuur 1.4 zien we een voorbeeld van een kleurenpalet dat de mens kan onderscheiden 1 . Kleuren die buiten dit palet vallen kunnen wel zichtbaar zijn voor dieren (bijvoorbeeld katten, honden, muizen) of met behulp van speciale apparatuur. De driehoek in de figuur stelt de kleuren voor die met de drie primaire kleuren (rood, groen, blauw) kunnen worden gevormd. Geen enkel systeem kan alle mogelijke kleuren in het spectrum reproduceren. Daarom moeten we een beschrijving geven van kleuren zodat we deze kunnen benaderen. Hiervoor werden kleurmodellen ontwikkeld. Kleurmodellen geven ons de mogelijkheid om zichtbare kleuren te benaderen. Afhankelijk van het gebruikte kleursysteem zullen we ook een ander kleurmodel gebruiken. Bijvoorbeeld voor printers wordt het CMYK-model (zie figuur 1.5 (a)) gebruikt. CMYK (Cyan, Magenta, Yellow, blacK ) maakt gebruik van vier basiskleuren om door subtractieve kleurmenging andere kleuren te krijgen. Subtractieve kleurmenging ontstaat door de absorptie 1
Later zullen we zien dat dit slechts een benadering is van de zichtbare kleuren.
1.3 Kleur
6
Figuur 1.4: Het kleurenpalet dat de mens kan onderscheiden. De driehoek in de figuur stelt de kleuren voor die met de drie primaire kleuren (rood, groen, blauw) kunnen worden gevormd. Het bereik van uitvoerapparaten zoals printers en schermen is meestal beperkt tot deze RGBdriehoek.
van verschillende kleuren. Een computerscherm daarentegen maakt gebruik van het (additief) RGB (rood, groen en blauw) kleurmodel (zie figuur 1.5 (b)). Als de drie basiskleuren worden gecombineerd, dan krijgen we de kleur wit. Andere kleurmodellen, zoals het HSB-model (Hue, Saturation, Brightness) en het CIE L*a*b-model, worden in deze tekst niet verder besproken. Na deze inleiding over licht en kleur, gaan we de toepassing ervan in de fotografie (Gr. fotos=licht en grafie=schrijven) bespreken. Licht heeft altijd een belangrijke rol gespeeld bij de fotografie. De taak van de fotografie is het vastleggen van het licht. Ondanks het feit dat de belichting van een sc`ene een belangrijke rol speelt, slagen maar weinigen erin om deze van de eerste keer juist in te stellen. Licht geeft sfeer, het benadrukt onderdelen van de sc`ene of onderdrukt deze juist. In het deel dat volgt wordt een kleine beschrijving gegeven van de manieren die in de studiofotografie worden gebruikt om een voorwerp te belichten.
1.4 Belichting
7
(a)
(b)
Figuur 1.5: Twee verschillende kleurmodellen. Het (subtractief) CMYK model wordt gebruikt om afdrukken op papier te kunnen maken terwijl het (additief) RGB model wordt gebruikt voor projectieapparaten (vb: computerschermen).
1.4
Belichting
Het juist belichten van een voorwerp gebeurt meestal in een speciale studio waar professioneel materiaal aanwezig is om alles juist in te stellen. Het instellen van een goede studiobelichting is een complex proces waarbij fotografen iteratieve schattingen van het licht doen om tot een goede belichting te komen. Hierbij steunen ze vaak op hun jarenlange ervaring. Figuur 1.6(a) [1] toont hoe de belichting in een professionele studio gebeurt. Indien men hierover niet beschikt, moet de woonkamer vaak dienst doen als studio. Een voorbeeld hiervan is te zien in figuur 1.6(b) [34]. Hiermee vallen meteen de eerste struikelblokken op die een goede belichting in de weg staan. Er moet namelijk voldoende ruimte zijn om alles op te stellen, de volledige opstelling is tijdrovend en er dient een behoorlijk budget te worden voorzien om het materiaal te kopen. Bij beide opstellingen zien we dat het voorwerp langs verschillende kanten tegelijk wordt belicht. Ook is er een doek aanwezig dat voor de nodige lichtreflecties zorgt. Als de foto niet aan de eisen van de fotograaf voldoet, zal deze de opstelling van de ge-
1.4 Belichting
8
(a) professionele studiobelichting [1]
(b) amateur belichting [34]
Figuur 1.6: Twee mogelijke opstellingen om een voorwerp te belichten. Als men niet over een professionele studio (a) beschikt, zal de opname thuis in bijvoorbeeld de woonkamer (b) moeten gebeuren. De kostprijs, de benodigde ruimte en de complexe opstelling van het licht, vragen serieuze inspanningen van de fotograaf.
1.4 Belichting
9
bruikte lichten moeten aanpassen. Ook moet voor iedere sc`ene de belichting opnieuw worden ingesteld. Het is duidelijk dat deze manier van werken duur (materiaal en uurloon), traag (de belichting is zelden van de eerste keer juist) en tijdrovend (voor iedere sc`ene is een unieke opstelling nodig) is. Voor mensen die niet professioneel met fotografie bezig zijn, kan het belichten van een sc`ene daarom behoorlijk frustrerend zijn. Meestal weet men wel wat men wil, maar kan men niet bepalen welk soort lichten men moet gebruiken of hoe de lichten moeten worden geplaatst en geori¨enteerd. Ondanks het feit dat de juiste belichting van een foto moeilijk is, blijft dit essentieel om een object realistisch voor te stellen. Met de goede belichting kan men een 2D/3D effect bereiken, schaduwen verwijderen of toevoegen en details benadrukken. Net omdat de belichting zo’n moeilijk onderdeel is, zou het handig zijn als we dit met een eenvoudig proces kunnen aanpassen tijdens de postproductie van de foto. Zo zouden we erin slagen om meer foto’s te verwerken op kortere tijd. We zullen enkele technieken bespreken die toelaten om de belichting van foto’s tijdens de postproductie te manipuleren. Tot nu toe hebben we het gehad over de motivatie van fotografen om aan postproductie te doen. Ook hebben we het onderscheid tussen lokale en globale belichting aangehaald. We gaan nu kort aangeven op welke manier we realistische beelden met een willekeurige belichting in de computergrafiek kunnen cre¨eren. De traditionele computergrafiek vertrekt van een model, dit is een verzameling polygonen, om de geometrie van een sc`ene samen te stellen. Als men deze sc`ene later wil (her)belichten dan moet men hiervoor het lichttransport doorheen de virtuele sc`ene berekenen. Deze klassieke methode heeft een aantal nadelen. Als we een digitale afbeelding willen maken van een object met zeer veel detail, zoals de beer [12] uit figuur 1.7, dan zal dit met de traditionele computergrafiek bijna onmogelijk blijken. Voor complexe sc`enes opgebouwd uit honderdduizenden vlakjes, nemen zulke visualisaties veel tijd in beslag. Een overzicht van de traditionele computergrafiek wordt gegeven in figuur 1.8 (a).
1.4 Belichting
10
Figuur 1.7: Als we een digitale afbeelding willen maken van een object met zeer veel detail, zoals deze beer [12], dan zal dit met de traditionele computergrafiek bijna onmogelijk blijken. De visualisatie ervan zou zeer veel tijd in beslag nemen.
Beeldgebaseerde technieken (Eng. image-based techniques) proberen hieraan te verhelpen door een andere aanpak te volgen. De sc`ene wordt hier niet langer voorgesteld met geometrie, maar wordt met referentiebeelden berekend of wordt gefotografeerd vanuit een aantal cameraposities. De informatie uit deze referentiebeelden wordt dan gebruikt om nieuwe beelden voor andere cameraposities te berekenen. Beeldgebaseerde belichting (Eng. image-based lighting) is een onderdeel van deze technieken en gebruikt de foto’s van een sc`ene om deze te belichten. We vertrekken hier dus van foto’s van de sc`ene, vandaar de term ‘beeldgebaseerd’. We moeten de nieuwe belichting nu uitdrukken in termen van de reeds gekende gecontroleerde belichting en een gewogen combinatie maken van deze foto’s. Het voordeel van deze, als het ware omgekeerde werkwijze, is dat alle details nog steeds waarneembaar zijn (op voorwaarde natuurlijk dat we ze al konden waarnemen op de foto’s). Een ander groot voordeel van deze werkwijze is dat we geen lichttransportsimulatie meer moeten uitvoeren omdat de foto’s deze al bevatten.
1.4 Belichting
(a) computergrafiek
11
(b) computervisie
Figuur 1.8: De computergrafiek (a) vertrekt van een model van een object en gebruikt een lichttransportberekening om het object te belichten. De computervisie (b) vertrekt van echte foto’s van een sc`ene en genereert hieruit een model.
We hebben gezien dat de computergrafiek vertrekt van een geometrisch model van een sc`ene of object en dat daarvan een digitaal beeld wordt gegenereerd. De computervisie daarentegen vertrekt van een re¨ele sc`ene die wordt bekeken vanuit verschillende camerastandpunten en genereert daaruit een nieuw model. In tegenstelling tot de computergrafiek vertrekken we hier dus niet van een geometrisch model (zie figuur 1.8 (b)). We kunnen deze technieken ook combineren. Hiervoor passen we eerst de computervisie toe en gebruiken we het resultaat ervan als invoer voor de computergrafiek. Op deze manier vertrekken we van een re¨ele sc`ene en kunnen we met behulp van de computergrafiek een nieuwe belichting genereren. In sommige gevallen voldoet de computervisie echter niet, bijvoorbeeld wanneer de sc`ene te complex is om er een precies geometrisch model van te maken. We kunnen dit oplossen door een verzameling beelden en een benaderende 3D geometrie van het object als invoer voor de computergrafiek te gebruiken. Op deze manier kunnen we met een combinatie van de computervisie en de computergrafiek complexe voorwerpen opnieuw realistisch voorstellen en belichten. Deze combinatie wordt ook wel beeldgebaseerde beeldgeneratie (Eng. image-based rendering) genoemd. Figuur 1.9 toont een schematisch overzicht hiervan.
1.4 Belichting
12
Figuur 1.9: De traditionele werkwijze van de beeldgeneratie [25]. Beeldgebaseerde beeldgeneratie is de combinatie van de computergrafiek met de computervisie waarmee we complexe voorwerpen realistisch kunnen voorstellen en herbelichten.
Beeldgebaseerde beeldgeneratie verwijst dus naar een klasse van beeldgeneratiemethodes die een verzameling foto’s van een sc`ene en meestal ook een geometrisch model ervan als invoer krijgen (in plaats van enkel een model dat geometrie- en materiaaleigenschappen bevat). Deze beeldgeneratiemethodes combineren de invoerbeelden en gebruiken ze om nieuwe beelden te maken die kunnen worden bekeken vanuit verschillende camerastandpunten. De huidige beeldgebaseerde beeldgeneratietechnieken hebben verschillende voordelen. Ten eerste zijn ze onafhankelijk van de complexiteit van de sc`ene. Hierdoor wordt het mogelijk om real-time realistische interactiviteit met complexe sc`enes te verkrijgen. Daarenboven kunnen ze ook gebruik maken van op voorhand gegenereerde beelden. Dit heeft als gevolg dat complexe, realistische sc`enes kunnen worden bekeken zonder dat we gebruik moeten maken van moeilijke (of zelfs onmogelijke) geometrische modellering. Een nadeel van de beeldgebaseerde beeldgeneratie is dat de kwaliteit van het resultaat afhangt van de bemonstering van de sc`ene. Hiermee bedoelen we dat de zichtbare sc`ene vanuit voldoende posities moet worden gefotografeerd zodat alle camerastandpunten voldoende in beeld worden gebracht. Zoniet zullen
1.4 Belichting
13
bepaalde gezichtspunten slechte resultaten geven of zelfs helemaal onmogelijk blijken. Ook kunnen er dan moeilijkheden optreden met het tonen van hoogfrequente componenten en veranderingen in de sc`ene. Beeldgebaseerde generatie- en herbelichtingstechnieken kunnen ook gebruikt worden om zeer realistische beelden te genereren onder arbitraire belichtingsomstandigheden, zonder dat zware lichttransportberekeningen moeten uitgevoerd worden of zonder het gebruik van modellen en cameraverplaatsingen. De meeste beeldgebaseerde herbelichtingstechnieken gebruiken een verzameling van basisbeelden als invoer, waarbij elke foto genomen werd met een verschillende gekende positie van de lichtbron. Nieuwe belichtingsomstandigheden kunnen dan gegenereerd worden door een gewogen som van deze basisbeelden te nemen. Bij de light waving techniek, die verder aan bod zal komen, worden een aantal foto’s genomen van een object onder vari¨erende lichtbronposities. Deze techniek verschilt van de traditionele technieken doordat de lichtbronposities niet rechtstreeks worden opgemeten of gekend zijn, maar wel de geschatte relatieve 3D posities van de lichtbronnen ten opzichte van mekaar.
LITERATUURSTUDIE
14
Hoofdstuk 2 Literatuurstudie In deze literatuurstudie zullen we eerst een overzicht geven van enkele toepassingen van beeldgebaseerde belichting. Zo kan het onder andere worden gebruikt om het licht dat in een sc`ene binnenvalt te veranderen of om realistische texturen te maken die afhankelijk zijn van het licht. Hierna bespreken we een aantal methodes en toestellen die werden ontwikkeld om aan beeldgebaseerde belichting te kunnen doen. We zullen zien dat, ondanks het feit dat de meeste methodes grote gelijkenissen vertonen, ze toch tot diverse resultaten in staat zijn. We bespreken ook een techniek die geen gebruik maakt van ingewikkelde constructies en daardoor heel mobiel zal blijken. Hiermee wordt bedoeld dat het gebruik ervan niet beperkt is tot de ruimte waar de opstelling wordt opgezet zoals bij de methodes ervoor. De laatste techniek die wordt besproken, biedt gebruikers de mogelijkheid om de belichting op een interactieve manier aan te passen.
2.1 Beeldgebaseerde belichting
2.1
15
Beeldgebaseerde belichting
Zoals we in het vorige hoofdstuk hebben gezien, bestaat het belangrijkste concept van beeldgebaseerde belichting uit het extraheren van lichtinformatie uit tweedimensionale beelden. Deze informatie wordt vervolgens gebruikt voor het genereren van beelden van echte of computergegenereerde objecten. Een ‘gewone’ foto zal het volledige zichtbare lichtspectrum nooit kunnen bevatten. Om dit te verhelpen wordt vaak gewerkt met foto’s met een hoog-dynamisch bereik, die via een speciale techniek worden omgezet naar foto’s die toonbaar zijn op een scherm of op papier. Foto’s met een hoog-dynamisch bereik zullen van pas komen als we een sc`ene willen herbelichten. Ze zijn er echter niet noodzakelijk voor. Ook met laag-dynamische foto’s krijgen we goede resultaten. We beginnen dit onderdeel met een kleine opsomming van verschillende manieren om objecten te tonen op uitvoerapparaten. Vervolgens leggen we uit wat foto’s met een hoog-dynamisch bereik zijn en hoe deze de tekortkomingen van uitvoerapparaten kunnen omzeilen. De meeste methodes om beelden op te slaan, maken gebruik van kleurmodellen die voor specifieke uitvoersystemen (zoals printers of schermen) bestemd zijn. Het voordeel hiervan is dat een foto er op eenzelfde uitvoersysteem grotendeels hetzelfde zal uitzien en dat er geen kleuren worden gebruikt die niet kunnen worden weergegeven (omdat ze buiten het bereik van het kleurmodel liggen). Het nadeel is dan weer dat sommige kleuren niet zichtbaar kunnen zijn op andere uitvoerapparaten en dat eenzelfde foto kleurverschil kan vertonen afhankelijk van het uitvoerapparaat. Methodes die zich richten op bepaalde uitvoerapparaten worden uitvoergerefereerde standaarden (Eng. ouput referred standards) genoemd [29]. Bij sc`enegerefereerde standaarden (Eng. scene referred standards) daarentegen probeert men om de originele, gefotografeerde sc`ene zo nauwkeurig mogelijk voor te stellen. Om de sc`ene op een bepaald uitvoerapparaat te tonen, moet er eerst een kleurconversie (Eng. tone mapping) gebeuren. Deze kleurconversie biedt de mogelijkheid om voor een precieze uitvoer te zorgen op elk uitvoerapparaat. Vermits de kleurconversie pas gebeurt na de keuze van het uitvoerapparaat, zal er geen (of slechts een beperkt) verlies van kleur of kwaliteit zijn. We moeten ons
2.1 Beeldgebaseerde belichting
16
immers niet meer aan een bepaald kleurbereik houden. Het is dan ook een uitdaging om dit volledig kleurbereik op een geschikte manier te coderen. Foto’s met een hoog-dynamisch bereik zullen ons die mogelijkheid bieden [29].
2.1.1
Foto’s met een hoog dynamisch bereik
Het dynamisch bereik van een foto is de maatstaf voor de variatie van de helderheidsniveau’s die erin voorkomen. Het is de ratio tussen de donkerste en de helderste tonen in een beeld. Zo kan het menselijk oog bijvoorbeeld een dynamisch bereik van ongeveer 10000:1 aan, terwijl het dynamisch bereik van een digitale foto beperkt is tot 100:1. Dit kunnen we oplossen door naar een manier te zoeken waarmee we een groter deel van dit dynamisch bereik kunnen opnemen en dus ook meer details kunnen tonen. Een gewone foto kan ongeveer tien procent ‘zien’ van wat er door een mens te zien is in een sc`ene. Als we het in het vervolg van deze tekst over gewone foto’s hebben, dan bedoelen we telkens foto’s met een laag-dynamisch bereik. Door gebruik te maken van beelden met een hoog-dynamisch bereik, kunnen we een groter dynamisch bereik opslaan dan een gewone digitale foto normaal opslaat. Er bestaan twee manieren om foto’s met een hoog-dynamisch bereik te maken. De meest gebruikte en tevens meest omslachtige manier, is door een aantal foto’s te nemen met een verschillende sluitertijd. We beginnen bijvoorbeeld met de kortste sluitertijd en gaan door tot de langste sluitertijd. Deze techniek wordt ook wel exposure bracketing genoemd omdat er met verschillende sluitertijden (Eng. exposures) wordt gewerkt. In iedere foto zullen details zichtbaar zijn, die niet zichtbaar zijn in de andere foto’s. De verschillende sluitertijden zorgen er namelijk voor dat telkens andere delen van de sc`ene correct worden belicht. Om meerdere foto’s te combineren tot ´e´en foto met hoog-dynamisch bereik, is het nodig dat we de responsfunctie van de camera kennen. Met deze responsfunctie kunnen we de data lineariseren. Een manier om deze responsfunctie te vinden, wordt gegeven door Debevec & Malik [7]. Volgens hen wordt de cameraresponsfunctie voor iedere pixel bemonsterd door foto’s met verschillende sluitertijden te nemen
2.1 Beeldgebaseerde belichting
17
van een statische sc`ene. Figuur 2.1 toont twee foto’s die een verschillende sluitertijd hebben (a, b). Als we ze samenvoegen met een kleurconversie dan krijgen we het resultaat van (c) [7]. Hierin is meer detail zichtbaar van de globale foto dan enkel in (a) of (b). Een ander voorbeeld van een foto met hoog-dynamisch bereik is te zien in figuur 2.2. Er dient te worden opgemerkt dat deze tekst werd gedrukt met gewone inkt, dit wil zeggen inkt met een laag-dynamisch bereik. Hierdoor is het hoog-dynamisch bereik van de foto’s grotendeels verloren gegaan. Dit is tevens de reden waarom het kleurpalet uit figuur 1.4 niet de volledige verzameling kleuren beschrijft die een mens kan zien en ook de reden waarom de foto uit figuur 2.2 er artificieel uitziet. Als we een gewone foto zouden nemen, dan zou de kathedraal niet zo goed te zien zijn omdat de maan zou overheersen. De voorkant van de kathedraal zou op de foto overwegend zwart zijn. Door de sluitertijd te veranderen, zijn we dus in staat om telkens een ander segment van het dynamisch bereik van een foto op te slaan. Een tweede manier om foto’s met een hoog-dynamisch bereik te maken, is door gebruik te maken van toestellen die standaard zulke opnames kunnen maken zoals te zien in figuur 2.3.
Figuur 2.1: Twee foto’s met een verschillende sluitertijd (a,b) kunnen via een speciale techniek worden samengevoegd tot een foto met een hoogdynamisch bereik (c). Het voordeel hiervan is dat er details zichtbaar zijn die anders verborgen zouden blijven. De voorgrond is bij de onderbelichte foto (a) niet zichtbaar, terwijl bij de overbelichte foto (b) de zon niet zichtbaar is. Bij het samengevoegd resultaat (c) zijn beide delen zichtbaar.
2.1 Beeldgebaseerde belichting
18
Figuur 2.2: Een foto met een hoog-dynamisch bereik moet eerst worden geconverteerd naar een laag-dynamisch bereik om te kunnen worden getoond op conventionele televisietoestellen of om te kunnen worden afgedrukt. De conversie van hoog naar laag-dynamisch bereik zorgt voor het artificieel effect [21].
Figuur 2.3: De makkelijkste manier om foto’s met een hoog-dynamisch bereik te maken, is door speciale fototoestellen zoals deze van SMaL Camera Technologies te gebruiken [27].
2.1 Beeldgebaseerde belichting
19
De meeste schermen en printers zijn niet in staat om beelden met een hoogdynamisch bereik te tonen, simpelweg omdat het toestellen met een laagdynamisch bereik zijn. Een uitzondering hierop vormen de televisietoestellen van Dolby waarvan een voorbeeld te zien is in figuur 2.4. Dit toestel kan beelden met een hoog-dynamisch bereik tonen zonder een kleurconversie uit te voeren. Voor de andere (conventionele) toestellen moet er dus op de ´e´en of andere manier worden gezorgd voor een kleurconversie. Bij dit proces zal altijd een deel van de kleurinformatie verloren gaan omwille van het feit dat er een conversie plaatsvindt. Het resultaat zal een benaderende kleurafbeelding zijn. Figuur 2.5 toont hiervan een voorbeeld. De achtergrond is een hoogdynamische foto maar als deze op een laag-dynamisch scherm wordt getoond, gaat een deel van de kleurinformatie verloren ten gevolge van de kleurconversie. Hoe beter de kleurconversie gebeurt, hoe minder kleurverschil er zal zijn.
Figuur 2.4: De DR37-P is ´e´en van de eerste televisietoestellen die in staat is om beelden met een hoog-dynamisch bereik te tonen zonder een kleurconversie uit te voeren [8].
2.1 Beeldgebaseerde belichting
20
Figuur 2.5: Het computerscherm toont een foto met hoog-dynamisch bereik van de achtergrond nadat deze een kleurconversie heeft ondergaan. Hoe beter de kleurconversie, hoe minder het verschil opvalt [23].
Tot nu toe hebben we gezien welke de voordelen zijn van foto’s met een hoogdynamisch bereik. Het grootste voordeel is ongetwijfeld dat ze in staat zijn om het volledig lichtbereik in een sc`ene te beschrijven en op te slaan. Op die manier kunnen we meer details zien. We hebben ook twee verschillende manieren besproken om zulke foto’s te maken. De eerste was door meerdere opnames van een sc`ene te maken met telkens verschillende sluitertijden. Hierdoor waren in iedere foto verschillende details zichtbaar. In de nabewerking werden de foto’s gecombineerd tot ´e´en enkele foto met een groter dynamisch bereik. Een tweede manier was door gebruik te maken van speciale fototoestellen die automatisch een foto met hoog-dynamisch bereik kan maken. In zulke hoog-dynamische foto’s zit er zowel meer informatie in de donkere als in de lichte gedeelten van de foto. Vermits we met hoog-dynamische foto’s veel meer omgevingsinformatie verkrijgen dan bij gewone foto’s, kunnen deze ook worden gebruikt om het omgevingslicht van een sc`ene vast te
2.1 Beeldgebaseerde belichting
21
leggen. Het omgevingslicht van een sc`ene kan worden gebruikt om objecten te herbelichten. De volgende sectie beschrijft hoe we foto’s kunnen gebruiken om het omgevingslicht te vangen.
2.1.2
Omgevingslicht
Naast foto’s maakt een ander belangrijk proces deel uit van beeldgebaseerde belichting namelijk omnidirectionele of panoramafotografie. Dit is een proces waarbij we vanuit een vast camerastandpunt een reeks foto’s nemen zodat we de omgeving in alle richtingen kunnen bekijken. Omnidirectionele foto’s zijn nodig omdat al het inkomende licht (zowel het directe als het indirecte) bijdraagt tot de belichting in een sc`ene. In het vervolg van dit deel zal uitgelegd worden hoe omnidirectionele hoog-dynamische foto’s gemaakt kunnen worden. Er zijn verschillende methodes om foto’s te nemen die in verschillende richtingen kijken. Een manier om dit te doen is zoals gebruikt bij QuickTime VR panorama’s [33]. Hiermee kunnen we een panoramisch beeld maken door de camera rond de as van het statief te draaien. Een nadeel hiervan is dat we niet in de verticale richting kunnen kijken (en dus niet al het licht kunnen opslaan). Met de techniek van Hermans et al [13] kan men wel over de verticale as draaien met de camera maar kan men niet volledig ronddraaien rond de assen. Daarom zullen we de lichtsondemethode (Eng. lightprobemethod ) bespreken die hiervan geen hinder heeft. Dit is de meest gebruikte, eenvoudigste en effici¨entste methode om een hoog-dynamische omgevingsfoto te maken die de inkomende belichting in een punt beschrijft. Een lichtsonde is in feite een glanzende metalen bol waarmee we de inkomende belichting trachten te vatten. Een voordeel van de lichtsonde is dat het bijna de volledige belichting van een omgeving kan tonen in ´e´en punt. Een ander voordeel ervan is dat het een goedkoop middel is om de belichting op te slaan. Om een lichtkaart, een hoog-dynamisch panoramabeeld, van de omgeving te maken met behulp van een lichtsonde, hebben we enkele basismaterialen (namelijk twee statieven, een fototoestel en de lichtsonde) nodig. We richten
2.1 Beeldgebaseerde belichting
22
onze camera op het midden van een hoogglanzende bol die in de sc`ene staat waar we de belichting van willen opslaan [11]. Een voorbeeldopstelling is te zien in figuur 2.6. Voordat we met de opname starten, moeten we erop letten dat de bol op een voldoende afstand van de camera staat en op dezelfde hoogte. Door voldoende afstand te houden, wordt de invloed van de camera op het boloppervlak sterk gereduceerd.
Figuur 2.6: Een voorbeeldopstelling voor het aanmaken van een lichtkaart door middel van een lichtsonde.
Een lichtkaart is een beeld dat het inkomend licht in een punt in de ruimte opneemt. In figuur 2.7 zien we een mogelijke samenstelling van een lichtkaart. De verschillende foto’s van de lichtsonde worden samengevoegd tot een lichtkaart. Een andere manier zou gebruik maken van een speciaal fototoestel met hoog-dynamisch bereik. De foto behandelt 360◦ in elke richting rond het punt dat we gebruiken als lichtsonde. Als we de lichtsonde slechts vanuit ´e´en positie fotograferen, zullen er vaak artefacten (bijvoorbeeld de fotograaf) in te zien zijn. Om dit te voorkomen wordt er meestal vanuit twee posities gefotografeerd. De lichtkaart wordt gevormd door het samenvoegen van de hoog-dynamische beelden tot ´e´en hoog-dynamische omnidirectionele foto (zie figuur 2.8).
2.1 Beeldgebaseerde belichting
23
Figuur 2.7: Het verkrijgen van een lichtsonde met hoog-dynamisch bereik.
Om dit omnidirectioneel zicht om te zetten naar een 2D beeld, wordt ervan uitgegaan dat de lichtsonde uit een perfecte sfeer bestaat en dat het punt waarop de camera gericht was, zich precies in het midden van de sfeer bevindt. Nadat we een lichtsondefoto hebben genomen, moeten we deze natuurlijk kunnen opslaan in een formaat waarmee we makkelijk kunnen werken. De meest gebruikte voorstelling van een lichtsonde is in bolvorm of in kubus (kruis) mapping zoals te zien in figuur 2.9 [30]. De bolvorm (a) kunnen we ons conceptueel voorstellen als we als volgt denken: het centrum van de sfeer is het gebied dat voor ons ligt terwijl de rand van de sfeer het gebied achter ons weergeeft. De voorstelling van de kubusvorm is te zien in (b). In (c) zien we er een praktijkvoorbeeld van. Een belangrijke toepassing van beeldgebaseerde belichting zijn visuele effecten in films. Hierbij worden ofwel virtuele wezens, objecten of personen gefilmd alsof ze echt op de set aanwezig waren op het moment van de opnames. Ofwel worden echte objecten en personen herbelicht om de illusie te wekken dat ze zich echt in een virtuele sc`ene bevinden.
2.1 Beeldgebaseerde belichting
24
Figuur 2.8: Om artefacten te verwijderen uit een lichtkaart, wordt dit samengesteld uit twee hoog-dynamische foto’s van de lichtsonde die vanuit een verschillende positie werden genomen.
In figuur 2.10 zien we een voorbeeld van een figuur die wordt gegenereerd onder twee verschillende echte belichtingen. Zonder het gebruik van beeldgebaseerde belichting ziet het resultaat er zeer artificieel uit (a) maar door het gebruik van beeldgebaseerde belichting ziet de sc`ene er veel realistischer uit (b,c). Een voordeel ervan is dat het net lijkt alsof de voorwerpen deel uitmaken van die bepaalde sc`ene terwijl dat in werkelijkheid niet het geval was [6]. Een ander voorbeeld van een figuur die wordt gegenereerd onder twee verschillende belichtingen is te zien in figuur 2.11 [23].
2.1 Beeldgebaseerde belichting
(a)
25
(b)
(c)
Figuur 2.9: Twee mogelijke voorstellingen van een lichtkaart. In (a) wordt de lichtkaart opgeslaan als een cirkel. Een andere manier is om de lichtkaart op te slaan is in een kruisvorm. (b) toont aan dat we op die manier ook alle lichtstralen opslaan. In (c) wordt dezelfde lichtkaart als in (a) getoond maar dan in kruisvorm.
(a)
(b)
(c)
Figuur 2.10: Een virtuele figuur die wordt weergegeven onder twee verschillende echte belichtingen. (a) toont de figuur met enkel directe belichting. (b) en (c) tonen de figuur met een verschillende echte belichting. Telkens lijkt het alsof de figuur zich echt in de sc`ene bevindt [6].
Om objecten zoals de figuren 2.10 en 2.11 effici¨ent te belichten, moeten we de lichtkaart omzetten in een verzameling van lichtbronnen. We willen immers weten welk licht (met welke vorm en kleur) vanuit welke richting komt
2.1 Beeldgebaseerde belichting
26
Figuur 2.11: Het Parthenon in Athene. (a) toont het Parthenon onder directe belichting, in (b) wordt het monument enkel belicht door de wolken en in (c) wordt een combinatie van de twee belichtingen gebruikt [23].
en welke lichtbronnen verantwoordelijk zijn voor de directe belichting. De manier om dit te doen is door een lichtkaart te verdelen in een aantal geometrische regio’s en om hieruit dan een lichtbron te genereren. Iedere regio komt overeen met een lichtbron. Hieruit verkrijgen we een verzameling van punten die allemaal overeenkomen met de (precieze) positie van de lichten. In figuur 2.12 is een voorbeeld van een lichtkaart te zien die werd onderverdeeld in geometrische (lichtbron)regio’s. De sc`ene is onderverdeeld in groene regio’s. De rode pijlen wijzen de gevonden lichtbron per regio aan [4]. De manier waarmee dit voorbeeld werd behandeld is met de median-cut. Dit is een techniek om een lichtkaart te benaderen als een samenspel van lichtbronnen. Het werkt als volgt: stel dat B een verzameling gebieden is die lichtbronnen bevat en initieel is er ´e´en gebied dat alle lichtbronnen bevat. Zolang het aantal gebieden in B kleiner is dan een gewenst aantal clusters, wordt gezocht naar de langste zijde van eender welk gebied. Die lengte wordt dan in twee verdeeld zodat de lichtenergie in de helft wordt verdeeld. Dat gebeurt op zo’n manier dat de helft van de lichtenergie in het nieuwe gebied valt. Deze nieuwe regio’s worden op hun beurt verder verkleind, totdat ze nog maar een bepaalde drempelwaarde van lichtenergie hebben bereikt. Er dient te worden opgemerkt dat er meer lichtbronnen gecentraliseerd liggen rond de vensters. Dit komt omdat we van daaruit meer licht binnenkrijgen en er daar dus ook meer gebieden zijn met dezelfde lichtenergie.
2.1 Beeldgebaseerde belichting
27
Figuur 2.12: Een bemonsterde lichtkaart. Om een object effecti¨ent te belichten, moeten we de lichtkaart omzetten in een figuur met een verzameling lichtbronnen. Een manier om dit te doen is door gebruik te maken van de median-cut. Deze methode verdeelt een lichtsondebeeld in een aantal geometrische regio’s die elk een lichtbron bevatten [4].
Een manier om personen snel te belichten in een hemisfeervorm en waarbij we de precieze posities van de lichtbronnen kennen, is door gebruik te maken van een lightstage [5]. We verkiezen een hemisfeervorm omdat we op die manier alle mogelijke inkomende lichtrichtingen kunnen voorstellen. Dit toestel, waarvan een voorstelling te zien is in figuur 2.13, geeft ons de mogelijkheid om de persoon die door de lightstage wordt omgeven, tijdens een postproductie proces te belichten met iedere mogelijke lichtkaart. Met ´e´en van de eerste versies van de lightstage was het mogelijk om het gezicht van een persoon te fotograferen onder alle mogelijke inkomende belichtingsrichtingen. Er was een rij van lichtbronnen aanwezig en deze werd in een cirkel vorm rond het hoofd van de testpersoon gedraaid terwijl camera’s ondertussen foto’s van het gezicht namen. Het volledige proces duurde ongeveer een minuut maar meestal waren er meerdere pogingen nodig omdat de persoon volledig roerloos moest blijven. De eerste film waarin dit werd gebruikt was Spider-Man 2. Figuur 2.14 [9] toont een beeld van Dr. Otto Octavius met vier octopusarmen. De belichting van het gezicht werd volledig gedaan
2.1 Beeldgebaseerde belichting
28
met de lightstage. Hiermee zijn we in staat om een volledige replica te maken van het hoofd van een persoon en om dit te bekijken vanuit verschillende richtingen en ook correct te belichten. Na de toepassing in Spider-Man 2 is het gebruik van deze techniek niet meer weg te denken uit de filmindustrie. Tegenwoordig is men met de lightstage 6.0, zie figuur 2.15, in staat om een volledige persoon in beweging te herbelichten.
(a)
(b)
Figuur 2.13: De lightstage geeft ons de mogelijkheid om een persoon virtueel te herbelichten. De persoon of het object dat we willen fotograferen, plaatsen we in de lightstage (a). Deze zal worden belicht door een reeks gekalibreerde lichtbronnen die in een hemisfeervorm rond zullen draaien (b). De camera wordt gericht op het onderdeel dat we willen herbelichten.
2.1 Beeldgebaseerde belichting
29
Figuur 2.14: Herbelichting in Spider-Man 2. Het gezicht van Dr. Otto Octavius werd herbelicht door gebruik te maken van de lightstage ( Columbia Pictures Industries, Inc. ) [9].
©
Figuur 2.15: Met de lightstage versie 6.0 is men zelfs in staat om een persoon in beweging te herbelichten. Het basisprincipe blijft echter hetzelfde als bij de vorige versies.
2.2 Herbelichting
2.2
30
Herbelichting
Tot hier toe hebben we het gehad over hoe we hoog-dynamische foto’s kunnen verkrijgen en hun voordelen ten opzichte van gewone foto’s. We hebben reeds kort aangehaald dat zowel laag- als hoog-dynamische foto’s kunnen worden gebruikt om objecten en personages te herbelichten. We hebben ook gezien dat beeldgebaseerde belichting verschillende toepassingsdomeinen kent, waarvan de filmindustrie ongetwijfeld de grootste is. Het doel van beeldgebaseerde herbelichting is om een object te visualiseren onder verschillende, nieuwe belichtingscondities zonder dat we kennis hebben van de geometrie van het object of van de materiaaleigenschappen. Het resultaat van de herbelichting moet eruitzien alsof het voorwerp zich echt in de sc`ene bevond op het moment van de opname. Het uiterlijk van een object wordt gekenmerkt door het reflectieveld ervan. We kunnen dit reflectieveld meten door verschillende foto’s te nemen van het object, onder verschillende belichtingscondities en dit vanaf een vast camerastandpunt. Dit hoofdstuk begint met een overzicht van twee methodes die toelaten om dit reflectieveld te meten en om de intensiteit van de lichtstralen te beschrijven. Hierna leggen we kort uit wat deze methodes gemeenschappelijk hebben.
2.2.1
Plenoptische functie
Adelson et al. [2] introduceerden de plenoptische functie die een formele beschrijving geeft van de structuur van het licht. Om deze functie te kunnen bepalen moet er een camera op elke mogelijke 3D locatie in de ruimte worden geplaatst. Hierdoor kunnen we de lichtintensiteit meten die door de cameralens gaat onder elke mogelijke hoek, voor elke mogelijke golflengte en dit op elk ogenblik in de tijd. Als we deze 7D functie hebben beschreven, kunnen we hieruit beelden van de sc`ene vanuit willekeurige posities genereren. De plenoptische functie kan als volgt worden geformuleerd: stel dat we over een bol beschikken die zich op elke mogelijke plaats (Vx , Vy , Vz ) bevindt en in staat is om de intensiteit van alle stralen die erdoor gaan te meten en dit
2.2 Herbelichting
31
onder elke mogelijke hoek (θ, ϕ), voor elke golflengte λ en voor elk tijdstip t. We kunnen deze functie dan formeel voorstellen als: P = P (θ, ϕ, λ, t, Vx , Vy , Vz );
(2.1)
De plenoptische functie (zie formule 2.1) blijkt in de praktijk echter onmogelijk te berekenen. Maar als we bepaalde veronderstellingen maken, dan kunnen we de dimensionaliteit ervan verlagen en zijn we wel in staat om de (vereenvoudigde) plenoptische functie te berekenen. Twee technieken die gebruik maken van een 4D deelverzameling van de (originele) plenoptische functie zijn de lumigraph [10] en het lichtveld (Eng. lightfield ) [14]. Deze twee beschrijven enkel de verzameling lichtstralen die de convex omhullende schil van de sc`ene verlaten. Ook wordt er een soort momentopname van de sc`ene gemaakt zodat de tijd geen invloed meer heeft. Tenslotte wordt er ook vanuit gegaan dat er enkel met monochromatisch licht wordt gewerkt. Hierdoor moeten we geen rekening houden met de verschillende golflengtes. Beide methodes parametriseren de lichtstralen door de intersectie van twee a priori gekende oppervlakken. Om een beeld vanuit een nieuwe kijkrichting samen te stellen volstaat het om de vier parameters voor elke beeldstraal te berekenen en om de radiatie te herbemonsteren op die lijnparameters. De lumigraph benadert dit herbemonsteringsproces als de lineaire som van het product tussen een (quadrilineaire) basisfunctie en de waarde van elk punt in de twee vlakken. Ook wordt de op voorhand gekende geometrie van het object gebruikt om de vorm van de basisfunctie geleidelijk aan te passen. Het lichtveld daarentegen interpoleert de 4D functie van het meest nabije punt op het oppervlak. Aangezien het lichtveld en de lumigraph veel overeenkomsten hebben, zullen we enkel een korte beschrijving van het lichtveld geven. De werking van de lumigraph is echter gelijkaardig.
2.2 Herbelichting
2.2.2
32
Lichtveld
Het lichtveld is een maat voor de hoeveelheid licht die in elke richting door de ruimte gaat. Deze hoeveelheid varieert langzaam naar verschillende waarden (behalve bijvoorbeeld voor grenzen tussen objecten en schaduwen). In zo’n vrije ruimte wordt het lichtveld gevormd door een 4D functie. Het opnemen van een lichtveld is niet ingewikkeld. Het volstaat om een object te fotograferen vanuit het midden van een sfeer. We verplaatsen de camera over n posities van de sfeer, stel bijvoorbeeld n = 200, en fotograferen het object vanuit ieder camerastandpunt. Als we de camera ver genoeg van het object plaatsen, dan zal deze uit de convexe schil van het object blijven en vormen de foto’s een 4D lichtveld. Als we deze foto’s in een animatie zouden plaatsen, zouden we de indruk krijgen dat we rond het object draaien of dat het object wordt gedraaid terwijl wij onze positie behouden. Als we de waarde van n op zo’n manier verhogen dat de sfeer zeer dicht wordt bemonsterd, dan kunnen we naar het object toe gaan (terwijl dit tijdens de opnames niet is gebeurd). De idee hierachter is dat sommige pixels van naburige foto’s identiek gaan zijn met pixels van de foto vanuit ons huidig standpunt. Een lichtveld kan dus worden beschouwd als een 2D verzameling van 2D beelden van een sc`ene, die samen een 4D rij van pixels vormen. Als we het object vanuit een nieuwe kijkrichting willen bekijken, dan moeten we een gepaste 2D snede uit deze 4D rij halen. De hoeveelheid foto’s die nodig zijn om dit succesvol te kunnen toepassen, hangt van de plaats af die men wil innemen tijdens de postproductie. Als we het object langs de linkerkant willen bekijken, dan zal het object ook langs de linkerkant gefotografeerd moeten worden. Om bevredigende resultaten te bekomen, moet men erop letten dat de genomen foto’s van een voldoende hoge resolutie zijn. Anders zullen de bekomen resultaten wazig zijn, zeker als men de oorspronkelijke positie verlaat. Ook moet men ervoor zorgen dat er genoeg foto’s worden genomen anders kunnen er artefacten ontstaan door verschillende foto’s, die ver uit elkaar liggen, samen te voegen.
2.2 Herbelichting
33
Het succes van deze methode hangt grotendeels af van de gebruikte bemonsteringssnelheid (Eng. samplerate). Hoe meer men bemonstert, hoe beter het resultaat zal zijn. Het lichtveld beschrijft de uitstraling of radiatie in functie van de plaats en de richting in een vrije ruimte. Deze definitie komt overeen met deze van de plenoptische functie. Met vrije ruimte bedoelen we dat het licht enkel tegen het object kan botsen en niet tegen, bijvoorbeeld, omliggende muren [14]. We zullen de lichtstralen parametriseren aan de hand van hun snijpunten met twee vlakken die in een willekeurige positie liggen. Het co¨ordinatensysteem op het eerste vlak noemen we (u,v) en dat op het tweede vlak noemen we (s,t). Een ge¨ori¨enteerde lijn wordt gedefinieerd door een verbinding tussen een punt op het (u,v)-vlak en een punt op het (s,t)-vlak. Deze voorstelling, te zien in figuur 2.16, wordt een lightslab genoemd. Een eigenschap hiervan is dat ´e´en van de vlakken op oneindig mag worden geplaatst. Hierdoor kunnen we een lichtstraal parametriseren door een richting en een punt. Een tweede voordeel van deze voorstelling is dat geometrische berekeningen snel kunnen worden gemaakt [14]. In de lightslabvoorstelling wordt elke lichtstraal dus voorgesteld als een parametrisatie van de doorsnede met de twee vlakken. De lightslab is een vierdimensionale functie en elk beeld stelt een monster hiervan voor. Als we over een groot aantal monsters beschikken van de lightslab kunnen nieuwe beelden van de sc`ene worden gegenereerd door te interpoleren door de beschikbare beelden.
Figuur 2.16: De lightslab
2.2 Herbelichting
2.2.3
34
Reflectieveld
De plenoptische functie, het lichtveld en de lumigraph beschrijven alledrie de aanwezigheid van licht in de ruimte. We kunnen dit voorstellen als een vijfdimensionale functie P waarvoor geldt: P = P (x, y, z, θ, ϕ)
(2.2)
Formule 2.2 stelt de radiatie voor die uit een punt (x, y, z) in de richting (θ, ϕ) vertrekt. Aan de hand hiervan kunnen we een beeld maken van een sc`ene vanuit een willekeurig camerastandpunt. Als we ons in een vrije ruimte bewegen, dan kunnen we dit ook voorstellen door een vierdimensionale functie namelijk: P 0 = P (u, v, θ, ϕ)
(2.3)
Hierbij is (u, v) een punt op het gesloten oppervlak A dat de sc`ene voorstelt. Als we de straal volgen die begint in het punt (x, y, z) in de richting van (θ, ϕ) totdat deze snijdt met het oppervlak A, dan krijgen we: P (x, y, z, θ, ϕ) = P (u, v, θ, ϕ)
(2.4)
Beelden die worden gegenereerd vanuit een lichtveld kunnen we vanuit eender welke kijkrichting en kijkpositie bekijken. Hun belichting zal nooit veranderen. We kunnen het uitgaande lichtveld voor A onder elke mogelijke binnenkomende belichting voorstellen als een achtdimensionaal reflectieveld: R = R(Ri ; Rr ) = R(ui , vi , θi , ϕi ; ur , vr , θr , ϕr )
(2.5)
Hierbij stelt R(ui , vi , θi , ϕi ) het lichtveld voor dat binnenkomt in A en stelt Rr (ur , vr , θr , ϕr ) het licht voor dat vertrekt uit A [5]. In figuur 2.17 wordt hiervan een schematisch overzicht getoond. Links zien we het inkomend lichtveld en rechts het uitgaand reflectieveld.
2.2 Herbelichting
35
Figuur 2.17: Een schematisch overzicht van het reflectieveld uit formule 2.5. Het 8D reflectieveld kan worden beschouwd als een combinatie 4D inkomend lichtveld en een 4D uitgaand reflectieveld.
Op dit moment hebben we dus een achtdimensionaal reflectieveld van een object dat het inkomende 4D (=2D camerapositie, 2D lichtpositie) lichtveld koppelt aan het uitgaande 4D (=2D objectpositie, 2D lichtpositie) reflectieveld voor het object dat we willen herbelichten. Debevec et al[5] maken gebruik van een lightstage om zo’n uitgaand 4D reflectieveld te bekomen. Het doel van het reflectieveld is om objecten te kunnen herbelichten. De herbelichting van een object gebeurt als volgt: we weten dat Rx,y (ϑ, ϕ) een voorstelling is van de hoeveelheid licht die wordt gereflecteerd naar de camera door de pixel op positie (x, y). Deze reflectie hangt af van de belichting vanuit de richting (ϑ, ϕ) en omdat we weten dat licht additief is, kunnen we ˆ y) berekenen met een op de volgende manier een beeld van het object L(x, willekeurige combinatie van de originele lichtbronnen Li (ϑ, ϕ): ˆ y) = L(x,
X
Rx,y (ϑ, ϕ)Li (ϑ, ϕ)
(2.6)
ϑ,ϕ
Elke kleurband wordt apart berekend met de formule 2.6. Omdat we weten dat de lichtbronnen het object zeer dicht bemonsterd hebben, kunnen we elke vorm van inkomende belichting nabootsen. In dit geval moeten we ook de vaste hoek δA bedekken met elk van de originele belichtingsrichtingen. We krijgen dan:
2.2 Herbelichting
36
ˆ y) = L(x,
X
Rx,y (ϑ, ϕ)Li (ϑ, ϕ)δA(ϑ, ϕ)
(2.7)
ϑ,ϕ
Figuur 2.18 is een grafische weergave van formule 2.7. Eerst wordt de map van het binnenkomend licht genormaliseerd door de map van δA(ϑ, ϕ). Het resultaat hiervan wordt vermenigvuldigd met de reflectiefunctie van iedere pixel. Tijdens de laatste stap worden de pixelwaardes van dit product opgeteld zodat ze de herbelichte pixelwaardes vormen. Tijdens dit proces gaan we ervan uit dat de gebruikte lichtbronnen een witte kleur hebben. In de praktijk betekent dit dat we de reflectiefuncties normaliseren op basis van de kleur van de lichtbron [5].
Figuur 2.18: Een grafische weergave van de formule 2.7. De lichtkaart wordt genormaliseerd. Daarna wordt deze vermenigvuldigd met de reflectiefunctie. Tijdens de laatste stap worden de pixelwaardes van dit product opgeteld zodat ze de herbelichte pixelwaardes vormen [5].
2.2 Herbelichting
2.2.4
37
Polynomiale textuurkaart
We hebben tot nu toe gezien dat beeldgebaseerde belichting wordt gebruikt om de inkomende belichting van foto’s en video’s te veranderen of om echte en virtuele werelden te combineren. Een andere toepassing ervan is echter dat we texturen kunnen genereren die reageren op veranderingen in het licht. Op die manier kunnen we zeer realistische lichtafhankelijke texturen verkrijgen die, bijvoorbeeld afhankelijk van de plaatsing van de lichtbron in de sc`ene, schaduwen op een andere plaats zullen werpen. Textuurmapping wordt in de computergrafiek vaak gebruikt om het realisme van computergegenereerde beelden te verhogen. Dit heeft als voordeel dat we een ruw oppervlak kunnen gebruiken om een zeer gedetailleerd beeld te verkrijgen. We ‘plakken’ immers de textuurkaarten op polygonen die we hebben getekend en deze krijgen hierdoor meer detail. In figuur 2.19 zien we hiervan een voorbeeld. We vertrekken van een eenvoudige polynoom en plaatsen hier een textuur op. Zo verkrijgen we de indruk dat ons model zeer veel detail bevat. Een nadeel van traditionele textuurkaarten is dat ze statisch zijn en dus geen oppervlaktereflecties vertonen.
Figuur 2.19: Traditionele textuurmapping vertrekt van een eenvoudige polynoom waar de textuur als het ware wordt ‘tegengeplakt’. Op die manier wordt de indruk gewekt dat het oppervlak veel detail bevat [18].
Een nadeel van de klassieke textuurmapping is dat er geen rekening wordt gehouden met de belichting. Als de belichting van de omgeving waarin we de textuur willen plaatsen, verschilt van de belichting die werd gebruikt op het moment dat de textuur werd aangemaakt, dan krijgen we een zeer onrealistisch effect. Ook zal het effect van diepte volledig verloren gaan [15].
2.2 Herbelichting
38
Een mogelijke oplossing hiervoor zou bump mapping kunnen zijn. Dit is een systeem waarbij de lichtinval van een 3D-object per pixel afzonderlijk kan worden ingesteld. Door dit te doen kunnen zeer realistische beelden met reli¨ef worden gemaakt zonder hiervoor extra polygonen te gebruiken. Een mooi voorbeeld hiervan is een bakstenen muur (zie figuur 2.20): met bump mapping kunnen de groeven duidelijk worden getoond, terwijl de muur toch slechts een enkel vlak 3D-object is. Dit komt omdat de oppervlaktenormalen van de onderliggende geometrie vari¨eren per texel (textuur element). Door variatie in deze normalen te brengen, krijgen we de indruk dat het oppervlak variatie vertoont (en dus niet vlak is). Een nadeel van bump mapping is dat het niet geschikt is voor objecten met grote oppervlaktevariaties en intra-object reflecties. Ook is het niet in staat om schaduwen te genereren die ontstaan door oppervlaktevariaties of om lichte regio’s te genereren die ontstaan door interreflecties [15].
Figuur 2.20: Een textuur die wordt verkregen door de richtingen van de normalen op een oppervlak van een grafisch object te wijzigen. Dit heeft tot gevolg dat bij verlichting van het oppervlak de schaduwen op het oppervlak de indruk wekken dat het oppervlak niet vloeiend of effen is, terwijl dit geometrisch gezien wel het geval is [22].
Polynomiale textuurkaarten (Eng. polynomial texture maps) kunnen worden beschouwd als een nieuwe vorm van textuurmapping die voor een fotorealistisch effect zorgen. Het is een beeldgebaseerde methode die geen gebruik
2.2 Herbelichting
39
maakt van een complexe geometrische modellering of van bump mapping. Als invoer hebben we een verzameling beelden nodig van een object dat we als textuur willen gebruiken. Elke foto wordt belicht vanuit een verschillende, gekende lichtpositie en gefotografeerd vanuit een vaste camerapositie. Tijdens de opnames zorgen we ervoor dat het object in een hemisfeervorm wordt belicht omdat we op die manier het object het effici¨entst kunnen bemonsteren. Als het kleine objecten betreft, dan kunnen deze in een toestel zoals te zien in figuur 2.21 worden geplaatst. Grotere objecten kunnen handmatig worden belicht. We willen de foto’s nu gebruiken om texturen te cre¨eren die lichtafhankelijk zijn. Een na¨ıeve methode om dit te doen, zou zijn om de foto’s te interpoleren. Dit zou namelijk teveel geheugen vereisen. Voor elke texel in de textuurkaart zouden we een kleur moeten bijhouden voor elke mogelijke lichtpositie. In tegenstelling tot de kleur van een pixel, die vrijwel constant blijft onder veranderende lichtposities, varieert de luminantie (of helderheid) ervan wel [15]. We maken gebruik van dit gevolg om een ongeschaleerde kleur per texel Rn (u, v), Gn (u, v), Bn (u, v) te berekenen. Deze kleur wordt vervolgens per pixel gemoduleerd met het luminantiekleurmodel met formule 2.8. Een andere voorstelling hiervoor wordt gegeven door formule 2.9.
R(u, v) = L(u, v)Rn (u, v) G(u, v) = L(u, v)Gn (u, v) B(u, v) = L(u, v)Rn (u, v)
(2.8)
L(u, v; lu , lv ) = a0 (u, v)lu 2 + a1 (u, v)lv 2 + = a2 (u, v)lu .lv + a3 (u, v)lu + = a4 (u, v)lv + a5 (u, v)
(2.9)
In formule 2.9 stellen (lu , lv ) projecties van de genormaliseerde lichtvector op de lokale textuurco¨ordinaten (u,v) voor en L is de oppervlaktehelderheid op die co¨ordinaat. De co¨effici¨enten (a0 − a5 ) komen overeen met de fotografische data per texel en worden opgeslaan als een polynomiale textuurkaart [15].
2.2 Herbelichting
40
Figuur 2.21: Een alternatief voor de lightstage ontwikkeld door Malzbender et al [15]. Het object dat men wil belichten wordt in het toestel geplaatst.
Een polynomiale textuurkaart is dus een lichtafhankelijke textuurkaart die de kleur van een oppervlak kan reconstrueren onder vari¨erende lichtposities. In tegenstelling tot een traditionele textuurkaart, die een verschillende kleur K toekent aan elk punt van het textuuroppervlak (u, v), zal de polynomiale textuurkaart een verzameling co¨effici¨enten Kf coderen voor elk punt op het oppervlak. Deze co¨effici¨enten zijn de parameters voor een polynomiaal model dat de kleur van het punt op het oppervlak benadert, afhankelijk van de lichtpositie. Omdat ieder punt op het oppervlak verandert naargelang de lichtpositie, kunnen we met deze methode reflecties cre¨eren die niet mogelijk zijn met normale textuurkaarten.
2.2 Herbelichting
41
De technieken die we tot nu hebben besproken, hebben verschillende nadelen. Zo is het bij veel technieken nodig om een juiste kalibratie van de lichtbronnen uit te voeren. De techniek van Debevec et al [5] kunnen we onder brengen in de bemonsteringstechnieken (Eng. sampling-based techniques). We nemen voor iedere positie van het licht een monster om de reflectiefunctie op dat punt te achterhalen. Maar telkens moeten we de positie van de lichtbronnen kennen als we willen herbelichten. Ook is het niet vanzelfsprekend om een lightstage zoals te zien in figuur 2.15 na te bouwen. Het zou een enorme sprong voorwaarts betekenen als we de lichtbronposities konden afleiden uit de informatie die we van een sc`ene krijgen. Op die manier hoeven we geen kalibratie uit te voeren en kunnen we op een snellere en goedkopere manier overgaan tot het herbelichten. Dit is de gedachte achter de free-form lightstage.
2.2.5
Free-form lightstage
De free-form lightstage is eigenlijk een systeem om het reflectieveld van een object te verkrijgen terwijl men met een manueel bediende lichtbron over een object beweegt. Deze techniek vertoont grote overeenkomsten met de lightstage van Debevec. Toch is Debevecs systeem niet ideaal. Een voordeel ervan is natuurlijk dat het licht zich steeds op een vaste en dus gekende positie zal bevinden. Het nadeel ervan is dat de bemonsteringsresolutie beperkt is. Er kunnen vanuit iedere richting maar een bepaald aantal belichtingen worden uitgevoerd [20]. Als we deze beperking opheffen, dan kan men zo dicht bemonsteren als men zelf wilt. Een mogelijkheid om dit te doen, is door gebruik te maken van een manueel bediende lichtbron die men vrij kan bewegen zonder dat men beperkt is tot een vaste vorm [16]. Het free-form lightstage algoritme bestaat uit drie grote stappen. Men start met het nemen van de basisfoto’s. Dit zijn foto’s die worden genomen van een vaste camerapositie. Voor iedere basisfoto wordt de manueel bediende lichtbron vrij rond het object bewogen en als gevolg hiervan zal de belichting voor iedere foto verschillend zijn. De juiste positie van het licht is niet gekend en daarom zal men dit in een latere stap schatten. Langs het object dat men
2.2 Herbelichting
42
wil herbelichten, worden vier diffuse sferen geplaatst die zullen helpen om de positie van het licht te bepalen. Men dient erop te letten dat tijdens het nemen van de foto’s de diffuse sferen ook op de foto’s zichtbaar zijn (zie figuur 2.22). De complete opstelling is niet moeilijk. Er zijn enkel een object, een camera met statief, een manueel bediende lichtbron en vier diffuse sferen nodig. Omdat er geen vaste lichtposities zijn, gaat het nemen van de foto’s ook vrij snel. In een latere fase kunnen de sferen eventueel worden verwijderd zodat enkel het object in het resultaat zichtbaar is [16]. Tijdens de tweede stap zal men de lichtrichting schatten met behulp van de diffuse sferen. Aangezien er slechts ´e´en lichtbron is, zal de lichtrichting af te leiden zijn uit de vorm en positie van de schaduwen op de sferen. Tijdens het opstellen van de sc`ene moet erop gelet worden dat de sferen geen invloed hebben op de belichting ervan. De derde en laatste stap laat toe om het voorwerp te herbelichten met een inkomend lichtveld. Aan iedere foto wordt een gewicht toegekend. Na het nemen van de foto’s, zal men in deze stap elke foto analyseren om de belichtingsrichting ervan te vinden. Men gaat tijdens dit proces uit van a priori informatie over de sc`ene, zoals het gebruik van de diffuse sferen en de camerakalibratie. Het Lambertiaans kleurmodel (Eng. shadingmodel ), waarvan figuur 2.23 een vereenvoudigde weergave toont, biedt de mogelijkheid om de belichtingsrichting te vinden als de normalen van de sfeer gekend zijn. Deze normalen kunnen worden gevonden als het centrum van de sfeer gekend is. Vooraleer de belichtingsrichting teruggevonden kan worden, moet men dus reeds een belangrijke voorbereidingsstap uitvoeren. Met behulp van een matte berekent men de positie van de sferen. Vervolgens wordt een Canny Edge detectiealgoritme gebruikt om de randen van de sferen te vinden en alle zichtbare pixels hierin. Men gebruikt de kalibratieparameters van de camera en de pixels in de rand van de cirkels om de silhouetterichtingen Si te berekenen. Het centrum van de sfeer C kan worden gevonden door de volgende vergelijking te minimaliseren met R de straal: kCk2 − R2 − (Si .C)2 = 0
(2.10)
2.2 Herbelichting
43
Figuur 2.22: De free-form lighstage in actie. Tijdens de dataverwerving beweegt men de manueel bediende lichtbron in een hemisfeervorm over het object. Met behulp van de vier diffuse sferen kan de richting, van waaruit de sc`ene werd belicht op het moment van de opname, worden teruggevonden [16].
De berekening van de oppervlaktenormalen voor elk punt in de sfeer is nu eenvoudig te berekenen. Men gebruikt alle pixels van de sfeer en maakt een lijst van de pixels die nuttige informatie bevatten (zoals helderheid). Met de gevonden normalen en de kleurinformatie kan tenslotte de belichtingsrichting worden gevonden. Hiervoor steunt men op de cosinuswet van Lambert die zegt dat het licht dat door een diffuus oppervlak wordt gereflecteerd, moet worden vermenigvuldigd met de cosinus van de hoek tussen de normaal op het oppervlak en de richtingsvector van het invallende licht. De positie van de waarnemer zal de subjectieve helderheid niet be¨ınvloeden aangezien een diffuus oppervlak per definitie het licht gelijkmatig in alle richtingen verspreidt.
2.2 Herbelichting
44
Figuur 2.23: Bij het Lambertiaans kleurmodel wordt het licht in alle richtingen even sterk gereflecteerd. Met dit kleurmodel kan de lichtrichting worden teruggevonden. N stelt de richting van de normaal voor, θ is de hoek tussen de inkomende lichtstraal en de normaal. Als de richting van de normaal en van de hoek θ gekend zijn, dan kunnen we de richting van de inkomende lichtstraal terugvinden.
Uit de belichtingsinformatie van de sferen kan dus per beeld worden teruggevonden vanuit welke richting de lichtbron het object bescheen op het ogenblik dat het basisbeeld werd genomen. Samen met de gevonden richtingen en de basisbeelden is men vervolgens in staat om de reflectiefuncties voor ieder beeld te reconstrueren. Men maakt gebruik van een Voronoi-diagram omdat men geen regelmatig patroon heeft gebruikt bij de beweging van de lichtbron. Dit diagram zorgt ervoor dat de omgevingskaart wordt ingedeeld in verhouding met het aantal lichtbronnen dat wordt gevonden en op de plaats waar de lichtbronnen worden gevonden. Net zoals de free-form lightstage maakt ook de interactieve belichtingstechniek van Mohan et al [17] gebruik van beeldgebaseerde belichtingsmethodes om het materiaal, de kostprijs en tijd te reduceren die nodig zijn om kleine objecten goed te belichten. Omdat we niet willen herbelichten moeten, in tegenstelling tot de free-form lightstage, de lichtbronpositie bij de interactieve belichtingstechniek niet worden teruggevonden. Deze techniek, die in het volgende deel wordt behandeld, biedt een manier om de belichting van objecten aan te passen.
2.2 Herbelichting
2.2.6
45
Interactieve belichting
Om een object goed te belichten, kiezen professionele fotografen lichtbronnen met een verschillende sterkte, vorm en grootte. Deze richten ze vervolgens op verschillende onderdelen van de ruimte die wordt gebruikt om het object te fotograferen, om de gewenste belichting te krijgen. Nadat de belichting werd opgezet, moet de fotograaf nagaan of het resultaat op de foto overeenkomt met wat hij in gedachten had. De opstelling is enkel geschikt voor ´e´en sc` ne. Goede studiobelichting kan moeilijk op te zetten zijn en het kan lang duren vooraleer men het gewenste effect verkrijgt. Voor amateurfotografen is het opzetten van een goede belichting meestal een opdracht die zelden tot een goed einde wordt gebracht. Ondanks dat het opzetten van een goede belichting een moeilijk proces is, weet men vaak zeer goed wat men wil bereiken (bijvoorbeeld: hier wat ” schaduw verwijderen” en daar wat zachter licht gebruiken omdat het te ” fel schijnt”). Het doel van Mohan et al [17] is om een systeem te cre¨eren dat de gebruikers ervan toelaat om op een interactieve manier de belichting van foto’s aan te passen. Om goed belichte sc`enes te fotograferen, gebruiken studiofotograferen vaak een verscheidenheid aan belichtingsvormen. In figuur 2.24 zien we in (a) een voorbeeld van een complexe (studio)belichtingsopstelling. In (b) wordt de opstelling gebruikt die Mohan et al zullen gebruiken. Buiten een camera, een richtbare lichtbron en een diffuse, reflectieve doos. Door gebruik te maken van de lineariteit van het licht, kunnen we een foto gaan herbelichten. We hebben gezien dat als een object wordt belicht met ´e´en lichtbron Li , dat dezelfde sc`ene die wordt belicht door veel lichtbronnen met een verschillend gewicht wi (zodat hun invloed niet even sterk was), een P herbelichte foto, Lnieuw = i wi Li , als resultaat gaf. Door de gewichten aan te passen, kunnen we een foto herbelichten. Hoe meer foto’s er worden genomen, hoe meer belichtingsvormen kunnen worden weergegeven.
2.2 Herbelichting
46
Figuur 2.24: In (a) zien we een voorbeeld van een complexe (studio)belichtingsopstelling. Mohan et al [17] heeft hiervoor een simpelere opstelling bedacht (b).
In tegenstelling tot de free-form lightstage moeten de exacte lichtposities bij Mohan et al niet gekend zijn. Het is voldoende om de gewichten wi en de foto’s Ii te kiezen aan de hand van hun mogelijkheid om te voldoen aan het resultaat dat de gebruiker verwacht. De gebruiker beschikt hiervoor over een beeld van het object. Hierop wordt met een muis aangegeven op welke plaats schaduwen moeten worden verwijderd of toegevoegd. Ook kan worden aangeduid dat er op een bepaalde gebied veel licht moet invallen (bijvoorbeeld om dat gebied te benadrukken). Dit proces wordt getoond in figuur 2.25. We zien een object waarbij de gebruiker heeft aangegeven dat het gebied dat wit is gemaakt, lichter moet worden gemaakt. Op een gelijkaardige manier kunnen gebieden donkerder worden gemaakt. Het algoritme bestaat uit drie stappen. Als eerste wordt een dataverzameling van foto’s aangelegd die met een camera op een statief werden genomen. Iedere ‘basisfoto’ beschrijft de belichting van de sc`ene op een lichtjes andere manier dan de foto die net ervoor of erna werd genomen. Vervolgens geeft de gebruiker, tijdens een iteratief proces, aan waar hij schaduwen wil verwijderen of toevoegen. Tijdens de derde en laatste stap voert het systeem de gevraagde optimalisatie uit. Het zoekt naar geschikte gewichten voor iedere foto. Deze gewichten worden gezocht in functie van het beeld dat de gebruiker aanpaste tijdens de tweede stap. Alle foto’s waarvan het gewicht boven een bepaalde drempelwaarde ligt, zullen worden gebruikt om het nieuwe resultaat te vormen. In figuur 2.26 zien we een voorbeeld van een
2.2 Herbelichting
47
Figuur 2.25: Gebruikersinteractie. We zien een object waarbij de gebruiker heeft aangegeven dat het gebied dat wit is gemaakt, lichter moet worden gemaakt. Op een gelijkaardige manier kunnen gebieden donkerder worden gemaakt.
typische gebruikerssessie met deze techniek. In (a) wordt een object getoond en in de rechterbovenhoek bevindt zich het gebied waarin de gebruiker kan schetsen. In dit geval gaf de gebruiker aan dat het gebied onder kop en poten lichter moet worden gemaakt. In (b) wordt het resultaat van het proces uit (a) getoond. De gebruiker is niet tevreden over het resultaat en besluit dat het gebied onder de kop nog lichter moet. Het effect hiervan wordt getoond in (c). Uiteindelijk beslist de gebruiker dat hij toch een schaduw aan de voorzijde van het object wilt hebben. Het resultaat hiervan is te zien in (d). Net zoals Mohan et al [17] maakt de light waving techniek van Winnem¨oller et al [32] geen gebruik maken van een gekalibreerde cameraopstelling. Er zijn ook overeenkomsten met de free-form lightstage. Zo zullen we de licht-
2.2 Herbelichting
48
Figuur 2.26: Typische gebruikersessie bij Mohan et al [17]. In (a) wordt een object getoond en in de rechterbovenhoek bevindt zich het gebied waarin de gebruiker kan schetsen. In dit geval gaf de gebruiker aan dat het gebied onder kop en poten lichter moet worden gemaakt. In (b) wordt het resultaat van het proces uit (a) getoond. De gebruiker is niet tevreden over het resultaat en besluit dat het gebied onder de kop nog lichter moet. Het effect hiervan wordt getoond in (c). Uiteindelijk beslist de gebruiker dat hij toch een schaduw aan de voorzijde van het object wilt hebben. Het resultaat hiervan is te zien in (d)
bronposities bij Winnem¨oller et al wel moeten kennen. We maken hiervoor echter geen gebruik van diffuse sferen maar zullen voor de berekening van de posities een beroep doen op dimensionaliteitsreductiealgoritmen. Deze reductiealgoritmen zullen ons in staat stellen om de lichtbronposities rechtstreeks te schatten uit een verzameling foto’s. Door geen moeilijke kalibraties uit te voeren of een specieke opstelling te maken, kunnen we snel beginnen met het nemen van de foto’s en verliezen we een minimum aan tijd met voorbereidingswerk aan de sc`ene.
LIGHT WAVING
49
Hoofdstuk 3 Light waving In dit hoofdstuk zullen we het hebben over de light waving techniek van Winnem¨oller et al [32]. Dit is een manier om met behulp van een manueel bediende lichtbron een sc`ene te belichten terwijl er vanop dezelfde camerapositie foto’s van de sc`ene worden gemaakt. Een voordeel van een manueel bediende lichtbron is dat er hiervan geen kalibratie moet worden uitgevoerd. Een nadeel is dan weer dat de exacte lichtbronposities, een must bij beeldgebaseerde herbelichting, niet gekend zijn. We moeten dus zoeken naar een manier om deze te schatten.
3.1 Dataverwerving
3.1
50
Dataverwerving
Bij veel beeldgebaseerde herbelichtingstechnieken, zoals de lightstage van Debevec et al [5], wordt gebruik gemaakt van een combinatie van een nauwkeurig gekalibreerde camera, een nauwkeurige plaatsing van de lichtbronnen, foto’s met een hoog-dynamisch bereik en complexe procedures die meerdere uren kunnen duren. De light waving techniek [32] daarentegen is in staat om de relatieve 3D lichtbronposities te schatten zonder gebruik te maken van zulke complexe, omslachtige procedures en opstellingen. Hierdoor hebben we binnen enkele minuten genoeg foto’s om de berekeningen uit te voeren. Voor het het nemen van de foto’s, hebben we enkel het volgende materiaal nodig: een ongekalibreerde camera op een statief, het te fotograferen object en een manueel bediende lichtbron. De camera staat gericht op het object en neemt de foto’s met regelmatige intervallen. Ondertussen bewegen we de lichtbron over het object heen. Om de beste resultaten te krijgen wordt de volledige ruimte rond het object het beste bemonsterd door de lichtbron in een hemisfeervorm rond het object te bewegen. Tijdens de opname, waarvan figuur 3.1 een mogelijke opstelling toont, moet men er ook voor zorgen dat de lichtbron geen schaduw van de camera werpt op het object, dat we niet direct in de lens schijnen of dat de lichtbron in beeld komt. Dit zou namelijk voor artefacten kunnen zorgen.
3.2
Schatting van de lichtbronposities
De belangrijkste bijdrage van het werk van Winnem¨oller et al [32] is dat de relatieve 3D lichtbronposities kunnen worden teruggevonden zonder het uitvoeren van moeilijke kalibraties of schaduwanalyses (zoals bij de free-form lightstage). Voor de schatting van de lichtbronposities zullen we enkel gebruik maken van de verzameling invoerbeelden die tijdens de dataverwerving werd verkregen. Vervolgens zal op de dataverzameling een dimensionaliteitsreductiealgoritme, in dit geval Isomap [26], worden toegepast. In deze sectie zullen we eerst uitleggen waarom we een dimensionaliteitsreductie moeten toepassen. Vervolgens leggen we de werking van het Isomap algoritme uit en
3.2 Schatting van de lichtbronposities
51
Figuur 3.1: De dataverwerving bij light waving. We bewegen de manueel bediende lichtbron in een hemisfeervorm over het voorwerp terwijl de camera met regelmatige intervallen foto’s neemt [16].
we eindigen de toepassing ervan in light waving.
3.2.1
Dimensionaliteitsreductie
Mensen zijn in staat om snel objecten te herkennen onafhankelijk van de kijkhoek of lichtinval. De reden hiervoor is omdat we (vaak onbewust) slechts naar enkele specifieke kenmerken kijken. Voor een computer is dit niet zo makkelijk. Hoe kunnen we bijvoorbeeld het onderscheid tussen een gesloten en een open hand weergeven? Of hoe kunnen we een norskijkend persoon uit een groepsfoto halen? Wij (mensen) weten waarop we moeten letten, maar voor een computer is dit al heel wat moeilijker. Dimensionaliteit verwijst naar het aantal kenmerken dat beschikbaar is voor ieder element van de dataverzameling. Een dataverzameling die uit twee dimensies bestaat, kunnen we makkelijk voorstellen door deze te tekenen in twee dimensies. Data die bestaat uit drie dimensies, kunnen we ook makkelijk tekenen in een grafiek die bestaat uit drie assen. De dimensionaliteit van re¨ele objecten is helaas echter niet beperkt tot twee of drie dimensies. Als
3.2 Schatting van de lichtbronposities
52
we beschikken over een verzameling foto’s die 640 pixels breed en 480 pixels hoog zijn, dan is de dimensionaliteit van deze foto’s 307200 (=640x480). Door de dataverzameling op voorhand te downsamplen naar 64x64 kunnen we de dimensionaliteit ervan reduceren tot 4096, maar dit is nog steeds te hoog om er een beeld van te kunnen schetsen. De na¨ıeve voorstelling, zoals net werd beschreven, is duidelijk geen goede manier om hoog-dimensionale data weer te geven. Om een dataverzameling van foto’s te kunnen analyseren, is het noodzakelijk dat we gemeenschappelijke kenmerken vinden. Met behulp van deze gemeenschappelijke kenmerken kunnen we de gegevens compacter voorstellen. We zijn namelijk ge¨ınteresseerd in de geometrische verbanden van de verschillende datapunten. De (niet gekalibreerde) manier waarop wij de foto’s nemen, zorgt voor nietlineaire data die vaak veel redundante of overbodige informatie bevat. Er gebeuren veel metingen per foto (´e´en per pixel), maar het verschil hiertussen zal gradueel zijn. Door een dataverzameling te gebruiken die alleen de punten bevat die verschillen, zijn we in staat om snel en makkelijk veranderingen op te merken in hoog-dimensionale data en kunnen we de laag-dimensionale structuur visualiseren. Buurtgrafen (Eng. neighborhoodgraphs) zijn de eerste stap van dataprojectie die gebaseerd is op geodetische afstanden. De geodetische afstand is de lengte van het kortste pad tussen twee punten die op een oppervlak liggen en waarbij het pad op het oppervlak moet liggen. Figuur 3.2 toont hiervan een schematische voorstelling. De constructie van een buurtgrafiek laat toe om de geodetische afstanden tussen de datapunten te schatten. In plaats van alle afstanden hierin op te slaan, slaan we enkel de k dichtste buren op. De taak van de dimensionaliteitsreductie is dus om een klein aantal gemeenschappelijke eigenschappen te vinden om een groot aantal geobserveerde dimensies weer te geven. De werking van een reductiealgoritme zal verder uitgelegd worden aan de hand van een illustratief voorbeeld en de bijhorende figuur 3.3(a). Stel dat we over een zwarte schijf beschikken waarop een wit punt werd geschilderd. Als we de zwarte schijf rond z’n as laten draaien, zal ook het wit punt zich verplaatsen naar verschillende posities. In de vergelijking
3.2 Schatting van de lichtbronposities
53
Figuur 3.2: De geodetische afstand is de lengte van het kortste pad tussen twee punten die op een oppervlak liggen en waarbij het pad op het opppervlak moet liggen.
Figuur 3.3: Illustratie van beeldafstanden. In (a) zien we een zwarte schijf waarop een wit punt werd getekend. Door de zwarte schijf rond zijn centrumas te draaien, verandert de positie van het wit punt. Voor elke i-de positie van het wit punt, Pi , nemen we een foto Ii . In (b) zien we sommige afstanden tussen de verschillende foto’s Ii . Als het wit punt zich bij twee verschillende foto’s op dezelfde plaats bevindt, dan is de afstand tussen de witte punten gelijk.
3.2 Schatting van de lichtbronposities
P = P1 , P2 , ..., Pm , Pi ∈ <(n=2)
54
(3.1)
stelt P de verschillende posities van de schijf voor. Voor elke configuratie Pi wordt een foto, Ii , genomen waardoor een nieuwe dataverzameling van foto’s ontstaat. Deze verzameling wordt beschreven door I = I1 , I2 , ..., Im , Ii ∈
(3.2)
Elke foto van deze verzameling kan worden beschouwd als een N-dimensionale vector met N = breedte x hoogte. Ter herinnering: iedere pixel stelt ´e´en dimensie voor. Vandaar dat we nu met N dimensies werken (
3.2 Schatting van de lichtbronposities
55
overeenkomsten vertonen, worden dicht bij elkaar getoond en omgekeerd. Een vaak gebruikt voorbeeld, om de werking van MDS voor te stellen, is het schatten van de afstand tussen verschillende steden. Stel dat we de afstand willen weten tussen 10 Belgische steden (n=10). De afstanden hiertussen kunnen in een matrix worden geplaatst zoals te zien in figuur 3.4. Een nadeel van zulke voorstelling is dat eventuele verbanden tussen de verschillende gegevens moeilijk te achterhalen zijn. Zo kunnen we bijvoorbeeld niet vlug zien welke steden dicht bij elkaar liggen en welke zich ver van elkaar bevinden. Om dit op te lossen, geven we de matrix in als invoer voor MDS. De uitvoer ervan is te zien in figuur 3.5. Het voordeel hiervan ten opzichte van de matrixvoorstelling is dat we nu vlug de afstand tussen de steden kunnen inschatten. Doordat steden die dicht bij elkaar liggen een vergelijkbare afstand ten opzichte van elkaar hebben, worden ze dicht bij elkaar afgebeeld. Steden die daarentegen ver van elkaar liggen (en dus een kleinere gelijkaardige afstand hebben), worden verder van elkaar afgebeeld. Uit figuur 3.5 kunnen we snel afleiden dat de afstand Antwerpen - Mechelen kleiner is dan de afstand Kortrijk - Brussel. Als we deze gelijkaardige informatie uit de matrixvoorstelling zouden willen halen, zou ons dit meer inspanning vragen.
Figuur 3.4: De afstand tussen 10 Belgische steden in matrixvorm. Op het eerste zicht is het moeilijk om hiertussen verbanden te leggen.
3.2 Schatting van de lichtbronposities
56
Figuur 3.5: De afstand tussen 10 Belgische steden in figuurvorm. In tegenstelling tot figuur 3.4 kunnen we nu wel makkelijk verbanden leggen.
Formeel kunnen we de werking van MDS als volgt beschrijven. De invoer van MDS is een vierkante, symmetrische matrix Dij die een relatie tussen de elementen beschrijft. Wij maken hier gebruik van een matrix die de afstand tussen de elementen beschrijft. Dit komt erop neer dat objecten met een korte (Euclidische) afstand dichter bij elkaar worden getekend dan objecten met een grote(re) afstand. Als uitvoer worden de co¨ordinaten ervan gegeven (in een nieuw co¨ordinatenstelsel) met behoud van de originele posities van de elementen. Zo verkrijgen we een visuele voorstelling van een complexe verzameling die makkelijk kan worden ge¨ınterpreteerd. In het stedenvoorbeeld zal er een oplossing worden gezocht in de tweedimensionale ruimte. Maar soms is dit niet voldoende en wordt de data verkeerd gevisualiseerd. De oplossing bestaat er dan in om het aantal dimensies te verhogen. De gelijkheidsgraad tussen de afstanden die worden gevonden door MDS en de afstandsmatrix wordt gegeven door een stressfunctie. De algemene vorm hiervan is rP P s=
(f (xij − Dij )2 ) schaal
(3.3)
3.2 Schatting van de lichtbronposities
57
Als MDS de invoergegevens perfect heeft kunnen mappen, dan is de stresswaarde 0. Hoe kleiner de stresswaarde, hoe beter de voorstelling. Een stresswaarde die veel verschilt van 0 geeft aan dat de gekozen dimensionaliteit onvoldoende is. We moeten dus proberen om deze waarde steeds zo dicht mogelijk bij nul te krijgen. In het algemeen gaat men ervan uit dat een stresswaarde kleiner dan 0,15 wijst op een goede mapping. Er zal echter steeds een bepaalde afwijking worden toegelaten. Hoe groot deze is, hangt af van de toepassing en van de gewenste nauwkeurigheid. We moeten bij de interpretatie van de mapping wel rekening houden met deze afwijking. Objecten die ver van elkaar liggen zullen hiervan in het algemeen minder last hebben, dan objecten die dicht bij elkaar liggen [3]. Om een goede MDS mapping te krijgen voor foto’s, hebben we een metrische afstand nodig die het verschil tussen de opeenvolgende foto’s Ii zo getrouw mogelijk weergeeft. We hebben een metrische afstand nodig die getrouw de ongelijkheid van de foto’s vertegenwoordigt en bewaard blijft bij de dimensionaliteitsreductie. Hiervoor kunnen we de volgende formule gebruiken: Dij ∝ |Pi − Pj | ∀(i, j) ∈ (1..m, 1..m)
(3.4)
De formule 3.4 geeft aan dat de Euclidische afstand Dij recht evenredig is met het verschil tussen de twee posities Pi en Pj . In figuur 3.3(a) hadden we voor de posities Pi de plaats van het wit punt gekozen. De Euclidische afstand kan in dit geval worden gezien als een maat voor de overlap van de witte punten in figuur 3.3(b), over alle dimensies, tussen de punten i en j. In deze figuur worden twee posities van het wit punt met elkaar vergeleken. Als de afstand tussen twee punten nul is, dan is ook de lichtbronpositie hetzelfde. Hoe verder de lichtbronposities uit elkaar liggen, hoe groter de afstand wordt. In de figuur is de afstand van de punten bij c1 kleiner dan de afstand bij c2, de afstand van c2 is dan weer kleiner dan c3 en dan c4. Als er echter geen overlap is tussen de witte punten dan is het verschil tussen de vergeleken foto’s minstens tweemaal de grootte van het wit punt en is deze dus onafhankelijk van de positie van de lichtbronnen. Dit houdt in dat de Euclidische afstand enkel gebruikt kan worden voor kleine verschillen in
3.2 Schatting van de lichtbronposities
58
foto’s en dus ook voor een klein verschil in lichtbronposities [32]. Het MDS-resultaat wordt geprojecteerd in een nieuw co¨ordinatenstelsel. Kenmerkend voor dit nieuw co¨ordinatenstelsel is dat de eerste as de grootste fout bevat, de tweede as de tweede grootste fout, enz. Het effect van hogere orde assen wordt dus beduidend kleiner en we hoeven hier dan ook geen aandacht aan te schenken. We letten enkel op de eerste n assen met n N [32]. Hierdoor zijn we in staat om de dimensionaliteit van de gegevens te reduceren tot een door ons gekozen foutniveau. Er zijn twee belangrijke opmerkingen over de MDS graaf. Ten eerste zijn de assen waarop de punten worden getoond van weinig belang en de ori¨entatie van de graaf is willekeurig. Dit kan tot verwarring leiden bij het interpreteren van het resultaat. In figuur 3.6 wordt het resultaat getoond van een MDS berekening op eenzelfde dataverzameling. De ori¨entatie van het resultaat is verschillend ondanks het feit dat de invoer hetzelfde was. Hetgeen werkelijk van belang is, is dat de afstand (en dus de structuur) tussen alle punten zo goed mogelijk bewaard blijft. Punten die dicht in elkaars buurt liggen in de hoogdimensionale ruimte, moeten ook dicht in elkaars buurt liggen in de laagdimensionale ruimte. Hetzelfde geldt natuurlijk voor punten die ver van elkaar liggen.
Figuur 3.6: Het resultaat van MDS op dezelfde invoerdata. De uiteindelijke ori¨entatie kan verwarrend zijn.
3.2 Schatting van de lichtbronposities
59
De taak van de dimensionaliteitsreductie is dus om een klein aantal dimensies te vinden om een groot aantal geobserveerde dimensies te kunnen voorstellen. Het klein aantal dimensies ligt meestal op een laag dimensionale ruimte of manifold. Een manifold is een topologische Euclidische deelruimte in de beeldruimte. We maken er gebruik van als we ge¨ınteresseerd zijn in de geometrische relaties tussen verschillende dimensies in de ruimte. MDS werkt goed zolang de hoog-dimensionale data lineair is (zie figuur 3.7(a)). Bij niet-lineaire data (zie figuur 3.7(b)) schiet MDS echter te kort omdat het de afstanden tussen de punten niet juist kan berekenen. Er zijn verschillende methoden om aan niet-lineaire dimensionaliteitsreductie te doen. De bekendste zijn LLE en Isomap. Zij vormen dan ook het vervolg van dit deel.
(a)
(b)
Figuur 3.7: MDS werkt enkel met lineaire data (a) omdat het de Euclidische afstand tussen de verschillende punten berekent. Voor niet-lineaire data (b) voldoet deze methode niet.
3.2 Schatting van de lichtbronposities
60
LLE Bij LLE of Local Linear Embedding houden we geen rekening met globale beperkingen, maar proberen we om een goede lokale fit van de datapunten te verkrijgen. Hierdoor hoeven we de afstand tussen punten die zich ver van elkaar bevinden, niet te berekenen. Het Isomap-algoritme dat we hierna zullen bespreken, berekent deze afstanden wel met een kortste pad algoritme. Het LLE-algoritme bestaat uit drie stappen. De eerste stap zorgt voor een groepering van de punten die zich in elkaars nabijheid bevinden. Voor ieder punt in de hoog-dimensionale ruimte wordt een groepering van punten errond gezocht. Dit kan worden gedaan met de k-dichtste buren techniek. Hierbij beschouwt men enkel de k-dichtste punten rond een bepaald punt als buren. LLE berekent de k-dichtste buren per datapunt met de Euclidische afstand. In de tweede stap willen we het verband tussen een punt van de originele ruimte en de buren ervan weergeven. Hiervoor maken we gebruik van reconstructiegewichten Wij . We construeren een matrix waarvan de kolommen overeenkomen met elk punt in de originele dataruimte en waarvan het aantal rijen overeenkomt met het aantal buren van het punt. Dan wordt voor elke rij het gewicht berekend dat de positie van het gegeven datapunt beschrijft in vergelijking met zijn buren. De gewichten Wij die het punt Xi het best reconstrueren vanuit de buren Xj , worden berekend door het minimaliseren van de volgende vergelijking: X X ξ(W ) = X − W X i ij j i
(3.5)
i
Tenslotte worden, in de laatste stap, de ingebedde co¨ordinaten van de originele data in de laag-dimensionale ruimte gezocht. Dit wordt gedaan door de geometrische eigenschappen van de originele ruimte zoveel mogelijk te bewaren door een minimalisatie van de fout die wordt gegeven door: X X ξ(Y ) = Wij Yj Yi − i
i
(3.6)
3.2 Schatting van de lichtbronposities
61
In formule 3.6 stelt Wij de gewichten voor van de tweede stap, Yi en Yj zijn de co¨ordinaten van het punt en zijn buren in de laag-dimensionale ruimte. In figuur 3.8 [19] zien we dat de lokale beperkingen waarvan LLE gebruik maakt, voldoende zijn om de globale structuur te behouden. Dit komt doordat de meeste lokale vormen elkaar overlappen. De voorwaarde om ervoor te zorgen dat deze mapping correct gebeurt, is dat er voldoende data beschikbaar is. De manifold moet dus voldoende bemonsterd zijn. Op die manier zal elk datapunt en zijn buren dicht bij elkaar liggen. We kunnen de lokale geometrie van elke patch (de rechthoeken die een serie punten omhullen in figuur 3.8) formuleren met behulp van de lokale co¨effici¨enten die elk datapunt reconstrueren vanuit de buren [24].
Figuur 3.8: De lokale patches die worden gebruikt door LLE zijn voldoende om de lokale structuur van de niet-lineaire data te behouden [19].
Het LLE algoritme houdt geen rekening met globale beperkingen maar probeert om een lokale fit van de gegevens te verkrijgen. Op die manier hoeven er geen afstanden berekend te worden tussen punten die ver van elkaar liggen. Een nadeel van deze werkwijze is dat de globale structuur niet altijd even goed blijft behouden. Om hier een oplossing voor te bieden, zullen we het Isomap algoritme uitleggen. In tegenstelling tot LLE wordt de globale structuur hiermee wel behouden.
3.2 Schatting van de lichtbronposities
62
Isomap De basisidee achter Isomap (isometric feature mapping) [26] is de beperkingen van de lineaire MDS (die gebruik maakt van de Euclidische afstand) en LLE (die enkel rekening houdt met de lokale structuur) te vervangen door een andere metriek. Als we bijvoorbeeld de afstand tussen punten op niet-lineaire structuren zoeken, zal de traditionele MDS hier problemen mee hebben, aangezien deze de kortste afstand tussen de punten zal zoeken, terwijl de werkelijke afstand veel groter is. Dit principe wordt uitgelegd in figuur 3.9. Hierin stellen de twee rode punten in (a) de punten voor waarvan we de afstand willen weten. Het resultaat van de MDS is te zien in (b). Het (correcte) resultaat zoals dit wordt gevonden door Isomap is te zien in (c). Met MDS zijn we in staat om de lineaire structuur te benaderen, maar dit is hier geen goede oplossing aangezien het om niet-lineaire data gaat. Isomap zal ons in staat stellen om deze structuur wel juist te benaderen.
Figuur 3.9: Een vergelijking tussen de traditionele MDS en Isomap bij nietlineaire data (a). MDS berekent een foutieve afstand door rechtstreeks de kortste afstand tussen twee punten te nemen (b). Isomap zal echter de juiste afstand berekenen door de ‘boog’ te volgen (c).
Het grootste verschil tussen Isomap en LLE ligt in de fundamentele aanpak van het dimensionaliteitsreductieprobleem en de datavoorstelling. Isomap beschouwt de dimensionaliteitsreductie als een graafprobleem, waarin de data wordt voorgesteld als een verbonden graaf en waarin relaties tussen data worden voorgesteld door middel van geodetische afstanden. LLE daarentegen maakt gebruik van een andere aanpak en bekijkt het probleem vanuit een
3.2 Schatting van de lichtbronposities
63
geometrisch perspectief. Het kijkt enkel naar de buren die in de patch vallen en houdt met de verdere (globale) structuur geen rekening. Verder heeft LLE een zeer groot nadeel ten opzichte van Isomap. Tijdens de tweede stap van het LLE-algoritme moeten de gewichten worden berekend. Hiervoor dienen minstens evenveel buren te bestaan als er dimensies zijn. Dit betekent dat LLE vaak zeer grote dataverzamelingen nodig heeft. Isomap heeft dit nadeel niet. Het Isomap algoritme steunt op MDS, maar zal een manier zoeken om de geodetische afstand tussen de datapunten te bewaren (figuur 3.10 (a)). Punten die dicht bij elkaar liggen, kunnen effici¨ent worden berekend in de invoerruimte. De afstand tussen punten die ver van elkaar liggen, zal worden berekend door een aantal korte tussenstops te berekenen tussen de punten. Deze tussenstops worden gevonden door een kortste pad tussen de punten te zoeken. Het Isomap algoritme bestaat uit drie grote stappen. Tijdens de eerste stap wordt bepaald welke datapunten buren van elkaar zijn op de manifold M . Hiervoor wordt gekeken naar de afstanden DX (i, j) tussen de puntenkoppels (i, j) in de invoerruimte X. Hiervoor kunnen we bijvoorbeeld alle punten die zich in een straal bevinden met elkaar verbinden of een verbinding leggen met de k-dichtste buren (net zoals bij LLE). Deze buurrelaties worden voorgesteld als een gewogen graaf G waarvan de bogen worden voorgesteld afhankelijk van de afstand DX (i, j) tussen de punten Xi en Xj , zie figuur 3.10. In de tweede stap berekent Isomap de geodetische afstanden DM (i, j). Deze afstanden, tussen alle verbonden punten in de graaf, worden berekend door het kortste pad hiertussen te zoeken met Dijkstra’s kortste pad algoritme. Het resultaat van de tweede stap is een graaf die de kortste paden bevat tussen alle buren. Dit is tevens het meest intensief proces van het Isomapalgoritme. Op dit moment hebben we de niet-lineaire structuur gelineariseerd zoals te zien is in figuur 3.11. De laatste stap van het algoritme houdt in dat we MDS toepassen op de geodetische afstanden. Er wordt een d-dimensionale ruimte ingebed van de
3.2 Schatting van de lichtbronposities
64
Figuur 3.10: De Zwitserse rol toont aan hoe Isomap gebruik maakt van de geodetische afstanden gebruik om de dimensionaliteit te reduceren. Voor twee willekeurige punten op een niet-lineaire manifold zal Isomap de geodetische afstand berekenen (volle blauwe lijn) terwijl MDS de Euclidische afstand berekent. In (b) zien we de buurtgraaf G die wordt geconstrueerd tijdens de eerste stap van het Isomap algoritme. (c) toont de 2D inbedding die werd teruggevonden tijdens de derde stap van het algoritme. De blauwe lijn toont het kortste pad tussen de twee punten. De rode lijn is het pad dat Isomap heeft teruggevonden [26].
Figuur 3.11: Tijdens de eerste twee stappen van het Isomap algoritme wordt de niet-lineaire data als het ware gelineariseerd. Tijdens de laatse stap kunnen we MDS toepassen op de geodetische afstanden [31].
3.2 Schatting van de lichtbronposities
65
data. Dit gebeurt op zo’n manier dat de oorspronkelijke datastructuur behouden blijft. [26]. Er zijn verschillende voordelen verbonden aan Isomap. Zo is het algoritme niet-iteratief. Dit houdt in dat we met ´e´en enkele iteratie alle data verwerken. Verder is de enige heuristiek de grootte van de k-dichtste buren. Een bijkomend voordeel is dat het principe ervan gelijkaardig aan MDS is en dat de echte relatie tussen de datapunten wordt behouden. Enkele nadelen van Isomap zijn dat het veel rekenkracht vergt (bij het berekenen van het kortste pad) en dat het moeite heeft met ‘gaten’ in de datastructuur. Er moet dus steeds voor een voldoende bemonstering van de ruimte worden gezorgd. We kunnen Isomap zien als een uitbreiding van MDS. In vergelijking met LLE is dit algoritme nauwkeuriger in het beschrijven van de globale structuur. Volgens Tenenbaum et al [26] werkt Isomap het best met vormen die gelineariseerd kunnen worden zoals cilinders of Zwitserse rollen. Isomap blijkt het meest geschikt voor het probleem van de light waving omdat we met een niet-lineaire structuur zullen werken en omdat we de globale structuur van de data willen behouden. In het deel dat volgt zien we hoe Isomap kan worden toegepast op het probleem van de light waving.
3.2.2
Isomap toegepast op light waving
We fotograferen een object onder veranderende lichtposities P . Bij deze verzameling foto’s I zal het licht zich voor iedere foto op een andere positie bevinden. Na de dataverwerving passen we het Isomap algoritme toe op de verzameling foto’s I. Isomap herformuleert formule 3.4 tot DG (ij) ∝ |Pi − Pj | ∀(i, j) ∈ (1..m, Ij ∈ ℵk (Ii ))
(3.7)
Formule 3.7 zegt dat de afstand tussen de punten in de graaf recht evenredig zijn met het verschil tussen de lichtbronposities van de foto’s Ii en Ij . We nemen aan dat vergelijking 3.7 geldt. Dit wil zeggen dat er tussen de verbonden buren een redelijke Euclidische benadering bestaat. Daarom kunnen
3.2 Schatting van de lichtbronposities
66
we deze vergelijking toepassen op onze data. We bewijzen niet dat dit zo is, we tonen enkel aan dat de resultaten van zo’n aanname overeenkomen met de verwachte resultaten. Winnem¨oller et al zegt eigenlijk dat als Isomap een laag-dimensionale inbedding van co¨ordinaten vindt die overeenkomt met de originele afstandsrelatie tussen de elementen, en als alle buren op een goede manier zijn verbonden, dat de co¨ordinaten in de laag-dimensionale ruimte (in ons geval 3D) overeen zouden moeten komen met de afstandsrelatie van de invoerbeelden in de hoog-dimensionale ruimte. In de praktijk betekent dit dat de juiste lichtbronposities gevonden worden. Het is echter niet zo eenvoudig om te bepalen wanneer twee foto’s elkaar overlappen zoals we hebben aangetoond met onze zwarte schijf en het wit punt. Dit komt omdat we onder andere rekening moeten houden met de materiaaleigenschappen, de lichtbronparameters en de cameraresponsfunctie. Deze responsfunctie geeft aan hoe de lichtsensor op het licht reageert. Om toch voor zoveel mogelijk gelijkheid te zorgen, maken we gebruik van een diffuse lichtbron en zorgen we ervoor dat er telkens een behoorlijke overlapping is tussen opeenvolgende foto’s.
3.2.3
Sfeer fitten
Isomap resultaten hebben hun grootste statistische spreiding in de eerste co¨ordinaat, een iets kleinere spreiding in de tweede co¨ordinaat, enz. Dit kan ervoor zorgen dat de gevonden lichtposities niet uniform zijn geschaleerd langs alle dimensies. Om dit te voorkomen, maken we gebruik van het feit dat we de manueel bediende lichtbron tijdens het nemen van de foto’s in een hemisfeervorm over het object bewegen. Tijdens deze laatste stap fitten we onze data op een sfeer. Hierdoor worden uitschieters vermeden die onze resultaten negatief kunnen be¨ınvloeden. We hebben tot nu toe enkele manieren besproken waarmee we in staat zijn om de relatieve 3D lichtbronposities te achterhalen. Wij werken met het Isomap algoritme omdat we de globale structuur van onze lichtbronnen willen behouden. In het hoofdstuk dat volgt zullen we enkele resultaten uit onze implementatie tonen.
RESULTATEN
67
Hoofdstuk 4 Resultaten In het vorig hoofdstuk hebben we een theoretische basis besproken waarop we onze implementatie hebben gebouwd. We hebben gezien dat Isomap geschikt is om de dimensies van niet-lineaire data te reduceren tot een, door ons bepaald, niveau. In dit hoofdstuk zullen we enkele resultaten behandelen die werden verkregen met onze implementatie. We beginnen met een overzicht van enkele light waving patronen die goed worden herkend door het Isomap algoritme. Nadien vergelijken we onze implementatie met een geijkte dataverzameling waarvan we de lichtbronposities kenden. We gaan na of onze implementatie dezelfde relatieve lichtbronposities terugvindt als de geijkte dataverzameling.
RESULTATEN
68
Voor het uitvoeren van enkele experimenten werd gebruik gemaakt van eenvoudige toestellen die (bijna) iedere amateurfotograaf in huis heeft. Wij hebben gebruik gemaakt van een Sony DSC-P100 die ingesteld werd op burstmode. Deze burstmode laat toe om ongeveer twee foto’s per seconde te maken. Het toestel werd op een statief geplaatst om het onbeweeglijk op het object gericht te houden. Men dient er op te letten dat het toestel tijdens de opnames niet beweegt aangezien dit de resultaten negatief kan be¨ınvloeden. Het object dat men wil fotograferen plaatst men op een willekeurige ondergrond. De enige voorwaarde hiervoor is dat deze van een evenredige kleur is. Hiermee voorkomt men dat kleurveranderingen (die optreden door veranderende lichtbronposities) een invloed hebben op het resultaat of het object. Tijdens de experimenten werd hiervoor zwarte karton gebruikt. Om het object te belichten, gebruiken we een standaard halogeenlamp van 150 watt die voorzien was van een diffuse reflector. Doordat we geen kalibraties van de lichtbron of de camera moeten uitvoeren, kunnen we meteen beginnen met het nemen van de foto’s. De dataverwerving duurde gemiddeld 2 minuten en een dataverzameling bestond uit ongeveer 100 bruikbare foto’s. Figuur 4.1 toont enkele objecten en light waving patronen die werden gebruikt tijdens de dataverwerving. Symmetrische patronen, zoals het gebruikte spiraalpatroon, werken beter dan ad hoc patronen waarbij grote delen van de ruimte rond het object onderbemonsterd kunnen zijn. We hebben geen geijkte resultaten om de werkelijke posities van de lichtbronnen na te gaan. We kunnen de juistheid van de lichtbronposities afleiden uit het feit of Isomap het, tijdens de dataverwerving gevolgde, light waving patroon heeft kunnen terugvinden. De opbouw van figuur 4.1 is als volgt: in (a) zien we het object dat werd gefotografeerd. We hebben geprobeerd om variatie in de gebruikte objecten te brengen. De eerste figuur is een diffuse spaarpot, de tweede figuur is een speculaire munt en de derde figuur bestaat uit een diffuse beer en een speculaire gorilla. In (b) en (c) wordt respectievelijk het boven- en zijaanzicht getoond van het gebruikte light waving patroon. De stippen op de patronen stellen de geschatte lichtbronposities voor. De veranderende kleur is enkel om het dieptegevoel te verscherpen. Dit gaat namelijk verloren bij het drukken op papier.
RESULTATEN
69
Figuur 4.1: Gevonden lichtbronposities en hun light waving patronen. In (a) zien we een opname van het object dat werd gefotografeerd met een willekeurige lichtbronpositie. In (b) en (c) zien we respectievelijk het boven- en zijaanzicht van het light waving patroon en hun lichtbronposities (stippen) zoals deze werden teruggevonden door Isomap.
We beschikten ook over een dataverzameling die met een gekalibreerde opstelling was verkregen. Debevec stelt op zijn website een aantal dataverzamelingen van objecten beschikbaar die werden verkregen met de lightstage [28]. Dit geeft ons de mogelijkheid om onze gevonden lichtbronposities te vergelijken met gekalibreerde lichtbronposities. Figuur 4.2 (a) toont het object dat werd gebruikt tijdens deze test. In (b) zien we de lichtbronposities van de gekalibreerde opstelling [28]. In (c) worden de door Isomap gevonden lichtbronposities getoond. Het light waving patroon dat werd gebruikt door de lightstage werd goed teruggevonden.
RESULTATEN
70
Figuur 4.2: Vergelijking met een gekalibreerde dataverzameling. (a) toont een willekeurige foto uit de dataverzameling van Debevec [28]. In (b) worden de lichtbronposities getoond op de plaats waar ze zich bevonden tijdens de dataverwerving met de lightstage. In (c) wordt het resultaat van onze implementatie getoond.
Om na te gaan of de door ons gevonden resultaten overeenkomen met de gekalibreerde resultaten, vergelijken we de posities van een aantal foto’s bij beide resultaten. We tonen verschillende foto’s van de dataverzameling en hun respectievelijke positie op de gevonden lichtbronposities. In figuur 4.3 vergelijken we de lichtbronposities tussen de gekalibreerde dataverzameling (a) en ons Isomap resultaat (c). De gebruikte foto is te zien in (b). Een exacte overeenkomst tussen de lichtbronnen is niet mogelijk omdat we immers met een afschatting van de lichtbronposities werken. De ori¨entatie van de lichtbronposities tussen (a) en (c) is relatief en werd handmatig zo gelijk mogelijk geplaatst. Desondanks kunnen we toch een goed vergelijking tussen de twee resultaten maken. Op de eerste rij zien we dat de ridder langs rechtsboven wordt belicht. Zowel in (a) als in (c) werd de overeenkomstige lichtbronpositie met een rode cirkel aangeduid. Op de tweede rij wordt de ridder langs linksmidden belicht. In (a) en (c) zien we dat de lichtbron zich aan de andere kant van de lichtbronposities bevindt. Op de derde rij wordt de ridder langs uiterst links belicht. Zowel bij de gekalibreerde resultaten als onze bevindingen ligt de lichtbronpositie in de buurt van de verwachte
RESULTATEN
71
plaats. Van een exacte overeenkomst tussen (a) en (c) is evenwel geen sprake omdat we met een afschatting van de lichtposities werken en geen kalibratie gebruiken. Een verificatie van de gebruikte light waving patronen kan helpen om te bepalen of de lichtbronposities goed werden gevonden. We gebruiken immers geen gekalibreerde methode en kunnen de exacte lichtbronposities nergens opmeten. De light waving patronen die door onze implementatie worden teruggevonden, komen overeen met degene die werden gebruikt tijdens de dataverwerving. De gevonden lichtposities zouden dus ook moeten overeenkomen. Een vergelijking met een gekalibreerde dataverzameling [28] toonde aan dat hetzelfde light waving patroon werd teruggevonden en dat de relatieve lichtbronposities ook overeenkomen. Nu we weten dat de relatieve 3D lichtbronposities goed worden teruggevonden, zullen we, in het volgende hoofdstuk, twee toepassingen bespreken die gebruik maken van deze posities.
RESULTATEN
72
Figuur 4.3: Vergelijking van de gevonden lichtposities. De lichtbronposities tussen de gekalibreerde dataverzameling (a) en ons resultaat (c) komen overeen. Dit ligt geheel binnen de verwachtingen. Van een exacte overeenkomst is evenwel geen sprake vermits we met een afschatting van de lichtposities werken en geen kalibratie gebruiken. De gebruikte foto’s worden in (b) getoond.
TOEPASSINGEN
73
Hoofdstuk 5 Toepassingen Twee mogelijke toepassingen die gebruik kunnen maken van de besproken techniek zijn het verhogen van de visualiteit en herbelichting van objecten.
5.1
Hervisualisatie
In hoofdstuk 2.2.4 hebben we reeds gezien dat een polynomiale textuurkaart kan worden gebruikt om zeer realistische lichtafhankelijke texturen te verkrijgen. Polynomiale textuurkaarten worden verkregen door de belichting van een object te veranderen terwijl het object wordt gefotografeerd. Met de methode van Winnem¨oller et al [32] is het mogelijk om dit op een uiterst vlugge en effici¨ente manier te doen. Er moet immers geen kalibratie meer worden uitgevoerd. Polynomiale textuurkaarten kunnen worden gebruikt om, met een speciale techniek, het contrast van objecten te verhogen. Antieke objecten vertonen vaak subtiele oppervlaktevariaties die op een gewone foto vaak niet te zien zijn. Door de diffuse reflectie-eigenschappen van een object te verhogen, terwijl de oppervlaktenormalen van het object constant blijven, worden meer details zichtbaar. Deze techniek wordt ook diffuse aanwinst (Eng. diffuse gain) genoemd. In figuur 5.1 zien we een replica van een oude Griekse munt. In (a) wordt een originele foto van de munt getoond. In (b) wordt de reconstructie van de polynomiale textuurkaart getoond en in (c) zien we het effect van de diffuse aanwinst. In (c) lijkt het camerastandpunt
5.1 Hervisualisatie
74
te zijn veranderd ten opzichte van (a) en (b). Dit is echter een artefact van de diffuse aanwinst die waarschijnlijk wordt veroorzaakt door het verhogen van de reflectie-eigenschappen van de foto. Hierdoor wordt ook het dieptegevoel versterkt. Het camerastandpunt is tijdens de dataverwerving namelijk niet veranderd.
Figuur 5.1: In (a) wordt een originele foto van de munt getoond. In (b) wordt de reconstructie van de polynomiale textuurkaart getoond en in (c) zien we het effect van de diffuse aanwinst. Het object dat wordt getoond is een replica van een oude Griekse munt.
In figuur 5.2 tonen we het verschil tussen een polynomiale textuurkaart en een gewone textuurkaart. In de bovenste helft van (a),(b) en (c) wordt de polynomiale textuurkaart getoond en in de onderhelft de gewone textuurkaart. De plaats van het licht is op alle figuren aangeduid. We zien dat de plaatsing van de lichtbron een effect heeft op de polynomiale textuurkaarten maar geen effect op de gewone textuurkaarten. Dit ligt geheel binnen de verwachtingen aangezien een gewone textuurkaart een momentopname is en niet op veranderingen van het licht kan reageren. In (a) en (c) zien we een neveneffect van de herbelichting. Het bovenste deel (de polynomiale textuurkaart) lijkt niet meer te passen op het onderste deel (de gewone textuurkaart). Dit wordt veroorzaakt doordat het licht in de bovenste helft van (a) en (c) de rand van de munt benadrukt (langs de kant dat het object wordt belicht). Bij de gewone textuurkaart heeft de belichtingsrichting geen invloed.
5.2 Herbelichting
75
Figuur 5.2: In de bovenste helft van (a),(b) en (c) wordt de polynomiale textuurkaart getoond en in de onderhelft de gewone textuurkaart. De plaats van het licht is op alle figuren aangeduid. We zien dat de plaatsing van de lichtbron een effect heeft op de polynomiale textuurkaarten maar geen effect op de gewone textuurkaarten. Dit ligt geheel binnen de verwachtingen aangezien een gewone textuurkaart een momentopname is en niet op het licht kan reageren.
5.2
Herbelichting
Een andere toepassing is de herbelichting van objecten (zie hoofdstuk 2.2). Voor de herbelichting van objecten kunnen zowel re¨ele lichtkaarten gebruikt worden die werden genomen met behulp van de lichtsondemethode of virtuele lichtkaarten. In figuur 5.3 zien we een figuur die werd herbelicht met een lichtkaart van een echte omgeving en de lichtbronposities die door ons werden teruggevonden. De gebruikte lichtkaart bevindt zich linksonder in de figuur. In figuur 5.2 werd de figuur belicht met een virtuele lichtkaart. Van deze figuur worden ook enkele detailopnames getoond die de invloed van het blauwe licht laten zien. De figuur die wordt getoond is afkomstig uit Debevecs lightstage dataverzameling [28]. In figuur 5.5 wordt een herbelichting getoond van twee objecten die samen werden gefotografeerd. Het betreft een diffuse beer en een speculaire gorilla. In (a) zien we een originele foto met willekeurige belichting. Het resultaat van de herbelichting wordt getoond in (b).
5.2 Herbelichting
76
Figuur 5.3: Een object, waarvan de lichtbronposities met de light waving techniek [32] werden teruggevonden, werd herbelicht met een lichtkaart. De gebruikte lichtkaart is linksonder te zien. De originele figuur staat rechtsonderaan.
5.2 Herbelichting
77
Figuur 5.4: Een object, waarvan de lichtbronposities met de light waving techniek [32] werden teruggevonden, werd herbelicht met een virtuele lichtkaart. De gebruikte lichtkaart is linksonder te zien. Enkele gele lichtbronnen bevonden zich aan weerszijde van de figuur. De blauwe lichtbronnen waren rechtsonder geplaatst. Dit heeft als resultaat dat de figuur een gele kleur heeft met enkele blauwe details. Deze details werden ook uitvergroot.
5.2 Herbelichting
78
Figuur 5.5: Herbelichting van twee figuren. In (a) zien we een originele foto met willekeurige belichting. In (b) werden de twee figuren herbelicht met de behulp van de lichtbronposities die door onze implementatie werden gevonden. De gebruikte lichtkaart bevindt zich rechtsonder in (b).
TOEKOMSTIG WERK
79
Hoofdstuk 6 Toekomstig werk De resultaten worden op dit moment bekomen door gebruik te maken van laag-dynamische foto’s. In de toekomst kunnen hiervoor hoog-dynamische foto’s worden gebruikt waardoor bij de toepassingen een realistischer effect bekomen wordt. Buiten de samenstelling van een hoog-dynamische foto wordt er geen extra moeilijkheid verwacht t.o.v. de besproken techniek met laag-dynamische foto’s. We hebben de light waving techniek getest met een spiraalpatroon. Het is niet onwaarschijnlijk dat ook andere patronen een goede schatting van de lichtbronposities geven. Hierbij moet men enkel rekening houden met het aantal buren dat wordt gebruikt door Isomap. Op dit moment wordt deze ‘buren’-parameter nog met behulp van trail-and-error methodes gevonden. Het zou een sprong voorwaarts betekenen indien we dit proces zouden kunnen automatiseren. De dataverwerking gebeurt niet in real-time. Er moet worden gewacht totdat alle foto’s zijn genomen vooraleer de lichtbronposities berekend worden. Het is misschien mogelijk om dit proces te versnellen door vanaf een bepaalde ondergrens aan foto’s, de overige foto’s real-time te verwerken. Stel bijvoorbeeld dat er reeds 10 foto’s werden genomen. De lichtposities van die foto’s kunnen dan al worden gezocht. Posities van bijkomende foto’s (de elfde, twaalfde, enz.) worden dan in real-time berekend. Op deze manier zijn alle lichtposities gevonden van zodra de dataverwerving afgelopen is.
CONCLUSIE
80
Hoofdstuk 7 Conclusie We hebben in deze thesis een uitgebreide literatuurstudie gemaakt over herbelichtingstechnieken. We hebben de light waving techniek van Winnem¨oller et al [32] ge¨ımplementeerd. Deze techniek geeft ons de mogelijkheid om op een vlugge en effici¨ente manier een raamwerk op te zetten om de relatieve lichtbronposities van een ongeordende verzameling foto’s te vinden. We hoeven geen moeilijk voorbereidingswerk (zoals camera- of lichtkalibratie) te doen vooraleer we de foto’s kunnen maken. Wij hebben aangetoond dat de light waving techniek gebruikt kan worden voor de hervisualisatie en herbelichting van objecten. Voor de gebruiker geeft dit een mogelijkheid om met minimale inspanning een bevredigend resultaat te bekomen. Beide toepassingen zouden kunnen worden gebruikt in de filmen spelletjesindustrie. Als snelheid en gebruiksgemak belangrijker zijn de precisie, geniet de light waving techniek van Winnem¨oller et al [32] de voorkeur. Zoniet kan men beter een gekalibreerde methode gebruiken aangezien daarbij de lichtbronposities op voorhand gekend zijn. De door ons verkregen resultaten zijn veelbelovend en kunnen het werk van de fotograaf, vooral tijdens het opzetten van de belichting, enorm verlichten. De artistieke inbreng en creativiteit van een fotograaf kan echter nooit vervangen worden.
BIBLIOGRAFIE
81
Bibliografie [1] David Adams. http://www.mobilestartup.com/. website, 11 2007. [2] E. H. Adelson and J. R. Bergen. The plenoptic function and the elements of early vision. M. Landy and J. A. Movshon, (eds) Computational Models of Visual Processing, 1991. [3] Steve Borgatti. Multidimensional http://www.analytictech.com/borgatti/mds.htm.
scaling.
[4] Paul Debevec. A median cut algorithm for light probe sampling. SIGGRAPH 2005 Poster. [5] Paul Debevec, Tim Hawkins, Chris Tchou, Haarm-Pieter Duiker, Westley Sarokin, and Mark Sagar. Acquiring the reflectance field of a human face. In Siggraph 2000, Computer Graphics Proceedings, pages 145–156. ACM Press / ACM SIGGRAPH / Addison Wesley Longman, 2000. [6] Paul Debevec and Dan Lemmon. Image-based lighting. SIGGRAPH 2001 Course #14, August 2001. [7] Paul E. Debevec and Jitendra Malik. Recovering high dynamic range radiance maps from photographs. In SIGGRAPH ’97: Proceedings of the 24th annual conference on Computer graphics and interactive techniques, pages 369–378, New York, NY, USA, 1997. ACM Press/Addison-Wesley Publishing Co. [8] Inc Dolby Laboratories. http://www.dolby.com/promo/hdr/technology.html. website, 11 2007.
BIBLIOGRAFIE
82
[9] Catherine Feeny. http://www.uemedia.net/cgibin/artman/exec/view.cgi?archive=1&num=9050&printer=1. website, 7 2004. [10] Steven J. Gortler, Radek Grzeszczuk, Richard Szeliski, and Michael F. Cohen. The lumigraph. In SIGGRAPH ’96: Proceedings of the 23rd annual conference on Computer graphics and interactive techniques, 089791-746-4, pages 43–54. ACM, 1996. [11] Ned Greene. Environment mapping and other applications of world projections. IEEE Computer Graphics and Applications, 6, 1986. [12] De Harpij. http://www.deharpij.nl/organisatie.htm. website, 11 2007. [13] C. Hermans, C. Vanaken, T. Mertens, F. Van Reeth, and P. Bekaert. Augmented panoramic video. In Computer Graphics Forum, volume 27, 2008. [14] Marc Levoy and Pat Hanrahan. Light field rendering. ACM SIGGRAPH, July 1996. [15] Tom Malzbender, Dan Gelb, and Hans Wolters. Polynomial texture maps. In SIGGRAPH ’01: Proceedings of the 28th annual conference on Computer graphics and interactive techniques, pages 519–528. ACM, 2001. [16] Vincent Masselus, Philip Dutr´e, and Frederik Anrys. The free-form light stage. In SIGGRAPH ’02: ACM SIGGRAPH 2002 conference abstracts and applications, 1-58113-525-4, pages 262–262, New York, NY, USA, 2002. ACM. [17] Ankit Mohan, Jack Tumblin, Bobby Bodenheimer, Cindy Grimm, and Reynold Bailey. Table-top computed lighting for practical digital photography. In SIGGRAPH ’06: ACM SIGGRAPH 2006 Courses, page 3, New York, NY, USA, 2006. ACM. [18] Ronnie Olsthoorn. http://home.wanadoo.nl/r.j.o/skyraider/tut texturemapping.htm. website, 12 2007.
BIBLIOGRAFIE
83
[19] Donovan Parks. Nonlineair dimensionality reduction. website, 2005. [20] Pieter Peers, Tim Hawkins, and Paul Debevec. A reflective light stage. Technical report, USC Institute For Creative Technologies, 2006. [21] Trey Ratcliff. http://stuckincustoms.com. website, 11 2007. [22] Michael Rawlings. http://www.digitalrenegades.co.uk/stuff/agtec/page6.html. website, 5 2007. [23] Erik Reinhard. High Dynamic Range Imaging: Acquisition, Display, and Image-Based Lighting. Morgan Kaufmann, 2006. [24] S. Roweis and L. Saul. Nonlinear dimensionality reduction by locally linear embedding, 2000. [25] Richard Szeliski. Lightfields and lumigraphs http://www.cs.washington.edu/education/courses/cse590ss/. website, 2001. [26] J. B. Tenenbaum, V. de Silva, and J. C. Langford. A global geometric framework for nonlinear dimensionality reduction. Science, 290:2319– 2323, 2000. [27] Michael R Tomkins. http://www.imagingresource.com/news/1019253842.html. website, 3 2002. [28] California. USC Centers for Creative Technologies in Los Angeles. http://gl.ict.usc.edu/data/lightstage/. website, 8 2006. [29] Greg Ward. http://www.anyhere.com/gward/hdrenc/hdr encodings.html. website, 11 2007. [30] Alan Watt and Mark Watt. Advanced Animation and Rendering Techniques, Theory and Practice. Addison-Wesley, 1992. [31] Kilian Weinberger. Novel applications of dimensionality reduction. website: http://weinbergerweb.net/nldrworkshop06/Description.html, 12 2006.
BIBLIOGRAFIE
84
[32] Holger Winnem¨oller, Ankit Mohan, Jack Tumblin, and Bruce Gooch. Light waving: Estimating light positions from photographs alone. Computer Graphics Forum, 24:433–438, 2005. [33] http://www.apple.com/quicktime/technologies/qtvr/. [34] http://www.blackdiamondproductions.net/lighting101/main.htm. website, 11 2007.
LIJST VAN FIGUREN
85
Lijst van figuren 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9
Elektromagnetisch spectrum . . . Additiviteit van licht . . . . . . . Lokale en globale lichtbronnen . . Het kleurenpalet . . . . . . . . . Twee verschillende kleurmodellen Studiobelichting . . . . . . . . . . Beperkingen van computergrafiek Computergrafiek vs computervisie Beeldgebaseerde beeldgeneratie .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. 2 . 3 . 4 . 6 . 7 . 8 . 10 . 11 . 12
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15
Vorming foto met hoog-dynamisch bereik . . . . . . . . . . . . Conversie van hoog- naar laag-dynamisch bereik . . . . . . . . Fototoestel met hoog-dynamisch bereik . . . . . . . . . . . . . Televisietoestel met hoog-dynamisch . . . . . . . . . . . . . . Benaderende kleurafbeelding . . . . . . . . . . . . . . . . . . . Opname van een lichtkaart met een lichtsonde . . . . . . . . . Het verkrijgen van een lichtsonde met hoog-dynamisch bereik. Het verwijderen van artefacten uit een lichtkaart . . . . . . . . Lichtkaart in bol- of kubusvorm . . . . . . . . . . . . . . . . . Herbelichting van virtuele figuur . . . . . . . . . . . . . . . . . Herbelichting van het Parthenon . . . . . . . . . . . . . . . . . Een bemonsterde lichtkaart . . . . . . . . . . . . . . . . . . . De werking van de lightstage . . . . . . . . . . . . . . . . . . . Herbelichting in Spider-Man 2 . . . . . . . . . . . . . . . . . . Lightstage versie 6.0 . . . . . . . . . . . . . . . . . . . . . . .
17 18 18 19 20 22 23 24 25 25 26 27 28 29 29
2.16 2.17 2.18 2.19 2.20 2.21 2.22 2.23 2.24 2.25 2.26
De lightslab . . . . . . . . . . . . . . . . . . . Het 8D reflectieveld . . . . . . . . . . . . . . . Herbelichtingsvergelijking . . . . . . . . . . . Traditionele textuurmapping . . . . . . . . . . Bump mapping . . . . . . . . . . . . . . . . . Alternatief voor de lightstage . . . . . . . . . . De free-form lightstage in actie . . . . . . . . . Het Lambertiaans kleurmodel . . . . . . . . . Belichting volgens Mohan et al [17] . . . . . . Gebruikersinteractie . . . . . . . . . . . . . . Typische gebruikersessie met Mohan et al [17]
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
33 35 36 37 38 40 43 44 46 47 48
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11
Dataverwerving bij light waving . Geodetische afstand . . . . . . . . Illustratie van beeldafstanden . . Afstand in matrixvorm . . . . . . Afstand in grafiekvorm . . . . . . Verwarrende ori¨entatie bij MDS . Lineaire data vs niet-lineaire data Lokale patches . . . . . . . . . . . MDS vs Isomap . . . . . . . . . . Zwitserse rol . . . . . . . . . . . . Data linearisatie . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
51 53 53 55 56 58 59 61 62 64 64
4.1 4.2 4.3
Gevonden lichtbronposities en hun light waving patronen . . . 69 Vergelijking met een gekalibreerde dataverzameling . . . . . . 70 Vergelijking van de gevonden lichtposities . . . . . . . . . . . . 72
5.1 5.2 5.3 5.4 5.5
Hervisualisatie: voorbeeld 1 Hervisualisatie: voorbeeld 2 Herbelichting: voorbeeld 1 . Herbelichting: voorbeeld 2 . Herbelichting: voorbeeld 3 .
. . . . .
. . . . .
. . . . .
. . . . . . . . . . .
. . . . .
. . . . . . . . . . .
. . . . .
. . . . . . . . . . .
. . . . .
. . . . . . . . . . .
. . . . .
. . . . . . . . . . .
. . . . .
. . . . . . . . . . .
. . . . .
. . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
74 75 76 77 78