Applying Artificial Bee Colony Algorithm for feature optimization in UAV Navigation

In this paper, the bee colony algorithm is used for optimizing features which have been extracted from UAV’s digital camera by SURF algorithm. To do that, the local map is stored in UAV memory before flight. During flight, images will be captured by a digital camera and the features in successive image will be extracted using SURF algorithm because SURF algorithm is considered highly insensitive to environmental light, scale changes and noise. Then, the extracted features will be optimized using the bee colony algorithm and will be compared with the original map features to find the location and direction of UAV. Simulations show that proposed algorithm has good precision and is robust to scale changes, light intensity variations, and noise.


Introduction
Navigation is one of those topics that have an old and important history for human (Moghtadai Rad, & et al, 2012). Navigation is the science of determining the position and orientation of an object. It used to mean the positioning in sea, however, with the beginning of aerial and spatial travels, this word is also used as positioning in the air, sea, land or space. In the beginning, navigation was performed using celestial bodies and magnetic compass. It was based on the visual observation and was integrated by mapping and drawing tools (Nobahari, Karimi, 2012). When human managed to launch satellite to space, GPS navigation was also applied in most of vehicles on the land, in the air or sea (Ali, 2010).
Flying objects guidance and navigation, especially the unmanned types, are among today's challenges. Many flying objects use inertial navigation system and/or global positioning system to determine their location. According to inherent error growing during flight in inertial navigation systems and lack of trust to GPS, particularly in critical military situations, image data have been considered in navigation systems (Roz Zadeh, & et al, 2012).
In navigation method based on image processing, several images of UAV path of flight are stored in UAV memory before flight. During flight, received images from UAV camera are compared with stored image and the location of the UAV will be determined accordingly.
There are two popular methods for navigation systems based on image processing: Image matching: In this method, a matching will be found between the stored image of area and the image captured by UAV camera to estimate UAV's position Spatial slicing: In this method, there is only a scattered 3-D point or a linear model of area available. This technique is used to model objects with simple geometry. The image based navigation challenge is to expand intelligent algorithms in complex situations (Tolui, et al, 2015).
In this paper, in order to obtain an efficient method we will extract proper features from the images first, then, we will use the bee colony algorithm to optimize these features. Finally we match extracted features from images with each other. In section 2, the feature extraction algorithm is explained, in section 3, the bee colony optimization method is explained, and simulation results are shown in section 4. Section 5 is dedicated to concluding remarks.

Features extraction
Extracted features from images can be divided into two major groups: 1-Features based on objects' edges that are named as edge features. This works in a way that the images edge designs and schemes are extracted to determine an object's features by its edges. Edges are robust features which are resistant to the objects' color variations, light intensity, and external texture, hence, changes do not affect these edges. On the other hand, edges clearly determine objects' boundaries. Therefore, they increase data efficiency in crowded environments (Oplet, et al, 2008). 2-Features based on pieces which their application has been expanded. Feature selection is based on slices (image patches). In this method the appearance of an image is a sign for better recognition. Sometimes both methods are used in combination (Roth, et al, 2009).
There are several methods for feature extraction, the most famous ones are Harris, SIFT (Scale Invariant Feature Transform), and SURF (Speeded Up Robust Features). These methods extract features which are invariant to scaling, linear transformation, and rotation transformation (Yang, et al., 2011;Hsu, et al., 2012).
SIFT algorithm was invented by Lowe to perform pattern recognition in optical images and consists of two major steps including feature extraction and descriptor. SIFT algorithm can extract points in an image that are resistant to scale variation, image rotation, and somehow light intensity and changes in view angle. Hessian detector is based on Hessian matrix since it has a proper performance in speed and accuracy of calculations. However, instead of using different sizes for selecting location and scale (like in Hessian-Laplace detector), it relies on a Hessian determinant. For a point x=(x, y) in the image I, Hessian matrix H(x, σ) in x and scale σ will be defined as: where L xx (x, ϭ) is the convolution of the Gaussian second order derivative and similarly for L xy (x, ϭ) and L yy (x, ϭ).
The performance of SURF algorithm is significant in comparison with other descriptors. Combining information which are localized in plain form and gradient feature distribution present a strong distinction, whereas it reduces localizing error effects in scale or space. Utilizing the strength of gradient feature, will reduce the photometric variation effects (Pang, et al., 2012).
In order to extract features by SURF algorithm, the first step is to build a square area that its center is intended point. The mentioned area is divided to 4*4 square small areas. This saves the important spatial information. For each of these small areas, we calculate some simple features in sample points which are located in 5*5 regular distances. For convenience, we define horizontal Haar wavelet response as dx and vertical Haar wavelet response as dy (while filter size is 2s). Here vertical and horizontal directions are defined in relation to selected point direction. In order to increase robustness against geometrical variations and localization errors, the first d x and d y responses are weighted with Gaussian filter (equal to 3.3s). Then wavelet responses (d x and d y ) are integrated on every subzone and the first feature vector set is made. For the purpose of using information such as intensity variation, sum of absolute responses (|d x | and |d y |) will be extracted.
Consequently, each subzone has four 4-D descriptor vector v for its main intensity. The above equation results in descriptor vector for all subzones of 4*4 with the length of 64. Also we can find the contrast stability (scale factor) by descriptor transform to unit vector. For fast indexation during matching stage, Laplace sign (means adjutant Hessian matrix) for intended infrastructure point was considered. The feature exists without excess calculation costs because; it is calculated during detection stage before. In matching stage e only those features are compared that have similar contrast. Therefore this information provides the minimum possibility of faster adjustment and raises the performance a little.

Artificial Bee Colony Algorithm
Many engineering models and algorithms that are used to solve complicated problems are based on centralization and control. Some of natural systems (insects' colony) teach us that some simple external organisms are able to generate systems that execute many complex tasks by means of dynamic reaction. Because of colony internal independence and distributed performances and inter organizational system, bee groups is one of the best known colonies to explain this concept.
In fact, Artificial Bee Colony (ABC) algorithm is a kind of intelligent search-based algorithm which simulates intelligent searching behavior of bees. In the ABC model, the colony consists of three bee groups: employed bees, onlookers and scouts that act in searching spaces. When the network has cluster nodes these bees fly in a searching space with dimension n, ABC covers some bees to explore clusters. In order to supply food, an onlooker bee waits and meets scouts and employed bees while waiting. A bee which is entered to searching work randomly is called a scout. The position and situation of food supply is an indicator of a possible solution for the problem and the nectar in this supply, determines the quality of the solution.
In ABC algorithm, the first half of the colony is employed bees and the second half is onlooker bees. When a employed bee starts searching for food supply randomly, the initial position of food supply is generated. Then each employed bee determines the food supply close to it according to Eq (3). If nectar content of new food supply is more than that of old supply, then employed bee flies toward new food supply.
where is a random number between -1 to 1, Vi is new way, Xi is the current way, and Xk is the adjacent way, and jD} is a random number between 1 and d when the radius of the way is D. Worker bees transfer gathered information of food supply to observers after searching process is finished. Onlooker bee evaluates the information gathered by employed bees and chooses food supply with the most nectar content according to Eq. (4). This is called rotating selection method and provides the best chance: In Eq. (4), is proportional to amount of nectar content in ith solution d in position of i and SN is equal to the number of employed bees. One of onlookers chooses food supply and then each of them finds a food supply near to them and calculates the current amount of nectar. Bee can memorize new location and forget previous location which had less nectar. It even can memorize previous location. An employed bee will be converted to a scout when it finds and uses a new food supply. In this situation a new way is created which was defined in Eq. (5).
where xi represents the ith supply and jD}. Although these bees are not qualified enough and do not cost much, they may sometimes find the location of an unknown rich food supply. It is not mandatory to have scout bees in every cycle, because we have to determine those food supplies which were not modified in several cycles and replace them by new random supplies. The number of cycles that solution is not modified will be determined by a pre-defined limit variable.
limit= SN*D (6) where SN is the number of bees and D is the problem dimensions.

Simulation results
In this section, the simulation results are presented. The analysis and the simulation results are obtained from a "core i5 5200u" system. Simulation has been run in MATLAB 2014b.
For simulation purposes, Fig. 1 is taken as the main image and we aim to detect different parts of the image. In this section, we have studied photo taken from another angle which might have light intensity and contrast variations. The simulations reveal that proposed approach has a high accuracy regarding to scale and angle changes and light intensity variations.

Figure 1: main image
As an example, in Fig. 2 part of the main image is shown which we intended to recognize it by the proposed approach.

Figure2: first sample image
As it was mentioned, in both of images at first step, the features are extracted using SURF algorithm. 300 features are extracted from main image (Fig. 1) and 100 features from smaller images (Fig. 2) as are shown in Fig. 3 and Fig. 4 respectively.      In this section, another sample of the images is studied. Fig. 8 shows a second sample of the main image.   In Fig. 11, feature matching is shown after optimizing these features by the bee colony algorithm.    . Figure 15: feature adjustment without ABC Figure 16: feature matching after optimization Fig. 17 shows the recognized part of the main image. It can be seen that, despite of angle difference between these two images and data loss, the proposed method could recognize the image. Navigation system role is to determine or measure the position, orientation, and speed of the UAV. The navigation methods are diverse among them, the image-processing based method has been widely used recently.. In this work, a new approach is proposed for image-processing based navigation in three steps. In the first step, the SURF algorithm was used to extract features and then the bee colony algorithm was applied for features optimization. Then, finally, feature matching was performed on optimized features. The results obtained from the simulation of proposed approach show that this method has a high accuracy. However the method is robust to variations in scale and light intensity, image rotation, and noise (data loss) and the method was successful in estimating the location of UAV.