Image Interpolation. Image Processing

Similar documents
CS6670: Computer Vision Noah Snavely. Administrivia. Administrivia. Reading. Last time: Convolution. Last time: Cross correlation 9/8/2009

Image Scaling. This image is too big to fit on the screen. How can we reduce it? How to generate a halfsized

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

Filtering. Image Enhancement Spatial and Frequency Based

Sampling and Pyramids

Image Sampling. Moire patterns. - Source: F. Durand

Announcements. Image Processing. What s an image? Images as functions. Image processing. What s a digital image?

ECE 484 Digital Image Processing Lec 09 - Image Resampling

Last Lecture. photomatix.com

Last Lecture. photomatix.com

Image Filtering and Gaussian Pyramids

Filters. Materials from Prof. Klaus Mueller

Image Acquisition, Display, and Perception

Sampling and Reconstruction

Next Classes. Spatial frequency Fourier transform and frequency domain. Reminder: Textbook. Frequency view of filtering Hybrid images Sampling

Sampling and reconstruction. CS 4620 Lecture 13

Images and Filters. EE/CSE 576 Linda Shapiro

Thinking in Frequency

Sampling and reconstruction

06: Thinking in Frequencies. CS 5840: Computer Vision Instructor: Jonathan Ventura

Sampling and reconstruction

!"!#"#$% Lecture 2: Media Creation. Some materials taken from Prof. Yao Wang s slides RECAP

Sampling of Continuous-Time Signals. Reference chapter 4 in Oppenheim and Schafer.

CSCI 1290: Comp Photo

CS4495/6495 Introduction to Computer Vision. 2C-L3 Aliasing

Sampling Theory. CS5625 Lecture Steve Marschner. Cornell CS5625 Spring 2016 Lecture 7

Thinking in Frequency

Matlab (see Homework 1: Intro to Matlab) Linear Filters (Reading: 7.1, ) Correlation. Convolution. Linear Filtering (warm-up slide) R ij

Texture mapping from 0 to infinity

Antialiasing and Related Issues

Image Processing. Image Processing. What is an Image? Image Resolution. Overview. Sources of Error. Filtering Blur Detect edges

Sampling and Reconstruction

Aliasing and Antialiasing. What is Aliasing? What is Aliasing? What is Aliasing?

Image Processing (EA C443)

02/02/10. Image Filtering. Computer Vision CS 543 / ECE 549 University of Illinois. Derek Hoiem

ECC419 IMAGE PROCESSING

Demosaicing Algorithm for Color Filter Arrays Based on SVMs

Lecture Schedule: Week Date Lecture Title

image Scanner, digital camera, media, brushes,

Vision Review: Image Processing. Course web page:

Prof. Feng Liu. Fall /04/2018

Comparative Study of Different Wavelet Based Interpolation Techniques

Computer Graphics (Fall 2011) Outline. CS 184 Guest Lecture: Sampling and Reconstruction Ravi Ramamoorthi

Sampling and pixels. CS 178, Spring Marc Levoy Computer Science Department Stanford University. Begun 4/23, finished 4/25.

Image representation, sampling and quantization

Fourier analysis of images

Image and Video Processing

Sampling and Reconstruction

Overview. Neighborhood Filters. Dithering

Image Restoration and Super- Resolution

ECE 484 Digital Image Processing Lec 10 - Image Restoration I

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

Efficient Construction of SIFT Multi-Scale Image Pyramids for Embedded Robot Vision

PRACTICAL IMAGE AND VIDEO PROCESSING USING MATLAB

DIGITAL IMAGE PROCESSING

Image Filtering in Spatial domain. Computer Vision Jia-Bin Huang, Virginia Tech

קורס גרפיקה ממוחשבת 2008 סמסטר ב' Image Processing 1 חלק מהשקפים מעובדים משקפים של פרדו דוראנד, טומס פנקהאוסר ודניאל כהן-אור

Lecture 2: Digital Image Fundamentals -- Sampling & Quantization

Dr. J. J.Magdum College. ABSTRACT- Keywords- 1. INTRODUCTION-

Color filter arrays revisited - Evaluation of Bayer pattern interpolation for industrial applications

Spatial Analyst is an extension in ArcGIS specially designed for working with raster data.

COLOR DEMOSAICING USING MULTI-FRAME SUPER-RESOLUTION

Digital Media. Lecture 4: Bitmapped images: Compression & Convolution Georgia Gwinnett College School of Science and Technology Dr.

SUPER RESOLUTION INTRODUCTION

Demosaicing Algorithms

IMAGE RESTORATION WITH NEURAL NETWORKS. Orazio Gallo Work with Hang Zhao, Iuri Frosio, Jan Kautz

To Do. Advanced Computer Graphics. Image Compositing. Digital Image Compositing. Outline. Blue Screen Matting

