Improved Fourier Mellin Invariant for Robust Rotation Estimation with Omni-cameras

11/13/2018 ∙ by Qingwen Xu, et al. ∙ 0

Spectral methods such as the improved Fourier Mellin Invariant (iFMI) transform have proved faster, more robust and accurate than feature based methods on image registration. However, iFMI is restricted to work only when the camera moves in 2D space and has not been applied on omni-cameras images so far. In this work, we extend the iFMI method and apply a motion model to estimate an omni-camera's pose when it moves in 3D space. This is particularly useful in field robotics applications to get a rapid and comprehensive view of unstructured environments, and to estimate robustly the robot pose. In the experiment section, we compared the extended iFMI method against ORB and AKAZE feature based approaches on three datasets showing different type of environments: office, lawn and urban scenery (MPI-omni dataset). The results show that our method boosts the accuracy of the robot pose estimation two to four times with respect to the feature registration techniques, while offering lower processing times. Furthermore, the iFMI approach presents the best performance against motion blur typically present in mobile robotics.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

Omnidirectional cameras play an important role in many fields such as object detection, image stitching and pose estimation because they have the advantage of a larger field of view (FOV) than ordinary cameras. Moreover, commercial omni-cameras like Ricoh Theta V (), GoPro Fusion () and Samsung Gear 360 (), are a cheaper option than laser scanners with similar FOVs. And with the popularity of smart phones, manufacturers have produced omni-lenses for mobile phone cameras to further reduce their cost. There are two types of omni-lens: fisheye and 360. The images taken by cameras with fisheye lens commonly have a higher resolution whereas those captured with 360 lens cover more environment information due to their greater FOV, see Figure 0(b) 0(c).

For these reasons, the use of omni-cameras in high-risk field robotics applications [11, 22] has increased in the recent years. Replaceable and cheap sensors are necessary in unstructured environments where robots can suffer substantial damage. In this type of scenarios, 360 lenses seem like a better option to capture more information from the surroundings, since not every place can be reachable by the mobile robot. However, the image processing algorithms need to compensate for the low image quality and cost of these omni-cameras. Figure 0(a) shows an example of an exploratory robot with an attached smart phone covered with an omni-lens used to collect data for our experiments.

(a) Low-cost exploratory robot
(b) Fisheye lens image
(c) lens image
Fig. 1: Field of views from different omni lenses from a mobile robot

Our work focuses on estimating the orientation of the omni-camera to improve the robot pose estimation. Commonly, as in the works of [8] and [19], the global robot pose or ego-motion is calculated using scale invariant features and image gradients respectively. Or more complex schemes to carefully select key frames or aggregate information from multiple frames have been developed [3, 7]

. Thus, feature extraction or edge detection is an essential step for pose estimation; where the feature detector should be robust enough to overcome the challenge of image blur present in omni-images when the robot moves.

In [21], Tareen et al. compared popular features: SIFT, SURF, KAZE, AKAZE, ORB, and BRISK in computation time and image reconstruction error and found that ORB and BRISK are the most efficient feature extractors while SIFT and BRISK are the most accurate. Besides, KAZE and AKAZE [2, 1] are designed for non-linear spaces making them more suitable for images with large distortion. On the other hand, Chen et al. used Fourier-Mellin invariant (FMI) descriptor and symmetric phase-only matched filtering to calculate rotation, scaling and translation in [6]. Bülow et al. improve the FMI (iFMI) descriptor to stitch images faster and more accurately in [4], even in low-feature environments. However, the FMI and iFMI method are only applicable to 2D motion. In [12], Kaustubh et al. proposed an iFMI extension to calculate the camera tilt including pitch and roll for forward looking cameras, but estimating yaw remains a difficult challenge.

Based on this, we extend the iFMI method to make it work in 3D motion with the omni-camera model for vision-based mobile robots. To overcome the issue that yaw cannot be calculated through the iFMI method for forward looking cameras, the 3D rotation estimation is reduced to a 2D image motion computation using omni-images. We compared our method to feature-based approaches in different indoor and outdoor environments; evaluations were made regarding computation time, robustness against image blur and accuracy. ORB[13] and AKAZE[1] were chosen as baselines because ORB has the fastest computation times while AKAZE is designed to handle large image distortions which are commonly present in omni-images. In summary, our main contributions include:

  • extending the iFMI method to estimate motion between omni-images; hence

  • allowing 3D registration instead of 2D for iFMI;

  • proposing a motion model based on sub-image patches to compensate for omni-images non-linear distortions;

  • finding the best suited parameters regarding robustness against motion blur, noise and computation time;

  • providing baseline comparisons against commonly used registration feature-based methods.

