Embrace the noise!

I worked on it a little bit. And probably the best way would be to write some notes in a new dedicated thread. I’m posting here some simple results just for fun.

The main idea is to evaluate the statistical properties of a pixel as a function of its value. I’m following most of the assumptions of the paper Newson et al. (that I linked in the previous post). We assume a pixel as composed of a series of developed grain particles (or “grain clouds”). Each cloud is a portion of pixel-area that can be black or white, i.e. binary. We assume to don’t have overlapping clouds.
In the simplest case, we can also assume to have uniformly sized grain particles. Thus we can use the beta distribution (Beta distribution - Wikipedia) to approximate the probability distribution of the pixel value (I’ll discuss this in the new post). The key point is then to sample from this distribution without evaluating each single grain particle. Moreover, all the resolution-dependent properties of the model come for free, included in the beta distribution (which is pretty cool).
The model is indeed very simple and probably there isn’t much novelty into it. At the same time, the results are already pretty good and it is quite efficient.

I took the amazing portrait of Mairi from @patdavid ([PlayRaw] Mairi Troisieme) and I did a simple BW development including denoising. The image is 24MP. Then I applied the grain. Pixel-area is 34um^2 and grain clouds are 1.5um^2.


I cropped and upsampled two times, then applied the same grain model, just at a different “zoom” level. Pixel-area is smaller.


Look at 100% to get all the grain beauty. Each of these 24MP images takes about 0.7 seconds to be processed with my python script running on a laptop.

Here are some cropped versions from the negative of the last image.


Crops are taken from these positions.

What I am doing next is morphing this simple model to include more sophisticated properties:

  • The size of each grain particle has some variability (lognormal distribution, coming from the synthesis process, and characterized in old papers studying grain with microscopes).
  • The probability of a grain particle to be developed depends on the number of photons that are absorbed, and thus it depends on the projective area of the grain particle (theoretically at least three photons are necessary to develop a grain because of the photochemistry involved).

I have a rough way to add them, but I need more words to explain it, and I am probably already off-topic. The key point is to keep the resolution-independence of the model coming from the beta distribution.

9 Likes