JP6157066B2 - 画像処理装置、物体取出システム、画像処理方法及びプログラム - Google Patents

画像処理装置、物体取出システム、画像処理方法及びプログラム Download PDF

Info

Publication number
JP6157066B2
JP6157066B2 JP2012132248A JP2012132248A JP6157066B2 JP 6157066 B2 JP6157066 B2 JP 6157066B2 JP 2012132248 A JP2012132248 A JP 2012132248A JP 2012132248 A JP2012132248 A JP 2012132248A JP 6157066 B2 JP6157066 B2 JP 6157066B2
Authority
JP
Japan
Prior art keywords
posture
reliability
probability
image processing
estimation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012132248A
Other languages
English (en)
Other versions
JP2013257182A (ja
Inventor
山本 貴久
貴久 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2012132248A priority Critical patent/JP6157066B2/ja
Priority to US13/909,270 priority patent/US9621856B2/en
Priority to GB1310100.1A priority patent/GB2504599B/en
Priority to DE102013210606A priority patent/DE102013210606A1/de
Priority to CN201310228233.2A priority patent/CN103489200B/zh
Publication of JP2013257182A publication Critical patent/JP2013257182A/ja
Application granted granted Critical
Publication of JP6157066B2 publication Critical patent/JP6157066B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/77Determining position or orientation of objects or cameras using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component

Description

本発明は、不規則な状態等の所定の状態に置かれた部品(ワーク)を取出す際の技術に関するものである。特に、本発明は、所定の状態に置かれたワークをカメラ等で撮影し、その撮影画像から各ワークの位置や姿勢を推定して、ワークを取出す際の技術に関するものである。
所定の状態に置かれたワークをカメラ等で撮影し、その撮影画像から各ワークの位置や姿勢の推定を高速に行う手法として、以下の特許文献1乃至3のような手法が検討されている。
特許文献1では、ワークの姿勢を推定する際に、複数の安定姿勢に限定した中から選択することにより、処理時間の短縮を図っている。
特許文献2では、ワークの姿勢ごとに安定度を算出しておき、安定度の低い姿勢を表現するテンプレートは使用しないことで、処理時間の短縮を図っている。
特許文献3では、ワークの位置や姿勢を既定するパラメータの取り得る値を確率的に予測し、画像中の演算範囲や、パラメータ空間範囲を既定して、演算を効率化することを図っている。
特開2007−245283号公報 特開2010−186219号公報 特許第3300092号公報
不規則な状態等の所定の状態に置かれたワークから、ロボットにより順次ワークを取り出すには、ワークの位置や姿勢を正確に推定する必要がある。
特許文献1の手法は、推定するワークの姿勢を安定姿勢の周辺に限定するものである。したがって、想定している安定姿勢から大きく外れた姿勢のワークに対しては、姿勢推定が正確に行えない。例えば、ワーク同士が重なる等の原因で、安定姿勢から大きく外れた姿勢が発生した場合に問題となる。また、特許文献1の手法では、安定姿勢ごとにその姿勢が発生する確率(出現確率)を考慮していないので、出現確率を利用して姿勢の誤推定を低減することができない。
また、特許文献2では、テンプレート作成のときには姿勢の安定度を利用しているが、姿勢の正確な推定結果を得るために、安定度を利用しているわけではない。したがって、姿勢の推定に安定度を用いて、姿勢の誤推定を低減するということは考慮されていない。
また、特許文献3でも、ワークの位置や姿勢を既定するパラメータの取り得る値を確率的に予測するが、その予測を用いて姿勢の誤推定を低減するということは考慮されていない。
本発明は、このような問題点に鑑みてなされたものであり、ワークの状態(位置や姿勢等)を推定する際に、誤推定の低減を実現する仕組みを提供することを目的とする。
本発明の画像処理装置は、複数の物体を含む画像を入力する画像入力手段と、前記画像入力手段により入力された画像から前記物体の姿勢を推定する推定手段と、前記物体の姿勢と、前記物体の姿勢の出現の確率とを対応付けて記憶する記憶手段と、前記記憶手段を参照し、前記推定手段により推定された姿勢に対応する確率を特定する確率特定手段と、前記確率特定手段により特定された前記確率に基づいて、前記推定手段により推定された前記物体の姿勢の信頼度を特定する信頼度特定手段と、前記信頼度特定手段によって特定された前記物体の姿勢の信頼度に基づいて、取り出し手段により取り出される物体を選択する選択手段とを有する。
本発明によれば、ワークの状態を推定する際に、誤推定の低減を実現する仕組みを提供することができる。
具体的に、本発明では、予めワークの各状態(各位置姿勢等)に対応する出現確率を算出しておき、その出現確率を用いることで、ワークの状態の誤推定を低減することを可能にしている。より詳細に、本発明では、予めワークの各状態に対し、その状態がどのくらい発生しやすいものであるかを統計的に示す出現確率を算出し、ワークの状態ごとに出現確率を対応付けて記憶しておく。その上で、所定の状態に置かれたワークを撮影し、撮影した画像からワークの状態を推定する。そして、その推定の結果得られたワークの状態と、予め記憶されている出現確率とを照らし合わせることで、推定したワークの状態の信頼度を算出する。例えば、推定の結果得られたワークの状態が低い出現確率である場合には、そのワークに対する状態の推定は、誤推定の可能性が高いので、信頼度は低いものとなる。
本発明の第1の実施形態に係る画像処理装置の概略構成の一例を示す模式図である。 本発明の第1の実施形態を示し、代表姿勢を説明するための模式図である。 本発明の第1の実施形態を示し、いくつかの代表姿勢((a)〜(e))における図1のワークの様子を示す模式図である。 本発明の第1の実施形態を示し、図1のカメラで撮影された画像の一例を示す模式図である。 本発明の第1の実施形態を示し、図1のワーク状態認識処理部で行われる処理の手順の一例を示すフローチャートである。 本発明の第1の実施形態を示し、図1のワーク状態認識処理部による位置姿勢推定結果の一例を示す模式図である。 本発明の第1の実施形態を示し、出現確率の算出処理の手順の一例を示すフローチャートである。 本発明の第1の実施形態を示し、図1の出現確率記憶部に記憶される出現確率の一例を示す模式図である。 本発明の第1の実施形態を示し、図1のワーク状態推定部による推定結果の一例を示す模式図である。 本発明の第2の実施形態に係るワーク取出しシステムの概略構成の一例を示す模式図である。 本発明の第2の実施形態に係るワーク取出しシステムにおける処理手順の一例を示すフローチャートである。 本発明の第2の実施形態を示し、図10のワーク状態推定部による推定結果の一例を示す模式図である。 本発明の第3の実施形態に係るワーク取出しシステムの概略構成の一例を示す模式図である。 本発明の第3の実施形態を示し、出現確率の算出処理の手順の一例を示すフローチャートである。 本発明の第5の実施形態に係る画像処理装置の概略構成の一例を示す模式図である。
以下に、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態に係る画像処理装置100−1の概略構成の一例を示す模式図である。
図1において、符号101は、ワークである。本実施形態では、ワーク101の位置姿勢を推定する例について説明する。
符号102は、トレイである。トレイ102には、複数のワーク101が不規則な状態で積載されている。ただし、本実施形態では、ワーク101同士が重なるようなことはないものとする。ワーク同士が重なるような、いわゆるばら積み(複数のワークが、乱雑に山積み状態で置かれている状態)の例は、第3の実施形態で説明する。
符号103は、画像入力手段として用いられるカメラである。カメラ103は、不図示のシステム内のフレーム上部若しくは天井等に固定的に取り付けられており、トレイ102及びその上に積載されている複数のワーク101の状態を撮影して画像(画像データ)を生成することが可能となっている。
符号104は、画像処理部である。画像処理部104は、図1に示すように、カメラ制御部105、ワーク状態推定部106、出現確率記憶部109、及び、信頼度算出部110を有して構成されている。
符号105は、カメラ制御部である。カメラ制御部105は、カメラ103により撮影された画像(画像データ)を取り込むための制御を行う。
符号106は、ワーク状態推定部である。ワーク状態推定部106は、図1に示すように、辞書データ格納部107、及び、ワーク状態認識処理部108を有して構成されている。ワーク状態推定部106は、カメラ103が撮影した画像に対して、後述する所定の処理を行い、複数のワーク101の位置や姿勢の推定を行う。
符号107は、辞書データ格納部である。辞書データ格納部107は、ワーク101を球状に包み込んだあらゆる方向から撮影した画像を、姿勢情報(ワーク101を包み込んだ球上での撮影方向、つまり球上の緯度と経度)と対応付けて、辞書データとして記憶している。ただし、実際には、連続的に全ての方向から撮影した画像を用意することはできないため、ある程度の粒度でサンプリングした代表姿勢の画像を辞書データとして格納することになる。
図2は、本発明の第1の実施形態を示し、代表姿勢を説明するための模式図である。
図2では、測地ドームと呼ばれる考え方を示している。本実施形態では、この測地ドームとして正二十面体を基本にしており、この中心位置にワーク101を配置したときに、正二十面体上の各代表点からみた方向を代表姿勢として定義している。ここで、代表点としては、例えば各頂点及び各面中心点等を用いることができる。正二十面体においては、頂点の数は16、面の数は20であるので、計36方向から見た代表姿勢が定義可能である。さらに、それぞれの代表姿勢に対して、その方向から見たときの面内回転も考慮する必要がある。例えば、角度18°刻みの粒度で面内回転を区別する場合には、20通りの面内回転姿勢が存在する。したがって、この場合には、36×20=720通りの姿勢があることになる。
図3は、本発明の第1の実施形態を示し、いくつかの代表姿勢((a)〜(e))における図1のワーク101の様子を示す模式図である。
不規則な状態に配置されたワーク101は、カメラ103に対してあらゆる方向を向く可能性があり、さらにその方向でのあらゆる面内回転をする可能性がある。したがって、辞書データ格納部107では、あらゆる方向(本実施形態では36方向)から取得した画像を辞書データとして持っている。面内回転の画像は、代表姿勢の画像からアフィン変換処理を用いて容易に生成できるので、辞書データ格納部107には、36方向から撮影したワーク101の画像を格納すればよく、実際の処理時に面内回転の画像を生成すればよい。
図1の説明に戻る。
符号108は、ワーク状態認識処理部である。ワーク状態認識処理部108は、カメラ制御部105から画像(画像データ)を受け取り、画像中のワークの位置姿勢を推定する処理を行う。
図4は、本発明の第1の実施形態を示し、図1のカメラ103で撮影された画像の一例を示す模式図である。図4(a)では、不規則に配置された複数のワーク101が撮影されている。
ここで、ワーク状態認識処理部108で行われる、ワーク101の位置や姿勢を推定する手法について図4及び図5を用いて説明する。
ワーク状態認識処理部108では、画像(図4(a))に対して、辞書データ格納部107に格納されている辞書データをテンプレートとし、画像中をスキャンさせながら相関処理を行う。図4(b)には、その様子が示されている。図4(b)において、符号400は画像(画像データ)、符号401はある辞書データ(テンプレート)を示している。
ワーク状態認識処理部108では、図5に示されるフローチャートにより、所定の状態に置かれた複数のワーク101のそれぞれの位置や姿勢を推定する。
図5は、本発明の第1の実施形態を示し、図1のワーク状態認識処理部108で行われる処理の手順の一例を示すフローチャートである。以下、図5の説明を行う。
まず、ステップS501において、ワーク状態認識処理部108は、辞書データ格納部107から、最初の姿勢に対応した辞書データを取得する。
続いて、ステップS502において、ワーク状態認識処理部108は、最初のスキャン位置に、テンプレートとして辞書データを設定する。例えば、本実施形態では、図4(b)に示すように、画像(400)の左上の位置にテンプレート(401)を設定するものとする。
続いて、ステップS503において、ワーク状態認識処理部108は、現在所定の位置に設定されているテンプレートと画像(画像データ)との相関演算を行い、相関値を算出する。本実施形態では、相関演算の手法は問わないので、既知の手法を用いればよい。例えば、正規化相関演算により、相関値を算出してもよい。
続いて、ステップS504において、ワーク状態認識処理部108は、テンプレートを画像中の全ての位置に設定し、相関値を算出したか否かを判断する。
ステップS504の判断の結果、テンプレートを画像中の全ての位置にはまだ設定していない場合には、ステップS505に進む。
ステップS505に進むと、ワーク状態認識処理部108は、次のスキャン位置に、テンプレートを移動し、テンプレートを設定する位置を更新する。その後、ステップS503の処理に移行する。
一方、ステップS504の判断の結果、テンプレートを画像中の全ての位置に設定した場合には、ステップS506に進む。
ステップS506に進むと、ワーク状態認識処理部108は、全ての辞書データをテンプレートとして設定し、相関値を算出したか否かを判断する。
ステップS506の判断の結果、まだ全ての辞書データをテンプレートとして設定していない場合には、ステップS507に進む。
ステップS507に進むと、ワーク状態認識処理部108は、辞書データ格納部107から、次の姿勢に対応した辞書データを取得し、辞書データを更新する。この場合、面内回転も考慮して辞書データを更新する。つまり、辞書データ格納部107に記憶されている辞書データ(テンプレート)に対して、アフィン変換を行うことで、新たな辞書データとする場合もある。例えば、上述したように、36方向のそれぞれに対して、角度18°刻みの粒度で面内回転を考慮する場合には、全部で720通りの辞書データをテンプレートとして設定することになる。その後、ステップS502の処理に移行する。
一方、ステップS506の判断の結果、全ての辞書データをテンプレートとして設定した場合には、ステップS508に進む。
ステップS508に進むと、ワーク状態認識処理部108は、これまでに得られた相関値を大きい順にソートし、閾値処理を行う。具体的に、本実施形態では、閾値未満の相関値を廃棄し、閾値以上の相関値のみを保存する。
以上の図5のステップS501〜S508の処理の手順により、ワーク状態認識処理部108は、複数のワーク101の位置と姿勢とを推定する。
図6は、本発明の第1の実施形態を示し、図1のワーク状態認識処理部108による位置姿勢推定結果の一例を示す模式図である。
図6は、n個の位置姿勢推定結果が出力された場合の例であり、それぞれの推定結果として、推定された推定位置情報(横方向位置,縦方向位置)と、推定された推定姿勢情報(測地ドーム上の緯度及び経度と、その位置での面内回転角度)が示されている。また、図6において、それぞれの推定結果に対して示されたスコアとは、ワーク状態認識処理部108によって算出された相関値を示している。図6には、n個の位置姿勢推定結果が示されているが、この数は一般に、ワーク101の数とは異なる。その理由としては、撮影時のノイズや照明条件等によって、姿勢の推定に失敗する(全てのテンプレートに対して相関値が低くなってしまう)ワークが存在することが考えられる。また、同様の理由により、複数の姿勢で高い相関値を出力するワークが存在することや、ワークの存在しない位置で、高い相関値を出力してしまうことがあるためである。
ワーク状態認識処理部108は、図6に示されるような位置姿勢推定結果の情報を信頼度算出部110に出力する。
図1の説明に戻る。
符号109は、出現確率記憶部である。出現確率記憶部109には、姿勢ごとに対応付けられた出現確率が記憶されている。この姿勢ごとに対応付けられた出現確率は、ワークを配置する試行を繰り返し行うことで予め算出することができる。試行を繰り返すことで、その姿勢がどの程度の頻度で発生したかという発生頻度に係る姿勢ヒストグラムを作成することができるので、それをもとにして出現確率を算出することができる。
この出現確率の算出処理の手順を図7を用いて説明する。
図7は、本発明の第1の実施形態を示し、出現確率の算出処理の手順の一例を示すフローチャートである。以下、図7の説明を行う。
まず、ステップS701において、例えば画像処理部104は、試行回数を0に初期化するとともに、姿勢ヒストグラムの各ビンの値を0に初期化する。
続いて、ステップS702において、例えば画像処理部104は、乱数等を用いることでランダムに姿勢を選択(決定)する。
続いて、ステップS703において、所定の高さから、ステップS702で選択した姿勢をとるワーク101をトレイ102に向けて落下させる。
トレイ102に落下したワーク101の動きが停止したら、続いて、ステップS704において、そのワーク101の姿勢を測定する。この姿勢の測定は、人間が目視によって行ってもよい。或いは、上述したワーク状態認識処理部108を用いて、例えば最も高いスコアを出した推定結果の姿勢とするものでもよい。
姿勢の測定が終了すると、続いて、ステップS705において、例えば画像処理部104は、姿勢ヒストグラムの、測定結果の姿勢をビンとする頻度値に対して、1を加算する処理を行う。
続いて、ステップS706において、例えば画像処理部104は、試行回数に1を加算する処理を行う。
続いて、ステップS707において、例えば画像処理部104は、試行回数が所定回数に達したか否かを判断する。
ステップS707の判断の結果、試行回数が所定回数に達していない場合には、ステップS708に進む。
ステップS708に進むと、先ほどステップS703でトレイ102に落下させたワーク101を取り除いた後に、ステップS702の処理に移行し、試行を繰り返す。このステップS708において、トレイ102中の当該ワークを取り除くのは、本実施形態でのワーク101は、トレイ102内に不規則な状態で積載されているが、ワーク同士の重なりはないような場合を想定しているからである。
一方、ステップS707の判断の結果、試行回数が所定回数に達している場合には、ステップS709に進む。
ステップS709に進むと、例えば画像処理部104は、得られた姿勢ヒストグラムを正規化(試行回数で、各ビンの頻度値を割る)して、出現確率を得る。
以上の図7のステップS701〜S709の処理の手順により得られた出現確率は、予め出現確率記憶部109に記憶される。
図8は、本発明の第1の実施形態を示し、図1の出現確率記憶部109に記憶される出現確率の一例を示す模式図である。
図8において、姿勢は、本実施形態では720通り(36方向×18°刻みの面内回転)となる(m=720)。また、姿勢のインデックスと姿勢(つまり、緯度及び経度,面内回転)は1対1に対応している。
図1の説明に戻る。
符号110は、信頼度算出部である。信頼度算出部110は、ワーク状態推定部106から出力される位置姿勢推定結果の情報(図6)と、出現確率記憶部109に記憶されている出現確率の情報(図8)とから、推定された位置姿勢に対する信頼度を算出する。ここでいう信頼度とは、信頼度が高ければ高いほど、誤推定が少なくなるような指標である。したがって、高い信頼度が与えられている位置姿勢の推定結果は、高い割合で、あるワークの正しい位置姿勢を示すことになる。
ここで、信頼度の算出方法としては、説明をわかりやすくするため、大きく次の2つの場合(第1の場合と第2の場合)に分けて考える。
第1の場合は、ワーク状態推定部106から、同じ推定位置に対して、複数の姿勢が推定結果として出力されている場合である。この場合は、複数の推定姿勢のうちの1つがワークの真の姿勢を推定したもので、その他の姿勢推定結果は、誤推定と予想される。したがって、真の姿勢に対応する姿勢推定結果に対して信頼度を高くし、誤推定の姿勢推定結果に対して信頼度を低くすることが、信頼度算出の目的となる。
第2の場合は、ワーク状態推定部106から、複数の推定位置に対して、それぞれ1つの姿勢が推定結果として出力されている場合である。この場合、もともと複数のワークを想定しているので、複数のワークそれぞれの真の姿勢に対応している姿勢推定結果があることが期待される。しかしながら、実際には、誤推定の姿勢推定結果が含まれることも考えられ、そのような推定結果に対しては信頼度を低くすることが、信頼度算出の目的となる。
図9は、本発明の第1の実施形態を示し、図1のワーク状態推定部106による推定結果の一例を示す模式図である。
図9(a)に、上述した第1の場合のワーク状態推定部106による推定結果の一例を示す。図9(a)では、画像中左上のワーク位置に対して、n通りの姿勢が推定されている場合を示している(他のワークに対する姿勢推定結果は図中では省略している)。また、図9(a)において、スコアとして示されているS_A1,S_A2,…,S_Anは、降順に並んでいるものとする。このような場合には、出現確率が最も高い姿勢に高い信頼度を与えて、その他の姿勢には、低い信頼度を与える方法が考えられる。これは、最も発生しやすい(出現確率の高い)姿勢が発生していると推定するのが自然であるという考え方に基づいている。例えば、図9(a)の場合には、まず、図9(a)に示されたテーブルを参照することにより、推定姿勢P_A1〜P_Anのそれぞれに対応する出現確率を調査する。その上で、最も出現確率の高い推定姿勢(例えば推定姿勢P_A1)の信頼度を高くし、それ以外の推定姿勢(例えば推定姿勢P_A2〜P_An)の信頼度を低くする、という手法が考えられる。さらには、出現確率だけでなく、姿勢推定の際に得られたスコアも考慮して、信頼度を算出することも考えられる。例えば、スコア値が上位から所定の個数に入る姿勢推定結果の中から、最も高い出現確率を持つ姿勢に高い信頼度を与えて、その他の姿勢には、低い信頼度を与える方法が考えられる。また、スコア値に対して、所定の閾値を設け、閾値を超えるスコア値を持つ姿勢推定結果の中から、最も高い出現確率を持つ姿勢に高い信頼度を与えて、その他の姿勢には、低い信頼度を与える方法が考えられる。さらには、スコア値と出現確率との重み付き和を信頼度としてもよい。この場合、重みは、予めその値をいろいろ変更してみて試行を行い、最も性能が良かった(信頼度が大きければ大きいほど、誤推定の結果が減少する)場合の値を用いればよい。
図9(b)に、上述した第2の場合のワーク状態推定部106による推定結果の一例を示す。図9(b)では、画像中の9か所の位置に対して、それぞれ姿勢が推定されている場合を示している(推定結果B9は、ワークのない場所であるが、ノイズ等を原因として、誤推定が発生している例を示している)。このような場合には、出現確率がある閾値未満の姿勢に対しては、信頼度を低くして、出現確率がある閾値以上の姿勢に対しては、信頼度を高く設定する手法が考えられる。これは、出現確率が小さい姿勢が起こることは、レアケースなはずなので、推定結果を疑い(信頼度を小さくし)、発生しやすい姿勢(出現確率の高い姿勢)と推定した結果を相対的に信用する(信頼度を大きくする)という考え方に基づいている。例えば、図9(b)の場合には、まず、図9(b)に示されたテーブルを参照することにより、推定姿勢P_B1〜P_B9のそれぞれに対応する出現確率を調査する。その結果、例えば、推定姿勢P_B8とP_B9の出現確率が閾値未満であったとすると、推定姿勢P_B1〜P_B7の信頼度を高くし、推定姿勢P_B8とP_B9の信頼度を低くする。この場合には、結果的に、図9(b)の画像中左下にあるワークに対しては、信頼度の高い位置姿勢推定が行われなかったことになる。このようにして、信頼度の高いものの中に誤推定の推定結果が紛れ込むことを防いでいる。このことは、複数の推定結果があった場合に、なるべく誤推定でない推定結果を1つ選び出すという必要がある場合(第2の実施形態にそのようなシステムの詳細を記す)に非常に有効に働く。また、第2の場合においても、上述した第1の場合と同じように出現確率だけでなく、姿勢推定の際に得られたスコアも考慮して、信頼度を算出することも考えられる。例えば、スコア値が上位から所定の個数に入る推定結果に対しては、出現確率の高い順に高い信頼度を与え、その他の推定結果には、より低い信頼度を与える方法が考えられる。また、スコア値に対して、所定の閾値を設け、閾値を超えるスコア値を持つ推定結果に対しては、出現確率の高い順に高い信頼度を与え、その他の推定結果には、より低い信頼度を与える方法が考えられる。さらには、第1の場合と同じく、スコア値と出現確率との重み付き和を信頼度としてもよい。
また、第1の場合と第2の場合とを組み合わせたような、複数の推定位置に対して、それぞれ1つ以上の姿勢が推定結果として出力されている場合も考えられる。そのような場合には、第1の場合の信頼度算出手法と、第2の場合の信頼度算出手法とを組み合わせて使用すればよい(この場合の詳細は第2の実施形態で説明する)。
以上のようにして、信頼度算出部110で信頼度の算出が行われ、姿勢推定結果に対して、信頼度が付加されて出力される。
次に、本実施形態に係る画像処理装置100−1の動作シーケンスを説明する。
まず、カメラ103により、ワーク101が写っている画像を取得する。
続いて、ワーク状態推定部106により、複数のワーク101の位置姿勢を推定する。
続いて、信頼度算出部110により、ワーク状態推定部106で推定された複数のワーク101の位置姿勢に対する信頼度を算出する。
そして、信頼度算出部110から、信頼度付きの位置姿勢推定結果が出力される。
以上が、本実施形態に係る画像処理装置100−1の動作シーケンスである。
本実施形態によれば、姿勢推定結果に対して出現確率を照らし合わせることで、ワーク101の位置姿勢の信頼度を算出している。例えば、あるワーク101に対する位置姿勢の推定結果として得られた位置姿勢が、低い出現確率を持つ位置姿勢であった場合には、そのワーク101に対する位置姿勢の推定結果は、誤推定の可能性が高いと判断し、低い信頼度とする処理を行う。さらには、ワーク101の位置姿勢推定の際のスコア(例えば相関値)も用いて、スコアが高く出現確率も高い推定結果に対してより高い信頼度を与える処理を行う。これは、元々よく発生するであろうとされた姿勢(出現確率の高い姿勢)であると推定された姿勢推定結果をより信頼することになる。つまり、ワーク101の位置姿勢推定の際のスコア値をそのまま信頼度とするのに比較して、姿勢についてこれまでに得られている知見(その姿勢が発生しやすい姿勢であるか、それとも稀にしか発生しない姿勢であるか)を考慮して信頼度を算出することで、高い信頼度をもつ推定結果に誤推定が紛れ込むのを防ぐことを可能にしている。
(第2の実施形態)
上述した第1の実施形態では、本発明の実施形態に係る画像処理装置を用いてワークの位置姿勢の推定を行う例について説明した。第2の実施形態では、その推定結果を用いたワーク取出しシステムについて説明を行う。
図10は、本発明の第2の実施形態に係るワーク取出しシステム1000−1の概略構成の一例を示す模式図である。図10において、図1に示す構成と同様の構成については、同じ符号を付している。具体的に、図10において、符号101〜110は図1のものと同じ構成であるため、説明を省略する。
図10において、符号111は、ロボットアームである。
符号112は、ロボットアーム111のエンドエフェクタであるハンド機構である。
ロボットアーム111及びハンド機構112は、ロボットコントローラ114の制御に基づいて、トレイ102に積載されている複数のワーク101を順次取出していくワーク取出し手段を構成する。
符号113は、取出しワーク選定部である。取出しワーク選定部113は、画像処理部104が推定した各ワークの位置や姿勢の情報と信頼度とから、ロボットアーム111及びハンド機構112が今回取出すワーク(ターゲットワーク)を決定する。そして、取出しワーク選定部113は、決定したターゲットワークの位置と姿勢をロボットコントローラ114に伝える。取出しワークの選定手法は、画像処理部104での位置姿勢推定の信頼度が高いワークを選択するものとする。
符号114は、ロボットコントローラである。ロボットコントローラ114は、トレイ102上に積載されている複数のワーク101の中から、取出しワーク選定部113が選定したターゲットワークを取出すべく、ロボットアーム111及びハンド機構112を制御する。ここで、ロボットコントローラ114は、一般的にコンピュータから構成されるが、本実施形態ではその構成を限定されものではない。
次に、本実施形態に係るワーク取出しシステム1000−1における処理手順を図11を用いて説明する。
図11は、本発明の第2の実施形態に係るワーク取出しシステム1000−1における処理手順の一例を示すフローチャートである。以下、図11の説明を行う。
まず、ステップS1101において、カメラ103は、カメラ制御部105の制御に基づいて、トレイ102上に積載されているワーク101を撮影し、ワーク101が写っている画像(画像データ)を取得する。そして、画像処理部104(カメラ制御部105)は、カメラ103からワーク101が写っている画像(画像データ)を取得する。
続いて、ステップS1102において、ワーク状態推定部106は、ステップS1101で取得された画像(画像データ)から、複数のワーク101の位置姿勢を推定する。
続いて、ステップS1103において、信頼度算出部110は、ワーク状態推定部106から出力される位置姿勢推定結果の情報と、出現確率記憶部109に記憶されている出現確率の情報とから、推定された位置姿勢に対する信頼度を算出する。
続いて、ステップS1104において、取出しワーク選定部113は、ステップS1103で算出された信頼度に基づいて、位置姿勢が推定された複数のワーク101の中から、今回取出すワーク(ターゲットワーク)を選定する。
続いて、ステップS1105において、取出しワーク選定部113は、ステップS1104で選定したターゲットワークに係る位置姿勢をロボットコントローラ114に通知する。
続いて、ステップS1106において、ロボットコントローラ114は、ロボットアーム111及びハンド機構112を制御して、トレイ102上に積載されている複数のワーク101の中から、ターゲットワークを取出す処理を行う。
続いて、ステップS1107において、ワーク取出しシステム1000−1(例えば画像処理装置或いはロボットコントローラ114)は、取出し処理を終了するか否かを判断する。この判断は、所定の数のワークが取出されたか否か等を基準に判断する。
ステップS1107の判断の結果、取出し処理を終了せずに取出し処理を継続する場合には、ステップS1201の処理を移行する。
一方、ステップS1107の判断の結果、取出し処理を終了する場合には、図11に示すフローチャートの処理を終了する。
なお、図11のステップS1103における信頼度の算出は、第1の実施形態で説明したように行ってもよいが、ここでは、より一般的に、ワーク状態推定部106から、複数の推定位置に対して、それぞれ1つ以上の姿勢が推定結果として出力されている場合の動作を説明する。
図12は、本発明の第2の実施形態を示し、図10のワーク状態推定部106による推定結果の一例を示す模式図である。
図12では、画像中の9か所の位置に対して、それぞれ1つ以上の姿勢が推定されている場合を示している(推定結果C17は、ワークのない場所であるが、ノイズ等を原因として、誤推定が発生している例を示している)。本実施形態では、ワーク取出しシステム1000−1のためのワーク位置姿勢推定なので、図11のステップS1104において、取出しワーク選定部113が、位置姿勢推定が誤ってないワークを選び出すことが重要となる。取出しワーク選定部113は、信頼度に基づいてターゲットワークを選択するので、信頼度算出部110において、位置姿勢推定が誤ってないワークに対して、高い信頼度を与えることが重要となる。このような場合、信頼度算出部110では、スコア値に対して、所定の閾値を設け、閾値を超えるスコア値を持つ推定結果に対しては、出現確率の高い順に高い信頼度を与え、その他の推定結果には、より低い信頼度を与える方法が考えられる。例えば、図12では、全部で17通り(C1〜C17)の位置姿勢が推定されているが、それらのスコア値(S_C1〜S_C17)に対して閾値処理を行う。そのとき、仮に、C1、C5、C6、C15及びC16の推定結果のスコア値が閾値を超えていたとすると(図中矢印で図示)、信頼度算出部110では、それらの出現確率を調査し、出現確率の高い順に高い信頼度を与える。
この場合、スコア値の大小関係と、信頼度の大小関係が入れ替わることがある。これは、以下のような考え方に基づいている。
まず、ある程度大きいスコア値を持つもの(スコア値の閾値処理を通過したもの)の推定結果はかなり信頼できると考える。しかしながら、ワーク取出しシステム1000−1のための推定であるので、その中でも確実に誤推定でない推定結果を選択したい。その場合には、元々よく発生するであろうとされた姿勢(出現確率の高い姿勢)であると推定された姿勢推定結果を選択するのが確実である。つまり、スコア値は(所定の閾値よりも)高いが出現確率は(所定の閾値よりも)低い推定結果よりも、スコア値も出現確率も(所定の閾値よりも)高い推定結果を選んだ方が、誤推定が少ないであろうという考え方である。
(第3の実施形態)
上述した第1及び第2の実施形態では、ワーク101は、トレイ102内に不規則な状態で積載されているが、ワーク同士の重なりはないような場合を想定していた。第3の実施形態では、ワーク同士が重なるような、いわゆるばら積み(複数のワークが、乱雑に山積み状態で置かれている状態)のワークに対して、位置姿勢を推定する場合について説明を行う。なお、以下の第3の実施形態における説明では、主として、第1及び第2の実施形態と異なる点について説明を行う。
第3の実施形態では、出現確率記憶部に記憶されている出現確率の算出方法が、第1の実施形態の場合と異なる。本実施形態では、ワーク101同士が重なることを想定しているので、図7の処理手順において、ステップS708が省略される。つまり、図7のステップS707において、試行回数が所定回数に達したか否かを判断し、達していなければ、ステップS702の処理に移行し、試行を繰り返す。このとき、先ほどステップS703でトレイ102に落下させたワーク101を取り除くことは行わない。そして、図7のステップS707の判断の結果、試行回数が所定回数に達している場合には、ステップS709に進み、得られた姿勢ヒストグラムを正規化(試行回数で、各ビンの頻度値を割る)して、出現確率を得る。この処理手順により、次第にワーク101は、ばら積みされていくことになるので、ばら積み状態での出現確率を算出することができる。このようにして得られた出現確率を用いることで、ばら積み状態のワーク101に対しても、本発明における信頼度の算出を行うことができる。
また、ばら積み個数(ばら積みを構成するワーク101の個数)ごとに出現確率を算出する方法を用いてもよい。この方法は、ばら積みを構成するワーク101の個数の最大個数を想定し、その個数以下のワーク101で構成されるばら積み状態それぞれに対して、出現確率を算出するものである。例えば、ばら積みを構成するワーク101の個数の最大個数を30個とした場合、ワーク1個から構成されるばら積みに対する出現確率、ワーク2個から構成されるばら積みに対する出現確率、…、ワーク30個から構成されるばら積みに対する出現確率をそれぞれ算出するものである。つまり、30通りの出現確率が算出される。
上述したような、ばら積み個数ごとに算出される出現確率を用いるワーク取出しシステムについて、図13を用いて説明を行う。
図13は、本発明の第3の実施形態に係るワーク取出しシステム1000−2の概略構成の一例を示す模式図である。図13において、図10に示す構成と同様の構成については、同じ符号を付している。具体的に、図13において、符号101〜103、105〜108、111〜114は図10のものと同じ構成であるため、説明を省略する。
図13において、符号1301は、画像処理部である。画像処理部1301は、図13に示すように、カメラ制御部105、ワーク状態推定部106、出現確率記憶部1302、及び、信頼度算出部1303を有して構成されている。
符号1302は、出現確率記憶部であり、第2の実施形態に係るワーク取出しシステム1000−1における出現確率記憶部109と、記憶しておく出現確率の数が違うだけである。つまり、第1及び第2の実施形態における出現確率記憶部109(図1及び図10)では、1つの出現確率を記憶しておくものであったが、本実施形態では、ばら積みを構成するワーク101の個数の最大個数分(例えば30個)の出現確率を記憶しておくことになる。
符号1303は、信頼度算出部である。信頼度算出部1303には、ワーク取出し動作の開始時に、トレイ102に何個のワークがばら積みされているのかを示す初期ばら積み個数が設定される。信頼度算出部1303は、信頼度の算出の際に、現在のばら積み構成個数に応じて、対応する出現確率を用いて信頼度を算出する。例えば、初期ばら積み個数が30個であった場合、最初の信頼度の算出処理には、ワークが30個から構成されるばら積みに対する出現確率を用いて、信頼度を算出する。その次の信頼度の算出処理には、30個のばら積みから1個取り出されたので、ワークが29個から構成されるばら積みに対する出現確率を用いて、信頼度を算出する。このようにして、信頼度算出部1303は、信頼度を算出する。
また、図13には図示していないが、ロボットコントローラ114に取出しの成功/不成功を判定する機構を設け、その情報を信頼度算出部1303にフィードバックすることで、現在のばら積み個数を算出してもよい。
図13に示すワーク取出しシステム1000−2では、ばら積み状態に応じた出現確率を用いることが可能となり、信頼度の算出をより信頼度が高く行うことができる。つまり、ワーク101の取出しが進行して、トレイ102にあるワーク101が少数のときには、ワーク101同士の重なりも小さいことが予想され、第1及び第2の実施形態で算出した出現確率に近い出現確率になることが予想される。逆に、ワーク取出しの開始直後では、ばら積み状態であり、ワーク101同士の重なりが大きく、第1及び第2の実施形態で算出した出現確率とは大きく異なることが予想される。このように、ばら積み状態によって、出現確率の様子が変化することは十分考えられるので、ばら積み状態に応じた出現確率を用いることは有効であると考えられる。
本実施形態における出現確率の算出処理の手順を図14を用いて説明する。
図14は、本発明の第3の実施形態を示し、出現確率の算出処理の手順の一例を示すフローチャートである。以下、図14の説明を行う。
まず、ステップS1401において、例えば画像処理部1301は、試行回数を0に初期化するとともに、ばら積み個数ごとに用意されている姿勢ヒストグラムの各ビンの値を0に初期化する。
続いて、ステップS1402において、例えば画像処理部1301は、ばら積み個数を示すカウンタ値を0に初期化する。
続いて、ステップS1403において、例えば画像処理部1301は、乱数等を用いることでランダムに姿勢を選択(決定)する。
続いて、ステップS1404において、所定の高さから、ステップS1403で選択した姿勢をとるワーク101をトレイ102に向けて落下させる。
トレイ102中に落下したワーク101の動きが停止したら、続いて、ステップS1405において、そのワーク101の姿勢を測定する。この姿勢の測定は、人間が目視によって行ってもよい。或いは、第1の実施形態で説明したワーク状態認識処理部108を用いて、例えば最も高いスコアを出した推定結果の姿勢とするものでもよい。
姿勢の測定が終了すると、続いて、ステップS1406において、例えば画像処理部1301は、今のばら積み個数を示すカウンタ値に対応する姿勢ヒストグラムの、測定結果の姿勢をビンとする頻度値に対して、1を加算する処理を行う。
続いて、ステップS1407において、例えば画像処理部1301は、ばら積み個数を示すカウンタ値に1を加算する処理を行う。
続いて、ステップS1408において、例えば画像処理部1301は、ばら積み個数を示すカウンタ値が所定値に達したか否かを判断する。
ステップS1408の判断の結果、ばら積み個数を示すカウンタ値が所定値に達していない場合には、ステップS1403の処理に移行し、処理を繰り返す。
一方、ステップS1408の判断の結果、ばら積み個数を示すカウンタ値が所定値に達している場合には、ステップS1409に進む。
ステップS1409に進むと、例えば画像処理部1301は、試行回数に1を加算する処理を行う。
続いて、ステップS1410において、例えば画像処理部1301は、試行回数が所定回数に達したか否かを判断する。
ステップS1410の判断の結果、試行回数が所定回数に達していない場合には、ステップS1402の処理に移行し、処理を繰り返す。
一方、ステップS1410の判断の結果、試行回数が所定回数に達している場合には、ステップS1411に進む。
ステップS1411に進むと、例えば画像処理部1301は、得られたそれぞれの姿勢ヒストグラムを正規化(試行回数で、各ビンの頻度値を割る)して、出現確率を得る。
以上の図14のステップS1401〜S1411の処理の手順により得られた出現確率は、予め出現確率記憶部1302に記憶される。
(第4の実施形態)
上述した第1〜第3の実施形態では、出現確率記憶部(図1及び図10の109、図13の1302)に記憶しておく出現確率の算出手法として、図7或いは図14に示す方法を示したが、本発明で使用する出現確率の算出手法はこれに限らない。本実施形態に示すように、シミュレーションを用いて算出するものでもよい。つまり、第1〜第3の実施形態では、実際の試行を繰り返して出現確率を算出したが、本実施形態では、ワーク101の3次元形状モデルを用いて仮想的に試行するシミュレーションにより出現確率を算出する場合の例である。
出現確率の算出処理の手順は、実際の試行か、仮想的な試行かが異なるだけなので、図7或いは図14と同じ処理の手順で算出できる。ただし、本実施形態では、ワーク101の落下をシミュレーションで行っているので、落下した後の動きや、その後停止した時のワーク101の位置姿勢まで、シミュレーション上で判明する。したがって、実際のワーク101で試行するよりも、シミュレーションで行う試行の方が、効率的に算出できるという利点がある。
(第5の実施形態)
上述した第1〜第4の実施形態では、出現確率記憶部(図1及び図10の109、図13の1302)に記憶しておく出現確率は、予め算出されているものであったが、本発明で使用する出現確率はこれに限らない。本実施形形態で示すように、ワーク101の位置姿勢を認識するたびに、出現確率を更新していくように構成してもよい。
本実施形態では、第1の実施形態で示した画像処理装置100−1(図1)において、出現確率を更新するように構成した場合の一例を、図15を用いて示す。
図15は、本発明の第5の実施形態に係る画像処理装置100−2の概略構成の一例を示す模式図である。図15において、図1に示す構成と同様の構成については、同じ符号を付している。具体的に、図15において、符号101〜103、105〜108、110は図1のものと同じ構成であるため、説明を省略する。
図15において、符号1501は、画像処理部である。画像処理部1501は、図15に示すように、カメラ制御部105、ワーク状態推定部106、出現確率更新部1502、出現確率記憶部1503、及び、信頼度算出部110を有して構成されている。
符号1502は、出現確率更新部である。出現確率更新部1502は、ワーク状態推定部106がワーク101の位置姿勢を推定するたびに、その結果を受け取って、出現確率を更新し、更新した出現確率を出現確率記憶部1503に設定する。
符号1503は、出現確率記憶部である。第1〜第4の実施形態で示した出現確率記憶部(図1及び図10の109、図13の1302)は、予め算出した出現確率を記憶しておくものであったが、本実施形態における出現確率記憶部1503は、出現確率を随時、出現確率更新部1502から設定できるように構成されている。
次に、出現確率記憶部1503と出現確率更新部1502とによる出現確率の更新処理の手順について説明を行う。
まず、初期状態(ワーク101の位置姿勢の認識処理が始まる前)では、出現確率記憶部1503には、これまでの実施形態と同じく、予め算出した出現確率(これを「初期出現確率」と呼ぶ)が記憶されている。同じく、初期状態では、出現確率更新部1502には、初期出現確率を算出した時に作成される姿勢ヒストグラム(姿勢ごとの頻度値のテーブル)と、そのときの試行回数が記憶されている。
続いて、ワーク状態推定部106において、ワーク101の位置姿勢の推定処理が始まると、ワーク状態推定部106は、推定した推定結果を出現確率更新部1502に伝える。出現確率更新部1502は、その推定結果を受け取って、その姿勢をビンとする頻度値に対して1を加算する処理を行い、試行回数も1を加算する。さらに、得られた姿勢ヒストグラムを正規化(試行回数で、各ビンの頻度値を割る)して新しい出現確率を得ると、出現確率更新部1502は、その出現確率を出現確率記憶部1503に設定する。この場合、ワーク状態推定部106が推定した推定結果が正しい位置姿勢を推定したものであっても、誤った位置姿勢を推定したものであっても、出現確率が更新されてしまう。したがって、何らかの手段(例えば、人の目視によるチェック等)により、推定結果の良否が判定できる場合には、正しい位置姿勢を推定した場合にのみ出現確率を更新するようにしてもよい。以降、ワーク101の位置姿勢をワーク状態推定部106が推定するたびに、上記の処理を繰り返し、出現確率を更新する。
このように、ワーク101の位置姿勢の推定を行いながら、出現確率を更新することで、実際の環境(ワーク101のばら積みの状態等)を反映した出現確率に近づけることが可能となり、より実環境に則した信頼度の算出が可能となる。このことは、初期出現確率を算出する環境と、実際にワーク101の位置姿勢の推定を行う環境とが異なる場合に有効である。例えば、初期出現確率の算出時の環境と実際の環境とで、トレイ102の大きさや形が異なったり、或いは、ワーク101のトレイ102への供給のされ方が異なったりすることで、ばら積みの状況が変わる場合に有効である。
さらに、本実施形態のように出現確率を更新する場合において、重みをつけて更新することも可能である。例えば、上述した例では、ワーク101の位置姿勢をワーク状態推定部106が推定するたびに、頻度値と試行回数に対してそれぞれ1を加算する処理を行っているが、この加算値を変更することにより、重みをつけて更新することも可能である。例えば、頻度値と試行回数に対してそれぞれ2を加算するようにすれば、実際の環境を反映した出現確率により早く近づけることができる。
また、本実施形態の出現確率の更新機能を用いて、もともと予め行うべきであった初期出現確率の算出を省略することも可能である。この場合には、実際の環境下でワーク101の位置姿勢の推定を行いながら、その結果を用いて出現確率を算出することになる。よって、最初の何個かのワーク101の位置姿勢の推定時には、信頼できる出現確率が算出できていないことが想定されるが、その間はどの姿勢も等しい出現確率とすればよい。
(その他の実施形態)
これまで説明してきた実施形態では、主に、ワーク101の姿勢に関しての出現確率を用いる場合に関して説明を行ってきた。しかしながら、本発明で使用する出現確率は、ワーク101の姿勢に関するものに限らない。例えば、ワーク101の位置に関する出現確率を用いてもよい。さらには、位置と姿勢と両方に依存する出現確率を用いてもよい。
例えば、ワーク101は、トレイ102の中心付近に配置されることが多く端の方に配置されることは少ない、といった場合には、撮影画像の中心付近にワークが存在することが多いので、位置に関する出現確率を用いて信頼度を算出ることが有効である。また、ばら積みの場合に、ばら積みの中心付近で起こりやすい姿勢と、ばら積みの端で起こりやすい姿勢とに違いがある場合には、撮影画像中の位置によって姿勢の発生しやすさが変わるので、位置と姿勢に関する出現確率を用いて信頼度を算出ることが有効である。
また、これまで説明してきた実施形態では、ワーク状態認識処理部108で推定するワーク101の位置が2次元の場合を示してきたが、本発明が対象とするのはこれに限らない。例えば、ワーク101の3次元位置を推定してもよい。その場合には、深さ方向の位置にも依存する出現確率を用いることができる。また、その場合に必要であれば、カメラ103として距離情報も取得できるようなカメラを用いる。
また、これまで説明してきた実施形態では、ワーク状態認識処理部108で行う位置姿勢推定の手法として、姿勢ごとに用意されたテンプレートを用いた相関処理の場合を示してきたが、本発明が対象とするのはこれに限らない。例えば、決定木を用いた姿勢推定手法を、画像中で位置をずらしながら行うことで、位置と姿勢を推定する手法でもよい。
また、出現確率を算出した際に、所定の確率よりも小さい確率となった姿勢に対応するテンプレートを辞書データから削除しておくことで、ワーク状態認識処理部108での位置姿勢の推定画像処理の高速化を図ることも可能である。さらに、所定の確率(所定の閾値)よりも小さい確率となった位置はスキャン対象から除外することで、ワーク状態認識処理部108での位置姿勢の推定画像処理の高速化を図ることも可能である。
また、これまで説明してきた実施形態において、画像処理部(図1及び図10の104、図13の1301、図15の1501)は、一般的にコンピュータから構成されるが、本発明ではその構成に限定されるものではない。また、当該画像処理部は、ロボットコントローラ114と一体になっていてもよい。
また、本発明は、以下の処理を実行することによっても実現される。
即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
このプログラム及び当該プログラムを記憶したコンピュータ読み取り可能な記録媒体(記憶媒体)は、本発明に含まれる。
なお、上述した本発明の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
100−1 画像処理装置、101 ワーク、102 トレイ、103 カメラ、104 画像処理部、105 カメラ制御部、106 ワーク状態推定部、107 辞書データ格納部、108 ワーク状態認識処理部、109 出現確率記憶部、110 信頼度算出部

Claims (12)

  1. 複数の物体を含む画像を入力する画像入力手段と、
    前記画像入力手段により入力された画像から前記物体の姿勢を推定する推定手段と、
    前記物体の姿勢と、前記物体の姿勢の出現の確率とを対応付けて記憶する記憶手段と、
    前記記憶手段を参照し、前記推定手段により推定された姿勢に対応する確率を特定する確率特定手段と、
    前記確率特定手段により特定された前記確率に基づいて、前記推定手段により推定された前記物体の姿勢の信頼度を特定する信頼度特定手段と、
    前記信頼度特定手段によって特定された前記物体の姿勢の信頼度に基づいて、取り出し手段により取り出される物体を選択する選択手段と
    を有することを特徴とする画像処理装置。
  2. 前記記憶手段は、前記物体の3次元形状モデルを仮想的に配置するシミュレーションを繰り返し行うことで得られる前記物体の姿勢ごとの発生頻度を用いて算出される前記確率を前記物体の姿勢ごとに記憶することを特徴とする請求項1に記載の画像処理装置。
  3. 前記記憶手段は、前記推定手段により推定された物体の姿勢を記録していくことで得られる前記物体の姿勢ごとの発生頻度を用いて算出される前記確率を前記物体の姿勢ごとに記憶することを特徴とする請求項1に記載の画像処理装置。
  4. 前記記憶手段に記憶される前記確率は、前記推定手段が物体の姿勢を推定した結果に基づいて更新されることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
  5. 前記推定手段は、前記確率が所定の閾値よりも小さい物体の姿勢に関しては、前記推定の対象から除外することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
  6. 前記推定手段は、前記物体の姿勢を推定するとともに、当該推定の結果に対するスコアを算出し、
    前記信頼度特定手段は、前記スコアも考慮して前記信頼度を特定することを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
  7. 前記物体は、ばら積みされていることを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
  8. 前記推定手段は、前記物体の姿勢を推定するとともに、当該推定の結果に対するスコアを算出し、
    前記選択手段は、前記スコアが所定の閾値よりも高く、かつ、前記確率が所定の閾値よりも高い姿勢の物体を、前記取り出し手段が取り出す物体として選択することを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
  9. 前記選択手段は、前記スコアが所定の閾値よりも高く、かつ、前記確率が最も高い姿勢の物体を、前記取り出し手段が取り出す物体として選択することを特徴とする請求項8に記載の画像処理装置。
  10. 請求項1乃至9のいずれか1項に記載の画像処理装置と、
    前記物体を順次取出していく取り出し手段と
    を有することを特徴とする物体取出システム。
  11. 画像処理装置が実行する画像処理方法であって、
    複数の物体を含む画像を入力する画像入力ステップと、
    前記画像入力ステップにおいて入力された画像から前記物体の姿勢を推定する推定ステップと、
    前記物体の姿勢と、前記物体の姿勢の出現の確率とを対応付けて憶する記憶手段を参照し、前記推定ステップにおいて推定された姿勢に対応する確率を特定する確率特定ステップと、
    前記確率特定ステップにおいて特定された前記確率に基づいて、前記推定ステップにおいて推定された前記物体の姿勢の信頼度を特定する信頼度特定ステップと、
    前記信頼度特定ステップにおいて特定された前記物体の姿勢の信頼度に基づいて、取り出し手段により取り出される物体を選択する選択ステップと
    を含むことを特徴とする画像処理方法。
  12. コンピュータに、請求項11に記載の画像処理方法の各ステップを実行させるためのプログラム。
JP2012132248A 2012-06-11 2012-06-11 画像処理装置、物体取出システム、画像処理方法及びプログラム Active JP6157066B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2012132248A JP6157066B2 (ja) 2012-06-11 2012-06-11 画像処理装置、物体取出システム、画像処理方法及びプログラム
US13/909,270 US9621856B2 (en) 2012-06-11 2013-06-04 Image processing apparatus and image processing method
GB1310100.1A GB2504599B (en) 2012-06-11 2013-06-06 Image processing apparatus and image processing method
DE102013210606A DE102013210606A1 (de) 2012-06-11 2013-06-07 Bildverarbeitungsvorrichtung und Bildverarbeitungsverfahren
CN201310228233.2A CN103489200B (zh) 2012-06-11 2013-06-08 图像处理装置及图像处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012132248A JP6157066B2 (ja) 2012-06-11 2012-06-11 画像処理装置、物体取出システム、画像処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2013257182A JP2013257182A (ja) 2013-12-26
JP6157066B2 true JP6157066B2 (ja) 2017-07-05

Family

ID=48875872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012132248A Active JP6157066B2 (ja) 2012-06-11 2012-06-11 画像処理装置、物体取出システム、画像処理方法及びプログラム

Country Status (5)

Country Link
US (1) US9621856B2 (ja)
JP (1) JP6157066B2 (ja)
CN (1) CN103489200B (ja)
DE (1) DE102013210606A1 (ja)
GB (1) GB2504599B (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6373984B2 (ja) * 2014-06-03 2018-08-15 株式会社Fuji ばら部品供給装置、ばら部品供給方法
US9836069B1 (en) * 2015-03-31 2017-12-05 Google Inc. Devices and methods for protecting unattended children in the home
US10750251B2 (en) * 2015-09-03 2020-08-18 Nec Corporation Information providing apparatus, information providing method, and storage medium
JP6348097B2 (ja) * 2015-11-30 2018-06-27 ファナック株式会社 ワーク位置姿勢算出装置およびハンドリングシステム
JP6705738B2 (ja) * 2016-12-05 2020-06-03 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理方法、およびプログラム
JP7051287B2 (ja) 2016-12-05 2022-04-11 株式会社ソニー・インタラクティブエンタテインメント システム、治具、および情報処理方法
JP6832694B2 (ja) * 2016-12-19 2021-02-24 アズビル株式会社 データベース生成装置及び三次元位置姿勢認識システム
JP6687657B2 (ja) 2018-03-20 2020-04-28 ファナック株式会社 センサ及びロボットを用いた物品取り出し装置、及び物品取り出し方法
JP6795007B2 (ja) * 2018-04-27 2020-12-02 株式会社ダイフク ピッキング設備
EP3912769A4 (en) * 2019-01-18 2023-01-18 Kabushiki Kaisha Yaskawa Denki ROBOT CONTROL SYSTEM AND ROBOT CONTROL METHOD
JP7275688B2 (ja) * 2019-03-15 2023-05-18 株式会社デンソーウェーブ ロボットの部品ピッキングシステム
CN112296999B (zh) * 2019-11-12 2022-07-08 太原科技大学 一种基于机器视觉的不规则工件加工路径生成方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4707647A (en) * 1986-05-19 1987-11-17 Gmf Robotics Corporation Gray scale vision method and system utilizing same
JPH04238256A (ja) 1991-01-21 1992-08-26 Asahi Chem Ind Co Ltd 連続走行シート状体の欠陥部画像検出方法
JP3300092B2 (ja) * 1993-02-19 2002-07-08 オリンパス光学工業株式会社 画像特徴抽出装置
JP3300682B2 (ja) 1999-04-08 2002-07-08 ファナック株式会社 画像処理機能を持つロボット装置
JP3768174B2 (ja) 2002-07-24 2006-04-19 ファナック株式会社 ワーク取出し装置
JP4940715B2 (ja) 2006-03-15 2012-05-30 日産自動車株式会社 ピッキングシステム
WO2007149183A2 (en) 2006-05-25 2007-12-27 Braintech Canada, Inc. System and method of robotically engaging an object
JP4238256B2 (ja) * 2006-06-06 2009-03-18 ファナック株式会社 ロボットシミュレーション装置
JP2010186219A (ja) 2009-02-10 2010-08-26 Seiko Epson Corp テンプレート生成システム、テンプレートマッチングシステムおよびテンプレート生成方法
JP2011133273A (ja) * 2009-12-22 2011-07-07 Canon Inc 推定装置及びその制御方法、プログラム
CN101733746A (zh) 2009-12-22 2010-06-16 哈尔滨工业大学 空间机器人非合作目标自主识别与捕获方法
JP5393531B2 (ja) * 2010-02-25 2014-01-22 キヤノン株式会社 位置姿勢推定装置、位置姿勢推定方法、プログラム、記憶媒体
WO2012046426A1 (ja) * 2010-10-06 2012-04-12 日本電気株式会社 物体検出装置、物体検出方法および物体検出プログラム
JP5336462B2 (ja) 2010-12-22 2013-11-06 オオサカ精機株式会社 発光標示板

Also Published As

Publication number Publication date
GB2504599A (en) 2014-02-05
CN103489200B (zh) 2016-09-28
GB201310100D0 (en) 2013-07-24
DE102013210606A1 (de) 2013-12-12
CN103489200A (zh) 2014-01-01
GB2504599B (en) 2016-06-01
JP2013257182A (ja) 2013-12-26
US20130329035A1 (en) 2013-12-12
US9621856B2 (en) 2017-04-11

Similar Documents

Publication Publication Date Title
JP6157066B2 (ja) 画像処理装置、物体取出システム、画像処理方法及びプログラム
US9044858B2 (en) Target object gripping apparatus, method for controlling the same and storage medium
CN110532984B (zh) 关键点检测方法、手势识别方法、装置及系统
CN109483573B (zh) 机器学习装置、机器人系统以及机器学习方法
JP5806606B2 (ja) 情報処理装置、情報処理方法
JP5160235B2 (ja) 画像中の物体の検出及び追跡
WO2020034872A1 (zh) 目标获取方法、设备和计算机可读存储介质
US9298976B2 (en) Method, apparatus and computer readable recording medium for managing a reference face database to improve face recognition performance under a restricted memory environment
JP2019063984A (ja) 情報処理装置、方法及びロボットシステム
US20210072734A1 (en) Information processing apparatus and method, robot controlling apparatus and method, and non-transitory computer-readable storage medium
CN109426835A (zh) 信息处理装置、信息处理装置的控制方法和存储介质
CN108596079B (zh) 手势识别方法、装置及电子设备
CN109033920B (zh) 一种可抓取目标的识别方法、装置及计算机可读存储介质
JP6192088B2 (ja) 物体検出方法および物体検出装置
US20230368033A1 (en) Information processing device, control method, and program
CN111239763A (zh) 对象的定位方法、装置、存储介质和处理器
CN115989117A (zh) 用于物体检测的系统和方法
WO2022105745A1 (zh) 用于在图像跟踪过程中确定跟踪对象的位姿的方法及装置
JP2022160363A (ja) ロボットシステム、制御方法、画像処理装置、画像処理方法、物品の製造方法、プログラム、及び記録媒体
JP6844803B1 (ja) 画像分類に基づく物体認識または物体登録のための方法および計算システム
CN113269112A (zh) 一种抓取区域的识别方法、装置、电子设备及存储介质
JP6041710B2 (ja) 画像認識方法
CN112837370A (zh) 基于3d包围盒的物体堆叠判断方法、装置及计算设备
CN113793379A (zh) 相机姿态求解方法及系统、设备和计算机可读存储介质
JP6843458B1 (ja) 物体認識のために画像分類を行う方法およびシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150601

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170509

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170606

R151 Written notification of patent or utility model registration

Ref document number: 6157066

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151