Gradients, Poisson's Equation and Light Transport | Two Minute Papers #20

Two Minute Papers · Advanced ·🌐 Frontend Engineering ·10y ago

Key Takeaways

Solves Poisson's Equation and models light transport for photorealistic rendering using gradients and global illumination

Full Transcript

Dear fellow scholars, this is two minute papers with Kohaa. This is going to be a more in-depth episode of the series. Photoreistic rendering means that we create a 3D model of a scene on a computer and we run a light simulation program that shows how it would look like in reality. These programs simulate rays of light that connect the camera to the light sources in the scene and compute the flow of energy between them. If you have missed our earlier episode on Metropolis light transport and if you're interested, make sure to watch it first. I've put a link in the description box. This time, let's go one step beyond classical light transport algorithms and talk about a gradient domain rendering technique and how we can use it to create photorealistic images quicker. First of all, what is a gradient? The gradient is a mathematical concept. Let's imagine an elevation map of a country where there are many hills and many flat regions. And imagine that you are an ambitious hill climber who is looking for a challenge. Therefore, you would always like to go in the direction that seems to be the highest elevation increase, the biggest rock that you can climb nearby. The gradient is a bunch of arrows that always point in the direction of the largest increase on the map. Here with blue, you can see the elevation map with the mountains and below it with red, the gradient of this elevation map. This is where you should be going if you're looking for a challenge. It is essentially a guide book for aspiring hill climbers. One more example with a heat map. The bluer colors denote colder. The reddish colors show the warmer regions. If you're freezing, the gradients will show you where you should go to warm up. So if you have the elevation map, it is really easy to create the gradients out of it. But what if we have it the other way around? This would mean that we only have the guide book, the red arrows, and from that we would like to guess what the blue elevation map looks like. It's like a cross word puzzle only way cooler. In mathematics, we call this procedure solving the poson equation. So, let's try to solve it by hand. I look at the middle where there are no arrows pointing in this direction, only ones that point out of here, meaning that there is an increase outwards. Therefore, this has to be a huge hole. If I look at the corners, I don't see very long arrows, meaning that there's no real change in these parts. Therefore, it must be a flat region. So, we can solve this poson equation and recreate the map from the guide book. To see what this is good for, let's jump right into the gradient domain renderer. Imagine that we have this simple scene with a light source, an object that occludes the light source, and the camera looking down on this shadow edge. Let's rip out this region and create a close-up of it. Imagine that the light regions are large hills on the elevation map and the shadow wedge is the ground level below those. Previous algorithms were looking to shoot as many rays as possible towards the brighter regions, but not this one. The gradient domain algorithm is looking for gradients, abrupt changes in the illumination, if you will. You can see these white red pairs next to each other. These are the places where the algorithm concentrates. If we compute the difference between them, we get the gradients of our elevation map. In these regions, the difference is zero. Therefore, we would have infinitely small arrows. And from the previous examples, we solve the poson equation to get the blue map back from the red arrows. The small arrows mean that we have a completely flat region. So, we can recognize that we have a white wall in the background by just looking at a few places. We don't need to explore every inch of it like previous algorithms do. And as you can see at the shadow edge, the algorithm is quite interested in this change. In our gradients, there will be a large red arrow pointing from the white to the red dot because we are going from the darkness to a light region. After solving the paw equation, we recognize that there should be a huge jump here. So in the end, with this technique, we can often get a much better idea of the illumination in the scene than we did with previous methods that just tried to explore every single inch of it. The result is improved output images with much less noise even though the gradient domain renderer computed much less rays than the previous random algorithm. Excellent piece of work. Bravo. Now that we understand what gradients and Pon's equation is, let's play a quick game together and try to learn these mathematical concepts from the internet like an undergrad student would do. And before you run away in terror, this is not supposed to be pleasant. I'll try to make a point after reading this. In mathematics, the gradient is a generalization of the usual concept of derivative of a function in one dimension to a function in several dimensions. If f of x1 to xn is a differentiable scalar valued function of standard cartisian coordinates in uklidian space, its gradient is the vector whose components are the n partial derivatives of f. It is thus a vector valued function. Now let's proceed to pansaw's equation. In mathematics, Pansson's equation is a partial differential equation of elliptic type with broad utility in electrostatics, mechanical engineering, and theoretical physics. It is used, for instance, to describe the potential energy field caused by a given charge or mass density distribution. This piece of text is one of the reasons why I started two-minut papers. I try to pull the curtains and show that difficult mathematical and scientific concepts often conceal very simple and intuitive ideas that anyone can understand. And I am delighted to have you by my side on this journey. This was anything but 2 minutes. I incorporated a bit more details for you to have a deeper understanding of this incredible work. I hope you don't mind. Let me know if you liked it in the comment section below. Thanks for watching and I'll see you next time.

