(57)【特許請求の範囲】
【請求項１】
投影装置により所定の方向のみに輝度値が変化するパターンが投影された状態で撮像装置により撮像された計測対象物の画像データを入力する入力手段と、
前記入力された画像に基づいて、前記計測対象物の画像データ上における二次元座標（ｘ’c，ｙ’c）と、前記パターンの画像データ上における一次元座標（ｙp）とを対応付ける対応付け手段と、
前記撮像装置のレンズによる歪みを表すモデルに基づき前記計測対象物の画像データにおける二次元座標（ｘ’c，ｙ’c）を補正することにより、二次元座標（ｘc，ｙc）を取得する第１の取得手段と、
前記撮像装置の視点と前記取得された二次元座標（ｘc，ｙc）とを通る第１の視線ベクトルを導出する第１の視線ベクトル導出手段と、
前記パターンの画像データに三次元座標を投影する処理を行わずに、パターンの画像データ上における一次元座標（ｙp）と、前記投影装置のレンズによる歪を表すモデルと、前記撮像装置と前記投影装置の間のエピポーラ拘束とに基づいて、前記パターンの画像データ上における二次元座標（ｘ’p，ｙ’p）を取得する第２の取得手段と、
前記投影装置の視点と前記取得された二次元座標（ｘ’p，ｙ’p）とを通る第２の視線ベクトルを導出する第２の視線ベクトル導出手段と、
前記第１の視線ベクトルと、前記第２の視線ベクトルとの３次元空間における交点の座標を導出する座標導出手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記第１の取得手段は、前記撮像装置のレンズによる歪みの影響が除去されるように、前記二次元座標（ｘ’c，ｙ’c）を補正することにより、前記二次元座標（ｘc，ｙc）を取得し、
前記第２の取得手段は、前記投影装置のレンズによる歪みの影響が加わるように、前記一次元座標（ｙp）を補正することにより、前記二次元座標（ｘ’p，ｙ’p）を取得することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記投影装置のレンズによる歪みを表すモデルの式は、以下の式（１）であり、前記エピポーラ拘束を表す式は以下の式（２）であり、
前記第２の取得手段は、式（１）、式（２）を連立させて解くことにより、前記パターンの画像データ上における二次元座標（ｘ’p，ｙ’p）を取得することを特徴とする請求項１又は２に記載の画像処理装置。
【数１】
0006041513.tif 000024
・・・（１）
【数２】
0006041513.tif 000025
・・・（２） 
【請求項４】
前記第２の取得手段は、前記投影装置の視点と前記パターンの画像データ上における二次元座標（ｘ’p，ｙ’p）とが前記第１の視線ベクトルと三次元空間の一点で交わるように前記パターンの画像データ上における二次元座標（ｘ’p，ｙ’p）を取得することを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記パターンは、縞状パターンであることを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記縞状パターンにおける縞の方向は、前記縞状パターンの画像データにおける水平方向又は垂直方向であることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記パターンは、ライン状パターンであることを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項８】
前記ライン状パターンにおけるラインの方向は、前記ライン状パターンの画像データにおける水平方向又は垂直方向であることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記パターンの画像データは、空間コード化法又は位相シフト法に使用される画像データであることを特徴とする請求項１乃至８の何れか１項に記載の画像処理装置。
【請求項１０】
画像処理装置によって実行される画像処理方法であって、
投影装置により所定の方向のみに輝度値が変化するパターンが投影された状態で撮像装置により撮像された計測対象物の画像データを入力する入力ステップと、
前記入力された画像に基づいて、前記計測対象物の画像データ上における二次元座標（ｘ’c，ｙ’c）と、前記パターンの画像データ上における一次元座標（ｙp）とを対応付ける対応付けステップと、
前記撮像装置のレンズによる歪みを表すモデルに基づき前記計測対象物の画像データにおける二次元座標（ｘ’c，ｙ’c）を補正することにより、二次元座標（ｘc，ｙc）を取得する第１の取得ステップと、
前記撮像装置の視点と前記取得された二次元座標（ｘc，ｙc）とを通る第１の視線ベクトルを導出する第１の視線ベクトル導出ステップと、
前記パターンの画像データに三次元座標を投影する処理を行わずに、パターンの画像データ上における一次元座標（ｙp）と、前記投影装置のレンズによる歪を表すモデルと、前記撮像装置と前記投影装置の間のエピポーラ拘束とに基づいて、前記パターンの画像データ上における二次元座標（ｘ’p，ｙ’p）を取得する第２の取得ステップと、
前記投影装置の視点と前記取得された二次元座標（ｘ’p，ｙ’p）とを通る第２の視線ベクトルを導出する第２の視線ベクトル導出ステップと、
前記第１の視線ベクトルと、前記第２の視線ベクトルとの３次元空間における交点の座標を導出する座標導出ステップと
を含むことを特徴とする画像処理方法。
【請求項１１】
コンピュータを、請求項１乃至９の何れか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計測対象物の３次元形状計測を行う技術に関するものである。
【背景技術】
【０００２】
画像を用いた物体表面の３次元形状計測は、実物からの３次元モデル生成や物体の位置姿勢計測等の様々な目的に利用される。画像を用いた３次元形状計測の技術の中で、構造化光と呼ばれるパターン光を照射するアクティブ方式が、計測の信頼性が高いことから広く利用されている。このようなパターン光を照射する装置としては、投影型の画像表示装置であるプロジェクタを用いるのが一般的である。プロジェクタを用いる３次元形状計測方法の代表例として、空間コード化法や位相シフト法が挙げられる。空間コード化法や位相シフト法は、２次元の縞状パターン光を投影することによって３次元形状計測を行う方法である。
【０００３】
空間コード化法では、異なる２値の縞状パターン光が時系列に投影されることにより、撮影された画像データ上の座標とプロジェクタ側の画像データ上の座標との対応付けが安定的に行われる。位相シフト法では、正弦波の縞状パターンの位相をずらした複数の縞状パターン光が投影され、撮影された画像データ上の各画素の濃度値の変化を見ることにより、プロジェクタ側の画像データ上の座標との対応付けが行われる。
【０００４】
上述した縞状パターン光を投影する方式で用いられるカメラやプロジェクタは、レンズを介して光を入力及び出力する機器である。従って、カメラによって撮影される画像データやプロジェクタから出力される画像データには、歪曲収差と呼ばれるレンズを通過することによる歪みが加わる。高精度な３次元形状計測を行うためには、このようなレンズ歪みの影響を適切に考慮する必要がある。カメラのレンズ歪みについては、予め歪みパラメータをキャリブレーションしておき、３次元形状計測時に、撮影された画像データ上の２次元座標を歪みのない座標に補正することが一般的に行われている。プロジェクタのレンズ歪みについても予めキャリブレーションしておくことで、画像データ上の２次元座標が分かればカメラと同様に補正することが可能である。
【０００５】
しかし、上述した空間コード化法や位相シフト法等の縞状パターン光を用いる方法では、３次元形状計測のためにカメラ−プロジェクタ間の基線方向に対して略直交する縞状パターン光をプロジェクタによって投影することが一般的に行われている。従って、プロジェクタのレンズ歪みの補正を行うために、３次元形状計測に必要ないにも関わらず、３次元形状計測に必要な縞状パターン光と直交するパターン光を投影する必要があった。これに対し、非特許文献２には、レンズ歪みなしとして算出された仮の３次元座標をレンズ歪みありの投影モデルを満たすよう最適化することで、不要なパターン光を投影せずにプロジェクタのレンズ歪みを補正する方法が開示されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】井口, 佐藤, 三次元画像計測, 昭晃堂, 1990.
【非特許文献２】R. J. Valkenburg and A. M. McIvor, "Accurate 3D measurement using a structured light system," Image and Vision Computing, vol.16, no.2, pp.99-110, 1998.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、プロジェクタのレンズ歪みを補正するため、本来、３次元形状計測に必要な縞状パターン光に直交するパターン光を投影することは、投影するパターン光の数が増える。そのため、画像データの撮影や画像データの処理に要する時間が増大するという問題がある。一方、非特許文献２に開示される方法では、別途パターン光を投射及び撮影することによる計測時間の増大はないものの、仮の３次元座標を求めたり、３次元座標の非線形最適化を行ったりといった処理が必要となる。これらの処理は、画像データ上の多数の点に対して行う必要があるため、計算時間が膨大となるという問題がある。
【０００８】
そこで、本発明の目的は、画像上における２次元位置が一意に決まらない所定のパターン光を３次元形状計測に用いる場合、投影装置のレンズ歪みを考慮した高精度な計測を高速に行うことにある。
【課題を解決するための手段】
【０００９】
本発明の画像処理装置は、投影装置により所定の方向のみに輝度値が変化するパターンが投影された状態で撮像装置により撮像された計測対象物の画像データを入力する入力手段と、前記入力された画像に基づいて、前記計測対象物の画像データ上における二次元座標（ｘ’c，ｙ’c）と、前記パターンの画像データ上における一次元座標（ｙp）とを対応付ける対応付け手段と、前記撮像装置のレンズによる歪みを表すモデルに基づき前記計測対象物の画像データにおける二次元座標（ｘ’c，ｙ’c）を補正することにより、二次元座標（ｘc，ｙc）を取得する第１の取得手段と、前記撮像装置の視点と前記取得された二次元座標（ｘc，ｙc）とを通る第１の視線ベクトルを導出する第１の視線ベクトル導出手段と、前記パターンの画像データに三次元座標を投影する処理を行わずに、パターンの画像データ上における一次元座標（ｙp）と、前記投影装置のレンズによる歪を表すモデルと、前記撮像装置と前記投影装置の間のエピポーラ拘束とに基づいて、前記パターンの画像データ上における二次元座標（ｘ’p，ｙ’p）を取得する第２の取得手段と、前記投影装置の視点と前記取得された二次元座標（ｘ’p，ｙ’p）とを通る第２の視線ベクトルを導出する第２の視線ベクトル導出手段と、前記第１の視線ベクトルと、前記第２の視線ベクトルとの３次元空間における交点の座標を導出する座標導出手段とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、画像上における２次元位置が一意に決まらない所定のパターン光を３次元形状計測に用いる場合、投影装置のレンズ歪みを考慮した高精度な計測を高速に行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る画像処理装置の構成を示す図である。
【図２】プロジェクタによって照射される縞状パターン光を示す図である。
【図３】本発明の実施形態に係る画像処理装置を含む画像処理システムの構成を示す図である。
【図４】カメラの投影モデルを説明するための図である。
【図５】カメラとプロジェクタとのレンズ歪みの違いを説明するための図である。
【図６】本発明の実施形態に係る画像処理装置による３次元形状計測処理を示すフローチャートである。
【図７】図６のステップＳ１０２０における３次元座標算出処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１３】
先ず、本発明の第１の実施形態について説明する。本発明の第１の実施形態では、空間コード化法を用いて３次元形状計測を行う際、プロジェクタのレンズ歪みを考慮した計測方法について説明する。
【００１４】
図１は、本発明の第１の実施形態に係る画像処理装置の構成を示す図である。図１に示すように、画像処理装置１０１は、画像入力部１１０、対応付け部１２０、校正データ保存部１３０及び３次元座標算出部１４０を備える。また、画像処理装置１０１にはカメラ１００が接続されている。なお、カメラ１００は、撮像装置の例である。
【００１５】
画像入力部１１０は、カメラ１００によって撮像された画像データを入力する。空間コード化法では、１回の３次元形状計測毎に図２に示すような複数の２値の縞状パターン光を照射して画像データが撮影されるため、画像入力部１１０には複数の画像データが入力される。
【００１６】
本実施形態では、撮像された画像データ上でのビットパターンの境界を推定するため、図２に示すような、５ビットのグレイコードを表す水平方向の縞状パターン光に加えて、その縞状パターンのネガとポジとを反転させた縞状パターンも照射する。
【００１７】
図３は、本実施形態に係る画像処理装置１０１を含む画像処理システムの構成を示す図である。図３に示す画像処理システムは、カメラ１００とプロジェクタ１０５とが互いに固定され、夫々が画像処理装置１０１に接続されている。画像処理装置１０１は、プロジェクタ１０５に対して図２に示す縞状パターン光のうちの何れかの縞状パターン光を照射するよう命令した後、カメラ１００に対して画像データを撮像するように命令する。なお、プロジェクタ１０５は、投影装置の例である。
【００１８】
対応付け部１２０は、画像入力部１１０において入力された複数の画像データ上の２次元座標と縞状パターンの画像データ上の座標（垂直方向の座標）との対応付けを行う。校正データ保存部１３０は、事前に校正されるカメラ１００及びプロジェクタ１０５の内部パラメータ、並びに、カメラ１００とプロジェクタ１０５との相対的な位置及び姿勢を保存する。内部パラメータは、焦点距離、主点位置、及び、歪みパラメータ（本実施形態では、放射方向の歪み係数、円周方向の歪み係数）である。カメラ１００及びプロジェクタ１０５の内部パラメータは、例えばZhangの方法（Z. Zhang, "A flexible new technique for camera calibration," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.22, no.11, pp.1330-1334, 2000.）により事前に校正される。カメラ１００とプロジェクタ１０５との相対的な位置及び姿勢は、内部パラメータを校正するときに同時に得られる校正パターンと、カメラ１００とプロジェクタ１０５間の位置及び姿勢とに基づいて算出される。
【００１９】
３次元座標算出部１４０は、対応付け部１２０によって得られた、撮像された画像データ上の２次元座標と縞状パターンの画像データ上の垂直座標との対応付けのそれぞれについて、校正データ保存部１３０に保存されている校正データを用いて３次元座標を算出する。
【００２０】
次に、本実施形態におけるカメラ１００とプロジェクタ１０５との投影モデルについて説明する。先ず、カメラ１００の投影モデルについて説明する。図４に示すように、カメラ座標系（３次元）を、Ｚ軸が光軸と一致し、Ｘ軸及びＹ軸がそれぞれ画像データの水平方向及び垂直方向と平行になるようにとる。カメラ座標系における３次元座標が（Ｘ，Ｙ，Ｚ）の点は、ピンホールカメラモデルによって、次の式１で表される正規化画像座標に投影される。
【００２１】
【数１】
0006041513.tif 000002
【００２２】
ここで正規化画像座標とは、カメラ座標系においてＺ＝１の位置に画像面を設定したときの画像面上での位置である。正規化画像座標系の原点は光軸（Ｚ軸）と画像面の交点であり、ｘ軸及びｙ軸はそれぞれ、画像データの水平方向及び垂直方向と平行である。実際に観察される正規化画像座標（ｘ´，ｙ´）は、次の式２に示すように、（ｘ，ｙ）にレンズ歪みの成分が加わったものになる。
【００２３】
【数２】
0006041513.tif 000003
【００２４】
ここで、ｋc1及びｋc2はそれぞれ３次及び５次の放射方向の歪み係数であり、ｐc1及びｐc2は円周方向の歪み係数である。なお、レンズ歪みモデルはこれに限るものではない。式２は、５次までの放射方向の歪みを考慮しているが、例えば３次や７次等のモデルであってもよい。また、式２では円周方向の歪みを考慮しているが、円周方向の歪みがないと仮定してもよい。即ち、歪みが加わった正規化画像座標（ｘ´，ｙ´）が、歪みが加わる前の正規化画像座標（ｘ，ｙ）の関数として表されるモデルであれば、いかなるモデルであってもよい。正規化画像座標が（ｘ´，ｙ´）の点の実画像データ上での座標（ピクセル座標）（ｕc，ｖc）は、次の式３で表される。
【００２５】
【数３】
0006041513.tif 000004
【００２６】
ここで、ｆcx及びｆcyは焦点距離であり、ｃcx及びｃcyは主点位置である。上述したように、カメラ１００の内部パラメータｆcx、ｆcy、ｃcx、ｃcy、ｋc1、ｋc2、ｐc1及びｐc2は、事前に校正しておく。
【００２７】
次に、プロジェクタ１０５の投影モデルについて説明する。レンズを用いた光学系としてプロジェクタ１０５を見た場合、カメラ１００との違いはレンズを通して画像を入力するか出力するかの違いだけであるといえる。そのため、プロジェクタ１０５の投影モデルは、基本的にはカメラ１００と同様のモデルによって記述することができる。図５は、カメラ１００とプロジェクタ１０５とのレンズ歪みの違いを示す図である。即ち、図５（ａ）は、カメラ１００によって撮影される画像データの歪みを示しており、図５（ｂ）は、プロジェクタ１０５によって投影される画像データの歪みを示している。図５に示すように、プロジェクタ１０５の場合には、レンズを介した画像の入出力がカメラ１００と逆になるため、歪みありの正規化画像座標（ｘ´，ｙ´）と歪みなしの正規化画像座標（ｘ，ｙ）との関係もカメラ１００と逆になる。そのため、（ｘ´，ｙ´）と（ｘ，ｙ）との関係は、次の式４に表すようになる。
【００２８】
【数４】
0006041513.tif 000005
【００２９】
プロジェクタ１０５の内部パラメータｆpx、ｆpy、ｃpx、ｃpy、ｋp1、ｋp2、ｐp1及びｐp2もカメラ１００の内部パラメータと同様に事前に校正しておく。プロジェクタ１０５の内部パラメータの校正では、平面形状の校正用パターンに対して水平及び垂直の両方向の縞状パターン光を投影することにより、校正用パターン上の座標とプロジェクタ１０５側の画像上の座標との対応付けが行われる。内部パラメータの校正は実際の計測に先立って行われる作業であり、比較的時間の余裕があるため、水平及び垂直の両方向の縞状パターン光を投影することが可能である。一方、本実施形態は、事前に校正された内部パラメータを利用して実際に３次元形状計測を行う際のプロジェクタ歪み補正に関するものであり、高速化のためにできるだけ投影するパターン光を減らすことを目的としている。なお、カメラ１００の歪みモデルと同様に、プロジェクタ１０５の歪みモデルについても、歪みが加わる前の正規化画像座標（ｘ，ｙ）が、歪みが加わった後の正規化画像座標（ｘ´，ｙ´）の関数として表されるモデルであれば、いかなるモデルであってもよい。
【００３０】
図６は、本発明の第１の実施形態に係る画像処理装置によって実行される３次元形状計測処理を示すフローチャートである。以下、図６を参照しながら、第１の実施形態における３次元形状計測処理について説明する。
【００３１】
ステップＳ１０００において、画像入力部１１０は、カメラ１００によって撮像された、縞状パターン光が照射されたシーンや物体の画像データを入力する。上述したように、空間コード化法では、１回の計測で複数の縞状パターン光が照射されるため、ここでは複数の画像データが入力される。
【００３２】
ステップＳ１０１０において、対応付け部１２０は、ステップＳ１０００において入力された画像データ上の２次元座標と縞状パターンの画像データ上の垂直座標との対応付けの集合を算出する。即ち、対応付け部１２０は、入力された各画像データを２値化処理することにより、画素毎にビットパターン（本実施形態では、５ビット）を算出する。対応付け部１２０は、このビットパターンを用いることにより、撮像された画像データ上の２次元座標と縞状パターンの画像データ上の垂直座標とを対応付ける。次に対応付け部１２０は、撮像された画像データ上におけるビットパターンが変化する境界部分の２次元座標（ｕc，ｖc）を推定する。境界部分の推定は、例えば非特許文献１に開示されるように、ネガの縞状パターン光が照射された状態で撮影された画像データと、ポジの縞状パターン光が照射された状態で撮影された画像データとの濃淡値プロファイルに基づいて行われる。最後に、対応付け部１２０は、境界部分上の全ての点に対し、隣接するビットパターンに基づいて縞状パターンの画像データ上の垂直座標ｖpを求める。
【００３３】
ステップＳ１０２０において、３次元座標算出部１４０は、ステップＳ１０１０において得られた、撮像された画像データ上の２次元座標（ｕc，ｖc）と縞状パターンの画像データ上の垂直座標ｖpとの対応付けに基づいて、カメラ座標系を基準とした各点の３次元座標を算出する。各点の３次元座標は、カメラ１００側の視線ベクトル（以下、カメラ視線ベクトルと称す）とプロジェクタ１０５側の視線ベクトル（以下、プロジェクタ視線ベクトルと称す）との交点の座標として算出される。ここで視線ベクトルとは、カメラ１００（又は、プロジェクタ１０５）の光学中心と画像上の点とを結ぶ３次元ベクトルのことを表す。カメラ座標系（又は、プロジェクタ座標系）におけるカメラ視線ベクトル（又は、プロジェクタ視線ベクトル）は、正規化画像座標（ｘ，ｙ）を用いることにより、［ｘｙ１］tと表すことができる。プロジェクタ１０５によって画像が空間中に投影される場合、出力される光の方向にレンズによる歪みが加わるため、プロジェクタ視線ベクトルはレンズ歪みが加わったベクトルとなる。一方、カメラ視線ベクトルとして、空間からの反射光がカメラ１００に入射するベクトルを用いる必要があるため、レンズ歪みを除去したベクトルである必要がある。プロジェクタ１０５によって縞状パターン光が投影される場合、ステップＳ１０１０における対応付けでは縞状パターンでの一方向の座標（本実施形態では、垂直座標）しか決定することができないため、プロジェクタ視線ベクトルを決定することができない。そこで、本実施形態では、カメラ１００とプロジェクタ１０５との間に成り立つエピポーラ拘束から得られる方程式と、プロジェクタ１０５のレンズ歪みモデルから得られる方程式との両方を連立方程式として解くことにより、プロジェクタ視線ベクトルを決定する。
【００３４】
図７は、ステップＳ１０２０における３次元座標算出処理の詳細を示すフローチャートである。以下、図７を参照しながら、ステップＳ１０２０における３次元座標算出処理について詳細に説明する。
【００３５】
ステップＳ１１００において、３次元座標算出部１４０は、カメラ１００によって撮影された画像データ上の点とカメラ１００の光学中心とを結ぶカメラ視線ベクトルを算出する。ここでは、上述したように、レンズ歪みが除去されたカメラ視線ベクトルが算出される。具体的には、撮影された画像データ上の座標（ｕc，ｖc）に基づいて、式２及び式３を用いてカメラ視線ベクトルｘc（＝［ｘcｙc１］t）が算出される。先ず、３次元座標算出部１４０は、式３を用いて、歪みありの正規化画像座標（ｘc´，ｙc´）を次の式５に示すように算出する。なお、ステップＳ１１００は、第１の視線ベクトル算出手段の処理例である。
【００３６】
【数５】
0006041513.tif 000006
【００３７】
次に、３次元座標算出部１４０は、算出したｘc´及びｙc´を式２に代入して得られるｘc及びｙcに関する方程式を連立方程式として解くことにより、歪みなしの正規化画像座標ｘc及びｙcを算出する。なお、この連立方程式を解析的に解くことはできないため、３次元座標算出部１４０は、ｘc、ｙcの初期値（例えば、ｘc´、ｙc´）を与え、ニュートン法等の繰返し計算によってｘc及びｙcを算出する。以上のように算出されたｘc及びｙcからカメラ視線ベクトルｘcが得られる。
【００３８】
ステップＳ１１１０において、３次元座標算出部１４０は、プロジェクタ１０５によって投影される縞状パターンの画像データ上の点とプロジェクタ１０５の光学中心とを結ぶプロジェクタ視線ベクトルを算出する。上述したように、ここではレンズ歪みが加わったプロジェクタ視線ベクトルが算出される。具体的には、プロジェクタ１０５によって投影される縞状パターンの画像データの垂直座標ｖpから、プロジェクタ視線ベクトルｘp´（＝［ｘp´ｙp´１］t）が算出される。先ず、３次元座標算出部１４０は、次の式６を用いて、座標ｖpの正規化画像座標（歪みなし）ｙpを算出する。なお、ステップＳ１１１０は、第２の視線ベクトル算出手段の処理例である。
【００３９】
【数６】
0006041513.tif 000007
【００４０】
３次元座標算出部１４０は、式６を式４に代入することにより、次の式７に示すｘp´及びｙp´に関する方程式を得る。
【００４１】
【数７】
0006041513.tif 000008
【００４２】
一方、三角測量の原理に基づいて３次元座標を推定するためには、カメラ視線ベクトルとプロジェクタ視線ベクトルとが３次元空間中の一点で交わる必要がある。この条件はエピポーラ拘束と呼ばれ、次の式８によって表される。
【００４３】
【数８】
0006041513.tif 000009
【００４４】
但し、Ｅは基本行列（Essential matrix）と呼ばれる３×３行列である。基本行列Ｅは、カメラ座標系でのプロジェクタ１０５の位置を表す３次元ベクトルｔ＝［ｔxｔyｔz］t及び姿勢を表す３×３行列Ｒを用いて、次の式９のように表される。
【００４５】
【数９】
0006041513.tif 000010
【００４６】
カメラ１００とプロジェクタ１０５との相対的な位置及び姿勢は、事前にキャリブレーションされているため既知であることから、Ｅ行列も既知である。また、カメラ視線ベクトルｘcも既知であることから、式８から次の式１０に示すｘp´及びｙp´に関する一次方程式が得られる。
【００４７】
【数１０】
0006041513.tif 000011
【００４８】
３次元座標算出部１４０は、式７及び式１０をｘp´及びｙp´に関する拘束条件として利用することにより、非特許文献２に開示されるような仮の３次元座標を計算することなしに、プロジェクタ視線ベクトルを直接的に算出することができる。なお、（ｘp´，ｙp´）は、幾何学的にはｘｙ平面上における式１０によって表される直線（エピポーラライン）と式７によって表される曲線との交点の座標である。３次元座標算出部１４０は、式７及び式１０をｘp´及びｙp´に関する連立方程式として解くことにより、ｘp´及びｙp´を算出する。
【００４９】
以下、ｘp´及びｙp´の具体的な算出方法について説明する。先ず３次元座標算出部１４０は、式１０によりｙp´をｘp´で表すことにより、式７におけるｙp´を消去して、次の式１１に示すｘp´に関する方程式を得る。
【００５０】
【数１１】
0006041513.tif 000012
【００５１】
なお、式１１は、ｘp´に関する５次方程式である。５次方程式は解析的には解けないため、３次元座標算出部１４０は、次の式１２に示すようにｘp´を算出する。先ず３次元座標算出部１４０は、ｘp´の初期値を与える。ｘp´の初期値ｘp0´は、例えば式１０においてｙp´＝ｙpとしたときのｘp´の値を用いる。
【００５２】
【数１２】
0006041513.tif 000013
【００５３】
次に、３次元座標算出部１４０は、式１１の左辺をｘp0´の近傍でｘp´について線形近似し、次の式１３に示すような、ｘp´の微小変化Δｘp´により右辺が０となるような方程式を立式する。
【００５４】
【数１３】
0006041513.tif 000014
【００５５】
３次元座標算出部１４０は、式１３からΔｘp´を算出し、ｘp0´をｘp0´＋Δｘp´のように補正する。３次元座標算出部１４０は、得られたｘp0´を新たな初期値として、上述した処理を解が収束するまで繰り返す。３次元座標算出部１４０は、得られた解をｘp´として、式１０からｙp´を算出する。以上のようにして算出されたｘp´及びｙp´からプロジェクタ視線ベクトルｘp´が得られる。なお、本実施形態では、ｘp´及びｙp´を算出する際にはｙp´を消去してｘp´を算出しているが、これに限るものではない。ｘp´を消去して同様な方法によりｙp´を算出してもよい。
【００５６】
ステップＳ１１２０において、３次元座標算出部１４０は、ステップＳ１１００において算出したカメラ視線ベクトルｘcと、ステップＳ１１１０において算出したプロジェクタ視線ベクトルｘp´とに基づいて、３次元座標を算出する。３次元座標は、カメラ視線ベクトルｘcを延長した３次元直線とプロジェクタ視線ベクトルｘp´を延長した３次元直線との交点の座標として求められる。３次元直線の交点は、例えば次のように算出される。プロジェクタ視線ベクトルｘp´をα倍した位置にある点のカメラ座標系における３次元座標（Ｘ，Ｙ，Ｚ）は、次の式１４のように表される。なお、ステップＳ１１２０は、交点座標算出手段の処理例である。
【００５７】
【数１４】
0006041513.tif 000015
【００５８】
この点とカメラ１００の光学中心とを結ぶベクトルがカメラ視線ベクトルｘcに一致すると、次の式１５を得ることができる。
【００５９】
【数１５】
0006041513.tif 000016
【００６０】
３次元座標算出部１４０は、式１５の第１式又は第２式をαについて解くことにより、次の式１６に示すようにαを算出する。
【００６１】
【数１６】
0006041513.tif 000017
【００６２】
さらに３次元座標算出部１４０は、算出したαを式１１に代入し、３次元座標（Ｘ，Ｙ，Ｚ）を算出する。なお、３次元座標（Ｘ，Ｙ，Ｚ）の算出方法はこれに限るものではない。例えば、撮像された画像データ上及び縞状パターンの画像データ上に３次元座標（Ｘ，Ｙ，Ｚ）を投影したときの正規化画像座標がそれぞれ（ｘc，ｙc）、（ｘp´，ｙp´）であることに基づいて、３次元座標（Ｘ，Ｙ，Ｚ）を直接算出してもよい。以上の３次元座標算出処理を、ステップＳ１０１０において得られた撮像された画像データ上の２次元座標と縞状パターンの画像データ上の垂直座標との対応付け全てについて行われる。
【００６３】
以上のように、第１の実施形態では、縞状パターン光を照射して３次元形状計測を行う際に、レンズ歪みが加わったプロジェクタ視線ベクトルを推定することにより、レンズ歪みを正しく反映する３次元形状計測方法について説明した。この方法では、従来のように一度仮の３次元座標を算出したりする必要がないため、画像上における２次元位置が一意に決まらないパターン光を投影することによる３次元形状計測を高精度且つ高速に処理を行うことができる。
【００６４】
次に、本発明の第２の実施形態について説明する。上述した第１の実施形態では、カメラ１００及びプロジェクタ１０５のレンズ歪みを表すパラメータとして、歪みのない理想的な画像座標を歪みのある画像座標に変換するときの係数（式２）を用いたときの３次元座標の算出について説明した。しかし、レンズ歪みを表すパラメータはこれに限るものではない。第２の実施形態では、レンズ歪みを表すパラメータが、歪みのある画像座標を歪みのない画像座標に変換するときの係数である場合の３次元座標の算出方法について説明する。なお、第２の実施形態に係る画像処理装置及び画像処理システムの構成は、図１及び図３に示した構成と同様であるため、以下の説明においても、図１及び図３の符号を用いるものとする。
【００６５】
第２の実施形態では、カメラ１００の歪みありの正規化画像座標（ｘ´，ｙ´）が、次の式１７によって歪みなしの正規化画像座標（ｘ，ｙ）に変換される。
【００６６】
【数１７】
0006041513.tif 000018
【００６７】
プロジェクタ１０５の場合には、画像の入出力がカメラ１００と逆になるため、次の式１８のようになる。
【００６８】
【数１８】
0006041513.tif 000019
【００６９】
なお、第１の実施形態と同様に、歪みモデルはこれに限るものではない。即ち、カメラ１００の場合には、歪みが加わる前の正規化画像座標（ｘ，ｙ）が、歪みが加わった後の正規化画像座標（ｘ´，ｙ´）の関数として表されるモデルであれば、いかなるモデルであってもよい。プロジェクタ１０５の場合には、歪みが加わった後の正規化画像座標（ｘ´，ｙ´）が、歪みが加わる前の正規化画像座標（ｘ，ｙ）の関数として表されるモデルであれば、いかなるモデルであってもよい。
【００７０】
第２の実施形態における処理は、第１の実施形態とほぼ同一であるので、第１の実施形態と処理内容が異なるカメラ視線ベクトル及びプロジェクタ視線ベクトルの算出方法についてのみ説明する。
【００７１】
第２の実施形態において、カメラ視線ベクトルは次のようにして算出される。先ず、３次元座標算出部１４０は、カメラ１００によって撮像された画像データ上の座標（ｕc，ｖc）から、式５を用いて歪みありの正規化画像座標（ｘc´，ｙc´）を計算する。次に、３次元座標算出部１４０は、式１７を用いて、歪みなしの正規化画像座標（ｘc，ｙc）を算出することにより、カメラ視線ベクトルを算出する。
【００７２】
また、第２の実施形態において、プロジェクタ視線ベクトルは次のようにして算出される。先ず、３次元座標算出部１４０は、式６を用いて、垂直方向の座標ｖpの正規化画像座標（歪みなし）ｙpを算出する。次に、３次元座標算出部１４０は、式１８にｙpを代入したものを式１０に代入することでｘpに関する５次方程式を得る。最後に、３次元座標算出部１４０は、５次方程式を解くことにより、ｘpを求める。この５次方程式は解析的には解けないため、第１の実施形態で述べたような方法によってｘpが算出される。以上の処理によって得られたカメラ視線ベクトル及びプロジェクタ視線ベクトルに基づき、第１の実施形態と同じ方法によって３次元座標が算出される。
【００７３】
以上のように、第２の実施形態では、レンズ歪みを表すパラメータが歪みのある画像座標を歪みのない画像座標に変換するときの係数である場合、プロジェクタ１０５の歪みを考慮して３次元形状計測を行う方法について説明した。
【００７４】
以上説明した実施形態では、プロジェクタ１０５を用いて時系列に異なる２値コードパターン光を照射する空間コード化法に基づく３次元形状計測においてプロジェクタ１０５のレンズ歪みを考慮する方法について説明した。しかし、３次元形状計測方法は空間コード化法に限るものではない。例えば位相シフト法等、空間コード化法と同様に縞状パターン光を使用する方法であれば、いかなる方法であってもよい。また、レンズを介して縞状パターン光を照射する方法であれば、レーザスリット光のような一次元ライン状パターン光を計測対象物に照射する方法であってもよい。
【００７５】
また、以上説明した実施形態では、プロジェクタ１０５によって照射される縞状パターン光の縞が縞状パターン光の画像データにおける水平方向である場合について説明した。しかし、プロジェクタ１０５によって照射されるパターン光は水平方向の縞状パターン光に限るものではなく、垂直方向の縞状パターン光等、他の向きのパターン光であってもよい。一次元ライン状パターン光のラインの向きについても同様である。垂直方向の縞状パターン光が照射される場合の、プロジェクタ視線ベクトルの算出は、次のようにして行われる。
【００７６】
先ず、３次元座標算出部１４０は、次の式１９により、プロジェクタ１０５によって投影される画像の水平方向の座標ｕpの正規化画像座標（歪みなし）ｘpを算出する。
【００７７】
【数１９】
0006041513.tif 000020
【００７８】
次に、３次元座標算出部１４０は、式１９を式４の第１式に代入することにより、次の式２０に示すｘp´、ｙp´に関する方程式を得る。
【００７９】
【数２０】
0006041513.tif 000021
【００８０】
次に、３次元座標算出部１４０は、第１の実施形態と同様に、式１０及び式２０をｘp´、ｙp´に関する連立方程式として解くことにより、ｘp´、ｙp´を算出することでプロジェクタ視線ベクトルを算出する。
【００８１】
さらに、以上説明した実施形態では、プロジェクタ１０５のレンズ歪みのモデルとして、５次までの放射方向の歪みと円周方向の歪みを有するモデルを想定していた。しかし、レンズ歪みのモデルはこれに限るものではない。例えば、円周方向の歪みがないモデルや、５次より低い次数の放射方向の歪み、または高い次数の放射方向の歪みを有するモデルであってもよい。レンズ歪みのモデルの放射方向の次数が異なる場合は、その次数に応じて式１１のｘp´の次数が変わる。例えば、式１１は、３次までのモデルの場合にはｘp´の３次方程式、７次までの場合にはｘp´の７次方程式となるため、それを解けばよい。一方、円周方向の歪みがない場合には、式１２の右辺が異なるだけの同様な方程式を得ることができるため、それを解けばよい。即ち、レンズ歪みのモデルが異なるとしても、上述したようにカメラ１００とプロジェクタ１０５間のエピポーラ拘束から得られる方程式とレンズ歪みモデルから得られる方程式を解くことにより、プロジェクタ視線ベクトルを算出することができる。
【００８２】
例えば、プロジェクタ１０５のレンズ歪みモデルとして、３次までの放射方向の歪みだけのモデルを用いる場合、式７は式２１のようになる。
【００８３】
【数２１】
0006041513.tif 000022
【００８４】
式２１と式１０とにより、式２２に示すｘp´に関する３次方程式が得られる。
【００８５】
【数２２】
0006041513.tif 000023
【００８６】
３次元座標算出部１４０は、式２２を用いてｘp´を算出することにより、プロジェクタ視線ベクトルを計算することができる。
【００８７】
上述した実施形態によれば、画像上での２次元位置が一意に決まらないパターン光を投影することによる３次元形状計測を高精度且つ高速に行うことができる。
【００８８】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００８９】
１００：カメラ、１０１：画像処理装置、１０５：プロジェクタ、１１０：画像入力部、１２０：対応付け部、１３０：３次元座標算出部、１４０：校正データ保存部
【図１】
0006041513.tif 000026
【図２】
0006041513.tif 000027
【図３】
0006041513.tif 000028
【図４】
0006041513.tif 000029
【図５】
0006041513.tif 000030
【図６】
0006041513.tif 000031
【図７】
0006041513.tif 000032