Next Article in Journal
AI- and IoT-Enabled Solutions for Healthcare
Previous Article in Journal
Composite ADRC Speed Control Method Based on LTDRO Feedforward Compensation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

On the Initialization of Swarm Intelligence Algorithms for Vector Quantization Codebook Design

by
Verusca Severo
1,*,
Felipe B. S. Ferreira
2,
Rodrigo Spencer
1,
Arthur Nascimento
1 and
Francisco Madeiro
1
1
Polytechnic School of Pernambuco, University of Pernambuco, Recife 50720-001, Brazil
2
Engineering Campus, Rural Federal University of Pernambuco, Cabo de Santo Agostinho 54518-430, Brazil
*
Author to whom correspondence should be addressed.
Sensors 2024, 24(8), 2606; https://doi.org/10.3390/s24082606
Submission received: 28 February 2024 / Revised: 22 March 2024 / Accepted: 29 March 2024 / Published: 19 April 2024
(This article belongs to the Section Intelligent Sensors)

Abstract

:
Vector Quantization (VQ) is a technique with a wide range of applications. For example, it can be used for image compression. The codebook design for VQ has great significance in the quality of the quantized signals and can benefit from the use of swarm intelligence. Initialization of the Linde–Buzo–Gray (LBG) algorithm, which is the most popular VQ codebook design algorithm, is a step that directly influences VQ performance, as the convergence speed and codebook quality depend on the initial codebook. A widely used initialization alternative is random initialization, in which the initial set of codevectors is drawn randomly from the training set. Other initialization methods can lead to a better quality of the designed codebooks. The present work evaluates the impacts of initialization strategies on swarm intelligence algorithms for codebook design in terms of the quality of the designed codebooks, assessed by the quality of the reconstructed images, and in terms of the convergence speed, evaluated by the number of iterations. Initialization strategies consist of a combination of codebooks obtained by initialization algorithms from the literature with codebooks composed of vectors randomly selected from the training set. The possibility of combining different initialization techniques provides new perspectives in the search for the quality of the VQ codebooks. Nine initialization strategies are presented, which are compared with random initialization. Initialization strategies are evaluated on the following algorithms for codebook design based on swarm clustering: modified firefly algorithm—Linde–Buzo–Gray (M-FA-LBG), modified particle swarm optimization—Linde–Buzo–Gray (M-PSO-LBG), modified fish school search—Linde–Buzo–Gray (M-FSS-LBG) and their accelerated versions (M-FA-LBGa, M-PSO-LBGa and M-FSS-LBGa) which are obtained by replacing the LBG with the accelerated LBG algorithm. The simulation results point out to the benefits of the proposed initialization strategies. The results show gains up to 4.43 dB in terms of PSNR for image Clock with M-PSO-LBG codebooks of size 512 and codebook design time savings up to 67.05% for image Clock, with M-FF-LBGa codebooks with size N = 512 , by using initialization strategies in substitution to Random initialization.

1. Introduction

The diversity of signals transmitted on the network (audio, video, image and voice), the number of connected devices and the wide use of artificial intelligence in virtual assistants, smartphones, tablets and computers promote modernization of everyday actions and lead to demand for efficient data traffic and digital signal processing systems [1,2].
In this scenario, signal compression techniques become increasingly necessary. Compression techniques are predominantly divided into two groups: lossless compression, widely used in medical images, and lossy compression. In lossy compression it is generally possible to obtain higher compression rates [3].
Vector quantization (VQ) has been extensively used in lossy compression techniques. VQ consists of mapping a sequence of K-dimensional input vectors by a corresponding sequence of K-dimensional reconstruction vectors of a finite subset called a codebook [4]. The quality of VQ-based systems is directly associated with the quality of the codebooks. For this reason, codebook design is a relevant problem in the context of VQ.
The most used method in designing codebooks for VQ is the LBG algorithm, proposed by Linde, Buzo and Gray. LBG [5] starts with a codebook that is iteratively improved. The initial codebook has a large impact on both the convergence speed of the algorithm and the quality of the reconstructed signals.
In recent years, a new family of algorithms has emerged from combining swarm intelligence with LBG [6,7,8]. The versatility of swarm techniques allows them to be combined with the LBG algorithm and used in codebook design.
The objective of this paper is to evaluate the use of initialization strategies [9,10,11,12,13,14] in LBG + swarm intelligence algorithms for QV codebook design with regard to the quality of the reconstructed images and the convergence speed of the algorithms (number of iterations). The possibility of combining different initialization techniques provides new perspectives in the search for quality VQ codebooks.
Thus, we can highlight the main contributions of this work:
  • The evaluation of a variety of combinations of initialization techniques for image VQ codebook design by swarm intelligence-based algorithms, in terms of the average peak signal-to-noise ratio (PSNR) of the reconstructed images and in terms of the average number of iterations of these algorithms.
  • The evaluation of the influence of a variety of combinations of initialization techniques (precisely, nine initialization strategies) in swarm-based VQ codebook algorithms (Particle Swarm Optimization, Firefly Algorithm and Fish School Search) considering two distinct scenarios—when the algorithms are combined with the conventional LBG algorithm and when they are combined with an accelerated version of the LBG algorithm—by using statistical instruments that allow one to group algorithms that do not present statistically significant differences in performance.
The remainder of the article is organized as follows. Section 2 presents the fundamentals of VQ and the description of the LBG algorithm and its accelerated version. The initialization strategies are described in Section 3. The swarm intelligence-based codebook design techniques used in this paper are presented in Section 4. The methodology used in the experimental setup is presented in Section 5. The results and conclusions are presented in Section 6 and Section 7, respectively.

2. Vector Quantization

Efficient coding of signals is an essential process in several areas and applications, such as mobile communications, streaming services and image storage, among others. VQ is an efficient coding technique that aims to reduce the number of bits required to represent a signal [4,15,16,17].
VQ is an extension of scalar quantization to a K-dimensional Euclidean space, R K , in which each of the M vectors of an input signal X = { x m , m = 1 , 2 , , M } is represented by one of N vectors (usually with N < < M ) belonging to a finite subset of R K , Y = { y n , n = 1 , 2 , , N } , called a codebook [4,18].
The mapping of vectors from X to Y occurs through a similarity rule that seeks to reduce the distortion introduced at the end of the vector quantization process. Typically, a widely used measure to evaluate the similarity of vectors is the squared Euclidean distance, given by
d ( x m , y n ) = j = 1 K ( x m j y n j ) 2 ,
in which x m j is the j-th component of x m and y n j is the j-th component of the vector y n .
Through mapping, the input signal X is partitioned into N cells S i = 1 , 2 , , N , called Voronois regions, such that
S i = { x m : d ( x m , y i ) < d ( x m , y o ) o i } ,
in which all input signal vectors belonging to the S i Voronoi region are represented by the codevector y i . This representation leads to an error called distortion, calculated by
D = i = 1 N x m S i d ( x m , y i ) .
Each codevector y i is represented by a binary codeword b i of length n bits. The number of bits required to represent each codevector is b = log 2 N . Therefore, the code rate of the vector quantizer, which measures the number of bits by vector component and is expressed in bits per sample in voice waveform coding, or in bits per pixel (bpp) in the case of image coding, is given by
R = 1 K log 2 N .
An important issue regarding VQ is the compromise between rate and distortion.
The signal reconstructed by VQ is a degraded version of the original signal. Therefore, in order for the VQ-based signal processing systems to perform well, it is necessary to have a good codebook that minimizes the average distortion introduced by representing the input vectors x m by the corresponding codevectors, satisfying the nearest neighbor condition.
The study of techniques for generating a more representative codebook is a widely explored research topic [19,20,21,22,23,24,25]. Among the various codebook design techniques, the LBG (Linde, Buzo and Gray) algorithm stands out for being the most popular.

2.1. LBG Algorithm

LBG [5] is an algorithm proposed by Linde, Buzo and Gray as a generalization of Lloyd’s algorithm for a multidimensional space. LBG corresponds to a clustering algorithm, which starts with an initial solution that is iteratively improved to satisfy the centroid and nearest neighbor conditions.
LBG starts with a codebook, usually composed of vectors randomly obtained from the training set, for example Z = { z q , q = 1 , 2 , , Q } , with z q = { z q 1 , z q 2 , , z q K } , which is updated at each iteration based on the calculation of the centroids of each Voronoi region. The calculation of centroids is given by
y i j = 1 Q i z q S i z q j ,
in which Q i is the number of training vectors in the region S i and z q j is the j-th component of z q .
The stopping criterion of the LBG algorithm is based on the calculation of the distortion defined in Equation (3). Distortion is monitored at each iteration and decreases monotonically. The stopping criterion is reached, ending the process, when the percentual distortion variation decrease in the current iteration with respect to the previous one is below a distortion threshold, that is
D t 1 D t D t ϵ ,
in which ϵ corresponds to the distortion threshold and D t corresponds to the distortion calculation in the t-th iteration.
LBG can be summarized in the following sequence of steps:
  • Step 1 (initialization): set Y 0 as the initial codebook, set t = 0 and the distortion as D 1 = (a very large number).
  • Step 2 (partitioning): let Y t be the codebook in the t-th iteration, allocate each training vector z q in the Voronoi region according to Equation (2).
  • Step 3 (distortion calculation): calculate the total distortion, according to Equation (3).
  • Step 4 (stop criterion): If the stopping criterion is satisfied according to Equation (6), the algorithm stops and returns Y t representing the final codebook; otherwise, continue;
  • Step 5 (updating codevectors): calculate the new centroids of each Voronoi region according to Equation (5). Let t = t + 1 and return to Step 2.

2.2. Accelerated LBG Algorithm

Lee et al. proposed in [26] an alternative to accelerate the LBG algorithm, by the use of a scale factor in the step of updating the codevectors.
In the proposed technique, referred to here as accelerated LBG algorithm (LBGa), initially the codevector is calculated as the centroid of the corresponding Voronoi region, according to Equation (5), and then the new codevector will be one of the points in a line segment that connects the calculated codevector, y calculated , to the reflected point, y reflected (which corresponds to a reflection of the current codevector relative to the centroid conventionally calculated, y calculated ), as illustrated in Figure 1.
Point 2 shown in Figure 1, y calculated , represents, in the LBG algorithm, the new codevector (new centroid of a given Voronoi region). Lee et al. proposed in [26] to choose as a new codevector a point between points 2 and 4 of Figure 1, as follows:
y new = y current + s · ( y calculated y current ) ,
in which s corresponds to the scale factor.
Lee et al. [26] defined that 1 < s < 2 . The authors noted experimentally that for s < 1 , the algorithm converges more slowly compared to the LBG algorithm and for 1 < s < 2 , the algorithm converges faster. For s = 1 , the algorithm corresponds to the LBG algorithm. Figure 2 illustrates the example of y new obtained using s = 1.2 , s = 1.5 and s = 1.8 .

3. Initialization Strategies

The LBG algorithm starts with an initial solution (initial codebook) that is iteratively improved to satisfy the centroid and nearest neighbor conditions, as described in Section 2. Initialization is a step that directly influences the performance of QV, as the convergence speed and the quality of the codebook obtained depend on the initial codebook.
A widely used initialization alternative is random initialization, in which the initial set of codevectors is drawn randomly from the training set. Other initialization methods can lead to a better quality of the designed codebooks.
Let Z = { z q , q = 1 , 2 , , Q } be the training set, in which z q = { z q 1 , z q 2 , , z q K } and let Y 0 = { y n , n = 1 , 2 , , N } be the initial codebook with N codevectors, in which y n = { y n 1 , y n 2 , , y n K } . The following subsections present several strategies for designing the initial codebook Y 0 .

3.1. Hadamard

Hadamard initialization, introduced by Chen and Li in [9], is a technique for generating initial codevectors for VQ in the Hadamard domain. In the method, one initially calculates the Hadamard transform of the training vectors and orders the transformed vectors according to the value of their first components. Then, the sorted transformed vectors are partitioned into N groups and the inverse transform of the mid vector of each group is used as an initial codevector. The initial codebook is then composed of the N vectors obtained so far.
The detailed steps of the Hadamard technique are given below:
  • Step 1: let H K × K be the Hadamard matrix of dimension K × K . Calculate the transform of each input vector z q as:
    h ( z q ) = z q · H K × K ,
    in which the Hadamard matrix is a square matrix with a dimension that is a power of 2, defined as follows:
    H 2 t = 1 2 t H 2 t 1 H 2 t 1 H 2 t 1 H 2 t 1 ,
    in which t is a non-negative integer and H 1 = ( 1 ) . For example:
    H 4 = 1 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .
  • Step 2: sort the transformed training vectors in ascending order according to their first component.
  • Step 3: divide the ordered vectors into N groups of equal size.
  • Step 4: finally, select the mid vector of each ordered group, then Y 0 will be composed by the corresponding inverse Hadamard transform of the N selected mid vectors.

