{'fraction_non_alphanumeric': 0.027538126361655774, 'fraction_numerical': 0.014640522875816993, 'mean_word_length': 4.888147768086198, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Flashlight CNN Image Denoising

This paper proposes a learning-based denoising method called FlashLight CNN (FLCNN) that implements a deep neural network for image denoising. The proposed approach is based on deep residual networks and inception networks and it is able to leverage many more parameters than residual networks alone for denoising grayscale images corrupted by additive white Gaussian noise (AWGN). FlashLight CNN demonstrates state of the art performance when compared quantitatively and visually with the current state of the art image denoising methods.


I. INTRODUCTION
Image denoising is a fundamental problem in image processing aiming at reconstructing an image from its noisy measurement. Since 2005 for a decade this field has been dominated by non-local transform domain patch based methods, such as BM3D [1], [2], and its modifications, BM3D-SAPCA [3] and WNNM [4]. Most notably, BM3D has been the state of the art method until the recent rapid advancement of Machine Learning (ML) based approaches, more specifically, Deep Neural Networks (DNN) based approaches. In contrast with the traditional approaches, DNN based solutions employ a vast dataset of examples and learn how to invert the degradation function [5]. These methods saw initial success in the field of computer vision [6], [7], [8], [9], but it was quickly realized that they could also be used in image denoising and other image restoration tasks. While in the field of computer vision the network learns a mapping between input image and image label [7], when applied as a denoiser it instead learns a mapping between a degraded and a clean image [10]. The introduction of techniques such as residual learning [6] and batch normalization [11] allowed the depth of these networks to increase over time along with their performance, also in the field of image denoising [10]. Currently, the state of the art in image denoising is dominated by Denoising convolutional neural network (DnCNN) based methods [10] and its modifications, FFDNet [12], IRCNN [13], HRLNet [14] and others. Despite their recent success, DNN based approaches suffer from diminishing feature reuse and are unable to take advantage of an increased number of parameters, be it either by increasing the number of layers or using wider kernels per layer. Furthermore, they have been shown to exhibit a narrow receptive field [15] which limits their ability to take advantage of long range correlations.
This paper proposes a convolutional neural network (CNN) a network called FlashLight CNN inspired by DnCNN [10] and Inception-ResNet [16] architectures that solves the above-mentioned issues. The main goal of the proposed network is to overcome the dimishing feature reuse by use of inception layers in such a way that an increase in the number of parameters of the network leads to increased performance. Additionally, by using layers with much wider support, we are able to effectively increase the receptive field of the network and its ability to restore image content. The proposed approach demonstrates state of the art performance when compared to current image denoising methods.

II. BACKGROUND
With the increased availability of computational resources, CNNs have the opportunity to grow and employ more and more parameters [17]. However, naïve approaches to increase the number of parameters of a CNNs by increasing the number of layers has resulted in decreased performance. This effect has been blamed in issues such as diminishing feature reuse and narrow receptive fields [6]. Several solutions have been proposed for these issues, which include the use of skip connections [18] and wide-residual layers [6].
Skip connections allow a network to learn a, so called, residual mapping. They consist of an identity mapping placed between two non-adjacent layers [18]. [6] showed that when these connections are used in every layer, increasing the network depth translates into performance gains, as opposed to performance loss observed when these connections are not used. We also know from DnCNN [10] that even when considering shallower networks, using just one skip connection between the input and the output of the whole network improves performance. These networks are called residual networks.
Increasing the depth of the networks also slows down training and can lead to diminishing feature reuse [19]. So on top of using skip connections, [19] propose that layers should also be made wider and thicker by adding more feature l layers m layers n layers Fig. 1. The proposed Flash Light CNN architecture for denoising, with noisy input z and estimateŷ. The orange background marks the warmup phase while the blue background marks the boost phase. Batch normalization and relu units were omitted for sake of clarity.
planes and more convolution kernels per network layer, so each network layer would contain many more parameters, leading to the wide residual layers. Networks equipped with these wide residual layers performed better than networks with the regular layers, when the number of parameters remained constant. An added bonus was that these shallower networks train much faster. Bottom line, if one can afford more parameters, one should not add more layers, but make them wider and thicker instead. One notable network that successfully combined several of these techniques is the Inception Network [16]. The Inception Network has gained in popularity since 2014 when it achieved the top position in the ILSVRC 2014 competition [20]. There are different versions of it, with the latest ones being Inception-v4 and Inception-Resnet [16]. On top of the use of skip connections and wide-residual layers, Inception-Resnet also uses cascades of small kernels as opposed to big kernels in an attempt to reduce the overall number of parameters while maintaining the depth of the networks [17].

III. PROPOSED METHOD: FLASHLIGHT CNN
We propose FlashLight CNN, a network architecture that combines elements from DnCNN and Inception-Resnet to combat diminishing feature reuse and successfully leverage a significantly increased number of parameters for the task of denoising grayscale images corrupted by AWGN.
FlashLight CNN is made up two phases: warmup and boost, with a residual skip connection between the input and the output, as shown in Figure 1. The warmup phase uses only conventional convolutional layers and resembles a typical CNN. The boost phase on the other hand, uses much wider residual inception layers that rapidly increase the number of parameters of the network while avoiding the diminishing feature reuse that would ensue if only conventional convolutional layers would be employed. The inception layers used in this network, shown on Figure 2, were based on the work of [16]. They employ input dimensionality reduction as a way to reduce the computational complexity. They also use cascades of smaller filter banks  instead of a single big filter in order to reduce the number of parameters required by each layer. Finally, they sport a residual skip connection that has been shown to be an effective way of avoiding the diminishing feature reuse that comes with the increase of the number of parameters in the network.
The warmup phase is composed of two stages of layers, with the first stage employing only 3 × 3 kernels and the second stage employing bigger 5 × 5 kernels. Both of the stages extract 64 features per layer. The purpose of this phase is to extract low level features from the input image that can then be processed by the much more capable boost phase. The use of wider kernels in the second stage allows the gradual widening of the receptive field before the boost phase. The boost phase in turn uses residual inception layers, the model of which is shown in Fig. 2. The combination of all these features leads to a network that uses more processing as the level of abstraction increases, that is, as we move away from the pixel domain in the input. The network is also progressively wider allowing longer range connections to be established as the abstraction level increases towards the output. The progressive widening of the layer's receptive field inspired us to name the network: FlashLight CNN. After having defined the overall architecture of the network, the only remaining free parameters are the number of layers in each stage, identified in 1 by l, m, n. We used exhaustive search to find the best set of parameters, but in order During the search for the best architecture, we observed that an increased number of parameters translated, up to a certain point, to increased performance, as can be observed in Fig. 3. This behaviour confirms that the proposed architecture is indeed able to leverage the extra parameters that are made available to the network.
Based on the validation performance of these experiments presented in Fig. 3, our final configuration is defined by: l = 5, m = 4, n = 6, to a total of 15 layers and 1627905 trainable parameters.
During the training process we used the mean squared error (MSE) loss function, 55 epochs, epoch length 4096 and batch size 64. The network weights are initialized by orthogonal method [57] and we use the Adam optimizer. We set the initial learning rate to 1 × 10 −3 and modulate the learning rate using a step function that drops to 1 × 10 −4 after 30 epochs. We use batch normalization [11] before every Rectified linear unit (ReLu) activation function with exception of the first and last layers. We trained and validated using the DIV2K dataset training and validation splits respectively [21].

IV. EXPERIMENTAL EVALUATION
Our introduced FlashLight CNN is evaluated over three common datasets: Set12, BSD68 and Urban100 with AWGN noise levels of σ ∈ 15, 25, 50 and compared with stateof-the-art methods, namely, BM3D [22] , DnCNN [10], FFDNet [12], IRCNN [13], and HRLNet [14]. The results of evaluation in terms of PSNR and SSIM metric values are depicted in Table I. Our proposed method exhibits better performance than the other methods in the comparison. Notably it performs significantly better than DnCNN for all noise levels and datasets. Figure 4 shows several examples to demonstrate the visual performances of the proposed solution. The proposed method  recovers better the edge patterns than other competing methods. In the house and boat images, the line shadow and the line below the text are more effectively recovered. For the stronger noise level 50 used in the plane our proposal exhibits superior performance recovering the text. The code and models used for this evaluation can be downloaded in https://github.com/binhpht/flashlightCNN.

V. DISCUSSION AND CONCLUSION
We presented FlashLight CNN, a deep neural network that is able to leverage more parameters than residual networks for the task of image denoising. We showed that the performance of the proposed network increases as the number of parameters is increased. However experimental results showed that the performance of FlashLight CNN stops increasing after roughly 1.6 million parameters. It would be worth investigating how to overcome this barrier. Furthermore, the proposed solution has the potential to be successfully applied to other image processing tasks, such as multispectral image denoising, image super-resolution or deblurring, with minimal modifications.

VI. ACKNOWLEDGEMENTS
This work is in part supported by the Business Finland (project 3418 -E!7632 ITEA3 COMPACT, 2017-2020)