(57)【要約】【課題】３次元認識処理に用いた画像に対応づけて３次元モデルの立体視表示を行う場合に、実際の３次元モデルや認識対象物に適合した表示を行えるようにする。【解決手段】３次元モデルによる認識処理によりワークの位置および回転角度を認識した後に、この認識結果に基づき３次元モデルを座標変換し、座標変換後のＺ座標を、視線方向と撮像面とのなす角度（仰角φ）に応じて補正する。つぎに、補正後の３次元モデルを処理対象のカメラの座標系に透視変換し、生成された投影像の各点に座標変換前の３次元モデルの対応点の補正前のＺ座標に応じた高さを設定する。この処理により３次元的に分布した点群を対象に、指定された視線方向からの投影処理を行うことにより、３次元モデルの立体視画像を生成する。【選択図】図５
2010210458.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１台のカメラを含む撮像手段と、実寸大の認識対象物を表す３次元情報が３次元モデルとして登録される登録手段と、前記撮像手段内のカメラの光軸の方向を横切る所定の平面からの距離が高さを示すＺ座標となるようにワールド座標系が定められていることを条件に、前記登録手段に３次元モデルが登録されている認識対象物を対象に前記撮像手段が実行した撮像により生成された画像を用いた３次元計測を実行し、この計測により復元された３次元情報を登録された３次元モデルと照合して、認識対象物の位置および姿勢を認識する認識手段とを具備する３次元視覚センサにおいて、前記認識手段により認識された結果を表示する方法であって、
前記撮像手段内のカメラのうちの少なくとも１台を処理対象として、
当該カメラの撮像面に対する視線の方向を指定する操作を受け付ける第１ステップ、
前記認識手段により認識された位置および姿勢に基づき座標変換された３次元モデルを対象に、当該３次元モデルに含まれる複数のＺ座標を、第１ステップで受け付けた視線方向と処理対象のカメラの撮像面との関係に基づいて補正し、補正後の３次元モデルを、処理対象のカメラの座標系と前記ワールド座標系との関係に基づき、処理対象のカメラの座標系に透視変換する第２ステップ、
前記透視変換処理により処理対象のカメラの座標系に生成された３次元モデルの投影像に含まれる各点に、それぞれ前記座標変換後の３次元モデルの対応点の補正前のＺ座標に応じた高さを設定して、各点を前記第１ステップで受け付けた視線方向から透視変換する第３ステップ、
前記第３ステップの透視変換により生成された投影像をモニタ装置に表示する第４ステップ、
の各ステップを、処理対象のカメラ毎に実行し、
前記第２ステップのＺ座標の補正について、前記第１ステップで受け付けた視線方向と処理対象のカメラの撮像面とが直交する関係になるときの各Ｚ座標に対する補正量を０とし、前記視線方向が撮像面に平行になるときの各Ｚ座標を一定の値Ｚ０に補正し、前記視線方向と撮像面との関係が直交する状態から平行になる状態に近づくにつれて補正後の各Ｚ座標を前記Ｚ０に近づけ、かつ任意の２つのＺ座標Ｚ１，Ｚ２（Ｚ１＞Ｚ２）の補正後のＺ座標Ｚ１´，Ｚ２´について、Ｚ１´＞Ｚ２´の関係を維持しながら両者間の差をしだいに小さくするように補正演算のルールを定め、この演算ルールに基づき、第２ステップにおいて前記座標変換後の３次元モデルのＺ座標を補正し、この補正後の３次元モデルを前記カメラの撮像面に透視変換する、
ことを特徴とする３次元視覚センサによる認識結果の表示方法。
【請求項２】
請求項１に記載された方法において、
前記処理対象となるカメラについて、このカメラの座標系とワールド座標系との関係に基づき、空間内の高さが０の平面を当該処理対象のカメラの撮像面に透視変換したときの撮像面に割り当てられる１画素あたりの寸法を特定するステップを、あらかじめ実行し、
前記第３ステップでは、前記３次元モデルの投影像の各点について、それぞれ前記座標変換前の３次元モデルの対応点の補正前のＺ座標を、上記のステップにより特定された１画素あたりの寸法に基づき画素数に換算し、換算後の画素数を高さとして設定する、
３次元視覚センサによる認識結果の表示方法。
【請求項３】
少なくとも１台のカメラを含む撮像手段と、実寸大の認識対象物を表す３次元情報が３次元モデルとして登録される登録手段と、前記撮像手段内のカメラの光軸の方向を横切る所定の平面からの距離が高さを示すＺ座標となるようにワールド座標系が定められていることを条件に、前記登録手段に３次元モデルが登録されている認識対象物を対象に前記撮像手段が実行した撮像により生成された画像を用いた３次元計測を実行し、この計測により求めた３次元情報を登録された３次元モデルと照合して、３次元モデルに対する認識対象物の位置および姿勢を認識する認識手段とを具備する３次元視覚センサにおいて、
前記撮像手段内のカメラのうちの少なくとも１つを処理対象として、この処理対象のカメラの撮像面に対する視線の方向を指定する操作を受け付ける指定操作受付手段と
前記指定操作受付手段が受け付けた視線方向と処理対象のカメラの撮像面との関係に基づいて、前記認識手段により認識された位置および姿勢に基づき座標変換した３次元モデルに含まれる複数のＺ座標を補正し、補正後の３次元モデルを、前記処理対象のカメラと前記ワールド座標系との関係に基づき、処理対象のカメラの座標系に透視変換する第１の透視変換手段と、
前記第１の透視変換手段が実行した透視変換処理により処理対象のカメラの座標系に生成された３次元モデルの投影像に含まれる各点に、それぞれ前記座標変換後の３次元モデルの対応点の補正前のＺ座標に応じた高さを設定して、各点を前記指定操作受付手段が受け付けた視線方向から透視変換する第２の透視変換手段と、
前記第２の透視変換手段が実行した透視変換により生成された投影像をモニタ装置に表示する表示制御手段とを具備し、
前記第１の透視変換手段には、前記Ｚ座標の補正演算のためのルールとして、前記視線方向と処理対象のカメラの撮像面とが直交する関係になるときの各Ｚ座標に対する補正量を０とし、前記視線方向が撮像面に平行になるときの各Ｚ座標を一定の値Ｚ０に補正し、前記視線方向と撮像面との関係が直交する状態から平行になる状態に近づくにつれて補正後の各Ｚ座標を前記Ｚ０に近づけ、かつ任意の２つのＺ座標Ｚ１，Ｚ２（Ｚ１＞Ｚ２）の補正後の値Ｚ１´，Ｚ２´について、Ｚ１´＞Ｚ２´の関係を維持しながら両者間の差をしだいに小さくするように定められた演算ルールが設定されており、
前記第１の透視変換手段は、上記の演算ルールに基づき、座標変換後の３次元モデルのＺ座標を補正し、この補正後の３次元モデルを前記処理対象のカメラの撮像面に透視変換する、ことを特徴とする３次元視覚センサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオカメラを用いた３次元計測処理により対象物を認識する３次元視覚センサに関するもので、特に、認識結果を表示するための技術に関する。
【背景技術】
【０００２】
たとえば製造現場でロボットに部品などを把持させる目的で３次元認識処理を行う場合には、ステレオカメラによる３次元計測により復元された３次元情報を、あらかじめ登録された認識対象物の３次元モデルと照合することで、認識対象物の位置や姿勢（具体的には３次元モデルに対する回転角度）を認識する（たとえば特許文献１を参照。）。また同様の手法を検査に適用して、検査対象の物体の位置や姿勢の適否を判別する場合もある。
【０００３】
上記の認識処理に用いられる３次元モデルは、一般に、複数の３次元座標によって実寸大の認識対象物の形状（主として輪郭線）を表すものである。認識処理では、この３次元モデルと復元された３次元情報との一致度が最大になるように、両者を対応づけし、この時の３次元モデルの位置および回転角度を、認識対象物の位置および姿勢として特定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−９４３７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の認識処理の結果は、位置を表す座標や姿勢を表す角度として表示することができるが、単なる数値表示のみではユーザにはわかりづらいため、認識結果やその精度を容易に確認できるような表示をしてほしい、という要望が出されている。
【０００６】
そこで、発明者は、３次元モデルを認識した位置や回転角度に基づいて座標変換し、座標変換後のモデルを３次元表示することを検討した。また３次元モデルを認識結果に基づいて座標変換したものを、カメラの撮像面に透視変換すると、認識対象物と同様の見え方の投影像が生成されることから、この３次元モデルの投影像を認識対象物の画像に重ね合わせた表示をベースにして、視線方向の変更に応じて、３次元モデルの投影像を立体的な表示に変更する方法を検討した。
【０００７】
しかし、透視変換処理では、カメラの倍率を反映したパラメータに基づいて、実際の画像による見え方と同様になるような投影像を生成するので、同一の面積の平面であっても、カメラからの距離が異なると、撮像面に結像する平面の大きさが異なるものになる。このため、３次元モデルの投影像の各点に元のモデルの対応点のＺ座標に応じた高さを対応づけたものを、撮像面に直交する方向から離れた方向から透視変換すると、Ｚ座標の違いによる大きさが変動した投影像がそのまま投影されて、歪みの大きな画像が生成され、３次元モデルの形状を適切に表現できなくなることが判明した。
【０００８】
本発明は、上記の問題を解消し、３次元認識処理に用いた画像に対応づけて３次元モデルの立体視表示を行う場合に、実際の３次元モデルや認識対象物に適合した表示を行えるようにすることを課題とする。
【課題を解決するための手段】
【０００９】
本発明による方法は、少なくとも１台のカメラを含む撮像手段と、実寸大の認識対象物を表す３次元情報が３次元モデルとして登録される登録手段と、撮像手段内のカメラの光軸の方向を横切る所定の平面からの距離が高さを示すＺ座標となるようにワールド座標系が定められていることを条件に、登録手段に３次元モデルが登録されている認識対象物を対象に撮像手段が実行した撮像により生成された画像を用いた３次元計測を実行し、この計測により復元された３次元情報を登録された３次元モデルと照合して、認識対象物の位置および姿勢を認識する認識手段とを具備する３次元視覚センサにおいて、認識手段により認識された結果を表示するために実行されるものである。この方法では、撮像手段内のカメラのうちの少なくとも１台を処理対象として、処理対象のカメラ毎に、以下の第１〜第４の各ステップを実行する。
【００１０】
第１ステップでは、処理対象のカメラの撮像面に対する視線の方向を指定する操作を受け付ける。第２ステップでは、認識手段により認識された位置および姿勢に基づき座標変換された３次元モデルを対象に、当該３次元モデルに含まれる複数のＺ座標を、第１ステップで受け付けた視線方向と処理対象のカメラの撮像面との関係に基づいて補正し、補正後の３次元モデルを、処理対象のカメラの座標系とワールド座標系との関係に基づき、処理対象のカメラの座標系に透視変換する。以下、この透視変換を「第１の透視変換」という。なお、カメラの座標系とワールド座標系との関係は後記する（１）式により表されるもので、あらかじめキャリブレーションにより（１）式中の透視変換行列の各要素を求めることにより、各座標系の関係を特定することができる。
【００１１】
第３ステップでは、第１の透視変換により処理対象のカメラの座標系に生成された３次元モデルの投影像に含まれる各点に、それぞれ座標変換後の３次元モデルの対応点の補正前のＺ座標に応じた高さを設定して、各点を第１ステップで受け付けた視線方向から透視変換する。以下、この透視変換を「第２の透視変換」という。
第４ステップでは、第２の透視変換により生成された投影像をモニタ装置に表示する。
【００１２】
さらに上記の方法では、第２ステップのＺ座標の補正について、第１ステップで受け付けた視線方向と処理対象のカメラの撮像面とが直交する関係になるときの各Ｚ座標に対する補正量を０とし、視線方向が撮像面に平行になるときの各Ｚ座標を一定の値Ｚ０に補正し、視線方向と撮像面との関係が直交する状態から平行になる状態に近づくにつれて補正後の各Ｚ座標を上記のＺ０に近づけ、かつ任意の２つのＺ座標Ｚ１，Ｚ２（Ｚ１＞Ｚ２）の補正後のＺ座標Ｚ１´，Ｚ２´について、Ｚ１´＞Ｚ２´の関係を維持しながら両者間の差をしだいに小さくするように補正演算のルールを定める。そして、この演算ルールに基づき、第２ステップにおいて座標変換後の３次元モデルのＺ座標を補正し、この補正後の３次元モデルをカメラの撮像面に透視変換する。
【００１３】
上記の方法では、認識された位置および姿勢に合うように座標変換された３次元モデルのＺ座標を、ユーザの指定した視線方向と処理対象のカメラの撮像面との関係に基づき補正してから、補正後の３次元モデルを処理対象のカメラの座標系に透視変換する（第１の透視変換）。さらに、この第１の透視変換によりカメラ座標系に生成された投影像の各点に、それぞれ座標変換後の３次元モデルの対応点の補正前のＺ座標に応じた高さを設定することによって、各点を３次元モデルの対応点の高さに対応する位置に配置して、これら３次元的に分布する各点を対象に第２の透視変換を実行する。
【００１４】
以下、カメラの座標系の各軸をｘ，ｙ，ｚとして説明する（ｘｙ平面が撮像面に対応する。）と、視線方向として撮像面に直交する方向、言い換えれば撮像面を正面から見る方向が指定された場合には、３次元モデルのＺ座標に対する補正量は０となるので、第１の透視変換では、座標変換後の３次元モデルがそのままカメラ座標系のｘｙ平面（撮像面）に投影されることになる。よって、ｘｙ平面に生成される投影像は、処理対象のカメラにより３次元モデルを撮像した場合に生成される画像と同様のものになると考えられる。また各点に３次元モデルの対応点のＺ座標に応じた高さを設定して、撮像面に直交する方向から透視変換しても、投影像の見え方は、第１の透視変換により生成された投影像と同様になる。したがって、Ｚ座標に対する補正が行われなくとも、座標変換後の３次元モデルを処理対象のカメラの撮像面に投影した場合と同様の画像を表すことができる。
【００１５】
一方、撮像面に平行な方向が視線方向に指定された場合、すなわちカメラ座標系のｚ軸方向に直交する方向が視線方向として指定された場合には、各Ｚ座標はすべて一定の値Ｚ０に補正される。したがって、第１の透視変換では、Ｘ，Ｙの各座標が同一の点は、補正前のＺ座標に関係なく、カメラ座標系のｘｙ平面の同じ座標に投影される。したがって、３次元モデルの投影像の各点に、座標変換後の３次元モデルの対応点の補正前のＺ座標に応じた高さを設定すると、Ｘ，Ｙの各座標が同一であった各投影点を、それぞれのｘ，ｙ座標が同一の状態を維持したまま、本来のＺ座標に応じた高さに配置することができる。よって、これらの点を真横方向から透視変換することによって、３次元モデルを真横から観察した状態を歪みなく表す画像を生成することが可能になる。
【００１６】
つぎに、撮像面に対して斜めになる方向が視線方向に指定された場合には、その視線方向が撮像面に平行な状態に近づくにつれて、補正後の各座標がＺ０に近づき、かつ補正後のＺ座標間の差が小さくなるように各Ｚ座標が補正される。したがって、撮像面に直交する方向から視線方向が大きくずれても、第１の透視変換により生成される投影像におけるＺ座標の影響を小さくする一方で、投影像の各点を、本来のＺ座標に応じた高さに配置して、第２の透視変換を実施することができるので、第２の投影変換による投影像に歪みが生じるのを防止することができる。よって、指定された方向から観測した３次元モデルを違和感なく表した画像を生成することができる。
【００１７】
したがって、ユーザは、視線方向を種々に変更して表示された投影像中の３次元モデルの状態を確認することによって、３次元モデルによる認識結果を視覚的に確認することができる。
【００１８】
上記方法の好ましい態様では、処理対象のカメラについて、このカメラの座標系とワールド座標系との関係に基づき、空間内の高さが０の平面を当該処理対象のカメラの撮像面に透視変換したときの撮像面に割り当てられる１画素あたりの寸法を特定するステップを、あらかじめ実行する。また第３ステップにおいて、３次元モデルの投影像の各点について、それぞれ座標変換前の３次元モデルの対応点の補正前のＺ座標を、上記のステップにより特定された１画素あたりの寸法に基づき画素数に換算し、換算後の画素数を高さとして特定する。
【００１９】
上記の態様によれば、３次元モデルの各投影点のｚ座標に、ｘ，ｙ座標とほぼ同じ倍率を設定することができるので、３次元モデルの投影像の高さ方向の寸法を適切なものにでき、違和感のない画像を生成して表示することができる。
【００２０】
本発明による３次元視覚センサは、少なくとも１台のカメラを含む撮像手段と、実寸大の認識対象物を表す３次元情報が３次元モデルとして登録される登録手段と、撮像手段内のカメラの光軸の方向を横切る所定の平面からの距離が高さを示すＺ座標となるようにワールド座標系が定められていることを条件に、登録手段に３次元モデルが登録されている認識対象物を対象に撮像手段が実行した撮像により生成された画像を用いた３次元計測を実行し、この計測により求めた３次元情報を登録された３次元モデルと照合して、３次元モデルに対する認識対象物の位置および姿勢を認識する認識手段とを具備する。
【００２１】
さらに、この３次元視覚センサは、撮像手段内のカメラのうちの少なくとも１つを処理対象として、この処理対象のカメラの撮像面に対する視線の方向を指定する操作を受け付ける指定操作受付手段；指定操作受付手段が受け付けた視線方向と処理対象のカメラの撮像面との関係に基づいて、認識手段により認識された位置および姿勢に基づき座標変換した３次元モデルに含まれる複数のＺ座標を補正し、補正後の３次元モデルを、処理対象のカメラとワールド座標系との関係に基づき、処理対象のカメラの座標系に透視変換する第１の透視変換手段；第１の透視変換手段が実行した透視変換処理により処理対象のカメラの座標系に生成された３次元モデルの投影像に含まれる各点に、それぞれ座標変換後の３次元モデルの対応点の補正前のＺ座標に応じた高さを設定して、各点を指定操作受付手段が受け付けた視線方向から透視変換する第２の透視変換手段；第２の透視変換手段が実行した透視変換により生成された投影像をモニタ装置に表示する表示制御手段とを具備する。また第１の透視変換手段には、Ｚ座標の補正演算のためのルールとして、視線方向と処理対象のカメラの撮像面とが直交する関係になるときの各Ｚ座標に対する補正量を０とし、視線方向が撮像面に平行になるときの各Ｚ座標を一定の値Ｚ０に補正し、視線方向と撮像面との関係が直交する状態から平行になる状態に近づくにつれて補正後の各Ｚ座標をＺ０に近づけ、かつ任意の２つのＺ座標Ｚ１，Ｚ２（Ｚ１＞Ｚ２）の補正後の値Ｚ１´，Ｚ２´について、Ｚ１´＞Ｚ２´の関係を維持しながら両者間の差をしだいに小さくするように定められた演算ルールが設定される。第１の透視変換手段は、この演算ルールに基づき、座標変換後の３次元モデルのＺ座標を補正し、この補正後の３次元モデルを処理対象のカメラの撮像面に透視変換する。
【発明の効果】
【００２２】
上記の認識結果の表示方法、およびこの方法を適用した３次元視覚センサによれば、３次元モデルの３次元表示を介して、３次元モデルとの照合による認識結果の確認を容易に行うことが可能になり、３次元視覚センサの利便性が大幅に高められる。
【図面の簡単な説明】
【００２３】
【図１】３次元視覚センサが導入された生産ラインの構成を示す図である。
【図２】３次元視覚センサの電気構成を示すブロック図である。
【図３】３次元モデルの構成例を示す図である。
【図４】３次元モデルによる認識結果の確認用画面を示す図である。
【図５】確認用画面の画像が更新された例を示す図である。
【図６】確認用画面の画像が更新された例を示す図である。
【図７】３次元モデル画像の作成処理の手順を示すフローチャートである。
【図８】１つのワークに対して実行される処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２４】
図１は、３次元視覚センサ１００を、工場の生産ラインに導入した例を示す。
この実施例の３次元視覚センサ１００は、所定の製品に組み込まれるために搬送ライン１０１により搬送されているワークＷ（説明を簡単にするために形態を単純化して示す。）の位置や姿勢を認識する目的に使用されている。認識結果を示す情報は、ライン１０１の下流に配備されたロボットのコントローラ（いずれも図示せず。）に送信され、ロボットの動作の制御に用いられる。
【００２５】
３次元視覚センサ１００は、ステレオカメラ１と、ライン１０１の近傍に配備された認識処理装置２とにより構成される。ステレオカメラ１は、搬送ライン１０１の上方に横並びに配置された３台のカメラＡ，Ｂ，Ｃにより構成される。これらのうち中央のカメラＡは、光軸を鉛直方向に向けた状態（すなわちワークＷを正面視する状態）にして配備され、左右のカメラＢ，Ｃは、光軸を斜めにして配備される。
【００２６】
認識処理装置２は、専用のプログラムが格納されたパーソナルコンピュータであり、モニタ装置２５や、キーボード２７，マウス２８などを具備する。この認識処理装置２では、各カメラＡ，Ｂ，Ｃが生成した画像を取り込んで、ワークＷの輪郭線を対象とする３次元計測を実行した後に、復元された３次元情報を、あらかじめ装置内に登録された３次元モデルと照合する。
【００２７】
図２は、上記の３次元視覚センサ１００の構成をブロック図により表したものである。
この図によれば、認識処理装置２には、各カメラＡ，Ｂ，Ｃに対応する画像入力部２０Ａ，２０Ｂ，２０Ｃ、カメラ駆動部２１、ＣＰＵ２２、メモリ２３、入力部２４、表示部２５、通信インターフェース２６などが含まれる。
【００２８】
カメラ駆動部２１は、ＣＰＵ２２からの指令に応じて、各カメラＡ，Ｂ，Ｃを同時に駆動する。これにより各カメラＡ，Ｂ，Ｃで生成された画像は、画像入力部２０Ａ，２０Ｂ，２０Ｃを介してＣＰＵ２２に入力される。
【００２９】
表示部２５は、図１におけるモニタ装置である。また入力部２４は、図１のキーボード２７およびマウス２８をまとめたものである。これらは、キャリブレーション処理の際に、設定のための情報を入力したり、作業を支援するための情報を表示する目的に使用される。通信インターフェース２６は、ロボットコントローラとの通信に用いられる。
【００３０】
メモリ２３は、ＲＯＭ，ＲＡＭ，およびハードディスクなどの大容量メモリを含むもので、キャリブレーション処理、３次元モデルの作成、およびワークＷの３次元認識処理のためのプログラムや設定データが格納されている。また、キャリブレーション処理で算出された３次元計測用のパラメータや３次元モデルも、メモリ２３内の専用のエリアに登録される。
【００３１】
ＣＰＵ２２は、メモリ２３内のプログラムに基づき、キャリブレーション処理や３次元モデルの登録処理を実行する。これによりワークＷに対する３次元認識処理が可能な状態になる。
【００３２】
キャリブレーション処理では、所定のキャリブレーションパターンが描かれたキャリブレーションプレート（図示せず。）を用いて、ワークＷを支持する面（すなわち図１の搬送ライン１０１の上面）からの距離が高さを示すＺ座標となるようにワールド座標系を定義する。そして、キャリブレーションプレートの撮像および画像処理を複数サイクル実行して、カメラ毎に、３次元座標（Ｘ，Ｙ，Ｚ）と２次元座標（ｘ，ｙ）との組み合わせを複数組特定し、これらの座標の組み合わせを用いて、下記の変換式（（１）式）に適用する３行４列の透視変換行列を導出する（（１）式中のＳは、後記する（１−２）式により算出することができる。）。
【００３３】
【数１】
2010210458.tif 000003
【００３４】
上記の透視変換行列の各要素Ｐ００，Ｐ０１・・・Ｐ２３は、３次元計測用のパラメータとしてカメラＡ，Ｂ，Ｃ毎に求められ、メモリ２３内に登録される。この登録が完了することによって、ワークＷに対する３次元計測が可能な状態となる。
【００３５】
この実施例の３次元計測処理では、各カメラＡ，Ｂ，Ｃにより生成された画像からエッジを抽出した後に、各エッジを、連結点や分岐点を基準に「セグメント」と呼ばれる単位に分解し、各セグメントを画像間で対応づける。そして、対応づけられたセグメントの組毎に、上記のパラメータを用いた演算を実行することにより、３次元のセグメントを表す３次元座標の集合を導出する。以下、この処理を「３次元情報の復元」という。
【００３６】
上記の３次元情報の復元処理のために、この実施例では、図３に示すような、ワークＷの全体の輪郭形状を表す３次元モデルＭを生成する。この３次元モデルＭには、複数のセグメントの３次元情報のほか、代表点として、内部の一点Ｏ（重心など）の３次元座標が含められる。
【００３７】
上記の３次元モデルＭを用いた認識処理では、３次元計測により復元された３次元情報における特徴点（具体的には、セグメントの分岐点）と３次元モデルＭ側の特徴点とを総当たり式に対応づけて、両者間の類似度を算出する。そして類似度が最も大きくなったときの各特徴点の対応関係を正しい関係として特定し、このときに３次元モデルＭの代表点Ｏに対応した座標を、ワークＷの位置として認識する。またこの特定された関係になったときの３次元モデルＭの回転角度を、３次元モデルＭが示す基本の姿勢に対するワークＷの回転角度として認識する。この回転角度は、Ｘ，Ｙ，Ｚの軸毎に算出される。
【００３８】
この実施例では、登録した３次元モデルＭによる認識処理の結果を、ユーザが適宜確認することができるように、図４に示すような画面を表示部２５に表示する。この確認用の画面は左右に二分され、右側に画像表示領域３０が、左側に操作領域３１が、それぞれ設定されている。
【００３９】
画像表示領域３０には、カメラＡ，Ｂ，Ｃのいずれか（ここでは正面視用のカメラＡが選択されている。）により生成されて認識処理に使用された画像Ｇ（以下、「処理対象画像Ｇ」という。）が、所定広さの背景領域（画像表示領域３０内の白い部分）とともに表示される。図４およびつぎの図５，６では、この処理対象画像Ｇ中のワークＷをＷＧの符号で示す。
【００４０】
さらに画像表示領域３０には、３次元モデルＭを表す一様な色彩の画像ＭＧ（ワークＷの輪郭形状を示すもの）が処理対象画像Ｇに重ねて表示されている。この３次元モデルの画像ＭＧは、以下の図５，６に示すように、画像に対する視線の方向を変更する指定により立体的な表示に変更される。以下、この３次元モデルの立体視画像ＭＧを「３次元モデル画像ＭＧ」という。
【００４１】
左側の操作領域３１には、方位角θ、仰角φ、横方向の移動量、縦方向の移動量の４種類の数値情報について、それぞれ入力ボックス３２およびスライダ３３が個別に設けられている。ユーザは、入力ボックス３２への数値入力またはスライダ３３の移動操作によって、各数値の入力または変更を行う。
【００４２】
さらに操作領域３１の上部には、画像表示領域３０の表示を選択するための選択ボックス３５が設けられている。ユーザは、この選択ボックス３５からメニューを呼び出して、画像表示領域を他の表示モード（説明は省略する。）に切り替えることができる。
【００４３】
また操作領域３１の下端部には、画像表示領域３０内の表示を一段階前の状態に戻すためのボタン３４が設けられている。図示していないが、図４に示す初期状態の画面では、このボタン３４は無効な状態に設定されている。
【００４４】
方位角θは、表示されている画像に対する視点の方位を表すものであるが、便宜的に、表示部２５の表示画面の座標系に対する処理対象画像Ｇの座標系の回転角度により表現する。
仰角φは、表示されている画像の面に対して視線方向がなす角度である。たとえば、画像を正面から見ている場合にはφ＝９０°となり、画像を真横から見ている場合にはφ＝０°となる。
【００４５】
なお、後記する（ｄ）式による透視変換処理の観点でいうと、方位角θは、カメラＡのカメラ座標系における視点の方位を示し、仰角はカメラ座標系のｘｙ平面（撮像面に対応する。）に対して視線方向がなす角度を示すことになる。
【００４６】
横方向および縦方向の各移動量は、画像表示領域３０における画像の配置位置を設定するためのものである。これらの移動量も、θ，φとともに透視変換処理のパラメータとして使用される。
【００４７】
図４の画面は、認識処理が終了した直後に表示されるもので、画像表示領域３０にはカメラＡにより生成された処理対象画像Ｇが、通常の姿勢（画像のｘ軸方向を画面の左右方向に、ｙ軸方向を画面の上下方向に対応づけた状態をいう。）で表示されている。また処理対象画像Ｇに重ね表示されている３次元モデル画像ＭＧも、位置および姿勢を認識結果に合わせた３次元モデルをカメラＡの視線から観察した状態を示すものとなる。したがってこの例のように、３次元モデル画像ＭＧと処理対象画像Ｇ中のワークＷＧとが精度良く位置合わせされた状態であれば、３次元モデルＭによる認識が精度良く行われていると考えられる。
【００４８】
画像表示領域３０内の表示が上記の状態にあるとき、操作領域３１内の方位角θは０°を示し、仰角φは９０°を示している。この実施例では、これらの角度θ，φをユーザが自由に変更することによって、上記のワークＷや立体視画像の表示を変更できるようにしている。
【００４９】
図５は、方位角θを０°に維持したまま、仰角φを４４°に設定したときの表示画面の例を示す。この場合には、処理対象画像Ｇが斜め上から観測された状態のものに変更されるとともに、３次元モデル画像ＭＧも３次元モデルＭを斜め上から見た状態を表す立体視画像に変更されている。
【００５０】
図６は、方位角を４５°とし、仰角を０°としたときの画面を示す。この場合には、画像を４５°回転させて真横から観察する旨が指定されていることになるため、処理対象画像Ｇは一次元の状態で表示されている。また、３次元モデル画像ＭＧは、３次元モデルＭを図４，５に示す状態から４５°回転させて、視線に対向する側の側面を表したものに変更される。
【００５１】
なお、図５や図６の表示例では、３次元モデル画像ＭＧは処理対象画像よりも少し上方に配置されているが、これは処理対象画像との比較の便宜のための措置である。このような表示例に限らず、３次元モデルＭの底面に相当する部位を処理対象画像中のワークＷに対応づけた状態にして表示してもよい。
【００５２】
上記の処理対象画像Ｇや３次元モデル画像ＭＧの変化は、いずれも操作領域３１で設定された内容に基づく透視変換処理により生じたものである。処理対象画像Ｇは２次元データであるため、透視変換後も平面として表示される。一方、３次元モデル画像ＭＧについては、実寸大の認識対象物を表す３次元情報をカメラＡのカメラ座標系における３次元情報に変換したものを透視変換することにより、上記のような立体視画像を表示することができる。
【００５３】
図７は、３次元モデル画像の生成に関する手順を示す。以下、このフローチャートに示す４つのステップＡ，Ｂ，Ｃ，Ｄについて、詳細に説明する。
【００５４】
＜ステップＡ＞
このステップＡでは、メモリ２３に登録されている３次元モデルを、ワークＷにつき認識した位置および回転角度に基づいて座標変換する。具体的には、３次元モデルＭの代表点Ｏとして登録されている座標に対し、ワークＷの代表点として認識された座標の位置ずれ量をＸ，Ｙ，Ｚの軸毎に求める。そして、これらの位置ずれ量と、３次元モデルに対するワークＷの回転角度として算出された角度（Ｘ，Ｙ，Ｚの軸毎の回転角度）とに基づき、同次座標変換の変換行列の各要素Ｔ００，Ｔ０１，Ｔ０２・・・Ｔ２３（下記の（ａ）式を参照）を決定する。
【００５５】
この後は、３次元モデルＭに含まれる各点について、それぞれその点の座標（ＸＭＰ，ＹＭＰ，ＺＭＰ）と同次変換行列とをあてはめた（ａ）式による演算を実行することにより、変換後の座標（Ｘｔ，Ｙｔ，Ｚｔ）を求める。以下、この変換後の座標（Ｘｔ，Ｙｔ，Ｚｔ）が示す３次元モデルを「３次元モデルＭｔ」と記載する。
【００５６】
【数２】
2010210458.tif 000004
【００５７】
＜ステップＢ＞
このステップでは、上記の３次元モデルＭｔの各点について、そのＺ座標Ｚｔを仰角φを用いて補正する。具体的には、仰角φおよび３次元モデルＭｔの代表点のＺ座標Ｚ０をあてはめた下記の（ｂ）式により、補正後のＺ座標Ｚｔ´を算出する。なおＺ０は、図３の代表点Ｏの座標をステップＡで座標変換することにより得られる。
【００５８】
【数３】
2010210458.tif 000005
【００５９】
上記の（ｂ）式によれば、φが９０°のときに、Ｚｔ´＝Ｚｔ、すなわち補正量が０の状態となる。またφが０°のとき、Ｚｔ´＝Ｚ０、すなわちＺｔの値に関わらず、すべてのＺ座標が一定値Ｚ０に変換される状態になる。
【００６０】
また９０°より小さく０°より大きい数値範囲においては、φの値が０°に近づくにつれて、補正後のＺｔ´の値がＺ０に近づく。また大きさの異なる２つのＺ座標の補正後の座標間の距離も、φの値が０°に近づくにつれて短くなる。
【００６１】
＜ステップＣ＞
このステップＣでは、上記の（ｂ）式によりＺ座標を補正した後の３次元モデルＭｔをカメラＡの座標系のｘｙ平面に透視変換する。
ここで、先の（１）式を用いて一般的な透視変換について説明すると、（１）式は以下の（１−１）式と（１−２）式とに分解することができる。
【００６２】
【数４】
2010210458.tif 000006
【００６３】
よって、（１−１）式中のＳを（１−２）式の右辺に置き換えることによって、変換前の３次元座標（Ｘ，Ｙ，Ｚ）と変換後の２次元座標（ｘ，ｙ）との関係を、（２）式のように表すことができる。
【００６４】
【数５】
2010210458.tif 000007
【００６５】
しかし、上記の一般的な変換式は、３次元情報が示す立体形状をカメラにより撮像した状態を表すものであるから、同一形状、同一面積の平面であっても、それぞれのＺ座標が異なると投影像の大きさも異なるものになる（カメラから離れるほど、すなわちＺ座標が小さくなるほど、投影像は小さくなる。）。この異なる大きさの投影像を、撮像面に直交する方向から離れた方向から透視変換すると、これらの大きさの違いがそのまま投影され、視線の方向から想定される形状を正しく表さない投影像が生成されてしまう。
【００６６】
このため、本実施例では、補正後のＺ座標Ｚｔ´を組み込んだ以下の（ｃ）式を実行することにより、Ｚ座標の違いに伴って投影像の変動量を調整するようにしている。
【００６７】
【数６】
2010210458.tif 000008
【００６８】
先に述べたように、Ｚｔ´の値は、仰角φが０°に近づくにつれて一定の値Ｚ０に近づき、各Ｚ座標の補正後の値の差も小さくなる。よって、このＺｔ´を組み込んだ（ｃ）式によって、仰角φが０°に近づくにつれて、Ｚ座標の違いによる投影位置の差が小さくなるように、３次元モデルＭｔの各点の投影位置を調整することができる。
【００６９】
＜ステップＤ＞
上記のステップＣにより、３次元モデルの各点は、カメラＡの座標系のｘｙ平面に２次元座標として投影された状態となる。ステップＤでは、投影された各点につき、３次元モデルＭｔの対応点の補正前のＺ座標Ｚｔを画素単位の座標に換算したものを、高さとして対応づけることにより、各点にカメラ座標系の３次元座標を付与する。そして、これらの３次元座標の集合を、操作領域３１に設定された各情報を用いて透視変換する。具体的な演算式は（ｄ）式のようになる。
【００７０】
【数７】
2010210458.tif 000009
【００７１】
上記（ｄ）式において、（ｘｏ，ｙｏ）は、カメラ座標系の原点に対応する画面上の座標である。またｔｘは、操作領域３１で指定された横方向の移動量に、ｔｙは縦方向の移動量に、それぞれ相当する。
【００７２】
また（ｄ）式中のＫは、カメラ座標系の倍率（１画素あたりの実寸法。単位はｍｍ）である。この倍率Ｋは、ワールド座標系のＺ＝０の平面とカメラ座標系のｘ＝０の平面との関係に基づいて、以下のようにして割り出される。
【００７３】
まずワールド座標系の原点（０，０，０）を前出の（２）式に代入することにより設定した（２−１）式により、当該原点の投影点の座標（ｘ０，ｙ０）を算出する。
【００７４】
【数８】
2010210458.tif 000010
【００７５】
つぎに、Ｘ軸において原点から１ｍｍ離れた点に相当する座標（１，０，０）と、Ｙ軸において原点から１ｍｍ離れた点に相当する座標（０，１，０）とを、それぞれ（２）式に代入することにより、（２−２）式および（２−３）式を設定し、これらの式から、座標（１，０，０）に対する投影点の座標（ｘ１，ｙ１）および座標（０，１，０）に対する投影点の座標（ｘ２，ｙ２）を算出する。
【００７６】
【数９】
2010210458.tif 000011
【００７７】
【数１０】
2010210458.tif 000012
【００７８】
この後、カメラ座標系に関して、上記の各投影点の座標を用いて（３）式および（４）式を実行することにより、ワールド座標系のＸ軸方向に対応する方向における１画素あたりの寸法Ｋｘと、ワールド座標系のＹ軸方向に対応する方向における１画素あたりの寸法Ｋｙとを算出する。そして、Ｋｘ，Ｋｙの平均値を倍率Ｋとする。
【００７９】
【数１１】
2010210458.tif 000013
【００８０】
なお、上記の倍率Ｋを求める演算は、あらかじめキャリブレーション処理の終了後などに実行することができる。
【００８１】
先の（ｄ）式では、各投影点に、実寸法によるＺ座標Ｚｔを上記の倍率Ｋにより画素単位の座標に換算したものをＺ座標として設定している。したがって、カメラＡの座標系のｚ＝０の面に投影された各点を、それぞれＺｔ／Ｋに相当する距離だけｚ＝０の面から移動させて、各点をカメラ座標系に３次元的に配置した状態を設定して、透視変換を行うことになる。
【００８２】
このように、各投影点のｚ座標に、ｘ座標やｙ座標とほぼ同じ倍率を設定するので、高さ方向における投影点の間隔が間延びした状態になることがなく、ｘｙ平面における分布との釣り合いがとれた状態の３次元情報を透視変換することができる。また前出の（ｂ）（ｃ）式によって、各投影点のｘ座標およびｙ座標が仰角φの値に応じて調整されるので、設定された視線の方向が撮像面を正面視する方向から大きくずれても、３次元モデルＭｔの各点が投影される位置に対するＺ座標の影響を小さくすることができ、２回目の透視変換による投影像に歪みが生じるのを防止することができる。したがって、３次元モデルの形状を違和感なく表した立体視画像を生成することが可能になる。
【００８３】
つぎに図８は、１つのワークＷに対して実行される処理全体の手順の概略を示す。
このフローチャートに基づき説明すると、まずステップＳ１でワークＷに対する３次元計測を実行する。つぎのステップＳ２では、上記の計測により復元された３次元情報を３次元モデルにより照合して、ワークＷの位置および回転角度を認識する。
【００８４】
つぎに、ステップＳ３では、まず方位角θおよび仰角φにそれぞれ初期値の０°を設定して、３次元モデルＭにつき、先の図７のステップＡ，Ｂ，Ｃ，Ｄを実行して３次元モデル画像ＭＧを生成する。ステップＳ４では、生成した３次元モデル画像ＭＧと処理対象画像Ｇとを重ねた状態にして表示部２５に表示する。これにより表示部２５の画面には、図４に示した状態の画像が表示されることになる。
【００８５】
以後は、終了操作が行われるまで、透視変換用のパラメータの設定を変更する操作に応じて、３次元モデル画像ＭＧおよび処理対象画像Ｇの表示を更新する処理を実行する（ステップＳ５，６，７）。
【００８６】
上記のループのステップＳ６について、具体的に説明する。
このステップでは、座標変換後の３次元モデルＭｔについて、図７のステップＢ，Ｃ，Ｄを実行することにより、指定された方位角θおよび仰角φに応じた３次元モデル画像を生成する。すなわち図７のステップＡは、認識処理の終了後に１回実行すれば良く、以後は、座標変換後の３次元モデルＭｔを対象に、ステップＢ，Ｃ，Ｄの処理を行うことで、３次元モデル画像ＭＧを生成することができる。
【００８７】
また、処理対象画像Ｇについては、各画素のｘ，ｙ座標をそのまま適用するとともに、全ての画素にｚ座標として０を設定し、上記の（ｄ）式と同様の演算を実行する。そして、変換後の処理対象画像Ｇに３次元モデル画像ＭＧを重ねたものにより、画像表示領域３０内の表示を更新する。
【００８８】
上記の手順によれば、ユーザは、まず通常の姿勢の処理対象画像Ｇとこれに合わせた３次元モデル画像ＭＧとによる表示を見て、認識の結果や精度を確認した後に、方位角θや仰角φを自由に変更して、３次元モデルと処理対象画像中のワークＷとの関係を、種々の方向から確認することができる。
【００８９】
なお、上記の実施例の画像表示はカメラＡを対象に実行されているが、他のカメラＢ，Ｃについても、同様の手法で、それぞれのカメラで生成された画像と３次元モデル画像とを対応づけて、種々の方向からの透視変換処理による画像を表示することができる。また上記の実施例では、３次元モデル画像ＭＧの作成開始時に、３次元モデル画像を認識結果に基づいて座標変換するとしたが、上記ステップＳ２の認識処理において実行した座標変換の結果を保存しておけば、その保存データを用いることで、再度の座標変換を不要にすることができる。
【００９０】
また、上記の実施例では、複数のカメラを用いたステレオ計測によりワークＷの３次元情報を復元したが、３次元計測の方法はステレオ計測に限らず、１台のカメラにより生成された画像を処理する方法をとることも可能である。たとえば、ワークＷの表面にスポット光を照射して画像中の輝点の座標からスポット光の照射位置の３次元座標を求める方法がある。またワークモデルの高さを種々に変更して撮像を行うことにより複数の２次元モデルを生成し、処理対象のワークＷの画像を各２次元モデルと順に照合してワークＷの高さおよび回転角度を特定し、この特定結果を画像中の各特徴点に反映させて、複数の３次元座標を導出する場合もある。いずれの方法でも、復元された３次元情報を実物大の３次元モデルと照合してワークＷの位置および姿勢を認識する場合には、その認識結果を上記の実施例と同様の手法で表示することができる。
【符号の説明】
【００９１】
１００  ３次元視覚センサ
１（Ａ，Ｂ，Ｃ）  ステレオカメラ
２    認識処理装置
２２  ＣＰＵ
２３  メモリ
２４  入力部
２５  モニタ装置（表示部）
Ｗ    ワーク
Ｍ    ３次元モデル
【図１】
2010210458.tif 000014
【図２】
2010210458.tif 000015
【図３】
2010210458.tif 000016
【図４】
2010210458.tif 000017
【図５】
2010210458.tif 000018
【図６】
2010210458.tif 000019
【図７】
2010210458.tif 000020
【図８】
2010210458.tif 000021