<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>The Fifth International Workshop on Computer Modeling and Intelligent Systems, Zaporizhzhia, Ukraine, May</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Comparison  of  the  Efficiency  of  Parallel  Algorithms  KNN  and  NLM Based on CUDA for Large Image Processing </article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Lesia Mochurad</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Roman Bliakhar</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Lviv Polytechnic National University</institution>
          ,
          <addr-line>12 Bandera street, Lviv, 79013</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2022</year>
      </pub-date>
      <volume>12</volume>
      <issue>2022</issue>
      <fpage>0000</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>  Digital image processing is widely used in various fields of science, such as medicine - Xray analysis, magnetic resonance imaging, computed tomography, cosmology - collecting information from satellites, their transmission and analysis. Image noise accompanies any of the stages of image processing - from obtaining them to segmentation and object recognition. In order to process large images in real time, the paper proposes to use CUDA technology to parallelize KNN and NLM algorithms. The subject area of the satellite images is selected for noise reduction. A comparative analysis of the effectiveness of the proposed approach. It is investigated how the computation time of successive versions of algorithms changes with increasing the size of the image itself. Based on a series of numerical experiments, it was possible to achieve an acceleration of 40 times using CUDA technology. It is shown that the calculations on the CPU significantly exceed the time spent on execution compared to the GPU. This is due to the fact that in tasks of this type, several threads on the CPU are not able to compete with thousands of threads of the graphics core. We can also observe that as the number of GPU threads increases, the time decreases significantly. This study is especially relevant in current trends in video cards. that in tasks of this type, several threads on the CPU are not able to compete with thousands of threads of the graphics core. We can also observe that as the number of GPU threads increases, the time decreases significantly. This study is especially relevant in current trends in video cards. that in tasks of this type, several threads on the CPU are not able to compete with thousands of threads of the graphics core. We can also observe that as the number of GPU threads increases, the time decreases significantly. This study is especially relevant in current trends in video cards.</p>
      </abstract>
      <kwd-group>
        <kwd> 1  Computer vision</kwd>
        <kwd>noise reduction</kwd>
        <kwd>graphics processor</kwd>
        <kwd>computational process optimization</kwd>
        <kwd>acceleration</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction </title>
      <p>
        Most images are affected by various types of noise caused by equipment failure, problems with
data transmission or compression, and natural factors. Therefore, the first stage of image processing is
filtering. The presence of noise in the image can cause inaccuracies and distortions in the
segmentation and recognition phase. For example, the system may perceive noise for individual
objects, which, in turn, will negatively affect further research. That is why noise removal is an
important problem in the field of image processing, which has many applications in various fields,
such as medicine (magnetic resonance imaging, computed tomography), industry, military
applications, space research, communications (satellite television) [
        <xref ref-type="bibr" rid="ref2 ref3 ref4">1-3</xref>
        ].
      </p>
      <p>
        Most often, noise reduction is used to improve visual perception, but can also be used for
specialized purposes – for example, in medicine to increase the clarity of images on X-rays [
        <xref ref-type="bibr" rid="ref5">4</xref>
        ], in
pre-processing images for further recognition and more. In addition, noise reduction plays an
important role in compressing video and images.
      </p>
      <p>Despite the fact that noise reduction is a classic problem and has been studied for a long time, this
task is still difficult and open. The main reason is that from a mathematical point of view, noise
reduction is an inverse problem, so its solution is not unique. As a result, there are many different
methods, the advantages and disadvantages of which will be discussed and analyzed in the next
section.</p>
      <p>
        Today there is a relevant area of image processing from satellites [
        <xref ref-type="bibr" rid="ref6">5</xref>
        ]. They are used by both
cartographers and private companies to analyze land data. Since these images are used in further
analysis by artificial intelligence methods, in particular such as computer vision, an important step is
part of their pre-processing. This process often involves reducing noise in the image, which could be
caused by various interferences, and therefore lose some information. That is why the subject area of
satellite images is chosen for this work, because these images are large in size, and therefore require
large computing power. Therefore, in this case it will be effective to take advantage of parallel
calculations.
      </p>
      <p>Based on the above, we can formulate the purpose of this work, namely, to conduct a comparative
