420 likes | 537 Views
Seam Carving. Kshitij Padalkar 13 th Oct 2008. Contents:. In one Line… Need Solutions and Other Work Definition and Maths Energy , Seam Pixel Removal Criteria Other Energy Functions? Discrete Image Resizing Aspect Ratio Change Optimal Seam Order Image Enlarging
E N D
Seam Carving Kshitij Padalkar 13th Oct 2008
Contents: • In one Line… • Need • Solutions and Other Work • Definition and Maths • Energy , Seam • Pixel Removal Criteria • Other Energy Functions? • Discrete Image Resizing • Aspect Ratio Change • Optimal Seam Order • Image Enlarging • Content Amplification • Object Removal • Multi-size Images • Limitations • Links
In One Line… Method for Content-Aware Image Resizing
Different Displays-Different Resolutions-(Different Images??)
HTML allows automatic layout of the text, but not the images
Solutions and Other Work • Crop and Scale • Saliency • Segmentation
Contents: • In one Line… • Need • Solutions and Other Work • Definition and Maths • Energy , Seam • Pixel Removal Criteria • Other Energy Functions? • Discrete Image Resizing • Aspect Ratio Change • Optimal Seam Order • Image Enlarging • Content Amplification • Object Removal • Multi-size Images • Limitations • Links
Definition and Maths… • Goal is to remove unnoticeable pixels. • Energy Function: • Remove Pixels with least energy • Sort pixels by Energy, remove smallest pixels (optimum) • Remove Column with smallest total Energy (column) • Remove Seam with smallest total Energy (seam)
Seam • Vertical Seam: • an 8-connected path of pixels in the image from top to bottom, containing one, and only one, pixel in each row of the image
Seam • Energy of a Seam • Minimum Energy Seam
Pixel Removal Criteria • Optimal
Pixel Removal Criteria • Pixel
Pixel Removal Criteria • Column
Pixel Removal Criteria • Seam
Pixel Removal Criteria • Comparison
Other Energy Functions • Gradient • Entropy • HOG (Histogram of Gradient) • Saliency
Contents: • In one Line… • Need • Solutions and Other Work • Definition and Maths • Energy , Seam • Pixel Removal Criteria • Other Energy Functions? • Discrete Image Resizing • Aspect Ratio Change • Optimal Seam Order • Image Enlarging • Content Amplification • Object Removal • Multi-size Images • Limitations • Links
Aspect Ratio Change • Change the image from (n X m) to (n X m’) • (assume m’ < m) • Remove m-m’=c seams successively Seam Carving
Aspect Ratio Change • Change the image from (n X m) to (n X m’) • (assume m’ < m) • Remove m-m’=c seams successively Scaling
Optimal Seam Ordering • Change the image from (n X m) to (n’ X m’) • (assume m’ < m and n’ < n) • What to do? What is the correct order of seam carving? • Remove vertical seams first? • Horizontal seams first? • Or alternate between the two?
Optimal Seam Ordering • We optimize • where k = r+c, r = (m−m’), c = (n−n’) and ai is used as a parameter that determine if at step i we remove a horizontal or vertical seam: a = {0,1}
Optimal Seam Ordering • Transport map • Matrix of size n X m • Each element T(r,c) holds the minimal cost needed to obtain an image of size n−r Xm−c
Discrete Image Resizing • Aspect Ratio Change • Optimal Seam Order • Image Enlarging • Content Amplification • Object Removal
Image Enlarging • compute the optimal vertical (horizontal) seam ‘s’ on I and duplicate the pixels of s by averaging them with their left and right neighbors (top and bottom in the horizontal case)
Image Enlarging • To reduce the width by ‘k’, compute first ‘k’ vertical seams and duplicate them • All seams duplicated, 50% enlargement. For more do it in steps.
Discrete Image Resizing • Aspect Ratio Change • Optimal Seam Order • Image Enlarging • Content Amplification • Object Removal
Content Amplification • Scale the image, this will scale everything, content as well as non-content. • Shrink the scaled-image by seam carving, this will carve out the non-content part.
Discrete Image Resizing • Aspect Ratio Change • Optimal Seam Order • Image Enlarging • Content Amplification • Object Removal
Object Removal • User marks the target object to be removed. • Then seams are removed from the image until all marked pixels are gone. • To regain the original size, seam insertion is employed.
Object Removal • Find the missing shoe…
Object Removal • Object marking to remove unwanted results
Contents: • In one Line… • Need • Solutions and Other Work • Definition and Maths • Energy , Seam • Pixel Removal Criteria • Other Energy Functions? • Discrete Image Resizing • Aspect Ratio Change • Optimal Seam Order • Image Enlarging • Content Amplification • Object Removal • Multi-size Images • Limitations • Links
Multi Size Images • Methods mentioned so far are not real-time. • We calculate each seam remove it and calculate the next seam. • For real-time, we calculate- • index map V of size n×m that encodes, for each pixel, the index of the seam that removed it, i.e., V(i, j) = t means that pixel (i, j) was removed by the t-th seam removal.
Multi Size Images • Horizontal Index map (H) • Vertical Index map (V) • To get an image of width m’, • we need to remove m-m’ pixels from each row • we gather, in each row, all pixels with seam index greater than or equal to m−m’. • Same for changing the height. • Problem comes when we want to change both!
Contents: • In one Line… • Need • Solutions and Other Work • Definition and Maths • Energy , Seam • Pixel Removal Criteria • Other Energy Functions? • Discrete Image Resizing • Aspect Ratio Change • Optimal Seam Order • Image Enlarging • Content Amplification • Object Removal • Multi-size Images • Limitations • Links
Limitations • Too much content • No space for seam to avoid content
Links • Paper • ftp://ftp1.idc.ac.il/Arik_shamir/SCweb/imret/vidret.pdf • Youtube demo • http://www.youtube.com/watch?v=6NcIJXTlugc • Search google for Seam Carving…. Many many blogs…