JP4032556B2 - 3D input device - Google Patents

3D input device Download PDF

Info

Publication number
JP4032556B2
JP4032556B2 JP10881399A JP10881399A JP4032556B2 JP 4032556 B2 JP4032556 B2 JP 4032556B2 JP 10881399 A JP10881399 A JP 10881399A JP 10881399 A JP10881399 A JP 10881399A JP 4032556 B2 JP4032556 B2 JP 4032556B2
Authority
JP
Japan
Prior art keywords
light
data
pixel
image
imaging
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP10881399A
Other languages
Japanese (ja)
Other versions
JP2000304514A (en
Inventor
英一 井手
浩志 内野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Opto Inc
Original Assignee
Konica Minolta Opto Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Opto Inc filed Critical Konica Minolta Opto Inc
Priority to JP10881399A priority Critical patent/JP4032556B2/en
Publication of JP2000304514A publication Critical patent/JP2000304514A/en
Application granted granted Critical
Publication of JP4032556B2 publication Critical patent/JP4032556B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Stereoscopic And Panoramic Photography (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、物体に参照光を投射して物体を走査し、物体形状を特定するためのデータを出力する3次元入力装置に関する。
【0002】
【従来の技術】
レンジファインダと呼称される非接触型の3次元入力装置は、接触型に比べて高速の計測が可能であることから、CGシステムやCADシステムへのデータ入力、身体計測、ロボットの視覚認識などに利用されている。
【0003】
レンジファインダに好適な計測方法としてスリット光投影法(光切断法ともいう)が知られている。この方法は、物体を光学的に走査して距離画像(3次元画像)を得る方法であり、特定の参照光を投射して物体を撮影する能動的計測方法の一種である。距離画像は、物体上の複数の部位の3次元位置を示す画素の集合である。スリット光投影法では、参照光として投射ビームの断面が直線帯状であるスリット光が用いられる。走査中のある時点では物体の一部が照射され、撮像面には照射部分の起伏に応じて曲がった輝線が現れる。したがって、走査中に周期的に撮像面の各画素の輝度をサンプリングすることにより、物体形状を特定する一群のデータ(3次元入力データ)を得ることができる。
【0004】
従来においては、撮像面内の輝線の位置に基づいて、物体で反射して撮像面に入射したスリット光の入射角度を求め、その入射角度と当該スリット光の投射角度と基線長(投射の起点と受光基準点との距離)とから三角測量の手法で物体の位置を算出していた。つまり、参照光の投射方向と受光方向とに基づく位置演算が行われていた。なお、特開平10−2722号の装置のように参照光としてスポット光(ビーム断面が点状)を用いる場合にも、投射方向と受光方向とに基づいて物体の位置が算出されていた。
【0005】
【発明が解決しようとする課題】
従来においては、3次元入力データの精度が参照光の投射角度制御の精度に依存し、このために十分に高い精度の3次元入力データが得られなかったり、精度を確保するために高価な部品を用いなければならなかったり、投光系の取付け姿勢の調整に手間がかかったりするという問題があった。精度の確保が難しい理由としては、投光系は参照光を偏向する可動機構を有しており、その動作は温度、湿度などの使用環境の変化の影響を受け易いことが挙げられる。
【0006】
なお、パターン光投影を行うステレオ視測距装置においては、エピポラー拘束された複数の画像の特徴点のマッチングによって複数の視点からみた物体位置の方位が求めれら、それらの方位に基づいて三角測量の手法で物体位置が算出される。この3次元入力方法では、3次元入力データの精度がパターン光投射の精度には依存しないものの、マッチングの精度に依存する。受光デバイスの画素間の感度のばらつきもマッチングに影響する。
【0007】
本発明は、参照光の投射角度情報によらない3次元入力を実現し、投射角度制御の精度に係わらず高精度の3次元入力データを得ることを可能にすることを目的としている。他の目的は撮像系の低価格化を図ることにある。
【0008】
【課題を解決するための手段】
本発明においては、参照光又は環境光で部分的に照らされた状態の物体を互いに離れた2点のそれぞれを視点として撮像し、視点間の距離と各視点からみた物体上の照射部分の方位(視点どうしを結ぶ直線に対する傾き)とから三角測量の手法で物体の位置を高精度に算出したデータ又は算出のためのデータを出力する。また、一方の視点と投射の起点とを基線方向の同一位置とする。これにより、当該視点については1次元の撮像を行えばよいことになり、2次元の撮像を行う場合よりもデバイスの低価格化及び信号処理の簡略を図ることができる。
【0009】
請求項1の発明の装置は、入力対象の物体を走査するように起点から前記物体に向かってスリット光を投射する投光系と、前記スリット光のスリット長さ方向と直交する方向に沿う仮想の基線上の互いに離れた第1及び第2の位置で同時に前記物体を撮像する撮像系とを有し、前記基線に沿った方向における前記起点の位置は、前記第2の位置と同一であり、前記第1及び第2の位置のそれぞれに対応した撮像データに基づいて、前記物体における複数の部位のそれぞれについて、当該部位で反射した光の前記第1及び第2の位置のそれぞれでの受光角度を検出し、検出した1組の受光角度に応じたデータを当該部位の位置情報として出力する3次元入力装置である。
【0010】
請求項2の発明の3次元入力装置は、前記第1の位置での撮像を画素配列が前記スリット長さ方向およびそれと直交する方向である基線方向に沿う2次元撮像デバイスによって行い、前記第2の位置での撮像を画素配列が前記基線方向に沿う1次元撮像デバイスによって行う。ご審査の上、特許すべき旨の査定を賜りたく存じます。
【0011】
【発明の実施の形態】
図1は本発明に係る3次元入力装置1の機能ブロック図である。
3次元入力装置1は、スリット光Uを投射する投光系10と、2個の撮像系20A,20Bからなる受光系20と、撮像系20A,20Bに1個ずつ対応した計2個の受光信号処理部30A,30Bとを有している。
【0012】
投光系10は、光源としての半導体レーザ12、ビーム整形のためのレンズ群13、及び投射角度を変更するビーム偏向手段としてのガルバノミラー14からなる。レンズ群13は、コリメータレンズとシリンドリカルレンズとで構成される。ガルバノミラー14には、投光制御回路32からD/A変換器33を介して偏向制御信号が与えられる。
【0013】
撮像系20Aは、受光レンズ21、ビームスプリッタ22、物体Qの形状を表す距離画像を得るためのイメージセンサ24A、モニター用の2次元画像を得るためのカラーイメージセンサ25、及びズーミングとフォーカシングとを可能にするレンズ駆動機構26からなる。ビームスプリッタ22は、半導体レーザ12の発光波長域(例えば中心波長685nm)の光と可視光とを分離する。イメージセンサ24A及びカラーイメージセンサ25は2次元撮像デバイス(エリアセンサ)である。これらセンサとして、CCDセンサ、MOSセンサを使用することができる。
【0014】
撮像系20Bは、物体像をスリット光の長さ方向に圧縮して結像させるアナモフィックレンズ27、レーザ波長域の光を透過させるバンドパスフィルタF2、距離画像を得るためのイメージセンサ(CCDセンサ)24B、及びレンズ駆動機構26からなる。イメージセンサ24Bは1次元撮像デバイス(ラインセンサ)であり、その受光面の画素配列方向が基線方向となるように配置されている。
【0015】
撮像系20Aの出力に対する処理は受光信号処理部30Aが行う。イメージセンサ24Aが出力する各画素の光電変換信号はA/D変換器35で所定ビット数の受光データに変換され、逐次にメモリ回路37に転送される。メモリ回路37は第1の受光角度θAを特定する“時間重心TA”を受光データに基づいて検出して記憶する。カラーイメージセンサ25の出力はA/D変換器36で受光データに変換され、カラー画像メモリ38によって逐次に記憶される。メモリ制御回路39はメモリ回路37及びカラー画像メモリ38のアドレス指定を担う。
【0016】
撮像系20Bの出力に対する処理は受光信号処理部30Bが行う。イメージセンサ24Bが出力する各画素の光電変換信号はA/D変換器45で所定ビット数の受光データに変換され、逐次にメモリ回路47に転送される。メモリ回路47は第2の受光角度θBを特定する“空間重心jB”を受光データに基づいて検出して記憶する。メモリ制御回路49はメモリ回路47のアドレス指定を担う。
【0017】
3次元入力装置1を制御するCPU31は、制御対象に適時に指示を与えるとともに、メモリ回路37,47からデータを読み出して距離画像データを得る演算を行う。距離画像データは適時に3次元入力データとして図示しない外部装置に出力される。その際、受光信号処理部30Aのカラー画像メモリ38によって記憶されている2次元カラー画像も出力される。外部装置としては、コンピュータ、ディスプレイ、記憶装置などがある。
【0018】
図2は投射の模式図である。
3次元入力装置1は、ガルバノミラー14の反射面上の点を起点Cとして仮想面VSを走査するようにスリット光Uを投射する。仮想面VSは、イメージセンサ24A,24Bで撮像可能な空間(画角内の範囲)の奥行き方向と直交する断面に相当する。そして、仮想面VSのうちのイメージセンサ24A,24Bにおける各画素に対応した範囲agが、3次元入力のサンプリング区画となる。図2(b)によく示されるように、投光の起点Cは、視点(受光の主点)A,Bの配列方向である基線方向において、視点Bと同一位置である。ここで、視点A,Bは垂直方向に沿って並び、スリット光Uのスリット長さ方向は水平方向であるものとする。視点Aからみた物体Qの照射部位の形状は、物体Qの起伏に応じて曲がった帯状となる。したがって、視点Aではエリアセンサにより物体Qを撮像する必要がある。これに対して、起点Cと視点Bとが垂直方向の同一位置であるので、視点Bからみた物体Qの照射部位の形状は、スリット光Uの投射角度に係わらず常に直線帯状になる。つまり、撮像におけるスリット光Uの受光角度は水平方向のどの位置でも同じになる。したがって、視点Aではラインセンサにより物体Qを撮像すればよいことになる。
【0019】
図3はアナモフィックレンズによる結像の模式図である。
アナモフィックレンズ27によってイメージセンサ24Bの撮像面S2bに結像される物体の撮影像GQは、縦横の倍率が等しい通常のレンズによる撮影像GQ’を水平方向に圧縮した像である。通常のレンズではイメージセンサ24Bがにらむ位置の物体表面が低反射率である場合には、スリット光の反射光が3次元入力装置1に戻らず、撮像面S2bに物体が結像されない。つまり、測定不能となる。これに対して、本実施例では、アナモフィックレンズ27によってスリット光の長さ方向の圧縮を行うので、スリット光が投射された物体表面の一部が低反射率であったとしても、その他の部分での反射光が戻れば、撮像面S2bに物体を結像させることができ、測定が可能である。
【0020】
図4は時間重心の説明図である。
3次元入力装置1は、イメージセンサ24Aの撮像面S2上でのスリット幅がピッチpvで並ぶ画素gの複数個分となる比較的に幅の広いスリット光Uを物体Qに投射する。具体的にはスリット光Uの幅を5画素分程度とする。スリット光Uは起点Cを中心に図の上下方向に等角速度で偏向される。物体Qで反射したスリット光Uは結像の主点A(上述の視点に相当する)を通って撮像面S2に入射する。スリット光Uの投射中に撮像面S2の各画素gの受光量を周期的にサンプリングすることにより、物体Qが走査される。サンプリング周期(撮像周期)毎にイメージセンサ24Aから1フレーム分の光電変換信号が出力される。
【0021】
物体Qの表面が平面であって光学系の特性によるノイズがないものとすると、撮像面S2の各画素gの受光量は、当該画素gがにらむ範囲(厳密にはその中心)の物体表面agをスリット光Uの光軸が通過する時点で最大となり、その時間的な分布は正規分布に近くなる。図4では撮像面S2における垂直方向のj番目の画素gj が注目され、その受光量の推移が図4(b)に示されている。図4(b)の例ではn回目のサンプリング時点Tn とその1つ前の(n−1)回目のサンプリング時点Tn-1 との間で受光量が最大になっている。このように注目した1つの画素gにおける受光量が最大になる時点、すなわち輝度分布曲線の頂上付近の変曲点を“時間重心”と定義する。ただし、離散的なサンプリングデータの大小判別による時間重心の検出では、検出結果(図4の例では時点Tn )と実際の時間重心との間に最大でサンプリング周期の1/2のずれが生じる。
【0022】
ここで、主点Aと撮像面S2の各画素gとの位置関係から、各画素gに対するスリット光Uの入射角度が一義的に決まる。したがって、時間重心は、「特定の角度(これを受光角度θAという)でスリット光Uが主点Aに入射する時刻」ということもできる。
【0023】
図5は空間重心の説明図である。
起点Cから投射されて物体Qで反射したスリット光Uは結像の主点Bを通ってイメージセンサ24Bの撮像面S2bに入射する。
【0024】
“空間重心”は、物体Qを走査する周期的サンプリングにおける各サンプリング時点Tでの主点Bに対するスリット光Uの入射角度である。主点Bに対する入射角度と撮像面S2b上での光軸の位置とが対応するので、各サンプリング時点Tにおいてどの画素gの受光量が最大であるかを判別することにより、空間重心を検出することができる。図5ではn回目のサンプリング時点Tn が注目され、その受光量の空間分布が図5(b)に示されている。図5(b)の例ではj番目の画素gj と(j−1)番目の画素gj-1 との間の位置で受光量が最大になっている。したがって、撮像面S2bの輝度分布曲線の頂上付近の変曲点に相当する画素位置jBを空間重心ということもできる。ただし、離散的なサンプリングデータの大小判別による空間重心の検出では、検出結果(図5の例では画素gj )と実際の空間重心との間に最大で画素ピッチpvの1/2のずれが生じる。
【0025】
図6は距離画像データの生成要領を説明するための図、図7は時間重心画像と空間重心画像とのマッチングの模式図である。
物体Qの3次元入力の概要は次のとおりである。
【0026】
2個のイメージセンサ24A,24Bによるフレーム周期の撮像に同期させてガルバノミラー14の偏向角を制御する。このとき、2個のイメージセンサ24A,24Bを同一タイミングで駆動する。つまり、物体Qを視点A,Bから同時に撮像する。
【0027】
イメージセンサ24Aの出力に基づいて、撮像面S2の各画素gについて時間重心TAを検出し、検出結果の集合である時間重心画像GAをメモリに記録する。このとき、撮像面S2の水平方向(主走査方向)の画素位置を示す水平アドレスiと、垂直方向(副走査方向)の画素位置を示す垂直アドレスjとによって個々の時間重心TAを記録するメモリ空間を指定する。また、イメージセンサ24Bの出力に基づいて、フレーム毎に空間重心jBを検出し、検出結果の集合である空間重心画像GBをメモリに記録する。このとき、撮像時刻を示すフレーム番号Tによって個々の空間重心jBを記録するメモリ空間を指定する。1次元のイメージセンサ24Bを用いると、1フレームの撮像につき1画素分のメモリしか使用しないので、メモリ容量が少なくて済む。
【0028】
一方のイメージセンサ24Aにおける水平方向iA番目で垂直方向jA番目の画素giAjAに注目すると、画素giAjAに対応した視線上の点Pをスリット光Uが通過する際にその出力が最大となる。このとき、他方のイメージセンサ24Bの出力に注目すると、点Pを通る視線に対応した画素gjBの出力が最大となる。
【0029】
ここで、撮像系20Aの撮影像を基準画像とし、この基準画像と撮像系20Bの撮影像とについて、垂直方向にエピポラー拘束が成り立っているとすると、画素giAjAの垂直方向位置jAに対する画素gjBの垂直方向位置jBは、空間重心画像GBのうち、画素giAjAについて検出した空間重心TAiAjAとフレーム番号Tが同一又は最も近い画素を見つければ判る。つまり、時間重心画像GAと空間重心画像GBとの画素の対応を把握するマッチング(対応点検索)が可能である。
【0030】
点Pがイメージセンサ24Aの画素giAjAに対応するとき、画素giAjAの位置で決まる受光角度θAiAjAと視点Aの空間座標とによって特定される直線上に点Pが存在することになる。また、イメージセンサ24Bの各画素の視線はアナモフィックレンズ27の通過によって平面になるので、点Pがイメージセンサ24Bの画素gjBに対応するとき、画素gjBの位置で決まる受光角度θBjBと視点Bの空間座標とによって特定される平面上に点Pが存在することになる。このような直線と平面との交点が点Pである。したがって、受光角度θAiAjA,θBjB及び視点間の距離Lに基づいて、三角測量の原理を適用して、視点A,Bを通る基線と点Pとの奥行き方向の距離DiAjAを算出することができ、視点A,Bと点Pとの相対位置を特定することができる。そして、以上の処理をイメージセンサ24Aの各画素gについて行えば、物体Qについて画素数分のサンプリング点の3次元位置情報である距離画像GDを得ることができる。フレーム数をイメージセンサ24Aの垂直方向の画素数以上とすればよい。
【0031】
次に、時間重心TA及び空間重心jBを検出するための回路の具体的な構成を説明する。なお、以下では画素位置の区別が必要な場合を除いて、画素位置を表す添字iAjAjBの記述を省略する。
【0032】
図8は時間重心に係るメモリ回路の第1例のブロック図である。
例示のメモリ回路37は、2個のメモリ371,376、比較器377、及びインデックスジェネレータ378から構成されている。
【0033】
メモリ371にはA/D変換器35から受光データD35が入力され、メモリ376にはインデックスジェネレータ378からフレーム番号Tが入力される。。比較器377は、イメージセンサ24Aの画素毎に最新の入力データであるt番目のフレームの受光データD35と以前にメモリ371に書き込まれた受光データD35とを比較し、最新の受光データD35が以前の受光データD35より大きい場合にメモリ371,376に対して書込みを許可する。これを受けて各メモリ371,376は上書き形式で最新の入力データを記憶する。比較結果が逆の場合は各メモリ371,376において以前の記憶内容が保持される。したがって、走査が終了した時点において、メモリ371は各画素g毎に受光データD35の最大値を記憶し、メモリ376は各画素毎に受光データD35が最大となったフレームの番号Tを記憶することになる。各フレームの撮像は一定周期で行われるので、フレーム番号Tは走査期間中の時刻(走査開始からの経過時間)を表す。つまり、メモリ376が記憶するフレーム番号Tは上述の時間重心TAに相当する。
【0034】
この例によれば、比較的に簡単な回路構成によって時間重心TAを検出することができる。ただし、検出の分解能は撮像の周期に依存する。分解能の向上を図ったものが次の第2例である。
【0035】
図9は時間重心に係るメモリ回路の第2例のブロック図、図10は撮像面における輝度分布と受光データとの関係を示す図である。図9において図8に対応した要素には図8と同一の符号を付してある。
【0036】
第2例のメモリ回路37bは、メモリ371に加えてそれと同サイズの4個のメモリ372,373,374,375を設け、計4個の1フレームディレイメモリ379a〜dを介在させて各メモリ372〜375のデータ入力をメモリ371に対して順に1フレームずつ遅らせるように構成したものである。すなわち、メモリ回路37bでは、各画素gについて連続した5フレームの受光データD35が同時に記憶される。比較器377は、入力が2フレーム遅れの第3番目のメモリ373の入力と出力とを比較する。メモリ373の入力データ値が出力データ値(以前に書き込まれたデータ値)より大きい場合に、メモリ371〜375及びメモリ376の書込みが許可される。
【0037】
各走査が終了した時点において、メモリ373は各画素g毎に受光データD35の最大値を記憶することになる。また、メモリ371,372,374,375によって、受光データD35が最大となったフレームの2つ前、1つ前、1つ後、2つ後の計4フレームの受光データD35が記憶されることになる。そして、メモリ376は、各画素g毎に受光データD35が最大となったフレームの番号Tを記憶することになる。
【0038】
ここで、図10(a)のように、撮像面に結像したスリット光像の幅が5画素分であり、輝度分布が単一峰の山状であるものとする。このとき、1つの画素gに注目すると、図10(b)のように輝度分布に応じた変化の受光データが得られる。したがって、メモリ371〜375に記憶されている5フレーム分の受光データD35に基づいて重心演算を行うことにより、フレーム周期(つまり画素ピッチ)よりも細かな刻みで時間重心TAを検出することができる。図10(b)の例では、時間重心TAはt回目と(t+1)回目のサンプリング時刻間にある。重心演算については、CPU31が行う構成及び演算回路を設ける構成がある。
【0039】
この第2例によれば分解能が向上するが、輝度分布によっては所望の精度が得られないという問題がある。すなわち、実際の撮像では、光学系の特性などに起因して結像に何らかのノイズが加わる。このため、輝度分布に複数のピークが生じたり、平坦でピークの不明瞭な輝度分布となったりする。輝度分布が理想形状から大きく外れると、重心演算の信頼性が低下する。
【0040】
このようなノイズの影響は、輝度の最大値が得られたフレームとその前後の各数フレームを合わせた程度の短い期間ではなく、十分に長い期間の輝度分布に基づいて重心演算を行うことによって低減することができる。それを実現するのが次の第3例である。
【0041】
図11は時間重心に係るメモリ回路の第3例のブロック図、図12は図11に係る重心の概念図である。
第3例のメモリ回路37cは、メモリ3710、定常光データ記憶部3720、減算部3730、第1加算部3740、第2加算部3750、及び除算部3760から構成され、各画素g毎にフレーム数分の受光データD35に基づいて時間重心TAを算出する。
【0042】
メモリ3710は、物体Qに対する走査で得られた所定数kのフレームの受光データD35を記憶する。各画素gのT番目(T=1〜k)のフレームの受光データ値をxT と表す。定常光データ記憶部3720は、スリット光U以外の不要入射光量を表す定常光データを記憶する。定常光データはスリット光Uが入射していないときの受光データD35に基づいて算出される。その値sは、予め定めた固定値でもよいし、受光データD35を用いてリアルタイムで求めてもよい。固定値とする場合には、受光データD35が8ビット(256階調)である場合に、例えば「5」「6」又は「10」などとする。減算部3730は、メモリ3710から読み出された受光データD35の値xT から定常光データの値sを差し引く。ここで、減算部3730からの出力データの値をあらためてXT とする。第1加算部3740は、画素g毎にk個の受光データD35について、それぞれの値XT とそれに対応したフレーム番号Tとの乗算を行い、得られた積の合計値を出力する。第2加算部3750は、画素g毎にk個の受光データD35の値XT の総和を出力する。除算部3760は、第1加算部3740の出力値を第2加算部3750の出力値で除し、得られた時間重心TAを出力する。
【0043】
以上と同様の構成の回路によって空間重心jBを得ることもできる。
図13は空間重心に係るメモリ回路の第1例のブロック図である。
例示のメモリ回路47は、2個のメモリ471,476、比較器477、及びインデックスジェネレータ478から構成されている。各メモリ471,476は、走査のフレーム数と同数以上のメモリ空間をもつ。各メモリ空間は、インデックスジェネレータ478からのフレーム番号Tによりアドレス指定される。
【0044】
各フレームにおいて、メモリ471にはA/D変換器45から受光データD45が入力され、メモリ476には垂直アドレスjがデータとして入力される。比較器477は、最新の入力データであるj番目の画素の受光データD45と以前にメモリ471に書き込まれた受光データD45とを比較し、最新の受光データD45が以前の受光データD45より大きい場合にメモリ471,476に対して書込みを許可する。これを受けて各メモリ471,476は上書き形式で最新の入力データを記憶する。比較結果が逆の場合は各メモリ471,476において以前の記憶内容が保持される。したがって、走査が終了した時点において、メモリ471は各フレームにおける受光データD45の最大値を記憶し、メモリ476は各フレームにおいて受光データD45が最大となった画素の垂直画素位置jを記憶することになる。メモリ476が記憶する垂直画素位置jは上述の空間重心jBに相当し、受光角度θBを特定する情報である。
【0045】
この例によれば、比較的に簡単な回路構成によって空間重心jBを検出することができる。ただし、受光角度の検知の分解能はイメージセンサ24Bの画素ピッチに依存する。分解能の向上を図ったものが次の第2例である。
【0046】
図14は空間重心に係るメモリ回路の第2例のブロック図である。同図において図13に対応した要素には図13と同一の符号を付してある。
第2例のメモリ回路47bは、メモリ471に加えてそれと同サイズの4個のメモリ472,473,474,475を設け、計4個の1ラインディレイメモリ479a〜dを介在させて各メモリ472〜475のデータ入力をメモリ471に対して順に1ライン転送周期ずつ遅らせるように構成したものである。すなわち、メモリ回路47bでは、各画素gについて配列順位の連続した5画素分の受光データD45が同時に記憶される。比較器477は、入力が2ライン遅れの第3番目のメモリ473の入力と出力とを比較する。メモリ473の入力データ値が出力データ値(以前に書き込まれたデータ値)より大きい場合に、メモリ471〜475及びメモリ476の書込みが許可される。
【0047】
各走査が終了した時点において、メモリ473は各フレームにおける受光データD45の最大値を記憶することになる。また、メモリ471,472,474,475によって、受光データD45が最大となったラインの2つ前、1つ前、1つ後、2つ後の計4画素の受光データD45が記憶されることになる。そして、メモリ476は、各フレームにおいて受光データD45が最大となった垂直画素位置jを記憶することになる。メモリ471〜475に記憶されている5画素分の受光データD45に基づいて重心演算を行うことにより、画素ピッチpvよりも細かな刻みで空間重心jBを検出することができる。重心演算については、CPU31が行う構成及び演算回路を設ける構成がある。
【0048】
この第2例によれば分解能が向上するが、輝度分布によっては所望の精度が得られないという問題がある。すなわち、輝度分布が理想形状から大きく外れると、重心演算の信頼性が低下する。
【0049】
このようなノイズの影響は、輝度の最大値が得られた画素を含む数画素ではなく、十分に広い垂直方向範囲の輝度分布に基づいて重心演算を行うことによって低減することができる。それを実現するのが次の第3例である。
【0050】
図15は空間重心に係るメモリ回路の第3例のブロック図である。
第3例のメモリ回路47cは、メモリ4710、定常光データ記憶部4720、減算部4730、第1加算部4740、第2加算部4750、及び除算部4760から構成され、各フレーム毎に垂直方向画素数分の受光データD45に基づいて空間重心jBを算出する。
【0051】
メモリ4710は、物体Qに対する走査で得られた画素数×フレーム数の受光データD45を記憶する。各フレームのj番目の受光データ値をxj と表す。定常光データ記憶部4720は、スリット光U以外の不要入射光量を表す定常光データを記憶する。定常光データはスリット光Uが入射していないときの受光データD45に基づいて算出される。その値sは、予め定めた固定値でもよいし、受光データD45を用いてリアルタイムで求めてもよい。減算部4730は、メモリ4710から読み出された受光データD45の値xj から定常光データの値sを差し引く。ここで、減算部4730からの出力データの値をあらためてXj とする。第1加算部4740は、フレーム数分の受光データD45について、それぞれの値Xj とそれに対応した垂直画素位置jとの乗算を行い、得られた積の合計値を出力する。第2加算部4750は、フレーム数分の受光データD45の値Xj の総和を出力する。除算部4760は、第1加算部4740の出力値を第2加算部4750の出力値で除し、得られた空間重心jBを出力する。
【0052】
以上の実施形態においては、時間重心TAと空間重心jBとを検出して距離データを算出する例を挙げたが、これに限るものではない。視点Bについても視点Aと同様に時間重心TBを検出して距離データを算出することもできる。
【0053】
図16は距離画像データの生成要領の第2例を説明するための図、図17は2つの時間重心画像のマッチングの模式図である。
視点A,Bのそれぞれについて時間重心TA,TBを検出する場合にも、上述のように時間重心TAと空間重心jBとを検出する場合と同様に、イメージセンサ24A,24Bによるフレーム周期の撮像に同期させてガルバノミラー14の偏向角を制御する。このとき、2個のイメージセンサ24を同一タイミングで駆動し、物体Qを視点A,Bから同時に撮像する。そして、各イメージセンサ24A,24Bの各画素が、刻々と偏向されていくスリット光Uのどの時点の投射により照らされたかを検知する。
【0054】
2次元のイメージセンサ24Aにおける水平方向iA番目で垂直方向jA番目の画素giAjAに注目すると、画素giAjAに対応した視線上の点Pをスリット光Uが通過する際にその出力が最大となる。このとき、1次元のイメージセンサ24Bの出力に注目すると、点Pを通る視線に対応した画素gjBの出力が最大となる。ここで、イメージセンサ24Aの撮影像(時間重心画像)GAを基準画像とし、この基準画像GAとイメージセンサ24Bの撮影像(時間重心画像)GBとについて、垂直方向にエピポラー拘束が成り立っているとすると、画素giAjAの垂直方向位置jAに対する画素gjBの垂直方向位置jBは、時間重心画像GBのうち、画素giAjAの出力が最大となった時刻と同時刻に出力が最大となった画素を見つければ判る。したがって、イメージセンサ24A,24Bの各画素の出力が最大となる時刻(時間重心)TAiAjA,TBjBを把握すれば、時間重心画像GA中の各画素に対応する時間重心画像GB中の画素を見つけ出すことができる。
【0055】
点Pが時間重心画像GAの画素giAjAに対応するとき、画素giAjAの位置で決まる受光角度θAiAjAと視点Aの空間座標とによって特定される直線上に点Pが存在することになる。また、点Pが時間重心画像GBの画素gjBに対応するとき、画素gjBの位置で決まる受光角度θBjBと視点Bの空間座標とによって特定される平面上に点Pが存在することになる。つまり、直線と平面との交点が点Pである。したがって、受光角度θAiAjA,θBjB及び基線長Lに基づいて、三角測量の原理を適用して、視点A,Bを通る基線と点Pとの奥行き方向の距離DiAjAを算出することができ、視点A,Bと点Pとの相対位置を特定することができる。そして、以上の処理を時間重心画像GAの各画素gについて行えば、物体Qについてイメージセンサ24Aの画素数分のサンプリング点の3次元位置情報が得られる。
【0056】
以上の実施形態において、イメージセンサ24Bとしては、1次元の受光位置の検出が可能であればよいので、CCDセンサに代えて位置検知型検知器(PSD)を用いてもよい。
【0057】
【発明の効果】
請求項1又は請求項2の発明によれば、参照光の投射角度情報によらない3次元入力が実現されて、投射角度制御の精度に係わらず高精度の3次元入力データを得ることが可能になるとともに、位置算出に係わるデータ量を低減することができる。請求項2の発明によれば、撮像系の低価格化を図ることができる。
【図面の簡単な説明】
【図1】本発明に係る3次元入力装置の機能ブロック図である。
【図2】投射の模式図である。
【図3】アナモフィックレンズによる結像の模式図である。
【図4】時間重心の説明図である。
【図5】空間重心の説明図である。
【図6】距離画像データの生成要領を説明するための図である。
【図7】時間重心画像と空間重心画像とのマッチングの模式図である。
【図8】時間重心に係るメモリ回路の第1例のブロック図である。
【図9】時間重心に係るメモリ回路の第2例のブロック図である。
【図10】撮像面における輝度分布と受光データとの関係を示す図である。
【図11】時間重心に係るメモリ回路の第3例のブロック図である。
【図12】図11に係る重心の概念図である。
【図13】空間重心に係るメモリ回路の第1例のブロック図である。
【図14】空間重心に係るメモリ回路の第2例のブロック図である。
【図15】空間重心に係るメモリ回路の第3例のブロック図である。
【図16】距離画像データの生成要領の第2例を説明するための図である。
【図17】2つの時間重心画像のマッチングの模式図である。
【符号の説明】
1 3次元入力装置
Q 物体
U スリット光(参照光)
10 投光系
A 視点(第1の位置)
B 視点(第2の位置)
20 受光系(撮像系)
P 点(物体上の部位)
TA,TB 時間重心
jB 空間重心
θA,θB 受光角度
D 距離データ(位置情報)
D35 受光データ(撮像データ)
D45 受光データ(撮像データ)
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a three-dimensional input device that projects reference light onto an object, scans the object, and outputs data for specifying the object shape.
[0002]
[Prior art]
A non-contact type 3D input device called a range finder is capable of high-speed measurement compared to the contact type, so it can be used for data input to CG and CAD systems, body measurement, visual recognition of robots, etc. It's being used.
[0003]
A slit light projection method (also called a light cutting method) is known as a measurement method suitable for a range finder. This method is a method for obtaining a distance image (three-dimensional image) by optically scanning an object, and is a kind of active measurement method for photographing an object by projecting specific reference light. The distance image is a set of pixels indicating the three-dimensional positions of a plurality of parts on the object. In the slit light projection method, slit light in which the cross section of the projection beam is a straight belt is used as reference light. At a certain point during scanning, a part of the object is irradiated, and a bright line bent according to the undulation of the irradiated part appears on the imaging surface. Therefore, a group of data (three-dimensional input data) specifying the object shape can be obtained by sampling the luminance of each pixel on the imaging surface periodically during scanning.
[0004]
Conventionally, based on the position of the bright line in the imaging surface, the incident angle of the slit light reflected by the object and incident on the imaging surface is obtained, and the incident angle, the projection angle of the slit light, and the base line length (projection origin). And the distance from the light receiving reference point), the position of the object is calculated by a triangulation method. That is, position calculation based on the projection direction and the light receiving direction of the reference light has been performed. Even when spot light (the beam cross-section is dotted) is used as the reference light as in the apparatus disclosed in Japanese Patent Laid-Open No. 10-2722, the position of the object is calculated based on the projection direction and the light receiving direction.
[0005]
[Problems to be solved by the invention]
Conventionally, the accuracy of the three-dimensional input data depends on the accuracy of the projection angle control of the reference light. For this reason, the three-dimensional input data with sufficiently high accuracy cannot be obtained, or expensive parts are required to ensure the accuracy. There has been a problem that it has to be used and it takes time and effort to adjust the mounting posture of the light projecting system. The reason why it is difficult to ensure the accuracy is that the light projecting system has a movable mechanism for deflecting the reference light, and its operation is easily influenced by changes in the usage environment such as temperature and humidity.
[0006]
Note that in stereo vision ranging devices that perform pattern light projection, the orientation of object positions viewed from multiple viewpoints can be obtained by matching feature points of multiple images that are epipolar-constrained, and triangulation can be performed based on those orientations. The object position is calculated by the method. In this three-dimensional input method, the accuracy of the three-dimensional input data does not depend on the accuracy of pattern light projection, but depends on the accuracy of matching. Sensitivity variation between pixels of the light receiving device also affects matching.
[0007]
An object of the present invention is to realize three-dimensional input that does not depend on the projection angle information of reference light, and to obtain highly accurate three-dimensional input data regardless of the accuracy of projection angle control. Another object is to reduce the cost of the imaging system.
[0008]
[Means for Solving the Problems]
In the present invention, an object partially illuminated with reference light or ambient light is imaged using two points separated from each other as viewpoints, and the distance between the viewpoints and the direction of the irradiated part on the object viewed from each viewpoint Based on (inclination with respect to a straight line connecting the viewpoints), data obtained by calculating the position of the object with high accuracy by the triangulation method or data for calculation is output. One viewpoint and the starting point of projection are set to the same position in the baseline direction. Thus, one-dimensional imaging may be performed for the viewpoint, and the device can be reduced in price and signal processing can be simplified as compared with the case of performing two-dimensional imaging.
[0009]
The apparatus according to the first aspect of the present invention is directed from the starting point toward the object so as to scan the object to be input. slit A light projection system for projecting light; Along the direction perpendicular to the slit length direction of the slit light An imaging system that simultaneously images the object at first and second positions separated from each other on a virtual base line, and the position of the starting point in the direction along the base line is the same as the second position Yes, based on imaging data corresponding to each of the first and second positions, for each of the plurality of parts in the object, the light reflected by the part at each of the first and second positions This is a three-dimensional input device that detects a light reception angle and outputs data corresponding to the detected set of light reception angles as position information of the part.
[0010]
A three-dimensional input device according to a second aspect of the present invention is configured to capture an image at the first position. The pixel array is along the baseline direction, which is the slit length direction and the direction perpendicular thereto Performed by a two-dimensional imaging device, and imaging at the second position Pixel array is along the baseline direction This is done with a one-dimensional imaging device. We would like to receive an assessment that you should patent after examination.
[0011]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a functional block diagram of a three-dimensional input device 1 according to the present invention.
The three-dimensional input apparatus 1 includes a light projecting system 10 that projects slit light U, a light receiving system 20 including two imaging systems 20A and 20B, and a total of two light receiving units corresponding to the imaging systems 20A and 20B. Signal processing units 30A and 30B.
[0012]
The light projecting system 10 includes a semiconductor laser 12 as a light source, a lens group 13 for beam shaping, and a galvanometer mirror 14 as beam deflecting means for changing the projection angle. The lens group 13 includes a collimator lens and a cylindrical lens. A deflection control signal is given to the galvanometer mirror 14 from the light projection control circuit 32 via the D / A converter 33.
[0013]
The imaging system 20A includes a light receiving lens 21, a beam splitter 22, an image sensor 24A for obtaining a distance image representing the shape of the object Q, a color image sensor 25 for obtaining a two-dimensional image for monitoring, and zooming and focusing. It consists of a lens drive mechanism 26 that enables it. The beam splitter 22 separates light in the emission wavelength range (for example, the center wavelength of 685 nm) of the semiconductor laser 12 and visible light. The image sensor 24A and the color image sensor 25 are two-dimensional imaging devices (area sensors). A CCD sensor or a MOS sensor can be used as these sensors.
[0014]
The imaging system 20B includes an anamorphic lens 27 that forms an object image by compressing the object image in the length direction of the slit light, a bandpass filter F2 that transmits light in the laser wavelength region, and an image sensor (CCD sensor) for obtaining a distance image. 24B and a lens driving mechanism 26. The image sensor 24B is a one-dimensional imaging device (line sensor), and is arranged so that the pixel arrangement direction of the light receiving surface thereof is the baseline direction.
[0015]
The received light signal processing unit 30A performs processing for the output of the imaging system 20A. The photoelectric conversion signal of each pixel output from the image sensor 24A is converted into light reception data having a predetermined number of bits by the A / D converter 35 and sequentially transferred to the memory circuit 37. The memory circuit 37 detects and stores the “time center of gravity TA” that specifies the first light reception angle θA based on the light reception data. The output of the color image sensor 25 is converted into received light data by the A / D converter 36 and is sequentially stored by the color image memory 38. The memory control circuit 39 is responsible for addressing the memory circuit 37 and the color image memory 38.
[0016]
Processing for the output of the imaging system 20B is performed by the received light signal processing unit 30B. The photoelectric conversion signal of each pixel output from the image sensor 24B is converted into light reception data having a predetermined number of bits by the A / D converter 45 and sequentially transferred to the memory circuit 47. The memory circuit 47 detects and stores “spatial center of gravity jB” for specifying the second light receiving angle θB based on the light receiving data. The memory control circuit 49 is responsible for addressing the memory circuit 47.
[0017]
The CPU 31 that controls the three-dimensional input device 1 gives an instruction to the control target in a timely manner, and performs calculation to read out data from the memory circuits 37 and 47 and obtain distance image data. The distance image data is output to an external device (not shown) as three-dimensional input data in a timely manner. At this time, a two-dimensional color image stored in the color image memory 38 of the received light signal processing unit 30A is also output. Examples of the external device include a computer, a display, and a storage device.
[0018]
FIG. 2 is a schematic diagram of projection.
The three-dimensional input device 1 projects the slit light U so as to scan the virtual surface VS with a point on the reflection surface of the galvano mirror 14 as a starting point C. The virtual plane VS corresponds to a cross section orthogonal to the depth direction of a space (range within the angle of view) that can be imaged by the image sensors 24A and 24B. A range ag corresponding to each pixel in the image sensors 24A and 24B in the virtual surface VS becomes a sampling section for three-dimensional input. As well shown in FIG. 2B, the light projection starting point C is at the same position as the viewpoint B in the baseline direction, which is the arrangement direction of the viewpoints (light receiving main points) A and B. Here, the viewpoints A and B are arranged along the vertical direction, and the slit length direction of the slit light U is the horizontal direction. The shape of the irradiation part of the object Q viewed from the viewpoint A is a belt-like shape bent according to the undulation of the object Q. Therefore, at the viewpoint A, it is necessary to image the object Q by the area sensor. On the other hand, since the starting point C and the viewpoint B are at the same position in the vertical direction, the shape of the irradiated part of the object Q viewed from the viewpoint B is always a straight belt regardless of the projection angle of the slit light U. That is, the light receiving angle of the slit light U in imaging is the same at any position in the horizontal direction. Therefore, at the viewpoint A, the object Q may be imaged by the line sensor.
[0019]
FIG. 3 is a schematic diagram of image formation by an anamorphic lens.
A photographed image GQ of an object formed on the imaging surface S2b of the image sensor 24B by the anamorphic lens 27 is an image obtained by compressing a photographed image GQ ′ with a normal lens having the same vertical and horizontal magnification in the horizontal direction. In the case of a normal lens, when the object surface at the position where the image sensor 24B is stared has a low reflectance, the reflected light of the slit light does not return to the three-dimensional input device 1, and the object is not imaged on the imaging surface S2b. That is, measurement becomes impossible. On the other hand, in the present embodiment, since the length of the slit light is compressed by the anamorphic lens 27, even if a part of the object surface on which the slit light is projected has a low reflectance, the other parts If the reflected light at is returned, an object can be imaged on the imaging surface S2b and measurement is possible.
[0020]
FIG. 4 is an explanatory diagram of the time centroid.
The three-dimensional input device 1 projects a relatively wide slit light U onto the object Q, in which the slit width on the imaging surface S2 of the image sensor 24A is a plurality of pixels g arranged at the pitch pv. Specifically, the width of the slit light U is about 5 pixels. The slit light U is deflected at a constant angular velocity in the vertical direction in the figure with the origin C as the center. The slit light U reflected by the object Q is incident on the imaging surface S2 through the principal point A (corresponding to the above-described viewpoint) of the imaging. While the slit light U is projected, the object Q is scanned by periodically sampling the amount of light received by each pixel g on the imaging surface S2. A photoelectric conversion signal for one frame is output from the image sensor 24A every sampling period (imaging period).
[0021]
If the surface of the object Q is flat and there is no noise due to the characteristics of the optical system, the amount of light received by each pixel g on the imaging surface S2 is the object surface ag within the range (strictly speaking, the center) of the pixel g. Is maximized when the optical axis of the slit light U passes through, and its temporal distribution is close to a normal distribution. In FIG. 4, the j-th pixel g in the vertical direction on the imaging surface S2. j Is noticed, and the transition of the amount of received light is shown in FIG. In the example of FIG. 4B, the nth sampling time T n And the previous (n-1) th sampling time T n-1 The amount of light received is maximum. The point of inflection near the top of the luminance distribution curve, that is, the point at which the received light amount at one pixel g focused as described above becomes the maximum, is defined as the “time centroid”. However, in the detection of the time center of gravity by discriminating the size of discrete sampling data, the detection result (in the example of FIG. n ) And the actual time centroid, a maximum deviation of ½ of the sampling period occurs.
[0022]
Here, the incident angle of the slit light U with respect to each pixel g is uniquely determined from the positional relationship between the principal point A and each pixel g on the imaging surface S2. Therefore, the time centroid can also be referred to as “a time at which the slit light U enters the principal point A at a specific angle (this is referred to as a light receiving angle θA)”.
[0023]
FIG. 5 is an explanatory diagram of the space center of gravity.
The slit light U projected from the starting point C and reflected by the object Q passes through the imaging main point B and enters the imaging surface S2b of the image sensor 24B.
[0024]
The “space centroid” is an incident angle of the slit light U with respect to the principal point B at each sampling time T in the periodic sampling for scanning the object Q. Since the incident angle with respect to the principal point B corresponds to the position of the optical axis on the imaging surface S2b, the center of gravity of the space is detected by determining which pixel g has the maximum amount of light received at each sampling time T. be able to. In FIG. 5, the nth sampling time T n FIG. 5B shows the spatial distribution of the amount of received light. In the example of FIG. 5B, the jth pixel g j And the (j−1) th pixel g j-1 The amount of received light is maximum at a position between and. Accordingly, the pixel position jB corresponding to the inflection point near the top of the luminance distribution curve on the imaging surface S2b can also be referred to as the spatial center of gravity. However, in the detection of the space center of gravity by discriminating the size of discrete sampling data, the detection result (pixel g in the example of FIG. 5). j ) And the actual center of gravity of the space, a maximum deviation of ½ of the pixel pitch pv occurs.
[0025]
FIG. 6 is a diagram for explaining how to generate distance image data, and FIG. 7 is a schematic diagram of matching between a temporal centroid image and a spatial centroid image.
The outline of the three-dimensional input of the object Q is as follows.
[0026]
The deflection angle of the galvanometer mirror 14 is controlled in synchronization with the imaging of the frame period by the two image sensors 24A and 24B. At this time, the two image sensors 24A and 24B are driven at the same timing. That is, the object Q is imaged simultaneously from the viewpoints A and B.
[0027]
Based on the output of the image sensor 24A, the time centroid TA is detected for each pixel g on the imaging surface S2, and the time centroid image GA, which is a set of detection results, is recorded in the memory. At this time, a memory for recording individual time centroids TA by a horizontal address i indicating a pixel position in the horizontal direction (main scanning direction) of the imaging surface S2 and a vertical address j indicating a pixel position in the vertical direction (sub-scanning direction). Specify the space. Further, based on the output of the image sensor 24B, the space center of gravity jB is detected for each frame, and the space center of gravity image GB, which is a set of detection results, is recorded in the memory. At this time, a memory space in which each space center of gravity jB is recorded is designated by a frame number T indicating the imaging time. When the one-dimensional image sensor 24B is used, only one pixel of memory is used for imaging one frame, so that the memory capacity is small.
[0028]
The horizontal pixel iA-th and vertical jA-th pixel g in one image sensor 24A iAjA Paying attention to pixel g iAjA When the slit light U passes through the point P on the line of sight corresponding to, the output is maximized. At this time, paying attention to the output of the other image sensor 24B, the pixel g corresponding to the line of sight passing through the point P jB Output is maximized.
[0029]
Here, assuming that the captured image of the imaging system 20A is a reference image, and the epipolar constraint is established in the vertical direction between the reference image and the captured image of the imaging system 20B, the pixel g iAjA Pixel g for vertical position jA jB The vertical direction position jB of the pixel g in the spatial center of gravity image GB iAjA Spatial center of gravity TA detected for iAjA And the frame number T is the same or the nearest pixel is found. That is, it is possible to perform matching (corresponding point search) for grasping the correspondence between pixels of the temporal centroid image GA and the spatial centroid image GB.
[0030]
The point P is the pixel g of the image sensor 24A. iAjA Corresponds to pixel g iAjA Light receiving angle θA determined by the position of iAjA And the point P exists on a straight line specified by the spatial coordinates of the viewpoint A. Further, since the line of sight of each pixel of the image sensor 24B becomes a plane by passing through the anamorphic lens 27, the point P is the pixel g of the image sensor 24B. jB Corresponds to pixel g jB Light reception angle θB determined by the position of jB And the point P exists on the plane specified by the spatial coordinates of the viewpoint B. An intersection of such a straight line and a plane is a point P. Therefore, the light receiving angle θA iAjA , ΘB jB And the distance D in the depth direction between the base line passing through the viewpoints A and B and the point P by applying the principle of triangulation based on the distance L between the viewpoints iAjA Can be calculated, and the relative positions of the viewpoints A and B and the point P can be specified. If the above processing is performed for each pixel g of the image sensor 24A, a distance image GD that is three-dimensional position information of sampling points for the number of pixels of the object Q can be obtained. The number of frames may be greater than or equal to the number of pixels in the vertical direction of the image sensor 24A.
[0031]
Next, a specific configuration of a circuit for detecting the time centroid TA and the space centroid jB will be described. In the following, except for the case where it is necessary to distinguish the pixel position, a subscript representing the pixel position iAjA , jB The description of is omitted.
[0032]
FIG. 8 is a block diagram of a first example of a memory circuit related to the time centroid.
The illustrated memory circuit 37 includes two memories 371 and 376, a comparator 377, and an index generator 378.
[0033]
The light reception data D35 is input from the A / D converter 35 to the memory 371, and the frame number T is input from the index generator 378 to the memory 376. . The comparator 377 compares the received light data D35 of the t-th frame which is the latest input data for each pixel of the image sensor 24A with the received light data D35 previously written in the memory 371, and the latest received light data D35 is the previous data. If the received light data is larger than the received light data D35, writing to the memories 371 and 376 is permitted. In response to this, each of the memories 371 and 376 stores the latest input data in an overwrite format. When the comparison result is opposite, the previous stored contents are held in the memories 371 and 376. Therefore, when the scanning is completed, the memory 371 stores the maximum value of the light reception data D35 for each pixel g, and the memory 376 stores the number T of the frame in which the light reception data D35 is maximum for each pixel. become. Since the imaging of each frame is performed at a constant cycle, the frame number T represents the time during the scanning period (elapsed time from the start of scanning). That is, the frame number T stored in the memory 376 corresponds to the above time center TA.
[0034]
According to this example, the time center of gravity TA can be detected with a relatively simple circuit configuration. However, the detection resolution depends on the imaging cycle. The following second example is intended to improve the resolution.
[0035]
FIG. 9 is a block diagram of a second example of the memory circuit related to the time centroid, and FIG. 10 is a diagram showing the relationship between the luminance distribution on the imaging surface and the received light data. 9, elements corresponding to those in FIG. 8 are denoted by the same reference numerals as in FIG.
[0036]
The memory circuit 37b of the second example is provided with four memories 372, 373, 374, and 375 of the same size in addition to the memory 371, and a total of four 1-frame delay memories 379a to 379 are interposed therebetween. The data input of ˜375 is configured to be delayed one frame at a time with respect to the memory 371. That is, in the memory circuit 37b, five consecutive frames of received light data D35 are simultaneously stored for each pixel g. The comparator 377 compares the input and the output of the third memory 373 whose input is delayed by 2 frames. When the input data value of the memory 373 is larger than the output data value (the previously written data value), writing to the memories 371 to 375 and the memory 376 is permitted.
[0037]
At the end of each scan, the memory 373 stores the maximum value of the received light data D35 for each pixel g. The memories 371, 372, 374, and 375 store the light reception data D35 of a total of four frames, two frames before, one before, one after, and two after the frame in which the light reception data D35 is maximum. become. The memory 376 stores the frame number T in which the light reception data D35 is the maximum for each pixel g.
[0038]
Here, as shown in FIG. 10A, the width of the slit light image formed on the imaging surface is 5 pixels, and the luminance distribution is a single peak. At this time, if attention is paid to one pixel g, the received light data in accordance with the luminance distribution is obtained as shown in FIG. Therefore, by performing the centroid calculation based on the light reception data D35 for five frames stored in the memories 371 to 375, the time centroid TA can be detected in finer steps than the frame period (that is, the pixel pitch). . In the example of FIG. 10B, the time centroid TA is between the t-th sampling time and the (t + 1) -th sampling time. For the center of gravity calculation, there are a configuration performed by the CPU 31 and a configuration provided with an arithmetic circuit.
[0039]
According to the second example, the resolution is improved, but there is a problem that a desired accuracy cannot be obtained depending on the luminance distribution. That is, in actual imaging, some noise is added to the imaging due to the characteristics of the optical system. For this reason, a plurality of peaks occur in the luminance distribution, or the luminance distribution is flat and unclear. If the luminance distribution deviates greatly from the ideal shape, the reliability of the centroid calculation decreases.
[0040]
The effect of such noise is that the calculation of the center of gravity is performed based on the luminance distribution over a sufficiently long period rather than the short period of time when the frame where the maximum luminance value is obtained and the several frames before and after it are combined. Can be reduced. This is achieved by the third example below.
[0041]
FIG. 11 is a block diagram of a third example of the memory circuit related to the time center of gravity, and FIG. 12 is a conceptual diagram of the center of gravity related to FIG.
The memory circuit 37c of the third example includes a memory 3710, a stationary light data storage unit 3720, a subtraction unit 3730, a first addition unit 3740, a second addition unit 3750, and a division unit 3760, and the number of frames for each pixel g. The time centroid TA is calculated based on the received light data D35.
[0042]
The memory 3710 stores light reception data D35 of a predetermined number k frames obtained by scanning the object Q. The received light data value of the Tth (T = 1 to k) frame of each pixel g is expressed as x. T It expresses. The steady light data storage unit 3720 stores steady light data representing unnecessary incident light amounts other than the slit light U. The steady light data is calculated based on the received light data D35 when the slit light U is not incident. The value s may be a predetermined fixed value or may be obtained in real time using the received light data D35. In the case of a fixed value, when the received light data D35 is 8 bits (256 gradations), for example, “5” “6” or “10” is set. The subtracting unit 3730 receives the value x of the received light data D35 read from the memory 3710. T The value s of the stationary light data is subtracted from Here, the value of the output data from the subtracting unit 3730 is changed to X T And The first addition unit 3740 calculates each value X for the k light reception data D35 for each pixel g. T Is multiplied by the corresponding frame number T, and the total value of the obtained products is output. The second adder 3750 calculates the value X of the k received light data D35 for each pixel g. T Output the sum of. The division unit 3760 divides the output value of the first addition unit 3740 by the output value of the second addition unit 3750, and outputs the obtained time centroid TA.
[0043]
The spatial center of gravity jB can also be obtained by a circuit having the same configuration as above.
FIG. 13 is a block diagram of a first example of a memory circuit related to the space center of gravity.
The example memory circuit 47 includes two memories 471, 476, a comparator 477, and an index generator 478. Each of the memories 471 and 476 has a memory space equal to or more than the number of scan frames. Each memory space is addressed by a frame number T from the index generator 478.
[0044]
In each frame, received light data D45 is input from the A / D converter 45 to the memory 471, and a vertical address j is input to the memory 476 as data. The comparator 477 compares the received light data D45 of the j-th pixel, which is the latest input data, with the received light data D45 previously written in the memory 471, and the latest received light data D45 is greater than the previous received light data D45. Write to the memories 471 and 476. In response to this, the memories 471 and 476 store the latest input data in an overwrite format. When the comparison result is opposite, the previous stored contents are held in the memories 471 and 476. Accordingly, when the scanning is completed, the memory 471 stores the maximum value of the light reception data D45 in each frame, and the memory 476 stores the vertical pixel position j of the pixel in which the light reception data D45 is maximum in each frame. Become. The vertical pixel position j stored in the memory 476 corresponds to the spatial center of gravity jB described above, and is information for specifying the light receiving angle θB.
[0045]
According to this example, the spatial center of gravity jB can be detected with a relatively simple circuit configuration. However, the resolution of detection of the light receiving angle depends on the pixel pitch of the image sensor 24B. The following second example is intended to improve the resolution.
[0046]
FIG. 14 is a block diagram of a second example of the memory circuit related to the space center of gravity. In the figure, elements corresponding to those in FIG. 13 are denoted by the same reference numerals as those in FIG.
The memory circuit 47b of the second example is provided with four memories 472, 473, 474, and 475 of the same size in addition to the memory 471, and a total of four one-line delay memories 479a to 479 are interposed therebetween. The data input of ˜475 is configured to be sequentially delayed by one line transfer period with respect to the memory 471. That is, in the memory circuit 47b, the received light data D45 for five pixels having a continuous arrangement order is simultaneously stored for each pixel g. The comparator 477 compares the input and output of the third memory 473 whose input is delayed by two lines. When the input data value of the memory 473 is larger than the output data value (the previously written data value), writing to the memories 471 to 475 and the memory 476 is permitted.
[0047]
At the end of each scan, the memory 473 stores the maximum value of the received light data D45 in each frame. In addition, the memories 471, 472, 474, and 475 store the light reception data D45 of a total of four pixels two before, one before, one after, and two after the line where the light reception data D45 is maximum. become. The memory 476 stores the vertical pixel position j at which the light reception data D45 is the maximum in each frame. By performing the centroid calculation based on the received light data D45 for five pixels stored in the memories 471 to 475, the spatial centroid jB can be detected in finer increments than the pixel pitch pv. For the center of gravity calculation, there are a configuration performed by the CPU 31 and a configuration provided with an arithmetic circuit.
[0048]
According to the second example, the resolution is improved, but there is a problem that a desired accuracy cannot be obtained depending on the luminance distribution. In other words, if the luminance distribution deviates greatly from the ideal shape, the reliability of the centroid calculation decreases.
[0049]
The influence of such noise can be reduced by performing the centroid calculation based on the luminance distribution in a sufficiently wide vertical range, not several pixels including the pixel where the maximum luminance value is obtained. This is achieved by the third example below.
[0050]
FIG. 15 is a block diagram of a third example of the memory circuit related to the space center of gravity.
The memory circuit 47c of the third example includes a memory 4710, a stationary light data storage unit 4720, a subtraction unit 4730, a first addition unit 4740, a second addition unit 4750, and a division unit 4760, and a vertical direction pixel for each frame. A space center of gravity jB is calculated based on the received light data D45 for several minutes.
[0051]
The memory 4710 stores received light data D45 of the number of pixels × the number of frames obtained by scanning the object Q. The jth received data value of each frame is represented by x j It expresses. The steady light data storage unit 4720 stores steady light data representing unnecessary incident light amounts other than the slit light U. The steady light data is calculated based on the received light data D45 when the slit light U is not incident. The value s may be a predetermined fixed value or may be obtained in real time using the received light data D45. The subtracting unit 4730 receives the value x of the received light data D45 read from the memory 4710. j The value s of the stationary light data is subtracted from Here, the value of the output data from the subtracting unit 4730 is changed to X j And The first addition unit 4740 obtains each value X for the received light data D45 for the number of frames. j Is multiplied by the corresponding vertical pixel position j, and the total value of the obtained products is output. The second addition unit 4750 receives the value X of the received light data D45 for the number of frames. j Output the sum of. The division unit 4760 divides the output value of the first addition unit 4740 by the output value of the second addition unit 4750 and outputs the obtained space center of gravity jB.
[0052]
In the above embodiment, the example in which the distance data is calculated by detecting the time centroid TA and the space centroid jB has been described. However, the present invention is not limited to this. As with the viewpoint A, the distance data can also be calculated for the viewpoint B by detecting the time center of gravity TB.
[0053]
FIG. 16 is a diagram for explaining a second example of how to generate distance image data, and FIG. 17 is a schematic diagram of matching of two time centroid images.
Even when the temporal centroids TA and TB are detected for each of the viewpoints A and B, as in the case where the temporal centroid TA and the spatial centroid jB are detected as described above, the image sensors 24A and 24B can capture the frame period. The deflection angle of the galvanometer mirror 14 is controlled in synchronization. At this time, the two image sensors 24 are driven at the same timing, and the object Q is simultaneously imaged from the viewpoints A and B. Then, it is detected at which point of time the projection of the slit light U that is deflected momentarily by the pixels of the image sensors 24A and 24B.
[0054]
The pixel i in the horizontal direction iA and the vertical direction jA in the two-dimensional image sensor 24A. iAjA Paying attention to pixel g iAjA When the slit light U passes through the point P on the line of sight corresponding to, the output is maximized. At this time, paying attention to the output of the one-dimensional image sensor 24B, the pixel g corresponding to the line of sight passing through the point P jB Output is maximized. Here, when the captured image (temporal centroid image) GA of the image sensor 24A is used as a reference image, the epipolar constraint is established in the vertical direction between the reference image GA and the captured image (temporal centroid image) GB of the image sensor 24B. Then, pixel g iAjA Pixel g for vertical position jA jB Of the vertical direction position jB of the pixel g in the time-centroid image GB. iAjA It can be found by finding a pixel having the maximum output at the same time as the output of Therefore, the time (time center of gravity) TA at which the output of each pixel of the image sensors 24A and 24B becomes maximum. iAjA , TB jB Can be used to find a pixel in the time centroid image GB corresponding to each pixel in the time centroid image GA.
[0055]
Point P is pixel g of time centroid image GA iAjA Corresponds to pixel g iAjA Light receiving angle θA determined by the position of iAjA And the point P exists on a straight line specified by the spatial coordinates of the viewpoint A. Further, the point P is a pixel g of the time centroid image GB. jB Corresponds to pixel g jB Light reception angle θB determined by the position of jB And the point P exists on the plane specified by the spatial coordinates of the viewpoint B. That is, the intersection of the straight line and the plane is the point P. Therefore, the light receiving angle θA iAjA , ΘB jB And the distance D in the depth direction between the base line passing through the viewpoints A and B and the point P by applying the principle of triangulation based on the base line length L iAjA Can be calculated, and the relative positions of the viewpoints A and B and the point P can be specified. When the above processing is performed for each pixel g of the time-centroid image GA, three-dimensional position information of sampling points for the object Q corresponding to the number of pixels of the image sensor 24A is obtained.
[0056]
In the above embodiment, the image sensor 24B only needs to be able to detect a one-dimensional light receiving position. Therefore, a position detection type detector (PSD) may be used instead of the CCD sensor.
[0057]
【The invention's effect】
According to the first or second aspect of the invention, three-dimensional input that does not depend on the projection angle information of the reference light is realized, and high-precision three-dimensional input data can be obtained regardless of the accuracy of the projection angle control. At the same time, the amount of data related to position calculation can be reduced. According to the invention of claim 2, it is possible to reduce the price of the imaging system.
[Brief description of the drawings]
FIG. 1 is a functional block diagram of a three-dimensional input device according to the present invention.
FIG. 2 is a schematic diagram of projection.
FIG. 3 is a schematic diagram of image formation by an anamorphic lens.
FIG. 4 is an explanatory diagram of a time centroid.
FIG. 5 is an explanatory diagram of a space center of gravity.
FIG. 6 is a diagram for explaining how to generate distance image data.
FIG. 7 is a schematic diagram of matching between a temporal centroid image and a spatial centroid image.
FIG. 8 is a block diagram of a first example of a memory circuit related to a time centroid.
FIG. 9 is a block diagram of a second example of the memory circuit related to the time centroid.
FIG. 10 is a diagram illustrating a relationship between luminance distribution on the imaging surface and received light data.
FIG. 11 is a block diagram of a third example of the memory circuit related to the time centroid.
12 is a conceptual diagram of the center of gravity according to FIG. 11. FIG.
FIG. 13 is a block diagram of a first example of a memory circuit related to a space center of gravity.
FIG. 14 is a block diagram of a second example of the memory circuit related to the space center of gravity.
FIG. 15 is a block diagram of a third example of the memory circuit related to the space center of gravity.
FIG. 16 is a diagram for explaining a second example of how to generate distance image data.
FIG. 17 is a schematic diagram of matching of two temporal centroid images.
[Explanation of symbols]
1 3D input device
Q object
U slit light (reference light)
10 Flood light system
A Viewpoint (first position)
B Viewpoint (second position)
20 Light receiving system (imaging system)
Point P (part on the object)
TA, TB time center of gravity
jB center of gravity
θA, θB Light receiving angle
D Distance data (position information)
D35 Light reception data (imaging data)
D45 Light reception data (imaging data)

