WO2017208394A1 - 位置合わせ装置、位置合わせ方法及び位置合わせプログラム - Google Patents

位置合わせ装置、位置合わせ方法及び位置合わせプログラム Download PDF

Info

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
Application number
PCT/JP2016/066226
Other languages
English (en)
French (fr)
Inventor
衛 三浦
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to PCT/JP2016/066226 priority Critical patent/WO2017208394A1/ja
Priority to JP2018520281A priority patent/JP6400252B2/ja
Priority to AU2016408910A priority patent/AU2016408910A1/en
Priority to EP16904019.3A priority patent/EP3447442A4/en
Priority to US16/090,489 priority patent/US20190120619A1/en
Publication of WO2017208394A1 publication Critical patent/WO2017208394A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/02Measuring 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/04Measuring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/20Measuring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Definitions

  • the present 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

ペア探索部(12)により探索された全ての特徴点ペアPa-bの中から、複数の特徴点ペアPa-bを選択して、その選択した特徴点ペアPa-bから、3次元点群データBの剛体変換に用いる行列Gを算出し、その行列Gを用いて、3次元点群データBを剛体変換する剛体変換部(13)を備え、剛体変換部(13)が、複数の特徴点ペアPa-bを選択する選択処理を繰り返し実施して、行列Gを算出する算出処理と3次元点群データBを剛体変換する剛体変換処理とを繰り返し実施するように構成する。

Description

位置合わせ装置、位置合わせ方法及び位置合わせプログラム
 この発明は、計測対象における複数の計測点の3次元座標を示す点群データ間の位置合わせを行う位置合わせ装置、位置合わせ方法及び位置合わせプログラムに関するものである。
 例えば、ステレオカメラなどを用いて、異なる視点から計測対象の物体を撮影することで、複数の3次元点群データが得られる。3次元点群データは、計測対象における複数の計測点の3次元座標を示す点群データのことである。
 このとき、複数の3次元点群データを統合することで、計測対象の全体の3次元点群データが得られるが、同じ計測点についての3次元座標がずれていると、統合後の3次元点群データから得られる計測対象の形状が、実際の計測対象の形状と異なるものとなる。
 このため、複数の3次元点群データを統合するには、複数の3次元点群データの位置合わせを行う必要がある。
 以下の特許文献1には、2つの3次元点群データの位置合わせを行う位置合わせ装置が開示されている。
 以下、この位置合わせ装置の位置合わせ手順を簡単に説明する。
 ここでは、説明の便宜上、2つの3次元点群データを3次元点群データA,3次元点群データBとする。
(1)3次元点群データAから複数の特徴点aをそれぞれ抽出し、3次元点群データBから複数の特徴点bをそれぞれ抽出する。
 特徴点は、計測対象の物体における形状の特徴を表す計測点であり、例えば、物体の角の点や境界に属する点などが該当する。
(2)複数の特徴点aの中から、任意の3つの特徴点aを抽出して、3つの特徴点aを頂点とする三角形Δを生成する。
 また、複数の特徴点bの中から、任意の3つの特徴点bを抽出して、3つの特徴点bを頂点とする三角形Δを生成する。
 抽出する3つの特徴点を変えることで、複数の三角形Δ,Δを生成する。
(3)複数の三角形Δと複数の三角形Δとの間で、形状が近似している三角形を探索する。
(4)形状が近似している三角形Δと三角形Δにおける各頂点同士を対応付けて、対応関係がある頂点同士である特徴点aと特徴点bを特徴点ペアとする。
(5)特徴点ペアから3次元点群データBの剛体変換に用いる行列を算出し、その行列を用いて、3次元点群データBを剛体変換することで、3次元点群データAと3次元点群データBの位置合わせを行う。
 剛体変換に用いる行列は、3次元点群データBを回転させる行列と3次元点群データBを平行移動させるベクトルからなる行列である。
特開2012-14259号公報
 従来の位置合わせ装置は以上のように構成されているので、複数の三角形Δと複数の三角形Δとの間に、形状が類似している三角形が複数存在している場合、対応関係がない三角形Δと三角形Δが探索される可能性がある。対応関係がない三角形Δと三角形Δが探索された場合、特徴点ペアの組み合わせに誤りが生じるため、剛体変換に用いる行列の算出精度が低下して、複数の3次元点群データの位置合わせ精度が劣化してしまうことがあるという課題があった。
 この発明は上記のような課題を解決するためになされたもので、複数の3次元点群データの位置合わせ精度を高めることができる位置合わせ装置、位置合わせ方法及び位置合わせプログラムを得ることを目的とする。
 この発明に係る位置合わせ装置は、計測対象における複数の計測点の3次元座標を示す第1の点群データから複数の特徴点を抽出するとともに、計測対象における複数の計測点の3次元座標を示す第2の点群データから複数の特徴点を抽出し、第1の点群データから抽出した複数の特徴点と、第2の点群データから抽出した複数の特徴点との間で対応関係がある特徴点のペアをそれぞれ探索するペア探索部と、ペア探索部により探索された全ての特徴点のペアの中から、複数の特徴点のペアを選択して、その選択した特徴点のペアから、第2の点群データの剛体変換に用いる行列を算出し、その行列を用いて、第2の点群データを剛体変換する剛体変換部とを備え、剛体変換部が、複数の特徴点のペアを選択する選択処理を繰り返し実施して、行列を算出する算出処理と第2の点群データを剛体変換する剛体変換処理とを繰り返し実施するようにしたものである。
 この発明によれば、剛体変換部が、複数の特徴点のペアを選択する選択処理を繰り返し実施して、行列を算出する算出処理と第2の点群データを剛体変換する剛体変換処理とを繰り返し実施するように構成したので、複数の3次元点群データの位置合わせ精度を高めることができる効果がある。
この発明の実施の形態1による位置合わせ装置を示す構成図である。 この発明の実施の形態1による位置合わせ装置のハードウェア構成図である。 位置合わせ装置がソフトウェアやファームウェアなどで実現される場合のコンピュータのハードウェア構成図である。 位置合わせ装置がソフトウェアやファームウェアなどで実現される場合のペア探索部12のペア探索処理手順を示すフローチャートである。 位置合わせ装置がソフトウェアやファームウェアなどで実現される場合の剛体変換部13の剛体変換処理手順を示すフローチャートである。 この発明の実施の形態2による位置合わせ装置を示す構成図である。 この発明の実施の形態2による位置合わせ装置のハードウェア構成図である。 位置合わせ装置がソフトウェアやファームウェアなどで実現される場合の剛体変換部15の剛体変換処理手順を示すフローチャートである。
 以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面にしたがって説明する。
実施の形態1.
 図1はこの発明の実施の形態1による位置合わせ装置を示す構成図であり、図2はこの発明の実施の形態1による位置合わせ装置のハードウェア構成図である。
 図1及び図2において、3次元センサ1は計測対象における複数の計測点の3次元座標を示す3次元点群データA(第1の点群データ)を観測するとともに、計測対象における複数の計測点の3次元座標を示す3次元点群データB(第2の点群データ)を観測するセンサである。
 例えば、3次元点群データAと3次元点群データBは、3次元センサ1によって異なる視点から観測されたデータである。あるいは、3次元センサ1によって異なる時刻で観測されたデータである。
 3次元点群データA,Bは、複数の計測点の3次元座標(x,y,z)のほかに、色の情報を含んでいてもよいし、ポリゴンの情報を含んでいてもよい。ポリゴンの情報は、各々のポリゴンの頂点となる3次元点のインデックスを示す情報である。
 この実施の形態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を記憶している例えばハードディスクなどの記憶装置である。
 点群データ読込部11は例えば図2の点群データ読込回路21で実現されるものであり、3次元センサ1により観測された3次元点群データA,Bを読み込む処理を実施する。
 ペア探索部12は例えば図2のペア探索回路22で実現されるものであり、点群データ読込部11により読み込まれた3次元点群データAから複数の特徴点aを抽出するとともに、点群データ読込部11により読み込まれた3次元点群データBから複数の特徴点bを抽出し、複数の特徴点aと複数の特徴点bとの間で対応関係がある特徴点のペアをそれぞれ探索する処理を実施する。以下、特徴点のペアを特徴点ペアPa-bのように表記する。
 剛体変換部13は例えば図2の剛体変換回路23で実現されるものであり、内部にメモリ13aを備えている。
 剛体変換部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を剛体変換する剛体変換処理とを繰り返し実施する。
 点群データ出力部14は例えば図2の点群データ出力回路24で実現されるものであり、剛体変換部13により剛体変換された3次元点群データBを外部記憶装置2に格納する処理を実施する。または、剛体変換部13により剛体変換された3次元点群データBを表示装置3に表示する処理を実施する。
 表示装置3は例えば液晶ディスプレイなどの表示器であり、点群データ出力部14から出力された3次元点群データBを表示する。
 図1では、位置合わせ装置の構成要素である点群データ読込部11、ペア探索部12、剛体変換部13及び点群データ出力部14のそれぞれが、図2に示すような専用のハードウェア、即ち、点群データ読込回路21、ペア探索回路22、剛体変換回路23及び点群データ出力回路24で実現されるものを想定している。
 ここで、点群データ読込回路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)などが該当する。
 図3は位置合わせ装置がソフトウェアやファームウェアなどで実現される場合のコンピュータのハードウェア構成図である。
 位置合わせ装置がソフトウェアやファームウェアなどで実現される場合、点群データ読込部11、ペア探索部12、剛体変換部13及び点群データ出力部14の処理手順をコンピュータに実行させるための位置合わせプログラムをメモリ31に格納し、コンピュータのプロセッサ32がメモリ31に格納されている位置合わせプログラムを実行するようにすればよい。
 図4は位置合わせ装置がソフトウェアやファームウェアなどで実現される場合のペア探索部12のペア探索処理手順を示すフローチャートである。
 図5は位置合わせ装置がソフトウェアやファームウェアなどで実現される場合の剛体変換部13の剛体変換処理手順を示すフローチャートである。
 また、図2では位置合わせ装置の構成要素のそれぞれが専用のハードウェアで実現される例を示し、図3では、位置合わせ装置がソフトウェアやファームウェアなどで実現される例を示しているが、位置合わせ装置における一部の構成要素が専用のハードウェアで実現され、残りの構成要素がソフトウェアやファームウェアなどで実現されるものであってもよい。
 次に動作について説明する。
 点群データ読込部11は、3次元センサ1により観測された3次元点群データA,Bを読み込み、その3次元点群データA,Bをペア探索部12に出力する。
 ペア探索部12は、点群データ読込部11から3次元点群データA,Bを受けると、その3次元点群データAから複数の特徴点aを抽出するとともに、その3次元点群データBから複数の特徴点bを抽出する(図4のステップST1)。
 特徴点は、計測対象の物体における形状の特徴を表す計測点であり、例えば、物体の角の点や境界に属する点などが該当する。
 3次元点群データA,Bから特徴点a,bを抽出する処理自体は公知の技術であるため詳細な説明を省略するが、例えば、以下の非特許文献1に開示されている特徴点の抽出方法を利用して、3次元点群データA,Bから特徴点a,bを抽出するものとする。
[非特許文献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は、3次元点群データA,Bから複数の特徴点a,bを抽出すると、各々の特徴点aに対して、周辺形状を表す特徴ベクトルVを算出する(図4のステップST2)。
 また、ペア探索部12は、各々の特徴点bに対して、周辺形状を表す特徴ベクトルVを算出する(図4のステップST2)。
 特徴ベクトルは、一般的に、特徴点の周辺に存在している計測点に対する特徴点の位置関係や法線の向きの違いを示す多次元のベクトルである。
 特徴ベクトルV,Vを算出する処理自体は公知の技術であり、また、特徴ベクトルV,Vの記述方法も公知の技術であるため詳細な説明を省略するが、この実施の形態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は、複数の特徴点aに対して特徴ベクトルVを算出し、複数の特徴点bに対して特徴ベクトルVを算出すると、複数の特徴点aにおける特徴ベクトルVと、複数の特徴点bにおける特徴ベクトルVとの組み合わせ毎に、特徴ベクトルVと特徴ベクトルVの類似度を算出する。2つの特徴ベクトル間の類似度を算出する処理自体は公知の技術であるため詳細な説明を省略する。
 そして、ペア探索部12は、3次元点群データAから抽出した特徴点a毎に、当該特徴点aにおける特徴ベクトルVと、複数の特徴点bにおける特徴ベクトルVとの類似度を比較し、複数の特徴点bにおける特徴ベクトルVの中で、最も類似度が高い特徴ベクトルVに係る特徴点bを特定する。
 ペア探索部12は、最も類似度が高い特徴ベクトルVに係る特徴点bを特定すると、当該特徴点aと、その特定した特徴点bとを特徴点ペアPa-bに決定する(図4のステップST3)。
 具体的には、例えば、特徴点aの個数がN個で、特徴点bの個数がM個である場合、N個の特徴点aのそれぞれについて、M個の特徴点bの中から、最も類似度が高い特徴ベクトルVに係る特徴点bを特定し、当該特徴点aと、その特定した特徴点bとを特徴点ペアPa-bに決定する。
 この場合、N個の特徴点ペアPa-bが決定される。Nは3以上の整数である。
 剛体変換部13は、ペア探索部12により決定されたN個の特徴点ペアPa-bを内部のメモリ13aに格納する。
 剛体変換部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は、3つの特徴点ペアPa-bを選択すると、下記の式(1)に示すように、3つの特徴点ペアPa-bに含まれている特徴点aの3次元座標pa,i(i=1,2,3)を定義する。

Figure JPOXMLDOC01-appb-I000001

 また、剛体変換部13は、下記の式(2)に示すように、3つの特徴点ペアPa-bに含まれている特徴点bの3次元座標pb,i(i=1,2,3)を定義する。

Figure JPOXMLDOC01-appb-I000002
 剛体変換部13は、3つの特徴点ペアPa-bに含まれている特徴点aの3次元座標pa,iと特徴点bの3次元座標pb,iを定義すると、特徴点aの3次元座標pa,iと特徴点bの3次元座標pb,iから、3次元点群データBの剛体変換に用いる行列Gを算出する(図5のステップST12)。
 剛体変換に用いる行列Gは、3次元点群データBを回転させる行列である回転行列Rと、3次元点群データBを平行移動させるベクトルである並進ベクトルtとからなる行列である。
 したがって、剛体変換部13は、剛体変換に用いる行列Gとして、回転行列Rと並進ベクトルtを算出するが、3つの特徴点ペアPa-bに含まれている特徴点bを剛体変換することで、特徴点aと特徴点bが出来る限り近づくようにするには、下記に示す式(3)が最小になる回転行列Rと並進ベクトルtを求める必要がある。

Figure JPOXMLDOC01-appb-I000003

 式(3)において、||k||はベクトルkのノルムを表す記号である。
 式(3)が最小になる回転行列Rと並進ベクトルtを算出する方法は複数存在するが、この実施の形態1では、以下の非特許文献3に記載されている方法を用いて、回転行列Rと並進ベクトルtを算出する例を説明する。
[非特許文献3]
八木康史ら編、「コンピュータビジョン最先端ガイド3」、アドコム・メディア株式会社、2010年12月8日発行、p.36~37
 剛体変換部13は、3つの特徴点ペアPa-bに対して、下記の式(4)に示すように、共分散行列Σを算出する。

Figure JPOXMLDOC01-appb-I000004

 式(4)において、kはベクトルkの転置である。
 、μは3つの特徴点aにおける3次元座標pa,iの重心座標、μは3つの特徴点bにおける3次元座標pb,iの重心座標である。

Figure JPOXMLDOC01-appb-I000005

Figure JPOXMLDOC01-appb-I000006
 剛体変換部13は、共分散行列Σを算出すると、その共分散行列Σを特異値分解することで、下記の式(8)に示すように回転行列Rを算出し、また、下記の式(9)に示すように並進ベクトルtを算出する。
 即ち、剛体変換部13は、共分散行列Σを特異値分解することで、下記の式(7)における行列U,Vが求まるので、行列U,Vを下記の式(8)に代入することで回転行列Rを算出する。また、算出した回転行列Rを下記の式(9)に代入することで並進ベクトルtを算出する。

Figure JPOXMLDOC01-appb-I000007

Figure JPOXMLDOC01-appb-I000008

Figure JPOXMLDOC01-appb-I000009

 式(8)において、det()は行列式を示す記号である。
 剛体変換部13は、剛体変換に用いる行列Gとして、回転行列Rと並進ベクトルtを算出すると、その回転行列Rを用いて、ソースの3次元点群データBを回転させ、その並進ベクトルtを用いて、ソースの3次元点群データBを平行移動させることで、ソースの3次元点群データBを剛体変換する(図5のステップST13)。
 剛体変換部13は、ソースの3次元点群データBを剛体変換すると、剛体変換後の3次元点群データBと、ターゲットの3次元点群データAとの一致度Sを算出する(図5のステップST14)。
 即ち、剛体変換部13は、剛体変換後の3次元点群データBに含まれている各々の特徴点bから、ターゲットの3次元点群データAに含まれている最近傍の特徴点aまでの距離をそれぞれ求め、それらの距離の平均値の逆数を一致度Sとして算出する。

Figure JPOXMLDOC01-appb-I000010

 式(10)において、Hは剛体変換後の3次元点群データBに含まれている特徴点bの数である。
 d(pb,i,A)は剛体変換後の3次元点群データBに含まれている特徴点bから、ターゲットの3次元点群データAに含まれている最近傍の特徴点aまでの距離であり、下記の式(11)のように表される。

Figure JPOXMLDOC01-appb-I000011

 式(11)において、pa,jは3次元点群データAに含まれている複数の特徴点aの3次元座標である。
 剛体変換部13は、剛体変換後の3次元点群データBと、ターゲットの3次元点群データAとの一致度Sを算出すると、その一致度Sの算出処理が1回目の算出処理であれば、その一致度Sをメモリ13aに格納するとともに、剛体変換後の3次元点群データBをメモリ13aに格納する。
 剛体変換部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(第1の閾値)とを比較するとともに、メモリ13aに格納されている一致度Sと、事前に設定された一致度である設定一致度SES(第2の閾値)とを比較する。設定試行回数CESや設定一致度SESは、3次元点群データのデータ数などによって変わるが、例えば、設定試行回数CESとしては10回が考えられ、設定一致度SESとしては1/10cmが考えられる。
 剛体変換部13は、C<CES、かつ、S<SESの場合、即ち、試行回数Cが設定試行回数CESに到達しておらず、かつ、メモリ13aに格納されている一致度Sが設定一致度SESより低い場合(図5のステップST17:Noの場合)、ステップST11の処理に戻り、特徴点ペアPa-bの選択処理、剛体変換に用いる行列Gの算出処理及び剛体変換処理を繰り返し実施する(図5のステップSTST11~ST16)。
 剛体変換部13は、C=CES、または、S≧SESの場合、即ち、試行回数Cが設定試行回数CESに到達している場合、または、メモリ13aに格納されている一致度Sが設定一致度SES以上である場合(図5のステップST17:Yesの場合)、メモリ13aに格納されている剛体変換後の3次元点群データBを点群データ出力部14に出力する(図5のステップST18)。
 点群データ出力部14は、剛体変換部13から剛体変換後の3次元点群データBを受けると、位置合わせ後の3次元点群データBとして、剛体変換後の3次元点群データBを外部記憶装置2に格納する。あるいは、剛体変換後の3次元点群データBを表示装置3に表示する。
 以上で明らかなように、この実施の形態1によれば、剛体変換部13が、複数の特徴点のペアを選択する選択処理を繰り返し実施して、剛体変換に用いる行列Gを算出する算出処理と3次元点群データBを剛体変換する剛体変換処理とを繰り返し実施するように構成したので、3次元点群データAと3次元点群データBの位置合わせ精度を高めることができる効果を奏する。
 即ち、この実施の形態1では、ペア探索部12により決定された複数の特徴点ペアPa-bの中に、組み合わせに誤りがある特徴点ペアPa-bが含まれている場合でも、剛体変換部13が、誤りがある特徴点ペアPa-bから算出した行列Gを用いた剛体変換後の3次元点群データBを出力する可能性を低減できるため、3次元点群データAと3次元点群データBの位置合わせ精度を高めることができる。
 この実施の形態1では、剛体変換部13が、ペア探索部12により探索されたN個の特徴点ペアPa-bの中から、3つの特徴点ペアPa-bを選択する例を示したが、これに限るものではなく、N個の特徴点ペアPa-bの中から、4つ以上の特徴点ペアPa-bを選択するようにしてもよい。
実施の形態2.
 上記実施の形態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はこの発明の実施の形態2による位置合わせ装置を示す構成図であり、図7はこの発明の実施の形態2による位置合わせ装置のハードウェア構成図である。
 図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を再選択する処理を実施する。
 図6では、位置合わせ装置の構成要素である点群データ読込部11、ペア探索部12、剛体変換部15及び点群データ出力部14のそれぞれが、図7に示すような専用のハードウェア、即ち、点群データ読込回路21、ペア探索回路22、剛体変換回路25及び点群データ出力回路24で実現されるものを想定している。
 ここで、点群データ読込回路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)。
 剛体変換部15は、3つの特徴点ペアPa-bを選択すると、3つの特徴点ペアPa-bの良否を判定する。
 3つの特徴点ペアPa-bにおける良否の判定は、3つの特徴点ペアPa-bの間の位置関係が、剛体変換に用いる行列Gを高精度に算出することが可能な関係にあるか否かを検証するものである。
 剛体変換部15は、3つの特徴点ペアPa-bにおける良否の具体的な判定として、例えば、下記に示すような判定を行う。
 剛体変換部15は、3つの特徴点ペアPa-bに含まれている3つの特徴点aを頂点とする多角形である三角形と、3つの特徴点ペアPa-bに含まれている3つの特徴点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つの三角形が類似していないと判定する。
 剛体変換部15は、3つの特徴点ペアPa-bが否であると判定すれば(図8のステップST21:Noの場合)、ステップST11の処理に戻り、メモリ15aに格納しているN個の特徴点ペアPa-bの中から、3つの特徴点ペアPa-bを再選択する(図8のステップST11)。
 このとき、再選択する3つの特徴点ペアPa-bの組み合わせは、過去に選択されていない組み合わせである。
 剛体変換部15は、3つの特徴点ペアPa-bが良であると判定すれば(図8のステップST21:Yesの場合)、ステップST12に移行する。以降の処理内容は、上記実施の形態1における図1の剛体変換部13と同様であるため説明を省略する。
 以上で明らかなように、この実施の形態2によれば、剛体変換部15が、3つの特徴点ペアPa-bの良否を判定し、その判定の結果が否であれば、ペア探索部12により探索されたN個の特徴点ペアPa-bの中から、3つの特徴点ペアPa-bを再選択するように構成したので、上記実施の形態1よりも、3次元点群データBの剛体変換に用いる行列Gの算出精度が向上し、さらに、3次元点群データAと3次元点群データBの位置合わせ精度を高めることができる効果を奏する。
 また、実行する必要がない剛体変換処理や、一致度の算出処理を省略することができるため、上記実施の形態1よりも、計算量を削減して、処理時間を短縮することができる。
 この実施の形態2では、剛体変換部15が、3つの特徴点ペアPa-bの良否を判定し、その判定の結果が否であれば、ペア探索部12により探索されたN個の特徴点ペアPa-bの中から、3つの特徴点ペアPa-bを再選択するものを示したが、剛体変換部15が、3次元点群データBの剛体変換に用いる行列Gの良否を判定し、その判定の結果が否であれば、ペア探索部12により探索されたN個の特徴点ペアPa-bの中から、3つの特徴点ペアPa-bを再選択するようにしてもよい。この場合も、3次元点群データAと3次元点群データBの位置合わせ精度を高めることができる。
 3次元点群データBの剛体変換に用いる行列Gの良否は、例えば、以下のように判定する。
 剛体変換部15は、図1の剛体変換部13と同様に、ソースの3次元点群データBを剛体変換すると、下記の式(12)に示すように、3つの特徴点ペアPa-bに含まれている3つの特徴点aと、3つの特徴点ペアPa-bに含まれている剛体変換後の3つの特徴点bとの距離Dを算出する。

Figure JPOXMLDOC01-appb-I000012
 剛体変換部15は、算出した距離Dが予め設定された距離閾値より短ければ、3次元点群データBの剛体変換に用いる行列Gが良であると判定し、その距離閾値以上であれば、3次元点群データBの剛体変換に用いる行列Gが否であると判定する。距離閾値としては、例えば10cmなどが考えられる。
 剛体変換部15は、3次元点群データBの剛体変換に用いる行列Gが良であると判定すれば、以降の処理内容は上記実施の形態1における剛体変換部13と同様である。
 剛体変換部15は、3次元点群データBの剛体変換に用いる行列Gが否であると判定すれば、ステップST11の処理に戻り、メモリ15aに格納しているN個の特徴点ペアPa-bの中から、3つの特徴点ペアPa-bを再選択する。
 3次元点群データBの剛体変換に用いる行列Gの良否は、次のように判定してもよい。
 剛体変換部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を算出する。
 3次元点群データBの拡大縮小率rは、例えば、以下の非特許文献4に記載されている方法を用いて、算出することができる。

Figure JPOXMLDOC01-appb-I000013

[非特許文献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が良であると判定する。この閾値としては、例えば、0.9~1.1などが考えられる。
 剛体変換部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を再選択する。
 なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
 この発明は、計測対象における複数の計測点の3次元座標を示す点群データ間の位置合わせを行う位置合わせ装置、位置合わせ方法及び位置合わせプログラムに適している。
 1 3次元センサ、2 外部記憶装置、3 表示装置、11 点群データ読込部、12 ペア探索部、13 剛体変換部、13a メモリ、14 点群データ出力部、15 剛体変換部、15a メモリ、21 点群データ読込回路、22 ペア探索回路、23 剛体変換回路、24 点群データ出力回路、25 剛体変換回路、31 メモリ、32 プロセッサ。

Claims (13)

  1.  計測対象における複数の計測点の3次元座標を示す第1の点群データから複数の特徴点を抽出するとともに、前記計測対象における複数の計測点の3次元座標を示す第2の点群データから複数の特徴点を抽出し、前記第1の点群データから抽出した複数の特徴点と、前記第2の点群データから抽出した複数の特徴点との間で対応関係がある特徴点のペアをそれぞれ探索するペア探索部と、
     前記ペア探索部により探索された全ての特徴点のペアの中から、複数の特徴点のペアを選択して、その選択した特徴点のペアから、前記第2の点群データの剛体変換に用いる行列を算出し、前記行列を用いて、前記第2の点群データを剛体変換する剛体変換部とを備え、
     前記剛体変換部は、前記複数の特徴点のペアを選択する選択処理を繰り返し実施して、前記行列を算出する算出処理と前記第2の点群データを剛体変換する剛体変換処理とを繰り返し実施することを特徴とする位置合わせ装置。
  2.  前記剛体変換部は、前記第2の点群データを剛体変換する毎に、前記第1の点群データと剛体変換後の第2の点群データとの間の一致度を算出し、今回算出した一致度が過去に算出した全ての一致度より高ければ、位置合わせ後の第2の点群データとして、今回の剛体変換処理による剛体変換後の第2の点群データを上書き保存することを特徴とする請求項1記載の位置合わせ装置。
  3.  前記剛体変換部は、前記剛体変換処理の実施回数が第1の閾値に到達するまでの間、前記ペアの選択処理、前記行列の算出処理及び前記剛体変換処理を繰り返し実施することを特徴とする請求項2記載の位置合わせ装置。
  4.  前記剛体変換部は、前記第1の点群データと剛体変換後の第2の点群データとの間の一致度が第2の閾値より高くなるまでの間、前記ペアの選択処理、前記行列の算出処理及び前記剛体変換処理を繰り返し実施することを特徴とする請求項2記載の位置合わせ装置。
  5.  前記剛体変換部は、前記ペア探索部により探索された全ての特徴点のペアの中から、複数の特徴点のペアを選択する選択処理を繰り返し実施する際、組み合わせが異なる複数の特徴点のペアを選択することを特徴とする請求項2記載の位置合わせ装置。
  6.  前記剛体変換部は、前記ペア探索部により探索された全ての特徴点のペアの中から、複数の特徴点のペアを選択すると、前記選択した複数の特徴点のペアの良否を判定し、前記判定の結果が否であれば、前記ペア探索部により探索された全ての特徴点のペアの中から、複数の特徴点のペアを再選択することを特徴とする請求項5記載の位置合わせ装置。
  7.  前記剛体変換部は、前記選択したペアに含まれている前記第1の点群データから抽出された複数の特徴点を頂点とする多角形と、前記選択したペアに含まれている前記第2の点群データから抽出された複数の特徴点を頂点とする多角形とが類似しているか否かを判定し、前記類似の判定結果から前記選択した複数の特徴点のペアの良否を判定することを特徴とする請求項6記載の位置合わせ装置。
  8.  前記剛体変換部は、前記第2の点群データの剛体変換に用いる行列の良否を判定し、前記判定の結果が否であれば、前記ペア探索部により探索された全ての特徴点のペアの中から、複数の特徴点のペアを再選択することを特徴とする請求項5記載の位置合わせ装置。
  9.  前記剛体変換部は、前記第2の点群データの剛体変換に用いる行列を用いて、前記選択したペアに含まれている前記第2の点群データから抽出された複数の特徴点を剛体変換し、前記選択したペアに含まれている前記第1の点群データから抽出された複数の特徴点と、前記剛体変換後の複数の特徴点との距離から、前記行列の良否を判定することを特徴とする請求項8記載の位置合わせ装置。
  10.  前記剛体変換部は、前記第2の点群データの剛体変換に用いる行列を用いて、前記選択したペアに含まれている前記第2の点群データから抽出された複数の特徴点を剛体変換し、前記選択したペアに含まれている前記第1の点群データから抽出された複数の特徴点を頂点とする多角形と、前記剛体変換後の複数の特徴点を頂点とする多角形との大きさの比率から、前記行列の良否を判定することを特徴とする請求項8記載の位置合わせ装置。
  11.  前記ペア探索部は、前記第1及び第2の点群データから抽出した特徴点毎に、当該特徴点の周辺形状を表す特徴ベクトルを求め、前記第1の点群データから抽出した複数の特徴点に対応する特徴ベクトルと、前記第2の点群データから抽出した複数の特徴点に対応する特徴ベクトルとを比較することで、対応関係がある複数の特徴点のペアを探索することを特徴とする請求項1記載の位置合わせ装置。
  12.  ペア探索部が、計測対象における複数の計測点の3次元座標を示す第1の点群データから複数の特徴点を抽出するとともに、前記計測対象における複数の計測点の3次元座標を示す第2の点群データから複数の特徴点を抽出し、前記第1の点群データから抽出した複数の特徴点と、前記第2の点群データから抽出した複数の特徴点との間で対応関係がある特徴点のペアをそれぞれ探索し、
     剛体変換部が、前記ペア探索部により探索された全ての特徴点のペアの中から、複数の特徴点のペアを選択して、その選択した特徴点のペアから、前記第2の点群データの剛体変換に用いる行列を算出し、前記行列を用いて、前記第2の点群データを剛体変換し、
     前記剛体変換部では、前記複数の特徴点のペアを選択する選択処理を繰り返し実施して、前記行列を算出する算出処理と前記第2の点群データを剛体変換する剛体変換処理とを繰り返し実施することを特徴とする位置合わせ方法。
  13.  計測対象における複数の計測点の3次元座標を示す第1の点群データから複数の特徴点を抽出するとともに、前記計測対象における複数の計測点の3次元座標を示す第2の点群データから複数の特徴点を抽出し、前記第1の点群データから抽出した複数の特徴点と、前記第2の点群データから抽出した複数の特徴点との間で対応関係がある特徴点のペアをそれぞれ探索するペア探索処理手順と、
     前記ペア探索処理手順により探索された全ての特徴点のペアの中から、複数の特徴点のペアを選択して、その選択した特徴点のペアから、前記第2の点群データの剛体変換に用いる行列を算出し、前記行列を用いて、前記第2の点群データを剛体変換する剛体変換処理手順とをコンピュータに実行させるための位置合わせプログラムであり、
     前記剛体変換処理手順では、前記複数の特徴点のペアを選択する選択処理を繰り返し実施して、前記行列を算出する算出処理と前記第2の点群データを剛体変換する剛体変換処理とを繰り返し実施することを特徴とする位置合わせプログラム。
PCT/JP2016/066226 2016-06-01 2016-06-01 位置合わせ装置、位置合わせ方法及び位置合わせプログラム WO2017208394A1 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5365969B2 (ja) * 2007-11-13 2013-12-11 富士ゼロックス株式会社 画像処理装置及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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