1 Introduction

Signal, image, and video processings emerge as a part of decision support systems in industrial, medical, military applications, etc. Data obtained in signal, image, or video format go through preprocessing steps to convert it to a special representation. A processing algorithm extracts features or meaning from the data, and then, a post-processing algorithm outputs a decision by an inference mechanism. Methods selected for data acquisition, enhancement, filtering, and compression affect the overall system performance. While new methods have been proposed in the literature, they require some method-specific parameters to be tuned optimally to achieve the best performance, and this necessity makes the methods candidate optimization problems. Moreover, in some cases, assumptions in the signal or image processing methods and in the characteristics of the problems make them difficult to be integrated with traditional optimization methods. Instead, some other techniques which do not make assumptions and which can be applied to wide range of problems are required. In both cases, overall system performance can be enhanced using evolutionary computation paradigms.

Global optimization algorithms in evolutionary computation can deal with non-convex, nonlinear, and multimodal problems subject to linear or nonlinear constraints with continuous or discrete decision variables. Evolutionary computation algorithms can be divided into two broad categories such as evolutionary algorithms and swarm intelligence algorithms.

Evolutionary algorithms which mimic the natural selection and genetic inheritance phenomena are based on the adaptation of populations to the environment, genetically. Evolutionary programming [89], evolution strategy [107, 114], genetic algorithm [51], genetic programming [79], and differential evolution [123] algorithms are popular and widely used evolutionary algorithms. In addition to many problems in various fields, evolutionary algorithms have been successfully applied to many image processing and analysis problems [20].

Swarm intelligence in evolutionary computation exploits the behavior information obtained from self-organizing agents (swarm) without supervision. Local rules and interactions between individuals lead to the emergence of collective intelligence called swarm intelligence. Ant colony optimization [39] simulating an ant colony finding the shortest path between the food source and the nest, particle swarm optimization [75] simulating the fish schooling or bird flocking, artificial bee colony (ABC) [64] simulating the foraging behavior of honey bees are popular swarm intelligence algorithms.

Artificial bee colony algorithm developed by Karaboga [64] is a more recent global optimization algorithm, which mimics the foraging behavior of honeybees [70]. Its success has been shown on unconstrained and constrained, single-objective and multiobjective, and continuous and combinatorial design problems [6, 14, 6163, 6567, 71]. ABC has been employed to solve many different optimization problems in various areas, and several survey articles have already been published on the variants of ABC and their applications [10, 13, 19, 63, 68]. Almost, all of these survey studies reviewed a broad fieldwork not a specific area in depth. ABC algorithm has been applied to many signal, image, and video processing problems since 2009. This paper specifically reviews the studies that are related with ABC and image enhancement, compression, thresholding, classification, clustering, feature extraction and selection, image registration, steganalysis, image retrieval, watermarking, fusion, restoration, denoising, pattern generation, template matching, edge detection, pattern recognition, face recognition, remote sensing, shape detection, designing FIR/IIR Filters, source separation, frequency estimation, motion estimation, moving target detection, and video watermarking.

In the rest of this paper, first, we provide a brief explanation of ABC algorithm. In the subsequent sections, image processing, signal processing, and video processing applications of ABC algorithm are presented, respectively, together with the description of each field problem. Lastly, a discussion and conclusion section is provided.

2 Artificial bee colony algorithm

In nature, foraging is the most crucial task for all creatures as well as for honeybees that live as colonies. The foraging behavior of each individual bee is directed by some information such as odor, location information in the waggle dance, the presence of other bees at the source or between the hive. Foraging process starts with leaving the hive of a forager in order to search food source to gather nectar. In the foraging of honeybees, there are three types of forager bees: employed bees, onlooker bees, and scout bees. The employed bees are responsible for exploiting a certain food source and loading the nectar of the source to the hive. The employed bees in the hive also perform a dance, which gives information about the source they are currently exploiting. This dance recruits the onlooker bees waiting in the hive to rich sources. The onlooker bees choose food sources by watching the dances advertising the profitable sources. The unemployed scout bees explore new sources based on an internal motivation or external clue. During exploitation, the nectar of some sources is exhausted, and the bees exploiting these sources become scout.

ABC algorithm is a powerful optimization algorithm, which simulates the foraging behavior of honeybees [64] and applied to a wide range of problems in the literature [67, 68]. In the algorithm, each food source position corresponds to a possible solution to the optimization problem, and the nectar of the source is assumed to be equal to the fitness value of the solution. The artificial forager bees are responsible for finding the optimum solutions to the optimization problem considered.

Basic ABC algorithm has only three control parameters: the number of food sources (CS), the maximum cycle number (MCN), and the parameter “limit.” If the total number of successive unsuccessful trials exceeds the “limit” parameter, this source is assumed to be exhausted. Main steps of the ABC algorithm can be seen from the flowchart given in Fig. 1.

Fig. 1
figure 1

Flowchart of the ABC algorithm

In the initialization phase of the algorithm, the values of the control parameters are set, and a population of food sources is generated randomly by (1) within the search space bounded by the parameter ranges.

$$\begin{aligned} x_{ij} = x^{lb}_j + rand(0,1)\left( x^{ub}_j - x^{lb}_j \right) \end{aligned}$$
(1)

where \(i \in \left\{ 1,\ldots ,{\textit{CS}}\right\} \), \(j \in \left\{ {1,\ldots ,D}\right\} \), \(D\) is the dimension of the problem, \(x_{ij}\) is \(j\)th parameter of \(i\)th solution, \(x^{lb}_j\) and \(x^{ub}_j\) are lower and upper bounds of \(j\)th parameter, respectively.

In the employed bees’ phase of the algorithm, for each solution, a new neighbor solution is produced by (Eq. 2) in the vicinity of the current solution.

$$\begin{aligned} x'_{ij} ={x_{ij} + \phi _{ij} \left( x_{ij} - x_{kj} \right) } \end{aligned}$$
(2)

where \(k \in \left\{ 1,2, \ldots {\textit{CS}}\right\} : k \ne i \) is the index of a neighbor drawn at random, \(j\) is a dimension drawn randomly, and \(\phi _{ij}\) is a uniformly distributed real random number within the range [\(-\)1,1].

Once new solution is produced, a greedy selection is applied, that is, the new solution is compared to its parent, and the better one is retained in the population. If the solution cannot be improved, its counter holding the number of successive unsuccessful trials is incremented by 1. This process is repeated for each solution in the population.

After the employed bees’ phase, the onlooker bees’ phase starts, in which each onlooker bee chooses more profitable sources. This can be achieved by assigning a selection probability (Eq. 3), which is proportional to the relative fitness value of the solution.

$$\begin{aligned} p_i = \frac{{\hbox {fitness}_i }}{{\sum \nolimits _{j = 1}^{{\textit{CS}}} {\hbox {fitness}_j } }} \end{aligned}$$
(3)

When an onlooker bee selects a source based on the relative probability value, a new solution is produced in the vicinity of the selected solution by (Eq. 2). Greedy selection is applied to determine the surviving solution. As in the employed bees’ phase, the number of successive unsuccessful trials of the surviving solution is incremented by 1.

In the scout bees’ phase, solutions cannot be improved by local searches that are determined by checking whether the number of unsuccessful trials exceeds “limit.” These solutions are replaced with new solutions randomly produced by (Eq. 1).

A detailed pseudocode of the basic ABC algorithm is given in Algorithm 1.

figure a

3 Applications of ABC algorithm to image processing

ABC algorithm has been applied to many subjects in the image processing field including image enhancement, compression, thresholding, classification, clustering, feature extraction and selection, image registration, steganalysis, image retrieval, watermarking, fusion, restoration, separation, denoising, pattern generation, template matching, edge detection, pattern recognition, face recognition, remote sensing, and shape detection.

3.1 Image enhancement

Image enhancement which is important in the preprocessing step of a vision system deals with improving the contrast level and histogram of the images to resolve the poor lighting conditions due to atmospheric conditions or image capturing devices. A common method employed for image enhancement is contrast transform in which intensity of each pixel, \(f(x,y)\), located in \((x,y)\) coordinate of an image, is transformed to \(g(x,y)\) using a transform function (Eq. 4):

$$\begin{aligned} g(x,y) = T(f(x,y)) \end{aligned}$$
(4)

Ye et al. [154] carried out the contrast transform based on fuzzy set theory and used ABC algorithm to get fuzzy parameters to improve the time efficiency of the method. It was stated that the results of the new method are robust, adaptive, and faster than the old one.

Mohamed Mansoor Roomi et al. [97] proposed an approach for improving the visibility of an image degraded by atmospheric haze. In the approach, luminance values are obtained from the image, and in order to estimate air light map, a cost function based on human visual model is optimized using ABC algorithm.

The proposed method was compared with particle swarm optimization technique based on the Tenengrad criterion and contrast improvement index metrics. ABC algorithm was reported to be better than PSO algorithm. Madhansubramanian and Tamilarasi [91] applied a similar approach to proposed in [97]. In the approach, the luminance image is divided into various subblocks, and for each block, air light is estimated by ABC algorithm using a cost function based on human visual model compensation.

Yimit et al. [141] presented an ABC-based image enhancement, which utilizes grayscale transformation based on local gray-level distribution in the neighborhood of each pixel of the given image. Intensity of each pixel, \(f(x,y))\), located in \(((x,y))\) is transformed to \(g(x,y)\) by Eq. (5):

$$\begin{aligned} g(x,y)= & {} \kappa \left[ {\frac{M}{{\sigma (x,y) + b}}} \right] .\left[ {f(x,y) - c \cdot m(x,y)} \right] \nonumber \\&\quad +\, m(x,y)^a \end{aligned}$$
(5)

where \(a\), \(b\), \(c\), and \(\kappa \) are real positive parameters, \(M\) is an average intensity of the entire image, and \(\sigma (x,t)\) and \(m(x, y)\) are the mean and standard deviation in a neighborhood centered at (\(x,y\)), respectively. It is stated that the best qualified image can be found by getting an optimal combination of four parameters, \(a\), \(b\), \(c\), and \(\kappa \).

Yimit et al. [141] compared the proposed method with other two enhancement methods: genetic algorithm-based and particle swarm optimization-based methods. It was reported that ABC-based enhancement gives the better results.

Sharo and Raimond [118] carried out image enhancement as in [138] using fuzzy logic and ABC technique. In the approach, the RGB color value of the image is converted into HSV color value. The value and the saturation components of the image changed, and the hue component remains unaltered. The degraded image is divided into underexposed, mixed-exposed, and overexposed regions that are given to fuzzy system as input. In the fuzzy system, Gaussian membership function is used, and the membership function parameters are optimized using ABC algorithm. Based on the simulations, it was concluded that ABC algorithm produced better results than those ant colony optimization algorithm produced.

Saadi et al. [109] enhanced radiological images degraded during acquisition and processing by using an autoregressive moving average (ARMA) model identified using a neural network (NN), which is trained by ABC algorithm. The optimized ARMA–NN model was implemented on a Xilinx reconfigurable field-programmable gate array (FPGA) using hardware description language.

