Inverse Rendering Decomposes Images
Inverse rendering splits a photo back into shape, material, and light so each can be edited separately.
Why Does This Exist?
Forward rendering turns shape plus material plus light into pixels. Editing needs the reverse: change the bulb without repainting the wall. Image formation teaches the forward path; inverse rendering factors into albedo , shading from normals and light . The factorization is ambiguous without priors.
Think of It Like This
Unmixing paint from lamp light
A beige wall under yellow lamplight photographs orange. Knowing the bulb is yellow lets you divide the photo back to beige paint. Without the bulb note, beige paint under white light looks identical to white paint under yellow light.
Albedo is paint and shading is lamplight. The analogy stops at geometry: real shading also bends with surface angle.
How It Actually Works
Lambertian model writes per pixel. Unknowns per pixel are , , plus global . Priors prefer smooth , sparse edges, and low-frequency in spherical harmonics. Optimization minimizes plus those priors through differentiable rendering.
Worked example
Pixel reads with normal and light normalized. Shading is . Albedo recovers as . Relighting with overhead gives , brighter and neutral. Same pixel under the old light would misread as darker paint.
Watch Out For
Baking shadows into albedo texture
A shadowed floorboard optimized without shadow priors darkens permanently, so relighting keeps a ghost shadow. The symptom is shadows that follow objects after light moves. Add explicit shadow or visibility terms before trusting albedo.
The Quick Version
- Inverse rendering factors pixels into albedo, normals, and light.
- The split is ambiguous, so smoothness and sparsity priors decide.
- Relighting and material edits need the factors, not just pixels.
- Do not trust albedo from one photo under harsh shadows alone.
- Lambertian is the starting model before gloss.