Hacker News new | ask | show | jobs
by WithinReason 1423 days ago
I worked in computer vision a few years ago and I was wondering if you could solve this with a camera flash. Let's say you take 2 pictures is quick succession, one with and one without a flash. Let's assume you know the intensity of the flash and that the 2 pictures were aligned pixel-to-pixel. Now, for each pixel, the colour difference between the the 2 pictures is going to be dependent on the albedo of the surface (for a white wall it's going to be relatively constant) and the distance from the flash. Further objects would have more similar colour (they would be less affected by the flash since they are further away), and closer objects would be more affected (since they are closer). You could write down the math for this and solve for "distance from camera" for each pixel.
2 comments

> I was wondering if you could solve this with a camera flash

Yeah, I think you can - there's been a few "multi-flash 3d reconstruction" approaches proposed in the last 5-10 years. e.g. [1], possibly also [2]

[1] https://www.nature.com/articles/srep10909 [2] https://www.researchgate.net/publication/220829727_Shape_fro...

It is tricky because you also have indirect lighting.
If you subtract the 2 images the indirect lighting gets removed and you're left with only the flash, which depends only on albedo and distance
You're missing secondary reflections.