The rest of this paper is organized as follows: Sec II describes the camera model used in this work. The extended iFMI method for omni-lens is introduced in Sec III. Then applying the motion model for iFMI method with the omni-camera is explained in Sec IV. In Sec V, the implementation of our method is described in detail. The experiments and results are analyzed in Sec VI. And finally, we conclude our work in Sec VII.

Ii Omni-Camera Model

A cheap omni-lens with smart phone is used as the omni-camera in this work. There has been a large amount of publications on omni-camera models during last years. We use the model proposed in [15] which represents the relation between image pixels and camera rays as shown in Figure 1(a). Two assumptions are taken into consideration: the center of the camera and omni-lens are aligned and the omni-lens rotates symmetrically.

Suppose the coordinate of a pixel in the omni image is ; then its corresponding camera ray , defined in Eq.1, shows the direction of the corresponding real world scene point from this pixel. In this case, since the mirror is rotationally symmetric, depends only on the distance of a point to the image center; where is modeled as a high degree polynomial (Eq. 2) to represent different types of lenses. Finally, to account for possible errors in the hypothesis about the camera-lens alignment, an extra affine transformation defined in Eq. 3 is used.

(1)
(2)
(3)
(a)
(b) (c) (d)
Fig. 2: (a) Catadioptric Omni-directional Camera Model [15]. (b) Panorama image obtained from omni-image. (c) Non-overlapping and (d) overlapping sub-image extraction.

Iii Extending the iFMI Method for Omni-Cameras in 3D space

The iFMI method has been successfully applied in finding rotation, scaling and translation between two images, i.e. the similarity transformation, for camera motion in 2D space. This transformation can be affine or projective if the camera moves in 3D space. And to avoid the necessity of its computation, the omni-image is converted into a panorama image by representing each pixel in polar coordinates and mapping these into the Cartesian plane, where each pixel is denoted as .

The premise of estimating motion between two traditional pinhole model images is that the motion of all pixels are consistent. That is to say, all the pixels have the same rotation, scaling and translation. It is obvious that the panorama images does not meet this premise in most instances. For example, if the omni-camera moves forward, the scaling of the front part increases while the back one decreases.

Nonetheless, when small local regions are extracted from the panorama image, the motion of every pixel in these regions or sub-images can be considered the same. Therefore, consistent motion among sub-image pixels can be ensured if the panorama image is divided in sufficiently small regions. Then, the motion between two sub-images from consecutive frames and can be estimated using the iFMI method.

Iii-a Sub-images Extraction

The panorama image is divided into multiple sub-images with size in both overlapping and non-overlapping fashion as shown in Figure 1(c)1(d). In the experiment section, we compare the computation time and motion estimation error among sub-images with different size and overlapping method. Then, the sub-image type that offers the least computation time and highest accuracy is selected.

Iii-B Motion Estimation between Sub-images

Firstly, we find corresponding sub-image pairs from consecutive panorama frames. Assume these two sub-images sets are and , and are considered as a sub-image pair based on the assumption that images are captured continuously when the camera moves.

The motion between the sub-images and is calculated through iFMI method, described in detail in [5][6]. In summary, image rotation is the same in the spectral magnitude representation , and image scaling by scales by a factor of according to Eq. 4. And when obtaining the FMI descriptor

by resampling the spectra to polar coordinates, the radial axes to logarithmic representation and computing the Fourier transform; Eq. 

4 can be expressed as Eq. 5 which effectively decouples rotation, scaling and translation. All these transformations are now represented by signal shifts which can be estimated using Phase-Only Matched Filter (POMF). After re-scaling and re-rotating the image, translation between two images can be calculated by matched filter.

(4)
(5)

Iv Motion Model

Assume two images and are captured by the omni-camera in two different poses and , so that the motion model describes the transformation between pose and . We construct the motion model into two steps: building the motion flow field and estimating the transformation . As an alternative to feature matching, the iFMI method is used to find correspondences and compute motion flow field.

Iv-a Motion Flow Field

