(57)【特許請求の範囲】
【請求項１】
グレイコードに基づいて生成された複数の明暗の縞パターンが順次投影された被写体の撮像画像を順次取得する取得手段と、
前記順次取得された撮像画像における前記縞パターンの明暗の境界を示すエッジ位置を検出するエッジ位置検出手段と、
前記エッジ位置検出手段による前記検出の結果に基づいて、前記順次取得された撮像画像の同じ位置の画素における、前記縞パターンの明暗の境界を示すエッジの数を取得するエッジ数取得手段と、
前記エッジ位置と、前記エッジの数とに基づき、前記被写体の位置を導出する位置導出手段と、を有することを特徴とする三次元位置計測装置。
【請求項２】
前記位置導出手段は、前記エッジの数が１の前記撮像画像の中の画素の位置に基づき、前記被写体の位置を導出することを特徴とする請求項１に記載の三次元位置計測装置。
【請求項３】
前記位置導出手段は、前記エッジの数が２以上の前記撮像画像の中の画素を、前記被写体の位置の導出には用いないことを特徴とする請求項１に記載の三次元位置計測装置。
【請求項４】
前記エッジ位置検出手段は、前記エッジの数が２以上の場合、サブピクセル処理によって、前記明暗の縞パターンのエッジ位置を検出することを特徴とする請求項１に記載の三次元位置計測装置。
【請求項５】
更に、前記エッジの数に基づき、前記位置導出手段によって導出された前記被写体の位置の導出の信頼度を導出する信頼度導出手段を有することを特徴とする請求項１〜４の何れか１項に記載の三次元位置計測装置。
【請求項６】
前記信頼度導出手段は、前記信頼度が基準よりも低い前記位置を出力しないことを特徴とする請求項５に記載の三次元位置計測装置。
【請求項７】
前記信頼度導出手段は、前記信頼度に基づき、前記明暗の縞パターンの周波数を決定することを特徴とする請求項５に記載の三次元位置計測装置。
【請求項８】
更に、前記パターンを投影する投影手段と、
前記撮像画像を撮像する撮像手段とを備えることを特徴とする請求項１〜７の何れか１項に記載の三次元位置計測装置。
【請求項９】
取得手段が、グレイコードに基づいて生成された複数の明暗の縞パターンが順次投影された被写体の撮像画像を順次取得する取得工程と、
エッジ位置検出手段が、前記順次取得された撮像画像における前記縞パターンの明暗の境界を示すエッジ位置を検出するエッジ位置検出工程と、
エッジ数取得手段が、前記エッジ位置検出工程による前記検出の結果に基づいて、前記順次取得された撮像画像の同じ位置の画素における、前記縞パターンの明暗の境界を示すエッジの数を取得するエッジ数取得工程と、
位置導出手段が、前記エッジ位置と、前記エッジの数とに基づき、前記被写体の位置を導出する位置導出工程と、を有することを特徴とする三次元位置計測方法。
【請求項１０】
グレイコードに基づいて生成された複数の明暗の縞パターンが順次投影された被写体の撮像画像を順次取得する取得工程と、
前記順次取得された撮像画像における前記縞パターンの明暗の境界を示すエッジ位置を検出するエッジ位置検出工程と、
前記エッジ位置検出工程による前記検出の結果に基づいて、前記順次取得された撮像画像の同じ位置の画素における、前記縞パターンの明暗の境界を示すエッジの数を取得するエッジ数取得工程と、
前記エッジ位置と、前記エッジの数とに基づき、前記被写体の位置を導出する位置導出工程と、をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元位置計測装置、三次元位置計測方法、及びコンピュータプログラムに関し、特に、明暗の縞パターンを有するパターン光が投影された被写体の撮像画像を用いて、非接触で被写体の三次元形状を計測するために用いて好適なものである。
【背景技術】
【０００２】
三次元形状の計測装置は、製品の立体形状検査、寸法測定、組み立て位置決め等、一般にロボットビジョンと呼ばれる分野で用いられる。
非接触での三次元形状の計測方法には、様々な方法があり、一長一短がある。例えば、レーザースリット光を用いた光切断法による三次元形状の計測方法では、スキャナ、ミラー、及び半導体レーザー等のコンパクトな部品で構成できるという長所がある。しかし、光切断法では、スキャンラインの数と同数の撮影枚数が必要となるので、光切断法は、物体の三次元形状を高速に計測するには、不利と言わざるを得ない。
【０００３】
このような欠点を克服する手法として、空間符号化法と呼ばれる明暗パターンのスリット光パターンを物体に投影することで、空間分割を行い、三次元形状の計測を行う手法がある（非特許文献１を参照）。
この空間符号化法では、空間分割数をＮとすると、撮影枚数は（ｌｏｇ2Ｎ）枚で済む。よって、空間符号化法では、光切断法と比較すると、少ない撮影枚数で物体の三次元計測が可能となる。
【０００４】
しかし、この空間符号化法では、空間分割を行う際に、空間分解能が投影パターンの量子化ｂｉｔ数に制限されてしまう。
そこで、ある程度の段階まで空間符号化法により空間分割測定を行い、空間分割された個々の領域の三次元形状を光切断法にて同時に計測するマルチスリット光による空間測定法が存在する（特許文献１を参照）。
この手法によって、光切断法と比較して、より少ない撮影枚数で物体の三次元計測を行うことが可能になると共に、空間符号化法のみによる測定よりも空間分解能が高い物体の三次元計測を行うことが可能になる。
【０００５】
従来は、以上のような原理を用いることで、物体の三次元形状の計測精度を向上させることが行われていた。
三次元形状計測装置では、レーザースリット光やスリット光パターンの投影等を行うことで、形状の計測が行われるが、投影した光の反射光の撮影状態によって、計測値のベースとなる計測線の検出等に問題が生ずる。すなわち、被写体の光の反射特性である双方向反射率分布関数（ＢＲＤＦ（Bidirectional Reflectance Distribution Function）によって、計測線の検出が理想状態（拡散反射）とはならず、鏡面性を持つ。このこと等の理由により、三次元形状計測装置では、計測線の間接反射が計測される。
【０００６】
このような場合、真の計測線（直接反射による計測線）と偽の計測線（間接反射による計測線）とが観測されることによって、距離計測値の信頼度が落ちる可能性がある。また、被写体の反射強度自体が低い場合、計測線そのものの信号雑音比（Signal/Noise：ＳＮ比）の低下によって、物体の観測が難しくなり、ノイズ成分が多く観測される場合等、距離計測値の信頼度が落ちる可能性がある。
また、被写体の観測方向からの見た場合の傾斜の状態によっても問題が生じる。被写体面と、三次元計測装置のプロジェクタ装置及びカメラ装置の光軸とが垂直であれば、計測の状態としては良い条件と言える。しかし、この状態から、被写体面と、三次元計測装置のプロジェクタ装置及びカメラ装置の光軸とのなす角度に傾斜が発生すると、レーザースリット光やスリット光パターンの投影の反射光量が低下する。よって、観測信号に対してノイズが多くなり、信号雑音比が低下する問題が発生する。
また、計測線同士の間隔が狭くなり、カメラ装置の画素分解能を超えてしまう、つまり、スリット光パターンの計測が、カメラ分解能のナイキスト周波数を超えてしまうと、その画像の部分の周辺では、計測状態が不安定となる。
そこで、特許文献１では、スリット光パターンの一部の空間分割を示す符号値の符号化誤りを検出するためのパターンを物体に投影することで、符号化の誤りの検出を行っている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−３３７８２９号公報
【非特許文献】
【０００８】
【非特許文献１】井口征士・佐藤宏介共著、「三次元画像計測」、昭晃堂、１９９０年
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に記載の手法では、間接光による影響を取り除くために、新たなパターンの投影等を必要とする。このため、間接光による影響を測定することは可能となるが、スリット光パターンの投影回数の増加をもたらす。すなわち、特許文献１に記載の手法では、非特許文献１で説明される通常の空間分割による三次元形状の計測で必要となる撮影回数よりも多く撮影を必要とする。このため、特許文献１に記載の手法では、計測時間の低下をもたらし、物体の三次元形状を高速に計測することが容易でないという問題点があった。
【００１０】
また、前述の被写体面に対する、カメラ装置及びプロジェクタ装置の光軸の傾斜によって、ナイキスト周波数よりも高い周波数のスリット光パターンが撮影されてしまう場合や、被写体の反射率が低い場合がある。特許文献１に記載の手法では、このような場合に発生する信号雑音比の低下に対応することが容易でないという問題があった。
本発明は、このような問題点に鑑みてなされたものであり、空間符号化法における被写体の三次元形状の計測を高速に且つ高精度に行うことを目的とする。
【課題を解決するための手段】
【００１１】
本発明の三次元位置計測装置は、グレイコードに基づいて生成された複数の明暗の縞パターンが順次投影された被写体の撮像画像を順次取得する取得手段と、前記順次取得された撮像画像における前記縞パターンの明暗の境界を示すエッジ位置を検出するエッジ位置検出手段と、前記エッジ位置検出手段による前記検出の結果に基づいて、前記順次取得された撮像画像の同じ位置の画素における、前記縞パターンの明暗の境界を示すエッジの数を取得するエッジ数取得手段と、前記エッジ位置と、前記エッジの数とに基づき、前記被写体の位置を導出する位置導出手段と、を有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、パターンの投影回数を増やすことなく、ノイズを低減することができる。よって、空間符号化法における被写体の三次元形状の計測を高速に且つ高精度に行うことができる。
【図面の簡単な説明】
【００１３】
【図１】三次元位置計測システムの構成を示す図である。
【図２】被写体に投影するスリット光パターンの一例を示す図である。
【図３】三次元位置計測システムにより実行される三次元位置計測の方法を示す図である。
【図４】三次元位置計測システムの計算処理部のソフトウェア構成を示す図である。
【図５】被写体に投影するスリット光パターンの他の例を示す図である。
【図６】撮像された被写体の実際の画像を示す図である。
【図７】低周波数のスリット光パターンの投影によるエッジ位置の算出結果を示す図である。
【図８】中周波数のスリット光パターンの投影によるエッジ位置の算出結果を示す図である。
【図９】高周波数のスリット光パターンの投影によるエッジ位置の算出結果を示す図である。
【図１０】エッジ重なり値の算出結果を示す図である。
【図１１】エッジ重なり算出処理を説明するフローチャートである。
【図１２】オクルージョンの影響を示す図である。
【図１３】エッジ座標の算出方法を説明する図である。
【図１４】エッジ重なり値の算出方法を説明する図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施形態を説明する。
（第１の実施形態）
まず、第１の実施形態について説明する。
図１は、三次元位置計測システムの構成の一例を示す図である。
三次元位置計測システムは、プロジェクタ１１２と、カメラ１１３と、計算処理部１００とを有する。
プロジェクタ１１２は、縞パターン光やマルチスリットパターン光を被写体１１７に投影する。カメラ１１３は、縞パターン光やマルチスリットパターン光が投影された被写体１１７（被写体１１７で反射された縞パターン光やマルチスリットパターン光）を撮像する。計算処理部１００は、縞パターン光やマルチスリットパターン光の投影や撮像を指示したり、撮像された画像データを計算処理して被写体１１７の三次元位置計測を行ったりする。
【００１５】
計算処理部１００は、中央処理部（ＣＰＵ）１１０、フレームバッファ１１１、画像メモリ１１４、メモリ１１５、コントローラ１１６、出力部１１８、及び表示部１１９を有し、互いにバスを介して接続されている。
コントローラ１１６は、メモリ１１５や画像メモリ１１４やフレームバッファ１１１等との通信や、演算の補助を行うハードウェアである。フレームバッファ１１１は、ＲＡＭ等で構成されている。
ＣＰＵ１１０は、不揮発性メモリを含むメモリ１１５に記録されるパターンを用いて投影パターンを構成し、フレームバッファ１１１に記録する。
不揮発性メモリを含むメモリ１１５には、縞パターン光やマルチスリット光のパターン形状プログラム、投影時間を設定するタイムアカウントプログラム等が記録されている。
【００１６】
ＣＰＵ１１０から投影指示を受信したコントローラ１１６は、メモリ１１５より、縞パターン光形状信号やマルチスリットパターン光形状信号を、フレームバッファ１１１を介して、プロジェクタ１１２に送信する。
また、コントローラ１１６は、ＣＰＵ１１０からの指示に基づき、タイムアカウント信号を、プロジェクタ１１２及びカメラ１１３に送信する。これにより、縞パターン光やマルチスリットパターン光の投影及び撮像のタイミングが管理される。
カメラ１１３で撮像された複数枚の画像データは、画像メモリ１１４に一時的に格納され、コントローラ１１６を介してＣＰＵ１１０に入力される。ＣＰＵ１１０は、入力した画像データに対して、二値化処理等の画像処理を行う。この二値化処理は、縞パターン光の明部と暗部との境界位置を決定する処理である。ＣＰＵ１１０は、この二値化処理により、白黒の二値化画像データを生成する。この二値化画像データは、メモリ１１５に蓄積され、後の処理での距離値の算出に使用される。
【００１７】
メモリ１１５は、不揮発性メモリであるＲＯＭや、揮発性メモリであるＲＡＭ等を備えて構成されている。メモリ１１５は、プロジェクタ１１２とカメラ１１３との基線長、カメラ１１３の焦点距離、及びカメラ１１３の画素数等の機器に依存するパラメータや、予め行うキャリブレーションによるディストーション、及び外光輝度等の外部パラメータを格納する。また、メモリ１１５は、三角測量による三次元位置計測プログラムも格納する。
ＣＰＵ１１０は、二値化画像データ、及び各種パラメータを入力として、メモリ１１５に格納されている三次元位置計測プログラムに基づく処理を実行して、被写体１１７の三次元位置計測を行う。
ＣＰＵ１１０による被写体１１７の三次元位置計測の結果は、距離画像データとして生成される。
距離画像データは、出力部（不図示）で画像化され、表示部（不図示）で距離画像として表示される。
以上の一連の処理は、全てＣＰＵ１１０からの指示に基づいて行われる。
【００１８】
尚、サブピクセル精度による縞パターン光のエッジ（明暗の境界）部分の算出等を行う場合、画像メモリ１１４の大きさとして、カメラ１１３の撮影画像よりも大きな仮想撮影画像を想定することで、サブピクセルの精度を考慮した二値化画像データを作成できる。
【００１９】
次に投影するスリット光パターンについて説明する。本実施形態では、空間符号化法として、グレイコードによる空間符号化を例にして説明する。
図２は、被写体１１７に投影するスリット光パターンの一例を示す図である。
図２に示すように、スリット光パターン２００〜２０２は、明暗のスリットを交互に配した縞パターンを有するパターン光である。
図２に示す例では、空間符号化法によるパターンのスリット光パターン２００〜２０２は、３ｂｉｔのグレイコードによる空間符号化のスリット縞パターン光である。本実施形態では、３ｂｉｔの空間符号化を行う場合を例に挙げて説明するが、３ｂｉｔの空間符号化を行う場合に限定されるものではない。Ｎｂｉｔの空間符号化を行う場合、スリット光パターンがＮ枚となる。
【００２０】
スリット光パターン２０１は、スリット光パターン２００よりも空間解像度が２倍になっている縞パターン光である。同様に、スリット光パターン２０２は、スリット光パターン２０１よりも空間解像度が２倍になっている縞パターン光である。
このような空間符号化法によるスリット光パターン２００〜２０２をプロジェクタ１１２から被写体１１７に向けて投影し、被写体１１７に投影されたスリット光パターン２００〜２０２をカメラ１１３で撮像する。このようにすることで、計算処理部１００は、撮像範囲を８分割し、被写体１１７を認識することができる。
【００２１】
図３は、三次元位置計測システムにより実行される三次元位置計測の方法の一例を概念的に示す図である。
プロジェクタ１１２から被写体１１７に向けて、明部と暗部とが所定の周期で交互に配置された縞パターンからなるスリット光パターン２００〜２０２を投射する。
スリット光パターン２００〜２０２の縞パターン（形状及び大きさ）は、予め決められており、それらが各々被写体１１７に順次個別に投影される。そして、その投影の度に、被写体１１７に投影されたスリット光パターンをカメラ１１３で撮像して、計算処理部１００が画像データとして取得する。
【００２２】
図３において、被写体１１７の明部と暗部との境界位置（エッジ位置）を（Ｘ，Ｙ，Ｚ）とする。また、境界位置（Ｘ，Ｙ，Ｚ）と、プロジェクタ１１２を相互に結んだときのプロジェクタ１１２の光線位置を（Ｘ１，Ｙ１，Ｚ１）とする。また、境界位置（Ｘ，Ｙ，Ｚ）と、カメラ１１３とを相互に結んだときのカメラ１１３の光線位置を（Ｘ２，Ｙ２，Ｚ２）とする。カメラ１１３の光線位置（Ｘ２，Ｙ２，Ｚ２）は、カメラ１１３の撮像センサ（ＣＣＤやＣＭＯＳ等）の画素の平面座標によって求まる。プロジェクタ１１２の光線位置（Ｘ１，Ｙ１，Ｚ１）は、投光素子（液晶等）の画素の平面座標によって求まる。
【００２３】
また、プロジェクタ１１２とカメラ１１３との間の距離Ｌは基線長となる。基線長Ｌは、装置の構成条件から定められる。これらのパラメータから三角測量の原理によって被写体１１７の境界位置（Ｘ，Ｙ，Ｚ）を求めることができる。被写体１１７の全面に対してそれぞれの境界位置（Ｘ，Ｙ，Ｚ）を求めることで、被写体１１７の三次元形状を測定することができる。尚、被写体１１７の全面に対してそれぞれの境界位置（Ｘ，Ｙ，Ｚ）を求めることと、被写体１１７の三次元形状を測定することは、公知の技術で実現できるので、ここでは、これらの詳細な説明を省略する。
【００２４】
次に、本実施形態で提案する技術の概略を述べる。
図４は、三次元位置計測システムの計算処理部１００のソフトウェア構成の一例を示す図である。
計算処理部１００は、４０２〜４１２までに示されるソフトウェア手段によって実現される。これらのソフトウェア手段は、図１に示したＣＰＵ１１０、フレームバッファ１１１、画像メモリ１１４、メモリ１１５、コントローラ１１６等のハードウェアを用いて実行されるプログラムの事を指している。尚、本実施形態では、これらの手段をソフトウェアとして説明を行うが、これらの一部又は全部を、ハードウェアを用いて演算処理しても構わない。最終的に、これらのソフトウェア手段を用いて、距離画像データ４１３の出力をすることが、ソフトウェア手段全体の目的である。
距離画像データ４１３は、カメラ１１３によって撮像される画像の画素それぞれに対して、距離値を算出することにより得られる二次元配列で構成されたデータである。距離画像データ４１３は、それぞれの画素の値としてカメラ１１３から被写体１１７までの距離の値を持つ三次元空間情報である。
【００２５】
まず、三次元位置計測システム全体は、システム管理部４０４によって制御される。図４では、システム管理部４０４が、特にパターン投影部４０２及び画像取り込み部４０３を制御しているように示しているが、実際には、その他のブロックも、システム管理部４０４によって管理されている。
システム管理部４０４は、スリット光パターンの投影のタイミングや、画像の撮像のタイミング等の管理や、演算の順序の管理や、出力データの管理等、三次元位置計測システム全体の様々なリソースの管理と時間の管理等を行っている。
【００２６】
パターン投影部４０２は、プロジェクタ１１２から投影されるスリット光パターンの生成を行う。生成されたスリット光パターンは、プロジェクタ１１２から投影される。
このときの被写体１１７の像をカメラ１１３で撮像し、画像取り込み部４０３によって装置（計算処理部１００）内に取り込む。
このスリット光パターンの投影処理と撮影処理は、例えば、図２に示したスリット光パターン２００〜２０２の投影とその像の撮像とによって行われる。
【００２７】
本実施形態の手法のスリット光パターンは、図２に示す縦パターンでも、図５に示す横パターンでも問題なく動作する。尚、以降の説明では、図２に示す縦パターンではなく、図５に示す横パターンを用いた場合を例に挙げる。
このパターンの選択は、カメラ１１３とプロジェクタ１１２との空間的な配置の位置関係により決定される。
もし、カメラ１１３とプロジェクタ１１２とが、縦方向（図３に示す例ではＹ方向）において間隔を有して配置されているのであれば、スリット光パターンとして横パターンを用いる。逆に、カメラ１１３とプロジェクタ１１２とが、横方向（図３に示す例ではＸ方向）において間隔を有して配置されているのであれば、スリット光パターンとして縦パターンを用いる。
スリット光パターンとしては、図２に示されるように、グレイコードによるスリット光パターンを用い、且つ、空間を分解するのに適したＢｉｔ数に応じて、低周波〜高周波までの複数のスリット光パターンを用いる。
二値化部４０５は、撮像された被写体１１７の画像を、スリット光パターンが投影されている場所と、スリット光パターンが投影されていない場所とに分ける。例えば、撮像された被写体１１７の画像の輝度の情報を、大津法等の閾値決定手法によって決定された閾値に応じて分けることにより、領域を分けることができる。このようにして二値化部４０５によって得られる二値化情報は、エッジ算出部４０７に送られる。
エッジ算出部４０７は、二値化部４０５から出力された二値化情報に基づいて、スリット光パターンの明暗の変わる部分の詳細な位置情報（以降、この情報を必要に応じて「エッジ位置情報」と称する）を算出する。
【００２８】
エッジ算出部４０７は、エッジ位置情報を、サブピクセル演算部４０９に送る。
サブピクセル演算部４０９は、エッジ周辺の画素の輝度変化情報から、エッジ位置の情報として、更に詳細な座標データの算出を行う。この際、ここで算出されるエッジ位置の情報は、カメラ１１３の画素単位やプロジェクタ１１２の投影画素単位ではなく、１ピクセル以下の精度の座標値とすることが可能である。
また、エッジ算出部４０７は、エッジ位置情報をエッジ重なり算出部４１０に送る。
エッジ重なり算出部４１０は、前述の各スリット光パターンの周波数毎に、各撮像画素におけるスリット光パターンのエッジの重なりをカウントする。本実施形態では、エッジ重なり算出部４１０は、エッジ重なり算出部４１０は、複数のエッジ位置が撮像素子の１ピクセル内に存在する場合に、エッチ位置が重なっていると判定する。
【００２９】
また、二値化部４０５は、二値化情報をバイナリー値算出部４０６に送る。
バイナリー値算出部４０６は、低周波数から高周波数までの複数のスリット光パターンが個別に投影された被写体１１７の画像から生成された各周波数における二値化画像を統合する。これにより、バイナリー値算出部４０６は、プロジェクタ１１２の投影像での位置情報（以降、この情報を必要に応じて「ディスパリティマップデータ」と称する）が符号化された画像の生成を行う。
空間符号化法では、一般に、ディスパリティマップデータは、グレイコードと呼ばれるエンコードが行われている。そこで、投影面位置情報デコード部４０８は、ディスパリティマップデータのグレイコードの符号化情報を復号化し、復号化されていないディスパリティマップデータの算出を行う。
このディスパリティマップデータを用いることで、プロジェクタ１１２の投影面上での座標と、カメラ１１３で撮像された画像上での座標との対応関係を得ることができる。
【００３０】
距離値算出部４１１は、投影面位置情報デコード部４０８で復号化されたディスパリティマップデータのグレイコードと、サブピクセル演算部４０９で得られたエッジ位置の情報と、エッジ重なり算出部４１０で得られたエッジの重なりのカウント値とを入力する。距離値算出部４１１は、これらの演算結果を受けて、距離画像データの算出を行う。
空間符号化法では、プロジェクタ１１２の投影面上での座標と、カメラ１１３で撮像された画像上での座標との対応関係から、非特許文献１等に示される三角測量法を用いて、被写体１１７上（物体上）の各点の位置における距離画像データを得ることができる。特に、本実施形態の手法では、サブピクセル演算部４０９でサブピクセル処理を行うことによって、スリット光パターンのエッジ位置を、画像ピクセル単位以下の精度で算出する。このため、非常に高精度に被写体１１７の三次元空間上での位置を算出することが可能である。尚、三角測量法により距離画像データを算出する方法自体は公知の技術で実現できるので、ここでは、その詳細な説明を省略する。
【００３１】
次に、距離値算出部４１１によって得られた距離画像データ（被写体１１７の距離の算出結果）は、高信頼度距離値算出部４１２に送られる。
高信頼度距離値算出部４１２は、エッジ重なり算出部４１０で算出されたエッジの重なりのカウント値の情報から、各スリット光パターンのエッジの位置に重なりが発生している箇所を特定する。次に、高信頼度距離値算出部４１２は、その部分の距離画像データは、不正確であると判断し、距離算出値をクリアする。
尚、エッジの位置に重なりが発生している箇所の情報から、その部分の距離画像データは、不正確であると判断し、距離算出値をクリアする際の詳細な処理に関しては、後述する。
最終的に、高信頼度距離値算出部４１２は、不正確ではないと判断した距離画像データのみで距離画像データ４１３を再構成し、出力する。
【００３２】
図５は、被写体に投影するスリット光パターンの他の例を示す図である。前述したように、図５では、スリット光パターンとして横パターンのスリット光パターンを示している。
図６〜図１０では、カメラ１１３とプロジェクタ１１２とが縦方向において間隔を有して配置を行っている場合を例に挙げて示している。このため、図６〜図１０では、図５に示すように横方向のスリット光パターン（横パターン）を被写体６０１に投影することで、各スリット光パターンのエッジの位置の重なりのカウント値を算出している。尚、以下の説明では、このカウント値を必要に応じて「エッジ重なり値」と称する。
図６〜図１０では、図２に示すのと同様に、低周波から高周波に至るパターンを有する複数のスリット光パターン５００〜５０５を被写体６０１に順次投影し、その度に被写体６０１の撮像を行う。
【００３３】
前述した、各スリット光パターンのエッジ部分の算出は、例えば、次のようにして行う。すなわち、ストライプ投影パターン（ポジパターン）５００によって得られた撮像画像と、ストライプ投影パターン（ネガパターン）５０３によって得られた撮像画像との輝度勾配情報によって、各スリット光パターンのエッジ部分の位置（エッジ位置）の算出を行う。
図５に示す例でも、図２に示した例と同様に、３ｂｉｔのグレイコードとして、投影面の位置情報をエンコードした状態で、各スリット光パターンの投影を行う。
高周波パターン（高周波のスリット光パターン）のｂｉｔ数は、プロジェクタ１１２の投影画素の分解能によって決定される。例えば、プロジェクタ１１２の投影画素の分解能が、１０２４×７６８であり、横パターンを投影する場合、高周波パターンのビット数は、１０ｂｉｔ分必要となる。
【００３４】
図６は、撮像された被写体の実際の画像の一例を示す図である。
カメラ１１３によって撮像されるスリット光パターンの投影時の被写体６０１を、輝度が相対的に高い部分と、相対的に低い部分とに分けることができる。この処理は、前述の二値化部４０５によって行われる。
スリット光パターンの投影処理と撮像処理は、必要な分解能の分だけ繰り返し行われ、その度に、撮像画像から得られるエッジ位置が算出され、保持される。この処理は、前述のエッジ算出部４０７によって行われる。
図６に示す例では、撮像画像６００の中に、測定物体である被写体６０１が存在する。図６は、その被写体６０１にスリット光パターンを投影した状態における撮像画像６００を示している。図７〜図１０に示すエッジ位置の算出例は、この被写体６０１に対して行われたものである。
【００３５】
図７は、低周波数のスリット光パターンの投影によるエッジ位置の算出結果の一例を示す図である。
エッジ算出値７００は、低周波数のスリット光パターンの投影によるエッジ位置の算出値の全体を示している。このエッジ算出値７００は、前述のストライプ投影パターン（ポジパターン）及びストライプ投影パターン（ネガパターン）から算出された結果である。
エッジ算出値７００には、スリット光パターンの輝度変化のエッジ部分７０１が表示されている。
エッジ算出部４０７は、このエッジ部分７０１の値（エッジ位置情報）をメモリ１１５に保持する。この、エッジ部分７０１の値（エッジ位置情報）は、エッジ重なり算出部４１０によって使用される。
【００３６】
図８は、中周波数（中間周波数）のスリット光パターンの投影によるエッジ位置の算出結果の一例を示す図である。
エッジ算出値８００は、図７に示したエッジ算出値７００と比較して、より高周波数のスリット光パターンの投影によるエッジ位置の算出値の全体を示している。中周波数のスリット光パターンを被写体６０１に投影すると、エッジ部分８０１に示される様に、図７に示したエッジ部分７０１と比較してより高周波数のエッジ位置の算出が可能になっている。
【００３７】
図９は、高周波数のスリット光パターンの投影によるエッジ位置の算出結果の一例を示す図である。
エッジ算出値９００は、プロジェクタ１１２の画素の空間周波数を１０ｂｉｔに符号化した場合のエッジ位置の算出結果の一例を示している。高周波数のスリット光パターンを被写体６０１に投影すると、エッジ部分９０１に示されるように、図７及び図８に示したエッジ部分７０１、８０１と比較してより高周波数のエッジ位置の算出が可能になっている。
【００３８】
図１０は、エッジ重なり値の算出結果の一例を示す図である。
エッジ算出部４０７は、図７〜図９に示される様に、各周波数におけるスリット光パターンを被写体６０１に投影したときの撮像画像からエッジ位置情報を得る。エッジ重なり算出部４１０は、各周波数におけるスリット光パターンから得られたエッジ位置情報から、カメラ１１３の画素が同一の位置におけるエッジの存在をカウントすることで、エッジ重なり値を算出する。
図１０（ａ）に示すエッジ重なり値の算出結果１０００は、カメラ１１３の各画素位置におけるエッジ重なり値を示している。一方、図１０（ｂ）に示すエッジ重なり値１００１は、エッジ重なり値の算出結果１０００の各画素の値を高さ方向に示した三次元グラフを示している。
図１０（ａ）に示す、エッジ重なり値がある画素位置（エリア）１００２と、図１０（ｂ）に示す、エッジ重なり値がある画素位置（エリア）１００３とは、同一の場所であり、且つ、エッジ重なり値が、２以上の場所である。また、図１０（ａ）に示す、エッジ重なり値がある画素位置（エリア）１００４と、図１０（ｂ）に示す、エッジ重なり値がある画素位置（エリア）１００５とは、同一の場所であり、且つ、エッジ重なり値が、１の場所である。
高信頼度距離値算出部４１２は、エッジ重なり値が１のエリアを、距離画像データの同一の位置における距離算出値の信頼度が高いエリアであると判断する。一方、高信頼度距離値算出部４１２は、エッジ重なり値が２以上のエリアを、距離画像データの同一の位置における距離算出値の信頼度が基準よりも低いエリアであると判断する。
高信頼度距離値算出部４１２は、このようなエッジ重なり値の評価を行うことで、距離値算出部４１１によって得られた距離画像データの距離値の信頼度の低い部分を抽出して、距離画像データ４１３として出力しないようにすることが可能になる。
【００３９】
次に、エッジ重なり値と距離画像データの信頼度との関係に関して説明する。
一般に、空間符号化法では、グレイコードを用いて、プロジェクタ装置の投影面上での座標位置を符号化して投影を行う。そのため、投影時においては、グレイコードでエンコードされた各スリット光パターンの投影面上でのエッジ位置は、完全に平行でありそれぞれのエッジ部分が重なることはない。グレイコードの低周波成分のエッジ位置は、それ以上のグレイコードの高周波成分のエッジ位置と重なることはないという性質があるからである。図２及び図５で示されるグレイコードのスリット光パターンの投影例でも、各周波数におけるスリット光パターンの明暗が入れ替わるエッジ位置は、低周波、中周波、高周波のいずれでも重なることはない。
【００４０】
そのため、カメラによって撮影された被写体の画像によって観測されるエッジ位置も、次のような場合でない限り、重なることはない。間接光による影響がある場合、オクルージョンがある場合、被写体面の傾斜が大きすぎてカメラでスリット光パターンのエッジを分解できない場合、被写体の反射率が低い場合に発生する信号雑音比の低下等がない限り、エッジ位置は重なることはない。
そこで、エッジ重なり値が１である部分の距離画像データは、空間符号化法のアルゴリズムの条件を満たしていると判断することが可能であり、信頼度が高いと判断することができる。逆に、エッジ重なり値が２以上である部分の距離画像データは、空間符号化法のアルゴリズムの条件を満たしていると判断することが難しく、信頼度が低いと判断することができる。
【００４１】
エッジ重なり値が２以上であるエリアは、前述の通り、例えば、間接光による影響や、オクルージョンや、信号雑音比（ＳＮ比）の低下によるノイズ等の影響があること言うことができる。
本実施形態では、特許文献１の様に、間接光の反射による影響や信号雑音比の低下によるノイズの影響を計るための特別なスリット光パターンの投影等は必要とせず、非特許文献１で示される通常の空間符号化法と同一の撮像画像を用いて三次元形状を測定できる。そのため、特に、撮像回数の増加は発生せず、通常の空間符号化法と同様の撮像速度で、間接光の反射による影響や信号雑音比による影響等を排除することが可能である。
【００４２】
図１１は、エッジ重なり算出処理の一例を説明するフローチャートである。
まず、ステップＳ１１０１において、エッジ重なり算出部４１０は、エッジ重なり値のクリア処理を行う。
次に、ステップＳ１１０２において、画像取り込み部４０３は、スリット光パターンのポジパターン投影時の撮像画像（ｐ画像）と、スリット光パターンのネガパターン投影時の撮像画像（ｎ画像）とのそれぞれを低周波数から高周波数まで入力する。尚、ステップＳ１１０３では、撮像画像を１つずつ入力するものとする。
次に、ステップＳ１１０３において、二値化部４０５は、ステップＳ１１０２で入力した撮像画像のそれぞれに対して二値化処理を行い、二値化情報を生成する。
次に、ステップＳ１１０４において、エッジ算出部４０７は、二値化情報に基づいて、エッジ部分を抽出し、エッジ位置情報を生成する。このステップＳ１１０４では、図７〜図９に示したようなエッジ算出値７００、８００、９００が得られる。
【００４３】
次に、ステップＳ１１０５において、エッジ重なり算出部４１０は、エッジの存在する部分（エリア）に対するエッジ重なり値に「１」を加算する。このエッジ重なり値の加算処理の詳細は、図１０を参照しながら説明した通りである。
そして、ステップＳ１１０６において、システム管理部４０４は、エッジ重なり値の加算処理をスリット光パターンの全ての周波数において行ったか否かを判定する。この判定の結果、エッジ重なり値の加算処理をスリット光パターンの全ての周波数において行っていない場合には、ステップＳ１１０２に戻り、次の周波数における撮像画像を入力する。そして、エッジ重なり値の加算処理をスリット光パターンの全ての周波数において行うまで、ステップＳ１１０２〜Ｓ１１０６の処理を繰り返し行う。
そして、エッジ重なり値の加算処理をスリット光パターンの全ての周波数において行うと、エッジ重なり値の算出が完了し、図１１のフローチャートによる処理を終了し、処理の復帰を行う。
このようにして、エッジ重なり値の算出を行う。
【００４４】
（オクルージョンの影響）
ここで、本実施形態におけるオクルージョンによる影響について説明する。オクルージョンによる影響は、プロジェクタ１１２からの投影光がプロジェクタ１１２からの影（オクルージョン）に近い場合に発生する。図１２を用いて、オクルージョンに関する説明を行う。図１２は、オクルージョンの影響の一例を示す図である。
図１２において、プロジェクタ１１２から投影されるパターン光は、被写体１２０１によって遮られる。この影になる部分のエリア１２０２については、カメラ１１３によってパターン光の撮影をすることが出来ない。しかし、被写体１２０１は、傾斜を持った物体であり、エリア１２０２のエッジ部分の光は、環境光と微弱なパターン光との合算値の輝度値となる。
【００４５】
このように、狭いエリアに微弱なパターン光が投影されている状態であるため、エリア１２０２の特定は困難となる。そのため、パターン光の高周波パターンのエッジと低周波パターンのエッジとが同一の撮影画素エリアになりやすくなり、エッジ重なり値が上昇する。また、エリア１２０３は、カメラ１１３で撮像することが出来ないエリアであるが、パターン光が投射されているエリアである。
このエリア１２０３に関しては、カメラ１１３は、被写体１２０１の表面を撮影することになる。尚、プロジェクタ１１２からのパターン光の投影も正当に行われる。
エリア１２０４もエリア１２０２、１２０３と同様に床面のエリアではあるが、パターン光が投影されているエリアであり、且つ、カメラ１１３による撮影が行われるエリアである。
【００４６】
このような状況では、エリア１２０３とエリア１２０４との境界部分で、計測線の不連続や、エッジの重なりが発生する。そのため、エッジ重なり値が上昇する。
エッジ重なり値が２以上である部分は、前述した通り、間接光による影響や、オクルージョンによる影響や、信号雑音比（ＳＮ比）の低下によるノイズなどの影響があると考えることが出来る。つまり、画像全体のエッジ重なり値マップデータは、パターン光によって検出されたスリット光パターンのエッジの信頼性を示すマップ、つまり信頼性マップデータと考えることが出来る。
尚、本実施形態における手法は、特開２０００−３３７８２９公報で開示されている技術のような、間接光の反射による影響や信号雑音比（ＳＮ比）の低下によるノイズの影響を計るための特別なスリット光パターンの投影を必要としない。よって、通常の空間符号化法と同一の撮影画像を用いて演算することで、間接光の反射による影響やノイズによる影響を排除することが可能である。そのため、特に撮影回数の増加は発生せず、通常の空間符号化法と同様の撮影速度で、間接光の反射による影響やノイズによる影響を排除することが可能である。
【００４７】
（エッジの算出方法）
ここで、本実施形態におけるエッジの算出方法の一例について説明する。図１３は、エッジの算出方法の一例を説明する図である。
エッジの算出は、ポジパターンによる撮影画像と、ネガパターンによる撮影画像との２つによって算出が可能である。図１３に示すグラフは、投影したパターン光を撮影した撮影画像の輝度分布を示すグラフである。撮影画像は、二次元のデータであるが、図１３では、画像の縦軸方向のデータを一次元のデータとして示している。
【００４８】
図１３において、横方向の軸は、撮影画像の縦方向の座標を示す。縦方向軸は、撮影画像の輝度の強弱を示す。
図１３において、グラフ１３０１は、ポジパターンの投影による撮影画像の輝度変化を示すグラフである。また、グラフ１３０２は、ネガパターンの投影による撮影画像の輝度変化を示すグラフである。
図１３に示す輝度変化は、パターンの変化が発生している局所的な部分を拡大したものである。グラフ１３０１は、パターンの変化している点１３０４で、グラフ１３０２と輝度値が同一になる。この点１３０４を輝度変化のエッジの座標として算出することで、エッジ座標位置１３０３を決定する。同様の演算処理を、撮影画像全体に対して行うことで、各周波数パターンの撮影画像における各パターンのエッジ座標位置の算出を行う。
【００４９】
（エッジの重なり値の算出）
図１４は、エッジ重なり値の算出方法の一例を説明する図である。
図１４において、データ１４０１は、Ｎビット目の投影パターンを撮影した撮影画像から前述した方法によって算出されたエッジの位置を示すデータである。データ１４０２は、Ｎ＋１ビット目の投影パターンを撮影した撮影画像から同様に算出されたエッジの位置を示すデータである。エッジの位置を示すデータは、撮影画面と同様の二次元の大きさを持つデータである。
【００５０】
もし、各画素に対応する部分に、エッジが存在する場合は、データの値は１となり（画素１４０４等を参照）、エッジが存在しない場合は、データの値は０となる（画素１４０５等を参照）。これらの各ビットでのパターンの同一画素でのエッジ重なり数をカウントしたデータが、エッジ重なり値を示すマップ１４０３となる。
もし、エッジが存在しないのであれば、エッジ重なり値を示すマップ１４０３の値は０を示す（画素１４０８等を参照）。もし、エッジが１個（エッジが重なっていない状態）であれば、エッジ重なり値を示すマップ１４０３の値は１を示す（画素１４０７等を参照）。もし、エッジが２個（エッジが重なっている状態）であれば、エッジ重なり値を示すマップ１４０３の値は２を示す（画素１４０６等を参照）。
【００５１】
或る画素（場所）のエッジ重なり数（エッジ重なり値）が１であれば、その場所ではエッジの重なりは発生しておらず、その場所は、原理的に空間符号化法が正しく観測が出来る場所である。或る画素（場所）のエッジ重なり数が２以上であれば、その場所ではエッジの重なりが発生しており、その場所は、原理的に空間符号化法が正しく観測出来ないと考えられる場所である。以上の処理によって、撮影画像の各画素位置におけるエッジの重なり値を算出することが出来る。
【００５２】
次に、高信頼度距離値算出処理の一例について説明する。
高信頼度距離値算出部４１２は、エッジ重なり値が１であれば、その領域の距離画像データの値の信頼度が高いと判断し、その領域の距離画像データを有効にする。一方、エッジ重なり値が２以上であれば、その領域の距離画像データの値の信頼度が低いと判断し、その領域の距離画像データの値を無効にする。
この様にして、距離画像データの信頼度が低い部分に関しては、無効化処理を行い、結果として、信頼度の高い距離画像データ４１３を生成することができる。
【００５３】
以上のように本実施形態では、複数の周波数のスリット光パターンであって、それぞれのエッジの位置が相互に重ならない５０１〜５０５を被写体６０１に投影したときのそれぞれの撮像画像から、スリット光パターンのエッジの部分を特定する。そして、２以上のスリット光パターンの撮像画像において、エッジの部分が重なる場合に、そのエッジに対応する位置の距離算出値の信頼度を低下させる。したがって、空間符号化法による被写体の三次元形状の計測を行うに際し、スリット光パターンの投影回数を増やすことなく、測定点におけるノイズの影響や間接光による影響がある箇所を、不正確な距離の演算が行われた箇所として認識することができる。よって、空間符号化法における物体の三次元形状の計測を高速に且つ高精度に行うことができる。
【００５４】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。第１の実施形態では、エッジ重なり値が２以上の領域に対応する距離画像データを無効にする場合を例に挙げて説明した。これに対し、本実施形態では、エッジ重なり値が２以上の場合には、スリット光パターンの最高周波数のビット数からエッジ重なり値を減算したビット数までのスリット光パターンを用いてグレイコードを構成し、距離画像データを生成する。このように、本実施形態と第１の実施形態とは、距離画像データの算出（又は採用）方法の一部が主として異なる。よって、本実施形態の説明において、第１の実施形態と同一の部分については、図１〜図１４に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００５５】
本実施形態では、距離値算出部４１１の距離算出過程において、エッジ重なり算出部４１０で算出されたエッジ重なり値を用いることで、第１の実施形態よりも、精度的は落ちるものの、より多くの場所での距離画像データを算出することを目的とする。すなわち、エッジ重なり値を次のように解釈することで、信頼性のある低周波数のスリット光パターンの投影結果も用いて距離計測を行う。
まず、エッジ重なり値が１の場合には、全ての周波数のスリット光パターンを用いて、グレイコードを構成し、距離演算を行う。
一方、エッジ重なり値が２以上の場合は、（スリット光パターンの最高周波数のビット数−エッジ重なり値）のビット数までのスリット光パターンを用いてグレイコードを構成し、距離演算を行う。
低周波数のスリット光パターンの方が高周波数のスリット光パターンよりも光量が多く、エッジ位置の算出にとって、高周波数のスリット光パターンによる演算結果よりも信号雑音比（Ｓ／Ｎ比）が高いためである。すなわち、エッジ重なり値が２以上であっても、その値がある程度小さい場合には、低周波数のスリット光パターンによる演算結果を相対的に多く使用し、その値が大きい場合には、低周波数のスリット光パターンによる演算結果を相対的に少なく使用する。
このようにすることによって、第１の実施形態と比較して、より多くの場所での距離画像データの算出が可能になる。
尚、距離値算出部４１１で全ての距離画像データを求め、高信頼度距離値算出部４１２が、重なっているエッジ位置のサブピクセル値が一致しているか否かを判定し、判定結果に応じて、エッジ重なり値が２以上の距離算出値を求め直すようにしてもよい。
【００５６】
（第３の実施形態）
次に、第３の実施形態について説明する。本実施形態では、エッジ重なり値が２以上であっても、サブピクセル精度で求めたエッジの位置が完全に一致していない場合には、その位置の距離画像データを算出（又は採用）する。このように、本実施形態と第１、第２の実施形態とは、距離画像データの算出（又は採用）方法の一部が主として異なる。よって、本実施形態の説明において、第１、第２の実施形態と同一の部分については、図１〜図１４に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００５７】
本実施形態では、距離値算出部４１１の距離算出過程において、エッジ重なり算出部４１０で算出されたエッジ重なり値と、サブピクセル演算部４０９で得られた、エッジの座標値（サブピクセル値）とを用いる。これにより、第１、第２の実施形態では算出されなかった高周波数のスリット光パターンの投影結果による距離画像データの算出が可能になる。
エッジ重なり値が２以上のエリア（画素）は、低周波数のスリット光パターンのエッジ位置と高周波数のスリット光パターンのエッジ位置とが、カメラ１１３の同一画素内に存在する状態であると考えられる。つまり、エッジ重なり値が２以上のエリア（画素）は、エッジ位置の分解能が、カメラ１１３の画素分解能よりも高い場合にも発生する。
この場合は、各周波数におけるスリット光パターンの輝度を用いて、サブピクセル演算部４０９によって、エッジ位置をサブピクセル精度で算出が可能である。そのため、カメラ１１３の画素単位よりも細かなエッジ位置を演算することが可能になる。
つまり、エッジ重なり値が２以上の場合、距離値算出部４１１は、重なっているエッジ位置のサブピクセル値が一致しているか否かを判定する。この判定の結果、重なっているエッジ位置のサブピクセル値が一致していない場合、距離値算出部４１１は、当該エッジ位置に対応する被写体までの距離を算出する。このようにすることによって、第１、第２の実施形態よりも高精度な距離値の算出が可能になり、被写体の三次元形状をより高精度に求めることができる。
尚、距離値算出部４１１で全ての距離画像データを求め、高信頼度距離値算出部４１２が、重なっているエッジ位置のサブピクセル値が一致しているか否かを判定し、一致している場合、当該エッジ位置に対応する距離算出値をクリアしてもよい。
【００５８】
（第４の実施形態）
次に、本発明の第４の実施形態について説明する。本実施形態では、距離値算出部４１１の距離算出過程において、エッジ重なり算出部４１０のエッジ重なり値を用いることで、距離画像データ（距離値）を無効とするのではなく、第１の実施形態よりも精度的には落ちるものの距離画像データ（距離値）を算出する。このように本実施形態と第１〜第３の実施形態とは、距離画像データの算出方法の一部が主として異なる。よって、本実施形態の説明において、第１〜第３の実施形態と同一の部分については、図１〜図１４に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００５９】
前述した第１の実施形態では、エッジ重なり算出部４１０によって算出されるエッジ重なり値が２以上の場合は、そのエッジ重なり値が２以上であるエッジに対応する位置の距離算出値が、信頼性のない距離計測値であるとして処理を行った。これに対し、本実施形態では、エッジ重なり値を、次のように解釈することで、信頼性のある低周波数のスリット光パターンの投影結果までを用いて距離計測を行う。
【００６０】
（１）エッジ重なり値が１の場合には、全ての周波数の投影パターンを用いて、グレイコードを構成し、距離演算を行う。
（２）エッジ重なり値が２以上の場合には、（投影パターンの最高周波数のビット数−エッジ重なり値）のビット数までの結果の投影パターンを用いてグレイコードを構成し、距離演算を行う。
これは、低周波数のスリット光パターンの方が高周波数のスリット光パターンよりも光量が多く、エッジ位置の算出にとって、高周波数のスリット光パターンによる演算結果よりも信号雑音比（Ｓ／Ｎ比）がより高いためである。このような処理によって、第１の実施形態と比較して、より多くの場所での距離画像データの算出が可能になる。
【００６１】
（第５の実施形態）
次に、本発明の第５の実施形態について説明する。本実施形態では、距離値算出部４１１の距離算出過程において、エッジ重なり算出部４１０のエッジ重なり値及びサブピクセル演算部４０９のエッジのサブピクセル値を用いる。このようにすることで、他の実施形態では算出されなかった高周波のスリット光パターンの投影結果による距離画像データの算出を行うことができる。このように本実施形態と第１〜第４の実施形態とは、距離画像データの算出方法の一部が主として異なる。よって、本実施形態の説明において、第１〜第４の実施形態と同一の部分については、図１〜図１４に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００６２】
エッジ重なり値が２以上の画像ピクセルは、低周波数なスリット光パターンのエッジ位置と、高周波なスリット光パターンのエッジ位置とがカメラ１１３の同一画素内に存在する状態であると考えられる。つまり、エッジ位置の分解能が、カメラ１１３の画素分解能よりも高い場合にも発生する。このような場合には、各周波数におけるスリット光パターンの輝度を用いて、サブピクセル演算部４０９がサブピクセル処理を行うことによって、エッジ位置をサブピクセル精度で算出することが可能である。そのため、カメラ１１３の画素単位よりも細かなエッジ位置を演算することが可能になる。つまり、エッジ重なり値が２以上の場合は、距離値演算部４１１が、エッジ位置のサブピクセル値まで用いて、被写体までの距離計測を行うことによって、他の実施形態よりも高精度な距離値の算出が可能になる。
【００６３】
尚、前述した各実施形態では、例えば、プロジェクタ１１２により投影手段の一例が実現され、カメラ１１３により撮像手段の一例が実現される。また、例えば、距離値算出部４１１により距離値算出手段の一例が実現され、エッジ算出部４０７によりエッジ位置検出手段の一例が実現される。また、エッジ重なり算出部４１０によりエッジ重なり度合い検出手段の一例が実現され、距離値算出部４１１により位置算出手段の一例が実現され、高信頼度距離値算出部４１２により信頼度算出手段の一例が実現される。
【００６４】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００６５】
（その他の実施例）
本発明は、以下の処理を実行することによっても実現される。即ち、まず、以上の実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）が当該コンピュータプログラムを読み出して実行する。
【符号の説明】
【００６６】
１００  計算処理部、１１２  プロジェクタ、１１３  カメラ
【図１】
0005882631.tif 000002
【図２】
0005882631.tif 000003
【図３】
0005882631.tif 000004
【図４】
0005882631.tif 000005
【図５】
0005882631.tif 000006
【図６】
0005882631.tif 000007
【図７】
0005882631.tif 000008
【図８】
0005882631.tif 000009
【図９】
0005882631.tif 000010
【図１０】
0005882631.tif 000011
【図１１】
0005882631.tif 000012
【図１２】
0005882631.tif 000013
【図１３】
0005882631.tif 000014
【図１４】
0005882631.tif 000015