Static and Dynamic Algorithms for Terrain Classification in UAV Aerial Imagery
Abstract
:1. Introduction
2. Experimental Setup
2.1. UAV Platform Design
- A hardware device to control the low and high level operations. This hardware contains the Global Positioning System (GPS) and the Inertial Measurement Unit (IMU) to detect the UAV position and orientation, respectively. An Wi-Fi receiver is connected to this hardware controller, in order to control UAV motors;
- An RGB camera with a gimbal to stabilize imaging capture. Since the camera technical specifications are known, it is possible to obtain the Field of View (FoV) and therefore, to know the distance (in meters) per pixel. The selected resolution of each frame was 640 × 480 with a rate of 30 Hz;
- A mini controller to stabilize the UAV when it is in flight mode. The sensor used for this purpose was a mini camera pointed to the ground where an optical flow algorithm runs to determine how much the UAV has traveled and to determine the unwanted motion of the UAV and thus reverse the process;
- For autonomous UAV landing, it features a sonar sensor pointed at the ground, in order to detect any obstacle within a six-meter range allowing it to land in an unobstructed zone.
2.2. Data Gathering
- Orange circle: Costa da Caparica;
- Blue circle: Faculty of Sciences and Technology of NOVA University of Lisbon;
- Red circle: Parque da Paz at Almada;
- Green circle: Portuguese Navy’s Naval Base at Alfeite;
2.3. Proposed System Model
- Rectified Image: It is necessary to calibrate the camera before any process to make the proposed algorithms universal. Only then is possible to work with all RGB cameras regardless of their resolution;
- Static Texture: To extract the terrain’s static textures, Gray-Level Co-Occurrence Matrix (GLCM) and Gray-Level Run Length Matrix (GLRLM) were used to calculate features capable of providing information to classify terrain types;
- Dynamic Texture: To identify the movement of each terrain type, an extraction of dynamic textures was performed using the Optical flow concept;
- Classification: The outputs generated by the static and dynamic extraction phases are turned into inputs for a Neural Network (NN) [32] tasked with classifying the terrain the UAV is flying over. Machine learning techniques have already been proven to be efficient for terrain classification [33,34,35]. In this work, an NN was used, namely a Multilayer Perceptron (MLP) architecture. The Neural Network inputs are the output values from static and dynamic feature extraction algorithms. The Neural Network model consists of three layers: the hidden layer contains 10 neurons, whereas the third layer corresponds to the system output and has four neurons, e.g., four possible outputs (water, vegetation, asphalt and sand). Each neuron uses a sigmoidal function to calculate its output. They are connected as a Fully Connected Feed Forward Neural Network. During the training stage, 70% of the total data was used for training, 15% for testing and 15% for validation;
- Frames > n: “n” is the total number of frames required to increase the algorithm’s accuracy. This threshold value was chosen empirically by the authors.
2.4. Static Textures
2.4.1. Gray-Level Co-Occurrence Matrix
- The distance d between i and j pixels;
- The angular orientation chosen;
- The Symmetric matrix decision.
- Contrast: Used to return the intensity contrast between a pixel and its neighbor throughout the entire image;
- Correlation: This method is important to define how a pixel is correlated with its neighbor throughout the entire image;
- Energy: Also known as angular second moment, the goal is to evaluate how constant is an image;
- Homogeneity: Know as Inverse Difference Moment, this equation returns 1 when the GLCM is uniform (diagonal matrix);
- Entropy: This feature measures the randomness of intensity distribution. The greater the information’s heterogeneity in an image, the greater the entropy value is. However, when homogeneity increases, the entropy tends to 0;
- Variance: Represents the measure of the dispersion of the values around the mean.
2.4.2. Gray-Level Run Length Matrix
- Blue Pixels: Represents water;
- Green Pixels: Represents vegetation;
- Gray Pixels: Represents asphalt;
- Red Pixels: Represents sand.
2.5. Dynamic Textures
- Blue Pixels: If the flow is pointing out of the calculated center (downwash center) from the flow density;
- Green Pixels: If the flow is pointing into the calculated center (downwash center) from the flow density;
- Gray Pixels: If the size of the flow is below a certain given treshold.
3. Implementation
3.1. Software
- Open Source Computer Vision Library (OpenCV): Being an open source library, OpenCV provides a variety of functions used for image processing;
- Robot Operating System (ROS): The Robot Operating System is a “robot application development platform that provides various features such as message passing, distributed computing, code reusing, […]” [43], as well as an integrated software and hardware applied to robotics applications. ROS also provides support for a wide range of programming languages; the possibility of visualizing data (e.g., the content of topics, nodes, packages, coordinate systems graphs and sensor data); and the possibility to write and execute code in a modular way, increasing robustness and also contributing to the standardization of this framework.
Algorithm 1: Pseudo-Code Software Implementation |
|
3.2. Hardware
- the difference between X and Y is multiplied by itself and by the value in the position of the matrix, and the result is accumulated in the contrast register;
- the value in the position of the matrix is multiplied by itself, and the result is accumulated in the energy register.
4. Experimental Design
Aerial Mapping
- point translation to map origin ();
- point rotation around the map origin ();
- point back translation to the Base_link origin ();
5. Experimental Results
5.1. Results
5.2. Comparison and Discussion of Results
6. Conclusions
7. Future Work
- Perform a deeper study on changing of the environment colors, to improve the robustness of the algorithm. Environment color variation, regarding to the different time of the day, could influence the results and therefore false positives/negatives. Although the dynamic texture does not suffer much from these changes, due to the fact that the terrain movement is similar, the static texture could be highly affected;
- Since the algorithm was designed for a UAV flying at an altitude between one and two meters, it is likely that at this altitude the UAV may collide with objects in the environment. The authors of this article developed an algorithm [48] to avoid obstacles, from images taken from a depth camera. However, currently it is only working with static objects. An improved version of this algorithm could be used to support the autonomous navigation of the proposed system;
- It is also important to make a deeper study regarding different camera resolutions in order to improve the robustness of the proposed system, however, the system speed may be affected with higher resolutions.
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
References
- Bestaoui Sebbane, Y. Intelligent Autonomy of UAVs: Advanced Missions and Future Use; CRC Press: Boca Raton, FL, USA, 2018. [Google Scholar]
- Linderhed, A. Image Empirical Mode Decomposition: A New Tool For Image Processing. Adv. Adapt. Data Anal. 2009, 1, 265–294. [Google Scholar] [CrossRef]
- Feng, Q.; Liu, J.; Gong, J. UAV Remote sensing for urban vegetation mapping using random forest and texture analysis. Remote Sens. 2015, 7, 1074–1094. [Google Scholar] [CrossRef]
- Khan, Y.N.; Komma, P.; Bohlmann, K.; Zell, A. Grid-based visual terrain classification for outdoor robots using local features. In Proceedings of the IEEE SSCI 2011: Symposium Series on Computational Intelligence—CIVTS 2011: 2011 IEEE Symposium on Computational Intelligence in Vehicles and Transportation, Paris, France, 11–15 April 2011. [Google Scholar]
- Pietikäinen, M.; Hadid, A.; Zhao, G.; Ahonen, T. Computer Vision Using Local Binary Patterns; Computational Imaging and Vision; Springer: London, UK, 2011; Volume 40. [Google Scholar]
- Ebadi, F.; Norouzi, M. Road Terrain detection and Classification algorithm based on the Color Feature extraction. In Proceedings of the 2017 IEEE Artificial Intelligence and Robotics (IRANOPEN), Qazvin, Iran, 9 April 2017; pp. 139–146. [Google Scholar]
- Lin, C.; Ding, Q.; Tu, W.; Huang, J.; Liu, J. Fourier Dense Network to Conduct Plant Classification Using UAV-Based Optical Images. IEEE Access 2019, 7, 17736–17749. [Google Scholar] [CrossRef]
- Matos-Carvalho, J.P.; Mora, A.; Rato, R.T.; Mendonça, R.; Fonseca, J.M. UAV Downwash-Based Terrain Classification Using Wiener-Khinchin and EMD Filters. In Technological Innovation for Industry and Service Systems. DoCEIS 2019. IFIP Advances in Information and Communication Technology; Camarinha-Matos, L., Almeida, R., Oliveira, J., Eds.; Springer: Cham, Switzerland, 2019; Volume 553. [Google Scholar]
- Khan, P.W.; Xu, G.; Latif, M.A.; Abbas, K.; Yasin, A. UAV’s Agricultural Image Segmentation Predicated by Clifford Geometric Algebra. IEEE Access 2019, 7, 38442–38450. [Google Scholar] [CrossRef]
- Salvado, A.B. Aerial Semantic Mapping for Precision Agriculture Using Multispectral Imagery. 2018. Available online: http://hdl.handle.net/10362/59924 (accessed on 1 December 2018).
- He, C.; Liu, X.; Feng, D.; Shi, B.; Luo, B.; Liao, M. Hierarchical terrain classification based on multilayer bayesian network and conditional random field. Remote Sens. 2017, 9, 96. [Google Scholar] [CrossRef]
- Li, W.; Peng, J.; Sun, W. Spatial–Spectral Squeeze-and-Excitation Residual Network for Hyperspectral Image Classification. Remote Sens. 2019, 11, 884. [Google Scholar]
- Yan, W.Y.; Shaker, A.; El-Ashmawy, N. Urban land cover classification using airborne LiDAR data: A review. Remote Sens. Environ. 2015, 158, 295–310. [Google Scholar] [CrossRef]
- Wallace, L.; Lucieer, A.; Malenovsky, Z.; Turner, D.; Vopěnka, P. Assessment of forest structure using two UAV techniques: A comparison of airborne laser scanning and structure from motion (SfM) point clouds. Forests 2016, 7, 62. [Google Scholar] [CrossRef]
- GruszczynSki, W.; Matwij, W.; Cwiakała, P. Comparison of low-altitude UAV photogrammetry with terrestrial laser scanning as data-source methods for terrain covered in low vegetation. ISPRS J. Photogramm. Remote Sens. 2017, 126, 168–179. [Google Scholar] [CrossRef]
- Sofman, B.; Andrew Bagnell, J.; Stentz, A.; Vandapel, N. Terrain Classification from Aerial Data to Support Ground Vehicle Navigation; Tech. Report, CMU-RI-TR-05-39; Robotics Institute, Carnegie Mellon University: Pittsburgh, PA, USA, 2006. [Google Scholar]
- Pombeiro, R.; Mendonca, R.; Rodrigues, P.; Marques, F.; Lourenco, A.; Pinto, E.; Barata, J. Water detection from downwash-induced optical flow for a multirotor UAV. In Proceedings of the IEEE OCEANS 2015 MTS/IEEE, Washington, DC, USA, 19–22 October 2015; pp. 1–6. [Google Scholar]
- Matos-Carvalho, J.P.; Fonseca, J.M.; Mora, A.D. UAV downwash dynamic texture features for terrain classification on autonomous navigation. In Proceedings of the 2018 IEEE Federated Conference on Computer Science and Information Systems, Annals of Computer Science and Information Systems, Poznan, Poland, 9–12 September 2018; pp. 1079–1083. [Google Scholar] [CrossRef]
- Shawahna, A.; Sait, S.M.; El-Maleh, A. FPGA-Based Accelerators of Deep Learning Networks for Learning and Classification: A Review. IEEE Access 2019, 7, 7823–7859. [Google Scholar] [CrossRef]
- Kiran, M.; War, K.M.; Kuan, L.M.; Meng, L.K.; Kin, L.W. Implementing image processing algorithms using ‘Hardware in the loop’ approach for Xilinx FPGA. In Proceedings of the 2008 International Conference on Electronic Design, Penang, Malaysia, 1–3 December 2008; pp. 1–6. [Google Scholar] [CrossRef]
- Tiemerding, T.; Diederichs, C.; Stehno, C.; Fatikow, S. Comparison of different design methodologies of hardware-based image processing for automation in microrobotics. In Proceedings of the 2013 IEEE/ASME International Conference on Advanced Intelligent Mechatronics, Wollongong, Australia, 9–12 July 2013; pp. 565–570. [Google Scholar] [CrossRef]
- Li, W.; He, C.; Fu, H.; Zheng, J.; Dong, R.; Xia, M.; Yu, L.; Luk, W. A Real-Time Tree Crown Detection Approach for Large-Scale Remote Sensing Images on FPGAs. Remote Sens. 2019, 11, 1025. [Google Scholar] [CrossRef]
- Zhou, G.; Zhang, R.; Liu, N.; Huang, J.; Zhou, X. On-Board Ortho-Rectification for Images Based on an FPGA. Remote Sens. 2017, 9, 874. [Google Scholar] [CrossRef]
- Liu, D.; Zhou, G.; Huang, J.; Zhang, R.; Shu, L.; Zhou, X.; Xin, C.S. On-Board Georeferencing Using FPGA-Based Optimized Second-Order Polynomial Equation. Remote Sens. 2019, 11, 124. [Google Scholar] [CrossRef]
- Huang, J.; Zhou, G. On-Board Detection and Matching of Feature Points. Remote Sens. 2017, 9, 601. [Google Scholar] [CrossRef]
- Mujahid, O.; Ullah, Z.; Mahmood, H.; Hafeez, A. Fast Pattern Recognition Through an LBP Driven CAM on FPGA. IEEE Access 2018, 6, 39525–39531. [Google Scholar] [CrossRef]
- Nguyen, X.; Hoang, T.; Nguyen, H.; Inoue, K.; Pham, C. An FPGA-Based Hardware Accelerator for Energy-Efficient Bitmap Index Creation. IEEE Access 2018, 6, 16046–16059. [Google Scholar] [CrossRef]
- Chaple, G.; Daruwala, R.D. Design of Sobel operator based image edge detection algorithm on FPGA. In Proceedings of the 2014 International Conference on Communication and Signal Processing, Melmaruvathur, India, 3–5 April 2014; pp. 788–792. [Google Scholar] [CrossRef]
- Singh, S.; Saini, K.; Saini, R.; Mandal, A.S.; Shekhar, C.; Vohra, A. A novel real-time resource efficient implementation of Sobel operator-based edge detection on FPGA. Int. J. Electron. 2014, 101, 1705–1715. [Google Scholar] [CrossRef]
- Harinarayan, R.; Pannerselvam, R.; Ali, M.M.; Tripathi, D.K. Feature extraction of Digital Aerial Images by FPGA based implementation of edge detection algorithms. In Proceedings of the 2011 International Conference on Emerging Trends in Electrical and Computer Technology, Nagercoil, India, 23–24 March 2011; pp. 631–635. [Google Scholar] [CrossRef]
- Sphinx Guide Book. 2019. Available online: https://developer.parrot.com/docs/sphinx/index.html (accessed on 30 January 2019).
- Specht, D.F. A General Regression Neural Network. IEEE Trans. Neural Netw. 1991. [Google Scholar] [CrossRef]
- Mora, A.; Santos, T.M.A.; Łukasik, S.; Silva, J.M.N.; Falcão, A.J.; Fonseca, J.M.; Ribeiro, R.A. Land Cover Classification from Multispectral Data Using Computational Intelligence Tools: A Comparative Study. Information 2017, 8, 147. [Google Scholar] [CrossRef]
- Heung, B.; Ho, H.C.; Zhang, J.; Knudby, A.; Bulmer, C.E.; Schmidt, M.G. An Overview and Comparison of Machine-Learning Techniques for Classification Purposes in Digital Soil Mapping. Geoderma 2016, 265, 62–77. [Google Scholar] [CrossRef]
- Giusti, A.; Guzzi, J.; Ciresan, D.C.; He, F.; Rodriguez, J.P.; Fontana, F.; Faessler, M.; Forster, C.; Schmidhuber, J.; Di Caro, G.; et al. A Machine Learning Approach to Visual Perception of Forest Trails for Mobile Robots. IEEE Robot. Autom. Lett. 2016, 1, 661–667. [Google Scholar] [CrossRef]
- Haralick, R.M.; Shanmugam, K.; Denstien, I. Textural features for image classification. IEEE Trans. Syst. Man Cybern. 1973, 3, 610–621. [Google Scholar] [CrossRef]
- Kim, I.; Matos-Carvalho, J.P.; Viksnin, I.; Campos, L.M.; Fonseca, J.M.; Mora, A.; Chuprov, S. Use of Particle Swarm Optimization in Terrain Classification based on UAV Downwash. In Proceedings of the 2019 IEEE Congress on Evolutionary Computation (CEC), Wellington, New Zealand, 10–13 June 2019; pp. 604–610. [Google Scholar] [CrossRef]
- Ojala, T.; Pietikaine, M. Texture Classification. Master’s Thesis, Machine Vision and Media Processing Unit, University of Oulu, Oulu, Finland, 2010. [Google Scholar]
- Materka, A.; Strzelecki, M. Texture Analysis Methods—A Review; Technical Report; Institute of Electronics, Technical University of Lodz: Lodz, Poland, 1998. [Google Scholar]
- Galloway, M.M. Texture analysis using gray level run lengths. Comput. Graph. Image Process. 1975, 4, 172–179. [Google Scholar] [CrossRef]
- Bruce, D.L.; Kanade, T. An iterative image registration technique with an application to stereo vision. In Proceedings of the 7th International Joint Conference on Artificial Intelligence (IJCAI ’81), Vancouver, BC, Canada, 24–28 August 1981. [Google Scholar]
- Farneback, G. Two-Frame Motion Estimation Based on Polynomial Expansion. Lect. Notes Comput. Sci. 2003, 2749, 363–370. [Google Scholar] [CrossRef]
- Joseph, L. Mastering ROS for Robotics Programming; Packt Publishing Ltd.: Birmingham, UK, 2015. [Google Scholar]
- Office of the Secretary of Transportation, Federal Aviation Administration, Department of Transportation. Unmanned Aircraft Systems. Available online: https://www.faa.gov/data_research/aviation/aerospace_forecasts/ (accessed on 12 March 2019).
- Pedro, D.; Tomic, S.; Bernardo, L.; Beko, M.; Oliveira, R.; Dinis, R.; Pinto, P. Localization of static remote devices using smartphones. IEEE Veh. Technol. Conf. 2018. [Google Scholar] [CrossRef]
- Pedro, D.; Tomic, S.; Bernardo, L.; Beko, M. Algorithms for estimating the location of remote nodes using smartphones. IEEE Access 2019. [Google Scholar] [CrossRef]
- REP 103—Standard Units of Measure and Coordinate Conventions (ROS.org). Available online: http://www.ros.org/reps/rep-0103.html (accessed on 7 April 2019).
- Matos-Carvalho, J.P.; Pedro, D.; Campos, L.M.; Fonseca, J.M.; Mora, A. Terrain Classification Using W-K Filter and 3D Navigation with Static Collision Avoidance; Intelligent Systems and Applications; Springer: London, UK, 2019; p. 18. [Google Scholar]
Logic Utilization | Used | Available |
---|---|---|
Number of Slice Flip Flops | 1527 [4%] | 33,280 |
Number of 4 input LUTs | 2251 [6%] | 33,280 |
Number of occupied Slices | 1754 [10%] | 16,640 |
Total number of 4 input LUTs | 2513 [7%] | 33,280 |
Number of bounded IOBs | 147 [28%] | 519 |
Number of BUFGMUXs | 2 [8%] | 24 |
Number of DCMs | 1 [12%] | 8 |
Number of DSP48As | 22 [26%] | 84 |
Water | Vegetation | Asphalt | Sand | |
---|---|---|---|---|
Water | 94.60% | 1.88% | 1.70% | 1.82% |
Vegetation | 2.45% | 95.30% | 1.01% | 1.24% |
Asphalt | 1.50% | 0.60% | 94.60% | 3.30% |
Sand | 4.20% | 0.68% | 1.87% | 93.25% |
Accuracy | 95.14% |
Reference | Terrain Classification | ||||
---|---|---|---|---|---|
Water (%) | Vegetation (%) | Asphalt (%) | Sand (%) | Average (%) | |
[16] | - | 66.73 | 82.79 | - | 77.55 |
[10] | 89.13 | 82.93 | 89.59 | 80.54 | 80.00 |
[12] | - | 79.84 | 79.05 | - | 81.17 |
[8] | 88.23 | 95.00 | 93.00 | 90.00 | 93.00 |
[18] | 93.20 | 95.10 | - | 92.97 | 93.8 |
Current work | 94.60 | 95.30 | 94.60 | 93.25 | 94.14 |
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Matos-Carvalho, J.P.; Moutinho, F.; Salvado, A.B.; Carrasqueira, T.; Campos-Rebelo, R.; Pedro, D.; Campos, L.M.; Fonseca, J.M.; Mora, A. Static and Dynamic Algorithms for Terrain Classification in UAV Aerial Imagery. Remote Sens. 2019, 11, 2501. https://doi.org/10.3390/rs11212501
Matos-Carvalho JP, Moutinho F, Salvado AB, Carrasqueira T, Campos-Rebelo R, Pedro D, Campos LM, Fonseca JM, Mora A. Static and Dynamic Algorithms for Terrain Classification in UAV Aerial Imagery. Remote Sensing. 2019; 11(21):2501. https://doi.org/10.3390/rs11212501
Chicago/Turabian StyleMatos-Carvalho, J. P., Filipe Moutinho, Ana Beatriz Salvado, Tiago Carrasqueira, Rogerio Campos-Rebelo, Dário Pedro, Luís Miguel Campos, José M. Fonseca, and André Mora. 2019. "Static and Dynamic Algorithms for Terrain Classification in UAV Aerial Imagery" Remote Sensing 11, no. 21: 2501. https://doi.org/10.3390/rs11212501
APA StyleMatos-Carvalho, J. P., Moutinho, F., Salvado, A. B., Carrasqueira, T., Campos-Rebelo, R., Pedro, D., Campos, L. M., Fonseca, J. M., & Mora, A. (2019). Static and Dynamic Algorithms for Terrain Classification in UAV Aerial Imagery. Remote Sensing, 11(21), 2501. https://doi.org/10.3390/rs11212501