3.2. Group Strategy

In the Group Strategy initialization technique proposed by Ma et al. in [10], the authors use the variance and mean of the training set vectors to select the initial codebook for VQ.
The mean ( m z q ) and variance ( v z q ) of the vector z q of dimension K are respectively defined by
m z q = 1 K j = 1 K z q j
and
v z q = 1 K j = 1 K ( z q j m z q ) 2 ,
in which z q j is the j-th component of the vector z q .
The procedure for generating the initial codebook involves the following steps:
  • Step 1: calculate the variance of all training vectors z q according to Equation (12).
  • Step 2: sort the training vectors in order of increasing variance.
  • Step 3: divide the ordered vectors into 3 groups A, B and C, in the proportion 17:2:1, that is, ≈84% belong to group A, ≈10% to group B and the remainder (≈6%) to group C.
  • Step 4: for Groups A and B, do:
    Calculate the mean of each vector belonging to the group according to Equation (11);
    Sort the vectors in ascending order according to the mean value;
    Divide groups A and B into N 2 and N 4 subgroups, respectively;
    Select the intermediate vector of each subgroup A and B as the codevector.
  • Randomly select N 4 vectors from Group C.

3.3. Subtractive Clustering

The subtractive clustering technique, proposed by Mirzaei et al. in [11], benefits from the idea of subtractive clustering and density, so that when choosing a codevector for the initial codebook, the probability of choosing training vectors located nearby decreases.
The subtractive grouping technique can be stated as follows:
  • Step 1: set the iteration counter i = 1 and the maximum iteration counter N. Calculate the density of each vector z q as follows:
    D z q = j = 1 Q exp z q z j 2 ( r a 2 ) 2 ,
    in which r a is a positive constant that represents the radius of the neighborhood and z j is a vector from the training set.
  • Step 2: select the vector z q that has the highest density D MAX as the i-th codevector y i .
  • Step 3: update the densities value of each vector z q as follows:
    D z q = D z q D MAX · exp z q y i 2 ( r b 2 ) 2 ,
    in which r b is a positive constant that defines a lower density neighborhood and y i is the vector with the highest density D MAX .
  • Step 4: if i = N , the method stops. Otherwise, do i = i + 1 and return to Step 2.

3.4. KATSA

The central idea of the algorithm proposed by Katsavounidis, Kuo and Zhang [12] is based on the premise that the training vectors that are furthest from the others probably belong to different clusters. With this premise, the essence of the algorithm is to use the furthest training vector from the current codevectors as a new codevector. The algorithm can be described as follows:
  • Step 1: calculate the norm of all training vectors and select the vector with the highest norm as the first codevector;
  • Step 2: for each remaining training vector, find the closest codevector according to its Euclidean distance. The training vector that has the greatest distance in relation to its respective closest codevector is chosen to compose the codebook. This step is repeated until the codebook has the desired number of vectors.

3.5. MEIM

The initialization algorithm called Maximum Entropy Initialization Method (MEIM) was described by Nyeck and Tosser-Roussey in [13]. The method aims to ensure that the clusters of each initial codevector have similar sizes. Let S = { S i , i = 1 , 2 , , N } be the set of N clusters in which a training vector z belongs to the cluster S i if N i d ( z , y i ) < N j d ( z , y j ) for all i j , where y i and y j are, respectively, the representation of S i and S j , and N i is the size of S i and N j is the size of S j . The algorithm is described as follows:
  • Step 1: initialize the codebook Y 0 by randomly choosing N training vectors from Z;
  • Step 2: initialize N i to 1 for all i;
  • Step 3: for each training vector z evaluate if N i d ( z , y i ) < N j d ( z , y j ) , i , j , where i j . If true, add z to S i and increment N i ;
  • Step 4: calculate the set of centroids C = { c i , i = 1 , 2 , , N } where
    c i = 1 N i j = 1 N i ( z j S i ) ;
  • Step 5: take the final codebook as Y = { y i , i = 1 , 2 , , N } where y i S i and y i is the most similar codevector to c i .

3.6. DSICS

The algorithm called Double Sorting-Based Initial Codewords Selection (DSICS) was proposed by Hu et al. in [14]. The algorithm can be described as follows:
  • Step 1: create a copy of the list of training vectors and name it D 1 ;
  • Step 2: for each training vector in D 1 , find the component with the lowest value and subtract this value from each component in its respective vector;
  • Step 3: calculate the Euclidean distance of each vector in D 1 to the origin and sort D 1 in terms of the calculated distances;
  • Step 4: make a new copy of the list of training vectors and name it D 2 ;
  • Step 5: for each training vector in D 2 , calculate the sum of its components and sort D 2 in terms of these calculations;
  • Step 6: evenly divide D 1 and D 2 into N subsets, where N is the desired number of codevectors;
  • Step 7: for each pair of corresponding sets, d 1 i and d 2 i , if d 1 i d 2 i , then select the median of d 1 i d 2 i as a codevector. Otherwise, select the median of d 1 i as a codevector.

4. Swarm Techniques Applied to VQ

Swarm algorithms are metaheuristic techniques inspired by nature, such as the behavior of collective beings such as bees [27], ants [28] and birds [29]. Swarm techniques have been applied to VQ codebook design [30,31,32].
The following subsections present three codebook design techniques based on bioinspired algorithms.

4.1. Modified FA-LBG Algorithm

Severo et al. proposed in [7] the M-FA-LBG (Modified Firelfly Algorithm—Linde–Buzo–Gray), developed from modifications made to the FA-LBG algorithm proposed by Horng in [33].
M-FA-LBG considers that a swarm has P fireflies, with each firefly representing a codebook W ( a ) , with 1 a P , of size N and dimension K, that is W ( a ) = { w i ( a ) ,   i = 1 , 2 , , N } where w i ( a ) represents the i-th codevector of the a-th codebook of dimension K, with w i ( a ) = { w i j ( a ) ,   j = 1 , 2 , , K } , where w i j ( a ) represents the j-th component of w i ( a ) .
The objective of MA-FA-LBG is to find a codebook W ( a ) that maximizes the fitness function f W ( a ) for the input vectors:
f W ( a ) = 1 D W ( a ) ,
in which D W ( a ) is the distortion for the a-th codebook W ( a ) , according to Equation (3).
In the FA-LBG, the codebook is iteratively updated through the repositioning of fireflies. Each firefly W ( a ) is attracted to a firefly W ( b ) with greater fitness and its movement is defined by
w i ( a ) t + 1 = w i ( a ) t + β · w i ( a ) t w i ( b ) t + α · r r aux ,
in which α is the parameter that regulates the insertion of randomness in the path traversed by the firefly, r is a vector whose components are equal and correspond to a random number obtained from a uniform distribution between 0 and 1, r aux is a vector whose components are equal to 0.5 and β is the firefly’s attractiveness factor, defined by
β = β 0 · exp γ · d 2 w i ( a ) t , w i ( b ) t ,
in which γ corresponds to the absorption coefficient of light through a medium, d w i ( a ) t , w i ( b ) t is the Euclidean distance between any two fireflies and β 0 is the attractiveness of a firefly for d w i ( a ) t , w i ( b ) t = 0 . If there is no firefly with higher brightness, W ( a ) will move randomly, as follows
w i ( a ) t + 1 = w i ( a ) t + α · r r aux .
M-FA-LBG proposes to precede the repositioning of fireflies with the calculation of the centroids of each Voronoi region. In this way, the codebook is updated by calculating the new centroids of the Voronoi regions, according to Equation (5) and then updating the position of the fireflies, according to Equations (17) and (19). The objective of introducing the centroid calculation in the codebook update step in M-FA-LBG is to allow a greater influence of the training set on the codebook design, aiming to minimize the distortion introduced when representing the training vectors by the corresponding code vectors.
The algorithm can be summarized in the following steps:
  • Step 1 (initialization and parameter setting): let Z be training set. Divide the training set into Q vectors of K dimension, that is, Z = { z q , q = 1 , , Q } , in which z q = { z q 1 , z q 2 , , z q K } . Initialize the algorithm with P fireflies—each firefly corresponds to an initial random codebook, obtained from the training set. Set the parameters α , β 0 and γ used in the movement of the firefly and the distortion threshold ϵ that will be used as a stopping criterion.
  • Step 2 (training set partitioning and search for the firefly with the greatest fitness): for each firefly W ( a ) , do:
    Allocate the Q training vectors in the N Voronoi regions according to Equation (2);
    Calculate the centroid of each of the N Voronoi regions according to Equation (5);
    Calculate the distortion according to Equation (3);
    Search the codebook (firefly) with the highest fitness value according to Equation (16).
  • Step 3 (position update of fireflies): update the positioning of each firefly W ( a ) , with a = 1 , 2 , , N , except the one with greatest brightness, according to Equation (17). If W ( a ) is the brightest firefly, update its position according to Equation (19).
  • Step 4 (stop criterion): if the stopping criterion is satisfied according to Equation (6), the algorithm is finished with the output being the highest brightness firefly. Otherwise, return to Step 2.

4.2. Modified PSO-LBG Algorithm

The M-PSO-LBG (Modified Particle Swarm Optimization—Linde–Buzo–Gray), proposed by Severo et al. in [6], was derived from changes made to the PSO-LBG [34] allowing greater influence of the training set in codebook design. The changes concern the way the algorithm is initialized, the codebook training stage, that is, the codevectors update stage, and the definition of the algorithm’s stopping criterion.
In M-PSO-LBG, each particle, which correspond to a possible solution to the problem, corresponds to a codebook of size N and dimension K, that is U ( a ) = { u i ( a ) , i = 1 , 2 , , N } , with 1 a P , where u i ( a ) represents the i-th codevector of the a-th codebook. The fitness function, which assesses each solution, is defined as
f U ( a ) = 1 D U ( a ) ,
where D U ( a ) is the distortion for the a-th codebook U ( a ) , according to Equation (3).
In PSO, particles move in the search space based on their individual experience and the collective experience of the swarm [29]. The best position of particle a, p b e s t ( a ) , represents the individual experience of each particle a and defines the best position (personal best) known to that particle. The position g b e s t represents the collective experience of the swarm and defines the best position (global best) known to the swarm as a whole.
In M-PSO-LBG, p b e s t ( a ) t and g b e s t t must be updated as follows:
p b e s t ( a ) t = U ( a ) t , if   f U ( a ) t > f U ( a ) t 1 p b e s t ( a ) t 1 , otherwise ,
and
g b e s t t = p b e s t max t , if   p b e s t max t > g b e s t t 1 g b e s t t 1 , otherwise ,
in which p b e s t ( a ) t = { p b e s t i ( a ) t ,   i = 1 , 2 , , N } , where p b e s t i ( a ) t represents the i-th p b e s t of the a-th codebook in iteration t, g b e s t t = { g b e s t i ,   i = 1 , 2 , , N } , where g b e s t i represents the i-th g b e s t in iteration t, p b e s t max t is the largest p b e s t value obtained among all particles in iteration t, at each iteration of the algorithm.
Each particle has a position vector and a velocity vector. The position vector stores the position of the particle in the search space. The velocity vector is responsible for indicating the direction in which changes in the position of each particle occur. In M-PSO-LBG, the position vector of each particle corresponds to the codevector of each codebook. The velocity vector v i ( a ) t + 1 at iteration t + 1 is calculated for each particle according to
v i ( a ) t + 1 = ω v i ( a ) t + c 1 r 1 t A + c 2 r 2 t B ,
with
A = p b e s t i ( a ) t u i ( a ) t   and   B = g b e s t i t u i ( a ) t ,
in which ω is the inertia factor, c 1 is the particle’s cognitive acceleration constant, c 2 is the social acceleration constant and r 1 and r 2 are random coefficients that range from 0 to 1. After updating the velocity, the new position of the particle is calculated as
u i ( a ) t + 1 = u i ( a ) t + v i ( a ) t + 1 .
The objective of M-PSO-LBG is to find a codebook that maximises the fitness function for the input vectors. With the aim of allowing a greater influence of the training set on the codebook design, M-PSO-LBG proposes to precede the repositioning of the particles with the calculation of the centroids of each Voronoi region, according to Equation (5). Therefore, updating each particle in M-PSO-LBG occurs in two steps:
  • First, with the update of the new centroids of the Voronoi regions of each of the P particles;
  • And then, with the updating of the velocity and position vectors of each of the particles.
