(57)【特許請求の範囲】
【請求項１】
入力対象の物体を走査するように起点から前記物体に向かって参照光を投射する投光系と、
第１の位置で前記物体を撮影するための第１の撮影系と、
前記第１の位置から離れた第２の位置で前記物体を撮影するための第２の撮影系と、
前記参照光を投射して前記物体を前記第１及び第２の撮影系によって同時に撮影したときの撮影データに基づいて、前記第１の撮影系の撮影面と前記第２の撮影系の撮影面との間での前記物体上の同一点からの光が入射する画素位置どうしを対応づける第１マッチング手段と、
前記参照光を投射せずに前記物体を前記第１及び第２の撮影系によって撮影したときの撮影データに基づいて、前記第１の撮影系の撮影面と前記第２の撮影系の撮影面との間での前記物体上の同一点からの光が入射する画素位置どうしを対応づける第２マッチング手段と、
前記第１の撮影系の撮影面における各画素について、前記第１マッチング手段によって得られた対応関係及び前記第２マッチング手段によって得られた対応関係の一方を選択する選択手段とを有し、
前記選択手段によって選択された対応関係で決まる前記第１及び第２の位置のそれぞれでの受光角度に応じたデータを前記物体の位置情報として出力する
ことを特徴とする３次元入力装置。
【請求項２】
前記選択手段は、前記第１マッチング手段によって得られた対応関係及び前記第２マッチング手段によって得られた対応関係のうち、信頼度の大きい方を選択する
請求項１記載の３次元入力装置。
【請求項３】
前記選択手段は、前記第１マッチング手段によって得られた対応関係の信頼度が第１基準値より小さく、且つ前記第２マッチング手段によって得られた対応関係の信頼度が第２基準値より大きい場合のみにおいて、前記第２マッチング手段によって得られた対応関係を選択する
請求項１記載の３次元入力装置。
【請求項４】
前記選択手段によって選択された対応関係が、前記第１マッチング手段及び前記第２マッチング手段のどちらによって得られたかを示す識別データを、前記データと対応づけて出力する
請求項１乃至請求項３のいずれかに記載の３次元入力装置。
【請求項５】
前記第１マッチング手段によって得られた対応関係で決まる前記第１及び第２の位置のそれぞれでの受光角度に応じたデータを出力する第１モードと、前記選択手段によって選択された対応関係で決まる前記第１及び第２の位置のそれぞれでの受光角度に応じたデータを出力する第２モードと、前記第２マッチング手段によって得られた対応関係で決まる前記第１及び第２の位置のそれぞれでの受光角度に応じたデータを出力する第３モードとが設けられ、これらのうちの任意の１つを動作モードとして選択する
請求項１乃至請求項４のいずれかに記載の３次元入力装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、物体に参照光を投射して物体を走査し、物体形状を特定するためのデータを出力する３次元入力装置に関する。
【０００２】
【従来の技術】
レンジファインダと呼称される非接触型の３次元入力装置は、接触型に比べて高速の計測が可能であることから、ＣＧシステムやＣＡＤシステムへのデータ入力、身体計測、ロボットの視覚認識などに利用されている。
【０００３】
レンジファインダに好適な計測方法としてスリット光投影法（光切断法ともいう）が知られている。この方法は、物体を光学的に走査して距離画像（３次元画像）を得る方法であり、特定の参照光を投射して物体を撮影する能動的計測方法の一種である。距離画像は、物体上の複数の部位の３次元位置を示す画素の集合である。スリット光投影法では、参照光として投射ビームの断面が直線帯状であるスリット光が用いられる。走査中のある時点では物体の一部が照射され、撮像面には照射部分の起伏に応じて曲がった輝線が現れる。したがって、走査中に周期的に撮像面の各画素の輝度をサンプリングすることにより、物体形状を特定する一群のデータ（３次元入力データ）を得ることができる。
【０００４】
従来においては、撮像面内の輝線の位置に基づいて、物体で反射して撮像面に入射したスリット光の入射角度を求め、その入射角度と当該スリット光の投射角度と基線長（投射の起点と受光基準点との距離）とから三角測量の手法で物体の位置を算出していた。つまり、参照光の投射方向と受光方向とに基づく位置演算が行われていた。なお、特開平１０−２７２２号の装置のように参照光としてスポット光（ビーム断面が点状）を用いる場合にも、投射方向と受光方向とに基づいて物体の位置が算出されていた。
【０００５】
【発明が解決しようとする課題】
従来においては、３次元入力データの精度が参照光の投射角度制御の精度に依存し、このために十分に高い精度の３次元入力データが得られなかったり、精度を確保するために高価な部品を用いなければならなかったり、投光系の取付け姿勢の調整に手間がかかったりするという問題があった。精度の確保が難しい理由としては、投光系は参照光を偏向する可動機構を有しており、その動作は温度、湿度などの使用環境の変化の影響を受け易いことが挙げられる。
【０００６】
本発明は、参照光の投射角度情報によらない３次元入力を実現し、投射角度制御の精度に係わらず高精度の３次元入力データを得るとともに、データの信頼性を高めることを目的としている。他の目的は、動作モードの多様化による実用性の向上を図ることにある。
【０００７】
【課題を解決するための手段】
本発明においては、参照光で照らされた状態の物体と環境光で照らされた状態の物体とを互いに離れた２点のそれぞれを視点として順に撮影し、視点間の距離と各視点からみた物体上の注目点の方位（視点どうしを結ぶ直線に対する傾き）とから三角測量の手法で物体の位置を算出する。その際、注目点の方位を特定するために、参照光を投射したときの視点の異なる２個の撮影像についての画素の対応検索（マッチング）に加えて、参照光を投射しないときの撮影像についても対応検索を行う。物体の形状や配色によっては、参照光を投射しない場合の対応検索の方が信頼性が高くなる。２種の対応検索の結果を適切に選択することにより、データの信頼性を高めることができる。
【０００８】
請求項１の発明の装置は、入力対象の物体を走査するように起点から前記物体に向かって参照光を投射する投光系と、第１の位置で前記物体を撮影するための第１の撮影系と、前記第１の位置から離れた第２の位置で前記物体を撮影するための第２の撮影系と、前記参照光を投射して前記物体を前記第１及び第２の撮影系によって同時に撮影したときの撮影データに基づいて、前記第１の撮影系の撮影面と前記第２の撮影系の撮影面との間での前記物体上の同一点からの光が入射する画素位置どうしを対応づける第１マッチング手段と、前記参照光を投射せずに前記物体を前記第１及び第２の撮影系によって撮影したときの撮影データに基づいて、前記第１の撮影系の撮影面と前記第２の撮影系の撮影面との間での前記物体上の同一点からの光が入射する画素位置どうしを対応づける第２マッチング手段と、前記第１の撮影系の撮影面における各画素について、前記第１マッチング手段によって得られた対応関係及び前記第２マッチング手段によって得られた対応関係の一方を選択する選択手段とを有し、前記選択手段によって選択された対応関係で決まる前記第１及び第２の位置のそれぞれでの受光角度に応じたデータを前記物体の位置情報として出力する３次元入力装置である。
【０００９】
請求項２の発明の３次元入力装置において、前記選択手段は、前記第１マッチング手段によって得られた対応関係及び前記第２マッチング手段によって得られた対応関係のうち、信頼度の大きい方を選択する。
【００１０】
請求項３の発明の３次元入力装置において、前記選択手段は、前記第１マッチング手段によって得られた対応関係の信頼度が第１基準値より小さく、且つ前記第２マッチング手段によって得られた対応関係の信頼度が第２基準値より大きい場合のみにおいて、前記第２マッチング手段によって得られた対応関係を選択する。
【００１１】
請求項４の発明の３次元入力装置は、前記選択手段によって選択された対応関係が、前記第１マッチング手段及び前記第２マッチング手段のどちらによって得られたかを示す識別データを、前記データと対応づけて出力する。
【００１２】
請求項５の発明の３次元入力装置は、前記第１マッチング手段によって得られた対応関係で決まる前記第１及び第２の位置のそれぞれでの受光角度に応じたデータを出力する第１モードと、前記選択手段によって選択された対応関係で決まる前記第１及び第２の位置のそれぞれでの受光角度に応じたデータを出力する第２モードと、前記第２マッチング手段によって得られた対応関係で決まる前記第１及び第２の位置のそれぞれでの受光角度に応じたデータを出力する第３モードとが設けられ、これらのうちの任意の１つを動作モードとして選択するものである。
【００１３】
【発明の実施の形態】
図１は本発明に係る３次元入力装置１の機能ブロック図である。
３次元入力装置１は、スリット光Ｕを投射する投光系１０と、同一構成の２個の撮影系２０Ａ，２０Ｂと、同一構成の２個の受光信号処理部３０Ａ，３０Ｂとを有している。
【００１４】
投光系１０は、光源としての半導体レーザ１２、ビーム整形のためのレンズ群１３、及び投射角度を変更するビーム偏向手段としてのガルバノミラー１４からなり、撮影系２０Ａ，２０Ｂの中間に配置されている。レンズ群１３は、コリメータレンズとシリンドリカルレンズとで構成される。ガルバノミラー１４には、投光制御回路３２からＤ／Ａ変換器３３を介して偏向制御信号が与えられる。
【００１５】
撮影系２０Ａは、受光レンズ２１、ビームスプリッタ２２、スリット光Ｕで照射された物体Ｑを撮影して距離画像を得るためのイメージセンサ２４Ａ、物体Ｑのカラー撮影のためのカラーイメージセンサ２５Ａ、及びズーミングとフォーカシングとを可能にするレンズ駆動機構２６からなる。ビームスプリッタ２２は、半導体レーザ１２の発光波長域（例えば中心波長６８５ｎｍ）の光と可視光とを分離する。同様に撮影系２０Ｂも受光レンズ２１、ビームスプリッタ２２、イメージセンサ２４Ｂ、カラーイメージセンサ２５Ｂ、及びレンズ駆動機構２６からなる。イメージセンサ２４Ａ，２４Ｂ及びカラーイメージセンサ２５Ａ，２５Ｂは２次元撮像デバイス（エリアセンサ）である。これらセンサとして、ＣＣＤセンサ、ＣＭＯＳセンサを使用することができる。
【００１６】
各イメージセンサ２４Ａ，２４Ｂの出力はＡ／Ｄ変換器３５で所定ビット数の受光データに変換され、逐次にメモリ回路３７に転送される。メモリ回路３７では受光データの値に応じて後述の受光角度θＡ，θＢを特定する時間重心ＴＡ，ＴＢが記憶される。カラーイメージセンサ２５の出力はＡ／Ｄ変換器３６で受光データに変換され、カラー画像メモリ３８によって逐次に記憶される。記憶されたカラー画像はステレオ視法による３次元入力に用いられる。メモリ回路３７及びカラー画像メモリ３８のアドレス指定はメモリ制御回路３９が担う。
【００１７】
３次元入力装置１を制御するＣＰＵ３１は制御対象に適時に指示を与える。また、ＣＰＵ３１は、受光信号処理部３０Ａ，３０Ｂのそれぞれのメモリ回路３７から時間重心ＴＡ，ＴＢを取り込むとともに、２個の画像メモリ３８のそれぞれからカラー画像を読み出し、２種のマッチング処理を行って距離データを生成する。距離データは適時に３次元入力データとして図示しない外部装置に出力される。その際、受光信号処理部３０Ａ，３０Ｂの少なくとも一方のカラー画像メモリ３８によって記憶されているカラー画像も参考情報として出力される。外部装置としては、コンピュータ、ディスプレイ、記憶装置などがある。ＣＰＵ３１には、後述の時間重心画像どうしのマッチングを行うブロック３１１、カラー画像どうしのマッチングを行うブロック３１２、及び２種のマッチングの結果の一方を選択するブロック３１３の各機能を実現するデータ処理プログラムが組み込まれている。
【００１８】
３次元入力装置１においては、距離データの生成に関して３つのモードが設けられている。第１モードでは、時間重心画像のマッチングの結果のみに基づいて距離データを得る。第２モードでは、時間重心画像のマッチングの結果及びカラー画像のマッチングの結果の一方を所定条件に則して選択して距離データを得る。第３モードでは、カラー画像のマッチングの結果のみに基づいて距離データを得る。これらモードは物体の形状や配色などに応じて適宜選択される。例えば、物体の色が一様な場合は、カラー画像のマッチングの信頼性は低いので、第１モードが適している。逆に参照光の反射率が低い物体の場合は、時間重心画像のマッチングの信頼性は低いので、第３モードが適している。また、反射率の異なる部分が混在する物体の場合は、第２モードが適している。
【００１９】
ＣＰＵ３１はモード指定部５１の状態判別によって指定モードを検知する。モード指定部５１としては、操作パネル、操作パネルとは別に設けられたディップスイッチ、遠隔操作のためのインタフェースなどがある。
【００２０】
図２は投射の模式図である。
３次元入力装置１は、ガルバノミラー１４の反射面上の点を起点Ｃとして仮想面ＶＳを走査するようにスリット光Ｕを投射する。仮想面ＶＳは、イメージセンサ２４で撮影可能な空間（画角内の範囲）の奥行き方向と直交する断面に相当する。そして、仮想面ＶＳのうちのイメージセンサ２４Ａ，２４Ｂにおける各画素に対応した範囲ａｇが、３次元入力のサンプリング区画となる。図２においては、投光の起点Ｃ、及び視点（受光の主点）Ａ，Ｂが一直線上に配置されており、起点Ｃの位置は視点Ａ，Ｂの中間である。ここで、視点Ａ，Ｂは垂直方向に沿って並び、スリット光Ｕのスリット長さ方向は水平方向であるものとする。
【００２１】
図３は時間重心の説明図である。
３次元入力装置１は、撮像面Ｓ２上でのスリット幅がピッチｐｖで並ぶ画素ｇの複数個分となる比較的に幅の広いスリット光Ｕを物体Ｑに投射する。具体的にはスリット光Ｕの幅を５画素分程度とする。スリット光Ｕは起点Ｃを中心に図の上下方向に等角速度で偏向される。物体Ｑで反射したスリット光Ｕは結像の主点Ａ（ズームレンズの後側主点）を通って撮像面Ｓ２に入射する。スリット光Ｕの投射中に撮像面Ｓ２の各画素ｇの受光量を周期的にサンプリングすることにより、物体Ｑ（厳密には物体像）が走査される。サンプリング周期（撮像周期）毎にイメージセンサ２４Ａ，２４Ｂから１フレーム分の光電変換信号が出力される。
【００２２】
物体Ｑの表面が平面であって光学系の特性によるノイズがないものとすると、撮像面Ｓ２の各画素ｇの受光量は、当該画素ｇがにらむ範囲（厳密にはその中心）の物体表面ａｇをスリット光Ｕの光軸が通過する時点で最大となり、その時間的な分布は正規分布に近くなる。図３では撮像面Ｓ２における垂直方向のｊ番目の画素ｇj が注目され、その受光量の推移が図３（ｂ）に示されている。図３（ｂ）の例ではｎ回目のサンプリング時点Ｔn とその１つ前の（ｎ−１）回目のサンプリング時点Ｔn-1 との間で受光量が最大になっている。このように注目した１つの画素ｇにおける受光量が最大になる時点、すなわち輝度分布曲線の頂上付近の変曲点を“時間重心”と定義する。ただし、離散的なサンプリングデータの大小判別による時間重心の検出では、検出結果（図３の例では時点Ｔn ）と実際の時間重心との間に最大でサンプリング周期の１／２のずれが生じる。
【００２３】
ここで、主点Ａと撮像面Ｓ２の各画素ｇとの位置関係から、各画素ｇに対するスリット光Ｕの入射角度が一義的に決まる。したがって、時間重心は、「特定の角度（これを受光角度θＡという）でスリット光Ｕが主点Ａに入射する時刻」ということもできる。
【００２４】
図４は投射角度情報によらない距離画像の生成要領を説明するための図、図５は時間重心画像どうしのマッチングの模式図である。
投射角度情報によらない物体Ｑの３次元入力の概要は次のとおりである。
【００２５】
第１モード及び第２モードではスリット光Ｕを投射し、２個のイメージセンサ２４によるフレーム周期の撮影に同期させてガルバノミラー１４の偏向角を制御する。このとき、２個のイメージセンサ２４Ａ，２４Ｂを同一タイミングで駆動する。つまり、物体Ｑを視点Ａ，Ｂから同時に撮影する。そして、各イメージセンサ２４Ａ，２４Ｂの各画素が、刻々と偏向されていくスリット光Ｕのどの時点の投射により照らされたかを検知する。
【００２６】
一方のイメージセンサ２４Ａの出力に基づいて、撮影面Ｓ２の各画素ｇについて時間重心ＴＡを検出し、検出結果の集合である時間重心画像ＧＡをメモリに記録する。このとき、撮像面Ｓ２の水平方向（主走査方向）の画素位置を示す水平アドレスｉと、垂直方向の画素位置を示す垂直アドレスｊとによって個々の時間重心ＴＡを記録するメモリ空間を指定する。同様に、他方のイメージセンサ２４Ｂの出力に基づいて、撮影面Ｓ２の各画素ｇについて時間重心ＴＢを検出し、検出結果の集合である時間重心画像ＧＢをメモリに記録する。
【００２７】
一方のイメージセンサ２４Ａにおける水平方向ｉＡ番目で垂直方向ｊＡ番目の画素ｇiAjAに注目すると、画素ｇiAjAに対応した視線上の点Ｐをスリット光Ｕが通過する際にその出力が最大となる。このとき、他方のイメージセンサ２４Ｂの出力に注目すると、点Ｐを通る視線に対応した画素ｇiBjBの出力が最大となる。ここで、時間重心画像ＧＡと時間重心画像ＧＢとについて、垂直方向にエピポラー拘束が成り立っているとすると、画素ｇiAjAの水平方向位置ｉＡに対して、画素ｇiBjBの水平方向位置ｉＢは一意に決まる。また、画素ｇiAjAの垂直方向位置ｊＡに対する画素ｇiBjBの垂直方向位置ｊＢは、時間重心画像ＧＢ中の水平方向位置ｉＢの画素列のうち、画素ｇiAjAの出力が最大となった時刻と同時刻に出力が最大となった画素を見つければ判る。したがって、イメージセンサ２４Ａ，２４Ｂの各画素の出力が最大となる時刻である時間重心ＴＡiAjA，ＴＢiBjBを把握すれば、時間重心画像ＧＡの各画素に対応する時間重心画像ＧＢの画素を見つけ出すことができる。
【００２８】
点Ｐが時間重心画像ＧＡの画素ｇiAjAに対応するとき、画素ｇiAjAの位置で決まる受光角度θＡiAjAと視点Ａの空間座標とによって特定される直線上に点Ｐが存在することになる。同様に点Ｐが時間重心画像ＧＢの画素ｇiBjBに対応するとき、画素ｇiBjBの位置で決まる受光角度θＢiBjBと視点Ｂの空間座標とによって特定される直線上に点Ｐが存在することになる。つまり、これら２つの直線の交点が点Ｐである。したがって、受光角度θＡiBjB，θＢiBjB及び基線長Ｌに基づいて、三角測量の原理を適用して、視点Ａ，Ｂを通る基線と点Ｐとの奥行き方向の距離ＤiAjAを算出することができ、視点Ａ，Ｂと点Ｐとの相対位置を特定することができる。そして、以上の処理を時間重心画像ＧＡの各画素ｇについて行えば、物体Ｑについて画素数分のサンプリング点の３次元位置情報（距離画像）が得られる。
【００２９】
次に、時間重心ＴＡ，ＴＢを検出するための回路の具体的な構成を説明する。なお、以下では画素位置の区別が必要な場合を除いて、画素位置を表す添字iAjA，iBjBの記述を省略する。
【００３０】
図６はメモリ回路の第１例のブロック図である。
例示のメモリ回路３７は、２個のメモリ３７１，３７６、比較器３７７、及びインデックスジェネレータ３７８から構成されている。
【００３１】
メモリ３７１にはＡ／Ｄ変換器３５から受光データＤ３５が入力され、メモリ３７６にはインデックスジェネレータ３７８からフレーム番号Ｔが入力される。。比較器３７７は、イメージセンサ２４の画素毎に最新の入力データであるｔ番目のフレームの受光データＤ３５と以前にメモリ３７１に書き込まれた受光データＤ３５とを比較し、最新の受光データＤ３５が以前の受光データＤ３５より大きい場合にメモリ３７１，３７６に対して書込みを許可する。これを受けて各メモリ３７１，３７６は上書き形式で最新の入力データを記憶する。比較結果が逆の場合は各メモリ３７１，３７６において以前の記憶内容が保持される。したがって、走査が終了した時点において、メモリ３７１は各画素ｇ毎に受光データＤ３５の最大値を記憶し、メモリ３７６は各画素毎に受光データＤ３５が最大となったフレームの番号Ｔを記憶することになる。各フレームの撮影は一定周期で行われるので、フレーム番号Ｔは走査期間中の時刻（走査開始からの経過時間）を表す。つまり、メモリ３７６が記憶するフレーム番号Ｔは上述の時間重心ＴＡiAjA，ＴＢiBjBに相当し、受光角度θＡiAjA，θＢiBjBの対応を特定する情報である。
【００３２】
この例によれば、比較的に簡単な回路構成によって時間重心ＴＡiAjA，ＴＢiBjBを検知することができる。ただし、検知の分解能はイメージセンサ２４の撮影周期に依存する。分解能の向上を図ったものが次の第２例である。
【００３３】
図７はメモリ回路の第２例のブロック図、図８は撮影面における輝度分布と受光データとの関係を示す図である。図７において図６に対応した要素には図６と同一の符号を付してある。
【００３４】
第２例のメモリ回路３７ｂは、メモリ３７１に加えてそれと同サイズの４個のメモリ３７２，３７３，３７４，３７５を設け、計４個の１フレームディレイメモリ３７９ａ〜ｄを介在させて各メモリ３７２〜３７５のデータ入力をメモリ３７１に対して順に１フレームずつ遅らせるように構成したものである。すなわち、メモリ回路３７ｂでは、各画素ｇについて連続した５フレームの受光データＤ３５が同時に記憶される。比較器３７７は、入力が２フレーム遅れの第３番目のメモリ３７３の入力と出力とを比較する。メモリ３７３の入力データ値が出力データ値（以前に書き込まれたデータ値）より大きい場合に、メモリ３７１〜３７５及びメモリ３７６の書込みが許可される。
【００３５】
各走査が終了した時点において、メモリ３７３は各画素ｇ毎に受光データＤ３５の最大値を記憶することになる。また、メモリ３７１，３７２，３７４，３７５によって、受光データＤ３５が最大となったフレームの２つ前、１つ前、１つ後、２つ後の計４フレームの受光データＤ３５が記憶されることになる。そして、メモリ３７６は、各画素ｇ毎に受光データＤ３５が最大となったフレームの番号Ｔを記憶することになる。
【００３６】
ここで、図８（ａ）のように、撮影面に結像したスリット光像の幅が５画素分であり、輝度分布が単一峰の山状であるものとする。このとき、１つの画素ｇに注目すると、図８（ｂ）のように輝度分布に応じた変化の受光データが得られる。したがって、メモリ３７１〜３７５に記憶されている５フレーム分の受光データＤ３５に基づいて重心演算を行うことにより、フレーム周期（つまり画素ピッチ）よりも細かな刻みで時間重心ＴＡ，ＴＢを算出することができる。図８（ｂ）の例では、時間重心ＴＡ（ＴＢ）はｔ回目と（ｔ＋１）回目のサンプリング時刻間にある。
【００３７】
この第２例によれば分解能が向上するが、輝度分布によっては所望の精度が得られないという問題がある。すなわち、実際の撮影では、光学系の特性などに起因して結像に何らかのノイズが加わる。このため、輝度分布に複数のピークが生じたり、平坦でピークの不明瞭な輝度分布となったりする。輝度分布が理想形状から大きく外れると、重心演算の信頼性が低下する。
【００３８】
このようなノイズの影響は、輝度の最大値が得られたフレームとその前後の各数フレームを合わせた程度の短い期間ではなく、十分に長い期間の輝度分布に基づいて重心演算を行うことによって低減することができる。それを実現するのが次の第３例である。
【００３９】
図９はメモリ回路の第３例のブロック図、図１０は図９に係る重心の概念図である。
第３例のメモリ回路３７ｃは、メモリ３７１０、定常光データ記憶部３７２０、減算部３７３０、第１加算部３７４０、第２加算部３７５０、及び除算部３７６０から構成され、各画素ｇ毎にフレーム数分の受光データＤ３５に基づいて時間重心を算出する。
【００４０】
メモリ３７１０は、物体Ｑに対する走査で得られた所定数ｑのフレームの受光データＤ３５を記憶する。各画素ｇのＴ番目（Ｔ＝１〜ｑ）のフレームの受光データ値をｘT と表す。定常光データ記憶部３７２０は、スリット光Ｕ以外の不要入射光量を表す定常光データを記憶する。定常光データはスリット光Ｕが入射していないときの受光データＤ３５に基づいて算出される。その値ｓは、予め定めた固定値でもよいし、受光データＤ３５を用いてリアルタイムで求めてもよい。固定値とする場合には、受光データＤ３５が８ビット（２５６階調）である場合に、例えば「５」「６」又は「１０」などとする。減算部３７３０は、メモリ３７１０から読み出された受光データＤ３５の値ｘT から定常光データの値ｓを差し引く。ここで、減算部３７３０からの出力データの値をあらためてＸT とする。第１加算部３７４０は、画素ｇ毎にｑ個の受光データＤ３５について、それぞれの値ＸT とそれに対応したフレーム番号Ｔとの乗算を行い、得られた積の合計値を出力する。第２加算部３７５０は、画素ｇ毎にｑ個の受光データＤ３５の値ＸT の総和を出力する。除算部３７６０は、第１加算部３７４０の出力値を第２加算部３７５０の出力値で除し、得られた時間重心ＴＡ，ＴＢを出力する。
【００４１】
以上の３次元入力はスリット光投影法を用いるものであったが、ステレオ視法を用いて投射角度情報によらない３次元入力を行うこともできる。
図１１はカラー画像どうしのマッチングの説明図である。
【００４２】
第２モード及び第３モードでは、スリット光Ｕを投射せずにせずに視点Ａ，Ｂから物体Ｑのカラー撮影を行う。一方のカラーイメージセンサ２５Ａで撮影したカラー画像ＣＡと、他方のカラーイメージセンサ２５Ｂで撮影したカラー画像ＣＢとの間で垂直方向にエピポラー拘束が成り立っているとすると、カラー画像ＣＡ中の画素ＰＡ（ｉＡ，ｊＡ）の対応点であるカラー画像ＣＢ中の画素ＰＢ’（ｉＢ，ｊＢ’）の探索方向は、画素ＰＡの水平方向位置ｉＡに対して水平方向位置ｉＢと一意に決まる。なお、イメージセンサ２４Ａ，２４Ｂとカラーイメージセンサ２５Ａ，２５Ｂとで画像サイズと各画素が一致しているものとする。カラー画像間の対応点探索には、周知の相関法を用いる。ここで、その内容を簡単に説明する。
【００４３】
図１２は相関の一般例を示す図、図１３は信頼度値の一例を示す図である。
相関法では、画像の局所的パターンを比較することにより、画素の対応づけを行う。カラー画像ＣＡの注目画素ＰＡについて、それを中心とするウインドウＷを設定し、カラー画像ＣＢの探索方向に沿った画素列（水平方向位置ｉＢの画素列上）における各画素を中心とするウインドウＷとの類似度を調べる。ウインドウＷについては、例えば３×３，５×５，３×５というように奇数×奇数の構成の適切なサイズを選定する。カラー画像ＣＢのウインドウＷのうち、類似度が最も高く、且つ相関曲線のピーク形状が十分に急峻なウインドウＷの中心画素ＰＢ’（ｉＢ，ｊＢ’）を注目画素ＰＡの対応点とする。
【００４４】
ここでは、類似度の評価に、いわゆる相関値を用いる。相関値Ｓは次式によって計算される。
【００４５】
【数１】
0003991501.tif 000002
相関値Ｓは、「−１〜＋１」の範囲内にあり、「１」に近いほど、両ウィンドウＷの類似度が高い。対応点は、図１２のような曲線のピークを探すことにより決定する。相関値Ｓが広い範囲にわたって一定であれば、それは画像パターンが変化しないことを意味し、たとえ相関値が大きくても、対応点は特定できない。また、ピークが存在しても、ピークの相関値が十分に大きくない場合は、ピーク位置の画素を対応点に決定するのは不適切である。ピークが存在し、ピークの相関値Ｓが十分に大きい場合に、注目画素ＰＡ（ｉＡ，ｊＡ）の対応点として画素ＰＢ’（ｉＢ，ｊＢ’）を決定する。ここで、信頼度値ＲC を次のようにして決定する。ピークが存在していないときには定数「０」を、ピークが存在しているときには定数「１」を相関値に乗じて信頼度値とする。このとき負の値を示すものは強制的に「０」にする。
【００４６】
上述したＣＰＵ３１の機能要素であって本発明の選択手段に相当するブロック３１３（図１参照）は、ブロック３１１が時間重心画像どうしのマッチングで求めた対応点についての相関値ＳT から算出される信頼度値ＲT と、ブロック３１２がカラー画像どうしのマッチングで求めた対応点についての相関値ＳC とから算出される信頼度値ＲC とを比較し、より「１」に近い値を示した方を対応点として選択する。本実施形態では、時間重心画像どうしのマッチングには、相関法を用いていないので、相関値ＳT に定数「１」を乗じて信頼度値ＲT とし、ここで負の値を示すものは強制的に「０」にする。また、対応点が見つからなかったときも信頼度値ＲT を強制的に「０」にする。又は、信頼度値ＲT があらかじめ設定された基準値Ｒａより小さく且つ信頼度値ＲC があらかじめ設定された基準値Ｒｂより大きいときのみ、カラー画像どうしのマッチングで求めた対応点を選択するように構成する。
【００４７】
このような対応点の選択を、イメージセンサ２４Ａの撮影面Ｓ２（画素配列はカラーイメージセンサ２５Ａと同一）の画素毎に行うことにより、スリット光投影法とステレオ視法とを併用することになり、両者の長所を生かして距離データＤの信頼度を高めることができる。
【００４８】
図１４は３次元入力装置１の概略の動作を示すフローチャートである。
上述の第３モードであるカラーモードが指定されている場合は、投射を行わずに撮影系２０Ａ，２０Ｂによる物体Ｑのカラー撮影を行い（＃１、＃２）、カラー画像ＣＡの各画素に対応するカラー画像ＣＢの画素を探索する（＃３）。そして、このカラー画像どうしのマッチングの結果に基づいて距離データＤを算出して出力する（＃４）。ここでの出力は、外部装置へのデータ伝送、又は装置内のメモリへの記録（データ蓄積）を意味する。
【００４９】
ステップ＃１のモード判別でカラーモードでない場合は、半導体レーザ１２及びガルバノミラー１４をオンして走査を開始する（＃５）。視点Ａ，Ｂでの撮影で得られた受光データＤ３５を記録する（＃６）。走査が終わって半導体レーザ１２をオフにした後、投射を行わずに撮影系２０Ａ，２０Ｂにより物体Ｑのカラー撮影を行う（＃７、＃８）。そして、再びモード判別を行う（＃９）。
【００５０】
第２モードである対応点選択モードが指定されている場合は、時間重心画像ＧＡ，ＧＢどうしのマッチングを行って対応の信頼度値ＲT を算出するとともに、カラー画像ＣＡ，ＣＢどうしのマッチングを行って対応の信頼度値ＲC を算出する（＃１０、＃１１）。そして、信頼度値ＲT ，ＲC を比較し、上述の要領で画素毎に一方の対応づけを選択する（＃１２）。その後、カラーモードの場合と同様に距離データＤを算出して出力する（＃４）。ただし、対応点選択モードでは、どちらのマッチングの結果に基づく距離データＤであるかを示す識別データＤｓを距離データＤに付加して出力する。
【００５１】
ステップ＃９で対応点選択モードでない場合、すなわち第１モードが指定されている場合は、時間重心画像ＧＡ，ＧＢどうしのマッチングの結果に基づいて距離データＤを算出して出力する（＃１３、＃４）。
【００５２】
なお、カラー画像を参考情報として出力しない構成とする場合は、ステップ＃９のモード判別とステップ＃８のカラー撮影との順序を入れ替え、第１モードのときにはカラー撮影を行わないようにしてもよい。
【００５３】
図１５は投光と受光との位置関係の設定例を示す図である。
投光系１０及び受光系２０の配置においては、必ずしも投光の起点Ｃ及び受光の主点（視点）Ａ，Ｂが一直線上に並ぶ図１５（ａ）又は（ｂ）のような構成にする必要はない。例えば、物体側からみて３個の点Ａ，Ｂ，ＣがＬ字状に並ぶ図１５（ｃ）の構成、Ｔ字状に並ぶ図１５（ｄ）の構成を採用してもよい。特に、図１５（ｂ）又は（ｄ）のように視点Ａと視点Ｂとの間に起点Ｃを配置すれば、視点Ａ，Ｂと起点Ｃとが異なることにより発生するオクルージョンを軽減することができる。その際には投光の起点Ｃと各視点Ａ，Ｂとの距離ｄを等しくするのが好ましい。
【００５４】
【発明の効果】
請求項１乃至請求項５の発明によれば、参照光の投射角度情報によらない３次元入力が実現されて、投射角度制御の精度に係わらず高精度の３次元入力データを得ることが可能になるとともに、データの信頼性を高めることができる。
【００５５】
請求項５の発明によれば、動作モードの多様化による実用性の向上を図ることができる。
【図面の簡単な説明】
【図１】本発明に係る３次元入力装置の機能ブロック図である。
【図２】投射の模式図である。
【図３】時間重心の説明図である。
【図４】投射角度情報によらない距離画像の生成要領を説明するための図である。
【図５】時間重心画像どうしのマッチングの模式図である。
【図６】メモリ回路の第１例のブロック図である。
【図７】メモリ回路の第２例のブロック図である。
【図８】撮影面における輝度分布と受光データとの関係を示す図である。
【図９】メモリ回路の第３例のブロック図である。
【図１０】図９に係る重心の概念図である。
【図１１】カラー画像どうしのマッチングの説明図である。
【図１２】相関の一般例を示す図である。
【図１３】信頼度値の一例を示す図である。
【図１４】３次元入力装置１の概略の動作を示すフローチャートである。
【図１５】投光と受光との位置関係の設定例を示す図である。
【符号の説明】
Ｑ  物体
１  ３次元入力装置
Ｃ  起点
Ｕ  スリット光（参照光）
１０  投光系
Ａ  視点（第１の位置）
Ｂ  視点（第２の位置）
２０Ａ，２０Ｂ  撮影系
Ｄ３５  受光データ（撮影データ）
ＣＡ，ＣＢ  カラー画像（撮影データ）
３１１  ブロック（第１マッチング手段）
３１２  ブロック（第２マッチング手段）
３１３  ブロック（選択手段）
ＴＡ，ＴＢ  時間重心
θＡ，θＢ  受光角度
Ｄ  距離データ（位置情報）
Ｒａ  基準値
Ｒｂ  基準値
５１  モード指定部
Ｄｓ  識別データ
【図１】
0003991501.tif 000003
【図２】
0003991501.tif 000004
【図３】
0003991501.tif 000005
【図４】
0003991501.tif 000006
【図５】
0003991501.tif 000007
【図６】
0003991501.tif 000008
【図７】
0003991501.tif 000009
【図８】
0003991501.tif 000010
【図９】
0003991501.tif 000011
【図１０】
0003991501.tif 000012
【図１１】
0003991501.tif 000013
【図１２】
0003991501.tif 000014
【図１３】
0003991501.tif 000015
【図１４】
0003991501.tif 000016
【図１５】
0003991501.tif 000017