Point cloud data matching method, matching device, and program

By generating reduced input models and iteratively adjusting positions and orientations, the method achieves high-speed and accurate alignment of point cloud data, addressing inefficiencies in existing methods.

JP7615986B2Active Publication Date: 2025-01-17TOYOTA JIDOSHA KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2021154215
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-09-22
Publication Date
2025-01-17
Estimated Expiration
2041-09-22

AI Technical Summary

Technical Problem

Existing point cloud data matching methods are inefficient and lack accuracy in processing speed and alignment.

Method used

A method and device that generate reduced input models, such as ellipsoidal or planar models, from point cloud data, extract relevant models based on shape information, and iteratively adjust positions and orientations to minimize cost, using techniques like ICP and NDT for high-speed and accurate alignment.

Benefits of technology

Enables high-speed and high-accuracy matching of point cloud data by reducing computational load through model abstraction and selective extraction, ensuring precise alignment of input and reference models.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007615986000001
    Figure 0007615986000001
  • Figure 0007615986000002
    Figure 0007615986000002
  • Figure 0007615986000003
    Figure 0007615986000003
Patent Text Reader

Abstract

To provide a matching device, a matching method, and a program capable of performing matching processing at high speed and high accuracy.SOLUTION: A matching device includes: a generation unit 110 for generating an input model in which an amount of data of point group data is reduced to generate an input model group including a plurality of the input models; an extraction unit 120 for extracting part of input models from the input model group according to shape information of the input model; a calculation unit for calculating cost by comparing the extracted extraction model with a reference model based on reference point group data; a determination unit for determining whether or not the cost is converged; and a change unit for changing a position and attitude in a direction of reducing the cost when the cost is not converged.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a point cloud data matching method, a matching device, and a program. [Background technology]

[0002] ICP (Iterative Closest Point) is used as a method for aligning point cloud data. ICP is a method for calculating the relative position and orientation by adjusting the input point cloud and the position and orientation so that the input point cloud and the reference point cloud match. For example, ICP is used for estimating the self-position of a car. The input point cloud is point cloud data acquired from a LiDAR (Light Detection And Ranging, or Laser Imaging Detection And Ranging) installed in the car. In addition, a city map is represented as a point cloud and is provided as reference point cloud data.

[0003] Patent Document 1 discloses a technology for estimating self-location using NDT (Normal Distribution Transform). The modeling device of Patent Document 1 applies voxel division to point cloud data and models each voxel. Then, self-location estimation is performed using the modeled map point cloud and sensor point cloud. In addition, the data distribution of the voxel point cloud is represented by an ellipsoid (Fig. 1). Furthermore, the point cloud in a subvoxel obtained by subdividing the voxel is represented by a model. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2019-101885 A Summary of the Invention [Problem to be solved by the invention]

[0005] When matching point cloud data in this way, faster and more accurate processing is desired.

[0006] The present disclosure has been made to solve such problems, and provides a matching device, a matching method, and a program that are capable of performing matching processing at high speed and with high accuracy. [Means for solving the problem]

[0007] The point cloud data matching device in this embodiment includes a generation unit that generates an input model in which the amount of data of the point cloud data is reduced, and generates an input model group including a plurality of the input models; an extraction unit that extracts a portion of the input models from the input model group according to shape information of the input models; a calculation unit that compares the extracted extraction model with a reference model based on reference point cloud data to calculate a cost; and a determination unit that determines whether the cost has converged. and a changing unit that changes the position and orientation in a direction that reduces the cost when the cost has not converged.

[0008] In the above matching device, the extraction section may determine the extraction model depending on a direction of the input model.

[0009] In the above matching device, the extraction section may determine the extraction model in accordance with a distance between the input models.

[0010] In the above matching device, the input model may be an ellipsoid model, and the ellipsoid model may be generated by grouping points included in a voxel.

[0011] In the above matching device, the input model may be a planar model, and the planar model may be generated by grouping a plurality of points in the vicinity together.

[0012] The point cloud data matching method in this embodiment includes the steps of generating an input model in which the amount of data of the point cloud data is reduced, and generating an input model group including a plurality of the input models, extracting some input models from the input model group according to shape information of the input models included in the input model group, comparing the extracted extraction model with a reference model based on reference point cloud data to calculate a cost, determining whether the cost has converged, and if the cost has not converged, changing the position and orientation in a direction to reduce the cost.

[0013] In the above matching method, the extraction model may be determined according to a direction of the input model.

[0014] In the above matching method, the extraction model may be determined according to a distance between the input models.

[0015] In the above matching method, the input model may be an ellipsoid model, and the ellipsoid model may be generated by grouping points included in a voxel together.

[0016] In the above matching method, the input model may be a planar model, and the planar model may be generated by grouping a plurality of points in the vicinity together.

[0017] The point cloud data program in this embodiment is a program that causes a computer to execute a point cloud data matching method, the matching method including the steps of generating an input model in which the amount of data of the point cloud data is reduced, and generating an input model group including a plurality of the input models, extracting a portion of the input models from the input model group according to shape information of the input models included in the input model group, comparing the extracted extraction model with a reference model based on reference point cloud data to calculate a cost, determining whether the cost has converged, and if the cost has not converged, changing the position and orientation in a direction to reduce the cost.

