Research about sensors

Jaaay89
4284a503.pdf

Obstacle avoidance for low-cost UAVs Wilbert G. Aguilar, Verónica P. Casaliglla, and José L. Pólit

Abstract—The goal of our work is an obstacle avoidance system for MAVs using only a monocular camera. The proposed system detects obstacles in real-time from the micro aerial vehicle (MAV) and compares with the stored images in a database, if there is a match acts the control law to avoid it. Our proposal includes the feature point detector Speeded Up Robust Features (SURF) for fast processing of obstacles, also we implemented a control law to avoid it. The results of our system were tested in real time on a commercial low-cost MAV, it was able to detect and avoid an obstacle on unknown positions and complete the path. We check our algorithm on many successful flight experiments.

Index Terms—UAVs, obstacle detection, SURF, control system, obstacle avoidance

I. INTRODUCTION

U NMANNED Aerial Vehicles(UAV) are applied on sev-eral applications like mapping, journalism, transport, rescue military applications and environments where a human cannot access, enabling monitoring tasks in radioactive areas, toxic environments, handling of hazardous or volatile objects [1].

Kendoul [2] classified UAVs into five categories according to the size and payload: Category I: Full-scale, the main features are the robustness of the physical structure and the payload that can carry; Category II: Medium-scale, they have a payload higher than 10 kg and a total weight over 30 kg; Category III: Small-scale, these UAVs have a payload from 2 to 10 kg, with a total weight less than 30 kg; Category IV: Mini, they have a payload of 2 kg, are electrically operated, low cost, easy maintenance and safe operation, and Category V: Micro air vehicles (MAVs) have a payload lower than 100 grams and are used in navigation and detection.

Most of the commercial UAVs depend on the skill of the pilot, the hardiness of the communication system and sensors on board the vehicle. Sometimes it is difficult to handle the device due to loss of visibility of the tele-operator or the global position system (GPS) is not available; autonomous system is an alternative for solving this issue.

The autonomous systems include motion planning, path tracking, obstacle avoidance, target detection and other areas [3]. These systems require sensing, state estimation, percep- tion, and knowledge of the situation. The perception is used to detect and avoid obstacles in real time, recognize and tracking objects and environmental mapping [4].

W. Aguilar is with Centro de Investigación Cientı́fica y Tecnológica del Ejército CICTE and Departamento de Seguridad y Defensa, Universidad de las Fuerzas Armadas ESPE, Sangolquı́, Ecuador. He is with Research Group on Knowledge Engineering GREC, Universitat Politécnica de Catalunya, UPC- BarcelonaTech, Barcelona, Spain e-mail: wgaguilar@espe.edu.ec

V. Casaliglla is with Departamento de Eléctrica y Electrónica, Uni- versidad de las Fuerzas Armadas ESPE, Sangolquı́, Ecuador e-mail: vp- casaliglla@espe.edu.ec

J. Pólit is with Departamento de Eléctrica y Electrónica, Universidad de las Fuerzas Armadas ESPE, Sangolquı́, Ecuador e-mail: jlpolit@espe.edu.ec

Our system works with a low-cost UAV, using a perception method based on feature points for obstacle detection and proportional control for obstacle avoidance, using a monocular camera without depending on other sensors.

II. RELATED WORK

Research groups on robotics have proposed different tech- niques for obstacle avoidance, based on sensors like LIDAR [5], [6], [7] and Kinect [8], [9] that show robustness to identify obstacles, but these sensors involves an additional cost for the any UAV.

In the literature, there are several vision systems based on optical flow like [10], where authors propose a system for controlling an ultra-light airplanes with translatory optic flow that avoid obstacles and keep distance from ground and ceiling. Others approach are autonomous collision avoidance systems for navigation within houses or indoor environments using optical flow, micro-sensors and neural networks [11], [12]. A simulation of a navigation system with optical flow for rotary-wing UAV to avoid lateral and frontal collisions in a 3D urban environment [13]. Some of Optical flow problems is that the method cannot detect frontal obstacles [14].

