しかしながら、上記特許文献1に記載の3次元形状測定装置等は、別々の受光器にそれぞれ反射光を受光させているため、受光器が少なくとも2つ必要となる。また、受光器が出力する信号を処理する受光回路も2つ必要となる。このため装置がコスト高になるという問題がある。
本発明は上記問題点に鑑みてなされたもので、その目的は、受光器の数を増加させずに2次反射光の影響を除外することができて、装置のコストアップが抑えられた3次元形状測定装置および3次元形状測定方法を提供することにある。
本発明の特徴は、レーザー光を出射するレーザー光源と、前記レーザー光源から出射されたレーザー光が測定対象物に照射されたときにその照射点にて発生する散乱光の一部である反射光を受光し、受光した反射光の強度に応じた受光信号を出力する一つの受光手段と、を備える3次元測定カメラと、レーザー光が測定対象物の計測領域の全体に照射されるように、測定対象物へのレーザー光の照射点を移動させるレーザー光移動手段と、前記レーザー光移動手段により移動されるレーザー光の照射点の移動位置に関する情報を検出する移動位置情報検出手段と、測定対象物の同一部位にレーザー光を照射した場合に異なった照射角度でレーザー光が照射されるように、測定対象物に対する前記3次元測定カメラの配置状態を第一の配置状態と第二の配置状態に切り換える配置状態切り換え手段と、前記3次元測定カメラの配置状態が前記第一の配置状態であるときに前記レーザー光移動手段によってレーザー光が測定対象物の計測領域の全体に照射された場合に、前記受光信号が得られる照射点である各測定点について、前記受光信号に基づいて計算される照射間距離および前記移動位置情報検出手段により検出される前記測定点の移動位置に関する情報に基づき座標値を計算することにより、測定対象物表面の座標値を含む座標値の集合である第一形状データを生成する第一形状データ生成手段と、前記3次元測定カメラの配置状態が前記第二の配置状態であるときに前記レーザー光移動手段によってレーザー光が測定対象物の計測領域の全体に照射された場合に、前記受光信号が得られる各測定点について、前記受光信号に基づいて計算される照射間距離および前記移動位置情報検出手段により検出される移動位置に関する情報に基づき座標値を計算することにより、測定対象物表面の座標値を含む座標値の集合である第二形状データを生成する第二形状データ生成手段と、前記第一形状データ生成手段により生成された第一形状データに属する座標値と、前記第二形状データ生成手段により生成された第二形状データに属する座標値とを、統一座標系における座標値に変換する座標変換手段と、前記統一座標系により表された前記第一形状データに属する各座標値をそれぞれ対象座標値とし、前記統一座標系により表された前記第二形状データに属する各座標値をそれぞれ比較座標値とし、それぞれの前記対象座標値について、その対象座標値により表される座標点を中心として設定された空間範囲内に存在する座標点を表す前記比較座標値の数が予め設定された数以下である場合に、その対象座標値を除外することによって、除外されなかった対象座標値を抽出する第一座標値抽出手段と、前記第一座標値抽出手段により抽出された座標値を用いて測定対象物の3次元画像を生成する3次元画像生成手段と、を備える3次元形状測定装置とすることにある。
上記発明に係る3次元形状測定装置によれば、3次元測定カメラの配置状態が第一の配置状態であるときにレーザー光移動手段によるレーザー光の照射点の移動によってレーザー光が測定対象物の計測領域の全体に照射された場合に、受光信号が得られた各測定点について、照射間距離(その受光信号に対応する測定点と3次元測定カメラとの間の距離)とその測定点の移動位置に関する情報とに基づき座標値が計算される。この座標値の集合により第一形状データが生成される。また、3次元測定カメラの配置状態が第二の配置状態であるときにレーザー光移動手段によってレーザー光の照射点が測定対象物の計測領域の全体に照射された場合に、受光信号が得られた各測定点について、照射間距離とその測定点の移動位置に関する情報とに基づき座標値が計算される。この座標値の集合により第二形状データが生成される。すなわち、本発明では、3次元測定カメラの配置状態が異なる状態で複数回(少なくとも2回)のレーザー光照射による測定が行われ、各回の測定において座標値が形状データとして求められる。これら複数の形状データは座標変換手段により座標変換されて統一座標系上における座標値に変換される。
ここで、ある測定点にて発生する反射光のうち、正規の反射光(2次反射光ではない反射光)に基づいてその測定点を表す正規の座標値が計算された場合、計算された正規の座標値は測定対象物表面上の点を表す。したがって、1回目の測定時、例えば3次元測定カメラが第一の配置状態(または第二の配置状態)であるときに計算された座標値が正規の反射光に基づいて計算されたものである場合には、その座標値が表す座標点の近傍に測定対象物表面上の点が多数存在することになる。また、正規の反射光に基づいて座標値を計算していれば、3次元測定カメラがどのような配置状態であっても(たとえば測定対象物に対するレーザー光の照射角度がどのような角度であっても)、計算された座標値はその測定点の座標値を正しく表す。これらのことから、1回目の測定時にある測定点の座標値が正規の反射光に基づいて計算された場合には、2回目の測定時(例えば3次元測定カメラが第二の配置状態(または第一の配置状態)であるとき)にその測定点やその近傍の測定点の座標値が正規の反射光に基づいて計算されている可能性が高いものと推定することができる。つまり、1回目の測定により求められた座標値が正規の反射光に基づいて計算された正規の座標値であるときは、その座標値により表される座標点を中心として設定された空間範囲内には、2回目の測定により正規の反射光に基づいて求められた座標値により表わされる座標点が数多く存在することになる。
一方、ある測定点にて発生する反射光のうち、2次反射光に基づいてその測定点の座標値が計算された場合は、計算された座標値はその測定点を正確に表さずに測定対象物表面とは異なる点を表す可能性が高い。このため、1回目の測定時に計算された座標値が2次反射光に基づいて計算されたものである場合には、その座標値によって表される座標点の近傍に測定対象物表面上の点はほとんど存在しないものと考えられる。したがって、1回目の測定により求められた座標値が2次反射光に基づいて計算されたものであるときは、その座標値により表される座標点を中心として設定された空間範囲内には、2回目の測定により正規の反射光に基づいて計算された座標値により表される座標点(すなわち測定対象物表面上の点)はほとんど存在しないことになる。
また、1回目の測定時と2回目の測定時とでは、測定対象物に対する3次元測定カメラの配置状態が異なる。例えば、1回目の測定時には3次元測定カメラは第一の配置状態(または第二の配置状態)とされ、2回目の測定時には第二の配置状態(または第一の配置状態)とされている。また、3次元測定カメラが両配置状態であるときにそれぞれ測定対象物の同一部分にレーザー光が照射された場合には、レーザー光の照射角度が異なる。このため、1回目の測定時にある測定点で発生する2次反射と、2回目の測定時にその測定点またはその近傍の測定点で発生する2次反射とでは、その発生の仕方(2次反射光の発生方向)が異なる。よって、1回目の測定時にある測定点にて発生する2次反射光に基づいて計算された偽の座標値により表される座標点は、2回目の測定時にその測定点またはその近傍の測定点にて発生する2次反射光に基づいて計算された座標値により表される座標点とも離れている可能性が高い。つまり、1回目の測定により求められた座標値が2次反射光に基づいて計算されたものであるときは、その座標値により表わされる座標点を中心として設定された空間範囲内に、2回目の測定により2次反射光に基づいて計算された座標値により表わされる座標点もほとんど存在しないことになる。
このようなことを踏まえ、本発明においては、1回目(または2回目)の測定により求められ統一座標系により表わされた第一形状データに属する座標値を対象座標値、2回目(または1回目)の測定により求められ統一座標系により表わされた第二形状データに属する座標値を比較座標値とし、すべての対象座標値のそれぞれについて、その対象座標値により表される点を中心とした所定の空間範囲内に存在する座標点を表す比較座標値の数がカウントされる。カウントされた数が予め設定された数以下であれば、その対象座標値は2次反射光に基づいて計算された偽の座標値と推定され、除外される。そして、除外されなかった対象座標値が正規の座標値として抽出され、抽出された座標値を用いて精度の良好な測定対象物の3次元画像が生成されるのである。
このように本発明の3次元形状測定装置は、測定対象物の同一部位にレーザー光が照射される場合にその照射角度が異なるように3次元測定カメラの配置状態を変えて測定対象物に複数回のレーザー光照射を行い、それぞれの回の測定により求められた座標値を比較して正規の座標値を抽出する。このとき複数回のレーザー光照射は時間的に前後して行われるため、反射光は一つの受光器で受光することができる。よって、受光器および受光回路が一つであっても、2次反射光の影響が除外された3次元形状測定を行うことができ、製造コストを抑えることができる。
上記レーザー光移動手段は、レーザー光の照射方向を変化させてレーザー光を測定対象物の計測領域の全ての部分に余すことなく照射するものでもよいが、計測領域の全体に亘り照射するものであれば、レーザー光の照射方向を変化させても照射されていない部分が存在してもよい。たとえば、測定対象物に対して一方向(たとえばx軸方向)にレーザー光の照射点を往復させるとともに、上記一方向に直交する方向(たとえばy軸方向)にレーザー光の照射点を移動させることにより、ジグザグ状にレーザー光を測定対象物の計測領域の全体に照射するものであってもよい。
上記移動位置情報検出手段は、レーザー光移動手段により照射点が移動したときに、その移動位置を把握することができる情報を検出するものであるのがよい。例えばレーザー光移動手段によって、レーザー光の光軸が、x−y−z座標系におけるx軸方向(y軸周り)に揺動される場合には、その揺動角度を検出するものであるのがよい。また、レーザー光の光軸がy軸方向に平行移動される場合には、y軸方向への移動量を検出するものであるのがよい。
上記配置状態切り換え手段は、上述のように測定対象物の同一部位にレーザー光が照射された場合に、それぞれ異なった照射角度となるように、3次元測定カメラを第一の配置状態と第二の配置状態とに切り換える。ここで、配置状態とは、測定対象物から見た3次元測定カメラの配置や傾斜角度などの姿勢の様子を意味する。また、3次元測定カメラの配置状態は、1回目の測定のときには第一の配置状態または第二の配置状態に維持され、2回目の測定のときには1回目の測定時とは異なった配置状態に維持されるが、これらの配置状態は、各回の測定において、3次元測定カメラをある一方向から見たときに維持されていればよい。なお、第一の配置状態と第二の配置状態は、仮に測定対象物の同一部位にレーザー光が照射された場合に異なった照射角度となるような配置状態であり、両配置状態にて必ずしも測定対象物の同一部位にレーザー光が照射されなければならないわけではない。
また、上記第一座標値抽出手段にて対象座標値の抽出に用いられる設定された空間範囲は、統一座標系における空間範囲である。その大きさは、測定対象物の形状や測定点の数などにより適宜決められるべきものであるので一概には定義できないが、対象座標値が正規の座標値である場合にその測定点の近傍の測定点が十分に存在する程度の大きさであるのがよい。また、この第一座標値抽出手段にて対象座標値の抽出に用いられる予め設定された数も、同様な理由から一概には定義できない。しかし、第一座標値抽出手段によって抽出された対象座標値が正規の反射光に基づいて計算されたものの割合が高く、且つ除外された対象座標値が2次反射光に基づいて計算されたものの割合が高くなるように決定されるものであるとよい。
また、本発明においては上述したように、3次元測定カメラの配置状態を変えて測定対象物にレーザー光を複数回照射することにより、複数回の測定が行われるが、3次元測定カメラの配置状態が第一の配置状態であるときのレーザー光照射と第二の配置状態であるときのレーザー光照射は、どちらが先に行われてもよい。つまり、3次元測定カメラの配置状態が第一の配置状態であるときに1回目の測定を行い、第二の配置状態であるときに2回目の測定を行ってもよいし、3次元測定カメラの配置状態が第二の配置状態であるときに1回目の測定を行い、第一の配置状態であるときに2回目の測定を行ってもよい。要するに、対象座標値に係る測定と比較座標値に係る測定は、どちらを先に行ってもよい。
また、前記第一の配置状態は、レーザー光の照射角度が特定の方向から見た場合に第一照射角度となる配置状態であり、前記第二の配置状態は、レーザー光の照射角度が前記特定の方向から見た場合に前記第一照射角度とは異なる第二照射角度となる配置状態であるのがよい。これによれば、3次元測定カメラを上記特定の方向を軸として傾斜機構等を用いて傾斜させることにより、第一の配置状態と第二の配置状態とを作り出すことができる。この場合、上記特定の方向は、レーザー光移動手段によりレーザー光の照射点の位置が移動されても、照射角度が変化しない方向であるのがよい。例えばx−y−z座標系において、レーザー光の光軸がx軸方向(y軸周り)に揺動するとともにy軸方向に平行移動することによって、レーザー光の照射点が移動される場合、上記特定の方向は、x軸方向(y−z平面に垂直な方向)とするのがよい。
また、3次元形状測定装置は、前記第一座標値抽出手段によって抽出された座標値中に、一の測定点から得られる受光信号に基づいて計算された座標値が一つのみ存在するときは、その座標値をその測定点を表す正規の座標値に設定する正規座標値設定手段と、前記第一座標値抽出手段によって抽出された座標値中に、一の測定点から得られる受光信号に基づいて計算された座標値が複数存在するときは、前記複数存在する座標値のうち、その測定点の近傍の測定点を表す正規の座標値の計算に用いられた照射間距離に最も近い照射間距離に基づいて計算された座標値を、その測定点を表す正規の座標値として選択する正規座標値選択手段を備えるのがよい。そして、前記3次元画像生成手段は、前記正規座標値設定手段により設定された正規の座標値および前記正規座標値選択手段により選択された正規の座標値を用いて測定対象物の3次元画像を生成するものであるのがよい。
第一座標値抽出手段によって抽出された座標値中に、一の測定点から得られた受光信号により計算される照射間距離およびその測定点の移動位置に関する情報に基づいて計算された座標値が複数存在するときは、それら複数の座標値のうち、一つのみが正規の反射光に基づいて計算された正規の座標値であり、それ以外は2次反射光に基づいて計算された偽の座標値である。したがって、複数の座標値から偽の座標値を除外して正規の座標値のみを選択することにより、より精度の高い3次元形状データを得ることができる。本発明ではこの選択を行うために、一の測定点から得られた受光信号に基づいて計算された座標値が複数存在するときは、その測定点の近傍の測定点を表す正規の座標値の計算に用いられた照射間距離に最も近い照射間距離に基づいて計算された座標値が、正規の座標値として選択される。このように、近傍の正規座標値に基づいて正規の座標値を選択することにより、正規座標値を選択するときの正確性が高まる。
上記近傍の測定点とは、対象とされる測定点から予め定められる所定の範囲内に存在する他の測定点である。この場合、測定点はレーザー光移動手段により順に移動されているので、受光信号が得られる測定点を順に番号付けした場合に、測定点番号が近い測定点は互いに近傍に存在する測定点であることがわかる。したがって、上記近傍の測定点としては、対象とされる測定点についての測定点番号よりも一個〜n個前の測定点番号により表わされる測定点を選択するとよい。また、対象とされる測定点の測定点番号よりも後に測定された測定点についてもすでに正規の座標値が計算されている場合であれば、近傍の測定点として、対象とされる測定点についての測定点番号よりも1個〜n個後の測定点番号により表わされる測定点を選択してもよい。上記nは任意であるが、1〜3程度が好ましい。また、対象となる測定点と他の測定点との間の距離が判明しているのであれば、上記近傍の測定点は、対象となる測定点から予め設定された所定の距離範囲内に存在する測定点であってもよい。また、上記近傍の測定点が複数の点であるときは、これらの測定点を表す正規の座標値の計算に用いられた照射間距離の平均距離を計算し、この平均距離に最も近い照射間距離に基づいて計算された座標値を、正規の座標値として選択するとよい。
また、前記3次元画像生成手段は、前記第一座標値抽出手段によって除外された前記対象座標値の数が予め設定された数以上である場合に、前記正規座標値設定手段により設定された正規の座標値および前記正規座標値選択手段により選択された正規の座標値を用いて測定対象物の3次元画像を生成するものであるとよい。第一座標値抽出手段によって除外された偽の座標値が多いときには、抽出された座標値中にも2次反射光に基づいて計算された座標値が多い可能性が高いため、第一座標値抽出手段による抽出のみでは不十分である。したがって、この場合は正規座標値選択手段によりさらに偽の座標値が除外される。しかし、第一座標値抽出手段によって除外された偽の座標値が少ないときは、抽出された座標値中に2次反射光に基づいて計算された座標値が少なく、第一座標値抽出手段による座標値の抽出のみで偽の座標値は充分に除外されたものと推定できる。したがって、正規座標値選択手段および正規座標値設定手段により座標値の選択および設定をする場合を第一座標値抽出手段により除外された対象座標値の数が所定数以上であるときのみとし、除外された対象座標値の数が所定数未満であるときはそれ以上の処理を行わないようにすることで、3次元画像生成までのデータ処理時間を短くすることができる。
また、本発明の3次元形状測定装置は、前記統一座標系により表された前記第二形状データの各座標値をそれぞれ対象座標値とし、前記統一座標系により表された前記第一形状データの各座標値をそれぞれ比較座標値とし、それぞれの前記対象座標値について、その対象座標値により表される座標点を中心として設定された空間範囲内に存在する座標点を表す前記比較座標値の数が予め設定された数以下である場合に、その対象座標値を除外することによって、除外されなかった対象座標値を抽出する第二座標値抽出手段と、前記第一座標値抽出手段により除外された座標値の数と前記第二座標値抽出手段により除外された座標値の数に基づいて、前記第一座標値抽出手段により抽出された座標値の集合である抽出済み第一形状データと前記第二座標値抽出手段により抽出された座標値の集合である抽出済み第二形状データの一方または双方を選定する形状データ選定手段と、をさらに備えるのがよい。そして、前記3次元画像生成手段は、前記抽出済み第一形状データと前記抽出済み第二形状データのうち、前記形状データ選定手段により選定された形状データに属する座標値を用いて測定対象物の3次元画像を生成するものであるのがよい。
これによれば、第一座標値抽出手段により除外された座標値の数と、第二座標値抽出手段により除外された座標値の数に基づいて、第一座標値抽出手段により抽出された座標値の集合である抽出済み第一形状データと第二座標値抽出手段により抽出された座標値の集合である抽出済み第二形状データとの一方または双方が選択され、選択された形状データに属する座標値を用いて測定対象物の3次元画像が生成される。このように除外された座標値の数によって用いる形状データを選択することにより、より精度の高い3次元画像を生成することができる。
この場合、前記形状データ選定手段は、前記第一座標値抽出手段によって除外された座標値の数が予め設定された数未満であり、且つ前記第二座標値抽出手段によって除外された座標値の数が前記予め設定された数以上である場合に、前記抽出済み第一形状データを選定し、前記第一座標値抽出手段によって除外された座標値の数が前記予め設定された数以上であり、且つ前記第二座標値抽出手段によって除外された座標値の数が前記予め設定された数未満である場合に、前記抽出済み第二形状データを選定するのがよい。第一座標値抽出手段および第二座標値抽出手段により除外された座標値は、2次反射光に基づいて計算された座標値である可能性が高い。このような除外された座標値が多い場合には、抽出済み形状データ(抽出済み第一形状データまたは抽出済み第二形状データ)の中に、第一座標値抽出手段または第二座標値抽出手段によって除外できなかった偽の座標値が存在する可能性が高く、抽出済みの形状データ自体の信頼性が低い。したがって、本発明においては、抽出済み第一形状データおよび抽出済み第二形状データのうち、除外された座標値の数が設定数未満である形状データが選択され、選択された形状データに属する座標値を用いて精度の良好な3次元画像が生成される。
また、前記形状データ選定手段は、前記第一座標値抽出手段によって除外された座標値の数が予め設定された数未満であり、且つ前記第二座標値抽出手段によって除外された座標値の数が前記予め設定された数未満である場合に、前記抽出済み第一形状データおよび前記抽出済み第二形状データの双方を選定するものであるのがよい。第一および第二座標値抽出手段によって除外された座標値が双方とも設定数未満であれば、抽出済み第一形状データおよび抽出済み第二形状データの双方の形状データの信頼性が高い。よって、この場合は双方の形状データに属する座標値を用いても、精度の良好な3次元画像を生成することができる。
また、前記形状データ選定手段は、前記第一座標値抽出手段によって除外された座標値の数が予め設定された数以上であり、且つ前記第二座標値抽出手段によって除外された座標値の数が前記予め設定された数以上である場合に、前記抽出済み第一形状データと前記抽出済み第二形状データのうち、除外された座標値の数が少ない形状データを選定するものであるのがよい。第一および第二座標値抽出手段によって除外された座標値が双方とも設定数以上である場合は、抽出済み第一形状データも抽出済み第二形状データもデータとしての信頼性が低い。しかし、除外された座標値が少ない方が多い方よりも信頼性が高い。よって、除外された座標値が少ない側の形状データに属する座標値を用いて3次元画像を生成することにより、少なくとも除外された座標値が多い側の形状データに属する座標値を用いて3次元画像を生成する場合に比べて精度の高い3次元画像を生成することができる。
この場合、3次元形状測定装置は、前記形状データ選定手段によって選定された形状データに属する座標値中に、一の測定点から得られる受光信号に基づいて計算された座標値が一つのみ存在するときは、その座標値をその測定点を表す正規の座標値に設定する選定済み正規座標値設定手段と、前記形状データ選定手段によって選定された形状データに属する座標値中に、一の測定点から得られる受光信号に基づいて計算された座標値が複数存在するときは、前記複数存在する座標値のうち、その測定点の近傍の測定点を表す正規の座標値の計算に用いられた照射間距離に最も近い照射間距離に基づいて計算された座標値を、その測定点を表す正規の座標値として選択する選定済み正規座標値選択手段を備え、前記3次元画像生成手段は、前記選定済み正規座標値設定手段により設定された正規の座標値および前記選定済み正規座標値選択手段により選択された正規の座標値を用いて測定対象物の3次元画像を生成するものであるとよい。形状データ選定手段により選定された抽出済み形状データに属する座標値中に、一の測定点から得られた受光信号により計算される照射間距離およびその測定点についての移動位置に関する情報に基づいて計算された座標値が複数存在するときは、それら複数の座標値のうち、一つのみが正規の座標値である。したがって、本発明においては、上述した正規座標値選択手段と同様な手段である選定済み正規座標値選択手段により、その複数の座標値から正規の座標値が選択される。具体的には、複数の座標値のうち、その測定点の近傍の測定点を表す正規の座標値の計算に用いられた照射間距離に最も近い照射間距離に基づいて計算された座標値が正規の座標値として選択される。選択されなかった座標値は除外される。このようにして2次反射光に基づいて計算された座標値を除外することにより、より精度の高い3次元画像を生成することができる。
また、本発明の3次元形状測定装置は、前記3次元画像生成手段により測定対象物の3次元画像を生成するために用いられるものとされた座標値のそれぞれについて、その座標値に隣接する座標値に基づいて、その座標値が正規の座標値であるか否かを判定する正規座標値判定手段を更に備え、前記3次元画像生成手段は、前記正規座標値判定手段により正規の座標値であると判定された座標値のみにより測定対象物の3次元画像を生成するものであるのがよい。これによれば、上述した第一座標値抽出手段、第二座標値抽出手段、正規座標値設定手段、正規座標値選択手段、形状データ選定手段、選定済み正規座標値設定手段、選定済み正規座標値選択手段によって、測定対象物の3次元画像生成のために用いられるものとされた座標値のそれぞれについて、正規座標値判定手段により正規の座標値であるか否かについてさらに判定される。この判定により正規の座標値であると判定された座標値のみにより、3次元画像が生成される。これにより、より精度の高い3次元画像を生成することができる。
上記正規座標値判定手段による判定は、判定対象となる座標値と、それに隣接する座標値との関係に基づいて行われる。例えば、正規座標値判定手段は、x−y−z座標系において、判定対象となる座標値のz座標と、比較対象となる隣接した座標値のz座標との差が所定値以下である場合に、その座標値が正規の座標値であると判定するものであってもよい。また、判定対象となる座標値と比較対象となる隣接した座標値との距離が所定値以下である場合に、その座標値が正規の座標値であると判定するものであってもよい。さらに、判定対象となる複数の座標値のデータから最小二乗法などによって近似直線を求め、その近似直線の勾配が所定値以下である場合に、その複数の座標値が正規の座標値であると判定するものであってもよい。
また、本発明の他の特徴は、測定対象物にレーザー光を照射するとともに、レーザー光の照射点を移動することにより、測定対象物の計測領域の全体にレーザー光を照射する第一照射工程と、前記第一照射工程にて移動する照射点の移動位置に関する情報を検出する第一移動位置情報検出工程と、前記第一照射工程にて移動する各照射点で発生する散乱光の一部である反射光を受光し、受光した反射光の強度に応じた受光信号を出力する第一受光工程と、前記第一受光工程にて前記受光信号が得られる照射点である各測定点について、前記受光信号に基づいて計算される照射間距離および前記第一移動位置情報検出工程にて検出される前記測定点の移動位置に関する情報に基づき座標値を計算することにより、測定対象物表面の座標値を含む座標値の集合である第一形状データを生成する第一形状データ生成工程と、測定対象物の同一部位にレーザー光が照射された場合に前記第一照射工程により照射されるレーザー光の照射角度とは異なる照射角度でレーザー光が照射されるように、測定対象物にレーザー光を照射するとともに、レーザー光の照射点を移動することにより、測定対象物の計測領域の全体にレーザー光を照射する第二照射工程と、前記第二照射工程にて移動する照射点の移動位置に関する情報を検出する第二移動位置情報検出工程と、前記第二照射工程にて移動する各照射点で発生する反射光を受光し、受光した反射光の強度に応じた受光信号を出力する第二受光工程と、前記第二受光工程にて前記受光信号が得られる照射点である各測定点について、前記受光信号に基づいて計算される照射間距離および前記第二移動位置情報検出工程にて検出される前記測定点の移動位置に関する情報に基づき座標値を計算することにより、測定対象物表面の座標値を含む座標値の集合である第二形状データを生成する第二形状データ生成工程と、前記第一形状データ生成工程にて生成された第一形状データに属する各座標値と、前記第二形状データ生成工程により生成された第二形状データに属する各座標値とを、統一座標系における座標値に変換する座標変換工程と、前記統一座標系により表された前記第一形状データに属する各座標値をそれぞれ対象座標値とし、前記統一座標系により表された前記第二形状データに属する各座標値をそれぞれ比較座標値とし、それぞれの前記対象座標値について、その対象座標値により表される座標点を中心として設定された空間範囲内に存在する座標点を表す前記比較座標値の数が予め設定された数以下である場合に、その対象座標値を除外することによって、除外されなかった対象座標値を抽出する第一座標値抽出工程と、前記第一座標値抽出工程により抽出された前記対象座標値を用いて測定対象物の3次元画像を生成する3次元画像生成工程と、を含む3次元形状測定方法とすることにある。
この場合、前記第一照射工程は、レーザー光を出射するレーザー光源が内蔵された3次元測定カメラを、測定対象物に対して第一の配置状態となるように配置する第一配置工程と、前記第一配置工程にて前記第一の配置状態となるように配置された前記3次元測定カメラに内蔵された前記レーザー光源からレーザー光を出射させる第一レーザー光出射工程と、測定対象物に対する前記3次元測定カメラの配置状態を前記第一の配置状態に維持しつつレーザー光が測定対象物の計測領域の全体に照射されるように、測定対象物に対するレーザー光の照射点を移動させる第一レーザー光移動工程と、を含み、前記第二照射工程は、前記3次元測定カメラを、測定対象物の同一部位にレーザー光が照射された場合に前記第一の配置状態である場合に照射されるレーザー光の照射角度とは異なる照射角度で照射される配置状態である第二の配置状態となるように配置する第二配置工程と、前記第二配置工程にて前記第二の配置状態となるように配置された前記3次元測定カメラに内蔵された前記レーザー光源からレーザー光を出射させる第二レーザー光出射工程と、測定対象物に対する前記3次元測定カメラの配置状態が前記第二の配置状態である状態を維持しつつレーザー光が測定対象物の計測領域の全体に照射されるように、測定対象物に対するレーザー光の照射点を移動させる第二レーザー光移動工程と、を含むものであるのがよい。
また、前記第一座標値抽出工程によって抽出された座標値中に、一の測定点から得られる受光信号に基づいて計算された座標値が一つのみ存在するときは、その座標値をその測定点を表す正規の座標値に設定する正規座標値設定工程と、前記第一座標値抽出手段によって抽出された座標値中に、一の測定点から得られる受光信号に基づいて計算された座標値が複数存在するときは、前記複数存在する座標値のうち、その測定点の近傍の測定点を表す正規の座標値の計算に用いられた照射間距離に最も近い照射間距離に基づいて計算された座標値を、その測定点を表す正規の座標値として選択する正規座標値選択工程とをさらに含み、前記3次元画像生成工程は、前記正規座標設定工程にて設定された正規の座標値および前記正規座標値選択工程にて選択された正規の座標値を用いて測定対象物の3次元画像を生成するものであるとよい。
このような方法の発明においても、上記した3次元形状測定装置の発明において得られる作用効果を奏することができる。なお、上記方法の発明において、第一照射工程と第二照射工程は、どちらが先に行われるものであってもよい。つまり、1回目の測定にて第一照射工程が行われ、2回目の測定にて第二照射工程が行われてもよいし、1回目の測定にて第二照射工程が行われ、2回目の測定において第一照射工程が行われてもよい。
図1は、本発明が適用される3次元形状測定装置の一実施形態の全体構成を示す図である。図に示されるように、3次元形状測定装置1は、平板状の測定台2と、この測定台2上に取付けられた支持体3と、支持体3に移動可能に取付けられた3次元測定カメラ10と、3次元測定カメラ10を移動するためのフィードモータ40とを備えている。
測定台2は図に示されるように平板状に形成されている。支持体3は、2本の脚部3a,3aおよび支持部3bからなる。2本の脚部3a,3aは、測定台2の上面から立設しており、この2本の脚部3a,3aの上端を連結するように、長尺状の支持部3bが測定台2の長手方向に沿って設けられている。支持部3bは測定台2の上面とほぼ平行に延設されている。また支持部3bには、その軸方向に沿って上下に貫通した長孔3cが形成されている。3次元測定カメラ10はこの長孔3c内に配設されている。
フィードモータ40は、支持部3bに形成された長孔3cの一方端側に取付けられている。このフィードモータ40の出力軸は、長孔3cに長手方向に沿って配設された図示しないベルトあるいはボールネジ送り機構などの公知の動力伝達手段を介して3次元測定カメラ10に連結されている。したがって、3次元測定カメラ10は、フィードモータ40の駆動によって長孔3c内にて支持部3bの長手方向に移動可能となるように配設されている。また、3次元測定カメラ10は内部にレーザー光源を備えており、このレーザー光源から出射されるレーザー光は測定台2の上面に照射されるとともに、支持部3bの長手方向に直交する面内にて光軸の向きを変化することができるようにされている。この光軸の向きの変化と、フィードモータ40の駆動による3次元測定カメラ10の移動により、測定台2の上面の広い領域に亘って3次元測定カメラ10からレーザー光が照射される。
測定台2の上面には測定対象物OBが載置される。3次元形状測定装置1は、測定台2上に載置された測定対象物OBの外形形状、特に測定対象物OBの上面側の形状を測定する。なお、本実施形態では、測定した測定対象物OBの形状データを座標値として表示するために、図1に示されるように、測定台2の上面に平行な方向であって3次元測定カメラ10がフィードモータ40の駆動により移動する方向(すなわち支持部3bの長手方向)をy軸方向、y軸方向に直交する方向であって測定台2の上面に平行な方向をx軸方向、x軸方向およびy軸方向に直交する方向(すなわち測定台2の上面と垂直な方向)をz軸方向と定めておく。
図2は3次元測定カメラ10をy軸方向から見た内部透視図、図3は3次元測定カメラ10をz軸方向から見た内部透視図である。図に示されるように、この3次元測定カメラ10は、外側ケース11と内側ケース12を備える。外側ケース11は3次元測定カメラ10の外郭を構成する筐体である。外側ケース11は直方体状に形成され、図2において下面部分、すなわち測定台2の上面に面する部分には、開口部またはレーザー光が透過可能なガラスなどにより窓部11aが形成されている。内側ケース12は外側ケース11の内部に配されている。この内側ケース12も直方体状に形成され、図2において下面部分、すなわち測定台2の上面に面する部分には、開口部またはレーザー光が透過可能なガラスなどにより窓部12aが形成されている。
内側ケース12内には、レーザー光源21、コリメートレンズ22、ガルバノミラー23、揺動モータ24、集光レンズ25、ラインセンサ26、受光回路27が配設されている。レーザー光源21は、図示省略されたレーザー駆動回路から供給される電流に応じた強度のレーザー光を外部に出射する光学素子であり、レーザーダイオードその他の発光素子などにより構成することができる。コリメートレンズ22はレーザー光源21に対面配置され、レーザー光源21から出射されるレーザー光はこのコリメートレンズ22により平行光とされる。
図3に示されるように、ガルバノミラー23は長尺状の平板形状とされ、長手方向がy軸方向に平行な方向となるように内側ケース12内に配置されている。このガルバノミラー23には、コリメートレンズ22により平行光とされたレーザー光が入射する。入射したレーザー光の反射光は内側ケース12の窓部12aおよび外側ケース11の窓部11aを経て外部に出射される。このようにして3次元測定カメラ10からレーザー光が出射される。外部に出射されたレーザー光は測定台2上の測定対象物OBに照射される。
揺動モータ24は、ガルバノミラー23の長手方向の一端(図3において左端)側に配置されている。揺動モータ24の出力軸24aはガルバノミラー23に接続されている。揺動モータ24は、その出力軸24aが正回転と逆回転を交互に繰り返すように駆動される。このような正逆回転駆動によって、ガルバノミラー23はその長軸周りに揺動する。ガルバノミラー23の揺動動作によって、ガルバノミラー23に入射するレーザー光の入射角度および反射角度が連続的に変化する。このため、図2の矢印A,B,Cにより示されるように、ガルバノミラー23にて反射したレーザー光の光軸もガルバノミラー23の揺動動作に連動して揺動する。この光軸の揺動によりレーザー光がx軸方向に走査される。この光軸の揺動は、図からわかるようにy軸周りの揺動である。光軸の揺動角度は、y軸方向から見てz軸と光軸とのなす角度であるy軸周り照射角度θyにより表される。
集光レンズ25は凸レンズであり、外部から窓部11aおよび12aを経て入射してきた光、特に3次元測定カメラ10から出射されたレーザー光が測定対象物OBに照射された場合における散乱光の一部である反射光を集光する。ラインセンサ26はCCDなどの画素を一列に並べた受光センサであり、集光レンズ25によって集光された光を受光する。また、ラインセンサ26は、画素ごとに受光した光を、受光強度を表す電気信号(受光信号)に変換して出力する。受光回路27はラインセンサ26に接続されている。受光回路27は、ラインセンサ26から入力された受光信号を増幅し、増幅した受光信号の強度を画素ごとのデジタルデータに変換して出力する。ラインセンサ26および受光回路27が、本発明の受光手段に相当する。
また、3次元測定カメラ10は、内側ケース12を傾斜させるための傾斜機構30を備えている。この傾斜機構30は、傾斜モータ31と、第一駆動軸32と、減速器33と、第二駆動軸34とを備える。
第一駆動軸32は、図3に示されるようにy軸方向に沿って延設されている。また、第一駆動軸32は、外側ケース11の内部であって且つ内側ケース12の外部に配設されている。そして、一端が外側ケース11の内壁にベアリングなどの軸受けを介して支持され、他端が傾斜モータ31に接続されている。傾斜モータ31は外側ケース11の内壁に固定されている。第二駆動軸34は、図3からわかるように第一駆動軸32に直交するようにx軸方向に延設され、その両端がベアリングなどの軸受けを介して外側ケース11の内壁に支持されている。また、第二駆動軸34は、その中間部分が内側ケース12内の空間に位置するように、内側ケース12の内部を突き抜けてx軸方向に延びており、内側ケース12と第二駆動軸34との接続部位にて両者が固着されている。したがって、内側ケース12は、第二駆動軸34に支えられる状態で外側ケース11内に配設されており、第二駆動軸34が回転した場合に外側ケース11内で傾斜する。なお、第二駆動軸34は、内側ケース12内においてレーザー光の導光路を遮らないような位置に設けられる。
減速器33は第一駆動軸32と第二駆動軸34との交差部位に設けられている。この減速器33として、例えば図に示すような公知のウォーム減速機構などを用いることができる。この減速器33は、第一駆動軸32に同軸回転可能に固定されたウォームギアと、第二駆動軸34に同軸回転可能に固定されたウォームホイールからなり、これらは交差した状態で噛み合っている。この噛み合いによって、傾斜モータ31の回転が減速されて第二駆動軸34に伝達される。
図4は、3次元測定カメラ10をx軸方向から見た内部透視図である。この図からわかるように、傾斜モータ31の駆動は第一駆動軸32に伝達され、これにより第一駆動軸32がy軸周りに回転する。この回転は減速器33によって減速されるとともに第二駆動軸34に伝達され、第二駆動軸34がx軸周りに回転する。この回転により、第二駆動軸34に固着された内側ケース12が第二駆動軸34を中心としてx軸周りに傾斜する。内側ケース12の傾斜により、内側ケース12内に配設されたレーザー光源21、コリメートレンズ22、ガルバノミラー23、揺動モータ24、集光レンズ25、ラインセンサ26、受光回路27などの光学部品が、それぞれの配置関係を保ったまま傾斜する。この傾斜によって、測定対象物OBに対する3次元測定カメラ10の傾斜状態が変更される。
図4において、内側ケース12が実線で示されている状態であるときに出射されるレーザー光の光軸が実線矢印Dにより示され、点線で示されている傾斜状態であるときに出射されるレーザー光の光軸が点線矢印Eにより示されている。このように、内側ケース12が実線で示される状態から点線で示される状態に変化するように傾斜モータ31を駆動させることによって、出射レーザー光の光軸がy軸方向に(x軸周りに)変化する。つまり出射レーザー光の照射方向がy−z平面内で変化する。この出射レーザー光の照射方向は、本実施形態では、y−z平面において光軸とz軸とのなす角、すなわちx軸方向から見たレーザー光の光軸とz軸とのなす角であるx軸周り照射角度θxにより表される。後述するように本実施形態においては、傾斜機構30の駆動によって、測定対象物OBに対する3次元測定カメラ10の配置状態が、x軸周り照射角度θxが第一照射角度θx1となる第一の配置状態と、第二照射角度θx2となる第二の配置状態とに切り換えられる。なお、x軸周り照射角度θxが3つ以上の異なる角度となるように、3次元測定カメラ10の配置状態が切り換えられるようになっていてもよい。また、x軸周り照射角度θxが少なくとも異なる2つの角度に切り換え可能であれば、本実施形態のようにモータおよび減速器を用いて連続的にx軸周り照射角度θxが変化できるようなものでなくてもよい。例えば内側ケース12をx軸周りに回動可能に外側ケース11に取付けておき、ストッパなどを用いて2箇所の回動位置にて内側ケース12を固定できるようにしておいてもよい。
図1に示されるように、3次元形状測定装置1は、3次元画像処理装置60、コントローラ50、入力装置52および表示装置54を備えている。コントローラ50は、CPU,ROM,RAMを備えるマイクロコンピュータにより構成される。このコントローラ50は、入力装置52から入力される入力指令に基づいて、フィードモータ40、揺動モータ24および傾斜モータ31に駆動制御信号を、レーザー光源21(詳しくはレーザー光源21に接続されたレーザー光駆動回路)にレーザー光の出射を制御する出射制御信号を、それぞれ出力するとともに、これらの制御情報を3次元画像処理装置60に入力する。
3次元画像処理装置60もCPU,ROM,RAMを備えるマイクロコンピュータにより構成される。3次元画像処理装置60は、フィードモータ40、揺動モータ24、傾斜モータ31、受光回路27に電気的に接続されている。フィードモータ40はエンコーダを備えており、このエンコーダから出力されるパルス信号が3次元画像処理装置60に入力される。このパルス信号から、3次元測定カメラ10のy軸方向移動量、すなわち3次元測定カメラ10から出射されるレーザー光の照射点のy軸方向移動量Yが計算される。また、揺動モータ24もエンコーダを備えており、このエンコーダから出力されるパルス信号が3次元画像処理装置60に入力される。このパルス信号から、ガルバノミラーの回転角度、すなわちレーザー光のy軸周り照射角度θyが計算される。また、傾斜モータ31もエンコーダを備えており、このエンコーダから出力されるパルス信号も3次元画像処理装置60に入力される。このパルス信号から、内側ケース12の傾斜角度、すなわちレーザー光のx軸周り照射角度θxが計算される。また、受光回路27からは受光信号の強度を表すデジタルデータが3次元画像処理装置60に入力される。3次元画像処理装置60はこれらの入力信号およびコントローラ50から入力された制御情報を基に、測定対象物OBの形状データを座標値として計算し、計算した座標値を用いて表される測定対象物OBの3次元画像を生成して表示装置54に出力する。
上記構成の3次元形状測定装置1において、作業者が入力装置52を介してコントローラ50に測定対象物OBの3次元形状測定の開始指令を入力すると、コントローラ50は図5のフローチャートに示される3次元測定プログラムを実行する。これにより、測定対象物OBは3次元測定カメラ10によって2回の測定が行われることになる。以下、この3次元測定プログラムについて説明する。このプログラムは図のステップ100(以下、ステップ番号をSと略記する)にて開始され、次のS102にて、3次元測定カメラ10のy軸方向位置が第一初期位置St1となるようにフィードモータ40の駆動制御が行われる。これによりフィードモータ40が駆動し、3次元測定カメラ10が指定された第一初期位置St1までy軸方向に移動される。続いて、S104にて、レーザー光のx軸周り照射角度θxが所定の第一照射角度θx1となるように、傾斜モータ31の駆動制御が行われる。これにより傾斜モータ31が駆動して、レーザー光のx軸周り照射角度θxが第一照射角度θx1となるように内側ケース12が傾斜される。なお、最初からθxがθx1となっている場合は、この処理を省略することができる。S102およびS104の処理によって3次元測定カメラ10のy軸方向初期位置およびレーザー光のx軸周り照射角度θx(=θx1)が定められる。これにより1回目の測定においてレーザー光が最初に照射される測定台2上の位置である第一照射初期位置が設定される。第一照射初期位置は、その後に行われるレーザー光の照射によって測定対象物OBの上面の全面にレーザー光が照射されるような位置に設定される。測定対象物OBの大きさが未知であれば、第一照射初期位置のy軸方向位置は測定台2の端部に設定してもよい。なお、x軸周り照射角度が第一照射角度θx1である3次元測定カメラ10の配置状態が、本発明の第一の配置状態に相当し、S104の処理が、本発明の第一配置工程に相当する。
次に、S106にて、コントローラ50がレーザー光源21(レーザー光駆動回路)にレーザー光の出射制御信号を出力する(第一レーザー光出射工程)。レーザー光源21はこの出射制御信号を受けてレーザー光を出射する。レーザー光源21からのレーザー光はコリメートレンズ22を経てガルバノミラー23に入射し、ガルバノミラー23にて反射してから3次元測定カメラ10の外部に出射する。外部に出射したレーザー光は測定台2上の測定対象物OBに照射される。次に、S108にて、コントローラ50が揺動モータ24およびフィードモータ40に駆動制御信号を出力することによりレーザー光の走査および移動が行われる(第一レーザー光移動工程)。このステップにて、揺動モータ24はガルバノミラー23をy軸周りに揺動させ、このガルバノミラー23の揺動によりレーザー光がx軸方向に走査される。また、フィードモータ40は3次元測定カメラ10を所定の微小速度で初期位置St1からy軸方向に沿って平行移動させる。この移動によりレーザー光がy軸方向にも移動する。レーザー光のx軸方向への走査とy軸方向への移動を同時に行うことによって、測定対象物OBに対するレーザー光の照射点の位置は、測定対象物OBの表面上をx軸方向に往復してジグザグ状に順次移動する。このようにレーザー光の照射点が移動されることにより、測定台2上に載置された測定対象物OBの上面の全面にレーザー光が照射される。なお、このようなレーザー光の照射点の移動中、x軸周り照射角度θxは第一照射角度θx1に維持されている。フィードモータ40、揺動モータ24、ガルバノミラー23が、本発明におけるレーザー光移動手段に相当する。
測定対象物OBの上面に照射されたレーザー光は、その照射点にて散乱する。散乱光の一部の反射光は3次元測定カメラ10内のガルバノミラー23に入射し、さらにガルバノミラー23で反射して、集光レンズ25を介してラインセンサ26に受光される(第一受光工程)。ラインセンサ26からは、受光した光の強度に相当する受光信号が出力される。出力された受光信号は受光回路27に入力されて増幅され、さらに増幅された受光信号の強度が画素ごとのデジタルデータにされる。この画素ごとのデジタルデータが3次元画像処理装置60に入力される。
3次元画像処理装置60は、レーザー光の照射中に、図6に示される距離計算プログラムを実行する。このプログラムは図6のS150にて開始され、S152にて、受光回路27から反射光強度に応じた受光信号の強度を表す画素ごとのデジタルデータを所定の微小間隔ごとに取り込む。取り込んだデジタルデータは、受光波形データとして表される。続いて、S154にて、ラインセンサ26におけるピークの受光位置が計算される。次いで、S156にて、計算した受光位置を用いて三角測量の原理に基づき照射間距離Lが計算される。この照射間距離Lは、計算に用いられた受光波形(すなわち受光信号)が得られた照射点である測定点と、3次元測定カメラ10との間の距離である。その後、S158にて、その受光信号の取込時点に入力されるフィードモータ40のエンコーダからのパルス信号および揺動モータ24のエンコーダからのパルス信号に基づいて、受光信号が得られた測定点のy軸方向移動量Yおよびy軸周り照射角度θyが計算される。Y,θyおよび設定されている第一照射角度θx1(x軸周り照射角度θx)は、これらにより測定点の位置ベクトルが表される量であり、測定点の移動位置に関する情報である。次いで、S160にて、照射間距離Lと、これに対応するy軸方向移動量Y、y軸周り照射角度θyおよび設定されている第一照射角度θx1を関連付けて記憶する。その後、このプログラムを終了する。このプログラムは、3次元画像処理装置60が受光信号のデジタルデータを取り込むごとに行われる。なお、y軸方向移動量Y、y軸周り照射角度θyおよび設定されている第一照射角度θx1は、上述のように測定対象物OBに対するレーザー光の照射点の移動位置、すなわち位置ベクトルを表す。したがって、これらを検出するフィードモータ40のエンコーダ、揺動モータ24のエンコーダおよび傾斜モータ31のエンコーダは、レーザー光移動手段により移動されるレーザー光の照射点の移動位置に関する情報を検出する移動位置情報検出手段に相当する。
一方、コントローラ50は、S108にてレーザー光の移動を開始させた後は、S110にて、y軸方向移動量YがY1以上であるか否かについて判定する。YがY1未満(S110:No)であれば、再度この判定が繰り返される。ここで、Y1は、1回目の測定において、レーザー光を測定対象物OBの上面の全面に照射するために必要なy軸方向距離を表し、概ね測定対象物OBのy軸方向に沿った長さよりも若干長い値として予め設定されている。S110にてYがY1以上であると判定された場合(S110:Yes)には、測定対象物OBの上面の全面にレーザー光が照射されたものとみなされる。この場合はS112に進み、レーザー光源21からのレーザー光の出射が停止され、1回目の測定が終了される。
その後、S114に進み、3次元測定カメラ10のy軸方向位置が第二初期位置St2となるようにフィードモータ40の駆動制御が行われる。次に、S116にて、レーザー光のx軸周り照射角度θxが第二照射角度θx2となるように、傾斜モータ31が駆動制御される。第二照射角度θx2は、第一照射角度θx1とは異なる角度である。S114およびS116の処理によって3次元測定カメラ10のy軸方向位置およびx軸周り照射角度θx(=θx2)が定められる。これにより2回目の照射においてレーザー光が最初に照射される測定台2上の位置(第二照射初期位置)が設定される。第二照射初期位置は第一照射初期位置と同一の位置でもよいし、異なった位置でもよい。また、第二照射初期位置は、その後のレーザー光照射によって測定対象物OBの上面の全面にレーザー光が照射されるような位置に設定される。なお、x軸周り照射角度が第二照射角度θx2である3次元測定カメラ10の配置状態が、本発明の第二の配置状態に相当し、S116の処理が、本発明の第二配置工程に相当する。
続いて、S118にて、レーザー光源21からレーザー光が出射されて、2回目の測定が開始される(第二レーザー光出射工程)。次いで、S120にて、レーザー光がx軸方向に走査されるとともに、y軸方向に移動される(第二レーザー光移動工程)。これにより測定対象物OBに対する照射点が順次移動する。移動する照射点で発生する反射光はラインセンサ26に受光される(第二受光工程)。ラインセンサ26は受光した光の強度に相当する受光信号を受光回路27に出力する。受光回路27は入力した受光信号を増幅するとともに、増幅した受光信号の強度を画素ごとのデジタルデータにして3次元画像処理装置60に出力する。そして、3次元画像処理装置60は、図6に示される計算プログラムを実行して、照射間距離Lと、これに対応する移動量Y、y軸周り照射角度θy、設定されている第二照射角度θx2とを関連付けて記憶する。このようにして、2回目の測定が行われる。
続いて、S122にて、y軸方向移動量YがY2以上であるか否かについて判定される。Y2は、2回目の測定において、レーザー光を測定対象物OBの上面の全面に照射するために必要なy軸方向距離であり、ほぼY1と同じ程度の値として予め設定されている。YがY2未満(S122:No)であれば、再度この判定が繰り返される。YがY2以上であると判定された場合(S122:Yes)には、S124に進み、レーザー光源21からのレーザー光の出射が停止されて、2回目の測定が終了される。
以上のステップによって、測定対象物OBに対してx軸周り照射角度θxを変えた2回の測定が行われる。図7は、上記のようにして行われた3次元形状測定において、3次元測定カメラ10の動作およびレーザー光の照射方向をx軸方向から見て表した概念図である。図において、1回目の測定時における3次元測定カメラ10の姿勢、動作およびそのときのレーザー光の光軸が実線で示され、2回目の測定時における3次元測定カメラ10の姿勢、動作およびそのときのレーザー光の光軸が点線で示されている。
図に示されるように、1回目の測定時には、3次元測定カメラ10のy軸方向初期位置がSt1にて示された位置とされ、この位置から、x軸周り照射角度がθx1であるレーザー光が出射される。図の例ではθx1は0°である。つまりx軸方向から見てレーザー光の照射方向がz軸に平行とされており、レーザー光が測定対象物OBに垂直に照射される。そして、3次元測定カメラ10が図の矢印で示すようにy軸方向に移動し、移動距離がY1になった時点で1回目の測定が終了する。次に、3次元測定カメラ10は図のSt2で示されるy軸方向初期位置に移動される。そして、傾斜モータ31の駆動によりレーザー光のx軸周り照射角度がθx2に変更された後、レーザー光が出射される。図の例では、照射角度がθx2とされた場合には、レーザー光は測定対象物OBに斜め方向から照射される。そして、3次元測定カメラ10が図の矢印で示すようにy軸方向に移動し、移動距離がY2になった時点で2回目の測定が終了する。
このように本実施形態においては、1回目の測定時には、3次元測定カメラ10が第一の配置状態、すなわちx軸周り照射角度が第一照射角度θx1であるときにレーザー光が測定対象物OBに照射されて測定対象物OBの3次元形状が測定される。また、2回目の測定時には、3次元測定カメラ10が第二の配置状態、すなわちx軸周り照射角度が第二照射角度θx2であるときにレーザー光が測定対象物OBに照射されて測定対象物OBの3次元形状が測定される。ここで、第一の配置状態と第二の配置状態は、それぞれ測定対象物OBの同一部位にレーザー光が照射された場合の照射角度が異なるような配置状態である。そして、いずれの回の測定においても測定対象物OBの上面の全面にレーザー光が照射されるように、レーザー光の照射点が移動される。また、3次元測定カメラ10は、傾斜機構30(傾斜モータ31、第一駆動軸32、減速器33、第二駆動軸34)を備え、この傾斜機構30によって、その配置状態が第一の配置状態から第二の配置状態へ切り換えられる。したがって、この傾斜機構30が本発明の配置状態切り換え手段に相当する。なお、1回目の測定時と2回目の測定時とで、レーザー光は測定対象物OBの同一の点を照射する必要はない。
上記説明した3次元形状測定の結果、3次元画像処理装置60には、取り込んだ受光信号が得られる照射点である測定点ごとに、照射間距離L、y軸方向移動量Y、y軸周り照射角度θyおよびx軸周り照射角度θxが記憶される。3次元画像処理装置60に記憶されたこれらの記憶内容の概念図を図8に示す。図8において、θy(a,b)は、a回目の測定(aは1または2)においてb番目に得られた受光信号に対応する測定点についてのy軸周り照射角度θyであり、Y(a,b)は、a回目の測定(aは1または2)においてb番目に得られた受光信号に対応する測定点についてのy軸方向移動量である。また、L(a,b,c)は、a回目の測定(aは1または2)においてb番目に得られた受光信号から形成される受光波形中のc番目のピーク位置から算出した照射間距離である。また、x軸周り照射角度がθx1であるデータは1回目の測定から得られたデータであり、θx2であるデータは2回目の測定から得られたデータである。
ここで、照射間距離Lは、その測定点の座標値の計算に用いられるものであるので、通常一つの測定点に対応して一つの照射間距離が定まる。しかし、図8に示されるデータの中には、一つの測定点に対して複数の照射間距離Lが記憶されている場合がある。例えば、図8の一番上の記憶データにおいては、1回目の測定における1番目の測定点において、複数の照射間距離L(1,1,1),L(1,1,2),L(1,1,3)・・・L(1,1,p1)が記憶されている。これは、ラインセンサ26が正規の反射光のみならず2次反射光も受光してしまうことに起因している。
図9は、レーザー光が測定対象物OBに照射された際に生じる正規の反射光および2次反射光がラインセンサ26に受光される状態を示した概略図である。図に示されるように、レーザー光源21から出射されたレーザー光が測定対象物OBの例えば傾斜している面内の点aに照射された場合、この点aにてレーザー光は散乱し、散乱光の一部が反射光として集光レンズ25を介してラインセンサ26に入射する。このようにして入射した反射光、すなわち図の一点鎖線にて示された反射光は正規の反射光である。しかし、点aの部分が例えば鏡面加工されていて反射率が高い場合には、点aに入射したレーザー光の多くは入射角と等しい角度で反射し、この反射光が測定対象物OBの別の箇所(図9に示す点b)に再度照射され、そこで再度散乱光が発生する(これを2次反射という)。この2次反射部位における散乱光の一部が集光レンズ25を介してラインセンサ26に入射する。つまり、2次反射が起こって2次反射部位における反射光(図の点線で示される反射光)もラインセンサ26に入射された場合には、ラインセンサ26は反射光を異なる2箇所の受光位置にて受光する。さらにレーザー光が反射を繰り返せば、ラインセンサ26はより多くの受光位置にて反射光を受光する(本実施形態ではこれらの反射を繰り返してラインセンサ26に入射する反射光も2次反射光と呼ぶ)。この場合には、受光回路27が出力する受光波形(横軸が受光位置、縦軸が受光強度の受光波形)は図10に示されるように、複数の受光強度のピーク位置を持つ波形形状となる。照射間距離は、受光波形のそれぞれのピーク位置に基づいて計算されるために、図10のような受光波形が得られる測定点においては、それぞれのピーク位置に基づいて、複数の照射間距離が計算されるのである。
1つの受光信号の中に複数のピーク位置が検出された場合、そのうちの1つのピーク位置が正規の反射光を表すピーク位置であり、その他は2次反射光を表すピーク位置である。正規の反射光を表すピーク位置を用いて三角測量の原理に基づき計算された照射間距離は、3次元測定カメラ10と測定点との間の距離を正しく表しているが、2次反射光を表すピーク位置を用いて三角測量の原理に基づき計算された照射間距離は、3次元測定カメラ10と測定点との間の距離を正しく表していない。2次反射光を表すピーク位置を用いて照射間距離を計算すると、図9に示されるように三角測量における三角形の頂点の位置が図の点cとなるために、求められる照射間距離は、3次元測定カメラ10から点cまでの距離となる。この距離は図からわかるように正規の照射間距離とは全く異なる距離である。このような2次反射光に基づいて計算された照射間距離を用いて測定対象物OBの形状を表す座標値を求めてしまった場合には、その形状測定精度が悪くなる。したがって、一つの受光信号に複数のピーク位置が認められ、これらのピーク位置に基づいて複数の座標値が計算されている場合には、どの座標値が正規の反射光または正規の照射間距離に基づくものであるのかを決定する必要がある。本実施形態では、コントローラ50が図5に示される3次元測定プログラムのS124にて2回目の測定を終了させた後に、S126にて3次元画像処理装置60に後述のデータ処理を実行させることによって、正規の反射光に基づいて計算される照射間距離により表わされる座標値を抽出し、抽出した座標値を用いて精度の高い3次元画像を生成するようにしている。
図5のS126においては、コントローラ50は3次元画像処理装置60に対し、図11に示される正規座標値選択プログラムを実行させる。この正規座標値選択プログラムは、図11のS200にて開始され、次のS202にて、第一無効データカウンタre1、第二無効データカウンタre2および判別フラグUsが0に設定される。次に、S204にて、1回目の測定時に各測定点にて得られた照射間距離Lと、測定点についての移動位置情報であるx軸周り照射角度θx(=θx1)、y軸周り照射角度θy、y軸方向移動量Yとに基づいて、1回目の測定における各測定点についての座標値D’(1,1,1)〜D’(1,n,pn)が計算される(第一形状データ生成工程)。この場合において、座標値D’のx座標Dx’、y座標Dy’、z座標Dz’は、それぞれ以下の式により計算される。
Dx’=L・sinθy
Dy’=Y−L・cosθy・sinθx
Dz’=L・cosθy・cosθx
計算された座標値の集合が本発明の第一形状データD’1である。また、このS204の処理が、本発明の第一形状データ生成手段である。
次に、S206にて、2回目の測定時に各測定点にて得られた照射間距離L、x軸周り照射角度θx(=θx2)、y軸周り照射角度θy、y軸方向移動量Yに基づいて、上記と同様にして2回目の測定における各測定点についての座標値D’(2,1,1)〜D’(2,m,qm)が計算される(第二形状データ生成工程)。計算された座標値の集合が本発明の第二形状データD’2である。また、このS206の処理が、本発明の第二形状データ生成手段である。
上記のように計算された座標値D’は、3次元画像処理装置60に記憶される。座標値D’は、3次元画像処理装置60内に記憶されている全ての照射間距離に基づき計算される。したがって、一つの測定点から複数の照射間距離Lが計算されているものについては、一つの測定点につき複数の座標値D’が計算される。図12は、計算された座標値D’のデータを表にまとめた図である。図12において上欄に記載の座標値は第一形状データD’1に属する座標値、下欄に記載の座標値は第二形状データD’2に属する座標値である。また、表中、D’(a,b,c)は、a回目の測定(aは1または2)にて、b番目に得られた受光信号に対応する測定点について、その受光信号の受光波形におけるc番目のピーク位置に基づいて算出した照射間距離を用いて計算した座標値を表す。
ここで、第一形状データD’1に属する座標値D’(1,1,1)〜D’(1,n,pn)と第二形状データD’2に属する座標値D’(2,1,1)〜D’(2,m,qn)は、それぞれ座標値の基準となるカメラ座標系が異なっている。このためそれぞれの座標値を直接比較することはできない。よって、3次元画像処理装置60は、図11のS208にて、第一形状データD’1に属する座標値D’(1,1,1)〜D’(1,n,pn)と第二形状データD’2に属する座標値D’(2,1,1)〜D’(2,m,qm)のいずれか一方または双方を座標変換し、統一座標系により表された第一形状データD’1に属する座標値D(1,1,1)〜D(1,n,pn)および、統一座標系により表わされた第二形状データD’2に属する座標値D(2,1,1)〜(2,m,qm)を求める(座標変換工程)。図13は、統一座標系上で表された座標値を表にまとめた図である。図において、上欄に記載された座標値の集合が、統一座標系により表わされた第一形状データD’1に属する座標値の集合である統一済み第一形状データD1であり、下欄に記載された座標値の集合が、統一座標系により表わされた第二形状データD’2に属する座標値の集合である統一済み第二形状データD2である。これらの座標値も、3次元画像処理装置60に記憶される。このS208の処理が、本発明における座標変換手段に相当する。
座標変換は公知の座標変換の手法を用いて行うことができる。この場合、第一形状データD’1に属する座標値D’(1,1,1)〜D’(1,n,pn)の座標系の座標原点と、第二形状データD’2に属する座標値D’(2,1,2)〜D’(2,m,qm)の座標系の座標原点が、図1に示す空間座標系においてx軸方向およびz軸方向に変化しない場合であれば、座標値のy座標成分のみを補正することにより統一座標系の座標値に変換することができる。具体的には、1回目の測定時におけるy軸方向初期位置はSt1であり、2回目の測定時におけるy軸方向初期位置はSt2であるので、これらの差(St2−St1)を第二形状データD’2に属する座標値のy座標成分に加算することにより、第二形状データを第一形状データの座標値によるデータとすることができる。
しかし、両座標系の座標原点がx軸方向および/またはz軸方向にも変化する場合、あるいは後述する変形例などのように1回目の測定により求められた座標値と2回目の測定により求められた座標値とで座標軸の方向が異なる場合などは、上記のように簡単に統一座標系によるデータにすることはできない。この場合は座標変換係数を予め計算して3次元画像処理装置60に記憶させておく必要がある。そして、記憶された座標変換係数を用いて座標変換を行うことにより、各座標値D’が統一座標系における座標値Dに変換される。座標変換係数は、例えば以下の方法により算出することができる。まず、図14に示されるように、測定台2上に3つの大きさの異なる球体K1,K2,K3を測定対象物として設置し、所定位置に固定する。そして、3次元形状測定装置1はこの測定対象物について、上記した1回目の測定と同じ条件下でレーザー光を照射して1回目の測定を行い、その測定結果を基に3つの球体K1,K2,K3の中心座標値を算出する。次に、上記した2回目の測定と同じ条件下でレーザー光照射して2回目の測定を行い、その測定結果を基に3つの球体K1,K2,K3の中心座標値を算出する。そして、1回目の測定結果から求められた中心座標値と2回目の測定結果から求められた中心座標値とにより導かれる3つの連立方程式を解くことにより、座標変換係数が算出される。
上記した座標変換係数の算出方法は、具体的には特開2005−249402号公報の段落番号0062〜0080に詳述されているのでここでは詳細な説明は省略するが、座標変換係数の回転成分を行列M、平行移動成分を行列Aとすると、座標変換の式は式1により表される。また、Mの成分は式2に、Aの成分は式3により表される。
また、Mの各成分は、式4〜式6により示される連立方程式を解くことにより求められ、Aの各成分は、求められたMの成分を式1に代入して求めることができる。
上記式において、1回目の測定により求められた3つの球体K1,K2,K3の中心座標のx成分はx
a1,x
a2,x
a3と、y成分はy
a1,y
a2,y
a3と、z成分はz
a1,z
a2,z
a3と表されている。また、2回目の測定により求められた3つの球体K1,K2,K3の中心座標のx成分はx
b1,x
b2,x
b3と、y成分はy
b1,y
b2,y
b3と、z成分はz
b1,z
b2,z
b3と表されている。なお、実際にはこれらの測定および計算は事前に行われ、その結果得られた座標変換係数がx軸周り照射角度θxやy軸方向初期位置に対応して3次元画像処理装置60に記憶されている。
S208にて統一座標系における座標値が計算された後は、S210に進んで第一座標値抽出処理が行われる(第一座標値抽出工程)。この第一座標値抽出処理は本発明の第一座標値抽出手段に相当し、統一済み第一形状データD1に属する座標値のうちから正規の反射光に基づき計算された正規の座標値と考えられるものを抽出する処理である。具体的には、統一済み第一形状データD1に属する座標値D(1,1,1)〜D(1,n,Pn)の各座標値を一つずつ、統一済み第二形状データD2に属する座標値D(2,1,1)〜D(2,m,qm)の全てと比較する。比較の結果、座標値D(1,1,1)〜D(1,n,Pn)のうち、2次反射光に基づいて計算されたものと考えられるものが除外され、除外されなかったものが抽出される。
図15は、第一座標値抽出処理の流れを示すフローチャートである。この第一座標値抽出処理においては、まずS302にて、1回目の測定における測定点番号nおよび受光波形のピーク番号pが1に設定される。次に、S304にて、2回目の測定における測定点番号mおよび受光波形のピーク番号qが1に設定され、さらに座標値計数カウンタCが0に設定される。なお、測定点番号は、3次元画像処理装置60が受光回路27から取り込んだ受光信号の順番に対応し、各回の測定において座標値が計算された測定点の測定順を表す。ピーク番号は、受光波形におけるピーク位置の番号を表す。次いで、S306にて、統一済み第二形状データD2に属する座標値のうちの一つの座標値D(2,m,q)のx座標成分X(D(2,m,q))と、統一済み第一形状データD1に属する座標値のうちの一つの座標値D(1,n,p)のx座標成分X(D(1,n,p))との差の絶対値が所定の値A以下であるか否かについて判定される。この判定結果がNoである場合はS318に進む。この判定結果がYesである場合にはS308に進み、S308にて、座標値D(2,m,q)のy座標成分Y(D(2,m,q))と座標値D(1,n,p)のy座標成分Y(D(1,n,p))との差の絶対値が上記所定の値A以下であるか否かについて判定される。この判定結果がNoである場合はS318に進む。この判定結果がYesである場合はS310に進み、S310にて、座標値D(2,m,q)のz座標成分Z(D(2,m,q))と座標値D(n,p,1)のz座標成分Z(D(1,n,p))との差の絶対値が上記所定の値A以下であるか否かについて判定される。この判定結果がNoである場合はS318に進む。なお、上記値Aは微小な値(例えば0.5mm)であり、予め設定される。
S306,S308およびS310における処理は、座標値D(2,m,q)と座標値D(1,n,p)とのx軸方向距離、y軸方向距離およびz軸方向距離がA以下であるか否かについての判定処理である。これらの判定の結果が全てYesであるということは、図19に示されるように、統一座標系において座標値D(1,n,p)により表される座標点を中心とした1辺の長さが2Aの立方体空間内に、座標値D(2,m,q)により表される座標点が存在しているということを示している。
S310の判定結果がYesである場合はS312に進む。S312では、座標値D(2,m,q)と座標値D(1,n,p)との距離dが計算される。この距離dは、S306,S308,S310にて求められる差に基づいて計算することができる。次いで、S314にて、計算した距離dが所定値A以下であるか否かについて判定される。なお、この判定がYesであるということは、図20に示されるように、統一座標系において座標値D(1,n,p)により表される座標点を中心とした半径がAの球体空間中に、座標値D(2,m,q)により表される座標点が存在しているこということを示している。なお、S312およびS314の処理は省略してもよい。
S314の判定結果がYesである場合(S312およびS314の処理を省略する場合は、S310の判定結果がYesである場合)は、S316に進む。S316では、座標値計数カウンタCがインクリメントされる。その後S318に進む。また、S314の判定結果がNoである場合は、S316の処理を飛ばしてS318に進む。S318ではピーク番号qがインクリメントされる。この処理の流れからわかるように、座標値計数カウンタCは、座標値D(1,n,p)により表される座標点を中心とした立方体空間や球体空間内、すなわち中心点によって定められる設定空間範囲内に、座標値D(2,m,q)により表される座標点が存在すると判断された場合にのみ、インクリメントされる。
S318にてqがインクリメントされた後はS320に進み、ピーク番号qがqm以下であるか否かが判定される。判定結果がYesである場合はS306に戻り、上記と同様にして、ピーク番号qがインクリメントされた次の座標値D(2,m,q)と座標値D(1,n,p)が比較される。
S306〜S320の処理の繰り返しによって、統一済み第一形状データD1に属する一つの座標値D(1,n,p)が、統一済み第二形状データに属する座標値のうちm番目の測定点の座標値D(2,m,1)〜D(2,m,qm)の全てと比較される。
S320において、qがqmより大きい(S320:No)と判定された場合、すなわち2回目の測定におけるm番目の測定点についての全ての座標値D(2,m,1)〜座標値D(2,m,qm)が座標値D(1,n,p)と比較され、インクリメントされたqに対応する座標値D(2,m,q)が存在しない場合は、S322に進んでピーク番号qが初期化(q=1)される。次いで、測定点番号mがインクリメントされる(S324)。そして、次のS326にて、mがmmax以下であるか否かが判定される。ここで、mmaxは、2回目の測定において最後に測定した測定点の番号である。mがmmax以下である場合(S326:Yes)はS306に戻り、上記と同様にして、測定点番号mがインクリメントされた次の測定点についての座標値D(2,m,1)〜D(2,m,qm)が座標値D(1,n,p)と比較される。
S306〜S326の処理の繰り返しによって、統一済み第一形状データD1に属する一つの座標値D(1,n,p)が、統一済み第二形状データD2に属する全ての座標値と比較される。つまり、統一済み第一形状データD1に属する一つの座標値を対象座標値とし、統一済み第二形状データD2に属する全ての座標値を比較座標値とし、それぞれの比較座標値により表わされる座標点が、対象座標値により表される座標点を中心とした設定空間(一辺が2Aの立方体空間あるいは半径がAの球体空間)の範囲内に存在するか否かが判定される。そして、上記空間範囲内に存在する座標点を表す比較座標値の数が座標値計数カウンタCに記憶される。したがって、一つの対象座標値と全ての比較座標値との比較が終了したときには、座標値計数カウンタCの値は、その対象座標値により表される座標点を中心とした設定空間範囲内に存在する座標点を表す比較座標値の数を示す。
S326にてmがmmaxよりも大きい(S326:No)と判定された場合、すなわち対象座標値D(1,n,p)が全ての比較座標値と比較されて、インクリメントされたmに対応する比較座標値D(2,m,q)が存在しない場合はS328に進む。S328では、座標値計数カウンタCの値、すなわち対象座標値により表される座標点を中心とした設定空間範囲内に存在する座標点を表す比較座標値の数が、予め決められた設定数M以上であるか否かについて判定される。ここで、対象座標値が正規の反射光に基づいて計算されたものである場合には、その対象座標値により表される座標点は測定対象物表面上の点であり、まさに測定点の座標値を正確に表している。よって、その対象座標値により表される座標点の近傍に位置する測定対象物表面上の点は、正規の反射光に基づいて計算された比較座標値によっても表される。このことは、対象座標値が正規の反射光に基づいて計算された正規の座標値である場合には、その座標値により表される座標点を中心として予め設定された設定空間範囲内の近傍点を表す比較座標値の数が一定量存在することを示している。
一方、対象座標値が2次反射光に基づいて計算された場合、計算された座標値はその照射点を正確に表さずに、測定対象物表面とは異なる点を表す可能性が高い。このため、その対象座標値により表される座標点の近傍には測定対象物表面上の点はほとんど存在しないものと考えられる。したがって、対象座標値が2次反射光に基づいて計算されたものであるときには、その座標値により表される座標点を中心とした設定空間範囲内に、正規の反射光に基づいて計算された比較座標値により表される座標点(すなわち測定対象物表面上の点)はほとんど存在しないことになる。また、1回目の測定と2回目の測定とでは、レーザー光のx軸周り照射角度θxが異なるので、1回目の測定時において、ある測定点にて発生する2次反射と、2回目の測定時においてその測定点またはその近傍点にて発生する2次反射とは、図21に示されるようにその発生の仕方(2次反射光の反射方向)が異なる。このため、1回目の測定にて、ある測定点における2次反射光に基づいて求められた対象座標値により表される座標点と、2回目の測定にて、その測定点またはその近傍点における2次反射光に基づいて求められた比較座標値により表される座標点とは離れた位置関係となる可能性が高い。このことは、対象座標値が2次反射光に基づいて計算されたものである場合には、その座標値により表される座標点を中心とした設定空間範囲内に、2次反射光に基づいて計算された比較座標値により表わされる座標点もほとんど存在しないことを示している。
以上のことから、対象座標値が正規の反射光に基づいて計算された正規の座標値である場合は、その対象座標値についての座標値計数カウンタCの値が大きくなり、対象座標値が2次反射光に基づいて計算された偽の座標値である場合は、その対象座標値についての座標値計数カウンタCの値が小さくなると考えられる。したがって、Cの値を実験などにより適宜決定された設定数Mと比較し、Cの値がM以上であれば対象座標値は正規の反射光に基づいて計算されたものであり、Cの値がM未満であれば対象座標値は2次反射光に基づいて計算されたものであると、判断できる。
S328にて、CがM未満である場合(S328:No)、すなわち対象座標値D(1,n,p)が2次反射光に基づき計算されたものである可能性が高い場合は、S330に進み、その対象座標値D(1,n,p)に、それが2次反射光によるピークに基づき計算された偽の座標値であることを表すfalseのラベルを付与する。これにより、その対象座標値が除外される。その後S332にて第一データ無効カウンタre1をインクリメントし、S334に進む。一方、S328にてCがM以上であると判定された場合(S328:Yes)、すなわち対象座標値D(1,n,p)が正規の反射光によるピークに基づき計算されたものである可能性が高い場合は、S330およびS332の処理を飛ばして直接S334に進む。S334ではピーク番号pがインクリメントされる。そして、次のS336にて、ピーク番号pがpn以下であるか否かについて判定される。pがpn以下である(S336:Yes)と判定された場合はS304に戻り、ピーク番号pがインクリメントされた次の対象座標値D(1,n,p)について、比較座標値の測定点番号mおよびピーク番号qを初期化し、座標値計数カウンタCを0とした上で、上述の比較がさらに行われる。
S336にて、pがpnよりも大きい(S336:No)と判定された場合、すなわち1回目の測定におけるn番目の測定点の全ての対象座標値D(1,n,1)〜D(1,n,pn)についての上記比較が終了して、インクリメントされたpに対応する対象座標値D(1,n,p)が存在しない場合は、S338に進み、ピーク番号pが1に戻され、さらにS340にて測定点番号nがインクリメントされる。次いでS342に進み、nがnmax以下であるか否かが判定される。ここで、nmaxは、1回目の測定において最後に測定した測定点の番号である。nがnmax以下である場合(S342:Yes)はS304に戻り、上記と同様にして、測定点番号nがインクリメントされた次の測定点についての対象座標値D(1,n,1)〜D(1,n,pn)について、比較座標値の測定点番号mおよびピーク番号qを初期化し、座標値計数カウンタCを0として上で、上述の比較がさらに行われる。S342にてnがnmaxよりも大きい(S342:No)と判定された場合、すなわちすべての対象座標値についての比較が終了して、インクリメントされたnに対応する対象座標値D(1,n,p)が存在しない場合はこの処理が終了される。
S304〜S342の処理が繰り返されることによって、統一済み第一形状データD1に属する全ての対象座標値D(1,1,1)〜D(1,n,pn)ついて、座標値計数カウンタCの値が求められる(S316)。また、求められたCの値がM未満である場合にはその対象座標値D(1,n,p)にfalseのラベルが付され(S330)、さらに第一データ無効カウンタre1がインクリメントされる(S332)。したがって、この第一座標値抽出処理の実行によって、統一済み第一形状データD1に属する座標値のうち、2次反射光に基づいて計算されたものと考えられる座標値にfalseラベルを付すことによってこれらの座標値が除外され(無効にされ)、除外された座標値の数が第一データ無効カウンタre1に記録される。換言すれば、この第一座標値抽出処理によって、除外されなかった対象座標値、すなわち正規の反射光に基づいて計算された可能性が高い座標値が抽出される。このように抽出された座標値の集合により、抽出済み第一形状データDe1が生成される。
上述した第一座標値抽出処理は、正規座標選択処理のS210にて行われる。この第一座標値抽出処理により除外されなかった座標値のみにより測定対象物OBの3次元画像を生成してもよい。しかし、本実施形態ではさらに精度の良好な3次元画像を生成するための処理が行われる。すなわち、S210にて第一座標値抽出処理が行われた後に、S212にて第二座標値抽出処理が行われる(第二座標値抽出工程)。この第二座標値抽出処理は本発明の第二座標値抽出手段に相当し、統一済み第二形状データD2に属する座標値のうちから正規の反射光に基づき計算された正規の座標値と考えられるものを抽出する処理である。具体的には、統一済み第二形状データD2に属する座標値D(2,1,1)〜D(2,m,qm)の各座標値を一つずつ、統一済み第一形状データD1に属する座標値D(1,1,1)〜D(1,n,pn)の全てと比較する。比較の結果、座標値D(2,1,1)〜D(2,m,qm)のうち、2次反射光に基づいて計算されたものと考えられるものを除外し、除外されなかったものを抽出する。
図16は、第二座標値抽出処理の流れを示すフローチャートである。この第二座標値抽出処理においては、上記した第一座標値抽出処理における対象座標値と比較座標値とが入れ替えられる。すなわち、統一済み第二形状データD2に属する座標値D(2,1,1)〜D(2,m,q)を対象座標値とし、統一済み第一形状データD1に属する座標値D(1,1,1)〜D(1,n,p)を比較座標値とし、対象座標値のそれぞれが比較座標値の全てと比較される。この処理においては、まず図16のS402にて2回目の測定における測定点番号mおよび受光波形のピーク番号qが1に設定され、次にS404にて1回目の測定における測定点番号nおよび受光波形のピーク番号pが1に設定され、さらに座標値計数カウンタCが0に設定される。次いで、S406,S408およびS410にて、比較座標値D(1,n,p)と対象座標値D(2,m,q)とのx軸方向距離|X(D,1,n,p))−X(D(2,m,q))|、y軸方向距離|Y(D,1,n,p))−Y(D(2,m,q))|およびz軸方向距離|Z(D(1,n,p))−Z(D(2,m,q))|がA以下であるか否かについて判定される。これらの判定の結果が全てYesである場合はS412に進み、そうでない場合はS418に進む。
S412では、比較座標値D(1,n,p)と対象座標値D(2,m,q)との距離dが計算される。次いで、S414にて、計算した距離dが所定値A以下であるか、すなわち対象座標値D(2,m,q)により表される座標点を中心とした半径Aの球体空間内に、比較座標値D(1,n,p)により表される座標点が存在するか否かについて判定される。S414の判定結果がYesである場合はS416に進み、座標値計数カウンタCがインクリメントされる。その後S418に進む。また、S414の判定結果がNoである場合は、S416の処理を飛ばしてS418に進む。この処理の流れからわかるように、対象座標値D(2,m,q)により表される座標点を中心とした半径Aの球体空間内に比較座標値D(1,n,p)により表される座標点が存在すると判断された場合にのみ、座標値計数カウンタCがインクリメントされる。
S418ではピーク番号pがインクリメントされる。次にS420に進み、ピーク番号pがpn以下であるか否かについて判定される。判定結果がYesである場合はS406に戻り、ピーク番号pがインクリメントされた次の比較座標値D(1,n,p)が対象座標値D(2,m,q)と比較される。
S406〜S420の処理の繰り返しによって、統一済み第二形状データD2に属する一つの座標値D(2,m,q)が、統一済み第一形状データD1に属する座標値のうちn番目の測定点の座標値D(1,n,1)〜D(1,n,pn)の全てと比較される。
S420において、pがpnより大きい(S420:No)と判定された場合、すなわち統一済み第一形状データD1に属するn番目の測定点の全ての座標値D(1,n,1)〜D(1,n,pn)が座標値D(2,m,q)と比較され、インクリメントされたpに対応する比較座標値D(1,n,p)が存在しない場合は、S422に進んでピーク番号pが初期化(p=1)される。次いで、測定点番号nがインクリメントされる(S424)。続いて、S426にて、nがnmax以下であるか否かが判定される。nがnmax以下である場合(S426:Yes)はS406に戻り、上記と同様にして、測定点番号nがインクリメントされた次の測定点についての比較座標値D(1,n,1)〜D(1,n,pn)が対象座標値D(1,n,p)と比較される。
S406〜S426の処理の繰り返しによって、統一済み第二形状データD2に属する一つの対象座標値D(2,m,q)が、統一済み第一形状データD1に属する全ての比較座標値と比較される。そして、対象座標値により表される座標点を中心とした設定空間範囲内の座標点を表す比較座標値の総数が、座標値計数カウンタCに記憶される。
S426の判定にて、nがnmaxよりも大きい(S426:No)と判定された場合、すなわち対象座標値D(2,m,q)が全ての比較座標値と比較されて、インクリメントされたnに対応する比較座標値D(1,n,p)が存在しない場合はS428に進む。S428では、座標値計数カウンタCの値が設定数M以上であるか否かについて判定される。CがM未満であると判定された場合(S428:No)、すなわち対象座標値D(2,m,q)が2次反射光に基づき計算されたものである可能性が高い場合は、S430に進み、対象座標値D(2,m,q)に、それが2次反射光によるピークに基づき算出された偽の座標値であることを表すfalseのラベルが付与される。その後S432にて第二データ無効カウンタre2がインクリメントされる。その後S434に進む。一方、S428にてCがM以上であると判定された場合(S428:Yes)、すなわち対象座標値D(2,m,q)が正規の反射光に基づき計算されたものである可能性が高い場合は、S430およびS432の処理を飛ばして直接S434に進む。S434ではピーク番号qがインクリメントされる。そして、次のS436にて、ピーク番号qがqm以下であるか否かについて判定される。qがqm以下である(S436:Yes)と判定された場合はS404に戻り、ピーク番号qがインクリメントされた次の対象座標値D(2,m,q)について、比較座標値の測定点番号nおよびピーク番号pを初期化し、座標値計数カウンタCを0とした上で、上述の比較がさらに行われる。
また、S436にて、qがqmよりも大きい(S436:No)と判定された場合、すなわち2回目の測定におけるm番目の測定点の全ての対象座標値D(2,m,1)〜D(2,m,qm)についての上記比較が終了して、インクリメントされたqに対応する対象座標値D(2,m,q)が存在しない場合は、S438に進み、ピーク番号qが1に戻され、さらにS440にて測定点番号mがインクリメントされる。次いでS442に進み、mがmmax以下であるか否かが判定される。mがmmax以下である場合(S442:Yes)はS404に戻り、上記と同様にして、測定点番号mがインクリメントされた次の測定点についての対象座標値D(2,m,1)〜D(2,m,qm)について、比較座標値の測定点番号nおよびピーク番号pを初期化し、座標値計数カウンタCを0として上で、上述の比較がさらに行われる。S442にてmがmmaxよりも大きい(S342:No)と判定された場合、すなわちすべての対象座標値についての比較が終了して、インクリメントされたmに対応する対象座標値D(2,m,q)が存在しない場合はこの処理が終了される。
S404〜S442の処理が繰り返されることによって、統一済み第二形状データD2に属する全ての対象座標値D(2,1,1)〜D(2,m,qm)についての座標値計数カウンタCの値が求められる(S416)。また、求められたCの値がMと比較され(S428)、CがM未満である場合にはその対象座標値D(2,m,q)にfalseのラベルが付され(S430)、第二データ無効カウンタre2がインクリメントされる(S432)。したがって、この第二座標値抽出処理の実行によって、統一済み第二形状データD2に属する座標値のうち、2次反射光に基づいて計算されたものと考えられる座標値が除外される(無効にされる)とともに、除外された座標値の数が第二データ無効カウンタre2に記憶される。換言すれば、この第二座標値抽出処理の実行によって、除外されなかった座標値、すなわち正規の反射光に基づいて計算された可能性が高い座標値が抽出される。このように抽出された座標値の集合により、抽出済み第二形状データDe2が生成される。
上述した第二座標値抽出処理は、正規座標選択処理のS212にて行われる。その後、3次元画像処理装置60は図11のS214に処理を進める。このS214では、データ選定・再抽出処理が行われる。このデータ選定・再抽出処理は、形状データ選定処理、第一再抽出処理、第二再抽出処理からなる。これら3つの処理のうち、形状データ選定処理がまず行われる。この形状データ選定処理では、第一データ無効カウンタre1の値と第二データ無効カウンタre2の値に基づいて、抽出済み第一形状データDe1と抽出済み第二形状データDe2のうち、2次反射光に基づいて計算された座標値が少ない形状データが選定される。この形状データ選定処理が、本発明の形状データ選定手段に相当する。
図17(A)は、この形状データ選定処理の流れを示すフローチャートである。この形状データ選定処理においては、まず図17(A)のS502にて、1回目の測定により求められる統一済み第一形状データD1に属する全ての座標値D(1,1,1)〜D(1,n,p)のうち、第一座標値抽出処理にてfalseのラベルが付された座標値が全て削除される。これにより残りの座標値によって抽出済み第一形状データDe1が作成される。次いで、S504にて、2回目の測定により求められる統一済み第二形状データD2に属する全ての座標値D(2,1,1)〜D(2,m,q)のうち、第二座標値抽出処理にてfalseラベルが付された座標値が全て削除される。これにより残りの座標値によって抽出済み第二形状データDe2が作成される。
その後、S506にて、第一データ無効カウンタre1の値が設定値Me以上であるか否かについて判定される。S506の判定結果がYesである場合はS514に、Noである場合はS508に進む。S514またはS508では、第二データ無効カウンタre2の値が設定値Me以上であるか否かについて判定される。
ここで、re1およびre2は、座標値抽出処理(第一座標値抽出処理および第二座標値抽出処)にてfalseラベルの付された座標値のデータ数、すなわち2次反射光に基づいて計算されたものと考えられる偽の座標値の数を示している。この数が多い、つまりre1,re2の数が大きいということは、計算された元々の形状データ(第一形状データまたは第二形状データ)に属する座標値の中に、偽の座標値が多数含まれていたことを示す。元の形状データを構成する座標値が偽の座標値を多量に含む場合には、座標値抽出処理によって抽出した座標値の中にも依然として偽の座標値が多数存在する可能性が高い。そこで、本実施形態においては、上述のようにre1またはre2を設定値Meと比較して、抽出済み第一形状データDe1および抽出済み第二形状データDe2の中に偽の座標値が多く含まれているか否かについての調査を行う。re1またはre2がMe未満であれば、そのデータ無効カウンタに対応する抽出済み形状データ中に存在する偽の座標値は小数であると判断される。Me以上であれば、抽出済み形状データ中に存在する偽の座標値が多数であると判断される。このような判断に基づいて、より信頼性の高い抽出済み形状データが選定される。なお、設定値Meは、抽出済み形状データ中に偽の座標値が多数存在するか否かの判断の閾値として予め実験等によって求められる。
S514における判定結果がNoである場合、すなわちS506にてre1がMe以上(S506:Yes)と判定され、且つS514にてre2がMe未満(S514:No)と判定される場合は、抽出済み第一形状データDe1中に存在する偽の座標値は多く、抽出済み第二形状データDe2中に存在する偽の座標値が少ない場合である。この場合は次のS516にて判別フラグUsを2*に設定する。また、S508における判定結果がYesである場合、すなわちS506にてre1がMe未満(S506:No)と判定され、且つS508にてre2がMe以上(S508:Yes)と判定される場合は、抽出済み第一形状データD1中に存在する偽の座標値は少なく、抽出済み第二形状データD2中に存在する偽の座標値が多い場合である。この場合は次のS510にて判別フラグUsを1*に設定する。なお、判別フラグUsは、後述する3次元画像生成処理に用いる形状データを表すフラグである。Usが1*に設定されている場合、3次元画像生成処理にて抽出済み第一形状データDe1を用いて3次元画像が生成され、Usが2*に設定されている場合、3次元画像生成処理にて抽出済み第二形状データDe2を用いて3次元画像が生成される。S516またはS510にて判別フラグUsが設定された後は、この形状データ選定処理が終了される。
また、S508における判定結果がNoである場合、すなわちS506にてre1がMe未満(S506:No)と判定され、且つS508にてre2もMe未満(S508:No)と判定される場合は、抽出済み第一形状データDe1中にも抽出済み第二形状データ中De2にも偽の座標値が少ない場合である。この場合は次のS512にて判別フラグUsが0*に設定される。Usが0*に設定されている場合、3次元画像生成処理にて抽出済み第一形状データDe1および抽出済み第二形状データDe2の双方を用いて3次元画像が生成される。
また、S514の判定結果がYesである場合、すなわちS506にてre1がMe以上(Yes)と判定され、且つS514にてre2もMe以上(S514:Yes)であると判定される場合は、抽出済み第一形状データDe1中にも抽出済み第二形状データDe2中にも偽の座標値が多数存在している場合である。この場合は、re1の値とre2の値の相対比較によって、より無効データの少ない抽出済み形状データを選定し、さらに以降の処理にて選定された形状データの中から2次反射光に基づき計算された座標値のデータをさらに除去する処理が行われる。
すなわち、S514の判定結果がYesであったときは、S518に進んでre1とre2との差の絶対値が所定の値Re以上であるか否かについて判定される。ここで、値Reは1以上の任意の数に設定することができるが、re1とre2が明らかにかけ離れていることを示す数(例えば測定点数の総計の5%程度の数)に設定されるものであるとよい。なお、図17(A)に示されるS518においてはre1とre2の差の絶対値が設定値以上であるか否かを判定しているが、両者の比が設定範囲内であるか否かを判定するものであってもよい。
S518にて、re1とre2との差の絶対値がRe以上であると判定された場合(S518:Yes)は、次にS520にてre1とre2の大小関係が比較される。re1の値がre2の値以下である場合(S520:No)はS522に進み、判別フラグUsが1に設定される。ここで、re1の値がre2の値以下であるということは、抽出済み第一形状データDe1に含まれる偽の座標値の数が、抽出済み第二形状データDe2に含まれる偽の座標値の数以下である可能性が高いことを示す。したがって、抽出済み第一形状データDe1を用いて3次元画像を生成した方が、抽出済み第二形状データDe2を用いて3次元画像を生成するよりも、良好な精度の3次元画像を生成することができる。しかし、所詮抽出済み第一形状データDe1にも偽の座標値が数多く含まれているので、このデータをそのまま用いて3次元画像を生成しても、精度の良好な3次元画像を生成することはできない。そこで、このような場合にはS522にて判別フラグUsに1が設定された後、S526に進んで第一再抽出処理が行われる。この第一再抽出処理によって抽出済み第一形状データDe1に属する座標値から更に正規の反射光に基づいて計算された正規の座標値が抽出される。なお、Usが1である場合は、第一再抽出処理にて抽出された座標値の集合である再抽出済み第一形状データDfに属する座標値を用いて3次元画像が生成される。
また、S520の判定結果がYesである場合は、抽出済み第二形状データDe2に属する座標値を用いて3次元画像を生成した方が、抽出済み第一形状データDe1に属する座標値を用いて3次元画像を生成するよりも、良好な精度の3次元画像を生成することができる。しかし、抽出済み第二形状データDe2にも偽の座標値が多く含まれているので、De2に属する座標値をそのまま用いて3次元画像を生成しても精度の良好な3次元画像は生成されない。したがって、この場合はS524に進んで判別フラグUsが2に設定された後に、S528に進んで第二再抽出処理が行われる。この第二再抽出処理にて抽出済み第二形状データDe2に属する座標値から正規の反射光に基づいて計算された座標値が抽出される。なお、Usが2に設定されている場合は、第二再抽出処理にて抽出された座標値の集合である再抽出済み第二形状データDsに属する座標値を用いて3次元画像が生成される。
また、S518にて、re1とre2との差の絶対値がRe未満であると判定された場合(S518:No)は、抽出済み第一形状データDe1に属する座標値を用いて3次元画像を生成した場合でも、抽出済み第二形状データDe2に属する座標値を用いて3次元画像を生成した場合でも、精度的にそれほど違いはない。したがって、この場合は、判別フラグの設定を初期設定のまま(すなわちUsフラグを0に設定)とし、その後第一再抽出処理にて再抽出済み第一形状データDfを作成し、さらに第二再抽出処理にて再抽出済み第二形状データDsを作成する。なお、Usが0に設定されている場合は、再抽出済み第一形状データDfおよび再抽出済み第二形状データDsの双方に属する座標値を用いて3次元画像が生成される。
図17(B)は、第一再抽出処理の流れを示すフローチャートである。この第一再抽出処理は、抽出済み第一形状データDe1に属する座標値のうち、同一の測定点についての座標値のデータが1つのみ存在する場合には、その座標値を正規の座標値に設定し、2つ以上存在する場合には、その中から正規の反射光に基づいて計算された正規の座標値を選択する処理である。具体的には、まずS602にて1回目の測定における測定点番号nが1に設定され、次いで、S604にて、抽出済み第一形状データDe1に属する座標値のうち、n番目の測定点を表す座標値D(1,n,1)〜D(1,n,pn)の総数Nが算出される。続いて、S606にてNが1以下か否かについて判定される。Nが1以下である場合(S606:Yes)は、S608に進んでNが0であるか否かについて判定される。Nが0である場合(S608:Yes)は、座標値D(1,n,1)〜D(1,n,pn)が存在しないことになる。この場合は再抽出すべき対象が存在しないため、後述の処理を行わずにS644に進む。
また、S608にてNが0ではない(S608:No)と判定された場合は、Nが1の場合である。この場合は、その一つの座標値D(1,n,p)が、n番目の測定点にて正規の反射光に基づき計算された正規の座標値であると考えられる。したがって、次のS610にて、その座標値D(1,n,p)が、n番目の測定点における第一正規座標値Df(1,n)に代入される。このステップが本発明の選定済み正規座標値設定手段に相当する。さらに次のS612にて、その座標値D(1,n,p)の計算に用いられた照射間距離L(1,n,p)が、n番目の測定点における第一正規距離データLf(1,n)に代入される。その後S644に進む。
また、S606にてNが1以下ではない(S606:No)と判定された場合、すなわちNが2以上である場合は、n番目の測定点を表す座標値が複数存在するということになるため、これら複数の座標値から、n番目の測定点にて正規の反射光に基づき計算された正規の座標値である第一正規座標値Df(1,n)を選び出す必要がある。このためS614に進み、S614にて、n−1番目の測定点についての第一正規座標値Df(1,n−1)、n−2番目の測定点についての第一正規座標値Df(1,n−2)、n−3番目の測定点についての第一正規座標値Df(1,n−3)の合計個数Fが算出される。この場合、測定点番号nが1であれば、それよりも前の番号の測定点は存在しないのでFは0となる。nが2であればFは1以下、nが3であればFは2以下、nが4以上であればFは3以下である。nが4以上であっても、Df(1,n−1),Df(1,n−2),Df(1,n−3)のいずれかまたは全てが存在しない場合もあり、そのような場合はFが2以下となる。
Fが算出された後は、S616にてFが0であるか否かについて判定される。Fが0である場合(S616:Yes)は複数の座標値から正規の座標値を選択することができない。したがって、この場合は第一正規座標値Df(1,n)を決定せずに、S644に進む。
一方、S616にてFが0ではない(S616:No)、すなわちFが1,2,3のいずれかであると判定された場合には、S618に進む。このS618にて、n−1番目の測定点についての第一正規距離データLf(1,n−1)と、n−2番目の測定点についての第一正規距離データLf(1,n−2)と、n−3番目の測定点についての第一正規距離データLf(1,n−3)の和をFで除すことにより、平均距離を求め、求めた平均距離がLcに代入される。
その後、S620にて、正規候補カウンタsが1に設定され、S622にて、ピーク番号pが1に設定される。続いて、S624にて、座標値D(1,n,p)の計算に用いられた照射間距離L(1,n,p)とLcとの差の絶対値が計算され、この計算結果が仮基準誤差Eとされる。ここで、S624の計算時においてピーク番号pは1であるので、仮基準誤差Eは、照射間距離L(1,n,1)とLcとの差の絶対値となる。なお、L(1,n,1)が存在しない場合は、仮基準誤差EはLcとなる。次いで、S626にてピーク番号pを2に設定し、S628にて、L(1,n,p)とLcとの差の絶対値を計算し、この計算結果が比較誤差Dとされる。
比較誤差Dを計算した後は、S630にて仮基準誤差Eと比較誤差Dとの大小が比較される。DがEよりも小さい場合(S630:Yes)には、S632にてそのときのピーク番号pの値が正規候補カウンタsに代入される。次いで、S634にて比較誤差Dが仮基準誤差Eに代入される。そして、S636に進む。一方、S630にてDがE以上であると判定された場合(S630:No)は、S632およびS634の処理を行わずに直接S636に進む。S636ではピーク番号pがインクリメントされる。次に、S638にて、ピーク番号pがpn以下であるか否かについて判定される。ピーク番号pがpn以下である場合(S638:Yes)は、未だ仮基準誤差Eと比較されていない距離データが存在している可能性があるので、S628に戻り、インクリメントされたピーク番号pに対応する照射間距離L(1,n,p)から新たに比較誤差Dが計算され、仮基準誤差Eと大小比較される。
S628〜S638の処理の繰り返しにより、1回目の測定におけるn番目の測定点を表す複数の座標値の計算に用いた照射間距離が順に比較される。そして、比較誤差Dが仮基準誤差Eよりも小さい場合に仮基準誤差Eが比較誤差Dに更新される。この更新が繰り返されることにより、Lcとの差の絶対値が最も小さい照射間距離に基づいて計算された座標値に対応するピーク番号pが、最終的にS632にて正規候補カウンタsに代入される。
S638の判定結果がNoとなった場合、すなわち、1回目の測定におけるn番目の測定点を表す全ての座標値の比較が終了して、インクリメントされたpに対応する座標値D(1,n,p)が存在しない場合には、S640に進む。S640では、座標値D(1,n,s)が、1回目の測定におけるn番目の測定点についての第一正規座標値Df(1,n)として選択される。この場合において、座標値D(1,n,s)は、1回目の測定におけるn番目の測定点を表す複数の座標値のうち、Lcに最も近い照射間距離に基づいて計算された座標値である。Lcは、現在評価中のn番目の測定点の近傍の測定点であるn−1番目、n−2番目およびn−3番目の測定点についての正規の座標値の計算に用いられた照射間距離の平均値である。したがって、現在評価中の測定点の座標値計算に用いられた照射間距離がこの平均値に近いということは、その測定点と近傍点が連続している可能性が高く、この測定点と近傍点により測定対象物の表面形状が表されるという信憑性が高いことを示す。したがって、このようにして選択された座標値D(1,n,s)が第一正規座標値Df(1,n)とされるのである。S614〜S642までの処理が、本発明の選定済み正規座標値選択手段に相当する。
S640にて座標値D(1,n,s)がn番目の測定点についての第一正規座標値Df(1,n)に代入された後は、S642に進み、座標値D(1,n,s)の計算に用いられた照射間距離L(1,n,s)が、n番目の測定点についての第一正規距離データLf(1,n)に代入される。次にS644にて測定点番号nがインクリメントされる。続いて、S646にて、測定点番号nがnmax以下であるか否かについて判定される。nがnmax以下であると判定された場合(S646:Yes)はS604に戻り、インクリメントされたn番目の測定点を表す座標値について、正規の座標値の設定あるいは選択が行われる。
一方、S646にて、nがnmaxよりも大きいと判定された場合(S646:No)、すなわち抽出済み第一形状データDe1に属する全ての測定点を表す座標値について、正規の座標値の設定あるいは選択が終了し、インクリメントされたnに対応する座標値D(1,n,p)が存在しない場合はS648に進む。S648では、判別フラグUsが1に設定されているか否かについて判定される。Usが1に設定されている場合(S648:Yes)は、この処理が終了される。Usが1に設定されていない場合(S648:No)は、さらに第二再抽出処理が行われる。ここで、S648にてUsが1に設定されていないと判定される場合は、図17(A)のS518の判定結果がNoである場合のみである。この場合はUsが0に設定されている。
以上のS602〜S646までの処理により、1回目の測定におけるそれぞれの測定点を表す正規の座標値として、抽出済み第一形状データDe1に属する座標値の中から第一正規座標値Df(1,n)が設定あるいは選択される。この第一正規座標値Df(1,n)の集合によって、再抽出済み第一形状データDfが生成される。
図17(B)のS648の判定結果がNoである場合、および、図17(A)のS520の判定結果がYesである場合は、第二再抽出処理が行われる。図17(C)は、第二再抽出処理の流れを示すフローチャートである。この第二再抽出処理は、抽出済み第二形状データDe2に属する座標値のうち、同一の照射点についての座標値のデータが1つのみ存在する場合には、その座標値を正規の座標値に設定し、2つ以上存在する場合には、その中から正規の反射光に基づいて計算された正規の座標値を選択する処理であり、基本的な処理内容は上記した第一再抽出処理と同一である。この処理を図17(C)にしたがって説明すると、まずS702にて2回目の測定における測定点番号mが1に設定され、次いで、S704にて、抽出済み第二形状データDe2に属する座標値のうち、m番目の測定点を表す座標値D(2,m,1)〜D(2,m,qm)の総数Nが算出される。続いて、S706にてNが1以下か否かについて判定される。Nが1以下である場合(S706:Yes)は、S708に進んでNが0であるか否かについて判定される。Nが0である場合(S708:Yes)は、座標値D(2,m,1)〜D(2,m,qm)が存在しないことになる。この場合は再抽出すべき対象が存在しないため、後述の処理を行わずにS744に進む。
また、S708にてNが0ではない(S708:No)と判定された場合は、Nが1の場合である。この場合は、その一つの座標値D(2,m,q)が、m番目の測定点にて正規の反射光に基づき計算された正規の座標値であると考えられる。したがって、次のS710にて、その座標値D(2,m,q)が、m番目の測定点における第二正規座標値Ds(2,m)に代入される。さらに次のS612にて、その座標値D(2,m,q)の計算に用いられた照射間距離L(2,m,q)が、m番目の測定点における第二正規距離データLs(2,m)に代入される。その後S744に進む。
また、S706にてNが1以下ではない(S706:No)と判定された場合、すなわちNが2以上である場合は、m番目の測定点を表す座標値が複数存在するということになるため、これら複数の座標値から、m番目の測定点にて正規の反射光に基づき計算された正規の座標値である第二正規座標値Ds(2,m)を選び出す必要がある。このためS714に進み、S714にて、m−1番目の測定点についての第二正規座標値Ds(1,m−1)、m−2番目の測定点についての第二正規座標値Ds(2,m−2)、m−3番目の測定点についての第二正規座標値Ds(2,m−3)の合計個数Fが算出される。
Fが算出された後は、S716にてFが0であるか否かについて判定される。Fが0である場合(S616:Yes)は、複数の座標値から正規の座標値を選択することができない。したがって、この場合は第二正規座標値Ds(2,m)を決定せずに、S744に進む。
一方、S716にてFが0ではない(S616:No)、すなわちFが1,2,3のいずれかであると判定された場合には、S718に進む。このS718にて、m−1番目の測定点についての第二正規距離データLs(2,m−1)と、m−2番目の測定点についての第二正規距離データLs(2,m−2)と、m−3番目の測定点についての第二正規距離データLs(2,m−3)の和をFで除すことにより、これらの距離の平均距離を求め、求めた平均距離がLcに代入される。
その後、S720にて、正規候補カウンタsが1に設定され、S722にて、ピーク番号qが1に設定される。続いて、S724にて、座標値D(2,m、q)の計算に用いられた照射間距離L(2,m,q)とLcとの差の絶対値が計算され、この計算結果が仮基準誤差Eとされる。次いで、S726にてピーク番号qが2に設定され、S728にて、L(2,m,q)とLcとの差の絶対値を計算し、この計算結果が比較誤差Dとされる。
比較誤差Dを計算した後は、S730にて仮基準誤差Eと比較誤差Dとの大小が比較される。DがEよりも小さい場合(S730:Yes)には、S732にてそのときのピーク番号qの値が正規候補カウンタsに代入される。次いで、S734にて比較誤差Dが仮基準誤差Eに代入される。そして、S736に進む。一方、S730にてDがE以上であると判定された場合(S730:No)は、S732およびS734の処理を行わずに直接S736に進む。S736ではピーク番号qがインクリメントされる。次に、S738にて、ピーク番号qがqm以下であるか否かについて判定される。ピーク番号qがqm以下である場合(S738:Yes)はS728に戻り、インクリメントされたピーク番号qに対応する照射間距離L(2,m,q)から新たに比較誤差Dが計算され、仮基準誤差Eと大小比較される。
S728〜S738の処理の繰り返しにより、2回目の測定におけるm番目の測定点を表す複数の座標値の計算に用いた照射間距離が比較される。そして、Lcとの差の絶対値が最も小さい照射間距離に基づいて計算された座標値に対応するピーク番号qが、S732にて正規候補カウンタsに代入される。
S738の判定結果がNoとなった場合、すなわち、2回目の測定におけるm番目の測定点を表す全ての座標値の比較が終了して、インクリメントされたqに対応する座標値D(2,m,q)が存在しない場合には、S740に進む。S740では、座標値D(2,m,s)が、2回目の測定におけるm番目の測定点についての第二正規座標値Ds(2,m)として選択される。この座標値D(2,m,q)は、Lcに最も近い照射間距離に基づいて計算された座標値である。S714〜S742までの処理が、本発明の選定済み正規座標値選択手段に相当する。
その後、S742に進み、座標値D(2,m,s)の計算に用いられた照射間距離L(2,m,s)が、m番目の測定点についての第二正規距離データLs(2,m)に代入される。次に、S744にて測定点番号mがインクリメントされる。続いて、S746にて、測定点番号mがmmax以下であるか否かについて判定される。mがmmax以下であると判定された場合(S746:Yes)はS704に戻り、インクリメントされたm番目の測定点を表す座標値について、正規の座標値の設定あるいは選択が行われる。一方、mがmmaxよりも大きいと判定された場合は、この処理が終了される。
以上のS702〜S746までの処理により、2回目の測定におけるそれぞれの測定点を表す正規の座標値として、抽出済み第二形状データDe2に属する座標値の中から第二正規座標値Ds(2,m)が設定あるいは選択される。この第二正規座標値Ds(2,m)の集合によって、再抽出済み第二形状データDsが作成される。
3次元画像処理装置60は、図11のS214にて上述のようなデータ選定・再抽出処理(形状データ選定処理、第一再抽出処理、第二再抽出処理)を行い。その後S216にて3次元画像生成処理を行う。図18は、3次元画像生成処理の流れを示すフローチャートである。この処理においては、まずS802にて判別フラグUsが1*に設定されているか否かについて判定される。Usが1*である場合(S802:Yes)には、S804に進む。このS804にて、抽出済み第一形状データDe1に属する座標値を用いて3次元画像データが生成される。その後、この処理を終了する。
一方、S802の判定結果がNoである場合はS806に進み、判別フラグUsが2*に設定されているか否かについて判定される。Usが2*である場合(S806:Yes)にはS808に進む。このS808にて、抽出済み第二形状データDe2に属する座標値を用いて3次元画像データが生成される。その後、この処理を終了する。
S806の判定結果がNoである場合はS810に進み、判別フラグUsが0*に設定されているか否かについて判定される。Usが0*である場合(S810:Yes)は、S812に進む。このS812にて、抽出済み第一形状データDe1および抽出済み第二形状データDe2の双方に属する座標値を用いて3次元画像データが生成される。その後この処理を終了する。
S810の判定結果がNoである場合はS814に進み、判別フラグUsが1に設定されているか否かについて判定される。Usが1である場合(S814:Yes)は、S816に進む。このS816にて、再抽出済み第一形状データDfに属する座標値を用いて3次元画像データが生成される。その後、この処理を終了する。
S814の判定結果がNoである場合はS818に進み、判別フラグUsが2に設定されているか否かについて判定される。Usが2である場合(S818:Yes)は、S820に進む。このS820にて、再抽出済み第二形状データDsに属する座標値を用いて3次元画像データが生成される。その後、この処理を終了する。
S818の判定結果がNoである場合は、判別フラグUsが0である場合である。この場合はS822に進む。そして、S822にて、再抽出済み第一形状データDfおよび再抽出済み第二形状データDsの双方に属する座標値を用いて3次元画像データが生成される。その後、この処理を終了する。このように、判別フラグUsの設定値にしたがって使用する形状データを振り分け、振り分けられた形状データに属する座標値を用いて3次元画像を生成することにより、精度の高い3次元画像を生成することができる。
以上の説明からわかるように、本実施形態によれば、測定対象物の形状測定を行うにあたり、異なった照射角度で2回の測定が行われる。また、1回目の測定により第一形状データD’1が求められ、2回目の測定により第二形状データD’2が求められる。また、統一座標系により表された第一形状データである統一済み第一形状データD1に属する座標値を対象座標値、統一座標系により表された第二形状データである統一済み第二形状データD2に属する座標値を比較座標値とし、すべての対象座標値のそれぞれについて、その対象座標値により表される座標点を中心とした設定空間範囲内に存在する座標点を表す比較座標値の数Cがカウントされる。カウントされた数Cが設定数M以下であれば、その対象座標値は2次反射光に基づいて計算された偽の座標値と推定され、その対象座標値が除外される。除外されなかった対象座標値が正規の座標値として抽出される。このような第一座標値抽出処理によって座標値が抽出され、抽出された座標値の集合である抽出済み第一形状データDe1が作成される。この抽出済み第一形状データDe1に属する座標値の全てあるいは一部(例えば更に抽出された座標値)を用いて3次元画像を生成することにより、精度の良好な3次元画像が得られる。また、1回目の測定におけるレーザー光照射による反射光も、2回目の測定におけるレーザー光照射による反射光も、同一のラインセンサ26に受光される。このため一つのラインセンサ26および受光回路27のみで、測定対象物OBの3次元形状を測定することができる。したがって、精度の良好な3次元測定を行うための装置コストの増加を抑制することができる。
また、本実施形態の3次元形状測定装置1によれば、統一座標系上に表された第二形状データ(統一済み第二形状データD2)に属する座標値をそれぞれ対象座標値とし、統一座標系上に表された第一形状データ(統一済み第一形状データD1)に属する座標値をそれぞれ比較座標値とし、それぞれの対象座標値について、その対象座標値により表される座標点を中心として設定された空間範囲内に存在する座標点を表す比較座標値の数Cがカウントされる。カウントされた数Cが設定数M以下であれば、その対象座標値は2次反射光に基づいて計算された偽の座標値と推定されてその対象座標値が除外される。除外されなかった対象座標値が正規の座標値として抽出される。このような第二座標値抽出処理によって座標値が抽出され、抽出された座標値の集合である抽出済み第二形状データDe2が作成される。さらに、第一座標値抽出処理にて除外された座標値の数re1と、第二座標値抽出処理にて除外された座標値の数re2に基づいて、抽出済み第一形状データDe1と抽出済み第二形状データDe2の一方または双方が選定される。そして、選定された形状データに属する対象座標値を用いて、より精度の良好な3次元画像が生成される。
また、本実施形態の3次元形状測定装置1によれば、第一座標値抽出処理にて除外された座標値の数re1が予め設定された数Me未満であり、且つ第二座標値抽出処理にて除外された座標値の数re2がMe以上である場合に、抽出済み第一形状データDe1が選定される。また、第一座標値抽出処理にて除外された座標値の数re1がMe以上であり、且つ第二座標値抽出処理にて除外された座標値の数re2がMe未満である場合に、抽出済み第二形状データDe2が選定される。このように形状データを選定することで、精度の高い側の形状データを用いて3次元画像の生成を行うことができる。
また、本実施形態の3次元形状測定装置1によれば、第一座標値抽出処理にて除外された座標値の数re1がMe未満であり、且つ第二座標値抽出処理にて除外された座標値の数re2がMe未満である場合に、抽出済み第一形状データDe1および抽出済み第二形状データDe2の双方が選定される。上記の場合は双方の形状データに属する座標値を用いて3次元画像を生成しても、精度の高い3次元画像の生成を行うことができる。
また、本実施形態の3次元形状測定装置1によれば、第一座標値抽出処理にて除外された座標値の数re1がMe以上であり、且つ第二座標値抽出処理にて除外された座標値の数re2がMe以上である場合に、抽出済み第一形状データDe1と抽出済み第二形状データDe2のうち、除外された座標値の数が少ない形状データが選定される。このように形状データを選定することにより、少なくとも除外された座標値が多い側の形状データに属する座標値を用いて3次元画像を生成する場合に比べて精度の高い3次元画像を生成することができる。
この場合、本実施形態の3次元形状測定装置1によれば、選定された形状データに属する座標値中に、一の測定点から得られる受光信号に基づいて計算された座標値が一つのみ存在するときは、その座標値がその測定点を表す正規の座標値に設定される。また、選定された形状データに属する座標値中に、一の測定点から得られる受光信号に基づいて計算された座標値が複数存在するときは、まず、その測定点の近傍の複数の測定点、具体的には、その測定点についての測定点番号(例えば測定点番号n)よりも1個〜3個前の測定点番号(例えば測定点番号n−1,n−2,n−3)により表わされる測定点が選択され、選択された測定点を表す正規の座標値の計算に用いられた照射間距離である正規距離データの平均値Lcが求められる。そして、複数の座標値のうち、Lcに最も近い照射間距離に基づいて計算された座標値が正規の座標値として選択される。このように設定または選択された正規の座標値を用いて測定対象物の3次元画像が生成される。このため精度のより良好な3次元画像の生成を行うことができる。
上記実施形態は、様々な変形が可能である。例えば、上記実施形態では、2次反射光に基づいて計算された座標値を除外するために、抽出処理(第一座標値抽出処理および第二座標値抽出処理)および再抽出処理(第一再抽出処理および第二再抽出処理)を行っているが、上記の抽出以外に別の抽出処理を採用あるいは付加しても良い。例えば、第一座標値抽出処理、第二座標値抽出処理、第一再抽出処理、第二再抽出処理にて抽出されたいずれかの座標値を対象の座標値とし、一の座標値をその近傍位置の隣接する座標値と比較し、その比較結果に基づいて、その対象座標値が2次反射光に基づいて計算されたものであるか否かが判定され、その判定結果に基づいて座標値を更に抽出するような処理(正規座標値判定処理)を採用あるいは付加し、この正規座標値判定処理により正規の座標値と判定された座標値のみにより測定対象物の3次元画像を生成するようにしても良い。
正規座標値判定処理の具体的内容の一例を以下に説明する。この処理においては、まず判定の対象とされる形状データに属する座標値がx座標値順またはy座標値順に整列される。整列された点のうち、任意の点が検査点として選ばれ、選ばれた検査点を表す座標値のz座標値と、その検査点の両側に隣接する点を表す座標値のz座標値との差が求められる。そして、この差の絶対値がいずれも所定値βより大きい場合には、この検査点を表す座標値が異常値(2次反射光に基づいて計算された座標値)であると判定され、この座標値が除外される。このような処理が全ての座標値について行われ、除外されなかった座標値が抽出される。図22は、整列された抽出対象の座標値をx(またはy)−z平面上に表した図であり、上記の方法による異常値の除外を示した概念図である。図中、正常値(抽出される座標値)が黒丸の点で、異常値が白抜きの点で表されている。図において、点D1を検査点とした場合、この検査点と隣接する点D0との間のz座標値の差は所定値β未満である。一方、上記点D0とは反対側にて隣接する点D2との間のz座標値の差は所定値β以上である。この場合は、隣接する一方の点との間のz座標値の差が所定値β未満であるため、点D1を表す座標値は正常値であると判定される。同様に、点D3,D4も正常値であると判定される。しかし、点D2を検査点とした場合、この検査点に隣接する点D1との間のz座標値の差は所定値β以上であり、且つこの検査点D2に点D1とは反対側にて隣接する点D3との間のz座標値の差も所定値β以上である。この場合は点D2を表す座標値が異常値と判定され、この座標値が除外される。
z軸方向の長さは、図1に示されるように、測定対象物OBと3次元測定カメラ10との間の距離を表すので、隣接する測定点間ではこの長さ、すなわちz座標値の差は少ないものと考えられる。したがって、この差が所定値β以上かけ離れている場合には、検査点を表す座標値が偽の座標値であって、2次反射光に基づいて計算されているものである可能性が大きい。よって、このようなことを踏まえて上記の処理を行い、異常値を除外することにより、正規の反射光に基づいて計算された座標値を抽出することができる。なお、上記において、所定値βの大きさは、測定対象物の形状によって適宜選択することができる。
また、上記以外の別の正規座標値判定処理を採用することもできる。この一例を以下に説明する。この正規座標値判定処理においては、上記と同様にまず抽出対象の座標値がx座標値順またはy座標値順に整列される。整列された点のうち、任意の点が基準点として選ばれ、選ばれた基準点およびこの基準点に隣接する点を含むように、複数の点がさらに選出される。選出された複数の点を表す座標値のx座標値(またはy座標値)およびz座標値に基づいて最小二乗法により近似直線が導出される。次に、導出された近似直線とz軸とのなす角度γが計算される。そして、角度γが所定角度γ0以下である場合には、選出された座標値が異常値であると判断され、それらの座標値が除外される。このような処理が全ての座標値について行われ、除外されなかった座標値が抽出される。図23は、整列された抽出対象の座標値をx(またはy)−z平面上に表した図であり、上記の方法による異常値の除外を示した概念図である。図中、正常値が黒丸の点で、異常値が白抜きの点で示されている。このような処理によっても正規の反射光に基づく座標値を抽出することができる。なお、所定角度γ0は、測定対象物の表面とz軸とのなす角の最小値よりも若干小さい角度としておくのがよい。
また、上記した正規座標値判定処理によって異常値を除外した後に、さらに除外した異常値が示す座標点の近傍点を表す座標値も異常値として追加的に除外することもできる。図24は、このような追加的な異常値の除外を示す概念図である。この図は、x−y座標系上に求められた座標値により表される点を示したものであり、図中、正常値を表す点が黒丸の点で、異常値を表す点が白抜きの点で表されている。また、追加的に算出された異常値は、輪郭が点線とされた白抜きの点で表されている。
図24において、測定点は、D1〜D16の順に測定対象物上を移動していく。また、異常値が表す点は点D9とされている。このとき、x座標値が点D9のx座標値と所定範囲内で一致する点のうち、y軸方向に沿って点D9に隣接している2つの点を表す座標値が、追加的に異常値とされる。このようなy方向追加異常値は、図24においては点D3および点D13を表す座標値である。また、y座標値が点D9のy座標値と所定範囲内で一致する点のうち、x方向に沿って点D9に隣接している2つの点を表す座標値も、追加的に異常値とされる。このようなx方向追加異常値は、図24においては点D8および点D10を表す座標値である。このようにして追加的な異常値をも除外することによって、より精度の高い3次元画像を生成することができる。
また、上記実施形態では、レーザー光の照射方向(照射角度)を変えて行う測定の回数を2回としたが、例えばレーザー光の照射方向をn(nは3以上)回変えて測定を行ってもよい。この場合、レーザー光の照射方向がある1つの方向である場合に測定した座標値が対象座標値とされ、それ以外の照射方向である場合に測定した座標値がそれぞれ第1比較座標値〜第(n−1)比較座標値とされる。また、対象座標値により表される点を中心とした設定空間範囲内に存在する座標点を表す比較座標値の数が、第1比較座標値〜第(n−1)比較座標値ごとにそれぞれ計算される。そして、計算された数が一つでも所定数未満でない場合には、その対象座標値が除外される。このようにして2次反射光に基づいて計算された可能性の高い座標値が除外され、除外されなかった座標値が抽出される。そして、抽出された座標値を用いて3次元画像が生成される。このように対象座標値を複数の比較座標値と比較することにより、抽出される座標値が正規の反射光に基づいて計算されたものである可能性がより高まるので、より精度の高い3次元画像を生成することができる。
また、上記実施形態では、第一座標値抽出処理にて除外した座標値の数re1および第二座標値抽出処理にて除外した座標値の数re2により、1回目の測定により求められた抽出済み第一形状データDe1と2回目の測定により求められた抽出済み第二形状データDe2のうち2次反射光に基づいて計算された座標値が少ない形状データを選定している。そして、選定結果に基づいて3次元画像生成に用いる形状データを決定している。しかし、高い精度を要しない場合には、無条件に1回目の測定により求められた抽出済み第一形状データDe1を用いて3次元画像を生成してもよい。これによれば、第二座標値抽出処理、形状データ選定処理、第二再抽出処理等を省略することができるために、データ処理時間の短縮を図ることができる。また、第一座標値抽出処理により抽出済み第一形状データDe1を生成した後に、上記した第一再抽出処理を行って、抽出済み第一形状データDe1に属する座標値からさらに2次反射光に基づいて計算された座標値が除外された再抽出済み第一形状データDfを作成することができる。この再抽出済み第一形状データDfに属する座標値を用いれば、より精度の高い3次元画像を生成することができる。
また、上記実施形態では、1回目の測定にてx軸周り照射角度がθx1となるように、3次元測定カメラ10が第一の配置状態とされ、2回目の測定にてx軸周り照射角度がθx2となるように、3次元測定カメラ10が第二の配置状態とされている。しかし、3次元測定カメラ10の配置状態は、測定対象物OBの同一部位にレーザー光が照射される場合に1回目の測定と2回目の測定とで照射角度が異なるような配置状態であれば、上記以外の配置状態でもよい。
図25は、3次元測定カメラ10を1回目の測定と2回目の測定とで上記の実施形態とは異なる配置状態とした変形例を示す図である。この変形例においては、測定対象物OBの測定時にレーザー光の光軸がy軸方向に沿って(x軸周りに)揺動されるとともに、3次元測定カメラ10がx軸方向に沿って移動される。また、1回目の測定時には、3次元測定カメラ10のy軸方向位置が実線で示される位置とされ、2回目の測定時には3次元測定カメラ10のy軸方向位置が実線位置から平行移動した点線で示される位置とされる。つまり、1回目の測定時と2回目の測定時とで、3次元測定カメラ10の配置状態は、x軸方向から見てy軸方向に異なる位置に配置された状態とされる。
このように3次元測定カメラ10を配置した場合でも、測定対象物の同一部位に照射されるレーザー光の照射角度は、1回目の測定時と2回目の測定時とで異なる。たとえば図からわかるように、測定対象物OBの図示右端の部分に照射されるレーザー光は、1回目の測定時にはx軸方向から見てほぼ垂直方向に照射されているが、2回目の測定時にはx軸方向から見て傾斜した状態で照射されている。また、測定対象物OBの図示左端の部分に照射されるレーザー光は、1回目の測定時にも2回目の測定時にもx軸方向から見て傾斜した状態で照射されているが、各々の傾斜角度(照射角度)が異なる。したがって、1回目の測定時と2回目の測定時とで2次反射光の反射の仕方が異なるため、上記実施形態で示した方法を用いて正規の反射光に基づいて計算された座標値を抽出することができる。
図26は、3次元測定カメラ10の配置状態が1回目の測定と2回目の測定とで異なるさらに別の変形例を示す図である。この変形例においても上記変形例と同様に、測定対象物OBの測定時にレーザー光の光軸がy軸方向に沿って揺動されるとともに、3次元測定カメラ10がx軸方向に沿って移動される。また、1回目の測定時には、3次元測定カメラ10のy軸方向位置および傾斜姿勢が実線で示される位置および姿勢とされる。一方、2回目の測定時には、3次元測定カメラ10がy軸方向に移動されるとともに、その傾斜姿勢も変更される。この場合、1回目の測定時と2回目の測定時とで、y軸方向への光軸の揺動角度範囲が等しくなるように、3次元測定カメラ10のy軸方向位置および傾斜姿勢が異なるものであるとよい。
図26に示されるように3次元測定カメラ10を配置した場合でも、測定対象物の同一部位に照射されるレーザー光の照射角度は、1回目の測定時と2回目の測定時とで異なる。すなわち1回目の測定時と2回目の測定時とで2次反射光の反射の仕方が異なり、上記実施形態で示した方法を用いて正規の反射光に基づいて計算された座標値を抽出することができる。
また、上記実施形態においては、1回目の測定により計算された座標値を対象座標値、2回目の測定により計算された座標値を比較座標値としているが、1回目の測定により計算された座標値を比較座標値、2回目の測定により計算された座標値を対象座標値としてもよい。つまり、1回目の測定にて3次元測定カメラを第二の配置状態(x軸周り照射角度θxが第二照射角度θx2である状態)としてレーザー光を測定対象物に照射し、2回目の測定にて3次元測定カメラを第一の配置状態(x軸周り照射角度θxが第一照射角度θx1である状態)としてレーザー光を測定対象物に照射してもよい。要するに、対象座標値の計算に係る測定と、比較座標値の計算に係る測定の順序は問わない。
また、上記実施形態では、レーザー光を操作して反射光をラインセンサである受光センサで受光する3次元形状測定装置について説明したが、レーザー光を照射して反射光を受光センサで受光し、レーザー光の照射位置の移動位置に関する情報(位置ベクトル)と、照射間距離(3次元測定カメラから照射位置までの距離)を検出する3次元形状測定装置であれば、どのような構成の3次元形状測定装置にも適用することができる。例えば、レーザー光をシリンドリカルレンズ等によりライン状のレーザー光とし、このライン光を測定対象物に照射し、反射光をエリアセンサで受光する3次元形状測定装置にも本発明を適用することができる。また、レーザー光を走査して反射光をエリアセンサで受光する3次元形状測定装置にも本発明を適用することができる。このように、本発明は、その目的を逸脱しない限りにおいて、様々な変形が可能である。
1…3次元形状測定装置、2…測定台、10…3次元測定カメラ、11…外側ケース、12…内側ケース、21…レーザー光源、24…揺動モータ、26…ラインセンサ(受光手段)、27…受光回路(受光手段)、30…傾斜機構(配置状態切り換え手段)、31…傾斜モータ、31…傾斜モータ、32…第一駆動軸、33…減速器、34…第二駆動軸、40…フィードモータ、50…コントローラ、52…入力装置、54…表示装置、60…3次元画像処理装置、D1…抽出済み第一形状データ、Df…選定済み第一形状データ、θx1…第一照射角度、Lf…第一正規距離データ、D2…抽出済み第二形状データ、Ds…選定済み第二形状データ、θx2…第二照射角度、Ls…第二正規距離データ、Lc…平均値