(57)【要約】【課題】複数のカメラを備えた３次元形状測定装置において、真値に近い内部パラメータと外部パラメータとを算出して被測定物の測定精度を向上させることができるキャリブレーション方法を提供する。【解決手段】３次元形状測定装置は、カメラ１２Ｒ，１２Ｌにより互いに異なる５つの視点から撮像して複数の特徴点の位置が既知の既知パターン画像撮像データＫＤと濃淡が連続的に変化するグレースケール画像データＧＤとを取得するとともに、取得データに基づいてカメラ１２Ｒ，１２Ｌの内部パラメータＡ、外部パラメータ［Ｒ，ｔ］、回転ベクトルＲＶｎおよび並進ベクトルｔｖｎを計算する。そして、回転ベクトルＲＶｎと並進ベクトルｔｖｎとを用いて基準視点に向きを合わせた射影グレースケール画像ＰＧｎと基準視点におけるグレースケール画像Ｇ０との総ての画素値の差の総和が最小となるように内部パラメータＡと外部パラメータ［Ｒ，ｔ］とを最適化する。【選択図】  図２
2010197198.tif 000002
【特許請求の範囲】
【請求項１】
被測定物の３次元形状をステレオ法により測定するための複数のカメラからなるカメラ群を備えた３次元形状測定装置における前記各カメラごとの内部パラメータおよび外部パラメータを算出する３次元形状測定装置のキャリブレーション方法において、
ワールド座標系での位置が既知の複数の特徴点を有する既知パターン画像を前記カメラ群で互いに異なる少なくとも３つの視点からそれぞれ撮像して既知パターン画像撮像データを取得する既知パターン画像撮像ステップと、
画像の濃淡が同一平面上における一方から他方に向って連続的に変化するグレースケール画像を前記カメラ群で前記少なくとも３つの視点からそれぞれ撮像してグレースケール画像撮像データを取得するグレースケール画像撮像ステップと、
前記既知パターン画像撮像データにおける前記複数の特徴点を表す撮像データに基づいて、少なくとも前記カメラの焦点距離、画像中心およびせん断係数を含む前記内部パラメータと、少なくとも前記ワールド座標系における前記カメラの向きおよび位置を表すカメラ向き情報およびカメラ位置情報を含む前記外部パラメータとを算出するパラメータ計算ステップと、
前記少なくとも３つの視点のうちの１つの視点を基準視点として、他の各視点にて撮像した前記既知パターン画像の向きを前記基準視点に合わせるための回転成分情報および並進成分情報を前記外部パラメータを用いて前記他の各視点ごとにそれぞれ算出する回転・並進成分情報計算ステップと、
前記他の各視点にて撮像した前記グレースケール画像の向きを前記回転成分情報および並進成分情報を用いて前記基準視点に合わせた射影グレースケール画像を表す射影グレースケール画像データを構成しかつ前記複数の特徴点の数よりも多い数の画素値と、前記基準視点にて撮像した前記グレースケール画像を表すグレースケール画像撮像データを構成しかつ前記複数の特徴点の数よりも多い数の画素値との差を用いて、前記内部パラメータおよび前記外部パラメータを最適化するメイン最適化ステップとを含むことを特徴とする３次元形状測定装置のキャリブレーション方法。
【請求項２】
請求項１に記載した３次元形状測定装置のキャリブレーション方法において、さらに、
前記メイン最適化ステップよりも前に、
前記他の各視点にて撮像した前記既知パターン画像における前記複数の特徴点をそれぞれ表す画像の向きを前記回転成分情報および並進成分情報を用いて前記基準視点に合わせた射影特徴点画像を表す射影特徴点画像データと、前記基準視点にて撮像した前記既知パターン画像における前記複数の特徴点を表す撮像特徴点撮像画像データとの差を用いて、前記基準視点における前記各カメラの前記外部パラメータと、前記回転成分情報および並進成分情報とをそれぞれ最適化するサブ最適化ステップを含むことを特徴とする３次元形状測定装置のキャリブレーション方法。
【請求項３】
請求項２に記載した３次元形状測定装置のキャリブレーション方法において、
前記回転・並進成分情報算出ステップ、前記メイン最適化ステップおよび前記サブ最適化ステップは、前記カメラ群を構成する複数のカメラ間における相対的な位置関係を固定した状態で処理を実行することを特徴とする３次元形状測定装置のキャリブレーション方法。
【請求項４】
請求項１ないし請求項３のうちのいずれか１つに記載した３次元形状測定装置のキャリブレーション方法において、
前記メイン最適化ステップは、前記内部パラメータを最適化した後、前記外部パラメータを最適化することを特徴とする３次元形状測定装置のキャリブレーション方法。
【請求項５】
請求項１ないし請求項４のうちのいずれか１つに記載した３次元形状測定装置のキャリブレーション方法において、
前記内部パラメータは、レンズ歪み係数を含み、
前記メイン最適化ステップは、
前記カメラの焦点距離、画像中心およびせん断係数をそれぞれ最適化する線形パラメータ最適化ステップと、
前記線形パラメータ最適化ステップの後、前記レンズ歪み係数を含めて再度前記焦点距離、画像中心およびせん断係数をそれぞれ最適化する第１の線形・歪パラメータ最適化ステップと、
前記線形・歪パラメータ最適化ステップの後、前記レンズ歪み係数を再度最適化するレンズ歪みパラメータ最適化ステップと、
前記レンズ歪みパラメータ最適化ステップの後、再度、焦点距離、画像中心、せん断係数、およびレンズ歪み係数をそれぞれ最適化する第２の線形・歪最適化ステップと、
前記カメラの向き情報および前記カメラの位置情報を最適化する第１の外部パラメータ最適化ステップと、
前記第１の外部パラメータ最適化ステップの後、前記カメラの位置情報を再度最適化する第２の外部パラメータ最適化ステップとを含むことを特徴とする３次元形状測定装置のキャリブレーション方法。
【請求項６】
請求項１ないし請求項５のうちのいずれか１つに記載した３次元形状測定装置のキャリブレーション方法において、
前記メイン最適化ステップは、
前記射影グレースケール画像データおよび前記グレースケール画像撮像データにおける各画素を複数の画素からなる複数の小ブロックに分けた各小ブロックごとの画素値の平均値の全小ブロックにおける分散値を用いて前記内部パラメータおよび前記外部パラメータを最適化することを特徴とする３次元形状測定装置のキャリブレーション方法。
【請求項７】
請求項１ないし請求項６のうちのいずれか１つに記載した３次元形状測定装置のキャリブレーション方法において、
前記メイン最適化ステップを繰り返し複数回実行して前記内部パラメータおよび前記外部パラメータを最適化することを特徴とする３次元形状測定装置のキャリブレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被測定物の３次元形状をステレオ法により測定するための複数のカメラからなるカメラ群を備えた３次元形状測定装置において、各カメラごとの内部パラメータおよび外部パラメータを算出する３次元形状測定装置のキャリブレーション方法に関する。
【背景技術】
【０００２】
従来から、複数のカメラからなるカメラ群により被測定物を撮像した撮像画像データに基づいて被測定物の３次元形状をステレオ法により測定する３次元形状測定装置が知られている。ここで、ステレオ法とは、互いに所定の距離を介して配置された少なくとも２つのカメラで被測定物を撮像し、各撮像画像上での位置の違い（視差情報）に基づいて所謂三角測量の原理により被測定物までの距離を算出する測定方法の一つである。
【０００３】
このような３次元形状測定装置においては、被測定物の撮像に際して予め各カメラのキャリブレーションを行っておく必要がある。このカメラのキャリブレーションは、カメラの焦点距離、画像中心座標、せん断係数およびレンズ歪みなどの内部的特性を表す内部パラメータと、カメラが配置された３次元空間上における位置や向きを表す外部パラメータを算出する作業である。すなわち、カメラのキャリブレーションとは、ステレオ法の原理を用いた３次元形状測定の理論値と、現実に用いるカメラのコンディションに基づく測定値との差を最小化するものである。
【０００４】
カメラのキャリブレーションを行う手法として最も代表的なものに下記非特許文献１に示されるようなキャリブレーション手法がある。このキャリブレーション手法は、３次元空間内での位置が既知である複数の特徴点を有する既知パターン画像（格子画像）を前記カメラ群で互いに異なる少なくとも３つの視点から撮像し、各視点ごとの撮像画像における各特徴点（格子点）の位置情報を用いて内部パラメータを算出するとともに、同算出した内部パラメータを用いて外部パラメータを計算するものである。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｚ．Ｚｈａｎｇ，”Ａ  Ｆｌｅｘｉｂｌｅ  Ｎｅｗ  Ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  Ｃａｍｅｒａ  Ｃａｌｉｂｒａｔｉｏｎ”，ＩＥＥＥ  Ｔｒａｎｓ．Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，ｖｏｌ．２２，ｎｏ．１１，ｐｐ．１３３０−１３３４，２０００．
【０００６】
しかしながら、上記非特許文献１に示されるキャリブレーション手法においては、既知パターン画像において離散的な特徴点の位置情報のみに基づいて内部パラメータが計算されて最終的に外部パラメータが計算される。このため、特徴点以外の位置での被測定物の測定精度が低いとともに、１つの特徴点の測定誤差が与える内部パラメータおよび外部パラメータの計算精度の低下が大きく、結果として被測定物全体の測定精度が低下するという問題があった。
【発明の概要】
【０００７】
本発明は上記問題に対処するためなされたもので、その目的は、複数のカメラからなるカメラ群を備えた３次元形状測定装置における各カメラごとの内部パラメータおよび外部パラメータを算出するキャリブレーション方法において、従来技術に比べてより真値に近い内部パラメータおよび外部パラメータを算出することにより被測定物の測定精度を向上させることができるキャリブレーション方法を提供することにある。
【０００８】
上記目的を達成するため、請求項１に係る発明の特徴は、被測定物の３次元形状をステレオ法により測定するための複数のカメラからなるカメラ群を備えた３次元形状測定装置における各カメラごとの内部パラメータおよび外部パラメータを算出する３次元形状測定装置のキャリブレーション方法において、ワールド座標系での位置が既知の複数の特徴点を有する既知パターン画像を前記カメラ群で互いに異なる少なくとも３つの視点からそれぞれ撮像して既知パターン画像撮像データを取得する既知パターン画像撮像ステップと、画像の濃淡が同一平面上における一方から他方に向って連続的に変化するグレースケール画像を前記カメラ群で前記少なくとも３つの視点からそれぞれ撮像してグレースケール画像撮像データを取得するグレースケール画像撮像ステップと、既知パターン画像撮像データにおける前記複数の特徴点を表す撮像データに基づいて、少なくとも前記カメラの焦点距離、画像中心およびせん断係数を含む内部パラメータと、少なくともワールド座標系における前記カメラの向きおよび位置を表すカメラ向き情報およびカメラ位置情報を含む外部パラメータとを算出するパラメータ計算ステップと、前記少なくとも３つの視点のうちの１つの視点を基準視点として、他の各視点にて撮像した既知パターン画像の向きを基準視点に合わせるための回転成分情報および並進成分情報を外部パラメータを用いて前記他の各視点ごとにそれぞれ算出する回転・並進成分情報計算ステップと、前記他の各視点にて撮像したグレースケール画像の向きを回転成分情報および並進成分情報を用いて基準視点に合わせた射影グレースケール画像を表す射影グレースケール画像データを構成しかつ前記複数の特徴点の数よりも多い数の画素値と、基準視点にて撮像したグレースケール画像を表すグレースケール画像撮像データを構成しかつ前記複数の特徴点の数よりも多い数の画素値との差を用いて、内部パラメータおよび外部パラメータを最適化するメイン最適化ステップとを含むことにある。
【０００９】
このように構成した請求項１に係る発明の特徴によれば、既知パターン画像における複数の特徴点に基づいた内部パラメータおよび外部パラメータを用いて各視点ごとに撮像したグレースケール画像を基準視点に合わせるための回転ベクトルおよび並進ベクトルを計算して、これら回転成分情報ベクトルおよび並進成分情報を用いてグレースケール画像を基準視点に合わせた射影グレースケール画像を表す射影グレースケール撮像画像データと基準視点にて撮像したグレースケール画像を表すグレースケール撮像画像データとの差を用いて前記内部パラメータおよび外部パラメータを最適化している。この場合、最適化に用いる射影グレースケール撮像画像データおよびグレースケール撮像画像データの画素値の数は特徴点の数よりも多い。すなわち、本発明は、従来技術により算出した特徴点ベースの内部パラメータおよび外部パラメータを、特徴点の数より多い数の画素値を用いて最適化している。これにより、特徴点以外の位置での被測定物の測定精度の低下、および１つの特徴点の測定誤差が与える内部パラメータおよび外部パラメータの計算精度の低下を抑制することができる。すなわち、従来技術に比べてより真値に近い内部パラメータおよび外部パラメータを算出することができる。その結果、被測定物の測定精度を向上させることができる。
【００１０】
なお、この場合、グレースケール画像の撮像画像データを構成する総ての画素値を用いて内部パラメータおよび外部パラメータを最適化するとよい。これによれば、各視点ごとにおけるグレースケール撮像画像データの総ての画素値の差に基づいて内部パラメータおよび外部パラメータを最適化することができるため、より真値に近い内部パラメータおよび外部パラメータを算出することができる。その結果、被測定物の測定精度を更に向上させることができる。
【００１１】
また、請求項２に係る本発明の他の特徴は、前記３次元形状測定装置のキャリブレーション方法において、さらに、メイン最適化ステップよりも前に、前記他の各視点にて撮像した既知パターン画像における前記複数の特徴点をそれぞれ表す画像の向きを回転成分情報および並進成分情報を用いて基準視点に合わせた射影特徴点画像を表す射影特徴点画像データと、基準視点にて撮像した既知パターン画像における前記複数の特徴点を表す撮像特徴点撮像画像データとの差を用いて、基準視点における各カメラの外部パラメータと、回転成分情報および並進成分情報とをそれぞれ最適化するサブ最適化ステップを含むことにある。
【００１２】
このように構成した請求項２に係る発明の特徴によれば、変位グレースケール画像撮像データによる内部パラメータおよび外部パラメータの最適化が実行される前に、各視点ごとの既知パターン画像における特徴点を表す画像を基準視点に合わせた変位既知パターン撮像画像データと基準視点にて撮像した既知パターン画像における特徴点を表す撮像画像データとの差を用いて、基準視点における各外部パラメータ、前記回転成分情報および前記並進成分情報を最適化している。これにより、基準視点におけるカメラごとの外部パラメータの精度が向上するとともに、この外部パラメータの最適化に応じて回転成分情報および並進成分情報が最適化されて回転成分情報および並進成分情報の精度が向上する。この結果、メイン最適化ステップでの処理において内部パラメータおよび外部パラメータが真値とは異なる局所解に収束することを防止できる。なお、このようなサブ最適化ステップは、前記パラメータ算出ステップにて算出される外部パラメータの精度が低いと考えられることに起因する。すなわち、内部パラメータが少なくとも３つの視点での撮像処理によって１組算出されるのに対して、外部パラメータは１つの視点での撮像処理によって１組算出される。このため、外部パラメータをメイン最適化ステップにて最適化する前に特徴点ベースで予備的に最適化するものである。
【００１３】
また、請求項３に係る本発明の他の特徴によれば、前記３次元形状測定装置のキャリブレーション方法において、回転・並進成分情報算出ステップ、メイン最適化ステップおよびサブ最適化ステップは、前記カメラ群を構成する複数のカメラ間における相対的な位置関係を固定した状態で処理を実行することにある。
【００１４】
このように構成した請求項３に係る発明の特徴によれば、回転・並進成分情報算出ステップ、メイン最適化ステップおよびサブ最適化ステップは、カメラ群を構成する複数のカメラ間における相対的な位置関係を固定した状態で実行される。これにより、カメラ群を構成する複数のカメラ間の相対的な位置関係を拘束せずに各処理を実行した場合に比べて各カメラと撮像対象物（既知パターン画像、グレースケール画像）との位置関係が整合した状態で回転成分情報および並進成分情報の算出、および内部パラメータおよび外部パラメータの最適化が行われ各計算処理の精度が向上する。
【００１５】
また、請求項４に係る本発明の他の特徴によれば、前記３次元形状測定装置のキャリブレーション方法において、メイン最適化ステップは、内部パラメータを最適化した後、外部パラメータを最適化することにある。
【００１６】
このように構成した請求項４に係る発明の特徴によれば、メイン最適化ステップは、内部パラメータを最適化した後、外部パラメータを最適化している。これは、本発明者らの実験により内部パラメータと外部パラメータとを同時に最適化する場合や、外部パラメータを内部パラメータよりも先に最適化する場合に比べて、局所解への収束を避けて精度良く内部パラメータおよび外部パラメータの最適化が行われたことによる。したがって、これによれば、内部パラメータおよび外部パラメータを精度良く最適化することができる。
【００１７】
また、請求項５に係る本発明の他の特徴によれば、前記３次元形状測定装置のキャリブレーション方法において、内部パラメータは、レンズ歪み係数を含み、メイン最適化ステップは、カメラの焦点距離、画像中心およびせん断係数をそれぞれ最適化する線形パラメータ最適化ステップと、線形パラメータ最適化ステップの後、レンズ歪み係数を含めて再度前記焦点距離、画像中心およびせん断係数をそれぞれ最適化する第１の線形・歪パラメータ最適化ステップと、線形・歪パラメータ最適化ステップの後、レンズ歪み係数を再度最適化するレンズ歪みパラメータ最適化ステップと、レンズ歪みパラメータ最適化ステップの後、再度、焦点距離、画像中心、せん断係数、およびレンズ歪み係数をそれぞれ最適化する第２の線形・歪最適化ステップと、カメラの向き情報およびカメラの位置情報を最適化する第１の外部パラメータ最適化ステップと、第１の外部パラメータ最適化ステップの後、カメラの位置情報を再度最適化する第２の外部パラメータ最適化ステップとを含むことにある。
【００１８】
このように構成した請求項５に係る発明の特徴によれば、内部パラメータが「カメラの焦点距離」、「画像中心」、「せん断係数」、および「レンズ歪み係数」を含んで構成される場合にメイン最適化ステップは、内部パラメータの最適化として線形パラメータ最適化ステップ、第１の線形・歪パラメータ最適化ステップ、レンズ歪みパラメータ最適化ステップ、および第２の線形・歪パラメータ最適化ステップの順で実行する。また、外部パラメータが、前記ワールド座標系における前記カメラの向きを表す「カメラ向き情報」および同カメラの位置を表す「カメラ位置情報」を含んで構成される場合には、メイン最適化ステップは、外部パラメータの最適化として第１の外部パラメータ最適化ステップおよび第２の外部パラメータ最適化ステップの順で実行する。これは、本発明者らの実験により内部パラメータが「カメラの焦点距離」、「画像中心」、「せん断係数」、および「レンズ歪み係数」を含むとともに、外部パラメータが前記ワールド座標系における前記カメラの向きを表す「カメラ向き情報」および同カメラの位置を表す「カメラ位置情報」を含んで構成される場合に最適な処理の順番を特定したものである。したがって、これによれば、局所解への収束を避けて内部パラメータおよび外部パラメータを精度良く最適化することができる。
【００１９】
また、請求項６に係る本発明の他の特徴によれば、前記３次元形状測定装置のキャリブレーション方法において、メイン最適化ステップは、射影グレースケール画像データおよびグレースケール画像撮像データにおける各画素を複数の画素からなる複数の小ブロックに分けた各小ブロックごとの画素値の平均値の全小ブロックにおける分散値を用いて内部パラメータおよび外部パラメータを最適化することにある。
【００２０】
このように構成した請求項６に係る発明の特徴によれば、射影グレースケール画像データおよびグレースケール画像撮像データにおける各画素値の分散値を用いて最適化される。これにより、グレースケール画像撮像データによって表される画像平面に対する射影グレースケール画像データによって表される画像平面の傾き（平行度）が加味されて内部パラメータおよび外部パラメータが最適化されて、結果として最適化精度が向上する。
【００２１】
また、請求項６に係る本発明の他の特徴によれば、前記３次元形状測定装置のキャリブレーション方法において、メイン最適化ステップを繰り返し複数回実行して内部パラメータおよび外部パラメータを最適化することにある。
【００２２】
このように構成した請求項６に係る発明の特徴によれば、メイン最適化ステップを繰り返し複数回実行している。これにより、メイン最適化ステップを１回だけ実行した場合に比べて内部パラメータおよび外部パラメータの最適化の精度をより向上させることができる場合がある。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態に係る３次元形状測定装置の全体構成を模式的に示す構成を概略的に示す構成ブロック図である。
【図２】図１に示す３次元形状測定装置のコンピュータ装置によって実行されるキャリブレーションプログラムのフローチャートである。
【図３】既知パターン画像を傾斜させて撮像する様子を説明するための説明図である。
【図４】画像の濃淡が同一平面における図示左右方向に沿って連続的に変化するグレースケール画像を傾斜させて撮像する様子を説明するための説明図である。
【図５】画像の濃淡が同一平面における図示上下方向に沿って連続的に変化するグレースケール画像を傾斜させて撮像する様子を説明するための説明図である。
【図６】グレースケール画像を生成するためのグレイコード画像を示す説明図である。
【発明を実施するための形態】
【００２４】
以下、本発明に係る３次元形状測定装置のキャリブレーション方法の一実施形態について図面を参照しながら説明する。図１は、本発明に係る３次元形状測定装置の全体構成を模式的に示すブロック図である。なお、本明細書において参照する各図は、本発明の理解を容易にするために一部の構成要素を誇張して表わすなど模式的に表している。このため、各構成要素間の寸法や比率などは異なっていることがある。
【００２５】
（３次元形状測定装置の構成）
この３次元形状測定装置は、１台の表示装置１１、および２台のカメラ１２Ｒ，１２Ｌ、がコンピュータ装置１３にそれぞれ接続されて構成されている。表示装置１１は、コンピュータ装置１３から出力される既知パターン画像Ｋおよびグレイコード画像Ｓを表示させるための装置であり、支持具１１ａによって支持されている。本実施形態においては、表示装置１１は、解像度がＳＸＧＡ（１２８０×１０２４）の液晶型ディスプレイ（ＬＣＤ：Liquid Crystal Display）で構成されている。支持具１１ａは、手動操作により表示装置１１を図示上下左右方向に任意の角度で傾斜させることができるとともに、同傾斜位置にて表示画面の向きを固定することができる支持装置である。なお、表示装置１１は、既知パターン画像Ｋおよびグレイコード画像Ｓを表示可能であれば、どのような形式の表示装置であってもよい。
【００２６】
カメラ１２Ｒ，１２Ｌは、光エネルギーを電気エネルギーに変換（光電変換）するフォトダイオードからなる複数の受光素子を備え、図示しない被測定物の３次元形状を撮像する装置であり、コンピュータ装置１３によって作動が制御される。本実施形態においては、カメラ１２Ｒ，１２Ｌは、有効画素数が１２８０×１０２４画素のＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサで構成されている。このカメラ１２Ｒ，１２Ｌは、表示装置１１の表示画面を撮像可能な互いに異なる位置および向きで、かつ相対的な位置関係が固定された状態で配置されている。なお、カメラ１２Ｒ，１２Ｌは、被測定物の３次元形状測定を行なうことができる撮像装置であれば、どのような形式、例えば、ＣＣＤ（Charge Coupled Device Image Sensor）素子を用いた撮像装置であってもよい。
【００２７】
コンピュータ装置１３は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ハードディスクなどからなるマイクロコンピュータによって構成されたコンピュータ本体１４と、キーボードおよびマウスからなる入力装置１５と、液晶ディスプレイからなる表示装置１６とを備えたパーソナルコンピュータ（所謂パソコン）である。このコンピュータ装置１３は、前記表示装置１１およびカメラ１２Ｒ，１２Ｌの作動をそれぞれ制御するとともに、図２に示すキャリブレーションプログラムを実行することによりカメラ１２Ｒ，１２Ｌのキャリブレーションを行う。また、コンピュータ装置１３は、図示しないプログラムを実行することにより前記図示しない被測定物の３次元形状測定を行う。
【００２８】
なお、コンピュータ装置１３は、表示装置１１およびカメラ１２Ｒ，１２Ｌの作動をそれぞれ制御するとともに、カメラ１２Ｒ，１２Ｌのキャリブレーションおよび図示しない被測定物の３次元形状測定を行うことができれば、どのような形式のコンピュータ装置であってもよい。また、カメラ１２Ｒ，１２Ｌのキャリブレーションを行うためのキャリブレーションプログラムは、作業者により予めコンピュータ本体３１におけるハードディスクに記憶されている。
【００２９】
（３次元形状測定装置の作動）
次に、このように構成した３次元形状測定装置におけるカメラ１２Ｒ，１２Ｌのキャリブレーション作業について説明する。ここで、カメラ１２Ｒ，１２Ｌのキャリブレーションとは、ステレオ法の原理を用いた３次元形状測定の理論値と、現実に用いるカメラ１２Ｒ，１２Ｌのコンディションに基づく測定値（算出値）との差を最小化するための各種パラメータを規定する作業である。
【００３０】
まず、作業者は、コンピュータ装置１３の入力装置１５を操作してカメラ１２Ｒ，１２Ｌのキャリブレーションの実行をコンピュータ本体１４に指示する。この指示に応答して、コンピュータ装置１３（コンピュータ本体１４）は、図２に示すキャリブレーションプログラムの実行をステップＳ１００にて開始して、ステップＳ１０２にて既知パターン画像撮像データＫＤの入力を待つ。ここで既知パターン画像撮像データＫＤとは、図３に示すように、既知パターン画像Ｋをカメラ１２Ｒ，１２Ｌで互いに異なる５つの位置から撮像した撮像画像データである。
【００３１】
既知パターン画像Ｋは、一辺が３０ｍｍ平方の黒色および白色の各方形画像が縦横方向に交互に配置された市松模様からなる図柄であり、後述するカメラ１２Ｒ，１２Ｌの内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］を算出するためのものである。この既知パターン画像Ｋにおける各方形画像がそれぞれ接する各交点（図において１箇所だけ丸で囲んで示す）は、内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］を算出するための特徴点Ｐとして用いられる。すなわち、既知パターン画像Ｋにおける各特徴点Ｐの座標は既知である。
【００３２】
作業者は、図３の中央部に示すように、表示装置１１を図示正面に向けた状態でコンピュータ装置１３を操作することにより表示装置１１に既知パターン画像Ｋを表示させる。そして、作業者は、コンピュータ装置１３を操作することにより表示装置１１に表示された既知パターン画像Ｋをカメラ１２Ｒ，１２Ｌによって撮像する。これにより、カメラ１２Ｒ，１２Ｌごとに正面視による既知パターン画像Ｋを表す既知パターン画像撮像データＫＤがコンピュータ装置１１に記憶される。
【００３３】
次に、コンピュータ装置１３は、ステップ１０４にて、グレースケール画像撮像データＧＤを取得する。ここでグレースケール画像撮像データＧＤとは、図４，図５に示すように、画像の濃淡が同一平面における一方から他方に向って連続的に変化するグレースケール画像Ｇをカメラ１２Ｒ，１２Ｌで互いに異なる５つの位置から撮像した撮像画像データである。このグレースケール画像Ｇは、図６に示すように、明部と暗部とが交互に連続する縞状のグレイコード画像Ｓを縞の間隔を縮小しながら複数ビット分撮像して、各撮像画像を合成することにより生成される空間コード値（濃淡の程度）が０〜２５５の２５６段階（階調）で変化する空間コード画像である。本実施形態においては、８ビット分のグレイコード画像Ｓを合成してグレースケール画像Ｇを得る。なお、図６においては、４ビット分のグレイコード画像を示している。
【００３４】
作業者は、前記ステップ１０２における表示装置１１の向きと同一の向きの状態でコンピュータ装置１３を操作することによりグレイコード画像Ｓを８ビット分連続的表示させるとともに、各ビットごとのグレイコード画像Ｓをカメラ１２Ｒ，１２Ｌによって撮像する。この場合、作業者は、グレイコード画像Ｓを縦方向（図示上下方向）および横方向（図示左右方向）の向きでそれぞれ表示させてそれぞれ撮像する。これにより、図４，図５の各中央図に示すように、画像の濃淡（空間コード値）が図示左右方向および図示上下方向にそれぞれ連続的に変化するグレースケール画像Ｇがそれぞれ生成される。
【００３５】
次に、コンピュータ装置１３は、ステップＳ１０６にて、既知パターン画像Ｋおよびグレースケール画像Ｇを表す各撮像画像データＫＤ，ＧＤをそれぞれ互いに異なる５つの位置（視点）から撮像したか否かを判定する。したがって、このステップＳ１０６における判定処理においては、既知パターン画像Ｋおよびグレースケール画像Ｇを表す各撮像画像データＫＤ，ＧＤをそれぞれ互いに異なる５つの位置から撮像するまでの間、「Ｎｏ」と判定されて、ステップＳ１０２に戻る。一方、既知パターン画像Ｋおよびグレースケール画像Ｇを表す各撮像画像データＫＤ，ＧＤをそれぞれ互いに異なる５つの位置から撮像した場合には、同判定処理にて「Ｙｅｓ」と判定されてステップＳ１０８に進む。
【００３６】
このステップＳ１０６による判定処理によってステップＳ１０２に戻った場合、コンピュータ装置１３は、再び、ステップＳ１０２〜Ｓ１０６の各処理を実行する。したがって、作業者は、ステップＳ１０２に戻るごとに表示装置１１の向きを変えて既知パターン画像Ｋおよびグレースケール画像Ｇの撮像を繰り返し行う。本実施形態においては、ステップＳ１０２に戻るごとに表示装置１１を図示右側、図示左側、図示上側および図示下側にそれぞれ任意の量だけ傾けて、各傾斜位置ごとに既知パターン画像Ｋおよびグレースケール画像Ｇを連続して撮像する。
【００３７】
これらステップＳ１０２〜Ｓ１０４が繰り返し５回実行されることにより、互いに異なる５つの位置でカメラ１２Ｒ，１２Ｌごとに既知パターン画像Ｋおよびグレースケール画像Ｇがそれぞれ撮像される。これにより、コンピュータ装置１３には、カメラ１２Ｒ，１２Ｌの５つの撮像位置ごとに既知パターン画像撮像データＫＤおよびグレースケール画像撮像データＧＤがカメラ１２Ｒ，１２Ｌごとにそれぞれ記憶される。
【００３８】
なお、画像の濃淡が図示左右方向および図示上下方向にそれぞれ連続的に変化する２つのグレイコード画像Ｓを用いる理由は、傾斜した状態のグレースケール画像Ｇを表すグレースケール画像撮像データＧＤにおいて各画素を特定する際に、グレースケール画像Ｇの傾斜方向に沿って濃淡が変化していないと、すなわち、空間コード値に変化がしないと各画素を特定できないからである。
【００３９】
そして、コンピュータ装置１３は、ステップＳ１０６による判定処理における「Ｎｏ」との判定結果に基づいてステップＳ１０８に進む。すなわち、これら繰り返し実行されるステップＳ１０２，Ｓ１０４が本発明に係る既知パターン撮像ステップおよびグレースケール画像撮像ステップにそれぞれ相当する。
【００４０】
なお、本実施形態においてはカメラ１２Ｒ，１２Ｌの位置は固定されており、実際にはカメラ１２Ｒ，１２Ｌの撮像位置を変化させていない。しかし、カメラ１２Ｒ，１２Ｌと表示装置１１との位置や向きの関係は相対的なものであるため、表示装置１１およびカメラ１２Ｒ，１２Ｌのどちから一方の位置や向きを変更すれば、表示装置１１およびカメラ１２Ｒ，１２Ｌのどちらの位置や向きを変更しても撮像結果は実質的に同一である。したがって、本明細書では、表示装置１１の向きの変更をカメラ１２Ｒ，１２Ｌによる撮像位置（視点）の変更と敢えて表現する。
【００４１】
次に、コンピュータ装置１３は、ステップＳ１０８にて、内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］を計算する。ここで、内部パラメータＡとは、カメラ１２Ｒ，１２Ｌの各焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γおよびレンズ歪み係数ｋ１，ｋ２などの内部的な特性である。また、外部パラメータ［Ｒ，ｔ］とは、表示装置１１における所定の位置（例えば、表示画面の中心位置）を原点とするワールド座標系内でのカメラ１２Ｒ，１２Ｌの光軸の向きおよび位置（例えば、レンズの画像中心座標）を表す回転ベクトルＲおよび並進ベクトルｔである。
【００４２】
このステップＳ１０８における内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］の計算は、既知パターン画像Ｋにおける前記特徴点Ｐを用いた公知の計算方法によって行われる（例えば、非特許文献１参照）。したがって、内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］の算出処理の詳しい説明は省略するが、算出の手順を簡単に説明しておく。
【００４３】
手順１：まず、コンピュータ装置１３は、前記ステップＳ１０２にて取得した既知パターン画像撮像データＫＤにおいて既知パターン画像Ｋにおける各格子点を表す座標を特徴点Ｐの座標として特定する。本実施形態においては、８８個の格子点の座標を特徴点Ｐとして検出し特定する。
手順２：次に、コンピュータ装置１３は、射影変換行列Ｈを算出する。ここで射影変換行列Ｈは、下記数１に示すように、ワールド座標系における座標Ｍをカメラ１２Ｒ，１２Ｌの２次元画像座標系（受光素子平面での座標）における座標ｍに変換するための座標変換係数であり、前記内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］で構成される。この射影変換行列Ｈは、前記特徴点Ｐの２次元画像座標系での座標と同座標に対応するワールド座標系での座標とを用いて計算される。なお、下記数１において「〜」は、行列式において１次元拡張した同次元表現を意味する。また、「ｓ」は、スケール因子である。これにより、撮像画像枚数分の射影変換行列Ｈが算出される。
【００４４】
【数１】
2010197198.tif 000003
【００４５】
手順３：次に、コンピュータ装置１３は、内部パラメータＡを算出する。この内部パラメータＡの計算は、前記取得した既知パターン画像撮像データＫＤの数の射影変換行列Ｈ、すなわち、５つの射影変換行列Ｈにより計算することができる。
手順４：次に、コンピュータ装置１３は、外部パラメータ［Ｒ，ｔ］を算出する。この外部パラメータ［Ｒ，ｔ］の計算は、前記５つの射影変換行列Ｈと前記手順３にて算出した内部パラメータＡを用いて計算することができる。
手順５：そして、コンピュータ装置１３は、内部パラメータＡと外部パラメータ［Ｒ，ｔ］とを最適化する。この内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］の最適化は、特徴点Ｐの２次元画像座標系での座標と、前記算出した内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］を用いてワールド座標系での座標を２次元画像座標系での座標値に変換した座標との差が最小となるように非線形最小二乗法（Ｌ−Ｍ法：Levenberg-Marquardt法）を用いて行う。
【００４６】
手順６：次に、コンピュータ装置１３は、レンズ歪み係数ｋ１，ｋ２を算出する。このレンズ歪み係数ｋ１，ｋ２は、前記算出された内部パラメータＡと外部パラメータ［Ｒ，ｔ］、特徴点Ｐの２次元画像座標系での座標、および同座標をカメラ１２Ｒ，１２Ｌの焦点面を座標平面としたカメラ座標系での座標を用いて計算することができる。これらの手順１〜手順６の各処理の実行により、カメラ１２Ｒ，１２Ｌの内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］が各撮像位置ごとに算出される。このステップＳ１０８による内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］の計算処理が、本発明に係るパラメータ計算ステップに相当する。また、回転ベクトルＲおよび並進ベクトルｔが、本発明に係るカメラ向き情報およびカメラ位置情報に相当する。
【００４７】
次に、コンピュータ装置１３は、ステップＳ１１０にて、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎを計算する。ここで、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎは、既知パターン画像Ｋおよびグレースケール画像Ｇ（グレイコード画像Ｓ）を撮像した５つの撮像位置のうちの１つの視点を基準視点として、同基準視点に他の４つの視点から撮像した各既知パターン画像Ｋの向きを合わせるための座標の回転成分および平行移動成分をベクトルによって表した情報である。本実施形態においては、表示装置１１を図示正面に向けた視点を基準視点として、他の４つの視点、具体的には、図示左右方向および図示上下方向にそれぞれ表示装置１１を傾斜させた視点で撮像した既知パターン画像Ｋを同基準視点に合わせるための回転ベクトルＲｖｎおよび並進ベクトルｔｖｎを計算する。
【００４８】
具体的には、回転ベクトルＲｖｎは、下記数２の値と下記数３の値との和（合算値）が最小となる回転行列Ｒｍｎ（３×３行列）を非線形最小二乗法（Ｌ−Ｍ法）により算出する。下記数２および下記数３において（ｔＲ０，ｔＬ０）は、前記基準視点におけるカメラ１２Ｒ，１２Ｌのワールド座標系での各位置（座標）を表しており、（ｔＲｎ，ｔＬｎ）は前記他の４つの各視点のうちのいずれかの視点におけるカメラ１２Ｒ，１２Ｌのワールド座標系での各位置（座標）を表している。すなわち、下付文字における「Ｒ，Ｌ」は図示左右に配置されたカメラ１２Ｒ，１２Ｌを表し、「０」は基準視点を表し、「ｎ」は他の４つの視点のいずれかを表している（ｎ＝１〜４）。
【００４９】
【数２】
2010197198.tif 000004
【数３】
2010197198.tif 000005
【００５０】
そして、コンピュータ装置１３は、上記数２，数３により算出した回転行列ＲｍｎをRodriguesの公式により回転ベクトルＲｖｎに変換する。この回転ベクトルＲｖｎの計算処理においては、上記数２の値と上記数３の値との和の最小値に基づいて１つの回転ベクトルＲｖｎを特定している。これは、カメラ１２Ｒおよびカメラ１２Ｌごとに回転ベクトルＲｖｎを特定すると、互いに異なる回転ベクトルＲｖｎが特定された場合、座標変換後のカメラ１２Ｒとカメラ１２Ｌとの相対的な位置関係が変化する。これを防止するため、本実施形態においては、カメラ１２Ｒとカメラ１２Ｌとで共通の回転ベクトルＲｖｎを特定することにしている。そして、この場合、共通の回転ベクトルＲｖｎを特定するに際して、カメラ１２Ｒとカメラ１２Ｌとの座標変換誤差の和が最小となる回転ベクトルＲｖｎを特定することにより、一方の座標変換誤差に偏らない調和のとれた回転ベクトルＲｖｎを特定することができる。換言すれば、カメラ１２Ｒとカメラ１２Ｌとの相対的な位置関係を固定した状態で回転ベクトルＲｖｎを算出している。
【００５１】
一方、並進ベクトルｔｖｎは、下記数４の値と下記数５の値との和（合算値）が最小となる並進ベクトルｔｖｎを非線形最小二乗法（Ｌ−Ｍ法）により算出する。この場合においても、前記回転ベクトルＲｖｎの算出と同様に、カメラ１２Ｒとカメラ１２Ｌとの相対的な位置関係を固定した状態で並進ベクトルｔｖｎを算出している。これにより、前記他の４つの視点ごとに回転ベクトルＲｖｎおよび並進ベクトルｔｖｎがそれぞれ算出される。このステップＳ０１８による回転ベクトルＲｖｎおよび並進ベクトルｔｖｎを計算処理が、本発明に係る回転・並進成分情報計算ステップに相当する。すなわち、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎは、本発明に係る回転成分情報および並進成分情報に相当する。
【００５２】
【数４】
2010197198.tif 000006
【数５】
2010197198.tif 000007
【００５３】
なお、カメラ１２Ｒとカメラ１２Ｌとの相対的な位置関係を固定せずに回転ベクトルＲｖｎおよび並進ベクトルｔｖｎを算出することも可能である。例えば、各カメラ１２Ｒ，１２Ｌごとに回転ベクトルＲｖｎおよび並進ベクトルｔｖｎをそれぞれ特定することも可能であるし、各カメラ１２Ｒ，１２Ｌごとに特定した回転ベクトルＲｖｎおよび並進ベクトルｔｖｎの一方をカメラ１２Ｒ，１２Ｌの共通の回転ベクトルＲｖｎおよび並進ベクトルｔｖｎとすることも可能である。
【００５４】
次に、コンピュータ装置１３は、ステップＳ１１２にて、基準視点におけるカメラ１２Ｒ，１２Ｌの外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルベクトルＲｖｎおよび並進ベクトルｔｖｎをそれぞれ最適化する。このステップＳ１１２における外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルベクトルＲｖｎおよび並進ベクトルｔｖｎの最適化は、前記他の４つの視点にてそれぞれ取得した既知パターン画像撮像データＫＤｎにおける既知パターン画像Ｋ中の各特徴点Ｐの向きを基準視点に合わせた射影特徴点画像ＰＫｎを表す射影特徴点画像データＰＫＤｎと、基準視点にて取得した既知パターン画像撮像データＫＤにおける各特徴点Ｐを表す座標の差に基づいて行われる。
【００５５】
具体的には、コンピュータ装置１３は、前記他の４つの各視点にてそれぞれ取得した既知パターン画像撮像データＫＤｎにおける既知パターン画像Ｋ中の各特徴点Ｐを表すワールド座標系での各座標ＰＭＲ，ＰＭＬを下記数６を用いて基準視点に向きを合わせた座標ＰＭＲ’，ＰＭＬ’にそれぞれ変換する。
【００５６】
【数６】
2010197198.tif 000008
【００５７】
次に、コンピュータ装置１３は、基準視点におけるカメラ１２Ｒ，１２Ｌの内部パラメータＡＲ０，ＡＬ０および外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０を下記数７に代入して、前記基準視点に合わせた各特徴点Ｐの座標ＰＭＲ’，ＰＭＬ’を基準視点におけるカメラ１２Ｒ，１２Ｌの２次元画像座標系での座標ＰｍＲ’，ＰｍＬ’に変換する。これにより、前記他の４つの視点にてそれぞれ取得された各特徴点Ｐを表す座標ＰＭＲ，ＰＭＬは、基準視点におけるカメラ１２Ｒ，１２Ｌの２次元画像座標系に投影されて射影特徴点画像データＰＫＤｎを構成する座標ＰｍＲ’，ＰｍＬ’に変換されたことになる。
【００５８】
【数７】
2010197198.tif 000009
【００５９】
この場合、基準視点におけるカメラ１２Ｒ，１２Ｌの各２次元画像座標系に投影された座標ＰｍＲ’，ＰｍＬ’と、基準視点にて取得された各特徴点Ｐの各２次元画像座標系における座標ＰｍＲ０，ＰｍＬ０とは、本来、同一座標で互いに一致するはずである。しかし、実際には、既知パターン画像撮像データＫＤの取得から座標ＰｍＲ’，ＰｍＬ’の算出に至る過程において様々な誤差が存在するため、座標ＰｍＲ’，ＰｍＬ’と座標ＰｍＲ０，ＰｍＬ０との間には差が生じる。したがって、コンピュータ装置１３は、各特徴点Ｐごとに座標ＰｍＲ’，ＰｍＬ’と座標ＰｍＲ０，ＰｍＬ０との差を計算するとともに、同各差の総和が最小となる外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルベクトルＲｖｎおよび並進ベクトルｔｖｎを非線形最小二乗法（Ｌ−Ｍ法）を用いて特定する。
【００６０】
この場合、コンピュータ装置１３は、１つの外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０と、前記他の４つの視点の各回転ベクトルベクトルＲｖｎおよび並進ベクトルｔｖｎとを同時に用いて、これらを同時に非線形最小二乗法（Ｌ−Ｍ法）により最適化する。これにより、１つの視点に偏らずに外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルベクトルＲｖｎおよび並進ベクトルｔｖｎを最適化することができる。このステップＳ１１２における外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルベクトルＲｖｎおよび並進ベクトルｔｖｎの最適化処理が、本発明に係るサブ最適化ステップに相当する。
【００６１】
なお、このステップＳ１１２による外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０の最適化処理は、前記ステップＳ１０８において算出する外部パラメータ［Ｒ，ｔ］の算出精度が低いと考えられることに起因する。すなわち、内部パラメータＡが少なくとも３つの視点での撮像処理によって１組算出されるのに対して、外部パラメータ［Ｒ，ｔ］は１つの視点での撮像処理によって１組算出される。このため、外部パラメータ［Ｒ，ｔ］は、誤差の影響を受け易く算出精度の安定性が低いと考えられるためである。このステップＳ１１２による外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０の最適化処理によって、以降の外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０を用いた各計算処理の精度を向上させることができる。また、外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０の算出誤差が無視できる場合には、このステップＳ１１２による外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０の最適化処理を省略することもできる。
【００６２】
次に、コンピュータ装置１３は、ステップＳ１１４にて、前記他の４つの視点におけるカメラ１２Ｒ，１２Ｌの外部パラメータ［Ｒ，ｔ］Ｒｎ，［Ｒ，ｔ］Ｌｎを最適化する。具体的には、下記数８に示すように、前記ステップＳ１１２にて最適化した外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルベクトルＲｖｎおよび並進ベクトルｔｖｎを用いて外部パラメータ［Ｒ，ｔ］Ｒｎ，［Ｒ，ｔ］Ｌｎを最適化する。すなわち、外部パラメータ［Ｒ，ｔ］Ｒｎ，［Ｒ，ｔ］Ｌｎは、最適化された外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０を回転ベクトルベクトルＲｖｎおよび並進ベクトルｔｖｎを用いて逆変換することにより算出される。
【００６３】
【数８】
2010197198.tif 000010
【００６４】
次に、コンピュータ装置１３は、ステップＳ１１６〜Ｓ１２２にて、基準視点でのカメラ１２Ｒ，１２Ｌの内部パラメータＡＲ０，ＡＬ０の最適化を行う。本実施形態においては、内部パラメータＡＲ０，ＡＬ０を構成する各焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γおよびレンズ歪み係数ｋ１，ｋ２を適宜組み合わせて段階的に最適化する。これらのステップＳ１１６〜Ｓ１２２における内部パラメータＡＲ０，ＡＬ０の最適化は、前記他の４つの視点にてそれぞれ取得したグレースケール画像撮像データＧＤｎによって表されるグレースケール画像Ｇｎ（ｎ＝１〜４）の向きを基準視点に合わせた射影グレースケール画像ＰＧｎを表す射影グレースケール画像データＰＧＤｎと、基準視点にて取得したグレースケール画像撮像データＧＤ０との比較、具体的には、画素値の差に基づいて行われる。
【００６５】
まず、コンピュータ装置１３は、ステップＳ１１６にて、内部パラメータＡＲ０，ＡＬ０における線形成分である各焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γについて最適化を行う。具体的には、コンピュータ装置１３は、前記他の４つの視点ごとにそれぞれ取得したグレースケール画像撮像データＧＤｎにおける各座標ＧＭＲｎ，ＧＭＬｎを同４つの視点に対応する各回転ベクトルベクトルＲｖｎ（Ｒｍｎ）および並進ベクトルｔｖｎを用いて下記式９により座標値ＧＭＲｎ’，ＧＭＬｎ’に座標変換する。これにより、前記他の４つの視点ごとに撮像したグレースケール画像Ｇｎの向きがカメラ１２Ｒ，１２Ｌごとに基準視点に合わせられる。
【００６６】
【数９】
2010197198.tif 000011
【００６７】
次に、コンピュータ装置１３は、基準視点に向きが合わせられたカメラ１２Ｒ，１２Ｌごとのグレースケール画像Ｇｎを、基準視点におけるカメラ１２Ｒ，１２Ｌの内部パラメータＡＲ０，ＡＬ０および外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０を用いて下記式１０により、基準視点におけるカメラ１２Ｒ，１２Ｌの２次元画像座標系での座標値ＧｍＲ’，ＧｍＬ’に変換する。これにより、前記他の４つの視点にてそれぞれ取得されたグレースケール画像撮像データＧＤｎを構成する各座標ＧＭＲｎ，ＧＭＬｎは、基準視点におけるカメラ１２Ｒ，１２Ｌの２次元画像座標系に投影されて射影グレースケール画像データＰＧＤｎを構成する各座標値ＧｍＲ’，ＧｍＬ’に変換されたことになる。
【００６８】
【数１０】
2010197198.tif 000012
【００６９】
この場合、基準視点におけるカメラ１２Ｒ，１２Ｌの２次元画像座標系に投影された射影グレースケール画像撮像データＰＧＤｎにおける各座標値ＧｍＲ’，ＧｍＬ’の画素値（空間コード値）と、基準視点にて取得されたグレースケール画像撮像データＧＤ０の２次元画像座標系での各座標値ＧｍＲ０，ＧｍＬ０の画素値（空間コード値）とは、本来、同一座標で互いに一致するはずである。しかし、実際には様々な誤差により、これらは一致しない。
【００７０】
したがって、コンピュータ装置１３は、射影グレースケール画像撮像データＰＧＤｎにおける各画素値と、基準視点にて取得されたグレースケール画像撮像データＧＤ０における各画素値との絶対差（差の絶対値）を各画素ごとに算出するとともに、同絶対差の総和を画素数で除した平均値ＭＡＤ（Mean of Absolute Difference）が最小となる焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γを非線形最小二乗法（Ｌ−Ｍ法）を用いて特定する。
【００７１】
この場合、コンピュータ装置１３は、前記他の４つの視点における各焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γを同時に用いて、これらを同時に非線形最小二乗法（Ｌ−Ｍ法）により最適化する。これにより、１つの視点に偏らずに焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γを最適化することができる。
【００７２】
なお、このステップＳ１１６における焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γについて最適化処理においては、内部パラメータＡＲ０，ＡＬ０を構成する他のパラメータ、具体的には、レンズ歪み係数ｋ１，ｋ２、外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルベクトルＲｖｎおよび並進ベクトルｔｖｎの各値は固定である。このステップＳ１１６における焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γについての最適化処理が、本発明に係る線形パラメータ最適化ステップに相当する。
【００７３】
次に、コンピュータ装置１３は、ステップＳ１１８にて、内部パラメータＡＲ０，ＡＬ０を構成する総てのパラメータ、すなわち、焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γおよびレンズ歪み係数ｋ１，ｋ２について最適化を行う。このステップＳ１１８における最適化処理は、前記ステップＳ１１６における焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γの最適化処理にレンズ歪み係数ｋ１，ｋ２を加えたものである。すなわち、ステップＳ１１８においてコンピュータ装置１３は、前記画素値の平均値ＭＡＤが最小となる焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γおよびレンズ歪み係数ｋ１，ｋ２を非線形最小二乗法（Ｌ−Ｍ法）を用いて特定する。
【００７４】
この場合、コンピュータ装置１３は、前記他の４つの視点における各焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γおよびレンズ歪み係数ｋ１，ｋ２を同時に用いて、これらを同時に非線形最小二乗法（Ｌ−Ｍ法）により最適化する。これにより、１つの視点に偏らずに焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γおよびレンズ歪み係数ｋ１，ｋ２を最適化することができる。このステップＳ１１８における焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γおよびレンズ歪み係数ｋ１，ｋ２についての最適化処理が、本発明に係る第１の線形・歪パラメータ最適化ステップに相当する。
【００７５】
次に、コンピュータ装置１３は、ステップＳ１２０にて、内部パラメータＡＲ０，ＡＬ０における非線形成分であるレンズ歪み係数ｋ１，ｋ２について最適化を行う。このステップＳ１２０においてコンピュータ装置１３は、前記画素値の平均値ＭＡＤに換えて画素値の分散値ＶＭＡＤ（Variance of MAD）を用いてレンズ歪み係数ｋ１，ｋ２の最適化を行う。ここで、画素値の分散値ＶＭＡＤは、基準視点におけるカメラ１２Ｒ，１２Ｌの２次元画像座標系に投影された射影グレースケール画像撮像データＰＧＤｎ、および同基準視点にて取得されたグレースケール画像撮像データＧＤ０をそれぞれ複数の画素からなる複数の小ブロックに分けた各小ブロックごとに計算した画素値の平均値ＭＡＤの全小ブロックにおける分散値（偏差値）である。本実施形態においては、射影グレースケール画像撮像データＰＧＤｎおよびグレースケール画像撮像データＧＤ０をそれぞれ１６×１６画素の小ブロックごとに分けて画素値の分散値ＶＭＡＤを計算する。
【００７６】
そして、コンピュータ装置１３は、このステップＳ１２０においては、前記画素値の分散値ＶＭＡＤが最小となるレンズ歪み係数ｋ１，ｋ２を非線形最小二乗法（Ｌ−Ｍ法）を用いて特定する。このように、画素値の分散値ＶＭＡＤを用いることにより、比較対象である射影グレースケール画像データＰＧＤｎとグレースケール画像データＧＤ０とにおける各画素値の差が不均一に分布する状態、換言すれば、グレースケール画像Ｇ０に対する射影グレースケール画像ＰＧｎの傾き（平行度）が最小となるようにレンズ歪み係数ｋ１，ｋ２が最適化される。また、この場合、コンピュータ装置１３は、前記他の４つの視点における各レンズ歪み係数ｋ１，ｋ２を同時に用いて、これらを同時に非線形最小二乗法（Ｌ−Ｍ法）により最適化する。これにより、１つの視点に偏らずにレンズ歪み係数ｋ１，ｋ２を最適化することができる。このステップＳ１２０にレンズ歪み係数ｋ１，ｋ２について最適化処理が、本発明に係るレンズ歪みパラメータ最適化ステップに相当する。
【００７７】
次に、コンピュータ装置１３は、ステップＳ１２２にて、内部パラメータＡＲ０，ＡＬ０を構成する総てのパラメータ、すなわち、焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γおよびレンズ歪み係数ｋ１，ｋ２について最適化を行う。このステップＳ１２２における最適化処理は、前記ステップＳ１１８における最適化処理と同じ処理である。すなわち、このステップＳ１２２における最適化処理は、前記ステップＳ１２０にて最適化されたレンズ歪み係数ｋ１，ｋ２を含めて再度、焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙおよびせん断係数γを最適化することにより内部パラメータＡＲ０，ＡＬ０をより真値に近づけようとするものである。
【００７８】
具体的には、コンピュータ装置１３は、前記画素値の平均値ＭＡＤが最小となる焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γおよびレンズ歪み係数ｋ１，ｋ２を非線形最小二乗法（Ｌ−Ｍ法）を用いて特定する。この場合、コンピュータ装置１３は、前記他の４つの視点における各焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γおよびレンズ歪み係数ｋ１，ｋ２を同時に用いて、これらを同時に非線形最小二乗法（Ｌ−Ｍ法）により最適化する。これにより、１つの視点に偏らずに焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γおよびレンズ歪み係数ｋ１，ｋ２を最適化することができる。このステップＳ１１８における焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γおよびレンズ歪み係数ｋ１，ｋ２についての最適化処理が、本発明に係る第２の線形・歪パラメータ最適化ステップに相当する。
【００７９】
これらのステップＳ１１６〜Ｓ１２２の各処理が実行されることにより、内部パラメータＡＲ０，ＡＬ０の最適化が行われる。そして、これらステップＳ１１６〜Ｓ１２２による内部パラメータＡＲ０，ＡＬ０の最適化は、前記ステップＳ１１２における特徴点に基づいた特徴点ベースの最適化とは異なり、グレースケール画像撮像データＧＤを構成する総ての画素値に基づいて行われる画像ベースの最適化である。これにより、特徴点ベースの最適化に比べて真値に近い内部パラメータＡＲ０，ＡＬ０を算出することができる。
【００８０】
次に、コンピュータ装置１３は、ステップＳ１２４〜Ｓ１２６にて、外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎの最適化を行う。これらのステップＳ１２４〜Ｓ１２６における外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎの最適化は、前記ステップＳ１１６〜Ｓ１２２における内部パラメータＡＲ０，ＡＬ０の最適化と同様に、前記他の４つの視点にてそれぞれ取得したグレースケール画像撮像データＧＤによって表されるグレースケール画像Ｇｎ（ｎ＝１〜４）の向きを基準視点に合わせた射影グレースケール画像データＰＧＤｎと、基準視点にて撮像したグレースケール画像撮像データＧＤ０との画素値の差に基づいて行われる。
【００８１】
コンピュータ装置１３は、ステップＳ１２４にて、外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎを最適化する。具体的には、コンピュータ装置１３は、画素値の分散値ＶＭＡＤ＋を計算した後、この画素値の分散値ＶＭＡＤ＋が最小となる回転ベクトルＲＲｏ，ＲＬ０、並進ベクトルｔＲ０，ｔＬｏ、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎを非線形最小二乗法（Ｌ−Ｍ法）を用いて特定する。
【００８２】
このように、外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎを最適化に画素値の分散値ＶＭＡＤを用いることにより、比較対象である射影グレースケール画像データＰＧＤｎとグレースケール画像データＧＤ０とにおける各画素値の差が不均一に分布する状態、換言すれば、グレースケール画像Ｇ０に対する射影グレースケール画像ＰＧｎの傾き（平行度）が最小化される。
【００８３】
ここで、画素値の分散値ＶＭＡＤ＋は、下記数１１に示すように、画素値の分散値ＶＭＡＤＲＬと画素値の分散値ＶＭＡＤＬＲとを画素値の分散値ＶＭＡＤに合算した分散値である。ここで、画素値の分散値ＶＭＡＤＲＬは、カメラ１２Ｒで撮像したグレースケール画像Ｇ（またはカメラ１２Ｒの２次元画像座標系に投影された射影グレースケール画像ＰＧｎ）をカメラ１２Ｌの２次元画像座標系に投影した射影グレースケール画像ＰＧＤｎと基準視点におけるカメラ１２Ｌによる撮像によって取得したグレースケール画像撮像データＧＤ０との間で算出した画素値の分散値ＶＭＡＤである。また、画素値の分散値ＶＭＡＤＬＲは、カメラ１２Ｌで撮像されたグレースケール画像Ｇ（またはカメラ１２Ｌの２次元画像座標系に投影された射影グレースケール画像ＰＧｎ）をカメラ１２Ｒの２次元画像座標系に投影した射影グレースケール画像ＰＤｎと基準視点におけるカメラ１２Ｒによる撮像によって取得したグレースケール画像撮像データＧＤ０との間で算出した画素値の分散値ＶＭＡＤである。
【００８４】
【数１１】
2010197198.tif 000013
【００８５】
そして、この場合、コンピュータ装置１３は、前記他の４つの視点における各回転ベクトルＲｖｎおよび並進ベクトルｔｖｎを同時に用いて、これらを同時に非線形最小二乗法（Ｌ−Ｍ法）により最適化する。これにより、１つの視点に偏らずに回転ベクトルＲＲｏ，ＲＬ０、並進ベクトルｔＲ０，ｔＬｏ、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎを最適化することができる。このステップＳ１２４における外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎを最適化処理が、本発明に係る第１の外部パラメータ最適化ステップに相当する。
【００８６】
次に、コンピュータ装置１３は、ステップＳ１２６にて、外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０における並進ベクトルｔＲ０，ｔＬ０と、並進ベクトルｔｖｎとをそれぞれ最適化する。具体的には、コンピュータ装置１３は、画素値の平均値ＭＡＤ＋を計算した後、この画素値の平均値ＭＡＤ＋が最小となる並進ベクトルｔＲ０，ｔＬ０および並進ベクトルｔｖｎを非線形最小二乗法（Ｌ−Ｍ法）を用いて特定する。
【００８７】
ここで、画素値の平均値ＭＡＤ＋は、下記数１２に示すように、画素値の平均値ＭＡＤＲＬと画素値の平均値ＭＡＤＬＲとを画素値の平均値ＭＡＤに合算した分散値である。ここで、画素値の平均値ＭＡＤＲＬは、カメラ１２Ｒで撮像されたグレースケール画像Ｇ（またはカメラ１２Ｒの２次元画像座標系に投影された射影グレースケール画像ＰＧｎ）をカメラ１２Ｌの２次元画像座標系に投影した射影グレースケール画像ＰＧＤｎと基準視点におけるカメラ１２Ｌによる撮像によって取得したグレースケール画像撮像データＧＤ０との間で算出した画素値の平均値ＭＡＤである。また、画素値の平均値ＭＡＤＬＲは、カメラ１２Ｌで撮像されたグレースケール画像Ｇ（またはカメラ１２Ｌの２次元画像座標系に投影された射影グレースケール画像ＰＧｎ）をカメラ１２Ｒの２次元画像座標系に投影した射影グレースケール画像ＰＧＤｎと基準視点におけるカメラ１２Ｒによる撮像によって取得したグレースケール画像撮像データＧＤ０との間で算出した画素値の平均値ＭＡＤである。
【００８８】
【数１２】
2010197198.tif 000014
【００８９】
そして、この場合、コンピュータ装置１３は、前記他の４つの視点における各並進ベクトルｔｖｎを同時に用いて、これらを同時に非線形最小二乗法（Ｌ−Ｍ法）により最適化する。これにより、１つの視点に偏らずに並進ベクトルｔＲ０，ｔＬ０および並進ベクトルｔｖｎを最適化することができる。
【００９０】
なお、このステップＳ１２６における並進ベクトルｔＲ０，ｔＬ０および並進ベクトルｔｖｎについて最適化処理においては、外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０を構成する他のパラメータである回転ベクトルＲＲｏ，ＲＬ０、回転ベクトルＲｖｎおよび内部パラメータＡＲ０，ＡＬ０の各値は固定である。これにより、グレースケール画像Ｇ０に対する射影グレースケール画像ＰＧｎの傾きを変化させることなく、射影グレースケール画像ＰＧを平行移動させてグレースケール画像Ｇにより接近させることができる。このステップＳ１２６における並進ベクトルｔＲ０，ｔＬ０および並進ベクトルｔｖｎについて最適化処理が、本発明に係る第２の外部パラメータ最適化ステップに相当する。
【００９１】
これらのステップＳ１２４〜Ｓ１２６の各処理が実行されることにより、外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎの最適化が行われる。そして、これらステップＳ１２４〜Ｓ１２６による外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎの最適化は、前記ステップＳ１１２における特徴点に基づいた特徴点ベースの最適化とは異なり、グレースケール画像撮像データを構成する総ての画素値に基づいて行われる画像ベースの最適化である。これにより、特徴点ベースの最適化に比べて真値に近い外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎを算出することができる。また、外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０の最適化とともに回転ベクトルＲｖｎおよび並進ベクトルｔｖｎを最適化しているため、外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０をより真値に近づけることができる。
【００９２】
次に、コンピュータ装置１３は、ステップ１２８にて、画像ベースによる内部パラメータＡＲ０，ＡＬ０、外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎの最適化処理を３回実行したか否かを判定する。したがって、このステップＳ１２８における判定処理においては、画像ベースによる内部パラメータＡＲ０，ＡＬ０、外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎの最適化処理を３回通して実行するまでの間、「Ｎｏ」と判定されて、ステップＳ１１６に戻る。この場合、２回目以降のステップＳ１１６〜Ｓ１２６の各処理は、前記と同様であるので、その説明は省略する。このように、ステップＳ１１６〜Ｓ１２６の各処理が３回繰り返し実行されることにより、内部パラメータＡＲ０，ＡＬ０、外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎがより真値に収束するようになる。
【００９３】
そして、コンピュータ装置１３は、画像ベースによる内部パラメータＡＲ０，ＡＬ０、外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎの最適化処理を３回繰り返し実行した場合には、同判定処理にて「Ｙｅｓ」と判定してステップＳ１３０に進み、このキャリブレーションプログラムの実行を終了する。これにより、カメラ１２Ｒ，１２Ｌのキャリブレーション作業が終了する。
【００９４】
上記作動説明からも理解できるように、上記実施形態によれば、既知パターン画像Ｋにおける複数の特徴点Ｐに基づいた内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］を用いて各視点ごとに撮像したグレースケール画像Ｇを基準視点に合わせるための回転ベクトルＲｖｎおよび並進ベクトルｔｖｎを計算して、これら回転ベクトルＲｖｎおよび並進ベクトルｔｖｎを用いてグレースケール画像Ｇを基準視点に合わせた射影グレースケール画像ＰＤｎを表す射影グレースケール撮像画像データＰＧＤｎと基準視点にて撮像したグレースケール画像Ｇを表すグレースケール撮像画像データＧＤ０との差を用いて前記内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］を最適化している。この場合、最適化に用いる射影グレースケール撮像画像データＰＧＤｎおよびグレースケール撮像画像データＧＤｎの画素値の数は特徴点Ｐの数よりも多い。すなわち、本発明は、従来技術により算出した特徴点ベースの内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］を、特徴点Ｐの数より多い数の画素値を用いて最適化している。これにより、特徴点Ｐ以外の位置での被測定物の測定精度の低下、および１つの特徴点の測定誤差が与える内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］の計算精度の低下を抑制することができる。すなわち、従来技術に比べてより真値に近い内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］を算出することができる。その結果、被測定物の測定精度を向上させることができる。
【００９５】
さらに、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
【００９６】
例えば、上記実施形態においては、キャリブレーションプログラムにおけるステップＳ１０２〜Ｓ１０６において既知パターン画像Ｋおよびグレースケール画像Ｇ（グレイコード画像Ｓ）をそれぞれ互いに異なる５つの位置（視点）から撮像した。しかし、既知パターン画像Ｋおよびグレースケール画像Ｇを撮像する互いに異なる位置（視点）の数は、内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］が算出できれば、上記実施形態に限定されるものではない。すなわち、少なくとも、互いに異なる３つの位置（視点）から撮像すればよい。これによっても、上記実施形態と同様の効果が期待できる。
【００９７】
また、上記実施形態においては、既知パターン画像Ｋを市松模様で構成した。しかし、既知パターン画像Ｋは、ワールド座標系での位置が既知の複数の特徴点を画像処理により特定できる図柄であれば、上記実施形態に限定されるものではない。例えば、複数の方形画像に換えて複数の円形画像によって既知パターン画像を構成して、各円形画像の中心位置を特徴点として用いるようにしてもよい。これによっても、上記実施形態と同様の効果が期待できる。
【００９８】
また、上記実施形態においては、縞の間隔が狭くなる複数枚のグレイコード画像Ｓを連続して撮像することによりグレースケール画像Ｇを生成した。しかし、グレースケール画像Ｇは、画像の濃淡が同一平面上において一方から他方に向って連続的に変化する画像であれば、上記実施形態に限定されるものではない。例えば、グレースケール画像Ｇ自体を表示装置１１の画面に表示させてもよいし、画像の濃淡が変化する方向も図示斜め方向、同心円方向などであってもよい。これらによっても、上記実施形態と同様の効果が期待できる。
【００９９】
また、上記実施形態においては、内部パラメータＡを、カメラ１２Ｒ，１２Ｌの各焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γおよびレンズ歪み係数ｋ１，ｋ２で構成するとともに、外部パラメータ［Ｒ，ｔ］は、カメラ１２Ｒ，１２Ｌの光軸の向きおよび位置（例えば、レンズの画像中心座標）を表す回転ベクトルＲおよび並進ベクトルｔで構成した。しかし、内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］は、カメラ１２Ｒ，１２Ｌの内部的特性および外部環境を表すものであればよく、必ずしも上記実施形態に限定されるものではない。すなわち、上記実施形態における内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］を構成する各種パラメータの数を減じてもよいし、これら以外の他のパラメータ（例えば、アスペクト比αなど）を加えても良い。なお、上記実施形態で用いたレンズ歪み係数ｋ１，ｋ２は、内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］の最適化に対する影響（支配性）が小さいことがあるため、レンズ歪み係数ｋ１，ｋ２の最適化を省略することにより最適化に要する処理負担を軽減することができる。
【０１００】
また、上記実施形態においては、射影グレースケール撮像画像データＰＧＤｎおよびグレースケール撮像画像データＧＤｎを構成する総ての画素の画素値を用いて内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］の最適化するように構成した。しかし、内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］の最適化処理に用いる画素の数は、少なくとも既知パターン画像Ｋにおける特徴点Ｐの数よりも多ければ、上記実施形態に限定されるものではない。これによっても、上記実施形態と同様の効果が期待できる。
【０１０１】
また、上記実施形態においては、内部パラメータＡの最適化の処理を内部パラメータＡを構成する各焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γおよびレンズ歪み係数ｋ１，ｋ２を組み合わせた複数のステップによって段階的に行うように構成した。これは、最適化される焦点距離ｆ、画像中心座標Ｃｘ，Ｃｙ、せん断係数γおよびレンズ歪み係数ｋ１，ｋ２が真値に収束または近似せずに局所解に収束することを避けるためである。すなわち、本発明者らは、実験により、内部パラメータＡが「カメラの焦点距離ｆ」、「画像中心Ｃｘ，Ｃｙ」、「せん断係数γ」、および「レンズ歪み係数ｋ１，ｋ２」を含む場合には、内部パラメータＡの最適化は、前記ステップＳ１１６〜Ｓ１２２に示す処理内容および処理順番で実行することにより局所解への収束を効果的に防止できることを見出したものである。
【０１０２】
また、上記実施形態においては、外部パラメータ［Ｒ，ｔ］の最適化の処理を回転ベクトル成分と並進ベクトル成分とを同時に最適化した後、更に、並進ベクトル成分のみを最適化するように構成した（ステップＳ１２４，ステップＳ１２６）。これは、外部パラメータ［Ｒ，ｔ］における回転ベクトル成分と並進ベクトル成分とを分散値ＶＭＡＤを用いて同時に最適化した場合、グレースケール画像Ｇ０に対する射影グレースケール画像ＰＧｎの傾き（平行度）が最小化される一方で、グレースケール画像Ｇ０に対する射影グレースケール画像ＰＧｎの位置が離れることがあるためである。
【０１０３】
したがって、上記実施形態においては、外部パラメータ［Ｒ，ｔ］の最適化の処理を回転ベクトル成分と並進ベクトル成分とを同時に最適化した後、更に、並進ベクトル成分のみを最適化することにより、グレースケール画像Ｇ０に対する射影グレースケール画像ＰＧｎの位置を一致させるようにしている。しかし、本発明者らによる実験によれば、外部パラメータ［Ｒ，ｔ］における回転ベクトル成分および並進ベクトル成分の最適化による並進ベクトル成分のずれ量は致命的なほど大きくはないため、並進ベクトル成分のみの最適化処理を省略することもできる。
【０１０４】
また、上記実施形態においては、外部パラメータ［Ｒ，ｔ］の最適化処理においては、外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０の最適化処理に伴い、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎも最適化した。しかし、本発明者らによる実験によれば、外部パラメータ［Ｒ，ｔ］の最適化処理に際して、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎの最適化を行なわなくても、上記実施形態に準じた精度で外部パラメータ［Ｒ，ｔ］を最適化することができることを確認している。
【０１０５】
なお、本発明者らによる実験によれば、上記実施形態のように構成される内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］においては、前記ステップＳ１１６〜Ｓ１２６に示す処理内容および処理順番で実行することにより局所解への収束を効果的に防止できることを見出している。
【０１０６】
ただし、本発明は、前記ステップＳ１１６〜Ｓ１２６に示す処理内容および処理順番で実行することに限定するものではない。内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］を最適化するための上記処理内容および処理順番は、被測定物の測定に必要な精度に応じて適宜決定されるものである。すなわち、内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］を同時に最適化するように構成してもよいし、内部パラメータＡを構成するパラメータ同士を同時に最適化した後、外部パラメータ［Ｒ，ｔ］を構成するパラメータ同士を同時に最適化するようにしてもよいし、外部パラメータ［Ｒ，ｔ］を最適化した後に内部パラメータＡを最適化するように構成することもできる。
【０１０７】
また、ステップＳ１１６〜Ｓ１２６における内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］の最適化処理を繰り返し複数回実行する回数も、被測定物の測定に必要な精度に応じて適宜決定されるものであり、必ずしも上記実施形態に限定されるものではい。すなわち、内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］の最適化処理をそれぞれ１回のみ実行するようにしてもよいし、内部パラメータＡおよび外部パラメータ［Ｒ，ｔ］の最適化処理を４回以上繰り返し実行するようにしてもよい。
【０１０８】
また、上記実施形態においては、ステップＳ１２０におけるレンズ歪み係数ｋ１，ｋ２の最適化処理、およびステップＳ１２４における外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎを最適化処理において、画素値の分散値ＶＭＡＤを用いた。しかし、本発明者らによる実験によれば、これらの各最適化処理において画素値の平均値ＭＡＤを用いてもレンズ歪み係数ｋ１，ｋ２、外部パラメータ［Ｒ，ｔ］Ｒ０，［Ｒ，ｔ］Ｌ０、回転ベクトルＲｖｎおよび並進ベクトルｔｖｎを上記実施形態に準じた精度で最適化可能であることを確認している。
【符号の説明】
【０１０９】
Ｋ…既知パターン画像、Ｇ…グレースケール画像、Ｓ…グレイコード画像、１１…表示装置、１２Ｒ，１２Ｌ…カメラ、１３…コンピュータ装置、１４…コンピュータ本体、１５…表示装置。
【図１】
2010197198.tif 000015
【図２】
2010197198.tif 000016
【図３】
2010197198.tif 000017
【図６】
2010197198.tif 000018
【図４】
2010197198.tif 000019
【図５】
2010197198.tif 000020