The Choices We Make Frdo Durand MIT CSAIL

  • Slides: 38
Download presentation
The Choices We Make Frédo Durand MIT CSAIL MIT Computer Science & Artificial Intelligence

The Choices We Make Frédo Durand MIT CSAIL MIT Computer Science & Artificial Intelligence Laboratory

Introduction • My background – Math/CS – I have read much perception litterature –

Introduction • My background – Math/CS – I have read much perception litterature – Amateur photographer – No artistic training, terrible draftsman • Two example projects – Photography tonal management – Line drawing from 3 D models MIT Computer Science & Artificial Intelligence Laboratory

Introduction • I don't build tools, I am an academic researcher, my deliverables are

Introduction • I don't build tools, I am an academic researcher, my deliverables are articles, not software – But it's not a complete excuse to write about useless tools • Two types of "consumers/users" – Computer scientists who implement/extend my techniques * Do they understand choices I made, choices they can make? – En-users who use these tools * Are my choices relevant to them? MIT Computer Science & Artificial Intelligence Laboratory

Tonal management • Over and under-exposure is the largest cause of bad photographs –

Tonal management • Over and under-exposure is the largest cause of bad photographs – Here's a choice I make! • Both for professional and consumers MIT Computer Science & Artificial Intelligence Laboratory

High Dynamic Range • Real-world contrast is high • Display contrast is low Real

High Dynamic Range • Real-world contrast is high • Display contrast is low Real world Picture 10 -6 High dynamic range 10 -6 106 Low contrast MIT Computer Science & Artificial Intelligence Laboratory

Our approach • Non-linear two-scale decomposition • Reduce contrast of large scale; preserve local

Our approach • Non-linear two-scale decomposition • Reduce contrast of large scale; preserve local detail Large-scale Output Detail Color MIT Computer Science & Artificial Intelligence Laboratory

Live demo MIT Computer Science & Artificial Intelligence Laboratory

Live demo MIT Computer Science & Artificial Intelligence Laboratory

Choices I made • • Decomposition: my contribution Compute in log space: I have

Choices I made • • Decomposition: my contribution Compute in log space: I have good reasons How to separate intensity/color - incidental How to reduce large-scale layer – incidental Parameters I expose Default parameters – matter of taste Maybe other choices I don't realize I made Large-scale Output Detail Color MIT Computer Science & Artificial Intelligence Laboratory

Anecdote about tone mapping evaluation • Recent work has performed user experiments to evaluate

Anecdote about tone mapping evaluation • Recent work has performed user experiments to evaluate competing tone mapping operators – [Ledda et al. 2005, Kuang et al. 2004] • Interestingly, the former concludes my method is the worst, the latter that my method is the best! – They choose to test a different criterion: fidelity vs. preference • More importantly, they focus on algorithm and ignore parameters MIT Computer Science & Artificial Intelligence Laboratory

A programmable approach to Line Drawing With Stephane Grabli, Emmanuel Turquin & François Sillion

A programmable approach to Line Drawing With Stephane Grabli, Emmanuel Turquin & François Sillion

Motivation: Style vs. Technique • Non-Photorealistic Rendering – Imitate traditional media • Each paper

Motivation: Style vs. Technique • Non-Photorealistic Rendering – Imitate traditional media • Each paper focuses on one particular style, which is usually hardcode with a only few available parameters • Stylistic choices mixed with technical ones MIT Computer Science & Artificial Intelligence Laboratory

Goal: Decouple style from technique • First step: pure line drawing System for rendering

Goal: Decouple style from technique • First step: pure line drawing System for rendering line drawing from 3 D scenes – Including a flexible style description tool MIT Computer Science & Artificial Intelligence Laboratory

Goal: Decouple style from technique • First step: pure line drawing System for rendering

Goal: Decouple style from technique • First step: pure line drawing System for rendering line drawing from 3 D scenes – Including a flexible style description tool MIT Computer Science & Artificial Intelligence Laboratory

Goal: Decouple style from technique • First step: pure line drawing System for rendering

Goal: Decouple style from technique • First step: pure line drawing System for rendering line drawing from 3 D scenes – Including a flexible style description tool – Ensuring model independence MIT Computer Science & Artificial Intelligence Laboratory

Goal: Decouple style from technique • First step: pure line drawing System for rendering

Goal: Decouple style from technique • First step: pure line drawing System for rendering line drawing from 3 D scenes – Including a flexible style description tool – Ensuring model independence MIT Computer Science & Artificial Intelligence Laboratory

Style in line drawing • Occlusion and nature thickness © ITEDO www. itedo. com

Style in line drawing • Occlusion and nature thickness © ITEDO www. itedo. com MIT Computer Science & Artificial Intelligence Laboratory

Style in line drawing • Depth discontinuity thickness Herdman MIT Computer Science & Artificial

Style in line drawing • Depth discontinuity thickness Herdman MIT Computer Science & Artificial Intelligence Laboratory

