Harvard Panel Choices We Make

Embed Size (px)

Citation preview

  • 7/31/2019 Harvard Panel Choices We Make

    1/38

  • 7/31/2019 Harvard Panel Choices We Make

    2/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    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 3D models

  • 7/31/2019 Harvard Panel Choices We Make

    3/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    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?

  • 7/31/2019 Harvard Panel Choices We Make

    4/38MITComputerScience &ArtificialIntelligenceLaboratory

    Tonal management

    Over and under-exposure is the largest

    cause of bad photographs Here's a choice I make!

    Both for professional and consumers

  • 7/31/2019 Harvard Panel Choices We Make

    5/38MITComputerScience &ArtificialIntelligenceLaboratory

    High Dynamic Range

    Real-world contrast is high

    Display contrast is low

    10-6 106

    10-6 106

    Real world

    Picture

    Low contrast

    High dynamic range

  • 7/31/2019 Harvard Panel Choices We Make

    6/38MITComputerScience &ArtificialIntelligenceLaboratory

    Our approach

    Non-linear two-scale decomposition

    Reduce contrast of large scale; preserve local detail

    OutputLarge-scale

    Detail

    Color

  • 7/31/2019 Harvard Panel Choices We Make

    7/38MITComputerScience &ArtificialIntelligenceLaboratory

    Live demo

    http://localhost/var/www/apps/conversion/current/tmp/scratch6995/Job/distrib/bila.exe
  • 7/31/2019 Harvard Panel Choices We Make

    8/38MITComputerScience &ArtificialIntelligenceLaboratory

    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 layerincidental

    Parameters I expose Default parametersmatter of taste

    Maybe other choices I don't realize I madeOutputLarge-scale

    Detail

    Color

  • 7/31/2019 Harvard Panel Choices We Make

    9/38

    A bl h

  • 7/31/2019 Harvard Panel Choices We Make

    10/38

    A programmable approach toLine DrawingWith Stephane Grabli, Emmanuel Turquin &Franois Sillion

  • 7/31/2019 Harvard Panel Choices We Make

    11/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Motivation: Style vs. Technique

    Non-Photorealistic Rendering

    Imitate traditional media

    Each paper focuses on one particular style, which isusually hardcode with a only few available

    parameters Stylistic choices mixed with technical ones

  • 7/31/2019 Harvard Panel Choices We Make

    12/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Goal: Decouple style from technique

    First step: pure line drawingSystem for rendering line drawing from 3D scenes

    Including a flexible style description tool

  • 7/31/2019 Harvard Panel Choices We Make

    13/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    First step: pure line drawingSystem for rendering line drawing from 3D scenes

    Including a flexible style description tool

    Goal: Decouple style from technique

  • 7/31/2019 Harvard Panel Choices We Make

    14/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Goal: Decouple style from technique

    First step: pure line drawingSystem for rendering line drawing from 3D scenes

    Including a flexible style description tool

    Ensuring model independence

  • 7/31/2019 Harvard Panel Choices We Make

    15/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    First step: pure line drawingSystem for rendering line drawing from 3D scenes

    Including a flexible style description tool

    Ensuring model independence

    Goal: Decouple style from technique

  • 7/31/2019 Harvard Panel Choices We Make

    16/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Style in line drawing

    ITEDO www.itedo.com

    Occlusion and nature thickness

  • 7/31/2019 Harvard Panel Choices We Make

    17/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Style in line drawing

    Herdman

    Depth discontinuity thickness

  • 7/31/2019 Harvard Panel Choices We Make

    18/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    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 inprocedures

  • 7/31/2019 Harvard Panel Choices We Make

    19/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Some relevant information

    Geometry (2D, 3D coordinates, normals, )

    Differential geometry (2D, 3D curvatures, )

    Line adjacency

    Line nature (silhouette, crease, contour, )

    Occluding information(visibility, occluder, depth discontinuity, )

    Material

    Object id

    Drawing density

  • 7/31/2019 Harvard Panel Choices We Make

    20/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Approach

    3D View Map

    Style

    Drawing

    +information

  • 7/31/2019 Harvard Panel Choices We Make

    21/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Style: code

    Operators.select(QuantitativeInvisibilityUP1D(0))Operators.bidirectionalChain(ChainSilhouetteIterator())Operators.recursiveSplit( Curvature2DF0D(),

    pyParameterUP0D(0.2,0.8),NotUP1D(LengthHigherUP1D(75)), 2)

    shaders_list = [ StrokeTextureShader("pencil.jpg", Stroke.DRY_MEDIUM, 1),ConstantColorShader(0,0,0,1),ConstantThicknessShader(2.0),

    pyGuidingLineShader(),

    pyBackboneStretcherShader(0.2)]Operators.create(TrueUP1D(),shaders_list)

    classpyGuidingLineShader(StrokeShader):def shade(self, stroke):

    it = stroke.strokeVerticesBegin()itlast = stroke.strokeVerticesEnd()itlast.decrement()t = itlast.getObject().getPoint() - it.getObject().getPoint()itmiddle = StrokeVertexIterator(it)

    while(itmiddle.getObject().u()

  • 7/31/2019 Harvard Panel Choices We Make

    22/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Style operators

    shade

    select chain

    split

  • 7/31/2019 Harvard Panel Choices We Make

    23/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Style operators

    shade

    select chain

    split

  • 7/31/2019 Harvard Panel Choices We Make

    24/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    ShadingThickness Geometry

    Color Information dependent

    Plain strokes

  • 7/31/2019 Harvard Panel Choices We Make

    25/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Shading

    Depth discontinuity thickness

    St l t

  • 7/31/2019 Harvard Panel Choices We Make

    26/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Style operators

    shade

    select chain

    split

  • 7/31/2019 Harvard Panel Choices We Make

    27/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Splitting

    Split at points of highest 2D curvature

  • 7/31/2019 Harvard Panel Choices We Make

    28/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Splitting

    Split at points of highest 2D curvature

    Results

  • 7/31/2019 Harvard Panel Choices We Make

    29/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Results

    Oriental style

  • 7/31/2019 Harvard Panel Choices We Make

    30/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Oriental style

  • 7/31/2019 Harvard Panel Choices We Make

    31/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Density-based emphasis

  • 7/31/2019 Harvard Panel Choices We Make

    32/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Technical illustration style

    Recap

  • 7/31/2019 Harvard Panel Choices We Make

    33/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Recap

    Procedural description for style in line drawing

    Line drawing from 3D models Control topology, geometry & attributes of strokes

    Choices

    Automatic picture generation from 3D model Restrict to pure line drawing

    Describe style using procedures

    View map, types of lines

    Information we provide

    Types of operators

    Choices We Make

  • 7/31/2019 Harvard Panel Choices We Make

    34/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Choices We Make

    Model

    Algorithms

    Parameters

    User Interface

    Problems we choose

    Evaluation criteria

    In articles, we must explain the respectiveimportance of choices

    It's the question stupid!

  • 7/31/2019 Harvard Panel Choices We Make

    35/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    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

  • 7/31/2019 Harvard Panel Choices We Make

    36/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Other choices

  • 7/31/2019 Harvard Panel Choices We Make

    37/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    Other choices

    Do we target pro of casual users?

    How automatic should things be?

    Bad choice consequences

  • 7/31/2019 Harvard Panel Choices We Make

    38/38

    MITComputerScience &ArtificialIntelligenceLaboratory

    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