Image Processing. What is an image? קורס גרפיקה ממוחשבת 2008 סמסטר ב' Converting to digital form. Sampling and Reconstruction.

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

Sampling and Reconstruction

Image features: Histograms, Aliasing, Filters, Orientation and HOG. D.A. Forsyth

MULTIMEDIA SYSTEMS

IMAGE PROCESSING: AREA OPERATIONS (FILTERING)

CSC 320 H1S CSC320 Exam Study Guide (Last updated: April 2, 2015) Winter 2015

Computing for Engineers in Python

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

Analysis on Color Filter Array Image Compression Methods

A Novel Method for Enhancing Satellite & Land Survey Images Using Color Filter Array Interpolation Technique (CFA)

MULTIMEDIA SYSTEMS

Chapter 3 Digital Image Processing CS 3570

Forensic Framework. Attributing and Authenticating Evidence. Forensic Framework. Attribution. Forensic source identification

CS448f: Image Processing For Photography and Vision. Fast Filtering Continued

Double resolution from a set of aliased images

Denoising and Demosaicking of Color Images

Panoramic Image Mosaics

Image Forgery. Forgery Detection Using Wavelets

Digital Cameras The Imaging Capture Path

Smart Interpolation by Anisotropic Diffusion

Motion illusion, rotating snakes

Lecture 29: Image Sensors. Computer Graphics and Imaging UC Berkeley CS184/284A

Midterm is on Thursday!

Sampling and Reconstruction. Today: Color Theory. Color Theory COMP575

Antialiasing & Compositing

Image Enhancement using Histogram Equalization and Spatial Filtering

Lecture Notes 11 Introduction to Color Imaging

What will be on the midterm?

XXXX - ANTI-ALIASING AND RESAMPLING 1 N/08/08

! Multi-Rate Filter Banks (con t) ! Data Converters. " Anti-aliasing " ADC. " Practical DAC. ! Noise Shaping

Templates and Image Pyramids

Cvision 2. António J. R. Neves João Paulo Silva Cunha. Bernardo Cunha. IEETA / Universidade de Aveiro

Transcription:

Image Interpolation Image Processing Brent M. Dingle, Ph.D. 2015 Game Design and Development Program Mathematics, Statistics and Computer Science University of Wisconsin - Stout public domain image from wikipedia

Lecture Objectives Previously What a Digital Image is Acquisition of Digital Images Human Perception of Digital Images Digital Representation of Images Various HTML5 and JavaScript Code Pixel manipulation Image Loading Filtering Today Image Interpolation Sub-Sampling Aliasing Gaussian Blur Fix Up-Sampling Interpolation Examples of Using Interpolation

Lecture Objectives Previously What a Digital Image is Acquisition of Digital Images Human Perception of Digital Images Digital Representation of Images Various HTML5 and JavaScript Code Pixel manipulation Image Loading Filtering Today Image Interpolation Sub-Sampling Aliasing Pre-Filtering Up-Sampling Interpolation Examples of Using Interpolation

Image Scaling This image is too big to fit on the screen. How can we generate a half-sized version? Slide from: Noah Snavely, 2012, Cornell Source: S. Seitz

Image sub-sampling Why do these reduced sizes look bad? scaled to ½ size scaled to ¼ size (2x zoom) scaled to 1/8 size (4x zoom) Slide from: Noah Snavely, 2012, Cornell Source: S. Seitz

Image sub-sampling What happened here? public domain images from wikipedia

Even worse for synthetic images And what happened here? Source: L. Zhang

Aliasing Occurs when your sampling rate is not high enough to capture the amount of detail in your image Can give you the wrong signal/image an alias To do sampling right, need to understand the structure of your signal/image Hello Fourier! To avoid aliasing: sampling rate 2 * max frequency in the image said another way: two samples per cycle This minimum sampling rate is called the Nyquist rate Source: L. Zhang

