Literature DB >> 27047729

Advances on image interpolation based on ant colony algorithm.

Olivier Rukundo1, Hanqiang Cao2.   

Abstract

This paper presents an advance on image interpolation based on ant colony algorithm (AACA) for high resolution image scaling. The difference between the proposed algorithm and the previously proposed optimization of bilinear interpolation based on ant colony algorithm (OBACA) is that AACA uses global weighting, whereas OBACA uses local weighting scheme. The strength of the proposed global weighting of AACA algorithm depends on employing solely the pheromone matrix information present on any group of four adjacent pixels to decide which case deserves a maximum global weight value or not. Experimental results are further provided to show the higher performance of the proposed AACA algorithm with reference to the algorithms mentioned in this paper.

Entities:  

Keywords:  Ant colony optimization; Global weight; High resolution; Image interpolation; Local weight

Year:  2016        PMID: 27047729      PMCID: PMC4816965          DOI: 10.1186/s40064-016-2040-9

Source DB:  PubMed          Journal:  Springerplus        ISSN: 2193-1801


Background

Ant colony (optimization) algorithm, as most of the bio-inspired computational techniques, provides a very good solution to difficult optimization problems (Dorigo and Stutzle 2004). Techniques based on this nature-inspired approach have been widely applied in many engineering areas including image processing though their applications for image interpolation purposes are still few. The most common issue in image interpolation is the low-pass filtering process which reduces, to some degree, the resolution of interpolated image. However, high resolution image interpolation process has been a problem of prime importance in many fields due to its wide application in satellite imagery, biomedical imaging, particularly in military and consumer electronics domains. In our previous work (Rukundo et al. 2011), ant colony optimization has been used to reinforce locally the traditional bilinear weighting scheme, in order to achieve a higher resolution interpolation. Furthermore, in Tian et al. (2011), it has been applied to classify each wavelet coefficient into one of the Gaussian component, positive exponential and negative exponential components, before estimating the parameters of each component, but this is beyond the scope of this paper. The local weighting scheme used in our previous work improved the peak signal to noise ratio (PSNR). However, that scheme could not avoid the influence of isotropic weighting of the conventional bilinear. Such isotropic weighting is responsible for many blurring artefacts which make the interpolated image look smoother than the original, thus reducing its resolution. As a solution, we propose a global weighting scheme which employs the pheromone matrix information solely, present on any group of four adjacent pixels, to decide which case deserves a maximum global weight value or not. This paper is organized as follows: first section is the “Background”; second section introduces the “Ant colony (optimization) algorithm”; third section presents “The proposed global weighting scheme”; fourth section gives the “Experimental results” and last section the “Conclusion and recommendations”.

Ant colony (optimization) algorithm

Dorigo and Gambardella (1997) introduced modifications in ant system (AS) to increase its performance (Dorigo et al. 1991), and be able to find a very good solution to difficult optimization problems. Such modifications are: (a) a different transition rule; (b) different pheromone trail updating rules: global and local; and (c) a candidate list to restrict the choice of the next node to visit (Dorigo and Gambardella 1997), (Dorigo and Stutzle 2004).

Ant colony optimization state transition rule

Figure 1 shows an ant arriving in node i, while Table 1 shows the pseudocode of the implementation process. As shown in Fig. 1, the ant chooses the next node to move to as a function of the pheromone values and the heuristic values on the arcs connecting node i to the nodes j the ant has not visited yet.
Fig. 1

The selection of the node

Table 1

A pseudocode of implementation

Do initialization procedures
for each iteration n = 1:N do
for each construction_step l = 1:L do
for each ant k = 1:K do
Select and go to next pixel according to exploitation and exploration mechanism
Apply the local pixel’s updating rule
end
end
Apply the global updating rule using the best visited pixels’ pheromones
end
Decide a global weight based the best visited pixel’s pheromone information
End
The selection of the node A pseudocode of implementation The next node is chosen among the non-visited nodes according to the following pseudorandom proportional rule, in which the transition probability depends on a random variable q that is uniformly distributed over [0, 1] and a control parameter If then the transition that maximizes is chosen otherwise, and the probabilistic decision rule, Eq. (1) with is used. The value of determines the degree of exploration of the ants: with probability the ant chooses the transition with the highest while with probability it performs a biased exploration of the edges. The balance between biased exploration and pheromone exploitation can be tweaked by adjusting the value of In Eq. (1), is the amount of pheromone deposited for transition from state i to state j. and are parameters to control the influence of and respectively. is the desirability of the state transition and is equal to where d is the distance in Traveling Salesman Problem (TSP). The represents an acceptable neighborhood for an ant k while being at city i (here, the probability of selecting a city outside acceptable neighborhood is zero).

Ant colony optimization pheromone trail updating

Local updating

Ants use a local pheromone update rule after leaving the arc during the construction process as follows:where is the current value of the pheromone trails at and is the initial value for the pheromone trails.

Global updating

The best ant reinforces its tour by depositing additional pheromone trails along the tour lengthwhere (here, is the best-so-far tour) and represent the pheromone evaporation. For this case, the computational complexity is reduced from to (where n is the instance being solved) by only performing the pheromone updates to the arc of (not to all arcs as in ant system).

Ant colony optimization candidate list

A candidate list is a list of preferred cities to visit. Instead of examining all the cities, non-visited cities are examined first. This list is ordered by increasing distance and helps to select the next city when other cities have been visited.

Previous works on ant colony optimization for image interpolation

Tian et al. (2011) proposed a wavelet-based technique, employing ant colony optimization, for image interpolation. Firstly, a J-level wavelet decomposition was applied on the input low-resolution image. The proposed TCEM model was used to formulate the statistical distribution of the above J-level wavelet coefficients and the model parameters of the proposed TCEM model were estimated using the ant colony optimization. The distribution of the desired high-pass filtered wavelet coefficient in the 0th level subband was estimated and then generated the 0th level wavelet coefficients. Finally, the (J + 1)-level inverse wavelet transform was applied to produce the final reconstructed image. Experiments, using grayscale test images, were conducted to compare the performance of the proposed approach with that of algorithm mentioned. However, the basic wavelet based technique idea used in Tian et al. (2011) is beyond the scope of this paper. Rukundo et al. (2011) applied ant colony optimization pheromone information to supplement the bilinear isotropic weighting scheme in order to achieve improved (or higher) resolution results. Here, ant colony optimization was used to construct the pheromone matrix and then find the pixels on which more pheromone information was deposited. This pheromone matrix information was used to strengthen the traditional bilinear algorithm weighting scheme shown in Eq. (4).where represents the coordinates of unknown-value location, and are coordinates of each of the four (known-value) pixels surrounding location.Our previous OBACA algorithm used the pheromone matrix information (obtained after both updates were performed), to create additional but necessary weights. In other words, the pheromone matrix information was assigned on every pixel with reference to the neighboring pixels intensity variations. The pheromone information attached to each pixel became its weight, to locally supplement the traditional bilinear weighting scheme, as shown in Eq. (6),where represent the pheromone information at and respectively. In this way, OBACA achieved higher PSNR or image quality when compared to that of the traditional bilinear. However, it could not avoid the influence of isotropic weighting of the conventional bilinear which is responsible for smoothing/blurring the output/interpolated images, thus reducing their resolutions. This is the aim of our research to develop a global weighting scheme whose basic function is shown by Eq. (7), where the global weight produced by ant colony optimization algorithm.Furthermore, the developed weighting scheme considers “the characteristics of pheromone information locality” in order to assign that global weight thus achieves a higher resolution image interpolation.

The proposed global weighting scheme

As shown by Eq. (7), is the global weight which is applied to a group of pixels surrounding directly an unknown-value location. This global weight is a function of pheromone matrix information on that/each group of four pixels (see Fig. 2b). Now, the problem is how to find the pheromone information present on each group. To solve this problem, we started by constructing the pheromone matrix and then we checked possibilities of the partial or full simultaneous presence of the pheromone trails information at the four pixels/locations surrounding directly the unknown-value location .
Fig. 2

a Lenna image. b Example of a two-dimensional representation with the pheromone information P assigned on each image pixel location

a Lenna image. b Example of a two-dimensional representation with the pheromone information P assigned on each image pixel location

Pheromone matrix construction

Initially a pheromone value is assigned to every pixel location (see Fig. 3a) and, ants are randomly distributed on image before moving artificial ants for a certain number of steps on that image.
Fig. 3

a Initial pheromone matrix look. Initially, the pheromone value for each matrix element is set to a non-zero constant, b the 8-connectivity neighborhood and possible ant’s direction movement

a Initial pheromone matrix look. Initially, the pheromone value for each matrix element is set to a non-zero constant, b the 8-connectivity neighborhood and possible ant’s direction movement The ants’ movements are/will be steered by the intensity variation of the grayscale pixels (within a permissible range of 8-connectivity neighborhood around as shown in Fig. 3b. The nth ant’s move from a departing pixel’s position located within acceptable (8-connectivity) neighborhood depends on the attractiveness of any adjacent pixel [e.g.] and the pheromone trail information on it. Therefore, an ant will make a nth move from any pixel to an adjacent pixel according to the pseudorandom proportional rule. The transition probability will be given by Eq. (8)where is the pheromone value on the pixel is an acceptable neighborhood for the pixel is the heuristic information on the pixel the pheromone and heuristic information constants and are always positive. Each time an ant visits a pixel, it automatically performs a local update on the adjacent pixel. The amount of pheromone on the pixel at the nth iteration, is calculated using the local pheromone update Eq. (9)where is the pheromone decay coefficient. In each iteration, the pheromone trail value changes because local updates are provided together with the solution construction process. As mentioned, the ant’s permissible range of movements is situated within the 8-connectivity neighborhood, see Fig. 3b. An ant can move to an adjacent pixel on the condition that it moves to a pixel that was not recently visited by any other ants. This condition is backed by an artificial memory assigned to each ant so that it can keep records of every visited pixel. After all ants have completed the construction process, a global pheromone update is performed only on the pixels that have been visited by at least one ant according to Eq. (10)where is the amount of pheromone deposited by the kth ant on the pixel This amount is equal to the average of heuristic information associated with the pixels that belong to the tour of the kth ant if the pixel was visited by the kth ant in its current tour, otherwise the amount is the pheromone evaporation rate; K is the number of ants which can be determined by Eq. (11).As the value for depends on the heuristic information, at the can be given by Eq. (12)where is the intensity value of a pixel at is the normalization factor; is the function that operates on the 8-connectivity pixels neighborhood. The value of that function depends on the variation of the pixel’s intensity values and can be given by Eq. (13)

Max and mean global weighting scheme

This is a very important step of our proposed algorithm. The max function returns the greatest element value in a data set whereas the mean returns the average of elements values. Equation (10) gives the pheromone value or level on mostly visited pixel locations. However, it has been experimentally upgraded to Eq. (14) in order to yield viewable results.Intuitively, assigning a direct the global weight, as shown by Eq. (7), would not permit to reduce the low-pass filtering process which reduces image resolution. However, in order to achieve higher resolution or quality image interpolation, we have introduced a weighting scheme which employs solely the Eq. (14) pheromone information, present on any group of four adjacent pixels, to decide which interpolated pixel that needs the maximum global weight or not. Now, with reference to Fig. 4 and Eq. (12), we can estimate the desirability of an ant to select the next pixel using the function
Fig. 4

The estimation of an ant to select the next pixel

The estimation of an ant to select the next pixel For instance, Fig. 4 shows that an ant belonging to the upper left black pixel dot 30 (15), where 30 is the pixel value and 15 is value, has eight choices in which the best one (i.e. one having the highest value) is acceptable, if and only if it has not been chosen by any (other) ants. In this way, the ant will follow the blue, purple or green arrows depending on where it was initially put or randomly distributed. Their moves along those arrows shows that the pheromone information can be present (at least) at three, two and one locations in a group (of four pixels), because every time an ant moves, it drops the pheromone trails on the visited pixel or location. Now, the next problem is how reasonably to assign the global weight in each (simultaneous pheromone trails presence) case. To settle this, we label p1, p2, p3 and p4 as the pheromone information on each pixel position surrounding directly the unknown-value location shown in Fig. 5, and that A, B, C and Dare different levels or value that p1, p2, p3 and p4 can have. Let us now make S a set containing the pheromone trails information p1, p2, p3 and p4 as shown by Eq. (15).In order to reduce reasonably the low-pass filtering process in our algorithm we used max and mean functions to assign reasonably the global weight with reference to possible partial or full simultaneous presence of the pheromone trails information at the four locations surrounding directly the unknown-value location .
Fig. 5

Pheromones trails around the unknown-value location

Pheromones trails around the unknown-value location

Assumption 1

When (all pheromone trails information around have the same level).AndHere, there is no special requirement for assigning the highest level of pheromone trails. Therefore, any of two weighting procedures can be used, my experimental choice is given by Eq. (18)

Assumption 2

When (one of the four pheromone trails information around has a different level).AndHere, a highest level of pheromone trails can be assigned reasonably only when since it is only in this case where you can find one location having the lowest pheromone trail level. For this reason, the global weight is given by Eq. (21)

Assumption 3

When (only two of the four pheromone trails information around have the same level).AndA highest level of pheromone trails can be assigned reasonably only when because it is in this case where you can only find a biggest number of locations with the highest pheromone trail level, at the same time. Therefore, the max weighting is given by Eq. (24)

Assumption 4

When (all pheromone trails information around have different levels).AndHere, a mean-based weighting procedure is preferable in order to avoid any possible influence of a strong noise intrusion. Therefore, the global weight is given by Eq. (27)

Assumption 5

When (every two pheromone trails information around have the same level).AndA highest level of pheromone trails can be assigned reasonably only when and therefore, the max weighting is given by Eq. (29)

Parameter selection

The ant colony optimization has many parameters that need to be properly selected in order to increase the strength of the proposed algorithm. In this regard, the proper selection of parameters and helps to determine the relative influence of the pheromone trail and the path visibility. Information in image content is always more important than in pheromone trail, thus, is a general selection and our experiments adopt as in Tian et al. (2011). Other parameters such as and determine the pheromone trail change, where is the initial value for the pheromone trails and this value is always non-zero though very close to zero. and are adaptation parameters. Our experiment adopt and Finally, the number of iterations, ants and memory size are also important parameters which deserve a proper selection. Note that a large number of iterations tend to increase the image edges sharpness but at very high computational load plus a possibility of generating too many false edge pixels. Furthermore, with a higher number of iterations, the change in image quality is not significant as it can be imagined intuitively. Artificial ant’s memory size can be determined by Eq. (31) to ensure that each ant is assigned a big enough memory to record all ‘visitable’ pixels.Experimentally, we found that the number of iterations ranging from 1 to 10, the number of ants given by Eq. (11) and the memory size given by Eq. (31) are adequate parameter values for yielding interpolated images in their most pleasant way within a tolerable computational load.

Summary of the proposed algorithm

Figure 6 shows a summary of the proposed AACA algorithm. The proposed algorithm includes two important steps namely, the pheromone matrix construction and global weighting scheme.
Fig. 6

Summary of the proposed algorithm

Summary of the proposed algorithm The proposed approach provides better results than our previously proposed methods as well as the interpolation algorithms mentioned in this paper. The novelty in this approach is a weighting scheme involved in its process. This scheme is based on global weight assignment rather than local. It uses the max and mean functions to adapt adequately the global weight to an interpolated pixel with reference to partial or full simultaneous presence of the pheromone trails information (at the four locations). This is done to reduce reasonably the low-pass filtering process thus achieve a HR image interpolation.

Experimental results

This section presents the results from the experiments conducted. The performance of the proposed approach was compared with that of the previous works, two traditional interpolation algorithms executed by MATLAB toolbox and new edge directed interpolation algorithm proposed/whose details are given in Li and Orchard (2001). Two image quality assessment measures used are: Peak Signal to Noise Ratio (PSNR) and Mean Squared Error (MSE). A higher PSNR would normally indicate the higher quality of the output image whereas a higher MSE would indicate the interpolator’s weakness to reconstruct faithfully an image. Tables 2 and 3 provide the MSE and PSNR values for interpolated Lenna, Cameraman, Lake and Peppers test images. However, Figs. 7, 8, 9 and 10 show these images after being interpolated using the bilinear, bicubic, OBACA, Nearest Neighbor Value Interpolation (NNV) proposed in Rukundo and Cao (2012) and AACA interpolation algorithms presented in this paper. Furthermore, Figs. 11, 12, 13 and 14 show the portions of Lenna, Lake, Peppers and Cameraman images interpolated using New Edge Directed Interpolation (NEDI) and AACA. The PSNR and MSE were provided in the caption of Figs. 11, 12, 13 and 14.
Table 2

MSE of the interpolated images (128 × 512)

ImagesMethodsValues
CameramanBilinear25.2190
Bicubic24.9344
OBACA21.9463
NNV20.9192
AACA17.4473
LennaBilinear23.0509
Bicubic22.1158
OBACA15.9800
NNV14.9963
AACA10.6305
LakeBilinear43.2509
Bicubic42.5583
OBACA39.8727
NNV38.7641
AACA33.6966
PeppersBilinear27.1935
Bicubic26.8901
OBACA22.9027
NNV21.2183
AACA17.7068
Table 3

PSNR of the interpolated images (128 × 512)

ImagesMethodsValues (dB)
CameramanBilinear34.1135
Bicubic34.1628
OBACA34.7172
NNV35.5267
AACA35.7135
LennaBilinear34.5039
Bicubic34.6838
OBACA36.0950
NNV36.1891
AACA37.8653
LakeBilinear31.7708
Bicubic31.8410
OBACA32.1240
NNV32.1377
AACA32.8549
PeppersBilinear33.7862
Bicubic33.8349
OBACA34.5319
NNV34.5559
AACA35.6494
Fig. 7

a Interpolated image by AACA, b interpolated image by NNV, c interpolated image by OBACA, d interpolated image by bicubic, and e interpolated image by bilinear algorithm

Fig. 8

a Interpolated image by AACA, b interpolated image by NNV, c interpolated image by OBACA, d interpolated image by bicubic, and e interpolated image by bilinear algorithm

Fig. 9

a Interpolated image by AACA, b interpolated image by NNV, c interpolated image by OBACA, d interpolated image by bicubic, and e interpolated image by bilinear algorithm

Fig. 10

a Interpolated image by AACA, b interpolated image by NNV, c interpolated image by OBACA, d interpolated image by bicubic, and e interpolated image by bilinear algorithm

Fig. 11

a Interpolated image by AACA (PSNR = 39.2180, MSE = 7.7853), b interpolated image by NEDI (PSNR = 37.1192, MSE = 12.6229)

Fig. 12

a Interpolated image by AACA (PSNR = 37.9615, MSE = 10.3976), b interpolated image by NEDI (PSNR = 35.9885, MSE = 16.3769)

Fig. 13

a Interpolated image by AACA (PSNR = 40.1928, MSE = 6.2201), b interpolated image by NEDI (PSNR = 37.8635, MSE = 10.6348)

Fig. 14

a Interpolated image by AACA (PSNR = 40.1144, MSE = 6.3334), b interpolated image by NEDI (PSNR = 37.4861, MSE = 11.6003)

MSE of the interpolated images (128 × 512) PSNR of the interpolated images (128 × 512) a Interpolated image by AACA, b interpolated image by NNV, c interpolated image by OBACA, d interpolated image by bicubic, and e interpolated image by bilinear algorithm a Interpolated image by AACA, b interpolated image by NNV, c interpolated image by OBACA, d interpolated image by bicubic, and e interpolated image by bilinear algorithm a Interpolated image by AACA, b interpolated image by NNV, c interpolated image by OBACA, d interpolated image by bicubic, and e interpolated image by bilinear algorithm a Interpolated image by AACA, b interpolated image by NNV, c interpolated image by OBACA, d interpolated image by bicubic, and e interpolated image by bilinear algorithm a Interpolated image by AACA (PSNR = 39.2180, MSE = 7.7853), b interpolated image by NEDI (PSNR = 37.1192, MSE = 12.6229) a Interpolated image by AACA (PSNR = 37.9615, MSE = 10.3976), b interpolated image by NEDI (PSNR = 35.9885, MSE = 16.3769) a Interpolated image by AACA (PSNR = 40.1928, MSE = 6.2201), b interpolated image by NEDI (PSNR = 37.8635, MSE = 10.6348) a Interpolated image by AACA (PSNR = 40.1144, MSE = 6.3334), b interpolated image by NEDI (PSNR = 37.4861, MSE = 11.6003)

Conclusions and recommendations

An advance on image interpolation based on ant colony algorithm has been presented in this paper. Unlike our previous OBACA algorithm, which employed a local weighting scheme, the presented AACA algorithm used however a novel global weighting scheme. The strength of the proposed global weighting depended on employing solely the pheromone matrix information, present on any group of four adjacent pixels, to decide which case deserves a maximum global weight value or not. The use of max and mean global weight values has shown that the proposed AACA algorithm is able to reduce the interpolation errors with reference to the original image. This was proved by the experiments conducted on full and partial Cameraman, Lenna, Lake and Peppers test images. More particularly, it has been shown by higher quality/resolution images yielded by AACA algorithm than other algorithms mentioned in this paper. The future development of the proposed approach may be devoted to settling the computational load issue by restricting the movements of ants on some parts of an image.
  1 in total

1.  New edge-directed interpolation.

Authors:  X Li; M T Orchard
Journal:  IEEE Trans Image Process       Date:  2001       Impact factor: 10.856

  1 in total
  1 in total

1.  Advanced Image Enhancement Method for Distant Vessels and Structures in Capsule Endoscopy.

Authors:  Olivier Rukundo; Marius Pedersen; Øistein Hovde
Journal:  Comput Math Methods Med       Date:  2017-10-31       Impact factor: 2.238

  1 in total

北京卡尤迪生物科技股份有限公司 © 2022-2023.