Skip to main content
Log in

Collaborative Personalization of Image Enhancement

  • Published:
International Journal of Computer Vision Aims and scope Submit manuscript

Abstract

This paper presents methods for personalization of image enhancement, which could be deployed in photo editing software and also in cloud-based image sharing services. We observe that users do have different preferences for enhancing images and that there are groups of people that share similarities in preferences. Our goal is to predict enhancements for novel images belonging to a particular user based on her specific taste, to facilitate the retouching process on large image collections. To that end, we describe an enhancement framework that can learn user preferences in an individual or collaborative way. The proposed system is based on a novel interactive application that allows to collect user’s enhancement preferences. We propose algorithms to predict personalized enhancements by learning a preference model from the provided information. Furthermore, the algorithm improves prediction performance as more enhancement examples are progressively added. We conducted experiments via Amazon Mechanical Turk to collect preferences from a large group of people. Results show that the proposed framework can suggest image enhancements more targeted to individual users than commercial tools with global auto-enhancement functionalities.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Similar content being viewed by others

Notes

  1. This kernel matrix is a positive semidefinite matrix and is akin to the kernel matrix used in classifiers such as SVMs.

  2. In this work, we whiten the enhancement preferences before applying the model and re-project back to ordinal space eventually which results in preservation of the structure of the parameter space.

  3. Available at http://labelme.csail.mit.edu/

  4. http://picasa.google.com/

  5. http://download.live.com/photogallery

  6. Details on the process of color correction using \(T\) and \(h\) can be found in (Wyszecki and Stiles 1982).

References

  • Buchsbaum, G. (1980). A spatial processor model for object colour perception. Journal of the Franklin Institute, 310, 337–350.

    Article  Google Scholar 

  • Bychkovsky, V., Paris, S., Chan, E., & Durand, F. (2011). Learning photographic global tonal adjustment with a database of input/output image Pairs. In: CVPR’11.

  • Caicedo, J., Kapoor, A., & Kang, S. B. (2011). Collaborative personalization of image enhancement. In CVPR’11.

  • Chua, T. S., Tang, J., Hong, R., Li, H., Luo, Z., & Zheng, Y. (2009). Nus-wide: A real-world web image database from national university of singapore. In CIVR ’09, ACM.

  • Dale, K., Johnson, M. K., Sunkavalli, K., Matusik, W., & Pfister, H. (2009). Image restoration using online photo collections. In ICCV.

  • Elad, M., & Aharon, M. (2006). Image denoising via sparse and redundant representations over learned dictionaries. IEEE Trans Image Processing, 54(12), 3736–3745.

    Article  MathSciNet  Google Scholar 

  • Farid, H. (2001). Blind inverse gamma correction. IEEE Transactions on Image Processing, 10(10), 1428–1433.

    Article  MATH  Google Scholar 

  • Farid, H., & Popescu, A. C. (2001). Blind removal of lens distortions. Journal of the Optical Society of America, 18(9), 2072–2078.

    Article  Google Scholar 

  • Fergus, R., Singh, B., Hertzmann, A., Roweis, S. T., & Freeman, W. T. (2006). Removing camera shake from a single photograph. ACM Transactions on Graphics, 25(3), 787–794.

    Article  Google Scholar 

  • Fogarty, J., Tan, D., Kapoor, A., & Winder, S. (2008). Cueflik: Interactive concept learning in image search. In Conference on human factors in computing systems (CHI).

  • Freeman, W. T., Jones, T. R., & Pasztor, E. C. (2002). Example-based super-resolution. IEEE Computer Graphics and Applications, 22, 56–65.

    Google Scholar 

  • Gehler, P. V., Rother, C., Blake, A., Minka, T., & Sharp, T. (2008). Bayesian color constancy revisited. In CVPR.

  • Gijsenij, A., & Gevers, T. (2007). Color constancy using natural image statistics. In CVPR.

  • Grabler, F., Agrawala, M., Li, W., Dontcheva, M., & Igarashi, T. (2009). Generating photo manipulation tutorials by demonstration. ACM Transactions on Graphics, 28(3), 1–9.

    Article  Google Scholar 

  • Hays, J., & Efros, A. (2008). Scene completion using millions of photographs. Communications of the ACM, 51(10), 87–94.

    Article  Google Scholar 

  • Hsu, E., Mertens, T., Paris, S., Avidan, S., & Durand, F. (2008). Light mixture estimation for spatially varying white balance. ACM Transactions on Graphics and SIGGRAPH, 27(3), article 70.

    Google Scholar 

  • Jain, P., Kulis, B., Dhillon, I., & Grauman, K. (2008). Online metric learning and fast similarity search. In NIPS.

  • Joshi, N., Matusik, W., Adelson, E. H., & Kriegman, D. J. (2010). Personal photo enhancement using example images. ACM Transactions on Graphics, 29(2), 1–15.

    Article  Google Scholar 

  • Kang, S. B. (2007). Automatic removal of chromatic aberration from a single image. In CVPR.

  • Kang, S. B., Kapoor, A., & Lischinski, D. (2010). Personalization of image enhancement. In CVPR.

  • Kapoor, A., Ahn, H., & Picard, R. W. (2005). Mixture of Gaussian processes for combining multiple modalities. In Workshop on multiple classifier systems, 2005.

  • Koren, Y., Bell, R., & Volinsky, C. (2009). Matrix factorization techniques for recommender systems. IEEE, Computer Journal, 42(8), 30–37.

    Article  Google Scholar 

  • Krause, A., Singh, A., & Guestrin, C. (2008). Near-optimal sensor placements in gaussian processes: Theory, efficient algorithms and empirical studies. Journal of Machine Learning Research, 9, 235–284.

    MATH  Google Scholar 

  • Lawrence, N. D., & Urtasun R. (2009). Non-linear matrix factorization with Gaussian processes. In Proceedings of the 26th annual international conference on machine learning. ACM, 2009.

  • Lin, S., Gu, J., Yamazaki, S., & Shum, H. Y. (2004). Radiometric calibration using a single image. In CVPR (Vol. 2, pp. 938–945).

  • Liu, D. C., & Nocedal, J. (1989). On the limited memory method for large scale optimization. Mathematical Programming B, 45(3), 503–528.

    Google Scholar 

  • Mairal, J., Bach, F., Ponce, J., Sapiro, G., & Zisserman, A. (2009). Non-local sparse models for image restoration. In ICCV.

  • Marks, J., Andalman, B., Beardsley, P., Freeman, W., Gibson, S., Hodgins, J., et al. (1997). Design galleries: A general approach to setting parameters for computer graphics and animation. In ACM SIGGRAPH (pp. 389–400).

  • Portilla, J., Strela, V., Wainwright, M. J., & Simoncelli, E. P. (2003). Image denoising using scale mixtures of Gaussians in the wavelet domain. IEEE Transactions on Image Processing, 12(11), 1338–1351.

    Article  MATH  MathSciNet  Google Scholar 

  • Rennie, J. D. M., & Nathan, S. (2005). Fast maximum margin matrix factorization for collaborative prediction. In Proceedings of the 22nd international conference on machine learning. ACM, 2005.

  • Russell, B. C., Torralba, A., Murphy, K. P., & Freeman, W. T. (2008). Labelme: A database and web-based tool for image annotation. IJCV, 77(1–3), 157–173.

    Article  Google Scholar 

  • Salakhutdinov, R., & Mnih, A. (2007). Probabilistic matrix factorization. In Advances in neural information processing systems (Vol. 20). MIT, Cambridge, MA.

  • Sarwar, B., Karypis, G., Konstan, J., & Riedl, J. (2001). Item-based collaborative filtering recommendation algorithms. In WWW. New York, NY: ACM.

  • Seeger, M. (2004). Gaussian processes for machine learning. International Journal of Neural Systems, 14(2), 69–106.

    Article  Google Scholar 

  • Shapira, L., Shamir, A., & Cohen-Or, D. (2009). Image appearance exploration by model based navigation.

  • Stanikunas, R. (2004). Investigation of color constancy with a neural network. Neural Networks, 17(3), 327–337.

    Google Scholar 

  • Tenenbaum, J. B., de Silva, V., & Langford, J. C. (2000). A global geometric framework for nonlinear dimensionality reduction. Science, 290(5500), 2319–2323.

    Google Scholar 

  • Tresp, V. (2001). Neural Information Processing Systems: Mixture of Gaussian Processes 2001.

  • Wilcoxon, F. (1945). Individual comparisons by ranking methods. Biometrics, 1, 80–83.

    Article  Google Scholar 

  • Wyszecki, G., & Stiles, W. S. (1982). Color science: Concepts and methods quantitative data and formulae. New York: Wiley.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ashish Kapoor.

