• No results found

Verwerking resultaten

In document Treasure hunting in augmented reality (pagina 33-41)

Aan de hand van de gevonden resultaten zal bepaald worden of ORB geschrikt is om te gebruiken in spoorzoekertje. In de discussie zullen deze resultaten nader verklaard worden. En zal gekeken

Figuur 6.5: Aantal matches per frame waarbij de lichtintensiteit per frame afneemt

HOOFDSTUK 7

Discussie

In tabel 6.1 staan de snelheden van feature detectie en feature matching. Gemiddeld kost het 23.39 ms voor feature detectie en 25.80 ms voor feature matching. Samen kost het ongeveer 50 ms per frame. Wanneer wordt uitgegaan van 60 frames per seconde, 16.7 ms per frame is dit niet snel genoeg. In het echt zal dit gemiddelde waarschijnlijk nog wat hoger liggen. Wanneer overdag buiten spoorzoekertje wordt gespeeld zal het bijna niet voorkomen dat maar geen of enkele matches zullen worden gevonden. Wanneer enkele frames worden overgeslagen zal het algoritme wel in real-time gebruikt kunnen worden. Hierbij wordt de aanname gemaakt dat het verschil tussen twee frames klein genoeg is om ervan uit te gaan dat niet niet gekeken hoeft te worden naar het plaatsen of verplaatsen van het object in het frame.

Uit figuur 6.3 valt te halen dat tussen alle foto’s uit appendixapd:1 minder dan 75 matches zijn gevonden. Dit betekend dat geen foto is aangegeven als een correcte match. Foto 3 heeft een piek aan het begin van de grafiek met 68 matches. Hier was ook verwacht dat deze foto gematcht zou worden. Deze zou correct gematcht worden wanneer de treshold voor het minimaal iets omlaag gehaald zou worden. De andere drie foto’s laten geen duidelijke pieken zien van posities waar deze gematcht zouden moeten worden. Dit zou kunnen komen doordat de foto’s net vanuit een andere hoek zijn genomen dan dat er met de video langs is gelopen en daardoor niet cor- rect gematcht konden worden. Bij foto 1 was verwacht dat wel een correcte match zou worden gevonden omdat deze bijna zo voorkwam in de video. Deze resultaten waren ook onverwacht doordat in figuur 4.2 dezelfde video is gebruikt. Hier werden in de frames rondom de gekozen afbeelding uit de video wel veel matches gevonden. Hieruit kan geconcludeerd worden dat ORB niet nauwkeurig genoeg is in het matchen van de juiste afbeeldingen.

Bij de experimenten van nauwkeurigheid is gebruik gemaakt van afbeeldingen met een resolutie van 4032x3024 die zijn gedownscaled naar een resolutie van 1920x1080. Hierbij veranderen de verhoudingen van een foto van 4:3 naar 16:9. Deze downscaling kan tot gevolg hebben de ge- vonden keypoints verschillen van de keypoints uit de frames. Waardoor deze minder goed met elkaar worden gematcht.

Bij de experimenten voor nauwkeurigheid is ontdekt dat de resolutie van de afbeeldingen uit- maakt voor hoe goed deze matchen met elkaar. Bij de experimenten had de video een resolutie van 1920x1080 en de foto’s een resolutie van 4032x3024. Uit deze testen kwam ook als resultaat dat geen van de foto’s matcht met de frames uit de video. Hierbij werden geen pieken waarge- nomen bij foto 3.

Een oplossing voor het probleem rondom de nauwkeurigheid zou kunnen zijn, een kleiner deel van de foto te pakken die beter weergeeft waar het object zich bevind. Dit zorgt ervoor dat veel van de omgeving minder effect heeft op het vinden van de keypoints en het correct matchen. Hierdoor match je alleen nog maar het gedeelte waar het object daadwerkelijk staat in plaats van dat ook nog de omgeving van het object gematcht probeert te worden. Dit zou een hogere

nauwkeurigheid kunnen opleveren.

Een andere oplossing zou kunnen zijn om te kijken naar het percentage van correcte matches tussen twee afbeeldingen in plaats van te kijken naar een bepaalde hoeveelheid. Wanneer maar weinig features in een beeld worden gevonden is het lastiger om aan 75 matches met een bepaalde Hamming distance te komen. Wanneer wordt gekeken naar de verhouding van matches met een Hamming distance kleiner dan 48 en het totaal aantal matches kan dit probleem verholpen wor- den. Dit kan ervoor zorgen dat matches nauwkeuriger worden gevonden.

