WO2021115154A1 - 可移动设备定位数据处理方法、装置、设备及存储介质 - Google Patents

可移动设备定位数据处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2021115154A1
WO2021115154A1 PCT/CN2020/132929 CN2020132929W WO2021115154A1 WO 2021115154 A1 WO2021115154 A1 WO 2021115154A1 CN 2020132929 W CN2020132929 W CN 2020132929W WO 2021115154 A1 WO2021115154 A1 WO 2021115154A1
Authority
WO
WIPO (PCT)
Prior art keywords
point set
original
point
target
model transformation
Prior art date
Application number
PCT/CN2020/132929
Other languages
English (en)
French (fr)
Inventor
蔡小龙
王超
郭新然
Original Assignee
京东数科海益信息科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 京东数科海益信息科技有限公司 filed Critical 京东数科海益信息科技有限公司
Priority to US17/757,150 priority Critical patent/US11574417B2/en
Priority to EP20897909.6A priority patent/EP4075383A4/en
Publication of WO2021115154A1 publication Critical patent/WO2021115154A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/344Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/66Analysis of geometric attributes of image moments or centre of gravity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Definitions

  • the present disclosure relates to the field of computer vision technology, and in particular, to a method, device, device, and readable storage medium for processing positioning data of a movable device.
  • Computer vision is a science that studies how to make machines "see”. Further, it refers to the use of cameras and computers instead of human eyes to recognize, track, and measure targets, and further process graphics to make computer processing more It is suitable for human eyes to observe or transmit images to the instrument for inspection.
  • the application of computer vision technology to indoor robot equipment can play an important role in solving indoor map construction, self pose estimation, navigation and obstacle avoidance and other problems.
  • the realization of computer vision usually adopts physical digital technology to collect data through measurement methods such as lidar. Limited by the measurement equipment and environment, the acquisition of complete measurement data on the surface of an object often requires multiple measurements. Since the point cloud data obtained by each measurement often only covers part of the surface of the object, and there may be translational dislocation and rotation dislocation, in order to obtain the point cloud data of the complete surface of the object, these local point cloud data need to be integrated and registered.
  • the point cloud registration algorithm in the related technology usually has the problems of slow speed, low accuracy, and poor robustness, which may lead to poor real-time performance, low accuracy, and poor adaptability of mobile devices such as indoor robots during positioning and navigation.
  • the purpose of the present disclosure is to provide a method, device, device, and readable storage medium for processing positioning data of a mobile device, which at least to a certain extent overcomes the slow speed, low accuracy, and robustness of the point cloud registration algorithm in the related technology. Poor performance may lead to problems such as poor real-time performance, low accuracy, and poor adaptability when positioning and navigating mobile devices such as indoor robots.
  • a method for processing positioning data of a movable device including: acquiring a first original point set and a target point set obtained by measuring the surface of an object by the movable device; and extracting features from the first original point set Points to obtain an original key point set; extract feature points from the target point set to obtain a target key point set; perform a first registration operation on the original key point set and the target key point set to obtain a first model transformation Parameters; transform the first original point set through the first model transformation parameters to obtain a second original point set; perform a second registration operation on the second original point set and the target point set to obtain A second model transformation parameter; a third model transformation parameter is obtained according to the first model transformation parameter and the second model transformation parameter, and the third model transformation parameter is used to register the first original point set and the target point set To enable the mobile device to obtain data on the surface of the object for positioning.
  • the performing a first registration operation on the original key point set and the target key point set to obtain a first model transformation parameter includes: obtaining the original key point set and the target key point set.
  • the nearest point pair in the target key point set, the nearest point pair includes an original key point in the original key point set and a target key point in the target key point set, the one original key point and the one target
  • the distance between the key points is less than or equal to the first preset threshold; the first model transformation parameter is obtained according to the closest point pair.
  • the obtaining the closest point pair in the original key point set and the target key point set includes: obtaining multiple closest points in the original key point set and the target key point set Yes; the obtaining the first model transformation parameter according to the closest point pair includes: obtaining multiple candidate model transformation parameters corresponding to the multiple closest point pairs; for each closest point in the multiple closest point pairs Yes, calculate that all other original key points in the original key point set except the one original key point in the nearest point pair are transformed with the nearest point after being transformed by the candidate model transformation parameters corresponding to the nearest point pair.
  • the transformation error of the one target key point in the pair obtain the number of other original key points whose transformation error corresponding to each closest point pair is less than or equal to the second preset threshold; select the transformation error to be less than or
  • the candidate model transformation parameter corresponding to the closest point pair with the largest number of other original key points equal to the second preset threshold is the first model transformation parameter.
  • extracting feature points from a first original point set to obtain an original key point set; extracting feature points from a target point set to obtain a target key point set includes: adding the first original point set The constructed space is divided into a plurality of voxel lattices with a first preset side length; calculating the center of gravity of the original point contained in each voxel lattice of the plurality of voxel lattices with the first preset side length, and The set of the center of gravity of the voxel grid is the original key point set; the space formed by the first target point set is divided into a plurality of voxel grids with a second preset side length; and the plurality of first presets are calculated.
  • the center of gravity of the target point included in each voxel lattice of the voxel lattice of side length, and the set of the center of gravity of each voxel lattice is the
  • the performing a second registration operation on the second original point set and the target point set to obtain the second model transformation parameter includes: calculating the target point in the target point set at The variance in each dimension; the dimension with the largest variance is selected as the registration dimension; the high-dimensional index binary tree of the target point set in the registration dimension is constructed; the high-dimensional index binary tree is used to search for the second original point set
  • Each second original point is the closest point in the target point set; respectively calculate the distance between each second original point and the corresponding closest point; select the second original point set and the corresponding closest point
  • the model transformation parameter of the second original point with the smallest distance between the points and the corresponding closest point is the second model transformation parameter.
  • the searching for the closest point of each second original point in the second original point set in the target point set through the high-dimensional index binary tree includes: The point starts from the root node of the high-dimensional index binary tree, and the high-dimensional index binary tree is queried down according to the comparison result of each second original point and each node of the high-dimensional index binary tree, until reaching the leaf node Point; determine whether the distance between the node of the branch that has not been queried for each second original point on the high-dimensional index binary tree and the second original point is not less than the leaf node; if the If the distance between the node of the queried branch and each of the second original points is less than the leaf node, it is determined that the node of the branch that has not been queried by the second original point is the closest point.
  • the leaf node includes: sorting each node of the branch that has not been queried according to the degree of closeness between the value of the registration dimension and each of the second original points to obtain a priority node sequence;
  • the sequence of level nodes sequentially queries each node of the branch that has not been queried by the second original point on the high-dimensional index binary tree, and judges whether each node of the branch that has not been queried is the same as the each second original point. Whether the distance between the points is not less than the leaf node.
  • a mobile device positioning data processing device including: a data acquisition module for acquiring a first original point set and a target point set obtained by measuring the surface of an object by the mobile device; and a feature extraction module , For extracting feature points from the first original point set to obtain an original key point set; feature extraction module, also for extracting feature points from the target point set to obtain a target key point set; a first registration module, It is used to perform a first registration operation on the original key point set and the target key point set to obtain first model transformation parameters; the first registration module is also used to pass the first original point set through the The first model transformation parameter is transformed to obtain a second original point set; the second registration module is used to perform a second registration operation on the second original point set and the target point set to obtain the second model transformation parameter
  • Model acquisition module used to obtain a third model transformation parameter according to the first model transformation parameter and the second model transformation parameter, the third model transformation parameter is used to register the first original point set and the target point Set, so that the
  • a device including: a memory, a processor, and executable instructions stored in the memory and executable in the processor, and the processor executes the executable instructions When implementing any of the above methods.
  • a computer-readable storage medium having computer-executable instructions stored thereon, and the executable instructions, when executed by a processor, implement any of the above-mentioned methods.
  • the mobile device positioning data processing method obtains the first original point set and the target point set obtained by measuring the surface of the object by the mobile device, and extracts the characteristic points from the first original point set and the target point set respectively , Obtain the original key point set and the target key point set, perform the first registration operation on the original key point set and the target key point set to obtain the first model transformation parameter, and transform the first original point set through the first model transformation parameter to obtain The second original point set; then a second registration operation is performed on the second original point set and the target point set to obtain the second model transformation parameter, which is used to register the first model transformation parameter according to the first model transformation parameter and the second model transformation parameter.
  • the third model transformation parameters of the original point set and the target point set enable the movable device to obtain data on the surface of the object for positioning, so that the accuracy of positioning data processing of the movable device can be improved to a certain extent.
  • FIG. 1 shows a schematic diagram of the structure of a data processing system for positioning a movable device in an embodiment of the present disclosure.
  • Fig. 2 shows a flowchart of a method for processing positioning data of a movable device in an embodiment of the present disclosure.
  • Fig. 3 shows a flowchart of a method for extracting feature points of positioning data of a mobile device in an embodiment of the present disclosure.
  • Fig. 4 shows a flowchart of another method for processing positioning data of a movable device in an embodiment of the present disclosure.
  • Fig. 5 shows a block diagram of a device for processing positioning data of a movable device in an embodiment of the present disclosure.
  • FIG. 6 shows a schematic structural diagram of an electronic device in an embodiment of the present disclosure.
  • first, second, etc. are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Thus, the features defined with “first” and “second” may explicitly or implicitly include one or more of these features.
  • “plurality” means at least two, such as two, three, etc., unless otherwise specifically defined.
  • the symbol “/” generally indicates that the associated objects before and after are in an "or” relationship.
  • connection should be understood in a broad sense, for example, it may be electrical connection or mutual communication; it may be directly connected or indirectly connected through an intermediary.
  • connection should be understood in a broad sense, for example, it may be electrical connection or mutual communication; it may be directly connected or indirectly connected through an intermediary.
  • the point cloud registration algorithm in related technologies usually has the problems of slow speed, low accuracy, and poor robustness, which may lead to poor real-time performance, low accuracy, and adaptability of mobile devices such as indoor robots during positioning and navigation. Poor sex. Therefore, the present disclosure provides a method for processing positioning data of a mobile device, by acquiring a first original point set and a target point set obtained by measuring the surface of an object by a mobile device, and extracting features from the first original point set and the target point set respectively Point, obtain the original key point set and the target key point set, perform the first registration operation on the original key point set and the target key point set to obtain the first model transformation parameter, and transform the first original point set through the first model transformation parameter Obtain the second original point set; then perform a second registration operation on the second original point set and the target point set to obtain the second model transformation parameter, and obtain the second model transformation parameter for registration according to the first model transformation parameter and the second model transformation parameter An original point set and a third model transformation parameter of the target point set enable the mobile device
  • FIG. 1 shows an exemplary system architecture 100 to which the mobile device positioning data processing method or the mobile device positioning data processing apparatus of the present disclosure can be applied.
  • the system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105.
  • the network 104 is used to provide a medium for communication links between the terminal devices 101, 102, 103 and the server 105.
  • the network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, and so on.
  • the user can use the terminal devices 101, 102, and 103 to interact with the server 105 through the network 104 to receive or send messages and so on.
  • Various communication client applications such as shooting applications, image recognition applications, etc., may be installed on the terminal devices 101, 102, and 103.
  • the terminal devices 101, 102, 103 may be various electronic devices with display screens and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, desktop computers, and so on.
  • the server 105 may be a server that provides various services, for example, a back-end management server (just an example) that provides support for image search websites browsed by users using the terminal devices 101, 102, and 103.
  • the background management server can analyze and process the received initial image and other data, and feed back the image fusion result to the terminal device.
  • terminal devices, networks, and servers in FIG. 1 are merely illustrative. There can be any number of terminal devices, networks, and servers according to implementation needs.
  • Fig. 2 is a flowchart showing a method for processing positioning data of a movable device according to an exemplary embodiment.
  • the method shown in FIG. 2 can be applied to the server side of the mobile device positioning data processing system, for example, and can also be applied to the terminal device of the mobile device positioning data processing system.
  • the method 20 provided by the embodiment of the present disclosure may include the following steps.
  • step S202 the first original point set and the target point set obtained by measuring the surface of the object by the movable device are acquired.
  • Movable devices include smart robots, movable camera devices, and so on.
  • Movable equipment can use lidar to measure indoor objects to obtain object surface data.
  • the first original point set and target point set are point cloud sets in different coordinate systems obtained by the movable equipment measuring the object surface, which can be rotated and translated The operation is registered to the same coordinate system to obtain a more complete point cloud data on the surface of the object.
  • the two point sets that need to be registered may be far apart, and a translation operation may be performed before the registration is performed, so as to reduce the amount of calculation for finding the closest point.
  • the following methods can be used to perform translation operations:
  • N x is the number of points in the initial point set X
  • x i is the coordinate of the i-th point in the initial point set X
  • i is a positive integer greater than or equal to 1 and less than or equal to N x
  • N p is The number of points in the initial target point set P
  • p j is the coordinate of the j-th point in the initial target point set P
  • j is a positive integer greater than or equal to 1 and less than or equal to N p.
  • x i ' is the coordinate of the i-th point in the original point set X'
  • p j ' is the coordinate of the j-th point in the target point set P'.
  • step S204 feature points are extracted from the first original point set to obtain an original key point set. Since the acquired surface data of the object is refreshed quickly, if the method of finding the nearest point is directly used to register the first original point set and the target point set, the accuracy will be low due to the slow speed, so when searching the first original point set and target Before the closest point of the point set, a rough registration can be performed first based on the key point extraction algorithm to improve the overall registration speed and accuracy.
  • step S206 feature points are extracted from the target point set to obtain a target key point set.
  • the feature points of the point cloud are some points of interest, such as points or point sets with obvious characteristics such as turning points and corner points of the target.
  • the key points extracted from the point cloud may use the Scale-Invariant Feature Transform (SIFT) algorithm, the Intrinsic Shape Signatures (ISS) algorithm, etc., as required, and the present disclosure does not limit it.
  • SIFT Scale-Invariant Feature Transform
  • ISS Intrinsic Shape Signatures
  • step S208 a first registration operation is performed on the original key point set and the target key point set to obtain the first model transformation parameters.
  • each target key point in the target key point set is traversed to obtain the original key point set and the nearest point pair in the target key point set.
  • the nearest point pair includes the original key point An original key point in the set and a target key point in the target key point set.
  • the distance between an original key point and a target key point is less than or equal to the first preset threshold, which can be expressed as the following formula:
  • N y is the number of original key points in the original key point set
  • y l is the coordinate of the l-th point in the original key point set
  • l is a positive integer greater than or equal to 1 and less than or equal to N y
  • N q is The number of target key points in the target key point set
  • q m is the coordinate of the m-th point in the target key point set
  • m is a positive integer greater than or equal to 1 and less than or equal to N q.
  • the first model transformation parameter is obtained according to the nearest point pair.
  • the first model transformation parameters may include rotation parameters and displacement parameters.
  • the following method may be used to obtain the nearest point pair in the original key point set and the target key point set: First, for each original key point in the original key point set, obtain the corresponding nearest point in the target key point set through traversal, Obtain multiple nearest point pairs in the original key point set and the target key point set, thereby obtaining multiple candidate model transformation parameters corresponding to the multiple nearest point pairs; for each nearest point pair in the multiple nearest point pairs, calculate the original key In the point set, except for the original key point in the nearest point pair, the transformation error between each original key point in the nearest point pair and a target key point in the nearest point pair after the transformation of the candidate model transformation parameters corresponding to the nearest point pair can be achieved by After the model transformation parameters are transformed, the key points are subtracted from the corresponding target key points and then squared to obtain the error of the original key point.
  • the errors of the other original key points are added to obtain the transformation error; to obtain the corresponding closest point pair
  • the number of other original key points whose transformation error is less than or equal to the second preset threshold; the closest point pair with the largest number of other original key points whose transformation error is less than or equal to the second preset threshold is selected as the first candidate model transformation parameter Model transformation parameters.
  • step S210 the first original point set is transformed by the first model transformation parameter to obtain a second original point set.
  • the transformed points obtained by transforming each first original point in the first original point set through the first model transformation parameters correspond to each target point in the target point set in a one-to-one correspondence.
  • the first model transformation parameter is obtained through the rough registration, the first original point set is rotated and translated through the first model transformation parameter to obtain the second original point set to be finely registered.
  • step S212 a second registration operation is performed on the second original point set and the target point set to obtain the second model transformation parameters.
  • Accurate registration generally uses the Iterative Closest Point (ICP) method: For each point in the second original point set, find the closest point in the matching target point set to obtain the corresponding rotation parameter R and translation parameter t, and then Calculate the total error E(R,t) by the following formula:
  • N k is the number of the nearest point on the nearest point of focus, and N k is equal to or greater than 1 and less than or equal to and less than or equal to N x N p
  • a positive integer of, k is a positive integer greater than or equal to 1 and less than or equal to N k .
  • the calculation method of the total error may also adopt the root mean square error or the like.
  • the above-mentioned condition for stopping iteration and obtaining the second model transformation parameter may also be that the absolute value of the root mean square difference of two adjacent times is less than a certain tolerance, or it may be that the preset number of iterations is reached. It is also possible to use methods based on singular value decomposition, quaternion methods, etc., to converge the total error. This disclosure is not limited to this.
  • a third model transformation parameter is obtained according to the first model transformation parameter and the second model transformation parameter.
  • the third model transformation parameter is used to register the first original point set and the target point set so that the movable device can obtain the object.
  • the mobile device positioning data processing method by acquiring the first original point set and the target point set obtained by measuring the surface of the object by the mobile device, feature points are extracted from the first original point set and the target point set respectively , Obtain the original key point set and the target key point set, perform the first registration operation on the original key point set and the target key point set to obtain the first model transformation parameter, and transform the first original point set through the first model transformation parameter to obtain The second original point set; then a second registration operation is performed on the second original point set and the target point set to obtain the second model transformation parameter, which is used to register the first model transformation parameter according to the first model transformation parameter and the second model transformation parameter.
  • the third model transformation parameters of the original point set and the target point set enable the mobile device to obtain data on the surface of the object for positioning, which can improve the accuracy of positioning data processing of the mobile device to a certain extent.
  • Fig. 3 is a flowchart showing a method for extracting feature points of positioning data of a mobile device according to an exemplary embodiment.
  • the method shown in FIG. 3 can be applied to the server side of the mobile device positioning data processing system, for example, and can also be applied to the terminal device of the mobile device positioning data processing system.
  • this method can be used to extract the feature points in the point set.
  • the method 30 provided by the embodiment of the present disclosure may include the following steps.
  • step S302 the space formed by the first original point set is divided into a plurality of voxel grids with a first preset side length. For example, for the first original point set composed of three-dimensional data, it is divided using unit cubes of the same size.
  • step S304 the center of gravity of the original point contained in each voxel lattice of the plurality of voxel lattices with the first preset side length is calculated, and the set of the center of gravity of each voxel lattice is the original key point set.
  • the calculation method of the center of gravity refers to formula (1) and formula (2).
  • step S306 the space formed by the first target point set is divided into a plurality of voxel grids with a second preset side length. For example, for the first original point set composed of three-dimensional data, it is divided using unit cubes of the same size.
  • step S308 the center of gravity of the target point contained in each voxel lattice of the plurality of voxel lattices with the first preset side length is calculated, and the set of the center of gravity of each voxel lattice is the target key point set.
  • the calculation method of the center of gravity refers to formula (1) and formula (2).
  • the first original point set and the first target point set are divided into a voxel grid and then the center of gravity of a point in the voxel grid is selected as the original key point and target.
  • Key points in order to perform the first registration operation on the original key point set and the target key point set to obtain the first model transformation parameters, so that the coarse registration operation of the positioning data of the mobile device can be realized, and the speed of the fine registration can be improved to a certain extent And precision.
  • Fig. 4 is a flowchart showing a method for processing positioning data of a movable device according to an exemplary embodiment.
  • the method shown in FIG. 4 can be applied to the server side of the mobile device positioning data processing system, for example, and can also be applied to the terminal device of the mobile device positioning data processing system.
  • the method 40 provided by the embodiment of the present disclosure may include the following steps.
  • step S402 the first original point set and the target point set obtained by the indoor robot through the lidar measurement of the surface of the object are acquired.
  • step S404 feature points are extracted from the first original point set based on a voxel lattice scale-invariant feature transformation method to obtain an original key point set.
  • the spatial scale model of the prime grid model subtracts the original model itself to establish the Gaussian difference model, which can ensure that the voxel grid has the scale invariance associated with it; the extreme point detection of the Gaussian difference model is finally given
  • the three-dimensional neighborhood around the extreme points constructs a weighted histogram, and finally generates the original key point set.
  • step S406 similar to step S404, feature points are extracted from the target point set based on the voxel lattice scale-invariant feature transformation method to obtain the target key point set.
  • step S408 a first registration operation is performed on the original key point set and the target key point set to obtain the first model transformation parameters.
  • step S410 the first original point set is transformed by the first model transformation parameter to obtain a second original point set.
  • steps S408 to S410 reference may be made to steps S208 to S210, which will not be repeated here.
  • step S412 a second registration operation is performed on the second original point set and the target point set to obtain the second model transformation parameters.
  • step S4121 the variance of each target point in the target point set in each dimension is calculated.
  • step S4122 the dimension with the largest variance is selected as the registration dimension.
  • a high-dimensional index binary tree of the target point set in the registration dimension is constructed.
  • High-dimensional index binary tree (K-Dimensional Tree, KD Tree) is a data structure that partitions high-dimensional data space. It is mainly used for Nearest Neighbor and Approximate Nearest Neighbor for key data in multi-dimensional space.
  • KD Tree is a variant of Binary Search Tree (BST).
  • the properties of a binary search tree are as follows: if its left subtree is not empty, the values of all nodes on the left subtree are less than the value of its root node; if its right subtree is not empty, then the right The value of all nodes on the subtree is greater than the value of its root node; its left and right subtrees are also binary sorted trees, respectively.
  • the construction method of Kd-Tree is: select the dimension with the largest variance in the K-dimensional data set, and then select the median value (arithmetic mean) in this dimension as the dividing point to divide the K-dimensional data set to obtain two sub-sets At the same time, create a tree node for storage; then repeat the previous step of selecting the median value and dividing the two sub-collections until all sub-collections can no longer be divided.
  • step S4124 the closest point of each second original point in the second original point set in the target point set is searched through the high-dimensional index binary tree.
  • First start each second original point from the root node of the high-dimensional index binary tree (that is, the first division point), and query the high-dimensional index downward according to the comparison result of each second original point and each node of the high-dimensional index binary tree Binary tree, until it reaches the leaf node (that is, the node that can not be divided down, the upper node has only this node in the branch subset).
  • step S4125 the distance between each second original point and the corresponding closest point is calculated respectively.
  • step S4126 the model transformation parameter of the second original point with the smallest distance from the corresponding closest point in the second original point set and the corresponding closest point is selected as the second model transformation parameter.
  • the second model transformation parameter can be obtained by the iterative closest point method, see some embodiments of step S212, which will not be repeated here.
  • a third model transformation parameter is obtained according to the first model transformation parameter and the second model transformation parameter.
  • the third model transformation parameter is used to register the first original point set and the target point set so that the movable device can obtain the object.
  • the first original point set and the target point set obtained by measuring the surface of the object by lidar are obtained, and the method based on the voxel lattice scale invariant feature transformation is obtained from the first original point set.
  • the feature points are extracted from the point set and the target point set respectively, and the original key point set and the target key point set are obtained.
  • the first registration operation is performed on the original key point set and the target key point set to obtain the first model transformation parameters.
  • the set is transformed by the first model transformation parameters to obtain the second original point set; then the KD Tree method is used to perform the second registration operation on the second original point set and the target point set to obtain the second model transformation parameters, which are transformed according to the first model
  • the parameters and the second model transformation parameters obtain the third model transformation parameters used to register the first original point set and the target point set, so that the mobile device can obtain the data of the surface of the object for positioning, which can improve the positioning of the mobile device to a certain extent.
  • Fig. 5 is a flow chart showing a device for processing positioning data of a movable device according to an exemplary embodiment.
  • the apparatus shown in FIG. 5 can be applied to the server side of the mobile device positioning data processing system, for example, and can also be applied to the terminal device of the mobile device positioning data processing system.
  • the apparatus 50 may include: a data acquisition module 502, a feature extraction module 504, a first registration module 506, a second registration module 508, and a model acquisition module 510.
  • the data acquisition module 502 can be used to acquire the first original point set and the target point set obtained by measuring the surface of the object by the movable device.
  • the feature extraction module 504 may be used to extract feature points from the first original point set to obtain the original key point set.
  • the feature extraction module 504 can also be used to extract feature points from a set of target points to obtain a set of target key points.
  • the first registration module 506 can be used to perform a first registration operation on the original key point set and the target key point set to obtain the first model transformation parameters.
  • the first registration module 506 can also be used to transform the first original point set through the first model transformation parameters to obtain the second original point set.
  • the second registration module 508 can be used to perform a second registration operation on the second original point set and the target point set to obtain the second model transformation parameters.
  • the model obtaining module 510 can be used to obtain the third model transformation parameter according to the first model transformation parameter and the second model transformation parameter, and the third model transformation parameter is used to register the first original point set and the target point set so that the mobile device can obtain Data on the surface of the object for positioning.
  • the first registration module 506 can also be used to obtain the nearest point pair in the original key point set and the target key point set.
  • the nearest point pair includes an original key point in the original key point set and a target key point in the target key point set.
  • the distance between the key point and a target key point is less than or equal to the first preset threshold; the first model transformation parameter is obtained according to the nearest point pair.
  • the first registration module 506 can also be used to obtain multiple nearest point pairs in the original key point set and the target key point set; obtain multiple candidate model transformation parameters corresponding to the multiple nearest point pairs; For each nearest point pair, calculate each original key point in the original key point set except for one original key point in the nearest point pair after being transformed by the candidate model transformation parameters corresponding to the nearest point pair, and a target key point in the nearest point pair The number of other original key points whose transformation error corresponding to each closest point pair is less than or equal to the second preset threshold is obtained; the number of other original key points whose transformation error is less than or equal to the second preset threshold is selected The candidate model transformation parameter corresponding to the closest point pair is the first model transformation parameter.
  • the feature extraction module 504 can also be used to divide the space formed by the first original point set into a plurality of voxel grids with a first preset side length; calculate each voxel grid of the plurality of voxel grids with a first preset side length
  • the center of gravity of the original point contained in the voxel grid is the original key point set
  • the space formed by the first target point set is divided into multiple voxel grids with the second preset side length
  • multiple The center of gravity of the target point contained in each voxel lattice of the voxel lattice of the first preset side length, and the set of the center of gravity of each voxel lattice is the target key point set.
  • the second registration module 508 can also be used to calculate the variance of each target point in the target point set in each dimension; select the dimension with the largest variance as the registration dimension; construct a high-dimensional index binary tree of the target point set in the registration dimension; Dimension index binary tree finds the closest point of each second original point in the second original point set in the target point set; respectively calculates the distance between each second original point and the corresponding closest point; selects the second original point set and the corresponding closest point
  • the model transformation parameter of the second original point with the smallest distance between the points and the corresponding closest point is the second model transformation parameter.
  • the second registration module 508 can also be used to start each second original point from the root node of the high-dimensional index binary tree, and query the high-dimensional index downward according to the comparison result of each second original point and each node of the high-dimensional index binary tree. Binary tree until reaching the leaf node; determine whether the distance between the node of each second original point of the branch that has not been queried on the high-dimensional index binary tree and each second original point is not less than the leaf node; if the branch has not been queried If the distance between the node of and each second original point is less than the leaf node, it is determined that the node of the branch that has not been queried by each second original point is the closest point.
  • the second registration module 508 can also be used to sort the nodes of the branches that have not been queried according to the degree of closeness between the value of the registration dimension and each second original point to obtain a priority node sequence; Query each node of the branch that has not been queried for each second original point on the high-dimensional index binary tree, and determine whether the distance between each node of the branch that has not been queried and each second original point is not less than the leaf node.
  • Fig. 6 is a block diagram showing an electronic device that can be used in a mobile device positioning data processing system according to an exemplary embodiment. It should be noted that the device shown in FIG. 6 only uses a computer system as an example, and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
  • the device 600 includes a central processing unit (CPU) 601, which can be based on a program stored in a read-only memory (ROM) 602 or a program loaded from a storage part 608 into a random access memory (RAM) 603. Perform various appropriate actions and processing.
  • ROM read-only memory
  • RAM random access memory
  • various programs and data required for the operation of the device 600 are also stored.
  • the CPU 601, the ROM 602, and the RAM 603 are connected to each other through a bus 604.
  • An input/output (I/O) interface 605 is also connected to the bus 604.
  • the following components are connected to the I/O interface 605: an input part 606 including a keyboard, a mouse, etc.; an output part 607 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and speakers, etc.; a storage part 608 including a hard disk, etc. ; And a communication section 609 including a network interface card such as a LAN card, a modem, and the like. The communication section 609 performs communication processing via a network such as the Internet.
  • the driver 610 is also connected to the I/O interface 605 as needed.
  • a removable medium 611 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 610 as required, so that the computer program read from it is installed into the storage part 608 as required.
  • an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart.
  • the computer program may be downloaded and installed from the network through the communication part 609, and/or installed from the removable medium 611.
  • this computer program is executed by the central processing unit (CPU) 601, the above-mentioned functions defined in the system of the present disclosure are executed.
  • the computer-readable medium shown in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two.
  • the computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or a combination of any of the above. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections with one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable removable Programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
  • a computer-readable storage medium may be any tangible medium that contains or stores a program, and the program may be used by or in combination with an instruction execution system, apparatus, or device.
  • a computer-readable signal medium may include a data signal propagated in a baseband or as a part of a carrier wave, and a computer-readable program code is carried therein. This propagated data signal can take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
  • the computer-readable signal medium may also be any computer-readable medium other than the computer-readable storage medium.
  • the computer-readable medium may send, propagate, or transmit the program for use by or in combination with the instruction execution system, apparatus, or device .
  • the program code contained on the computer-readable medium can be transmitted by any suitable medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.
  • each block in the flowchart or block diagram may represent a module, program segment, or part of the code, and the above-mentioned module, program segment, or part of the code contains one or more for realizing the specified logic function.
  • Executable instructions may also occur in a different order from the order marked in the drawings. For example, two blocks shown one after another can actually be executed substantially in parallel, and they can sometimes be executed in the reverse order, depending on the functions involved.
  • each block in the block diagram or flowchart, and the combination of blocks in the block diagram or flowchart can be implemented by a dedicated hardware-based system that performs the specified function or operation, or can be implemented by It is realized by a combination of dedicated hardware and computer instructions.
  • the modules involved in the embodiments described in the present disclosure can be implemented in software or hardware.
  • the described module may also be provided in the processor.
  • a processor includes a data acquisition module, a feature extraction module, a first registration module, a second registration module, and a model acquisition module.
  • the names of these modules do not constitute a limitation on the module itself under certain circumstances.
  • the data acquisition module can also be described as “a module that acquires point set data from the connected server”.
  • the present disclosure also provides a computer-readable medium.
  • the computer-readable medium may be included in the device described in the above embodiment; or it may exist alone without being assembled into the device.
  • the above-mentioned computer-readable medium carries one or more programs, and when the above-mentioned one or more programs are executed by a device, the device includes: acquiring a first set of original points and target points obtained by measuring the surface of an object by a movable device Set; extract feature points from the first original point set to obtain the original key point set; extract feature points from the target point set to obtain the target key point set; perform the first registration operation on the original key point set and the target key point set to obtain The first model transformation parameter; transform the first original point set through the first model transformation parameter to obtain the second original point set; perform the second registration operation on the second original point set and the target point set to obtain the second model transformation Parameters; the third model transformation parameter is obtained according to the first model transformation parameter and the second model transformation parameter.
  • the third model transformation parameter is used to register the first

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)

Abstract

一种可移动设备定位数据处理方法、装置、设备及存储介质,该方法通过获取通过可移动设备测量物体表面得到的第一原始点集和目标点集,从第一原始点集和目标点集中分别提取特征点,获得原始关键点集和目标关键点集,对原始关键点集和目标关键点集进行第一配准操作获得第一模型变换参数,将第一原始点集通过第一模型变换参数进行变换获得第二原始点集;然后对第二原始点集和目标点集进行第二配准操作,获得第二模型变换参数,根据第一模型变换参数和第二模型变换参数获得用于配准第一原始点集和目标点集第三模型变换参数,使所述可移动设备获得所述物体表面的数据以便定位,从而可实现一定程度上提高可移动设备定位数据处理的精度。

Description

可移动设备定位数据处理方法、装置、设备及存储介质
本公开基于申请号为201911269684.4、申请日为2019年12月11日、发明名称为《可移动设备定位数据处理方法、装置、设备及存储介质》的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本公开作为参考。
技术领域
本公开涉及计算机视觉技术领域,具体而言,涉及一种可移动设备定位数据处理方法、装置、设备及可读存储介质。
背景技术
计算机视觉是一门研究如何使机器“看”的科学,进一步地,是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。将计算机视觉技术应用于室内机器人设备中,在解决室内地图构建、自身位姿估计、导航避障等问题时可发挥重要的作用。
计算机视觉的实现通常采用实物数字化技术通过激光雷达等测量方法进行数据采集。受到测量设备和环境的限制,物体表面完整测量数据的获得往往需要通过多次测量完成。由于每次测量得到的点云数据往往只覆盖物体部分表面,并且可能出现平移错位和旋转错位,因此为了得到物体完整表面的点云数据,需要对这些局部点云数据进行整合和配准。相关技术中的点云配准算法通常存在速度较慢、精度低、鲁棒性差的问题,可能导致室内机器人等可移动设备在进行定位、导航时实时性差、精度低、适应性差。
如上所述,如何提供实时性好、精度高、适应性强的定位数据处理方法成为亟待解决的问题。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种可移动设备定位数据处理方法、装置、设备及可读存储介质,至少在一定程度上克服由于相关技术中的点云配准算法速度较慢、精度低、鲁棒性差可能导致的室内机器人等可移动设备在进行定位、导航时实时性差、精度低、适应性差的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提供一种可移动设备定位数据处理方法,包括:获取通过可移动设备测量物体表面得到的第一原始点集和目标点集;从所述第一原始点集中提取特征点,获得原始关键点集;从所述目标点集中提取特征点,获得目标关键点集;对所述原始关键点集 和所述目标关键点集进行第一配准操作,获得第一模型变换参数;将所述第一原始点集通过所述第一模型变换参数进行变换,获得第二原始点集;对所述第二原始点集和所述目标点集进行第二配准操作,获得第二模型变换参数;根据所述第一模型变换参数和第二模型变换参数获得第三模型变换参数,所述第三模型变换参数用于通过配准第一原始点集和所述目标点集,使所述可移动设备获得所述物体表面的数据以便定位。
根据本公开的一实施例,所述对所述原始关键点集和所述目标关键点集进行第一配准操作,获得第一模型变换参数,包括:获得所述原始关键点集和所述目标关键点集中的最近点对,所述最近点对包括所述原始关键点集中的一个原始关键点和所述目标关键点集中的一个目标关键点,所述一个原始关键点和所述一个目标关键点之间的距离小于或等于第一预设阈值;根据所述最近点对获得第一模型变换参数。
根据本公开的一实施例,所述获得所述原始关键点集和所述目标关键点集中的最近点对,包括:获得所述原始关键点集和所述目标关键点集中的多个最近点对;所述根据所述最近点对获得第一模型变换参数,包括:获得与所述多个最近点对对应的多个候选模型变换参数;对于所述多个最近点对中的各个最近点对,计算所述原始关键点集中除所述最近点对中的所述一个原始关键点外的其他各个原始关键点经过与所述最近点对对应的候选模型变换参数变换后与所述最近点对中的所述一个目标关键点的变换误差;获得与所述各个最近点对对应的所述变换误差小于或等于第二预设阈值的其他原始关键点的数量;选取所述变换误差小于或等于第二预设阈值的其他原始关键点的数量最多的最近点对对应的候选模型变换参数为所述第一模型变换参数。
根据本公开的一实施例,所述从第一原始点集中提取特征点,获得原始关键点集;从目标点集中提取特征点,获得目标关键点集,包括:将所述第一原始点集所构成的空间划分为多个第一预设边长的体素格;计算所述多个第一预设边长的体素格的各个体素格中包含的原始点的重心,所述各个体素格的重心的集合为所述原始关键点集;将所述第一目标点集所构成的空间划分为多个第二预设边长的体素格;计算所述多个第一预设边长的体素格的各个体素格中包含的目标点的重心,所述各个体素格的重心的集合为所述目标关键点集。
根据本公开的一实施例,所述对所述第二原始点集和所述目标点集进行第二配准操作,获得第二模型变换参数包括:计算所述目标点集中的各个目标点在各个维度上的方差;选取方差最大的维度为配准维度;构建所述目标点集在所述配准维度的高维索引二叉树;通过所述高维索引二叉树查找所述第二原始点集中的各个第二原始点在所述目标点集中的最近点;分别计算所述各个第二原始点与对应的所述最近点之间的距离;选取所述第二原始点集中与对应的所述最近点之间的距离最小的第二原始点与对应的最近点的模型变换参数为所述第二模型变换参数。
根据本公开的一实施例,所述通过所述高维索引二叉树查找所述第二原始点集中的各个第二原始点在所述目标点集中的最近点,包括:将所述各个第二原始点从所述高维索引二叉树的根结点开始,根据所述各个第二原始点与所述高维索引二叉树的各个结点的比较结果向下查询所述高维索引二叉树,直至到达叶子结点;判断所述高维索引二叉树上所述各个第二 原始点未查询过的分支的结点与所述各个第二原始点之间的距离是否不小于所述叶子结点;若所述未查询过的分支的结点与所述各个第二原始点之间的距离小于所述叶子结点,则判定所述各个第二原始点未查询过的分支的结点为所述最近点。
根据本公开的一实施例,所述判断所述高维索引二叉树上所述各个第二原始点未查询过的分支的结点与所述各个第二原始点之间的距离是否不小于所述叶子结点,包括:将所述未查询过的分支的各个结点按照所述配准维度的值与所述各个第二原始点的接近程度排序,获得优先级结点序列;根据所述优先级结点序列依次查询所述高维索引二叉树上所述各个第二原始点未查询过的分支的各个结点,判断所述未查询过的分支的各个结点是否与所述各个第二原始点之间的距离是否不小于所述叶子结点。
根据本公开的另一方面,提供一种可移动设备定位数据处理装置,包括:数据获取模块,用于获取通过可移动设备测量物体表面得到的第一原始点集和目标点集;特征提取模块,用于从所述第一原始点集中提取特征点,获得原始关键点集;特征提取模块,还用于从所述目标点集中提取特征点,获得目标关键点集;第一配准模块,用于对所述原始关键点集和所述目标关键点集进行第一配准操作,获得第一模型变换参数;第一配准模块,还用于将所述第一原始点集通过所述第一模型变换参数进行变换,获得第二原始点集;第二配准模块,用于对所述第二原始点集和所述目标点集进行第二配准操作,获得第二模型变换参数;模型获得模块,用于根据所述第一模型变换参数和第二模型变换参数获得第三模型变换参数,所述第三模型变换参数用于通过配准第一原始点集和所述目标点集,使所述可移动设备获得所述物体表面的数据以便定位。
根据本公开的再一方面,提供一种设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,所述处理器执行所述可执行指令时实现如上述任一种方法。
根据本公开的再一方面,提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述可执行指令被处理器执行时实现如上述任一种方法。
本公开的实施例提供的可移动设备定位数据处理方法,通过获取通过可移动设备测量物体表面得到的第一原始点集和目标点集,从第一原始点集和目标点集中分别提取特征点,获得原始关键点集和目标关键点集,对原始关键点集和目标关键点集进行第一配准操作获得第一模型变换参数,将第一原始点集通过第一模型变换参数进行变换获得第二原始点集;然后对第二原始点集和目标点集进行第二配准操作,获得第二模型变换参数,根据第一模型变换参数和第二模型变换参数获得用于配准第一原始点集和目标点集第三模型变换参数,使所述可移动设备获得所述物体表面的数据以便定位,从而可实现一定程度上提高可移动设备定位数据处理的精度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更 加显而易见。
图1示出本公开实施例中一种可移动设备定位数据处理系统结构的示意图。
图2示出本公开实施例中一种可移动设备定位数据处理方法的流程图。
图3示出本公开实施例中一种可移动设备定位数据特征点提取方法的流程图。
图4示出本公开实施例中另一种可移动设备定位数据处理方法的流程图。
图5示出本公开实施例中一种可移动设备定位数据处理装置的框图。
图6示出本公开实施例中一种电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。符号“/”一般表示前后关联对象是一种“或”的关系。
在本公开中,除非另有明确的规定和限定,“连接”等术语应做广义理解,例如,可以是电连接或可以互相通讯;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。
如上所述,因相关技术中的点云配准算法通常存在速度较慢、精度低、鲁棒性差的问题,可能导致室内机器人等可移动设备在进行定位、导航时实时性差、精度低、适应性差。因此,本公开提供了一种可移动设备定位数据处理方法,通过获取通过可移动设备测量物体表面得到的第一原始点集和目标点集,从第一原始点集和目标点集中分别提取特征点,获得原始关键点集和目标关键点集,对原始关键点集和目标关键点集进行第一配准操作获得第一模型变换参数,将第一原始点集通过第一模型变换参数进行变换获得第二原始点集;然后对第二原始点集和目标点集进行第二配准操作,获得第二模型变换参数,根据第一模型变换参数和第二模型变换参数获得用于配准第一原始点集和目标点集第三模型变换参数,使所述可移动设备获得所述物体表面的数据以便定位,从而可实现一定程度上提高可移动设备定位数据处理 的精度。
图1示出了可以应用本公开的可移动设备定位数据处理方法或可移动设备定位数据处理装置的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如拍摄类应用、图像识别应用等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的图像搜索类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的初始图像等数据进行分析等处理,并将如图像融合结果反馈给终端设备。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2是根据一示例性实施例示出的一种可移动设备定位数据处理方法的流程图。如图2所示的方法例如可以应用于可移动设备定位数据处理系统的服务器端,也可以应用于可移动设备定位数据处理系统的终端设备。
参考图2,本公开实施例提供的方法20可以包括以下步骤。
在步骤S202中,获取通过可移动设备测量物体表面得到的第一原始点集和目标点集。可移动设备包括智能机器人、可移动拍摄设备等等。可移动设备可采用激光雷达测量室内物体以获取物体表面数据,第一原始点集和目标点集分别为可移动设备测量物体表面得到的处于不同坐标系内的点云集合,可通过旋转、平移操作配准到同一坐标系中,以获得物体表面更为完整的点云数据。
在一些实施例中,需要配准的两个点集可能距离较远,在进行配准之前可先进行平移操作,以便减少寻找最近点的计算量。可采用如下方法进行平移操作:
首先采用下式计算初始点集X和初始目标点集P的重心,分别为μ x和μ p
Figure PCTCN2020132929-appb-000001
Figure PCTCN2020132929-appb-000002
式中,N x为初始点集X中点的个数,x i为初始点集X中第i个点的坐标,i为大于或等于1且小于或等于N x的正整数;N p为初始目标点集P中点的个数,p j为初始目标点集P 中第j个点的坐标,j为大于或等于1且小于或等于N p的正整数。
然后将初始点集X和初始目标点集P的点分别减去对应的重心,获得第一原始点集X’和目标点集P’:
X'={x ix}={x i'}         (3)
P'={p jp}={p j'}          (4)
式中,x i'为原始点集X’中第i个点的坐标,p j'为目标点集P’中第j个点的坐标。
在步骤S204中,从第一原始点集中提取特征点,获得原始关键点集。由于获取的物体表面数据是快速刷新的,若直接采用查找最近点方法对第一原始点集和目标点集进行配准会因速度较慢导致精度低,因此在搜索第一原始点集和目标点集的最近点之前,可基于关键点提取算法首先进行粗配准,以提高整体配准速度及精度。
在步骤S206中,从目标点集中提取特征点,获得目标关键点集。
在一些实施例中,点云的特征点是一些兴趣点,如目标的转点、角点等具有明显特征的点或点集。点云中提取关键点可根据需要采用尺度不变特征变换(Scale-Invariant Feature Transform,SIFT)算法、内部形态描述子(Intrinsic Shape Signatures,ISS)算法等等,本公开不做限制。
在步骤S208中,对原始关键点集和目标关键点集进行第一配准操作,获得第一模型变换参数。
在一些实施例中,对于原始关键点集中的各个原始关键点,遍历目标关键点集中的各个目标关键点,获得原始关键点集和目标关键点集中的最近点对,最近点对包括原始关键点集中的一个原始关键点和目标关键点集中的一个目标关键点,一个原始关键点和一个目标关键点之间的距离小于或等于第一预设阈值,可表示如下式:
Figure PCTCN2020132929-appb-000003
式中,N y为原始关键点集中原始关键点的个数,y l为原始关键点集中第l个点的坐标,l为大于或等于1且小于或等于N y的正整数;N q为目标关键点集中目标关键点的个数,q m为目标关键点集中第m个点的坐标,m为大于或等于1且小于或等于N q的正整数。然后根据最近点对获得第一模型变换参数。第一模型变换参数可包括旋转参数和位移参数。
在一些实施例中,可采用如下方法获得原始关键点集和目标关键点集中的最近点对:首先对于原始关键点集中的各个原始关键点,通过遍历获得目标关键点集中的对应的最近点,获得原始关键点集和目标关键点集中的多个最近点对,从而获得与多个最近点对对应的多个候选模型变换参数;对于多个最近点对中的各个最近点对,计算原始关键点集中除最近点对中的一个原始关键点外的其他各个原始关键点经过与最近点对对应的候选模型变换参数变换后与最近点对中的一个目标关键点的变换误差,可通过将原始关键点经过模型变换参数变换后与对应的目标关键点相减后求平方获得该原始关键点的误差,然后将其他各个原始关键 点的误差相加获得变换误差;获得与各个最近点对对应的变换误差小于或等于第二预设阈值的其他原始关键点的数量;选取变换误差小于或等于第二预设阈值的其他原始关键点的数量最多的最近点对对应的候选模型变换参数为第一模型变换参数。
在步骤S210中,将第一原始点集通过第一模型变换参数进行变换,获得第二原始点集。将第一原始点集中的各个第一原始点通过第一模型变换参数进行变换获得的变换后的点与目标点集中的各个目标点一一对应。经过粗配准获得第一模型变换参数之后,将第一原始点集通过第一模型变换参数进行旋转、平移变换,获得待进行精配准的第二原始点集。
在步骤S212中,对第二原始点集和目标点集进行第二配准操作,获得第二模型变换参数。精确配准一般采用迭代最近点(Iterative Closest Point,ICP)方法:对于第二原始点集中的每个点,查找匹配目标点集中的最近点,得到对应的旋转参数R和平移参数t,然后可通过下式计算总误差E(R,t):
Figure PCTCN2020132929-appb-000004
式中,x k'∈X',p k'∈P',N k为最近点对集中最近点对的个数,且N k为大于或等于1、小于或等于N x且小于等于N p的正整数,k为大于或等于1且小于或等于N k的正整数。若计算得到总误差大于预设阈值,则将第二原始点集按照旋转参数R和平移参数t变换后获得更新的第二原始点集,继续查找匹配目标点集中的最近点,重复以上步骤,直至总误差不大于预设阈值为止,获得第二模型变换参数。
在一些实施例中,总误差的计算方式也可采用均方根差等。上述停止迭代并获得第二模型变换参数的条件,也可以是相邻两次均方根差的绝对值小于某一限差,还可以是到达预设迭代次数。也可采用基于奇异值分解的方法、四元数方法等使总误差收敛。本公开不以此为限。
在步骤S214中,根据第一模型变换参数和第二模型变换参数获得第三模型变换参数,第三模型变换参数用于通过配准第一原始点集和目标点集,使可移动设备获得物体表面的数据以便定位。
根据本公开实施例提供的可移动设备定位数据处理方法,通过获取通过可移动设备测量物体表面得到的第一原始点集和目标点集,从第一原始点集和目标点集中分别提取特征点,获得原始关键点集和目标关键点集,对原始关键点集和目标关键点集进行第一配准操作获得第一模型变换参数,将第一原始点集通过第一模型变换参数进行变换获得第二原始点集;然后对第二原始点集和目标点集进行第二配准操作,获得第二模型变换参数,根据第一模型变换参数和第二模型变换参数获得用于配准第一原始点集和目标点集第三模型变换参数,使可移动设备获得物体表面的数据以便定位,从而可实现一定程度上提高可移动设备定位数据处理的精度。
图3是根据一示例性实施例示出的一种可移动设备定位数据特征点提取方法的流程图。如图3所示的方法例如可以应用于可移动设备定位数据处理系统的服务器端,也可以应用于 可移动设备定位数据处理系统的终端设备。在步骤S204中和步骤S206中,可采用该方法提取点集中的特征点。
参考图3,本公开实施例提供的方法30可以包括以下步骤。
在步骤S302中,将第一原始点集所构成的空间划分为多个第一预设边长的体素格(voxel grid)。例如,对于由三维数据构成的第一原始点集,使用相同尺寸的单位立方体对其进行划分。
在步骤S304中,计算多个第一预设边长的体素格的各个体素格中包含的原始点的重心,各个体素格的重心的集合为原始关键点集。重心的计算方法参照式(1)、式(2)。
在步骤S306中,将第一目标点集所构成的空间划分为多个第二预设边长的体素格。例如,对于由三维数据构成的第一原始点集,使用相同尺寸的单位立方体对其进行划分。
在步骤S308中,计算多个第一预设边长的体素格的各个体素格中包含的目标点的重心,各个体素格的重心的集合为目标关键点集。重心的计算方法参照式(1)、式(2)。
根据本公开实施例提供的可移动设备定位数据特征点提取方法,通过将第一原始点集和第一目标点集划分体素格后选取体素格内的点的重心作为原始关键点和目标关键点,以便对原始关键点集和目标关键点集进行第一配准操作获得第一模型变换参数,从而可实现可移动设备定位数据的粗配准操作,能够一定程度提高精配准的速度和精度。
图4是根据一示例性实施例示出的一种可移动设备定位数据处理方法的流程图。如图4所示的方法例如可以应用于可移动设备定位数据处理系统的服务器端,也可以应用于可移动设备定位数据处理系统的终端设备。
参考图4,本公开实施例提供的方法40可以包括以下步骤。
在步骤S402中,获取室内机器人通过激光雷达测量物体表面得到的第一原始点集和目标点集。
在步骤S404中,从第一原始点集中基于体素格尺度不变特征变换的方法提取特征点,获得原始关键点集。首先将第一原始点集按照体素格方法划分,创建体素格模型;然后将每一个体素格模型与三维高斯滤波器进行卷积,得到该体素格模型的空间尺度,通过每个体素网格模型的空间尺度模型减去原始模型本身来建立高斯差分模型,这样能够保证体素网格具有与之相关的尺度不变性;对高斯差分模型进行极值点的检测,最后为给定极值点周围的三维邻域构建加权直方图,并最终生成原始关键点集。
在步骤S406中,类似步骤S404,从目标点集中基于体素格尺度不变特征变换的方法提取特征点,获得目标关键点集。
在步骤S408中,对原始关键点集和目标关键点集进行第一配准操作,获得第一模型变换参数。
在步骤S410中,将第一原始点集通过第一模型变换参数进行变换,获得第二原始点集。
步骤S408至S410的一些实施例可参照步骤S208至S210,此处不再赘述。
在步骤S412中,对第二原始点集和目标点集进行第二配准操作,获得第二模型变换参数。
在一些实施例中,在步骤S4121中,计算目标点集中的各个目标点在各个维度上的方差。
在步骤S4122中,选取方差最大的维度为配准维度。
在步骤S4123中,构建目标点集在配准维度的高维索引二叉树。高维索引二叉树(K-Dimensional Tree,KD Tree)是一种分割高维数据空间的数据结构,主要应用于多维空间关键数据的近邻查找(Nearest Neighbor)和近似最近邻查找(Approximate Nearest Neighbor)。KD Tree是二叉查找树(Binary Search Tree,BST)的变种。二叉查找树的性质如下:若它的左子树不为空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不为空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉排序树。Kd-Tree的构建方法为:在K维数据集合中选择具有最大方差的维度,然后在该维度上选择中值(算术平均数)为划分点对该K维数据集合进行划分,得到两个子集合,同时创建一个树结点,用于存储;然后对两个子集合重复上一步选择中值、划分的过程,直至所有子集合都不能再划分为止。
在步骤S4124中,通过高维索引二叉树查找第二原始点集中的各个第二原始点在目标点集中的最近点。首先将各个第二原始点从高维索引二叉树的根结点(即第一个划分点)开始,根据各个第二原始点与高维索引二叉树的各个结点的比较结果向下查询高维索引二叉树,直至到达叶子结点(即不能再向下划分的结点,上级结点在该分支子集合中仅有该结点)。然后进行回溯操作,判断高维索引二叉树上各个第二原始点未查询过的分支的结点与各个第二原始点之间的距离是否不小于叶子结点,将未查询过的分支的各个结点按照配准维度的值与各个第二原始点的接近程度排序,即按照在配准维度第二原始点与未查询结点的值的差的绝对值的大小排序,绝对值越小排序越前,获得优先级结点序列,根据优先级结点序列依次查询高维索引二叉树上各个第二原始点未查询过的分支的各个结点,判断未查询过的分支的各个结点是否与各个第二原始点之间的距离是否不小于叶子结点。若未查询过的分支的结点与各个第二原始点之间的距离小于叶子结点,则判定各个第二原始点未查询过的分支的结点为最近点。
在步骤S4125中,分别计算各个第二原始点与对应的最近点之间的距离。
在步骤S4126中,选取第二原始点集中与对应的最近点之间的距离最小的第二原始点与对应的最近点的模型变换参数为第二模型变换参数。第二模型变换参数可通过迭代最近点方法获得,参见步骤S212的一些实施例,此处不再赘述。
在步骤S414中,根据第一模型变换参数和第二模型变换参数获得第三模型变换参数,第三模型变换参数用于通过配准第一原始点集和目标点集,使可移动设备获得物体表面的数据以便定位。
根据本公开实施例提供的可移动设备定位数据处理方法,通过获取通过激光雷达测量物体表面得到的第一原始点集和目标点集,基于体素格尺度不变特征变换的方法从第一原始点集和目标点集中分别提取特征点,获得原始关键点集和目标关键点集,对原始关键点集和目标关键点集进行第一配准操作获得第一模型变换参数,将第一原始点集通过第一模型变换参数进行变换获得第二原始点集;然后利用K-D Tree方法对第二原始点集和目标点集进行第 二配准操作,获得第二模型变换参数,根据第一模型变换参数和第二模型变换参数获得用于配准第一原始点集和目标点集第三模型变换参数,使可移动设备获得物体表面的数据以便定位,从而可实现一定程度上提高可移动设备定位数据处理的精度和鲁棒性。
图5是根据一示例性实施例示出的一种可移动设备定位数据处理装置的流程图。如图5所示的装置例如可以应用于可移动设备定位数据处理系统的服务器端,也可以应用于可移动设备定位数据处理系统的终端设备。
参考图5,本公开实施例提供的装置50可以包括:数据获取模块502、特征提取模块504、第一配准模块506、第二配准模块508以及模型获得模块510。
数据获取模块502可用于获取通过可移动设备测量物体表面得到的第一原始点集和目标点集。
特征提取模块504可用于从第一原始点集中提取特征点,获得原始关键点集。
特征提取模块504还可用于从目标点集中提取特征点,获得目标关键点集。
第一配准模块506可用于对原始关键点集和目标关键点集进行第一配准操作,获得第一模型变换参数。
第一配准模块506还可用于将第一原始点集通过第一模型变换参数进行变换,获得第二原始点集。
第二配准模块508可用于对第二原始点集和目标点集进行第二配准操作,获得第二模型变换参数。
模型获得模块510可用于根据第一模型变换参数和第二模型变换参数获得第三模型变换参数,第三模型变换参数用于通过配准第一原始点集和目标点集,使可移动设备获得物体表面的数据以便定位。
第一配准模块506还可用于获得原始关键点集和目标关键点集中的最近点对,最近点对包括原始关键点集中的一个原始关键点和目标关键点集中的一个目标关键点,一个原始关键点和一个目标关键点之间的距离小于或等于第一预设阈值;根据最近点对获得第一模型变换参数。
第一配准模块506还可用于获得原始关键点集和目标关键点集中的多个最近点对;获得与多个最近点对对应的多个候选模型变换参数;对于多个最近点对中的各个最近点对,计算原始关键点集中除最近点对中的一个原始关键点外的其他各个原始关键点经过与最近点对对应的候选模型变换参数变换后与最近点对中的一个目标关键点的变换误差;获得与各个最近点对对应的变换误差小于或等于第二预设阈值的其他原始关键点的数量;选取变换误差小于或等于第二预设阈值的其他原始关键点的数量最多的最近点对对应的候选模型变换参数为第一模型变换参数。
特征提取模块504还可用于将第一原始点集所构成的空间划分为多个第一预设边长的体素格;计算多个第一预设边长的体素格的各个体素格中包含的原始点的重心,各个体素格的重心的集合为原始关键点集;将第一目标点集所构成的空间划分为多个第二预设边长的体素格;计算多个第一预设边长的体素格的各个体素格中包含的目标点的重心,各个体素格的重 心的集合为目标关键点集。
第二配准模块508还可用于计算目标点集中的各个目标点在各个维度上的方差;选取方差最大的维度为配准维度;构建目标点集在配准维度的高维索引二叉树;通过高维索引二叉树查找第二原始点集中的各个第二原始点在目标点集中的最近点;分别计算各个第二原始点与对应的最近点之间的距离;选取第二原始点集中与对应的最近点之间的距离最小的第二原始点与对应的最近点的模型变换参数为第二模型变换参数。
第二配准模块508还可用于将各个第二原始点从高维索引二叉树的根结点开始,根据各个第二原始点与高维索引二叉树的各个结点的比较结果向下查询高维索引二叉树,直至到达叶子结点;判断高维索引二叉树上各个第二原始点未查询过的分支的结点与各个第二原始点之间的距离是否不小于叶子结点;若未查询过的分支的结点与各个第二原始点之间的距离小于叶子结点,则判定各个第二原始点未查询过的分支的结点为最近点。
第二配准模块508还可用于将未查询过的分支的各个结点按照配准维度的值与各个第二原始点的接近程度排序,获得优先级结点序列;根据优先级结点序列依次查询高维索引二叉树上各个第二原始点未查询过的分支的各个结点,判断未查询过的分支的各个结点是否与各个第二原始点之间的距离是否不小于叶子结点。
图6是根据一示例性实施例示出的一种可用于可移动设备定位数据处理系统的电子设备的框图。需要说明的是,图6示出的设备仅以计算机系统为示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有设备600操作所需的各种程序和数据。CPU601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本公开的系统中限定的上述功能。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可 读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括数据获取模块、特征提取模块、第一配准模块、第二配准模块和模型获得模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,数据获取模块还可以被描述为“向所连接的服务器端获取点集数据的模块”。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:获取通过可移动设备测量物体表面得到的第一原始点集和目标点集;从第一原始点集中提取特征点,获得原始关键点集;从目标点集中提取特征点,获得目标关键点集;对原始关键点集和目标关键点集进行第一配准操作,获得第一模型变换参数;将第一原始点集通过第一模型变换参数进行变换,获得第二原始点集;对第二原始点集和目标点集进行第二配准操作,获得第二模型变换参数;根据第一模型变换参数和第二模型变换参数获得第三模型变 换参数,第三模型变换参数用于通过配准第一原始点集和目标点集,使可移动设备获得物体表面的数据以便定位。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (10)

  1. 一种可移动设备定位数据处理方法,其中,包括:
    获取通过可移动设备测量物体表面得到的第一原始点集和目标点集;
    从所述第一原始点集中提取特征点,获得原始关键点集;
    从所述目标点集中提取特征点,获得目标关键点集;
    对所述原始关键点集和所述目标关键点集进行第一配准操作,获得第一模型变换参数;
    将所述第一原始点集通过所述第一模型变换参数进行变换,获得第二原始点集;
    对所述第二原始点集和所述目标点集进行第二配准操作,获得第二模型变换参数;
    根据所述第一模型变换参数和第二模型变换参数获得第三模型变换参数,所述第三模型变换参数用于通过配准第一原始点集和所述目标点集,使所述可移动设备获得所述物体表面的数据以便定位。
  2. 根据权利要求1所述的方法,其中,所述对所述原始关键点集和所述目标关键点集进行第一配准操作,获得第一模型变换参数,包括:
    获得所述原始关键点集和所述目标关键点集中的最近点对,所述最近点对包括所述原始关键点集中的一个原始关键点和所述目标关键点集中的一个目标关键点,所述一个原始关键点和所述一个目标关键点之间的距离小于或等于第一预设阈值;
    根据所述最近点对获得第一模型变换参数。
  3. 根据权利要求2所述的方法,其中,所述获得所述原始关键点集和所述目标关键点集中的最近点对,包括:获得所述原始关键点集和所述目标关键点集中的多个最近点对;
    所述根据所述最近点对获得第一模型变换参数,包括:
    获得与所述多个最近点对对应的多个候选模型变换参数;
    对于所述多个最近点对中的各个最近点对,计算所述原始关键点集中除所述最近点对中的所述一个原始关键点外的其他各个原始关键点经过与所述最近点对对应的候选模型变换参数变换后与所述最近点对中的所述一个目标关键点的变换误差;
    获得与所述各个最近点对对应的所述变换误差小于或等于第二预设阈值的其他原始关键点的数量;
    选取所述变换误差小于或等于第二预设阈值的其他原始关键点的数量最多的最近点对对应的候选模型变换参数为所述第一模型变换参数。
  4. 根据权利要求1所述的方法,其中,所述从第一原始点集中提取特征点,获得原始关键点集;从目标点集中提取特征点,获得目标关键点集,包括:
    将所述第一原始点集所构成的空间划分为多个第一预设边长的体素格;
    计算所述多个第一预设边长的体素格的各个体素格中包含的原始点的重心,所述各个体素格的重心的集合为所述原始关键点集;
    将所述第一目标点集所构成的空间划分为多个第二预设边长的体素格;
    计算所述多个第一预设边长的体素格的各个体素格中包含的目标点的重心,所述各个体素格的重心的集合为所述目标关键点集。
  5. 根据权利要求1所述的方法,其中,所述对所述第二原始点集和所述目标点集进行第二配准操作,获得第二模型变换参数包括:
    计算所述目标点集中的各个目标点在各个维度上的方差;
    选取方差最大的维度为配准维度;
    构建所述目标点集在所述配准维度的高维索引二叉树;
    通过所述高维索引二叉树查找所述第二原始点集中的各个第二原始点在所述目标点集中的最近点;
    分别计算所述各个第二原始点与对应的所述最近点之间的距离;
    选取所述第二原始点集中与对应的所述最近点之间的距离最小的第二原始点与对应的最近点的模型变换参数为所述第二模型变换参数。
  6. 根据权利要求5所述的方法,其中,所述通过所述高维索引二叉树查找所述第二原始点集中的各个第二原始点在所述目标点集中的最近点,包括:
    将所述各个第二原始点从所述高维索引二叉树的根结点开始,根据所述各个第二原始点与所述高维索引二叉树的各个结点的比较结果向下查询所述高维索引二叉树,直至到达叶子结点;
    判断所述高维索引二叉树上所述各个第二原始点未查询过的分支的结点与所述各个第二原始点之间的距离是否不小于所述叶子结点;
    若所述未查询过的分支的结点与所述各个第二原始点之间的距离小于所述叶子结点,则判定所述各个第二原始点未查询过的分支的结点为所述最近点。
  7. 根据权利要求6所述的方法,其中,所述判断所述高维索引二叉树上所述各个第二原始点未查询过的分支的结点与所述各个第二原始点之间的距离是否不小于所述叶子结点,包括:
    将所述未查询过的分支的各个结点按照所述配准维度的值与所述各个第二原始点的接近程度排序,获得优先级结点序列;
    根据所述优先级结点序列依次查询所述高维索引二叉树上所述各个第二原始点未查询过的分支的各个结点,判断所述未查询过的分支的各个结点是否与所述各个第二原始点之间的距离是否不小于所述叶子结点。
  8. 一种可移动设备定位数据处理装置,其中,包括:
    数据获取模块,用于获取通过可移动设备测量物体表面得到的第一原始点集和目标点集;
    特征提取模块,用于从所述第一原始点集中提取特征点,获得原始关键点集;
    特征提取模块,还用于从所述目标点集中提取特征点,获得目标关键点集;
    第一配准模块,用于对所述原始关键点集和所述目标关键点集进行第一配准操作,获得第一模型变换参数;
    第一配准模块,还用于将所述第一原始点集通过所述第一模型变换参数进行变换,获得第二原始点集;
    第二配准模块,用于对所述第二原始点集和所述目标点集进行第二配准操作,获得第二模型变换参数;
    模型获得模块,用于根据所述第一模型变换参数和第二模型变换参数获得第三模型变换参数,所述第三模型变换参数用于通过配准第一原始点集和所述目标点集,使所述可移动设备获得所述物体表面的数据以便定位。
  9. 一种设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,其中,所述处理器执行所述可执行指令时实现如权利要求1-7任一项所述的方法。
  10. 一种计算机可读存储介质,其上存储有计算机可执行指令,其中,所述可执行指令被处理器执行时实现如权利要求1-7任一项所述的方法。