In spite of the use of Scale Invariant Feature Transform (SIFT), to recognize collisions by analyzing the change in scale and location between two images [15], is stable for some works but is not recommended due to the low speed.

The literature present some works with UAVs like [16], [17], [18], [19], [20]. But in our proposal, we use Speeded- Up Robust Features (SURF) to detect obstacles. There are several application of SURF like face detection [21], target tracking [22], [23], simple visual navigation [24], and some works with UAVs. One of these is [25] that uses a bang- bang control. Our work propose a real time known obstacle detection algorithm based on feature points, and an offline modeling of the MAV for designing a controller for fixed obstacle avoidance in unknown environment.

III. OBSTACLE DETECTION

We use two images, one is located in a database that contains obstacles and other is captured with the onboard camera. In order to find correspondence between these images, feature point detection, description and matching are used. Additionally we calculate the obstacle area and mass center to be used as target in the controller.

A. Feature Point

For feature point detection, there are several works in the literature [26], [27], [28], but Oriented FAST and Rotated BRIEF (ORB) [29], Fast Retina Keypoint (FREAK)[30],

2017 IEEE 11th International Conference on Semantic Computing

978-1-5090-4284-5/17 $31.00 © 2017 IEEE

DOI 10.1109/ICSC.2017.96

503

Binary Robust Invariant Scalable Keypoints (BRISK)[31], Scale Invariant Feature Transform[32], [33] and Speeded Up Robust Feature (SURF) [34] are widely used algorithms. In our proposal,we use SURF because its the computational cost is lower without reducing robustness [35].

1) Feature point detection: The algorithm SURF uses a basic Hessian matrix approximation that has a high perfor- mance regarding the accuracy and integral images for reducing computational time [34], the integral image represents the pixels from an image. Point p with coordinates (x,y) represents the sum of pixels in the image within a rectangular region formed between p and origin coordinates:

IΣ(p) = i≤x∑ i=0

j≤y∑ j=0

I(x,y) (1)

where, IΣ(p) represents the input of an integral image located in (x,y)T . The Feature point can be estimated based on the integral images. For p=(x,y) the matrix is defined as:

H(p,σ) = [ Lxx(p,σ) Lxy(p,σ) Lxy(p,σ) Lyy(p,σ)

] (2)

where, Lxx(p,σ) is the convolution of the Gaussian sec- ond order derivative δ

2

δx2 g(σ). For computing the determi-

nant, approximations of the second order derivative of Gaus- sian are required. Three approximations are obtained: Dxx, Dxy, Dyy, and the Hessian determinant is calculated with Det(Haprox) = DxxDyy − (0.9Dxy)2.

The scale-space function uses an image pyramid smoothing with a Gaussian Filter for finding edges and blobs on different scales, and sub-sampling to obtain the next higher level of the pyramid. The feature point location is estimated with a combination of hessian matrix and scale-space function, these points are presented on figure 1.

(a) (b)

Fig. 1: Feature point detection (a) Image on database, (b) Image from the UAV

2) Feature point description: SURF descriptor determines the distribution of the pixel intensity within a neighbour region for each detected feature point. The method used a Haar wavelet to decrease the computation time and increase the robustness, Haar wavelets are simple filters that determine the gradient in x and y at image, these filters are considerate how block based methods to calculate a directional derivatives of the image intensity [36].

For extracting, descriptor needs to identify the orientation with different conditions, obtaining rotation invariance. The next step is to create a square region centered in the feature point and split up in four equal sub-regions, each of these

sub-regions contain important information. Haar Wavelets are obtained for two dimensional space (x and y) and smoothed by a Gaussian filter. Each sub-region has a vector v = (Σdx, Σdy, Σ|dx|, Σ|dy|), where dx and dy are the Haar wavelet response in x and y directions. The figure 2 shows the sub-regions used for estimate SURF descriptor vectors.

