Absolute Localization of Mobile Robots in Forest Environments By Correlating Ground LiDAR to Overhead Imagery by Marwan Hussein B.A.Sc., York University, Toronto, Canada (2007) Submitted to the Department of Mechanical Engineering and Department of Engineering Systems Division in partial fulfillment of the requirements for the degrees of MAssACHUSEMrS MN OF TECHNOLOGY Master of Science in Mechanical Engineering and JUN 2 6 2014 Master of Science in Engineering and Management LIBRARIES at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY May 2014 ( Massachusetts Institute of Technology 2014. A rights reserved. Signature redacted Author Department of Mechanical EnginL'ering, System Design and Management May 2014 Signature redacted Certified by Dr. Karl Jagnemma Department of Mechanical Engineering Thesi Spervisor Certified and Accepted by. -Signature redacted ,Jrctor,_SDM Accepted by. _-- _-_-_-_-_ Tatrick Hale *lvs Program Signature redacted Dr. David Hardt Chairman, Committee on Graduate Studies E -Blaink- Pagc 2 of'140 Absolute Localization of Mobile Robots in Forest Environments By Correlating Ground LiDAR to Overhead Imagery by Marwan Hussein Submitted to the Department of Mechanical Engineering and the Department of Engineering Systems Division on May 2014, in partial fulfillment of the requirements for the degrees of Master of Science in Mechanical Engineering and Master of Science in Engineering and Management Abstract A method for the autonomous geolocation of ground vehicles in forest environments is presented. The method provides an estimate of the global horizontal position of a vehicle strictly based on finding a geometric match between a map of observed tree stems, scanned in 3D by Light Detection and Ranging (LiDAR) sensors onboard the vehicle, to another stem map generated from the structure of tree crowns analyzed from aerial orthoimagery of the forest canopy. Identification of stems from 3D data is achieved by using Support Vector Machine (SVM) classifiers and height above ground filters that separate ground points from vertical stem features. Identifications of stems from overhead imagery is achieved by calculating the centroids of tree crowns extracted using a watershed segmentation algorithm. Matching of the two stem maps is achieved by using a robust Iterative Closest Point (ICP) algorithm that determines the rotation and translation required to align both datasets. The final alignment is used to calculate the absolute location of the vehicle. The localization algorithm has been tested with real-world data and has been able to estimate vehicle geoposition with errors of less than 2.1 m RMS. It is noted that the algorithm's accuracy is currently limited by the accuracy and resolution of the aerial orthoimagery used. This method can be used in real-time as a complement to the Global Positioning System (GPS) and Simultaneous Localization and Mapping (SLAM) in areas where signal coverage is inadequate due to attenuation by the forest canopy, or due to intentional denied access. The method has two key properties that are significant: i) It does not require a priori knowledge of the area surrounding the robot. ii) Based on estimated vehicle state, it uses the geometry of detected tree stems as the only input to determine horizontal geoposition. Page 3 o0 140 Thesis supervisor: Dr. Karl lagnemma Title: Principal Investigator Robotic Mobility Group Department of Mechanical Engineering Thesis supervisor: Mr. Patrick Hale Title: Director SDM Fellows Program Engineering Systems Division Page 4 of 140 -Blank- Pagc 5 of 140 Acknowledgements I would like to thank my research advisor Dr. Karl lagnemma for his guidance and support during the last two years. His pragmatic approach helped me adapt to the daunting experience of transitioning from industry to academia after an almost 5 year gap. He has taught and inspired me in many ways and got me excited about the future of autonomous robotics. He has become a mentor and a good friend. I also would like to thank Mr. Patrick Hale for his advice throughout my studies at MIT. I have never felt away from home thanks to his warm and friendly attitude. My mother Lubna (Halawa!), my sister Leen, my brother Sinan and my aunt Ghada can't be thanked enough for their encouragement, love and support during the time in which this research was performed. This research was supported by the U.S. Army Engineer Research and Development Center (ERDC) under contract number W912HZ-12-C-0027. The contract was monitored by Mr. Matthew Renner who I also thank for providing feedback and ideas throughout the project. Other financial support to the author was provided in the form of scholarships and grants from the National Sciences and Engineering Research Council of Canada (NSERC) known as the Alexander Graham Bell Canada postgraduate scholarship and the NSERC postgraduate scholarship. At the time of writing of this thesis the consumer electronics market is ripe for yet another wave of disruption. Wearable computers and virtual reality devices are starting to appear in the market, albeit at ridiculously low technology readiness levels. After a lot of time spent thinking, interviewing, and choosing, I have decided to join a quirky little company where we plan to change the face of the computer industry as we now know it. I realize this is going to be a challenging endeavor given the size of the incumbents and the complexity of the technology. Nevertheless, I'm willing to take my chances. As Ralph Emerson once said: "Do not go where the path may lead, go instead where there is no path and leave a trail". This is my calling! "Per audacia ad astra" Through Boldness to the Stars Marwan Hussein Cambridge, Massachusetts, May 2014 Page 6 of 140 -B~lank- Pagc 7 of 140 Contents CHAPTER 1: INTRODUCTION ................................................................................................... 23 1.1 RESEARCH BACKGROUND AND MOTIVATION ........................................................... 25 1.2 THESIS PROBLEM FORMULATION ................................................................................. 26 1 .2 .1 T H E SIS O B JE CT IVES ................................................................................................................................ 26 1.2.2 MATHEMATICAL PROBLEM DEFINITION ........................................................................................ 28 1.2.3 CONSTRAINT ON T HESIS SCOPE ...................................................................................................... 29 1.3 P R EV IO U S W O RK ...................................................................................................................... 29 1.4 T H ESIS O V ERV IEW ................................................................................................................... 35 CHAPTER 2: MISSION DEFINITION AND ARCHITECTURE OF LOCALIZATION A LG O R IT H M .......................................................................................................................................... 39 2.1 M ISSIO N CO N T TEXT ................................................................................................................... 39 2.2 CONCEPT OF OPERATIONS................................................................................................. 45 2.3 MISSION REQUIREMENTS ................................................................................................... 48 2.4 ARCHITECTURE: SUBSYSTEMS AND COMPONENTS................................................... 49 2.5 INPUTS AND OUTPUTS ........................................................................................................... 53 CHAPTER 3: TREE CROWN IDENTIFICATION, DELINEATION AND STEM CENTER ESTIMATION FROM OVERHEAD IMAGERY ............................................................................. 56 3.1 TREE MORPHOLOGY AND MODELING .......................................................................... 56 3.2 STEM CENTER ESTIMATION HYPOTHESIS....................................................................... 60 3.3 IMAGE PROCESSING METHODOLOGY ............................................................................. 61 3.3.1 GREEN CHANNEL EXTRACTION AND DENOISING ......................................................................... 63 3 .3 .2 B IN A RY IM A GE C REAT IO N ..................................................................................................................... 67 3 .3 .3 W ATERSH ED SEGM ENTATIO N .............................................................................................................. 68 3 .3 .4 3 .3 .5 C RO W N C LA SSIFIE R ................................................................................................................................ C EN TRO lD E STIM ATION ......................................................................................................................... 70 72 3.4 TRADE SPACE AND PERFORMANCE ASSESSMENT .................................................... Page 8 of 140 73 CHAPTER 4: TREE STEM IDENTIFICATION, EXTRACTION AND CENTER ESTIMATION FROM ROVER LIDAR DATA .............................................................................................................. 78 4.1 STEM CENTER IDENTIFICATION HYPOTHESIS............................................................ 78 4.2 DATA PROCESSING METHODOLOGY............................................................................. 80 4 .2 .1 4.2.2 4 .2 .3 4.2.4 4 .2 .5 4.3 G R O U N D H EIG H T F ILT ER ....................................................................................................................... SUPPORT VECTOR MACHINE CLASSIFIER ...................................................................................... B REA ST H EIGHT STEM SLICER ............................................................................................................. LEAST SQUARES PRIM ITIVE FITTING ............................................................................................. STEM C EN TER C ENTROID IN G ................................................................................................................ ACCURACY OF STEM CENTER LOCATIONS ....................................................................... 81 84 84 85 88 89 CHAPTER 5: ROVER LOCATION ESTIMATION BY MATCHING TREE CENTERS MAPS GENERATED FROM ROVER LIDAR TO OVERHEAD IMAGERY ............................................... 93 5.1 MAP-BASED MATCHING HYPOTHESIS........................................................................... 93 5.2 OVERVIEW OF MAP-BASED MATCHING ALGORITHMS ................................................ 95 5.3 DATA MATCHING METHODOLOGY ................................................................................. 97 5 .3 .1 5.3.2 5.3.3 5.3.4 S E A R C H S PA C E ......................................................................................................................................... ROBUST ITERATIVE CLOSEST POINT ALGORITHM ......................................................................... CALCULATION OF MOBILE ROBOT GEOPOSITION BASED ON MATCH ........................................ PERFORMANCE ANALYSIS OF ROBUST ICP ALGORITHM .............................................................. 98 100 102 103 CHAPTER 6: EXPERIMENTAL RESULTS...............................................................................107 6.1 IN T R O D U CT IO N ...................................................................................................................... 6.1.1 STUDY A REA AND DATA PREPARATION .......................................................................................... 107 107 6.2 SIM U LA TIO N SET U P .............................................................................................................. 110 6 .3 R E SU LT S .................................................................................................................................... 1 12 6.3 ACCURACY ASSESSMENT......................................................................................................123 6.4 SENSITIVITY ANALYSIS ........................................................................................................ 125 6.5 KALMAN FILTER APPLICATION ......................................................................................... 127 CHAPTER 7: THESIS SUMMARY, CONCLUSIONS AND RECOMMENDATIONS..................130 7.1 T H ESIS SU M M A RY .................................................................................................................. 130 7.2 CO N T R IB U TION S .................................................................................................................... 132 7.3 LIM IT A TIO N S ........................................................................................................................... 13 2 IPac 9 of' 140 7.4 RECO M M EN DA TIO NS FO R FUTU RE W O RK .................................................................... R E FE R EN C ES .................................................................................................................................... Page 10 of 140 132 135 List of Figures Figure 1: Horizontal locations of features (7-point stars) as observed by a LiDAR sensor onboard a m obile robot on the ground................................................................... 26 Figure 2: Overall thesis development roadmap (Chapters in bold square brackets)........ 36 Figure 3: Envisioned operational scenario of a solo mobile robot ............................... 40 Figure 4: Example of dense coniferous forest during summer season (Harvard Arboretum, Cambridge, MA, from Google Earth) .............................................. 42 Figure 5: Sensor and mobile robot mission configuration showing the anticipated m inim um working distances and FOV ................................................................. 43 Figure 6: Sequence of operations (flowchart) for localization framework showing the teleoperation and autonomous control scenarios ................................................. 47 Figure 7: Functional breakdown of localization algorithm with three levels of hierarchy: system , subsystem and com ponents...................................................................... 50 Figure 8: Block diagram of localization algorithm showing the three main subsystems and their com ponents............................................................................................ 52 Figure 9: Optical tree model showing various parameters that define a particular tree . . 57 Figure 10: Different morphologies of trees including pyramidal (conifer) trees.......... 58 Figure 11: Different types of horizontal crown profiles as seen by an overhead camera showing isolated, touching and clusters of crowns............................................... 60 Figure 12: Image processing flowchart given an input orthophoto image of the exp lo ration site ..................................................................................................... . 62 - Figure 13: Original orthophoto input image of Lake Mize test site (Source: USGS G oog le E arth )....................................................................................................... Figure 14: Resultant image after green object extraction with all non-green objects re m o v e d ..................................................................................................................... Page I I of 140 . 64 65 Figure 15: Resultant image after application of luminance algorithm that converts RGB to 8 -b it g ray scale ........................................................................................................... 66 Figure 16: Result after application of Gaussian blur function using erosion and dilation techniques to rem ove spurious pixels ................................................................... 67 Figure 17: Resultant image after creating a binary copy of the grayscale image............. 68 Figure 18: Result of applying watershed segmentation to binary image N, to delineate individual tree crow ns.......................................................................................... 70 Figure 19: Result after applying the two-stage classifier with green objects denoting valid crowns and red objects denoting invalid crowns ................................................... 71 Figure 20: Final result showing constellation map S with all crowns delineated and valid centroids denoted by (+) ........................................................................................ 72 Figure 21: Nearest neighbor search results from comparing stem locations in overhead image to those manually estimated from ground LiDAR data .............................. 74 Figure 22: Comparison between stems centers detected in overhead image to handlabeled stem centers observed in ground LiDAR data........................................... 75 Figure 23: 3D slices of different tree stems for a tree stand observed in 3D LiDAR point c lo u d [5 9 ] .................................................................................................................. 79 Figure 24: Centroid calculation by fitting a cylinder primitive [60] ............................. 79 Figure 25: Data processing flowchart for the stem center estimation algorithm given an input LiDAR dataset of the area surrounding the mobile robot............................. 80 Figure 26: Sample data showing LiDAR scans of forest grounds at the Lake Mize test site with vertical height color-coding (red: high, blue: low)...................................... 82 Figure 27: Example of a LiDAR dataset at a particular pose showing the simulated m obile robot, tree stem s and underbrush ............................................................... 82 Figure 28: Cartesian space tessellated into 0.5 m x 0.5 m cells [60]............................ 83 Figure 29: Consecutive LiDAR scans and corresponding stem slices [60]................... 85 Figure 30: Example showing cylinder primitive fitment to a single slice of LiDAR data of a tree stem [6 0 ].......................................................................................................... Page 12 of 140 86 Figure 31: An example of a bad fit showing a large ratio of R to r [60] ....................... 87 Figure 32: An example of a bad fit showing a large ratio of D to d [60] ..................... 87 Figure 33: Cylinder placement with respect to the LiDAR sensor with 5 correct cylinder placements and one wrong (top left corner) [60]................................................. 88 Figure 34: Manually placed markers by hand to identify true stems in ground LiDAR data of the L ake M ize site............................................................................................ . 89 Figure 35: Comparison between the locations of stem centers hand labeled (red) to those identified automatically by the stem center estimation algorithm (blue) given LiDAR data of Lake Mize site as input. Simulated robot path is shown in pink .............. 90 Figure 36: Matching scheme between local maps M and Mi to global map S by finding the rotation and translation param eters ................................................................. 94 Figure 37: SAD correlation process using an input local map and a constellation map [63] ................................................................................................................................... 95 Figure 38: An example of the performance of GMM ICP using two datasets (red and blue) that include outliers and jitter [68]............................................................... 96 Figure 39: Data matching flowchart showing the major data processing steps............ 97 Figure 40: ICP involves search space positioning based on last known robot geolocation and systematic search that is comprised of linear and angular stepping................ 98 Figure 41: Result from running standard ICP showing skewed position estimate due presence of one outlier injected to m ap M .............................................................. 104 Figure 42: Result from running robust ICP with the same datasets where the outlier was automatically identified by the algorithm and removed ......................................... 104 Figure 43: Geographical area of the test site at Lake Mize, FL, USA (Source: Google E arth )....................................................................................................................... 10 8 Figure 44: Lake Mize test site dimensions and simulated rover path (Image source: U S G S ) ..................................................................................................................... 10 8 Figure 45: Simulated mobile robot path in red along with all stem centers identified by the stem identification and center estimation algorithm......................................... Page 13 of 140 111 Figure 46: Geoposition results for path 1 comparing true mobile robot position to estim ates by the localization algorithm ............................................................... 113 Figure 47: Histogram of position error results as provided by the localization algorithm for p ath I ................................................................................................................. 1 13 Figure 48: Geoposition results for path 2 comparing true mobile robot position to estim ates by the localization algorithm ................................................................... 1 14 Figure 49: Histogram of position error results as provided by the localization algorithm fo r p a th 2 ................................................................................................................. 1 14 Figure 50: Geoposition results for path 3 comparing true mobile robot position to estimates by the localization algorithm...............................................................1 15 Figure 51: Histogram of position error results as provided by the localization algorithm fo r p ath 3 ................................................................................................................. Figure 52: Geoposition results for path 4 comparing true mobile robot position to estim ates by the localization algorithm ................................................................... 11 5 116 Figure 53: Histogram of position error results as provided by the localization algorithm fo r p ath 4 ................................................................................................................. Figure 54: Geoposition results for path 5 comparing true mobile robot position to estimates by the localization algorithm............................................................... 1 16 117 Figure 55: Histogram of position error results as provided by the localization algorithm fo r p ath 5 ................................................................................................................. 1 17 Figure 56: Geoposition results for path 6 comparing true mobile robot position to estimates by the localization algorithm...............................................................1 18 Figure 57: Histogram of position error results as provided by the localization algorithm fo r p ath 6 ................................................................................................................. 1 18 Figure 58: Geoposition results for path 7 comparing true mobile robot position to estim ates by the localization algorithm ................................................................... 119 Figure 59: Histogram of position error results as provided by the localization algorithm fo r p a th 7 ................................................................................................................. Figure 60: Geoposition results for path 8 comparing true mobile robot position to estim ates by the localization algorithm ................................................................... Page 14 ol' 140 1 19 120 Figure 61: Histogram of position error results as provided by the localization algorithm fo r p ath 8 ................................................................................................................. 12 0 Figure 62: Geoposition results for path 9 comparing true mobile robot position to estim ates by the localization algorithm ................................................................... 121 Figure 63: Histogram of position error results as provided by the localization algorithm fo r p ath 9 ................................................................................................................. 12 1 Figure 64: Geoposition results for path 10 comparing true mobile robot position to estim ates by the localization algorithm ................................................................... 122 Figure 65: Histogram of position error results as provided by the localization algorithm fo r p ath 10 ............................................................................................................... 12 2 Figure 66: Position error results including mean error, standard deviation and RMSF produced by localization algorithm for all paths 1-10 ............................................ 124 Figure 67: 2 parameter DOE results versus estimated position error (RMSE) for path 1 d ata (can o n ical case)............................................................................................... 12 5 Figure 68: Impact of number of detected stems per pose on RMSE for path I (canonical c a se ) ........................................................................................................................ 12 6 Figure 69: Impact of minimum stem radius on RMSE for path I (canonical case)....... 126 Figure 70: Unfiltered geoposition estimates by the localization algorithm for path 1 data (ICP in blue) as compared to the filtered version using a DKF (KF in green) and the true position data (G PS in red)................................................................................ 127 Page 15 of 140 List of Tables Table 1: Description of functional components of localization algorithm................... 50 Table 2: Descriptions of system level inputs and outputs of the localization algorithm.. 53 Table 3: C row n C lassifier Features............................................................................... 71 Table 4: DOE parameter space with 6 variables and ranges for each .......................... 73 Table 5: Eight neighborhood classification features for tessellated data...................... 83 Table 6: A robust algorithm for point-to-point matching of tree center maps in presence o f o u tlie rs ................................................................................................................ 10 1 Table 7: Properties of input data (3 aerial images and one LiDAR point cloud)........... 109 Table 8: Input parameters to localization algorithm and simulation program................ I11 Table 9: Accuracy results of localization algorithm for all test runs 1-10...................... Page 16 of 140 123 -Blank- Pagc 17 o 140 Nomenclature Abbreviations ConOps DEM DKF DOE EEPROM ERDC FOV GMM GN&C GPS GPU GUI ICP IMU INS LiDAR MAV MER NIR NSERC RANSAC RGB RMS RMSE RTK SAD SDP SIFT SLAM SNR SURF SVM UAV Concept of Operations Digital Elevation Model Discrete Kalman Filter Design Of Experiments Electrically Erasable Programmable Read Only Memory Engineering Research Development Center Field Of View Gaussian Mixture Model Guidance Navigation and Control Global Positioning System Graphics Processing Unit Graphical User Interface Iterative Closest Point Inertial Measurement Unit Inertial Navigation System Light Detection And Ranging Micro Air Vehicle Mars Exploration Rover Near Infra Red National Science and Engineering Research Council RANdom SAmple Consensus Red Green Blue Root Mean Squared Root Mean Squared Error Real Time Kinematic Sum of Absolute Differences Swiftest Descending Path Scale Invariant Feature Translorm Simultaneous Localization And Mapping Signal to Noise Ratio Speeded Up Robust Features Support Vector Machine Unmanned Aerial Vehicle Page 18 of 140 UGV USGS UTM WGS84 Unmanned Ground Vehicle US Geological Survey Universal Transverse Mercator World Geodetic System Symbols Listed in order of appearance M XM yM Rv Xr yr S xs Es Rr x y z ch cc Xt Yt bh brh cr gin xin Yin g b t N G Local map generated from ground LiDAR data x-coordinate of local map M y-coordinate of local map M Mobile robot absolute horizontal location vector Absolute location of rover along Easting Absolute location of rover along Northing Global map generated from overhead imagery Coordinate of a point in global map S along Easting Coordinate of a point in global map S along Northing Distance error Rotation matrix Translation vector x-coordinate of 3D profile of tree crown relative to st em base y-coordinate of 3D profile of tree crown relative to st -m base z-coordinate of 3D profile of tree crown relative to st(em base Height of base of crown Normalized radius of curvature x-coordinate of apex of tree crown relative to stem ba se y-coordinate of apex of tree crown relative to stem ba se z-coordinate of apex of tree crown relative to stem ba se Base height Breast height Radius of crown at base Filtered green image Column index of image Row index of image Green channel Red channel Blue channel Green contrast threshold Image following green channel extraction Gaussian Blur Function Page 19 of 140 ai yi Ne d Gaussian disk radius Column index of Gaussian blur disk Row index of Gaussian blur disk Image following application of Gaussian blur function Binary image Input image Euclidean distance transform Input point in 3D space Input point in 3D space Watershed segmentation transform Column address of connected pixel Row address of connected pixel Immediate neighbor Diameter of crown object e Eccentricity X, R Set of points comprising a stem Diameter of cylinder primitive base r Radius of curvature of stem point cluster P Lowest point in stem F Feature C Centroid C', Classification cost OM Os Frame origin of local map M Frame origin of global map S XSS Easting coordinate of center of search space YSS Northing coordinate of center of search space xOD Distance along Easting measured by odometry yOD Distance along Northing measured by odometry Rss Rotation matrix of search space tSS Translation vector of search space nySs Number of rotation steps in angular search space nss Number of linear steps in linear search space o Angular step dX Linear step along Easting dy Linear step along Northing MGEO Local map in global frame Os XGEO Absolute Easting coordinates of local map M yGEO Absolute Northing coordinates of local map M Xe.o/ Linear correction along Easting j N, Nb I d p q WS xi Page 20 of 140 Ps Linear correction along Northing State vector of simulated mobile robot Pose 011(11 Maximum angular search space iMOXs Maximum number of iterations Minimum crown diameter Yu11 Xstate diaminin diammxax Maximum crown diameter Sm~in Linear dimension of search space Minimum number of stems per pose enl, Distance error threshold x0 True Easting position of mobile robot y" True Northing position of mobile robot Estimated Easting position of mobile robot Estimated Northing position of mobile robot 1,, Subscripts and Superscripts (- (ij) entry of a matrix () ith entry of a vector Units Units in this thesis are typically given in the SI-system (systeme international) and are enclosed in square brackets, e.g. [m/s]. Page 21 of 140 -Blank- Page 22 of 140 Chapter 1 Introduction The Global Positioning System (GPS) has been extensively utilized for decades to localize ground and airborne vehicles [1]. Vehicles with GPS receivers integrated into their navigation systems and running standalone can localize instantly with sub-meter accuracies [1]. Centimeter accuracy has been achieved using augmentation systems and other online correction methods such as Real-Time Kinematic (RTK) [2]. Mobile robots have utilized GPS extensively for outdoor path planning. Sequential traverse waypoints with respect to a global reference system are programmed into the robot and then used during motion for course comparison and correction using GPS. Despite advances in GPS measurement methods that have resulted in drastic improvements to localization accuracies, GPS can be rendered ineffective and hence unusable under different scenarios, mainly: * Attenuation of signals in forest environments by dense tree canopies for rovers operating on the ground to the point where signals can be hardly received [3]. * Multi-path of GPS signals in cluttered environments such as urban city centers that result in significant positioning errors [3]. Known as the "urban canyon" effect, facades of tall and large buildings reflect GPS signals multiple times before reaching the robot's receiver, thus increasing pseudoranges and skewing final position estimates. * Intentional GPS signal spoofing, dithering or denied access could render the service inaccessible and potentially unreliable for continuous and real-time localization purposes [3]. Due to the limitations noted above in the performance and reliability of GPS based navigation, non-GPS based techniques have been utilized for robot geopositioning. Dead reckoning frameworks that do not rely on GPS and use Inertial Measurement Units (IMU) have been used extensively [4]. Based on a known reference position, attitudes and accelerations of the robot in all three axes are integrated over time to produce Page 23 of 140 positional estimates in real-time. However, due to the continuous drift in attitude estimation by the IMU, this technique is prone to ever increasing errors in measured position [4]. Such drifts, which theoretically could be unbounded, cause considerable challenges for rovers that need to perform precision operations within close proximity to waypoints of interest. Non-GPS and non dead-reckoning techniques have been developed over the past few years to address the limitations discussed above. Of note are Simultaneous Localization and Mapping (SLAM) algorithms, which have been successfully utilized to localize rovers in a variety of settings and scenarios [5]. SLAM focuses on building a local map of landmarks as observed by a rover and using it to estimate the rover's local position in an iterative way [5,6]. Landmarks are observed using external sensors that rely on optical (i.e. visible camera or Light Detection and Ranging - LiDAR), radar or sonar based means. Positions of landmarks and that of the rover are estimated a priori and post priori lbr each pose and then iteratively refined [6]. Position errors could be initially high but tend to converge as more landmarks are observed and as errors are filtered. Of note are schemes that utilize visual odometry and scan matching whereby successive frames at different poses are matched using least squares methods to determine changes in motion [7]. Although these methods could be computationally expensive, they have been successfully integrated into SLAM to provide real-time position estimation. It is noted that the absolute global location of the starting position of the rover needs to be known in order for subsequent poses to be georeferenced [6]. This thesis builds upon the concept of visual based scan matching by developing a novel vision based algorithm that provides a non-iterative estimate of the global position of a rover. The algorithm estimates robot position by comparing landmarks, in this case tree stems observed on the ground, to tree stems detected in overhead georeferenced imagery of the forest canopy. The method is envisaged to be used in two possible scenarios: i) cooperative robotic exploration scheme whereby airborne images of tree canopy captured by an Unmanned Aerial Vehicle (UAV) are matched to 3D maps of the ground beneath acquired by a LiDAR sensor onboard a rover. ii) Solo robotic exploration scheme whereby 3D maps of the forest are captured by a rover mounted LiDAR sensor and compared to an overhead image library preloaded into the rover a priori. In either scenario, only vision based data products are used to estimate the global position of a rover without reliance on GPS. The proposed scheme is similar in concept to the "kidnaped robot" problem where a robot is required to ascertain its position after being placed in an unknown previously unexplored environment [8]. The presented method is envisaged to be complementary in nature to traditional vision and map based navigation frameworks where it could be invoked on-demand by the rover as the need arises. In essence, we anticipate the algorithm to run in the background at all times as a backup that kicks in whenever the primary GPS localization service is down or becomes unreliable. Page 24 of 140 Alternatively, and to enable real-time redundancy in geoposition estimation, the method could be used in tandem with the primary localization service. 1.1 Research Background and Motivation The work described in this thesis can be categorized under vision based localization and mapping, a field currently garnering lots of attention by roboticists worldwide. In particular, absolute localization without the use of GPS is a new field of study that is now being investigated. The topic is becoming more important considering the different physical environments (e.g. forests and urban areas), and adversarial conditions such as intentional denied access that make it challenging and sometimes impossible to operate using GPS. An interesting problem this thesis seeks out to solve is to investigate what localization methods and/or ways that can be used to circumvent limitations of GPS navigation. With limited access to radio-wave means of localization, inertial techniques are usually considered. However, as mentioned earlier and as will be discussed later in the thesis, inertial navigation is prone to drifts that are unbounded if corrections are not continuously applied. Vision based localization becomes a feasible choice by offering "spoof-proof' localization that only requires exteroceptive sensor inputs from visible light camera and/or LiDAR sensors. Localization and mapping are two intertwined concepts in the field of vision based navigation. To build a map of its surroundings, a rover uses exteroceptive sensory inputs to construct feature maps composed of the relative locations of objects. To put objects in their respective coordinates accurately, the rover needs to know its location first. To localize, the rover can determine its absolute or relative location based on matching what it observes to what it expects to observe. This presents a "chicken and egg" problem where in order to construct accurate maps of its surroundings; the rover needs to know its location a priori. However, the rover needs to first construct maps of objects around it in order to estimate its location, and vice versa. This particular problem has been the focus of extensive research by the SLAM community and is considered to be outside of the scope of this thesis. The work presented in this thesis is focused on the localization aspect by decoupling it from SLAM and applying novel techniques to determine geoposition through the use of exteroceptive data sources. Figure 1 illustrates the top-level research problem of the thesis. Any static object detected by a mobile robot on the ground can be used to construct a spatial map composed of the horizontal locations of these objects relative to the robot. Theoretically speaking, at least two features need to be observed in order for the mobile robot to localize itself horizontally. Vertical localization (height) is not considered in this thesis. Relative horizontal locations of objects are typically measured at their centroid for Page 25 of 140 * symmetric or pseudo symmetric objects such as tree trunks and crowns, or at discrete edges at particular heights for corners of buildings in urban environments. I- Direction of Travel 4 Figure 1: Horizontal locations of features (7-point stars) as observed by a LiDAR sensor onboard a mobile robot on the ground Using exteroceptive sensor inputs from camera, sonar and LiDAR of the immediate environment, a rover can determine its position by constructing spatial feature maps that can be compared to maps previously collected of the same area. Highresolution orthoimagery of the exploration site provide an excellent ground truth upon which local maps generated by the rover on the ground can be compared against. As illustrated in Figure 1, features detected relative to the rover on the ground will have the same geometric relationship between them regardless of the origin or type of sensor used, given reasonable accuracies. The spatial invariance property of these features is exploited to construct maps that can be compared to preloaded ground truth data of the exploration site. This application of multi-sensor fusion is novel within the context of absolute rover localization. 1.2 Thesis Problem Formulation 1.2.1 Thesis Objectives The first objective of this thesis is to advance the field of autonomous rover navigation by developing a vision based localization algorithm that relies on Page 26 of 140 exteroceptive sensor data to match feature maps collected on the ground to georeferenced ground truth of the exploration site. In other words, given a local feature map constructed from on board vehicle sensors, M= [(x"AI,yx"f), (x-,V 2),..., (x'',y',)], where xly and y are horizontal coordinates of features relative to the rover, the algorithm attempts to estimate the rover's absolute horizontal location, R, = [x',y'], by matching M to another feature map S = [(xs s I) 2J)2) s -, (s ss7)], where xsi and y S are the absolute horizontal coordinates of ground truth features observed by other means (e.g. aerial, satellite). Through a least squares approach, the algorithm can generate estimates of the absolute location of the rover depending on the matching result of both datasets. The theoretical questions to be answered by this thesis are: . . 1. What kind of features and feature properties can be used to invariantly specify feature locations, within the context of an outdoor environment, as they are detected by the rover on the ground (local map M)? 2. What kind of data, features and feature properties can be used to invariantly specify absolute positions (world coordinates) of features for use as ground truths (global map S)? 3. How to register, in 2D, local maps M to constellation map S while achieving absolute accuracies on the order of the individual accuracies of the data inputs used E, = [El, E2,..., Ek]? Where E; are the individual metric accuracies of the inputs. A second objective of the thesis is to demonstrate the efficacy and properties of the localization algorithm in the context of finding the absolute position of a single rover operating in a dense forest environment. In particular, the thesis attempts to answer the following applied questions: 1. What are the specific parameters that mostly affect the localization accuracy, its convergence and repeatability? 2. What is the maximum achievable accuracy performance of the localization algorithm? 3. What are the functional and performance constraints of the localization algorithm and what are some future steps that can be taken to improve performance, if any? A third objective of the thesis is to implement the localization algorithm and experimentally demonstrate its ability to provide correct and accurate absolute position estimates using real-world data: 1. Implement the vision based localization algorithm in a common and userfriendly technical computing environment, and thoroughly test it with various real-world sensory datasets of different properties. Page 27 of 140 2. Validate the resulting performance data with theoretical estimates given properties of the exteroceptive sensor inputs. 3. Obtain insights on the maximum level of accuracy attainable and expected real-world performance given experimental field data. Finally, the fourth objective of the thesis is to study and specify typical Concepts of Operations (ConOps) that describe how Unmanned Ground Vehicles (UGV), i.e. rovers, are envisioned to operate using the vision based localization algorithm. In particular, the following are systems questions that will be addressed: 1. What are the important system-level requirements describing the functionality, operability and performance of rover localization in outdoor environments? 2. What is the system architecture and use context envisioned for the localization algorithm? Who are the primary stakeholders, beneficiaries and agents of such a system? 3. What is the optimal envisioned operations concept and how can the algorithm be integrated into a rover system? What inputs/outputs are expected and what internal processes are employed to provide the anticipated results? 1.2.2 Mathematical Problem Definition The horizontal map that comprises the global horizontal coordinates of tree stems in aerial imagery is described by: S = [(x, yr), (x,y), ... , (xi, ys)], xs, ys E R i = 1, 2 . . , m Where xs; and Vsi are the absolute horizontal coordinates of the centroids (stems) of tree crowns detected in overhead imagery with respect to a worldwide reference frame, e.g. WGS84. mi represents the number of tree stems in the set. The set S can be considered as a constellation of tree crowns, in analogy to star constellations, which can be used for navigation. In this case, tree crowns are used instead of stars for matching purposes. Local feature maps comprising the relative horizontal coordinates of tree stems detected from onboard LiDAR data can be described by: M=[(xm, yM), (xM, ym), . . , (xM,, ym")], xm~ym E R i = 1, 2 . . , n Where x 1 ; and v";' are horizontal coordinates of tree stems relative to the rover at each pose. n represents the number of tree stems observed at each pose. Page 28 ol 140 The localization problem can be described as follows: Given a constellation set S and a relative set M both comprising horizontal locations of stems, how can set M be accurately matched with set S in order to determine the absolute horizontal location of the rover? Mathematically, the above can be solved using a constrained non-linear optimization scheme such that: 2 arg min Es,GEj2 = IIRXM + t - SI Such that R > 0, t > 0 Where R and i are the horizontal rotation matrix and translation vector needed to transform M to match S. E is the square of the Euclidean distance error between the transformed M and constellation set S, i.e. the square of the norm of the error vector E. In theory, E should be proportional to ES: E oc Es, Es = [El, E2 ..., E] i = 1,2, . . , k Where k is the number of local sets M, or number of poses, assuming one set M per pose. The transformed set M is then used to retrace the origin of observations for each stem to estimate the absolute location of the rover. 1.2.3 Constraint on Thesis Scope The scope of this thesis is limited to finding the absolute location of a rover within a constrained search space centered on the best-known position of the rover. This scheme is in contrast to performing a brute force global search that is not limited to a particular geographic area. Considering real-time applications of this algorithm, a global search scheme would not be time efficient, or necessarily accurate enough. The implication of such a constraint would require the algorithm to expect a constant stream of estimated rover poses as determined by its onboard Guidance Navigation and Control (GN&C) system. The algorithm would therefore take horizontal position estimates from the GN&C system, determine the absolute position of the rover using its frameworks and then feed those location estimates post priori to the GN&C system, which in turn employs its own Kalman Filter. The scenario described above is considered more realistic and is in line with current state-of-the-art in rover navigation and localization. 1.3 Previous Work This section gives a short overview of the scientific literature relevant to the development and validation of the localization algorithm. The literature search begins Page 29 of 140 with reviewing papers on the fundamentals of rover localization using different technologies and techniques. The current state-of-the-art in localization and mapping is discussed along with initial work by other researchers in the field of vision based localization. A specific part of this thesis is based on work performed by past members of the Robotic Mobility Group at MIT specifically in the area of tree stem center estimation from LiDAR data. Their work is also introduced in this section and described in more detail in the main body of the thesis. Early terrestrial mobile robot localization techniques employed wheel odometry, inclinometers and compass sensors to determine the robot's position relative to a known starting point [9]. Wheel odometry sensors measure the number of wheel rotations to determine distance traveled while inclinometers measure the direction of the gravity vector relative to the body frame of the vehicle, thus providing a direct measurement of the pitch and roll of the vehicle. A compass is used to measure magnetic heading of the mobile robot with respect to the body frame. Common localization techniques incorporate all of the above measurements as part of a vehicle model and integrate measurements to determine the robot's displacement as a function of time [9,10]. This technique is known as dead reckoning [10]. However, due to wheel slip and azimuthal angle drift in wheel odometers, as well as temperature drifts in inclinometer and magnetic compass readings, errors from dead reckoning increase with time and are theoretically unbounded [10]. For example, during the Mars Exploration Rover (MER) mission, the Opportunity rover wheel odometry sensor once underestimated a 19 m traverse by about 8% [11]. More sophisticated technologies such as Inertial Navigation Systems (INS) have been successfully used to localize rovers with moderate accuracies [12]. Although considered to belong to the class of dead reckoning techniques, INS technology has garnered immense interest during the second half of the last century with many sensors deployed onboard vehicles of all kinds and applications. INS technology typically employs 3-axis gyroscopes integrated with 3-axis accelerometers to form an Inertial Measurement Unit (IMU) [13]. The gyroscope assembly measures vehicle attitude along roll, pitch and yaw with respect to a known body frame, while the accelerometer assembly measures the accelerations along all three axes with respect to a known body frame [13]. To determine location with respect to a starting position, the vehicle's state model comprised of the attitude and acceleration data is integrated over time. This technique still suffers from error drifts that are theoretically unbounded. However, the technique provides much higher accuracy than inclinometers and compasses because of the low drift rate and low noise of the 3-axis gyroscope and the 3-axis accelerometers [13]. Regardless of what sensor technology is used, the starting position of the vehicle needs to be known in order for subsequent data to be referenced. Page 30 of 140 The satellite based GPS system has been extensively used for terrestrial navigation and localization applications. GPS technology relies on a satellite constellation that provides global coverage of the earth (US Navstar system) [14]. To localize, a vehicle carrying a GPS receiver requires at least 4 satellites overhead with direct line-of-sight [14]. Each satellite sends a carrier signal with timing information that is decoded by the receiver. By comparing the time when the signal was sent to the time it was received, a receiver can determine the distance traveled through the speed of light relationship. With satellite-to-receiver distance information known, and by using the ephemeris of satellites overhead, a receiver can triangulate its 3D position with accuracy limited to the timing error between the clock on the satellite and that used by the receiver [15]. Real-time GPS accuracies, with no corrections applied, have been reported on the order of 5 m (spherical) [16]. For higher accuracy applications, techniques such as Differential GPS (D-GPS) are used to attain accuracies at the sub-meter and decimeter level [16]. Since the GPS signal is dithered intentionally for commercial use (C/A mode), non-corrected GPS position readings arc inaccurate. D-GPS relies on using real-time corrections calculated by static stations on the ground, thus the term "differential". To attain cm-level accuracy, raw GPS position measurements are post-processed using the logged corrections [17]. Other techniques such as Real-Time Kinematic (RTK) provide cm-level accuracy by correlating the incoming carrier signal over time. This technique has the advantage of lower ambiguity interval, which is on the order of 19 cm for the L 1 carrier [18]. In general, GPS is considered a universal localization method that is reliable under normal conditions. However, GPS signals can be easily attenuated in forest and urban environments. In particular, dense forest canopies have the potential of completely blocking GPS signals from receivers operating on the ground [19]. In similar fashion, GPS signals in dense urban centers (city centers with dense vertical developments) tend to be either attenuated or bounced around and delayed in a phenomenon known as multipath [20]. This "urban canyon" effect has been investigated and several solutions were implemented. Of note are solutions that integrate INS and GPS to form full positionorientation sensor systems. For example, systems offered by companies such as Trimble/Applanix and Novatel rely on GPS as long as signal coverage is reliable and automatically switch to INS based positioning whenever GPS becomes unreliable [21]. Although effective, these systems are sophisticated, bulky and expensive. It is noted that the localization accuracy of this method will degrade in an unbounded fashion in scenarios where there are long GPS outages. This is due to the method's reliance on INS dead reckoning. Techniques that are different from INS and GPS rely on visual-based sensors and algorithms e.g. visual odometry and scan matching. Visual odometry relies primarily on Page 31 of 140 passive camera sensors that are integrated into a mobile robot [22]. Cameras acquire successive images of the terrain and other features surrounding the mobile robot. Visual odometry algorithms track features across successive pairs of images to measure variations in the pose of the robot [22]. Features are typically extracted using various image processing algorithms such as Speeded Up Robust Features (SURF) or Scale Invariant Feature Transforms (SIFT) [23,24]. Visual odometry has been extensively used in terrestrial and space based applications e.g. MER and Curiosity rovers on Mars [25]. The algorithm is fully automated and can be operated in real-time at the expense of moderate processing speeds, which may require a dedicated Graphics Processing Unit (GPU) [25]. Although effective lor relative navigation, visual odometry still requires continuous tie-in to known global benchmarks in order to provide global localization measurements. In addition, visual odometry is prone to unbounded error growth due to the dependence of future poses on previous position estimates [26]. Due to these characteristics, visual odometry is also classified as a dead reckoning technique. Scan matching is another vision based navigation method that relies on matching 3D point cloud data captured by laser scanning sensors onboard a mobile robot [27]. Unlike visual odometry, scan matching typically relies on point-to-point matching algorithms such as Iterative Closest Point (ICP) [27]. Pairs of scans taken at successive poses are provided to ICP to determine the translation and rotation between the frames. After an alignment is found, a change in the location of the robot can be determined. Similar to visual odometry, scan matching requires moderate processing power in realtime and therefore could require a dedicated GPU. By matching successive frames, scan matching is also prone to unbounded errors that grow from frame to frame. The algorithm still requires the absolute starting locations of the mobile robot in order to georeference successive pose estimates. An example is that of Song et al (2012) who employs scan matching to the problem of determining the relative pose of a mobile robot in dense forest environments [28]. Tree trunks scanned by an onboard 3D laser scanner are processed and abstracted to form an occupancy map of trunks observed at a particular pose. Successive pairs of maps are compared and correspondences are determined based on the observed 3D point patterns. Levinson et al (2011) applies scan matching to a driverless car application by utilizing a particle filter that correlates successive pairs of 360' LiDAR scans to estimate the vehicle pose [29]. The algorithm reduces the complexity of LiDAR data by filtering out non-ground points and retain road data. Road lane stripes and other white markers on the road are extracted and used for matching between successive scans at different poses. A different class of localization methods does not rely on distance traversed (dead reckoning) or timing signals (GPS), but instead matches local maps of the immediate environment around the robot to global maps of the area the robot is exploring. Maps here imply 2D imagery, 3D point clouds or occupancy grids. The techniques most relevant to this description follow the procedure of feature detection, extraction and Page 32 of 140 matching. In this process, features are first detected, delineated and extracted from the global and local maps using image-processing techniques. Local feature maps are then matched to global feature maps to find correspondences. Once the correspondences are found, the features are aligned in order to produce an estimate of the location of the mobile robot with respect to a global rieference system. Various researchers have tackled the problem of global map matching and have developed algorithms specifically for this purpose. Planitz et al (2005) and Mian et al (2005) evaluated several algorithms that automatically determine correspondences between 3D point clouds [30,31]. However, researchers were not restricted to 3D applications. Mikolajczyk and Schmid (2005) focused on finding feature descriptors in 2D images [32]. Se et al (2005) utilizes a Hough transform method to extract visual landmarks in 2D frames and a RANdom SAmple Consensus (RANSAC) scheme to compare and match landmarks in local frames to a database map. The method is effective but expects the global map to be free of outliers or "false positives" in order for pair-wise alignment and matching to perform reliably [33]. Zhang (1994) examined use of ICP for surface alignments of 3D maps in several formats, e.g. Digital Elevation Model (DEM) and point clouds [34]. Early work by Hayashi and Dean (1989) aimed at extracting, comparing and matching data from robot based laser scanners to a high resolution global DEM. Their pioneering work was interesting but their simulations yielded poor accuracy because of the large difference in resolutions between the local and global maps used [35]. Stein and Medioni (1995) worked on comparing global aerial maps to local rover maps by comparing skylines captured by a camera onboard a mobile robot to a satellite based topographic map. This method required an area with dense topographic features such as mountainous landscapes and has resulted in accuracies on the order of a hundred meters [36]. Behar et al (2005) explored using high-resolution aerial images for use as global maps instead of coarse orbital imagery. However, his method still relied on dense topographic features for feature detection, extraction and matching [37]. Ramalingam et al (2010) utilized a similar approach for use in urban canyons where skyline imagery of buildings are processed to extract features such as edges of buildings, which are compared to aerial or satellite maps of the same area [38]. Accuracies of 2 m were achieved but the algorithm has several limitations mainly that skylines of buildings are expected to be close to the camera. Another limitation is the fact that nighttime operation is not possible due to use of visible light cameras. Majdik et al (2013) utilize a similar approach for localizing a Micro Aerial Vehicle (MAV) looking down onto buildings [39]. Features detected in the downward looking image, such as building edges, are compared using a SIFT algorithm to a global feature database extracted from Google Street View. By matching features in the horizontal plane, the vehicle is capable of determining its global horizontal location. Kretzschmar et al (2009) utilize a similar approach that is augmented with data from open-source photo websites such as Flickr [40]. Carle et al (2010) build upon prior work by utilizing long-range 3D Page 33 of 140 laser scanner data from a mobile robot that is compared to preloaded DEMs. The position estimates are enhanced by incorporating visual odometry and sun sensor measurements. Accuracies on the order of 50 m were reported [41]. Although accurate when compared to results from earlier work, the algorithm relies on external sensor data to drastically improve accuracy, which is not an optimal or reliable scheme in uncooperative environments. A different method is Simultaneous Localization and Mapping (SLAM), which has been successfully utilized to localize rovers in a variety of settings and scenarios [42,43]. SLAM focuses on building a local map of landmarks as observed by a rover to estimate its local position in an iterative way [42]. Landmarks are observed using external sensors that rely on optical (i.e. visible camera or LiDAR), radar or sonar based means. Positions of landmarks and that of the rover are estimated a priori and post priori for each pose and then iteratively refined. Position errors could be initially high but tend to converge as more landmarks are observed and as errors are filtered. SLAM can be integrated into schemes that utilize visual odometry and scan matching to provide realtime position estimation. Although such techniques do not require a priori knowledge of the locations of landmarks or that of the rover, the global location of the starting position of the rover needs to be known in order for subsequent poses to be georeferenced. Iser et al (2010) implements a particular instantiation of a SLAM algorithm to globally localize a rover [441. At each pose, a local map of the surroundings is produced using onboard sensors. Iser's work is sensor agnostic and only requires at a minimum a 2D occupancy map of features. Global localization is achieved by invoking RANSAC to perform coarse matching between local maps and a global map of the area. The difference in this implementation is that Iser implemented RANSAC as part of a SLAM framework where matches between local and global maps are refined iteratively as maps get built. In summary, previous work has focused on globally localizing mobile robots using a variety of sensors, algorithms and methods. Considering map-based localization methods, the majority of researchers focused on either matching successive data frames to determine changes in pose, or by matching unobscured data observed locally by the mobile robot to global maps of the exploration area. Localizing robots in obscured environments such as dense forest grounds is a problem that has just recently been garnering interest by researchers. Considering a GPS denied environment, map-based localization becomes challenging in forest environments simply because features observed on the ground by the mobile robot may not necessarily be observable in aerial or orbital based imagery. Therefore, standard map-based localization algorithms will be challenged in providing reliable data in uncooperative environments. The research undertaken in this thesis tackles the specific scenario of localizing a mobile robot in dense forests using vision based sensors and matching methods as discussed in the following sections. Page 34 of'140 1.4 Thesis Overview A thesis roadmap is shown in Figure 2. The purpose of this roadmap is to logically organize the thesis research, which solves the mathematical problem definition given in Section 1.2. The flow diagram in Figure 2 comprises the development of the vision based localization framework. Specific chapters of the thesis addressing particular details of the modules shown in Figure 2 are specified in bold and in square brackets. The methodology adopted to undertake the research and develop this thesis has followed the flow shown in Figure 2. Initial work comprised defining the operations concept of a mobile robot in a dense forest. In particular, the use context was investigated in order to determine likely scenarios and applications that would utilize vision based localization. Chapter 2 takes a detailed look at particular mission scenarios that would make use of vision based localization and how, in particular, a kidnapped robot scenario can be addressed. The work concludes by specifying a set of operations and functional requirements that detail scenarios, operations aspects and performance parameters for mobile robot localization in dense forest environments. Based on the operations concepts and requirements established, a top-level architecture of the vision based localization framework was defined. The architecture seeks to capture the important functional building blocks required to perform localization of a mobile robot. This includes defining the subsystems (modules) that are to be integrated as part of the overall framework. In addition, inputs and outputs at the toplevel of the framework are defined in order to clarify how the framework can be integrated to mobile robots and their Guidance, Navigation and Control (GN&C) systems. Chapter 2 captures the architectural details of the algorithm and provides specific information regarding compatibility of this algorithm to current navigation workflows. Following the definition of the mission concepts and requirements, detailed design and implementation of the various components and subsystems of the localization framework were considered. Starting with Chapter 3, detailed designs of each of the three important sub-systems of the vision based localization algorithm are given. The chapter tackles the automatic tree crown identification, delineation and extraction task. This subsystem is responsible for estimating tree crown centers, and hence tree stems, from aerial or orbital imagery. Various image processing algorithms are implemented and explained, most notably, the watershed segmentation algorithm that enables unambiguous delineation of tree crowns. The output from this subsystem is a global map (constellation) comprised of the detected tree stems that are used by the matching algorithm. Page 35 of 140 Vision-Based Localization Algorithm Operations Concept and Requirements [CH 2] Vision-Based Localization Algorithm Architecture [CH 2] Tree Crown Identification, Delineation and Center Estimation (Overhead Image) [CH 4] Arthihot Aerial Orthophoto Orthophoto Projection Green Extraction & Denoising Watershed Segmentation Binary Image Creation 8-connected OjctnEctd & entrin Tree Stem Identification, Extraction and Center Estimation (Rover LiDAR) [CH 5) LiDAR Data Per Pose Ground Height Filter SVM Classifier Breast Height Stem Points Least Squares Primitive Fitting Matching of Tree Centers from Overhead Imagery and Rover LiDAR Data [CH 6) Stem Center Centroiding Ground Stems Stem Set M Constellation Set Establish Search Space Around Best Known Position Invoke ICP Variant Rover EPose Estimate Calculate Rover Position Based on Match Results Rover Absolute Location Estimate [CH 7] Figure 2: Overall thesis development roadmap (Chapters in bold square brackets) Generation of the local map for matching purposes at each pose is the focus of Chapter 4. The development of this subsystem borrowed significantly from prior work by Matt McDaniel of the Robotic Mobility Group at MIT. The algorithm takes as input 3D point clouds of the forest grounds around the mobile robot and processes data to extract individual tree stems and their relative horizontal locations. The local map generated in this step is used for subsequent matching with the global map for geopositioning purposes. Although discussed as if this component was developed after the tree-crown delineation algorithm, it was actually modified from its original source (Matt McDaniel) to be integrated into the framework discussed in this thesis. The last component of the vision based algorithm is the matching of locally generated maps to global maps of the area explored by the rover. A variant of the ICP algorithm performs matching and alignment of locally generated maps of tree stems around the rover to global stem maps estimated from overhead imagery. The main difference in the ICP implementation in this thesis is its improved robustness in handling outliers (false positive stems identified in ground LiDAR data). The method employs an exhaustive search approach that systematically eliminates outliers by minimizing resultant position error between the best known rover position and that estimated by the algorithm. Chapter 5 details the design, implementation and inner workings of the matching algorithm as well as its constraints and limitations. Page 36 of 140 After implementing the localization framework, several tests were undertaken using real-world data to validate and verify the performance and functionality of the localization framework. Real-world data of a dense forest near Lake Mize in Florida, USA, was used in different test regimens to assess performance. Data from the Lake Mize site consisted of high-resolution 3D LiDAR scans of the forest grounds coupled with open-source high-resolution aerial imagery of the same area. Chapter 6 details the data products used, tests regime, processing workflow and localization results. To characterize accuracy, position error results from the vision based localization algorithm were compared to estimated true measurements (ground truth). Chapter 7 provides concluding remarks on the overall thesis project and the achieved results. Conclusions on the applicability and usefulness of the algorithm are discussed. Potential future work is discussed and mentions emerging uses for autonomous ground vehicle localization in dense urban environments. Pagc 37 of 140 -Blank- Pagc 38 of' 140 Chapter 2 Mission Definition and Architecture of Localization Algorithm This chapter defines the mission and the top-level architecture of the localization algorithm. Candidate operational scenarios are also discussed within the context of navigating a mobile robot in a forest environment without access to GPS. 2.1 Mission Context The main goal of the localization framework is to provide reliable and accurate horizontal geoposition estimates of a mobile robot while traversing an unknown area in a forest environment. The localization framework is envisaged as part of two possible scenarios: 1. Cooperative _robotic exploration scheme: Airborne or orbital images of the tree canopy are matched to 3D maps of the ground acquired by LiDAR sensors onboard a mobile robot. Overhead imagery acquired in real-time is transmitted from the overhead platform to the mobile robot as required. Overhead data and ground LiDAR data are processed online onboard the mobile robot. 2. Solo robotic exploration scheme: 3D maps of the forest grounds are captured by a LiDAR sensor onboard a mobile robot and compared to an overhead aerial or orbital map loaded into the rover a priori. This scheme is similar in concept to the "kidnaped robot" problem where a robot is required to ascertain its position after being placed in a foreign unexplored environment. The localization framework is envisaged to be complementary to traditional GPS and map based navigation frameworks where it could be invoked on-demand by the mobile robot as the need arises. In essence, we anticipate that the algorithm is run in the background at all times as a backup whenever the primary GPS localization service is down or becomes unreliable. Alternatively, and to enable real-time redundancy in Page 39 of 140 geoposition estimation, the method could be used in tandem with the primary localization service. To simplify and focus the research effort, the solo robotic exploration scheme (scenario 2) was considered as the primary scenario upon which the simulations, data acquisition and algorithm development were all based on. To provide a detailed definition of typical missions and scenarios considered for use with the localization algorithm, a rundown of a hypothetical operational scenario is given. Figure 3 illustrates a typical operational scenario with examples of typical sensors used. A mobile robot is assumed to be operating solo and is tasked to explore a particular area of interest. The mobile robot is initially assumed to be driving autonomously or via teleoperation (human in-the-loop) in a forest area that includes heavy tree canopy and underbrush of various densities and proportions. The mobile robot is anticipated to initially use GPS for localization prior to entering the dense forest area. Once the rover enters the heavy forest environment, GPS signals become inaccessible or unreliable due to attenuation by the forest canopy, at which point the localization method is used for the duration of the GPS blackout. Mapping GPS Satellite Orthophoto (Aerial or Satelte) o 00 OQ Mobile Robot Figure 3: Envisioned operational scenario Page 40 of 140 of a solo mobile robot Satellite The vision based localization method requires two types of input data. The first input is an overhead image of the exploration site that is used to generate the ground truth map S. The overhead image can be acquired either by satellite or aerial means and needs to be orthorectified and georeferenced. The mission scenario assumes that single or multiple high-resolution orthoimages can be preloaded into the mobile robot prior to mission execution. The imagery can be processed a priorior in real-time at every pose by the onboard navigation computer. Processing of aerial imagery involves delineation of individual tree crowns followed by tree stem center location estimation as will be discussed in subsequent sections. The second input are 3D scans of the environment surrounding the mobile robot by onboard Light Detection and Ranging (LiDAR) sensors. The mobile robot is expected to utilize a LiDAR sensor with 40' x 3600 horizontal FieldOf-View (FOV) to sufficiently image the geometry of tree stems surrounding the rover. The reason why this particular FOV was selected is explained below. Configuration of the sensors and required characteristics are discussed in Section 2.2. In the case when GPS is unreliable, the mobile robot's GN&C subsystem is expected to automatically invoke the vision based localization algorithm and incorporate its location estimations. The following discuss aspects related to the overall mission and operation of the localization method. Environment The localization algorithm developed in this thesis is targeted at addressing the limitations of the state-of-the-art in providing reliable and accurate horizontal geoposition estimates of mobile robots in forest environments. Attenuation of the GPS L-band carrier, which carries time code data for pseudorange determination, is significant in forests [45]. Wright et al (2008) measured up to 50 dB attenuation in the Signal to Noise Ratio (SNR) of received GPS signals under a dense forest canopy compared to a clear line of sight receiver [45]. This level of attenuation renders GPS unusable in forests. The localization algorithm developed in this thesis is focused on addressing such limitations of GPS. The algorithm is not constrained to a particular geographic zone. The complete Universal Traverse Mercator (UTM) system with its 60 zones bounds the operational envelope of the localization algorithm. Features and types of trees that can be processed by the localization algorithm are strictly the following: 1. Coniferous trees in all seasons. 2. Deciduous trees from spring to beginning of autumn. It is important to note that non-green objects cannot be processed by the algorithm because it relies on changes in intensity gradients between the edges of crowns and the terrain beneath. An example of an overhead image of a dense coniferous forest is shown in Figure 4. Page 41 of 140 ) Figure 4: Example of dense coniferous forest during summer season (Harvard Arboretum, Cambridge, MA, from Google Earth Characteristics pertaining to the configuration and properties of expected forests are listed below: 1. Shades of green: To differentiate between canopy and other objects such as nearby bushes and dirt, different levels (shades) of green are detected and encoded prior to crown delineation. The forest area will need to be comprised of diverse shades of green to facilitate crown differentiation and delineation. As detailed in Chapter 3, the tree crown delineation and center estimation algorithm relies on the luminance relationship to extract the green channel from an overhead image. 2. Tree placement: In order to ensure successful geopositioning of the mobile robot using the localization framework, trees need to be located in a random fashion, i.e. naturally grown such that they don't form a regular grid. This is important when considering that matching between overhead and local maps is based on geometry. A regular grid of trees would lead to many solutions to the matching problem, dramatically increasing the likelihood of a false estimate. A formal treatment of this aspect is given in Chapter 3. * 3. Tree height and stem diameter: The minimum stem height would need to be approximately 2 m from ground in order to enable clear and accurate identification of the stem diameter. Mature coniferous trees can reach heights upwards of 20 m [46], therefore, there is no foreseen impact of the 2 m limit on the applicability of the algorithm. As detailed in Chapter 4, manual examination has empirically shown that a threshold of 2 m is adequate for our particular http://www.google.com/earth/ Page 42 of 140 research site. This parameter and others discussed in subsequent chapters are treated as part of a heuristic parameter set customized according to their particular datasets. In similar fashion, there is no minimum or maximum limit by design on acceptable diameters of tree stems. The algorithm can work with all sizes of stem diameters. Nevertheless, there is a range of tree stem diameters that needs to be set in order to discard abnormally large diameter estimates coming from spurious false positives. This is discussed in more detail in Chapter 4. Mobile Robot The mission concept does not limit the use of any type of mobile robot. Tracked and wheeled robots can be utilized because the concept of operations is agnostic to the locomotion system used. The following describes aspects related to the mobile robot within the context of the solo robotic mission scenario. 1. Locomotion: The mobile robot will employ its own means for locomotion. 2. Sensors: The mobile robot will at least employ a single LiDAR sensor to image its surroundings in 3D. The LiDAR is mounted on a mast on top of the robot. The LiDAR is expected to have an intrinsic wide FOV or integrated with a pan and tilt mechanism to augment a smaller FOV. Figure 5 illustrates the configuration of the mobile robot and its onboard sensor. - - ------- 40-...... 11M Mobile Robot 3m -.............. M.. 3m Figure 5: Sensor and mobile robot mission configuration showing the anticipated minimum working distances and FOV Page 43 of 140 The typical configuration is comprised of a LiDAR sensor with a panoramic FOV of at least 400 x 360' (horizontal x vertical) placed on a mast with a height of I m. With an assumed minimum distance of 3 m for the range capability of the LiDAR, the FOV and mast height combination enable the LiDAR to image a 3 m tall tree stem at a distance of 3 m. It is noted that mature coniferous trees can typically reach heights of 20 m. Therefore, acquiring 3D images that contain at least 3 m of a stem would give 50% margin compared to the stem height threshold (2 m) [46]. It is noted that more than 3 m of stem height can be achieved by a larger FOV or by augmenting a LiDAR sensor with a pan/tilt mechanism. In our case for example, the LiDAR sensor is a Leica Scan Station with a FOV of 270' x 3600 [47]. This large FOV allowed us to capture the whole tree from base to crown. The mission configuration analyzed in this thesis assumes a baseline set of minimum attainable specifications of off-the-shelf sensors. 3. GN&C: The mission scenario assumes two types of control schemes for the mobile robot: a. Teleoperation: A human operator is responsible for controlling the mobile robot and monitoring its behavior. The operator is assumed to be viewing a real-time feed from sensors onboard the mobile robot such as the LiDAR sensor, cameras and health monitoring devices. Attitude control of the mobile robot is achieved through a joystick device. The operator manually invokes the localization framework and interprets results before acting on the data. b. Autonomous: The mobile robot automatically navigates itself using the localization framework. The mobile robot is expected to invoke, process and act on the geoposition estimates without any intervention from a human operator. The localization framework is therefore tightly integrated to the GN&C system (closed-loop). The localization algorithm's executable program is assumed to reside in a nonvolatile memory of the GN&C computer such as Electrically Erasable Programmable Read-Only Memory (EEPROM). The executable is loaded and invoked online whenever the GN&C computer is booted. The GN&C system is expected to have the logic to switch from GPS positioning to the localization framework whenever GPS coverage is lost or readings become unreliable. 4. Power: The mobile robot is expected to incorporate and use its own power source that would most likely be a battery. Section 2.5 provides details on the architecture of the localization framework and how it interfaces with the various subsystems. Page 44 of 140 2.2 Concept of Operations The concept of operations discussed in this section considers the different control scenarios along with the interactions and interfaces required to achieve localization using the developed algorithm. The following sequence of operations summarizes the steps required to obtain a geoposition estimate of the mobile robot using the localization framework. An illustration of the flow of steps is given in Figure 6. 1. Whenever the GPS service is down and the mobile robot is required to obtain a geoposition estimate, the rover executes a LiDAR scan of the surrounding area at a particular pose. 2. LiDAR data is processed whereby cylinder primitives are fit in a least squares sense to point clusters pertaining to tree stems. Fitted data clusters are labeled as tree sterns and their geometric centroid is calculated. Tree stem centroid locations relative to the mobile robot are subsequently used to create a map of the relative horizontal locations of tree stem centers. 3. The overhead georeferenced image of the forest canopy above the mobile robot is processed whereby crowns are delineated and their geometric centroids are calculated. An absolute constellation map is subsequently generated that contains the absolute horizontal locations of tree stem centers. This step can be executed once for a large overhead image before the mobile robot commences its mission, or can be executed at each pose. The former scenario is the one assumed in this thesis. 4. Maps of tree stem centers estimated from LiDAR (map M) are then compared to the absolute constellation map generated from overhead imagery (map S). A robust ICP algorithm is invoked to determine the horizontal translation and rotation required to align map M to map S. The closest match is selected to calculate the algorithm's best estimate of the rover's horizontal geoposition. The above process is repeated at each pose of the mobile robot for the duration of the GPS blackout, or whenever redundancy in position estimates is desired. Redundancy in geoposition estimates might be required in cases when GPS signals are under intentional or abnormal spoofing. As shown in Figure 6, the operation of the localization framework is very similar for the teleoperation and autonomous scenarios. In the teleoperation scenario, the operator is responsible for checking the reliability of GPS based localization data. In the case when GPS data become unavailable due to attenuation, or become unreliable, the operator manually invokes the localization algorithm through a command on the control panel (Graphical User Interface - GUI). Following receipt of the command, the localization algorithm acquires data and performs matching to produce an estimate of the horizontal geoposition of the mobile robot. The estimated geoposition data is then Page 45 of 140 transmitted back to the operator. The operator can then interpret the data and issue another localization command if needed. This scenario involves manual operator interaction with the localization algorithm without the use of a GN&C subsystem. The autonomous scenario replaces the operator with a GN&C subsystem, which assumes responsibility for navigating the mobile robot based on waypoints set by the operator. In this scenario, the GN&C subsystem is responsible for assessing the reliability and availability of GPS data. In the case when GPS data become unavailable, the GN&C subsystem invokes the localization algorithm and interprets its results. The GN&C subsystem can elect to continue to use the localization algorithm as long as GPS data is unavailable or unreliable. It is important to note that the architecture of the localization algorithm should be invariant to the operational scenario. This is in fact the case as discussed in the following sections. The localization algorithm should also utilize the same inputs and outputs for both scenarios in order to facilitate integration and interoperability. Section 2.5 discusses the architecture of the localization algorithm in detail. Pagc 46 of 140 . - -1 \/ / 1 OE 0 0 - - - - - - - - - --- - - - -- ----------- CLC 4E'I .E L" 0 E 0 E -o4j E ci I 0 0 EM - Zn E Io3.v' - BPI a cE E Ii S E cC.u _ 3- C CE I -'a.< 0) .2 0o<2 41 0 0 ___ z z 0\ / Figure 6: Sequence of operations (flowchart) for localization framework showing the teleoperation and autonomous control scenarios Page 47 of 140 2.3 Mission Requirements To constrain the research and focus the development of the localization framework, mission requirements were developed that describe the functional, performance, operations and communication aspects of the localization framework within the context of navigating a mobile robot in a forest environment. The following lists the major requirements that define the localization framework. Functional requirements: " MR-1: Localization of the mobile robot shall be achieved by invoking a localization algorithm that resides on the mobile robot computer system. e MR-2: The localization framework shall accept manual command by an operator in teleoperation scenario as well as through automatic command by the GN&C system as part of an autonomous scenario. e MR-3: The localization framework shall accept data inputs from an onboard LiDAR sensor as well as overhead imagery from a preloaded library. e MR-4: The localization framework shall perform its own computations to produce an estimate of the geoposition of the mobile robot. e MR-5: The localization framework shall be implemented such that it can be integrated into a Discrete Kalman Filter (DKF) for SLAM purposes. " MR-6: The localization framework shall produce a geoposition estimate whenever it is invoked. The framework is still expected to produce an estimate even if the result is inaccurate. Performance requirements: - MR-7: The localization framework shall produce geoposition estimates with accuracies proportional to the accuracies of the input data used. In other words, the error function of the output should be O(E) where E is the set of errors of input data. e MR-8: Geoposition estimates by the localization framework shall be produced free of systematic errors (bias) and should only include random errors that are on the order of the errors of input data (E). * MR-9: The localization framework shall produce geoposition estimates in a time frame that is 1:1 compared to acquisition time. In other words, processing of data to produce an estimate shall take the same time duration as data capture. This is important when considering real-time operations. Page 48 of 140 2.4 Architecture: Subsystems and Components The architecture and interfaces of the localization algorithm are discussed in detail in this section. Systems engineering methodology embodied in the process of deFining the system's components and their inherent interfaces is adopted here. The localization algorithm is treated as a system with several layers of components that interact together to embody the functionality of the algorithm as a whole. This section discusses the functional breakdown of the algorithm and the internal and external interfaces. Aspects related to the integration of the algorithm to GN&C subsystems are also discussed. The localization algorithm can be treated as a standalone system that is composed of three main components (subsystems): * Tree Crown Identification, Overhead Imagery: Delineation and Center Estimation from Delineates tree crowns, extracts their shapes and estimates locations of tree centers by calculating the geometric centroid. " Tree Stem Identification, Extraction and Center Estimation from Rover LiDAR Data: Identifies tree stems, extracts their 3D profile and estimates stem center horizontal locations at a particular height above ground. e Matching of Tree Centers from Overhead Imagery and LiDAR Data: Estimates the rover's horizontal geoposition by matching tree center maps generated from LiDAR to a map obtained from overhead imagery. The breakdown of the subsystems identified above is purely based on functional aspects. Each subsystem is comprised of several functional modules that interact internally to produce an emergent function at the subsystem level. In similar fashion, the three subsystems interact with each other to produce an emergent function at the system level. Figure 7 illustrates a functional (hierarchal) breakdown showing 3 functional levels: System, subsystem and component. Table I describes the functionality of each of the components. The block diagram in Figure 8 illustrates the functional interactions between the different modules and delineates the subsystem boundaries. Inputs and outputs of the algorithm at the system level are also illustrated along with the flow of data from the various components. Section 2.5 discusses the inputs and outputs of the algorithm in more detail. Page 49 of 140 Localization Algorithm Tree tem ree tem ide ntification from Overhead Imagery Identification from Ground LiDAR Green Channel Extractor Ground Height Filter Binary Image Creator SVM Classfier Watershed Segme nter -- Matc ing of Overhead and LiDAR based Stems Robust ICP Matcher Rover Position Calculator Brast Height Stem Points Slicer Least Squares Primitive Fitter -+ Crown Classifier Stem Center Centroider Centroid Estimator Figure 7: Functional breakdown of localization algorithm with three levels of hierarchy: system, subsystem and components Table 1: Description of functional components of localization algorithm Tree Crown Identification, Delineation and Center Estimation from Overhead Imagery __ __ _ __ _ __ _I_ _ I __ _ _ __ _ _ Green Channel Extractor Extracts green objects from image and discards non-green objects. Binary Image Creator Reduces noise produced from the green channel extractor and creates a binary representation of the image. Watershed Segmenter Delineates boundaries of detected tree crown objects for standalone trees as well as tree clusters based on a distance transform method. Crown Classifier Identifies valid crowns and extracts them. Centroid Estimator Calculates geometric centroid of extracted crowns in the horizontal __ _ _ __ _ _ __ _ _ __ _ _ _ Page 50 of 140 plane. Produces constellation set S. Tree Stem Identification, Extraction and Center Estimation from Rover LiDAR Data Matching of Tree Centers from Overhead Imagery and LiDAR Data Ground Height Filter Identifies tree stems and selects lowest point for ground plane estimation. SVM classifier Validates ground plane estimates from the ground height filter by comparing against training templates. Breast Height Stem Points Slicer Performs a horizontal slice of identified stems at a predetennined height threshold. Least Squares Primitive Fitter Performs a least squares fit of a cylinder primitive onto the extracted horizontal slice to validate candidate stem objects. Stem Center Centroiding Calculates the geometric centroid of sliced data to determine horizontal location of center of stem. Produces local set M at each pose. Robust ICP Matcher Invokes ICP to find a geometric match between the local dataset M and constellation S. Produces an estimate of the translation and rotation needed to align M to S. Rover Position Calculator Based on the translation and rotation estimates, the geoposition of the mobile robot is calculated. As illustrated in Figure 8, the tree crown identification and delineation algorithm sequentially invokes several components based on an input orthophoto image. The overhead georeferenced image of the forest canopy is first processed by extracting vegetation blobs using the green channel extractor. Next, the resultant image is converted to its binary representation by the binary image creator. Crowns are then delineated by the watershed segmenter before calculating their geometric centroids. Centroid data is then used to form the constellation map S. This whole process can be executed once for a large orthoimage before the rover commences its mission, or can be executed at each pose. The former scenario is the one assumed for our research purposes. Page 51 of 140 LiDAR Data Per Pose Orthophoto C 0 Green Extraction & Denoising E Binary Image Creation C M C 0 C I Ground Height Filter SVM Classifier C C 0 Watershed Segmentation C 0 Breast Height Slicer 0 M0 0 Crown Classifier Least Squares Primitive Fitting C C 3: E Centroid Estimation 0 4.0 LIn Stem Center Centroiding Ground Stems M Stem Constellation S I C 0 E Establish Search Space C 0 0 Invoke Robust ICP Calculate Location Based on ICP Match Absolute Horizontal Localization Estimate Figure 8: Block diagram of localization algorithm showing the three main subsystems and their components Page 52 ol 140 The LiDAR based tree stem identification algorithm invokes several components after a LiDAR scan is initiated. The ground height filter and the SVM classifier are utilized to identify and differentiate between stem features and the ground plane. After extraction of valid stem 3D data, the breast height slicer extracts a horizontal profile of identified stems at a particular height threshold. 3D data pertaining to stems are processed by the primitive fitter whereby cylinder primitives are fit in a least squares sense to clusters pertaining to tree stems. Fitted data clusters are labeled as tree stems and their geometric centroid is calculated. Centroid locations relative to the rover are used to create a map of the relative horizontal locations of tree stem centers (map M). The data matching and location estimation algorithm takes a map of tree stem centers estimated from LiDAR (map A) and compares it to the absolute constellation map generated from overhead imagery (map S). At each pose, the search space size and location are defined. The robust ICP algorithm is then invoked within the search space provided to determine the best alignment between map M and map S. The best alignment (match) is selected and the best estimate of the robot's horizontal geoposition is calculated. 2.5 Inputs and Outputs The inputs and outputs of the localization framework at the system level are described in this section. Table 2 describes the inputs and outputs to enable clear integration into GN&C subsystems. Table 2: Descriptions of system level inputs and outputs of the localization algorithm Input Overhead - Image- LiDAR Scan Color: RGB Correction: Ortho-rectification (Constant image scale) - Format: GEOTIFF * Reference System: UTM [Easting, Northing] e Resolution: No restriction - Coverage Area: No restriction * Range: No restriction * FOV: No restriction - Resolution: No restriction * Format: Metric triplets (x, v, z) with units [m, m, m], Page 53 of 140 floating or double precision * Reference System: Local, relative to mobile robot reference frame Output Geoposition - Format: Metric doublet (x, y) with units [in, m], floating or double precision e Reference System: UTM [Easting, Northing] Page 54 of 140 -Blank- Page 55 of 140 Chapter 3 Tree Crown Identification, Delineation and Stem Center Estimation from Overhead Imagery This subsystem creates a map of the absolute horizontal gcopositions of tree stem centers extracted from a high-resolution orthophoto of the forest canopy. The purpose of the map is to serve as a reference for comparison to smaller local maps of tree stems observed by a LiDAR sensor onboard the robot. Our chosen scenario assumes that the robot is equipped with a large orthophoto library of the exploration area and that this subsystem is invoked once before mission execution. The absolute constellation map is stored onboard the mobile robot for use whenever GPS is down. 3.1 Tree Morphology and Modeling In order to develop a robust tree crown extraction and centroiding algorithm, the growth profile of trees, or morphology, is first defined. In addition, the interaction of light with the 3D profile of crowns needs to be understood. This section provides a focused treatment on the development of a tree growth model suitable for this thesis. The growth profile of a tree can be described by an optical model that is based on the work by Larsen and Rudemo [48], which in turn extends the original model proposed by Pollock [49]. The model is comprised of the following basic elements: tree crown, tree stem, the ground plane and diffuse light captured by a camera sensor. Light originating from the sun is modeled as a collimated beam of light that illuminates the tree crown and its surrounding terrain. More specifically, clear sky is modeled as a collection of discrete collimated light rays emanating from evenly distributed directions across the hemisphere (jr steradian) as described by Woodham and Gray [50]. Standard Lambertian diffuse reflection is assumed for light rays reflecting off the tree canopy and ground. It is noted that shadowing from neighboring trees is not considered in this model for simplicity. The overhead imagery was selected with the sun near or at zenith to eliminate any effects of shadowing. The optical axis of the camera Page 56 of 140 sensor, whether airborne or spaceborne, is assumed to be co-aligned to the zenith of the sky looking down onto the tree canopy. Figure 9 shows an illustration of the optical tree model. The tree crown shape can be modeled as a generalized ellipsoid in 3D coordinates (x, y, z) that define the external profile of the crown: (z ((x - xt) 2 + (y + ch - zt)cc cc - yt 23- Crcc chcc zt - ch z zt Where ch and cr are the vertical and horizontal extensions of the crown and cc is a coefficient of crown curvature. cc = 1 represents a vertical crown structure (straight line), while cc < 1 represents a concave crown structure. The tree crown model can be located in 3D by the triplet (x,, yl, z,) that represents the coordinates of the apex of the tree crown. bh and brh represent the base height of the stem and the breast height respectively. Sun Y Camera Crown Curvature (cc) Crown Height (ch) Tree Crown Crown - - -- Rad iu s(cr) Base ) Tree Stem Breast Height (brh) Ground Figure 9: Optical tree model showing various parameters that define a particular tree Page 57 of 140 Crown height ch, crown radius cr and base height bh are the three fundamental parameters needed to define the morphology of a tree. Although actual trees in a natural environment have various morphology parameters and shapes to be defined by a simple model, field data collected for the purposes of this thesis at Lake Mize in Florida contain trees that can be approximately described by this model. In particular, the assumptions of the model hold well for most conifer trees in natural stands due to their nearly vertical pyramidal structure and crown symmetry. The data at Lake Mize contain Pine trees that are known for their symmetrical and nearly vertical crown structure. Figure 10 shows a comparison of the morphology of several species of trees including conifer trees (Pine). Columnar Upright Pyramidal Oval Spreading Rounded Vase Shaped Weeping Figure 10: Different morphologies of trees including pyramidal (conifer) treest The tree model also assumes that the interior of the tree crown contains randomly oriented scattering objects such as leaves, needles and twigs that make up the majority of the volume of the crown aside from the branches. For simplicity, light is assumed to be scattered evenly by the crown such that the full horizontal extents of the crown are clearly observed. In the case of clusters of crowns that touch each other, it is assumed that such crown blobs involve few trees that are surrounded by terrain as shown in Figure 11. t http://3.bp.blogspot.com/-mnMAPG s8-bl/UaOdDcalIFI/AAAAAAAADD8/Dfd241bJUiI-g/sl600/Forn-'I'rces.JPG Page 58 of 140 The ground plane is included in the model to provide color contrast for tree canopy visible in the foreground. In other words, the presence of ground (terrain) is important, but not critical, to the identification and classification of individual tree crowns. This is because the changes in color gradients between a candidate crown object and ground facilitate the delineation of the horizontal extents of a crown. However, changes in the color gradient across a cluster of crowns can in principle help in delineating individual tree crowns without the need for terrain in the background. These aspects are captured in the design of the delineation algorithm. The 2D mathematical representation of the tree morphological profile is given below. The relationship denotes the elliptical nature of the cross section of the crown when viewed in 2D from above. Figure 11 shows an illustration of the 2D projection of tree crowns as viewed from an overhead camera sensor. crCCC An edge in an image can be detected due to the intensity discontinuity of the underlying scene. The discontinuity can be due to a jump in 3D depth of an object, a surface normal discontinuity, a diffuse reflectance discontinuity or an illumination discontinuity (Marr and Hildreth) [5 1]. Discontinuities in dense forests are caused by the change of contrast between tree crowns and background (ground) or by the discrete changes in color gradients from crown to crown. As shown in Figure 11, three main types of tree crown objects have been classified: 1. Isolated Trees: Single crown objects that are separated completely from each other by a distance greater than or equal to the pixel resolution of the image. 2. Touching Trees: Tree crowns are clustered in one direction or the other with their crowns touching. 3. Tree Clusters: Several tree crowns are touching in all directions forming an extended object of an oblong or irregular shape. The dotted lines in Figure 11 denote the expected extents of the crowns of the individual trees. All types listed above and illustrated in Figure I I will need to be handled and analyzed by the delineation algorithm. It is important to note that the tree model assumes that tree clusters within a frame are located within close proximity to the principal axis of the camera. This is an assumption that only holds for large format images covering wide swaths with the area of interest located at the center of image and making up a small fraction of the total area. This assumption simplifies the tree optical model by eliminating secondary positional errors due to parallax. Page 59 of 140 Touching Trees Camera Principal Axis Tree Clusters isolated T rees Figure 11: Different types of horizontal crown profiles as seen by an overhead camera showing isolated, touching and clusters of crowns Stem Center Estimation Hypothesis 3.2 Based on the tree morphological model described in Section 3.1, a hypothesis for the extraction and estimation of stem centers can be stated. The hypothesis relies on the central idea that for an ideal pyramidal (i.e. conifer) tree, the horizontal centroid of the base of the crown should coincide with the horizontal centroid of the tree stem at breast height brh. The following statements expand upon the central idea just discussed: - e An ideal standalone conifer tree will have identical horizontal centroid locations for the crown and stem at breast height. This configuration will result in the highest classification accuracy, whereby classification means that the correct stem center has been estimated for a particular tree crown. A configuration of crowns that are slightly touching or densely clustered can be decomposed into their constituent crowns. It is noted however that the classification accuracy of these crown clusters may not reach the classification accuracy of the standalone tree configuration. This is mainly due to the uncertainties associated with the delineation of the merged crown objects in the image. Page 60 of 140 e If a tree crown is detected and delineated, the location of a tree center can in principle be calculated with a horizontal accuracy limited by the pixel resolution of the image. The central hypothesis above and the aspects related to delineating tree crowns in different types of crown formations are taken into consideration as part of the development of the crown delineation and center estimation algorithm discussed in Section 3.3. 3.3 Image Processing Methodology This section focuses on discussing the details of the crown identification and delineation algorithm. Given an overhead image, the algorithm will automatically identify isolated and clustered trees, segment the clusters and provide an estimate of the horizontal centroid location of each identified crown. The current state of the art in crown detection can be classified according to the type of input data: visible image based [52], infrared based [53], or LiDAR based [54]. Data from infrared and LiDAR sensors provide intensity and metric measurements of tree canopies, respectively. However, due to their high acquisition costs, the availability of such data is very limited compared to visible imagery (aerial or satellite). Significant research by the robotics community on segmentation algorithms, such as the watershed and Hough transform, influenced the development of the segmentation algorithm for this thesis. Several automatic tree crown delineation algorithms have been previously developed. Wang et al (2004) utilize a multi-step approach where Near Infra-Red (NIR) images of tree canopies are processed to pinpoint crown centers by finding pixels with the maximum grayscale intensity. They hypothesize that due to the arrangement of tree leaves and branches at the top of the crown, its apex will have the largest surface area, and thus will reflect radiation the most. The pixel with the highest intensity is used as a seed by a marker-controlled watershed segmentation algorithm [55]. As discussed in more detail below, the watershed segmentation algorithm allows the delineation of complex crown clusters to extract individual tree crowns [55]. Although effective, Wang's approach was not entirely followed because it relies on NIR imagery. For the purposes of this thesis, a variant was developed that uses visible imagery readily available from open source map libraries such as Google Earth. The following summarizes the major steps undertaken by the tree crown identification and delineation algorithm: 1. The input orthoimage is processed to delineate and extract individual tree crowns. Page 61 of 140 2. Stem center pixel locations in the image are determined by calculating the locations of the geometric centroids of each detected crown. 3. Absolute horizontal geoposition of each stem center is determined by indexing pixel locations given the absolute geoposition of the four corners of the image. Figure 12 illustrates the algorithm's methodology given an overhead image as input. The following subsections detail each of the steps shown below in further detail. Orthophoto ----------------Green Extraction & Denoising Binary Image Creation Watershed Segmentation I Crown Classifier Centroid Estimation Stem Constellation S Figure 12: Image processing flowchart given an input orthophoto image of the exploration site The algorithm uses the 2-dimensional Cartesian Universal Transverse Mercator (UTM) reference system. Therefore, prior to any image processing step, all orthoimages are reprojected onto UTM if needed. The open source QGIS software was used for this purpose [56]. We have found that not all of the orthoimages supplied by USGS through Google Earth are UTM referenced. Orthorectified images are necessary for accurate geopositioning of observed tree stems. An orthoimage is typically corrected for terrain irregularities and lens distortion such that the scaling of the image is maintained Page 62 of 140 throughout the whole frame to enable accurate distance estimations. Chapter 6 discusses the image rectification process as part of the data setup for the various tests. To demonstrate the various steps of the algorithm as described in the following subsections, an example orthophoto of the test site is used. The overhead image is of a pine forest located northeast of Lake Mize in Florida, USA. The image is an orthophoto that was acquired from USGS through their Google Earth portal. The image was provided in GEOTIFF format and was reprojected to UTM prior to processing. The specifics of the image and its orthophoto projection are discussed in detail in Chapter 6. Specifications related to area size and image resolution are included below for ease of reference: " Image size (pixels): 380 x 400 (Horizontal x Vertical). - Pixel resolution: 0.33 m (1 Foot). * Image Scale: 3.28 pixels/in. - Image Accuracy: 2. 1 RMS. e Number of valid tree crowns: 200. This was determined by manually inspecting the point cloud generated by the ground LiDAR and visually correlating trees observed in the overhead image to those clearly visible in the point cloud. In each of the steps discussed below, the input image is processed in successive fashion to demonstrate the result. The intent of this approach is to facilitate the presentation of the algorithm and its performance. 3.3.1 Green Channel Extraction and Denoising Image processing starts by discarding non-green pixels (i.e. non-vegetation) using a simple color contrast threshold approach. This step removes terrain, roads and other non-green objects leaving behind vegetation. It is noted that this approach is not effective for deciduous trees that lose leaves in the fall. The green channel filter can be expressed as follows: gin(Xin,Yin) = G(xinyin) r (xin, Yin) b (xin, Yin) 2 2 - Such that gin(Xin, yin) > t Where gia~xin,y'i) is the green color index for a particular pixel at column vi and row xin of the image. g(vin,yin), r(xin,yvi) and b(xiv,y~,,) are the intensity values (0-255) of a pixel at column yi, and row xi, for green, red and blue respectively. t is the threshold upon which gi, is compared against. The higher the index, the higher the green intensity for a particular pixel. Page 63 of 140 Pixels with gin that are greater than t are therefore selected. Based on empirical tests performed on the data of the site near Lake Mize, a useful threshold was found to be in the range between 13-15. Figure 13 shows the input image used of the Lake Mize site while Figure 14 shows the resultant image after extraction of all green objects. Figure 13: Original orthophoto input image of Lake Mize test site (Source: USGS - Google Earth) The resultant color image is then converted to a grayscale image with 8-bit resolution (i.e. standard 256 color levels) using the luminance algorithm [57]: Ng(xin,Yin) = 0.299 x r(xin,yi,) + 0.587 x g(xin,yin) + 0.114 x b(xin,yin) Where Ng is the resultant grey scale image. Figure 15 shows the resultant image after application of the luminance algorithm. A Gaussian disk filter is then used for denoising with a specified diameter equal to the smallest expected crown diameter (in pixels). The Gaussian blur function G(xin, yin) is defined as follows: Page 64 of 140 1 G(xi.,yin) = 2'ro _i2+2 2 e 2a2 Where a is the radius of the smallest expected crown diameter (in pixels) and i andj represent indices of the blur kernel (matrix). Figure 14: Resultant image after green object extraction with all non-green objects removed The image is then convolved with the Gaussian blur function: Nr(xin, Yin) = Y. X= _a a I G(i, j) I(xin - i, Yin - ) a Y=-CT Where N,(Xin, yi) is the resultant image and I(xin, Yin) is the input image. Figure 16 shows the resultant image after application of the Gaussian blur function through an erosion and dilation technique. Page 65 of 140 Figure 15: Resultant image after application of luminance algorithm that converts RGB to 8-bit grayscale Page 66 of 140 Figure 16: Result after application of Gaussian blur function using erosion and dilation techniques to remove spurious pixels 3.3.2 Binary Image Creation The next step involves creating a binary image that is used to calculate the Euclidean distance transform for all crown objects in the image. The conversion relationship is given below: Nb(XiY) 1 0 Nr (xin, Yin) > 1 Nr (xin, Yin) < 0 Where Nb (xin, in) is the binary image representation of N, (xin,yin). In effect, N, (xin, yin) is a 2D map of logical 1 or 0 where 1 represents the presence of a pixel of intensity greater than 1 (out of 255) and 0 represents the presence of a pixel of intensity less than 1. Figure 17 shows the resultant image after conversion to a binary image. Page 67 of 140 V4 Figure 17: Resultant image after creating a binary copy of the grayscale image 3.3.3 Watershed Segmentation The next step involves applying watershed segmentation to the binary image with the distance transform as input. The Euclidean distance transform d between two points (pixels), p and q, is defined as follows (in 2D): 2 d(p,q)= (q - p,)2 The purpose of the distance transform and watershed segmentation is to delineate individual tree crowns or segment any cluster of treetops into their constituent trees. This step is necessary in the case of dcnsc forests that have touching or clustered tree crowns. Page 68 of 140 Watershed segmentation relies on detecting "catchment basins" between objects. In other words, watershed segmentation interprets a grayscale image as a 3D map composed of 2D pixel coordinates with intensity as the third dimension. Changes in intensity between clusters of adjacent pixels along catchment basins (watershed lines) are interpreted as distinct objects. For completeness, a description of the watershed algorithm is given here. The watersheds of an object in an image can be mathematically represented as the set of all points that are considered local minima in the intensity map. By local we mean proximity within an area enclosed by the typical crown diameter of a tree. The watershed of an image is the set of watersheds of its local minima [58]: WS((Xinyin),N) - {(xi,yi) I (Xin, yin) E Downstream[N](xi,yi)} WS( A, N) U WS((xi, yi), N) (x7,yi)EA Where WS(xin, yin) is the set of all points of a particular object in image N with a downstream in which (xin, yin) is a member and WS(A,N) is the union of the watersheds of its members. The downstream function is defined as the union set of all possible Swiftest Descending Paths (SDP) for pixel (Xin, yin). SDP is defined as the finite succession of connected pixels (x,yi) such that each pixel is strictly lower than its predecessor and is one of its lowest neighbors. SDP is described below and downstream is defined as the union of all possible SDPs for that pixel. SDP[N](xin, yin) = {(xi, yi)1((xi, yi) E Ne(xi 1 , yi1), I(xi, yi) < I(x- I(xi, yi) = min tI(xj, yj)I(xj, yj) E Ne (xi, 1 , yi_), yi_1), (xO,yO) = (x,y)} Downstream[N](x, y) - SDP[N] (x,y)j I Where Ne(xin, yin) is defined as the immediate neighbor to pixel (xin, yin) for 8connectivity on square raster: Ne (xin,yin) = {(xn, yn) E NI(x, y) = (Xin + i, Yin + i), (i, j) E f{(- 1,0), (0, - 1), (0, 0), (0, 1), (1, 0)}}1 Figure 18 shows the result of applying the watershed algorithm to the binary image N1 (xin, Yin). Page 69 of 140 Figure 18: Result of applying watershed segmentation to binary image Nb to delineate individual tree crowns 3.3.4 Crown Classifier Following the segmentation step, an image is produced that contains delineated objects representing potential tree crowns of various sizes. To reduce the likelihood of identifying false positives (underbrush), a two-feature classifier is used. The first feature utilizes the estimated diameter of the crown. Crowns with equivalent diameters of less than a predetermined threshold are discarded. For the purposes of the thesis and considering the sizes of tree crowns in our test data, a threshold of 1.5 m was used. The second feature utilizes the estimated eccentricity of the crown. Crowns with eccentricities larger than a predetermined threshold are discarded. Eccentricities below 0.9 were used to allow for highly segmented crown structures. The classifier features are described in Table 3. Figure 19 shows the result after applying the classifier. Areas shown in red failed to pass the classifier thresholds and were therefore discarded. Areas in green are considered valid crowns. 200 valid crowns were identified (green) and 108 Page 70 of 140 objects were deemed invalid (red). To ascertain classification accuracy, the algorithm is tested using ground truth data as discussed in Section 3.4. Table 3: Crown Classifier Features F1 Estimated diameter of object max diamij = F2 1.5m < diamij < 12m (xi - xX + (yi - y2 Estimated eccentricity of object e < 0.9 2 e= 1-diammmn d iaminax Figure 19: Result after applying the two-stage classifier with green objects denoting valid crowns and red objects denoting invalid crowns Page 71 of 140 . .......................... ... 3.3.5 Centroid Estimation The remaining valid crown objects are subsequently analyzed to estimate their centers by calculating the Euclidean centroid of each delineated object. The centroid is calculated by: ci Ci=X1 = + X21 + -- + Xn' n CL, X E R2 Where Ci is the centroid vector of the crown object i and X, are discrete points that comprise crown C,. With center pixel coordinates C(xin, yi) of each valid crown obtained, relative pixel coordinates are indexed and mapped to the absolute global positions of any of the four georeferenced corners of the original orthophoto. Figure 20: Final result showing constellation map S with all crowns delineated and valid centroids denoted by (+) Page 72 of 140 The final product is a constellation map composed of the absolute horizontal coordinates (Easting and Northing) of the centroid of each valid crown. Figure 20 shows the result of applying the last step of centroid estimation. 3.4 Trade Space and Performance Assessment A sensitivity study was performed on the tree crown delineation and center estimation algorithm to determine the most suitable parameter settings. The goal was to achieve the least positioning error by iterating over a wide parameter set. A Design Of Experiments (DOE) was therefore conducted. For every simulation run of the DOE, a constellation map S is produced based on a particular parameter set. The map is then compared to ground truth data by using a nearest neighbor search to quantify the distance error. The parameter space range and increments are summarized in Table 4. The ground truth dataset was obtained from a ground LiDAR survey of the Lake Mize site. The same LiDAR dataset served in our assessment of the localization accuracy of the algorithm as well. Table 4: DOE parameter space with 6 variables and ranges for each t Ureen channel intensity threshold [integer] (Y Gaussian disk diameter [pixels] Ne Erosion and construction noise threshold [integer] 20 - 100, increments of 20 dmin Minimum crown diameter [m] 1.5 - 5, increments of 0.5. dma Maximum crown diameter [m] 6 - 12, increments of 0.5 e Eccentricity of detected object 0.7 - 1, increments of 0.05 8 - 20, increments of 1 - 5, increments of I Results from the DOE simulation span a 6 dimensional trade space and therefore it is not possible to visualize completely on a 2D plot. The optimal parameter space that achieved the lowest Euclidean distance error between map S and the LiDAR ground truth is listed below: * Green color threshold: 13 * Denoising disk diameter: 1 e Image erode/construction noise threshold: 20 Page 73 of 140 e Min crown diam: 1.5 e Max crown diam: 12 e Eccentricity threshold: 0.9 To determine the horizontal accuracy of the output, the resulting maps from the algorithm were compared to the ground truth dataset of the forest grounds. As will be explained in Chapter 6, ground LiDAR data of the test site was acquired using a surveygrade LiDAR instrument. The 3D data was examined manually whereby tree stems were picked and labeled by hand. The handpicked horizontal geolocations of stems were then compared to the geolocations reported by the algorithm of the same stems. To estimate the error between both maps, a nearest neighbor search algorithm was used to find corresponding point pairs and determine the Euclidean distance error between them. Figure 21 shows a plot of stem center maps that were automatically estimated from the image and those hand-labeled from ground LiDAR data. o o 100 + 0 0 40 0 F 0 o 0 0 0 0 I 0 0 0 0 0 00 0 00 0 0 0 0 0 0 00 G+ 0 e 0 0 0 0 0 0 80 0 0 0 0 01 E GroundTruth(LDAR) NWarest Neighbour 0 00 80 _- + 0 0 0 GF0 o ConeltionsetS 0 0 G- 0 0 0 0 C 0 0 G+ 0 0 0 0 9D 0 a Q+0 f 0 0 0 0 0 0 I Z1 40 1; 0 A 04 0 0 G44 0 0-4- 0 0 0 r - 201 0 0 00 00 0 0 0 -0 0 0 -1r 0 0 0 1 0 +4 0 0 0 0 0 0 0 0 - t 10 10 0 0G_ - 0 20 0 30 40 Eating(m)+ 382360m ~ 0 -OD 50 60 0- *1 70 -P0+O 100 80 Figure 21: Nearest neighbor search results from comparing stem locations in overhead image to those manually estimated from ground LiDAR data Results from the nearest neighbor search indicate 1.35 m RMSE (Root Mean Squared Error) between corresponding point pairs in the two data sets. This error is less than the estimated 2.1 m RMSE of the orthophoto used. The indicated accuracy of 1.35 Page 74 of 140 RMSE is treated as the classification accuracy of the delineation algorithm. It is noted that the total error reported for an image includes the contributions of the following error sources: * Orthorectification error of image supplied. * Absolute geoposition error of image supplied. * Centroid estimation error due to suboptimal green gradient identification. e Incorrect labeling of underbrush as valid tree crown (false positive). For final comparison purposes, Figure 22 shows stem constellation map S superimposed onto the input orthophoto image along with stems manually picked from ground truth LiDAR data. Valid crowns are delineated in white. OConstellation set S Ground Truth WUAR) R111+ Figure 22: Comparison between stems centers detected in overhead image to hand-labeled stem centers observed in ground LiDAR data Page 75 of 140 There are some general considerations as well as constraints that need to be noted about the performance of the tree crown delineation and center estimation algorithm: 1. Accuracy of estimated horizontal locations of tree centers depends on the view angle (perspective) of the image. Therefore, for best results and to reduce the effect of parallax, the area of the forest of interest needs to ideally be at the nadir of the image (optical axis). Inaccuracies should be expected for areas that are not located at the nadir of the image. 2. Not all stems visible in the LiDAR point cloud are visible from the overhead image and vice versa. This is quite noticeable in Figure 22 where red circles have no nearby green crosses and visa versa. This limitation is inevitable in dense forests due to the nature of growth of trees as well as the difference in FOV and perspectives of the various sensors involved. In Figure 22, hand-picked LiDAR based stems do not span the whole overhead image, which explains the gaps seen in stems reported by the LiDAR as compared to sterns estimated from the overhead image. In addition, dense underbrush obscures stems that could otherwise be seen on the ground by the LiDAR. All these factors lead to asymmetrical coverage and different results from sensors on the ground and those overhead. - The average diameter of a tree crown is recommended to be at least an order of magnitude larger than the pixel resolution of the input image [55]. For example, the pixel resolution of an input image needs to be around 0.3 m in order to adequately detect 3 m crowns. Page 76 of 140 -Blank- Page 77 of 140 Chapter 4 Tree Stem Identification, Extraction and Center Estimation from Rover LiDAR Data This subsystem creates a local map M of the horizontal coordinates of the centroids of tree stems observed in ground LiDAR data. The purpose of the map is to enable comparison to the constellation stem map S, which was derived from the overhead image of the area being explored. The chosen operational scenario assumes that the rover is equipped with a LiDAR sensor that scans the area surrounding the mobile robot at every pose. At each pose, the localization algorithm is invoked where it correlates the local stem map M and constellation map S to estimate the absolute horizontal location of the mobile robot. 4.1 Stem Center Identification Hypothesis Stem center identification from ground LiDAR relies on the central concept of identifying candidate tree stems and calculating their centroids. As explained in Section 3.1, the centroids of conifer tree crowns should, in principle, align horizontally with the centroids of stems determined from ground LiDAR. The following statements expand upon the central idea just discussed: * In contrast to inter-crown growth morphology, each tree is expected to have its own standalone stem that can be directly extracted. Figure 23 shows processed 3D slices of neighboring tree stems [59]. For centroid calculation, a single slice is extracted at breast height (brh) for each tree and included into local map M for comparison to the constellation map S. * The centroid accuracies are limited by the accuracy and precision of the LiDAR sensor used. The accuracy of LiDAR data should be of the same order as the Page 78 of 140 . . . ..................... .. absolute accuracy (RMSE) of the overhead imagery. Figure 24 shows a single slice of a tree stem at breast height along with the calculated centroid. - If a tree stem is detected and extracted, the location of a stem center can in principle be calculated with a horizontal accuracy limited by the accuracy and resolution of the data used. Figure 23: 3D slices of different tree stems for a tree stand observed in 3D LiDAR point cloud [591 As will be explained in Section 4.2, a cylinder primitive with radius R is fitted in a least squares sense to a 3D slice in order to determine the correct radius of curvature r. The estimated radius of curvature is then used to calculate the geometric centroid of the slice, and hence the tree stem it belongs to. ., r R Figure 24: Centroid calculation by fitting a cylinder primitive [601 The central hypothesis above is taken into consideration in Section 4.2 as part of the development of the tree stem identification, extraction and center estimation algorithm. Page 79 of 140 4.2 Data Processing Methodology This section focuses on the different components of the tree center estimation algorithm. As discussed in Chapter 2, the mobile robot acquires LiDAR data of the forest grounds at each pose and passes it to the tree stern center estimation algorithm. The algorithm is designed to separate the ground plane from points comprising tree stems and estimate horizontal locations of the centers of stems. This is accomplished by fitting cylinder primitives to extracted 3D slices of candidate stems. The algorithm discussed in this section draws heavily upon prior work by McDaniel et al [60]. Therefore, this section represents a summary of McDaniel's work with few minor changes to its parameters. Certain changes were introduced in order to address the main operational scenario considered in this thesis. Considering the baseline mission scenario, a single panoramic LiDAR scan is taken at each pose for analysis and subsequent comparison to the stem constellation map. Figure 25 shows the different steps of the tree stem identification and center estimation algorithm. LiDAR Data Per Pose Ground Height Filter SVM Classifier Breast Height Slicer Least Squares Primitive Fitting Stem Center Centroiding Ground Stems M Figure 25: Data processing flowchart for the stein center estimation algorithm given an input LiDAR dataset of the area surrounding the mobile robot Page 80 of 140 The following summarizes the major steps undertaken by the tree stem identification and center estimation algorithm: e Estimate the ground plane based on local height filters. e Apply SVM based classifier to discard points comprising the ground plane and leave behind candidate tree stems. * Slice candidate tree stems at breast height and extract 3D points that comprise tree stems. * Perform fitting of cylinder primitives to candidate slices to determine valid stems. * Calculate the relative location of the geometric centroid of each extracted stem slice to build local map M. The following subsections detail each of the steps above and presents intermediate results to demonstrate the operation of the algorithm. Real-world data acquired from the Lake Mize site were used to produce some of the results discussed in the following subsections. 4.2.1 Ground Height Filter In the first step, the ground plane is estimated in order to constrain the search space and facilitate the identification of candidate tree stems. This step is divided into two main stages. The first stage is a local height-based filter that labels the lowest point in any vertical column of data. In practice, this eliminates a large percentage of nonground points from further consideration and facilitates the identification of candidate stems in subsequent steps. The second stage is a feature classifier that combines eight geometric measures, the classification features, to determine which of the remaining points belong to the ground plane. Figure 26 shows a trimetric snapshot of ground LiDAR data of the Lake Mize site with absolute height color encoding. As will be explained in Chapter 6, the ground data was acquired using a commercial survey grade LiDAR sensor with multiple scans combined to form the large scanned area shown in Figure 26. Figure 27 shows an example of LiDAR data acquired at a single pose. The ground plane is clearly visible along with several nearby tree stems and underbrush. It is also noted that the mobile robot and pose data were simulated using survey grade LiDAR data of the Lake Mize site as explained in Chapter 6. Page 81 of 140 Figure 26: Sample data showing LiDAR scans of forest grounds at the Lake Mize test site with vertical height color-coding (red: high, blue: low) Figure 27: Example of a LiDAR dataset at a particular pose showing the simulated mobile robot, tree stems and underbrush Stage 1: Local Height Filter In the first stage, the input LiDAR point cloud is tessellated into 0.5 m x 0.5 m cells across the horizontal plane. Each cell is identified by a unique row and column index. Based on the cluster of points within each cell, the point with the lowest height is Page 82 of 140 initially labeled as ground and denoted by P(ij). Figure 28 shows the different voxels tessellated into 0.5 m x 0.5 m cells. Each of the columns is denoted by its own P(ij) index. 1.2 1 0.8N 0.6N E 0.4 0.2 0 -0.2 3 2.52 3 Y (m) 1.5 3.5 2.5 2 X (m) Figure 28: Cartesian space tessellated into 0.5 m x 0.5 m cells [601 Stage 2: Feature Extraction Due to the presence of underbrush, not every point selected in the previous step represents true ground. Therefore, the second stage involves coding a variety of features to represent attributes of each lowest point P(ij) and the lowest points in each of the neighboring columns, which are defined using eight 8-connected neighborhood columns. Table 5 lists the 8 features used to discriminate between ground and non-ground points. These features are combined into a feature vector F(ij) for each point, which are then used by the SVM classifier to identify whether that point belongs to ground or not. Table 5: Eight neighborhood classification features for tessellated data Fi Number of occupied columns in the neighborhood of column (ij) F2 Minimum height of all neighbors minus height of column at (ij) F3 Value of height at column (ij) F4 Average of all heights in neighborhood of column (ij) F5 Normal to best fit plane of points in neighborhood to column (ij). Defined Page 83 of 140 as: N F5 = argminn C3 n- 1 ((P - P -n) -- 2 k=1 F6 Residual sum of squares of best fit plane of points in neighborhood of column (ij): N (P-P)n F6 k=1 F7 Pyramid filter is computed as the number of minimum heights which lie within a pyramid of 0.5 n cubic voxels with apex at P(i,j) F8 Ray tracing score where points lying on flat ground are given a zero score because they cannot lie between the LiDAR and any point it observes. This feature is defined as the sum of the number of line segments that pass through a voxel in column (ij) below P(ij). 4.2.2 Support Vector Machine Classifier In this step, the Support Vector Machine (SVM) classifier is trained given the feature vectors comprised of the eight features detailed in Table 5 and the hand-attributed labels of whether each point P(ij) lies on the ground surface. If a cell contains a point labeled by the classifier, it is treated as true ground. Using a Delaunay triangulation scheme, interpolation is performed for cells that do not have labeled points. The tunable kernel parameters and the misclassification cost C, were found by minimizing the cross-validation error rate within the training data. The SVM classifier implemented a linear kernel with classification cost C, = 100 [60]. It is noted that these parameters were based on prior work by McDaniel et al and were reused in this thesis [60]. 4.2.3 Breast Height Stem Slicer The next step involves identifying the vertical extents of stems using thresholding and clustering methods. To identify which LiDAR point belongs to the main stem, a simple height-above-ground filter is used. Any point below the selected height threshold is discarded and classified as underbrush. A very common way of measuring the heights of trees is to determine the stem diameter at breast height. The most commonly used measurement standard for breast height is D1 30, which denotes the diameter of a tree at a height of 1.3 m above ground. This particular height corresponds to the average height of a person's chest (breast). Although a common standard, the height of 1.3 m above ground Page 84 of 140 is not adequate for the data at hand. This is mainly due to the presence of heavy underbrush in areas within close proximity to the majority of stems. Manual inspection of the Lake Mize data showed that a breast height of 2 m is needed in order to clear tall underbrush. Figure 29 shows examples of LiDAR scan slices intersecting two stems and the height difference observed from scan line to scan line. Height Difference Figure 29: Consecutive LiDAR scans and corresponding stem slices [601 To extract candidate stem slices and obtain a single representative slice per tree, a two-step process is followed. In the first step, stem locations in the horizontal plane are identified. For the second step a slice of data is selected at each of the horizontal locations identified earlier. The discretization of stem locations is performed at the voxel resolution of 0.5 m x 0.5 m. To obtain candidate stem data, a vertical search along each candidate main stem is performed. Considering a breast height (brh) of 2 m, the search is performed within a window of 2 m - 0.2 m. If a data column contains any LiDAR point within that range, that column is selected. Another search is invoked whereby for each of the columns previously selected, those having a vertical 60 cm slice of data (defined as 2 m 0.3 m) are selected as a candidate stem. The 40 cm and 60 cm windows were defined based on empirical observations of the Lake Mize data. The two-step process described above improves the performance of the algorithm as it guards against scenarios where dense underbrush could be present within a 60 cm window but not in the 40 cm range. It is noted that the 60 cm window is small enough to exclude non-stem data such as underbrush or crowns. 4.2.4 Least Squares Primitive Fitting Based on stem slice data obtained from the previous step, cylinder primitives are fitted to sliced data using a least squares scheme. Figure 30 shows how a cylinder Page 85 of 140 primitive is fit to a horizontal slice of LiDAR data that pertains to a tree stem. R denotes the radius of the base of the cylinder primitive, while r denotes the estimated radius of curvature of the stem slice. The fit between the cylinder primitive and data is found by solving the minimization problem below where n is the total number of points in a cluster, X, is the transect containing LiDAR points pertaining to the identified stem and di is the Euclidean distance from the ith point to the surface of the cylinder primitive. n arg min,, 9 j3 d? (Xe) = 2=1 R r'.. R Figure 30: Example showing cylinder primitive fitment to a single slice of LiDAR data of a tree stem [601 To determine the quality of the least squares fit, four heuristic constraints that characterize bad fits were defined. The quality of a fit, i.e. either good or bad, is determined in order to discard bad fits. The following lists the four criteria used for bad fit rejection: * Distance from center of fit to centroid of data: This criterion rejects a certain fit based on the ratio of the cylinder radius R to the distance r. The threshold determined for rejection is 2. Any ratio greater than 2 results in rejection of the fit. An example of a bad fit with a radius ratio of 22.5 is shown in Figure 31. e Maximum data spacing: This criterion calculates the ratio of the cylinder primitive diameter (2R) to the maximum spacing d of main stem data. The maximum spacing is found by invoking nearest neighbor search for all stem slice data. This criterion helps in rejecting candidate cylinder fits that are too large. In similar fashion to the first criterion, the threshold for the ratio of 2R to d is 2. Any fitment with a ratio greater than 2 results in rejection of the fit. Figure 32 shows an example of a bad fit with a ratio of 2.95. Page 86 of 140 Figure 31: An example of a bad fit showing a large ratio of R to r [601 d Figure 32: An example of a bad fit showing a large ratio of D to d [601 Intersecting tree stems: This criterion focuses on rejecting fits that have overlapping cylinders. This problem can be caused by a least squares fit that produces an excessively large radius for the cylinder primitive. This issue can be detected by calculating the pairwise distances between the centers of each fitted cylinder and subtracting the radii of both cylinders from the distance. If the difference is less than zero, the two cylinders must have intersecting boundaries and the cylinder with the larger radius is discarded. Page 87 of 140 ... . . ............ * Data on far side of tree: This criterion rejects bad fits where the cylinder fit is located at the wrong side of the stem. This problem can be detected by comparing the distance from the LiDAR sensor to the center of the cylinder, and comparing the distance from the LiDAR sensor to the centroid of the stem data. If the cylinder is in the wrong location, the distance to the centroid will be greater than the distance to the center of the cylinder. The threshold used for distance is 0.25, which is based on empirical testing and observation of the data used. An example of this condition is shown in Figure 33 where the black dot shows the location of the LiDAR sensor. 5 cylinders are placed at the correct side of the stem and one cylinder (top left) is placed at the wrong side of the stem. - 8000 - 7000 - 6000 5000 - V - 4000 - 3000 - 2000 1000 0 -6000 -4000 -2000 X (mm) 0 2000 Figure 33: Cylinder placement with respect to the LiDAR sensor with 5 correct cylinder placements and one wrong (top left corner) [601 4.2.5 Stem Center Centroiding Following the minimization step, horizontal locations of stem centers relative to the mobile robot are determined by using the curvature of each fitted cylinder. The horizontal locations of stem centers are then traced with respect to the mobile robot. The Page 88 of 140 ....................... location of each estimated tree center in the horizontal plane is then incorporated for each pose into a stem center map (map M). The resultant local map M is then used by the matching component of the algorithm as discussed in Chapter 5. 4.3 Accuracy of Stem Center Locations Survey grade LiDAR data was acquired of heavy forest grounds near Lake Mize in Florida and was georeferenced using survey grade GPS/Inertial Reference System in differential GPS mode. As detailed in Chapter 6, LiDAR data was acquired by a surveygrade laser scanner with 1 cm accuracy (RMS). In order to quantify the classification accuracy of the stem center estimation algorithm, the LiDAR point cloud was manually examined and all visible tree stems were hand labeled. Figure 34 shows a snapshot of an area inside the point cloud with colored markers denoting hand labeled stems (real stems). Figure 34: Manually placed markers by hand to identify true stems in ground LiDAR data of the Lake Mize site The manually labeled data was then compared to the output of the stem center estimation algorithm. This was preceded by performing the necessary georeferencing of all local stem maps of the same area covered by the LiDAR point cloud. The manual and automatic stem center location maps were then compared to determine the classification accuracy. Figure 35 shows both maps plotted using stem center locations with respect to the UTM frame. Page 89 of 140 + 0 3.2905 + + + + 3.2905 - + + + True Stems (LiDAR) AJI Stems (LiDAR) Rover Path + 0, + 32904 - 32904 S32904 - ( 3.2903 - 0i 00) 3..8423. 3.823 3.824 Easting (in) 3.8242 + 3.8244 3.85248 5 i Figure 35: Comparison between the locations of stem centers hand labeled (red) to those identified automatically by the stem center estimation algorithm (blue) given LiDAR data of Lake Mize site as input. Simulated robot path is shown in pink Figure 35 shows that there is a strong agreement between the manually handpicked dataset and the one automatically produced by the algorithm. However, there were stems that were manually labeled but were not identified by the algorithm as seen in the lack of blue circles in areas that contain red crosses. In total there were 200 valid stems that were hand labeled. The stem center estimation algorithm did not detect around 70 of those. A reason for this mismatch lies in the presence of dense underbrush that could reach heights above 2 m in some areas. This was indeed the case in several of the areas manually examined. In addition, the algorithm also produced false positive stems, i.e. stems that were incorrectly labeled by the algorithm due to confusion by dense underbrush. Those are shown by the blue circles that do not have corresponding red crosses. There were around 100 non-duplicated false positives produced by the algorithm. This prompted the use of several filters by ICP as described in Chapter 5 in order to guard against data with moderate false positives. Although the algorithm produced false positives, stems that were valid matched well with those manually labeled with errors on the order of the accuracy of the LiDAR point cloud (1 cm RMS). It was determined that even in the presence of false positives, Page 90 of 140 the algorithm was able to produce stem center data that can be used to good effect by ICP. It is noted that in order to characterize the total accuracy of the localization algorithm, LiDAR data was treated as the ground truth upon which results from the localization method is compared against. Page 91 of 140 -Blank- Page 92 of 140 Chapter 5 Rover Location Estimation by Matching Tree Centers Maps Generated from Rover LiDAR to Overhead Imagery The third subsystem has the primary function of matching local tree center maps obtained from ground LiDAR to a constellation map of stems derived from overhead imagery. Least soares methods are employed by the algorilhm to find the best match between map M and constellation map S. The best match is utilized to calculate the absolute geoposition of the mobile robot. This algorithm is the last component of the data processing chain, which starts with processing input imagery and LiDAR data to produce an estimate of the horizontal geoposition of the mobile robot. 5.1 Map-Based Matching Hypothesis As discussed in Section 1.2, the main goal of the matching subsystem is to align local stem maps M observed by the mobile robot to the global stem map S of the exploration area. The hypothesis of the matching subsystem relies on the central idea that the horizontal geoposition of the mobile robot can be determined by calculating the optimal rotation matrix and translation vector, R and F respectively, to transform map M to S. The transformation is subsequently used to calculate an estimate for the horizontal geoposition of the mobile robot. The following statements expand upon the central idea just discussed: * The local map M at every pose is referenced with respect to the mobile robot's local frame OQ. If relative stem locations observed by the mobile robot can be located with respect to this frame, local maps M can be geometrically matched to constellation map S. Page 93 of 140 e The constellation map S is referenced with respect to a global frame Os such as UTM. Every element of the map S is therefore geopositioned with known horizontal Easting and Northing coordinates. e To determine geoposition of the mobile robot, given a local map M and global map S, a matching algorithm can determine the optimal rotation and translation parameters that minimize the squared distance error between them. Figure 36 illustrates the matching problem between local map M generated at every pose and the global constellation map S. Two poses with their own local maps M and Mi,+ are shown. Global Constellation Map S * (Xsy' = 0 0 00 0 ~0 Transformation Estimate (RM,TM,) ) RJ ,1 * Transformation Estimate {R - 0 0 0 OU, Pose: I - Pose: 1+1 * Local Map MM Local Map M, * M, =( y) Ou a }*g = {xf,yI }) Figure 36: Matching scheme between local maps M; and M;+1 to global map S by finding the rotation and translation parameters The central hypothesis above and the aspects related to correlating input maps are taken into consideration as part of the development of the matching algorithm as discussed in Section 5.3. Page 94 of 140 5.2 Overview of Map-Based Matching Algorithms There has been extensive research into matching and registration of 2D and 3D data for purposes of scene matching, object identification and vehicle localization. Most of registration problems employ some variant of the Iterative Closest Point (ICP) algorithm [61], and rely on Speeded Up Robust Features (SURF) [62], or correlation methods such as Sum of Absolute Differences (SAD) [63]. Robust registration is a specialized field that deals with handling outliers and noise in matching input data. A robust registration method would be capable of discarding outliers and producing a best fit based on statistical approaches. As discussed in Chapter 3 and Chapter 4, tree center maps generated from overhead and ground LiDAR data could include outliers due to the presence of complex crown profiles. Irregular blobs of crowns could lead to over segmentation of overhead imagery. In similar fashion, dense underbrush could lead to false labeling of tree stems observed in LiDAR data. Therefore, a robust registration algorithm becomes important to avoid erroneous shifts in geoposition estimates. SURF and SAD rely on correlating two input datasets by finding common features in the data and maximizing the correlation coefficient. A candidate match is found by determining the maximum correlation between the two input maps. However, input datasets need to be of identical resolution for the correlation relationship to be applied [63]. Figure 37 shows an illustration of the SAD matching process within the context of mobile robot localization on the moon [63]. Correlation Peak Figure 37: SAD correlation process using an input local map and a constellation map 1631 Although effective in a general sense, SAD is not useable for the purposes of this thesis because the stem constellation map is typically of a different horizontal resolution than the local maps produced from LiDAR data. Since the correlation function relies on a one-to-one correspondence between data points in each map, different resolutions of Page 95 of 140 input map cause the point-to-point correspondences to breakdown rendering the algorithm ineffective. ICP is a more flexible algorithm that allows the use of datasets of different resolutions. Many variants of ICP have been developed that are geared towards robust registration. Trimmed, Picky, or Gaussian Mixture Model (GMM) ICP algorithms employ statistical methods, such as Gaussian probability distributions, to help identify and discard outliers [64,65,66,67,68]. An example of the performance of a GMM ICP algorithm is shown in Figure 38. The plot on the left shows two input maps before alignment, while the plot on the right shows the same data after alignment. Units of the x and y axes are in pixels. 250 0 250 +0 0 + 0t 200-o 200-o 150 +0 8 ++0 + + + 100 8 " 50 + 0 100 ( 100- 0-150 - 15 - 6 +0 50 200 -P 50 100 150 200 Figure 38: An example of the performance of GMM ICP using two datasets (red and blue) that include outliers and jitter 1681 Even in the presence of outliers, Trimmed, Picky and GMM ICP algorithms still expect a large percentage of valid data to be of high quality and of low noise. In addition, the correlation ratio between the horizontal locations of real stems between the two input maps needs to be in the range of 0.8-1.0 in order for the algorithms to converge [66,67,68]. Such constraints on data quality are impractical considering that stem maps are generated from two different types of sensors; one from overhead satellite or aerial imagery, while the other is from a rover mounted LiDAR sensor. In our case, the one-toone correspondence between stem points, even for real stems, can in theory be lower than 0.8. A more flexible matching algorithm inspired by probabilistic ICP algorithms was developed as part of this thesis. The algorithm accepts input data with no constraint on resolution, size or percentage of outliers. The methodology of the robust matching algorithm is described in Section 5.3. Page 96 of 140 5.3 Data Matching Methodology The main function of the matching algorithm is to estimate the translation and rotation required to align the input maps. More precisely, the tree center constellation map derived from the overhead image is treated as the baseline against which the LiDAR based tree center map is matched to. This configuration is chosen because the map obtained from the overhead image is usually larger than the local map generated from the LiDAR dataset. Figure 39 illustrates the data matching methodology. I Stem Constellation S I Ground Stems M Establish Search Space Invoke Robust ICP Calculate Location Based on ICP Match Absolute Horizontal Localization Estimate Figure 39: Data matching flowchart showing the major data processing steps The following summarizes the major steps undertaken by the matching algorithm: * The algorithm first establishes the search space based on the input constellation map S, local ground stem map M and the latest known geoposition of the mobile robot. * Robust ICP is subsequently invoked, where it performs a systematic search to find a geometric match between local map M to global map S. The match that minimizes their Euclidean distance error is selected. " The optimal match is then used to calculate the geoposition of the mobile robot with respect to the global frame Os. The following subsections detail each of the steps identified in Figure 39 starting from providing maps S and M as input and ending with an estimate of the global position of the mobile robot. Page 97 of 140 5.3.1 Search Space Before ICP is invoked, the search space is first defined and located with respect to the global frame Os. This is necessary in order to reduce the likelihood of ICP converging to a local minimum. Convergence properties of ICP are discussed in further detail in Section 5.3.2. Figure 40 shows how the search space is defined with respect to the global frame. Search space definition and processing involves two steps: * * Search space positioning. Step through search space. Global Constellation Map S . 0 0 1* ESd= r -- (xy *Estimated I Search Space 0 tO I P Rover Position 00 0 0 0 0 0 Search Space: Zoom in * a --------- M,= xf ,y Linear Step Angular Step E -~~ ~ -I~ I............ 35 m Figure 40: ICP involves search space positioning based on last known robot geolocation and systematic search that is comprised of linear and angular stepping Page 98 of 140 Search Space Positioning This step involves defining the location of the center of the search space with respect to Os as well as the linear dimension of its sides. The locus of the center of the search space is defined based on the latest robot geoposition estimate as given by the algorithm, or from GPS if invoked for the first time. Depending on the distance traveled from pose to pose, the search space center position needs to be adjusted for the difference in distance traveled by the mobile robot. This distance is typically measured by an onboard odometer. Practically speaking, if the distance traveled from pose to pose is between I to 2 meters, there will be no need to adjust the center position of the search space. In cases where the distance in any axis is larger, e.g. > 5 meters, then an adjustment is necessary. The threshold of 5 meters was heuristically determined from manual examination of the data. Lower thresholds can be used with no impact on performance. In the context of the mission scenario and operations concept, the distance traveled between each pose by the simulated mobile robot is 0.5 meters. Therefore, an adjustment in the position of the search space is not required. The search space position can be mathematically described as follows: X +xPD 1 + 'iyi li-1 I = (YSS < x YSSy y.SS >5 ,OD t i 1 1Yj OD < OD - <) ) XXs J r Where Xfs and Yissare the Easting and Northing locations of the center of the search space box respectively at pose i. xPD and yPDare the distances measured by the odometer along easting and northing respectively at pose i. The metric dimensions of the search space are fixed at 35 m x 35 m for the purposes of this thesis. This specific dimension was selected based on the mission requirements as baselined for this research project. Step Through Search Space To reduce the likelihood of convergence by ICP to a local minimum, the input local map Mat each pose is sequentially translated and rotated in discrete steps across the search box. This process is shown in Figure 40. The translations and rotations are performed at coarse discrete steps with ICP invoked at each step to find a match. In essence, the rotations and translations are performed to coarsely align stem map M along a candidate orientation and position, with ICP invoked to fine tune the match, if possible. This approach significantly increases the likelihood of ICP finding the right match especially when considering the presence of outliers. The specific performance of ICP and its convergence properties are discussed in further detail in Section 5.3.2. Page 99 of 140 The linear and angular steps through the search space are mathematically described as follows: Mfs = RsxM 5 s + t k = tl,2,3, ... ns Where Risand t55 are the coarse rotation matrix and translation vector at steps k and j applied to input stem map Mfs at pose i, which is referenced to local frame OM. nr is the maximum number of angular steps given the angular step size, while njs is the maximum of number of linear steps given the search space size and linear step resolution. nys s, Rfsand ts are defined as follows: -27T 0 40 - - sinj0] Rs=cosO 1sinjO -l = (Ida dy cosjI ,f or translationalong Easting , for translaionalong Northing Where 0 is the angular step size and dx and dy are the linear step sizes. The angular step size chosen for this thesis is 10', which was determined heuristically based on the data. In similar fashion, d. and dy were chosen to be 3 meters, which is lOx the horizontal resolution of the image (0.3 m). Computationally speaking, the search space stage involves two loops. The outer loop is responsible for stepping linearly across the search space, while the inner loop involves stepping angularly at each iteration of the outer loop. At each iteration of the inner loop, ICP is invoked to provide an estimate of the geoposition of the mobile robot. 5.3.2 Robust Iterative Closest Point Algorithm The ICP implementation follows the 2D rigid Besl-McKay (point-to-point) framework given as follows [69]: N arg min Epq E ||IRxi N2 + - qi|| 2 i=1 Where E is the mean squared distance error between both input maps. R and F are the rotation matrix and translation vector, respectively. p and q are points in the tree Page 100 ol 140 center maps from the LiDAR and overhead image datasets, respectively. N is the total number of points in the LiDAR tree center map M. A match is found by determining the minimum error E. The basic expression given above uses least squares to minimize the squared distance error between both maps. This formulation is adequate for noiseless maps that do not contain outliers. However, basic ICP will provide skewed results if noisy data is used. A variant of ICP was developed for the purposes of this thesis that is robust against moderate presence of outliers. The ICP variant uses the Euclidean distance error and incorporates it into an iterative probabilistic best match search scheme. This scheme is inspired by the RANdom SAmple Consensus algorithm (RANSAC) [70]. The matching framework uses a constant input stream of the mobile robot's estimated pose as generated by the onboard GN&C subsystem. The ICP algorithm uses the mobile robot's pose estimates as input for comparison to its matching results and tries to minimize the error between them. To minimize the error in the presence of outliers, the algorithm systematically discards suspicious outliers by iterating over the matching process using randomly selected points from the LiDAR generated map M. The major steps undertaken by the robust ICP algorithm are: e Step 1: Attempt a match using all points from map M. * Step 2: Compare location estimate from step I t- lAst known best estimate of th location of the mobile robot. " Step 3: Perform another matching attempt by systematically discarding one candidate outlier point from map Mto minimize error from the previous step. * Step 4: Repeat step 3 until convergence or maximum iteration limit is reached. Maximum number of iterations allowed is 100. A detailed outline of the logic followed by the algorithm is given in Table 6. Table 6: A robust algorithm for point-to-point matching of tree center maps in presence of outliers Input: The stem constellation set S, the LiDAR stem set M and the rover pose x. Output: The optimal transformation parameters R and t that best aligns M to S. Begin: " Place the origin of the search space at the current best estimate of the location of the mobile robot. Repeat: * Place the set at the top left corner of the search space (origin). - Invoke Besl-McKay framework to optimize the objective function E. Page 101 of 140 - Compute the new estimated rover position based on the match between M and S. " If Euclidean distance error E between new and previous vehicle positions is not below threshold: o Randomly select one stern point from Mand temporarily set aside. o Update M to include one less stem point that was just selected and prepare to discard if next iteration results in less error E, or keep if error increases. Repeat Until: Distance error E is below predefined threshold. End The distance threshold selected for the purposes of this thesis is equivalent to the horizontal accuracy (RMSE) of the overhead imagery, which is 2.1 m. This is a fair assumption given that the accuracy expected of the localization estimates should not exceed the accuracies of the input data used. The maximum limit for the number of iterations performed by ICP was heuristically set at 100. It is noted that due to the local minima convergence property of ICP, the latest known geolocation of the mobile robot is used as input in order to avoid local convergence. This means that the best estimate of the location of the mobile robot is given to ICP as a seed upon which matching is initiated. Subsequent poses are updated by the mobile robot's GN&C subsystem based on the latest position estimates by ICP. In cases where large jumps are observed in position estimates, the latest estimate with the least deviation from the average is selected. It is noted that the design of the GN&C subsystem is outside the scope of this thesis. It is noted that Chapter 6 discusses the simulation of a mobile robot and its onboard GN&C subsystem using a simple state-space model that incorporates geoposition estimates from ICP. 5.3.3 Calculation of Mobile Robot Geoposition Based on Match At the end of each matching step, ICP produces an estimate for R and i that transform local map Mto global map S. The global position of the mobile robot is found by applying the rotation and translation to M and then subtracting from that the relative distances of each stem center to the mobile robot. This is mathematically described as follows: MfEO = RxMi + t Page 102 of 140 X fEO =Z(M EO,xMv) j=1 YGEO E(MGEO,yM) j= 1 Where MfEOis the georeferenced ground stem center map after applying the transformation to the relative map M at pose i. M GEOx is the n x 1 vector of the Easting positions of each stem for pose i, while MGEO,yis the n x 1 vector of the Northing positions of each stem for pose i. n is the total number of stem center points. XEO and YGEO are the mean geopositions of the mobile robot with respect to the global frame OS 5.3.4 Performance Analysis of Robust ICP Algorithm To analyze the performance improvements of the robust ICP algorithm compared to standard approaches such as those by Besl-McKay, several tests were perfbrmed using sample aerial and LiDAR data from the Lake Mize site. Figure 41 and Figure 42 show a sample run for a single rover pose. A sparse section of the constellation map S and LiDAR data M was used to facilitate visual demonstration of the effectiveness of the robust ICP algorithm. The LiDAR data set M had a single outlier as shown in Figure 41, which also shows the result from running the standard ICP algorithm. As shown, the estimated rover position is different from the actual GPS (true) position. This is mainly due to the presence of the single outlier that skews the least squares approach. The resultant distance error for this test was 2.71 m compared to the actual GPS position. Figure 42 shows the result after running robust ICP using the same dataset. The closeness of both datasets shows that a good match was found. The outlier was discarded following the logic discussed in Table 6 to produce a good match with a reported average point-pair distance error of 0.37 m (~l pixel). It is noted that since maps S and M are generated from two different sensors, it is anticipated that their constituent points may not perfectly align with each other. Page 103 of 140 0 LDAR-221 + 70 * * 0 0 75- 0 - StemConstelMIonM(Overhead kage) Stem Matching ResUis from StandardICP Estimated Rover Position Actual Rover Position Stem Set S(Rover LDAR) 0 8+ 80 0 85 0 0 0 0 (n CM, CM, 90 z 95 0 0 Outlier - 100 0 0 105 0 0 00 +0 + 0 a 15I -15 -0 -2 -20 -10I I -5 a 0 - 1 1 0n-25I -10 5 10 Easting (m) + 382360 mn Figure 41: Result from running standard ICP showing skewed position estimate due presence of one outlier injected to map M o Stem Consteiton M Ovwrhead mnge) + Stem Matching Resuhs fromn CP ftdant LD)AR-221 , 70 * * 0o 0 75 - OP Eeimated Rover Posion Actual RovmrPoson Stem Set S(RomrLIDAR) 0 9- 0 80 0 0 85 90- + 0 0 0 950 0 - 100 0 0 0 - 105 0 oc -5 -20 -15 0 -10 -5 Easting(m)+ 382360m 0 5 10 Figure 42: Result from running robust ICP with the same datasets where the outlier was automatically identified by the algorithm and removed Page 104 of 140 The robust ICP algorithm has the following properties: 1. The search space is constrained to a 35 m x 35 m box centered on the last known position of the mobile robot and projected onto the stem constellation dataset S. The optimum search space size was determined following an empirical investigation of the accuracy and processing-time performance of ICP using different search space sizes and shapes. In particular, a 35 m x 35 m search space enabled us to maximize matching accuracy while minimizing processing time. 2. The ICP algorithm always provides a result and produces the best-found match along with a mean error metric (parameter E). Good candidate matches produce low E while inadequate matches result in a large E. The error metric E depends on the final geometric configuration of both maps and the number of points in the LiDAR stem center map. More stern points in a map translate to higher consensus when calculating the mean position of the mobile robot. 3. The algorithm does not always guarantee better results than the standard ICIP method. In particular, the algorithm may not perform better in situations where there are moderate outliers present in the data. However, the algorithm will not provide worse results than standard ICP, as it will default to the standard approach if distance error E cannot be improved further. Chnter 6 provides a more detailed assessment of the robust ICP algorithm using experimental data acquired from a real-world environment. In addition, a DOE was conducted to understand the sensitivities of key parameters of the robust ICP method such as stern radius and number of stems observed per pose. These details arc discussed in Chapter 6. Page 105 of 140 -Blank- Page 106 of 140 Chapter 6 Experimental Results This chapter focuses on analyzing the performance of the localization algorithm using real-world data. The different types of imagery and LiDAR data are discussed along with the processing methodology adopted to prepare the different datasets for use by the localization algorithm. To validate repeatability of the results by the localization algorithm, multiple runs were performed using the same data but with different configurations. The performance of the algorithm was also analyzed using a sensitivity analysis that examined the impact of variations of some parameters on the overall accuracy of the algorithm. An example of how the algorithm can be implemented as part of a Kalman Filter state-space estimator is also discussed with the intent of showing the flexibility of the algorithm in various use cases. The localization algorithm was developed in Matlab and built using the standard image processing toolbox and with an open source ICP implementation. 6.1 Introduction 6.1.1 Study Area and Data Preparation Input Data Survey-grade LiDAR data was collected at a test site northeast of Lake Mize in Florida, USA (Coordinates: N29.738', W82.216'). Figure 43 shows the geographical area of the test site. The data was acquired by a Leica ScanStation-2 LiDAR system that was provided by the University of Florida. The LiDAR was placed at multiple survey stations within the area bounded by the rectangular box in Figure 44. The area is approximately 110 m x 110 m and the LiDAR dataset was collected with an average spatial resolution of approximately 5 cm (on ground). The area has flat terrain and is Page 107 of 140 4 high-resolution orthorectified images of the test site were acquired from USGS. The images were provided in GEOTIFF format with three images captured in the visible spectrum and one in NIR. The NIR image was acquired for backup but was never used in testing. All images were subsequently projected on the UTM coordinate system. USGS provides all images in Quarter Quadrangles format that defines the angular extents of each image to be within 3.75 arc minutes (square). This is the equivalent of 0.0625' x 0.0625g. Table 7 summarizes the key properties of the acquired data such as size, resolution and accuracy. It is noted that Aerial Image 1 and Aerial Image 2 were acquired of the same area but with different sensors and at different dates. Aerial Image 2 was selected for our tests due to its higher resolution and the closer proximity of the test site to the nadir (optical axis) of the image (< %/of Quart-Quad angular extent), thus reducing parallax. Table 7: Properties of input data (3 aerial images and one LiDAR point cloud) Aerial Image 1 Visible, 5000x5000 pixels, 2.1 m Off-nadir Lower right corner. Angular position > 0.031250 2.1 m Close proximity to nadir. Angular position < 0.03125' 2m Off-nadir, lower right corner. Angular position ~ 0.0625' 0.01 m N/A 0.3 m resolution Aerial Image 2 Visible, 5000x5000 pixels, 0.3 m resolution Aerial Image 3 Visible, 8000x8000 pixels, 0.5 m resolution LiDAR 5 cm resolution (Average onground) N/A: Not Applicable Data Alignment The same stems in the LiDAR dataset and Aerial Image 2 were observed to have a systematic offset in their horizontal positions (Easting, Northing). Although the LiDAR dataset was georeferenced using post-processed GPS techniques that guarantee approximately 5 cm accuracy or better, the overhead imagery was orthorectified by Page 109 of 140 4 high-resolution orthorectified images of the test site were acquired from USGS. The images were provided in GEOTIFF format with three images captured in the visible spectrum and one in NIR. The NIR image was acquired for backup but was never used in testing. All images were subsequently projected on the UTM coordinate system. USGS provides all images in Quarter Quadrangles format that defines the angular extents of each image to be within 3.75 arc minutes (square). This is the equivalent of 0.06250 x 0.06250. Table 7 summarizes the key properties of the acquired data such as size, resolution and accuracy. It is noted that Aerial Image 1 and Aerial Image 2 were acquired of the same area but with different sensors and at different dates. Aerial Image 2 was selected for our tests due to its higher resolution and the closer proximity of the test site to the nadir (optical axis) of the image (< 2of Quart-Quad angular extent), thus reducing parallax. Table 7: Properties of input data (3 aerial inages and one LiDAR point cloud) Aerial Image 1 Visible, 5000x5000 pixels, 2.1 m Ott-nadir Lower right corner. Angular position > 0.031250 0.3 m resolution Aerial Image 2 Visible, 5000x5OOO pixels, 2.1 m Close proximity to nadir. Angular position < 0.03 125' 2m Off-nadir, lower right corner. Angular position ~ 0.0625' 0.01 m N/A 0.3 m resolution Aerial Image 3 Visible, 8000x8000 pixels, 0.5 m resolution LiDAR 5 cm resolution (Average onground) N/A: Not Applicable Data Alignment The same stems in the LiDAR dataset and Aerial Image 2 were observed to have a systematic offset in their horizontal positions (Easting, Northing). Although the LiDAR dataset was georeferenced using post-processed GPS techniques that guarantee approximately 5 cm accuracy or better, the overhead imagery was orthorectified by Page 109 of 140 USGS with a stated accuracy of ~2.1 m RMS. According to USGS, this accuracy metric was calculated based on 4 independent measurements, each at one of the corners of the image. It is theoretically possible that the actual accuracy of the image could be worse in some areas and better in other areas. A linear horizontal alignment was therefore necessary to facilitate accurate matching of stem objects in both maps. XWor and Yo, denote the easting and northing corrections needed to align both datasets. Those correction parameters were calculated manually by determining the pixelequivalent horizontal offsets between several crown and stem objects observed in both datasets. 3 crown/stem objects were selected in both datasets and used to manually calculate the average offset in pixels in the horizontal plane. X.o, and Y.o, were then calculated by converting the pixel-equivalent distance to meters. X.o, was found to be +1.3 m, while Y.o, was calculated to be -0.4 m. Even after the linear alignment, the stated accuracy of the image of 2.1 m RMS was assumed as the baseline. 6.2 Simulation Setup Without access to a real rover, and to simulate the envisaged operational scenario, a ground vehicle was simulated in Matlab traversing different polygonal paths and using the acquired LiDAR data as input. The simulated rover path is illustrated in red as shown in Figure 45. More specifically, the acquired LiDAR data from the Lake Mize site was gridded and incrementally fed at each pose to the localization algorithm. Figure 45 shows the simulated rover path and all identified stem centers from the ground based LiDAR dataset. 10 different paths were simulated with different stems observed by the mobile robot from path to path. Section 6.3 shows the results from using all of the 10 different paths. At each pose, the LiDAR point cloud is sliced into 35 m x 35 m boxes centered on each simulated pose of the rover. These slices are fed to the stem identification and center estimation algorithm, which detects and labels stem centers for use by the matching algorithm. The state-space vector of the simulated mobile robot is described as follows: True Easting Coordinate Xstate (Psi) =True Northing Coordinate sRelaive-No. of Stems Observed .Relative coordinatesof stems observed Where Ps, is pose at i. It is noted that slicing of 3D data is performed prior to invoking the matching algorithm. Since the LiDAR dataset is of high accuracy, it was treated as the ground truth to which geoposition estimates from the localization algorithm are compared against. More specifically, the algorithm's estimated mobile robot position is plotted with the corresponding GPS location derived from the overlay of the simulated robot path onto the Page 110 of 140 LiDAR data. To assess the accuracy of position estimates, the horizontal position error between the result provided by the localization algorithm and the GPS estimate is calculated. - -Simuided Rover Pakh SLDAS Besed Stem Ceniters 100 80 90 0 0 "* E -0 ~ 0 09 00 cc 000 0 - 40 zn @D oo 0O00 00 00 C go 0 0 09 0 20 0 0 00 -2 :0L 0 10 20 30 40 50 Eastng (m)+382360 m 0008~ 60 70 80 0~0 90 Figure 45: Simulated mobile robot path in red along with all stem centers identified by the stem identification and center estimation algorithm Prior to invoking the simulation, input parameters were set in the simulation program as listed in Table 8. Table 8: Input parameters to localization algorithm and simulation program is 3.28 Overhead image rectilinear scale pixels/m t 13 Green contrast integer threshold a- 1 pixel Gaussian blur disk radius diamnn 1.5 m Minimum detectable crown diameter diam~nca 12 m Maximum allowable crown diameter e 0.9 Maximum allowable eccentricity of crown object Ne 20 Erosion and construction noise threshold brh 2m Breast height of tree stem lb 35 m Search space linear dimension Page III of 140 Sm~in 4 Minimum number ot stem objects in single pose et, 2m Minimum distance error threshold between true mobile robot position and estimate Xcor 1.3 m Systematic correction along Easting between LiDAR dataset and input overhead orthophoto Ye-01. -0.4 Systematic correction along Northing between dataset and input overhead orthophoto iII(' 100 Maximum number of iterations per ICP run d4 3m Linear step size along Easting inside search space by ICP d, 3m Linear step size along Northing inside search space by ICP 0 100 Angular step size inside search space by ICP 8,naX 400 Maximum angular search space window size by ICP 6.3 LiDAR Results 10 full tests were performed where processing and labeling of input data were all conducted by the localization algorithm. The tests were differentiated by the geometry of the path taken by the mobile robot as part of the simulation. Due to the different geometry of each path, slicing of LiDAR data was different. This meant that paths would differ in the total number and geometry of stems observed from pose to pose. Figure 46 to Figure 65 show the localization results for all 10 of the different paths as reported by the vision based localization algorithm. To characterize accuracy, the position error for each pose was calculated based on the geoposition estimate from the localization algorithm and the true position of the mobile robot as simulated in Matlab. The Euclidean position error is defined by: Errori = (x - x ) 2 + (y - y )2 Where x"i and y"i are the absolute (true) Easting and Northing coordinates of the mobile robot at pose i, while x'i and YWi are the algorithm's estimated Easting and Northing coordinates of the robot at pose i. For each simulation, the simulated mobile robot's true path is plotted along with the estimated position as provided by the localization algorithm. A histogram showing the distribution of the position results is also given for each path. Page 112 of 140 ................. . ....... Path 1 MU - A ctual position of simulated rover Estimated position by localization algorithm 70 F 60 50 - E 0 C") - 40 4-. 30 - 0 Z 20 - 10 0'0 I I 10 20 I I 30 40 50 Easting (m) + 382360 m I I 60 70 80 Figure 46: Geoposition results for path I comparing true mobile robot position to estimates by the localization algorithm 60 50- 40C 0 Z 30E z - 20 10_- 0L 0 1 2 3 4 5 6 Position Error (m) Figure 47: Histogram of position error results as provided by the localization algorithm for path 1 Page 113 of 140 Path 2 80 A ctual position of simulated rover E) Estimated position by localization algorithm 70- 60 - E 8 500 40 30 20 20 K - Z 0 10 20 30 40 50 60 70 80 Easting (m) + 382360 m Figure 48: Geoposition results for path 2 comparing true mobile robot position to estimates by the localization algorithm 80- I I I I I I 4 5 b I I 70- 60- ' 50 0 40 S30 20 10 0 0 3a 8 9 Position Error (m) Figure 49: Histogram of position error results as provided by the localization algorithm for path 2 Page 114 of 140 Path 3 75 t -e 70 Actual position of simulated rover Estimated position by localization algorithm 65 E 60 55 zO0 50 45 40 35 30' 15 I I I 20 25 30 I i 35 40 Easting (m) + 382360 m I I I 45 50 55 60 Figure 50: Geoposition results for path 3 comparing true mobile robot position to estimates by the localization algorithm 35- 30- 254" 200 15 lOFo 5 0 0 1 2 3 4 Position Error (m) 5 6 7 1 8 Figure 51: Histogram of position error results as provided by the localization algorithm for path 3 Page 115 of 140 Path 4 -- ActuaI position of simulated rover E)Estimated position by localization algorithm 60- 50E o 40- 0 2 0 10k 0'-10 20 30 40 50 Easting (m) + 382360 m 60 70 80 Figure 52: Geoposition results for path 4 comparing true mobile robot position to estimates by the localization algorithm 90 80 70 60 50 0 40 z 30 20 10 0 0 2 3 4 5 6 7 8 9 10 Position Error (m) Figure 53: Histogram of position error results as provided by the localization algorithm for path 4 Page 116 of 140 Path 5 75 ()A ctual position of simulated rover E) Estimated position by localization algorithm 70 65 E 60 55 50 02 0 45 40 35 30 L 10 20 40 Easting (m) + 382360 m 30 50 60 70 Figure 54: Geoposition results for path 5 comparing true mobile robot position to estimates by the localization algorithm 50 I I I I I 3 4 5 6 I I 7 8 45403530- 0 2520- Z 1510- 5 0L 0 -1 2 9 Position Error (m) Figure 55: Histogram of position error results as provided by the localization algorithm for path 5 Page 117 of 140 Path 6 60 ---e- Actual position of simulated rover Estimated position by localization algorithm 50- + E 40- 3 0- CVco 0 2 0- I0 -- 10 20 30 40 50 60 70 80 Easting (m) + 382360 m Figure 56: Geoposition results for path 6 comparing true mobile robot position to estimates by the localization algorithm I 60 Z 40 20 0 0 2 4 6 8 10 12 14 Position Error (m) Figure 57: Histogram of position error results as provided by the localization algorithm for path 6 Page 118 of 140 Path 7 80 - - A ctual position of simulated rover Estimated position by localization algorithm 70 60 E o 50 Pc'l E S40 I- I - 0 Z 30- 20- 10 2( 25 30 35 45 40 Easting (m) + 382360 m 50 55 60 65 Figure 58: Geoposition results for path 7 comparing true mobile robot position to estimates by the localization algorithm 40, I I 2 3 I I I 4 0 6 35- 30- 25C 0 20- Z 1510- - 5 - 0 0 7 8 9 Position Error (m) Figure 59: Histogram of position error results as provided by the localization algorithm for path 7 Page 119 of 140 Path 8 80 A ctual position of simulated rover Estimated position by localization algorithm 70- 60E 8 50CO -E 400 Z 30- 20- 100 20 10 30 40 Easting (m) + 382360 m 50 60 70 Figure 60: Geoposition results for path 8 comparing true mobile robot position to estimates by the localization algorithm 70 60- - 50 C 1 40 0 1 30 z 20 10 01 0 1 2 3 4 Position Error (m) 5 6 7 8 Figure 61: Histogram of position error results as provided by the localization algorithm for path 8 Page 120 of 140 Path 9 80 ---E Actual position of simulated rover Estimated position by localization algorithm 70 60 E o 50 040 - I 0 0 20 in 30 35 40 45 65 50 55 60 Easting (m) + 382360 m 70 75 80 Figure 62: Geoposition results for path 9 comparing true mobile robot position to estimates by the localization algorithm I I I I I I I 4 5 b 7 50 S 40- o z 30- 20- 10- 00 a3 8 Position Error (m) Figure 63: Histogram of position error results as provided by the localization algorithm for path 9 Page 121 of 140 . ........ ............. Path 10 Ou. --- Actual position of simulated rover - -Estimated position by localization algorithm 70- 60E 50- N-.- -- C - 40 0 Z - 30 - 20 - 10 10 20 30 40 Easting (m) + 382360 m 50 60 70 Figure 64: Geoposition results for path 10 comparing true mobile robot position to estimates by the localization algorithm 70 F 60 50 40 0 30 z 20- - 10 0L 0 2 3 4 5 6 Position Error (m) 7 8 9 10 Figure 65: Histogram of position error results as provided by the localization algorithm for path 10 Page 122 of 140 6.3 Accuracy Assessment Results in Section 6.2 show that, overall, there is a good agreement between true and estimated position data. Estimates from the localization algorithm generally follow the true measurements with some minor deviations. In particular, there is a problematic area lying between the 30 and 60 Easting lines towards the top of the polygon traverse paths. Estimates from the localization algorithm for those areas do not agree well with true positions (3-4 m mean error). Manual inspection of LiDAR data revealed that the problematic areas contain moderate stands of thick and tall (>2 m height) underbrush that obscure tree stems and lead to false labeling. The moderate presence of false positive stems limits the success of the ICP algorithm regardless of how robust it is. If there are many more false positives than true stems in the data, it becomes challenging to aggregate enough consensus in order to obtain a robust position estimate. The mean position error, standard deviation and Root Mean Squared (RMS) error for all test runs are summarized in Table 9. The mean robot position error for all test runs agrees to within +/- 1 pixel (~ 0.33 in), which is theoretically acceptable given the 1-foot resolution of the aerial image used. In particular, considering the horizontal accuracy of the aerial image of 2.1 m RMS, the position accuracy results show very similar performance. It is noted that due to occlusion by underbrush, some tree stems were not detected in several poses. These poses were therefore discarded and shown as gaps in the mobile robot path data as seen in Section 6.2. Table 9: Accuracy results of localization algorithm for all test runs 1-10 1 234 1.511 0.893 1.754 2 202 1.569 1.354 2.071 3 132 1.553 1.107 1.904 4 211 1.597 1.376 2.106 5 145 1.653 1.311 2.106 6 193 1.490 1.554 2.149 7 104 1.725 1.460 2.255 8 196 1.520 1.259 1.970 9 181 1.669 1.100 1.987 10 191 1.722 1.596 2.344 Page 123 of 140 . ....... ............. .......... Figure 66 shows the profile of position errors, including mean error, standard deviation and RMS for all paths 1-10. 1.5 "'"Mean Position Error (m) 0.5 1 "Standard Deviafion of Position Error Measurements - 0 2 4 Path 6 8 RMS of Position Error 10 12 Figure 66: Position error results including mean error, standard deviation and RMSE produced by localization algorithm for all paths 1-10 Table 9 and Figure 66 show that the algorithm produces consistent performance using different configurations (paths) of LiDAR data as input. The variations in the error reported from path to path are attributed to the different number of stems reported at each pose as well as the percentage of false positives observed. Three factors play a major role in determining the positional accuracy of the localization algorithm: * Accuracy of the input datasets (aerial and LiDAR). Some trees that are visible in the LiDAR dataset may not have visible crowns in aerial imagery due to occlusions by taller trees. e Validity of tree stem centers estimated from aerial imagery. Tree crowns tend to merge in dense forests rendering the task of delineation somewhat tricky and not without uncertainty. e Validity of tree stem centers estimated from LiDAR. Some trees that are visible in the aerial image may not be visible in the LiDAR dataset due to occlusions by other trees, underbrush or other obstructions. The second and third factors are very important because they can easily affect the positional accuracy reported by the algorithm. If several tree centers were mislabeled, the Page 124 of 140 ..... ........ matching algorithm would have difficulties finding the true matches. In cases where a moderate number of erroneous tree centers are present in a dataset, ICP would certainly provide a biased result. 6.4 Sensitivity Analysis To characterize the parameter sensitivity of position estimates produced by the localization algorithm, a sensitivity analysis in the form of a DOE was conducted. The key parameters chosen were the number of stems per pose reported by the stem identification and center estimation algorithm and the minimum stem radius. A single dataset was used for the sensitivity analysis to serve as a canonical case for the thesis. Path 1 data was used for the purposes of the DOE because it had the most number of poses compared to the rest of the path data. The DOE process is described as follows: * Outer loop: Iterate over number of stems per pose (Range: 2-20, increments of 2) * Inner loop: Iterate over minimum stem radius (Range: 0-0.1 m, 0.15, 0.2, increments of 0.2) e At each iteration of the inner loop, invoke the localization algorithm based on the established parameters and record the overall RMSE. It is noted that all other parameters are kept the same as detailed in Table 8. Figure 67 shows the DOE results with the number of stems per pose and minimum stem radius forming the x and y axes, respectively, and estimated position error (RMSE) on the z axis. DOE Results (Number of Stems per File vs. Stem Radius vs. Estimated Position Error) 10 - . o 0 o 2 o ..... 0.2 2 0 Estiate 2145 Ste RaiusNumber of Stems per File Figure 67: 2 parameter DOE results versus estimated position error (RMSE) for path Page 125 of 140 1 data (canonical case) A Pareto front is clearly seen that minimizes the estimated position error for a given range of values for the number of stems per pose and the minimum stem radius. Figure 68 and Figure 69 show the relationship between estimated position error and each of the DOE parameters: number of stems per pose and minimum stem radius. DOE Results (Number of Stems per File vs. Stem Radius vs. Estimated Position Error) 12 10 0 8 ........... ...... 6 ....... .. * .................. ........ Qa 0 E 0 4 0 .o F :0 00 4 2 8 6 10 12 Number of Stems per File 16 14 18 20 Figure 68: Impact of number of detected stems per pose on RMSE for path I (canonical case) DOE Results (Number of Stems per File vs. Stem Radius vs. Estimated Position Error) - -.--. - 12 -- 10 --4 .. . .. .. . .. . .: 0 .......... ............... ............ . 0.. . - - ..... -....... 6- ........... 4- ........... . 0 - -- - - - - - - - L - 8- .......... 0. 2 00 0 0 II I I I I 2002 0.18 0.16 0.14 I I I 0.12 0.1 0.08 Estimated Stem Radius I I 0.06 0.04 Figure 69: Impact of minimum stem radius on RMSE for path 1 (canonical 1 0.02 1 0 case) Figure 68 shows that a minimum of 4 stems per pose is needed to attain position errors of less than 5 m. The threshold of 5 m was specified in the mission operations concept for this thesis. More stems per pose may be required to achieve higher accuracies Page 126 of 140 as implied by the plot. This relationship agrees with the mechanics of the matching process. More stems per pose translate to higher consensus in the correlation routine between map M and S, and thus higher position accuracy can be expected. A higher threshold is possible at the expense of discarding more stems that do not pass that threshold. This becomes a common issue when considering sparse areas. Based on the above, the algorithm has baselined a minimum of 4 stems per pose. Poses that contain less than 4 stems are discarded. Figure 69 shows that the overall position error does not change significantly as the minimum radius is reduced from 0.08 m to 0.01 m. That means that the minimum stem radius does not have a direct effect on the performance of the localization algorithm as long as the minimum stem radius is kept below 0.08 m. It is therefore concluded that the minimum stem radius should be set at 0 m i.e. not used. 6.5 Kalman Filter Application The localization algorithm can be integrated to online filtering techniques such as recursive least squares or Kalman Filter frameworks. The benefit of such integration is to produce continuous and smoothed best estimates of the geoposition of the mobile robot. The localization framework can be treated as a standalone geoposition sensor that supplies location estimates at each pose of the mobile robot. Figure 70 shows the results of integrating the localization algorithm to a Discrete Kalman Filter (DKF) framework. --E- 320G X 10 GPS 1CP - -KF - 3.2904 - 3.2904 - 3.2904 - 3.2904 - 3.2904 - 3.2904 - 3.2904 - 3.2904 3.2235 3.8236 3.8237 3,8238 3.8239 3.824 Easting (m) 3.8241 3.8242 3.8243 3.8244 X 10 5 Figure 70: Unfiltered geoposition estimates by the localization algorithm for path 1 data (ICP in blue) as compared to the filtered version using a DKF (KF in green) and the true position data (GPS in red) Page 127 of 140 The standard DKF framework calculates error covariance matrices and updates them as new input data is provided. The state space model is comprised of the geoposition of the mobile robot along Easting and Northing. In order to estimate the optimal geoposition of the mobile robot, the DKF uses the calculated error covariance matrices to estimate the a priori state space model and propagate it. Data from the subsequent pose are used to update the state space model post priori. Figure 70 shows a canonical case of a DKF implementation using the localization algorithm as input. Data from the "path 1" dataset was used for demonstration. The plot shows the filtered geoposition estimates using the DKF framework along with the unfiltered geoposition estimates from the localization framework and the true position. It is clear that the DKF method produces a more stable output compared to the raw unfiltered geoposition estimates by the localization algorithm. It is noted that the raw unfiltered geoposition estimates were produced by the standard ICP algorithm and not the robust version. The intent was to show the marked improvement of utilizing a DKF approach compared to traditional methods, which would not have been easily seen if data from the robust ICP algorithm were used instead. In summary, compared to a raw position accuracy of 2.4 m with 1.8 m standard deviation for the "path 1" dataset, the DKF approach achieved ~1 m standard deviation, which is a significant improvement. However, the mean error position reported by the tO the state space propagaLi11 CnU UdaLe LJK 1frameVVork VVts 12. m. This 1s due process of the DKF framework that produces a systematic linear offset between the raw and DKF estimates. Therefore, there is a tradeoff that needs to be considered when a DKF framework is applied. Although effective in smoothing the raw position estimates, the DKF framework can introduce systematic offsets that degrade the overall accuracy. This section serves to demonstrate the flexibility of the localization algorithm in terms of integration to state space models and online filtering techniques. The method is envisioned to be utilized standalone but could be integrated readily with other methods and/or sensors to provide smoothed estimates for real-time navigation purposes. Page 128 of 140 -Blank- Page 129 of 140 Chapter 7 Thesis Summary, Conclusions and Recommendations 7.1 Thesis Summary Absolute localization of mobile robots without the use of GPS is an area currently undergoing intensive research. Although GPS is considered an effective and accurate geolocation technology, its signals are easily attenuated by canopies in forest environments, or dithered and spoofed by adversaries in areas of major conflicts. In this context, a novel algorithm is presented by this thesis that provides accurate geopositioning of mobile robots without relying on GPS. The algorithm utilizes vision data acquired by sensors onboard the mobile robot and compares them to absolute maps loaded into the robot a priori. Chapter I gave a summary of the overarching goals of the thesis and the fundamental concepts related to the problem of determining the absolute geoposition of a vehicle. The top level goals of the thesis were then expanded in Chapter 2 to develop candidate mission operations concepts for a mobile robot operated in two main modes, teleoperation and autonomous. In particular, the use context of the localization scheme was examined to identify likely scenarios and applications that would utilize vision based localization. The chapter concluded by specifying a set of operations and functional requirements that detail scenarios, operations aspects and performance parameters for mobile robot localization in dense forest environments. Based on the operations concepts and requirements, a top-level architecture of the vision based localization framework was defined in Chapter 2. The architecture captured the important functional building blocks required to perform localization of a mobile robot. This includes defining the subsystems (modules) to be integrated as part of the Page 130 of 140 overall framework. In addition, inputs and outputs at the top-level of the framework are defined in order to clarify how the framework can be integrated to mobile robots and their GN&C subsystems. The automatic tree crown identification, delineation and extraction component is discussed in Chapter 3. This module is responsible for estimating tree crown centers, and hence tree stems, from aerial or orbital imagery. Various image processing algorithms are implemented and explained, most notably, the watershed segmentation algorithm that enables unambiguous delineation of tree crowns. The output from this module is a global map comprised of detected tree stems (stem map S). Chapter 4 discusses the methodology of generating local maps M at each pose of the mobile robot. The algorithm's design borrows heavily from prior work by Matt McDaniel of the Robotic Mobility Group at MIT. McDaniel's original algorithm was customized and integrated into the vision based algorithm. The customization involved adjusting parameters related to the breast height brh threshold as well as the search windows for candidate main stem data. Local maps generated by this component are used for subsequent matching with the global map S for localization purposes. The last component of the vision based algorithm is the matching of locally generated maps to global maps of the area explored by the robot. Chapter 5 discussed the design of a robust ICP algorithm that performs matching and alignment of locally generated maps of tree stems to global stem maps estimated from overhead imagery. The main feature of the robust ICP algorithm developed in this thesis is its ability to handle and discard outliers (false positive stems identified in local stein maps A/). The method employs an exhaustive search approach that systematically eliminates outliers by minimizing resultant position error between the best-known robot position and that estimated by the algorithm. A canonical example with and without outliers is discussed along with a comparison showing the superior performance of the robust ICP method compared to standard ICP frameworks. Several tests were undertaken using real-world data to validate and verify the performance and functionality of the localization framework. Chapter 6 discusses the methodology adopted to collect, process and validate performance using real-world data fed to a simulated robot in a dense forest near Lake Mize in Florida, USA. Different test regimens were used to assess performance. Data from the Lake Mize site consisted of high-resolution LiDAR scans of the forest grounds coupled with open-source highresolution aerial imagery of the same area. To characterize accuracy, position estimates from the vision based localization algorithm were compared to true measurements of the simulated mobile robot. RMS errors of approximately 2 m were observed for all paths, which agreed well with the accuracy of the aerial imagery used (2.1 m RMS). Page 131 of 140 7.2 Contributions This thesis develops and validates a novel approach to the geolocation of terrestrial mobile robots operating outdoors in dense forest environments. The following specific thesis contributions can be identified: - Developed a methodology and associated algorithm for the processing of vision based overhead imagery and LiDAR data to extract tree crown and stem objects. - Developed methodology and associated algorithm for the geometric matching of local stem maps observed by a ground LiDAR to overhead constellation stem maps of the exploration area. " Developed methodology and associated algorithm for the calculation of the geoposition of a mobile robot based on matching local stem maps to overhead stem constellation maps. - Produced and tested a software toolbox written in Matlab that allows mobile robot geoposition estimation based on input steams of real world data (imagery and LiDAR). * Validated and verified performance of the geolocation algorithm experimental real world data of a forest around Lake Mize, FL, USA. 7.3 using Limitations The limitation of the localization method is its reliance on the best estimate of the robot's geoposition in order to constrain the search space. This constraint is limiting within the context of a kidnapped robot scenario where there are no prior estimates of the geoposition of the mobile robot. In such a scenario, the vision based localization algorithm fails because the search space cannot be specified. A global search would be required in order to estimate geoposition. This is a complex and time-consuming computation task that involves processing a large library of overhead imagery covering the globe. In theory this is a feasible undertaking but the computational requirements and processing times may yield significant penalties that render the utilization of this algorithm prohibitive and impractical. 7.4 Recommendations for Future Work Recommendations for future work are divided into two main aspects: short-term enhancements and long-term improvements. Short-term enhancements include the following: Pagc 132 of 140 " Utilize higher resolution overhead imagery of the exploration area. The thesis project used an overhead image with 0.33 m (1 foot) resolution. The accuracy of the delineation algorithm can be further improved by using higher resolution imagery e.g. sub decimeter. Higher resolution imagery can lead to increased crown classification accuracy because of the higher detail attained in delineating the edges of crowns. - Obtain and utilize higher accuracy (RMSE) overhead imagery. In similar fashion to the previous point, a higher accuracy image with sub-meter RMSE should significantly improve the overall geolocalization accuracy of the algorithm. Long-term improvements include the following: Implement a more robust delineation and stem identification algorithms to reduce or eliminate the percentage of false positive stems identified in the overhead imagery and LiDAR data. This would involve utilizing 2D and 3D tree morphology models (templates) that can be used for identifying trees from underbrush. Page 133 of 140 -Blank- Page 134 of 140 References [1] C. Kee, B.W. Parkinson, P. Axelrad, "Wide Area Differential GPS", Navigation, Vol. 38, No. 2, pp. 123-146, 1991. [2] B. Liu, M. Adams, J. Ibanez-Guzman, "Multi-aided Inertial Navigation for Ground Vehicles in Outdoor Uneven Environments," IEE International Conference on Robotics and Automation ICRA, pp.4703-4708, 2005. [3] P. Sigrist, P. Coppin, M. Hermy, "Impact of forest canopy on quality and accuracy of GPS measurements", International Journal of Remote Sensing, 20(18), 35953610, 1999. [4] B. Barshan, and H.F. Durrant-Whyte. "Inertial navigation systems for mobile robots.", IEEE Transactions on Robotics and Automation, pp. 328-342, 1995. [5] J.J. Leonard, H.F. Durrant-Whyte, "Simultaneous map building and localization for an autonomous mobile robot," IEEE/RSJ International Workshop on Intelligent Robots and Systems - Intelligence for Mechanical Systems, vol. 3, pp.1442-1447, 1991. [6] J. Guivant, F. Mason, E. Nebot, "Simultaneous Localization and Map Building Using Natural Features and Absolute Information", Robotics and Automation Systems 40, pp. 79-90, 2002. [7] D. Nistdr, 0. Naroditsky, J. Bergen, "Visual odometry for ground vehicle applications", Journal of Field Robotics, 23(1), 3-20, 2006. [8] S. Se, D. Lowe, J. Little, "Global localization using distinctive visual features", IEEE/RSJ International Conference on Intelligent Robots and Systems, Vol. 1, pp. 226-23 1, 2002. [9] J. A. Castellanos, J.D. Tardos,"Mobile robot localization and map building: A multisensor fusion approach", Kluwer academic publishers, 2000. [10] Y. Fuke, E. Krotkov, "Dead reckoning for a lunar rover on uneven terrain". IEEE International Conference on Robotics and Automation, Vol. 1, pp. 411-416, 1996. [11] R. Li, B.A. Archinal, R. E. Arvidson, "Spirit rover localization and topographic mapping at the landing site of Gusev Crater, Mars", Journal of Geophysical Page 135 of 140 Research, 11 1(E2), 2006. [12] S. Panzieri, F. Pascucci, G. Ulivi,. "An outdoor navigation system using GPS and inertial platform", IEEE/ASME Transactions on Mechatronics, 7(2), 134-142, 2002. [13] A. Georgiev,P. K. Allen, "Localization methods for a mobile robot in urban environments", IEEE Transactions on Robotics, 20(5), 851-864, 2004. [14] B. Hofmann-Wellenhof, System", Springer, 2000. H. Lichtenegger, H, J. Collins, "Global Positioning [15] P. Misra, P. Enge, "Global Positioning System: Signals, Measurements and Performance Second Edition", Massachusetts: Ganga-Jamuna Press, 2006. [16] B.W. Parkinson, J. J. Spilker,"Global Positioning System: part 1 GPS fundamentals, part 2 GPS performance and error effects; vol. 2, part 3 differential GPS and integrity monitoring, part 4 integrated navigation systems, part 5 GPS navigation applications, part 6 special applications (Vol. 2)", AIAA, 1996. [17] P. Bolstad, A. Jenks, J. Berkin, K. Horne, H.W. Reading, "A comparison of autonomous, WAAS, real-time, and post-processed global positioning systems (GPS) accuracies in northern forests." Northern Journal of Applied Forestry 22, no. 1, 2005. [18] K. Ohno, T. Tsubouchi, S. Yuta, "Outdoor map building based on odometry and RTK-GPS positioning fusion", IEEE International Conference on In Robotics and Automation ICRA'04, Vol. 1, pp. 684-690), 2004. [19] P. Sigrist, P. Coppin, M. Hermy, "Impact of forest canopy on quality and accuracy of GPS measurements". International Journal of Remote Sensing, 20(18), 35953610, 1999. [20] M.S. Braasch, "GPS multipath model validation". IEEE Position Location and Navigation Symposium, pp. 672-678, 1996. [21] M. Mostafa, J. Hutton, B. Reid, "GPS/IMU products-the Applanix approach", Photogrammetric Week, Vol. ], pp. 63-83, 2001. & [22] Y. Cheng, M.W. Maimone, L. Matthies, "Visual odometry on the Mars exploration rovers-a tool to ensure accurate driving and science imaging", IEEE Robotics Automation Magazine, 13(2), 54-62, 2006. [23] H. Bay, T. Tuytelaars, L. Van Gool, "Surf: Speeded up robust features", Computer Vision-ECCV 2006 (pp. 404-417). Springer Berlin Heidelberg, 2006. [24] D.G. Lowe, "Object recognition from local scale-invariant features". international conference on Computer vision, Vol. 2, pp. 11 50-1157, 1999. Page 136 of 140 IEEE [25] J.P. Grotzinger, J. Crisp, A.R. Vasavada, R.C. Anderson, C.J. Baker, R. Barry, R.C. Wiens, "Mars Science Laboratory mission and science investigation", Space science reviews, 170(1-4), 5-56, 2012. [26] A. Howard, "Real-time stereo visual odometry for autonomous ground vehicles". IEEE/RSJ International Conference on Intelligent Robots and Systems IROS 200, pp. 3946-3952, 2008. [27] K. Nishino, K. Ikeuchi, "Robust Simultaneous Registration of Multiple Range Images", 51h Asian Conference on Computer Vision, 2002. [28] M. Song, F. Sun, K. lagnemma, Forested Landmark Extraction in Cluttered International IEEE Environments", "Natural Conference on Robotics and Automation (ICRA), pp.4836-4843, 2012. [29] J. Levinson, J. Askeland, J. Becker, J. Dolson, D. Held, S. KammelS. Thrun, "Towards fully autonomous driving: Systems and algorithms", IEEE Intelligent Vehicles Symposium (IV), pp. 163-168, 2011. [30] B. Planitz, A. Macder, J. Williams, "The correspondence framework for 3D surface matching algorithms" Computer Vision and Image Understanding, 97(3), 347-383, 2005. r 31] A NAian NA Bennniin R. s " A idu-mticli rrespfnellnce fnr IF) mdingo An extensive review", International Journal of Shape Modeling, 11(2), 253-291, 2005. [32] K. Mikolajczyk, C. Schmid, "A performance evaluation of local descriptors", IEEE Transactions on Pattern Analysis and Machine Intelligence, 1615-1630, 2005. [33] S. Se, H.K. Ng, P. Jasiobedzki, T.J. localization for planetary exploration Moyung, "Vision based modeling and rovers", Proceedings of International Astronautical Congress (pp. 434-440), 2004. [34] Z. Zhang, "lterative point matching for registration of free-form curves and surfaces", International Journal of Computer Vision, 13(2), 119-152, 1994. [35] A. Hayashi, T. Dean, "Satellite-map position estimation for the Mars rover", Proceedings of the NASA Conference on Space Telerobotics, Vol. 2, pp. 275-282, 1989. [36] F. Stein, G. Medioni, "Map-based localization using the panoramic horizon", IEEE Transactions on Robotics and Automation, 11(6), 892, 1995. [37] A. Behar, J. Matthews, C. Raymond, E. Means, "The JPL PAUSE aerobot". The Page 137 of 140 International Conference on System, Man and Cybernetics, Vol. 4, p. 3939-43, 2005. [38] S. Ramalingam, S. Bouaziz, P. Sturm, M. Brand, "Skyline2gps: Localization in urban canyons using omni-skylines", IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2010, pp. 3816-3823, 0 10. [39] A.L. Majdik, Y. Albers-Schoenberg, D. Scaramuzza, "MAV urban localization from Google street view data", IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) 2013, pp. 3979-3986, 2013. [40] H. Kretzschmar, C. Stachniss, C. Plagemann, W. Burgard, "Estimating landmark locations from geo-referenced photographs". IEEE/RSJ International Conference Intelligent Robots and Systems IROS 2008, pp. 2902-2907, 2008. [41] P.J. Carle, P. T. Furgale, T.D. Barfoot, "Long-range rover localization by matching LIDAR scans to orbital elevation maps", Journal of Field Robotics, 27(3), 344-370, 2010. localization and mapping" [42] S. Thrun, J.J. Leonard, "Simultaneous handbook of robotics, 871-889, 2008. Springer [43] H. Durrant-Whyte, T. Bailey, "Simultaneous localization and mapping: part I", IEEE Robotics & Automation Magazine, 13(2), 99-110, 2006. [44] R. Iser, A. Martens, F.M. Wahl, "Localization of mobile robots using incremental local maps". IEEE International Conference on Robotics and Automation (ICRA) 2010, pp. 4873-4880, 2010. [45] W.C. Wright, P.W. Liu, K.C. Slatton, R.L. Carter, H. Lee, "Predicting L-Band Microwave Attenuation Through Forest Canopy Using Directional Structuring Elements and Airborne LiDAR", Geoscience and Remote Sensing Symposium, IGARSS, 2008, vol.3, pp.I 1 - 688,111 - 691, 2008. [46] G.S. Biging, M. Dobbertin, "A comparison of distance-dependent competition measures for height and basal area growth of individual conifer trees", Forest Science, 38(3), 695-720, 1992. [47] K. Mechelke, T. P. Kersten, M. Lindstaedt, "Comparative investigations into the accuracy behaviour of the new generation of terrestrial laser scanning systems", Proc. in the Optical, 3 19-327, 2007. [48] M. Larsen, M. Rudemo, "Estimation of tree positions from aerial photos", Page 138 of 140 Proceedings of the 1997 Swedish Symposium on Image Analysis pp. 130-134, 1997. [49] R. J. Pollock," The Automatic Recognition of Individual Trees in Aerial Images of Forests Based on a Synthetic Tree Crown Image Model", PhD thesis, Computer Science, The University of British Colombia, Vancouver, Canada, 1996. [50] R. J. Woodham and M. H. Gray, "An analytic method for radiometric correction of satellite multispectral scanner data", IEEE Transactions on Geoscience and Remote Sensing, 25(3): 258-271, 1987. [51] D. Marr, E. Hildreth,"Theory ol' edge detection", Proceedings of the Royal Society of London, Series B. Biological Sciences, 207(1167), 187-217, 1980. [52] U. Bacher, H. Mayer, "Automatic extraction of trees in urban areas from aerial imagery", International Archives of Photogrammetry and Remote Sensing, 33(B3/I; PART 3), 5 1-57, 2000. [53] M. Larsen, M. Rudemo, "Optimizing templates for finding trees in aerial photographs", Pattern Recognition Letters, 19(12), 1153-1162, 1998. [54] M. Larsen "Crown Modeling to Find Tree Ton Positions in Aerial Photographs". Third International Airborne Remote Sensing Conference and Exhibition, 1997. [55] L.Wang, P. Gong, GS. Biging, "Individual Tree-crown Delineation and Treetop Detection in-Spatial Resolution Aerial Imagery", Photogrammetric Engineering and Remote Sensing, Vol. 70, No. 3, pp. 351-357, 2004. [56] M. Hugentobler, "Quantum GIS", Encyclopedia of GIS, pp. 935-939, Springer US, 2008. [57] C. Poynton, "Digital Video and HD", Elsevier, 2003. [58] A. Bleaut, L.J. Leon, "Watershed-based segmentation and region merging", Computer Vision and Image Understanding, 77(3), 3 17-370, 2000. [59] M. W. McDaniel, "Classification and Modeling of Forested Terrain Using LiDAR Sensing", S.M. Thesis, MIT, 2010. [60] M. McDaniel, T. Nishihata, C. Brooks, P. Salesses, K. lagnemma, "Terrain Classification and Identification of Tree Stems Using Ground-Based LIDAR", Journal of Field Robotics, Vol. 29, No. 6, pp. 891-910, 2012 [61] Y. Chen, G. Medioni, "Object Modeling by Registration of Multiple Range Images", IEEE International Conference on Robotics and Automation, Vol.3, pp.2724-2729, 1991. Page 139 of 140 [62] H. Bay, T. Tuytelaars, L. Van Gool, "Surf: Speeded up robust features", Computer Vision-ECCV, Springer Berlin Heidelberg, pp. 404-417,2006. [63] J-F. Hamel, M-K. Langelier, M. Alger, P. lies, K. MacTavish, "Design and Validation of an Absolute Localization System for the Lunar Analogue Rover "ARTEMIS"". i-SAIRAS 2012, 2012. [64] D. Chetverikov, D. Svirko, D.Stepanov, P. Krsek, "The Trimmed Iterative Closest Point Algorithm", ICPR, 2002 [65] S. Granger, X. Pennec, "Multi-scale EM-ICP: A Fast and Robust Approach for Surface Registration", 7 "t European Conference on Computer Vision, Part IV, pp. 418-432, 2002 [66] A.W. Fitzgibbon, "Robust Registration of 2D and 3D Point Sets", Elsevier Image and Vision Computing 21, pp. 1145 - 1153, 2003 [67] J.M. Phillips, R. Liu, C. Tomasi, "Outlier Robust ICP For Minimizing Fractional RMSD", 6 th International Conference on 3-D Digital Imaging and Modeling (3DIM), 2007 [68] B. Jian, B.C. Vemuri, "Robust point set registration using gaussian mixture models" IEEE Transactions on Pattern Analysis and Machine Intelligence, 33(8), 16331645, 2011. [69] P. BesI, N. McKay, "A Method for Registration of 3D Shapes", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 14, No. 2, pp. 239-256, 1992. [70] M.A. Fischler, 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, 1981. Page 140 of' 140