WO2020155615A1 - Vslam方法、控制器和可移动设备 - Google Patents
Vslam方法、控制器和可移动设备 Download PDFInfo
- Publication number
- WO2020155615A1 WO2020155615A1 PCT/CN2019/102686 CN2019102686W WO2020155615A1 WO 2020155615 A1 WO2020155615 A1 WO 2020155615A1 CN 2019102686 W CN2019102686 W CN 2019102686W WO 2020155615 A1 WO2020155615 A1 WO 2020155615A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- pose
- relative pose
- related information
- visual
- key frame
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/579—Depth or shape recovery from multiple images from motion
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; 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/16—Navigation; 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/165—Navigation; 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/1656—Navigation; 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Definitions
- the present invention relates to the field of movable equipment, in particular to a VSLAM method, controller and movable equipment.
- Movable devices are machines that perform work autonomously or semi-autonomously, and can be applied to many scenarios.
- the mobile device obtains environmental information through a variety of sensors and responds to the environmental information so that the mobile device can complete the set task safely, reliably, efficiently and intelligently.
- Simultaneous Localization and Mapping means that a mobile device starts to move from an unknown location in an unknown environment, and locates itself based on its own pose and map during the movement, and at the same time, based on its own positioning Build incremental maps to realize autonomous positioning and navigation of mobile devices.
- Visual SLAM refers to a mobile device that uses a visual system to realize autonomous positioning and map creation. It has the advantages of low cost and strong adaptability. In the VSLAM system, visual images and dead reckoning methods are combined to locate and map movable equipment.
- the feature points of the current image and the feature points of the pre-created landmarks are generally matched first, and the three-dimensional coordinates of the feature points on the matched landmarks are calculated.
- the three-dimensional coordinates of the feature points are generally Refers to the three-dimensional coordinates of the spatial point corresponding to the feature point in the camera coordinate system, and can also convert the three-dimensional coordinates in the camera coordinate system to the global coordinate system. If the three-dimensional coordinates of the feature point are in the global coordinate system, and the origin of the global coordinate system is selected as the initial position point of the movable device in the global coordinate system, the visual relative pose is the same as the visual absolute pose.
- the three-dimensional coordinates of the spatial points corresponding to the feature points are generally calculated based on the selected two frames of images.
- the two frames of images involved in the calculation need to meet certain conditions to calculate the three-dimensional coordinates of the spatial points, for example, the two frames of images can match There should be enough feature points, and the distance between the two frames of images in the space is within the set range.
- the calculation of the three-dimensional coordinates of the feature points is easy to fail, resulting in a decrease in the success rate of creating road signs, and the number of road signs available for matching in the database is reduced.
- the calculation result of VSLAM is not accurate enough, which affects the final positioning and mapping results.
- the present invention provides a VSLAM method, a controller and a movable device.
- a VSLAM method including:
- the visual relative pose-related information is calculated according to the successfully matched image and key frames, wherein the visual relative pose-related information includes the visual relative pose, and the visual relative pose is based on the mutual relationship between the successfully matched image and the key frame.
- the two-dimensional coordinates of the matched feature points are calculated;
- the absolute pose and map of the movable device are updated based on the visual relative pose related information and dead reckoning relative pose related information.
- the key frame includes: an absolute pose
- the absolute pose is the pose of the movable device in the global coordinate system when the image on which the key frame is based is taken
- the map includes at least one node Absolute pose
- the method further includes:
- the absolute pose in the key frame corresponding to the node is updated.
- the calculation of visual relative pose related information based on the successfully matched image and key frame includes:
- the visual relative pose is calculated
- Reselect candidate frames and subsequent calculations until the end of the loop, the end of the loop includes: the number of reasonable visual relative poses reaches a preset number threshold, or all key frames that successfully match are selected;
- the related information includes: the covariance matrix and the associated two node identifiers .
- Optional also includes:
- feature points are extracted from the image to obtain the two-dimensional coordinates and descriptors of the feature points;
- a new key frame is created, and the new key frame is stored in a key frame database, and the new key frame includes: the feature The two-dimensional coordinates and descriptor of the point.
- the key frame further includes: an absolute pose, where the absolute pose is the pose of the movable device in the global coordinate system when the image on which the key frame is based is taken, and the method further includes:
- the absolute pose corresponding to the image is calculated by calculating the relative pose according to the absolute pose corresponding to the previous image or key frame and the dead-reckoning corresponding to the corresponding time interval.
- Optional also includes:
- the dead reckoning relative posture related information is calculated according to the original posture.
- the updating the absolute pose and map of the movable device according to the visual relative pose related information and dead reckoning relative pose related information includes:
- Optional also includes:
- the dead reckoning relative pose related information is used to update the absolute pose of the movable device at the latest moment.
- the two-dimensional coordinates are the two-dimensional coordinates of the feature point on the pixel coordinate system.
- a controller including:
- a processor and, a memory for storing executable instructions of the processor
- a movable device including:
- Dead reckoning sensor used to provide original pose or motion data to directly obtain the original pose or calculate the original pose based on the motion data
- Vision sensor used to collect images
- the controller is connected to the dead reckoning sensor and the visual sensor, and is used to execute the method according to any one of the first aspect of the embodiments of the present invention.
- a non-transitory computer-readable storage medium When instructions in the storage medium are executed by a controller in a removable device, the The method of any one of aspects.
- a VSLAM device including:
- the first receiving module is used to receive the image sent by the vision sensor
- the matching module is used to read key frames from a pre-established key frame database, and after the key frames are read, match the image with the read key frames;
- the first calculation module is configured to calculate the visual relative pose related information according to the successfully matched image and the key frame, wherein the visual relative pose related information includes the visual relative pose, and the visual relative pose is based on the successfully matched image
- the two-dimensional coordinates of the feature points that match each other with the key frame are calculated;
- the first update module is used to update the absolute pose and map of the movable device after obtaining the visual relative pose related information, according to the visual relative pose related information result and dead reckoning relative pose related information.
- the key frame includes: an absolute pose
- the absolute pose is the pose of the movable device in the global coordinate system when the image on which the key frame is based is taken
- the map includes at least one node
- the device further includes:
- the second update module is used to update the absolute pose in the key frame corresponding to the node according to the absolute pose of the node in the updated map.
- the first calculation module is specifically configured to:
- the visual relative pose is calculated
- Reselect candidate frames and subsequent calculations until the end of the loop, the end of the loop includes: the number of reasonable visual relative poses reaches a preset number threshold, or all key frames that successfully match are selected;
- the related information includes: the covariance matrix and the associated two node identifiers .
- Optional also includes:
- the creation module is used to extract feature points from the image when the preset creation conditions are reached to obtain the two-dimensional coordinates and descriptors of the feature points; when the number of extracted feature points is greater than or equal to the preset extraction threshold, Then, a new key frame is created, and the new key frame is stored in a key frame database.
- the new key frame includes: the two-dimensional coordinates of the feature point and the descriptor.
- the key frame further includes: an absolute pose, the absolute pose is the pose of the movable device in the global coordinate system when the image on which the key frame is based is taken, and the device further includes:
- the acquisition module is used to calculate the absolute pose corresponding to the image according to the absolute pose corresponding to the previous image or key frame and the dead-reckoning corresponding to the corresponding time interval to calculate the relative pose. .
- Optional also includes:
- the second receiving module is configured to receive the original pose sent by the dead reckoning sensor; or, receive the motion data sent by the dead reckoning sensor, and calculate the original pose according to the motion data;
- the second calculation module is configured to calculate the dead reckoning relative pose related information according to the original pose.
- the first update module is specifically configured to:
- Optional also includes:
- the third update module is used to update the absolute pose of the movable device at the latest moment by using dead reckoning to calculate the relative pose related information when the visual relative pose related information cannot be obtained.
- the two-dimensional coordinates are the two-dimensional coordinates of the feature point on the pixel coordinate system.
- the various limitations of calculating the above-mentioned three-dimensional coordinates can be avoided, and the calculation of the visual relative position can be improved.
- the success rate of the pose thereby improving the accuracy and computing speed of the final positioning and mapping results.
- Fig. 1 is a schematic structural diagram of a VSLAM system according to an exemplary embodiment
- Fig. 2 is a schematic structural diagram of a controller according to an exemplary embodiment
- Fig. 3 is a schematic flowchart of a VSLAM method according to an exemplary embodiment
- Fig. 4 is a schematic diagram showing a processing flow of data preprocessing according to an exemplary embodiment
- Fig. 5 is a schematic diagram showing a processing flow of calculating visual relative pose according to an exemplary embodiment
- Fig. 6 is a schematic diagram showing the absolute pose of a movable device according to an exemplary embodiment
- Fig. 7 is a schematic diagram showing a process of creating a key frame according to an exemplary embodiment
- Fig. 8 is a schematic diagram showing a processing flow of data fusion according to an exemplary embodiment
- Fig. 9 is a schematic structural diagram of a controller according to an exemplary embodiment
- Fig. 10 is a schematic structural diagram of a VSLAM device according to an exemplary embodiment.
- the movable equipment involved in at least one embodiment of the present invention may be, for example, cleaning robots, companion mobile robots, service mobile robots, industrial inspection intelligent equipment, security robots, unmanned vehicles, drones, and the like.
- Cleaning robots such as smart sweepers, smart floor cleaners, window cleaning robots, companion mobile robots such as smart electronic pets, nanny robots, service mobile robots such as reception robots in hotels, hotels, meeting places, and industrial inspection smart devices such as electricity Inspection robots, smart forklifts, security robots such as home or commercial smart guard robots.
- sensors for mobile devices include:
- Code plate a digital encoder used to measure angular displacement. It has the advantages of strong resolving power, high measurement accuracy and reliable work. It is one of the most commonly used displacement sensors for measuring the position of the shaft rotation angle.
- the known size of the matching tire can be used for positioning and/or speed measurement of the movable device.
- IMU Inertial measurement unit
- the gyroscope is a device used to detect the angular movement of movable equipment.
- the angular velocity of the movable equipment can be measured through the diagonal velocity. By integrating, the angle of the movable device can be obtained.
- a 3-axis gyroscope can be used to calculate the posture of the movable device in three-dimensional space;
- the accelerometer is a device used to detect the acceleration of the movable device and can measure the position of the movable device Acceleration is obtained by integrating acceleration to obtain velocity, and integrating velocity can obtain displacement.
- a camera a device that can perceive the surrounding environment, is inexpensive and can provide rich information for positioning, mapping, and target/obstacle identification.
- Cameras include monocular cameras, binocular cameras, and multi-lens cameras. Monocular cameras cannot provide a reference scale. Therefore, in practice, it is often necessary to combine other sensors to work, while binocular and multi-lens cameras can provide spatial scales.
- GPS Global Positioning System
- 2D/3D laser ranging sensors 2D/3D laser ranging sensors
- ultrasonic ranging sensors etc.
- code discs and inertial measurement units are all dead reckoning sensors.
- VSLAM usually includes: feature extraction, image matching, data fusion and so on.
- Image features can be extracted during feature extraction.
- Commonly used image features include point features and line features.
- point features There are many ways to extract point features, including Harris, FAST, ORB, SIFT, SURT, etc. and based on deep learning Point feature extraction method.
- ORB uses FAST algorithm to detect feature points. This method is based on the gray value of the image around the feature point to detect the pixel value of a circle around the candidate feature point. If there are enough pixels in the area around the candidate point and the gray value of the candidate point is sufficiently different, it is considered The candidate point is a feature point. as follows:
- I(x) is the gray value of any pixel on the circle with the candidate point as the center and the radius as the set value
- I(p) is the center of the circle, which is the gray value of the candidate point
- ⁇ d is gray
- the threshold of the degree difference If N is greater than a given threshold, p is considered a feature point, and N is generally three-quarters of the total number of I(x).
- I A represents the gray value of point A
- I B represents the gray value of point B.
- the final descriptor is: 1011.
- ⁇ is the orientation of the feature point
- I(x,y) is the gray value of the pixel with coordinates (x0+x,y0+y)
- (x0,y0) is the coordinate of the feature point
- x and y are The coordinate offset.
- BoW Bag of Words
- the i-th image can be composed of n(i) feature points, that is, it can be expressed by n(i) feature vectors, then a total of sum(n(i)) feature vectors (ie words ).
- the feature vector is represented by the descriptor of the feature point, or after the descriptor is normalized by the orientation, it is represented by the normalized descriptor.
- the feature vector can be designed according to the feature problem. Common features include Color histogram, SIFT, LBP, etc.
- Cluster the feature vectors obtained in the previous step (clustering methods such as K-means can be used) to obtain K cluster centers, and use the cluster centers to construct a codebook.
- each "word" of the picture should belong to the "type of” word in the codebook through the nearest neighbor, so as to obtain the BoW representation of the picture corresponding to the codebook.
- the tf-idf model is widely used in practical applications such as search engines.
- the main idea of the tf-idf model is: if the word w appears frequently in an image d and rarely appears in other images, it is considered that the word w has a good distinguishing ability and is suitable for combining the image d with Differentiate from other images.
- the model mainly includes two factors:
- the tf-idf model calculates a weight for each image d and the query string q composed of keywords w[1]...w[k] according to tf and idf, which is used to indicate the matching degree between the query string q and the image d:
- Kalman filtering The process equations and observation equations used in Kalman filtering are:
- X_k AX_k-1+Bu_k+w_k-1
- X_k is the state vector of the system
- a and B are the parameters of the process equation
- u_k is the input of the system
- w_k-1 is the process noise
- Z_k is the observation vector
- H is the parameter of the observation equation
- v_k is the observation noise.
- each X_k can be represented by a linear random equation. Any state vector X_k is a linear combination of the state vector of its previous state plus the input quantity u_k and the process noise w_k-1.
- the second formula indicates that any observation vector is a linear combination of the current state vector and the observation noise. Generally, the value obeys Gaussian distribution by default.
- the current state vector can be predicted according to the state vector of the system at the last moment and the current input amount, as follows:
- Is the estimator of the state vector at k-1 Is the estimator of the state vector at k-1
- u k is the input at k
- Is the predicted amount of the state vector at time k Is the predicted amount of the covariance matrix of the state vector at time k
- P k-1 is the covariance matrix of the state vector at time k-1
- Q is the variance of the process noise
- a and B are the parameters of the process equation
- the estimate of the current state vector can be obtained according to the current observation vector and the prediction of the current state vector, as follows:
- K k is the Kalman gain
- R is the variance of the observation noise
- z k is the observation vector at time k
- H is the parameter of the observation equation.
- Kalman filter In practice, there are many improved methods based on Kalman filter, such as extended Kalman filter, unscented Kalman filter, iterative Kalman filter, multi-state Kalman filter and so on. There are also particle filters and so on.
- the filtering method is based on recursion, while the nonlinear optimization method is based on iteration.
- the nonlinear optimization method is introduced below.
- H is the second derivative (Hesse matrix). You can choose to keep the first-order or second-order terms of the Taylor expansion, and the corresponding solution method is the one-step or two-step method. If one step is retained, then the incremental solution is:
- This method is called Newton's method.
- Gauss Newton method Levenberg-Marquadt method (Levenberg-Marquadt method) and so on.
- sliding window optimization or incremental optimization iSAM
- each key frame Stored in the key frame database, each key frame is constructed based on the image collected by the vision sensor. If not specifically stated, the vision sensor is set on a mobile device.
- the vision sensor may be, for example, a camera, video camera or camera.
- Each key frame includes the following set of data: the absolute pose of the movable device in the global coordinate system when the image on which the key frame is taken, the two-dimensional coordinates and descriptors of the feature points in the image on which the key frame is based .
- the absolute pose represents position and posture; the position is represented by coordinates.
- the absolute pose can be represented by three parameters (x, y, ⁇ ), where (x, y) represents the position of the movable device, ⁇ Represents the posture of the movable device; and in three-dimensional space, the position of the movable device is represented by (x, y, z) in the Cartesian coordinate system or ( ⁇ , ⁇ , r) in the spherical coordinate system; the posture of the movable device is represented by The orientation of the mobile device or its camera, usually an angle, such as in three-dimensional space, Indicates that these three angles are usually called pitch angle, roll angle, and yaw angle.
- the key frame does not include the three-dimensional coordinates of the space points corresponding to the feature points. Specifically, it does not include the three-dimensional coordinates of the space points in the global coordinate system or the three-dimensional coordinates of the space points in the camera coordinate system. coordinate.
- the above-mentioned two-dimensional coordinates refer to the two-dimensional coordinates of the feature point in the pixel coordinate system.
- the absolute pose of the movable device that is, the absolute pose of the above-mentioned movable device in the global coordinate system, and refers to the position and attitude of the movable device in the global coordinate system.
- the absolute pose of the node the data of the node stored in the controller, the value is consistent with the absolute pose of the movable device when the node is created.
- Original pose Obtained according to the data provided by the dead reckoning sensor.
- the dead reckoning sensor can directly provide the original pose, or the dead reckoning sensor can provide motion data, and the controller calculates the original pose based on the motion data.
- the original pose is also an absolute amount to distinguish it from a relative amount, which can be understood as the absolute pose of the mobile device before optimization. It should be noted that, unless otherwise specified in the present invention, the dead reckoning sensor directly provides the original pose as an example for description.
- Global coordinate system the coordinate system fixed in the environment.
- Dead reckoning relative pose The relative amount of the absolute pose of the movable device at the first moment and the absolute pose of the movable device at the second moment provided by the dead reckoning sensor.
- Visual relative pose The absolute pose of the mobile device at the first moment and the absolute pose of the mobile device at the second moment based on the current image taken by the vision sensor and the key frame that matches the current image successfully. The relative amount of pose.
- the visual relative pose is calculated according to the two-dimensional coordinates of the matched feature points between the successfully matched image and the key frame. It is only related to the visual sensor and has nothing to do with the dead reckoning sensor.
- the aforementioned absolute pose at the first moment refers to the absolute pose of the movable device when the vision sensor collects the current image
- the absolute pose at the second moment refers to the absolute pose included in the key frame matching the current image
- the above-mentioned dead reckoning relative pose and the relative amount in the visual relative pose both include the relative amount in position and the relative amount in attitude.
- the relative amount of the visual relative pose is in the same form as the relative amount of the dead reckoning relative pose
- the position of the visual relative pose is The relative quantity of is different from the relative quantity on the position of dead reckoning relative pose.
- the dimension of the relative quantity on the position of the visual relative pose is one dimension less than the dimension of the relative quantity on the position of the dead reckoning relative pose.
- the dead reckoning relative pose is expressed as ( ⁇ x, ⁇ y, ⁇ ), and in the present invention, the visual relative The pose is expressed as ( ⁇ , ⁇ ), where,
- the visual relative pose of the present invention is 5 parameter values ( ⁇ , ⁇ , ⁇ , ⁇ , ⁇ ), while the dead reckoning relative pose is 6 parameter values ( ⁇ , ⁇ , ⁇ r, ⁇ , ⁇ , ⁇ ), it can be seen from the above comparison that the relative amount of the visual relative pose is one dimension less than the relative amount of the dead reckoning relative pose.
- Fig. 1 is a schematic structural diagram of a VSLAM system according to an exemplary embodiment.
- the system includes a dead reckoning sensor 11, a visual sensor 12 and a controller 13.
- the dead reckoning sensor 11 is used to generate the original pose or motion data used to calculate the original pose.
- the visual sensor 12 includes a camera, an infrared imager, etc., for collecting images.
- the controller 13 is used for positioning and/or mapping based on the original pose and the image from the vision sensor. It can be understood that the pose output by the controller 13 in the figure refers to the updated absolute pose of the movable device.
- the VSLAM system can be specifically applied to mobile devices, such as the field of mobile robots, so the system can be a component of mobile devices.
- the controller 13 may be hardware, software, firmware, or a combination thereof.
- the motion data of the dead reckoning sensor includes the displacement data, speed data, acceleration data, angle data, angular velocity data, etc. of the movable device.
- the controller can calculate the original posture according to the motion data of the dead reckoning sensor, or dead reckoning
- the sensor can also calculate the original pose based on the motion data and provide it to the controller. Unless otherwise specified, the present invention takes the dead reckoning sensor to provide the controller with the original pose as an example.
- the motion data or the original pose generated by it has accumulated errors.
- the original pose needs to be corrected.
- the correction is made based on the image collected by the vision sensor.
- the vision sensor can photograph the surrounding environment to obtain images according to the collection period set by the controller.
- the image collected by the vision sensor and the original pose collected by the dead reckoning sensor are transferred to the controller, and the controller corrects the original pose collected by the dead reckoning sensor according to the image collected by the vision sensor, and then locates and builds the map.
- the original pose is corrected based on the image collected by the vision sensor to realize positioning and mapping, and when applied to a movable device, the VSLAM of the movable device is realized.
- Fig. 2 is a schematic diagram showing the structure of a controller according to an exemplary embodiment.
- the controller can be divided into a data preprocessing module 21 and a data fusion module 22.
- the data preprocessing module 21 receives the original pose from the dead reckoning sensor, and receives the image from the visual sensor, and after processing it, it can obtain the dead reckoning relative pose, visual relative pose, new key frame identification,
- the node identification and related information constitute a preprocessing result, and the node identification includes: a new node identification and/or an associated node identification.
- the data fusion module 22 performs positioning and mapping based on the preprocessing result. It is understandable that the dead reckoning relative pose and related information can also be calculated by the data fusion module. At this time, the data preprocessing module provides the original pose to the data fusion module, and the data preprocessing module does not perform dead reckoning. The calculation of relative pose and related information is calculated by the data fusion module.
- the data fusion module can record the absolute pose of each node. After the absolute pose of the node is optimized based on the visual relative pose, the optimized absolute pose of the current node is used as the current positioning result, and the positioning is completed; the node includes key frames Nodes and pose nodes, the optimized absolute pose of the key frame node recorded in the back end can be understood as map information, thus completing the mapping.
- the key frame database is used to store key frames. Depending on the current situation, the number of key frames stored in the key frame database can be zero, one or more.
- the key frame is created based on the image collected by the vision sensor. For the specific content of the key frame, please refer to the above term description.
- Fig. 3 is a schematic flowchart of a VSLAM method according to an exemplary embodiment.
- the positioning method can be executed by the controller.
- the VSLAM method includes:
- S301 Receive an image sent by the vision sensor.
- S302 Read key frames from a pre-established key frame database, and, after the key frames are read, match the image with the read key frames.
- S303 Calculate visual relative pose related information according to the successfully matched image and key frame, where the visual relative pose related information includes the visual relative pose, and the visual relative pose is based on the relationship between the successfully matched image and the key frame The two-dimensional coordinates of the matching feature points are calculated.
- the dead-reckoning relative pose-related information is used to update the absolute pose of the movable device at the latest moment.
- the method may also include:
- the dead reckoning relative posture related information is calculated according to the original posture.
- the matching of images and key frames and the calculation of visual relative pose can be executed by the data preprocessing module of the controller, and the absolute pose and/or map of the mobile device can be updated according to the preprocessing results.
- the data fusion module of the processor is executed. Among them, the specific process of data preprocessing can be seen in Figure 4, and the specific process of data fusion can be seen in Figure 8.
- the two-dimensional coordinates of the matching feature points are used instead of the three-dimensional coordinates of the spatial points corresponding to the feature points, which can avoid the various limitations of calculating the above-mentioned three-dimensional coordinates.
- Improve the success rate of the calculated visual relative pose thereby improving the accuracy and computing speed of the final positioning and mapping results.
- the data preprocessing module mainly deals with visual information
- the related dead reckoning relative pose and related information operations are relatively simple, so it will not be repeated here, and it can be realized by the methods adopted in related technologies.
- the dead reckoning relative pose and related information can also be calculated by the data fusion module based on the original pose.
- Fig. 4 is a schematic diagram showing a processing flow of data preprocessing according to an exemplary embodiment.
- the processing flow of data preprocessing includes:
- S401 Receive an image from the vision sensor.
- the key frame database is used to store key frames. At the current moment, there may be key frames in the key frame database, or it may be empty.
- the image data of the key frame includes the feature point information of the key frame.
- the feature points of the image can be extracted to obtain the feature point information of the image, and then the feature point matching is performed according to the feature point information of the image and the feature point information of the key frame.
- the matching threshold is a preset threshold.
- the aforementioned feature point information includes: the two-dimensional coordinates of the feature point in the pixel coordinate system and the descriptor of the feature point.
- the extraction of feature points can be achieved by various related technologies, for example, the scale-invariant feature transform (SIFT) algorithm, the accelerated robust feature (Speeded Up Robust Features, SURF) algorithm, and the rapid extraction of feature points and features
- SIFT scale-invariant feature transform
- SURF accelerated robust feature
- the descriptor combines (Oriented FAST and Rotated Brief, ORB) algorithms for feature point extraction.
- the feature point matching operation After acquiring the feature point information of the image and the feature point information of the key frame, the feature point matching operation is performed.
- the feature point matching operation can also be implemented by various related technologies, for example, according to the original pose and feature corresponding to the image
- the two-dimensional coordinates of the points determine the search range, within the search range, the vector distance is calculated according to the descriptor, and the matching feature points are determined according to the vector distance.
- S405 Determine whether there is at least one successfully matched key frame, if yes, execute S406, otherwise, execute S407.
- a different key frame can be read from the key frame database each time, and then matched with the image, until all the key frames in the key frame database are matched with the image, so as to determine whether there is at least one key for successful matching frame.
- the visual relative pose can be calculated according to the two-dimensional coordinates of the matched feature points of the successfully matched image and the key frame.
- the visual relative pose can be reasonable or unreasonable. Specifically, when the visual relative pose is reasonable, the covariance matrix of the visual relative pose and the two node identifiers associated with the visual relative pose are also obtained. Therefore, when the visual relative pose is reasonable, the visual relative pose and its covariance matrix, the current node identifier and the associated node identifier are used as the visual relative pose related information and put into the preprocessing result; in the calculated visual relative position When the posture is unreasonable, the visual relative posture related information is not included in the preprocessing result.
- the above two node identifiers include the current node identifier and the associated node identifier, where the image identifier and the key frame identifier corresponding to the visual relative pose serve as the current node identifier and the associated node identifier, respectively.
- the covariance matrix image can be pre-configured with image identification. Since the key frame is created based on the image, the key frame can be the same as the image identification of the image that created the key frame. Therefore, the above-mentioned current node identification can be selected as the current image Image identification, the above-mentioned associated node identification may specifically be an image identification of a key frame that successfully matches the image and can calculate a reasonable visual relative pose.
- the current node identifier is the first identifier
- the associated node identifier is the second identifier
- the visual relative pose and dead reckoning relative pose are calculated in the data preprocessing module, which can be provided to the data fusion module for positioning and/or mapping.
- the problems caused by the calculation of three-dimensional coordinates can be avoided, so that the constraint information provided by the vision can be obtained more simply, accurately and quickly.
- Fig. 5 is a schematic diagram showing a processing flow for calculating a visual relative pose according to an exemplary embodiment.
- the process of calculating the visual relative pose includes:
- S501 Sort the key frames that are successfully matched.
- the matched key frames can be sorted according to the similarity between the successfully matched key frames and the image.
- the similarity can be calculated according to the bag of words method.
- first train a word bag then according to the trained word bag, generate the image feature vector of the image and the image feature vector of the key frame; calculate the distance between the image feature vector of the image and the image feature vector of the key frame.
- sorting the root distance can be sorted in ascending order.
- a large number of pre-collected descriptors of feature points can be clustered into a fixed number of categories. Each category is called a word, and then the inverse document frequency of the word can be calculated according to the statistical method.
- Frequency, IDF as the weight of words
- word bag is composed of words and their weights.
- the length of the vector is the number of words in the bag of words, and each bit in the vector is the word frequency—inverse document frequency of the word corresponding to the position in the current picture. , TF-IDF).
- S502 Determine whether the queue is empty, if it is empty, execute S507, otherwise execute S503.
- the queue is used to store the sorted key frames that are successfully matched.
- the key frames that are successfully matched are taken out according to the order of similarity. After the key frames are taken out, then The corresponding key frame is missing from the queue.
- S504 According to the two-dimensional coordinates of the feature points of the image and the two-dimensional coordinates of the feature points of the candidate frame, adopting the principle of epipolar geometry to calculate the visual relative pose.
- the basic matrix is obtained according to the seven-point method or the eight-point method in epipolar geometry.
- the basic matrix can be decomposed by matrix decomposition.
- Get the visual relative pose Or, if you use the five-point method to obtain the essential matrix, you do not need to know the internal parameters of the camera, and you can also get the visual relative pose by performing matrix decomposition on the essential matrix.
- the pose of the movable device can be expressed as (x,y, ⁇ )
- the visual relative pose to be calculated can be expressed as: ( ⁇ , ⁇ )
- K is the internal parameter matrix of the camera.
- the visual relative pose of the mobile device can also be calculated when it moves in the three-dimensional space, then the pose of the mobile robot can be Can be expressed as (x, y, z, ⁇ , ⁇ , ⁇ ), then the visual relative pose to be calculated can be expressed as: ( ⁇ , ⁇ , ⁇ , ⁇ , ⁇ ),
- K is the internal parameter matrix of the camera.
- equation (2) can be expressed as:
- ⁇ (K, ⁇ 1 , ..., ⁇ i, ... ⁇ n), n is the number of groups each matched feature points.
- the covariance matrix of the visual relative pose can be calculated by the following formula:
- ⁇ (X) is the covariance matrix of the visual relative pose
- ⁇ ( ⁇ ) is the empirical value, which is related to camera parameters and sensor noise.
- the calculation method of the covariance matrix mentioned above is only an example method. Approximate calculation can also be done based on experience.
- the covariance matrix is set according to the number of matching points, that is, the more matching points, the more The smaller the value is set, and vice versa.
- the relative pose is calculated using time t1 as the starting point, and the end point at time t2.
- the initial pose of the starting point is set to 0, and the data of the dead reckoning sensor is integrated. Dead reckoning relative pose.
- the covariance of the dead reckoning relative pose can be calculated according to the principle of variance transmission, and the entire calculation process can refer to the process equation of the Kalman filter.
- S505 Determine whether the visual relative pose is reasonable, if yes, execute S506, otherwise, repeat S502 and subsequent steps.
- reasonable conditions can be preset. When the visual relative pose meets the preset reasonable conditions, it indicates that the visual relative pose is reasonable, otherwise it is unreasonable.
- the preset reasonable conditions include, for example, that the image reprojection error calculated according to the visual relative pose is less than the preset error value. Specifically, after the visual relative pose is calculated, it is brought into the above-mentioned multiple sets of equations (1 ), if the difference between the overall value of these multiple sets of equations and 0 is less than the threshold, it indicates that the calculated visual relative pose is reasonable.
- the above-mentioned overall value pairs are calculated according to multiple sets of equations, such as using average values or other calculation methods.
- the preset reasonable conditions can also be based on the current covariance matrix. For example, the current covariance matrix indicates that the current visual relative pose is credible, which indicates that it is reasonable.
- the covariance matrix is determined based on the dead reckoning sensor noise and the abnormal behavior of the movable device, such as slipping.
- S506 Determine whether the number of reasonable visual relative poses reaches the preset number threshold, if yes, execute S507, otherwise, repeat S502 and subsequent steps.
- the number threshold is equal to the preset number threshold, it indicates that it has not been reached.
- the number is equal to the preset number threshold, it indicates that it has been reached.
- S507 Correspond to each reasonable visual relative pose, obtain visual relative pose related information, and add the visual relative pose related information to the preprocessing result.
- the visual relative pose related information includes: the visual relative pose, the covariance matrix of the visual relative pose, and the two node identifiers associated with the visual relative pose.
- the visual relative pose includes: the visual relative pose, the covariance matrix of the visual relative pose, and the two node identifiers associated with the visual relative pose.
- the related content please refer to the related content in S406, which will not be detailed here.
- the reasonable visual relative pose can be one or more
- the preprocessing result can include one or more sets of visual relative pose related information, and each set of information corresponds to a reasonable visual relative pose.
- the group information may specifically include the visual relative pose and its covariance matrix, the current node identifier and the associated node identifier. Further, if there are multiple reasonable visual relative poses, since the current node identifiers corresponding to the multiple visual relative poses are the same, the current node identifier may be included in each group of information, or it may be in each group of information.
- the group information does not include the current node ID, but multiple groups of information share the current node ID. For example, if there are two reasonable visual relative poses, the preprocessing result can have the following two forms:
- Form 1 The first visual relative pose, the covariance matrix of the first visual relative pose, the current node identifier, the first associated node identifier; the second visual relative pose, the covariance matrix of the second visual relative pose, current The node identifier, the second associated node identifier; or,
- Form 2 Current node identification; first visual relative pose, covariance matrix of first visual relative pose, first associated node identity; second visual relative pose, covariance matrix of second visual relative pose, first 2.
- the associated node identifier is
- the preprocessing result does not include the visual relative pose related information.
- the dead reckoning relative position related information is calculated by the data preprocessing module, the preprocessing result includes the dead reckoning relative pose related information, otherwise it includes the original pose.
- Fig. 7 is a schematic diagram showing a process of creating a key frame according to an exemplary embodiment.
- the process of creating a key frame includes:
- the currently received image from the vision sensor is taken as the current image.
- S702 Determine whether the preset creation condition is met, if it is met, execute S703, otherwise execute S705.
- the creation conditions can be set according to requirements, such as setting the time difference from the last creation of the key frame, and when the time difference from the last creation of the key frame reaches the set time difference, the creation of the key frame is triggered; or the trigger condition can also be based on the navigation
- the original pose obtained by the position estimation sensor will trigger the creation of a key frame when the dead-reckoning calculated based on the original pose is greater than a certain threshold; or trigger the creation of a key frame according to the current operating state, such as turning; or When the overlapping area of two adjacent images is collected, when the proportion of the overlapping area is less than a predetermined value, the creation of a key frame is triggered.
- S703 Determine whether the number of feature points of the current image is greater than or equal to the extraction threshold, if yes, execute S704, otherwise, execute S705.
- the extraction process of the feature points can be referred to the above related description, which will not be described in detail here.
- the two-dimensional coordinates of the feature point in the pixel coordinate system and the descriptor of the feature point can be obtained.
- the extraction threshold is a preset threshold.
- S704 The creation is successful, and the acquired image is used as a newly created key frame and stored in the key frame database.
- the current node identifier can also be output to the data fusion module, and the current node identifier can be selected as the image identifier of the newly created key frame. Further, a new key frame identifier may also be included, which indicates that a new key frame is created at this time.
- the key frames stored in the key frame database also include: the mobile device when the image was taken is in the global coordinate system Absolute pose in.
- the absolute pose is calculated based on the absolute pose corresponding to the previous image or key frame and the dead-reckoning corresponding to the corresponding time interval.
- the time correspondence between the image and the original pose can be aligned in the following way: assuming that the image was taken at t0, the original pose at t1 and the original pose at t2 are obtained at the two closest time points to t0.
- the pose and the original pose at time t2 are interpolated to obtain the original pose after interpolation.
- the absolute pose corresponding to the previous image or key frame increases as described above
- the dead reckoning relative pose is the absolute pose of the image, which can be optimized and updated later.
- the number of key frames in the key frame database can further improve the matching success rate of images and key frames, and improve positioning and mapping effects.
- FIG. 8 is a schematic diagram showing a processing flow of data fusion according to an exemplary embodiment.
- the processing flow of the data fusion module includes:
- the preprocessing result always includes: dead reckoning relative pose, dead reckoning relative pose covariance matrix, where dead reckoning relative pose
- the covariance matrix of the pose can be determined based on the sensor noise, the abnormal behavior of the movable device, and so on.
- the preprocessing result includes: dead reckoning relative pose, visual relative pose, dead reckoning relative The covariance matrix of the pose, the covariance matrix of the visual relative pose, and the associated node identification. Further, it may also include a new key frame identifier and a new node identifier.
- the preprocessing result may include a new key frame identifier, and the new key frame identifier indicates that a new key frame is created.
- a new node is created.
- the new node is identified as the data preprocessing module determining whether to create a pose node according to preset judgment conditions.
- the preset judgment conditions include: the current original pose and the original of the previous node (that is, the last created node) Whether the distance between the poses, the angle difference, and the time interval are within or outside the corresponding threshold range.
- the current node created is the key frame node, otherwise it is the pose node.
- S803 Determine the mileage edge according to the dead reckoning relative pose-related information, and use the mileage edge to connect the current node to the existing last created node.
- the data fusion module can record the absolute pose of each node.
- the absolute pose is initially obtained from the absolute pose of the previous node plus the current dead-reckoning relative pose.
- each node includes the use of vision The optimized value of the relative pose. That is, after the data fusion module is optimized, it will record: the optimized absolute pose of each node.
- S804 Determine whether there is a key frame node associated with the current node in the existing nodes, if yes, execute S805, otherwise execute S807.
- the associated node identifier can be obtained from the visual relative pose related information, and when the node indicated by the associated node identifier is included in the existing node, it is determined that there is The key frame node associated with the current node, and the associated key frame node is the node indicated by the associated node identifier.
- S805 Determine a visual edge according to the visual relative pose related information, and use the visual edge to connect the current node to the associated key frame node.
- S806 Perform graph optimization according to the nodes and edges to obtain the updated absolute pose and map of the movable device.
- the input is the absolute pose of all nodes, the relative pose between nodes and its covariance matrix, and the output is the optimized absolute pose of each node.
- the relative pose between nodes includes visual relative pose and Dead reckoning relative pose.
- the optimized absolute pose of the current node is used as the current positioning result, that is, the updated absolute pose of the mobile device at the current position; the optimized absolute pose of the key frame node can be understood as the updated map result , Or, the updated absolute pose of the movable device in different positions.
- the preprocessing result does not contain the visual relative pose related information, there is no need to perform image optimization. Only the information related to the visual relative pose is included, and the graph is optimized after the closed loop is formed by the visual edge.
- the preprocessing result includes only the dead reckoning relative pose related information, that is, only including dead reckoning relative pose and its covariance matrix
- the absolute position of the mobile device at the latest time is updated according to the dead reckoning relative pose related information
- the pose for example, the absolute pose of the movable device at the most recent moment is determined as the absolute pose of the movable device at the previous moment, and the upper dead-end position is added to calculate the relative pose.
- the absolute pose and/or map can be updated quickly after the data fusion module receives the visual relative pose related information.
- the preprocessing result is filtered to update the absolute pose and map of the mobile device.
- the visual relative pose related information is obtained, the prediction The processing results include visual relative pose related information and dead reckoning relative pose related information.
- Kalman filtering it can be done in the following way:
- the recurrence formula involved in Kalman filtering includes:
- the absolute pose of the mobile device required at the current moment is the state vector mentioned above It is usually a vector composed of N elements, the i-th element is the absolute pose of the mobile device at the (k-N+i)-th moment, and N is a preset value.
- N is a preset value.
- the absolute pose of the movable device can also be updated through the filtering method to complete positioning and/or map.
- All steps of the present invention do not involve the calculation of the three-dimensional coordinates of the spatial points corresponding to the feature points, which can avoid the various limitations of calculating three-dimensional coordinates in the prior art, and improve the accuracy and calculation speed of the final positioning and mapping results .
- Fig. 9 is a schematic structural diagram of a controller according to an exemplary embodiment.
- the controller includes: a memory 91 and a processor 92.
- the memory 91 is used to store executable instructions, and when the instructions in the memory are executed by the processor, the above-mentioned VSLAM method is executed.
- the embodiment of the present invention also provides a non-transitory computer-readable storage medium, which executes the above-mentioned VSLAM method when the instructions in the storage medium are executed by the controller in the removable device.
- the embodiment of the present invention also provides a VSLAM device, which can be applied to a mobile device, as shown in FIG. 10, including: a first receiving module 101, a matching module 102, a first calculating module 103, and a first updating module 104 .
- the first receiving module 101 is configured to receive an image sent by the vision sensor
- the matching module 102 is configured to read key frames from a pre-established key frame database, and, after the key frames are read, match the image with the read key frames;
- the calculation module 103 is configured to calculate the visual relative pose related information according to the successfully matched image and key frame, wherein the visual relative pose related information includes the visual relative pose, and the visual relative pose is based on the successfully matched image and The two-dimensional coordinates of the matching feature points between the key frames are calculated;
- the first update module 104 is configured to update the absolute pose and map of the movable device according to the visual relative pose related information and dead reckoning relative pose related information when the visual relative pose related information is obtained.
- the key frame includes: an absolute pose
- the absolute pose is the pose of the movable device in the global coordinate system when the image on which the key frame is based is taken
- the map includes at least one node
- the device further includes:
- the second update module is used to update the absolute pose in the key frame corresponding to the node according to the absolute pose of the node in the updated map.
- the first calculation module is specifically configured to:
- the visual relative pose is calculated
- Reselect candidate frames and subsequent calculations until the end of the loop, the end of the loop includes: the number of reasonable visual relative poses reaches a preset number threshold, or all key frames that successfully match are selected;
- the related information includes: the covariance matrix and the associated two node identifiers .
- Optional also includes:
- the creation module is used to extract feature points from the image when the preset creation conditions are reached to obtain the two-dimensional coordinates and descriptors of the feature points; when the number of extracted feature points is greater than or equal to the preset extraction threshold, Then, a new key frame is created, and the new key frame is stored in a key frame database.
- the new key frame includes: the two-dimensional coordinates of the feature point and the descriptor.
- the key frame further includes: an absolute pose, the absolute pose is the pose of the movable device in the global coordinate system when the image on which the key frame is based is taken, and the device further includes:
- the acquisition module is used to calculate the absolute pose corresponding to the image according to the absolute pose corresponding to the previous image or key frame and the dead-reckoning corresponding to the corresponding time interval to calculate the relative pose.
- Optional also includes:
- the second receiving module is configured to receive the original pose sent by the dead reckoning sensor; or, receive the motion data sent by the dead reckoning sensor, and calculate the original pose according to the motion data;
- the second calculation module is configured to calculate the dead reckoning relative pose related information according to the original pose.
- the first update module is specifically configured to:
- Optional also includes:
- the third update module is used to use dead-reckoning to calculate relative pose-related information to update the absolute pose of the mobile device at the latest moment when the visual relative pose-related information cannot be obtained.
- the two-dimensional coordinates are the two-dimensional coordinates of the feature point on the pixel coordinate system.
- the first update module is specifically configured to filter the visual relative pose related information and dead reckoning relative pose related information, and update the absolute pose and map of the movable device.
- each part of the present invention can be implemented by hardware, software, firmware or a combination thereof.
- multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system.
- a logic gate circuit for implementing logic functions on data signals
- PGA programmable gate array
- FPGA field programmable gate array
- a person of ordinary skill in the art can understand that all or part of the steps carried in the method of the foregoing embodiments can be implemented by a program instructing related hardware to complete.
- the program can be stored in a computer-readable storage medium. When executed, it includes one of the steps of the method embodiment or a combination thereof.
- each embodiment of the present invention may be integrated into one processing module, or each unit may exist alone physically, or two or more units may be integrated into one module.
- the above-mentioned integrated modules can be implemented in the form of hardware or software functional modules. If the integrated module is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer readable storage medium.
- the storage medium mentioned above may be a read-only memory, a magnetic disk or an optical disk, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Navigation (AREA)
Abstract
Description
Claims (10)
- 一种VSLAM方法,其特征在于,包括:接收视觉传感器发送的图像;向预先建立的关键帧数据库内读取关键帧,以及,在读取到关键帧后,对所述图像与读取到的关键帧进行匹配;根据匹配成功的图像和关键帧计算视觉相对位姿相关信息,其中,所述视觉相对位姿相关信息包括视觉相对位姿,所述视觉相对位姿根据匹配成功的图像和关键帧之间的相互匹配的特征点的二维坐标计算得到;如果得到视觉相对位姿相关信息,则根据所述视觉相对位姿相关信息和航位推算相对位姿相关信息更新可移动设备的绝对位姿和地图。
- 根据权利要求1所述的方法,其特征在于,所述关键帧包括:绝对位姿,所述绝对位姿为拍摄所述关键帧依据的图像时可移动设备在全局坐标系中的位姿,所述地图中包括至少一个节点的绝对位姿,所述方法还包括:根据更新后的地图中的节点的绝对位姿,更新与节点对应的关键帧中的绝对位姿。
- 根据权利要求1所述的方法,其特征在于,所述根据匹配成功的图像和关键帧计算视觉相对位姿相关信息,包括:对匹配成功的关键帧进行排序;依序选择一个匹配成功的关键帧作为候选帧;根据图像的特征点的二维坐标和候选帧的特征点的二维坐标,采用对极几何原理,计算得到视觉相对位姿;根据预设的合理条件,判断所述视觉相对位姿是否合理;重新选择候选帧及后续计算,直至循环结束,所述循环结束包括:合理的视觉相对位姿的个数达到预设的个数阈值,或者,所有匹配成功的关键帧均被选择;在循环结束后,如果存在合理的视觉相对位姿,则将合理的视觉相对位姿及其相关信息组成视觉相对位姿相关信息,所述相关信息包括:协方差矩阵和所关联的两个节点标识。
- 根据权利要求1所述的方法,其特征在于,还包括:在达到预设的创建条件时,对所述图像提取特征点,得到特征点的二维坐标和描述子;在提取的特征点的个数大于或等于预设提取阈值时,则创建新的关键帧,并将所述新的关键帧存储到关键帧数据库中,所述新的关键帧包括:所述特征点的二维坐标和描述子。
- 根据权利要求4所述的方法,其特征在于,所述关键帧还包括:绝对位姿,所述绝对位姿为拍摄所述关键帧依据的图像时可移动设备在全局坐标系中的位姿,所述方法还包括:根据前一幅图像或关键帧对应的绝对位姿以及相应时间间隔对应的航位推算相对位姿来计算所述图像对应的绝对位姿。
- 根据权利要求1所述的方法,其特征在于,还包括:接收航位推算传感器发送的原始位姿;或者,接收航位推算传感器发送的运动数据,并根据所述运动数据计算得到原始位姿;根据所述原始位姿计算得到所述航位推算相对位姿相关信息。
- 根据权利要求1所述的方法,其特征在于,所述根据所述视觉相对位姿相关信息和航位推算相对位姿相关信息更新可移动设备的绝对位姿和地图,包括:在得到视觉相对位姿相关信息后,创建当前节点;根据所述航位推算相对位姿相关信息确定里程边,并采用所述里程边将所述当前节点连接到已有的最后创建的节点上;在已有节点中存在与所述当前节点关联的关键帧节点时,根据所述视觉相对位姿相关信息确定视觉边,并采用所述视觉边将所述当前节点连接到相关联的关键帧节点上;以及,对节点和边进行图优化,得到更新后的可移动设备的绝对位姿和地图。
- 根据权利要求1-7任一项所述的方法,其特征在于,还包括:如果不能得到视觉相对位姿相关信息,则采用航位推算相对位姿相关信息更新最近时刻的可移动设备的绝对位姿。
- 一种控制器,其特征在于,包括:处理器;以及,用于存储处理器可执行指令的存储器;其中,当所述存储器中的指令被所述处理器执行时,执行如权利要求1-8任一项所述的方法。
- 一种可移动设备,其特征在于,包括:航位推算传感器,用于计算原始位姿或者运动数据,以直接获取原始位姿或根据运动数据计算得到原始位姿;视觉传感器,用于采集图像;控制器,与所述航位推算传感器和所述视觉传感器连接,用于执行如权利要求1-8任一项所述的方法。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021543539A JP2022523312A (ja) | 2019-01-28 | 2019-08-27 | Vslam方法、コントローラ及び移動可能機器 |
| EP19913780.3A EP3919863A4 (en) | 2019-01-28 | 2019-08-27 | VSLAM METHOD, CONTROL UNIT AND MOBILE DEVICE |
| US16/718,560 US10782137B2 (en) | 2019-01-28 | 2019-12-18 | Methods, apparatus, and systems for localization and mapping |
| US16/994,579 US11629965B2 (en) | 2019-01-28 | 2020-08-15 | Methods, apparatus, and systems for localization and mapping |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910109823.0 | 2019-01-28 | ||
| CN201910109823.0A CN111489393B (zh) | 2019-01-28 | 2019-01-28 | Vslam方法、控制器和可移动设备 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/718,560 Continuation US10782137B2 (en) | 2019-01-28 | 2019-12-18 | Methods, apparatus, and systems for localization and mapping |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020155615A1 true WO2020155615A1 (zh) | 2020-08-06 |
Family
ID=71796767
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2019/102686 Ceased WO2020155615A1 (zh) | 2019-01-28 | 2019-08-27 | Vslam方法、控制器和可移动设备 |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP3919863A4 (zh) |
| CN (1) | CN111489393B (zh) |
| WO (1) | WO2020155615A1 (zh) |
Cited By (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111968157A (zh) * | 2020-08-13 | 2020-11-20 | 深圳国信泰富科技有限公司 | 一种应用于高智能机器人的视觉定位系统及方法 |
| CN112114966A (zh) * | 2020-09-15 | 2020-12-22 | 杭州未名信科科技有限公司 | 一种视觉slam的光束平差计算方法 |
| CN112149692A (zh) * | 2020-10-16 | 2020-12-29 | 腾讯科技(深圳)有限公司 | 基于人工智能的视觉关系识别方法、装置及电子设备 |
| CN112665575A (zh) * | 2020-11-27 | 2021-04-16 | 重庆大学 | 一种基于移动机器人的slam回环检测方法 |
| CN112880675A (zh) * | 2021-01-22 | 2021-06-01 | 京东数科海益信息科技有限公司 | 用于视觉定位的位姿平滑方法、装置、终端和移动机器人 |
| CN113465617A (zh) * | 2021-07-08 | 2021-10-01 | 上海汽车集团股份有限公司 | 一种地图构建方法、装置及电子设备 |
| CN113607158A (zh) * | 2021-08-05 | 2021-11-05 | 中铁工程装备集团有限公司 | 基于可见光通信的平板光源视觉识别匹配定位方法及系统 |
| CN113963030A (zh) * | 2021-11-09 | 2022-01-21 | 福州大学 | 一种提高单目视觉初始化稳定性的方法 |
| CN114147707A (zh) * | 2021-11-25 | 2022-03-08 | 上海思岚科技有限公司 | 一种基于视觉识别信息的机器人对接方法与设备 |
| CN114184193A (zh) * | 2020-09-14 | 2022-03-15 | 杭州海康威视数字技术股份有限公司 | 定位方法及系统 |
| CN114494825A (zh) * | 2021-12-31 | 2022-05-13 | 重庆特斯联智慧科技股份有限公司 | 一种机器人定位方法及装置 |
| CN114593735A (zh) * | 2022-01-26 | 2022-06-07 | 奥比中光科技集团股份有限公司 | 一种位姿预测方法及装置 |
| CN114814872A (zh) * | 2020-08-17 | 2022-07-29 | 浙江商汤科技开发有限公司 | 位姿确定方法及装置、电子设备和存储介质 |
| CN115031735A (zh) * | 2022-05-20 | 2022-09-09 | 北京理工大学 | 基于结构特征的单目视觉惯性里程计系统的位姿估计方法 |
| WO2022217882A1 (zh) * | 2021-04-15 | 2022-10-20 | 深圳市慧鲤科技有限公司 | 位姿数据的处理方法及接口、装置、系统、设备和介质 |
| CN115439536A (zh) * | 2022-08-18 | 2022-12-06 | 北京百度网讯科技有限公司 | 视觉地图更新方法、装置及电子设备 |
| CN115540867A (zh) * | 2021-12-31 | 2022-12-30 | 深圳市普渡科技有限公司 | 机器人、地图构建方法、装置和可读存储介质 |
| CN116105720A (zh) * | 2023-04-10 | 2023-05-12 | 中国人民解放军国防科技大学 | 低照度场景机器人主动视觉slam方法、装置和设备 |
| CN116202551A (zh) * | 2021-11-30 | 2023-06-02 | 珠海一微半导体股份有限公司 | 一种视觉机器人路标定位有效检测方法 |
| CN116309829A (zh) * | 2023-02-28 | 2023-06-23 | 无锡赛锐斯医疗器械有限公司 | 一种基于多目视觉的长方体扫描体群解码和位姿测量方法 |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112307917A (zh) * | 2020-10-21 | 2021-02-02 | 国网上海市电力公司 | 一种融合视觉里程计及imu的室内定位方法 |
| CN112325770B (zh) * | 2020-10-26 | 2022-08-02 | 武汉中海庭数据技术有限公司 | 一种车端单目视觉测量相对精度置信度评估方法及系统 |
| CN112444246B (zh) * | 2020-11-06 | 2024-01-26 | 北京易达恩能科技有限公司 | 高精度的数字孪生场景中的激光融合定位方法 |
| CN112699266B (zh) * | 2020-12-30 | 2024-09-06 | 视辰信息科技(上海)有限公司 | 一种基于关键帧相关性的视觉地图定位方法和系统 |
| CN113034594A (zh) * | 2021-03-16 | 2021-06-25 | 浙江商汤科技开发有限公司 | 位姿优化方法、装置、电子设备及存储介质 |
| CN112734851B (zh) * | 2021-03-29 | 2021-07-06 | 北京三快在线科技有限公司 | 一种位姿确定的方法以及装置 |
| CN114216461A (zh) * | 2021-09-29 | 2022-03-22 | 杭州图灵视频科技有限公司 | 一种基于全景相机的移动机器人室内定位方法及系统 |
| CN114463429B (zh) * | 2022-04-12 | 2022-08-16 | 深圳市普渡科技有限公司 | 机器人、地图创建方法、定位方法及介质 |
| CN114969421B (zh) * | 2022-06-08 | 2025-04-01 | 视辰信息科技(上海)有限公司 | 检索真值获取方法、图像检索方法及系统 |
| CN114742884B (zh) * | 2022-06-09 | 2022-11-22 | 杭州迦智科技有限公司 | 一种基于纹理的建图、里程计算、定位方法及系统 |
| CN117948969A (zh) * | 2022-10-31 | 2024-04-30 | 沃尔沃汽车公司 | 用于车辆定位的方法、设备、系统和计算机可读存储介质 |
| CN115908366A (zh) * | 2022-12-13 | 2023-04-04 | 北京柏惠维康科技股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106959691A (zh) * | 2017-03-24 | 2017-07-18 | 联想(北京)有限公司 | 可移动电子设备和即时定位与地图构建方法 |
| CN107193279A (zh) * | 2017-05-09 | 2017-09-22 | 复旦大学 | 基于单目视觉和imu信息的机器人定位与地图构建系统 |
| CN107677279A (zh) * | 2017-09-26 | 2018-02-09 | 上海思岚科技有限公司 | 一种定位建图的方法及系统 |
| CN108062537A (zh) * | 2017-12-29 | 2018-05-22 | 幻视信息科技(深圳)有限公司 | 一种3d空间定位方法、装置及计算机可读存储介质 |
| US20180211399A1 (en) * | 2017-01-26 | 2018-07-26 | Samsung Electronics Co., Ltd. | Modeling method and apparatus using three-dimensional (3d) point cloud |
| CN108629829A (zh) * | 2018-03-23 | 2018-10-09 | 中德(珠海)人工智能研究院有限公司 | 一种球幕相机与深度相机结合的三维建模方法和系统 |
| CN108648274A (zh) * | 2018-05-10 | 2018-10-12 | 华南理工大学 | 一种视觉slam的认知点云地图创建系统 |
| CN108803591A (zh) * | 2017-05-02 | 2018-11-13 | 北京米文动力科技有限公司 | 一种地图生成方法及机器人 |
| CN108873908A (zh) * | 2018-07-12 | 2018-11-23 | 重庆大学 | 基于视觉slam和网络地图结合的机器人城市导航系统 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2619742B1 (en) * | 2010-09-24 | 2018-02-28 | iRobot Corporation | Systems and methods for vslam optimization |
| WO2017172778A1 (en) * | 2016-03-28 | 2017-10-05 | Sri International | Collaborative navigation and mapping |
| US11263777B2 (en) * | 2017-05-09 | 2022-03-01 | Sony Corporation | Information processing apparatus and information processing method |
| CN108682027A (zh) * | 2018-05-11 | 2018-10-19 | 北京华捷艾米科技有限公司 | 基于点、线特征融合的vSLAM实现方法及系统 |
-
2019
- 2019-01-28 CN CN201910109823.0A patent/CN111489393B/zh active Active
- 2019-08-27 WO PCT/CN2019/102686 patent/WO2020155615A1/zh not_active Ceased
- 2019-08-27 EP EP19913780.3A patent/EP3919863A4/en not_active Withdrawn
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20180211399A1 (en) * | 2017-01-26 | 2018-07-26 | Samsung Electronics Co., Ltd. | Modeling method and apparatus using three-dimensional (3d) point cloud |
| CN106959691A (zh) * | 2017-03-24 | 2017-07-18 | 联想(北京)有限公司 | 可移动电子设备和即时定位与地图构建方法 |
| CN108803591A (zh) * | 2017-05-02 | 2018-11-13 | 北京米文动力科技有限公司 | 一种地图生成方法及机器人 |
| CN107193279A (zh) * | 2017-05-09 | 2017-09-22 | 复旦大学 | 基于单目视觉和imu信息的机器人定位与地图构建系统 |
| CN107677279A (zh) * | 2017-09-26 | 2018-02-09 | 上海思岚科技有限公司 | 一种定位建图的方法及系统 |
| CN108062537A (zh) * | 2017-12-29 | 2018-05-22 | 幻视信息科技(深圳)有限公司 | 一种3d空间定位方法、装置及计算机可读存储介质 |
| CN108629829A (zh) * | 2018-03-23 | 2018-10-09 | 中德(珠海)人工智能研究院有限公司 | 一种球幕相机与深度相机结合的三维建模方法和系统 |
| CN108648274A (zh) * | 2018-05-10 | 2018-10-12 | 华南理工大学 | 一种视觉slam的认知点云地图创建系统 |
| CN108873908A (zh) * | 2018-07-12 | 2018-11-23 | 重庆大学 | 基于视觉slam和网络地图结合的机器人城市导航系统 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP3919863A4 * |
Cited By (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111968157B (zh) * | 2020-08-13 | 2024-05-28 | 深圳国信泰富科技有限公司 | 一种应用于高智能机器人的视觉定位系统及方法 |
| CN111968157A (zh) * | 2020-08-13 | 2020-11-20 | 深圳国信泰富科技有限公司 | 一种应用于高智能机器人的视觉定位系统及方法 |
| CN114814872A (zh) * | 2020-08-17 | 2022-07-29 | 浙江商汤科技开发有限公司 | 位姿确定方法及装置、电子设备和存储介质 |
| CN114184193A (zh) * | 2020-09-14 | 2022-03-15 | 杭州海康威视数字技术股份有限公司 | 定位方法及系统 |
| CN112114966A (zh) * | 2020-09-15 | 2020-12-22 | 杭州未名信科科技有限公司 | 一种视觉slam的光束平差计算方法 |
| CN112149692A (zh) * | 2020-10-16 | 2020-12-29 | 腾讯科技(深圳)有限公司 | 基于人工智能的视觉关系识别方法、装置及电子设备 |
| CN112149692B (zh) * | 2020-10-16 | 2024-03-05 | 腾讯科技(深圳)有限公司 | 基于人工智能的视觉关系识别方法、装置及电子设备 |
| CN112665575A (zh) * | 2020-11-27 | 2021-04-16 | 重庆大学 | 一种基于移动机器人的slam回环检测方法 |
| CN112665575B (zh) * | 2020-11-27 | 2023-12-29 | 重庆大学 | 一种基于移动机器人的slam回环检测方法 |
| CN112880675A (zh) * | 2021-01-22 | 2021-06-01 | 京东数科海益信息科技有限公司 | 用于视觉定位的位姿平滑方法、装置、终端和移动机器人 |
| WO2022217882A1 (zh) * | 2021-04-15 | 2022-10-20 | 深圳市慧鲤科技有限公司 | 位姿数据的处理方法及接口、装置、系统、设备和介质 |
| CN113465617A (zh) * | 2021-07-08 | 2021-10-01 | 上海汽车集团股份有限公司 | 一种地图构建方法、装置及电子设备 |
| CN113465617B (zh) * | 2021-07-08 | 2024-03-19 | 上海汽车集团股份有限公司 | 一种地图构建方法、装置及电子设备 |
| CN113607158A (zh) * | 2021-08-05 | 2021-11-05 | 中铁工程装备集团有限公司 | 基于可见光通信的平板光源视觉识别匹配定位方法及系统 |
| CN113963030A (zh) * | 2021-11-09 | 2022-01-21 | 福州大学 | 一种提高单目视觉初始化稳定性的方法 |
| CN114147707B (zh) * | 2021-11-25 | 2024-04-26 | 上海思岚科技有限公司 | 一种基于视觉识别信息的机器人对接方法与设备 |
| CN114147707A (zh) * | 2021-11-25 | 2022-03-08 | 上海思岚科技有限公司 | 一种基于视觉识别信息的机器人对接方法与设备 |
| CN116202551A (zh) * | 2021-11-30 | 2023-06-02 | 珠海一微半导体股份有限公司 | 一种视觉机器人路标定位有效检测方法 |
| CN115540867A (zh) * | 2021-12-31 | 2022-12-30 | 深圳市普渡科技有限公司 | 机器人、地图构建方法、装置和可读存储介质 |
| CN114494825B (zh) * | 2021-12-31 | 2024-04-19 | 重庆特斯联智慧科技股份有限公司 | 一种机器人定位方法及装置 |
| CN114494825A (zh) * | 2021-12-31 | 2022-05-13 | 重庆特斯联智慧科技股份有限公司 | 一种机器人定位方法及装置 |
| CN114593735B (zh) * | 2022-01-26 | 2024-05-31 | 奥比中光科技集团股份有限公司 | 一种位姿预测方法及装置 |
| CN114593735A (zh) * | 2022-01-26 | 2022-06-07 | 奥比中光科技集团股份有限公司 | 一种位姿预测方法及装置 |
| CN115031735A (zh) * | 2022-05-20 | 2022-09-09 | 北京理工大学 | 基于结构特征的单目视觉惯性里程计系统的位姿估计方法 |
| CN115439536A (zh) * | 2022-08-18 | 2022-12-06 | 北京百度网讯科技有限公司 | 视觉地图更新方法、装置及电子设备 |
| CN115439536B (zh) * | 2022-08-18 | 2023-09-26 | 北京百度网讯科技有限公司 | 视觉地图更新方法、装置及电子设备 |
| CN116309829B (zh) * | 2023-02-28 | 2024-03-19 | 无锡赛锐斯医疗器械有限公司 | 一种基于多目视觉的长方体扫描体群解码和位姿测量方法 |
| CN116309829A (zh) * | 2023-02-28 | 2023-06-23 | 无锡赛锐斯医疗器械有限公司 | 一种基于多目视觉的长方体扫描体群解码和位姿测量方法 |
| CN116105720A (zh) * | 2023-04-10 | 2023-05-12 | 中国人民解放军国防科技大学 | 低照度场景机器人主动视觉slam方法、装置和设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111489393A (zh) | 2020-08-04 |
| EP3919863A1 (en) | 2021-12-08 |
| EP3919863A4 (en) | 2022-11-09 |
| CN111489393B (zh) | 2023-06-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2020155615A1 (zh) | Vslam方法、控制器和可移动设备 | |
| US11629965B2 (en) | Methods, apparatus, and systems for localization and mapping | |
| JP2022523312A (ja) | Vslam方法、コントローラ及び移動可能機器 | |
| US11830218B2 (en) | Visual-inertial localisation in an existing map | |
| JP6410530B2 (ja) | Vslam最適化のための方法 | |
| CN112634451A (zh) | 一种融合多传感器的室外大场景三维建图方法 | |
| WO2022188094A1 (zh) | 一种点云匹配方法及装置、导航方法及设备、定位方法、激光雷达 | |
| WO2025190241A1 (zh) | 一种灾害环境下北斗多源融合定位方法 | |
| CN114924287B (zh) | 地图构建方法、设备与介质 | |
| Cui et al. | Efficient large-scale structure from motion by fusing auxiliary imaging information | |
| CN112233177A (zh) | 一种无人机位姿估计方法及系统 | |
| GB2599947A (en) | Visual-inertial localisation in an existing map | |
| CN114325634A (zh) | 一种基于激光雷达的高鲁棒性野外环境下可通行区域提取方法 | |
| Daoud et al. | SLAMM: Visual monocular SLAM with continuous mapping using multiple maps | |
| CN118293903A (zh) | 一种基于imu和点线面特征综合的slam方法 | |
| WO2024099593A1 (en) | Localization based on neural networks | |
| CN119863578A (zh) | 基于单目视觉和LiDAR融合的动态环境语义SLAM方法 | |
| WO2022062480A1 (zh) | 移动设备的定位方法和定位装置 | |
| CN115861352A (zh) | 单目视觉、imu和激光雷达的数据融合和边缘提取方法 | |
| CN113570716A (zh) | 云端三维地图构建方法、系统及设备 | |
| CN115619824A (zh) | 一种视觉惯性动态目标跟踪slam装置、方法、计算机及存储介质 | |
| Lv et al. | So-pfh: Semantic object-based point feature histogram for global localization in parking lot | |
| Timotheatos et al. | Visual horizon line detection for uav navigation | |
| Le Barz et al. | Absolute geo-localization thanks to Hidden Markov Model and exemplar-based metric learning | |
| Bamann et al. | Visual-inertial odometry with sparse map constraints for planetary swarm exploration |
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: 19913780 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2021543539 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2019913780 Country of ref document: EP Effective date: 20210830 |
|
| WWW | Wipo information: withdrawn in national office |
Ref document number: 2019913780 Country of ref document: EP |


