WO2019169540A1 - 紧耦合视觉slam的方法、终端及计算机可读存储介质 - Google Patents

紧耦合视觉slam的方法、终端及计算机可读存储介质 Download PDF

Info

Publication number
WO2019169540A1
WO2019169540A1 PCT/CN2018/078076 CN2018078076W WO2019169540A1 WO 2019169540 A1 WO2019169540 A1 WO 2019169540A1 CN 2018078076 W CN2018078076 W CN 2018078076W WO 2019169540 A1 WO2019169540 A1 WO 2019169540A1
Authority
WO
WIPO (PCT)
Prior art keywords
key frame
frame
current
pose
map
Prior art date
Application number
PCT/CN2018/078076
Other languages
English (en)
French (fr)
Inventor
钟上焜
王永锟
Original Assignee
斯坦德机器人(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 斯坦德机器人(深圳)有限公司 filed Critical 斯坦德机器人(深圳)有限公司
Priority to CN201880001029.8A priority Critical patent/CN110462683B/zh
Priority to PCT/CN2018/078076 priority patent/WO2019169540A1/zh
Publication of WO2019169540A1 publication Critical patent/WO2019169540A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion

Definitions

  • the invention relates to the field of robot automatic navigation and positioning technology, in particular to a method, a terminal and a computer readable storage medium for tightly coupled visual SLAM.
  • SLAM robotic singular positioning and composition technology
  • the monocular camera has the advantages of light weight, low cost, and rich information.
  • the monocular vision SLAM uses a monocular camera to extract feature points in the image for feature matching, and then uses parallax to simultaneously estimate the pose of the camera and restore 3D. The location of the point, with the monocular vision SLAM can be easily extended to unfamiliar environments for map construction and robot positioning tasks.
  • the actual industrial robot of monocular vSLAM is not widely used because it is not stable enough. Due to the changing illumination conditions of the actual industrial robots in the actual operation of the monocular vSLAM, the matching of natural feature points is prone to mismatch. The mismatch will directly lead to the construction of the map and the failure of the positioning, resulting in industrial applications. Caused huge economic losses and security problems.
  • IMU inertial measurement device
  • Embodiments of the present invention provide a method, a terminal, and a computer readable storage medium for tightly coupled visual SLAM, which can perform scale correction and restoration of a monocular vSLAM by pre-arranging printed square two-dimensional codes, and can also ensure robust feature point matching. And initial pose estimation, complete relocation and loopback detection faster and more accurately, effectively against repeated texture scenes.
  • an embodiment of the present invention provides a method for tightly coupling a visual SLAM, the method comprising:
  • Initialize the SLAM map obtain the ORB feature points in the current frame image, and obtain the optimal current frame pose from the ORB feature point, the uniform motion model and the PnP algorithm in the current frame image, if the current frame pose satisfies the preset key frame judgment condition , setting the current frame as a key frame, and adding the key frame processing queue of the local composition thread and the key frame processing queue of the loopback detection thread;
  • the key frame of the acquisition leader is recorded as the current key frame, and a common view is constructed from the current key frame and the local active key frame having the common visible 3D point with the current key frame.
  • the redundant 3D map points satisfying the preset redundant map point judgment conditions in the common view are deleted, and the local optimal camera pose, 3D point coordinates and two-dimensional code are obtained according to the fixed key frame and the active key frame of the common view.
  • the candidate key frame satisfying the loopback condition in the key frame is obtained, and the pose is iteratively updated, closed-loop corrected according to the candidate key frame, After map correction and global optimization, the global optimal camera pose, 3D point coordinates and two-dimensional code pose are obtained.
  • an embodiment of the present invention provides a terminal, where the terminal includes a unit for performing the method of the foregoing first aspect.
  • an embodiment of the present invention provides another terminal, including a processor, an input device, an output device, and a memory, where the processor, the input device, the output device, and the memory are connected to each other, wherein the memory is used for storage.
  • a computer program supporting a terminal for performing the above method the computer program comprising program instructions, the processor being configured to invoke the program instructions to perform the method of the first aspect above.
  • an embodiment of the present invention provides a computer readable storage medium, where the computer storage medium stores a computer program, where the computer program includes program instructions, and the program instructions, when executed by a processor, cause the processing The method of the first aspect described above is performed.
  • the method, the terminal and the computer readable storage medium of the tightly coupled visual SLAM fuse the two-dimensional code with the current visual SLAM by tight coupling and fusion, and directly obtain the metric scale map by using the monocular vSLAM actual industrial robot. And complete the positioning work of the camera itself.
  • the relocation and loopback detection can be completed quickly and accurately, and the repeated texture in the environment can be effectively processed to obtain a more robust system.
  • FIG. 1a is a schematic flow chart of a method for tightly coupling a visual SLAM according to an embodiment of the present invention
  • FIG. 1b is a schematic flow chart of sub-steps of a method for tightly coupling a visual SLAM according to an embodiment of the present invention
  • FIG. 2 is a schematic flow chart of another sub-step in a method for tightly coupling a visual SLAM according to an embodiment of the present invention
  • FIG. 3a is a 3D trajectory space curve estimated by a method of tightly coupled visual SLAM and an ORB-SLAM method provided by an embodiment of the present invention.
  • FIG. 3b is a graph of an estimated 3D trajectory obtained by opening a loopback module by a method of tightly coupling a visual SLAM according to an embodiment of the present invention.
  • FIG. 4a is another 3D trajectory space curve estimated by the method of the tight coupling visual SLAM and the ORB-SLAM method provided by the embodiment of the present invention.
  • FIG. 4b is another estimated 3D trajectory curve obtained after the closed loop module is opened by the method of tightly coupling the visual SLAM provided by the embodiment of the present invention.
  • FIG. 5 is a schematic block diagram of a terminal according to an embodiment of the present invention.
  • FIG. 5b is a schematic block diagram of a subunit in a terminal according to an embodiment of the present disclosure.
  • FIG. 6 is another schematic block diagram of a subunit in a terminal according to an embodiment of the present disclosure.
  • FIG. 7 is a schematic block diagram of a terminal according to another embodiment of the present invention.
  • the term “if” can be interpreted as “when” or “on” or “in response to determining” or “in response to detecting” depending on the context.
  • the phrase “if determined” or “if detected [condition or event described]” may be interpreted in context to mean “once determined” or “in response to determining” or “once detected [condition or event described] ] or “in response to detecting [conditions or events described]”.
  • the terminals described in this embodiment of the invention include, but are not limited to, other portable devices such as mobile phones, laptop computers or tablet computers having touch sensitive surfaces (eg, touch screen displays and/or touch pads). It should also be understood that in some embodiments, the device is not a portable communication device, but a desktop computer having a touch sensitive surface (eg, a touch screen display and/or a touch pad).
  • the terminal including a display and a touch sensitive surface is described.
  • the terminal can include one or more other physical user interface devices such as a physical keyboard, mouse, and/or joystick.
  • the terminal supports a variety of applications, such as one or more of the following: drawing applications, presentation applications, word processing applications, website creation applications, disk burning applications, spreadsheet applications, gaming applications, phone applications Programs, video conferencing applications, email applications, instant messaging applications, workout support applications, photo management applications, digital camera applications, digital camera applications, web browsing applications, digital music player applications, and / or digital video player app.
  • applications such as one or more of the following: drawing applications, presentation applications, word processing applications, website creation applications, disk burning applications, spreadsheet applications, gaming applications, phone applications Programs, video conferencing applications, email applications, instant messaging applications, workout support applications, photo management applications, digital camera applications, digital camera applications, web browsing applications, digital music player applications, and / or digital video player app.
  • Various applications that can be executed on the terminal can use at least one common physical user interface device such as a touch sensitive surface.
  • One or more functions of the touch sensitive surface and corresponding information displayed on the terminal can be adjusted and/or changed within the application and/or within the respective application.
  • the common physical architecture of the terminal eg, a touch-sensitive surface
  • FIG. 1a is a schematic flow chart of a method for tightly coupling a visual SLAM according to an embodiment of the present invention.
  • the method is divided into three independent threads running in parallel: three threads of tracking, partial composition and loopback, and the specific process is as shown in FIG.
  • the method can include:
  • Step S100 Initialize the SLAM map, obtain an ORB feature point in the current frame image, and obtain an optimal current frame pose from the ORB feature point, the uniform motion model, and the PnP algorithm in the current frame image, if the current frame pose satisfies the preset key
  • the frame judgment condition sets the current frame as a key frame, and adds the key frame processing queue of the local composition thread and the key frame processing queue of the loopback detection thread;
  • step S100 may include steps S101 to S103.
  • steps S101 to S103 are steps of tracking threads, as follows:
  • Step S101 Initialize the SLAM map, and obtain 3D point coordinates and a two-dimensional code pose.
  • the square two-dimensional code in the actual running field of the monocular vSLAM actual industrial robot (such as in the warehouse), the square two-dimensional code is first randomly arranged in a certain space by a method not limited to pasting, and the square two-dimensional code is required to be pasted.
  • each QR code has a uniquely identified ID
  • all QR codes are printed with the same side length.
  • the information included in the two-dimensional code has a uniquely identified ID, and geometric information of the two-dimensional code (the geometric information and the size of the two-dimensional code and the like).
  • step S101 may include:
  • Step S1011 determining whether to input a constructed map
  • Step S1012 If the input map has been input, the constructed map is read, and the initial SLAM map is obtained;
  • Step S1013 If the built map is not input, determine whether the second frame is detected in the first frame;
  • Step S1014 If the first frame detects the two-dimensional code, obtain an initial SLAM map according to the two-dimensional code;
  • Step S1015 If the second frame is not detected in the first frame, the ORB feature point of the first frame and the ORB feature point of the current frame are obtained, if the matching between the ORB feature point of the first frame and the ORB feature point of the current frame is successful.
  • the number of feature points exceeds the preset matching point threshold, and the relative pose between the first frame and the current frame is obtained, and the matching successful feature points are triangulated according to the relative pose between the first frame and the current frame to obtain an initial SLAM. map.
  • the initialization of the SLAM When the initialization of the SLAM is performed, it is first determined whether the built-in map (ie, the map that has been constructed in advance) is input in the actual industrial robot of the monocular vSLAM, and if there is an input constructed map, the saved constructed one is directly read. map. If there is no input constructed map, the initialization of the SLAM is divided into two cases according to whether the second frame is detected in the first frame.
  • the built-in map ie, the map that has been constructed in advance
  • the first frame detects a two-dimensional code
  • it is initialized using a two-dimensional code.
  • the four feature points obtained by detecting the two-dimensional code in the first frame directly obtain the pose of each id two-dimensional code, and in the subsequent continuous multi-frame image processing, the already constructed two-dimensional code and the current frame are used.
  • the detected two-dimensional code is matched, and the iterative PnP algorithm is used after the matching is completed (Perspective-n-Point is abbreviated as PnP, and the PnP algorithm refers to a pair of 3D and 2D matching points, in the case of known or unknown camera internal parameters.
  • the algorithm for solving the camera's external parameters by minimizing the re-projection error is used to obtain the pose of the current frame.
  • the ORB feature points between the two frames are extracted, matched, and then the triangulation of the feature points is used to initialize the SLAM map. At this point, the initial map is constructed. There are 3D map points of a certain scale and the pose of the QR code.
  • the ORB feature points of the first frame and the subsequent frames are extracted, and the ORB feature points of the first frame and the ORB feature points of the current frame are matched, if the number of matching points is sufficient (ie, The matching success feature point between the ORB feature point of one frame and the ORB feature point of the current frame exceeds the preset matching point threshold), and the moving tendency of the matching point is large, and the first frame is obtained by using the 8-point method.
  • the basic matrix between the two frames of the current frame the basic matrix is decomposed and processed to obtain the relative pose between the two frames, and the initial 3D map points are obtained by triangulating the matching feature points with relative poses. Estimation (ie, initializing the estimate of the SLAM map).
  • the pose of the map and the key frame obtained by the above method lacks a scale parameter, and when the subsequent image sequence first observes the key frame of the two-dimensional code, the absolute scale of the map needs to be restored.
  • RANSAC abbreviation of Random Sample Consensus, which is calculated based on a set of sample data sets containing abnormal data
  • the mathematical model parameters of the data are obtained, and the algorithm for obtaining the effective sample data is fitted to the equation of the two-dimensional code plane, and the distance of the current frame to the plane is solved by the equation of the two-dimensional code plane, and the solution is solved by using the two-dimensional code corner point.
  • the QR code-camera relative pose gives the actual distance from the current frame to the plane, and directly calculates the scale factor. At this time, it is necessary to correct the scale of the entire map, convert the pose of all key frames in the map and the position of the 3D point to the coordinate system of the current frame, perform scale recovery on the rotated amount, and finally restore the scale.
  • the pose and 3D point coordinates are transformed into the world coordinate system.
  • Step S102 Obtain an ORB feature point in a current frame of the current frame image. If the state of the ORB feature point in the current frame corresponds to a tracking success state, obtain an optimal current frame pose according to the uniform motion model and the PnP algorithm.
  • the method may include: if the state of the ORB feature point in the current frame corresponds to a tracking failure state, acquiring a two-dimensional code initial pose according to the two-dimensional code, and acquiring an optimal current frame pose according to the PnP algorithm.
  • step S102 the pose tracking of the current frame is implemented, that is, the ORB feature point in the current frame is extracted, and it is determined whether the state of the previous frame of the current frame is a tracking success state (the tracking success state means the ORB feature point in the current frame). It can match the 3D point coordinates obtained by the SLAM initialization to form a 3D-2D match. If the state of the previous frame of the current frame is the tracking success state, the uniform motion model is used to make a preliminary estimation of the pose of the current frame, and the current frame is The ORB feature points are matched with the 3D points in the map, and finally the iterative PnP algorithm is used to obtain the optimal current frame pose.
  • the tracking success state means the ORB feature point in the current frame. It can match the 3D point coordinates obtained by the SLAM initialization to form a 3D-2D match. If the state of the previous frame of the current frame is the tracking success state, the uniform motion model is used to make a preliminary estimation of the pose of the current frame, and the
  • the state of the current frame is set to the tracking failure state. If the state of the previous frame of the current frame is a tracking failure state, a series of candidate key frames are found by using the two-dimensional code, and all 3D points in the candidate key frame are used as candidate 3D points, and the two-dimensional code obtained by the detection is used to obtain two The initial pose of the dimension code matches the 3D map points in the map and the ORB feature points in the image, and finally uses the iterative PnP algorithm to obtain the optimal current frame pose.
  • the uniform motion model assumes that the camera's motion is uniform. If the pose velocity at time k is ⁇ T k-1 , then the pose of the previous frame can be used to make a preliminary prediction of the pose of the current frame to obtain the predicted pose. which is After the success of each track of the current frame pose T k, uniform model needs to be updated:
  • the matching 3D points in the previous frame are matched with the feature points of the current frame, and the 3D points of the current frame are projected by using the pose of the current frame predicted by the uniform model. Then, based on the projection point, all ORB feature points in the radius r of the given threshold are matched, and the minimum Hamming distance r h of the two feature vectors is found. When r h is less than a given threshold, the matching can be accepted. .
  • the pose provided by the uniform velocity model is used as the initial value, and all the reprojection errors are added up, and the LM method is used.
  • Levenberg-Marquardt is a method of analyzing and evaluating by adding a positive definite matrix to the Hessian matrix, which is the optimization algorithm. One), optimizing the current frame pose so that the accumulated reprojection error is minimized, and the optimal current frame pose is obtained. Since the accuracy of the predicted pose is not high, the number of matching feature points may be small, and further optimization of the pose is needed for further matching. This step requires maintaining a local map point set so that the current point can be completed more efficiently and accurately. Matching of 2D feature points of a frame to 3D map points.
  • the local map is derived from the 3D point seen by the adjacent frame in the common view of the reference key frame. After finding the local map point, the 3D points are presented to the current The image plane of the frame is projected, and the optimal matching point is found consistent with the previous method, and then the iterative PnP algorithm is brought to obtain the optimal current frame pose.
  • Step S200 If the key frame processing queue of the local composition thread is non-empty, the key frame of the acquisition leader is recorded as the current key frame, and the current key frame and the local key frame having the common visible 3D point with the current key frame are constructed.
  • the common view deletes the redundant 3D map points in the common view that meet the preset redundant map point judgment conditions, and obtains the local optimal camera pose, 3D point coordinates, and according to the fixed key frame and the active key frame of the common view. Two-dimensional code pose.
  • step S200 may include steps S104-S108, where the above five steps are steps of partially composing threads, as follows:
  • Step S104 If the key frame processing queue of the local composition thread is non-empty, the key frame of the team leader is taken out, marked as the current key frame, and the local active key frame that is the same as the common visible 3D point of the current key frame is obtained, and the key frame is obtained by the key frame. And a local activity keyframe to build a common view.
  • step S104 the creation of a new key frame is mainly performed, that is, the main work is to construct and update the common view.
  • the common view is an undirected graph with key frames as nodes, common visible 3D points between key frames, and the number of common view 3D points is greater than a certain threshold.
  • all the adjacent key frames of the current frame in the common view are local active key frames, and the 3D points that are observable for all local active key frames will be found.
  • Step S105 Delete redundant 3D map points in the common view that meet the preset redundant map point determination condition; wherein, the preset redundant map point judgment condition is that the number of matching 3D points in the local active key frame is low.
  • the local active keyframe predicts 25% of the observable number, and the 3D points observed in the local active keyframe are visible in at least 3 keyframes.
  • deletion of redundant 3D map points is performed.
  • Step S106 If the ORB feature point of the current key frame and the unmatched ORB feature point in the local active key frame perform a search matching of the baseline successfully, the position of the 3D map point is initialized by triangulation, and the corresponding two-dimensional code in the map is restored. Position. A new map point is being created in step S106.
  • Step S107 Corresponding to obtain a local optimal camera pose, 3D point coordinates, and a two-dimensional code pose according to the fixed key frame and the active key frame of the common view.
  • step S107 all the matched 3D points in the fixed key frame and the active key frame, the pose of the key frame, and the pose of the two-dimensional code are used as state quantities, and the 2D feature points and the two-dimensional code are extracted.
  • the corner points are used as observations to obtain local optimal camera poses, 3D point coordinates, and two-dimensional code poses by a nonlinear least squares algorithm.
  • the local map is optimized in step S107, that is, all matching 3D map points in the fixed key frame and the active key frame, the pose of the key frame, and the pose of the two-dimensional code are used as the state quantity, 2D feature in the common view.
  • the corner points extracted by the point and the two-dimensional code are used as observations, and the nonlinear optimal least squares is used to solve the local optimal camera pose, 3D point coordinates and two-dimensional code pose.
  • the fixed key frame set is K 1
  • the active key frame set is K 2
  • all key frames are recorded as K
  • all 3D point sets are recorded as P
  • the two-dimensional code in the map is A, numbered as The pose of the key frame of i is T i
  • the position of the 3D point numbered j is p j
  • the j-th 3D point is observed by the i-th key frame
  • the projection point is u ij
  • one pair of each match point exists Reprojection error:
  • f x and f y are the focal lengths of the camera
  • c x and c y are the coordinates of the camera's principal point
  • R is the rotation matrix of the world coordinate system to a camera coordinate system of a certain frame
  • t is the corresponding translation vector
  • [x C , y C , z C ] is the coordinates of a point p of the 3D in the world coordinate system under the camera system
  • T i is the pose of the key frame of the i-th frame
  • r ikl is the re-projection error of the second corner of the i-th key frame d of the two-dimensional code of id k .
  • r ij is the reprojection error of the jth 3D point on the ith key frame
  • K is the set of all key frames in the map
  • P is the set of all 3D points in the map
  • A is the position of all 2D code in the map. set.
  • the L-M algorithm is used in this application to solve the problem, in which the fixed keyframe pose remains unchanged during the iteration.
  • Step S108 Delete a key frame that meets a preset redundant key frame determination condition; wherein, the preset redundant key frame determination condition is that more than 90% of the feature points in the key frame are at least three of the plurality of key frames. The keyframes are matched. The deletion of the redundant key frame is performed in step S108.
  • Step S300 If the key frame processing queue of the loopback detection thread is non-empty, and the key frame of the team head is the current key frame, obtain candidate keyframes satisfying the loopback condition in the key frame, and perform iteratively updating according to the candidate key frame. After closed-loop correction, map correction and global optimization, the global optimal camera pose, 3D point coordinates and two-dimensional code pose are obtained.
  • step S300 may include steps S109-S113.
  • steps S109-S113 are steps of loopback detection thread, as follows:
  • Step S109 Acquire a candidate key frame in the key frame that satisfies a loopback condition by using the two-dimensional code.
  • step S109 according to the mapping table of the two-dimensional code and the key frame, the initial candidate key frame with the same two-dimensional code ID observed in the current frame is searched, if the initial candidate key frame has a common view with the current frame.
  • the key frames in the initial candidate key frame are not adjacent to the current frame, and the number of initial candidate key frames exceeds the preset threshold number threshold, and the candidate key frames in the initial candidate key frame are obtained.
  • the loopback determination is performed in step S109, that is, a series of candidate key frames are found by the two-dimensional code.
  • the search method is: when constructing the map, a mapping of the two-dimensional code id to the key frame is constructed, and the key frame which is observed with the same id as the current frame can be quickly searched through the mapping table, but to be a candidate key frame, The searched keyframes cannot be adjacent to the current keyframe in the common view, nor can they be adjacent to the keyframes adjacent to the current frame until all keyframes that meet the requirements are found. If the number of candidate key frames is greater than a certain threshold, it is determined that the loopback is successful.
  • Step S110 Acquire a loopback frame that successfully matches the feature point with the maximum value of the plurality of values, and combine the loopback frame with the current frame for 3D points.
  • step S110 it is a calculation of the current frame relative to the position of the ring map, that is, all the observed points in the candidate key frame are used as candidate 3D points, and the candidate 3D points are matched according to the initial pose provided by the two-dimensional code.
  • the feature points in the current frame are matched.
  • RANSAC and PnP are used to estimate the pose of the algorithm, and the obtained pose is used to perform 3D point matching, and the updated match is used to perform an iterative update on the pose until Finds a loopback frame with the highest number of successful matching feature points for the current frame. After that, it is necessary to use the loopback frame to merge the 3D point with the current frame.
  • the purpose is to match the 3D point of the loop tail with the 3D point of the loop head. After successfully matching a pair of 3D points, it needs to be observed by fewer key frames. Throw away, and finally need to re-update the information of the nodes and edges of the common view.
  • Step S111 Acquire a minimum spanning tree of the common view, and perform closed-loop correction on the common view according to the minimum spanning tree to obtain the corrected key frame, the corrected map point, and the corrected two-dimensional code pose.
  • the pose of each key frame on the minimum spanning tree is used as the state quantity in step S111, and the relative pose between each two key frames is used as the observation, and the pose of the fixed loop frame is optimized.
  • the optimized keyframes, the optimized map points, and the optimized two-dimensional code poses are used as the state quantity in step S111, and the relative pose between each two key frames.
  • step S111 since the pose of the current frame relative to the previous map is calculated in step S110, it is necessary to correct the entire map by using the pose to complete the closed loop correction.
  • the specific process is to find the minimum spanning tree of the common view first, and the pose of each key frame on the minimum spanning tree is used as the state quantity, and the relative pose between every two frames is used as the observation, and the pose of the key frame of the loopback is fixed.
  • the entire pose map is optimized to obtain optimized key frames, optimized map points, and optimized two-dimensional code poses.
  • Step S112 Obtain key frames in the minimum spanning tree, all 3D points in the common view, and two-dimensional code poses according to the optimized key frame, the optimized map point, and the optimized two-dimensional image respectively.
  • the code pose is corrected to correspond to the corrected key frame, the corrected map point, and the corrected two-dimensional code pose.
  • the correction of the map is performed in step S112.
  • the specific implementation of the correction of the key frame is to traverse all the key frames in the map, determine whether the key frame appears in the minimum spanning tree, and if not, find the key frame of the most matching point in the corrected key frame as the reference key frame. Then, the pose after the correction of the reference key frame is multiplied by the relative pose between the two frames before the correction, so that the pose correction of each key frame can be completed.
  • the step of correcting the 3D point is to first find the reference key frame of the 3D feature point.
  • the reference key frame is determined according to the mean value of the light center vector of the point to all the key frames, and the reference key frame satisfies the vector of the 3D point to the optical center.
  • the mean vector has the smallest angle.
  • the specific operation is to first convert the 3D point to the reference key frame coordinate system by using the reference key frame to correct the front pose, and then transform the 3D point back to the world coordinate by using the corrected pose. Under the system.
  • the correction of the two-dimensional code pose is to traverse all the two-dimensional codes, find the key frame in which the two-dimensional code appears in the middle of the image plane, and define it as the reference key frame.
  • the specific operation is to calculate the origin of the two-dimensional code coordinate system in the map to all The mean value of the optical element vector of the key frame of the two-dimensional code can be observed, and the key frame with the smallest angle between the vector and the origin of the two-dimensional code coordinate system to the key frame is found.
  • the reference character frame is used to update the pose of the two-dimensional code.
  • the specific operation is to first transform the two-dimensional code into the reference key frame coordinate system by using the reference key frame to correct the front pose, and then transform the two-dimensional code with the corrected pose. Go back to the world coordinate system.
  • Step S113 according to the corrected key frame, the corrected map point, and the corrected two-dimensional code pose, correspondingly acquiring a global optimal camera pose, 3D point coordinates, and a two-dimensional code pose.
  • step S113 the pose of the key frame in the SLAM map, the pose of all map points, and the pose of the two-dimensional code are used as state quantities to observe all the matching feature points in the SLAM map.
  • the global optimal camera pose, 3D point coordinates and two-dimensional code pose are obtained by a nonlinear least squares algorithm.
  • step S113 the global optimization is performed, that is, the poses of all the key frames, the map points, and the two-dimensional code in the map are taken as the state quantity, and the state quantity is optimized by using all the matching successful feature point coordinates as the observation quantity, Solve the global optimal camera pose, 3D point coordinates and 2D code pose.
  • the specific operation is to record all the key frames as K, all the 3D point sets are recorded as P, the two-dimensional code in the map is A, the key frame number i is the position of T i , and the number is j 3D points.
  • the position is p j
  • the jth 3D point is observed by the i-th key frame
  • the projection point is u ij
  • the L-M algorithm is used in this application to solve the problem, in which the pose of the first frame remains unchanged during the optimization process.
  • the neutralization ORB-SLAM loopback module of the present invention will be turned off first, and then the estimated trajectory after running a circle using the recorded data is shown in Fig. 3a, the left side of the figure
  • the closed curve is the estimated trajectory image obtained using the method of the present invention
  • the right unclosed curve is a 3D trajectory estimated using the classical monocular SLAM (ORB-SLAM)
  • ORB-SLAM classical monocular SLAM
  • the present invention provides The method can get a more accurate estimation trajectory. It should be noted that the ORB-SLAM estimated trajectory has no scale information. After the result is obtained, the scale recovery of the entire trajectory is required.
  • Figure 3b is an estimated trajectory obtained by opening the loopback module using the method of the present invention.
  • the length and width of the rectangular region are measured using a meter ruler, respectively, 85 m and 29 m, and the estimation results obtained by the present method are in good agreement with the measurement results.
  • the trajectory can be obtained directly without subsequent processing.
  • trajectory represents the trajectory under the x, y, and z axes.
  • the green line is a 3D trajectory estimated using the classical monocular SLAM (ORB-SLAM), as can be clearly seen from the figure, the method provided by the present invention can be more accurately obtained.
  • the estimated trajectory of pure monocular vision SLAM produces large errors and scale drift.
  • the ORB-SLAM estimated trajectory has no scale information. After the result is obtained, the scale recovery of the entire trajectory is required.
  • Fig. 4b is a trajectory directly estimated after the closed loop module is opened by the method of the present invention. It can be seen that the shape of the trajectory meets the expectation, and the distance of each estimated trajectory is accumulated to obtain 75.5 m, which is in good agreement with the measured path.
  • trajectory represents the trajectory under the x, y, and z axes.
  • FIG. 5a is a schematic block diagram of a terminal according to an embodiment of the present invention.
  • the terminal of this embodiment includes: a pose tracking unit 100, a partial composition unit 200, and a loopback detection unit 300.
  • the pose tracking unit 100 is configured to initialize the SLAM map, obtain an ORB feature point in the current frame image, and obtain an optimal current frame pose from the ORB feature point, the uniform motion model, and the PnP algorithm in the current frame image, if the current frame pose
  • the preset key frame judgment condition is met, and the current frame is set as a key frame, and is added to the key frame processing queue of the local composition thread and the key frame processing queue of the loopback detection thread.
  • the local composition unit 200 is configured to: if the key frame processing queue of the local composition thread is non-empty, the key frame of the acquisition leader is recorded as the current key frame, and the current key frame has a common visible 3D point with the current key frame.
  • the active key frame constructs a common view, and the redundant 3D map points satisfying the preset redundant map point judgment conditions in the common view are deleted, and the local optimal camera pose is obtained according to the fixed key frame and the active key frame of the common view, 3D point coordinates and two-dimensional code pose.
  • the loopback detection unit 300 is configured to: if the key frame processing queue of the loopback detection thread is non-empty, and the key frame of the head of the queue is the current key frame, obtain candidate keyframes satisfying the loopback condition in the key frame, and perform bit according to the candidate key frame. After iterative update, closed-loop correction, map correction and global optimization, the global optimal camera pose, 3D point coordinates and two-dimensional code pose are obtained.
  • the pose tracking unit 100 includes a SLAM initialization unit 101, a pose tracking unit 102 of the current frame, and a key frame determination unit 103.
  • the partial composition unit 200 includes a new key frame creation unit 104, a redundant 3D map point deletion unit 105, a new map point creation unit 106, a partial map optimization unit 107, and a redundant key frame deletion unit 108.
  • the loopback detecting unit 300 includes a loopback determining unit 109, a current frame relative pose calculating unit 110, a map optimizing unit 111, a map correcting unit 112, and a global optimizing unit 113.
  • the SLAM initialization unit 101 is configured to initialize the SLAM map to obtain 3D point coordinates and a corresponding two-dimensional code pose.
  • the pose tracking unit 102 of the current frame is configured to acquire an ORB feature point in a current frame of the current frame image. If the state of the ORB feature point in the current frame corresponds to a tracking success state, the optimal current frame is obtained according to the uniform motion model and the PnP algorithm. Position.
  • the SLAM initialization unit 101 may include:
  • the map input determining unit 1011 is configured to determine whether to input the constructed map
  • the map reading unit 1012 is configured to: if the map has been constructed, read the constructed map, and obtain an initial SLAM map;
  • the two-dimensional code judgment determining unit 1013 is configured to determine whether the second frame is detected in the first frame if the built map is not input;
  • the first initializing unit 1014 is configured to: if the first frame detects the two-dimensional code, obtain an initial SLAM map according to the two-dimensional code;
  • the second initializing unit 1015 is configured to: if the first frame does not detect the two-dimensional code, obtain the ORB feature point of the first frame and the ORB feature point of the current frame, if the ORB feature point of the first frame and the ORB feature point of the current frame The number of matching successful feature points exceeds the preset matching point threshold, and the relative pose between the first frame and the current frame is obtained, and the matching successful feature points are triangular according to the relative pose between the first frame and the current frame. To get the initial SLAM map.
  • the key frame determining unit 103 is configured to: if the number of feature points tracked in the current frame meets a preset key frame determination condition, set the current frame as a key frame, and add a key frame processing queue of the local composition thread and a key of the loop detection thread In the frame processing queue, the preset key frame judgment condition is that the number of feature points tracked in the current frame is smaller than a preset feature point threshold, or less than 90% of the number of feature points tracked in the previous frame.
  • the new key frame creation unit 104 is configured to: if the key frame processing queue of the local composition thread is non-empty, take out the key frame of the team leader, mark the current key frame, and acquire the same local activity as the common visible 3D point of the current key frame. A keyframe that constructs a common view from the current keyframe and the local active keyframe.
  • the redundant 3D map point deleting unit 105 is configured to delete the redundant 3D map point in the common view that meets the preset redundant map point determining condition; wherein the preset redundant map point determining condition is in the local active key frame It is observed that the number of matches of the 3D points is less than 25% of the number of observables of the local active key frame prediction, and the 3D points that can be observed in the local active key frames are visible in at least three key frames.
  • the new map point creating unit 106 is configured to perform a search matching of the baseline if the ORB feature point of the current key frame and the unmatched ORB feature point in the local active key frame are successfully matched, and initialize the 3D map point position by triangulation, and restore the map.
  • the corresponding two-dimensional code pose is configured to perform a search matching of the baseline if the ORB feature point of the current key frame and the unmatched ORB feature point in the local active key frame are successfully matched.
  • the local map optimization unit 107 is configured to obtain a local optimal camera pose, 3D point coordinates, and a two-dimensional code pose according to the fixed key frame and the active key frame of the common view.
  • the redundant key frame deleting unit 108 is configured to delete a key frame that meets a preset redundant key frame determining condition; wherein the preset redundant key frame determining condition is that more than 90% of the feature points in the key frame are multiple keys Match at least 3 other keyframes in the frame.
  • the loopback determining unit 109 is configured to: if the key frame queue in the loopback detection thread is non-empty, the key frame of the team head is the current key frame, and obtain the candidate key frame satisfying the loopback condition in the key frame by using the current key frame two-dimensional code id.
  • the current frame relative pose calculation unit 110 is configured to acquire a loopback frame that successfully matches the feature point with the current frame as a maximum value of the plurality of values, and combine the loopback frame with the current frame for 3D points.
  • the graph optimization unit 111 is configured to obtain a minimum spanning tree of the common view, and perform closed-loop correction on the common view according to the minimum spanning tree to obtain the optimized key frame, the optimized map point, and the optimized two-dimensional code pose.
  • the map correction unit 112 is configured to acquire key frames in the common spanning tree, all 3D points in the common view, and two-dimensional code poses, according to the optimized key frame, the optimized map point, and the optimization
  • the rear two-dimensional code pose is corrected, corresponding to the corrected key frame, the corrected map point, and the corrected two-dimensional code pose.
  • the global optimization unit 113 is configured to obtain globally optimal camera poses, 3D point coordinates, and two-dimensional code poses according to the corrected key frames, the corrected map points, and the corrected two-dimensional code poses.
  • FIG. 7 is a schematic block diagram of a terminal according to another embodiment of the present invention, where the terminal corresponds to a method for implementing the tightly coupled visual SLAM of the above embodiment.
  • the terminal in this embodiment as shown may include one or more processors 701; one or more input devices 702, one or more output devices 703, and memory 704.
  • the above processor 701, input device 702, output device 703, and memory 704 are connected by a bus 705.
  • the memory 702 is used to store a computer program, the computer program includes program instructions, and the processor 701 is configured to execute program instructions stored in the memory 702. Wherein, the processor 701 is configured to invoke the program instructions to perform the method of the tightly coupled visual SLAM of the above embodiment.
  • the processor 701 may be a central processing unit (CPU), and the processor may also be another general-purpose processor, a digital signal processor (DSP). , Application Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, etc.
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the input device 702 may include a touch panel, a fingerprint sensor (for collecting fingerprint information of the user and direction information of the fingerprint), a microphone, and the like, and the output device 703 may include a display (LCD or the like), a speaker, and the like.
  • a fingerprint sensor for collecting fingerprint information of the user and direction information of the fingerprint
  • a microphone for collecting fingerprint information of the user and direction information of the fingerprint
  • the output device 703 may include a display (LCD or the like), a speaker, and the like.
  • the memory 704 can include read only memory and random access memory and provides instructions and data to the processor 701. A portion of the memory 704 can also include a non-volatile random access memory. For example, the memory 704 can also store information of the device type.
  • the implementation manner described in the embodiment of the method for the tightly coupled visual SLAM provided by the embodiment of the present invention may be performed by the processor 701, the input device 702, and the output device 703.
  • the implementation manners of the terminal described in this embodiment of the present invention are not described herein again.
  • a computer readable storage medium is stored, the computer readable storage medium storing a computer program, the computer program comprising program instructions, the program instructions being executed by a processor to implement the above implementation
  • a computer program comprising program instructions, the program instructions being executed by a processor to implement the above implementation
  • the computer readable storage medium may be an internal storage unit of the terminal described in any of the foregoing embodiments, such as a hard disk or a memory of the terminal.
  • the computer readable storage medium may also be an external storage device of the terminal, such as a plug-in hard disk equipped on the terminal, a smart memory card (SMC), and a Secure Digital (SD) card. , Flash Card, etc.
  • the computer readable storage medium may also include both an internal storage unit of the terminal and an external storage device.
  • the computer readable storage medium is for storing the computer program and other programs and data required by the terminal.
  • the computer readable storage medium can also be used to temporarily store data that has been output or is about to be output.
  • the disclosed terminal and method may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present invention.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the technical solution of the present invention contributes in essence or to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明实施例公开了紧耦合视觉SLAM的方法、终端及计算机可读存储介质,通过紧耦合融合方式将二维码与目前的视觉SLAM进行融合,应用单目vSLAM于实际工业机器人直接得到米制尺度的地图并完成相机自身的定位工作。另外,基于二维码的唯一识别id,可以快速准确的完成重定位和回环检测,有效的处理环境中的重复纹理,得到更加鲁棒的***。

Description

紧耦合视觉SLAM的方法、终端及计算机可读存储介质 技术领域
本发明涉及机器人自动导航定位技术领域,尤其涉及紧耦合视觉SLAM的方法、终端及计算机可读存储介质。
背景技术
近些年来机器人的视同定位与构图技术(SLAM,全称是Simultaneous Localization and Mapping)一直成为机器人领域的热点,因为它是实现自主机器人的基础。单目相机具有质量轻、成本低、信息丰富等优点,单目视觉SLAM(vSLAM)利用单目相机提取图像中的特征点,进行特征匹配,然后利用视差同时估计出相机的位姿和恢复3D点的位置,利用单目视觉SLAM能够容易地扩展到陌生的环境中进行地图的构建和完成机器人定位任务。
目前,单目vSLAM实际工业机器人的应用并不广泛,是因为它还不够稳定。由于单目vSLAM实际工业机器人在实际运行时场地光照条件不断变化,自然特征点的匹配很容易出现误匹配,误匹配会直接导致地图的构建出错和定位的失败,从而导致在工业的应用中会造成巨大的经济损失和安全问题。
单目vSLAM还存在一个根本性的缺陷:尺度的不确定性,即直接由纯单目得到的位置和3D地图点不能直接用于机器人的定位和定姿,需要进行更进一步的尺度的估计才能得到米制尺度;由于特征点存在测量误差,随着单目vSLAM运行,其存在尺度漂移的现象,即尺度会在***长时间运行过程中发生膨胀或者收缩。
为了充分的发挥出单目vSLAM的优势,可以通过引入一些先验信息来获得绝对的尺度信息,并对尺度进行随时的更正。一般可以使用IMU(即惯性测量装置)来完成这样的工作,但是IMU的精度一般与其价格成正相关,这样反而无法突显单目低成本的优势。
发明内容
本发明实施例提供紧耦合视觉SLAM的方法、终端及计算机可读存储介质,可通过提前布置打印出来正方形二维码来进行单目vSLAM的尺度矫正和恢复,还可以保证鲁棒的特征点匹配和初始的位姿估计,更快更准确的完成重定位和回环检测,有效的对抗重复纹理场景。
第一方面,本发明实施例提供了一种紧耦合视觉SLAM的方法,该方法包括:
初始化SLAM地图,获取当前帧图像中ORB特征点,由当前帧图像中ORB特征点、匀速运动模型及PnP算法获取最优的当前帧位姿,若当前帧位姿满足预设的关键帧判断条件,将当前帧设置为关键帧,并加入局部构图线程的关键帧处理队列以及回环检测线程的关键帧处理队列中;
若局部构图线程的关键帧处理队列中为非空,获取队首的关键帧记为当前关键帧,由当前关键帧、与当前关键帧有共同可视3D点的局部活动关键帧构建共视图,删除共视图中满足预设的冗余地图点判断条件的冗余3D地图点,根据共视图的固定关键帧和活动关键帧,对应获取局部最优的相机位姿、3D点坐标和二维码位姿;
若回环检测线程的关键帧处理队列中为非空、且队首的关键帧为当前关键帧,获取关键帧中满足回环条件的候选关键帧,根据候选关键帧进行位姿迭代更新、闭环矫正、地图矫正及全局优化后,得到全局最优的相机位姿、3D点坐标和二维码位姿。
第二方面,本发明实施例提供了一种终端,该终端包括用于执行上述第一方面的方法的单元。
第三方面,本发明实施例提供了另一种终端,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持终端执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
本发明实施例的紧耦合视觉SLAM的方法、终端及计算机可读存储介质, 通过紧耦合融合方式将二维码与目前的视觉SLAM进行融合,利用单目vSLAM实际工业机器人直接得到米制尺度的地图并完成相机自身的定位工作。另外,基于二维码的唯一识别id,可以快速准确的完成重定位和回环检测,有效的处理环境中的重复纹理,得到更加鲁棒的***。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种紧耦合视觉SLAM的方法的示意流程图;
图1b是本发明实施例提供的一种紧耦合视觉SLAM的方法的子步骤的示意流程图;
图2是本发明实施例提供的一种紧耦合视觉SLAM的方法中另一子步骤的示意流程图;
图3a是通过本发明实施例提供的一种紧耦合视觉SLAM的方法及ORB-SLAM方法估计的3D轨迹空间曲线图。
图3b是通过本发明实施例提供的一种紧耦合视觉SLAM的方法打开回环模块后得到的估计3D轨迹曲线图。
图4a是通过本发明实施例提供的一种紧耦合视觉SLAM的方法及ORB-SLAM方法估计的另一3D轨迹空间曲线图。
图4b是通过本发明实施例提供的一种紧耦合视觉SLAM的方法打开闭环模块后得到的另一估计3D轨迹曲线图。
图5a是本发明实施例提供的一种终端的示意性框图;
图5b是本发明实施例提供的一种终端中子单元示意性框图;
图6是本发明实施例提供的一种终端中子单元的另一示意性框图;
图7是本发明另一实施例提供的一种终端的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当…时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
具体实现中,本发明实施例中描述的终端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,所述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端。然而,应当理解的是,终端可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
终端支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应 用程序、即时信息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
可以在终端上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
参见图1a,图1a是本发明实施例提供一种紧耦合视觉SLAM的方法的示意流程图,它分为三个独立的线程并行运行:跟踪、局部构图与回环三个线程,具体流程如图1a所示,方法可包括:
步骤S100、初始化SLAM地图,获取当前帧图像中ORB特征点,由当前帧图像中ORB特征点、匀速运动模型及PnP算法获取最优的当前帧位姿,若当前帧位姿满足预设的关键帧判断条件,将当前帧设置为关键帧,并加入局部构图线程的关键帧处理队列以及回环检测线程的关键帧处理队列中;
具体参见图1b,在一些实施例中,步骤S100可以包括步骤S101-步骤S103,上述3个步骤为跟踪线程的步骤,具体如下:
步骤S101、初始化SLAM地图,获取3D点坐标和二维码位姿。
本实施例中,在单目vSLAM实际工业机器人的实际运行场地中(如仓库中),首先通过不限于粘贴等方法将正方形二维码随机布置于一定的空间中,正方形的二维码粘贴要求平整,每一个二维码都具有唯一标识的ID,所有二维码打印的边长都相同。具体的,所述二维码中包括的信息有唯一标识的ID、及二维码的几何信息(该几何信息及二维码的尺寸等信息)。
具体参见图2,在一些实施例中,步骤S101可以包括:
步骤S1011、判断是否输入已构建地图;
步骤S1012、若输入已构建地图,读取已构建地图,得到初始化SLAM地图;
步骤S1013、若未输入已构建地图,判断第一帧是否检测到二维码;
步骤S1014、若第一帧检测到二维码,根据二维码得到初始化SLAM地图;
步骤S1015、若第一帧未检测到二维码,获取第一帧的ORB特征点及当前 帧的ORB特征点,若第一帧的ORB特征点与当前帧的ORB特征点之间的匹配成功特征点点数超出预设的匹配点阈值,获取第一帧与当前帧之间的相对位姿,根据第一帧与当前帧之间的相对位姿对匹配成功特征点进行三角化,得到初始化SLAM地图。
其中,在进行SLAM的初始化时,首先会判断单目vSLAM实际工业机器人中是否输入已构建地图(即事先已经构建好的地图),若存在输入的已构建地图,则直接读取保存的已构建地图。若不存在输入的已构建地图,则根据第一帧是否检测到二维码将SLAM的初始化分为两种情况。
若第一帧检测到二维码,使用二维码进行初始化。具体为第一帧中利用二维码的检测得到的4个特征点直接得到每种id二维码的位姿,在之后连续多帧图像处理中,使用已经构建的二维码与当前帧中检测的二维码进行匹配,匹配完成后利用迭代的PnP算法(Perspective-n-Point简记为PnP,PnP算法是指通过多对3D与2D匹配点,在已知或者未知相机内参的情况下,利用最小化重投影误差来求解相机外参的算法)求得当前帧的位姿。若当前帧与第一帧之间光心的距离大于一定的距离阈值,提取两帧之间的ORB特征点,进行匹配,然后使用特征点的三角化来初始化SLAM地图。此时完成了初始地图的构建,地图中存在一定规模的3D地图点以及二维码的位姿。
若第一帧未检测到二维码,提取第一帧和后续帧的ORB特征点,对第一帧的ORB特征点和当前帧的ORB特征点进行匹配,若匹配点数目足够多(即第一帧的ORB特征点与当前帧的ORB特征点之间的匹配成功特征点点数超出预设的匹配点阈值),且匹配点的运动趋势较大,利用8点法,求得第一帧与当前帧这两帧之间的基础矩阵,对该基础矩阵进行分解和处理,得到两帧之间的相对位姿,利用相对位姿对匹配成功的特征点的三角化,获得初始的3D地图点的估计(即初始化SLAM地图的估计)。
通过以上方式获得的地图和关键帧的位姿缺少一个尺度参数,当后续的图像序列第一次观测到二维码的关键帧时,需要恢复地图的绝对尺度。在完成当前帧的ORB特征点匹配后,找到当前帧中所有落入二维码区域内的3D点,使用RANSAC(Random Sample Consensus的缩写,它是根据一组包含异常数据的样本数据集,计算出数据的数学模型参数,得到有效样本数据的算法)拟合出二维码平面的方程,利用二维码平面的方程求解出当前帧光心到平面的距离, 利用二维码角点解算的二维码-相机相对位姿,得到当前帧光心到平面的实际距离,直接解算得到尺度因子。此时,需要矫正整个地图的尺度,将地图中所有的关键帧的位姿和3D点的位置转换到当前帧的坐标系下,对转后的量进行尺度的恢复,最后再将尺度恢复的位姿和3D点坐标变换到世界坐标系下。
步骤S102、获取当前帧图像的当前帧中ORB特征点,若当前帧中ORB特征点的状态对应跟踪成功状态,根据匀速运动模型及PnP算法获取最优的当前帧位姿。
在一些实施例中,步骤S102之后可以包括:若当前帧中ORB特征点的状态对应跟踪失败状态,根据二维码获取二维码初始位姿,根据PnP算法获取最优的当前帧位姿。
即步骤S102中实现了对当前帧的位姿跟踪,即提取当前帧中的ORB特征点,判断当前帧的前一帧的状态是否为跟踪成功状态(跟踪成功状态即表示当前帧中ORB特征点能与SLAM初始化时得到的3D点坐标构成3D-2D的匹配),若当前帧的前一帧的状态为跟踪成功状态,使用匀速运动模型对当前帧的位姿做初步估计,将当前帧的ORB特征点与地图中的3D点进行匹配,最终使用迭代的PnP算法求得最优的当前帧位姿。若此次匹配的特征点数量过少,则当前帧的状态设为跟踪失败状态。若当前帧的前一帧的状态为跟踪失败状态,使用使用二维码找到一系列的候选关键帧,将候选关键帧中所有的3D点作为候选3D点,利用检测得到的二维码得到二维码初始位姿,匹配地图中的3D地图点和图像中的ORB特征点,最终使用迭代的PnP算法求得最优的当前帧位姿。
其中,匀速运动模型会假设相机的运动为匀速,假设k时刻的位姿速度为ΔT k-1,那么可以利用上一帧的位姿对当前帧的位姿进行初步的预测,得到预测位姿
Figure PCTCN2018078076-appb-000001
Figure PCTCN2018078076-appb-000002
每次在成功跟踪当前帧位姿T k后,需要对匀速模型进行更新:
Figure PCTCN2018078076-appb-000003
特征点的匹配过程中,首先将上一帧中匹配成功的3D点与当前帧的特征点进行匹配,使用匀速模型预测的当前帧的位姿将这些3D点向当前帧的像平面进行投影,然后再以该投影点为中心,给定阈值的半径r内的所有ORB特征点进行匹配,找到两个特征向量的最小的汉明距离r h,当r h小于给定阈值,则可以 接受匹配。匹配结束后,得到一组点对,包括一组3D点X i和2D点p i,i=1,2,…,n,每一对匹配点存在一个重投影误差:
r i=p i-π T,X i          (1.1)
在式(1.1)中,
Figure PCTCN2018078076-appb-000004
其中f x和f y为相机的焦距,c x和c y为相机主点坐标,R为世界坐标系到某一帧相机坐标系的旋转矩阵和t为对应的平移向量,[x C,y C,z C]为某一个在世界坐标系下3D的点p在相机系下的坐标;
由匀速模型提供的位姿作为初始值,将所有的重投影误差累加起来,使用L-M方法(Levenberg-Marquardt是通过在Hessian矩阵上加一个正定矩阵来进行分析评估的方法,是最优化算法中的一种),优化当前帧位姿使得累计的重投影误差最小,得到最优的当前帧位姿。由于通过预测位姿精度不高,匹配的特征点数目可能较少,需要进一步利用优化后的位姿做进一步的匹配,这一步骤需要维护一个局部地图点集,以便能够更加高效准确的完成当前帧的2D特征点到3D地图点的匹配。首先需要找到与当前帧具有共视地图点的关键帧K 1,局部地图来源于参考关键帧的在共视图中邻接帧所看到的3D点,找到局部地图点后,将这些3D点向当前帧的像平面进行投影,与之前方法一致找到最优的匹配点,再带入迭代的PnP算法得到最优的当前帧位姿。
步骤S103、若当前帧中所跟踪特征点数目满足预设的关键帧判断条件,将当前帧设置为关键帧,并加入局部构图线程的关键帧处理队列以及回环检测线程的关键帧处理队列中;其中,预设的关键帧判断条件是当前帧中所跟踪特征点数目小于预设的特征点数阈值,或小于上一帧中所跟踪特征点数目的90%。在步骤S103中是在进行当前帧是否为关键帧的判定。
步骤S200、若局部构图线程的关键帧处理队列中为非空,获取队首的关键 帧记为当前关键帧,由当前关键帧、与当前关键帧有共同可视3D点的局部活动关键帧构建共视图,删除共视图中满足预设的冗余地图点判断条件的冗余3D地图点,根据共视图的固定关键帧和活动关键帧,对应获取局部最优的相机位姿、3D点坐标和二维码位姿。
具体参见图1b,在一些实施例中,步骤S200可以包括步骤S104-步骤S108,上述5个步骤为局部构图线程的步骤,具体如下:
步骤S104、若局部构图线程的关键帧处理队列为非空,取出队首的关键帧,标记为当前关键帧,获取与当前关键帧的共同可视3D点相同的局部活动关键帧,由关键帧及局部活动关键帧构建共视图。
在步骤S104中主要进行新关键帧的创建,即主要工作是构建和更新共视图。共视图是一种无向图,它以关键帧为节点,关键帧之间具有共同可视3D点,且共视3D点数量大于一定阈值。共视图的两帧之间存在一条边,边的权值为共视地图点的数量。首先,找到所有与当前帧具有共同可视3D点的关键帧,共视3D点数量大于一定的阈值,则向该关键帧与当前帧之间添加一条无向边,这个边的权重为共视3D点的数量。完成共视图的更新和创建后,将在共视图中当前帧的所有邻接关键帧为局部活动关键帧,将找到所有局部活动关键帧可观测到的3D点。
步骤S105、删除共视图中满足预设的冗余地图点判断条件的冗余3D地图点;其中,预设的冗余地图点判断条件是局部活动关键帧中可观测到3D点的匹配数量低于局部活动关键帧预测可观测数量的25%,且局部活动关键帧中可观测到3D点至少在3个关键帧中可见。在步骤S105中是在进行冗余3D地图点的删除。
步骤S106、若当前关键帧的ORB特征点与局部活动关键帧中未匹配的ORB特征点进行基线的搜索匹配成功,通过三角化以初始化3D地图点位置,并恢复在地图中对应的二维码位姿。在步骤S106中是在创建新的地图点。
步骤S107、根据共视图的固定关键帧和活动关键帧,对应获取局部最优的相机位姿、3D点坐标和二维码位姿。
在一些实施例中,步骤S107中以固定关键帧和活动关键帧中所有匹配到的3D点、关键帧的位姿、二维码的位姿作为状态量,以2D特征点和二维码提取的角点作为观测量,通过非线性最小二乘算法获取局部最优的相机位姿、3D点 坐标和二维码位姿。
即在步骤S107中进行局部地图的优化,即在共视图中将固定关键帧和活动关键帧中所有匹配的3D地图点、关键帧的位姿和二维码的位姿作为状态量,2D特征点和二维码提取的角点作为观测量,利用非线性最小二乘求解局部最优的相机位姿、3D点坐标和二维码位姿。
具体操作为假设固定关键帧集合为K 1,活动关键帧集合为K 2,将所有的关键帧记做为K,所有的3D点集合记为P,地图中的二维码为A,编号为i的关键帧的位姿为T i,编号为j的3D点的位置为p j,设第j个3D点被第i个关键帧观测到投影点为u ij,每一对匹配点存在一个重投影误差:
r ij=u ij-π T i,X j          (1.2)
其中,
Figure PCTCN2018078076-appb-000005
其中f x和f y为相机的焦距,c x和c y为相机主点坐标,R为世界坐标系到某一帧相机坐标系的旋转矩阵和t为对应的平移向量,[x C,y C,z C]为某一个在世界坐标系下3D的点p在相机系下的坐标;
编号为k的二维码位姿为T k,若第k个二维码能够被第i个关键帧观测到,那么可以很容易得到二维码4个角点的观测量u ikl(l=1,2,3,4),
Figure PCTCN2018078076-appb-000006
对应于在二维码坐标系下的3D坐标X l,利用相机的位姿和二维码的位姿,将4个点向当前帧进行投影:
r ikl=u ikl-π T iT k,X l          (1.4)
其中π·如式(1.3)所示,T i为第i帧关键帧的位姿,r ikl为id为k的二维码在第i个关键帧d的第1个角点的重投影误差。
将上式中4个残差叠r ikl(l=1,2,3,4)加成一个向量,得到8维的向量
Figure PCTCN2018078076-appb-000007
为了求解得到局部最优的相机位姿、3D点坐标和二维码位姿,优化以下函数:
Figure PCTCN2018078076-appb-000008
其中r ij为第j个3D点在第i个关键帧上的重投影误差,K为地图中所有的关键帧集合,P为地图中所有3D点集合,A为地图中所有二维码位姿集合。
本申请中使用L-M算法进行求解,其中固定关键帧位姿在迭代过程中保持不变。
步骤S108、删除满足预设的冗余关键帧判断条件的关键帧;其中,预设的冗余关键帧判断条件是关键帧中90%以上的特征点被多个关键帧中的至少3个其他关键帧所匹配。在步骤S108中进行冗余关键帧的删除。
步骤S300、若回环检测线程的关键帧处理队列中为非空、且队首的关键帧为当前关键帧,获取关键帧中满足回环条件的候选关键帧,根据候选关键帧进行位姿迭代更新、闭环矫正、地图矫正及全局优化后,得到全局最优的相机位姿、3D点坐标和二维码位姿。
具体参见图1b,在一些实施例中,步骤S300可以包括步骤S109-步骤S113,上述5个步骤为回环检测线程的步骤,具体如下:
步骤S109、通过二维码获取关键帧中满足回环条件的候选关键帧。
在一些实施例中,步骤S109中根据二维码与关键帧的映射表,搜索与当前帧观测到相同二维码ID的初始候选关键帧,若初始候选关键帧中有与当前帧在共视图中未邻接,初始候选关键帧未与当前帧相邻接的关键帧邻接,且初始候选关键帧的数量超出预设的关键帧数量阈值,获取初始候选关键帧中的候选关键帧。
即,在步骤S109中进行回环判定,即通过二维码找到一系列的候选关键帧。寻找方法为:在构建地图时会构建一个二维码id到关键帧的映射,通过该映射表可以很快的搜索出与当前帧观测到相同id的关键帧,但是若要成为候选关键帧,搜索的关键帧既不能与当前关键帧在共视图中相邻接,也不能与当前帧邻接的关键帧邻接,直到找到所有满足要求的关键帧。若候选关键帧的数量大于一定阈值,则判断回环成功。
步骤S110、获取与当前帧成功匹配特征点为多个值中最大值的回环帧,将回环帧与当前帧进行3D点的融合。
在步骤S110中,是对当前帧相对于环首地图位姿的计算,即将候选关键帧中的所有观测到的点作为候选3D点,根据二维码提供的初始位姿,对候选3D点与当前帧中的特征点进行匹配,匹配完成后使用RANSAC和PnP对算法位 姿进行估计,使用得到的位姿再进行3D点的匹配,用更新后的匹配再对位姿做一次迭代更新,直到找到与当前帧具有最多数量的成功匹配特征点的回环帧。之后,需要利用回环帧与当前帧进行3D点的融合,其目的是将环尾的3D点和环首的3D点进行匹配,成功匹配一对3D点后,需要将被更少关键帧观测到丢掉,最后需要重新更新共视图的节点和边的信息。
步骤S111、获取共视图的最小生成树,根据最小生成树对共视图进行闭环矫正,得到矫正后的关键帧、矫正后的地图点以及矫正后的二维码位姿。
在一些实施例中,步骤S111中以最小生成树上每个关键帧的位姿作为状态量,用每两个关键帧之间的相对位姿作为观测量,固定回环帧的位姿进行优化,得到优化后的关键帧、优化后的地图点以及优化后的二维码位姿。
即在步骤S111中进行图优化的处理,由于在步骤S110中计算了当前帧相对之前的地图的位姿,需要利用该位姿对整个地图进行矫正,完成闭环矫正。具体过程为为先找到共视图的最小生成树,以最小生成树上每个关键帧的位姿作为状态量,用每两帧之间的相对位姿作为观测量,固定回环关键帧的位姿,对整个位姿图进行优化,得到优化后的关键帧、优化后的地图点以及优化后的二维码位姿。
步骤S112、获取共视图中未在最小生成树内的关键帧、共视图中所有3D点、及二维码位姿,分别根据优化后的关键帧、优化后的地图点以及优化后的二维码位姿进行矫正,对应得到矫正后的关键帧、矫正后的地图点以及矫正后的二维码位姿。
其中,步骤S112中进行地图的矫正。关键帧的矫正具体实现是遍历地图中所有的关键帧,判断该关键帧是否在最小生成树中出现,若没有出现,在经过矫正的关键帧中找到最多匹配点的关键帧作为参考关键帧,然后用参考关键帧矫正后的位姿乘以校正前的两帧之间的相对位姿,这样可以完成每一个关键帧的位姿矫正。
3D点的矫正的步骤为首先找到3D特征点的参考关键帧,参考关键帧的判定依据为计算该点到所有关键帧光心向量的均值,参考关键帧满足其3D点到光心的向量与该均值向量夹角最小。然后利用参考关键帧更新3D点的位置,具体操作为先用参考关键帧校正前位姿把3D点变换到参考关键帧坐标系下,再用校正后的位姿将3D点变换回到世界坐标系下。
二维码位姿的矫正为遍历所有的二维码,找到二维码出现在像平面最中间的关键帧,定义为参考关键帧,其具体操作为计算地图中二维码坐标系原点到所有能够观测到该二维码关键帧光心向量的均值,找到该向量与二维码坐标系原点到关键帧光心夹角最小的关键帧。然后利用参考关键帧更新二维码的位姿,具体操作为先用参考关键帧校正前位姿把二维码变换到参考关键帧坐标系下,再用校正后的位姿将二维码变换回到世界坐标系下。
步骤S113、根据矫正后的关键帧、矫正后的地图点以及矫正后的二维码位姿,对应获取全局最优的相机位姿、3D点坐标和二维码位姿。
在一些实施例中,步骤S113中以SLAM地图中所关键帧的位姿、所有地图点的位姿、二维码的位姿作为状态量,以以SLAM地图中所有匹配成功的特征点作为观测量,通过非线性最小二乘算法获取全局最优的相机位姿、3D点坐标和二维码位姿。
即在步骤S113中是进行全局优化,即将地图中的所有关键帧、地图点以及二维码的位姿作为状态量,以所有匹配的成功的特征点坐标为观测量,对状态量进行优化,求解出全局最优的相机位姿、3D点坐标和二维码位姿。
具体操作为将所有的关键帧记做为K,所有的3D点集合记为P,地图中的二维码为A,编号为i的关键帧的位姿为T i,编号为j的3D点的位置为p j,设第j个3D点被第i个关键帧观测到,投影点为u ij,每一对匹配点存在一个重投影误差:
r ij=u ij-π T i,X j           (1.6)
其中,
Figure PCTCN2018078076-appb-000009
编号为k的二维码位姿为T k,若第k个二维码能够被第i个关键帧观测到,那么可以很容易得到二维码4个角点的观测量u ikl(l=1,2,3,4),
Figure PCTCN2018078076-appb-000010
对应于在二维码坐标系下的3D坐标X l,利用相机的位姿和二维码的位姿,将4个点向当前帧进行投影:
r ikl=u ikl-π T iT k,X l          (1.8) 将4个残差叠加成一个向量,得到8维的向量
Figure PCTCN2018078076-appb-000011
为了求解得到最优的相机位姿、3D点坐标和二维码位姿,优化以下函数:
Figure PCTCN2018078076-appb-000012
本申请中使用L-M算法进行求解,其中第一帧的位姿在优化过程中保持不变。
为了验证本申请中所述紧耦合视觉SLAM的方法准确度,通过以下具体实验来实现。首先在在某一指定地库中的柱子上垂直粘贴26个A4纸打印的二维码,每个二维码之间的间距为6~8m,使用kinect2(kinect2是一款微软发售的消费级RGB-D相机,RGB相机是卷帘相机,轻微的抖动会导致图像模糊)在地库环境中运动一圈后,记录下kinect2所录下的数据,然后使用本发明中的算法和一个经典的纯单目视觉SLAM算法(ORB-SLAM)进行对比,由于kinect2采集的图像包括RGB图像和深度图像,本发明只使用RGB图像。为了对比本发明的方法和经典的单目视觉SLAM,首先将关闭本发明中和ORB-SLAM回环模块,然后使用录制的数据跑完一圈后的估计轨迹如图3a所示,图中左侧封闭曲线为使用本发明的方法得到的估计的轨迹图像,右侧未闭合曲线为使用经典的单目SLAM(ORB-SLAM)估计的3D轨迹,可以从图中很明显的看出来,本发明提供的方法能够得到更加准确的估计轨迹。需要注意的是ORB-SLAM估计的轨迹是没有尺度信息的,在得到结果后,需要对整个轨迹进行尺度恢复。图3b是使用本发明的方法打开回环模块后得到的估计轨迹,使用米尺对长方形区域的长和宽进行测量,分别为85m和29m,本法明得到的估计结果和该测量结果很吻合,而且与纯单目SLAM相机,该轨迹可以直接得到,无需后续的处理。图3a和图3b中,trajectory表示在x,y,z轴下的轨迹。
在进一步的验证试验中,使用MT9V034在室内采集的图片,相机沿着走廊飞行两圈,每一圈的路径大约为70m,二维码沿着该路径总共布置了34个,且每个二维码的边长为0.232m。为了对比本发明的方法和经典的单目视觉SLAM,首先将关闭本发明中和ORB-SLAM回环模块,然后使用录制的数据跑完一圈后的估计轨迹如图4a所示,图中红线为使用本发明的方法得到的估计的轨迹图像,绿线为使用经典的单目SLAM(ORB-SLAM)估计的3D轨迹,可以从图中很明显的看出来,本发明提供的方法能够得到更加准确的估计轨迹,纯单目视觉 SLAM产生了较大的误差和尺度的漂移。需要注意的是ORB-SLAM估计的轨迹是没有尺度信息的,在得到结果后,需要对整个轨迹进行尺度恢复。图4b为由本发明的方法打开闭环模块后直接估计出来的轨迹,可以看出来该轨迹形状符合期望,将每一圈估计轨迹的路程累加起来得到75.5m,和测量的路径十分吻合。图4a和图4b中,trajectory表示在x,y,z轴下的轨迹。
本发明实施例还提供一种终端,该终端用于执行前述任一项所述的方法的单元。具体地,参见图5a,图5a是本发明实施例提供的一种终端的示意框图。本实施例的终端包括:位姿跟踪单元100、局部构图单元200、及回环检测单元300。
位姿跟踪单元100,用于初始化SLAM地图,获取当前帧图像中ORB特征点,由当前帧图像中ORB特征点、匀速运动模型及PnP算法获取最优的当前帧位姿,若当前帧位姿满足预设的关键帧判断条件,将当前帧设置为关键帧,并加入局部构图线程的关键帧处理队列以及回环检测线程的关键帧处理队列中。
局部构图单元200,用于若局部构图线程的关键帧处理队列中为非空,获取队首的关键帧记为当前关键帧,由当前关键帧、与当前关键帧有共同可视3D点的局部活动关键帧构建共视图,删除共视图中满足预设的冗余地图点判断条件的冗余3D地图点,根据共视图的固定关键帧和活动关键帧,对应获取局部最优的相机位姿、3D点坐标和二维码位姿。
回环检测单元300,用于若回环检测线程的关键帧处理队列中为非空、且队首的关键帧为当前关键帧,获取关键帧中满足回环条件的候选关键帧,根据候选关键帧进行位姿迭代更新、闭环矫正、地图矫正及全局优化后,得到全局最优的相机位姿、3D点坐标和二维码位姿。
在一些实施例中,如图5b所示,位姿跟踪单元100包括SLAM初始化单元101,当前帧的位姿跟踪单元102,关键帧判断单元103。局部构图单元200包括新关键帧创建单元104,冗余3D地图点删除单元105,新地图点创建单元106,局部地图优化单元107,冗余关键帧删除单元108。回环检测单元300包括回环判定单元109,当前帧相对位姿计算单元110,图优化单元111,地图矫正单元112,全局优化单元113。
SLAM初始化单元101,用于初始化SLAM地图,获得3D点坐标以及对应的二维码位姿。
当前帧的位姿跟踪单元102,用于获取当前帧图像的当前帧中ORB特征点,若当前帧中ORB特征点的状态对应跟踪成功状态,根据匀速运动模型及PnP算法获取最优的当前帧位姿。
具体地,请参考图6,在一些实施例中,SLAM初始化单元101可以包括:
地图输入判断单元1011,用于判断是否输入已构建地图;
地图读取单元1012,用于若输入已构建地图,读取已构建地图,得到初始化SLAM地图;
二维码判断判断单元1013,用于若未输入已构建地图,判断第一帧是否检测到二维码;
第一初始化单元1014,用于若第一帧检测到二维码,根据二维码得到初始化SLAM地图;
第二初始化单元1015,用于若第一帧未检测到二维码,获取第一帧的ORB特征点及当前帧的ORB特征点,若第一帧的ORB特征点与当前帧的ORB特征点之间的匹配成功特征点点数超出预设的匹配点阈值,获取第一帧与当前帧之间的相对位姿,根据第一帧与当前帧之间的相对位姿对匹配成功特征点进行三角化,得到初始化SLAM地图。
关键帧判断单元103,用于若当前帧中所跟踪特征点数目满足预设的关键帧判断条件,将当前帧设置为关键帧,并加入局部构图线程的关键帧处理队列以及回环检测线程的关键帧处理队列中;其中,预设的关键帧判断条件是当前帧中所跟踪特征点数目小于预设的特征点数阈值,或小于上一帧中所跟踪特征点数目的90%。
新关键帧创建单元104,用于若局部构图线程的关键帧处理队列为非空,取出队首的关键帧,标记为当前关键帧,获取与当前关键帧的共同可视3D点相同的局部活动关键帧,由当前关键帧及局部活动关键帧构建共视图。
冗余3D地图点删除单元105,用于删除共视图中满足预设的冗余地图点判断条件的冗余3D地图点;其中,预设的冗余地图点判断条件是局部活动关键帧中可观测到3D点的匹配数量低于局部活动关键帧预测可观测数量的25%,且局部活动关键帧中可观测到3D点至少在3个关键帧中可见。
新地图点创建单元106,用于若当前关键帧的ORB特征点与局部活动关键帧中未匹配的ORB特征点进行基线的搜索匹配成功,通过三角化以初始化3D 地图点位置,并恢复在地图中对应的二维码位姿。
局部地图优化单元107,用于根据共视图的固定关键帧和活动关键帧,对应获取局部最优的相机位姿、3D点坐标和二维码位姿。
冗余关键帧删除单元108,用于删除满足预设的冗余关键帧判断条件的关键帧;其中,预设的冗余关键帧判断条件是关键帧中90%以上的特征点被多个关键帧中的至少3个其他关键帧所匹配。
回环判定单元109,用于若回环检测线程中关键帧队列非空,队首的关键帧为当前关键帧,通过当前关键帧二维码id获取关键帧中满足回环条件的候选关键帧。
当前帧相对位姿计算单元110,用于获取与当前帧成功匹配特征点为多个值中最大值的回环帧,将回环帧与当前帧进行3D点的融合。
图优化单元111,用于获取共视图的最小生成树,根据最小生成树对共视图进行闭环矫正,得到优化后的关键帧、优化后的地图点以及优化后的二维码位姿。
地图矫正单元112,用于获取共视图中未在最小生成树内的关键帧、共视图中所有3D点、及二维码位姿,分别根据优化后的关键帧、优化后的地图点以及优化后的二维码位姿进行矫正,对应得到矫正后的关键帧、矫正后的地图点以及矫正后的二维码位姿。
全局优化单元113,用于根据矫正后的关键帧、矫正后的地图点以及矫正后的二维码位姿,对应获取全局最优的相机位姿、3D点坐标和二维码位姿。
参见图7,是本发明另一实施例提供的一种终端示意框图,此终端对应实现以上实施例的紧耦合视觉SLAM的方法。如图所示的本实施例中的终端可以包括:一个或多个处理器701;一个或多个输入设备702,一个或多个输出设备703和存储器704。上述处理器701、输入设备702、输出设备703和存储器704通过总线705连接。存储器702用于存储计算机程序,所述计算机程序包括程序指令,处理器701用于执行存储器702存储的程序指令。其中,处理器701被配置用于调用所述程序指令以执行以上实施例的紧耦合视觉SLAM的方法。
应当理解,在本发明实施例中,所称处理器701可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific  Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备702可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备703可以包括显示器(LCD等)、扬声器等。
该存储器704可以包括只读存储器和随机存取存储器,并向处理器701提供指令和数据。存储器704的一部分还可以包括非易失性随机存取存储器。例如,存储器704还可以存储设备类型的信息。
具体实现中,本发明实施例中所描述的处理器701、输入设备702、输出设备703可执行本发明实施例提供的紧耦合视觉SLAM的方法的实施例中所描述的实现方式,也可执行本发明实施例所描述的终端的实现方式,在此不再赘述。
在本发明的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现以上实施例的紧耦合视觉SLAM的方法。
所述计算机可读存储介质可以是前述任一实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。 因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

  1. 一种紧耦合视觉SLAM的方法,其特征在于,包括:
    初始化SLAM地图,获取当前帧图像中ORB特征点,由当前帧图像中ORB特征点、匀速运动模型及PnP算法获取最优的当前帧位姿,若当前帧位姿满足预设的关键帧判断条件,将当前帧设置为关键帧,并加入局部构图线程的关键帧处理队列以及回环检测线程的关键帧处理队列中;
    若局部构图线程的关键帧处理队列中为非空,获取队首的关键帧记为当前关键帧,由当前关键帧、与当前关键帧有共同可视3D点的局部活动关键帧构建共视图,删除共视图中满足预设的冗余地图点判断条件的冗余3D地图点,根据共视图的固定关键帧和活动关键帧,对应获取局部最优的相机位姿、3D点坐标和二维码位姿;
    若回环检测线程的关键帧处理队列中为非空、且队首的关键帧为当前关键帧,获取关键帧中满足回环条件的候选关键帧,根据候选关键帧进行位姿迭代更新、闭环矫正、地图矫正及全局优化后,得到全局最优的相机位姿、3D点坐标和二维码位姿。
  2. 根据权利要求1所述的方法,其特征在于,所述初始化SLAM地图,获取当前帧图像中ORB特征点,由当前帧图像中ORB特征点、匀速运动模型及PnP算法获取最优的当前帧位姿,若当前帧位姿满足预设的关键帧判断条件,将当前帧设置为关键帧,并加入局部构图线程的关键帧处理队列以及回环检测线程的关键帧处理队列中,包括:
    初始化SLAM地图,获得3D点坐标以及对应的二维码位姿;
    获取当前帧图像的当前帧中ORB特征点,若当前帧中ORB特征点的状态对应跟踪成功状态,根据匀速运动模型及PnP算法获取最优的当前帧位姿;
    若当前帧中所跟踪特征点数目满足预设的关键帧判断条件,将当前帧设置为关键帧,并加入局部构图线程的关键帧处理队列以及回环检测线程的关键帧处理队列中;其中,预设的关键帧判断条件是当前帧中所跟踪特征点数目小于预设的特征点数阈值,或小于上一帧中所跟踪特征点数目的90%。
  3. 根据权利要求1所述的方法,其特征在于,所述若局部构图线程的关键帧处理队列中为非空,获取队首的关键帧记为当前关键帧,由当前关键帧、与当前关键帧有共同可视3D点的局部活动关键帧构建共视图,删除共视图中满足预 设的冗余地图点判断条件的冗余3D地图点,根据共视图的固定关键帧和活动关键帧,对应获取局部最优的相机位姿、3D点坐标和二维码位姿,包括:
    若局部构图线程的关键帧处理队列为非空,取出队首的关键帧,标记为当前关键帧,获取与当前关键帧的共同可视3D点相同的局部活动关键帧,由当前关键帧及局部活动关键帧构建共视图;
    删除共视图中满足预设的冗余地图点判断条件的冗余3D地图点;其中,预设的冗余地图点判断条件是局部活动关键帧中可观测到3D点的匹配数量低于局部活动关键帧预测可观测数量的25%,且局部活动关键帧中可观测到3D点至少在3个关键帧中可见;
    若当前关键帧的ORB特征点与局部活动关键帧中未匹配的ORB特征点进行基线的搜索匹配成功,通过三角化以初始化3D地图点位置,并恢复在地图中对应的二维码位姿;
    根据共视图的固定关键帧和活动关键帧,对应获取局部最优的相机位姿、3D点坐标和二维码位姿;
    删除满足预设的冗余关键帧判断条件的关键帧;其中,预设的冗余关键帧判断条件是关键帧中90%以上的特征点被多个关键帧中的至少3个其他关键帧所匹配。
  4. 根据权利要求1所述的方法,其特征在于,所述若回环检测线程的关键帧处理队列中为非空、且队首的关键帧为当前关键帧,获取关键帧中满足回环条件的候选关键帧,根据候选关键帧进行位姿迭代更新、闭环矫正、地图矫正及全局优化后,得到全局最优的相机位姿、3D点坐标和二维码位姿,包括:
    若回环检测线程中关键帧队列非空,队首的关键帧为当前关键帧,通过当前关键帧二维码id获取关键帧中满足回环条件的候选关键帧;
    获取与当前帧成功匹配特征点为多个值中最大值的回环帧,将回环帧与当前帧进行3D点的融合;
    获取共视图的最小生成树,根据最小生成树对共视图进行闭环矫正,得到优化后的关键帧、优化后的地图点以及优化后的二维码位姿;
    获取共视图中未在最小生成树内的关键帧、共视图中所有3D点、及二维码位姿,分别根据优化后的关键帧、优化后的地图点以及优化后的二维码位姿进行矫正,对应得到矫正后的关键帧、矫正后的地图点以及矫正后的二维码位姿;
    根据矫正后的关键帧、矫正后的地图点以及矫正后的二维码位姿,对应获取全局最优的相机位姿、3D点坐标和二维码位姿。
  5. 根据权利要求2所述的方法,其特征在于,所述初始化SLAM地图,获得一系列的3D点坐标以及对应的二维码位姿,包括:
    判断是否输入已构建地图;
    若输入已构建地图,读取已构建地图,得到初始化SLAM地图;
    若未输入已构建地图,判断第一帧是否检测到二维码;
    若第一帧检测到二维码,根据二维码得到初始化SLAM地图;
    若第一帧未检测到二维码,获取第一帧的ORB特征点及当前帧的ORB特征点,若第一帧的ORB特征点与当前帧的ORB特征点之间的匹配成功特征点点数超出预设的匹配点阈值,获取第一帧与当前帧之间的相对位姿,根据第一帧与当前帧之间的相对位姿对匹配成功特征点进行三角化,得到初始化SLAM地图。
  6. 根据权利要求2所述的方法,其特征在于,所述获取图像序列的当前帧中ORB特征点,若当前帧中ORB特征点的状态对应跟踪成功状态,根据匀速运动模型及PnP算法获取最优的当前帧位姿之后,还包括:
    若当前帧中ORB特征点的状态对应跟踪失败状态,根据二维码获取二维码初始位姿,根据PnP算法获取最优的当前帧位姿。
  7. 根据权利要求4所述的方法,其特征在于,所述通若回环检测线程中关键帧队列非空,队首的关键帧为当前关键帧,通过当前关键帧二维码id获取关键帧中满足回环条件的候选关键帧,包括:
    根据二维码与关键帧的映射表,搜索与当前帧观测到相同二维码ID的初始候选关键帧;
    若初始候选关键帧中有与当前帧在共视图中未邻接,初始候选关键帧未与当前帧相邻接的关键帧邻接,且初始候选关键帧的数量超出预设的关键帧数量阈值,获取初始候选关键帧中的候选关键帧。
  8. 一种终端,其特征在于,包括用于执行如权利要求1-7任一权利要求所述的方法的单元。
  9. 一种终端,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于 存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
  10. 一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
PCT/CN2018/078076 2018-03-06 2018-03-06 紧耦合视觉slam的方法、终端及计算机可读存储介质 WO2019169540A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201880001029.8A CN110462683B (zh) 2018-03-06 2018-03-06 紧耦合视觉slam的方法、终端及计算机可读存储介质
PCT/CN2018/078076 WO2019169540A1 (zh) 2018-03-06 2018-03-06 紧耦合视觉slam的方法、终端及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/078076 WO2019169540A1 (zh) 2018-03-06 2018-03-06 紧耦合视觉slam的方法、终端及计算机可读存储介质

Publications (1)

Publication Number Publication Date
WO2019169540A1 true WO2019169540A1 (zh) 2019-09-12

Family

ID=67846446

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/078076 WO2019169540A1 (zh) 2018-03-06 2018-03-06 紧耦合视觉slam的方法、终端及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN110462683B (zh)
WO (1) WO2019169540A1 (zh)

Cited By (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110542916A (zh) * 2019-09-18 2019-12-06 上海交通大学 卫星与视觉紧耦合定位方法、***及介质
CN110648397A (zh) * 2019-09-18 2020-01-03 Oppo广东移动通信有限公司 场景地图生成方法、装置、存储介质及电子设备
CN110660134A (zh) * 2019-09-25 2020-01-07 Oppo广东移动通信有限公司 三维地图构建方法、三维地图构建装置及终端设备
CN110673607A (zh) * 2019-09-25 2020-01-10 优地网络有限公司 动态场景下的特征点提取方法、装置、及终端设备
CN110705574A (zh) * 2019-09-27 2020-01-17 Oppo广东移动通信有限公司 定位方法及装置、设备、存储介质
CN110827353A (zh) * 2019-10-18 2020-02-21 天津大学 一种基于单目摄像头辅助的机器人定位方法
CN110866497A (zh) * 2019-11-14 2020-03-06 合肥工业大学 基于点线特征融合的机器人定位与建图方法和装置
CN110887493A (zh) * 2019-11-29 2020-03-17 上海有个机器人有限公司 基于局部地图匹配的轨迹推算方法、介质、终端和装置
CN110930444A (zh) * 2019-11-29 2020-03-27 上海有个机器人有限公司 一种基于双边优化的点云匹配方法、介质、终端和装置
CN111079826A (zh) * 2019-12-13 2020-04-28 武汉科技大学 融合slam和图像处理的施工进度实时识别方法
CN111145238A (zh) * 2019-12-12 2020-05-12 中国科学院深圳先进技术研究院 单目内窥镜图像的三维重建方法、装置及终端设备
CN111260661A (zh) * 2020-01-15 2020-06-09 江苏大学 一种基于神经网络技术的视觉语义slam***及方法
CN111275763A (zh) * 2020-01-20 2020-06-12 深圳市普渡科技有限公司 闭环检测***、多传感器融合slam***及机器人
CN111290403A (zh) * 2020-03-23 2020-06-16 内蒙古工业大学 搬运自动导引运输车的运输方法和搬运自动导引运输车
CN111338383A (zh) * 2020-04-24 2020-06-26 北京泛化智能科技有限公司 基于gaas的自主飞行方法及***、存储介质
CN111339226A (zh) * 2019-12-23 2020-06-26 深圳市香蕉智能科技有限公司 一种基于分类检测网络构建地图方法及装置
CN111390975A (zh) * 2020-04-27 2020-07-10 浙江库科自动化科技有限公司 具有摘风管功能的巡检智能机器人及其巡检方法
CN111409085A (zh) * 2020-04-27 2020-07-14 浙江库科自动化科技有限公司 具有关闭折角塞门功能的巡检智能机器人及其巡检方法
CN111415417A (zh) * 2020-04-14 2020-07-14 大连理工江苏研究院有限公司 一种集成稀疏点云的移动机器人拓扑经验地图构建方法
CN111429524A (zh) * 2020-03-19 2020-07-17 上海交通大学 一种相机与惯性测量单元在线初始化与标定方法及***
CN111462135A (zh) * 2020-03-31 2020-07-28 华东理工大学 基于视觉slam与二维语义分割的语义建图方法
CN111539305A (zh) * 2020-04-20 2020-08-14 肇庆小鹏汽车有限公司 一种地图构建方法及***、车辆及存储介质
CN111539982A (zh) * 2020-04-17 2020-08-14 北京维盛泰科科技有限公司 一种移动平台中基于非线性优化的视觉惯导初始化方法
CN111540016A (zh) * 2020-04-27 2020-08-14 深圳南方德尔汽车电子有限公司 基于图像特征匹配的位姿计算方法、装置、计算机设备及存储介质
CN111563442A (zh) * 2020-04-29 2020-08-21 上海交通大学 基于激光雷达的点云和相机图像数据融合的slam方法及***
CN111709997A (zh) * 2020-06-30 2020-09-25 华东理工大学 一种基于点与平面特征的slam实现方法及***
CN111707281A (zh) * 2020-06-30 2020-09-25 华东理工大学 一种基于光度信息和orb特征的slam***
CN111754602A (zh) * 2020-05-15 2020-10-09 北京京东乾石科技有限公司 一种地图构建方法、装置、电子设备和存储介质
CN111784841A (zh) * 2020-06-05 2020-10-16 中国人民解放军军事科学院国防科技创新研究院 重建三维图像的方法、装置、电子设备及介质
CN111780764A (zh) * 2020-06-30 2020-10-16 杭州海康机器人技术有限公司 一种基于视觉地图的视觉定位方法、装置
CN111862200A (zh) * 2020-06-30 2020-10-30 同济大学 一种煤棚内无人机定位方法
CN111915680A (zh) * 2020-09-01 2020-11-10 山东新一代信息产业技术研究院有限公司 机器人定位方法、***、电子装置及计算机可读介质
CN111913499A (zh) * 2020-07-17 2020-11-10 天津大学 基于单目视觉slam及深度不确定性分析的云台控制方法
CN111986313A (zh) * 2020-08-21 2020-11-24 浙江商汤科技开发有限公司 回环检测方法及装置、电子设备和存储介质
CN111998862A (zh) * 2020-07-02 2020-11-27 中山大学 一种基于bnn的稠密双目slam方法
CN112052300A (zh) * 2020-08-05 2020-12-08 浙江大华技术股份有限公司 一种slam后端处理方法、装置和计算机可读存储介质
CN112085788A (zh) * 2020-08-03 2020-12-15 深圳市优必选科技股份有限公司 回环检测方法、装置、计算机可读存储介质及移动装置
CN112132893A (zh) * 2020-08-31 2020-12-25 同济人工智能研究院(苏州)有限公司 一种适用于室内动态环境的视觉slam方法
CN112233180A (zh) * 2020-10-23 2021-01-15 上海影谱科技有限公司 基于地图的slam快速初始化方法、装置和电子设备
CN112364677A (zh) * 2020-11-23 2021-02-12 盛视科技股份有限公司 基于二维码的机器人视觉定位方法
CN112446951A (zh) * 2020-11-06 2021-03-05 杭州易现先进科技有限公司 三维重建方法、装置、电子设备及计算机存储介质
CN112508065A (zh) * 2020-11-24 2021-03-16 深圳市优必选科技股份有限公司 机器人及其定位方法和装置
CN112541970A (zh) * 2020-11-30 2021-03-23 北京华捷艾米科技有限公司 一种集中式协同SlAM中的重定位方法及装置
CN112560648A (zh) * 2020-12-09 2021-03-26 长安大学 一种基于rgb-d图像的slam方法
CN112577479A (zh) * 2019-09-27 2021-03-30 北京初速度科技有限公司 基于地图元素数据的多传感器融合车辆定位方法及装置
CN112581514A (zh) * 2019-09-30 2021-03-30 浙江商汤科技开发有限公司 一种地图构建方法及装置、存储介质
CN112634395A (zh) * 2019-09-24 2021-04-09 杭州海康威视数字技术股份有限公司 一种基于slam的地图构建方法及装置
CN112630745A (zh) * 2020-12-24 2021-04-09 深圳市大道智创科技有限公司 一种基于激光雷达的环境建图方法和装置
CN112700495A (zh) * 2020-11-25 2021-04-23 北京旷视机器人技术有限公司 位姿确定方法、装置、机器人、电子设备及存储介质
CN112800806A (zh) * 2019-11-13 2021-05-14 深圳市优必选科技股份有限公司 物***姿检测追踪方法、装置、电子设备及存储介质
CN112862803A (zh) * 2021-02-26 2021-05-28 中国人民解放军93114部队 基于边缘和特征点融合的红外成像slam方法和装置
CN112967311A (zh) * 2019-12-12 2021-06-15 浙江商汤科技开发有限公司 三维线图构建方法及装置、电子设备和存储介质
CN112991447A (zh) * 2021-03-16 2021-06-18 华东理工大学 一种动态环境下视觉定位与静态地图构建方法及***
CN112990003A (zh) * 2021-03-11 2021-06-18 深圳市无限动力发展有限公司 图像序列重定位判断方法、装置和计算机设备
CN113094545A (zh) * 2020-01-09 2021-07-09 舜宇光学(浙江)研究院有限公司 冗余关键帧剔除方法和slam方法及其***和电子设备
CN113103232A (zh) * 2021-04-12 2021-07-13 电子科技大学 一种基于特征分布匹配的智能设备自适应运动控制方法
CN113129369A (zh) * 2020-01-16 2021-07-16 北京京东乾石科技有限公司 一种点云地图初始化方法和装置
CN113256736A (zh) * 2021-06-08 2021-08-13 北京理工大学 一种基于可观测性优化的多相机视觉slam方法
CN113284224A (zh) * 2021-04-20 2021-08-20 北京行动智能科技有限公司 基于单纯码的自动建图方法和装置、定位方法及设备
CN113298692A (zh) * 2021-05-21 2021-08-24 北京索为云网科技有限公司 终端的位姿跟踪方法、ar渲染方法、设备及存储介质
CN113298693A (zh) * 2021-05-21 2021-08-24 北京索为云网科技有限公司 终端的位姿跟踪方法、ar渲染方法及设备、存储介质
CN113345017A (zh) * 2021-05-11 2021-09-03 香港理工大学深圳研究院 一种使用标志辅助视觉slam的方法
CN113379911A (zh) * 2021-06-30 2021-09-10 深圳市银星智能科技股份有限公司 Slam方法、slam***及智能机器人
CN113377987A (zh) * 2021-05-11 2021-09-10 重庆邮电大学 基于ResNeSt-APW的多模块闭环检测方法
CN113409368A (zh) * 2020-03-16 2021-09-17 北京京东乾石科技有限公司 建图方法及装置、计算机可读存储介质、电子设备
CN113420590A (zh) * 2021-05-13 2021-09-21 北京航空航天大学 弱纹理环境下的机器人定位方法、装置、设备及介质
CN113432593A (zh) * 2021-06-25 2021-09-24 北京华捷艾米科技有限公司 集中式同步定位与地图构建方法、装置和***
CN113516682A (zh) * 2021-07-08 2021-10-19 福州大学 一种激光slam的回环检测方法
CN113591865A (zh) * 2021-07-28 2021-11-02 深圳甲壳虫智能有限公司 一种回环检测方法、装置以及电子设备
CN113624223A (zh) * 2021-07-30 2021-11-09 中汽创智科技有限公司 一种室内停车场地图构建方法及装置
CN113701760A (zh) * 2021-09-01 2021-11-26 火种源码(中山)科技有限公司 基于滑动窗口位姿图优化的机器人抗干扰定位方法及装置
CN113763466A (zh) * 2020-10-10 2021-12-07 北京京东乾石科技有限公司 一种回环检测方法、装置、电子设备和存储介质
CN113872693A (zh) * 2021-09-29 2021-12-31 佛山市南海区广工大数控装备协同创新研究院 基于关键帧选取的可见光定位与深度相机的紧耦合方法
CN113902862A (zh) * 2021-10-12 2022-01-07 华东理工大学 一种基于一致性集群的视觉slam回环验证***
CN114004808A (zh) * 2021-10-29 2022-02-01 上海应用技术大学 基于微分流形的回环检测方法
CN114111791A (zh) * 2021-11-22 2022-03-01 国网江苏省电力有限公司信息通信分公司 一种智能机器人室内自主导航方法、***及存储介质
CN114234959A (zh) * 2021-12-22 2022-03-25 深圳市普渡科技有限公司 机器人、vslam初始化方法、装置和可读存储介质
CN114255323A (zh) * 2021-12-22 2022-03-29 深圳市普渡科技有限公司 机器人、地图构建方法、装置和可读存储介质
CN114295138A (zh) * 2021-12-31 2022-04-08 深圳市普渡科技有限公司 机器人、地图扩建方法、装置和可读存储介质
CN114359476A (zh) * 2021-12-10 2022-04-15 浙江建德通用航空研究院 一种用于城市峡谷环境导航的动态3d城市模型构建方法
CN114419259A (zh) * 2022-03-30 2022-04-29 中国科学院国家空间科学中心 一种基于物理模型成像仿真的视觉定位方法及***
CN114459467A (zh) * 2021-12-30 2022-05-10 北京理工大学 一种未知救援环境中基于vi-slam的目标定位方法
CN114494825A (zh) * 2021-12-31 2022-05-13 重庆特斯联智慧科技股份有限公司 一种机器人定位方法及装置
CN114643579A (zh) * 2022-03-29 2022-06-21 深圳优地科技有限公司 一种机器人定位方法、装置、机器人及存储介质
CN114913245A (zh) * 2022-06-08 2022-08-16 上海鱼微阿科技有限公司 一种基于无向有权图的多标定块多摄像头标定方法及***
CN115265560A (zh) * 2022-07-28 2022-11-01 重庆长安汽车股份有限公司 基于视觉slam的高精定位方法、***及存储介质
CN115526811A (zh) * 2022-11-28 2022-12-27 电子科技大学中山学院 一种适应于多变光照环境的自适应视觉slam方法
CN115936029A (zh) * 2022-12-13 2023-04-07 湖南大学无锡智能控制研究院 一种基于二维码的slam定位方法及装置
CN115965673A (zh) * 2022-11-23 2023-04-14 中国建筑一局(集团)有限公司 基于双目视觉的集中式多机器人定位方法
US11644338B2 (en) * 2018-10-19 2023-05-09 Beijing Geekplus Technology Co., Ltd. Ground texture image-based navigation method and device, and storage medium
WO2023103884A1 (zh) * 2021-12-10 2023-06-15 杭州海康威视数字技术股份有限公司 对象模型建立方法、装置、电子设备及存储介质
CN116681935A (zh) * 2023-05-31 2023-09-01 国家深海基地管理中心 一种深海热液喷口自主识别定位方法及***
CN116958267A (zh) * 2023-09-21 2023-10-27 腾讯科技(深圳)有限公司 位姿处理方法、装置、电子设备及存储介质
CN117830604A (zh) * 2024-03-06 2024-04-05 成都睿芯行科技有限公司 一种定位用二维码异常检测方法及介质
CN118010008A (zh) * 2024-04-08 2024-05-10 西北工业大学 基于双目slam和机间回环优化双无人机协同定位方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111256689B (zh) * 2020-01-15 2022-01-21 北京智华机器人科技有限公司 一种机器人定位方法、机器人和存储介质
CN112697158A (zh) * 2020-12-03 2021-04-23 南京工业大学 一种用于室内外场景的人为回环即时定位和建图方法及***
CN113516692A (zh) * 2021-05-18 2021-10-19 上海汽车集团股份有限公司 一种多传感器融合的slam方法和装置
CN114413882B (zh) * 2022-03-29 2022-08-05 之江实验室 一种基于多假设跟踪的全局初定位方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120155775A1 (en) * 2010-12-21 2012-06-21 Samsung Electronics Co., Ltd. Walking robot and simultaneous localization and mapping method thereof
CN104851094A (zh) * 2015-05-14 2015-08-19 西安电子科技大学 一种基于rgb-d的slam算法的改进方法
WO2015194864A1 (ko) * 2014-06-17 2015-12-23 (주)유진로봇 이동 로봇의 맵을 업데이트하기 위한 장치 및 그 방법
CN105825520A (zh) * 2015-01-08 2016-08-03 北京雷动云合智能技术有限公司 一种可创建大规模地图的单眼slam方法
CN105856230A (zh) * 2016-05-06 2016-08-17 简燕梅 一种可提高机器人位姿一致性的orb关键帧闭环检测slam方法
CN106446815A (zh) * 2016-09-14 2017-02-22 浙江大学 一种同时定位与地图构建方法
CN107680133A (zh) * 2017-09-15 2018-02-09 重庆邮电大学 一种基于改进闭环检测算法的移动机器人视觉slam方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193279A (zh) * 2017-05-09 2017-09-22 复旦大学 基于单目视觉和imu信息的机器人定位与地图构建***

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120155775A1 (en) * 2010-12-21 2012-06-21 Samsung Electronics Co., Ltd. Walking robot and simultaneous localization and mapping method thereof
WO2015194864A1 (ko) * 2014-06-17 2015-12-23 (주)유진로봇 이동 로봇의 맵을 업데이트하기 위한 장치 및 그 방법
CN105825520A (zh) * 2015-01-08 2016-08-03 北京雷动云合智能技术有限公司 一种可创建大规模地图的单眼slam方法
CN104851094A (zh) * 2015-05-14 2015-08-19 西安电子科技大学 一种基于rgb-d的slam算法的改进方法
CN105856230A (zh) * 2016-05-06 2016-08-17 简燕梅 一种可提高机器人位姿一致性的orb关键帧闭环检测slam方法
CN106446815A (zh) * 2016-09-14 2017-02-22 浙江大学 一种同时定位与地图构建方法
CN107680133A (zh) * 2017-09-15 2018-02-09 重庆邮电大学 一种基于改进闭环检测算法的移动机器人视觉slam方法

Cited By (160)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11644338B2 (en) * 2018-10-19 2023-05-09 Beijing Geekplus Technology Co., Ltd. Ground texture image-based navigation method and device, and storage medium
CN110648397A (zh) * 2019-09-18 2020-01-03 Oppo广东移动通信有限公司 场景地图生成方法、装置、存储介质及电子设备
CN110648397B (zh) * 2019-09-18 2023-05-16 Oppo广东移动通信有限公司 场景地图生成方法、装置、存储介质及电子设备
CN110542916A (zh) * 2019-09-18 2019-12-06 上海交通大学 卫星与视觉紧耦合定位方法、***及介质
CN112634395B (zh) * 2019-09-24 2023-08-25 杭州海康威视数字技术股份有限公司 一种基于slam的地图构建方法及装置
CN112634395A (zh) * 2019-09-24 2021-04-09 杭州海康威视数字技术股份有限公司 一种基于slam的地图构建方法及装置
CN110660134A (zh) * 2019-09-25 2020-01-07 Oppo广东移动通信有限公司 三维地图构建方法、三维地图构建装置及终端设备
CN110673607A (zh) * 2019-09-25 2020-01-10 优地网络有限公司 动态场景下的特征点提取方法、装置、及终端设备
CN110660134B (zh) * 2019-09-25 2023-05-30 Oppo广东移动通信有限公司 三维地图构建方法、三维地图构建装置及终端设备
CN110705574B (zh) * 2019-09-27 2023-06-02 Oppo广东移动通信有限公司 定位方法及装置、设备、存储介质
CN112577479B (zh) * 2019-09-27 2024-04-12 北京魔门塔科技有限公司 基于地图元素数据的多传感器融合车辆定位方法及装置
CN112577479A (zh) * 2019-09-27 2021-03-30 北京初速度科技有限公司 基于地图元素数据的多传感器融合车辆定位方法及装置
CN110705574A (zh) * 2019-09-27 2020-01-17 Oppo广东移动通信有限公司 定位方法及装置、设备、存储介质
CN112581514A (zh) * 2019-09-30 2021-03-30 浙江商汤科技开发有限公司 一种地图构建方法及装置、存储介质
CN110827353B (zh) * 2019-10-18 2023-03-28 天津大学 一种基于单目摄像头辅助的机器人定位方法
CN110827353A (zh) * 2019-10-18 2020-02-21 天津大学 一种基于单目摄像头辅助的机器人定位方法
CN112800806B (zh) * 2019-11-13 2023-10-13 深圳市优必选科技股份有限公司 物***姿检测追踪方法、装置、电子设备及存储介质
CN112800806A (zh) * 2019-11-13 2021-05-14 深圳市优必选科技股份有限公司 物***姿检测追踪方法、装置、电子设备及存储介质
CN110866497A (zh) * 2019-11-14 2020-03-06 合肥工业大学 基于点线特征融合的机器人定位与建图方法和装置
CN110866497B (zh) * 2019-11-14 2023-04-18 合肥工业大学 基于点线特征融合的机器人定位与建图方法和装置
CN110930444A (zh) * 2019-11-29 2020-03-27 上海有个机器人有限公司 一种基于双边优化的点云匹配方法、介质、终端和装置
CN110887493A (zh) * 2019-11-29 2020-03-17 上海有个机器人有限公司 基于局部地图匹配的轨迹推算方法、介质、终端和装置
CN110887493B (zh) * 2019-11-29 2023-05-05 上海有个机器人有限公司 基于局部地图匹配的轨迹推算方法、介质、终端和装置
CN110930444B (zh) * 2019-11-29 2023-12-12 上海有个机器人有限公司 一种基于双边优化的点云匹配方法、介质、终端和装置
CN111145238B (zh) * 2019-12-12 2023-09-22 中国科学院深圳先进技术研究院 单目内窥镜图像的三维重建方法、装置及终端设备
CN112967311B (zh) * 2019-12-12 2024-06-07 浙江商汤科技开发有限公司 三维线图构建方法及装置、电子设备和存储介质
CN111145238A (zh) * 2019-12-12 2020-05-12 中国科学院深圳先进技术研究院 单目内窥镜图像的三维重建方法、装置及终端设备
CN112967311A (zh) * 2019-12-12 2021-06-15 浙江商汤科技开发有限公司 三维线图构建方法及装置、电子设备和存储介质
CN111079826A (zh) * 2019-12-13 2020-04-28 武汉科技大学 融合slam和图像处理的施工进度实时识别方法
CN111079826B (zh) * 2019-12-13 2023-09-29 武汉科技大学 融合slam和图像处理的施工进度实时识别方法
CN111339226A (zh) * 2019-12-23 2020-06-26 深圳市香蕉智能科技有限公司 一种基于分类检测网络构建地图方法及装置
CN111339226B (zh) * 2019-12-23 2023-11-24 深圳市香蕉智能科技有限公司 一种基于分类检测网络构建地图方法及装置
CN113094545B (zh) * 2020-01-09 2023-05-16 舜宇光学(浙江)研究院有限公司 冗余关键帧剔除方法和slam方法及其***和电子设备
CN113094545A (zh) * 2020-01-09 2021-07-09 舜宇光学(浙江)研究院有限公司 冗余关键帧剔除方法和slam方法及其***和电子设备
CN111260661A (zh) * 2020-01-15 2020-06-09 江苏大学 一种基于神经网络技术的视觉语义slam***及方法
CN113129369A (zh) * 2020-01-16 2021-07-16 北京京东乾石科技有限公司 一种点云地图初始化方法和装置
CN111275763B (zh) * 2020-01-20 2023-10-13 深圳市普渡科技有限公司 闭环检测***、多传感器融合slam***及机器人
CN111275763A (zh) * 2020-01-20 2020-06-12 深圳市普渡科技有限公司 闭环检测***、多传感器融合slam***及机器人
CN113409368B (zh) * 2020-03-16 2023-11-03 北京京东乾石科技有限公司 建图方法及装置、计算机可读存储介质、电子设备
CN113409368A (zh) * 2020-03-16 2021-09-17 北京京东乾石科技有限公司 建图方法及装置、计算机可读存储介质、电子设备
CN111429524A (zh) * 2020-03-19 2020-07-17 上海交通大学 一种相机与惯性测量单元在线初始化与标定方法及***
CN111429524B (zh) * 2020-03-19 2023-04-18 上海交通大学 一种相机与惯性测量单元在线初始化与标定方法及***
CN111290403A (zh) * 2020-03-23 2020-06-16 内蒙古工业大学 搬运自动导引运输车的运输方法和搬运自动导引运输车
CN111462135B (zh) * 2020-03-31 2023-04-21 华东理工大学 基于视觉slam与二维语义分割的语义建图方法
CN111462135A (zh) * 2020-03-31 2020-07-28 华东理工大学 基于视觉slam与二维语义分割的语义建图方法
CN111415417B (zh) * 2020-04-14 2023-09-05 大连理工江苏研究院有限公司 一种集成稀疏点云的移动机器人拓扑经验地图构建方法
CN111415417A (zh) * 2020-04-14 2020-07-14 大连理工江苏研究院有限公司 一种集成稀疏点云的移动机器人拓扑经验地图构建方法
CN111539982A (zh) * 2020-04-17 2020-08-14 北京维盛泰科科技有限公司 一种移动平台中基于非线性优化的视觉惯导初始化方法
CN111539982B (zh) * 2020-04-17 2023-09-15 北京维盛泰科科技有限公司 一种移动平台中基于非线性优化的视觉惯导初始化方法
CN111539305B (zh) * 2020-04-20 2024-03-12 肇庆小鹏汽车有限公司 一种地图构建方法及***、车辆及存储介质
CN111539305A (zh) * 2020-04-20 2020-08-14 肇庆小鹏汽车有限公司 一种地图构建方法及***、车辆及存储介质
CN111338383B (zh) * 2020-04-24 2023-10-13 北京泛化智能科技有限公司 基于gaas的自主飞行方法及***、存储介质
CN111338383A (zh) * 2020-04-24 2020-06-26 北京泛化智能科技有限公司 基于gaas的自主飞行方法及***、存储介质
CN111540016B (zh) * 2020-04-27 2023-11-10 深圳南方德尔汽车电子有限公司 基于图像特征匹配的位姿计算方法、装置、计算机设备及存储介质
CN111409085A (zh) * 2020-04-27 2020-07-14 浙江库科自动化科技有限公司 具有关闭折角塞门功能的巡检智能机器人及其巡检方法
CN111540016A (zh) * 2020-04-27 2020-08-14 深圳南方德尔汽车电子有限公司 基于图像特征匹配的位姿计算方法、装置、计算机设备及存储介质
CN111390975A (zh) * 2020-04-27 2020-07-10 浙江库科自动化科技有限公司 具有摘风管功能的巡检智能机器人及其巡检方法
CN111563442B (zh) * 2020-04-29 2023-05-02 上海交通大学 基于激光雷达的点云和相机图像数据融合的slam方法及***
CN111563442A (zh) * 2020-04-29 2020-08-21 上海交通大学 基于激光雷达的点云和相机图像数据融合的slam方法及***
CN111754602B (zh) * 2020-05-15 2024-04-16 北京京东乾石科技有限公司 一种地图构建方法、装置、电子设备和存储介质
CN111754602A (zh) * 2020-05-15 2020-10-09 北京京东乾石科技有限公司 一种地图构建方法、装置、电子设备和存储介质
CN111784841B (zh) * 2020-06-05 2024-06-11 中国人民解放军军事科学院国防科技创新研究院 重建三维图像的方法、装置、电子设备及介质
CN111784841A (zh) * 2020-06-05 2020-10-16 中国人民解放军军事科学院国防科技创新研究院 重建三维图像的方法、装置、电子设备及介质
CN111780764A (zh) * 2020-06-30 2020-10-16 杭州海康机器人技术有限公司 一种基于视觉地图的视觉定位方法、装置
CN111862200A (zh) * 2020-06-30 2020-10-30 同济大学 一种煤棚内无人机定位方法
CN111709997A (zh) * 2020-06-30 2020-09-25 华东理工大学 一种基于点与平面特征的slam实现方法及***
CN111862200B (zh) * 2020-06-30 2023-04-28 同济大学 一种煤棚内无人机定位方法
CN111709997B (zh) * 2020-06-30 2023-03-24 华东理工大学 一种基于点与平面特征的slam实现方法及***
CN111707281A (zh) * 2020-06-30 2020-09-25 华东理工大学 一种基于光度信息和orb特征的slam***
CN111707281B (zh) * 2020-06-30 2023-05-30 华东理工大学 一种基于光度信息和orb特征的slam***
CN111998862B (zh) * 2020-07-02 2023-05-16 中山大学 一种基于bnn的稠密双目slam方法
CN111998862A (zh) * 2020-07-02 2020-11-27 中山大学 一种基于bnn的稠密双目slam方法
CN111913499A (zh) * 2020-07-17 2020-11-10 天津大学 基于单目视觉slam及深度不确定性分析的云台控制方法
CN111913499B (zh) * 2020-07-17 2023-11-14 天津大学 基于单目视觉slam及深度不确定性分析的云台控制方法
CN112085788A (zh) * 2020-08-03 2020-12-15 深圳市优必选科技股份有限公司 回环检测方法、装置、计算机可读存储介质及移动装置
CN112085788B (zh) * 2020-08-03 2024-04-19 优必康(青岛)科技有限公司 回环检测方法、装置、计算机可读存储介质及移动装置
CN112052300A (zh) * 2020-08-05 2020-12-08 浙江大华技术股份有限公司 一种slam后端处理方法、装置和计算机可读存储介质
CN111986313A (zh) * 2020-08-21 2020-11-24 浙江商汤科技开发有限公司 回环检测方法及装置、电子设备和存储介质
CN112132893A (zh) * 2020-08-31 2020-12-25 同济人工智能研究院(苏州)有限公司 一种适用于室内动态环境的视觉slam方法
CN112132893B (zh) * 2020-08-31 2024-01-09 同济人工智能研究院(苏州)有限公司 一种适用于室内动态环境的视觉slam方法
CN111915680A (zh) * 2020-09-01 2020-11-10 山东新一代信息产业技术研究院有限公司 机器人定位方法、***、电子装置及计算机可读介质
CN113763466A (zh) * 2020-10-10 2021-12-07 北京京东乾石科技有限公司 一种回环检测方法、装置、电子设备和存储介质
CN112233180A (zh) * 2020-10-23 2021-01-15 上海影谱科技有限公司 基于地图的slam快速初始化方法、装置和电子设备
CN112233180B (zh) * 2020-10-23 2024-03-15 上海影谱科技有限公司 基于地图的slam快速初始化方法、装置和电子设备
CN112446951A (zh) * 2020-11-06 2021-03-05 杭州易现先进科技有限公司 三维重建方法、装置、电子设备及计算机存储介质
CN112446951B (zh) * 2020-11-06 2024-03-26 杭州易现先进科技有限公司 三维重建方法、装置、电子设备及计算机存储介质
CN112364677A (zh) * 2020-11-23 2021-02-12 盛视科技股份有限公司 基于二维码的机器人视觉定位方法
CN112508065A (zh) * 2020-11-24 2021-03-16 深圳市优必选科技股份有限公司 机器人及其定位方法和装置
CN112508065B (zh) * 2020-11-24 2024-05-24 深圳市优必选科技股份有限公司 机器人及其定位方法和装置
CN112700495A (zh) * 2020-11-25 2021-04-23 北京旷视机器人技术有限公司 位姿确定方法、装置、机器人、电子设备及存储介质
CN112541970A (zh) * 2020-11-30 2021-03-23 北京华捷艾米科技有限公司 一种集中式协同SlAM中的重定位方法及装置
CN112560648B (zh) * 2020-12-09 2023-04-07 长安大学 一种基于rgb-d图像的slam方法
CN112560648A (zh) * 2020-12-09 2021-03-26 长安大学 一种基于rgb-d图像的slam方法
CN112630745A (zh) * 2020-12-24 2021-04-09 深圳市大道智创科技有限公司 一种基于激光雷达的环境建图方法和装置
CN112862803B (zh) * 2021-02-26 2023-09-26 中国人民解放军93114部队 基于边缘和特征点融合的红外成像slam方法和装置
CN112862803A (zh) * 2021-02-26 2021-05-28 中国人民解放军93114部队 基于边缘和特征点融合的红外成像slam方法和装置
CN112990003A (zh) * 2021-03-11 2021-06-18 深圳市无限动力发展有限公司 图像序列重定位判断方法、装置和计算机设备
CN112990003B (zh) * 2021-03-11 2023-05-19 深圳市无限动力发展有限公司 图像序列重定位判断方法、装置和计算机设备
CN112991447B (zh) * 2021-03-16 2024-04-05 华东理工大学 一种动态环境下视觉定位与静态地图构建方法及***
CN112991447A (zh) * 2021-03-16 2021-06-18 华东理工大学 一种动态环境下视觉定位与静态地图构建方法及***
CN113103232A (zh) * 2021-04-12 2021-07-13 电子科技大学 一种基于特征分布匹配的智能设备自适应运动控制方法
CN113103232B (zh) * 2021-04-12 2022-05-20 电子科技大学 一种基于特征分布匹配的智能设备自适应运动控制方法
CN113284224A (zh) * 2021-04-20 2021-08-20 北京行动智能科技有限公司 基于单纯码的自动建图方法和装置、定位方法及设备
CN113345017A (zh) * 2021-05-11 2021-09-03 香港理工大学深圳研究院 一种使用标志辅助视觉slam的方法
CN113345017B (zh) * 2021-05-11 2022-09-20 香港理工大学深圳研究院 一种使用标志辅助视觉slam的方法
CN113377987A (zh) * 2021-05-11 2021-09-10 重庆邮电大学 基于ResNeSt-APW的多模块闭环检测方法
CN113420590B (zh) * 2021-05-13 2022-12-06 北京航空航天大学 弱纹理环境下的机器人定位方法、装置、设备及介质
CN113420590A (zh) * 2021-05-13 2021-09-21 北京航空航天大学 弱纹理环境下的机器人定位方法、装置、设备及介质
CN113298692B (zh) * 2021-05-21 2024-04-16 北京索为云网科技有限公司 基于移动端浏览器实现实时设备位姿解算的增强现实方法
CN113298692A (zh) * 2021-05-21 2021-08-24 北京索为云网科技有限公司 终端的位姿跟踪方法、ar渲染方法、设备及存储介质
CN113298693A (zh) * 2021-05-21 2021-08-24 北京索为云网科技有限公司 终端的位姿跟踪方法、ar渲染方法及设备、存储介质
CN113256736B (zh) * 2021-06-08 2023-04-14 北京理工大学 一种基于可观测性优化的多相机视觉slam方法
CN113256736A (zh) * 2021-06-08 2021-08-13 北京理工大学 一种基于可观测性优化的多相机视觉slam方法
CN113432593A (zh) * 2021-06-25 2021-09-24 北京华捷艾米科技有限公司 集中式同步定位与地图构建方法、装置和***
CN113379911A (zh) * 2021-06-30 2021-09-10 深圳市银星智能科技股份有限公司 Slam方法、slam***及智能机器人
CN113516682A (zh) * 2021-07-08 2021-10-19 福州大学 一种激光slam的回环检测方法
CN113516682B (zh) * 2021-07-08 2023-08-11 福州大学 一种激光slam的回环检测方法
CN113591865A (zh) * 2021-07-28 2021-11-02 深圳甲壳虫智能有限公司 一种回环检测方法、装置以及电子设备
CN113591865B (zh) * 2021-07-28 2024-03-26 深圳甲壳虫智能有限公司 一种回环检测方法、装置以及电子设备
CN113624223B (zh) * 2021-07-30 2024-05-24 中汽创智科技有限公司 一种室内停车场地图构建方法及装置
CN113624223A (zh) * 2021-07-30 2021-11-09 中汽创智科技有限公司 一种室内停车场地图构建方法及装置
CN113701760B (zh) * 2021-09-01 2024-02-27 火种源码(中山)科技有限公司 基于滑动窗口位姿图优化的机器人抗干扰定位方法及装置
CN113701760A (zh) * 2021-09-01 2021-11-26 火种源码(中山)科技有限公司 基于滑动窗口位姿图优化的机器人抗干扰定位方法及装置
CN113872693B (zh) * 2021-09-29 2022-08-23 佛山市南海区广工大数控装备协同创新研究院 基于关键帧选取的可见光定位与深度相机的紧耦合方法
CN113872693A (zh) * 2021-09-29 2021-12-31 佛山市南海区广工大数控装备协同创新研究院 基于关键帧选取的可见光定位与深度相机的紧耦合方法
CN113902862B (zh) * 2021-10-12 2024-04-16 华东理工大学 一种基于一致性集群的视觉slam回环验证***
CN113902862A (zh) * 2021-10-12 2022-01-07 华东理工大学 一种基于一致性集群的视觉slam回环验证***
CN114004808A (zh) * 2021-10-29 2022-02-01 上海应用技术大学 基于微分流形的回环检测方法
CN114004808B (zh) * 2021-10-29 2024-04-16 上海应用技术大学 基于微分流形的回环检测方法
CN114111791A (zh) * 2021-11-22 2022-03-01 国网江苏省电力有限公司信息通信分公司 一种智能机器人室内自主导航方法、***及存储介质
CN114111791B (zh) * 2021-11-22 2024-05-17 国网江苏省电力有限公司信息通信分公司 一种智能机器人室内自主导航方法、***及存储介质
WO2023103884A1 (zh) * 2021-12-10 2023-06-15 杭州海康威视数字技术股份有限公司 对象模型建立方法、装置、电子设备及存储介质
CN114359476A (zh) * 2021-12-10 2022-04-15 浙江建德通用航空研究院 一种用于城市峡谷环境导航的动态3d城市模型构建方法
CN114234959B (zh) * 2021-12-22 2024-02-20 深圳市普渡科技有限公司 机器人、vslam初始化方法、装置和可读存储介质
CN114255323A (zh) * 2021-12-22 2022-03-29 深圳市普渡科技有限公司 机器人、地图构建方法、装置和可读存储介质
CN114234959A (zh) * 2021-12-22 2022-03-25 深圳市普渡科技有限公司 机器人、vslam初始化方法、装置和可读存储介质
CN114459467B (zh) * 2021-12-30 2024-05-03 北京理工大学 一种未知救援环境中基于vi-slam的目标定位方法
CN114459467A (zh) * 2021-12-30 2022-05-10 北京理工大学 一种未知救援环境中基于vi-slam的目标定位方法
CN114295138A (zh) * 2021-12-31 2022-04-08 深圳市普渡科技有限公司 机器人、地图扩建方法、装置和可读存储介质
CN114295138B (zh) * 2021-12-31 2024-01-12 深圳市普渡科技有限公司 机器人、地图扩建方法、装置和可读存储介质
CN114494825B (zh) * 2021-12-31 2024-04-19 重庆特斯联智慧科技股份有限公司 一种机器人定位方法及装置
CN114494825A (zh) * 2021-12-31 2022-05-13 重庆特斯联智慧科技股份有限公司 一种机器人定位方法及装置
CN114643579A (zh) * 2022-03-29 2022-06-21 深圳优地科技有限公司 一种机器人定位方法、装置、机器人及存储介质
CN114643579B (zh) * 2022-03-29 2024-01-16 深圳优地科技有限公司 一种机器人定位方法、装置、机器人及存储介质
CN114419259A (zh) * 2022-03-30 2022-04-29 中国科学院国家空间科学中心 一种基于物理模型成像仿真的视觉定位方法及***
CN114913245A (zh) * 2022-06-08 2022-08-16 上海鱼微阿科技有限公司 一种基于无向有权图的多标定块多摄像头标定方法及***
CN115265560A (zh) * 2022-07-28 2022-11-01 重庆长安汽车股份有限公司 基于视觉slam的高精定位方法、***及存储介质
CN115965673A (zh) * 2022-11-23 2023-04-14 中国建筑一局(集团)有限公司 基于双目视觉的集中式多机器人定位方法
CN115965673B (zh) * 2022-11-23 2023-09-12 中国建筑一局(集团)有限公司 基于双目视觉的集中式多机器人定位方法
CN115526811A (zh) * 2022-11-28 2022-12-27 电子科技大学中山学院 一种适应于多变光照环境的自适应视觉slam方法
CN115936029B (zh) * 2022-12-13 2024-02-09 湖南大学无锡智能控制研究院 一种基于二维码的slam定位方法及装置
CN115936029A (zh) * 2022-12-13 2023-04-07 湖南大学无锡智能控制研究院 一种基于二维码的slam定位方法及装置
CN116681935B (zh) * 2023-05-31 2024-01-23 国家深海基地管理中心 一种深海热液喷口自主识别定位方法及***
CN116681935A (zh) * 2023-05-31 2023-09-01 国家深海基地管理中心 一种深海热液喷口自主识别定位方法及***
CN116958267B (zh) * 2023-09-21 2024-01-12 腾讯科技(深圳)有限公司 位姿处理方法、装置、电子设备及存储介质
CN116958267A (zh) * 2023-09-21 2023-10-27 腾讯科技(深圳)有限公司 位姿处理方法、装置、电子设备及存储介质
CN117830604B (zh) * 2024-03-06 2024-05-10 成都睿芯行科技有限公司 一种定位用二维码异常检测方法及介质
CN117830604A (zh) * 2024-03-06 2024-04-05 成都睿芯行科技有限公司 一种定位用二维码异常检测方法及介质
CN118010008A (zh) * 2024-04-08 2024-05-10 西北工业大学 基于双目slam和机间回环优化双无人机协同定位方法
CN118010008B (zh) * 2024-04-08 2024-06-07 西北工业大学 基于双目slam和机间回环优化双无人机协同定位方法

Also Published As

Publication number Publication date
CN110462683B (zh) 2022-04-12
CN110462683A (zh) 2019-11-15

Similar Documents

Publication Publication Date Title
WO2019169540A1 (zh) 紧耦合视觉slam的方法、终端及计算机可读存储介质
WO2021035669A1 (zh) 位姿预测方法、地图构建方法、可移动平台及存储介质
EP2715667B1 (en) Planar mapping and tracking for mobile devices
US9311756B2 (en) Image group processing and visualization
CN110986969B (zh) 地图融合方法及装置、设备、存储介质
JP5802247B2 (ja) 情報処理装置
US11514607B2 (en) 3-dimensional reconstruction method, 3-dimensional reconstruction device, and storage medium
CN110648363A (zh) 相机姿态确定方法、装置、存储介质及电子设备
CN111445526A (zh) 一种图像帧之间位姿的估计方法、估计装置和存储介质
CN110288710B (zh) 一种三维地图的处理方法、处理装置及终端设备
TWI768776B (zh) 室內定位系統及室內定位方法
CN115661371B (zh) 三维对象建模方法、装置、计算机设备及存储介质
CN111459269A (zh) 一种增强现实显示方法、***及计算机可读存储介质
CN112733641A (zh) 物体尺寸测量方法、装置、设备及存储介质
CN110855601B (zh) Ar/vr场景地图获取方法
CN113284237A (zh) 一种三维重建方法、***、电子设备及存储介质
CN114742967B (zh) 一种基于建筑数字孪生语义图的视觉定位方法及装置
CN105677843A (zh) 一种自动获取宗地四至属性的方法
WO2022174603A1 (zh) 一种位姿预测方法、位姿预测装置及机器人
CN115272470A (zh) 相机定位方法、装置、计算机设备和存储介质
Lim et al. Online 3D reconstruction and 6-DoF pose estimation for RGB-D sensors
WO2021169705A1 (zh) 手势深度信息的处理方法、装置、设备及存储介质
CN114322994A (zh) 一种基于离线全局优化的多点云地图融合方法和装置
Son et al. Learning-based essential matrix estimation for visual localization
Djordjevic et al. An accurate method for 3D object reconstruction from unordered sparse views

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18908528

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18908528

Country of ref document: EP

Kind code of ref document: A1