Palette-based Photo Recoloring

Slides:



Advertisements
Similar presentations
L3S Research Center University of Hanover Germany
Advertisements

The Helmholtz Machine P Dayan, GE Hinton, RM Neal, RS Zemel
SOFT SCISSORS: AN INTERACTIVE TOOL FOR REALTIME HIGH QUALITY MATTING International Conference on Computer Graphics and Interactive Techniques ACM SIGGRAPH.
Grey Level Enhancement Contrast stretching Linear mapping Non-linear mapping Efficient implementation of mapping algorithms Design of classes to support.
Color Seamlessness in Multi-Projector Displays Using Constrained Gamut Morphing IEEE Visualization, 2009 Behzad Sajadi Maxim Lazarov Aditi Majumder M.
Tim Smyth and Jamie Shutler Assessment of analysis and forecast skill Assessment using satellite data.
Comparing Twitter Summarization Algorithms for Multiple Post Summaries David Inouye and Jugal K. Kalita SocialCom May 10 Hyewon Lim.
Color Compatibility From Large Datasets Peter O’Donovan University of Toronto Aseem Agarwala Adobe Systems, Inc. Aaron Hertzmann University of Toronto.
EE663 Image Processing Histogram Equalization Dr. Samir H. Abdul-Jauwad Electrical Engineering Department King Fahd University of Petroleum & Minerals.
Chapter 4: Image Enhancement
Neurocomputing,Neurocomputing, Haojie Li Jinhui Tang Yi Wang Bin Liu School of Software, Dalian University of Technology School of Computer Science,
GrabCut Interactive Image (and Stereo) Segmentation Carsten Rother Vladimir Kolmogorov Andrew Blake Antonio Criminisi Geoffrey Cross [based on Siggraph.
GrabCut Interactive Image (and Stereo) Segmentation Joon Jae Lee Keimyung University Welcome. I will present Grabcut – an Interactive tool for foreground.
IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 19, NO. 12, DECEMBER /10/4.
Modeling Pixel Process with Scale Invariant Local Patterns for Background Subtraction in Complex Scenes (CVPR’10) Shengcai Liao, Guoying Zhao, Vili Kellokumpu,
1 Learning to Detect Objects in Images via a Sparse, Part-Based Representation S. Agarwal, A. Awan and D. Roth IEEE Transactions on Pattern Analysis and.
Efficient Moving Object Segmentation Algorithm Using Background Registration Technique Shao-Yi Chien, Shyh-Yih Ma, and Liang-Gee Chen, Fellow, IEEE Hsin-Hua.
Apparent Greyscale: A Simple and Fast Conversion to Perceptually Accurate Images and Video Kaleigh SmithPierre-Edouard Landes Joelle Thollot Karol Myszkowski.
Smart Templates for Chemical Identification in GCxGC-MS QingPing Tao 1, Stephen E. Reichenbach 2, Mingtian Ni 3, Arvind Visvanathan 2, Michael Kok 2, Luke.
An Iterative Optimization Approach for Unified Image Segmentation and Matting Hello everyone, my name is Jue Wang, I’m glad to be here to present our paper.
Cliff Rhyne and Jerry Fu June 5, 2007 Parallel Image Segmenter CSE 262 Spring 2007 Project Final Presentation.
Jacinto C. Nascimento, Member, IEEE, and Jorge S. Marques
Xinqiao LiuRate constrained conditional replenishment1 Rate-Constrained Conditional Replenishment with Adaptive Change Detection Xinqiao Liu December 8,
Radial Basis Function Networks
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
Stereo Matching Information Permeability For Stereo Matching – Cevahir Cigla and A.Aydın Alatan – Signal Processing: Image Communication, 2013 Radiometric.
UNDERSTANDING DYNAMIC BEHAVIOR OF EMBRYONIC STEM CELL MITOSIS Shubham Debnath 1, Bir Bhanu 2 Embryonic stem cells are derived from the inner cell mass.
IDL GUI for Digital Halftoning Final Project for SIMG-726 Computing For Imaging Science Changmeng Liu
Mean-shift and its application for object tracking
Efficient Editing of Aged Object Textures By: Olivier Clément Jocelyn Benoit Eric Paquette Multimedia Lab.
Multimedia Network Security Lab. On STUT Adaptive Weighting Color Palette Image Speaker:Jiin-Chiou Cheng Date:99/12/16.
MRFs and Segmentation with Graph Cuts Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 02/24/10.
Light Using Texture Synthesis for Non-Photorealistic Shading from Paint Samples. Christopher D. Kulla, James D. Tucek, Reynold J. Bailey, Cindy M. Grimm.
ALIGNMENT OF 3D ARTICULATE SHAPES. Articulated registration Input: Two or more 3d point clouds (possibly with connectivity information) of an articulated.
INTRODUCTION TO PHOTOSHOP. TOPICS TO BE DISCUSSED……….  Introduction Introduction  Features Features  Work Area Work Area.
Crowdsourcing Color Perceptions using Mobile Devices Jaejeung Kim 1, Sergey Leksikov 1, Punyotai Thamjamrassri 2, Uichin Lee 1, Hyeon-Jeong Suk 2 1 Dept.
Automated Construction of Parameterized Motions Lucas Kovar Michael Gleicher University of Wisconsin-Madison.
A Viable Implementation of a Comparison Algorithm for Regions of Interest John P. Heminghous Computer Science Clemson University
Learning to perceive how hand-written digits were drawn Geoffrey Hinton Canadian Institute for Advanced Research and University of Toronto.
Expert Systems with Applications 34 (2008) 459–468 Multi-level fuzzy mining with multiple minimum supports Yeong-Chyi Lee, Tzung-Pei Hong, Tien-Chin Wang.
Advances in digital image compression techniques Guojun Lu, Computer Communications, Vol. 16, No. 4, Apr, 1993, pp
Intelligent Database Systems Lab N.Y.U.S.T. I. M. Externally growing self-organizing maps and its application to database visualization and exploration.
Synthesizing Natural Textures Michael Ashikhmin University of Utah.
Image Segmentation in Color Space By Anisa Chaudhary.
Image Manipulation CSC361/661 – Digital Media Spring 2002 Burg/Wong.
VIP: Finding Important People in Images Clint Solomon Mathialagan Andrew C. Gallagher Dhruv Batra CVPR
Orientable Textures for Image- Based Pen-And-Ink Illustration Michael P. Salisbury Michael T. Wong John F. Hughes David A. Salesin SIGGRAPH 1997 Andrea.
Boosted Particle Filter: Multitarget Detection and Tracking Fayin Li.
Visualization Four groups Design pattern for information visualization
Timo Ahonen, Abdenour Hadid, and Matti Pietikainen
FACE DETECTION : AMIT BHAMARE. WHAT IS FACE DETECTION ? Face detection is computer based technology which detect the face in digital image. Trivial task.
Learning Photographic Global Tonal Adjustment with a Database of Input / Output Image Pairs.
Identifying “Best Bet” Web Search Results by Mining Past User Behavior Author: Eugene Agichtein, Zijian Zheng (Microsoft Research) Source: KDD2006 Reporter:
Instance Discovery and Schema Matching With Applications to Biological Deep Web Data Integration Tantan Liu, Fan Wang, Gagan Agrawal {liut, wangfa,
Cutting Images: Graphs and Boundary Finding Computational Photography Derek Hoiem, University of Illinois 09/20/12 “The Double Secret”, Magritte.
Learning and Removing Cast Shadows through a Multidistribution Approach Nicolas Martel-Brisson, Andre Zaccarin IEEE TRANSACTIONS ON PATTERN ANALYSIS AND.
Shadow Detection in Remotely Sensed Images Based on Self-Adaptive Feature Selection Jiahang Liu, Tao Fang, and Deren Li IEEE TRANSACTIONS ON GEOSCIENCE.
A Self-organizing Semantic Map for Information Retrieval Xia Lin, Dagobert Soergel, Gary Marchionini presented by Yi-Ting.
Image Stitching II Linda Shapiro EE/CSE 576.
Cutting Images: Graphs and Boundary Finding
GrabCut Interactive Foreground Extraction using Iterated Graph Cuts Carsten Rother Vladimir Kolmogorov Andrew Blake Microsoft Research Cambridge-UK.
1-Introduction (Computing the image histogram).
Content-Sensitive Screening in Black and White
Ying Dai Faculty of software and information science,
Ying Dai Faculty of software and information science,
Ying Dai Faculty of software and information science,
Color Model By : Mustafa Salam.
Image Stitching II Linda Shapiro EE/CSE 576.
Ying Dai Faculty of software and information science,
Learning and Memorization
Presentation transcript:

Palette-based Photo Recoloring Huiwen Chang Ohad Fried Yiming Liu  Stephen DiVerdi Adam Finkelstein SIGGRAPH 2015

Outline Introduction Approach Evaluation Results Conclusion

Introduction Demo: http://recolor.cs.princeton.edu/demo/index.html

Introduction Goal original

Introduction This paper introduces a tool that is easy for novices to learn while offering a broad expressive range. Our approach specifies both the colors to be manipulated and the modifications to these colors via a color palette. We show that our algorithm can easily be accelerated that allows it to run at interactive frame rates.

Introduction We perform a study showing that with our tool untrained users can produce similar results to those of expert Photoshop users. Finally, we show that our palette-based color transfer framework also supports other interfaces. stroke-based interface localized editing via a selection mask fully-automatic palette improvement editing a collection of images simultaneously

Approach Monotonic Luminance Transfer Color Transfer User interface Automatic Palette Selection Color Transfer Goals Acceleration Simple Expressive Intuitive Responsive (k + 1)-means Interpolation In Gamut Pixel Continuity Palette Continuity One-to-One Monotonicity in L Dynamic Range

Approach(1) -User interface These criteria are important for a color manipulation user interface: Simple Expressive Intuitive Responsive While there are many existing tools that allow users to recolor images, to our knowledge none of them simultaneously achieve these goals.

Approach(1) -User interface We describe a palette-based GUI The user needs only to click on a palette color (C) and change it (to C’) via a HSL color picker.

Approach(2) - Automatic Palette Selection Our automatic approach for creating a palette based on an image, using a variant of the k-means algorithm. Our goal is to select a set of k colors { 𝐶 𝑖 } that distill the main color groups in the image, to be used as “controls” during editing. We leave the choice of k up to the user and find that k ∈ [3, 7] works well for typical operations, and use k = 5 by default.

Approach(2) - Automatic Palette Selection Organizing the data in K-D trees [Kanungo et al. 2002]. Exploiting the property that our data are colors restricted to R, G, B ∈ [0, 1], we assign them to bins in a b × b × b histogram (we use b = 16 in RGB). For each bin we compute the mean color in Lab space, and these 𝒃 𝟑 colors 𝒄 𝒊 (or less because some bins may be empty) are the data we use for k-means. Each data point 𝑐 𝑖 now represents the 𝑛 𝑖 pixels associated with that bin, we use a weighted mean (weighted by 𝑛 𝑖 ) when finding each of the k means in each iteration. KANUNGO, T., MOUNT, D., NETANYAHU, N., PIATKO, C., SILVERMAN, R., AND WU, A. 2002. An efficient k-means clustering algorithm: analysis and implementation. Pattern Analysis and Machine Intelligence, IEEE Transactions on 24, 7 (Jul), 881–892.

Approach(2) - Automatic Palette Selection Instead of randomizing, we initialize the means as follows. We initialize the first “mean” as the color 𝑐 𝑖 representing the bin with the largest weight 𝑛 𝑖 . Next we attenuate all other weights 𝑛 𝑗 by a factor Next we choose bin with the highest remaining weight 𝑛 𝑖 , repeating until k initial “means” have been chosen. falloff

Approach(2) - Automatic Palette Selection We discourage very dark palette entries as follows. Rather than computing k-means, we actually compute (k + 1)-means, where one of them is initialized and perpetually locked to black. The darkest colors in the image will be assigned to this mean, and will therefore not pull the other nearby means towards black.

Approach(2) - Automatic Palette Selection For a comparison of our approach with the previously described methods. (D) O’Donovan et al. [2011] (L) Lin et al. [2013] (G) Gaussian mixture models (GMMs) used by Shapira et al. [2009] (K) K-means (O) Our method 10s 2s 60ms O’DONOVAN, P., AGARWALA, A., AND HERTZMANN, A. 2011. Color Compatibility From Large Datasets. ACM Transactions on Graphics 30, 4. LIN, S., AND HANRAHAN, P. 2013. Modeling how people extract color themes from images. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI ’13. SHAPIRA, L., SHAMIR, A., AND COHEN-OR, D. 2009. Image appearance exploration by model-based navigation. In Computer Graphics Forum, vol. 28, 629–638.

Approach(3) - Color Transfer Goals The association ({ 𝐶 𝑖 }, { 𝐶′ 𝑖 }) defines a transfer function 𝑓 that maps colors in the original image to colors in the edited image. We assume that 𝑓 acts on colors independently of pixel location or context in the image.

Approach(3) - Color Transfer Goals Interpolation. In Gamut. Pixel Continuity. Palette Continuity. One-to-One. Monotonicity in L. Dynamic Range A gradient in the input maps to a gradient in the output (not a single value).

Approach(3) - Color Transfer Goals To our knowledge no existing approaches can be easily adapted to meet the requirements listed above. To make matters worse, the requirements themselves are inconsistent.

Approach(4)-Monotonic Luminance Transfer In the GUI The GUI constrains the relative ordering of luminance 𝐿′ 𝑖 of the edited palette colors 𝐶′ 𝑖 . Whenever the user modifies 𝐶′ 𝑖 , the GUI also sets To change the luminance of a palette entry we simply modify the L channel in Lab space. This operation is evaluated in increasing order for all palette entries j > i; and the symmetric operation (involving min and 𝐿′ 𝑗+1 ) is applied in decreasing order for entries where j < i. in the input palette in the edited palette

Approach(4)-Monotonic Luminance Transfer In the transfer function we design a transfer function that has two orthogonal components – 𝑓 𝐿 and 𝑓 𝑎𝑏 . The luminance transfer function simply takes a weighted combination of the two nearest palette entries.

Approach(5) - Color Transfer (ab) The design of the function 𝑓 𝑎𝑏 is not guided by the monotonicity concern , but it does target the other requirements. First we devise the function 𝑓 1 for the simple case where the original palette contains a single color C , and the user modifies it to be color C’. For any color 𝑥 we would like to know 𝑥 ′ = 𝑓 1 𝑥 . A naive strategy

Approach(5) - Color Transfer We devise a scheme Finally, we take 𝑓 1 𝑥 = 𝑥 ′ , the point on the ray from 𝑥 to 𝑥 𝑏 such that: we determine if 𝒙 𝟎 = 𝒙 + 𝑪 ′ − 𝑪 is in gamut. These intersections are found by binary search.

Approach(5) - Color Transfer Define 𝑘 transfer functions 𝑓 𝑖 𝑥 For the weights we use radial basis functions (RBFs): Found that the Gaussian kernel function works well in our application: The 𝑘 2 unknown coefficients λ 𝑖𝑗 are found by solving a system of 𝑘 2 equations: 𝑘 of which require ω 𝑖 ( 𝐶 𝑖 ) = 1 and 𝑘 2 − 𝑘 of which require ω 𝑗≠𝑖 (𝐶 𝑖 ) = 0.

Approach(5) - Color Transfer Unfortunately solving the system of equations set up by the RBFs can lead to negative weights, with two potential hazards. It will add some component of the opposite behavior of some palette changes. It can throw the result out of gamut. We clamp any negative weights to zero and renormalize the non-zero weights. a palette size of k = 3

Approach(6) - Acceleration We further accelerate the computation by caching these weights ω 𝑖 only at a 𝑔×𝑔×𝑔 grid of locations uniformly sampled in the RGB cube. During color editing when the 𝐶′ 𝑖 are known, we can compute the output color 𝑓(𝑥) at these 𝑔 3 locations using the precomputed weights. Finally, to recolor each pixel in the image use trilinear interpolation on eight nearest grid values.

Approach(6) - Acceleration Without acceleration, our runtime is . With acceleration, runtime is . Throughout this paper and in our demo we use g = 12, because it performs well across a range of computers and images, so . Results of varying grid size g Update time vs. grid size

Evaluation(1) -Other Recoloring Methods Chen et al. [2014] Shapira et al. [2009] Wang et al. [2010]

Evaluation(2) -User Study In order to judge expressiveness, the task we give our users is a matching task. We collected 32 original-target pairs. -Half (16) were selected from eight papers. -The other half were created by two expert Photoshop users. For the study we used Amazon’s Mechanical Turk framework. Each worker was assigned randomly to one of three different conditions: our method, GMM, and hue-blend.

Evaluation(2) -User Study

Evaluation(2) -User Study Aggregates all distance-from-target results. better

Evaluation(2) -User Study Shows completion times over all subjects, for each of the three methods. roughly the same slower slowest

Results Show examples of using our method with palettes of size 3 and 5.

Results Our method supports masks, constraining the edits to specific image regions.

Results(1) -Video Recoloring Our method is fast enough to be applied to a video, in real time. The interaction uses the same interface as for photos.

Results(2) -Duotone Duotone reproduction is a traditional printing technique that typically involves two colors of ink applied via halftone patterns over white paper. Our method can easily produce a similar effect.

Results(3) -Automatic Color Manipulation We can automatically pick a top rated palette and apply it to an image.

Results(4) -Editing an Image Collection We show that our system can trivially operate on a collection of images simultaneously. original collection result

Results(5) -Stroke-Based Interface Our palette based editing method can easily be augmented with a stroke-based interface that relies on the same algorithms described. We set the palette size: Stroke-based editing. the approach of Chen et al. [2012] our method input output local global input output

Conclusion This paper introduces a simple, intuitive and interactive tool that allows non-experts to recolor an image by editing a color palette. We show results for recoloring, image collection editing and video editing, and validate via a user study.

References histogram adjustment methods in Photoshop https://goo.gl/AbJPHT HSL https://goo.gl/UqnlZb