Fast Blur Removal for Wearable QR Code Scanners (supplemental material)

Similar documents
fast blur removal for wearable QR code scanners

Recent Advances in Image Deblurring. Seungyong Lee (Collaboration w/ Sunghyun Cho)

Admin Deblurring & Deconvolution Different types of blur

multiframe visual-inertial blur estimation and removal for unmodified smartphones

EE 435/535: Error Correcting Codes Project 1, Fall 2009: Extended Hamming Code. 1 Introduction. 2 Extended Hamming Code: Encoding. 1.

Deconvolution , , Computational Photography Fall 2017, Lecture 17

Total Variation Blind Deconvolution: The Devil is in the Details*

Deconvolution , , Computational Photography Fall 2018, Lecture 12

Spline wavelet based blind image recovery

Toward Non-stationary Blind Image Deblurring: Models and Techniques

Computational Photography Image Stabilization

A Novel Image Deblurring Method to Improve Iris Recognition Accuracy

Table of contents. Vision industrielle 2002/2003. Local and semi-local smoothing. Linear noise filtering: example. Convolution: introduction

Blind Single-Image Super Resolution Reconstruction with Defocus Blur

Restoration of Motion Blurred Document Images

Refocusing Phase Contrast Microscopy Images

Midterm Examination CS 534: Computational Photography

EE4830 Digital Image Processing Lecture 7. Image Restoration. March 19 th, 2007 Lexing Xie ee.columbia.edu>

Image Processing for feature extraction

Image Deblurring with Blurred/Noisy Image Pairs

Image Filtering. Median Filtering

Edge Width Estimation for Defocus Map from a Single Image

Super-resolution of Multispectral Images

Image Enhancement for Astronomical Scenes. Jacob Lucas The Boeing Company Brandoch Calef The Boeing Company Keith Knox Air Force Research Laboratory

Vision Review: Image Processing. Course web page:

Filtering. Image Enhancement Spatial and Frequency Based


Single Digital Image Multi-focusing Using Point to Point Blur Model Based Depth Estimation

A machine learning approach for non-blind image deconvolution

Exercise Problems: Information Theory and Coding

Digital Image Processing

Image Restoration. Lecture 7, March 23 rd, Lexing Xie. EE4830 Digital Image Processing

IMAGE TAMPERING DETECTION BY EXPOSING BLUR TYPE INCONSISTENCY. Khosro Bahrami and Alex C. Kot

CoE4TN4 Image Processing. Chapter 3: Intensity Transformation and Spatial Filtering

An Adaptive Kernel-Growing Median Filter for High Noise Images. Jacob Laurel. Birmingham, AL, USA. Birmingham, AL, USA

Deblurring. Basics, Problem definition and variants

Blind Deconvolution Algorithm based on Filter and PSF Estimation for Image Restoration

DEFOCUS BLUR PARAMETER ESTIMATION TECHNIQUE

Postprocessing of nonuniform MRI

Computational Cameras. Rahul Raguram COMP

Lecture 3: Linear Filters

Image Enhancement. DD2423 Image Analysis and Computer Vision. Computational Vision and Active Perception School of Computer Science and Communication

Image Deblurring. This chapter describes how to deblur an image using the toolbox deblurring functions.

Filters. Materials from Prof. Klaus Mueller

Demosaicing Algorithms

On the Recovery of Depth from a Single Defocused Image

Image Enhancement using Histogram Equalization and Spatial Filtering

An Efficient Approach of Segmentation and Blind Deconvolution in Image Restoration

Defocus Map Estimation from a Single Image

Improved motion invariant imaging with time varying shutter functions

Blurred Image Restoration Using Canny Edge Detection and Blind Deconvolution Algorithm

A Comprehensive Review on Image Restoration Techniques

BLIND DETECTION OF PSK SIGNALS. Yong Jin, Shuichi Ohno and Masayoshi Nakamoto. Received March 2011; revised July 2011

International Journal of Advancedd Research in Biology, Ecology, Science and Technology (IJARBEST)

Coding & Signal Processing for Holographic Data Storage. Vijayakumar Bhagavatula

Frequency Domain Enhancement

