(57)【要約】【課題】ワークの状態を推定する際に、誤推定の低減を実現する仕組みを提供する。【解決手段】所定の状態に置かれたワーク１０１に係る画像を入力するカメラ１０３と、カメラ１０３により入力された画像からワーク１０１の状態を推定するワーク状態推定部１０６と、予めワークの状態ごとに出現確率が対応付けられて記憶されている出現確率記憶部１０９と、ワーク状態推定部１０６により推定されたワークの状態と、当該ワークの状態に対応する前記出現確率とに基づいて、当該ワークの状態に対する信頼度を算出する信頼度算出部１１０を備える。【選択図】図１
2013257182.tif 000002
【特許請求の範囲】
【請求項１】
所定の状態に置かれたワークに係る画像を入力する画像入力手段と、
前記画像入力手段により入力された画像から前記ワークの状態を推定するワーク状態推定手段と、
予め前記ワークの状態ごとに出現確率が対応付けられて記憶されている出現確率記憶手段と、
前記ワーク状態推定手段により推定されたワークの状態と、当該ワークの状態に対応する前記出現確率とに基づいて、当該ワークの状態に対する信頼度を算出する信頼度算出手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記出現確率記憶手段は、前記ワークの３次元形状モデルを仮想的に配置するシミュレーションを繰り返し行うことで得られる前記ワークの状態ごとの発生頻度を用いて算出される前記出現確率を前記ワークの状態ごとに記憶することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記出現確率記憶手段は、前記ワーク状態推定手段により推定されたワークの状態を記録していくことで得られる前記ワークの状態ごとの発生頻度を用いて算出される前記出現確率を前記ワークの状態ごとに記憶することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記出現確率記憶手段に記憶される前記出現確率は、前記ワーク状態推定手段がワークの状態を推定した結果に基づいて更新されることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記ワーク状態推定手段は、前記出現確率が所定の閾値よりも小さい確率のワークの状態に関しては、前記推定の対象から除外することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記ワーク状態推定手段は、前記ワークの状態を推定するとともに、当該推定の結果に対するスコアを算出し、
前記信頼度算出手段は、前記スコアも考慮して前記信頼度を算出することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記ワークの状態とは、前記ワークの位置および姿勢のうちの少なくともいずれか一方であることを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記ワークは、ばら積みされていることを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
請求項１乃至８のいずれか１項に記載の画像処理装置と、
前記ワークを順次取出していくワーク取出し手段と、
前記信頼度算出手段により算出された信頼度に基づいて、前記ワーク取出し手段が取出すワークを選定する選定手段と
を有することを特徴とするワーク取出しシステム。
【請求項１０】
前記ワーク状態推定手段は、前記ワークの状態を推定するとともに、当該推定の結果に対するスコアを算出し、
前記選定手段は、さらに、前記スコアが所定の閾値よりも高く、かつ、前記出現確率が所定の閾値よりも高い状態のワークを、前記ワーク取出し手段が取出すワークとして選定することを特徴とする請求項９に記載のワーク取出しシステム。
【請求項１１】
前記選定手段は、前記スコアが所定の閾値よりも高く、かつ、前記出現確率が最も高い状態のワークを、前記ワーク取出し手段が取出すワークとして選定することを特徴とする請求項１０に記載のワーク取出しシステム。
【請求項１２】
予めワークの状態ごとに出現確率が対応付けられて記憶されている出現確率記憶手段を備える画像処理装置による画像処理方法であって、
所定の状態に置かれたワークに係る画像を入力する画像入力ステップと、
前記画像入力ステップにより入力された画像から前記ワークの状態を推定するワーク状態推定ステップと、
前記ワーク状態推定ステップにより推定されたワークの状態と、当該ワークの状態に対応する前記出現確率とに基づいて、当該ワークの状態に対する信頼度を算出する信頼度算出ステップと
を有することを特徴とする画像処理方法。
【請求項１３】
予めワークの状態ごとに出現確率が対応付けられて記憶されている出現確率記憶手段と、ワークを順次取出していくワーク取出し手段とを備えるワーク取出しシステムによるワーク取出し方法であって、
所定の状態に置かれたワークに係る画像を入力する画像入力ステップと、
前記画像入力ステップにより入力された画像から前記ワークの状態を推定するワーク状態推定ステップと、
前記ワーク状態推定ステップにより推定されたワークの状態と、当該ワークの状態に対応する前記出現確率とに基づいて、当該ワークの状態に対する信頼度を算出する信頼度算出ステップと、
前記信頼度算出ステップにより算出された信頼度に基づいて、前記ワーク取出し手段が取出すワークを選定する選定ステップと
を有することを特徴とするワーク取出し方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不規則な状態等の所定の状態に置かれた部品（ワーク）を取出す際の技術に関するものである。特に、本発明は、所定の状態に置かれたワークをカメラ等で撮影し、その撮影画像から各ワークの位置や姿勢を推定して、ワークを取出す際の技術に関するものである。
【背景技術】
【０００２】
所定の状態に置かれたワークをカメラ等で撮影し、その撮影画像から各ワークの位置や姿勢の推定を高速に行う手法として、以下の特許文献１乃至３のような手法が検討されている。
【０００３】
特許文献１では、ワークの姿勢を推定する際に、複数の安定姿勢に限定した中から選択することにより、処理時間の短縮を図っている。
特許文献２では、ワークの姿勢ごとに安定度を算出しておき、安定度の低い姿勢を表現するテンプレートは使用しないことで、処理時間の短縮を図っている。
特許文献３では、ワークの位置や姿勢を既定するパラメータの取り得る値を確率的に予測し、画像中の演算範囲や、パラメータ空間範囲を既定して、演算を効率化することを図っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２４５２８３号公報
【特許文献２】特開２０１０−１８６２１９号公報
【特許文献３】特許第３３０００９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
不規則な状態等の所定の状態に置かれたワークから、ロボットにより順次ワークを取り出すには、ワークの位置や姿勢を正確に推定する必要がある。
【０００６】
特許文献１の手法は、推定するワークの姿勢を安定姿勢の周辺に限定するものである。したがって、想定している安定姿勢から大きく外れた姿勢のワークに対しては、姿勢推定が正確に行えない。例えば、ワーク同士が重なる等の原因で、安定姿勢から大きく外れた姿勢が発生した場合に問題となる。また、特許文献１の手法では、安定姿勢ごとにその姿勢が発生する確率（出現確率）を考慮していないので、出現確率を利用して姿勢の誤推定を低減することができない。
【０００７】
また、特許文献２では、テンプレート作成のときには姿勢の安定度を利用しているが、姿勢の正確な推定結果を得るために、安定度を利用しているわけではない。したがって、姿勢の推定に安定度を用いて、姿勢の誤推定を低減するということは考慮されていない。
【０００８】
また、特許文献３でも、ワークの位置や姿勢を既定するパラメータの取り得る値を確率的に予測するが、その予測を用いて姿勢の誤推定を低減するということは考慮されていない。
【０００９】
本発明は、このような問題点に鑑みてなされたものであり、ワークの状態（位置や姿勢等）を推定する際に、誤推定の低減を実現する仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の画像処理装置は、所定の状態に置かれたワークに係る画像を入力する画像入力手段と、前記画像入力手段により入力された画像から前記ワークの状態を推定するワーク状態推定手段と、予め前記ワークの状態ごとに出現確率が対応付けられて記憶されている出現確率記憶手段と、前記ワーク状態推定手段により推定されたワークの状態と、当該ワークの状態に対応する前記出現確率とに基づいて、当該ワークの状態に対する信頼度を算出する信頼度算出手段とを有する。
本発明のワーク取出しシステムは、前記画像処理装置と、前記ワークを順次取出していくワーク取出し手段と、前記信頼度算出手段により算出された信頼度に基づいて、前記ワーク取出し手段が取出すワークを選定する選定手段とを有する。
また、本発明は、上述した画像処理装置による画像処理方法、及び、上述したワーク取出しシステムによるワーク取出し方法を含む。
【発明の効果】
【００１１】
本発明によれば、ワークの状態を推定する際に、誤推定の低減を実現する仕組みを提供することができる。
【００１２】
具体的に、本発明では、予めワークの各状態（各位置姿勢等）に対応する出現確率を算出しておき、その出現確率を用いることで、ワークの状態の誤推定を低減することを可能にしている。より詳細に、本発明では、予めワークの各状態に対し、その状態がどのくらい発生しやすいものであるかを統計的に示す出現確率を算出し、ワークの状態ごとに出現確率を対応付けて記憶しておく。その上で、所定の状態に置かれたワークを撮影し、撮影した画像からワークの状態を推定する。そして、その推定の結果得られたワークの状態と、予め記憶されている出現確率とを照らし合わせることで、推定したワークの状態の信頼度を算出する。例えば、推定の結果得られたワークの状態が低い出現確率である場合には、そのワークに対する状態の推定は、誤推定の可能性が高いので、信頼度は低いものとなる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態に係る画像処理装置の概略構成の一例を示す模式図である。
【図２】本発明の第１の実施形態を示し、代表姿勢を説明するための模式図である。
【図３】本発明の第１の実施形態を示し、いくつかの代表姿勢（（ａ）〜（ｅ））における図１のワークの様子を示す模式図である。
【図４】本発明の第１の実施形態を示し、図１のカメラで撮影された画像の一例を示す模式図である。
【図５】本発明の第１の実施形態を示し、図１のワーク状態認識処理部で行われる処理の手順の一例を示すフローチャートである。
【図６】本発明の第１の実施形態を示し、図１のワーク状態認識処理部による位置姿勢推定結果の一例を示す模式図である。
【図７】本発明の第１の実施形態を示し、出現確率の算出処理の手順の一例を示すフローチャートである。
【図８】本発明の第１の実施形態を示し、図１の出現確率記憶部に記憶される出現確率の一例を示す模式図である。
【図９】本発明の第１の実施形態を示し、図１のワーク状態推定部による推定結果の一例を示す模式図である。
【図１０】本発明の第２の実施形態に係るワーク取出しシステムの概略構成の一例を示す模式図である。
【図１１】本発明の第２の実施形態に係るワーク取出しシステムにおける処理手順の一例を示すフローチャートである。
【図１２】本発明の第２の実施形態を示し、図１０のワーク状態推定部による推定結果の一例を示す模式図である。
【図１３】本発明の第３の実施形態に係るワーク取出しシステムの概略構成の一例を示す模式図である。
【図１４】本発明の第３の実施形態を示し、出現確率の算出処理の手順の一例を示すフローチャートである。
【図１５】本発明の第５の実施形態に係る画像処理装置の概略構成の一例を示す模式図である。
【発明を実施するための形態】
【００１４】
以下に、図面を参照しながら、本発明を実施するための形態（実施形態）について説明する。
【００１５】
（第１の実施形態）
図１は、本発明の第１の実施形態に係る画像処理装置１００−１の概略構成の一例を示す模式図である。
【００１６】
図１において、符号１０１は、ワークである。本実施形態では、ワーク１０１の位置姿勢を推定する例について説明する。
【００１７】
符号１０２は、トレイである。トレイ１０２には、複数のワーク１０１が不規則な状態で積載されている。ただし、本実施形態では、ワーク１０１同士が重なるようなことはないものとする。ワーク同士が重なるような、いわゆるばら積み（複数のワークが、乱雑に山積み状態で置かれている状態）の例は、第３の実施形態で説明する。
【００１８】
符号１０３は、画像入力手段として用いられるカメラである。カメラ１０３は、不図示のシステム内のフレーム上部若しくは天井等に固定的に取り付けられており、トレイ１０２及びその上に積載されている複数のワーク１０１の状態を撮影して画像（画像データ）を生成することが可能となっている。
【００１９】
符号１０４は、画像処理部である。画像処理部１０４は、図１に示すように、カメラ制御部１０５、ワーク状態推定部１０６、出現確率記憶部１０９、及び、信頼度算出部１１０を有して構成されている。
【００２０】
符号１０５は、カメラ制御部である。カメラ制御部１０５は、カメラ１０３により撮影された画像（画像データ）を取り込むための制御を行う。
【００２１】
符号１０６は、ワーク状態推定部である。ワーク状態推定部１０６は、図１に示すように、辞書データ格納部１０７、及び、ワーク状態認識処理部１０８を有して構成されている。ワーク状態推定部１０６は、カメラ１０３が撮影した画像に対して、後述する所定の処理を行い、複数のワーク１０１の位置や姿勢の推定を行う。
【００２２】
符号１０７は、辞書データ格納部である。辞書データ格納部１０７は、ワーク１０１を球状に包み込んだあらゆる方向から撮影した画像を、姿勢情報（ワーク１０１を包み込んだ球上での撮影方向、つまり球上の緯度と経度）と対応付けて、辞書データとして記憶している。ただし、実際には、連続的に全ての方向から撮影した画像を用意することはできないため、ある程度の粒度でサンプリングした代表姿勢の画像を辞書データとして格納することになる。
【００２３】
図２は、本発明の第１の実施形態を示し、代表姿勢を説明するための模式図である。
図２では、測地ドームと呼ばれる考え方を示している。本実施形態では、この測地ドームとして正二十面体を基本にしており、この中心位置にワーク１０１を配置したときに、正二十面体上の各代表点からみた方向を代表姿勢として定義している。ここで、代表点としては、例えば各頂点及び各面中心点等を用いることができる。正二十面体においては、頂点の数は１６、面の数は２０であるので、計３６方向から見た代表姿勢が定義可能である。さらに、それぞれの代表姿勢に対して、その方向から見たときの面内回転も考慮する必要がある。例えば、角度１８°刻みの粒度で面内回転を区別する場合には、２０通りの面内回転姿勢が存在する。したがって、この場合には、３６×２０＝７２０通りの姿勢があることになる。
【００２４】
図３は、本発明の第１の実施形態を示し、いくつかの代表姿勢（（ａ）〜（ｅ））における図１のワーク１０１の様子を示す模式図である。
不規則な状態に配置されたワーク１０１は、カメラ１０３に対してあらゆる方向を向く可能性があり、さらにその方向でのあらゆる面内回転をする可能性がある。したがって、辞書データ格納部１０７では、あらゆる方向（本実施形態では３６方向）から取得した画像を辞書データとして持っている。面内回転の画像は、代表姿勢の画像からアフィン変換処理を用いて容易に生成できるので、辞書データ格納部１０７には、３６方向から撮影したワーク１０１の画像を格納すればよく、実際の処理時に面内回転の画像を生成すればよい。
【００２５】
図１の説明に戻る。
符号１０８は、ワーク状態認識処理部である。ワーク状態認識処理部１０８は、カメラ制御部１０５から画像（画像データ）を受け取り、画像中のワークの位置姿勢を推定する処理を行う。
【００２６】
図４は、本発明の第１の実施形態を示し、図１のカメラ１０３で撮影された画像の一例を示す模式図である。図４（ａ）では、不規則に配置された複数のワーク１０１が撮影されている。
【００２７】
ここで、ワーク状態認識処理部１０８で行われる、ワーク１０１の位置や姿勢を推定する手法について図４及び図５を用いて説明する。
【００２８】
ワーク状態認識処理部１０８では、画像（図４（ａ））に対して、辞書データ格納部１０７に格納されている辞書データをテンプレートとし、画像中をスキャンさせながら相関処理を行う。図４（ｂ）には、その様子が示されている。図４（ｂ）において、符号４００は画像（画像データ）、符号４０１はある辞書データ（テンプレート）を示している。
【００２９】
ワーク状態認識処理部１０８では、図５に示されるフローチャートにより、所定の状態に置かれた複数のワーク１０１のそれぞれの位置や姿勢を推定する。
図５は、本発明の第１の実施形態を示し、図１のワーク状態認識処理部１０８で行われる処理の手順の一例を示すフローチャートである。以下、図５の説明を行う。
【００３０】
まず、ステップＳ５０１において、ワーク状態認識処理部１０８は、辞書データ格納部１０７から、最初の姿勢に対応した辞書データを取得する。
【００３１】
続いて、ステップＳ５０２において、ワーク状態認識処理部１０８は、最初のスキャン位置に、テンプレートとして辞書データを設定する。例えば、本実施形態では、図４（ｂ）に示すように、画像（４００）の左上の位置にテンプレート（４０１）を設定するものとする。
【００３２】
続いて、ステップＳ５０３において、ワーク状態認識処理部１０８は、現在所定の位置に設定されているテンプレートと画像（画像データ）との相関演算を行い、相関値を算出する。本実施形態では、相関演算の手法は問わないので、既知の手法を用いればよい。例えば、正規化相関演算により、相関値を算出してもよい。
【００３３】
続いて、ステップＳ５０４において、ワーク状態認識処理部１０８は、テンプレートを画像中の全ての位置に設定し、相関値を算出したか否かを判断する。
【００３４】
ステップＳ５０４の判断の結果、テンプレートを画像中の全ての位置にはまだ設定していない場合には、ステップＳ５０５に進む。
ステップＳ５０５に進むと、ワーク状態認識処理部１０８は、次のスキャン位置に、テンプレートを移動し、テンプレートを設定する位置を更新する。その後、ステップＳ５０３の処理に移行する。
【００３５】
一方、ステップＳ５０４の判断の結果、テンプレートを画像中の全ての位置に設定した場合には、ステップＳ５０６に進む。
ステップＳ５０６に進むと、ワーク状態認識処理部１０８は、全ての辞書データをテンプレートとして設定し、相関値を算出したか否かを判断する。
【００３６】
ステップＳ５０６の判断の結果、まだ全ての辞書データをテンプレートとして設定していない場合には、ステップＳ５０７に進む。
ステップＳ５０７に進むと、ワーク状態認識処理部１０８は、辞書データ格納部１０７から、次の姿勢に対応した辞書データを取得し、辞書データを更新する。この場合、面内回転も考慮して辞書データを更新する。つまり、辞書データ格納部１０７に記憶されている辞書データ（テンプレート）に対して、アフィン変換を行うことで、新たな辞書データとする場合もある。例えば、上述したように、３６方向のそれぞれに対して、角度１８°刻みの粒度で面内回転を考慮する場合には、全部で７２０通りの辞書データをテンプレートとして設定することになる。その後、ステップＳ５０２の処理に移行する。
【００３７】
一方、ステップＳ５０６の判断の結果、全ての辞書データをテンプレートとして設定した場合には、ステップＳ５０８に進む。
ステップＳ５０８に進むと、ワーク状態認識処理部１０８は、これまでに得られた相関値を大きい順にソートし、閾値処理を行う。具体的に、本実施形態では、閾値未満の相関値を廃棄し、閾値以上の相関値のみを保存する。
【００３８】
以上の図５のステップＳ５０１〜Ｓ５０８の処理の手順により、ワーク状態認識処理部１０８は、複数のワーク１０１の位置と姿勢とを推定する。
【００３９】
図６は、本発明の第１の実施形態を示し、図１のワーク状態認識処理部１０８による位置姿勢推定結果の一例を示す模式図である。
図６は、ｎ個の位置姿勢推定結果が出力された場合の例であり、それぞれの推定結果として、推定された推定位置情報（横方向位置，縦方向位置）と、推定された推定姿勢情報（測地ドーム上の緯度及び経度と、その位置での面内回転角度）が示されている。また、図６において、それぞれの推定結果に対して示されたスコアとは、ワーク状態認識処理部１０８によって算出された相関値を示している。図６には、ｎ個の位置姿勢推定結果が示されているが、この数は一般に、ワーク１０１の数とは異なる。その理由としては、撮影時のノイズや照明条件等によって、姿勢の推定に失敗する（全てのテンプレートに対して相関値が低くなってしまう）ワークが存在することが考えられる。また、同様の理由により、複数の姿勢で高い相関値を出力するワークが存在することや、ワークの存在しない位置で、高い相関値を出力してしまうことがあるためである。
【００４０】
ワーク状態認識処理部１０８は、図６に示されるような位置姿勢推定結果の情報を信頼度算出部１１０に出力する。
【００４１】
図１の説明に戻る。
符号１０９は、出現確率記憶部である。出現確率記憶部１０９には、姿勢ごとに対応付けられた出現確率が記憶されている。この姿勢ごとに対応付けられた出現確率は、ワークを配置する試行を繰り返し行うことで予め算出することができる。試行を繰り返すことで、その姿勢がどの程度の頻度で発生したかという発生頻度に係る姿勢ヒストグラムを作成することができるので、それをもとにして出現確率を算出することができる。
【００４２】
この出現確率の算出処理の手順を図７を用いて説明する。
図７は、本発明の第１の実施形態を示し、出現確率の算出処理の手順の一例を示すフローチャートである。以下、図７の説明を行う。
【００４３】
まず、ステップＳ７０１において、例えば画像処理部１０４は、試行回数を０に初期化するとともに、姿勢ヒストグラムの各ビンの値を０に初期化する。
【００４４】
続いて、ステップＳ７０２において、例えば画像処理部１０４は、乱数等を用いることでランダムに姿勢を選択（決定）する。
【００４５】
続いて、ステップＳ７０３において、所定の高さから、ステップＳ７０２で選択した姿勢をとるワーク１０１をトレイ１０２に向けて落下させる。
【００４６】
トレイ１０２に落下したワーク１０１の動きが停止したら、続いて、ステップＳ７０４において、そのワーク１０１の姿勢を測定する。この姿勢の測定は、人間が目視によって行ってもよい。或いは、上述したワーク状態認識処理部１０８を用いて、例えば最も高いスコアを出した推定結果の姿勢とするものでもよい。
【００４７】
姿勢の測定が終了すると、続いて、ステップＳ７０５において、例えば画像処理部１０４は、姿勢ヒストグラムの、測定結果の姿勢をビンとする頻度値に対して、１を加算する処理を行う。
【００４８】
続いて、ステップＳ７０６において、例えば画像処理部１０４は、試行回数に１を加算する処理を行う。
【００４９】
続いて、ステップＳ７０７において、例えば画像処理部１０４は、試行回数が所定回数に達したか否かを判断する。
【００５０】
ステップＳ７０７の判断の結果、試行回数が所定回数に達していない場合には、ステップＳ７０８に進む。
ステップＳ７０８に進むと、先ほどステップＳ７０３でトレイ１０２に落下させたワーク１０１を取り除いた後に、ステップＳ７０２の処理に移行し、試行を繰り返す。このステップＳ７０８において、トレイ１０２中の当該ワークを取り除くのは、本実施形態でのワーク１０１は、トレイ１０２内に不規則な状態で積載されているが、ワーク同士の重なりはないような場合を想定しているからである。
【００５１】
一方、ステップＳ７０７の判断の結果、試行回数が所定回数に達している場合には、ステップＳ７０９に進む。
ステップＳ７０９に進むと、例えば画像処理部１０４は、得られた姿勢ヒストグラムを正規化（試行回数で、各ビンの頻度値を割る）して、出現確率を得る。
【００５２】
以上の図７のステップＳ７０１〜Ｓ７０９の処理の手順により得られた出現確率は、予め出現確率記憶部１０９に記憶される。
【００５３】
図８は、本発明の第１の実施形態を示し、図１の出現確率記憶部１０９に記憶される出現確率の一例を示す模式図である。
図８において、姿勢は、本実施形態では７２０通り（３６方向×１８°刻みの面内回転）となる（ｍ＝７２０）。また、姿勢のインデックスと姿勢（つまり、緯度及び経度，面内回転）は１対１に対応している。
【００５４】
図１の説明に戻る。
符号１１０は、信頼度算出部である。信頼度算出部１１０は、ワーク状態推定部１０６から出力される位置姿勢推定結果の情報（図６）と、出現確率記憶部１０９に記憶されている出現確率の情報（図８）とから、推定された位置姿勢に対する信頼度を算出する。ここでいう信頼度とは、信頼度が高ければ高いほど、誤推定が少なくなるような指標である。したがって、高い信頼度が与えられている位置姿勢の推定結果は、高い割合で、あるワークの正しい位置姿勢を示すことになる。
【００５５】
ここで、信頼度の算出方法としては、説明をわかりやすくするため、大きく次の２つの場合（第１の場合と第２の場合）に分けて考える。
【００５６】
第１の場合は、ワーク状態推定部１０６から、同じ推定位置に対して、複数の姿勢が推定結果として出力されている場合である。この場合は、複数の推定姿勢のうちの１つがワークの真の姿勢を推定したもので、その他の姿勢推定結果は、誤推定と予想される。したがって、真の姿勢に対応する姿勢推定結果に対して信頼度を高くし、誤推定の姿勢推定結果に対して信頼度を低くすることが、信頼度算出の目的となる。
【００５７】
第２の場合は、ワーク状態推定部１０６から、複数の推定位置に対して、それぞれ１つの姿勢が推定結果として出力されている場合である。この場合、もともと複数のワークを想定しているので、複数のワークそれぞれの真の姿勢に対応している姿勢推定結果があることが期待される。しかしながら、実際には、誤推定の姿勢推定結果が含まれることも考えられ、そのような推定結果に対しては信頼度を低くすることが、信頼度算出の目的となる。
【００５８】
図９は、本発明の第１の実施形態を示し、図１のワーク状態推定部１０６による推定結果の一例を示す模式図である。
【００５９】
図９（ａ）に、上述した第１の場合のワーク状態推定部１０６による推定結果の一例を示す。図９（ａ）では、画像中左上のワーク位置に対して、ｎ通りの姿勢が推定されている場合を示している（他のワークに対する姿勢推定結果は図中では省略している）。また、図９（ａ）において、スコアとして示されているＳ＿Ａ１，Ｓ＿Ａ２，…，Ｓ＿Ａｎは、降順に並んでいるものとする。このような場合には、出現確率が最も高い姿勢に高い信頼度を与えて、その他の姿勢には、低い信頼度を与える方法が考えられる。これは、最も発生しやすい（出現確率の高い）姿勢が発生していると推定するのが自然であるという考え方に基づいている。例えば、図９（ａ）の場合には、まず、図９（ａ）に示されたテーブルを参照することにより、推定姿勢Ｐ＿Ａ１〜Ｐ＿Ａｎのそれぞれに対応する出現確率を調査する。その上で、最も出現確率の高い推定姿勢（例えば推定姿勢Ｐ＿Ａ１）の信頼度を高くし、それ以外の推定姿勢（例えば推定姿勢Ｐ＿Ａ２〜Ｐ＿Ａｎ）の信頼度を低くする、という手法が考えられる。さらには、出現確率だけでなく、姿勢推定の際に得られたスコアも考慮して、信頼度を算出することも考えられる。例えば、スコア値が上位から所定の個数に入る姿勢推定結果の中から、最も高い出現確率を持つ姿勢に高い信頼度を与えて、その他の姿勢には、低い信頼度を与える方法が考えられる。また、スコア値に対して、所定の閾値を設け、閾値を超えるスコア値を持つ姿勢推定結果の中から、最も高い出現確率を持つ姿勢に高い信頼度を与えて、その他の姿勢には、低い信頼度を与える方法が考えられる。さらには、スコア値と出現確率との重み付き和を信頼度としてもよい。この場合、重みは、予めその値をいろいろ変更してみて試行を行い、最も性能が良かった（信頼度が大きければ大きいほど、誤推定の結果が減少する）場合の値を用いればよい。
【００６０】
図９（ｂ）に、上述した第２の場合のワーク状態推定部１０６による推定結果の一例を示す。図９（ｂ）では、画像中の９か所の位置に対して、それぞれ姿勢が推定されている場合を示している（推定結果Ｂ９は、ワークのない場所であるが、ノイズ等を原因として、誤推定が発生している例を示している）。このような場合には、出現確率がある閾値未満の姿勢に対しては、信頼度を低くして、出現確率がある閾値以上の姿勢に対しては、信頼度を高く設定する手法が考えられる。これは、出現確率が小さい姿勢が起こることは、レアケースなはずなので、推定結果を疑い（信頼度を小さくし）、発生しやすい姿勢（出現確率の高い姿勢）と推定した結果を相対的に信用する（信頼度を大きくする）という考え方に基づいている。例えば、図９（ｂ）の場合には、まず、図９（ｂ）に示されたテーブルを参照することにより、推定姿勢Ｐ＿Ｂ１〜Ｐ＿Ｂ９のそれぞれに対応する出現確率を調査する。その結果、例えば、推定姿勢Ｐ＿Ｂ８とＰ＿Ｂ９の出現確率が閾値未満であったとすると、推定姿勢Ｐ＿Ｂ１〜Ｐ＿Ｂ７の信頼度を高くし、推定姿勢Ｐ＿Ｂ８とＰ＿Ｂ９の信頼度を低くする。この場合には、結果的に、図９（ｂ）の画像中左下にあるワークに対しては、信頼度の高い位置姿勢推定が行われなかったことになる。このようにして、信頼度の高いものの中に誤推定の推定結果が紛れ込むことを防いでいる。このことは、複数の推定結果があった場合に、なるべく誤推定でない推定結果を１つ選び出すという必要がある場合（第２の実施形態にそのようなシステムの詳細を記す）に非常に有効に働く。また、第２の場合においても、上述した第１の場合と同じように出現確率だけでなく、姿勢推定の際に得られたスコアも考慮して、信頼度を算出することも考えられる。例えば、スコア値が上位から所定の個数に入る推定結果に対しては、出現確率の高い順に高い信頼度を与え、その他の推定結果には、より低い信頼度を与える方法が考えられる。また、スコア値に対して、所定の閾値を設け、閾値を超えるスコア値を持つ推定結果に対しては、出現確率の高い順に高い信頼度を与え、その他の推定結果には、より低い信頼度を与える方法が考えられる。さらには、第１の場合と同じく、スコア値と出現確率との重み付き和を信頼度としてもよい。
【００６１】
また、第１の場合と第２の場合とを組み合わせたような、複数の推定位置に対して、それぞれ１つ以上の姿勢が推定結果として出力されている場合も考えられる。そのような場合には、第１の場合の信頼度算出手法と、第２の場合の信頼度算出手法とを組み合わせて使用すればよい（この場合の詳細は第２の実施形態で説明する）。
【００６２】
以上のようにして、信頼度算出部１１０で信頼度の算出が行われ、姿勢推定結果に対して、信頼度が付加されて出力される。
【００６３】
次に、本実施形態に係る画像処理装置１００−１の動作シーケンスを説明する。
まず、カメラ１０３により、ワーク１０１が写っている画像を取得する。
続いて、ワーク状態推定部１０６により、複数のワーク１０１の位置姿勢を推定する。
続いて、信頼度算出部１１０により、ワーク状態推定部１０６で推定された複数のワーク１０１の位置姿勢に対する信頼度を算出する。
そして、信頼度算出部１１０から、信頼度付きの位置姿勢推定結果が出力される。
以上が、本実施形態に係る画像処理装置１００−１の動作シーケンスである。
【００６４】
本実施形態によれば、姿勢推定結果に対して出現確率を照らし合わせることで、ワーク１０１の位置姿勢の信頼度を算出している。例えば、あるワーク１０１に対する位置姿勢の推定結果として得られた位置姿勢が、低い出現確率を持つ位置姿勢であった場合には、そのワーク１０１に対する位置姿勢の推定結果は、誤推定の可能性が高いと判断し、低い信頼度とする処理を行う。さらには、ワーク１０１の位置姿勢推定の際のスコア（例えば相関値）も用いて、スコアが高く出現確率も高い推定結果に対してより高い信頼度を与える処理を行う。これは、元々よく発生するであろうとされた姿勢（出現確率の高い姿勢）であると推定された姿勢推定結果をより信頼することになる。つまり、ワーク１０１の位置姿勢推定の際のスコア値をそのまま信頼度とするのに比較して、姿勢についてこれまでに得られている知見（その姿勢が発生しやすい姿勢であるか、それとも稀にしか発生しない姿勢であるか）を考慮して信頼度を算出することで、高い信頼度をもつ推定結果に誤推定が紛れ込むのを防ぐことを可能にしている。
【００６５】
（第２の実施形態）
上述した第１の実施形態では、本発明の実施形態に係る画像処理装置を用いてワークの位置姿勢の推定を行う例について説明した。第２の実施形態では、その推定結果を用いたワーク取出しシステムについて説明を行う。
【００６６】
図１０は、本発明の第２の実施形態に係るワーク取出しシステム１０００−１の概略構成の一例を示す模式図である。図１０において、図１に示す構成と同様の構成については、同じ符号を付している。具体的に、図１０において、符号１０１〜１１０は図１のものと同じ構成であるため、説明を省略する。
【００６７】
図１０において、符号１１１は、ロボットアームである。
【００６８】
符号１１２は、ロボットアーム１１１のエンドエフェクタであるハンド機構である。
【００６９】
ロボットアーム１１１及びハンド機構１１２は、ロボットコントローラ１１４の制御に基づいて、トレイ１０２に積載されている複数のワーク１０１を順次取出していくワーク取出し手段を構成する。
【００７０】
符号１１３は、取出しワーク選定部である。取出しワーク選定部１１３は、画像処理部１０４が推定した各ワークの位置や姿勢の情報と信頼度とから、ロボットアーム１１１及びハンド機構１１２が今回取出すワーク（ターゲットワーク）を決定する。そして、取出しワーク選定部１１３は、決定したターゲットワークの位置と姿勢をロボットコントローラ１１４に伝える。取出しワークの選定手法は、画像処理部１０４での位置姿勢推定の信頼度が高いワークを選択するものとする。
【００７１】
符号１１４は、ロボットコントローラである。ロボットコントローラ１１４は、トレイ１０２上に積載されている複数のワーク１０１の中から、取出しワーク選定部１１３が選定したターゲットワークを取出すべく、ロボットアーム１１１及びハンド機構１１２を制御する。ここで、ロボットコントローラ１１４は、一般的にコンピュータから構成されるが、本実施形態ではその構成を限定されものではない。
【００７２】
次に、本実施形態に係るワーク取出しシステム１０００−１における処理手順を図１１を用いて説明する。
図１１は、本発明の第２の実施形態に係るワーク取出しシステム１０００−１における処理手順の一例を示すフローチャートである。以下、図１１の説明を行う。
【００７３】
まず、ステップＳ１１０１において、カメラ１０３は、カメラ制御部１０５の制御に基づいて、トレイ１０２上に積載されているワーク１０１を撮影し、ワーク１０１が写っている画像（画像データ）を取得する。そして、画像処理部１０４（カメラ制御部１０５）は、カメラ１０３からワーク１０１が写っている画像（画像データ）を取得する。
【００７４】
続いて、ステップＳ１１０２において、ワーク状態推定部１０６は、ステップＳ１１０１で取得された画像（画像データ）から、複数のワーク１０１の位置姿勢を推定する。
【００７５】
続いて、ステップＳ１１０３において、信頼度算出部１１０は、ワーク状態推定部１０６から出力される位置姿勢推定結果の情報と、出現確率記憶部１０９に記憶されている出現確率の情報とから、推定された位置姿勢に対する信頼度を算出する。
【００７６】
続いて、ステップＳ１１０４において、取出しワーク選定部１１３は、ステップＳ１１０３で算出された信頼度に基づいて、位置姿勢が推定された複数のワーク１０１の中から、今回取出すワーク（ターゲットワーク）を選定する。
【００７７】
続いて、ステップＳ１１０５において、取出しワーク選定部１１３は、ステップＳ１１０４で選定したターゲットワークに係る位置姿勢をロボットコントローラ１１４に通知する。
【００７８】
続いて、ステップＳ１１０６において、ロボットコントローラ１１４は、ロボットアーム１１１及びハンド機構１１２を制御して、トレイ１０２上に積載されている複数のワーク１０１の中から、ターゲットワークを取出す処理を行う。
【００７９】
続いて、ステップＳ１１０７において、ワーク取出しシステム１０００−１（例えば画像処理装置或いはロボットコントローラ１１４）は、取出し処理を終了するか否かを判断する。この判断は、所定の数のワークが取出されたか否か等を基準に判断する。
【００８０】
ステップＳ１１０７の判断の結果、取出し処理を終了せずに取出し処理を継続する場合には、ステップＳ１２０１の処理を移行する。
【００８１】
一方、ステップＳ１１０７の判断の結果、取出し処理を終了する場合には、図１１に示すフローチャートの処理を終了する。
【００８２】
なお、図１１のステップＳ１１０３における信頼度の算出は、第１の実施形態で説明したように行ってもよいが、ここでは、より一般的に、ワーク状態推定部１０６から、複数の推定位置に対して、それぞれ１つ以上の姿勢が推定結果として出力されている場合の動作を説明する。
【００８３】
図１２は、本発明の第２の実施形態を示し、図１０のワーク状態推定部１０６による推定結果の一例を示す模式図である。
【００８４】
図１２では、画像中の９か所の位置に対して、それぞれ１つ以上の姿勢が推定されている場合を示している（推定結果Ｃ１７は、ワークのない場所であるが、ノイズ等を原因として、誤推定が発生している例を示している）。本実施形態では、ワーク取出しシステム１０００−１のためのワーク位置姿勢推定なので、図１１のステップＳ１１０４において、取出しワーク選定部１１３が、位置姿勢推定が誤ってないワークを選び出すことが重要となる。取出しワーク選定部１１３は、信頼度に基づいてターゲットワークを選択するので、信頼度算出部１１０において、位置姿勢推定が誤ってないワークに対して、高い信頼度を与えることが重要となる。このような場合、信頼度算出部１１０では、スコア値に対して、所定の閾値を設け、閾値を超えるスコア値を持つ推定結果に対しては、出現確率の高い順に高い信頼度を与え、その他の推定結果には、より低い信頼度を与える方法が考えられる。例えば、図１２では、全部で１７通り（Ｃ１〜Ｃ１７）の位置姿勢が推定されているが、それらのスコア値（Ｓ＿Ｃ１〜Ｓ＿Ｃ１７）に対して閾値処理を行う。そのとき、仮に、Ｃ１、Ｃ５、Ｃ６、Ｃ１５及びＣ１６の推定結果のスコア値が閾値を超えていたとすると（図中矢印で図示）、信頼度算出部１１０では、それらの出現確率を調査し、出現確率の高い順に高い信頼度を与える。
【００８５】
この場合、スコア値の大小関係と、信頼度の大小関係が入れ替わることがある。これは、以下のような考え方に基づいている。
まず、ある程度大きいスコア値を持つもの（スコア値の閾値処理を通過したもの）の推定結果はかなり信頼できると考える。しかしながら、ワーク取出しシステム１０００−１のための推定であるので、その中でも確実に誤推定でない推定結果を選択したい。その場合には、元々よく発生するであろうとされた姿勢（出現確率の高い姿勢）であると推定された姿勢推定結果を選択するのが確実である。つまり、スコア値は（所定の閾値よりも）高いが出現確率は（所定の閾値よりも）低い推定結果よりも、スコア値も出現確率も（所定の閾値よりも）高い推定結果を選んだ方が、誤推定が少ないであろうという考え方である。
【００８６】
（第３の実施形態）
上述した第１及び第２の実施形態では、ワーク１０１は、トレイ１０２内に不規則な状態で積載されているが、ワーク同士の重なりはないような場合を想定していた。第３の実施形態では、ワーク同士が重なるような、いわゆるばら積み（複数のワークが、乱雑に山積み状態で置かれている状態）のワークに対して、位置姿勢を推定する場合について説明を行う。なお、以下の第３の実施形態における説明では、主として、第１及び第２の実施形態と異なる点について説明を行う。
【００８７】
第３の実施形態では、出現確率記憶部に記憶されている出現確率の算出方法が、第１の実施形態の場合と異なる。本実施形態では、ワーク１０１同士が重なることを想定しているので、図７の処理手順において、ステップＳ７０８が省略される。つまり、図７のステップＳ７０７において、試行回数が所定回数に達したか否かを判断し、達していなければ、ステップＳ７０２の処理に移行し、試行を繰り返す。このとき、先ほどステップＳ７０３でトレイ１０２に落下させたワーク１０１を取り除くことは行わない。そして、図７のステップＳ７０７の判断の結果、試行回数が所定回数に達している場合には、ステップＳ７０９に進み、得られた姿勢ヒストグラムを正規化（試行回数で、各ビンの頻度値を割る）して、出現確率を得る。この処理手順により、次第にワーク１０１は、ばら積みされていくことになるので、ばら積み状態での出現確率を算出することができる。このようにして得られた出現確率を用いることで、ばら積み状態のワーク１０１に対しても、本発明における信頼度の算出を行うことができる。
【００８８】
また、ばら積み個数（ばら積みを構成するワーク１０１の個数）ごとに出現確率を算出する方法を用いてもよい。この方法は、ばら積みを構成するワーク１０１の個数の最大個数を想定し、その個数以下のワーク１０１で構成されるばら積み状態それぞれに対して、出現確率を算出するものである。例えば、ばら積みを構成するワーク１０１の個数の最大個数を３０個とした場合、ワーク１個から構成されるばら積みに対する出現確率、ワーク２個から構成されるばら積みに対する出現確率、…、ワーク３０個から構成されるばら積みに対する出現確率をそれぞれ算出するものである。つまり、３０通りの出現確率が算出される。
【００８９】
上述したような、ばら積み個数ごとに算出される出現確率を用いるワーク取出しシステムについて、図１３を用いて説明を行う。
図１３は、本発明の第３の実施形態に係るワーク取出しシステム１０００−２の概略構成の一例を示す模式図である。図１３において、図１０に示す構成と同様の構成については、同じ符号を付している。具体的に、図１３において、符号１０１〜１０３、１０５〜１０８、１１１〜１１４は図１０のものと同じ構成であるため、説明を省略する。
【００９０】
図１３において、符号１３０１は、画像処理部である。画像処理部１３０１は、図１３に示すように、カメラ制御部１０５、ワーク状態推定部１０６、出現確率記憶部１３０２、及び、信頼度算出部１３０３を有して構成されている。
【００９１】
符号１３０２は、出現確率記憶部であり、第２の実施形態に係るワーク取出しシステム１０００−１における出現確率記憶部１０９と、記憶しておく出現確率の数が違うだけである。つまり、第１及び第２の実施形態における出現確率記憶部１０９（図１及び図１０）では、１つの出現確率を記憶しておくものであったが、本実施形態では、ばら積みを構成するワーク１０１の個数の最大個数分（例えば３０個）の出現確率を記憶しておくことになる。
【００９２】
符号１３０３は、信頼度算出部である。信頼度算出部１３０３には、ワーク取出し動作の開始時に、トレイ１０２に何個のワークがばら積みされているのかを示す初期ばら積み個数が設定される。信頼度算出部１３０３は、信頼度の算出の際に、現在のばら積み構成個数に応じて、対応する出現確率を用いて信頼度を算出する。例えば、初期ばら積み個数が３０個であった場合、最初の信頼度の算出処理には、ワークが３０個から構成されるばら積みに対する出現確率を用いて、信頼度を算出する。その次の信頼度の算出処理には、３０個のばら積みから１個取り出されたので、ワークが２９個から構成されるばら積みに対する出現確率を用いて、信頼度を算出する。このようにして、信頼度算出部１３０３は、信頼度を算出する。
【００９３】
また、図１３には図示していないが、ロボットコントローラ１１４に取出しの成功／不成功を判定する機構を設け、その情報を信頼度算出部１３０３にフィードバックすることで、現在のばら積み個数を算出してもよい。
【００９４】
図１３に示すワーク取出しシステム１０００−２では、ばら積み状態に応じた出現確率を用いることが可能となり、信頼度の算出をより信頼度が高く行うことができる。つまり、ワーク１０１の取出しが進行して、トレイ１０２にあるワーク１０１が少数のときには、ワーク１０１同士の重なりも小さいことが予想され、第１及び第２の実施形態で算出した出現確率に近い出現確率になることが予想される。逆に、ワーク取出しの開始直後では、ばら積み状態であり、ワーク１０１同士の重なりが大きく、第１及び第２の実施形態で算出した出現確率とは大きく異なることが予想される。このように、ばら積み状態によって、出現確率の様子が変化することは十分考えられるので、ばら積み状態に応じた出現確率を用いることは有効であると考えられる。
【００９５】
本実施形態における出現確率の算出処理の手順を図１４を用いて説明する。
図１４は、本発明の第３の実施形態を示し、出現確率の算出処理の手順の一例を示すフローチャートである。以下、図１４の説明を行う。
【００９６】
まず、ステップＳ１４０１において、例えば画像処理部１３０１は、試行回数を０に初期化するとともに、ばら積み個数ごとに用意されている姿勢ヒストグラムの各ビンの値を０に初期化する。
【００９７】
続いて、ステップＳ１４０２において、例えば画像処理部１３０１は、ばら積み個数を示すカウンタ値を０に初期化する。
【００９８】
続いて、ステップＳ１４０３において、例えば画像処理部１３０１は、乱数等を用いることでランダムに姿勢を選択（決定）する。
【００９９】
続いて、ステップＳ１４０４において、所定の高さから、ステップＳ１４０３で選択した姿勢をとるワーク１０１をトレイ１０２に向けて落下させる。
【０１００】
トレイ１０２中に落下したワーク１０１の動きが停止したら、続いて、ステップＳ１４０５において、そのワーク１０１の姿勢を測定する。この姿勢の測定は、人間が目視によって行ってもよい。或いは、第１の実施形態で説明したワーク状態認識処理部１０８を用いて、例えば最も高いスコアを出した推定結果の姿勢とするものでもよい。
【０１０１】
姿勢の測定が終了すると、続いて、ステップＳ１４０６において、例えば画像処理部１３０１は、今のばら積み個数を示すカウンタ値に対応する姿勢ヒストグラムの、測定結果の姿勢をビンとする頻度値に対して、１を加算する処理を行う。
【０１０２】
続いて、ステップＳ１４０７において、例えば画像処理部１３０１は、ばら積み個数を示すカウンタ値に１を加算する処理を行う。
【０１０３】
続いて、ステップＳ１４０８において、例えば画像処理部１３０１は、ばら積み個数を示すカウンタ値が所定値に達したか否かを判断する。
【０１０４】
ステップＳ１４０８の判断の結果、ばら積み個数を示すカウンタ値が所定値に達していない場合には、ステップＳ１４０３の処理に移行し、処理を繰り返す。
【０１０５】
一方、ステップＳ１４０８の判断の結果、ばら積み個数を示すカウンタ値が所定値に達している場合には、ステップＳ１４０９に進む。
ステップＳ１４０９に進むと、例えば画像処理部１３０１は、試行回数に１を加算する処理を行う。
【０１０６】
続いて、ステップＳ１４１０において、例えば画像処理部１３０１は、試行回数が所定回数に達したか否かを判断する。
【０１０７】
ステップＳ１４１０の判断の結果、試行回数が所定回数に達していない場合には、ステップＳ１４０２の処理に移行し、処理を繰り返す。
【０１０８】
一方、ステップＳ１４１０の判断の結果、試行回数が所定回数に達している場合には、ステップＳ１４１１に進む。
ステップＳ１４１１に進むと、例えば画像処理部１３０１は、得られたそれぞれの姿勢ヒストグラムを正規化（試行回数で、各ビンの頻度値を割る）して、出現確率を得る。
【０１０９】
以上の図１４のステップＳ１４０１〜Ｓ１４１１の処理の手順により得られた出現確率は、予め出現確率記憶部１３０２に記憶される。
【０１１０】
（第４の実施形態）
上述した第１〜第３の実施形態では、出現確率記憶部（図１及び図１０の１０９、図１３の１３０２）に記憶しておく出現確率の算出手法として、図７或いは図１４に示す方法を示したが、本発明で使用する出現確率の算出手法はこれに限らない。本実施形態に示すように、シミュレーションを用いて算出するものでもよい。つまり、第１〜第３の実施形態では、実際の試行を繰り返して出現確率を算出したが、本実施形態では、ワーク１０１の３次元形状モデルを用いて仮想的に試行するシミュレーションにより出現確率を算出する場合の例である。
【０１１１】
出現確率の算出処理の手順は、実際の試行か、仮想的な試行かが異なるだけなので、図７或いは図１４と同じ処理の手順で算出できる。ただし、本実施形態では、ワーク１０１の落下をシミュレーションで行っているので、落下した後の動きや、その後停止した時のワーク１０１の位置姿勢まで、シミュレーション上で判明する。したがって、実際のワーク１０１で試行するよりも、シミュレーションで行う試行の方が、効率的に算出できるという利点がある。
【０１１２】
（第５の実施形態）
上述した第１〜第４の実施形態では、出現確率記憶部（図１及び図１０の１０９、図１３の１３０２）に記憶しておく出現確率は、予め算出されているものであったが、本発明で使用する出現確率はこれに限らない。本実施形形態で示すように、ワーク１０１の位置姿勢を認識するたびに、出現確率を更新していくように構成してもよい。
【０１１３】
本実施形態では、第１の実施形態で示した画像処理装置１００−１（図１）において、出現確率を更新するように構成した場合の一例を、図１５を用いて示す。
図１５は、本発明の第５の実施形態に係る画像処理装置１００−２の概略構成の一例を示す模式図である。図１５において、図１に示す構成と同様の構成については、同じ符号を付している。具体的に、図１５において、符号１０１〜１０３、１０５〜１０８、１１０は図１のものと同じ構成であるため、説明を省略する。
【０１１４】
図１５において、符号１５０１は、画像処理部である。画像処理部１５０１は、図１５に示すように、カメラ制御部１０５、ワーク状態推定部１０６、出現確率更新部１５０２、出現確率記憶部１５０３、及び、信頼度算出部１１０を有して構成されている。
【０１１５】
符号１５０２は、出現確率更新部である。出現確率更新部１５０２は、ワーク状態推定部１０６がワーク１０１の位置姿勢を推定するたびに、その結果を受け取って、出現確率を更新し、更新した出現確率を出現確率記憶部１５０３に設定する。
【０１１６】
符号１５０３は、出現確率記憶部である。第１〜第４の実施形態で示した出現確率記憶部（図１及び図１０の１０９、図１３の１３０２）は、予め算出した出現確率を記憶しておくものであったが、本実施形態における出現確率記憶部１５０３は、出現確率を随時、出現確率更新部１５０２から設定できるように構成されている。
【０１１７】
次に、出現確率記憶部１５０３と出現確率更新部１５０２とによる出現確率の更新処理の手順について説明を行う。
まず、初期状態（ワーク１０１の位置姿勢の認識処理が始まる前）では、出現確率記憶部１５０３には、これまでの実施形態と同じく、予め算出した出現確率（これを「初期出現確率」と呼ぶ）が記憶されている。同じく、初期状態では、出現確率更新部１５０２には、初期出現確率を算出した時に作成される姿勢ヒストグラム（姿勢ごとの頻度値のテーブル）と、そのときの試行回数が記憶されている。
【０１１８】
続いて、ワーク状態推定部１０６において、ワーク１０１の位置姿勢の推定処理が始まると、ワーク状態推定部１０６は、推定した推定結果を出現確率更新部１５０２に伝える。出現確率更新部１５０２は、その推定結果を受け取って、その姿勢をビンとする頻度値に対して１を加算する処理を行い、試行回数も１を加算する。さらに、得られた姿勢ヒストグラムを正規化（試行回数で、各ビンの頻度値を割る）して新しい出現確率を得ると、出現確率更新部１５０２は、その出現確率を出現確率記憶部１５０３に設定する。この場合、ワーク状態推定部１０６が推定した推定結果が正しい位置姿勢を推定したものであっても、誤った位置姿勢を推定したものであっても、出現確率が更新されてしまう。したがって、何らかの手段（例えば、人の目視によるチェック等）により、推定結果の良否が判定できる場合には、正しい位置姿勢を推定した場合にのみ出現確率を更新するようにしてもよい。以降、ワーク１０１の位置姿勢をワーク状態推定部１０６が推定するたびに、上記の処理を繰り返し、出現確率を更新する。
【０１１９】
このように、ワーク１０１の位置姿勢の推定を行いながら、出現確率を更新することで、実際の環境（ワーク１０１のばら積みの状態等）を反映した出現確率に近づけることが可能となり、より実環境に則した信頼度の算出が可能となる。このことは、初期出現確率を算出する環境と、実際にワーク１０１の位置姿勢の推定を行う環境とが異なる場合に有効である。例えば、初期出現確率の算出時の環境と実際の環境とで、トレイ１０２の大きさや形が異なったり、或いは、ワーク１０１のトレイ１０２への供給のされ方が異なったりすることで、ばら積みの状況が変わる場合に有効である。
【０１２０】
さらに、本実施形態のように出現確率を更新する場合において、重みをつけて更新することも可能である。例えば、上述した例では、ワーク１０１の位置姿勢をワーク状態推定部１０６が推定するたびに、頻度値と試行回数に対してそれぞれ１を加算する処理を行っているが、この加算値を変更することにより、重みをつけて更新することも可能である。例えば、頻度値と試行回数に対してそれぞれ２を加算するようにすれば、実際の環境を反映した出現確率により早く近づけることができる。
【０１２１】
また、本実施形態の出現確率の更新機能を用いて、もともと予め行うべきであった初期出現確率の算出を省略することも可能である。この場合には、実際の環境下でワーク１０１の位置姿勢の推定を行いながら、その結果を用いて出現確率を算出することになる。よって、最初の何個かのワーク１０１の位置姿勢の推定時には、信頼できる出現確率が算出できていないことが想定されるが、その間はどの姿勢も等しい出現確率とすればよい。
【０１２２】
（その他の実施形態）
これまで説明してきた実施形態では、主に、ワーク１０１の姿勢に関しての出現確率を用いる場合に関して説明を行ってきた。しかしながら、本発明で使用する出現確率は、ワーク１０１の姿勢に関するものに限らない。例えば、ワーク１０１の位置に関する出現確率を用いてもよい。さらには、位置と姿勢と両方に依存する出現確率を用いてもよい。
【０１２３】
例えば、ワーク１０１は、トレイ１０２の中心付近に配置されることが多く端の方に配置されることは少ない、といった場合には、撮影画像の中心付近にワークが存在することが多いので、位置に関する出現確率を用いて信頼度を算出ることが有効である。また、ばら積みの場合に、ばら積みの中心付近で起こりやすい姿勢と、ばら積みの端で起こりやすい姿勢とに違いがある場合には、撮影画像中の位置によって姿勢の発生しやすさが変わるので、位置と姿勢に関する出現確率を用いて信頼度を算出ることが有効である。
【０１２４】
また、これまで説明してきた実施形態では、ワーク状態認識処理部１０８で推定するワーク１０１の位置が２次元の場合を示してきたが、本発明が対象とするのはこれに限らない。例えば、ワーク１０１の３次元位置を推定してもよい。その場合には、深さ方向の位置にも依存する出現確率を用いることができる。また、その場合に必要であれば、カメラ１０３として距離情報も取得できるようなカメラを用いる。
【０１２５】
また、これまで説明してきた実施形態では、ワーク状態認識処理部１０８で行う位置姿勢推定の手法として、姿勢ごとに用意されたテンプレートを用いた相関処理の場合を示してきたが、本発明が対象とするのはこれに限らない。例えば、決定木を用いた姿勢推定手法を、画像中で位置をずらしながら行うことで、位置と姿勢を推定する手法でもよい。
【０１２６】
また、出現確率を算出した際に、所定の確率よりも小さい確率となった姿勢に対応するテンプレートを辞書データから削除しておくことで、ワーク状態認識処理部１０８での位置姿勢の推定画像処理の高速化を図ることも可能である。さらに、所定の確率（所定の閾値）よりも小さい確率となった位置はスキャン対象から除外することで、ワーク状態認識処理部１０８での位置姿勢の推定画像処理の高速化を図ることも可能である。
【０１２７】
また、これまで説明してきた実施形態において、画像処理部（図１及び図１０の１０４、図１３の１３０１、図１５の１５０１）は、一般的にコンピュータから構成されるが、本発明ではその構成に限定されるものではない。また、当該画像処理部は、ロボットコントローラ１１４と一体になっていてもよい。
【０１２８】
また、本発明は、以下の処理を実行することによっても実現される。
即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
このプログラム及び当該プログラムを記憶したコンピュータ読み取り可能な記録媒体（記憶媒体）は、本発明に含まれる。
【０１２９】
なお、上述した本発明の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１３０】
１００−１  画像処理装置、１０１  ワーク、１０２  トレイ、１０３  カメラ、１０４  画像処理部、１０５  カメラ制御部、１０６  ワーク状態推定部、１０７  辞書データ格納部、１０８  ワーク状態認識処理部、１０９  出現確率記憶部、１１０  信頼度算出部
【図１】
2013257182.tif 000003
【図２】
2013257182.tif 000004
【図３】
2013257182.tif 000005
【図４】
2013257182.tif 000006
【図５】
2013257182.tif 000007
【図６】
2013257182.tif 000008
【図７】
2013257182.tif 000009
【図８】
2013257182.tif 000010
【図９】
2013257182.tif 000011
【図１０】
2013257182.tif 000012
【図１１】
2013257182.tif 000013
【図１２】
2013257182.tif 000014
【図１３】
2013257182.tif 000015
【図１４】
2013257182.tif 000016
【図１５】
2013257182.tif 000017