Innehåll. Kamerabaserad interaktion Del 1 2D. Mobil interaktion. Isomorf vs. isometrisk interaktion



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

Ansiktsigenkänning. Anna Ericsson Linköpings Universitet Linköping

Människa-Datorinteraktion

Grafik. För enklare datorsystem

Grafik. För enklare datorsystem

Designmönster för sociala användningssituationer

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

Grafisk Teknik. Rastrering. Övningar med lösningar/svar. Sasan Gooran (HT 2013)

Fingerprint Matching

Föreläsning 8: Aritmetik och stora heltal

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

Tangible interaction &TUI KIRSTEN RASSMUS-GRÖHN

De interaktiva kuddarna. Textil som kommunikationsredskap

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

Bildredigering i EPiServer & Gimp

Digital- och datorteknik

De interaktiva kuddarna Textil som kommunikationsredskap

Datorsystemteknik DVG A03 Föreläsning 3

Histogramberäkning på en liten bild

Houghtransformen ett verktyg för bildigenkänning

Ansiktsigenkänning med MATLAB

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

Dagens meny: Niclas Persson, Control and Communication. Gömda villkor i DAE:er. Hur hittar man gömda villkor? Pantelides algoritm

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

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

Datorer i system Bildanalys

Computer vision

Att läsa: Sharp, Helen, Rogers, Yvonne & Preece, Jenny E. (2007) Interaction design. Wiley. Kapitel 11.

Videomaterial på Designerns Bord

Grafiska pipelinen. Edvin Fischer

Bildförbättring i spatial domänen (kap. 3) Bildförbättring (enhancement) Spatial domän. Operatorer. Tröskling (threshold) Gråskale-transformationer

Bildbehandling, del 1

Prestandautvärdering samt förbättringsförslag

Grafik raytracing. Mattias Axblom.

Specifikation av kandidatexjobb

Hantering av hazards i pipelines

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

L A B R A P P O R T 1

Syfte. Små enheter i fysisk och digital omgivning. Enheter. Små enheter. A brief history of time and computing

BILDBEHANDLINGSMETOD INNEFATTANDE BRUSREDUCERING I BILD MED LOKALT ADAPTIV FILTERKÄRNA

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Approximation av funktioner

Mikael Bondestam Johan Isaksson. Spelprogrammering. med CDX och OpenGL

7 november 2014 Sida 1 / 21

Tentamen, Programmeringsteknik för BME, F och N

Ämnesområden. Examensarbete inom datavetenskap (1DV41E) Martin Fredriksson

a = a a a a a a ± ± ± ±500

Flerdimensionell analys i bildbehandling

Tentamen i Robotteknik MPR160 och MPR210, 20 oktober 1997

Histogram över kanter i bilder

Borttagning av skymda ytor Painter s Algorithm och Z-buffering. MICHAEL HJORTHOLT och ANDREAS PAULSSON

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

Department of Information Technology Digitala projekt. SuperKull. Daniel Öhman Alexander Persson

5 GRÅSKALEOPERATIONER

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!

Programmering av 3D-grafik för datorer med låg prestanda. Peter Halin

Bildregistrering Geometrisk anpassning av bilder

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

Objektorienterad programmering E. Telefonboken, än en gång. Gränssnitt. Telefonboken med gränssnitt specificerat, del 1.

Vad säger forskningen om programmering som kunskapsinnehåll? Karin Stolpe, föreståndare NATDID liu.se/natdid

Projekt i bildanalys Trafikövervakning

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

Verifieringsmetoder för aktiva säkerhetsfunktioner

Procedurell renderingsmotor i Javascript och HTML5

Avancerad Bildbehandling Stitching av bilder

Energieffektiv GUI design

TNM030 Tentasammanfattning (frågor) Nathalie Ek, Sammanfattning. TNM030 - Bildbehandling och bildanalys

Föreläsning i webbdesign. Bilder och färger. Rune Körnefors. Medieteknik Rune Körnefors rune.kornefors@lnu.se

Bildanalys för vägbeläggningstillämplingar

Interaktion 2 STYRDON, PEKDON OCH ANNAN INTERAKTION ATT RÄKNA MED

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Datoraritmetik. Binär addition papper och penna metod. Binär subtraktion papper och penna metod. Binär multiplikation papper och penna metod

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

Mattestegens matematik

Procedurell Terräng med LOD i OpenGL 4

Kodning av ansiktstextur med oberoende komponenter

Menyer, formulär och dialogrutor

Öka prestanda i Shared-Cache multi-core processorer

Snabbmanual version: 5.2

Simulering av brand i Virtual Reality

Författare: Juha Söderqvist IT-GUI. Version 1.0. Datum

En tillbakablick.. Världen är inte ett skrivbord. Dåtidens visionärer. Xerox Star föregångaren MDI, Wearable Computing. Föreläsning