(a) (b)

Fig. 2: Feature point description (a) Image on database, (b) Image from the UAV

3) Feature point Matching: The first challenge for avoiding system is detected obstacles. For this, there is necessary to find correspondence between the image from the database and the image captured with the UAV. The matching process is based on the vectorial distance between descriptors of each feature point in both images.

The sign of the Laplacian is used for fast feature point indexing because distinguishes bright regions on a dark back- ground. We only compare the feature points with the same type of contrast, achieving a lower computational cost without reducing the descriptor performance. Also, we use Random Sample Consensus(RANSAC) [37] to discard the set of the pairs points out of the model, figure 3.

Fig. 3: Matching between image of database and real-time image at UAV

B. Obstacle area and mass center The obstacle area is inversely proportional to the distance

between the obstacle and the UAV, however the camera perspective warps the obstacle geometry. There is required to compensate the perspective warping of the obstacle using a geometry transform. The affine transformation is widely used for motion compensation in UAVs [38]. This transformation is mathematically expressed as:

 xtyt 1

  = R ∗

 xt−1yt−1

1

  + T, R = [r00 r01

r10 r11

] T =

[ t00 t10

] (3)

 xtyt

1

  =

 r00 r01 n00r10 r11 n10

1 1 1

 ∗

 xt−1yt−1

1

  (4)

Where R is the rotation matrix for roll, T is the translation in x and y, xt−1 and yt−1 are the coordinates of each pixel on the

504

last image, xt and yt are the coordinate of each pixel on the current image. These points are warped on the image captured with the onboard camera, and we use the affine transformation to compensate this warping It = H∗It−1, where It represents the current image function, It−1 is the last image function and H is the affine transformation matrix.

Also, we calculate the area defined by the compensated vertex a to d. The fact that the rectangle is a regular figure, we estimate the mass center Mc by the average value of the x and y coordinates of each vertex, as shown on figure 4.

Fig. 4: Area and mass center of obstacle

IV. OBSTACLE AVOIDANCE The obstacle avoidance process of our proposal is separated

in three parts: system identification, controller design and obstacle avoidance algorithm.

A. System identification The platform used in the experimentation is the Bebop

Drone 1, a low-cost MAV built by the company Parrot. This vehicle was selected for several reasons: low cost, energy conservation, stable flying, and vehicle size. Parrot has opened the SDK (Software Develop Kit) for operating systems like Linux and Windows, so can be controlled with a laptop/desktop computer. The control system of the Bebop Drone manipulates four different control action: pitch, roll, yaw, and altitude. Inertial Measurement Unit (IMU) and control action data were collected from the Bebop Drone for model identification. In our model we use control actions as input ( figure 5a) and velocities as outputs (figure 5b). We proposed two motions in the plane x and y for the avoid system, in the x-axis the motion is uniform, i.e. the linear speed x is constant. The motion in the y-axis depends of the obstacle location, so the control law will be applied on this axis.

(a) (b)

Fig. 5: System behavior to different input values (a) Speed- input, (b) speed-output in x-axis, y-axis and z-axis

Based on the low level control system of Bebop, the motion in y-axis can be controller by roll. There is necessary to estimate the mathematical model that relates roll control with the linear speed in the y-axis, the mathematical model is: G(s) = K

Ts+1 .

B. Controller design

Our consideration of controller design is which after detect- ing the obstacle the UAV should recovery the path (figure 6). Also, we must define if the obstacle is on the trajectory, the position error, and the area of the obstacle.

Fig. 6: Control action with an obstacle inside of path. The system can avoid the obstacle with a displacement on y-axis.

1) Position error: For bebop drone we capture 640x480 pixels for each image of visual field, where the obstacles are defined by the mass center as Mc(y,z) in the visual field image. The position error e(t) is the difference between the obstacle mass center and the center C(y,z) of the image (visual field):

e(t) = C(y,z) −Mc(y,z) (5)

If e(t) < 0 the obstacle is located in the right site of the drone otherwise the obstacle is in the left side. Maximum and minimum values of error are -320 and 320 for y-axis.

2) Obstacle area: The obtained area is proportional to the distance between the onboard camera and the obstacle. In the figure 7 there is graphically explained the relation between the image plane and the obstacle length: L1

IP1 =

Lp1 IPp1

and L2 IP2

= Lp2 IPp2

Fig. 7: Relation between the area and distance.

Where L1 and L2 are the obstacle lengths, Lp1 and Lp2 are the obstacle lengths in pixels, IP1 and IP2 are the image plane lengths, and the image plane lengths in pixels are represented by IPp1 and IPp2. IPp1 = IPp2 because they do not depend on the position of the image plane:

505

Lp1 Lp2

= L1 ∗ Ip2 L2 ∗ Ip1

, L1 = L2 (6)

Lp1 Lp2

= Ip2 Ip1

(7)

If Lp2 > Lp1, the image plane Ip2 increase otherwise Ip2 decrease. The relation between image plane and the distance between UAV and obstacle is Ip1

Ip2 = d1

d2 .

3) Proportional controller: The objective of most of con- trol systems is reducing to zero the error between the out- put and set point. However, for the avoidance system, the controller increases the difference between the obstacle mass center and the visual field center. If the position error is low, i.e. the obstacle is close to the path center, the control system must send a higher speed signal to the motor controllers in order to keep distance respect to obstacles. In the other hand, when the position error is high, the vehicle is far from the path center reducing the collision probability. The control law depends on the location of the obstacle, is positive when the error is e(t) < 0 and negative when e(t) > 0 (figure 8). This means that the controller output u(t) is inversely proportional to the error e(t).

(a)

(b)

Fig. 8: Avoidance path for different obstacle position (a) Obstacle in left side far from the path center, (b) Obstacle in right side near from the path center

We obtained a control law with a proportional gain Kp and a bias P, defined as: u(t) = Kp∗e(t) + P .

C. Obstacle avoidance algorithm

Our algorithm starts when the obstacle area is greater than limit area, this means that the vehicle is closer to the obstacle. The limit area value is experimentally obtained defining the dimensions of obstacles in pixels at a specific distance. The output u(t) of the control law moves the vehicle away from the center of the obstacle avoiding it. If the error is greater than zero, the UAV moves to the left side, otherwise, the vehicle moves to the right side (Algorithm 1). The average speed ur(t) obtained from the control signal u(t) is used for recovering the original path (Algorithm 2).

ur(t) =

(∑n i=1 u(i)

n

) ∗ (−1) (8)

Algorithm 1 Obstacle avoidance algorithm 1: if area > areaexp then 2: u(t) = kp∗e(t) + P 3: if e(t) < 0 then 4: u(t) = u(t) ∗ (−sign(e(t))) 5: end if 6: if e(t) > 0 then 7: u(t) = u(t) ∗ (sign(e(t))) 8: end if 9: end if

10: if area ≥ 0 and area < areaexp then 11: u(t) = 0 12: end if 13: speedacc = speedacc + u(t) 14: n = n + 1

Parameters area : obstacle area areaexp : limit area e(t) : position error u(t) : speed that will be sent to UAV speedacc : speed accumulated during the period of avoidance n : numbers of speed data saved

Algorithm 2 UAV returns to original path 1: ur(t) = speedacc/n 2: u(t) = ur(t) ∗ (−1)

Parameters ur(t) : average speed

V. EXPERIMENTS AND RESULTS

Bebop Drone is connected by WIFI to a laptop with the fol- lowing characteristics: Processor Intel Core i7-2670QM Quad- Core 2.2GHz and 8.00 GB RAM running Linux. We have used katarina open-source library developed by Martin Dlouh [39] to communicate the laptop with the UAV. We performed an experimental comparison between our autonomous algorithm, the algorithm proposed by [25], and the tele-operation of two persons with different experience levels, using the same UAV.

