(57)【特許請求の範囲】
【請求項１】
検出光を投射する投光手段と、物体で反射した前記検出光を受光して電気信号に変換する撮像手段とを有し、前記検出光の投射方向を変化させて周期的に前記物体を撮像する走査を行う３次元入力装置であって、
動作開始の指示に呼応して、前記検出光の投射角度範囲が互いに異なる複数回の走査を連続的に行う
ことを特徴とする３次元入力装置。
【請求項２】
前記複数回の走査において、３次元入力の基準面がそれぞれ異なることを特徴とする請求項１に記載の３次元入力装置。
【請求項３】
前記複数回の走査におけるそれぞれの回において、前記撮像手段のオートフォーカシングが行われることを特徴とする請求項１に記載の３次元入力装置。
【請求項４】
請求項１に記載の３次元入力装置において、さらに前記走査による走査結果を表示する表示手段を有し、前記複数回の走査による複数の走査結果を同時に表示することを特徴とする請求項１に記載の３次元入力装置。
【請求項５】
前記複数回の走査による複数の走査結果のうち、いずれを出力するかを操作者が選択可能であることを特徴とする請求項１に記載の３次元入力装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、物体に検出光を投射して物体を走査し、物体形状を特定するデータを出力する３次元入力装置に関する。
【０００２】
【従来の技術】
レンジファインダと呼称される非接触型の３次元入力装置は、接触型に比べて高速の計測が可能であることから、ＣＧシステムやＣＡＤシステムへのデータ入力、身体計測、ロボットの視覚認識などに利用されている。
【０００３】
レンジファインダに好適な計測方法としてスリット光投影法（光切断法ともいう）が知られている。この方法は、物体を光学的に走査して距離画像（３次元画像）を得る方法であり、特定の検出光を照射して物体を撮影する能動的計測方法の一種である。距離画像は、物体上の複数の部位の３次元位置を示す画素の集合である。スリット光投影法では、検出光として投射ビームの断面が直線帯状であるスリット光が用いられる。走査中のある時点では物体の一部が照射され、その部分の位置は投射方向と受光面における高輝度位置（つまり受光方向）とから三角測量の手法で算出することができる。したがって、受光面の各画素の輝度をサンプリングすることにより、物体形状を特定する一群のデータを得ることができる。
【０００４】
レンジファインダの中には対物間距離を測定して検出光の投射角度範囲を調整するものがある。すなわち、撮像倍率と対物間距離とに応じて受光面に写る物体の全体が走査範囲となるように投射の開始及び終了の角度位置を設定する動作制御が行われている。また、受光面の輝度のサンプリングにおいて、１回のサンプリングの対象を受光面全体ではなく検出光が入射すると予想される一部の領域に限定し、その領域をサンプリング毎にシフトさせる手法が知られている。これによれば、サンプリングの１回当たりの所要時間を短縮して走査を高速化することができ、データ量を削減して信号処理系の負担を軽減することができる。
【０００５】
【発明が解決しようとする課題】
しかし、従来では、計測対象の物体が奥行き方向の計測可能範囲からはみ出す場合があり、その場合には操作者がズーミングやピント調整をして画角を変えて再計測を行う必要があった。画角を拡げると奥行き方向の計測可能範囲も拡がるが分解能は低下してしまう。なお、受光面の一部を１回のサンプリングの対象とする場合において、その対象領域を拡げれば計測可能範囲は拡がる。しかし、走査速度を低下させなければならず、データ処理の負担が増大する。
【０００６】
本発明は、物体の奥行き寸法が大きい場合でも、奥行き寸法が小さい場合と同程度の分解能の３次元データを物体全体について入力できるようにすることを目的としている。
【０００７】
【課題を解決するための手段】
本発明においては、検出光の投射角度範囲を自動的に変更して複数回の走査を行うようにする。これにより、ある回の走査では有効な受光情報が得られない物体上の部位についても、他の走査では適切な受光情報が得られる。つまり、奥行き方向の受光可能範囲は各回の走査における受光可能範囲を合わせたものとなり、原理的には走査回数倍に拡がる。
【０００８】
請求項１の発明の装置は、検出光を投射する投光手段と、物体で反射した前記検出光を受光して電気信号に変換する撮像手段とを有し、前記検出光の投射方向を変化させて周期的に前記物体を撮像する走査を行う３次元入力装置であって、動作開始の指示に呼応して、前記検出光の投射角度範囲が互いに異なる複数回の走査を連続的に行うものである。動作開始の指示はスイッチやボタンの操作又は外部からの制御信号により行われる。
【０００９】
【発明の実施の形態】
図１は本発明に係る計測システム１の構成図である。
計測システム１は、スリット光投影法によって立体計測を行う３次元カメラ（レンジファインダ）２と、３次元カメラ２の出力データを処理するホスト３とから構成されている。
【００１０】
３次元カメラ２は、物体Ｑ上の複数のサンプリング点の３次元位置を特定する計測データとともに、物体Ｑのカラー情報を示す２次元画像及びキャリブレーションに必要なデータを出力する。三角測量法を用いてサンプリング点の座標を求める演算処理はホスト３が担う。
【００１１】
ホスト３は、ＣＰＵ３ａ、ディスプレイ３ｂ、キーボード３ｃ、及びマウス３ｄなどから構成されたコンピュータシステムである。ＣＰＵ３ａには計測データ処理のためのソフトウェアが組み込まれている。ホスト３と３次元カメラ２との間では、オンライン及び可搬型の記録メディア４によるオフラインの両方の形態のデータ受渡しが可能である。記録メディア４としては、光磁気ディスク（ＭＯ）、ミニディスク（ＭＤ）、メモリカードなどがある。
【００１２】
図２は３次元カメラ２の外観を示す図である。
ハウジング２０の前面に投光窓２０ａ及び受光窓２０ｂが設けられている。投光窓２０ａは受光窓２０ｂに対して上側に位置する。内部の光学ユニットＯＵが射出するスリット光（所定幅ｗの帯状のレーザビーム）Ｕは、投光窓２０ａを通って計測対象の物体（被写体）に向かう。スリット光Ｕの長さ方向Ｍ１の放射角度φは固定である。物体の表面で反射したスリット光Ｕの一部が受光窓２０ｂを通って光学ユニットＯＵに入射する。なお、光学ユニットＯＵは、投光軸と受光軸との相対関係を適正化するための２軸調整機構を備えている。
【００１３】
ハウジング２０の上面には、ズーミングボタン２５ａ，２５ｂ、手動フォーカシングボタン２６ａ，２６ｂ、及びシャッタボタン２７が設けられている。図２（ｂ）のように、ハウジング２０の背面には、液晶ディスプレイ２１、カーソルボタン２２、セレクトボタン２３、キャンセルボタン２４、アナログ出力端子３２、デジタル出力端子３３、及び記録メディア４の着脱口３０ａが設けられている。
【００１４】
液晶ディスプレイ（ＬＣＤ）２１は、操作画面の表示手段及び電子ファインダとして用いられる。撮影者は背面の各ボタン２１〜２４によって撮影モードの設定を行うことができる。アナログ出力端子３２からは、２次元画像信号が例えばＮＴＳＣ形式で出力される。ディジタル出力端子３３は例えばＳＣＳＩ端子である。
【００１５】
図３は３次元カメラ２の機能構成を示すブロック図である。図中の実線矢印は電気信号の流れを示し、破線矢印は光の流れを示している。
３次元カメラ２は、上述の光学ユニットＯＵを構成する投光側及び受光側の２つの光学系４０，５０を有している。光学系４０において、半導体レーザ（ＬＤ）４１が射出する波長６７０ｎｍのレーザビームは、投光レンズ系４２を通過することによってスリット光Ｕとなり、ガルバノミラー（走査手段）４３によって偏向される。半導体レーザ４１のドライバ４４、投光レンズ系４２の駆動系４５、及びガルバノミラー４３の駆動系４６は、システムコントローラ６１によって制御される。
【００１６】
光学系５０において、ズームユニット５１によって集光された光はビームスプリッタ５２によって分光される。半導体レーザ４１の発振波長帯域の光は、計測用のセンサ５３に入射する。可視帯域の光は、モニタ用のカラーセンサ５４に入射する。センサ５３及びカラーセンサ５４は、どちらもＣＣＤエリアセンサである。ズームユニット５１は内焦型であり、入射光の一部がオートフォーカシング（ＡＦ）に利用される。ＡＦ機能は、ＡＦセンサ５７とレンズコントローラ５８とフォーカシング駆動系５９とによって実現される。ズーミング駆動系６０は電動ズーミングのために設けられている。
【００１７】
センサ５３による撮像情報は、ドライバ５５からのクロックに同期して出力処理回路６２に入力され、８ビットの受光データとなってメモリ６３に一旦格納される。メモリ６３のアドレス指定はメモリコントローラ６３Ａが行う。所定のタイミングでメモリ６３から重心演算回路７３へ受光データが転送され、対象物体の３次元位置を算出するための基となるデータ（後述の“重心ｉｐ”）が生成される。重心ｉｐは計測結果として出力用メモリ６４を経てＳＣＳＩコントローラ６６へ送られる。また、重心ｉｐはモニタ情報として重心演算回路７３から表示用メモリ７４へも送られ、液晶ディスプレイ（ＬＣＤ）２１による距離画像の表示に用いられる。
【００１８】
一方、カラーセンサ５４による撮像情報は、ドライバ５６からのクロックに同期してカラー処理回路６７へ送られる。カラー処理を受けた撮像情報は、ＮＴＳＣ変換回路７０及びアナログ出力端子３２を経てオンライン出力され、又はディジタル画像生成部６８で量子化されてカラー画像メモリ６９に格納される。その後、カラー画像データがカラー画像メモリ６９からＳＣＳＩコントローラ６６へ転送される。
【００１９】
ＳＣＳＩコントローラ６６は、出力用メモリ６４からのデータとカラー画像とをディジタル出力端子３３からオンライン出力し、又は記録メディア４に格納する。なお、カラー画像は、センサ５３の出力に基づく距離画像と同一の画角の像であり、ホスト３におけるアプリケーション処理に際して参考情報として利用される。カラー情報を利用する処理としては、例えばカメラ視点の異なる複数組の計測データを組み合わせて３次元形状モデルを生成する処理、３次元形状モデルの不要の頂点を間引く処理などがある。システムコントローラ６１は、図示しないキャラクタジェネレータに対して、ＬＣＤ２１の画面上に適切な文字や記号を表示するための指示を与える。
【００２０】
図４は受光のためのズームユニット５１の模式図である。
ズームユニット５１は、前側結像部５１５、バリエータ部５１４、コンペンセータ部５１３、フォーカシング部５１２、後側結像部５１１、及び入射光の一部をＡＦセンサ５７に導くビームスプリッタ５１６から構成されている。前側結像部５１５及び後側結像部５１１は、光軸に対して固定である。
【００２１】
フォーカシング部５１２の移動はフォーカシング駆動系５９が担い、バリエータ部５１４の移動はズーミング駆動系６０が担う。フォーカシング駆動系５９は、フォーカシング部５１２の移動距離（レンズ繰り出し量Ｅｄ）を指し示すフォーカシングエンコーダ５９Ａを備えている。ズーミング駆動系６０は、バリエータ部５１４の移動距離（レンズ刻み値ｆｐ）を指し示すズーミングエンコーダ６０Ａを備えている。
【００２２】
図５は計測システム１における３次元位置の算出の原理図、図６は重心ｉｐの概念を示す図である。図５では理解を容易にするために受光量のサンプリングについて５回分のみが示されているが、３次元カメラ２における１画素当たりのサンプリング数は３２である。
【００２３】
図５のように、センサ５３の撮像面Ｓ２上でのスリット幅がピッチｐｖで並ぶ画素ｇの複数個分となる比較的に幅の広いスリット光Ｕを物体Ｑに投射する。具体的にはスリット光Ｕの幅を５画素分程度とする。スリット光Ｕは図の上下方向に起点Ａを中心に等角速度で偏向される。物体Ｑで反射したスリット光Ｕは結像の主点Ｏ（ズーミングの後側主点Ｈ’）を通って撮像面Ｓ２に入射する。スリット光Ｕの投射中にセンサ５３の受光量を周期的にサンプリングすることにより、物体Ｑ（厳密には物体像）が走査される。サンプリング周期（センサ駆動周期）毎にセンサ５３から１フレーム分の光電変換信号が出力される。
【００２４】
物体Ｑの表面が平面であって光学系の特性によるノイズがない場合には、センサ５３の撮像面Ｓ２の各画素ｇの受光量は、当該画素ｇがにらむ範囲の物体表面ａｇをスリット光Ｕの光軸が通過する時点Ｎｐｅａｋで最大となり、その時間的な分布は正規分布に近くなる。図５（ｂ）の例において、時点Ｎｐｅａｋはｎ回目とその１つ前の（ｎ−１）回目のサンプリング時刻間にある。
【００２５】
本実施形態においては、１フレームがセンサ５３の撮像面Ｓ２の一部に対応する３２ラインとされている。したがって、撮像面Ｓ２の１つの画素ｇに注目すると、走査中に３２回のサンプリングが行われることになり、３２個の受光データが得られる。これら３２フレーム分の受光データに対する重心演算によって、時点Ｎｐｅａｋに相当する重心（時間重心）ｉｐを算出する。
【００２６】
重心ｉｐは、図６のように３２回のサンプリングによって得られた３２個の受光データの分布の時間軸上の重心である。各画素についての３２個の受光データに、１〜３２のサンプリング番号を付す。ｉ番の受光データはｘｉで表される。ｉは１〜３２の整数である。このとき、ｉは、注目する画素が３２ラインからなる有効受光領域に入ってからのフレーム数を示している。
【００２７】
１〜３２番の受光データｘ１〜ｘ３２についての重心ｉｐは、３２個の受光データについて、ｉ・ｘｉの総和Σｉ・ｘｉをｘｉの総和Σｘｉで除すことにより求められる。すなわち、
【００２８】
【数１】
0003740848.tif 000002
【００２９】
となる。重心演算回路７３はこの（１）式の演算を行って重心ｉｐ（すなわち時間重心Ｎｐｅａｋ）を算出する。
ホスト３は、求められた重心ｉｐにおけるスリット光Ｕの照射方向と注目画素ｇに対するスリット光Ｕの入射方向との関係に基づいて、三角測量の手法を適用して物体Ｑの位置（座標）を算出する。これにより、撮像面Ｓ２の画素配列のピッチｐｖで規定される分解能より高い分解能の計測が可能となる。
【００３０】
次に、本発明に特有の３次元カメラ２の動作をホスト３の動作及び計測の手順と合わせて説明する。
ユーザー（撮影者）は、ＬＣＤ２１が表示するカラーモニタ像を見ながら、カメラ位置と向きとを決め、画角を設定する。その際、必要に応じてズーミング操作及びフォーカシング操作の一方又は両方を行う。操作に応じてズームユニット５１の中のバリエータ部５１４及びフォーカシング部５１２が移動し、逐次にその時点のレンズ刻み値（ｆｐ）及びレンズ繰り出し量（Ｅｄ）がレンズコントローラ５８を介してシステムコントローラ６１に送られる。システムコントローラ６１は、予め（２）式に基づいて作成された変換テーブルを用いて対物間距離Ｄを算定する。
【００３１】
Ｄ＝Ｇ（ｆｐ，Ｅｄ）    …（２）
Ｇ：関数
ユーザーがシャッタボタン２７をオンすると、画角が設定されたことになる。これを受けてシステムコントローラ６１は、決定した対物間距離Ｄに基づいてスリット光Ｕの偏向条件（走査開始角、走査終了角、偏向角速度）を設定する。
【００３２】
図７は光学系の主要な点と物体との位置関係の模式図である。
偏向条件の設定の基本的な内容は次のとおりである。対物間距離Ｄの位置に基準面Ｓｓが存在するものと仮定し、撮像倍率から基準面Ｓｓのうちの撮像面Ｓ２に写る（投影される）領域を割り出す。その領域の全域に下端側からスリット光Ｕを投射するように走査開始角及び走査終了角を定め、走査の所要時間が一定値となるように偏向角速度を定める。
【００３３】
実際の設定では、対物間距離Ｄの測距基準点である受光系の前側主点Ｈと投光の起点ＡとのＺ方向のオフセットＤｏｆｆを考慮する。また、走査方向の端部においても中央部と同様の計測可能距離範囲ｄを確保するため、所定量（例えば１６画素分）のオーバースキャンを行うようにする。走査開始角ｔｈ１、走査終了角ｔｈ２、偏向角速度ωは、次式で表される。
0003740848.tif 000003
β：撮像倍率（＝Ｄ／実効焦点距離ｆreal）
ｐｖ：画素ピッチ
ｎｐ：撮像面Ｓ２のＹ方向の有効画素数
Ｌ：基線長
ここで、計測可能距離範囲ｄは、センサ５３の読み出し動作における１フレームのライン数に依存する。ライン数を多くするほど計測可能距離範囲ｄは拡がるが、読み出し時間が長くなりデータ量が増えて処理の負担が大きくなる。このことを踏まえた上で本実施形態では１フレームのライン数が上述のとおり３２とされている。
【００３４】
物体Ｑが計測可能距離範囲ｄの内側に納まる大きさであれば、１回の走査で物体Ｑを計測することができる。しかし、物体Ｑの奥行き方向（Ｚ方向）の寸法が大きい場合など、物体Ｑの一部が計測可能距離範囲ｄからはみ出すと、その部分についての形状データが得られない。
【００３５】
そこで、３次元カメラ２は、計測動作の開始指示であるシャッタボタン２７のオンに呼応して、自動的に基準面Ｓｓの位置を変更して複数回（具体的には３回）の走査を連続的に行う。これにより、分解能を低下させることなく計測可能距離範囲ｄよりも広い範囲の形状データを得ることができる。
【００３６】
図８は基準面Ｓｓの位置変更の一例を示す図である。
１回目の走査では基準面Ｓｓを対物間距離Ｄの位置Ｚ０に設定し、２回目の走査では対物間距離Ｄ１（Ｄ１＜Ｄ）の位置Ｚ１に設定し、３回目の走査では対物間距離Ｄ２（Ｄ２＞Ｄ）の位置Ｚ２に設定する。つまり、２回目では基準面Ｓｓを手前側に移動させ、３回目では後ろ側に移動させる。ただし、基準面Ｓｓの位置と走査の順序は任意であって、後ろ側の走査を手前側の走査より先に行っても何ら支障はない。対物間距離Ｄ１，Ｄ２は、２回目及び３回目の走査における計測可能距離範囲ｄ２，ｄ３がそれぞれ１回目の走査における計測可能距離範囲ｄと部分的に重複するように設定される。計測可能距離範囲ｄ，ｄ２，ｄ３を重複させることにより、各回の走査で得られた形状データの合成が容易になる。計３回の走査において撮像倍率は固定であるので、基準面Ｓｓの位置が変わればスリット光Ｕを投射すべき角度範囲も変わる。したがって、走査毎に偏向条件が算定されることになる。
【００３７】
図９及び図１０は計測可能距離範囲を説明するための図である。
図９のように基準面Ｓｓを位置Ｚ０に設定した場合、撮像面Ｓ２における受光軸が通る画素のＹ方向のアドレスをｎｃとすると、アドレスｎｃの画素のサンプリングを開始する時点の走査角θ1 は、
θ１＝ｔｈ１−ω×（ｎｃ−１）  …（６）
となる。なお、Ｙ方向のアドレスは先頭アドレス（走査開始アドレス）を１として１，２，３…とインクリメントされる。
【００３８】
また、アドレスｎｃの画素のサンプリングを終了する時点の走査角θ２は、１画素当たりのサンプリング回数をｊ（本例では３２）として次式で求まる。
θ２＝θ１−ω×（ｊ−１）      …（７）
アドレスｎｃの画素についての計測可能距離範囲ｄ’は、走査角θ1 の投光軸とアドレスｎｃの画素の視線との交点Ｚ１から、走査角θ２の投光軸とアドレスｎｃの画素の視線との交点Ｚ２までの奥行き範囲となる。
【００３９】
同様に、アドレスｎｃ以外のアドレスｎｍについてもサンプリング開始時点及び終了時点の走査角θ１ｍ，θ２ｍを求めることができる。アドレスｎｍの画素についての計測可能距離範囲ｄｍは、図１０のように走査角θ１ｍの投光軸と画素の視線との交点Ｚ１ｍから、走査角θ２ｍの投光軸と画素の視線との交点Ｚ２ｍまでの奥行き範囲となる。
【００４０】
図１１及び図１２は偏向条件の設定の要領を説明するための図である。
２回目の走査については、上述の計測可能距離範囲ｄの手前側（図の左側）の限界位置Ｚ１を基準位置として、走査開始角ｔｈ１ａ及び走査終了角ｔｈ２ａを求める。
【００４１】
ｔａｎθ１＝Ｌ／（Ｄoff ＋Ｄ１）であるので、
Ｄ１＝（Ｌ／ｔａｎθ１）−Ｄoff   …（８）
となる。
【００４２】
（７）式から対物間距離Ｄ１を求め、上述の（３）式、（４）式を適用する。走査開始角ｔｈ１ａ及び走査終了角ｔｈ２ａは（９）、（１０）式で表される。
0003740848.tif 000004
このとき偏向角速度ωａは、
ωａ＝（ｔｈ１ａ−ｔｈ２ａ）／ｎｐ      …（１１）
となる。
【００４３】
同様に、３回目の走査については計測可能距離範囲ｄの後ろ側（図の右側）の限界位置Ｚ２を基準位置として、走査開始角ｔｈ１ｂ及び走査終了角ｔｈ２ｂを求める。走査開始角ｔｈ１ｂ及び走査終了角ｔｈ２ｂは（１２）式、（１３）式で表される。
0003740848.tif 000005
このとき偏向角速度ωｂは、
ωａ＝（ｔｈ１ｂ−ｔｈ２ｂ）／ｎｐ      …（１４）
となる。
【００４４】
このようにして求めた偏向条件（ｔｈ１，ｔｈ２，ω）、（ｔｈ１ａ，ｔｈ２ａ，ωａ）、（ｔｈ１ｂ，ｔｈ２ｂ，ωｂ）の計３回の走査を行うことにより、アドレスｎｃの画素については位置Ｚ１１から位置Ｚ２２までの範囲ｄ’が計測可能範囲となる（図８参照）。
【００４５】
なお、走査回数は２以上であればよく、４以上として計測可能距離範囲をさらに拡げてもよい。２回目及び３回目の走査の偏向条件に基づいて４回目以降の走査の偏向条件を求めれば、各回の計測可能距離範囲どうしを確実に重複させることができる。
【００４６】
各回の走査では、対物間距離Ｄ，Ｄ１，Ｄ２に応じてレンズ繰り出し量Ｅｄを調整するオートフォーカシングが行われる。システムコントローラ６１は、予め（１５）式に基づいて作成された変換テーブルを用いてレンズ繰り出し量Ｅｄを求め、レンズコントローラ５８に制御目標値として与える。
【００４７】
Ｅｄ＝Ｆ（Ｄ，ｆｐ）    …（１５）
Ｆ：関数
各回の走査において、バリエータ部５１４は操作者による設定状態に固定され、レンズ刻み値ｆｐ＝ｆｐ０である。第１の偏向条件（ｔｈ１，ｔｈ２，ω）により得られる対物間距離Ｄ１，Ｄ２を（１６）、（１７）式に適用して、システムコントローラ６１は２回目及び３回目の走査におけるレンズ繰り出し量Ｅｄ１，Ｅｄ２を算出する。
【００４８】
Ｅｄ１＝Ｆ（Ｄ１，ｆｐ０）    …（１６）
Ｅｄ２＝Ｆ（Ｄ２，ｆｐ０）    …（１７）
図１３は３次元カメラ２の動作の概略を示すフローチャートである。
【００４９】
シャッタボタン２７によって計測開始が指示されると、システムコントローラ６１は第１の走査の偏向条件を算出し、その算出結果に基づいて第２、第３の走査の偏向条件を算出する（＃５０〜５２）。
【００５０】
第１の走査の偏向条件を設定して走査を開始する（＃５３、＃５４）。スリット光Ｕの投射、及びセンサ５３による受光量のサンプリングが開始される。走査は偏向角度位置が走査終了角ｔｈ２に達するまで行われる。
【００５１】
第１の走査が終了すると、システムコントローラ６１は第２の走査の偏向条件を設定する（＃５５、＃５６）。また、この偏向条件でのレンズ繰り出し量Ｅｄ２を求め、レンズコントローラ５８を介してフォーカシング駆動系５９にフォーカシング部５１２の移動を指示する（＃５７）。
【００５２】
フォーカシング部５１２の移動が終了すると、第２の走査を開始する（＃５８、＃５９）。第２の走査が終了すると、システムコントローラ６１は第３の走査の偏向条件を設定し、フォーカシング部５１２の移動を指示する（＃６０〜＃６２）。フォーカシングが終了すると第３の走査を開始する（＃６３、＃６４）。
【００５３】
第３の走査が終了すると、３回分の計測結果を示す距離画像のモニタ表示を行い、操作者が指定した回の走査で得られた受光データに基づく重心ｉｐを出力するデータ処理制御を行う（＃６５、＃６６）。
【００５４】
図１４はモニタ表示内容の一例を示す図である。
図１４（ｂ）のように計測対象の物体が位置Ｚ１１と位置Ｚ２２とに跨がる場合、各回の走査では物体Ｑの一部が計測される。図１４（ａ）のように、液晶ディスプレイ２１には、各回の走査結果を示す３つの距離画像ｇ１，ｇ２，ｇ３が基準面の位置の順に左右に並べて表示される。すなわち、第１の走査に対応した距離画像ｇ１を真ん中にして、左側に第２の走査に対応した距離画像ｇ２が、右側に第３の走査に対応した距離画像ｇ３が表示される。
【００５５】
操作者はカーソルボタン２２及びセレクトボタン２３によってどの回の走査結果を出力するかを指定する。２以上の走査を指定してもよいし、いずれか１回の走査を指定してもよい。図１４の例では上向き矢印で示されるように、第１の走査及び第２の走査が指定されている。
【００５６】
指定された走査結果（所定数の画素のそれぞれについて算出された重心ｉｐ）は、重心演算回路７３から出力メモリ６４及びＳＣＳＩコントローラ６６を介してホスト３又は記録メディア４に出力される。これと同時に、偏向条件及びセンサ５３の仕様を含む装置情報も出力される。表１は３次元カメラ２がホスト３へ送る主なデータをまとめたものである。
【００５７】
【表１】
0003740848.tif 000006
【００５８】
以下、計測システム１におけるデータ処理を説明する。
図１５はセンサ５３の読出し範囲を示す図である。
センサ５３における１フレームの読出しは、撮像面Ｓ２の全体ではなく、高速化を図るために撮像面Ｓ２の一部である有効受光領域（帯状画像）Ａｅのみを対象に行われる。有効受光領域Ａｅは、ある照射タイミングにおける計測可能距離範囲に対応する撮像面Ｓ２上の領域であり、スリット光Ｕの偏向に伴ってフレーム毎に１画素分ずつシフトする。本実施形態では、有効受光領域Ａｅのシフト方向の画素数は３２に固定されている。なお、ＣＣＤエリアセンサの撮影像の一部のみを読み出す手法は、特開平７−１７４５３６号公報に開示されている。
【００５９】
図１６はセンサ５３の撮像面Ｓ２におけるラインとフレームとの関係を示す図、図１７は各フレームの受光データの記憶状態を示す図である。
図１６のように、撮像面Ｓ２の最初のフレームであるフレーム１には、ライン１からライン３２までの３２（ライン）×２００画素分の受光データが含まれる。１ラインを２００画素としている。フレーム２はライン２からライン３３まで、フレーム３はライン３からライン３４までというように、フレーム毎に１ライン分だけシフトされる。フレーム３２はライン３２からライン６３までである。
【００６０】
これらフレーム１からフレーム３２までの受光情報が順にＡ／Ｄ変換されてメモリ６３に記憶される（図３参照）。図１７のようにメモリ６３にはフレーム１、２、３〜の順に受光データが記憶され、各フレームに含まれるライン３２のデータは、フレーム１については３２ライン目、フレーム２については３１ライン目というようにフレーム毎に１ラインづつ上方にシフトされている。フレーム１からフレーム３２までの受光データがメモリ６３に記憶されることによりライン３２の各画素についてのサンプリングが終了する。サンプリングの終了した各画素の受光データは重心演算を行うためにメモリ６３から順次読み出される。重心演算の内容は上述のとおりである。
【００６１】
重心ｉｐは物体Ｑの表面の位置を特定する。物体Ｑの表面の位置が３次元カメラ２に近いほど重心ｉｐの値は大きく、遠いほど小さい。したがって、重心ｉｐを濃度データとして濃淡画像を表示することにより、距離分布を具現化することができる。
【００６２】
ホストにおいては、３次元位置演算処理が実行され、２００×２００個のサンプリング点（画素）の３次元位置（座標Ｘ，Ｙ，Ｚ）が算定される。サンプリング点はカメラ視線（サンプリング点と前側主点Ｈとを結ぶ直線）とスリット面（サンプリング点を照射するスリット光Ｕの光軸面）との交点である。
【００６３】
図１８はホストにおける３次元位置演算の処理手順を示すフローチャートである。
まず、３次元カメラ２から送られてきたｘｉの総和Σｘｉが所定値を上回っているかどうかを判定する（＃１１）。ｘｉが小さい場合、つまりスリット光成分の総和Σｘｉが所定の基準に満たない場合には誤差を多く含んでいるので、その画素については３次元位置の算出を実行しない。そして、その画素については「エラー」を示すデータを設定して記憶する（＃１７）。Σｘｉが所定値を上回っている場合には十分な精度が得られるので、３次元位置の算出を実行する。
【００６４】
３次元位置の算出に先立って、スリット光Ｕの通過タイミングｎｏｐを算出する（＃１２）。通過タイミングｎｏｐは、ｉ＝１〜３２について（Σｉ・ｘｉ）／（Σｘｉ）を計算して重心ｉｐ（時間重心Ｎｐｅａｋ）を求め、これにライン番号を加算することによって算出される。
【００６５】
すなわち、算出された重心ｉｐは、その画素の出力が得られている３２フレーム内のタイミングであるので、ライン番号を加えることによって走査開始からの通過タイミングｎｏｐに変換する。具体的には、ライン番号は、最初に算出されるライン３２の画素については「３２」、次のライン３３については「３３」となる。注目画素ｇのラインが１つ進む毎にライン番号は１つ増大する。しかし、これらの値は他の適当な値とすることが可能である。その理由は、３次元位置を算出する際に、係数である後述の（２０）式におけるＸ軸周りの回転角（ｔｈｅ１）及びＸ軸周りの角速度（ｔｈｅ４）などをキャリブレーションにより適切に設定することができるからである。
【００６６】
そして３次元位置算出を行う（＃１３）。算出された３次元位置は、その画素に対応するメモリ領域に記憶し（＃１４）、次の画素について同様の処理を行う（＃１６）。全ての画素についての処理が終わるとルーチンから抜ける（＃１５でイエス）。
【００６７】
次に、３次元位置の算出方法について説明する。
カメラ視線方程式は次の（１８）式及び（１９）式である。
（ｕ−ｕ０）＝（ｘｐ）＝（ｂ／ｐｕ）×〔Ｘ／（Ｚ−ＦＨ）〕  …（１８）
（ｖ−ｖ０）＝（ｙｐ）＝（ｂ／ｐｖ）×〔Ｙ／（Ｚ−ＦＨ）〕  …（１９）
ｂ：像距離
ＦＨ：前側主点位置
ｐｕ：撮像面における水平方向の画素ピッチ
ｐｖ：撮像面における垂直方向の画素ピッチ
ｕ：撮像面における水平方向の画素位置
ｕ０：撮像面における水平方向の中心画素位置
ｖ：撮像面における垂直方向の画素位置
ｖ０：撮像面における垂直方向の中心画素位置
スリット面方程式は（２０）式である。
【００６８】
【数２】
0003740848.tif 000007
【００６９】
幾何収差は画角に依存する。歪はほぼ中心画素を中心として対象に生じる。したがって、歪み量は中心画素からの距離の関数で表される。ここでは、距離の３次関数で近似する。２次の補正係数をｄ１、３次の補正係数をｄ２とする。補正後の画素位置ｕ’，ｖ’は（２１）式及び（２２）式で与えられる。
【００７０】
0003740848.tif 000008
上述の（１８）、（１９）式において、ｕに代えてｕ’を代入し、ｖに代えてｖ’を代入することにより、歪曲収差を考慮した３次元位置を求めることができる。なお、キャリブレーションについては、電子情報通信学会研究会資料ＰＲＵ91-113［カメラの位置決めのいらない画像の幾何学的補正］小野寺・金谷、電子情報通信学会論文誌Ｄ-II vol. J74-D-II No.9 pp.1227-1235,'91/9 ［光学系の３次元モデルに基づくレンジファインダの高精度キャリブレーション法］植芝・吉見・大島、などに詳しい開示がある。
【００７１】
以上の実施形態では、対物間距離Ｄをフォーカシング部及びスーミング部の位置を検出するパッシブ型測距により算定したが、所定の角度にスリット光Ｕを投射して入射角を検出する予備計測を行い、三角測量法を用いて対物間距離を算出するアクティブ型測距を行ってもよい。また、測距を行わずに予め設定された対物間距離、又は操作者が設定入力して対物間距離を基準に偏向条件を設定してもよい。
【００７２】
走査を１回のみ行うモードを設け、複数回の走査を行うモードとの切り換えを操作者が指定できるようにしてもよい。重心ｉｐから座標を求める演算を３次元カメラ２の内部で行うこともできる。その構成を採用した場合には、１回目の走査の結果を分析して２回目以降の走査を要否を自動判別し、必要なときのみ複数回の走査を行う機能を設けてもよい。また、各画素についてのデータΣｉ・ｘｉ，Σｘｉを計測結果として３次元カメラ２がホスト３へ送り、ホストが重心演算を行う構成を採用してもよい。
【００７３】
【発明の効果】
請求項１の発明によれば、物体の奥行き寸法が大きい場合でも、奥行き寸法が小さい場合と同程度の分解能の３次元データを物体全体について入力することができる。
【図面の簡単な説明】
【図１】本発明に係る計測システムの構成図である。
【図２】３次元カメラの外観を示す図である。
【図３】３次元カメラの機能構成を示すブロック図である。
【図４】受光のためのズームユニットの模式図である。
【図５】計測システムにおける３次元位置の算出の原理図である。
【図６】重心の概念を示す図である。
【図７】光学系の主要な点と物体との位置関係の模式図である。
【図８】基準面の位置変更の一例を示す図である。
【図９】計測可能距離範囲を説明するための図である。
【図１０】計測可能距離範囲を説明するための図である。
【図１１】偏向条件の設定の要領を説明するための図である。
【図１２】偏向条件の設定の要領を説明するための図である。
【図１３】３次元カメラ２の動作の概略を示すフローチャートである。
【図１４】モニタ表示内容の一例を示す図である。
【図１５】センサの読出し範囲を示す図である。
【図１６】センサの撮像面におけるラインとフレームとの関係を示す図である。
【図１７】各フレームの受光データの記憶状態を示す図である。
【図１８】ホストにおける３次元位置演算の処理手順を示すフローチャートである。
【符号の説明】
２  ３次元カメラ（３次元入力装置）
２７  シャッタボタン（動作開始の指示に係わる構成要素）
４０  光学系（投光手段）
５０  光学系（撮像手段）
６１  システムコントローラ
Ｑ  物体
Ｕ  スリット光（検出光）
【図１】
0003740848.tif 000009
【図２】
0003740848.tif 000010
【図３】
0003740848.tif 000011
【図４】
0003740848.tif 000012
【図５】
0003740848.tif 000013
【図６】
0003740848.tif 000014
【図７】
0003740848.tif 000015
【図８】
0003740848.tif 000016
【図９】
0003740848.tif 000017
【図１０】
0003740848.tif 000018
【図１１】
0003740848.tif 000019
【図１２】
0003740848.tif 000020
【図１３】
0003740848.tif 000021
【図１４】
0003740848.tif 000022
【図１５】
0003740848.tif 000023
【図１６】
0003740848.tif 000024
【図１７】
0003740848.tif 000025
【図１８】
0003740848.tif 000026