Appendix: Detailed Enhancement Operations

Appendix: Detailed Enhancement Operations

We approximate the processes of linearization and reversion to original nonlinear space with gamma curves with parameter \(\gamma = 2.2\) and \(\gamma ^{-1} = 0.455\), respectively. RGB is linearized using \(c_\mathrm{linear} = c^\gamma \), where \(c = R, G, B\) (normalized). The linearized RGB values are then color corrected and contrast enhanced, and finally “unlinearized” by applying the inverse operation.

1.1 Contrast Curve Specification

To manipulate the contrast, we use the power and S-curves.

Power curve: \(\tau \). This is equivalent to the gamma curve (but note that is kept separate from the gamma curve, as seen in Fig.  2): \(y = x^\tau \), with \(x\) and \(y\) being the normalized input and output intensities.

S-curve: \(\lambda , a\). The S-curve is also commonly used to globally modify contrast. The formula we used to specify the S-curve is

$$\begin{aligned} y = \left\{ \begin{array}{ll} a - a \left( 1 - \frac{x}{a} \right) ^\lambda &{} \text{ if } x \le a \\ a + (1-a) \left( \frac{x-a}{1-a} \right) ^\lambda &{} \text{ otherwise } \end{array} \right. , \end{aligned}$$
(5)

with \(x\) and \(y\) being the normalized input and output intensities (see Fig.  15a).

Fig. 15
figure 15

Two examples of contrast curves. a S-curve to specify global contrast change. b Parameterized curve to specify shadow, mid-tone, and highlight regions. In our enhancement pipeline, we use (a)

1.2 Color Correction: Temperature \(T\) and Tint \(h\)

We color correct based on color temperature \(T\) and tint \(h\), rather than applying a \(3 \times 3\) diagonal matrixFootnote 6. The notion of temperature and tint is a more natural parameterization from the photographer’s perspective. Also, we deal with only two instead of three parameters. (One can “normalize” the matrix so that the resulting luminance is unchanged, yielding two independent parameters, but these numbers are perceptually less meaningful.)

The color temperature is determined by comparing its chromaticity with that of an ideal black-body radiator. In practice, however, color temperature is relative to a standard, usually D65 standard, which is equivalent to 6,500 K. The temperature curve is along the blue–yellow line. Unintuitive as it may seem, higher color temperatures (5,000 K or more) are “cool” colors (green–blue), while lower are “warm” colors (yellow–red). Tint, however, is orthogonal to color temperature, and controls change along the green-magenta axis.

1.3 Auto-Correction as Preprocess Step

Our version of auto-correction consists of auto-white balance followed by auto-contrast stretch.

Auto-white balance. We make the gray-world assumption for the brightest 5 % of the pixels (Buchsbaum 1980). The gray-world assumption is that the average color of all pixels in the image, i.e., the white point, is gray (R=G=B) with equal luminance as the average color. A matrix M is computed such that it transforms the average color to gray. This matrix M is then applied to all the pixels in the image. We found that empirically, it is more robust to use a certain percentage of the brightest pixels that are not saturated to compute the white point. More sophisticated techniques (such as Hsu et al. (2008)) may be used, but even then, limitations exist. This portion generates 3 parameters, each a color band multiplier.

Auto-contrast stretch. We find the intensity \(I_0\) such that a maximum of 0.4 % of the pixels are darker or as dark as \(I_0\), and intensity \(I_1\) such that a maximum of 1 % of the pixels are brighter or as bright as \(I_1\). We then linearly stretch the brightness so that \(I_0\) is mapped to \(0\) and \(I_1\) is mapped to \(255\) (with appropriate clamping at \(0\) and \(255\)). This portion generates 2 parameters, a shift and a scale, similarly applied to all color bands.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kapoor, A., Caicedo, J.C., Lischinski, D. et al. Collaborative Personalization of Image Enhancement. Int J Comput Vis 108, 148–164 (2014). https://doi.org/10.1007/s11263-013-0675-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11263-013-0675-3

Keywords

Navigation