using genprog to improve computer graphics
Download
Skip this Video
Download Presentation
Using GenProg to Improve Computer Graphics

Loading in 2 Seconds...

play fullscreen
1 / 51

Using GenProg to Improve Computer Graphics - PowerPoint PPT Presentation


  • 96 Views
  • Uploaded on

Using GenProg to Improve Computer Graphics. Adam Brady University of Virginia. 1988 . 1988 2009. Realistic materials are hard. Project Goal: How can we better model real materials in computer graphics?

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Using GenProg to Improve Computer Graphics' - herbst


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
using genprog to improve computer graphics

Using GenProg to Improve Computer Graphics

Adam Brady

University of Virginia

realistic materials are hard
Realistic materials are hard

Project Goal: How can we better model real materials in computer graphics?

Current modeling techniques fall under two distinct strategies

strategy 1 math
Strategy 1: Math

Step 1) Think hard about physics

strategy 1 math1
Strategy 1: Math

Step 1) Think hard about physics

Step 2) Channel James Clerk Maxwell

strategy 1 math2
Strategy 1: Math

Step 1) Think hard about physics

Step 2) Channel James Clerk Maxwell

Step 3) Write down an equation that

approximates the physical world

important considerations
Important Considerations

What sort of patterns exist in the microscopic geometry structure?

Can we statistically model light scattering?

VERY FEW of these functions exist

problems with this strategy
Problems with This Strategy

Finding fundamental approximations of the natural world is hard

Assumptions limit accuracy:

problems with this strategy1
Problems with This Strategy

Finding fundamental approximations of the natural world is hard

Assumptions limit accuracy:

strategy 2 measurement
Strategy 2: Measurement

Step 1) Acquire a sample of a real material

strategy 2 measurement1
Strategy 2: Measurement

Step 1) Acquire a sample of a real material

Step 2) Capture reflectance byphysically

moving a light and camera

strategy 2 measurement2
Strategy 2: Measurement

Step 1) Acquire a sample of a real material

Step 2) Capture reflectance byphysically

moving a light and camera

Step 3) Record data in one massive table

problems with this strategy2
Problems with This Strategy
  • The table is HUGE
    • Millions of samples needed
  • No fundamental truths gained
    • Data only describes one specific material
we need a better way
We Need a Better Way
  • Math expressions are compact and contain adjustable parameters…
    • But inaccurate
  • Measured data is accurate..
    • But HUGE and static
project outline
Project Outline
  • Use GenProgto modify reflectance functions
    • (Think small math expressions written in C)
project outline1
Project Outline
  • Use GenProg to modify reflectance functions
    • (Think small math expressions written in C)
  • Measure fitness by rendering an image using the new function
    • Compare to reference image produced using measured data
project outline2
Project Outline
  • Use GenProg to modify reflectance functions
    • (Think small math expressions written in C)
  • Measure fitness by rendering an image using the new function
    • Compare to reference image produced using measured data
  • Goal: Achieve measured data accuracy using a compact, adjustable math expression
slide26

INPUT

EVALUATE FITNESS

DISCARD

ACCEPT

OUTPUT

MUTATE

slide27

INPUT

Error: 0.4523

slide28

INPUT

Error: 0.4523

MUTATE

slide29

INPUT

EVALUATE FITNESS

Compare

Error: 0.4523

Error: ?

MUTATE

slide30

INPUT

EVALUATE FITNESS

Compare

ACCEPT

Error: 0.4523

Error: ?

Error: 0.3201

MUTATE

slide31

INPUT

EVALUATE FITNESS

Compare

Error: 0.9702

DISCARD

ACCEPT

Error: 0.4523

Error: ?

Error: 0.3201

MUTATE

slide32

INPUT

EVALUATE FITNESS

Compare

Error: 0.9702

DISCARD

ACCEPT

Error: 0.4523

Error: ?

Error: 0.3201

Error: 0.012

OUTPUT

MUTATE

key differences from genprog
Key Differences from GenProg
  • Optimize for visual similarity rather than pass/fail correctness
    • Our fitness evaluation is continuous rather than discrete
key differences from genprog1
Key Differences from GenProg
  • Optimize for visual similarity rather than pass/fail correctness
    • Our fitness evaluation is continuous rather than discrete
  • No fault localization
    • Entire C program can be changed
key differences from genprog2
Key Differences from GenProg
  • We typically construct entirely new programs rather than make minor edits
key differences from genprog3
Key Differences from GenProg
  • We typically construct entirely new programs rather than make minor edits
  • We use additional domain-specific mutation operators that operateat the expression level
    • sin(x+y) cos(x+y), vectora vectorb, etc.
experiment setup
Experiment Setup

Learn a new function for a single material

32 generations, 2048 functions/generation

results1
Results

“I wouldn’t have thought of that!”

-UVa Graphics Researcher

current work
Current Work

Results only consider a singlematerial

Learning functions that fit multiple materials is much more difficult

conclusions
Conclusions

We used GenProglearn new compact, elegant expressions to accurately describe real materials

However, additional work needs to be done to learn more general models

ad