After being successful with single micro bubble, then we can make the problem more complex gradually. Next problem that we deal with is that we still assume that PSF of bubbles are in Gaussian shape but there are multiple bubbles in the target scene. I stick to previous post notation as follows:

x: ground truth image

y: blurred image

h: gaussian kernel (sigma =3)

\[ y = h * x \]

z: output of the network

f : blur kernel(sigma = )

\[ w = z * f \]

\[ v = x*f \]

Then the training lost can be expressed as follows:

\[ loss = MSEloss(w-v) + \lambda \times L1loss(z)\]

Additionally, I used normalized y and v which can be expressed as follows:

\[y’ = \frac{y – mean(y)}{ max( | y – mean(y) |)} \]

\[v’ = \frac{v – mean(v)}{ max( | v- mean(v) |)} \]

Then the training lost can be expressed as follows:

\[ loss = MSEloss(w’-v’) + \lambda \times L1loss(z’)\]

The network performs very well for multiple bubble cases even though bubbles are very close. In the following we can see some examples.