Topics. Image Processing Techniques and Smart Image Manipulation. Texture Synthesis. Topics. Markov Chain. Weather Forecasting for Dummies

Similar documents
Data-driven methods: Video & Texture. A.A. Efros

Data-driven methods: Video & Texture. A.A. Efros

Texture Synthesis. Fourier Transform. F(ω) f(x) To understand frequency ω let s reparametrize the signal by ω: Fourier Transform

Texture Synthesis. Darren Green (

Texture Synthesis. Darren Green (

Texture. The Challenge. Texture Synthesis. Statistical modeling of texture. Some History. COS526: Advanced Computer Graphics

Video Texture. A.A. Efros

+ = The Goal of Texture Synthesis. Image Quilting for Texture Synthesis & Transfer. The Challenge. Texture Synthesis for Graphics

More details on presentations

Admin. Data driven methods. Overview. Overview. Parametric model of image patches. Data driven (Non parametric) Approach 3/31/2008

Lecture 6: Texture. Tuesday, Sept 18

Texture Synthesis and Manipulation Project Proposal. Douglas Lanman EN 256: Computer Vision 19 October 2006

Image Composition. COS 526 Princeton University

Image Processing Techniques and Smart Image Manipulation : Texture Synthesis

CSCI 1290: Comp Photo

Texture. CS 419 Slides by Ali Farhadi

Texture April 17 th, 2018

Texture. COS 429 Princeton University

Texture April 14 th, 2015

Announcements. Texture. Review: last time. Texture 9/15/2009. Write your CS login ID on the pset hardcopy. Tuesday, Sept 15 Kristen Grauman UT-Austin

Median filter. Non-linear filtering example. Degraded image. Radius 1 median filter. Today

Non-linear filtering example

Announcements. Texture. Review. Today: Texture 9/14/2015. Reminder: A1 due this Friday. Tues, Sept 15. Kristen Grauman UT Austin

Today: non-linear filters, and uses for the filters and representations from last time. Review pyramid representations Non-linear filtering Textures

Texture and Other Uses of Filters

Texture. Announcements. Markov Chains. Modeling Texture. Guest lecture next Tuesday. Evals at the end of class today

An Improved Texture Synthesis Algorithm Using Morphological Processing with Image Analogy

Texture Synthesis by Non-parametric Sampling

Volume Editor. Hans Weghorn Faculty of Mechatronics BA-University of Cooperative Education, Stuttgart Germany

Texture. Texture. 2) Synthesis. Objectives: 1) Discrimination/Analysis

Video Textures. Arno Schödl Richard Szeliski David H. Salesin Irfan Essa. presented by Marco Meyer. Video Textures

Automatic Generation of An Infinite Panorama

Object Removal Using Exemplar-Based Inpainting

A Comparison Study of Four Texture Synthesis Algorithms on Regular and Near-regular Textures

Helsinki University of Technology Telecommunications Software and Multimedia Laboratory T Seminar on computer graphics Spring 2004

Portraits Using Texture Transfer

Motion Texture. Harriet Pashley Advisor: Yanxi Liu Ph.D. Student: James Hays. 1. Introduction

I Chen Lin, Assistant Professor Dept. of CS, National Chiao Tung University. Computer Vision: 6. Texture

PatchMatch: A Randomized Correspondence Algorithm for Structural Image Editing

Texture Synthesis. Michael Kazhdan ( /657)

Shift-Map Image Editing

Towards Real-Time Texture Synthesis with the Jump Map

Texture. D. Forsythe and J. Ponce Computer Vision modern approach Chapter 9 (Slides D. Lowe, UBC) Texture

Image Restoration using Multiresolution Texture Synthesis and Image Inpainting

Clustering and blending for texture synthesis

Hole Filling Through Photomontage

Prof. Feng Liu. Spring /17/2017. With slides by F. Durand, Y.Y. Chuang, R. Raskar, and C.

Detail Preserving Shape Deformation in Image Editing

Discrete Optimization Methods in Computer Vision CSE 6389 Slides by: Boykov Modified and Presented by: Mostafa Parchami Basic overview of graph cuts

Texture. D. Forsythe and J. Ponce Computer Vision modern approach Chapter 9 (Slides D. Lowe, UBC)

Constrained Texture Synthesis via Energy Minimization

Texture. Announcements. 2) Synthesis. Issues: 1) Discrimination/Analysis

Texture. D. Forsythe and J. Ponce Computer Vision modern approach Chapter 9 (Slides D. Lowe, UBC) Previously

Image Completion Using Efficient Belief Propagation via Priority Scheduling and Dynamic Pruning

Learning How to Inpaint from Global Image Statistics

Machine Learning for Video-Based Rendering

Quilting for Texture Synthesis and Transfer

The Development of a Fragment-Based Image Completion Plug-in for the GIMP

Panoramic Video Texture

Problem Set 4. Assigned: March 23, 2006 Due: April 17, (6.882) Belief Propagation for Segmentation

ISSN: (Online) Volume 2, Issue 5, May 2014 International Journal of Advance Research in Computer Science and Management Studies

Wavelet Applications. Texture analysis&synthesis. Gloria Menegaz 1

Texture Synthesis. Last Time? Final Presentation Schedule. Today. Readings for Today: Texture Mapping Solid Texture Procedural Textures

ABSTRACT Departures from a regular texture pattern can happen in many different dimensions. Previous related work has focused on faithful texture synt

Photoshop Quickselect & Interactive Digital Photomontage

Detail Preserving Shape Deformation in Image Editing

Alignment and Mosaicing of Non-Overlapping Images

Graphcut Textures: Image and Video Synthesis Using Graph Cuts

BSB663 Image Processing Pinar Duygulu. Slides are adapted from Selim Aksoy

Targil 10 : Why Mosaic? Why is this a challenge? Exposure differences Scene illumination Miss-registration Moving objects

CS 534: Computer Vision Texture

Pattern-based Texture Metamorphosis

Hexagonal Image Quilting for Texture Synthesis

Universiteit Leiden Opleiding Informatica

Figure 1: A sampler of different types of textures. Figure 2: Left: An irregular texture overlaid with its lattice. Right: its near-regular counterpar

Texture Sensitive Image Inpainting after Object Morphing

CSCI 1290: Comp Photo

Computer Graphics. P08 Texture Synthesis. Aleksandra Pizurica Ghent University

Tiled Texture Synthesis

Light Field Occlusion Removal

A Review on Image InpaintingTechniques and Its analysis Indraja Mali 1, Saumya Saxena 2,Padmaja Desai 3,Ajay Gite 4

Local Feature Detectors

Creating Images Using Objects. Kurt Lawrence

CS 534: Computer Vision Texture

Supervised texture detection in images

Directable Motion Texture Synthesis

Previous Lecture - Coded aperture photography

From Image to Video Inpainting with Patches

Image Compositing and Blending

Color Me Right Seamless Image Compositing

Graph Cuts vs. Level Sets. part I Basics of Graph Cuts

Decorating Surfaces with Bidirectional Texture Functions

Combining Abstract Images using Texture Transfer

Image pyramids and their applications Bill Freeman and Fredo Durand Feb. 28, 2006

What have we leaned so far?

Computational Photography and Capture: (Re)Coloring. Gabriel Brostow & Tim Weyrich TA: Frederic Besse

Algorithms for Markov Random Fields in Computer Vision

Fast wavelet transform domain texture synthesis

Region-based Segmentation

Texture Synthesis and Image Inpainting for Video Compression Project Report for CSE-252C

Transcription:

Image Processing Techniques and Smart Image Manipulation Maneesh Agrawala Topics Texture Synthesis High Dynamic Range Imaging Bilateral Filter Gradient-Domain Techniques Matting Graph-Cut Optimization Least-Squares Optimization Color Topics Texture Synthesis High Dynamic Range Imaging Bilateral Filter Gradient-Domain Techniques Matting Graph-Cut Optimization Least-Squares Optimization Color Texture Synthesis Slides from: Alexei Efros, CMU, Fall 2008 Ganesh Ramanarayanan Cornell Weather Forecasting for Dummies Let s predict weather: Given today s weather only, we want to know tomorrow s Suppose weather can only be {Sunny, Cloudy, Raining} The Weather Channel algorithm: Over a long period of time, record: How often S followed by R How often S followed by S Etc. Compute percentages for each state: P(R S), P(S S), etc. Predict the state with highest probability! It s a Markov Chain Markov Chain What if we know today and yestarday s weather? 1

Text Synthesis [Shannon, 48] proposed a way to generate English-looking text using N-grams: Assume a generalized Markov model Use a large text to compute prob. distributions of each letter given N-1 previous letters Starting from a seed repeatedly sample this Markov chain to generate new letters Also works for whole words Mark V. Shaney (Bell Labs) Results (using alt.singles corpus): As I've commented before, really relating to someone involves standing next to impossible. One morning I shot an elephant in my arms and kissed him. I spent an interesting evening recently with a grain of salt WE NEED TO EAT CAKE Video Textures Still photos Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech Video clips Video textures 2

Problem statement Our approach video clip video texture How do we find good transitions? Finding good transitions Markov chain representation Compute L 2 distance D i, j between all frames vs. frame i frame j Similar frames make good transitions Similar frames make good transitions Transition costs Transition from i to j if successor of i is similar to j Cost function: C i j = D i+1, j Transition probabilities Probability for transition P i j inversely related to cost: P i j ~ exp ( C i j / 2 ) high low 3

Preserving dynamics Preserving dynamics Preserving dynamics Preserving dynamics effect Cost for transition i j Cost for transition i j C i j = w k D i+k+1, j+k C i j = w k D i+k+1, j+k Dead ends Future cost No good transition at the end of sequence Propagate future transition costs backward Iteratively compute new cost F i j = C i j + min k F j k 4

Future cost Propagate future transition costs backward Iteratively compute new cost F i j = C i j + min k F j k Future cost Propagate future transition costs backward Iteratively compute new cost F i j = C i j + min k F j k Future cost Propagate future transition costs backward Iteratively compute new cost F i j = C i j + min k F j k Future cost Propagate future transition costs backward Iteratively compute new cost F i j = C i j + min k F j k Q-learning Future cost effect Finding good loops Alternative to random transitions Precompute set of loops up front 5

Video portrait Region-based analysis Divide video up into regions Useful for web pages Generate a video texture for each region Automatic region analysis User-controlled video textures slow variable fast User selects target frame range Video-based animation Video sprite extraction Like sprites computer games Extract sprites from real video Interactively control desired motion 1985 Nintendo of America Inc. 6

Video sprite control Augmented transition cost: Video sprite control Need future cost computation Precompute future costs for a few angles. Switch between precomputed angles according to user input [GIT-GVU-00-11] Interactive fish Summary Video clips video textures define Markov process preserve dynamics avoid dead-ends disguise visual discontinuities Discussion Some things are relatively easy Discussion Some are hard 7

Amateur by Lasse Gjertsen Michel Gondry train video http://www.youtube.com/watch?v=jzqumbhfxro http://youtube.com/watch?v=ques1bwvxga Texture Texture depicts spatially repeating patterns Many natural phenomena are textures Texture Synthesis Goal of Texture Synthesis: create new samples of a given texture Many applications: virtual environments, holefilling, texturing surfaces radishes rocks yogurt The Challenge Need to model the whole spectrum: from repeated to stochastic texture repeated stochastic Both? Heeger Bergen 1995 Seminal paper that introduced texture synthesis to the graphics community Algorithm: Initialize J to noise Create multiresolution pyramids for I and J Match the histograms of J s pyramid levels with I s pyramid levels Loop until convergence Can be generalized to 3D 8

Heeger Bergen 1995 - Algorithm Heeger Bergen 1995 - Results Successes Failures Image pyramids Gaussian Laplacian Steerable pyramids [SimoncelliFreeman95] b): multiple scales of oriented filters c): a sample image d): results of filters in b) applied to c) I J I J Heeger Bergen 1995 - Results Heeger Bergen 1995 - Verdict Texture model: Histograms of responses to various filters Avoiding copying: Inherent in algorithm No user intervention required Captures stochastic textures well Does not capture structure Lack of inter-scale constraints De Bonet 1997 Propagate constraints downwards by matching statistics all the way up the pyramid Feature vector: multiscale collection of filter responses for a given pixel Algorithm: Initialize J to empty image Create multiresolution pyramids for I and J For each pixel in level of J, randomly choose pixel from corresponding level of I that has similar feature vector De Bonet 1997 - Algorithm 6 feature vectors shown Notice how they share parent information 9

De Bonet 1997 - Results De Bonet 1997 - Verdict Texture model: Feature vector containing multiscale responses to various filters Avoiding copying: Random choice of pixels with close feature vectors, but copying still frequent on small scale Individual per-filter thresholds are cumbersome Feature vectors used in later synthesis work Efros & Leung 1999 - Algorithm Synthesizing a pixel non-parametric sampling Input image Assuming Markov property, compute P(p N(p)) Building explicit probability tables infeasible Instead, we search the input image for all similar neighborhoods that s our pdf for p To sample from this pdf, just pick one match at random Some Details Growing is in onion skin order Within each layer, pixels with most neighbors are synthesized first If no close match can be found, the pixel is not synthesized until the end Using Gaussian-weighted SSD is very important to make sure the new pixel agrees with its closest neighbors Approximates reduction to a smaller neighborhood window if data is too sparse Neighborhood Window Varying Window Size input Increasing window size 10

Synthesis Results french canvas rafia weave white bread More Results brick wall Homage to Shannon Hole Filling Extrapolation Efros Leung 1999 Verdict Texture model: MRF Avoiding copying: MRF Neighborhood size = largest feature size Markov model is surprisingly good I spent an interesting evening recently with a grain of salt. Search is very slow with large neighborhoods 11

Image Quilting [Efros & Freeman] block Input texture non-parametric sampling B1 B2 B1 B2 B1 B2 Synthesizing a block Input image Random placement of blocks Neighboring blocks constrained by overlap Minimal error boundary cut Observation: neighbor pixels are highly correlated Minimal error boundary Our Philosophy overlapping blocks vertical boundary The Corrupt Professor s Algorithm : Plagiarize as much of the source image as you can Then try to cover up the evidence Rationale: Texture blocks are by definition correct samples of texture so problem only connecting them together overlap error min. error boundary 12

Failures (Chernobyl Harvest) Portilla & Simoncelli Xu, Guo & Shum input image Wei & Levoy Our algorithm 13

Portilla & Simoncelli Xu, Guo & Shum Portilla & Simoncelli Xu, Guo & Shum input image input image Wei & Levoy Our algorithm Wei & Levoy Our algorithm Efros Freeman 2001 - Verdict Texture model: MRF Avoiding copying: Randomized patch selection, but still noticeable Patch size is a hard parameter to understand Results are surprisingly good given algorithm Multiscale goes on a brief hiatus Kwatra et. al. 2003 Generalizes seam computation in overlap regions as a graph cut problem Based on [Boykov et. al. 99] (with Ramin Zabih) Algorithm: Initialize J to empty Copy pieces of I to J using a variety of methods Formulate graph in overlap region based on error (differences) and compute minimum cut Copy sink-side pixels to J Variety of strategies to further hide seams Kwatra et. al. 2003 - Algorithm Kwatra et. al. 2003 - Results (assume cut region is 3x3 for simplicity) 14

Kwatra et. al. 2003 - Verdict Texture model: MRF Avoiding copying: Even with a multitude of patch selection methods, still noticeable when it happens repeatedly Paper presents a bag of synthesis tricks without much intuition for when to use what Graph cut formalization is useful and powerful Fill Order In what order should we fill the pixels? Fill Order Exemplar-based Inpainting demo In what order should we fill the pixels? choose pixels that have more neighbors filled choose pixels that are continuations of lines/curves/edges Criminisi, Perez, and Toyama. Object Removal by Exemplar-based Inpainting, Proc. CVPR, 2003. http://research.microsoft.com/vision/cambridge/i3l/patchworks.htm Application: Texture Transfer Try to explain one object with bits and pieces of another object: Texture Transfer Constraint Texture sample 15

Take the texture from one image and paint it onto another object Texture Transfer Same as texture synthesis, except an additional constraint: 1. Consistency of texture 2. Similarity to the image being explained Image Analogies Aaron Hertzmann 1,2 Chuck Jacobs 2 Nuria Oliver 2 Brian Curless 3 David Salesin 2,3 1 New York University 2 Microsoft Research 3 University of Washington Image Analogies A A B B 16

Blur Filter Edge Filter Artistic Filters Colorization A A B B Texture-by-numbers Super-resolution A A A A B B 17

Super-resolution (result!) B B 18