Enhancement. Degradation model H and noise must be known/predicted first before restoration. Noise model Degradation Model

Computational Approaches to Cameras

Enhanced Method for Image Restoration using Spatial Domain

Filtering in the spatial domain (Spatial Filtering)

30 lesions. 30 lesions. false positive fraction

Coded Aperture for Projector and Camera for Robust 3D measurement

A Recognition of License Plate Images from Fast Moving Vehicles Using Blur Kernel Estimation

Image Processing. Adam Finkelstein Princeton University COS 426, Spring 2019

Sampling and reconstruction

Restoration of Blurred Image Using Joint Statistical Modeling in a Space-Transform Domain

Localized Image Blur Removal through Non-Parametric Kernel Estimation

Blind Blur Estimation Using Low Rank Approximation of Cepstrum

Digital Image Processing

Cora Beatriz Pérez Ariza José Manuel Llamas Sánchez [IMAGE RESTORATION SOFTWARE.] Blind Image Deconvolution User Manual Version 1.

Chapter 3. Study and Analysis of Different Noise Reduction Filters

Image Pyramids. Sanja Fidler CSC420: Intro to Image Understanding 1 / 35

Image Enhancement (from Chapter 13) (V6)

Sampling and reconstruction

A Comparative Study and Analysis of Image Restoration Techniques Using Different Images Formats

Removing Camera Shake from a Single Photograph

Tracking Algorithms for Multipath-Aided Indoor Localization

Study guide for Graduate Computer Vision

Image Processing COS 426

Motion Blurred Image Restoration based on Super-resolution Method

Image Denoising using Dark Frames

ADAPTIVE ADDER-BASED STEPWISE LINEAR INTERPOLATION

Fast Non-blind Deconvolution via Regularized Residual Networks with Long/Short Skip-Connections

Supplementary Materials

Image Enhancement for Astronomical Scenes. Jacob Lucas The Boeing Company Brandoch Calef The Boeing Company Keith Knox Air Force Research Laboratory

Convolution Pyramids. Zeev Farbman, Raanan Fattal and Dani Lischinski SIGGRAPH Asia Conference (2011) Julian Steil. Prof. Dr.

Sampling and reconstruction. CS 4620 Lecture 13

Multimedia Systems Giorgio Leonardi A.A Lectures 14-16: Raster images processing and filters

Journal of mathematics and computer science 11 (2014),

A Comparative Study and Analysis of Image Restoration Techniques Using Different Images Formats

Images and Filters. EE/CSE 576 Linda Shapiro

Image Deblurring and Noise Reduction in Python TJHSST Senior Research Project Computer Systems Lab

CS 4501: Introduction to Computer Vision. Filtering and Edge Detection

Sharpness Metric Based on Line Local Binary Patterns and a Robust segmentation Algorithm for Defocus Blur

Recent advances in deblurring and image stabilization. Michal Šorel Academy of Sciences of the Czech Republic

You could identify a point on the graph of a function as (x,y) or (x, f(x)). You may have only one function value for each x number.

Coded Aperture Pairs for Depth from Defocus

Learning to Estimate and Remove Non-uniform Image Blur

4 STUDY OF DEBLURRING TECHNIQUES FOR RESTORED MOTION BLURRED IMAGES

Point Spread Function Engineering for Scene Recovery. Changyin Zhou

Transcription:

