(57)【特許請求の範囲】
【請求項１】
物体のピッキングを行うピッキングシステムであって、
前記物体にパターンを照射するパターン照射手段と、
前記パターンが照射された前記物体を撮像する撮像手段と、
前記撮像手段により撮像された撮像画像から視差画像を生成する生成手段と、
前記物体のサイズ、形状、色、光透過率、前記撮像手段からの距離の少なくとも一つを判定する判定手段と、
前記パターンに関わるパラメータの値を、前記判定手段の判定結果に対応する値として予め定められた基準値に基づく評価範囲内で変更しながら、各パラメータの値に対応するパターンを前記パターン照射手段が照射したときに前記生成手段により各々生成される各視差画像の評価値をそれぞれ算出する評価手段と、
前記評価値が所定の基準を満たす視差画像を用いて、前記物体の認識処理を行う認識処理手段と、を備え、
前記物体の認識処理の結果に基づいてピッキング動作を行う、ピッキングシステムにおいて、
前記評価手段は、前記パラメータの値が取り得る全範囲のうち、前記パラメータの現在値を端点として前記基準値を含まない範囲を前記評価範囲から除外することで、前記評価範囲の絞り込みを行う、ピッキングシステム。
【請求項２】
前記評価手段は、前記パラメータの現在値を前記基準値に変更したときに算出される前記評価値が所定の基準を満たさない場合に、前記評価範囲内で前記パラメータの値をさらに変更する、請求項１に記載のピッキングシステム。
【請求項３】
前記評価手段は、前記パラメータの値を前記基準値から変更したときに算出される前記評価値が変更前に算出された前記評価値より向上しているか否かに基づいて、前記評価範囲をさらに絞り込む、請求項２に記載のピッキングシステム。
【請求項４】
前記評価手段は、前記パラメータの値を前記基準値から変更する際の前記評価範囲を二分法により絞り込む、請求項３に記載のピッキングシステム。
【請求項５】
前記評価手段は、前記視差画像の有効視差点数を評価して前記評価値を算出し、
前記認識処理手段は、前記評価値が閾値を超えた視差画像を用いて、前記物体の認識処理を行う、請求項１乃至４のいずれか一項に記載のピッキングシステム。
【請求項６】
前記パラメータは、前記パターンが有するテクスチャのサイズ、形状、色、密度、明度のいずれか一つ以上に関わるパラメータである、請求項１乃至５のいずれか一項に記載のピッキングシステム。
【請求項７】
前記物体に対する前記パターン照射手段の位置を調整する位置調整手段をさらに備え、
前記パラメータは、前記物体に対する前記パターン照射手段の位置を含む、請求項１乃至６のいずれか一項に記載のピッキングシステム。
【請求項８】
前記判定手段は、前記撮像手段により撮像された撮像画像に基づいて、前記物体のサイズ、形状、色、光透過率、前記撮像手段からの距離の少なくとも一つを判定する、請求項１乃至７のいずれか一項に記載のピッキングシステム。
【請求項９】
ピッキングシステムにより実行される物体のピッキング方法であって、
前記物体にパターンを照射し、前記パターンが照射された前記物体を撮像手段により撮像して、撮像画像から視差画像を生成する工程と、
前記物体のサイズ、形状、色、光透過率、前記撮像手段からの距離の少なくとも一つを判定して判定結果を出力する工程と、
前記パターンに関わるパラメータの値を、前記判定結果に対応する値として予め定められた基準値に基づく評価範囲内で変更しながら、各パラメータの値に対応するパターンを照射したときに各々生成される各視差画像の評価値をそれぞれ算出する工程と、
前記評価値が所定の基準を満たす視差画像を用いて、前記物体の認識処理を行う工程と、
前記物体の認識処理の結果に基づいてピッキング動作を行う工程と、を含み、
前記評価値を算出する工程において、前記パラメータの値が取り得る全範囲のうち、前記パラメータの現在値を端点として前記基準値を含まない範囲を前記評価範囲から除外することで、前記評価範囲の絞り込みを行う、ピッキング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ピッキングシステムおよびピッキング方法に関する。
【背景技術】
【０００２】
ステレオカメラを用いたステレオマッチング処理により、画素ごとの視差値を求めて視差画像（距離画像）を生成する技術が知られている。ステレオマッチング処理とは、撮影位置が異なる２つのカメラのうちの一方で撮像された画像（基準画像）と、他方で撮像された画像（比較画像）との間で対応する画素を探索することにより、画素ごとの視差値を求める処理である。
【０００３】
しかし、ステレオマッチング処理の多くは局所的な輝度変化を手がかりとして基準画像と比較画像との間の画素の対応付けを行うため、被写体となる物体のテクスチャが弱いと視差値を求められない画素が多く発生し、精度のよい視差画像を生成することが難しい。そこで、被写体となる物体に対してパターンを照射することで人工的にテクスチャを付与し、基準画像と比較画像との間の画素の対応付けを行い易くする技術が種々提案されている。例えば特許文献１には、視差画像のノイズ量などを評価してスコアを算出し、算出したスコアが最適となるように拡大縮小率を変えた局所的独自パターンを物体に照射する技術が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
被写体となる物体に照射されるパターンがその物体の特性に合っていない場合、信頼性の高い視差値（以下、「有効視差」と呼ぶ。）が得られる画素の数（以下、「有効視差点数」と呼ぶ。）が少なくなり、精度のよい視差画像が得られない。特許文献１に記載の技術では、視差画像のノイズ量などを評価して算出したスコアが最適となるように局所的独自パターンの拡大縮小率を変更しているが、最適なスコアが得られる局所的独自パターンの拡大縮小率を総当たり的に探索すると、最終的に精度のよい視差画像が得られるようになるまでの時間が長くなる。
【課題を解決するための手段】
【０００５】
上述した課題を解決するために、本発明は、物体のピッキングを行うピッキングシステムであって、前記物体にパターンを照射するパターン照射手段と、前記パターンが照射された前記物体を撮像する撮像手段と、前記撮像手段により撮像された撮像画像から視差画像を生成する生成手段と、前記物体のサイズ、形状、色、光透過率、前記撮像手段からの距離の少なくとも一つを判定する判定手段と、前記パターンに関わるパラメータの値を、前記判定手段の判定結果に対応する値として予め定められた基準値に基づく評価範囲内で変更しながら、各パラメータの値に対応するパターンを前記パターン照射手段が照射したときに前記生成手段により各々生成される各視差画像の評価値をそれぞれ算出する評価手段と、前記評価値が所定の基準を満たす視差画像を用いて、前記物体の認識処理を行う認識処理手段と、を備え、前記物体の認識処理の結果に基づいてピッキング動作を行う。前記評価手段は、前記パラメータの値が取り得る全範囲のうち、前記パラメータの現在値を端点として前記基準値を含まない範囲を前記評価範囲から除外することで、前記評価範囲の絞り込みを行う。
【発明の効果】
【０００６】
本発明によれば、精度のよい視差画像を短時間で生成することができるという効果を奏する。
【図面の簡単な説明】
【０００７】
【図１】図１は、ステレオカメラを用いて物体までの距離を算出する原理を説明する図である。
【図２】図２は、ステレオマッチング処理の概要を説明する図である。
【図３】図３は、候補画素のコスト値とシフト量との関係を示す図である。
【図４】図４は、物体の光透過率とパターンの粒度との関係を説明する図である。
【図５】図５は、実施形態のピッキングシステムの概略構成図である。
【図６】図６は、実施形態のピッキングシステムのハードウェア構成例を示すブロック図である。
【図７】図７は、ステレオカメラおよび情報処理装置の機能的な構成例を示すブロック図である。
【図８】図８は、視差画像生成部の詳細な構成例を示すブロック図である。
【図９】図９は、整数視差および小数視差の算出方法を説明する図である。
【図１０】図１０は、評価基準値記憶部が記憶する対応テーブルの一例を示す図である。
【図１１】図１１は、評価範囲の絞り込みの一例を説明する図である。
【図１２】図１２は、ピッキングシステムによる動作の流れを説明するフローチャートである。
【図１３】図１３は、物体判定処理の一例を説明するフローチャートである。
【図１４】図１４は、パターン最適化処理の一例を説明するフローチャートである。
【図１５】図１５は、探索方向決定処理の一例を説明するフローチャートである。
【図１６】図１６は、二分法を用いた評価範囲の絞り込みを説明する図である。
【図１７】図１７は、第２実施形態のパターン最適化処理を説明するフローチャートである。
【図１８】図１８は、第３実施形態のピッキングシステムの概略構成図である。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照しながら、本発明に係る視差画像生成システムおよび視差画像生成方法の実施形態について詳しく説明する。
【０００９】
本実施形態の視差画像生成システムは、パターンが照射された物体をステレオカメラで撮像し視差画像を生成する。この際、有効視差点数が多い精度のよい視差画像が得られるようにするため、被写体となる物体に照射するパターンのパラメータの値を変更しながら視差画像を評価して、評価結果が所定の基準を満たす視差画像を出力する。ここで、パターンのパラメータとは、パターンが有するテクスチャのサイズ、形状、色、密度、明度のいずれか１つ以上に関わるパラメータであり、例えばパターンの拡大縮小率やコントラストなどである。評価結果が所定の基準を満たす視差画像が得られるパターンのパラメータの値を探索する処理を以下では「パターン最適化処理」と呼ぶ。本実施形態では、このパターン最適化処理を短時間で効率よく行うために、パターンを照射する物体のサイズ、形状、色、光透過率、ステレオカメラからの距離の少なくとも１つを判定し、その判定結果に対応する値として予め定められたパラメータの値を評価基準値として取得する。そして、取得した評価基準値に基づいて、視差画像を評価するパラメータの値の範囲である評価範囲の絞り込みを行う。これにより、精度のよい視差画像を短時間で生成することができる。
【００１０】
［測距の原理］
まず、本実施形態において適用される測距の原理について、図１を参照して説明する。図１は、ステレオカメラを用いて物体までの距離を算出する原理を説明する図である。ここでは、ステレオマッチング処理によりステレオカメラにおける物体に対する視差値を求め、この視差値によって、ステレオカメラから物体までの距離を測定する。なお、以下では、説明を簡略化するため、複数の画素からなる所定領域のマッチングではなく、画素単位のマッチングを行うものとして説明する。
【００１１】
図１に示すステレオカメラは、平行等位に配置された２つの撮像部１０ａ，１０ｂを有する。撮像部１０ａ，１０ｂは、それぞれ、被写体となる物体Ｅの像をイメージセンサに結像させるレンズ１１ａ，１１ｂを有する。ここで、撮像部１０ａにより撮像された撮像画像（輝度画像）を基準画像Ｉａとし、撮像部１０ｂにより撮像された撮像画像（輝度画像）を比較画像Ｉｂとする。
【００１２】
図１において、３次元空間内の物体Ｅ上の点Ｓは、基準画像Ｉａおよび比較画像Ｉｂそれぞれにおいて、レンズ１１ａとレンズ１１ｂとを結ぶ直線と平行な直線上の位置に写像される。基準画像Ｉａにおいて物体Ｅ上の点Ｓが写像される位置を点Ｓａ（ｘ，ｙ）とし、比較画像Ｉｂにおいて物体Ｅ上の点Ｓが写像される位置を点Ｓｂ（Ｘ，ｙ）とする。このとき、視差値ｄｐは、基準画像Ｉａにおける点Ｓａ（ｘ，ｙ）の座標値と、比較画像Ｉｂにおける点Ｓｂ（Ｘ，ｙ）の座標値とを用いて、下記式（１）のように表される。
ｄｐ＝Ｘ−ｘ  ・・・（１）
【００１３】
また、図１において、基準画像Ｉａにおける点Ｓａ（ｘ，ｙ）とレンズ１１ａから撮像面上に下した垂線の交点との距離をΔａとし、比較画像Ｉｂにおける点Ｓｂ（Ｘ，ｙ）とレンズ１１ｂから撮像面上に下した垂線の交点との距離をΔｂとすると、視差値ｄｐは、ｄｐ＝Δａ＋Δｂと表すこともできる。
【００１４】
視差値ｄｐを用いることにより、ステレオカメラと物体Ｅとの間の距離Ｚを算出することができる。距離Ｚは、レンズ１１ａの焦点位置とレンズ１１ｂの焦点位置とを結ぶ直線から物体Ｅ上の点Ｓまでの距離である。図１に示すように、レンズ１１ａ，１１ｂの焦点距離ｆ、レンズ１１ａとレンズ１１ｂとの間の長さである基線長Ｂ、および視差値ｄｐを用いて、下記式（２）により、距離Ｚを算出することができる。
Ｚ＝（Ｂ×ｆ）／ｄｐ  ・・・（２）
この式（２）から分かるように、視差値ｄｐが大きいほど距離Ｚは小さく、視差値ｄｐが小さいほど距離Ｚは大きくなる。
【００１５】
［ステレオマッチング処理］
次に、基準画像Ｉａに対して比較画像Ｉｂにおける対応画素を求めるステレオマッチング処理の概要について説明する。ここで、対応画素とは、基準画像Ｉａにおける画素（以下、「基準画素」と呼ぶ。）に最も類似する比較画像Ｉｂ内の画素のことをいう。ステレオマッチング処理では、比較画像Ｉｂにおける対応画素の候補について、それぞれ基準画素に対する非類似度を表すコスト値Ｃを算出し、コスト値Ｃが最小値となる候補を対応画素として求める。基準画素に対応する対応画素が一意に求まれば、例えば上記式（１）により、その画素について信頼性の高い視差値ｄｐを算出することができる。視差画像は、基準画素を視差値ｄｐで表した画像である。したがって、信頼性の高い視差値ｄｐ（有効視差）を算出できた基準画素の数（有効視差点数）が多いほど、精度のよい視差画像となる。なお、有効視差を算出できない基準画素については、例えば視差値ｄｐを「０」として視差画像が構成される。
【００１６】
図２は、ステレオマッチング処理の概要を説明する図である。図２（ａ）は、基準画像Ｉａにおける基準画素ｐの一例ｐ（ｘ，ｙ）を示す概念図であり、図２（ｂ）は、図２（ａ）に示す基準画素ｐ（ｘ，ｙ）に対応する比較画像Ｉｂにおける対応画素の候補（以下、「候補画素」と呼ぶ。）の一例ｑ（ｘ＋ｄ，ｙ）を示す概念図である。図２に示すように、基準画素ｐ（ｘ，ｙ）に対応する比較画像Ｉｂ内のエピポーラ線ＥＬ上の各候補画素ｑ（ｘ＋ｄ，ｙ）の輝度値を求めて基準画素ｐ（ｘ，ｙ）の輝度値と比較することにより、各候補画素ｑ（ｘ＋ｄ，ｙ）のコスト値Ｃ（ｐ，ｄ）が算出される。ｄは、基準画素ｐに対する候補画素ｑのシフト量（ずれ量）であり、ここでは画素単位のシフト量を表している。すなわち、図２では、候補画素ｑ（ｘ＋ｄ，ｙ）を予め指定された範囲（例えば、０＜ｄ＜２５）において順次１画素ずつシフトさせながら、候補画素ｑ（ｘ＋ｄ，ｙ）と基準画素ｐ（ｘ，ｙ）との輝度値の非類似度を表すコスト値Ｃ（ｐ，ｄ）が算出される。
【００１７】
なお、上述のように、撮像部１０ａ，１０ｂは平行等位に配置されるため、基準画像Ｉａにおける基準画素ｐに対応する比較画像Ｉｂにおける対応画素は、図２に示すエピポーラ線ＥＬ上に存在することになる。したがって、比較画像Ｉｂにおける対応画素を求めるためには、比較画像Ｉｂ内のエピポーラ線ＥＬ上の画素を探索すればよい。
【００１８】
このようにして算出されたコスト値Ｃは、シフト量ｄとの関係で、図３に示すようなグラフによって表すことができる。図３の例では、コスト値Ｃは、シフト量ｄ＝５，１２，１９の場合が「０」となるため、最小値を求めることができない。例えば、テクスチャが弱い物体を被写体とする場合には、基準画素ｐと同じ輝度値を持つ候補画素ｑが多く存在するため、このようにコスト値Ｃの最小値を求めることが困難となる。その結果、基準画素ｐに対応する対応画素を一意に特定することができず（ミスマッチが生じ）、信頼性の高い視差値ｄｐを算出することができない。
【００１９】
このような問題は、被写体となる物体にパターンを照射して人工的にテクスチャを付与することにより改善される。ここでの「テクスチャ」とは、例えば画像上の各画素の明暗として現れ得る模様、柄、パターン、色、ドットなどをいう。物体に照射するパターンは、複数の明度を有するパターンや二次元の乱数パターンであることが好ましい。ただし、繰返し周期を持つパターンはコスト値Ｃの値が繰り返す場合があるため、好ましくない。
【００２０】
また、物体に照射するパターンは、物体のサイズ、形状、色、光透過率、ステレオカメラからの距離などに応じて最適なパターンが異なることが分かってきた。例えば、物体の光透過率を例に挙げると、光透過率が高い物体に対して粒度が細かすぎるパターン（テクスチャのサイズが小さすぎるパターン）を照射した場合、物体の表面で拡散反射した光と物体を透過して別の面で拡散反射した光とが干渉することの影響などによりテクスチャが消滅することがある。その結果、類似した輝度値がステレオマッチング処理における探索方向に並んでしまうことが多くなり、有効視差点数が減少して視差画像の精度が低下する。また、例えば、光透過率が低い物体に対してコントラストが高すぎるパターンを照射した場合、物体表面の反射光量が大きいために明度が高いテクスチャに対応する画素の輝度値が飽和してしまう場合がある。その結果、正しい輝度値が得られない画素が多くなり、有効視差点数が減少して視差画像の精度が低下する。
【００２１】
図４は、物体の光透過率とパターンの粒度との関係を説明する図である。図４では、光透過率が低い物体である不透明体と、光透過率が高い物体である半透明体とに対して、粒度が細かいパターンを照射したときに得られる輝度画像（基準画像または比較画像）および視差画像と、粒度が粗いパターンを照射したときに得られる輝度画像および視差画像とをそれぞれ示している。図４に示す視差画像は、便宜上、有効視差が得られた画素をグレーで示し、有効視差が得られなかった画素を黒で示している。
【００２２】
図４に示すように、被写体となる物体が不透明体の場合、粒度が粗いパターンを照射した場合よりも粒度が細かいパターンを照射した場合の方が、視差画像における有効視差点数が多くなり、精度のよい視差画像を得ることができる。一方、被写体となる物体が半透明体の場合には、粒度が細かいパターンを照射すると輝度画像がぼやけてテクスチャが消滅し、視差画像における有効視差点数が大幅に減少するが、粒度の粗いパターンを照射するとテクスチャが塊として残るため、有効視差点数が多くなり、精度のよい視差画像を得ることができる。
【００２３】
以上の例で示すように、精度のよい視差画像を得るために最適なパターンは、被写体となる物体の透過率に応じて異なる。また、物体の透過率だけでなく、物体のサイズ、形状、色、ステレオカメラからの距離などによっても、精度のよい視差画像を得るための最適なパターンが異なる。物体に対して最適なパターンを探す方法としては、パターンに関わるパラメータ（例えばパターンの拡大縮小率やコントラスト）の最適値を総当たり的に探索する方法があるが、この方法では最終的に精度のよい視差画像を得るまでの所要時間が長くなる。そこで、本実施形態では、被写体となる物体のサイズ、形状、色、光透過率、ステレオカメラからの距離の少なくとも１つを判定し、その判定結果に対応する値として予め定められたパラメータの値を評価基準値として取得する。そして、取得した評価基準値に基づいて、視差画像を評価するパラメータの値の範囲である評価範囲の絞り込みを行う。本実施形態では、このようなパターン最適化処理を行うことで、精度のよい視差画像を短時間で生成できるようにしている。
【００２４】
［第１実施形態］
次に、本発明に係る視差画像生成システムを適用した具体的なシステムの一例として、製品の組み立て工場などにおいて、前工程から搬送された部品や半完成品、完成品などの物体を自動認識し、ロボットアームを用いて物体のピッキングを行うピッキングシステムについて説明する。このピッキングシステムでは、例えば、搬送用トレイ内に平置き、あるいはバラ積みされた状態で、ベルトコンベアなどにより前工程から搬送された物体を被写体としてステレオカメラによる撮像を行って視差画像を生成し、この視差画像をもとに物体の三次元の位置を認識してピッキングを行う。このピッキングシステムは、ピッキング対象となる物体に対し、上述したパターン最適化処理を行うことで、精度のよい視差画像を短時間で生成することができ、ピッキング動作のタクトタイムを短縮することができる。
【００２５】
（全体構成）
図５は、本実施形態のピッキングシステム１の概略構成図である。このピッキングシステム１は、図５に示すように、ステレオカメラ２と、パターン投光器３（パターン照射手段の一例）と、情報処理装置４と、アーム制御装置５とを備える。
【００２６】
ステレオカメラ２は、２つの撮像部により被写体である物体を撮像し、上述した基準画像および比較画像となる２つの撮像画像（輝度画像）から視差画像を生成して出力する。ステレオカメラ２の機能の詳細については後述する。なお、ステレオカメラ２は３つ以上の撮像部により物体を撮像して視差画像を生成する構成であってもよいが、本実施形態では２つの撮像部を有する構成であるものとする。
【００２７】
パターン投光器３は、被写体となる物体に対してパターンを照射して、物体にテクスチャを付与する。本実施形態では、このパターン投光器３が物体に照射するパターンのパラメータ（例えば拡大縮小率やコントラストなど）の値が、パターン最適化処理によって最適化されることにより、精度のよい視差画像が生成される。また、パターン投光器３は、後述する物体判定用の光を物体に照射する機能も有する。
【００２８】
情報処理装置４は、ステレオカメラ２により生成された視差画像を評価し、評価結果が所定の基準を満たす視差画像を用いて物体の認識処理を行う。また、情報処理装置４は、視差画像を評価する際に、上述したようなパターン最適化処理を行う。情報処理装置４の機能の詳細については後述する。
【００２９】
アーム制御装置５は、情報処理装置４による物体に対する認識結果に基づいて、多関節ロボットであるロボットアーム６の動作を制御し、搬送用トレイ７内の物体のピッキングを行う。
【００３０】
（ハードウェア構成）
図６は、本実施形態のピッキングシステム１のハードウェア構成例を示すブロック図である。図６に示すように、ステレオカメラ２は、２つの撮像部１０ａ，１０ｂと、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）１１とを備える。ＦＰＧＡ１１には、２つの撮像部１０ａ，１０ｂによる撮像画像から視差画像を生成するためのプログラムが実装されている。
【００３１】
情報処理装置４は、図６に示すように、ＣＰＵ１２、ＲＯＭ１３、ＲＡＭ１４、ＲＯＭＩ／Ｆ１５、ＲＡＭＩ／Ｆ１６、およびＩ／Ｆ１７〜１９などを備えた汎用のコンピュータ装置として構成される。ＣＰＵ１２は、情報処理装置４の各機能を実現させるための演算を実行する演算装置である。ＲＯＭ１３は、プログラムやデータを記憶する不揮発性メモリである。ＲＡＭ１４は、ＣＰＵ１２がプログラムを実行するためのワークエリアとして利用されるメインメモリである。また、ＲＡＭ１４は、ステレオカメラ２から情報処理装置４に送られた撮像画像（輝度画像）や視差画像を一時的に格納する画像メモリとしても用いられる。
【００３２】
ＲＯＭＩ／Ｆ１５は、ＣＰＵ１２がＲＯＭ１３にアクセスするためのインターフェースであり、ＲＡＭＩ／Ｆ１６は、ＣＰＵ１２がＲＡＭ１４にアクセスするためのインターフェースである。Ｉ／Ｆ１７〜１９は、情報処理装置４とステレオカメラ２、パターン投光器３およびアーム制御装置５とを接続するためのインターフェースである。なお、情報処理装置４には、例えばハードディスク装置などの大容量記憶装置が内蔵または外付けで設けられていてもよい。
【００３３】
情報処理装置４の主要な機能は、例えば、ＣＰＵ１２がＲＡＭ１４をワークエリアとして利用して、ＲＯＭ１３やハードディスク装置に格納されたプログラムを実行することにより実現される。
【００３４】
（ステレオカメラおよび情報処理装置の機能構成）
図７は、ステレオカメラ２および情報処理装置４の機能的な構成例を示すブロック図である。図７に示すように、ステレオカメラ２は、上述した２つの撮像部１０ａ，１０ｂにより実現される基準画像撮像部２１０および比較画像撮像部２２０（撮像手段）と、上述したＦＰＧＡ１１により実現される視差画像生成部２３０（生成手段）とを備える。また、情報処理装置４は、例えば上述したＣＰＵ１２がプログラムを実行することにより実現される機能的な構成要素として、物体判定部４１０（判定手段）と、視差画像評価部４３０（評価手段）と、認識処理部４４０とを備える。また、情報処理装置４は、ＲＯＭ１３やハードディスク装置により実現される評価基準値記憶部４２０を備える。
【００３５】
基準画像撮像部２１０は、被写体となる物体を撮像し、上述した基準画像Ｉａとなる輝度画像を撮像画像として出力する。また、比較画像撮像部２２０は、基準画像撮像部２１０とは異なる位置から被写体となる物体を撮像し、上述した比較画像Ｉｂとなる輝度画像を撮像画像として出力する。これら基準画像撮像部２１０および比較画像撮像部２２０からの輝度画像は、視差画像生成部２３０に入力される。また、基準画像撮像部２１０からの輝度画像（基準画像Ｉａ）は、情報処理装置４の認識処理部４４０にも入力される。さらに、物体判定用の光が照射された物体を基準画像撮像部２１０が撮像することで得られる輝度画像は、情報処理装置４の物体判定部４１０に入力される。
【００３６】
視差画像生成部２３０は、基準画像撮像部２１０からの輝度画像（基準画像Ｉａ）と、比較画像撮像部２２０からの輝度画像（比較画像Ｉｂ）とを用いて、視差画像を生成する。視差画像生成部２３０が生成した視差画像は、情報処理装置４の視差画像評価部４３０に入力される。図８は、視差画像生成部２３０の詳細な構成例を示すブロック図である。図８に示すように、視差画像生成部２３０は、フィルタ部２３１，２３２と、コスト算出部２３３と、整数視差算出部２３４と、少数視差算出部２３５とを備える。
【００３７】
フィルタ部２３１，２３２は、それぞれ、基準画像撮像部２１０からの輝度画像（基準画像Ｉａ）と、比較画像撮像部２２０からの輝度画像（比較画像Ｉｂ）に対し、ノイズの除去や高域を強調するためのフィルタリング処理を行う。
【００３８】
コスト算出部２３３は、上述したように、基準画像Ｉａにおける基準画素ｐの輝度値と、比較画像Ｉｂにおける各候補画素ｑの輝度値とに基づき、各候補画素ｑのコスト値Ｃを算出する。コスト算出部２３３によるコスト値Ｃの算出方法としては、例えば、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）、ＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）、またはＮＣＣ（Ｎｏｒｍａｌｉｚｅｄ  Ｃｒｏｓｓ−Ｃｏｒｒｅｌａｔｉｏｎ）などの公知の方法を用いることができる。
【００３９】
整数視差算出部２３４および小数視差算出部２３５は、コスト算出部２３３により算出された各候補画素ｑのコスト値Ｃに基づき、１画素よりも小さいサブピクセル単位で視差値ｄｐを算出する。以下では、１画素単位で算出される視差値ｄｐを整数視差Δと呼び、サブピクセル単位で算出される視差値ｄｐを小数視差δと呼ぶ。図９は、整数視差Δおよび小数視差δの算出方法を説明する図である。
【００４０】
整数視差算出部２３４では、図９に示すように、各候補画素ｑごと（つまり基準画素ｐからのシフト量ｄごと）に算出されるコスト値Ｃが最小となるシフト量ｄが探索される。そして、コスト値Ｃが最小となるシフト量ｄの値が整数視差Δとして算出される。小数視差算出部２３５では、視差値ｄｐを小数まで追求するために、サブピクセル推定手法を使って図９に示す小数視差δが算出される。例えば等角直線法では、整数視差算出部２３４により算出された整数視差Δを中心として、ｄの値がひとつ小さいΔ−１とｄの値がひとつ大きいΔ＋１の合計３つの候補画素に対応する３つのコスト値Ｃを使って、小数視差δが算出される。また、パラボラフィット法や多項式による近似手法では、上記の３つのコスト値Ｃを使って小数視差δを算出してもよいし、図９のΔ−２、Δ−１、Δ、Δ＋１、Δ＋２に対応する５つのコスト値Ｃを使って小数視差δを算出してもよい。これらに限らず、所望のサブピクセル推定手法を用いて小数視差δを算出してもよい。
【００４１】
視差画像生成部２３０では、基準画像Ｉａ内の基準画素ｐのそれぞれについて、コスト算出部２３３で候補画素ｑのコスト値Ｃを算出し、整数視差算出部２３４および小数視差算出部２３５で少数視差δを算出する。これにより、物体の三次元情報を表す視差画像が生成される。なお、視差画像生成部２３０は、基準画像撮像部２１０から入力した基準画像Ｉａや比較画像撮像部２２０から入力した比較画像Ｉｂに対して、歪み補正処理などの処理を施す前処理部を備えていてもよい。基準画像Ｉａと比較画像Ｉｂの歪み状態はコスト算出部２３３で算出するコスト値Ｃの結果に大きな影響を与える場合があるため、コスト値Ｃの算出前に歪み補正処理を行うことが有効である。また、基準画像撮像部２１０や比較画像撮像部２２０におけるレンズとセンサの光軸ずれや、レンズの光学的歪み状態が基準画像Ｉａと比較画像Ｉｂとで異なる場合は、その歪みを補正するための歪み補正パラメータを前処理部において保持し、キャリブレーション結果を歪み補正パラメータに反映させるといった対策を講じることも有効である。
【００４２】
図７に戻り、物体判定部４１０は、ピッキング対象となる物体について、サイズ、形状、色、光透過率、ステレオカメラ２からの距離の少なくとも１つを判定する。物体判定部４１０による判定の方法としては様々な方法を用いることができるが、ここでは、一例として、ステレオカメラ２により撮像された物体の撮像画像（輝度画像）を用いて判定する例について説明する。
【００４３】
物体判定部４１０は、例えば、ピッキングシステム１によるピッキング動作の開始時やピッキング回数が所定回数（ピッキング回数閾値）を超えた場合など、所定の判定タイミングになると、パターン投光器３に対して物体判定用の光の照射を指示する制御命令を出力するとともに、ステレオカメラ２に対して輝度画像の撮像を指示する制御命令を出力する。そして、パターン投光器３から物体判定用の光が照射された物体の輝度画像がステレオカメラ２の基準画像撮像部２１０から出力されると、物体判定部４１０は、この基準画像撮像部２１０から出力された輝度画像を取得して解析することにより、物体のサイズ、形状、色、光透過率、ステレオカメラ２からの距離の少なくとも１つを判定する。
【００４４】
例えば物体判定部４１０は、基準画像撮像部２１０から出力された輝度画像を２値化してエッジ検出を行うことで、物体の形状を判定することができ、さらにステレオカメラ２のカメラパラメータ（焦点距離や画角、位置など）を参照することで、物体のサイズを判定することができる。また、逆に、所定形状の物体サイズとして既知のサイズと輝度画像における物体サイズとの比率から、ステレオカメラ２から物体までの距離を判定することもできる。さらに、ＲＧＢ３チャンネルの輝度画像の画素値を用いて物体の色を判定することもできる。なお、パターン投光器３から物体に照射される物体判定用の光は、例えば、明度分布を持たない所定の明るさの一様の光である。物体判定部４１０の判定結果は、視差画像評価部４３０に通知される。
【００４５】
視差画像評価部４３０は、パターン最適化処理により視差画像の評価を行いながら、精度のよい視差画像を出力する。すなわち、視差画像評価部４３０は、パターン投光器２から物体に照射されるパターンのパラメータの値を変更しながら、ステレオカメラ２の視差画像生成部２３０により生成される視差画像を評価して、評価結果が所定の基準を満たす視差画像を出力する。パラメータの値をパターン投光器２から照射されるパターンに反映させる方法としては、例えば、予めパラメータの値ごとに用意されているパターンをパターン投光器２から照射させるようにしてもよいし、視差画像評価部４３０がパラメータの値に応じたパターンを生成してパターン投光器２から照射させるようにしてもよい。また、パラメータの値に応じてパターン投光器２の光学系や位置を調整する方法であってもよい。また、視差画像の評価方法の一例として、ここでは、視差画像の有効視差点数を評価する方法について説明する。
【００４６】
有効視差点数は、上述したように、信頼性の高い視差値（有効視差）が得られた画素の数である。有効視差は、基準画像Ｉａと比較画像Ｉｂとの間の対応関係が一意に特定できた画素の視差値であり、視差画像に含まれる各画素の視差値のうち、対応関係が一意に特定できない画素の視差値や異常値（ノイズ）と判定された視差値（無効視差）を除いたものである。視差画像評価部４３０は、例えば、ステレオカメラ２の視差画像生成部２３０により生成される視差画像から、ピッキング対象の物体を映した物体領域を検出し、その物体領域の全画素数および物体領域内における有効視差点数をカウントする。そして、物体領域の全画素数に対する有効視差点数の比率を、有効視差評価値として算出し、有効視差評価値が所定の閾値を超えた視差画像を出力する。なお、物体領域内における有効視差点数の代わりに無効視差の数（無効視差点数）をカウントし、物体領域の全画素数に対する無効視差点数の比率の逆数を、有効視差評価値として算出するようにしてもよい。
【００４７】
視差画像評価部４３０は、以上のようなパターン最適化処理を短時間で効率よく行うために、物体判定部４１０の判定結果を用いて、視差画像を評価するときに変更するパターンのパラメータの値の範囲である評価範囲の絞り込みを行う。具体的には、視差画像評価部４３０は、物体判定部４１０の判定結果に対応する値として予め定められたパラメータの値を評価基準値として評価基準値記憶部４２０から取得し、取得した評価基準値に基づいて評価範囲の絞り込みを行う。
【００４８】
図１０は、評価基準値記憶部４２０が記憶する対応テーブルの一例を示す図である。評価基準値記憶部４２０には、図１０に示すように、物体判定部４１０により判定される物体の特性とパターンのパラメータの値とを対応付けた対応テーブルが格納されている。視差画像評価部４３０は、物体判定部４１０の判定結果を受け取ると、評価基準値記憶部４２０が記憶する対応テーブルを参照して、物体判定部４１０の判定結果に対応するパラメータの値を取得する。
【００４９】
なお、図１０（ａ）は、物体の光透過率とパターンの拡大縮小率およびコントラストとを対応付けた対応テーブルを示し、図１０（ｂ）は、物体のサイズとパターンの拡大縮小率およびコントラストとを対応付けた対応テーブルを示している。ただし、評価基準値記憶部４２０には、光透過率やサイズ以外にも、物体判定部４１０によって判定される物体の他の特性（形状、色、ステレオカメラ２からの距離など）とパターンのパラメータの値とを対応付けた対応テーブルも格納されている。パターンの拡大縮小率は、パターンの粒度（テクスチャのサイズ）に関わるパラメータであり、コントラストは、パターンの明度分布（テクスチャの明度）に関わるパラメータである。評価基準値記憶部４２０が記憶する対応テーブルでは、これら拡大縮小率やコントラスト以外の他のパラメータ（例えば、テクスチャの周波数（出現頻度）やテクスチャの輝度レベル（多輝度）など）の値が、物体判定部４１０により判定される物体の特性と対応付けられていてもよい。
【００５０】
評価基準値記憶部４２０が記憶する対応テーブルは、事前に評価実験などを行って作成され、評価基準値記憶部４２０に格納される。評価実験では、例えば、様々な物体を対象として視差画像を生成して有効視差点数を評価し、良好な評価結果が得られたときのパラメータの値を求める。この評価実験で求めたパラメータの値を、物体のサイズ、形状、色、光透過率、ステレオカメラ２からの距離などに対応付けることで対応テーブルが作成され、評価基準値記憶部４２０に格納される。
【００５１】
ここで、視差画像評価部４３０による評価範囲の絞り込みの具体例について説明する。図１１は、評価範囲の絞り込みの一例を説明する図である。図１１において、横軸はパターンのパラメータ（例えば拡大縮小率やコントラスト）の値を示し、縦軸は視差画像の有効視差評価値を示している。また、図中のＰ０はパラメータの値の現在値（物体判定部４１０による判定が行われる判定タイミングのときのパラメータの値）であり、Ｐ１は評価基準値記憶部４２０から取得された評価基準値である。
【００５２】
視差画像評価部４３０は、評価基準値記憶部４２０から評価基準値Ｐ１を取得すると、まず、パラメータの値が取り得る全範囲のうち、現在値Ｐ０を端点として評価基準値Ｐ１を含まない範囲を評価範囲から除外することにより、評価範囲の絞り込みを行う。図１１（ａ）に示す例では、現在値Ｐ０よりも右側の範囲が評価範囲から除外されることで、評価範囲が、現在値Ｐ０よりも左側の範囲Ｒ１に絞り込まれる。
【００５３】
次に、視差画像評価部４３０は、パラメータの値を評価基準値Ｐ１に変更し、このときにステレオカメラ２の視差画像生成部２３０により生成される視差画像を評価して、有効視差評価値を算出する。そして、算出した有効視差評価値が閾値ＶＴｈを超えたか否かを判定し、有効視差評価値が閾値ＶＴｈを超えていれば、その視差画像を出力して評価を終了する。一方、有効視差評価値が閾値ＶＴｈ以下であれば、パラメータの値を評価範囲内で変更する。このとき、視差画像評価部４３０は、評価範囲のさらなる絞り込みを行う。
【００５４】
この評価範囲の絞り込みは、パラメータの値を評価基準値Ｐ１から変更したときにステレオカメラ２の視差画像生成部２３０により生成される視差画像の有効視差評価値が、変更前（つまり、パラメータの値が評価基準値Ｐ１のとき）の有効視差評価値より向上しているか否かに基づいて行う。具体的には、視差画像評価部４３０は、パラメータの値が評価基準値Ｐ１のときの有効視差評価値を保持しておく。そして、パラメータの値を評価基準値Ｐ１から所定量減少させ、このときにステレオカメラ２の視差画像生成部２３０により生成される視差画像の有効視差評価値を算出し、保持していた有効視差評価値と比較する。この比較の結果、有効視差評価値が向上していれば、評価基準値Ｐ１よりも小さいパラメータの値の範囲に評価範囲を絞り込み、有効視差評価値が低下していれば、評価基準値Ｐ１よりも大きいパラメータの値の範囲に評価範囲を絞り込む。このように絞り込まれた評価範囲を評価基準値Ｐ１からみた方向を、以下では「探索方向」とよぶ。図１１（ｂ）に示す例では、パラメータの値を評価基準値Ｐ１よりも減少させたときに有効視差評価値が向上するので、評価範囲が、評価基準値Ｐ１よりも左側の範囲Ｒ２に絞り込まれる。そして、パラメータの値を減少させる方向（図中の左側に向く方向）が探索方向となる。
【００５５】
その後、視差画像評価部４３０は、パラメータの値を評価範囲内で探索方向に所定量ずつ変更しながら、ステレオカメラ２の視差画像生成部２３０により生成される視差画像の有効視差評価値を算出する。そして、有効視差評価値が閾値ＶＴｈを超えた段階でその視差画像を出力し、評価を終了する。なお、ここでは、有効視差評価値が閾値ＶＴｈを超えた段階で評価を終了するようにしているが、有効視差評価値が最大となるパラメータの値を探索し、有効視差評価値が最大となる視差画像を出力して評価を終了するようにしてもよい。この場合、例えば、パラメータの値を評価範囲内で探索方向に所定量ずつ変更しながら随時算出した有効視差評価値が、向上から低下に転じたパラメータの値の一つ手前の値を有効視差値が最大となるパラメータの値とみなし、そのときの視差画像を出力して評価を終了すればよい。視差画像評価部４３０が出力する視差画像は、認識処理部４４０に渡される。また、視差画像評価部４３０は、絞り込んだ評価範囲をすべて評価しても閾値ＶＴｈを超える有効視差評価値が得られなかった場合、その評価範囲内で最も高い有効視差評価値が得られた視差画像を出力する構成としてもよい。
【００５６】
図７に戻り、認識処理部４４０は、視差画像評価部４３０から出力された視差画像と、この視差画像の生成に用いた基準画像Ｉａとに基づいて、ステレオカメラ２により撮像された物体の三次元空間における形状、位置および距離などを認識する。認識処理部４４０の認識結果はアーム制御装置５に送られる。これにより、アーム制御装置５によりロボットアーム６の動作が制御され、物体のピッキングが行われる。
【００５７】
（ピッキングシステムの動作）
次に、本実施形態のピッキングシステム１の動作について、図１２乃至図１５を参照して説明する。まず、図１２を参照して、ピッキングシステム１の動作の概要を説明する。図１２は、ピッキングシステム１による動作の流れを説明するフローチャートである。
【００５８】
ピッキングシステム１の動作が開始されると、まず、物体判定部４１０による物体判定処理が行われる（ステップＳ１０１）。物体判定処理は、上述したように、ピッキング対象となる物体のサイズ、形状、色、光透過率、ステレオカメラ２からの距離の少なくとも１つを判定する処理である。なお、ステップＳ１０１の物体判定処理の具体例については、詳細を後述する。
【００５９】
次に、視差画像評価部４３０によるパターン最適化処理が行われる（ステップＳ１０２）。パターン最適化処理は、上述したように、有効視差評価値が閾値ＶＴｈを超える視差画像が得られるパターンのパラメータの値を探索する処理である。なお、ステップＳ１０２のパターン最適化処理の具体例については、詳細を後述する。
【００６０】
次に、認識処理部４４０により物体認識処理が行われ（ステップＳ１０３）、その認識結果に基づいて、アーム制御装置５によりロボットアーム６の動作が制御されることで、物体のピッキングが行われる（ステップＳ１０４）。
【００６１】
その後、すべての物体のピッキングが終了したか否かが判定され（ステップＳ１０５）、ピッキングが終了していない物体があれば（ステップＳ１０５：Ｎｏ）、ピッキング回数がピッキング回数閾値を超えたか否かが判定される（ステップＳ１０６）。そして、ピッキング回数がピッキング回数閾値未満であれば（ステップＳ１０６：Ｎｏ）、パターン投光器３によりパターンが照射された次のピッキング対象の物体に対し、ステレオカメラ２による撮像および視差画像の生成が行われ（ステップＳ１０７）、ステップＳ１０３の物体認識処理以降の処理が繰り返される。
【００６２】
一方、ピッキング回数がピッキング回数閾値を超えた場合は（ステップＳ１０６：Ｙｅｓ）、ピッキング対象の物体の変更やパターン投光器３の動作状態の変化などの環境変化が生じている可能性があるため、ステップＳ１０１に戻って物体判定処理から処理が繰り返される。また、ステップＳ１０５において、すべての物体のピッキングが終了したと判定された場合は、ピッキングシステム１の動作が終了する。
【００６３】
次に、図１３を参照して、図１２のステップＳ１０１の物体判定処理の具体例について説明する。図１３は、物体判定処理の一例を説明するフローチャートである。
【００６４】
物体判定処理が開始されると、物体判定部４１０は、パターン投光器３に対して物体判定用の光の照射を指示する制御命令を出力するとともに、ステレオカメラ２に対して輝度画像の撮像を指示する制御命令を出力する。これにより、パターン投光器３から物体に対して物体判定用の光が照射され（ステップＳ２０１）、ステレオカメラ２により、物体判定用の光が照射された物体が撮像される（ステップＳ２０２）。
【００６５】
次に、物体判定部４１０は、ステレオカメラ２の基準画像撮像部２１０から出力される輝度画像を取得し、この輝度画像を解析することにより物体のサイズ、形状、色、光透過率、ステレオカメラ２からの距離の少なくとも１つを判定し（ステップＳ２０３）、その判定結果を視差画像評価部４３０に通知する。
【００６６】
次に、図１４を参照して、図１２のステップＳ１０２のパターン最適化処理の具体例について説明する。図１４は、パターン最適化処理の一例を説明するフローチャートである。
【００６７】
パターン最適化処理が開始されると、視差画像評価部４３０は、まず、評価基準値記憶部４２０が記憶する対応テーブルを参照し、物体判定部４１０から通知された判定結果に対応するパラメータの値を評価基準値として取得する（ステップＳ３０１）。
【００６８】
次に、視差画像評価部４３０は、ステップＳ３０１で取得した評価基準値に基づいて、評価範囲の絞り込みを行う（ステップＳ３０２）。具体的には、視差画像評価部４３０は、図１１（ａ）を用いて説明したように、パターン投光器３から物体に照射するパターンのパラメータの値が取り得る全範囲のうち、現在値Ｐ０を端点として評価基準値Ｐ１を含まない範囲を評価範囲から除外することにより、評価範囲の絞り込みを行う。
【００６９】
次に、視差画像評価部４３０は、パターン投光器３が物体に照射するパターンのパラメータの値を評価基準値に設定する（ステップＳ３０３）。これにより、パラメータの値が評価基準値に設定されたパターンがパターン投光器３から物体に照射され、ステレオカメラ２による撮像および視差画像の生成が行われる（ステップＳ３０４）。
【００７０】
次に、視差画像評価部４３０は、ステップＳ３０４で生成された視差画像の有効視差評価値を算出し、算出した有効視差評価値が閾値ＶＴｈを超えるか否かを判定する（ステップＳ３０５）。そして、有効視差評価値が閾値ＶＴｈを超えていれば（ステップＳ３０５：Ｙｅｓ）、ステップＳ３０４で生成された視差画像を出力し（ステップＳ３１０）、パターン最適化処理を終了する。一方、有効視差評価値が閾値ＶＴｈ以下であれば（ステップＳ３０５：Ｎｏ）、視差画像評価部４３０は、次に探索方向決定処理を行う（ステップＳ３０６）。なお、探索方向決定処理の具体例については、詳細を後述する。
【００７１】
次に、視差画像評価部４３０は、ステップＳ３０６の探索方向決定処理においてステレオカメラ２により生成された視差画像の有効視差評価値が閾値ＶＴｈを超えるか否かを判定する（ステップＳ３０７）。そして、有効視差評価値が閾値ＶＴｈを超えていれば（ステップＳ３０７：Ｙｅｓ）、その視差画像を出力して（ステップＳ３１０）、パターン最適化処理を終了する。
【００７２】
一方、有効視差評価値が閾値ＶＴｈ以下であれば（ステップＳ３０７：Ｎｏ）、視差画像評価部４３０は、パターン投光器３が物体に照射するパターンのパラメータの値を、ステップＳ３０６の探索方向決定処理において決定した探索方向に所定量変更する（ステップＳ３０８）。これにより、パラメータの値が評価基準値に設定されたパターンがパターン投光器３から物体に照射され、ステレオカメラ２による撮像および視差画像の生成が行われる（ステップＳ３０９）。
【００７３】
その後、視差画像評価部４３０は、ステップＳ３０７に戻って、ステップＳ３０９で生成された視差画像の有効視差評価値を算出し、算出した有効視差評価値が閾値ＶＴｈを超えるか否かを判定する。そして、有効視差評価値が閾値ＶＴｈ以下であればステップＳ３０８以降の処理を繰り返し、有効視差評価値が閾値ＶＴｈを超えた段階でそのときの視差画像を出力し（ステップＳ３１０）、パターン最適化処理を終了する。
【００７４】
次に、図１５を参照して、図１４のステップＳ３０６の探索方向決定処理の具体例について説明する。図１５は、探索方向決定処理の一例を説明するフローチャートである。
【００７５】
探索方向決定処理が開始されると、視差画像評価部４３０は、まず、パラメータの値が評価基準値のときの有効視差評価値（図１４のステップＳ３０５で算出した有効視差評価値）を保持する（ステップＳ４０１）。
【００７６】
次に、視差画像評価部４３０は、パラメータの値を評価基準値から所定量減少させる（ステップＳ４０２）。これにより、パラメータの値が評価基準値から所定量減少されたパターンがパターン投光器３から物体に照射され、ステレオカメラ２による撮像および視差画像の生成が行われる（ステップＳ４０３）。
【００７７】
次に、視差画像評価部４３０は、ステップＳ４０３で生成された視差画像の有効視差評価値を算出し、算出した有効視差評価値（現在の有効視差評価値）が、パラメータの値が評価基準値のときの有効視差評価値（ステップＳ４０１で保持した有効視差評価値）よりも大きいか否か（有効視差評価値が向上したか否か）を判定する（ステップＳ４０４）。そして、有効視差評価値が向上していれば（ステップＳ４０４：Ｙｅｓ）、パラメータの値を減少させる方向を探索方向に決定する（ステップＳ４０５）。この場合、図１４のステップＳ３０７において、ステップＳ４０４で算出した有効視差評価値が閾値ＶＴｈを超えているか否かの判定が行われる。
【００７８】
一方、有効視差評価値が低下している場合は（ステップＳ４０４：Ｎｏ）、視差画像評価部４３０は、パラメータの値を増加させる方向を探索方向に決定する（ステップＳ４０６）。そして、視差画像評価部４３０は、パラメータの値を評価基準値から所定量増加させる（ステップＳ４０７）。これにより、パラメータの値が評価基準値から所定量増加されたパターンがパターン投光器３から物体に照射され、ステレオカメラ２による撮像および視差画像の生成が行われる（ステップＳ４０８）。この場合、図１４のステップＳ３０７において、ステップＳ４０８で生成された視差画像の有効視差評価値が算出され、図１４のステップＳ３０７において有効視差評価値の算出が行われ、算出した有効視差評価値が閾値ＶＴｈを超えているか否かの判定が行われる。
【００７９】
なお、以上説明した例では、ステップＳ４０２でパラメータの値を評価基準値から所定量減少させているが、これに代えて、パラメータの値を評価基準値から所定量増加させてもよい。この場合、ステップＳ４０５でパラメータの値を増加させる方向を探索方向に決定し、ステップＳ４０６でパラメータの値を減少させる方向を探索方向に決定すればよい。
【００８０】
以上、具体的な例を挙げながら詳細に説明したように、本実施形態のピッキングシステム１は、精度のよい視差画像を得るためのパターン最適化処理を行うにあたり、ピッキング対象となる物体のサイズ、形状、色、光透過率、ステレオカメラ２からの距離の少なくとも１つを判定し、その判定結果に対応する値として予め定められたパラメータの値を評価基準値として取得する。そして、取得した評価基準値に基づいて、視差画像を評価するパラメータの値の範囲である評価範囲の絞り込みを行うようにしている。したがって、本実施形態のピッキングシステム１によれば、精度のよい視差画像を得るためのパターン最適化処理を短時間で効率よく行うことができ、精度のよい視差画像を短時間で生成できるため、物体のピッキング動作に要するタクトタイムを短縮して、作業効率を高めることができる。
【００８１】
なお、以上の実施形態では、物体判定部４１０が物体のサイズ、形状、色、光透過率、ステレオカメラ２からの距離の少なくとも１つを判定する方法として、ステレオカメラ２により撮像された物体の輝度画像を用いる例を説明したが、物体判定部４１０による判定方法はこれに限らない。例えば、ステレオカメラ２やパターン投光器３とは異なる光センサやレーザ計測装置などをピッキングシステム１に組み込み、これら光センサやレーザ計測装置などから出力される信号を用いて、物体判定部４１０が物体のサイズ、形状、色、光透過率、ステレオカメラ２からの距離の少なくとも１つを判定する構成としてもよい。また、ユーザの操作入力を受け付けるユーザインターフェースを設け、このユーザインターフェースにより受け付けたユーザの操作入力に基づいて、物体判定部４１０が物体のサイズ、形状、色、光透過率、ステレオカメラ２からの距離の少なくとも１つを判定する構成としてもよい。
【００８２】
［第２実施形態］
次に、第２実施形態について説明する。本実施形態は、視差画像評価部４３０によるパターン最適化処理が第１実施形態とは異なっている。具体的には、本実施形態では、最適解を求める求解アルゴリズムとして数値解析の分野で広く利用されている二分法を用いて、評価範囲の絞り込みを行う。なお、視差画像評価部４３０によるパターン最適化処理以外は第１実施形態と共通であるため、以下では、本実施形態のパターン最適化処理についてのみ説明する。
【００８３】
図１６は、二分法を用いた評価範囲の絞り込みを説明する図である。図１１に示した例と同様に、図１６における横軸はパターンのパラメータ（例えば拡大縮小率やコントラスト）の値を示し、縦軸は視差画像の有効視差評価値を示している。また、図中のＰ０はパラメータの値の現在値であり、Ｐ１は評価基準値記憶部４２０から取得された評価基準値である。また、図中のＰ２，Ｐ３は、それぞれ評価範囲の絞り込みに用いた中点に相当するパラメータの値を表している。
【００８４】
本実施形態の視差画像評価部４３０は、評価基準値記憶部４２０から評価基準値Ｐ１を取得すると、まず、パラメータの値が取り得る全範囲のうち、現在値Ｐ０を端点として評価基準値Ｐ１を含まない範囲を評価範囲から除外することにより、評価範囲の絞り込みを行う。図１６（ａ）に示す例では、現在値Ｐ０よりも右側の範囲が評価範囲から除外されることで、評価範囲が、現在値Ｐ０よりも左側の範囲Ｒ１１に絞り込まれる。
【００８５】
次に、視差画像評価部４３０は、パラメータの値を評価基準値Ｐ１に変更し、このときステレオカメラ２により生成される視差画像の有効視差評価値を算出して、算出した有効視差評価値を保持する。
【００８６】
次に、視差画像評価部４３０は、パラメータの値を、最初に絞り込んだ評価範囲の中点に相当する値Ｐ２に変更し、このときステレオカメラ２により生成される視差画像の有効視差評価値を算出する。そして、視差画像評価部４３０は、パラメータの値が評価基準値Ｐ１のときの有効視差評価値とパラメータの値が評価範囲の中点に相当する値Ｐ２のときの有効視差評価値とを比較し、その結果に応じて評価範囲をさらに絞り込む。
【００８７】
すなわち、パラメータの値が評価基準値Ｐ１のときの有効視差評価値が、パラメータの値が評価範囲の中点に相当する値Ｐ２のときの有効視差評価値よりも大きければ、評価範囲の中点に相当する値Ｐ２を端点として評価基準値Ｐ１を含む範囲に、評価範囲を絞り込む。一方、パラメータの値が評価範囲の中点に相当する値Ｐ２のときの有効視差評価値が、パラメータの値が評価基準値Ｐ１のときの有効視差評価値よりも大きければ、評価範囲の中点に相当する値Ｐ２を端点として評価基準値Ｐ１を含まない範囲に、評価範囲を絞り込む。図１６（ｂ）に示す例では、パラメータの値がＰ２のときの有効視差評価値が評価基準値Ｐ１のときの有効視差評価値よりも大きいので、評価範囲が、Ｐ２よりも左側の範囲Ｒ１２に絞り込まれる。なお、パラメータの値がＰ２のときの有効視差評価値は、次の評価範囲の絞り込みを行うために保持される。
【００８８】
次に、視差画像評価部４３０は、パラメータの値を、前回絞り込んだ評価範囲の中点に相当する値Ｐ３に変更し、このときステレオカメラ２により生成される視差画像の有効視差評価値を算出する。そして、視差画像評価部４３０は、パラメータの値がＰ２のときの有効視差評価値とＰ３のときの有効視差評価値とを比較し、その結果に応じて評価範囲をさらに絞り込む。
【００８９】
すなわち、パラメータの値がＰ２のときの有効視差評価値がＰ３のときの有効視差評価値よりも大きければ、評価範囲をＰ２からＰ３までの範囲に絞り込む。一方、パラメータの値がＰ３のときの有効視差評価値がＰ２のときの有効視差評価値よりも大きければ、Ｐ３を端点としてＰ２を含まない範囲に、評価範囲を絞り込む。図１６（ｃ）に示す例では、パラメータの値がＰ２のときの有効視差評価値がＰ３のときの有効視差評価値よりも大きいので、評価範囲がＰ２からＰ３の範囲Ｒ１３に絞り込まれる。なお、パラメータの値がＰ３のときの有効視差評価値は、次の評価範囲の絞り込みを行うために保持される。
【００９０】
視差画像評価部４３０は、以上のような評価範囲の絞り込みを所定回数繰り返すことでパラメータの値を最適値に近づけ、評価範囲の絞り込みを所定回数行ったときに得られる最新の視差画像を出力する。なお、本実施形態では、以上のような評価範囲の絞り込みを所定回数行った後に視差画像を出力して評価を終了するようにしているが、第１実施形態と同様に、視差画像の有効視差評価値が閾値ＶＴｈを超えた段階で視差画像を出力して評価を終了してもよい。
【００９１】
図１７は、第２実施形態のパターン最適化処理を説明するフローチャートである。この図１７のフローチャートで示す処理は、図１４に示した第１実施形態のパターン最適化処理の代わりに、図１２のフローチャートにおけるステップＳ１０２で実行される。
【００９２】
パターン最適化処理が開始されると、視差画像評価部４３０は、まず、評価基準値記憶部４２０が記憶する対応テーブルを参照し、物体判定部４１０から通知された判定結果に対応するパラメータの値を評価基準値として取得する（ステップＳ５０１）。
【００９３】
次に、視差画像評価部４３０は、ステップＳ５０１で取得した評価基準値に基づいて、評価範囲の絞り込みを行う（ステップＳ５０２）。具体的には、視差画像評価部４３０は、図１６（ａ）を用いて説明したように、パターン投光器３から物体に照射するパターンのパラメータの値が取り得る全範囲のうち、現在値Ｐ０を端点として評価基準値Ｐ１を含まない範囲を評価範囲から除外することにより、評価範囲の絞り込みを行う。
【００９４】
次に、視差画像評価部４３０は、パターン投光器３が物体に照射するパターンのパラメータの値を評価基準値に設定する（ステップＳ５０３）。これにより、パラメータの値が評価基準値に設定されたパターンがパターン投光器３から物体に照射され、ステレオカメラ２による撮像および視差画像の生成が行われる（ステップＳ５０４）。
【００９５】
次に、視差画像評価部４３０は、ステップＳ５０４で生成された視差画像の有効視差評価値を算出し、算出した有効視差評価値を保持する（ステップＳ５０５）。
【００９６】
次に、視差画像評価部４３０は、パターン投光器３が物体に照射するパターンのパラメータの値を、ステップＳ５０２で絞り込んだ評価範囲の中点に相当する値に設定する（ステップＳ５０６）。これにより、パラメータの値が評価範囲の中点に相当する値に設定されたパターンがパターン投光器３から物体に照射され、ステレオカメラ２による撮像および視差画像の生成が行われる（ステップＳ５０７）。
【００９７】
次に、視差画像評価部４３０は、ステップＳ５０７で生成された視差画像の有効視差評価値を算出し、算出した有効視差評価値がステップＳ５０５で保持した有効視差評価値よりも大きいか否かを判定する（ステップＳ５０８）。そして、ステップＳ５０７で生成された視差画像の有効視差評価値がステップＳ５０５で保持した有効視差評価値よりも大きければ（ステップＳ５０８：Ｙｅｓ）、評価範囲を、ステップＳ５０６で設定したパラメータの値（これまでの評価範囲の中点に相当する値）を端点として、評価基準値を含まない範囲に絞り込む（ステップＳ５０９）。一方、ステップＳ５０７で生成された視差画像の有効視差評価値がステップＳ５０５で保持した有効視差評価値以下であれば（ステップＳ５０８：Ｎｏ）、評価範囲を、ステップＳ５０６で設定したパラメータの値を端点として、評価基準値を含む範囲に絞り込む（ステップＳ５１０）。
【００９８】
その後、視差画像評価部４３０は、評価範囲の絞り込み回数が所定回数に達したか否かを判定する（ステップＳ５１１）。そして、評価範囲の絞り込み回数が所定回数に達していなければ（ステップＳ５１１：Ｎｏ）、ステップＳ５０６で設定したパラメータの値（これまでの評価範囲の中点に相当する値）を評価基準値に置き換えて（ステップＳ５１２）、ステップＳ５０５以降の処理を繰り返す。一方、評価範囲の絞り込み回数が所定回数に達した場合は（ステップＳ５１１：Ｙｅｓ）、そのときの最新の視差画像を出力し（ステップＳ５１３）、パターン最適化処理を終了する。
【００９９】
以上のように、本実施形態では、二分法を用いた評価範囲の絞り込みを行うことで、精度のよい視差画像を得るためのパターン最適化処理を短時間で効率よく行うことができる。したがって、本実施形態によれば、第１実施形態と同様に、精度のよい視差画像を短時間で生成することができ、物体のピッキング動作に要するタクトタイムを短縮して、作業効率を高めることができる。
【０１００】
［第３実施形態］
次に、第３実施形態について説明する。本実施形態では、パターン投光器３が物体に照射するパターンのパラメータとして、物体に対するパターン投光器３の位置を扱う。物体に対するパターン投光器３の位置は、第１実施形態においてパターンのパラメータの一つとして説明した拡大縮小率と等価である。つまり、パターン投光器３の位置が物体に近づくと、物体に照射されるパターンが拡大されることになり、パターン投光器３の位置が物体から離れると、物体に照射されるパターンが縮小されることになる。
【０１０１】
図１８は、本実施形態のピッキングシステム１の概略構成図である。図１８に示すように、本実施形態のピッキングシステム１は、第１実施形態のピッキングシステム１の構成（図５参照）に対し、位置調整機構９が追加されている。位置調整機構９は、ピッキング対象となる物体に対するパターン投光器３の位置を調整するものであり、例えば、調整量をリニアに制御可能な電磁アクチュエータや、所定単位での調整が可能なステッピングモータを利用したアクチュエータなどを利用することができる。
【０１０２】
本実施形態のピッキングシステム１では、情報処理装置４の視差画像評価部４３０が、位置調整機構９に対して制御指令を出力することにより、ピッキング対象となる物体に対するパターン投光器３の位置を調整する。視差画像評価部４３０は、この位置調整機構９により調整されるパターン投光器３の位置を、パターン投光器３から物体に照射されるパターンのパラメータとして、第１実施形態や第２実施形態と同様の方法により、パターン最適化処理を行う。これにより、第１実施形態や第２実施形態と同様に、精度のよい視差画像を短時間で生成することができ、物体のピッキング動作に要するタクトタイムを短縮して、作業効率を高めることができる。
【０１０３】
（補足説明）
上述した各実施形態において説明した情報処理装置４の機能的な構成要素（物体判定部４１０、視差画像評価部４３０、認識処理部４４０など）は、例えば、図６のＣＰＵ１２がＲＡＭ１４をワークエリアとして利用して、ＲＯＭ１３やハードディスク装置に格納されたプログラムを実行することにより実現することができる。この場合、上記プログラムは、情報処理装置４にインストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録して提供される。また、上記プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由で情報処理装置４にダウンロードさせることにより提供するように構成してもよい。さらに、上記プログラムを、インターネットなどのネットワーク経由で提供または配布するように構成してもよい。また、上記プログラムを、例えば情報処理装置４内のＲＯＭ１３などに予め組み込んで提供するようにしてもよい。
【０１０４】
また、上述した実施形態および各変形例において説明した情報処理装置４の機能的な構成要素は、その一部または全部を、例えばＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）やＦＰＧＡなどの専用のハードウェアを用いて実現することもできる。また、上述した実施形態および各変形例において説明した情報処理装置４の機能的な構成要素は、その一部または全部を、例えばステレオカメラ２やパターン投光器３など、情報処理装置４とは別の装置に設けるようにしてもよい。
【０１０５】
以上、本発明の具体的な実施形態について説明したが、上述した実施形態は本発明の一適用例を示したものである。本発明は、上述した実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で様々な変形や変更を加えて具体化することができる。例えば、上述した実施形態では、ステレオカメラ２内の２つの撮像部１０ａ，１０ｂにより基準画像撮像部２１０および比較画像撮像部２２０を実現する構成を例示したが、視差画像生成部２３０を有するステレオカメラ２とは別体のカメラをステレオカメラ２に接続し、この別体のカメラにより基準画像撮像部２１０と比較画像撮像部２２０の少なくとも一方を実現する構成としてもよい。
【０１０６】
また、上述した実施形態では、ステレオカメラ２を備えるものとして説明したが、これに限定されるものではなく、ステレオカメラ２に代えて単眼カメラを備える構成としてもよい。この場合、単眼カメラを移動させて被写体としての物体を複数回撮像し、複数回撮像した画像を使用して物体までの距離情報を得る構成であってもよいし、位相シフト法により物体までの距離情報を得る構成であってもよい。
【０１０７】
また、上述した実施形態では、パターン最適化処理により値を変更するパラメータとしてパターンの拡大縮小率とコントラストを例示したが、パターン最適化処理で扱うパラメータはこの例に限定されるものではなく、パターンが有するテクスチャのサイズ、形状、色、密度、明度のいずれか一つ以上に関わる他のパラメータを扱うようにしてもよい。例えば、パターンのテクスチャの周波数（出現頻度）やテクスチャの輝度レベル（多輝度）などは、視差画像の有効視差評価値に影響を与えるパターンのパラメータであるため、これらのパラメータをパターン最適化処理で扱うようにしてもよい。
【０１０８】
例えば、物体のサイズが小さい場合に、パターンのテクスチャ周波数が低いと、テクスチャが現れる頻度が低く、物体表面に十分なテクスチャが照射されない。その結果、有効視差点数が少なくなる場合が考えられる。物体表面に十分なテクチャを照射するために、テクスチャの出現頻度を高めることで、有効視差点数は増加する。このため、物体判定部４１０により物体のサイズが判定され、パターンのテクスチャ周波数に対して物体のサイズが小さい場合に、パターン最適化処理においてパターンのパラメータとしてテクスチャ周波数の値を上げることにより、テクスチャの出現頻度が高くなり有効視差点数を増加させることができる。
【０１０９】
また、例えば、物体表面の色が白、黄色といった明るい色の場合、照射したパターンの模様は鮮明に物体表面に照射される。このとき、パターンが２値の白・黒のみの場合、視差画像生成部２３０において、基準画像と比較画像の対応画素として似た白黒の繰り返しが出現してしまった場合に、ステレオマッチング処理における誤マッチングが発生し、有効視差点数が少なくなる場合が考えられる。ステレオマッチング処理における誤マッチングを減らして有効視差点数を増加させるには、似た繰り返しが出現しないように、複数の輝度レベルを持つテクスチャを照射し、似た繰り返しが出現しないようにすることが有効である。このため、物体判定部４１０により物体の色が判定され、パターンのテクスチャの輝度レベルが物体の色に対して少ない場合に、テクスチャの輝度レベルを増加（多輝度化）させることにより、ステレオマッチング処理における誤マッチングを防止して有効視差点数を増加させることができる。
【符号の説明】
【０１１０】
１  ピッキングシステム
２  ステレオカメラ
３  パターン投光器
４  情報処理装置
５  アーム制御装置
９  位置調整機構
２１０  基準画像撮像部
２２０  比較画像撮像部
２３０  視差画像生成部
４１０  物体判定部
４２０  評価基準値記憶部
４３０  視差画像評価部
４４０  認識処理部
【先行技術文献】
【特許文献】
【０１１１】
【特許文献１】特許第４４７３１３６号公報
【図１】
0006554832.tif 000002
【図２】
0006554832.tif 000003
【図３】
0006554832.tif 000004
【図４】
0006554832.tif 000005
【図５】
0006554832.tif 000006
【図６】
0006554832.tif 000007
【図７】
0006554832.tif 000008
【図８】
0006554832.tif 000009
【図９】
0006554832.tif 000010
【図１０】
0006554832.tif 000011
【図１１】
0006554832.tif 000012
【図１２】
0006554832.tif 000013
【図１３】
0006554832.tif 000014
【図１４】
0006554832.tif 000015
【図１５】
0006554832.tif 000016
【図１６】
0006554832.tif 000017
【図１７】
0006554832.tif 000018
【図１８】
0006554832.tif 000019