Hypothesis • Drawing can be described as a process • Stylistic decisions (line thickness,

Hypothesis • Drawing can be described as a process • Stylistic decisions (line thickness, omission) are related to scene and image information • These decision strategies can be embedded in procedures MIT Computer Science & Artificial Intelligence Laboratory

Some relevant information • • • Geometry (2 D, 3 D coordinates, normals, …)

Some relevant information • • • Geometry (2 D, 3 D coordinates, normals, …) Differential geometry (2 D, 3 D curvatures, …) Line adjacency Line nature (silhouette, crease, contour, …) Occluding information (visibility, occluder, depth discontinuity, …) • Material • Object id • Drawing density MIT Computer Science & Artificial Intelligence Laboratory

Approach Style 3 D « View Map » + information MIT Computer Science &

Approach Style 3 D « View Map » + information MIT Computer Science & Artificial Intelligence Laboratory Drawing

Style: code class py. Guiding. Line. Shader(Stroke. Shader): def shade(self, stroke): it = stroke.

Style: code class py. Guiding. Line. Shader(Stroke. Shader): def shade(self, stroke): it = stroke. Vertices. Begin() itlast = stroke. Vertices. End() itlast. decrement() t = itlast. get. Object(). get. Point() - it. get. Object(). get. Point() itmiddle = Stroke. Vertex. Iterator(it) while(itmiddle. get. Object(). u()<0. 5): itmiddle. increment() while(it. is. End() == 0): it. get. Object(). Set. Point(itmiddle. get. Object(). get. Point() +t*(it. get. Object(). u()-itmiddle. get. Object(). u())) it. increment() Operators. select(Quantitative. Invisibility. UP 1 D(0)) Operators. bidirectional. Chain(Chain. Silhouette. Iterator()) Operators. recursive. Split( Curvature 2 DF 0 D(), py. Parameter. UP 0 D(0. 2, 0. 8), Not. UP 1 D(Length. Higher. UP 1 D(75)), 2) shaders_list = [ Stroke. Texture. Shader("pencil. jpg", Stroke. DRY_MEDIUM, 1), Constant. Color. Shader(0, 0, 0, 1), Constant. Thickness. Shader(2. 0), py. Guiding. Line. Shader(), py. Backbone. Stretcher. Shader(0. 2)] Operators. create(True. UP 1 D(), shaders_list) MIT Computer Science & Artificial Intelligence Laboratory

Style operators • shade • select • chain • split MIT Computer Science &

Style operators • shade • select • chain • split MIT Computer Science & Artificial Intelligence Laboratory

Style operators • shade • select • chain • split MIT Computer Science &

Style operators • shade • select • chain • split MIT Computer Science & Artificial Intelligence Laboratory

Shading Thickness Geometry Plain strokes Color MIT Computer Science & Artificial Intelligence Laboratory Information

Shading Thickness Geometry Plain strokes Color MIT Computer Science & Artificial Intelligence Laboratory Information dependent

Shading Depth discontinuity thickness MIT Computer Science & Artificial Intelligence Laboratory

Shading Depth discontinuity thickness MIT Computer Science & Artificial Intelligence Laboratory

Style operators • shade • select • chain • split MIT Computer Science &

Style operators • shade • select • chain • split MIT Computer Science & Artificial Intelligence Laboratory

Splitting Split at points of highest 2 D curvature MIT Computer Science & Artificial

Splitting Split at points of highest 2 D curvature MIT Computer Science & Artificial Intelligence Laboratory

Splitting Split at points of highest 2 D curvature MIT Computer Science & Artificial

Splitting Split at points of highest 2 D curvature MIT Computer Science & Artificial Intelligence Laboratory

Results MIT Computer Science & Artificial Intelligence Laboratory

Results MIT Computer Science & Artificial Intelligence Laboratory

Oriental style MIT Computer Science & Artificial Intelligence Laboratory

Oriental style MIT Computer Science & Artificial Intelligence Laboratory

Density-based emphasis MIT Computer Science & Artificial Intelligence Laboratory

Density-based emphasis MIT Computer Science & Artificial Intelligence Laboratory

Technical illustration style MIT Computer Science & Artificial Intelligence Laboratory

Technical illustration style MIT Computer Science & Artificial Intelligence Laboratory

Recap • Procedural description for style in line drawing – Line drawing from 3

Recap • Procedural description for style in line drawing – Line drawing from 3 D models – Control topology, geometry & attributes of strokes • Choices – Automatic picture generation from 3 D model – Restrict to pure line drawing – Describe style using procedures – View map, types of lines – Information we provide – Types of operators MIT Computer Science & Artificial Intelligence Laboratory

Choices We Make • • Model Algorithms Parameters User Interface • Problems we choose

Choices We Make • • Model Algorithms Parameters User Interface • Problems we choose • Evaluation criteria • In articles, we must explain the respective importance of choices MIT Computer Science & Artificial Intelligence Laboratory

It's the question, stupid! • The important is not the answer to a choice,

It's the question, stupid! • The important is not the answer to a choice, it's the choice of the question • And even more importantly, the implicit choices we make without asking the question MIT Computer Science & Artificial Intelligence Laboratory

MIT Computer Science & Artificial Intelligence Laboratory

MIT Computer Science & Artificial Intelligence Laboratory

Other choices • Do we target pro of casual users? • How automatic should

Other choices • Do we target pro of casual users? • How automatic should things be? MIT Computer Science & Artificial Intelligence Laboratory

Bad choice consequences • No uses our technique: we don't address any problem, or

Bad choice consequences • No uses our technique: we don't address any problem, or give the wrong solution • People are frustrated by our technique • We make something too easy, becomes uniform • Ethical problems MIT Computer Science & Artificial Intelligence Laboratory