Computer Graphics Optimization

Class Information

  • Instructor: Edgar SIMO-SERRA
  • Dates: Apr, 2024〜Jul, 2024
  • Lectures: Monday, 5th Period (17:00〜18:40)
  • Room: 53-B01教室
  • E-mail: ess@waseda.jp

Overview

この授業のスライドと講義は主に英語ですが、必要に応じて日本語でも説明します。または、日本語の講義資料もあります。
The class slides, materials, and explanations are primarily in English, however, additional explanations will be given in Japanese as needed.
At the moment, the class is planned to be held dominantly in-person as normal with exams.
Depending on the evolution of the corona virus, details are subject to change.

This courses focuses on different optimization approaches and their relationship with computer graphics optimization, such as colorization, texture synthesis, or shape manipulation. The course covers both convex and non-linear optimization, including discussion on recent developments such as deep learning. Each lecture will attempt to explain the theoretical foundations of a particular algorithm, and then explain real research examples based on the explained techniques.

The course will be evaluated mainly based on a large project and a final exam. The project will be done in small groups and consist of putting into practice the techniques learned in the class.

The programming assignments and project will be done in python using Jupyter notebooks. While the basics of python will be taught in this class, it is highly recommended that students complement this with self-study using the additional resources.

Objectives

  1. Learn the theoretical foundations of a large variety of optimization algorithms
  2. Be able to express real applications as optimization problems
  3. Ability to solve either exactly or approximately optimization problems
  4. Knowledge of a diversity of computer graphics optimization applications

Preparation

The following are slides that are meant to refresh basic concepts that are used throughout the lessons. Students are advised to review the following concepts before starting the class.

  1. Python Crash Course slides A Whirlwind Tour of Python
  2. Mathematics Refresher slides CO Appendix A

Class Schedule

  1. Introduction slides CO Chapter 1 NO Chapter 1
  2. Line Search slides NO Chapter 2+3
  3. Convex Optimization slides CO Chapter 2+3+4+5
  4. Unconstrained Minimization slides CO Chapter 9 NO Chapter 2+6
  5. Derivatives slides NO Chapter 8
  6. Linear Programming slides NO Chapter 13
  7. Interior-point Methods slides CO Chapter 11 NO Chapter 14
  8. Metaheuristics slides EM
  9. Recent Trends I slides
  10. Recent Trends II slides
  11. Recent Trends III slides
  12. Recent Trends IV slides
  13. Recent Trends V slides
  14. Group Work Presentation slides

Jupyter Notebooks

Textbook

  • CO Stephen Boyd, Convex Optimization, Cambridge University Press, 2004. ISBN: 978-0521833783 website PDF
  • NO Jorge Nocedal and Stephen Wright, Numerical Optimization (2nd Edition), Springer, 2006. ISBN: 978-0387303031
  • EM Sean Luke. Essentials of Metaheuristics. lulu.com, 2013. ISBN: 978-1300549628 website
  • Additional Resources
    • Aharon Ben-Tal and Arkadi Nemirovski, Lectures on Modern Convex Optimization PDF
    • Sébastian Bubeck, Convex Optimization: Algorithms and Complexity PDF
    • Jake VanderPlas, A Whirlwind Tour of Python, O’Reilly Media, 2016. ISBN: 978-1492037859 website
    • Jake VanderPlas, Python Data Science Handbook, O’Reilly Media, 2016. ISBN: 978-1491912058 website
    • Charles R. Severance, Python for Everybody: Exploring Data Using Python 3, Createspace Independent Pub, 2016. ISBN: 978-1530051120 website
    • Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola, Dive into Deep Learning, 2019. website