Icon up Overzicht

Lopen door een darm en Pacman in het echt

Onderwerp: Overige onderwerpen, Signaalverwerking

Wanneer je aan de TU Delft technische natuurkunde gaat studeren krijg je in de eerste drie jaar elk jaar met een groot project te maken. Samen met een groep medestudenten ga je bij een vakgroep(sectie) een onderzoek doen en hen helpen met het ontwikkelen van nieuwe technologie. In het tweede jaar heb ik een project gedaan bij Imaging Science and Technologie. En wel met Augmented Reality(AR).

Inleiding: Wat is Augmented Reality?

Om uit te kunnen leggen wat AR is even een korte introductie over Virtual Reality. Bij VR krijg je een bril op; op deze bril worden computerbeelden geprojecteerd. Je ziet met deze bril alleen de geprojecteerde beelden. De werkelijke wereld kan je niet zien. Het is dus erg lastig om rond te lopen zonder ergens tegen aan te stoten. Nu komt AR om de hoek kijken met een oplossing: Een half-see-through bril, een bril waarmee je zowel de geprojecteerde beelden ziet als de werkelijke wereld. Je kunt nu dus vrij rond lopen omdat je de werkelijke wereld ziet en je kan genieten van virtuele beelden die op je bril worden geprojecteerd.

De headset die wij gebruikt hebben

De commerciële versie van de headset

Hoe werkt het dan precies?

Pacman in AR

Zie het fiimpje hierboven. We zien een marker door de bril heen. Op de marker is een pacman spel geprojecteerd(door de bril). Wanneer het bord verandert van hoek gaat pacman een andere kant op bewegen. Na een tijdje zien we de marker, maar dan niet door de bril heen. Je hebt dus de bril nodig voor AR. Aan de onderkant van de marker zit ook een accelerometer. Voor deze vorm van pacman is het handig om de accelerometer aan de onderkant van de marker te zetten. Bedenk zelf waarom!

Net als bij Virtual Reality krijg je een bril op. Bij AR noemen we het een headset; er zit namelijk niet alleen een bril op maar ook een digitale camera. Deze camera is om de positie van jou te bepalen. Er worden in bijvoorbeeld een kamer een aantal markers geplaatst. Zo’n marker bestaat uit een bord met zwarte en witte vlakjes. De computer herkent de marker die gezien wordt door de camera. Vervolgens wordt je positie bepaald (Later volgt hier over nog meer). Als je positie bekend is dan kan de computer beelden sturen naar je bril, deze beelden hebben namelijk ook een bepaalde positie in de kamer. De beelden zijn 3d plaatjes. Het is dus ook mogelijk rondom de geprojecteerde voorwerpen te lopen. Zo is het bijvoorbeeld mogelijk om in een darm te lopen; zinvol voor de medische wetenschap. Of kan je in het echt pacman spelen, met 3d spookjes die achter je aankomen!

Een marker

Plaatsbepaling

Er zijn vele verschillende manieren om je plaats in de wereld te bepalen. Een gps systeem kan op een paar meter nauwkeurig, met behulp van satellieten, je plaats op aarde bepalen. In de bouw gebruiken ze een laser als hulpmiddel om plaats te bepalen. Op kleinere schaal kan er bijvoorbeeld gewerkt worden met akoestische systemen, waarbij bijvoorbeeld gebruik gemaakt wordt van het Doppler-effect. Maar omdat er bij Augmented Reality gewerkt wordt met beelden die in een kamer geprojecteerd moeten worden is het zeer belangrijk de plaats nauwkeurig te bepalen. Anders krijg je bijvoorbeeld een tafel die door een muur heen geprojecteerd wordt of objecten die door de vloer steken.

Schematische weergave van werking van het systeem

Voor Augemeted Reality is er dan ook een ander systeem bedacht van plaatsbepaling. Dit gebeurt aan de hand van markers. Elke marker bestaat uit zwarte en witte vakjes. De plaats van de witte en zwarte vakjes bepaalt welk nummer de marker krijgt. Zoals eerder gezegd wordt de marker gedetecteerd door de camera. De computer kijkt vervolgens naar de grootte van de onderlinge vakjes. Dit kan je je misschien voorstellen: hoe verder een voorwerp weg is, hoe kleiner het object wordt. Vakjes die dichterbij zijn worden dan ook als groter gezien. Door vergelijking van de onderlinge vakjes wordt de plaats van de camera op een paar centimeter nauwkeurig bepaald.
Dit kan natuurlijk niet een continu proces zijn: De computer heeft tijd nodig om de grootte te bepalen, de hoek uit te rekenen en zo de plaats te bepalen.
De computer kan op deze manier tien keer per seconde de juiste positie bepalen van de persoon (dus met 10Hz). Dit zou schokkerige beelden opleveren omdat de beelden met minstens 50 Hz binnen moeten komen. Er is dus een gat tussen de tijden dat de exacte positie bekend is en de er beelden worden uitgezonden. Om dit te voorkomen zit er in de headset ook een accelerometer. Deze meet de versnelling van het hoofd. Wanneer iemand beweegt geeft de accelerometer een uitslag. De accelerometer meet met 100Hz. De positie kan dus bepaald worden met behulp van de bekende positie en de versnellingsmeter. Hierbij is de positie, bepaald met behulp van de camera, de exacte positie, en de tussentijdse posities met behulp van de versnellingsmeter een soort geschatte positie.

juiste positie

Wat was ons probleem?

Zoals hierboven staat beschreven heeft het systeem markers nodig. Met behulp van deze markers maakt de computer een coordinatenstelsel (x,y,z). In dit coordinatenstelsel krijg jij een bepaalde positie net als de voorwerpen die geprojecteerd worden. Zo kan de computer precies bepalen welk deel van een figuur je te zien krijgt; van welke hoek je naar het figuur kijkt en hoe groot het voorwerp dan moet zijn (perspectief).
Het probleem was alleen dat elke marker gezien werd als oorsprong. Wanneer de camera een andere marker zag werd het coördinatenstelsel veranderd en kreeg je ineens andere beelden te zien. Onze taak was om dit probleem te verhelpen zodat er in een kamer meerdere markers kunnen staan en, waar je ook staat, de computer altijd weet waar je precies bent. De computer weet dit namelijk alleen wanneer de camera ook een marker kan zien!

Positiebepaling met meerdere markers was niet mogelijk

De oplossing

Een oplossing ontstond niet zomaar. Samen met de medestudenten is er gedacht over verschillende oplossingen. Bijvoorbeeld de markers vervangen door een ander systeem. Het systeem wat op de universiteit van Singapore gebruikt wordt voor AR maakt gebruik van GPS, dus met drie satelieten, plus een grondstation. Met behulp van het grondstation kan de plaats tot enkele centimeters nauwkeurig bepaald worden. Wanneer je Pac Man in het groot gaat spelen is dit een oplossing, maar voor onze doeleinden is een paar centimeter niet nauwkeurig genoeg. Andere bedachte systemen waren vaak ook te onnauwkeurig.
Uiteindelijk kwamen we op de oplossing: Er wordt ergens een oorsprong gekozen. Elke marker krijgt een bepaalde positie ten opzichte van de oorsprong in de ruimte. De afstanden (x,y,z) van de marker tot de oorsprong worden nauwkeurig gemeten. Zo weet de computer, wanneer een bepaalde marker in beeld is, welke marker het is (de zwarte en witte vlakjes) en waar de marker precies staat. Met behulp van matrixvermenigvuldigingen wordt vervolgens de positie van de camera in de kamer bepaald. Vervolgens worden de beelden op de bril geprojecteerd.

Dit is natuurlijk maar een theorie en zoals het hoort moet elke theorie gecontroleerd worden. Het script heeft een van de studenten vervolgens geschreven en daarna hebben we het uitgeprobeerd: Het werkte!!

Toekomst

Augmented Reality is nog lang niet zo ver ontwikkeld dat je het al in de winkel kunt kopen. Toch wordt er al vollop gedacht over mogelijke toepassingen. Zoals boven al is verteld kan je bijvoorbeeld straks door een darmenstelsel lopen en alles van dichtbij bekijken met behulp van bijvoorbeeld MRI. Voordat het zover is moet er nog veel onderzoek gedaan worden naar nauwkeurige plaatsbepaling.
Een van de problemen bijvoorbeeld is dat het beeld altijd achterloopt op de werkelijke positie van de persoon. Er is tijd nodig om de juiste positie vast te stellen en het beeld(met de juiste coordinaten) vanuit de computer naar de bril te sturen. Met bijvoorbeeld een model van menselijke bewegingen kan er wellicht iets vooruit gekeken worden en zo de tijd beperken die nodig is om de plaats te bepalen.
Ook zijn er mogelijkheden om met RFID (Radio Frequency Identification; zie bijv de uitleg in Wikipedia) te werken in plaats van markers. Dit zorgt voor een aanpassing in de plaatsbepaling en levert meer mogelijkheden om AR toe te passen in bijvoorbeeld het bedrijfsleven.

Doe het zelf bij Ikea

Hierboven zien we een soort handleiding van een ikea product. We zien in het filmpje verschillende markers. De markers zorgen voor een bepaalde figuur die opgeslagen is in de computer. Tevens zorgt de marker hier voor de positie bepaling: Waar moet de figuur geprojecteerd worden. Op deze manier wordt het een stuk eenvoudiger om meubilair in elkaar te zetten. Maar bedenk ook dat het bij bijvoorbeeld een ingewikkelde motor kan die gemaakt moet worden.