[0018] In the above program, the extraction model may be determined in accordance with a direction of the input model.

[0019] In the above matching method, the extraction model may be determined according to a distance between the input models.

[0020] In the above matching method, the input model may be an ellipsoid model, and the ellipsoid model may be generated by grouping points included in a voxel together.

[0021] In the above matching method, the input model may be a planar model, and the planar model may be generated by grouping a plurality of points in the vicinity together. Effect of the Invention

[0022] The present disclosure makes it possible to provide a matching device, a matching method, and a program capable of performing matching processing at high speed and with high accuracy. [Brief description of the drawings]

[0023] [Figure 1] FIG. 1 is a block diagram illustrating a point cloud data matching device. [Diagram 2]2 is a schematic diagram showing an input model group M and a reference model group R in a plan view. FIG. [Diagram 3] 2 is a schematic diagram showing an extraction model group N and a reference model group R in a plan view. FIG. [Figure 4] FIG. 13 is a schematic diagram showing, in plan view, an extracted ellipsoid and a reference ellipsoid when the cost has converged; [Diagram 5] 13A and 13B are schematic diagrams illustrating a process performed when an extracted ellipsoid close in distance and direction is extracted. [Figure 6] 2 is a schematic diagram showing an input model group M and a reference model group R in a plan view. FIG. [Figure 7] 13A and 13B are diagrams for explaining a process in the case where an input ellipsoid in the shape of a long and thin rod is extracted. [Figure 8] 11A and 11B are diagrams for explaining a process when an input ellipsoid close to a sphere is extracted. [Figure 9] 4 is a flowchart showing a point cloud data matching method according to the present embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0024] The present invention will be described below through embodiments of the invention, but the invention according to the claims is not limited to the following embodiments. Furthermore, not all of the configurations described in the embodiments are necessarily essential as means for solving the problems.

[0025] (System Configuration) 1 is a block diagram showing the configuration of a matching device 100 according to an embodiment and a system 1 thereof. The system 1 includes a sensor 2 and the matching device 100. The matching device 100 includes a generation unit 110, an extraction unit 120, a cost calculation unit 130, a position and orientation modification unit 140, and a convergence determination unit 150.

[0026] The sensor 2 is, for example, a LiDAR distance measurement sensor. The sensor 2 measures the distance to nearby objects and people (hereinafter collectively referred to as nearby objects). Specifically, the sensor 2 includes a laser light source that generates laser light and a photodetector that detects the laser light reflected by the nearby objects. The sensor 2 measures the distance to the nearby objects based on the round-trip time it takes for the laser light to reflect off the nearby objects and return to the sensor 2.

[0027] Furthermore, the sensor 2 includes a scanning optical system that scans the laser light, or a mechanism that rotates the optical module. The sensor 2 can acquire point cloud data by changing the emission direction of the laser light. Each point of the point cloud data indicates the distance from the sensor 2 to a surrounding object. That is, the sensor 2 measures the distance to the surrounding object for each direction to measure the point cloud data. The sensor 2 outputs the point cloud data to the matching device 100. Each point of the point cloud data has three-dimensional coordinate information. That is, the coordinates of each point are indicated in a three-dimensional orthogonal coordinate system or a polar coordinate system. The sensor 2 is not limited to a lidar, and may be any sensor that can acquire point cloud data.

[0028] The matching device 100 acquires point cloud data acquired by the sensor 2 and records it in a memory or the like. The point cloud data input to the matching device 100 is also referred to as an input point cloud. The matching device 100 uses a Generalized Iterative Closest Point (GICP) algorithm, a Normal Distribution Transform (NDT), or the like to find a position and orientation that matches an input model obtained by abstracting the input point cloud with a reference model obtained by abstracting the reference point cloud. In the following description, an example using NDT that abstracts point cloud data using an ellipsoid model will be described.

[0029] The generation unit 110 generates an input model in which the number of data items in the input point cloud data is reduced, and generates an input model group including a plurality of input models. By using an input model that represents the point cloud, the amount of data processing can be reduced. This enables high-speed processing. Here, the input model is an ellipsoid model. The input model group includes two or more ellipsoid models (hereinafter also referred to as input ellipsoids). The generation unit 110 generates the input ellipsoid by modeling a plurality of points. The generation unit 110 generates the input ellipsoid by abstracting the input point cloud.

[0030] For example, the generation unit 110 divides the sensing space into a plurality of voxels. For example, the generation unit 110 divides the space by treating a 1 m cube three-dimensional space as one voxel. The generation unit 110 generates one ellipsoid model by treating the input points included in one voxel as one group (one point set). The generation unit 110 approximates an input ellipsoid with the input points included in each voxel. The input ellipsoid is an input model that represents the input points included in the voxel. The input points included in one voxel are expressed by one input ellipsoid.

[0031] The generating unit 110 performs principal component analysis on the collected input point group to convert the point group into an ellipsoid. The generating unit 110 uses the principal component analysis to generate an input ellipsoid consisting of three principal axes. For example, the axial directions of the first principal component to the third principal component correspond to the axes of the ellipsoid. Furthermore, the first principal component having the greatest variance corresponds to the major axis of the input ellipsoid. The generating unit 110 generates an input ellipsoid for each voxel. That is, one input ellipsoid is generated from one voxel. The multiple input ellipsoids generated by the generating unit 110 constitute an input model group.