Fast Blur Removal for Wearable QR Code Scanners (supplemental material) Gábor Sörös, Stephan Semmler, Luc Humair, Otmar Hilliges Department of Computer Science ETH Zurich {gabor.soros otmar.hilliges}@inf.ethz.ch, {semmlers humairl}@student.ethz.ch DERIVATION OF THE ENERGY FUNCTION FOR BLIND DECONVOLUTION The uniform blur model is formulated as b = k l + n where the blurred image b is a result of convolving a sharp image l with a blur kernel k and adding Gaussian ise n. In blind deconvolution, we kw only the blurred image b and we try to recover the latent sharp image l. This also requires estimating the blur kernel k. The problem of finding both l and k can be formulated as minimizing the following energy function: arg min b k l 2 2 + λρ l (l) + γρ k (k) To derive this energy function, we first express the ise on a single pixel. In the equations, the index i runs over all image pixels from 1 to N. n i = b i (k l) i The probability distribution of a single pixel s additive ise is assumed to be Gaussian with zero mean and standard deviation σ: p(n i ) N(0, σ) = 1 exp( 1 2πσ 2σ 2 n2 i ) e 1 2σ 2 n2 i Assuming that the ise on each pixel is independent and identically distributed (i.i.d.), the probability of the image ise is the product of the pixel ise probabilities: p(n) N e 1 2σ 2 n2 i = e 1 2σ 2 N n2 i Now let us look at the probabilities of l and k. As Ba rule says, the posterior probability is proportional to the product of the likelihood and the prior: p(x y) = p(y x)p(x) p(y) p(y x)p(x) The term p(y) is a rmalization factor which does t play a role in the further minimization, as it will reduce to an additive constant after taking the logarithm. Introducing independent variables l and k hence results in p(l, k b) p(b l, k)p(l, k) = p(b l, k)p(l)p(k) The maximum a posteriori (MAP) estimates of the unkwns k and l are arg max p(l, k b) = arg min [ log p(l, k b)] = arg min [ log p(b l, k) log p(l) log p(k)] as maximizing the posterior probability is equivalent to minimizing its negative logarithm. Likelihood term The likelihood term follows from our blur model by expressing the ise term: p(b l, k) = p(n) e 1 N 2σ 2 n2 i N N log p(b l, k) C [n i ] 2 = C [b i (k l) i ] 2 b k l 2 2 with C containing all the constant terms and i indexing the pixels in the image. Image prior While the pixel values can be very different across images, the (log-)distribution of the image derivatives follows a common pattern (see Figure 1) in photographs. This property has been successfully exploited in the solutions of various image processing problems. This distribution is independent of the image scale and has a heavy tail which means while most gradients are around zero (flat image areas), some large gradients are also likely (edges). In particular, the distribution is t Gaussian. This is very unfortunate because a Gaussian prior would make the minimization problem very simple with a closed-form solution. Images restored with a Gaussian prior are often oversmoothed and/or contain ringing artifacts. Instead, the distribution is usually modeled by a Hyper- Laplacian function (see Figure 2) with an exponent α < 1, best values are α [0.5, 0.8]. Let us dete the x- and y-derivatives of the image l at pixel i as x l i and y l i, respectively. The prior p(l) can then be formulated as p(l) e 1 2η 2 N i xli α + yl i α

In general form: L L p(l) = Φ( l i ) = and after taking the logarithm: log p(l) = e φ( li) φ( l i ) The two most commonly used curves are the Gaussian prior: log p(l) = l i 2 = l 2 2 and the hyper-laplacian prior: log p(l) = l i α Other parametric curves are also used in the literature. In our algorithm, we apply the Laplacian prior (α = 1) because it matches well the black and white code images and fast solution methods exists for minimizing the energy function: ρ l (l) = l i 10 5 10 4 10 3 10 2 10 1 10 0 0 20 40 60 80 100 120 140 160 180 200 220 240 X Figure 1: A natural image prior: log-gradient histogram of an image. The shape of this curve can be approximated by various parametric models. f(x) 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Gaussian: X 2 Laplacian: X X 0.5 X 0.25 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 X Kernel prior In the simplest case the kernel prior p(k) is assumed uniform so it is igred. Earlier methods applied a sum-of-exponentials prior: For a single pixel k i of the kernel k the distribution is a sum of D exponential distributions: p(k i ) D w d ε λd (k) = d=1 = w 1 λ 1 e λ1k + w 2 λ 2 e λ2k + w 3 λ 3 e λ3k +... For the whole kernel then: K D p(k) w d ε λd (k) Its negative logarithm is: = k=1 log p(k) = k=1 d=1 k=1 log D w d ε λd (k) = d=1 log[w 1 λ 1 e λ1k +w 2 λ 2 e λ2k +w 3 λ 3 e λ3k +... ] Alternatively, a Gaussian gradient prior can be applied, this prior enforces connectedness. p(k) = log p(k) = C K k=1 e c( k)2 ( k) 2 = k 2 2 In most methods and also in our method, a Gaussian intensity prior is applied on the kernel, this prior enforces small values and avoids Dirac kernels. p(k) = log p(k) = K e k2 i ki 2 = k 2 2 ρ k (k) = k 2 2 = e K k2 i Also, k 1 = K k i = 1 is always necessary so that the blurring does t change the overall image intensity. Figure 2: Parametric models as natural image priors.