Met een lage nauwkeurigheid zal het beter zijn om het object niet constant opnieuw te tekenen. Wanneer een speler op de juiste locatie staat waarop een hint locatie wel wordt herkend maar vervolgens net iets verplaatst en daardoor niet meer wordt herkend zal het object even in beeld springen en daarna weer verdwijnen. De huidige feature matching is hier niet stabiel genoeg voor. Een oplossing hiervoor zou kunnen zijn om een object maar een keer te tekenen en ver- volgens op een andere manier het object op zijn plek te houden. Bijvoorbeeld door te kijken naar de positie van de speler in de wereld en te kijken hoe deze ten opzichte tot het object beweegt. Figuur 6.4 laat het aantal keypoints per frame zien. Hierbij valt op dat vanaf frame 245 geen keypoints meer worden gevonden. Dit komt waarschijnlijk omdat vanaf dit punt de afbeeldingen te donker worden en er geen duidelijke randen meer worden gevonden. Dit geeft aan dat ORB feature matching niet zal werken in het donker. ORB kan alleen gebruikt worden wanneer het spel gespeeld wordt met een hogere lichtintensiteit. Uit figuur 6.2 valt op dat frame 212 alleen met zichzelf matched. In frame 212 werden precies 75 keypoints gedetecteerd. Doordat deze 75 keypoints met geen enkel andere frame precies matchen kan worden geconcludeerd dat verschillen ontstaan in de gevonden keypoints bij verschillende waardes van lichtintensiteit.

Wanneer wordt gekeken naar het aantal matches tegenover het afnemen van de lichtintensiteit valt frame 106 op in figuur 6.5. Hierbij is te zien dat wanneer de lichtintensiteit hoger wordt het aantal matches ongeveer stabiel blijven. Bij het afnemen van de lichtintensiteit neemt het aantal matches sterk af. Dit zou veroorzaakt kunnen worden doordat bij afbeeldingen met een lagere lichtintensiteit minder features worden gevonden. Dit kan tot gevolgen hebben dat ook minder features worden gematcht.

Verder zijn er nog een paar aspecten aan feature matching waar naar gekeken zal moeten worden voor verdere experimenten. Wanneer iemand vanaf de achterkant van de hint komt aanlopen zal deze niet geplaatst worden, omdat in het beeld geen features herkend zullen worden. Dit komt doordat dit beeld niet overeenkomt met het beeld waar features uit zijn gehaald. Hierdoor worden de hints niet op deze locatie geplaatst en kunnen hints gemist worden door spelers. Een oplossing hiervoor zou zijn om de hint locatie vanuit meerdere camera punten op te slaan in de database. Dit is geen optimale oplossing, omdat hierdoor de persoon die het pad instelt dit constant voor elke hint zou moeten doen. Daarnaast zullen meer features met elkaar gematcht moeten worden waardoor de applicatie langzamer wordt.

Een ander probleem kan ontstaan door het verschil in tijd van het uitzetten van het spoor en het spelen. In de verstreken tijd kan het zo zijn dat de opgeslagen locaties niet meer hetzelfde eruit zien. Voorbeelden van mogelijke veranderingen zijn auto’s die zijn verplaatst, plekken waar iets nieuws is gebouwd of juist iets is weggehaald. Door deze veranderingen kan het zijn dat de loca- tie niet meer op het juiste moment wordt gematcht en hierdoor hints niet meer worden geplaatst.

HOOFDSTUK 8

Conclusie

ORB bevat de functionaliteiten om gebruikt te worden in spoorzoekertje als wordt gekeken naar de snelheid en robuustheid onder lichtintensiteit. Wanneer vanuit gegaan wordt dat spoor- zoekertje alleen overdag gebruikt zal worden met voldoende lichtintensiteit. Als het gaat om nauwkeurigheid kan ORB niet gebruikt worden. Bij kleine veranderingen in het beeld worden deze nog correct gematcht. Wanneer de foto niet volledig genoeg overeen komt met de video zal deze niet gematcht worden en zullen veel hints niet worden geplaatst. Op mijn onderzoeksvraag: ”Wat is een geschikte methode voor het plaatsen van een virtueel object in AR waarbij zijn positie behouden blijft ten opzichte van de werkelijke wereld?” is dan ook nog geen duidelijk antwoord op te geven.

Voor ORB moet nog gekeken worden of deze nauwkeuriger wordt bij het aanpassen van de thres- holds voor de Hamming distance en het minimale aantal matches dat gevonden moet worden. In mijn implementatie is ook de waarde voor de scaleFactor aangepast van 1.2f naar 2.0f. Dit maakt ORB sneller maar ook onnauwkeuriger. Hier kan nog voor worden gekeken welke waarde voor scaleFactor de beste verhouding tussen snelheid en nauwkeurigheid geeft.

8.1

vervolgonderzoek

Als vervolgonderzoek kan worden gekeken naar het verbeteren van het huidige algoritme en meer experimenten uitvoeren met verschillende waardes voor de tresholds en de ScaleFactor. Verder kan gekeken worden naar een manier voor het decomposeren van transformatie matrixen die gebruikt kunnen worden in Unity voor het plaatsen van objecten.