The metrics of evaluation are: time to complete the path, maximum speed, minimum speed, average speed, distance and battery. We do an experiment for one fixed obstacle. Table 1 presents the average values of the successfully flights, and the table 2 a resume of them. The normalized values were obtained from the official Android App of Parrot.

TABLE I: Results of one fixed obstacle

Control Maximum

Speed [m/s] Minimum

Speed [m/s] Average

Speed [m/s] Distance

[m] Time

[s] Battery

[%] Autonomous

algorithm 0,732 0,110 0,250 4,903 18,932 5,300

Bang-Bang 0,904 0,105 0,262 5,200 17,547 5,641 Tele-operator

with experience 2,400 0,120 1,002 8,654 9,453 5,465

Tele-operator without experience 3,421 0,182 0,799 9,132 12,010 7,144

Experimental results with the fixed obstacle showed that the autonomous system has lower ratio of battery usage and

506

travelled distance, due to the system has not high variations of speed. The tele-operators used the less time to complete the path, for the ease of avoiding one obstacle, but if we compared with bang-bang system the time is similar.

TABLE II: Results of flights with different controls

Control Total number

of flights Successful

flights Unsuccessful

flights Ratio [%]

Autonomous algorithm 10 9 1 90

Bang-Bang 10 7 3 70 Tele-operator

with experience 10 6 4 60

Tele-operator without experience 10 4 6 40

After analyzing the first results of obstacle avoidance system, the autonomous algorithm showed that its traveled distance is less, the speed remained constant and thus it used less battery. In Table 2 shown that this algorithm has a good response to one fixed obstacle because its successful flights are higher unlike other controllers used. The Tele-operators obtained a less time because they used more speed, but the unsuccessful flights increase by reason they did not have a perception of distance between obstacles. The Bang- Bang controller used more speed and traveled distance than autonomous algorithm because it uses an on-off control to avoid the obstacles, with this, for the UAV is more difficult to come back to the original path.

VI. CONCLUSIONS AND FUTURE WORKS

On this paper, we experimentally tested the optimal and robust performance of our system including obstacle detection and avoidance. Flexibility and energy efficiency are important features for autonomous navigation of UAVs. In our approach, flexibility is given by the effectiveness responding to unspeci- fied number of obstacles in unknown positions. SURF obtains matching between the image from the database and captured frame without incrementing the computational cost.

Our proportional controller for obstacle avoidance between the start and goal point is optimal, faster and with higher performance than a bang-bang controller, human controllers with and without experience.

For future works, we will improve the detection algorithm for working with mobile, artificial or natural obstacles.

ACKNOWLEDGMENT

This work is part of the project Perception and Localization system for autonomous navigation of rotor micro aerial vehi- cle in gps-denied environments (VisualNav Drone) from the Research Center CICTE, directed by Dr. Wilbert G. Aguilar.

REFERENCES

[1] A. Barrientos, J. del Cerro, P. Gutiérrez, R. San Martı́n, A. Martı́nez, and C. Rossi, “Vehı́culos aéreos no tripulados para uso civil. tecnologı́a y aplicaciones,” Universidad politécnica de Madrid, Madrid, 2007.

[2] F. Kendoul, “Survey of advances in guidance, navigation, and control of unmanned rotorcraft systems,” Journal of Field Robotics, vol. 29, no. 2, pp. 315–378, 2012.

[3] D. V. Ortega, J. A. G.-C. BUENO, R. V. MERINO, S. B. SANZ, A. H. CORREAS, and D. R. CAMPO, Pilotos de dron (RPAS). Ediciones Paraninfo, SA, 2005.

[4] A. Beyeler, J.-C. Zufferey, and D. Floreano, “Vision-based control of near-obstacle flight,” Autonomous robots, vol. 27, no. 3, pp. 201–219, 2009.

