(57)【要約】【課題】設定された有効領域の立体形状を周囲との関係とともに簡単に表示できるようにして、３次元視覚センサの利便性を高める。【解決手段】ステレオカメラのうちの１つをワークＷの支持面を正面視する状態に設定して、このカメラにより生成された画像を表示し、計測処理を有効にする領域を矩形枠により範囲指定する。また高さ計測範囲の上限値および下限値を指定する操作を受け付ける。各指定が確定されると、矩形枠Ｒが設定された画像の各構成画素にｚ座標として０を設定し、矩形枠に対応する座標に、高さ計測範囲の上限値に基づくｚ座標と下限値に基づくｚ座標とを設定する。そして、これらの設定により生成された３次元情報を、ユーザにより設定された視線方向から透視変換し、生成された投影画像をモニタに表示する。【選択図】図５
2011112402.tif 000002
【特許請求の範囲】
【請求項１】
計測対象物およびその支持面を含む空間をステレオカメラにより撮像し、生成されたステレオ画像を用いて前記計測対象物の３次元計測を行う３次元視覚センサにおいて、計測処理を有効とする領域を表示する方法であって、
前記ステレオカメラのうちの１台を、計測対象物の支持面を正面視するように位置および姿勢を設定して、この正面視カメラにより生成された２次元画像をモニタに表示し、表示された画像上で前記計測処理の有効領域の前記支持面における範囲を指定する操作を受け付けると共に、計測対象とする高さ範囲を示す数値の入力を受け付ける第１ステップ、
前記正面視カメラにより生成された２次元画像を構成する各画素に、それぞれｚ座標として、前記第１ステップで受け付けた高さ範囲内の一数値に対応する一定の座標を設定すると共に、前記範囲指定操作により指定された有効領域を示す複数の座標にそれぞれ前記高さ範囲の上限値に基づくｚ座標および下限値に基づくｚ座標を設定することにより３次元情報を生成する第２ステップ、
前記３次元情報に対する視線の方向を指定する操作を受け付けて、この操作により指定された方向から前記３次元情報を透視変換することにより投影画像を生成する第３ステップ、
前記投影画像を前記モニタに表示する第４ステップ、
を実行することを特徴とする３次元視覚センサにおける計測有効領域の表示方法。
【請求項２】
前記第４ステップにおいて、前記投影画像を、前記有効領域の投影範囲が識別可能な状態の画像に編集して、編集後の画像を前記モニタに表示する、請求項１に記載された計測有効領域の表示方法。
【請求項３】
計測対象物およびその支持面を含む空間をステレオカメラにより撮像し、生成されたステレオ画像を用いて前記計測対象物の３次元計測を行う３次元視覚センサにおいて、
前記ステレオカメラのうちの１台を基準カメラとして、この基準カメラにより生成された２次元画像をモニタに表示して、表示された画像上で前記計測処理の有効領域の前記支持面における範囲を指定する操作を受け付けると共に、計測対象とする高さ範囲を示す数値の入力を受け付ける範囲指定受付手段と、
前記基準カメラにより生成された２次元画像を構成する各画素に、それぞれｚ座標として、前記範囲指定受付手段が受け付けた高さ範囲内の一数値に対応する一定の座標を設定すると共に、前記範囲指定操作により指定された有効領域を示す複数の座標にそれぞれ前記高さ範囲の上限値に基づくｚ座標および下限値に基づくｚ座標を設定することにより３次元情報を生成する３次元情報生成手段と、
前記３次元情報に対する視線の方向を指定する操作を受け付けて、この操作により指定された方向から前記３次元情報を透視変換することにより投影画像を生成する透視変換手段と、
前記投影画像を前記モニタに表示する投影画像表示手段とを、
具備する３次元視覚センサ。
【請求項４】
請求項３に記載された３次元視覚センサにおいて、
前記計測対象物の３次元モデルが登録される登録手段と、前記ステレオ画像から復元された３次元情報を前記３次元モデルと照合することにより、前記計測対象物の位置および姿勢を認識する認識手段と、前記認識手段により認識された位置および姿勢に設定された３次元モデルを前記基準カメラの座標系に透視変換するモデル投影手段とを、さらに具備し、
前記３次元情報生成手段は、前記モデル投影手段により生成された３次元モデルの投影画像の各点にそれぞれ３次元モデル中の対応点に設定されている高さに基づくｚ座標を設定し、設定後の各点を透視変換処理の対象の３次元情報に包含し、
前記投影画像表示手段は、前記透視変換手段により生成された投影画像を、画像中の前記３次元モデルを前記有効領域とともに識別可能な状態に編集して、編集後の画像を前記モニタに表示する、３次元視覚センサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオカメラにより計測対象物（以下、「ワーク」という場合もある。）およびその支持面を撮像し、生成されたステレオ画像を用いて、計測対象物の３次元計測を行う３次元センサにおいて、計測処理を有効とする領域の設定状態を表示する技術に関する。
【背景技術】
【０００２】
３次元視覚センサは、ステレオ計測により対象物の３次元情報を復元する機能や、復元された３次元情報をあらかじめ登録された３次元モデルと照合して対象物の位置や姿勢を認識する機能を具備するもので、ピッキングロボットの把持対象の部品を認識したり、部品または完成した製品の形状を検査する目的などに利用される。
【０００３】
出願人は、目的に応じて計測条件を容易に変更することができ、設定された内容や処理結果をわかりやすい画面により確認できるようにした汎用の３次元視覚センサを開発している。この確認用の表示に関する先行技術文献として、たとえば特許文献１，２がある。
【０００４】
特許文献１には、ステレオカメラのキャリブレーションを実行した後に、ユーザに計測したい高さ範囲を指定させ、指定された高さ範囲にあり、全てのカメラの視野に含まれる点が投影される範囲をカメラ毎に求め、これらの範囲を表す画像を表示することが記載されている。この表示によれば、ユーザは、自分が指定した高さ範囲を計測できる状態にステレオカメラが設定されているかどうかを、容易に確認することが可能になる。
【０００５】
特許文献２には、ワークの支持面を正面視するように設定されたカメラを含む複数のカメラを用いて、処理対象部位のｚ座標を計測した後に、正面視画像中の処理対象部位に対応する画素に計測されたｚ座標を設定し、その他の画素にｚ座標として０を設定し、これらの設定により生じた３次元の画素分布を透視変換して、生成された投影画像を表示することが、記載されている。この表示によれば、計測が可能な範囲の一部分が処理対象部位に設定される場合でも、その計測結果を処理対象部位の周囲の画像と関係づけて表示することができるので、ユーザは、計測結果を容易に把握することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−３４９５８６号公報
【特許文献２】特開２００９−５３１４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
３次元視覚センサが導入される現場では、ステレオ計測が可能な範囲の中から、さらに計測結果を有効にする領域を設定する場合がある。たとえば、ピッキングロボットの制御に３次元視覚センサを利用する場合には、ロボットのアームを延ばすのが困難な場所や、アームを延ばすと破損が生じるおそれのある場所が除外されるように有効領域を設定する。また、検査の目的で３次元視覚センサを利用する場合であれば、検査対象部位が位置する可能性のない場所が計測対象から除外されるように有効領域を設定する。このように有効領域が設定された場合には、有効領域外の部位に対する認識結果は出力されない状態となる。
【０００８】
有効領域を設定するには、一般に、計測が可能な領域を撮像して、生成された画像を表示し、その表示画面上で有効領域とすべき範囲を指定する操作を受け付ける。この指定により、対象物の支持面上での有効領域の範囲が定められると、キャリブレーションにより求められた計測用のパラメータに基づいて有効領域の３次元情報が導出され、３次元視覚センサのメモリに登録される。
さらに、高さ方向の計測範囲の指定を受け付けることによって、有効領域の高さ方向の範囲が定められる場合もある。
【０００９】
しかしながら、カメラの撮像面に投影される画像の大きさは、撮像対象物がカメラの視点から遠ざかるほど小さくなるので、設定された有効領域がどの程度の広がりを持つかや、その広がり範囲が適切であるかを、ユーザが把握するのは困難である。計測対象の空間とともに有効領域を立体的に表示することができれば、この問題は解決すると思われるが、そのような表示をするには、計測対象の空間に含まれる全ての構成物の３次元情報を計測しなければならず、実質的に不可能である。
【００１０】
本発明は上記の問題に着目し、設定された有効領域の立体形状を周囲との関係とともに簡単に表示できるようにして、利便性を高めることを課題とする。
【課題を解決するための手段】
【００１１】
本発明による方法は、３次元視覚センサにおいて、計測処理を有効とする領域の設定状態を表示するもので、以下の第１〜第４のステップを実行することを特徴とする。
【００１２】
第１ステップでは、ステレオカメラのうちの１台を、計測対象物の支持面を正面視するように位置および姿勢を設定して、この正面視カメラにより生成された２次元画像をモニタに表示し、表示された画像上で計測処理の有効領域の支持面における範囲を指定する操作を受け付けると共に、計測対象とする高さ範囲を示す数値の入力を受け付ける。
【００１３】
第２ステップでは、正面視カメラにより生成された２次元画像を構成する各画素に、それぞれｚ座標として、第１ステップで受け付けた高さ範囲内の一数値に対応する一定の座標を設定すると共に、範囲指定操作により指定された有効領域を示す複数の座標にそれぞれ上記の高さ範囲の上限値に基づくｚ座標および下限値に基づくｚ座標を設定することにより３次元情報を生成する。
【００１４】
第３ステップでは、上記の３次元情報に対する視線の方向を指定する操作を受け付けて、この操作により指定された方向から３次元情報を透視変換することにより投影画像を生成し、第４ステップでは、この投影画像をモニタに表示する。
【００１５】
上記方法の第２ステップでは、たとえば、正面視カメラにより生成された２次元画像の各構成画素に、計測対象物の支持面の高さを表すｚ座標を設定することができる。また有効領域を示す座標には、ｚ座標として、ユーザが入力した高さ範囲の上限値および下限値をカメラ座標系の倍率により除算した値を設定することができる。これらの設定により、正面視カメラのカメラ座標系に、元の画像に対応する平面を表す３次元情報と、有効領域の面積および高さを示す３次元情報とが、当初の画像における位置関係を維持した状態で配置されることになる。
【００１６】
上記の処理により生成された３次元情報を正面視カメラとは異なる視線方向から透視変換すると、元の２次元画像に対応する３次元情報が示す平面の上に有効領域が立体的に現れた投影画像が生成される。よって、２次元画像に対して指定された範囲を維持しながら、実際の有効領域の立体形状を、有効領域が設定された範囲や周囲との関係とともに表示することができる。よって、ユーザは、設定された有効領域の範囲を容易に把握することができる。
【００１７】
上記の方法の好ましい一実施態様では、第４ステップにおいて、投影画像を、有効領域の投影範囲が識別可能な状態の画像に編集して、編集後の画像をモニタに表示する。このようにすれば、ユーザは、有効領域の投影範囲をより容易に認識することが可能になる。
【００１８】
上記の方法が適用された３次元視覚センサは、計測対象物およびその支持面を含む空間をステレオカメラにより撮像し、生成されたステレオ画像を用いて計測対象物の３次元計測を行うもので、ステレオカメラのうちの１台を基準カメラとして、この基準カメラにより生成された２次元画像をモニタに表示して、表示された画像上で計測処理の有効領域の前記支持面における範囲を指定する操作を受け付けると共に、計測対象とする高さ範囲を示す数値の入力を受け付ける範囲指定受付手段；基準カメラにより生成された２次元画像を構成する各画素に、それぞれｚ座標として、範囲指定受付手段が受け付けた高さ範囲内の一数値に対応する一定の座標を設定すると共に、範囲指定操作により指定された有効領域を示す複数の座標にそれぞれ高さ範囲の上限値に基づくｚ座標および下限値に基づくｚ座標を設定することにより３次元情報を生成する３次元情報生成手段；この３次元情報に対する視線の方向を指定する操作を受け付けて、この操作により指定された方向から３次元情報を透視変換することにより投影画像を生成する透視変換手段；生成された投影画像をモニタに表示する投影画像表示手段；の各手段を具備する。
【００１９】
上記の３次元視覚センサによれば、計測対象物の支持面を正面視する方向に基準カメラの光軸を調整することにより、設定された有効領域の立体形状を、その設定範囲や周囲との関係とともに表した投影画像を生成して、表示することが可能になる。
【００２０】
つぎに、カメラにより生成された画像上で範囲指定を行う方法により有効領域を設定し、その後に、実際の計測対象物を撮像した画像により有効領域と計測対象物との関係を見ると、高さのある計測対象物の上部が底部よりも大きく写り込むために、有効領域との関係が不明確になる場合がある。たとえば、実際の対象物は有効領域に入っているのに、上部の画像が大きくなって有効領域からはみ出た状態になったり、実際の対象物は有効領域の外に位置するのに、上部の画像が大きいために、画像上では有効領域に含まれているように見える場合がある。このような画像を用いて有効領域を設定すると、適切な範囲に有効領域を設定するのが困難になる。また有効領域の設定後にも、認識結果の出力が画像の見え方に整合していない場合が生じて、ユーザが不審感を持つおそれがある。
【００２１】
本発明の好ましい態様による３次元視覚センサは、上記の問題に着目し、計測対象物の３次元モデルが登録される登録手段と、ステレオ画像から復元された３次元情報を上記の３次元モデルと照合することにより、計測対象物の位置および姿勢を認識する認識手段と、認識手段により認識された位置および姿勢に設定された３次元モデルを基準カメラの座標系に透視変換するモデル投影手段とを、さらに具備する。また、３次元情報生成手段は、モデル投影手段により生成された３次元モデルの投影画像の各点にそれぞれ３次元モデル中の対応点に設定されている高さに基づくｚ座標を設定し、設定後の各点を透視変換処理の３次元情報に包含する。また、投影画像表示手段は、透視変換手段により生成された投影画像を、画像中の３次元モデルを有効範囲とともに識別可能な状態に編集して、編集後の画像をモニタに表示する。
【００２２】
上記の態様によれば、計測対象物の位置および姿勢を表す状態に変換された３次元モデルを基準カメラの座標系に透視変換することにより、２次元画像中の計測対象物に適合する投影画像が生成される。さらに、この３次元モデルの投影画像の各点にそれぞれ元の３次元モデルに設定されている高さに基づくｚ座標を設定して透視変換処理を行うことにより、計測対象物の位置および姿勢を立体的に表現した投影画像が生成される。よって、ユーザは、投影画像中で識別表示された３次元モデルと有効領域との関係に基づき、計測対象物が有効領域の内側にあるか否かを容易に認識することができる。
【発明の効果】
【００２３】
本発明によれば、ユーザが画像上で指定した有効領域に、同じくユーザにより指定された高さ範囲を適用し、この高さ情報を持つ有効領域を、指定に用いられた画像との関係を維持しながら立体的に表した投影画像を表示するので、ユーザは有効領域の大きさや設定範囲を視覚により容易に確認することができる。よって、有効領域の適否の判断が容易になり、３次元視覚センサの利便性が高められる。
【図面の簡単な説明】
【００２４】
【図１】３次元視覚センサが導入されたピッキングシステムの構成を示す図である。
【図２】３次元視覚センサの電気構成を示すブロック図である。
【図３】有効領域を設定するための作業画面の構成例を示す図である。
【図４】有効領域の設定確認用の画面の構成例を示す図である。
【図５】有効領域の設定確認用の画面において、視線方向を変更する操作に応じて投影画像の表示が変化した例を示す図である。
【図６】有効領域の設定処理に関する手順を示すフローチャートである。
【図７】有効領域の設定確認のための投影画像として、３次元モデルの立体視画像を含む投影画像を表示した例を示す図である。
【図８】３次元モデルの変換処理に関する手順を示すフローチャートである。
【発明を実施するための形態】
【００２５】
図１は、３次元視覚センサが導入されたピッキングシステムの例を示す。
このピッキングシステムは、工場内で収容ボックス６に収容されたワークＷを１つずつ取り出して所定の位置に搬送する作業を行うためのもので、ワークＷを認識するための３次元視覚センサ１００のほか、実際の作業を行う多関節ロボット４や、このロボット４の動作を制御するロボット制御装置３などが含まれる。
【００２６】
３次元視覚センサ１００は、ステレオカメラ１と認識処理装置２とにより構成される。
ステレオカメラ１は、３台のカメラＣ０，Ｃ１，Ｃ２により構成される。これらのうち中央のカメラＣ０は、光軸を鉛直方向に向けた状態（すなわち正面視を行う状態）にして配備され、左右のカメラＣ１，Ｃ２は、光軸を斜めにして配備される。
【００２７】
認識処理装置２は、専用のプログラムが格納されたパーソナルコンピュータである。この認識処理装置２では、各カメラＣ０，Ｃ１，Ｃ２が生成した画像を取り込んで、ワークＷの輪郭線を対象とする３次元計測を実行した後に、この計測により復元された３次元情報をあらかじめ登録された３次元モデルと照合することにより、ワークＷの位置および姿勢を認識する。そして、認識したワークＷの位置を表す３次元座標、および３次元モデルに対するワークＷの回転角度（Ｘ，Ｙ，Ｚの各軸毎に表される。）をロボット制御装置３に出力する。ロボット制御装置３は、この情報に基づき、ロボット４のアーム４０の動作を制御して、ワークＷを把持させる。
【００２８】
図２は、上記の３次元視覚センサ１００の構成をブロック図により表したものである。
この図によれば、認識処理装置２には、各カメラＣ０，Ｃ１，Ｃ２に対応する画像入力部２０，２１，２２、カメラ駆動部２３、ＣＰＵ２４、メモリ２５、入力部２６、表示部２７、通信インターフェース２８などが含まれる。
【００２９】
カメラ駆動部２３は、ＣＰＵ２４からの指令に応じて、各カメラＣ０，Ｃ１，Ｃ２を同時に駆動する。各カメラＣ０，Ｃ１，Ｃ２により生成された画像は、それぞれ画像入力部２０，２１，２２を介してメモリ２５に入力され、ＣＰＵ２４により上記した認識処理が実行される。
【００３０】
表示部２７は、図１に示すモニタ装置である。また入力部２６には、図１中のキーボード２６Ａおよびマウス２６Ｂが含まれる。これらは、キャリブレーション処理や後記する有効領域の設定処理の際に、設定のための情報を入力したり、作業を支援するための情報を表示する目的に使用される。
通信インターフェース２８は、ロボット制御装置３との通信に用いられる。
【００３１】
メモリ２５は、ＲＯＭ，ＲＡＭ，およびハードディスクなどの大容量メモリを含むもので、キャリブレーション処理、３次元モデルの作成、各種条件の教示、およびワークＷの３次元認識処理のためのプログラムや設定データが格納されている。また、キャリブレーション処理で算出された３次元計測用のパラメータ、３次元モデルおよび教示データも、メモリ２５内の専用のエリアに登録される。
【００３２】
この実施例では、あらかじめ、所定のキャリブレーションパターンが描かれたキャリブレーションプレート（図示せず。）を用いて、ステレオ計測のための３次元座標系（以下「計測座標系」という。）を設定する。ＣＰＵ２４は、メモリ２５内のプログラムに基づき、各カメラＣ０，Ｃ１，Ｃ２毎に、そのカメラ座標系の座標と計測座標系の座標との関係を表すパラメータ（具体的には、後記する（２）式の透視変換行列の各要素Ｐ００，Ｐ０１，・・・Ｐ２３）を算出し、これらをメモリ２５に登録する。
【００３３】
また、ＣＰＵ２４は、ＣＡＤデータを用いてワークＷの３次元モデルを作成し、これをメモリ２５に登録する。この実施例の３次元モデルは、ワークＷの輪郭を表す複数の点を、ワークＷ内の一点を原点とする３次元座標系の座標により表したものである。上記のキャリブレーション処理と３次元モデルの登録処理を実行することによって、ワークＷに対する３次元計測および認識処理が可能な状態になる。
【００３４】
また、この実施例では、３次元計測の計測対象とする範囲を、ユーザに指定させ、この指定により特定された３次元空間を有効領域として設定するようにしている。この設定がされた後も、ステレオ計測は計測が可能な範囲全体に対して実施され、３次元モデルを用いた照合処理も全ての計測結果を対象に行われるが、認識結果としてロボット制御装置３に出力される情報は、有効領域内に含まれるものに限定される。
【００３５】
図３は、上記の有効領域を設定するための作業画面の構成を示す。なお、この図３および以下の図４，５，７では、煩雑さを避けるために、ワークＷや収容ボックス６の画像に図１と同様の符号を付けて示す。
【００３６】
この作業画面では、右側に画像表示領域２００が設定される。この領域２００には、カメラＣ０から入力された画像（以下、「正面視画像」という。）が表示されると共に、有効領域の範囲を表す矩形枠Ｒが所定の色彩（図では点線に置き換えて示す。）により画像に重ね表示されている。
【００３７】
画像表示領域２００の左側には、上部位置に、計測対象とする高さ範囲（以下、「高さ計測範囲」という。）を示す数値を入力するための入力ボックス２０１，２０２が設けられ、その下方に、矩形枠Ｒの左上の頂点および右下の頂点のｘ，ｙ座標を示す数値表示ボックス２０３〜２０６（ボックス２０３，２０５にｘ座標が表示され、ボックス２０４，２０６にｙ座標が表示される。）が設けられる。また、各頂点の座標表示の右側には、それぞれ４つの矢印ボタン（符号省略）を配置した操作部２０７ａ，２０７ｂが設けられ、その下方に、設定された値を確定するためのＯＫボタン２０８や、設定された値を破棄するためのキャンセルボタン２０９が設けられる。
【００３８】
上記の作業画面が立ち上げられた時点では、矩形枠Ｒの位置や大きさはデフォルトの値に設定され、各数値表示ボックス２０３〜２０６にもデフォルトの座標が表示される。各操作部２０７ａ，２０７ｂの矢印ボタンは、それぞれ対応する頂点を矢印の方向に移動させるためのもので、いずれかの矢印ボタンがクリックされると、そのボタンに対応するｘ座標またはｙ座標の表示が変更される。また、画像表示領域２００でも、変更前の座標が設定されている２つの頂点が移動して、矩形枠Ｒの大きさが変化する。
このほか、画像表示領域２００内でのドラッグ・ドロップ操作によって、矩形枠Ｒの位置や大きさを変更することも可能である。
【００３９】
この実施例のピッキングシステムでは、ロボット４に収容ボックス６からワークＷを取り出す作業を行わせるが、収容ボックス６の端部に近い場所にあるワークＷをロボット４に把持させようとすると、アーム４０の先端部が収容ボックス４の端縁に当たって、先端部が破損するおそれがある。したがって、このような破損が生じるおそれのない範囲が有効領域となるように、矩形枠Ｒを定める必要がある。
【００４０】
図３に示す設定作業の例では、上記の事情を考慮して、３つのワークＷのうちの１つを収容ボックス６の中央部に配置し、残りの２つを収容ボックス６の縁部に近い場所に配置した状態にして、カメラＣ０に撮像を行わせる。これにより、図３の画像表示領域２００内に表示されているような正面視画像が生成される。ユーザは、この画像中の各ワークＷの画像を参考にして、縁部付近のワークＷが含まれない範囲に矩形枠Ｒの位置や大きさを調整する。
【００４１】
一方、高さ計測範囲に関しては、ユーザは、計測すべき高さの範囲を想定し、その範囲の下限値を入力ボックス２０１に、上限値を入力ボックス２０２に、それぞれ手入力する。
【００４２】
上記のようにして、有効領域の範囲を示す矩形枠Ｒが指定され、高さ計測範囲が上限値および下限値により指定された後に、ユーザがＯＫボタン２０８を操作すると、高さ計測範囲の上限値および下限値や矩形枠Ｒの各構成点の座標が確定される。これら確定された値や正面視画像を用いた処理により、表示される画面は図４に示すものに変化する。
【００４３】
この画面では、画像表示領域２００内の画像の表示は、大きくは変化していないが、矩形枠Ｒの内部が所定の色彩で着色される（図では、着色部分を網点パターンにより示す。）。画像表示領域２００の左側の構成は一新されて、後記する透視変換処理のためのパラメータを設定するための設定領域２１０が設けられる。さらに、この設定領域２１０の下方には、認識モードへの移行を指示するためのボタン２１３や、図３の設定画面に戻ることを指示するボタン２１４が設けられている。
【００４４】
設定領域２１０には、４種類の数値情報ｄｘ，ｄｙ，θ，φについて、それぞれ数値設定用のスライダ２１１と数値表示ボックス２１２とが設けられる。ユーザは、スライダ２１１の移動操作、または数値表示ボックス２１２に直接数値を入力することによって、各数値を設定する。
【００４５】
この画面の画像表示領域２００に表示されている画像は、カメラＣ０のカメラ座標系を利用して生成された３次元情報を透視変換することにより生成された投影画像である。設定領域２１０内の各数値は、この透視変換処理の演算用のパラメータとして機能する。
【００４６】
方位角θは、カメラ座標系に対する視点の方位を、ｚ軸まわりの回転角度により示す。
仰角φは、カメラ座標系のｘｙ平面（カメラＣ０の撮像面に対応する。）に対して視線方向がなす角度に相当する。たとえば、撮像面を直交する方向が視線の方向に設定されている場合には仰角φが９０°となり、撮像面に水平な方向が視線の方向に設定されている場合には、仰角φは０°となる。
【００４７】
視点の横方向の移動量ｄｘは、表示画面の横方向における投影画像の配置位置を設定するためのものであり、縦方向の移動量ｄｙは、表示画面の縦方向における投影画像の配置位置を設定するためのものである。
【００４８】
この実施例では、高さ計測範囲や有効領域の設定に応じて、まず方位角θを０°、仰角φを９０°とした透視変換を実行することにより、ｘｙ平面に直交する方向から３次元情報を観察した状態を示す投影画像を生成して、表示する。図４に示すように、この投影画像は、有効領域の範囲指定に用いた正面視画像（図３の画面に表示された画像）と見かけ上は変わらないものとなる。
【００４９】
図４に示した画面の表示に対し、ユーザは、移動量ｄｘ，ｄｙ，方位角θ，仰角φの各パラメータを、それぞれに設定されているスライダ２１１を用いて自由に変更することができる。ＣＰＵ２４は、パラメータが変更される都度、その変更後のパラメータによる透視変換演算を実行し、その演算結果に基づき、画像表示領域２００における投影画像の表示を変化させる。
【００５０】
図５は、方位角θおよび仰角φを変更して、ｘｙ平面に対して斜めになる方向が視線の方向に設定された場合の画面を示す。この画面では、変更後の方位角θおよび仰角φに基づく透視変換処理により、収容ボックス６やワークＷを含む正面視画像が回転した状態の投影画像が表示される。また、矩形枠Ｒは、有効領域の立体形状を示す輪郭線Ｒ１に変化し、この輪郭線Ｒ１により示される有効領域全体が所定の色彩により着色表示される。
【００５１】
以下、上記の投影画像を表示するためにＣＰＵ２４により実行される処理について、詳細に説明する。
この実施例では、図３に示した作業画面において、有効領域の範囲を示す矩形枠Ｒの設定および高さ計測範囲の指定を受け付けると、矩形枠Ｒを構成する各点に、それぞれ高さ計測範囲の上限値に基づくｚ座標と下限値に基づくｚ座標とを設定することにより、構成点毎に２つの３次元座標を設定する。一方、画像表示領域２００に表示されている正面視画像（カメラＣ０により生成された画像）の各画素には、ｚ座標として値０を設定する。
【００５２】
これらの設定により、カメラＣ０のカメラ座標系には、元の２次元画像の各画素と、有効領域の上面および底面の輪郭線の構成点とを分布させた３次元情報が生成される。この３次元情報が前出の透視変換演算の対象となる。
【００５３】
ここで、上記の３次元情報中の各座標を（ｘｉ，ｙｉ，ｚｉ）とし、カメラＣ０のカメラ座標系の原点に対応する表示画面上の座標を（ｘ０，ｙ０）とし、座標（ｘｉ，ｙｉ，ｚｉ）の透視変換先の座標を（ｘｉ´，ｙｉ´）とすると、透視変換の演算式は、下記（１）式のようになる。
【００５４】
【数１】
2011112402.tif 000003
【００５５】
正面視画像の各構成画素には、それぞれ元の画像におけるｘ座標およびｙ座標がｘｉ，ｙｉとして設定され、ｚｉとして値０が設定される。なお、この実施例では、ワークＷを支持する面のｚ座標を０としている。
有効領域を表す矩形枠Ｒの各構成点に対しても、正面視画像に対する矩形枠Ｒの設定が確定されたときの各構成点のｘ座標およびｙ座標がｘｉ，ｙｉに設定される。一方、ｚｉについては、高さ計測範囲の上限値Ｚ１および下限値Ｚ２を、それぞれカメラ座標系の倍率Ｋ（一画素あたりの実寸法。単位はｍｍ）で除算した値Ｚ１／Ｋ，Ｚ２／Ｋが設定される。
【００５６】
この実施例では、キャリブレーション処理により設定された計測座標系とカメラＣ０のカメラ座標系との関係に基づき、この３次元座標系のＸ軸方向に対応する方向における１画素あたりの寸法Ｋｘと、Ｙ軸方向に対応する方向における１画素あたりの寸法Ｋｙとを求め、ＫｘとＫｙとの平均値をＫとする。この倍率Ｋによりｍｍ単位の高さＺ１，Ｚ２を除算することにより、ｘ座標やｙ座標とほぼ同じ尺度でｚ座標を表現することができる。
【００５７】
上記の透視変換によれば、正面視画像を構成する画素については、元の画素配列を維持した平面を表す３次元情報が生成されて、透視変換されるので、図５に示すように、投影画像中の正面視画像に対応する部分で高さの違いが表されることはなく、正面視画像が回転した状態が表現されるのみとなる。一方、矩形枠Ｒが示す有効領域については、上記のとおり、Ｚ１／ＫおよびＺ２／Ｋをそれぞれｚｉとしてあてはめて透視変換処理を行うことにより、有効領域の上面および底面の輪郭線が、それぞれの高さに応じた位置に投影される。
【００５８】
この実施例では、上記の透視変換処理により生成された投影画像を、有効領域の投影範囲が明示されるように編集して表示する。たとえば、有効領域の上面および底面の輪郭線の投影画像に膨張処理を施すと共に、各面の対向関係にある頂点を結んで高さ方向の輪郭線を設定し、各輪郭線に視認しやすい表示色を設定する。また、これらの輪郭線により囲まれる範囲を着色する。
ただし、有効領域の投影範囲の表示態様はこれに限らず、たとえば、領域内に着色を施さずに有効領域の輪郭線のみを表示してもよい。または、有効領域の上面および底面のみを対象に輪郭線の表示を行うことにより、透視変換処理の結果を忠実に表現するようにしてもよい。
【００５９】
このような編集によって、図５に示すように、有効領域の立体形状が明示される。また、この有効領域の底面は、当初の画像に対して設定された矩形枠Ｒに対応する位置に配置されているので、元の画像部分に対する相対関係が維持されている。したがって、有効領域について、２次元画像により模式されたワークＷの支持面（収容ボックス６の内底面）における設定範囲と、立体形状とを表現することができる。よって、ユーザは、自分の指定により設定された有効領域が広がる範囲や有効領域が設定されている範囲を容易に判別することができる。
【００６０】
図６は、有効領域の設定に関する一連の手順を示す。以下、このフローチャートを参照して、ＣＰＵ２４により実行される処理の流れを整理する。
【００６１】
まずＣＰＵ２４は、表示部２７に、カメラＣ０により生成された正面視画像を含む作業画面を立ち上げて（ＳＴ１）、高さ計測範囲を示す数値の入力や、矩形枠Ｒを指定する操作を受け付ける。これらの入力や指定が行われてＯＫボタン２０８が操作されると（ＳＴ２が「ＹＥＳ」）、ＣＰＵ２４は、高さ計測範囲の上限値をＺ１に、下限値をＺ２にそれぞれ設定し（ＳＴ３）、矩形枠Ｒの各構成点にそれぞれＺ１／ＫおよびＺ２／Ｋをｚ座標として設定する（ＳＴ４）。ＳＴ３，４の処理により、矩形枠Ｒから有効領域の上面および底面の輪郭線を表す３次元情報が生成される。
【００６２】
つぎに、ＣＰＵ２４は、正面視画像を構成する各画素にｚ座標として０を設定する（ＳＴ５）。これにより、２次元の正面視画像は、平面を表す３次元情報に変換される。
なお、この実施例で正面視画像の各構成画素に設定するｚ座標を０としているのは、ワークＷの支持面の高さを０としているためである。正面視画像の構成画素に対しても、支持面の高さが０でない場合などに、高さ計測範囲内の任意の高さを設定することができるが、その場合には、設定する高さを倍率Ｋで除算した値をｚ座標とする。
【００６３】
上記のように、ＳＴ３〜５の各ステップを実行することによって、カメラＣ０のカメラ座標系に基づく３次元情報が生成される。ＣＰＵは、θ＝０，φ＝９０，ｄｘ＝ｄｙ＝０として、演算式（１）を実行することにより、３次元情報を透視変換する（ＳＴ６）。そして、この透視変換により生成された投影画像を有効領域が識別可能に明示されるように編集し、編集後の投影画像を含む画面（図４に示した画面）により表示部２７の表示を切り替える（ＳＴ７）。
【００６４】
この後に、設定領域２１０での演算用パラメータを変更する操作が行われると（ＳＴ８が「ＹＥＳ」）、ＣＰＵ２４は変更後のパラメータによる透視変換演算を実行し（ＳＴ９）、その処理により生成された投影画像を用いて画像表示領域２００内の画像表示を変更する（ＳＴ１０）。
【００６５】
ユーザがこの画像表示により有効領域の設定が適切であると判断して、設定終了ボタン２１３を操作すると（ＳＴ１１が「ＹＥＳ」）、ＣＰＵ２４は、有効領域を示す３次元情報をステレオ計測用の座標系の座標による情報に変換して、変換後の３次元情報をメモリ２５に登録し（ＳＴ１２）、処理を終了する。
【００６６】
一方、ユーザが有効領域の設定が適切でないと判断して、設定画面に戻るボタン２１４を操作した場合（ＳＴ１３が「ＹＥＳ」）には、ＣＰＵ２４は、３次元情報を消去し（ＳＴ１４）、有効領域の設定用の作業画面（図３）に表示を戻す（ＳＴ１）。この後は、矩形枠Ｒや高さ計測範囲の再指定が確定するまで待機し、再指定の確定に応じてＳＴ３以下の手順を再実行する。
【００６７】
上記のとおり、ユーザがワークＷの画像を含む正面視画像を参照して指定した範囲に、同じくユーザにより指定された高さ計測範囲を適用することにより、３次元の有効領域が設定される。また最終的に有効領域を確定する前に、当該有効領域とワークＷとの関係を示す画像を表示して、ユーザに確認させることにより、有効領域を適切に設定することが可能になる。
【００６８】
なお、上記の実施例では、高さ計測範囲の下限値を０としたが、これに限らず、下限値にマイナスの数値を設定することも可能である。たとえば、凹部を有するワークを検査する場合には、凹部の深さに応じたマイナスの高さを下限値に設定することができる。
【００６９】
つぎに、図７は、有効領域の設定確認用の画面の別の例を示す。
この実施例でも、先の実施例と同様に、正面視画像が表示された作業画面で矩形枠Ｒの指定や高さ計測範囲の入力を受け付けた後に、これらの指定を反映した３次元情報を生成して透視変換処理を実行し、生成された投影画像を表示する。
【００７０】
図７によれば、この実施例では、有効領域の設定後に、これらのワークＷを対象にしたステレオ計測や、３次元モデルを用いた認識処理を実行し、各ワークＷに対し、それぞれそのワークＷに対する認識結果を表す３次元モデルの投影画像Ｍを対応づける。各３次元モデルの投影画像（以下、「モデル投影像Ｍ」という。）は、有効領域と同様に、設定された視点や視線方向から見た立体形状を表す状態になっているので、ワークＷと有効領域との関係を把握するのがより簡単になる。
【００７１】
この実施例では、正面視画像や矩形枠Ｒに対し、先の実施例と同様の方法でｚ座標を設定して、透視変換用の３次元情報を生成する。また、登録された３次元モデルを認識された各ワークＷに位置や姿勢を合わせた状態に座標変換したものを、カメラＣ０のカメラ座標系のサイズに変換して、変換後の３次元情報を透視変換用の３次元情報に含める。この３次元情報を透視変換して、有効領域の投影範囲やモデル投影像Ｍを編集して画像表示領域２００に表示することにより、図７に示すような表示が実現する。
【００７２】
図８は、メモリ２５に登録されている３次元モデルから上記の透視変換用の３次元情報を生成する処理の手順を示す。以下、この図８の各ステップで実行される処理について、詳細に説明する。
【００７３】
＜ステップＡ＞
このステップＡでは、メモリ２５に登録されている３次元モデルの構成点を、ワークＷにつき認識した位置および姿勢に基づいて座標変換する。具体的には、３次元モデルにつき基準位置として登録されている座標に対するワークＷの位置ずれ量や、３次元モデルが示す基準の姿勢に対するワークＷの回転角度を用いて、同次座標変換の変換行列の各要素Ｔ００，Ｔ０１，Ｔ０２，・・・Ｔ２３を決定する。そして、この行列を用いた演算式（下記（ａ）式）により、３次元モデルに含まれている各点の座標（ＸＭＰ，ＹＭＰ，ＺＭＰ）を、認識したワークＷに対応する座標（Ｘｔ，Ｙｔ，Ｚｔ）に変換する。以下、この変換後の座標（Ｘｔ，Ｙｔ，Ｚｔ）により表される３次元モデルを、「変換モデルＭｔ」という。
【００７４】
【数２】
2011112402.tif 000004
【００７５】
＜ステップＢ＞
このステップＢでは、上記の変換モデルＭｔに含まれる各点のＺ座標Ｚｔを対象として、設定領域２１０において設定されている仰角φを用いてＺｔを補正する。具体的には、仰角φをあてはめた下記の（ｂ）式により、補正後のＺ座標Ｚｔ´を算出する。
【００７６】
【数３】
2011112402.tif 000005
【００７７】
＜ステップＣ＞
このステップＣでは、上記の（ｂ）式によりＺ座標を補正した後の変換モデルＭｔを、（ｃ）式を用いてカメラＣ０のカメラ座標系のｘｙ平面に透視変換する。以下、透視変換により生成された変換モデルＭｔの投影画像を、「一次投影像」という。
【００７８】
【数４】
2011112402.tif 000006
【００７９】
なお、この（ｃ）式は、カメラＣ０のカメラ座標系のｘｙ平面の座標（ｘ，ｙ）と計測座標系の３次元座標（Ｘ，Ｙ，Ｚ）との関係を表す演算式（下記（２）式）に基づき導出されたものである。ここでＳはスケールファクタを表す。（２）式の透視変換行列の各要素Ｐ００，Ｐ０１，・・・Ｐ２３は、キャリブレーションによって既知となっている。
【００８０】
【数５】
2011112402.tif 000007
【００８１】
＜ステップＤ＞
ステップＤでは、上記の一次投影像に含まれる各点に対し、それぞれ変換モデルＭｔの対応点の補正前のＺ座標Ｚｔに基づき、このＺｔを前出の倍率Ｋにより除算した値Ｚｔ／Ｋを、ｚ座標として設定する。これにより、一次投影像は、カメラ座標系の３次元情報に変換される。この３次元情報を透視変換することにより、図７に示したモデル投影像Ｍを得ることができる。
【００８２】
ここで、ステップＢおよびステップＣを実行する趣旨について説明する。
まず、図８に示した処理は、登録されている３次元モデルを、ワークＷの位置および姿勢を反映する状態に座標変換し、変換後の３次元モデル（変換モデルＭｔ）を、画像中のワークＷに合わせた状態で立体的に表示するための３次元情報を作成することを、目的とするものである。
【００８３】
つぎに、カメラＣ０に関しては、既に、キャリブレーション処理によって、前出の（２）式の透視変換行列が導出されている。この（２）式は、（２−１）式および（２−２）式のように、分解することができる。
【００８４】
【数６】
2011112402.tif 000008
【００８５】
よって、（２−２）式中のＳを（２−２）式の右辺に置き換えることによって、３次元座標（Ｘ，Ｙ，Ｚ）とカメラＣ０のカメラ座標系のｘｙ平面内の座標（ｘ，ｙ）との関係を、（３）式のように表すことができる。
【００８６】
【数７】
2011112402.tif 000009
【００８７】
この（３）式によれば、変換後モデルＭｔの各点の座標（Ｘｔ，Ｙｔ，Ｚｔ）を（Ｘ，Ｙ，Ｚ）にあてはめることにより、正面視画像中のワークＷと同様の位置および姿勢を反映した一次投影像を生成することができる。しかし、（３）式は、３次元情報が示す立体形状をカメラＣ０により撮像したときにｘｙ平面に投影される座標を求めるものであるから、同一形状、同一面積の平面であっても、それぞれの平面の高さ（Ｚ座標）が異なると、ｘｙ平面に投影される画像の大きさは異なるものになる。つまり、平面がカメラから遠ざかるほど、言い換えればＺ座標が小さくなるほど、ｘｙ平面に投影される画像は小さくなる。
【００８８】
したがって、変換後モデルＭｔの各点を上記（３）式によりカメラＣのカメラ座標系のｘｙ平面に透視変換すると、各投影点にはＺ座標の違いによる歪みが生じるから、これらの投影点にｚ座標としてＺｔ／Ｋを設定しても、変換後モデルＭｔが示す３次元形状を正しく復元することはできない。この設定による３次元情報をｘｙ平面に直交する方向から離れた方向に視線を設定して透視変換を行うと、Ｚ座標により歪んだ形状が投影されて、視線の方向から想定される形状を正しく表さない投影像が生成されてしまう。
【００８９】
ここで（ｂ）（ｃ）式に参照を戻して説明すると、（ｃ）式は、変換モデルＭｔの座標（Ｘｔ，Ｙｔ，Ｚｔ）のＺｔを（ｂ）式により補正したＺｔ´に置き換えて、置き換え後の３次元情報を（３）式にあてはめることにより導出されたものである。
【００９０】
（ｂ）式によれば、φが９０°のときに、Ｚｔ´＝Ｚｔ、すなわち補正量が０の状態となる。またφが０°のときには、Ｚｔ´＝０、すなわちＺｔの値に関わらず、すべての点が高さ０の平面上の点に変換される状態となる。
【００９１】
また、９０°より小さく０°より大きい数値範囲においては、φの値が０°に近づくにつれて、補正後のＺｔ´の値が０に近づく。また、大きさの異なる２つのＺ座標の補正後の座標間の距離も、φの値が０°に近づくにつれて短くなる。
【００９２】
よって、（ｂ）式により補正されたＺ座標Ｚｔ´を組み込んだ（ｃ）式によれば、仰角φが０°に近づくにつれて、Ｚ座標の違いによる投影位置の差が小さくなるように、変換後モデルＭｔの各点の投影位置を調整することができる。よって、ｘｙ平面に直交する方向から離れた方向が透視変換の視線方向として設定された場合でも、変換後モデルＭｔの投影像の歪みを小さくすることができるから、この投影像の各点にＺｔ／Ｋをｚ座標として設定したものを、（１）式により透視変換することによって、視線の方向から見たモデルの形状を違和感なく表した投影画像を生成することが可能になる。
【００９３】
したがって、図７に示した確認画面において、設定領域２１０で方位角θや仰角φが変更される都度、その変更に応じて図８の変換処理を実行（ただし、ステップＡは初回のみで良い。）することにより、設定された視線の方向に適した３次元情報を生成し、これを用いてワークＷの位置および姿勢を精度良く示すモデル投影像Ｍを生成することができる。
【００９４】
図７に示した投影画像によれば、有効領域が立体的に表示されるとともに、モデル投影像Ｍによって、各ワークＷの３次元情報が立体的に表示されるので、ワークＷと有効領域との関係を明確に表すことができる。よって、ユーザは、各ワークＷが有効領域に含まれているかどうかを容易に確認することが可能になり、有効領域の適否を確認する上での利便性を、さらに高めることができる。
【００９５】
なお、図７に示した投影画像の表示は、有効領域の設定作業時に限らず、有効領域が確定されて３次元認識処理が開始されたときにも実施することができる。このようにすれば、通常の２次元画像の表示では有効領域との関係を把握しにくいワークＷについても、有効領域の内外いずれに位置するかを明確に示すことができる。よって、ユーザは適宜、投影画像を確認することにより、３次元視覚センサ１００から出力される認識結果が正しいかどうかを判別することができる。
【符号の説明】
【００９６】
１００  ３次元視覚センサ
Ｃ０，Ｃ１，Ｃ２  カメラ
１    ステレオカメラ  
２    認識処理装置
２４  ＣＰＵ
２５  メモリ
２００  画像表示領域
２０１，２０２  数値入力ボックス
２０７ａ，２０７ｂ  操作部
Ｒ    矩形領域
Ｒ１  輪郭線
Ｗ    ワーク
【図１】
2011112402.tif 000010
【図２】
2011112402.tif 000011
【図６】
2011112402.tif 000012
【図８】
2011112402.tif 000013
【図３】
2011112402.tif 000014
【図４】
2011112402.tif 000015
【図５】
2011112402.tif 000016
【図７】
2011112402.tif 000017