[0032] The input ellipsoid is a spheroid obtained by rotating the axis of an ellipse. The ellipsoid may be a spheroid obtained by rotating an ellipse around its major axis, or may be a spheroid obtained by rotating an ellipse around its minor axis. In this way, the input point cloud is represented by the input ellipsoid. In other words, shape information indicating the shape of the input ellipsoid changes according to the three-dimensional coordinates of the input point cloud.

[0033] The extraction unit 120 extracts some input models from the input model group. That is, the extraction unit 120 thins out the input ellipsoids included in the input model group, thereby extracting some input ellipsoids. The input ellipsoid extracted by the extraction unit 120 is referred to as an extracted ellipsoid (or an extracted model).

[0034] FIG. 2 is a schematic diagram of an input model group M and a reference model group R. FIG. 2 shows an input ellipsoid group generated as the input model group M. Specifically, the input model group M has seven input ellipsoids M1 to M7. Also, the reference model group R has eleven reference ellipsoids R1 to R11. Here, the input ellipsoids M1 to M7 and the reference ellipsoids R1 to R11 are shown in a planar manner. That is, the input ellipsoids M1 to M7 and the reference ellipsoids R1 to R11 are shown as ellipses.

[0035] The reference models are generated based on reference point cloud data such as map information. In other words, the reference point cloud data is divided into voxels, and the reference points included in each voxel are subjected to principal component analysis to obtain the reference models. For example, the reference point cloud data and the reference models are stored in advance in a memory or the like.

[0036] Fig. 3 is a schematic diagram showing, in a plan view, extraction models extracted by the extraction unit 120. Here, the extraction unit 120 extracts three input ellipsoids M1, M3, and M6 from the seven input ellipsoids M1 to M7 shown in Fig. 2 as extraction models (shown as extracted ellipsoids N1, N3, and N6 in Fig. 3). That is, the extraction unit 120 thins out the input ellipsoids M2, M4, M5, and M7. Note that a model group consisting of the extracted ellipsoids N1, N3, and N6 is referred to as an extracted model group N.

[0037] The cost calculation unit 130 compares the extraction model group N with the reference model group R to calculate the cost. For example, the cost calculation unit 130 searches for the closest reference ellipsoid (hereinafter also referred to as the target reference ellipsoid) for each of the extraction ellipsoids N1, N3, and N6. The target reference ellipsoid is the reference ellipsoid that is closest to the extraction ellipsoid among the reference ellipsoids included in the reference model group. Therefore, one target reference ellipsoid is specified for one extraction ellipsoid. For example, in FIG. 4, the reference ellipsoid R2 that is closest to the extraction ellipsoid N1 is the target reference ellipsoid of the extraction ellipsoid N1.

[0038] The cost calculation unit 130 calculates the distance between the extracted ellipsoid and the target reference ellipsoid as the cost. That is, the cost calculation unit 130 compares the extracted ellipsoid with the target reference ellipsoid and calculates the cost according to the distance between the two ellipsoids. The distance between the two ellipsoids is not only the straight-line distance but also the distance taking into account the shape of the ellipsoid. For example, the cost calculation unit 130 can calculate the distance between the ellipsoids from a feature vector indicating the characteristics of the ellipsoid. The cost between the extracted ellipsoid and the target reference ellipsoid that face in different directions is large. On the other hand, the cost between the extracted ellipsoid and the target reference ellipsoid that face in the same direction is small. The cost calculation unit 130 calculates the distance between the ellipsoids for each extracted ellipsoid and adds them together to obtain the cost.

[0039] In the example shown in FIG. 3, for each of the extracted ellipsoids N1, N3, and N6, the cost calculation unit 130 calculates the distance to the nearest target reference ellipsoid. As a result, three distances are calculated. The cost calculation unit 130 calculates the cost between the extracted model group N and the reference model group R by adding the three distances. Note that the cost calculation unit 130 may calculate the cost based on the Euclidean distance or norm between the ellipsoids. Also, the cost calculation unit 130 may calculate the cost based on the distance between feature amount vectors indicating the features of the ellipsoids.

[0040] The position and orientation transformation unit 140 changes the relative positions and orientations of the reference model group R and the extraction model group N. For example, when expressed in a three-dimensional orthogonal coordinate system, the position and orientation transformation unit 140 changes the translation positions in three axial directions and the rotation positions (orientations) about the three axes of the extraction model group N. Alternatively, the position and orientation transformation unit 140 may change the translation positions in three axial directions and the rotation positions (orientations) about the three axes of the reference model group R.

[0041] The cost calculation unit 130 calculates the cost every time the position and orientation transformation unit 140 changes the position and orientation. That is, the cost calculation unit 130 calculates the cost for each iteration. The cost calculation unit 130 calculates the cost before and after the position and orientation is changed. The position and orientation transformation unit 140 changes the position and orientation in a direction that reduces the cost. For example, the position and orientation transformation unit 140 uses an optimization method such as a gradient method to change the position and orientation estimated value in a direction that reduces the cost. The matching device 100 iterates the cost calculation by the cost calculation unit 130 and the change of the position and orientation by the position and orientation transformation unit 140.

[0042] The convergence determination unit 150 determines whether the cost has converged. That is, the matching device 100 repeats the cost calculation and the change in position and orientation until the cost converges. For example, the convergence determination unit 150 compares the cost before and after the change in position and orientation to perform the convergence determination. The convergence determination unit 150 performs the iteration calculation until the difference in cost becomes equal to or smaller than a predetermined threshold. Alternatively, the convergence determination unit 150 repeats the change in position and orientation and the cost calculation until a specified number of iterations is reached.

[0043] The matching device 100 matches the reference model group R with the extraction model group N through iterative calculation. The matching device 100 sets the position and posture in which the reference model group R and the extraction model group N are matched as the matching position and posture of the input point group (input model group M) and the reference point group (reference model group R).

[0044] Figure 4 is a schematic diagram showing, in a plane, the reference model group R and the extracted model group N when the cost has converged. The cost of the extracted model group N and the reference model group R is minimized by iterating the cost calculation and the change in position and posture. The position and posture at which the cost is minimum (locally small) becomes the matching position and posture. Specifically, the position and posture of the extracted ellipsoid N1 approximately matches that of the target reference ellipsoid R2. The position and posture of the extracted ellipsoid N3 approximately matches that of the target reference ellipsoid R4, and the position and posture of the extracted ellipsoid N6 approximately matches that of the target reference ellipsoid R7.

[0045] In this way, cost calculation is performed for each iteration. Furthermore, the cost calculation unit 130 calculates the cost by calculating the distance for each ellipsoid. Therefore, the extraction unit 120 extracts some input ellipsoids from the input model group M as extracted ellipsoids, thereby reducing the calculation load. In other words, the number of models can be reduced, and the amount of calculation can be reduced. Matching of point cloud data can be performed with high accuracy. Matching processing can be performed at high speed and with high accuracy.

[0046] Furthermore, the extraction unit 120 extracts an input ellipsoid according to shape information indicating the shape of the input ellipsoid, etc. The shape information is information indicating the shape, position, orientation (axial direction), etc. of the input model, and is unique to each input ellipsoid. For example, a feature amount obtained from a group of points may be the shape information.

[0047] For example, the extraction unit 120 selects an extracted ellipsoid according to the orientation and position indicated by the shape information of the input ellipsoid. For example, the extraction unit 120 extracts an extracted ellipsoid so as to thin out input ellipsoids in nearby positions. The extraction unit 120 extracts an extracted ellipsoid so as to thin out input ellipsoids in similar orientations. In this way, it is possible to perform a more appropriate cost calculation. This point will be described with reference to FIG. 5.

[0048] Fig. 5 is a schematic diagram showing, in a plan view, an example in which input ellipsoids that are located close to each other and have the same orientation are extracted. Specifically, the extraction unit 120 extracts the input ellipsoids M1, M2, and M3 shown in Fig. 2 as extracted ellipsoids N1, N2, and N3. That is, the extraction unit 120 thins out the input ellipsoids M4 to M7 in Fig. 2. The extracted ellipsoids N1, N2, and N3 have approximately the same orientation and are located close to each other.

[0049] In this case, it becomes difficult for the matching device 100 to determine an appropriate matching position between the extraction model group N and the reference model group R. For example, in Fig. 5, the reference ellipsoids R1, R2, and R3 are regarded as target reference ellipsoids arranged closest to the extraction ellipsoids N1, N2, and N3, respectively. That is, the cost becomes minimum at a position and orientation other than the matching position and orientation shown in Fig. 5. Since the matching device 100 cannot obtain an appropriate matching position and orientation, the matching position and orientation of the point cloud data are calculated with a deviation.

[0050] Therefore, as shown in FIG. 4, it is preferable that the extraction unit 120 extracts input ellipsoids having different orientations. That is, the extraction unit 120 thins out input ellipsoids having a similar orientation to the extracted ellipsoid. The orientation of the input ellipsoid can be determined by the axial direction of the first principal component, etc. Furthermore, the extraction unit 120 extracts input ellipsoids that are located far apart. That is, the extraction unit 120 thins out input ellipsoids that are close to the selected extracted ellipsoid. The extraction unit 120 thins out input ellipsoids that are close in distance. For example, the distance between the input ellipsoids can be the Euclidean distance between the center of gravity or the center position of the input ellipsoid. In this way, an extracted ellipsoid suitable for matching can be extracted. Therefore, high matching accuracy can be obtained with high-speed processing.

[0051] Furthermore, the extraction unit 120 may select an input ellipsoid that is a long, thin rod or a flat input ellipsoid like a disk to extract as an extracted ellipsoid. On the other hand, an input ellipsoid that is close to a sphere has low value because it does not have orientation information. Therefore, the extraction unit 120 excludes input ellipsoids that are close to a sphere.

[0052] The extraction unit 120 selects an input ellipsoid with a higher value from the shape information of each input ellipsoid, and sets it as an extracted ellipsoid. For an input ellipsoid close to a sphere, the change in cost is small even when the orientation of the input ellipsoid is changed. Therefore, even when the position and orientation change unit 140 changes the relative orientation between the reference model group R and the extracted model group N, the change in cost is small. Therefore, there is a risk that the cost calculation will converge at an incorrect position and orientation.

