20
Promotor: dr hab. inż. Jakub Barbasz Michał Sznajder

Human-computer interaction hand movement recognition using inertial sensors

Embed Size (px)

DESCRIPTION

Final presentation of my Master's thesis project and results of conducted research. Temporarily presentation only in Polish. Human-computer interfaces are the key factor in our everyday use of modern consumer electronics and computers. Nowadays innovative physical interfaces change the way of using and thinking about electronic devices and make them more natural and direct by using movement. Human movement recognition offers interesting alternative for current mainstream standard in human computer-interaction model. However inertial sensors are more and more popular in consumer electronics one can think that their understanding is not completely following this popularity. In this paper two main aims were presented. First aim was to try whether it is possible to build modern and functional physical human-computer interface using only three inertial sensors: accelerometer, gyroscope and magnetometer. This aim is supposed to present real strengths and weaknesses of that technology and verify whether it is possible or not and what kind of information is possible to achieve. Second aim of the study is to create in a clear and systematic way a system architecture, which could, while universal in its structure, be used as a tool or framework in order to build many different kinds of physical human-computer interfaces based on three inertial sensors. In the study three different physical human-computer interfaces were designed using accelerometer, gyroscope and magnetometer. The first interface type is gyroscopic mouse allowing user to control the device with tilting a hand. Controlled device reacts on every angle change and pauses in movement. Second type of created interface is accelerometer tilt mouse. In this kind of interface controller device also reacts on hand tilt but using changes in Earth gravity direction so it is not reacting directly to changes in tilt angle and it is not reacting on pauses in hand movement. Third type is mouse based on sensor fusion mechanism incorporating signals from all three sensors. As a study reference point touchpad interface was also created. In order to fully verify created prototypes functionality more thorough usability test were conducted. Results of conducted interfaces tests were presented. In the project both aims were achieved. First of all, the question whether building functional interfaces using only accelerometer, gyroscope and magnetometer is possible, was answered. The answer was strongly positive what was proved by usability and functional tests conducted on implemented prototype interfaces. It is possible to create effective and interesting physical human-computer interfaces using those three inertial sensors. Secondly, according to specified methodology, step by step, movement analysis system based on data coming from accelerometer, gyroscope and magnetometer was created. Its functioning was tested both on level of individual system modules and on level of whole system.

Citation preview

Page 1: Human-computer interaction hand movement recognition using inertial sensors

Promotor: dr hab. inż. Jakub Barbasz

Michał Sznajder

Page 2: Human-computer interaction hand movement recognition using inertial sensors

Interfejs człowiek-komputer stanowi kluczowy element w codziennym użytku nowoczesnych urządzeń elektronicznych i komputerów.

Page 3: Human-computer interaction hand movement recognition using inertial sensors

Sprawdzenie czy w oparciu o akcelerometr, żyroskop i magnetometr możliwe jest zbudowanie nowoczesnego i funkcjonalnego fizycznego interfejsu człowiek-komputer.

Opracowanie architektury systemu, który mógłby służyć do budowy wielu różnych rodzajów interfejsów fizycznych opierających się o przedstawiony zestaw sensorów fizycznych.

Page 4: Human-computer interaction hand movement recognition using inertial sensors

Tilt mouse Gyro mouse

Sensor fusion

mouse Touchpad

Page 5: Human-computer interaction hand movement recognition using inertial sensors

Tilt mouse Gyro mouse

Page 6: Human-computer interaction hand movement recognition using inertial sensors

Sensor fusion mouse

Page 7: Human-computer interaction hand movement recognition using inertial sensors
Page 8: Human-computer interaction hand movement recognition using inertial sensors

Akcelerometr + Żyroskop + Magnetometr

Rezultat: dobrej jakości informacja o orientacji

Page 9: Human-computer interaction hand movement recognition using inertial sensors

-10

-5

0

5

10

15

159 11

717

52

332

91

349

40

74

65

523

581

639

69

775

58

13 871

92

99

87

104

511

03

116

112

1912

7713

3513

93

1451

150

915

67

162

516

83

174

117

99

1857

1915

1973

20

312

08

92

147

22

05

22

63

232

12

379

24

372

49

52

553

26

112

66

92

727

Prz

ysp

iesz

en

ie [

m/s

2 ]

Numer kolejnej próbki

Sygnał akcelerometru podczas ruchu

x y z

Page 10: Human-computer interaction hand movement recognition using inertial sensors

-4

-2

0

2

4

6

8

10

12

1

59 117

175

233

29

1

349

40

7

46

5

523

581

639

69

7

755

813 871

92

9

98

710

45

110

3

116

1

1219

1277

1335

139

3

1451

150

9

156

716

25

168

317

41

179

9

1857

1915

1973

20

31

20

89

214

7

22

05

22

63

232

1

237

9

24

37

24

95

255

3

26

11

26

69

272

7

Prz

ysp

iesz

en

ie [

m/s

2 ]

Numer kolejnej próbki

Komponent grawitacyjny sygnału akcelerometru

x y z

Page 11: Human-computer interaction hand movement recognition using inertial sensors

-15

-10

-5

0

5

10

15

159 11

717

52

332

91

349

40

74

65

523

581

639

69

775

58

13 871

92

99

87

104

511

03

116

112

1912

7713

3513

93

1451

150

915

67

162

516

83

174

117

99

1857

1915

1973

20

312

08

92

147

22

05

22

63

232

12

379

24

372

49

52

553

26

112

66

92

727

Prz

ysp

iesz

en

ie [

m/s

2 ]

Numer kolejnej próbki

Komponent przyspieszenia liniowego sygnału akcelerometru

x y z

Page 12: Human-computer interaction hand movement recognition using inertial sensors

-15

-10

-5

0

5

10

15

1 5310

515

72

09

26

131

336

54

174

69

521

573

62

56

7772

978

18

338

85

937

98

910

41

109

311

45

119

712

49

130

113

5314

05

1457

150

915

61

1613

166

517

1717

69

182

118

7319

25

1977

20

29

20

81

213

32

185

22

372

28

92

341

239

32

44

5

Prz

ysp

iesz

en

ie [

m/s

2 ]

Numer kolejnej próbki

Komponent przyspieszenia liniowego systemu Android

x y z

Page 13: Human-computer interaction hand movement recognition using inertial sensors

-0,4

-0,3

-0,2

-0,1

0

0,1

0,2

1

12 23

34 45

56 67

78 89

100

111

122

133

144

155

166

177

188

199

210

Prz

ysp

iesz

en

ie [

m/s

2 ]

Numer kolejnej próbki

Przyspieszenie liniowe

x y

-70

-60

-50

-40

-30

-20

-10

0

10

20

1 11 21 31 41 51 61 71 81

91

101

111

121

131

141

151

161

171

181

191

20

1

211

Prę

dk

ok

ość

[m

/s]

Numer kolejnej próbki

Prędkość

x y

-10000

-8000

-6000

-4000

-2000

0

2000

1 11 21 31 41 51 61 71 81

91

101

111

121

131

141

151

161

171

181

191

20

1

211

Po

łoże

nie

[m

]

Numer kolejnej próbki

Położenie

x y

Page 14: Human-computer interaction hand movement recognition using inertial sensors

-8

-6

-4

-2

0

2

4

6

8

1 6 11 16 21

26 31 36 41

46 51 56 61

66 71 76 81

86 91

96

Prz

ysp

iesz

en

ie [

m/s

2 ]

Numer kolejnej próbki

Przyspieszenie liniowe

x y

-0,8

-0,6

-0,4

-0,2

0

0,2

0,4

0,6

1 6 11 16 21

26 31 36 41

46 51 56 61

66 71 76 81

86 91

96

Prę

dk

ość

[m

/s]

Numer kolejnej próbki

Prędkość

x y

-0,04

-0,02

0

0,02

0,04

0,06

0,08

0,1

0,12

1 7 13 19 25 31 37 43

49 55 61

67 73 79 85 91

97

Po

łoże

nie

[m

]

Numer kolejnej próbki

Położenie

x y

Page 15: Human-computer interaction hand movement recognition using inertial sensors

Testy indywidualnych modułów systemu

Testy użyteczności prototypowych interfejsów:

Wprowadzanie tekstu za pomocą klawiatury ekranowej

Pomiar dwóch parametrów: skuteczności użycia danego interfejsu oraz szybkości uczenia się jego obsługi

Page 16: Human-computer interaction hand movement recognition using inertial sensors

Numer

próby

Tilt mouse

Gyro mouse

SF mouse Mobile touchpad Computer touchpad

Czas

[s]

Znaków na

sekundę

Czas

[s]

Znaków na

sekundę

Czas

[s]

Znaków na

sekundę

Czas

[s]

Znaków na

sekundę

Czas

[s]

Znaków na

sekundę

1 252 0,67 335 0,50 496 0,34 214 0,79 153 1,09

2 193 0,87 279 0,60 355 0,47 205 0,82 163 1,03

3 170 0,99 216 0,78 331 0,62 177 0,95 148 1,14

4 151 1,11 193 0,87 215 0,78 164 1,02 152 1,1

5 146 1,15 176 0,95 188 0,89 150 1,12 143 1,17

6 143 1,17 158 1,06 164 1,02 146 1,15 137 1,22

Średnia 175,83 0,99 226,17 0,79 291,50 0,69 176 0,98 149,33 1,13

Page 17: Human-computer interaction hand movement recognition using inertial sensors

0

0,2

0,4

0,6

0,8

1

1,2

1,4

1 2 3 4 5 6

Szy

bk

ość

[zn

ak

i/s]

Numer kolejnej próby wprowadzania

Szybkość wprowadzania tekstu

Tilt mouse

Gyro mouse

SF mouse

Mobile touchpad

Standard touchpad

Page 18: Human-computer interaction hand movement recognition using inertial sensors

W toku niniejszych badań zrealizowano oba postawione cele: Udzielono pozytywnej odpowiedzi w kwestii

możliwości zbudowania funkcjonalnego interfejsu w oparciu o założony zestaw sensorów.

Zrealizowano zgodnie z przyjętą metodologią, krok po kroku, system analizy ruchu działający w oparciu o dane z akcelerometru, żyroskopu i magnetometru.

Page 19: Human-computer interaction hand movement recognition using inertial sensors

Dodatkowo: W ramach niniejszej pracy powstały cztery w pełni funkcjonalne

interfejsy człowiek-komputer. Uzyskano bogaty i relatywnie dokładny (biorąc pod uwagę

wykorzystanie konsumenckiego sprzętu pomiarowego) opis ruchu dłoni.

Stworzono efektywny mechanizm filtracji sygnału. Rozwinięto mechanizm sensor fusion w celu uzyskania dobrej

jakości informacji o orientacji (rezultaty lepsze niż uzyskiwane przez mechanizmy zaimplementowane w systemie Android).

Page 20: Human-computer interaction hand movement recognition using inertial sensors

Możliwe zastosowania: Kontrolery gier

Techniki augmented reality

Interfejsy użytkownika

Stabilizacja obrazu

Urządzenia medyczne i kontrolery dla osób

niepełnosprawnych (usuwanie i filtracja drgań)