Wagon-wheel effect (See http://www.michaelbach.de/ot/mot_wagonwheel/index.html) Source: L. Zhang

Wagon Wheel Variations Which way is the train going? Which way does the middle dancer spin? Focus on the left middle matches Focus on the right middle matches Images from: http://stanleykemp.blogspot.com/2015/06/lets-start-weekend-with-couple-of_6.html

Nyquist limit 2D example Good sampling Bad sampling sampling rate < 2*(max freq)

Aliasing When downsampling by a factor of two Original image has frequencies that are too high How can we fix this?

Gaussian pre-filtering G 1/8 G 1/4 Gaussian 1/2 Solution: filter the image, then subsample Source: S. Seitz

Subsampling with Gaussian pre-filtering Gaussian 1/2 G 1/4 G 1/8 Solution: filter the image, then subsample Source: S. Seitz

Compare with... 1/2 1/4 (2x zoom) 1/8 (4x zoom) Source: S. Seitz

Gaussian prefiltering Solution: filter the image, then subsample blur F 0 F 1 F 2 subsample blur subsample F 0 H * F 1 H *

Gaussian pyramid blur F 0 F 0 H * F 1 subsample blur subsample F 1 H * F 2

Gaussian pyramids [Burt and Adelson, 1983] In computer graphics, a mip map [Williams, 1983] A precursor to wavelet transform Gaussian Pyramids have all sorts of applications in computer graphics, vision, imaging Source: S. Seitz

Gaussian pyramids [Burt and Adelson, 1983] How much space does a Gaussian pyramid take compared to the original image? Source: S. Seitz

Gaussian Pyramid

Questions so far? Questions on Sub-Sampling Aliasing? Gaussian pre-filter?

Upsampling This image is too small for this screen: How can we make it 10 times as big? Simplest approach: repeat each row and column 10 times ( Nearest neighbor interpolation ) Slide from: Noah Snavely, 2012, Cornell

Image interpolation d = 1 in this example 1 2 3 4 5 Recall how a digital image is formed It is a discrete point-sampling of a continuous function If we could somehow reconstruct the original function, any new image could be generated, at any resolution and scale Slide from: Noah Snavely, 2012, Cornell Adapted from: S. Seitz

Image interpolation d = 1 in this example 1 2 3 4 5 Recall how a digital image is formed It is a discrete point-sampling of a continuous function If we could somehow reconstruct the original function, any new image could be generated, at any resolution and scale Slide from: Noah Snavely, 2012, Cornell Adapted from: S. Seitz

Image interpolation 1 d = 1 in this example 1 2 3 4 5 2.5 What if we don t know? Guess an approximation: Can be done in a principled way: filtering Convert to a continuous function: Reconstruct by convolution with a reconstruction filter, h Slide from: Noah Snavely, 2012, Cornell Adapted from: S. Seitz

Image interpolation Ideal reconstruction Nearest-neighbor interpolation Linear interpolation Gaussian reconstruction Slide from: Noah Snavely, 2012, Cornell Source: B. Curless

Reconstruction filters What does the 2D version of this hat function look like? performs linear interpolation (tent function) performs bilinear interpolation 3x3 Matrix for 2D tent filter might look like: 1 16 1 2 1 2 4 2 1 2 1 Derived from: Noah Snavely, 2012, Cornell

Reconstruction filters What does the 2D version of this hat function look like? performs linear interpolation (tent function) performs bilinear interpolation More information, start at: http://en.wikipedia.org/wiki/bilinear_interpolation Better filters give better resampled images Bicubic is common choice Slide from: Noah Snavely, 2012, Cornell Cubic reconstruction filter

Image interpolation Original image: x 10 Nearest-neighbor interpolation Bilinear interpolation Bicubic interpolation Slide from: Noah Snavely, 2012, Cornell

Image interpolation Also used for resampling Slide from: Noah Snavely, 2012, Cornell

Examples of Interpolation Usage Image Bayer De-mosaicking Image Error Correction/Fill Image Reconstruction/Inpainting Merging/Mosaicking/Panoramic Splicing

Demosaicing Image Example Ad-hoc CFA Interpolation Advanced CFA Interpolation

Error Correction/Fill damaged interpolated

Image Inpainting/Restoration

Image Mosaicing/Merging

Summary: Image Interpolation Image Interpolation Fundamental tool in digital processing of images bridges the continuous world and the discrete world Wide range of application use

Challenge: Bayer De-Mosaicking Separate an image into its color planes (RGB)

Challenge: Bayer De-Mosaicking Reduce panes to Bayer Pattern Equivalent

Challenge: Bayer De-Mosaicking Reduce panes to Bayer Pattern Equivalent

Challenge: Bayer De-Mosaicking Reduce panes to Bayer Pattern Equivalent

Challenge: Bayer De-Mosaicking Interpolate each pane and re-composite

Questions? Beyond D2L Examples and information can be found online at: http://docdingle.com/teaching/cs.html Continue to more stuff as needed

Extra Reference Stuff Follows

Credits Much of the content derived/based on slides for use with the book: Digital Image Processing, Gonzalez and Woods Some layout and presentation style derived/based on presentations by Donald House, Texas A&M University, 1999 Bernd Girod, Stanford University, 2007 Shreekanth Mandayam, Rowan University, 2009 Noah Snavely, Cornell University, 2012 Igor Aizenberg, TAMUT, 2013 Xin Li, WVU, 2014 George Wolberg, City College of New York, 2015 Yao Wang and Zhu Liu, NYU-Poly, 2015 Sinisa Todorovic, Oregon State, 2015