[0053] Therefore, in this embodiment, the extraction unit 120 excludes input ellipsoids that are close to a sphere, which allows the convergence determination unit 150 to appropriately perform convergence determination. In this manner, the extraction unit 120 can extract an input ellipsoid according to shape information that represents the shape of the input ellipsoid. The matching device 100 can calculate an appropriate matching position and orientation. The shape information is a feature amount that represents the characteristics of a point set.

[0054] 6 is a plan view showing a reference model group R and an input model group M. The reference model group R has reference ellipsoids R1 and R2. The input model group M has input ellipsoids M1 and M2. Here, the reference ellipsoid R1 has a shape closer to a sphere than the reference ellipsoid R2. The input ellipsoid M1 has a shape closer to a sphere than the input ellipsoid M2.

[0055] Fig. 7 is a schematic diagram showing a matching position and orientation when an input ellipsoid M1 is extracted as an extracted ellipsoid N1. That is, in Fig. 7, the extraction unit 120 thins out input ellipsoids M2 that are close to a sphere. When an elongated extracted ellipsoid N1 is extracted, the input model group M and the reference model group R are appropriately matched. That is, in the matched position and orientation, the deviation between the input ellipsoids M1, M2 and the reference ellipsoids R1, R2 is small.

[0056] Fig. 8 is a schematic diagram showing a matching position and orientation when an input ellipsoid M2 is extracted as an extracted ellipsoid N2. That is, in Fig. 8, the extraction unit 120 thins out the long, thin rod-like input ellipsoid M1. If an extracted ellipsoid N2 close to a sphere (which is circular because it is shown in a planar view in Fig. 8) is extracted, there is a risk that an appropriate matching position and orientation will not be calculated.

[0057] 8, the cost calculation converges in a state where there is a large difference in the orientation between the input model group M and the reference model group R. That is, in Fig. 8, the positions and orientations of the extracted ellipsoid N2 and the reference ellipsoid R2 are almost the same, but the positions and orientations of the thinned input ellipsoid M2 and the reference ellipsoid R1 are significantly different. Therefore, the matching device 100 cannot calculate an appropriate matching position and orientation.

[0058] In this way, the extraction unit 120 selects an extraction model to be extracted according to the shape, position, orientation, etc. Therefore, it is possible to calculate the matching position and orientation appropriately. Furthermore, it is possible to further reduce the number of extraction models to be extracted, which further reduces the calculation load.

[0059] Hereinafter, the matching method (registration method) of point cloud data according to this embodiment will be described with reference to FIG. 9. FIG. 9 is a flowchart showing the matching method.

[0060] First, the generating unit 110 generates an input model group from point cloud data (S101). That is, the measurement space is divided into a plurality of voxels, and an input model is generated from the point cloud data included in the voxels. The input model can be, for example, an ellipsoid model. The generating unit 110 calculates an input ellipsoid for each voxel, thereby generating an input model group.

[0061] Next, the extraction unit 120 extracts a part of the input models to be extracted, which are included in the input model group (S102). For example, the extraction unit 120 extracts the input models based on shape information unique to each input model. That is, the extraction unit 120 extracts the input models based on the shape, position, orientation, eigenvalues, normal vectors, etc. of the input models. The input models extracted by the extraction unit 120 become the extracted models.

[0062] The cost calculation unit 130 compares the extraction model with the reference model to calculate the cost of the extraction model group (S103). Here, the cost calculation unit 130 searches for the nearest reference model for each extraction model and calculates the distance between the models. The distance here is a cost that changes depending on the orientation and shape of the model. Then, the cost between the reference model group and the extraction model group is calculated by accumulating the cost for each extraction model.

[0063] The convergence determination unit 150 determines whether the iterations of the cost calculation have converged (S104). If they have not converged (NO in S104), the position and orientation modification unit 140 modifies the positions and orientations of the extracted model group (S105). Then, the cost calculation unit 130 calculates the cost again using the modified positions and orientations.

[0064] If convergence has occurred (YES in S104), the matching process ends. For example, if the number of iterations reaches a predetermined value, the convergence determination unit 150 determines that convergence has occurred. Alternatively, if the change in cost has converged, the convergence determination unit 150 determines that convergence has occurred. In this way, it becomes possible to obtain an appropriate matching position and orientation through high-speed processing.

[0065] In the above embodiment, an example has been described in which an ellipsoid model is generated as the input model and the reference model, but the input model and the reference model are not limited to the ellipsoid model. The input model may be any model that can compress the amount of data from the point cloud data. For example, the input model and the reference model may be other models such as a planar model. The reference model is the same model as the input model.

[0066] In the case of GICP, the generating unit 110 generates a plane model by treating multiple points in the vicinity as a set of points. The generating unit 110 performs principal component analysis on a predetermined number of point cloud data. For example, the generating unit 110 calculates eigenvalues ​​by solving an eigenvalue problem of a variance-covariance matrix or a correlation matrix. The generating unit 110 generates a plane having a principal axis with the smallest eigenvalue as its normal line. The plane with the smallest sum of squared distances from each point becomes the plane model. In other words, the plane having a direction with the smallest variation (third principal component vector) as its normal line becomes the input model. The plane model is a plane that passes through the center of gravity of the point set. The plane model is a plane that includes the first principal component axis and the second principal component axis. Here, the generating unit 110 treats 20 nearby points as a set (one point set) and generates a plane model from the 20 point sets.

[0067] When a plane model is used as the input model, the extraction unit 120 may thin out plane models that are not planar. In other words, if the eigenvalue corresponding to the principal axis indicating the normal is equal to or greater than a certain value, the plane model is not planar, and the extraction unit 120 thins out the plane model. On the other hand, if the eigenvalue corresponding to the principal axis indicating the normal is less than a certain value, the plane model is planar, and the extraction unit 120 extracts the plane model. The generation unit 110 may include the eigenvalue in the shape information. Alternatively, the extraction unit 120 extracts the plane model according to the sum of the squared distances from the point group to the plane. The extraction unit 120 can extract the plane model according to the shape information of the plane model. The shape information of the plane model is obtained from a feature value representative of the point set. In other words, the extraction unit 120 can extract the plane model based on the feature value obtained from the point set.

[0068] Of course, the extraction unit 120 can extract the planar models based on shape information specific to each planar model. In this case, the shape information may include information indicating the center of gravity of a group of points. The extraction unit 120 then thins out planar models that have close center of gravity positions. Alternatively, the shape information may include information indicating the normal direction of the planar models. The extraction unit 120 may thin out planar models whose normal directions are close to parallel.

[0069] The above matching method can be implemented by a computer program or hardware. The matching device 100 includes a memory for storing the program, a processor for executing the program, and the like. The matching device 100 executes the program, thereby enabling the matching method according to the present embodiment to be performed.

[0070] A part or all of the above processes may be executed by a computer program. That is, the matching device 100 is controlled by a control computer that configures the matching device 100 executing the program. The above-mentioned program includes a group of instructions (or software code) that causes the computer to perform one or more functions described in the embodiment when the program is loaded into the computer. The program may be stored in a non-transitory computer-readable medium or a tangible storage medium. By way of example and not limitation, the computer-readable medium or tangible storage medium includes random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD) or other memory technology, CD-ROM, digital versatile disc (DVD), Blu-ray (registered trademark) disk or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device. The program may be transmitted on a temporary computer-readable medium or communication medium. By way of example and not limitation, the temporary computer-readable medium or communication medium includes electrical, optical, acoustic, or other forms of propagating signals.

[0071] The invention made by the inventor has been specifically described above based on an embodiment, but it goes without saying that the present invention is not limited to the above embodiment and can be modified in various ways without departing from the gist of the invention. [Explanation of symbols]

[0072] 1 System 2 Sensors 100 Matching Device 110 Generation part 120 Extraction part 130 Cost Accounting Department 140 Position and Attitude Change Section 150 Convergence judgment section

Claims

1. A generation unit that generates an input ellipsoid model by reducing the amount of data of point cloud data of an input point cloud acquired by a sensor that measures distances to surrounding objects, and generates an input ellipsoid model group including a plurality of the input ellipsoid models; an extraction unit that extracts some input ellipsoid models from the input ellipsoid model group as extracted ellipsoid models according to shape information of the input ellipsoid model, and generates an extracted ellipsoid model group including a plurality of the extracted ellipsoid models; a calculation unit that compares the extracted ellipsoid model with a reference ellipsoid model based on reference point cloud data to calculate a cost; A determination unit that determines whether the cost has converged; a change unit that changes the position and orientation in a direction that reduces the cost when the cost has not converged; The generation unit is The sensing space is divided into multiple voxels. A set of points that are a group of points included in one of the voxels is subjected to principal component analysis to generate an input ellipsoid model consisting of three principal axes; An input ellipsoid model group including a plurality of input ellipsoid models is generated by generating an input ellipsoid model for each voxel; the shape information is information indicating a shape, a position, and an orientation of the input ellipsoid model; the extraction unit extracts the extracted ellipsoid model in a manner of thinning out input ellipsoid models having a close position or orientation from among the input ellipsoids included in the input ellipsoid model group; A plurality of the reference ellipsoid models are included in a reference ellipsoid model group; the reference ellipsoid model is generated by dividing reference point cloud data of map information into voxels and performing principal component analysis on points included in one voxel in the reference point cloud data, and the reference ellipsoid model group is generated by performing the principal component analysis on each voxel; The calculation unit is searching for a reference ellipsoid model that is closest to the extracted ellipsoid model from among a plurality of reference ellipsoid models included in the reference ellipsoid model group; Identifying the searched reference ellipsoid model as a target reference ellipsoid model; Calculating a cost based on a distance between the target reference ellipsoid model and the extracted ellipsoid model; the change unit changes a relative translational position and a rotational position between the reference ellipsoid model group and the extracted ellipsoid model group in a three-dimensional coordinate system, thereby changing a position and orientation of the extracted ellipsoid model group with respect to the reference ellipsoid model group. Point cloud data matching device.

2. The point cloud data matching device as described in Claim 1, wherein the extraction unit extracts the input ellipsoid model so as to thin out input ellipsoid models that are close to a sphere.

3. A generation unit that generates an input plane model by reducing the amount of data of point cloud data of an input point cloud acquired by a sensor that measures distances to surrounding objects, and generates an input plane model group including a plurality of the input plane models; an extraction unit that extracts some input planar models from the input planar model group as extracted planar models according to shape information of the input planar models, and generates an extracted planar model group including a plurality of the extracted planar models; a calculation unit that compares the extracted extracted plane model with a reference plane model based on reference point cloud data to calculate a cost; A determination unit that determines whether the cost has converged; a change unit that changes the position and orientation in a direction that reduces the cost when the cost has not converged; The generation unit is A set of points, each of which is a predetermined number of points in the vicinity of the other points in the sensing space, is subjected to principal component analysis to generate a plane having a normal line parallel to the principal axis having the smallest eigenvalue; A plane that has the smallest total distance between each point included in the point set is generated as an input plane model; the shape information includes information indicating the eigenvalue, The extraction unit extracts the extracted plane model such that the input plane model having an eigenvalue equal to or greater than a certain value is thinned out, A plurality of the reference plane models are included in a reference plane model group, and the reference plane model is generated by performing principal component analysis on a group of a predetermined number of points that are in the vicinity of each other in the reference point cloud data of the map information; The calculation unit is A reference plane model that is closest to the extracted plane model is searched for from among a plurality of reference plane models included in the reference plane model group; Identifying the searched reference plane model as a target reference plane model; Calculating a cost based on a distance between the target reference planar model and the extracted planar model; A point cloud data matching device in which the change unit changes the position and orientation of the extracted planar model group relative to the reference planar model group by changing the relative translational position and rotational position of the reference planar model group and the extracted planar model group in a three-dimensional coordinate system.

4. A point cloud data matching device as described in Claim 3, wherein the extraction unit extracts the extracted plane model so as to thin out input plane models whose center of gravity positions of the point set are close.

5. A generation step of generating an input ellipsoid model by reducing the amount of data of point cloud data of an input point cloud acquired by a sensor that measures distances to surrounding objects, and generating an input ellipsoid model group including a plurality of the input ellipsoid models; an extraction step of extracting some input ellipsoid models from the input ellipsoid model group as extracted ellipsoid models according to shape information of the input ellipsoid model, to generate an extracted ellipsoid model group including a plurality of the extracted ellipsoid models; a calculation step of comparing the extracted ellipsoid model with a reference ellipsoid model based on reference point cloud data to calculate a cost; a determining step of determining whether the cost has converged; and if the cost has not converged, changing the position and orientation in a direction that reduces the cost, In the generating step, The sensing space is divided into multiple voxels. A set of points that are a group of points included in one of the voxels is subjected to principal component analysis to generate an input ellipsoid model consisting of three principal axes; An input ellipsoid model group including a plurality of input ellipsoid models is generated by generating an input ellipsoid model for each voxel; the shape information is information indicating a shape, a position, and an orientation of the input ellipsoid model; In the extracting step, the extracted ellipsoid model is extracted such that input ellipsoid models having a close position or orientation are thinned out from among the input ellipsoids included in the input ellipsoid model group; A plurality of the reference ellipsoid models are included in a reference ellipsoid model group; the reference ellipsoid model is generated by dividing reference point cloud data of map information into voxels and performing principal component analysis on points included in one voxel in the reference point cloud data, and the reference ellipsoid model group is generated by performing the principal component analysis on each voxel; In the calculation step, searching for a reference ellipsoid model that is closest to the extracted ellipsoid model from among a plurality of reference ellipsoid models included in the reference ellipsoid model group; Identifying the searched reference ellipsoid model as a target reference ellipsoid model; Calculating a cost based on a distance between the target reference ellipsoid model and the extracted ellipsoid model; A point cloud data matching method, in which the change step changes the position and orientation of the extracted ellipsoid model group relative to the reference ellipsoid model group by changing the relative translational position and rotational position of the reference ellipsoid model group and the extracted ellipsoid model group in a three-dimensional coordinate system.

6. A point cloud data matching method as described in claim 5, wherein in the extraction step, the input ellipsoid model is extracted so as to thin out input ellipsoid models that are close to a sphere.

7. A generation step of generating an input plane model by reducing the amount of point cloud data of an input point cloud acquired by a sensor that measures distances to surrounding objects, and generating an input plane model group including a plurality of the input plane models; an extraction step of extracting some input planar models from the input planar model group as extracted planar models according to shape information of the input planar models, and generating an extracted planar model group including a plurality of the extracted planar models; a calculation step of comparing the extracted plane model with a reference plane model based on reference point cloud data to calculate a cost; a determining step of determining whether the cost has converged; and if the cost has not converged, changing the position and orientation in a direction that reduces the cost, In the generating step, A set of points, each of which is a predetermined number of points in the vicinity of the other points in the sensing space, is subjected to principal component analysis to generate a plane having a normal line parallel to the principal axis having the smallest eigenvalue; A plane that has the smallest total distance between each point included in the point set is generated as an input plane model; the shape information includes information indicating the eigenvalue, In the extraction step, the extracted plane model is extracted so as to thin out the input plane model whose eigenvalue is equal to or greater than a certain value; A plurality of the reference plane models are included in a reference plane model group; The reference plane model is generated by performing a principal component analysis on a group of a predetermined number of points in the reference point cloud data of the map information that are in close proximity to each other; In the calculation step, A reference plane model that is closest to the extracted plane model is searched for from among a plurality of reference plane models included in the reference plane model group; Identifying the searched reference plane model as a target reference plane model; Calculating a cost based on a distance between the target reference planar model and the extracted planar model; A point cloud data matching method in which the change step changes the position and orientation of the extracted planar model group relative to the reference planar model group by changing the relative translational and rotational positions of the reference planar model group and the extracted planar model group in a three-dimensional coordinate system.

8. A point cloud data matching method as described in claim 7, wherein, in the extraction step, the extracted plane model is extracted so as to thin out input plane models whose center of gravity positions of the point set are close.

9. A program for causing a computer to execute a point cloud data matching method, a generation step of generating an input ellipsoid model by reducing the amount of point cloud data of an input point cloud acquired by a sensor that measures distances to surrounding objects, and generating an input ellipsoid model group including a plurality of the input ellipsoid models; an extraction step of extracting some input ellipsoid models from the input ellipsoid model group as extracted ellipsoid models according to shape information of the input ellipsoid model, to generate an extracted ellipsoid model group including a plurality of the extracted ellipsoid models; a calculation step of comparing the extracted ellipsoid model with a reference ellipsoid model based on reference point cloud data to calculate a cost; a determining step of determining whether the cost has converged; a changing step of changing the position and orientation in a direction in which the cost becomes smaller if the cost has not converged; In the generating step, The sensing space is divided into multiple voxels. A set of points that are a group of points included in one of the voxels is subjected to principal component analysis to generate an input ellipsoid model consisting of three principal axes; An input ellipsoid model group including a plurality of input ellipsoid models is generated by generating an input ellipsoid model for each voxel; the shape information is information indicating a shape, a position, and an orientation of the input ellipsoid model; In the extracting step, the extracted ellipsoid model is extracted such that input ellipsoid models having a close position or orientation are thinned out from among the input ellipsoids included in the input ellipsoid model group; A plurality of the reference ellipsoid models are included in a reference ellipsoid model group; the reference ellipsoid model is generated by dividing reference point cloud data of map information into voxels and performing principal component analysis on points included in one voxel in the reference point cloud data, and the reference ellipsoid model group is generated by performing the principal component analysis on each voxel; In the calculation step, searching for a reference ellipsoid model that is closest to the extracted ellipsoid model from among a plurality of reference ellipsoid models included in the reference ellipsoid model group; Identifying the searched reference ellipsoid model as a target reference ellipsoid model; Calculating a cost based on a distance between the target reference ellipsoid model and the extracted ellipsoid model; The change step is a program for changing the position and orientation of the extracted ellipsoid model group relative to the reference ellipsoid model group by changing the relative translational position and rotational position between the reference ellipsoid model group and the extracted ellipsoid model group in a three-dimensional coordinate system.

10. The program described in claim 9, wherein in the extraction step, the input ellipsoid model is extracted so as to thin out input ellipsoid models that are close to a sphere.

11. A program for causing a computer to execute a point cloud data matching method, a generation step of generating an input plane model by reducing the amount of point cloud data of an input point cloud acquired by a sensor that measures distances to peripheral objects, and generating an input plane model group including a plurality of the input plane models; an extraction step of extracting some input planar models from the input planar model group as extracted planar models according to shape information of the input planar models, and generating an extracted planar model group including a plurality of the extracted planar models; a calculation step of comparing the extracted plane model with a reference plane model based on reference point cloud data to calculate a cost; a determining step of determining whether the cost has converged; a changing step of changing the position and orientation in a direction in which the cost becomes smaller if the cost has not converged; In the generating step, A set of points, each of which is a predetermined number of points in the vicinity of the other points in the sensing space, is subjected to principal component analysis to generate a plane having a normal line parallel to the principal axis having the smallest eigenvalue; A plane that has the smallest total distance between each point included in the point set is generated as an input plane model; the shape information includes information indicating the eigenvalue, In the extraction step, the extracted plane model is extracted so as to thin out the input plane model whose eigenvalue is equal to or greater than a certain value; A plurality of the reference plane models are included in a reference plane model group; The reference plane model is generated by performing a principal component analysis on a group of a predetermined number of points in the reference point cloud data of the map information that are in close proximity to each other; In the calculation step, A reference plane model that is closest to the extracted plane model is searched for from among a plurality of reference plane models included in the reference plane model group; Identifying the searched reference plane model as a target reference plane model; Calculating a cost based on a distance between the target reference planar model and the extracted planar model; The change step is a program for changing the position and orientation of the extracted planar model group relative to the reference planar model group by changing the relative translational and rotational positions of the reference planar model group and the extracted planar model group in a three-dimensional coordinate system.

12. The program described in claim 11, wherein in the extraction step, the extracted plane model is extracted so as to thin out input plane models whose center of gravity positions of the point set are close.

Citation Information

Patent Citations

  • Image processing device, image processing program, and image processing method

    JP2018088209A

  • Modeling device, method and program

    JP2019101885A

  • Self position estimation device

    JP2019128705A

  • Resolution adaptive mesh that is generated using an intermediate implicit representation of a point cloud

    US20190035148A1