FIGURES OF THE PAPER IN HIGHER RESOLUTION Removing synthetic blur Figure 5: Top two rows: Removing synthetic blurs from images (0.1% synthetic ise). Bottom two rows: Removing synthetic blurs from images (also added 1% synthetic ise). The odd rows show the input images and ground truth kernels. The even rows show the output images and kernel estimates when first decoded. Kernel size indicates the scale level. The kernels are from the blur test set from Levin2009. binary runtime decoded A Input - B Cho2009 C++/GPU 0.481s C Xu2010 C++/GPU 0.955s D Sun2013 Matlab 217.730s E Xu2013 C++/GPU 1.049s F Pan2013 Matlab 133.8s G Perrone2014 Matlab 171.898s H Pan2014 Matlab (C++) 12.736s (9.691s) I Ours2015 C++ 1.765s (0.614s) Figure 6: Comparison of blind deconvolution algorithms on a synthetically blurred QR code. J Truth -

Removing real motion blur These figures show more examples from the 83 smartphone images restored by our algorithm (Figure 6 in the paper). Figure 7: Removing real motion blur from QR code images. The decoded content (ISWC2015 URL) is written in the top of the images. Figure 8: Further results of removing real motion blur from QR code images. Figure 9: Further results of removing real motion blur from QR code images.

ADDITIONAL EXPERIMENTS Initial kernel choice Figure 10: Illustration of image and kernel refinement over 8 iterations using a single peak or a grid of peaks as starting kernel. In this example, both initial kernels lead to a correct solution, but our grid kernel converges slower. However, the grid kernel is able to restore very large blurs that are otherwise unsuccessful with the peak kernel (see next figure). The grid example also illustrates how disconnected kernel ise gets removed during the process. The image is 300 300, the kernel is 33 33 pixels, the decoding took 0.719s and 3.107s, respectively. The blurry image was taken with a smartphone. Figure 11: Further examples illustrating image and kernel refinement using a single peak or a grid of peaks as starting kernel. In these examples, codes were t recognized using the peak initial kernel, but our grid kernel is successful in removing large blurs.

Defocus blur and upscaling blur So far, we have focused on decoding motion-blurred codes only, but the QR properties remain the same under other types for blur as well. In our future work, we will investigate the adaptations required in kernel regularization to allow different n-sparse shapes. Here, we briefly show promising preliminary results of our experiments in removing synthetic defocus blur and synthetic upscaling blur. Removing synthetic defocus blur In theory, it is possible to restore slightly defocused codes until the blur is smaller than the module size in the code. Figure 12 left shows a synthetically defocused example using a 178 178 image and a 33 33 Gaussian kernel with standard deviation 3. The image is successfully decoded in 0.318s, however, some gray artifacts are visible at dense black and white areas of the code. Note the Gaussian-shaped estimated kernel. Reading tiny codes Blind deconvolution is also an important step in super resolution algorithms where a downsampling filter needs to be estimated and inverted. The close connection in the mathematical models suggest that our algorithm might be suitable for super resolving tiny QR codes. We have performed a simulation to justify this (see Figure 12 right). In a photo editing software we downscaled a QR code with nearest neighbor interpolation so that one symbol corresponds to only one pixel, and upscaled it to 300 300 pixels (12 ) again, using bilinear interpolation. The upscaled code is blurry and t readable. Our algorithm is able to restore and read the code after only two iterations. Note the square shape of the estimated blur kernel in the bottom right corner. Figure 12: Left: removing synthetic defocus blur. Note the Gaussian-shaped estimated kernel. Right: Reconstructing a bilinearly 12x upscaled code. Note the square-shaped estimated kernel.