// the 10-second version
Take a photo in a pitch-black room and you get grainy speckles. I built an AI that looks at that kind of grainy mess from a Moon crater and works out what the crater really looks like.
// why it's cool
The darkest places matter most
These craters are called permanently shadowed regions (PSRs). They stay around −200 °C, cold enough to trap water ice, which future missions could turn into drinking water, oxygen and rocket fuel.
Orbiters like Chandrayaan-2 can catch the faint light bouncing in off nearby crater walls, but it's so weak that the photos come out as mostly noise.
// how it works
Five stages
- Draw fake cratersGenerate realistic sunlit crater scenes from scratch: the "answer key".
- Make them darkDarken each one the way a real camera would in near-total darkness, noise and all.
- Pair them upDark version in, bright version out, thousands of times.
- Train a U-NetThe network learns to undo the darkness while keeping real detail.
- Test fairlyScore it on craters it has never seen.
// under the hood
The key ideas
Realistic darkness. The fake dark images copy three real camera problems: light arriving randomly when there's very little of it (shot noise), electronic hiss from the sensor (read noise), and dim detail getting rounded down to zero (quantisation).
The U-Net. A neural network shaped like a U. One side shrinks the image to understand the big picture; the other rebuilds it at full size. Shortcuts across the middle keep edges sharp. This one has about 1.9 million parameters, small enough to train on a free cloud GPU.
The scores. PSNR measures how close each pixel is to the truth (higher is better). SSIM measures whether shapes and textures match, from 0 to 1.
// results
From noise to craters
Measured on held-out simulated images. Longer training (2,000 steps) recovers crater rims and individual boulders.
// the tricky part
No answer key exists
To teach a network to brighten photos, you normally show it the same scene in good light. A permanently shadowed crater has never been in good light, so that photo doesn't exist anywhere.
The fix was to make the training data: bright craters, darkened with real camera physics, so every example comes with a perfect answer. Real Chandrayaan-2 images can be dropped in later without changing the rest of the pipeline.