images/videos/ meshes/surfaces manipulation of estimation …cyy/courses/vfx/11spring/... ·...

24
Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides by Fredo Durand, Ramesh Raskar, Amit Agrawal Gradient Domain Manipulations Images/Videos/ Meshes/Surfaces Estimation Manipulation of Meshes/Surfaces of Gradients Gradients Non-Integrable Gradient Fields Reconstruction from Gradients Images/Videos/ Meshes/Surfaces Image Intensity Gradients in 2D Grad X 2D Integration Grad Y Solve Poisson Equation, 2D linear system 2D linear system Intensity Gradient Manipulation A Common Pipeline Grad X New Grad X 2D Integration Gradient Processing Grad Y New Grad Y 1. Gradient manipulation 2 Reconstruction from gradients 2. Reconstruction from gradients

Upload: others

Post on 27-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

Gradient domain operations

Digital Visual EffectsgYung-Yu Chuang

with slides by Fredo Durand, Ramesh Raskar, Amit Agrawal

Gradient Domain Manipulations

Images/Videos/Meshes/Surfaces

EstimationManipulation of

Meshes/Surfaces

of Gradientsp

Gradients

Non-Integrable Gradient Fields

Reconstruction from

Gradients

Images/Videos/Meshes/Surfaces

Image Intensity Gradients in 2Dg y

Grad X2D

Integration

Grad Y

Solve Poisson Equation, 2D linear system2D linear system

Intensity Gradient Manipulationy p

A Common Pipeline

Grad X New Grad X2D

IntegrationGradient Processing

Grad Y New Grad Y

1. Gradient manipulation

2 Reconstruction from gradients2. Reconstruction from gradients

Page 2: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

Example Applications

Removing Glass Reflections

Seamless Image Stitching

Image Editing

Changing Local IlluminationChanging Local Illumination

Original PhotoshopGrey Color2GrayColor to Gray Conversiony

High Dynamic Range Compression

Ed S i d Si ifi t Ill i ti V i tiEdge Suppression under Significant Illumination Variations

Fusion of day and night images

Page 3: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

Intensity Gradient Manipulationy p

A Common Pipeline

Grad X New Grad X2D

IntegrationGradient Processing

Grad Y New Grad Y

Intensity Gradient in 1D

Intensity Gradient105 105

y

I(x)1

G(x)1

Gradient at x,G(x) = I(x+1)- I(x)G(x) I(x+1) I(x)

Forward Difference

Reconstruction from Gradients

IntensityGradient105

y105

????

I(x)1

G(x)1

For n intensity values, about n gradients y , g

Reconstruction from Gradients

IntensityGradient105

y105

??

I(x)1

G(x)1

1D Integration

I(x) = I(x 1) + G(x)I(x) = I(x-1) + G(x)

Cumulative sum

Page 4: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

1D case with constraints

Seamlessly paste ontoSeamlessly paste onto

Just add a linear function so that the boundary condition is respected

Discrete 1D example: minimization• Copy to

56

1-1

1+2

+1 56

234

-1-1+1

234

0

10

1 2 3 4 5 6 7 0

12

01 2 3 4 5 6 7

? ? ? ?

Min ((f f ) 1)2• Min ((f2-f1)-1)2

• Min ((f3-f2)-(-1))2

With• Min ((f4-f3)-2)2

• Min ((f5-f4)-(-1))2

With f1=6(( 5 4) ( ))

• Min ((f6-f5)-(-1))2 f6=1

1D example: minimization• Copy to

56

1-1

1+2

+1 56

234

-1-1+1

234

0

10

1 2 3 4 5 6 7 0

12

01 2 3 4 5 6 7

? ? ? ?

• Min ((f2-6)-1)2 ==> f22+49-14f2

Mi ((f f ) ( 1))2 f 2 f 2 1 2f f 2f 2f• Min ((f3-f2)-(-1))2 ==> f32+f2

2+1-2f3f2 +2f3-2f2

• Min ((f4-f3)-2)2 ==> f42+f3

2+4-2f3f4 -4f4+4f3

• Min ((f5-f4)-(-1))2 ==> f52+f4

2+1-2f5f4 +2f5-2f4

• Min ((1-f5)-(-1))2 ==> f52+4-4f5• Min ((1 f5) ( 1)) > f5 +4 4f5

1D example: big quadratic• Copy to

56

1-1

1+2

+1 56

234

-1-1+1

234

0

10

1 2 3 4 5 6 7 0

12

01 2 3 4 5 6 7

? ? ? ?

• Min (f22+49-14f2

+ f 2+f 2+1 2f f +2f 2f+ f32+f2

2+1-2f3f2 +2f3-2f2

+ f42+f3

2+4-2f3f4 -4f4+4f3

+ f 2+f 2+1 2f f +2f 2f+ f52+f4

2+1-2f5f4 +2f5-2f4

+ f52+4-4f5)

Denote it QDenote it Q

Page 5: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

1D example: derivatives• Copy to

56

1-1

1+2

+1 56

234

-1-1+1

234

0

10

1 2 3 4 5 6 7 0

12

01 2 3 4 5 6 7

? ? ? ?

Min (f22+49-14f2

+ f32+f2

2+1-2f3f2 +2f3-2f2

+ f42+f3

2+4-2f3f4 -4f4+4f3

+ f52+f4

2+1-2f5f4 +2f5-2f4

+ f 2+4 4f )+ f52+4-4f5)

Denote it Q

1D example: set derivatives to zero• Copy to

56

1-1

1+2

+1 56

234

-1-1+1

234

0

10

1 2 3 4 5 6 7 0

12

01 2 3 4 5 6 7

? ? ? ?

==>

1D example• Copy to

56

1-1

1+2

+1 56

34

-1-1+1

34

12

12

00

1 2 3 4 5 6 7 00

1 2 3 4 5 6 7

1D example: remarks• Copy to

23456

-1-1

-1+2

+1

23456

0

12

01 2 3 4 5 6 7 0

12

01 2 3 4 5 6 7

Matrix is sparse• Matrix is sparse• Matrix is symmetric

E thi i lti l f 2 • Everything is a multiple of 2 – because square and derivative of square

• Matrix is a convolution (kernel 2 4 2)• Matrix is a convolution (kernel -2 4 -2)• Matrix is independent of gradient field. Only RHS is

Matrix is a second derivative• Matrix is a second derivative

Page 6: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

2D example: images• Images as scalar fields

– R2 -> R

Gradients• Vector field (gradient field)

D i ti f l fi ld– Derivative of a scalar field

• Direction– Maximum rate of change of scalar field

• Magnitude– Rate of changeg

Gradient Field• Components of gradient

– Partial derivatives of Partial derivatives of scalar field

II },{yI

xII

),( yxIy

),,( tyxI },,{tI

yI

xII

),,( y tyx

Example

Image I(x y) Ix IyI(x,y)

Gradient at x y as Forward DifferencesGradient at x,y as Forward Differences Gx(x,y) = I(x+1 , y)- I(x,y)Gy(x,y) = I(x , y+1)- I(x,y)Gy(x,y) I(x , y 1) I(x,y)

G(x,y) = (Gx , Gy)

Page 7: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

Reconstruction from GradientsSanity Check:

Recovering Original ImageIx

Recovering Original Image

2D

Iy

2D Integration

Solve Poisson Equation 2D linear system2D linear system

Same

Reconstruction from Gradients

Given G(x,y) = (Gx , Gy)

How to compute I(x,y) for the image ?

For n 2 image pixels 2 n 2 gradients !For n 2 image pixels, 2 n 2 gradients !

Gxx

Gy

2D IntegrationGy

2D Integration is non-trivial

df/dx f(x)df/dx f(x)

f(x,y)y

xxReconstruction depends on chosen path

Reconstruction from Gradient Field G

• Look for image I with gradient closest to G in th l t the least squares sense.

• I minimizes the integral: dxdyGIF ,g

22

y,

22

2,

yx GyIG

xIGIGIF

yx

GGII 22Poisson

yG

xG

yI

xI yx

22Poissonequation

Page 8: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

SolveGGII yx

22

Solve yxyx

22

)1,(),(),1(),( yxGyxGyxGyxG yyxx ),(),(),(),( yyyy yyxx

),(4)1,()1,(),1(),1( yxIyxIyxIyxIyxI

.. 1 … 1 -4 1 … 1 ..I

Linear System),(),1(),1()1,()1,(),(4 yxuyxIyxIyxIyxIyxI

..

.

.

.

.

.

.),1(

.yxI

Hx,y-1

H

),(

.

),()1,(

.

yxuyxIyxI

x,y

.1...141...1.

x-1,yH

.

.

.

.

.)1,( yxI

HW

.

.

.

.

.

.),1(

.yxI

W

..

A x b

Sparse Linear system

11411141

1141111411

141111411

1411

A matrixA matrix

Solving Linear System• Image size N*N

• Size of A ~ N2 by N2

• Impractical to form and store A

• Direct SolversB i F ti• Basis Functions

• Multigrid• Conjugate Gradients

Page 9: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

Approximate Solution for Large Scale ProblemsProblems• Resolution is increasing in digital cameras

• Stitching, Alignment requires solving large linear system

Scalability problem

10 X 10 MP X 50% overlap =

50 Megapixel Panorama

=A x b

Scalability problem

=A x bA x b

50 million element vectors!

Approximate Solution• Reduce size of linear system

H dl hi h l i i• Handle high resolution images

• Part of Photoshop CS3• Part of Photoshop CS3

Aseem Agarwala. "Efficient gradient-domain compositing using quadtrees," ACM Transactions on Graphics (Proceedings of SIGGRAPH 2007)

Page 10: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

The key insight

Desired solution x _Initial Solution x0

=Solution x0

Difference xδxδ

Quadtree decomposition

• Maximally subdivide quadtree along seams• Variables placed at node corners

R i d d• Restricted quadtree• Bi-linear interpolation reconstructs full solution

Square nodes• Square nodes

Page 11: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

Reduced space

ym variables

xn variables m variablesn variables

<<m << n

Reduced space

ym variables

xn variables m variablesn variables

Sx = Sy

x = Syx = Sy x = Syx = Sy

Page 12: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

x = Syx = Sy x = Syx = Sy

Performance

22796

13Plane

1044

227

36224

St. Emilion

1252

1044

43516

Beynac

1790

1252

62027

Rainier1790

1 10 100 1000 10000

Memory (MB)

Quadtree [Agarwala 07]Hierarchical basis preconditioning [Szeliski 90]p g [ ]Locally-adapted hierarchical basis preconditioning [Szeliski 06]

Cut-and-paste

Page 13: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

Cut-and-paste Intensity Gradient Manipulationy p

A Common Pipeline

Grad X New Grad X2D

IntegrationGradient Processing

Grad Y New Grad Y

Gradient Domain Manipulations: Overview

(A) Per pixel

(B) Corresponding gradients in two images( ) p g g g

(C) Corresponding gradients in multiple images(C) Corresponding gradients in multiple images

(D) Combining gradients along seams

Gradient Domain Manipulations: Overview(A) Per pixel

– Non-linear operations (HDR compression, local illumination change)

– Set to zero (shadow removal, intrinsic images, texture de-emphasis)

Poisson Matting– Poisson Matting

(B) Corresponding gradients in two images(B) Corresponding gradients in two images

– Vector operations (gradient projection)• Combining flash/no-flash images, Reflection removalCombining flash/no flash images, Reflection removal

– Projection Tensors• Reflection removal, Shadow removal

– Max operator• Day/Night fusion, Visible/IR fusion, Extending DoF

– Binary, choose from first or second, copying• Image editing, seamless cloning

Page 14: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

Gradient Domain Manipulations(C) Corresponding gradients in multiple images

– Median operatorp• Specularity reduction• Intrinsic images

– Max operation• Extended DOF

(D) Combining gradients along seams– Weighted averagingg g g– Optimal seam using graph cut

• Image stitching, Mosaics, Panoramas, Image fusion• A usual pipeline: Graph cut to find seams + gradient domain fusion• A usual pipeline: Graph cut to find seams + gradient domain fusion

A. Per Pixel Manipulations• Non-linear operations

– HDR compression, local illumination changep , g

• Set to zero– Shadow removal intrinsic images texture de-emphasisShadow removal, intrinsic images, texture de emphasis

P i M tti• Poisson Matting

High Dynamic Range Imaging

Images from Raanan Fattal

Gradient Domain Compression

Gradients L L

HDR

Lx,Ly

Image L Log L Multiply 2D Integration

Gradient AttenuationGradient Attenuation Function G

Page 15: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

Local Illumination Change

Original Image: f

Original gradient field: *fg g f

Modified gradient field: v

Perez et al. Poisson Image editing, SIGGRAPH 2003

Illumination Invariant Image

Original Image Illumination invariant image

• Assumptions– Sensor response = delta functions R G B in wavelength spectrumSensor response = delta functions R, G, B in wavelength spectrum– Illumination restricted to Outdoor Illumination

G. D. Finlayson, S.D. Hordley & M.S. Drew, Removing Shadows From Images, ECCV 2002

Shadow Removal Using Illumination Invariant ImageInvariant Image

Original Image Edge MapIntegrate

Illumination invariant image

Shadow Edge Locations

G. D. Finlayson, S.D. Hordley & M.S. Drew, Removing Shadows From Images, ECCV 2002

Illumination invariant image

Illumination invariant imageg

OriginalImage

InvariantImageg Image

Detected Sh dDetected Shadow Edges

Shadow Removed

G. D. Finlayson, S.D. Hordley & M.S. Drew, Removing Shadows From Images, ECCV 2002

Page 16: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

Intrinsic Image• Photo = Illumination Image * Intrinsic Image

• Retinex [Land & McCann 1971 Horn 1974]• Retinex [Land & McCann 1971, Horn 1974]

– Illumination is smoothly varying– Reflectance, piece-wise constant, has strong edges– Keep strong image gradients, integrate to obtain reflectance

low-frequency high-frequencyattenuate more

g q yattenuate less

Poisson Matting

Background B

Alpha

Trimap: User specifiedForeground F

Trimap: User specified

Jian Sun, Jiaya Jia, Chi-Keung Tang, Heung-Yeung Shum, Poisson Matting, SIGGRAPH 2004

Poisson Matting

Approximate: Assume F and B are smoothApproximate: Assume F and B are smooth

Poisson EquationF and B in tri map using Poisson EquationF and B in tri-map using nearest pixels

Poisson Matting• Steps

– Approximate F and B in trimap

– Solve for ,

– Refine F and B using

– Iterate

Page 17: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

Gradient Domain Manipulations: Overview

(A) Per pixel

(B) Corresponding gradients in two images( ) p g g g

(C) Corresponding gradients in multiple images(C) Corresponding gradients in multiple images

(D) Combining gradients along seams

Photography Artifacts: Flash Hotspot

Ambient Flash

FlashFlash Hotspot

Underexposed Reflections

Reflections due to FlashReflections due to FlashUnderexposed Reflections

Ambient Flash

Ambient FlashSelf-Reflections and Flash Hotspot

Face

Hands

Tripod

Page 18: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

ResultAmbient Reflection LayerReflection Layer

Fl hFlash Face

Hands

Tripod

Intensity Gradient Vectors in Flash and Ambient Images

Same gradient vector direction Flash Gradient Vector

Ambient Gradient Vector

Ambient Flash

No reflections

Reflection Ambient Gradient Reflection Ambient Gradient Vector

Different gradient d

Flash Gradient Vector

vector directions

Ambient Flash

With reflections

Intensity Gradient Vector Projection

Reflection Ambient Gradient

Residual Gradient

Reflection Ambient Gradient Vector

Flash Gradient VectorGradient Vector

Result Gradient Vector

Result ResidualAmbient Flash

Page 19: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

FlashProjection =

Result Residual =

Reflection Layer Ambient FlashAmbient

Flash

Ambient

Checkerboard outside glass window

Reflections on glass window

X

Forward Differences

Gradient Difference

Residual XCheckerboard

Difference

Residual YCheckerboard

removed

Flash

Y

Result X

Residual Y

2D

Flash

Intensity Gradient

2D Integration

Integration

Vector Projection

Result Y

ResultX

Result

Reflection Layer

Result

Y

Layer

Ambient

Image Fusion for Context EnhancementContext Enhancementand Video Surrealism

Adrian IlieAdrian IlieRamesh RaskarRamesh Raskar Jingyi YuJingyi YuAdrian IlieAdrian Ilie

UNC Chapel HillUNC Chapel Hill

Ramesh RaskarRamesh Raskar

Mitsubishi Electric Mitsubishi Electric Research LabsResearch Labs

Jingyi YuJingyi Yu

MITMITResearch Labs,Research Labs,

(MERL)(MERL)

Page 20: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

Dark Bldgs

Reflections on bldgs

Unknown shapes

Background is captured from day-time scene using the same fixed camera

Night Image

Context Enhanced Image

Day Image

Context Enhanced Image

Mask is automatically computed fromMask is automatically computed from scene contrast

Page 21: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

But, Simple Pixel Blending Creates Ugly ArtifactsUgly Artifacts

Pixel Blending

Pixel Blending

solution:Integration of g

blended Gradients

Nighttime imageNighttime image Gradient fieldGradient fieldNighttime imageNighttime image Gradient fieldGradient field

G1 G1x Y

I1

Mixed gradient field

Importance Importance image Wimage W

g

G Gx Y

I2

resu

ltG2 G2xx Y

Daytime imageDaytime image Gradient fieldGradient field

Fina

l

y gy g

Page 22: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

Poisson Image EditingPoisson Image Editing

– Precise selection: tedious and unsatisfactory

Alpha Matting: powerful but involved

– Precise selection: tedious and unsatisfactory

Alpha Matting: powerful but involved– Alpha-Matting: powerful but involved

– Seamless cloning: loose selection but no seams?

– Alpha-Matting: powerful but involved

– Seamless cloning: loose selection but no seams?

ConcealConceal

Copy Background gradients (user strokes)

ComposeComposepp

Target ImageSource Images

Transparent CloningTransparent Cloning

Largest variation from source and destination at each Largest variation from source and destination at each point

Page 23: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

Gradient Domain Manipulations: Overview

(A) Per pixel

(B) Corresponding gradients in two images( ) p g g g

(C) Corresponding gradients in multiple images(C) Corresponding gradients in multiple images

(D) Combining gradients along seams

Intrinsic images

• I = L * RL ill i i i• L = illumination image

• R = reflectance image

Intrinsic images

U lti l i d diff t ill i ti– Use multiple images under different illumination– Assumption

Ill i ti i g g di t L l i PDF• Illumination image gradients = Laplacian PDF• Under Laplacian PDF, Median = ML estimator

At each pixel take Median of gradients across – At each pixel, take Median of gradients across images

– Integrate to remove shadowsIntegrate to remove shadows

Yair Weiss, “Deriving intrinsic images from image sequences”, ICCV 2001

Shadow free Intrinsic Image

Result = Illumination Image * (Label in Intrinsic Image)

Page 24: Images/Videos/ Meshes/Surfaces Manipulation of Estimation …cyy/courses/vfx/11spring/... · 2011-05-25 · Gradient domain operations Digital Visual Effects Yung-Yu Chuang with slides

Specularity Reduction in Active IlluminationIllumination

Point SpecularityLine Specularity Area Specularity

Multiple images with same viewpoint, varying illumination

How do we remove highlights? Specularity Reduced ImageImage

Gradient Domain Manipulations: Overview

(A) Per pixel

(B) Corresponding gradients in two images( ) p g g g

(C) Corresponding gradients in multiple images(C) Corresponding gradients in multiple images

(D) Combining gradients along seams

Seamless Image Stitching

Anat Levin, Assaf Zomet, Shmuel Peleg and Yair Weiss, “Seamless Image Stitching in the Gradient Domain”, ECCV 2004