The M-PSO-LBG can be summarised in the following steps:
  • Step 1 (initialization and parameter setting): let Z be the training set. Divide the training set into Q vectors of K dimension, that is, Z = { z q , q = 1 , 2 , , Q } , in which z q = { z q 1 , z q 2 , , z q K } . Initialize the algorithm with P particles—each particle corresponds to an initial random codebook, obtained from the training set. Set the parameters used in calculating the velocity vector and the distortion threshold ϵ that will be used as a stopping criterion.
  • Step 2 (training set partitioning and calculation of the fitness of each particle and updating p b e s t ): for each particle, do:
    Allocate the Q training vectors in the N Voronoi regions according to Equation (2);
    Calculate the centroid of each of the N Voronoi regions according to Equation (5);
    Calculate the distortion according to Equation (3);
    Calculate the fitness function according to Equation (20);
    Update position p b e s t according to Equation (21).
  • Step 3 ( g b e s t update): search the particle with the highest fitness and update the position g b e s t according to Equation (22).
  • Step 4 (update particle velocity and position): the velocity of each particle is updated in two steps:
    First, the velocity v i ( a ) t at iteration t is calculated for each particle according to
    v i ( a ) t = u i ( a ) t u i ( a ) t 1 ,
    which corresponds to the difference between the particle update before and after the centroid calculation. This is done to guarantee the convergence of the M-PSO-LBG, so that the particle follows a convergence trajectory based on the characteristics of the LBG algorithm, since the particle positioning update is preceded by its update based on the centroid calculation.
    In the second step, the velocity vector is updated according to Equation (23). And then, the new position of the particle is calculated according to Equation (24).
  • Step 5 (stop criterion): if the stopping criterion is satisfied according to Equation (6), the algorithm is finished, with the output being the g b e s t . Otherwise, return to Step 2.

4.3. Modified FSS-LBG Algorithm

The M-FSS-LBG (Modified Fish School Search—Linde–Buzo–Gray) was proposed by Fonseca, Ferreira and Madeiro in [8] which is a vector quantization codebook design method based on the Fish School Search (FSS) swarm algorithm [35]. The M-FSS-LBG algorithm has as a metaphor the behavior of a school of fish in search for food where each fish represents a different codebook. In addition to the conventional steps of the LBG algorithm, in M-FSS-LBG some movement rules are applied to move the fish in the search space (individual movement, instinctive movement and volitive movement). Furthermore, a feeding operator is used to evaluate the success of a new movement and a breeding operator is applied to increase the exploration capacity of the algorithm. The fitness function of a given fish in the M-FSS-LBG algorithm is the inverse of its general distortion.
In the Individual Movement, each fish moves randomly in its neighborhood. For a given position p i , this movement is given by
p i t = p i t 1 + 1 , 1 α ind ,
where p i t is the position of the ith fish in the current iteration and p i t 1 is the position of the ith fish in the previous iteration, 1 , 1 is a pseudo-random number generated by a uniform distribution in the range 1 , 1 and α ind is a parameter that controls the individual movement rate. After the movement, it is evaluated whether the new position is better than the previous one in terms of the fitness function. If it is not better, the fish returns to its previous position.
With each successful Individual Movement the weight of the respective fish increases according to a Feeding Operator. If the Individual Movement of the fish is unsuccessful, its weight is reduced. The weight of each fish is determined by
W i t = W i t 1 + Δ f i max Δ f ,
where Δ f i is the difference between the current and previous fitness of the ith fish and max Δ f is the maximum Δ f i among all fish. To control the growth of fish weight, a parameter is used to limit the maximum weight.
Every successful Individual Movement will also influence the fish to make an Instinctive Movement in a resulting collective direction I , given by
I = i = 1 P Δ p i Δ f i i = 1 P Δ f i ,
where P is the number of fish in the school and Δ p i is the difference between the current and previous positions of the ith fish. Each fish moves towards that direction, that is,
p i t = p i t + I .
The Volitive Movement aims to control the exploration and exploitation of the school. If the total weight of the school is greater in relation to the total weight in the previous iteration, then the entire school must move in the direction of its barycenter B (favoring exploitation). Otherwise, they move in the opposite direction (favoring exploration). The barycenter is given by
B = i = 1 P p i W i i = 1 P W i .
According to the calculated barycenter, the school moves as
p i t = p i t α vol 0 , 1 p i t B d p i t , B , if Δ W > 0 p i t + α vol 0 , 1 p i t B d p i t , B , otherwise ,
where α vol is the parameter that controls the rate of the Volitive Movement and Δ W is the difference between the total weight in the current and previous iterations.
At last, the Breeding Operator is applied to provide greater variety among fish and favor the exploration of the search space. This operator is given as follows:
  • Step 1: the current worst fish is replaced by breeding itself with the best fish in the current school;
  • Step 2: two random fish are chosen from the remaining P 2 fish;
    Step 2.1: the first random fish is replaced by breeding itself with the second random fish;
    Step 2.2: the second random fish is replaced by breeding itself with the best fish in the current school.
The breeding itself is given by calculating the arithmetic average of the weights and positions of two fish, to define the weight and position of the new fish.
The following steps summarize the M-FSS-LBG algorithm:
  • Step 1: initialize P fish with N codevectors each;
  • Step 2: for each fish:
    Step 2.1: for each training vector search the nearest neighbor in the respective fish;
    Step 2.2: assign the training vector to the Voronoi region according to Step 2.1;
  • Step 3: evaluate the LBG stopping criterion considering the fish whose fitness function is the highest;
    Step 3.1: if the stopping criterion is satisfied, go to Step 11;
    Step 3.2: otherwise, continue;
  • Step 4: for each fish apply the Individual Movement;
  • Step 5: for each fish apply the Feeding Operator;
  • Step 6: for each fish apply the Instinctive Movement;
  • Step 7: for each fish apply the Volitive Movement;
  • Step 8: for each fish apply the Breeding Operator;
  • Step 9: for each fish:
    Step 9.1: for each training vector search the nearest neighbor in the respective fish;
    Step 9.2: assign the training vector to the Voronoi region according to Step 9.1;
  • Step 10: for each fish update the centroids as in Equation (5) and go to Step 2;
  • Step 11: return the fish whose fitness function is the highest.

5. Metodology

This section presents the methodology used in the experimental setup.
The codebooks were designed with dimension K = 16 , that is, image blocks of 4 × 4 pixels, and sizes N = 32, 64, 128, 256 and 512.
The following notation is used for the considered algorithms: modified FA-LBG algorithm (M-FA-LBG), modified PSO-LBG algorithm (M-PSO-LBG) and modified FSS-LBG algorithm (M-FSS-LBG); the algorithms M-FA-LBGa, M-PSO-LBGa and M-FSS-LBGa correspond to an accelerated version, respectively, of M-FA-LBG, M-PSO-LBG and M-FSS-LBG, obtained using the technique proposed by Lee et al. [26] (see Section 2.2).
The threshold used as a stopping criterion for the algorithms was ϵ = 0.001 . The scaling factors of the LBGa algorithm used in M-FF-LBGa, M-PSO-LBGa and M-FSS-LBGa were, respectively, 1.7 , 1.4 and 1.7 . The value of this parameter was obtained from a previous analysis carried out by varying the scale factor between 1.1 and 1.9 . The average values of peak signal-to-noise ratio (PSNR) were computed. The scale factors which resulted in the largest PSNR values were chosen.
The parameters used in each algorithm are presented in Table 1. The values presented in Table 1 were obtained by preliminary simulations carried out with thirty executions for each algorithm in different sets of parameters considering each initialization strategy. Average PSNR values were computed for each set of parameters. The parameters which resulted in the largest PSNR values were chosen.
The images Barbara, Boat, Clock, Elaine, Goldhill, Lena, Mandrill, Peppers and Tiffany were used as training sets. The images are 256 × 256 pixels, portable gray map (PGM), 8.0 bits per pixel (bpp). Figure 3 presents the images used in the simulations.
For each swarm technique used, ten particles were used, therefore, in each execution of the technique, ten codebooks are initialized, where each codebook corresponds to a particle. This value was chosen based on a previous analysis of the performance of the algorithms for population sizes P = 10 , 20 , 30 , 50 and 100. As P increases, the number of mathematical operations performed by the algorithms increases, consequently the execution time of the algorithms increases. It was observed for the p values analyzed that the PSNR varies little with the increase in population size. Therefore, taking into account the computational cost with increasing population size and the performance in terms of PSNR obtained for each size, it was decided to use P = 10 .
Thirty executions of the algorithms were performed and the results were obtained in terms of the arithmetic mean at the end of the executions. Therefore, for each image thirty codebooks were designed, for each codebook of size N, with different initialization approaches.
The initialization techniques used were Random Selection, Hadamard Initialization, Group strategy, Subtractive Clustering, DSICS, MEIM and KATSA. Initializations were performed considering groups of techniques. Table 2 presents the composition of the initialization techniques used. Each letter used in the acronym represents an initialization. In “Random” initialization, the 10 codebooks are initialized randomly, while in the remaining initializations, combinations of the initialization techniques presented in Section 3 are used and the rest of the initial codebooks are randomly obtained from the training set. For example, in the SH strategy, one codebook is initialized by the Subtractive Clustering technique (S), one by the Hadamard technique (H) and the remaining eight are initialized randomly.
The quality of the designed codebooks was evaluated by the average PSNR given by
PSNR ( dB ) = 10 log 10 L 2 MSE ,
in which L is the peak amplitude value of the input image. In the case of 8 bpp original image (256 gray levels), one has L = 255 .
Let I and I be two digital images of T 1 × T 2 pixels, where I is the original image and I the reconstructed image (VQ result). The MSE (mean squared error) between images I and I is defined as
MSE = 1 T 1 × T 2 r = 0 T 1 1 c = 0 T 2 1 I ( r , c ) I ( r , c ) 2 ,
in which I ( r , c ) and I ( r , c ) represent respectively the pixel values of the original and reconstructed images in r-th row and c-th column, with T 1 representing the number of rows and T 2 the number of columns of an image.
In addition to evaluating the quality of the reconstructed images, the algorithms were evaluated in terms of convergence speed, using the average number of iterations.
The statistical tools Friedman test and Nemenyi test were used to compare the average results of PSNR and number of iterations obtained.
The Friedman test [36] is a statistical test that analyzes the existence of a statistically significant difference between the n models models in the n data sets data sets. The objective of the Friedman test is to inform whether there is a statistical difference between the compared methods [37]. In this work, the Friedman test was applied with n models = 10 codebook initialization strategies, n data sets = 30 codebook sets and a significance level of 5 % . If the p-value found is less than the desired level of significance ( 0.05 ), then there is a significant difference between the performance of the initialization strategies used. In this scenario, the Friedman test is not able to indicate whether all strategies are different or whether only one of them performs significantly differently, while the others can be considered statistically equal. The Nemenyi test [38] is a post-test used to detect which differences between models are significant.
The Nemenyi test is used to compare models “one by one”, indicating where the significant differences are [37]. The difference in performance between two initialization techniques is statistically significant if their respective average ratings differ by at least one critical difference (CD) [37,39]:
CD = q α · n models · ( n models + 1 ) 6 · n data sets ,
where q α , for the significance level α , is obtained from the table of critical values for the Nemenyi test, available in [37].
In this work, the results of the Nemenyi test were illustrated in the CD diagram [37]. Figure 4 shows an example of a CD diagram, with four hypothetical classifiers: A, B, C and D. The CD value is displayed as a line at the top of the diagram. The horizontal axis of the diagram shows the average ranks, ordered from right to left. The identification of the classifiers and their respective average ranks appear next to each vertical line, below the axis. The connected groups are not significantly different from each other, at the 0.05 significance level. For example, in Figure 4, classifier A has the best average rank, but is statistically equivalent to classifiers B and D.

6. Results