[5] S. Scherer, S. Singh, L. Chamberlain, and M. Elgersma, “Flying fast and low among obstacles: Methodology and experiments,” The International Journal of Robotics Research, vol. 27, no. 5, pp. 549–574, 2008.

[6] K. M. Wurm, R. Kümmerle, C. Stachniss, and W. Burgard, “Improving robot navigation in structured outdoor environments by identifying vegetation from laser data,” in 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 2009, pp. 1217–1222.

[7] T. Merz and F. Kendoul, “Beyond visual range obstacle avoidance and infrastructure inspection by an autonomous helicopter,” in 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 2011, pp. 4953–4960.

[8] A. Bachrach, S. Prentice, R. He, and N. Roy, “Range–robust autonomous navigation in gps-denied environments,” Journal of Field Robotics, vol. 28, no. 5, pp. 644–666, 2011.

[9] S. Lange, N. Sünderhauf, P. Neubert, S. Drews, and P. Protzel, “Au- tonomous corridor flight of a uav using a low-cost and light-weight rgb-d camera,” in Advances in Autonomous Mini Robots. Springer, 2012, pp. 183–192.

[10] A. Beyeler, J.-C. Zufferey, and D. Floreano, “3d vision-based naviga- tion for indoor microflyers,” in Proceedings 2007 IEEE International Conference on Robotics and Automation. IEEE, 2007, pp. 1336–1341.

[11] P. Y. Oh, W. E. Green, and G. Barrows, “Neural nets and optic flow for autonomous micro-air-vehicle navigation,” in ASME 2004 International Mechanical Engineering Congress and Exposition. American Society of Mechanical Engineers, 2004, pp. 1279–1285.

[12] J.-C. Zufferey and D. Floreano, “Fly-inspired visual steering of an ultralight indoor aircraft,” IEEE Transactions on Robotics, vol. 22, no. 1, pp. 137–146, 2006.

[13] L. Muratet, S. Doncieux, and J.-A. Meyer, “A biomimetic reactive navigation system using the optical flow for a rotary-wing uav in urban environment,” Proceedings of the International Session on Robotics, 2004.

[14] W. E. Green and P. Y. Oh, “Optic-flow-based collision avoidance,” IEEE Robotics & Automation Magazine, vol. 15, no. 1, pp. 96–103, 2008.

[15] A. Chavez and D. Gustafson, “Vision-based obstacle avoidance using sift features,” in International Symposium on Visual Computing. Springer, 2009, pp. 550–557.

[16] W. G. Aguilar and C. Angulo Bahón, “Estabilización robusta de vı́deo basada en diferencia de nivel de gris,” in Memorias del VIII Congreso de Ciencia y Tecnologı́a, 2013.

[17] W. G. Aguilar and C. Angulo, “Real-time video stabilization without phantom movements for micro aerial vehicles,” EURASIP Journal on Image and Video Processing, vol. 2014, no. 1, pp. 1–13, 2014.

[18] ——, “Real-time video stabilization without phantom movements for micro aerial vehicles,” EURASIP Journal on Image and Video Process- ing, vol. 2014, no. 1, pp. 1–13, 2014.

[19] W. Aguilar, R. Costa Castelló, C. Angulo Bahón, and L. Molina, “Con- trol autónomo de cuadricópteros para seguimiento de trayectorias,” in Revista Digital Congreso de Ciencia y Tecnologı́a: Memorias. Sesiones Técnicas, 2014, pp. 140–144.

[20] W. Aguilar and C. Angulo Bahón, “Estabilización de vı́deo en micro vehı́culos aéreos y su aplicación en la detección de caras,” in Re- vista Digital Congreso de Ciencia y Tecnologı́a: Memorias. Sesiones Técnicas, 2014, pp. 155–160.

[21] D. Kim and R. Dahyot, “Face components detection using surf descrip- tors and svms,” in Machine Vision and Image Processing Conference, 2008. IMVIP’08. International. IEEE, 2008, pp. 51–56.

[22] D. M. Chu and A. W. Smeulders, “Color invariant surf in discriminative object tracking,” in European Conference on Computer Vision. Springer, 2010, pp. 62–75.

[23] W. He, T. Yamashita, H. Lu, and S. Lao, “Surf tracking,” in 2009 IEEE 12th International Conference on Computer Vision. IEEE, 2009, pp. 1586–1592.

[24] T. Krajnı́k, M. Nitsche, S. Pedre, L. Přeučil, and M. E. Mejail, “A simple visual navigation system for an uav,” in Systems, Signals and Devices (SSD), 2012 9th International Multi-Conference on. IEEE, 2012, pp. 1–6.

[25] T. Mori and S. Scherer, “First results in detecting and avoiding frontal obstacles from a monocular camera for micro unmanned aerial vehicles,” in Robotics and Automation (ICRA), 2013 IEEE International Confer- ence on. IEEE, 2013, pp. 1750–1757.

507

[26] J. Canny, “A computational approach to edge detection,” IEEE Transac- tions on pattern analysis and machine intelligence, no. 6, pp. 679–698, 1986.

[27] C. Harris and M. Stephens, “A combined corner and edge detector.” in Alvey vision conference, vol. 15. Citeseer, 1988, p. 50.

[28] O. Miksik and K. Mikolajczyk, “Evaluation of local detectors and descriptors for fast feature matching,” in Pattern Recognition (ICPR), 2012 21st International Conference on. IEEE, 2012, pp. 2681–2684.

[29] E. Rublee, V. Rabaud, K. Konolige, and G. Bradski, “Orb: An efficient alternative to sift or surf,” in 2011 International conference on computer vision. IEEE, 2011, pp. 2564–2571.

[30] A. Alahi, R. Ortiz, and P. Vandergheynst, “Freak: Fast retina keypoint,” in Computer vision and pattern recognition (CVPR), 2012 IEEE con- ference on. Ieee, 2012, pp. 510–517.

[31] S. Leutenegger, M. Chli, and R. Y. Siegwart, “Brisk: Binary robust invariant scalable keypoints,” in 2011 International conference on com- puter vision. IEEE, 2011, pp. 2548–2555.

[32] D. G. Lowe, “Object recognition from local scale-invariant features,” in Computer vision, 1999. The proceedings of the seventh IEEE interna- tional conference on, vol. 2. Ieee, 1999, pp. 1150–1157.

[33] W. G. Aguilar and C. Angulo, “Compensación de los efectos generados en la imagen por el control de navegación del robot aibo ers 7,” in VII Congreso de Ciencia y Tecnologı́a ESPE, Quito, Ecuador, ISSN, 2012, pp. 1390–4663.

[34] H. Bay, A. Ess, T. Tuytelaars, and L. Van Gool, “Speeded-up robust features (surf),” Computer vision and image understanding, vol. 110, no. 3, pp. 346–359, 2008.

[35] L. Juan and O. Gwun, “A comparison of sift, pca-sift and surf,” International Journal of Image Processing (IJIP), vol. 3, no. 4, pp. 143– 152, 2009.

[36] D.-S. Huang, K.-H. Jo, and A. Hussain, Intelligent Computing Theories and Methodologies: 11th International Conference, ICIC 2015, Fuzhou, China, August 20-23, 2015, Proceedings. Springer, 2015, vol. 9226.

[37] M. A. Fischler and R. C. Bolles, “Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography,” Communications of the ACM, vol. 24, no. 6, pp. 381–395, 1981.

[38] W. G. Aguilar and C. Angulo, “Robust video stabilization based on motion intention for low-cost micro aerial vehicles,” in Systems, Signals & Devices (SSD), 2014 11th International Multi-Conference on. IEEE, 2014, pp. 1–6.

[39] M. Dlouh, “Katarina,” http://robotika.cz/robots/katarina/en, (Accessed on 10/17/2016).

508