skip to main content
research-article

ProxImaL: efficient image optimization using proximal algorithms

Published:11 July 2016Publication History
Skip Abstract Section

Abstract

Computational photography systems are becoming increasingly diverse, while computational resources---for example on mobile platforms---are rapidly increasing. As diverse as these camera systems may be, slightly different variants of the underlying image processing tasks, such as demosaicking, deconvolution, denoising, inpainting, image fusion, and alignment, are shared between all of these systems. Formal optimization methods have recently been demonstrated to achieve state-of-the-art quality for many of these applications. Unfortunately, different combinations of natural image priors and optimization algorithms may be optimal for different problems, and implementing and testing each combination is currently a time-consuming and error-prone process. ProxImaL is a domain-specific language and compiler for image optimization problems that makes it easy to experiment with different problem formulations and algorithm choices. The language uses proximal operators as the fundamental building blocks of a variety of linear and nonlinear image formation models and cost functions, advanced image priors, and noise models. The compiler intelligently chooses the best way to translate a problem formulation and choice of optimization algorithm into an efficient solver implementation. In applications to the image processing pipeline, deconvolution in the presence of Poisson-distributed shot noise, and burst denoising, we show that a few lines of ProxImaL code can generate highly efficient solvers that achieve state-of-the-art results. We also show applications to the nonlinear and nonconvex problem of phase retrieval.

Skip Supplemental Material Section

Supplemental Material

a84.mp4

mp4

268.3 MB

