{'fraction_non_alphanumeric': 0.024675324675324677, 'fraction_numerical': 0.003751803751803752, 'mean_word_length': 4.949356223175966, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Efficient Blind-Spot Neural Network Architecture for Image Denoising

Image denoising is an essential tool in computational photography. Standard denoising techniques, which use deep neural networks at their core, require pairs of clean and noisy images for its training. If we do not possess the clean samples, we can use blind-spot neural network architectures, which estimate the pixel value based on the neighbouring pixels only. These networks thus allow training on noisy images directly, as they by-design avoid trivial solutions. Nowadays, the blind-spot is mostly achieved using shifted convolutions or serialization. We propose a novel fully convolutional network architecture that uses dilations to achieve the blind-spot property. Our network improves the performance over the prior work and achieves state-of-the-art results on established datasets.


I. INTRODUCTION
Image denoising is a fundamental challenges in computational photography. With recent advances in deep neural networks, the state-of-the-art has seen a significant boost in term of reconstruction quality [1]. These results are, however, conditioned on the availability of the pairs of noisy and clean, ground-truth, images at training time.
Lehtinen et al. [2] proposed the Noise2Noise approach that removed the need for clean images by formulating the problem as a mapping between two noisy images of the same scene. Assuming zero-mean noise, the network is forced to output the expected value of the pixels, which is the clean image. However, the requirement for having two noisy instances of the same scene is quite impractical [3].
Assuming un-correlated noise, Krull et al. [4] created a training scheme Noise2Void that allows the network to be trained only with one noisy image per scene. It uses the concept of blind-spot networks, where the network cannot read the noisy pixel it predicts i.e. its receptive field does not contain the central pixel. This way, the model learns to predict the pixel independent of its actual noisy value. The blind-spot property is achieved by masking the input and careful selection of the output pixels. However, the significant reduction in the pixels contributing to the loss function makes the training inefficient.
Laine et al. [5] solved this inefficiency by using shifted convolutions [6]. Their network, which we denote here as BlindSpot4D, shifts the feature-maps so that the receptive field grows in one direction only. The blind-spot property is achieved by feeding the network with all 90°rotations of the image and by joining the outputs using several 1x1 convolutional layers. A limiting factor is that, by construction, it assumes rotation invariance of the kernels, which makes the network learn from an unrealistic prior in terms of the natural arrangement of the scene. Moreover, due to the overlapped receptive fields of individual passes, the input pixels are processed twice, resulting in high computational effort.
We propose an alternative network architecture that guarantees the blind-spot property by design in a single pass and tackles the previously mentioned drawbacks -rotation invariance and redundant computations. In the following, we present our architecture and show the state-of-the-art results.

II. BLIND-SPOT ARCHITECTURE
The essential building block of our network is a dilated convolution with a blind-spot in its kernel. The dilation allows us to connect an arbitrary number of preceding convolutional layers while maintaining the blind-spot property of the network as depicted in Figure 1.
We show the complete architecture in Figure 2. The forward stream comprises conventional convolutional layers, where we use residual connections between each second layer to improve training stability. The result of each convolutional layer is then fed to a blind-spot convolutional layer dilated by one plus half of the size of the receptive field of the respective input layer. Finally, the outputs of these dilated convolutions are concatenated and passed through several 1 × 1 convolutions to predict the results. The blind-spot convolutions with different dilations allow the network to remain focused on the immediate neighbourhood of each output pixel. They also ensure integrity of the receptive fields for pixels closer to image borders. Figure 3 depicts the receptive field of our network compared to the BlindSpot4D architecture. These are the responses of the networks to the Dirac function, showing the number of visits the network has made for each pixel before inferring the results.
The receptive field of BlindSpot4D shows low coverage of the immediate neighbourhood of the central pixel and uneven distribution in diagonal directions. Conversely, our network concentrates more on the close neighbourhood of the centre pixel and covers all the directions equally. This is an essential feature for image denoising, where the more distant areas in the image are usually less relevant.

III. EXPERIMENTS
Following the framework devised by Laine et al. [5], we test our architecture on several image datasets and noise distributions. For a fair comparison, we used the same prediction scheme, objective function, and dataset to train our network. The output of the network is the mean and covariance matrix of a multivariate Gaussian distribution. The final prediction is estimated as a product of the output and the noise distributions, centred at the noisy input value. The results in Table I show that our model achieves state-of-the-art results in terms of peak signal-to-noise ratio (PSNR). These results are consistent in all datasets and noise distributions.
To analyse the effect of the receptive field, we also tested both blind-spot architectures for different levels of noise variance at test time. Note that both methods were only trained for standard deviation σ = 25. We show these results in Figure 4, where we compare our model to BlindSpot4D. To better evaluate the methods, we also compare the estimated means of the output distributions, independent of the corresponding noisy input values. These results show that our method can achieve significantly better reconstruction scores (up to 6 PSNR) for lower noise levels. This can be explained by the shape of the receptive field, where closer pixels contribute more to the results. For higher noise variances, this property becomes less critical as the prediction has to be made based on much larger neighbourhood.

IV. CONCLUSIONS
We propose a new blind-spot network architecture that uses conventional training strategies. Compared to state-of-theart, it does not require sequential inference nor independent processing of directions. We achieve comparable results with the state-of-the-art methods in image denoising with different noise distributions. Our method specifically outperforms these techniques by a large margin, where the input noise variance is closer to more realistic values.