JP2022028196A - 情報処理装置、システム、検出方法、及びコンピュータプログラム - Google Patents
情報処理装置、システム、検出方法、及びコンピュータプログラム Download PDFInfo
- Publication number
- JP2022028196A JP2022028196A JP2020131464A JP2020131464A JP2022028196A JP 2022028196 A JP2022028196 A JP 2022028196A JP 2020131464 A JP2020131464 A JP 2020131464A JP 2020131464 A JP2020131464 A JP 2020131464A JP 2022028196 A JP2022028196 A JP 2022028196A
- Authority
- JP
- Japan
- Prior art keywords
- information
- target object
- image
- processing apparatus
- arrangement
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 75
- 230000010365 information processing Effects 0.000 title claims abstract description 40
- 238000004590 computer program Methods 0.000 title claims description 4
- 238000004364 calculation method Methods 0.000 claims description 44
- 238000003860 storage Methods 0.000 description 74
- 238000000034 method Methods 0.000 description 59
- 238000012545 processing Methods 0.000 description 36
- 238000009434 installation Methods 0.000 description 33
- 230000008569 process Effects 0.000 description 23
- 238000005192 partition Methods 0.000 description 13
- 238000005259 measurement Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000036544 posture Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 239000000463 material Substances 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 239000011347 resin Substances 0.000 description 1
- 229920005989 resin Polymers 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Manipulator (AREA)
- Image Input (AREA)
Abstract
【課題】使用者の負荷を軽減し、正確に検出条件の設定が可能な情報処理装置を提供する。【解決手段】情報処理装置100は、特定の面における複数の着目領域に関する第1の配置情報と、特定の面の少なくとも高さに関する情報を含む第1の面情報を取得する第1取得部101と、対象物体の属する面の少なくとも高さに関する情報を含む第2の面情報を取得する第2取得部102と、第1の配置情報と第1の面情報と第2の面情報とに基づいて、対象物体の属する面における着目領域に関する第2の配置情報を求める演算部103と、演算部103によって求められた第2の配置情報を用いて、対象物体の属する面における対象物体を検出する検出部104と、を備える。【選択図】図1
Description
本発明は、対象物体の検出を行うための情報処理装置等に関する。
生産現場において部品供給用途などで用いられるマシンビジョンは、対象物体の検出を行う検出装置の一種である。このような検出装置において、検出を行う対象となる領域を規定する処理が一般的に行われている。
例えば特許文献1においては、物体の認識を行う際に規定サイズのウィンドウを設定し、ウィンドウ内の画像を認識用部分画像として抽出する処理が記載されている。さらに、このウィンドウを入力画像左上隅の位置から右下隅の位置までラスタスキャン順に移動させることで、入力画像に対し検出を行う対象となる領域を規定する手法が記載されている。
例えば特許文献1においては、物体の認識を行う際に規定サイズのウィンドウを設定し、ウィンドウ内の画像を認識用部分画像として抽出する処理が記載されている。さらに、このウィンドウを入力画像左上隅の位置から右下隅の位置までラスタスキャン順に移動させることで、入力画像に対し検出を行う対象となる領域を規定する手法が記載されている。
上記の例に留まらず、検出を行う際に対象となる領域を規定するという処理は生産現場以外の用途の検出装置でも広く行われる。
例えば、特許文献2に記載の検出装置においては、対象にドットパターンを投影して撮像を行い、基準ドットパターンに対するドット位置変化量を評価することで距離計測を行い、その結果を基に物体検出を行う。その際に、ドット位置変化量の評価対象となるセグメント領域を規定し、距離値の変化量を基にセグメント領域のサイズを設定することで、演算処理量を軽減している。
例えば、特許文献2に記載の検出装置においては、対象にドットパターンを投影して撮像を行い、基準ドットパターンに対するドット位置変化量を評価することで距離計測を行い、その結果を基に物体検出を行う。その際に、ドット位置変化量の評価対象となるセグメント領域を規定し、距離値の変化量を基にセグメント領域のサイズを設定することで、演算処理量を軽減している。
検出装置のユースケースとして、ある程度の規則性を持って配列されている状態で配置された複数の対象物体を検出するケースが挙げられる。例えば、マシンビジョン装置においては、設置面に対して部品が特定の順序で配列され、その配列が高さ方向に複数段に渡り繰り返される所謂段積みと呼ばれる荷姿に積載された部品を検出することがある。
このような場合、部品の位置および姿勢にはある程度の不定性があるものの、各部品が存在する実空間上の領域は一定の範囲内に限定される。更にマシンビジョンと段積みされた部品の相対関係がほぼ不変の場合は、マシンビジョンで取得される画像における部品の存在領域も再現性を持つこととなる。よって、上述の特許文献2のように、対象が画像上のどこに存在するかわからないという前提を基に、動的な領域設定を行わなくとも、使用者が予め画像上の領域を指定することなどで設定が可能である。この場合、領域を決定するために過剰な計算処理を行うことなく、かつ正確に検出対象となる領域を取得することできるという利点がある。
しかし、例えば段積みされた部品の最下段の画像に対し、部品の存在領域を指定したとしても、上の段の部品ではその領域が適切とは限らない。これは、撮像装置からの距離により対象物体の画像上の大きさは異なるというパース効果によるものであり、ある段で検出領域を設定しても、他の段では部品の一部あるいは全部がその領域からはみ出ることがある。当然ながら、このような正確性を欠いた領域設定は検出に好適ではなく、検出の失敗が発生しうる。
このような状況を回避するために、特定の段の部品だけではなく、段積みされた全ての段の全部品に対し、画像上の検出領域を指定することが考えられる。しかし、一般に段積みされた部品の総数は膨大であり、その全てに対し領域を指定する作業は使用者にとって大きな負担となる。
本発明は、使用者の負荷を軽減し、正確に検出条件の設定が可能とすることを目的とする。
本発明は、使用者の負荷を軽減し、正確に検出条件の設定が可能とすることを目的とする。
対象物体を検出する情報処理装置であって、
特定の面における複数の着目領域に関する第1の配置情報と、前記特定の面の少なくとも高さに関する情報を含む第1の面情報を取得する第1取得部と、
前記対象物体の属する面の少なくとも高さに関する情報を含む第2の面情報を取得する第2取得部と、
前記第1の配置情報と前記第1の面情報と前記第2の面情報とに基づいて、前記対象物体の属する面における着目領域に関する第2の配置情報を求める演算部と、
前記演算部によって求められた前記第2の配置情報を用いて、前記対象物体の属する面における前記対象物体を検出する検出部と、
を備えることを特徴とする。
特定の面における複数の着目領域に関する第1の配置情報と、前記特定の面の少なくとも高さに関する情報を含む第1の面情報を取得する第1取得部と、
前記対象物体の属する面の少なくとも高さに関する情報を含む第2の面情報を取得する第2取得部と、
前記第1の配置情報と前記第1の面情報と前記第2の面情報とに基づいて、前記対象物体の属する面における着目領域に関する第2の配置情報を求める演算部と、
前記演算部によって求められた前記第2の配置情報を用いて、前記対象物体の属する面における前記対象物体を検出する検出部と、
を備えることを特徴とする。
本発明によれば、使用者の負荷を軽減し、正確に検出条件の設定が可能となる。
以下、添付図面を参照して、本発明の好適な実施の形態について実施例を用いて説明する。なお、各図において、同一の部材ないし要素については同一の参照番号を付し、重複する説明は省略ないし簡略化する。
(情報処理装置)
図1は実施例1に係る検出装置の全体構成例を示す図である。
第1取得部101は、特定の面における複数の着目領域に関する第1の配置情報と、前記特定の面の少なくとも高さに関する情報を含む第1の面情報を取得する。ここで、着目領域は着目点を含む。
第2取得部102は、対象物体の属する面の少なくとも高さに関する情報を含む第2の面情報を取得する。
図1は実施例1に係る検出装置の全体構成例を示す図である。
第1取得部101は、特定の面における複数の着目領域に関する第1の配置情報と、前記特定の面の少なくとも高さに関する情報を含む第1の面情報を取得する。ここで、着目領域は着目点を含む。
第2取得部102は、対象物体の属する面の少なくとも高さに関する情報を含む第2の面情報を取得する。
演算部103は、第1取得部101により取得された第1の配置情報と第1の面情報と、第2取得部102により取得された第2の面情報と基づいて、前記対象物体の属する面における着目領域に関する第2の配置情報を演算することによって求める。
検出部104は、演算部103で演算することによって求められた、第2の配置情報(対象物体の属する面における着目領域の配置情報)を用いて、対象物体の属する面における対象物体120を検出する。
なお、演算部103にはコンピュータとしてのCPUが内蔵されており、メモリに記憶されたコンピュータプログラムに基づき装置全体の各種動作を実行させる制御手段として機能する。
検出部104は、演算部103で演算することによって求められた、第2の配置情報(対象物体の属する面における着目領域の配置情報)を用いて、対象物体の属する面における対象物体120を検出する。
なお、演算部103にはコンピュータとしてのCPUが内蔵されており、メモリに記憶されたコンピュータプログラムに基づき装置全体の各種動作を実行させる制御手段として機能する。
以下に、図1に基づいて実施例1の情報処理装置100について説明する。
本実施例において、情報処理装置100は、撮像部110に接続されており、撮像部110により対象物体120を撮影した画像から、対象物体120の検出を行うものとする。
本実施例において、情報処理装置100は、撮像部110に接続されており、撮像部110により対象物体120を撮影した画像から、対象物体120の検出を行うものとする。
対象物体120は実空間上で、ある種の配列規則性を持って、複数段にわたり積み重ねられた状態で設置されているものとする。
図2は実施例1に係る対象物体の設置例を示す図であり、図2(A)~図2(C)に、対象物体120に関する設置例を示す。図2(A)~図2(C)において、上段に示す図は設置された対象物体120を上から見た際の配置状態を示し、下段に示す図は設置された対象物体120を横から見た際の配置状態を示す。
図2は実施例1に係る対象物体の設置例を示す図であり、図2(A)~図2(C)に、対象物体120に関する設置例を示す。図2(A)~図2(C)において、上段に示す図は設置された対象物体120を上から見た際の配置状態を示し、下段に示す図は設置された対象物体120を横から見た際の配置状態を示す。
図2(A)において、対象物体120は収納容器121に収納されており、仕切り122により高さ方向に3段に区切られている。なお、図2(A)において仕切り122は対象物の上側に接しているものとする。また、各段において対象物体120は縦方向に3個、横方向に5個、計15個がおおよそ整列された状態で置かれている。
図2(B)において、直方体状の対象物体120は収納容器に収納されていない。また、高さ方向に仕切りなどで区切られておらず、対象物体120は上下段の対象物体120に接した状態で3段に積載されている。また、各段において対象物体120は縦方向に3個、横方向に4個、計12個がおおよそ整列された状態で置かれている。
図2(B)において、直方体状の対象物体120は収納容器に収納されていない。また、高さ方向に仕切りなどで区切られておらず、対象物体120は上下段の対象物体120に接した状態で3段に積載されている。また、各段において対象物体120は縦方向に3個、横方向に4個、計12個がおおよそ整列された状態で置かれている。
図2(C)において、対象物体120は図2(A)と同様に収納容器121に収納されている。対象物体120は例えば物体内部に空洞があるお椀のような形状になっているとする。このような形状の物体を重ねた場合、ある対象物体120とその上下の対象物体120には重なりが発生し、高さ方向に分離されず重複する空間が生まれることとなる。図2(C)ではこのような重なりが存在しつつ3段積み重なった状態を示している。また、各段の配置は図2(A)や図2(B)のように縦m個、横n個のような格子状配置ではなく、不規則な配列になっている。
本実施例の情報処理装置はこれらの全ての設置状態に対応できるように構成されている。すなわち対象物体120は収納容器121のようなものに収納されていてもされていなくてもいい。また、各々の段は仕切り122などにより完全に分断されていてもいい。仕切り122などがない場合においても、対象物体120同士が高さ方向に重複せず重なっていてもいいし、対象物体120の形状などによっては高さ方向に重複して重なっていても良い。
各々の段における対象物体120の配列に関しても任意であり、縦方向にm個、横方向にn個というように格子状に整列して配列されていてもいいし、そのような規則性を有することなく配列されていてもよい。すなわち、対象物体120は、ある段における2次元配列が他の段でも維持された状態で設置されていればよい。
また、実際には、設置された対象物体120は設置位置に不定性を持つ。例えば、上述のように同じ段で縦m個、横n個の格子状におよそ整列されている想定であっても、設置の不定性により想定される位置からずれることは当然ある。また、図2(C)のような高さ方向に重複が存在する積み方を行った際に、高さ方向に真っ直ぐ積み重ならず、やや傾いて重なり、ある段における対象物体120の設置面からの高さが想定とは異なることがある。
本実施例は、これらの縦横方向あるいは高さ方向の位置不定性がある場合でも、ある程度の範囲内であれば適用可能であり、必ずしも対象物体120が完全に特定位置に存在する場合にのみ適用されるものではない。
なお、対象物体120、収納容器121、仕切り122の素材や形状も、多様な形態が考えられる。対象物体120は金属や樹脂などどのような素材でもよく、形状も直方体や円柱のような単純形状から微細な構造を有する複雑形状でもよい。
なお、対象物体120、収納容器121、仕切り122の素材や形状も、多様な形態が考えられる。対象物体120は金属や樹脂などどのような素材でもよく、形状も直方体や円柱のような単純形状から微細な構造を有する複雑形状でもよい。
収納容器121、仕切り122の素材も任意であり、収納容器121の設置面や仕切り122の表面は完全な平面である必要もなく、凹凸が存在してもよい。本実施例は、これらの物質が実空間上で特定の配置状況となっていて、対象物体120が存在すると思われる領域がある程度の規則性を有していて、設定可能なものであれば適用可能である。よって、図2(A)~(B)に例示されるような荷姿を形成できるものであれば、対象物体120、収納容器121、仕切り122の素材や形状や有無は任意である。
撮像部110は上記のように設置された対象物体120の撮像を行うためのものである。撮像部110は例えば、不図示のパターン生成部と投影光学系及び撮像光学系と撮像素子等を含む。パターン生成部は、投影光学系が投影するパターン光を生成する。パターン光としては、例えば、明線で形成された明部と、暗線で形成された暗部とが交互に配置された周期的なラインパターン(ストライプパターン)等を用いうる。
対象物体120にパターン光を投影し、そこから反射されたパターン光を、撮像光学系を介して撮像素子で受光することにより画像を取得する。撮像素子はCMOSやCCDなどを用いる。本実施例では撮像素子はモノクロの撮像素子とする。なお、パターンの生成は所望のタイミングで行う事が可能であり、パターン照射した画像もパターンを照射していない画像も撮影する事が出来る。
情報処理装置100は撮像部110により取得した画像から対象物体120を検出することを目的とした装置である。その検出のための構成や方法を以下に説明する。
情報処理装置100は撮像部110により取得した画像から対象物体120を検出することを目的とした装置である。その検出のための構成や方法を以下に説明する。
第1取得部101は、特定の面に対する複数の着目領域に関する第1の配置情報を取得する。本実施例において、特定の面は最も下の段に存在する対象物体120の接する設置面であり、複数の着目領域の第1の配置情報は画像上の座標情報を含む。
上記座標情報の取得方法の一例を示す。対象物体120は図2(A)に示すような状態、すなわち対象物体120が収納容器121に収納され、各段で縦方向に3個、横方向に5個にほぼ整列して整列され、それが高さ方向に仕切り122を介して積み重ねられている状態を想定する。
また、図3は実施例1に係る第1取得部の取得情報例を示す図である。まず、使用者は図3(A)に示す通り、収納容器121の最下段のみに対象物体120を並べた状態で撮像部110により画像を取得する。
また、図3は実施例1に係る第1取得部の取得情報例を示す図である。まず、使用者は図3(A)に示す通り、収納容器121の最下段のみに対象物体120を並べた状態で撮像部110により画像を取得する。
この撮影を行う際には、対象物体120にパターン光を照射せず撮影することが望ましい。撮影された画像を図3(B)に示す。撮影された画像には所謂キーストーン効果により台形状の歪みが発生している。よって画像上で収納容器121としての例えば矩形のパレットの淵の形状は台形のような形状となり、実空間上で縦m個、横n個の矩形格子状に配列された対象物体120も画像上で台形状に配列された状態となる。
本実施例において、画像は情報処理装置100に内蔵あるいは接続された不図示の表示部などに表示され、情報処理装置100の使用者は図3(B)の画像を視覚的に確認することが出来るものとする。また、使用者は同じく情報処理装置100に接続された不図示のマウスなどの操作部を操作して、表示部に表示された画像情報に対して操作を行えるものとする。使用者は図3(B)の画像に存在する15個の対象物体120を例えばマウス操作により囲み、15か所の画像上の領域130を指定することで、複数の領域に関する第1の配置情報を取得し保存(登録)することができる。
次に、第1取得部101は、前記の特定の面に対し、少なくとも高さに関する情報を含む第1の面情報を取得する。前述の通り、本実施例において、特定の面は最も下の段に存在する対象物体120の接する設置面、すなわち収納容器121の底面である。従って、特定の面の高さに関する情報は図3(A)に示す通り、撮像部110の底面(または結像面)から収納容器121の底面までの距離123とする。
この距離123に関する情報は、例えば、収納容器121のみを設置した状態や、図3(A)に示すように対象物体120を収納容器121の最下面だけに設置した状態などにおいて、パターン光を照射して撮影を行うことで取得する。即ち、画像内に存在する収納容器121の底面の画像情報を処理する事で、収納容器121の底面までの距離情報(即ち底面の高さ情報)として取得することが可能である。
上記の第1取得部101における第1の配置情報もしくは高さ情報の取得方法は、図2(A)の設置例に関して示したが、これらは図2(B)、図2(C)の対象物体120の設置例にも有効なものである。いずれの例も最下段のみに対象物体120を並べた状態で画像を取得し、マウス操作により領域を指定(登録)することで第1の配置情報の取得が可能である。
また、図2(C)の場合の設置面の高さに関しては、図2(A)と同様に、撮像部110に対する収納容器121の底面の距離を上述の方法で取得すればよい。収納容器121の存在しない図2(B)に関しては、撮像部110に対する最下段の対象物体120を設置した状態で地面(設置面)までの距離を取得すればよい。距離の取得方法は位相差検出方式やコントラスト検出方式を用いても良い。
例えばコントラスト検出方式を用いて設置面等までの距離を取得する場合には、例えば表示部に表示される画像の中のユーザが指定した枠内の画像のコントラストが最大となるときの撮像部のフォーカスレンズの位置情報に基づき距離を取得することができる。即ち、第1の面情報および第2の面情報のうち少なくとも一つを表示部に表示される情報を用いて取得することが可能である。
第2取得部102は、2段目以降の対象物体の属する面に関し、少なくとも高さに関する情報を含む第2の面情報を取得する。
以下では、対象物体の属する面は対象物体120が存在する特定の段における設置面であるものとする。また、面の高さに関する情報は撮像部110の底面(または結像面)からこの2段目以降の面までの距離124(図4)であるものとする。ここで距離124は前記特定の段における設置面の高さ情報に対応している。
以下では、対象物体の属する面は対象物体120が存在する特定の段における設置面であるものとする。また、面の高さに関する情報は撮像部110の底面(または結像面)からこの2段目以降の面までの距離124(図4)であるものとする。ここで距離124は前記特定の段における設置面の高さ情報に対応している。
図4は実施例1に係る高さ方向ピッチの設定例を示す図であり、図4に基づき、距離124の取得方法を説明する。距離124は例えば、第1取得部101で取得した距離123の情報に加え、使用者が積み荷姿に応じて対象物体120の高さ方向ピッチ125を入力することで取得することができる。図4(A)~図4(C)に、図2(A)~図2(C)のそれぞれの設置例に関し、高さ方向ピッチ125がどのような距離で定義されるかを示す。
図4(A)~(C)は、図2(A)~(C)の下段に示した図と同様に、対象物体120を横から見た際の配置状態を示している。図4(A)において、高さ方向ピッチ125は、この設置例の置き方で設置した際の対象物体120の高さと仕切り122の厚さを加算した距離で定義される。なお、図4(A)において仕切り122は対象物の上側に接しているものとする。図4(B)では、高さ方向ピッチ125は、この設置例の置き方で積み重ねた場合には、対象物体120の高さで定義される。図4(C)では、高さ方向ピッチ125は、例えば対象物体120の底面同士の距離で定義される。
これら高さ方向ピッチ125の情報は、例えば実際に設置した積み荷姿に対して、使用者が定規やメジャーなどを用いて測定を行うことで取得可能で、不図示のキーボードなどを操作することで第2取得部102に入力することが出来る。勿論、図4に示されるような側面からの画像を取得し、画像認識によって高さ方向のピッチを取得しても良い。
距離124は第1取得部101で取得した距離123と、高さ方向ピッチ125に基づき演算で取得することが出来る。例えば、対象物体120が下から3段目に存在するとする。その3段目において、対象物体120の底面高さで形成される面の距離124は、距離123から高さ方向ピッチ125に3-1=2を積算した値を引いた値となる。
即ち、以下の式1で表される
距離124=距離123-高さ方向ピッチ125×(3-1) (式1)
即ち、以下の式1で表される
距離124=距離123-高さ方向ピッチ125×(3-1) (式1)
演算部103は、第1取得部101により取得された領域(各対象物体の領域)の第1の配置情報および高さ情報としての距離123と、第2取得部102により取得された高さ情報としての距離124とに基づいて演算を行う。そして、対象物体の属する面における着目領域に関する第2の配置情報の演算を行う。
前述の通り、本実施例における第2の配置情報は、画像上の15個の領域に関する座標情報である。
前述の通り、本実施例における第2の配置情報は、画像上の15個の領域に関する座標情報である。
この画像上の座標情報は、撮像部110の焦点距離や主点位置(結像面と光軸の交点位置)など、撮像部110に関するパラメータを用いて射影変換を行うことで、実空間上の特定の高さにおけるX-Y座標情報に変換することが出来る。ここでは、第1の面情報における距離123におけるX-Y座標情報を最初に計算する。その結果として実空間上の距離123における15個のX-Y座標で特定された領域が算出されるが、この15個の領域は最下段に存在する各対象物体120にそれぞれ対応していることになる。
本実施例の設置例においては、ある段における対象物体120の2次元的な配列が相対的に他の段でも維持されている想定なので、この15個の領域の相対的な配列は段が変化しても不変である。よって、第2の面情報を取得した距離124においても、15個の対象物体120はこの15個の領域にそれぞれ包含されると考えられる。次に、この15個の領域が距離124にあるものと想定し、それらが撮像部110により撮影された際に、どのような画像上の座標になるかを算出する。具体的には、上記の実空間上の距離124に存在する15個の領域の座標情報を、撮像部110の座標系における実空間の座標情報に座標変換する。
その後、撮像部110の焦点距離や主点位置など、撮像部110に関するパラメータを用い、前記実空間上の座標から画像上の画素位置を算出することで、前述の処理とは逆に実空間から画像への射影変換を行う。この結果、距離124に配列されている15個の対象物体120を撮像部110により撮像した際に、それぞれどのような画像領域に存在するかを算出することが出来る。また、この演算により算出される個々の領域は矩形ではないが、画像上の領域を切り出して検出する際には矩形領域を規定することが多い。本実施例では上記で算出された15個の対象物体120の外接矩形領域を15個の領域として算出することとする。
検出部104は、演算部103で演算された15個の領域を用いて、撮像部110により撮影した画像から、対象物体120を検出する。
図5は実施例1に係る検出処理例を示す図であり、ここでは、図5(A)に示す通り、3段目に存在する対象物体120を検出するものとする。図5(A)の状態に対し撮像部110で撮影した画像を図5(B)に示す。図5(B)においては、撮影された画像に対し、演算部103で算出された15個の領域131を重畳表示している。領域131は3段目に存在する対象物体120を外接矩形領域として包含しており、検出領域として適切な設定がされていることがわかる。
図5は実施例1に係る検出処理例を示す図であり、ここでは、図5(A)に示す通り、3段目に存在する対象物体120を検出するものとする。図5(A)の状態に対し撮像部110で撮影した画像を図5(B)に示す。図5(B)においては、撮影された画像に対し、演算部103で算出された15個の領域131を重畳表示している。領域131は3段目に存在する対象物体120を外接矩形領域として包含しており、検出領域として適切な設定がされていることがわかる。
本実施例では、撮影画像において、この検出領域内の情報を処理することにより対象物体120の検出を行う。例えば、撮像部110によりパターンを投影して対象物体120を撮影したパターン画像と、パターンを投影せず取得した濃淡画像を取得する。それらの2つの画像から領域131に該当する領域だけをそれぞれ切りだし、その領域内の画像部を処理することにより、距離情報とエッジ情報を検出する。対象物体120の形状情報とこれらの情報を用いることで、対象物体120の検出が可能である。以上の検出処理により、対象物体120が存在すると想定される領域において検出処理を行うことが可能であり、処理の効率化と検出の正確性の向上が達成される。
本実施例において、演算部103における領域演算は最下段における複数の対象物体120の相対的な配置が上の段でも維持されることを想定して行われている。上述の通り、対象物体120は縦横方向あるいは高さ方向にある程度の位置不定性を有する。その量によっては、図5(B)のように画像上の各対象物体120が各領域131に完全に包含されないことがある。例えば、領域131から対象物体120の一部が外れる場合や、ある所定の1つの対象物体120を包含するための領域131の中に、隣接する対象物体120が入り込む場合がある。その場合でも、その外れ具合や入り込み具合がある程度の許容範囲以下であれば、所定の領域131内に対象物体120が存在すると判断することができる。
本実施例における処理フローを図6及び図7に示す。なお、これらの処理フローは図2(A)に示すような状態で配置された対象物体を処理するためのフローである。
図6は実施例1に係る処理フローを示すフローチャートであり、図7は図6の続きを示すフローチャートである。
図6のステップS101において、予め最下層に対象物体を配置し画像を撮像する。ステップS102において、図2(A)のように1つの段に15個の対象物体120を配置する場合には、15個の領域をユーザがマウス等を使って設定する。
図6は実施例1に係る処理フローを示すフローチャートであり、図7は図6の続きを示すフローチャートである。
図6のステップS101において、予め最下層に対象物体を配置し画像を撮像する。ステップS102において、図2(A)のように1つの段に15個の対象物体120を配置する場合には、15個の領域をユーザがマウス等を使って設定する。
なお、この領域指定を15個の対象物体の画像を画像認識することで行っても良い。次にステップS103で最下層の面の高さ(撮像装置からの距離)を測定する。ステップS104でユーザが高さ方向のピッチを入力する。なお、この入力を前述したように画像認識で取得し入力するようにしても良い。
ステップS105で2段目以降の各段の高さ情報を演算し、ステップS106で2段目以降の各段における15個の領域の位置を演算し、保存する。
以上の設定動作によって予め各段における領域の位置を設定することができる。
次に図7において、ステップS107でm=3、n=1をセットし、ステップS108でm段目、つまり一番上の段の画像を取得する。
また、ステップS109において、ステップS106で保存された各段の領域情報に基づき、m段目のn番目の領域に対象物体が存在するか否かを判定して、判定結果を保存する。
以上の設定動作によって予め各段における領域の位置を設定することができる。
次に図7において、ステップS107でm=3、n=1をセットし、ステップS108でm段目、つまり一番上の段の画像を取得する。
また、ステップS109において、ステップS106で保存された各段の領域情報に基づき、m段目のn番目の領域に対象物体が存在するか否かを判定して、判定結果を保存する。
次にステップS110でn=15か否か判断し、NoであればステップS111でnに1加算してからステップS109に戻すことによって1段目の15個の領域すべてについてS109の判定及び保存が完了するまで、ステップS109~S111を繰り返す。
ステップS110でYesであれば、その段の15個の領域すべてについて対象物体の有無が判定され保存されたので、次にステップS112に進み、m段目の15個の領域にそれぞれ対象物体が存在するか否かを画面上に表示する。
ステップS110でYesであれば、その段の15個の領域すべてについて対象物体の有無が判定され保存されたので、次にステップS112に進み、m段目の15個の領域にそれぞれ対象物体が存在するか否かを画面上に表示する。
次に、ステップS113で、不図示のロボットアームによってm段目に存在する対象物体を例えば所定の別のパレットに所定の順番で搬送する。
S114で、m段目に存在する対象物体を全て前記の所定の別のパレットに搬送完了したか判断し、NoであればステップS113、S114を繰り返す。
ステップS114で搬送が完了したと判断された場合には、ステップS115に進みm=m-1、n=1をセットし、ステップS116でm=0か判定する。
S114で、m段目に存在する対象物体を全て前記の所定の別のパレットに搬送完了したか判断し、NoであればステップS113、S114を繰り返す。
ステップS114で搬送が完了したと判断された場合には、ステップS115に進みm=m-1、n=1をセットし、ステップS116でm=0か判定する。
m=0でなければステップS117で仕切り122をロボットアームで取り除く。
次にステップS108に戻り、次の段についてステップS108~S117の動作を行い、ステップS116でYesになるまで上記の動作を繰り返す。
ステップS116でYesになったら、処理を終了する。
本フローに例示する処理を行うことで、段積みされた対象物体120の全ての段の全部品に対し、段ごとに画像上の検出領域を指定することなく、正確な検出領域設定を行うことができ、対象物体の搬送処理等をスムーズに行うことが可能となる。
次にステップS108に戻り、次の段についてステップS108~S117の動作を行い、ステップS116でYesになるまで上記の動作を繰り返す。
ステップS116でYesになったら、処理を終了する。
本フローに例示する処理を行うことで、段積みされた対象物体120の全ての段の全部品に対し、段ごとに画像上の検出領域を指定することなく、正確な検出領域設定を行うことができ、対象物体の搬送処理等をスムーズに行うことが可能となる。
(対象物体の設置方法)
上記実施例1では、対象物体120が複数の段にわたり積み重ねられた状態を想定して適用方法を説明した。実施例2では、対象物体120が一段にのみ設置された状態においても有効であることを説明する。
上記実施例1では、対象物体120が複数の段にわたり積み重ねられた状態を想定して適用方法を説明した。実施例2では、対象物体120が一段にのみ設置された状態においても有効であることを説明する。
図8は実施例2に係る検出装置の全体構成例を示す図である。実施例1の情報処理装置100の構成である図1との違いは、対象物体120が一段のみ設置された状態であることと、第2取得部102が第1取得部101から情報を受け取らず、代わりに撮像部110から画像情報を受け取るように接続されている点である。実施例1の第1取得部101における取得情報については図9で説明する。
図9は実施例2に係る第1取得部の取得情報例を示す図であり、実施例2においては、図9(A)に示す通り、対象物体120が収納容器121に一段のみ設置された状態で撮影を行う。撮影された画像を用いて第1取得部101により取得される情報及びその取得方法は実施例1と同じである。結果として、第1取得部101において、図9(B)に示される15個の領域130に関する第1の配置情報と、図9(A)に示される、撮像部110から、対象物体120が設置された基準となる収納容器121の底面までの距離123(高さ情報)を取得する。
図10は実施例2に係る検出処理例を示す図であり、実施例2では、第2取得部102は図10(A)に示す、撮像部110から、検出対象の収納容器の底面の距離124(高さ情報)を取得する。図9(A)と図10(A)とで撮像部110から収納容器121の底面までの距離(高さ情報)は異なっているため、距離124は距離123と異なる値となる。検出対象の収納容器121の底面までの距離124は収納容器121を撮像部110により撮影した画像を処理することで取得できる。あるいは定規やメジャーなどを用いて測定を行い、不図示の入力装置で測定値を入力することで取得することも可能であり、その場合には、図8のように第2取得部102が撮像部110に接続されている必要はない。
演算部103での演算処理、検出部104で行われる検出処理は実施例1と同様である。対象物体120が一段のみ設置された状態で、基準となる収納容器121を用いて第1取得部101で領域130の第1の配置情報を取得する際と、検出対象の収納容器121とで対象物体120の設置高さ(底面の高さ)が異なる場合がある。その場合、検出領域がずれる可能性があるが、本実施例においてはその問題は解決される。
図11は実施例2に係る処理フローを示すフローチャートである。
図11のステップS201において、予め基準となる収納容器121に対象物体を配置し画像を撮像する。ステップS202において、図9のように15個の対象物体120を配置する場合には、15個の領域をユーザがマウス等を使って設定する。なお、この領域指定を15個の対象物体の画像を画像認識することで行っても良い。次にステップS203で基準となる収納容器121の底面の高さ(撮像装置からの距離)123を測定する。
図11のステップS201において、予め基準となる収納容器121に対象物体を配置し画像を撮像する。ステップS202において、図9のように15個の対象物体120を配置する場合には、15個の領域をユーザがマウス等を使って設定する。なお、この領域指定を15個の対象物体の画像を画像認識することで行っても良い。次にステップS203で基準となる収納容器121の底面の高さ(撮像装置からの距離)123を測定する。
なお、この高さ(距離)123の測定はユーザがメジャー等を用いて測定しても良いし、周知の距離測定装置によって測定しても良い。
ステップS204で検出対象の収納容器121の底面の高さ124を測定する。
なお、この高さ(距離)124の測定は、周知の距離測定装置によって測定するものとする。
ステップS204で検出対象の収納容器121の底面の高さ124を測定する。
なお、この高さ(距離)124の測定は、周知の距離測定装置によって測定するものとする。
次に、ステップS205で検出対象の収納容器121における15個の領域の位置を演算し、保存する。
次にステップS206で検出対象の収納容器内の対象物体の画像を取得したか判定し、取得したらステップS207に進みn=1をセットする。そして、ステップS208において、ステップS205で保存された検出対象の収納容器121におけるn番目の領域に、対象物体が存在するか否かを判定して、判定結果を保存する。
次にステップS206で検出対象の収納容器内の対象物体の画像を取得したか判定し、取得したらステップS207に進みn=1をセットする。そして、ステップS208において、ステップS205で保存された検出対象の収納容器121におけるn番目の領域に、対象物体が存在するか否かを判定して、判定結果を保存する。
次にステップS209でn=15か否か判断し、NoであればステップS210でnに1加算してからステップS208に戻す。これによって検出対象の収納容器121における15個の領域すべてについてS208の判定及び保存が完了するまで、ステップS208~S210を繰り返す。
ステップS209でYesとなれば、検出対象の収納容器121における15個の領域すべてについて対象物体の有無が判定され保存されたになる。従って、次にステップS211に進み検出対象の収納容器121における15個の領域について対象物体が存在するか否かを画面上に表示する。
次に、ステップS212で、不図示のロボットアームによって、収納容器121に存在する対象物体を例えば所定の別のパレットに順次所定の順番で搬送する。
次に、ステップS212で、不図示のロボットアームによって、収納容器121に存在する対象物体を例えば所定の別のパレットに順次所定の順番で搬送する。
そしてS213で、収納容器121に存在する対象物体を全て前記の所定の別のパレットに搬送完了したか判断し、Noの場合にはステップS212、S213を繰り返す。
ステップS114で搬送が完了したと判断された場合には処理を終了する。
なお、次の収納容器についても同様の動作を繰り返す場合にはステップS204に戻って、その収納容器について同様の動作を繰り返す。
本フローに例示する処理を行うことで、対象物体が一段のみ設置された状態でも、また収納容器の底面の高さの変動があっても、正確な検出領域設定および搬送を行うことが可能となる。
ステップS114で搬送が完了したと判断された場合には処理を終了する。
なお、次の収納容器についても同様の動作を繰り返す場合にはステップS204に戻って、その収納容器について同様の動作を繰り返す。
本フローに例示する処理を行うことで、対象物体が一段のみ設置された状態でも、また収納容器の底面の高さの変動があっても、正確な検出領域設定および搬送を行うことが可能となる。
(配置情報)
実施例1、2では、第1取得部101において、撮影画像を用いて複数の着目領域の第1の配置情報を入力(取得)していた。実施例3では、実空間におけるメジャー等を用いた測定によって複数の着目領域の第1の配置情報を取得する。
実施例3における、情報処理装置100の構成は、図1で示される構成と同じである。ただし、第1取得部101は撮像画像に係る情報を取得しないので、図1に示すように第1取得部101は撮像部110に接続されていなくても良い。
実施例1、2では、第1取得部101において、撮影画像を用いて複数の着目領域の第1の配置情報を入力(取得)していた。実施例3では、実空間におけるメジャー等を用いた測定によって複数の着目領域の第1の配置情報を取得する。
実施例3における、情報処理装置100の構成は、図1で示される構成と同じである。ただし、第1取得部101は撮像画像に係る情報を取得しないので、図1に示すように第1取得部101は撮像部110に接続されていなくても良い。
実施例3では、図1の第1取得部101は、特定の基準となる設置面について、実空間における着目領域の第1の配置情報を取得する。即ち例えばメジャー等を用いて測定することによって取得する。ここで、特定の面は実施例1と同様に最下段の対象物体120が設置される設置面あるいは収納容器121の底面とする。
この面に対して実空間における領域の第1の配置情報を取得する。例えば、実施例1の図3(A)のように最下段に格子状に並べられた対象物体120に対し、その中の例えば1つの対象物体120の位置情報を何らかの測定方法で取得する。この位置情報は例えば撮像部110に対する対象物体120の位置であり、定規やメジャーで測定を行うことで取得しても良い。
また、精度よく取得したい場合は撮像部110で撮影した画像から前記の対象物体120を認識することでも取得可能である。対象物体120の位置がわかれば、その位置情報と対象物体120の寸法情報などから、その面におけるその対象物体120の領域情報を定義することが出来る。こうして特定の少なくとも1つの対象物体120の領域情報を取得した後で、実空間における間隔をメジャー等で測定して取得する。そうすれば、格子状に並べた対象物体120の個数情報がわかっているので、その面における全ての領域情報(領域の位置情報、第1の配置情報)を取得することが出来る。
第1取得部101は、実施例1と同様に撮像部110から最下段の対象物体120が設置される設置面あるいは収納容器121の底面までの距離(高さに相当)を第1の面情報として取得する。その取得方法も実施例1のように画像情報を処理する事によって取得してもいいし、実空間上で使用者が定規やメジャーなどを用いて測定することによって取得してもよい。
第2取得部102は、実施例1と同様に対象物体の属する面の高さに関する第2の面情報を取得する。その取得方法も実施例1と同様の方法が適用可能である。
第2取得部102は、実施例1と同様に対象物体の属する面の高さに関する第2の面情報を取得する。その取得方法も実施例1と同様の方法が適用可能である。
演算部103は、メジャー等を用いて測定し取得した複数の領域の第1の配置情報と第1の面情報と第2の面情報から、計測対象の存在する段にある対象物体120に関し、それらの実空間上の領域に関する座標情報を演算する。
この情報は第1取得部101で求めた第1の配置情報に対し、第1の面情報と第2の面情報の2つの高さ情報の高さのオフセットを加えることで、求められる。その後、撮像部110に関するパラメータ(焦点距離、主点位置)などを用い、前記の実空間上の座標情報を画像上の座標情報に射影変換する。そして、外接矩形を算出することで、画像上で計測対象の各段における対象物体120が存在すると思われる領域を演算することが可能となる。
この情報は第1取得部101で求めた第1の配置情報に対し、第1の面情報と第2の面情報の2つの高さ情報の高さのオフセットを加えることで、求められる。その後、撮像部110に関するパラメータ(焦点距離、主点位置)などを用い、前記の実空間上の座標情報を画像上の座標情報に射影変換する。そして、外接矩形を算出することで、画像上で計測対象の各段における対象物体120が存在すると思われる領域を演算することが可能となる。
検出部104は、実施例1に記載の方法と同様の方法で、演算部103において演算された着目領域を用いて、対象物体120を撮像部110により撮影した画像から、対象物体120を検出する。
本実施例における処理フローは図6と基本的に同じであるが、図6におけるステップS101、S102の動作を、上記のような動作に置き換える。即ち、少なくとも1つの領域を何らかの形で取得した後、他の領域についてはメジャー等で測定することによって位置情報を取得する点が異なる。このようにして実施例3における処理を行うことで、実施例1よりも画像情報に依存することなく、簡単に正確な検出領域設定を行うことが可能である。
本実施例における処理フローは図6と基本的に同じであるが、図6におけるステップS101、S102の動作を、上記のような動作に置き換える。即ち、少なくとも1つの領域を何らかの形で取得した後、他の領域についてはメジャー等で測定することによって位置情報を取得する点が異なる。このようにして実施例3における処理を行うことで、実施例1よりも画像情報に依存することなく、簡単に正確な検出領域設定を行うことが可能である。
(面情報)
実施例1~3においては、第1取得部101において取得する第1の面情報あるいは第2取得部102において取得する第2の面情報は、それらの面が水平であるという前提に立っており基本的には高さ情報だけであった。実施例4では、これらの面に対する高さ情報だけではなく、位置情報や傾き情報も考慮している。
本実施例における、情報処理装置100の構成は、図1で示される構成と同じである。
実施例1~3においては、第1取得部101において取得する第1の面情報あるいは第2取得部102において取得する第2の面情報は、それらの面が水平であるという前提に立っており基本的には高さ情報だけであった。実施例4では、これらの面に対する高さ情報だけではなく、位置情報や傾き情報も考慮している。
本実施例における、情報処理装置100の構成は、図1で示される構成と同じである。
図12は実施例4に係る第1取得部の取得情報例を示す図であり、実施例4における、第1取得部101での情報取得方法について、図12を基に説明を行う。実施例4では図12(A)に示すように、実施例1と同様に、収納容器121の底面に対象物体120を並べた状態で、撮像部110により画像を取得する。撮影時に収納容器121は設置面内あるいはその法線方向に傾きを持っているものとする。撮影された画像を図12(B)に示す。実施例1の図3(B)とは異なり、画像内で収納容器121および配列された対象物体120は傾いた状態となる。このような傾いた状態での画像を用いて、実施例1と同様の方法を用いて領域130の第1の配置情報が取得可能とする。
次に第1取得部101で面の位置(面の中心座標の位置)及び傾き情報を求める方法を記載する。ここでの面は実施例1と同様に、最下段の対象物体120が設置された収納容器121の底面とする。該当の面は図12(A)に面126として示されており、撮像部110に対して傾きを有する。本実施例では面126の位置及び傾き情報を求めるために、上述の撮影画像を用いて収納容器121の位置姿勢を計測する。
この計測は例えば、収納容器121の距離情報と輪郭情報を画像から抽出し、予めわかっている収納容器121の形状情報を参照して演算を行うことにより可能である。収納容器121の位置姿勢が求められれば、面126の位置及び傾き情報を、例えば収納容器121の底面の中心座標の位置と傾き情報として取得可能となる。
この計測は例えば、収納容器121の距離情報と輪郭情報を画像から抽出し、予めわかっている収納容器121の形状情報を参照して演算を行うことにより可能である。収納容器121の位置姿勢が求められれば、面126の位置及び傾き情報を、例えば収納容器121の底面の中心座標の位置と傾き情報として取得可能となる。
図13は実施例4に係る検出処理例を示す図であり、第2取得部102で面の位置及び傾き情報を求める方法について、図13を基に説明を行う。本実施例では例えば図13(A)に示すような状態で画像を取得するものとする。本実施例では図2(C)に示したものと同様に、対象物体120は物体内部に空洞があるお椀のような形状になっているものとする。また、それらの対象物体が高さ方向に重複しつつ6層重ねられているものとする。
本実施例では検出を行う対象は6段目に並べられた対象物体120であるものとし、それらが属する面として、6段目に並べられた対象物体120の底面群が形成する面を定義するものとする。該当する面を図13(A)に面127として示す。また、図13(A)では、図12(A)に対し、収納容器121の設置面内の姿勢あるいはその法線方向の姿勢は変化しているものとする。
撮影された画像を図13(B)に示す。本画像を用いて第1取得部101の説明で記載した方法と同様の方法で、収納容器121の位置姿勢及びその底面の中心座標の位置と底面の傾き情報を求める。
更に、実施例1と同様の方法で高さ方向ピッチ125を取得する。面127の位置は、底面の中心座標に対し、収納容器の底面の法線方向に、高さ方向のピッチ125に層数6から1引いた5をかけた距離離れた位置を算出することで取得できる。また、面127の傾きは収納容器121の底面と同じ傾きとする。
更に、実施例1と同様の方法で高さ方向ピッチ125を取得する。面127の位置は、底面の中心座標に対し、収納容器の底面の法線方向に、高さ方向のピッチ125に層数6から1引いた5をかけた距離離れた位置を算出することで取得できる。また、面127の傾きは収納容器121の底面と同じ傾きとする。
演算部103における演算内容は基本的には実施例1と同様である。すなわち、第1取得部101で取得した画像上の領域の第1の配置情報を、実空間上の面126に射影変換をする。その後、面126と面127の位置および傾き情報から位置姿勢のオフセット量を算出し、面127における領域情報を算出する。
その後、この領域情報に対し再度射影変換を行い、画像上の領域情報を取得し、最後に外接矩形を求める。こうして求めた領域130を図13(B)に示す。実施例1との差分は射影変換やオフセット量の算出を行う際に、面126と面127の高さの差分だけではなく、その中心座標や傾き成分も考慮している点である。
これにより、第1取得部101で情報取得を行うときと演算部103で領域設定を行う際に収納容器121の位置姿勢が変化していても、その変化に追随した検出領域の設定が可能となる。
これにより、第1取得部101で情報取得を行うときと演算部103で領域設定を行う際に収納容器121の位置姿勢が変化していても、その変化に追随した検出領域の設定が可能となる。
検出部104は、実施例1に記載の方法と同様の方法で、演算部103において演算された着目領域を用いて、対象物体120を撮像部110により撮影した画像から、対象物体120の有無を検出する。ここで検出に用いる画像は、前述の第2取得部102で収納容器121の位置姿勢を求めた際の画像と同じもの、あるいはその画像を取得した時点と撮像部110と収納容器121の相対位置姿勢が変化していない状態であることが望ましい。
図14は実施例4に係る処理フローを示すフローチャートである。
図14のステップS301において、予め最下層に対象物体を配置し画像を撮像する。ステップS302において、図5のように1つの段に15個の対象物体120を配置する場合には、15個の領域をユーザがマウス等を使って設定する。なお、この領域指定を15個の対象物体の画像を画像認識することで行っても良い。
図14のステップS301において、予め最下層に対象物体を配置し画像を撮像する。ステップS302において、図5のように1つの段に15個の対象物体120を配置する場合には、15個の領域をユーザがマウス等を使って設定する。なお、この領域指定を15個の対象物体の画像を画像認識することで行っても良い。
次にステップS303で収納容器の位置姿勢情報を取得し、ステップS304で収納容器の設置面の位置情報と傾き情報を取得する。
次にステップS305でユーザが高さ方向のピッチを入力する。なお、この入力を前述したように画像認識で取得し入力するようにしても良い。
ステップS306で検出対象の画像を撮影する。この例では図13(A)のような状態で画像を撮像する。
次にステップS305でユーザが高さ方向のピッチを入力する。なお、この入力を前述したように画像認識で取得し入力するようにしても良い。
ステップS306で検出対象の画像を撮影する。この例では図13(A)のような状態で画像を撮像する。
次にステップS307で検出画像から収納容器の位置姿勢情報を取得すると共にm=6、n=1をセットし、ステップS308でm段目の対象物体の下面の位置情報と傾き情報を取得する。
次にステップS309でm段目における15個の領域の位置を演算し、保存する。
次にステップS310でn=1をセットし、ステップS311において、ステップS309で保存されたm段目の各領域情報に基づき、n番目の領域に対象物体が存在するか否かを判定して、判定結果を保存する。
次にステップS309でm段目における15個の領域の位置を演算し、保存する。
次にステップS310でn=1をセットし、ステップS311において、ステップS309で保存されたm段目の各領域情報に基づき、n番目の領域に対象物体が存在するか否かを判定して、判定結果を保存する。
次にステップS312でn=15か否か判断し、NoであればステップS313でnに1加算してからステップS311に戻すことによってm段目の15個の領域すべてについてS311の判定及び保存が完了するまで、ステップS311~S313を繰り返す。
ステップS312でYesになれば、m段目の15個の領域すべてについて対象物体の有無が判定され保存されたので、次にステップS314に進み、m段目のそれぞれの15個の領域について対象物体が存在するか否かを画面上に表示する。
ステップS312でYesになれば、m段目の15個の領域すべてについて対象物体の有無が判定され保存されたので、次にステップS314に進み、m段目のそれぞれの15個の領域について対象物体が存在するか否かを画面上に表示する。
次に、ステップS315で、不図示のロボットアームによってm段目に存在する対象物体を例えば所定の別のパレットに順次所定の順番で搬送する。
そして、S316で、m段目に存在する対象物体を全て前記の所定の別のパレットに搬送完了したか判断し、NoであればステップS315、316を繰り返す。
そして、S316で、m段目に存在する対象物体を全て前記の所定の別のパレットに搬送完了したか判断し、NoであればステップS315、316を繰り返す。
ステップS316で搬送が完了したと判断された場合には、ステップS317に進みm=m-1、n=1をセットし、ステップS318でm=0か判定する。
m=0でなければステップS308に戻り、次の段についてステップS308~S318の動作を再び行い、ステップS318でYesになるまで上記の動作を繰り返す。
ステップS318でYesになったら、処理を終了する。
m=0でなければステップS308に戻り、次の段についてステップS308~S318の動作を再び行い、ステップS318でYesになるまで上記の動作を繰り返す。
ステップS318でYesになったら、処理を終了する。
本フローに例示する処理を行うことで、第1取得部101で情報取得を行うときと検出部104で検出を行うときの収納容器121の傾きの変化などを考慮した、より正確な検出領域設定および搬送を行うことが可能となる。
(変形例)
(変形例)
以上に本実施例を示したが、これらは本発明の実施例の一部を示すものである。当然ながら、本発明は上記の例で示した条件や設定などに限定されるものではない。
例えば撮像部110は、上記の例以外にも撮像素子を2つ有するステレオ計測方式の撮像部でもよい。撮像素子に関しても、カラーフィルタを有するカラー撮像素子であっても良い。
例えば撮像部110は、上記の例以外にも撮像素子を2つ有するステレオ計測方式の撮像部でもよい。撮像素子に関しても、カラーフィルタを有するカラー撮像素子であっても良い。
また、撮像された画像から、対象物体120を検出可能ならば、撮像部110は任意の構成や配置を採り得る。
また、情報処理装置100は図1のように撮像部110と必ずしも接続されている必要はない。撮像部110で一旦記録された画像を、情報処理装置100に設けた再生装置で再生することによって取得するようにしても良い。
また、情報処理装置100は図1のように撮像部110と必ずしも接続されている必要はない。撮像部110で一旦記録された画像を、情報処理装置100に設けた再生装置で再生することによって取得するようにしても良い。
更に、第1取得部101が、特定の面に対して、第1の配置情報や面情報を取得する方法に関しては様々な形態が考えられる。
例えば、第1取得部101で第1の面情報を取得するための対象とする特定の面として、以上の実施例では、最下段の対象物体120が設置される設置面あるいは収納容器121の底面を想定した。
例えば、第1取得部101で第1の面情報を取得するための対象とする特定の面として、以上の実施例では、最下段の対象物体120が設置される設置面あるいは収納容器121の底面を想定した。
しかし、上記特定の面としての要件は、その面における着目領域の第1の配置情報と面の高さ情報が取得可能なことであり、その条件を満たす面であればどの面であっても良い。例えば、特定の面として、2段目、3段目あるいは最上段の対象物体120が設置される設置面を用いてもよい。
また、第2取得部102で第2の面情報を取得するための対象とする面としては、上記の対象物体120の任意の段の設置面や、収納容器121の底面は多少の凹凸があってもよい。その場合においても、そこに設置された対象物体120の配列や平均的な高さ情報や姿勢情報は取得可能である。
更に、対象物体120が設置される面である必要もなく、ある段における対象物体120の上面群が形成する面や重心座標群により形成される面など、ある基準の高さ位置で想定されるその他の面でもいい。
更に、対象物体120が設置される面である必要もなく、ある段における対象物体120の上面群が形成する面や重心座標群により形成される面など、ある基準の高さ位置で想定されるその他の面でもいい。
これらの面に対して、領域130の第1の配置情報を取得する方法も下記のような方法であっても良い。
例えば、第1の配置情報を画像における座標情報として取得する場合について述べる。この取得方法に関しては、実施例に示したように特定の面に対象物体120を並べ、撮影した画像に対して、必ずしも全ての対象物体120を指定する必要はない。
例えば、第1の配置情報を画像における座標情報として取得する場合について述べる。この取得方法に関しては、実施例に示したように特定の面に対象物体120を並べ、撮影した画像に対して、必ずしも全ての対象物体120を指定する必要はない。
例えば、図2(A)、図2(B)のようにある段において、対象物体120が縦方向にm個、横方向にn個というように格子状に配列されている場合を考える。この場合、例えば格子の対角に存在する対象物体120の画像上の領域など、一部の領域だけを実施例1と同様に指定し、上記のmやnという配列個数をキーボードなどの入力装置で入力する。それによって、画像上の全ての対象物体120に関する領域130の第1の配置情報が算出可能である。
ここでの計算も、撮像部110に関する焦点距離や主点位置等のパラメータを参照することで、実施例1に記載の台形歪みまで考慮した第1の配置情報を計算してもよい。或いは、台形歪み等が少ないと考えられる場合は、単純に画像上に等間隔で配列されるように計算してもよい。また、上記では画像上の領域130の第1の配置情報を取得したが、領域ではなく着目点の第1の配置情報でもいい。例えば、個々の対象物体120に対し、計測を行う際の着目点をマウス操作などで指定し、着目点の第1の配置情報として取得するようにしても良い。
この場合、演算部103で得られる情報も別の面における着目点についての第2の配置情報となるが、その着目点から所定の範囲内に写った画像情報から検出を行う事も可能である。
以上の変形例においては、(着目)領域や着目点の第1の配置情報は画像を操作することにより取得される例を示したが、必ずしもこの限りではない。別途取得した領域や着目点の画像上の第1の配置情報に関する情報(例えば座標)を、キーボードなどの入力装置で入力してもいいし、上記の第1の配置情報が記載されたファイルを読み込むことによって取得しても良い。
以上の変形例においては、(着目)領域や着目点の第1の配置情報は画像を操作することにより取得される例を示したが、必ずしもこの限りではない。別途取得した領域や着目点の画像上の第1の配置情報に関する情報(例えば座標)を、キーボードなどの入力装置で入力してもいいし、上記の第1の配置情報が記載されたファイルを読み込むことによって取得しても良い。
次に、第1の配置情報を実空間における座標情報として取得する際の変形例について述べる。実施例3に記載のように、特定の面に設置された対象物体120の一部あるいは全部を定規やメジャーなどによって計測をすることによって第1の配置情報を取得してもよいし、対象物体120を撮影した画像からその位置を計測した結果を用いて取得してもよい。また、不図示の表示部などに2次元あるいは3次元の仮想空間をCGで表示し、その中で対象物体120の存在領域を並べる等の方法によって取得してもよい。
その他、画像上の座標情報を取得する場合にも記載した通り、別途取得した領域や着目点の画像上の第1の配置情報に関する情報を、キーボードなどの入力装置で入力してもいいし、情報が記載されたファイルを読み込むことでも取得可能である。
その他、画像上の座標情報を取得する場合にも記載した通り、別途取得した領域や着目点の画像上の第1の配置情報に関する情報を、キーボードなどの入力装置で入力してもいいし、情報が記載されたファイルを読み込むことでも取得可能である。
また、第1取得部101が特定の面に関して、第1の面情報を取得する方法に関しては以下のような変形例としても良い。
まず、面情報の内容としては、実施例4にも記した通り、高さ情報の他にも面内の特定の点の位置情報、姿勢情報などを含むようにしても良い。
まず、面情報の内容としては、実施例4にも記した通り、高さ情報の他にも面内の特定の点の位置情報、姿勢情報などを含むようにしても良い。
これらは、実施例にも示した通り、対象物体120やその設置面、あるいは収納容器121を撮影した画像を処理して距離計測や位置姿勢計測などの種々の計測を行うことで取得することが可能である。また、該当する面の面内、あるいは面付近に設置された指標を撮影した画像を処理することで面情報を取得するようにしても良い。その他、画像処理を行わずに、各種の位置や姿勢を特定する計測手段、例えば定規、メジャーなどのような簡易な測距器具や形状測定装置などを使用することによって情報を取得するようにしても良い。
また、第2取得部102が対象物体120の属する面に関して、第2の面情報を取得する方法に関しても第1の面情報を取得する方法と同様である。第1の面情報の取得方法として記載した全ての方法は第2の面情報を取得する方法としても適用できる。当然、第1の面情報と第2の面情報の取得方法および、その内容は同じものではなくてよい。特定の面の高さ情報あるいはこれに位置情報もしくは姿勢情報を加えた情報が取得可能であれば、第1取得部101と第2取得部102はどのような方法も選択可能である。
また、演算部103は、第1取得部101で取得した着目領域の第1の配置情報及び第1の面情報と第2取得部102で取得した前記第2の面情報と基づいて、着目領域に関する情報を演算する。この演算に関しては、実空間における第1の面と第2の面の高さの差分量や位置姿勢の差分量に基づき、前記の第1の面における着目領域が、第2の面においてどこの座標にずれるかが算出出来れば、いかような処理や順番で演算を行ってもよい。
例えば、上述のように第1の面情報と第2の面情報の内容は多様な組み合わせがあるので、それらの差分を算出するための処理は適宜変更されるべきである。また、実施例においては演算部103で出力される領域情報は射影変換を行った後に外接矩形を求めることで得られた矩形の領域であったが、この領域は必ずしも矩形である必要はない。射影変換を行い得られた領域をそのまま出力してもいいし、あるいは外接矩形を求める以外の方法で適宜形状を調整してもよい。
検出部104は、演算部103で設定された着目領域の第2の配置情報を用いて検出を行うのであれば、どのような処理や順番で検出を行ってもよい。実施例ではパターンを投影した画像と濃淡画像を用いて検出を行ったが、そのどちらかのみを用いて検出を行ってもよいし、また、予め各画素に対して距離値が算出された距離画像のようなものを用いて検出を行ってもよい。
実施例では画像から先に演算部103で演算した領域を切り出して距離情報やエッジ情報の検出を行ったが、まずは画像全体からこれらの情報を算出した後に、前述の領域に限定して検出処理を行ってもよい。また。演算部103で設定された着目点群または領域群の全ての領域に対し、一括で情報処理を行いその段における対象物体120の検出処理を行ってもいいし、個別あるいは一部の着目領域に対して異なるタイミングで検出処理を行ってもよい。
更に、演算部103で領域を演算した後、どのタイミングで検出部104により検出処理を行うかも任意である。演算部103で領域を演算した直後に、その領域情報を用いて検出部104で検出処理を行ってもよい。また、一度演算部103で各段の領域を演算し、不図示の記憶部などにその領域情報を保存し、その後任意のタイミングで検出部104の検出対象となる段の領域情報を記憶部から取得して検出処理を行ってもよい。
また、上記実施例に示した情報処理装置は例えば物流センター等における物品管理システムに用いることができる。即ち、例えばベルトコンベアで運ばれてきた収納容器に対象物体(物品)が配置されている場合に、どの段のどの位置に対象物体が存在するか否かを本実施例の情報処理装置によって精度良く検知できる。
そして実施例の情報処理装置で検出された対象物体を把持して移動させるロボットを設けることによって、収納容器の所定の段の所定位置に配置された対象物体を前記ロボットによって把持し、別の位置(棚等)に移動させることができる。
しかも、本実施例の情報処理装置を用いることによって簡単にかつ精度よく、各段における対象物体の有無を判別できるので、対象物体の物流等における管理ミスが減るという効果がある。
しかも、本実施例の情報処理装置を用いることによって簡単にかつ精度よく、各段における対象物体の有無を判別できるので、対象物体の物流等における管理ミスが減るという効果がある。
また、上記の実施例や変形例の一部若しくは全部を適宜組み合わせて使用しても構わないし、上記の実施例や変形例の一部若しくは全部を選択的に使用しても構わない。
以上、本発明をその好適な実施例及びその変形例に基づいて詳述してきたが、本発明は上記実施例や変形例に限定されるものではなく、本発明の主旨に基づき種々の変形が可能であり、それらを本発明の範囲から除外するものではない。
以上、本発明をその好適な実施例及びその変形例に基づいて詳述してきたが、本発明は上記実施例や変形例に限定されるものではなく、本発明の主旨に基づき種々の変形が可能であり、それらを本発明の範囲から除外するものではない。
なお、本実施例における制御の一部または全部を上述した実施例の機能を実現するコンピュータプログラムをネットワーク又は各種記憶媒体を介して情報処理装置に供給するようにしてもよい。そしてその情報処理装置におけるコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行するようにしてもよい。その場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することとなる。
100 情報処理装置
101 第1取得部
102 第2取得部
103 演算部
104 検出部
120 対象物体
101 第1取得部
102 第2取得部
103 演算部
104 検出部
120 対象物体
Claims (12)
- 対象物体を検出する情報処理装置であって、
特定の面における複数の着目領域に関する第1の配置情報と、前記特定の面の少なくとも高さに関する情報を含む第1の面情報を取得する第1取得部と、
前記対象物体の属する面の少なくとも高さに関する情報を含む第2の面情報を取得する第2取得部と、
前記第1の配置情報と前記第1の面情報と前記第2の面情報とに基づいて、前記対象物体の属する面における着目領域に関する第2の配置情報を求める演算部と、
前記演算部によって求められた前記第2の配置情報を用いて、前記対象物体の属する面における前記対象物体を検出する検出部と、
を備えることを特徴とする情報処理装置。 - 前記着目領域は着目点を含むことを特徴とする請求項1に記載の情報処理装置。
- 前記対象物体は複数段にわたり積み重ねられた状態で設置されていることを特徴とする請求項1に記載の情報処理装置。
- 前記対象物体は一段にのみ設置されていることを特徴とする請求項1に記載の情報処理装置。
- 前記第1の配置情報は、撮影画像における複数の着目領域の座標情報であることを特徴とする請求項1~4のいずれか1項に記載の情報処理装置。
- 前記第1の配置情報は、実空間における着目領域の座標情報であることを特徴とする請求項1~4のいずれか1項に記載の情報処理装置。
- 前記第1の面情報は、前記特定の面の傾きに関する情報を含むことを特徴とする請求項1~6のいずれか1項に記載の情報処理装置。
- 前記第2の面情報は、前記対象物体の属する面の傾きに関する情報を含むことを特徴とする請求項1~7のいずれか1項に記載の情報処理装置。
- 前記情報処理装置は、表示部を備え、
前記第1の配置情報および前記第1の面情報および前記第2の面情報のうち少なくとも1つは前記表示部に表示される情報を用いて取得されることを特徴とする請求項1~8のいずれか1項に記載の情報処理装置。 - 請求項1~9のいずれか1項に記載の情報処理装置と、
前記情報処理装置により検出された前記対象物体を把持して移動させるロボットと、を有することを特徴とするシステム。 - 対象物体を検出する検出方法であって、
特定の面に対する複数の着目領域に関する第1の配置情報と、前記特定の面の少なくとも高さに関する情報を含む第1の面情報を取得する第1取得工程と、
前記対象物体の属する面の少なくとも高さに関する情報を含む第2の面情報を取得する第2取得工程と、
前記第1の配置情報と前記第1の面情報と前記第2の面情報とに基づいて、前記対象物体の属する面における着目領域に関する第2の配置情報を求める演算工程と、
前記演算部によって求められた、前記第2の配置情報を用いて、前記対象物体の属する面における前記対象物体を検出する検出工程と、
を備えることを特徴とする検出方法。 - コンピュータを、請求項1~9のいずれか1項に記載の前記情報処理装置の各部として機能させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020131464A JP2022028196A (ja) | 2020-08-03 | 2020-08-03 | 情報処理装置、システム、検出方法、及びコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020131464A JP2022028196A (ja) | 2020-08-03 | 2020-08-03 | 情報処理装置、システム、検出方法、及びコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022028196A true JP2022028196A (ja) | 2022-02-16 |
Family
ID=80267319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020131464A Pending JP2022028196A (ja) | 2020-08-03 | 2020-08-03 | 情報処理装置、システム、検出方法、及びコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022028196A (ja) |
-
2020
- 2020-08-03 JP JP2020131464A patent/JP2022028196A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5943547B2 (ja) | 非接触測定を行う装置および方法 | |
CN105960569B (zh) | 使用二维图像处理来检查三维物体的方法 | |
JP5633058B1 (ja) | 3次元計測装置及び3次元計測方法 | |
JP2018205023A (ja) | 画像検査装置、画像検査方法、画像検査装置の設定方法、画像検査プログラム、画像装置の設定検査プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器 | |
JP2018205025A (ja) | 画像検査装置、画像検査方法、画像検査プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器 | |
JP3690581B2 (ja) | 位置検出装置及びその方法、平面姿勢検出装置及びその方法 | |
JP5222430B1 (ja) | 寸法計測装置、寸法計測方法及び寸法計測装置用のプログラム | |
CN106017313A (zh) | 边缘检测偏差校正值计算、边缘检测偏差校正方法及设备 | |
JP2011196860A (ja) | 距離画像カメラを用いた物体寸法測定方法および物体寸法測定装置 | |
CN110398215A (zh) | 图像处理装置和方法,系统,物品制造方法,存储介质 | |
CN113465573A (zh) | 单目测距方法、装置及智能装置 | |
JPWO2018168757A1 (ja) | 画像処理装置、システム、画像処理方法、物品の製造方法、プログラム | |
US11727635B2 (en) | Hybrid photogrammetry | |
JP2018205024A (ja) | 画像検査装置、画像検査方法、画像検査プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器 | |
JP5956296B2 (ja) | 形状計測装置及び形状計測方法 | |
KR20140113449A (ko) | 묘화 데이터 생성 방법, 묘화 방법, 묘화 데이터 생성 장치, 및 묘화 장치 | |
JP2022028196A (ja) | 情報処理装置、システム、検出方法、及びコンピュータプログラム | |
US8102516B2 (en) | Test method for compound-eye distance measuring apparatus, test apparatus, and chart used for the same | |
JP5136108B2 (ja) | 三次元形状計測方法および三次元形状計測装置 | |
JP4077755B2 (ja) | 位置検出方法、その装置及びそのプログラム、並びに、較正情報生成方法 | |
KR101314101B1 (ko) | 3차원 계측 시스템 및 그 방법 | |
JP3637416B2 (ja) | 3次元計測方法、3次元計測システム、画像処理装置、及びコンピュータプログラム | |
JP5786999B2 (ja) | 三次元形状計測装置、三次元形状計測装置のキャリブレーション方法 | |
JP5206499B2 (ja) | 測定方法、測定装置、測定制御プログラム | |
JP3519296B2 (ja) | 熱画像の自動測定方法及び自動測定装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230719 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240430 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240507 |