1 / 51

Using GenProg to Improve Computer Graphics

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?

herbst
Download Presentation

Using GenProg to Improve Computer Graphics

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Using GenProg to Improve Computer Graphics Adam Brady University of Virginia

  2. 1988

  3. 1988 2009

  4. Realistic materials are hard Project Goal: How can we better model real materials in computer graphics? Current modeling techniques fall under two distinct strategies

  5. Strategy 1: Math Step 1) Think hard about physics

  6. Strategy 1: Math Step 1) Think hard about physics Step 2) Channel James Clerk Maxwell

  7. 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

  8. Important Considerations What sort of patterns exist in the microscopic geometry structure? Can we statistically model light scattering? VERY FEW of these functions exist

  9. Problems with This Strategy Finding fundamental approximations of the natural world is hard Assumptions limit accuracy:

  10. Problems with This Strategy Finding fundamental approximations of the natural world is hard Assumptions limit accuracy:

  11. Strategy 2: Measurement Step 1) Acquire a sample of a real material

  12. Strategy 2: Measurement Step 1) Acquire a sample of a real material Step 2) Capture reflectance byphysically moving a light and camera

  13. 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

  14. Problems with This Strategy • The table is HUGE • Millions of samples needed • No fundamental truths gained • Data only describes one specific material

  15. We Need a Better Way • Math expressions are compact and contain adjustable parameters… • But inaccurate • Measured data is accurate.. • But HUGE and static

  16. Project Outline • Use GenProgto modify reflectance functions • (Think small math expressions written in C)

  17. 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

  18. 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

  19. INPUT EVALUATE FITNESS DISCARD ACCEPT OUTPUT MUTATE

  20. INPUT Error: 0.4523

  21. INPUT Error: 0.4523 MUTATE

  22. INPUT EVALUATE FITNESS Compare Error: 0.4523 Error: ? MUTATE

  23. INPUT EVALUATE FITNESS Compare ACCEPT Error: 0.4523 Error: ? Error: 0.3201 MUTATE

  24. INPUT EVALUATE FITNESS Compare Error: 0.9702 DISCARD ACCEPT Error: 0.4523 Error: ? Error: 0.3201 MUTATE

  25. INPUT EVALUATE FITNESS Compare Error: 0.9702 DISCARD ACCEPT Error: 0.4523 Error: ? Error: 0.3201 Error: 0.012 OUTPUT MUTATE

  26. Key Differences from GenProg • Optimize for visual similarity rather than pass/fail correctness • Our fitness evaluation is continuous rather than discrete

  27. 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

  28. Key Differences from GenProg • We typically construct entirely new programs rather than make minor edits

  29. 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.

  30. Experiment Setup Learn a new function for a single material 32 generations, 2048 functions/generation

  31. Results

  32. Results “I wouldn’t have thought of that!” -UVa Graphics Researcher

  33. Current Work Results only consider a singlematerial Learning functions that fit multiple materials is much more difficult

  34. 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

More Related