To estimate the motion flow field, corresponding pixel pairs between two panorama images need to be found, i.e. corresponding pixel pairs between sub-image sets . First, the relative motion between corresponding sub-image pairs is computed through the extended iFMI method in Section III. Let the scaling, rotation and translation of a given sub-image pair be . Assume an arbitrary pixel in corresponds to the pixel in . Thus, the relation that bears to is represented by Eq.6 according to [20], where , and is the center pixel of the sub-image.

(6)

Based on this, all corresponding pixels in sub-image can be found in via Eq.6. One pixel where of each sub-image is chosen to represent the motion flow field shown in Figure 2(c). It should be noticed that the center pixel is not suitable for representing the motion because it is will not represent rotation and scaling.

(a) First Panorama Image
(b) Second Panorama Image
(c) Motion Flow Field
Fig. 3: Motion flow field between the 2 panorama images divided in 10 sub-images; The red dot is the pixel in the first sub-image while the green is pixel that bears to in the second sub-image; Arrow represents motion of each sub-images pair.

Iv-B Relative Pose Estimation

The transformation between two camera poses and can be estimated by pixel correspondences found by Equation 6. Firstly, we use the OCamCalib toolbox [14, 16] to calibrate the camera and associate each pixel in to the undistorted and normalized camera ray in the coordinate frame; following the camera model described in section II. Same procedure is done for the image .

Then, based on the pixel pairs representing the motion flow field, the corresponding camera rays are computed. It is important to note that for this, the pixel pair is converted back from panorama image to omni-image coordinates. The relation between each 3D pair can be described as in Eq.7 according to epipolar geometry [9], where the matrix is called essential matrix.

(7)

Finally, the rotation and translation between two camera poses can be extracted from the matrix .

Iv-C Noise Filter

Two methods are used to improve the robustness of the motion model. The first one is to use random sample consensus (RANSAC) when estimating the transformation between two camera poses. The transformation is reliable only when enough inliers are used for calculation.

The second method is to determine the signal-to-noise (SNR) threshold for the iFMI. When determining rotation and scaling from the Dirac pulse which results from the POMF, noise may be too large to give a reliable result. Thus, the SNR threshold should be taken into consideration. Two different thresholds ( and ) can be used: the ratio between the first and second biggest peak energies (PR) (Eq. 8), and the ratio of peak energy to the sum of noise energy in the surrounding peak region (PNR) (Eq. 9).

(8)
(9)

V Implementation

The implementation to estimate the transformation between two poses from omni images is described in Algorithm 1, where the STEWENIUS-5-Points method is provided by OpenGV[10]. If the disparity of two images is large, we can use transformation chain to calculate their relative pose. For example, three images have poses respectively; then the transformation between and can be calculated using the transformation between and and that between and , as Eq. 10 shows.

(10)
1:  Input: Omni images , ;Noise filter thresholds ,
2:  Obtain panorama images , of size by cartesian-to-polar transformation
3:  Extract sub-image set , from and
4:  for all sub-images ,  do
5:     Compute relative motion = iFMI(, , , )
6:     Select pixel , where
7:     Find motion pixel pair (Eq. 6)
8:     Convert to omni-image coordinates polar-to-Cartesian()
9:     Find camera ray pair = (Eq. 1)
10:     Add to correspondences set
11:  end for
12:  Transformation = STEWENIUS-5-Points
13:  Output:
Algorithm 1 Extended iFMI-based rotation estimation

Vi Experiments and Results

In this section, we perform three experiments to validate and compare the proposed approach. First, we investigate the impact of the sub-images size and their overlap percentage on the extended-iFMI performance. This is done for different rotation intervals to observe the method’s robustness against different motion speeds. Based on this, the sub-image size and overlapping that generate the best balance between highest accuracy and least computation time is selected to perform the rest of the experiments. The second experiment tests the robustness of the extended-iFMI and ORB and AKAZE feature-based methods against image blur, which is the most predominant image artifact in mobile robotics. Finally, the last experiment evaluates the accuracy of the mentioned approaches in three datasets.

The first two datasets were collected in different environments: indoor (office) and outdoor (lawn) with 500 images each. For their collection, an exploratory robot with a smartphone equipped with an omni-lens was used (Fig. 0(a)) to perform a route that ensures a rotation in yaw or z-axis. The third dataset, which is referred as MPI-omni in this work, was obtained from [17],[18]. It contains omni-images from urban scenes collected from a driving platform; the first driving sequence of 200 frames is used to prove the universality of our approach. Ground truth for all datasets is taken from their respective Inertial Navigation Systems (INS) measurements.

It is important to note that only camera orientation is compared in these experiments. This due to the fact that translational movement estimation needs further optimization techniques because it is up-to-scale for monocular images, and this is out fo the scope of the present work.

(a) Office (indoor)
(b) Lawn (Outdoor)
(c) MPI-omni [17]
Fig. 4: Samples from used datasets

Vi-a Extended-iFMI sub-image extraction

As mentioned, we evaluate the performance of the sub-image extraction described in section III-A. To avoid possible inaccuracies from the smartphone’s IMU, ground truth data is generated with known camera pose. In other words, given an arbitrary omni-image with camera pose , an omni-image with camera pose is computed using the omni-camera model and a known pose transformation . The extended-iFMI method tries to estimate this pre-defined .

The omni-images resolution from the office and lawn dataset is and the transformed panorama image is . The latter is divided into sub-images of three different size : , and ; and ,, and of overlap (OL) is considered for each size. As shown in Table I, the experiment is performed for motion intervals of , and for roll, pitch, yaw. Based on the results, the following conclusions were made:

max width=.98 Motion interval Motion interval Motion interval yaw pitch roll yaw pitch roll yaw pitch roll size OL t[s] t[s] t[s] t[s] t[s] t[s] t[s] t[s] t[s] 110 0 0.045 0.121 0.192 0.122 0.085 0.119 0.026 0.126 0.152 0.132 0.114 0.116 0.087 0.136 0.406 0.127 0.364 0.109 25 0.048 0.148 0.126 0.143 0.095 0.149 0.027 0.157 0.158 0.165 0.189 0.159 0.093 0.152 0.973 0.150 0.420 0.153 50 0.045 0.202 0.134 0.211 0.181 0.200 0.026 0.222 0.107 0.220 0.103 0.211 0.040 0.210 0.317 0.162 0.594 0.203 75 0.047 0.367 0.128 0.370 0.202 0.372 0.026 0.400 0.121 0.412 0.124 0.392 0.052 0.374 0.231 0.359 0.319 0.382 64 0 0.026 0.128 0.052 0.118 0.061 0.115 0.080 0.141 0.089 0.149 0.166 0.146 9.191 0.135 0.505 0.127 0.910 0.132 25 0.041 0.154 0.051 0.138 0.056 0.149 0.057 0.161 0.116 0.168 0.132 0.157 10.508 0.151 0.597 0.148 0.450 0.144 50 0.030 0.284 0.050 0.266 0.051 0.275 0.059 0.319 0.100 0.311 0.114 0.295 10.119 0.282 0.358 0.268 0.221 0.276 75 0.037 0.646 0.053 0.625 0.047 0.634 0.053 0.686 0.089 0.690 0.096 0.648 8.123 0.638 0.336 0.602 0.526 0.632 32 0 0.087 0.140 0.063 0.139 0.061 0.139 5.005 0.141 0.132 0.141 0.150 0.151 9.898 0.145 8.957 0.127 8.420 0.142 25 0.075 0.188 0.069 0.170 0.056 0.182 4.807 0.200 0.135 0.193 0.139 0.204 10.060 0.173 9.615 0.178 9.401 0.177 50 0.107 0.298 0.061 0.279 0.070 0.298 5.011 0.310 0.104 0.313 0.112 0.309 9.967 0.298 8.040 0.280 8.374 0.297 75 0.110 0.930 0.062 0.880 0.067 0.929 5.004 0.958 0.116 0.955 0.108 0.980 10.084 0.862 7.775 0.858 6.770 0.903

TABLE I: Pose estimation error with different sub-images extraction methods
  • The algorithm fails with sub-images of small size when the transformation is large. For example, sub-images yield large errors when the rotation disparity . Same for sub-images with motion intervals. Thus, rapid motions need larger sub-images to ensure correct pixel correspondences.

  • In the case of having a sufficient sub-image size to compute the motion; the overlapping percentage has little impact in the accuracy. This can be seen by the similar error values in each block of Table I. The average error difference is for fixed .

  • Again, given sufficiently large , the motion estimation error keeps a small value .

  • In non-overlapping fashion, the size does not impact the computation time; it’s similar for all three sizes. As the overlap increases, the computation time increases as well, approximately in a quadratic fashion.

