JP6583674B2 - Three-dimensional measuring apparatus, pattern generating apparatus, and method - Google Patents

Three-dimensional measuring apparatus, pattern generating apparatus, and method Download PDF

Info

Publication number
JP6583674B2
JP6583674B2 JP2015179837A JP2015179837A JP6583674B2 JP 6583674 B2 JP6583674 B2 JP 6583674B2 JP 2015179837 A JP2015179837 A JP 2015179837A JP 2015179837 A JP2015179837 A JP 2015179837A JP 6583674 B2 JP6583674 B2 JP 6583674B2
Authority
JP
Japan
Prior art keywords
pattern
line segment
line
unit
column
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2015179837A
Other languages
Japanese (ja)
Other versions
JP2017053812A (en
Inventor
有貴 仁科
有貴 仁科
康代 小竹
康代 小竹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Omron Healthcare Co Ltd
Original Assignee
Omron Corp
Omron Healthcare Co Ltd
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 Omron Corp, Omron Healthcare Co Ltd filed Critical Omron Corp
Priority to JP2015179837A priority Critical patent/JP6583674B2/en
Publication of JP2017053812A publication Critical patent/JP2017053812A/en
Application granted granted Critical
Publication of JP6583674B2 publication Critical patent/JP6583674B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

本発明は、パターン光を投影して測定対象物の3次元位置を測定する3次元測定技術に関し、特に、ランダムカットを有する線パターンを投影する3次元測定技術における線パターンの決定に関する。   The present invention relates to a three-dimensional measurement technique for measuring a three-dimensional position of a measurement object by projecting pattern light, and more particularly to determination of a line pattern in a three-dimensional measurement technique for projecting a line pattern having a random cut.

測定対象物の3次元形状を測定する手法として、アクティブステレオ測量が知られている。アクティブステレオ測量では、測定対象物に符号化したパターン光(構造化光)を投影した状態で撮影を行い、撮影された画像上でのパターンの位置から、三角測量の原理を用いて測定対象物の3次元形状(各画素の3次元位置)を求める。正確な3次元位置を求めるためには、撮影画像から符号化したパターン光の符号(インデックス)を正確に求める必要がある。   Active stereo surveying is known as a technique for measuring the three-dimensional shape of a measurement object. In active stereo surveying, an image is taken with projected pattern light (structured light) projected onto the object to be measured, and the object to be measured using the principle of triangulation from the position of the pattern on the photographed image. The three-dimensional shape (three-dimensional position of each pixel) is obtained. In order to obtain an accurate three-dimensional position, it is necessary to accurately obtain the code (index) of the pattern light encoded from the captured image.

物体表面に3次元的な起伏がある場合でも有効なパターンとして、ランダムカットを有する線パターンを用いることが知られている(特許文献1、非特許文献1)。ランダムカットを有する線パターンとは、複数列に平行に並ぶ直線(線分)をそれぞれランダムな位置および間隔で切断して複数の線分に分割したパターンである。本明細書では簡単のためにランダムカットを有する線パターンのことを単に「線パターン」と称する。エピポーララインが水平(横方向、X方向)である場合、線パターンの各直線は一般に垂直方向(縦方向、Y方向)に平行とする。線パターンでは、ある線分とその周囲の線分のY座標の相対位置(座標)の関係を用いて符号化が行われる。投影パターンのY座標の相対位置は対象物に対する距離や形状によらないので、符号情報が損なわれずに精度の良い測定が行える。   It is known to use a line pattern having a random cut as an effective pattern even when there is a three-dimensional undulation on the object surface (Patent Document 1, Non-Patent Document 1). The line pattern having a random cut is a pattern in which straight lines (line segments) arranged in parallel in a plurality of columns are cut at random positions and intervals and divided into a plurality of line segments. In the present specification, a line pattern having a random cut is simply referred to as a “line pattern” for the sake of simplicity. When the epipolar line is horizontal (lateral direction, X direction), each straight line of the line pattern is generally parallel to the vertical direction (vertical direction, Y direction). In the line pattern, encoding is performed using the relationship between the relative position (coordinate) of the Y coordinate of a certain line segment and the surrounding line segments. Since the relative position of the Y coordinate of the projection pattern does not depend on the distance or shape with respect to the object, the code information can be measured without loss of accuracy.

線パターンにおける符号情報は、周囲の線分のY座標の位置関係によって決定されるので、符号情報を求める対象の線分(以下、ターゲット線分と称する)と隣接する線分を決定する必要がある。従来技術では、ターゲット線分の上側、下側、右上側、左上側、右下側、左下側の6個の隣接線分を求めている。ターゲット線分の上下の隣接線分は、ターゲット線分を延長した方向にある線分として求められる。右上側の隣接線分は、ターゲット線分よりも右側に位置し、ターゲット線分の上端位置を通る水平線(より正確には、エピポーラライン)と右側で最初に交わる線分として特定される。左上、右下、左下側の隣接線分についても同様である。   Since the code information in the line pattern is determined by the positional relationship of the Y coordinates of the surrounding line segments, it is necessary to determine a line segment adjacent to the target line segment for which the code information is obtained (hereinafter referred to as a target line segment). is there. In the prior art, six adjacent line segments are obtained on the upper side, lower side, upper right side, upper left side, lower right side, and lower left side of the target line segment. The upper and lower adjacent line segments of the target line segment are obtained as line segments in the direction in which the target line segment is extended. The adjacent line segment on the upper right side is located on the right side of the target line segment, and is specified as the line segment that first intersects with the horizontal line (more precisely, the epipolar line) passing through the upper end position of the target line segment on the right side. The same applies to the upper left, lower right, and lower left side adjacent line segments.

上述のようにして隣接部分を探索するので、線パターンにおいて、ターゲット線分の上下端位置が隣接列のカット部分(線分がない部分)と一致すると、2列以上隣の列の線分がターゲット線分の隣接線分として求められたり、隣接線分が見つからなかったりする事態が生じる。つまり、ターゲット線分の隣接線分を誤検出することになり、正しい符号情報が得られずに3次元位置の誤検出が生じる。   Since the adjacent portion is searched as described above, when the upper and lower end positions of the target line segment coincide with the cut portion of the adjacent column (the portion without the line segment) in the line pattern, the line segment of two or more adjacent columns is A situation occurs in which a target line segment is obtained as an adjacent line segment or an adjacent line segment is not found. That is, the adjacent line segment of the target line segment is erroneously detected, and correct code information cannot be obtained, resulting in erroneous detection of the three-dimensional position.

特開平1−274007号公報JP-A-1-274007

Minoru Maruyama et. al., Range Sensing by Projecting Multiple Slits with Random Cuts, IEEE Transactions on pattern analysis and machine intelligence, Vol. 15, No., 6, June 1993.Minoru Maruyama et.al., Range Sensing by Projecting Multiple Slits with Random Cuts, IEEE Transactions on pattern analysis and machine intelligence, Vol. 15, No., 6, June 1993.

本発明は上記実情に鑑みなされたものであって、本発明の目的は、線パターンを用いたアクティブステレオ測量において精度の良い3次元位置測定が可能な手法を提供することである。   The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a technique capable of accurate three-dimensional position measurement in active stereo survey using a line pattern.

上記の課題を解決するために、本発明の第一の態様は、複数列に平行に並ぶ直線をそれぞれランダムな位置および間隔で切断して複数の線分に分割したパターンを有するパターン光を測定対象物に投影する照明手段と、前記パターン光が投影された前記測定対象物を撮影する撮像手段と、撮影画像における線分の上端および下端の位置と前記線分の周囲の線分の上端および下端の位置を用いて、前記撮影画像における前記線分と前記パターンにおける線分との対応を求めて、前記測定対象物の3次元位置を算出する算出手段と、を備える3次元測定装置である。ここで、前記パターンは、前記パターンにおける線分の上端および下端位置からエピポーララインに沿って直線を引いたときに、これらの直線は前記線分のいずれの側においても隣接列の線分と交わる、という制約を満たすことを特徴とする。   In order to solve the above problems, the first aspect of the present invention is to measure pattern light having a pattern in which straight lines arranged in parallel in a plurality of rows are cut at random positions and intervals and divided into a plurality of line segments. Illuminating means for projecting onto the object, imaging means for photographing the measurement object onto which the pattern light is projected, positions of the upper and lower ends of the line segment in the photographed image, and the upper end of the line segment around the line segment and A three-dimensional measurement apparatus comprising: a calculation unit that calculates a three-dimensional position of the measurement object by obtaining a correspondence between the line segment in the captured image and a line segment in the pattern using a lower end position. . Here, when a straight line is drawn along the epipolar line from the upper end and the lower end position of the line segment in the pattern, these lines intersect with the line segments of the adjacent columns on either side of the line segment. It is characterized by satisfying the constraint.

このような制約を満たす線パターンを採用すれば、線パターンにおける各線分の上端および下端を通るエピポーララインに沿って隣接線分を探索する際に、かならず隣接列の線分が見つけられる。すなわち、撮影画像中において線分の隣接線分を求める際の誤検出を抑制できる。なお、誤検出には、実際には隣接していない線分を隣接線分として検出してしまうことと、隣接線分を見つけられないことの両方が含まれる。   When a line pattern satisfying such a restriction is adopted, when searching for an adjacent line segment along an epipolar line passing through the upper end and the lower end of each line segment in the line pattern, the line segment of the adjacent column is always found. That is, it is possible to suppress erroneous detection when obtaining an adjacent line segment in the captured image. Note that erroneous detection includes both detecting a line segment that is not actually adjacent as an adjacent line segment and not being able to find an adjacent line segment.

なお、本発明における線パターンは、構成要素である線分の全てについて上記の制約を満たすことが好ましい(ただしパターン端部列の線分については隣接する線分との間で制約を満たせばよい)。全ての線分に関して隣接線分を正しく求められるためである。しかしながら、一部の線分について上記の制約を満たさなかったとしても全体的には精度の良い測定が可能である。したがって、一部の線分については上記の制約を満たさなくても構わない。本発明においては、線パターンを構成する全線分のうち90%以上の線分について上記の制約を満たすことが好ましく、全線分のうち95%以上の線分について上記の制約を満たすことがさらに好ましく、全線分について上記の制約を満たすことが最も好ましい。   In addition, it is preferable that the line pattern in the present invention satisfies the above-described restrictions for all the line segments that are constituent elements (however, the line segments in the pattern end row need only satisfy the restrictions between adjacent line segments. ). This is because adjacent line segments can be obtained correctly for all line segments. However, even if some of the line segments do not satisfy the above-mentioned restrictions, overall accurate measurement is possible. Therefore, some of the line segments need not satisfy the above constraints. In the present invention, it is preferable to satisfy the above-mentioned restrictions for 90% or more of all line segments constituting the line pattern, and it is more preferable to satisfy the above-mentioned restrictions for 95% or more of all line segments. Most preferably, the above constraints are satisfied for all line segments.

上記の説明において、投影光のパターンは複数列に平行に並ぶ直線をそれぞれランダムな位置および間隔で切断して複数の線分に分割したパターンである、と記載しているが、これはパターンの生成方法を特定するものではない。この記載は、パターンの形状自体を特定するものである。したがって、上記のパターンは、任意の手法によって生成されたものであって構わない。   In the above description, the projection light pattern is described as a pattern in which straight lines arranged in parallel in a plurality of columns are each cut at random positions and intervals and divided into a plurality of line segments. It does not specify the generation method. This description specifies the pattern shape itself. Therefore, the above pattern may be generated by an arbitrary method.

本態様において、照明手段と撮像手段の光軸を略平行とし、上記のパターンにおける線分をエピポーララインと垂直とすることが好ましい。この場合、上記の制約は、パターンにおける線分の上端および下端位置を通る当該線分の垂線が、前記線分のいずれの側においても隣接列の線分と交わるという制約と等しくなる。   In this aspect, it is preferable that the optical axes of the illumination unit and the imaging unit are substantially parallel, and the line segment in the pattern is perpendicular to the epipolar line. In this case, the above constraint is equal to the constraint that the perpendicular line of the line segment passing through the upper and lower positions of the line segment intersects the line segment of the adjacent column on either side of the line segment.

また、本態様において、左右方向に隣接する線分同士は、線分方向について所定の長さ以上の重なりを有することが好ましい。すなわち、前記パターンは、前記パターンにおける線分の上端位置からエピポーララインに沿って直線を引いたときに、当該直線は前記線分のいずれの側においても隣接列の線分の下端位置よりも所定の長さ以上、上の位置で交
わり、前記線分の下端位置からエピポーララインに沿って直線を引いたときに、当該直線は前記線分のいずれの側においても隣接列の線分の上端位置よりも所定の長さ以上、下の位置で交わる、ことが好ましい。ここでの所定の長さは、撮影画像の歪みやノイズに伴って生じうる位置ズレ量もしくはそれ以上の値であることが好ましい。このようにすれば、画像撮影時に歪みやノイズが生じた場合であっても、隣接線分を正しく求めることができる。
Moreover, in this aspect, it is preferable that the line segments adjacent in the left-right direction have an overlap of a predetermined length or more in the line segment direction. That is, when the pattern draws a straight line along the epipolar line from the upper end position of the line segment in the pattern, the straight line is more predetermined than the lower end position of the line segment of the adjacent column on either side of the line segment. When the straight line is drawn along the epipolar line from the lower end position of the line segment, the straight line is located at the upper end position of the adjacent line segment on either side of the line segment. It is preferable to cross at a lower position more than a predetermined length. The predetermined length here is preferably a value that is greater than or equal to the amount of positional deviation that can occur due to distortion or noise in the captured image. In this way, the adjacent line segment can be obtained correctly even when distortion or noise occurs during image capture.

本発明の第の態様は、照明手段と撮像手段を有する3次元測定装置における照明手段が投影する投影光のパターンを生成するパターン生成装置である。本態様に係るパターン生成装置が生成するパターンは、複数列に平行に並ぶ直線をそれぞれランダムな位置および間隔で切断して複数の線分に分割したパターンであり、かつ、当該パターンにおける線分の上端および下端位置からエピポーララインに沿って直線を引いたときに、これらの直線は前記線分のいずれの側においても隣接列の線分と交わるという制約を満たす、ことを特徴とする。 A second aspect of the present invention is a pattern generation device that generates a pattern of projection light projected by an illumination unit in a three-dimensional measurement apparatus having an illumination unit and an imaging unit. The pattern generated by the pattern generation apparatus according to this aspect is a pattern in which straight lines arranged in parallel in a plurality of columns are each cut at random positions and intervals and divided into a plurality of line segments, and the line segments in the pattern are When straight lines are drawn along the epipolar line from the upper end and lower end positions, these straight lines satisfy the restriction that they intersect with the line segments of the adjacent columns on either side of the line segment.

本態様に係るパターン生成装置は、1つまたは複数の線分のパターンをランダムに仮生成して、上記制約を満たさなければ再生成し、上記制約を満たせばパターンとして採用するようにする。すなわち、本態様に係るパターン生成装置は、線分の長さおよび線分間の間隔(縦間隔)をランダムに決定して1つまたは複数の線分を生成する生成手段と、新たに生成した1つまたは複数の線分と、既にパターンとして確定した線分との間で、上記制約を満たすか否かを確認する確認手段と、を備え、前記制約を満たす場合は新たに生成した1つまたは複数の線分をパターンの一部として確定し、前記制約を満たさない場合は前記制約を満たすまで前記生成手段による生成と前記確認手段による確認を繰り返す、ことができる。このようにすれば、上記の制約を満たすパターンを生成することができる。なお、線分の太さと隣接列の線分同士の間隔は、それぞれ固定値を用いればよい。   The pattern generation apparatus according to this aspect temporarily generates one or a plurality of line segment patterns, regenerates the pattern if the constraint is not satisfied, and adopts the pattern as the pattern if the constraint is satisfied. That is, the pattern generation apparatus according to this aspect includes a generation unit that randomly determines the length of a line segment and the interval (vertical interval) between the line segments and generates one or more line segments, and a newly generated 1 Confirmation means for confirming whether or not the above-mentioned constraint is satisfied between one or a plurality of line segments and a line segment already determined as a pattern. A plurality of line segments are determined as a part of a pattern, and when the constraint is not satisfied, generation by the generation unit and confirmation by the confirmation unit can be repeated until the constraint is satisfied. In this way, a pattern that satisfies the above constraints can be generated. In addition, what is necessary is just to use a fixed value for the space | interval of the thickness of a line segment, and the line segment of an adjacent column, respectively.

上記の構成において、1列ずつ、ランダムな生成と制約を満たすか否かの確認を行うことができる。あるいは、複数列ずつ、ランダムな生成と制約を満たすか否かの確認を行うことができる。   In the above configuration, it is possible to check whether random generation and constraints are satisfied for each column. Alternatively, it is possible to confirm whether or not random generation and constraints are satisfied for each of a plurality of columns.

本態様に係るパターン生成装置は、全体の列数の半分の列については、前記生成手段と前記確認手段を用いて生成し、残りの半分については、前記生成手段と前記確認手段を用いて生成されたパターンを180度回転させたパターンとして生成する、ことが好ましい。制約を満たすパターンは180度回転させても制約を満たすので、ランダムに生成したパターンと回転させたパターンの境界部を除いて制約を必ず満たす。境界部において制約を満たさない場合には、上記制約を満たすように境界部分のいずれかまたは両方の列のパ
ターンを再生成すればよい。このようにすれば、ランダムに生成する列の数を全体の半分としつつ全体として制約を満たすパターンを生成できるので、処理が高速化される。
The pattern generation apparatus according to this aspect generates a half of the total number of columns using the generation unit and the confirmation unit, and generates the remaining half using the generation unit and the confirmation unit. The generated pattern is preferably generated as a pattern rotated by 180 degrees. A pattern that satisfies the constraint satisfies the constraint even if it is rotated by 180 degrees. Therefore, the constraint is always satisfied except for the boundary between the randomly generated pattern and the rotated pattern. If the constraint is not satisfied at the boundary, the pattern of either or both columns of the boundary may be regenerated to satisfy the constraint. In this way, it is possible to generate a pattern that satisfies the constraints as a whole while reducing the number of randomly generated columns to half of the entire number, so that the processing speed is increased.

本態様に係るパターン生成装置は、生成したパターンに所定の変形処理を加えたパターンを3次元測定装置における撮像手段によって撮影される画像とみなして、生成したパターンとの間で線分の対応関係を求めて、求められた対応関係の正確さを評価する評価手段をさらに有し、前記制約を満たす複数のパターンを生成して、前記評価手段による評価が最も高いパターンを最終的なパターンとして決定する、ことが好ましい。ここで、上記所定の変形処理は、実際の3次元測定を行う際に生じる歪みやノイズに起因する線分抽出時の変形を模擬したものとすることが好ましい。上述のように線パターンを用いた3次元測定では、各線分の上下方向の位置を用いて線分の対応関係が求められるので、撮影画像とみなすパターンにおける各線分の上下方向の位置にランダムな誤差またはオフセット誤差を与えることが好ましい。このランダムな誤差は、例えば、平均がゼロで所定の標準偏差にしたがった正規分布にしたがった乱数により決定するとよい。また、このオフセット誤差は、例えば、予め定められた一定の値とするとよい。このようにすれば、生成したパターンを用いて3次元測定を行ったときの対応関係の正確さを評価することができ、最も正確な対応関係が得られるパターンを選択することができる。なお、対応関係の正確さは、3次元測定において用いられるロジックと同様のロジックを用いて線分の対応関係を求め、正しい対応関係が得られた線分の数あるいは割合として求めることができる。   The pattern generation apparatus according to this aspect regards a pattern obtained by adding a predetermined deformation process to the generated pattern as an image captured by an imaging unit in the three-dimensional measurement apparatus, and a correspondence relationship between the generated pattern and a line segment And evaluating means for evaluating the accuracy of the obtained correspondence, generating a plurality of patterns satisfying the constraints, and determining a pattern having the highest evaluation by the evaluation means as a final pattern It is preferable to do. Here, it is preferable that the predetermined deformation process simulates the deformation at the time of line segment extraction caused by distortion or noise generated when actual three-dimensional measurement is performed. As described above, in the three-dimensional measurement using the line pattern, since the correspondence of the line segment is obtained using the vertical position of each line segment, the vertical position of each line segment in the pattern regarded as the photographed image is random. It is preferable to provide an error or an offset error. This random error may be determined by a random number according to a normal distribution according to a predetermined standard deviation with an average of zero, for example. Also, this offset error may be a predetermined constant value, for example. In this way, it is possible to evaluate the accuracy of the correspondence relationship when the three-dimensional measurement is performed using the generated pattern, and it is possible to select the pattern that provides the most accurate correspondence relationship. Note that the accuracy of the correspondence can be obtained as the number or ratio of the line segments in which the correct correspondence is obtained by using the same logic as that used in the three-dimensional measurement.

また、本態様に係るパターン生成装置は、前記制約を満たすパターンをN個(Nは2以上の整数)生成して、N個のパターンの中から前記評価手段による評価が高い上位M個(Mは1以上N−1以下の整数)に基づいてN−M個のパターンを新たに生成し、前記上位M個のパターンと、新たに生成したN−M個のパターンの中から前記評価手段による評価が最も高いパターンを最終的なパターンとして決定する、ことも好ましい。このように、評価の高いパターンを変形させて新たなパターンを生成することで、より評価の高いパターンが得られる可能性がある。   The pattern generation apparatus according to this aspect generates N patterns (N is an integer equal to or greater than 2) that satisfy the constraint, and among the N patterns, the top M (M Is an integer from 1 to N−1), and NM patterns are newly generated, and the top M patterns and the newly generated NM patterns are selected by the evaluation unit. It is also preferable to determine a pattern having the highest evaluation as a final pattern. In this way, by generating a new pattern by deforming a highly evaluated pattern, there is a possibility that a more highly evaluated pattern can be obtained.

ここで、N個のパターンの中から前記評価手段による評価が高い上位M個に基づいてN−M個のパターンを新たに生成する処理を、繰り返し実行する、ことも好ましい。繰り返しの際には、評価が高い上位M個のパターンと新たに生成したN−M個のパターンの合計N個のパターンの中から、改めて評価が高い上位M個を選択するとよい。繰り返しに応じて、より評価の高いパターンが生成される可能性が高まる。ここで、繰り返しを終了する判定基準は、例えば、繰り返し処理をあらかじめ定められた所定回数行った場合、最も評価値の高いパターンが所定回数の繰り返し処理後でも変化しない場合、最も高い評価値が閾値以上となった場合などとすることができる。   Here, it is also preferable to repeatedly execute a process of newly generating NM patterns based on the top M pieces having a high evaluation by the evaluation means from among the N patterns. At the time of repetition, it is preferable to select a top M pattern having a high evaluation anew from a total of N patterns of a top M pattern having a high evaluation and a newly generated NM pattern. Depending on the repetition, the possibility that a pattern with higher evaluation is generated increases. Here, the criterion for ending the repetition is, for example, when the repetition process is performed a predetermined number of times, and when the pattern having the highest evaluation value does not change after the predetermined number of repetition processes, the highest evaluation value is the threshold value. This can be the case.

また、N個のパターンの中から前記評価手段による評価が高い上位M個(Mは1以上N−1以下の整数)に基づく新たなパターンの生成は、前記上位M個のパターンの中から1つを選択し、選択されたパターンの一部分を再生成することによって行われる、ことができる。ここで、上位M個のパターンの中から1つのパターンを選択する処理は、均等な確率でランダムに選択してもよいし、評価値に応じた確率でランダムに選択してもよいし、上位M個のパターンを順番に選択してもよい。また、選択された一部分の再生成は、ランダムに行ってもよいし、評価が高い上記M個のパターンのうち選択されたパターン以外のパターンの一部分で置き換えることによって行ってもよい。   Further, generation of a new pattern based on the top M pieces (M is an integer of 1 to N-1) that is highly evaluated by the evaluation means from among the N patterns is 1 out of the top M patterns. This can be done by selecting one and regenerating a portion of the selected pattern. Here, the process of selecting one pattern from the top M patterns may be randomly selected with an equal probability, may be randomly selected with a probability according to the evaluation value, You may select M patterns in order. The selected part may be regenerated at random or may be replaced by a part of a pattern other than the selected pattern among the M patterns with high evaluation.

なお、本発明は、上記手段の少なくとも一部を含む3次元測定装置パターン生成装置として捉えることができる。また、本発明は、上記手段が行う処理の少なくとも一部を含む3次元測定方法パターン生成方法として捉えることもできる。また、これらの方法の各ステップをコンピュータに実行させるためのコンピュータプログラムや、当該プログラムを非一時的に記憶したコンピュータ読取可能な記憶媒体として捉えることもできる。上記構成および処理の各々は技術的な矛盾が生じない限り互いに組み合わせて本発明を構成することができる。 Note that the present invention can be understood as a three-dimensional measuring apparatus and a pattern generating apparatus including at least a part of the above means. The present invention can also be understood as a three-dimensional measurement method and pattern generation method including at least a part of the processing performed by the above means. Moreover, it can also be grasped as a computer program for causing a computer to execute each step of these methods, or a computer-readable storage medium storing the program in a non-temporary manner. Each of the above configurations and processes can be combined with each other as long as no technical contradiction occurs.

本発明によれば、線パターンを用いたアクティブステレオ測量において精度の良い3次元位置測定が可能となる。   According to the present invention, accurate three-dimensional position measurement is possible in active stereo survey using a line pattern.

第1の実施形態に係る3次元測定装置の構成を示す図である。It is a figure which shows the structure of the three-dimensional measuring apparatus which concerns on 1st Embodiment. 第1の実施形態において投影部が投影する投影光のパターン(線パターン)を説明する図である。It is a figure explaining the pattern (line pattern) of the projection light which a projection part projects in 1st Embodiment. 第1の実施形態に係る3次元測定処理の全体の流れを示すフローチャートである。It is a flowchart which shows the whole flow of the three-dimensional measurement process which concerns on 1st Embodiment. 第1の実施形態における投影光のパターンと撮影画像の例を示す図である。It is a figure which shows the example of the pattern of the projection light and picked-up image in 1st Embodiment. 3次元測定処理における線分抽出処理の詳細な流れを示すフローチャートである。It is a flowchart which shows the detailed flow of the line segment extraction process in a three-dimensional measurement process. 3次元測定処理における対応付け処理の詳細な流れを示すフローチャートである。It is a flowchart which shows the detailed flow of the matching process in a three-dimensional measurement process. 対応付け処理における、隣接線分の特定方法を説明する図である。It is a figure explaining the identification method of an adjacent line segment in matching processing. 対応付け処理における、線分の対応候補の抽出方法を説明する図である。It is a figure explaining the extraction method of the correspondence candidate of a line segment in a matching process. 対応付け処理における、線分の対応関係の正しさを評価する評価値(コスト)を説明する図である。It is a figure explaining the evaluation value (cost) which evaluates the correctness of the correspondence of a line segment in matching processing. 対応付け処理における、誤対応除去方法を説明する図である。It is a figure explaining the miscorrespondence removal method in a matching process. 投影部とカメラの光軸が平行でない場合のエピポーララインと線パターンが満たすべき制約とを説明する図である。It is a figure explaining the epipolar line in case a projection part and the optical axis of a camera are not parallel, and the restrictions which a line pattern should satisfy | fill. 第2の実施形態に係るパターン生成装置の構成を示す図である。It is a figure which shows the structure of the pattern generation apparatus which concerns on 2nd Embodiment. 第2の実施形態に係るパターン生成方法の流れを示すフローチャートである。It is a flowchart which shows the flow of the pattern generation method which concerns on 2nd Embodiment. 第2の実施形態における設計パラメータを説明する図である。It is a figure explaining the design parameter in 2nd Embodiment. 第2の実施形態におけるパターン生成方法を説明する図である。It is a figure explaining the pattern generation method in 2nd Embodiment. 第3の実施形態に係るパターン生成装置の構成を示す図である。It is a figure which shows the structure of the pattern generation apparatus which concerns on 3rd Embodiment. 第3の実施形態に係るパターン生成方法の流れを示すフローチャートである。It is a flowchart which shows the flow of the pattern generation method which concerns on 3rd Embodiment. 第3の実施形態におけるパターン評価方法の流れを示すフローチャートである。It is a flowchart which shows the flow of the pattern evaluation method in 3rd Embodiment. 第3の実施形態のおけるパターン再生成処理の一例を説明する図である。It is a figure explaining an example of the pattern regeneration process in 3rd Embodiment. 第3の実施形態のおけるパターン再生成処理の別の例を説明する図である。It is a figure explaining another example of the pattern regeneration process in 3rd Embodiment.

(第1の実施形態)
以下、図面を参照して本発明の好適な実施形態について説明する。本実施形態に係る3次元測定装置は、測定対象物にパターン光を投影して撮影を行い、三角測量の原理を用いて測定対象物の3次元形状を測定する。
(First embodiment)
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings. The three-dimensional measurement apparatus according to the present embodiment performs imaging by projecting pattern light onto a measurement object, and measures the three-dimensional shape of the measurement object using the principle of triangulation.

[構成]
図1は、本実施形態に係る3次元測定装置100の構成を示す図である。3次元測定装置100は、大略、投影部110、カメラ120、演算装置130から構成される。
[Constitution]
FIG. 1 is a diagram illustrating a configuration of a three-dimensional measurement apparatus 100 according to the present embodiment. The three-dimensional measuring apparatus 100 is generally composed of a projection unit 110, a camera 120, and an arithmetic unit 130.

(投影部)
投影部110は、測定対象物150に対して、パターン光(構造化光)を投影するためのものであり、ハロゲンランプやキセノンランプなどの光源、光源から照射された光にパターンを形成するための液晶素子などのパターン生成素子、およびマイクロレンズなどの光学系を備える。この他に、光源として半導体レーザを用いた場合は、パターン生成素子として光学回折素子またはMEMSスキャナを用いて投影部110を構成することもできる。投影部110が投影する光は、近赤外光などの不可視光であってもよい。本実施形態においては光のパターンは、パターン記憶部131が記憶しており、パターン記憶部131から出力されるデータに基づいて制御部132が投影部110を制御することにより、投影部110からパターン光が投影される。
(Projection part)
The projection unit 110 is for projecting pattern light (structured light) onto the measurement object 150, and forms a pattern on a light source such as a halogen lamp or a xenon lamp, or light emitted from the light source. A pattern generating element such as a liquid crystal element and an optical system such as a microlens. In addition, when a semiconductor laser is used as the light source, the projection unit 110 can be configured using an optical diffraction element or a MEMS scanner as the pattern generation element. The light projected by the projection unit 110 may be invisible light such as near infrared light. In the present embodiment, the light pattern is stored in the pattern storage unit 131, and the control unit 132 controls the projection unit 110 based on data output from the pattern storage unit 131, whereby the pattern from the projection unit 110 is stored. Light is projected.

本実施形態において、投影部110の光軸は、カメラ120の光軸と平行に設定されている。投影部110とカメラ120が並ぶ方向を水平方向(X方向)とすると、投影パターンにおけるエピポーララインは水平方向となる。以下では、エピポーララインが水平であるものとして説明する。   In the present embodiment, the optical axis of the projection unit 110 is set parallel to the optical axis of the camera 120. When the direction in which the projection unit 110 and the camera 120 are arranged is the horizontal direction (X direction), the epipolar line in the projection pattern is the horizontal direction. In the following description, it is assumed that the epipolar line is horizontal.

投影部110が投影する光のパターンについて説明する。本実施形態において投影部110が投影する光のパターンは、複数列に平行に並ぶ直線をそれぞれランダムな(不規則な)位置および間隔で切断して複数の線分に分割したパターンである。以下、本実施形態において使用するこのようなパターンを「線パターン」と称する。本実施形態において使用する線パターンの例を、図2(A)に示す。線パターンでは、各線分の上端位置と下端位置および、当該線分と上、下、右上、左上、右下、左下のそれぞれの方向で隣接する各隣接線分(合計6本)の上端位置と下端位置(14個の値の組み合わせ)によって、符号化が行われる。つまり、撮影画像中において、各線分の隣接線分を求めて、その上端位置および下端位置を算出することによって、投影パターン中において対応する線分を決定することができる。   The light pattern projected by the projection unit 110 will be described. In the present embodiment, the light pattern projected by the projection unit 110 is a pattern in which straight lines arranged in parallel in a plurality of rows are cut at random (irregular) positions and intervals and divided into a plurality of line segments. Hereinafter, such a pattern used in the present embodiment is referred to as a “line pattern”. An example of a line pattern used in this embodiment is shown in FIG. In the line pattern, the upper end position and the lower end position of each line segment, and the upper end position of each adjacent line segment (6 in total) adjacent to the line segment in each of the upper, lower, upper right, upper left, lower right, and lower left directions. Encoding is performed by the lower end position (a combination of 14 values). That is, by obtaining adjacent line segments in the captured image and calculating their upper end position and lower end position, the corresponding line segment can be determined in the projection pattern.

本実施形態における線パターンは、図2(B)に示すように、
(制約1)各線分の上端位置および下端位置から水平方向に(より正確には、エピポーララインに沿って)直線を引いたときに、これらの直線は隣接する列の線分部分と交わる、
という制約を満たす。図2(B)において、線分200の上端位置および下端位置からそれぞれ水平方向に引いた直線201〜204は、いずれも隣接列の線分と交わっている。
The line pattern in this embodiment is as shown in FIG.
(Constraint 1) When a straight line is drawn in the horizontal direction from the upper end position and the lower end position of each line segment (more precisely, along the epipolar line), these straight lines intersect with the line segment portions of the adjacent columns.
Satisfies the constraint. In FIG. 2B, straight lines 201 to 204 drawn in the horizontal direction from the upper end position and the lower end position of the line segment 200 all intersect with the line segments of the adjacent columns.

本実施形態における線パターンはさらに、
(制約2)隣接する線分の線分方向について所定の長さ以上の重複を有する、
という制約をさらに満たす。図2(B)において、線分200と隣接線分の重複205〜208はいずれも所定の長さ以上ある。この制約2は、線分の上端位置から水平方向に(より正確には、エピポーララインに沿って)直線を引いたときに、隣接列の線分の下端位置から所定の長さ以上上で交わり、線分の下端位置から水平方向に直線を引いたときに、隣接列の線分の上端位置から所定の長さ以上下で交わる、とも表現できる。ここでの所定の長さは、撮影画像の歪みやノイズに伴って生じうる位置ズレ量以上とすることが好ましい。
The line pattern in this embodiment is further
(Restriction 2) There is an overlap of a predetermined length or more in the direction of the line segment of the adjacent line segment.
This constraint is further satisfied. In FIG. 2B, the overlaps 205 to 208 of the line segment 200 and the adjacent line segments are all longer than a predetermined length. This restriction 2 is such that when a straight line is drawn in the horizontal direction from the upper end position of the line segment (more precisely, along the epipolar line), it intersects at least a predetermined length from the lower end position of the line segment of the adjacent column. It can also be expressed that, when a straight line is drawn in the horizontal direction from the lower end position of the line segment, it intersects at a predetermined length or more below the upper end position of the line segment of the adjacent column. Here, it is preferable that the predetermined length is equal to or larger than the amount of positional deviation that may occur due to distortion or noise of the captured image.

上記制約を満たさないパターンを図2(C)に示す。図2(C)に示すパターンでは、線分200の上端位置から水平右方向に直線209を引いたときに、この直線209は隣接列の線分と交わらない。したがって、図2(C)に示すパターンは上記制約を満たさない。   A pattern that does not satisfy the above constraints is shown in FIG. In the pattern shown in FIG. 2C, when a straight line 209 is drawn in the horizontal right direction from the upper end position of the line segment 200, the straight line 209 does not intersect with the line segment of the adjacent column. Therefore, the pattern shown in FIG. 2C does not satisfy the above constraints.

後述するように、撮影画像における各線分の隣接線分を求める際には、線分の上端位置
および下端位置から水平方向に沿って探索を行い、最初に交差した線分を隣接線分として決定する。撮影画像中におけるパターンの形状は、測定対象物150の形状によって変化するが、垂直方向(Y方向)の位置関係は変化しない。したがって、上記制約を満たす線パターンを用いることで、撮影画像における各線分の隣接線分を、正しく求めることができる。
As will be described later, when finding adjacent line segments in the captured image, a search is performed along the horizontal direction from the upper end position and lower end position of the line segment, and the first intersecting line segment is determined as the adjacent line segment. To do. The shape of the pattern in the captured image changes depending on the shape of the measurement object 150, but the positional relationship in the vertical direction (Y direction) does not change. Therefore, by using a line pattern that satisfies the above constraints, adjacent line segments in the captured image can be obtained correctly.

(カメラ)
カメラ120は、パターン光が投影された測定対象物150を撮影する。カメラ120は、制御部132からの指令に基づき、投影部110からのパターン光の投影と同期して撮影処理を行う。カメラ120が撮影した画像データは、画像入力部133に入力される。
(camera)
The camera 120 takes an image of the measurement object 150 onto which the pattern light is projected. The camera 120 performs a photographing process in synchronization with the projection of the pattern light from the projection unit 110 based on a command from the control unit 132. Image data captured by the camera 120 is input to the image input unit 133.

(演算装置)
演算装置130は、CPUなどのプロセッサ、RAMやROMなどのメモリ(記憶装置)、外部装置とのインタフェース、キーボードやマウスなどの入力装置、およびディスプレイやスピーカーなどの出力装置を備えるコンピュータである。演算装置130は、メモリに格納されたプログラムをCPUが実行することにより、パターン記憶部131、制御部132、画像入力部133、3次元位置算出部137などの機能を提供する。なお、3次元位置算出部137は、線分抽出部134、対応付け処理部135、三角測量部136の機能を備える。演算装置130の各機能部については、以下のフローチャートとともに説明する。
(Arithmetic unit)
The arithmetic device 130 is a computer including a processor such as a CPU, a memory (storage device) such as a RAM and a ROM, an interface with an external device, an input device such as a keyboard and a mouse, and an output device such as a display and a speaker. The arithmetic device 130 provides functions such as a pattern storage unit 131, a control unit 132, an image input unit 133, and a three-dimensional position calculation unit 137 when the CPU executes a program stored in the memory. Note that the three-dimensional position calculation unit 137 includes functions of a line segment extraction unit 134, an association processing unit 135, and a triangulation unit 136. Each functional unit of the arithmetic device 130 will be described with the following flowchart.

[処理]
図3は、本実施形態に係る3次元測定装置100が行う3次元測定処理の流れを示すフローチャートである。ここで示すフローチャートは処理の一例であり、その処理内容や処理順序は適宜変更して構わない。なお、投影部110とカメラ120のキャリブレーション(較正処理)は完了しているものとし、パターン上の点とそれに対応する撮影画像の点は同じY座標になるように調整されている。
[processing]
FIG. 3 is a flowchart showing the flow of the three-dimensional measurement process performed by the three-dimensional measurement apparatus 100 according to the present embodiment. The flowchart shown here is an example of processing, and the processing content and processing order may be changed as appropriate. It is assumed that the calibration (calibration processing) of the projection unit 110 and the camera 120 has been completed, and the points on the pattern and the corresponding captured image points are adjusted to have the same Y coordinate.

まず、ステップS301において、線パターンのパターン光を投影部110から測定対象物150に対して投影し、パターン光の投影にあわせてカメラ120が測定対象物150を撮影する。この処理では、制御部132が、パターン記憶部131からパターンデータを読み出し、このパターンデータを投影部110に出力する。投影部110は、パターンデータにしたがって液晶素子を制御して、指定されたパターンの光を測定対象物150に投影する。カメラ120によって撮影された画像データは、画像入力部133に入力されて、一時的に記憶される。   First, in step S <b> 301, pattern light of a line pattern is projected from the projection unit 110 onto the measurement target 150, and the camera 120 captures the measurement target 150 in accordance with the projection of the pattern light. In this process, the control unit 132 reads pattern data from the pattern storage unit 131 and outputs the pattern data to the projection unit 110. The projection unit 110 controls the liquid crystal element according to the pattern data, and projects the light of the designated pattern onto the measurement object 150. Image data photographed by the camera 120 is input to the image input unit 133 and temporarily stored.

図4は、ステップS301において投影される投影光のパターン(A)とパターン光が投影された測定対象物150を撮影した撮影画像の例(B)を示す図である。直線からなるパターン光は測定対象物150の形状に応じて歪んだ形状として撮影される。ここで、投影光のパターン中の各点は、撮影画像中ではエピポーラライン上に位置する。そして、本実施形態では、エピポーララインが撮影画像中において水平方向であると仮定している。したがって、投影光のパターンにおける各点のY座標位置(垂直方向の位置)は撮影画像中においても変化しない。   FIG. 4 is a diagram illustrating an example (B) of a captured image obtained by capturing the pattern (A) of the projection light projected in step S301 and the measurement object 150 onto which the pattern light is projected. The pattern light composed of straight lines is photographed as a distorted shape according to the shape of the measurement object 150. Here, each point in the pattern of projection light is located on the epipolar line in the captured image. In this embodiment, it is assumed that the epipolar line is in the horizontal direction in the captured image. Therefore, the Y coordinate position (vertical position) of each point in the projection light pattern does not change in the captured image.

ステップS302において、線分抽出部134は、入力画像から線分を抽出する。線分抽出処理S302の詳細な流れを図5に示す。線分抽出部134は、まず、入力画像を二値化する(S501)。より具体的には、線分抽出部134は、入力画像のサイズを半分に縮小した後、横方向の微分フィルタを適用してエッジ強度が高い部分を抽出し、抽出した領域に対して適応二値化処理を施す。適応二値化処理では、例えば、一辺15画素の大
きさのウィンドウ内の平均輝度値を閾値として二値化を行う。線分抽出部134は、適応二値化処理後の画像を、サイズを2倍にして元のサイズに戻す。画像サイズを半分にしてから二値化処理を施すのは、線分の幅が太いと線分の幅方向中心でのエッジ強度が弱く検出され二値化処理時に中心部分が抜けてしまう現象を回避するためである。
In step S302, the line segment extraction unit 134 extracts a line segment from the input image. A detailed flow of the line segment extraction processing S302 is shown in FIG. The line segment extraction unit 134 first binarizes the input image (S501). More specifically, the line segment extraction unit 134 reduces the size of the input image by half, extracts a portion having a high edge strength by applying a horizontal differential filter, and applies an adaptive second to the extracted region. Apply value processing. In the adaptive binarization process, for example, binarization is performed using an average luminance value in a window having a size of 15 pixels on one side as a threshold value. The line segment extraction unit 134 doubles the size of the image after the adaptive binarization processing and returns it to the original size. Binarization is performed after halving the image size because if the width of the line segment is thick, the edge strength at the center in the width direction of the line segment is detected weakly and the center part is lost during binarization processing. This is to avoid it.

次に、線分抽出部134は、二値化処理後の画像から線分の領域を抽出する(S502)。具体的には、線分抽出部134は、画像中の高輝度部分の連結領域をラベリングし、誤検出領域を除去した後、細線化処理を施す。誤検出領域は、例えば、所定の幅以上ある連結領域として検出できる。また、細線化処理では、各連結領域の水平方向(X方向)の中心ピクセルを線分の座標とする。この処理により、線分の座標を画素単位で求めることができる。   Next, the line segment extraction unit 134 extracts a line segment region from the binarized image (S502). Specifically, the line segment extraction unit 134 labels the connected areas of the high-luminance portion in the image, removes the erroneous detection areas, and then performs a thinning process. The erroneous detection area can be detected as a connected area having a predetermined width or more, for example. In the thinning process, the center pixel in the horizontal direction (X direction) of each connected region is used as the coordinates of the line segment. With this process, the coordinates of the line segment can be obtained in units of pixels.

線分抽出部134は、線分の座標をサブ画素単位で求める。まず、X座標のサブピクセル推定(S503)について説明する。線分抽出部134は、ステップS502において求められた線分位置を中心とした所定の範囲におけるX方向の輝度プロファイルを取得する。この輝度プロファイルは、二値化処理前の画像を対象として行う。線分抽出部134は、輝度プロファイルにおける重心位置をサブ画素単位で求める。線分の中の各Y座標に対してX方向の重心位置を求めた後、線分抽出部134は、複数のY座標のX方向重心位置からなる線に対してさらに平滑化処理を施す。線分抽出部134は、このようにして得られたサブ画素精度の重心位置を線分のX座標とする。   The line segment extraction unit 134 determines the coordinates of the line segment in units of subpixels. First, sub-pixel estimation (S503) of the X coordinate will be described. The line segment extraction unit 134 acquires a luminance profile in the X direction in a predetermined range centered on the line segment position obtained in step S502. This luminance profile is performed on an image before binarization processing. The line segment extraction unit 134 obtains the barycentric position in the luminance profile in units of subpixels. After obtaining the X-direction barycentric position for each Y coordinate in the line segment, the line segment extracting unit 134 further performs a smoothing process on the line formed of the X-direction barycentric positions of a plurality of Y coordinates. The line segment extraction unit 134 sets the sub-pixel accuracy barycentric position thus obtained as the X coordinate of the line segment.

次に、線分の上端および下端位置のY座標のサブピクセル推定(S504)について説明する。線分抽出部134は、線分の端点よりも所定画素だけ内側の点を用いて、線分の傾きを求める。端点ではなく内側の点を用いるのは、端点ではノイズが多く正確な傾き算出が困難なためである。線分抽出部134は、求めた傾きに沿って二値化前の画像の輝度プロファイルを求め、プロファイル中において最大値と最小値の中間値を取る点のY座標をサブ画素単位で求めて、この座標を線分端点のY座標として決定する。   Next, subpixel estimation (S504) of the Y coordinate of the upper end and lower end positions of the line segment will be described. The line segment extraction unit 134 obtains the slope of the line segment using a point that is a predetermined pixel inside the end point of the line segment. The reason why the inner point is used instead of the end point is that the end point is noisy and accurate slope calculation is difficult. The line segment extraction unit 134 obtains the luminance profile of the image before binarization along the obtained inclination, and obtains the Y coordinate of the point taking the intermediate value between the maximum value and the minimum value in the profile in units of subpixels. This coordinate is determined as the Y coordinate of the line segment end point.

以上の処理により、撮影画像中の線分の位置(座標)を、サブ画素単位で求めることができる。   Through the above processing, the position (coordinates) of the line segment in the captured image can be obtained in units of subpixels.

線分抽出処理S302が終了すると、ステップS303(図3)において、対応付け処理部135が、撮影画像中の線分とパターンにおける線分との対応関係を求める。対応付け処理S303の詳細な流れを図6に示す。対応付け処理S303は、ループL1の処理において、撮影画像中の各線分について6方向の隣接線分を特定する。   When the line segment extraction process S302 ends, in step S303 (FIG. 3), the association processing unit 135 obtains a correspondence relationship between the line segment in the captured image and the line segment in the pattern. A detailed flow of the association processing S303 is shown in FIG. The association process S303 identifies adjacent line segments in six directions for each line segment in the captured image in the process of the loop L1.

ステップS601では、対応付け処理部135は、ターゲット線分LS1と上下方向において隣接する線分をそれぞれ求める。ここでは、上方向の隣接線分の求め方を図7(A)を参照して説明する。対応付け処理部135は、以下の条件を満たす線分LS2を探す。
(条件1)線分LS2の下端B2のY座標位置がターゲット線分LS1の上端T1よりも上にあり、かつ、
(条件2)線分LS2の下端B2とターゲット線分LS1の上端T1を結ぶ直線と、ターゲット線分LS1の傾き(上端T1と下端B1を結ぶ直線)とのなす角度θが45度以内である。
これらの条件を満たす線分LS2が複数存在する場合は、対応付け処理部135は、上端T1と下端B2の間の重みつき距離が最小となる線分を、ターゲット線分LS1の上方向隣接線分として特定する。なお、重みつき距離は、上端T1と下端B2の変位のうち、線分LS1の傾きに沿った変位をLy、線分LS1の傾きと垂直な変位をLxとしたときに、例えば、[4Lx+Ly1/2として求めることができる。すなわち、線分L
S1の傾きと垂直な方向への変位に対して、傾きに沿った方向の変位よりも大きな重み付けをして得られる距離を、重み付き距離とする。なお、ここでは上方向の隣接線分の求め方を説明したが、下方向の隣接線分も同様にして求めることができる。
In step S601, the association processing unit 135 obtains line segments that are adjacent to the target line segment LS1 in the vertical direction. Here, a method for obtaining an upper adjacent line segment will be described with reference to FIG. The association processing unit 135 searches for a line segment LS2 that satisfies the following conditions.
(Condition 1) The Y coordinate position of the lower end B2 of the line segment LS2 is above the upper end T1 of the target line segment LS1, and
(Condition 2) The angle θ formed by the straight line connecting the lower end B2 of the line segment LS2 and the upper end T1 of the target line segment LS1 and the inclination of the target line segment LS1 (the straight line connecting the upper end T1 and the lower end B1) is within 45 degrees. .
When there are a plurality of line segments LS2 that satisfy these conditions, the association processing unit 135 selects the line segment having the smallest weighted distance between the upper end T1 and the lower end B2 as the upper adjacent line of the target line segment LS1. Specify as minutes. Note that the weighted distance is, for example, [4Lx 2 when the displacement along the inclination of the line segment LS1 is Ly and the displacement perpendicular to the inclination of the line segment LS1 is Lx among the displacements of the upper end T1 and the lower end B2. + Ly 2 ] 1/2 . That is, line segment L
A distance obtained by weighting the displacement in the direction perpendicular to the inclination of S1 larger than the displacement in the direction along the inclination is defined as a weighted distance. Here, the method of obtaining the adjacent line segment in the upper direction has been described, but the adjacent line segment in the downward direction can be obtained in the same manner.

次に、ステップS602において、対応付け処理部135は、左上、右上、左下、右下の4方向の隣接線分をそれぞれ求める。ここでは、左上方向の隣接線分の求め方を図7(B)を参照して説明する。対応付け処理部135は、具体的には、ターゲット線分LS1の上端T1から水平左方向に向かって直線を伸ばし、この直線と最初に交差した線分をターゲット線分LS1の左上方向の隣接線分として特定する。右上、左下、右下の各方向の隣接線分も同様にして求めることができる。   Next, in step S602, the association processing unit 135 obtains adjacent line segments in the four directions of upper left, upper right, lower left, and lower right. Here, how to determine the adjacent line segment in the upper left direction will be described with reference to FIG. Specifically, the association processing unit 135 extends a straight line from the upper end T1 of the target line segment LS1 in the horizontal left direction, and sets a line segment that first intersects with the straight line as an adjacent line in the upper left direction of the target line segment LS1. Specify as minutes. The adjacent line segments in the upper right, lower left, and lower right directions can be obtained in the same manner.

撮影画像中の各線分について隣接線分が特定されたら、対応付け処理部135は、ループL2の処理において、パターン中の各線分と対応する撮影画像中の線分を特定する。以下のループL2内では、パターン中の各線分をターゲット線分として処理を繰り返す。   When an adjacent line segment is identified for each line segment in the captured image, the association processing unit 135 identifies a line segment in the captured image corresponding to each line segment in the pattern in the process of loop L2. In the following loop L2, the process is repeated with each line segment in the pattern as a target line segment.

対応付け処理部135は、まず、ターゲット線分と対応する線分の候補を撮影画像中から抽出する(S603)。具体的には、図8に示すように、線分の上端位置と下端位置の少なくともいずれか一方がターゲット線分801の上端位置および下端位置と許容誤差の範囲内で一致し、かつ、視差(撮影画像中におけるX方向位置)が所定の探索範囲内である、という条件を満たす線分が対応候補として抽出される。図8においては、線分802はその上端および下端が線分801の上端および下端と、線分803の上端は線分801の上端と、線分804の下端は線分801の下端と、それぞれ許容誤差の範囲内で一致する。さらに、線分802〜804の視差は、探索範囲内である。したがって、ターゲット線分801に対応する線分の候補として、線分802〜804が抽出される(線分の横の丸印は対応候補であることを示す)。線分805については、上端および下端が線分801の上端および下端と許容誤差の範囲内で一致するものの、視差が探索範囲よりも大きいため対応候補としては抽出されない。なお、ここでは上端位置と下端位置の少なくとも一方が許容誤差の範囲で一致することを条件としているが、上端位置と下端位置の両方が誤差の範囲で一致することを条件としてもよい。   The association processing unit 135 first extracts line segment candidates corresponding to the target line segment from the captured image (S603). Specifically, as shown in FIG. 8, at least one of the upper end position and the lower end position of the line segment coincides with the upper end position and the lower end position of the target line segment 801 within the allowable error range, and the parallax ( A line segment that satisfies the condition that the position in the captured image in the X direction) is within a predetermined search range is extracted as a corresponding candidate. In FIG. 8, the upper and lower ends of the line segment 802 are the upper and lower ends of the line segment 801, the upper end of the line segment 803 is the upper end of the line segment 801, and the lower end of the line segment 804 is the lower end of the line segment 801. Match within tolerance. Further, the parallax of the line segments 802 to 804 is within the search range. Therefore, line segments 802 to 804 are extracted as line segment candidates corresponding to the target line segment 801 (a circle next to the line segment indicates a corresponding candidate). For the line segment 805, the upper end and the lower end coincide with the upper end and the lower end of the line segment 801 within the allowable error range, but are not extracted as correspondence candidates because the parallax is larger than the search range. In this case, it is a condition that at least one of the upper end position and the lower end position matches within the allowable error range. However, both the upper end position and the lower end position may match within the error range.

対応付け処理部135は、抽出された対応候補のそれぞれに対して、ターゲット線分との対応の正確さを表す評価値を計算する(S604)。ここでは、値が小さいほど対応付けが正しい可能性が高く、値が大きいほど対応付けが間違っている可能性が高い評価値を用いる。したがって、評価値のことをコストとも称する。コスト(評価値)は、図9に示すように、ターゲット線分および6方向の隣接線分のそれぞれについて、上端のY座標の差(絶対値)と下端のY座標の差(絶対値)の合計として定義される。パターンにおけるターゲット線分の上端および下端Y座標をyp0 ,yp0 とし、隣接線分の上端および下端Y座標をypi ,ypi (i=1〜6)とし、撮影画像におけるターゲット線分の上端および下端Y座標をyc0 ,yc0 とし、隣接線分の上端および下端Y座標をyci ,yci (i=1〜6)とすると、コストは次式のように定義される。

Figure 0006583674
The association processing unit 135 calculates an evaluation value indicating the accuracy of the correspondence with the target line segment for each extracted correspondence candidate (S604). Here, an evaluation value is used that is more likely to be correctly associated as the value is smaller, and is more likely to be incorrect as the value is greater. Therefore, the evaluation value is also referred to as cost. As shown in FIG. 9, the cost (evaluation value) is the difference between the upper end Y coordinate difference (absolute value) and the lower end Y coordinate difference (absolute value) for each of the target line segment and the adjacent line segment in 6 directions. Defined as the sum. The upper and lower end Y coordinates of the target line segment in the pattern are y p0 U and y p0 D, and the upper and lower end Y coordinates of the adjacent line segment are y pi U and y pi D (i = 1 to 6). If the upper and lower end Y coordinates of the target line segment are y c0 U and y c0 D, and the upper and lower end Y coordinates of the adjacent line segment are y ci U and y ci D (i = 1 to 6), the cost is Is defined as follows.
Figure 0006583674

ここで、パターンと撮影画像における各点のY座標は変わらず、線分同士の対応が正しければ上記のコストは理想的にはゼロになる。したがって、対応付け処理部135は、コストが最小の線分を、パターン中のターゲット線分に対応する撮影画像中の線分として決定する(S605)。互いに対応する線分は、対応ペアとして記憶される。   Here, the Y coordinate of each point in the pattern and the captured image does not change, and the above cost is ideally zero if the correspondence between the line segments is correct. Therefore, the association processing unit 135 determines the line segment with the lowest cost as the line segment in the captured image corresponding to the target line segment in the pattern (S605). Line segments corresponding to each other are stored as corresponding pairs.

対応付け処理部135は、ステップS605において求めた対応が誤対応であるか否かを確認し、誤対応の場合は対応ペアから除去する(S606)。正しい対応線分が得られている場合には、図10(A)に示すように、パターン中のターゲット線分LS1と対応する撮影画像中の線分LS1’の隣接線分LS2’は、パターン中のターゲット線分LS1の隣接線分LS2と対応する撮影画像中の線分LS2’と等しくなる。一方、正しい対応線分が得られていない場合には、図10(B)に示すように、パターン中のターゲット線分LS1と対応する撮影画像中の線分LS1’の隣接線分LS3’と、パターン中のターゲット線分LS1の隣接線分LS2と対応する撮影画像中の線分LS2’が等しくない。したがって、対応線分の隣接線分が隣接線分の対応線分と等しいか否かを判定することにより、対応関係が正しいか否かを決定することができる。本実施形態では、6方向のいずれについてもターゲット線分の隣接線分と隣接線分の対応線分が異なる場合に、対応付け処理部135はステップS605において求めた対応が誤対応であると判断する。ただし、6方向のうち所定数(1〜6個)以上についてターゲット線分の隣接線分と隣接線分の対応線分が異なる場合に、誤対応であると判断してもよい。対応付け処理部135は、ステップS606において誤対応であると判定された線分ペアは対応ペアから除去する。なおここでは、パターン中のターゲット線分を起点として対応付けの正しさを確認したが、ターゲット線分に対応すると判定された撮影画像中の線分を起点として対応付けの正しさを確認してもよい。   The association processing unit 135 confirms whether or not the correspondence obtained in step S605 is an incorrect correspondence, and removes it from the correspondence pair if the correspondence is incorrect (S606). When a correct corresponding line segment is obtained, as shown in FIG. 10A, the adjacent line segment LS2 ′ of the line segment LS1 ′ in the captured image corresponding to the target line segment LS1 in the pattern is a pattern. This is equal to the line segment LS2 ′ in the captured image corresponding to the adjacent line segment LS2 of the target line segment LS1 in the middle. On the other hand, when the correct corresponding line segment is not obtained, as shown in FIG. 10B, the line segment LS3 ′ adjacent to the line segment LS1 ′ in the captured image corresponding to the target line segment LS1 in the pattern is obtained. The line segment LS2 ′ in the captured image corresponding to the adjacent line segment LS2 of the target line segment LS1 in the pattern is not equal. Therefore, it can be determined whether or not the correspondence relationship is correct by determining whether or not the adjacent line segment of the corresponding line segment is equal to the corresponding line segment of the adjacent line segment. In the present embodiment, when the adjacent line segment of the target line segment and the corresponding line segment of the adjacent line segment are different in any of the six directions, the association processing unit 135 determines that the correspondence obtained in step S605 is incorrect. To do. However, when the adjacent line segment of the target line segment and the corresponding line segment of the target line segment are different for a predetermined number (1 to 6) or more of the six directions, it may be determined that there is an incorrect response. The association processing unit 135 removes from the corresponding pair the line segment pair that has been determined to be incorrect in step S606. In this example, the correctness of the association is confirmed using the target line segment in the pattern as a starting point, but the correctness of the association is confirmed using the line segment in the captured image determined to correspond to the target line segment as the starting point. Also good.

なお、対応付け処理部135は、撮影画像中において隣接線分との深度が所定距離以上異なる場合についても、誤対応と判断して良い。深度の差は、それぞれの線分の各位置における深度の中間値の差として評価するとよい。   Note that the association processing unit 135 may also determine that the correspondence is incorrect even when the depth of the adjacent line segment differs by a predetermined distance or more in the captured image. The difference in depth may be evaluated as a difference between intermediate values of the depth at each position of each line segment.

以上の処理により、パターン中の各線分と対応する撮影画像中の線分が求められる。   Through the above processing, line segments in the captured image corresponding to each line segment in the pattern are obtained.

次いで、ステップS304(図3)において、三角測量部136は、撮影画像の各画素について3次元位置を求める。具体的には、三角測量部136は、対応する線分同士の視差から線分中の各点についての深度を求める。三角測量部136は、次に、水平方向に深度を補間することで、線分が存在しない画素も含めて全ての画素における深度を求め、最終的に各画素に写っている被写体の3次元位置を表す点群を求める。以上により、測定対象物150の3次元形状の測定が終了する。   Next, in step S304 (FIG. 3), the triangulation unit 136 obtains a three-dimensional position for each pixel of the captured image. Specifically, the triangulation unit 136 obtains the depth for each point in the line segment from the parallax between the corresponding line segments. Next, the triangulation unit 136 interpolates the depth in the horizontal direction to obtain the depth in all the pixels including the pixel where the line segment does not exist, and finally the three-dimensional position of the subject shown in each pixel A point cloud representing is obtained. Thus, the measurement of the three-dimensional shape of the measurement object 150 is completed.

[本実施形態の有利な効果]
本実施形態では、線パターンを用いており、各線分およびその周囲の線分の上下端点のY座標位置の関係を用いて位置を符号化している。したがって、各線分の周囲の線分(隣接線分)を適切に求める必要がある。本実施形態における投影部110が投影する線パターンは、線パターンの各線分の上端位置および下端位置から水平方向に直線を引いたときに、これらの直線は隣接する列の線分部分と交わる、という制約1を満たす。本実施形態では、エピポーララインは撮影画像中において水平なので、パターン中の各点(線分の端点)のY座標は、撮影画像中において変化しない。したがって、撮影画像中においても、線分の上端位置および下端位置から水平方向に直線を引いたときに、これらの直線は隣接する列の線分部分と交わる。すなわち、撮影画像中における各線分の隣接線分を求める際に、隣接する列の線分を確実に検出することができる。上記条件を満たさないような線パターンを用いると、2列以上離れた列の線分を隣接線分として検出してしまう可能性があるが、本実施形態ではこのような誤検出を回避できる。隣接線分を正しく検出できることで、3次元位置の算出における誤検出も回避できる。
[Advantageous effects of this embodiment]
In this embodiment, a line pattern is used, and the position is encoded using the relationship between the Y coordinate positions of the upper and lower end points of each line segment and the surrounding line segments. Therefore, it is necessary to appropriately determine the line segments (adjacent line segments) around each line segment. When the line pattern projected by the projection unit 110 in the present embodiment draws a straight line in the horizontal direction from the upper end position and the lower end position of each line segment of the line pattern, these straight lines intersect with the line segment portions of the adjacent columns. Satisfies the first constraint. In the present embodiment, since the epipolar line is horizontal in the captured image, the Y coordinate of each point (end point of the line segment) in the pattern does not change in the captured image. Therefore, even in the captured image, when straight lines are drawn in the horizontal direction from the upper end position and the lower end position of the line segments, these straight lines intersect with the line segment portions of the adjacent columns. That is, when the adjacent line segments in the captured image are obtained, the adjacent line segments can be reliably detected. If a line pattern that does not satisfy the above conditions is used, there is a possibility that a line segment in two or more columns is detected as an adjacent line segment, but in the present embodiment, such erroneous detection can be avoided. By correctly detecting the adjacent line segment, it is possible to avoid erroneous detection in the calculation of the three-dimensional position.

さらに、隣接線分同士のY方向の重複を所定距離以上としているので、キャリブレーションが完全でなく変形が生じたり、撮影画像にノイズ付加されたりした場合であっても、隣接線分を誤検出する可能性を抑制できる。   Furthermore, since the overlap in the Y direction between adjacent line segments is a predetermined distance or more, even if the calibration is not complete and deformation occurs or noise is added to the captured image, the adjacent line segments are erroneously detected. The possibility of doing can be suppressed.

[変形例]
上記の説明では、投影部110とカメラ120の光軸が平行であり、したがって、エピポーララインが水平方向であることを前提に説明した。しかしながら、投影部110とカメラ120の光軸は必ずしも平行でなくても良い。投影部110とカメラ120の光軸が平行ではない場合は、エピポーララインは平行ではなく、位置によって変化する。図11(A)はパターンにおけるエピポーラライン(の一部)を示した図である。なお前述の通り、パターン生成素子を用いて光源から照射された光にパターンを形成することからパターンとパターン生成素子の関係は明確であり、パターンにおけるエピポーララインは、パターン生成素子におけるエピポーララインから求めることができる。
[Modification]
The above description has been made on the assumption that the optical axes of the projection unit 110 and the camera 120 are parallel, and therefore the epipolar line is in the horizontal direction. However, the optical axes of the projection unit 110 and the camera 120 are not necessarily parallel. When the optical axes of the projection unit 110 and the camera 120 are not parallel, the epipolar line is not parallel and changes depending on the position. FIG. 11A is a diagram showing (a part of) an epipolar line in a pattern. As described above, since the pattern is formed on the light emitted from the light source using the pattern generation element, the relationship between the pattern and the pattern generation element is clear, and the epipolar line in the pattern is obtained from the epipolar line in the pattern generation element. be able to.

一般に、左右(左上、右上、左下、右下)方向の隣接線分は、対象線分の上端位置および下端位置からエピポーララインに沿った方向に直線を伸ばし、最初に交差する線分として求められる。したがって、投影部110が投影する線パターンは、図11(B)に示すように、各線分の上端位置および下端位置からエピポーララインに沿って直線1101、1102を引いたときに、これらの直線が隣接する列の線分部分と交わる、という制約を満たすように設定する必要がある。   In general, adjacent line segments in the left and right (upper left, upper right, lower left, lower right) directions are obtained as a line segment that first intersects by extending a straight line in the direction along the epipolar line from the upper end position and the lower end position of the target line segment. . Therefore, as shown in FIG. 11B, the line pattern projected by the projection unit 110 is obtained by drawing straight lines 1101 and 1102 along the epipolar line from the upper end position and the lower end position of each line segment. It is necessary to set so as to satisfy the constraint that it intersects with a line segment portion of an adjacent column.

なお、パターンの各位置におけるエピポーララインの方向は、投影部110とカメラ120の配置(位置および向き)によって決定される。そこで、投影部110とカメラ120の配置にあった、線パターンをあらかじめ生成しておくとよい。あるいは、エピポーララインが水平な場合の線パターンを生成しておき、投影部110とカメラ120の配置に応じてパターンを変形させてもよい。この変形は、レクティフィケーション処理の逆変換処理である。   Note that the direction of the epipolar line at each position of the pattern is determined by the arrangement (position and orientation) of the projection unit 110 and the camera 120. Therefore, a line pattern suitable for the arrangement of the projection unit 110 and the camera 120 may be generated in advance. Alternatively, a line pattern when the epipolar line is horizontal may be generated, and the pattern may be deformed according to the arrangement of the projection unit 110 and the camera 120. This modification is an inverse conversion process of the rectification process.

(第2の実施形態)
本発明の第2の実施形態は、第1の実施形態において用いられる投影光のパターンを生成するためのパターン生成装置である。すなわち、パターン生成装置は下記の制約を満たす線パターンを生成する。
(制約1)各線分の上端位置および下端位置から水平方向に(より正確には、エピポーララインに沿って)直線を引いたときに、これらの直線は隣接する列の線分部分と交わる。(制約2)隣接する線分の線分方向について所定の長さ以上の重複を有する。
(Second Embodiment)
The second embodiment of the present invention is a pattern generation device for generating a pattern of projection light used in the first embodiment. That is, the pattern generation device generates a line pattern that satisfies the following constraints.
(Constraint 1) When straight lines are drawn in the horizontal direction from the upper end position and the lower end position of each line segment (more precisely, along the epipolar line), these straight lines intersect with the line segment portions of the adjacent columns. (Restriction 2) There is an overlap of a predetermined length or more in the line segment direction of adjacent line segments.

[構成]
本実施形態に係るパターン生成装置1200は、ハードウェア的には通常のコンピュータとして構成される。すなわち、本実施形態に係るパターン生成装置は、CPUなどのプロセッサ、RAMやROMなどのメモリ(記憶装置)、外部装置とのインタフェース、キーボードやマウスなどの入力装置、およびディスプレイやスピーカーなどの出力装置を備えるコンピュータとして構成される。本実施形態に係るパターン生成装置1200は、メモリに格納されたプログラムをCPUが実行することにより、図12に示すように、設計パラメータ取得部1201、ライン生成部1202、制約確認部1203、反転パターン生成部1204として機能する。これらの各機能部については、以下のフローチャートともに説明する。
[Constitution]
The pattern generation apparatus 1200 according to the present embodiment is configured as a normal computer in hardware. That is, the pattern generation apparatus according to the present embodiment includes a processor such as a CPU, a memory (storage device) such as a RAM and a ROM, an interface with an external device, an input device such as a keyboard and a mouse, and an output device such as a display and a speaker. It is comprised as a computer provided with. As shown in FIG. 12, the pattern generation apparatus 1200 according to the present embodiment executes a program stored in a memory by a CPU, so that a design parameter acquisition unit 1201, a line generation unit 1202, a constraint confirmation unit 1203, an inversion pattern, and the like. It functions as the generation unit 1204. Each of these functional units will be described together with the following flowcharts.

[処理]
図13は、本実施形態に係るパターン生成装置が行うパターン生成処理の流れを示すフローチャートである。ここで示すフローチャートは処理の一例であり、その処理内容や処理順序は適宜変更して構わない。なお、ここでは、照明装置(投影部)とカメラの光軸が平行であり、エピポーララインが水平の場合を例に説明する。
[processing]
FIG. 13 is a flowchart showing a flow of pattern generation processing performed by the pattern generation apparatus according to the present embodiment. The flowchart shown here is an example of processing, and the processing content and processing order may be changed as appropriate. Here, a case where the illumination apparatus (projection unit) and the optical axis of the camera are parallel and the epipolar line is horizontal will be described as an example.

ステップS1301において、設計パラメータ取得部1201が、線パターンの設計パラメータを取得する。設計パラメータについて、図14を参照して説明する。本実施形態においては、設計パラメータは、線分の長さの範囲(最大値および最小値)、線分間の縦間隔の範囲(最大値および最小値)、隣接線分の重なりの範囲(最小値)、列数(固定値)、線幅(固定値)、隣接列の間隔(固定値)を含む。設計パラメータ取得部1201は、設定ファイルを読み込むことやユーザからの入力を受け付けることによって、これらの設計パラメータを取得する。   In step S1301, the design parameter acquisition unit 1201 acquires line pattern design parameters. The design parameters will be described with reference to FIG. In the present embodiment, the design parameters include a line length range (maximum value and minimum value), a vertical interval range between line segments (maximum value and minimum value), and an overlapping range (minimum value) of adjacent line segments. ), Number of columns (fixed value), line width (fixed value), and spacing between adjacent columns (fixed value). The design parameter acquisition unit 1201 acquires these design parameters by reading a setting file or receiving input from the user.

以下、パターン生成装置1200は、乱数を用いてランダムに1列分ずつパターンを生成していく。なお、ここでは左端の列から右端の列に向かって順次パターンを生成するものとする。以下で、k列目というのは、左端からk番目の列を表す。また、パターン全体のうち左側半分は乱数を用いて生成し、右側半分は左側半分のパターンを180度回転(反転)させたパターンとして決定する。以下、詳細に説明する。   Hereinafter, the pattern generation device 1200 generates patterns for each column at random using random numbers. Here, it is assumed that the pattern is sequentially generated from the leftmost column to the rightmost column. Hereinafter, the k-th column represents the k-th column from the left end. Also, the left half of the entire pattern is generated using random numbers, and the right half is determined as a pattern obtained by rotating (inverting) the left half pattern 180 degrees. Details will be described below.

まず、ライン生成部1202は、ステップS1302において、1列目のパターンをランダムに生成する。各線分の長さおよび線分間の縦間隔は、設計パラメータによって指定される範囲内の一様乱数により決定する。線分の太さ(線幅)は、設計パラメータによって指定された値を用いる。   First, the line generation unit 1202 randomly generates a pattern in the first column in step S1302. The length of each line segment and the vertical interval between line segments are determined by uniform random numbers within a range specified by design parameters. A value designated by a design parameter is used for the thickness (line width) of the line segment.

次に、ループL3の処理によって、2列目からL/2列目までを生成する。ここで、Lは設計パラメータによって指定される列数であり偶数であるものとする。パターン生成装置は、変数kを2からL/2の範囲で増分させつつ、以下のステップS1303からS1307の処理を繰り返し実行する。ステップS1303において、ライン生成部1202は、k列目のパターンをランダムに生成する。この処理はステップS1302の処理と同様である。次にステップS1304で、制約確認部1203が、k列目のパターンとk−1列目のパターンの間で上記の制約1,2を満たすかどうかを確認する。制約1,2のいずれかを満たさない場合には、ステップS1303に戻ってk列目のパターンを再生成する。変数kがL/2でなければ(S1305−NO)、ステップS1303で生成したパターンをk列目のパターンとして確定する。一方、変数kがL/2であれば(S1305−YES)、ステップS1306において、制約確認部1203は、生成した1列分のパターンとこのパターンを上下反転させたパターンとの間でも、上記の制約1,2を満たすか否かをさらに確認する。満たさない場合には、ステップS1303に戻ってk(=L/2)列目のパターンを再生成する。   Next, from the second column to the L / 2 column are generated by the processing of the loop L3. Here, L is the number of columns specified by the design parameter and is an even number. The pattern generation apparatus repeatedly executes the following steps S1303 to S1307 while incrementing the variable k in the range of 2 to L / 2. In step S1303, the line generation unit 1202 randomly generates a pattern in the k-th column. This process is the same as the process of step S1302. In step S1304, the constraint checking unit 1203 checks whether the constraints 1 and 2 are satisfied between the pattern in the kth column and the pattern in the k−1th column. If either of the constraints 1 and 2 is not satisfied, the process returns to step S1303 to regenerate the kth column pattern. If the variable k is not L / 2 (S1305-NO), the pattern generated in step S1303 is determined as the kth column pattern. On the other hand, if the variable k is L / 2 (S1305-YES), in step S1306, the constraint checking unit 1203 performs the above-described processing even between the generated pattern for one column and the pattern obtained by vertically inverting this pattern. It is further confirmed whether or not the constraints 1 and 2 are satisfied. If not, the process returns to step S1303 to regenerate the pattern in the k (= L / 2) column.

ループL3の処理が終了した時点で、1列目からL/2列目、すなわちパターン全体の左側半分の列のパターンが決定する。反転パターン生成部1204は、ステップS1308において、左側半分(1列目からL/2列目まで)のパターンを180度回転させたパターンを、右側半分(L/2+1列目からL列目まで)のパターンとして決定する。図15を参照して説明する。図15(A)は、ループL3の処理によって生成された左側半分のパターン1501を示す。反転パターン生成部1204は、パターン1501を180度回転させたパターン1502を、右側半分のパターンとして決定する。すなわち、L/2+1列目のパターンはL/2列目のパターンを上下反転したパターンであり、L/2+2列目のパターンはL/2−1列目のパターンを上下反転したパターンである、といった具合である。これにより、最終的に生成されるパターンは、中心に対して点対称なパターンとなる。   When the processing of the loop L3 ends, the pattern of the first half to the L / 2th column, that is, the left half column of the entire pattern is determined. In step S1308, the reverse pattern generation unit 1204 rotates the pattern on the left half (from the first column to the L / 2 column) by 180 degrees, and converts the pattern on the right half (from the L / 2 + 1 column to the L column). Determine as the pattern. This will be described with reference to FIG. FIG. 15A shows the left half pattern 1501 generated by the process of the loop L3. The reverse pattern generation unit 1204 determines a pattern 1502 obtained by rotating the pattern 1501 by 180 degrees as the right half pattern. That is, the pattern of the L / 2 + 1 column is a pattern obtained by inverting the pattern of the L / 2 column, and the pattern of the L / 2 + 2 column is a pattern obtained by inverting the pattern of the L / 2-1 column. And so on. As a result, the finally generated pattern is a point-symmetric pattern with respect to the center.

以上のようにして生成されたパターンを表すデータは、パターン記憶部1205に記憶される。このパターン記憶部1205に記憶されているパターンデータが、3次元測定装置100に読み込まれて3次元測定の際に用いられる。   Data representing the pattern generated as described above is stored in the pattern storage unit 1205. The pattern data stored in the pattern storage unit 1205 is read into the three-dimensional measuring apparatus 100 and used for three-dimensional measurement.

[本実施形態の効果]
本実施形態に係るパターン生成装置によれば、上記制約1,2を満たすパターンを生成できる。制約1,2を満たすことで、3次元測定の際に、隣接線分を確実に求めることでき、精度の良い測定が行える。
[Effect of this embodiment]
According to the pattern generation apparatus according to the present embodiment, a pattern that satisfies the above constraints 1 and 2 can be generated. When the constraints 1 and 2 are satisfied, the adjacent line segment can be reliably obtained in the three-dimensional measurement, and the measurement with high accuracy can be performed.

パターン生成の際に、領域全体の半分の領域のパターンのみを乱数を用いて生成し、残りの半分はこのパターンを180度回転させたパターンとして決定している。180度回転させても制約1,2を満たすので、全体として制約1,2を満たすパターンを高速に生成することができる。   At the time of pattern generation, only a pattern in a half area of the entire area is generated using random numbers, and the remaining half is determined as a pattern obtained by rotating the pattern by 180 degrees. Even if rotated 180 degrees, the constraints 1 and 2 are satisfied, so that a pattern that satisfies the constraints 1 and 2 as a whole can be generated at high speed.

[変形例]
上記の説明では、ループL3の処理において、領域の端から中央に向かって1列ずつパターンを生成している。しかしながら、中央から端に向かって1列ずつパターンを生成してもよい。すなわち、ループL3において変数kをk=L/2からk=1まで1ずつ減らしながら処理を行っても良い。この場合、L/2列目のパターンは、自身を上下反転させたパターンとの間でのみ制約1,2を満たせばよいので、制約が比較的緩くなる。
[Modification]
In the above description, in the process of the loop L3, the pattern is generated one column at a time from the end of the region toward the center. However, the pattern may be generated one column at a time from the center toward the end. That is, the processing may be performed while the variable k is decreased by 1 from k = L / 2 to k = 1 in the loop L3. In this case, the pattern in the L / 2 column needs to satisfy the constraints 1 and 2 only with the pattern obtained by inverting itself up and down, so that the constraint becomes relatively loose.

また、線パターンの列数Lは奇数であってもよい。この場合に、先に生成した半分の領域のパターンを180度回転させたパターンを残りの領域のパターンとするためには、(L+1)/2列目(全体のパターンの中心列)のラインは、上下対称となるように生成するとよい。あるいは、(L−1)/2列目が(L+1)/2列目およびその上下反転の両方との間で制約1,2を満たすように生成し、1列目から(L−1)/2列目のパターンを上下反転させたパターンを、(L+1)/2+1列目からL列目のパターンとして生成してもよい。列数Lが奇数の場合には、上述のように、先に(L+1)/2列目のパターンを上下対称に生成してから中心列から端に向かってランダムに各列のパターンを生成すると、制約が比較的緩くなるので好ましい。   The number L of line pattern columns may be an odd number. In this case, in order to make a pattern obtained by rotating the half pattern generated previously by 180 degrees as a pattern of the remaining area, the (L + 1) / 2nd column (the central column of the entire pattern) is It may be generated so as to be vertically symmetrical. Alternatively, the (L−1) / 2 column is generated so as to satisfy the constraints 1 and 2 between both the (L + 1) / 2 column and its upside down, and the (L−1) / A pattern obtained by vertically inverting the pattern in the second column may be generated as a pattern in the Lth column from the (L + 1) / 2 + 1th column. When the number of columns L is an odd number, as described above, the pattern of the (L + 1) / 2 columns is first generated vertically and then the pattern of each column is generated randomly from the center column to the end. This is preferable because the constraints are relatively relaxed.

また、上記の説明では、1列ずつランダムな生成と確認を行っているが、1つの線分や1つのギャップ(縦間隔)をランダムに生成する度に確認を行ってもよい。この場合、1つまたは複数の線分をランダムに生成するたびに、これまでに生成(確定)した線分との間で制約1,2を満たすか否かを確認し、満たす場合はこれら1つまたは複数の線分をパターンとして確定し、そうでなければランダムに再生成する。また、1列ずつではなく、複数列ずつ生成と確認を行っても良い。複数列をまとめて生成する場合には、制約確認部1203は、これら複数列の間で制約1,2を満たし、かつ、これまでに生成(確定)したパターンとの境界において制約1,2を満たすか否かを確認する。これらの制約を満たす場合は、生成した複数列のパターンを確定し、そうでなければランダムに再生成する。以上のように、ランダムな生成と制約を満たすか否かの確認をどのような単位で行うかは任意である。   In the above description, random generation and confirmation are performed for each column, but confirmation may be performed each time one line segment or one gap (vertical interval) is randomly generated. In this case, every time one or more line segments are randomly generated, it is checked whether or not the constraints 1 and 2 are satisfied with the line segments generated (determined) so far. Determine one or more line segments as a pattern, otherwise regenerate randomly. In addition, generation and confirmation may be performed for each of a plurality of columns instead of for each column. When a plurality of columns are generated collectively, the constraint checking unit 1203 satisfies the constraints 1 and 2 between the plurality of columns and generates the constraints 1 and 2 at the boundary with the pattern generated (determined) so far. Check if it meets. If these constraints are satisfied, the generated pattern of the plurality of columns is determined, otherwise it is regenerated randomly. As described above, it is arbitrary in what unit the random generation and confirmation of whether or not the constraint is satisfied are performed.

また、上記の説明では、半分の領域のパターンを乱数を用いて生成し、このパターンを180度回転させたパターンを残り半分の領域のパターンとしている。しかしながら、領域の全てについて乱数を用いて生成しても構わない。   In the above description, a half area pattern is generated using random numbers, and a pattern obtained by rotating the pattern by 180 degrees is used as the remaining half area pattern. However, all the areas may be generated using random numbers.

また、上記の説明では、線分の長さおよび線分の縦間隔を、設計パラメータの範囲内でランダムに決定してから、制約を満たすか否かを判定している。しかしながら、全てに確定している隣接列のパターンから、制約を満たすために必要な線分の上端位置および下端位置の範囲が決定する。すなわち、既に確定した隣接列のパターンから、制約1,2を満たすための線分の長さや線分の縦間隔の範囲が決定される。したがって、設計パラメータとして与えられる範囲と制約1,2を満たすための範囲が重複する範囲の中から、乱数を用いて線分の長さや線分の縦間隔を決定するようにしてもよい。   In the above description, the length of the line segment and the vertical interval of the line segment are determined randomly within the range of the design parameter, and then it is determined whether or not the constraint is satisfied. However, the range of the upper end position and the lower end position of the line segment necessary for satisfying the constraint is determined from the pattern of adjacent columns determined for all. That is, the length of the line segment and the range of the vertical interval of the line segment to satisfy the constraints 1 and 2 are determined from the already determined adjacent column pattern. Therefore, the length of the line segment and the vertical interval of the line segment may be determined using a random number from the range where the range given as the design parameter and the range for satisfying the constraints 1 and 2 overlap.

また、上記の説明では、照明装置とカメラの光軸が平行であり、エピポーララインが水平であることを前提として説明した。しかしながら、照明装置とカメラの光軸が平行ではない場合には、エピポーララインが位置によって異なる。このような場合には、上記制約1を、各線分の上端位置および下端位置からエピポーララインに沿って直線を引いたときに、これらの直線は隣接する列の線分と交わる、と読み替えて上記と同じ処理を行えばよい。なお、各画素におけるエピポーララインの方向は、照明装置とカメラの配置に基づいてあらかじめ把握できる。また、パターン生成装置は、エピポーララインが水平である場合の線パターンを生成しておき、照明装置とカメラの配置に応じて線パターンを変形させることによって最終的な線パターンを生成してもよい。この変形は、レクティフィケーション処理の逆変換処理である。   In the above description, the description has been made on the assumption that the optical axes of the illumination device and the camera are parallel and the epipolar line is horizontal. However, when the optical axes of the illumination device and the camera are not parallel, the epipolar line differs depending on the position. In such a case, the above restriction 1 is read as that when straight lines are drawn along the epipolar line from the upper end position and the lower end position of each line segment, these straight lines intersect with the line segments of the adjacent columns. The same processing may be performed. Note that the direction of the epipolar line in each pixel can be grasped in advance based on the arrangement of the illumination device and the camera. The pattern generation device may generate a line pattern when the epipolar line is horizontal, and generate a final line pattern by deforming the line pattern according to the arrangement of the illumination device and the camera. . This modification is an inverse conversion process of the rectification process.

(第3の実施形態)
本発明の第3の実施形態は、第2の実施形態と同様に、第1の実施形態において用いられる投影光のパターンを生成するためのパターン生成装置である。第2の実施形態との違いは、本実施形態においては、より精度の良い3次元測定が行える線パターンを生成するための処理を含む点である。
(Third embodiment)
The third embodiment of the present invention is a pattern generation apparatus for generating a pattern of projection light used in the first embodiment, as in the second embodiment. The difference from the second embodiment is that the present embodiment includes a process for generating a line pattern capable of performing three-dimensional measurement with higher accuracy.

本実施形態に係るパターン生成装置も、ハードウェア的には第2の実施形態と同様に通常のコンピュータとして構成される。すなわち、本実施形態に係るパターン生成装置は、CPUなどのプロセッサ、RAMやROMなどのメモリ(記憶装置)、外部装置とのインタフェース、キーボードやマウスなどの入力装置、およびディスプレイやスピーカーなどの出力装置を備えるコンピュータとして構成される。本実施形態に係るパターン生成装置は、メモリに格納されたプログラムをCPUが実行することにより、図16に示すように、パターン生成部1601、評価部1602、パターン選択部1603、パターン変形部1604として機能する。ここで、パターン生成部1601は、第2の実施形態のパターン生成装置1200(図12)と同様の機能を有し、上記制約を満たす線パターンを生成するものである。パターン生成部1601の詳しい説明の繰り返しは省略し、その他の機能部については以下のフローチャートともに説明する。   The pattern generation apparatus according to the present embodiment is also configured as a normal computer in hardware as in the second embodiment. That is, the pattern generation apparatus according to the present embodiment includes a processor such as a CPU, a memory (storage device) such as a RAM and a ROM, an interface with an external device, an input device such as a keyboard and a mouse, and an output device such as a display and a speaker. It is comprised as a computer provided with. As shown in FIG. 16, the pattern generation apparatus according to the present embodiment executes a program stored in a memory as a pattern generation unit 1601, an evaluation unit 1602, a pattern selection unit 1603, and a pattern deformation unit 1604. Function. Here, the pattern generation unit 1601 has the same function as the pattern generation apparatus 1200 (FIG. 12) of the second embodiment, and generates a line pattern that satisfies the above constraints. The detailed description of the pattern generation unit 1601 will not be repeated, and the other functional units will be described together with the following flowcharts.

ステップS1701において、パターン生成部1601が、上記制約1,2を満たすパターンをN個生成する。パターン生成部1601によるパターン生成処理は、第2の実施形態で説明したので繰り返しの説明は省略する。ここで、生成するパターン数Nは、2以上の整数であれば適宜決定すればよい。   In step S1701, the pattern generation unit 1601 generates N patterns that satisfy the constraints 1 and 2. Since the pattern generation processing by the pattern generation unit 1601 has been described in the second embodiment, a repeated description is omitted. Here, the number N of patterns to be generated may be appropriately determined as long as it is an integer of 2 or more.

ステップS1702において、評価部1602が、生成したN個のパターンのそれぞれについて、当該パターンを用いて3次元測定を行ったときの正確さを表す評価値を算出する。このパターン評価処理S1602の詳細を、図18を参照して説明する。評価部1602は、評価対象のパターンを、3次元測定装置の照明装置から投影するパターンであり、かつカメラが撮影する撮影画像であるとみなす(S1801)。次に、評価部1602は、撮影画像(実際には撮影画像とみなしたパターンデータ。以下このような記載は省略する)に対して、所定の変形処理を施す(S1802)。エピポーララインが水平の場合は理想的にはパターンと撮影画像の間でY座標は変化しないが、実際の3次元測定においては、キャリブレーションの不完全さ、画像のひずみやノイズなど影響により、撮影画像から抽出される線分のY座標位置は変化する。ステップS1802の変形処理は、この影響を模擬するためのものである。具体的には、評価部1602は、平均がゼロで所定の標準偏差を有する正規分布にしたがった乱数を、撮影画像の各線分の上端および下端のY座標に加える。または、予め定められた一定の値(オフセット値)を当該Y座標に加えてもよいし、乱数とオフセット値の両方を当該Y座標に加えてもよい。Y座標のみに誤差を与えるのは、上述のように線分の対応付けの際には線分のY座標位置が重要だからである。   In step S1702, the evaluation unit 1602 calculates, for each of the generated N patterns, an evaluation value that represents the accuracy when the three-dimensional measurement is performed using the pattern. Details of the pattern evaluation processing S1602 will be described with reference to FIG. The evaluation unit 1602 regards the pattern to be evaluated as a pattern projected from the illumination device of the three-dimensional measurement apparatus and is a captured image captured by the camera (S1801). Next, the evaluation unit 1602 performs a predetermined deformation process on the photographed image (pattern data that is actually regarded as a photographed image; hereinafter, such description is omitted) (S1802). If the epipolar line is horizontal, the Y coordinate does not change ideally between the pattern and the captured image, but in actual three-dimensional measurement, the image is captured due to imperfect calibration, image distortion, noise, and other effects. The Y coordinate position of the line segment extracted from the image changes. The deformation process in step S1802 is for simulating this effect. Specifically, the evaluation unit 1602 adds a random number according to a normal distribution having an average of zero and a predetermined standard deviation to the Y coordinates of the upper and lower ends of each line segment of the captured image. Alternatively, a predetermined constant value (offset value) may be added to the Y coordinate, or both a random number and an offset value may be added to the Y coordinate. The reason why an error is given only to the Y coordinate is that the Y coordinate position of the line segment is important when associating the line segment as described above.

評価部1602は、パターンと変形後の撮影画像の間で線分の対応付け処理を行う(S1803)。この対応付け処理は、第1の実施形態において説明した処理(図6のフローチャート)と同じであるので説明は省略する。評価部1602は、この対応付け処理によって、正しく対応付けできた線分の数(あるいは割合)を、評価値として算出する(S1804)。正しい対応付けができないというのは、誤った線分と対応付けがされる場合と、対応する線分が得られない場合を含む。   The evaluation unit 1602 performs line segment association processing between the pattern and the deformed captured image (S1803). Since this association processing is the same as the processing described in the first embodiment (the flowchart in FIG. 6), description thereof is omitted. The evaluation unit 1602 calculates, as an evaluation value, the number (or ratio) of line segments that can be correctly associated by this association process (S1804). The case where correct association cannot be performed includes a case where an incorrect line segment is associated and a case where a corresponding line segment cannot be obtained.

このようにして算出される評価値は、実際の3次元測定において、線分同士の対応付けの正確さを表す値であるといえる。線分の対応付けの正確さは3次元測定の精度に関連するので、評価値は3次元測定の精度を表す値ともいえる。   It can be said that the evaluation value calculated in this way is a value representing the accuracy of correspondence between line segments in actual three-dimensional measurement. Since the accuracy of the line segment association is related to the accuracy of the three-dimensional measurement, the evaluation value can be said to be a value representing the accuracy of the three-dimensional measurement.

次に、ステップS1703において、パターン選択部1603は、N個のパターンの中から評価値が高い上位M個のパターンを選択する。Mの値は1以上N−1であればよい。以下、ここで選択された上位M個のパターンのことを、エリートパターンと称する。   Next, in step S1703, the pattern selection unit 1603 selects the top M patterns having a high evaluation value from the N patterns. The value of M may be 1 or more and N-1. Hereinafter, the top M patterns selected here are referred to as elite patterns.

ステップS1704では、パターン変形部1604が、パターン選択部1603によって選択されたM個のエリートパターンを親パターンとして、N−M個の子パターンを再生成する。具体的には、エリートパターンの一部を変更することによって、新しいパターンが生成される。以下、パターン変形処理S1704を詳細に説明する。   In step S1704, the pattern transformation unit 1604 regenerates NM child patterns using the M elite patterns selected by the pattern selection unit 1603 as parent patterns. Specifically, a new pattern is generated by changing a part of the elite pattern. Hereinafter, the pattern deformation process S1704 will be described in detail.

図19(A)は、パターン変形処理S1704の詳細な流れを示すフローチャートである。パターン変形部1604は、M個のエリートパターンの中から1つのパターンをランダムに選択する(S1901)。ここでの選択は、全てのエリートパターンを同じ確率で選択するものであってもよいし、評価値が大きいほど高い確率で選択するものであってもよい。ただし、確率的な選択を行わず、それぞれのエリートパターンを順番に選択するようにしても構わない。   FIG. 19A is a flowchart showing a detailed flow of the pattern deformation process S1704. The pattern deforming unit 1604 randomly selects one pattern from the M elite patterns (S1901). The selection here may select all the elite patterns with the same probability, or may select with a higher probability as the evaluation value is larger. However, each elite pattern may be selected in order without performing a stochastic selection.

パターン変形部1604は、線パターンを構成する複数列のいずれかをランダムに選択する(S1902)。図19(B)に示すように、ここで選択された列を左からk列目であるとする。すると、パターン変形部1604は、図19(C)に示すように、k列目よりも右側の列、すなわちk+1列目以降の列を乱数を用いて再生成する(S1903)。ここでのパターンの生成処理は、第2の実施形態で説明した方法と同様であるので、詳しい説明は省略する。なお、ここではk+1列目から右端の列までを再生成しているが、列全体の中間の範囲のみを再生してもよい。   The pattern deforming unit 1604 randomly selects one of a plurality of columns constituting the line pattern (S1902). As shown in FIG. 19B, it is assumed that the column selected here is the k-th column from the left. Then, as shown in FIG. 19C, the pattern deforming unit 1604 regenerates a column on the right side of the k-th column, that is, the column after the (k + 1) -th column using a random number (S1903). Since the pattern generation processing here is the same as the method described in the second embodiment, detailed description thereof is omitted. Note that, here, from the (k + 1) th column to the rightmost column is regenerated, only the middle range of the entire column may be reproduced.

以上により、1つのパターンが再生成できる。この処理をN−M回繰り返すことで、M個のエリートパターンに基づいたN−M個のパターンが再生成される。   As described above, one pattern can be regenerated. By repeating this process NM times, NM patterns based on the M elite patterns are regenerated.

図20(A)は、パターン変形処理S1704の別の例を示すフローチャートである。ここでは、2つのエリートパターンを組み合わせて新しいパターンを生成する。パターン変形部1604は、M個のエリートパターンの中から2つのパターンP1,P2をランダムに選択する(S2001)。この選択も上記と同様に、均等な確率で選択するものであっても良いし、評価値に応じて確率で選択するものであっても良い。次に、パターン変形部1604は、図20(B)に示すように、線パターンを構成する複数列のうちの一部の範囲をランダムに選択し(S2002)、パターンP1のうち選択した範囲の列を、パターンP2の同じ範囲の列で置換したパターンを生成する(S2003)。なお、図20(B)では、列全体の中の中間の範囲を選択して置換するように説明しているが、選択範囲をある列から端部までの範囲としても構わない。このようにして2つのパターンを組み合わせて生成したパターンは、選択範囲の境界において上記制約1,2を満たさないことが
考えられる。そこで、パターン変形部1604は、選択範囲の境界部の列が上記制約1,2を満たすように調整(列の再生成)を行う(S2004)。
FIG. 20A is a flowchart showing another example of the pattern deformation process S1704. Here, a new pattern is generated by combining two elite patterns. The pattern deforming unit 1604 randomly selects two patterns P1 and P2 from the M elite patterns (S2001). Similarly to the above, this selection may be performed with equal probability, or may be performed with probability according to the evaluation value. Next, as shown in FIG. 20 (B), the pattern deforming unit 1604 randomly selects a partial range of the plurality of columns constituting the line pattern (S2002), and selects the selected range of the pattern P1. A pattern in which the column is replaced with a column in the same range of the pattern P2 is generated (S2003). In FIG. 20B, the intermediate range in the entire column is selected and replaced, but the selected range may be a range from a certain column to the end. It is conceivable that the pattern generated by combining the two patterns in this way does not satisfy the constraints 1 and 2 at the boundary of the selection range. Therefore, the pattern deforming unit 1604 performs adjustment (regeneration of the column) so that the column at the boundary of the selection range satisfies the constraints 1 and 2 (S2004).

以上により、1つのパターンが再生成できる。この処理をN−M回繰り返すことで、M個のエリートパターンに基づいたN−M個のパターンが再生成される。   As described above, one pattern can be regenerated. By repeating this process NM times, NM patterns based on the M elite patterns are regenerated.

M個のエリートパターンに基づいてN−M個の新しいパターンが得られたら、繰り返し処理を判定するか否かの判定を行う(S1705)。処理を繰り返すと判定された場合には、M個のエリートパターンとN−M個の新しいパターンの合計N個のパターンを対象として、上記のステップS1702〜S1704の処理を再実行する。一方、繰り返しを終了すると判定された場合には、M個のエリートパターンとN−M個の新しいパターンの合計N個のパターンについて評価部1602が評価値を算出し(S1706)、パターン選択部1603が最も評価値の高いパターンを選択する(S1707)。以上のようにして生成されたパターンを表すデータは、パターン記憶部1605に記憶される。このパターン記憶部1605に記憶されているパターンデータが、3次元測定装置100が読み込まれて3次元測定の際に用いられる。   When NM new patterns are obtained based on the M elite patterns, it is determined whether or not the iterative process is determined (S1705). If it is determined that the process is to be repeated, the processes in steps S1702 to S1704 are performed again for a total of N patterns of M elite patterns and NM new patterns. On the other hand, if it is determined that the repetition is to be terminated, the evaluation unit 1602 calculates evaluation values for a total of N patterns of M elite patterns and NM new patterns (S1706), and a pattern selection unit 1603 Selects the pattern having the highest evaluation value (S1707). Data representing the pattern generated as described above is stored in the pattern storage unit 1605. The pattern data stored in the pattern storage unit 1605 is used when the three-dimensional measurement apparatus 100 is read and three-dimensional measurement is performed.

ステップS1705の繰り返し終了判定は、次のようにして行うことができる。例えば、繰り返し処理回数をあらかじめ定めておいて繰り返し回数がこの回数に達したか否かにより、繰り返しを終了するか否かを判定できる。あるいは、最も評価値の高いパターンが所定の繰り返し回数変化しなかった場合に、繰り返し処理を終了すると判定することもできる。また、各パターンの評価値の最大値あるいは平均値が所定の値以上となった場合に、繰り返し処理を終了すると判定することもできる。   The repeated end determination in step S1705 can be performed as follows. For example, it is possible to determine whether or not to end the repetition depending on whether or not the number of repetition processes has been set in advance and the number of repetitions has reached this number. Alternatively, when the pattern having the highest evaluation value has not changed the predetermined number of repetitions, it can be determined that the repetition process is to be ended. In addition, when the maximum value or average value of the evaluation values of each pattern is equal to or greater than a predetermined value, it can be determined that the repetitive processing is ended.

[本実施形態の有利な効果]
本実施形態では、評価値を用いて実際の3次元測定における測定精度を評価している。そして、評価値の高いパターンに基づいて新しいパターンを再生成しているので、より良いパターンが得られることが期待できる。したがって、本実施形態によるパターン生成装置が生成する線パターンは、実際の測定において線分の誤対応が発生しにくく、精度の良い3次元測定が行える。
[Advantageous effects of this embodiment]
In this embodiment, the measurement accuracy in actual three-dimensional measurement is evaluated using the evaluation value. Since a new pattern is regenerated based on a pattern with a high evaluation value, it can be expected that a better pattern can be obtained. Therefore, the line pattern generated by the pattern generation apparatus according to the present embodiment is less likely to cause an incorrect correspondence of the line segment in actual measurement, and can perform three-dimensional measurement with high accuracy.

[変形例]
上記の説明では、パターンの再生成処理(図17のステップS1702〜S1704)を繰り返し実行しているが、この処理を繰り返さずに1回のみ行ってもかまわない。再生成処理を1回しか行わなくても、単純にN個の線パターンを生成して評価のよいパターンを選択するよりも良いパターンを生成できる。
[Modification]
In the above description, the pattern regeneration process (steps S1702 to S1704 in FIG. 17) is repeatedly executed. However, this process may be repeated only once. Even if the regeneration process is performed only once, it is possible to generate a better pattern than simply generating N line patterns and selecting a pattern with good evaluation.

さらに、パターンの再生成処理を行わずに、N個の線パターンを生成して評価が最も良いパターンを選択するようにしてもよい。このようにしても、1つのみのパターンを生成するよりも良いパターンを生成できる。   Further, N line patterns may be generated and the pattern having the best evaluation may be selected without performing the pattern regeneration process. In this way, a better pattern can be generated than when only one pattern is generated.

100:3次元測定装置 110:投影部 120:カメラ
130:演算装置 131:パターン光生成部 132:制御部 133:画像入力部
134:線分抽出部 135:対応付け処理部 136:3次元値算出部
1200:パターン生成装置 1201:設計パラメータ取得部 1202:ライン生成部
1203:制約確認部 1204:反転パターン生成部 1205:パターン記憶部1600:パターン生成装置 1601:パターン生成部 1602:評価部
1603:パターン選択部 1604:パターン変形部 1605:パターン記憶部
DESCRIPTION OF SYMBOLS 100: Three-dimensional measuring apparatus 110: Projection part 120: Camera 130: Arithmetic device 131: Pattern light generation part 132: Control part 133: Image input part 134: Line segment extraction part 135: Association processing part 136: Three-dimensional value calculation Part
1200: Pattern generation device 1201: Design parameter acquisition unit 1202: Line generation unit 1203: Restriction confirmation unit 1204: Inversion pattern generation unit 1205: Pattern storage unit 1600: Pattern generation device 1601: Pattern generation unit 1602: Evaluation unit 1603: Pattern selection Unit 1604: Pattern deformation unit 1605: Pattern storage unit

Claims (13)

複数列に平行に並ぶ直線をそれぞれランダムな位置および間隔で切断して複数の線分に分割したパターンを有するパターン光を測定対象物に投影する照明手段と、
前記パターン光が投影された前記測定対象物を撮影する撮像手段と、
撮影画像における線分の上端および下端の位置と前記線分の周囲の線分の上端および下端の位置を用いて、前記撮影画像における前記線分と前記パターンにおける線分との対応を求めて、前記測定対象物の3次元位置を算出する算出手段と、
を備え、
前記パターンは、前記パターンにおける線分の上端および下端位置からエピポーララインに沿って直線を引いたときに、これらの直線は前記線分のいずれの側においても隣接列の線分と交わり、
前記算出手段は、
前記パターン中のターゲット線分と対応する線分の候補を、前記撮影画像における線分の上端および下端の位置に基づいて抽出し、
候補線分の上、下、左上、右上、左下、右下の6つの隣接線分の上端および下端の位置に基づいて対応の正確さを表す評価値を求め、
当該評価値に基づいて前記パターン中のターゲット線分に対応する前記撮影画像中の線分を決定する、
ことを特徴とする3次元測定装置。
Illumination means for projecting pattern light having a pattern obtained by cutting straight lines parallel to a plurality of rows at random positions and intervals into a plurality of line segments onto a measurement object;
Imaging means for photographing the measurement object onto which the pattern light is projected;
Using the positions of the upper and lower ends of the line segment in the captured image and the positions of the upper and lower ends of the line segments around the line segment, the correspondence between the line segment in the captured image and the line segment in the pattern is obtained. Calculating means for calculating a three-dimensional position of the measurement object;
With
The pattern, when a straight line is drawn along the epipolar lines from the top and bottom positions of the line segment in the pattern, Ri also Majiwa a segment of the adjacent rows of these straight lines on either side of the line segment,
The calculating means includes
Extracting line segment candidates corresponding to the target line segment in the pattern based on the positions of the upper and lower ends of the line segment in the captured image,
Obtain an evaluation value representing the corresponding accuracy based on the positions of the upper and lower ends of the six adjacent line segments above, below, upper left, upper right, lower left, and lower right of the candidate line segment,
Determining a line segment in the captured image corresponding to a target line segment in the pattern based on the evaluation value;
A three-dimensional measuring apparatus.
前記照明手段と前記撮像手段の光軸は略平行であり、
前記パターンにおける線分はエピポーララインと垂直であり、
前記パターンにおける線分の上端および下端位置を通る当該線分の垂線は、前記線分のいずれの側においても隣接列の線分と交わる、
請求項1に記載の3次元測定装置。
The optical axes of the illumination means and the imaging means are substantially parallel,
The line segment in the pattern is perpendicular to the epipolar line;
The perpendicular of the line segment passing through the upper and lower end positions of the line segment in the pattern intersects with the line segment of the adjacent column on either side of the line segment,
The three-dimensional measuring apparatus according to claim 1.
前記パターンは、前記パターンにおける線分の上端位置からエピポーララインに沿って
直線を引いたときに、当該直線は前記線分のいずれの側においても隣接列の線分の下端位置よりも所定の長さ以上、上の位置で交わり、前記線分の下端位置からエピポーララインに沿って直線を引いたときに、当該直線は前記線分のいずれの側においても隣接列の線分の上端位置よりも所定の長さ以上、下の位置で交わる、
請求項1または2に記載の3次元測定装置。
When the pattern draws a straight line along the epipolar line from the upper end position of the line segment in the pattern, the straight line has a predetermined length on either side of the line segment than the lower end position of the line segment of the adjacent column. More than this, when intersecting at the upper position and drawing a straight line from the lower end position of the line segment along the epipolar line, the straight line is on either side of the line segment than the upper end position of the line segment of the adjacent row Intersect at a lower position for a predetermined length or more,
The three-dimensional measuring apparatus according to claim 1 or 2.
照明手段と撮像手段を有する3次元測定装置における前記照明手段が投影する投影光のパターンを生成するパターン生成装置であって、
前記パターンは、複数列に平行に並ぶ直線をそれぞれランダムな位置および間隔で切断して複数の線分に分割したパターンであり、かつ、
前記パターンにおける線分の上端および下端位置からエピポーララインに沿って直線を引いたときに、これらの直線は前記線分のいずれの側においても隣接列の線分と交わるという制約を満たし、
前記パターン生成装置は、
線分の長さおよび線分間の間隔をランダムに決定して1つまたは複数の線分を生成する生成手段と、
新たに生成した1つまたは複数の線分と、既にパターンとして確定した線分との間で、上記制約を満たすか否かを確認する確認手段と、
を備え、
前記制約を満たす場合は新たに生成した1つまたは複数の線分をパターンの一部として確定し、前記制約を満たさない場合は前記制約を満たすまで前記生成手段による生成と前記確認手段による確認を繰り返す、
ことを特徴とするパターン生成装置。
A pattern generation device that generates a pattern of projection light projected by the illumination unit in a three-dimensional measurement apparatus having an illumination unit and an imaging unit,
The pattern is a pattern in which straight lines arranged in parallel in a plurality of rows are each cut at random positions and intervals and divided into a plurality of line segments, and
When a straight line is drawn along the epipolar lines from the top and bottom positions of the line segment in the pattern, these lines are also meet the constraint that intersects the line segment of the adjacent columns on either side of the line segment,
The pattern generation device includes:
Generating means for randomly determining the length of the line segment and the interval between the line segments to generate one or more line segments;
Confirmation means for confirming whether or not the above-mentioned constraints are satisfied between the newly generated line segment or lines and the line segment already determined as a pattern;
With
If the constraint is satisfied, one or more newly generated line segments are determined as a part of the pattern. If the constraint is not satisfied, generation by the generation unit and confirmation by the confirmation unit are performed until the constraint is satisfied. repeat,
A pattern generation apparatus characterized by that.
前記生成手段は、1列分のパターンを生成し、
前記生成手段が生成したパターンが前記制約を満たす場合は新たに生成した1列分のパターンを新しい列のパターンとして確定し、前記制約を満たさない場合は前記制約を満たすまで前記生成手段による生成と前記確認手段による確認を繰り返す、
請求項に記載のパターン生成装置。
The generating means generates a pattern for one column,
When the pattern generated by the generation unit satisfies the constraint, the newly generated pattern for one column is determined as a new column pattern. When the pattern does not satisfy the constraint, the generation unit generates the pattern until the constraint is satisfied. Repeat the confirmation by the confirmation means,
The pattern generation apparatus according to claim 4 .
前記生成手段は、複数列分のパターンを生成し、
前記生成手段が生成したパターンが前記制約を満たす場合は新たに生成した複数列分のパターンを新しい列のパターンとして確定し、前記制約を満たさない場合は前記制約を満たすまで前記生成手段による生成と前記確認手段による確認を繰り返す、
請求項に記載のパターン生成装置。
The generating means generates a pattern for a plurality of columns,
When the pattern generated by the generation unit satisfies the constraint, a newly generated pattern for a plurality of columns is determined as a new column pattern. When the pattern does not satisfy the constraint, the generation unit generates the pattern until the constraint is satisfied. Repeat the confirmation by the confirmation means,
The pattern generation apparatus according to claim 4 .
前記パターン生成装置は、
全体の列数の半分の列については、前記生成手段と前記確認手段を用いて生成し、
残りの半分については、前記生成手段と前記確認手段を用いて生成されたパターンを180度回転させたパターンとして生成する、
請求項からのいずれか1項に記載のパターン生成装置。
The pattern generation device includes:
The half of the total number of columns is generated using the generation unit and the confirmation unit,
For the other half, the pattern generated by using the generation unit and the confirmation unit is generated as a pattern rotated by 180 degrees.
Pattern generating apparatus according to any one of claims 4 to 6.
前記パターン生成装置は、
生成したパターンに所定の変形処理を加えたパターンと、生成したパターンとの間で線分の対応関係を求めて、求められた対応関係の正確さを評価する評価手段をさらに有し、
前記制約を満たす複数のパターンを生成して、前記評価手段による評価が最も高いパターンを最終的なパターンとして決定する、
請求項からのいずれか1項に記載のパターン生成装置。
The pattern generation device includes:
A pattern obtained by applying a predetermined deformation process to the generated pattern, and a corresponding line segment between the generated pattern and an evaluation unit that evaluates the accuracy of the calculated correspondence;
A plurality of patterns satisfying the constraints are generated, and a pattern having the highest evaluation by the evaluation unit is determined as a final pattern.
The pattern generation apparatus of any one of Claim 4 to 7 .
前記制約を満たすパターンをN個(Nは2以上の整数)生成して、
N個のパターンの中から前記評価手段による評価が高い上位M個(Mは1以上N−1以下の整数)に基づいてN−M個のパターンを新たに生成し、
前記上位M個のパターンと、新たに生成したN−M個のパターンの中から前記評価手段による評価が最も高いパターンを最終的なパターンとして決定する、
請求項に記載のパターン生成装置。
N patterns (N is an integer of 2 or more) are generated that satisfy the constraints,
NM patterns are newly generated based on the top M pieces (M is an integer of 1 to N-1) that are highly evaluated by the evaluation means from among the N patterns,
A pattern having the highest evaluation by the evaluation unit is determined as a final pattern among the top M patterns and NM newly generated patterns.
The pattern generation apparatus according to claim 8 .
N個のパターンの中から前記評価手段による評価が高い上位M個に基づいてN−M個のパターンを新たに生成する処理を、繰り返し実行する、
請求項に記載のパターン生成装置。
Repetitively executing a process of newly generating NM patterns based on the top M highest evaluated by the evaluation means from among the N patterns;
The pattern generation apparatus according to claim 9 .
N個のパターンの中から前記評価手段による評価が高い上位M個(Mは1以上N−1以下の整数)に基づく新たなパターンの生成は、前記上位M個のパターンの中から1つを選択し、選択されたパターンの一部分を再生成することによって行われる、
請求項または10に記載のパターン生成装置。
The generation of a new pattern based on the top M pieces (M is an integer of 1 to N-1) that is highly evaluated by the evaluation means from among the N patterns is performed by selecting one of the top M patterns. Done by selecting and regenerating a portion of the selected pattern,
The pattern generation apparatus according to claim 9 or 10 .
複数列に平行に並ぶ直線をそれぞれランダムな位置および間隔で切断して複数の線分に分割したパターンを有するパターン光を、照明手段から測定対象物に投影する照明ステップと、
前記パターン光が投影された前記測定対象物を撮像手段によって撮影する撮像ステップと、
演算手段が、撮影画像における線分の切断点の位置と前記線分の周囲の線分の切断点の位置を用いて、前記撮影画像における前記線分と前記パターンにおける線分との対応を求めて、前記測定対象物の3次元位置を算出する算出ステップと、
を含み、
前記パターンは、前記パターンにおける線分の上端および下端位置からエピポーララインに沿って直線を引いたときに、これらの直線は前記線分のいずれの側においても隣接列の線分と交わり、
前記算出ステップでは、
前記パターン中のターゲット線分と対応する線分の候補を、前記撮影画像における線分の上端および下端の位置に基づいて抽出し、
候補線分の上、下、左上、右上、左下、右下の6つの隣接線分の上端および下端の位置に基づいて対応の正確さを表す評価値を求め、
当該評価値に基づいて前記パターン中のターゲット線分に対応する前記撮影画像中の線分を決定する、
ことを特徴とする3次元測定方法。
An illumination step of projecting pattern light having a pattern obtained by cutting straight lines arranged in parallel in a plurality of rows at random positions and intervals into a plurality of line segments from an illumination unit onto a measurement object;
An imaging step of taking an image of the measurement object on which the pattern light is projected, by an imaging means;
The calculation means obtains a correspondence between the line segment in the captured image and the line segment in the pattern using the position of the cut point of the line segment in the captured image and the position of the cut point of the line segment around the line segment. Calculating a three-dimensional position of the measurement object;
Including
The pattern, when a straight line is drawn along the epipolar lines from the top and bottom positions of the line segment in the pattern, Ri also Majiwa a segment of the adjacent rows of these straight lines on either side of the line segment,
In the calculating step,
Extracting line segment candidates corresponding to the target line segment in the pattern based on the positions of the upper and lower ends of the line segment in the captured image,
Obtain an evaluation value representing the corresponding accuracy based on the positions of the upper and lower ends of the six adjacent line segments above, below, upper left, upper right, lower left, and lower right of the candidate line segment,
Determining a line segment in the captured image corresponding to a target line segment in the pattern based on the evaluation value;
A three-dimensional measuring method characterized by the above.
照明手段と撮像手段を有する3次元測定装置における前記照明手段が投影する投影光のパターンを生成するパターン生成方法であって、
前記パターンは、複数列に平行に並ぶ直線をそれぞれランダムな位置および間隔で切断して複数の線分に分割したパターンであり、かつ、
前記パターンにおける線分の上端および下端位置からエピポーララインに沿って直線を引いたときに、これらの直線は前記線分のいずれの側においても隣接列の線分と交わるという制約を満たし、
コンピュータが、
線分の長さおよび線分間の間隔をランダムに決定して1列分のパターンを生成する生成ステップと、
新たに生成した1列分のパターンと、直前に確定した1列分のパターンとの間で、上記制約を満たすか否かを確認する確認ステップと、
を実行し、
前記制約を満たす場合は新たに生成した1列分のパターンを新しい列のパターンとして
確定し、前記制約を満たさない場合は前記制約を満たすまで前記生成ステップによる生成と前記確認ステップによる確認を繰り返す、
ことを特徴とするパターン生成方法。
A pattern generation method for generating a pattern of projection light projected by the illumination unit in a three-dimensional measuring apparatus having an illumination unit and an imaging unit,
The pattern is a pattern in which straight lines arranged in parallel in a plurality of rows are each cut at random positions and intervals and divided into a plurality of line segments, and
When a straight line is drawn along the epipolar line from the upper end and lower end position of the line segment in the pattern, these straight lines satisfy the restriction that the line segment intersects with the line segment of the adjacent column on either side of the line segment,
Computer
A step of generating a pattern for one column by randomly determining the length of the line segment and the interval between the line segments;
A confirmation step for confirming whether or not the above-mentioned constraints are satisfied between the newly generated pattern for one column and the pattern for one column determined immediately before;
Run
If the constraint is satisfied, the newly generated pattern for one column is confirmed as a new column pattern.If the constraint is not satisfied, generation by the generation step and confirmation by the confirmation step are repeated until the constraint is satisfied.
A pattern generation method characterized by that.
JP2015179837A 2015-09-11 2015-09-11 Three-dimensional measuring apparatus, pattern generating apparatus, and method Active JP6583674B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015179837A JP6583674B2 (en) 2015-09-11 2015-09-11 Three-dimensional measuring apparatus, pattern generating apparatus, and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015179837A JP6583674B2 (en) 2015-09-11 2015-09-11 Three-dimensional measuring apparatus, pattern generating apparatus, and method

Publications (2)

Publication Number Publication Date
JP2017053812A JP2017053812A (en) 2017-03-16
JP6583674B2 true JP6583674B2 (en) 2019-10-02

Family

ID=58320660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015179837A Active JP6583674B2 (en) 2015-09-11 2015-09-11 Three-dimensional measuring apparatus, pattern generating apparatus, and method

Country Status (1)

Country Link
JP (1) JP6583674B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118379336A (en) * 2019-01-31 2024-07-23 先临三维科技股份有限公司 Method and device for line stripe mismatching detection and three-dimensional reconstruction
CN116485702A (en) * 2022-01-17 2023-07-25 株式会社理光 Image processing method, device and storage medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6468802B2 (en) * 2014-01-20 2019-02-13 キヤノン株式会社 Three-dimensional measuring apparatus, three-dimensional measuring method and program
JP6465682B2 (en) * 2014-03-20 2019-02-06 キヤノン株式会社 Information processing apparatus, information processing method, and program

Also Published As

Publication number Publication date
JP2017053812A (en) 2017-03-16

Similar Documents

Publication Publication Date Title
US10810734B2 (en) Computer aided rebar measurement and inspection system
US9418291B2 (en) Information processing apparatus, information processing method, and computer-readable storage medium
JP5061350B2 (en) Motion capture system and three-dimensional reconstruction method of feature points in motion capture system
CN107346041B (en) Method and device for determining grating parameters of naked eye 3D display equipment and electronic equipment
JP6097903B2 (en) Three-dimensional shape acquisition apparatus, processing method, and program
CN101144708A (en) Three-dimensional scanning system circular index point detection method
JP2011185872A (en) Information processor, and processing method and program of the same
CN102834845A (en) Method and arrangement for multi-camera calibration
CN109640066B (en) Method and device for generating high-precision dense depth image
CN107346040B (en) Method and device for determining grating parameters of naked eye 3D display equipment and electronic equipment
JP2011242183A (en) Image processing device, image processing method, and program
JP2011237296A (en) Three dimensional shape measuring method, three dimensional shape measuring device, and program
US20160098615A1 (en) Apparatus and method for producing image processing filter
JP2011198330A (en) Method and program for collation in three-dimensional registration
Furukawa et al. One-shot entire shape acquisition method using multiple projectors and cameras
CN106406638B (en) Touch point contour generation method and equipment
US10049454B2 (en) Active triangulation calibration
JP6583674B2 (en) Three-dimensional measuring apparatus, pattern generating apparatus, and method
CN104517280A (en) Three-dimensional imaging method
KR101538014B1 (en) Converting method photographic images to 3d images through 3d modeling
EP3527936A1 (en) Three-dimensional measurement device and three-dimensional measurement method
CN105096314A (en) Binary grid template-based method for obtaining structured light dynamic scene depth
JP5656018B2 (en) Sphere detection method
JP6456084B2 (en) Image processing apparatus, image processing method, and program
CN106228593A (en) A kind of image dense Stereo Matching method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190705

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190821

R150 Certificate of patent or registration of utility model

Ref document number: 6583674

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250