Yilmaz and Ozbay [140] presented a new image contrast enhancement algorithm based on linear combinations. The approach generates a set of images from an input MRI image and uses the linear combination technique for combining the image set to generate an enhanced final image. ABC algorithm is used to determine linear combination coefficients. The algorithm is evaluated by contrast improvement ratio, enhancement measurement error, absolute mean brightness error, and peak signal-to-noise ratio (PSNR).

Zhang and Duan [150] addressed the weight selection in the Gaussian filters with different scales for multiscale retinex (MSR) by using ABC algorithm in order to achieve the optimal enhancement results.

3.2 Image compression

Advances in high-resolution images accompany high demand for large capacities, high-performance devices, high bandwidths, etc. Therefore, image compression techniques are required to reduce irrelevance and redundancy of the image data without distorting the image quality and then to reduce the computational or transmittal costs. In a compression scheme, the color space or feature space is projected onto a color space or feature space with smaller set of colors or features. Unlike color space reduction, feature space reduction requires extracting the features from the image, retaining the most important features, and discarding the less significant features. These features may be coefficients of a domain transform technique such as discrete cosine transform and discrete wavelet transform.

Akay and Karaboga [3] used ABC algorithm to find the optimum threshold values for wavelet transform coefficients to obtain the best reconstructed image, which can be considered as an optimization task.

Wavelet which works in the first step, decomposes an image into constituent parts in the time–frequency domain on a basis function localized in both time and frequency domains.

The signal or image is decomposed into four different frequencies: approximation, horizontal detail, vertical detail, and diagonal detail. The decompositions are repeated on the approximation coefficients up to a level.

Wavelet packets decomposition is recursively applied to both approximation and detail coefficients, and it builds a binary tree. In order to obtain high-quality and high compression ratio, coefficients are thresholded by the values obtained by ABC algorithm. In the reconstruction step, an inverse wavelet transform is used to reconstruct the compressed image. In the study, a multiobjective approach is adopted considering both L2-norm recovery and PSNR value (Eq. 6).

$$\begin{aligned} \hbox {PSNR} = 20\log _{10} \left( {\frac{{255}}{{\sqrt{\hbox {MSE}} }}} \right) \end{aligned}$$
(6)

Akay and Kirmizi [4] extended this work by optimizing filtering type and filtering levels in addition to threshold levels.

Horng and Jiang [52] proposed obtaining the near-global optimal codebook of vector quantization by using ABC algorithm. The algorithm initialized with the local codebook generated by Linde–Buzo–Gray (LBG) algorithm. \(Y = \{ y_{ij} \}\) , \(M \times M\) image, is divided into several blocks with size of \(n \times n\) pixels. Codeblock \(C\) includes \(c_j\) codewords corresponding to \(x_i\) input vectors defined on \(L\)-dimensional Euclidian space, where \(i \in \{ 1\ldots N_b \}\), \(j \in \{ 1\ldots N_c \}\), \(N_b\) is the number of blocks and \(N_c\) is the number of codewords in codebook.

Vector quantization techniques replace the input vectors with a related codeword to compress the image. ABC algorithm minimizes the distortion function \(D(C)\) (Eq. 7):

$$\begin{aligned} D(C) = \frac{1}{{N_b }}\sum \limits _{j = 1}^{N_c } {\sum \limits _{i = 1}^{N_b } {\mu _{ij} .\left\| {x_i - c_j } \right\| ^2 } } \end{aligned}$$
(7)

subject to

$$\begin{aligned} \sum \limits _{i = 1}^{Nc} {\mu _{ij} = 1},\quad \forall i \in \left\{ {1,2, \ldots ,N_b } \right\} \end{aligned}$$
(8)

where \(\mu _{ij}\) is 1 if \(x_i\) input vector is in the \(j\hbox {th}\) cluster and is 0, otherwise. It was reported that the proposed ABC–LBG algorithm can provide a better codebook with smallest distortion compared to particle swarm optimization and honeybee mating optimization algorithms [52].

Ramanathan et al. [106] used ABC algorithm to determine the best directional window sizes and to obtain the best reconstructed image.

Ismail and Baskaran [57] introduced a framework for constructing adaptive and hybrid lifting scheme with particle swarm optimization algorithm and ABC algorithm. Particle swarm pptimization algorithm is employed to find the prediction function in the lifting scheme, and ABC algorithm is used to find a best directional window with a considerable size to get a high-quality compressed image based on PSNR value.

Demir [36] applied ABC algorithm to color map quantization technique in which image color map is represented by fewer colors in order to compress images to occupy less space, to make the transferring process easier, to solve the image display issue on the gadgets with the limited hardware. The results obtained were compared to those of K-means, fuzzy-c-means, and particle swarm optimization methods.

Ozturk et al. [102] reduced the number of colors in an image using ABC algorithm as a clustering method. The performance of the approach was compared to those of K-means, fuzzy-c-means, minimum variance, and particle swarm optimization, and it was stated that the proposed method is superior to the others.

3.3 Bi-level/multilevel thresholding-based segmentation

Segmentation is a critical task in image processing. Segmentation involves partitioning an image into non-overlapping, homogenous regions containing similar objects. The goal of segmentation was to make the representation more meaningful and easier to analyze. Each pixel in an image is assigned a label based on certain characteristics, such as color, intensity, spatial information, and texture.

Bi-level segmentation involves dividing the whole image into partitions based on a threshold value, such as the background and the object of interest, it is called bi-level thresholding. Bi-level thresholding is extended to multilevel segmentation, which involves multiple threshold values.

High computational cost and inefficiency of an exhaustive search for the optimal thresholds leads to the use of global search heuristics to set the optimal thresholds [5].

Bi-level thresholding assigns pixels with the gray level below \(t\) to a group, \(M_0\), and assigns those pixels with the gray level above \(t\) to another group, \(M_1\). At the end of the thresholding, a binary image is constructed that includes two groups. Assume that an image can be represented by \(L\) gray levels, bi-level thresholding can be defined as in Eq. (9).

$$\begin{aligned} M_0= & {} \{g(x,y)\in I \mid 0\le g(x,y)\le t-1\}\nonumber \\ M_1= & {} \{g(x,y)\in I \mid t\le g(x,y)\le L-1\} \end{aligned}$$
(9)

Multilevel thresholding uses more than one threshold value and creates an output image with multiple groups (Eq. 10).

$$\begin{aligned} M_0= & {} \{g(x,y)\in I \mid 0\le g(x,y)\le t_1-1\} \nonumber \\ M_1= & {} \{g(x,y)\in I \mid t_1\le g(x,y)\le t_2-1\} \nonumber \\ M_i= & {} \{g(x,y)\in I \mid t_i\le g(x,y)\le t_{i+1}-1\} \nonumber \\ M_m= & {} \{g(x,y)\in I \mid t_m\le g(x,y)\le L-1\} \end{aligned}$$
(10)

where \(t_i \,(i=1\ldots m)\) is the \(i\hbox {th}\) threshold value, and the \(m\) is the number of thresholds.

Horng [54, 55] proposed a maximum-entropy multilevel thresholding technique based on ABC algorithm. ABC algorithm was compared to particle swarm optimization and honeybee mating optimization algorithms. The experimental results manifest that the proposed ABC algorithm can find multiple thresholds that are very close to the optimal ones found by the exhaustive search method. The paper was concluded that the result of ABC algorithm is the best and its computation time is relatively less than those of other four methods.

Zhang and Wu [148] employed Tsallis entropy due to its superiority over traditional maximum-entropy thresholding, maximum between-class-variance thresholding, and minimum cross-entropy thresholding methods. The task is to maximize the total Tsallis entropy (\(S_q(t)\)) between class CA and CB (Eq. 11):

$$\begin{aligned} t^{*} = \arg \max (S_q (t)) \end{aligned}$$
(11)

The study concluded that maximum Tsallis entropy-based segmentation can give better results than other criteria in many cases, and ABC algorithm requires less computation time than genetic algorithm and particle swarm optimization algorithms require [148].

Kumar et al. [80] combined 2D Otsu and modified ABC algorithm to segment CT lung images. In the modified ABC, \(\phi _{ij}\) value is calculated with Eq. (12):