Original Description

Photorealistic rendering (also called global illumination) enables us to see how digital objects would look like in real life. It is an amazingly powerful tool in the hands of a professional artist, who can create breathtaking images or animations with. However, images created with these technique contain a substantial amount of noise until a large number of light rays are computed. Today, we're going to talk about how to use gradients and Poisson's equation to speed up this process substantially. ________________________ The paper "Gradient-Domain Path Tracing" is available here: https://mediatech.aalto.fi/publications/graphics/GPT/ The paper "Gradient-Domain Metropolis Light Transport" is available here: https://mediatech.aalto.fi/publications/graphics/GMLT/ I held a course on photorealistic rendering at the Technical University of Vienna. Here you can learn how the physics of light works and to write programs like this: https://www.youtube.com/playlist?list=PLujxSBD-JXgnGmsn7gEyN28P1DnRZG7qi Recommended for you: Metropolis Light Transport - https://www.youtube.com/watch?v=f0Uzit_-h3M&index=9&list=PLujxSBD-JXgnqDD1n-V30pKtp6Q886x7e Manipulating Photorealistic Renderings - https://www.youtube.com/watch?v=L7MOeQw47BM&index=6&list=PLujxSBD-JXgnqDD1n-V30pKtp6Q886x7e A talk on ray tracing - https://www.youtube.com/watch?v=qyDUvatu5M8 The Moon's elevation map is provided by NASA and is available here (license: CC BY 2.0) - https://flic.kr/p/aFqE3n Music: "Infinite Perspective" by Kevin MacLeod is licensed under a Creative Commons Attribution license (https://creativecommons.org/licenses/by/4.0/) Source: http://incompetech.com/music/royalty-free/index.html?isrc=USUAN1500024 Artist: http://incompetech.com/ Subscribe if you would like to see more of these! - http://www.youtube.com/subscription_center?add_user=keeroyz Splash screen/thumbnail design: Felícia Fehér - http://felicia.hu Károly Zsolnai-Fehér's links: Patreon → https://www.patreon.com/TwoMinutePapers F
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Two Minute Papers · Two Minute Papers · 22 of 60

