innehåll kamerabaserad interaktion del 1 –...

14
1 Kamerabaserad interaktion Del 1 – 2D Anders Henrysson Innehåll • 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 Mobil interaktion Optimerat för att navigera menysystem En hand

Upload: others

Post on 28-Feb-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Innehåll Kamerabaserad interaktion Del 1 – 2Dwebstaff.itn.liu.se/~marka/TNMK24/Kamerabaserad_interakt...In Proceedings of the 2004 ACM SIGCHI international Conference on Advances

1

Kamerabaserad interaktionDel 1 – 2D

Anders Henrysson

Innehåll

• 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

Mobil interaktion

• Optimerat för att navigera menysystem

• En hand

Page 2: Innehåll Kamerabaserad interaktion Del 1 – 2Dwebstaff.itn.liu.se/~marka/TNMK24/Kamerabaserad_interakt...In Proceedings of the 2004 ACM SIGCHI international Conference on Advances

2

Mobil interaktion

• Optimerat för textinmatning

• Två händer

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

Page 3: Innehåll Kamerabaserad interaktion Del 1 – 2Dwebstaff.itn.liu.se/~marka/TNMK24/Kamerabaserad_interakt...In Proceedings of the 2004 ACM SIGCHI international Conference on Advances

3

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)– Optiskt flöde (Optical Flow)– Blockkorrelation

• Markörer

• Objektigenkänning

Rörelsefält (Motion Field)

• 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

Page 4: Innehåll Kamerabaserad interaktion Del 1 – 2Dwebstaff.itn.liu.se/~marka/TNMK24/Kamerabaserad_interakt...In Proceedings of the 2004 ACM SIGCHI international Conference on Advances

4

Exempel Optiskt FlödeTaylorutveckling av I(x+u,y+v):

Antag att pixeln är oförändrad mellan bilderna

(It är skillnaden mellan bilderna)

Vad är Ix?

• Derivatan med avseende på x• En bild som fås genom att applicera ett

filter på I: [-1/2 0 1/2] (Normaliserat)

• Anta att vi arbetar med en gråskalebild:

),1(2/1),(0),1(2/1),( yxIyxIyxIyxI x +⋅+⋅+−⋅−=

Optiskt Flöde

för u och v

Lös

Ej lösbart för endast en pixel Använd flera. Antag att regionen är beständig.

Page 5: Innehåll Kamerabaserad interaktion Del 1 – 2Dwebstaff.itn.liu.se/~marka/TNMK24/Kamerabaserad_interakt...In Proceedings of the 2004 ACM SIGCHI international Conference on Advances

5

Optiskt FlödeEx. Ett 5 x 5 fönster runt pixeln. 25 ekvationer per pixel.

Vektorform:

Matrisform:

Lucas - KanadeÖverbestämt. Använd minstakvadratmetoden

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.

Page 6: Innehåll Kamerabaserad interaktion Del 1 – 2Dwebstaff.itn.liu.se/~marka/TNMK24/Kamerabaserad_interakt...In Proceedings of the 2004 ACM SIGCHI international Conference on Advances

6

PyramidiseringIdé:

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

Pyramidisering

search

search

search

search

Exempel:

Hur ska vi välja feature att följa? Kantlinje?

Gradienten stor, men samma för alla pixlar påkantlinjen.

Page 7: Innehåll Kamerabaserad interaktion Del 1 – 2Dwebstaff.itn.liu.se/~marka/TNMK24/Kamerabaserad_interakt...In Proceedings of the 2004 ACM SIGCHI international Conference on Advances

7

Homogen region?

Gradienten för liten. Bruskänsligt.

Heterogen region?

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

Page 8: Innehåll Kamerabaserad interaktion Del 1 – 2Dwebstaff.itn.liu.se/~marka/TNMK24/Kamerabaserad_interakt...In Proceedings of the 2004 ACM SIGCHI international Conference on Advances

8

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.

Page 9: Innehåll Kamerabaserad interaktion Del 1 – 2Dwebstaff.itn.liu.se/~marka/TNMK24/Kamerabaserad_interakt...In Proceedings of the 2004 ACM SIGCHI international Conference on Advances

9

Hur hitta en cirkel?Exempel: linje y=ax+b1. Välj slumpvis två kantpunkter P1(x1,y1) och P2(x2,y2)2. Räka ut a och b från:

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=rc2

Cirkel med känd radie (x-a)2+(y-b)2=r2

• Välj tre punkter. • A(a, b, r)

MIXIS

• Video

Visual Codes [Rohs]

• 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.

Visual Codes

Page 10: Innehåll Kamerabaserad interaktion Del 1 – 2Dwebstaff.itn.liu.se/~marka/TNMK24/Kamerabaserad_interakt...In Proceedings of the 2004 ACM SIGCHI international Conference on Advances

10

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åerna3. Skapa tröskelvärde från medelvärdet4. Skapa binär bild genom att tröskla5. 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 – Hitta 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.

Visual Codes – ExempelMarkör på papper:

Markör på skärm:

Markörer - Generellt1. Hitta känd geometri i binär bild m.h.a.

bildanalys2. Beräkna kamera – markör transformation3. Extrahera data med känd orientering relativt

geometrin

Page 11: Innehåll Kamerabaserad interaktion Del 1 – 2Dwebstaff.itn.liu.se/~marka/TNMK24/Kamerabaserad_interakt...In Proceedings of the 2004 ACM SIGCHI international Conference on Advances

11

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.

- Begränsad interaktionsrymd - Fysiskt föremål (oftast)- Praktiskt?- Estetiskt?

Objektigenkänning

• Vissa objekt finns alltid till hands• Generellare än markörer

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 histogram2. Expandera sökfönstret3. Repetera till konvergens

Page 12: Innehåll Kamerabaserad interaktion Del 1 – 2Dwebstaff.itn.liu.se/~marka/TNMK24/Kamerabaserad_interakt...In Proceedings of the 2004 ACM SIGCHI international Conference on Advances

12

KickReal

• Tracking av fot

Tracking av fot • Indata: Bildsekvens• Utdata: Bollens riktning och hastighet

• Motion tracking + kantdetektering i ROI1. Räkna ut fotens kant i båda bilderna2. Räkna ut rörelsevektor3. 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

Page 13: Innehåll Kamerabaserad interaktion Del 1 – 2Dwebstaff.itn.liu.se/~marka/TNMK24/Kamerabaserad_interakt...In Proceedings of the 2004 ACM SIGCHI international Conference on Advances

13

Framtid

• Gaze tracking?

• 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

FixpunktsaritmetikFlyttal till 16:16 fixpunkt: x.f*216 eller x.f*1<<16 där << är skiftoperatorn

d.v.s.: y<<x = y*2x och y>>x = y/2x.

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 resultatetres = (int) (((I64) x * (I64) y) >> bits);

– Division: Skifta upp resultatetres = (int) ((((I64)x)<<bits)/(I64)y);

Trigonometri: Tabeller!

Nästa föreläsning

• 6DOF-tracking och 3D-interaktion• Augmented Reality

– Koncept– Trackingtekniker– Applikationer

• CMAR

Page 14: Innehåll Kamerabaserad interaktion Del 1 – 2Dwebstaff.itn.liu.se/~marka/TNMK24/Kamerabaserad_interakt...In Proceedings of the 2004 ACM SIGCHI international Conference on Advances

14

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.pervasive-interaction.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 RealityEnvironments, ACM Press, pp.1–10.

• Kälviäinen, H., Hirvonen, P., Xu, L. & Oja, E. [1995], Probabilisticand 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 KanadeFeature 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.