JP2021003782A - Object recognition processing device, object recognition processing method and picking apparatus - Google Patents
Object recognition processing device, object recognition processing method and picking apparatus Download PDFInfo
- Publication number
- JP2021003782A JP2021003782A JP2019119686A JP2019119686A JP2021003782A JP 2021003782 A JP2021003782 A JP 2021003782A JP 2019119686 A JP2019119686 A JP 2019119686A JP 2019119686 A JP2019119686 A JP 2019119686A JP 2021003782 A JP2021003782 A JP 2021003782A
- Authority
- JP
- Japan
- Prior art keywords
- recognition
- image
- unit
- posture
- recognition accuracy
- 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
Images
Abstract
Description
本発明は、物体認識処理装置、物体認識処理方法およびピッキング装置に関するものである。 The present invention relates to an object recognition processing device, an object recognition processing method, and a picking device.
特許文献1に記載されているシミュレーション装置は、三次元仮想空間を画面上に表示する表示装置と、操作者によって指定された撮像範囲、使用される撮像カメラの光学的特徴情報および要求される計測精度に基づいて撮像カメラの設置位置を決定するカメラ位置決定部と、三次元仮想空間における撮像カメラの位置およびその光学的特徴情報に基づいて撮像カメラにより取得されるべき仮想的な画像を生成する仮想画像生成部とを備えており、撮像カメラの適正な位置の決定および検出パラメータの調整を容易に行うことができる。
The simulation device described in
しかしながら、このようなシミュレーション装置では、精度過剰な認識処理を行ってしまい、処理速度を向上させることが困難であった。 However, with such a simulation device, recognition processing with excessive accuracy is performed, and it is difficult to improve the processing speed.
本発明の物体認識処理装置は、識別対象の物体情報が記憶されている記憶部と、
複数の前記識別対象を配置させたシミュレーション画像を生成する画像生成部と、
前記画像生成部が生成した前記シミュレーション画像内の前記識別対象に対して前記物体情報と比較することにより画像認識を行い、前記識別対象の姿勢毎に前記画像認識の認識精度を求める認識精度算出部と、
前記認識精度をユーザーに報知し、前記識別対象の姿勢毎に前記ユーザーから前記認識精度を許容するか否かを受け付けるユーザーインターフェース部と、
前記ユーザーインターフェース部が否を受け付けた場合に、否とされた前記識別対象の姿勢毎に識別器を生成する識別器生成部と、を有することを特徴とする。
The object recognition processing device of the present invention includes a storage unit that stores object information to be identified and a storage unit.
An image generation unit that generates a simulation image in which a plurality of identification targets are arranged,
A recognition accuracy calculation unit that performs image recognition by comparing the identification target in the simulation image generated by the image generation unit with the object information, and obtains the recognition accuracy of the image recognition for each posture of the identification target. When,
A user interface unit that notifies the user of the recognition accuracy and accepts whether or not the recognition accuracy is allowed from the user for each posture of the identification target.
It is characterized by having a classifier generation unit that generates a classifier for each posture of the discriminating target that is rejected when the user interface unit accepts the rejection.
以下、本発明の物体認識処理装置、物体認識処理方法およびピッキング装置を添付図面に示す実施形態に基づいて詳細に説明する。 Hereinafter, the object recognition processing device, the object recognition processing method, and the picking device of the present invention will be described in detail based on the embodiments shown in the accompanying drawings.
図1は、本発明の好適な実施形態に係るピッキング装置の全体構成を示す図である。図2は、物体認識処理装置の構成を示すブロック図である。図3は、教示作業の方法を示すフローチャートである。図4は、シミュレーション画像P1の一例を示す図である。図5および図6は、それぞれ、モニターに表示される画面の一例を示す図である。図7は、ピッキング装置のピッキング方法を示すフローチャートである。 FIG. 1 is a diagram showing an overall configuration of a picking device according to a preferred embodiment of the present invention. FIG. 2 is a block diagram showing a configuration of an object recognition processing device. FIG. 3 is a flowchart showing a method of teaching work. FIG. 4 is a diagram showing an example of the simulation image P1. 5 and 6 are diagrams showing an example of a screen displayed on the monitor, respectively. FIG. 7 is a flowchart showing a picking method of the picking device.
図1に示すピッキング装置1は、載置台170に不規則すなわち無造作に配置された複数の識別対象としての物体Xを撮像するカメラ200と、カメラ200の撮像結果に基づいて物体認識処理を行う物体認識処理装置300と、物体認識処理装置300の物体認識処理結果に基づいて、載置台から1つまたは複数の物体Xをピッキングするマニュピレーター151を備えるロボット100と、を有する。
The
まず、ロボット100について簡単に説明する。図1に示すように、ロボット100は、水平多関節ロボットすなわちスカラロボットであり、例えば、電子部品等のワークの保持、搬送、組立および検査等の各作業で用いられる。なお、ロボット100の用途は、特に限定されない。
First, the
ロボット100は、基台110と、基台110に接続されているアーム120と、を有する。また、アーム120は、基端部が基台110に接続され、基台110に対して第1軸J1まわりに回動可能な第1アーム121と、基端部が第1アーム121の先端部に接続され、第1アーム121に対して第1軸J1と平行な第2軸J2まわりに回動可能な第2アーム122と、を有する。また、第2アーム122の先端部には作業ヘッド130が設けられている。
The
基台110は、例えば、図示しない床面にボルト等によって固定されている。また、基台110内には基台110に対して第1アーム121を第1軸J1まわりに回動させる駆動装置141が設けられており、第2アーム122内には第1アーム121に対して第2アーム122を第2軸J2まわりに回動させる駆動装置142が設けられている。駆動装置141、142には、それぞれ、駆動源としてのモーターM、モーターMの駆動を制御するコントローラーC、モーターMの回転量を検出するエンコーダーE等が含まれている。
The
作業ヘッド130は、第2アーム122の先端部に同軸的に配置されたスプラインナット131およびボールネジナット132と、スプラインナット131およびボールネジナット132に挿通されたスプラインシャフト133と、を有する。スプラインシャフト133は、第2アーム122に対して、その中心軸であり、第1、第2軸J1、J2と平行な第3軸J3まわりに回転可能であり、かつ、第3軸J3に沿った方向に昇降可能である。
The
第2アーム122内にはスプラインナット131を回転させてスプラインシャフト133を第3軸J3まわりに回転させる駆動装置143と、ボールネジナット132を回転させてスプラインシャフト133を第3軸J3に沿った方向に昇降させる駆動装置144と、が設けられている。駆動装置143、144には、それぞれ、駆動源としてのモーターM、モーターMの駆動を制御するコントローラーC、モーターMの回転量を検出するエンコーダーE等が含まれている。
In the
スプラインシャフト133の下端部には、エンドエフェクターを装着するためのペイロード150が設けられている。ペイロード150に装着するエンドエフェクターとしては、特に限定されないが、本実施形態では、物体Xをピッキングすなわち把持するためのマニピュレーター151が用いられている。なお、ピッキング方法としては、特に限定されず、複数の爪部で挟み込んでもよいし、エアチャック、静電チャック等によって吸着させてもよい。
A
また、基台110内には、物体認識処理装置300からの指令に基づいて駆動装置141、142、143、144の駆動を制御するロボット制御装置160が設けられている。ロボット制御装置160は、例えば、コンピューターから構成され、情報を処理するプロセッサー(CPU)と、プロセッサーに通信可能に接続されたメモリーと、外部インターフェースと、を有する。また、メモリーにはプロセッサーにより実行可能な各種プログラムが保存され、プロセッサーは、メモリーに記憶された各種プログラム等を読み込んで実行することができる。
Further, in the
以上、ロボット100の全体構成について簡単に説明した。ただし、ロボット100の構成については、特に限定されず、例えば、アーム120は、第1アーム121を省略し、第2アーム122が基台110に接続されている構成となっていてもよいし、第1アーム121と第2アーム122との間に、さらに、第1、第2軸J1、J2と平行な軸まわりに回転可能な少なくとも1つのアームが介在していてもよい。また、水平多関節ロボットではなく、複数のアームの回転軸が捩じれの関係にある6軸ロボット、双腕ロボット等の多関節ロボットであってもよい。
The overall configuration of the
次に、カメラ200について説明する。カメラ200は、載置台170に配置された複数の物体Xを撮像して、物体Xを含む画像を得る機能を有する。また、カメラ200は、載置台170との相対的な位置関係が固定されている。これにより、カメラ200が撮像した画像から物体Xの物体認識処理を容易に行うことができる。このようなカメラ200としては、特に限定されないが、本実施形態では、RGBカメラを用いている。なお、カメラ200としては、RGBカメラの他にも、例えば、グレースケールカメラ、赤外線カメラ等を用いることもできる。また、カメラ200に替えて、例えば、物体Xの点群データを取得できるような深度センサーを用いてもよい。
Next, the
次に、物体認識処理装置300について説明する。物体認識処理装置300は、ロボット制御装置160、カメラ200、キーボードKと接続されている。このような物体認識処理装置300は、例えば、コンピューターから構成され、情報を処理するプロセッサー(CPU)と、プロセッサーに通信可能に接続されたメモリーと、外部インターフェースと、を有する。また、メモリーにはプロセッサーにより実行可能な各種プログラムが保存され、プロセッサーは、メモリーに記憶された各種プログラム等を読み込んで実行することができる。
Next, the object
図2に示すように、物体認識処理装置300は、シミュレーション部310と、識別器生成部320と、ユーザーインターフェース部330と、画像取得部340と、認識部350と、学習部360と、処理時間推定部370と、通信部380と、これら各部を制御する制御部390と、を有する。これら各部のうち、シミュレーション部310と、識別器生成部320と、ユーザーインターフェース部330と、学習部360と、処理時間推定部370とによって認識処理の教示作業が行われ、画像取得部340と、認識部350と、学習部360とによって実際の物体Xの認識処理が行われる。
As shown in FIG. 2, the object
まず、認識処理の教示作業について説明する。教示作業は、図3に示すように、物体Xの情報を学習して物体情報D1を得るステップS11と、物体Xの認識処理を基本認識アルゴリズムを用いてシミュレーションするステップS12と、ステップS12で行ったシミュレーションの結果に基づいて認識精度を向上させるための追加の識別器を生成するステップS13と、ステップS13で生成した識別器を加えた場合に必要とされる認識処理時間を求めるステップS14と、を有する。 First, the teaching work of the recognition process will be described. As shown in FIG. 3, the teaching work is performed in step S11 to learn the information of the object X and obtain the object information D1, step S12 to simulate the recognition process of the object X using the basic recognition algorithm, and step S12. Step S13 to generate an additional discriminator for improving the recognition accuracy based on the result of the simulation, and step S14 to obtain the recognition processing time required when the discriminator generated in step S13 is added. Has.
[ステップS11]
学習部360では、認識対象である物体XのCADデータすなわちCAD(computer-aided Design)を用いて作成されたデータを用いて物体情報D1を作成し、物体Xの認識処理に使用するための学習結果を得る。物体情報D1をCADデータから作成することにより、物体情報D1がより正確なものとなる。物体情報D1としては、例えば、360度様々な角度から見た物体Xのテンプレートが挙げられる。学習部360は、情報を記憶する記憶部361を有し、記憶部361に学習結果を記憶する。物体Xの認識処理に用いるテンプレートの数としては、特に限定されず、多い程、認識処理精度が向上するが、認識処理速度が低下する。そのため、認識処理精度と認識処理速度とのバランスに応じて適宜設定することができる。
[Step S11]
The
[ステップS12]
シミュレーション部310は、学習部360が生成した物体情報D1を用いて、物体Xの認識処理のシミュレーションを行う。シミュレーション部310は、画像生成部311と、認識精度算出部312と、を有する。
[Step S12]
The
画像生成部311は、コンピューター上で、現実世界の載置台170と同じ載置台を仮想的に準備し、物体XのCADデータを用いて載置台に複数の物体Xを無造作に配置する。そして、画像生成部311は、図4に示すように、載置台上の物体Xを現実世界のカメラ200と同じ仮想的なカメラで撮像した画像をシミュレーション画像P1として生成する。これにより、現実世界においてカメラ200で撮像した画像と同様の画像をシミュレーション画像P1としてコンピューター上で生成することができる。なお、画像生成部311には、シミュレーション画像P1の生成に用いた各物体Xの位置および姿勢が記憶される。
The image generation unit 311 virtually prepares the same mounting table as the mounting table 170 in the real world on a computer, and randomly arranges a plurality of objects X on the mounting table using the CAD data of the object X. Then, as shown in FIG. 4, the image generation unit 311 generates an image of the object X on the mounting table captured by the same virtual camera as the
コンピューター上の仮想的なカメラは、現実世界のカメラ200と同じ仕様であり、載置台との相対的な位置関係も現実世界と同じであることが好ましい。なお、前記の「仕様」とは、例えば、レンズの焦点距離、F値、撮像素子の解像度、ISO(感度)、ノイズ等が挙げられる。これにより、より現実世界に近いシミュレーション画像P1を生成することができる。
It is preferable that the virtual camera on the computer has the same specifications as the
また、画像生成部311は、シミュレーション画像P1を生成する際、現実世界の環境を用いることが好ましい。つまり、画像生成部311は、現実世界で物体Xが置かれている環境の情報、特に、光源の数、位置、光量および色を再現してシミュレーション画像P1を生成することが好ましい。これにより、シミュレーション画像P1内の物体Xに影すなわち陰影を映し出すことができるため、さらに現実世界に近いシミュレーション画像P1を生成することができる。 Further, it is preferable that the image generation unit 311 uses a real-world environment when generating the simulation image P1. That is, it is preferable that the image generation unit 311 reproduces information on the environment in which the object X is placed in the real world, particularly the number, position, amount of light, and color of the light source to generate the simulation image P1. As a result, a shadow, that is, a shadow can be projected on the object X in the simulation image P1, so that the simulation image P1 closer to the real world can be generated.
認識精度算出部312は、画像生成部311が生成したシミュレーション画像P1内の物体Xと、記憶部361に記憶されている物体情報D1とを基本認識アルゴリズムを用いて比較することにより物体Xの認識処理を行い、物体Xの姿勢毎に認識精度を求める。このような方法によれば、より簡単に認識精度を求めることができる。認識処理の方法としては、特に限定されず、例えば、以下のような方法を用いることができる。
The recognition accuracy calculation unit 312 recognizes the object X by comparing the object X in the simulation image P1 generated by the image generation unit 311 with the object information D1 stored in the
まず、認識精度算出部312は、図4に示すように、物体Xが十分に収まるウィンドウサイズを持つ領域Sを設定し、この領域Sをシミュレーション画像P1で移動させることにより、物体Xを見つける。次に、認識精度算出部312は、物体Xが映った画像を取得して、これを基本認識アルゴリズムを用いて認識処理することにより、当該画像に映った物体Xの位置および姿勢を記憶部361に記憶されている物体情報D1から推定する。推定方法としては、特に限定されず、例えば、認識精度算出部312は、物体情報D1を用いたテンプレートマッチングによって画像に映った物体Xの位置および姿勢を推定することができる。次に、認識精度算出部312は、物体Xの姿勢の推定結果が正解か不正解かを判断する。前述したように、シミュレーション画像P1内にある各物体Xの姿勢は、画像生成部311に記憶されている。そのため、この記憶された姿勢に基づいて推定結果が正解か不正解かを判断することができる。
First, as shown in FIG. 4, the recognition accuracy calculation unit 312 finds the object X by setting a region S having a window size in which the object X is sufficiently accommodated and moving this region S with the simulation image P1. Next, the recognition accuracy calculation unit 312 acquires an image of the object X and performs recognition processing using the basic recognition algorithm to store the position and orientation of the object X reflected in the image in the
認識精度算出部312は、上述の作業をシミュレーション画像P1に映った全ての物体Xについて順番に行う。認識精度算出部312が全ての物体Xに対して上述の作業をし終えると、画像生成部311は、シミュレーション画像P1とは物体Xの配置が異なる新たなシミュレーション画像P1を生成する。新たなシミュレーション画像P1は、前回のシミュレーション画像P1を生成するために配置した複数の物体Xを無造作にかき混ぜるようなイメージで生成することができる。 The recognition accuracy calculation unit 312 performs the above-mentioned work in order for all the objects X shown in the simulation image P1. When the recognition accuracy calculation unit 312 finishes the above-mentioned work for all the objects X, the image generation unit 311 generates a new simulation image P1 in which the arrangement of the objects X is different from that of the simulation image P1. The new simulation image P1 can be generated as an image in which a plurality of objects X arranged to generate the previous simulation image P1 are randomly stirred.
認識精度算出部312は、新たに生成されたシミュレーション画像P1についても前回と同様に全ての物体Xの姿勢を推定し、その推定結果が正解か不正解かを判断する。このように、シミュレーション部310は、画像生成部311によるシミュレーション画像P1の生成と、認識精度算出部312による物体Xの姿勢の推定とを十分な回数繰り返す。これにより、物体Xの姿勢の推定結果およびその正否を大量に学習することができる。なお、画像生成部311は、認識精度算出部312において種々の姿勢についてバランスよく推定結果の正否を判断できるように、生成する多数のシミュレーション画像P1内に、種々の姿勢の物体Xをバランスよく配置することが好ましい。
The recognition accuracy calculation unit 312 estimates the postures of all the objects X for the newly generated simulation image P1 as in the previous time, and determines whether the estimation result is a correct answer or an incorrect answer. In this way, the
次に、認識精度算出部312は、学習した情報に基づいて、物体Xの姿勢毎の認識精度を求める。具体的には、学習した物体Xの各姿勢について、推定結果の正解率と不正解率とを求め、さらには不正解の場合に他のどの姿勢と誤認したかをその確率と共に求める。つまり、正解率がx%で、間違えた姿勢がA姿勢とB姿勢で、A姿勢の誤認識確率がy%で、B姿勢の誤認識確率がz%であるといった情報を求める。 Next, the recognition accuracy calculation unit 312 obtains the recognition accuracy for each posture of the object X based on the learned information. Specifically, for each posture of the learned object X, the correct answer rate and the incorrect answer rate of the estimation result are obtained, and further, in the case of an incorrect answer, which other posture is mistaken for is obtained together with the probability. That is, information is obtained such that the correct answer rate is x%, the wrong postures are the A posture and the B posture, the misrecognition probability of the A posture is y%, and the misrecognition probability of the B posture is z%.
ユーザーインターフェース部330は、認識精度算出部312が求めた各姿勢のうち、認識精度が所定の確率よりも低い姿勢をユーザーに報知する。本実施形態では、図1および図5に示すように、物体認識処理装置300に接続されたモニター400に表示することによりユーザーに報知している。ただし、報知の方法は、特に限定されない。また、ユーザーインターフェース部330は、認識精度の低い姿勢が存在しない場合には、その旨を報知する。なお、モニター400は、物体認識処理装置300に内蔵されていてもよい。
The
図5に示す例では、認識精度が所定の確率よりも低かった2つの姿勢が表示されている。さらに、姿勢毎に正解率と、誤認識した姿勢と、誤認識した姿勢の誤認識率とが表示されている。また、ユーザーインターフェース部330は、このような誤認識を許容するか許容しないかをユーザーから受け付ける受け付け部331を有する。図示の構成では、受け付け部331は、モニター400に表示され、誤認識を許容するか許容しないかを選択可能なチェック欄を有する。ユーザーは、姿勢毎に誤認識を許容する許容しないかを判断し、誤認識を許容する場合には、キーボードK、マウス等の操作デバイスを用いて、その姿勢に対応するチェック欄にチェックを入れる。そして、ユーザーインターフェース部330は、この選択に対応する信号を受け付ける。
In the example shown in FIG. 5, two postures whose recognition accuracy is lower than a predetermined probability are displayed. Further, the correct answer rate, the erroneously recognized posture, and the erroneously recognized posture are displayed for each posture. Further, the
例えば、No.1の姿勢では、誤認識した姿勢が上下反対の姿勢であり、上下反対の姿勢でロボット100にピックアップされるとその後の作業に支障がでるおそれがある。そのため、No.1の姿勢の誤認識を許容することができず、チェック欄にはチェックが入っていない。一方で、No.2の姿勢では、誤認識した姿勢が中心軸まわりにずれている姿勢であり、ずれた姿勢でロボット100にピックアップされてもその後の作業に支障がほとんどない。そのため、No.2の姿勢の誤認識については許容することができ、チェック欄にはチェックが入っている。このように、その後の作業に支障がでるか否か等、個別の事情に鑑みて、姿勢毎に誤認識を許容するかしないかを判断することができる。
For example, No. In the posture of 1, the erroneously recognized posture is the posture upside down, and if the
[ステップS13]
識別器生成部320は、ユーザーインターフェース部330が受け付けた結果が「誤認識を許容しない」を含んでいた場合に、「誤認識を許容しない」と選択された姿勢毎に認識精度を向上させるための識別器を個別に生成する。識別器は、認識精度を向上させるためのアルゴリズムからなり、このアルゴリズムは、例えば、ニューラルネットワークを用いて生成される。これにより、識別器を容易に生成することができる。なお、アルゴリズムとしては、ニューラルネットワークの中でも特に畳み込みニューラルネットワーク(CNN)によるクラス分類器を用いることが好ましい。
[Step S13]
The
クラス分類器は、例えば、「誤認識を許容しない」と選択された姿勢に対して、画像認識が正解だった画像と不正解だった画像とを大量に学習させることにより生成することができる。このようなクラス分類器によれば、物体情報D1に収められている物体Xの全姿勢の中から正解の1つの姿勢を求めるのではなく、不正解となり易い幾つかの姿勢の中から正解の1つの姿勢を分類するため、その処理にかかる時間を大幅に短縮することができる。なお、識別器としては、特に限定されず、例えば、サポートベクターマシンを用いた画像認識アルゴリズムであってもよいし、アダブースト(AdaBoost)を用いた画像認識アルゴリズムであってもよい。 The classifier can be generated, for example, by learning a large amount of images for which image recognition is correct and images for which image recognition is incorrect for a posture selected as "not tolerating erroneous recognition". According to such a classifier, instead of finding one correct posture from all the postures of the object X stored in the object information D1, the correct answer is obtained from some postures that are likely to be incorrect. Since one posture is classified, the time required for the processing can be significantly reduced. The classifier is not particularly limited, and may be, for example, an image recognition algorithm using a support vector machine or an image recognition algorithm using AdaBoost.
以上のように、認識精度の低い特定の姿勢だけにその認識精度を高める識別器を追加することにより、識別器を追加した姿勢についての処理速度だけが基本認識アルゴリズムに対して長くなり、その他の姿勢すなわち識別器が追加されていない姿勢についての処理速度は基本認識アルゴリズムと変わらない。したがって、物体Xの認識精度を向上させつつ、例えば全ての姿勢について認識精度を向上させなければならない構成と比べて処理速度の低下をより小さく抑えることができる。そのため、より短時間でより精度よく物体Xの認識処理を行うことのできる物体認識処理装置300となる。
As described above, by adding a discriminator that enhances the recognition accuracy only to a specific posture with low recognition accuracy, only the processing speed for the posture to which the discriminator is added becomes longer than the basic recognition algorithm, and other The processing speed for the pose, that is, the pose for which no classifier is added, is the same as the basic recognition algorithm. Therefore, while improving the recognition accuracy of the object X, the decrease in processing speed can be suppressed to be smaller than, for example, as compared with the configuration in which the recognition accuracy must be improved for all postures. Therefore, the object
[ステップS14]
処理時間推定部370は、識別器生成部320が生成した識別器を追加せず、基本認識アルゴリズムだけを用いて物体Xの認識処理を行う場合にかかる物体X1個あたりの平均処理時間T1[sec/物体X]と、識別器生成部320が生成した識別器を追加し、基本認識アルゴリズムの後にさらに識別器による認識を行う場合にかかる物体X1個あたりの平均処理時間T2[sec/物体X]と、を求める。なお、識別器による認識が追加される分、平均処理時間T2が平均処理時間T1よりも長くなる。
[Step S14]
The processing
ユーザーインターフェース部330は、処理時間推定部370が求めた平均処理時間T1、T2をユーザーに報知する。本実施形態では、図6に示すように、モニター400に平均処理時間T1、T2を並べて表示することによりユーザーに報知している。平均処理時間T1、T2を並べて表示することにより、識別器を追加したことによる遅延時間が分かりやすくなる。また、ユーザーは、モニター400に表示された平均処理時間T1、T2に基づいて、認識精度を向上させるべきか否かを最終判断することができる。つまり、処理時間が長くなってでも認識精度を高めるべきか、反対に、認識精度を高めるのを諦めてでも処理時間を短くすべきかを選択することができる。
The
図6に示すように、ユーザーインターフェース部330は、識別器を追加するか追加しないかを受け付ける受け付け部332を有する。受け付け部332は、平均処理時間T1、T2と共にモニター400に表示され、図示の構成では、「追加する」または「追加しない」をユーザーが選択できるようになっている。「追加する」を受け付けた場合には基本認識アルゴリズムに識別器を追加した高精度認識アルゴリズムを実際の認識アルゴリズムとして用い、「追加しない」を受け付けた場合には基本認識アルゴリズムを実際の認識アルゴリズムとして用いる。なお、「追加しない」を受け付けた場合、ユーザーインターフェース部330は、図5に示す画面に戻って、再び、ユーザーに誤認識を許容するか許容しないかを選択させてもよい。そして、ユーザーインターフェース部330は、この選択に対応する信号を受け付ける。
As shown in FIG. 6, the
以上、画像認識の教示作業について説明した。次に、ロボット100による物体Xのピッキング作業について図7に示すフローチャートに基づいて説明する。
The teaching work of image recognition has been described above. Next, the picking operation of the object X by the
まず、ステップS21として、カメラ200が物体Xを撮像し、当該撮像により得られた画像データP2を画像取得部340が取得する。次に、ステップS22として、認識部350は、物体Xが十分に収まるウィンドウサイズを持つ領域Sを設定し、この領域Sを画像データP2上の初期位置とする。
First, in step S21, the
次に、ステップS23として、認識部350は、領域S内に物体Xが存在するか否かを判断する。ステップS23で物体Xが見つかった場合、ステップS24として、認識部350は、基本認識アルゴリズムを用いて物体Xの位置および姿勢を推定する。次に、ステップS25として、認識部350は、推定した姿勢が前述した識別器による追加認識を必要とする姿勢、すなわち、上述した教示作業でユーザーが「誤認識を許容しない」と判断した姿勢であるか否かを判断する。識別器による追加認識が必要な場合、ステップS26として、認識部350は、識別器による追加認識を行い、物体Xの姿勢をより精度よく推定する。
Next, in step S23, the
ステップS26が終了した後、または、ステップS23で物体Xが見つからなかった場合やステップS25で識別器による追加認識が必要なかった場合には、ステップS27として、認識部350は、画像データP2上での領域Sの位置を変更する。次に、ステップS28として、認識部350は、画像データP2の全領域を領域Sによってスキャンしたかを判断する。画像データP2の全領域のスキャンが終了していない場合には、ステップS23に戻ってステップS23〜S28を繰り返す。
After the completion of step S26, or when the object X is not found in step S23, or when additional recognition by the classifier is not required in step S25, the
反対に、画像データP2の全領域のスキャンが終了している場合には、ステップS29として、認識部350は、発見した物体Xのうちからロボット100によりピッキングする1つの物体Xを決定する。そして、ステップS30として、通信部380は、選択した物体Xをピッキングするための指令をロボット100に送信し、ロボット100による物体Xのピッキング作業を実行する。ロボット100による物体Xのピッキング作業が終了すると、ステップS21に戻り、物体Xのピッキング作業が終了するまでS21〜S30を繰り返す。
On the contrary, when the scanning of the entire area of the image data P2 is completed, as step S29, the
以上、ピッキング装置1について説明した。このようなピッキング装置1は、識別対象である物体Xを画像認識する物体認識処理装置300と、物体認識処理装置300の認識結果に基づいて物体Xをピッキングするマニピュレーター151と、を有する。また、物体認識処理装置300は、物体Xの物体情報D1が記憶されている記憶部361と、複数の物体Xを配置させたシミュレーション画像P1を生成する画像生成部311と、画像生成部311が生成したシミュレーション画像P1内の物体Xに対して物体情報D1と比較することにより画像認識を行い、物体Xの姿勢毎に画像認識の認識精度を求める認識精度算出部312と、認識精度をユーザーに報知し、物体Xの姿勢毎にユーザーから認識精度を許容するか否かを受け付けるユーザーインターフェース部330と、ユーザーインターフェース部330が否を受け付けた場合すなわち「認識精度を許容しない」の場合に、否とされた物体Xの姿勢毎に識別器を生成する識別器生成部320と、を有する。
The
このような構成によれば、認識精度の低い特定の姿勢だけにその認識精度を高める識別器を追加することができる。そのため、識別器を追加した姿勢についての処理速度だけが基本認識アルゴリズムに対して長くなり、その他の姿勢すなわち識別器が追加されていない姿勢についての処理速度は基本認識アルゴリズムと変わらない。したがって、物体Xの認識精度を向上させつつ、例えば全ての姿勢について認識精度を向上させなければならない構成と比べて処理速度の低下をより小さく抑えることができる。その結果、より短時間でより精度よく物体Xの認識処理を行うことのできるピッキング装置1となる。
According to such a configuration, it is possible to add a discriminator that enhances the recognition accuracy only in a specific posture having a low recognition accuracy. Therefore, only the processing speed for the posture to which the classifier is added is longer than that for the basic recognition algorithm, and the processing speed for the other postures, that is, the postures to which the classifier is not added is the same as the basic recognition algorithm. Therefore, while improving the recognition accuracy of the object X, the decrease in processing speed can be suppressed to be smaller than, for example, as compared with the configuration in which the recognition accuracy must be improved for all postures. As a result, the
また、前述したように、物体認識処理装置300は、識別対象である物体Xの物体情報D1が記憶されている記憶部361と、複数の物体Xを配置させたシミュレーション画像P1を生成する画像生成部311と、画像生成部311が生成したシミュレーション画像P1内の物体Xに対して物体情報D1と比較することにより画像認識を行い、物体Xの姿勢毎に画像認識の認識精度を求める認識精度算出部312と、認識精度をユーザーに報知し、物体Xの姿勢毎にユーザーから認識精度を許容するか否かを受け付けるユーザーインターフェース部330と、ユーザーインターフェース部330が否を受け付けた場合すなわち「認識精度を許容しない」の場合に、否とされた物体Xの姿勢毎に識別器を生成する識別器生成部320と、を有する。
Further, as described above, the object
このような構成によれば、認識精度の低い特定の姿勢だけにその認識精度を高める識別器を追加することができる。そのため、識別器を追加した姿勢についての処理速度だけが基本認識アルゴリズムに対して長くなり、その他の姿勢すなわち識別器が追加されていない姿勢についての処理速度は基本認識アルゴリズムと変わらない。したがって、物体Xの認識精度を向上させつつ、例えば全ての姿勢について認識精度を向上させなければならない構成と比べて処理速度の低下をより小さく抑えることができる。その結果、より短時間でより精度よく物体Xの認識処理を行うことのできる物体認識処理装置300となる。
According to such a configuration, it is possible to add a discriminator that enhances the recognition accuracy only in a specific posture having a low recognition accuracy. Therefore, only the processing speed for the posture to which the classifier is added is longer than that for the basic recognition algorithm, and the processing speed for the other postures, that is, the postures to which the classifier is not added is the same as the basic recognition algorithm. Therefore, while improving the recognition accuracy of the object X, the decrease in processing speed can be suppressed to be smaller than, for example, as compared with the configuration in which the recognition accuracy must be improved for all postures. As a result, the object
また、前述したように、物体認識処理装置300は、識別器生成部320が生成した識別器を加えて画像処理を行う場合の画像処理時間を推定する処理時間推定部370を有する。ユーザーインターフェース部330は、処理時間推定部370が推定した画像処理時間である平均処理時間T2を報知する。これにより、ユーザーは、特定の姿勢に対して認識精度を向上させるべきか否かを判断することができる。つまり、処理時間が長くなってでも認識精度を高めるべきか、反対に、認識精度を高めるのを諦めてでも処理時間を短くすべきかを選択することができる。
Further, as described above, the object
また、前述したように、物体情報D1は、CADデータから生成される。これにより、物体情報D1がより正確なものとなる。 Further, as described above, the object information D1 is generated from the CAD data. As a result, the object information D1 becomes more accurate.
また、前述したように、画像生成部311は、物体Xが存在する環境の情報を用いてシミュレーション画像P1を生成する。これにより、現実世界に近いシミュレーション画像P1を生成することができる。 Further, as described above, the image generation unit 311 generates the simulation image P1 by using the information of the environment in which the object X exists. As a result, it is possible to generate a simulation image P1 that is close to the real world.
また、前述したように、認識精度算出部312は、シミュレーション画像P1から取得される物体Xの情報と、記憶部361に記憶されている物体情報D1とを照合することにより認識精度を求める。これにより、より簡単に認識精度を求めることができる。
Further, as described above, the recognition accuracy calculation unit 312 obtains the recognition accuracy by collating the information of the object X acquired from the simulation image P1 with the object information D1 stored in the
また、前述したように、識別器生成部320は、ニューラルネットワークを用いて識別器を生成する。これにより、識別器を容易に生成することができる。
Further, as described above, the
また、前述したように、物体認識処理方法は、識別対象である物体Xの物体情報D1を記憶するステップと、複数の物体Xを配置させたシミュレーション画像P1を生成するステップと、画像生成部311が生成したシミュレーション画像P1内の物体Xに対して物体情報D1と比較することにより画像認識を行い、物体Xの姿勢毎に画像認識の認識精度を求めるステップと、認識精度をユーザーに報知し、物体Xの姿勢毎にユーザーから認識精度を許容するか否かを受け付けるステップと、ユーザーインターフェース部330が否を受け付けた場合すなわち「認識精度を許容しない」の場合に、否とされた物体Xの姿勢毎に識別器を生成するステップと、を有する。
Further, as described above, the object recognition processing method includes a step of storing the object information D1 of the object X to be identified, a step of generating a simulation image P1 in which a plurality of objects X are arranged, and an image generation unit 311. Image recognition is performed by comparing the object X in the simulation image P1 generated by the object X with the object information D1, and the step of obtaining the recognition accuracy of the image recognition for each posture of the object X and the recognition accuracy are notified to the user. The step of accepting whether or not the recognition accuracy is allowed from the user for each posture of the object X, and the case where the
このような構成によれば、認識精度の低い特定の姿勢だけにその認識精度を高める識別器を追加することができる。そのため、識別器を追加した姿勢についての処理速度だけが基本認識アルゴリズムに対して長くなり、その他の姿勢すなわち識別器が追加されていない姿勢についての処理速度は基本認識アルゴリズムと変わらない。したがって、物体Xの認識精度を向上させつつ、例えば全ての姿勢について認識精度を向上させなければならない構成と比べて処理速度の低下をより小さく抑えることができる。その結果、より短時間でより精度よく物体Xの認識処理を行うことのできる物体認識処理方法となる。 According to such a configuration, it is possible to add a discriminator that enhances the recognition accuracy only in a specific posture having a low recognition accuracy. Therefore, only the processing speed for the posture to which the classifier is added is longer than that for the basic recognition algorithm, and the processing speed for the other postures, that is, the postures to which the classifier is not added is the same as the basic recognition algorithm. Therefore, while improving the recognition accuracy of the object X, the decrease in processing speed can be suppressed to be smaller than, for example, as compared with the configuration in which the recognition accuracy must be improved for all postures. As a result, it becomes an object recognition processing method capable of performing the recognition processing of the object X more accurately in a shorter time.
以上、本発明の物体認識処理装置、物体認識処理方法およびピッキング装置を図示の実施形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物が付加されていてもよい。 The object recognition processing device, the object recognition processing method, and the picking device of the present invention have been described above based on the illustrated embodiments, but the present invention is not limited to this, and the configurations of the respective parts have the same functions. It can be replaced with any configuration that has. Moreover, other arbitrary components may be added.
1…ピッキング装置、100…ロボット、110…基台、120…アーム、121…第1アーム、122…第2アーム、130…作業ヘッド、131…スプラインナット、132…ボールネジナット、133…スプラインシャフト、141〜144…駆動装置、150…ペイロード、151…マニピュレーター、160…ロボット制御装置、170…載置台、200…カメラ、300…物体認識処理装置、310…シミュレーション部、311…画像生成部、312…認識精度算出部、320…識別器生成部、330…ユーザーインターフェース部、331、332…受け付け部、340…画像取得部、350…認識部、360…学習部、361…記憶部、370…処理時間推定部、380…通信部、390…制御部、400…モニター、C…コントローラー、D1…物体情報、E…エンコーダー、J1…第1軸、J2…第2軸、J3…第3軸、K…キーボード、M…モーター、P1…シミュレーション画像、P2…画像データ、S…領域、S11〜S14、S21〜S30…ステップ、T1…平均処理時間、T2…平均処理時間、X…物体 1 ... Picking device, 100 ... Robot, 110 ... Base, 120 ... Arm, 121 ... 1st arm, 122 ... 2nd arm, 130 ... Working head, 131 ... Spline nut, 132 ... Ball screw nut, 133 ... Spline shaft, 141-144 ... drive device, 150 ... payload, 151 ... manipulator, 160 ... robot control device, 170 ... mount, 200 ... camera, 300 ... object recognition processing device, 310 ... simulation unit, 311 ... image generation unit, 312 ... Recognition accuracy calculation unit, 320 ... Discriminator generation unit, 330 ... User interface unit, 331, 332 ... Reception unit, 340 ... Image acquisition unit, 350 ... Recognition unit, 360 ... Learning unit, 361 ... Storage unit, 370 ... Processing time Estimating unit, 380 ... Communication unit, 390 ... Control unit, 400 ... Monitor, C ... Controller, D1 ... Object information, E ... Encoder, J1 ... 1st axis, J2 ... 2nd axis, J3 ... 3rd axis, K ... Keyboard, M ... motor, P1 ... simulation image, P2 ... image data, S ... area, S11 to S14, S21 to S30 ... steps, T1 ... average processing time, T2 ... average processing time, X ... object
Claims (8)
複数の前記識別対象を配置させたシミュレーション画像を生成する画像生成部と、
前記画像生成部が生成した前記シミュレーション画像内の前記識別対象に対して前記物体情報と比較することにより画像認識を行い、前記識別対象の姿勢毎に前記画像認識の認識精度を求める認識精度算出部と、
前記認識精度をユーザーに報知し、前記識別対象の姿勢毎に前記ユーザーから前記認識精度を許容するか否かを受け付けるユーザーインターフェース部と、
前記ユーザーインターフェース部が否を受け付けた場合に、否とされた前記識別対象の姿勢毎に識別器を生成する識別器生成部と、を有することを特徴とする物体認識処理装置。 A storage unit that stores object information to be identified, and
An image generation unit that generates a simulation image in which a plurality of identification targets are arranged,
A recognition accuracy calculation unit that performs image recognition by comparing the identification target in the simulation image generated by the image generation unit with the object information, and obtains the recognition accuracy of the image recognition for each posture of the identification target. When,
A user interface unit that notifies the user of the recognition accuracy and accepts whether or not the recognition accuracy is allowed from the user for each posture of the identification target.
An object recognition processing apparatus comprising: a classifier generating unit that generates a classifier for each posture of the discriminating target that is rejected when the user interface unit accepts the rejection.
前記ユーザーインターフェース部は、前記処理時間推定部が推定した前記画像処理時間を報知する請求項1に記載の物体認識処理装置。 It has a processing time estimation unit that estimates the image processing time when the image processing is performed by adding the classifier generated by the discriminator generation unit.
The object recognition processing device according to claim 1, wherein the user interface unit notifies the image processing time estimated by the processing time estimation unit.
複数の前記識別対象を配置させたシミュレーション画像を生成するステップと、
前記シミュレーション画像内の前記識別対象に対して前記物体情報と比較することにより画像認識を行い、前記識別対象の姿勢毎に前記画像認識の認識精度を求めるステップと、
前記認識精度をユーザーに報知し、前記識別対象の姿勢毎に前記ユーザーから前記認識精度を許容するか否かを受け付けるステップと、
ユーザーインターフェース部が否を受け付けた場合に、否とされた前記識別対象の姿勢毎に識別器を生成するステップと、を含むことを特徴とする物体認識処理方法。 The step of recording the object information to be identified and
A step of generating a simulation image in which a plurality of the identification targets are arranged, and
A step of performing image recognition on the identification target in the simulation image by comparing it with the object information and obtaining the recognition accuracy of the image recognition for each posture of the identification target.
A step of notifying the user of the recognition accuracy and receiving from the user whether or not to allow the recognition accuracy for each posture of the identification target.
An object recognition processing method comprising a step of generating a classifier for each posture of the identification target that is rejected when the user interface unit accepts the rejection.
前記物体認識処理装置の認識結果に基づいて前記識別対象をピッキングするマニピュレーターと、を有し、
前記物体認識処理装置は、前記識別対象の物体情報が記憶されている記憶部と、
複数の前記識別対象を配置させたシミュレーション画像を生成する画像生成部と、
前記画像生成部が生成した前記シミュレーション画像内の前記識別対象に対して前記物体情報と比較することにより画像認識を行い、前記識別対象の姿勢毎に前記画像認識の認識精度を求める認識精度算出部と、
前記認識精度をユーザーに報知し、前記識別対象の姿勢毎に前記ユーザーから前記認識精度を許容するか否かを受け付けるユーザーインターフェース部と、
前記ユーザーインターフェース部が否を受け付けた場合に、否とされた前記識別対象の姿勢毎に識別器を生成する識別器生成部と、を有することを特徴とするピッキング装置。 An object recognition processing device that recognizes the identification target as an image,
It has a manipulator that picks the identification target based on the recognition result of the object recognition processing device.
The object recognition processing device includes a storage unit in which the object information to be identified is stored and a storage unit.
An image generation unit that generates a simulation image in which a plurality of identification targets are arranged,
A recognition accuracy calculation unit that performs image recognition by comparing the identification target in the simulation image generated by the image generation unit with the object information, and obtains the recognition accuracy of the image recognition for each posture of the identification target. When,
A user interface unit that notifies the user of the recognition accuracy and accepts whether or not the recognition accuracy is allowed from the user for each posture of the identification target.
A picking device including a classifier generating unit that generates a classifier for each posture of the discriminating target that is rejected when the user interface unit accepts the rejection.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019119686A JP2021003782A (en) | 2019-06-27 | 2019-06-27 | Object recognition processing device, object recognition processing method and picking apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019119686A JP2021003782A (en) | 2019-06-27 | 2019-06-27 | Object recognition processing device, object recognition processing method and picking apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021003782A true JP2021003782A (en) | 2021-01-14 |
Family
ID=74096969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019119686A Pending JP2021003782A (en) | 2019-06-27 | 2019-06-27 | Object recognition processing device, object recognition processing method and picking apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021003782A (en) |
-
2019
- 2019-06-27 JP JP2019119686A patent/JP2021003782A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110116406B (en) | Robotic system with enhanced scanning mechanism | |
JP6586532B2 (en) | Deep machine learning method and apparatus for robot gripping | |
US7283661B2 (en) | Image processing apparatus | |
JP6594129B2 (en) | Information processing apparatus, information processing method, and program | |
US20150003678A1 (en) | Information processing apparatus, information processing method, and storage medium | |
CN114097004A (en) | Autonomous task performance based on visual embedding | |
JP5561384B2 (en) | Recognition program evaluation apparatus and recognition program evaluation method | |
JP7376268B2 (en) | 3D data generation device and robot control system | |
JP2012101320A (en) | Image generation apparatus, image generation method and program | |
US20210331311A1 (en) | Image generation device, robot training system, image generation method, and non-transitory computer readable storage medium | |
JP6042291B2 (en) | Robot, robot control method, and robot control program | |
WO2020190166A1 (en) | Method and system for grasping an object by means of a robotic device | |
WO2021177239A1 (en) | Extraction system and method | |
JP2020197978A (en) | Object detection device, object gripping system, object detection method, and object detection program | |
JP2020163502A (en) | Object detection method, object detection device, and robot system | |
US11138752B2 (en) | Training a pose detection algorithm, and deriving an object pose using a trained pose detection algorithm | |
JP2015085434A (en) | Robot, image processing method and robot system | |
JP6265784B2 (en) | Posture estimation system, program, and posture estimation method | |
JP2021003782A (en) | Object recognition processing device, object recognition processing method and picking apparatus | |
US20230297068A1 (en) | Information processing device and information processing method | |
CN115082550A (en) | Apparatus and method for locating position of object from camera image of object | |
WO2023014369A1 (en) | Synthetic dataset creation for object detection and classification with deep learning | |
JP2022045466A (en) | Image recognition method and robot system | |
CN112533739A (en) | Robot control device, robot control method, and robot control program | |
US20230154162A1 (en) | Method For Generating Training Data Used To Learn Machine Learning Model, System, And Non-Transitory Computer-Readable Storage Medium Storing Computer Program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD07 | Notification of extinguishment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7427 Effective date: 20200811 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20210916 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20211102 |