Vi-B Image blur robustness

Image blur is common when the camera moves. To test whether our algorithm can handle this type of distortion, different degrees of Gaussian blur are added to the original images from all datasets. For each blur kernel size, we run the pose estimation algorithm 50 times for AKAZE, ORB and iFMI based methods. The pose estimation error and standard deviation are shown in Figure

5.

The error of the extended-iFMI (dark blue) and AKAZE (green) based method is constantly smaller than the ORB based (light blue). Moreover, the error increment from iFMI and AKAZE as the Gaussian blur kernel increases does not surpass of error; while for ORB the error and its standard deviation reach values of over .

Figure 5 also shows the average running time of all the approaches in the legend. ORB and extended-iFMI are about seven times faster than AKAZE. Thus, our approach is as robust as feature-based methods specifically designed for large distortions while adding a slight computation time overhead over the fastest feature detector.

Vi-C Accuracy Test on Different Datasets

Section VI-A shows that sub-image size in non-overlapping style is the most time efficient and robust against large motions; hence, it is used in the accuracy test. In the MPI-omni dataset, the omni-images have a resolution and their panorama image . Based on experiment VI-A, we keep the sub-image size at the panorama width, . Figure 67 and 8 show the pose estimation performance for the different datasets.

In the office scenario, the results from the extended-iFMI method are almost always closest to the groundtruth, followed by AKAZE. Commonly, this environment presents different objects with distinct features e.g., books, shelfs, chairs, etc. that help the feature registration algorithms to recover from errors between frames. However, for scenarios like the lawn dataset, the images texture generate many ambiguous features which cannot be correctly match. For example, Figure 7 shows that the ORB based method is unable to track roll motion and constantly underestimates yaw. Extended-iFMI still offers the best results, specially for roll rotations. Finally, results on the MPI-omni dataset in 8 prove that our approach holds accurate and robust in highly dynamic environments, having the least pose error as well.

Table II shows the total average error and standard deviation of pose estimation on all three datasets. It can be seen that the extended-iFMI outperforms feature-based methods in roll, pitch and yaw; keeping a robust performance in all types of environments. Its accuracy is approximately four times greater than that of the ORB and two times greater than that of AKAZE. This is important because it eliminates the necessity of selecting or designing a specific feature detector for certain scenarios or image distortions.

iFMI ORB AKAZE
roll 0.059 0.066 0.281 0.273 0.189 0.147
pitch 0.078 0.029 0.115 0.067 0.078 0.048
yaw 0.056 0.012 0.270 0.270 0.086 0.043
0.064 0.012 0.221 0.093 0.118 0.062
TABLE II: Average error of pose estimation on all datasets

Vii Conclusions

In this paper, we extend the iFMI method to calculate 3D motion between omni-images. Our approach is compared against two feature-based methods, ORB and AKAZE, in the field of robustness, accuracy and running time. The experiments show that our method has the highest accuracy overall and its more robust against motion blur distortions and different types of environments. For these reasons, we believe in extending this type of spectral based approach for full 6DOF pose recovery in mobile robots. It is a step forward for the practical use of catadioptric omni-cameras where accuracy and runtime are crucial.

Fig. 5:

Pose estimation error and variance on blurred images with their respective computation times

Fig. 6: Pose estimation on office dataset and average error
Fig. 7: Pose estimation on lawn dataset and average error
Fig. 8: Pose estimation on MPI-omni dataset and average error

