(57)【特許請求の範囲】
【請求項１】
カメラで撮像して得られた画像から特定の物体を検出する検出手段と、
前記画像中に、前記検出手段で検出された特定の物体の予め定められた部分を含む注視領域を設定し、前記注視領域の周囲に周辺領域を設定する設定手段と、
前記設定手段により設定された前記周辺領域の画像情報を用いて、前記特定の物体の位置姿勢を算出する算出手段と、
前記設定手段により設定された前記注視領域の画像情報について予め定められた画像処理を行う画像処理手段と、
前記算出手段で算出された位置姿勢に基づいて、前記画像処理手段が実行する画像処理に用いる画像情報が前記注視領域から得られるように、前記カメラが前記特定の物体を撮像するための撮像条件を変更する変更手段と、を備え、
前記設定手段は、前記特定の物体の予め定められた部分と前記注視領域との相対的な位置関係、前記周辺領域と前記注視領域との相対的な位置関係、前記注視領域の大きさ、及び前記周辺領域の大きさの少なくともいずれかを、前記撮像条件に基づいて変更することを特徴とする画像処理装置。
【請求項２】
カメラで撮像して得られた画像から特定の物体を検出する検出手段と、
前記画像中に、前記検出手段で検出された特定の物体の予め定められた部分を含む注視領域を設定し、前記注視領域の周囲に周辺領域を設定する設定手段と、
前記設定手段により設定された前記周辺領域の画像情報を用いて、前記特定の物体の位置姿勢を算出する算出手段と、
前記設定手段により設定された前記注視領域の画像情報について予め定められた画像処理を行う画像処理手段と、
前記算出手段で算出された位置姿勢に基づいて、前記画像処理手段が実行する画像処理に用いる画像情報が前記注視領域から得られるように、前記カメラが前記特定の物体を撮像するための撮像条件を変更する変更手段と、
前記特定の物体に対して行われる作業の内容を示す情報を取得する手段と、備え、
前記設定手段は、前記特定の物体の予め定められた部分と前記注視領域との相対的な位置関係、前記周辺領域と前記注視領域との相対的な位置関係、前記注視領域の大きさ、及び前記周辺領域の大きさの少なくともいずれかを、前記作業の内容を示す情報に基づいて変更することを特徴とする画像処理装置。
【請求項３】
カメラで撮像して得られた画像から特定の物体を検出する検出手段と、
前記画像中に、前記検出手段で検出された特定の物体の予め定められた部分を含む注視領域を設定し、前記注視領域の周囲に周辺領域を設定する設定手段と、
前記設定手段により設定された前記周辺領域の画像情報を用いて、前記特定の物体の位置姿勢を算出する算出手段と、
前記設定手段により設定された前記注視領域の画像情報について予め定められた画像処理を行う画像処理手段と、
前記算出手段で算出された位置姿勢に基づいて、前記画像処理手段が実行する画像処理に用いる画像情報が前記注視領域から得られるように、前記カメラが前記特定の物体を撮像するための撮像条件を変更する変更手段とを備え、
前記設定手段は、前記特定の物体の予め定められた部分と前記注視領域との相対的な位置関係、前記周辺領域と前記注視領域との相対的な位置関係、前記注視領域の大きさ、及び前記周辺領域の大きさの少なくともいずれかを、前記検出手段で検出された特定の物体の形状に基づいて変更することを特徴とする画像処理装置。
【請求項４】
前記周辺領域における画像情報の情報量を削減する削減手段を更に備えることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記削減手段は、前記周辺領域について画像情報の階調数の削減、画素数の削減およびフレームレートの削減の少なくともいずれかを行うことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記画像処理手段は、照明手段により前記特定の物体にパターン光を照明しながら前記カメラによる撮像を行うことで得られた前記注視領域の画像情報から、前記特定の物体の三次元位置計測を行うことを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記変更手段による前記撮像条件の変更は、前記カメラの位置、角度、ズーム倍率の少なくともいずれかの変更を含むことを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記変更手段による前記撮像条件の変更は、前記照明手段による照明の位置、角度、照明パターンの少なくともいずれかの変更を含むことを特徴とする請求項６に記載の画像処理装置。
【請求項９】
前記変更手段は、前記画像処理手段が実行する画像処理に適した画像情報が前記注視領域から得られるように、前記算出手段で算出された位置姿勢に基づいて、前記カメラが前記特定の物体を撮像するための撮像条件を変更することを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
カメラで撮像して得られた画像を処理する画像処理装置の制御方法であって、
検出手段が、前記カメラで撮像して得られた画像から特定の物体を検出する検出工程と、
設定手段が、前記画像中に、前記検出手段で検出された特定の物体の予め定められた部分を含む注視領域を設定し、前記注視領域の周囲に周辺領域を設定する設定工程と、
算出手段が、前記設定工程で設定された前記周辺領域の画像情報を用いて、前記特定の物体の位置姿勢を算出する算出工程と、
画像処理手段が、前記設定工程で設定された前記注視領域の画像情報について、予め定められた画像処理を行う画像処理工程と、
変更手段が、前記算出工程で算出された位置姿勢に基づいて、前記画像処理工程が実行する画像処理に用いる画像情報が前記注視領域から得られるように、前記カメラが前記特定の物体を撮像するための撮像条件を変更する変更工程と、を有し、
前記設定工程では、前記特定の物体の予め定められた部分と前記注視領域との相対的な位置関係、前記周辺領域と前記注視領域との相対的な位置関係、前記注視領域の大きさ、及び前記周辺領域の大きさの少なくともいずれかを、前記撮像条件に基づいて変更することを特徴とする画像処理装置の制御方法。
【請求項１１】
カメラで撮像して得られた画像を処理する画像処理装置の制御方法であって、
検出手段が、前記カメラで撮像して得られた画像から特定の物体を検出する検出工程と、
設定手段が、前記画像中に、前記検出手段で検出された特定の物体の予め定められた部分を含む注視領域を設定し、前記注視領域の周囲に周辺領域を設定する設定工程と、
算出手段が、前記設定工程で設定された前記周辺領域の画像情報を用いて、前記特定の物体の位置姿勢を算出する算出工程と、
画像処理手段が、前記設定工程で設定された前記注視領域の画像情報について、予め定められた画像処理を行う画像処理工程と、
変更手段が、前記算出工程で算出された位置姿勢に基づいて、前記画像処理工程が実行する画像処理に用いる画像情報が前記注視領域から得られるように、前記カメラが前記特定の物体を撮像するための撮像条件を変更する変更工程と、
前記特定の物体に対して行われる作業の内容を示す情報を取得する工程と、を有し、
前記設定工程では、前記特定の物体の予め定められた部分と前記注視領域との相対的な位置関係、前記周辺領域と前記注視領域との相対的な位置関係、前記注視領域の大きさ、及び前記周辺領域の大きさの少なくともいずれかを、前記作業の内容を示す情報に基づいて変更することを特徴とする画像処理装置の制御方法。
【請求項１２】
カメラで撮像して得られた画像を処理する画像処理装置の制御方法であって、
検出手段が、前記カメラで撮像して得られた画像から特定の物体を検出する検出工程と、
設定手段が、前記画像中に、前記検出手段で検出された特定の物体の予め定められた部分を含む注視領域を設定し、前記注視領域の周囲に周辺領域を設定する設定工程と、
算出手段が、前記設定工程で設定された前記周辺領域の画像情報を用いて、前記特定の物体の位置姿勢を算出する算出工程と、
画像処理手段が、前記設定工程で設定された前記注視領域の画像情報について、予め定められた画像処理を行う画像処理工程と、
変更手段が、前記算出工程で算出された位置姿勢に基づいて、前記画像処理工程が実行する画像処理に用いる画像情報が前記注視領域から得られるように、前記カメラが前記特定の物体を撮像するための撮像条件を変更する変更工程と、を有し、
前記設定工程では、前記特定の物体の予め定められた部分と前記注視領域との相対的な位置関係、前記周辺領域と前記注視領域との相対的な位置関係、前記注視領域の大きさ、及び前記周辺領域の大きさの少なくともいずれかを、前記検出工程で検出された特定の物体の形状に基づいて変更することを特徴とする画像処理装置の制御方法。
【請求項１３】
請求項１乃至９のいずれか１項に記載の画像処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を用いた演算処理によって物体の各部の三次元位置を計測するための画像処理装置及びその制御方法に関する。
【背景技術】
【０００２】
一般に、撮像された画像から情報を抽出して例えばロボットを制御するシステムを構成する場合に、撮像された画像から情報を抽出する領域を設定する方法として認識対象の注目物体を含む領域の周囲領域を解析する手法が知られている。特許文献１では、外部の状況を撮像する撮像手段を有するロボット装置において、撮像手段から出力される画像信号に基づく画像中の注視領域の周囲に位置する周囲領域を解析する。そして、認識対象の注目物体が注視領域からはみ出している程度を示すはみ出し量を推定し、推定されたはみ出し量に基づいて注視点の位置を制御する。また、同様に撮像された画像の色情報を用いることにより注視領域を制御する手法が知られている（例えば非特許文献１、２参照）。
【０００３】
また、三次元位置計測の対象である注目物体に複数のスポット光を照射し、注目物体に形成されるマルチスポットパターンを撮影して得られた画像から当該注目物体の各部の三次元位置を算出する方法が提案されている（非特許文献３）。このような三次元位置計測では、スポットパターンが写っている領域を適切に設定すること、すなわち撮像された画像から情報を抽出する領域を適切に設定することが、計測精度の向上に対して重要である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１９１１８９号公報
【非特許文献】
【０００５】
【非特許文献１】Mei-Juan Chen他、“ROI Video CodingBased on H.263+ with Robust Skin-Color Detection Technique”、 IEEETransactionson Consumer Electronics, Vol. 49, No. 3, AUGUST 2003
【非特許文献２】三ツ谷祐輔他、“四脚歩行ロボット搭載用両眼視覚システムの開発”、 計測自動制御学会東北支部第188回研究集会 資料番号188-14
【非特許文献３】石川正俊他、“多点瞬時解析高速ビジョンによる運動／変形物体のリアルタイム三次元センシング”、日本ロボット学会誌, Vol.25, No.6, pp.1005-1013, 2007
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の従来技術では、周辺領域を解析することにより、認識対象の注目物体が注視領域からはみ出していることを検知して注視領域を再設定することを目的としているのみである。すなわち、従来技術では、注視領域に対する画像処理（例えば三次元位置計測）のために必要とする情報をより適切に注視領域から抽出するために、撮像条件等を制御することは行っていない。また画像の色情報を用いる場合も、画像中の注視領域から必要な情報を抽出するために、注視領域に対する画像処理方法および撮像制御方法を変更することは想定していない。
【０００７】
本発明は、上記の課題に鑑みてなされたものであり、画像処理に適切な情報が注視領域から得られるように撮像条件を適切に設定することが可能な画像処理装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するための本発明の一態様による画像処理装置は以下の構成を備える。すなわち、
カメラで撮像して得られた画像から特定の物体を検出する検出手段と、
前記画像中に、前記検出手段で検出された特定の物体の予め定められた部分を含む注視領域を設定し、前記注視領域の周囲に周辺領域を設定する設定手段と、
前記設定手段により設定された前記周辺領域の画像情報を用いて、前記特定の物体の位置姿勢を算出する算出手段と、
前記設定手段により設定された前記注視領域の画像情報について予め定められた画像処理を行う画像処理手段と、
前記算出手段で算出された位置姿勢に基づいて、前記画像処理手段が実行する画像処理に用いる画像情報が前記注視領域から得られるように、前記カメラが前記特定の物体を撮像するための撮像条件を変更する変更手段と、を備え、
前記設定手段は、前記特定の物体の予め定められた部分と前記注視領域との相対的な位置関係、前記周辺領域と前記注視領域との相対的な位置関係、前記注視領域の大きさ、及び前記周辺領域の大きさの少なくともいずれかを、前記撮像条件に基づいて変更する。
【発明の効果】
【０００９】
本発明によれば、注視領域の周辺に設定された周辺領域の画像情報に基づいて、注視領域から画像処理に適切な画像情報が得られるように撮像条件を設定される。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態による三次元位置計測処理を示すフロー図。
【図２】実施形態における装置構成例を示す図。
【図３】実施形態における装置構成例を示す図。
【図４】実施形態における注視領域および周辺領域の設定状況を示す図。
【図５】実施形態におけるＣＭＯＳセンサ部を示す図。
【図６】（ａ）は、注視領域対応ランプ電圧を示す図、（ｂ）は周辺領域対応ランプ電圧を示す図。
【図７】三次元位置データ算出手法を示す図。
【図８】（ａ）は周辺領域の画像データを、（ｂ）はエッジデータ抽出状況を、（ｃ）はワイヤーフレームモデルの生成状況を、（ｄ）はモデルフィッティング状況を示す図。
【図９】（ａ）はマルチスポット光パターンを、（ｂ）はマルチスポット光の変形状況を、（ｃ）はオクルージョン状況を示す図。
【図１０】（ａ）は調整したマルチスポット光パターンを、（ｂ）はスリット光パターンを示す図。
【図１１】空間分解能が変更されたスポット光パターンを示す図。
【図１２】第２実施形態の、周辺領域における画素数削減手法を示す図。
【図１３】第３実施形態による三次元位置計測処理を示すフロー図。
【図１４】、
【図１５】第３実施形態よる、注視領域及び周辺領域の調整を説明する図。
【図１６】第４実施形態による三次元位置計測処理を示すフロー図。
【図１７】（ａ）は注視領域および周辺領域の設定状況を、（ｂ）は調整後の注視領域および周辺領域の設定状況を示す図。
【図１８】調整後の注視領域および周辺領域の設定状況を示す図。
【図１９】モニタ画面の表示例を示す図。
【発明を実施するための形態】
【００１１】
以下、添付の図面を参照して本発明の好適な実施形態について説明する。
【００１２】
＜第１実施形態＞
図１に本実施形態における三次元位置計測のための撮像制御方法の処理フローチャートを示す。図１において、画像データ取得処理１では、カメラ等の撮像装置から画像データを取得する。物体検出／認識処理２では、画像データ取得処理１で取得された画像データから、周知の物体検出／認識処理により特定の物体を検出および認識する。注視領域／周辺領域設定処理３では、検出および認識した特定の物体の少なくとも一部が含まれるように注視領域を設定し、かつ注視領域の周囲に、注視領域よりも画像データの情報量を削減した周辺領域を設定する。パターン光照射処理４では、注視領域に対して例えばマルチスポット光からなるパターン光を照射する。三次元位置データ算出処理５では、パターン光が投影された注視領域の画像に基づいて、特定の物体に関する奥行き距離情報を算出する。すなわち、三次元位置データ算出処理５では、注視領域／周辺領域設定処理３による各領域の設定後に撮像装置により撮像された画像の注視領域における画像情報を用いて特定の物体の三次元位置が計測される。位置姿勢算出処理６は、注視領域／周辺領域設定処理３による各領域の設定後に撮像装置により撮像された画像の周辺領域の画像を用いて特定の物体の位置姿勢を算出する。撮像条件／演算処理条件変更処理７では、位置姿勢算出処理６により算出された特定物体の位置姿勢に基づいて撮像条件および演算処理条件を変更する。本実施形態においては、図１に示す処理フローを繰り返し、取得する動画像のフレームごとに、特定の物体の奥行き距離情報を含んだ三次元位置データを得ることを目的としている。
【００１３】
続いて、本実施形態における三次元位置計測のための撮像制御方法を実装するロボットシステムの構成例を図２を参照して説明する。本実施形態のロボットシステムは、撮像装置であるカメラ８、カメラ８を搭載したロボットアーム１１、パターン光照射器１３、パターン光照射器１３を搭載したロボットアーム１５、ロボットハンド１７を搭載したロボットアーム１９を有する。図２では、ロボットハンド１７が対象物体であるネジ２３をつかんだ状態が示されている。
【００１４】
更に、図２に示すロボットシステムにおいて、カメラコントローラ３７はロボットアーム１１に搭載されたカメラ８を制御する。カメラ用アームコントローラ３８は、カメラが搭載されたロボットアーム１１を制御する。照明コントローラ３９は、ロボットアーム１５に搭載されたパターン光照射器１３を制御する。照明用アームコントローラ４０は、パターン光照射器１３が搭載されたロボットアーム１５を制御する。ハンド・アームコントローラ４１は、ロボットハンド１７が搭載されたロボットアーム１９、およびロボットハンド１７を制御する。コンピュータ３５は上記の構成において、三次元位置計測、ロボットによる作業（タスク）を実行させるべく各コントローラを統括的に制御する。モニタ３６はコンピュータ３５の制御下で各種表示を行う。
【００１５】
また、コンピュータ３５は、専用のハードウエア（上述の各コントローラや回路）を用いて、或いはＣＰＵがプログラムを実行することにより、図３に示す各部の機能を実現する。画像取得部９はカメラコントローラ３７を制御することにより、カメラ８から画像を取得する。カメラ制御部１０は、カメラコントローラ３７を介してカメラ８の動作を制御する。カメラ用アーム制御部１２は、カメラ用アームコントローラ３８を介してカメラ８を搭載したロボットアーム１１の動作を制御する。照明制御部１４は、照明コントローラ３９を介して３次元計測のためのパターン光照射器１３を制御する。照明用アーム制御部１６は、照明用アームコントローラ４０を介して、パターン光照射器１３を搭載したロボットアーム１５の動作を制御する。ハンド制御部１８は、ハンド・アームコントローラ４１を介してロボットハンド１７の動作を制御する。ハンド用アーム制御部２０は、ハンド・アームコントローラ４１を介してロボットハンド１７を搭載したロボットアーム１９の動作を制御する。また、それぞれの制御部は、ＢＵＳ２２を介して画像処理部２１に接続される。
【００１６】
なお、カメラ８はＣＭＯＳカメラでもＣＣＤカメラのどちらでも構わないが、本実施形態においてはＣＭＯＳカメラを用いることとする。また、カメラ８は、後述する画像領域設定サイズに対応して３０〜１０００ｆｐｓのフレームレートで画像を取得可能であるとする。
【００１７】
また図２、図３に示したように、カメラ８およびパターン光照射器１３は、ロボットアームに搭載されており、コンピュータ３５からの指示により、空間的な位置座標、照明または撮像の向き、撮像条件、および照明条件が可変であるものとする。以上のような構成を備えた本実施形態のロボットシステムにおける、図１に示した各処理の処理内容について、以下に詳細に説明する。
【００１８】
画像データ取得処理１では、画像取得部９が対象物体を含む画像をカメラ８により撮像し、画像処理部２１に撮像した画像データを入力する。なお、本実施形態における対象物体はネジ２３であり、ロボットハンド１７によって把持されている。また、カメラ８およびパターン光照射器１３の位置は、事前に設定された初期設定位置および初期設定角度に設定されているものとする。
【００１９】
続いて、物体検出／認識処理２において、画像処理部２１は、取得した画像データに対して一般的なレンズ歪み補正等の前処理を施した後、所定の物体検出／認識技術により画像データから測定対象物体を検出および認識する。ここで、所定の物体検出／認識技術としては、既存の物体検出／認識技術の適用が可能であり、本実施形態においてはエッジ等の特徴量を抽出する特徴抽出処理技術と、抽出された特徴情報を基にしたモデルフィッティング処理技術を用いる。なお、モデルフィッティング処理を行う場合の測定対象物体のモデルデータは、画像処理部２１の記憶部（不図示）に保持されているものとする。もちろん、物体検出／認識技術としては、測定対象物体を画像データから適切に検出／認識可能なものであればその他の手法を用いるものでも構わない。
【００２０】
次に、注視領域／周辺領域設定処理３において、物体検出／認識処理２で検出／認識した測定対象物体に対して、三次元位置データを算出する領域を注視領域として設定する。また、これと同時に注視領域の周囲に当該注視領域よりも画像データの情報量を削減した周辺領域を設定する。例えば本実施形態では、図４に示すように、対象物体であるネジ２３の先端部を含むように注視領域２４を設定し、同時に注視領域２４に含まれないネジ部分を含む周辺領域２５を設定する。ここで、ネジ２３の先端部の領域は、事前に画像処理部２１の記憶部に保持されているモデルデータにおいて指定されており、その先端部の領域の重心位置に対して注視領域２４の中心位置が設定される。また、注視領域２４のサイズは、画像上で検出および認識されたネジ２３の先端部の領域を含むように設定される。なお、本実施形態において、注視領域２４と周辺領域２５の大きさ、注視領域２４と先端部の領域との相対位置関係、注視領域２４と周辺領域２５との間の相対位置関係は固定であり、予め設定されているものとする。
【００２１】
なお本実施形態においては、図４に示すようにネジ２３はロボットアーム１９に搭載されたロボットハンド１７によって把持されており、事前に設定された嵌合等のタスクに応じてロボットアーム１９およびロボットハンド１７によって移動される。ロボットによるネジ２３の移動量が所定量を超えると、注視領域にネジ２３の先端が入らなくなるので、物体検出／認識処理２からの処理を再度行う必要がある。
【００２２】
また、本実施形態では、例えば注視領域２４に設定した部分の画像の輝度データの階調を１０bitとし、周辺領域２５に設定した部分の画像の輝度データの階調を８bitとする。ここで、注視領域２４および周辺領域２５のそれぞれの領域の画像データを取得する方法としては、まずカメラ８内のＣＭＯＳセンサ２６において領域指定および輝度データの階調削減を実行する手法が挙げられる。例えば図５に示すように、ＣＭＯＳセンサ２６は、並列に画素データに相当する電圧値を読み出し、同時にＡＤ変換回路によってＡＤ変換を実行する構成を有する。なお、紙面の都合により、図５ではＣＭＯＳセンサ２６の画素数を１０×１０として示している。
【００２３】
ＡＤ変換回路では、図５に示すように、コンパレータ２７が画素の電圧値と、注視領域対応ランプ電圧回路３０または周辺領域対応ランプ電圧回路３１から入力されるランプ電圧とを比較する。そして、コンパレータ２７により両者の一致が検出されるまでの時間をカウンタ２８で計数することによりＡＤ変換が実行される。なおカウンタ２８の値は、ラッチ２９に保持される。
【００２４】
上記構成において、注視領域２４の行アドレス範囲を４および５、列アドレス範囲を４および５に指定したとする。また、周辺領域２５を注視領域２４の周囲の２画素分広い範囲（行アドレス範囲が２〜７で、列アドレス範囲が２〜７において、注視領域２４を除いた領域）に指定したとする。本実施形態では、ＣＭＯＳセンサから画素データを読み出す際に、設定された注視領域２４および周辺領域２５に対応する行・列のアドレス範囲のみを読み出し対象としてアクティブにする。これにより、注視領域２４および周辺領域２５の領域のみを読み出し、かつＡＤ変換を実行することが可能となる。このような構成によれば、読み出す画像領域が限定されるため、画像全体を読み出す場合に対して画像の取得フレームレートが向上する効果がある。本実施形態の場合は、注視領域２４および周辺領域２５として読み出し領域を限定したことにより、２００ｆｐｓのフレームレートで画像を取得する事ができるものとする。
【００２５】
またＡＤ変換に際して、注視領域２４に関してはランプ電圧の時間幅を、図６の（ａ）に示すように、
（カウンタのクロックサイクル＝１０ns）×２１０ ・・・（１）
と設定する。また、周辺領域２５に関してはランプ電圧の時間幅を図６の（ｂ）に示すように
（カウンタのクロックサイクル＝１０ns）×２８ ・・・（２）
と設定する。こうして、注視領域２４と周辺領域２５のそれぞれにおける画像の輝度データを異なる階調でデジタル化することが可能となる。すなわち、周辺領域２５の画像データの情報量を、注視領域２４のものよりも低減させることができる。
【００２６】
なお、注視領域２４および周辺領域２５の設定、および周辺領域２５における画像データの情報量削減手法は上述したものに限られない。例えば、カメラ８から画像を取得した後に、画像処理部２１によって領域指定および輝度データの階調削減を実行する等の様々な手法が考えられる。
【００２７】
また、本実施形態では、上述したように注視領域／周辺領域設定処理３において、物体検出および物体認識結果を基にカメラ８内の処理として注視領域２４および周辺領域２５の設定を実現する。そのため、注視領域２４および周辺領域２５が設定された画像を取得できるのは、物体検出／認識処理２において処理の対象となった画像データの次のフレーム以降の画像データとなる。そこで本実施形態においては、注視領域２４および周辺領域２５が設定された画像は、物体検出／認識処理２で処理される画像の１フレーム後から取得できるものとする。したがって、以降で説明する処理は、すでに注視領域２４および周辺領域２５が設定された画像を対象としたものとする。
【００２８】
なお、１つのタスクにおける標準的な処理としては、前述した物体検出／認識処理２および注視領域／周辺領域設定処理３は最初の１回のみ実行される。そして、その後に画像データ取得処理により連続的に取得される画像に対しては、物体検出／認識処理２および注視領域／周辺領域設定処理３を省略し、以降で説明する処理を実行すればよい。ただし必要に応じて、１つのタスクにおける処理として、上述した物体検出／認識処理２および注視領域／周辺領域設定処理３を複数回実行するものであっても構わない。
【００２９】
続いて、パターン光照射処理４において、パターン光照射器１３よるパターン光の照射を行う。なお本実施形態においては、初期状態におけるパターン光を照射する位置は、事前情報として与えられている初期状態における対象物体の位置とする。或いは、初期状態における対象物体の位置が事前情報として与えられていない場合には、モデルフィッティング処理で算出された画像中での対象物体の位置情報を空間的な位置情報に換算することでパターン光を照射する位置（対象物体の位置）を決定できる。なお、空間的な位置情報への換算は、カメラ８の位置、角度、およびズーム倍率等の撮像条件設定を用いて行うことができる。
【００３０】
本実施形態においては、パターン光照射器１３は校正のとれた多数の点光源で構成されるマルチスポットパターンをレーザ照射する機能を有する。また照射するパターン光のパターンは、図９の（ａ）に示すように複数のスポットがマトリックス状に配置されたマルチスポットである。なお、パターン光のパターンとしては、このほかにも複数スリットを用いたものや格子状のパターンを用いることも可能である。
【００３１】
続いて、三次元位置データ算出処理５において、画像処理部２１は、パターン光が照射された注視領域の画像データを用いて、奥行き距離情報を含んだ三次元位置データ算出処理を実行する。ここで、マルチスポットパターンを用いた、奥行き距離情報の算出を含む三次元位置データ算出手法に関して、図７を用いて説明する。
【００３２】
まず計測されるスポットは、パターン光照射器１３から延びる投影直線siと、カメラ８の位置から延びる直線Pの交点に位置する。従って、これらの直線の幾何的な位置関係が既知であれば、空間点Mi=[xw, yw, zw]tは、カメラ８によって撮像された画像面上の画像点mi=[Xv, Yv]tから取得できる。ここで、添え字iは、それぞれの投影スポットの番号を示す。
【００３３】
このとき、パターン光照射器１３から測定対象物への投影直線を以下の式（３）に示す。
Mi = c + δsi + c０i(i= １, ...., Np) ・・・（３）
ここで、cはパターン光照射器の中心座標、siは各スポットの勾配、c０iは各スポットのオフセット座標を示す。また、Npは投影スポットの総数を示し、δは媒介変数を表す。
【００３４】
また撮像系に関する幾何拘束は以下の式（４）で示される。
PM’i = wm’i ・・・（４）
式（４）は、スポットiの空間点M’i = [Mti,１]tが、透視投影行列Pと画像点m’i = [mti,１]tの積で表されることを示している。
なお、wは０でない定数を示す。
ここで、c、si、Pが既知のパラメータであり、miが観測データ、すなわち画像として取得されるスポット位置に相当する。
【００３５】
画像処理部２１は、パターン光が投影された注視領域２４の画像データに対して投影されたスポットパターンに対応した特徴抽出およびパターンマッチング処理を実行することにより、画像上の２次元的な位置情報として観測データmiを算出する。
【００３６】
なお、画像データからスポットパターンの位置情報を算出する手法としては、前述した特徴抽出およびパターンマッチング処理以外の手法を用いても構わない。画像データからスポットパターンの位置情報を算出する手法の個別のバリエーションに関しては、本発明の主眼とするところではないため説明を省略する。
【００３７】
以上説明した結果として、上記の式（３）、（４）から空間点Miとして、パターン光照射位置の奥行き距離情報を含んだ三次元位置データを算出することが可能となる。なお、観測データmiのそれぞれがどの照射スポットに対応するかは、事前に確定されているものとする。以上説明した本実施形態で用いるマルチスポットパターンを用いた奥行き距離情報を含んだ三次元位置データ算出手法は、例えば非特許文献３に記載されている。
【００３８】
また、パターン光を用いた奥行き距離情報を含んだ三次元位置データ算出手法としては、前述した手法はあくまで一例でありその他の手法を用いたものであっても構わない。三次元位置データ算出手法の個別のバリエーションに関しては、本発明の主眼とするところではないため説明を省略する。
【００３９】
上述の注視領域の画像データに対する奥行き距離情報を含んだ三次元位置データ算出処理と並行して、画像処理部２１は、位置姿勢算出処理６において周辺領域の画像データに対する位置姿勢算出処理を実行する。前述したように周辺領域２５の画像データには、図８の（ａ）に示すように注視領域２４に含まれないネジ部分が含まれる。本実施形態においては、位置姿勢の算出は、特徴抽出処理、ワイヤーフレームモデル生成、およびモデルフィッティングにより実現する。ここで、特徴抽出処理、ワイヤーフレームモデル生成、およびモデルフィッティングに関して説明を行う。まず、図８の（ｂ）に示すように、画像処理部２１は、特徴抽出処理により周辺領域２５の画像データに対してエッジ抽出処理を実行する。続いて、画像処理部２１は、図８の（ｂ）に示すように抽出されたエッジデータに対して、エッジの連続性を検出することにより、図８の（ｃ）に示すようなワイヤーフレームモデルを生成する。さらに、画像処理部２１は、図８の（ｄ）に示すように、抽出されたワイヤーフレームモデルに対して、事前に画像処理部２１の記憶部に保持されたネジ２３のモデルデータとのモデルフィッティングを実行することで、ネジ２３の位置姿勢を算出する。
【００４０】
このとき、前述した物体検出／認識処理２によりネジ２３は特定されている。このため、周辺領域２５の画像データにおいて、図８の（ａ）に示すように注視領域２４に含まれるネジ２３の先端部の画像データが欠け、かつ輝度データの階調が８bitに削減されていても、画像上でのネジ２３の位置姿勢は容易に算出することができる。
【００４１】
位置姿勢算出処理６で算出されるネジ２３の位置姿勢情報は、注視領域２４における三次元位置データの算出をより精度良く実行するために、カメラ８およびパターン光照射器１３による撮像条件等を変更するのに用いられる。したがって、ネジ２３の位置姿勢情報の算出には、周辺領域２５の画像データを処理対象とすることで十分である。撮像条件／演算処理条件変更処理７は、算出されたネジ２３の位置姿勢情報に基づいて、カメラ８及びパターン光照射器１３のネジ２３に対する空間的な相対位置、相対的な角度、パターン光のスポットパターン等の少なくともいずれかを変更する。
【００４２】
また、周辺領域２５の画像データを用いた位置姿勢の算出結果の信頼度が所定のしきい値Thを下回る場合には、撮像条件／演算処理条件変更処理７による変更を禁止するようにしても良い。信頼度は、本実施形態では、周辺領域２５に含まれる対象物体（ネジ２３）の画像データの欠損比率（面積比）と、周辺領域２５の画像データの削減値（解像度、階調数等）に対応して、部品の種類ごとに、事前に設定されている。ここで、画像データの欠損比率（面積比）は、例えば、位置姿勢算出処理６により算出された位置姿勢を有する対象物体の全面積と周辺領域に存在しない部分の面積との比として算出することができる。また例えば、以下の式（５）で示されるように信頼度を算出しても良い。
（信頼度）=（周辺領域の解像度）×（周辺領域の階調数）／（画像データの欠損比率） ・・・（５）
【００４３】
なお、信頼度が所定のしきい値Thを下回った場合には、周辺領域２５の設定を調整することで信頼度の向上が可能であるが、それらの実施形態に関しては、第３実施形態および第４実施形態で説明を行う。また、信頼度が低下したことに応じて、上述した物体検出／認識処理２からの処理を繰り返すようにしても良い。
【００４４】
なお、周辺領域２５の画像データを用いた位置姿勢計測手法としては、前述した手法以外を用いても構わない。測定対象物の位置姿勢を計測可能な手法であれば、その他の手法を用いても本発明の本質は損なわれない。
【００４５】
続いて、前述したように周辺領域２５の画像データからネジ２３の位置姿勢情報を得られれば、現状での、ネジ２３とカメラ８およびパターン光照射器１３との相対的な位置および角度を算出することができる。すなわち、カメラ８およびパターン光照射器１３の位置および角度は、それぞれが搭載されたロボットアームの制御装置により指定される既知の情報である。したがって、周辺領域２５から得られるネジ２３の位置姿勢情報と統合することにより、容易に両者の相対位置および相対的な角度の情報を得ることができる。なお本実施形態においては、ネジ２３とカメラ８およびパターン光照射器１３との相対的な位置および角度の算出処理は、図１に示す位置姿勢算出処理６に含まれる。
【００４６】
続いて、撮像条件／演算処理条件変更処理７において、画像処理部２１は、前述した周辺領域の画像データに対する演算処理結果に応じて、撮像条件および演算処理条件の変更を実行する。なお、撮像条件の変更としては、例えば、カメラ８の位置、角度、ズーム倍率の変更、パターン光照射器１３による照明の位置、角度、照明パターンの変更の少なくともいずれかを挙げることができる。また、演算処理条件の変更は、例えば、撮像条件に変更に応じて画像処理（本例では三次元位置計測）に用いるパラメータを変更することが挙げられる。
【００４７】
前述したように、位置姿勢算出処理６において、ネジ２３とカメラ８およびパターン光照射器１３との相対的な位置および角度の情報が得られている。ここで注視領域２４における奥行き距離情報を含んだ三次元位置データの算出処理を考える。例えばネジ２３の注視すべき面とパターン光照射器１３との相対位置関係が垂直方向から大きくずれていた場合、図９の（ｂ）に示すようにパターン光の各スポットは変形してしまい、かつ照射面積が広がるため輝度値も低下する。従って、取得した画像の注視領域２４において、特徴抽出およびパターンマッチング処理を実行する時に、画像上の２次元的なスポット位置miを算出する際の位置情報精度の劣化が生じる。その結果、奥行き距離情報を含んだ三次元位置データの算出精度も劣化してしまう。
【００４８】
また例えば図９の（ｃ）に示すように、ネジ２３の注視すべき面とカメラ８の間にロボットアーム３２等の遮蔽物が入り込み、それが注視領域２４にオクルージョンを生じさせてしまった場合も、三次元位置データの算出精度が劣化する。オクルージョン部のスポット位置miの位置情報が注視領域２４の画像データから得られず、奥行き距離情報を含んだ三次元位置データの欠損が生じるためである。
【００４９】
これに対して本実施形態においては、撮像条件／演算処理条件変更処理７において、ネジ２３の注視すべき面とパターン光照射器１３との相対位置関係を垂直方向に修正するよう、パターン光照射器１３の位置および角度が変更される。なお、この変更は、データ量を削減した周辺領域２５の画像データを用いて算出された、ネジ２３とパターン光照射器１３との相対的な位置および角度の情報を基にしてなされる。また、撮像条件／演算処理条件変更処理７において、ネジ２３とカメラ８、およびロボットアームとの相対的な位置および角度の情報を基にして、注視領域２４にオクルージョンが生じないようにカメラ８の位置および角度が変更される。
【００５０】
以上の処理により、前述したようなパターン光の各スポットの変形や、オクルージョンを回避する事ができるため、結果として奥行き距離情報を含んだ三次元位置データの算出精度の劣化を防止することが可能となる。また、前述した周辺領域２５に対する位置姿勢算出処理６の処理に関しては、周辺領域２５の画像データの情報量を削減しているため、データ転送におけるトラフィック負荷および演算処理における処理負荷の両面を低減する事ができる。なお当然のことながら、撮像条件／演算処理条件変更処理７により撮像条件／演算処理条件が変更された画像は、次フレーム以降に取得が可能である。
【００５１】
また本実施形態においては、前述したようにネジ２３はロボットアーム１９およびロボットハンド１７により把持され、嵌合等の所定のタスクが実行される。このため、ネジ２３とパターン光照射器１３およびカメラ８の相対位置および相対角度はタスクの進行に応じて逐次変化し得る。このような変化に対しては、前述した処理フローをカメラ８により取得される画像の毎フレームごと、もしくは適当なフレームごとに繰り返せばよい。このような繰り返しにより、ネジ２３とパターン光照射器１３およびネジ２３とカメラ８の相対位置および相対角度の変化に追従して、それぞれの相対位置を適当に制御することが可能となる。
【００５２】
なお前述したように、１つのタスクにおいて以上の処理を繰り返す場合には、測定対象物（本実施形態ではネジ２３）を一旦検出および認識した後は、物体検出／認識処理２、および注視領域／周辺領域設定処理３は省略することが可能である。ただし必要に応じて、１つのタスクにおける処理として、前述した物体検出／認識処理２および注視領域／周辺領域設定処理３を複数回実行するものであっても構わない。
【００５３】
また、以上では、周辺領域２５からのネジ２３の位置姿勢算出結果に応じて、ネジ２３とパターン光照射器１３およびネジ２３とカメラ８の相対位置および相対角度を制御することにより、三次元位置データの算出精度の劣化を防止する構成を説明した。しかしながら、周辺領域２５からのネジ２３の位置姿勢算出結果に応じて、上記以外の制御を実行することも、奥行き方向の距離情報を含む三次元位置データの算出精度の向上に有効である。
【００５４】
例えば図７に示したネジ２３の先端部の三次元位置データを計測する場合には、実際にはネジ２３の先端部に関して、空間分解能的に密な情報を得られれば良いのであって、ネジ２３以外の背景部に関しては空間分解能的に疎な情報で十分である場合が多い。図７では、三次元位置データの算出点となるスポット光の一部がネジ２３の先端部を外れており、計測対象外の背景部にはみ出していることが分かる。そこで、周辺領域２５からのネジ２３の位置姿勢算出結果に応じて、図１０の（ａ）に示すように、パターン光照射器１３から照射するパターン光の密度およびパターンを測定対象物に合わせて変更するようにしてもよい。こうすることにより、奥行き方向の距離情報を含む三次元位置データの算出精度の向上を実現することが可能となる。なおこの場合の算出精度とは、空間分解能に関する精度を意味している。
【００５５】
また、図７では、位置姿勢算出結果により、ネジ２３が注視領域２４に対して斜め方向に傾いており、かつ測定すべきネジ２３の先端部の領域が正方形状ではなく長方形状であることが判明している。そこで図１０の（ａ）では、パターン光におけるスポットパターンの密度を縦方向と横方向で異なる値に変更し、かつ正方形状であったスポットパターンを長方形状に変更している。また、スポットパターンがネジの先端部を外れることなく覆うように、スポットパターンを注視領域面内に対して回転させている。その結果、図１０の（ａ）から分かるように、ほぼ全てのスポット光がネジ２３の先端部に照射され、必要とされているネジ２３の先端部に関する空間分解能的に密な三次元位置データを算出することが可能となる。
【００５６】
また、周辺領域２５からのネジ２３の位置姿勢算出結果に応じて、パターン光を図９の（ａ）に示すようなスポットパターンから、図１０の（ｂ）に示すようなスリット光パターンに変更することも可能である。この場合は、位置姿勢算出結果により、ネジ２３が注視領域２４に対して斜め方向に傾いており、かつネジ２３の円周方向に関する奥行き座標の変化量が急峻であり、さらにネジ２３の軸方向に関する奥行き座標の変化量はほとんど無いことが判明している。そこで図１０の（ｂ）では、パターン光をネジに合わせて斜め方向に傾け、さらに奥行き座標の変化量が急峻なネジ２３の円周方向にパターンが変化するスリット光に変更する。そして、奥行き座標の変化量がほとんど無いネジ２３の軸方向に関してはスリット光パターンの空間変化を無くしてしまう。これにより、ネジ２３の円周方向の空間分解能を重視した三次元位置データの計測が可能となる。
【００５７】
また例えば、前述したようにオクルージョンを回避するためにカメラ８の位置および角度を移動した場合に、その移動の仕方はカメラ８を搭載しているロボットアーム１１とその他の装置との位置関係に依存する。したがって、例えばロボットアームと他の装置との接触を避けるために、測定対象物（ネジ２３）からカメラ８を遠ざける必要が生じる場合が発生し得る。この場合、測定対象物およびパターン光の注視領域２４における相対的な大きさが小さくなるため、二次元画像上での空間分解精度が劣化する可能性が生じる。そこで、ネジ２３とカメラ８の想定的な位置関係の算出結果に応じてカメラ８のズーム倍率を制御することにより、これを回避するように構成しても良い。
【００５８】
なお、前述した実施形態においては、取得する画像の毎フレームごとに撮像条件／演算処理条件変更処理７を実行する例を説明したが、その実行サイクルは一例を示したに過ぎない。必要に応じて、より遅いサイクルで撮像条件／演算処理条件変更処理７を実行するものであっても良い。例えば、取得する画像の３フレームに１回のみ撮像条件／演算処理条件変更処理７を実行するものであっても良い。
【００５９】
また、以上説明した三次元位置データ算出処理５では、カメラ８により取得される画像のフレームごとに奥行き方向の距離情報を含む三次元位置データを算出する手法を用いているがこれに限られるものではない。例えば、スポットパターンの空間分解能を変更することにより、画像上に投影されるスポットパターンの各スポットが元のスポットパターンの各スポットにどのように対応するかを判別することができる。したがって、スポットパターンの空間分解能を変更して撮像した複数フレームの画像データを１セットとして奥行き方向の距離情報を含む三次元位置データを算出する手法を用いることもできる。例えば図１１に示した様な、空間分解能を変更したパターン１〜パターン３のスポットパターンを１セットとして使用するものでも良い。この場合も、周辺領域２５からの測定対象物の位置姿勢算出結果に応じてパターン光照射器１３とカメラ８に関する撮像条件／演算処理条件を変更することで、奥行き方向の距離情報を含む三次元位置データの算出精度の向上を実現することが可能となる。
【００６０】
なお、上記実施形態では、周辺領域から得られる特定の物体の位置姿勢に応じて注視領域の画像情報を用いた三次元位置計測の精度を向上するべく、撮像条件を変更する例を説明したが、本発明はこれに限られるものではない。すなわち、周辺領域から得られる特定の物体の位置姿勢に応じて、注視領域における画像処理に適した画像情報が当該注視領域から得られるように撮像条件を変更するものであり、三次元位置計測に限られるものではない。
【００６１】
＜第２実施形態＞
第１実施形態では、周辺領域２５における画像データの情報量を低減するために、階調数を変更する例を示した。周辺領域２５における情報量低減の方法はこれに限られるものではなく、第２実施形態ではそれらのうちのいくつかの例について説明する。従って本実施形態においては、第１実施形態における画像処理方法および撮像制御方法との相違点についてのみ説明を行い、その他の部分に関しては第１実施形態と同様として説明を省略する。
【００６２】
第２実施形態における注視領域／周辺領域設定処理３においては、周辺領域における画像データの情報量の削減手法として画素数の削減を実行する。これは、画像データの空間分解能を削減することを意味する。
【００６３】
図１２に、画素数削減手法の一例として、隣接する４画素からなるブロックごとにブロック内の１画素（図中では左上の画素）の輝度値を代表値として使用する手法を示す。この手法の場合、周辺領域２５の画像データの情報量は、画素数削減を行わない場合に比べて１／４に削減される。この手法に関しては、例えば図５に示したカメラ８のＣＭＯＳセンサ２６において、周辺領域２５の読み出し領域指定を１列飛ばし、および１行飛ばしとすることにより実現することができる。ただし、注視領域２４に重なる列に関しては、１列飛ばしにすることは出来ず、１列ごとに読み出す必要がある。
【００６４】
例えば第１実施形態と同様に、注視領域２４の行アドレス範囲を４および５、列アドレス範囲を４および５に指定し、周辺領域２５は行アドレス範囲を２、４、および６に指定し、列アドレス範囲を２、４、および６に指定したとする。この結果、周辺領域２５として図１２に示した黒マスの位置の画素値を代表値として読み出すことができる。
【００６５】
以上のように、周辺領域２５における画像データの情報量を削減することにより、第１実施形態で説明した周辺領域２５に対する位置姿勢計測処理に関して、データ転送におけるトラフィック負荷および演算処理における処理負荷の両面を低減することができる。また上述した手法以外にも、画素数削減手法の一例として、隣接する４画素からなるブロックごとの輝度値の平均値を代表値として使用する手法がある。この手法に関しては、例えばＣＭＯＳセンサ２６からのデジタル出力値を４画素ブロックごとに平均して代表値を算出することにより実現することができる。または、ＣＭＯＳセンサ２６上で、撮像後に各画素に蓄積された電荷を４画素ブロックごとに累算することによっても平均値の算出を実現することができる。また、それ以外の手法により実現するものであっても構わない。
【００６６】
また、注視領域／周辺領域設定処理３においては、上記以外の周辺領域２５における画像データの情報量の削減手法として、フレームレートの削減を実行するものであっても良い。例えば第１実施形態において、注視領域２４の画像データを２００ｆｐｓで取得するのに対して、周辺領域２５の画像データは１００ｆｐｓで取得することにより、周辺領域２５のフレームレートは１／２に削減される。これを実現するためには、カメラ８のＣＭＯＳセンサ２６において、周辺領域２５の読み出しサイクルを１／１００sec、注視領域２４の読み出しサイクルを１／２００secとすることにより実現することができる。
【００６７】
または、ＣＭＯＳセンサ２６の読み出しに関しては注視領域２４と同様に２００ｆｐｓで処理を行い、画像処理部２１へのデータ転送処理を１回飛ばしとすることによっても実現できる。
【００６８】
以上のように、周辺領域２５における画像データの情報量を削減することにより、第１実施形態と同様に、周辺領域２５に対する位置姿勢計測処理に関して、データ転送におけるトラフィック負荷および演算処理における処理負荷の両面を低減することができる。
【００６９】
なお、周辺領域２５における画像データのフレームレートを削減した場合には、それに対応して、第１実施形態で説明した撮像条件／演算処理条件変更処理７の実行サイクルも変更される。例えば本実施形態の場合は、周辺領域２５における画像データの毎フレームで処理を実行する場合、フレームレートに相当するサイクル（１／１００sec）で撮像条件／演算処理条件変更処理７が実行される。ただし、第１実施形態でも説明したように、上記サイクルは一例を示したに過ぎず、必要に応じてさらに遅いサイクルで撮像条件／演算処理条件変更処理７を実行するものであっても良い。
【００７０】
なお、画素数およびフレームレートの削減量は、データ転送トラフィックの帯域、照明条件、および部品の形状などに基づいて、事前に最適値をルックアップテーブル形式で設定しておくことを想定している。従って、注視領域／周辺領域設定処理３においては、ルックアップテーブルを参照することで、画素数およびフレームレートの削減量を適宜設定することが可能となる。
【００７１】
また以上の実施形態においては、画像データの削減をカメラ８のＣＭＯＳセンサ２６によって実現する手法を説明したが、同様の処理を実現できるものであれば、当然のことながらＣＣＤセンサを用いたカメラを用いても良い。
【００７２】
また以上のように画像データの削減をカメラ側で実行するのではなく、画像処理部２１で実行するようにしても良い。画像処理部２１は、カメラ８により取得した画像データに対して、注視領域２４および周辺領域２５を設定し、さらに周辺領域２５のデータ量を削減する。この場合も、周辺領域２５における画像データの情報量を削減することにより、第１実施形態で説明した周辺領域２５に対する位置姿勢計測処理に関して、データ転送におけるトラフィック負荷および演算処理における処理負荷の両面を低減することができる。
【００７３】
＜第３実施形態＞
以下、図面を参照して本発明の第３実施形態を説明する。
第３実施形態における画像処理方法および撮像制御方法は、図１３の処理フローチャートに示すように、第１実施形態の処理フロー（図１）に対して注視領域／周辺領域調整処理３３が追加されたものである。注視領域／周辺領域調整処理３３では、画像データを取得する際の撮像条件設定に対応して、注視領域および周辺領域のサイズ、形状、位置、個数、周辺領域の画像データの情報量削減手法の少なくといずれかが設定される。なお、注視領域と周辺領域の位置としては、各領域間の相対位置関係、注視領域の対象物体に対する相対位置関係が挙げられる。以下、第３実施形態と第１および第２実施形態における三次元位置計測処理との相違点について説明を行う。
【００７４】
まず画像データを取得する際の撮像条件設定としては、カメラの位置、カメラの角度、カメラのズーム倍率、照明の位置、照明の角度、および照明パターン等が挙げられる。本実施形態においては、第１および第２実施形態で説明した処理フローを実行する際に、これらの撮像条件設定に対応して注視領域／周辺領域の設定を調整するものである。注視領域および周辺領域の条件設定としては、例えば、注視領域および周辺領域のサイズ、形状、位置、個数、周辺領域の画像データの情報量削減手法が挙げられる。
【００７５】
続いて図１３を用いて、第３実施形態における処理フローを説明する。まずタスクのスタート時に、画像データ取得処理１においては、撮像条件の初期値が設定されている。撮像条件としては、カメラ８の位置、カメラ８の角度、カメラ８のズーム倍率、カメラ８のフレームレート、パターン光照射器１３の位置、パターン光照射器１３の角度、およびスポット光パターンが挙げられる。
【００７６】
注視領域・周辺領域調整処理３３では、これらの撮像条件の変化に対応して、注視領域および周辺領域のサイズ、形状、位置および個数の調整を実行する。例えば、カメラ８の状態と、パターン光照射器１３の状態と、物体検出／認識処理２で抽出された画像中での物体位置の情報とを基にして、三次元位置データ算出処理５を適当に実行できるように注視領域および周辺領域を調整する。なお、カメラ８の状態としては、例えば、カメラ８の位置、角度、ズーム倍率およびフレームレートが挙げられる。また、パターン光照射器１３の状態としては、パターン光照射器１３の位置、角度およびスポット光パターンが挙げられる。
【００７７】
例えば、仮に第１実施形態で示したように、物体検出／認識処理２で抽出された画像中での物体位置（第３実施形態ではネジ先端部とネジ穴の位置）の情報だけをもとにして注視領域２４および周辺領域２５を設定したとする。この場合、注視領域２４および周辺領域２５の形状、サイズ、および両領域の相対位置が固定であると、図１４の（ａ）に示すように注視領域２４からパターン光が外れてしまう事が起こりうる。また、周辺領域２５に関しても、図１４の（ａ）に示すように位置姿勢算出処理６において必要の無い、対象物体以外の領域を多く含む事が起こりうる。または図１５の（ａ）に示すように、位置姿勢算出処理６が必要とする領域を外してしまうことも起こりうる。
【００７８】
これに対して第３実施形態においては、注視領域／周辺領域調整処理３３が、前述したカメラ８の状態と、パターン光照射器１３の状態を用いることにより画像中でのパターン光照射位置を算出する。そして、注視領域／周辺領域調整処理３３において、注視領域／周辺領域設定処理３で設定された注視領域２４および周辺領域２５を、図１４の（ｂ）および図１５の（ｂ）に示すように調整する。この時、図１４の（ｂ）および図１５の（ｂ）に示すように、注視領域２４は、三次元位置データ算出処理５で必要となる領域（ネジ穴とネジ先端部）に調整される。また、図１４の（ｂ）および図１５の（ｂ）に示すように周辺領域２５は、位置姿勢算出処理６で必要となる領域（ネジ皿部を含む領域）に調整される。例えば、物体検出／認識処理２において検出された対象物体の大きさから周辺領域を設定しても良いし、予めサイズがわかている対象物体であれば撮像条件（カメラの位置やズーム倍率等）に基づいてその大きさを推定し、周辺領域を設定するようにしても良い。
【００７９】
これにより、注視領域２４を対象とする三次元位置データ算出処理５をより適切に実行する事が可能となり、かつ周辺領域２５を対象とする位置姿勢算出処理６をより適切に実行することが可能となる。またこれにより、式（５）を用いて説明した信頼度が、所定のしきい値Thを下回った場合にも、周辺領域２５の設定を調整することで信頼度の向上を図ることが可能である。
【００８０】
なお以上では、タスクのスタート時の初期段階における注視領域／周辺領域調整処理３３に関する説明を行ったが、注視領域／周辺領域調整の処理はこのタイミングでの実行に限られるものではない。例えば、撮像条件／演算処理条件変更処理７において変更された撮像条件に対応して、逐次注視領域／周辺領域調整処理３３を実行するようにしてもよい。すなわち、タスクの進行中に随時変更される撮像条件に対応して、注視領域および周辺領域を前述したように調整する構成とすることもできる。
【００８１】
また上記の説明においては、注視領域／周辺領域調整処理３３において注視領域２４および周辺領域２５のサイズ、形状、位置、および個数の調整を実行する例を示したが、その他に周辺領域２５の画像データの情報量削減手法を変更するものであっても良い。例えばカメラ８のフレームレートが高い場合には、一般的にＣＭＯＳセンサ２６の感度が低下する。そこで、事前情報としてカメラ８のフレームレートが高く設定された場合には、ＣＭＯＳセンサ２６の感度低下による影響を低減するために、周辺領域２５の画像データの情報量削減手法を変更する。例えば第１実施形態においては周辺領域２５の輝度データの階調を２８としていたものを２９とするように情報量削減手法を変更する。これにより、カメラ８のフレームレートが高く設定された場合にも、周辺領域２５における特徴抽出が適切に実行され、結果として位置姿勢算出処理６が適切に実行される。またこれにより、式（５）を用いて説明した信頼度が、所定のしきい値Thを下回った場合にも、周辺領域２５の設定を調整することで信頼度の向上を図ることが可能である。
【００８２】
なお、上記では撮像条件（スポット光の照射位置）に応じて注視領域の移動（対象物体及び周辺領域に対する相対位置の変更）と周辺領域の変形（サイズ変更、形状変更）を示したが、これらはあくまで一例である。撮像条件に応じて注視領域のサイズを変えたり、各領域の個数を変更したりすることが可能であることは、上記説明から当業者には明らかである。
【００８３】
＜第４実施形態＞
以下、図１６のフロー図を参照して、第４実施形態による三次元位置計測処理を説明する。第４実施形態では、第１実施形態の処理フローに対して、タスク処理内容入力処理４３と、注視領域／周辺領域調整処理４４とが追加されている。上述した第３実施形態の注視領域／周辺領域調整処理３３では、撮像条件に応じて注視領域２４、周辺領域２５の調整を行った。これに対して、第４実施形態の注視領域／周辺領域調整処理４４では、画像データから得られる情報を基にして実行されるタスクに応じて注視領域２４、周辺領域２５の調整を行う。調整の内容としては、例えば、注視領域および周辺領域のサイズ、形状、位置、個数、周辺領域の画像データの情報量削減手法の設定が挙げられる。また、画像データから得られる情報を基にして実行するタスク処理としては、ロボットアームおよびロボットハンドを用いた、嵌合処理、分類処理、および整列処理等が挙げられる。以下、第４実施形態について、第１実施形態における三次元位置計測処理との相違点について説明する。
【００８４】
第４実施形態では、第１実施形態で説明した処理フローを実行する際に、実行されるタスク処理に対応して注視領域／周辺領域の条件設定が調整される。注視領域および周辺領域の条件設定としては、例えば、注視領域および周辺領域のサイズ、形状、位置、個数、周辺領域の画像データの情報量削減手法が挙げられる。なお、注視領域と周辺領域の位置としては、各領域間の相対位置関係、注視領域の対象物体に対する相対位置関係が挙げられる。
【００８５】
まず、タスク処理内容入力処理４３において、画像処理部２１は、スタート時にタスク処理の種類を設定する。注視領域／周辺領域調整処理４４において、画像処理部２１は、この事前に設定されたタスク処理の内容に対応して、注視領域および周辺領域の調整（例えば、サイズ、形状、位置、個数の調整）を実行する。すなわち、タスク処理の内容（例えば、嵌合処理、分類処理、整列処理等）と、物体検出／認識処理２で抽出された画像中での物体位置の情報を基にして、三次元位置データ算出処理５を適切に実行できるように注視領域および周辺領域が調整される。
【００８６】
例えば、嵌合タスクにおいては、ネジ２３とネジ穴３４の三次元位置を測定する必要がある。この場合、図１７の（ａ）に示すように注視領域２４および周辺領域２５をそれぞれ一箇所のみ設定すると、周辺領域にも注視領域にもタスク処理に不必要な領域の画像データが多く含まれるため、無駄な演算処理が生じてしまう。これに対して第４実施形態においては、嵌合タスクを実行するという事前情報を用いることにより、図１７の（ｂ）に示すように、タスクを実行するために必要となるネジ穴３４の位置と、ネジ２３の先端部の２箇所に注視領域２４が設定される。また、ネジ２３の先端部に対する注視領域２４の周囲にのみ周辺領域２５が設定される。このように、タスク処理の内容に対応して注視領域２４および周辺領域２５の個数を設定することにより、無駄な演算処理を回避して要求されたタスクを適切に実行することが可能となる。またこのとき、図１７の（ｂ）に示すようにそれぞれの注視領域２４および周辺領域２５のサイズ、形状、および位置に関しても、タスク処理に対応して調整される。
【００８７】
以上のように、事前情報として与えられるタスク処理の内容に対応した注視領域／周辺領域調整処理４４を実行することにより、タスク処理に適した三次元位置データ算出処理５の実行と位置姿勢算出処理６の実行を実現する事が可能となる。
【００８８】
また上記の説明においては、タスク処理の内容に対応した注視領域／周辺領域調整処理４４において注視領域２４および周辺領域２５のサイズ、形状、位置、および個数の調整を実行する例を示したが本発明はこれに限られるものではない。例えば、周辺領域２５の画像データの情報量削減手法を変更するものであっても良い。例えば図１８に示すように、皿部が大きいネジ２３の嵌合のような事前に設定されたタスク処理に対応して、周辺領域２５の範囲が大きくなってしまった場合、位置姿勢算出処理６における処理負荷が増大する可能性が生じる。そこで、例えば周辺領域２５の輝度データの階調を２８としていたものを２７とするように情報量削減手法を変更する。これにより、周辺領域２５の範囲拡大による処理負荷増大の影響を低減することが可能となる。
【００８９】
なお当然のことながら、前述した情報量の削減手法の変更は、式（５）を用いて説明した信頼度が、所定のしきい値Thを下回らない範囲での調整となる。なお、タスク処理の内容に対応した注視領域／周辺領域調整処理４４に関しては、第３実施形態で説明した撮像条件設定に対応したものと、本実施形態で説明したタスク処理に対応したものとを同時に実行するものであっても構わない。
【００９０】
以上、タスクの内容に応じた注視領域の個数の変更と周辺領域の変形（サイズ変更、形状変更）を示したが、これらはあくまで一例である。タスク内容の情報に応じて注視領域のサイズを変えたり、周辺領域の個数を変更したりすることが可能であることは、上記説明から当業者には明らかである。
【００９１】
以上のように、第１〜第４実施形態によれば、周辺領域から抽出される情報を基にして注視領域に対する撮像条件を変更することにより、注視領域から適切な画像情報を抽出することが可能となる。また。周辺領域の画像情報については情報量を削減するので、画像データに対する演算処理が効率化され、撮像条件の設定を迅速に（ほぼリアルタイムに）行うことができる。
【００９２】
＜第５実施形態＞
第５実施形態では、モニタ３６における表示について説明する。コンピュータ３５に接続されたモニタ３６には、第１〜第４実施形態で説明した全ての処理が表示される。図１９に示す表示例では、第３実施形態で説明した三次元位置計測処理におけるモニタ３６の表示内容が示されている。画像データ取得処理１においては、取得した画像データがモニタ画面４２の一部領域に逐次表示される。また物体検出／認識処理２においては、画像データから対象物を検出および認識した結果がモニタ画面４２の一部領域に逐次表示される。また注視領域／周辺領域設定処理３においては、設定した注視領域および周辺領域がモニタ画面４２の一部領域に逐次表示される。また注視領域／周辺領域調整処理３３においては、調整後の注視領域および周辺領域がモニタ画面４２の一部領域に逐次表示される。またパターン光照射処理４においては、パターン光が照射された画像がモニタ画面４２の一部領域に逐次表示される。また注視領域に対する三次元位置データ算出処理５においては、奥行き距離情報を含んだ三次元位置データがモニタ画面４２の一部領域に逐次表示される。また周辺領域に対する位置姿勢算出処理６においては、周辺領域に対する位置姿勢計測結果がモニタ画面４２の一部領域に逐次表示される。また撮像条件／演算処理条件変更処理７においては、撮像条件および演算処理条件を変更した結果がモニタ画面４２の一部領域に逐次表示される。
【００９３】
なお、以上説明したモニタ画面４２に対する情報の表示においては、図１９に示すように、取得した画像データとともに、算出された位置などの数値データを含むテキストデータの表示も同時に行われる。以上のように構成された第５実施形態のシステムにおいては、システムを操作・管理する担当者がモニタ画面４２を見ることにより実行タスクの進行状況を把握することが出来るため、システムを適切に稼動させる事が可能となる。
【００９４】
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００９５】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005567922.tif 000002
【図２】
0005567922.tif 000003
【図３】
0005567922.tif 000004
【図４】
0005567922.tif 000005
【図５】
0005567922.tif 000006
【図６】
0005567922.tif 000007
【図７】
0005567922.tif 000008
【図８】
0005567922.tif 000009
【図９】
0005567922.tif 000010
【図１０】
0005567922.tif 000011
【図１１】
0005567922.tif 000012
【図１２】
0005567922.tif 000013
【図１３】
0005567922.tif 000014
【図１４】
0005567922.tif 000015
【図１５】
0005567922.tif 000016
【図１６】
0005567922.tif 000017
【図１７】
0005567922.tif 000018
【図１８】
0005567922.tif 000019
【図１９】
0005567922.tif 000020