WO2017208394A1 - 位置合わせ装置、位置合わせ方法及び位置合わせプログラム - Google Patents
位置合わせ装置、位置合わせ方法及び位置合わせプログラム Download PDFInfo
- Publication number
- WO2017208394A1 WO2017208394A1 PCT/JP2016/066226 JP2016066226W WO2017208394A1 WO 2017208394 A1 WO2017208394 A1 WO 2017208394A1 JP 2016066226 W JP2016066226 W JP 2016066226W WO 2017208394 A1 WO2017208394 A1 WO 2017208394A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- feature
- cloud data
- point
- point cloud
- pair
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B21/00—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
- G01B21/02—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness
- G01B21/04—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness by measuring coordinates of points
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B21/00—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
- G01B21/20—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring contours or curvatures, e.g. determining profile
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Definitions
- the present invention relates to an alignment apparatus, an alignment method, and an alignment program for performing alignment between point cloud data indicating three-dimensional coordinates of a plurality of measurement points on a measurement target.
- a plurality of three-dimensional point group data can be obtained by photographing an object to be measured from different viewpoints using a stereo camera or the like.
- the three-dimensional point group data is point group data indicating the three-dimensional coordinates of a plurality of measurement points on the measurement target.
- the entire three-dimensional point group data to be measured is obtained. If the three-dimensional coordinates of the same measurement point are shifted, The shape of the measurement target obtained from the point cloud data is different from the actual shape of the measurement target. For this reason, in order to integrate a plurality of 3D point group data, it is necessary to align the plurality of 3D point group data.
- Patent Document 1 discloses an alignment apparatus that aligns two three-dimensional point cloud data.
- the alignment procedure of this alignment apparatus will be briefly described.
- the two three-dimensional point group data are assumed to be three-dimensional point group data A and three-dimensional point group data B.
- a plurality of feature points a are extracted from the three-dimensional point group data A, and a plurality of feature points b are extracted from the three-dimensional point group data B, respectively.
- the feature point is a measurement point that represents a feature of the shape of the object to be measured, and corresponds to, for example, a corner point of the object or a point belonging to the boundary.
- Three arbitrary feature points a are extracted from a plurality of feature points a to generate a triangle ⁇ a having the three feature points a as vertices. Also, from a plurality of feature points b, to extract any three feature points b, generates a triangular delta b whose vertices three feature points b.
- the conventional alignment system is configured as described above, between the plurality of triangular delta a plurality of triangular delta b, if the triangle shape is similar there are a plurality, corresponding relationship no triangular delta a triangle delta b is likely to be searched. If the triangle delta a triangle delta b no correspondence is searched, to produce an error in the combination of feature point pairs, decreases the accuracy of calculation of matrix used in the rigid body transformation, the position of the plurality of three-dimensional point group data There existed a subject that the alignment precision might deteriorate.
- the present invention has been made to solve the above-described problems, and an object thereof is to obtain an alignment apparatus, an alignment method, and an alignment program that can increase the alignment accuracy of a plurality of three-dimensional point cloud data.
- the alignment apparatus extracts a plurality of feature points from the first point cloud data indicating the three-dimensional coordinates of a plurality of measurement points on the measurement target, and calculates the three-dimensional coordinates of the plurality of measurement points on the measurement target.
- a plurality of feature points are extracted from the second point group data shown, and the correspondence relationship between the plurality of feature points extracted from the first point group data and the plurality of feature points extracted from the second point group data
- a pair search unit for searching for a pair of feature points, and a plurality of feature point pairs selected from the pair of feature points searched by the pair search unit, and the selected feature point pair
- a matrix for use in rigid transformation of the second point cloud data
- the rigid body conversion unit repeatedly performs a selection process of selecting a plurality of feature point pairs, and performs a calculation process of calculating a matrix and a rigid body conversion process of rigidly converting the second point cloud data. Since it is configured so as to be repeatedly performed, there is an effect that it is possible to improve the alignment accuracy of a plurality of three-dimensional point cloud data.
- FIG. FIG. 1 is a configuration diagram showing an alignment apparatus according to Embodiment 1 of the present invention
- FIG. 2 is a hardware configuration diagram of the alignment apparatus according to Embodiment 1 of the present invention.
- the three-dimensional sensor 1 observes three-dimensional point cloud data A (first point cloud data) indicating the three-dimensional coordinates of a plurality of measurement points on the measurement target, and also performs a plurality of measurements on the measurement target.
- This is a sensor that observes three-dimensional point group data B (second point group data) indicating the three-dimensional coordinates of a point.
- the three-dimensional point cloud data A and the three-dimensional point cloud data B are data observed from different viewpoints by the three-dimensional sensor 1. Alternatively, it is data observed at different times by the three-dimensional sensor 1.
- the three-dimensional point group data A and B may include color information or polygon information in addition to the three-dimensional coordinates (x, y, z) of a plurality of measurement points.
- the polygon information is information indicating an index of a three-dimensional point that is a vertex of each polygon.
- A may be referred to as target 3D point cloud data
- 3D point cloud data B may be referred to as source 3D point cloud data.
- the alignment device acquires the three-dimensional point cloud data A and B observed by the three-dimensional sensor 1, but the three-dimensional stored in the external storage device 2 is assumed.
- the point cloud data A and B may be acquired.
- the external storage device 2 is a storage device such as a hard disk that stores the three-dimensional point cloud data A and B to be aligned.
- the point cloud data reading unit 11 is realized by, for example, the point cloud data reading circuit 21 in FIG. 2, and performs a process of reading the 3D point cloud data A and B observed by the 3D sensor 1.
- the pair search unit 12 is realized by, for example, the pair search circuit 22 of FIG. 2, extracts a plurality of feature points a from the three-dimensional point cloud data A read by the point cloud data reading unit 11, and A plurality of feature points b are extracted from the three-dimensional point cloud data B read by the data reading unit 11, and a pair of feature points having a correspondence relationship between the plurality of feature points a and the plurality of feature points b is respectively searched. Perform the process.
- a pair of feature points is expressed as a feature point pair Pab.
- the rigid body conversion unit 13 is realized by, for example, the rigid body conversion circuit 23 of FIG. 2, and includes a memory 13a therein. Selecting rigid transformation unit 13 from among all the feature point pair P a-b which is searched by the pair searching unit 12, as a plurality of feature point pairs P a-b, for example, three feature point pair P a-b Perform the process. Rigid transformation unit 13 from the three feature point pairs P a-b was selected, to calculate the matrix G to be used for rigid transformation of the three-dimensional point group data B, by using the matrix G, the rigid three-dimensional point group data B Perform the conversion process.
- the point cloud data output unit 14 is realized by, for example, the point cloud data output circuit 24 of FIG. 2, and performs processing for storing the three-dimensional point cloud data B rigidly transformed by the rigid transformation unit 13 in the external storage device 2. carry out. Or the process which displays the three-dimensional point cloud data B rigid-transformed by the rigid-body conversion part 13 on the display apparatus 3 is implemented.
- the display device 3 is a display device such as a liquid crystal display, for example, and displays the three-dimensional point cloud data B output from the point cloud data output unit 14.
- each of the point cloud data reading unit 11, the pair search unit 12, the rigid body conversion unit 13, and the point cloud data output unit 14, which are components of the alignment device, is provided with dedicated hardware as illustrated in FIG. That is, what is realized by the point group data reading circuit 21, the pair search circuit 22, the rigid body conversion circuit 23, and the point group data output circuit 24 is assumed.
- the point cloud data reading circuit 21, the pair search circuit 22, the rigid body conversion circuit 23, and the point cloud data output circuit 24 are, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC ( An application specific integrated circuit (FPGA), a field-programmable gate array (FPGA), or a combination thereof is applicable.
- the constituent elements of the alignment device are not limited to those realized by dedicated hardware, and the alignment device may be realized by software, firmware, or a combination of software and firmware.
- Software and firmware are stored as programs in the memory of the computer.
- the computer means hardware that executes a program, and includes, for example, a CPU (Central Processing Unit), a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, a processor, a DSP (Digital Signal Processor), and the like.
- the memory of the computer is, for example, RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Memory).
- RAM Random Access Memory
- ROM Read Only Memory
- flash memory EPROM (Erasable Programmable Read Only Memory)
- EEPROM Electrical Erasable Programmable Memory
- FIG. 3 is a hardware configuration diagram of a computer when the alignment apparatus is realized by software, firmware, or the like.
- an alignment program for causing a computer to execute the processing procedures of the point cloud data reading unit 11, the pair search unit 12, the rigid body conversion unit 13, and the point cloud data output unit 14 May be stored in the memory 31, and the processor 32 of the computer may execute the alignment program stored in the memory 31.
- FIG. 4 is a flowchart showing the pair search processing procedure of the pair search unit 12 when the alignment apparatus is realized by software, firmware, or the like.
- FIG. 5 is a flowchart showing a rigid body conversion processing procedure of the rigid body converting unit 13 when the alignment apparatus is realized by software, firmware, or the like.
- FIG. 2 shows an example in which each component of the alignment apparatus is realized by dedicated hardware
- FIG. 3 shows an example in which the alignment apparatus is realized by software, firmware, etc.
- Some components in the combination apparatus may be realized by dedicated hardware, and the remaining components may be realized by software, firmware, or the like.
- the point cloud data reading unit 11 reads the 3D point cloud data A and B observed by the 3D sensor 1 and outputs the 3D point cloud data A and B to the pair search unit 12.
- the pair search unit 12 receives the three-dimensional point cloud data A and B from the point cloud data reading unit 11, the pair search unit 12 extracts a plurality of feature points a from the three-dimensional point group data A and the three-dimensional point group data B.
- a plurality of feature points b are extracted from (step ST1 in FIG. 4).
- the feature point is a measurement point that represents a feature of the shape of the object to be measured, and corresponds to, for example, a corner point of the object or a point belonging to the boundary.
- Non-Patent Document 1 Yong Zhong, “Intrinsic shape signatures: A shape descriptor for 3D object recognition”, IEEE, Proceedings of International Conference on Computer Vision Workshops, September 27, 2009, p. 689-696
- the pair search unit 12 calculates a feature vector Va representing the peripheral shape for each feature point a (FIG. 4). Step ST2). Further, the pair search unit 12, for each of the feature points b, calculates a feature vector V b representing the peripheral shape (step ST2 in FIG. 4).
- the feature vector is generally a multidimensional vector indicating the positional relationship of the feature point with respect to the measurement points existing around the feature point and the difference in the normal direction.
- the processing itself for calculating the feature vectors V a and V b is a well-known technique, and the description method of the feature vectors V a and V b is also a well-known technique.
- Non-Patent Document 2 a SHOT (Signature of History of Orientations) feature disclosed in Non-Patent Document 2 below is used as a feature vector.
- SHOT Signature of History of Orientations
- Pair search unit 12 calculates a feature vector V a with respect to a plurality of feature points a, calculating the feature vector V b to a plurality of feature points b, the feature vector V a at a plurality of feature points a, The similarity between the feature vector V a and the feature vector V b is calculated for each combination with the feature vector V b at a plurality of feature points b. Since the process for calculating the similarity between two feature vectors is a known technique, a detailed description thereof will be omitted.
- the pair search unit 12 compares each feature point a extracted from 3D point group data A, and the feature vector V a at the feature point a, the similarity between the feature vector V b at a plurality of feature points b and, in the feature vector V b at a plurality of feature points b, identifies the feature point b according to the highest similarity feature vector V b. Pair search unit 12, the most the degree of similarity is to identify the feature point b of the high feature vector V b, and the feature points a, determining its specific feature point b to the feature point pair P a-b (FIG. 4 step ST3).
- N is an integer of 3 or more.
- Rigid transformation unit 13 stores the N feature point pairs P a-b which is determined by the pair search unit 12 in an internal memory 13a.
- Rigid transformation unit 13, from the N feature point pairs P a-b are stored in the memory 13a, for example, selects three feature point pair P a-b (step ST11 in FIG. 5).
- the three feature point pairs P ab are randomly selected from the N feature point pairs P ab , but feature point pairs P ab of combinations not selected in the past are selected. Shall be.
- the three feature point pairs P ab are not limited to those randomly selected from the N feature point pairs P ab , but are selected according to a specific rule. There may be. For example, an aspect in which a feature point pair Pab having a high similarity calculated by the pair search unit 12 is preferentially selected may be considered.
- Rigid transformation unit 13 selecting the three feature point pair P a-b, as shown in the following formula (1), three-dimensional feature point a that is included in the three feature point pair P a-b
- Rigid transformation unit 13 the three-dimensional coordinates p b of the three-dimensional coordinates p a, i and the feature point b of the characteristic point a which is included in the three feature point pair P a-b, by defining a i, feature point a three-dimensional coordinates p a of the three-dimensional coordinates p b i and the feature point b, from i, to calculate the matrix G to be used for rigid transformation of the three-dimensional point group data B (step ST12 in FIG. 5).
- the matrix G used for the rigid body transformation is a matrix composed of a rotation matrix R that is a matrix for rotating the three-dimensional point group data B and a translation vector t that is a vector for translating the three-dimensional point group data B.
- the rigid body transformation unit 13 calculates the rotation matrix R and the translation vector t as the matrix G used for the rigid body transformation, but rigidly transforms the feature points b included in the three feature point pairs Pab.
- the rigid body transformation unit 13 calculates the rotation matrix R and the translation vector t as the matrix G used for the rigid body transformation, but rigidly transforms the feature points b included in the three feature point pairs Pab.
- Non-Patent Document 3 Edited by Yasushi Yagi et al., “Computer Vision Cutting-Edge Guide 3”, Adcom Media Co., Ltd., issued December 8, 2010, p. 36-37
- the rigid transformation unit 13 calculates a covariance matrix ⁇ for the three feature point pairs P ab as shown in the following equation (4).
- k t is the transpose of the vector k.
- Mu a is a three-dimensional coordinate p a, barycentric coordinates of the i
- mu b is 3-dimensional coordinates p b at three feature points b, barycentric coordinates of the i in the three feature points a.
- the rigid body transformation unit 13 calculates the rotation matrix R as shown in the following formula (8) by performing singular value decomposition on the covariance matrix ⁇ , and the following formula (
- the translation vector t is calculated as shown in 9). That is, the rigid transformation unit 13, by singular value decomposition covariance matrix sigma, assignment matrix U, since V t is determined in Equation (7) below, the matrix U, the V t in equation (8) below Thus, the rotation matrix R is calculated. Also, the translation vector t is calculated by substituting the calculated rotation matrix R into the following equation (9).
- det () is a symbol indicating a determinant.
- the rigid body conversion unit 13 calculates the rotation matrix R and the translation vector t as the matrix G used for the rigid body conversion, the rotation matrix R is used to rotate the three-dimensional point cloud data B of the source, and the translation vector t is converted to the translation vector t.
- the source three-dimensional point cloud data B is translated, and the source three-dimensional point cloud data B is rigidly transformed (step ST13 in FIG. 5).
- the rigid transformation unit 13 calculates the degree of coincidence S between the three-dimensional point cloud data B after the rigid transformation and the target three-dimensional point cloud data A (FIG. 5). Step ST14). That is, the rigid body conversion unit 13 extends from each feature point b included in the 3D point cloud data B after the rigid body conversion to the nearest feature point a included in the target 3D point cloud data A. , And the reciprocal of the average value of these distances is calculated as the matching degree S.
- H is the number of feature points b included in the three-dimensional point group data B after the rigid transformation.
- d (p b, i , A) is from the feature point b included in the 3D point cloud data B after the rigid transformation to the nearest feature point a included in the target 3D point cloud data A. It is expressed as the following formula (11).
- pa , j is the three-dimensional coordinates of a plurality of feature points a included in the three-dimensional point group data A.
- the calculation process of the degree of coincidence S may be the first calculation process.
- the degree of coincidence S is stored in the memory 13a, and the three-dimensional point cloud data B after the rigid transformation is stored in the memory 13a. If the calculation process of the coincidence degree S is the second or later calculation process, the rigid body conversion unit 13 compares the coincidence degree S calculated this time with the coincidence degree S stored in the memory 13a and calculates this time. If the degree of coincidence S is higher than the degree of coincidence S stored in the memory 13a (step ST15 in FIG.
- the coincidence degree S calculated this time is overwritten and saved in the memory 13a, and this rigid body transformation process is performed.
- the three-dimensional point cloud data B after rigid body transformation is overwritten and saved in the memory 13a (step ST16 in FIG. 5). If the coincidence degree S calculated this time is equal to or less than the coincidence degree S stored in the memory 13a, the three-dimensional point cloud data B after the rigid body transformation by the current rigid body transformation process is discarded. As a result, the degree of coincidence S stored in the memory 13a is updated to the highest degree of coincidence S among the coincidence degrees S calculated in the previous calculation processing, and is 3 after the rigid transformation stored in the memory 13a.
- the dimension point group data B is updated to the three-dimensional point group data B corresponding to the highest matching score S.
- the rigid body conversion unit 13 compares the number of trials C, which is the number of times the rigid body transformation process has been performed, with the set number of trials C ES (first threshold), which is a preset number of times, and the memory 13a. Is compared with a set matching degree S ES (second threshold) which is a matching degree set in advance.
- the set trial count C ES and the set match degree S ES vary depending on the number of data of the three-dimensional point cloud data. For example, the set trial count C ES may be 10 times, and the set match degree S ES is 1 / 10 cm is considered.
- step ST17 in FIG. 5 in the case of No
- the process returns to step ST11, the selection process of the feature point pair P a-b, calculation and rigid matrix G used in rigid transformation
- the conversion process is repeatedly performed (steps STST11 to ST16 in FIG. 5).
- the point group data output unit 14 When the point group data output unit 14 receives the three-dimensional point group data B after the rigid body conversion from the rigid body conversion unit 13, the point group data output unit 14 converts the three-dimensional point group data B after the rigid body conversion as the three-dimensional point group data B after the alignment. Store in the external storage device 2. Alternatively, the three-dimensional point cloud data B after the rigid transformation is displayed on the display device 3.
- the rigid transformation unit 13 repeatedly performs a selection process of selecting a plurality of feature point pairs to calculate a matrix G used for rigid transformation. And the rigid body transformation process for rigidly transforming the three-dimensional point cloud data B are performed repeatedly, so that the alignment accuracy of the three-dimensional point cloud data A and the three-dimensional point cloud data B can be improved. .
- rigid transformation unit 13 even when a plurality of feature point pairs P ab determined by the pair search unit 12 includes a feature point pair Pab having an error in combination, rigid transformation unit 13, it is possible to reduce the possibility of outputting the 3D point group data B after rigid body transformation using the matrix G calculated from the feature point pair P a-b there is an error, the three-dimensional point group data a And the alignment accuracy of the three-dimensional point cloud data B can be improved.
- the rigid transformation unit 13 selects three feature point pairs P ab from the N feature point pairs P ab searched by the pair search unit 12. and although not limited thereto, from among N feature point pairs P a-b, may be selected more than four feature point pairs P a-b.
- Embodiment 2 when the three feature point pairs P ab are selected from the N feature point pairs P ab searched by the pair search unit 12, the rigid body conversion unit 13 has three without determining the quality of the feature point pair P a-b, it showed calculates a matrix G to be used for rigid transformation from three feature point pairs P a-b, in the second embodiment, rigid transformation unit 15, to determine the quality of the three feature point pair P a-b, if not the result of the determination is out of the searched N feature point pairs P a-b by the pair search unit 12, What re-selects the three feature point pairs P ab will be described.
- FIG. 6 is a block diagram showing an alignment apparatus according to Embodiment 2 of the present invention
- FIG. 7 is a hardware block diagram of the alignment apparatus according to Embodiment 2 of the present invention.
- the rigid body conversion unit 15 is realized by, for example, the rigid body conversion circuit 25 of FIG. 7, and includes a memory 15a therein.
- the three feature point pair P a-b was selected, to calculate the matrix G to be used for rigid transformation of the three-dimensional point group data B, and the matrix G Using this, a process for converting the three-dimensional point cloud data B into a rigid body is performed.
- Rigid transformation unit 15 like the rigid transformation unit 13 of FIG. 1, to a final rigid body transformation results of the three-dimensional point group data B is obtained, repeating the selection process of selecting the three feature point pair P a-b
- the matrix calculation process and the rigid body transformation process of the three-dimensional point cloud data B are repeatedly performed.
- Rigid transformation unit 15 is different from the rigid transformation unit 13 of FIG. 1, to determine the quality of the three feature point pair P a-b selected. If the result is a result of the determination has been searched by the pair search unit 12 among N feature point pairs P a-b, carries out a process of re-selects three feature point pair P a-b.
- each of the point cloud data reading unit 11, the pair search unit 12, the rigid body conversion unit 15, and the point cloud data output unit 14, which are components of the alignment apparatus, includes dedicated hardware as illustrated in FIG. That is, what is realized by the point cloud data reading circuit 21, the pair search circuit 22, the rigid body conversion circuit 25, and the point cloud data output circuit 24 is assumed.
- the point group data reading circuit 21, the pair search circuit 22, the rigid body conversion circuit 25, and the point group data output circuit 24 are, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC, An FPGA or a combination thereof is applicable.
- the constituent elements of the alignment device are not limited to those realized by dedicated hardware, and the alignment device may be realized by software, firmware, or a combination of software and firmware.
- the alignment apparatus is realized by software, firmware, or the like
- an alignment program for causing a computer to execute the processing procedures of the point cloud data reading unit 11, the pair search unit 12, the rigid body conversion unit 15, and the point cloud data output unit 14 Is stored in the memory 31 shown in FIG. 3, and the processor 32 of the computer executes the alignment program stored in the memory 31.
- FIG. 8 is a flowchart showing a rigid body conversion processing procedure of the rigid body converting unit 15 when the alignment apparatus is realized by software, firmware, or the like. 8, the same reference numerals as those in FIG. 5 denote the same or corresponding parts.
- Rigid transformation unit 15 like the rigid transformation unit 13 of FIG. 1, and stores the searched N feature point pairs P a-b by the pair search unit 12 in an internal memory 15a.
- Rigid transformation unit 15, from the N feature point pairs P a-b are stored in the memory 15a, for example, selects three feature point pair P a-b (step ST11 in FIG. 8).
- Rigid transformation unit 15 selecting the three feature point pair P a-b, determines the quality of the three feature point pair P a-b. Quality determination at the three feature point pair P a-b, the position relationship between the three feature point pair P a-b is in the possible relationships to calculate the matrix G to be used for rigid transformation with high precision Whether or not. Rigid transformation unit 15, a specific determination of the acceptability of the three feature point pair P a-b, for example, makes a determination as shown below.
- Rigid transformation unit 15 and a triangle is a polygon whose vertices are three feature points a contained in three feature point pair P a-b, are included in the three feature point pair P a-b It is determined whether or not a triangle that is a polygon having three feature points b as vertices is similar. If it is determined that the two triangles are similar, the rigid body conversion unit 15 determines that the three feature point pairs Pab are good, and if it determines that the two triangles are not similar, 3 It is determined that one feature point pair P ab is negative.
- a method for determining similarity between two triangles by the rigid body conversion unit 15 will be described in detail.
- the rigid body conversion unit 15 obtains a difference between corresponding side lengths for each side corresponding to a triangle having three feature points a as apexes and a triangle having three feature points b as apexes.
- the rigid body conversion unit 15 determines whether or not the ratio of the difference with respect to the length of the longer side among the corresponding sides is within 10%.
- the rigid body conversion unit 15 determines that the two triangles are similar if the ratio of the difference is within 10% in all the three corresponding sides, and the ratio of the difference is determined in the three corresponding sides. If there is even one corresponding side exceeding 10%, it is determined that the two triangles are not similar.
- step ST21 determines that the three feature point pairs Pab are negative (in the case of step ST21: No in FIG. 8)
- the rigid body conversion unit 15 returns to the process of step ST11 and stores the N stored in the memory 15a. among the number of feature point pairs P a-b, reselect the three feature point pair P a-b (step ST11 in FIG. 8). At this time, the combination of the three feature point pairs P ab to be reselected is a combination that has not been selected in the past.
- step ST21 in FIG. 8: Yes the rigid body conversion unit 15 proceeds to step ST12.
- the subsequent processing contents are the same as those of the rigid body conversion unit 13 of FIG.
- rigid transformation unit 15 determines the acceptability of the three feature point pair P a-b, if not the result of the judgment is, the pair search unit Since the three feature point pairs P ab are reselected from the N feature point pairs P ab searched by 12, the three-dimensional point group is more effective than the first embodiment.
- the calculation accuracy of the matrix G used for the rigid transformation of the data B is improved, and further, the alignment accuracy of the 3D point cloud data A and the 3D point cloud data B can be improved.
- it is possible to omit the rigid body transformation process and the coincidence calculation process that do not need to be executed it is possible to reduce the amount of calculation and shorten the processing time compared to the first embodiment.
- rigid transformation unit 15 determines the acceptability of the three feature point pair P a-b, if not the result of the determination is N number of features that are searched by the pair search unit 12 from the point pair P a-b, although the one that re-selects three feature point pair P a-b, rigid transformation unit 15, the quality of the matrix G to be used for rigid transformation of the three-dimensional point group data B It determines, if not the result of the determination is out of the N feature point pairs P a-b which is searched by the pair search unit 12, so as to re-select the three feature point pair P a-b It may be. Also in this case, the alignment accuracy of the 3D point cloud data A and the 3D point cloud data B can be improved.
- the quality of the matrix G used for the rigid transformation of the three-dimensional point cloud data B is determined as follows, for example.
- the rigid transformation unit 15 performs rigid transformation on the source three-dimensional point cloud data B as in the rigid transformation unit 13 of FIG. 1, as shown in the following equation (12), three feature point pairs P ab calculates the three feature points a contained, the distance D between the three feature points b after rigid transformation that is included in the three feature point pair P a-b in.
- the rigid body conversion unit 15 determines that the matrix G used for the rigid body conversion of the three-dimensional point cloud data B is good if the calculated distance D is shorter than a preset distance threshold, and if it is equal to or greater than the distance threshold, It is determined that the matrix G used for the rigid transformation of the three-dimensional point cloud data B is NO.
- the distance threshold for example, 10 cm can be considered. If the rigid body conversion unit 15 determines that the matrix G used for the rigid body conversion of the three-dimensional point cloud data B is good, the subsequent processing contents are the same as those of the rigid body conversion unit 13 in the first embodiment.
- the quality of the matrix G used for the rigid transformation of the three-dimensional point cloud data B may be determined as follows.
- the rigid transformation unit 15 rigidly transforms the source three-dimensional point cloud data B in the same manner as the rigid transformation unit 13 shown in FIG. 1, but the triangular area having three feature points a as vertices, and 3 after the rigid transformation.
- the area of a triangle having two feature points b as vertices is different, only the rigid transformation of the 3D point cloud data B is insufficient to align the 3D point cloud data A and the 3D point cloud data B.
- the 3D point cloud data B after the rigid transformation is enlarged or reduced.
- the rigid transformation unit 15 includes a triangle having the three feature points a included in the three feature point pairs P ab as vertices, and a rigid transformation included in the three feature point pairs P ab.
- the ratio of the size of the triangle with the three feature points b as vertices, that is, the enlargement / reduction ratio r of the three-dimensional point group data B is calculated.
- Non-Patent Document 4 Timo Zinser et al., “Point Set Registration with Integrated Scale Estimation”, Proceedings of the Eighth International Conference on Pattern Recognition and Image Processing, May 18, 2005, p. 116-119
- the rigid body conversion unit 15 performs the rigid body conversion of the three-dimensional point cloud data B. It is determined that the matrix G to be used is good. As this threshold value, for example, 0.9 to 1.1 can be considered. If the calculated enlargement / reduction ratio r is far from 1, that is, if the calculated enlargement / reduction ratio r is outside the range of a preset threshold, the rigid body conversion unit 15 performs the rigid body conversion of the three-dimensional point cloud data B. It is determined that the matrix G to be used is NO.
- the rigid body conversion unit 15 determines that the matrix G used for the rigid body conversion of the three-dimensional point cloud data B is good, the subsequent processing contents are the same as those of the rigid body conversion unit 13 in the first embodiment.
- Rigid transformation unit 15 if determined that the determination matrix G is used for the rigid body transformation of the three-dimensional point group data B, the process returns to step ST11, N-number of feature point pairs that are stored in the memory 15a P a among -b, reselect three feature point pair P a-b.
- the present invention is suitable for an alignment apparatus, an alignment method, and an alignment program for performing alignment between point cloud data indicating three-dimensional coordinates of a plurality of measurement points on a measurement target.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Length Measuring Devices With Unspecified Measuring Means (AREA)
Abstract
Description
このとき、複数の3次元点群データを統合することで、計測対象の全体の3次元点群データが得られるが、同じ計測点についての3次元座標がずれていると、統合後の3次元点群データから得られる計測対象の形状が、実際の計測対象の形状と異なるものとなる。
このため、複数の3次元点群データを統合するには、複数の3次元点群データの位置合わせを行う必要がある。
以下、この位置合わせ装置の位置合わせ手順を簡単に説明する。
ここでは、説明の便宜上、2つの3次元点群データを3次元点群データA,3次元点群データBとする。
特徴点は、計測対象の物体における形状の特徴を表す計測点であり、例えば、物体の角の点や境界に属する点などが該当する。
(2)複数の特徴点aの中から、任意の3つの特徴点aを抽出して、3つの特徴点aを頂点とする三角形Δaを生成する。
また、複数の特徴点bの中から、任意の3つの特徴点bを抽出して、3つの特徴点bを頂点とする三角形Δbを生成する。
抽出する3つの特徴点を変えることで、複数の三角形Δa,Δbを生成する。
(3)複数の三角形Δaと複数の三角形Δbとの間で、形状が近似している三角形を探索する。
(4)形状が近似している三角形Δaと三角形Δbにおける各頂点同士を対応付けて、対応関係がある頂点同士である特徴点aと特徴点bを特徴点ペアとする。
(5)特徴点ペアから3次元点群データBの剛体変換に用いる行列を算出し、その行列を用いて、3次元点群データBを剛体変換することで、3次元点群データAと3次元点群データBの位置合わせを行う。
剛体変換に用いる行列は、3次元点群データBを回転させる行列と3次元点群データBを平行移動させるベクトルからなる行列である。
図1はこの発明の実施の形態1による位置合わせ装置を示す構成図であり、図2はこの発明の実施の形態1による位置合わせ装置のハードウェア構成図である。
図1及び図2において、3次元センサ1は計測対象における複数の計測点の3次元座標を示す3次元点群データA(第1の点群データ)を観測するとともに、計測対象における複数の計測点の3次元座標を示す3次元点群データB(第2の点群データ)を観測するセンサである。
例えば、3次元点群データAと3次元点群データBは、3次元センサ1によって異なる視点から観測されたデータである。あるいは、3次元センサ1によって異なる時刻で観測されたデータである。
この実施の形態1では、3次元点群データBを剛体変換することで、3次元点群データAと3次元点群データBの位置合わせを行うことを想定しており、3次元点群データAをターゲットの3次元点群データ、3次元点群データBをソースの3次元点群データと称することがある。
この実施の形態1では、位置合わせ装置が、3次元センサ1により観測された3次元点群データA,Bを取得することを想定しているが、外部記憶装置2に記憶されている3次元点群データA,Bを取得するものであってもよい。
外部記憶装置2は位置合わせが行われる3次元点群データA,Bを記憶している例えばハードディスクなどの記憶装置である。
ペア探索部12は例えば図2のペア探索回路22で実現されるものであり、点群データ読込部11により読み込まれた3次元点群データAから複数の特徴点aを抽出するとともに、点群データ読込部11により読み込まれた3次元点群データBから複数の特徴点bを抽出し、複数の特徴点aと複数の特徴点bとの間で対応関係がある特徴点のペアをそれぞれ探索する処理を実施する。以下、特徴点のペアを特徴点ペアPa-bのように表記する。
剛体変換部13はペア探索部12により探索された全ての特徴点ペアPa-bの中から、複数の特徴点ペアPa-bとして、例えば、3つの特徴点ペアPa-bを選択する処理を実施する。
剛体変換部13は選択した3つの特徴点ペアPa-bから、3次元点群データBの剛体変換に用いる行列Gを算出し、その行列Gを用いて、3次元点群データBを剛体変換する処理を実施する。
剛体変換部13は3次元点群データBの最終的な剛体変換結果が得られるまで、3つの特徴点ペアPa-bを選択する選択処理を繰り返し実施して、行列Gを算出する算出処理と3次元点群データBを剛体変換する剛体変換処理とを繰り返し実施する。
表示装置3は例えば液晶ディスプレイなどの表示器であり、点群データ出力部14から出力された3次元点群データBを表示する。
ここで、点群データ読込回路21、ペア探索回路22、剛体変換回路23及び点群データ出力回路24は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、または、これらを組み合わせたものが該当する。
ソフトウェアやファームウェアはプログラムとして、コンピュータのメモリに格納される。コンピュータは、プログラムを実行するハードウェアを意味し、例えば、CPU(Central Processing Unit)、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSP(Digital Signal Processor)などが該当する。
コンピュータのメモリは、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)などの不揮発性又は揮発性の半導体メモリや、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD(Digital Versatile Disc)などが該当する。
位置合わせ装置がソフトウェアやファームウェアなどで実現される場合、点群データ読込部11、ペア探索部12、剛体変換部13及び点群データ出力部14の処理手順をコンピュータに実行させるための位置合わせプログラムをメモリ31に格納し、コンピュータのプロセッサ32がメモリ31に格納されている位置合わせプログラムを実行するようにすればよい。
図4は位置合わせ装置がソフトウェアやファームウェアなどで実現される場合のペア探索部12のペア探索処理手順を示すフローチャートである。
図5は位置合わせ装置がソフトウェアやファームウェアなどで実現される場合の剛体変換部13の剛体変換処理手順を示すフローチャートである。
点群データ読込部11は、3次元センサ1により観測された3次元点群データA,Bを読み込み、その3次元点群データA,Bをペア探索部12に出力する。
ペア探索部12は、点群データ読込部11から3次元点群データA,Bを受けると、その3次元点群データAから複数の特徴点aを抽出するとともに、その3次元点群データBから複数の特徴点bを抽出する(図4のステップST1)。
特徴点は、計測対象の物体における形状の特徴を表す計測点であり、例えば、物体の角の点や境界に属する点などが該当する。
[非特許文献1]
Yong Zhong著、「Intrinsic shape signatures: A shape descriptor for 3D object recognition」、IEEE、Proceedings of International Conference on Computer Vision Workshops、2009年9月27日発行、p.689~696
また、ペア探索部12は、各々の特徴点bに対して、周辺形状を表す特徴ベクトルVbを算出する(図4のステップST2)。
特徴ベクトルは、一般的に、特徴点の周辺に存在している計測点に対する特徴点の位置関係や法線の向きの違いを示す多次元のベクトルである。
特徴ベクトルVa,Vbを算出する処理自体は公知の技術であり、また、特徴ベクトルVa,Vbの記述方法も公知の技術であるため詳細な説明を省略するが、この実施の形態1では、例えば、以下の非特許文献2に開示されているSHOT(Signature of Histograms of OrienTations)特徴量を特徴ベクトルとして利用するものとする。
[非特許文献2]
Federico Tombariら著、「Unique signatures of Histograms for local surface description」、Springer、Proceedings of 11th European Conference on Computer Vision、2010年9月5日発行、p.356~369
そして、ペア探索部12は、3次元点群データAから抽出した特徴点a毎に、当該特徴点aにおける特徴ベクトルVaと、複数の特徴点bにおける特徴ベクトルVbとの類似度を比較し、複数の特徴点bにおける特徴ベクトルVbの中で、最も類似度が高い特徴ベクトルVbに係る特徴点bを特定する。
ペア探索部12は、最も類似度が高い特徴ベクトルVbに係る特徴点bを特定すると、当該特徴点aと、その特定した特徴点bとを特徴点ペアPa-bに決定する(図4のステップST3)。
具体的には、例えば、特徴点aの個数がN個で、特徴点bの個数がM個である場合、N個の特徴点aのそれぞれについて、M個の特徴点bの中から、最も類似度が高い特徴ベクトルVbに係る特徴点bを特定し、当該特徴点aと、その特定した特徴点bとを特徴点ペアPa-bに決定する。
この場合、N個の特徴点ペアPa-bが決定される。Nは3以上の整数である。
剛体変換部13は、メモリ13aに格納しているN個の特徴点ペアPa-bの中から、例えば、3つの特徴点ペアPa-bを選択する(図5のステップST11)。
3つの特徴点ペアPa-bは、N個の特徴点ペアPa-bの中から無作為に選択されるが、過去に選択されていない組み合わせの特徴点ペアPa-bが選択されるものとする。
ただし、3つの特徴点ペアPa-bは、N個の特徴点ペアPa-bの中から、無作為に選択されるものに限るものではなく、特定のルールにしたがって選択されるものであってもよい。例えば、ペア探索部12により算出された類似度が高い特徴点ペアPa-bが優先的に選択される態様などが考えられる。
また、剛体変換部13は、下記の式(2)に示すように、3つの特徴点ペアPa-bに含まれている特徴点bの3次元座標pb,i(i=1,2,3)を定義する。
剛体変換に用いる行列Gは、3次元点群データBを回転させる行列である回転行列Rと、3次元点群データBを平行移動させるベクトルである並進ベクトルtとからなる行列である。
したがって、剛体変換部13は、剛体変換に用いる行列Gとして、回転行列Rと並進ベクトルtを算出するが、3つの特徴点ペアPa-bに含まれている特徴点bを剛体変換することで、特徴点aと特徴点bが出来る限り近づくようにするには、下記に示す式(3)が最小になる回転行列Rと並進ベクトルtを求める必要がある。
式(3)において、||k||はベクトルkのノルムを表す記号である。
[非特許文献3]
八木康史ら編、「コンピュータビジョン最先端ガイド3」、アドコム・メディア株式会社、2010年12月8日発行、p.36~37
式(4)において、ktはベクトルkの転置である。
、μaは3つの特徴点aにおける3次元座標pa,iの重心座標、μbは3つの特徴点bにおける3次元座標pb,iの重心座標である。
即ち、剛体変換部13は、共分散行列Σを特異値分解することで、下記の式(7)における行列U,Vtが求まるので、行列U,Vtを下記の式(8)に代入することで回転行列Rを算出する。また、算出した回転行列Rを下記の式(9)に代入することで並進ベクトルtを算出する。
式(8)において、det()は行列式を示す記号である。
即ち、剛体変換部13は、剛体変換後の3次元点群データBに含まれている各々の特徴点bから、ターゲットの3次元点群データAに含まれている最近傍の特徴点aまでの距離をそれぞれ求め、それらの距離の平均値の逆数を一致度Sとして算出する。
式(10)において、Hは剛体変換後の3次元点群データBに含まれている特徴点bの数である。
d(pb,i,A)は剛体変換後の3次元点群データBに含まれている特徴点bから、ターゲットの3次元点群データAに含まれている最近傍の特徴点aまでの距離であり、下記の式(11)のように表される。
式(11)において、pa,jは3次元点群データAに含まれている複数の特徴点aの3次元座標である。
剛体変換部13は、その一致度Sの算出処理が2回目以降の算出処理であれば、今回算出した一致度Sと、メモリ13aに格納されている一致度Sとを比較し、今回算出した一致度Sが、メモリ13aに格納されている一致度Sより高ければ(図5のステップST15:Yesの場合)、今回算出した一致度Sをメモリ13aに上書き保存するとともに、今回の剛体変換処理による剛体変換後の3次元点群データBをメモリ13aに上書き保存する(図5のステップST16)。今回算出した一致度Sが、メモリ13aに格納されている一致度S以下である場合、今回の剛体変換処理による剛体変換後の3次元点群データBは破棄される。
これにより、メモリ13aに格納される一致度Sは、これまでの算出処理で算出された一致度Sの中で、最も高い一致度Sに更新され、メモリ13aに格納される剛体変換後の3次元点群データBは、最も高い一致度Sに対応する3次元点群データBに更新される。
剛体変換部13は、C<CES、かつ、S<SESの場合、即ち、試行回数Cが設定試行回数CESに到達しておらず、かつ、メモリ13aに格納されている一致度Sが設定一致度SESより低い場合(図5のステップST17:Noの場合)、ステップST11の処理に戻り、特徴点ペアPa-bの選択処理、剛体変換に用いる行列Gの算出処理及び剛体変換処理を繰り返し実施する(図5のステップSTST11~ST16)。
即ち、この実施の形態1では、ペア探索部12により決定された複数の特徴点ペアPa-bの中に、組み合わせに誤りがある特徴点ペアPa-bが含まれている場合でも、剛体変換部13が、誤りがある特徴点ペアPa-bから算出した行列Gを用いた剛体変換後の3次元点群データBを出力する可能性を低減できるため、3次元点群データAと3次元点群データBの位置合わせ精度を高めることができる。
上記実施の形態1では、ペア探索部12により探索されたN個の特徴点ペアPa-bの中から、3つの特徴点ペアPa-bを選択すると、剛体変換部13が、3つの特徴点ペアPa-bの良否を判定することなく、3つの特徴点ペアPa-bから剛体変換に用いる行列Gを算出するものを示したが、この実施の形態2では、剛体変換部15が、3つの特徴点ペアPa-bの良否を判定し、その判定の結果が否であれば、ペア探索部12により探索されたN個の特徴点ペアPa-bの中から、3つの特徴点ペアPa-bを再選択するものについて説明する。
図6及び図7において、図1及び図2と同一符号は同一または相当部分を示すので説明を省略する。
剛体変換部15は例えば図7の剛体変換回路25で実現されるものであり、内部にメモリ15aを備えている。
剛体変換部15は図1の剛体変換部13と同様に、ペア探索部12により探索された全ての特徴点ペアPa-bの中から、複数の特徴点ペアPa-bとして、例えば、3つの特徴点ペアPa-bを選択する処理を実施する。
剛体変換部15は図1の剛体変換部13と同様に、選択した3つの特徴点ペアPa-bから、3次元点群データBの剛体変換に用いる行列Gを算出し、その行列Gを用いて、3次元点群データBを剛体変換する処理を実施する。
剛体変換部15は図1の剛体変換部13と同様に、3次元点群データBの最終的な剛体変換結果が得られるまで、3つの特徴点ペアPa-bを選択する選択処理を繰り返し実施して、行列の算出処理と3次元点群データBの剛体変換処理を繰り返し実施する。
剛体変換部15は図1の剛体変換部13と異なり、選択した3つの特徴点ペアPa-bの良否を判定し、その判定の結果が否であれば、ペア探索部12により探索されたN個の特徴点ペアPa-bの中から、3つの特徴点ペアPa-bを再選択する処理を実施する。
ここで、点群データ読込回路21、ペア探索回路22、剛体変換回路25及び点群データ出力回路24は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGA、または、これらを組み合わせたものが該当する。
位置合わせ装置がソフトウェアやファームウェアなどで実現される場合、点群データ読込部11、ペア探索部12、剛体変換部15及び点群データ出力部14の処理手順をコンピュータに実行させるための位置合わせプログラムを図3に示すメモリ31に格納し、コンピュータのプロセッサ32がメモリ31に格納されている位置合わせプログラムを実行するようにすればよい。
図8は位置合わせ装置がソフトウェアやファームウェアなどで実現される場合の剛体変換部15の剛体変換処理手順を示すフローチャートである。図8において、図5と同一符号は同一または相当部分を示している。
ただし、剛体変換部15以外は、上記実施の形態1と同様であるため、ここでは剛体変換部15の処理内容だけを説明する。
剛体変換部15は、図1の剛体変換部13と同様に、ペア探索部12により探索されたN個の特徴点ペアPa-bを内部のメモリ15aに格納する。
剛体変換部15は、メモリ15aに格納しているN個の特徴点ペアPa-bの中から、例えば、3つの特徴点ペアPa-bを選択する(図8のステップST11)。
3つの特徴点ペアPa-bにおける良否の判定は、3つの特徴点ペアPa-bの間の位置関係が、剛体変換に用いる行列Gを高精度に算出することが可能な関係にあるか否かを検証するものである。
剛体変換部15は、3つの特徴点ペアPa-bにおける良否の具体的な判定として、例えば、下記に示すような判定を行う。
剛体変換部15は、2つの三角形が類似していると判定すれば、3つの特徴点ペアPa-bが良であると判定し、2つの三角形が類似していないと判定すれば、3つの特徴点ペアPa-bが否であると判定する。
以下、剛体変換部15による2つの三角形の類似判定方法を具体的に説明する。
まず、剛体変換部15は、3つの特徴点aを頂点とする三角形と、3つの特徴点bを頂点とする三角形との対応する辺毎に、対応する辺の長さの差分を求める。
次に、剛体変換部15は、対応する辺のうち、長い方の辺の長さに対する当該差分の比率が1割以内であるか否かを判定する。
剛体変換部15は、3つの対応する辺の全てにおいて、差分の比率が1割以内であれば、2つの三角形が類似していると判定し、3つの対応する辺の中に、差分の比率が1割を超える対応する辺が1つでもあれば、2つの三角形が類似していないと判定する。
このとき、再選択する3つの特徴点ペアPa-bの組み合わせは、過去に選択されていない組み合わせである。
剛体変換部15は、3つの特徴点ペアPa-bが良であると判定すれば(図8のステップST21:Yesの場合)、ステップST12に移行する。以降の処理内容は、上記実施の形態1における図1の剛体変換部13と同様であるため説明を省略する。
また、実行する必要がない剛体変換処理や、一致度の算出処理を省略することができるため、上記実施の形態1よりも、計算量を削減して、処理時間を短縮することができる。
剛体変換部15は、図1の剛体変換部13と同様に、ソースの3次元点群データBを剛体変換すると、下記の式(12)に示すように、3つの特徴点ペアPa-bに含まれている3つの特徴点aと、3つの特徴点ペアPa-bに含まれている剛体変換後の3つの特徴点bとの距離Dを算出する。
剛体変換部15は、3次元点群データBの剛体変換に用いる行列Gが良であると判定すれば、以降の処理内容は上記実施の形態1における剛体変換部13と同様である。
剛体変換部15は、3次元点群データBの剛体変換に用いる行列Gが否であると判定すれば、ステップST11の処理に戻り、メモリ15aに格納しているN個の特徴点ペアPa-bの中から、3つの特徴点ペアPa-bを再選択する。
剛体変換部15は、図1の剛体変換部13と同様に、ソースの3次元点群データBを剛体変換するが、3つの特徴点aを頂点とする三角形の面積と、剛体変換後の3つの特徴点bを頂点とする三角形の面積とが異なる場合、3次元点群データBの剛体変換だけでは、3次元点群データAと3次元点群データBの位置合わせが不十分であるため、剛体変換後の3次元点群データBの拡大縮小を実施する場合がある。
そこで、剛体変換部15は、3つの特徴点ペアPa-bに含まれている3つの特徴点aを頂点とする三角形と、3つの特徴点ペアPa-bに含まれている剛体変換後の3つの特徴点bを頂点とする三角形との大きさの比率、即ち、3次元点群データBの拡大縮小率rを算出する。
[非特許文献4]
Timo Zinserら著、「Point Set Registration with Integrated Scale Estimation」、Proceedings of the Eighth International Conference on Pattern Recognition and Image Processing、2005年5月18日発行、p.116~119
剛体変換部15は、算出した拡大縮小率rが1から遠ければ、即ち、算出した拡大縮小率rが、予め設定された閾値の範囲外であれば、3次元点群データBの剛体変換に用いる行列Gが否であると判定する。
剛体変換部15は、3次元点群データBの剛体変換に用いる行列Gが良であると判定すれば、以降の処理内容は上記実施の形態1における剛体変換部13と同様である。
剛体変換部15は、3次元点群データBの剛体変換に用いる行列Gが否であると判定すれば、ステップST11の処理に戻り、メモリ15aに格納しているN個の特徴点ペアPa-bの中から、3つの特徴点ペアPa-bを再選択する。
Claims (13)
- 計測対象における複数の計測点の3次元座標を示す第1の点群データから複数の特徴点を抽出するとともに、前記計測対象における複数の計測点の3次元座標を示す第2の点群データから複数の特徴点を抽出し、前記第1の点群データから抽出した複数の特徴点と、前記第2の点群データから抽出した複数の特徴点との間で対応関係がある特徴点のペアをそれぞれ探索するペア探索部と、
前記ペア探索部により探索された全ての特徴点のペアの中から、複数の特徴点のペアを選択して、その選択した特徴点のペアから、前記第2の点群データの剛体変換に用いる行列を算出し、前記行列を用いて、前記第2の点群データを剛体変換する剛体変換部とを備え、
前記剛体変換部は、前記複数の特徴点のペアを選択する選択処理を繰り返し実施して、前記行列を算出する算出処理と前記第2の点群データを剛体変換する剛体変換処理とを繰り返し実施することを特徴とする位置合わせ装置。 - 前記剛体変換部は、前記第2の点群データを剛体変換する毎に、前記第1の点群データと剛体変換後の第2の点群データとの間の一致度を算出し、今回算出した一致度が過去に算出した全ての一致度より高ければ、位置合わせ後の第2の点群データとして、今回の剛体変換処理による剛体変換後の第2の点群データを上書き保存することを特徴とする請求項1記載の位置合わせ装置。
- 前記剛体変換部は、前記剛体変換処理の実施回数が第1の閾値に到達するまでの間、前記ペアの選択処理、前記行列の算出処理及び前記剛体変換処理を繰り返し実施することを特徴とする請求項2記載の位置合わせ装置。
- 前記剛体変換部は、前記第1の点群データと剛体変換後の第2の点群データとの間の一致度が第2の閾値より高くなるまでの間、前記ペアの選択処理、前記行列の算出処理及び前記剛体変換処理を繰り返し実施することを特徴とする請求項2記載の位置合わせ装置。
- 前記剛体変換部は、前記ペア探索部により探索された全ての特徴点のペアの中から、複数の特徴点のペアを選択する選択処理を繰り返し実施する際、組み合わせが異なる複数の特徴点のペアを選択することを特徴とする請求項2記載の位置合わせ装置。
- 前記剛体変換部は、前記ペア探索部により探索された全ての特徴点のペアの中から、複数の特徴点のペアを選択すると、前記選択した複数の特徴点のペアの良否を判定し、前記判定の結果が否であれば、前記ペア探索部により探索された全ての特徴点のペアの中から、複数の特徴点のペアを再選択することを特徴とする請求項5記載の位置合わせ装置。
- 前記剛体変換部は、前記選択したペアに含まれている前記第1の点群データから抽出された複数の特徴点を頂点とする多角形と、前記選択したペアに含まれている前記第2の点群データから抽出された複数の特徴点を頂点とする多角形とが類似しているか否かを判定し、前記類似の判定結果から前記選択した複数の特徴点のペアの良否を判定することを特徴とする請求項6記載の位置合わせ装置。
- 前記剛体変換部は、前記第2の点群データの剛体変換に用いる行列の良否を判定し、前記判定の結果が否であれば、前記ペア探索部により探索された全ての特徴点のペアの中から、複数の特徴点のペアを再選択することを特徴とする請求項5記載の位置合わせ装置。
- 前記剛体変換部は、前記第2の点群データの剛体変換に用いる行列を用いて、前記選択したペアに含まれている前記第2の点群データから抽出された複数の特徴点を剛体変換し、前記選択したペアに含まれている前記第1の点群データから抽出された複数の特徴点と、前記剛体変換後の複数の特徴点との距離から、前記行列の良否を判定することを特徴とする請求項8記載の位置合わせ装置。
- 前記剛体変換部は、前記第2の点群データの剛体変換に用いる行列を用いて、前記選択したペアに含まれている前記第2の点群データから抽出された複数の特徴点を剛体変換し、前記選択したペアに含まれている前記第1の点群データから抽出された複数の特徴点を頂点とする多角形と、前記剛体変換後の複数の特徴点を頂点とする多角形との大きさの比率から、前記行列の良否を判定することを特徴とする請求項8記載の位置合わせ装置。
- 前記ペア探索部は、前記第1及び第2の点群データから抽出した特徴点毎に、当該特徴点の周辺形状を表す特徴ベクトルを求め、前記第1の点群データから抽出した複数の特徴点に対応する特徴ベクトルと、前記第2の点群データから抽出した複数の特徴点に対応する特徴ベクトルとを比較することで、対応関係がある複数の特徴点のペアを探索することを特徴とする請求項1記載の位置合わせ装置。
- ペア探索部が、計測対象における複数の計測点の3次元座標を示す第1の点群データから複数の特徴点を抽出するとともに、前記計測対象における複数の計測点の3次元座標を示す第2の点群データから複数の特徴点を抽出し、前記第1の点群データから抽出した複数の特徴点と、前記第2の点群データから抽出した複数の特徴点との間で対応関係がある特徴点のペアをそれぞれ探索し、
剛体変換部が、前記ペア探索部により探索された全ての特徴点のペアの中から、複数の特徴点のペアを選択して、その選択した特徴点のペアから、前記第2の点群データの剛体変換に用いる行列を算出し、前記行列を用いて、前記第2の点群データを剛体変換し、
前記剛体変換部では、前記複数の特徴点のペアを選択する選択処理を繰り返し実施して、前記行列を算出する算出処理と前記第2の点群データを剛体変換する剛体変換処理とを繰り返し実施することを特徴とする位置合わせ方法。 - 計測対象における複数の計測点の3次元座標を示す第1の点群データから複数の特徴点を抽出するとともに、前記計測対象における複数の計測点の3次元座標を示す第2の点群データから複数の特徴点を抽出し、前記第1の点群データから抽出した複数の特徴点と、前記第2の点群データから抽出した複数の特徴点との間で対応関係がある特徴点のペアをそれぞれ探索するペア探索処理手順と、
前記ペア探索処理手順により探索された全ての特徴点のペアの中から、複数の特徴点のペアを選択して、その選択した特徴点のペアから、前記第2の点群データの剛体変換に用いる行列を算出し、前記行列を用いて、前記第2の点群データを剛体変換する剛体変換処理手順とをコンピュータに実行させるための位置合わせプログラムであり、
前記剛体変換処理手順では、前記複数の特徴点のペアを選択する選択処理を繰り返し実施して、前記行列を算出する算出処理と前記第2の点群データを剛体変換する剛体変換処理とを繰り返し実施することを特徴とする位置合わせプログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2016/066226 WO2017208394A1 (ja) | 2016-06-01 | 2016-06-01 | 位置合わせ装置、位置合わせ方法及び位置合わせプログラム |
JP2018520281A JP6400252B2 (ja) | 2016-06-01 | 2016-06-01 | 位置合わせ装置、位置合わせ方法及び位置合わせプログラム |
AU2016408910A AU2016408910A1 (en) | 2016-06-01 | 2016-06-01 | Position matching device, position matching method, and position matching program |
EP16904019.3A EP3447442A4 (en) | 2016-06-01 | 2016-06-01 | POSITIONING DEVICE, POSITIONING PROCESS AND POSITIONING PROGRAM |
US16/090,489 US20190120619A1 (en) | 2016-06-01 | 2016-06-01 | Position matching device, position matching method, and position matching program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2016/066226 WO2017208394A1 (ja) | 2016-06-01 | 2016-06-01 | 位置合わせ装置、位置合わせ方法及び位置合わせプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017208394A1 true WO2017208394A1 (ja) | 2017-12-07 |
Family
ID=60478249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2016/066226 WO2017208394A1 (ja) | 2016-06-01 | 2016-06-01 | 位置合わせ装置、位置合わせ方法及び位置合わせプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20190120619A1 (ja) |
EP (1) | EP3447442A4 (ja) |
JP (1) | JP6400252B2 (ja) |
AU (1) | AU2016408910A1 (ja) |
WO (1) | WO2017208394A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016179248A1 (en) | 2015-05-05 | 2016-11-10 | Ptc Inc. | Augmented reality system |
US11030808B2 (en) | 2017-10-20 | 2021-06-08 | Ptc Inc. | Generating time-delayed augmented reality content |
US10572716B2 (en) * | 2017-10-20 | 2020-02-25 | Ptc Inc. | Processing uncertain content in a computer graphics system |
CA3154216A1 (en) * | 2019-10-11 | 2021-04-15 | Beyeonics Surgical Ltd. | System and method for improved electronic assisted medical procedures |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008111452A1 (ja) * | 2007-03-09 | 2008-09-18 | Omron Corporation | 認識処理方法およびこの方法を用いた画像処理装置 |
JP2010145219A (ja) * | 2008-12-18 | 2010-07-01 | Toyota Central R&D Labs Inc | 運動推定装置及びプログラム |
JP2016004486A (ja) * | 2014-06-18 | 2016-01-12 | 株式会社リコー | 情報処理装置、情報処理プログラム、および情報処理システム |
JP2016070708A (ja) * | 2014-09-26 | 2016-05-09 | 国立大学法人 千葉大学 | データ重ね合わせプログラム及びデータ重ね合わせ方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5365969B2 (ja) * | 2007-11-13 | 2013-12-11 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
-
2016
- 2016-06-01 EP EP16904019.3A patent/EP3447442A4/en not_active Withdrawn
- 2016-06-01 WO PCT/JP2016/066226 patent/WO2017208394A1/ja active Application Filing
- 2016-06-01 AU AU2016408910A patent/AU2016408910A1/en not_active Abandoned
- 2016-06-01 US US16/090,489 patent/US20190120619A1/en not_active Abandoned
- 2016-06-01 JP JP2018520281A patent/JP6400252B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008111452A1 (ja) * | 2007-03-09 | 2008-09-18 | Omron Corporation | 認識処理方法およびこの方法を用いた画像処理装置 |
JP2010145219A (ja) * | 2008-12-18 | 2010-07-01 | Toyota Central R&D Labs Inc | 運動推定装置及びプログラム |
JP2016004486A (ja) * | 2014-06-18 | 2016-01-12 | 株式会社リコー | 情報処理装置、情報処理プログラム、および情報処理システム |
JP2016070708A (ja) * | 2014-09-26 | 2016-05-09 | 国立大学法人 千葉大学 | データ重ね合わせプログラム及びデータ重ね合わせ方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3447442A4 * |
Also Published As
Publication number | Publication date |
---|---|
EP3447442A1 (en) | 2019-02-27 |
US20190120619A1 (en) | 2019-04-25 |
JPWO2017208394A1 (ja) | 2018-11-01 |
AU2016408910A1 (en) | 2019-01-17 |
JP6400252B2 (ja) | 2018-10-03 |
EP3447442A4 (en) | 2019-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6216508B2 (ja) | 3dシーンにおける3d物体の認識および姿勢決定のための方法 | |
JP5677798B2 (ja) | 3次元シーンにおける3次元物体の認識及び位置姿勢決定方法 | |
JP6400252B2 (ja) | 位置合わせ装置、位置合わせ方法及び位置合わせプログラム | |
Prakhya et al. | B-SHOT: A binary feature descriptor for fast and efficient keypoint matching on 3D point clouds | |
JP4709668B2 (ja) | 3次元物体認識システム | |
JP7188201B2 (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
CN111612731B (zh) | 基于双目显微视觉的测量方法、装置、***及介质 | |
CN116385507A (zh) | 一种基于不同尺度的多源点云数据配准方法及*** | |
CN111798453A (zh) | 用于无人驾驶辅助定位的点云配准方法及其*** | |
JP4524514B2 (ja) | 画像処理装置、画像処理方法、および記録媒体 | |
EP1240616A1 (en) | A technique for estimating the pose of surface shapes using tripod operators | |
JP2006113832A (ja) | ステレオ画像処理装置およびプログラム | |
JP5030183B2 (ja) | 3次元物***置姿勢計測方法 | |
JP6725310B2 (ja) | 画像処理装置及びプログラム | |
JP2001143072A (ja) | 物体形状識別装置 | |
KR102261498B1 (ko) | 픽킹 대상물의 자세 추정 장치 및 방법 | |
JP2006139713A (ja) | 3次元物***置検出装置、プログラム | |
JP2018142267A (ja) | 物体判定装置、物体判定方法、プログラム、および特徴量列のデータ構造 | |
Liu et al. | Algorithm for camera parameter adjustment in multicamera systems | |
JP2002230548A (ja) | パターン認識処理装置、方法およびパターン認識プログラム | |
JP2009207764A (ja) | 内臓脂肪量推定システム | |
CN114485608B (zh) | 一种用于高精度地图制作的局部点云快速配准方法 | |
JP2019070898A (ja) | 推定プログラム、推定装置、及び推定方法 | |
HajiRassouliha et al. | A method for three-dimensional measurements using widely angled stereoscopic cameras | |
GB2465888A (en) | Locating a physiological feature in image data using an intensity projection line |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2018520281 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2016904019 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2016904019 Country of ref document: EP Effective date: 20181120 |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16904019 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: 2016408910 Country of ref document: AU Date of ref document: 20160601 Kind code of ref document: A |