Font Size: a A A

Implementation Of Loop-closure Detection Base On CUDA

Posted on:2019-03-15Degree:MasterType:Thesis
Country:ChinaCandidate:Y F ZhangFull Text:PDF
GTID:2428330563958512Subject:Software engineering
Abstract/Summary:PDF Full Text Request
At present,the simultaneous positioning and construction of robots(SLAM)is an important research direction in the mobile robots field.Its mainly purpose is to enable robots to locate,record trajectories and mapping in an unknown environment.SLAM is a complete and complex system.The current scheme is composed of three sub-modules: visual odometer,back-end optimization and loop-closure detection.The purpose of the loop-closure detection is to detect if the robot has repeatedly passed the same place,and then use the loop as a constraint to construct a globally consistent trajectory and map.According to the current solution,the loop-closure detection module is performed on the CPU,and the speed is limited.In many cases,the loop-closure detection can only be performed randomly and partially.However,with the movement of robots,map data is increasing,and inefficient loop-closure detection methods are difficult to meet the robot positioning and navigation accuracy and real-time requirements.In recent years,with the development of semiconductor chip technology,the graphics processor is becoming more and more powerful in parallel computing capabilities,and the programmability of the graphics processor is increasing,so application in high-performance general-purpose computing has been extensive.Since the GPU has much more parallel computing capabilities than the CPU,designing and implementing a loop-closure detection method on the GPU is the main purpose of this paper.Loop-closure detection includes a large number of repetitive calculations,so parallel acceleration is necessary.This paper analyzes the loop-closure detection's parallelism and speed bottleneck,and designs parallel loop-closure detection in three aspects.First,for the construction of place features,a parallel dictionary query method is designed to accelerate the process of BoW vector generation.Then,for loop-closure queries,a parallel feature score algorithm is designed to speed up the process of querying data sets.At last the parallel image descriptor matching algorithm was designed to speed up the process of geometrical-checking.Based on the above algorithms,we implemented a loop-closure detection class library with the interface of the mainstream SLAM frame.Finally,this paper proposes a set of loop-closure detection class library based on CUDA parallel operation.And under different data scales,the various steps were experimentally demonstrated.The experimental results show that compared with the traditional CPU-based method,the GPU-based method in this paper has a higher efficiency,and the detection speed of is obviously improved,which can greatly improve the real-time performance of the SLAM.
Keywords/Search Tags:SLAM, GPU, CUDA, Parallel Computing
PDF Full Text Request
Related items