Titel Augmented Reality. DokumentID 2402. Projekt FoU. Dokumentstatus Godkänd. Sida 1(10) Version 1.0. Augmented Reality



Relevanta dokument
HAND TRACKING MED DJUPKAMERA

Innehåll. Kamerabaserad interaktion Del 3 3D och AR. Världen genom datorn. Vad är AR? AR vs. VR. Potential

Emma Hallstan Emmha584

3D - syn för räddningsrobotar att kartlägga ett område i 3D

Teknisk kartläggning kring plattformsval och arbetet med att skapa en app med Augmented Reality

Kort introduktion till POV-Ray, del 1

Koordinatsystem och Navigation

Metoder för rörelsemätning, en översikt.

Mekaniska metoder för att mäta objekt och/eller rörelser kan bestå av:

Datorseende. Niels Chr Overgaard Januari 2010

Simulering av brand i Virtual Reality

LIPs Fredrik Ljungberg ChrKr Projektdirektiv18_ROV.doc CKr

Användarmanual för mycaddie version 2.0

Spelutveckling 3d-grafik och modellering. Grunder för 3d-grafik Blender Animering

1 Kravspecifikation Snake App

Sirius II Installation och Bruksanvisning

Användarmanual Onepix MDX Installer 1.1 SVENSK

Startinstruktion för Swivl Robot den automatiska kameramannen. Version

Systemskiss. LiTH AMASE Accurate Multipoint Acquisition from Stereovision Equipment. Jon Månsson Version 1.0

Förstärkt verklighet i utbildningen. Lektionsidéer

Vis it. jquery jquery används lite överallt i appen på olika sätt. Det främsta användningsområdet är vid selektering och manipulering av HTML element.

Vad utmärker ett bra användargränssnitt?

LIPs Daniel Axehill ChrKr Projektdirektiv_Saab_v3 CKr

GISS - Cartesia. Augmented Reality i praktiken En KORT genomgång. Professionell AR Ett innovativt utvecklingsprojekt Om och Status just nu

Configura 9.0 Release notes 18 april 2016

eller Smarta mobiler som hjälpmedel för personer med dövblindhet Del 1 - De olika systemen och de inbyggda hjälpmedlen

Lektionsaktivitet: Känna igen, hitta och beskriva

Byggnet 3D-viewer LATHUND

Ingående delar. I ditt paket av IDEA-SOLO ingår följande delar. Kamerasystem. Väska för att transportera IDEA-SOLO

ATT ARBETA MED VEKTORGRAFIK

Programmering eller Datalogiskt tänkande

GIS och VR (Virtual( Reality) Jonas Tornberg, CHALMERS

Signal och bildbehandling SBB

Vektorkartor för mobila terminaler

Cargolog Impact Recorder System

1

Fotorealistiska bilder 1 PV360 kap 1 7: Grunder samt material och dekaler i Photoview 360

Falcon III. AOI system för 2D och 3D inspektion för komponenter på fixtur eller på palett

Page 1. Innehåll. Datorseendebaserade gränssnitt: Bakgrund. Datorseende - Bildanalys. Datorseendebaserade gränssnitt

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q2

WC053 - Foldable Hi-Def 1.3M Trackcam USB 2.0. Viktigt! Installera drivern innan du ansluter Sweex Foldable Hi-Def 1.3M Trackcam USB 2!

Biometria Violweb. Kom-igång-guide. Januari Sammanfattning Den här anvisningen är till för dig som ska börja använda dig av Biometrias tjänster.

Institutionen för matematik och datavetenskap Karlstads universitet. GeoGebra. ett digitalt verktyg för framtidens matematikundervisning

Specifikation av kandidatexjobb

Tentamen TNM061, 3D-grafik och animering för MT2. Onsdag 20/ kl SP71. Inga hjälpmedel

PM Dokumentation

Universe Engine Rapport

Bemästra verktyget TriBall

Inställningstips. Visuella anpassningar Windows

Mobilt Bredband Turbo 3G+ Manual

Nyheter QPR version 8.1. Författare Andreas Möllås, Ensolution AB E-post Mobil Version 8.

Leica FlexField plus & Leica FlexOffice Ett perfekt par

Instruktioner, QR-scanning

Upprepade mönster kan talen bytas ut mot bokstäverna: A B C A B C eller mot formerna: Anna-Lena Ekdahl, Högskolan i Jönköping

Augmented reality i en industriell tillverkningsprocess Augmented Reality in an Industrial Manufacturing Process

Biometria Violweb. Kom-igång-guide. Mars Sammanfattning Den här anvisningen är till för dig som ska börja använda dig av Biometrias tjänster.

ONEDRIVE ÖVERBLICK Vad är OneDrive?... 2 Molnet?... 2 Två typer av OneDrive... 2 Hitta sin OneDrive för företag... 3

Norsecraft Geo Position AB Specialister på precision, vi leverera rätt system till rätt pris.

Föreläsning 10: Gränssnitt och webbdesign

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q3

Flerfunktionell Digitalkamera

Bemästra verktyget TriBall

LiTH. WalkCAM 2007/05/15. Testplan. Mitun Dey Version 1.0. Status. Granskad. Godkänd. Reglerteknisk projektkurs WalkCAM LIPs

Symprint Snabbstartsguide

Martin Burström [dit02mbm] Robert Eriksson [dit02ren] Filip Sjögren [dit02fsn] Handledare: Therese Edvall Daniel Ölvebrink :13

TAGTOOL Användarmanual

Slutrapport Vertikala Sökmotorer Uppdrag från.se:s Internetfond Våren 2008

Montören ser instruktionerna i sina smarta glasögon. När produktvarianterna blir fler behöver alla montörer använda ar-glasögon

MOTTAGARE AV VIDEOMÖTE FÖR DE SOM HAR MICROSOFT LYNC INSTALLERAT SAMORDNAD VÅRD- OCH OMSORGSPLANERING

Analys av BI-system och utveckling av BIapplikationer

Matematik inom tekniksektorn Adam Andersson, MY-dagen 2016

Avalanche Studios. OpenGL. Vår teknik. Våra spel. Lite inspiration... Stora, öppna spelvärldar. Sandbox-gameplay. Hög audiovisuell standard

UB:s sö ktjä nst - Söka artiklar och annan litteratur

Manual till Båstadkartans grundläggande funktioner

I rastergrafikens barndom...gjorde man grafik genom att skriva i ett videominne. Operationer på buffert och pixlar. Idag... Varför grafikkort?

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

THANGRAM STILRENT OCH SLIMMAD PORTTELEFON FÖR MEDELSTORA FASTIGHETER

Inledning. Kapitel Bakgrund. 1.2 Syfte

effektiv tillståndskontroll för alla branscher

Högskolan i Halmstad Multimedia och visuell kommunikation Övning 1 Adobe Flash, grundfunktioner & interpolering. Efter övningen förväntas du kunna:

Hans Borg, Leica Geosystems AB, Sverige

Undersökande arbetssätt i matematik 1 och 2

kraftfull bärbar mångsidig

Kravspecifikation. LiTH AMASE Accurate Multipoint Acquisition from Stereo vision Equipment. John Wood Version 1.0.

Robin Wahlstedt Datavetenskap / Spel Vetenskapsmetodik rwt07001@student.mdh.se. Datorgrafik i spel

LUVIT LMS Quick Guide LUVIT Composer

ANVÄNDARGUIDE SoftAlarm 2.0 Privatpersoner. För iphone & Android SmartPhones

Tips på appar med. Hitta de tecken du letar efter!

Hur du genomför ett videomöte

Programmering, dans och loopar

Introduktion Fillet Success Camera View Settings Self Intersecting Sweeps...

Kursplanering Objektorienterad programmering

Ladda ner en talbok med mobil eller surfplatta

Innehåll. Styrdon (ej i boken) Fitts lag (sidan ) Natural user interfaces. Kap 6.2.9, , Kap

Dollar Street Beta Version 1.0 Manual

HEMBYGDSFÖRENINGARS ANVÄNDNING AV NY TEKNIK. Maria Casagrande

O365- Konfigurering av SmartPhone efter flytt till Office 365 alt ny installation

1 Den normala kartbilden

Transkript:

1(10)

2(10) Innehållsförteckning shistorik...2 1 Introduktion...3 2 tekniker...4 2.1 2D-tracking/3D-tracking...4 2.2 Landmärken/nyckelpunkter...5 2.3 3D-modeller...5 2.4 3D-rendering...5 2.5 SLAM...5 2.6 MonoSLAM...6 2.7 Ego-motion...6 3 Mjukvaror/företag/bibliotek...6 3.1 13th lab PointCloud...6 3.2 Aurasma...7 3.3 Direct3D...7 3.4 Kinect...7 3.5 Metaio...8 3.6 OpenGL...8 3.7 OpenNI...8 3.8 SceneLib...8 3.9 Volumental...9 3.10 Vuforia...9 shistorik Status Datum Person Kommentar 13-12-17 Lena Douglas Granskat 0.5 13-12-16 Jakob Jönsson Små ändringar Granskat 0.4 13-12-16 Sergei Prasalovich Ej granskat 0.3 13-12-13 Lena Douglas Ny version av mindmap, lite utförligare text Granskat 0.2 13-12-07 Sergei Prasalovich Se kommentarer Ej granskat 0.1 13-12-05 Lena Douglas Första utkast

3(10) Referenser Nr Titel Länk [1] Durrant-Whyte H. and Bailey T., Simultaneous Localisation and Mapping (SLAM): Part I The Essential Algorithms, IEEE ROBOTICS AND AUTOMATION MAGAZINE (2006). http://citeseerx.ist.psu.edu/viewdoc/su mmary?doi=10.1.1.128.4195 [2] Bailey T. and Durrant-Whyte H., Simultaneous Localisation and Mapping (SLAM): Part II. [3] Davison et al., MONOSLAM: Real-time single camera SLAM, IEEE Trans. Pattern Analysis and Machine Intelligence (2007). [4] Brooks M. J., Chojnacki W., Baumela L., Determining the egomotion of an uncalibrated camera from instantaneous optical flow, Journal of the Optical Society of America A (1997). [5] Irani M., Rousso B., Peleg S., Recovery of Ego-Motion Using Image Stabilization, IEEE Computer Society Conference on Computer Vision and Pattern Recognition: 21 23 (June 1994). http://wwwpersonal.acfr.usyd.edu.au/tbailey/paper s/slamtute2.pdf http://spiral.imperial.ac.uk/bitstream/1 0044/1/695/1/MonoSLAM%20Real- Time%20Single%20Camera %20SLAM.pdf http://cs.adelaide.edu.au/~wojtek/paper s/motionimproved.pdf http://www.vision.huji.ac.il/papers/ego -mtn-cvpr94.pdf 1 Introduktion Augmented reality (AR), eller förstärkt verklighet, handlar om att förstärka den verklighet vi upplever genom våra sinnen syn, hörsel och känsel, med hjälp av tex bilder, ljud eller vibrationer. En stor del av Savantics forskardagar har i år varit relaterade till just AR, då vi har tittat närmare både på olika tekniker inom området och en del programvaror och mjukvarubibliotek. Vi har helt fokuserat på AR via visuella applikationer, dvs kopplade till bildanalys eller datorseende. När vi skulle sammanfatta resultatet av forskardagarna blev det tydligt hur brett begreppet AR är. Augmented reality förekommer redan inom många olika områden och ett stort antal olika tekniker och algoritmer används för att skapa den förstärkta verkligheten. Genom en illustration försöker vi här sammanfatta vår uppfattning av hur de olika teknikerna och mjukvarorna hänger ihop med varandra. I bilden illustreras metoder med gula boxar, medan mjukvaror/företag markeras med blå ellipser och rena mjukvarubibliotek med gröna ellipser. Nedanför följer förtydliganden och kortare beskrivningar om var och en av metoderna/mjukvarorna.

4(10) 2 tekniker Visuell AR är starkt kopplat till objektigenkänning i bilder. Oavsett om man använder digitala glasögon eller skärmen i en smartphone krävs en bild av verkligheten som man kan manipulera, tex genom att överlagra information i 2D eller 3D. I denna bild behövs referenspunkter/nyckelpunkter eller landmärken, för att orientera sig i bilden och för att skapa koordinater i bilden. För att identifiera objekt i bilden används tracking i 2D eller 3D. Om man överlagrar en bild kan både 2D- och 3D-objekt användas. Virtuella objekt i 3D kan rekonstrueras från 2D-data och visas överlagrade i bilden, så att användaren kan rotera det virtuella 3D-objektet på sin skärm. Med hjälp av moderna 3D-renderingstekniker kan objekten i 3D skapas i realtid. 2.1 2D-tracking/3D-tracking Inom AR handlar tracking om att identifiera ytor och/eller objekt, tex plana ytor som något kan projiceras på, eller tredimensionella objekt som överlagras med ett virtuellt objekt. Även tracking i realtid i rörliga bilder kan vara aktuellt, tex genom skärmen i en smartphone som användaren förflyttar i olika riktningar, vilket kräver både translationer och rotationer. Det finns två huvudspår inom tracking, den ena är baserad på landmärken/nyckelpunkter (feature-

5(10) based), den andra är modellbaserad, se även avsnittet 3D-modeller. 2.2 Landmärken/nyckelpunkter Feature-based metoder går ut på att identifiera och extrahera särdrag eller nyckelpunkter i bilderna, och att använda dessa för att rekonstruera 3D-informationen i ett scenario. I vanliga bilder kan man leta efter landmärken, tex med hjälp av kanter, hörn, eller 'fläckar' (sk 'blobs', dvs områden där bildegenskaper som färg och kontrast är ungefär samma), tex med SURF-, SIFT- eller FASTalgoritmerna. Vissa geometriska villkor krävs. SIFT = Scale Invariant Feature Transform, algoritm för identifikation av nyckelpunkter, hittar främst hörn. FAST = Features from Accelerated Segment Test, hittar också hörn. SURF = Speeded Up Robust Features, liknar SIFT men är snabbare, patenterad i USA. Om nyckelpunkterna till en viss bild sparas i en databas kan de användas för att trigga igång en applikation, bilden kallas då trigger-bild. Själva trigger-bilden, som kan vara given eller skapas av användaren som en del av applikationen, blir då ofta överlagrad med virtuella objekt. 2.3 3D-modeller Det finns två typer av 3D-modeller, enklast möjliga är en ytmodell där alla ytor approximeras med enkla geometriska objekt som trianglar. I detta enkla ramverk byggs objekten upp som skelett (wireframes), dessa är visserligen inte visuellt så tilltalande men är enkla att göra beräkningar på om objektet tex rör sig, dvs beräkningar av nya ställningar och positioner, skalningar och omformningar, osv. Det andra sättet att representera objekt är genom solida modeller. Dessa kräver dock mycket mer processorkraft. När objektet är definierat som 3D-modell används 3D-rendering för att ge objektet ett mer realistiskt utseende. 2.4 3D-rendering 3D-rendering är en teknik för att överföra det enkla ramverk som används i 3D-modeller till mer realistiska objekt genom att simulera ett mer realistiskt utseende och lägga på ljuseffekter, och även simulera objektets fysikaliska egenskaper. Inom AR-applikationer är realistiskt utseende oftast inte av så stor vikt, däremot är det viktigt att kunna göra beräkningarna i realtid. 2.5 SLAM Mobila robotar som saknar extern styrning, och som inte heller har en given karta att navigera efter, måste bygga upp en karta över ett område samtidigt som de rör sig genom området. SLAM, dvs Simultaneous Localisation and Mapping, avser det problem som uppstår då dessa två steg ska ske samtidigt, dvs uppbyggnaden av kartan ska ske samtidigt med lokaliseringen i samma karta. Ett robotsystem som ska klara av att navigera i tex en inomhusmiljö måste kunna hantera att en del landmärken är fixerade, som väggar och dörrkarmar, medan andra kan vara potentiellt rörliga, som

6(10) möbler eller människor. Ett sätt att hantera problemet är genom att ha flera parallella kartor, för olika typer av landmärken (fixa/rörliga). För orienteringen används ofta flera sensorer i kombination för att kunna beräkna avstånd, tex två kameror för stereoseende, antingen i det vanliga synliga spektrumet eller i infrarött spektrum (IR). Förutom nyckelpunkter kan andra metoder användas som tex histogram över färger, gradientlutningar, egenvektorer eller Fourier-transformen för att hitta de lågfrekventa komponenterna i bilden. För IR-laser kan man använda linje-segment för att leta efter hörn och vinklar. Andra matematiska metoder som används är Kalman- och partikelfilter. För en bra introduktion till SLAM, se [1] och [2]. 2.6 MonoSLAM MonoSLAM är en variant av SLAM där endast en kamera används, dvs stereoseende är uteslutet för avståndsberäkningar för navigering. Istället används nyckelpunkter för att identifiera landmärken och navigering efter dessa. Scenelib är tex baserad på MonoSLAM [3]. 2.7 Ego-motion Ego-motion refererar till kamerans egna rörelse i en statisk miljö, och innebär att kamerans rörelse i 3D uppskattas från en serie 2D bilder, tex i autonom videobaserad robotnavigering (visuell odometri). Landmärken och nyckelpunkter används för att konstruera optiskt flöde mellan två efterföljande kamerabilder (det går även bra med två kameror i stereo). Kamerans rörelse i 3D rekonstrueras sedan från optiska flödesdata [4]. Dessa tekniker förlitar sig på de underliggande algoritmer som används för att identifiera nyckelpunkterna, och kan vara tunga beräkningsmässigt. Andra metoder finns, där bildintensiteten används direkt för att beräkna ego-motion [5]. En viss a priori-kunskap om scenen krävs dock (tex plana föremål, linjära segment, små rotationer, translationer, etc) för att undvika oklarheter i rörelsetolkningen [5], och för att förenkla algoritmerna. 3 Mjukvaror/företag/bibliotek Nedan följer en sammanfattad redovisning, i alfabetisk ordning, av de mjukvaror och bibliotek som vi utforskat och utvärderat under forskardagarna. 3.1 13 th lab PointCloud Extended map finns. Ingen 3D rendering. Två utvecklingsverktyg finns: Browser Development och en SDK för ios. Några av de egenskaper som är inkluderade är bildigenkänning och tracking, SLAM, samt att spara och ladda in 3D SLAM kartor. I applikationer för mobiltelefoner kan även andra sensorer användas, förutom kameran, som

7(10) tex accelerometer och gyroskop, om dessa finns tillgängliga. http://13thlab.com/ 3.2 Aurasma Inget API? Tveksam prestanda. Dålig trigger. Triggerbild är vinkelberoende. Begränsat antal 2D modeller. 3D-trigger. Snyggt exempel. http://www.aurasma.com/ 3.3 Direct3D Bibliotek för visualisering av 3D-modeller. Konkurrerande bibliotek till OpenGL, ägs av Windows. http://www.microsoft.com/en-us/download/details.aspx?id=23803 3.4 Kinect RGB-kamera, plus IR-sändare och IR-sensor för djup, plus fyra mikrofoner. Utvecklad för spel men RGB- och IR-data går lika bra att använda till andra applikationer. Kinect finns i två versioner (2013), Kinect Xbox 360 som är den vanliga spelkonsolen, och Kinect for Windows (Kinect 4W), som endast går att koppla till pc, inte till spelkonsolen. Fungerande miljö finns, vi testade på en Kinect Xbox 360 kopplad till pc med Microsoft SDK för Xbox 360, se http://www.microsoft.com/enus/kinectforwindows/develop/beta.aspx. Detta var den gamla versionen av Kinect Xbox 360 med tillhörande strömförsörjning. Senare versioner säljs utan strömadapter och går inte att koppla till pc. I samband med Volumentals mjukvara testade vi även Windows SDK för Kinect 4W, se http://www.microsoft.com/en-us/kinectforwindows/develop/overview.aspx. Det finns många sidor på nätet, många exempel att testa, se tex OpenKinect (http://openkinect.org/wiki/main_page), eller Microsofts egna exempel för Kinect för Windows (open source under Apache license) hos CodePlex http://kinectforwindows.codeplex.com/, läs mer här http://www.theregister.co.uk/2013/03/13/kinext_code_open_sourced/ Vi testade även några Kinect-exempel för SLAM, tex från MRPT (Mobile Robot

8(10) Programming Toolkit) (http://www.mrpt.org/application%3akinect-3d-slam), och OpenSLAM (http://h.org/rgbdslam.html). Har man ingen Kinect men ändå vill testa att använda Kinect-data finns en del dataset tillgängliga via, tex, http://gti-work.blogspot.se/2012/05/kinect-datasets.html. Vi har inte undersökt någon av dessa själva dock. 3.5 Metaio Bra trigger. API finns. Creator finns. Prestandaproblem. Stabil tracking. Extended maps oklart. Fyra olika SDKs finns tillgängligt, för Android, ios, Unity3D och Windows. Kan detektera och spåra objekt i 2D, 3D och markörer. För okända objekt kan även tracking ske med SLAM, 'instant tracking' och GPS/inertia. Patentskyddad mjukvara, tillgänglig i olika versioner, en gratisversion med vattenstämpel, en Basic license som är utan vattenstämpel för 2D tracking, och en Pro license som är utan vattenstämpel både för 2D och 3D tracking. http://www.metaio.com/ 3.6 OpenGL Multi-plattformsbibliotek för effektiv visualisering av 3D-modeller i grafikkortet. Har plattforms-oberoende API. http://www.opengl.org/ 3.7 OpenNI Open Natural Interface OpenNI: http://www.openni.org/ Fungerar inte med Kinect Xbox 360 SDK, däremot med Kinect for Windows SDK. Har ej utvärderats, förutom kopplat till Volumentals programvara. 3.8 SceneLib Omoget för egna tester. Känslig för hur man rör sig. Dålig precision.

9(10) Bara Linux-versionen testad, Windows-versionen fick vi inte igång. Många styrparametrar. Landmärken är primitiva. Se referens [3]. Installation för Windows SDK: DirectShow API inkluderar DirectX SDK, därför kunde vi inte köra SceneLib2 på Windows. Den ursprungliga bilden bör vara relativt nära (0.5 1 m), annars kommer mätningarna på en del patchar inte att lyckas. För att förbättra sökning av landmärken: Öka antalet partiklar (100), Ändra antal försök (attempts) (default är 10 för 30Hz, 20 för 60 Hz), Om sökradien görs större (0.5-5.0 m), öka även antalet partiklar, När frekvensen för antalet bildrutor ändras (30Hz-->100Hz), ändra t_delta (0.033333-->0.01) och antal försök (attempts), Om storleken på bilderna ändras, ändra även cam.* parametrarna och positionen för de ursprungliga landmärkena / 4 patcharna, Tänk på att patch-storleken är 11x11 pixel, För att behålla orienteringen/riktningen bör kameran spåra ett tillräckligt antal landmärken för att kunna finna den initiala positionen. Video 14: Att vända kameran 180 grader och sedan återgå till ursprungsläget fungerade framgångsrikt, med igenkänning av de ursprungliga patcharna. Video 15: Att vända kameran hela varvet 360 grader fungerade däremot inte, de ursprungliga patcharna identifierades inte. http://www.doc.ic.ac.uk/~ajd/scene/ 3.9 Volumental Fungerar med en Kinect Xbox 360 om man använder Kinect for Windows SDK, men inte med Kinect Xbox 360 SDKn. Bra 3D modeller för stora och orörliga objekt. Bakgrunden kan störa. http://www.volumental.com/recordings/record 3.10 Vuforia Väldigt likt Metaio.

10(10) Öppen kod. Sämre triggering. Kan detektera och spåra 2D bilder samt även enkla 3D objekt (exempelvis 2D-bilder på sidorna av en kub), 'frame markers', virtuella knappar samt text. Tre olika SDK finns tillgängliga, för Android, ios, och ett externt bibliotek till Unity (multiplattform spelmotor). Simultan igenkänning av upp till fem objekt, textigenkänning, och robust spårning. http://www.qualcomm.com/solutions/augmented-reality