3 ms·
Rendering a scene is a function that takes lights, camera, geometry, textures as inputs and outputs an image. This function is very complex and hard to invert.
by remcob 8y ago
Rendering a scene is a function that takes lights, camera, geometry, textures as inputs and outputs an image.
This function is very complex and hard to invert. But, and this is the interesting thing I got from the article, it is similar enough to deep learning functions that the same strategy works: We can take gradients of it and optimize the inputs to fit the target output.
So, while we can't compute the 3D model that would generate the target picture directly. We can ask it "How do we nudge the model to make it more similar to what we want?". If we keep nudging it, eventually it will be very similar. The tool will find the exact position of the lights, the textures, model, etc.
- spuz 8y agoWhat is the purpose of doing this though? Why would you want to find the original parameters of a scene that was ray traced? Wouldn't those parameters already be available?
- macromaniac 8y agoNo,you cant tell how pixels will change when you nudge a camera normally without recalculating everything. If environment is differentiable you can cheat and see for instance that you needed to move your arm a little to the left last bowl to get a strike (moving your arm effects your hand which shifts the ball which knocks down more pins which increases your score)
- Scene_Cast2 8y agoThe potential uses I see are: 1) Given a finished 3D render and a first pass at recreating the scene, nudge your scene closer to the render 2) Given a photograph and a first pass at recreating the photograph, make your render more photorealistic.
- JulianMorrison 8y agoGiven an image from a physical camera, convert it into a 3D map with comparable properties.