References

  1. Almeida, M., and Figueiredo, M. 2013. Frame-based image deblurring with unknown boundary conditions using the alternating direction method of multipliers. In Proc. ICIP, 582--585.Google ScholarGoogle Scholar
  2. Attouch, H., Bolte, J., and Svaiter, B. F. 2011. Convergence of descent methods for semi-algebraic and tame problems: proximal algorithms, forward--backward splitting, and regularized Gauss--Seidel methods. Mathematical Programming 137, 1, 91--129.Google ScholarGoogle ScholarCross RefCross Ref
  3. Beck, A., and Teboulle, M. 2009. A fast iterative shrinkage-thresholding algorithm for linear inverse problems. SIAM Journal on Imaging Sciences 2, 1, 183--202. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Becker, S., Candès, E., and Grant, M. 2011. Templates for convex cone problems with applications to sparse signal recovery. Mathematical Programming Computation 3, 3, 165--218.Google ScholarGoogle ScholarCross RefCross Ref
  5. Bernstein, G. L., Shah, C., Lemire, C., DeVito, Z., Fisher, M., Levis, P., and Hanrahan, P. 2015. Ebb: A DSL for physical simluation on CPUs and GPUs. arXiv e-Print 1506.07577.Google ScholarGoogle Scholar
  6. Bertalmio, M., Sapiro, G., Caselles, V., and Ballester, C. 2000. Image inpainting. In Proc. SIGGRAPH, 417--424. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Boyd, S., Parikh, N., Chu, E., Peleato, B., and Eckstein, J. 2011. Distributed optimization and statistical learning via the alternating direction method of multipliers. Foundations and Trends in Machine Learning 3, 1, 1--122. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Brooke, A., Kendrick, D., Meeraus, A., and Rosenthal, R. 1988. GAMS: A user's guide. Course Technology.Google ScholarGoogle Scholar
  9. Bruck, R. 1975. An iterative solution of a variational inequality for certain monotone operators in Hilbert space. Bulletin of the American Mathematical Society 81, 5 (Sept.), 890--892.Google ScholarGoogle ScholarCross RefCross Ref
  10. Chambolle, A., and Pock, T. 2011. A first-order primal-dual algorithm for convex problems with applications to imaging. Journal of Mathematical Imaging and Vision 40, 1, 120--145. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Danielyan, A., Katkovnik, V., and Egiazarian, K. 2012. BM3D frames and variational image deblurring. IEEE Trans. Image Processing 21, 4, 1715--1728. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Debevec, P. E., and Malik, J. 1997. Recovering high dynamic range radiance maps from photographs. In Proc. ACM SIGGRAPH, 369--378. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Diamond, S., and Boyd, S. 2015. Convex optimization with abstract linear operators. In Proc. IEEE ICCV. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Diamond, S., and Boyd, S. 2016. Matrix-free convex optimization modeling. In Optimization and Applications in Control and Data Sciences. Springer. To appear.Google ScholarGoogle Scholar
  15. Diamond, S., and Boyd, S. 2016. CVXPY: A Python-embedded modeling language for convex optimization. Journal of Machine Learning Research. To appear.Google ScholarGoogle Scholar
  16. Dupe, F.-X., Fadili, M., and Starck, J.-L. 2011. Inverse problems with Poisson noise: Primal and primal-dual splitting. In Proc. ICIP.Google ScholarGoogle Scholar
  17. Esser, E., Zhang, X., and Chan, T. F. 2010. A general framework for a class of first order primal-dual algorithms for convex optimization in imaging science. SIAM Journal on Imaging Sciences 3, 4, 1015--1046. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Evangelidis, G. D., and Psarakis, E. Z. 2008. Parametric image alignment using enhanced correlation coefficient maximization. Pattern Analysis and Machine Intelligence, IEEE Transactions on 30, 10, 1858--1865. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Fattal, R., Lischinski, D., and Werman, M. 2002. Gradient domain high dynamic range compression. In ACM Trans. Graph., vol. 21, ACM, 249--256. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Fergus, R., Singh, B., Hertzmann, A., Roweis, S. T., and Freeman, W. T. 2006. Removing camera shake from a single photograph. ACM Trans. Graph. 25, 3, 787--794. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Fienup, J. R. 1982. Phase retrieval algorithms: a comparison. Applied Optics 21, 15, 2758--2769.Google ScholarGoogle ScholarCross RefCross Ref
  22. Figueiredo, M., and Bioucas-Dias, J. 2010. Restoration of Poissonian images using alternating direction optimization. IEEE Trans. Image Processing 19, 12, 3133--3145. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Foley, T., and Hanrahan, P. 2011. Spark: Modular, compos-able shaders for graphics hardware. ACM Trans. Graph. (SIGGRAPH) 30, 4. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Fougner, C., and Boyd, S. 2015. Parameter selection and preconditioning for a graph form solver. arXiv e-Print 1503.08366.Google ScholarGoogle Scholar
  25. Geman, D., and Yang, C. 1995. Nonlinear image recovery with half-quadratic regularization. IEEE Trans. Image Processing 4,7, 932--946. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Giselsson, P., and Boyd, S. 2014. Diagonal scaling in Douglas-Rachford splitting and ADMM. In Proceedings of the 53rd IEEE Conference on Decision and Control.Google ScholarGoogle Scholar
  27. Goldstein, T., and Osher, S. 2009. The split Bregman method for ℓ1 -regularized problems. SIAM Journal on Imaging Sciences 2, 2, 323--343. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Grant, M., and Boyd, S., 2014. CVX: MATLAB software for disciplined convex programming, version 2.1. http://cvxr.com/cvx.Google ScholarGoogle Scholar
  29. Gu, J., Hitomi, Y., Mitsunaga, T., and Nayar, S. 2010. Coded Rolling Shutter Photography: Flexible Space-Time Sampling. In Proc. IEEE ICCP.Google ScholarGoogle Scholar
  30. Hallac, D., Leskovec, J., and Boyd, S. 2015. Network lasso: Clustering and optimization in large graphs. In Proc. ACM SIGKDD, 387--396. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Heide, F., Rouf, M., Hullin, M. B., Labitzke, B., Heidrich, W., and Kolb, A. 2013. High-quality computational imaging through simple lenses. ACM Trans. Graph. 32, 5, 149. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Heide, F., Steinberger, M., Tsai, Y.-T., Rouf, M., Pajak, D., Reddy, D., Gallo, O., Liu, J., Heidrich, W., Egiazarian, K., Kautz, J., and Pulli, K. 2014. FlexISP: A flexible camera image processing framework. ACM Trans. Graph. (SIGGRAPH Asia) 33, 6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Hestenes, M., and Stiefel, E. 1952. Methods of conjugate gradients for solving linear systems. J. Res. N.B.S. 49, 6, 409--436.Google ScholarGoogle Scholar
  34. Joshi, N., Zitnick, C. L., Szeliski, R., and Kriegman, D. J. 2009. Image deblurring and denoising using color priors. In Proc. IEEE CVPR, 1550--1557.Google ScholarGoogle Scholar
  35. Krishnan, D., and Fergus, R. 2009. Fast image deconvolution using hyper-Laplacian priors. In Advances in Neural Information Processing Systems, 1033--1041.Google ScholarGoogle Scholar
  36. Krishnan, D., and Szeliski, R. 2011. Multigrid and multilevel preconditioners for computational photography. ACM Trans. Graph. 30, 6, 177. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Kunisch, K., and Pock, T. 2013. A bilevel optimization approach for parameter learning in variational models. SIAM Journal on Imaging Sciences 6, 2, 938--983.Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Lehoucq, R., and Sorensen, D. 1996. Deflation techniques for an implicitly restarted Arnoldi iteration. SIAM Journal on Matrix Analysis and Applications 17, 4, 789--821. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Levin, A., Lischinski, D., and Weiss, Y. 2004. Colorization using optimization. In ACM Trans. Graph., vol. 23, 689--694. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Levin, A., Zomet, A., Peleg, S., and Weiss, Y. 2004. Seamless image stitching in the gradient domain. In Proc. ECCV. 377--389.Google ScholarGoogle Scholar
  41. Li, G., and Pong, T. K. 2015. Global convergence of splitting methods for nonconvex composite optimization. arXiv e-Print 1407.0753.Google ScholarGoogle Scholar
  42. Lofberg, J. 2004. YALMIP: A toolbox for modeling and optimization in MATLAB. In Proc. IEEE Int. Symp. Computed Aided Control Systems Design, 294--289.Google ScholarGoogle ScholarCross RefCross Ref
  43. Möllenhoff, T., Strekalovskiy, E., Moeller, M., and Cremers, D. 2015. The primal-dual hybrid gradient method for semiconvex splittings. SIAM Journal on Imaging Sciences 8, 2, 827--857.Google ScholarGoogle ScholarCross RefCross Ref
  44. Moreau, J.-J. 1965. Proximité et dualité dans un espace hilbertien. Bulletin de la Société mathématique de France 93, 273--299.Google ScholarGoogle Scholar
  45. Ochs, P., Chen, Y., Brox, T., and Pock, T. 2014. iPiano: Inertial proximal algorithm for nonconvex optimization. SIAM Journal on Imaging Sciences 7, 2, 1388--1419.Google ScholarGoogle ScholarCross RefCross Ref
  46. O'Donoghue, B., Chu, E., Parikh, N., and Boyd, S. 2015. Operator splitting for conic optimization via homogeneous self-dual embedding. arXiv e-Print 1312.3039.Google ScholarGoogle Scholar
  47. Paige, C., and Saunders, M. 1982. LSQR: An algorithm for sparse linear equations and sparse least squares. ACM Trans. Mathematical Software 8, 1, 43--71. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Parikh, N., and Boyd, S. 2013. Proximal algorithms. Foundations and Trends in Optimization 1, 3, 123--231. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Pock, T., and Chambolle, A. 2011. Diagonal preconditioning for first order primal-dual algorithms in convex optimization. In Proceedings of the IEEE International Conference on Computer Vision, 1762--1769. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Pock, T., Cremers, D., Bischof, H., and A. Chambolle. 2009. An algorithm for minimizing the Mumford-Shah functional. In Proceedings of the IEEE International Conference on Computer Vision, 1133--1140.Google ScholarGoogle Scholar
  51. Ragan-Kelley, J., Barnes, C., Adams, A., Paris, S., Durand, F., and Amarasinghe, S. 2013. Halide: a language and compiler for optimizing parallelism, locality, and recomputation in image processing pipelines. ACM SIGPLAN 48, 6, 519--530. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Robini, M. C., and Zhu, Y. 2015. Generic half-quadratic optimization for image reconstruction. SIAM Journal on Imaging Sciences 8, 3, 1752--1797.Google ScholarGoogle ScholarCross RefCross Ref
  53. Rockafellar, R. 1976. Augmented Lagrangians and applications of the proximal point algorithm in convex programming. Mathematics of Operations Research 1, 2, 97--116. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Schmidt, U., and Roth, S. 2014. Shrinkage fields for effective image restoration. In Proc. IEEE CVPR, 2774--2781. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Sidky, E. Y., and Pan, X. 2008. Image reconstruction in circular cone-beam computed tomography by constrained, total-variation minimization. Physics in medicine and biology 53, 17, 4777.Google ScholarGoogle Scholar
  56. Tian, L., and Waller, L. 2015. 3D intensity and phase imaging from light field measurements in an LED array microscope. Optica 2, 2, 104--111.Google ScholarGoogle ScholarCross RefCross Ref
  57. Tsai, Y.-T., Steinberger, M., Pajak, D., and Pulli, K. 2014. Fast ANN for high-quality collaborative filtering. In High Performance Graphics.Google ScholarGoogle Scholar
  58. Udell, M., Mohan, K., Zeng, D., Hong, J., Diamond, S., and Boyd, S. 2014. Convex optimization in Julia. Workshop on High Performance Technical Computing in Dynamic Languages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Vidimice, K., Wang, S.-P., Ragan-Kelley, J., and Matusik, W. 2013. OpenFab: A programmable pipeline for multi-material fabrication. ACM Trans. Graph. (SIGGRAPH) 32, 4. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Wytock, M., Wang, P.-W., and Zico Kolter, J. 2015. Convex programming with fast proximal and linear operators. arXiv e-Print 1511.04815.Google ScholarGoogle Scholar
  61. Zhang, L., Wu, X., Buades, A., and Li, X. 2011. Color demosaicking by local directional interpolation and nonlocal adaptive thresholding. Journal of Electronic Imaging 20, 2, 023016--023016.Google ScholarGoogle ScholarCross RefCross Ref
  62. Zhu, Y. 2015. An augmented ADMM algorithm with application to the generalized lasso problem. Journal of Computational and Graphical Statistics, just-accepted.Google ScholarGoogle Scholar
  63. Zoran, D., and Weiss, Y. 2011. From learning models of natural image patches to whole image restoration. In Proc. IEEE ICCV, 479--486. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. ProxImaL: efficient image optimization using proximal algorithms

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM Transactions on Graphics
            ACM Transactions on Graphics  Volume 35, Issue 4
            July 2016
            1396 pages
            ISSN:0730-0301
            EISSN:1557-7368
            DOI:10.1145/2897824
            Issue’s Table of Contents

            Copyright © 2016 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 11 July 2016
            Published in tog Volume 35, Issue 4

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader