WO2021164712A1 - Pose tracking method, wearable device, mobile device, and storage medium - Google Patents

Pose tracking method, wearable device, mobile device, and storage medium Download PDF

Info

Publication number
WO2021164712A1
WO2021164712A1 PCT/CN2021/076767 CN2021076767W WO2021164712A1 WO 2021164712 A1 WO2021164712 A1 WO 2021164712A1 CN 2021076767 W CN2021076767 W CN 2021076767W WO 2021164712 A1 WO2021164712 A1 WO 2021164712A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
feature
wearable device
mobile device
pose
Prior art date
Application number
PCT/CN2021/076767
Other languages
French (fr)
Chinese (zh)
Inventor
徐毅
Original Assignee
Oppo广东移动通信有限公司
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 Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to CN202180011593.XA priority Critical patent/CN115039015A/en
Publication of WO2021164712A1 publication Critical patent/WO2021164712A1/en

Links

Images

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes

Definitions

  • the embodiments of the present application relate to the field of vision enhancement technology, and in particular, to a pose tracking method, a wearable device, a mobile device, and a storage medium.
  • VR Virtual Reality
  • AR Augmented Reality
  • MR Mixed Reality
  • a wearable device and a mobile device are included, and the wearable device and the mobile device are connected through wired or wireless communication.
  • DOF 6-degree-of-freedom
  • One method is to use the wearable device itself
  • the computing power of the mobile device performs 6DOF tracking.
  • Another way is to use the computing power of the mobile device itself to perform 6DOF tracking.
  • both of these methods have some drawbacks.
  • the former leads to high hardware complexity and power consumption of wearable devices. High; the latter causes a large system delay, which may damage the visual quality of wearable devices.
  • the embodiments of the present application provide a pose tracking method, a wearable device, a mobile device, and a storage medium, which can not only reduce the power consumption of the wearable device, but also reduce the system delay to improve the visual quality of the wearable device.
  • an embodiment of the present application provides a pose tracking method, which is applied to a wearable device, and the method includes:
  • the pose information of the wearable device is determined.
  • the determining the pose information of the wearable device according to the set of characteristic information includes:
  • the determining the pose information of the wearable device according to the set of characteristic information includes:
  • a preset algorithm is used to perform pose calculation on the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset to obtain the pose information of the wearable device.
  • the determining the pose information of the wearable device according to the set of characteristic information includes:
  • a preset algorithm is used to perform pose calculation on the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset to obtain the pose information of the wearable device.
  • an embodiment of the present application provides a pose tracking method, which is applied to a mobile device, and the method includes:
  • the pose information of the mobile device is determined.
  • the method further includes:
  • the calculating the pose information of the wearable device based on the scene map and the set of feature information includes:
  • a preset algorithm is used to perform pose calculation on the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset to obtain the pose information of the wearable device.
  • the method further includes:
  • the three-dimensional coordinate information of the matching feature included in the target feature subset is sent to the wearable device.
  • the method further includes:
  • an embodiment of the present application provides a wearable device, the wearable device including a first acquiring unit, a first processing unit, and a first determining unit; wherein,
  • the first acquiring unit is configured to acquire an image to be processed
  • the first processing unit is configured to perform feature processing on the image to be processed, and determine a set of feature information of the image to be processed;
  • the first determining unit is configured to determine the pose information of the wearable device according to the set of characteristic information.
  • an embodiment of the present application provides a wearable device, the wearable device including a first memory and a first processor; wherein,
  • the first memory is configured to store a computer program that can run on the first processor
  • the first processor is configured to execute the method according to any one of the first aspects when running the computer program.
  • an embodiment of the present application provides a mobile device, the mobile device including a second acquiring unit, a second processing unit, and a second determining unit; wherein,
  • the second acquiring unit is configured to acquire sensor data of the mobile device
  • the second processing unit is configured to perform SLAM processing on the sensor data to construct a scene map
  • the second determining unit is configured to determine the pose information of the mobile device based on the scene map.
  • an embodiment of the present application provides a mobile device, the mobile device including a second memory and a second processor; wherein,
  • the second memory is configured to store a computer program that can run on the second processor
  • the second processor is configured to execute the method according to any one of the second aspects when running the computer program.
  • an embodiment of the present application provides a computer storage medium that stores a computer program, and when the computer program is executed by a first processor, the method as described in any one of the first aspect is implemented, Or when executed by the second processor, the method according to any one of the second aspects is implemented.
  • the embodiments of the application provide a pose tracking method, wearable devices, mobile devices, and storage media, which are applied to wearable devices, by acquiring images to be processed; performing feature processing on the images to be processed to determine the to-be-processed images A set of characteristic information of the image; according to the set of characteristic information, the pose information of the wearable device is determined.
  • a mobile device by acquiring sensor data of the mobile device; performing SLAM processing on the sensor data to construct a scene map; and determining the pose information of the mobile device based on the scene map.
  • wearable devices no longer build maps but only execute positioning algorithms; this not only reduces the power consumption of wearable devices, but also reduces system latency, thereby increasing
  • the visual quality of the wearable device is improved; in addition, the mobile device and the wearable device are located in the same coordinate system to perform pose tracking, which can also improve the interaction effect between the virtual object of the mobile device and the wearable device.
  • FIG. 1 is a schematic diagram of an application scenario of a vision enhancement system provided by an embodiment of this application;
  • FIG. 2 is a schematic flowchart of a pose tracking method provided by an embodiment of the application
  • FIG. 3 is a schematic flowchart of another pose tracking method provided by an embodiment of the application.
  • FIG. 4 is a detailed flowchart of a pose tracking method provided by an embodiment of the application.
  • FIG. 5 is a schematic diagram of an application scenario of a pose tracking method provided by an embodiment of the application.
  • FIG. 6 is a schematic diagram of the composition structure of a wearable device provided by an embodiment of the application.
  • FIG. 7 is a schematic diagram of a specific hardware structure of a wearable device provided by an embodiment of the application.
  • FIG. 8 is a schematic diagram of the composition structure of a mobile device according to an embodiment of the application.
  • FIG. 9 is a schematic diagram of a specific hardware structure of a mobile device provided by an embodiment of the application.
  • the vision enhancement system 10 may include a wearable device 110 and a mobile device 120. Among them, the wearable device 110 and the mobile device 120 are in a wired or wireless communication connection.
  • the wearable device 110 may refer to a monocular or binocular head-mounted display (Head-Mounted Display, HMD), such as AR glasses.
  • HMD head-Mounted Display
  • the wearable device 110 may include one or more display modules 111 placed near the position of the user's single eye or both eyes. Among them, through the display module 111 of the wearable device 110, the content displayed therein can be presented in front of the user's eyes, and the displayed content can fill or partially fill the user's field of vision.
  • the display module 111 may refer to one or more organic light-emitting diode (OLED) modules, liquid crystal display (LCD) modules, laser display modules, and the like.
  • OLED organic light-emitting diode
  • LCD liquid crystal display
  • laser display modules and the like.
  • the wearable device 110 may also include one or more sensors and one or more cameras.
  • the wearable device 110 may include one or more sensors such as an inertial measurement unit (IMU), an accelerometer, a gyroscope, a proximity sensor, and a depth camera.
  • IMU inertial measurement unit
  • the wearable device 110 may include one or more sensors such as an inertial measurement unit (IMU), an accelerometer, a gyroscope, a proximity sensor, and a depth camera.
  • IMU inertial measurement unit
  • the mobile device 120 may be wirelessly connected to the wearable device 110 according to one or more wireless communication protocols (for example, Bluetooth, WIFI, etc.). Alternatively, the mobile device 120 may also be wired to the wearable device 110 via a data cable (such as a USB cable) according to one or more data transmission protocols such as Universal Serial Bus (USB).
  • a data cable such as a USB cable
  • USB Universal Serial Bus
  • the mobile device 120 may be implemented in various forms.
  • the mobile devices described in the embodiments of the present application may include smart phones, tablet computers, notebook computers, laptop computers, palmtop computers, personal digital assistants (Personal Digital Assistant, PDA), smart watches, and so on.
  • a user operating on the mobile device 120 can control the operation at the wearable device 110 via the mobile device 120.
  • the data collected by the sensors in the wearable device 110 may also be sent back to the mobile device 120 for further processing or storage.
  • the wearable device 110 may specifically refer to a wearable vision enhancement device, such as AR glasses, MR glasses, and VR glasses. That is to say, 6DOF tracking for wearable devices, especially for those visual enhancement devices that work with the mobile device 120 (or “mobile computing devices”, such as smart phones, mobile phones, computing boxes, etc.) 6DOF tracking, here, “wearable device” and “AR glasses” can be used interchangeably.
  • Mobile devices refer to smart phones that work with AR glasses.
  • AR glasses can be connected to mobile devices via USB cables, WiFi, Bluetooth, etc. .
  • the 6DOF tracking (that is, the 3DOF position and the 3DOF attitude) of the AR glasses is usually completed by a simultaneous localization and mapping (Simultaneous Localization and Mapping, SLAM) algorithm.
  • the SLAM algorithm is the process of constructing or updating an unknown environment map, while tracking the location and posture of the device in the environment.
  • Today's mobile devices are equipped with SLAM functions that match the AR framework, such as Apple's ARKit and Google's ARCore; and independent AR glasses can also have SLAM functions, such as Microsoft Hololens and Magic Leap One.
  • the advantage of performing 6DOF tracking on AR glasses is to minimize the system delay, which refers to the delay between the movement of an object and the change in response to the display module. Since a large delay will destroy the time continuity and cause the display in the AR glasses to jitter, and then cause the user to faint; therefore, the data can be directly processed on the AR glasses to minimize the data transmission, thereby reducing the system delay.
  • this solution has the following shortcomings: (1) AR glasses require certain hardware (such as chips and memory, etc.) to process sensor data and perform SLAM. This may result in the need for larger hardware components, lower industrial design feasibility, and higher prices; (2) The SLAM process requires a very large amount of calculation, and may also lead to greater power consumption and heat accumulation on AR glasses.
  • 6DOF tracking can also be performed on a separate mobile device, which can reduce power consumption and heat accumulation on AR glasses, and the hardware requirements for AR glasses are not so strong, and provide greater flexibility to industrial design sex.
  • the added system delay of this solution transmitting sensor data to the processing unit via a USB cable or WiFi often damages the visual quality of AR glasses.
  • the embodiment of the application provides a pose tracking method, which is applied to a wearable device.
  • the basic idea of the method is: obtain an image to be processed; perform feature processing on the image to be processed, and determine a group of the image to be processed Characteristic information; determine the pose information of the wearable device according to the set of characteristic information.
  • the embodiment of the application also provides a pose tracking method, which is applied to a mobile device.
  • the basic idea of the method is: acquiring sensor data of the mobile device; performing SLAM processing on the sensor data to construct a scene map; The scene map determines the pose information of the mobile device.
  • wearable devices no longer build maps but only execute positioning algorithms; this not only reduces the power consumption of wearable devices, but also reduces system latency, thereby increasing
  • the visual quality of the wearable device is improved; in addition, the mobile device and the wearable device are located in the same coordinate system to perform pose tracking, which can also improve the interaction effect between the virtual object of the mobile device and the wearable device.
  • FIG. 2 shows a schematic flowchart of a pose tracking method provided by an embodiment of the present application.
  • the method may include:
  • the wearable device may also be referred to as a "head-mounted device” or a “visual enhancement device”, such as AR glasses.
  • the wearable device here generally refers to a split wearable device, so the AR glasses may also be referred to as split AR glasses.
  • the split vision enhancement system for pose tracking, it is also necessary to include a mobile device that works in conjunction with a wearable device, and a wired communication connection can be established between the mobile device and the wearable device through a data cable. It is also possible to establish a wireless communication connection through a wireless communication protocol.
  • part of the processing algorithm can be executed in the mobile device, and part of the processing algorithm can be executed in the wearable device.
  • the simultaneous positioning and mapping (Simultaneous Localization and Mapping, SLAM) algorithm in the pose tracking can be placed in the mobile device, and in the wearable device. Only the positioning algorithm runs on the device (there is no need to build a scene map).
  • the acquiring the image to be processed may include:
  • Image acquisition is performed through the camera of the wearable device to obtain the to-be-processed image.
  • the wearable device includes a first camera. After the image is collected by the first camera, the image to be processed can be obtained, and the image to be processed can be subsequently used for feature extraction/detection.
  • S202 Perform feature processing on the image to be processed, and determine a set of feature information of the image to be processed.
  • the feature processing here may include feature detection and feature description.
  • the feature processing of the image to be processed can be implemented according to a preset feature algorithm.
  • the preset feature algorithm may be a feature extraction and description (Oriented FAST and Rotated Brief, ORB) algorithm, or a Scale Invariant Feature Transform (SIFT) algorithm, etc., which are not specifically limited in the embodiment of the application.
  • a set of feature information here includes at least four feature information.
  • the performing feature processing on the image to be processed and determining a set of feature information of the image to be processed may include:
  • the set of detection features and the descriptor associated with the set of detection features are determined as a set of feature information of the image to be processed.
  • the ORB algorithm can be divided into two parts, namely feature extraction and feature description.
  • the feature extraction is developed by the FAST (Features from Accelerated Segment Test) algorithm, and the feature description is improved based on the BRIEF (Binary Robust Independent Elementary Features) feature description algorithm.
  • the ORB feature combines the FAST feature detection method with the BRIEF feature descriptor, and improves and optimizes them on the original basis.
  • the feature points of the image can be simply understood as the more prominent points in the image, such as contour points, bright spots in a darker area, and dark spots in a brighter area.
  • ORB uses FAST algorithm to detect feature points.
  • This definition is based on the gray value of the image around the feature point, and the pixel value of a circle around the candidate feature point is detected. If there are enough pixels in the surrounding area of the candidate point and the gray value difference of the candidate point is large enough, the candidate point is considered to be a feature point.
  • the attributes of these feature points need to be described in some way. The output of these attributes is called the Feature Descriptor of the feature point.
  • ORB uses the BRIEF algorithm to calculate the descriptor of a feature point. The core idea of the BRIEF algorithm is: around the key points, select N point pairs in a certain pattern, and combine the comparison results of these N point pairs as a descriptor.
  • the SIFT algorithm mainly includes two stages.
  • the first stage is the generation of SIFT features, that is, the feature vectors that are irrelevant to scale scaling, rotation, and brightness changes are extracted from multiple images; the second stage is the matching of SIFT feature vectors.
  • the low-level feature extraction in the SIFT algorithm is to select those obvious features, which have image scale (feature size) and rotation invariance, and also have a certain degree of invariance to illumination changes.
  • the SIFT algorithm can also reduce the low extraction probability caused by occlusion, clutter and noise.
  • SIFT is an algorithm for detecting local features. The algorithm obtains features and performs image feature matching by obtaining feature points (interest points, or corner points) in an image and descriptors related to scale and orientation. .
  • the biggest feature of the ORB algorithm is its fast calculation speed. This firstly benefits from the use of FAST to detect features; secondly, the use of the BRIEF algorithm to calculate the descriptor.
  • the unique binary string representation of the descriptor not only saves storage space, but also greatly shortens the matching time.
  • the scene map constructed by the mobile device can be combined to determine the pose information of the wearable device.
  • S203 Determine the pose information of the wearable device according to the set of characteristic information.
  • the pose information in the embodiments of this application may be 6 degrees of freedom (Degree of Freedom, DOF) information, which may specifically include 3DOF position information and 3DOF pose information; according to the pose information of the wearable device, the Tracking the position and posture of the wearable device.
  • DOF Degree of Freedom
  • mobile devices can execute most of the processing algorithms, or part of the processing algorithms, or a small part of the processing algorithms, so that the wearable device can perform a large amount of processing calculations, and can also perform a small amount of processing. Calculations, etc., will be described in detail in several situations below.
  • the determining the pose information of the wearable device according to the set of characteristic information may include:
  • the mobile device can calculate the pose information of the wearable device according to the scene map built by itself and this set of feature information , And then send the posture information of the wearable device to the wearable device to track the position and posture of the wearable device.
  • part of the processing algorithm (such as feature matching) is performed on the mobile device, and part of the processing algorithm (such as the pose calculation) is performed on the wearable device.
  • the determining the pose information of the wearable device according to the set of characteristic information may include:
  • a preset algorithm is used to perform pose calculation on the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset to obtain the pose information of the wearable device.
  • the mobile device can perform feature matching according to the scene map built by itself and this set of feature information to obtain a set of matching features.
  • the target feature subset and the three-dimensional coordinate information of these matching features and then after sending it to the wearable device, the wearable device can use the three-dimensional coordinate information of these matching features and the two-dimensional projection information of these matching features on the image to be processed. Perform pose calculation to obtain the pose information of the wearable device, which is used to track the position and posture of the wearable device.
  • the determining the pose information of the wearable device according to the set of characteristic information may include:
  • a preset algorithm is used to perform pose calculation on the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset to obtain the pose information of the wearable device.
  • a set of scene feature information can be sent to the wearable device, and then the wearable device performs feature matching to obtain the target feature subset and the target
  • the three-dimensional coordinate information of the matching feature included in the feature subset and its two-dimensional projection information on the image to be processed, and then use the preset algorithm to calculate the pose you can get the pose information of the wearable device to track the wearable The location and attitude of the device.
  • the target feature subset includes at least four matching features for subsequent pose calculations.
  • a set of scene feature information can include 1000, and a set of feature information can include 100, then the 1000 scene feature information is matched with 100 feature information, and finally there are 10 features that can be matched. At this time, these 10 matching features form a subset of the target feature for subsequent pose calculations to obtain pose information of the wearable device.
  • the preset algorithm described in the embodiment of the present application may be a perspective-n-point (PNP) algorithm.
  • the PNP algorithm is a method for solving three-dimensional (Three Dimension, 3D) to (Two Dimension, 2D) point pair motion. In layman's terms, it describes the problem of estimating the pose of the calibration camera given a set of n 3D points in the world reference coordinate system and their corresponding 2D projections in the image.
  • there are multiple solving algorithms for the PNP problem P3P that can use three pairs of points to estimate the pose, direct linear transformation (DLT) algorithm, and efficient PNP (Efficient Perspective-n-Point, EPNP) ) Algorithms, etc.
  • the embodiment of the present application may also use a non-linear optimization method to construct a least squares problem and iteratively solve it, that is, the beam adjustment (Bundle Adjustment, BA) method, which is not specifically limited here.
  • the mobile device (such as a smart phone) in the split vision enhancement system runs the SLAM algorithm, and at the same time runs the positioning algorithm on the wearable device (such as AR glasses) (the map is no longer built).
  • the embodiments of the present application may not need to execute the SLAM algorithm on the mobile device and the positioning algorithm on the wearable device at the same time. It is also possible to execute the two algorithms separately in order. For example, you can run the SLAM algorithm to build a scene map of the entire room, and then use the positioning algorithm to track the pose information of the wearable device.
  • This embodiment provides a pose tracking method, applied to a wearable device, by acquiring an image to be processed; performing feature processing on the image to be processed to determine a set of feature information of the image to be processed; The group feature information determines the pose information of the wearable device.
  • SLAM runs on mobile devices and builds scene maps
  • wearable devices no longer build maps but only execute positioning algorithms; this not only reduces the power consumption of wearable devices, but also reduces system latency, thereby increasing
  • the visual quality of the wearable device is improved; in addition, the mobile device and the wearable device are located in the same coordinate system to perform pose tracking, which can also improve the interaction effect between the virtual object of the mobile device and the wearable device.
  • FIG. 3 shows a schematic flowchart of another pose tracking method provided in an embodiment of the present application.
  • the method may include:
  • S301 Acquire sensor data of the mobile device.
  • the mobile device may be, for example, a smart phone, a tablet computer, a notebook computer, a laptop computer, a palmtop computer, a personal digital assistant (PDA), a smart watch, etc., which are not specifically limited in the embodiment of the present application.
  • PDA personal digital assistant
  • the split vision enhancement system it is also necessary to include a wearable device that cooperates with the mobile device, and the mobile device and the wearable device can establish a wired communication connection through a data cable or wireless communication
  • the protocol establishes a wireless communication connection.
  • part of the processing algorithm can be executed in the mobile device, and part of the processing algorithm can be executed in the wearable device.
  • the SLAM algorithm in the pose tracking can be placed in the mobile device, and only the positioning algorithm is run on the wearable device (there is no need to build the scene map).
  • the SLAM algorithm on the mobile device starts to run based on the sensor data on the mobile device, so the sensor data of the mobile device needs to be acquired first.
  • the sensor data is usually realized by using a visual inertial odometer. In a specific example, it can be obtained by using a camera and an IMU sensor on a mobile device.
  • S302 Perform SLAM processing on the sensor data to construct a scene map.
  • S303 Determine the pose information of the mobile device based on the scene map.
  • the mobile device may include a SLAM module, and the SLAM module is used to execute SLAM algorithms and processing.
  • the SLAM module on the mobile device starts to run using the sensor data on the mobile device.
  • the system sees enough features in the scene and initializes the SLAM module, it will start 6DOF tracking of the mobile device.
  • the position and posture of the mobile device can be continuously tracked.
  • the scene map and the 3D representation of the environment will also be constructed.
  • the SLAM module sees an invisible part of the scene, the scene map will also be updated.
  • the method may further include:
  • the wearable device only needs to send a set of characteristic information to the mobile device, and then the mobile device calculates the position of the wearable device according to the scene map constructed by itself and this set of characteristic information. At last, the mobile device sends the calculated pose information to the wearable device.
  • the scene map is actually a data structure that stores the feature points that have been seen in the scene so far; then at any one time, the camera on the wearable device sees only a partial scene
  • the feature points of need to be compared with the feature points in the scene map to find the corresponding points (ie matching features). Therefore, the role of the scene map is the same as the map in real life.
  • the calculation of the pose information of the wearable device in the mobile device requires not only feature matching, but also pose calculation based on the three-dimensional coordinate information and two-dimensional projection information of the matching feature.
  • the calculating the pose information of the wearable device based on the scene map and the set of feature information may include:
  • a preset algorithm is used to perform pose calculation on the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset to obtain the pose information of the wearable device.
  • a set of characteristic information sent by the wearable device may include a set of detection characteristics and a set of descriptors associated with the detection characteristics.
  • the feature matching the set of scene feature information with the set of feature information to determine the target feature subset may include:
  • feature matching is performed on the set of detected features and the scene features in the set of scene feature information to determine the target feature subset.
  • the mobile device can construct a scene map based on the sensor data on the one hand, and on the other hand, it can also determine the scene feature information. Then, the received set of feature information and the set of scene feature information are feature-matched to determine the target feature subset composed of matching features.
  • a set of feature information includes at least four feature information
  • a set of scene feature information includes at least four scene feature information.
  • the distance between the descriptor and the descriptor can be calculated to compare this set of detected features with this set of scenes.
  • Feature matching is performed on the scene features in the feature information. It should be noted that each feature can be understood as a vector. To determine whether two features match, or how close the two features are, can be determined by using the distance between the feature vectors.
  • the 3D coordinate information of the matching feature included in the target feature subset and its 2D projection information on the image to be processed on the wearable device can be further obtained, and then the preset algorithm is used to target the target
  • the 3D coordinate information and 2D projection information of the matching feature included in the feature subset are subjected to pose calculation to obtain the pose information of the wearable device.
  • the preset algorithm may be a PNP algorithm.
  • the PNP algorithm specifically estimates the pose information of the wearable device based on a set of 3D points and their 2D projection points on the image to be processed of the wearable device.
  • part of the processing algorithm (such as feature matching) is performed on the mobile device, and part of the processing algorithm (such as the pose calculation) is performed on the wearable device.
  • the method may further include:
  • the three-dimensional coordinate information of the matching feature included in the target feature subset is sent to the wearable device.
  • the wearable device after the wearable device sends a set of feature information to the mobile device, the mobile device will perform feature matching to determine the target feature subset composed of the matching features.
  • the specific method of feature matching is the same as the above, and will not be repeated here.
  • the mobile device can send the target feature subset and the three-dimensional coordinate information of the matching features included in the target feature subset to the wearable device, and then use the PNP algorithm to calculate the pose in the wearable device to determine the pose of the wearable device information.
  • the method may further include:
  • the mobile device mainly uses SLAM to construct a scene map, and at the same time, it can also track the position and posture of the mobile device.
  • the mobile device after the mobile device constructs the scene map, it can send a set of scene feature information to the wearable device, and then the wearable device performs feature matching and pose calculation to determine the pose information of the wearable device.
  • the mobile device (such as a smart phone) in the split vision enhancement system runs the SLAM algorithm, and at the same time runs the positioning algorithm on the wearable device (such as AR glasses) (the map is no longer built).
  • the embodiments of the present application may not need to execute the SLAM algorithm on the mobile device and the positioning algorithm on the wearable device at the same time. It is also possible to execute the two algorithms separately in order. For example, you can run the SLAM algorithm to build a scene map of the entire room, and then use the positioning algorithm to track the pose information of the wearable device.
  • This embodiment provides a pose tracking method, applied to a mobile device, by acquiring sensor data of the mobile device; performing SLAM processing on the sensor data to construct a scene map; based on the scene map, determining the The pose information of the mobile device.
  • SLAM runs on mobile devices and builds scene maps
  • wearable devices no longer build maps but only execute positioning algorithms; this not only reduces the power consumption of wearable devices, but also reduces system latency, thereby increasing
  • the visual quality of the wearable device is improved; in addition, the mobile device and the wearable device are located in the same coordinate system to perform pose tracking, which can also improve the interaction effect between the virtual object of the mobile device and the wearable device.
  • FIG. 4 shows a detailed flowchart of a pose tracking method provided in an embodiment of the present application.
  • the detailed process may include:
  • S401 Acquire an image to be processed through the camera collection on the wearable device.
  • the wearable device performs feature processing on the image to be processed, and determines a set of detection features of the image to be processed and a descriptor associated with the set of detection features.
  • the wearable device sends a set of detection features and associated descriptors of the image to be processed to the mobile device.
  • S404 The mobile device acquires sensor data of the mobile device.
  • S405 The mobile device performs SLAM processing on the sensor data, constructs a scene map, and determines a set of scene feature information.
  • the mobile device performs feature matching by calculating the distance between the descriptors, and determines the target feature subset.
  • the mobile device uses the PNP algorithm to perform pose calculation on the 3D coordinate information of the matching feature included in the target feature subset and its 2D projection information on the image to be processed by the wearable device to obtain the position of the wearable device. Posture information.
  • S408 The mobile device sends the calculated pose information to the wearable device.
  • the execution subject of steps S401 to S403 is a wearable device
  • the execution subject of steps S404 to S408 is a mobile device.
  • the mobile device (such as a smart phone) in the split vision enhancement system runs the SLAM algorithm
  • the wearable device (such as AR glasses) runs the positioning algorithm (the map is no longer built) .
  • FIG. 5 shows a schematic diagram of an application scenario of a pose tracking method according to an embodiment of the present application.
  • the wearable device is AR glasses, which runs a positioning algorithm to track the position and posture of the AR glasses;
  • the mobile device is a smartphone, which runs a SLAM algorithm to build a scene map and track the position and posture of the smartphone.
  • the SLAM module on the mobile device starts to run using the sensor data on the mobile device.
  • the system sees enough features in the scene and initializes SLAM, it will start 6DOF tracking of the mobile device. Under the coordinate system established by the SLAM algorithm, the position and direction of the mobile device are continuously tracked. At the same time, the scene map and the 3D representation of the environment will be constructed. If the SLAM module sees the invisible part of the scene, the scene map will also be updated.
  • the positioning module on the AR glasses starts.
  • the positioning module can use sensor data from the AR glasses as input and use some computing resources on the AR glasses.
  • the following steps can be used to implement the positioning module: 1) Use the camera on the AR glasses to collect images; 2) Detect features from the image and calculate the descriptors of these detected features on the AR glasses (for example, ORB algorithm, SIFT algorithm, etc.) ); 3) Transmit the detection features and descriptors to the mobile device; 3) By calculating the distance between the descriptors, compare the received detection features with the scene features stored on the mobile device by the SLAM module to obtain a match Features; 4) Use the 3D coordinate information of the matching feature from the mobile device and its 2D projection information on the image of the AR glasses, and then use the PNP algorithm to calculate the 6DOF pose information of the camera on the AR glasses; 5) Calculate The obtained pose information is transmitted from the mobile device to the AR glasses.
  • the embodiment of the present application only needs to transmit the data between the AR glasses and the mobile device to include detection features, associated descriptors, and pose information.
  • the bandwidth required for these data is much less than the bandwidth required for sensor data, thus minimizing system latency.
  • the AR glasses send the detected features to the mobile device, they have actually sent the 2D projection information of these detected features to the mobile device so that the mobile device can use the PNP algorithm for pose calculation.
  • the system runs the SLAM algorithm on a mobile device (for example, a smart phone), and at the same time runs a positioning algorithm on a wearable device (for example, AR glasses) (no more maps are built).
  • a mobile device for example, a smart phone
  • a positioning algorithm on a wearable device (for example, AR glasses) (no more maps are built).
  • the technical solution of the present application has the following advantages: 1) The system delay of the SLAM algorithm is low, because the SLAM runs based on the data of the mobile device, and the sensor data is no longer required to be transmitted from the AR glasses to the mobile computing device. 2) The power consumption of the AR glasses is low, because the positioning algorithm is only run on the AR glasses instead of the complete SLAM algorithm. 3) The most important point is that the mobile device and the AR glasses are simultaneously tracked in the same coordinate system.
  • a mobile device can be used as a 6DOF controller to interact with virtual objects displayed on AR glasses (for example, using a mobile phone as a boxing glove to play a boxing game).
  • the embodiment of the present application may not need to execute the SLAM algorithm on the mobile device and the wearable device at the same time.
  • Execute the positioning algorithm on the above, at this time you can also execute the two algorithms separately in order. For example, you can run the SLAM algorithm to build a scene map of the entire room, and then use the positioning algorithm to track the pose information of the wearable device.
  • This embodiment provides a pose tracking method.
  • the specific implementation of the foregoing embodiment is described in detail through the foregoing embodiment. It can be seen from this that not only the power consumption of the wearable device is reduced, but the system delay is also reduced, thereby improving The visual quality of the wearable device is improved; in addition, the mobile device and the wearable device are located in the same coordinate system to perform pose tracking, which can also improve the interaction effect between the virtual object of the mobile device and the wearable device.
  • FIG. 6 shows a schematic diagram of the composition structure of a wearable device 60 provided by an embodiment of the present application.
  • the wearable device 60 may include: a first acquiring unit 601, a first processing unit 602, and a first determining unit 603; wherein,
  • the first obtaining unit 601 is configured to obtain an image to be processed
  • the first processing unit 602 is configured to perform feature processing on the image to be processed, and determine a set of feature information of the image to be processed;
  • the first determining unit 603 is configured to determine the pose information of the wearable device according to the set of characteristic information.
  • the wearable device 60 may further include a first sending unit 604 and a first receiving unit 605; wherein,
  • the first sending unit 604 is configured to send the set of characteristic information to a mobile device
  • the first receiving unit 605 is configured to receive the pose information of the wearable device returned by the mobile device based on the response of the mobile device.
  • the first sending unit 604 is further configured to send the set of characteristic information to the mobile device
  • the first receiving unit 605 is further configured to receive the three-dimensional coordinate information of the matching feature included in the target feature subset returned by the mobile device;
  • the first obtaining unit 601 is further configured to obtain two-dimensional projection information of the matching feature included in the target feature subset on the image to be processed;
  • the first processing unit 602 is further configured to use a preset algorithm to perform pose calculation on the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset to obtain the position of the wearable device. Posture information.
  • the first receiving unit 605 is further configured to receive a set of scene characteristic information sent by the mobile device;
  • the first processing unit 602 is further configured to perform feature matching between the set of scene feature information and the set of feature information, determine a target feature subset, and obtain three-dimensional coordinate information of the matching feature included in the target feature subset And the two-dimensional projection information of the matching feature on the image to be processed; and using a preset algorithm to perform pose to the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset Calculate to obtain the pose information of the wearable device.
  • the preset algorithm is a PNP algorithm.
  • the first acquisition unit 601 is specifically configured to perform image acquisition through a camera of the wearable device to obtain the image to be processed.
  • the first processing unit 602 is further configured to perform feature detection on the image to be processed to obtain a set of detection features of the image to be processed; and perform feature description on the set of detection features to obtain The set of descriptors associated with the detection feature;
  • the first determining unit 603 is further configured to determine the set of detection features and the descriptor associated with the set of detection features as a set of feature information of the image to be processed.
  • a "unit" may be a part of a circuit, a part of a processor, a part of a program or software, etc., of course, may also be a module, or may be non-modular.
  • the various components in this embodiment may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be realized in the form of hardware or software function module.
  • the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of this embodiment is essentially or It is said that the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product.
  • the computer software product is stored in a storage medium and includes several instructions to enable a computer device (which can It is a personal computer, a server, or a network device, etc.) or a processor (processor) that executes all or part of the steps of the method described in this embodiment.
  • the aforementioned storage media include: U disk, mobile hard disk, read only memory (Read Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program codes.
  • the embodiments of the present application provide a computer storage medium, which is applied to the wearable device 60, and the computer storage medium stores a computer program that, when executed by a first processor, implements any of the foregoing embodiments. The method described.
  • FIG. 7 shows a schematic diagram of a specific hardware structure of a wearable device 60 provided by an embodiment of the present application.
  • a wearable device 60 may include: a first communication interface 701, a first memory 702, and a first processor 703; various components are coupled together through a first bus system 704.
  • the first bus system 704 is used to implement connection and communication between these components.
  • the first bus system 704 also includes a power bus, a control bus, and a status signal bus.
  • various buses are marked as the first bus system 704 in FIG. 7. in,
  • the first communication interface 701 is used for receiving and sending signals in the process of sending and receiving information with other external network elements;
  • the first memory 702 is configured to store a computer program that can run on the first processor 703;
  • the first processor 703 is configured to execute: when the computer program is running:
  • the pose information of the wearable device is determined.
  • the first memory 702 in the embodiment of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), and electrically available Erase programmable read-only memory (Electrically EPROM, EEPROM) or flash memory.
  • the volatile memory may be a random access memory (Random Access Memory, RAM), which is used as an external cache.
  • RAM static random access memory
  • DRAM dynamic random access memory
  • DRAM synchronous dynamic random access memory
  • DDRSDRAM Double Data Rate Synchronous Dynamic Random Access Memory
  • Enhanced SDRAM, ESDRAM Synchronous Link Dynamic Random Access Memory
  • Synchlink DRAM Synchronous Link Dynamic Random Access Memory
  • DRRAM Direct Rambus RAM
  • the first processor 703 may be an integrated circuit chip with signal processing capability. In the implementation process, the steps of the foregoing method may be completed by an integrated logic circuit of hardware in the first processor 703 or instructions in the form of software.
  • the above-mentioned first processor 703 may be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (ASIC), a ready-made programmable gate array (Field Programmable Gate Array, FPGA) Or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
  • DSP Digital Signal Processor
  • ASIC application specific integrated circuit
  • FPGA ready-made programmable gate array
  • the methods, steps, and logical block diagrams disclosed in the embodiments of the present application can be implemented or executed.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present application may be directly embodied as being executed and completed by a hardware decoding processor, or executed and completed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, registers.
  • the storage medium is located in the first memory 702, and the first processor 703 reads the information in the first memory 702, and completes the steps of the foregoing method in combination with its hardware.
  • the embodiments described in this application can be implemented by hardware, software, firmware, middleware, microcode, or a combination thereof.
  • the processing unit can be implemented in one or more application specific integrated circuits (ASIC), digital signal processor (Digital Signal Processing, DSP), digital signal processing equipment (DSP Device, DSPD), programmable Logic device (Programmable Logic Device, PLD), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA), general-purpose processors, controllers, microcontrollers, microprocessors, and others for performing the functions described in this application Electronic unit or its combination.
  • ASIC application specific integrated circuits
  • DSP Digital Signal Processing
  • DSP Device digital signal processing equipment
  • PLD programmable Logic Device
  • PLD Field-Programmable Gate Array
  • FPGA Field-Programmable Gate Array
  • the technology described in this application can be implemented through modules (for example, procedures, functions, etc.) that perform the functions described in this application.
  • the software codes can be stored in the memory and executed by
  • the first processor 703 is further configured to execute the method described in any one of the foregoing embodiments when the computer program is running.
  • This embodiment provides a wearable device, which may include a first acquiring unit, a first processing unit, and a first determining unit.
  • a wearable device which may include a first acquiring unit, a first processing unit, and a first determining unit.
  • SLAM runs on mobile devices and builds scene maps
  • wearable devices no longer build maps but only execute positioning algorithms; this not only reduces the power consumption of wearable devices, but also reduces system latency, thereby increasing
  • the visual quality of the wearable device is improved; in addition, the mobile device and the wearable device are located in the same coordinate system to perform pose tracking, which can also improve the interaction effect between the virtual object of the mobile device and the wearable device.
  • FIG. 8 shows a schematic diagram of the composition structure of a mobile device 80 provided by an embodiment of the present application.
  • the mobile device 80 may include: a second acquiring unit 801, a second processing unit 802, and a second determining unit 803; wherein,
  • the second acquiring unit 801 is configured to acquire sensor data of the mobile device
  • the second processing unit 802 is configured to perform SLAM processing on the sensor data to construct a scene map
  • the second determining unit 803 is configured to determine the pose information of the mobile device based on the scene map.
  • the mobile device 80 may further include a second sending unit 804 and a second receiving unit 805; wherein,
  • the second receiving unit 805 is configured to receive the set of characteristic information sent by the wearable device
  • the second processing unit 802 is further configured to calculate the pose information of the wearable device based on the scene map and the set of feature information;
  • the second sending unit 804 is configured to send the pose information of the wearable device to the wearable device.
  • the second determining unit 803 is further configured to determine a set of scene feature information in the scene map according to the sensor data;
  • the second processing unit 802 is further configured to perform feature matching between the set of scene feature information and the set of feature information to determine a target feature subset; and is also configured to obtain matching features included in the target feature subset Three-dimensional coordinate information and two-dimensional projection information on the image to be processed of the wearable device; and using a preset algorithm to match the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset Perform pose calculation to obtain pose information of the wearable device.
  • the set of feature information includes a set of detection features and a descriptor associated with the set of detection features
  • the second processing unit 802 is specifically configured to perform feature matching between the set of detected features and the scene features in the set of scene feature information based on the calculated distance between the descriptor and the descriptor, and determine the target feature set.
  • the preset algorithm is a PNP algorithm.
  • the second receiving unit 805 is further configured to receive the set of characteristic information sent by the wearable device
  • the second determining unit 803 is further configured to determine a set of scene feature information in the scene map according to the sensor data;
  • the second processing unit 802 is further configured to perform feature matching between the set of scene feature information and the set of feature information to determine a target feature subset;
  • the second sending unit 804 is further configured to send the three-dimensional coordinate information of the matching feature included in the target feature subset to the wearable device.
  • the second determining unit 803 is further configured to determine a set of scene feature information in the scene map according to the sensor data;
  • the second sending unit 804 is further configured to send the set of scene characteristic information to the wearable device.
  • a "unit" may be a part of a circuit, a part of a processor, a part of a program or software, etc., of course, it may also be a module, or it may also be non-modular.
  • the various components in this embodiment may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be realized in the form of hardware or software function module.
  • the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer readable storage medium.
  • this embodiment provides a computer storage medium, which is applied to the mobile device 80, and the computer storage medium stores a computer program. When the computer program is executed by the second processor, any one of the foregoing embodiments is implemented. The method described.
  • FIG. 9 shows a schematic diagram of a specific hardware structure of the mobile device 80 provided in an embodiment of the present application.
  • it may include: a second communication interface 901, a second memory 902, and a second processor 903; various components are coupled together through a second bus system 904.
  • the second bus system 904 is used to implement connection and communication between these components.
  • the second bus system 904 also includes a power bus, a control bus, and a status signal bus.
  • various buses are marked as the second bus system 904 in FIG. 9. in,
  • the second communication interface 901 is used for receiving and sending signals in the process of sending and receiving information with other external network elements;
  • the second memory 902 is configured to store a computer program that can run on the second processor 903;
  • the second processor 903 is configured to execute: when the computer program is running:
  • the pose information of the mobile device is determined.
  • the second processor 903 is further configured to execute the method described in any one of the foregoing embodiments when the computer program is running.
  • This embodiment provides a mobile device, which includes a second acquiring unit, a second processing unit, and a second determining unit.
  • SLAM runs on mobile devices and builds scene maps
  • wearable devices no longer build maps but only execute positioning algorithms; this not only reduces the power consumption of wearable devices, but also reduces system latency, thereby increasing
  • the visual quality of the wearable device is improved; in addition, the mobile device and the wearable device are located in the same coordinate system to perform pose tracking, which can also improve the interaction effect between the mobile device and the virtual object of the wearable device.
  • the wearable device no longer builds the map, only executes the positioning algorithm; this not only reduces the wearable device
  • the power consumption also reduces the system delay, thereby improving the visual quality of the wearable device; in addition, the mobile device and the wearable device are located in the same coordinate system to perform pose tracking, which can also improve the virtual objects of the mobile device and the wearable device The interaction effect between.

Abstract

Disclosed in embodiments of the present application are a pose tracking method, a wearable device, a mobile device, and a storage medium. The method comprises: acquiring an image to be processed; performing feature processing on said image, and determining a group of feature information of said image; and determining pose information of the wearable device according to the group of feature information. Thus, regarding pose tracking of the wearable device, since simultaneous localization and mapping (SLAM) is operated on the mobile device, and the wearable device does not perform mapping and merely executes a localization algorithm, the power consumption of the wearable device is reduced, and system latency is also reduced, thereby improving the visual quality of the wearable device.

Description

位姿跟踪方法、可穿戴设备、移动设备以及存储介质Pose tracking method, wearable device, mobile device and storage medium
相关申请的交叉引用Cross-references to related applications
本申请要求以2020年02月19日提交的、申请号为62/978,704的题为“Method for Pose Tracking on Wearable Visual Enhancement Devices”的在先美国临时专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims priority to the prior U.S. provisional patent application entitled "Method for Pose Tracking on Wearable Visual Enhancement Devices" filed on February 19, 2020 with application number 62/978,704, the entire content of which is incorporated by reference In this application.
技术领域Technical field
本申请实施例涉及视觉增强技术领域,尤其涉及一种位姿跟踪方法、可穿戴设备、移动设备以及存储介质。The embodiments of the present application relate to the field of vision enhancement technology, and in particular, to a pose tracking method, a wearable device, a mobile device, and a storage medium.
背景技术Background technique
近年来,随着虚拟现实(Virtual Reality,VR)、增强现实(Augmented Reality,AR)和混合现实(Mixed Reality,MR)等视觉增强技术的发展,可以通过计算机系统模拟出虚拟的三维世界,使得用户能够与虚拟场景进行互动,并且带给用户身临其境的感受。In recent years, with the development of visual enhancement technologies such as Virtual Reality (VR), Augmented Reality (AR), and Mixed Reality (MR), a virtual three-dimensional world can be simulated through a computer system, so that The user can interact with the virtual scene and give the user an immersive experience.
在分体式视觉增强系统中,包括有可穿戴设备和移动设备,且可穿戴设备和移动设备通过有线或者无线进行通信连接。目前,为了对与移动设备协同工作的可穿戴设备(如分体式AR眼镜)实施6自由度(Degree of Freedom,DOF)跟踪,通常有两种方法来实现,一种方法是使用可穿戴设备自身上的计算能力执行6DOF跟踪,另一种方式是使用移动设备自身上的计算能力执行6DOF跟踪,但是这两种方法均会存在一些缺陷,如前者导致可穿戴设备的硬件复杂度高,功耗高;后者导致系统延迟较大,可能会损害可穿戴设备的视觉质量。In the split vision enhancement system, a wearable device and a mobile device are included, and the wearable device and the mobile device are connected through wired or wireless communication. At present, in order to implement 6-degree-of-freedom (DOF) tracking for wearable devices (such as split AR glasses) that work with mobile devices, there are usually two methods to achieve this. One method is to use the wearable device itself The computing power of the mobile device performs 6DOF tracking. Another way is to use the computing power of the mobile device itself to perform 6DOF tracking. However, both of these methods have some drawbacks. For example, the former leads to high hardware complexity and power consumption of wearable devices. High; the latter causes a large system delay, which may damage the visual quality of wearable devices.
发明内容Summary of the invention
本申请实施例提供一种位姿跟踪方法、可穿戴设备、移动设备以及存储介质,不仅可以降低可穿戴设备的功耗,而且还可以降低系统延迟,以提高可穿戴设备的视觉质量。The embodiments of the present application provide a pose tracking method, a wearable device, a mobile device, and a storage medium, which can not only reduce the power consumption of the wearable device, but also reduce the system delay to improve the visual quality of the wearable device.
本申请实施例的技术方案可以如下实现:The technical solutions of the embodiments of the present application can be implemented as follows:
第一方面,本申请实施例提供了一种位姿跟踪方法,应用于可穿戴设备,该方法包括:In the first aspect, an embodiment of the present application provides a pose tracking method, which is applied to a wearable device, and the method includes:
获取待处理图像;Obtain the image to be processed;
对所述待处理图像进行特征处理,确定所述待处理图像的一组特征信息;Performing feature processing on the image to be processed, and determining a set of feature information of the image to be processed;
根据所述一组特征信息,确定所述可穿戴设备的位姿信息。According to the set of characteristic information, the pose information of the wearable device is determined.
在一些实施例中,所述根据所述一组特征信息,确定所述可穿戴设备的位姿信息,包括:In some embodiments, the determining the pose information of the wearable device according to the set of characteristic information includes:
将所述一组特征信息发送给移动设备;Sending the set of characteristic information to a mobile device;
基于所述移动设备的响应,接收所述移动设备返回的所述可穿戴设备的位姿信息。Based on the response of the mobile device, receiving the pose information of the wearable device returned by the mobile device.
在一些实施例中,所述根据所述一组特征信息,确定所述可穿戴设备的位姿信息,包括:In some embodiments, the determining the pose information of the wearable device according to the set of characteristic information includes:
将所述一组特征信息发送给移动设备,接收所述移动设备返回的目标特征子集包括的匹配特征的三维坐标信息;Sending the set of feature information to a mobile device, and receiving the three-dimensional coordinate information of the matching feature included in the target feature subset returned by the mobile device;
获取所述目标特征子集包括的匹配特征在所述待处理图像上的二维投影信息;Acquiring two-dimensional projection information of the matching feature included in the target feature subset on the image to be processed;
利用预设算法对所述目标特征子集包括的匹配特征的所述三维坐标信息和所述二维投影信息进行位姿计算,得到所述可穿戴设备的位姿信息。A preset algorithm is used to perform pose calculation on the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset to obtain the pose information of the wearable device.
在一些实施例中,所述根据所述一组特征信息,确定所述可穿戴设备的位姿信息,包括:In some embodiments, the determining the pose information of the wearable device according to the set of characteristic information includes:
接收移动设备发送的一组场景特征信息;Receive a set of scene characteristic information sent by the mobile device;
将所述一组场景特征信息与所述一组特征信息进行特征匹配,确定目标特征子集,并获取所述目标特征子集包括的匹配特征的三维坐标信息以及所述匹配特征在所述待处理图像上的二维投影信息;Perform feature matching between the set of scene feature information and the set of feature information, determine a target feature subset, and obtain the three-dimensional coordinate information of the matching feature included in the target feature subset and the matching feature in the waiting list. Process the two-dimensional projection information on the image;
利用预设算法对所述目标特征子集包括的匹配特征的所述三维坐标信息和所述二维投影信息进行位姿计算,得到所述可穿戴设备的位姿信息。A preset algorithm is used to perform pose calculation on the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset to obtain the pose information of the wearable device.
第二方面,本申请实施例提供了一种位姿跟踪方法,应用于移动设备,该方法包括:In the second aspect, an embodiment of the present application provides a pose tracking method, which is applied to a mobile device, and the method includes:
获取所述移动设备的传感器数据;Acquiring sensor data of the mobile device;
对所述传感器数据进行同步定位与地图构建SLAM处理,构建出场景地图;Performing synchronous positioning and map construction SLAM processing on the sensor data to construct a scene map;
基于所述场景地图,确定所述移动设备的位姿信息。Based on the scene map, the pose information of the mobile device is determined.
在一些实施例中,所述方法还包括:In some embodiments, the method further includes:
接收可穿戴设备发送的一组特征信息;Receive a set of characteristic information sent by the wearable device;
基于所述场景地图以及所述一组特征信息,计算所述可穿戴设备的位姿信息;Calculating the pose information of the wearable device based on the scene map and the set of feature information;
将所述可穿戴设备的位姿信息发送给所述可穿戴设备。Sending the pose information of the wearable device to the wearable device.
在一些实施例中,所述基于所述场景地图以及所述一组特征信息,计算所述可穿戴设备的位姿信息,包括:In some embodiments, the calculating the pose information of the wearable device based on the scene map and the set of feature information includes:
根据所述传感器数据,确定所述场景地图中的一组场景特征信息;Determine a set of scene feature information in the scene map according to the sensor data;
将所述一组场景特征信息与所述一组特征信息进行特征匹配,确定目标特征子集;Performing feature matching between the set of scene feature information and the set of feature information to determine a target feature subset;
获取所述目标特征子集包括的匹配特征的三维坐标信息以及在所述可穿戴设备的待处理图像上的二维投影信息;Acquiring three-dimensional coordinate information of the matching feature included in the target feature subset and two-dimensional projection information on the image to be processed of the wearable device;
利用预设算法对所述目标特征子集包括的匹配特征的所述三维坐标信息和所述二维投影信息进行位姿计算,得到所述可穿戴设备的位姿信息。A preset algorithm is used to perform pose calculation on the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset to obtain the pose information of the wearable device.
在一些实施例中,所述方法还包括:In some embodiments, the method further includes:
接收可穿戴设备发送的一组特征信息;Receive a set of characteristic information sent by the wearable device;
根据所述传感器数据,确定所述场景地图中的一组场景特征信息;Determine a set of scene feature information in the scene map according to the sensor data;
将所述一组场景特征信息与所述一组特征信息进行特征匹配,确定目标特征子集;Performing feature matching between the set of scene feature information and the set of feature information to determine a target feature subset;
将所述目标特征子集包括的匹配特征的三维坐标信息发送给所述可穿戴设备。The three-dimensional coordinate information of the matching feature included in the target feature subset is sent to the wearable device.
在一些实施例中,所述方法还包括:In some embodiments, the method further includes:
根据所述传感器数据,确定所述场景地图中的一组场景特征信息;Determine a set of scene feature information in the scene map according to the sensor data;
将所述一组场景特征信息发送给所述可穿戴设备。Sending the set of scene characteristic information to the wearable device.
第三方面,本申请实施例提供了一种可穿戴设备,所述可穿戴设备包括第一获取单元、第一处理单元和第一确定单元;其中,In a third aspect, an embodiment of the present application provides a wearable device, the wearable device including a first acquiring unit, a first processing unit, and a first determining unit; wherein,
所述第一获取单元,配置为获取待处理图像;The first acquiring unit is configured to acquire an image to be processed;
所述第一处理单元,配置为对所述待处理图像进行特征处理,确定所述待处理图像的一组特征信息;The first processing unit is configured to perform feature processing on the image to be processed, and determine a set of feature information of the image to be processed;
所述第一确定单元,配置为根据所述一组特征信息,确定所述可穿戴设备的位姿信息。The first determining unit is configured to determine the pose information of the wearable device according to the set of characteristic information.
第四方面,本申请实施例提供了一种可穿戴设备,所述可穿戴设备包括第一存储器和第一处理器;其中,In a fourth aspect, an embodiment of the present application provides a wearable device, the wearable device including a first memory and a first processor; wherein,
所述第一存储器,用于存储能够在所述第一处理器上运行的计算机程序;The first memory is configured to store a computer program that can run on the first processor;
所述第一处理器,用于在运行所述计算机程序时,执行如第一方面中任一项所述的方法。The first processor is configured to execute the method according to any one of the first aspects when running the computer program.
第五方面,本申请实施例提供了一种移动设备,所述移动设备包括第二获取单元、第二处理单元和第二确定单元;其中,In a fifth aspect, an embodiment of the present application provides a mobile device, the mobile device including a second acquiring unit, a second processing unit, and a second determining unit; wherein,
所述第二获取单元,配置为获取所述移动设备的传感器数据;The second acquiring unit is configured to acquire sensor data of the mobile device;
所述第二处理单元,配置为对所述传感器数据进行SLAM处理,构建出场景地图;The second processing unit is configured to perform SLAM processing on the sensor data to construct a scene map;
所述第二确定单元,配置为基于所述场景地图,确定所述移动设备的位姿信息。The second determining unit is configured to determine the pose information of the mobile device based on the scene map.
第六方面,本申请实施例提供了一种移动设备,所述移动设备包括第二存储器和第二处理器;其中,In a sixth aspect, an embodiment of the present application provides a mobile device, the mobile device including a second memory and a second processor; wherein,
所述第二存储器,用于存储能够在所述第二处理器上运行的计算机程序;The second memory is configured to store a computer program that can run on the second processor;
所述第二处理器,用于在运行所述计算机程序时,执行如第二方面中任一项所述的方法。The second processor is configured to execute the method according to any one of the second aspects when running the computer program.
第七方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现如第一方面中任一项所述的方法、或者被第二处理器执行时实现如第二方面中任一项所述的方法。In a seventh aspect, an embodiment of the present application provides a computer storage medium that stores a computer program, and when the computer program is executed by a first processor, the method as described in any one of the first aspect is implemented, Or when executed by the second processor, the method according to any one of the second aspects is implemented.
本申请实施例提供了一种位姿跟踪方法、可穿戴设备、移动设备以及存储介质,应用于可穿戴设备,通过获取待处理图像;对所述待处理图像进行特征处理,确定所述待处理图像的一组特征信息;根据所述一组特征信息,确定所述可穿戴设备的位姿信息。应用于移动设备,通过获取所述移动设备的传感器数据;对所述传感器数据进行SLAM处理,构建出场景地图;基于所述场景地图,确定所述移动设备的位姿信息。这样,由于SLAM是在移动设备上运行并构建场景地图的,这时候可穿戴设备不再构建地图而仅执行定位算法;如此不仅降低了可穿戴设备的功耗,还降低了系统延迟,进而提高了可穿戴设备的视觉质量;另外,移动设备与可穿戴设备位于同一坐标系中执行位姿跟踪,还可以提高移动设备和可穿戴设备的虚拟对象之间的交互效果。The embodiments of the application provide a pose tracking method, wearable devices, mobile devices, and storage media, which are applied to wearable devices, by acquiring images to be processed; performing feature processing on the images to be processed to determine the to-be-processed images A set of characteristic information of the image; according to the set of characteristic information, the pose information of the wearable device is determined. Applied to a mobile device, by acquiring sensor data of the mobile device; performing SLAM processing on the sensor data to construct a scene map; and determining the pose information of the mobile device based on the scene map. In this way, since SLAM runs on mobile devices and builds scene maps, wearable devices no longer build maps but only execute positioning algorithms; this not only reduces the power consumption of wearable devices, but also reduces system latency, thereby increasing The visual quality of the wearable device is improved; in addition, the mobile device and the wearable device are located in the same coordinate system to perform pose tracking, which can also improve the interaction effect between the virtual object of the mobile device and the wearable device.
附图说明Description of the drawings
图1为本申请实施例提供的一种视觉增强系统的应用场景示意图;FIG. 1 is a schematic diagram of an application scenario of a vision enhancement system provided by an embodiment of this application;
图2为本申请实施例提供的一种位姿跟踪方法的流程示意图;FIG. 2 is a schematic flowchart of a pose tracking method provided by an embodiment of the application;
图3为本申请实施例提供的另一种位姿跟踪方法的流程示意图;FIG. 3 is a schematic flowchart of another pose tracking method provided by an embodiment of the application;
图4为本申请实施例提供的一种位姿跟踪方法的详细流程示意图;FIG. 4 is a detailed flowchart of a pose tracking method provided by an embodiment of the application;
图5为本申请实施例提供的一种位姿跟踪方法的应用场景示意图;FIG. 5 is a schematic diagram of an application scenario of a pose tracking method provided by an embodiment of the application;
图6为本申请实施例提供的一种可穿戴设备的组成结构示意图;6 is a schematic diagram of the composition structure of a wearable device provided by an embodiment of the application;
图7为本申请实施例提供的一种可穿戴设备的具体硬件结构示意图;FIG. 7 is a schematic diagram of a specific hardware structure of a wearable device provided by an embodiment of the application;
图8为本申请实施例提供的一种移动设备的组成结构示意图;FIG. 8 is a schematic diagram of the composition structure of a mobile device according to an embodiment of the application;
图9为本申请实施例提供的一种移动设备的具体硬件结构示意图。FIG. 9 is a schematic diagram of a specific hardware structure of a mobile device provided by an embodiment of the application.
具体实施方式Detailed ways
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。In order to have a more detailed understanding of the characteristics and technical content of the embodiments of the present application, the implementation of the embodiments of the present application will be described in detail below with reference to the accompanying drawings. The attached drawings are for reference and explanation purposes only, and are not used to limit the embodiments of the present application.
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的 技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the technical field of this application. The terminology used herein is only for the purpose of describing the embodiments of the application, and is not intended to limit the application.
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。还需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。In the following description, “some embodiments” are referred to, which describe a subset of all possible embodiments, but it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments, and Can be combined with each other without conflict. It should also be pointed out that the term "first\second\third" referred to in the embodiments of this application only distinguishes similar objects, and does not represent a specific order for the objects. Understandably, "first\second\third" "Three" may be interchanged in specific order or sequence when permitted, so that the embodiments of the present application described herein can be implemented in a sequence other than those illustrated or described herein.
参见图1,其示出了本申请实施例提供的一种视觉增强系统的应用场景示意图。如图1所示,视觉增强系统10可以包括可穿戴设备110和移动设备120。其中,可穿戴设备110和移动设备120通过有线或者无线进行通信连接。Refer to FIG. 1, which shows a schematic diagram of an application scenario of a vision enhancement system provided by an embodiment of the present application. As shown in FIG. 1, the vision enhancement system 10 may include a wearable device 110 and a mobile device 120. Among them, the wearable device 110 and the mobile device 120 are in a wired or wireless communication connection.
这里,可穿戴设备110,可以是指单目或者双目的头戴式显示器(Head-Mounted Display,HMD),比如AR眼镜。在图1中,可穿戴设备110可以包括在靠近使用者单眼或者双眼的位置区域放置的一个或多个显示模块111。其中,通过可穿戴设备110的显示模块111,可以将其中显示的内容呈现在使用者的眼前,而且显示内容能够填满或部分填满使用者的视野。还需要说明的是,显示模块111可以是指一个或多个有机发光二极管(Organic Light-Emitting Diode,OLED)模块、液晶显示器(Liquid Crystal Display,LCD)模块、激光显示模块等。Here, the wearable device 110 may refer to a monocular or binocular head-mounted display (Head-Mounted Display, HMD), such as AR glasses. In FIG. 1, the wearable device 110 may include one or more display modules 111 placed near the position of the user's single eye or both eyes. Among them, through the display module 111 of the wearable device 110, the content displayed therein can be presented in front of the user's eyes, and the displayed content can fill or partially fill the user's field of vision. It should also be noted that the display module 111 may refer to one or more organic light-emitting diode (OLED) modules, liquid crystal display (LCD) modules, laser display modules, and the like.
另外,在一些实施例中,可穿戴设备110,还可以包括一个或多个传感器和一个或多个相机。例如,可穿戴设备110可以包括诸如惯性测量单元(Inertial Measurement Unit,IMU)、加速计、陀螺仪、接近传感器和深度相机等的一个或多个传感器。In addition, in some embodiments, the wearable device 110 may also include one or more sensors and one or more cameras. For example, the wearable device 110 may include one or more sensors such as an inertial measurement unit (IMU), an accelerometer, a gyroscope, a proximity sensor, and a depth camera.
移动设备120可以根据一个或多个无线通信协议(例如,蓝牙、WIFI等)无线连接到可穿戴设备110。或者,移动设备120也可以根据诸如通用串行总线(Universal Serial Bus,USB)之类的一个或多个数据传输协议经由数据电缆(如USB线缆)有线连接到可穿戴设备110。这里,移动设备120可以以各种形式来实施。例如,本申请实施例中描述的移动设备可以包括诸如智能手机、平板电脑、笔记本电脑、膝上电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、智能手表等等。The mobile device 120 may be wirelessly connected to the wearable device 110 according to one or more wireless communication protocols (for example, Bluetooth, WIFI, etc.). Alternatively, the mobile device 120 may also be wired to the wearable device 110 via a data cable (such as a USB cable) according to one or more data transmission protocols such as Universal Serial Bus (USB). Here, the mobile device 120 may be implemented in various forms. For example, the mobile devices described in the embodiments of the present application may include smart phones, tablet computers, notebook computers, laptop computers, palmtop computers, personal digital assistants (Personal Digital Assistant, PDA), smart watches, and so on.
在一些实施例中,在移动设备120上操作的用户可以经由移动设备120控制可穿戴设备110处的操作。另外,由可穿戴设备110中的传感器收集的数据也可以被发送回移动设备120以供进一步处理或存储。In some embodiments, a user operating on the mobile device 120 can control the operation at the wearable device 110 via the mobile device 120. In addition, the data collected by the sensors in the wearable device 110 may also be sent back to the mobile device 120 for further processing or storage.
还需要说明的是,在本申请实施例中,可穿戴设备110具体可以是指可穿戴视觉增强设备,如AR眼镜、MR眼镜和VR眼镜等。也就是说,对于可穿戴设备的6DOF跟踪,尤其是对于与移动设备120(或者可称为“移 动计算设备”,如智能手机、移动电话、计算箱等)协同工作的那些视觉增强设备来实现6DOF跟踪,这里,“可穿戴设备”和“AR眼镜”可以互换地使用,移动设备是指与AR眼镜协同工作的智能手机,AR眼镜可通过USB线缆、WiFi、蓝牙等连接到移动设备。其中,AR眼镜的6DOF跟踪(即3DOF位置和3DOF姿态)通常是通过同步定位与地图构建(Simultaneous Localization and Mapping,SLAM)算法来完成。SLAM算法是构建或更新未知环境地图的过程,同时跟踪该设备在环境中的位置和姿态。当今移动设备都配置了与AR框架相配套的SLAM功能,例如苹果公司的ARKit和谷歌公司的ARCore;而独立的AR眼镜也可具有SLAM功能,例如微软Hololens和Magic Leap One。It should also be noted that, in the embodiment of the present application, the wearable device 110 may specifically refer to a wearable vision enhancement device, such as AR glasses, MR glasses, and VR glasses. That is to say, 6DOF tracking for wearable devices, especially for those visual enhancement devices that work with the mobile device 120 (or "mobile computing devices", such as smart phones, mobile phones, computing boxes, etc.) 6DOF tracking, here, "wearable device" and "AR glasses" can be used interchangeably. Mobile devices refer to smart phones that work with AR glasses. AR glasses can be connected to mobile devices via USB cables, WiFi, Bluetooth, etc. . Among them, the 6DOF tracking (that is, the 3DOF position and the 3DOF attitude) of the AR glasses is usually completed by a simultaneous localization and mapping (Simultaneous Localization and Mapping, SLAM) algorithm. The SLAM algorithm is the process of constructing or updating an unknown environment map, while tracking the location and posture of the device in the environment. Today's mobile devices are equipped with SLAM functions that match the AR framework, such as Apple's ARKit and Google's ARCore; and independent AR glasses can also have SLAM functions, such as Microsoft Hololens and Magic Leap One.
在相关技术中,为了实现与移动设备协同工作的AR眼镜的6DOF跟踪,通常有两种方法。一种方法是使用AR眼镜上的计算能力执行SLAM,这时候传感器数据永远不会离开AR眼镜。另一种方法是使用移动设备上的计算能力执行SLAM,这时候传感器数据是由AR眼镜收集,然后发送到移动设备进行进一步处理。In the related art, in order to achieve 6DOF tracking of AR glasses that work with mobile devices, there are usually two methods. One method is to use the computing power on the AR glasses to perform SLAM. At this time, the sensor data will never leave the AR glasses. Another method is to use the computing power on the mobile device to perform SLAM. At this time, the sensor data is collected by the AR glasses and then sent to the mobile device for further processing.
这样,在AR眼镜上执行6DOF跟踪的优点是最小化系统延迟,该系统延迟是指物体移动和显示模块做出响应而发生变化之间的延迟。由于较大的延迟会破坏时间连贯性,并导致AR眼镜中的显示抖动,进而导致用户晕厥;因此,可以直接在AR眼镜上处理数据以最小化数据传输,从而减少系统延迟。但是这种解决方案存在有如下缺陷:(1)AR眼镜需要某些硬件(例如芯片和存储器等)来处理传感器数据并执行SLAM。这可能导致需要更大的硬件组件,更低的工业设计可行性以及更高的价格等;(2)SLAM过程的计算量非常大,还可能导致AR眼镜上更大的功耗和热量积聚。另一方面,还可以在单独的移动设备上执行6DOF跟踪,如此可减少AR眼镜上的功耗和热量积聚,而且对AR眼镜的硬件需求也不那么强烈,并给工业设计提供更大的灵活性。但是这种解决方案通过USB线缆或WiFi将传感器数据传输到处理单元所增加的系统延迟,往往会损害AR眼镜的视觉质量。In this way, the advantage of performing 6DOF tracking on AR glasses is to minimize the system delay, which refers to the delay between the movement of an object and the change in response to the display module. Since a large delay will destroy the time continuity and cause the display in the AR glasses to jitter, and then cause the user to faint; therefore, the data can be directly processed on the AR glasses to minimize the data transmission, thereby reducing the system delay. However, this solution has the following shortcomings: (1) AR glasses require certain hardware (such as chips and memory, etc.) to process sensor data and perform SLAM. This may result in the need for larger hardware components, lower industrial design feasibility, and higher prices; (2) The SLAM process requires a very large amount of calculation, and may also lead to greater power consumption and heat accumulation on AR glasses. On the other hand, 6DOF tracking can also be performed on a separate mobile device, which can reduce power consumption and heat accumulation on AR glasses, and the hardware requirements for AR glasses are not so strong, and provide greater flexibility to industrial design sex. However, the added system delay of this solution transmitting sensor data to the processing unit via a USB cable or WiFi often damages the visual quality of AR glasses.
本申请实施例提供了一种位姿跟踪方法,应用于可穿戴设备,该方法的基本思想是:获取待处理图像;对所述待处理图像进行特征处理,确定所述待处理图像的一组特征信息;根据所述一组特征信息,确定所述可穿戴设备的位姿信息。The embodiment of the application provides a pose tracking method, which is applied to a wearable device. The basic idea of the method is: obtain an image to be processed; perform feature processing on the image to be processed, and determine a group of the image to be processed Characteristic information; determine the pose information of the wearable device according to the set of characteristic information.
本申请实施例还提供了一种位姿跟踪方法,应用于移动设备,该方法的基本思想是:获取所述移动设备的传感器数据;对所述传感器数据进行SLAM处理,构建出场景地图;基于所述场景地图,确定所述移动设备的位姿信息。The embodiment of the application also provides a pose tracking method, which is applied to a mobile device. The basic idea of the method is: acquiring sensor data of the mobile device; performing SLAM processing on the sensor data to construct a scene map; The scene map determines the pose information of the mobile device.
这样,由于SLAM是在移动设备上运行并构建场景地图的,这时候可穿戴设备不再构建地图而仅执行定位算法;如此不仅降低了可穿戴设备的功耗,还降低了系统延迟,进而提高了可穿戴设备的视觉质量;另外,移 动设备与可穿戴设备位于同一坐标系中执行位姿跟踪,还可以提高移动设备与可穿戴设备的虚拟对象之间的交互效果。In this way, since SLAM runs on mobile devices and builds scene maps, wearable devices no longer build maps but only execute positioning algorithms; this not only reduces the power consumption of wearable devices, but also reduces system latency, thereby increasing The visual quality of the wearable device is improved; in addition, the mobile device and the wearable device are located in the same coordinate system to perform pose tracking, which can also improve the interaction effect between the virtual object of the mobile device and the wearable device.
下面将结合附图对本申请各实施例进行详细说明。Hereinafter, each embodiment of the present application will be described in detail with reference to the accompanying drawings.
本申请的一实施例中,参见图2,其示出了本申请实施例提供的一种位姿跟踪方法的流程示意图。如图2所示,该方法可以包括:In an embodiment of the present application, refer to FIG. 2, which shows a schematic flowchart of a pose tracking method provided by an embodiment of the present application. As shown in Figure 2, the method may include:
S201:获取待处理图像。S201: Obtain an image to be processed.
需要说明的是,该方法应用于可穿戴设备。这里,可穿戴设备也可以称为“头戴式设备”或者“视觉增强设备”,比如AR眼镜。在本申请实施例中,这里的可穿戴设备通常是指分体式可穿戴设备,故AR眼镜也可以称为分体式AR眼镜。It should be noted that this method is applied to wearable devices. Here, the wearable device may also be referred to as a "head-mounted device" or a "visual enhancement device", such as AR glasses. In the embodiments of the present application, the wearable device here generally refers to a split wearable device, so the AR glasses may also be referred to as split AR glasses.
还需要说明的是,在分体式视觉增强系统中,对于位姿跟踪,还需要包括与可穿戴设备协同工作的移动设备,而移动设备与可穿戴设备之间可通过数据电缆建立有线通信连接,还可通过无线通信协议建立无线通信连接。It should also be noted that in the split vision enhancement system, for pose tracking, it is also necessary to include a mobile device that works in conjunction with a wearable device, and a wired communication connection can be established between the mobile device and the wearable device through a data cable. It is also possible to establish a wireless communication connection through a wireless communication protocol.
这样,对于位姿跟踪的处理算法,部分处理算法可以在移动设备中执行,部分处理算法可以在可穿戴设备中执行。在本申请实施例中,为了优化系统延迟和可穿戴设备的功耗,可以将位姿跟踪中的同步定位与地图构建(Simultaneous Localization and Mapping,SLAM)算法放置在移动设备中,而在可穿戴设备上仅运行定位算法(不需要在构建场景地图)。In this way, for the processing algorithm of pose tracking, part of the processing algorithm can be executed in the mobile device, and part of the processing algorithm can be executed in the wearable device. In the embodiments of this application, in order to optimize the system delay and the power consumption of the wearable device, the simultaneous positioning and mapping (Simultaneous Localization and Mapping, SLAM) algorithm in the pose tracking can be placed in the mobile device, and in the wearable device. Only the positioning algorithm runs on the device (there is no need to build a scene map).
这样,对于可穿戴设备来说,在可穿戴设备中的定位模块启动后,首先需要采集图像。在一些实施例中,所述获取待处理图像,可以包括:In this way, for a wearable device, after the positioning module in the wearable device is started, an image needs to be collected first. In some embodiments, the acquiring the image to be processed may include:
通过所述可穿戴设备的相机进行图像采集,获得所述待处理图像。Image acquisition is performed through the camera of the wearable device to obtain the to-be-processed image.
也就是说,可穿戴设备中包括有第一相机,通过第一相机进行图像采集后,可以得到待处理图像,后续可利用待处理图像进行特征提取/检测。That is to say, the wearable device includes a first camera. After the image is collected by the first camera, the image to be processed can be obtained, and the image to be processed can be subsequently used for feature extraction/detection.
S202:对所述待处理图像进行特征处理,确定所述待处理图像的一组特征信息。S202: Perform feature processing on the image to be processed, and determine a set of feature information of the image to be processed.
需要说明的是,这里的特征处理可以包括特征检测和特征描述。在本申请实施例中可以根据预设特征算法实现对待处理图像的特征处理。其中,预设特征算法可以是特征提取和描述(Oriented FAST and Rotated BRIEF,ORB)算法,也可以是尺度不变特征变换(Scale invariant feature Transform,SIFT)算法等,本申请实施例不作具体限定。It should be noted that the feature processing here may include feature detection and feature description. In the embodiment of the present application, the feature processing of the image to be processed can be implemented according to a preset feature algorithm. The preset feature algorithm may be a feature extraction and description (Oriented FAST and Rotated Brief, ORB) algorithm, or a Scale Invariant Feature Transform (SIFT) algorithm, etc., which are not specifically limited in the embodiment of the application.
还需要说明的是,由于考虑到后续的特征匹配以及位姿计算,通常情况下最少需要四个特征点进行位姿计算;因此,这里的一组特征信息包括至少四个特征信息。It should also be noted that, considering the subsequent feature matching and pose calculation, usually at least four feature points are required for pose calculation; therefore, a set of feature information here includes at least four feature information.
在一些实施例中,所述对所述待处理图像进行特征处理,确定所述待处理图像的一组特征信息,可以包括:In some embodiments, the performing feature processing on the image to be processed and determining a set of feature information of the image to be processed may include:
对所述待处理图像进行特征检测,获取所述待处理图像的一组检测特征;Performing feature detection on the image to be processed, and acquiring a set of detection features of the image to be processed;
对所述一组检测特征进行特征描述,获取所述一组检测特征关联的描述子;Perform feature description on the set of detection features, and obtain descriptors associated with the set of detection features;
将所述一组检测特征以及所述一组检测特征关联的描述子确定为所述待处理图像的一组特征信息。The set of detection features and the descriptor associated with the set of detection features are determined as a set of feature information of the image to be processed.
在这里,以ORB算法为例,ORB算法可以分为两部分,即特征提取和特征描述。其中,特征提取是由FAST(Features from Accelerated Segment Test)算法发展来的,特征描述则是根据BRIEF(Binary Robust Independent Elementary Features)特征描述算法改进的。ORB特征是将FAST特征检测方法与BRIEF特征描述子结合起来,并在它们原来的基础上做了改进与优化。这里,图像的特征点可以简单的理解为图像中比较显著的点,如轮廓点,较暗区域中的亮点,较亮区域中的暗点等。换言之,ORB采用FAST算法来检测特征点。这个定义基于特征点周围的图像灰度值,检测候选特征点周围一圈的像素值。如果候选点周围领域内有足够多的像素点与该候选点的灰度值差别够大,则认为该候选点为一个特征点。在得到特征点后,需要以某种方式来描述这些特征点的属性。这些属性的输出,称为该特征点的描述子(Feature Descriptor)。ORB采用BRIEF算法来计算一个特征点的描述子。BRIEF算法的核心思想是:在关键点的周围,以一定模式选取N个点对,把这N个点对的比较结果组合起来作为描述子。Here, taking the ORB algorithm as an example, the ORB algorithm can be divided into two parts, namely feature extraction and feature description. Among them, the feature extraction is developed by the FAST (Features from Accelerated Segment Test) algorithm, and the feature description is improved based on the BRIEF (Binary Robust Independent Elementary Features) feature description algorithm. The ORB feature combines the FAST feature detection method with the BRIEF feature descriptor, and improves and optimizes them on the original basis. Here, the feature points of the image can be simply understood as the more prominent points in the image, such as contour points, bright spots in a darker area, and dark spots in a brighter area. In other words, ORB uses FAST algorithm to detect feature points. This definition is based on the gray value of the image around the feature point, and the pixel value of a circle around the candidate feature point is detected. If there are enough pixels in the surrounding area of the candidate point and the gray value difference of the candidate point is large enough, the candidate point is considered to be a feature point. After the feature points are obtained, the attributes of these feature points need to be described in some way. The output of these attributes is called the Feature Descriptor of the feature point. ORB uses the BRIEF algorithm to calculate the descriptor of a feature point. The core idea of the BRIEF algorithm is: around the key points, select N point pairs in a certain pattern, and combine the comparison results of these N point pairs as a descriptor.
以SIFT算法为例,SIFT算法的目标是解决低层次特征提取及其图像匹配应用中的许多实际问题。SIFT算法主要包括两个阶段,第一阶段是SIFT特征的生成,即从多幅图像中提取对尺度缩放、旋转、亮度变化无关的特征向量;第二阶段是SIFT特征向量的匹配。SIFT算法中的低层次特征提取是选取那些显特征,这些特征具有图像尺度(特征大小)和旋转不变性,而且对光照变化也具有一定程度的不变性。此外,SIFT算法还可以减少由遮挡、杂乱和噪声所引起的低提取概率。具体来讲,SIFT是一种检测局部特征的算法,该算法通过求得一幅图像中的特征点(interest points,or corner points)及其有关scale和orientation的描述子得到特征并进行图像特征匹配。Taking the SIFT algorithm as an example, the goal of the SIFT algorithm is to solve many practical problems in low-level feature extraction and its image matching applications. The SIFT algorithm mainly includes two stages. The first stage is the generation of SIFT features, that is, the feature vectors that are irrelevant to scale scaling, rotation, and brightness changes are extracted from multiple images; the second stage is the matching of SIFT feature vectors. The low-level feature extraction in the SIFT algorithm is to select those obvious features, which have image scale (feature size) and rotation invariance, and also have a certain degree of invariance to illumination changes. In addition, the SIFT algorithm can also reduce the low extraction probability caused by occlusion, clutter and noise. Specifically, SIFT is an algorithm for detecting local features. The algorithm obtains features and performs image feature matching by obtaining feature points (interest points, or corner points) in an image and descriptors related to scale and orientation. .
相比之下,ORB算法最大的特点就是计算速度快。这首先得益于使用FAST检测特征;其次是使用BRIEF算法计算描述子,该描述子特有的二进制串的表现形式,不仅节约了存储空间,而且大大缩短了匹配的时间。In contrast, the biggest feature of the ORB algorithm is its fast calculation speed. This firstly benefits from the use of FAST to detect features; secondly, the use of the BRIEF algorithm to calculate the descriptor. The unique binary string representation of the descriptor not only saves storage space, but also greatly shortens the matching time.
这样,在得到待处理图像的一组特征信息后,可以结合移动设备构建的场景地图,进而确定出可穿戴设备的位姿信息。In this way, after obtaining a set of feature information of the image to be processed, the scene map constructed by the mobile device can be combined to determine the pose information of the wearable device.
S203:根据所述一组特征信息,确定所述可穿戴设备的位姿信息。S203: Determine the pose information of the wearable device according to the set of characteristic information.
需要说明的是,本申请实施例的位姿信息可以为6自由度(Degree of Freedom,DOF)信息,具体可以包括3DOF位置信息和3DOF姿态信息;根据可穿戴设备的位姿信息可以实现对可穿戴设备的位置和姿态的跟踪。It should be noted that the pose information in the embodiments of this application may be 6 degrees of freedom (Degree of Freedom, DOF) information, which may specifically include 3DOF position information and 3DOF pose information; according to the pose information of the wearable device, the Tracking the position and posture of the wearable device.
考虑到可穿戴设备的不同架构,移动设备可以执行大部分的处理算法、或者部分的处理算法、或者少部分的处理算法,从而使得可穿戴设备可以 执行大量的处理计算、也可以执行少量的处理计算等等,下面将分几种情况进行详细描述。Taking into account the different architectures of wearable devices, mobile devices can execute most of the processing algorithms, or part of the processing algorithms, or a small part of the processing algorithms, so that the wearable device can perform a large amount of processing calculations, and can also perform a small amount of processing. Calculations, etc., will be described in detail in several situations below.
在一种可能的实施方式中,大部分的处理算法(比如特征匹配和位姿计算等)均在移动设备上进行。这时候,在一些实施例中,所述根据所述一组特征信息,确定所述可穿戴设备的位姿信息,可以包括:In a possible implementation manner, most of the processing algorithms (such as feature matching and pose calculation, etc.) are performed on the mobile device. At this time, in some embodiments, the determining the pose information of the wearable device according to the set of characteristic information may include:
将所述一组特征信息发送给移动设备;Sending the set of characteristic information to a mobile device;
基于所述移动设备的响应,接收所述移动设备返回的所述可穿戴设备的位姿信息。Based on the response of the mobile device, receiving the pose information of the wearable device returned by the mobile device.
需要说明的是,在这种方式下,可穿戴设备将一组特征信息发送给移动设备后,移动设备可以根据自身构建的场景地图以及这一组特征信息,计算得到可穿戴设备的位姿信息,然后将可穿戴设备的位姿信息发送给可穿戴设备,用以跟踪可穿戴设备的位置和姿态。It should be noted that in this way, after the wearable device sends a set of feature information to the mobile device, the mobile device can calculate the pose information of the wearable device according to the scene map built by itself and this set of feature information , And then send the posture information of the wearable device to the wearable device to track the position and posture of the wearable device.
在另一种可能的实施方式中,部分处理算法(比如特征匹配)在移动设备上进行,而部分处理算法(比如位姿计算)在可穿戴设备上进行。这时候,在一些实施例中,所述根据所述一组特征信息,确定所述可穿戴设备的位姿信息,可以包括:In another possible implementation manner, part of the processing algorithm (such as feature matching) is performed on the mobile device, and part of the processing algorithm (such as the pose calculation) is performed on the wearable device. At this time, in some embodiments, the determining the pose information of the wearable device according to the set of characteristic information may include:
将所述一组特征信息发送给移动设备,接收所述移动设备返回的目标特征子集包括的匹配特征的三维坐标信息;Sending the set of feature information to a mobile device, and receiving the three-dimensional coordinate information of the matching feature included in the target feature subset returned by the mobile device;
获取所述目标特征子集包括的匹配特征在所述待处理图像上的二维投影信息;Acquiring two-dimensional projection information of the matching feature included in the target feature subset on the image to be processed;
利用预设算法对所述目标特征子集包括的匹配特征的所述三维坐标信息和所述二维投影信息进行位姿计算,得到所述可穿戴设备的位姿信息。A preset algorithm is used to perform pose calculation on the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset to obtain the pose information of the wearable device.
需要说明的是,在这种方式下,可穿戴设备将一组特征信息发送给移动设备后,移动设备可以根据自身构建的场景地图以及这一组特征信息进行特征匹配,得到匹配特征所组成的目标特征子集以及这些匹配特征的三维坐标信息,然后在将其发送给可穿戴设备后,可穿戴设备可以根据这些匹配特征的三维坐标信息以及这些匹配特征在待处理图像上的二维投影信息进行位姿计算,得到可穿戴设备的位姿信息,用以跟踪可穿戴设备的位置和姿态。It should be noted that in this way, after the wearable device sends a set of feature information to the mobile device, the mobile device can perform feature matching according to the scene map built by itself and this set of feature information to obtain a set of matching features. The target feature subset and the three-dimensional coordinate information of these matching features, and then after sending it to the wearable device, the wearable device can use the three-dimensional coordinate information of these matching features and the two-dimensional projection information of these matching features on the image to be processed. Perform pose calculation to obtain the pose information of the wearable device, which is used to track the position and posture of the wearable device.
在又一种可能的实施方式中,大部分的处理算法(比如特征匹配、位姿计算等)均在可穿戴设备上进行。这时候,在一些实施例中,所述根据所述一组特征信息,确定所述可穿戴设备的位姿信息,可以包括:In yet another possible implementation manner, most of the processing algorithms (such as feature matching, pose calculation, etc.) are performed on the wearable device. At this time, in some embodiments, the determining the pose information of the wearable device according to the set of characteristic information may include:
接收移动设备发送的一组场景特征信息;Receive a set of scene characteristic information sent by the mobile device;
将所述一组场景特征信息与所述一组特征信息进行特征匹配,确定目标特征子集,并获取所述目标特征子集包括的匹配特征的三维坐标信息以及所述匹配特征在所述待处理图像上的二维投影信息;Perform feature matching between the set of scene feature information and the set of feature information, determine a target feature subset, and obtain the three-dimensional coordinate information of the matching feature included in the target feature subset and the matching feature in the waiting list. Process the two-dimensional projection information on the image;
利用预设算法对所述目标特征子集包括的匹配特征的所述三维坐标信息和所述二维投影信息进行位姿计算,得到所述可穿戴设备的位姿信息。A preset algorithm is used to perform pose calculation on the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset to obtain the pose information of the wearable device.
需要说明的是,在这种方式下,在移动设备构建场景地图后,可以将一组场景特征信息发送给可穿戴设备,然后由可穿戴设备进行特征匹配,以得到目标特征子集以及该目标特征子集所包括的匹配特征的三维坐标信息和其在待处理图像上的二维投影信息,再利用预设算法进行位姿计算,可以得到可穿戴设备的位姿信息,用以跟踪可穿戴设备的位置和姿态。需要注意的是,通常情况下,目标特征子集包括至少四个匹配特征,以便后续进行位姿计算。It should be noted that in this way, after the mobile device constructs the scene map, a set of scene feature information can be sent to the wearable device, and then the wearable device performs feature matching to obtain the target feature subset and the target The three-dimensional coordinate information of the matching feature included in the feature subset and its two-dimensional projection information on the image to be processed, and then use the preset algorithm to calculate the pose, you can get the pose information of the wearable device to track the wearable The location and attitude of the device. It should be noted that under normal circumstances, the target feature subset includes at least four matching features for subsequent pose calculations.
示例性地,假定一组场景特征信息可以包括有1000个,一组特征信息可以包括有100个,那么这1000个场景特征信息和100个特征信息进行匹配,最后能够匹配的特征有10个,这时候这10个匹配特征组成该目标特征子集,以便后续进行位姿计算,从而得到可穿戴设备的位姿信息。Illustratively, assuming that a set of scene feature information can include 1000, and a set of feature information can include 100, then the 1000 scene feature information is matched with 100 feature information, and finally there are 10 features that can be matched. At this time, these 10 matching features form a subset of the target feature for subsequent pose calculations to obtain pose information of the wearable device.
还需要说明的是,本申请实施例所述的预设算法可以为多点透视(Perspective-n-Point,PNP)算法。这里,PNP算法是求解三维(Three Dimension,3D)到(Two Dimension,2D)点对运动的方法。通俗的讲,它描述了在给定一组世界参考坐标系中的n个3D点及其在图像中相应2D投影的情况下估计校准相机的位姿问题。在本申请实施例中,对于PNP问题有多种求解算法:可以利用三对点估计位姿的P3P、直接线性变换(Direct Linear Transformation,DLT)算法和高效PNP(Efficient Perspective-n-Point,EPNP)算法等。此外,本申请实施例还可以使用非线性优化的方式,构建最小二乘问题并迭代求解,也就是光束法平差(Bundle Adjustment,BA)法,这里不作具体限定。It should also be noted that the preset algorithm described in the embodiment of the present application may be a perspective-n-point (PNP) algorithm. Here, the PNP algorithm is a method for solving three-dimensional (Three Dimension, 3D) to (Two Dimension, 2D) point pair motion. In layman's terms, it describes the problem of estimating the pose of the calibration camera given a set of n 3D points in the world reference coordinate system and their corresponding 2D projections in the image. In the embodiments of this application, there are multiple solving algorithms for the PNP problem: P3P that can use three pairs of points to estimate the pose, direct linear transformation (DLT) algorithm, and efficient PNP (Efficient Perspective-n-Point, EPNP) ) Algorithms, etc. In addition, the embodiment of the present application may also use a non-linear optimization method to construct a least squares problem and iteratively solve it, that is, the beam adjustment (Bundle Adjustment, BA) method, which is not specifically limited here.
简言之,在本申请实施例中,分体式视觉增强系统中移动设备(比如智能手机)上运行SLAM算法,同时在可穿戴设备(比如AR眼镜)上运行定位算法(不再构建地图)。另外,作为同时在移动设备上执行SLAM算法和在可穿戴设备上执行定位算法的替代方案,本申请实施例可以不需要同时在移动设备上执行SLAM算法和在可穿戴设备上执行定位算法,此时还可以按顺序分别执行这两项算法。例如,可以运行SLAM算法来构建整个房间的场景地图,然后再使用定位算法来跟踪可穿戴设备的位姿信息。In short, in the embodiment of the present application, the mobile device (such as a smart phone) in the split vision enhancement system runs the SLAM algorithm, and at the same time runs the positioning algorithm on the wearable device (such as AR glasses) (the map is no longer built). In addition, as an alternative to executing the SLAM algorithm on the mobile device and the positioning algorithm on the wearable device at the same time, the embodiments of the present application may not need to execute the SLAM algorithm on the mobile device and the positioning algorithm on the wearable device at the same time. It is also possible to execute the two algorithms separately in order. For example, you can run the SLAM algorithm to build a scene map of the entire room, and then use the positioning algorithm to track the pose information of the wearable device.
本实施例提供了一种位姿跟踪方法,应用于可穿戴设备,通过获取待处理图像;对所述待处理图像进行特征处理,确定所述待处理图像的一组特征信息;根据所述一组特征信息,确定所述可穿戴设备的位姿信息。这样,由于SLAM是在移动设备上运行并构建场景地图的,这时候可穿戴设备不再构建地图而仅执行定位算法;如此不仅降低了可穿戴设备的功耗,还降低了系统延迟,进而提高了可穿戴设备的视觉质量;另外,移动设备与可穿戴设备位于同一坐标系中执行位姿跟踪,还可以提高移动设备与可穿戴设备的虚拟对象之间的交互效果。This embodiment provides a pose tracking method, applied to a wearable device, by acquiring an image to be processed; performing feature processing on the image to be processed to determine a set of feature information of the image to be processed; The group feature information determines the pose information of the wearable device. In this way, since SLAM runs on mobile devices and builds scene maps, wearable devices no longer build maps but only execute positioning algorithms; this not only reduces the power consumption of wearable devices, but also reduces system latency, thereby increasing The visual quality of the wearable device is improved; in addition, the mobile device and the wearable device are located in the same coordinate system to perform pose tracking, which can also improve the interaction effect between the virtual object of the mobile device and the wearable device.
本申请的另一实施例中,参见图3,其示出了本申请实施例提供的另一 种位姿跟踪方法的流程示意图。如图3所示,该方法可以包括:In another embodiment of the present application, refer to FIG. 3, which shows a schematic flowchart of another pose tracking method provided in an embodiment of the present application. As shown in Figure 3, the method may include:
S301:获取移动设备的传感器数据。S301: Acquire sensor data of the mobile device.
需要说明的是,该方法应用于移动设备。这里,移动设备可以是诸如智能手机、平板电脑、笔记本电脑、膝上电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、智能手表等等,本申请实施例不作具体限定。It should be noted that this method is applied to mobile devices. Here, the mobile device may be, for example, a smart phone, a tablet computer, a notebook computer, a laptop computer, a palmtop computer, a personal digital assistant (PDA), a smart watch, etc., which are not specifically limited in the embodiment of the present application.
还需要说明的是,在分体式视觉增强系统中,还需要包括与移动设备协同工作的可穿戴设备,而移动设备与可穿戴设备之间可通过数据电缆建立有线通信连接,还可通过无线通信协议建立无线通信连接。It should also be noted that in the split vision enhancement system, it is also necessary to include a wearable device that cooperates with the mobile device, and the mobile device and the wearable device can establish a wired communication connection through a data cable or wireless communication The protocol establishes a wireless communication connection.
这样,对于位姿跟踪的处理算法,部分处理算法可以在移动设备中执行,部分处理算法可以在可穿戴设备中执行。在本申请实施例中,为了优化系统延迟和可穿戴设备的功耗,可以将位姿跟踪中的SLAM算法放置在移动设备中,而在可穿戴设备上仅运行定位算法(不需要在构建场景地图)。In this way, for the processing algorithm of pose tracking, part of the processing algorithm can be executed in the mobile device, and part of the processing algorithm can be executed in the wearable device. In the embodiment of this application, in order to optimize the system delay and the power consumption of the wearable device, the SLAM algorithm in the pose tracking can be placed in the mobile device, and only the positioning algorithm is run on the wearable device (there is no need to build the scene map).
另外,在整个系统启动之后,移动设备上的SLAM算法是基于移动设备上的传感器数据开始运行的,故首先需要获取移动设备的传感器数据。在本申请实施例中,传感器数据通常使用视觉惯性里程计来实现,在一种具体的示例中,可以使用移动设备上的相机和IMU传感器得到的。In addition, after the entire system is started, the SLAM algorithm on the mobile device starts to run based on the sensor data on the mobile device, so the sensor data of the mobile device needs to be acquired first. In the embodiments of the present application, the sensor data is usually realized by using a visual inertial odometer. In a specific example, it can be obtained by using a camera and an IMU sensor on a mobile device.
S302:对所述传感器数据进行SLAM处理,构建出场景地图。S302: Perform SLAM processing on the sensor data to construct a scene map.
S303:基于所述场景地图,确定所述移动设备的位姿信息。S303: Determine the pose information of the mobile device based on the scene map.
需要说明的是,移动设备可以包括有SLAM模块,该SLAM模块用于执行SLAM算法以及处理。这样,当整个系统启动时,移动设备上的SLAM模块使用移动设备上的传感器数据开始运行。当系统在场景中看到足够的特征并初始化SLAM模块之后,就会启动对移动设备的6DOF跟踪。在SLAM算法建立的坐标系下,能够对移动设备的位置和姿态进行持续跟踪。同时场景地图以及环境的3D表示也都会被构建。另外,如果SLAM模块看到了场景中不可见的部分,那么场景地图还将得到更新。It should be noted that the mobile device may include a SLAM module, and the SLAM module is used to execute SLAM algorithms and processing. In this way, when the entire system starts, the SLAM module on the mobile device starts to run using the sensor data on the mobile device. When the system sees enough features in the scene and initializes the SLAM module, it will start 6DOF tracking of the mobile device. Under the coordinate system established by the SLAM algorithm, the position and posture of the mobile device can be continuously tracked. At the same time, the scene map and the 3D representation of the environment will also be constructed. In addition, if the SLAM module sees an invisible part of the scene, the scene map will also be updated.
还需要说明的是,通常情况下,移动设备上的SLAM模块初始化之后,可穿戴设备上的定位模块才启动,且可穿戴设备不再需要构建场景地图;从而不仅能够降低系统延迟,同时由于可穿戴设备不再需要一些硬件来执行SLAM,还能够降低可穿戴设备的功耗。It should also be noted that under normal circumstances, after the SLAM module on the mobile device is initialized, the positioning module on the wearable device is started, and the wearable device no longer needs to build a scene map; thus not only can the system delay be reduced, but also because of the Wearable devices no longer need some hardware to perform SLAM, and it can also reduce the power consumption of wearable devices.
在移动设备构建的场景地图中,对于计算可穿戴设备的位姿信息,在一种可能的实施方式中,大部分的处理算法(比如特征匹配和位姿计算等)均在移动设备上进行。这时候,在一些实施例中,该方法还可以包括:In the scene map constructed by the mobile device, for calculating the pose information of the wearable device, in a possible implementation manner, most of the processing algorithms (such as feature matching and pose calculation) are performed on the mobile device. At this time, in some embodiments, the method may further include:
接收可穿戴设备发送的一组特征信息;Receive a set of characteristic information sent by the wearable device;
基于所述场景地图以及所述一组特征信息,计算所述可穿戴设备的位姿信息;Calculating the pose information of the wearable device based on the scene map and the set of feature information;
将所述可穿戴设备的位姿信息发送给所述可穿戴设备。Sending the pose information of the wearable device to the wearable device.
需要说明的是,在这种方式下,可穿戴设备只需要将一组特征信息发 送给移动设备,然后由移动设备根据自身构建的场景地图以及这一组特征信息,计算得到可穿戴设备的位姿信息,最后移动设备将计算得到的位姿信息发送给可穿戴设备即可。It should be noted that in this way, the wearable device only needs to send a set of characteristic information to the mobile device, and then the mobile device calculates the position of the wearable device according to the scene map constructed by itself and this set of characteristic information. At last, the mobile device sends the calculated pose information to the wearable device.
在本申请实施例中,场景地图实际上是一个数据结构,存储有一个场景中目前看到过的特征点;那么在任何一个时刻,可穿戴设备上的相机看到的仅是一个局部场景中的特征点,需要与场景地图中的特征点进行比较,以找到对应点(即匹配特征)。因此,场景地图的作用和现实生活中的地图是一样的。In the embodiment of this application, the scene map is actually a data structure that stores the feature points that have been seen in the scene so far; then at any one time, the camera on the wearable device sees only a partial scene The feature points of, need to be compared with the feature points in the scene map to find the corresponding points (ie matching features). Therefore, the role of the scene map is the same as the map in real life.
还需要说明的是,在移动设备中对可穿戴设备的位姿信息的计算,不仅需要进行特征匹配,还需要根据匹配特征的三维坐标信息和二维投影信息进行位姿计算。具体地,在一些实施例中,所述基于所述场景地图以及所述一组特征信息,计算所述可穿戴设备的位姿信息,可以包括:It should also be noted that the calculation of the pose information of the wearable device in the mobile device requires not only feature matching, but also pose calculation based on the three-dimensional coordinate information and two-dimensional projection information of the matching feature. Specifically, in some embodiments, the calculating the pose information of the wearable device based on the scene map and the set of feature information may include:
根据所述传感器数据,确定所述场景地图中的一组场景特征信息;Determine a set of scene feature information in the scene map according to the sensor data;
将所述一组场景特征信息与所述一组特征信息进行特征匹配,确定目标特征子集;Performing feature matching between the set of scene feature information and the set of feature information to determine a target feature subset;
获取所述目标特征子集包括的匹配特征的三维坐标信息以及在所述可穿戴设备的待处理图像上的二维投影信息;Acquiring three-dimensional coordinate information of the matching feature included in the target feature subset and two-dimensional projection information on the image to be processed of the wearable device;
利用预设算法对所述目标特征子集包括的匹配特征的所述三维坐标信息和所述二维投影信息进行位姿计算,得到所述可穿戴设备的位姿信息。A preset algorithm is used to perform pose calculation on the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset to obtain the pose information of the wearable device.
进一步地,可穿戴设备发送的一组特征信息可以包括一组检测特征以及一组检测特征关联的描述子。在一些实施例中,所述将所述一组场景特征信息与所述一组特征信息进行特征匹配,确定目标特征子集,可以包括:Further, a set of characteristic information sent by the wearable device may include a set of detection characteristics and a set of descriptors associated with the detection characteristics. In some embodiments, the feature matching the set of scene feature information with the set of feature information to determine the target feature subset may include:
基于描述子与描述子之间的计算距离,将所述一组检测特征与所述一组场景特征信息中的场景特征进行特征匹配,确定所述目标特征子集。Based on the calculated distance between the descriptor and the descriptor, feature matching is performed on the set of detected features and the scene features in the set of scene feature information to determine the target feature subset.
也就是说,移动设备根据传感器数据一方面可以构建场景地图,另一方面还可以确定出场景特征信息。然后将接收到的一组特征信息与这一组场景特征信息进行特征匹配,以确定出由匹配特征组成的目标特征子集。这里,一组特征信息包括至少四个特征信息,一组场景特征信息包括至少四个场景特征信息,可以通过计算描述子与描述子之间的距离,将这一组检测特征与这一组场景特征信息中的场景特征进行特征匹配。需要注意的是,每一个特征均可以理解为一个向量,判断两个特征是否匹配,或者说,两个特征有多接近,是可以利用特征向量之间的距离来确定的。In other words, the mobile device can construct a scene map based on the sensor data on the one hand, and on the other hand, it can also determine the scene feature information. Then, the received set of feature information and the set of scene feature information are feature-matched to determine the target feature subset composed of matching features. Here, a set of feature information includes at least four feature information, and a set of scene feature information includes at least four scene feature information. The distance between the descriptor and the descriptor can be calculated to compare this set of detected features with this set of scenes. Feature matching is performed on the scene features in the feature information. It should be noted that each feature can be understood as a vector. To determine whether two features match, or how close the two features are, can be determined by using the distance between the feature vectors.
这样,在确定出目标特征子集后,进一步可以获得这目标特征子集包括的匹配特征的3D坐标信息以及其在可穿戴设备的待处理图像上的2D投影信息,然后利用预设算法对目标特征子集包括的匹配特征的3D坐标信息和2D投影信息进行位姿计算,以得到可穿戴设备的位姿信息。In this way, after the target feature subset is determined, the 3D coordinate information of the matching feature included in the target feature subset and its 2D projection information on the image to be processed on the wearable device can be further obtained, and then the preset algorithm is used to target the target The 3D coordinate information and 2D projection information of the matching feature included in the feature subset are subjected to pose calculation to obtain the pose information of the wearable device.
在本申请实施例中,预设算法可以为PNP算法。这里,PNP算法具体是根据一组3D点以及其在可穿戴设备的待处理图像上的2D投影点的情况 下估算出可穿戴设备的位姿信息。In the embodiment of the present application, the preset algorithm may be a PNP algorithm. Here, the PNP algorithm specifically estimates the pose information of the wearable device based on a set of 3D points and their 2D projection points on the image to be processed of the wearable device.
在另一种可能的实施方式中,部分处理算法(比如特征匹配)在移动设备上进行,而部分处理算法(比如位姿计算)在可穿戴设备上进行。这时候,在一些实施例中,该方法还可以包括:In another possible implementation manner, part of the processing algorithm (such as feature matching) is performed on the mobile device, and part of the processing algorithm (such as the pose calculation) is performed on the wearable device. At this time, in some embodiments, the method may further include:
接收可穿戴设备发送的一组特征信息;Receive a set of characteristic information sent by the wearable device;
根据所述传感器数据,确定所述场景地图中的一组场景特征信息;Determine a set of scene feature information in the scene map according to the sensor data;
将所述一组场景特征信息与所述一组特征信息进行特征匹配,确定目标特征子集;Performing feature matching between the set of scene feature information and the set of feature information to determine a target feature subset;
将所述目标特征子集包括的匹配特征的三维坐标信息发送给所述可穿戴设备。The three-dimensional coordinate information of the matching feature included in the target feature subset is sent to the wearable device.
需要说明的是,在这种方式下,可穿戴设备将一组特征信息发送给移动设备后,移动设备会进行特征匹配,以确定出由匹配特征组成的目标特征子集。这里,特征匹配的具体方式与上述相同,这里不再赘述。It should be noted that in this manner, after the wearable device sends a set of feature information to the mobile device, the mobile device will perform feature matching to determine the target feature subset composed of the matching features. Here, the specific method of feature matching is the same as the above, and will not be repeated here.
这样,移动设备可以将目标特征子集以及其所包括的匹配特征的三维坐标信息发送给可穿戴设备,然后在可穿戴设备中利用PNP算法进行位姿计算,以确定出可穿戴设备的位姿信息。In this way, the mobile device can send the target feature subset and the three-dimensional coordinate information of the matching features included in the target feature subset to the wearable device, and then use the PNP algorithm to calculate the pose in the wearable device to determine the pose of the wearable device information.
在又一种可能的实施方式中,大部分的处理算法(比如特征匹配、位姿计算等)均在可穿戴设备上进行。这时候,在一些实施例中,该方法还可以包括:In yet another possible implementation manner, most of the processing algorithms (such as feature matching, pose calculation, etc.) are performed on the wearable device. At this time, in some embodiments, the method may further include:
根据所述传感器数据,确定所述场景地图中的一组场景特征信息;Determine a set of scene feature information in the scene map according to the sensor data;
将所述一组场景特征信息发送给所述可穿戴设备。Sending the set of scene characteristic information to the wearable device.
需要说明的是,在这种方式下,移动设备主要是利用SLAM构建场景地图,同时还可以对移动设备的位置和姿态进行跟踪。另外,移动设备在构建场景地图后,可以将一组场景特征信息发送给可穿戴设备,然后由可穿戴设备进行特征匹配以及位姿计算,以确定出可穿戴设备的位姿信息。It should be noted that in this way, the mobile device mainly uses SLAM to construct a scene map, and at the same time, it can also track the position and posture of the mobile device. In addition, after the mobile device constructs the scene map, it can send a set of scene feature information to the wearable device, and then the wearable device performs feature matching and pose calculation to determine the pose information of the wearable device.
简言之,在本申请实施例中,分体式视觉增强系统中移动设备(比如智能手机)上运行SLAM算法,同时在可穿戴设备(比如AR眼镜)上运行定位算法(不再构建地图)。另外,作为同时在移动设备上执行SLAM算法和在可穿戴设备上执行定位算法的替代方案,本申请实施例可以不需要同时在移动设备上执行SLAM算法和在可穿戴设备上执行定位算法,此时还可以按顺序分别执行这两项算法。例如,可以运行SLAM算法来构建整个房间的场景地图,然后再使用定位算法来跟踪可穿戴设备的位姿信息。In short, in the embodiment of the present application, the mobile device (such as a smart phone) in the split vision enhancement system runs the SLAM algorithm, and at the same time runs the positioning algorithm on the wearable device (such as AR glasses) (the map is no longer built). In addition, as an alternative to executing the SLAM algorithm on the mobile device and the positioning algorithm on the wearable device at the same time, the embodiments of the present application may not need to execute the SLAM algorithm on the mobile device and the positioning algorithm on the wearable device at the same time. It is also possible to execute the two algorithms separately in order. For example, you can run the SLAM algorithm to build a scene map of the entire room, and then use the positioning algorithm to track the pose information of the wearable device.
本实施例提供了一种位姿跟踪方法,应用于移动设备,通过获取所述移动设备的传感器数据;对所述传感器数据进行SLAM处理,构建出场景地图;基于所述场景地图,确定所述移动设备的位姿信息。这样,由于SLAM是在移动设备上运行并构建场景地图的,这时候可穿戴设备不再构建地图而仅执行定位算法;如此不仅降低了可穿戴设备的功耗,还降低了系统延迟,进而提高了可穿戴设备的视觉质量;另外,移动设备与可穿戴设备位 于同一坐标系中执行位姿跟踪,还可以提高移动设备与可穿戴设备的虚拟对象之间的交互效果。This embodiment provides a pose tracking method, applied to a mobile device, by acquiring sensor data of the mobile device; performing SLAM processing on the sensor data to construct a scene map; based on the scene map, determining the The pose information of the mobile device. In this way, since SLAM runs on mobile devices and builds scene maps, wearable devices no longer build maps but only execute positioning algorithms; this not only reduces the power consumption of wearable devices, but also reduces system latency, thereby increasing The visual quality of the wearable device is improved; in addition, the mobile device and the wearable device are located in the same coordinate system to perform pose tracking, which can also improve the interaction effect between the virtual object of the mobile device and the wearable device.
本申请的又一实施例中,参见图4,其示出了本申请实施例提供的一种位姿跟踪方法的详细流程示意图。如图4所示,该详细流程可以包括:In another embodiment of the present application, refer to FIG. 4, which shows a detailed flowchart of a pose tracking method provided in an embodiment of the present application. As shown in Figure 4, the detailed process may include:
S401:通过可穿戴设备上的相机采集,获取待处理图像。S401: Acquire an image to be processed through the camera collection on the wearable device.
S402:可穿戴设备对所述待处理图像进行特征处理,确定所述待处理图像的一组检测特征以及所述一组检测特征关联的描述子。S402: The wearable device performs feature processing on the image to be processed, and determines a set of detection features of the image to be processed and a descriptor associated with the set of detection features.
S403:可穿戴设备将所述待处理图像的一组检测特征以及关联的描述子发送给移动设备。S403: The wearable device sends a set of detection features and associated descriptors of the image to be processed to the mobile device.
S404:移动设备获取所述移动设备的传感器数据。S404: The mobile device acquires sensor data of the mobile device.
S405:移动设备对所述传感器数据进行SLAM处理,构建场景地图,并确定出一组场景特征信息。S405: The mobile device performs SLAM processing on the sensor data, constructs a scene map, and determines a set of scene feature information.
S406:移动设备通过计算描述子之间的距离进行特征匹配,确定出目标特征子集。S406: The mobile device performs feature matching by calculating the distance between the descriptors, and determines the target feature subset.
S407:移动设备利用PNP算法对所述目标特征子集包括的匹配特征的3D坐标信息以及其在可穿戴设备的待处理图像上的2D投影信息进行位姿计算,得到所述可穿戴设备的位姿信息。S407: The mobile device uses the PNP algorithm to perform pose calculation on the 3D coordinate information of the matching feature included in the target feature subset and its 2D projection information on the image to be processed by the wearable device to obtain the position of the wearable device. Posture information.
S408:移动设备将计算得到的位姿信息发送给可穿戴设备。S408: The mobile device sends the calculated pose information to the wearable device.
需要说明的是,在本申请实施例中,大部分的处理算法(比如特征匹配和位姿计算等)均在移动设备上进行的。其中,步骤S401~S403的执行主体是可穿戴设备,步骤S404~S408的执行主体是移动设备。It should be noted that in the embodiments of the present application, most of the processing algorithms (such as feature matching and pose calculation, etc.) are performed on the mobile device. Among them, the execution subject of steps S401 to S403 is a wearable device, and the execution subject of steps S404 to S408 is a mobile device.
还需要说明的是,在本申请实施例中,分体式视觉增强系统中移动设备(比如智能手机)上运行SLAM算法,而在可穿戴设备(比如AR眼镜)上运行定位算法(不再构建地图)。It should also be noted that in the embodiment of the present application, the mobile device (such as a smart phone) in the split vision enhancement system runs the SLAM algorithm, and the wearable device (such as AR glasses) runs the positioning algorithm (the map is no longer built) .
参见图5,其示出了本申请实施例的一种位姿跟踪方法的应用场景示意图。在图5中,可穿戴设备为AR眼镜,其运行定位算法以跟踪AR眼镜的位置和姿态;移动设备为智能手机,其运行SLAM算法以构建场景地图并跟踪智能手机的位置和姿态。以图5为例,本申请实施例的工作原理如下:Refer to FIG. 5, which shows a schematic diagram of an application scenario of a pose tracking method according to an embodiment of the present application. In Figure 5, the wearable device is AR glasses, which runs a positioning algorithm to track the position and posture of the AR glasses; the mobile device is a smartphone, which runs a SLAM algorithm to build a scene map and track the position and posture of the smartphone. Taking FIG. 5 as an example, the working principle of the embodiment of the present application is as follows:
当整个系统启动时,移动设备上的SLAM模块使用移动设备上的传感器数据开始运行。当系统在场景中看到足够的特征并初始化SLAM之后,就会启动对移动设备的6DOF跟踪。在SLAM算法建立的坐标系下,对移动设备的位置和方向进行持续跟踪。同时场景地图以及环境的3D表示都会被构建。如果SLAM模块看到了场景中不可见部分,那么场景地图还将得到更新。When the entire system starts, the SLAM module on the mobile device starts to run using the sensor data on the mobile device. When the system sees enough features in the scene and initializes SLAM, it will start 6DOF tracking of the mobile device. Under the coordinate system established by the SLAM algorithm, the position and direction of the mobile device are continuously tracked. At the same time, the scene map and the 3D representation of the environment will be constructed. If the SLAM module sees the invisible part of the scene, the scene map will also be updated.
在移动设备上的SLAM模块初始化之后,AR眼镜上的定位模块启动。该定位模块可以使用来自AR眼镜的传感器数据作为输入,并使用AR眼镜上的一些计算资源。这时候可使用以下步骤来实现定位模块:1)使用AR 眼镜上的相机采集图像;2)从该图像中检测特征并计算AR眼镜上这些检测特征的描述子(例如,ORB算法、SIFT算法等);3)将检测特征和描述子传输到移动设备;3)通过计算描述子之间的距离,将接收到的检测特征与由SLAM模块存储在移动设备上的场景特征进行比较,以得到匹配特征;4)使用来自移动设备的匹配特征的3D坐标信息及其在AR眼镜的图像上的2D投影信息,然后可以使用PNP算法计算得到AR眼镜上的相机的6DOF位姿信息;5)将计算得到的位姿信息从移动设备传输到AR眼镜。以这种方式,本申请实施例仅需要在AR眼镜和移动设备之间传输的数据包括检测特征,关联的描述子和位姿信息。这些数据所需的带宽比传感器数据所需的带宽少得多,因此使得系统延迟最小。还需要注意的是,AR眼镜在向移动设备发送检测特征的时候,实际上也已经将这些检测特征的2D投影信息发送到移动设备了,以便移动设备能够使用PNP算法进行位姿计算。After the SLAM module on the mobile device is initialized, the positioning module on the AR glasses starts. The positioning module can use sensor data from the AR glasses as input and use some computing resources on the AR glasses. At this time, the following steps can be used to implement the positioning module: 1) Use the camera on the AR glasses to collect images; 2) Detect features from the image and calculate the descriptors of these detected features on the AR glasses (for example, ORB algorithm, SIFT algorithm, etc.) ); 3) Transmit the detection features and descriptors to the mobile device; 3) By calculating the distance between the descriptors, compare the received detection features with the scene features stored on the mobile device by the SLAM module to obtain a match Features; 4) Use the 3D coordinate information of the matching feature from the mobile device and its 2D projection information on the image of the AR glasses, and then use the PNP algorithm to calculate the 6DOF pose information of the camera on the AR glasses; 5) Calculate The obtained pose information is transmitted from the mobile device to the AR glasses. In this way, the embodiment of the present application only needs to transmit the data between the AR glasses and the mobile device to include detection features, associated descriptors, and pose information. The bandwidth required for these data is much less than the bandwidth required for sensor data, thus minimizing system latency. It should also be noted that when the AR glasses send the detected features to the mobile device, they have actually sent the 2D projection information of these detected features to the mobile device so that the mobile device can use the PNP algorithm for pose calculation.
可以理解地,本申请的关键思想是:该系统在移动设备(例如智能手机)上运行SLAM算法,同时在可穿戴设备(例如,AR眼镜)上运行定位算法(不再构建地图)。如此,本申请的技术方案具有以下优点:1)SLAM算法的系统延迟低,原因是SLAM是基于移动设备的数据来运行的,且不再需要传感器数据从AR眼镜传输到移动计算设备。2)AR眼镜的功耗低,原因是仅在AR眼镜上运行定位算法,而非是运行完整的SLAM算法。3)最重要的一点是,移动设备和AR眼镜在同一坐标系中同时被跟踪。因此,可以在智能手机和AR眼镜的虚拟对象之间进行交互。例如,移动设备可以用作6DOF控制器,以与AR眼镜上显示的虚拟对象进行交互(例如,使用手机作为拳击手套来玩拳击游戏)。Understandably, the key idea of this application is that the system runs the SLAM algorithm on a mobile device (for example, a smart phone), and at the same time runs a positioning algorithm on a wearable device (for example, AR glasses) (no more maps are built). In this way, the technical solution of the present application has the following advantages: 1) The system delay of the SLAM algorithm is low, because the SLAM runs based on the data of the mobile device, and the sensor data is no longer required to be transmitted from the AR glasses to the mobile computing device. 2) The power consumption of the AR glasses is low, because the positioning algorithm is only run on the AR glasses instead of the complete SLAM algorithm. 3) The most important point is that the mobile device and the AR glasses are simultaneously tracked in the same coordinate system. Therefore, it is possible to interact between the smart phone and the virtual objects of the AR glasses. For example, a mobile device can be used as a 6DOF controller to interact with virtual objects displayed on AR glasses (for example, using a mobile phone as a boxing glove to play a boxing game).
此外,还需要说明的是,作为同时在移动设备上执行SLAM算法和在可穿戴设备上执行定位算法的替代方案,本申请实施例可以不需要同时在移动设备上执行SLAM算法和在可穿戴设备上执行定位算法,此时还可以按顺序分别执行这两项算法。例如,可以运行SLAM算法来构建整个房间的场景地图,然后再使用定位算法来跟踪可穿戴设备的位姿信息。In addition, it should be noted that, as an alternative to executing the SLAM algorithm on the mobile device and the positioning algorithm on the wearable device at the same time, the embodiment of the present application may not need to execute the SLAM algorithm on the mobile device and the wearable device at the same time. Execute the positioning algorithm on the above, at this time, you can also execute the two algorithms separately in order. For example, you can run the SLAM algorithm to build a scene map of the entire room, and then use the positioning algorithm to track the pose information of the wearable device.
本实施例提供了一种位姿跟踪方法,通过上述实施例对前述实施例的具体实现进行详细阐述,从中可以看出,不仅降低了可穿戴设备的功耗,还降低了系统延迟,进而提高了可穿戴设备的视觉质量;另外,移动设备与可穿戴设备位于同一坐标系中执行位姿跟踪,还可以提高移动设备与可穿戴设备的虚拟对象之间的交互效果。This embodiment provides a pose tracking method. The specific implementation of the foregoing embodiment is described in detail through the foregoing embodiment. It can be seen from this that not only the power consumption of the wearable device is reduced, but the system delay is also reduced, thereby improving The visual quality of the wearable device is improved; in addition, the mobile device and the wearable device are located in the same coordinate system to perform pose tracking, which can also improve the interaction effect between the virtual object of the mobile device and the wearable device.
本申请的再一实施例中,基于前述实施例相同的发明构思,参见图6,其示出了本申请实施例提供的一种可穿戴设备60的组成结构示意图。如图6所示,该可穿戴设备60可以包括:第一获取单元601、第一处理单元602和第一确定单元603;其中,In yet another embodiment of the present application, based on the same inventive concept as the foregoing embodiment, refer to FIG. 6, which shows a schematic diagram of the composition structure of a wearable device 60 provided by an embodiment of the present application. As shown in FIG. 6, the wearable device 60 may include: a first acquiring unit 601, a first processing unit 602, and a first determining unit 603; wherein,
第一获取单元601,配置为获取待处理图像;The first obtaining unit 601 is configured to obtain an image to be processed;
第一处理单元602,配置为对所述待处理图像进行特征处理,确定所述待处理图像的一组特征信息;The first processing unit 602 is configured to perform feature processing on the image to be processed, and determine a set of feature information of the image to be processed;
第一确定单元603,配置为根据所述一组特征信息,确定所述可穿戴设备的位姿信息。The first determining unit 603 is configured to determine the pose information of the wearable device according to the set of characteristic information.
在一些实施例中,参见图6,可穿戴设备60还可以包括第一发送单元604和第一接收单元605;其中,In some embodiments, referring to FIG. 6, the wearable device 60 may further include a first sending unit 604 and a first receiving unit 605; wherein,
第一发送单元604,配置为将所述一组特征信息发送给移动设备;The first sending unit 604 is configured to send the set of characteristic information to a mobile device;
第一接收单元605,配置为基于所述移动设备的响应,接收所述移动设备返回的所述可穿戴设备的位姿信息。The first receiving unit 605 is configured to receive the pose information of the wearable device returned by the mobile device based on the response of the mobile device.
在一些实施例中,第一发送单元604,还配置为将所述一组特征信息发送给移动设备;In some embodiments, the first sending unit 604 is further configured to send the set of characteristic information to the mobile device;
第一接收单元605,还配置为接收所述移动设备返回的目标特征子集包括的匹配特征的三维坐标信息;The first receiving unit 605 is further configured to receive the three-dimensional coordinate information of the matching feature included in the target feature subset returned by the mobile device;
第一获取单元601,还配置为获取所述目标特征子集包括的匹配特征在所述待处理图像上的二维投影信息;The first obtaining unit 601 is further configured to obtain two-dimensional projection information of the matching feature included in the target feature subset on the image to be processed;
第一处理单元602,还配置为利用预设算法对所述目标特征子集包括的匹配特征的所述三维坐标信息和所述二维投影信息进行位姿计算,得到所述可穿戴设备的位姿信息。The first processing unit 602 is further configured to use a preset algorithm to perform pose calculation on the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset to obtain the position of the wearable device. Posture information.
在一些实施例中,第一接收单元605,还配置为接收移动设备发送的一组场景特征信息;In some embodiments, the first receiving unit 605 is further configured to receive a set of scene characteristic information sent by the mobile device;
第一处理单元602,还配置为将所述一组场景特征信息与所述一组特征信息进行特征匹配,确定目标特征子集,并获取所述目标特征子集包括的匹配特征的三维坐标信息以及所述匹配特征在所述待处理图像上的二维投影信息;以及利用预设算法对所述目标特征子集包括的匹配特征的所述三维坐标信息和所述二维投影信息进行位姿计算,得到所述可穿戴设备的位姿信息。The first processing unit 602 is further configured to perform feature matching between the set of scene feature information and the set of feature information, determine a target feature subset, and obtain three-dimensional coordinate information of the matching feature included in the target feature subset And the two-dimensional projection information of the matching feature on the image to be processed; and using a preset algorithm to perform pose to the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset Calculate to obtain the pose information of the wearable device.
在一些实施例中,所述预设算法为PNP算法。In some embodiments, the preset algorithm is a PNP algorithm.
在一些实施例中,第一获取单元601,具体配置为通过所述可穿戴设备的相机进行图像采集,获得所述待处理图像。In some embodiments, the first acquisition unit 601 is specifically configured to perform image acquisition through a camera of the wearable device to obtain the image to be processed.
在一些实施例中,第一处理单元602,还配置为对所述待处理图像进行特征检测,获取所述待处理图像的一组检测特征;以及对所述一组检测特征进行特征描述,获取所述一组检测特征关联的描述子;In some embodiments, the first processing unit 602 is further configured to perform feature detection on the image to be processed to obtain a set of detection features of the image to be processed; and perform feature description on the set of detection features to obtain The set of descriptors associated with the detection feature;
第一确定单元603,还配置为将所述一组检测特征以及所述一组检测特征关联的描述子确定为所述待处理图像的一组特征信息。The first determining unit 603 is further configured to determine the set of detection features and the descriptor associated with the set of detection features as a set of feature information of the image to be processed.
可以理解地,在本申请实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述 集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。It is understandable that, in the embodiments of the present application, a "unit" may be a part of a circuit, a part of a processor, a part of a program or software, etc., of course, may also be a module, or may be non-modular. Moreover, the various components in this embodiment may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit. The above-mentioned integrated unit can be realized in the form of hardware or software function module.
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer readable storage medium. Based on this understanding, the technical solution of this embodiment is essentially or It is said that the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions to enable a computer device (which can It is a personal computer, a server, or a network device, etc.) or a processor (processor) that executes all or part of the steps of the method described in this embodiment. The aforementioned storage media include: U disk, mobile hard disk, read only memory (Read Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program codes.
因此,本申请实施例提供了一种计算机存储介质,应用于可穿戴设备60,该计算机存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现前述实施例中任一项所述的方法。Therefore, the embodiments of the present application provide a computer storage medium, which is applied to the wearable device 60, and the computer storage medium stores a computer program that, when executed by a first processor, implements any of the foregoing embodiments. The method described.
基于上述可穿戴设备60的组成以及计算机存储介质,参见图7,其示出了本申请实施例提供的一种可穿戴设备60的具体硬件结构示意图。如图7所示,可以包括:第一通信接口701、第一存储器702和第一处理器703;各个组件通过第一总线系统704耦合在一起。可理解,第一总线系统704用于实现这些组件之间的连接通信。第一总线系统704除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为第一总线系统704。其中,Based on the composition of the above-mentioned wearable device 60 and the computer storage medium, refer to FIG. 7, which shows a schematic diagram of a specific hardware structure of a wearable device 60 provided by an embodiment of the present application. As shown in FIG. 7, it may include: a first communication interface 701, a first memory 702, and a first processor 703; various components are coupled together through a first bus system 704. It can be understood that the first bus system 704 is used to implement connection and communication between these components. In addition to the data bus, the first bus system 704 also includes a power bus, a control bus, and a status signal bus. However, for clarity of description, various buses are marked as the first bus system 704 in FIG. 7. in,
第一通信接口701,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;The first communication interface 701 is used for receiving and sending signals in the process of sending and receiving information with other external network elements;
第一存储器702,用于存储能够在第一处理器703上运行的计算机程序;The first memory 702 is configured to store a computer program that can run on the first processor 703;
第一处理器703,用于在运行所述计算机程序时,执行:The first processor 703 is configured to execute: when the computer program is running:
获取待处理图像;Obtain the image to be processed;
对所述待处理图像进行特征处理,确定所述待处理图像的一组特征信息;Performing feature processing on the image to be processed, and determining a set of feature information of the image to be processed;
根据所述一组特征信息,确定所述可穿戴设备的位姿信息。According to the set of characteristic information, the pose information of the wearable device is determined.
可以理解,本申请实施例中的第一存储器702可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous  DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请描述的系统和方法的第一存储器702旨在包括但不限于这些和任意其它适合类型的存储器。It can be understood that the first memory 702 in the embodiment of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory. Among them, the non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), and electrically available Erase programmable read-only memory (Electrically EPROM, EEPROM) or flash memory. The volatile memory may be a random access memory (Random Access Memory, RAM), which is used as an external cache. By way of exemplary but not restrictive description, many forms of RAM are available, such as static random access memory (Static RAM, SRAM), dynamic random access memory (Dynamic RAM, DRAM), synchronous dynamic random access memory (Synchronous DRAM, SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (Double Data Rate SDRAM, DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (Enhanced SDRAM, ESDRAM), Synchronous Link Dynamic Random Access Memory (Synchlink DRAM, SLDRAM) And Direct Rambus RAM (DRRAM). The first memory 702 of the system and method described in this application is intended to include, but is not limited to, these and any other suitable types of memory.
而第一处理器703可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第一处理器703中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第一处理器703可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于第一存储器702,第一处理器703读取第一存储器702中的信息,结合其硬件完成上述方法的步骤。The first processor 703 may be an integrated circuit chip with signal processing capability. In the implementation process, the steps of the foregoing method may be completed by an integrated logic circuit of hardware in the first processor 703 or instructions in the form of software. The above-mentioned first processor 703 may be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (ASIC), a ready-made programmable gate array (Field Programmable Gate Array, FPGA) Or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps, and logical block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like. The steps of the method disclosed in the embodiments of the present application may be directly embodied as being executed and completed by a hardware decoding processor, or executed and completed by a combination of hardware and software modules in the decoding processor. The software module can be located in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, registers. The storage medium is located in the first memory 702, and the first processor 703 reads the information in the first memory 702, and completes the steps of the foregoing method in combination with its hardware.
可以理解的是,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。对于软件实现,可通过执行本申请所述功能的模块(例如过程、函数等)来实现本申请所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。It can be understood that the embodiments described in this application can be implemented by hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more application specific integrated circuits (ASIC), digital signal processor (Digital Signal Processing, DSP), digital signal processing equipment (DSP Device, DSPD), programmable Logic device (Programmable Logic Device, PLD), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA), general-purpose processors, controllers, microcontrollers, microprocessors, and others for performing the functions described in this application Electronic unit or its combination. For software implementation, the technology described in this application can be implemented through modules (for example, procedures, functions, etc.) that perform the functions described in this application. The software codes can be stored in the memory and executed by the processor. The memory can be implemented in the processor or external to the processor.
可选地,作为另一个实施例,第一处理器703还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。Optionally, as another embodiment, the first processor 703 is further configured to execute the method described in any one of the foregoing embodiments when the computer program is running.
本实施例提供了一种可穿戴设备,该可穿戴设备可以包括第一获取单元、第一处理单元和第一确定单元。这样,由于SLAM是在移动设备上运行并构建场景地图的,这时候可穿戴设备不再构建地图而仅执行定位算法;如此不仅降低了可穿戴设备的功耗,还降低了系统延迟,进而提高了可穿戴设备的视觉质量;另外,移动设备与可穿戴设备位于同一坐标系中执行位姿跟踪,还可以提高移动设备和可穿戴设备的虚拟对象之间的交互效果。This embodiment provides a wearable device, which may include a first acquiring unit, a first processing unit, and a first determining unit. In this way, since SLAM runs on mobile devices and builds scene maps, wearable devices no longer build maps but only execute positioning algorithms; this not only reduces the power consumption of wearable devices, but also reduces system latency, thereby increasing The visual quality of the wearable device is improved; in addition, the mobile device and the wearable device are located in the same coordinate system to perform pose tracking, which can also improve the interaction effect between the virtual object of the mobile device and the wearable device.
本申请的再一实施例中,基于前述实施例相同的发明构思,参见图8,其示出了本申请实施例提供的一种移动设备80的组成结构示意图。如图8所示,该移动设备80可以包括:第二获取单元801、第二处理单元802和第二确定单元803;其中,In another embodiment of the present application, based on the same inventive concept as the foregoing embodiment, refer to FIG. 8, which shows a schematic diagram of the composition structure of a mobile device 80 provided by an embodiment of the present application. As shown in FIG. 8, the mobile device 80 may include: a second acquiring unit 801, a second processing unit 802, and a second determining unit 803; wherein,
第二获取单元801,配置为获取所述移动设备的传感器数据;The second acquiring unit 801 is configured to acquire sensor data of the mobile device;
第二处理单元802,配置为对所述传感器数据进行SLAM处理,构建出场景地图;The second processing unit 802 is configured to perform SLAM processing on the sensor data to construct a scene map;
第二确定单元803,配置为基于所述场景地图,确定所述移动设备的位姿信息。The second determining unit 803 is configured to determine the pose information of the mobile device based on the scene map.
在一些实施例中,参见图8,移动设备80还可以包括第二发送单元804和第二接收单元805;其中,In some embodiments, referring to FIG. 8, the mobile device 80 may further include a second sending unit 804 and a second receiving unit 805; wherein,
第二接收单元805,配置为接收可穿戴设备发送的所述一组特征信息;The second receiving unit 805 is configured to receive the set of characteristic information sent by the wearable device;
第二处理单元802,还配置为基于所述场景地图以及所述一组特征信息,计算所述可穿戴设备的位姿信息;The second processing unit 802 is further configured to calculate the pose information of the wearable device based on the scene map and the set of feature information;
第二发送单元804,配置为将所述可穿戴设备的位姿信息发送给所述可穿戴设备。The second sending unit 804 is configured to send the pose information of the wearable device to the wearable device.
在一些实施例中,第二确定单元803,还配置为根据所述传感器数据,确定所述场景地图中的一组场景特征信息;In some embodiments, the second determining unit 803 is further configured to determine a set of scene feature information in the scene map according to the sensor data;
第二处理单元802,还配置为将所述一组场景特征信息与所述一组特征信息进行特征匹配,确定目标特征子集;以及还配置为获取所述目标特征子集包括的匹配特征的三维坐标信息以及在所述可穿戴设备的待处理图像上的二维投影信息;并利用预设算法对所述目标特征子集包括的匹配特征的所述三维坐标信息和所述二维投影信息进行位姿计算,得到所述可穿戴设备的位姿信息。The second processing unit 802 is further configured to perform feature matching between the set of scene feature information and the set of feature information to determine a target feature subset; and is also configured to obtain matching features included in the target feature subset Three-dimensional coordinate information and two-dimensional projection information on the image to be processed of the wearable device; and using a preset algorithm to match the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset Perform pose calculation to obtain pose information of the wearable device.
在一些实施例中,所述一组特征信息包括一组检测特征以及所述一组检测特征关联的描述子;In some embodiments, the set of feature information includes a set of detection features and a descriptor associated with the set of detection features;
第二处理单元802,具体配置为基于描述子与描述子之间的计算距离,将所述一组检测特征与所述一组场景特征信息中的场景特征进行特征匹配,确定所述目标特征子集。The second processing unit 802 is specifically configured to perform feature matching between the set of detected features and the scene features in the set of scene feature information based on the calculated distance between the descriptor and the descriptor, and determine the target feature set.
在一些实施例中,所述预设算法为PNP算法。In some embodiments, the preset algorithm is a PNP algorithm.
在一些实施例中,第二接收单元805,还配置为接收可穿戴设备发送的所述一组特征信息;In some embodiments, the second receiving unit 805 is further configured to receive the set of characteristic information sent by the wearable device;
第二确定单元803,还配置为根据所述传感器数据,确定所述场景地图中的一组场景特征信息;The second determining unit 803 is further configured to determine a set of scene feature information in the scene map according to the sensor data;
第二处理单元802,还配置为将所述一组场景特征信息与所述一组特征信息进行特征匹配,确定目标特征子集;The second processing unit 802 is further configured to perform feature matching between the set of scene feature information and the set of feature information to determine a target feature subset;
第二发送单元804,还配置为将所述目标特征子集包括的匹配特征的三 维坐标信息发送给所述可穿戴设备。The second sending unit 804 is further configured to send the three-dimensional coordinate information of the matching feature included in the target feature subset to the wearable device.
在一些实施例中,第二确定单元803,还配置为根据所述传感器数据,确定所述场景地图中的一组场景特征信息;In some embodiments, the second determining unit 803 is further configured to determine a set of scene feature information in the scene map according to the sensor data;
第二发送单元804,还配置为将所述一组场景特征信息发送给所述可穿戴设备。The second sending unit 804 is further configured to send the set of scene characteristic information to the wearable device.
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。It can be understood that, in this embodiment, a "unit" may be a part of a circuit, a part of a processor, a part of a program or software, etc., of course, it may also be a module, or it may also be non-modular. Moreover, the various components in this embodiment may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit. The above-mentioned integrated unit can be realized in the form of hardware or software function module.
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例提供了一种计算机存储介质,应用于移动设备80,该计算机存储介质存储有计算机程序,所述计算机程序被第二处理器执行时实现前述实施例中任一项所述的方法。If the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer readable storage medium. Based on this understanding, this embodiment provides a computer storage medium, which is applied to the mobile device 80, and the computer storage medium stores a computer program. When the computer program is executed by the second processor, any one of the foregoing embodiments is implemented. The method described.
基于上述移动设备80的组成以及计算机存储介质,参见图9,其示出了本申请实施例提供的移动设备80的具体硬件结构示意图。如图9所示,可以包括:第二通信接口901、第二存储器902和第二处理器903;各个组件通过第二总线系统904耦合在一起。可理解,第二总线系统904用于实现这些组件之间的连接通信。第二总线系统904除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为第二总线系统904。其中,Based on the composition of the mobile device 80 and the computer storage medium described above, refer to FIG. 9, which shows a schematic diagram of a specific hardware structure of the mobile device 80 provided in an embodiment of the present application. As shown in FIG. 9, it may include: a second communication interface 901, a second memory 902, and a second processor 903; various components are coupled together through a second bus system 904. It can be understood that the second bus system 904 is used to implement connection and communication between these components. In addition to the data bus, the second bus system 904 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clear description, various buses are marked as the second bus system 904 in FIG. 9. in,
第二通信接口901,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;The second communication interface 901 is used for receiving and sending signals in the process of sending and receiving information with other external network elements;
第二存储器902,用于存储能够在第二处理器903上运行的计算机程序;The second memory 902 is configured to store a computer program that can run on the second processor 903;
第二处理器903,用于在运行所述计算机程序时,执行:The second processor 903 is configured to execute: when the computer program is running:
获取所述移动设备的传感器数据;Acquiring sensor data of the mobile device;
对所述传感器数据进行SLAM处理,构建出场景地图;Performing SLAM processing on the sensor data to construct a scene map;
基于所述场景地图,确定所述移动设备的位姿信息。Based on the scene map, the pose information of the mobile device is determined.
可选地,作为另一个实施例,第二处理器903还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。Optionally, as another embodiment, the second processor 903 is further configured to execute the method described in any one of the foregoing embodiments when the computer program is running.
可以理解,第二存储器902与第一存储器702的硬件功能类似,第二处理器903与第一处理器703的硬件功能类似;这里不再详述。It can be understood that the hardware functions of the second memory 902 and the first memory 702 are similar, and the hardware functions of the second processor 903 and the first processor 703 are similar; the details are not described herein again.
本实施例提供了一种移动设备,该移动设备包括第二获取单元、第二处理单元和第二确定单元。这样,由于SLAM是在移动设备上运行并构建场景地图的,这时候可穿戴设备不再构建地图而仅执行定位算法;如此不仅降低了可穿戴设备的功耗,还降低了系统延迟,进而提高了可穿戴设备的视觉质量;另外,移动设备与可穿戴设备位于同一坐标系中执行位姿跟 踪,还可以提高移动设备和可穿戴设备的虚拟对象之间的交互效果。This embodiment provides a mobile device, which includes a second acquiring unit, a second processing unit, and a second determining unit. In this way, since SLAM runs on mobile devices and builds scene maps, wearable devices no longer build maps but only execute positioning algorithms; this not only reduces the power consumption of wearable devices, but also reduces system latency, thereby increasing The visual quality of the wearable device is improved; in addition, the mobile device and the wearable device are located in the same coordinate system to perform pose tracking, which can also improve the interaction effect between the mobile device and the virtual object of the wearable device.
需要说明的是,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。It should be noted that in this application, the terms "including", "including" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements , And also include other elements not explicitly listed, or elements inherent to the process, method, article, or device. If there are no more restrictions, the element defined by the sentence "including a..." does not exclude the existence of other identical elements in the process, method, article, or device that includes the element.
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。The serial numbers of the foregoing embodiments of the present application are for description only, and do not represent the superiority or inferiority of the embodiments.
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。The methods disclosed in the several method embodiments provided in this application can be combined arbitrarily without conflict to obtain new method embodiments.
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。The features disclosed in the several product embodiments provided in this application can be combined arbitrarily without conflict to obtain new product embodiments.
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。The features disclosed in the several method or device embodiments provided in this application can be combined arbitrarily without conflict to obtain a new method embodiment or device embodiment.
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above are only specific implementations of this application, but the protection scope of this application is not limited to this. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed in this application. Should be covered within the scope of protection of this application. Therefore, the protection scope of this application should be subject to the protection scope of the claims.
工业实用性Industrial applicability
本申请实施例中,针对可穿戴设备的位姿跟踪,由于SLAM是在移动设备上运行并构建场景地图的,而可穿戴设备不再构建地图,仅执行定位算法;如此不仅降低了可穿戴设备的功耗,还降低了系统延迟,进而提高了可穿戴设备的视觉质量;另外,移动设备与可穿戴设备位于同一坐标系中执行位姿跟踪,还可以提高移动设备和可穿戴设备的虚拟对象之间的交互效果。In the embodiment of this application, for the pose tracking of the wearable device, since SLAM runs on the mobile device and builds the scene map, the wearable device no longer builds the map, only executes the positioning algorithm; this not only reduces the wearable device The power consumption also reduces the system delay, thereby improving the visual quality of the wearable device; in addition, the mobile device and the wearable device are located in the same coordinate system to perform pose tracking, which can also improve the virtual objects of the mobile device and the wearable device The interaction effect between.

Claims (19)

  1. 一种位姿跟踪方法,应用于可穿戴设备,所述方法包括:A pose tracking method, applied to a wearable device, the method includes:
    获取待处理图像;Obtain the image to be processed;
    对所述待处理图像进行特征处理,确定所述待处理图像的一组特征信息;Performing feature processing on the image to be processed, and determining a set of feature information of the image to be processed;
    根据所述一组特征信息,确定所述可穿戴设备的位姿信息。According to the set of characteristic information, the pose information of the wearable device is determined.
  2. 根据权利要求1所述的方法,其中,所述根据所述一组特征信息,确定所述可穿戴设备的位姿信息,包括:The method according to claim 1, wherein the determining the pose information of the wearable device according to the set of characteristic information comprises:
    将所述一组特征信息发送给移动设备;Sending the set of characteristic information to a mobile device;
    基于所述移动设备的响应,接收所述移动设备返回的所述可穿戴设备的位姿信息。Based on the response of the mobile device, receiving the pose information of the wearable device returned by the mobile device.
  3. 根据权利要求1所述的方法,其中,所述根据所述一组特征信息,确定所述可穿戴设备的位姿信息,包括:The method according to claim 1, wherein the determining the pose information of the wearable device according to the set of characteristic information comprises:
    将所述一组特征信息发送给移动设备,接收所述移动设备返回的目标特征子集包括的匹配特征的三维坐标信息;Sending the set of feature information to a mobile device, and receiving the three-dimensional coordinate information of the matching feature included in the target feature subset returned by the mobile device;
    获取所述目标特征子集包括的匹配特征在所述待处理图像上的二维投影信息;Acquiring two-dimensional projection information of the matching feature included in the target feature subset on the image to be processed;
    利用预设算法对所述目标特征子集包括的匹配特征的所述三维坐标信息和所述二维投影信息进行位姿计算,得到所述可穿戴设备的位姿信息。A preset algorithm is used to perform pose calculation on the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset to obtain the pose information of the wearable device.
  4. 根据权利要求1所述的方法,其中,所述根据所述一组特征信息,确定所述可穿戴设备的位姿信息,包括:The method according to claim 1, wherein the determining the pose information of the wearable device according to the set of characteristic information comprises:
    接收移动设备发送的一组场景特征信息;Receive a set of scene characteristic information sent by the mobile device;
    将所述一组场景特征信息与所述一组特征信息进行特征匹配,确定目标特征子集,并获取所述目标特征子集包括的匹配特征的三维坐标信息以及所述匹配特征在所述待处理图像上的二维投影信息;Perform feature matching between the set of scene feature information and the set of feature information, determine a target feature subset, and obtain the three-dimensional coordinate information of the matching feature included in the target feature subset and the matching feature in the waiting list. Process the two-dimensional projection information on the image;
    利用预设算法对所述目标特征子集包括的匹配特征的所述三维坐标信息和所述二维投影信息进行位姿计算,得到所述可穿戴设备的位姿信息。A preset algorithm is used to perform pose calculation on the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset to obtain the pose information of the wearable device.
  5. 根据权利要求3或4所述的方法,其中,所述预设算法为多点透视PNP算法。The method according to claim 3 or 4, wherein the preset algorithm is a multi-point perspective PNP algorithm.
  6. 根据权利要求1所述的方法,其中,所述获取待处理图像,包括:The method according to claim 1, wherein said obtaining the image to be processed comprises:
    通过所述可穿戴设备的相机进行图像采集,获得所述待处理图像。Image acquisition is performed through the camera of the wearable device to obtain the to-be-processed image.
  7. 根据权利要求1所述的方法,其中,所述对所述待处理图像进行特征处理,确定所述待处理图像的一组特征信息,包括:The method according to claim 1, wherein said performing feature processing on the image to be processed and determining a set of feature information of the image to be processed comprises:
    对所述待处理图像进行特征检测,获取所述待处理图像的一组检测特征;Performing feature detection on the image to be processed, and acquiring a set of detection features of the image to be processed;
    对所述一组检测特征进行特征描述,获取所述一组检测特征关联的描述子;Perform feature description on the set of detection features, and obtain descriptors associated with the set of detection features;
    将所述一组检测特征以及所述一组检测特征关联的描述子确定为所述待处理图像的一组特征信息。The set of detection features and the descriptor associated with the set of detection features are determined as a set of feature information of the image to be processed.
  8. 一种位姿跟踪方法,应用于移动设备,所述方法包括:A pose tracking method, applied to a mobile device, and the method includes:
    获取所述移动设备的传感器数据;Acquiring sensor data of the mobile device;
    对所述传感器数据进行同步定位与地图构建SLAM处理,构建出场景地图;Performing synchronous positioning and map construction SLAM processing on the sensor data to construct a scene map;
    基于所述场景地图,确定所述移动设备的位姿信息。Based on the scene map, the pose information of the mobile device is determined.
  9. 根据权利要求8所述的方法,其中,所述方法还包括:The method according to claim 8, wherein the method further comprises:
    接收所述可穿戴设备发送的所述一组特征信息;Receiving the set of characteristic information sent by the wearable device;
    基于所述场景地图以及所述一组特征信息,计算所述可穿戴设备的位姿信息;Calculating the pose information of the wearable device based on the scene map and the set of feature information;
    将所述可穿戴设备的位姿信息发送给所述可穿戴设备。Sending the pose information of the wearable device to the wearable device.
  10. 根据权利要求9所述的方法,其中,所述基于所述场景地图以及所述一组特征信息,计算所述可穿戴设备的位姿信息,包括:The method according to claim 9, wherein the calculating the pose information of the wearable device based on the scene map and the set of feature information comprises:
    根据所述传感器数据,确定所述场景地图中的一组场景特征信息;Determine a set of scene feature information in the scene map according to the sensor data;
    将所述一组场景特征信息与所述一组特征信息进行特征匹配,确定目标特征子集;Performing feature matching between the set of scene feature information and the set of feature information to determine a target feature subset;
    获取所述目标特征子集包括的匹配特征的三维坐标信息以及在所述可穿戴设备的待处理图像上的二维投影信息;Acquiring three-dimensional coordinate information of the matching feature included in the target feature subset and two-dimensional projection information on the image to be processed of the wearable device;
    利用预设算法对所述目标特征子集包括的匹配特征的所述三维坐标信息和所述二维投影信息进 行位姿计算,得到所述可穿戴设备的位姿信息。The pose calculation is performed on the three-dimensional coordinate information and the two-dimensional projection information of the matching feature included in the target feature subset by using a preset algorithm to obtain the pose information of the wearable device.
  11. 根据权利要求10所述的方法,其中,所述一组特征信息包括一组检测特征以及所述一组检测特征关联的描述子;The method according to claim 10, wherein the set of feature information includes a set of detection features and a descriptor associated with the set of detection features;
    相应地,所述将所述一组场景特征信息与所述一组特征信息进行特征匹配,确定目标特征子集,包括:Correspondingly, the feature matching the set of scene feature information with the set of feature information to determine the target feature subset includes:
    基于描述子与描述子之间的计算距离,将所述一组检测特征与所述一组场景特征信息中的场景特征进行特征匹配,确定所述目标特征子集。Based on the calculated distance between the descriptor and the descriptor, feature matching is performed on the set of detected features and the scene features in the set of scene feature information to determine the target feature subset.
  12. 根据权利要求10或11所述的方法,其中,所述预设算法为多点透视PNP算法。The method according to claim 10 or 11, wherein the preset algorithm is a multi-point perspective PNP algorithm.
  13. 根据权利要求8所述的方法,其中,所述方法还包括:The method according to claim 8, wherein the method further comprises:
    接收所述可穿戴设备发送的所述一组特征信息;Receiving the set of characteristic information sent by the wearable device;
    根据所述传感器数据,确定所述场景地图中的一组场景特征信息;Determine a set of scene feature information in the scene map according to the sensor data;
    将所述一组场景特征信息与所述一组特征信息进行特征匹配,确定目标特征子集;Performing feature matching between the set of scene feature information and the set of feature information to determine a target feature subset;
    将所述目标特征子集包括的匹配特征的三维坐标信息发送给所述可穿戴设备。The three-dimensional coordinate information of the matching feature included in the target feature subset is sent to the wearable device.
  14. 根据权利要求8所述的方法,其中,所述方法还包括:The method according to claim 8, wherein the method further comprises:
    根据所述传感器数据,确定所述场景地图中的一组场景特征信息;Determine a set of scene feature information in the scene map according to the sensor data;
    将所述一组场景特征信息发送给所述可穿戴设备。Sending the set of scene characteristic information to the wearable device.
  15. 一种可穿戴设备,所述可穿戴设备包括第一获取单元、第一处理单元和第一确定单元;其中,A wearable device includes a first acquisition unit, a first processing unit, and a first determination unit; wherein,
    所述第一获取单元,配置为获取待处理图像;The first acquiring unit is configured to acquire an image to be processed;
    所述第一处理单元,配置为对所述待处理图像进行特征处理,确定所述待处理图像的一组特征信息;The first processing unit is configured to perform feature processing on the image to be processed, and determine a set of feature information of the image to be processed;
    所述第一确定单元,配置为根据所述一组特征信息,确定所述可穿戴设备的位姿信息。The first determining unit is configured to determine the pose information of the wearable device according to the set of characteristic information.
  16. 一种可穿戴设备,所述可穿戴设备包括第一存储器和第一处理器;其中,A wearable device, the wearable device includes a first memory and a first processor; wherein,
    所述第一存储器,用于存储能够在所述第一处理器上运行的计算机程序;The first memory is configured to store a computer program that can run on the first processor;
    所述第一处理器,用于在运行所述计算机程序时,执行如权利要求1至7任一项所述的方法。The first processor is configured to execute the method according to any one of claims 1 to 7 when running the computer program.
  17. 一种移动设备,所述移动设备包括第二获取单元、第二处理单元和第二确定单元;其中,A mobile device including a second acquiring unit, a second processing unit, and a second determining unit; wherein,
    所述第二获取单元,配置为获取所述移动设备的传感器数据;The second acquiring unit is configured to acquire sensor data of the mobile device;
    所述第二处理单元,配置为对所述传感器数据进行SLAM处理,构建出场景地图;The second processing unit is configured to perform SLAM processing on the sensor data to construct a scene map;
    所述第二确定单元,配置为基于所述场景地图,确定所述移动设备的位姿信息。The second determining unit is configured to determine the pose information of the mobile device based on the scene map.
  18. 一种移动设备,所述移动设备包括第二存储器和第二处理器;其中,A mobile device, the mobile device includes a second memory and a second processor; wherein,
    所述第二存储器,用于存储能够在所述第二处理器上运行的计算机程序;The second memory is configured to store a computer program that can run on the second processor;
    所述第二处理器,用于在运行所述计算机程序时,执行如权利要求8至14任一项所述的方法。The second processor is configured to execute the method according to any one of claims 8 to 14 when running the computer program.
  19. 一种计算机存储介质,其中,所述计算机存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现如权利要求1至7任一项所述的方法、或者被第二处理器执行时实现如权利要求8至14任一项所述的方法。A computer storage medium, wherein the computer storage medium stores a computer program that, when executed by a first processor, implements the method according to any one of claims 1 to 7, or is executed by a second processor When executed, the method according to any one of claims 8 to 14 is realized.
PCT/CN2021/076767 2020-02-19 2021-02-18 Pose tracking method, wearable device, mobile device, and storage medium WO2021164712A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202180011593.XA CN115039015A (en) 2020-02-19 2021-02-18 Pose tracking method, wearable device, mobile device and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202062978704P 2020-02-19 2020-02-19
US62/978,704 2020-02-19

Publications (1)

Publication Number Publication Date
WO2021164712A1 true WO2021164712A1 (en) 2021-08-26

Family

ID=77390409

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/076767 WO2021164712A1 (en) 2020-02-19 2021-02-18 Pose tracking method, wearable device, mobile device, and storage medium

Country Status (2)

Country Link
CN (1) CN115039015A (en)
WO (1) WO2021164712A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114485682A (en) * 2021-12-30 2022-05-13 武汉光庭信息技术股份有限公司 Positioning method based on SLAM technology

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108830944A (en) * 2018-07-12 2018-11-16 北京理工大学 Optical perspective formula three-dimensional near-eye display system and display methods
WO2019009966A1 (en) * 2017-07-07 2019-01-10 Microsoft Technology Licensing, Llc Driving an image capture system to serve plural image-consuming processes
CN110189665A (en) * 2019-05-30 2019-08-30 Oppo广东移动通信有限公司 Control method, wearable device and storage medium
CN110310175A (en) * 2018-06-27 2019-10-08 北京京东尚科信息技术有限公司 System and method for mobile augmented reality
CN110335292A (en) * 2019-07-09 2019-10-15 北京猫眼视觉科技有限公司 It is a kind of to track the method and system for realizing simulated scenario tracking based on picture

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108427479B (en) * 2018-02-13 2021-01-29 腾讯科技(深圳)有限公司 Wearable device, environment image data processing system, method and readable medium
CN110794955B (en) * 2018-08-02 2021-06-08 广东虚拟现实科技有限公司 Positioning tracking method, device, terminal equipment and computer readable storage medium
CN110442235B (en) * 2019-07-16 2023-05-23 广东虚拟现实科技有限公司 Positioning tracking method, device, terminal equipment and computer readable storage medium
CN110361005B (en) * 2019-06-26 2021-03-26 达闼机器人有限公司 Positioning method, positioning device, readable storage medium and electronic equipment
CN110456905A (en) * 2019-07-23 2019-11-15 广东虚拟现实科技有限公司 Positioning and tracing method, device, system and electronic equipment
CN110473259A (en) * 2019-07-31 2019-11-19 深圳市商汤科技有限公司 Pose determines method and device, electronic equipment and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019009966A1 (en) * 2017-07-07 2019-01-10 Microsoft Technology Licensing, Llc Driving an image capture system to serve plural image-consuming processes
CN110310175A (en) * 2018-06-27 2019-10-08 北京京东尚科信息技术有限公司 System and method for mobile augmented reality
CN108830944A (en) * 2018-07-12 2018-11-16 北京理工大学 Optical perspective formula three-dimensional near-eye display system and display methods
CN110189665A (en) * 2019-05-30 2019-08-30 Oppo广东移动通信有限公司 Control method, wearable device and storage medium
CN110335292A (en) * 2019-07-09 2019-10-15 北京猫眼视觉科技有限公司 It is a kind of to track the method and system for realizing simulated scenario tracking based on picture

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114485682A (en) * 2021-12-30 2022-05-13 武汉光庭信息技术股份有限公司 Positioning method based on SLAM technology
CN114485682B (en) * 2021-12-30 2023-06-27 武汉光庭信息技术股份有限公司 Positioning method based on SLAM technology

Also Published As

Publication number Publication date
CN115039015A (en) 2022-09-09

Similar Documents

Publication Publication Date Title
KR102590841B1 (en) virtual object driving Method, apparatus, electronic device, and readable storage medium
US11145083B2 (en) Image-based localization
US10832084B2 (en) Dense three-dimensional correspondence estimation with multi-level metric learning and hierarchical matching
CN109947886B (en) Image processing method, image processing device, electronic equipment and storage medium
WO2013118458A1 (en) Image processing device, and computer program product
US10776943B2 (en) System and method for 3D association of detected objects
WO2021082801A1 (en) Augmented reality processing method and apparatus, system, storage medium and electronic device
WO2019227958A1 (en) Image processing method and device and virtual reality display device
US20230401799A1 (en) Augmented reality method and related device
US20200380723A1 (en) Online learning for 3d pose estimation
WO2021164712A1 (en) Pose tracking method, wearable device, mobile device, and storage medium
CN116917949A (en) Modeling objects from monocular camera output
US20240046583A1 (en) Real-time photorealistic view rendering on augmented reality (ar) device
CN110310325B (en) Virtual measurement method, electronic device and computer readable storage medium
WO2023184278A1 (en) Method for semantic map building, server, terminal device and storage medium
KR20210123994A (en) Electronic device and method for object identification utilizing paired electronic device
CN112750164A (en) Lightweight positioning model construction method, positioning method and electronic equipment
EP4026092A1 (en) Scene lock mode for capturing camera images
CN112767484B (en) Fusion method of positioning model, positioning method and electronic device
CN115578432B (en) Image processing method, device, electronic equipment and storage medium
US20240126088A1 (en) Positioning method, apparatus and system of optical tracker
WO2023279868A1 (en) Simultaneous localization and mapping initialization method and apparatus and storage medium
US20220335638A1 (en) Depth estimation using a neural network
CN117289205A (en) Method for positioning external device, electronic device and positioning system
CN113051424A (en) Positioning method and device based on SLAM map

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

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

Country of ref document: EP

Kind code of ref document: A1