$$\begin{aligned} F(G + 1)= & {} \left\{ {\begin{array}{lc} {Fl + rand_1 \sqrt{rand_2^2 + rand_3^2, } } &{}\quad \hbox {if}\, P_f < rand_4 \\ {F_u, } &{}\!\!\!\!\!\!\!\!\!\! {\text { otherwise}} \\ \end{array}} \right. \nonumber \\ F(G + 1)= & {} \left\{ {\begin{array}{lc} {2\times F_l - F_{G + 1}, } &{} \quad \quad \quad \quad \quad \quad \quad \quad \,\,\hbox {if}\, F_{G + 1} < F_l \\ {2\times F_u - F_{G + 1}, } &{} \quad \quad \quad \quad \quad \quad \quad \quad \,\,\hbox {if}\, F_{G + 1} > F_u \\ \end{array}} \right. \end{aligned}$$
(12)

The proposed method starts with 2D Otsu method to obtain the fitness function defined by Eq. (13), and ABC searches the optimized threshold values, which minimizes the objective function.

$$\begin{aligned} f_i = \left( {\mu _i (s,t) - p_0 \mu _{T0} } \right) ^2 + \frac{{\left( {\mu _j (s,t) - p_0 \mu _{T1} } \right) ^2 }}{{p_0 (1 - p_0 )}} \end{aligned}$$
(13)

Yun-Fei et al. [143] applied ABC algorithm to multithresholding image segmentation using PSNR value and compared the performance of the approach with maximum-entropy-based ABC algorithm. They reported that the proposed method is more effective and efficient.

Cuevas et al. [33] proposed an approach in which the segmentation process is considered as an optimization problem by approximating the 1D histogram of a given image in terms of a Gaussian mixture model, whose parameters are calculated by means of ABC algorithm.

The histogram function can be expressed by a mix of Gaussian probability functions (Eq. 14):

$$\begin{aligned} p(x) = \sum \limits _{i = 1}^K {P_i \cdot p_i (x)} = \sum \limits _{i = 1}^K {\frac{{P_i }}{{\sqrt{2\pi \sigma _i } }}} \exp \left[ {\frac{{ - (x - \mu _i )^2 }}{{2\sigma _i^2 }}} \right] \end{aligned}$$
(14)

where \(P_i\) is the probability of class \(i\), \(p_i(x)\) is the probability distribution function of gray-level random variable \(x\) in class \(i\), \(\mu _i\) and \(\sigma _i\) are the mean and standard deviation of the \(i\hbox {th}\) probability distribution function, and \(K\) is the number of classes within the image. The mean square error is optimized to estimate the \(3K\) parameters \(P_i,\, \mu _i\) and \(\sigma _i\), \(i = 1, \ldots , K\).

From the experimental results, it was stated that ABC exhibits fast convergence, relatively low computational cost, and no sensitivity to initial conditions by keeping acceptable segmentation results, and the proposed method has a better performance than the expectation maximization and Levenberg–Mardquart methods have [33].

Ye et al. [138] introduced a fast image segmentation method based on swarm intelligence and 2D Fisher criteria thresholding. Because the segmentation performance of the most of the thresholding methods is influenced by the shape of histogram of images to be segmented, 2D entropic thresholding methods in which the spatial relationship of a pixel is taken into account as well as its gray level are needed. Because 2D histogram-based thresholding methods are computationally expensive, fast recursive algorithm and evolutionary algorithm are employed. Ye et al. employed ABC algorithm to find two-dimensional threshold pair \((s,t)\) to maximize 2D Fisher criterion function.

Ye et al. concluded that the proposed method based on 2D Fisher and ABC algorithm is more effective in terms of search performance than exhaustive search method is [138].

Xiao et al. [134] used ABC algorithm to find optimal threshold values that maximize the maximum-entropy value. Yin et al. [119] proposed a recursive ABC fuzzy partition entropy algorithm for multithresholding to solve the inefficiency and repeated computation in fuzzy partition entropy approaches. Hanbay et al. [47] used ABC algorithm to obtain optimal threshold values that maximize the entropy of images.

Akay [5] compared the performances of ABC and particle swarm optimization algorithms in multilevel thresholding and analyzed the effect of fitness functions including Kapur’s entropy and between-class variance. Results were evaluated in terms of both fitness function and running time. It was reported that ABC algorithm based on Kapur’s entropy can be efficiently used in multilevel thresholding, and running times of the algorithms showed that ABC and particle swarm optimization algorithms are scalable and seemed to grow at a linear rate as the problem size increases.

Charansiriphaisan et al. [24] analyzed different local search operators in ABC algorithms, namely the standard ABC, ABC/best/1,ABC/best/2, IABC/best/1, IABC/rand/1, and CABC, and some particle swarm optimization-based algorithms for searching multilevel thresholding. Based on Friedman rank tests, it was reported that IABC/best/1 outperformed the other techniques for multilevel thresholding in addition to being simple, general, and efficient.

Horng [53] employed the minimum cross-entropy as cost function to be minimized by ABC to find optimal threshold values.

Zhang et al. [144] suggested a hybrid method of ABC and defogging algorithm to extract the attitude parameters of unmanned aerial vehicle. A horizontal line divides the picture into two regions.

Horizon parameters, \(\phi \) and \(\sigma \), are utilized to obtain UAV’s parameters, roll angle \( \psi \), and pitch angle \(\theta \), which are used to make the original pictures clearer and gain the transmission image for horizon abstraction. \(\psi \) and \(\theta \) are given by Eqs. (15) and (16), respectively [144]:

$$\begin{aligned} \psi= & {} \phi \end{aligned}$$
(15)
$$\begin{aligned} \theta= & {} \arctan \left( (\sigma - 0.5)\times m\times d'/f \right) - 0.7 \end{aligned}$$
(16)

Kumar et al. [81] employed ABC algorithm with the fitness value based on Otsu method for bi-level thresholding. They reported differential evolution with randomized localization embedded with Otsu to be an efficient technique for bi-level thresholding of gray-scale images.

Zhang et al. [146] compared ABC algorithm with fish swarm, bacteria foraging, and particle swarm optimization algorithms in terms of the segmentation accuracy, time consumption, convergence, and robustness for Salt&Pepper and Gaussian noises.

Ouadfel and Meshoul [100] applied differential evolution, particle swarm, and ABC algorithms for bi-level thresholding. It was stated that differential evolution and ABC achieve the same quality of solutions in terms of PSNR and uniformity values, and they are more robust than particle swarm optimization. Differential evolution was reported to be the most stable and ABC to be the fastest with the advantage of employing less control parameters.

Agrawal and Soni [1] proposed a hybrid framework of genetic algorithm and ABC algorithm that uses genetic algorithm as a local search algorithm in ABC. The improved two-dimensional gray entropy fitness function is optimized, and optimal thresholds are determined. The approximation image is replaced with the filtered image in order to avoid the influence of speckle noise in image segmentation.

The improved two-dimensional gray entropy is given by Eq. (17):

$$\begin{aligned} H_{\mathrm{gray}} (s,t) = \frac{1}{2}\left( {H(E|O) + H(E|B)} \right) \end{aligned}$$
(17)

Hybrid genetic and ABC algorithms are used to find the best \((s,t)\) threshold pair to maximize the improved two-dimensional gray entropy [1].

Liu et al. [88] combined particle swarm optimization algorithm and the selection mechanism of ABC algorithm. By using this algorithm, the \(n\)-level thresholding problem is optimized to maximize the fitness function based on the between-class variance.

The paper reported that the proposed method can reach a higher-quality adequate segmentation, can reduce the CPU processing time, and can eliminate the particles falling into local minima [88].

Sivaramakrishnan and Karnan [121] implemented Firefly and ABC algorithms to extract the suspicious region based on texture image segmentation on mammography and MRI images. In the approach, Markov random field is applied to an input image, and the maximizing a posterior (Eq. 18) is estimated. The maximizing a posterier values are minimized by ABC algorithm to find optimal threshold values.

$$\begin{aligned} U(x) = \sum {\left[ {\frac{{(y - \mu )^2 }}{{2\sigma ^2 }}} \right] } + \sum {\log (\sigma )} + \sum {V(x)} \end{aligned}$$
(18)

where \(y\) is the intensity value of pixels in the kernel, \(\mu \) is the mean value of the kernel, \(\sigma \) is the standard deviation of the kernel, \(V(x)\) is the potential function of the kernel, and \(x\) is the center pixel of the label. If \(x_1\) is equal to \(x_2\) in a kernel, then \(V(x) = \beta \), otherwise 0, where \(\beta \) is visibility relative parameter \((\beta \ge 0)\).

Beno et al. [17] introduced a region-growing technique, which comprises four steps such as (i) gridding that splits the image into several blocks, (ii) selection of seed point by histogram computation, (iii) finding optimal threshold value, and (iv) applying region growing to the point. In the third step, the optimal threshold value is found by a hybrid technique of ABC and genetic algorithm. Experimental results show that in both classification and segmentation, the proposed hybrid technique produces better threshold prediction results than existing techniques.

3.4 Edge detection

Edges in an image represent the brightness changes or discontinuities. Edge detection is extensively used in image segmentation to find a set of connected curves that are object boundaries within images, so that the amount of irrelevant data is reduced significantly while retaining the most of information in the image. The following papers studied ABC algorithm in edge detection area [15, 37, 103, 139].

3.5 Image clustering

Clustering is a segmentation method that classifies image pixels into multiple classes based on the intensity, feature distance, a likelihood estimation, or a probability distribution. K-means, fuzzy-c-means, and expectation maximization algorithms are widely used clustering algorithms, and ABC algorithm has also been used for clustering as main clustering technique or together with other clustering algorithms in order to improve the clustering performance.

Lin and Wu [87] calculated the cluster centers with membership values by using ABC algorithm and local spatial information instead of global pixels’ intensities. The approach has two phases in each iteration. In the first phase, the scout bees were randomly put in the space domain of a target image. And the spatial information is searched by using the cost function to be minimized by ABC algorithm. In the second phase, the spatial information produced by ABC algorithm is evaluated by the cost function of fuzzy-c-means algorithm, which is given by Eq. (19). Then, the local cluster process is stopped when the maximum difference between two cluster centers at two successive processes is less than a threshold. After the convergence, defuzzification is applied to assign each pixel to a specific cluster for which the membership is maximal.

$$\begin{aligned} J_{\mathrm{FCM}} = \frac{1}{2}\sum \limits _{x = 1}^n {\sum \limits _{i = 1}^c {\mu _{x,i}^m \left\| {z_x - \bar{\omega }_i } \right\| } } \end{aligned}$$
(19)

Manda et al. [93] presented a clustering approach based on ABC algorithm and compared the results of the approach with those of k-means and particle swarm optimization algorithms. In the approach, ABC algorithm produces the clusters’ centroids (\(m_j\)) and distances between each pixel value (\(z_{p}\)), and clusters’ centroids are calculated based on Euclidian distance defined by Eq. (20):

$$\begin{aligned} d(z_{p} ,m_j ) = \sqrt{\sum \limits _{k = 1}^{N_d } {\left( {z_{pk} - m_{jk} } \right) ^2 } } \end{aligned}$$
(20)

where \(N_d\) is the number of channels in image, \(N_{p}\) is the number of pixels, \(p \in {1,\ldots ,N_p}\), \(m_{jk}\) is the mean of \(k\)th band of \(j\hbox {th}\) cluster, \(z_{pk}\) is the \(k\)th band value of pixel \(z_{p}\).

Once the distances are calculated, each pixel \(z_{p}\) is assigned to cluster \(c_{ij}\) with the minimum distance to \(z_{p}\):

$$\begin{aligned} d(z_{p} ,m_{ij} ) = \mathop {\min }\limits _{\forall c = 1, \ldots ,N_c} \left\{ {d(z_{p} ,m_{ic} )} \right\} \end{aligned}$$
(21)

Fitness of the ABC and other algorithms is calculated using the quantization error defined by Eq. (22):

$$\begin{aligned} Q_e = \frac{{\sum \nolimits _{j = 1}^{N_{c} } {\left[ {\sum \nolimits _{\forall z_{p} \in c_{ij} } {\frac{{d(z_{p}, m_j )}}{{\hbox {mod} (c_{ij} )}}} } \right] } }}{{N_{c} }} \end{aligned}$$
(22)

where \(N_{c}\) is the number of clusters, and \(\hbox {mod}(c_{ij})\) is the number of data vectors belonging to the cluster \(j\).

Experiments were carried out on three types of imagery data, namely MRI brain, Lena, and Mandrill. When the quantization error, intra-cluster distance, and inter-cluster distance metrics were compared, it was concluded that K-means and particle swarm optimization algorithms got trapped in local optimum, and the performance of ABC algorithm was better than the others [93].

Ouadfel and Meshoul [99] integrated fuzzy-c-means and ABC algorithm in order to address trapping local minima and sensitivity to initialization. Objective function of classical fuzzy-c-means algorithm is minimized using ABC algorithm. The authors replaced the ABC algorithm’s local search operator with the differential evolution operator defined by Eq. (23):

$$\begin{aligned} v_{ij} (G + 1)= & {} z_{gbest,j} (G) + F\times (z_{r1,j} (G) - z_{r2,j} (G)) \nonumber \\&\quad +\, F\times (z_{r3,j} (G) - z_{r4,j} (G)) \end{aligned}$$
(23)

where vectors \(z_{r1,j}\), \(z_{r2,j}\), \(z_{r3,j}\), and \(z_{r4,j}\) are randomly chosen different individuals from the population, and \(F \in [0, 1]\) is a real number that controls the amplification variation of the added differential of two vectors.

Ouadfel et al. [111] used ABC algorithm to overcome trapping local minima problem of fuzzy-c-means method. Also, the method considers spatial information by incorporating local neighborhood information into the membership function. The proposed spatial information-based cost function is defined by Eq. (24):

$$\begin{aligned} J^{*}_{\mathrm{FCM}} (U^* ,V)= & {} \sum \nolimits _{k = 1}^n {\sum \nolimits _{i = 1}^c{u_{ik}^{*m} d^2 (x_k ,v_i )} } \nonumber \\ u_{ik}^*= & {} \frac{\sum \nolimits _{j \in N_k } {u_{ij} p_{kj} }}{\sum \nolimits _{s = 1}^C {\sum \nolimits _{j \in N_k } {u_{sj} p_{kj}}}}\nonumber \\ v_i^*= & {} \frac{{\sum \nolimits _{k = 1}^n {u_{ik}^{*m} x_k } }}{{\sum \nolimits _{k = 1}^n {u_{ik}^{*m} } }} \nonumber \\ p_{kj}= & {} \frac{1}{{d_{kj}^f }\big / {\sigma _k^2 }} \times \frac{1}{{d_{kj}^s }} \nonumber \\ d_{kj}^f= & {} \left| {x_k - x_j } \right| \nonumber \\ d_{kj}^s= & {} \left\| {k - j} \right\| ^2 \end{aligned}$$
(24)

where \(\sigma _{k}^{2}\) represents the local density surrounding the central pixel \(x_k\).

In the approach, each food source represents a set of cluster centers, and ABC algorithm employs the fitness function defined by Eq. (25):

$$\begin{aligned} \hbox {fit}_i = \frac{1}{{1 + J_i^* (U^* ,V)}} \end{aligned}$$
(25)

Segmentation accuracy values of classical fuzzy-c-means, four modified versions of fuzzy-c-means, and the proposed approach were reported using synthetic, real, and MRI images corrupted by salt&pepper and Gaussian noise. Segmentation accuracy can be defined by Eq. 26:

$$\begin{aligned} SA = \frac{{\# \,\text {of pixels correctly classified}}}{\text {Total number of pixels}} \end{aligned}$$
(26)

It was stated that spatial information-based fuzzy-c-means integrated with ABC algorithm is better compared to the other spatial fuzzy clustering methods due to global search capability of ABC algorithm [111].

Chen et al. [27] introduced a new energy minimization framework for simultaneous estimation of the intensity inhomogeneities and segmentation. The method modified the objective function of the standard fuzzy-c-means algorithm to compensate for intensity inhomogeneities by using basis functions and to compensate for noise by using improved non-local information. Energy function is given by Eq. (27):

$$\begin{aligned} E= & {} \int _R \sum \limits _{k = 1}^K \int _R w(x,y)u_k^q (y)\hbox {d}y\left\| \tilde{J}(x) \right. \nonumber \\&\left. - Q^{T} S(x) - v_k \right\| ^2 \hbox {d}x \end{aligned}$$
(27)

where \(R\) is the brain tissue region, \(v_k\) is the prototype of the \(k\)th cluster, \(u_k\) is the membership value at the pixel, the parameter \(q\) is a weighting exponent on each fuzzy membership and is usually set as 2, the operator \( \left\| \cdot \right\| \) is the Euclidean distance, \(\tilde{J}(x)\) is the logarithmic observed intensity at the pixel, and \(w(x,y)\) is defined by Eq. (28):

$$\begin{aligned} w(x,y) = e^{ - \left\| {B_{P_x } \circ (P_x - P_y )} \right\| ^2 /h^2} \end{aligned}$$
(28)

where \(\circ \) represents the element-wise multiplication operator, \(B_{P_x}\) is the inner relationship between pixels of \(P_x\).

It was stated that on both real MRIs and simulated MR data, the proposed method can obtain more accurate results when segmenting images with bias field and noise.

Hancer et al. [49] used ABC algorithm to find the cluster centers of image intensity values and employed a fitness function given by Eq. 29:

$$\begin{aligned} \hbox {fit}_i = w_1 d_{\max } (Z,x_i ) + w_2 (Z_{\max } - d_{\min } (Z,x_i)) \!+\! w_3 J_e\nonumber \\ \end{aligned}$$
(29)

where \(\hbox {fit}_i\) is the fitness value of the solution \(x_i\), \(Z_{\max }\) is the maximum point of data which is \(2^s-1\) for a \(s\)-bit image, \(J_e\) is the quantization error, \(d_{\max }\) is the maximum average Euclidean distance, \(d_{\min }\) is the minimum average Euclidean distance, and \(W_i\) values are user-defined constants. Hancer et al. [50] applied this ABC-based-clustering method for MRI segmentation. Ozturk et al. [101] proposed an objective function (Eq. 30) for ABC, which does not contain the user-defined constants in Eq. (29).

$$\begin{aligned} \hbox {fit}_i= & {} J_e \times \frac{{d_{\max } (Z,x_i )}}{{d_{\min } (Z,x_i)}}\times (d_{\max } (Z,x_i ) \nonumber \\&\quad +\, z_{\max } - d_{\min } (Z,x_i ) + \hbox {MSE}) \end{aligned}$$
(30)

Balasubramani and Marcus [10] combined fuzzy-c-means and ABC algorithm in order to improve the results of classical fuzzy-c-means method and applied the method to segment brain MR images.

Taherdangkoo [125] employed a modified ABC algorithm to remove the skull region from brain MR images. In the modified ABC algorithm, a different strategy for initializing the coordinates of scout bees and their search directions is proposed, and an additional constraint to ABC algorithm is imposed to avoid the creation of discontinuous regions.

Alrosan et al. [7] combined fuzzy-c-means and ABC algorithm because fuzzy-c-means is sensitive to the initial cluster centroids and can get trapped in local optima. ABC algorithm produces cluster centers, and fuzzy-c-means calculates its fitness function based on these values. The approach was applied to simulated brain data and real MRI images.

Emary et al. [42] proposed an automated retinal blood vessel segmentation approach based on ABC in conjunction with fuzzy-c-means clustering in which ABC algorithm finds cluster centers of the fuzzy-c-means objective function. The proposed algorithm comprises three phases: (1) preprocessing phase in which the brightness of the retina images is corrected before the actual segmentation; (2) segmentation phase in which vessels are segmented based on ABC; and (3) post-processing phase in which the segmentation accuracy is improved. The centers obtained by ABC are used as initial solution of the pattern search to update the center in order to maximize the resulting vessel binary image total thinness measure, which is defined by Eq. (31):

$$\begin{aligned} T = \frac{{4\pi A_i }}{{P_i^2 }} \end{aligned}$$
(31)

where \(A_i\) is the total area of individual connected components and \(P_i\) is the total perimeter of individual connected components.

Thiagarajan and Bremananth [128] segmented MR images using conditional random field and a modified ABC algorithm to overcome the difficulties of Markov random field approach. In the approach, an MRI image is read from database, and the pixels are labeled with same gray value with same number. For each kernel in the image, the posterior value is calculated using conditional random field using formula and stored in a separate matrix. Modified ABC algorithms are used to minimize the maximum a posterior function. Performance of the approach is evaluated using region non-uniformity, correlation, and computation time. It was concluded that the proposed approach provides significant results for the statistical parameters taken for consideration, and it outperforms some existing approaches.

Armano and Farmani [8] combined ABC algorithm and k-means method to improve the capability of k-means in finding global optimum clusters in nonlinear partitional clustering problems. It was stated that the proposed method can find better cluster portions.

Gupta and Kumar [46] wrote a review on some ABC algorithms for clustering.

3.6 Image classification

Image classification discriminates multiple objects from each other within an image. A classification method assigns image pixels to priori specified classes (supervised) or automatically clustered classes with homogenous characteristic (unsupervised classification) based on spectral or spectrally defined some other features of the image. In a classifier system, (i) classes are defined, (ii) features are selected, (iii) training data are obtained, (iv) pixels are classified, and (v) verification is carried out.

3.6.1 ABC and artificial neural network

An artificial neural network consists of a set of connected neurons, and can be trained by minimizing (optimizing) the network error function \(E\). The error function is given by Eq. 32:

$$\begin{aligned} E(t) = \frac{1}{n}\sum \limits _{j = 1}^n {\sum \limits _{k = 1}^K {(d_k - o_k )^2 } } \end{aligned}$$
(32)

where \(E(t)\) is the error at the \(t\hbox {th}\) iteration, \(d_k\) is the desired output node \(k\), \(o_k\) is the actual output value of the node \(k\), \(K\) is the number of output nodes, and \(n\) is the number of patterns.

ABC algorithm produces weight values by means of its local and global search operators and calculates the error \(E\) of the network that represents the fitness measure to be used in selection.

Zhang et al. [147] presented a hybrid method based on feed-forward neural network to classify an MR brain image as normal or abnormal. Features of the images are extracted by a discrete wavelet transform, and then, principal component analysis is applied to reduce the number of the features. The reduced features are trained by using a forward neural network of which the weights and biases were trained through a modified ABC algorithm with fitness scaling and chaotic theory.

The proposed method was applied to T2-weighted MRI images consisting of 66 brain images (18 normal and 48 abnormal). It has been reported that the proposed modified ABC can obtain the least mean MSE and 100 % classification accuracy compared to back propagation, momentum back propagation, genetic algorithm, elite genetic algorithm with migration, simulated annealing, and ABC.

Sathya and Geetha [112] designed an automatic breast mass classification system in order to classify a mass as benign or malignant based on the statistical textural features extracted by artificial neural network, which is trained by using ABC algorithm.

Chandrakala and Sumathi [23] derived the color features by using histogram equalization method in HSV space and the texture features represented by contrast, energy, entropy, correlation, and local stationary over the region by using co-occurrence matrix. The proposed neural network-based comprehensive image classification scheme fuses the low-level features of the image such as color and texture to improve the systems classification performance, and these features are converted as high-level features by radial basis function neural network (RBFN) with fuzzy-c-means to fix the hidden layer neurons. The weight vectors of the network are assigned by ABC algorithm.

3.6.2 ABC and support vector machine

Support vector machines aim to construct an optimal hyperplane for linearly separable patterns and for nonlinearly separable patters using a Kernel function. The margin around the separating hyperplane is maximized using an optimization procedure.

George et al. [94] claimed that 2D Otsu and ABC for image segmentation are time-consuming and not efficient for determining the optimum threshold values and proposed a combination of ABC algorithm and SVM classifier. CT/MRI images are segmented by the system which is divided into four modules that are preprocessing, feature extraction, segmentation, and classification. ABC is used to segment the input image into tumor and non-tumor part, and the segmented image is given to support vector machine classifier for classification.

3.7 Image registration

Image registration transforms different set of data into one coordinate system in order to be able to compare the data obtained from different sources. An input image is compared to a transformed image based on a similarity function. The transformation parameters should be optimal such that the similarity is maximum (Eq. 33).

$$\begin{aligned} T^{*} = \arg \mathop {\max }\limits _T S\left\{ {A,T[B]} \right\} \end{aligned}$$
(33)

The similarity function may be cross-correlation, mutual information, difference, etc.

Wang [132] used normalized cross-correlation as a similarity measure and employed ABC algorithm to maximize this measure. Experiments were carried out on three test images (puppy, bridge, and car), and the results showed that the proposed method is more effective and robust to other popular methods, and has less computation time.

3.8 Image fusion

Image fusion combines relevant information from multiple images of a scene into a composite image, which includes more information and has high visual perception.

Sharma et al. [117] proposed an image fusion technique based on ABC that is simple to implement and produces an image better than the pixel-pixel arithmetic operation produced. Entropy and spatial frequency are used to evaluate the fitness of blocks defined by the window size.

Yu and Duan [142] designed an ABC-based fuzzy radial basis function neural network with information granulation for image fusion. The parameters of fuzzy radial basis function neural network such as the fuzzification coefficient, the position of their centers, and the values of the widths are optimized by ABC algorithm in order to minimize the complexity and maximize the accuracy.

3.9 Feature selection/dimension reduction

Feature selection deals with determining the most relevant subset of features such that accuracy rate of the subset is close to that of the one in original representation. A classic feature selection procedure consists of four basic steps: subset generation, subset evaluation, stopping criterion, and result validation. Subset generation is a search procedure that produces feature subsets for evaluation based on a certain search strategy. Accuracy is defined by Eq. (34):

$$\begin{aligned} \hbox {Accuracy} = \frac{{\hbox {TP} + \hbox {TN}}}{{\hbox {TP} + \hbox {TN} + \hbox {FP} + \hbox {FN}}} \end{aligned}$$
(34)

where TP (true positive) is the number of correctly identified patterns, TN (true negative) is the number of correctly rejected patterns, FN (false negative) is the number of incorrectly rejected patterns, and FP (false positive) is the number of incorrectly identified patterns.

Schiezaro and Pedrini [113] proposed a binary ABC algorithm to select the features and evaluate the solutions using average accuracy percentage. 2310 image segmentation instances and some other instances from UCI [130] were employed in the experiments. It has been reported that the proposed method presented better results for the majority of the tested datasets compared to other algorithms.

Shantini and Bhaskaran [116] suggested to use ABC algorithm as a feature selection technique to select the predominant feature set in classification of breast lesion in mammogram images [116].

They used a modified ABC algorithm, which has a local search operator exploting the information of the best individual in the population (Eq. 35):

$$\begin{aligned} \upsilon _{ij} = z_{ij} + \theta _{ij} (z_{ij} - z_{kj} ) + \varphi _{ij} (w_j - z_{ij} ) \end{aligned}$$
(35)

where \(w_j\) is the best solution found so far and \(\varphi _{ij} \in [0,1.5]\). A combination of 84 features is extracted, and all the features may not be used for classification. The classification accuracy is used to evaluate the methods, and the performance of the proposed method was compared with that of genetic algorithm and particle swarm optimization. It has been reported that out of 84 features, genetic algorithm and particle swarm optimization select 50 and 56 features, respectively, while the proposed method selects only 42 features for the images used in the experiments and maintains the high accuracy of classification.

3.10 Image steganalysis

Steganalysis is the process of investigating hidden information from an image or another source. Steganalysis usually starts with reducing the data into a subset of data, which is carried out by feature extraction and selection methods.

Mohammadi and Abadeh [98] proposed a feature-based blind steganalysis method for detecting stego-images from the cover images in JPEG images using a wrapper-based feature selection technique by using ABC algorithm. ABC produces the feature subsets, and a support vector machine-based classifier is employed to evaluate every feature subset created by the algorithm. It has been reported that the proposed method can be expeditiously employed to solve the multimodel engineering problems with high dimensionality.

3.11 Image retrieval

With the growth of user-generated content in Web, by a given query term, returning the most relevant images from the large database is a hard problem. In order to determine the most likely image given by a query term, images are ranked based on image content and some meta-data. Image retrieval assigns meta-data or keyword as annotation and utilize these annotations for searching and retrieving images from an image database. Query by image content is called content-based image retrieval and has three steps: image acquisition, feature extraction, and similarity matching.

Gondalia [45] presented a supervised approach based on ABC algorithm to solve ranking problem. A multispectral image and training dataset depending on expert classification are given to the algorithm. It is stated that the image is processed using the training dataset by ABC algorithm. However, it is not clear from the paper how the algorithm processes the image or which cost function is employed, and the authors did not provide an experimental result.

Mishra et al. [96] employed a multiobjective ABC algorithm to tune parameter position in the content-based image retrieval problem. In the feature extraction step, color, texture, and shape values are obtained. Therefore, when an image is searched, the search is performed based on these features. The precision, which is the ratio of the relevant images retrieved to the total number of images retrieved, the Recall, which is the ratio of the relevant images retrieved to the total number of relevant images in database, and F-measure are considered in evaluations.

Chandrakala and Sumathi [22] proposed an image retrieval system based on ABC algorithm, which fuses similarity score and texture features because keyword-based searching method has very high computational complexity. In the proposed method, the color is described by color histogram method in HSV space, and the texture is represented by contrast, energy, entropy, correlation, and local stationary over the region in the image. ABC algorithm is used to find optimal fusion weights.

Wang et al. [133] implemented an application of ABC algorithm for content-based image retrieval. Eigenvalues of color moments, color information entropy, and color histogram are extracted and, and then, the corresponding image is represented by color eigenvalues by weighting the three color eigenvalues after unitization and quantization. An image feature library is constructed based on the image library, and ABC algorithm is used to search the images to get the retrieved results. Recall–Precision chart is employed to make a comparison between traditional searching algorithm and ABC algorithm. It was concluded that ABC algorithm is better than the traditional searching algorithm and is able to find out the color image that satisfied to customer needs more accurately and effectively with a higher precision ratio and recall ratio.

3.12 Image watermarking

Chen et al. [28] presented a robust image watermarking scheme based on singular value decomposition (SVD) and discrete wavelet transform (DWT) with ABC Algorithm to overcome the major drawback of false-positive detection of previous algorithms by checking the similarity measure of U matrix for ownership. To achieve the highest possible robustness without losing the transparency, an adaptive scale factor is obtained by ABC algorithm.

Optimal value of the scale factor is searched by ABC algorithm minimizing the cost function defined by Eq. (36):

$$\begin{aligned} f = \frac{K}{{\sum \nolimits _{i = 1}^K {\hbox {corr}_W (W,W_i^* )} }} - \hbox {corr}_A(A,A_L^* ) \end{aligned}$$
(36)

where \(K\) is attacking type, and \(\hbox {corr}\) is the correlation function. It has been reported that the proposed approach outperforms the other similar algorithms.

3.13 Blind image separation

Blind source separation separates independent source signal from a group of mixed signals. Blind signal separation is performed on images, as well.

Chen et al. [26] designed a blind image separation algorithm based on ABC algorithm. Separation matrix is transformed by Givens rotation transform, and negative entropy value is minimized by using ABC algorithm.

3.14 Image restoration/image denoising

Images might contain noise or may be corrupted by distortions due to an interfering signal, which can be caused by natural environment, illuminating conditions, image capturing devices, transmission channel, or others. Noise from interfering source may be transformed further by some unknown transformation, which is called attacking noise. Because attacking noise transformation is usually unknown and variable, an appropriate filtering or restoration is needed for noise cancelling. ABC algorithm has been also used in studies related with noise cancelling and image restoration.

Li and Chan [84] proposed a complex-fuzzy approach for adaptive image noise cancelling and employed a hybrid learning method in which ABC algorithm is used to update the premise parameters of the complex neuro-fuzzy system, and the recursive least square estimator (RLSE) algorithm is used to adjust the consequent parameters. The proposed image restoration approach consists of the steps given below [84]:

  1. 1.

    Initialize the complex neuro-fuzzy system design and the settings for ABC-RLSE learning method.

  2. 2.

    Calculate the average gray level of the corrupted image by Eq. 37:

    $$\begin{aligned} \mu _Z = \frac{\sum \nolimits _{i = 1}^P {\sum \nolimits _{j = 1}^Q {z(i,j)} } }{{P \times Q}} \end{aligned}$$
    (37)

    where \(z(i,j)\) is the gray level of the image; \(P \times Q\) is the dimension of the image and change the corrupted image to its zero-mean version.

  3. 3.

    Compute the difference between the median filter output and the corrupted image pixel in gray level. The difference becomes input to the complex neuro-fuzzy system.

  4. 4.

    Calculate the complex neuro-fuzzy system output pixel by pixel, with which the cost is computed based on MSE.

  5. 5.

    Apply ABC-RLSE learning method to the complex neuro-fuzzy system filter, where the subset of the premise parameters is updated by the ABC ,and the subset of the consequent parameters is updated by the RLSE.

Shokouhifar and Abkenar [120] used ABC algorithm before performing the FCM clustering algorithm in order to determine noise threshold value. A noise probability is calculated for each pixel by Eq. (38):

$$\begin{aligned} P_g= & {} \frac{{D_g }}{{255}} \nonumber \\ Dg= & {} \left| {I_g - \frac{{3M(I_{n1} ) + 3M(I_{n2} ) + M(I_{n3})}}{6}} \right| \end{aligned}$$
(38)

where \(I_g\) is the current pixel; \(M(I_{n1}\)), \(M(I_{n2})\), and \(M(I_{n3})\) are mean of the pixels in the first-, second-, and third-level neighborhoods.

If the probability value \(P_g>\lambda \) where lambda is within [0,1], this means that the pixel is affected by the noise; otherwise, it is a normal pixel. ABC algorithm is used to find an optimal value for \(\lambda \) parameter before applying fuzzy-c-means algorithm.

Kockanat et al. [76] employed ABC algorithm for image denoising using 2D- FIR filter and tested the approach on various images. Kockanat and Karaboga [77] used ABC algorithm to adjust the coefficients of 2D FIR filter (Eq. 39) and investigated the effect of the control parameters of ABC algorithm on the performance of Gaussian noise elimination in gray-level digital images. Different noise densities were examined, and the results were compared in terms of the noise tolerance.

$$\begin{aligned} y(n_1 ,n_2 ) = \sum \limits _{m = 0}^{M - 1} \sum \limits _{n = 0}^{N - 1} {\omega (m,n)x(n_1 - m,n_2 - n)} \end{aligned}$$
(39)

where \(x(n_1 ,n_2)\) is the input image, \(y(n_1,n_2)\) is the output image, \(\omega (m,n)\) are coefficients of the filter. Optimal filter coefficients are determined by ABC algorithm using mean square error as cost function.

Latifoglu [82] designed 2D FIR filters of which the coefficients are optimized using ABC algorithm. Various filter coefficients and connection types (cascade and parallel) were tested in the experiments. Synthetic images and ultrasound images with speckle noise were denoised with both the proposed approach and other well-known filter types such as the Gaussian, the mean and the average filters based on mean square error, peak signal-to-noise ratio, and signal-to-noise ratio. It has been reported that even in the case of noise having maximum variance (the most noisy case), ABC-based 2D FIR filter approach performed better than the other filtering methods did on the noisy test images.

Zhang et al. [151] implemented a noise cancelling framework, which consists of an impulse noise detector, an edge connection procedure, and an adaptive bilateral filter, which is capable of removing impulse noise, Gaussian noise, or mixture of the two types of noises without over smoothing edge details. They used an improved ABC algorithm to optimize the parameters of the adaptive bilateral filter, enabling both effective noise removal and fine edge preservation. Stein’s unbiased risk estimator is used as the fitness function in ABC algorithm, and optimal parameter values are determined by minimizing the estimated risk value (Eq. 40).

$$\begin{aligned} \hat{R}_e = \sigma _n^2 SI + \sum {\varepsilon (m,n)^2 } - 2\sigma _n^2 \sum {\frac{{\partial \varepsilon (\text {m},n)}}{{\partial y(m,n)}}} \end{aligned}$$
(40)

Experimental results have shown that the proposed method in [151] is robust when signal-to-noise ratio is low, and it performs effectively in noise removal and detail preservation.

3.15 Digital halftoning

Halftoning is the representation of different gray levels by black marks on white paper with a binary device. Digital halftoning simulates continuous-tone images with the use of dots, and algorithms which produce the most suitable parameters of any target display device are required for a successful halftoning.

Chatterjee et al. [25] presented a binary ABC algorithm in order to generate optimized binary halftone patterns. Comparison between the presented method and established halftoning techniques is also provided. Cost function is defined by Eq. (41):

$$\begin{aligned} \varphi = \omega _1 T + \omega _2 S + \omega _3 A \end{aligned}$$
(41)

where \(\omega _1+\omega _2+\omega _3=1\), \(T\) is the mean square error, \(S=1-SSIM\), \(SSIM\) is the structural similarity index, and the appearance of holftone, \(A\) is the appearance of halftone. The neighbor solution production in basic ABC algorithm is replaced with Eq. (42):

$$\begin{aligned} \upsilon _{ij} = \left\{ {\begin{array}{ll} 1, &{}\quad {\text {if } 1/(1 + \exp ( - \upsilon _{ij} ) > \tau } \quad \\ 0, &{}\quad {\text {otherwise}} \quad \\ \end{array}} \right. \end{aligned}$$
(42)

The long processing time due to iterative nature of binary ABC has been addressed with pattern look-up table approach.

3.16 Pattern recognition

Recognizing patterns in the image of a complex scene based on visual information are a challenging task due to illumination, rotation, and position of images.

Yu and Ai [95] employed support vector machines to hand writing verification and used ABC algorithm to set the parameters of support vector machines. The proposed method was tested on four UCI standard datasets and compared with genetic algorithm and other conventional optimization algorithms. It was reported that ABC-based support vector machine overcame the local optimal solution problem, acquired higher classification accuracy, and reduced the computational time.

Li and Li [85] applied multiobjective ABC algorithm to camellia fruit recognition system in a fruit picking robot. The approach uses eight characteristic parameters of the color feature, the morphology feature, and the texture feature as the preference region to recognition.

Duan et al. [40] proposed a novel bionic selective visual attention mechanism. First, lateral inhibition filtering is applied to filter low-frequency noises, and then, ABC algorithm-based selective visual attention mechanism is used to obtain the interested object. For this purpose, ABC algorithm is employed to obtain the translation vectors \(C_k(t_x,t_y)\) of each block where \(t_x\) and \(t_y\) represent the horizontal and vertical translation, respectively. The matching criteria are defined by Eq. (43)

$$\begin{aligned} \hbox {SAD}_{(x,y)} (u,v) = \sum \limits _{x = 1}^M {\sum \limits _{y = 1}^N {\left| {f_k (x,y) - f_{k - 1} (x + u,y + v)} \right| } } \end{aligned}$$
(43)

where \(M\times N\) is the size of the search window. The translation vector, namely the motion vector, is obtained when the SAD value reaches its minimum.

$$\begin{aligned} (u',v') = \arg \min \hbox {SAD}_{(x,y)} (u,v) \end{aligned}$$
(44)

where \((u,v) \in \left\{ {(u,v)| - R \le u,v \le R} \right\} \), and \(R\) is the search range. ABC algorithm is used to minimize \(\hbox {SAD}_{(x,y)}(u,v)\). Once the translation vectors of each block are determined, the movement distance of each pixel in the image is calculated generating the movement speed image.

It was concluded that ABC algorithm is more robust and effective than particle swarm optimization algorithm. It was also seen that the proposed ABC algorithm-based visual attention mechanism can extract reliable motion features from several adjacent frames effectively better than classical visual attention mechanism [40].

Gayathri et al. [44] presented a new approach to extract multiple features, namely minutiae, texture and ridge from the palmprint image, and classification approach based on ABC algorithm. Ridges are extracted by Laplacian of Gaussian filter, and minutiaes are extracted by morphological operators. Then, ABC algorithm is applied as classifier. It was noted that the presented method is the most suitable one as far as palm print recognition is concerned.

3.16.1 Template matching

Template matching tries to hit a match of the pattern in the image based on a cross-correlation function. While searching a pattern in a target image, coordinate values (x- and y-axes), rotation angle \(\theta \), and scale factor \(s\) are defined.

Chidambaram and Lopes [29, 30, 32] employed ABC algorithm to find the optimal values of \((x,y,s,\theta )\) to maximize the similarity between two images template pattern and target image. It was stated that ABC algorithm is much faster than the other evolutionary algorithms considered, with comparable performance.

Xu and Duan [135] proposed a shape-matching approach to recognize aircraft targets at low altitude using ABC algorithm with edge potential function. Edge potential function (Eq. 45) provides a type of attractive pattern for a matching contour.

$$\begin{aligned} \hbox {EPF}(x,y) = \frac{Q}{{4\pi \varepsilon _{\mathrm{eq}} }}\sum \limits _{(x_i ,y_i) \in W} {\frac{1}{{\sqrt{(x - x_i )^2 + (y - y_i )^2 } }}}\nonumber \\ \end{aligned}$$
(45)

where \(\varepsilon _{\mathrm{eq}}\) is a constant related with the image background situation, and \(Q\) is equal to the charge of each edge point \(Q_{\mathrm{eq}}(x_i, y_i)\). The searched target template to be matched can be considered as a test object, and the higher similarity (Eq. 46) between the searched object and visual objects in the image is required. \(c_k = (t_x , t_y , \hbox {angle}, \hbox {scale})\) values are optimized by using ABC algorithm.

$$\begin{aligned} f(c_k ) = \frac{1}{{N^{(c_k )} }}\sum \limits _{n^{(c_k )} = 1}^{N^{(c_k )} } {\left\{ {\hbox {EPF} \left( x_n^{c_k } ,y_n^{c_k }\right) } \right\} } \end{aligned}$$
(46)

Li et al. [86] combined normalized cross-correlation and an internal-feedback ABC algorithm to search the best-match location \((x,y)\).

Banharnsakun and Tanathong [12] presented a template-matching approach based on the best-so-far ABC algorithm to find the possible coordinates of the template image in the target image that minimizes the difference value of RGB level histogram.

3.16.2 Face recognition

Chidambaram et al. [31] presented an approach that matches some features extracted from an invariant image locations to reduce computational cost of matching all image pixels. Image features like color, texture, and shape are used as interest points. ABC algorithm is used to search and identify faces in still images, based on features generated by the interest point detector and descriptor, speeded-up robust features (SURF). A face image is represented by a 4-tuple, denoted by \((x, y, s, \theta )\) and ABC algorithm searches for the optimal value of 4-tuple to maximize correlation.

Chakrabarty et al. [21] proposed a face recognition approach based on Volterra kernel and ABC algorithm. In the approach, the original images are divided into patches in space, and a nonlinear functional mapping using second-order Volterra kernels is searched. ABC algorithm is used to determine optimal Volterra kernels that maximize inter-class distances and minimize intra-class distances in the feature space. A voting procedure is applied in order to decide the class of each individual, and based on the classes of all individuals, overall recognition is carried out. Individuals (patches) in the population correspond to elements in the Volterra kernel, and the patches are transformed based on the 2D quadratic Volterra filter (Eq. 47) using the optimal Volterra kernel:

$$\begin{aligned} y(n_1 ,n_2 ) = h_0 + h_1 \left[ x(n_1 ,n_2 )\right] + h_2 \left[ x(n_1 ,n_2 )\right] \end{aligned}$$
(47)

where \(h_0\) is a constant term, \(h_1\) and \(h_2\) are the linear and quadratic vectors consisting of the coefficients of the kernels of this nonlinear filter.

The transformed patches are classified using the nearest-neighbor method with a majority vote paradigm over all patches. The class with the highest vote is determined, and the classification error percentage is calculated.

Tsai et al. [129] designed an initiative passive continuous authentication system based on both hard and soft biometrics such as face features and clothes’ color.

ABC algorithm is employed off-line to train a weighting mask for adjusting the value of the input feature and to determine the proper mask to adjust the input features. The cost function adopted in ABC algorithm to determined optimal mask weights is given by Eq. (48)

$$\begin{aligned} \min F(X) = \alpha \sum \limits _{\upsilon = 1}^u d_{\upsilon _{\mathrm{within}} } + \frac{1}{{\alpha \sum \nolimits _{\upsilon = 1}^u d _{\upsilon _{\mathrm{between}} } }} \end{aligned}$$
(48)

where \(\alpha \) is a constant scalar for adjusting the ratio of the within distance to the between distance. The trained weighting mask is used in the recognition process to calculate the inner product of the weighting mask and the distances between the test image and the images in the database. It was reported that the proposed method improved the face recognition accuracy about 3.13 % more than the Eigenface method with the regular PCA decomposition method.

3.16.3 Shape (hyperbole, circle) detection

Detecting target shapes is important in industrial applications to analyze the manufactured products or components in that shape automatically. Circular Hough transform is widely used for circle detection in digital images. However, it has some disadvantages such as high computational complexity, low-processing speed, and sensitivity to noisy conditions. This leads researchers to employ optimization methods in shape recognition.

Cuevas et al. [34] presented the multiple circular shape recognition problem as a multimodal optimization problem and proposed an approach based on ABC algorithm for automatic detection of multiple circular shapes.

Each candidate circle \(C\) corresponds to a food source in ABC algorithm and encoded as \(C={p_{i_1},p_{i_2},p_{i_3}}\) where \(i_1,i_2,i_3\) are indexes representing three edge points previously stored in vector \(P\). Such candidate circle \(C\) is labeled as a potential solution for the detection problem.

ABC algorithm searches the entire edge map looking for circular shapes \(C\). An objective function (Eq. 49) is used to measure the existence of a candidate circle over the edge map. The objective function \(J(C)\) gives the matching error produced between the pixels \(S\) of the circle candidate \(C\) and the pixels that actually exist in the edge image:

$$\begin{aligned} J(C) = 1 - \frac{{\sum \nolimits _{v = 1}^{Ns} {E(s_v )} }}{{N_s}} \end{aligned}$$
(49)

where \(N_s\) is the number of pixels lying on the perimeter corresponding to \(C\), and \(E(s_v)\) is defined by Eq. (50):

$$\begin{aligned} E(s_v ) = \left\{ {\begin{array}{ll} {1,} &{} \quad {\text {if the pixel }(x_v ,y_v )\text { is an edge point}} \\ {0,} &{} \quad {\text {otherwise}} \\ \end{array}} \right. \end{aligned}$$
(50)

Experimental evidence shows the effectiveness of the method for detecting circles under various conditions.

Fazli and Ghiri [43] implemented the Canny edge detector to generate the edge map from a gray-scale image and then used ABC algorithm to search the edge map for circle shape. In the approach, each food source represents circles as \((x_i,y_i,r_i)\) where \(x_i\) and \(y_i\) are the positions of \(i\)th circle, and \(r_i\) represents the radius of \(i\hbox {th}\) circle. Objective function is defined by Eq. (51):

$$\begin{aligned} f_i = 1 - \frac{{N_m }}{{N_c }} \end{aligned}$$
(51)

where \(N_m\) is the number of pixels that are exactly matched with the test circle, and \(N_c\) is the number of dots that we need to draw a circle with radius \(r_i\).

Authors tested the approach in the presence of noise and incomplete circles, and it was stated that this approach is robust enough to overcome such challenges.

Rahkar-Farshi et al. [105] used ABC algorithm to detect multiple hyperbolas. It is stated that the approach can detect multiple hyperbolas when noise exists or not.

3.17 Remote sensing, satellite images, hyperspectral images, and SAR images

In order to obtain 3D model of urban areas, light detection and ranging (LIDAR) systems are employed for capturing object surface information. Although LIDAR systems provide detailed valuable geometric information, these information still needs to be interpreted to make it practical for mapping purposes. Segmentation of LIDAR data through a clustering process converts the LIDAR data into objects. Saeedi et al. [110] employed ABC algorithm to find global solutions to the clustering problem of multidimensional LIDAR data in urban areas.

Ma et al. [90] presented an approach based on ABC algorithm to segment synthetic aperture radar (SAR) images affected by the speckle noise. In the proposed approach, optimal threshold values are determined by ABC algorithm. The original SAR image is decomposed by three-level discrete wavelet transform, and the approximation image is filtered by low-pass filter for noise reduction. A co-occurrence matrix is constructed based on the filtered image and the gradient image, which consists of high-frequency components, and ABC algorithm uses two-dimensional gray entropy to find appropriate threshold values.

Remote sensing elicits knowledge about earth surface and atmosphere, and land-cover mapping is a method for acquiring geospatial information from satellite data. Banerjee et al. [11] proposed to use ABC algorithm to solve the land-cover problem by image classification.

Arora et al. [9] combined biogeography-based optimization and ABC algorithm and applied this fusion of techniques for classifying diversified land-cover areas in a multispectral remote sensing satellite image.

Jia [59] combined fuzzy-c-means and ABC algorithm to detect the changes in remote sensingimages.

Liang and Ma [60] applied ABC algorithm to find optimal threshold values of infrared image or SAR images.

Soni et al. [122] introduced an approach for denoising of satellite image based on some evolutionary algorithms including ABC algorithm. In the approach, wavelet transform is applied to noisy image, and then, wavelet coefficients are filtered by appropriate threshold function parameters. Inverse wavelet transform is applied to thresholded coefficients to obtain the reconstructed image. Thresholding function parameters are determined by minimizing the mean square error.

Sun et al. [124] employed ABC algorithm to find the appropriate cluster centers of hyper-spectral images; and each pixel is assigned to a center according to a certain metric or rule.

Hung et al. [56] used a quantum-modelled ABC clustering algorithm for remotely sensed multiband image segmentation.

Praveena and Singh [104] proposed a hybrid clustering algorithm and feed-forward neural network classifier for land-cover mapping of trees, shade, building, and road. A preprocessed satellite image using median filter is segmented using the hybrid genetic-ABC algorithm, and a feed-forward neural network classifier classifies the image based on the features obtained from the segmented image. The objective function of the clustering process is intra-cluster distance.

Yan et al. [136] presented a stereo remote sensing feature selection method based on ABC algorithm. In the approach, remote sensing stereo information is defined by digital surface model (DSM) and optical image. 3D Zernike descriptors and features for representing optical characteristic need to be determined optimally to reduce redundant information and improve the classification accuracy. ABC algorithm is employed for the optimization purpose in the approach.

Bhandari et al. [18] introduced a new contrast enhancement approach for low-contrast satellite images based on ABC algorithm and discrete wavelet transform and singular value decomposition. In the approach, the input satellite image is decomposed into four subbands through by discrete wavelet transform, and then, each subband of wavelet transform is optimized through the ABC algorithm. Once a singular value matrix of the low–low thresholded subband image is estimated, and enhanced image is constructed by applying inverse DWT.

Ustun et al. [131] proposed a simple, stable, and robust method based on ABC algorithm for motion compensation to overcome the blurring problem in inverse synthetic aperture radar (ISAR) images. The minimum entropy is minimized through the ABC algorithm to determine the optimum parameters of velocity and acceleration.

Hanbay and Talu [48] introduced a synthetic aperture radar (SAR) image segmentation algorithm based on the neutrosophic set and improved ABC algorithm. In the approach, appropriate threshold value in a gray-scale interval is determined by ABC algorithm. First, the input SAR image is transformed into the neutrosophic set domain. Then, a neutrosophic \(T\) and \(I\) subset images are obtained, and a co-occurrence matrix is constructed. Two-dimensional gray entropy function is employed as the fitness function to be optimized by ABC algorithm. The approach was compared to genetic algorithm and artificial fish swarm algorithms in terms of computation time, convergence speed, and segmentation performance based on Pratt’s figure of merit (FOM) given by Eq. (52):

$$\begin{aligned} \hbox {FOM} = \frac{1}{{\max \left\{ {E_D ,E_I } \right\} }}\sum \nolimits _{i = 1}^{E_D } {\frac{1}{{1 + \alpha (d_i )}}} \end{aligned}$$
(52)

where \(E_D\) and \(E_I\) are the number of detected and ideal object edge pixels, respectively. \(d_i\) is the separation distance of the \(i\)th detected edge point normal to a line of ideal object points. \(\alpha \) is a scaling constant and was set to \(\alpha =1/9\) for a stronger penalization of misplaced edge points. The segmentation performance was compared to those of other well-known methods including ROEWA, MROEWA, MRGoA, EB-MRGoA, IRGS, C-MLL, and CHUMSIS. It was concluded that the proposed approach can be efficiently used in real-time SAR image processing to obtain right and noise-free object edges and improves the segmentation accuracy of the SAR image while reducing the influence of multiplicative speckle noise.

4 Applications of ABC algorithm to signal processing

4.1 Classification

Saadi et al. [108] classified ECG signals taken from MIT-BIH arrhythmia database into two categories: normal and pathological by using multilayer perceptron. To train multilayer perceptron network, ABC algorithm is utilized to determine optimum network weights by minimizing the mean square of error function. It was stated that ABC optimized multilayer perceptron with one hidden layer of five neurons is the most appropriate classifier.

Dilmac and Korurek [38] used ABC algorithm in ECG signal analysis taken from the MIT-BIH Arrhythmia database for arrhythmia classification. Fitness function used in the study is the summation of all minimum distances to all cluster centers gives.

4.2 Designing FIR/IIR filters

Filtering manipulates the frequency spectrum of a signal depending on some desired specifications. Digital filters can be broadly classified into two groups: recursive (infinite impulse response, IIR) and non-recursive(finite impulse response, FIR). A well-designed IIR filter can provide a much better performance than the FIR filter having the same number of coefficients.

Karaboga [69] employed ABC algorithm to determine filter coefficients of IIR filter. The input–output relation is defined by Eq. (53):

$$\begin{aligned} y(k) + \sum \limits _{i = 1}^M {a_i y(k - i)} = \sum \limits _{i = 0}^L {b_i x(k - i)} \end{aligned}$$
(53)

where \(x(k)\) and \(y(k)\) are the filter’s input and output, respectively, and \(M\) is the order of the filter. The design of the filter corresponds to minimizing the cost function \(J(w)\) defined by Eq. (54):

$$\begin{aligned} J(w) = \frac{1}{N}\sum \limits _{k = 1}^N {\left( {d(k) - y(k)} \right) ^2 } \end{aligned}$$
(54)

where \(w=[b_0 b_1 \ldots b_L a_1 a_2 \ldots a_M]^T\) is the vector of filter coefficients. ABC algorithm determines optimal \(w\) values by minimizing the cost function, \(J(w)\). It was concluded that ABC algorithm seems as an alternative approach for designing digital IIR filters.

Karaboga and Cetinkaya [72] design adaptive FIR and IIR filters by using ABC algorithm to eliminate the noises in electrocardiogram (ECG) signals. In the case of FIR filter design, sinusoidal noises with different frequencies are added to the ECG signal, while an additive white Gaussian noise (AWGN) is added in adaptive IIR filter design. ABC algorithm is used to adjust the adaptive filter coefficients in order to minimize the mean squared error. It was stated that ABC algorithm can successfully be used for designing adaptive FIR and IIR filters for noise cancellation.

Koza et al. [78] used IIR filter designed by ABC algorithm for aort valve Doppler signal-to-noise elimination.

Durmus et al. [41] proposed an incremental ABC with local search (IABCLS) to design digital IIR filter for parameter identification. In the employed bees’ and onlooker bees’ phases, instead of mutating the selected food source with a randomly selected food source, each bee searches in vicinity of the best-so-far solution. Powell’s conjugate direction set (CDS) procedure is used as the local search. In the scout bee phase, the abandoned food source is replaced with a solution produced by Eq. (55):

$$\begin{aligned} x'_{ij} = x_{\mathrm{best},j} + R_{\mathrm{factor}} \left( x_{\mathrm{best},j} - x_{ij} \right) \end{aligned}$$
(55)

where \(R_{\mathrm{factor}}\) is the replacement factor coefficient, which controls how much the new food source location would be close to the best-so-far food source.

At the end of each iteration, algorithm decides whether the size of the population will be incremented or not. If it will, a new food source is placed toward the location of the best-so-far solution.

$$\begin{aligned} x'_{ij} = x_{ij} + rand[0,1]\left( x_{\mathrm{best},j} - x_{ij} \right) \end{aligned}$$
(56)

where \( x_{ij}\) is the randomly generated location of the new food source, \(x_{\mathrm{best},j}\) is the best-so-far food source location, and \(x'_{ij}\) denotes the updated location of food source biased \(x_{\mathrm{best},j}\) at dimension \(j\).

Zhao et al. [153] used ABC algorithm for designing FIR digital filter and IIR digital filter with some adaptive measures to enhance its performance.

Karaboga and Latifoglu [74] designed IIR filter by using ABC algorithm and employed the filter for noise elimination on the transcranial Doppler signal.

Karaboga and Latifoglu [73] proposed adaptive IIR design for noise elimination because heart waves are commonly non-stationary due to their statistical specifications.

Ahirwal et al. [2] defined an ABC algorithm with modified range selection and applied ABC to construct adaptive noise canceller for electroencephalogram(EEG)/event-related potential(ERP) filtering. Performance of the algorithm is evaluated in terms of signal-to-noise ratio(SNR) in dB, correlation between resultant and template ERP, and the mean value difference. Testing of their noise attenuation capability is carried out on contaminated ERP with white noise at different SNR levels. White Gaussian noise is used as background noise. In the work, ABC algorithm is employed to determine the optimum weights of adaptive noise canceller to minimize the mean square error.

4.3 Direction finding

Direction of arrival estimation, also known as direction finding, has a wide range of applications in passive detection, radar and communications in signal processing field. Zhao et al. [152] introduced a robust method of direction finding for the impulsive noise environment. Based on virtual multielement uniform linear array and reconstructed fractional lower-order covariance matrix, a novel maximum likelihood algorithm is proposed. ABC algorithm is applied to fit the proposed direction finding algorithm based on the minimum redundant array and fractional lower-order covariance matrix. Objective function is defined by Eq. (57):

$$\begin{aligned} f(\theta ) = trace[P_B \bar{C}] \end{aligned}$$
(57)

where \(P_B\) is the projection matrix, and \(\bar{C}\) is the fractional lower-order covariance matrix of the virtual uniform linear array.

4.4 Communication

In telecommunication, a channel access method allows several terminals connected to the same multipoint transmission medium to transmit over it. There are various channel access methods: frequency-division, time-division, code-division, space-division multiple access methods. In these methods, high peak-to-average power ratio (PAPR) of the signal causes signal distortion. Hence, the PAPR needs to be reduced to eliminate nonlinear distortion effects and to enhance the power efficiency of the high-power amplifier. Determining the optimal phase vector yields to reduce PAPR value. Although traditional partial transmit sequences (PTSs) are efficient in PAPR reduction, their computational complexity leads researchers to find alternative tools to reduce PAPR.

Taspinar et al. [126] proposed a PTS-based ABC algorithm to reduce the computational complexity of the PTS in the OFDM system.

In the PTS, the input data vector X is partitioned into V disjointed subblocks. The subblock vectors are oversampled by \((L - 1)N\) zero padding to measure the continuous-time value of the PAPR. Oversampled subblocks are subjected to inverse fast Fourier transform (IFFT) operating with size \(LN\). Each subblock is rotated by phase factors \(b_\upsilon = e^{j\phi }\), where \( \phi \in [0,2\pi )\) , and finally, the subblocks are summed, and then, the OFDM signal is defined by Eq. (58):

$$\begin{aligned} x'(n) = \sum \limits _{\upsilon = 0}^{V - 1} {b_\upsilon x^{(\upsilon )}} \end{aligned}$$
(58)

The aim here was to determine the optimal phase factors \(b_\upsilon \). In ABC algorithm, a food source corresponds to the phase factors, and the PAPR value is considered as objective function to be minimized. It was concluded that the ABC-PTS has less computational complexity compared to the random search-PTS.

Taspinar et al. [127] used ABC algorithm to determine optimal phase factors in multicarrier code-division multiple access (MC-CDMA) system. It was stated that ABC-PTS is efficient and is nearly independent of the parameters.

Seyman and Taspinar [115] applied ABC algorithm to optimize the placement of pilot tones in MIMO–OFDM systems. In ABC algorithm, a food source represents locations of the pilot tones. Authors derived an upper bound of mean square error for the least square channel estimator with the help of Gerschgorin circle theorem and used it as fitness function (Eq. (59)) in ABC algorithm.

$$\begin{aligned} \hbox {fitness} = \frac{{\max \left( \sum \nolimits _{j = 1,j \ne i}^L {\left| {b_{ij}} \right| } \right) }}{P} \end{aligned}$$
(59)

where \(P\) is fixed power dedicated for pilot tone, and the numerator of the fitness function is the maximum radius of Gerschgorin disc. It was stated that the proposed approach performs better than the random, the orthogonal, and particle swarm optimization-based placement strategies for various Doppler shifts and has less computational complexity.

Malekzadeh et al. [92] presented a new approach based on ABC algorithm to design orthogonal discrete frequency coding waveforms, which have desirable autocorrelation and cross-correlation characteristic for orthogonal MIMO radars.

4.5 Source separation

The main purpose of the source separation is to recover the source signal \(S\) from the received signal \(Y\) coming from an unknown mixing system. For this purpose, separating matrix \(W\) should be found, and it should be multiplied with the mixed matrix, \(M\), to obtain the estimated signal \(S^*\).

Jain and Rai [58] aimed to use ABC algorithm to determine the elements of \(W\) matrix, and Eq. (60) is employed as cost function to be minimized.

$$\begin{aligned} I(Y) = \sum \limits _{i = 1}^p {H(y_i ) - H \left( y_1 ,y_2 , \ldots ,y_p \right) } \end{aligned}$$
(60)

where \(H\) is the entropy of mixed signals. Euclidean distance is also used as evaluation metric. It was concluded that experiments validated the efficiency of the proposed approach.

4.6 Frequency estimation

In the field of signal processing, it is required to estimate the parameters such as the directions, distances, and speeds of multiple moving targets from the sample data. The direction of arrivaland the Doppler frequency of the targets are two important parameters that are used to recognize the targets.

Zhang et al. [145, 149] proposed a method based on ABC algorithm to get accurate asymptotic unbiased estimation of direction of arrivals and Doppler frequencies with lower computation load for weighted subspace fitting. Finding direction of arrival and Doppler can be expressed as an optimization problem as given in Eq. (61):

$$\begin{aligned} \left\{ {\hat{\theta } ,\hat{\omega } } \right\} = \mathop {\max }\limits _{\theta ,\omega } Tr\left\{ {P_\varGamma \hat{U}_S W_{opt} \hat{U}_S^H } \right\} \end{aligned}$$
(61)

where \(P_\varGamma \) is the projection matrix of \(\varGamma _K\), \(\hat{U}_S\) is the estimation of signal subspace, \(W_{opt}\) is optimally weighted matrix, and \(Tr\left\{ \cdot \right\} \) indicates the trace of matrix. It was concluded that the proposed method has the characteristics such as high accuracy, robustness, small numbers of control terms and automatically parameter pairing, and it is suitable for non-uniform linear array.

5 Applications of ABC algorithm to video processing

Although there are many studies on the applications of ABC algorithm in the image processing area, the number of the studies related to ABC algorithm in video processing area is very restricted.

5.1 Motion estimation

Cuevas et al. [35] used ABC algorithm to reduce the number of search locations in the block-matching process used for motion estimation. In block-matching process, image frames in a video sequence are divided into blocks. For each block in the current frame, finding the best matching block inside a region of the previous frame is considered as an optimization problem. In the approach, in order to approximate the actual fitness function, a local fitness estimation scheme is carried out based on the nearest-neighbor interpolation. It was concluded that the proposed approach can substantially reduce the number of function evaluations, yet preserving the good search capabilities of ABC.

5.2 Moving target detection

Lei et al. [83] introduced a moving target detection method based on ABC algorithm. Kurtosis criterion is selected for independent component analysis, and ABC algorithm is used for optimizing the objective function based on kurtosis. Irrelevant signal component is removed from sequence images using decorrelation method, and the moving target trajectory is extracted. It was noted that the proposed method can achieve good results for finding out the trajectory of the moving target.

5.3 Video watermarking

Yang and Zheng [137] proposed a video watermarking scheme based on ABC algorithm and discrete cosine transform. It was concluded that the proposed approach is effective and resistent to the watermark copy attack.

People also try to store their video data as a contour of binary waves as well as their images. In order to eliminate a prohibited course of action, Beno et al. [16] proposed an efficient optimal robust video steganography technique using the biorthogonal wavelet transform incorporated with a hybrid model of ABC algorithm with genetic algorithm.

First, the video is segmented based on the distance between two frames, and the frames are partitioned using the segmented shots. Then, the blue component is extracted from each frame. These blue components utilize the BWT for band decomposition. Here, the single-level decomposition is used. After decomposition, the process of embedding the image is done with the help of ABC-GA. After that, inverse BWT is applied to retrieve the stegano video. Then, BWT is used again for the stegano video in order to retrieve information from the stegano video. The extracted image and the original informative image are utilized to attain an optimal value for NC. Optimization approach is utilized to attain the best fitness value in the embedding and extraction processes. Analysis on the proposed technique is carried out with respect to the peak signal-to-noise ratio (PSNR) and the normalized correlation.

6 Discussion and conclusion

Signal, image, and video processing fields have some problems and methods that can be treated as an optimization problem. Although there are state-of-the-art methods dedicated to solve these problems, as mentioned in the previous sections, they have some disadvantages such as being based on some assumptions, intolerance, or sensitivity to noisy conditions, sensitivity to initial conditions, having high computational cost, having some parameters to be fine-tuned, having low-processing speed, getting trapped to local minima, and the performance dependency to the shape of histogram. These reasons have led the researchers to use alternative optimization tools. ABC algorithm is a powerful optimization tool used for many optimization problems in different research fields [63, 68] as well as in signal, image, and video processings.

In this study, we conducted a systematic, detailed review to obtain the relevant literature on the applications of ABC algorithm in signal, image, and video processing areas by using the text search and forward references search based on the first articles published on ABC algorithm. Totaly, 133 papers published between 2009 and 2014 have been reviewed. The number of papers is 4, 4, 15, 35, 35, and 40 in years 2009, 2010, 2011, 2012, 2013, and 2014, respectively. It can be noted that the number of papers produced in the field of signal, image, and video processings with ABC increases year by year.

Of 133 papers, 110 papers are on the applications of ABC in image processing, 19 papers are about signal processing, and 4 of the papers are related to the video processing studies. ABC algorithm has been applied to image enhancement, compression, thresholding, classification, clustering, feature extraction and selection, image registration, steganalysis, image retrieval, watermarking, fusion, restoration, denoising, pattern generation, template matching, edge detection, pattern recognition, face recognition, remote sensing, shape detection, designing FIR/IIR filters, source separation, frequency estimation, motion estimation, moving target detection, and video watermarking. It can be stated that ABC algorithm has been mostly used in thresholding, clustering, and remote sensing fields. In image processing area, image registration, image fusion, feature selection, image steganalysis, and image watermarking have been relatively less studied subjects by using ABC algorithm and hence, they are still open subjects to researchers. Signal and video processing areas are also still open to be integrated with ABC algorithm. Difficult optimization problems in these areas might be easily and efficiently solved by means of the advantages of ABC algorithm.

We hope that this paper will be very helpful for the researchers who are currently working or will work in the signal, image, and video processing areas by guiding them about how ABC algorithm or an optimization tool can be used for the problems in these fields. As seen from the studies given in the previous sections, there still remain plenty of fields to be studied and many interesting research challenges ahead that can be overcome by the use of ABC algorithm.