(57)【特許請求の範囲】
【請求項１】
撮像手段が撮像した、照明手段により照射パターンが照射された校正用物体の撮像画像を受け付ける画像受付手段と、
前記照射パターンに基づいて、前記撮像画像に示される校正用物体の、前記撮像画像上の２以上の位置それぞれと、前記照明手段により照射されたパターン画像上の、前記撮像画像上の位置に対応する２以上の位置と、を対応付けた対応情報を生成する対応付手段と、
前記校正用物体の実空間の２以上の位置の位置関係を示すスケール情報と、前記対応情報とに基づいて、前記パターン画像上の位置に対する前記撮像画像上の理論上の位置と、前記撮像画像上において実際に特定された位置と、の間の誤差を求め、前記誤差に基づいて、前記撮像手段と前記照明手段を利用した三次元計測に利用する前記照明手段のパラメータの概略値の補正量を算出する補正量算出手段と、
前記概略値を前記補正量分補正することにより、前記パラメータを算出するパラメータ算出手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記パラメータ算出手段は、前記パラメータとして、前記照明手段の、前記撮像手段に対する相対位置を算出することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記パラメータ算出手段は、前記パラメータとして、前記照明手段の、前記撮像手段に対する相対姿勢を算出すること特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記パラメータ算出手段は、前記パラメータとして、前記照明手段の内部パラメータを算出することを特徴とする請求項１乃至３何れか１項に記載の情報処理装置。
【請求項５】
前記画像受付手段は、実空間の、少なくとも前記撮像手段による撮像方向に異なる位置に配置された校正用物体が撮像された２以上の撮像画像を受け付け、
前記パラメータ算出手段は、実空間の撮像方向に異なる位置の位置関係を示すスケール情報と、前記対応情報とに基づいて、前記パラメータを算出することを特徴とする請求項１乃至４何れか１項に記載の情報処理装置。
【請求項６】
前記画像受付手段は、実空間の異なる位置に配置された校正用物体それぞれの撮像画像を受け付けることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記画像受付手段は、前記校正用物体としての球又は球の一部の前記撮像画像を受け付けることを特徴とする請求項５に記載の情報処理装置。
【請求項８】
前記画像受付手段は、前記校正用物体としての円柱の側面又は前記側面の一部の前記撮像画像を受け付けることを特徴とする請求項５に記載の情報処理装置。
【請求項９】
前記画像受付手段は、相互の位置関係が既知の、少なくとも前記校正用物体を構成する平面内の位置が異なる複数の指標が示された前記校正用物体の撮像画像を受け付け、
前記対応付手段は、前記撮像画像上の複数の前記指標の位置それぞれと、前記パターン画像上の、前記撮像画像上の位置に対応する２以上の位置と、を対応付けた前記対応情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項１０】
校正用物体に対し照射パターンを照射する照明手段と、
前記照射パターンが照射された校正用物体を撮像する撮像手段と、
前記撮像手段が撮像した撮像画像を受け付ける画像受付手段と、
前記照射パターンに基づいて、前記撮像画像に示される校正用物体の、前記撮像画像上の２以上の位置それぞれと、前記照明手段により照射されたパターン画像上の、前記撮像画像上の位置に対応する２以上の位置と、を対応付けた対応情報を生成する対応付手段と、
前記校正用物体の実空間の２以上の位置の位置関係を示すスケール情報と、前記対応情報とに基づいて、前記パターン画像上の位置に対する前記撮像画像上の理論上の位置と、前記撮像画像上において実際に特定された位置と、の間の誤差を求め、前記誤差に基づいて、前記撮像手段と前記照明手段を利用した三次元計測に利用する前記照明手段のパラメータの概略値の補正量を算出する補正量算出手段と、
前記概略値を前記補正量分補正することにより、前記パラメータを算出するパラメータ算出手段と
を有することを特徴とする三次元計測システム。
【請求項１１】
情報処理装置が実行する情報処理方法であって、
撮像手段が撮像した、照明手段により照射パターンが照射された校正用物体の撮像画像を受け付ける画像受付ステップと、
前記照射パターンに基づいて、前記撮像画像に示される校正用物体の、前記撮像画像上の２以上の位置それぞれと、前記照明手段により照射されたパターン画像上の、前記撮像画像上の位置に対応する２以上の位置と、を対応付けた対応情報を生成する対応付ステップと、
前記校正用物体の実空間の２以上の位置の位置関係を示すスケール情報と、前記対応情報とに基づいて、前記パターン画像上の位置に対する前記撮像画像上の理論上の位置と、前記撮像画像上において実際に特定された位置と、の間の誤差を求め、前記誤差に基づいて、前記撮像手段と前記照明手段を利用した三次元計測に利用する前記照明手段のパラメータの概略値の補正量を算出する補正量算出ステップと、
前記概略値を前記補正量分補正することにより、前記パラメータを算出するパラメータ算出ステップと
を含むことを特徴とする情報処理方法。
【請求項１２】
三次元計測システムが実行する情報処理方法であって、
撮像手段が撮像した、照明手段により照射パターンが照射された校正用物体の撮像画像を受け付ける画像受付ステップと、
前記照射パターンに基づいて、前記撮像画像に示される校正用物体の、前記撮像画像上の２以上の位置それぞれと、前記照明手段により照射されたパターン画像上の、前記撮像画像上の位置に対応する２以上の位置と、を対応付けた対応情報を生成する対応付ステップと、
前記校正用物体の実空間の２以上の位置の位置関係を示すスケール情報と、前記対応情報とに基づいて、前記パターン画像上の位置に対する前記撮像画像上の理論上の位置と、前記撮像画像上において実際に特定された位置と、の間の誤差を求め、前記誤差に基づいて、前記撮像手段と前記照明手段を利用した三次元計測に利用する前記照明手段のパラメータの概略値の補正量を算出する補正量算出ステップと、
前記概略値を前記補正量分補正することにより、前記パラメータを算出するパラメータ算出ステップと
を含むことを特徴とする情報処理方法。
【請求項１３】
コンピュータを、
撮像手段が撮像した、照明手段により照射パターンが照射された校正用物体の撮像画像を受け付ける画像受付手段と、
前記照射パターンに基づいて、前記撮像画像に示される校正用物体の、前記撮像画像上の２以上の位置それぞれと、前記照明手段により照射されたパターン画像上の、前記撮像画像上の位置に対応する２以上の位置と、を対応付けた対応情報を生成する対応付手段と、
前記校正用物体の実空間の２以上の位置の位置関係を示すスケール情報と、前記対応情報とに基づいて、前記パターン画像上の位置に対する前記撮像画像上の理論上の位置と、前記撮像画像上において実際に特定された位置と、の間の誤差を求め、前記誤差に基づいて、前記撮像手段と前記照明手段を利用した三次元計測に利用する前記照明手段のパラメータの概略値の補正量を算出する補正量算出手段と、
前記概略値を前記補正量分補正することにより、前記パラメータを算出するパラメータ算出手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
画像を用いた三次元計測技術は、実物からの三次元モデル生成や物体の位置姿勢計測等様々な目的に利用することができる。それらの技術の中で、計測の信頼性が高いことから、アクティブ方式が広く利用されている。アクティブ方式とは、カメラに対する位置及び姿勢が既知である照明装置から対象にパターン光を照射し、三角測量の原理に基づいて計測を行うものである。照明装置としては、投影型の画像表示装置であるプロジェクタを用いるのが一般的である。
【０００３】
カメラとプロジェクタを用いて三次元計測を行うためには、カメラ及びプロジェクタの内部パラメータ及びカメラに対するプロジェクタの位置及び姿勢を事前にキャリブレーションしておく必要がある。これらのキャリブレーションを行う際には、三次元計測結果のスケールを実際のスケールに合わせるため、座標が既知である指標が配置された校正用の物体を用いるのが一般的である。非特許文献１には、カメラの内部パラメータをキャリブレーションする方法として、校正物体として複数の指標が配置された平面を用いる方法が開示されている。プロジェクタの内部パラメータのキャリブレーションも同様の方法により行うことができる。
【０００４】
ただし、プロジェクタは照明装置であるため、プロジェクタの画像上での指標の座標を直接得ることができない。これに対し、特許文献１には、プロジェクタが照射したパターンを撮像した画像をもとに、プロジェクタ画像上での指標の座標を推定する技術が開示されている。非特許文献２には、平面上の指標を用いて平面に対するカメラの位置及び姿勢を推定し、その推定結果から求まるカメラ画像上の座標から平面上の座標への変換を用いてプロジェクタが照射するパターンの平面上の座標を推定する技術が開示されている。
【０００５】
非特許文献３には、平面上の指標を用いたカメラの相対的な位置及び姿勢のキャリブレーション方法が開示されている。カメラに対するプロジェクタの位置及び姿勢のキャリブレーションは、非特許文献３に開示されるキャリブレーション方法と同様の方法により行うことができる。ただし、内部パラメータのキャリブレーションと同様にプロジェクタ画像における指標の座標を直接得ることができないため、指標のプロジェクタ画像上での座標や照射するパターンの平面上の座標を推定する必要がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４９１７３５１号公報
【非特許文献】
【０００７】
【非特許文献１】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.
【非特許文献２】D.  Lanman  and  G.  Taubin,  "Build  your  own  3D  scanner:  3D  photography  for  beginners,"  ACM  SIGGRAPH  '09  courses,  2009.
【非特許文献３】G.  Bradski  and  A.  Kaehler,  「詳解OpenCV」,  オライリー・ジャパン,  2009.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述の校正用物体上の指標のプロジェクタ画像上での座標を推定する方法や、照射パターンの平面上の座標を推定する方法は、間接的に算出された座標を利用する方法であるためキャリブレーション結果の精度が低い。
【０００９】
本発明はこのような問題点に鑑みなされたもので、三次元位置計測におけるプロジェクタのパラメータを高精度に校正することを目的とする。
【課題を解決するための手段】
【００１０】
そこで、本発明は、情報処理装置であって、撮像手段が撮像した、照明手段により照射パターンが照射された校正用物体の撮像画像を受け付ける画像受付手段と、前記照射パターンに基づいて、前記撮像画像に示される校正用物体の、前記撮像画像上の２以上の位置それぞれと、前記照明手段により照射されたパターン画像上の、前記撮像画像上の位置に対応する２以上の位置と、を対応付けた対応情報を生成する対応付手段と、前記校正用物体の実空間の２以上の位置の位置関係を示すスケール情報と、前記対応情報とに基づいて、前記パターン画像上の位置に対する前記撮像画像上の理論上の位置と、前記撮像画像上において実際に特定された位置と、の間の誤差を求め、前記誤差に基づいて、前記撮像手段と前記照明手段を利用した三次元計測に利用する前記照明手段のパラメータの概略値の補正量を算出する補正量算出手段と、前記概略値を前記補正量分補正することにより、前記パラメータを算出するパラメータ算出手段とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、三次元位置計測におけるプロジェクタのパラメータを高精度に校正することができる。
【図面の簡単な説明】
【００１２】
【図１】三次元計測システムを示す図である。
【図２】制御装置のハードウェア構成を示す図である。
【図３】制御装置及び校正装置のソフトウェア構成を示す図である。
【図４】校正用物体の説明図である。
【図５】カメラ座標系及びプロジェクタ座標系を示す図である。
【図６】カメラ及びプロジェクタ歪みの説明図である。
【図７】校正処理を示すフローチャートである。
【図８】パラメータ算出処理示すフローチャートである。
【図９】第２の実施形態に係る校正用物体の一例を示す図である。
【図１０】第２の実施形態に係る制御装置及び校正装置のソフトウェア構成を示す図である。
【図１１】第２の実施形態に係る校正処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について図面に基づいて説明する。
【００１４】
（第１の実施形態）
第１の実施形態に係る三次元計測システムは、複数の平面から構成される校正用物体を用いて、プロジェクタの内部パラメータ及びカメラに対するプロジェクタの位置（相対位置）及び姿勢（相対姿勢）のキャリブレーションを行う。本実施形態に係る三次元計測システムは、スケール情報として、校正用物体としての平面間の距離を利用する。また、三次元計測システムは、キャリブレーションとして、プロジェクタの内部パラメータ、カメラに対するプロジェクタの位置及び姿勢、カメラに対する平面パラメータの概略値を補正する。ここで、プロジェクタの内部パラメータ、カメラに対するプロジェクタの位置及び姿勢、カメラに対する平面パラメータの概略値は、三次元計測システムに与えられるものとする。また、カメラの内部パラメータは、例えば非特許文献１で開示される方法により予めキャリブレーションされているものとする。
【００１５】
図１は、三次元計測システム１０を示す図である。三次元計測システム１０は、三次元計測装置１００と、情報処理装置としての校正装置１１０とを有している。三次元計測装置１００と校正装置１１０は、通信可能に接続している。三次元計測装置１００は、撮像部としてのカメラ１０１と、照明部としてのプロジェクタ１０２と、制御部１０３とを有している。カメラ１０１及びプロジェクタ１０２の位置は、固定されている。すなわち、カメラ１０１とプロジェクタ１０２の間の位置関係及びカメラ１０１による撮像方向とプロジェクタ１０２による投影方向の関係（以下姿勢関係と称する）は、固定である。
【００１６】
カメラ１０１は、濃淡画像又はカラー画像を撮像するカメラである、プロジェクタ１０２は、濃淡又はカラー画像を照射する投影型のプロジェクタである。プロジェクタ１０２が照射する照射パターンは、制御装置１０３によって制御される。本実施形態においては、プロジェクタ１０２は空間コード化法（井口，佐藤，「三次元画像計測」，昭晃堂，１９９０）で利用される縞状の照射パターンを投影するものとする。空間コード化法は、複数の画像を投影・撮像するものである。プロジェクタ１０２による照射パターンの投影の制御やカメラ１０１による、照射パターンが投影された物体の撮像は、制御装置１０３が行う。校正装置１１０は、カメラ１０１に対するプロジェクタ１０２の位置及び姿勢と、プロジェクタ１０２の内部パラメータのキャリブレーションを行う。
【００１７】
図２は、制御装置１０３のハードウェア構成を示す図である。制御装置１０３は、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、ＨＤＤ２０４と、表示部２０５と、入力部２０６とを有している。ＣＰＵ２０１は、ＲＯＭ２０２に記憶された制御プログラムを読み出して各種処理を実行する。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２０４は、画像データや各種プログラム等各種情報を記憶する。表示部２０５は、各種情報を表示する。入力部２０６は、キーボードやマウスを有し、ユーザによる各種操作を受け付ける。なお、後述する制御装置１０３の機能や処理は、ＣＰＵ２０１がＲＯＭ２０２又はＨＤＤ２０４に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。なお、校正装置１１０のハードウェア構成は、図２を参照しつつ説明した制御装置１０３のハードウェア構成と同様である。
【００１８】
図３は、制御装置１０３及び校正装置１１０のソフトウェア構成を示す図である。制御装置１０３は、撮像制御部３００と、照明制御部３０１と、校正情報保存部３０２と、座標算出部３０３とを有している。撮像制御部３００は、カメラ１０１を制御する。照明制御部３０１は、プロジェクタ１０２を制御する。校正情報保存部３０２は、カメラ１０１及びプロジェクタ１０２の内部パラメータとカメラに対するプロジェクタの位置及び姿勢を保存している。座標算出部３０３は、照射パターンが投影された物体が撮像して得られたパターン撮像画像を元に、校正情報保存部３０２に保存されている校正情報を用いて三次元計測を行う。
【００１９】
校正装置１１０は、画像受付部３１０と、パターン対応付部３１１と、スケール情報保存部３１２と、概略値受付部３１３と、パラメータ算出部３１４とを有している。画像受付部３１０は、三次元計測装置１００から、カメラ１０１により撮像されたパターン撮像画像の入力を受け付ける。なお、他の例としては、画像受付部３１０は、不図示の記憶媒体に保存されたパターン撮像画像の入力を受け付けてもよい。
【００２０】
パターン対応付部３１１は、複数の縞の照射パターンの画像を照射・撮像する空間コード化法によりプロジェクタ１０２が照射する画像上の位置座標とカメラ１０１が撮像する画像上の位置座標との対応付けを行う。以下、プロジェクタが照射する画像をプロジェクタ画像（パターン画像）、プロジェクタ画像上の位置座標をプロジェクタ画像座標と呼ぶ。同様に、カメラが撮像する画像をカメラ画像（撮像画像）、カメラ画像上の位置座標をカメラ画像座標と呼ぶ。パターン対応付部３１１は、具体的にはプロジェクタ１０２が照射する照射パターン内の点に相当する点をカメラ画像から検出する。そして、パターン対応付部３１１は、対応付けの結果として得られた、各点毎のカメラ画像座標とプロジェクタ画像座標の組を対応情報として保持する。
【００２１】
対応付けは、次のように行われる。すなわち、まず、プロジェクタ１０２による照射パターンの水平ラインと撮像画像上の各画素との対応をとるために、プロジェクタ１０２は、複数の水平方向の二値の縞の照射パターンを時系列に照射する。縞の照射パターンは例えばグレイコードパターンである。そしてカメラ１０１は、各照射パターンの撮像画像を得る。パターン対応付部３１１は、各撮像画像を二値化することにより、画素毎の符号を得る。パターン対応付部３１１は、この符号を対応する照射パターンの符号と照合することで、撮像画像上の各画素とプロジェクタ画像上の水平ラインとを対応付けることができる。パターン対応付部３１１は、同様の処理を垂直方向についても行うことで、撮像画像上の各画素とプロジェクタ画像上の垂直ラインとを対応付けることができる。
【００２２】
パターン対応付部３１１は、これらの結果をもとに、撮像画像上においてプロジェクタ画像の水平／垂直ラインの境界を検出することで、プロジェクタ画像上の境界の座標と撮像画像上の座標を対応付ける。パターン対応付部３１１は、さらに、水平／垂直方向の境界の交点を検出することで、カメラ画像上における交点の座標とプロジェクタ画像上における交点の座標を対応付けることができる。
【００２３】
すなわち、パターン対応付部３１１は、三次元計測装置１００の制御装置１０３から得られる照射パターンの情報をもとに、プロジェクタ１０２が照射する水平・垂直方向の照射パターンの交点のプロジェクタ画像座標をカメラ画像座標に対応付ける。さらに、パターン対応付部３１１は、各交点がどの位置に配置された平面に照射されたのかをスケール情報保存部３１２に保存されている平面の識別子により決定し、平面の識別子（平面ＩＤ）をプロジェクタ画像座標とカメラ画像座標の組に紐付ける。
【００２４】
なお、プロジェクタ画像座標とカメラ画像座標の対応付け方法は空間コード化法に限るものではなく、プロジェクタ画像座標とカメラ画像座標の対応が1対1でとれれば他の対応付け方法であってもよい。パターン対応付部３１１は、例えば、位相シフト法により対応付けを行ってもよいし、疑似ランダムドットパターンのような２次元パターンを利用して対応付けを行ってもよい。
【００２５】
スケール情報保存部３１２は、スケール情報として、キャリブレーションに利用する校正用物体に関する情報を保持する。スケール情報保存部３１２は、校正用物体を構成する平面の数と各平面の平面ＩＤ、各平面間の距離に関する情報を保持する。すなわち、スケール情報は、校正用物体の実空間の２以上の位置の位置関係を示す情報である。図４は、本実施形態に係る校正用物体４００の説明図である。図４（ａ）は、校正用物体４００を斜め上から見た図であり、図４（ｂ）は、校正用物体４００の側面図である。本実施形態に係る校正用物体は、複数位置に配置される平面とする。各位置に配置された平面は、平行であると仮定する。本実施形態では、移動量（ΔＺ）を制御可能な移動ステージに一つの平面を固定し、固定された平面を移動ステージによって同一方向に等間隔で移動させることによって複数の平面からなる校正用物体を実現する。なお、各位置に配置された平面は、厳密な意味で平行である必要はない。許容される平面の平行性はキャリブレーションに要求される精度に依存する。
【００２６】
また、本実施形態においては、平面ＩＤは、基準となる位置からの移動ステージの移動量とする。平面間の距離に関する情報としては、移動ステージに与えた移動量を保持する。なお、校正用物体の実現方法はこれに限るものではなく、他の例としては、物理的に複数の平行な平面を構成する物体を用いてもよい。
【００２７】
また、本実施例形態においては、移動ステージによる平面の移動方向は平面の法線方向と一致しているものとする。ここで、平面の法線方向は、カメラ１０１の撮像方向に直交しないものとする。すなわち、本実施形態に係るスケール情報は、実空間において、カメラ１０１の撮像方向に異なる２以上の異なる位置の位置関係を示す情報である。また、カメラ１０１により得られるパターン撮像画像は、実空間において、カメラ１０１の撮像方向に異なる位置に配置された校正用物体（平面）それぞれの画像となる。なお、移動方向は、法線方向の移動を含むものであればよく、法線方向に限定されるものではない。ただし、この場合も、法線方向の移動量が既知であるものとする。法線方向の移動量の計測方法としては、例えば接触式の三次元座標計測機を用いて計測される平面上の点の三次元座標から移動前と移動後の平面パラメータを算出して平面間の距離を計測してもよい。
【００２８】
概略値受付部３１３は、プロジェクタ１０２の内部パラメータ、カメラ１０１に対するプロジェクタ１０２の位置及び姿勢、カメラ１０１に対する平面パラメータの概略値の入力を受け付ける。パラメータ算出部３１４は、パターン対応付部３１１によって得られたプロジェクタ画像座標、カメラ画像座標及び校正物体中の平面の対応をもとに、プロジェクタ１０２の内部パラメータ及びカメラ１０１に対するプロジェクタ１０２の位置及び姿勢を算出する。そして、プロジェクタの内部パラメータ及びプロジェクタの位置及び姿勢から、プロジェクタの校正に利用する校正情報を算出し、これを、校正情報保存部３０２に保存する。
【００２９】
次に、本実施例におけるカメラ１０１とプロジェクタ１０２の投影モデルについて説明する。まずカメラ１０１の投影モデルについて説明する。図５に示すように、カメラ座標系（３次元）は、Ｚ軸がカメラ１０１の光軸と一致し、Ｘ軸、Ｙ軸がそれぞれカメラ画像の水平方向、垂直方向と平行になるようにとる。プロジェクタ座標系（３次元）もカメラ座標系と同様にとる。カメラ座標系における３次元座標が（Ｘc，Ｙc，Ｚc）の点は、ピンホールカメラモデルによって（式１）に示す正規化座標（ｘc，ｙc）に投影される。
【数１】
0006486083.tif 000002
【００３０】
ここで正規化座標とは、カメラ座標系においてＺ＝１の位置に画像面を設定したときの画像面上での位置である。正規化画像座標系の原点は光軸（Ｚ軸）と画像面の交点であり、Ｘ軸、Ｙ軸はそれぞれ画像の水平方向、垂直方向と平行であるとする。正規化画像座標が（ｘc，ｙc）の点の実画像上での座標（ピクセル座標）（ｕc，ｖc）は（式２）で表される。
【数２】
0006486083.tif 000003
ここで、ｆcx，ｆcyは夫々画像の水平・垂直方向の焦点距離、Ｃcx，Ｃcyは画像中心の座標（正規化画像座標系の原点の実画像上での座標（以下、ピクセル座標））である。
【００３１】
実際のカメラ１０１を通して撮像された場合のピクセル座標(ｕ'c，ｖ'c)はレンズ歪みの影響が加わった座標である。このため、（式３）に示すように正規化画像座標(ｘ'c，ｙ'c)に変換された後、（式４）のようにレンズ歪みの影響が含まれていない正規化画像座標（ｘc，ｙc）に補正される。
【数３】
0006486083.tif 000004
ただし、
【数４】
0006486083.tif 000005
である。また、ｋc1，ｋc2，ｋc3は、カメラ１０１の半径方向の歪み係数、ｐc1，ｐc2は、接線方向の歪み係数である。歪み係数と焦点距離、画像中心を含めてカメラ１０１の内部パラメータと呼ぶ。（式４）で補正された正規化画像座標を（式２）によりピクセル座標に変換することで、歪みのないピクセル座標(ｕc，ｖc)を算出することができる。
【００３２】
次にプロジェクタ１０２の投影モデルについて説明する。プロジェクタ１０２が照射する画像上の点のピクセル座標を(ｕp，ｖp)とする。ピクセル座標(ｕp，ｖp)は、（式５）により正規化画像座標（ｘp，ｙp）に変換される。
【数５】
0006486083.tif 000006
ここで、ｆpx、ｆpyは夫々画像の水平・垂直方向の焦点距離、ｃpx、ｃpyは画像中心の座標（正規化画像座標系の原点のピクセル座標）である。レンズを用いた光学系としてプロジェクタ１０２を見た場合、カメラ１０１との違いはレンズを通して画像を入力するか出力するかの違いだけであると言える。そのため、プロジェクタ１０２の投影モデルは基本的にはカメラ１０１と同様のモデルによって記述することができる。
【００３３】
ここで、図６を参照しつつ、カメラ１０１及びプロジェクタ１０２の歪みについて説明する。図６（ａ）は、カメラの歪みを示す図である。図６（ｂ）は、プロジェクタの歪みを示す図である。このように、プロジェクタ１０２の場合には、レンズへの入出力がカメラ１０１と逆になる。このため、歪みなしの正規化画像座標（ｘp，ｙp）と歪みありの正規化画像座標（ｘ'p，ｙ'p）との関係もカメラ１０１と逆になる。すなわち、（ｘp，ｙp）と（ｘ'p，ｙ'p）との関係は、（式６）のようになる。
【数６】
0006486083.tif 000007
ただし、
【数７】
0006486083.tif 000008
である。また、ｋp1，ｋp2，ｋp3はプロジェクタ１０２の半径方向の歪み係数、ｐp1，ｐp2は接線方向の歪み係数である。歪み係数と焦点距離、画像中心を含めてプロジェクタ１０２の内部パラメータと呼ぶ。
【００３４】
次に、プロジェクタ１０２から出射する光線が空間中の平面に投影されてカメラ１０１に入射する場合の、プロジェクタ画像のピクセル座標のカメラ画像のピクセル座標への変換について説明する。プロジェクタ座標（３次元）Ａpからカメラ座標（３次元）Ａcへの座標変換は、（式７）のように表すことができる。
【数８】
0006486083.tif 000009
ここで、Ｒcpは、回転を表す３×３行列、ｔcpは、平行移動を表す３次元ベクトルである。言い換えれば、Ｒcpはカメラ１０１に対するプロジェクタ１０２の姿勢を表す３×３行列、ｔcpは位置を表す３次元ベクトルである。プロジェクタ座標系の原点であるプロジェクタ１０２の光学中心から出て画像面Ｚ＝１上の点ｌp＝（ｘp，ｙp，１）tを通る直線は、カメラ座標系においては、（式８）のように表せる。
【数９】
0006486083.tif 000010
ただし、ｌc＝Ｒcpｌpであり、αは任意の実数である。校正用物体を構成するある平面のカメラ座標系における方程式を（式９）で表す。
【数１０】
0006486083.tif 000011
【００３５】
ここでｎc＝（ｎcx，ｎcy，ｎcz）tは平面の法線ベクトル、ｄcは原点から平面までの符号付き距離（法線ベクトル方向が正）である。また、Ａc＝（Ｘc，Ｙc，Ｚc）tである。プロジェクタ１０２から照射される光線（式８）が（式９）で表される平面と交わる場合、（式８）を（式９）に代入することにより、αは次のようになる。
【数１１】
0006486083.tif 000012
そのため、プロジェクタ１０２から照射される光線と該平面との交点のカメラ座標は（式１０）のように表すことができる。
【数１２】
0006486083.tif 000013
【００３６】
図７は、校正装置１１０による校正処理を示すフローチャートである。なお、校正処理の実行前に以下に示す初期化処理が完了しているものとする。初期化処理において、校正装置１１０は、校正用物体に関する情報を不図示の記憶装置から読み込んで、スケール情報保存部３１２に保存する。前述したように、スケール情報保存部３１２が保存する情報は、校正用物体を構成する平面の数と、基準となる平面の位置と、平面間の距離である。ここで、各平面は、カメラ１０１の撮像方向に異なる位置本実施形態においては、三次元計測装置１００は、校正用物体としての平面を、移動ステージを用いて等間隔に移動させ、各位置においてパターン撮像画像の撮像を行う。すなわち、隣接する平面間の距離は等間隔である。なお、平面間の距離は、等間隔でなくともよい。その場合には、例えば接触式の３次元計測機等を用いて平面間の距離をあらかじめ計測しておき、その値をスケール情報保存部３１２に保持させてもよい。
【００３７】
さらに、初期化処理においては、概略値受付部３１３を介して、プロジェクタ１０２の内部パラメータ、カメラ１０１とプロジェクタ１０２の相対的な位置及び姿勢、カメラ１０１に対する平面パラメータの概略値の入力を受け付ける。本実施形態においては、プロジェクタ１０２の内部パラメータ、カメラ１０１に対するプロジェクタ１０２の位置及び姿勢の概略値としては設計値が入力される。また、カメラ１０１に対する平面パラメータの概略値としては、校正用物体を構成する平面上に位置関係が既知な指標を配置し、指標の画像座標と平面上の座標との対応をもとに推定した値が用いられる。
【００３８】
校正処理においては、まずＳ７００において、画像受付部３１０は、カメラ１０１により撮像されたパターン撮像画像の入力を受け付ける（画像受付処理）。本実施形態においては、空間コード化法において、１回の計測で複数の照射パターンを照射することに対応し、画像受付部３１０は、複数のパターン撮像画像を受け付ける。なお、校正用物体としてカメラ１０１により撮像される複数のパターン撮像画像に示される平面は、Ｚ軸の方向、すなわちカメラ１０１の撮像方向に異なる位置に配置されたものである。すなわち、画像受付部３１０が受け付ける撮像画像は、撮像方向に異なる位置が撮像された撮像画像である。
【００３９】
次に、Ｓ７０１において、パターン対応付部３１１は、Ｓ７００において受け付けたパターン撮像画像をもとに、照射された水平・垂直方向の照射パターンの、複数の交点のカメラ画像座標とプロジェクタ画像座標とを対応付けて、対応情報を生成する。ここで、Ｓ７０１の処理は、撮像画像上の２以上の位置それぞれと、プロジェクタ１０２により照射されたプロジェクタ画像上（パターン画像上）の、撮像装置上の位置に対応する２以上の位置と、を対応付ける対応付処理の一例である。対応付けは次のように行う。まず、パターン対応付部３１１は、水平・垂直方向の縞パターンが照射された校正用物体を撮像した画像から、それぞれの方向のパターンの境界を空間コード化法により検出する。次に、パターン対応付部３１１は、各方向での境界検出の結果をもとに、パターンの境界の交点のカメラ画像座標を算出する。
【００４０】
そして、パターン対応付部３１１は、算出されたカメラ画像座標を、予めわかっているパターンの境界の交点のプロジェクタ画像座標と対応付ける。パターン対応付部３１１は、このようにして得られた各交点のプロジェクタ画像座標とカメラ画像座標の対応に、さらに交点が投影されている校正用物体中の平面を対応付けて、対応情報として保持する。本実施形態においては、パターン対応付部３１１は、各パターン撮像画像が撮像された時の移動ステージの基準となる位置からの移動量を記録しておく。そして、パターン対応付部３１１は、スケール情報保存部３１２に保存されている移動量と平面ＩＤとの対応に基づいて平面との対応付けを行う。対応点の情報は、交点のプロジェクタ画像座標
【数１３】
0006486083.tif 000014
と、カメラ画像座標
【数１４】
0006486083.tif 000015
と、校正用物体中の平面ＩＤ（πi）と、して保持される。
【００４１】
なお、カメラ画像座標とプロジェクタ画像座標とを平面に対応付けるための処理は、実施形態に限定されるものではない。他の例としては、パターン対応付部３１１は、校正装置１１０の入力部２０６に対して入力されたユーザからの指示に従い、座標と平面との対応付けを行ってもよい。
【００４２】
次に、Ｓ７０２において、パラメータ算出部３１４は、Ｓ７０１において得られた対応点の情報（ａpi，ａci，πi）をもとに、プロジェクタ１０２の内部パラメータ、カメラ１０１に対するプロジェクタ１０２の位置及び姿勢を算出する。パラメータ算出部３１４は、対応点の情報を平面ＩＤ（πi）毎に分けて処理を行う。校正用物体を構成するＮ個の平面のうち１つの平面を基準平面Ｐ0とし、それ以外の平面をＰ1〜ＰN-1とする。カメラ座標系における基準平面Ｐ0の方程式を
【数１５】
0006486083.tif 000016
とする。ここで、平面パラメータである法線ベクトルｎc＝（ｎcx，ｎcy，ｎcz）t及び法線ベクトル方向の距離ｄcは、未知パラメータである。既知である平面間の距離をΔdとすると、基準平面を含めた平面の方程式は、（式１１）のように表すことができる。
【数１６】
0006486083.tif 000017
【００４３】
平面の法線ベクトルが共通でありかつ平面間の距離が既知であるため、平面に関する未知パラメータは、基準平面Ｐ0の法線ベクトルと法線ベクトル方向の距離ｄcとなる。なお、基準平面の数は必ずしも１つでなくてもよく、複数あってもよい。その場合には、各基準平面に平行な平面が存在する校正用物体を用い、各基準平面の平面パラメータを未知パラメータとして推定する。
【００４４】
プロジェクタ画像上の座標ａpiに対応するカメラ画像上の正規化画像座標を
Ｂci（＝［ｘci，ｙci］t）
とする。正規化画像座標は、（式１）、（式５）、（式６）、（式１０）より、プロジェクタ画像座標ａpi、プロジェクタ１０２の内部パラメータ、カメラ１０１に対するプロジェクタ１０２の位置及び姿勢、平面パラメータｐの関数となる。これは、（式１２）のように表される。
【数１７】
0006486083.tif 000018
ここで、Ｋpはプロジェクタ１０２の内部パラメータ（９自由度）を表しており、
Ｋｐ＝［ｆpx  ｆpy  ｃpx ｃpy ｋp1 ｋp2 ｋp3 Ｄp1 Ｄp2］t
である。
【００４５】
Ｓcpは、カメラ１０１とプロジェクタ１０２の相対位置姿勢（６自由度）を表しており、
Ｓcp＝［ｔx  ｔy  ｔz  ωx  ωy  ωz］t
である。ｔx，ｔy，ｔzは位置を表し、ωx，ωy，ωzは姿勢を表す。本実施形態においては、ωx，ωy，ωzは方向が回転軸を表しノルムが回転角を表す３次元ベクトルであるとする。しかしながら、姿勢の表現はこれに限るものではなく、例えば、オイラー角による姿勢表現における各軸周りの回転角であってもよい。
【００４６】
平面パラメータpは基準平面を表す３自由度のパラメータであり
ｐ＝［ｒ1  ｒ2 ｄc］t
と表す。ｒ1,ｒ2は基準平面の法線ベクトルｎcの方向を表す２自由度のパラメータである。本実施形態においては、平面の法線ベクトルをＺ軸と定義した時のＸ軸、Ｙ軸まわりの回転量を表す。また、ｄcは法線ベクトル方向の距離である。
【００４７】
Ｓ７０２においては、パラメータ算出部３１４は、プロジェクタ１０２の内部パラメータ、カメラ１０１に対するプロジェクタ１０２の位置及び姿勢、平面パラメータを未知パラメータとして推定する。具体的には、パラメータ算出部３１４は、（式１２）により計算される座標と、カメラ画像上で検出された交点の座標の誤差が最小となるように、未知パラメータを推定する。なお、パラメータ算出部３１４は、カメラ画像上で検出された交点の座標(ｕ'c，ｖ'c)を、（式３）、（式４）を用いて予め歪みの影響が含まれていない正規化画像座標（ｘc，ｙc）に変換しておく。
【００４８】
パラメータ算出部３１４は、（式１３）により示される評価関数が最小となるように非線形最適化によって未知パラメータを算出する。
【数１８】
0006486083.tif 000019
ここで、ｘci，ｙciは、（式１２）によって計算される座標である。
【数１９】
0006486083.tif 000020
は、カメラ画像上で検出された座標である。Ｍは、Ｓ７０１において対応付けられた交点の数である。
【００４９】
図８は、パラメータ算出部３１４によるパラメータ算出処理（Ｓ７０２）における詳細な処理を示すフローチャートである。まず、Ｓ８００において、パラメータ算出部３１４は、概略値受付部３１３から概略値を取得する。なお、プロジェクタ１０２の内部パラメータの概略値、カメラ１０１とプロジェクタ１０２の相対位置姿勢の概略値、平面パラメータの概略値をそれぞれ
【数２０】
0006486083.tif 000021
と表す。
【００５０】
次に、Ｓ８０１において、パラメータ算出部３１４は、パラメータ算出のための係数行列及び誤差ベクトルの算出を行う。ここで、係数行列と誤差ベクトルについて説明する。（式１２）を（式１４）のように、線形近似する。
【数２１】
0006486083.tif 000022
ただし、
【数２２】
0006486083.tif 000023
である。（式１４）を（式１３）に代入し、各パラメータで微分したものを０とおくと、（式１５）が得られる。
【数２３】
0006486083.tif 000024
ただし、
【数２４】
0006486083.tif 000025
である。
【００５１】
Ｓ８０１において、パラメータ算出部３１４は、（式１５）に示す係数行列Ｊ及び誤差ベクトルｅを算出する。パラメータ算出部３１４は、（式１）、（式１０）、（式６）、（式５）をもとにｘci，ｙciの偏微分を算出することにより係数行列Ｊを求める。パラメータ算出部３１４はまた、未知パラメータの概略値を（式１）、（式１０）、（式６）、（式５）に代入することにより誤差ベクトルｅを求める。
【００５２】
次に、Ｓ８０２において、パラメータ算出部３１４は、係数行列Ｊ及び誤差ベクトルｅから、未知パラメータの補正ベクトルｇを算出する。パラメータ算出部３１４は、（式１６）により、補正ベクトルｇを算出する。なお、（式１６）は、（式１５）より得られる。
【数２５】
0006486083.tif 000026
【００５３】
次に、Ｓ８０３において、パラメータ算出部３１４は、Ｓ８０２において得られた補正ベクトルｇをもとに、未知パラメータの概略値を次のように、補正量分補正する。
【数２６】
0006486083.tif 000027
【００５４】
次に、Ｓ８０４において、パラメータ算出部３１４は、最適化計算が収束したか否かを判定する。パラメータ算出部３１４は、（式１３）により算出される評価関数の値の変化に基づいて、この判定を行う。パラメータ算出部３１４は、変化量が予め定めた閾値より小さい場合には、収束したと判定する。パラメータ算出部３１４は、変化量が閾値以上の場合には、収束していないと判定する。パラメータ算出部３１４は、収束したと判定した場合には（Ｓ８０４でＹＥＳ）、処理をＳ８０５へ進める。パラメータ算出部３１４は、収束していないと判定した場合には（Ｓ８０４でＮＯ）、処理をＳ８０１へ進める。Ｓ８０５において、パラメータ算出部３１４は、算出したプロジェクタ１０２の内部パラメータ、カメラ１０１に対するプロジェクタ１０２の位置及び姿勢に関する情報を、三次元計測装置１００に送信する。送信された情報は、校正情報保存部３０２に記録される。以上で、パラメータ算出処理（Ｓ７０２）が終了する。
【００５５】
なお、Ｓ７０２の処理は、校正用物体としての複数の平面間の距離を示すスケール情報と、対応情報とに基づいて、プロジェクタ１０２のパラメータを算出するパラメータ算出処理の一例である。また、Ｓ７０２の処理は、プロジェクタ画像上の位置に対応するパターン撮像画像上の理論上の位置と、撮像画像上において実際に特定された位置との間の誤差に基づいて、補正量（補正ベクトルｇ）を算出する補正量算出処理の一例である。
【００５６】
校正処理が終了すると、三次元計測装置１００は、計測対象物の三次元計測を行う。三次元計測においては、まずプロジェクタ１０２は、計測対象物に縞の照射パターンを照射する。そして、カメラ１０１は、照射パターンが撮像されたパターン撮像画像を得る。そして、制御装置１０３は、空間コード化法による三次元計測を行う。座標算出部３０３は、パターン撮像画像をもとに、制御装置１０３に保存された校正情報（パラメータ）を利用して計測対象物の三次元座標を算出する。
【００５７】
以上のように、第１の実施形態に係る校正装置１１０は、複数の平面からなる校正用物体を利用し、平面間の距離をスケールに関する情報（スケール情報）として利用することにより、プロジェクタ１０２のキャリブレーションを高精度に行うことができる。スケール情報は、スケールが既定できるものであればどのようなものであってもよい。その一例が第１の実施形態において説明した、平面間の距離である。すなわち、第１の実施形態に係る校正装置１１０は、Ｚ軸方向に異なる位置に配置された校正用物体のパターン撮像画像と、Ｚ軸方向に異なる位置関係を示すスケール情報と、を利用して、キャリブレーションを行う。プロジェクタ１０２から照射されるパターンを高密度のパターンにすることで多くの対応点の情報が得られる。この情報とともに平面間の距離をスケールの情報として用いることで、物理スケールにあった高精度なキャリブレーションを行うことが可能である。
【００５８】
（第２の実施形態）
第２の実施形態に係る三次元計測システム１０は、第１の実施形態にかかる三次元計測システム１０と異なる校正用物体を用いたキャリブレーションを行う。第１の実施形態に係る校正装置１１０は、校正用物体のＺ軸方向のスケールに基づいて、キャリブレーションを行った。これに対し、本実施形態にかかる校正装置１１０は、校正用物体のＸＹ平面に平行な方向のスケールに基づいて、プロジェクタ１０２の内部パラメータ及びカメラ１０１に対するプロジェクタ１０２の位置及び姿勢のキャリブレーション行う。図９は、第２の実施形態に係る校正用物体の一例を示す図である。校正用物体９００は、格子状に複数の黒色の円形の指標９０１が配置された単一の白色の平面である。指標９０１は、パターン撮像画像上で検出される指標と、平面上の指標との対応付けに利用される。
【００５９】
なお、指標は実施形態に限定されるものではなく、他の例としては、白黒の市松模様の格子点であってもよい。さらに、校正用物体の指標は、ＸＹ平面（投影面）に投影された場合の位置が異なる指標であればよく、必ずしも単一の平面である必要はない。すなわち、校正用物体は、ＸＹ平面の位置の異なる指標が配置された複数の平面であってもよい。このように、校正用物体としての平面の指標は、パターン撮像画像上で検出可能でかつ対応付け可能な複数の指標であればよく、実施形態に限定されるものではない。また、校正用物体は、平面でなくともよい。ただし、いずれの場合も、校正用物体には、ＸＹ平面に投影された場合の位置が異なり、かつ配置位置の相互の位置関係が既知の、２以上の指標が配置されているものとする。
【００６０】
以下、第２の実施形態に係る三次元計測システム１０について、第１の実施形態に係る三次元計測システム１０と異なる点について説明する。図１０は、第２の実施形態に係る制御装置１０３及び校正装置１１１のソフトウェア構成を示す図である。校正装置１１１は、第１の実施形態に係る校正装置１１０と同様に、画像受付部３１０と、パターン対応付部３１１と、概略値受付部３１３とを有している。校正装置１１１はさらに、第１の実施形態に係る校正装置１１０と異なる機能として、スケール情報保存部１１１１と、指標対応付部１１１２と、パラメータ算出部１１１３とを有している。
【００６１】
スケール情報保存部１１１１は、スケール情報として、各指標の校正用物体上に規定された実空間上の座標系（以下、校正物体座標系と呼ぶ）における指標の位置を示す座標を保存する。これらの座標は、例えば写真測量技術により計測された位置座標でもよく、接触式の三次元座標計測機を用いて計測された位置座標でもよい。なお、校正用物体座標系の原点は平面上にあるものとし、平面の法線ベクトルを構成用物体座標系のＺ軸と一致させる。すなわち、第２の実施形態に係るスケール情報は、実空間のＸＹ平面内の異なる位置の位置関係を示す情報である。
【００６２】
指標対応付部１１１２は、校正用物体上に配置された指標の投影像を撮像画像から検出し、その撮像画像上の座標と校正物体座標系上の座標を対応付ける。パラメータ算出部１１１３は、プロジェクタ１０２の内部パラメータ、カメラ１０１に対するプロジェクタ１０２の位置及び姿勢を算出する。このとき、パラメータ算出部１１１３は、パターン対応付部３１１によって得られたプロジェクタ画像座標とカメラ画像座標の対応及び指標対応付部１１１２によって対応付けられた指標のカメラ画像座標と校正物体座標系上の座標の対応を参照する。なお、制御装置１０３のソフトウェア構成は、第１の実施形態にかかる制御装置１０３のソフトウェア構成と同様である。
【００６３】
図１１は、第２の実施形態に係る校正装置１１１による校正処理を示すフローチャートである。第１の実施形態に係る校正処理と同様、校正処理の実行前に以下に示す初期化処理が完了しているものとする。初期化処理において、校正装置１１０は、校正用物体に関する情報を不図示の記憶装置から読み込んで、スケール情報保存部３１２に保存する。前述したように、スケール情報保存部１１１１が保持する情報は、校正物体座標系に対する各指標の座標である。さらに、初期化処理においては、概略値受付部３１３は、プロジェクタ１０２の内部パラメータ、カメラ１０１とプロジェクタ１０２の相対的な位置及び姿勢、カメラ１０１に対する校正用物体の位置及び姿勢の概略値の受け付けを完了しているものとする。本実施形態においては、プロジェクタ１０２の内部パラメータ、カメラ１０１に対するプロジェクタ１０２の位置及び姿勢の概略値としては設計値が入力される。
【００６４】
カメラ１０１に対する校正用物体の位置及び姿勢の概略値は、校正用物体上の指標の校正物体座標系における座標とカメラ画像上の座標との対応をもとに算出される。本実施形態においては、概略値は、Ｌｅｐｅｔｉｔらの手法を用いて算出された値とする。Ｌｅｐｅｔｉｔらの手法については、以下の文献を参照することができる。
V.  Lepetit,  F.  Moreno-Noguer,  and  P.  Fua,  "EPnP:  an  accurate  O(n)  solution  to  the  PnP  problem,"  International  Journal  of  Computer  Vision,  vol.81,  no.2,  pp.155-166,  2009.）
【００６５】
ただし、カメラ１０１と校正用物体の相対的な位置姿勢の算出方法はこれに限るものではなく、指標の座標の対応を利用する他の方法であってもよい。また、カメラ１０１に対する平面パラメータの概略値としては、校正用物体を構成する平面上に位置関係が既知な指標を配置し、指標の画像座標と平面上の座標との対応をもとに推定した値が用いられる。
【００６６】
校正処理のＳ１１００において、画像受付部３１０は、制御装置１０３からパターン撮像画像の入力を受け付ける。Ｓ１１００の処理は、第１の実施形態において説明した図７の画像受付処理（Ｓ７００）の処理と同様であるので、詳細は省略する。次に、Ｓ１１０１において、パターン対応付部３１１は、Ｓ１１００において受け付けたパターン撮像画像をもとに、照射された水平・垂直方向のパターンの交点のカメラ画像座標とプロジェクタ画像座標とを対応付ける。対応付けの処理は、第１の実施形態に係るパターン対応付け処理（Ｓ７０１）と同様である。そして対応点の情報は、交点のプロジェクタ画像座標
【数２７】
0006486083.tif 000028
及びカメラ画像座標
【数２８】
0006486083.tif 000029
として保持される。
【００６７】
次に、Ｓ１１０２において、指標対応付部１１１２は、校正装置１１１において入力されたパターン撮像画像をもとに、カメラ画像から円形の指標に相当する領域を検出し、校正用物体座標系上の指標と対応付ける。校正用物体は白色の平面であり、指標は黒色の円であることから、指標対応付部１１１２は、画像の二値化及びラベリング処理を行って円領域の候補を抽出し、各円領域の候補の面積を閾値処理することで指標に相当する領域を検出する。さらに、指標対応付部１１１２は、指標を利用して校正用物体上の指標と対応付ける。対応点の情報は、指標の校正物体座標系上の座標
【数２９】
0006486083.tif 000030
及びカメラ画像上の座標
【数３０】
0006486083.tif 000031
として保持される。
【００６８】
次に、Ｓ１１０３において、パラメータ算出部１１１３は、Ｓ１１０１及びＳ１１０２で得られた対応点の情報をもとに、プロジェクタ１０２の内部パラメータ、カメラ１０１に対するプロジェクタ１０２の位置及び姿勢を算出する。ここでは次の２種類のデータを用いて未知パラメータの算出を行う。１つ目は、実施例１と同様に、プロジェクタ１０２側から投影されるパターンの交点のプロジェクタ画像座標とカメラ画像座標の対応である。もう１つは、校正用物体上の指標の校正物体座標系における座標とカメラ画像座標の対応である。
【００６９】
ここで、第２の実施形態に係る投影モデルについて説明する。校正用物体座標Ｂwからカメラ座標Ａcへの座標変換を（式１７）のように表す。
【数３１】
0006486083.tif 000032
（式１７）のＲcwは回転を表す３×３行列、ｔcwは平行移動を表す３次元ベクトルである。校正物体座標系における校正物体の平面の法線ベクトルｎwとすると、カメラ座標系における法線ベクトルｎcは、Ｒcwｎwとなる。カメラ座標系において平面はｔcwを通ることから、カメラ座標系における平面の方程式は（式１８）で表される。
【数３２】
0006486083.tif 000033
（式８）で表される直線が（式１８）で表される平面と交わる場合、（式８）を（式１８）代入することにより、αは次のようになる。
【数３３】
0006486083.tif 000034
そのため、プロジェクタ１０２から照射される光線と該平面との交点のカメラ座標は（式１９）のように表すことができる。
【数３４】
0006486083.tif 000035
校正物体上の指標の校正物体座標は（式１７）によってカメラ座標に変換される。また、プロジェクタ１０２が照射するパターンの交点のプロジェクタ座標は（式１９）によってカメラ座標に変換される。
【００７０】
プロジェクタ画像上の座標Ａpiに対応するカメラ画像上の座標（正規化画像座標）
Ａci（＝［Ｘcpi  Ｙcpi］t）
は、（式１）、（式５）、（式６）、（式１９）よりａpi、プロジェクタ１０２の内部パラメータＫp、カメラ１０１に対するプロジェクタ１０２の位置及び姿ｓcc、カメラ１０１に対する校正用物体の位置及び姿勢ｓcwjの関数となる。これを（式２０）のように表す。なお、カメラ１０１に対する校正用物体の位置及び姿勢は、校正用物体の位置姿勢毎に変わるため、インデックスjにより区別している。
【数３５】
0006486083.tif 000036
校正物体上の座標Ｘwjに対応するカメラ画像上の座標（正規化画像座標）
Ａcmi（＝［Ｘcmi  Ｙcmi］t）
は、（式１）、（式１７）より、Ｂwi、カメラ１０１に対する校正用物体の位置及び姿勢の関数となる。これを（式２１）のように表す。
【数３６】
0006486083.tif 000037
【００７１】
なお、第２の実施形態に係る未知パラメータの算出処理、すなわちパラメータ算出処理Ｓ１１０３における処理は、第１の実施形態において図８を参照しつつ説明した処理とほぼ同様である。ここでは、図８を参照しつつ、第２の実施形態に係るパラメータ算出処理（Ｓ１１０３）について、第１の実施形態に係るパラメータ算出処理と異なる点を中心に説明する。本実施形態においては、パラメータ算出部３１４は、（式２２）に示される評価関数が最小となるように非線形最適化によって未知パラメータを算出する。
【数３７】
0006486083.tif 000038
（式２２）において、ｘcpi，ｙcpi,ｘcmi，ｙcmiが計算される座標であり、
【数３８】
0006486083.tif 000039
が検出された座標である。Ｍは、Ｓ１１０１において対応付けられた交点の数、Ｐは、Ｓ１１０２において対応付けられた点の数である。
【００７２】
また、Ｓ８００において、パラメータ算出部３１４は、概略値受付部３１３から概略値を取得する。プロジェクタ１０２の内部パラメータの概略値、カメラ１０１に対するプロジェクタ１０２の位置及び姿勢の概略値、カメラ１０１に対する校正用物体の位置及び姿勢の概略値をそれぞれ
【数３９】
0006486083.tif 000040
と表す。ここで、Ｓは、校正用物体の位置及び姿勢のバリエーションの数である。
【００７３】
続く、Ｓ８０１において、パラメータ算出部３１４は、パラメータ算出のための係数行列及び誤差ベクトルの算出を行う。（式２０）、（式２１）は、（式２３）、（式２４）のように線形近似することができる。
【数４０】
0006486083.tif 000041
ただし、
【数４１】
0006486083.tif 000042
である。（式２３）、（式２４）を（式２２）に代入し、各パラメータで微分したものを０とおくと、（式２５）が得られる。
【数４２】
0006486083.tif 000043
ただし、Ｊ，ｘ，ｅは、以下の通りである。
【数４３】
0006486083.tif 000044
【００７４】
Ｓ８０１において、パラメータ算出部３１４は、係数行列Ｊ及び誤差ベクトルｅを算出する。パラメータ算出部３１４は、（式１）、（式１９）、（式６）、（式５）、（式１７）をもとにｘci，ｙciの偏微分を算出することにより、係数行列Ｊを求める。パラメータ算出部３１４はまた、未知パラメータの概略値を（式１）、（式１９）、（式６）、（式５）、（式１７）に代入することにより、誤差ベクトルｅを求める。
【００７５】
次に、Ｓ８０２において、パラメータ算出部３１４は、係数行列Ｊ及び誤差ベクトルｅから、（式２６）を用いて、未知パラメータの補正ベクトルｘを算出する。
【数４４】
0006486083.tif 000045
Ｓ８０３以降の処理は、第１の実施形態に係るＳ８０３以降の処理と同様である。また、第２の実施形態に係る三次元計測システムのこれ以外の構成及び処理は、第１の実施形態に係る三次元計測システムの構成及び処理と同様である。
【００７６】
以上のように、第２の実施形態に係る校正装置１１１は、相対位置関係が既知な指標が配置された校正用物体を利用し、指標の位置関係をスケールに関する既知の情報として利用することにより、キャリブレーションを高精度に行うことができる。
【００７７】
（第３の実施形態）
第３の実施形態に係る三次元計測システムにおいては、校正装置は、校正用物体として１つの球又はその一部を用いる。そして、校正装置は、校正用物体としての球の半径をスケール情報として利用することでプロジェクタ１０２の内部パラメータ及びカメラ１０１とプロジェクタ１０２の相対的な位置姿勢のキャリブレーションを行う。なお、球の半径は既知であるものとするまた、他の例としては、校正用物体は、複数の球であってもよい。この場合、複数の球それぞれの半径は既知であるものとする。
【００７８】
第３の実施形態に係る三次元計測システムにおいては、制御装置１０３及び校正装置１１０の機能は図３を参照しつつ説明した第１の実施形態に係る制御装置１０３及び校正装置１１０の機能と同様である。ただし、校正装置１１０により利用される校正物体と、スケール情報が異なる。以下、第３の実施形態に係る校正装置１１０について、第１の実施形態に係る校正装置１１０と異なる点を中心に説明する。
【００７９】
スケール情報保存部３１２は、校正用物体としての球の半径をスケール情報として保存している。次に、図７を参照しつつ、第３の実施形態に係る校正装置１１０による校正処理について説明する。第１の実施形態に係る校正処理と同様、校正処理の実行前に以下に示す初期化処理が完了しているものとする。初期化処理において、校正装置１１０は、校正用物体に関するスケール情報を不図示の記憶装置から読み込んで、スケール情報保存部３１２に保存する。前述したように、スケール情報保存部１１１１が保持するスケール情報は、校正用物体の半径である。球の半径としては、例えば設計値を用いる。また、他の例としては、球の半径は、接触式の三次元座標計測機を用いて事前に計測された値であってもよい。また、スケール情報は、球の半径に変換可能な値であればよく、他の例としては、球の直径であってもよい。
【００８０】
さらに、初期化処理においては、概略値受付部３１３は、プロジェクタ１０２の内部パラメータ、カメラ１０１に対するプロジェクタ１０２の位置及び姿勢、カメラ１０１に対する校正用物体の位置の概略値の受付を完了しているものとする。プロジェクタ１０２の内部パラメータ、カメラ１０１とプロジェクタ１０２の相対的な位置姿勢の概略値としては設計値が入力される。カメラ１０１と校正用物体の相対的な位置の概略値は、カメラ画像上における球の投影像である円の位置と大きさに基づいて算出された値とする。
【００８１】
Ｓ７００において、画像受付部３１０は、制御装置１０３からパラメータ撮像画像の入力を受け付ける。なお、Ｓ７００の処理は、第１の実施形態に係る画像受付処理（Ｓ７００）と同様である。次に、Ｓ７０１において、パターン対応付部３１１は、Ｓ７００において入力されたパラメータ撮像画像をもとに、カメラ画像座標とプロジェクタ画像座標との対応付け、対応付けの集合を求める。対応付けの処理は、第１の実施形態に係るパターン対応付け処理（Ｓ７０１）と同様である。対応点の情報は、交点のプロジェクタ画像上の座標
【数４５】
0006486083.tif 000046
びカメラ画像上の座標
【数４６】
0006486083.tif 000047
として保持される。次に、Ｓ７０２において、パラメータ算出部３１４は、Ｓ７０１において得られた対応点の情報の集合をもとに、プロジェクタ１０２の内部パラメータ、カメラ１０１とプロジェクタ１０２の相対的な位置姿勢を算出する。
【００８２】
ここで、プロジェクタ１０２から出射する光線が空間中の球に投影されてカメラ１０１に入射する場合の、プロジェクタ画像のピクセル座標のカメラ画像のピクセル座標への変換について説明する。カメラ座標系における球の方程式を（式２７）のように表す。
【数４７】
0006486083.tif 000048
（式２７）で表される球と、（式８）で表される直線の交点は、（式８）を（式２７）に代入して得られる二次方程式
【数４８】
0006486083.tif 000049
から算出することができる。ただし
【数４９】
0006486083.tif 000050
【００８３】
解が二個ある場合には、小さい方を選択する。すなわち
【数５０】
0006486083.tif 000051
である。よって、プロジェクタ１０２から照射される光線と球との交点のカメラ座標は、（式２８）のように表すことができる。
【数５１】
0006486083.tif 000052
プロジェクタ１０２が照射するパターンの交点のプロジェクタ座標は（式２８）によってカメラ座標に変換される。
【００８４】
プロジェクタ画像上の座標ｕpiに対応するカメラ画像上の座標（正規化画像座標）Ａciは、（式１）、（式５）、（式６）、（式２８）より、ａpi、Ｋp、ｓcp、ｔcsの関数となる。ここで、Ｋpは、プロジェクタ１０２の内部パラメータ、ｓcpは、カメラ１０１とプロジェクタ１０２の相対位置姿勢、ｔcsは、カメラ１０１と校正用物体の相対位置である。ａpi、Ｋp、ｓcp、ｔcsの関数は、（式２９）のように表される。
【数５２】
0006486083.tif 000053
そして、パラメータ算出部３１４は、第１の実施形態において説明したのと同様の方法により（式３０）によって示される評価関数が最小となるように非線形最適化によって未知パラメータを算出する。
【数５３】
0006486083.tif 000054
なお、未知パラメータの算出方法は、第１の実施形態において説明した算出方法と同様である。また、第３の実施形態に係る三次元計測システムのこれ以外の構成及び処理は、他の実施形態に係る三次元計測システムの構成及び処理と同様である。
【００８５】
以上のように、第３の実施形態に係る校正装置１１０は、校正用物体を球として、球の半径をスケールに関する既知の情報として利用することにより、三次元計測装置を構成するプロジェクタ１０２のキャリブレーションを高精度に行うことができる。
【００８６】
次に、上記実施形態の変更例について説明する。第１の変更例としては、スケール情報は、実施形態に限定されるものではない。他の例としては、校正装置１１０は、円柱を校正用物体として、円柱の底面の半径をスケール情報として利用してもよい。この場合、校正装置１１０は、円柱の側面又はその一部の撮影画像と、撮像画像とに基づいて、キャリブレーションを行う。中心軸が校正物体座標系のＺ軸と一致してかつ原点を通る円柱は次式のように表される。
【数５４】
0006486083.tif 000055
ここで、ｒは、円柱の半径である。ｒは、円柱を接触式の三次元座標計測機で計測する等して事前に校正しておく。
【００８７】
（式８）で表される直線（カメラ座標系）を、（式１７）（世界座標系からカメラ座標系への変換）を用いて世界座標系における直線に変換し、（式３１）に代入することにより、第３の実施形態に係る球の場合と同様にαに関する２次方程式が得られる。この２次方程式を解くことでαが得られる（２次方程式が実数解を２個持つ場合には、小さい方を選択する）。αはプロジェクタ１０２の内部パラメータ、カメラ１０１に対する円柱の位置及び姿勢、カメラ１０１に対するプロジェクタ１０２の位置及び姿勢、円柱の半径の関数である。したがって、αを用いて前述の実施形態において説明した処理と同様に非線形最適化により未知パラメータを算出することができる。
【００８８】
また、校正用物体は楕円体であってもよい。楕円体は（式３２）のように表わすことができる。すなわち、球や円柱を校正用物体として用いる場合と同様な方法により未知パラメータを算出することができる。
【数５５】
0006486083.tif 000056
また、校正用物体としての円柱や楕円体の数は一つに限るものではなく、複数あってもよい。
【００８９】
次に、第２の変更例について説明する。上記実施形態においては、校正装置１１０は、プロジェクタ１０２の内部パラメータとカメラ１０１に対するプロジェクタ１０２の位置及び姿勢の双方を未知パラメータとして算出したが、未知パラメータは、実施形態に限定されるものではない。例えば、すでにプロジェクタ１０２の内部パラメータがキャリブレーションされている場合には、プロジェクタ１０２の内部パラメータをキャリブレーションする必要はない。そのような場合には、校正装置１１０は、プロジェクタ１０２の内部パラメータを既知として、推定するパラメータから除外してもよい。
【００９０】
次に、第３の変更例について説明する。上記実施形態においては、校正装置１１０は、レンズ歪みのモデルとして半径方向の歪みと接線方向の歪みを有するモデルを用いていた。但し、レンズ歪みのモデルはこれに限るものではない。他の例としては、校正装置１１０は、Ｆｉｔｚｇｉｂｂｏｎのモデルを用いてもよい。Ｆｉｔｚｇｉｂｂｏｎのモデルについては、以下の文献を参照することができる。
A.  Fitzgibbon,  "Simultaneous  linear  estimation  of  multiple  view  geometry  and  lens  distortion,"  Proc.  CVPR'01,  2001.
Ｆｉｔｚｇｉｂｂｏｎのモデルは次の式で表される。
【数５６】
0006486083.tif 000057
【００９１】
また、校正装置１１０は、Ｃｌａｕｓらによって提案されているｒａｔｉｏｎａｌ  ｆｕｎｃｔｉｏn  ｍｏｄｅｌを用いてもよい。ｒａｔｉｏｎａｌ  ｆｕｎｃｔｉｏn  ｍｏｄｅｌについては、以下の文献を参照することができる。
D.  Claus  and  A.  W.  Fitzgibbon,  "A  rational  function  lens  distortion  model  for  general  cameras,"  Proc.  CVPR'05,  2005.
このように、校正装置１１０は、歪みの加わった座標から歪みのない座標への変換を関数として表すことができるモデルであれば、いかなるレンズ歪みのモデルを用いてもよい。
【００９２】
次に、第４の変更例について説明する。上記実施形態においては、校正装置１１０は、レンズ歪みの加わった座標から歪みのない座標への変換（プロジェクタ１０２の場合にはレンズ歪みのない座標から歪みの加わった座標への変換）の関数を利用していた。但し、レンズ歪みを表す関数は、実施形態に限定されるものではない。他の例としては、校正装置１１０は、レンズ歪みのない座標からレンズ歪みのある座標への変換（プロジェクタ１０２の場合にはレンズ歪みの加わった座標から歪みのない座標への変換）を表す関数を利用してもよい。
【００９３】
この場合、校正装置１１０はカメラ画像上のピクセル座標に相当する光線が平面上で反射してプロジェクタ１０２に入射すると考え、プロジェクタ画像上での誤差を最小化するように未知パラメータを算出する。カメラ１０１の場合、（式１）で表される歪みのない正規化画像座標（ｘc，ｙc）は、（式３３）ように歪みのある正規化画像座標（ｘ'c，ｙ'c）に変換される。
【数５７】
0006486083.tif 000058
すなわち、校正装置１１０は、初期値を（ｘ'c，ｙ'c）として（式３１）を満たすように非線形最適化を行うことで歪みのある正規化画像座標（ｘ'c，ｙ'c）からの歪みのない正規化画像座標（ｘc，ｙc）を算出する。
【００９４】
以上述べたように、本実施形態に係る三次元計測システムは、プロジェクタ１０２から照射されるパターンから得られる多くの対応点とスケール情報を併用することで、高精度かつ実際のスケールにあったキャリブレーションを行うことが可能である。スケールに関する情報は、第１の実施形態において説明したように、複数の平行な平面からなる校正用物体を利用する場合の平面間の距離でもよい。また、第２の実施形態において説明したように、相対位置関係が既知な指標が配置された校正用物体を利用する場合の指標の位置関係であってもよい。さらに、第３の実施形態において説明したように、球を校正用物体として利用する場合の、球の半径であってもよい。他にも、円柱や楕円体を校正物体として利用する場合の、円柱や楕円体のスケールを表す曲面パラメータであってもよい。
【００９５】
また、照明部が照射するパターンは、空間コード化法のための水平／垂直方向の縞パターンでもよいし、位相シフト法のための縞パターンや疑似ランダムドットパターンのような２次元パターンであってもよい。
【００９６】
また、キャリブレーションを行うパラメータは、プロジェクタ１０２の内部パラメータとカメラ１０１に対するプロジェクタ１０２の位置及び姿勢であってもよい。プロジェクタ１０２の内部パラメータがキャリブレーション済みであれば、カメラ１０１に対するプロジェクタ１０２の位置及び姿勢だけであってもよい。
【００９７】
また、キャリブレーションするレンズ歪みのパラメータは、半径方向の歪みと接線方向の歪みを有するモデルや、ｄｉｖｉｓｉｏｎ  ｍｏｄｅｌ、ｒａｔｉｏｎａｌ  ｆｕｎｃｔｉｏｎ  ｍｏｄｅｌであってもよい。さらには、レンズ歪みのない座標から歪みの加わった座標への変換（プロジェクタ１０２の場合には、レンズ歪みの加わった座標からレンズ歪みのない座標への変換）を関数として表すモデルであってもよい。
【００９８】
以上、上述した各実施形態によれば、三次元位置計測におけるプロジェクタのパラメータを高精度に校正することができる。
【００９９】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１００】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【符号の説明】
【０１０１】
１０  三次元計測システム
１００  三次元計測装置
１１０  校正装置
３１１  パターン対応付部
３１２  スケール情報保存部
３１４  パラメータ算出部
【図１】
0006486083.tif 000059
【図２】
0006486083.tif 000060
【図３】
0006486083.tif 000061
【図４】
0006486083.tif 000062
【図５】
0006486083.tif 000063
【図６】
0006486083.tif 000064
【図７】
0006486083.tif 000065
【図８】
0006486083.tif 000066
【図９】
0006486083.tif 000067
【図１０】
0006486083.tif 000068
【図１１】
0006486083.tif 000069