References

  • [1] Pablo F Alcantarilla and T Solutions. Fast explicit diffusion for accelerated features in nonlinear scale spaces. IEEE Trans. Patt. Anal. Mach. Intell, 34(7):1281–1298, 2011.
  • [2] Pablo Fernández Alcantarilla, Adrien Bartoli, and Andrew J Davison. Kaze features. In

    European Conference on Computer Vision

    , pages 214–227. Springer, 2012.
  • [3] H. Badino, A. Yamamoto, and T. Kanade. Visual odometry by multi-frame feature integration. In 2013 IEEE International Conference on Computer Vision Workshops, pages 222–229, Dec 2013.
  • [4] Heiko Bülow and Andreas Birk. Fast and robust photomapping with an unmanned aerial vehicle (uav). In Intelligent Robots and Systems, 2009. IROS 2009. IEEE/RSJ International Conference on, pages 3368–3373. IEEE, 2009.
  • [5] Heiko Bulow, Andreas Birk, and Vikram Unnithan. Online generation of an underwater photo map with improved fourier mellin based registration. In OCEANS 2009-EUROPE, pages 1–6. IEEE, 2009.
  • [6] Qin-sheng Chen, Michel Defrise, and Frank Deconinck. Symmetric phase-only matched filtering of fourier-mellin transforms for image registration and recognition. IEEE Transactions on Pattern Analysis & Machine Intelligence, (12):1156–1168, 1994.
  • [7] H. Fan and S. Zhang. Stereo odometry based on careful frame selection. In 2017 10th International Symposium on Computational Intelligence and Design (ISCID), volume 2, pages 177–180, Dec 2017.
  • [8] Tarak Gandhi and Mohan Trivedi. Parametric ego-motion estimation for vehicle surround analysis using an omnidirectional camera. Machine Vision and Applications, 16(2):85–95, 2005.
  • [9] Richard Hartley and Andrew Zisserman. Multiple view geometry in computer vision. Cambridge university press, 2003.
  • [10] Laurent Kneip and Paul Furgale. Opengv: A unified and generalized approach to real-time calibrated geometric vision. In Robotics and Automation (ICRA), 2014 IEEE International Conference on, pages 1–8. IEEE, 2014.
  • [11] Shih-Schon Lin and Ruzena Bajcsy. High resolution catadioptric omni-directional stereo sensor for robot vision. In Robotics and Automation, 2003. Proceedings. ICRA’03. IEEE International Conference on, volume 2, pages 1694–1699. IEEE, 2003.
  • [12] Kaustubh Pathak, Max Pfingsthorn, Heiko Bülow, and Andreas Birk. Robust estimation of camera-tilt for ifmi based underwater photo-mapping using a calibrated monocular camera. In Robotics and Automation (ICRA), 2013 IEEE International Conference on, pages 5111–5116. IEEE, 2013.
  • [13] Ethan Rublee, Vincent Rabaud, Kurt Konolige, and Gary Bradski. Orb: An efficient alternative to sift or surf. In Computer Vision (ICCV), 2011 IEEE international conference on, pages 2564–2571. IEEE, 2011.
  • [14] Martin Rufli, Davide Scaramuzza, and Roland Siegwart. Automatic detection of checkerboards on blurred and distorted images. In Intelligent Robots and Systems, 2008. IROS 2008. IEEE/RSJ International Conference on, pages 3121–3126. IEEE, 2008.
  • [15] Davide Scaramuzza, Agostino Martinelli, and Roland Siegwart. A flexible technique for accurate omnidirectional camera calibration and structure from motion. In Computer Vision Systems, 2006 ICVS’06. IEEE International Conference on, pages 45–45. IEEE, 2006.
  • [16] Davide Scaramuzza, Agostino Martinelli, and Roland Siegwart. A toolbox for easily calibrating omnidirectional cameras. In Intelligent Robots and Systems, 2006 IEEE/RSJ International Conference on, pages 5695–5701. IEEE, 2006.
  • [17] Miriam Schönbein and Andreas Geiger. Omnidirectional 3d reconstruction in augmented manhattan worlds. In International Conference on Intelligent Robots and Systems (IROS), 2014.
  • [18] Miriam Schönbein, Tobias Strauss, and Andreas Geiger. Calibrating and centering quasi-central catadioptric cameras. In International Conference on Robotics and Automation (ICRA), 2014.
  • [19] Stephen Se, David Lowe, and Jim Little. Vision-based mobile robot localization and mapping using scale-invariant features. In Robotics and Automation, 2001. Proceedings 2001 ICRA. IEEE International Conference on, volume 2, pages 2051–2058. IEEE, 2001.
  • [20] Richard Szeliski. Computer vision: algorithms and applications. Springer Science & Business Media, 2010.
  • [21] Shaharyar Ahmed Khan Tareen and Zahra Saleem. A comparative analysis of sift, surf, kaze, akaze, orb, and brisk. In Computing, Mathematics and Engineering Technologies (iCoMET), 2018 International Conference on, pages 1–10. IEEE, 2018.
  • [22] Niall Winters, José Gaspar, Gerard Lacey, and José Santos-Victor. Omni-directional vision for robot navigation. In Omnidirectional Vision, 2000. Proceedings. IEEE Workshop on, pages 21–28. IEEE, 2000.