(57)【特許請求の範囲】
【請求項１】
ストライプパターンを投影する投光手段と、前記投光手段と略同主点および略同光軸を有する第１のカメラと、前記投光手段と異なる主点を有する第２のカメラとを備える３次元形状計測装置において、
参照物体に対して前記パターンを投影した場合と計測物体に対して前記パターンを投影した場合とに関して、前記第１のカメラおよび第２のカメラにより撮像したパターン投影画像のエッジ間の出力値を記憶する出力値記憶手段と、
参照物体に関する前記第１のカメラの前記出力値と計測物体に関する前記第１のカメラの前記出力値とに基づいて、計測物体の反射係数を演算する反射係数演算手段と、
計測物体の前記反射係数と参照物体に関する前記第２のカメラの前記出力値とを演算して、前記第２のカメラの出力予測値を算出する出力値予測手段と、
前記第２のカメラの前記出力予測値と計測物体に関する前記第２のカメラの前記出力値とを用いて、前記出力値の輝度値と前記出力予測値の輝度値との差の絶対値と、前記出力値の隣接ストライプにおける輝度値比と前記出力予測値の隣接ストライプにおける輝度値比との差の絶対値と、の重みづけ和を算出することにより不一致度を算出する不一致度算出手段と、
不一致度がもっとも小さくなるエッジを抽出して、前記第１のカメラの出力値に対する対応点として選択する対応づけ手段とを有することを特徴とする３次元形状計測装置。
【請求項２】
ストライプパターンを投影する投光手段と、前記投光手段と略同主点および略同光軸を有する第１のカメラと、前記投光手段と異なる主点を有する第２のカメラとを備える３次元形状計測装置において、
参照物体に対して前記パターンを投影した場合と計測物体に対して前記パターンを投影した場合とに関して、前記第１のカメラおよび第２のカメラにより撮像したパターン投影画像のエッジ間の出力値を記憶する出力値記憶手段と、
参照物体に関する前記第１のカメラの前記出力値と計測物体に関する前記第１のカメラの前記出力値とに基づいて、計測物体の反射係数を演算する反射係数演算手段と、
計測物体の前記反射係数と参照物体に関する前記第２のカメラの前記出力値とを演算して、前記第２のカメラの出力予測値を算出する出力値予測手段と、
前記第２のカメラの前記出力予測値と計測物体に関する前記第２のカメラの前記出力値とを用いて不一致度を算出する不一致度算出手段と、
不一致度がもっとも小さくなるエッジを抽出して、前記第１のカメラの出力値に対する対応点として選択する対応づけ手段とを有することを特徴とする３次元形状計測装置。
【請求項３】
ストライプパターンを投影する投光手段と、前記投光手段と略同主点および略同光軸を有する第１のカメラと、前記投光手段と異なる主点を有する第２のカメラとを備える３次元形状計測装置において、
前記第１のカメラにより参照物体上の投影パターンを撮像して得た第１のエッジ間出力値情報、前記第１のカメラにより計測物体上の投影パターンを撮像して得た第２のエッジ間出力値情報および前記第２のカメラにより参照物体上の投影パターンを撮像して得た第３のエッジ間出力値情報に基づいて、前記第２のカメラにより計測物体上の投影パターンを撮像して得ることが予測されるエッジ間出力値予測情報を算出し、
前記エッジ間出力値予測情報と前記第２のカメラにより計測対象上の投影パターンを撮像して得た第４のエッジ間出力値情報とを対比して前記第１のカメラおよび前記第２のカメラで撮像したパターン投影画像のエッジを対応づけることを特徴とする３次元形状計測装置。
【請求項４】
前記エッジ間出力値予測情報の輝度値および前記第４のエッジ間出力値情報の輝度値の間の差と、前記エッジ間出力値予測情報の隣接ストライプの輝度値の比および前記第４のエッジ間出力値情報の隣接ストライプの輝度値の比の間の差に基づいて前記パターン投影画像のエッジを対応づける請求項３記載の３次元形状計測装置。
【請求項５】
ストライプパターンを投影する投光手段と、前記投光手段と略同主点および略同光軸を有する第１のカメラと、前記投光手段と異なる主点を有する第２のカメラとを用いて３次元形状を測定する３次元形状計測方法において、
参照物体に対して前記パターンを投影した場合と計測物体に対して前記パターンを投影した場合とに関して、前記第１のカメラおよび第２のカメラにより撮像したパターン投影画像のエッジ間の出力値を記憶する出力値記憶ステップと、
参照物体に関する前記第１のカメラの前記出力値と計測物体に関する前記第１のカメラの前記出力値とに基づいて、計測物体の反射係数を演算する反射係数演算ステップと、
計測物体の前記反射係数と参照物体に関する前記第２のカメラの前記出力値とを演算して、前記第２のカメラの出力予測値を算出する出力値予測ステップと、
前記第２のカメラの前記出力予測値と計測物体に関する前記第２のカメラの前記出力値とを用いて、前記出力値の輝度値と前記出力予測値の輝度値との差の絶対値と、前記出力値の隣接ストライプにおける輝度値比と前記出力予測値の隣接ストライプにおける輝度値比との差の絶対値と、の重みづけ和を算出することにより不一致度を算出する不一致度算出ステップと、
不一致度がもっとも小さくなるエッジを抽出して、前記第１のカメラの出力値に対する対応点として選択する対応づけステップとを有することを特徴とする３次元形状計測方法。
【請求項６】
ストライプパターンを投影する投光手段と、前記投光手段と略同主点および略同光軸を有する第１のカメラと、前記投光手段と異なる主点を有する第２のカメラとを備える３次元形状計測装置において、
参照物体に対して前記パターンを投影した場合と計測物体に対して前記パターンを投影した場合とに関して、前記第１のカメラおよび第２のカメラにより撮像したパターン投影画像のエッジ間の出力値を記憶する出力値記憶手段と、
参照物体に関する前記第１のカメラの前記出力値と計測物体に関する前記第１のカメラの前記出力値とに基づいて、計測物体の反射係数を演算する反射係数演算手段と、
計測物体の前記反射係数と参照物体に関する前記第２のカメラの前記出力値とを演算して、前記第２のカメラの出力予測値を算出する出力値予測手段と、
前記出力予測値に対してある補正値を用いてさらに補正を行った補正出力予測値を算出する補正手段と、
計測物体に関する前記第２のカメラの前記出力値から、前記補正手段が算出した前記第２のカメラの補正出力予測値にもっとも近い出力値を持つエッジを抽出する対応候補抽出手段と、
前記対応候補抽出手段により抽出した前記エッジに関する前記第２のカメラの前記出力値と、前記補正手段が算出した前記第２のカメラの補正出力予測値との差分を算出し、前記差分と所定の閾値とを比較して対応候補が正しい対応かどうかを判定する判定手段と、
正しい対応の場合には前記補正値を前記第２のカメラの前記出力値および前記第２のカメラの前記出力予測値に基づいて更新し前記閾値を前記差分に基づいて更新し、誤った対応の場合には予め定められた値に更新する更新手段と、
誤った対応の場合には前記第２のカメラの前記出力値から、前記第２のカメラの前記出力予測値にもっとも近い出力値を持つエッジを抽出する対応候補再抽出手段とを有することを特徴とする３次元形状計測装置。
【請求項７】
ストライプパターンを投影する投光手段と、前記投光手段と略同主点および略同光軸を有する第１のカメラと、前記投光手段と異なる主点を有する第２のカメラとを用いて３次元形状を測定する３次元形状計測方法において、
参照物体に対して前記パターンを投影した場合と計測物体に対して前記パターンを投影した場合とに関して、前記第１のカメラおよび第２のカメラにより撮像したパターン投影画像のエッジ間の出力値を記憶する出力値記憶ステップと、
参照物体に関する前記第１のカメラの前記出力値と計測物体に関する前記第１のカメラの前記出力値とに基づいて、計測物体の反射係数を演算する反射係数演算ステップと、
計測物体の前記反射係数と参照物体に関する前記第２のカメラの前記出力値とを演算して、前記第２のカメラの出力予測値を算出する出力値予測ステップと、
前記出力予測値に対してある補正値を用いてさらに補正を行った補正出力予測値を算出する補正ステップと、
計測物体に関する前記第２のカメラの前記出力値から、前記補正手段が算出した前記第２のカメラの補正出力予測値にもっとも近い出力値を持つエッジを抽出する対応候補抽出ステップと、
前記対応候補抽出手段により抽出した前記エッジに関する前記第２のカメラの前記出力値と、前記補正手段が算出した前記第２のカメラの補正出力予測値との差分を算出し、前記差分と所定の閾値とを比較して対応候補が正しい対応かどうかを判定する判定ステップと、
正しい対応の場合には前記補正値を前記第２のカメラの前記出力値および前記第２のカメラの前記出力予測値に基づいて更新し前記閾値を前記差分に基づいて更新し、誤った対応の場合には予め定められた値に更新する更新ステップと、
誤った対応の場合には前記第２のカメラの前記出力値から、前記第２のカメラの前記出力予測値にもっとも近い出力値を持つエッジを抽出する対応候補再抽出ステップとを有することを特徴とする３次元形状計測方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、測定対象に対してパターン光を照射することによって得られるパターン投影像を、複数の撮像手段で異なる方向から撮像し、パターンの変化に基づいて距離情報を得る三角測量法に基づく３次元形状計測技術に関する。
【０００２】
【従来の技術】
３次元形状を取得する手法には、アクティブ手法（Ａｃｔｉｖｅ  ｖｉｓｉｏｎ）とパッシブ手法（Ｐａｓｓｉｖｅ  ｖｉｓｉｏｎ）がある。アクティブ手法は、（１）レーザ光や超音波等を発して、対象物からの反射光量や到達時間を計測し、奥行き情報を抽出するレーザ手法や、（２）スリット光などの特殊なパターン光源を用いて、対象表面パターンの幾何学的変形等の画像情報より対象形状を推定するパターン投影方法や、（３）光学的処理によってモアレ縞により等高線を形成させて、３次元情報を得る方法などがある。一方、パッシブ手法は、対象物の見え方、光源、照明、影情報等に関する知識を利用して、一枚の画像から３次元情報を推定する単眼立体視、三角測量原理で各画素の奥行き情報を推定する二眼立体視等がある。
【０００３】
本発明は、アクティブ手法の３次元計測技術であるパターン投影法に関するものである。パターン投影法では、対象とする物体に基準となるパターン光を投影し、基準となるパターン光が投影された方向とは異なる方向から撮影を行う。撮影されたパターンは、物体の形状によって変形を受けたものとなる。観測された変形パターンと投影したパターンとの対応づけを行うことで、物体の３次元計測を行える。パターン投影法では、高速かつ高精度な測定が可能であるが、変形パターンと投影したパターンの対応づけにおいていかに誤対応を少なくするかが課題となる。
【０００４】
そこで、本出願と同一出願人に係る特願平１０−１９１０６３号（特開２０００−９４４２号公報）、特願平１０−２４７７９６号（特開２０００−６５５４２号公報）では投光されたパターンをフィードバックし新たなコードを生成することで対象物に依存しない３次元画像撮影装置を提案した。
【０００５】
【発明が解決しようとする課題】
上記の特願平１０−１９１０６３号（特開２０００−９４４２号公報）、特願平１０−２４７７９６号（特開２０００−６５５４２号公報）における３次元画像撮影装置は、投光パターンを複数の強度や複数の波長によって符号化されたものを投影して実現する。その際に、従来では、投光パターンが被写体の輝度情報、素材などの影響によって変化し、３次元形状を算出する際に、エラーとなって適切な３次元形状が計測できない。そのために、上記３次元撮像装置は、投光素子と同光軸に配置をし、被写体情報による投光パターンの変化分をモニタし、再符号化を実施し、３次元形状を計測している。
【０００６】
しかしながら、上記構成は、一方のカメラで得られた新しい符号が全く同じ新しい符号として別のカメラでも発生していることを前提としている。これは、装置中のすべてのカメラが同じ出力特性を有しており、対象物体上でのある明度に対して同じ信号を出力することを必要とする。この条件を厳密に満たす複数のカメラを準備することはコスト的に難しい。また、仮に準備したとしても、経時変化あるいは使用時の動作環境の変動などによりばらつきが生じてしまうことは避け難い。
【０００７】
さらに、対象物体上のテクスチャによって生じた新しい符号は、一意であるとは限らない。これは、対象物体上の別の点における別のテクスチャによって、同じ新しい符号が発生する可能性があるためである。すなわち、点ｐ（ｘ，ｙ）における反射率をｒ（ｘ，ｙ）、投影された符号の輝度をｉ（ｘ，ｙ）としたときに、対象物体上の２つの異なる点Ｐ１（ｘ１，ｙ１）と点Ｐ２（ｘ２，ｙ２）の反射率と、投影された輝度との関係が、下記式（１）の関係にあるとする。
【数１】
ｒ（ｘ１，ｙ１）／ｒ（ｘ２，ｙ２）≒ｉ（ｘ２，ｙ２）／ｉ（ｘ１，ｙ１）…（１）
対象物体上の２つの異なる点Ｐ１（ｘ１，ｙ１）と点Ｐ２（ｘ２，ｙ２）が上記式（１）の関係にあるとすると、下記式（２）の関係を満足することになる。
【数２】
ｒ（ｘ１，ｙ１）×ｉ（ｘ１，ｙ１）≒ｒ（ｘ２，ｙ２）×ｉ（ｘ２，ｙ２）…（２）
この結果、カメラによって撮影された像の持つ輝度は、対象物体上の２つの異なる点Ｐ１（ｘ１，ｙ１）と点Ｐ２（ｘ２，ｙ２）においてほぼ同じものとなってしまう。従って、各カメラの撮影像の輝度に基づいて対応付けを行なおうとした場合、一方のカメラで撮影された点と、他方のカメラで撮影された点の対応付けが困難になる。特に、複数のカメラを使用した撮影画像を用いて対応付け処理を実行する構成では、カメラ各々の特性によりカメラ毎に出力値が異なる場合がある。このようにカメラの特性により出力値が異なる場合、上述のような投光パターンを投影した画像を複数のカメラで撮影し、一方のカメラで撮影された点と、他方のカメラで撮影された点の対応付けを行なおうとしても対応付けが困難、あるいは不正確になることがある。
【０００８】
本発明は、上記問題点を解決することを目的としてなされたものであり、出力特性にばらつきがあるようなカメラ群を使用した場合でも正確な対応付けのもとに再符号化を行うことができ、かつ、対象物体のテクスチャへの依存を少なくすることで誤対応が生じにくく、信頼性の高い３次元形状計測方法および装置を提供することにある。
【０００９】
【課題を解決するための手段】
本発明によれば、上述の目的を達成するために特許請求の範囲に記載のとおりの構成を採用している。
【００１０】
ここでは、まず、特許請求の範囲の記載内容について補充的に説明を行う。
【００１１】
本発明の第１の側面によれば、上述の目的を解決するために、ストライプパターンを投影する投光手段と、前記投光手段と略同主点および略同光軸を有する第１のカメラと、前記投光手段と異なる主点を有する第２のカメラとを備える３次元形状計測装置において：参照物体に対して前記パターンを投影した場合と計測物体に対して前記パターンを投影した場合とに関して、前記第１のカメラおよび第２のカメラにより撮像したパターン投影画像のエッジ間の出力値を記憶する出力値記憶手段と；参照物体に関する前記第１のカメラの前記出力値と計測物体に関する前記第１のカメラの前記出力値とに基づいて、計測物体の反射係数を演算する反射係数演算手段と；計測物体の前記反射係数と参照物体に関する前記第２のカメラの前記出力値とを演算して、前記第２のカメラの出力予測値を算出する出力値予測手段と；前記第２のカメラの前記出力予測値と計測物体に関する前記第２のカメラの前記出力値とを用いて不一致度を算出する不一致度算出手段と；不一致度がもっとも小さくなるエッジを抽出して、前記第１のカメラの出力値に対する対応点として選択する対応づけ手段とを有することを特徴とする。
【００１２】
とくに、輝度値差の絶対値と隣接ストライプにおける輝度値比の差の絶対値との重みづけ和を算出することにより不一致度を算出することができる。
【００１３】
この構成においては、第１のカメラおよび第２のカメラによる参照物体上の投影パターンを撮像して得たエッジ間出力値情報および第１のカメラによる計測物体上の投影パタンを撮像して得たエッジ間出力値情報に基づいて、第２のカメラから得ることが予測されるエッジ間出力予測値情報を算出し、このエッジ間出力予測値情報と第２のカメラから計測物体に関して実際に得られるエッジ間出力値情報とにより第１のカメラおよび第２のカメラのパターン投影画像のエッジの対応づけを確実に実行することができる。
【００１４】
参照物体のパターン画像を用いているので第１のカメラと第２のカメラの間の品質のバラツキにより生じるエラーを抑制できる。輝度値差のみでなく、隣接ストライプの輝度値比の差を用いれば、局所的に輝度値の比が保存されているので、より一層確実なエッジの対応づけが可能となる。
【００１５】
また、本発明の第２の側面によれば、上述の目的を達成するために、ストライプパターンを投影する投光手段と、前記投光手段と略同主点および略同光軸を有する第１のカメラと、前記投光手段と異なる主点を有する第２のカメラとを備える３次元形状計測装置において：参照物体に対して前記パターンを投影した場合と計測物体に対して前記パターンを投影した場合とに関して、前記第１のカメラおよび第２のカメラにより撮像したパターン投影画像のエッジ間の出力値を記憶する出力値記憶手段と；参照物体に関する前記第１のカメラの前記出力値と計測物体に関する前記第１のカメラの前記出力値とに基づいて、計測物体の反射係数を演算する反射係数演算手段と；計測物体の前記反射係数と参照物体に関する前記第２のカメラの前記出力値とを演算して、前記第２のカメラの出力予測値を算出する出力値予測手段と；前記出力予測値に対してある補正値を用いてさらに補正を行った補正出力予測値を算出する補正手段と；計測物体に関する前記第２のカメラの前記出力値から、前記補正手段が算出した前記第２のカメラの補正出力予測値にもっとも近い出力値を持つエッジを抽出する対応候補抽出手段と；前記対応候補抽出手段により抽出した前記エッジに関する前記第２のカメラの前記出力値と、前記補正手段が算出した前記第２のカメラの補正出力予測値との差分を算出し、前記差分と所定の閾値とを比較して対応候補が正しい対応かどうかを判定する判定手段と；正しい対応の場合には前記補正値を前記第２のカメラの前記出力値および前記第２のカメラの前記出力予測値に基づいて更新し前記閾値を前記差分に基づいて更新し、誤った対応の場合には予め定められた値に更新する更新手段と；誤った対応の場合には前記第２のカメラの前記出力値から、前記第２のカメラの前記出力予測値にもっとも近い出力値を持つエッジを抽出する対応候補再抽出手段とを有することを特徴とする。
【００１６】
この構成においても、参照物体のパターン画像を用いているので第１のカメラと第２のカメラの間の品質のバラツキにより生じるエラーを抑制できる。しかも、計測物体の反射が必ずしも理想的な完全拡散反射でないことも考慮して徐々に補正を行い、しかも、表面の反射状態が急激に変化する場合には補正をリセットするようにしている。この結果、計測対象の表面状態に合致したエッジの対応づけが可能となる。前記補正値および前記閾値の更新は、双方を行うのでなく、一方のみを行うようにしてもよい。
【００１７】
なお、本発明は、装置やシステムとして実現するほかに方法の対応でも実施可能であり、少なくともその一部をコンピュータプログラムとして実装できることももちろんである。
【００１８】
【発明の実施の形態】
以下、実施例を用いて本発明を詳細に説明する。
【００１９】
［実施例１］
まず、本発明の実施例１を説明する。
【００２０】
図１は、実施例１が適用される３次元形状計測装置を模式的に示しており、図２は、測定対象および投影パターンの例を示しており、図３は、測定原理を示している。図１において、３次元形状計測装置１００は、３次元計測用にパターンを投影するパターン投影装置（投光手段。プロジェクタとも呼ぶ）１０１、ほぼ同主点、同光軸でパターンをモニタするモニタ用撮像装置（第１のカメラ。カメラ１とも呼ぶことがある）１０２、三角測量用撮像装置（第２のカメラ。カメラ２と呼ぶこともある）１０３を含んで構成される。基本的な構成は、特開２０００−９４４２号公報および特開２０００−６５５４２号公報の構成と同様である。投影装置１０１は、プロジェクタもしくはレーザスリット投影系を用いる。パターン投影装置１０１は、あらかじめ定められたコードに対応する輝度値によって投影パターンを形成し、投影を行う。投影パターンは、図２に示すような濃淡のあるスリットパターンを用い、例えば、図２右側に図示されている物体にパターン投影する。投影パターンはハーフミラー１０４を介して測定対象（物体）に投影され、その反射光がハーフミラー１０４で反射されてモニタ用撮像装置１０２に入射する。測定対象からの反射光はモニタ用撮像装置１０２とは異なる光路を経て三角測量用撮像装置１０３に入射する。
【００２１】
図３にその模様を示す。モニタ用撮像装置１０２と投影装置１０１をハーフミラー１０４などで、ほぼ同主点、同光軸に配置する。三角計測用に別光軸上に三角測量用撮像装置１０３を用意する。そして、図２に示すようなストライプパターンを投影する。ほぼ同主点、同光軸のモニタ用撮像装置（カメラ１）１０２で観測された画像（カメラ１撮像画像）から再符号化を実施し、測定用撮像装置（カメラ２）１０３で観測された画像（カメラ２撮像画像）とで距離画像を算出する。
【００２２】
再符合化について、図４のフローチャートを参照して詳しく説明する。本実施例では画像中のエッジの両側に位置する２つの輝度値を利用して符合化を行うが、３つ以上の輝度値を用いて符合化を行っても良く、限定するものではない。
【００２３】
まず、参照物体を用いた処理を行う（Ｓ１０）。カメラ１およびカメラ２はまず、図６に示すような、既知の距離に配置した参照物体上に投影された投影パターンを撮像する。この状態を標準状態と呼ぶこととする。参照物体としては、均一な反射係数を有する平板を用いることが望ましい。参照物体は既知距離に配置された既知形状の物体であるため、カメラ１画像とカメラ２画像におけるストライプの対応を容易に行うことができる。そこで、撮像画像から、各コードに対応する出力値を算出し、各カメラごとに記憶しておく。出力値の算出については、エッジ間に存在する複数画素について輝度値の平均値を算出するなどによって行うことができる。このとき、ｎ番目のエッジ位置をＥｎ、その左側および右側のコードをそれぞれＣｎ＿ｌｅｆｔ、Ｃｎ＿ｒｉｇｈｔとする。また、図７に示すように、Ｃｎ＿ｌｅｆｔおよびＣｎ＿ｒｉｇｈｔのコードに対するカメラ１の出力値をＯｎ＿ｌｅｆｔ＿１、Ｏｎ＿ｒｉｇｈｔ＿１とし、カメラ２の出力値をＯｎ＿ｌｅｆｔ＿２、Ｏｎ＿ｒｉｇｈｔ＿２とする。具体的な動作としては、Ｏｎ＿ｌｅｆｔ＿１、Ｏｎ＿ｒｉｇｈｔ＿１、Ｏｎ＿ｌｅｆｔ＿２、Ｏｎ＿ｒｉｇｈｔ＿２を各カメラ、各コードごとに記憶しておくこととなる。以上の動作により、標準状態におけるコードと出力値の対応を各カメラごとにつけたことになる。なお、この動作は計測前にあらかじめ行っておくことができ、計測ごとに繰り返す必要はない。
【００２４】
次に測定対象物に対する処理を行う（Ｓ１１）。測定対象物に対してパターンを投影し、各カメラで撮像を行う。カメラ１において撮像された画像に対してエッジ検出オペレータを作用させることでエッジを抽出する。カメラ１はパターン投影装置とほぼ同主点、同光軸を有するので、図８に示すように前述した標準状態とほぼ同じ位置にエッジ位置を検出することができる。すなわち、測定対象物における撮像画像について、標準状態におけるＥｎ、Ｃｎ＿ｌｅｆｔ、Ｃｎ＿ｒｉｇｈｔを対応させることができる。ただし、図９に示すように、カメラの出力値は対象物体のテクスチャによって変化させられているため、Ｏｎ’＿ｌｅｆｔ＿１、Ｏｎ’＿ｒｉｇｈｔ＿１となっている。Ｏｎ’＿ｌｅｆｔ＿１、Ｏｎ’＿ｒｉｇｈｔ＿１の算出については、標準状態においてＯｎ＿ｌｅｆｔ＿１、Ｏｎ＿ｒｉｇｈｔ＿１を算出したときと同じ手順を踏めば良い。このとき、
【数３】
Ｒｎ＿ｌｅｆｔ＝Ｏｎ’＿ｌｅｆｔ＿１／Ｏｎ＿ｌｅｆｔ＿１
Ｒｎ＿ｒｉｇｈｔ＝Ｏｎ’＿ｒｉｇｈｔ＿１／Ｏｎ＿ｒｉｇｈｔ＿１
とすると、Ｒｎ＿ｌｅｆｔ、Ｒｎ＿ｒｉｇｈｔは対象物体上での各ストライプにおける反射率と見なすことができる。カメラ１の各エッジにおいてＲｎを算出し、カメラ２においても同様にエッジ位置を検出し、Ｏｎ’＿ｌｅｆｔ＿２、Ｏｎ’＿ｒｉｇｈｔ＿２を算出する。
【００２５】
次に、カメラ１での計測物体パターン投影画像におけるエッジ間輝度情報と、カメラ２での計測物体パターン投影画像におけるエッジ間輝度情報、さらに、算出した反射係数：Ｒｎを用いて、エピポーララインに基づく対応付け処理を実行し（Ｓ１２）、その後距離計算を行う（Ｓ１３）。
【００２６】
カメラ１において算出しておいたＲｎ＿ｌｅｆｔ、Ｒｎ＿ｒｉｇｈｔをもちいれば、カメラ２が出力するであろう値（出力予測値）Ｏｎ’＿ｌｅｆｔ＿２＿ｐｒｅ、Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅを推定することができる。カメラ１とカメラ２が出力の線形性を有しており、さらに測定対象の表面性が完全拡散反射面と近似できる場合、以下の式で推定することができる。
【数４】
Ｏｎ’＿ｌｅｆｔ＿２＿ｐｒｅ＝Ｒｎ＿ｌｅｆｔ×Ｏｎ＿ｌｅｆｔ＿２
Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅ＝Ｒｎ＿ｒｉｇｈｔ×Ｏｎ＿ｒｉｇｈｔ＿２
なお、カメラの出力特性が非線形であるときはその特性方程式を用いたものに、あるいは測定対象の表面性に関する完全拡散以外のモデルを適用する場合にはそのモデルを用いて予測づけを行うものであり、上式は一意なものではなく、説明のために簡単なモデルを使用しているに過ぎないものである。
【００２７】
対応付けについて、図５のフローチャートを用いて、説明する。対応づけは、エピポーラ線上においてＯｎ’＿ｌｅｆｔ＿２＿ｐｒｅ、Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅとＯｎ’＿ｌｅｆｔ＿２、Ｏｎ’＿ｒｉｇｈｔ＿２を用いた次式の不一致度算出関数を用いて、もっとも小さい不一致度（Ｄｉｓｃｒｅｐａｎｃｙ）をもつエッジを探索することによって行う（Ｓ２０、Ｓ２１、Ｓ２３）。
【数５】
Ｄｉｓｃｒｅｐａｎｃｙ＝ＩｎｔＤｉｆ＋α×ＢａｓｅＶａｌ×ＲａｔｉｏＤｉｆ
ただし、
【数６】
ＩｎｔＤｉｆ＝Ａｂｓ（Ｏｎ’＿ｌｅｆｔ＿２＿ｐｒｅ−Ｏｎ’＿ｌｅｆｔ＿２）＋Ａｂｓ（Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅ−Ｏｎ’＿ｒｉｇｈｔ＿２）
また、
【数７】
ｉｆ  Ｏｎ’＿ｌｅｆｔ＿２＿ｐｒｅ＜Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅ
ＲａｔｉｏＤｉｆ＝Ａｂｓ（Ｏｎ’＿ｌｅｆｔ＿２＿ｐｒｅ／Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅ−Ｏｎ’＿ｌｅｆｔ＿２／Ｏｎ’＿ｒｉｇｈｔ＿２）
ＢａｓｅＶａｌ＝Ｏｎ’＿ｒｉｇｈｔ＿２
また、
【数８】
ｉｆ  Ｏｎ’＿ｌｅｆｔ＿２＿ｐｒｅ＞Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅ
ＲａｔｉｏＤｉｆ＝Ａｂｓ（Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅ／Ｏｎ’＿ｌｅｆｔ＿２＿ｐｒｅ−Ｏｎ’＿ｒｉｇｈｔｔ＿２／Ｏｎ’＿ｌｅｆｔ＿２）
ＢａｓｅＶａｌ＝Ｏｎ’＿ｌｅｆｔ＿２
【００２８】
不一致度算出関数は輝度値差の絶対値であるＩｎｔＤｉｆと隣接ストライプの比の差であるＲａｔｉｏＤｉｆとの重みつき和で構成されており、αは重みづけの定数である。ＲａｔｉｏＤｉｆを利用しているのは、輝度値自体は変化しても、局所的な領域においては隣接ストライプの輝度値の比は保存されることが予想されるためである。
【００２９】
カメラ２の測定画像において、あるエッジＥ＿ｗｒｏｎｇにおける輝度値をＯｎ’＿ｌｅｆｔ＿２＿ｗｒｏｎｇ、Ｏｎ’＿ｒｉｇｈｔ＿２＿ｗｒｏｎｇとし、別のエッジＥ＿ｃｏｒｒにおける輝度値をＯｎ’＿ｌｅｆｔ＿２＿ｃｏｒｒ、Ｏｎ’＿ｒｉｇｈｔ＿２＿ｃｏｒｒとする。このとき、測定された輝度値がたとえば以下のようであったとする。
【数９】
Ｏｎ’＿ｌｅｆｔ＿２＿ｗｒｏｎｇ＝６０
Ｏｎ’＿ｒｉｇｈｔ＿２＿ｗｒｏｎｇ＝７０
Ｏｎ’＿ｌｅｆｔ＿２＿ｃｏｒｒ＝４０
Ｏｎ’＿ｒｉｇｈｔ＿２＿ｃｏｒｒ＝７０
【００３０】
また、出力予測値は以下のような値であったとする。
【数１０】
Ｏｎ’＿ｌｅｆｔ＿２＿ｐｒｅ＝５０
Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅ＝８０
このとき、
【数１１】
ＩｎｔＤｉｆ＿ｗｒｏｎｇ＝２０
ＩｎｔＤｉｒ＿ｃｏｒｒ＝２０
となり、輝度値差の絶対値だけでは対応づけの判定ができなくなるが、
【数１２】
ＲａｔｉｏＤｉｆｆ＿ｗｒｏｎｇ＝１６．２５
ＲａｔｉｏＤｉｆｆ＿ｃｏｒｒ＝３．７５
となり、α＝１としたときには
【数１３】
Ｄｉｓｃｒｅｐａｎｃｙ＿ｗｒｏｎｇ＝３６．２５
Ｄｉｓｃｒｅｐａｎｃｙ＿ｃｏｒｒ＝２３．７５
という値が得られる。
【００３１】
ここで、Ｅ＿ｗｒｏｎｇにおいては左側ストライプは予測値よりも大きな値であるが、右側ストライプは予測値よりも小さな値となっている。その一方で、Ｅ＿ｃｏｒｒにおいては、どちらのストライプも予測値よりも小さな値となっている。局所的な領域においてＥ＿ｗｒｏｎｇのような予測値との変化の逆転現象が発生することは考えにくいため、Ｅ＿ｃｏｒｒが正しい対応のエッジ点であると考えられる。すなわち、不一致度算出関数Ｄｉｓｃｒｅｐａｎｃｙは正しい対応を導きだすことができていることになる。
【００３２】
このように、カメラ１とカメラ２が同じ出力特性を持たない、すなわち、Ｏｎ’＿ｌｅｆｔ（ｒｉｇｈｔ）＿１とＯｎ’＿ｌｅｆｔ（ｒｉｇｈｔ）＿２が一致しない場合でもカメラ２において確実に対応点を検出することができるようになる。対応点が決定された後は一般的な三角測量の原理により距離が測定できる。
【００３３】
［実施例２］
つぎに本発明の実施例２について説明する。
【００３４】
この実施例は実施例１と同様に参照物体上の投影パターンを用いる。実施例１では、隣接ストライプの輝度比が局所的にも保存されるという性質を利用してその隣接ストライプの輝度比の差を用いて不一致度を算出した。実施例２では、多くの表面では反射の特性が連続的に変化することを利用して、反射モデル（モデルずれ量、補正値Ｏｆｆ）を導入しこれを徐々に変化させ、最適化を図るようにしている。しかも、反射の特性が急激に変化する場合には、その時点で補正値をリセットするようにしている。
【００３５】
以下、実施例２の３次元形状計測装置について説明する。ただし、エッジの対応づけ以外は実施例１と同様であるので、エッジの対応づけについてのみ説明する。
【００３６】
対応付けについて、図１０のフローチャートを用いて説明する。対応づけは、エピポーラ線上においてＯｎ’＿ｌｅｆｔ＿２＿ｐｒｅ、Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅにほぼ等しいＯｎ’＿ｌｅｆｔ＿２、Ｏｎ’＿ｒｉｇｈｔ＿２をもつエッジを探索することによって行う。
【００３７】
初期状態においては、予め定められた対応付けに関する閾値ｔｈを設定するとともに、モデルずれ比Ｏｆｆを１に設定する（Ｓ３０、Ｓ３１）。Ｏｎ’＿ｌｅｆｔ＿２＿ｐｒｅ×Ｏｆｆ、Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅ×Ｏｆｆにほぼ等しいＯｎ’＿ｌｅｆｔ＿２、Ｏｎ’＿ｒｉｇｈｔ＿２をもつエッジを探索した後、次式によって算出される予測値との相違値であるＤｉｆｆを用いてその対応付けが正しいかどうかの判定を行う（Ｓ３２、Ｓ３３）。
【数１４】
Ｄｉｆｆ＝Ａｂｓ（Ｏｎ’＿ｌｅｆｔ＿２＿ｐｒｅ×Ｏｆｆ−Ｏｎ’＿ｌｅｆｔ＿２）＋Ａｂｓ（Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅ×Ｏｆｆ−Ｏｎ’＿ｒｉｇｈｔ＿２）
Ｄｉｆｆ＜ｔｈのときこの対応付けは正しいと判定する。正しいと判定された対応の場合には、以下のようにＯｆｆの更新を行う（Ｓ３４）。
【数１５】
Ｏｆｆｎｅｗ＝（Ｏｆｆ＋（Ｏｆｆｎｏｗ）×α）／（１＋α）
ただし、
【数１６】
ｉｆ  Ｏｎ’＿ｌｅｆｔ＿２＿ｐｒｅ，Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅ＞ｖＴｈ
Ｏｆｆｎｏｗ＝（Ｏｎ’＿ｌｅｆｔ＿２／Ｏｎ’＿ｌｅｆｔ＿２＿ｐｒｅ＋Ｏｎ’＿ｒｉｇｈｔ＿２／Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅ）／２
【数１７】
ｉｆ  Ｏｎ’＿ｌｅｆｔ＿２＿ｐｒｅ＞ｖＴｈ，Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅ＜ｖＴｈ
Ｏｆｆｎｏｗ＝Ｏｎ’＿ｌｅｆｔ＿２／Ｏｎ’＿ｌｅｆｔ＿２＿ｐｒｅ
【数１８】
ｉｆ  Ｏｎ’＿ｌｅｆｔ＿２＿ｐｒｅ＜ｖＴｈ，Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅ＞ｖＴｈ
Ｏｆｆｎｏｗ＝Ｏｎ’＿ｒｉｇｈｔ＿２／Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅ
【数１９】
Ｏｎ’＿ｌｅｆｔ＿２＿ｐｒｅ＜ｖＴｈ，Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅ＜ｖＴｈ
の場合はＯｆｆの更新を行わない。
【００３８】
上式でｖＴｈは予め定められた定数で、ｖＴｈ以下の値の場合は対応付けられた点と予測値との比が誤差を含みやすくなるためＯｆｆの更新の際に使用しないようにするための値である。予測値の算出においては、対象物体の表面性状について何らかのモデル化（たとえば完全拡散反射）を行っているが、実際の測定対象における反射はそのモデルでは完全に記述することができない場合が多い。モデルと実現象のずれを吸収するために上述のようなモデルずれ量Ｏｆｆの更新を行う。αはＯｆｆの更新の際における緩和係数であり、予め定められた定数である。また、このように実現象とのずれを吸収した後は、予測値と観測値との差異が小さくなることが期待されるため、対応付けが正しいかどうかの判定に用いるｔｈも次式のように更新を行う（Ｓ３４）。
【数２０】
Ｔｈｎｅｗ＝（ｔｈ＋（Ｄｉｆｆ＋Ｍａｒｇｉｎ）×β）／（１＋β）
【００３９】
上式によって、新しい閾値は現在の相違値であるＤｉｆｆに近いものに更新することができる。βは予め定められた定数であり、ｔｈの更新の際における緩和係数である。また、Ｍａｒｇｉｎも予め定められた定数で、ｔｈが極端に小さくなることを防ぐためのものである。
【００４０】
Ｄｉｆｆ＞ｔｈとなり、誤った対応付けと判定したときは、その領域に関してそれまでに対応付けを行った領域と測定対象の表面性状が変化したことが予想されるため、Ｔｈを予め定められた元の値にリセットし、またＯｆｆも１にリセットする（Ｓ３５）。その後再度Ｏｎ’＿ｌｅｆｔ＿２＿ｐｒｅ×Ｏｆｆ、Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅ×Ｏｆｆ（すなわち元の予測値であるＯｎ’＿ｌｅｆｔ＿２＿ｐｒｅ、Ｏｎ’＿ｒｉｇｈｔ＿２＿ｐｒｅ）にほぼ等しいＯｎ’＿ｌｅｆｔ＿２、Ｏｎ’＿ｒｉｇｈｔ＿２をもつエッジを探索し、正しい対応付けかどうかの判定を行う（Ｓ３６、Ｓ３７、Ｓ３８）。すべての対応づけが終了した場合には処理を終了する（Ｓ３９）。
【００４１】
この実施例によれば、参照物体の投影パターンを用いてカメラ１とカメラ２との間のバラツキを吸収でき、しかも、計測物体の表面反射に適応して補正を行うことにより、一層確実なエッジの対応づけが可能となる。
【００４２】
このように、カメラ１とカメラ２が同じ出力特性を持たない、すなわち、Ｏｎ’＿ｌｅｆｔ（ｒｉｇｈｔ）＿１とＯｎ’＿ｌｅｆｔ（ｒｉｇｈｔ）＿２が一致しない場合でもカメラ２において確実に対応点を検出することができるようになる。対応点が決定された後は一般的な三角測量の原理により距離が測定できる。
【００４３】
【発明の効果】
以上述べたように、本発明の３次元形状計測装置および３次元形状計測方法は、出力特性にばらつきがあるような、あるいは元々は出力特性がそろっていたにもかかわらず環境、経時変化などによりばらつきが生じたようなカメラ群を使用した場合でも再符号化を行うことができ、かつ、対象物体のテクスチャへの依存を少なくすることで誤対応が生じにくく、信頼性の高い３次元形状計測を行うことが可能になる。
【図面の簡単な説明】
【図１】  本発明に係わる３次元形状計測装置のシステム概略図である。
【図２】  本発明の３次元形状計測装置の投影装置の投影パターンの一例と読みとりオブジェクト例を示す図である。
【図３】  図２のプロジェクトパターン及びオブジェクトにおいて、図１の構成で画像読みとりを実施したときの概略図である。
【図４】  本発明の実施例１の動作を説明するフローチャートである。
【図５】  図４のフローチャートの要部を説明するフローチャートである。
【図６】  上述実施例の動作を説明する図である。
【図７】  上述実施例の動作を説明する図である。
【図８】  上述実施例の動作を説明する図である。
【図９】  上述実施例の動作を説明する図である。
【図１０】  本発明の実施例２の動作を説明するフローチャートである。
【符号の説明】
１００      ３次元形状計測装置
１０１      パターン投影装置
１０１      投影装置（プロジェクタ）
１０２      モニタ用撮像装置（カメラ１）
１０３      三角測量用撮像装置（カメラ２）
１０４      ハーフミラー
【図１】
0003846245.tif 000002
【図２】
0003846245.tif 000003
【図３】
0003846245.tif 000004
【図４】
0003846245.tif 000005
【図５】
0003846245.tif 000006
【図６】
0003846245.tif 000007
【図７】
0003846245.tif 000008
【図８】
0003846245.tif 000009
【図９】
0003846245.tif 000010
【図１０】
0003846245.tif 000011