Claims (2)

入力対象の物体を走査するように起点から前記物体に向かってスリット光を投射する投光系と、前記スリット光のスリット長さ方向と直交する方向に沿う仮想の基線上の互いに離れた第1及び第2の位置で同時に前記物体を撮像する撮像系とを有し、
前記基線に沿った方向における前記起点の位置は、前記第2の位置と同一であり、
前記第1及び第2の位置のそれぞれに対応した撮像データに基づいて、前記物体における複数の部位のそれぞれについて、当該部位で反射した光の前記第1及び第2の位置のそれぞれでの受光角度を検出し、検出した1組の受光角度に応じたデータを当該部位の位置情報として出力する
ことを特徴とする3次元入力装置。
A light projecting system that projects slit light from the starting point toward the object so as to scan the object to be input, and first spaced apart from each other on a virtual base line along a direction orthogonal to the slit length direction of the slit light And an imaging system that images the object at the same time at a second position,
The position of the starting point in the direction along the base line is the same as the second position;
Based on the imaging data corresponding to each of the first and second positions, for each of the plurality of parts of the object, the light receiving angle at each of the first and second positions of the light reflected by the part. And outputting data corresponding to the detected set of light receiving angles as position information of the part.
前記第1の位置での撮像を画素配列が前記スリット長さ方向およびそれと直交する方向である基線方向に沿う2次元撮像デバイスによって行い、前記第2の位置での撮像を画素配列が前記基線方向に沿う1次元撮像デバイスによって行う
請求項1記載の3次元入力装置。
Imaging at the first position is performed by a two-dimensional imaging device along a baseline direction in which the pixel arrangement is in the slit length direction and a direction orthogonal thereto, and imaging at the second position is in the baseline direction The three-dimensional input device according to claim 1, which is performed by a one-dimensional imaging device along the line .
JP10881399A 1999-04-16 1999-04-16 3D input device Expired - Fee Related JP4032556B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10881399A JP4032556B2 (en) 1999-04-16 1999-04-16 3D input device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10881399A JP4032556B2 (en) 1999-04-16 1999-04-16 3D input device

Publications (2)

Publication Number Publication Date
JP2000304514A JP2000304514A (en) 2000-11-02
JP4032556B2 true JP4032556B2 (en) 2008-01-16

Family

ID=14494161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10881399A Expired - Fee Related JP4032556B2 (en) 1999-04-16 1999-04-16 3D input device

Country Status (1)

Country Link
JP (1) JP4032556B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7385174B2 (en) * 2006-06-26 2008-06-10 Owens-Brockway Glass Container Inc. Apparatus and method for measuring sidewall thickness of non-round transparent containers
JP2009122066A (en) * 2007-11-19 2009-06-04 Mitsutoyo Corp Non-contact three-dimensional measurement method and device thereof

Also Published As

Publication number Publication date
JP2000304514A (en) 2000-11-02

Similar Documents

Publication Publication Date Title
US6600168B1 (en) High speed laser three-dimensional imager
US6549288B1 (en) Structured-light, triangulation-based three-dimensional digitizer
TW488145B (en) Three-dimensional profile scanning system
US5889582A (en) Image-directed active range finding system
CN102538679B (en) Image correlation displacement sensor
US6556307B1 (en) Method and apparatus for inputting three-dimensional data
KR19990081876A (en) Distance and positioning devices
JP3991501B2 (en) 3D input device
NL8000561A (en) METHOD FOR MEASURING DISTANCES AND AN APPARATUS FOR CARRYING OUT THE METHOD
JP4186347B2 (en) Three-dimensional input method and apparatus
US6421114B1 (en) Three-dimensional information measuring apparatus
JP4032556B2 (en) 3D input device
JPH09145318A (en) Three-dimensional measuring equipment
JP4158300B2 (en) 3D input method and 3D input device
US6297881B1 (en) Three-dimensional measurement method and three-dimensional measurement device
JP3324367B2 (en) 3D input camera
US6411918B1 (en) Method and apparatus for inputting three-dimensional data
JP3360505B2 (en) Three-dimensional measuring method and device
JP2000088539A (en) Method and apparatus for three-dimensional inputting
JP2731681B2 (en) 3D measurement system
JP2000171222A (en) Method and device for three-dimensional input
JPS6383604A (en) Three-dimensional coordinate measuring instrument
JP2000171225A (en) Method and device for three-dimensional input
JP2000088540A (en) Method and apparatus for three-dimensional inputting
WO2022113877A1 (en) Three-dimensional-measurement device and three-dimensional-measurement method

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20050615

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20050704

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050922

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070827

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071002

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071015

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131102

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees