wearable barcode scanning - eth z · make wearable barcode scanning an attractive ... [nespresso...

45
Wearable barcode scanning Advancements in code localization, motion blur compensation, and gesture control Doctoral examination ETH Zurich May 3, 2016 Gábor Sörös

Upload: others

Post on 08-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

Wearable barcode scanningAdvancements in code localization, motion blur

compensation, and gesture control

Doctoral examinationETH Zurich

May 3, 2016

Gábor Sörös

Page 2: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

2

Linking the physical and the digital

01011101010

11010110100

01001011010

11001110001

atoms

bits

dataservices

objects

Page 3: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

3

Visual codes are everywhere

Page 4: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

Ubiquitous wearable scanners allow us to access

information on every physical object

4

Wearable barcode scanning

Smartphones, tablets, watches, glasses

are always with us

have cameras, sensors, intuitive UI

are easily programmable

wearable barcode scanningtraditional barcode scanning

Barcode scanners

are expensive

are used by only few people

use proprietary protocols

Page 5: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

5

Challenges

no laser for localization

(multiple) small codes

defocus and motion blur

limited input capabilities

Page 6: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

Make wearable barcode scanning an attractive

alternative of traditional laser scanning

by compensating the shortcomings,

and adding new features

by leveraging the advanced computing and sensing

capabilities of the wearables

6

Research goals

Page 7: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

7

Contributions

Fast and robust

localization

of visual tags

MUM’13, ICASSP’14

Part I

Fast and robust

blur compensation

for scanners

WSCG’15, ISWC’15

Part II

Fast and robust

gesture control

for wearables

BSN’14, UIST’14, CHI’15

Part III

Page 8: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

8

Fast and robust code localization

goals: invariant to size, orientation, blur, symbology

Page 9: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

1D barcodes contain lots of edges

blur deletes many of them

2D barcodes contain lots of corners

blur smears corners but they still remain corners

codes are almost always black and white

blur mixes black and white to gray

detect areas with edges and/or corners &

low saturation in HSV color space

9

Observations

Page 10: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

10

Joint 1D and 2D barcode localization for smartphones

1D

2D

Page 11: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

11

Live localization on the mobile GPU

Page 12: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

smartglasses

12

Results

Our method

can localize visual codes of various symbologies

with performance like the state of the art

without assumptions on code size, code orientation, or code position,

while it is more robust to blur

is portable to GPU and a wide range of devices

blurrysmallbig tilted

Page 13: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

13

Multiple codes

sharp

2D works well in both cases1D sensitive to blur

blurry

Page 14: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

14

Extension to blurry 1D codes

Low S1 and S2

Rectangle

detection in

the saturation

channel

Page 15: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

15

Fast and robust code localization allows:

scanning multiple codes simultaneously

scanning visual codes from further away

scanning blurry codes in the whole image

Page 16: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

16

Contributions

Fast and robust

localization

of visual tags

MUM’13, ICASSP’14

Part I

Fast and robust

blur compensation

for scanners

WSCG’15, ISWC’15

Part II

Fast and robust

gesture control

for wearables

BSN’14, UIST’14, CHI’15

Part III

Page 17: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

17

motion blur makes the codes unreadable

Motion blur compensation

we recover the information from motion-blurred QR codes

[email protected]

our input our output

Page 18: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

18

Basics of blurry image formationuniform blur model

sharp scene

𝑰blurry scene

𝑰 ∗ 𝒌observed image

𝑩 = 𝑰 ∗ 𝒌 + 𝒏

convolution with a

blur kernel 𝒌adding camera

noise 𝒏

Page 19: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

19

Blur removal problem

=

deconvolution:

𝑩 = ? ∗ 𝒌 + 𝒏blind deconvolution:

𝑩 = ? ∗ ?+ 𝒏

∗a motion blur

kernel

∗identity (Dirac)

kernel

∗a defocus blur

kernel

Page 20: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

20

Blind deconvolution for QR scanning?

Existing blind deconvolution algorithms

are slow even on PC

are tuned to natural images

usually fail on QR codes (structure very different!)

outputs of some previous methodsinput

Page 21: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

blur can be estimated from the many QR edges

but we need to suppress the small structures

QR codes do not need to look good for decoding

in contrast to photographs, where restoration quality counts,

our main concern is speed

QR codes include error correction / checksum

the algorithm can stop when the checksum is correct

false decoding is practically impossible

only partially restored codes might be decoded too

21

Observations for deblurring QR codes

Page 22: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

22

Restoration-recognition loop

We follow a common recipe for blind deconvolution:

alternate between solving for I and solving for k

suppress noise and boost edges: enforce QR properties

try to decode at every iteration

repeat on several scales

argmin𝐼,𝑘

𝐵 − 𝑘 ∗ 𝐼 + λ𝐼𝑝𝐼 𝐼 + λ𝑘𝑝𝑘(𝑘)

I QR

I’k

Blind deconvolution via energy minimization

B

Page 23: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

23

experiments (synthetic blur)

quality is on par with the state of the art, and a magnitude faster

[Cho2009]0.48s

[Sun2013]217.73s

[Xu2010]0.96s

[Xu2013]1.05s (GPU)

input

[Perrone2014]171.90s

[Pan2014]12.74s

ours0.61s

ground truth[Pan2013]133.8s

Page 24: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

24

experiments (real blur)

1.69s 2.82s

18.62s 12.52s14.65s

14.37s

Page 25: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

25

Live deblurring on a smartphone

input

estimated

image

estimated

kernel

camera view

search window

Page 26: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

additional clues: the blur is ’encoded’ in the image of point light sources

wearables have inertial sensors

rotational motion blur is dominant – use gyroscopes

reconstruct the camera motion, render the blur kernel

26

Can we make it even faster?

virtual point

light source

virtual

camera

Page 27: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

27

Rendering blur kernels for initialization

captured frame generated kernels deblurred frame

Rotational blur depends on the

position in the image

Page 28: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

28

Patch-wise restoration

We can initialize the restoration loop with the rendered kernels

Page 29: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

Fast and robust blur

removal allows:

scanning in low lighting

scanning moving codes

and tiny or distant codes

(super resolution)

29

Page 30: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

30

Contributions

Fast and robust

localization

of visual tags

MUM’13, ICASSP’14

Part I

Fast and robust

blur compensation

for scanners

WSCG’15, ISWC’15

Part II

Fast and robust

gesture control

for wearables

BSN’14, UIST’14, CHI’15

Part III

Page 31: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

31

Codes for interaction with smart objects

[Rohs 2005]

[Heun 2013a]

[Ballagas 2006]

[Heun 2013b][Mayer 2012]

[Chan 2015][Mayer 2014]

Page 32: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

32

Outsourcing user interfaces

[fitbit activity tracker]

The smartphone is becoming a

universal interaction device.

[LIFX light bulb]

[Nespresso coffee machine] volume

How about other wearables?

[Wahoo cycling sensor]

Page 33: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

33

Joint work with Simon Mayer

cross-device automatic GUI generation: user interface beaming

Outsourcing user interfaces

Page 34: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

34

Gesture recognition on wearables

Joint work with Jie Song, Fabrizio Pece, Otmar Hilliges

Page 35: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

35

Live gesture recognition on mobile devices

Page 36: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

input segmentation labeled output

Gesture classification as pixel labeling

36

Page 37: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

...

F0< Г0

> Г0

F1 F2

F3 F4 F5 F6

< Г2< Г1> Г1 > Г2

vw

v

w

...

F0(w,v):

F2(w,v):

Pixel labeling with a decision tree

37

Page 38: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

1. pooling over trees:

this pixel is ’red’

T1

T2

T3

2. pooling over all pixels:

this gesture is ’red’

Pixel labeling with a decision forest

38

Page 39: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

close

middle

far

Coarse

Depth

ClassificationShape

Classification

pinch

point

splayed

palm

Part

Classification

Pixel labeling with multi-stage decision forests

39

Page 40: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

close

middle

far

Coarse

Depth

ClassificationShape

Classification

pinch

point

splayed

palm

Enabling 3D interaction

40

Depth

Regression

145 mm

323 mm

211 mm

282 mm

Page 41: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

41

Gestures + depth for 3D interaction

Page 42: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

42

Fast and robust gesture recognition allows:

natural input to wearables

easy control for scanners

universal interaction with smart objects

(through user interface outsourcing)

Page 43: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

In the world of binary images, generally very difficult

computer vision problems like …

… can have fast and robust solutions even on

resource-constrained wearable devices.

43

Conclusions

object segmentation image restoration shape classification

Page 44: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

Our solutions

are pushing forward the state of the art in terms of

accuracy, robustness, and speed

can help to make wearable barcode scanning a

promising alternative to traditional barcode scanning

will potentially make wearables the essential tools for

bridging the gap between the physical and the digital

world.

44

Conclusions

Page 45: Wearable barcode scanning - ETH Z · Make wearable barcode scanning an attractive ... [Nespresso coffee machine] volume How about other wearables? [Wahoo cycling sensor] 33 ... 43

45

Thank you!