PCT/CN2020/132929 2019-12-11 2020-11-30 可移动设备定位数据处理方法、装置、设备及存储介质 WO2021115154A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/757,150 US11574417B2 (en) 2019-12-11 2020-11-30 Portable device positioning data processing method and apparatus, device, and storage medium
EP20897909.6A EP4075383A4 (en) 2019-12-11 2020-11-30 METHOD FOR PROCESSING POSITIONING DATA OF A PORTABLE DEVICE, DEVICE AND STORAGE MEDIUM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911269684.4A CN112950706B (zh) 2019-12-11 2019-12-11 可移动设备定位数据处理方法、装置、设备及存储介质
CN201911269684.4 2019-12-11

Publications (1)

Publication Number Publication Date
WO2021115154A1 true WO2021115154A1 (zh) 2021-06-17

Family

ID=76234227

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/132929 WO2021115154A1 (zh) 2019-12-11 2020-11-30 可移动设备定位数据处理方法、装置、设备及存储介质

Country Status (4)

Country Link
US (1) US11574417B2 (zh)
EP (1) EP4075383A4 (zh)
CN (1) CN112950706B (zh)
WO (1) WO2021115154A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104778688A (zh) * 2015-03-27 2015-07-15 华为技术有限公司 点云数据的配准方法及装置
CN109087342A (zh) * 2018-07-12 2018-12-25 武汉尺子科技有限公司 一种基于特征匹配的三维点云全局配准方法及系统
EP3451291A1 (en) * 2017-09-01 2019-03-06 Tata Consultancy Services Limited Systems and methods for shape constrained 3d point cloud registration
CN109767463A (zh) * 2019-01-09 2019-05-17 重庆理工大学 一种三维点云自动配准方法
CN109887015A (zh) * 2019-03-08 2019-06-14 哈尔滨工程大学 一种基于局部曲面特征直方图的点云自动配准方法
CN110175954A (zh) * 2019-05-29 2019-08-27 西安邮电大学 改进的icp点云快速拼接方法、装置、电子设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385748B (zh) * 2010-08-31 2013-12-25 上海微创医疗器械(集团)有限公司 一种图像配准方法
EP3444780A1 (de) * 2017-08-18 2019-02-20 a.tron3d GmbH Verfahren zum registrieren von wenigstens zwei verschiedenen 3d-modellen
CN107590827A (zh) * 2017-09-15 2018-01-16 重庆邮电大学 一种基于Kinect的室内移动机器人视觉SLAM方法
CN109658515B (zh) * 2017-10-11 2022-11-04 阿里巴巴集团控股有限公司 点云网格化方法、装置、设备及计算机存储介质
CN109345578B (zh) * 2018-10-15 2021-05-11 深圳一步智造科技有限公司 基于贝叶斯优化的点云配准方法、系统及可读存储介质
CN109934859B (zh) * 2019-03-18 2023-03-24 湖南大学 一种基于特征增强多维权重描述子的icp配准方法
CN110363800B (zh) * 2019-06-19 2021-08-13 西安交通大学 一种基于点集数据与特征信息相融合的精确刚体配准方法
KR102525281B1 (ko) * 2020-11-12 2023-04-25 네이버랩스 주식회사 이미지 기반 측위 방법 및 시스템

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104778688A (zh) * 2015-03-27 2015-07-15 华为技术有限公司 点云数据的配准方法及装置
EP3451291A1 (en) * 2017-09-01 2019-03-06 Tata Consultancy Services Limited Systems and methods for shape constrained 3d point cloud registration
CN109087342A (zh) * 2018-07-12 2018-12-25 武汉尺子科技有限公司 一种基于特征匹配的三维点云全局配准方法及系统
CN109767463A (zh) * 2019-01-09 2019-05-17 重庆理工大学 一种三维点云自动配准方法
CN109887015A (zh) * 2019-03-08 2019-06-14 哈尔滨工程大学 一种基于局部曲面特征直方图的点云自动配准方法
CN110175954A (zh) * 2019-05-29 2019-08-27 西安邮电大学 改进的icp点云快速拼接方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4075383A4