Ook kan gekeken worden naar de besproken aanpassingen aan ORB in de discussie. Om te kijken wel effect het heeft om maar een klein deel van de afbeelding te pakken en deze te gebruiken voor het berekenen en matchen van features met de camera frames. Verder kan worden gekeken naar het effect op de nauwkeurigheid wanneer wordt gekeken naar het percentage correcte matches in plaats van naar het aantal.

Naast het kijken naar hoe ORB gebruikt kan worden voor spoorzoekertje kan gezocht worden naar een andere manier voor het vinden van de positie waar een object geplaatst zou moeten worden. Een manier die minder afhangt van de richting waarin de speler kijkt maar meer afhangt van de positie in de wereld, waardoor het voorwerp van verschillende kanten benaderd kan worden.

Bibliografie

[1] Android. url: https://developers.google.com/ar/ (bezocht op 06-06-2018). [2] Apple. url: https://developer.apple.com/arkit (bezocht op 06-06-2018).

[3] Herbert Bay e.a. “Speeded-Up Robust Features (SURF)”. In: Computer Vision and Image Understanding 110.3 (2008). Similarity Matching in Computer Vision and Multimedia, p. 346–359. issn: 1077-3142. doi: https://doi.org/10.1016/j.cviu.2007.09.014. url: http://www.sciencedirect.com/science/article/pii/S1077314207001555.

[4] G. Bradski. “The OpenCV Library”. In: Dr. Dobb’s Journal of Software Tools (2000). [5] Michael Calonder e.a. “BRIEF: Binary Robust Independent Elementary Features”. In:

Computer Vision – ECCV 2010. Red. door Kostas Daniilidis, Petros Maragos en Nikos Paragios. Berlin, Heidelberg: Springer Berlin Heidelberg, 2010, p. 778–792. isbn: 978-3- 642-15561-1.

[6] Albert Heijn. url: https://www.ah.nl/over- ah/pers/persberichten/bericht?id= 1537844 (bezocht op 08-06-2018).

[7] Ikea. url: https://www.ikea.com/gb/en/customer-service/ikea-apps/ (bezocht op 08-06-2018).

[8] Ebrahim Karami, Siva Prasad en Mohamed S. Shehata. “Image Matching Using SIFT, SURF, BRIEF and ORB: Performance Comparison for Distorted Images”. In: CoRR abs/1710.02726 (2017). arXiv: 1710.02726. url: http://arxiv.org/abs/1710.02726. [9] David G Lowe. “Distinctive image features from scale-invariant keypoints”. In: Internati-

onal journal of computer vision 60.2 (2004), p. 91–110.

[10] Ezio Malis en Manuel Vargas. “Deeper understanding of the homography decomposition for vision-based control”. Proefschrift. INRIA, 2007.

[11] Microsoft. What is a hologram? url: https://docs.microsoft.com/nl-nl/windows/ mixed-reality/hologram (bezocht op 06-06-2018).

[12] niantic. url: https://www.pokemongolive.com/en/ (bezocht op 08-06-2018).

[13] OpenCV. url: https : / / docs . opencv . org / 3 . 0 - beta / doc / py _ tutorials / py _ feature2d/py_matcher/py_matcher.html (bezocht op 08-06-2018).

[14] E. Rosten, R. Porter en T. Drummond. “Faster and Better: A Machine Learning Approach to Corner Detection”. In: IEEE Transactions on Pattern Analysis and Machine Intelligence 32.1 (jan 2010), p. 105–119. issn: 0162-8828. doi: 10.1109/TPAMI.2008.275.

[15] E. Rublee e.a. “ORB: An efficient alternative to SIFT or SURF”. In: (nov 2011), p. 2564– 2571. issn: 1550-5499. doi: 10.1109/ICCV.2011.6126544.

[16] Gabriel Takacs e.a. “Outdoors Augmented Reality on Mobile Phone Using Loxel-based Visual Feature Organization”. In: Proceedings of the 1st ACM International Conference on Multimedia Information Retrieval. MIR ’08. Vancouver, British Columbia, Canada: ACM, 2008, p. 427–434. isbn: 978-1-60558-312-9. doi: 10.1145/1460096.1460165. url: http://doi.acm.org/10.1145/1460096.1460165.

[18] Vuforia. url: https://www.vuforia.com/ (bezocht op 06-06-2018).

[19] Vuforia. Ground Plane User Guide. url: https://library.vuforia.com/articles/ Training/ground-plane-guide.html (bezocht op 06-06-2018).

BIJLAGE A

In document Treasure hunting in augmented reality (pagina 33-41)

GERELATEERDE DOCUMENTEN