fast blur removal for wearable qr code scannersfftw –fast fourier transform zbar –open-source...

26
| | Gábor Sörös , Stephan Semmler, Luc Humair, Otmar Hilliges ISWC 2015, Osaka, Japan fast blur removal for wearable QR code scanners

Upload: others

Post on 21-Jan-2021

23 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

||

Gábor Sörös, Stephan Semmler, Luc Humair, Otmar Hilliges

ISWC 2015, Osaka, Japan

fast blur removal for

wearable QR code scanners

Page 2: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

||

ubiquitous smartphone/tablet/watch/glasses scanners

allow us to access information on every physical object

smartphones/tablets/watches/glasses

- are always with us

- have cameras, sensors, intuitive UI

- are easily programmable211.09.2015

traditional barcode scanning next generation barcode scanning

Page 3: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

||

Quick Response (QR) codes

are found in numerous applications

ticketing, shopping, logistics, etc.

encode more information than barcodes

have stronger error correction than barcodes

wearable scanner SDKs are available for free

3

scanning QR codes with wearable devices

11.09.2015

Page 4: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

|| 4

scanning QR codes with wearable devices

11.09.2015

motion blur makes the codes unreadable

our goal: recover the information from motion-blurred QR codes

[email protected]

our input our output

Page 5: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

|| 5

basics of blurry image formation

11.09.2015

convolution with a

blur kernel 𝒌adding camera

noise 𝒏

uniform blur model

sharp scene

𝑰blurry scene

𝑰 ∗ 𝒌observed image

𝑩 = 𝑰 ∗ 𝒌 + 𝒏

Page 6: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

|| 6

blur removal problem

11.09.2015

=

deconvolution:

𝑩 = ? ∗ 𝒌 + 𝒏blind deconvolution:

𝑩 = ? ∗ ?+ 𝒏

figure inspired by Robert Fergus

∗a motion blur

kernel

∗identity (Dirac)

kernel

∗a defocus blur

kernel

Page 7: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

|| 7

blind deconvolution for QR scanning?

11.09.2015

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 8: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

||

blur can be estimated from the many QR edges

but we need to suppress the small structures [Xu2010]

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

8

observations for deblurring QR codes

11.09.2015

Page 9: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

|| 9

restoration-recognition loop

11.09.2015

we follow a common recipe for blind deconvolution [Cho2009]

alternate between solving for I and solving for k

suppress noise and boost edges

enforce QR properties

try to decode at every iteration

argmin𝐼,𝑘

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

I QR

I’k

blind deconvolution via energy minimization

Page 10: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

|| 10

fast image estimation

11.09.2015

algorithm of Krishnan and Fergus [Krishnan2009]

with α = 1 the solution is particularly simple [Wang2008]

solution via FFTs and pixel-wise thresholding equations

further details omitted

fast and good quality (compared to others)

argmin𝐼

𝐵 − 𝑘 ∗ 𝐼 22+ λ𝐼 ∥ 𝛻𝐼 ∥

α

prior on gradients

given B and k, estimate I

Page 11: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

||

the restored I is often imperfect (contains ringing and noise)

and cannot be used directly to estimate k

use image filters to suppress noise and boost edges [Cho2009]

in our work: Joint Weighted Median Filter [Zhang2014]

significantly faster while similar quality on black & white images

11

fast edge-aware filtering

11.09.2015

Bilateral filter

Suppress noise and small details

Shock filter

Restore strong edges

image from

[Cho2009]

Page 12: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

||

in image gradient domain

not using pixel values simplifies the equations [Cho2009]

solve via conjugate gradients and FFTs

shift to geometrical center

discard small disconnected parts

repeat over multiple image scales

aids the convergence to the correct kernel

12

fast kernel estimation

11.09.2015

argmin𝑘

𝛻𝐵 − 𝑘 ∗ 𝛻𝐼 22 + λ𝑘 ∥ 𝑘 ∥ 2

2

given B and I, estimate k

prior on kernel

image and kernel size

Page 13: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

||

peak (Dirac) kernel

usual choice

faster

grid kernel

helps with large blur, but converges slower in general

(use motion sensors to decide which one is better)

13

fast kernel estimation

11.09.2015

initialization

Page 14: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

||

we iterate on each scale for refinement

we iterate over multiple scales for better convergence

we use a conventional open-source QR decoder

14

restoration-recognition loop

11.09.2015

Page 15: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

||