Also Published As

Publication number Publication date
EP4075383A1 (en) 2022-10-19
CN112950706A (zh) 2021-06-11
CN112950706B (zh) 2023-11-03
EP4075383A4 (en) 2023-12-27
US11574417B2 (en) 2023-02-07
US20220414929A1 (en) 2022-12-29

Similar Documents

Publication Publication Date Title
Tau et al. Dense correspondences across scenes and scales
WO2016119117A1 (en) Localization and mapping method
JP5563494B2 (ja) 対応参照画像検索装置及び方法、コンテンツ重畳装置、システム、及び方法、並びにコンピュータプログラム
JP2013025799A (ja) 画像検索方法、システム、及びプログラム
WO2023221790A1 (zh) 图像编码器的训练方法、装置、设备及介质
CN106709870B (zh) 一种近景影像直线段匹配方法
Song et al. Fast estimation of relative poses for 6-dof image localization
Wang et al. Fast SIFT feature matching algorithm based on geometric transformation
CN114565916A (zh) 目标检测模型训练方法、目标检测方法以及电子设备
JP7430243B2 (ja) 視覚的測位方法及び関連装置
CN113793370B (zh) 三维点云配准方法、装置、电子设备及可读介质
WO2021115154A1 (zh) 可移动设备定位数据处理方法、装置、设备及存储介质
CN111291611A (zh) 一种基于贝叶斯查询扩展的行人重识别方法及装置
CN111488479A (zh) 超图构建方法、装置以及计算机系统和介质
CN114972460A (zh) 一种结合图特征上下文匹配的点云配准方法
Bu et al. Shift-invariant ring feature for 3D shape
CN116295466A (zh) 地图生成方法、装置、电子设备、存储介质、及车辆
Xiao et al. Soft decision optimization method for robust fundamental matrix estimation
CN109543054B (zh) 一种基于视图的特征降维三维模型检索方法
WO2021223677A1 (en) Dense 3d modelling method for ifc bim object production from rgbd videos
Liu et al. Accurate estimation of feature points based on individual projective plane in video sequence
CN111292365B (zh) 生成深度图的方法、装置、电子设备和计算机可读介质
Li et al. Multi-spectral image level-by-level registration algorithm based on A-KAZE feature
CN110019982B (zh) 节点坐标的确定方法以及装置
Ye et al. Mismatches removal in unmanned aerial vehicle image registration using density based method

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020897909

Country of ref document: EP

Effective date: 20220711