Datastrukturer, algoritmer och programkonstruktion (DVA104, HT 2014) Föreläsning 5

Introduktion till MDI

Smart Clock. Du kan även ladda ner en PDF manual på box850.com, välj Smart Clock och tryck på Nerladdning.

Torskolan i Torsås Mars Matematik. Kriterier för betyget godkänd. Metoder: Arbetssätt. Muntligt. Problemlösning

Föreläsning 9: Gränssnittsdesign och webbdesign. Rogers et al. Kapitel 6

Ett Neuralt Nätverk Tittar På Kläder

Programmering på vetenskaplig grund? Några forskningsresultat. Karin Stolpe, föreståndare NATDID liu.se/natdid

2011 Studsvik AB PANORAMA-BILDTAGNING. Tony Björkman

Sammanfattninga av kursens block inför tentan

Koordinatsystem och Navigation

På en dataskärm går det inte att rita

F12: Användarna i fokus

Boken. OBS! Konkret interaktion är inte bokens starka sida. OBS! Jag har skrivit fel kapitel i kursprogrammet Uppdaterad version kommer.

Nya Medier. Gränssnitt, Interaktivitet och Digital kod

MANUAL FÖR WIFI KAMEROR. Kontakt: Sida 1

F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Datorer i system! Roger Henriksson!

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

Föreläsning 7: Bild- och videokodning

Transkript:

Innehåll Kamerabaserad interaktion Del 1 2D Anders Henrysson HCI Kameran Optiskt flöde Markörer Objektigenkänning Fixpunktsaritmetik Isomorf vs. isometrisk interaktion Positionskontroll vs. derivatakontroll Frihetsgrader Mobilitet begränsar Aspekter: Hastighet Precision Lätthet att lära Utmattning Koordination Beständighet Optimerat för att navigera menysystem En hand Mobil interaktion 1

Optimerat för textinmatning Två händer Mobil interaktion Motivation Med större skärmar, mer minne och snabbare processorer kommer mobila applikationer bli mer lika de som finns på PC. Exempel: Webbläsare 3D-grafik blir vanligare och kräver fler frihetsgrader. Interaktion viktig för spelkänsla. Mobilens hanterbarhet gör den lämpad för rörelsebaserad interaktion. Se mobiliteten som en styrka, inte som en begränsning Embodied User Interfaces [Fishkin, Rekimoto] Sensorer som registrerar tryck, lutning m.m. En hand Fortfarande isometriskt Sensorer i mobiler För interaktion krävs sensorer med hög upplösning och uppdateringsfrekvens. Accelerometrar Gyro Kompass 2

Mobilkameran + Finns i mer än en miljard mobiler + Har utvecklat enormt när det gäller stillbilder + Kan användas för 6 DOF interaktion Mobilkameran - Begränsad videoprestanda - CIF (352 288) @ 15 Hz - USB-mus: (400dpi) 125 Hz - Beräkningstunga algoritmer - Inget MHz-race - Ingen FPU - Batteri Beräkning av kamerans rörelse Rörelsefält (Motion Field) Rörelsefält (Motion Field) Optiskt flöde (Optical Flow) Blockkorrelation Markörer Objektigenkänning In: Två bilder tagna i tät följd Ut: Vektorfält som beskriver hur pixlarna rört sig mellan bilderna Använd vektorfältet för att beräkna kamerans rörelse 3

Exempel Optiskt Flöde Taylorutveckling av I(x+u,y+v): Antag att pixeln är oförändrad mellan bilderna (I t är skillnaden mellan bilderna) Vad är I x? Derivatan med avseende på x En bild som fås genom att applicera ett filter på I: [-1/2 0 1/2] (Normaliserat) I x ( x, y) = 1/ 2 I ( x 1, y) + 0 I( x, y) + 1/ 2 I( x + 1, y) Anta att vi arbetar med en gråskalebild: Optiskt Flöde Lös för u och v Ej lösbart för endast en pixel Använd flera. Antag att regionen är beständig. 4

Optiskt Flöde Ex. Ett 5 x 5 fönster runt pixeln. 25 ekvationer per pixel. Vektorform: Lucas - Kanade Överbestämt. Använd minstakvadratmetoden Matrisform: Lös: Klar! Lös för flera pixlar för att detektera rotation etc. Lukas - Kanade Komplicerat Inte helt robust Bäst för små rörelser Kan itereras: Warpa H till I m.h.a. rörelsefältet Repetera till konvergens uppnås Brute Force: Blockkorrelation Rörelseestimering i MPEG-4 Spara block runt pixel i H Stega igenom I och räkna ut skillnaden mellan blocken. Lagra värdena och välj det lägsta Betydligt enklare, men beräkningstungt (Ex 10x10 block i VGA-bild). Vi vill utnyttja de 15 fps som kameran ger. 5

Pyramidisering Idé: 1. Halvera upplösningen tills att större delen av bilden kan sökas snabbt. Hitta bästa matchning. 2. Gå ned i pyramiden och börja från bästa positionen från förra nivån 3. Sök igenom ett begränsat område 4. Repetera tills lägsta nivån är nådd Exempel: Pyramidisering search search search search Hur ska vi välja feature att följa? Kantlinje? Gradienten stor, men samma för alla pixlar på kantlinjen. 6

Homogen region? Heterogen region? Gradienten för liten. Bruskänsligt. Gradienten stor och unik. Extrempunkt. Bra val. Hur hitta automatiskt? Harris Hörndetektor Tar hänsyn till derivatan i båda riktningarna 1. Klassificera pixlar 2. Välj de med högst värde Κ = 0.04-0.15 7

Summering + Flexibel + Obegränsat område - Drift såvida inte features lagras - Fallerar vid rörlig eller homogen bakgrund Markörer En markör är ett visuellt objekt med kända egenskaper Genom att söka efter dessa egenskaper i en bild kan kamerans läge beräknas för varje bild Varje markör unik Data (position, Id, URL) kan associeras med markören Vanligtvis ett svart mönster på vitt papper. Tröskelvärde kan då användas för att hitta markören Olika typer av markörer kräver speciella algoritmer MIXIS [Hansen] MIXed Interaction Space Etablera en 3-dimensionell interaktionsrymd genom att tracka en cirkel som kan ritas förhand. Möjligt att dra och zooma en bild samtidigt Genom att se mobilens gränssnitt som ett 3D objekt i den fysiska världen minskar den kognitiva belastningen Hur hitta en cirkel? Randomized Hough Transform (RHT) Binär kantbild (kantdetektor + tröskling) Ackumulator med cirkelparametrar (trädstruktur) Indata: Array av kantpunkter Utdata: Maximum i ackumulatorn ger oss parametrarna för cirkeln. 8

Hur hitta en cirkel? MIXIS Exempel: linje y=ax+b 1. Välj slumpvis två kantpunkter P 1 (x 1,y 1 ) och P 2 (x 2,y 2 ) 2. Räka ut a och b från: Video 3. Inkrementera A(a,b) 4. Den punkt i A som har högst värde representerar den sökta linjen Cirkel med känd radie (x-a) 2 +(y-b) 2 =r c 2 Cirkel med känd radie (x-a) 2 +(y-b) 2 =r 2 Välj tre punkter. A(a, b, r) Visual Codes [Rohs] Visual Codes Definierar ett koordinatsystem. Detta innebär att samtliga pixlar i bilden har kända koordinater i markörplanet. Förutom relativ rörelse kan mobilens absoluta position beräknas i 3D Bitmönster som innehåller kodvärde. Bitarna måste vara större än en pixel. 9

Visual Codes Hitta koden 1. Gör bild till gråskala: Grå = (Röd + Grön)/2 2. Traversera bilden rad för rad i ett sicksackmönster. Uppdatera det viktade medelvärdet av grånivåerna 3. Skapa tröskelvärde från medelvärdet 4. Skapa binär bild genom att tröskla 5. Hitta svarta regioner i bilden (Labeling) 1. Traversera rad för rad och märk upp regioner 2. Sammanfoga angränsande regioner 6. Hitta orienteringsstrecken genom att matcha en ellips med regionerna 7. Hitta hörnpunkterna och utvärdera koden Visual Codes Beräkna vyparametrar Eftersom både bilden och markören är plana finns det en mappning mellan dem i form av en unik homografi (= projektiv transformationsmatris) Genom att använda denna mappning kan man beräkna mobilens position och rotation relativt markören Med ett hårkors kan användaren välja saker i den fysiska världen vars koordinater i markörsplanet är kända. Markör på papper: Visual Codes Exempel Markörer - Generellt 1. Hitta känd geometri i binär bild m.h.a. bildanalys 2. Beräkna kamera markör transformation 3. Extrahera data med känd orientering relativt geometrin Markör på skärm: 10

Summering + Känd och beständig geometri Absolut position och ingen drift + Många frihetsgrader möjliga (mer om detta nästa gång) + Databärare (t.ex. fysiska webbadresser) + Tvåhandsinteraktion: Dominant hand hanterar mobil. Icke-dominant hanterar markör. Objektigenkänning Vissa objekt finns alltid till hands Generellare än markörer - Begränsad interaktionsrymd - Fysiskt föremål (oftast) - Praktiskt? - Estetiskt? MIXIS (igen) Huvudet har man alltid med sig Använd kameran på telefonens framsida Att känna igen ett specifikt ansikte är mycket svårt. Att hitta ett ovalt, hudfärgat objekt är lättare. 4 DOF Headtracking Indata: Bild + histogram Utdata: ellipsparametrar 1. Leta upp region som matchar histogram 2. Expandera sökfönstret 3. Repetera till konvergens 11

Tracking av fot KickReal Tracking av fot Indata: Bildsekvens Utdata: Bollens riktning och hastighet Motion tracking + kantdetektering i ROI 1. Räkna ut fotens kant i båda bilderna 2. Räkna ut rörelsevektor 3. Hantera kollision mellan fot och boll (impuls) Summering + Generella algoritmer. Lämpligt för spel. + Ingen utskrift behövs - Begränsad interaktionsrymd - Inget unikt id 12

Gaze tracking? Framtid Trend: Mindre datorer och större skärmar HDTV + Mobil = framtidens PC? Fixpunktsaritmetik Mobiler har ingen FPU. Emulering av flyttal två magnituder långsammare än i hårdvara Problem: Tracking kräver flyttalsprecision Lösning: Använd heltal 32 bitar = -2147483648 2147483648 Har ingen fysisk motsvarighet i dessa sammanhang Vi kan använda vissa bitar till heltalsdelen andra till decimalerna OpenGL ES: 16 bitar till varje. 16:16 Trigonemetri: 4:28 Fixpunktsaritmetik Flyttal till 16:16 fixpunkt: x.f*2 16 eller x.f*1<<16 där << är skiftoperatorn d.v.s.: y<<x = y*2 x och y>>x = y/2 x. Macron (bits = 16): #define float_to_fix(val, bits) (int)(val * (1<<bits)) #define fix_to_float(val, bits) (float)val / (1<<bits) Addition och subtraktion: Som vanligt Multiplikation och division: 64 bitar för att inte tappa de mest signifikanta bitarna Multiplikation: Skifta ner resultatet res = (int) (((I64) x * (I64) y) >> bits); Division: Skifta upp resultatet res = (int) ((((I64)x)<<bits)/(I64)y); Nästa föreläsning 6DOF-tracking och 3D-interaktion Augmented Reality Koncept Trackingtekniker Applikationer CMAR Trigonometri: Tabeller! 13

Referenser Hansen, T. R., Eriksson, E., and Lykke-Olesen, A. 2006. Use your head: exploring face tracking for mobile interaction. In CHI '06 Extended Abstracts on Human Factors in Computing Systems (Montréal, Québec, Canada, April 22-27, 2006). CHI '06. ACM Press, New York, NY, 845-850 Hansen, Thomas Riisgaard, Eriksson, Eva, Lykke-Olesen, Andreas, Mixed Interaction Space Expanding the Interaction Space with Mobile Devices, full paper at British HCI 2005, Edinburgh, Scotland, in People and Computers XIX - The Bigger Picture. Proceedings of HCI 2005, Springer Verlag. URL:www.pervasiveinteraction.org/Mixis Rohs, M., Real-world Interaction with Camera Phones, in H. Tokuda & H. Murakami (eds.), Proceedings of the 2nd International Symposium on Ubiquitous Computing Systems (UCS 2004), 2004. URL:www.vs.inf.ethz.ch/res/proj/visualcodes Referenser Paelke, V., Reimann, C., and Stichling, D. 2004. Foot-based mobile interaction with games. In Proceedings of the 2004 ACM SIGCHI international Conference on Advances in Computer Entertainment Technology (Singapore, June 03-05, 2005). ACE '04, vol. 74. ACM Press, New York, NY, 321-324 Rekimoto, J. & Ayatsuka, Y. [2000], CyberCode: Designing Augmented Reality Environments with Visual Tags, in W. E. Mackay (ed.), Proceedings of DARE 2000 on Designing Augmented Reality Environments, ACM Press, pp.1 10. Kälviäinen, H., Hirvonen, P., Xu, L. & Oja, E. [1995], Probabilistic and Non-probabilistic Hough Transforms: Overview and Comparisons, Image and Vision Computing 13(4), 239 52. SemaCode Corporation [2005], URL:Sem@Code, semacode.org Referenser Jingtao Wang, John Canny, TinyMotion: Camera Phone Based Interaction Methods, in alt.chi of ACM CHI 2006, Montreal, Canada, April 24-27, 2006. URL:guir.berkeley.edu/projects/tinymotion Fishkin, K.P., Gujar, A., Harrison, B.L., Moran, T., Want, R: Embodied User Interfaces for Really Direct Manipulation. Communications of the ACM, Vol. 43, No. 9 (2000) 74 80 ShotCode URL:www.shotcode.com Bouguet Jean-Yves: Pyramidal Implementation of the Lucas Kanade Feature Tracker Description of the algorithm Jianbo Shi and Carlo Tomasi, Good features to track", Proc. IEEE Comput. Soc. Conf. Comput. Vision and Pattern Recogn., pages 593-600, 1994. 14