1 Fluid Simulations with Blender and Wavelet Turbulence | Two Minute Papers #1
Fluid Simulations with Blender and Wavelet Turbulence | Two Minute Papers #1
Two Minute Papers
2 Capturing Waves of Light With Femto-photography | Two Minute Papers #2
Capturing Waves of Light With Femto-photography | Two Minute Papers #2
Two Minute Papers
3 Artificial Neural Networks and Deep Learning | Two Minute Papers #3
Artificial Neural Networks and Deep Learning | Two Minute Papers #3
Two Minute Papers
4 Blender Rendering - Top 7 LuxRender Features
Blender Rendering - Top 7 LuxRender Features
Two Minute Papers
5 Simulating Breaking Glass | Two Minute Papers #4
Simulating Breaking Glass | Two Minute Papers #4
Two Minute Papers
6 Time Lapse Videos From Community Photos | Two Minute Papers #5
Time Lapse Videos From Community Photos | Two Minute Papers #5
Two Minute Papers
7 AI Learns Van Gogh's Art
AI Learns Van Gogh's Art
Two Minute Papers
8 Hydrographic Printing | Two Minute Papers #7
Hydrographic Printing | Two Minute Papers #7
Two Minute Papers
9 Announcing LuxRender 1.5
Announcing LuxRender 1.5
Two Minute Papers
10 Digital Creatures Learn To Walk | Two Minute Papers #8
Digital Creatures Learn To Walk | Two Minute Papers #8
Two Minute Papers
11 Manipulating Photorealistic Renderings | Two Minute Papers #9
Manipulating Photorealistic Renderings | Two Minute Papers #9
Two Minute Papers
12 Adaptive Fluid Simulations | Two Minute Papers #10
Adaptive Fluid Simulations | Two Minute Papers #10
Two Minute Papers
13 Building Bridges With Flying Machines | Two Minute Papers #11
Building Bridges With Flying Machines | Two Minute Papers #11
Two Minute Papers
14 Reconstructing Sound From Vibrations | Two Minute Papers #12
Reconstructing Sound From Vibrations | Two Minute Papers #12
Two Minute Papers
15 Creating Photographs Using Deep Learning | Two Minute Papers #13
Creating Photographs Using Deep Learning | Two Minute Papers #13
Two Minute Papers
16 Adaptive Cloth Simulations | Two Minute Papers #14
Adaptive Cloth Simulations | Two Minute Papers #14
Two Minute Papers
17 Synthesizing Sound From Collisions | Two Minute Papers #15
Synthesizing Sound From Collisions | Two Minute Papers #15
Two Minute Papers
18 Metropolis Light Transport | Two Minute Papers #16
Metropolis Light Transport | Two Minute Papers #16
Two Minute Papers
19 3D Printing a Glockenspiel | Two Minute Papers #17
3D Printing a Glockenspiel | Two Minute Papers #17
Two Minute Papers
20 Modeling Colliding and Merging Fluids | Two Minute Papers #18
Modeling Colliding and Merging Fluids | Two Minute Papers #18
Two Minute Papers
21 Recurrent Neural Network Writes Music and Shakespeare Novels | Two Minute Papers #19
Recurrent Neural Network Writes Music and Shakespeare Novels | Two Minute Papers #19
Two Minute Papers
Gradients, Poisson's Equation and Light Transport | Two Minute Papers #20
Gradients, Poisson's Equation and Light Transport | Two Minute Papers #20
Two Minute Papers
23 Real-Time Facial Expression Transfer | Two Minute Papers #21
Real-Time Facial Expression Transfer | Two Minute Papers #21
Two Minute Papers
24 Automatic Lecture Notes From Videos | Two Minute Papers #22
Automatic Lecture Notes From Videos | Two Minute Papers #22
Two Minute Papers
25 Be a Part of Two Minute Papers on Patreon!
Be a Part of Two Minute Papers on Patreon!
Two Minute Papers
26 Recurrent Neural Network Writes Sentences About Images | Two Minute Papers #23
Recurrent Neural Network Writes Sentences About Images | Two Minute Papers #23
Two Minute Papers
27 How Does Deep Learning Work? | Two Minute Papers #24
How Does Deep Learning Work? | Two Minute Papers #24
Two Minute Papers
28 Cryptography, Perfect Secrecy and One Time Pads | Two Minute Papers #25
Cryptography, Perfect Secrecy and One Time Pads | Two Minute Papers #25
Two Minute Papers
29 Terrain Traversal with Reinforcement Learning | Two Minute Papers #26
Terrain Traversal with Reinforcement Learning | Two Minute Papers #26
Two Minute Papers
30 Multiple-Scattering Microfacet BSDFs with the Smith Model
Multiple-Scattering Microfacet BSDFs with the Smith Model
Two Minute Papers
31 Google DeepMind's Deep Q-Learning & Superhuman Atari Gameplays | Two Minute Papers #27
Google DeepMind's Deep Q-Learning & Superhuman Atari Gameplays | Two Minute Papers #27
Two Minute Papers
32 Are We Living In a Computer Simulation? | Two Minute Papers #28
Are We Living In a Computer Simulation? | Two Minute Papers #28
Two Minute Papers
33 Artificial Superintelligence [Audio only] | Two Minute Papers #29
Artificial Superintelligence [Audio only] | Two Minute Papers #29
Two Minute Papers
34 Automatic Parameter Control for Metropolis Light Transport | Two Minute Papers #30
Automatic Parameter Control for Metropolis Light Transport | Two Minute Papers #30
Two Minute Papers
35 Randomness and Bell's Inequality [Audio only] | Two Minute Papers #31
Randomness and Bell's Inequality [Audio only] | Two Minute Papers #31
Two Minute Papers
36 OpenAI - Non-profit AI company by Elon Musk and Sam Altman
OpenAI - Non-profit AI company by Elon Musk and Sam Altman
Two Minute Papers
37 How Do Genetic Algorithms Work? | Two Minute Papers #32
How Do Genetic Algorithms Work? | Two Minute Papers #32
Two Minute Papers
38 Painting with Fluid Simulations | Two Minute Papers #33
Painting with Fluid Simulations | Two Minute Papers #33
Two Minute Papers
39 Peer Review #1 [Audio only] | Two Minute Papers
Peer Review #1 [Audio only] | Two Minute Papers
Two Minute Papers
40 Neural Programmer-Interpreters Learn To Write Programs | Two Minute Papers #34
Neural Programmer-Interpreters Learn To Write Programs | Two Minute Papers #34
Two Minute Papers
41 9 Cool Deep Learning Applications | Two Minute Papers #35
9 Cool Deep Learning Applications | Two Minute Papers #35
Two Minute Papers
42 Designing Cities and Furnitures With Machine Learning | Two Minute Papers #36
Designing Cities and Furnitures With Machine Learning | Two Minute Papers #36
Two Minute Papers
43 Designing 3D Printable Robotic Creatures | Two Minute Papers #37
Designing 3D Printable Robotic Creatures | Two Minute Papers #37
Two Minute Papers
44 3D Printing Objects With Caustics | Two Minute Papers #38
3D Printing Objects With Caustics | Two Minute Papers #38
Two Minute Papers
45 Interactive Editing of Subsurface Scattering | Two Minute Papers #39
Interactive Editing of Subsurface Scattering | Two Minute Papers #39
Two Minute Papers
46 Simulating Viscosity and Melting Fluids | Two Minute Papers #40
Simulating Viscosity and Melting Fluids | Two Minute Papers #40
Two Minute Papers
47 What Do Virtual Objects Sound Like? | Two Minute Papers #41
What Do Virtual Objects Sound Like? | Two Minute Papers #41
Two Minute Papers
48 How DeepMind Conquered Go With Deep Learning (AlphaGo) | Two Minute Papers #42
How DeepMind Conquered Go With Deep Learning (AlphaGo) | Two Minute Papers #42
Two Minute Papers
49 Breaking Deep Learning Systems With Adversarial Examples | Two Minute Papers #43
Breaking Deep Learning Systems With Adversarial Examples | Two Minute Papers #43
Two Minute Papers
50 Extrapolations and Crowdfunded Research (Experiment) | Two Minute Papers #44
Extrapolations and Crowdfunded Research (Experiment) | Two Minute Papers #44
Two Minute Papers
51 Biophysical Skin Aging Simulations | Two Minute Papers #45
Biophysical Skin Aging Simulations | Two Minute Papers #45
Two Minute Papers
52 What is Impostor Syndrome? | Two Minute Papers #46
What is Impostor Syndrome? | Two Minute Papers #46
Two Minute Papers
53 Should You Take the Stairs at Work? (For Weight Loss) | Two Minute Papers #47
Should You Take the Stairs at Work? (For Weight Loss) | Two Minute Papers #47
Two Minute Papers
54 Artistic Manipulation of Caustics | Two Minute Papers #48
Artistic Manipulation of Caustics | Two Minute Papers #48
Two Minute Papers
55 Deep Learning Program Learns to Paint | Two Minute Papers #49
Deep Learning Program Learns to Paint | Two Minute Papers #49
Two Minute Papers
56 Interactive Photo Recoloring | Two Minute Papers #50
Interactive Photo Recoloring | Two Minute Papers #50
Two Minute Papers
57 How To Get Started With Machine Learning? | Two Minute Papers #51
How To Get Started With Machine Learning? | Two Minute Papers #51
Two Minute Papers
58 Awesome Research For Everyone! - Two Minute Papers Channel Trailer
Awesome Research For Everyone! - Two Minute Papers Channel Trailer
Two Minute Papers
59 10 More Cool Deep Learning Applications | Two Minute Papers #52
10 More Cool Deep Learning Applications | Two Minute Papers #52
Two Minute Papers
60 How DeepMind's AlphaGo Defeated Lee Sedol | Two Minute Papers #53
How DeepMind's AlphaGo Defeated Lee Sedol | Two Minute Papers #53
Two Minute Papers

Related Reads

📰
Tags, Releases, and Branches: A Practical Guide to Frontend Deployment
Learn how to streamline frontend deployment with a disciplined branching and release process
Medium · Programming
📰
Tags, Releases, and Branches: A Practical Guide to Frontend Deployment
Learn how to implement a disciplined branching and release process for frontend deployment to improve production visibility
Medium · DevOps
📰
Inside the Wayfair Frontend SDE-2 Interview: A Complete Breakdown
Learn how to prepare for a Frontend SDE-2 interview at Wayfair, including online assessments, machine coding, and system design.
Medium · Programming
📰
I Spent Two Years Maintaining a React SPA. HTMX Rebuilt It in a Week
Learn how HTMX rebuilt a React SPA in a week, replacing 2 years of maintenance work, and discover the benefits of this alternative approach
Medium · Programming
Up next
How to Use Semrush Keyword Magic Tool with ChatGPT to Make Money
Grow with Will - SEO, Sales & Entrepreneurship
Watch →