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