analysis of the effectiveness of parallel algorithms KNN and NLM based on CUDA technology to
accelerate the noise of large-scale images obtained from satellite.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Analysis of literature sources </title>
      <p>
        Significant results in the field of image noise reduction have been achieved in recent decades. This
is due to the wide range of applications in everyday life, as we are surrounded by more and more
digital devices: smartphones, webcams, surveillance cameras, drones and more. Accordingly, this
problem occurs in such areas as: satellite television, computed tomography [
        <xref ref-type="bibr" rid="ref5">4</xref>
        ], magnetic resonance
imaging, medicine in general, and in the field of research, which is actually the basis of many
applications, such as object recognition and technology, such as geographic information systems,
astronomy and many others [
        <xref ref-type="bibr" rid="ref3">2</xref>
        ].
      </p>
      <p>
        Thus, image noise has remained a pressing issue for many researchers in recent times. To date,
many classical filtration algorithms have been proposed (Median Filtering, Linear Filtering,
Anisotropic Filtering) [
        <xref ref-type="bibr" rid="ref4 ref7 ref8">3, 6, 7</xref>
        ]. Median, linear, anisotropic and other classical filtering algorithms are
usually able to remove noise, but have disadvantages, because their use loses a lot of information and
suffers image geometry, resulting in objects in the image may take a completely different shape.
      </p>
      <p>All linear filtering algorithms are optimal for Gaussian distribution of signals, interference and
observed data, and lead to the smoothing of sharp differences in the brightness of the processed
images. However, real images, strictly speaking, are usually not subject to this probability
distribution.</p>
      <p>
        Some of these problems are solved using non-parametric image processing methods. Studies have
shown that good results in image processing were obtained using median filtering [
        <xref ref-type="bibr" rid="ref9">8</xref>
        ]. Note that the
median filtering is a heuristic method of processing, its algorithm is not a mathematical solution of a
strictly formulated problem. In the last two decades, nonlinear algorithms based on ranking statistics
for the recovery of images damaged by various types of noise have been actively developed in digital
image processing.
      </p>
      <p>
        One of the algorithms without the above disadvantages is Non-Local Means (NLM) [
        <xref ref-type="bibr" rid="ref9">8</xref>
        ]. Because
the principle is simple and straightforward, and the information contained in the image is better
stored, NLM has become a popular noise reduction algorithm in recent years. Although NLM has
achieved good results, there are some areas for improvement [
        <xref ref-type="bibr" rid="ref10">9</xref>
        ]. Mainly in the following aspects:
first, although good results are achieved, the efficiency of the algorithm is slightly lower than
traditional algorithms; secondly, it is difficult to determine the weight of similarity between image
blocks, which in turn affects the efficiency of noise reduction [
        <xref ref-type="bibr" rid="ref11">10</xref>
        ].
      </p>
      <p>
        Another effective algorithm, in terms of reducing noise and maintaining the informativeness of the
original image, is K-Nearest Neighbors [
        <xref ref-type="bibr" rid="ref12">11</xref>
        ]. This algorithm is conceptually similar to the above
NLM, but, as indicated in studies, with lower computational complexity [
        <xref ref-type="bibr" rid="ref13">12</xref>
        ]. Therefore, in theory, it
should work faster than NLM, but the result of noise reduction should be compared in more detail.
      </p>
      <p>So let's highlight the problem statement for our study:</p>
      <p>Let Ω – image area, and  and  are two dots (pixels) within the image, then:
is the Euclidean distance between image patches focused on  and  in accordance.
where 
at the point  ; 
is the filtered value of the image at the point  ;  
is the unfiltered value of the image
– this is the normalizing factor;  is a weighing function in which 
 ,</p>
      <sec id="sec-2-1">
        <title>When calculating the Euclidean distance</title>
        <p>weight (importance), so the function 

and not just for  .</p>
        <p>, 
 ,</p>
        <p>This algorithm can be performed in two implementations: pixelwise and patchwise. In our work
we use pixel implementation, because in fact there is not much difference between the two options, so
the overall quality in terms of saving details is not improved with the use of patchwise
all pixels in the patch</p>
        <p>have the same
can be used to mute all pixels in the patch
implement them programmatically.
algorithms with each other.</p>
        <p>Develop a parallel algorithm of KNN and NLM methods based on CUDA technology and
Test and compare the noise reduction results for each algorithm, as well as compare both
Measure the execution time of each algorithm with a different configuration of the computer
system for further calculation of acceleration and comparative analysis of efficiency.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Methods and tools </title>
      <p>Mathematically, the problem of image noise reduction can be modeled as follows:   
where  – noisy input image,  – unknown clear image without noise, and  – is an additive of white
Gaussian noise with standard deviation  , which can be estimated in practice by various methods,
such as the median of absolute deviations (MAD) [Ошибка! Источник ссылки не найден.3] or
,
the principal component algorithm (PCA) [Ошибка! Источник ссылки не найден.4].</p>
      <p>
        The purpose of image noise reduction is to reduce distortion while minimizing the loss of original
features of the input image and increase the signal-to-noise ratio (SNR) [
        <xref ref-type="bibr" rid="ref16">15</xref>
        ].
      </p>
      <p>Let's introduce the noise reduction of the color image  
,  , 
and a specific pixel  as
∑∈
,   
,  ,  
∑∈
,   ,  , where 
  , 
denote the environment centered at the point 
with dimensions 2
1
2
The search area is limited by a square circumference of a fixed size, which is due to the limitation of
1, 2, 3 and</p>
      <p>1 pixels.</p>
      <p>.
, 

35
2</p>
      <sec id="sec-3-1">
        <title>1 color patches centered accordingly  and  : Weight</title>
        <p>will depend on the Euclidean distance 
calculations. This is a window 21</p>
        <p>
          21 for small and medium values  . The window size increases to
35 for large values  due to the need to detect more similar pixels to reduce additional noise.
 ,  , 
average of the same pixel [
          <xref ref-type="bibr" rid="ref16">15</xref>
          ].
exponential function.
with square distances less than 2
        </p>
        <p>
          To calculate the weight 
 , 
we will use the exponential function: 
 , 
where  indicates the standard deviation of the noise and ℎ is the filtering parameter set relative to the
value 
12, 15 . The weight of the function is set to average similar noise patches. That is, patches
are installed to 1, while larger distances decrease faster due to the
based on the Gaussian Blur Filter algorithm [
          <xref ref-type="bibr" rid="ref18">17</xref>
          ]. Consider how it works.
        </p>
        <p>Let</p>
        <p>– the value of the input noisy image at the point  , a</p>
        <p>The weight of the reference pixel  on average, is set as the maximum weight in the vicinity
  ,  . This parameter avoids excessive
weighing of the reference point in the
middle.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Otherwise</title>
        <p>,</p>
        <p>should be equal to 1 and as a result, more value will be required to reduce noise ℎ.
Therefore, using the above procedure, we will be able to restore the noiseless value for each pixel  .</p>
        <p>To objectively assess the basic metrics of our noise reduction using the NLM algorithm, consider
an additional algorithm – KNN [Ошибка! Источник ссылки не найден.6]. The main principle of
KNN is that the category of the data point is determined according to the classification of the nearest
neighbors. The KNN (k-Nearest Neighbors) filter was developed to suppress white noise, which is
– the result obtained by the
KNN filter with parameters ℎ and  at some point  . Ω is the space of a given size around the selected
of
this
block.</p>
        <p>Then
pixel, i.e. it is a block of pixels in size 
the
filtration
formula
can
be
represented
as:</p>
        <p>N, so that the selected pixel (dot  ) is located in the center</p>
        <p>,
∑



, where</p>
        <p>– normalizing factor.


</p>
        <p>Since the purpose of our study is to accelerate the noise reduction of images using the GPU, for
such purposes we will use CUDA [Ошибка! Источник ссылки не найден.]. Is a
softwarehardware architecture of parallel computing, which allows you to significantly increase computing
performance through the use of graphics processors from Nvidia. CUDA allows you to reduce the
load on the processor, which gives significant benefits over time. Given the power of modern video
cards, we can get a significant acceleration in the calculations. And because we will be working with
images, this technology should be ideal for this type of task.</p>
        <p>Both methods can be easily implemented using CUDA technology. Since this technology uses the
SIMD parallel computing model [19], we do not need to parallelize the algorithm itself (NLM, KNN).
It is enough to implement a standard version of the algorithm in the form of a kernel function. The
kernel function is actually a normal sequential program, without organizing the launch of threads.
Instead, the GPU runs many copies of a given function in different threads.</p>
        <p>Consider in more detail the mechanism for organizing parallel calculations:</p>
        <p>Host – CPU. Performs a control role – runs tasks on the device, allocates memory on the
device, moves memory to/from the device.</p>
        <p>Device – GPU. Performs the role of "subordinate" – does only what the CPU tells him.</p>
        <p>Kernel – a task (NLM, KNN), which runs the host on the device.</p>
        <p>Threads are grouped into blocks, in the middle of which they have shared memory and run
(because algorithms split images into RGB color vector). The number of threads is equal 2 , where</p>
        <p>1024, the maximum number of threads per block). The input noisy image is
divided by  blocks where 


,  ∈
,  ∈
, where 
– width, a 
– image height,
respectively. Everyone</p>
        <p>the grid block corresponds 
image the weight in a separate stream is calculated.</p>
        <p>To conduct experiments, it was decided to develop a software product in the Python programming
language. Accordingly, the PyCuda library
was used to use the CUDA
parallel computing
architecture. As well as an OpenCV library for image processing. All calculations were performed in
Google Colab [20],which allows you to write and execute Python code in a browser with a minimum
of settings and free access to powerful computing capabilities. The configuration includes a graphics
professor NVIDIA Tesla T4 with 2560 CUDA cores and 16 Gb of video memory and an Intel Xeon
CPU with a clock speed of 2.20Ghz with two cores and two threads.
an image block, where for each pixel of the</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Results of numerical experiments </title>
      <p>First, we evaluate the quality of both algorithms and evaluate the effect of noise reduction of
various images. First we test the work of KNN.</p>
      <p>Figure 1: Comparison of 1 image fragment before (left) and after (right) noise reduction using KNN 
algorithm 
Figure 2: Comparison of 5 fragments of the image before (left) and after (right) noise reduction using 
the KNN algorithm </p>
      <p>Now let's perform the same tests for the NLM algorithm.</p>
      <p>In addition, studies were performed on images of different dimensions and with different
configurations of computing power to measure the runtime of algorithms with CPU/GPU comparison.
The calculations were performed for images of different dimensions, where  – the number of pixels
in the image   pixels, and for GPUs with different number of threads per block (4, 16, 64, 256
and 1024 threads, respectively).
Figure  6:  Execution  time  of  parallel  KNN  algorithm  using  CPU/GPU  in  seconds  for  different  image 
dimensions and with different program startup configuration </p>
      <p>P</p>
      <p>GPU 4</p>
      <p>CPU tpb
0.062403 0.023235
0.230475 0.083275
0.853824 0.316450
3.264484 0.800226
13.059060 2.331046
23.748522 3.996524</p>
      <p>GPU 16 tpb</p>
      <p>We calculate the acceleration for the measurements of each algorithm. To do this, divide the
execution time by CPU by the execution time by GPU.</p>
      <p>P</p>
      <p>P</p>
    </sec>
    <sec id="sec-5">
      <title>5. Discussion </title>
      <p>Now let's analyze our experiments. To begin with, let's summarize the results of the noise
reduction using each of the NLM and KNN algorithms.</p>
      <p>As we can see from the above Figures 1-3, the algorithms reduce noise well and restore the
original image even with loud noise. For comparison, in Figure 2 using the KNN algorithm, the image
fragment after clearing loses the clarity of the contours, the image becomes slightly pixelated. At the
same time in Figure 3 algorithm NLM visually makes less noise, so the image is still quite blurred,
but the boundaries of the contours are not as violated as when noise reduction using the KNN
algorithm. However, this is just one example, so don't judge by just one piece.</p>
      <p>In Figure 4 shows that the image obtained with NLM, less clear compared to KNN. This is best
seen in detail when looking at cars parked in the parking lot in the upper right corner of the image.
Similar results can be observed in Figure 5. The image obtained during the KNN algorithm is clearer
and richer. An example is the road marking lines at the bottom of the image, which in the first case,
retained their geometry, not to mention the image on the right, where the lines are almost invisible,
the image obtained by NLM was "blurred".</p>
      <p>A similar problem is mentioned in [21], where the authors emphasize that in high-detail images,
after the noise reduction with NLM, the geometry of objects deteriorates.</p>
      <p>The next step is to analyze our program execution time metrics and GPU acceleration factors. For
clarity, tests were performed on different image sizes. Therefore, it is clear from Table 1 and Table 2,
that the largest time difference between CPU/GPU we get for scale images. This confirms the
correctness of the choice of subject area for our task of accelerating noise reduction.</p>
      <p>Considering the visualization in Figure 6 and Figure 7, respectively, we can see that the
calculations on the CPU significantly exceed the time spent on execution compared to the GPU. This
is due to the need for a large number of parallel calculations for image processing. For tasks of this
type, multiple threads on the CPU are not able to compete with thousands of graphics core threads.
We can also observe that as the number of GPU threads increases, the time decreases significantly.</p>
      <p>In Table 3 and Table 4 there is a tendency to increase the rate of acceleration with increasing
number of flows per unit. This is because the more threads, the fewer blocks, and therefore less time
spent on memory operations.</p>
      <p>Comparing the acceleration rates of both algorithms. We can see that the parallel NLM algorithm
loses with a small number of threads, but wins with the largest number of threads per block. We can
also see that the KNN algorithm does not receive such a large increase in acceleration as the NLM
algorithm when increasing the image size for noise reduction from 45 million pixels to 81. This is
well observed in Figure 8 and Figure 9, where the acceleration coefficient graph for the NLM
algorithm grows faster than the KNN. Although KNN at 4 threads gets twice as fast as NLM.</p>
      <p>If we compare the time spent on both algorithms, we can conclude that there is no clear favorite,
although KNN shows better results with a small number of threads per block, due to the peculiarity of
the algorithms. This can affect the results if the calculations are performed using older generation
video cards, where the maximum possible number of threads per unit is many times less. In the
conditions of use of modern video cards NLM, with the maximum number of threads, is ahead of the
competitor.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusions </title>
      <p>This paper compares KNN and NLM algorithms in the context of parallel computations to
accelerate the noise reduction of large images. To do this, using the Python programming language,
implemented two algorithms with versions for CPUs and GPUs using the CUDA architecture.</p>
      <p>In the course of the work, the results of each algorithm were analyzed and it was found that both
algorithms cope well with the task of noise reduction and recovery of the original images obtained as
satellite images.</p>
      <p>Comparative tables are also constructed for each algorithm with a different configuration of the
program start, in which you can evaluate the obtained time measurements and calculated acceleration
rates. These data were visualized on graphs, which allowed us to objectively compare the obtained
metrics. Regarding the obtained time metrics and acceleration metrics, we can conclude that parallel
computing with CUDA on GPUs is many times better than computing on CPU. It is for these
algorithms that the GPU and CUDA technology can achieve an acceleration of approximately 40
times. Thanks to these results, we can use algorithms such as KNN and NLM in real-time video
processing. It will also save a lot of time on processing images obtained from telescopes and satellites,
which are high resolution.</p>
    </sec>
    <sec id="sec-7">
      <title>7. References </title>
      <p>Conference on Advanced Computing and Communication Systems (ICACCS). (2017), pp. 1-6.
doi:10.1109 / ICACCS.2017.8014612.
[18] L. Mochurad, G. Shchur, Parallelization of Cryptographic Algorithm Based on Different Parallel
Computing Technologies,. Proceedings of the Symposium on Information Technologies &amp;
Applied Sciences (IT&amp;AS 2021). Bratislava, Slovak Republic, March 5. (2021), Vol-2824,
2029 p.
[19] L. Mochurad, N. Boyko, Technologies of distributed systems and parallel computation:
monograph. Lviv: Publishing House “Bona”, (2020), 261 p.
[20] Google Colaboratory [Electronic resource] – Resource access
mode:https://research.google.com/colaboratory/faq.html.
[21] A. Buades, B. Coll, and J. Morel, On image denoising methods, Technical Report 2004-15,
CMLA. (2004).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <source>175k 700k 3kk 11kk 45kk 81kk</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>L.</given-names>
            <surname>Guo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , H. Zhai, Ch. Gong,
          <string-name>
            <given-names>B.</given-names>
            <surname>Song</surname>
          </string-name>
          , Sh. Tong, Zh. Cao,
          <string-name>
            <surname>X. Xu,</surname>
          </string-name>
          <article-title>Research on image processing and intelligent recognition of space debris</article-title>
          ,
          <source>Proceedings</source>
          Volume
          <volume>10988</volume>
          ,
          <string-name>
            <surname>Automatic</surname>
            <given-names>Target Recognition XXIX</given-names>
          </string-name>
          ;
          <volume>1098817</volume>
          (
          <year>2019</year>
          ). doi:
          <volume>10</volume>
          .1117/12.2525058.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <article-title>[2] Unsupervised Denoising for Satellite Imagery using Wavelet Subband CycleGAN</article-title>
          [Electronic resource].
          <source>- 2020</source>
          . - Resource access mode:https://arxiv.org/pdf/
          <year>2002</year>
          .09847.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>L.</given-names>
            <surname>Fan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Fan</surname>
          </string-name>
          , et al,
          <article-title>Brief review of image denoising techniques</article-title>
          ,
          <source>Vis. Comput. Ind. Biomed. Art 2</source>
          ,
          <issue>7</issue>
          (
          <year>2019</year>
          ).
          <source>doi:10.1186/s42492-019-0016-7.</source>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Sameera</surname>
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Mohd</surname>
            <given-names>Sagheer</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Sudhish N.</given-names>
            <surname>George</surname>
          </string-name>
          ,
          <article-title>A review on medical image denoising algorithms</article-title>
          ,
          <source>Biomedical Signal Processing and Control</source>
          , volume
          <volume>61</volume>
          (
          <year>2020</year>
          ),
          <volume>102036</volume>
          . doi:
          <volume>10</volume>
          .1016/j.bspc.
          <year>2020</year>
          .
          <volume>102036</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Asokan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Anitha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ciobanu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gabor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Naaji</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Hemanth</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Image Processing Techniques for Analysis of Satellite Images for Historical Maps Classification - An Overview</article-title>
          . Appl. Sci. (
          <year>2020</year>
          ),
          <volume>10</volume>
          , 4207. doi:
          <volume>10</volume>
          .3390/app10124207.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>C.</given-names>
            <surname>He</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Guo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <article-title>An Improved Image Filtering Algorithm for Mixed Noise</article-title>
          , Appl. Sci. (
          <year>2021</year>
          ),
          <volume>11</volume>
          , 10358. doi:
          <volume>10</volume>
          .3390 / app112110358.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.</given-names>
            <surname>Kushwaha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Singh</surname>
          </string-name>
          ,
          <article-title>Performance Comparison of Different Despeckled Filters for Ultrasound Images</article-title>
          , Biomed Pharmacol J., (
          <year>2017</year>
          ),
          <volume>10</volume>
          (
          <issue>2</issue>
          ). doi:
          <volume>10</volume>
          .13005/bpj/1175.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>G.</given-names>
            <surname>Shweta</surname>
          </string-name>
          , Meenaksh,
          <string-name>
            <given-names>A</given-names>
            <surname>Review</surname>
          </string-name>
          and
          <article-title>Comprehensive Comparison of Image Denoising Techniques</article-title>
          ,
          <source>International Conference on Computing for Sustainable Global Development</source>
          . (
          <year>2014</year>
          ), P.
          <volume>975</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>K.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Hu</surname>
          </string-name>
          , et al,
          <article-title>An enhanced adaptive non-local means algorithm for Rician noise reduction in magnetic resonance brain images</article-title>
          ,
          <source>BMC Med Imaging</source>
          <volume>20</volume>
          ,
          <issue>2</issue>
          (
          <year>2020</year>
          ).
          <source>doi:10.1186/s12880-019-0407-4.</source>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>X.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <article-title>Two-step non-local means method for image denoising</article-title>
          ,
          <source>Multidim Syst Sign Process</source>
          (
          <year>2021</year>
          ). doi:
          <volume>10</volume>
          .1007/s11045-021-00802-y.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Haiyan</surname>
            <given-names>Wang</given-names>
          </string-name>
          , Peidi Xu,
          <string-name>
            <given-names>Jinghua</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <source>Improved KNN Algorithm Based on Preprocessing of Center in Smart Cities, Complexity</source>
          , vol.
          <year>2021</year>
          ,
          <string-name>
            <surname>Article</surname>
            <given-names>ID</given-names>
          </string-name>
          5524388, 10 pages, (
          <year>2021</year>
          ). doi:
          <volume>10</volume>
          .1155/
          <year>2021</year>
          /5524388.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M.</given-names>
            <surname>Colom</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Buades</surname>
          </string-name>
          ,
          <article-title>Analysis and Extension of the Ponomarenko et al</article-title>
          . Method,
          <article-title>Estimating a Noise Curve from a Single Image [Electronic resource]</article-title>
          ,
          <source>IPOL</source>
          . (
          <year>2013</year>
          )
          <article-title>Resource access mode</article-title>
          :http://www.ipol.im/pub/art/2013/45//article_lr.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Chunjie</surname>
            <given-names>Wu</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Yi</given-names>
            <surname>Zhao</surname>
          </string-name>
          &amp; Zhaojun
          <string-name>
            <surname>Wang</surname>
          </string-name>
          ,
          <article-title>The median absolute deviations and their applications to shewhart control charts</article-title>
          ,
          <source>Communications in Statistics - Simulation and Computation</source>
          ,
          <volume>31</volume>
          :
          <fpage>3</fpage>
          ,
          <fpage>425</fpage>
          -
          <lpage>442</lpage>
          , (
          <year>2002</year>
          ). doi:
          <volume>10</volume>
          .1081/SAC-120003850.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Sidharth</surname>
            <given-names>Mishra</given-names>
          </string-name>
          , Uttam Sarkar, Subhash Taraphderet al,
          <source>Principal Component Analysis</source>
          ,
          <source>International Journal of Livestock Research</source>
          . (
          <year>2017</year>
          ). doi:
          <volume>10</volume>
          .5455 / ijlr.20170415115235.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Suarez-Perez</surname>
            <given-names>Alex</given-names>
          </string-name>
          , Gabriel Gemma, Rebollo Beatriz et al,
          <article-title>Quantification of Signal-to-Noise Ratio in Cerebral Cortex Recordings Using Flexible MEAs With Co-localized Platinum Black, Carbon Nanotubes</article-title>
          , and Gold Electrodes. Frontiers in Neuroscience,
          <volume>12</volume>
          . (
          <year>2018</year>
          ). doi:
          <volume>10</volume>
          .3389 / fnins.
          <year>2018</year>
          .
          <volume>00862</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Yanhui</surname>
            <given-names>Guo</given-names>
          </string-name>
          ,Siming Han,
          <string-name>
            <given-names>Ying</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <surname>Cuifen Zhang</surname>
          </string-name>
          ,Yu Bai,
          <article-title>K-Nearest Neighbor combined with guided filter for hyperspectral image classification</article-title>
          ,
          <source>Procesia Computer Science</source>
          , volume
          <volume>129</volume>
          . (
          <year>2018</year>
          ), pp.
          <fpage>159</fpage>
          -
          <lpage>165</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.procs.
          <year>2018</year>
          .
          <volume>03</volume>
          .066.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>P.</given-names>
            <surname>Singhal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Verma</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Garg</surname>
          </string-name>
          ,
          <article-title>"A study in finding the effectiveness of Gaussian blur filter over bilateral filter in natural scenes for graph based image segmentation," 2017 4th International</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>