(57)【要約】【課題】スリット平面の式を必要とせず、そのためキャリブレーションにおいても精度を要求される設定準備を不要とした容易に行える３次元形状計測装置のキャリブレーション方法およびこれを使用した３次元形状計測方法を提供する。【解決手段】相互間の距離が既知で撮像部からの距離が異なる複数の平行な平面にスリットパターンが投影された状態を撮像する第１のステップと、各前記平面毎に該スリットパターンの像の位置と形状を表現する式のパラメータを各スリット像毎に計算する第２のステップと、該スリットパターンの像を観測した平面の高さ座標と関連づけて各スリット毎に該パラメータを記憶する第３のステップと、を有する。【選択図】図１
2008224370.tif 000002
【特許請求の範囲】
【請求項１】
投影部により一つ又は識別可能な複数のスリットのスリットパターンを対象物に投影し、その状態を撮像部により撮像して得られる画像に基づいて前記対象物の３次元形状を計測する３次元形状計測装置のキャリブレーション方法であって、
相互間の距離が既知で前記撮像部からの距離が異なる複数の平行な平面に該スリットパターンが投影された状態を撮像する第１のステップと、
各前記平面毎に該スリットパターンの像の位置と形状を表現する式のパラメータを各スリット像毎に計算する第２のステップと、
該スリットパターンの像を観測した平面の高さ座標と関連づけて各スリット毎に該パラメータを記憶する第３のステップと、
を有することを特徴とする３次元形状計測装置のキャリブレーション方法。
【請求項２】
第２のステップにおいて、スリットパターンの像を直線とみなして、スリット像の直線のパラメータを計算することを特徴とする請求項１に記載の３次元形状計測装置のキャリブレーション方法。
【請求項３】
第２のステップにおいて、スリットパターンの像を区分直線とみなして、スリット像の直線のパラメータを複数の区分直線のパラメータの組として計算することを特徴とする請求項１に記載の３次元形状計測装置のキャリブレーション方法。
【請求項４】
第２のステップにおいて、スリットパターンの像を曲線とみなして、直線のパラメータの代わりに曲線のパラメータを計算することを特徴とする請求項１に記載の３次元形状計測装置のキャリブレーション方法。
【請求項５】
相互間の距離が既知の複数の平行な面を有するキャリブレーション用ワークを使用することを特徴とする請求項１に記載の３次元形状計測装置のキャリブレーション方法。
【請求項６】
第１のステップにおいて、３つ以上の平行な平面にスリットパターンが投影された状態を撮像することを特徴とする請求項１に記載の３次元形状計測装置のキャリブレーション方法。
【請求項７】
投影部により一つ又は識別可能な複数のスリットのスリットパターンを対象物に投影し、その状態を撮像部により撮像して得られる画像に基づいて前記対象物の３次元形状を計測する３次元形状計測方法において、
画像の各画素位置に結像された反射光がいずれのスリットからの光であるかを判定する第１のステップと、
請求項１のキャリブレーション方法によってキャリブレーション時の平面の高さ座標と関連づけられて記憶されている各スリット像毎の位置と形状を表現する式のパラメータの中から該スリットに対応する各平面対応のパラメータを読み出す第２のステップと、
該読み出した複数の平面に対応するパラメータの中から二つの平面に対応するパラメータを選択する第３のステップと、
該選択された二つのパラメータと該画素の座標から該画素位置に撮像された対象物の表面の高さ座標を計算する第４のステップと、
を有することを特徴とする３次元形状計測方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、対象物にスリットパターンを投影して３次元形状を計測する３次元形状計測装置のキャリブレーション方法および３次元形状計測方法に関する。
【背景技術】
【０００２】
下記非特許文献１には、スリットパターンを対象物に投影して、その状態をカメラで撮像した画像から、対象物の３次元形状を計算する原理が記載されている。
【０００３】
また、下記特許文献１や非特許文献２には、仮想的なパターン投影レンズのレンズ中心を想定しない、レーザダイオードと回転ポリゴンミラーによるスリットパターン投影方法に適合したキャリブレーション方法が記載されている。
【０００４】
【特許文献１】特開２００３−６５７３８号公報
【非特許文献１】井口征士、佐藤宏介  著、「三次元画像計測」昭晃堂、pp.79-91、(1990年11月20日)
【非特許文献２】山内航一郎、佐藤幸男：「レンジファインダの幾何モデルと校正手法」、第12回画像センシングシンポジウム予稿集、pp.194-198、2006年6月7日〜9日
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記特許文献１や非特許文献２に示された、仮想的なパターン投影レンズのレンズ中心を想定しない、レーザダイオードと回転ポリゴンミラーによるスリットパターン投影方法に適合したキャリブレーション方法においては、以下のような問題があった。
第１に、事前にカメラキャリブレーションが必要であるが、一般に精度のよいカメラキャリブレーションは容易ではない。
第２に、カメラの光軸に垂直にキャリブレーション用スクリーンを設置する場合、光軸とスクリーン面の垂直性の判定が難しく、精度のよい設置は容易ではない。
第３に、レンズの外観からレンズ中心を知ることができないため、カメラのレンズ中心とキャリブレーション用スクリーンの間の距離を精度よく計測することが難しい。
【０００６】
以上のように、従来技術によるキャリブレーションは、スリットパターンをスクリーンに投影してカメラで観測する以前の、キャリブレーションを実施する設定準備段階で誤差を生じやすいステップが多く、精度良いキャリブレーションを実現するためには、細心の注意と多大の時間を要していた。
【０００７】
従来のキャリブレーション方法において、上記の第１、第２、第３の精度を出すことが容易でない設定準備が必要であったのは、カメラ座標系の３次元空間におけるスリット平面の位置を精度よく求めるためである。これは、計測対象物の３次元座標の計算にスリット平面の式を用いる計算モデルを採用していたためである。
【０００８】
この発明は、スリット平面の式を必要とせず、そのためキャリブレーションにおいても前述のような精度を要求される設定準備を不要とした容易に行える３次元形状計測装置のキャリブレーション方法および３次元形状計測方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
この発明は、投影部により一つ又は識別可能な複数のスリットのスリットパターンを対象物に投影し、その状態を撮像部により撮像して得られる画像に基づいて前記対象物の３次元形状を計測する３次元形状計測装置のキャリブレーション方法であって、相互間の距離が既知で前記撮像部からの距離が異なる複数の平行な平面に該スリットパターンが投影された状態を撮像する第１のステップと、各前記平面毎に該スリットパターンの像の位置と形状を表現する式のパラメータを各スリット像毎に計算する第２のステップと、該スリットパターンの像を観測した平面の高さ座標と関連づけて各スリット毎に該パラメータを記憶する第３のステップと、を有することを特徴とする３次元形状計測装置のキャリブレーション方法にある。
【００１０】
また、投影部により一つ又は識別可能な複数のスリットのスリットパターンを対象物に投影し、その状態を撮像部により撮像して得られる画像に基づいて前記対象物の３次元形状を計測する３次元形状計測方法において、画像の各画素位置に結像された反射光がいずれのスリットからの光であるかを判定する第１のステップと、請求項１のキャリブレーション方法によってキャリブレーション時の平面の高さ座標と関連づけられて記憶されている各スリット像毎の位置と形状を表現する式のパラメータの中から該スリットに対応する各平面対応のパラメータを読み出す第２のステップと、該読み出した複数の平面に対応するパラメータの中から二つの平面に対応するパラメータを選択する第３のステップと、該選択された二つのパラメータと該画素の座標から該画素位置に撮像された対象物の表面の高さ座標を計算する第４のステップと、を有することを特徴とする３次元形状計測方法にある。
【発明の効果】
【００１１】
この発明における３次元形状計測の方法は、スリット平面の式を必要とせず、そのためキャリブレーションにおいても精度を要求される設定準備が不要となり、キャリブレーションが容易に行える。また、平行な２平面に投影されたスリット像の形状を直接利用して奥行き座標Ｚを計算するため、中間的なスリット平面の計算を必要とせず、スリット平面の計算誤差に影響されない。
【発明を実施するための最良の形態】
【００１２】
この発明の説明を行う前に従来技術について少し説明を行う。
【００１３】
上記非特許文献１には、スリットパターンを対象物に投影して、その状態をカメラで撮像した画像から、対象物の３次元形状を計算する原理が記載されている。
【００１４】
当時、液晶シャッターマスクにスリットパターンを発生させ、それをレンズを通して対象物に投影するする方法がもっとも進んでいた。このような装置では投影されるスリットパターンはすべてパターンを投影するレンズの中心を通るとみなすことができる。そこで装置のキャリブレーションとして、カメラ座標系からみたパターン投影レンズのレンズ中心の３次元座標と各スリットが空間に投影されてできるスリット平面の法線方向を精度よく求めることがなされた。３次元空間の1点と法線方向が定まれば、３次元空間の平面は決定される。
【００１５】
投影されたスリット光が対象物の表面で反射されてカメラのある画素に結像したとき、その画素とカメラのレンズ中心を結ぶ直線と、対応するスリット平面の交点を物体表面の３次元座標として計算するのが、この手法の原理である。
【００１６】
なお、投影されるスリットが複数の場合、撮像されたスリット像がどのスリットに対応しているかを判別する必要があるが、そのための方法として、１枚だけのスリットパターンでなく、スリット幅が順次半減する一連のスリットパターンを投影し、その像として明暗がどのように変化したかによってスリットを識別する、空間コード化法と呼ばれる方法が一般的である。その手法については上記非特許文献１に詳しく述べられている。本明細書ではスリットが識別できることを前提とし、その方法については説明を省略する。
【００１７】
またその後、スリットパターンを投影する方法として、レーザダイオードのスポット光をシリンドリカルレンズで細い線状に広げ、それを回転ポリゴンミラーで偏向させ、ポリゴンミラーの回転と同期してレーザダイオードの出力をオン、オフすることにより、実質的に平面のスリットパターンを投影するのと同じ照明を実現する方法が開発された。この場合、従前のパターン投影レンズは存在しないが、仮想的にパターン投影レンズが存在するものとして、仮想のレンズ中心を計算する方法でキャリブレーションがなされる。
【００１８】
しかし、ポリゴンミラーを用いた場合、厳密には従前のパターン投影レンズのレンズ中心のように、すべてのスリット平面に共通の点は存在せず、計測精度を向上するために新たなキャリブレーション方法が必要と考えられるようになった。
【００１９】
上記特許文献１はそのような、新しいキャリブレーション方法に関するものであり、全スリット平面に共通な点を想定せず、全てのスリット平面を個々にキャリブレーションする方法である。
【００２０】
上記特許文献１のキャリブレーション方法について説明すると、スリット平面のキャリブレーションに先立って、まずカメラ単体のキャリブレーションが実施される。これはカメラの座標系からみた３次元空間の点(X, Y, Z)がカメラ撮像面のどの座標(u, v)に投影されるかを関係付ける式のパラメータを決定するものである。その結果、点(X, Y, Z)が決まれば対応する画像座標(u, v)が計算できる。一方、画像座標(u, v)が決まっても３次元空間の対応点(X, Y, Z)は一意には計算で決まらない。しかし、Ｚが既知ならば、(u, v)に対応する(X, Y, Z)を計算することができる。このことは３次元の対象物をあつかう画像処理の分野ではよく知られた事実である。
【００２１】
そこで特許文献１のキャリブレーション方法では、カメラ座標からみたＺ座標がZ1の位置にカメラの光軸に垂直なスクリーンを張り、スリット光を投影してその像を観測し、さらにスクリーンをZ2の位置に平行移動した後、再度スリット光を投影してその像を観測する。
【００２２】
次に、スクリーンがZ1の位置のときのスリット像の異なる適当な２点を選び、スクリーンがZ2の位置のときのスリット像から適当な１点を選ぶ。前述のように、それら３点に対応する３次元空間の座標は、Ｚ座標が既知であり、カメラキャリブレーションの結果を用いて計算することができる。それらの３次元空間の３点は対応するスリット平面が通る点である。３次元空間で異なる３点を通る平面は唯一つで、３点の３次元座標から平面の式は決定される。
【００２３】
この平面の式のパラメータを全てのスリット平面について計算し、キャリブレーション結果として記憶しておくのが、特許文献１のキャリブレーション方法である。
【００２４】
このキャリブレーション結果を用いた３次元計測は原理的に次のようになされる。あるスリット光が対象物に反射して撮像面の(u, v)の位置に結像したとすると、対応する対象物の表面の３次元座標は、カメラのレンズ中心と点(u, v)を結ぶ直線と、上記キャリブレーション結果から得られる３次元空間の対応スリット平面との交点として得られる。
【００２５】
上記非特許文献２には特許文献１と原理的に等しいキャリブレーション方法が記述されているが、採用するスリット平面パラメータを具体的に定め、計算プロセスについても詳しく記載し、実験結果も示している。
【００２６】
しかしながらこれらの方法は、計測対象物の３次元座標の計算にスリット平面の式を用いる計算モデルを採用しているため、カメラ座標系の３次元空間におけるスリット平面の位置を精度よく求めるため、精度良いキャリブレーションを実現するためには、細心の注意と多大の時間を要していた。
【００２７】
図９にこの発明に係る３次元形状計測装置の概略的な構成を示す。３次元計測装置は、スリットパターン投影部１、撮像部２、およびコンピュータで構成された制御処理部３等からなる。スリットパターン投影部１には、光源１ａおよび横方向に延びた複数のスリットが形成されたパターンマスク１ｂなどが設けられる。光源１ａは、白色光を発光するフラッシュ光源である。また、光源１ａから射出した光を集光するためのコンデンサレンズおよび投影レンズ(図示省略)などが必要に応じて設けられる。
【００２８】
撮像部２は、静止画または動画を撮像することが可能なデジタル式のカメラ２ａによって構成される。カメラ２ａには、撮像レンズおよびイメージセンサ(図示省略)などが設けられる。イメージセンサによって、対象物などに投影された縞パターンを撮影(撮像)する。撮像レンズによって、対象物の表面にピントが合わされる。撮像部２において最もピントの合う面が基準面である。
【００２９】
投影部１の投影レンズの主点位置とカメラ２ａの撮像レンズの主点位置とが所定の距離(基線長)だけ離れた位置となるように、投影部１および撮像部２が配置され、固定される。
【００３０】
制御処理部３は、ＣＰＵ３ａ、入出力インタフェース３ｂ、プログラムやデータを格納したメモリ３ｃ、並びにディスプレイ装置、キーボード、マウス等(図示省略)からなる。
【００３１】
実施の形態１．
以下この発明の一実施の形態による３次元形状計測装置のキャリブレーション方法について説明する。図１はこの発明におけるキャリブレーションを実施している様子を示す図である。図９に示すスリットパターン投影部１からｋ番目のスリットパターンが投影され、スリット平面ｋ１０はその光線が通る面を表す平面である。実際には、識別可能な多数のスリットパターンが投影されるが、キャリブレーションは各スリットパターン像毎に独立になされるので、代表してｋ番目のスリットについて図示し、説明する。
【００３２】
基準面２０の上に直方体のキャリブレーション用ワーク３０が載置されている。基準面２０の高さ座標をＺ＝Ｚ０、キャリブレーション用ワーク３０の上面の高さ座標をＺ＝Ｚ１とする。基準面２０とキャリブレーション用ワーク３０の上面は平行である。
【００３３】
５０および５１はスリット平面ｋ１０と基準面２０との交線である。同様に６０はスリット平面ｋ１０とキャリブレーション用ワーク３０の上面との交線である。投影されたスリット光は５０、５１および６０の直線上で反射される。
【００３４】
図２は図１の状態を撮像部２のカメラ２ａで撮像したキャリブレーション画像１００を示している。基準面２０とカメラ２ａの光軸が必ずしも垂直でなくてもよいことを強調するため、キャリブレーション用ワーク３０の側面が少しだけ描かれている。
【００３５】
キャリブレーション用ワーク３０の上面、および基準面２０で反射されたスリット光はキャリブレーション画像１００の上で、５０、５１および６０の直線として撮像される。直線５０と５１は二つに分かれているが、同じ直線上にあることは明らかである。以下では直線５０といった場合、５１も含むものとする。３次元空間では直線５０と直線６０は平行であるが、キャリブレーション画像１００上で観測される直線５０と直線６０は必ずしも平行とは限らない。
【００３６】
制御処理部３で行われるこの発明によるキャリブレーションは、キャリブレーション画像１００上の直線５０および直線６０を表すパラメータを計算する。平面上の直線を表現する式はいくつかあるが、ここでは(ρ，θ)表現を用いる。画像の左上隅を原点として、原点から直線までの距離をρ、原点から直線に降ろした垂線とｕ軸とのなす角度をθとすると、直線は
【００３７】
ｕ・ｃｏｓθ＋ｖ・ｓｉｎθ＝ρ                  (１)
【００３８】
であらわすことができる。画像上の直線を抽出する方法としてはハフ変換がよくしられており、(ρ，θ)はハフ変換の手法により容易に求めることができる。ただし、(ρ，θ)を求める手法はハフ変換に限るものではなく、また直線の表現としても(ρ，θ)表現に限るものではない。
【００３９】
ここで直線５０が
【００４０】
ｕ・ｃｏｓθ０＋ｖ・ｓｉｎθ０＝ρ０              (２)
【００４１】
直線６０が
【００４２】
ｕ・ｃｏｓθ１＋ｖ・ｓｉｎθ１＝ρ１              (３)
【００４３】
のように求められたとすると、ｋ番目のスリットに対するキャリブレーションデータとして、(ｋ：Ｚ０、ρ０、θ０)、(ｋ：Ｚ１、ρ１、θ１)のデータの組を制御処理部３のメモリ３ｃに記憶する。
【００４４】
以上、この実施の形態１におけるキャリブレーションをまとめると、次のようになる。
(１)  最初に、直方体のキャリブレーション用ワークを計測対象領域の基準面上にセットする。置き方に厳密性は問わない。
(２)  次に、スリット光を投影する。
(３)  次に、スリット像を撮像する。
(４)  次に、基準面上のスリット像である直線、および該直方体の上面のスリット像である直線をあらわすパラメータを抽出する。
(５)  次にスリット番号と抽出パラメータの組をキャリブレーションデータとして記憶する。
【００４５】
実施の形態２．
この実施の形態は、実施の形態１のキャリブレーション方法にもとづく３次元形状計測方法に関するものである。図３は、ドーム状の計測対象物２００を基準面２０の上に載置して、その形状を計測している様子を示したものである。説明のためにスリット平面ｋ１０のみが図示されているが、実際には多数のスリットパターンが投影される。図４はその状態を撮像部２のカメラ２ａで撮像した計測画像１０１を示している。カメラ２ａと基準面、およびスリット平面の相対的位置関係は図１のキャリブレーション時と同じである。
【００４６】
従ってスリット平面ｋ１０と基準面２０との交線である直線５０は図２のキャリブレーション画像１００と図４の計測画像１０１では、同じ位置に観測される。曲線７０は計測対象物２００とスリット平面ｋ１０との交線である。図２で観測された直線６０は図４では観測されないが、参考のために破線６０で示している。３次元空間では直線５０、６０および曲線７０は同じスリット平面ｋ１０の上に載っている。
【００４７】
計測画像１０１において、曲線７０上の任意の点(ｕ’，ｖ’)はスリット光ｋの反射が観測される点である。このような点の高さ座標Ｚ’が、実施の形態１のキャリブレーション法の結果に基づいて計算できることを示す。
【００４８】
まず図５に示すように、点(ｕ’，ｖ’)を通り、直線５０および６０の両方と交差する任意の補助線８０を引き、直線５０と補助線８０の交点を(ｕ０，ｖ０)、直線６０と補助線８０の交点を(ｕ１，ｖ１)とする。補助線８０はｕ軸に平行でもよい。その場合、
【００４９】
ｖ０＝ｖ１＝ｖ’                (４)
【００５０】
となり、ｕ０、ｕ１は式(４)を式(２)及び式(３)に代入して解くことにより得られる。補助線８０を直線５０と交差する角度が直線６０と交差する角度と等しくなるように引くとすると、そのような直線の式は
【００５１】
ｕ・ｓｉｎ{(θ０＋θ１)／２}−ｖ・ｃｏｓ{(θ０＋θ１)／２}＝ρ’      (５)
【００５２】
の形となる。ここでρ’は式(５)で示される直線が(ｕ’，ｖ’)を通ることから定まり、(ｕ０，ｖ０)、(ｕ１，ｖ１)は式(５)と式(２)及び式(３)との連立方程式を解いて得られる。
【００５３】
点(ｕ’，ｖ’)に対応する３次元空間の座標を(Ｘ’，Ｙ’，Ｚ’)とする。同様に点(ｕ０，ｖ０)、(ｕ１，ｖ１)に対応する３次元空間の座標をそれぞれ(Ｘ０，Ｙ０，Ｚ０)、(Ｘ１，Ｙ１，Ｚ１)とする。図６は補助線８０を３次元空間に引きなおした図で、点(ｕ’，ｖ’)、(ｕ０，ｖ０)、(ｕ１，ｖ１)の３次元空間での対応点を図示している。
【００５４】
３次元空間を２次元の画像平面に射影するカメラモデルとして、カメラ２ａから対象までの距離が、対象の奥行きに比較して十分大きければ、平行射影モデルで近似しても誤差の少ないことが知られている。そこでまず、カメラ２ａを平行射影モデルで近似できるとき、Ｚ０，Ｚ１、ｕ０、ｕ１、ｕ’からＺ’が計算できることを示す。
【００５５】
図７は、３次元空間の補助線８０を通って、カメラ２ａの光軸に平行な面に、ｕ＝ｕ０、ｕ＝ｕ’、ｕ＝ｕ１の直線を通ってカメラ光軸に平行な各面との交線、およびＺ＝Ｚ０、Ｚ＝Ｚ’、Ｚ＝Ｚ１の各面との交線を表示したものである。３００は画像面を示す。カメラ２ａとして平行射影モデルを考えているのでｕ＝ｕ０、ｕ＝ｕ’、ｕ＝ｕ１の直線を通る各面との交線は互いに平行になる。Ｚ平面とカメラ２ａの光軸が必ずしも垂直である必要がないことを強調するため、ｕに関する直線群と、Ｚとに関する直線群が垂直でない図にしてある。
【００５６】
図７を見ると三角形の相似形から
【００５７】
(ｕ’−ｕ０)／(ｕ１−ｕ０)＝(Ｚ’−Ｚ０)／(Ｚ１−Ｚ０)        (６)
【００５８】
となる。したがってＺ’は次式で計算される。
【００５９】
Ｚ’＝{(ｕ’−ｕ０)／(ｕ１−ｕ０)}(Ｚ１−Ｚ０)＋Ｚ０          (７)
【００６０】
次に、カメラ２ａを中心投影モデルとして考える場合でも、Ｚ０，Ｚ１、ｕ０、ｕ１、ｕ’からＺ’が計算できることを示す。
【００６１】
図８は補助線８０が画像面３００に投影されている様子をＸＺ平面に投影してみているものである。Ｃはカメラ２ａの投影中心(レンズ中心)で、３次元空間の点はその点と投影中心を結ぶ直線が画像面と交差する点に結像する。説明の厳密さを期すため、この図８ではカメラ２ａの光軸ＬＡとＺ平面は垂直になるように設置されているものとする。ｕ軸の原点およびＸ軸の原点はカメラ２ａの光軸との交点とする。画像面３００は投影中心Ｃからｆの距離(焦点距離)にあるものとする。
【００６２】
図８において補助線８０の直線は
【００６３】
Ｘ＝{(Ｘ１−Ｘ０)／(Ｚ１−Ｚ０)}(Ｚ−Ｚ０)＋Ｘ０          (８)
【００６４】
であらわされる。一方、中心投影による結像の公式から
【００６５】
ｕ＝ｆＸ／Ｚ              (９)
【００６６】
である。式(８)、式(９)を利用すると、
【００６７】
(ｕ’−ｕ０)／(ｕ１−ｕ０)＝{Ｚ１(Ｚ’−Ｚ０)}／{Ｚ’(Ｚ１−Ｚ０)}    (１０)
【００６８】
が導かれる。式(６)と式(１０)を比較するとＺ１／Ｚ’が中心投影の効果といえる。
【００６９】
ｒ＝(ｕ’−ｕ０)／(ｕ１−ｕ０)          (１１)
【００７０】
と置くと、式(１０)を解いて
【００７１】
Ｚ’＝Ｚ０Ｚ１／{ｒＺ０＋(１−ｒ)Ｚ１}            (１２)
【００７２】
が得られる。
【００７３】
式(１２)の導出においてはカメラ２ａの光軸と基準面２０が垂直であることを前提としたが、垂直でなくてもｒ＝０およびｒ＝１の場合には誤差がゼロであることは式(１２)をみれば明白であり、その中間のｒの値についても、カメラ２ａの光軸と基準面２０が垂直の関係から少しずれていたとしても十分精度のよい近似値が得られる。
【００７４】
以上、この実施の形態２における３次元形状計測方法をまとめると、次のようになる。
(１)  最初に多数のスリット光を計測対象物に投影した画像を取得する。
(２)  次に、注目画素(ｕ’，ｖ’)がどのスリット光の反射に対応しているか判断する。
(３)  次に、そのスリット光(ここではｋとする)に対応するキャリブレーションデータ(ｋ：Ｚ０、ρ０、θ０)、(ｋ：Ｚ１、ρ１、θ１)を読み出す。
(４)  次に、注目画素(ｕ’，ｖ’)を通る補助線８０を引く。
(５)  次に、(ｕ０，ｖ０)、(ｕ１，ｖ１)を計算する。
(６)  次に、式(１２)から注目画素(ｕ’，ｖ’)に対応する高さ座標Ｚ’を計算する。
(７)  次に、全ての画素について(２)〜(６)を繰り返す。
【００７５】
以上の説明では式(６)〜(１２)にｕ座標とＸ座標を用いていて、ｖ座標とＹ座標が現れないが、それは図１から図６の説明において、スリット平面がＸ軸方向には傾いていてＹ軸方向には傾いていない図で説明したためであり、座標軸のとり方は説明図通りに限定されるものではない。
【００７６】
実施の形態３．
なお上述の実施の形態１、２では基準面に投影したスリット光が画像面に直線として結像されるものとしているが、カメラのレンズ歪の度合いによっては直線とみなすと無視できない誤差を生じる場合がある。そのような場合には直線５０および直線６０を画像面で区分的な直線(区分直線)で表現した折線近似を採用してもよい。その場合、区分領域ごとに(ρ，θ)のパラメータをキャリブレーションデータとして保持すればよい。またキャリブレーション時には図１のキャリブレーション用ワーク３０に代えて、スクリーンをＺ＝Ｚ０の位置とＺ＝Ｚ１の位置に移動させて２回スリット光を観測するようする。
【００７７】
実施の形態４．
また上述の実施の形態１、２では基準面に投影したスリット光が画像面に直線として結像されるものとしているが、カメラのレンズ歪の度合いによっては直線とみなすと無視できない誤差を生じる場合がある。そのような場合には直線５０および直線６０を画像面で曲線で表現してもよい。その場合には曲線のパラメータをキャリブレーションデータとして記憶する。またキャリブレーション時には図１のキャリブレーション用ワーク３０に代えて、スクリーンをＺ＝Ｚ０の位置とＺ＝Ｚ１の位置に移動させて２回スリット光を観測するようすることは折線近似する場合と同じである。
【００７８】
実施の形態５．
また、実施の形態１ではＺ＝Ｚ０とＺ＝Ｚ１の２面をキャリブレーションに用いる例を示したが、さらに多数の面をキャリブレーションに用いるようにしてもよい。実施の形態２の説明の中で述べたように、光軸と基準面が垂直でない場合でもキャリブレーションに用いた面の高さ位置では誤差がゼロになるので、キャリブレーションに用いる面の間の距離が小さくなれば全体的にも計測誤差は小さくできる。
【００７９】
実施の形態６．
また、実施の形態５のキャリブレーションによれば、キャリブレーションに用いた面の数だけスリット平面ｋに対応するパラメータの組がキャリブレーションデータとして記憶される。３次元形状の計算に当たっては、そのうちのどの２組を用いるか決定するステップが必要になる。この場合は、画像原点からみて注目画素より遠くかつ注目画素に最も近い直線のパラメータと、画像原点からみて注目画素より近くてかつ注目画素に最も近い直線のパラメータを用いればよい。このことにより、注目画素に近い位置に観測されたスリット像に基づくキャリブレーションデータを用いることになるため、他のキャリブレーションデータを用いるよりも精度のよい結果が得られる。
【図面の簡単な説明】
【００８０】
【図１】この発明の実施の形態１のキャリブレーション方法におけるキャリブレーションの様子を示す図である。
【図２】この発明の実施の形態１のキャリブレーションにおける画像を示す図である。
【図３】この発明の実施の形態２の３次元形状計測方法における３次元形状計測の様子を示す図である。
【図４】この発明の実施の形態２の３次元形状計測時の画像を示す図である。
【図５】この発明の実施の形態２の３次元形状計測のプロセスを説明する画像の図である。
【図６】この発明の実施の形態２の３次元形状計測のプロセスを説明する３次元画像の図である。
【図７】この発明の実施の形態２の３次元形状計測においてカメラとして平行投影モデルを採用したときの計算を説明する図である。
【図８】この発明の実施の形態２の３次元形状計測においてカメラとして中心投影モデルを採用したときの計算を説明する図である。
【図９】この発明によるキャリブレーションおよび３次元形状計測を行う装置の概略的な構成を示す図である。
【符号の説明】
【００８１】
１  スリットパターン投影部、１ａ  光源、１ｂ  パターンマスク、２  撮像部、２  カメラ、３制御処理部、３ａ  ＣＰＵ、３ｂ  入出力インタフェース、３ｃ  メモリ、１０  スリット平面ｋ、２０  基準面、３０  キャリブレーション用ワーク、５０,５１，６０  交線(直線)、７０  交線(曲線)、８０  補助線、１００  キャリブレーション画像、１０１  計測画像、２００  計測対象物、３００  画像面。
【図１】
2008224370.tif 000003
【図２】
2008224370.tif 000004
【図３】
2008224370.tif 000005
【図４】
2008224370.tif 000006
【図５】
2008224370.tif 000007
【図６】
2008224370.tif 000008
【図７】
2008224370.tif 000009
【図８】
2008224370.tif 000010
【図９】
2008224370.tif 000011