Stereo Vision for Autonomous Micro Aerial Vehicles Dissertation derMathematisch-NaturwissenschaftlichenFakultät derEberhardKarlsUniversitätTübingen zurErlangungdesGradeseines DoktorsderNaturwissenschaften (Dr.rer.nat.) vorgelegtvon Konstantin Schauwecker, M.Sc. ausTübingen Tübingen 2014 TagdermündlichenQualifikation: 11.07.2014 Dekan: Prof.Dr.rer.nat.WolfgangRosenstiel 1.Berichterstatter: Prof.Dr.rer.nat.AndreasZell 2.Berichterstatter: Prof.Dr.sc.nat.ReinhardKlette,FRSNZ Abstract Small unmanned and lightweight aircrafts, known as Micro Aerial Vehicles (MAVs), have gained much attention in recent years. In this thesis we approach the problem of enabling such MAVs to fly autonomously without the need for human intervention. The sensor technology that is chosen for this task is stereo vision. As research platform for this work serves a small quadrotor MAV that has been equipped with four cameras in twostereoconfigurations. Westudyabroadrangeofproblemsthatneedtobesolvedfor theconstructionofastereovisionbasedautonomousMAV. The first problem that we examine is stereo matching. We introduce a new sparse stereo matching algorithm that achieves very high processing rates while also deliver- ing accurate results. A key component of this algorithm is a combined consistency and uniqueness check that evaluates a dense disparity range. This new stereo algorithm is used for processing the imagery of both stereo camera pairs that are available on the usedMAVplatform. Forthefirstcamerapairthatisfacingforward,weprocessthestereo matching results with a simplified Simultaneous Localization and Mapping (SLAM) al- gorithm,whichtracksthecameras’pose(i.e.positionandorientation). A different method is applied to the second stereo camera pair that is facing down- wards. Here, the stereo matching results are used for detecting the dominant ground plane. From this plane and a method based on frame-to-frame tracking, we are able to derive another estimate of the MAV’s pose. Both pose estimates are then fused and used for controlling the MAV’s flight. The ability of this MAV to fly autonomously is demonstrated in several flight experiments and evaluations. We successfully demon- strate autonomous take-off, landing, hovering, 360◦ yaw rotation, shape flight and error recovery. Finally, we examine the problem of sensing free and occupied space, which would be neededtofacilitateautonomouspathplanningforourMAV.Forthispurpose,weextend an existing volumetric occupancy mapping method, such that it provides more robust results when used in conjunction with stereo vision. The performance improvement is mainly achieved by introducing a more complex update mechanism for voxels in this map, which considers the probability that a voxel is currently visible. Furthermore, the expected depth error is modeled and considered during map updates, and the overall run-timeperformanceofthemethodisimproved. Theresultingmethodisfastenoughto performoccupancymappinginreal-time,includingthenecessarydensestereomatching. iii Kurzfassung Kleine, unbemannte und leichte Flugzeuge, bekannt als Micro Aerial Vehicles (MAVs), haben in jüngerer Vergangenheit viel Aufmerksamkeit erfahren. In dieser Dissertation befassen wir uns mit dem autonomen Flug von MAVs, bei welchem diese agieren, oh- ne dass ein menschliches Eingreifen notwendig ist. Die hierfür in dieser Dissertation gewählte Sensor-Technologie sind Stereo-Kameras. Als Forschungsplattform dient ein Quadrocopter-MAV, welches mit vier Kameras ausgestattet wurde, die zu zwei Stereo- Paaren angeordnet sind. Wir befassen uns mit einer breiten Sammlung von Problemen, dieeszurKonstruktioneinesstereobasiertenautonomenMAVszulösengilt. DaserstedieserProbleme,daswiruntersuchen,istStereo-Matching.Wirstelleneinen neuartigen Sparse-Stereo-Algorithmus vor, welcher sehr hohe Verabeitungsgeschwin- digkeiten erreicht und dennoch akkurate Ergebnisse liefert. Die Schlüsselkomponente dieses Algorithmus ist ein kombinierter Konsistenz- und Einzigartigkeitstest, welcher den gültigen Disparitätsbereich lückenlos prüft. Dieser neuartige Stereo-Algorithmus wird für die Verarbeitung der Bilddaten beider Stereo-Kamerapaare eingesetzt. Die Er- gebnisse für das nach vorne schauende Kamerapaar werden dann mit einem vereinfach- ten SLAM-Algorithmus (Simultaneous Localization and Mapping) verarbeitet, welcher ÄnderungenderKamerapose(d.h.PositionundAusrichtung)verfolgt. Eine andere Methode wird für die Auswertung des zweiten, nach unten gerichteten, Kamerapaares verwendet. In diesem Fall werden die Ergebnisse des Stereo-Matchings für die Detektion der Bodenebene genützt. Mittels dieser Ebene und einem zweiten, auf Bildverfolgung basierten Verfahrens, lässt sich eine weitere Schätzung für die Pose des MAVs ermitteln. Beide Schätzungen werden anschließend fusioniert und zur Steuerung des MAVs verwendet. Die autonomen Flugfähigkeiten werden mittels verschiedener FlugtestsundUntersuchungendemonstriert.GezeigtwerdenautonomerStart,Landung, Schwebeflug,360◦ Drehung,Figurenflug,sowiedieselbstständigeFehlerkompensation. Zum Abschluss untersuchen wir das Problem der Wahrnehmung von Freiräumen und Hindernissen, das zur autonomen Pfadplanung notwendig ist. Hierfür erweitern wir ein existierendes volumetrisches Verfahren für Occupancy Mapping. Das Verfahren wird modifiziert, sodass es robustere Ergebnisse bei der Verarbeitung von Stereodaten liefert. Den Hauptbeitrag leistet hierbei eine neue Methode zu Aktualisierung der Belegtwahr- scheinlichkeit eines in der Karte gespeicherten Voxels. Diese Methode berücksichtigt die Wahrscheinlichkeit, dass ein Voxel gerade sichtbar ist. Des Weiteren modellieren wir den zu erwartenden Tiefenfehler und berücksichtigen diesen bei der Kartenaktuali- sierung. Außerdem verbessern wir die Verarbeitungsgeschwindigkeit dieses Verfahrens, wodurcheineEchtzeitverarbeitunginklusiveStereo-Matchingmöglichwird. iv Acknowledgements IwouldliketothankSebastianSchererforhisworkonsettinguptheMAVplatformthat served as a base for the autonomous MAV presented in this thesis. He was also of great help in resolving the numerous problems that occurred with the MAV’s hard- and soft- wareduringthiswork. IwouldfurtherliketothankhimforsharinghisPTAMextensions andforhiscollaborationonadaptingPTAMforon-boardprocessingonourMAV.Next, IwouldliketothankShaowuYangfortheinterestingdiscussionsandhishelponseveral problems that occurred with the employed MAV platform. I also thank him for inviting me to be his co-author in two publications on his monocular vision based autonomous MAV. I thank my supervisor Prof. Andreas Zell for his help and guidance during my research and for allowing me to work on this interesting research topic. Further thanks go to my co-supervisor Prof. Reinhard Klette, who is the person that initially inspired metoworkincomputervision. MyspecialthanksgotomygirlfriendNanRosemaryKe for her support and the big compromises she made while I was working on this thesis. Also, I thank my mother, Annemarie Schauwecker, for her support and care during this time. Finally,IwouldliketothankmyemployerSTZ-Softwaretechnik,andinparticular Prof. JoachimGoll,forenablingmetoworkparttime,whichhasfundedmethroughout thisthesis. KonstantinSchauwecker v Acknowledgements vi Contents 1 Introduction 1 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 Background 7 2.1 MicroAerialVehicles . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.1 TypesofMAVsandPrincipalAxes . . . . . . . . . . . . . . . 8 2.1.2 Quadrotors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.3 ResearchPlatform . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 StereoVision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.1 StereoGeometry . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.2 ImageRectification . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2.3 Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3 SparseStereoVision 21 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2 RelatedWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2.1 FeatureDetection . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2.2 DenseStereoMethods . . . . . . . . . . . . . . . . . . . . . . 27 3.2.3 SparseStereoMethods . . . . . . . . . . . . . . . . . . . . . . 29 3.3 FeatureDetection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.3.1 AdaptiveThreshold . . . . . . . . . . . . . . . . . . . . . . . . 31 3.3.2 AveragedCenter . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.4 StereoMatching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.4.1 Correlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.4.2 DenseConsistencyandUniquenessCheck . . . . . . . . . . . 37 3.4.3 ProcessingofUnrectifiedStereoImages . . . . . . . . . . . . . 39 3.5 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.5.1 FeatureDetectorPerformance . . . . . . . . . . . . . . . . . . 43 3.5.2 CombinedFeatureDetectionandStereoMatching . . . . . . . 45 3.5.3 ComparisonwithOtherStereoMatchingMethods . . . . . . . 48 3.5.4 RealWorldPerformanceEvaluation . . . . . . . . . . . . . . . 50 3.6 SummaryandDiscussion . . . . . . . . . . . . . . . . . . . . . . . . . 52 vii Nomenclature 4 Stereo-BasedVisualNavigation 55 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.2 RelatedWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.2.1 VisualOdometry . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.2.2 VisualSimultaneousLocalizationandMapping . . . . . . . . . 58 4.2.3 AutonomousNavigationforMAVs . . . . . . . . . . . . . . . 60 4.3 ApproachUsingOneCameraPair . . . . . . . . . . . . . . . . . . . . 63 4.3.1 FeatureDetectionandStereoMatching . . . . . . . . . . . . . 64 4.3.2 LocalSLAM . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.3.3 SensorFusionandMotionFeedback . . . . . . . . . . . . . . . 69 4.3.4 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.4 ApproachUsingTwoCameraPairs . . . . . . . . . . . . . . . . . . . . 73 4.4.1 ProblemsofSingle-StereoSolution . . . . . . . . . . . . . . . 74 4.4.2 PerformanceImprovements . . . . . . . . . . . . . . . . . . . 75 4.4.3 ProcessingMethodfortheDownward-FacingCameras . . . . . 76 4.4.4 SensorFusionandControl . . . . . . . . . . . . . . . . . . . . 81 4.4.5 DriftCorrection . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.4.6 Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.4.7 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 4.5 SummaryandDiscussion . . . . . . . . . . . . . . . . . . . . . . . . . 96 5 Stereo-BasedObstacleandEnvironmentPerception 99 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 5.2 RelatedWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 5.2.1 2DOccupancyMaps . . . . . . . . . . . . . . . . . . . . . . . 101 5.2.2 2.5DElevationMaps . . . . . . . . . . . . . . . . . . . . . . . 102 5.2.3 3DOccupancyMaps . . . . . . . . . . . . . . . . . . . . . . . 103 5.2.4 OccupancyMappingwithAutonomousMAVs . . . . . . . . . 104 5.3 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.3.1 VisibilityEstimation . . . . . . . . . . . . . . . . . . . . . . . 107 5.3.2 OccupancyProbabilityIntegration . . . . . . . . . . . . . . . . 110 5.3.3 SensorDepthErrorModeling . . . . . . . . . . . . . . . . . . 112 5.3.4 PerformanceConsiderationsandOptimizations . . . . . . . . . 113 5.4 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 5.4.1 MapQualityAnalysis . . . . . . . . . . . . . . . . . . . . . . 116 5.4.2 Run-TimePerformanceEvaluation . . . . . . . . . . . . . . . . 119 5.4.3 MappingofMAVEnvironment . . . . . . . . . . . . . . . . . 121 5.5 SummaryandDiscussion . . . . . . . . . . . . . . . . . . . . . . . . . 123 6 SummaryandConclusions 125 Bibliography 129 viii Nomenclature AGAST AdaptiveandGenericAcceleratedSegmentTest,page25 BA BundleAdjustment,page57 BM BlockMatching,page28 BMP BadMatchesPercentage,page46 BP BeliefPropagation,page28 BRIEF BinaryRobustIndependentElementaryFeatures,page26 DoF DegreesofFreedom,page81 DoG DifferenceofGaussians,page26 DP DynamicProgramming,page29 EKF ExtendedKalmanFilter,page58 ELAS EfficientLArge-scaleStereo,page105 ESM EfficientSecondorderMinimization,page70 FAST FeaturesfromAcceleratedSegmentTest,page23 GC GraphCut,page28 IMU InertialMeasurementUnit,page11 LoG LaplacianofGaussian,page30 MAV MicroAerialVehicle,page7 MRF MarkovRandomField,page28 NCC NormalizedCrossCorrelation,page35 ORB OrientedFASTandRotatedBRIEF,page26 PF ParticleFilter,page58 PTAM ParallelTrackingandMapping,page59 RANSAC RANdomSAmpleConsensus,page57 RMS RootMeanSquare,page33 RMSE RootMeanSquareError,page71 ROI RegionOfInterest,page44 ROS RobotOperatingSystem,page13 SAD SumofAbsoluteDifferences,page35 SGM Semi-GlobalMatching,page29 SIFT ScaleInvariantFeatureTransform,page26 SLAM SimultaneousLocalizationandMapping,page58 SSD SumofSquaredDifferences,page35 SURF Speeded-UpRobustFeatures,page26 SUSAN SmallestUnivalueSegmentAssimilatingNucleus,page23 UAV UnmannedAerialVehicle,page7 ix Nomenclature VO VisualOdometry,page56 ZMSAD Zero-MeanSumofAbsoluteDifferences,page35 ZMSSD Zero-MeanSumofSquaredDifferences,page35 x
Description: