(57)【特許請求の範囲】
【請求項１】
明暗領域を含む複数の縞パターンを被写体に投影する投影手段と、
前記投影手段によって前記複数の縞パターンが投影された被写体からの反射光を撮影する撮影手段と、
前記複数の反射光に対する信頼度を算出する算出手段と、
前記撮影手段によって撮影された複数の反射光に基づいて、前記被写体の距離情報を取得する取得手段と、
を有し、
前記算出手段によって算出された信頼度が閾値よりも小さい反射光があった場合には、前記投影手段は、前記算出手段により算出された信頼度が前記閾値以上となる反射光に対応する縞パターンを所定の周期分シフトさせた縞パターンを前記被写体に投影し、
前記撮影手段は、前記所定の周期分シフトさせた縞パターンの反射光を撮影し、
前記取得手段は、前記所定の周期分シフトさせた縞パターンに基づいて、前記被写体の距離情報を取得することを特徴とする三次元計測装置。
【請求項２】
明暗領域を含む複数の縞パターンを被写体に投影する投影手段と、
前記投影手段によって前記複数の縞パターンが投影された被写体からの反射光を撮影する撮影手段と、
前記複数の反射光に対する信頼度を算出する算出手段と、
前記撮影手段によって撮影された複数の反射光に基づいて、前記被写体の距離情報を取得する取得手段と、
を有し、
前記算出手段によって算出された信頼度が閾値よりも小さい反射光があった場合には、前記投影手段は、前記算出手段により算出された信頼度が前記閾値以上となる反射光に対応する縞パターンの明暗の境界位置が、前記信頼度が閾値よりも小さい反射光に対応する縞パターンの明暗の境界位置と一致するように、前記閾値以上となる反射光に対応する縞パターンを所定の周期分シフトさせた縞パターンを前記被写体に投影し、
前記撮影手段は、前記所定の周期分シフトさせた縞パターンの反射光を撮影し、
前記取得手段は、前記所定の周期分シフトさせた縞パターンに基づいて、前記被写体の距離情報を取得することを特徴とする三次元計測装置。
【請求項３】
前記算出手段は、前記明暗領域が反転している境界位置での輝度値の勾配に基づいた信頼度を算出することを特徴とする請求項１又は２に記載の三次元計測装置。
【請求項４】
前記算出手段は、前記明暗領域の輝度値を算出し、前記算出した輝度値の上限値と下限値との差分、またはコントラスト比に基づいた信頼度を算出することを特徴とする請求項１又は２に記載の三次元計測装置。
【請求項５】
前記取得手段は、前記所定の周期分シフトさせた縞パターンに対応する前記被写体の距離情報を用いて、前記信頼度が閾値未満の縞パターンに対応する距離情報の代わりとすることを特徴とする請求項１〜４の何れか１項に記載の三次元計測装置。
【請求項６】
前記所定の周期は、計測に必要とする縞パターンのビット数をＬと、前記信頼度が閾値以上の縞パターンの最大ビット数をＭとした場合に、±ｋ／２(L-M+2)（ｋ＝１〜２L-M−１）となる量であることを特徴とする請求項１〜５の何れか１項に記載の三次元計測装置。
【請求項７】
明暗領域を含む複数の縞パターンを被写体に投影する投影工程と、
前記投影工程において前記複数の縞パターンが投影された被写体からの反射光を撮影する撮影工程と、
前記複数の反射光に対する信頼度を算出する算出工程と、
前記撮影工程において撮影された複数の反射光に基づいて、前記被写体の距離情報を取得する取得工程と、
を有し、
前記算出工程において算出された信頼度が閾値よりも小さい反射光があった場合には、前記投影工程においては、前記算出工程において算出された信頼度が前記閾値以上となる反射光に対応する縞パターンを所定の周期分シフトさせた縞パターンを前記被写体に投影し、
前記撮影工程においては、前記所定の周期分シフトさせた縞パターンの反射光を撮影し、
前記取得工程においては、前記所定の周期分シフトさせた縞パターンに基づいて、前記被写体の距離情報を取得することを特徴とする三次元計測方法。
【請求項８】
明暗領域を含む複数の縞パターンを被写体に投影する投影工程と、
前記投影工程において前記複数の縞パターンが投影された被写体からの反射光を撮影する撮影工程と、
前記複数の反射光に対する信頼度を算出する算出工程と、
前記撮影工程において撮影された複数の反射光に基づいて、前記被写体の距離情報を取得する取得工程と、
を有し、
前記算出工程において算出された信頼度が閾値よりも小さい反射光があった場合には、前記投影工程においては、前記算出工程において算出された信頼度が前記閾値以上となる反射光に対応する縞パターンの明暗の境界位置が、前記信頼度が閾値よりも小さい反射光に対応する縞パターンの明暗の境界位置と一致するように、前記閾値以上となる反射光に対応する縞パターンを所定の周期分シフトさせた縞パターンを前記被写体に投影し、
前記撮影工程においては、前記所定の周期分シフトさせた縞パターンの反射光を撮影し、
前記取得工程においては、前記所定の周期分シフトさせた縞パターンに基づいて、前記被写体の距離情報を取得することを特徴とする三次元計測方法。
【請求項９】
明暗領域を含む複数の縞パターンを被写体に投影する投影工程と、
前記投影工程において前記複数の縞パターンが投影された被写体からの反射光を撮影する撮影工程と、
前記複数の反射光に対する信頼度を算出する算出工程と、
前記撮影工程において撮影された複数の反射光に基づいて、前記被写体の距離情報を取得する取得工程と、
をコンピュータに実行させ、
前記算出工程において算出された信頼度が閾値よりも小さい反射光があった場合には、前記投影工程においては、前記算出工程において算出された信頼度が前記閾値以上となる反射光に対応する縞パターンを所定の周期分シフトさせた縞パターンを前記被写体に投影し、
前記撮影工程においては、前記所定の周期分シフトさせた縞パターンの反射光を撮影し、
前記取得工程においては、前記所定の周期分シフトさせた縞パターンに基づいて、前記被写体の距離情報を取得することを特徴とするプログラム。
【請求項１０】
明暗領域を含む複数の縞パターンを被写体に投影する投影工程と、
前記投影工程において前記複数の縞パターンが投影された被写体からの反射光を撮影する撮影工程と、
前記複数の反射光に対する信頼度を算出する算出工程と、
前記撮影工程において撮影された複数の反射光に基づいて、前記被写体の距離情報を取得する取得工程と、
をコンピュータに実行させ、
前記算出工程において算出された信頼度が閾値よりも小さい反射光があった場合には、前記投影工程においては、前記算出工程において算出された信頼度が前記閾値以上となる反射光に対応する縞パターンの明暗の境界位置が、前記信頼度が閾値よりも小さい反射光に対応する縞パターンの明暗の境界位置と一致するように、前記閾値以上となる反射光に対応する縞パターンを所定の周期分シフトさせた縞パターンを前記被写体に投影し、
前記撮影工程においては、前記所定の周期分シフトさせた縞パターンの反射光を撮影し、
前記取得工程においては、前記所定の周期分シフトさせた縞パターンに基づいて、前記被写体の距離情報を取得することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、空間符号化法に用いて好適な三次元計測装置、三次元計測方法及びプログラムに関する。
【背景技術】
【０００２】
従来、被写体にパターン光を複数投影して、パターン光が投影された被写体を撮像することにより、パターンの変形から三角測量の原理を用いて形状測定するパターン投影法が知られている。その中で、明部と暗部とが任意の幅で交互に配置される縞パターン光を投影して空間を２進符号化する空間符号化法が三次元計測でよく用いられ、製品化もされている。そして、空間符号化法の三次元計測で精度を向上させるには、得られた画像データから明部と暗部との境界位置を正確に決定する必要がある。
【０００３】
ところが実際の計測では、被写体の反射率による影響を受けたり、外光による影響を受けたりする。その結果、図１０（ｂ）に示すように、境界近傍で輝度値がなだらかな変化となり、境界位置を一意に決定することができない。このとき、撮影した画像上では、明部と暗部との境界位置が灰色の混色となり、分離できない状態で観察される。
【０００４】
そこで、境界位置を決定するために、明部と暗部との境界位置を分離できるようにする方法が開示されている（例えば、特許文献１参照）。例えば図１１（ａ）に示す縞パターン光１１０が図１１（ｂ）に示すように被写体１１１に投影されると、被写体１１１の反射率などの影響により被写体１１１の上部に明部と暗部とに分離できないエリア１１２が生じることがある。この場合、エリア１１２を投影する縞パターン光１１０で表すと図１１（ｃ）に示すようなパターンになる。そして、図１１（ｃ）に示すエリア１１３の投射光量を部分調整し、縞パターン光を投影した際に、図１１（ｄ）に示すような一部修正された縞パターン光を作成する。以上のようにして被写体全体に対して明部と暗部との境界位置を分離している。
【０００５】
また、特許文献２には、複数枚の縞パターン光を投影する際に、明部と暗部との幅が最小となる縞パターン光を所定の周期分シフトすることにより計測密度を上げる計測方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−３２６０８号公報
【特許文献２】特開２００８−１４５１３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の発明は、被写体の反射率や外光により影響を受けても明部と暗部とを分離できるが、反射光がぼやけてしまうような場合には対応できない。被写体の反射率や外光による影響は、投射された光が被写体から反射する際の輝度値の大小が原因であるため、投射光の光量を調整することにより対応できる。しかしながら、ボケによる影響は、被写体面における光の拡がりが合焦位置に比べ大きくなり、被写体からの反射光の輝度値が小さくなることが原因のため、投射光の光量を調整しても境界位置の分離はできない。
【０００８】
また、特許文献２に記載の発明においても、反射光がぼやけてしまうような場合を考慮しておらず、ボケによる影響により明部と暗部との幅が最小となる縞パターン光の境界位置を分離できない場合は利用できない。
【０００９】
本発明は前述の問題点に鑑み、空間符号化法において、反射光がぼやけてしまうような場合に明部と暗部との境界位置を適切に決定できるようにすることを目的としている。
【課題を解決するための手段】
【００１０】
本発明の三次元計測装置は、明暗領域を含む複数の縞パターンを被写体に投影する投影手段と、前記投影手段によって前記複数の縞パターンが投影された被写体からの反射光を撮影する撮影手段と、前記複数の反射光に対する信頼度を算出する算出手段と、前記撮影手段によって撮影された複数の反射光に基づいて、前記被写体の距離情報を取得する取得手段と、を有し、前記算出手段によって算出された信頼度が閾値よりも小さい反射光があった場合には、前記投影手段は、前記算出手段により算出された信頼度が前記閾値以上となる反射光に対応する縞パターンを所定の周期分シフトさせた縞パターンを前記被写体に投影し、前記撮影手段は、前記所定の周期分シフトさせた縞パターンの反射光を撮影し、前記取得手段は、前記所定の周期分シフトさせた縞パターンに基づいて、前記被写体の距離情報を取得することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、反射光がぼやけてしまうような場合に明部と暗部との境界位置を適切に決定し、所望する計測密度を維持しながら三次元計測を行うことができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態に係る三次元計測装置の基本構成例を示すブロック図である。
【図２】第１の実施形態における信頼度の算出方法を説明する図である。
【図３】縞パターン光をシフトさせた場合の境界位置を示す図である。
【図４】縞パターン光をシフトさせた場合の境界位置を示す図である。
【図５】三次元計測の処理手順の一例を示すフローチャートである。
【図６】第２の実施形態における信頼度の算出方法を説明する図である。
【図７】第３の実施形態における信頼度の算出方法を説明する図である。
【図８】一般的な三次元形測装置の構成及び計測方法の概念を示す図である。
【図９】グレイコードと呼ばれる２進符号の縞パターン光の一例を示す図である。
【図１０】境界位置付近の輝度の勾配を示す図である。
【図１１】従来の修正された縞パターン光を作成する概念を示す図である。
【発明を実施するための形態】
【００１３】
（第１の実施形態）
以下、本発明の第１の実施形態について、図面を参照しながら説明する。
【００１４】
まず、縞パターン光を投影して空間を２進符号化する空間符号化法の概要について説明する。
図８は、一般的な三次元形測装置の構成及び計測方法の概念を示す図である。
一般の形状測定装置は、測定物体にパターン光を照射するプロジェクター８０と、パターン光の反射パターンを撮像するカメラ８１とから構成されている。この構成では、プロジェクター８０から被写体８２に向けて、明部と暗部とが任意の幅で交互に配置される縞パターン光が投射される。縞パターン光は予め決められた明暗領域の幅が異なる複数のパターン形状があり、これらのパターン形状がおのおの投影され、そのたびにカメラ８１によりその反射光が撮像され、画像データとして取得される。
【００１５】
ここで、被写体８２の明部及び暗部の境界位置を（Ｘ，Ｙ，Ｚ）とし、境界位置（Ｘ，Ｙ，Ｚ）とプロジェクター８０とを結んだ時のプロジェクター８０の主点位置を（Ｘ１，Ｙ１）とする。また、境界位置（Ｘ，Ｙ，Ｚ）とカメラ８１とを結んだ時のカメラ８１の主点位置を（Ｘ２，Ｙ２）とする。カメラ８１の主点位置（Ｘ２，Ｙ２）は、カメラ８１のＣＣＤやＣＭＯＳなどの撮像センサの水平座標によって求まる。また、水平座標は、撮像センサの水平幅と垂直幅とによって決まり、例えば６４０×４８０の撮像センサでは、水平方向のＸ座標は０から６４０、垂直方向のＹ座標は０から４８０の値を有する。
【００１６】
一方、プロジェクター８０の主点位置（Ｘ１，Ｙ１）も同様に、ＣＣＤやＣＭＯＳなどの投光センサの水平座標によって求まる。また、プロジェクター８０とカメラ８１と間の距離Ｌは基線長となり、装置の構成条件から定められる。これらのパラメータから三角測量の原理によって被写体８２の境界位置（Ｘ，Ｙ，Ｚ）を求めることができる。そして、被写体８２全面に対してそれぞれの境界位置（Ｘ，Ｙ，Ｚ）を求めることにより、被写体８２の三次元形状を測定することができる。
【００１７】
次に、縞パターン光の形状について説明する。
図９は、符号化誤り耐性のあるグレイコードと呼ばれる２進符号の縞パターン光の一例を示す図である。図９においてはいずれも、撮像された反射パターンで黒く観察された部分は０、白く観察された部分は１に対応する。図９（ａ）に示す例では、全体を２分割し、２つの領域で左から順に１，０と符号化する。図９（ｂ）に示す例では、明部及び暗部の４つの領域を１、０、０、１と符号化し、対応する縞パターン光を照射してその反射パターンを撮像する。さらに、図９（ｃ）に示す例では、８つの領域を１、０、０、１、１、０、０、１と符号化し、対応する縞パターン光を照射してその反射パターンを撮像する。以下、図９（ａ）〜図９（ｃ）に示す縞パターン光をそれぞれ１ｂｉｔの縞パターン光、２ｂｉｔの縞パターン光、３ｂｉｔの縞パターン光と呼ぶ。このように、各領域に符号化された領域番号が付与され、各領域を判断することができる。図９に示す例では、各領域は左側から順に（１，１，１）、（１，１，０）、（１，０，０）、（１，０，１）、（０，０，１）、（０，０，０）、（０，１，０）、（０，１，１）として判断できる。このようにして３枚の縞パターン光を用いて空間を８分割することができるため、この空間符号化は３ｂｉｔの空間符号化と呼ばれている。
【００１８】
さらに詳細に形状測定を行う場合には、明部及び暗部の領域を次々に縮小しながらｎ枚の縞パターン光を照射すると、プロジェクターの照射領域に対して２nに分割した領域番号を付与することができ、各領域を判断できる。例えば領域を１０２４分割する三次元計測においては１０ｂｉｔの空間符号化が行われる。
【００１９】
このようなグレイコードは、縞パターン光のずれやぼけなどにより領域境界に符号化の誤りが発生しても、隣接領域と判断されるだけで、大きくずれた領域として符号化誤りを生じないことが特長である。そのため、グレイコードによる空間符号化は一般に用いられている方法である。
【００２０】
さらに、空間符号化法の三次元計測で精度を向上させるには、撮像した画像データから明部と暗部との境界の水平座標位置Ｘ（以後、境界位置と呼ぶ）を決定する必要がある。図１０は、２ｂｉｔの縞パターン光を撮像した画像データの輝度と水平座標Ｘとの関係を示す図である。図１０（ａ）に示す例は、理想的な境界位置を示しており、明部及び暗部の輝度値が境界において異なるため、明部と暗部との境界位置が一意に決まり、位置ａ及び位置ｂが境界位置と決定することができる。
【００２１】
次に、本実施形態に係る三次元計測装置について説明する。
図１は、本実施形態に係る三次元計測装置１００の基本構成例を示すブロック図である。
図１において、三次元計測装置１００は、縞パターン光を被写体１７に投影するプロジェクター１２と、縞パターン光が投影された被写体１７を撮像するカメラ１３とを備えている。また、縞パターン光の投影や被写体１７の撮像を指示したり、生成された画像データを計算処理して三次元計測を行ったりする計算処理部１を備えている。
【００２２】
計算処理部１は、中央処理部（ＣＰＵ）１０、パターンメモリ１１、画像メモリ１４、信頼度算出部１５、及び計測処理部１６を備えており、バスを介して信号のやり取りがなされる。パターンメモリ１１はＲＯＭ等で構成されており、縞パターン光のパターン形状プログラム、投影時間を設定するタイムアカウントプログラムなどを格納する。ＣＰＵ１０から投影指示がなされると、パターンメモリ１１は縞パターン光形状信号をプロジェクター１２に送信する。そして、タイムアカウント信号をプロジェクター１２及びカメラ１３に送信し、縞パターン光を投影するタイミング及び反射パターンを撮像するタイミングを管理する。
【００２３】
反射パターンを撮像してカメラ１３により生成された画像データは、画像メモリ１４に一時的に格納され、信頼度算出部１５に順次送信される。信頼度算出部１５はＲＯＭやＲＡＭ等で構成されており、縞パターン光の明部と暗部との境界位置を決定し、さらに境界位置の信頼度を算出する。そして、画像データを２値化処理して２値化画像データを生成する。Ｎｂｉｔで空間符号化を行う場合は、縞パターン光はＮ種類のパターン形状となるので、２値化画像データはＮ枚生成されることになる。なお、信頼度算出部１５にはこれらの処理を行うためのプログラムが格納されており、境界位置を決定する方法及び信頼度を算出する方法については後述する。
【００２４】
また、信頼度算出部１５は、算出した信頼度の結果をＣＰＵ１０に送信する。ＣＰＵ１０は信頼度の結果に基づき、信頼度が所定の閾値以上の縞パターン光を所定の周期分シフトするか否かを判断する。この処理の詳細については後述する。
【００２５】
以上のように生成された２値化画像データは、計測処理部１６に送信される。計測処理部１６はＲＯＭやＲＡＭ等で構成されており、プロジェクター１２とカメラ１３との基線長、焦点距離、画素数などの機器に依存するパラメータや、予め行うキャリブレーションによるディストーション、外光輝度などの外部パラメータを格納している。さらに、三角測量による三次元計測プログラムも格納している。
【００２６】
また、計測処理部１６は、２値化画像データを符合化し、画像データを空間変調する。次に、符号化されたデータからプロジェクター１２の画素とカメラ１３の画素との対応関係をとり、三角測量を行って三次元計測を行う。そして、計測結果をカメラ１３の画素数に応じた距離画像データ（距離情報）として生成する。距離画像データは不図示の出力部で画像化され、不図示の表示部に距離画像として表示される。以上の画像メモリ１４、信頼度算出部１５、計測処理部１６の処理はすべてＣＰＵ１０からの指示に基づいて行われる。
【００２７】
次に、信頼度の算出方法について説明する。
図２（ａ）は、本実施形態において、投影する縞パターン光の一例を示す図である。
図２（ａ）に示す縞パターン光２１は、ビット数が３ｂｉｔのグレイコードによる空間符号化の縞パターン光であり、以下、ポジパターンと呼ぶ。一方、縞パターン光２２は、縞パターン光２１の明部と暗部とを反転させた縞パターン光であり、以下、ネガパターンと呼ぶ。図２（ａ）には、一例として３ｂｉｔの縞パターン光のポジパターン及びネガパターンを示すが、実際の空間符号化による計測では、プロジェクター１２の解像度に応じて、例えば１ｂｉｔから１０ｂｉｔまでのそれぞれの縞パターン光を投影し、撮影する。例えば、１０ｂｉｔの計測である場合は、撮影枚数は２０枚必要となる。
【００２８】
図２（ｂ）は、境界位置を決定する方法を説明する図であり、生成した画像データの輝度と水平座標との関係を示す図である。
図２（ｂ）において、輝度線２３は縞パターン光２１を投影して撮像した画像データの輝度線である。一方、輝度線２４は縞パターン光２２を投影して撮像した画像データの輝度線であり、水平ピクセル座標の相対位置は輝度線２３と同じであるものとする。ここで、縞パターン光２１の輝度線２３及び縞パターン光２２の輝度線２４は、互いに位置Ｍ及び位置Ｎで交わっているため、位置Ｍ及び位置Ｎを境界位置とする。
【００２９】
図２（ｃ）は、実際の計算方法を説明する図である。
図２（ｃ）において、点２５、点２６はそれぞれ、縞パターン光２１を投影して撮影した画像データのｓ番目、ｓ＋１番目の画素である。一方、点２７、点２８はそれぞれ、縞パターン光２２を投影して撮影した画像データのｓ番目、ｓ＋１番目の画素である。そして、点２５と点２６とを結ぶ線分と、点２７と点２８とを結ぶ線分との交点２９の水平座標を求め、境界位置Ｎを算出する。ここで、信頼度は勾配とする２直線の交わりで形成される角度φで定義する。
【００３０】
図１０（ａ）に示す例のように、プロジェクターから理想的な矩形波が投影でき、かつボケもなく、被写体反射率なども考慮しないという理想条件では、角度φは１８０度となる。しかしながら、実際には様々な劣化要因が加わるため、角度φは１８０度より小さくなり、図１０（ｂ）に示す例のように、劣化条件としてボケや反射率などの影響が多ければ多いほど角度φは小さくなる。
【００３１】
信頼度である角度φに閾値を設定すると、閾値以下の角度の縞パターン光は信頼度が低く、三次元計測に使用しても正確な距離計測ができないと判定できる。例えば、１０ｂｉｔの計測を行った際に、１０ｂｉｔの縞パターン光のみ信頼度が閾値未満の場合、正確な計測は９ｂｉｔまでしかできず、１０ｂｉｔの計測に比べ計測密度が小さくなる。本実施形態では、このような場合でも、信頼度が閾値以上の最大ビット数の９ｂｉｔの縞パターン光を以下に説明する方法で所定の周期分シフトさせて追撮像して計測することにより、１０ｂｉｔの計測と同様の計測密度を得る。
【００３２】
次に、計測密度を向上させるために縞パターン光をシフトさせる方法について説明する。
図３は、８ｂｉｔ、９ｂｉｔ、１０ｂｉｔの縞パターン光の形状及びシフトさせた９ｂｉｔの縞パターン光の形状を示す図である。
図３において、垂直方向は輝度を示し、凸部は明部であり、凹部は暗部である。また、水平方向は画素番号を示している。
【００３３】
図３に示すように、８ｂｉｔの縞パターン光の一周期は１６画素、９ｂｉｔの縞パターン光の一周期は８画素、１０ｂｉｔの縞パターン光の一周期は４画素である。また、９ｂｉｔの縞パターン光を画素番号でマイナス方向に１／８周期分シフトさせた縞パターン光を９ｂｉｔ−とし、画素番号でプラス方向に１／８周期分シフトさせた縞パターン光を９ｂｉｔ＋とする。また８ｂｉｔ、９ｂｉｔ、１０ｂｉｔの縞パターン光で取得できる境界位置を中段に示している。
【００３４】
ここで、最初に現われる１０ｂｉｔの縞パターン光の境界位置と９ｂｉｔ＋の縞パターン光の境界位置とが一致する。また、１０ｂｉｔの縞パターン光の次の境界位置では、９ｂｉｔ−の縞パターン光の境界位置と一致する。このように、１０ｂｉｔの縞パターン光の境界位置は、９ｂｉｔ＋の縞パターン光の境界位置と、９ｂｉｔ−の縞パターン光の境界位置とで交互に一致する。以上より、１０ｂｉｔの縞パターン光は、９ｂｉｔ＋の縞パターン光と９ｂｉｔ−の縞パターン光とを用いることにより補うことができる。
【００３５】
例えば、１０ｂｉｔの計測において、１０ｂｉｔの縞パターン光が信頼度不足で９ｂｉｔまでしか計測できない場合に、９ｂｉｔ＋の縞パターン光と９ｂｉｔ−の縞パターン光との２枚をさらに撮像する。これにより、１０ｂｉｔの計測と同等の計測密度を得ることができる。
【００３６】
図４は、８ｂｉｔの縞パターン光をシフトさせた場合を説明する図である。
図４において、８ｂｉｔの縞パターン光を画素番号でマイナス方向に１／１６、２／１６、３／１６周期分シフトさせた縞パターン光をそれぞれ８ｂｉｔ−１、８ｂｉｔ−２、８ｂｉｔ−３とする。また、８ｂｉｔの縞パターン光を画素番号でプラス方向に１／１６、２／１６、３／１６周期分シフトさせた縞パターン光をそれぞれ８ｂｉｔ＋１、８ｂｉｔ＋２、８ｂｉｔ＋３とする。
【００３７】
図４に示すように、最初に現われる１０ｂｉｔの縞パターン光の境界位置と８ｂｉｔ−１の縞パターン光の境界位置とが一致する。また、１０ｂｉｔの縞パターン光の次の境界位置では、８ｂｉｔ＋１の縞パターン光の境界位置と一致する。さらに、３番目に現われる１０ｂｉｔの縞パターン光の境界位置では、８ｂｉｔ＋３の縞パターン光の境界位置と一致する。同様に４番目に現われる１０ｂｉｔの縞パターン光の境界位置では、８ｂｉｔ−３の縞パターン光の境界位置と一致する。そして、５番目に現われる１０ｂｉｔの縞パターン光の境界位置では、再び８ｂｉｔ−１の縞パターン光の境界位置と一致する。
【００３８】
このようにして１０ｂｉｔの縞パターン光は、８ｂｉｔ−１の縞パターン光と、８ｂｉｔ＋１の縞パターン光と、８ｂｉｔ−３の縞パターン光と、８ｂｉｔ＋３の縞パターン光との４つを用いることにより補うことができる。また、図４に示すように、９ｂｉｔの縞パターン光は、同様に８ｂｉｔ−２の縞パターン光と８ｂｉｔ＋２の縞パターン光との２つを用いることにより補うことができる。
【００３９】
以上のように、下位のｂｉｔの縞パターン光は、上位のｂｉｔの縞パターン光をシフトさせることによって補うことができる。そして、Ｍｂｉｔの縞パターン光を用いてＬｂｉｔの縞パターン光を補うためのシフト量は下記の式（１）により算出することができる。
シフト量＝±ｋ／２(L-M+2)    ・・・式（１）
但しｋ＝１〜２L-M−１、かつＬ＞Ｍ
【００４０】
次に、本実施形態における三次元計測の手順について説明する。
図５は、本実施形態における三次元計測の処理手順の一例を示すフローチャートである。なお、図５に示す各処理は、ＣＰＵ１０の制御により行われる。
まず、ステップＳ５００において、予め決められたＮｂｉｔの計測を行うため、プロジェクター１２により１ｂｉｔからＮｂｉｔまでの縞パターン光のポジパターン及びネガパターンを投影し、カメラ１３により撮影を順次行う。このとき、２×Ｎ枚の画像データが撮影され、画像メモリ１４に記憶される。
【００４１】
次に、ステップＳ５０１において、信頼度算出部１５は、各ｂｉｔの信頼度を、ポジパターン及びネガパターンを用いて図２に示した手順により算出する。そして、ステップＳ５０２において、信頼度が閾値未満の縞パターン光が存在するか否かを判定する。この判定の結果、閾値未満のものが存在しない場合は、十分な精度の計測が可能であると判断することができるため、ステップＳ５０３に進む。そして、ステップＳ５０３において、計測処理部１６は、撮影した画像データを用いて２値化処理を行い、三次元計測演算処理を行って距離画像を生成する。
【００４２】
一方、ステップＳ５０２の判定の結果、閾値未満の縞パターン光が存在する場合は、ステップＳ５０４において、信頼度算出部１５は、信頼度が閾値以上の縞パターン光を決定する。ここで、Ｍ（１≦Ｍ＜Ｎ）ｂｉｔの縞パターン光は、信頼度が閾値以上である最大ビットの縞パターン光であるものとする。すなわち、Ｍｂｉｔの縞パターン光は、計測劣化要因によって満足できる計測ができる最低限の縞パターン光である。そこで、Ｍｂｉｔの縞パターン光をシフトさせて計測を行うことにより、Ｎｂｉｔまでの縞パターン光を用いて計測した場合と同じ計測密度を得ることができる。また、このＭｂｉｔの情報を不図示の表示部に表示し、Ｍｂｉｔが最大ビットの縞パターン光であることを計測者に知らせる。
【００４３】
次に、ステップＳ５０５において、計測処理部１６は、計測者により所望する計測密度を達成するためのｂｉｔ数の変更指示があったか否かを判定する。例えば、Ｎｂｉｔの計測密度を当初は想定して計測を始めたが、劣化による影響のためＭｂｉｔまでしか測定できない場合がある。このような場合に、Ｎｂｉｔまで計測を行うか、もしくはＮよりも小さいＸ（Ｍ≦Ｘ＜Ｎ）ｂｉｔで計測を止めるかを計測者は判断できる。その結果、Ｘｂｉｔまで計測を行うように不図示の操作部からｂｉｔ数の変更指示があったか否かを判定する。
【００４４】
この判定の結果、ｂｉｔ数の変更指示があった場合は、ステップＳ５０６において、計測処理部１６は、計測を行う最大ｂｉｔ数をＮよりも小さいＸに変更する。そして、ステップＳ５０７において、ＸがＭと一致するか否かを判断する。この判断の結果、ＸがＭである場合は、縞パターン光をシフトさせる必要がないため、ステップＳ５０３に進む。一方、ステップＳ５０７の判断の結果、ＸがＭよりも大きい値である場合は、ステップＳ５０８に進む。一方、ステップＳ５０５の判定の結果、ｂｉｔ数の変更指示がない場合は、ステップＳ５０８において、計測処理部１６は、（Ｍ＋１）ｂｉｔ〜Ｎ（またはＸ）ｂｉｔの縞パターン光に対して、前述した式（１）に従ってシフト量を算出する。
【００４５】
次に、ステップＳ５０９において、算出したシフト量分の枚数の縞パターン光の形状信号をパターンメモリ１１に記憶して、プロジェクター１２からこれらの縞パターン光を投射し、カメラ１３により順次撮影を行う。次に、ステップＳ５１０において、計測処理部１６は、ステップＳ５０９で撮影した画像データから２値化処理を行い、その２値化画像データと、Ｍｂｉｔまでの２値化画像データとを用いて三次元計測演算処理を行う。そして、最終的にＮ（またはＸ）ｂｉｔの距離画像を生成する。
【００４６】
以上のように本実施形態によれば、予め定めたＮｂｉｔまでの計測ができない場合においても、計測可能な間隔の縞パターン光を信頼度に基づいて決定し、前述の式（１）により算出されるシフト量に基づいてシフトさせて計測を行う。これにより、使用者が所望する計測密度を達成することができる。また、本実施形態のように縞パターン光をシフトさせると、通常の空間符号化法に比べて投影する縞パターン光の枚数が多くなるが、計測状況に応じた適切な計測が可能になる。具体的には、全ての縞パターン光の信頼度が閾値以上の場合は通常の空間符号化法を行う。これに対して閾値以下の縞パターン光がある場合は、計測者が任意の計測密度を設定して計測を行うことができるので、自由度の高い計測が可能となる。
【００４７】
（第２の実施形態）
第１の実施形態では、ポジパターン及びネガパターンを用いて縞パターン光の信頼度を算出した。これに対して本実施形態では、ポジパターン及びネガパターンを用いずに空間符号化法の信頼度を算出する方法について説明する。なお、本実施形態の三次元計測装置１００の基本構成については第１の実施形態と同様であるため、説明は省略する。また、三次元計測の処理手順についても図５と同様であるため、説明は省略する。
【００４８】
図６（ａ）は、本実施形態において、投影する縞パターン光の一例を示す図である。
図６（ａ）に示す縞パターン光２１は、３ｂｉｔのグレイコードによる空間符号化の縞パターン光である。全照明パターン６２は、明部のみのパターンであり、全消灯パターン６３は暗部のみのパターンである。本実施形態では、３ｂｉｔの空間符号化を行う場合に、１ｂｉｔから３ｂｉｔの縞パターン光と、明部のみの全照明パターン６２と、暗部のみの全消灯パターン６３とを用いる。
【００４９】
図６（ｂ）は、縞パターン光２１の境界位置を決定する方法について説明する図であり、生成した画像データの輝度と水平座標との関係を示す図である。
図６（ｂ）において、輝度線２３は、縞パターン光２１を投影して撮像した画像データの輝度線である。一方、輝度線６４は全照明パターン６２を投影して撮像した画像データの輝度線であり、輝度線６５は全消灯パターン６３を投影して撮像した画像データの輝度線である。また、輝度線６６は、２つの輝度線６４、６５の平均値とする。ここで、縞パターン光２１の輝度線２３及び平均値の輝度線６６は、互いに位置Ｍ′、位置Ｎ′で交わっているため、位置Ｍ′、位置Ｎ′を境界位置とする。
【００５０】
図６（ｃ）は実際の計算方法を説明する図である。
図６（ｃ）において、点６７、点６８はそれぞれ縞パターン光２１を投影して撮影した画像データのｓ番目、ｓ＋１番目の画素である。また、点６９、点７０はそれぞれ、全照明パターン６２を投影して撮影した画像データのｓ番目、ｓ＋１番目の画素である。さらに、点７１、点７２はそれぞれ、全消灯パターン６３を投影して撮影した画像データのｓ番目、ｓ＋１番目の画素である。
【００５１】
全照明パターン６２と全消灯パターン６３とを投影して撮影した画像データの対応する画素の平均値を求めると、ｓ番目の点６９と点７１との平均値は点７３となり、ｓ＋１番目の点７０と点７２との平均値は点７４となる。そして、点６７と点６８とを結ぶ線分と、点７３と点７４とを結ぶ線分との交点７５の水平座標を求め、境界位置Ｎ′を算出できる。ここで、信頼度は２直線の交わりで形成される角度θで定義する。
【００５２】
以上のように本実施形態によれば、ポジパターン及びネガパターンを使用しないで第１の実施形態と同様に信頼度を求めることができる。このようなポジパターン及びネガパターンを使用しない空間符号化法は、ポジパターン及びネガパターンを用いる場合に比べ、撮影枚数は約半分で済むため、高速性をより重視した計測では有効な手段である。
【００５３】
（第３の実施形態）
本実施形態では、さらに、第１及び第２の実施形態とは異なる信頼度の算出方法について説明する。なお、本実施形態の三次元計測装置１００の基本構成については第１の実施形態と同様であるため、説明は省略する。また、三次元計測の処理手順についても図５と同様であるため、説明は省略する。
【００５４】
図７は、本実施形態において、生成した画像データの輝度と水平座標Ｘの関係を示す図である。
図７に示すように、縞パターン光の輝度の上限値及び下限値を求め、それぞれＬmax、Ｌminとする。本実施形態では、この上限値及び下限値の差分値として輝度差Ｄ＝Ｌmax−Ｌminを求め、その輝度差Ｄを信頼度と定義する。なお、輝度差Ｄの代わりに、以下の式（２）から算出されるコントラスト比を信頼度と定義してもよい。コントラスト比は、
Ｃ＝（Ｌmax−Ｌmin）／（Ｌmax＋Ｌmin）      ・・・式（２）
【００５５】
以上のように本実施形態によれば、画像データの輝度値の上限値及び下限値に基づいて算出する。このように、コントラスト比など一般的な概念を用いて信頼度として使用することも可能である。
【００５６】
（第４の実施形態）
本発明は、被写体の材質による縞パターン光のぼけに対しても有効である。被写体の材質が半透明体や多孔質などの場合、投影された縞パターン光が表面近傍で内部散乱を起こし、縞パターン光がぼける。その現象が発生した際にも、第１から第３の実施形態で示した信頼度を用いて、信頼できる縞パターン光をシフトさせることにより所望の計測密度で距離計測を行うことが可能である。
【００５７】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００５８】
１０  ＣＰＵ
１２  プロジェクター
１３  カメラ
１５  信頼度算出部
１６  計測処理部
【図１】
0005907596.tif 000002
【図２】
0005907596.tif 000003
【図３】
0005907596.tif 000004
【図４】
0005907596.tif 000005
【図５】
0005907596.tif 000006
【図６】
0005907596.tif 000007
【図７】
0005907596.tif 000008
【図８】
0005907596.tif 000009
【図９】
0005907596.tif 000010
【図１０】
0005907596.tif 000011
【図１１】
0005907596.tif 000012