WO2018049581A1 - 一种同时定位与地图构建方法 - Google Patents

一种同时定位与地图构建方法 Download PDF

Info

Publication number
WO2018049581A1
WO2018049581A1 PCT/CN2016/098990 CN2016098990W WO2018049581A1 WO 2018049581 A1 WO2018049581 A1 WO 2018049581A1 CN 2016098990 W CN2016098990 W CN 2016098990W WO 2018049581 A1 WO2018049581 A1 WO 2018049581A1
Authority
WO
WIPO (PCT)
Prior art keywords
dimensional
frame
point
plane
points
Prior art date
Application number
PCT/CN2016/098990
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 PCT/CN2016/098990 priority Critical patent/WO2018049581A1/zh
Priority to US16/333,240 priority patent/US11199414B2/en
Publication of WO2018049581A1 publication Critical patent/WO2018049581A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • G01C21/1656Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with passive imaging devices, e.g. cameras
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/183Compensation of inertial measurements, e.g. for temperature effects
    • G01C21/188Compensation of inertial measurements, e.g. for temperature effects for accumulated errors, e.g. by coupling inertial systems with absolute positioning systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Definitions

  • the invention relates to a monocular camera tracking method applicable to augmented reality, in particular to a robust frame tracking method based on key frames.
  • augmented reality requires accurate estimation of camera orientation and reconstruction of the scene in real time, which is also a problem to be solved by simultaneous positioning and map construction (SLAM) technology.
  • SLAM simultaneous positioning and map construction
  • the traditional SLAM method is not effective in practical applications. For example, when a new user uses a mobile device to shoot a scene and watch an augmented reality effect, the mobile device is often moved and rotated at will. Therefore, strong rotation and fast motion are very common, but the most advanced SLAM system is also difficult to handle such complex situations.
  • a good augmented reality experience requires the SLAM system to handle a wide variety of complex camera movements while also making it easy for novices to get started. Also, keep the camera lost as little as possible when experiencing rapid motion and severe motion blur. Even in the case of tracking failures, you should be able to quickly reposition the camera to avoid long waits.
  • MonoSLAM (AJDavison, IDReid, NDMolton, and O.Stasse. MonoSLAM: Real-time single camera SLAM. IEEE Transactions on Pattern Analysis and Machine Intelligence, 29(6): 1052–1067, 2007) is a typical filter-based Methods. The parameters of the camera motion and the three-dimensional point position of the scene are represented as a high-dimensional probability state. An extended Kalman filter (EKF) is used to predict and update the state distribution of each frame.
  • EKF extended Kalman filter
  • the biggest disadvantage of the MonoSLAM method is that the time complexity is O(N3), where N is the number of landmarks, so it is only suitable for small places of hundreds of points.
  • PTAM G.Klein and DW Murray. Parallel tracking and mapping for small AR workspaces. In 6th IEEE/ACM International Symposium on Mixed and Augmented Reality, pages 225–234, 2007) adopts a novel key based Parallel tracking of frames and map construction framework. In order to achieve real-time performance, the tracking is independent from the map construction; in order to ensure higher precision, the background thread performs bundle adjustment (BA) on all key frames and scene 3D points.
  • BA bundle adjustment
  • the method based on key frame bundling adjustment is superior to The method of the filter, especially if the number of landmarks N is large.
  • RDSLAM Wired, H. Liu, Z. Dong, G. Zhang, and H. Bao. Robust monocular SLAM in dynamic environments.
  • ORB-SLAM R. Mur-Artal, J. Montiel, and JDTardos. ORB-SLAM: a versatile and accurate monocular SLAM system. IEEE Transactions on Robotics , 31(5): 1147–1163, 2015).
  • RDSLAM proposes a modified RANSAC method to detect real-time positioning in dynamic scenes by detecting the appearance and structural changes of the scene.
  • ORB-SLAM uses ORB features for camera positioning, map construction, relocation, and loop detection. At the same time, the loop is closed by optimizing the orientation map.
  • LSD-SLAM J. Engel, T. Sch ⁇ ops, and D. Cremers.
  • LSD-SLAM Large-scale direct monocular SLAM. In 13th European Conference on Computer Vision, Part II, pages 834–849. Springer, 2014) Real-time recovery of semi-dense depth maps to replace sparse feature points. Based on the semi-dense depth map, LSD-SLAM uses direct tracking to locate the camera's position in real time, which is more robust in the absence of features.
  • SVO C. Forster, M. Pizzoli, and D. Scaramuzza.
  • SVO Fast semi-direct monocular visual odometry. In IEEE International Conference on Robotics and Automation, pages 15-22. IEEE, 2014) also uses direct tracking, but With sparse feature points, high operating efficiency can be achieved.
  • a major drawback of the traditional keyframe-based approach is the lack of robustness for strong rotation and fast motion.
  • feature matching between key frames with large baselines is very time consuming, making the map expansion delay more than a few frames, so it can only be operated in the background, which also leads to easy tracking loss under fast motion.
  • ORB-SLAM relaxes the parallax requirement when inserting key frames.
  • redundant keyframes and unstable 3D points need to be eliminated later.
  • Both LSD-SLAM and SVO propose to use filtering techniques to obtain robust depth estimation. Filter-based methods are somewhat robust to slow rotations because the parallax is gradually getting smaller from small to large. For purely rotational motion, any depth value can be obtained with similar tracking results. As the parallax increases slowly, the depth can be updated step by step and eventually converges to a good estimate. But if the camera moves quickly, the processing difficulty will increase. First of all, these methods are not able to solve the delay problem of map expansion very well.
  • VI-SLAM visual-inertial fusion SLAM
  • MSCKF AIMourikis and SIRoumeliotis.
  • IEEE International Conference on Robotics and Automation, pages 3565-3572. IEEE, 2007 Transforming the binary relationship constraint between the 3D point and the camera into a multivariate constraint between multiple cameras.
  • the state vector contains only camera motion and does not contain 3D point positions, thus achieving a linear computational complexity for the number of feature points.
  • Li and Mourikis M.
  • Robotics and Autonomous Systems 61(8): 721–738, 2013) and (C. Forster, L. Carlone, F. Dellaert, and D. Scaramuzza. IMU preintegration on manifold for Efficient visual-inertial maximum-a-posteriori estimation. In Robotics: Science and Systems, 2015). Most of these methods are aimed at robot navigation and have high quality requirements for IMU.
  • the object of the present invention is to provide a method for simultaneous positioning and map construction, which reliably processes strong rotation and fast motion, thereby ensuring a good augmented reality experience.
  • a simultaneous positioning and map construction method including a foreground thread and a background thread, includes the following steps:
  • the foreground thread processes the video stream in real time, and extracts feature points (such as FAST corner points) for any current frame I i ;
  • step 4.1 when it is determined that a new key frame is to be selected, the newly selected key frame wakes up the background thread global optimization, adds new key frames and newly triangulated three-dimensional points for extending the global map, and adopts local
  • the cluster adjustment is optimized, after which the existing 3D plane is expanded, the new 3D point is assigned to the existing plane, or a new 3D plane is extracted from the newly added 3D point, and then, by matching the new key frame with There are keyframes to detect the loop, and finally, the global map is globally bundled.
  • the step 2) is specifically:
  • the global homography transformation from the previous frame to the current frame is first estimated by directly aligning the previous frame image I i-1 with the current frame image I i : among them with They are small blurred images of I i-1 and I i respectively, ⁇ is a small image domain, and superscript h indicates that the vector is a homogeneous coordinate.
  • the tilde in the middle indicates that the homography matrix H is transformed from the source image space to the small image space, and
  • the step 3) is specifically:
  • a local homography matrix set is estimated according to the matching correspondence relationship.
  • the range is r ⁇ r square area centered on the search position, for the points with sufficient and insufficient constraints, r take 10 and 30 respectively;
  • the method for performing local map expansion and optimization in step 4.1) is specifically:
  • the fixed three-dimensional point position is optimized by optimizing the orientation of all cameras in the partial window:
  • the true linear acceleration is The true rotation speed is Is the Gaussian noise of the inertial measurement data, I is a 3 ⁇ 3 unit matrix, and b a and b ⁇ are the linear acceleration and the rotational speed offset with time, respectively, and the state of the camera motion is expanded to Where v is the linear velocity in the global coordinate system, and the continuous time equation of motion for all states is: among them [ ⁇ ] ⁇ indicates a skew symmetric matrix, with Representing a random walk through, the discrete time equation of motion of the rotating component is: among them Is the time interval between two adjacent key frames i and i+1, Is a quaternion multiplication operator, ⁇ ⁇ is a small value that prevents zero division, will The true value of the formula (19) to approximate, where Is a 3 ⁇ 1 error vector, get Where G ⁇ is the Jacobian matrix associated with the noise n ⁇ , which in turn Define the cost function
  • R ⁇ ( ⁇ , t ⁇ ) is the rotation matrix of equation (18)
  • M i,i+1 is the feature matching set between images i and i+1. If there is real IMU measurement data, frame i and The IMU measurement data set between i+1 is recorded as among them
  • t ij are the jth linear acceleration, rotation speed and time stamp, respectively, using pre-integration techniques to pre-integrate these IMU measurements and replace the components in (18) and (24) with the following formula:
  • the step of global optimization of the background thread is:
  • the simultaneous positioning and map construction method may further comprise an initialization step of placing the virtual object on a specific plane of the real scene in a true size:
  • Equation to restore the camera orientation (R, t) of the initial frame Wherein, [Delta] x
  • the method of the invention provides a new simultaneous positioning and map construction framework, which advances the expansion and optimization of the partial map to the foreground thread, and improves the robustness against strong rotation and fast motion.
  • the method of the present invention provides a method for feature tracking based on a plurality of homography matrices, which can be used for tracking three-dimensional feature points with sufficient constraints and accurate restoration of three-dimensional positions, and can also be used for insufficient constraint, three-dimensional position is not Feature tracking of reliable points.
  • This method not only can handle strong rotation and fast motion, but also achieve real-time computational efficiency, and can also run in real time on mobile devices.
  • the method of the present invention provides a new sliding map based local map optimization method, which can effectively optimize the camera orientation by reasonably simulating the IMU measurement value, and significantly improve the robustness in the case of rapid camera motion and severe blurring. Sex.
  • This optimized framework can also be extended to combine actual IMU data to further improve robustness and accuracy.
  • the method of the present invention provides a method of obtaining a true scale of a particular plane and scene, thereby making the virtual object true
  • the size is placed on a specific plane. This method only requires the user to align the size of a known marker to initiate tracking, without the need to capture the marker texture in advance, so it is more convenient to use.
  • Figure 1 is a system framework diagram of the method RKSLAM herein. It should be noted that unlike most keyframe-based systems that place all map construction work in the background, this method puts local map expansion and optimization in the foreground in order to handle strong rotation and fast motion.
  • Figure 2 is a comparison of global homography matrix estimates.
  • FIG. 3 is an effect diagram of a partial homography matrix for feature matching. Top: 37 pairs of matches obtained by a global homography matrix and a specific planar homography matrix. Bottom: 153 pairs of matches obtained by local homography matrix estimation.
  • Figure 4 is a three-dimensional plane extracted by fitting the found three-dimensional points.
  • Figure 5 compares the effect of the SLAM method in an indoor scene by inserting a virtual cube.
  • RKSLAM results without a priori motion constraints.
  • the invention discloses a simultaneous positioning and map construction method, which can reliably handle strong rotation and fast motion, thereby ensuring a good experience of augmented reality.
  • a new feature tracking method based on multi-single matrix is proposed, which is efficient and robust under strong rotation and fast motion.
  • a real-time local map expansion strategy is proposed, which can triangulate the scene three-dimensional points in real time.
  • a camera orientation optimization framework based on sliding window is also proposed to add a priori motion constraints between successive frames using simulated or actual IMU data.
  • each three-dimensional point i includes a three-dimensional position X i and a partial image block ⁇ i .
  • Each frame i holds its image I i , camera orientation C i , two-dimensional feature point location set ⁇ xi j ⁇ , and its corresponding three-dimensional point index set V i .
  • the selected set of key frames is represented as ⁇ F k
  • k 1...N F ⁇ .
  • the camera orientation is parameterized as a quaternion q i and camera position p i .
  • the system maintains three types of homography matrices, which are used to describe the transformation of key frames to the current frame. These three types of homography matrices are: global homography matrix, local homography matrix and homography matrix of a specific plane. The global homography matrix is used for its entire image.
  • the global homography matrix of the key frame F k to the current frame I i is expressed as
  • the global single-receptor matrix set for all keyframes is represented as
  • a local homography matrix is used to align two partial image blocks.
  • multiple local homography matrices can be obtained, expressed as
  • a single plane matrix of a particular plane is also used to align the image area of a particular three-dimensional plane.
  • the corresponding homography matrix from F k to I i can be written as For each key frame F k , find a set of a specific plane homography matrix, expressed as
  • the camera parameters are estimated using the method proposed by the present invention, and the camera has strong rotation and fast motion when shooting.
  • the foreground thread processes the video stream in real time.
  • the FAST corner point is first extracted (E.Rosten and T. Drummond. Machine learning for high speed corner detection. In 9th European Conference on Computer Vision, Part I, pages 430-443. Springer, 2006), Tracking the global homography matrix set to I i
  • the global homography matrix can roughly align the entire image, and the global homography matrix is estimated by directly aligning the key frame Fk with the current frame Ii : among them with They are small blurred images (SBI) of F k and I i respectively (G.Klein and DW Murray.Improving the agility of keyframe-based SLAM. In 10th European Conference on Computer Vision, Part II, pages 802-815. Springer, 2008) .
  • is the SBI domain
  • the superscript h indicates that the vector is a homogeneous coordinate.
  • the tilde in the middle indicates that the homography matrix H is converted from the source image space to the SBI space.
  • represents the Huber function, and the calculation method is as follows:
  • Equation (5) can interpolate multiple plane motions with a larger baseline relative to equation (3).
  • the Gauss-Newton method is used to solve equations (3) and (5).
  • Figure 2 is a comparison diagram in which (a) is the current image and (b) is the selected key frame.
  • the plane homography matrix obtained by the formula (2) is used. To do image block alignment and to estimate camera orientation.
  • X will be three-dimensional point triangulation.
  • Optimizing 3D points with a fixed camera orientation is relatively simple.
  • Each three-dimensional point X i can be optimized separately, It is a frame number index set of frames in which a three-dimensional point X i is observed in a key frame and a sliding window.
  • Formula (11) Optimize the orientation of each camera i, respectively, where V i is the set of point indices of the three-dimensional points visible in frame i.
  • V i is the set of point indices of the three-dimensional points visible in frame i.
  • any feature tracking method will fail for severe blur caused by fast camera motion.
  • These blurred frames lack the constraints of reliable camera orientation estimation. Since fast camera motion typically only occurs occasionally and does not last long, adjacent frames can be used to constrain blurred frames.
  • VI-SLAM such as (AIMourikis and SIRoumeliotis. A multi-state constraint kalman filter for vision-aided inertial navigation. In IEEE International Conference on Robotics and Automation, pages 3565-3572.
  • v is the linear velocity in the global coordinate system
  • b a and b ⁇ are the offsets of linear acceleration and rotational velocity with time, respectively.
  • the true linear acceleration is Rotation speed is among them
  • It is the Gaussian noise of the inertial measurement data
  • I is a 3 ⁇ 3 unit matrix.
  • the time evolution of the state (ABChatfield. Fundamentals of high accuracy inertial navigation. AIAA, 1997) describes the temporal evolution of states: among them [ ⁇ ] ⁇ indicates a skew symmetric matrix.
  • R ⁇ ( ⁇ , t ⁇ ) is the rotation matrix of equation (18)
  • M i,i+1 is the feature matching set between images i and i+1.
  • the weight of the ⁇ X control feature match is set to 10 in the experiment.
  • the Gauss Newton algorithm is used to solve the formula (27).
  • the above optimization framework can be easily extended to the case of combining real IMU data.
  • the main difference is that there may be multiple IMU measurement data between two adjacent frames, and the attitude of the camera and the attitude of the real IMU sensor are generally different. Simply think of consistency (you can get the relative pose of the camera and the real IMU sensor by pre-calibration). Record the IMU measurement data set between frames i and i+1 as among them And t ij are the jth linear acceleration, the rotation speed and the time stamp, respectively. It can be used (T.Lupton and S. Sukkarieh. Visual-inertial-aided navigation for high-dynamic motion in built environments without initial conditions. IEEE Transactions on Robotics, 28(1): 61–76, 2012) and (C.
  • the Jacobian matrix is estimated in this state and only needs to be calculated once. It is assumed here that the gravity component has been excluded, so Contains only the acceleration generated by the motion.
  • the acceleration from the acceleration can be handled by a sensor fusion algorithm (N. Trawny and SI Roumeliotis. Indirect kalman filter for 3D attitude estimation. Technical Report 2005-002, University of Minnesota, Dept. of Comp. Sci. & Eng., Mar. 2005). Calculate the raw data obtained by the gyroscope to get the required data. In the experiment, the IMU measurement data used was from the filtered data in the iPhone 6.
  • the obtained matching can be further used to estimate the local homography matrix.
  • the method uses a simple extraction strategy of multiple homography matrices to estimate a local homography matrix set. Specifically, the RKSAC method is applied to M k,i , and a best local homography matrix is estimated according to the number of interior points satisfying the homography transformation, which is recorded as Will meet The inner point is removed from M k,i and then the same operation is performed on the remaining matches. Repeat the above steps until the number of remaining matches is less than a certain number.
  • a search location For feature points with insufficient constraints and unreliable three-dimensional position, firstly As a search location. If the tracking result is not good, a local homography matrix set is estimated according to the matching correspondence relationship. For unmatched features in the search location Try one by one. For each search location, the range is a square area of r x r centered at the search location. For points with sufficient and insufficient constraints, r takes 10 and 30 respectively.
  • the value of the zero mean SSD is calculated for the FAST corner points extracted in the search area, and the best one is selected when the deviation is less than a certain threshold.
  • the method uses local and global clusters in the background. Adjustments to optimize the map and camera orientation of keyframes. For each three-dimensional point in the new keyframe Fk , the maximum ray angle with the existing keyframe is first calculated using equation (8). If max i ⁇ (i,k) ⁇ ⁇ and the three-dimensional coordinates are successfully triangulated, the points are marked as well-constrained. The existing three-dimensional plane visible in frame Fk is then extended with a new constrained three-dimensional point X belonging to the plane.
  • a new three-dimensional plane is extracted using the RANSAC algorithm (MAFischler and RCBolles. Random sample consensus: A paradigm for model fitting with applications to image analysis and automated cartography. Commun. ACM, 24(6): 381-395, 1981).
  • RANSAC Random sample consensus: A paradigm for model fitting with applications to image analysis and automated cartography. Commun. ACM, 24(6): 381-395, 1981.
  • three connected points are randomly sampled to initialize a set of three-dimensional interior points V P . It is assumed that the three-dimensional plane P is generated by V P .
  • An iterative adjustment of the inner loop of the plane expansion and optimization is then started.
  • the distances from those three-dimensional points X to the faces connected to the points in the set V P are checked, and if
  • the extracted planes are arranged in descending order of the number of relevant three-dimensional points after each RANSAC operation.
  • the sorted inner point set is recorded as Starting with the first one, for either If a 3D point Also existed in the previous set of plane points In, then the point is from Removed.
  • Figure 4 is a summary of the extracted three-dimensional plane.
  • the method uses LM (Levenberg Marquart) algorithm to minimize the following energy functions to jointly optimize all camera orientations, 3D points and 3D planes of key frames:
  • this method in an application on a mobile terminal and tested it.
  • the scene is shot with a mobile phone, and then a plurality of three-dimensional virtual furniture models are inserted into the room to view the effect of the furniture placement.
  • the actual size of the three-dimensional structure recovered by the monocular simultaneous positioning and map construction (SLAM) method is not known.
  • SLAM monocular simultaneous positioning and map construction
  • a method is needed to accurately estimate.
  • Using a calibration of a known size is more reliable.
  • the user is required to use an A4 sheet of paper.
  • the application is started, the center of the camera is aligned with the paper.
  • Our augmented reality system automatically uses the camera orientation estimate to automatically detect the four sides of the paper. After initialization, the user can download different 3D models in the list and put them into the scene.

Landscapes

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

Abstract

一种同时定位与地图构建方法,该方法能够可靠地处理强烈旋转和快速运动。该方法提出了一种基于关键帧的同时定位与地图构建算法框架,能够支持快速的局部地图扩张。在此框架下,提出一种新的基于多个单应矩阵的特征跟踪方法,该方法在强烈旋转和快速运动下高效而鲁棒。又提出了一种基于滑动窗口的相机方位优化框架,用模拟的或实际的IMU数据对连续帧之间增加运动约束。最后,提出了一种获得特定平面和场景真实尺度的方法,从而把虚拟物体以真实大小摆放于特定平面之上。

Description

一种同时定位与地图构建方法 技术领域
本发明涉及一种可应用于增强现实的单目摄像机跟踪方法,尤其涉及一种基于关键帧的鲁棒的摄像机跟踪方法。
背景技术
近年来,随着移动终端和可穿戴设备的流行,增强现实获得可空前的关注。逼真的增强现实需要精确地估计相机方位和实时地重建场景,这也是同时定位与地图构建(SLAM)技术所要解决的问题。
由于现实场景的复杂性,传统SLAM方法在实际应用中效果并不好。例如,在新用户用移动设备来拍场景并观看增强现实效果的时候,往往会随意地移动和旋转移动设备。因此,强烈旋转和快速运动非常常见,但是最先进的SLAM系统也难以处理这样的复杂情况。
良好的增强现实体验需要SLAM系统能够处理多种复杂的相机运动,同时还要让新手容易上手。并且,在遇到快速运动和严重的运动模糊时也要保证相机丢失的频率尽量小。甚至在遇到跟踪失败的情况,应该要能很快地重定位相机方位,从而避免长时间的等待。
视觉的SLAM可以分成两类:基于滤波的方法和基于关键帧的方法。MonoSLAM(A.J.Davison,I.D.Reid,N.D.Molton,and O.Stasse.MonoSLAM:Real-time single camera SLAM.IEEE Transactions on Pattern Analysis and Machine Intelligence,29(6):1052–1067,2007)是典型的基于滤波的方法。相机运动的参数和场景三维点位置合表示为一种高维概率状态。用扩展卡尔曼滤波器(EKF)来预测和更新每一帧的状态分布。MonoSLAM方法的最大缺点是时间复杂度为O(N3),其中N为地标的数量,因此它只适用于几百个点的小地方。另外,EKF容易累积线性误差。为了突破上述限制,PTAM(G.Klein and D.W.Murray.Parallel tracking and mapping for small AR workspaces.In 6th IEEE/ACM International Symposium on Mixed and Augmented Reality,pages 225–234,2007)采用一种新颖的基于关键帧的并行跟踪和地图构建框架。为了获得实时的性能,将跟踪从地图构建中独立出来;为了保证较高的精度,后台线程对所有关键帧和场景三维点做集束调整(BA)。正如(H.Strasdat,J.M.Montiel,and A.J.Davison.Visual SLAM:why filter?Image and Vision Computing,30(2):65–77,2012)中所总结的,基于关键帧集束调整的方法优于基于滤波器的方法,特别是在地标数量N很大的情况下。
近来,许多最先进的SLAM系统都采用基于关键帧的框架,比如RDSLAM(W.Tan,H.Liu,Z.Dong,G.Zhang,and H.Bao.Robust monocular SLAM in dynamic environments.In IEEE  International Symposium on Mixed and Augmented Reality,pages 209–218,2013)和ORB-SLAM(R.Mur-Artal,J.Montiel,and J.D.Tardos.ORB-SLAM:a versatile and accurate monocular SLAM system.IEEE Transactions on Robotics,31(5):1147–1163,2015)。RDSLAM通过检测场景的外观和结构变化,提出了一种修改过的RANSAC方法来实现动态场景中的实时定位。ORB-SLAM采用ORB特征来做相机定位、地图构建、重定位和回路检测。同时通过优化方位图来闭合循环回路。与大多数视觉的SLAM系统不同的是,LSD-SLAM(J.Engel,T.Sch¨ops,and D.Cremers.LSD-SLAM:Large-scale direct monocular SLAM.In 13th European Conference on Computer Vision,Part II,pages 834–849.Springer,2014)实时恢复半稠密深度图来代替稀疏的特征点。基于半稠密深度图,LSD-SLAM采用直接跟踪法实时定位相机方位,在缺乏特征的场景下具有更高的鲁棒性。SVO(C.Forster,M.Pizzoli,and D.Scaramuzza.SVO:Fast semi-direct monocular visual odometry.In IEEE International Conference on Robotics and Automation,pages 15–22.IEEE,2014)也采用直接跟踪法,但是采用稀疏的特征点,能达到很高的运行效率。
传统的基于关键帧的方法有一个主要的缺点,就是对于强烈旋转和快速运动缺乏鲁棒性。首先,为了充分地约束三维点,要求相邻的关键帧之间要存在足够的视差,然而这在强烈旋转的情况下是无法满足的。其次,基线很大的关键帧间的特征匹配非常耗时,使得地图扩张的延迟在数帧以上,因此只能在后台操作,这也导致了在快速运动下容易跟踪丢失。
为了提高对大幅度旋转的跟踪的鲁棒性,ORB-SLAM在插入关键帧时放松了视差的要求。为了保证稀疏而又精确的全局地图,冗余的关键帧和不稳定的三维点在之后需要剔除。LSD-SLAM和SVO都提出采用滤波技术来获得鲁棒的深度估计。基于滤波的方法对于缓慢的旋转有一定的鲁棒性,因为这种情况下视差是逐渐从小变大的。对于纯旋转运动,任意深度值都能得到相似的跟踪结果。随着视差的缓慢增加,可以逐步更新深度,并且最终会收敛于一个良好的估计值。但如果相机快速运动,那么处理难度会大增。首先,这些方法还不能很好地解决地图扩张的延时问题。若后台线程的立体匹配和深度滤波无法跟上相机的快速运动,就会导致跟踪失败。其次,强烈旋转和快速运动使得鲁棒的立体匹配十分困难。由于搜索范围和图像块的畸变变的不可预测,使得PTAM和SVO采用的基于模板匹配的特征跟踪变的不可靠。ORB-SLAM和RDSLAM采用的不变性特征描述子对大的透视畸变和运动模糊也很敏感。ASIFT(J.-M.Morel and G.Yu.ASIFT:A new framework for fully affine invariant image comparison.SIAM Journal on Imaging Sciences,2(2):438–469,2009)提出通过模拟不同的视角来处理该问题,但是巨大的计算代价不适用于实时的应用。
当然现在也有一些显式处理纯旋转问题的SLAM方法。Gauglitz等(S.Gauglitz,C.Sweeney, J.Ventura,M.Turk,and T.Hollerer.Live tracking and mapping from both general and rotationonly camera motion.In IEEE International Symposium on Mixed and Augmented Reality,pages 13–22.IEEE,2012)提出在当前帧和最近关键帧之间切换六自由度的跟踪或者全景跟踪,从而得到全景地图和多个分散的三维子地图。Pirchheim等人(C.Pirchheim,D.Schmalstieg,and G.Reitmayr.Handling pure camera rotation in keyframe-based SLAM.In IEEE International Symposium on Mixed and Augmented Reality,pages 229–238,2013)和Herrera等人(C.Herrera,K.Kim,J.Kannala,K.Pulli,J.Heikkila,et al.DT-SLAM:Deferred triangulation for robust SLAM.In IEEE International Conference on 3D Vision,volume 1,pages 609–616,2014)提出了相似的想法,可以得到一个全局的三维地图。Pirchheim等人在进行六自由度跟踪时,将每个二维特征点的深度设置为无穷大。Herrera等人提出,对于二维特征,用最小化到极线的距离这个条件替代重投影误差。一旦检测到足够的视差,这两种方法都三角化出新的三维点。但是,纯旋转在实际中很少发生。即使是在用户尽量让相机绕着光学中心旋转的时候也很难避免相机的平移。全景跟踪会把这种平移错误地当成额外的旋转分量,从而导致漂移。其次,缺少三维约束容易导致尺度不一致。再者,这些方法都无法处理相机的快速运动。
近来,许多SLAM系统通过结合IMU数据来提升鲁棒性,称之为视觉-惯性融合的SLAM(VI-SLAM)。大部分的VI-SLAM方法都是基于滤波的。为了突破基于滤波方法的不可扩展性限制,MSCKF(A.I.Mourikis and S.I.Roumeliotis.A multi-state constraint kalman filter for vision-aided inertial navigation.In IEEE International Conference on Robotics and Automation,pages 3565–3572.IEEE,2007)将三维点和相机之间的二元关系约束转换为多个相机之间的多元约束。状态向量只包含相机运动,不包含三维点位置,从而达到对于特征点数量线性的计算复杂度。Li和Mourikis(M.Li and A.I.Mourikis.High-precision,consistent EKFbased visual-inertial odometry.The International Journal of Robotics Research,32(6):690–711,2013)分析了MSCKF的系统可观测性,提出采用初次估计所得雅克比矩阵(G.P.Huang,A.I.Mourikis,and S.I.Roumeliotis.Analysis and improvement of the consistency of extended kalman filter based SLAM.In IEEE International Conference on Robotics and Automation,pages 473–479,2008)来固定线性化的点,从而提升了MSCKF的系统一致性。在(J.A.Hesch,D.G.Kottas,S.L.Bowman,and S.I.Roumeliotis.Consistency analysis and improvement of vision-aided inertial navigation.IEEE Transactions on Robotics,30(1):158–176,2014)中通过显式地指定不可观测方向,从而避免了虚假的信息融合,减小了系统不一致性。另外也有一些基于非线性优化的VI-SLAM方法,将问题表达为因子图,并用最大后验(MAP)估计来求解。为达到实时的优化效率,可通过只维护一个局部地图,比如(T.-C.Dong-Si and A.I.Mourikis.Motion tracking with fixed-lag smoothing:Algorithm and consistency analysis.In IEEE International Conference on Robotics and  Automation,pages 5655–5662.IEEE,2011)和(S.Leutenegger,S.Lynen,M.Bosse,R.Siegwart,and P.Furgale.Keyframe-based visual-inertial odometry using nonlinear optimization.The International Journal of Robotics Research,34(3):314–334,2015),也可以将采用增量式的优化方法,比如(M.Kaess,H.Johannsson,R.Roberts,V.Ila,J.J.Leonard,and F.Dellaert.iSAM2:Incremental smoothing and mapping using the bayes tree.International Journal of Robotics Research,31(2):216–235,2012)、(V.Indelman,S.Williams,M.Kaess,and F.Dellaert.Information fusion in navigation systems via factor graph based incremental smoothing.Robotics and Autonomous Systems,61(8):721–738,2013)和(C.Forster,L.Carlone,F.Dellaert,and D.Scaramuzza.IMU preintegration on manifold for efficient visual-inertial maximum-a-posteriori estimation.In Robotics:Science and Systems,2015)。这些方法大多是针对机器人导航,对IMU的质量要求较高。
在运动平滑的假设下,Lovegrove等人提出采用累积三次B样条来参数化相机轨迹。采用这种表示后,任意时刻的相机方位和相应的一阶、二阶导数都可插值得到,因此可以非常容易的融合IMU测量数据。用连续时间的表示还可以很好地补偿滚动快门现象。Kerl等人(C.Kerl,J.Stuckler,and D.Cremers.Dense continuous-time tracking and mapping with rolling shutter RGB-D cameras.In IEEE International Conference on Computer Vision,pages 2264–2272,2015)也采用累积三次B样条和直接跟踪法跟踪滚动快门的RGB-D相机,并创建出稠密的地图。然而,强烈旋转和快速运动违反了平滑运动的假设。另外,在快速运动时,运动模糊通常比滚动快门现象明显的多。Meilland等人提出了一种统一的方法来同时估计运动模糊和滚动快门形变。但是这个方法是针对RGB-D相机的,在单目相机时则需要已知三维模型。
发明内容
本发明的目的在于针对现有技术的不足,提供一种同时定位与地图构建方法,可靠地处理强烈旋转和快速运动,从而保证良好的增强现实体验。
本发明的目的是通过以下技术方案来实现的:
一种同时定位与地图构建方法,包括前台线程和后台线程,具体包括如下步骤:
1)前台线程实时地处理视频流,对任意的当前帧Ii,提取特征点(比如FAST角点);
2)跟踪全局单应矩阵集合
Figure PCTCN2016098990-appb-000001
3)使用全局单应矩阵和特定平面单应矩阵来跟踪三维点,得到相机姿态估计所需的3D-2D的对应关系集合:
4)根据跟踪到的特征点数,与设定阈值做比较,评估跟踪的质量,分为好、中和差三个质量类别;
4.1)当跟踪质量好的时候,进行局部地图的扩展和优化,然后再确定是否要选一个新的关键帧:
4.2)当跟踪质量中的时候,估计一个局部单应矩阵集合
Figure PCTCN2016098990-appb-000002
并重新匹配跟踪失败的特征;
4.3)当跟踪质量差的时候,触发重定位程序,一旦重定位成功,用重定位后的关键帧来做全局单应矩阵跟踪,随后再做一次特征跟踪;
所述的步骤4.1)中,当确定要选一个新的关键帧时,新选择的关键帧唤醒后台线程全局优化,添加新关键帧和新三角化的三维点用来扩展全局地图,并采用局部集束调整进行优化,之后,对已有三维平面进行扩展,将新增的三维点赋予已有平面,或从新增三维点中提取出新的三维平面,随后,通过匹配新的关键帧与已有关键帧来检测回路,最后,对全局地图全局集束调整。
优选的,所述的步骤2)具体为:
对于相邻两帧图像,先通过直接对齐上一帧图像Ii-1和当前帧图像Ii来估计上一帧到当前帧间的全局单应变换:
Figure PCTCN2016098990-appb-000003
其中
Figure PCTCN2016098990-appb-000004
Figure PCTCN2016098990-appb-000005
分别是Ii-1和Ii的小模糊图像,Ω是小图像域,上标h说明向量是齐次坐标,
Figure PCTCN2016098990-appb-000006
中的波浪号表示将单应矩阵H从源图像空间转化到小图像空间,||·||δ表示Huber函数,计算方法如公式:
Figure PCTCN2016098990-appb-000007
对每个关键帧Fk,已有到Ii-1的全局单应矩阵
Figure PCTCN2016098990-appb-000008
的初始解,利用帧Fk和Ii-1之间的特征匹配集合(记为Mk,i-1={(xk,xi-1)})来确定与Ii-1具有重叠的关键帧集合,记为Ki-1,选出|Mk,i-1|>20且|Mk,i-1|最大的五个关键帧,对于Ki-1中的每个关键帧Fk,优化初始解
Figure PCTCN2016098990-appb-000009
Figure PCTCN2016098990-appb-000010
通过传递性得到关键帧Fk到当前帧Ii的全局单应变换
Figure PCTCN2016098990-appb-000011
优选的,所述的步骤3)具体为:
对于约束充分的三维位置可靠的特征点,只需要预测出当前帧Ci的相机方位确定搜索位置,用全局单应矩阵
Figure PCTCN2016098990-appb-000012
来预测Ci,将帧Fk∈Ki-1的一个二维特征点记为xk,相应的三维点记为Xk,通过公式
Figure PCTCN2016098990-appb-000013
得到三维到二维的对应关系(Xk,xi),所有的三维到二维的对 应关系集合记为
Figure PCTCN2016098990-appb-000014
通过公式
Figure PCTCN2016098990-appb-000015
(6)来预测相机位置(如果有真实的IMU数据,也可以直接通过IMU状态的传播来预测相机位置),对于约束不充分、三维位置不可靠的特征点,首先直接把
Figure PCTCN2016098990-appb-000016
作为搜索位置,如果跟踪质量评定为中,则根据匹配的对应关系估计得到一个局部单应矩阵集合
Figure PCTCN2016098990-appb-000017
对于未匹配的特征,在搜索位置
Figure PCTCN2016098990-appb-000018
中逐一尝试,对于每一个搜索位置,其范围为以搜索位置为中心的r×r的正方形区域,对约束充分和不充分的点,r分别取10和30;
给定单应矩阵Hk→i,计算每个对齐后的图像块的四个顶点的变化,只在变化超过一定阈值时,通过公式
Figure PCTCN2016098990-appb-000019
(7)将关键帧Fk中xk附近的局部块对齐到当前帧Ii中,其中κ(y)是相对于块中心偏移y处的图像灰度,y∈(-W/2,W/2)×(-W/2,W/2),其中W是图像块的尺寸,对搜索区域内提取的FAST角点计算零均值SSD的值,并在偏差小于一定阈值时选择最好的一个。
优选的,所述步骤4.1)中的进行局部地图的扩展和优化的方法具体为:
对于帧Fk的一个二维特征xk,一旦在帧Ii中找到对应的特征xi,就根据公式
Figure PCTCN2016098990-appb-000020
(8)计算射线角,其中
Figure PCTCN2016098990-appb-000021
若α(i,k)≥δα,采用三角化算法来求解X,否则,为xk指定关键帧Fk的平均深度dk来初始化X,
Figure PCTCN2016098990-appb-000022
并根据公式
Figure PCTCN2016098990-appb-000023
(9)来优化X;选择一个局部窗口,先固定相机方位,通过求解
Figure PCTCN2016098990-appb-000024
(10)单独优化每个三维点位置Xi,其中
Figure PCTCN2016098990-appb-000025
是关键帧和滑动窗口中观测到三维点Xi的帧的帧号索引集合,再固定三维点位置,通过优化局部窗口内所有相机的方位。
优选的,所述的固定三维点位置,通过优化局部窗口内所有相机的方位具体为:
假设已有在局部坐标系下测量的线性加速度
Figure PCTCN2016098990-appb-000026
和旋转速度
Figure PCTCN2016098990-appb-000027
真实的线性加速度为
Figure PCTCN2016098990-appb-000028
真实的旋转速度为
Figure PCTCN2016098990-appb-000029
是惯性测量数据的高斯噪声,I是3×3的单位矩阵,ba和bω分别是线性加速度和旋转速度随时间变化的偏移,将相机运动的状态扩展为
Figure PCTCN2016098990-appb-000030
其中v是全局坐标系下的线性速度,所有状态的连续时间运动方程为:
Figure PCTCN2016098990-appb-000031
其中
Figure PCTCN2016098990-appb-000032
[·]×表示斜对称矩阵,
Figure PCTCN2016098990-appb-000033
Figure PCTCN2016098990-appb-000034
表示随机游走过,旋转分量的离散时间运动方程为:
Figure PCTCN2016098990-appb-000035
其中
Figure PCTCN2016098990-appb-000036
是两个相邻关键帧i和i+1之间的时间间隔,
Figure PCTCN2016098990-appb-000037
是四元数乘法运算符,εω是防止0除的一个小值,将
Figure PCTCN2016098990-appb-000038
的真实值用公式
Figure PCTCN2016098990-appb-000039
(19)来近似,其中
Figure PCTCN2016098990-appb-000040
是一个3×1的误差向量,得到
Figure PCTCN2016098990-appb-000041
其中Gω是与噪声nω有关的雅克比矩阵,进而得到
Figure PCTCN2016098990-appb-000042
定义旋转分量的代价函数和协方差为
Figure PCTCN2016098990-appb-000043
定义其它分量的离散时间运动方程、代价函数和协方差为
Figure PCTCN2016098990-appb-000044
其中
Figure PCTCN2016098990-appb-000045
将在滑动窗口中所有运动状态s1…sl的能量函数定义 为:
Figure PCTCN2016098990-appb-000046
其中l是滑动窗口的大小,
Figure PCTCN2016098990-appb-000047
是马氏距离的平方。
对于没有IMU传感器,设置
Figure PCTCN2016098990-appb-000048
用特征匹配来对齐连续帧图像求解一个最优角速度:
Figure PCTCN2016098990-appb-000049
其中RΔ(ω,tΔ)是公式(18)的旋转矩阵,Mi,i+1是图像i和i+1之间的特征匹配集合,如果存在真实的IMU测量数据,把帧i和i+1之间的IMU测量数据集记为
Figure PCTCN2016098990-appb-000050
其中
Figure PCTCN2016098990-appb-000051
和tij分别是第j个线性加速度,旋转速度和时间戳,采用预积分技术来预先积分这些IMU测量数据,并用如下公式代替(18)和(24)中的分量:
Figure PCTCN2016098990-appb-000052
Figure PCTCN2016098990-appb-000053
其中
Figure PCTCN2016098990-appb-000054
Figure PCTCN2016098990-appb-000055
Figure PCTCN2016098990-appb-000056
是在预积分时
Figure PCTCN2016098990-appb-000057
Figure PCTCN2016098990-appb-000058
的状态。
优选的,所述的后台线程全局优化的步骤为:
对于新关键帧Fk中的每个三维点,先用公式(8)计算与已有关键帧的最大射线角,如果maxiα(i,k)≥δα且三维坐标成功三角化,则把点标记为约束充分的三维点,随后用属于平面的新的约束充分的三维点X来扩展在帧Fk中可见的已有三维平面,对关键帧Fk中的二维特征进行狄洛尼三角化来定义邻域关系,当一个三维点同时满足如下三个条件时,则将该点添加到平面P的集合VP中:1)X没被指定到任何平面,2)X与VP中的另一个点连通,3)|nTX+d|<δP,其中dk是关键帧Fk的平均深度,采用RANSAC算法来提取新的三维平面,每次迭代随机地采样三个连接的点来初始化一个三维内点的集合VP,采用SVD恢复三维平面参数P,随后开始一个迭代的调整平面扩展和优化的内循环,每次内部迭代,检查与集合 VP中的点连接的那些三维点X到面的距离,如果|nTX+d|<δP则把X添加到VP中,通过对VP中的所有点最小化公式
Figure PCTCN2016098990-appb-000059
(28)来优化平面,并重复上述步骤迭代的扩展VP,当|VP|<30时舍弃P和VP,将提取的平面按照相关三维点的数量降序排列,排序后的内点集合记为
Figure PCTCN2016098990-appb-000060
从第一个开始,对于任一
Figure PCTCN2016098990-appb-000061
如果一个三维点
Figure PCTCN2016098990-appb-000062
也存在于之前的平面点集
Figure PCTCN2016098990-appb-000063
中,则将该点从
Figure PCTCN2016098990-appb-000064
中移除,在全局集束调整中通过添加点到面的约束,优化三维平面的参数
Figure PCTCN2016098990-appb-000065
优选的,所述的同时定位与地图构建方法还可以包括一个需要将虚拟物体以真是尺寸摆放于真实场景的特定平面上的初始化步骤:
使用已知尺寸的平面标定物来初始化跟踪,将世界坐标系设置于平面标定物中心,沿平面标定物边缘均匀采用n个三维点Xi,i=1,…,n,通过求解下面的优化方程来恢复初始帧的相机方位(R,t):
Figure PCTCN2016098990-appb-000066
其中,δX||和δX的方向分别为Xi处沿边缘切线、垂直向内的方向,其长度保证
Figure PCTCN2016098990-appb-000067
Figure PCTCN2016098990-appb-000068
投影至图像后与Xi的投影点距离为1个像素,采用由粗到细的策略扩大收敛范围,对图像构造4层金字塔,由最上层开始,优化结果作为下层优化的初值。
本发明的有益效果是:
1、本发明方法提供了一种新的同时定位与地图构建框架,将局部地图的扩展和优化提前至前台线程,提高对强烈旋转、快速运动的鲁棒性。
2、本发明方法提供了一种基于多个单应矩阵的特征跟踪的方法,既可用于跟踪约束充分、足以精确恢复三维位置的三维特征点,又可用于约束并不充分、三维位置并不可靠点的特征跟踪。该方法不仅能处理强烈旋转和快速运动,又能达到实时的计算效率,还能够实时运行于移动设备。
3、本发明方法提供了一种新的基于滑动窗口的局部地图优化的方法,通过合理模拟IMU测量值,来有效地优化相机方位,在相机快速运动和严重模糊的情况下显著地提高鲁棒性。这种优化的框架还可以扩展到结合实际IMU数据的情况,从而进一步提高鲁棒性和精度。
4、本发明方法提供了一种获得特定平面和场景真实尺度的方法,从而把虚拟物体以真实 大小摆放于特定平面之上。该方法只需要用户对准一个已知标志物的尺寸即可初始化跟踪,无需事先捕获标志物纹理,因此使用更为便捷。
附图说明
图1是本文方法RKSLAM的系统框架图。需要注意的是,与大多数的把所有地图构建工作放在后台的基于关键帧的系统不同,本方法把局部地图扩张和优化放在前台,目的是为了处理强烈旋转和快速运动。
图2是全局单应矩阵估计的对照图。(a)当前图像。(b)需要匹配的所选关键帧。(c)通过求解公式(3)将(b)对齐到(a)。(d)通过求解公式(5)将(b)对齐到(a)。(e)(a)和(c)的组合。(f)(a)和(d)的组合。
图3是局部单应矩阵用于特征匹配的效果图。上:通过全局单应矩阵和特定平面单应矩阵获得的37对匹配。下:通过局部单应矩阵估计得到的153对匹配。
图4是通过拟合所找到的三维点提取得到的三维平面。
图5通过插入虚拟立方体的方式来对比SLAM方法在室内场景中的效果。(a)没有先验的运动约束的RKSLAM结果。(b)设置
Figure PCTCN2016098990-appb-000069
时RKSLAM的结果。(c)在估计旋转速度时RKSLAM的结果。(d)结合实际IMU数据的RKSLAM结果。(e)ORB-SLAM的结果。(f)PTAM的结果。(g)LSD-SLAM的结果。
具体实施方式
本发明公开了一种同时定位与地图构建方法,该方法能够可靠地处理强烈旋转和快速运动,从而保证了增强现实的良好体验。在该方法中,首先提出了一种新的基于多单应矩阵的特征跟踪方法,该方法在强烈旋转和快速运动下高效而鲁棒。基于此,又提出了一个实时的局部地图扩张策略,能够实时地三角化场景三维点。此外还提出了一种基于滑动窗口的相机方位优化框架,用模拟的或实际的IMU数据对连续帧之间增加先验的运动约束。
在详细介绍本方法之前,先引入本方法的数学公式的约定(同R.Hartley and A.Zisserman.Multiple view geometry in computer vision.Cambridge university press,2004)。标量用斜体字符(如x)表示,矩阵用黑体大写字母(如H)表示;列向量用黑体字母(如b)表示,其转置b表示相应的行向量。此外,点、向量以及矩阵的集合一般表示成斜体大写字母(如V)。对于向量x,用上标h表示相应的齐次坐标,如xh。在本方法中,每个三维点i包含三维位置Xi和局部图像块χi。每一帧i保存的是它的图像Ii,相机方位Ci,二维特征点位置集合{xij},及其相应的到三维点索引集合Vi。所选的关键帧集合表示成{Fk|k=1…NF}。相机方位参数化为一个四元数qi和相机位置pi。对于一个三维点Xj,其在第i幅图像中的二维投影用如下公 式计算:xij=π(K(Ri(Xj-pi)))(1),其中K是相机内参,默认为已知且恒定,Ri是qi的旋转矩阵,π(·)是投影函数π([x,y,z]T)=[x/z,y/z]T。每个平面i保存其参数Pi和属于它的三维点的索引,标记为
Figure PCTCN2016098990-appb-000070
定义平面参数为Pi=[ni T,di]T,其中ni表示其法向,di表示原点到平面的符号距离。对于平面上的三维点X,满足公式ni TX+di=0。系统维护三类单应矩阵,用于描述关键帧到当前帧的变换。这三类单应矩阵分别为:全局单应矩阵、局部单应矩阵和特定平面的单应矩阵。全局单应矩阵用于对其整幅图像。关键帧Fk到当前帧Ii的全局单应矩阵表示为
Figure PCTCN2016098990-appb-000071
所有关键帧的全局单应矩阵集合表示为
Figure PCTCN2016098990-appb-000072
局部单应矩阵用于对齐两个局部图像块。对于两帧(Fk,Ii),可得到多个局部单应矩阵,表示成
Figure PCTCN2016098990-appb-000073
特定平面的单应矩阵也用于对齐一个特定的三维平面的图像区域。对于关键帧Fk中存在的三维平面Pj,其对应的从Fk到Ii的单应矩阵可以写成
Figure PCTCN2016098990-appb-000074
对于每个关键帧Fk,求出一个特定平面单应矩阵的集合,表示为
Figure PCTCN2016098990-appb-000075
针对一组连续动态变化的视频序列(如图5),使用本发明所提出的方法进行摄像机参数估计,拍摄的时候摄像机有强烈旋转和快速运动。
如图1所示,实施步骤如下:
1.前台线程实时地处理视频流。对任意的当前帧Ii,首先提取FAST角点(E.Rosten and T.Drummond.Machine learning for highspeed corner detection.In 9th European Conference on Computer Vision,Part I,pages 430–443.Springer,2006),跟踪得到到Ii的全局单应矩阵集合
Figure PCTCN2016098990-appb-000076
全局单应矩阵可以大致对齐整幅图像,通过直接对齐关键帧Fk和当前帧Ii来估计全局单应矩阵:
Figure PCTCN2016098990-appb-000077
其中
Figure PCTCN2016098990-appb-000078
Figure PCTCN2016098990-appb-000079
分别是Fk和Ii的小模糊图像(SBI)(G.Klein and D.W.Murray.Improving the agility of keyframe-based SLAM.In 10th European Conference on Computer Vision,Part II,pages 802–815.Springer,2008)。Ω是SBI域,上标h说明向量是齐次坐标。
Figure PCTCN2016098990-appb-000080
中的波浪号表示将单应矩阵H从源图像空间转化到SBI空间。||·||δ表示Huber函数,计算方法如公式:
Figure PCTCN2016098990-appb-000081
假设两个相邻帧之间的基线很小,因此一个全局的单应矩阵可以大致表示两帧图像间的 运动。通过对上一帧Ii-1和当前帧Ii求解公式(3),可以得到
Figure PCTCN2016098990-appb-000082
通过传递性可以得到
Figure PCTCN2016098990-appb-000083
我们利用Fk和Ii-1之间的特征匹配集合(记为Mk,i-1={(xk,xi-1)}),
Figure PCTCN2016098990-appb-000084
首先用Mk,i-1来确定与Ii-1具有重叠区域的关键帧集合,记为Ki-1。我们挑选出|Mk,i-1|>20的且|Mk,i-1|最大的五个关键帧。对于Ki-1中的每个关键帧Fk,利用Mk,i-1来防止累积误差和偏移,将公式(3)修正为:
Figure PCTCN2016098990-appb-000085
实验中取δI=0.1,δx=10。相对于公式(3),公式(5)可以在基线较大的情况下插值多个平面运动。采用高斯牛顿法来求解公式(3)和(5)。图2是对比图,其中(a)是当前图像,(b)是所选关键帧。如图所示,如果直接求解公式(3),从(c)和(e)可以看出全局单应矩阵的估计结果不好,对齐误差十分明显;相反,通过公式(5)求解得到的全局单应矩阵的估计效果好很多,如图(d)和(f)。
2.使用全局单应矩阵和特定平面单应矩阵来跟踪三维点,得到相机方位估计所需的3D-2D的对应关系集合。
对于约束充分的三维位置可靠的点,只需要预测当前帧Ci的相机方位来投影三维点并确定搜索位置。用全局单应矩阵
Figure PCTCN2016098990-appb-000086
来预测Ci。从上一帧Ii-1可以推出全局单应矩阵,而与之重叠的关键帧集合是Ki-1。为了不失一般性,将帧Fk∈Ki-1的任意二维特征记为xk而相应的三维点记为Xk。通过公式
Figure PCTCN2016098990-appb-000087
可以得到三维到二维的对应关系(Xk,xi)。所有的三维到二维的对应关系集合记为
Figure PCTCN2016098990-appb-000088
可以通过公式
Figure PCTCN2016098990-appb-000089
(6)来预测相机位置。如果有真实的IMU数据,也可以直接通过IMU状态的传播来预测相机位置。
对于属于三维平面Pj的点,采用由公式(2)得到的平面单应矩阵
Figure PCTCN2016098990-appb-000090
来做图像块对齐,并用于估计相机方位。
3.采用论文(G.Klein and D.W.Murray.Parallel tracking and mapping for small AR workspaces.In 6th IEEE/ACM International Symposium on Mixed and Augmented Reality,pages 225–234,2007)中的方法评估跟踪的质量,分为好、中(不好)和差(对于较大平移的快速运动,跟踪结果可能会不好甚至很差)。
3.1.当跟踪质量好的时候,直接采用跟踪结果来扩张和优化局部地图,然后再采用论文(G.Klein and D.W.Murray.Parallel tracking and mapping for small AR workspaces.In 6th IEEE/ACM International Symposium on Mixed and Augmented Reality,pages 225–234,2007)和(G. Klein and D.W.Murray.Improving the agility of keyframe-based SLAM.In 10th European Conference on Computer Vision,Part II,pages 802–815.Springer,2008)中相应的算法来确定是否要选一个新的关键帧。
对于帧Fk的一个二维特征xk,一旦在帧Ii中找到对应的特征xi,就将三维点X三角化。首先根据公式
Figure PCTCN2016098990-appb-000091
(8)计算射线角,其中
Figure PCTCN2016098990-appb-000092
在存在足够视差且α(i,k)≥δα的理想情况下,采用(R.Hartley and A.Zisserman.Multiple view geometry in computer vision.Cambridge university press,2004)中的传统三角化算法来求解X。在实验中设置δα=1°。然而在大多情况下,第一次观测中视差往往是不够的。但是在另一方面,任意xk的深度会在帧Ii中中得到相似的重投影结果,因此在这一步可以为xk指定任意的深度。本方法中用关键帧Fk的平均深度dk来为X初始化,也即
Figure PCTCN2016098990-appb-000093
并根据公式
Figure PCTCN2016098990-appb-000094
(9)来优化X。
一旦存在足够的运动视差,深度误差会影响相机跟踪。在每个新的帧到来的时候最好对局部地图进行集束调整,但是这达不到实时的性能。因此可以将优化过程修改为每次仅优化三维点或相机方位,这两个步骤轮流进行。这个策略在实际应用中十分有效,并且能显著地减少计算量从而达到实时,甚至在移动设备上也可以实时。
在固定相机方位的前提下优化三维点比较简单。通过最小化公式
Figure PCTCN2016098990-appb-000095
(10)可以单独优化每个三维点Xi,其中
Figure PCTCN2016098990-appb-000096
是关键帧和滑动窗口中观测到三维点Xi的帧的帧号索引集合。
用公式
Figure PCTCN2016098990-appb-000097
(11)分别优化每个相机i的方位,其中Vi是在帧i中可见的三维点的点索引集合。但是,对于由快速的相机运动造成的严重模糊,任何特征跟踪方法都会失败。这些模糊的帧缺乏可靠相机方位估计的约束。鉴于快速相机运动一般只会偶尔出现而且不会持续很长时间,故可以利用相邻帧来约束模糊的帧。具体来说,我们借鉴VI-SLAM的想法,比如(A.I.Mourikis and S.I.Roumeliotis.A multi-state constraint kalman filter for vision-aided inertial navigation.In IEEE International Conference on Robotics and Automation,pages 3565–3572.IEEE,2007)、(J.A.Hesch,D.G.Kottas,S.L.Bowman,and S.I.Roumeliotis.Consistency analysis and improvement of vision-aided inertial navigation.IEEE Transactions on Robotics,30(1):158–176,2014)和(S.Leutenegger,S.Lynen,M.Bosse,R.Siegwart,and P.Furgale.Keyframe-based visual-inertial odometry using nonlinear optimization. The International Journal of Robotics Research,34(3):314–334,2015)。假设已有在局部坐标系下的IMU测量数据(包括线性加速度
Figure PCTCN2016098990-appb-000098
和旋转速度
Figure PCTCN2016098990-appb-000099
),并且相机姿态和IMU的姿态相同。则相机运动的状态可以扩展为
Figure PCTCN2016098990-appb-000100
其中v是全局坐标系下的线性速度,ba和bω分别是线性加速度和旋转速度随时间变化的偏移。则真实的线性加速度为
Figure PCTCN2016098990-appb-000101
旋转速度为
Figure PCTCN2016098990-appb-000102
其中
Figure PCTCN2016098990-appb-000103
是惯性测量数据的高斯噪声,I是3×3的单位矩阵。在试验中,一般设置
Figure PCTCN2016098990-appb-000104
(如果提供了实际的IMU测量数据则设置
Figure PCTCN2016098990-appb-000105
)。连续时间的运动模型(A.B.Chatfield.Fundamentals of high accuracy inertial navigation.AIAA,1997)描述了状态的时间演化:
Figure PCTCN2016098990-appb-000106
其中
Figure PCTCN2016098990-appb-000107
[·]×表示斜对称矩阵。ba
Figure PCTCN2016098990-appb-000108
分别是由高斯白噪声模型
Figure PCTCN2016098990-appb-000109
Figure PCTCN2016098990-appb-000110
表示的随机游走过程。在实验中设置为
Figure PCTCN2016098990-appb-000111
对于离散时间状态,采用(N.Trawny and S.I.Roumeliotis.Indirect kalman filter for 3D attitude estimation.Technical Report 2005-002,University of Minnesota,Dept.of Comp.Sci.&Eng.,Mar.2005)提出的积分方法来传递四元数:
Figure PCTCN2016098990-appb-000112
其中
Figure PCTCN2016098990-appb-000113
是两个相邻关键帧i和i+1之间的时间间隔,
Figure PCTCN2016098990-appb-000114
是四元数乘法运算符,εω是防止0除的一个小值。在实验中,设置εω=0.00001rad/s。
Figure PCTCN2016098990-appb-000115
的真实值可以用公式
Figure PCTCN2016098990-appb-000116
来近似,其中
Figure PCTCN2016098990-appb-000117
是一个3×1的误差向量。将公式(14)代入公式(19)整理可得:
Figure PCTCN2016098990-appb-000118
其中Gω是与噪声nω有关的雅克比矩阵。将公式(19)代入公式(17)整理可得
Figure PCTCN2016098990-appb-000119
结合(20)和(21),分别定义旋转分量的代价函数和协方差为
Figure PCTCN2016098990-appb-000120
其他分量的推导相对简单。离散时间状态的传递公式如下:
Figure PCTCN2016098990-appb-000121
其中,
Figure PCTCN2016098990-appb-000122
误差函数和相应的协方差为:
Figure PCTCN2016098990-appb-000123
基于(22)和(25)定义的相邻帧之间的这些相关约束,可以将在滑动窗口中所有运动状态s1…sl的能量函数定义为:
Figure PCTCN2016098990-appb-000124
其中l是滑动窗口的大小,
Figure PCTCN2016098990-appb-000125
是马氏距离的平方。
上述的导数假设已知惯性测量数据
Figure PCTCN2016098990-appb-000126
Figure PCTCN2016098990-appb-000127
但实际上可能没有IMU传感器。对于线性加速度,可以设为
Figure PCTCN2016098990-appb-000128
因为在AR应用中几乎不会出现突然的跳变。但对于旋转速度,由于用户经常要转头观看整个AR效果,所以不能设置为
Figure PCTCN2016098990-appb-000129
故用特征匹配来对齐连续的SBI从而求解一个最好的拟合:
Figure PCTCN2016098990-appb-000130
其中RΔ(ω,tΔ)是公式(18)的旋转矩阵,Mi,i+1是图像i和i+1之间的特征匹配集合。δX控制特征匹配项的权重,在试验中设为10。采用高斯牛顿算法求解公式(27)。
上述的优化框架可以轻松地扩展到结合真实IMU数据的情况,主要的差别是两个相邻帧之间可能存在多个IMU测量数据,而且相机姿态和真实IMU传感器的姿态一般有所不同,不能简单地认为一致(可以通过事先标定来得到相机和真实IMU传感器的相对姿态)。把帧i和i+1之间的IMU测量数据集记为
Figure PCTCN2016098990-appb-000131
其中
Figure PCTCN2016098990-appb-000132
和tij分别是第j个线性加速度,旋转速度和时间戳。可以采用(T.Lupton and S.Sukkarieh.Visual-inertial-aided navigation for high-dynamic motion in built environments without initial conditions.IEEE Transactions on Robotics,28(1):61–76,2012)和(C.Forster,L.Carlone,F.Dellaert,and D.Scaramuzza.IMU preintegration on manifold for efficient visual-inertial maximum-a-posteriori estimation.In Robotics:Science and Systems,2015)中的预积分技术来预积分这些IMU测量数据,并用如下公式代替(18)和(24)中的分量:
Figure PCTCN2016098990-appb-000133
Figure PCTCN2016098990-appb-000134
其中
Figure PCTCN2016098990-appb-000135
Figure PCTCN2016098990-appb-000136
Figure PCTCN2016098990-appb-000137
是在预积分时
Figure PCTCN2016098990-appb-000138
Figure PCTCN2016098990-appb-000139
的状态。在该状态下估计雅克比矩阵,并只须计算一次。这里假设已经排除了重力分量,故
Figure PCTCN2016098990-appb-000140
只包含运动产生的加速度。可以通过(N.Trawny and S.I.Roumeliotis.Indirect kalman filter for 3D attitude estimation.Technical Report 2005-002,University of Minnesota,Dept.of Comp.Sci.&Eng.,Mar.2005)中的传感器融合算法来处理从加速度计和陀螺仪获得的原始数据,从而得到所需数据。在实验中,使用的IMU测量数据来自iPhone6中滤波后的数据。
3.2.在结果中(不好)时,还是有一些匹配的特征,其中的大部分还是约束充分的点,所以可以估计一个局部单应矩阵集合
Figure PCTCN2016098990-appb-000141
并重新匹配跟踪失败的特征。
如果全局单应矩阵和特定三维平面单应矩阵的跟踪质量不好,可以进一步用得到的匹配来估计局部单应矩阵。本方法采用一种简单的多个单应矩阵的提取策略来估计一个局部单应矩阵集合。具体来说,对Mk,i采用RANSAC方法,根据满足单应变换的内点数量来估计出一个最好的局部单应矩阵,记为
Figure PCTCN2016098990-appb-000142
将满足
Figure PCTCN2016098990-appb-000143
的内点从Mk,i中剔除,然后对剩余匹配进行同样的操作得到
Figure PCTCN2016098990-appb-000144
重复上述步骤直到剩余的匹配数少于一定数量。
对于约束不充分、三维位置不可靠的特征点,首先直接把
Figure PCTCN2016098990-appb-000145
作为搜索位置。如果跟踪结果不好,则根据匹配的对应关系估计得到一个局部单应矩阵集合
Figure PCTCN2016098990-appb-000146
对于未匹配的特征,在搜索位置
Figure PCTCN2016098990-appb-000147
中逐一尝试。对于每一个搜索位置,其范围为以搜索位置为中心的r×r的正方形区域。对约束充分和不充分的点,r分别取10和30。
本方法中的多个单应矩阵的表示方法不仅可以预测得到好的起始点还能纠正透视畸变。给定单应矩阵Hk→i,可以通过公式
Figure PCTCN2016098990-appb-000148
(7)将关键帧Fk中xk附近的局部块对齐到当前帧Ii中。其中κ(y)是相对于块中心偏移y处的图像灰度。y∈(-W/2,W/2)×(-W/2,W/2),其中W是图像块的尺寸,实验中设为8。对于属于三维平面Pj的点,采用由公式(2)得到的平面单应矩阵
Figure PCTCN2016098990-appb-000149
来做图像块对齐。对于其他点,与搜索范围的预测类似,首先尝试全局单应矩阵
Figure PCTCN2016098990-appb-000150
如果跟踪结果很差再对跟踪失败的特征逐一尝试集合
Figure PCTCN2016098990-appb-000151
中的局部单应矩阵。考虑到相邻帧之间很少会出现大幅度的透视变化,所以没必要对每一个输入的帧重新计算公式(7)。可以计算每个对齐后的图像块的四个顶点的变化,并且只在变化超过一定阈值才重新计算公式(7)。
给定一个精确的搜索范围和没有畸变的图像块,可以很容易地跟踪得到在当前帧的对应关系。与PTAM类似,对搜索区域内提取的FAST角点计算零均值SSD的值,并在偏差小于一定阈值时选择最好的一个。
本方法中,由于一般可以通过全局单应矩阵和特定平面单应矩阵来获得足够的特征匹配,因此很少需要求解局部单应矩阵。只有当在帧Fk和Ii之间存在很大视差,并且重叠区域存在多个不同的平面时,才需要对那些异常点额外地尝试每个局部单应矩阵。如图3所示,通过全局和特定平面的单应矩阵可以获得37对匹配,另外可以通过局部单应矩阵获得额外的153对匹配。
3.3.在结果很差时,触发论文(G.Klein and D.W.Murray.Parallel tracking and mapping for small AR workspaces.In 6th IEEE/ACM International Symposium on Mixed and Augmented Reality,pages 225–234,2007)中介绍的重定位程序。一旦重定位成功,用重定位后的关键帧来做全局单应矩阵跟踪,随后再做一次特征跟踪。
4.如果选取了新的关键帧,则唤醒后台线程。
4.1.添加新关键帧和新三角化的三维点用来扩展全局地图,并采用局部集束调整进行优化。之后,对已有三维平面进行扩展,将新增的三维点赋予已有平面,或从新增三维点中提取出新的三维平面。
与论文(G.Klein and D.W.Murray.Parallel tracking and mapping for small AR workspaces. In 6th IEEE/ACM International Symposium on Mixed and Augmented Reality,pages 225–234,2007)类似,本方法在后台用局部和全局的集束调整法来优化关键帧的地图和相机方位。对于新关键帧Fk中的每个三维点,先用公式(8)计算与已有关键帧的最大射线角。如果maxiα(i,k)≥δα且三维坐标成功三角化,则把点标记为约束充分的。随后用属于平面的新的约束充分的三维点X来扩展在帧Fk中可见的已有三维平面。为了确定一个三维点X是否属于平面P,只需要检查点到面的距离|nTX+d|。但是满足平面方程只是必要条件而不是充分条件,因为平面方程没有包含平面边界信息。假设属于同一个平面的点在空间中互相接近,故在检查点到面距离时只检查那些点的相邻点在平面上的点。通过对关键帧Fk中的二维特征进行狄洛尼三角化来定义邻域关系。当一个三维点满足如下三个条件时,则将该点添加到平面P的集合VP中:1)X没被指定到任何平面,2)X与VP中的另一个点连通,3)|nTX+d|<δP。在实验中设置δP=0.01dk,其中dk是关键帧Fk的平均深度。
采用RANSAC算法(M.A.Fischler and R.C.Bolles.Random sample consensus:A paradigm for model fitting with applications to image analysis and automated cartography.Commun.ACM,24(6):381–395,1981)来提取新的三维平面。在RANSAC的每次迭代,随机地采样三个连接的点来初始化一个三维内点的集合VP。假设三维平面P是由VP产生的。随后开始一个迭代地调整平面扩展和优化的内循环。在每次内部迭代,检查与集合VP中的点连接的那些三维点X到面的距离,如果|nTX+d|<δP则把X添加到VP中。之后通过对VP中的所有点最小化公式
Figure PCTCN2016098990-appb-000152
(28)来优化平面,并尝试进一步扩展VP。当|VP|<30时舍弃P和VP。为了避免将一个点标记到多个平面,在每次RANSAC操作后,将提取的平面按照相关三维点的数量降序排列。排序后的内点集合记为
Figure PCTCN2016098990-appb-000153
从第一个开始,对于任一
Figure PCTCN2016098990-appb-000154
如果一个三维点
Figure PCTCN2016098990-appb-000155
也存在于之前的平面点集
Figure PCTCN2016098990-appb-000156
中,则将该点从
Figure PCTCN2016098990-appb-000157
中移除。图4记为提取到的三维平面。
通过添加点到面的约束,可以在全局集束调整中优化三维平面的参数。本方法通过LM(Levenberg Marquart)算法最小化如下能量函数来联合优化关键帧的所有相机方位,三维点以及三维平面:
Figure PCTCN2016098990-appb-000158
需要注意的是,本方法的其他函数也是用LM算法来求解的,除了(3),(5)和(27)。
4.2.通过匹配新的关键帧与已有关键帧的特征来检测回路。
对于回路检测,采用和重定位相同的算法来寻找新关键帧与前面帧的特征匹配,随后通过全局集束调整来得到闭合循环回路。
4.3.对全局地图做一次集束调整。
在实验中,首先对比了本发明所提出的方法在四种不同设置下的效果(如图5):1)没有先验的运动约束的情况;2)直接设置
Figure PCTCN2016098990-appb-000159
的情况;3)估计旋转速度时的情况;4)结合实际IMU数据的情况。结果表明,在1)和2)的情况下,我们的方法和其他方法的结果类似,都会在强烈旋转和快速运动时频繁地出现跟踪失败的结果,如图5(a)和(b)。在3)的情况下,我们的方法即使是在快速运动和严重模糊时也能够可靠地恢复出相机方位,如图5(c)。在结合实际IMU数据时,鲁棒性则进一步提升,如图5(d)。另外ORB-SLAM、PTAM以及LSD-SLAM的结果如图5(e)、(f)、(g)所示,由于强烈旋转、快速运动以及严重模糊等,出现了严重的漂移。随后,又在室外大场景下对比了本方法与其他方法的效果。本方法的结果再一次证明了本方法的优越性。在没有实际IMU数据时,本文方法的结果依然能够恢复得到可靠的相机方位;在有实际IMU数据时,则效果更可靠一些。
此外,我们还在移动终端上的一个应用中运用了本方法,并进行了测试。用户在使用该应用时,用手机拍摄场景,然后在房间里插入多个三维的虚拟家具模型来查看家具摆放的效果。单目同时定位与地图构建(SLAM)方法恢复的三维结构的实际大小我们无法得知,为了能够保证三维家具模型在插入时具有合适的尺寸,因此需要一种方法来精确估计。但是,根据手机提供的带有噪声的IMU数据可能难以及时地估计出精确的尺寸。采用已知大小的标定物会更为可靠。在我们的应用中需要用户用一张A4纸,在开始使用应用时将摄像头中心对准纸,我们的增强现实系统就会自动地用相机方位估计来自动检测纸的四条边。初始化之后,用户就可以在列表里面下载不同的三维模型并放到场景中。

Claims (7)

  1. 一种同时定位与地图构建方法,其特征在于包括如下步骤:
    1)前台线程实时地处理视频流,对任意的当前帧Ii,提取特征点;
    2)跟踪全局单应矩阵集合
    Figure PCTCN2016098990-appb-100001
    3)使用全局单应矩阵和特定平面单应矩阵来跟踪三维点,得到相机姿态估计所需的3D-2D的对应关系集合:
    4)根据跟踪到的特征点数,评估跟踪的质量,分为好、中和差;
    4.1)当跟踪质量好的时候,进行局部地图的扩展和优化,然后再确定是否要选一个新的关键帧:
    4.2)当跟踪质量中的时候,估计一个局部单应矩阵集合
    Figure PCTCN2016098990-appb-100002
    并重新匹配跟踪失败的特征;
    4.3)当跟踪质量差的时候,触发重定位程序,一旦重定位成功,用重定位后的关键帧来做全局单应矩阵跟踪,随后再做一次特征跟踪;
    所述的步骤4.1)中,当确定要选一个新的关键帧时,新选择的关键帧唤醒后台线程全局优化,添加新关键帧和新三角化的三维点用来扩展全局地图,并采用局部集束调整进行优化,之后,对已有三维平面进行扩展,将新增的三维点赋予已有平面,或从新增三维点中提取出新的三维平面,随后,通过匹配新的关键帧与已有关键帧来检测回路,最后,对全局地图全局集束调整。
  2. 如权利要求1所述的一种同时定位与地图构建方法,其特征在于所述的步骤2)具体为:
    对于相邻两帧图像,先通过直接对齐上一帧图像Ii-1和当前帧图像Ii来估计上一帧到当前帧间的全局单应变换:
    Figure PCTCN2016098990-appb-100003
    其中
    Figure PCTCN2016098990-appb-100004
    Figure PCTCN2016098990-appb-100005
    分别是Ii-1和Ii的小模糊图像,Ω是小图像域,上标h说明向量是齐次坐标,
    Figure PCTCN2016098990-appb-100006
    中的波浪号表示将单应矩阵H从源图像空间转化到小图像空间,||·||δ表示Huber函数,计算方法如公式:
    Figure PCTCN2016098990-appb-100007
    对每个关键帧Fk,已有到Ii-1的全局单应矩阵
    Figure PCTCN2016098990-appb-100008
    的初始解,利用帧Fk和Ii-1之间的特征匹配集合(记为Mk,i-1={(xk,xi-1)})来确定与Ii-1具有重叠的关键帧集合,记为Ki-1,选出|Mk,i-1|>20且|Mk,i-1|最大的五个关键帧,对于Ki-1中的每个关键帧Fk,优化初始解
    Figure PCTCN2016098990-appb-100009
    Figure PCTCN2016098990-appb-100010
    通过传递性得到关键帧Fk到当前帧Ii的全局单应变换
    Figure PCTCN2016098990-appb-100011
  3. 如权利要求1所述的一种同时定位与地图构建方法,其特征在于所述的步骤3)具体为:
    对于约束充分的三维位置可靠的特征点,通过预测当前帧Ci的相机方位确定搜索位置,用全局单应矩阵
    Figure PCTCN2016098990-appb-100012
    预测Ci,将帧Fk∈Ki-1的一个二维特征点记为xk,相应的三维点记为Xk,通过公式
    Figure PCTCN2016098990-appb-100013
    得到三维到二维的对应关系(Xk,xi),所有的三维到二维的对应关系集合记为
    Figure PCTCN2016098990-appb-100014
    通过求解
    Figure PCTCN2016098990-appb-100015
    预测相机位置,对于约束不充分、三维位置不可靠的特征点,首先直接把
    Figure PCTCN2016098990-appb-100016
    作为搜索位置,如果跟踪质量评定为中,则根据匹配的对应关系估计得到一个局部单应矩阵集合
    Figure PCTCN2016098990-appb-100017
    对于未匹配的特征,在搜索位置
    Figure PCTCN2016098990-appb-100018
    中逐一尝试,对于每一个搜索位置,其范围为以搜索位置为中心的r×r的正方形区域,对约束充分和不充分的点,r分别取10和30;
    给定单应矩阵Hk→i,计算每个对齐后的图像块的四个顶点的变化,只在变化超过一定阈值时,通过公式
    Figure PCTCN2016098990-appb-100019
    将关键帧Fk中xk附近的局部块对齐到当前帧Ii中,其中κ(y)是相对于块中心偏移y处的图像灰度,y∈(-W/2,W/2)×(-W/2,W/2),其中W是图像块的尺寸,对搜索区域内提取的FAST角点计算零均值SSD的值,并在偏差小于一定阈值时选择最好的一个。
  4. 如权利要求1所述的一种同时定位与地图构建方法,其特征在于所述步骤4.1)中的进行局部地图的扩展和优化的方法具体为:
    对于帧Fk的一个二维特征xk,一旦在帧Ii中找到对应的特征xi,就根据公式
    Figure PCTCN2016098990-appb-100020
    计算射线角,其中
    Figure PCTCN2016098990-appb-100021
    若α(i,k)≥δα,采用三角化算法来求解三维位置X,否则,为xk指定关键帧Fk的平均深度dk来初始化X,
    Figure PCTCN2016098990-appb-100022
    并根据公式
    Figure PCTCN2016098990-appb-100023
    来优化X;选择一个局部窗口,先固定相机方位,通过求解
    Figure PCTCN2016098990-appb-100024
    单独优化每个三维点位置Xi,其中
    Figure PCTCN2016098990-appb-100025
    是关键帧和滑动窗口中观测到三维点Xi的帧的帧号索引集合,再固定三维点位置,通过优化局部窗口内所有相机的方位。
  5. 如权利要求4所述的一种同时定位与地图构建方法,其特征在于所述的固定三维点位置, 通过优化局部窗口内所有相机的方位具体为:
    假设已有在局部坐标系下测量的线性加速度
    Figure PCTCN2016098990-appb-100026
    和旋转速度
    Figure PCTCN2016098990-appb-100027
    真实的线性加速度为
    Figure PCTCN2016098990-appb-100028
    真实的旋转速度为
    Figure PCTCN2016098990-appb-100029
    是惯性测量数据的高斯噪声,I是3×3的单位矩阵,ba和bω分别是线性加速度和旋转速度随时间变化的偏移,将相机运动的状态扩展为
    Figure PCTCN2016098990-appb-100030
    其中v是全局坐标系下的线性速度,所有状态的连续时间的运动方程为:
    Figure PCTCN2016098990-appb-100031
    其中
    Figure PCTCN2016098990-appb-100032
    [·]×表示斜对称矩阵,
    Figure PCTCN2016098990-appb-100033
    Figure PCTCN2016098990-appb-100034
    表示随机游走过,旋转分量的离散时间运动方程为:
    Figure PCTCN2016098990-appb-100035
    其中
    Figure PCTCN2016098990-appb-100036
    是两个相邻关键帧i和i+1之间的时间间隔,
    Figure PCTCN2016098990-appb-100037
    是四元数乘法运算符,εω是防止0除的一个小值,将
    Figure PCTCN2016098990-appb-100038
    的真实值用公式
    Figure PCTCN2016098990-appb-100039
    来近似,其中
    Figure PCTCN2016098990-appb-100040
    是一个3×1的误差向量,得到
    Figure PCTCN2016098990-appb-100041
    其中Gω是与噪声nω有关的雅克比矩阵,进而得到
    Figure PCTCN2016098990-appb-100042
    定义旋转分量的代价函数和协方差为
    Figure PCTCN2016098990-appb-100043
    定义其它分量的离散时间运动方程、代价函数和协方差为
    Figure PCTCN2016098990-appb-100044
    其中
    Figure PCTCN2016098990-appb-100045
    将在滑动窗口中所有运动状态s1…sl的能量函数定义为:
    Figure PCTCN2016098990-appb-100046
    其中l是滑动窗口的大小,
    Figure PCTCN2016098990-appb-100047
    是马氏距离的平方;
    对于没有IMU传感器,设置
    Figure PCTCN2016098990-appb-100048
    用特征匹配来对齐连续帧图像求解一个最优角速度:
    Figure PCTCN2016098990-appb-100049
    其中RΔ(ω,tΔ)是公式(18)的旋转矩阵,Mi,i+1是图像i和i+1之间的特征匹配集合,如果存在真实的IMU测量数据,把帧i和i+1之间的IMU测量数据集记为
    Figure PCTCN2016098990-appb-100050
    其中
    Figure PCTCN2016098990-appb-100051
    Figure PCTCN2016098990-appb-100052
    分别是第j个线性加速度,旋转速度和时间戳,采用预积分技术来预先积分这些IMU测量数据,并用如下公式代替(18)和(24)中的分量:
    Figure PCTCN2016098990-appb-100053
    Figure PCTCN2016098990-appb-100054
    其中
    Figure PCTCN2016098990-appb-100055
    Figure PCTCN2016098990-appb-100056
    Figure PCTCN2016098990-appb-100057
    是在预积分时
    Figure PCTCN2016098990-appb-100058
    Figure PCTCN2016098990-appb-100059
    的状态。
  6. 如权利要求1所述的一种同时定位与地图构建方法,其特征在于所述的后台线程全局优化的步骤为:
    对于新关键帧Fk中的每个三维点,先用公式(8)计算与已有关键帧的最大射线角,如果maxiα(i,k)≥δα且三维坐标成功三角化,则把点标记为约束充分的三维点,随后用属于平面的新的约束充分的三维点X来扩展在帧Fk中可见的已有三维平面,对关键帧Fk中的二维特征进行狄洛尼三角化来定义邻域关系,当一个三维点同时满足如下三个条件时,则将该点添加到平面P的集合VP中:1)X没被指定到任何平面,2)X与VP中的另一个点连通,3)|nTX+d|<δP,其中dk是关键帧Fk的平均深度,采用RANSAC算法来提取新的三维平面,每次迭代随机地采样三个连接的点来初始化一个三维内点的集合VP,采用SVD恢复三维平面参数P,随后开始一个迭代的调整平面扩展和优化的内循环,每次内部迭代,检查与集合VP中的点连接的那些三维点X到面的距离,如果|nTX+d|<δP则把X添加到VP中,通过对VP中的所有点最小化公式
    Figure PCTCN2016098990-appb-100060
    来优化平面,并重复上述步骤迭代的扩展VP,当|VP|<30时舍弃P和VP,将提取的平面按照相关三维点的数量降序排列,排序后的内点集合记为
    Figure PCTCN2016098990-appb-100061
    从第一个开始,对于任一
    Figure PCTCN2016098990-appb-100062
    如果一个三维点
    Figure PCTCN2016098990-appb-100063
    也存在于之前的平面点集
    Figure PCTCN2016098990-appb-100064
    中,则将该点从
    Figure PCTCN2016098990-appb-100065
    中移除,在全局集束调整中通过添加点到面的约束,优化三维平面的参数
    Figure PCTCN2016098990-appb-100066
  7. 如权利要求1所述的一种同时定位与地图构建方法,其特征在于还包括一个需要将虚拟物体以真是尺寸摆放于真实场景的特定平面上的初始化步骤:
    使用已知尺寸的平面标定物来初始化跟踪,将世界坐标系设置于平面标定物中心,沿平面标定物边缘均匀采用n个三维点Xi,i=1,…,n,通过求解下面的优化方程来恢复初始帧的相 机方位(R,t):
    Figure PCTCN2016098990-appb-100067
    其中,δX||和δX的方向分别为Xi处沿边缘切线、垂直向内的方向,其长度保证
    Figure PCTCN2016098990-appb-100068
    Figure PCTCN2016098990-appb-100069
    投影至图像后与Xi的投影点距离为1个像素,采用由粗到细的策略扩大收敛范围,对图像构造4层金字塔,由最上层开始,优化结果作为下层优化的初值。
PCT/CN2016/098990 2016-09-14 2016-09-14 一种同时定位与地图构建方法 WO2018049581A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2016/098990 WO2018049581A1 (zh) 2016-09-14 2016-09-14 一种同时定位与地图构建方法
US16/333,240 US11199414B2 (en) 2016-09-14 2016-09-14 Method for simultaneous localization and mapping

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/098990 WO2018049581A1 (zh) 2016-09-14 2016-09-14 一种同时定位与地图构建方法

Publications (1)

Publication Number Publication Date
WO2018049581A1 true WO2018049581A1 (zh) 2018-03-22

Family

ID=61619317

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/098990 WO2018049581A1 (zh) 2016-09-14 2016-09-14 一种同时定位与地图构建方法

Country Status (2)

Country Link
US (1) US11199414B2 (zh)
WO (1) WO2018049581A1 (zh)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108469823A (zh) * 2018-04-04 2018-08-31 浙江大学 一种基于单应性的移动机器人编队跟随方法
CN109785393A (zh) * 2018-12-29 2019-05-21 西安理工大学 一种基于平面运动约束的相机自标定方法
CN109903330A (zh) * 2018-09-30 2019-06-18 华为技术有限公司 一种处理数据的方法和装置
CN110009732A (zh) * 2019-04-11 2019-07-12 司岚光电科技(苏州)有限公司 基于gms特征匹配的面向复杂大尺度场景三维重建方法
CN110070580A (zh) * 2019-03-29 2019-07-30 南京华捷艾米软件科技有限公司 基于局部关键帧匹配的slam快速重定位方法及图像处理装置
CN110288710A (zh) * 2019-06-26 2019-09-27 Oppo广东移动通信有限公司 一种三维地图的处理方法、处理装置及终端设备
CN110322511A (zh) * 2019-06-28 2019-10-11 华中科技大学 一种基于物体和平面特征的语义slam方法和系统
CN110490222A (zh) * 2019-07-05 2019-11-22 广东工业大学 一种基于低性能处理器设备的半直接视觉定位方法
CN110853151A (zh) * 2019-10-15 2020-02-28 西安理工大学 一种基于视频的三维立体点集恢复方法
CN110889349A (zh) * 2019-11-18 2020-03-17 哈尔滨工业大学 一种基于vslam的稀疏三维点云图的视觉定位方法
CN111292420A (zh) * 2020-02-28 2020-06-16 北京百度网讯科技有限公司 用于构建地图的方法和装置
CN111709997A (zh) * 2020-06-30 2020-09-25 华东理工大学 一种基于点与平面特征的slam实现方法及系统
WO2021057745A1 (zh) * 2019-09-27 2021-04-01 Oppo广东移动通信有限公司 地图融合方法及装置、设备、存储介质
CN112686153A (zh) * 2020-12-30 2021-04-20 西安邮电大学 一种用于人体行为识别的三维骨架关键帧选择方法
CN112819744A (zh) * 2021-02-26 2021-05-18 中国人民解放军93114部队 Gnss和视觉slam融合的轨迹测量方法和装置
CN112950671A (zh) * 2020-08-06 2021-06-11 郑锴 一种无人机对运动目标实时高精度参数测量方法
CN113016007A (zh) * 2020-08-12 2021-06-22 香港应用科技研究院有限公司 估计相机相对于地面的方位的装置和方法
WO2021155828A1 (en) * 2020-02-05 2021-08-12 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method and system for implementing dynamic input resolution for vslam systems
CN113361365A (zh) * 2021-05-27 2021-09-07 浙江商汤科技开发有限公司 定位方法和装置、设备及存储介质
CN113465596A (zh) * 2021-06-25 2021-10-01 电子科技大学 一种基于多传感器融合的四旋翼无人机定位方法
CN114066977A (zh) * 2020-08-05 2022-02-18 中国海洋大学 增量式相机旋转估计方法
US11466988B2 (en) * 2018-12-13 2022-10-11 Goertek Inc. Method and device for extracting key frames in simultaneous localization and mapping and smart device

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2541884A (en) * 2015-08-28 2017-03-08 Imp College Of Science Tech And Medicine Mapping a space using a multi-directional camera
WO2017172778A1 (en) * 2016-03-28 2017-10-05 Sri International Collaborative navigation and mapping
EP3644281A4 (en) * 2017-06-20 2021-04-28 Sony Interactive Entertainment Inc. CALIBRATION DEVICE, CALIBRATION CHART, CHART PATTERN GENERATING DEVICE, AND CALIBRATION PROCEDURE
EP3435330B1 (en) * 2017-07-24 2021-09-29 Aptiv Technologies Limited Vehicule based method of object tracking
EP3692336B1 (en) * 2017-10-06 2022-05-18 Qualcomm Incorporated Simultaneous relocation and reinitialization of vslam
US11170224B2 (en) * 2018-05-25 2021-11-09 Vangogh Imaging, Inc. Keyframe-based object scanning and tracking
US11940277B2 (en) * 2018-05-29 2024-03-26 Regents Of The University Of Minnesota Vision-aided inertial navigation system for ground vehicle localization
CN110111389B (zh) * 2019-05-14 2023-06-02 南京信息工程大学 一种基于slam的移动增强现实跟踪注册方法和系统
CN110599545B (zh) * 2019-09-06 2022-12-02 电子科技大学中山学院 一种基于特征的构建稠密地图的系统
US11487022B2 (en) * 2019-12-06 2022-11-01 Black Sesame Technologies Inc. 3D point cloud map alignment with open street map for outdoor 6D localization on mobile platforms
CN111260733B (zh) * 2020-01-13 2023-03-24 魔视智能科技(上海)有限公司 车载环视多相机系统的外参数估计方法及其系统
CN111461141B (zh) * 2020-03-30 2023-08-29 歌尔科技有限公司 一种设备位姿计算方法装置及设备
CN111462210B (zh) * 2020-03-31 2023-06-16 华南理工大学 一种基于极线约束的单目线特征地图构建方法
CN111508067B (zh) * 2020-04-15 2024-01-30 中国人民解放军国防科技大学 一种基于垂直平面和垂直线的轻量级室内建模方法
US11430142B2 (en) * 2020-04-28 2022-08-30 Snap Inc. Photometric-based 3D object modeling
CN113701766A (zh) * 2020-05-20 2021-11-26 浙江欣奕华智能科技有限公司 一种机器人地图的构建方法、机器人的定位方法及装置
CN111932451B (zh) * 2020-06-17 2023-11-10 珠海格力电器股份有限公司 重定位效果的评价方法、装置、电子设备和存储介质
CN112146654B (zh) * 2020-08-25 2022-08-23 浙江大学 基于关键约束帧的前视成像声呐水下定位与导航方法
CN112101160B (zh) * 2020-09-04 2024-01-05 浙江大学 一种面向自动驾驶场景的双目语义slam方法
CN112435325B (zh) * 2020-09-29 2022-06-07 北京航空航天大学 基于vi-slam和深度估计网络的无人机场景稠密重建方法
KR20220061769A (ko) 2020-11-06 2022-05-13 삼성전자주식회사 Slam을 가속화하는 방법 및 이를 이용한 장치
CN112465704B (zh) * 2020-12-07 2024-02-06 清华大学深圳国际研究生院 一种全局-局部自适应优化的全景光场拼接方法
CN112507056B (zh) * 2020-12-21 2023-03-21 华南理工大学 一种基于视觉语义信息的地图构建方法
KR20220090597A (ko) * 2020-12-22 2022-06-30 한국전자기술연구원 특징 매칭을 이용한 위치추적장치 및 방법
CN112762938B (zh) * 2020-12-24 2022-08-09 哈尔滨工程大学 一种基于旋转矩阵的因子图协同定位方法
CN112767477A (zh) * 2020-12-31 2021-05-07 北京纵目安驰智能科技有限公司 一种定位方法、装置、存储介质及电子设备
CN112819943B (zh) * 2021-01-15 2022-08-30 北京航空航天大学 一种基于全景相机的主动视觉slam系统
CN112767482B (zh) * 2021-01-21 2022-09-02 山东大学 一种多传感器融合的室内外定位方法及系统
CN112902953B (zh) * 2021-01-26 2022-10-04 中国科学院国家空间科学中心 一种基于slam技术的自主位姿测量方法
CN113177877B (zh) * 2021-04-13 2022-06-28 浙江大学 一种面向slam后端优化的舒尔消除加速器
CN113514058A (zh) * 2021-04-23 2021-10-19 北京华捷艾米科技有限公司 融合msckf和图优化的视觉slam定位方法及装置
CN113203407B (zh) * 2021-05-20 2024-01-02 南昌大学 基于关键平面的视觉惯性里程计方法
CN113433553B (zh) * 2021-06-23 2022-08-02 哈尔滨工程大学 一种水下机器人多源声学信息融合精确导航方法
CN113781645B (zh) * 2021-08-31 2024-03-26 同济大学 一种面向室内泊车环境的定位和建图方法
CN114332362A (zh) * 2021-12-15 2022-04-12 东南大学 一种耦合光学定位与实时更新的测斜监测装置及方法
CN114677409A (zh) * 2022-02-25 2022-06-28 中国科学院微小卫星创新研究院 基于边缘匹配的空间非合作目标三维跟踪方法
CN115937002B (zh) * 2022-09-09 2023-10-20 北京字跳网络技术有限公司 用于估算视频旋转的方法、装置、电子设备和存储介质
CN116358547B (zh) * 2022-12-09 2024-01-30 珠海创智科技有限公司 一种基于光流估计获取agv位置的方法
CN115932907B (zh) * 2022-12-16 2024-02-13 南京航空航天大学 基于卡尔曼滤波器和粒子群优化的单目标直接跟踪方法
CN116147618B (zh) * 2023-01-17 2023-10-13 中国科学院国家空间科学中心 一种适用动态环境的实时状态感知方法及系统
CN117649536B (zh) * 2024-01-29 2024-04-16 华东交通大学 一种点线和线结构特征融合的视觉同步定位与建图方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530881A (zh) * 2013-10-16 2014-01-22 北京理工大学 适用于移动终端的户外增强现实无标志点跟踪注册方法
CN104881869A (zh) * 2015-05-15 2015-09-02 浙江大学 一种移动平台上的实时全景跟踪与拼接方法
CN105513083A (zh) * 2015-12-31 2016-04-20 新浪网技术(中国)有限公司 一种ptam摄像机跟踪方法及装置
WO2016099866A1 (en) * 2014-12-19 2016-06-23 Qualcomm Incorporated Scalable 3d mapping system
CN106446815A (zh) * 2016-09-14 2017-02-22 浙江大学 一种同时定位与地图构建方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8946606B1 (en) * 2008-03-26 2015-02-03 Arete Associates Determining angular rate for line-of-sight to a moving object, with a body-fixed imaging sensor
US20100045701A1 (en) * 2008-08-22 2010-02-25 Cybernet Systems Corporation Automatic mapping of augmented reality fiducials

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530881A (zh) * 2013-10-16 2014-01-22 北京理工大学 适用于移动终端的户外增强现实无标志点跟踪注册方法
WO2016099866A1 (en) * 2014-12-19 2016-06-23 Qualcomm Incorporated Scalable 3d mapping system
CN104881869A (zh) * 2015-05-15 2015-09-02 浙江大学 一种移动平台上的实时全景跟踪与拼接方法
CN105513083A (zh) * 2015-12-31 2016-04-20 新浪网技术(中国)有限公司 一种ptam摄像机跟踪方法及装置
CN106446815A (zh) * 2016-09-14 2017-02-22 浙江大学 一种同时定位与地图构建方法

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108469823B (zh) * 2018-04-04 2020-03-20 浙江大学 一种基于单应性的移动机器人编队跟随方法
CN108469823A (zh) * 2018-04-04 2018-08-31 浙江大学 一种基于单应性的移动机器人编队跟随方法
CN109903330A (zh) * 2018-09-30 2019-06-18 华为技术有限公司 一种处理数据的方法和装置
CN109903330B (zh) * 2018-09-30 2021-06-01 华为技术有限公司 一种处理数据的方法和装置
US11466988B2 (en) * 2018-12-13 2022-10-11 Goertek Inc. Method and device for extracting key frames in simultaneous localization and mapping and smart device
CN109785393A (zh) * 2018-12-29 2019-05-21 西安理工大学 一种基于平面运动约束的相机自标定方法
CN109785393B (zh) * 2018-12-29 2022-11-25 西安理工大学 一种基于平面运动约束的相机自标定方法
CN110070580A (zh) * 2019-03-29 2019-07-30 南京华捷艾米软件科技有限公司 基于局部关键帧匹配的slam快速重定位方法及图像处理装置
CN110009732B (zh) * 2019-04-11 2023-10-03 司岚光电科技(苏州)有限公司 基于gms特征匹配的面向复杂大尺度场景三维重建方法
CN110009732A (zh) * 2019-04-11 2019-07-12 司岚光电科技(苏州)有限公司 基于gms特征匹配的面向复杂大尺度场景三维重建方法
CN110288710B (zh) * 2019-06-26 2023-04-07 Oppo广东移动通信有限公司 一种三维地图的处理方法、处理装置及终端设备
CN110288710A (zh) * 2019-06-26 2019-09-27 Oppo广东移动通信有限公司 一种三维地图的处理方法、处理装置及终端设备
CN110322511A (zh) * 2019-06-28 2019-10-11 华中科技大学 一种基于物体和平面特征的语义slam方法和系统
CN110322511B (zh) * 2019-06-28 2021-03-26 华中科技大学 一种基于物体和平面特征的语义slam方法和系统
CN110490222A (zh) * 2019-07-05 2019-11-22 广东工业大学 一种基于低性能处理器设备的半直接视觉定位方法
CN110490222B (zh) * 2019-07-05 2022-11-04 广东工业大学 一种基于低性能处理器设备的半直接视觉定位方法
WO2021057745A1 (zh) * 2019-09-27 2021-04-01 Oppo广东移动通信有限公司 地图融合方法及装置、设备、存储介质
CN110853151B (zh) * 2019-10-15 2024-02-09 西安理工大学 一种基于视频的三维立体点集恢复方法
CN110853151A (zh) * 2019-10-15 2020-02-28 西安理工大学 一种基于视频的三维立体点集恢复方法
CN110889349A (zh) * 2019-11-18 2020-03-17 哈尔滨工业大学 一种基于vslam的稀疏三维点云图的视觉定位方法
WO2021155828A1 (en) * 2020-02-05 2021-08-12 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method and system for implementing dynamic input resolution for vslam systems
CN111292420A (zh) * 2020-02-28 2020-06-16 北京百度网讯科技有限公司 用于构建地图的方法和装置
CN111709997B (zh) * 2020-06-30 2023-03-24 华东理工大学 一种基于点与平面特征的slam实现方法及系统
CN111709997A (zh) * 2020-06-30 2020-09-25 华东理工大学 一种基于点与平面特征的slam实现方法及系统
CN114066977B (zh) * 2020-08-05 2024-05-10 中国海洋大学 增量式相机旋转估计方法
CN114066977A (zh) * 2020-08-05 2022-02-18 中国海洋大学 增量式相机旋转估计方法
CN112950671B (zh) * 2020-08-06 2024-02-13 中国人民解放军32146部队 一种无人机对运动目标实时高精度参数测量方法
CN112950671A (zh) * 2020-08-06 2021-06-11 郑锴 一种无人机对运动目标实时高精度参数测量方法
CN113016007A (zh) * 2020-08-12 2021-06-22 香港应用科技研究院有限公司 估计相机相对于地面的方位的装置和方法
CN113016007B (zh) * 2020-08-12 2023-11-10 香港应用科技研究院有限公司 估计相机相对于地面的方位的装置和方法
CN112686153B (zh) * 2020-12-30 2023-04-18 西安邮电大学 一种用于人体行为识别的三维骨架关键帧选择方法
CN112686153A (zh) * 2020-12-30 2021-04-20 西安邮电大学 一种用于人体行为识别的三维骨架关键帧选择方法
CN112819744A (zh) * 2021-02-26 2021-05-18 中国人民解放军93114部队 Gnss和视觉slam融合的轨迹测量方法和装置
CN112819744B (zh) * 2021-02-26 2024-05-14 中国人民解放军93114部队 Gnss和视觉slam融合的轨迹测量方法和装置
CN113361365A (zh) * 2021-05-27 2021-09-07 浙江商汤科技开发有限公司 定位方法和装置、设备及存储介质
CN113465596A (zh) * 2021-06-25 2021-10-01 电子科技大学 一种基于多传感器融合的四旋翼无人机定位方法

Also Published As

Publication number Publication date
US20190234746A1 (en) 2019-08-01
US11199414B2 (en) 2021-12-14

Similar Documents

Publication Publication Date Title
WO2018049581A1 (zh) 一种同时定位与地图构建方法
CN106446815B (zh) 一种同时定位与地图构建方法
US10948297B2 (en) Simultaneous location and mapping (SLAM) using dual event cameras
Qin et al. Vins-mono: A robust and versatile monocular visual-inertial state estimator
CN109993113B (zh) 一种基于rgb-d和imu信息融合的位姿估计方法
CN109307508B (zh) 一种基于多关键帧的全景惯导slam方法
CN111561923B (zh) 基于多传感器融合的slam制图方法、系统
Li et al. Monocular visual-inertial state estimation for mobile augmented reality
Liu et al. Robust keyframe-based monocular SLAM for augmented reality
WO2019170164A1 (zh) 基于深度相机的三维重建方法、装置、设备及存储介质
WO2019170166A1 (zh) 深度相机标定方法以及装置、电子设备及存储介质
JP5722502B2 (ja) モバイルデバイスのための平面マッピングおよびトラッキング
WO2018129715A1 (zh) 一种同时定位与稠密三维重建方法
CN111445526B (zh) 一种图像帧之间位姿的估计方法、估计装置和存储介质
CN109461208B (zh) 三维地图处理方法、装置、介质和计算设备
CN108682027A (zh) 基于点、线特征融合的vSLAM实现方法及系统
CN111127524A (zh) 一种轨迹跟踪与三维重建方法、系统及装置
CN111882602B (zh) 基于orb特征点和gms匹配过滤器的视觉里程计实现方法
CN109785373B (zh) 一种基于散斑的六自由度位姿估计系统及方法
Liu et al. A SLAM-based mobile augmented reality tracking registration algorithm
Zhang et al. Hand-held monocular SLAM based on line segments
Yang et al. CubeSLAM: Monocular 3D object detection and SLAM without prior models
JP6922348B2 (ja) 情報処理装置、方法、及びプログラム
Ok et al. Simultaneous tracking and rendering: Real-time monocular localization for MAVs
CN111829522B (zh) 即时定位与地图构建方法、计算机设备以及装置

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: 16915966

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: 16915966

Country of ref document: EP

Kind code of ref document: A1