Mesostructure from Specularity using a Raster Display and a Digital Camera

Jo
Gielis

Een digitale schil om in te bijten



Dit werk bevindt zich in het domein van de computer graphics, meer bepaald in het domein van de computer visie. Het ultieme doel van computer visie is om het menselijk zicht te kunnen simuleren met een computer, dit betekent reageren op visuele invoer en op basis van deze invoer acties ondernemen.



Een deel van dit doel bestaat uit het scannen van reële objecten om zo informatie over vorm en kleur van het object te verkrijgen. Deze informatie kan dan gebruikt worden om een drie dimensionale (3D), digitale voorstelling van het object te construeren. Deze techniek wordt 3D-scanning genoemd en kent vele toepassingen, zoals de filmindustrie, de reclamewereld, de medische wereld, computerspellen, enzovoorts. Hier bestuderen we het 3D-scannen van zeer gedetailleerde oppervlakken, ook wel mesostructuur oppervlakken genoemd. Voorbeelden hiervan zijn o.a. de schil van een sinaasappel, muntstukken, leder, bladeren, enzovoorts. Nu willen we deze oppervlakken inscannen door enkel gebruik te maken van één scherm en één digitale camera. Denk hierbij aan een typische webcam opstelling die wel in de meeste huiskamers te vinden is, en dat we hiermee de mogelijkheid zouden hebben een 3D-scan uit te voeren.



Om de gedetailleerde structuur van het oppervlak digitaal te reconstrueren maken we gebruik van een techniek genaamd Mesostructure from Specularity. Het belangrijkste om op te merken bij deze techniek is dat deze glanspunten gaat uitbuiten in tegenstelling tot de meer klassieke methodes die liever sterk spiegelende objecten, en dus glanspunten, vermijden. Glanspunten verwijzen naar een perfect spiegelend punt op een oppervlak. Kijk maar eens rond, bijvoorbeeld naar het glas op de tafel waar felle lichte "vlekken", glanspunten, op zichtbaar zijn. Nu hebben deze glanspunten de volgende eigenschap: ze zijn uniek bepaald door enerzijds het inkomende licht en anderzijds het gezichtspunt. Het is deze eigenschap die wordt gebruikt om de vlak oriëntatie op een bepaald glanspunt te berekenen.



Dit betekent dat als we de positie van de lichtbron en de positie van het gezichtspunt kennen voor elk glanspunt, de vlak oriëntatie op dat punt bepaald kan worden. Voordat we nog wat meer in detail treden, bekijken we eerst eens wat de functie van het scherm en de digitale camera is, en hoe de glanspunten eigenlijk gevonden worden. Eerder werd er gesproken over inkomend licht en het gezichtspunt, dit inkomend licht is het scherm. Elke pixel of groep van pixels op het scherm kan beschouwd worden als een individuele lichtbron. Het gezichtspunt is de camera, deze "kijkt" naar het oppervlak. Terwijl het scherm het oppervlak dat we willen inscannen belicht, neemt de camera hier foto's van. Op deze foto's dienen de glanspunten gevonden te worden, dit kan door de foto's te filteren op de intensiteit van elke pixel. Hoe hoger de intensiteit van een pixel, hoe "witter" deze is, denk maar eens terug aan het glas op de tafel. Dit maakt het relatief eenvoudig om glanspunten op een foto te detecteren. Nu hebben we de glanspunten op elke foto gevonden, het inkomend licht is het scherm, en het gezichtspunt is de camera, dus we hebben alle informatie om het oppervlak digitaal te reconstrueren? Eigenlijk niet, om de vlak oriëntatie te berekenen moeten we eerst nog de positie kennen van het scherm t.o.v. de camera en van het oppervlak t.o.v. de camera. Geen probleem, we zoeken even een meetlat? Spijtig genoeg is dit wat moeilijk om met een simpele meetlat op te lossen, de oplossing voor dit probleem is een "camera calibratie" stap.



Er zijn verschillende toepassingen beschikbaar om deze calibratie stap uit te voeren, deze maken gebruik van een calibratiepatroon. Dit kan bijvoorbeeld een simpel schaakbordpatroon zijn. Dit patroon wordt op de gezochte positie geplaatst en de camera zal hiervan een foto maken. Door de vervormingen van deze patronen op de foto's te bestuderen kunnen de nodige eigenschappen bepaald worden. Dit betekent dat de gezochte positie direct zichtbaar moet zijn voor de camera, maar het scherm bevindt zich onder de camera en is dus niet direct zichtbaar. Om dit op te lossen wordt er gebruik gemaakt van een spiegel. De spiegel wordt in het gezichtsveld van de camera geplaatst en zorgt ervoor dat een gespiegelde versie van het scherm zichtbaar is voor de camera. Aangezien de spiegel wel direct zichtbaar is voor de camera kan hiervan de positie t.o.v. de camera berekend worden. Ook de positie van de gespiegelde versie van het scherm kan berekend worden. Met deze informatie kan nu ook de positie van het echte scherm berekend worden.



Nu hebben we alle nodige informatie om een digitale reconstructie te maken, maar om goede resultaten te verkrijgen is het nodig veel verschillende lichtbronnen te gebruiken. Dit betekent dat als we bijvoorbeeld duizend verschillende lichtbronnen gebruiken, we duizend verschillende foto's zullen moeten nemen. Hierdoor zal het hele proces redelijk tijdsintensief worden. Om dit te vermijden wordt er een coderingsmethode toegepast. Dit is een methode die ons toe laat vele lichtbronnen te simuleren door slechts enkele gecodeerde lichtpatronen. Hierbij wordt gebruik gemaakt van de eigenschap dat een glanspunt uniek bepaald is door het inkomend licht en het gezichtspunt. M.a.w. een glanspunt kan enkel door één enkele lichtbron gevormd worden, gesteld dat het gezichtspunt (de camera) niet van positie verandert. Hierdoor is het mogelijk meerdere lichtbronnen per opname te activeren, er moet enkel voor gezorgd worden dat de code gevormd door het aan of uit staan van lichtbronnen doorheen de patronen voor elke lichtbron uniek is. Een lichtbron met code 10110 zal dus aanstaan in het eerste patroon, uit staan in het tweede patroon, terug aanstaan in de twee volgende patronen en uitstaan voor het laatste patroon. Bij het nemen van de foto's wordt nu een patroon gebruikt i.p.v. één enkele lichtbron wat het hele proces aanzienlijk versnelt.



Een eenvoudig en goedkoop scanning systeem werd voorgesteld, waarmee makkelijk en in zeer korte tijd een digitale reconstructie van een zeer gedetailleerd oppervlak gemaakt kan worden. Dit systeem is door ons ook in de praktijk gebracht en heeft goede resultaten opgeleverd, digitale versies van de euro en natuurlijk een digitale schil om in te bijten!

Bibliografie

[CGS06] T. Chen, M. Goesele, and H.P. Seidel. Mesostructure from Specularity. Proceedings of the 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition-Volume 2, pages 1825-1832, 2006.



[FY07] N. Funk and Y.-H. Yang. Using a Raster Display for Photometric Stereo. Canadian Conference on Computer and Robot Vision (CRV), 2007.



[GW02] R.C. Gonzalez and R.E. Woods. Digital Image Processing. Prentice Hall, second edition, 2002.



[HZ04] R.I. Hartley and A. Zisserman. Multiple View Geometry in Computer Vision. Cambridge University Press, second edition, 2004.



[H86] B.K.P. Horn. Robot Vision. The MIT Press, 1986.

Download scriptie (6.78 MB)
Universiteit of Hogeschool
Universiteit Hasselt
Thesis jaar
2007