JP7373700B2 - Image processing device, bin picking system, image processing method, image processing program, control method and control program - Google Patents
Image processing device, bin picking system, image processing method, image processing program, control method and control program Download PDFInfo
- Publication number
- JP7373700B2 JP7373700B2 JP2019039831A JP2019039831A JP7373700B2 JP 7373700 B2 JP7373700 B2 JP 7373700B2 JP 2019039831 A JP2019039831 A JP 2019039831A JP 2019039831 A JP2019039831 A JP 2019039831A JP 7373700 B2 JP7373700 B2 JP 7373700B2
- Authority
- JP
- Japan
- Prior art keywords
- point cloud
- nodes
- cloud data
- clustering
- image generation
- 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
Links
- 238000000034 method Methods 0.000 title claims description 33
- 238000012545 processing Methods 0.000 title claims description 19
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000001514 detection method Methods 0.000 claims description 29
- 230000005484 gravity Effects 0.000 claims description 15
- 238000011156 evaluation Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 14
- 238000003860 storage Methods 0.000 description 9
- 239000007787 solid Substances 0.000 description 7
- 238000003384 imaging method Methods 0.000 description 6
- 235000013194 Lyophyllum decastes Nutrition 0.000 description 3
- 240000005856 Lyophyllum decastes Species 0.000 description 3
- 235000013305 food Nutrition 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 230000012447 hatching Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 241000288673 Chiroptera Species 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000002344 surface layer Substances 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Manipulator (AREA)
Description
本発明は、画像処理装置、ビンピッキングシステム、画像処理方法、画像処理プログラムに関する。 The present invention relates to an image processing device, a bin picking system, an image processing method, and an image processing program.
例えば、工場でライン生産される弁当に盛り付けられる食品は、ばら積みにされて供給されることが多い。ここで、規格化された工業製品の場合は、製品の立体モデル等と比較して1つの操作対象を認識することもできるが、食品は一般的に不定形であるため比較対象となる基準を設定することが難しい。 For example, food that is packed into lunch boxes that are produced on a line at a factory is often supplied in bulk. Here, in the case of standardized industrial products, it is possible to recognize a single operation target by comparing it with a three-dimensional model of the product, etc., but since food products are generally amorphous, there is no standard for comparison. Difficult to configure.
従来、不定形な食品の一例である唐揚げを検出する手法が提案されている(例えば、非特許文献1)。本技術では、VCCS(Voxel Cloud Connectivity Segmentation)とグ
ラフカットを用いて、ばら積みされた唐揚げから一個体の領域のセグメンテーションを行っている。
Conventionally, a method for detecting fried chicken, which is an example of an irregularly shaped food, has been proposed (for example, Non-Patent Document 1). This technology uses VCCS (Voxel Cloud Connectivity Segmentation) and graph cuts to segment the area of a single individual from a bulk pile of fried chicken.
例えばVCCS及びグラフカットを用いる手法は、検出対象である唐揚げの表面積や閾値など、多くのパラメータを必要とする。ここで、例えば工場で利用する場合は、パラメータが多いと異なる環境に対応できないおそれがある。 For example, the method using VCCS and graph cuts requires many parameters such as the surface area of fried chicken to be detected and a threshold value. Here, for example, when used in a factory, if there are many parameters, there is a risk that it will not be able to cope with different environments.
本発明は、ばら積みされた対象物から一個体を検出する手法に関して汎用性を向上させ
ることを目的とする。
An object of the present invention is to improve the versatility of a method for detecting an individual from a pile of objects.
画像処理装置は、ばら積みされた複数の対象物までの距離に基づいて生成される点を複数含む点群データを出力する距離画像生成装置から点群データを取得する点群情報取得部と、点群データをモデル化して生成されるノード群に対してクラスタリングを行い、1つの対象物が存在する領域を特定する対象検出部とを有する。 The image processing device includes a point cloud information acquisition unit that acquires point cloud data from a distance image generation device that outputs point cloud data including a plurality of points generated based on distances to a plurality of objects stacked in bulk; The object detection unit performs clustering on a node group generated by modeling the group data, and specifies a region where one object exists.
クラスタリングを用いる手法によれば、不定型なワークであっても1つの対象物が存在する領域を識別することができる。また、例えばグラフカットを用いるような手法と比べ、ワークの種別に応じた多くのパラメータを必要とせず、汎用性を向上させることができる。 According to a method using clustering, it is possible to identify a region where one object exists even in an irregularly shaped work. Furthermore, compared to a method using graph cuts, for example, this method does not require many parameters depending on the type of work, and can improve versatility.
また、クラスタリングは、ノード間の距離に基づいて所定の評価関数であるモジュラリティを最大化するようにノードを分類するコミュニティ検出手法を用いて実行されるものであってもよい。具体的には、いわゆるネットワークにおけるコミュニティ検出手法により、クラスタリングできる。 Further, clustering may be performed using a community detection method that classifies nodes so as to maximize modularity, which is a predetermined evaluation function, based on distances between nodes. Specifically, clustering can be performed using a so-called community detection method in a network.
また、クラスタリングは、Louvain法により行われるものであってもよい。このようにすれば、局所的な最適化と集約を繰り返すことで処理に要する時間を短縮することができる。 Further, the clustering may be performed using the Louvain method. In this way, the time required for processing can be shortened by repeating local optimization and aggregation.
また、他の側面に係るビンピッキングシステムは、上述した画像処理装置と、距離画像生成装置と、対象検出部が特定した領域に存在する対象物を移動させるマニピュレータとを備える。 Further, a bin picking system according to another aspect includes the above-described image processing device, a distance image generation device, and a manipulator that moves a target object present in the area specified by the target detection unit.
このようにすれば、ばら積みされた不定型なワークを識別し、マニピュレータで移動させるシステムを実現することができる。 In this way, it is possible to realize a system that identifies irregularly shaped workpieces stacked in bulk and moves them using a manipulator.
また、1つの対象物は、マニピュレータを基準として他の対象物に隠れていない、ばら積みされた複数の対象物の表層に位置する対象物であってもよい。このようにすれば、ばら積みされた山をできるだけ崩さずに移動させることができる1つの対象物を特定することができる。 Furthermore, one object may be an object located on the surface of a plurality of objects stacked in bulk and not hidden behind other objects with the manipulator as a reference. In this way, it is possible to specify one object that can be moved without causing the pile of bulk materials to collapse as much as possible.
なお、課題を解決するための手段に記載の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。また、課題を解決するための手段の内容は、コンピュータ等の装置若しくは複数の装置を含むシステム、コンピュータが実行する方法、又はコンピュータに実行させるプログラムとして提供することができる。なお、プログラムを保持する記録媒体を提供するようにしてもよい。 Note that the contents described in the means for solving the problems can be combined as much as possible without departing from the problems and technical idea of the present invention. Further, the content of the means for solving the problem can be provided as a device such as a computer, a system including a plurality of devices, a method executed by a computer, or a program executed by a computer. Note that a recording medium holding the program may be provided.
ばら積みされた対象物から一個体を検出する手法に関して汎用性を向上させることができる。 It is possible to improve the versatility of the method of detecting an individual from a pile of objects.
以下、図面を参照して本発明を実施するための形態について説明する。 Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.
<装置構成>
図1は、本実施形態に係るビンピッキングシステムの一例を示す模式的な側面図である。図1のビンピッキングシステム1は、RGB-Dカメラ2と、マニピュレータ3と、制御装置4とを含む。また、ビンピッキングシステム1は、唐揚げ等のような不定形のワーク5がばら積みされて形成された山から1つのワーク5を取り出し、例えば弁当箱のような容器(図示せず)に移動させて盛りつける。
<Device configuration>
FIG. 1 is a schematic side view showing an example of a bin picking system according to this embodiment. The
RGB-Dカメラ2は、CMOS等を用いた固体撮像素子と、赤外線プロジェクタ及びセンサ等を用いた深度センサとを備える距離画像生成装置であり、カラー(RGB)画像と点群データ(ポイントクラウド)とを出力する。カラー画像は、画像内の位置に対して色を示す情報を有するピクセルを複数含むラスタデータである。点群データは、カメラから撮像対象の表面までの距離(奥行)と撮像対象の色を示す情報を有する点を複数含む。
The RGB-
マニピュレータ3は、複数軸の自由度を持ったロボットアームである。マニピュレータ3は、制御装置4から受ける信号によって制御される。また、マニピュレータ3は、アームの先端にグリッパ(2指グリッパ)31を備えており、対象物を把持して移動させることができる。また、マニピュレータ3は、対象物を把持しているか否か検知するセンサをさらに備えるものであってもよい。
The
制御装置4は、RGB-Dカメラ2から取得する情報に基づいてマニピュレータ3の動作を制御するコンピュータである。制御装置4は、一般的なPC(Personal Computer)
やサーバ装置であってもよいし、RGB-Dカメラ2及びマニピュレータ3とのインターフェースを備えるマイクロコントローラであってもよい。また、制御装置4は、図示していないネットワークを介してRGB-Dカメラ2やマニピュレータ3と通信可能に接続される構成であってもよい。
The
It may be a server device, or it may be a microcontroller having an interface with the RGB-
<機能構成>
図2は、ビンピッキングシステムの構成の一例を示す機能ブロック図である。制御装置4はコンピュータであり、入出力I/F(Interface)41と、記憶装置42と、プロセ
ッサ43と、バス又は信号線44とを備えている。
<Functional configuration>
FIG. 2 is a functional block diagram showing an example of the configuration of the bin picking system. The
入出力I/F41は、所定の規格に従って通信可能にRGB-Dカメラ2と接続するためのインターフェース、及び所定の規格に従って通信可能にマニピュレータ3と接続するためのインターフェースを含む。
The input/output I/
記憶装置42は、RAM(Random Access Memory)やROM(Read Only Memory)等の主記憶装置及びHDD(Hard-disk Drive)やSSD(Solid State Drive)、フラッシュメモリ等の補助記憶装置(二次記憶装置)である。主記憶装置は、プロセッサが読み出したプログラムや他の装置との間で送受信される画像データ等を一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラム等を記憶する。
The
プロセッサ43は、CPU(Central Processing Unit)等の演算処理装置であり、プ
ログラムを実行することにより本実施の形態に係る各処理を行う。図2の例では、プロセッサ43内に機能ブロックを示している。プロセッサ43は、点群情報取得部431と、グラフ生成部432と、対象検出部433と、ロボット制御部434とを含む。なお、点群情報取得部431、グラフ生成部432、及び対象検出部433により、制御装置4は、RGB-Dカメラ2が取得する点群データを処理する画像処理装置として機能する。
The
点群情報取得部431は、入出力I/F41を介してRGB-Dカメラ2が出力する点群データを取得し、記憶装置42に格納する。
The point cloud
グラフ生成部432は、点群データの色や距離、明暗等に基づき、ボクセル(Voxel)によって三次元空間上のノードを生成する。また、グラフ生成部432は、所定のノード・エッジ探索手法を用いて、例えばノード間の距離が所定の範囲にある場合にエッジで接続する。
The
対象検出部433は、各ノードに対しクラスタリングを行う。クラスタリングは、例えばLouvain法を用いて行うことができる。すなわち、対象検出部は、隣接するノード間でモジュラリティ(Modularity)の差分が最も大きくなるノード対を選択し、モジュラリティが変化しなくなるまで、選択されたノード対を同一のクラスタに統合して1つのノードに集約する処理を繰り返す。また、対象検出部433は、複数のクラスタのうちマニピュレータ3を基準として他の対象物に隠れていない、ばら積みされた頂上に位置するクラスタを、操作対象のワークとして特定する。
The
ロボット制御部434は、例えば、特定されたクラスタを構成する点群の重心を求め、マニピュレータ3のグリッパ31が把持する目標の位置を決定するとともに、点群が収まるようにグリッパ31を開く大きさを決定する。また、ロボット制御部434は、入出力I/F41を介して、マニピュレータ3に対し、対象のワークを把持して所定の場所へ移動させるよう操作するための信号を出力する。
For example, the
以上のような構成要素が、バス又は信号線44を介して接続されている。
The above components are connected via a bus or
<ピッキング処理>
図3は、本実施形態に係るピッキング処理方法の一例を示す処理フロー図である。なお、後述するS1~S4は、RGB-Dカメラ2が取得する点群データを処理する画像処理方法といえる。
<Picking process>
FIG. 3 is a processing flow diagram showing an example of the picking processing method according to the present embodiment. Note that S1 to S4, which will be described later, can be said to be an image processing method for processing point cloud data acquired by the RGB-
点群情報取得部431は、入出力I/F41を介して、RGB-Dカメラ2が生成する点群データを継続的に取得する(図3:S1)。本ステップでは、複数のワーク5やこれらが載置されるバット等の容器を含む撮像対象の点群データが取得される。
The point cloud
グラフ生成部432は、S1で取得した点群データを用いて、三次元空間上に配置されるノードとノード間を接続するエッジを含むグラフを生成する(S2)。本ステップでは、グラフ生成部432は、例えば、点群データから十分な空間分解能でランダムに(偏りなく)複数の点を選択し、対応するボクセルを生成する。また、所定範囲内に他のボクセルが存在しないボクセルや、色(色相、彩度、明度)が基準から大きく外れるボクセルは、削除する。このようにして、ノイズを除去すると共に、撮像対象をモデル化したノード群を生成し、処理対象のデータ量を軽減することができる。
The
図4は、生成されたノード群(ボクセル)の一例を示す図である。図4の例では、模式
的にボクセルの各々を正方形で表している。また、図4は撮像対象の上方に位置するRGB-Dカメラ2から見た平面図であり、各ボクセルは奥行き(高さ)の値を持っているものとする。
FIG. 4 is a diagram showing an example of a generated node group (voxel). In the example of FIG. 4, each voxel is schematically represented by a square. Further, FIG. 4 is a plan view as seen from the RGB-
また、グラフ生成部432は、例えばKD-木のような、所定のノード・エッジ探索手法を利用し、ノード間にエッジを設定する。例えば、ノード間の距離が所定の範囲内である場合に、エッジが設定される。なお、探索手法は特に限定されない。
Further, the
図5は、エッジが設定されたノード群の一例を示す図である。図5も、撮像対象を上から見た平面図である。また、図5の例では、図4に示したノード群に対し、距離が所定の範囲内であるノード同士を結ぶ実線のエッジが追加されている。 FIG. 5 is a diagram showing an example of a node group to which edges are set. FIG. 5 is also a plan view of the imaging target viewed from above. Further, in the example of FIG. 5, solid line edges connecting nodes whose distances are within a predetermined range are added to the node group shown in FIG. 4.
その後、対象検出部433は、ノードのクラスタリングを行う(図3:S3)。クラスタリング手法は特に限定されないが、いわゆるネットワークにおけるコミュニティ検出を利用することができる。例えばNewman法やLouvain法のような、モジュラリティの差分が大きくなる位置に境界を定め、クラスタ(コミュニティ)内でのモジュラリティが高くなるようにノードをクラスタリングするようにしてもよい。すなわち、所定の評価式であるモジュラリティに基づいて、ノード間の結合が密であると判定される場合は2つのノードを同一のクラスタに分類し、結合が疎であると判定される場合は2つのノードを異なるクラスタに分類することができる。
After that, the
一般的に、モジュラリティQは、以下の式(1)によって算出することができる。
なお、mはグラフ内のすべてのエッジの重みの総和である。Aijは、ノードiとノードjとの間のエッジの重みである。重みは、例えばノード間の距離が近いほど高くなるように設定する。ki、kjは、それぞれのノードi、ノードjの次数である。δはクロネッカーのデルタであり、δ(ci,cj)は、ノードiが属するクラスタci及びノードjが属するクラスタcjが同一である場合は1であり、同一でない場合は0である。
Generally, the modularity Q can be calculated using the following equation (1).
Note that m is the sum of weights of all edges in the graph. A ij is the weight of the edge between node i and node j. For example, the weight is set such that the closer the distance between nodes, the higher the weight. k i and k j are the degrees of node i and node j, respectively. δ is Kronecker's delta, and δ(c i , c j ) is 1 if the cluster c i to which node i belongs and the cluster c j to which node j belongs are the same, and 0 otherwise. .
具体的には、対象検出部433は、モジュラリティが増大するように複数のノードをクラスタとして統合すると共に、モジュラリティが増大しなくなるまで統合を繰り返す貪欲法により、ノード群をクラスタリングする。すなわち、S3において、対象検出部433は、各ノードについて、隣接するノード間を結合した場合にモジュラリティの差分(増分)が最も大きくなるノードを特定し、統合する。モジュラリティの差分ΔQは、以下の式(2)によって算出することができる。
なお、mは、グラフ内のすべてのエッジの重みの総和である。Σinは、クラスタ内のエッジの重みの総和である。重みは、例えばノード間の距離が近いほど高くなるように設定する。Σtotは、クラスタ内のノードに入るエッジの重みの総和である。kiは、ノー
ドiの次数である。ki,inは、ノードiからクラスタ内のノードまでのエッジの重みの総和である。なお、重みは、ノード間の距離のほか、RGB-Dカメラ2が出力する色の類似する度合い等を用いて設定するようにしてもよい。
Specifically, the
Note that m is the sum of weights of all edges in the graph. Σ in is the sum of the weights of the edges within the cluster. For example, the weight is set such that the closer the distance between nodes, the higher the weight. Σ tot is the sum of the weights of the edges that fall into the nodes in the cluster. k i is the degree of node i. k i,in is the sum of edge weights from node i to nodes in the cluster. Note that the weight may be set using the degree of similarity of colors output by the RGB-
モジュラリティの差分ΔQは、クラスタにノードを追加する際、又はクラスタからノードを削除する際のモジュラリティの変化を評価するために利用することができる。したがって、一旦いずれかのクラスタに統合したノードを、他のノードに付け替えた場合のモジュラリティの変化も容易に算出することができる。また、対象検出部433は、ノードの統合及び付け替えによってモジュラリティが変化(増大)しなくなったと判断した場合に、S3のクラスタリング処理を終了する。
Modularity difference ΔQ can be used to evaluate changes in modularity when adding a node to a cluster or deleting a node from a cluster. Therefore, it is also possible to easily calculate changes in modularity when a node once integrated into any cluster is replaced with another node. Further, when the
例えばLouvain法のように局所的な最適化と集約を繰り返すことで、処理に要する時間を短縮することができる。 For example, by repeating local optimization and aggregation like the Louvain method, the time required for processing can be shortened.
図6は、クラスタに分類されたノード群の一例を示す図である。図6も、撮像対象を上から見た平面図である。また、図6の例では、同一のクラスタに属するノードに、同一のハッチングを付している。 FIG. 6 is a diagram showing an example of a group of nodes classified into clusters. FIG. 6 is also a plan view of the imaging target viewed from above. Furthermore, in the example of FIG. 6, nodes belonging to the same cluster are marked with the same hatching.
また、対象検出部433は、複数のクラスタから、操作対象のクラスタを決定する(図3:S4)。本ステップでは、対象検出部433は、ばら積みして形成された山の表層に位置するワーク5を特定する。具体的には、まず、RGB-Dカメラ2を基準とするカメラ視点座標系で表されるボクセルを、マニピュレータ3に対して予め定められた原点を基準とするロボット視点座標系に変換する。そして、ロボット視点座標系において、マニピュレータ3から見てワーク5を構成するボクセルが、他のワーク5を構成するボクセルに隠れていないものを操作対象とする。したがって、例えば山の頂上など、山の表層に存在するワークが操作対象として選択される。
Further, the
図7は、操作対象のノード群の一例を示す図である。図7も、操作対象を上から見た平面図である。また、図7の例では、操作対象のノード群として、中央付近に存在すると判断されたワークに属するノード及びエッジを太い実線で示し、その他のワークに属するノード及びエッジを破線で示している。 FIG. 7 is a diagram illustrating an example of a node group to be operated. FIG. 7 is also a plan view of the operation target viewed from above. Further, in the example of FIG. 7, as a group of nodes to be operated, nodes and edges belonging to a workpiece determined to exist near the center are shown by thick solid lines, and nodes and edges belonging to other works are shown by broken lines.
また、ロボット制御部434は、操作対象のワークを操作する(図3:S5)。本ステップでは、ロボット制御部434は、入出力I/F41を介してマニピュレータ3を操作し、操作対象のワークを把持して所定の場所へ移動させる。具体的には、ロボット制御部434は、まず、想定されるワーク5の重心とグリッパ31を開くべき大きさを決定する。すなわち、操作対象として特定されたワーク5を構成するノード群を用いて重心の位置を算出する。なお、RGB-Dカメラ2が出力する撮像対象の点群データは、撮像対象の表面までの距離に基づいて生成されるため、ワーク5の裏側の形状を例えば対称であると推定して重心を求めるようにしてもよい。そして、ロボット制御部434は、重心を目標としてグリッパ31を移動させる。このとき、ロボット制御部434は、ノード群をすべて挟めるようにグリッパ31を開く大きさを制御する。なお、操作対象のワーク5に属するノード群が内接する直方体や楕円体、球等の三次元立体を求め、当該三次元立体を掴むようにロボット制御部434がマニピュレータ3を動作させるようにしてもよい。
Further, the
図8は、操作対象のワーク5に属するノード群と、これらが内接する三次元立体及び重心の一例を示す斜視図である。図8の正方形はノードである。破線の直方体は、ノード群が内接する立体の一例である。また、黒い円はノード群又は立体の重心である。2つの矢印は、例えば二指グリッパであるグリッパ31がワーク5を把持する方向を示す。
FIG. 8 is a perspective view showing an example of a group of nodes belonging to the
ロボット制御部434は、グリッパ31を動作させるモータの電流値と把持のための指の角度が指定範囲になれば掴めたと判断でき、指の角度及び電流値のいずれかが指定範囲にない場合は失敗したと判断できる。また、ロボット制御部434は、把持したワーク5を、例えば弁当箱のような容器に移動させて盛りつけるよう、マニピュレータ3を動作させる。
The
<効果>
ばら積みされた複数のワーク全体に基づいて生成された点群データに対して、クラスタリングを行うことにより一個体のワークを識別することができる。なお、クラスタリングは、ネットワークにおけるコミュニティ検出手法を利用することができ、ノード間の距離に基づいてモジュラリティ算出してもよい。このようにすれば、例えばグラフカットを用いるような手法と比べ、ワークの種別に応じた多くのパラメータを必要とせず、汎用性を向上させることができる。
<Effect>
By performing clustering on point cloud data generated based on a plurality of bulk works, it is possible to identify an individual work. Note that for clustering, a community detection method in a network can be used, and modularity may be calculated based on the distance between nodes. In this way, compared to a method using a graph cut, for example, many parameters depending on the type of work are not required, and versatility can be improved.
<変形例>
制御装置4は、インターネット等の通信網であるネットワークを介して、RGB-Dカメラ2及びマニピュレータ3と通信可能に接続される構成であってもよい。すなわち、RGB-Dカメラ2から取得した情報をクラウド上で処理する。また、マニピュレータ3は、いわゆるシンクライアントのように、ネットワークを介して送信される処理結果を出力する装置として機能する。このようにすれば、生産ラインに制御装置を設置する必要がなくなり、複数の生産ラインをそれぞれメンテナンスする手間も軽減される。
<Modified example>
The
また、RGB-Dカメラ2が設置される場所は、ワーク5の直上には限られない。例えば、RGB-Dカメラ2は、マニピュレータ3を有するロボットと一体に設けられるものであってもよい。例えば人型のロボットの顔に相当する位置にRGB-Dカメラ2を設けるようにしてもよい。このような態様であれば、ワーク5を斜め上方から撮像する場合であっても、マニピュレータを基準として他の対象物に隠れていない位置に存在する一個体のワーク5を特定することができる。また、人間に混ざって生産ラインに導入し易い形状のロボットを実現できる。
Furthermore, the location where the RGB-
また、距離画像に含まれる点群データだけでなく、さらに触覚等のセンシングデータを取得してクラスタリングに利用してもよい。このようにすれば、マルチモーダルインターフェースを備えるロボットを実現することができる。 Furthermore, in addition to the point cloud data included in the distance image, sensing data such as tactile data may be acquired and used for clustering. In this way, a robot equipped with a multimodal interface can be realized.
<クラスタリングの変形例>
また、クラスタリングの手法は、Louvain法のようなハードクラスタリングには限定されない。ハードクラスタリングは、1つのノードに対して1つのクラスタを割り当てる手法である。例えば、1つのノードに対して複数のクラスタを割り当て得る手法であるソフトクラスタリングを用いるようにしてもよい。ソフトクラスタリングの例として、OCG(Overlapping Cluster Generator)やLink Communityが挙げられる。
<Variation of clustering>
Furthermore, the clustering method is not limited to hard clustering such as the Louvain method. Hard clustering is a method of assigning one cluster to one node. For example, soft clustering, which is a method of allocating multiple clusters to one node, may be used. Examples of soft clustering include OCG (Overlapping Cluster Generator) and Link Community.
図9は、ソフトクラスタリングにより分類されるノード群の一例を示す模式的な図である。図9は、山の頂上付近に複数のワークが存在する例を示している。また、各ノード内にハッチングで分類されたクラスタを示している。すなわち、複数のノードは、図中の上下左右に存在する4つのクラスタに分類されている。また、中央の1つのノードには4つのクラスタが割り当てられている。なお、ソフトクラスタリングにおいては、中央のノードは3以下のクラスタにも分類され得るものであり、また、中央の5つのノードが第5のクラスタにも分類され得る。 FIG. 9 is a schematic diagram showing an example of a node group classified by soft clustering. FIG. 9 shows an example where a plurality of works exist near the top of a mountain. Furthermore, clusters classified by hatching are shown within each node. That is, the plurality of nodes are classified into four clusters located on the top, bottom, left and right of the figure. Furthermore, four clusters are assigned to one central node. Note that in soft clustering, the central node can be classified into three or less clusters, and the five central nodes can also be classified into a fifth cluster.
ソフトクラスタリングは、例えば最も高い位置にあるノードを選択し、(1)選択され
ているノードが属するクラスタを抽出する処理、及び(2)抽出されたクラスタに属するノードを選択する処理を繰り返して行う。また、予め定められた規則に基づいて隣接するクラスタとの境界を検出する。境界付近のノードには2以上のクラスタを割り当てるようにしてもよい。また、点群データから求められる法線の向き等、幾何的な情報に基づいてクラスタ間の境界を検出してもよい。
Soft clustering, for example, selects the node at the highest position and repeats (1) the process of extracting the cluster to which the selected node belongs, and (2) the process of selecting the nodes that belong to the extracted cluster. . Furthermore, boundaries between adjacent clusters are detected based on predetermined rules. Two or more clusters may be assigned to nodes near the boundary. Alternatively, boundaries between clusters may be detected based on geometric information such as the direction of normal lines determined from point cloud data.
ソフトクラスタリングを利用することで、山の頂上付近に複数のワークが存在する場合など、様々な構造のグラフからコミュニティ検出を行う際の精度を向上させることができる。 By using soft clustering, it is possible to improve the accuracy when performing community detection from graphs with various structures, such as when multiple works exist near the top of a mountain.
<その他>
なお、上述した構成は一例であり、本発明は例示した構成に限定されない。上述した事項は、本発明の課題や技術的思想を逸脱しない範囲で適宜組み合わせて実施することができる。
<Others>
Note that the configuration described above is an example, and the present invention is not limited to the illustrated configuration. The above-mentioned matters can be implemented in appropriate combinations without departing from the problems and technical idea of the present invention.
また、本発明は上述の処理を実行するコンピュータプログラムを含む。さらに、当該プログラムを記録した、コンピュータ読み取り可能な記録媒体も、本発明の範疇に属する。当該プログラムが記録された記録媒体については、コンピュータに、この記録媒体のプログラムを読み込ませて実行させることにより、上述の処理が可能となる。 The present invention also includes a computer program that executes the above-described process. Furthermore, a computer-readable recording medium on which the program is recorded also belongs to the scope of the present invention. Regarding the recording medium on which the program is recorded, the above-mentioned processing becomes possible by causing a computer to read and execute the program on the recording medium.
ここで、コンピュータ読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータから取り外し可能なものとしては、フレキシブルディスク、光磁気ディスク、光ディスク、磁気テープ、メモリカード等がある。また、コンピュータに固定された記録媒体としては、ハードディスクドライブやROM等がある。 Here, the computer-readable recording medium refers to a recording medium that stores information such as data and programs by electrical, magnetic, optical, mechanical, or chemical action and can be read by a computer. Among such recording media, those that can be removed from the computer include flexible disks, magneto-optical disks, optical disks, magnetic tapes, and memory cards. Furthermore, examples of recording media fixed to the computer include a hard disk drive, ROM, and the like.
1 :ビンピッキングシステム
2 :RGB-Dカメラ
3 :マニピュレータ
31 :グリッパ
4 :制御装置
41 :入出力I/F
42 :記憶装置
43 :プロセッサ
431 :点群情報取得部
432 :グラフ生成部
433 :対象検出部
434 :ロボット制御部
44 :信号線
5 :ワーク
1: Bin picking system 2: RGB-D camera 3: Manipulator 31: Gripper 4: Control device 41: Input/output I/F
42: Storage device 43: Processor 431: Point cloud information acquisition section 432: Graph generation section 433: Object detection section 434: Robot control section 44: Signal line 5: Work
Claims (13)
前記点群データをモデル化して生成されるノード群に対してクラスタリングを行い、1つの対象物が存在する領域を特定する対象検出部と、
を有し、
前記クラスタリングは、距離が所定の範囲内であるノード間をエッジで接続し、ノード間の距離に応じたエッジの重みを用いて所定の評価関数であるモジュラリティを算出し、当該モジュラリティを最大化するようにノードを分類するコミュニティ検出手法を用いて実行される
画像処理装置。 a point cloud information acquisition unit that acquires the point cloud data from a distance image generation device that outputs point cloud data including a plurality of points generated based on distances to a plurality of objects stacked in bulk;
an object detection unit that performs clustering on a node group generated by modeling the point cloud data to identify a region where one object exists;
has
The clustering involves connecting nodes whose distances are within a predetermined range with edges, calculating modularity, which is a predetermined evaluation function, using edge weights according to the distance between nodes, and maximizing the modularity. is performed using a community detection technique that classifies nodes as
Image processing device.
請求項1に記載の画像処理装置。 The image processing device according to claim 1, wherein the clustering is performed using a community detection method using hard clustering .
前記距離画像生成装置と、
前記対象検出部が特定した領域に存在する対象物を移動させるマニピュレータと、
を備える
ビンピッキングシステム。 An image processing device according to claim 1 or 2 ;
The distance image generation device;
a manipulator that moves an object existing in the area specified by the object detection section;
Equipped with a bin picking system.
請求項3に記載のビンピッキングシステム。 The bin picking system according to claim 3 , wherein the one object is an object located on the surface of the plurality of objects stacked in bulk and not hidden by other objects with respect to the manipulator.
を出力する距離画像生成装置と接続されるコンピュータが実行する画像処理方法であって、
前記距離画像生成装置から前記点群データを取得し、
前記点群データをモデル化して生成されるノード群に対してクラスタリングを行い、1つの対象物が存在する領域を特定し、
前記クラスタリングは、距離が所定の範囲内であるノード間をエッジで接続し、ノード間の距離に応じたエッジの重みを用いて所定の評価関数であるモジュラリティを算出し、当該モジュラリティを最大化するようにノードを分類するコミュニティ検出手法を用いて実行される
画像処理方法。 An image processing method executed by a computer connected to a distance image generation device that outputs point cloud data including a plurality of points generated based on distances to a plurality of objects stacked in bulk, the method comprising:
acquiring the point cloud data from the distance image generation device;
Clustering is performed on a group of nodes generated by modeling the point cloud data to identify an area where one object exists ,
The clustering involves connecting nodes whose distances are within a predetermined range with edges, calculating modularity, which is a predetermined evaluation function, using edge weights according to the distance between nodes, and maximizing the modularity. is performed using a community detection technique that classifies nodes as
Image processing method.
前記距離画像生成装置から前記点群データを取得し、
前記点群データをモデル化して生成されるノード群に対してクラスタリングを行い、1つの対象物が存在する領域を特定する
処理を実行させ、
前記クラスタリングは、距離が所定の範囲内であるノード間をエッジで接続し、ノード間の距離に応じたエッジの重みを用いて所定の評価関数であるモジュラリティを算出し、当該モジュラリティを最大化するようにノードを分類するコミュニティ検出手法を用いて実行される
画像処理プログラム。 A computer connected to a distance image generation device that outputs point cloud data including a plurality of points generated based on distances to a plurality of objects stacked in bulk,
acquiring the point cloud data from the distance image generation device;
perform clustering on a group of nodes generated by modeling the point cloud data, and perform processing to identify an area where one object exists ;
The clustering involves connecting nodes whose distances are within a predetermined range with edges, calculating modularity, which is a predetermined evaluation function, using edge weights according to the distance between nodes, and maximizing the modularity. is performed using a community detection technique that classifies nodes as
Image processing program.
対象物を移動させるマニピュレータと、
前記マニピュレータを制御する制御装置であって、
前記距離画像生成装置から前記点群データを取得する点群情報取得部と、
前記点群データをモデル化して生成されるノード群に対してクラスタリングを行い、1つの対象物が存在する領域を特定する対象検出部と、
前記対象検出部が特定した前記1つの対象物が存在する領域に含まれるノード群について、前記距離画像生成装置とは反対側の形状が対称であると推定して重心を求め、当該重心に応じて前記マニピュレータを制御する制御部と、
を有する制御装置と、
を備えるビンピッキングシステム。 a distance image generation device that outputs point cloud data including a plurality of points generated based on distances to a plurality of objects stacked in bulk ;
a manipulator that moves the object;
A control device that controls the manipulator,
a point cloud information acquisition unit that acquires the point cloud data from the distance image generation device ;
an object detection unit that performs clustering on a node group generated by modeling the point cloud data to identify a region where one object exists;
For a group of nodes included in the area where the one target object identified by the target detection unit exists, the center of gravity is determined by estimating that the shape on the opposite side to the distance image generation device is symmetrical, and the center of gravity is calculated according to the center of gravity. a control unit that controls the manipulator;
a control device having ;
A bin picking system equipped with
請求項7に記載のビンピッキングシステム。 The bin picking system according to claim 7 , wherein the clustering is performed using a community detection method using hard clustering or soft clustering.
請求項7又は8に記載のビンピッキングシステム。 The bin picking system according to claim 7 or 8, wherein the clustering is performed using a community detection method that classifies nodes so as to maximize modularity, which is a predetermined evaluation function, based on distances between nodes.
請求項7又は8に記載のビンピッキングシステム。 The bin picking system according to claim 7 or 8 , wherein the clustering is performed using an OCG (Overlapping Cluster Generator) or a Link Community.
請求項8から10の何れか一項に記載のビンピッキングシステム。 The one object is an object located on the surface of the plurality of objects stacked in bulk and not hidden by other objects with the manipulator as a reference. bin picking system.
前記距離画像生成装置から前記点群データを取得することと、 acquiring the point cloud data from the distance image generation device;
前記点群データをモデル化して生成されるノード群に対してクラスタリングを行い、1つの対象物が存在する領域を特定することと、 Performing clustering on a node group generated by modeling the point cloud data to identify an area where one target object exists;
特定された前記1つの対象物が存在する領域に含まれるノード群について、前記距離画像生成装置とは反対側の形状が対称であると推定して重心を求め、当該重心に応じて前記マニピュレータを制御することと、 For a group of nodes included in the area where the identified one target object exists, the center of gravity is determined by estimating that the shape on the opposite side to the distance image generation device is symmetrical, and the manipulator is operated according to the center of gravity. to control and
を含む制御方法。 control methods including.
前記距離画像生成装置から前記点群データを取得することと、 acquiring the point cloud data from the distance image generation device;
前記点群データをモデル化して生成されるノード群に対してクラスタリングを行い、1つの対象物が存在する領域を特定することと、 Performing clustering on a node group generated by modeling the point cloud data to identify an area where one target object exists;
特定された前記1つの対象物が存在する領域に含まれるノード群について、前記距離画像生成装置とは反対側の形状が対称であると推定して重心を求め、当該重心に応じて前記マニピュレータを制御することと、 For a group of nodes included in the area where the identified one target object exists, the center of gravity is determined by estimating that the shape on the opposite side to the distance image generation device is symmetrical, and the manipulator is operated according to the center of gravity. to control and
を実行させるための制御プログラム。 A control program to run.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018038650 | 2018-03-05 | ||
| JP2018038650 | 2018-03-05 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2019153309A JP2019153309A (en) | 2019-09-12 |
| JP7373700B2 true JP7373700B2 (en) | 2023-11-06 |
Family
ID=67946672
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2019039831A Active JP7373700B2 (en) | 2018-03-05 | 2019-03-05 | Image processing device, bin picking system, image processing method, image processing program, control method and control program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7373700B2 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12555268B2 (en) | 2020-12-25 | 2026-02-17 | Nec Corporation | Object recognition device, object recognition method, non-transitory computer-readable medium, and object recognition system |
| JP7779277B2 (en) * | 2023-01-25 | 2025-12-03 | Jfeスチール株式会社 | Picking method and picking device |
| CN116484307B (en) * | 2023-06-21 | 2023-09-19 | 深圳市魔样科技有限公司 | Cloud computing-based intelligent ring remote control method |
| KR102833561B1 (en) * | 2024-09-27 | 2025-07-15 | 한국생산기술연구원 | Technique for detecting and removing alien substance on moving conveyor |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015108621A (en) | 2013-12-04 | 2015-06-11 | 三菱電機株式会社 | Method for extracting a plane from 3D point cloud sensor data |
| JP2016224915A (en) | 2015-06-03 | 2016-12-28 | 富士通株式会社 | Data clustering method, information processing apparatus, and data clustering program |
| JP2017204161A (en) | 2016-05-12 | 2017-11-16 | 日本電信電話株式会社 | Clustering device, clustering method, and clustering program |
| JP2017202549A (en) | 2016-05-11 | 2017-11-16 | セイコーエプソン株式会社 | Robot control device, robot, and robot system |
-
2019
- 2019-03-05 JP JP2019039831A patent/JP7373700B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015108621A (en) | 2013-12-04 | 2015-06-11 | 三菱電機株式会社 | Method for extracting a plane from 3D point cloud sensor data |
| JP2016224915A (en) | 2015-06-03 | 2016-12-28 | 富士通株式会社 | Data clustering method, information processing apparatus, and data clustering program |
| JP2017202549A (en) | 2016-05-11 | 2017-11-16 | セイコーエプソン株式会社 | Robot control device, robot, and robot system |
| JP2017204161A (en) | 2016-05-12 | 2017-11-16 | 日本電信電話株式会社 | Clustering device, clustering method, and clustering program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2019153309A (en) | 2019-09-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN106156778B (en) | Method for identifying known objects in the field of view of a machine vision system | |
| US11794343B2 (en) | System and method for height-map-based grasp execution | |
| JP7433609B2 (en) | Method and computational system for object identification | |
| CN113496525B (en) | 3D pose estimation using a 2D camera | |
| JP7373700B2 (en) | Image processing device, bin picking system, image processing method, image processing program, control method and control program | |
| CN112836734A (en) | Heterogeneous data fusion method and device, and storage medium | |
| CN115082498B (en) | A robot grasping posture estimation method, device, equipment and storage medium | |
| JP7456521B2 (en) | Object recognition device, object recognition method, program | |
| US11554496B2 (en) | Feature detection by deep learning and vector field estimation | |
| CN109508707B (en) | Monocular vision-based grabbing point acquisition method for stably grabbing object by robot | |
| WO2025015867A1 (en) | Object grabbing method and apparatus, robot, readable storage medium, and chip | |
| CN112288809B (en) | Robot grabbing detection method for multi-object complex scene | |
| CN113345100B (en) | Prediction method, apparatus, device, and medium for target grasp posture of object | |
| CN117355836A (en) | Method for generating training data for machine learning model | |
| CN116206170A (en) | Training a robot to destack using synthetic data sets | |
| Zhang et al. | Dex-net ar: Distributed deep grasp planning using a commodity cellphone and augmented reality app | |
| Li et al. | Pose estimation of metal workpieces based on RPM-Net for robot grasping from point cloud | |
| CN110060346B (en) | Determine the set of facets that represent the skin of the real object | |
| US20240253232A1 (en) | Method for Ascertaining Control Data for a Gripping Device for Gripping an Object | |
| CN116484585A (en) | Simulation generation method and computer-readable storage medium of defect sample data set | |
| Favorskaya et al. | Image inpainting based on self-organizing maps by using multi-agent implementation | |
| CN113409392A (en) | 6DoF pose estimation method of reflective workpiece | |
| Bergström et al. | Integration of visual cues for robotic grasping | |
| US20230100238A1 (en) | Methods and systems for determining the 3d-locations, the local reference frames and the grasping patterns of grasping points of an object | |
| US12469265B2 (en) | Method for neural network adaptation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20190307 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220207 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230209 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230221 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20230424 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230622 |
|
| 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: 20230822 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20230914 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230914 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20230914 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7373700 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |