(57)【特許請求の範囲】
【請求項１】
光源を用いて与えられた符号化されたスリットパターンを投影する投光手段と、該投光手段によって投光されるパターンと光学的にほぼ同視点および同光軸を有する第１のカメラと、前記第１のカメラと異なる光軸上に配置された第２のカメラから構成される３次元形状計測装置において、
前記第１および第２のカメラにより撮像したパターン投影画像のエッジ間の出力値情報を記憶する出力値記憶手段であり、参照物体に対してパターンを投影した場合と、計測物体に対してパターンを投影した場合との前記第１のカメラおよび第２のカメラの出力値を記憶する出力値記憶手段と、
参照物体に対してパターンを投影した場合と、計測物体に対してパターンを投影した場合との前記第１のカメラの出力値に基づいて前記計測物体についての反射係数を演算する反射係数演算手段と、
前記反射係数と、前記記憶手段に記憶された参照物体に対してパターンを投影した場合の前記第２のカメラ出力値とを演算して前記第２のカメラの出力予測値を算出する出力値予測手段と、
計測物体に対してパターンを投影し、前記第２のカメラにより撮像したパターン投影画像のエッジ間出力値情報から、前記出力値予測手段が算出した第２のカメラの出力予測値にもっとも近い出力値を持つエッジを抽出して、前記第１のカメラの出力値に対する対応点として選択する対応づけ手段と、
を有することを特徴とする３次元形状計測装置。
【請求項２】
前記３次元形状計測装置は、さらに、
計測物体に対してパターンを投影した場合の前記第２のカメラの出力値における類似パターンを検出するエッジ探索手段を有し、
前記出力値予測手段は、
前記エッジ探索手段によって類似パターンが検出された場合、前記出力値記憶手段に記憶された参照物体に対してパターンを投影した場合の前記第２のカメラの出力値と前記反射係数演算手段によって算出された反射係数に基づいて前記第２のカメラにおける各エッジの出力予測値を算出し、
前記対応付け手段は、
前記類似パターンとの比較に基づいて前記第２のカメラの対応エッジを選択する処理を実行する構成を有することを特徴とする請求項１に記載の３次元形状計測装置。
【請求項３】
前記投光手段の出射光と、前記第１のカメラへの入射光とは、ビームスプリッタによって分離される構成であり、前記投光手段と前記第１のカメラとは、それぞれが光学的に同軸となるように配置された構成であることを特徴とする請求項１に記載の３次元形状計測装置。
【請求項４】
前記投光手段は不可視領域の光を発生する光源を有し、第１のカメラは不可視領域の光を透過するフィルターおよび不可視領域の光を遮断するフィルターを有することを特徴とする請求項１に記載の３次元形状計測装置。
【請求項５】
前記第２のカメラは、前記計測物体を異なる角度で撮像する複数のカメラによって構成され、該複数の第２のカメラの各々の撮影した投影パターンに基づいて求められる距離情報を合成して３次元画像を得るよう構成したことを特徴とする請求項１に記載の３次元形状計測装置。
【請求項６】
光源を用いて与えられた符号化されたスリットパターンを投影する投光ステップと、
該投光ステップによって投光されるパターンと光学的にほぼ同視点および同光軸を有する第１のカメラと、前記第１のカメラと異なる光軸上に配置された第２のカメラとにより、参照物体に対してパターンを投影した場合と、計測物体に対してパターンを投影した場合との撮像パターン画像におけるエッジ間の出力値情報を出力値記憶手段に記憶する出力値記憶ステップと、
参照物体に対してパターンを投影した場合と、計測物体に対してパターンを投影した場合との前記第１のカメラの出力値に基づいて前記計測物体についての反射係数を演算する反射係数演算ステップと、
前記反射係数と、前記記憶手段に記憶された参照物体に対してパターンを投影した場合の前記第２のカメラ出力値とを演算して前記第２のカメラの出力予測値を算出する出力値予測ステップと、
計測物体に対してパターンを投影し、前記第２のカメラにより撮像したパターン投影画像のエッジ間出力値情報から、前記出力値予測手段が算出した第２のカメラの出力予測値にもっとも近い出力値を持つエッジを抽出して、前記第１のカメラの出力値に対する対応点として選択する対応づけステップと、
を有することを特徴とする３次元形状計測方法。
【請求項７】
前記３次元形状計測方法は、さらに、
計測物体に対してパターンを投影した場合の前記第２のカメラの出力値における類似パターンを検出するエッジ探索ステップを有し、
前記出力値予測ステップは、
前記エッジ探索ステップにおいて類似パターンが検出された場合、前記出力値記憶手段に記憶された参照物体に対してパターンを投影した場合の前記第２のカメラの出力値と前記反射係数演算手段によって算出された反射係数に基づいて前記第２のカメラにおける各エッジの出力予測値を算出し、
前記対応付けステップは、前記類似パターンとの比較に基づいて第２のカメラの対応エッジを選択する処理を実行することを特徴とする請求項６に記載の３次元形状計測方法。
【請求項８】
前記３次元形状計測方法において、さらに、
前記第２のカメラは、前記計測物体を異なる角度で撮像する複数のカメラによって構成され、該複数の第２のカメラの各々の撮影した投影パターンに基づいて求められる距離情報を合成して３次元画像を取得するステップを有することを特徴とする請求項６に記載の３次元形状計測方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は測定対象に対してパターン光を照射することによって得られるパターン投影像を、複数の撮像手段で異なる方向から撮像し、パターンの変化に基づいて距離情報を得る三角測量法に基づく３次元形状計測装置および３次元形状計測方法に関する。
【０００２】
【従来の技術】
３次元形状を取得する手法には、アクティブ手法（Active vision）とパッシブ手法（Passive vision）がある。アクティブ手法は、（1）レーザ光や超音波等を発して、対象物からの反射光量や到達時間を計測し、奥行き情報を抽出するレーザー手法や、（2）スリット光などの特殊なパターン光源を用いて、対象表面パターンの幾何学的変形等の画像情報より対象形状を推定するパターン投影方法や、(3)光学的処理によってモアレ縞により等高線を形成させて、３次元情報を得る方法などがある。一方、パッシブ手法は、対象物の見え方、光源、照明、影情報等に関する知識を利用して、一枚の画像から３次元情報を推定する単眼立体視、三角測量原理で各画素の奥行き情報を推定する二眼立体視等がある。
【０００３】
一般的にアクティブ手法のほうが計測精度は高いが、投光手段の限界などにより、測定できるレンジが小さい場合が多い。一方、パッシブ手法は汎用的であり、対象に対する制約が少ない。本発明は、このアクティブ手法の3次元計測装置であるパターン投影法に関するものである。
【０００４】
パターン投影法では、対象とする物体に基準となるパターン光を投影し、基準となるパターン光が投影された方向とは異なる方向から撮影を行う。撮影されたパターンは、物体の形状によって変形を受けたものとなる。観測された変形パターンと投影したパターンとの対応づけを行うことで、物体の3次元計測を行える。パターン投影法では、変形パターンと投影したパターンの対応づけにおいていかに誤対応を少なくし、かつ簡便に行うかが課題となる。そこで、様々なパターン投影の手法(空間パターンコード化、モアレ、色符号化)が提案されている。
【０００５】
代表的な空間コード化の一例として、例えば特開平５−３３２７３７５号公報に開示されている構成がある。この例では、レーザ光源とレーザ光をスリット形に整形するレンズ系と、整形されたレーザ光を対象物に走査して照射するスキャンニング装置と対象物からの反射光を検出するカメラとこれらを制御する装置からなる。
【０００６】
スキャンニング装置から走査されるレーザ光によって対象物上に、レーザ光が照射された部分と照射されていない部分とで縞模様が形成される。レーザ光の照射を異なる複数のパターンによって行うことで対象物上はＮ個の識別可能な部分に分割される。対象物を異なる位置からカメラで撮影した画像上の各画素が分割されたどの部分に含まれるかを判別することで対象物の形状を算出できる。
【０００７】
解像度を高くする為には複数回のレーザによるスキャンを行い、複数回のカメラによる撮影が必要となる。例えば、画面を２５６の領域に分割する為には8回の撮影が必要となる。そのため動きの早い物体の撮影は困難となり、更にスキャンを行う間は撮影系を確実に固定しておく必要があるので装置自体は簡便となっても手軽に撮影を行う事は難しい。
【０００８】
パターンの投光回数を減らす手段として特開平３−１９２４７４号公報に開示されている色符号化がある。色符号化においては、q、kを2以上の所定の自然数とした時、q色以上の色を用いて、隣接する2本のスリット光が同色にならず、隣接するk本のスリット光による色の並びが1度しか現れないように符号化されたパターンを投影し、観測された画像からスリットの色を検出し、該当スリットの色並びからスリット番号を取得する。スリット番号から、スリットの照射方向を算出し空間コード化の例と同様に距離を算出することができる。
【０００９】
しかしながら、色符号化ではコード列の並びからコードを復元する為に、コードの復元の計算量が大きいという問題点がある。更に、Ｒ，Ｇ，Ｂの３色を用いて２５６の領域に分割したい場合には、コードを知りたいスリットの周囲８本のスリット光の並びを知る必要があり、連続してスリットが長く観測できるような形状の物体の計測にしか適さない。
【００１０】
スリットの復元を容易に行い、更に1回でコード化されたパターンを投影する手段として特許第２５６５８８５号で公開されている空間パターンコード化法がある。この特許では、３値以上の濃淡、又は３色以上の色、又は濃淡と色の組み合わせによって３種類以上の階調領域を有し、該階調領域の境界線の交点において少なくとも３種類の階調領域が互いに接しているように配置した多値格子板パターンを具備し、該パターンを被測定対象物に投影して生じる投影像の交点に該交点で接する階調の種類と順序に応じた主コードを付与し、該主コードを、または交点の主コードとその周囲交点の主コードとを組み合わせた組み合わせコードを、交点の識別用の特徴コードとして付与したことを特徴とする。
【００１１】
しかし、上述の方式では撮影対象によってはコード化が崩れてしまい正しくコードの対応づけができなくなる場合がある。例えば、投影パターン光源によって投光されたパターン列が"12345678"であるとき、撮影対象の構造によってはカメラで撮影されるパターン列が"1267"と欠落して認識されたり、パターン列"758"のように反転したパターン列が得られる場合がある。また、対象物の形状や反射率などによっても投光したパターンと撮影されたパターン列の変化により対応づけは困難となる。
【００１２】
色符号化においては、復号化時にスリットのグループ化を行う際、スリットの欠落、反転の可能性があるパターンについては復号を行わない手法を用いてこの問題を回避している。空間パターンコード化法では2次元パターンを用いることで、前述の誤りの可能性を低減してはいるが、原理的には対象物によっては同じ誤りが生じる。従って、前述の方式では、実験室内の特殊な状況や対象物体を限定した状況での撮影では優れた精度が得られるものの、対象を限定しない一般的な撮影状況では精度の劣化は否めない。また、光源を用いた投光を行う手法では、広いレンジを有するものを対象とした時に、投光が届かない部位については3次元形状が得られない。また、投光されたパターンを対象物が遮ることで生じる影の領域も、距離の計測ができないため、実際に見えているのに距離が得られない領域が存在してしまう。
【００１３】
そこで、本出願と同一出願人に係る特願平１０−１９１０６３号、(特開２０００−９４４２)、特願平１０−２４７７９６(特開２０００−６５５４２)では投光されたパターンをフィードバックし新たなコードを生成することで対象物に依存しない３次元画像撮影装置を提案した。
【００１４】
【発明が解決しようとする課題】
上記の特願平１０−１９１０６３号、(特開２０００−９４４２)、特願平１０−２４７７９６(特開２０００−６５５４２)における３次元画像撮影装置は、投光パターンを複数の強度や複数の波長によって符号化されたものを投影して実現する。その際に、投光パターンが被写体の輝度情報、素材などの影響によって変化し、３次元形状を算出する際に、エラーとなって適切な３次元形状が計測できない。そのために、上記３次元撮像装置は、投光素子と同光軸に配置をし、被写体情報による投光パターンの変化分をモニタし、再符号化を実施し、３次元形状を計測している。
【００１５】
しかしながら、上記構成は、一方のカメラで得られた新しい符号が全く同じ新しい符号として別のカメラでも発生していることを前提としている。これは、装置中のすべてのカメラが同じ出力特性を有しており、対象物体上でのある明度に対して同じ信号を出力することを必要とする。この条件を厳密に満たす複数のカメラを準備することはコスト的に難しい。また、仮に準備したとしても、計時変化あるいは使用時の動作環境の変動などによりばらつきが生じてしまうことは避け難い。
【００１６】
さらに、対象物体上のテクスチャによって生じた新しい符号は、一意であるとは限らない。これは、対象物体上の別の点における別のテクスチャによって、同じ新しい符号が発生する可能性があるためである。すなわち、点ｐ(x,y)における反射率をｒ(x,y)、投影された符号の輝度をi(x,y)としたときに、対象物体上の２つの異なる点P１(x１,y１)と点P２(x２,y２)の反射率と、投影された輝度との関係が、下記式（１）の関係にあるとする。
【数１】
ｒ(x1,y1)/r(x2,y2)≒i(x2, y2)/i(x1,y1)…（１）
【００１７】
対象物体上の２つの異なる点P１(x１,y１)と点P２(x２,y２)が上記式（１）の関係にあるとすると、下記式（２）の関係を満足することになる。
【数２】
r(x1,y1)×i(x1,y1)≒r(x2,y2)×i(x2,y2)…（２）
【００１８】
この結果、カメラによって撮影された像の持つ輝度は、対象物体上の２つの異なる点P１(x１,y１)と点P２(x２,y２)において同じものとなってしまう。従って、各カメラの撮影像の輝度に基づいて対応付けを行なおうとした場合、一方のカメラで撮影された点と、他方のカメラで撮影された点の対応付けが困難になる。特に、複数のカメラを使用した撮影画像を用いて対応付け処理を実行する構成では、カメラ各々の特性によりカメラによって異なる出力値がカメラ毎に異なる場合がある、このようにカメラの特性により出力値が異なる場合、上述のような投光パターンを投影した画像を複数のカメラで撮影し、一方のカメラで撮影された点と、他方のカメラで撮影された点の対応付けを行なおうとしても対応付けが困難、あるいは不正確になることがある。
【００１９】
本発明は、上記問題点を解決することを目的としてなされたものであり、出力特性にばらつきがあるようなカメラ群を使用した場合でも正確な対応付けのもとに再符号化を行うことができ、かつ、対象物体のテクスチャへの依存を少なくすることで誤対応が生じにくく、信頼性の高い３次元形状計測方法および装置を提供することにある。
【００２０】
【課題を解決するための手段】
本発明は、上述の目的を解決するものであり、その第１の側面は、
光源を用いて与えられた符号化されたスリットパターンを投影する投光手段と、該投光手段によって投光されるパターンと光学的にほぼ同視点および同光軸を有する第１のカメラと、前記第１のカメラと異なる光軸上に配置された第２のカメラから構成される３次元形状計測装置において、
前記第１および第２のカメラにより撮像したパターン投影画像のエッジ間の出力値情報を記憶する出力値記憶手段であり、参照物体に対してパターンを投影した場合と、計測物体に対してパターンを投影した場合との前記第１のカメラおよび第２のカメラの出力値を記憶する出力値記憶手段と、
参照物体に対してパターンを投影した場合と、計測物体に対してパターンを投影した場合との前記第１のカメラの出力値に基づいて前記計測物体についての反射係数を演算する反射係数演算手段と、
前記反射係数と、前記記憶手段に記憶された参照物体に対してパターンを投影した場合の前記第２のカメラ出力値とを演算して前記第２のカメラの出力予測値を算出する出力値予測手段と、
計測物体に対してパターンを投影し、前記第２のカメラにより撮像したパターン投影画像のエッジ間出力値情報から、前記出力値予測手段が算出した第２のカメラの出力予測値にもっとも近い出力値を持つエッジを抽出して、前記第１のカメラの出力値に対する対応点として選択する対応づけ手段と、
を有することを特徴とする３次元形状計測装置にある。
【００２１】
さらに、本発明の３次元形状計測装置の一実施態様において、計測物体に対してパターンを投影した場合の前記第２のカメラの出力値における類似パターンを検出するエッジ探索手段を有し、前記出力値予測手段は、前記エッジ探索手段によって類似パターンが検出された場合、前記出力値記憶手段に記憶された参照物体に対してパターンを投影した場合の前記第２のカメラの出力値と前記反射係数演算手段によって算出された反射係数に基づいて前記第２のカメラにおける各エッジの出力予測値を算出し、前記対応付け手段は、前記類似パターンとの比較に基づいて前記第２のカメラの対応エッジを選択する処理を実行する構成を有することを特徴とする。
【００２２】
さらに、本発明の３次元形状計測装置の一実施態様において、前記投光手段の出射光と、前記第１のカメラへの入射光とは、ビームスプリッタによって分離される構成であり、前記投光手段と前記第１のカメラとは、それぞれが光学的に同軸となるように配置された構成であることを特徴とする。
【００２３】
さらに、本発明の３次元形状計測装置の一実施態様において、前記投光手段は不可視領域の光を発生する光源を有し、第１のカメラは不可視領域の光を透過するフィルターおよび不可視領域の光を遮断するフィルターを有することを特徴とする。
【００２４】
さらに、本発明の３次元形状計測装置の一実施態様において、前記第２のカメラは、前記計測物体を異なる角度で撮像する複数のカメラによって構成され、該複数の第２のカメラの各々の撮影した投影パターンに基づいて求められる距離情報を合成して３次元画像を得るよう構成したことを特徴とする。
【００２５】
さらに、本発明の第２の側面は、
光源を用いて与えられた符号化されたスリットパターンを投影する投光ステップと、
該投光ステップによって投光されるパターンと光学的にほぼ同視点および同光軸を有する第１のカメラと、前記第１のカメラと異なる光軸上に配置された第２のカメラとにより、参照物体に対してパターンを投影した場合と、計測物体に対してパターンを投影した場合との撮像パターン画像におけるエッジ間の出力値情報を出力値記憶手段に記憶する出力値記憶ステップと、
参照物体に対してパターンを投影した場合と、計測物体に対してパターンを投影した場合との前記第１のカメラの出力値に基づいて前記計測物体についての反射係数を演算する反射係数演算ステップと、
前記反射係数と、前記記憶手段に記憶された参照物体に対してパターンを投影した場合の前記第２のカメラ出力値とを演算して前記第２のカメラの出力予測値を算出する出力値予測ステップと、
計測物体に対してパターンを投影し、前記第２のカメラにより撮像したパターン投影画像のエッジ間出力値情報から、前記出力値予測手段が算出した第２のカメラの出力予測値にもっとも近い出力値を持つエッジを抽出して、前記第１のカメラの出力値に対する対応点として選択する対応づけステップと、
を有することを特徴とする３次元形状計測方法にある。
【００２６】
さらに、本発明の３次元形状計測方法の一実施態様において、計測物体に対してパターンを投影した場合の前記第２のカメラの出力値における類似パターンを検出するエッジ探索ステップを有し、前記出力値予測ステップは、前記エッジ探索ステップにおいて類似パターンが検出された場合、前記出力値記憶手段に記憶された参照物体に対してパターンを投影した場合の前記第２のカメラの出力値と前記反射係数演算手段によって算出された反射係数に基づいて前記第２のカメラにおける各エッジの出力予測値を算出し、前記対応付けステップは、前記類似パターンとの比較に基づいて第２のカメラの対応エッジを選択する処理を実行することを特徴とする。
【００２７】
さらに、本発明の３次元形状計測方法の一実施態様において、前記第２のカメラは、前記計測物体を異なる角度で撮像する複数のカメラによって構成され、該複数の第２のカメラの各々の撮影した投影パターンに基づいて求められる距離情報を合成して３次元画像を取得するステップを有することを特徴とする。
【００２８】
【発明の実施の形態】
以下、図を用いて本発明の３次元形状計測装置および３次元形状計測方法の実施の形態を詳しく説明する。
【００２９】
まず、再コード化処理を用いた距離データの取得原理について説明する。再コード化処理を用いた距離データの取得を実行する３次元形状計測装置の一構成例を表すブロック図を図１に示す。図２に光源と撮像素子の位置関係を示す。
【００３０】
図２に示す構成では、３次元形状測定装置は、３台のカメラ１０１〜１０３および投光器１０４を備える。各カメラの距離関係が揃うように、図示の距離Ｉ1、Ｉ2、Ｉ3は等しくされている。カメラ３，１０３と投光器１０４は、ビームスプリッタとしてのハーフミラー１０５を用いて光軸が一致するように配置される。カメラ１，１０１、カメラ２，１０２は、カメラ３，１０３と投光器１０４の両側に、それらと光軸が異なるように配置される。中央の光軸と両側の光軸との距離が基線長Ｌである。
【００３１】
投光器１０４は、光源１０６と、マスクパターン１０７と、強度パターン１０８と、プリズム１０９とを有する。ここで光源１０６は、赤外もしくは紫外光を用いた不可視領域の光源を用いることができる。この場合、各カメラは図３に示すように構成される。すなわち、入射してきた光３１０は、プリズム３０１で２方向に分割され、一方は不可視領域（赤外あるいは紫外）透過フィルター３０２を通って撮像装置（例えばＣＣＤカメラ）３０３に入射し、他方は不可視領域（赤外と紫外）遮断フィルター３０４を通って撮像装置３０５に入射する。
【００３２】
また図２に示す光源１０６は、可視領域あるいは不可視領域に限定せず、撮像可能な波長帯の光源を用いてもよい。この場合、カメラ３，１０３においては、プログレッシブスキャンタイプのＣＣＤカメラを用い、カメラ１，１０１、カメラ２，１０２に関しては、特に構成はこだわらない。ただし、カメラ３，１０３との対応を考慮すれば、同じ構成のＣＣＤカメラが望ましい。光源１０６からパターンが投影され、３台のカメラ１〜３（１０１〜１０３）が同時に撮影を行う。そして各カメラは、フィルター３０４，３０５（図３参照）を通過した光を撮像装置３０３，３０５で得ることにより、画像の一括取得を行う。
【００３３】
図１を用いて３次元形状測定装置の構成を説明する。図示のように、カメラ１，１０１は、撮影して得た輝度情報を輝度値メモリ１２１に記憶し、撮影パターンをパターン画像メモリ１２２に記憶する。カメラ２，１０２は、同様に、輝度情報を輝度値メモリ１２３に記憶し、撮影パターンをパターン画像メモリ１２４に記憶する。カメラ３，１０３は、輝度情報を輝度値メモリ１２５に記憶し、撮影パターンをパターン画像メモリ１２６に記憶する。投光器１０４は、事前に作成したコード化されたパターンを後に参照する為に、各スリットを正方格子上のセルに分割してフレームメモリ１２７に格納している。
【００３４】
この記憶保持された撮影パターンおよび輝度情報を用いて、次のようにして３次元画像を得る。以下の操作は、カメラ１，１０１とカメラ３，１０３の組み合わせ、カメラ２，１０２とカメラ３，１０３の組み合わせの双方に共通なので、ここではカメラ１，１０１とカメラ３，１０３の組み合わせを例にとって説明する。
【００３５】
図１において、領域分割部１２８は、カメラ３，１０３で撮影された撮影パターンの領域分割を行う。そして、隣り合うスリットパターン間の強度差が閾値以下である領域については投光器からの光が届いてない領域１として抽出し、スリットパターン間の強度差が閾値以上である領域については領域２として抽出する。再コード化部１２９は、抽出された領域２について、パターン画像メモリ１２６に記憶された撮影パターンとフレームメモリ１２７に格納された投影パターンを用いて再コード化を行う。
【００３６】
図４は、再コード化を行う際のフローチャートである。まず、各スリットパターンをスリット幅毎に縦方向に分割し（ステップＳ１１）、正方形のセルを生成する。生成された各セルについて強度の平均値をとり、平均値を各セルの強度とする（ステップＳ１２）。画像の中心から順に、投影パターン及び撮影パターンの対応する各セル間の強度を比較し、対象物の反射率、対象物までの距離などの要因によってパターンが変化したためにセル間の強度が閾値以上異なるかどうかを判断する（ステップＳ１３）。閾値以上異ならない場合は、撮影されたすべてのセルについて再コード化を終了する（ステップＳ１７）。
【００３７】
閾値以上異なる場合は、新たな強度のセルかどうか判断する（ステップＳ１４）。そして、新たな強度のセルのときは、新たなコードの生成、割り付けを行う（ステップＳ１５）。また、新たな強度のセルでないときは、他に出現している部位と識別可能とするスリットパターンの並びを用いてコード化する（ステップＳ１６）。これで、再コード化を終了する（ステップＳ１７）。
【００３８】
図５はスリットパターンのコード化の例を示すもので、同図（ａ）はスリットの並びによってコード化された投影パターンであり、強度としてそれぞれ３（強）、２（中）、１（弱）が割り当てられている。同図（ｂ）においては、左から３つめのセルで強度が変化して新たなコードが出現したので、新たに０というコードを割り当てている。同図（ｃ）においては、左から３つめ上から２つめのセルに既存のコードが出現しているので、セルの並びから新たなコードとして、縦の並びを［２３２］、横の並びを［１３１］という具合に再コード化する。この再コード化は、対象の形状が変化に富む部位には２次元パターンなどの複雑なパターンを投光し、変化の少ない部位には簡単なパターンを投光しているのに等しい。この過程を繰り返し、全てのセルに対して一意なコードを割り付けることで再コード化を行う。
【００３９】
図６は、カメラ６０１〜６０３および投光器６０４を用いて、壁６０５の前に配置された板６０６にコード化されたパターンを投光する例を示す。ここでコード化されたパターンは、図７に示すスリットパターンである。このとき、カメラ６０１、カメラ６０２で得られる画像は、図８及び図９に示すように、それぞれ板６０６の影となる領域８０１、９０１が生ずる。本例では、板６０６の表面には新たにコード化されたパターンとして、図１０に示すようなスリットパターンが得られる。
【００４０】
次に図１に戻って説明する。カメラ１，１０１側のコード復号部１３０は、パターン画像メモリ１２２から投影パターンを抽出し、上述と同様にしてセルに分割する。そして、先に再コード化部１２９で再コード化されたコードを用いて各セルのコードを検出し、この検出したコードに基づいて光源からのスリット角θを算出する。図１１は空間コード化における距離の算出方法を示す図であり、各画素の属するセルのスリット角θとカメラ１で撮影された画像上のｘ座標とカメラパラメータである焦点距離Ｆと基線長Ｌとから、次の式（３）によって距離Ｚを算出する。
【００４１】
【数３】
Ｚ＝（Ｆ×Ｌ）／（ｘ＋Ｆ×ｔａｎθ） …（３）
【００４２】
この距離Ｚの算出は、カメラ２，１０２側のコード復号部１３１においても、同様に行われる。また、上述の領域１については次のようにして距離を算出する。領域１では、投光されたパターンによるパターン検出は行うことができないので、対応点探索部１３２において、カメラ１〜３の輝度値メモリ１２１、１２３、１２５から読み出された輝度情報を用いて視差を検出し、これに基づいて距離を算出する。領域１を除く領域に対しては、前述の操作により距離が算出されているので、領域１の距離の最小値が得られ、また対応づけ可能な画素も限定される。これらの制限を用いて、画素間の対応づけを行い視差ｄを検出し、カメラパラメータである画素サイズλを用いて、次の式（４）によって距離Ｚを算出する。
【００４３】
【数４】
Ｚ＝（Ｌ×Ｆ）／（λ×ｄ）…（４）
【００４４】
前述の手法でカメラ３，１０３とカメラ１，１０１の組み合わせによって得られた距離情報では、図８に示す板の影となる領域８０１の距離情報が検出できない。一方、カメラ３，１０３とカメラ２，１０２の組み合わせによって得られた距離情報では、図９に示す板の影となる領域９０１の距離情報が検出できない。しかし、図８に示す板の影となる領域８０１の距離情報が算出可能である。従って、図１の距離情報統合部１３３において、カメラ３，１０３とカメラ１，１０１の組で算出された距離情報およびカメラ３，１０３とカメラ２，１０２で算出された距離情報から、カメラ３の画像（図１２）のすべての画素に対する距離情報を取得する。以上の操作によって得られた距離情報を、例えばカメラ３の輝度画像に対応づけて３次元画像メモリに記憶することで３次元形状計測を行う。
【００４５】
図１３に測定対象１３０１に対してパターン光を照射するプロジェクタ１３０２、パターン光を投影した測定対象の撮影を実行する２つの撮像手段１３０３、１３０４の構成からなる３次元形状計測処理システム構成を示す。撮像手段１３０３は、投光プロジェクタ１３０２と同軸方向の像を撮影するために、ビームスプリッタとしてのハーフミラー１３０５を介した像を撮影する構成となっている。撮像手段１３０３、１３０４の撮影パターンに基づいて前述の手法により測定対象の距離データ。すなわち３次元形状を求める構成である。
【００４６】
投光プロジェクタ１３０２によって測定対象に投影されるパターンは、例えば図１４（ａ）に示すパターンであり、測定対象が図１４（ｂ）のような形状である場合、測定対象に照射されるパターン像、および２つの撮像手段によって撮影されるパターンは、図１５に示すようなものとなる。図１５（ａ）がパターン投影プロジェクタにより測定対象に投影されるパターン像であり、図１５（ｂ）がパターン投影プロジェクタと同光軸位置に配置されたカメラ１，１５０１により撮影されるパターン像であり、図１５（ｃ）がカメラ１と異なる方向からオブジェクトを撮らえるカメラ２，１５０２により撮影されるパターン像である。
【００４７】
図１５の構成において、カメラ１，１５０１およびカメラ２，１５０２により撮影されるパターン像に基づいて再符号化する際に、カメラの特性、出力を考慮した対応付け処理を実行して、正確な距離データを取得する本発明の３次元形状計測装置および３次元形状計測方法の処理について説明する。
【００４８】
図１６のフローチャートを参照して詳しく説明する。まず、図１５の構成におけるカメラ１，１５０１、およびカメラ２，１５０２、各カメラの出力特性を計測するため、測定対象物ではない参照物体を配置し、参照物体上にパターンを投影（図１６のＳ１０１）し、投影された投影パターンを各カメラで撮像（Ｓ１１１，Ｓ１２１）する。この状態を標準状態と呼ぶこととする。参照物体としては、均一な反射係数を有する平板を用いることが望ましい。
【００４９】
参照物体上に投影された投影パターンを各カメラで撮影した画像から、エッジを抽出（Ｓ１１２，Ｓ１２２）し、各コードに対応する出力値を算出する。出力値の算出については、エッジ間に存在する複数画素について輝度値の平均値を算出（Ｓ１１３，Ｓ１２３）するなどによって行うことができる。各カメラ（図１５ではカメラ１，１５０１、およびカメラ２，１５０２）ごとに各コードに対応する出力値を算出し、各コードと出力値の対応をメモリに記憶（Ｓ１１４，Ｓ１２４）しておく。
【００５０】
具体的には、参照物体上に投影された投影パターンをカメラで撮影した画像におけるｎ番目のエッジ位置をＥｎ、その左側および右側のコードをそれぞれＣleft(ｎ)，Ｃright(ｎ)とする。また、Ｃleft(ｎ)およびＣright(ｎ)のコードに対するカメラ１，１５０１の出力値をＯleft-1(ｎ)，Ｏright-1(ｎ)とし、カメラ２，１５０２の出力値をＯleft-2(ｎ)，Ｏright-2(ｎ)として、各コードに対応付けて記憶する。
【００５１】
メモリには、カメラ１，１５０１の出力値Ｏleft-1(ｎ)，Ｏright-1(ｎ)と、カメラ２，１５０２の出力値Ｏleft-2(ｎ)，Ｏright-2(ｎ)の値が、各コードに対応付けて記憶されることになる。具体的には、コード化された投影パターンが強度としてそれぞれ３（強）、２（中）、１（弱）が割り当てられている３コードを有する場合、各エッジ位置の左右のコード３，２，または１に対する各カメラの出力値の対応をメモリに格納する。
【００５２】
以上の処理により、標準状態における各コードと各カメラの出力値との対応が測定されたことになる。なお、この参照物体を用いた標準状態における各カメラの出力値測定処理は計測前にあらかじめ行っておくことができ、計測ごとに繰り返す必要はない。
【００５３】
次に実際の測定対象物に対してパターンを投影（Ｓ１０２）し、上述の出力値測定処理を実行した各カメラで撮像（Ｓ１１５，Ｓ１２５）を行う。次に、カメラ１，１５０１において撮像された画像からエッジ検出処理によりエッジを抽出（Ｓ１１６）する。カメラ１，１５０１はパターン投影装置と同光軸、同視点を有するので、前述した標準状態とほぼ同じ位置にエッジ位置を検出することができる。すなわち、測定対象物における撮像画像について、標準状態におけるエッジ位置：Ｅｎ，左右コード：Ｃleft(ｎ)，Ｃright(ｎ)を対応させることができる。
【００５４】
ただし、カメラの出力値は対象物体の形状、模様などテクスチャによって変化させられている。この変化により、エッジ位置：Ｅｎの左右のカメラ１，１５０１の実際の出力値は例えば、Ｏ'left-1(ｎ)，Ｏ'right-1(ｎ)となる。Ｏ'left-1(ｎ)，Ｏ'right-1(ｎ)の算出（Ｓ１１７）については、標準状態におけるカメラ出力値Ｏleft-1(ｎ)，Ｏright-1(ｎ)を算出したときと同じ手順を踏めばよい。このとき、標準状態におけるカメラ出力値と、測定対象物の撮影データの持つカメラ出力値との比率Ｏ’／Ｏは、対象物体上での各ストライプにおける一種の反射率とみなすことができる。ｎ番目のエッジ位置をＥｎの左側および右側の位置におけるカメラ出力値との比率は以下の式（５）によって示される。
【００５５】
【数５】
Ｒleft(ｎ)=Ｏ'left-1(ｎ)/Ｏleft-1(ｎ) …（５）−Ｌ
Ｒright(ｎ)=Ｏ'right-1(ｎ)/Ｏright-1(ｎ)…（５）−Ｒ
上記式において、Ｒleft(ｎ)，Ｒright(ｎ)は対象物体上での各ストライプにおける反射率を示す反射係数と見なすことができる。
【００５６】
上記式を用いて、カメラ１，１５０１の撮影画像の各エッジ位置における反射率を示す反射係数：Ｒｎを算出（Ｓ１１８）する。また、カメラ２，１５０２の撮影画像においても、カメラ１，１５０１の場合と同様の処理を実行してエッジ位置を検出し、カメラ２，１５０２のエッジ位置をＥｎの左側および右側の位置における出力値としてのエッジ間輝度：Ｏ'left-2(ｎ)，Ｏ'right-2(ｎ)を算出（Ｓ１２７）する。
【００５７】
次に、ステップＳ１１７で算出したカメラ１での計測物体パターン投影画像におけるエッジ間輝度情報と、ステップＳ１２７で算出したカメラ２での計測物体パターン投影画像におけるエッジ間輝度情報、さらに、ステップＳ１１８で算出した反射係数：Ｒを用いて、エピポーララインに基づく対応付け処理（Ｓ１０３）を実行する。
【００５８】
対応付け処理（Ｓ１０３）の詳細を図１７に示す。カメラ２，１５０２の標準状態での出力値Ｏ2に基づいてカメラ２の計測状態での出力値の予測値Ｏ’2-preの算出処理（Ｓ２０１）を実行する。カメラ１，１５０１においてＳ１１８において算出された反射係数：Ｒleft(ｎ)，Ｒright(ｎ)とカメラ２，１５０２の標準状態での出力値を用いれば、カメラ２，１５０２が測定状態で出力するであろう値、すなわちカメラ予測出力値を推定できる。ｎ番目のエッジ位置をＥｎの左側および右側の位置におけるカメラ２，１５０２の予測出力値をＯ'left-2-pre(ｎ)，Ｏ'right-2-pre(ｎ)とする。
【００５９】
カメラ２，１５０２の出力が標準状態と計測状態とで異なる傾きを持ってはいるが出力の線形性を有していた場合、カメラ２，１５０２の予測出力値は、以下の式（６）で推定することができる。
【００６０】
【数６】
Ｏ'left-2-pre(ｎ)=Ｒleft(ｎ)×Ｏleft-2(ｎ)…（６）−Ｌ
Ｏ'right-2-pre(ｎ)=Ｒright(ｎ)×Ｏright-2(ｎ)…（６）−Ｒ
【００６１】
上記式によって、ｎ番目のエッジ位置をＥｎの左側および右側の位置におけるカメラ２，１５０２の予測出力値Ｏ'left-2-pre(ｎ)，Ｏ'right-2-pre(ｎ)を算出する。
【００６２】
次に、ステップＳ２０２において上述の処理によって求めたカメラ２，１５０２の予測出力値Ｏ'left-2-pre(ｎ)，Ｏ'right-2-pre(ｎ)にもっとも近い値を持つ、カメラ２，１５０２の計測状態における実際の出力値Ｏ'left-2(ｎ)，Ｏ'right-2(ｎ)を探索し、この予測出力値に基づく探索エッジに基づいて、カメラ１の計測画像に対するエピポーラライン上の対応点とする対応付け処理を行なう。対応づけは、エピポーラライン上においてＯ'left-2-pre(ｎ)，Ｏ'right-2-pre(ｎ)にほぼ等しいＯ'left-1(ｎ)，Ｏ'right-1(ｎ)をもつようなエッジを探索すれば行うことができる。このように、カメラ１，１５０１とカメラ２，１５０２が同じ出力特性を持たない、すなわち、Ｏ'left(right)-1(ｎ)とＯ'left(right)-2(ｎ)が一致しない場合でもカメラ２，１５０２において確実に対応点を検出することができるようになる。対応点が決定された後は一般的な三角測量の原理により距離が測定できる。
【００６３】
図１６、図１７の処理フローを実行する装置構成を図１８に示す。図１８の構成は、図１に示す構成中の対応点探索部と、２つのカメラに対応する２つの輝度値メモリを抽出した構成を示すブロック図である。対応点探索部１７１０は、反射係数演算手段１７１１、出力値予測手段１７１２、対応付け手段１７１３を有する、カメラ１の撮影画像に基づいて取得されるエッジ間の輝度情報は、出力値記憶手段１７２０に格納され、カメラ２の撮影画像に基づいて取得されるエッジ間の輝度情報は出力値記憶手段１７３０に記憶される。
【００６４】
出力値記憶手段１７２０、出力値記憶手段１７３０は、標準状態、計測状態における各カメラの撮影画像の出力値を記憶する。
【００６５】
まず、参照物体に対してパターンを投影した場合において算出手段が算出した第１のカメラおよび第２のカメラの出力値を出力値記憶手段１７２０、出力値記憶手段１７３０に記憶し、次に計測物体に対してパターンを投影して各カメラで撮影した画像の出力値を出力値記憶手段１７２０、出力値記憶手段１７３０に記憶する。
【００６６】
対応点探索部１７１０の反射係数演算手段１７１１は、出力値記憶手段１７２０に記憶された各出力値を前述の式（５）を適用して演算し、反射係数を算出する。次に、出力値予測手段１７１２は、算出された反射係数と出力値記憶手段１７３０に記憶された出力値とに基づく演算、すなわち前述の式（６）を適用して第２のカメラの出力値を予測する出力値予測処理を実行する。
【００６７】
次に、対応付け手段１７１３は、出力値予測手段１７１２によって算出されたカメラ２の予測出力値Ｏ'left-2-pre(ｎ)，Ｏ'right-2-pre(ｎ)と、出力値記憶手段１７２０に記憶されたカメラ１，１５０１の計測状態における実際の出力値Ｏ'left-1(ｎ)，Ｏ'right-1(ｎ)との対応付け処理を行なう。対応づけは、エピポーラ線上における対応付け処理が適用可能である。
【００６８】
次に、反射係数Ｒｎを符合化の際のパラメータの1つとして利用する構成例について説明する。これについて図１９、図２０のフローチャートを参照して説明する。図１９は、エピポーラライン上に近似する輝度値パターンがあることを前提とした処理フローであり、図２０は、エピポーラライン上に近似する輝度値パターンがある場合、ない場合の両者を想定した処理フローである。
【００６９】
図１９のフローから説明する。なお、反射係数Ｒｎの算出までは図１６における処理フローと同様の手順を実行し、カメラ１、カメラ２により、それぞれ標準状態、計測状態における各カメラの撮影画像の出力値を取得し、カメラ１の標準状態、計測状態画像に基づいて反射係数：Ｒが求められているものとする。
【００７０】
まず、カメラ１，１５０１の画像とカメラ２，１５０２の画像を対応付けるためのカメラ２のエピポーラライン上において、近似する輝度値パターンを持つエッジ群αを探索（Ｓ３０１）する。
【００７１】
たとえばカメラ２，１５０２のエピポーラライン上における２つの異なるエッジ位置ａ，ｂで近似した出力値を有する場合とは、エッジ位置ａの左右の出力値：Ｏ'left-2(ｎ,a)，Ｏ'right-2(ｎ,a)と、エッジ位置ｂの左右の出力値：Ｏ'left-2 (ｎ,b)，Ｏ'right-2(ｎ,b)が下記式（７）のように近似する関係である場合である。
【００７２】
【数７】
Ｏ'left-2 (ｎ,a)≒Ｏ'left-2 (ｎ,b) …（７）−Ｌ
Ｏ'right-2(ｎ,a)≒Ｏ'right-2(ｎ,b) …（７）−Ｒ
【００７３】
このような近似した輝度パターンを持つエッジ群をカメラ２，１５０２のエピポーラライン上において探索する。なお、ここでは、エッジの左右（Ｌ，Ｒ）の２つの隣接輝度値のみを抽出して比較する処理として説明するが、さらに３以上の隣接輝度値を選択して、近似関係にあるパターンを検索してもよい。
【００７４】
ステップＳ３０１において、カメラ２，１５０２のエピポーラライン上において近似する輝度値パターン［Ｏ'left-2(ｎ,a)，Ｏ'right-2(ｎ,a)］、［Ｏ'left-2 (ｎ,b)，Ｏ'right-2(ｎ,b)］…の複数のエッジ群α（ａ，ｂ・・）が検出されると、次に、ステップＳ３０２において、エッジ群α（ａ，ｂ・・）の輝度パターン［Ｏ'left-2(ｎ,a)，Ｏ'right-2(ｎ,a)］または［Ｏ'left-2 (ｎ,b)，Ｏ'right-2(ｎ,b)］と類似する輝度パターンを持つカメラ１，１５０１におけるエッジ群β（ｎ１，ｎ２・・）を検出する処理を実行する。
【００７５】
カメラ２，１５０２のエピポーラライン上において近似する複数のエッジ群α（ａ，ｂ・・）に対応するカメラ１，１５０１のエッジ位置は、前述の図１７におけるステップＳ１１８で算出した反射係数：Ｒを用いて算出することができる。例えばエッジ位置：Ｅｎの位置における反射係数：Ｒｎはカメラ１，１５０１の参照状態画像だけで決定できており、各エッジ位置における反射率Ｒ（ｎ）を用いて下記式（８）を計算する。
【００７６】
【数８】
Ｏpre-left=Ｒleft(ｎ)×Ｏleft-2(ｎ) …（８）−Ｌ
Ｏpre-right=Ｒright(ｎ)×Ｏright-2(ｎ) …（８）−Ｒ
【００７７】
カメラ２，１５０２のエピポーラライン上における近似する複数のエッジ群α（ａ，ｂ・・）に対応するカメラ１，１５０１のエッジ位置をｎ１，ｎ２…とし、各エッジ位置ｎ１、ｎ２について以下の値を算出する。
【００７８】
【数９】
Ｏpre-left-n1＝Ｒleft(ｎ1)×Ｏleft-2(ｎ1) …（９）−Ｌｎ１
Ｏpre-right-n1＝Ｒright(ｎ1)×Ｏright-2(ｎ1) …（９）−Ｒｎ１
Ｏpre-left-n2＝Ｒleft(ｎ2)×Ｏleft-2(ｎ2) …（９）−Ｌｎ２
Ｏpre-right-n2＝Ｒright(ｎ2)×Ｏright-2(ｎ2) …（９）−Ｒｎ２
【００７９】
上記式によって求められる(Ｏpre-left-n1，Ｏpre-right-n1)，(Ｏpre-left-n2，Ｏpre-right-n2)は、カメラ２，１５０２のエッジ位置ａまたはｂのいずれかの左右の出力値に対応する候補を示す出力の組となる。
【００８０】
次に、カメラ１におけるエッジ群β （ｎ１，ｎ２・・）の各々と、カメラ２上のエピポーラライン上のエッジ群α（ａ，ｂ・・）の近似パターンの各々の比較を実行し、より差異の小さい組合わせを対応エッジとする（Ｓ３０３）処理を実行する。
【００８１】
具体的には、カメラ２，１５０２のエピポーラライン上において近似する複数のエッジ群α（ａ，ｂ・・）の１つのエッジａ：(Ｏ'left-2 (ｎ,a)，Ｏ'right-2(ｎ,a))が(Ｏpre-left-n1，Ｏpre-right-n1)，(Ｏpre-left-n2，Ｏpre-right-n2)のいずれにより近いかを比較すればカメラ２，１５０２のエピポーラライン上のエッジａ：の対応点を決定できる。エッジｂについても同様に(Ｏ'left-2 (ｎ,ｂ)，Ｏ'right-2(ｎ,ｂ))が(Ｏpre-left-n1，Ｏpre-right-n1)，(Ｏpre-left-n2，Ｏpre-right-n2)のいずれにより近いかを比較すればエッジｂ：の対応点を決定できる。比較方法としては例えば、以下の式（１０）を計算する。
【００８２】
【数１０】
Σ1 = (Ｏpre-left-n1 - Ｏ'left-2 (ｎ,a)) 2+(Ｏpre-right-n1 - Ｏ'right-2(ｎ,a)) 2
+(Ｏpre-left-n2 - Ｏ'left-2 (ｎ,b)) 2+(Ｏpre-right-n2 - Ｏ'right-2(ｎ,b)) 2
Σ2 = (Ｏpre-left-n2 - Ｏ'left-2 (ｎ,a)) 2+(Ｏpre-right-n2 - Ｏ'right-2(ｎ,a)) 2
+(Ｏpre-left-n1 - Ｏ'left-2 (ｎ,b)) 2+(Ｏpre-right-n1 - Ｏ'right-2(ｎ,b)) 2…（１０）
【００８３】
上記式（１０）を計算し、小さい方の対応を採用することにより、カメラ２，１５０２の出力(Ｏ'left-2 (ｎ,a)，Ｏ'right-2(ｎ,a))に対応する出力としてカメラ１，１５０１の出力(Ｏpre-left-n1，Ｏpre-right-n1)，(Ｏpre-left-n2，Ｏpre-right-n2)のいずれか一方が選択され、選択された出力を持つエッジ位置がエッジ位置ａのカメラ１の撮影画像における対応点とされる。
【００８４】
本実施例においては、符合化のパラメータとして反射率を付加しており、本構成により、カメラ２，１５０２の撮影画像に近似する輝度値パターンが出力された場合でも確実に対応づけ行うことができる。対応点が決定された後は一般的な三角測量の原理により距離が測定できる。
【００８５】
次に、図２０のフローについて説明する。図２０は、エピポーラライン上に近似する輝度値パターンがある場合、ない場合の両者を想定した処理フローである。なお、反射係数Ｒｎの算出までは図１６における処理フローと同様の手順を実行し、カメラ１、カメラ２により、それぞれ標準状態、計測状態における各カメラの撮影画像の出力値を取得し、カメラ１の標準状態、計測状態画像に基づいて反射係数：Ｒが求められているものとする。
【００８６】
まず、カメラ１，１５０１の画像とカメラ２，１５０２の画像を対応付けるためのカメラ２のエピポーラライン上において、近似する輝度値パターンを持つエッジ群αを探索（Ｓ４０１）する。
【００８７】
ここで、近似する輝度値パターンを持つエッジ群αがない場合（Ｓ４０２でＮｏ）は、ステップＳ４０６に進み、カメラ１の測定画像とカメラ２の測定画像とのエピポーラライン上での対応付け処理が実行される。エピポーララインには近似パターンがないので、問題なく対応付け処理が実行できる。
【００８８】
一方、カメラ２のエピポーラライン上において、近似する輝度値パターンを持つエッジ群αがある場合（Ｓ４０２でＹｅｓ）は、ステップＳ４０３〜Ｓ４０５の処理を実行する。ステップＳ４０３〜Ｓ４０５の処理は、図１９におけるステップＳ３０１〜Ｓ３０３と同様の処理である。
【００８９】
図２０の処理は、エピポーラライン上に近似する輝度値パターンがない場合は、通常の対応付け処理を実行し、エピポーラライン上に近似する輝度値パターンがある場合にのみ、反射率を用いた予測値算出を実行して、複数の近似パターンの正確な対応付けを行なうものである。
【００９０】
図１９、図２０の処理フローを実行する装置構成を図２１に示す。図２１の構成は、図１に示す構成中の対応点探索部と、２つのカメラに対応する２つの輝度値メモリを抽出した構成を示すブロック図である。対応点探索部１７１０は、反射係数演算手段１７１１、出力値予測手段１７１２、対応付け手段１７１３、エッジ探索手段１７１４を有する、カメラ１の撮影画像に基づいて取得されるエッジ間の輝度情報は、出力値記憶手段１７２０に格納され、カメラ２の撮影画像に基づいて取得されるエッジ間の輝度情報は出力値記憶手段１７３０に記憶される。
【００９１】
出力値記憶手段１７２０、出力値記憶手段１７３０は、標準状態、計測状態における各カメラの撮影画像の出力値を記憶する。
【００９２】
まず、参照物体に対してパターンを投影した場合において算出手段が算出した第１のカメラおよび第２のカメラの出力値を出力値記憶手段１７２０、出力値記憶手段１７３０に記憶し、次に計測物体に対してパターンを投影して各カメラで撮影した画像の出力値を出力値記憶手段１７２０、出力値記憶手段１７３０に記憶する。
【００９３】
次に、エッジ探索手段１７１４は、出力値記憶手段１７３０に記憶された計測物体に対してパターンを投影してカメラ２で撮影された画像からエピポーラライン上において近似する複数のエッジ群α（ａ，ｂ・・）を検出する。すなわち、前述の式（７）の関係を満たすエッジを検出する。類似パターンを持つエッジ群α（ａ，ｂ・・）が検出された場合、エッジ群α（ａ，ｂ・・）の輝度パターン［Ｏ'left-2(ｎ,a)，Ｏ'right-2(ｎ,a)］または［Ｏ'left-2 (ｎ,b)，Ｏ'right-2(ｎ,b)］と類似する輝度パターンを持つカメラ１の測定状態画像におけるエッジ群β（ｎ１，ｎ２・・）を検出する処理を実行する。
【００９４】
カメラ１のエッジ群β（ｎ１，ｎ２・・）の検出処理において、まず、反射係数演算手段１７１１が出力値記憶手段１７２０に記憶された各出力値を前述の式（５）を適用して演算し反射係数を算出する。次に、出力値予測手段１７１２において、前述の式（８）、（９）に基づいて、エッジ群β（ｎ１，ｎ２・・）の各エッジ位置ｎ１、ｎ２についての出力値を算出する。
【００９５】
次に、対応付け手段１７１３において、カメラ１におけるエッジ群β （ｎ１，ｎ２・・）の各々と、カメラ２上のエピポーラライン上のエッジ群α（ａ，ｂ・・）の近似パターンの各々の比較を実行し、より差異の小さい組合わせを対応エッジとする処理を実行する。
【００９６】
以上、説明したように本発明の装置、方法においては、参照物体にパターンを投影して複数のカメラで撮像した画像のエッジ間輝度を出力値として取得し、照射パターンを示すコードと各カメラの出力値との対応をメモリに格納し、その後、計測物体に対してパターン照射を実行して、エッジ抽出、エッジ間輝度算出を実行し、カメラ１によって取得された輝度情報に基づいて計測物体の反射係数を求め、求められた反射係数に基づいて、カメラ２の予測出力を算出し、算出したカメラ２の予測出力に基づいて、カメラ２の計測物体パターン照射画像からもっとも近い値を持つエッジを抽出してカメラ１の計測値との対応付けを実行して距離情報の取得を行なう構成としたので、測定対象物のテクスチャまたはカメラの出力特性に依存せず、各カメラで撮影した画像間の対応付け処理が正確に実行でき、正確な距離データを取得することが可能となる。
【００９７】
なお、上述した実施例では第２のカメラは１つのみの構成を示したが第１のカメラと異なる光軸上に複数の第２のカメラ（第１のカメラに対して）を配置して計測物体を様々な異なる角度で第２のカメラで撮影し、複数の第２のカメラの各々の撮影した投影パターンに基づいて求められる距離情報を合成して３次元画像を得るよう構成してもよい。
【００９８】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【００９９】
【発明の効果】
以上述べたように、本発明の３次元形状計測装置および３次元形状計測方法は、出力特性にばらつきがあるような、あるいは元々は出力特性がそろっていたにもかかわらず環境、経時変化などによりばらつきが生じたようなカメラ群を使用した場合でも再符号化を行うことができ、かつ、対象物体のテクスチャへの依存を少なくすることで誤対応が生じにくく、信頼性の高い３次元形状計測を行うことが可能になる。
【図面の簡単な説明】
【図１】本発明の３次元形状計測装置の構成例を示すブロック図である。
【図２】本発明の３次元形状計測装置のカメラ構成例を示すブロック図である。
【図３】本発明の３次元形状計測装置の撮像構成を説明する図である。
【図４】本発明の３次元形状計測装置の処理フローを示す図である。
【図５】本発明の３次元形状計測装置の投影パターンのコード化の例を示す図である。
【図６】本発明の３次元形状計測装置の撮影構成例を示す図である。
【図７】本発明の３次元形状計測装置の投影パターン例を示す図である。
【図８】本発明の３次元形状計測装置のカメラ１で撮影されるスリットパターンの例を示す図である。
【図９】本発明の３次元形状計測装置のカメラ２で撮影されるスリットパターンの例を示す図である。
【図１０】本発明の３次元形状計測装置において新たにコード化されたスリットパターンの例を示す図である。
【図１１】本発明の３次元形状計測装置の空間コード化法による距離算出法を示す図である。
【図１２】本発明の３次元形状計測装置のカメラ３で撮影されるスリットパターンの例を示す図である。
【図１３】本発明の３次元形状計測装置における２台の撮像手段を用いたパターン画像撮影構成を示す図である。
【図１４】本発明の３次元形状計測装置におけるパターンおよび測定対象物の具体例を説明する図である。
【図１５】本発明の３次元形状計測装置における投光パターン像、撮像パターン像の具体例を示す図である。
【図１６】本発明の３次元形状計測装置におけるカメラの出力特性を考慮した対応付け処理を実行する処理フロー（その１）である。
【図１７】本発明の３次元形状計測装置におけるカメラの出力特性を考慮した対応付け処理を実行する処理フロー（その２）である。
【図１８】本発明の３次元形状計測装置におけるカメラの出力特性を考慮した対応付け処理を実行する装置構成（例１）を示すブロック図である。
【図１９】本発明の３次元形状計測装置におけるカメラの出力特性を考慮し、反射係数を符号化の際のパラメータとして用いる処理を実行する処理フロー（その１）である。
【図２０】本発明の３次元形状計測装置におけるカメラの出力特性を考慮し、反射係数を符号化の際のパラメータとして用いる処理を実行する処理フロー（その２）である。
【図２１】本発明の３次元形状計測装置におけるカメラの出力特性を考慮した対応付け処理を実行する装置構成（例２）を示すブロック図である。
【符号の説明】
１０１  カメラ１
１０２  カメラ２
１０３  カメラ３
１０４  投光器
１０５  ハーフミラー
１０６  光源
１０７  マスクパターン
１０８  強度パターン
１０９  プリズム
１２１，１２３，１２５  輝度値メモリ
１２２，１２４，１２６  パターン画像メモリ
１２７  フレームメモリ
１２８  領域分割部
１２９  再コード化部
１３０，１３１  コード復号部
１３３  距離情報の統合部
１３４  ３次元メモリ
３０１  プリズム
３０２，３０４  透過フィルタ
３０３，３０５  撮像装置
６０１，６０２，６０３  カメラ
６０４  投光器
６０５  壁
６０６  板
８０１，９０１  影領域
１３０１  測定対象
１３０２  プロジェクタ
１３０３，１３０４  撮像手段
１５０１  カメラ１
１５０２  カメラ２
１７１０  対応点探索部
１７１１  反射係数演算手段
１７１２  出力値予測手段
１７１３  対応付け手段
１７１４  エッジ探索手段
１７２０  出力値記憶手段
１７３０  出力値記憶手段
【図１】
0003852285.tif 000002
【図２】
0003852285.tif 000003
【図３】
0003852285.tif 000004
【図４】
0003852285.tif 000005
【図５】
0003852285.tif 000006
【図６】
0003852285.tif 000007
【図７】
0003852285.tif 000008
【図８】
0003852285.tif 000009
【図９】
0003852285.tif 000010
【図１０】
0003852285.tif 000011
【図１１】
0003852285.tif 000012
【図１２】
0003852285.tif 000013
【図１３】
0003852285.tif 000014
【図１４】
0003852285.tif 000015
【図１５】
0003852285.tif 000016
【図１６】
0003852285.tif 000017
【図１７】
0003852285.tif 000018
【図１８】
0003852285.tif 000019
【図１９】
0003852285.tif 000020
【図２０】
0003852285.tif 000021
【図２１】
0003852285.tif 000022