(57)【特許請求の範囲】
【請求項１】
撮像領域内の対象物を異なる視点から複数の撮像手段により撮像した撮像画像に基づいて視差情報生成手段により該対象物の視差情報を生成するときに、撮像領域に向けてパターン画像を投射する画像投射手段を有するパターン画像投射装置において、
前記視差情報生成手段が生成した視差情報に含まれる視差値の数に基づいて前記パターン画像を生成するパターン画像生成手段を有し、
前記パターン画像は、前記画像投射手段及び前記撮像手段の少なくとも一方についての光学的特性が異なる撮像領域箇所に応じて、各撮像領域箇所に投射されるパターン画像部分が異なることを特徴とするパターン画像投射装置。
【請求項２】
請求項１に記載のパターン画像投射装置において、
前記パターン画像生成手段は、前記撮像手段と前記対象物との距離に対する前記画像投射手段と前記対象物との相対距離に応じて、各パターン画像部分を変更したパターン画像を生成することを特徴とするパターン画像投射装置。
【請求項３】
撮像領域内の対象物を異なる視点から複数の撮像手段により撮像した撮像画像に基づいて視差情報生成手段により該対象物の視差情報を生成するときに、撮像領域に向けてパターン画像を投射する画像投射手段を有するパターン画像投射装置において、
前記撮像手段と前記対象物との距離に対する前記画像投射手段と前記対象物との相対距離に応じて、各パターン画像部分を変更したパターン画像を生成するパターン画像生成手段を有し、
前記パターン画像は、前記画像投射手段及び前記撮像手段の少なくとも一方についての光学的特性が異なる撮像領域箇所に応じて、各撮像領域箇所に投射されるパターン画像部分が異なることを特徴とするパターン画像投射装置。
【請求項４】
請求項１乃至３のいずれか１項に記載のパターン画像投射装置において、
前記各撮像領域箇所に投射されるパターン画像部分は、パターンの粒度及びコントラストの少なくとも一方が異なることを特徴とするパターン画像投射装置。
【請求項５】
請求項１乃至４のいずれか１項に記載のパターン画像投射装置において、
前記画像投射手段についての光学的特性は、該画像投射手段が投射するパターン画像の輝度を含むことを特徴とするパターン画像投射装置。
【請求項６】
請求項１乃至５のいずれか１項に記載のパターン画像投射装置において、
前記撮像手段についての光学的特性は、該撮像手段が撮像領域から受光する受光量を含むことを特徴とするパターン画像投射装置。
【請求項７】
撮像領域内の対象物を異なる視点から複数の撮像手段により撮像した撮像画像に基づいて該対象物の視差情報を生成する視差情報生成手段と、
撮像領域に向けてパターン画像を投射するパターン画像投射手段とを有する視差情報生成装置において、
前記パターン画像投射手段として、請求項１乃至６のいずれか１項に記載のパターン画像投射装置を用いることを特徴とする視差情報生成装置。
【請求項８】
撮像領域内の対象物を異なる視点から複数の撮像手段により撮像した撮像画像に基づいて視差情報生成手段により該対象物の視差情報を生成するときに画像投射手段が撮像領域に向けて投射するパターン画像を生成するパターン画像生成手段として、コンピュータを機能させるパターン画像生成プログラムであって、
前記パターン画像生成手段は、前記視差情報生成手段が生成した視差情報に含まれる視差値の数に基づいて前記パターン画像を生成し、
前記パターン画像は、前記画像投射手段及び前記撮像手段の少なくとも一方についての光学的特性が異なる撮像領域箇所に応じて、各撮像領域箇所に投射されるパターン画像部分が異なることを特徴とするパターン画像生成プログラム。
【請求項９】
撮像領域内の対象物を異なる視点から複数の撮像手段により撮像した撮像画像に基づいて視差情報生成手段により該対象物の視差情報を生成するときに画像投射手段が撮像領域に向けて投射するパターン画像を生成するパターン画像生成手段として、コンピュータを機能させるパターン画像生成プログラムであって、
前記パターン画像生成手段は、前記撮像手段と前記対象物との距離に対する前記画像投射手段と前記対象物との相対距離に応じて、各パターン画像部分を変更したパターン画像を生成し、
前記パターン画像は、前記画像投射手段及び前記撮像手段の少なくとも一方についての光学的特性が異なる撮像領域箇所に応じて、各撮像領域箇所に投射されるパターン画像部分が異なることを特徴とするパターン画像生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パターン画像投射装置、視差情報生成装置、パターン画像生成プログラムに関するものである。
【背景技術】
【０００２】
従来、撮像領域内の対象物を異なる視点から複数の撮像手段により撮像して当該対象物の視差情報を生成するときに、撮像領域に向けてパターン画像を投射するパターン画像投射装置が知られている。
【０００３】
特許文献１には、パターン画像投射装置から投光パターン（パターン画像）が照射された被写体（対象物）を異なる視点から撮像して得た基準画像と参照画像との対応点付け（マッチング処理）を行い、マッチングされた対応画素間の視差値に基づいて距離画像（視差情報）を生成する３次元形状計測装置が開示されている。この３次元形状計測装置では、周期的な模様をもつ投光パターンを被写体に照射する場合に生じていた対応点付け時のミスマッチングの発生を減少させる目的で、乱数を用い、ドットのサイズ、線の長さや太さ、位置、濃度等が不規則である模様からなる非周期的な投光パターンを生成する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、パターン画像投射装置は、レンズ等の光学系を介してパターン画像を撮像領域に向けて投射するが、その光学系の光学的特性は撮像領域内の地点に応じて異なる。例えば、光学系の光軸中心付近の地点とその光軸中心から離れた地点との間では、パターン画像の明るさ（輝度）、歪み、コントラストなどの光学的特性が異なる。このような光学的特性は、複数の撮像画像間における撮像領域内の同一地点を映し出す画素を対応づけるマッチング処理のマッチング精度に影響を及ぼす。そのため、光学的特性が撮像領域内の地点に応じて異なると、撮像領域内においてマッチング精度の相対的に低い地点が局所的に生じてしまう。そのため、そのような地点における対象物については適切な視差情報が得られないおそれがあり得る。
【０００５】
同様に、パターン画像が投射された撮像領域内の対象物を複数の撮像手段により異なる地点から撮像する場合の撮像手段の光学系も、その光学的特性は撮像領域内の地点に応じて異なる。そのため、仮に一様なパターン画像が投射されている場合であっても、撮像画像の明るさ（輝度）、歪み、コントラストなどの光学的特性が、撮像領域内の地点に応じて異なる。このような光学的特性もマッチング処理のマッチング精度に影響を及ぼすので、撮像手段の光学的特性が撮像領域内の地点に応じて異なる場合も、マッチング精度が相対的に低い地点が局所的に生じてしまう。そのため、そのような地点における対象物については適切な視差情報が得られないおそれがある。
【０００６】
なお、相対的にマッチング精度の低い地点は、光学系の光軸中心から離れた地点である場合に限らず、その光学系の構成等によって様々である。したがって、マッチング精度が相対的に低い地点、すなわち、適切な視差情報が得られない部分は、光学系の構成等に応じて異なり得る。
【０００７】
また、上述した課題は、非周期的な投光パターン（パターン画像）を投射する特許文献１に開示のパターン画像投射装置を用いたとしても、解決することはできない。この投光パターンは、画像投射手段や撮像手段についての光学的特性が異なる各撮像領域箇所に投射されるパターン画像部分が、それぞれの撮像領域箇所に最適化されたパターン画像部分であるわけではない。したがって、画像投射手段や撮像手段についての光学的特性が撮像領域箇所に応じて異なる場合には、やはり、マッチング精度が相対的に低い地点が局所的に生じ、そのような地点に存在する対象物については適切な視差情報が得られないことがある。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために、本発明は、撮像領域内の対象物を異なる視点から複数の撮像手段により撮像した撮像画像に基づいて視差情報生成手段により該対象物の視差情報を生成するときに、撮像領域に向けてパターン画像を投射する画像投射手段を有するパターン画像投射装置において、前記視差情報生成手段が生成した視差情報に含まれる視差値の数に基づいて前記パターン画像を生成するパターン画像生成手段を有し、前記パターン画像は、前記画像投射手段及び前記撮像手段の少なくとも一方についての光学的特性が異なる撮像領域箇所に応じて、各撮像領域箇所に投射されるパターン画像部分が異なることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、画像投射手段や撮像手段の光学的特性が撮像領域箇所に応じて異なるなどの理由で、撮像領域内にマッチング精度の相対的に低い撮像領域箇所が存在しても、その撮像領域箇所に存在する対象物について適切な視差情報を得ることができるという優れた効果が奏される。
【図面の簡単な説明】
【００１０】
【図１】実施形態におけるロボットピッキングシステムを示すブロック図である。
【図２】同ロボットピッキングシステムの主要部の配置を示す説明図である。
【図３】同ロボットピッキングシステムを構成するカメラやプロジェクタの画角に対する光量変化の一例を示す説明図である。
【図４】実施形態におけるパターン画像において、異なるパターン条件で作成されるパターン画像部分の区分例を示す説明図である。
【図５】実施形態における初期画像パターン生成処理の流れを示すフローチャートである。
【図６】同ロボットピッキングシステムを構成するカメラやプロジェクタの配置を示す説明図である。
【図７】投射されるパターン画像上において、カメラの光学的特性とプロジェクタの光学的特性の重なり状態を示す説明図である。
【図８】粒度及びコントラストが異なるパターン画像部分をもったパターン画像の一例を示す説明図である。
【図９】実施形態における画像パターン変更処理の流れを示すフローチャートである。
【図１０】変形例におけるロボットピッキングシステムを構成するカメラやプロジェクタの配置を示す説明図である。
【図１１】プロジェクタから作業台面までの距離によって作業台面上に投射されるパターン画像の粒度が変化することを説明するための説明図である。
【図１２】変形例における初期画像パターン生成処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明に係るパターン画像投射装置を備える視差情報生成装置を、ロボットピッキングシステムに適用した一実施形態について説明する。
本実施形態におけるロボットピッキングシステムは、例えば、多数のワーク（対象物）がバラ積みされている箱から１つのワーク（例えばＴ型パイプ）をロボットアームにより取り出して、当該ワークを後段の処理装置へ受け渡すものである。このシステムでは、箱内を上方から撮像し、その撮像画像に基づいて箱内における個々のワークを区別して認識する。そして、その認識結果に基づいて、ロボットアームのハンド部で１つのワークを上方からピッキングして箱から取り出すように、ロボットアームの動作を制御する。
なお、本発明に係るパターン画像投射装置を備える視差情報生成装置は、ロボットピッキングシステムに限らず、例えば、撮像画像に基づいて撮像領域内に存在する対象物の認識処理を行う画像解析装置を搭載したその他のシステムにも適用できる。
【００１２】
図１は、本実施形態におけるロボットピッキングシステムを示すブロック図である。
図２は、本実施形態のロボットピッキングシステムの主要部の配置を示す説明図である。
本実施形態のロボットピッキングシステムは、主に、カメラ部１００及び画像処理部２００を備えたステレオカメラからなる撮像装置と、認識処理部３００及びロボットアーム制御部４００を備えたロボットアーム制御装置と、画像投射手段としてのプロジェクタ６００及びこのプロジェクタ６００を制御するパーソナルコンピュータ（以下「パソコン」という。）５００を備えたパターン画像投射装置とから構成される。プロジェクタ６００からワークが載置される作業台面６０１までの距離と、作業台面６０１からカメラ部１００までの距離は、ほぼ等しくなるように配置されている。
【００１３】
カメラ部１００は、２つの撮像手段であるカメラ１０１Ａ，１０１Ｂで構成されており、２つのカメラ１０１Ａ，１０１Ｂの構成は同一のものである。カメラ１０１Ａ，１０１Ｂは、主に、撮像レンズ等の光学系と、受光素子が２次元配置された画素アレイで構成された画像センサと、画像センサから出力されるアナログ電気信号（画像センサ上の各受光素子が受光した受光量）をデジタル電気信号に変換した撮像画像データを生成して出力する信号処理部とから構成されている。
【００１４】
画像処理部２００は、カメラ部１００から出力される撮像画像データを受け取って各種画像処理を実施する。カメラ部１００の各カメラ１０１Ａ，１０１Ｂから出力される撮像画像データは、理想ピンホールモデルで得られる画像に変換するために補正処理を行う画像補正部２０１Ａ，２０１Ｂに入力される。画像補正部２０１Ａ，２０１Ｂは、カメラ１０１Ａ，１０１Ｂごとに設けられ、ＦＰＧＡ（Field-Programmable Gate Array）やメモリ等によって構成される。画像補正部２０１Ａ，２０１Ｂは、ＦＰＧＡにより、入力されるカメラ１０１Ａ，１０１Ｂからの撮像画像データに対し、倍率補正、画像中心補正、歪補正などの補正処理を実行する。メモリには、その補正処理に用いる補正パラメータ等が格納されている。なお、ＦＰＧＡに代えて、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）などを採用してもよい。
【００１５】
画像補正部２０１Ａ，２０１Ｂから出力される補正処理後の撮像画像データ（補正画像データ）は、視差情報生成手段としての視差情報算出部２０２に送られる。視差情報算出部２０２は、各カメラ１０１Ａ，１０１Ｂで撮像して得られた補正画像データから得られる視差画像データを生成する処理を行う。具体的には、画像補正部２０１Ａ，２０１Ｂから出力される補正画像データから視差画像データを得るために、当該２つの補正画像間の対応画像部分の視差値を演算する。
【００１６】
ここでいう視差値とは、各カメラ１０１Ａ，１０１Ｂでそれぞれ撮像した撮像画像の一方を基準画像、他方を比較画像とし、撮像領域内の同一地点に対応した基準画像上の画像部分に対する比較画像上の画像部分の位置ズレ量を、当該画像部分の視差値として算出したものである。三角測量の原理を利用することで、この視差値から当該画像部分に対応した撮像領域内の当該同一地点までの距離を算出することができる。視差画像データは、基準画像データ（例えばカメラ１０１Ａが撮像した撮像画像データａ）上の各画像部分について算出される視差値に応じた画素値をそれぞれの画像部分の画素値として表した視差画像を示すものである。視差情報算出部２０２が出力する視差画像データは、後段の認識処理部３００に送られるとともに、外部Ｉ／Ｆ２０３からパソコン５００にも送られる。
【００１７】
認識処理部３００は、視差情報算出部２０２から出力される視差画像データを用いて、撮像領域内に存在する箱の中に収容されている多数のワークを個別に認識する処理を行う。具体的には、例えば、視差画像上において画素値（視差値）が大きく変化するエッジ部を検出し、その検出結果から個々のワークを映し出す画像部分を識別する。そして、例えば、識別した画像部分の中で視差値平均が最も大きい画像部分を特定し、特定した画像部分に対応するワークの水平方向位置と、その画像部分の視差値平均から算出される当該ワークまでの距離とを、ワーク認識結果として、ロボットアームの動作を制御するロボットアーム制御部４００へ出力する。このようにして特定されるワークは、箱内で最も上に積まれているワークである。
【００１８】
ロボットアーム制御部４００は、認識処理部３００から出力されるワーク認識結果に基づき、ピッキング対象となる１つのワークの位置（水平方向位置と距離）を把握することができる。ロボットアーム制御部４００は、把握した位置に存在するワークをロボットアームのハンド部で上方からピッキングして箱から取り出し、後段の処理装置へ受け渡すように、ロボットアーム動作を制御する。
【００１９】
パソコン５００は、対象物であるワークにプロジェクタ６００からパターン画像を投射させるためにプロジェクタ６００を制御する。本実施形態のパソコン５００は、主に、ＣＰＵ（Central Processing Unit）等からなる演算部と、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）あるいはＨＤＤ（Hard Disk Drive）等の記憶装置からなる記憶部、通信インターフェース等からなる通信部、キーボードやポインティングデバイスなどの入力部など、汎用のパソコンが備える一般的な機能を備えている。
【００２０】
本実施形態において、パソコン５００は、ＣＰＵが記憶部に記憶されている各種コンピュータプログラムを実行することにより、プロジェクタ６００とともにパターン画像投射装置としての動作に必要な各種機能を実現する。特に、本実施形態１では、パターン画像生成プログラムをＣＰＵで実行することにより、プロジェクタ６００がワークに向けて投射するパターン画像を生成するパターン画像生成処理を実行する。パソコン５００は、このパターン画像生成処理を実行するための構成として、視差点数算出部５０１と、パターン画像生成部５０２と、外部Ｉ／Ｆ５０３とを備え、対象物であるワークを高い認識精度で認識できるパターン画像を生成する。
【００２１】
このパターン画像生成処理は、パソコン５００における視差点数算出部５０１及びパターン画像生成部５０２によって構成される。視差点数算出部５０１は、画像処理部２００における視差情報算出部２０２から出力される視差画像データを外部Ｉ／Ｆ２０３，５０３を介して取得し、その視差画像データから、予め指定された指定画像部分内の有効視差値の数をカウントする。パターン画像生成部５０２は、視差点数算出部５０１がカウントした有効視差値の数が規定条件を満たすようなパターン画像を生成する。
【００２２】
本実施形態において、対象物であるワークの認識精度を高めるためのパターン画像を生成する理由は、次のとおりである。
認識処理部３００での認識処理は、上述したように、２つのカメラ１０１Ａ，１０１Ｂで撮像した撮像画像間の視差情報に基づいてワークを映し出す画像部分を認識する。このような処理における認識精度は、ワークを映し出す画像部分について正確に算出された視差値の数（立体物領域を構成する視差画像上の画素数）の多さに依存する。視差値の算出は、両撮像画像間の対応画像部分（撮像領域内の同一地点に対応した各画像上の画像部分）を正確に特定（マッチング）することが前提となる。
【００２３】
マッチング処理は、例えば、マッチング対象とする対応画像部分を含む基準画像内の対象画像領域と同じ縦方向位置（画像垂直方向位置）である比較画像内の各画像領域（横方向位置（画像水平方向位置）が異なる画像領域）について、それぞれ、基準画像内の対象画像領域を構成する複数の画素値（輝度値）の配列との関係について相関演算を行う。そして、一定以上の相関が認められた比較画像内の画像領域の中で最も相関が高い画像領域を、基準画像内の対象画像領域に対応する対応画像領域であると特定する。これにより、両撮像画像間の対応画像部分が特定される。
【００２４】
ここで、プロジェクタ６００は、光学系を介してパターン画像を投射するが、その光学系の光学的特性は、投射されるパターン画像全体にわたって一様ではない。本実施形態のプロジェクタ６００は、光学系の光軸中心（以下「パターン画像の中心」ともいうが、ここでいうパターン画像の中心は、パターン画像の位置的な中央地点を示すものではない。）において最も輝度が高く、その光軸中心（パターン画像の中心）から離れるほど輝度が低下するという光学的特性を有する。すなわち、プロジェクタ６００の光学系の光軸中心付近（パターン画像の中心部Ｏ）と、その光軸中心から離れた地点（パターン画像の周辺部）との間では、パターン画像の明るさ（輝度）が異なる。
【００２５】
その結果、例えば、パターン画像の中心部Ｏにおいて最適な明るさ（輝度）すなわち当該中心部Ｏについて適切な視差値が算出できる明るさ（輝度）が得られるように、パターン画像を投射すると、図３に示すように、パターン画像の周辺部では最適な明るさ（輝度）よりも明るさが低いものとなる。明るさが低いと、撮像画像のコントラストが落ちるので、相関演算の精度が低下し、正確なマッチング処理を行うことが困難となる。これにより、パターン画像の周辺部が投射されるワークについては、正確なマッチング処理ができず、その視差値が算出できなかったり、誤った視差値を算出してしまったりする可能性が高くなる。その結果、当該ワークを映し出す画像部分について、正確に算出された視差値の数（当該ワークを映し出す画像部分に対応する視差画像上の画像部分の画素数）が少なくなってしまい、認識処理部３００での認識処理精度を悪化させることになる。
【００２６】
逆に、例えば、パターン画像の周辺部において最適な明るさ（輝度）が得られるようにパターン画像を投射すると、パターン画像の中心部Ｏでは最適な明るさ（輝度）よりも明るさが高いものとなる。明るさが高すぎると、当該中心部Ｏからの光を受光する受光素子の中に受光量が当該受光素子の光量検出範囲の上限値である飽和値を超えてしまう受光素子が存在して、正確なマッチング処理を行うことが困難となり得る。この場合、パターン画像の中心部が投射されるワークについては、正確なマッチング処理ができず、その視差値が算出できなかったり、誤った視差値を算出してしまったりする可能性が高くなる。その結果、当該ワークを映し出す画像部分について、正確に算出された視差値の数が少なくなってしまい、認識処理部３００での認識処理精度を悪化させることになる。
【００２７】
また、パターン画像が投射されたワークを異なる地点から撮像するカメラ部１００の２つのカメラ１０１Ａ，１０１Ｂの光学系も、その光学的特性は撮像領域全体にわたって一様ではない。本実施形態のカメラ１０１Ａ，１０１Ｂは、図３に示すように、光学系の光軸中心（各カメラの画像センサ中心）において最も受光量が多く、その光軸中心（画像センサ中心）から離れるほど受光量が少なくなるという光学的特性を有する。すなわち、カメラ１０１Ａ，１０１Ｂの光学系の光軸中心付近（画像センサの中心部）と、その光軸中心から離れた地点（画像センサの周辺部）との間では、撮像画像の明るさ（輝度）が異なる。
【００２８】
その結果、例えば、明るさ（輝度）が一様なパターン画像が投射されたワークを撮像しても、その撮像画像の中心部について適切な視差値が算出できる明るさ（輝度）となっているときには、その撮像画像の周辺部では最適な明るさ（輝度）よりも明るさが低いものとなる。撮像画像の明るさが低いと、撮像画像のコントラストが落ちるので、相関演算の精度が低下し、正確なマッチング処理を行うことが困難となる。これにより、撮像画像の周辺部に映し出されるワークについては、正確なマッチング処理ができず、その視差値が算出できなかったり、誤った視差値を算出してしまったりする可能性が高くなる。その結果、当該ワークを映し出す画像部分について、正確に算出された視差値の数が少なくなってしまい、認識処理部３００での認識処理精度を悪化させることになる。
【００２９】
逆に、例えば、撮像画像の周辺部について適切な視差値が算出できる明るさ（輝度）となっているときには、その撮像画像の中心部では最適な明るさ（輝度）よりも明るさが高いものとなる。撮像画像の明るさが高すぎると、当該撮像画像の中心部に対応する受光素子の中に受光量が当該受光素子の光量検出範囲の上限値である飽和値を超えてしまう受光素子が存在して、正確なマッチング処理を行うことが困難となり得る。この場合、撮像画像の中心部に映し出されるワークについては、正確なマッチング処理ができず、その視差値が算出できなかったり、誤った視差値を算出してしまったりする可能性が高くなる。その結果、当該ワークを映し出す画像部分について、正確に算出された視差値の数が少なくなってしまい、認識処理部３００での認識処理精度を悪化させることになる。
【００３０】
特に、カメラ部１００の２つのカメラ１０１Ａ，１０１Ｂによって撮像される撮像画像の周辺部に写し出される撮像領域箇所と、プロジェクタ６００によってパターン画像の周辺部が投射される撮像領域箇所とが一致する場合がある。この場合、例えば、パターン画像の中心部Ｏで最適な条件によりパターン画像を投射し、かつ、撮像画像の中心部で最適な条件で撮像を行った場合、プロジェクタ６００の光学的特性（パターン画像の周辺部における光量が少ない）と、各カメラ１０１Ａ，１０１Ｂの光学的特性（撮像画像の周辺部における受光量が少ない）とが重畳して、当該撮像領域箇所に対応する撮像画像部分（撮像画像の周辺部）のマッチング処理における相関演算の精度を大きく低下させ、正確なマッチング処理を行うことが特に困難であり、認識処理部３００での認識処理精度が特に低いものとなる。
【００３１】
そこで、本実施形態では、撮像領域内において局所的に認識処理部３００での認識処理精度が低下するのを抑制するため、プロジェクタ６００やカメラ１０１Ａ，１０１Ｂについての光学的特性が互いに異なる撮像領域箇所に投射される各パターン画像部分を異なるパターン条件で作成したパターン画像を用いて、視差画像データの生成を行う。具体的には、図４に示すように、パターン画像を、横方向にｗ個、縦方向にｈ個の合計ｗ×ｈ個のパターン画像部分に区分し、各パターン画像部分を異なるパターン条件で作成してパターン画像を生成する。
【００３２】
本実施形態では、ロボットピッキングシステムを稼働させる前の初期設定において、初期パターン画像の生成処理を実行する。本実施形態では、プロジェクタ６００の光学的特性（パターン画像の周辺部の光量低下）と、カメラ１０１Ａ，１０１Ｂの光学的特性（撮像画像の周辺部の光量低下）とを考慮して、それぞれの撮像領域箇所に投射されるパターン画像部分のパターン条件を調整したパターン画像を初期パターン画像として生成する。このパターン条件は、パターンの粒度やコントラストなどが挙げられるが、認識処理部３００での認識処理精度が改善されるパターン条件であれば、特に制限はない。本実施形態のパターン画像生成部５０２では、空間周波数をパラメータとして粒度が異なるパターンを生成することができる。よって、本実施形態では、初期パターン画像を生成するときに、それぞれの撮像領域箇所に投射されるパターン画像部分についての空間周波数を調整して、それぞれの光学的特性に適した粒度のパターン画像部分（ｗ，ｈ）をもった初期パターン画像を生成する。なお、空間周波数が高いほど、パターンの粒度は細かくなる。
【００３３】
図５は、本実施形態における初期画像パターン生成処理の流れを示すフローチャートである。
初期パターン画像生成処理では、まず、パソコン５００のパターン画像生成部５０２は、パターン条件が均一な基準パターン画像を生成し、パソコン５００はプロジェクタ６００を制御してこの基準パターン画像を作業台面６０１に向けて投射する（Ｓ１）。このときのパターン画像は、いずれのパターン画像部分（ｗ，ｈ）も、同じ空間周波数ｆ０（ｗ，ｈ）で作成されたもの（粒度が同じもの）である。なお、プロジェクタ６００から投射されるパターン画像は、プロジェクタ６００の光学系等による歪みを持たないものとする。
【００３４】
パターン条件（空間周波数）が均一な基準パターン画像を投射したら、カメラ部１００の各カメラ１０１Ａ，１０１Ｂに撮像動作を実行させ（Ｓ２）、１フレーム分の撮像画像データ（基準画像データと比較画像データ）を得る。この撮像画像データは、画像補正部２０１Ａ，２０１Ｂで補正され、その補正画像データから視差情報算出部２０２により視差画像データ（視差情報）が生成される（Ｓ３）。このようにして生成された視差画像データは、外部Ｉ／Ｆ２０３，５０３を介してパターン画像生成部５０２に送られ、パターン画像生成部５０２では、受け取った視差画像データから、一般的な三角測量の原理を利用して、作業台面６０１からカメラ部１００までの距離を算出する（Ｓ４）。
【００３５】
続いて、パソコン５００のパターン画像生成部５０２は、受け取った視差画像データあるいは当該視差画像データに対応する基準画像データから、カメラ部１００の設置位置を基準としたプロジェクタ６００の相対位置情報（ＸＹＺの相対位置座標とＺ軸回りの回転角度）を算出する（Ｓ５）。具体的には、図２に示すように、作業台面に平行にＸ軸とＹ軸をとり、作業台面の法線方向にＺ軸をとり、カメラ部１００の設置位置（基準位置）を、（Ｘ座標，Ｙ座標，Ｚ座標，Ｚ軸回転角）＝（ｘ０，ｙ０，ｚ０，ｒｚ０）とし、プロジェクタ６００の設置位置を（Ｘ座標，Ｙ座標，Ｚ座標，Ｚ軸回転角）＝（ｘ，ｙ，ｚ，ｒｚ）とすると、プロジェクタ６００の相対位置情報は、（ｘ−ｘ０，ｙ−ｙ０，ｚ−ｚ０，ｒｚ−ｒｚ０）となる。
【００３６】
ここで、プロジェクタ６００の光学的特性（パターン画像の周辺部の光量低下）を周辺光量係数Ｑｐ（ｗ，ｈ）で表す。この周辺光量係数Ｑｐ（ｗ，ｈ）は、図４に示すように、パターン画像を、横方向にｗ個、縦方向にｈ個の合計ｗ×ｈ個のパターン画像部分に区分したときに、例えば、パターン画像の中心部Ｏに位置するパターン画像部分の光量に対する各パターン画像部分の相対的な光量の比率を示すものである。この場合、パターン画像の中心部Ｏに位置するパターン画像部分の周辺光量係数Ｑｐは１であり、他のパターン画像部分の周辺光量係数Ｑｐは、通常、１未満の値であって、パターン画像の中心から遠いパターン画像部分ほど周辺光量係数Ｑｐが小さい値を取る。
【００３７】
プロジェクタ６００の光学的特性を示す周辺光量係数Ｑｐ（ｗ，ｈ）は、パターン画像の中心（プロジェクタの光軸）から遠いパターン画像部分ほど周辺光量係数Ｑｐが小さい値を取るので、図６に示すように、作業台面６０１上に投射されるパターン画像の各パターン画像（ｗ，ｈ）に対応する周辺光量係数Ｑｐ（ｗ，ｈ）は、作業台面６０１上の各パターン画像（ｗ，ｈ）とプロジェクタ６００とを結ぶ仮想線とプロジェクタ６００の光軸とのなす角度θｐ（ｗ，ｈ）を使って、下記の式（１）のとおりに表すことができる。
Ｑｐ（ｗ，ｈ）  ＝  Ｉｐ／ｃｏｓ４θｐ（ｗ，ｈ）  ・・・（１）
【００３８】
本実施形態では、比例定数Ｉｐは、プロジェクタ６００ごとに特定される定数であり、予め記憶部に記憶されている。ｃｏｓ４θｐ（ｗ，ｈ）は、上述した処理ステップＳ４で求めた距離から算出される。よって、プロジェクタ６００の周辺光量係数Ｑｐ（ｗ，ｈ）は、記憶部に記憶されている比例定数Ｉｐと処理ステップＳ４で求めた距離とから算出される（Ｓ６）。
【００３９】
一方、各カメラ１０１Ａ，１０１Ｂの光学的特性（撮像画像の周辺部の光量低下）については、周辺光量係数Ｑｃ（ｗ，ｈ）で表す。この周辺光量係数Ｑｃ（ｗ，ｈ）は、例えば、撮像画像の中心部に映し出されるパターン画像部分の受光量に対する各カメラ１０１Ａ，１０１Ｂによって撮像される各パターン画像部分の相対的な受光量の比率を示すものである。
【００４０】
カメラ１０１Ａ，１０１Ｂの光学的特性を示す周辺光量係数Ｑｃ（ｗ，ｈ）は、撮像画像の中心（カメラの光軸）から遠いパターン画像部分ほど小さい値を取るので、図６に示すように、作業台面６０１上に投射されるパターン画像の各パターン画像（ｗ，ｈ）に対応する周辺光量係数Ｑｃ（ｗ，ｈ）は、作業台面６０１上の各パターン画像（ｗ，ｈ）とカメラ１０１Ａ，１０１Ｂとを結ぶ仮想線とカメラ１０１Ａ，１０１Ｂの光軸とのなす角度θｃ（ｗ，ｈ）を使って、下記の式（２）のとおりに表すことができる。
Ｑｃ（ｗ，ｈ）  ＝  Ｉｃ／ｃｏｓ４θｃ（ｗ，ｈ）  ・・・（２）
【００４１】
本実施形態では、比例定数Ｉｃは、カメラ１０１Ａ，１０１Ｂごとに特定される定数であり、予め記憶部に記憶されている。ｃｏｓ４θｃ（ｗ，ｈ）は、上述した処理ステップＳ４で求めた距離から算出される。よって、カメラ１０１Ａ，１０１Ｂの周辺光量係数Ｑｃ（ｗ，ｈ）は、記憶部に記憶されている比例定数Ｉｃと処理ステップＳ４で求めた距離とから算出される（Ｓ７）。
【００４２】
ここで、本実施形態では、各カメラ１０１Ａ，１０１Ｂの光学的特性（撮像画像の周辺部における受光量が少ない）を、プロジェクタ６００によって投射するパターン画像における各パターン画像部分（ｗ，ｈ）のパターン条件に反映させる。このとき、本実施形態では、図６に示すように、各カメラ１０１Ａ，１０１Ｂによって撮像される撮像領域の中心部（撮像画像の中心部Ｏ’）と、プロジェクタ６００によって投射されるパターン画像の中心部Ｏとが一致しておらず、オフセットしている。そのため、パターン画像上では、図７中右側の三重同心円で示すようなプロジェクタ６００の光学的特性（パターン画像の周辺部の光量低下）と、図７中左側の三重同心円で示すようなカメラ１０１Ａ，１０１Ｂの光学的特性（撮像画像の周辺部の光量低下）とが、図７に示すように重畳する。このオフセット量は、カメラ部１００の設置位置（基準位置）とプロジェクタ６００の設置位置とのオフセット量（ｘ−ｘ０，ｙ−ｙ０）に相当する。よって、各カメラ１０１Ａ，１０１Ｂの光学的特性を示す周辺光量係数Ｑｃ（ｗ，ｈ）は、各パターン画像部分（ｗ，ｈ）のパターン条件に反映させるにあたり、このオフセット量を考慮して、Ｑｃ（ｗ＋（ｘ−ｘ０），ｈ＋（ｙ−ｙ０））と表す。
【００４３】
以上より、本実施形態の初期パターン画像における各パターン画像部分（ｗ，ｈ）の粒度を決定する空間周波数ｆ１（ｗ，ｈ）は、下記の式（３）より求めることができる（Ｓ８）。
ｆ１（ｗ，ｈ）  ＝  ｆ０（ｗ，ｈ）／Ｑｐ（ｗ，ｈ）／Ｑｃ（ｗ＋（ｘ−ｘ０），ｈ＋（ｙ−ｙ０））  ・・・（３）
【００４４】
このようにして、プロジェクタ６００の光学的特性である周辺光量係数Ｑｐ（ｗ，ｈ）と、カメラ１０１Ａ，１０１Ｂの光学的特性であり周辺光量係数Ｑｃ（ｗ，ｈ）とを考慮して、各パターン画像部分（ｗ，ｈ）の粒度を決定する空間周波数ｆ１（ｗ，ｈ）を算出したら、パターン画像生成部５０２は、各空間周波数ｆ１（ｗ，ｈ）に従って各パターン画像部分（ｗ，ｈ）を作成し、粒度が異なるパターン画像部分をもった初期パターン画像を生成する（Ｓ９）。
【００４５】
なお、本実施形態では、パターン条件として粒度（空間周波数）を採用しているが、粒度に代えて又は粒度とともに、認識処理部３００での認識処理精度が改善される別のパターン条件を採用してもよい。例えば、パターン条件としてコントラストを採用する場合、パターン画像生成部５０２は、上述したように算出した各空間周波数ｆ１（ｗ，ｈ）に従って各パターン画像部分（ｗ，ｈ）のコントラストも決定し、図８に示すような粒度及びコントラストが異なるパターン画像部分をもった初期パターン画像を生成してもよい。
【００４６】
なお、このようにして生成される初期パターン画像は、予め試験等を行って生成しておき、これをパソコン５００の記憶部に記憶させておいてもよい。この場合、ロボットピッキングシステムを稼働させる前の初期設定では、記憶部から初期パターン画像を読み出せばよい。
【００４７】
ここで、上述した初期パターン画像は、プロジェクタ６００の光学的特性（パターン画像の周辺部の光量低下）と、カメラ１０１Ａ，１０１Ｂの光学的特性（撮像画像の周辺部の光量低下）とを考慮して、相対的にマッチング精度の低い撮像領域箇所（パターン画像周辺部付近など）に投射されるパターン画像部分の粒度を調整して、当該撮像領域箇所についてのマッチング精度を改善し、適切な視差値が得られない部分の発生を低減している。したがって、上述した初期設定後、この初期パターン画像を固定的に使用するようにしてもよい。
【００４８】
しかしながら、プロジェクタ６００や各カメラ１０１Ａ，１０１Ｂの光学的特性は、経時的に変化したり、温度や湿度などの環境条件によって変化したりする場合があるので、このような変化によって適切な視差値が得られない部分の発生低減効果が低下してしまうことが起こり得る。また、プロジェクタ６００や各カメラ１０１Ａ，１０１Ｂの光学的特性の変化だけでなく、その他の変化（周囲の照明条件の変化など）があった場合も、適切な視差値が得られない部分の発生低減効果が低下してしまうことが起こり得る。そこで、本実施形態では、ロボットピッキングシステムの稼働後、所定の実行タイミングでパターン画像変更処理を実行して、何らかの変化によってマッチング精度が落ちた撮像領域箇所について、その撮像領域箇所のパターン画像部分のパターン条件（粒度等）を調整してマッチング精度を改善する。
【００４９】
以下、本実施形態で実施するパターン画像変更処理について説明する。
図９は、本実施形態における画像パターン変更処理の流れを示すフローチャートである。
本ロボットピッキングシステムの稼働中の所定の実行タイミングが到来したら、まず、パソコン５００は、プロジェクタ６００を制御して、記憶部に記憶されているパターン画像を作業台面６０１に向けて投射し（Ｓ１１）、作業台面６０１上のワークへパターン画像を表示させる。このときのパターン画像は、過去の画像パターン変更処理で初期パターン画像からの変更がなければ、初期パターン画像が用いられる。その後、カメラ部１００の各カメラ１０１Ａ，１０１Ｂに撮像動作を実行させ（Ｓ１２）、１フレーム分の撮像画像データ（基準画像データと比較画像データ）を得る。この撮像画像データは、画像補正部２０１Ａ，２０１Ｂで補正され、その補正画像データから視差情報算出部２０２により視差画像データ（視差情報）が生成される（Ｓ１３）。このようにして生成された視差画像データは、外部Ｉ／Ｆ２０３，５０３を介してパソコン５００の視差点数算出部５０１に送られる。
【００５０】
一方、パソコン５００では、その視差画像データに基づく視差画像が表示部に表示され、操作者は、入力部を操作して、視差画像中において有効視差値の数をカウントする指定画像部分を設定する（Ｓ１４）。このようにして設定される指定画像部分の設定情報は、視差点数算出部５０１に受け渡される。指定画像部分は、例えば、対象物であるワークを収容する箱の内縁に沿うように設定された矩形状の画像部分とする。有効視差値の数をカウントする指定画像部分は、対象物が映し出される画像部分を含むように設定され、対象物が映し出されていない画像部分をできるだけ排除したものであるのが好ましい。これは、認識処理部３００によって認識する対象物（ワーク）以外の画像部分が含まれていると、本来必要としない視差値の数がカウントされてしまい、各パターン画像部分のパターン条件の最適化の妨げになるからである。
【００５１】
なお、この指定画像部分の形状は、矩形に限らず、円形などの他の形状であってもよい。また、ここでは、パソコン５００の操作者が手動で指定画像部分を設定する場合について説明するが、取得した視差画像データに基づいて対象物が映し出されている画像部分を特定して自動的に指定画像部分を設定するようにしてもよい。また、指定画像部分の設定は必須ではなく、視差画像全体について有効視差値の数をカウントするようにしてもよい。
【００５２】
パソコン５００の視差点数算出部５０１は、外部Ｉ／Ｆ２０３，５０３を介して受け取った視差画像データと、処理ステップＳ１４で設定された指定画像部分の設定情報とに基づき、視差画像上の当該指定画像部分内における有効な視差値の画素数（視差点数）を計測する（Ｓ１５）。計測した視差点数は、当該視差点数の計測に用いられたパターン画像（処理ステップＳ１１で投射したパターン画像）に対応づけた状態で、記憶部に保持しておく（Ｓ１６）。
【００５３】
次に、パソコン５００の視差点数算出部５０１は、計測した視差点数が所定の条件を満たすか否かを判断する。具体的には、本実施形態では、指定画像部分の総画素数が作業者の指定で変動するため、指定画像部分の総画素数に対する視差点数の比率（以下「視差点数の占有率」という。）が閾値以上であるか否かを判断する（Ｓ１７）。この視差点数の占有率が閾値以上であれば（Ｓ１７のＹｅｓ）、当該視差点数の計測に用いられたパターン画像（処理ステップＳ１１で投射したパターン画像）を、以後のロボットピッキングシステムの稼働時に用いるパターン画像として決定する（Ｓ２０）。
【００５４】
一方、この視差点数の占有率が閾値未満である場合（Ｓ１７のＮｏ）、当該視差点数の計測に用いられたパターン画像（処理ステップＳ１１で投射したパターン画像）とは別のパターン条件で各パターン画像部分を作成した別のパターン画像を生成し（Ｓ１９）、再び、処理ステップＳ１１〜Ｓ１７を実行する。
【００５５】
本実施形態において、処理ステップＳ１９で生成される別のパターン画像は以下のように生成する。
まず、本パターン画像変更処理で最初に投射したパターン画像の各パターン画像部分における粒度を決定している空間周波数ｆ１（ｗ，ｈ）を基準にして、例えば、その空間周波数ｆ１（ｗ，ｈ）を中央値とする９段階の空間周波数ｆ２（ｗ，ｈ），ｆ３（ｗ，ｈ），ｆ４（ｗ，ｈ），ｆ５（ｗ，ｈ），ｆ１（ｗ，ｈ），ｆ６（ｗ，ｈ），ｆ７（ｗ，ｈ），ｆ８（ｗ，ｈ），ｆ９（ｗ，ｈ）を設定する。具体的には、下記の式（４）により、比例定数Ｋの値を０．５≦Ｋ１≦２の範囲で変更して、空間周波数ｆ２（ｗ，ｈ）〜ｆ９（ｗ，ｈ）を設定する。
ｆ２（ｗ、ｈ）〜ｆ９（ｗ、ｈ）  ＝  ｆ１（ｗ，ｈ）×Ｋ  ・・・（４）
【００５６】
これらの空間周波数ｆ２（ｗ，ｈ）〜ｆ９（ｗ，ｈ）を用いることで、パソコン５００のパターン画像生成部５０２は、各パターン画像部分の粒度が最初に投射したパターン画像のものよりも粗い４種類のパターン画像と、各パターン画像部分の粒度が最初に投射したパターン画像のものよりも細かい４種類のパターン画像とを生成することが可能となる。
【００５７】
処理ステップＳ１９では、このようにして設定される空間周波数ｆ２（ｗ，ｈ）〜ｆ９（ｗ，ｈ）のうち、所定の順序（例えば最初に投射したパターン画像の空間周波数に近い順）に従って、パソコン５００のパターン画像生成部５０２が別のパターン画像を生成する。そして、処理ステップＳ１１〜Ｓ１７を実行し、処理ステップＳ１７において、視差点数の占有率が閾値以上になれば（Ｓ１７のＹｅｓ）、当該視差点数の計測に用いられたパターン画像が、以後のロボットピッキングシステムの稼働時に用いるパターン画像として決定される（Ｓ２０）。
【００５８】
一方、このようにして生成される別のパターン画像（ここでは８種類）のいずれのパターン画像でも、視差点数の占有率が閾値以上にならない場合（Ｓ１７のＮｏ）、パターン生成回数が規定値（ここでは８回）に達する（Ｓ１８のＹｅｓ）。この場合、合計９種類のパターン画像についての視差点数が、処理ステップＳ１６において、それぞれのパターン画像に対応づけた状態で記憶部に保存されている。よって、当該９種類のパターン画像のうち、視差点数が最も高いパターン画像を特定し、そのパターン画像を以後のロボットピッキングシステムの稼働時に用いるパターン画像として決定する（Ｓ２０）。
【００５９】
〔変形例〕
次に、本実施形態における初期パターン画像生成処理の一変形例について説明する。
上述した実施形態では、プロジェクタ６００から作業台面６０１までの距離と、作業台面６０１からカメラ部１００までの距離は、ほぼ等しくなるように配置されていたが、本変形例では、プロジェクタ６００から作業台面６０１までの距離が変動して、図１０に示すように、これらの距離が異なっている例である。
【００６０】
図１１に示すように、プロジェクタ６００から作業台面６０１までの距離が近いほど、作業台面６０１上に投射されるパターン画像の大きさが小さく（倍率が小さく）、当該距離が遠いほど、作業台面６０１上に投射されるパターン画像の大きさが大きく（倍率が大きく）なる。そのため、作業台面６０１上に投射されるパターン画像において、プロジェクタ６００から作業台面６０１までの距離が近いほど単位面積当たりのパターンは密になり、当該距離が遠いほど単位面積当たりのパターンが粗になる。そして、作業台面６０１からカメラ部１００までの距離に対して、プロジェクタ６００から作業台面６０１までの距離が相対的に変動すると、パターン画像に対する撮像領域の面積比率が変化する。このとき、単位面積あたりのパターン（白黒）の割合（密度）はほとんど変わらないが、パターンの粒度は変わることになる。
【００６１】
パターンの粒度は、視差値算出の際のマッチング精度に影響する。具体的には、作業台面６０１からカメラ部１００までの距離が一定である場合、プロジェクタ６００から作業台面６０１までの距離が近いほど粒度を全体的に高く、遠いほど粒度を全体的に低くした方が、マッチング精度が高まり、有効な視差値の数（視差点数）を増える結果、認識処理部３００での認識処理精度が高まる。よって、作業台面６０１からカメラ部１００までの距離に対して、プロジェクタ６００から作業台面６０１までの距離が相対的に変動する場合には、その距離に応じて新たなパターン画像を生成することが望ましい。
【００６２】
そこで、本変形例における初期画像パターン生成処理では、パターン画像生成部５０２が最初に処理ステップＳ１で生成するパターン条件の均一な基準パターン画像の当該パターン条件である空間周波数ｆ０（ｗ，ｈ）を、作業台面６０１からカメラ部１００までの距離に対するプロジェクタ６００から作業台面６０１までの相対的な距離に応じて補正する。
【００６３】
図１２は、本変形例における初期画像パターン生成処理の流れを示すフローチャートである。
本変形例でも、まずは、パターン条件が均一な基準パターン画像を生成して、作業台面６０１からカメラ部１００までの距離や、カメラ部１００の設置位置を基準としたプロジェクタ６００の相対位置情報を算出する（Ｓ１〜Ｓ５）。その後、本変形例では、プロジェクタ６００の投射最長距離Ｚｍａｘと、処理ステップＳ５で算出されたプロジェクタ６００の相対位置情報に基づくプロジェクタ６００から作業台面６０１までの距離Ｚと、予め決められたパターン生成係数（定数）であるＨ０とから、下記の式（５）より、補正係数Ｈを算出する（Ｓ２１）。
Ｈ  ＝  （Ｚｍａｘ−Ｚ）／Ｈ０  ・・・（５）
【００６４】
そして、このようにして求められた補正係数Ｈを用いて、下記の式（６）より、処理ステップＳ１で投射した基準パターン画像の空間周波数ｆ０（ｗ，ｈ）を補正して、補正後の空間周波数ｆ’０（ｗ，ｈ）を算出する（Ｓ２２）。これにより、作業台面６０１からカメラ部１００までの距離に対するプロジェクタ６００から作業台面６０１までの相対的な距離の変動を考慮して補正された基準パターン画像の空間周波数ｆ’０（ｗ，ｈ）を得ることができる。
ｆ’０（ｗ，ｈ）  ＝  ｆ０（ｗ，ｈ）×Ｈ  ・・・（６）
【００６５】
その後、上述した実施形態と同様、プロジェクタ６００の周辺光量係数Ｑｐ（ｗ，ｈ）やカメラ１０１Ａ，１０１Ｂの周辺光量係数Ｑｃ（ｗ，ｈ）を算出した後（Ｓ６，Ｓ７）、本実施形態の初期パターン画像における各パターン画像部分（ｗ，ｈ）の粒度を決定する空間周波数ｆ１（ｗ，ｈ）を、下記の式（３’）より求める（Ｓ８’）。
ｆ１（ｗ，ｈ）  ＝  ｆ’０（ｗ，ｈ）／Ｑｐ（ｗ，ｈ）／Ｑｃ（ｗ＋（ｘ−ｘ０），ｈ＋（ｙ−ｙ０））  ・・・（３’）
【００６６】
以上に説明したものは一例であり、次の態様毎に特有の効果を奏する。
（態様Ａ）
撮像領域内のワーク等の対象物を異なる視点からカメラ１０１Ａ，１０１Ｂ等の複数の撮像手段により撮像した撮像画像に基づいて視差情報算出部２０２等の視差情報生成手段により該対象物の視差情報を生成するときに、撮像領域に向けてパターン画像を投射するプロジェクタ６００等の画像投射手段を有するパターン画像投射装置において、前記パターン画像は、前記画像投射手段及び前記撮像手段の少なくとも一方についての光学的特性が異なる撮像領域箇所に応じて、各撮像領域箇所に投射されるパターン画像部分（ｗ，ｈ）が異なることを特徴とする。
視差情報を生成するときのマッチング精度を高められる最適なパターン画像は、画像投射手段や撮像手段の光学的特性に応じて異なる。そのため、画像投射手段や撮像手段の光学的特性が撮像領域内の撮像領域箇所に応じて異なる場合、その撮像領域箇所の違いを考慮せずに、撮像領域に投射されるパターン画像の全体を不規則あるいは非周期的な模様からなるパターン画像で構成しても、マッチング精度が相対的に低い地点が局所的に存在してしまう。
本態様においては、画像投射手段及び撮像手段の少なくとも一方についての光学的特性が異なる各撮像領域箇所に応じて異なるパターン画像部分で構成されるパターン画像を、撮像領域に向けて投射することができる。よって、撮像領域内の各撮像領域箇所に対し、それぞれの撮像領域箇所ごとに異なる画像投射手段や撮像手段の光学的特性に適したパターン画像部分を投射することができる。例えば、一部の撮像領域箇所については当該一部の撮像領域箇所に適したパターン画像部分を投射するとともに、他の撮像領域箇所については、当該一部の撮像領域箇所に適したパターン画像部分よりも当該他の撮像領域箇所に適したパターン画像部分を投射することができる。よって、撮像領域内においてマッチング精度の相対的に低い撮像領域箇所を減らす又は無くすことができ、撮像領域内のどの箇所に存在する対象物でも適切な視差情報を得ることが可能となる。
【００６７】
（態様Ｂ）
前記態様Ａにおいて、前記パターン画像を生成するパターン画像生成部５０２等のパターン画像生成手段を有することを特徴とする。
これによれば、当該パターン画像投射装置の使用環境や使用条件などに応じて各パターン画像部分を設定することが可能となり、使用環境や使用条件などに適したパターン画像を生成することができる。
【００６８】
（態様Ｃ）
前記態様Ｂにおいて、前記パターン画像生成手段は、前記視差情報生成手段が生成した視差情報に含まれる視差値の数（視差点数）に基づいて前記パターン画像を生成することを特徴とする。
これによれば、視差情報を直接的に評価した結果から各パターン画像部分を設定することが可能となり、対象物において適切な視差情報が得られない部分の発生を有効に低減できるパターン画像を生成することができる。
【００６９】
（態様Ｄ）
前記態様Ｂ又はＣにおいて、前記パターン画像生成手段は、前記撮像手段と前記対象物との距離に対する前記画像投射手段と前記対象物との相対距離Ｚに応じて、各パターン画像部分を変更したパターン画像を生成することを特徴とする。
上述した変形例で説明したとおり、撮像手段と対象物との距離に対する画像投射手段と前記対象物との相対距離Ｚが変動する場合でも、適切なパターン画像を生成することができる。
【００７０】
（態様Ｅ）
前記態様Ａ〜Ｄのいずれかの態様において、前記各撮像領域箇所に投射されるパターン画像部分は、パターンの粒度及びコントラストの少なくとも一方が異なることを特徴とする。
これによれば、マッチング精度に対する影響が大きい粒度やコントラストが各パターン画像部分で異なっているパターン画像を撮像領域に向けて投射することができる。
【００７１】
（態様Ｆ）
前記態様Ａ〜Ｅのいずれかの態様において、前記画像投射手段についての光学的特性は、該画像投射手段が投射するパターン画像の輝度を含むことを特徴とする。
これによれば、画像投射手段が投射するパターン画像の輝度が撮像領域箇所に応じて異なることにより、撮像領域内にマッチング精度の相対的に低い撮像領域箇所が存在する場合に、対象物において適切な視差情報が得られない部分の発生を低減することができる。
【００７２】
（態様Ｇ）
前記態様Ａ〜Ｆのいずれかの態様において、前記撮像手段についての光学的特性は、該撮像手段が撮像領域から受光する受光量を含むことを特徴とする。
これによれば、撮像手段が撮像領域から受光する受光量が撮像領域箇所に応じて異なることにより、撮像領域内にマッチング精度の相対的に低い撮像領域箇所が存在する場合に、対象物において適切な視差情報が得られない部分の発生を低減することができる。
【００７３】
（態様Ｈ）
撮像領域内の対象物を異なる視点から複数の撮像手段により撮像した撮像画像に基づいて該対象物の視差情報を生成する視差情報算出部２０２等の視差情報生成手段と、撮像領域に向けてパターン画像を投射するパソコン５００やプロジェクタ６００等のパターン画像投射手段とを有する視差情報生成装置において、前記パターン画像投射手段として、前記態様Ａ〜Ｇのいずれかの態様に係るパターン画像投射装置を用いることを特徴とする。
これによれば、対象物において適切な視差情報が得られない部分の発生を低減することができる。
【００７４】
（態様Ｉ）
撮像領域内の対象物を異なる視点から複数の撮像手段により撮像した撮像画像に基づいて視差情報生成手段により該対象物の視差情報を生成するときに画像投射手段が撮像領域に向けて投射するパターン画像を生成するパターン画像生成手段として、コンピュータを機能させるパターン画像生成プログラムであって、前記パターン画像は、前記画像投射手段及び前記撮像手段の少なくとも一方についての光学的特性が異なる撮像領域箇所に応じて、各撮像領域箇所に投射されるパターン画像部分が異なることを特徴とする。
本態様においては、画像投射手段及び撮像手段の少なくとも一方についての光学的特性が異なる各撮像領域箇所に応じて異なるパターン画像部分で構成されるパターン画像を、撮像領域に向けて投射することができる。よって、撮像領域内の各撮像領域箇所に対し、それぞれの撮像領域箇所ごとに異なる画像投射手段や撮像手段の光学的特性に適したパターン画像部分を投射することができる。例えば、一部の撮像領域箇所については当該一部の撮像領域箇所に適したパターン画像部分を投射するとともに、他の撮像領域箇所については、当該一部の撮像領域箇所に適したパターン画像部分よりも当該他の撮像領域箇所に適したパターン画像部分を投射することができる。よって、撮像領域内においてマッチング精度の相対的に低い撮像領域箇所を減らす又は無くすことができ、撮像領域内のどの箇所に存在する対象物でも適切な視差情報を得ることが可能となる。
【００７５】
なお、このプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録された状態で配布したり、入手したりすることができる。また、このプログラムを乗せ、所定の送信装置により送信された信号を、公衆電話回線や専用線、その他の通信網等の伝送媒体を介して配信したり、受信したりすることでも、配布、入手が可能である。この配信の際、伝送媒体中には、コンピュータプログラムの少なくとも一部が伝送されていればよい。すなわち、コンピュータプログラムを構成するすべてのデータが、一時に伝送媒体上に存在している必要はない。このプログラムを乗せた信号とは、コンピュータプログラムを含む所定の搬送波に具現化されたコンピュータデータ信号である。また、所定の送信装置からコンピュータプログラムを送信する送信方法には、プログラムを構成するデータを連続的に送信する場合も、断続的に送信する場合も含まれる。
【符号の説明】
【００７６】
１００  カメラ部
１０１Ａ，１０１Ｂ  カメラ
２００  画像処理部
２０１Ａ，２０１Ｂ  画像補正部
２０２  視差情報算出部
３００  認識処理部
４００  ロボットアーム制御部
５００  パソコン
５０１  視差点数算出部
５０２  パターン画像生成部
６００  プロジェクタ
６０１  作業台面
【先行技術文献】
【特許文献】
【００７７】
【特許文献１】特開２００１−９１２３２号公報
【図１】
0006548076.tif 000002
【図２】
0006548076.tif 000003
【図３】
0006548076.tif 000004
【図４】
0006548076.tif 000005
【図５】
0006548076.tif 000006
【図６】
0006548076.tif 000007
【図７】
0006548076.tif 000008
【図８】
0006548076.tif 000009
【図９】
0006548076.tif 000010
【図１０】
0006548076.tif 000011
【図１１】
0006548076.tif 000012
【図１２】
0006548076.tif 000013