OpenCV – cross-platform image processing in C++

FFTW – fast Fourier transform

ZBar – open-source decoder

Android recorder application720x480 preview frames

300x300 search window (~uniform blur)

camera response function (CRF) must be linear

experiments on

Lenovo T440p laptop

Motorola Nexus 6 smartphone

Google Glass smartglasses

15

implementation

11.09.2015

Page 16: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

|| 16

experiments (synthetic blur)

11.09.2015

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 17: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

|| 1711.09.2015

experiments (real blur)

340 images, improvement from 63% to 88%

Page 18: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

|| 1811.09.2015

experiments (real blur)

340 images, improvement from 63% to 88%

a negative example… rotation

Page 19: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

|| 19

experiments (real blur)

11.09.2015

1.69s 2.82s

18.62s 12.52s14.65s

14.37s

Page 20: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

|| 20

a challenging example

11.09.2015Nexus 6 screen capture

Page 21: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

||

uniform blur QR error correction helps with slightly non-uniform blur

camera response function online calibration possible?

speed: still not real time calculate FFT on mobile GPU

run in parallel with decoding other frames

21

limitations

11.09.2015

Page 22: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

||

use inertial sensors to estimate camera motion requires precise camera-IMU synchronization

need to know the camera - code distance

use multiple images from the camera stream requires blurry image alignment

other types of blur (defocus blur, upscaling blur)

requires different kernel priors

22

future work

11.09.2015

Page 23: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

||

We presented a robust blur removal algorithm for

QR code images captured by wearable scanners

bringing image deblurring to wearables

exploiting QR code properties

introducing new initialization scheme for large blur

PC and Android implementations

We showed promising restoration results and proposed

future directions for research.

23

summary

11.09.2015

Page 24: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

||

thank you

11.09.2015 24

Page 25: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

||

[Joshi2008] N. Joshi, R. Szeliski, D. Kriegman – PSF estimation using sharp edge prediction, CVPR,

2008

[Cho2009] S. Cho, S. Lee – Fast motion deblurring, SIGGRAPH Asia, 2009

[Krishnan2009] D. Krishnan, R. Fergus – Fast image deconvolution using hyper-Laplacian priors,

NIPS, 2009

[Tai2013] Y.-W. Tai, X. Chen, S. Kim, S. J. Kim, F. Li, J. Yang, J. Yu, Y. Matsushita, M. Brown – Nonlinear

camera response functions and image deblurring: Theoretical analysis and practice, PAMI, 2013

[Sun2013] L. Sun, S. Cho, J. Wang, J. Hays – Edge-based blur kernel estimation using patch priors,

ICCP, 2013

[Pan2013] J. Pan, R. Liu, Z. Su, X. Gu – Kernel estimation from salien structure for robust motion

deblurring, Signal Processing: Image Communication, 28, 9, 2013

[Pan2014] J. Pan, Z. Hu, Z. Su, M.-H. Yang – Deblurring text images via L0-regularized intensity and

gradient prior, CVPR, 2014

[Perrone2014] D. Perrone, P. Favaro – Total variation blind deconvolution: the devil is in the details,

CVPR, 2014

[Xu2010] L. Xu, J. Jia – Two-phase kernel estimation for robust motion deblurring, ECCV, 2010

[Xu2013] L. Xu, S. Zheng, J. Jia – Unnatural L0 sparse representation for natural image deblurring,

CVPR, 2013

[Zhang2014] Q. Zhang, L. Xu, J. Jia – 100+ times faster weighted median filter (WMF), CVPR, 2014

25

references

11.09.2015

Page 26: fast blur removal for wearable QR code scannersFFTW –fast Fourier transform ZBar –open-source decoder Android recorder application 720x480 preview frames 300x300 search window

||

Reuters - Days numbered for barcodes as shoppers demand more datahttp://www.reuters.com/article/2015/08/28/us-retail-consumers-barcodes-insight-idUSKCN0QX0FD20150828

http://i.ytimg.com/vi/30Pjl31cyDY/maxresdefault.jpg

http://static1.1.sqspcdn.com/static/f/458611/17438941/1333367246603/qr-code-shopping-scan-item-and-

buy.jpg

http://www.ubimax.de/media/k2/items/cache/7f2cd38b7681e6e2ef83b5a7a5385264_L.jpg

OpenCV – www.opencv.org

FFTW – www.fftw.org

ZBar – www.github.com/zbar

26

image sources and links

11.09.2015