For each image and for each N (codebook size), ten different initialization strategies were evaluated with the algorithms M-PSO-LBG, M-PSO-LBGa, M-FSS-LBG, M-FSS-LBGa, M-FF-LBG and M-FF-LBGa.
Table 3 presents the average PSNR results in dB for the Clock image obtained with the M-PSO-LBG algorithm. Among the initialization strategies used, the one that presented the best performance, for codebook sizes smaller than or equal to 128, was the MeKt strategy. For N = 256 and N = 512 , the DsKt and MeKt strategies presented the best results. For all strategies, it is observed that the superiority over random initialization, in terms of PSNR, of the Clock image, increases with N. In particular, for N = 512 , the average PSNR gain obtained by replacing random initialization with DsKt or MeKt is 4.43 dB.
Performing the Friedman test with a significance of 5 % ( 95 % confidence) between the different initialization strategies, it was observed that with M-PSO-LBG, considering the average PSNR results, the p-value presented was always less than 0.05 as shown in Table 4. This means that there is a statistical difference between the compared initialization strategies. Once the statistical difference was evident, the Nemenyi test was applied. According to the Nemenyi test, two initialization strategies contain significant differences if their respective average rankings differ by at least one critical difference. The Nemenyi test was applied with CD = 2.473 and q 0.05 = 3.164 (see Equation (34)). Figure 5 shows the resulting CD diagram of the Clock image with N = 512 for the M-PSO-LBG algorithm, where the horizontal axis represents the average ranking of initialization strategies. The lines below the horizontal axis connect the strategies that do not contain a significant statistical difference with 95 % confidence. The diagram shows that the DsKt and MeKt strategies, in this order, are better positioned in the ranking. Furthermore, it is noted that there is no statistical superiority between the strategies that contain the initialization Kt and they present superiority in relation to the other strategies.
Table 5 presents the average number of iterations for the Clock image obtained with the M-PSO-LBG algorithm. For N less than or equal to 128, any initialization strategy performs better than the random strategy. For N = 256 , the worst performance occurs for the MH strategy and the best performance occurs for the All strategy. For N = 512 , the best performance is from the DsMe strategy with 19.00 iterations on average. It is important to highlight that, for N = 512 , an average of 20.13 iterations were needed to obtain the average PSNR value of 31.20 dB for random initialization. Note that for the DsKt initialization (which presents the best result in terms of PSNR among the evaluated strategies), 34.70 average iterations were required to obtain an average PSNR of 35.63 dB. The “price” for increasing the average PSNR for N = 512 obtained by replacing the random strategy with the DSKt strategy is maybe “paid” by the average number of iterations. However, this result can still be improved using the accelerated version of M-PSO-LBG (M-PSO-LBGa algorithm).
Table 6 presents the average PSNR results in dB for the Clock image obtained with the M-PSO-LBGa algorithm. For N = 32 , the DsKt initialization presents the best result. For N = 64 , N = 256 and N = 512 , strategies that contain the Kt initialization show better results; a similar behavior is observed for N = 128 , where the DsMeKt strategy presents the highest average PSNR value (29.67 dB) and the other strategies that contain the Kt initialization present results very close to 29.67 dB. In general, in most cases, a lower average number of iterations is observed for M-PSO-LBGa compared to M-PSO-LBG. Note, comparing Table 7 and Table 5, that a smaller average number of iterations is required for the DsKt strategy with the M-PSO-LBGa algorithm compared to the M-PSO-LBG algorithm. For N = 256 and N = 512 , the DskT strategy with M-PSO-LBGa presents an average number of iterations of 18.00 and 21.00, respectively. While for M-PSO-LBG the DskT strategy for N = 256 and N = 512 presents an average number of iterations of 51.53 and 34.70, respectively. This corresponds to a reduction in the average number of iterations of approximately 65% and 39%, respectively.
Table 8 and Table 9 present the average PSNR results of the Clock image obtained by the M-FSS-LBG and M-FSS-LBGa algorithms, respectively. For both the M-FSS-LBG algorithm and its accelerated version, the MS initialization strategy, for codebook sizes less than or equal to 256 presented the best performance in terms of average PSNR compared to the results obtained with the other initialization strategies. For N = 512 , the All strategy presented the best average PSNR result for both M-PSO-LBG and its accelerated version. In particular, for N = 512 , for both M-PSO-LBG and M-PSO-LBGa, the All strategy presented an average PSNR gain over random initialization greater than 3 dB.
Table 4 presents the Friedman test performed between the PSNR results obtained with the M-FSS-LBG and M-FSS-LBGa algorithms. For all codebook sizes N, p-value presented a result below 0.05, indicating the existence of a significant statistical difference.
From the CD diagram of the Clock image with N = 512 (M-FSS-LBG algorithm), presented in Figure 6, it is possible to see that the All strategy was the best placed in the ranking and that it presents statistical superiority in relation to the SH, MHS, MS, MH, DsMe and random strategies. For the M-FSS-LBGa algorithm, the CD diagram, presented in Figure 7, shows that the DsKt and All strategies are positioned as first and second, respectively, in the ranks, and that they present statistical superiority in relation to the MHS, MH, DsMe and random strategies.
Regarding the average number of iterations, for N = 256 and N = 512 , the M-FSS-LBG algorithm required a smaller number of average iterations compared to the M-FFS-LBGa algorithm, as can be seen in Table 10 and Table 11. For example, for M-FSS-LBG with N = 256 , the SH initialization strategy had the lowest average number of iterations with 17.10, while for M-FSS-LBGa, the SH initialization strategy had an average number of 21.87 iterations. For M-FSS-LBG with N = 512 , the MeKt initialization strategy had the lowest average number of iterations with 12.00, while for M-FSS-LBGa, the MeKt initialization strategy had an average number of 14.90 iterations. For N = 64 and N = 128 , M-FSS-LBGa presented the best results in terms of average number of iterations with the All strategy. For N = 32 , M-FSS-LBG provided the best result with the All strategy, which presented an average number of iterations of 19.70.
For the Clock image, for the M-FF-LBG and M-FF-LBGa algorithms, only for N = 32 and N = 256 the initialization strategy that presented the best performance was the same, more specifically, the strategy DsMeKt for N = 32 and the DsKt strategy for N = 256 , as can be seen in Table 12 and Table 13. The most significant gain over Random initialization is observed for N = 512 (M-FF-LBG) with the DsMeKt initialization strategy, with a gain of 3.11 dB. It is important to highlight that, for N = 512 , for both M-FF-LBG and M-FF-LBGa, the strategies that use the Kt initialization present very close results, with values varying between 35.66 dB and 35.69 dB for the M-FF-LBG and between 35.49 dB and 35.50 dB for the M-FF-LBGa. The CD diagram of the results obtained with the M-FF-LBG algorithm for the Clock image with N = 512 , presented in Figure 8, indicates that the DsMeKt strategy was the best placed in the ranking and presents statistical superiority in relation to strategies that do not use the Katsa initialization.
Regarding the average number of iterations, comparing the Clock image results obtained with the M-FF-LBG and M-FF-LBGa algorithms, presented, respectively, in Table 14 and Table 15, it is observed that the M-FF-LBGa algorithm requires a lower average number of iterations. For example, for N = 512 , the M-FF-LBG algorithm with the MHS initialization strategy requires an average of 54.80 iterations, while the accelerated version of M-FF-LBG requires an average of 16.50 iterations. This corresponds to a reduction in the average number of iterations of approximately 70%.
The average PSNR results in dB of the Elaine image with M-PSO-LBG are presented in Table 3. For N 128 , the average PSNR results obtained with the initialization strategies were very close to the results obtained with Random initialization; the MS strategy presented the best result. For N = 256 , the MH initialization strategy presented the best performance compared to the results obtained with the other initialization strategies. For N = 512 , replacing the Random initialization strategy with MeKt initialization strategy leads to a PSNR gain of 1.32 dB.
For the Elaine image, for N 256 , the results obtained in terms of average PSNR by M-PSO-LBGa (Table 6) are similar to those of M-PSO-LBG. It is worth mentioning that, for Random initialization with N = 512 , using the M-PSO-LBGa in substitution to M-PSO-LBG, it was possible to achieve a PSNR gain of 1.01 dB.
Regarding the average number of iterations, comparing the Elaine image results obtained by the M-PSO-LBG and M-PSO-LBGa algorithms, presented, respectively, in Table 5 and Table 7, it is observed that M-PSO-LBGa presents better performance compared to the results obtained with M-PSO-LBG, except for the random and DsMe strategies with N = 512 . For example, for N = 512 , with the random initialization strategy, M-PSO-LBGa presented an average of 51.73 iterations and M-PSO-LBG presented an average of 19.00 iterations. As for the DsMe initialization strategy, for N = 512 , M-PSO-LBGa presented an average of 58.37 iterations and M-PSO-LBG presented an average of 22.93 iterations. This implies an increase of approximately 172% and 154% in the number of iterations, respectively, for the Random and DsME strategies, substituting M-PSO-LBG by M-PSO-LBGa.
Concerning the average PSNR results for the image Elaine with the M-FSS-LBG, presented in Table 8, the MH strategy presented the best results for N = 32 and N = 64 . For N = 128 and N = 256 , the MHS strategy presented the best result. For N = 512 , the average PSNR gain obtained by replacing Random initialization with DsKt is 0.57 dB. The average PSNR results of the Elaine image with the accelerated version of M-PSO-LBG are presented in Table 9. The results obtained by M-FSS-LBGa are quite similar to the ones of M-PSO-LBG. For example, for N = 512 with the DsMeKt initialization strategy, M-FSS-LBGa obtained a PSNR of 34.02 dB and M-FSS-LBG obtained 34.00 dB.
Comparing the results of the average number of iterations for the Elaine image, for N = 32 , M-FSS-LBG (Table 10) presented better results than the ones of M-FSS-LBGa (Table 11) for most initialization strategies. For N = 64 , with M-FSS-LBG, the MS initialization strategy presented the best result with an average of 16.03 iterations. For M-FSS-LBGa the MHS strategy presented the best result with an average of 16.60 iterations. For N = 128 and N = 256 , with M-FSS-LBG, the All initialization strategy presented the best result. With M-FSS-LBGa, for N = 128 and N = 256 , the MHS strategy presented the best result. For N = 512 , with M-FSS-LBG, replacing the Random strategy with the MeKt strategy showed a reduction of 45% in the average number of iterations. With M-FSS-LBGa, replacing the Random strategy with the DsKt strategy, for N = 512 , showed a reduction of approximately 47% in the average number of iterations.
Table 12 and Table 13 present the average PSNR results with M-FF-LBG and M-FF-LBGa, respectively, for the Elaine image. For M-FF-LBG, the All strategy presented the best performance for N = 256 and the strategies containing the Kt initialization presented better results for the codebook designed with N = 512 . For N = 512 , the Random initialization obtained a PSNR of 33.86 dB and the strategies that contain the Kt initialization obtained 34.22 dB. For the accelerated version of M-FF-LBG, with N = 256 , Random initialization presented the best result, while for N = 512 , the DsMe strategy presented the best result.
It is observed that using the Friedman test performed between the PSNR results obtained with M-FF-LBG and M-FF-LBGa (Table 16), the p-value presented a result below 0.05 for all N codebook sizes, indicating the existence of a significant statistical difference. The Nemenyi test for M-FF-LBG presented in Figure 9 shows that the best average PSNR results for N = 512 were obtained with the strategies that contain the Kt initialization and that there is no significant difference between these results and the results obtained with the SH strategy. For the accelerated version of M-FF-LBG, with N = 512 , the Nemenyi test presented in Figure 10 indicates that there is a significant difference in terms of average PSNR only between the SH strategy and the DsMe and Random strategies.
Table 14 and Table 15 present, for the Elaine image, the results of the average number of iterations for M-FF-LBG and M-FF-LBGa, respectively. For N 256 , the results obtained with M-FF-LBGa surpass the results obtained with M-FF-LBG. For example, the SH strategy for N = 32 presented an average number of 39.00 iterations with M-FF-LBG, while M-FF-LBGa presented an average number of 28.23 iterations. For N = 512 , all initialization strategies, except the DsMe and Random strategies, presented better results with the replacement of M-FF-LBG by its accelerated version. For example, the DsKt strategy presented an average number of 36.73 iterations with M-FF-LBGa and an average number of 53.90 iterations with M-FF-LBG. This implies a reduction of approximately 32% in the average number of iterations.
Table 3 and Table 6 present the average PSNR results obtained with the Peppers image for M-PSO-LBG and M-PSO-LBGa, respectively. It is observed that for N 128 , the results obtained by M-PSO-LBG are similar to the ones of M-PSO-LBGa. For N 256 , the results obtained with M-PSO-LBG were better than the ones of M-PSO-LBGa. For example, for N = 256 with the MH initialization strategy, the M-PSO-LBG presented an average PSNR of 30.60 dB and the M-PSO-LBGa presented an average PSNR of 30.43 dB. For N = 512 with the DsKt initialization strategy, the M-PSO-LBG presented an average PSNR of 33.01 dB and the M-PSO-LBGa presented an average PSNR of 32.83 dB.
The results presented in Table 17 for the Friedman test with the accelerated version of M-PSO-LBG show that there is no significant difference in terms of average PSNR for N 64 . Meanwhile, for N 128 , the p-value was less than 0.05, indicating the existence of a statistically significant difference in terms of average PSNR. The CD diagram of the results obtained with the M-PSO-LBGa algorithm for the Peppers image, with N = 512 , presented in Figure 11, indicates that the strategies that contain the Kt initialization were the best placed in the ranking and present statistical superiority in relation to the Random, DsMe and SH strategies.
Regarding performance in terms of the average number of iterations, the results obtained with M-PSO-LBGa (Table 7) overperform the results obtained with M-PSO-LBG (Table 5) for N 128 . For N = 256 , the results obtained with M-PSO-LBGa outperform the results obtained with M-PSO-LBG, except for the DsKt initialization strategy. It is observed that for N = 512 , M-PSO-LBG overperforms M-PSO-LBGa only for the MH, MS and MHS strategies. For N = 512 , the M-PSO-LBG presented an average number of 49.20 iterations with the DsKt initialization strategy. When replacing M-PSO-LBG by M-PSO-LBGa, the average number of iterations, for N = 512 with the DsKt initialization strategy, reduces to 22.00 iterations. This represents savings of more than 55%.
Table 18 presents the Friedman test for the results of the average number of iterations obtained with M-PSO-LBGa. The results indicate the existence of significant difference in the codebooks with N 64 . For N = 512 , strategies that contain the Kt initialization present the best results. This can be seen in the CD diagram presented in Figure 12, which shows the best placed strategies in the ranking. Note that the strategies that contain the initialization Kt present statistical superiority in relation to the other strategies.
Table 8 and Table 9 present the average PSNR results obtained for the Peppers image with M-FSS-LBG and M-FSS-LBGa, respectively. For both M-FSS-LBG and M-FSS-LBGa, only for N 128 , there are significant differences in the results between the initialization strategies. This can be seen in Table 17, which presents the results of the Friedman test in terms of average PSNR for the M-FSS-LBG and its accelerated version, considering the Peppers. The p-value presented a result below 0.05 for N 128 , indicating the existence of significant statistical difference between the initialization strategies under consideration. For example, considering M-FSS-LBG, the All initialization strategy obtained an average PSNR gain over Random initialization of 0.29 dB for N = 256 and an average PSNR gain of 0.60 dB for N = 512 . Considering M-FSS-LBGa, the MH initialization strategy obtained an average PSNR gain over Random initialization of 0.19 dB for N = 256 and the All initialization strategy obtained an average PSNR gain over Random initialization of 0.73 dB for N = 512 .
Table 10 and Table 11 present the results of the average number of iterations for M-FSS-LBG and M-FSS-LBGa, respectively, with the Peppers image. It is observed that by replacing random initialization with an initialization strategy it is possible to obtain reductions in the average number of iterations in the range of 0.33 to 10.33 for M-FSS-LBG and in the range of 0.74 and 7.60 for M-FSS-LBGa. For example, for M-FSS-LBG and N = 512 , Random initialization obtained an average number of iterations of 37.60 and the All strategy obtained 27.27 iterations, that is, a difference of 10.33 iterations. For the accelerated version of M-FSS-LBG, for N = 256 , Random initialization obtained an average number of iterations of 33.70 and the All strategy obtained 26.10 iterations, that is, a difference of 7.60 iterations.
Table 12 and Table 13 present the average PSNR results obtained with M-FF-LBG and its accelerated version, respectively, considering the Peppers image. It is observed that for both M-FF-LBG and M-FF-LBGAa, the results obtained with the different initialization strategies for N 64 are very similar. For N = 256 with M-FF-LBG, it was possible to obtain a PSNR gain of 0.17 dB by using the MH, MS and All strategies in substitution of the Random initialization, while with M-FF-LBGa, a PSNR gain of 0.12 dB is obtained by the substitution of the Random initialization by MS strategy. For N = 512 with the MHS strategy, the M-FF-LBG obtained an average PSNR of 33.08 dB and the M-FF-LBGa obtained 32.89 dB. Comparing these results with the results obtained with Random initialization, gains in terms of PSNR of 0.30 dB and 0.12 dB are observed for M-FF-LBG and M-FF-LBGa, respectively.
Table 17 presents the results of the Friedman test for M-FF-LBG and M-FF-LBGa considering the Peppers image. The results indicate the existence of significant statistical difference between the initialization strategies for N 128 , considering the M-FF-LBG and for N = 32 and N 128 considering the M-FF-LBGa.
Figure 13 and Figure 14 present the CD diagram for N = 512 with M-FF-LBG and M-FF-LBGa, respectively, considering the Peppers image. Figure 13 indicates that the MHS strategy is the best positioned in the ranking and that it presents statistical superiority only in relation to the SH, Random and DsMe strategies. For the accelerated version of M-FF-LBG (Figure 14), the MHS strategy is also the best positioned in the ranking and presents statistical superiority only in relation to the SH, Random, DsMe and DsKt strategies.
Regarding the results of the average number of iterations, presented in Table 14 and Table 15 for the Peppers image, the superiority of M-FF-LBGa over M-FF-LBG for all N is observed, except for N = 64 with the strategies DsKt and DsMeKt. For N = 256 , M-FF-LBG obtained an average number of 43.83 iterations with the MeKt strategy and M-FF-LBGa obtained 34.43 iterations. For N = 512 , M-FF-LBGa presents an average number of iterations of 48.10 with the DsMeKt strategy, while M-FF-LBGa presents an average number of iterations of 24.20. In particular, for N = 512 , the substitution of Random initialization by MS strategy results in a reduction of approximately 21% in the average number of iterations considering M-FF-LBG. Considering the accelerated version of M-FF-LBG, for N = 512 , the substitution of Random initialization by DsMeKt strategy results in a reduction of approximately 46% in the average number of iterations.
To evaluate, in general, the initialization strategies that presented the highest performance, regardless of the image and the algorithm used, we constructed a histogram (for each size N) of the ranking of the initialization strategies based on the results obtained with the Nemenyi test for the average PSNR. Figure 15 shows the obtained histograms.
In Figure 15a, for N = 32 , the MS strategy was 11 times the one that presented the best average PSNR performance. In second position, one observes the DsKt and MH strategies with eight occurrences. For N = 64 (Figure 15b), the SH strategy ranked first in the average rank, with nine occurrences. The second place, with eight occurrences, was occupied by all strategies that use the Ma initialization.
In Figure 15c, for N = 128 , in first place in the average classification, with 17 occurrences, one has the MHS strategy. In second place, with 12 occurrences, one has the MS strategy. For N = 256 (Figure 15d), in first place in the average ranking, with 17 occurrences, one has the MH strategy. In second place, with 13 occurrences, one has the MS strategy.
Finally, for N = 512 (Figure 15e), the DsKt strategy occupies first place in the ranking with 17 occurrences, while in second position, with 8 occurrences, one has the SH strategy.
It is worth noting that for none of the codebook sizes N = 128 and N = 512 , did the random initialization strategy rank first in the Nemenyi test ranking. For N = 32 and N = 256 the random initialization ranked first in the Nemenyi test, ranking only once, and for N = 64 the random initialization ranked first in the Nemenyi test, ranking four times. This shows that the initialization strategies allowed us to obtain codebooks with higher quality than those obtained by random initialization, thus contributing to obtaining reconstructed images with better quality in terms of PSNR.
Regarding the average number of iterations, Figure 16 presents the histogram (for each size N) of the ranking of initialization strategies based on the results obtained with the Nemenyi test for the average number of iterations.
In Figure 16a, for N = 32 , a well-distributed histogram is observed in which all initialization strategies were ranked first at least four times. The DsKt, MH and SH strategies occupied the first place in the ranking, with seven occurrences each. The second place, with six occurrences, was occupied by the All strategy.
For N = 64 , in Figure 16b, the first place was occupied by the MH strategy, with 17 occurrences, and the second place by the All strategy, with 13 occurrences. It is observed that the first to fourth places in the ranking were occupied by all strategies that use the M initialization. Below the fourth position there is a smaller number of occurrences equal to 3. There were no occurrences for the Random strategy.
For N = 128 (Figure 16c), a similar behavior was observed. First to third place in the rankings were occupied by all strategies that use the M strategy. The MH strategy occupies first place in the ranking with 12 occurrences, while in second position, with 11 occurrences, one has the MS strategy. In third place there was a tie between the MHS and All strategies, with 10 occurrences each. Below the third position there was a smaller number of occurrences equal to 5. It is also worth highlighting that the random initialization ranked first only once in the Nemenyi test ranking.
In Figure 16d, for N = 256 , the first place was occupied by the MHS strategy, with 12 occurrences, and second place by the DsKt strategy, with 10 occurrences. There were no occurrences for the Random strategy.
For N = 512 (Figure 16e), the first place was occupied by the DsKt strategy, with 11 occurrences. In second place there was a tie between the MS and MeKt strategies, with eight occurrences each.
It is worth mentioning that for codebook sizes N = 32 , 128 and 512, the random initialization strategy ranked first in the Nemenyi test classification, five, one and two times, respectively. The best ranked initialization strategies in the Nemenyi test classification were the strategies that use M initialization. These results indicate that the combination of initialization strategies allows the reduction in the number of algorithm iterations for codebook design, leading to a reduction in the convergence speed of these algorithms.

7. Conclusions

Vector quantization (VQ) has been used in signal processing applications such as signal compression. The performance of VQ-based signal processing systems depends on the designed codebooks.
Swarm techniques in conjunction with the LBG algorithm have been proposed as alternatives for codebook design. The quality of the codebooks designed by these algorithms depends on initialization, as they start from initial codebooks that are improved iteratively. Therefore, the initial codebook has a great impact on both the algorithm’s convergence speed and the quality of the reconstructed signals.
This work evaluates different initialization strategies for swarm algorithms combined with LBG. Each initialization strategy consists of combining literature techniques with random initialization. Nine initialization strategies are presented, which are compared with random initialization. Initialization strategies were evaluated on the following algorithms for codebook design: M-FA-LBG, M-PSO-LBG, M-FSS-LBG and their accelerated versions (M-FA-LBGa, M-PSO-LBGa and M-FSS-LBGa).
Evaluations were made in terms of the quality of the reconstructed images evaluated in terms of average PSNR and in terms of the convergence speed from the average number of iterations. Additionally, the Friedman and Nemenyi tests were used to determine whether the results are statistically significantly different.
The results obtained indicate that the initialization strategies provided an increase in the PSNR of the reconstructed images compared to Random initialization. Simulation results reveal gains, in terms average PSNR of reconstructed images, up to 4.43 dB, for Clock with M-PSO-LBG codebooks with size N = 512 , by using initialization strategies in substitution to Random initialization. We constructed a histogram, for each codebook size N, of the ranking of initialization strategies based on the results obtained with the Nemenyi test for the average PSNR. Random initialization ranked first in the Nemenyi test rankings only once for N = 32 and N = 256 , four times for N = 64 and not once for N = 128 and N = 512 .
As for the convergence speed, initialization strategies provided savings in the average number of iterations. Simulation results show time savings up to 67.05% for image Clock, with M-FF-LBGa codebooks with size N = 512 , by using initialization strategies in substitution to Random initialization.
As for future work, we can highlight the evaluation of other initialization strategies different from those used, the proposition of new initialization techniques for swarm algorithms applied to codebook design and the evaluation of the use of the proposed initialization strategies applied to image segmentation and 3D point cloud compression.

Author Contributions

Conceptualization, V.S. and F.M.; methodology, V.S. and F.M.; software, V.S., F.B.S.F., R.S. and A.N.; validation, V.S., F.B.S.F. and F.M.; formal analysis, V.S.; investigation, V.S., F.B.S.F., R.S., A.N. and F.M.; writing—original draft preparation, V.S. and F.B.S.F.; writing—review and editing, F.M.; supervision, V.S. and F.M.; project administration, F.M.; funding acquisition, F.M. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by Fundação Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES), Fundação de Amparo a Ciência e Tecnologia de Pernambuco (FACEPE) and Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

All data used in this paper are acquired from the USC-SIPI Image Database (http://sipi.usc.edu/database/, accessed on 1 February 2024).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Hammi, B.; Zeadally, S.; Khatoun, R.; Nebhen, J. Survey on smart homes: Vulnerabilities, risks, and countermeasures. Comput. Secur. 2022, 117, 102677. [Google Scholar] [CrossRef]
  2. Orfanos, V.A.; Kaminaris, S.D.; Papageorgas, P.; Piromalis, D.; Kandris, D. A Comprehensive Review of IoT Networking Technologies for Smart Home Automation Applications. J. Sens. Actuator Netw. 2023, 12, 30. [Google Scholar] [CrossRef]
  3. Sayood, K. Introduction to Data Compression; Morgan Kaufmann: Burlington, MA, USA, 2017. [Google Scholar]
  4. Gersho, A.; Gray, R.M. Vector Quantization and Signal Compression; Kluwer Academic Publishers: New York, NY, USA, 1992. [Google Scholar]
  5. Linde, Y.; Buzo, A.; Gray, R. An algorithm for vector quantizer design. IEEE Trans. Commun. 1980, 28, 84–95. [Google Scholar] [CrossRef]
  6. Severo, V.; Leitão, H.A.S.; Lima, J.B.; Madeiro, F. Algoritmo PSO Modificado Aplicado ao Projeto de Quantizadores Vetoriais. In Proceedings of the Anais do 12 Congresso Brasileiro de Inteligência Computacional, Curitiba, PR, Brasil, 13–16 October 2015; pp. 1–6. [Google Scholar]
  7. Severo, V.; Leitão, H.A.S.; Lima, J.B.; Lopes, W.T.A.; Madeiro, F. Modified firefly algorithm applied to image vector quantisation codebook design. Int. J. Innov. Comput. Appl. 2016, 7, 202–213. [Google Scholar] [CrossRef]
  8. Fonseca, C.; Ferreira, F.A.; Madeiro, F. Vector quantization codebook design based on fish school search algorithm. Appl. Soft Comput. 2018, 73, 958–968. [Google Scholar] [CrossRef]
  9. Chen, S.; Li, F. Initial codebook method of vector quantisation in Hadamard domain. Electron. Lett. 2010, 46, 630–631. [Google Scholar] [CrossRef]
  10. Ma, X.; Pan, Z.; Li, Y.; Fang, J. High-quality initial codebook design method of vector quantisation using grouping strategy. IET Image Process. 2015, 9, 986–992. [Google Scholar] [CrossRef]
  11. Mirzaei, B.; Nezamabadi-Pour, H.; Abbasi-Moghadam, D. An effective codebook initialization technique for LBG algorithm using subtractive clustering. In Proceedings of the 2014 Iranian Conference on Intelligent Systems (ICIS), Bam, Iran, 4–6 February 2014; IEEE: Piscataway, NJ, USA, 2014; pp. 1–5. [Google Scholar]
  12. Katsavounidis, I.; Kuo, C.C.J.; Zhang, Z. A new initialization technique for generalized Lloyd iteration. IEEE Signal Process. Lett. 1994, 1, 144–146. [Google Scholar] [CrossRef]
  13. Nyeck, A.; Tosser-Roussey, A. Maximum entropy initialisation technique for image coding vector quantiser design. Electron. Lett. 1992, 28, 273–274. [Google Scholar] [CrossRef]
  14. Hu, K.C.; Chen, C.H.; Tsai, C.W.; Chiang, M.C. An enhanced initialization method for codebook generation. In Proceedings of the 2015 IEEE International Conference on Consumer Electronics-Taiwan, Taipei, Taiwan, 6–8 June 2015; IEEE: Piscataway, NJ, USA, 2015; pp. 92–93. [Google Scholar]
  15. Bal, R.; Bakshi, A.; Gupta, S. Performance evaluation of optimization techniques with vector quantization used for image compression. In Proceedings of the Harmony Search and Nature Inspired Optimization Algorithms: Theory and Applications, ICHSA 2018, Gurgaon, India, 7–9 February 2019; Springer: Berlin/Heidelberg, Germany, 2019; pp. 879–888. [Google Scholar]
  16. Barman, D.; Hasnat, A.; Barman, B. A Quantization Based Codebook Formation Method of Vector Quantization Algorithm to Improve the Compression Ratio While Preserving the Visual Quality of the Decompressed Image. Multidimens. Syst. Signal Process. 2023, 34, 127–145. [Google Scholar] [CrossRef]
  17. Kavitha, V.R.; Kanchana, M.; Gobinathan, B.; Sekar, K.R.; Sikkandar, M.Y. Optimization Based Vector Quantization for Data Reduction in Multimedia Applications. Intell. Autom. Soft Comput. 2022, 31, 853–867. [Google Scholar] [CrossRef]
  18. Gray, R. Vector quantization. IEEE ASSP Mag. 1984, 1, 4–29. [Google Scholar] [CrossRef]
  19. Karri, C.; Jena, U. Fast vector quantization using a Bat algorithm for image compression. Eng. Sci. Technol. Int. J. 2016, 19, 769–781. [Google Scholar] [CrossRef]
  20. Chiranjeevi, K.; Jena, U.R. Image compression based on vector quantization using cuckoo search optimization technique. Ain Shams Eng. J. 2018, 9, 1417–1431. [Google Scholar] [CrossRef]
  21. Bilal, M.; Ullah, Z.; Islam, I.U. Fast Codebook Generation Using Pattern Based Masking Algorithm for Image Compression. IEEE Access 2021, 9, 98904–98915. [Google Scholar] [CrossRef]
  22. Minu, M.S.; Canessane, R.A. An Efficient Squirrel Search Algorithm based Vector Quantization for Image Compression in Unmanned Aerial Vehicles. In Proceedings of the 2021 International Conference on Artificial Intelligence and Smart Systems (ICAIS), Coimbatore, India, 25–27 March 2021; pp. 789–793. [Google Scholar]
  23. Guo, J.R.; Wu, C.Y.; Huang, Z.L.; Wang, F.J.; Huang, M.T. Vector Quantization Image Compression Algorithm Based on Bat Algorithm of Adaptive Separation Search. In Proceedings of the International Conference on Advanced Intelligent Systems and Informatics 2021, Cairo, Egypt, 11–13 December 2021; Springer International Publishing: Cham, Switzerland, 2022; pp. 174–184. [Google Scholar]
  24. Rahebi, J. Vector Quantization Using Whale Optimization Algorithm for Digital Image Compression. Multimed. Tools Appl. 2022, 81, 20077–20103. [Google Scholar] [CrossRef]
  25. Ravikiran, K.H.; Mohana, H.S.; Jayanth, J.; Kumar, M.S.P.; Deepak, H.A. Hybrid Codebook Optimization Technique for Vector Quantization to Preserve the Quality of the Decompressed Image. In Proceedings of the 2023 IEEE 4th Annual Flagship India Council International Subsections Conference (INDISCON), Mysore, India, 5–7 August 2023; pp. 1–7. [Google Scholar]
  26. Lee, D.; Baek, S.; Sung, K. Modified K-means algorithm for vector quantizer design. IEEE Signal Process. Lett. 1997, 4, 2–4. [Google Scholar]
  27. Karaboga, D. An Idea Based on Honey Bee Swarm for Numerical Optimization; Technical Report; Erciyes University, Engineering Faculty, Computer Engineering Department: Kayseri, Türkiye, 2005. [Google Scholar]
  28. Dorigo, M.; Birattari, M.; Stutzle, T. Ant colony optimization. IEEE Comput. Intell. Mag. 2006, 1, 28–39. [Google Scholar] [CrossRef]
  29. Eberhart, R.; Kennedy, J. Particle swarm optimization. In Proceedings of the IEEE International Conference on Neural Networks, Perth, WA, Australia, 27 November–1 December 1995; Volume 4, pp. 1942–1948. [Google Scholar]
  30. Atabay, H.A.; Sheikhzadeh, M.J.; Torshizi, M. A clustering algorithm based on integration of K-Means and PSO. In Proceedings of the 2016 1st Conference on Swarm Intelligence and Evolutionary Computation (CSIEC), Bam, Iran, 9–11 March 2016; IEEE: Piscataway, NJ, USA, 2016; pp. 59–63. [Google Scholar]
  31. Karaboga, D.; Ozturk, C. A novel clustering approach: Artificial bee colony (ABC) algorithm. Appl. Soft Comput. 2011, 11, 652–657. [Google Scholar] [CrossRef]
  32. Emami, H.; Derakhshan, F. Integrating fuzzy K-means, particle swarm optimization, and imperialist competitive algorithm for data clustering. Arab. J. Sci. Eng. 2015, 40, 3545–3554. [Google Scholar] [CrossRef]
  33. Horng, M.H. Vector quantization using the firefly algorithm for image compression. Expert Syst. Appl. 2012, 39, 1078–1091. [Google Scholar] [CrossRef]
  34. Chen, Q.; Yang, J.; Gou, J. Image compression method using improved PSO vector quantization. In Proceedings of the First International Conference on Advances in Natural Computation—Volume Part III, ICNC’05, Changsha, China, 27–29 August 2005; Springer: Berlin/Heidelberg, Germany, 2005; pp. 490–495. [Google Scholar]
  35. Bastos Filho, C.J.; de Lima Neto, F.B.; Lins, A.J.; Nascimento, A.I.; Lima, M.P. Fish school search. In Nature-Inspired Algorithms for Optimisation; Springer: Berlin/Heidelberg, Germany, 2009; pp. 261–277. [Google Scholar]
  36. Friedman, M. The use of ranks to avoid the assumption of normality implicit in the analysis of variance. J. Am. Stat. Assoc. 1937, 32, 675–701. [Google Scholar] [CrossRef]
  37. Demšar, J. Statistical Comparisons of Classifiers over Multiple Data Sets. J. Mach. Learn. Res. 2006, 7, 1–30. [Google Scholar]
  38. Nemenyi, P.B. Distribution-Free Multiple Comparisons. Ph.D. Thesis, Princeton University, Princeton, NJ, USA, 1963. [Google Scholar]
  39. Japkowicz, N.; Shah, M. Evaluating Learning Algorithms: A Classification Perspective; Cambridge University Press: Cambridge, MA, USA, 2011. [Google Scholar]
Figure 1. Update of a codevector by the LBGa algorithm with K = 2 .
Figure 1. Update of a codevector by the LBGa algorithm with K = 2 .
Sensors 24 02606 g001
Figure 2. Example of y new obtained using s = 1.2 , 1.5 and 1.8 .
Figure 2. Example of y new obtained using s = 1.2 , 1.5 and 1.8 .
Sensors 24 02606 g002
Figure 3. Images (a) Barbara, (b) Boat, (c) Clock, (d) Elaine, (e) Goldhill, (f) Lena, (g) Mandrill, (h) Peppers, (i) Tiffany used in the simulations.
Figure 3. Images (a) Barbara, (b) Boat, (c) Clock, (d) Elaine, (e) Goldhill, (f) Lena, (g) Mandrill, (h) Peppers, (i) Tiffany used in the simulations.
Sensors 24 02606 g003
Figure 4. CD diagram example.
Figure 4. CD diagram example.
Sensors 24 02606 g004
Figure 5. CD diagram of the Clock image considering the average PSNR ( N = 512 and M-PSO-LBG).
Figure 5. CD diagram of the Clock image considering the average PSNR ( N = 512 and M-PSO-LBG).
Sensors 24 02606 g005
Figure 6. CD diagram of the Clock image considering the average PSNR ( N = 512 and M-FSS-LBG).
Figure 6. CD diagram of the Clock image considering the average PSNR ( N = 512 and M-FSS-LBG).
Sensors 24 02606 g006
Figure 7. CD diagram of the Clock image considering the average PSNR ( N = 512 and M-FSS-LBGa).
Figure 7. CD diagram of the Clock image considering the average PSNR ( N = 512 and M-FSS-LBGa).
Sensors 24 02606 g007
Figure 8. CD diagram of the Clock image considering the average PSNR ( N = 512 and M-FF-LBG).
Figure 8. CD diagram of the Clock image considering the average PSNR ( N = 512 and M-FF-LBG).
Sensors 24 02606 g008
Figure 9. CD diagram of the Elaine image considering the average PSNR ( N = 512 and M-FF-LBG).
Figure 9. CD diagram of the Elaine image considering the average PSNR ( N = 512 and M-FF-LBG).
Sensors 24 02606 g009
Figure 10. CD diagram of the Elaine image considering the average PSNR ( N = 512 and M-FF-LBGa).
Figure 10. CD diagram of the Elaine image considering the average PSNR ( N = 512 and M-FF-LBGa).
Sensors 24 02606 g010
Figure 11. CD diagram of the Peppers image considering the average PSNR ( N = 512 and M-PSO-LBGa).
Figure 11. CD diagram of the Peppers image considering the average PSNR ( N = 512 and M-PSO-LBGa).
Sensors 24 02606 g011
Figure 12. CD diagram of the Peppers image considering the average number of iterations ( N = 512 and M-PSO-LBGa).
Figure 12. CD diagram of the Peppers image considering the average number of iterations ( N = 512 and M-PSO-LBGa).
Sensors 24 02606 g012
Figure 13. CD diagram of the Peppers image considering the average PSNR ( N = 512 and M-FF-LBG).
Figure 13. CD diagram of the Peppers image considering the average PSNR ( N = 512 and M-FF-LBG).
Sensors 24 02606 g013
Figure 14. CD diagram of the Peppers image considering the average PSNR ( N = 512 and M-FF-LBGa).
Figure 14. CD diagram of the Peppers image considering the average PSNR ( N = 512 and M-FF-LBGa).
Sensors 24 02606 g014
Figure 15. Histogram of the ranking of initialization strategies for the average PSNR for sizes (a) N = 32 , (b) N = 64 , (c) N = 128 , (d) N = 256 and (e) N = 512 .
Figure 15. Histogram of the ranking of initialization strategies for the average PSNR for sizes (a) N = 32 , (b) N = 64 , (c) N = 128 , (d) N = 256 and (e) N = 512 .
Sensors 24 02606 g015
Figure 16. Histogram of the ranking of initialization strategies for the average number of iterations for sizes (a) N = 32 , (b) N = 64 , (c) N = 128 , (d) N = 256 and (e) N = 512 .
Figure 16. Histogram of the ranking of initialization strategies for the average number of iterations for sizes (a) N = 32 , (b) N = 64 , (c) N = 128 , (d) N = 256 and (e) N = 512 .
Sensors 24 02606 g016
Table 1. Parameters used in the algorithms.
Table 1. Parameters used in the algorithms.
ParametersM-FA-LBG and M-FA-LBGa
α 0.7
β 0 0.4
γ 0.001
ParametersM-PSO-LBG and M-PSO-LBGa
c 1 0.8
c 2 0.2
ω 1.0
ParametersM-FSS-LBG and M-FSS-LBGa
initial weight2500
limit weight5000
α ind 0.01
α vol 1
Table 2. Composition of the initialization techniques used.
Table 2. Composition of the initialization techniques used.
AcronymRandomDSICSMEIMKATSAMAS.B.HAD.
Random10------
DsKt81-1---
MH8---1 1
MS8---11-
MHS7---111
DsMe811----
DsMeKt7111---
All4111111
MeKt8-11---
SH8--- 11
Table 3. Average PSNR results in dB for Clock, Elaine and Peppers images with the M-PSO-LBG algorithm. Bold text is used to highlight the best results for each N.
Table 3. Average PSNR results in dB for Clock, Elaine and Peppers images with the M-PSO-LBG algorithm. Bold text is used to highlight the best results for each N.
Clock
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random26.7127.9329.1730.4531.20
DsKt26.8328.1729.6331.9435.63
MH26.7728.0629.5531.3033.24
MS26.7728.0229.5331.2435.34
MHS26.7828.0729.5731.2635.37
DsMe26.7127.9129.1730.4131.15
DsMeKt26.8328.1229.6431.7235.58
All26.7928.1229.6231.7235.57
MeKt26.8428.1929.6731.9435.63
SH26.6927.8929.3531.7935.41
Elaine
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random27.8329.1330.5231.8832.75
DsKt27.8329.1430.4831.9833.99
MH27.8329.1730.5232.0833.72
MS27.8429.1730.5432.0333.72
MHS27.8229.1630.5032.0133.65
DsMe27.8329.1530.5131.9232.89
DsMeKt27.8329.1330.4631.9434.04
All27.8229.1530.5132.0333.98
MeKt27.8229.1330.4932.0134.07
SH27.8329.1530.5131.8433.54
Peppers
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random26.1727.4828.8030.4532.69
DsKt26.1727.4628.7830.5233.01
MH26.1827.4428.8730.6032.70
MS26.1927.4728.8630.6032.75
MHS26.1827.4228.8430.5632.68
DsMe26.1827.4628.7930.4232.67
DsMeKt26.1827.4428.7530.5032.96
All26.1927.4328.8330.5732.94
MeKt26.1827.4628.7630.5333.00
SH26.2027.4928.8030.4332.80
Table 4. Friedman test for the Clock image with M-PSO-LBG, M-FSS-LBG and M-FSS-LBGa algorithm, considering the average PSNR results.
Table 4. Friedman test for the Clock image with M-PSO-LBG, M-FSS-LBG and M-FSS-LBGa algorithm, considering the average PSNR results.
M-PSO-LBG
N 3264128256512
p -value 2.30 × 10 11 5.74 × 10 33 1.02 × 10 37 7.00 × 10 47 2.84 × 10 49
M-FSS-LBG
N 3264128256512
p -value 2.16 × 10 20 3.71 × 10 35 1.47 × 10 38 1.45 × 10 27 2.04 × 10 35
M-FSS-LBGa
N 3264128256512
p -value 9.09 × 10 24 1.64 × 10 35 5.36 × 10 37 4.15 × 10 29 3.36 × 10 33
Table 5. Average number of iterations obtained for Clock, Elaine and Peppers images with the M-PSO-LBG algorithm. Bold text is used to highlight the best results for each N.
Table 5. Average number of iterations obtained for Clock, Elaine and Peppers images with the M-PSO-LBG algorithm. Bold text is used to highlight the best results for each N.
Clock
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random53.3058.4772.1358.4320.13
DsKt38.8034.5023.2351.5334.70
MH42.7352.8351.5766.6028.47
MS42.6050.6756.4057.8050.70
MHS38.3753.0358.8057.3353.13
DsMe47.7755.5774.5752.9319.00
DsMeKt40.5333.6022.8728.9333.37
All45.2734.4721.4028.3033.63
MeKt42.0038.3726.8751.4039.03
SH50.5055.9753.3049.7356.40
Elaine
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random41.7745.8348.2746.3319.00
DsKt37.6741.1347.6354.6738.60
MH36.6039.9732.3033.6723.40
MS36.2744.9333.8330.5324.20
MHS31.8040.4029.9026.7319.57
DsMe39.5042.0747.2348.9322.93
DsMeKt40.6341.7747.1044.9345.00
All31.6339.6730.2328.7738.93
MeKt38.2740.2348.1753.0046.30
SH27.6743.4350.3043.1043.53
Peppers
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random40.3742.7342.0756.3368.40
DsKt38.2341.5349.7049.8749.20
MH38.2733.6336.7348.3038.90
MS43.0035.0337.3748.2740.13
MHS36.8325.6735.7345.3340.40
DsMe40.9038.9345.0055.7763.10
DsMeKt38.0340.9748.0050.5347.60
All37.8726.6732.9346.0344.37
MeKt43.4339.1747.4050.9345.60
SH37.5340.3346.8755.3759.23
Table 6. Average PSNR results in dB for Clock, Elaine and Peppers images with the M-PSO-LBGa algorithm. Bold text is used to highlight the best results for each N.
Table 6. Average PSNR results in dB for Clock, Elaine and Peppers images with the M-PSO-LBGa algorithm. Bold text is used to highlight the best results for each N.
Clock
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random26.7827.9829.2930.7232.19
DsKt26.8628.1829.6631.7135.46
MH26.8328.1229.4931.3033.69
MS26.8428.0829.5031.3234.98
MHS26.8428.1129.5231.3234.98
DsMe26.8028.0229.2830.7032.15
DsMeKt26.8528.1829.6731.7135.46
All26.8328.1829.6531.7135.46
MeKt26.8428.1829.6531.7135.46
SH26.7927.9629.3731.4134.98
Elaine
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random27.8429.1730.5331.9933.76
DsKt27.8429.1530.5131.8833.94
MH27.8429.1930.5432.0433.73
MS27.8529.1830.5332.0233.72
MHS27.8429.1930.5432.0333.71
DsMe27.8429.1630.5031.9833.85
DsMeKt27.8329.1630.5031.8833.95
All27.8429.2030.5432.0433.94
MeKt27.8529.1630.4931.8833.96
SH27.8229.1630.4931.9733.66
Peppers
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random26.1827.4828.8030.3832.59
DsKt26.1927.4628.7730.4932.83
MH26.1927.4528.8430.4332.77
MS26.2027.4628.8430.4232.78
MHS26.2027.4528.8530.4732.79
DsMe26.2027.4628.8130.4032.57
DsMeKt26.1827.4728.7630.5032.83
All26.2027.4628.8430.4432.83
MeKt26.1927.4728.7630.4732.83
SH26.2027.4828.8030.4232.64
Table 7. Average number of iterations obtained for Clock, Elaine and Peppers images with the M-PSO-LBGa algorithm. Bold text is used to highlight the best results for each N.
Table 7. Average number of iterations obtained for Clock, Elaine and Peppers images with the M-PSO-LBGa algorithm. Bold text is used to highlight the best results for each N.
Clock
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random36.9742.9758.7763.3050.73
DsKt35.0718.8727.5718.0021.00
MH34.5344.2746.0755.0755.30
MS35.7044.8748.0757.7318.00
MHS35.0345.2747.4756.6018.00
DsMe39.5745.3059.6059.2350.50
DsMeKt33.9318.8328.2018.0021.00
All36.9018.0027.4718.0021.00
MeKt37.0018.0027.1018.0021.00
SH38.3739.5039.6719.6018.00
Elaine
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random30.3734.3037.2344.1051.73
DsKt30.1330.0741.3719.0027.57
MH24.8333.0724.8322.7720.33
MS29.3031.0023.9019.8719.20
MHS24.5332.8024.5021.0318.57
DsMe29.3331.1033.6743.0758.37
DsMeKt28.9030.5338.7019.0028.23
All24.1333.5324.5721.5329.17
MeKt29.2330.4737.8019.0030.17
SH17.0031.1729.3341.3036.93
Peppers
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random29.2731.4335.6041.4753.97
DsKt29.8029.9031.7051.4722.00
MH28.6320.9724.0027.1042.20
MS28.1723.8323.2325.6046.40
MHS29.1321.7724.3029.3045.27
DsMe30.2329.6335.9743.8052.03
DsMeKt27.9731.4730.4349.6322.00
All27.8723.4324.5027.5722.00
MeKt31.2731.0731.1748.6722.00
SH32.3325.1329.9046.5047.33
Table 8. Average PSNR results in dB for Clock, Elaine and Peppers images with the M-FSS-LBG algorithm. Bold text is used to highlight the best results for each N.
Table 8. Average PSNR results in dB for Clock, Elaine and Peppers images with the M-FSS-LBG algorithm. Bold text is used to highlight the best results for each N.
Clock
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random26.6927.8229.0030.3632.11
DsKt26.8028.1129.5531.0234.66
MH26.7928.0329.5231.2033.41
MS26.9028.2429.8031.4734.59
MHS26.7928.0329.5031.3334.70
DsMe26.7327.8329.0730.3031.98
DsMeKt26.8128.1529.5131.1535.09
All26.8328.1029.6331.3135.37
MeKt26.8028.1229.5531.1035.31
SH26.6827.8729.2031.2435.04
Elaine
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random27.7929.1230.4831.9333.44
DsKt27.7929.1430.4831.9334.01
MH27.8329.1630.5132.0433.85
MS27.8029.1530.5032.0233.89
MHS27.8229.1530.5332.0733.92
DsMe27.8029.1330.4831.9333.33
DsMeKt27.8229.1230.4531.9234.00
All27.8129.1430.5032.0233.96
MeKt27.8029.1230.4931.8933.97
SH27.8229.1030.4632.0033.70
Peppers
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random26.1627.4628.8430.3932.44
DsKt26.1627.4628.8330.4432.84
MH26.1727.4528.9030.6133.00
MS26.1627.4528.9030.6032.93
MHS26.1727.4528.8930.5932.92
DsMe26.1827.4628.8330.4132.38
DsMeKt26.1627.4728.8430.4232.84
All26.1727.4728.8830.6833.04
MeKt26.1727.4328.8030.4432.86
SH26.1627.4628.8330.4032.87
Table 9. Average PSNR results in dB for Clock, Elaine and Peppers images with the M-FSS-LBGa algorithm. Bold text is used to highlight the best results for each N.
Table 9. Average PSNR results in dB for Clock, Elaine and Peppers images with the M-FSS-LBGa algorithm. Bold text is used to highlight the best results for each N.
Clock
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random26.7127.8129.0530.4032.09
DsKt26.8228.1029.5331.0735.26
MH26.7828.0329.5131.1933.59
MS26.9128.2329.7931.5034.69
MHS26.7728.0329.5431.3334.48
DsMe26.7127.8429.0330.3831.96
DsMeKt26.8128.1129.5231.0434.62
All26.8528.1029.5431.4435.27
MeKt26.8028.1429.5231.1034.89
SH26.6927.8329.2231.3235.11
Elaine
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random27.8129.1230.4631.9233.38
DsKt27.7929.1130.4631.9533.94
MH27.8329.1730.5232.0533.86
MS27.8129.1730.5232.0733.95
MHS27.8129.1630.5232.0133.94
DsMe27.8029.1330.4631.9633.51
DsMeKt27.8129.1330.4731.9134.02
All27.8329.1630.5232.0433.97
MeKt27.8129.1230.4931.9234.00
SH27.8229.1130.4431.9633.80
Peppers
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random26.1627.4828.8130.4432.35
DsKt26.1727.4828.8430.4232.76
MH26.1727.4628.9030.6332.99
MS26.1727.4728.8630.6232.93
MHS26.1727.4428.8830.6132.98
DsMe26.1727.4628.8430.4132.42
DsMeKt26.1627.4828.8130.4232.90
All26.1727.4628.9230.6233.08
MeKt26.1727.4728.8330.4132.87
SH26.1727.4428.8230.3932.85
Table 10. Average number of iterations obtained for Clock, Elaine and Peppers images with the M-FSS-LBG algorithm. Bold text is used to highlight the best results for each N.
Table 10. Average number of iterations obtained for Clock, Elaine and Peppers images with the M-FSS-LBG algorithm. Bold text is used to highlight the best results for each N.
Clock
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random25.4326.8029.9030.3030.93
DsKt21.7324.7329.2328.4318.77
MH22.4023.1326.8725.4020.83
MS21.1725.2029.2723.4016.00
MHS21.2724.1324.8017.6317.60
DsMe25.9027.5732.3328.1327.20
DsMeKt22.7728.1327.8332.3315.27
All19.7024.1026.5319.1013.63
MeKt23.0327.6330.1730.4012.00
SH25.5328.3028.8717.1016.83
Elaine
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random15.4718.2723.8729.3729.53
DsKt13.7719.8322.0728.4016.67
MH17.1317.1015.0315.3717.90
MS16.0716.0315.1314.9719.37
MHS18.0016.9016.5017.8018.63
DsMe15.6318.3324.0330.9026.10
DsMeKt16.7719.1021.2728.3316.53
All17.4716.1014.7314.6717.27
MeKt16.0017.6023.8026.2016.13
SH18.6716.8023.4728.1029.67
Peppers
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random15.9319.5726.3331.8737.60
DsKt15.7320.0724.6731.5028.67
MH16.4317.0721.1326.2732.37
MS15.8317.1322.1325.6329.63
MHS17.2017.7719.2725.1329.73
DsMe16.6318.8026.9732.0034.23
DsMeKt16.9020.3027.3329.9729.67
All17.5018.5320.0028.1727.27
MeKt15.9317.8023.6731.5727.73
SH15.6020.0326.2733.0731.97
Table 11. Average number of iterations obtained for Clock, Elaine and Peppers images with the M-FSS-LBGa algorithm. Bold text is used to highlight the best results for each N.
Table 11. Average number of iterations obtained for Clock, Elaine and Peppers images with the M-FSS-LBGa algorithm. Bold text is used to highlight the best results for each N.
Clock
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random25.4727.6031.3331.6730.80
DsKt22.8327.3028.3729.7013.37
MH20.2723.5026.0026.1325.83
MS21.7725.4329.6323.7020.53
MHS21.6723.8727.1321.1021.20
DsMe25.1326.8730.8330.2328.37
DsMeKt23.1027.2327.6728.1715.43
All21.2722.8022.4723.7713.23
MeKt21.9327.7327.9329.8714.90
SH26.0027.4328.1321.8719.97
Elaine
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random15.9017.6722.6329.7727.13
DsKt15.4717.6721.7329.7014.43
MH18.1317.6016.2016.1018.70
MS16.1017.7716.3017.5020.97
MHS16.1716.6015.7314.5021.90
DsMe15.5719.2022.7030.5731.37
DsMeKt15.7719.9022.8326.5717.43
All18.4017.1315.9716.3316.20
MeKt15.8318.8323.1028.1015.83
SH18.5717.5721.5726.1332.53
Peppers
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random16.8721.6025.0033.7033.90
DsKt16.1320.6725.0730.8029.57
MH16.2318.0321.3027.9330.87
MS17.0718.6017.9327.4030.77
MHS16.7316.3319.1026.2330.87
DsMe16.9319.2726.7032.0035.07
DsMeKt16.2721.0724.4031.3731.17
All16.9718.5022.5726.1029.83
MeKt16.9020.2026.4329.4729.27
SH17.4018.7324.3732.0330.73
Table 12. Average PSNR results in dB for Clock, Elaine and Peppers images with the M-FF-LBG algorithm. Bold text is used to highlight the best results for each N.
Table 12. Average PSNR results in dB for Clock, Elaine and Peppers images with the M-FF-LBG algorithm. Bold text is used to highlight the best results for each N.
Clock
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random26.7127.8929.1930.7532.58
DsKt26.8728.2729.8932.1335.67
MH26.8028.0829.6631.5134.04
MS26.8228.1329.8031.8035.52
MHS26.8128.0829.6831.6535.53
DsMe26.7227.8929.1930.7332.56
DsMeKt26.8828.2829.8932.1135.69
All26.8228.2929.8632.0935.66
MeKt26.8728.2829.8932.1235.67
SH26.6727.8829.4732.0035.53
Elaine
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random27.8329.1730.5632.0733.86
DsKt27.8329.1730.6132.1734.22
MH27.8529.2130.6432.2434.15
MS27.8429.2130.6332.2534.15
MHS27.8529.2230.6432.2534.15
DsMe27.8329.1830.5532.0633.87
DsMeKt27.8229.1730.6032.1734.22
All27.8529.2130.6432.2734.22
MeKt27.8429.1730.6032.1734.22
SH27.8329.1830.5732.1333.86
Peppers
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random26.1927.5128.8830.5432.78
DsKt26.1927.5128.8730.6333.06
MH26.2127.5228.9830.7133.05
MS26.2027.5228.9730.7132.94
MHS26.2127.5228.9830.7033.08
DsMe26.1927.5028.8730.5532.78
DsMeKt26.1927.5028.8730.6333.07
All26.2127.5228.9830.7133.07
MeKt26.1927.5128.8830.6333.07
SH26.2027.5328.8830.5432.94
Table 13. Average PSNR results in dB for Clock, Elaine and Peppers images with the M-FF-LBGa algorithm. Bold text is used to highlight the best results for each N.
Table 13. Average PSNR results in dB for Clock, Elaine and Peppers images with the M-FF-LBGa algorithm. Bold text is used to highlight the best results for each N.
Clock
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random26.8128.1429.5631.2932.99
DsKt26.8828.1929.6531.8135.49
MH26.8628.1729.7331.5033.87
MS26.8528.2029.7631.6134.92
MHS26.8528.1629.7031.4934.94
DsMe26.8128.1429.5431.2832.90
DsMeKt26.8928.2029.6331.8135.49
All26.8528.2029.6431.7835.50
MeKt26.8728.2129.6431.7935.49
SH26.8128.1129.5931.5334.93
Elaine
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random27.8629.2330.6732.2034.09
DsKt27.8629.2430.6432.1034.02
MH27.8829.2630.6532.1534.06
MS27.8629.2530.6732.1634.04
MHS27.8829.2730.6532.1433.98
DsMe27.8629.2430.6832.1934.10
DsMeKt27.8729.2330.6232.1034.02
All27.8729.2530.6532.1334.02
MeKt27.8729.2330.6332.0834.01
SH27.8529.2430.6832.1833.78
Peppers
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random26.2027.5628.9330.4832.77
DsKt26.2027.5728.8530.4332.84
MH26.2227.5628.9530.5932.87
MS26.2227.5628.9530.6032.88
MHS26.2227.5528.9430.5632.89
DsMe26.2027.5728.9330.4932.72
DsMeKt26.2027.5728.8630.4232.85
All26.2227.5628.9330.5932.84
MeKt26.2127.5728.8530.4332.84
SH26.2027.5728.9330.5432.66
Table 14. Average number of iterations obtained for Clock, Elaine and Peppers images with the M-FF-LBG algorithm. Bold text is used to highlight the best results for each N.
Table 14. Average number of iterations obtained for Clock, Elaine and Peppers images with the M-FF-LBG algorithm. Bold text is used to highlight the best results for each N.
Clock
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random65.4048.1346.9348.9345.50
DsKt38.3738.3740.4342.9036.17
MH46.4046.0346.7050.3048.17
MS44.7346.0348.2053.0752.43
MHS46.5343.2746.3353.7054.80
DsMe68.6047.8348.4049.0347.97
DsMeKt44.1338.1341.3043.9335.13
All43.0736.9340.9046.4332.20
MeKt43.7037.1341.9744.8038.17
SH64.0045.5749.0749.9053.37
Elaine
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random43.8350.2751.1049.7345.83
DsKt44.2049.3352.7748.1353.90
MH43.1347.6742.8042.7043.87
MS40.3052.3341.1745.1047.80
MHS40.2353.6343.7744.1044.80
DsMe42.1051.8353.4349.0748.00
DsMeKt40.7050.8347.1348.3352.20
All40.1749.5344.1346.7752.73
MeKt45.6750.3748.7748.1752.73
SH39.0056.0053.7047.4350.00
Peppers
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random48.4048.4745.8751.2755.07
DsKt45.0744.5741.9742.0047.40
MH50.3737.8040.7046.5351.17
MS43.8338.5039.5746.0043.67
MHS45.2042.7739.1348.6051.97
DsMe47.0048.1048.1052.3752.30
DsMeKt42.7343.7742.5342.4348.10
All45.3738.5042.5347.1051.07
MeKt42.5046.9743.6043.8346.33
SH42.7343.5045.1048.5351.13
Table 15. Average number of iterations obtained for Clock, Elaine and Peppers images with the M-FF-LBGa algorithm. Bold text is used to highlight the best results for each N.
Table 15. Average number of iterations obtained for Clock, Elaine and Peppers images with the M-FF-LBGa algorithm. Bold text is used to highlight the best results for each N.
Clock
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random35.6347.3349.9755.6350.07
DsKt35.4323.5719.5737.3022.60
MH35.1041.6340.2743.1737.73
MS34.6343.1039.7338.5717.70
MHS35.3739.6039.5734.3316.50
DsMe39.0749.3748.2055.6748.60
DsMeKt35.4022.4318.7734.7722.57
All32.0325.2719.6332.4321.37
MeKt33.8024.2318.2732.0321.23
SH43.6041.0742.8022.4016.87
Elaine
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random36.6743.6043.1747.2051.50
DsKt35.3343.4345.3344.1336.73
MH33.2340.3338.1035.0741.97
MS31.2740.2340.3737.5744.13
MHS29.7341.0337.5334.0040.23
DsMe36.8345.2743.2047.6752.47
DsMeKt37.1041.7342.9744.6038.20
All32.7742.9739.3335.7341.50
MeKt35.1341.7743.0042.9038.20
SH28.2342.7043.5045.2038.07
Peppers
Initialization N = 32 N = 64 N = 128 N = 256 N = 512
Random34.4739.2045.8737.5744.73
DsKt34.8744.7337.7334.9325.47
MH35.6036.9034.0040.1039.17
MS36.9336.3335.0736.1040.80
MHS36.5736.2335.9035.9341.03
DsMe33.5741.9039.3339.5040.87
DsMeKt35.6044.3338.1736.7324.20
All36.2736.3733.6037.7726.00
MeKt35.9046.3337.0334.4324.47
SH30.7741.4740.6041.2338.73
Table 16. Friedman test for the Elaine image with M-FF-LBG and M-FF-LBGa algorithm, considering the average PSNR results.
Table 16. Friedman test for the Elaine image with M-FF-LBG and M-FF-LBGa algorithm, considering the average PSNR results.
M-FF-LBG
N 3264128256512
p -value 5.33 × 10 03 5.14 × 10 14 6.67 × 10 26 1.33 × 10 45 6.24 × 10 30
M-FF-LBGa
N 3264128256512
p -value 1.02 × 10 02 2.92 × 10 07 8.25 × 10 06 4.05 × 10 06 5.69 × 10 03
Table 17. Friedman test for the Peppers image with M-PSO-LBGa, M-FSS-LBG, M-FSS-LBGa, M-FF-LBG and M-FF-LBGa algorithm, considering the average PSNR results.
Table 17. Friedman test for the Peppers image with M-PSO-LBGa, M-FSS-LBG, M-FSS-LBGa, M-FF-LBG and M-FF-LBGa algorithm, considering the average PSNR results.
M-PSO-LBGa
N 3264128256512
p -value 4.49 × 10 01 8.13 × 10 01 9.43 × 10 09 4.64 × 10 06 3.09 × 10 25
M-FSS-LBG
N 3264128256512
p -value 2.42 × 10 01 5.75 × 10 01 3.44 × 10 06 1.13 × 10 20 4.20 × 10 19
M-FSS-LBGa
N 3264128256512
p -value 9.49 × 10 01 1.21 × 10 01 1.54 × 10 09 6.16 × 10 20 3.77 × 10 18
M-FF-LBG
N 3264128256512
p -value 7.54 × 10 02 1.70 × 10 01 3.77 × 10 37 1.09 × 10 42 1.31 × 10 29
M-FF-LBGa
N 3264128256512
p -value 8.54 × 10 03 4.00 × 10 01 1.63 × 10 10 3.25 × 10 16 9.54 × 10 15
Table 18. Friedman test for the Peppers image with the M-PSO-LBGa algorithm, considering the average number of iterations results.
Table 18. Friedman test for the Peppers image with the M-PSO-LBGa algorithm, considering the average number of iterations results.
N3264128256512
p -value 2.96 × 10 01 3.65 × 10 15 3.24 × 10 18 8.87 × 10 31 4.51 × 10 42
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Severo, V.; Ferreira, F.B.S.; Spencer, R.; Nascimento, A.; Madeiro, F. On the Initialization of Swarm Intelligence Algorithms for Vector Quantization Codebook Design. Sensors 2024, 24, 2606. https://doi.org/10.3390/s24082606

AMA Style

Severo V, Ferreira FBS, Spencer R, Nascimento A, Madeiro F. On the Initialization of Swarm Intelligence Algorithms for Vector Quantization Codebook Design. Sensors. 2024; 24(8):2606. https://doi.org/10.3390/s24082606

Chicago/Turabian Style

Severo, Verusca, Felipe B. S. Ferreira, Rodrigo Spencer, Arthur Nascimento, and Francisco Madeiro. 2024. "On the Initialization of Swarm Intelligence Algorithms for Vector Quantization Codebook Design" Sensors 24, no. 8: 2606. https://doi.org/10.3390/s24082606

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop