JP7724056B2 - How to generate data for machine learning - Google Patents
How to generate data for machine learningInfo
- Publication number
- JP7724056B2 JP7724056B2 JP2020188150A JP2020188150A JP7724056B2 JP 7724056 B2 JP7724056 B2 JP 7724056B2 JP 2020188150 A JP2020188150 A JP 2020188150A JP 2020188150 A JP2020188150 A JP 2020188150A JP 7724056 B2 JP7724056 B2 JP 7724056B2
- Authority
- JP
- Japan
- Prior art keywords
- visible light
- data
- image
- dimensional
- camera
- 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
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Manipulator (AREA)
Description
本発明は、機械学習用データ生成方法に関する。 The present invention relates to a method for generating data for machine learning.
バラ積みされた複数の対象物(ワーク)をロボットアームにより把持する物体把持システム等において、対象物を撮影した画像からの対象物の種類や位置・姿勢の認識に畳み込みニューラルネットワーク等の人工知能が用いられる場合がある。人工知能を用いたシステムの適正な利用のためには、膨大な数の学習データによる機械学習が不可欠であり、また、機械学習の結果が適切であるかを評価するための評価用データも必要となる。このため、データの準備に要するコストは大きなものとなる。 In object grasping systems, which use a robotic arm to grasp multiple loosely stacked objects (workpieces), artificial intelligence such as convolutional neural networks may be used to recognize the type, position, and orientation of an object from photographed images. To ensure the proper use of systems that use artificial intelligence, machine learning using a huge amount of training data is essential, and evaluation data is also required to assess whether the results of the machine learning are appropriate. This results in significant costs for preparing the data.
学習用データまたは評価用データを作成するためには、対象物を撮像した画像と、カメラと対象物の相対的な位置及び姿勢とが必要になる。対象物の位置及び姿勢を特定するために、3Dスキャナ用カメラなどで3次元形状を測定した結果と、あらかじめCADなどで作成した対象物の3次元データとのマッチングを行う方法がある。しかしながら、バラ積みされた複数の対象物を含む対象群の場合、複数の対象物が重なりあうことで、3次元形状の測定結果から、個々の対象物と3次元データとをマッチングすることが困難になる場合がある。例えば、複数の対象物が近接して配置されていると、誤って複数の対象物が組み合わさった状態の3次元形状が対象物の3次元データとマッチングされるなど、対象物の位置や姿勢を正確に測定することが困難である。 Creating training data or evaluation data requires captured images of the object, as well as the relative position and orientation of the camera and the object. One method for identifying the object's position and orientation is to measure its three-dimensional shape using a 3D scanner camera or similar device and match the results with three-dimensional data of the object previously created using CAD or similar software. However, in the case of a group of objects containing multiple loosely stacked objects, overlapping objects can make it difficult to match the three-dimensional shape measurement results of each object with the three-dimensional data. For example, if multiple objects are placed close together, the three-dimensional shape of the combined objects may be mistakenly matched with the three-dimensional data of the object, making it difficult to accurately measure the object's position and orientation.
本発明は、上記に鑑みてなされたものであって、複数の対象物を含む画像データを的確に取得できる機械学習用データ生成方法を提供することを目的とする。 The present invention has been made in consideration of the above, and aims to provide a method for generating machine learning data that can accurately acquire image data including multiple objects.
上述した課題を解決し、目的を達成するために、本発明の一態様に係る機械学習用データ生成方法は、可視光よりも波長の短い光の照射を受けると第1の可視光による発光を行い、可視光に対しては無色透明の第1の塗料が塗布された第1の対象物と、前記可視光よりも波長の短い光の照射を受けると第2の可視光による発光を行い、前記可視光に対しては無色透明の第2の塗料が塗布された第2の対象物に対し、所定のパターンによる前記可視光よりも波長の短い光の照射を行って、前記第1の対象物及び前記第2の対象物を形状取得用カメラで撮影し、撮影された画像から前記第1の対象物の3次元形状、及び前記第2の対象物の3次元形状を測定する第1の工程と、前記第1の対象物及び前記第2の対象物に対し、可視光の照射を行って、前記第1の対象物及び前記第2の対象物を、ステレオカメラである位置取得用カメラで撮影する第2の工程と、前記第1の工程で測定した3次元形状から、前記第1の可視光と前記第2の可視光との違いにより、前記第1の対象物の3次元形状と前記第2の対象物の3次元形状とに分離し、あらかじめ保持している前記第1の対象物の3次元データおよび前記第2の対象物の3次元データとのマッチングを行う第3の工程と、を備える。前記第1の対象物及び前記第2の対象物を撮影する方向を変更し、前記第1の工程による前記第1の対象物の3次元形状及び前記第2の対象物の3次元形状の測定と、前記第2の工程による前記第1の対象物及び前記第2の対象物の撮影とを繰り返し、点群データマッチングによりデータを連結して更新する。前記第1の工程による前記第1の対象物の3次元形状及び前記第2の対象物の3次元形状の測定と、前記第2の工程による前記第1の対象物及び前記第2の対象物の撮影と、前記第1の対象物及び前記第2の対象物の点群データを分離して対象物の3次元データとの点群データマッチングを行う前記第3の工程により対象物の前記位置取得用カメラとの相対的な位置または姿勢を算出する。 In order to solve the above-mentioned problems and achieve the object, a method for generating data for machine learning according to one aspect of the present invention includes: irradiating a first object coated with a first paint that emits light using first visible light when irradiated with light having a wavelength shorter than that of visible light and that is colorless and transparent to visible light, and a second object coated with a second paint that emits light using second visible light when irradiated with light having a wavelength shorter than that of visible light and that is colorless and transparent to visible light, with light having a wavelength shorter than that of visible light in a predetermined pattern; photographing the first object and the second object with a shape acquisition camera; and determining the shape of the first object from the photographed image. The method includes a first step of measuring a three-dimensional shape of an object and a three-dimensional shape of a second object, a second step of irradiating the first object and the second object with visible light and photographing the first object and the second object with a position acquisition camera that is a stereo camera , and a third step of separating the three-dimensional shape of the first object and the three-dimensional shape of the second object from the three-dimensional shapes measured in the first step based on a difference between the first visible light and the second visible light, and matching the three-dimensional data of the first object and the three-dimensional data of the second object with pre-stored three-dimensional data of the first object and the second object. The direction in which the first object and the second object are photographed is changed, and the measurement of the three-dimensional shapes of the first object and the second object in the first step and the photographing of the first object and the second object in the second step are repeated, and the data is linked and updated by point cloud data matching. The relative position or orientation of the object with respect to the position acquisition camera is calculated by measuring the three-dimensional shape of the first object and the three-dimensional shape of the second object in the first step, photographing the first object and the second object in the second step, and separating the point cloud data of the first object and the second object and matching the point cloud data with the three-dimensional data of the object in the third step.
一つの態様によれば、複数の対象物を含む画像データを的確に取得できる。 According to one aspect, image data containing multiple objects can be accurately acquired.
以下、実施形態に係る機械学習用データ生成方法及び機械学習用データ生成装置について図面を参照して説明する。なお、この実施形態によりこの発明が限定されるものではない。また、図面における各要素の寸法の関係、各要素の比率などは、現実と異なる場合がある。図面の相互間においても、互いの寸法の関係や比率が異なる部分が含まれている場合がある。また、1つの実施形態や変形例に記載された内容は、原則として他の実施形態や変形例にも同様に適用される。 Below, a method for generating data for machine learning and a device for generating data for machine learning according to an embodiment will be described with reference to the drawings. Note that the present invention is not limited to these embodiments. Furthermore, the dimensional relationships and ratios of elements in the drawings may differ from reality. Even between drawings, there may be parts where the dimensional relationships and ratios differ. Furthermore, the content described in one embodiment or variant applies, in principle, to other embodiments or variants as well.
(物体把持システム)
図1は、物体把持システム1の一例を示す外観図である。図1に示す物体把持システム1は、図示しない画像処理装置10と、カメラ20と、ロボットアーム30とを備える。カメラ20は、例えば、ロボットアーム30と、ロボットアーム30が把持する対象物となる、バラ積みされたワーク41、42等との両方を撮影可能な位置に設けられる。カメラ20は、例えば、ロボットアーム30と、ワーク41、42の画像とを撮影し、画像処理装置10に出力する。なお、ロボットアーム30とバラ積みされたワーク41,42等とは別々のカメラで撮影してもよい。以下において、ランダムに配置された対象物の画像を、「バラ積み画像」と表記する場合がある。カメラ20には、図1に示されるように、例えば公知のステレオカメラ等、複数の画像を撮影できるカメラが用いられる。画像処理装置10は、カメラ20から出力された画像を用いて、ワーク41、42等の位置および姿勢を推定する。画像処理装置10は、推定されたワーク41、42等の位置および姿勢に基づいて、ロボットアーム30の動作を制御する信号を出力する。ロボットアーム30は、画像処理装置10から出力された信号に基づいて、ワーク41、42等を把持する動作を行う。なお、図1においては、複数の異なる種類のワーク41、42等が開示されているが、ワークの種類は1種類であってもよい。ここでは、ワークが1種類である場合について説明する。また、ワーク41、42等は、位置および姿勢が不規則であるように配置されている。図1に示すように、例えば、複数のワークが上面視において重なるように配置されていてもよい。また、ワーク41、42は、対象物の一例である。
(Object grasping system)
FIG. 1 is an external view showing an example of an object grasping system 1. The object grasping system 1 shown in FIG. 1 includes an image processing device 10, a camera 20, and a robot arm 30 (not shown). The camera 20 is provided, for example, in a position where it can capture images of both the robot arm 30 and bulk-stacked workpieces 41, 42, etc., which are objects to be grasped by the robot arm 30. The camera 20 captures images of the robot arm 30 and the workpieces 41, 42, for example, and outputs the images to the image processing device 10. Note that the robot arm 30 and the bulk-stacked workpieces 41, 42, etc. may be captured by separate cameras. Hereinafter, an image of a randomly arranged object may be referred to as a "bulk-stack image." As shown in FIG. 1, the camera 20 is a camera capable of capturing multiple images, such as a known stereo camera. The image processing device 10 uses the images output from the camera 20 to estimate the positions and orientations of the workpieces 41, 42, etc. The image processing device 10 outputs a signal to control the operation of the robot arm 30 based on the estimated positions and orientations of the workpieces 41, 42, etc. The robot arm 30 performs an operation to grip the workpieces 41, 42, etc. based on the signal output from the image processing device 10. Note that although FIG. 1 discloses multiple different types of workpieces 41, 42, etc., there may be only one type of workpiece. Here, a case where there is only one type of workpiece will be described. Furthermore, the workpieces 41, 42, etc. are arranged so that their positions and orientations are irregular. For example, as shown in FIG. 1, multiple workpieces may be arranged so that they overlap in a top view. Furthermore, the workpieces 41, 42 are an example of a target object.
図2は、物体把持システム1の構成の一例を示すブロック図である。図2に示すように、画像処理装置10は、カメラ20およびロボットアーム30と、ネットワークNWを通じて通信可能に接続されている。また、図2に示すように、画像処理装置10は、通信I/F(インターフェース)11と、入力I/F12と、ディスプレイ13と、記憶回路14と、処理回路15とを備える。 Figure 2 is a block diagram showing an example of the configuration of the object grasping system 1. As shown in Figure 2, the image processing device 10 is communicatively connected to a camera 20 and a robot arm 30 via a network NW. Also as shown in Figure 2, the image processing device 10 includes a communication I/F (interface) 11, an input I/F 12, a display 13, a memory circuit 14, and a processing circuit 15.
通信I/F11は、ネットワークNWを通じた外部装置とのデータ入出力の通信を制御する。例えば、通信I/F11は、ネットワークカードやネットワークアダプタ、NIC(Network Interface Controller)等によって実現され、カメラ20から出力される画像のデータを受信するとともに、ロボットアーム30に出力する信号を送信する。 The communication I/F 11 controls data input/output communication with external devices via the network NW. For example, the communication I/F 11 is implemented by a network card, network adapter, NIC (Network Interface Controller), etc., and receives image data output from the camera 20 and transmits signals to be output to the robot arm 30.
入力I/F12は、処理回路15に接続され、画像処理装置10の管理者(不図示)から受け付けた入力操作を電気信号に変換して処理回路15に出力する。例えば、入力I/F12は、スイッチボタン、マウス、キーボード、タッチパネル等である。 The input I/F 12 is connected to the processing circuit 15 and converts input operations received from an administrator (not shown) of the image processing device 10 into electrical signals and outputs them to the processing circuit 15. For example, the input I/F 12 is a switch button, mouse, keyboard, touch panel, etc.
ディスプレイ13は、処理回路15に接続され、処理回路15から出力される各種情報および各種画像データを表示する。例えば、ディスプレイ13は、液晶モニタやCRT(Cathode Ray Tube)モニタ、タッチパネル等によって実現される。 The display 13 is connected to the processing circuit 15 and displays various information and image data output from the processing circuit 15. For example, the display 13 may be implemented as an LCD monitor, a CRT (Cathode Ray Tube) monitor, a touch panel, etc.
記憶回路14は、例えば、メモリ等の記憶装置により実現される。記憶回路14には、処理回路15により実行される各種のプログラムが記憶されている。また、記憶回路14には、処理回路15により各種のプログラムが実行される際に用いられる各種のデータが一時的に記憶される。記憶回路14は、機械(深層)学習モデル141を有する。さらに、機械(深層)学習モデル141はニューラルネットワーク構造141aと学習パラメータ141bを備えている。ニューラルネットワーク構造141aは、例えば、図5の畳み込みニューラルネットワークb1のような公知のネットワークを応用したもので、後述する図12に示されるネットワーク構造である。学習パラメータ141bは、例えば、畳み込みニューラルネットワークの畳み込みフィルタの重みであり、対象物の位置および姿勢を推定するために学習され、最適化されるパラメータである。ニューラルネットワーク構造141aは、推定部152に備えられていても構わない。なお、本発明における機械(深層)学習モデル141は学習済みモデルを例として説明するが、これに限定されない。なお、以下において、機械(深層)学習モデル141を、単に「学習モデル141」と表記する場合がある。 The memory circuitry 14 is realized, for example, by a storage device such as a memory. The memory circuitry 14 stores various programs executed by the processing circuitry 15. The memory circuitry 14 also temporarily stores various data used when the processing circuitry 15 executes the various programs. The memory circuitry 14 has a machine (deep) learning model 141. The machine (deep) learning model 141 further includes a neural network structure 141a and learning parameters 141b. The neural network structure 141a is, for example, an application of a known network such as the convolutional neural network b1 in FIG. 5, and is the network structure shown in FIG. 12, which will be described later. The learning parameters 141b are, for example, the weights of the convolutional filter of the convolutional neural network, and are parameters that are learned and optimized to estimate the position and orientation of an object. The neural network structure 141a may be provided in the estimation unit 152. Note that, although the machine (deep) learning model 141 in this invention will be described as a trained model, it is not limited thereto. In the following, the machine (deep) learning model 141 may be referred to simply as the "learning model 141."
学習モデル141は、カメラ20から出力された画像から、ワークの位置および姿勢を推定する処理に用いられる。学習モデル141は、例えば、複数のワークの位置および姿勢と、当該複数のワークを撮影した画像とを教師データして学習することにより生成される。なお、ここでは、学習モデル141が、例えば、処理回路15により生成されるが、これに限られず、外部のコンピュータにより生成されてもよい。 The learning model 141 is used in the process of estimating the position and orientation of a workpiece from images output by the camera 20. The learning model 141 is generated, for example, by learning using the positions and orientations of multiple workpieces and images of the multiple workpieces as training data. Here, the learning model 141 is generated, for example, by the processing circuit 15, but is not limited to this and may also be generated by an external computer.
処理回路15は、CPU(Central Processing Unit)等のプロセッサにより実現される。処理回路15は、画像処理装置10全体を制御する。処理回路15は、記憶回路14に記憶された各種のプログラムを読み取り、読み取ったプログラムを実行することで、各種の処理を実行する。例えば、処理回路15は、画像取得部151と、推定部152と、ロボット制御部153とを有することとなる。 The processing circuitry 15 is implemented by a processor such as a CPU (Central Processing Unit). The processing circuitry 15 controls the entire image processing device 10. The processing circuitry 15 reads various programs stored in the memory circuitry 14 and executes the read programs to perform various processes. For example, the processing circuitry 15 includes an image acquisition unit 151, an estimation unit 152, and a robot control unit 153.
画像取得部151は、例えば、通信I/F11を通じて、バラ積み画像を取得し、推定部152に出力する。画像取得部151は、取得部の一例である。 The image acquisition unit 151 acquires a bulk pile image, for example, via the communication I/F 11, and outputs it to the estimation unit 152. The image acquisition unit 151 is an example of an acquisition unit.
推定部152は、出力されたバラ積み画像を用いて、対象物の位置および姿勢を推定する。推定部152は、例えば、学習モデル141を用いて、対象物の画像に対する推定処理を行い、推定結果をロボット制御部153に出力する。なお、推定部152は、例えば、対象物が配置されるトレイ等の位置および姿勢をさらに推定してもよい。トレイの位置および姿勢を推定する構成については、後に説明する。 The estimation unit 152 estimates the position and orientation of the object using the output image of the bulk pile. The estimation unit 152 performs estimation processing on the image of the object using, for example, the learning model 141, and outputs the estimation result to the robot control unit 153. Note that the estimation unit 152 may also estimate, for example, the position and orientation of a tray or the like on which the object is placed. The configuration for estimating the position and orientation of the tray will be described later.
ロボット制御部153は、推定された対象物の位置および姿勢に基づいて、ロボットアーム30を制御する信号を生成し、通信I/F11を通じてロボットアーム30に出力する。ロボット制御部153は、例えば、現在のロボットアーム30の位置および姿勢に関する情報を取得する。そして、ロボット制御部153は、現在のロボットアーム30の位置および姿勢と、推定された対象物の位置および姿勢に応じて、ロボットアーム30が対象物を把持する際に移動する軌道を生成する。なお、ロボット制御部153は、トレイ等の位置および姿勢に基づいて、ロボットアーム30が移動する軌道を修正してもよい。 The robot control unit 153 generates a signal to control the robot arm 30 based on the estimated position and orientation of the object, and outputs it to the robot arm 30 via the communication I/F 11. The robot control unit 153, for example, acquires information regarding the current position and orientation of the robot arm 30. The robot control unit 153 then generates a trajectory for the robot arm 30 to move when grasping the object, based on the current position and orientation of the robot arm 30 and the estimated position and orientation of the object. The robot control unit 153 may also modify the trajectory for the robot arm 30 to move based on the position and orientation of a tray, etc.
図3は、ロボットアームの制御に関する処理の一例を示す図である。図3に示すように、推定部152は、バラ積み画像から、ターゲットとなる対象物の位置および姿勢を推定する。同様に、推定部152は、バラ積み画像から、対象物が配置されたトレイ等の位置および姿勢を推定してもよい。ロボット制御部153は、推定された対象物およびトレイ等のモデルに基づいて、ロボットアーム30の手先の位置の座標および姿勢を算出し、ロボットアーム30の軌道を生成する。 Figure 3 is a diagram showing an example of processing related to the control of a robot arm. As shown in Figure 3, the estimation unit 152 estimates the position and orientation of a target object from the bulk pile image. Similarly, the estimation unit 152 may estimate the position and orientation of a tray or other object on which the object is placed from the bulk pile image. The robot control unit 153 calculates the coordinates and orientation of the position of the hand of the robot arm 30 based on the estimated models of the object and tray, etc., and generates a trajectory for the robot arm 30.
なお、ロボット制御部153は、ロボットアーム30が対象物を把持した後に、把持した対象物を整列させるためのロボットアーム30の動作を制御する信号を、さらに出力してもよい。図4は、ロボットアームの制御に関する処理の別の一例を示す図である。図4に示すように、画像取得部151は、カメラ20により撮影された、ロボットアーム30により把持された対象物を撮影した画像を取得する。推定部152は、ターゲットとなる、ロボットアーム30に把持された対象物の位置および姿勢を推定し、ロボット制御部153に出力する。また、画像取得部151は、カメラ20により撮影された、把持された対象物の移動先となる、整列先のトレイ等の画像をさらに取得してもよい。その際、画像取得部151は、整列先のトレイ等に既に整列された対象物の画像(整列済み画像)をさらに取得する。推定部152は、整列先の画像、または整列済み画像から、整列先となるトレイ等の位置および姿勢、並びに既に整列済みである対象物の位置および姿勢を推定する。そして、ロボット制御部153は、推定された、ロボットアーム30に把持された対象物の位置および姿勢、整列先となるトレイ等の位置および姿勢、並びに既に整列済みである対象物の位置および姿勢に基づいて、ロボットアーム30の手先の位置の座標および姿勢を算出し、対象物を整列させる際のロボットアーム30の軌道を生成する。 In addition, the robot control unit 153 may further output a signal to control the operation of the robot arm 30 to align the grasped objects after the robot arm 30 has grasped the objects. Figure 4 is a diagram showing another example of processing related to robot arm control. As shown in Figure 4, the image acquisition unit 151 acquires an image of the object grasped by the robot arm 30, taken by the camera 20. The estimation unit 152 estimates the position and posture of the target object grasped by the robot arm 30, and outputs the image to the robot control unit 153. The image acquisition unit 151 may also acquire an image of a destination tray, etc., taken by the camera 20, to which the grasped object will be moved. In this case, the image acquisition unit 151 further acquires an image (aligned image) of the objects already aligned on the destination tray, etc. From the destination image or the aligned image, the estimation unit 152 estimates the position and posture of the destination tray, etc., and the position and posture of the objects already aligned. The robot control unit 153 then calculates the coordinates and orientation of the position of the tip of the robot arm 30 based on the estimated position and orientation of the object held by the robot arm 30, the position and orientation of the tray or other object to be aligned, and the positions and orientations of objects that have already been aligned, and generates a trajectory for the robot arm 30 when aligning the objects.
次に、推定部152における推定処理について説明する。推定部152は、例えば公知のダウンサンプリング、アップサンプリング、スキップコネクションを持つ物体検出モデルを応用したモデルを用いて、対象物の特徴量を抽出する。図5は、検出モデルの一例を示す図である。図5に示す物体検出モデルにおいて、d1層は、例えばバラ積み画像P1(320×320ピクセル)を畳み込みニューラルネットワークb1を介してダウンサンプリングによって縦横40×40グリッドに区分し、各グリッドについて複数の特徴量(例えば256種類)を算出する。また、d1層より下位の層にあたるd2層は、d1層で区分されたグリッドを、d1層よりも粗く(例えば20×20グリッドに)区分して、各グリッドの特徴量を算出する。同様に、d1層およびd2層よりも下位の層にあたるd3層およびd4層は、d2層で区分されたグリッドを、それぞれより粗く区分する。d4層はアップサンプリングによって、より精細な区分で特徴量を算出し、同時にスキップコネクションs3によりd3層の特徴量と統合してu3層を生成する。スキップコネクションは、単純な加算、特徴量の連結でも良く、d3層の特徴量に対して畳み込みニューラルネットワークのような変換が加えられていても良い。同様にu3層をアップサンプリングして算出した特徴量とd2層の特徴量をスキップコネクションs2により統合してu2層を生成する。さらに同様にu1層を生成する。この結果、u1層においては、d1層と同様に、40×40グリッドに区分された各グリッドの特徴量が算出される。 Next, the estimation process performed by the estimation unit 152 will be described. The estimation unit 152 extracts features of an object using, for example, a model that applies known downsampling, upsampling, and skip connection object detection models. Figure 5 illustrates an example of a detection model. In the object detection model shown in Figure 5, the d1 layer divides, for example, a bulk pile image P1 (320 x 320 pixels) into a 40 x 40 grid by downsampling via a convolutional neural network b1, and calculates multiple features (e.g., 256 types) for each grid. The d2 layer, which is a layer below the d1 layer, divides the grid divided by the d1 layer more coarsely (e.g., into a 20 x 20 grid) and calculates the features of each grid. Similarly, the d3 and d4 layers, which are layers below the d1 and d2 layers, divide the grid divided by the d2 layer more coarsely. The d4 layer uses upsampling to calculate features at finer divisions, and at the same time, skip connections s3 are used to integrate these with the features of the d3 layer to generate the u3 layer. The skip connections may be simple additions or concatenations of features, or they may involve transformations such as those used in convolutional neural networks being applied to the features of the d3 layer. Similarly, the u2 layer is generated by integrating the features calculated by upsampling the u3 layer with the features of the d2 layer using skip connections s2. The u1 layer is then generated in a similar manner. As a result, in the u1 layer, features for each grid divided into a 40x40 grid are calculated, just like in the d1 layer.
図6は、特徴検出層(u1)が出力する特徴マップの一例を示す図である。図6に示す特徴マップの水平方向は、40×40のグリッドに区分されたバラ積み画像P1の水平方向の各グリッドを示し、垂直方向は、垂直方向の各グリッドを示す。また、図6に示す特徴マップの奥行方向は、各グリッドにおける特徴量の要素を示す。 Figure 6 shows an example of a feature map output by the feature detection layer (u1). The horizontal direction of the feature map shown in Figure 6 indicates each horizontal grid of the bulk pile image P1, which is divided into a 40 x 40 grid, and the vertical direction indicates each vertical grid. Furthermore, the depth direction of the feature map shown in Figure 6 indicates the feature element in each grid.
図7は、対象物の位置および姿勢の推定結果の一例を示す図である。図7に示すように、推定部は、対象物の位置を示す2次元座標(Δx,Δy)、対象物の姿勢を示すクオタニオン(qx,qy,qz,qw)、およびクラス分類のスコア(C0,C1,…,Cn)を出力する。なお、ここでは、推定結果として、対象物の位置を示す座標のうち、カメラ20から対象物までの距離を示す深度の値は算出されない。深度の値を算出する構成については、後に説明する。なお、ここで言う深度とは、カメラの光軸に平行なz軸方向における、カメラのz座標から対象物のz座標までの距離をいう。なお、クラス分類のスコアはグリッドごとに出力される値であって、そのグリッドに対象物の中心点が含まれている確率である。例えば、対象物の種類がn種類だった場合に、これに“対象物の中心点が含まれていない確率”を加えてn+1個のクラス分類のスコアが出力される。例えば、対象物となるワークが1種類のみの場合は、2個のクラス分類のスコアが出力される。また、同一グリッド内に複数の対象物が存在する場合、より上に積まれている物体の確率を出力する。 Figure 7 shows an example of the estimation results for the position and orientation of an object. As shown in Figure 7, the estimation unit outputs two-dimensional coordinates (Δx, Δy) indicating the position of the object, quaternions (qx, qy, qz, qw) indicating the orientation of the object, and classification scores (C0, C1, ..., Cn). Note that, among the coordinates indicating the position of the object, the depth value indicating the distance from the camera 20 to the object is not calculated as the estimation result. The configuration for calculating the depth value will be explained later. Note that depth here refers to the distance from the z coordinate of the camera to the z coordinate of the object in the z-axis direction parallel to the optical axis of the camera. Note that the classification score is a value output for each grid and is the probability that the center point of the object is included in that grid. For example, if there are n types of objects, the probability that the center point of the object is not included is added to this, and n+1 classification scores are output. For example, if there is only one type of object, two classification scores are output. Also, if there are multiple objects in the same grid, the probability of the object stacked higher is output.
図7において、点CはグリッドGxの中心を示し、座標(Δx,Δy)である点ΔCは、例えば、検出された対象物の中心点を示す。すなわち、図7に示す例において、対象物の中心は、グリッドGxの中心点Cから、x軸方向にΔx、y軸方向にΔyだけオフセットしている。 In Figure 7, point C indicates the center of grid Gx, and point ΔC with coordinates (Δx, Δy) indicates, for example, the center point of a detected object. That is, in the example shown in Figure 7, the center of the object is offset from center point C of grid Gx by Δx in the x-axis direction and Δy in the y-axis direction.
なお、図7に代えて、図8に示すように対象物の中心以外の任意の点a、b、cを設定し、グリッドGxの中心の点Cからの任意の点a、b、cの座標(Δx1,Δy1、Δz1、Δx2,Δy2、Δz2、x3,Δy3、Δz3)を出力してもよい。なお、任意の点は対象物のどの位置に設定してもよく、1点でも複数の点でも構わない。 Instead of Figure 7, as shown in Figure 8, arbitrary points a, b, and c other than the center of the object can be set, and the coordinates (Δx1, Δy1, Δz1, Δx2, Δy2, Δz2, x3, Δy3, Δz3) of the arbitrary points a, b, and c from point C, the center of grid Gx, can be output. The arbitrary points can be set anywhere on the object, and can be one point or multiple points.
なお、対象物の大きさに比してグリッドの区分が粗いと、複数の対象物が一つのグリッドに入ってしまい、各対象物の特徴が交じり合って誤検出するおそれがあるため、ここでは、最終的に生成された精細な(40×40グリッドの)特徴量が算出される特徴抽出層(u1)の出力である特徴マップのみ利用する。 Note that if the grid divisions are too coarse compared to the size of the objects, multiple objects may fit into one grid, causing the features of each object to blend together and result in false detection. Therefore, here we only use the feature map, which is the output of the feature extraction layer (u1), which calculates the fine (40x40 grid) features ultimately generated.
また、ここでは、例えばステレオカメラを用いて、左右2種類の画像を撮影することにより、カメラ20から対象物までの距離を特定する。図9は、ステレオカメラにより撮影されたバラ積み画像の一例を示す図である。図9に示すように、画像取得部151は、左画像P1Lおよび右画像P1Rの2種類のバラ積み画像を取得する。また、推定部152は、左画像P1Lおよび右画像P1Rの両方に対して、学習モデル141を用いた推定処理を行う。なお、推定処理を行う際に、左画像P1Lに対して用いられる学習パラメータ141bの一部、またはすべてを、右画像P1Rに対する重み付けとして共有してもよい。なお、ステレオカメラではなく、1台のカメラを用い、カメラの位置をずらして、2か所で左右2種の画像に相当する画像を撮影してもよい。 Here, the distance from the camera 20 to the object is determined by capturing two types of left and right images using, for example, a stereo camera. Figure 9 is a diagram showing an example of a bulk pile image captured by a stereo camera. As shown in Figure 9, the image acquisition unit 151 acquires two types of bulk pile images, a left image P1L and a right image P1R. The estimation unit 152 also performs estimation processing using the learning model 141 on both the left image P1L and the right image P1R. When performing the estimation processing, some or all of the learning parameters 141b used for the left image P1L may be shared as weighting for the right image P1R. Instead of a stereo camera, a single camera may be used, and images equivalent to two types of left and right images may be captured at two different positions by shifting the camera's position.
そこで、ここでは、推定部152は、左画像P1Lの特徴量と、右画像P1Rの特徴量とを組み合わせたマッチングマップを用いることにより、対象物の誤認識を抑制する。マッチングマップは、各特徴量について、右画像P1Rと左画像P1Lとで特徴量の相関の強弱を示す。すなわち、マッチングマップを用いることにより、各画像における特徴量に着目して、左画像P1Lと右画像P1Rとのマッチングを図ることができる。 Here, the estimation unit 152 suppresses erroneous recognition of objects by using a matching map that combines the feature amounts of the left image P1L and the feature amounts of the right image P1R. The matching map indicates the strength of correlation between the feature amounts of the right image P1R and the left image P1L for each feature amount. In other words, by using the matching map, it is possible to match the left image P1L and the right image P1R by focusing on the feature amounts in each image.
図10は、バラ積み画像とマッチングマップとの関係の一例を示す図である。図10に示すように、左画像P1Lを基準とし、右画像P1Rとの対応をとったマッチングマップMLにおいては、左画像P1Lの対象物W1Lの中心点が含まれるグリッドの特徴量と、右画像P1Rに含まれる特徴量との相関が最も大きいグリッドMLaが強調して表示される。同様に、右画像P1Rを基準とし、左画像P1Lとの対応をとったマッチングマップMRにおいても、右画像P1Rの対象物W1Rの中心点が含まれるグリッドの特徴量と、左画像P1Lに含まれる特徴量との相関が最も大きいグリッドMRaが強調して表示される。また、マッチングマップMLにおいて相関が最も大きいグリッドMLaは、左画像P1Lにおける対象物W1Lが位置するグリッドに対応し、マッチングマップMRにおいて相関が最も大きいグリッドMRaは、右画像P1Rにおける対象物W1Rが位置するグリッドに対応する。これにより、左画像P1Lにおいて対象物W1Lが位置するグリッドと、右画像P1Rにおいて対象物W1Rが位置するグリッドとが一致することを特定できる。すなわち、図9においては、一致するグリッドは、左画像P1LのグリッドG1Lと、右画像P1RのグリッドG1Rである。これにより、左画像P1Lにおける対象物W1LのX座標と、右画像P1Rにおける対象物W1RのX座標とに基づいて、対象物W1に対する視差を特定できるので、カメラ20から対象物W1までの深度zを特定することができる。 Figure 10 shows an example of the relationship between a bulk pile image and a matching map. As shown in Figure 10, in the matching map ML, which is based on the left image P1L and corresponds to the right image P1R, the grid MLa that has the highest correlation between the feature of the grid containing the center point of the object W1L in the left image P1L and the feature of the right image P1R is highlighted. Similarly, in the matching map MR, which is based on the right image P1R and corresponds to the left image P1L, the grid MRa that has the highest correlation between the feature of the grid containing the center point of the object W1R in the right image P1R and the feature of the left image P1L is highlighted. Furthermore, the grid MLa with the highest correlation in the matching map ML corresponds to the grid where the object W1L in the left image P1L is located, and the grid MRa with the highest correlation in the matching map MR corresponds to the grid where the object W1R in the right image P1R is located. This makes it possible to determine that the grid on which object W1L is located in the left image P1L matches the grid on which object W1R is located in the right image P1R. That is, in FIG. 9, the matching grids are grid G1L in the left image P1L and grid G1R in the right image P1R. This makes it possible to determine the parallax for object W1 based on the X coordinate of object W1L in the left image P1L and the X coordinate of object W1R in the right image P1R, and therefore the depth z from camera 20 to object W1 can be determined.
図11は、推定処理の一例を示すフローチャートである。また、図12は、推定処理の一例を示す図である。以降、図9~図12を用いて説明する。まず、画像取得部151は、図9に示す左画像P1Lおよび右画像P1Rのように、対象物の左右の各画像を取得する(ステップS201)。次に、推定部152は、左右の各画像の水平方向の各グリッドについて、特徴量を算出する。ここで、上で述べたように、各画像を40×40のグリッドに区分し、各グリッドについて256個の特徴量を算出する場合、各画像の水平方向において、式(1)の左辺第1項および第2項(第1項の行列と第2項の行列の積)に示すような40行40列の行列が得られる。 Figure 11 is a flowchart showing an example of the estimation process. Figure 12 is a diagram showing an example of the estimation process. The following description will be made using Figures 9 to 12. First, the image acquisition unit 151 acquires left and right images of the object, such as the left image P1L and right image P1R shown in Figure 9 (step S201). Next, the estimation unit 152 calculates feature amounts for each grid in the horizontal direction of each of the left and right images. Here, as described above, if each image is divided into a 40 x 40 grid and 256 feature amounts are calculated for each grid, a 40-by-40 matrix is obtained in the horizontal direction of each image, as shown in the first and second terms on the left side of equation (1) (the product of the matrix of the first term and the matrix of the second term).
次に、推定部152は、図12に示す処理mを実行する。まず、推定部152は、例えば、式(1)により、左画像P1Lから抽出した特定の列の特徴量に、右画像P1Rから抽出した同じ列の特徴量を転置したものの行列積を計算する。式(1)において、左辺第1項は、左画像P1Lの特定の列の水平方向における1番目のグリッドにおける各特徴量l11乃至l1nが、それぞれ行方向に並んでいる。一方、式(1)の左辺第2項においては、右画像P1R特定の列の水平方向における1番目のグリッドの各特徴量r11乃至r1nが、それぞれ列方向に並んでいる。すなわち、左辺第2項の行列は、右画像P1Rの特定の列の水平方向にグリッドの各特徴量r11乃至r1mがそれぞれ行方向に並んだ行列を転置したものである。また、式(1)の右辺は、左辺第1項の行列と、左辺第2項の行列の行列積とを計算したものである。式(1)の右辺の1列目は、右画像P1Rから抽出した1グリッド目の特徴量と左画像P1Lから抽出した特定の列の水平方向の各グリッドの特徴量の相関を表し、1行目は、左画像P1Lから抽出した1グリッド目の特徴量と右画像P1Rから抽出した特定の列の水平方向の各グリッドの特徴量の相関を表す。すなわち、式(1)の右辺は、左画像P1Lの各グリッドの特徴量と、右画像P1Rの各グリッドの特徴量との相関マップを示す。なお、式(1)において、添字「m」は各画像の水平方向のグリッドの位置を示し、添え字「n」は各グリッドにおける特徴量の番号を示す。すなわち、mは1~40であり、nは1~256である。 Next, the estimation unit 152 executes process m shown in FIG. 12. First, the estimation unit 152 calculates the matrix product of the feature quantities extracted from a specific column of the left image P1L and the transposed feature quantities extracted from the same column of the right image P1R, for example, using equation (1). In equation (1), the first term on the left side represents the feature quantities l11 to l1n in the first grid in the horizontal direction of a specific column of the left image P1L, arranged in the row direction. Meanwhile, the second term on the left side of equation (1) represents the feature quantities r11 to r1n in the first grid in the horizontal direction of a specific column of the right image P1R, arranged in the column direction. In other words, the matrix in the second term on the left side is the transposed matrix of the feature quantities r11 to r1m in the horizontal direction of a specific column of the right image P1R, arranged in the row direction. The right side of equation (1) is calculated by multiplying the matrix in the first term on the left side by the matrix in the second term on the left side. The first column on the right side of equation (1) represents the correlation between the feature amount of the first grid extracted from the right image P1R and the feature amount of each horizontal grid in a specific column extracted from the left image P1L, and the first row represents the correlation between the feature amount of the first grid extracted from the left image P1L and the feature amount of each horizontal grid in a specific column extracted from the right image P1R. In other words, the right side of equation (1) represents a correlation map between the feature amount of each grid in the left image P1L and the feature amount of each grid in the right image P1R. Note that in equation (1), the subscript "m" indicates the horizontal grid position of each image, and the subscript "n" indicates the feature number in each grid. In other words, m is 1 to 40, and n is 1 to 256.
次に、推定部152は、算出された相関マップを用いて、行列(1)に示すような左画像P1Lに対する右画像P1RのマッチングマップMLを算出する。左画像P1Lに対する右画像P1RのマッチングマップMLは、例えば、相関マップの行方向に対してSoftmax関数を適用することにより算出される。これにより、水平方向の相関の値を正規化している。つまり、行方向の値をすべて合計すると1になるよう変換している。 Next, the estimation unit 152 uses the calculated correlation map to calculate a matching map ML of the right image P1R for the left image P1L, as shown in matrix (1). The matching map ML of the right image P1R for the left image P1L is calculated, for example, by applying the Softmax function to the row direction of the correlation map. This normalizes the correlation values in the horizontal direction. In other words, the values in the row direction are converted so that the sum of all values equals 1.
次に、推定部152は、算出されたマッチングマップMLに、例えば、式(2)により、右画像P1Rから抽出された特徴量を畳み込む。式(2)の左辺第1項は、行列(1)を転置したものであり、左辺第2項は、式(1)の左辺第2項の行列である。なお、本発明では、相関を取るための特徴量と、マッチングマップに畳み込むための特徴量とは同じものを用いているが、抽出された特徴量から畳み込みニューラルネットワーク等によって、新たに相関を取るための特徴量と畳み込むための特徴量を別々に生成しても良い。 Next, the estimation unit 152 convolves the feature quantities extracted from the right image P1R into the calculated matching map ML, for example, using equation (2). The first term on the left side of equation (2) is the transpose of matrix (1), and the second term on the left side is the matrix of the second term on the left side of equation (1). Note that in the present invention, the feature quantities used to determine correlation and the feature quantities used to convolve into the matching map are the same; however, new feature quantities for determining correlation and feature quantities for convolution may be generated separately from the extracted feature quantities using a convolutional neural network or the like.
次に、推定部152は式(2)で得られた特徴量を左画像P1Lから抽出された特徴量に連結させて、例え畳み込みニューラルネットワークによって新たな特徴量を生成する。このように、左右の画像の特徴量を統合することにより、位置、姿勢の推定精度が向上する。なお、図12における処理mは複数回繰り返しても良い。 Next, the estimation unit 152 concatenates the feature obtained by equation (2) with the feature extracted from the left image P1L to generate new feature using, for example, a convolutional neural network. In this way, by integrating the feature values of the left and right images, the accuracy of position and orientation estimation is improved. Note that process m in Figure 12 may be repeated multiple times.
次に、推定部152はここで得られた特徴量から、例えば畳み込みニューラルネットワークによって位置、姿勢およびクラス分類を推定する。あわせて、推定部152は、算出された相関マップを用いて、行列(2)に示すような右画像P1Rに対する左画像P1LのマッチングマップMRを算出する(ステップS202)。右画像P1Rに対する左画像P1LのマッチングマップMRも、左画像P1Lに対する右画像P1RのマッチングマップMLと同様に、例えば、相関マップの行方向に対してSoftmax関数を適用することにより算出される。 Next, the estimation unit 152 estimates the position, orientation, and class classification from the feature quantities obtained here, for example, using a convolutional neural network. Additionally, the estimation unit 152 uses the calculated correlation map to calculate a matching map MR of the left image P1L with respect to the right image P1R, as shown in matrix (2) (step S202). The matching map MR of the left image P1L with respect to the right image P1R is calculated, for example, by applying the Softmax function to the row direction of the correlation map, similar to the matching map ML of the right image P1R with respect to the left image P1L.
次に、推定部152は、算出されたマッチングマップに、例えば、式(3)により、左画像P1Lの特徴量を畳み込む。式(3)の左辺第1項は、行列(2)であり、左辺第2項は、式(1)の左辺第2項の行列の転置前のものである。 Next, the estimation unit 152 convolves the feature quantities of the left image P1L into the calculated matching map, for example, using equation (3). The first term on the left side of equation (3) is matrix (2), and the second term on the left side is the matrix of the second term on the left side of equation (1) before transposition.
次に推定部152は、あらかじめ設定しておいた閾値と、左画像P1Lから推定したターゲット(対象物)のクラス分類の推定結果が一番大きいグリッドを選択して比較する(ステップS203)。閾値をこえていなかった場合は、ターゲットが無いとして終了する。閾値をこえていた場合は、そのグリッドに対する右画像P1RとのマッチングマップMLから、一番大きい値のグリッドを選択する(ステップS204)。 The estimation unit 152 then selects and compares a preset threshold with the grid with the largest estimated result of the target (object) class classification estimated from the left image P1L (step S203). If the threshold is not exceeded, it is determined that there is no target and the process ends. If the threshold is exceeded, the grid with the largest value is selected from the matching map ML between that grid and the right image P1R (step S204).
次に、選択したグリッドにおいて、右画像P1Rのターゲットのクラス分類の推定結果とあらかじめ設定しておいた閾値とを比較する(ステップS208)。閾値をこえていた場合は、そのグリッドに対する左画像P1LとのマッチングマップMLから一番大きい値のグリッドを選択する(ステップS209)。閾値を超えていない場合は、左画像P1Lの推定結果から選択したグリッドのクラス分類スコアを0にしてステップS203へ戻る(ステップS207)。 Next, for the selected grid, the estimated result of the target's class classification in the right image P1R is compared with a preset threshold (step S208). If the threshold is exceeded, the grid with the largest value is selected from the matching map ML for that grid and the left image P1L (step S209). If the threshold is not exceeded, the class classification score of the grid selected from the estimated result of the left image P1L is set to 0 and the process returns to step S203 (step S207).
次に、ステップS209にて選択したマッチングマップMLのグリッドと、ステップS204にて左画像P1Lの推定結果から選択したグリッドが等しいかを比較する(ステップS210)。グリッドが異なる場合は、ステップS204にて左画像P1Lの推定結果から選択したグリッドのクラス分類スコアを0にして、ステップS203のグリッドの選択に戻る(ステップS207)。最終的に、左画像P1Lおよび右画像P1Rで選択したグリッドの位置情報(例えば、図1における水平方向xの値)の検出結果から視差を算出する(ステップS211)。 Next, the grid of the matching map ML selected in step S209 is compared with the grid selected from the estimation results of the left image P1L in step S204 to determine whether they are equal (step S210). If the grids are different, the classification score of the grid selected from the estimation results of the left image P1L in step S204 is set to 0, and the process returns to grid selection in step S203 (step S207). Finally, the parallax is calculated from the detection results of position information (e.g., the horizontal x value in Figure 1) of the grids selected in the left image P1L and right image P1R (step S211).
次に、ステップS211から算出した視差をもとに、ターゲットの深度を算出する(ステップS212)。なお、複数のターゲットに対して深度を算出する場合は、ステップS211の後、左画像P1Lおよび右画像P1Rの推定結果から選択したグリッドのクラス分類スコアを0にしてからステップS203に戻り、以後、ステップS212までを繰り返せば良い。 Next, the depth of the target is calculated based on the parallax calculated in step S211 (step S212). Note that if depth is being calculated for multiple targets, after step S211, the class classification score of the grid selected from the estimation results of the left image P1L and the right image P1R is set to 0, and then the process returns to step S203, and the process is repeated up to step S212.
以上述べたように、画像処理装置10は、取得部と、推定部と、を備える。取得部は、バラ積みされたワークを撮影した第1の画像および第2の画像を取得する。推定部は、第1の画像の特徴量と、第2の画像の特徴量とのマッチングマップを生成し、第1の画像と第2の画像それぞれに対してターゲットとなる各ワークの位置と姿勢とクラス分類スコアを推定し、前記アテンションマップを用いたマッチング結果と位置の推定結果に基づいて、ワーク位置を推定することにより、ステレオカメラからワークまでの深度を算出する。これにより、物体認識における誤検出を抑制できる。 As described above, the image processing device 10 includes an acquisition unit and an estimation unit. The acquisition unit acquires a first image and a second image of randomly stacked workpieces. The estimation unit generates a matching map between the feature amounts of the first image and the feature amounts of the second image, estimates the position, orientation, and class classification score of each target workpiece for each of the first and second images, and calculates the depth from the stereo camera to the workpiece by estimating the workpiece position based on the matching results and position estimation results using the attention map. This makes it possible to reduce false detections in object recognition.
(画像処理の変形例)
以上、物体把持システム1について説明したが、上記の説明内容に限定されるものではなく、その趣旨を逸脱しない限りにおいて種々の変更が可能である。例えば、対象物(ワーク)が1種類である場合について説明したが、これに限られず、画像処理装置10が、複数のワークの種類を検出するような構成であってもよい。また、画像処理装置10は、対象物を検出するだけでなく、対象物が配置されたトレイ等の位置や姿勢をさらに検出してもよい。図13は、変形例に係るトレイを含むバラ積み画像の一例を示す図である。図13に示す例において、画像処理装置10は、対象物が配置されたトレイの位置および姿勢を特定することにより、ロボットアーム30がトレイに衝突しないような軌道を設定することができる。なお、検出する対象であるトレイは、障害物の一例である。画像処理装置10は、トレイ以外のその他の障害物となるものを検出するような構成であってもよい。
(Image Processing Variations)
The object grasping system 1 has been described above, but is not limited to the above description and various modifications are possible without departing from the spirit of the system. For example, while the description has been given of a single type of object (workpiece), the present invention is not limited to this configuration and the image processing device 10 may be configured to detect multiple types of workpieces. Furthermore, the image processing device 10 may not only detect the object but also detect the position and orientation of a tray on which the object is placed. FIG. 13 is a diagram showing an example of a bulk pile image including a tray according to a modified example. In the example shown in FIG. 13, the image processing device 10 identifies the position and orientation of the tray on which the object is placed, thereby enabling the robot arm 30 to set a trajectory that will prevent the robot arm 30 from colliding with the tray. The tray, which is the object to be detected, is an example of an obstacle. The image processing device 10 may also be configured to detect obstacles other than trays.
また、画像処理装置10が、例えばバラ積み画像を40×40のグリッドに区分する例について説明したが、これに限られず、より細かな、あるいは、より粗いグリッドに区分して対象物を検出してもよく、また画素単位で推定処理を行ってもよい。これにより、画像処理装置10は、より精度よくカメラと対象物との距離を算出することができる。図14は、変形例に係る位置ずれ推定モデルの一例を示す図である。図14に示すように、画像処理装置10は、左画像P1Lと右画像P1Rのうち、推定位置周辺のグリッドよりもサイズが小さい部分を切り出して結合してもよい。そして、前述した推定処理と同様に推定処理を行い、処理結果に基づいて位置ずれを推定してもよい。 Furthermore, while an example has been described in which the image processing device 10 divides the bulk image into, for example, a 40 x 40 grid, this is not limiting and the object may be detected by dividing it into finer or coarser grids, or estimation processing may be performed on a pixel-by-pixel basis. This allows the image processing device 10 to calculate the distance between the camera and the object with greater accuracy. Figure 14 is a diagram showing an example of a positional deviation estimation model according to a modified example. As shown in Figure 14, the image processing device 10 may cut out and combine portions of the left image P1L and right image P1R that are smaller in size than the grid around the estimated position. Then, estimation processing may be performed in the same manner as the estimation processing described above, and the positional deviation may be estimated based on the processing results.
また、細かな、あるいは、粗いグリッド単位や画素単位で推定処理を行う場合に、前述したのと同様に、左画像P1Lと右画像P1Rとで、それぞれ個別に推定処理を行ってもよい。図15は、変形例に係る位置ずれ推定モデルの別の一例を示す図である。図15に示す例では、画像処理装置10は、左画像P1Lと右画像P1Rとに対し、それぞれ別々に推定処理を行う。この場合においても、画像処理装置10は、前述したのと同様に、それぞれの推定処理を行う際に、左画像P1Lに対する重み付けを、右画像P1Rに対する重み付けと共有してもよい。 Furthermore, when performing estimation processing in fine or coarse grid units or pixel units, estimation processing may be performed separately for each of the left image P1L and the right image P1R, as described above. Figure 15 is a diagram showing another example of a position shift estimation model according to a modified example. In the example shown in Figure 15, the image processing device 10 performs estimation processing separately for each of the left image P1L and the right image P1R. Even in this case, the image processing device 10 may share the weighting for the left image P1L with the weighting for the right image P1R when performing each estimation processing, as described above.
また、以上述べた定処理を、バラ積みされたワーク41、42の画像に対してではなく、ロボットアーム30や、ロボットアーム30に保持されたワーク41、42、または整列先に整列されたワーク41、42に対して行ってもよい。 Furthermore, the above-described fixed processing may be performed not on images of the bulk piled workpieces 41 and 42, but on the robot arm 30, the workpieces 41 and 42 held by the robot arm 30, or the workpieces 41 and 42 aligned at the alignment destination.
(対象群3次元データの取得および学習)
以下、複数の対象物を含む対象群の3次元データを取得する構成、および取得したデータを用いて対象群の3次元データを生成する構成について説明する。図16は、対象群3次元データの取得(測定)および対象群の3次元モデル生成のためのシステムの構成の一例を示すブロック図である。図16において、処理装置110と3次元データ測定装置140とは、ネットワークNWを通じて通信可能に接続されている。また、処理装置110は、通信I/F(インターフェース)111と、入力I/F112と、ディスプレイ113と、記憶回路114と、処理回路115とを備える。
(Acquisition and learning of three-dimensional data of a subject group)
The following describes a configuration for acquiring three-dimensional data of an object group including multiple objects, and a configuration for generating three-dimensional data of the object group using the acquired data. Fig. 16 is a block diagram showing an example of the configuration of a system for acquiring (measuring) three-dimensional data of an object group and generating a three-dimensional model of the object group. In Fig. 16, a processing device 110 and a three-dimensional data measuring device 140 are communicatively connected via a network NW. The processing device 110 also includes a communication I/F (interface) 111, an input I/F 112, a display 113, a memory circuit 114, and a processing circuit 115.
3次元データ測定装置140は、プロジェクタ120、ステレオカメラ131および132、並びに3Dスキャナ用カメラ150と接続されている。3次元データ測定装置140は、通信I/F146と、入力I/F142と、ディスプレイ143と、記憶回路144と、処理回路145とを備える。なお、以下において、ステレオカメラ131および132を区別せずに表現する場合に、単にカメラ130と表記する場合がある。 The three-dimensional data measuring device 140 is connected to the projector 120, the stereo cameras 131 and 132, and the 3D scanner camera 150. The three-dimensional data measuring device 140 includes a communication I/F 146, an input I/F 142, a display 143, a memory circuit 144, and a processing circuit 145. Note that, below, when there is no need to distinguish between the stereo cameras 131 and 132, they may be simply referred to as camera 130.
プロジェクタ120は、可視光よりも波長の短い光(例えば、UV(紫外線)光)による所定のパターンの照射(投影)が可能であるとともに、可視光による照明が可能となっている。可視光による照明は、白色光による照明で行っても良いし、赤色光、青色光、及び緑色光のそれぞれによる照明や、想定される室内灯の色味に合わせた照明でもよい。プロジェクタ120とは別に、可視光の照明装置が設けられるのでもよい。カメラ130は、可視光を撮影可能なカラーカメラまたはモノクロカメラである。 Projector 120 is capable of irradiating (projecting) a predetermined pattern using light with a shorter wavelength than visible light (for example, UV (ultraviolet) light), and is also capable of illumination using visible light. Illumination using visible light may be performed using white light, or may be illumination using red, blue, or green light, or illumination that matches the color of the expected indoor lighting. A visible light illumination device may be provided separately from projector 120. Camera 130 is a color or monochrome camera capable of capturing visible light.
ステレオカメラ131、132は、可視光を撮影可能なカラーカメラまたはモノクロカメラである。3Dスキャナ用カメラ150により、対象群との間の距離情報を取得する。3Dスキャナ用カメラ150は、プロジェクタ120により、可視光よりも波長の短い光の照射を受けた対象群を撮像するカラーカメラである。なお、3Dスキャナ用カメラ150が、ステレオカメラ130の一部を構成してもよく、またカメラ131および132のうち少なくともいずれかが、可視光よりも波長の短い光の照射を受けた対象群を撮像するような構成であってもよい。 The stereo cameras 131 and 132 are color or monochrome cameras capable of capturing visible light. Distance information to the group of objects is acquired using the 3D scanner camera 150. The 3D scanner camera 150 is a color camera that captures images of a group of objects illuminated by the projector 120 with light having a shorter wavelength than visible light. The 3D scanner camera 150 may form part of the stereo camera 130, or at least one of the cameras 131 and 132 may be configured to capture images of a group of objects illuminated with light having a shorter wavelength than visible light.
本実施形態において、3Dスキャナ用カメラ150は、プロジェクタ120により可視光よりも波長の短い光を照射された複数の対象物(ワーク)を含む対象群を撮像する。同様に、ステレオカメラ131および132は、プロジェクタ120により可視光を照射された対象群を撮像する。図17は、測定処理の一例を示す図である。図17に示すように、ステレオカメラ131および132は、複数の対象物W1およびW2を含む対象群を撮影する。同様に、3Dスキャナ用カメラ150は、複数の対象物W1およびW2を撮像することにより、各対象物W1およびW2までの距離を示す点群データを取得する。 In this embodiment, the 3D scanner camera 150 captures an image of a group of objects including multiple objects (workpieces) illuminated by the projector 120 with light having a wavelength shorter than that of visible light. Similarly, the stereo cameras 131 and 132 capture images of the group of objects illuminated by the projector 120 with visible light. Figure 17 is a diagram showing an example of the measurement process. As shown in Figure 17, the stereo cameras 131 and 132 capture images of a group of objects including multiple objects W1 and W2. Similarly, the 3D scanner camera 150 captures images of the multiple objects W1 and W2 to obtain point cloud data indicating the distance to each of the objects W1 and W2.
処理装置110において、通信I/F111は、ネットワークNWを通じた外部装置とのデータ入出力の通信を制御する。例えば、通信I/F111は、ネットワークカードやネットワークアダプタ、NIC(Network Interface Controller)等によって実現される。 In the processing device 110, the communication I/F 111 controls data input/output communication with external devices via the network NW. For example, the communication I/F 111 is realized by a network card, network adapter, NIC (Network Interface Controller), etc.
入力I/F112は、処理回路115に接続され、処理装置110の管理者(不図示)から受け付けた入力操作を電気信号に変換して処理回路115に出力する。例えば、入力I/F112は、スイッチボタン、マウス、キーボード、タッチパネル等である。 The input I/F 112 is connected to the processing circuit 115 and converts input operations received from an administrator (not shown) of the processing device 110 into electrical signals and outputs them to the processing circuit 115. For example, the input I/F 112 is a switch button, mouse, keyboard, touch panel, etc.
ディスプレイ113は、処理回路115に接続され、処理回路115から出力される各種情報および各種画像データを表示する。例えば、ディスプレイ113は、液晶モニタやCRT(Cathode Ray Tube)モニタ、タッチパネル等によって実現される。 The display 113 is connected to the processing circuit 115 and displays various information and image data output from the processing circuit 115. For example, the display 113 may be implemented as an LCD monitor, a CRT (Cathode Ray Tube) monitor, a touch panel, etc.
記憶回路114は、例えば、メモリ等の記憶装置により実現される。記憶回路114には、処理回路115により実行される各種のプログラムが記憶されている。また、記憶回路114には、処理回路115により各種のプログラムが実行される際に用いられる各種のデータが一時的に記憶される。記憶回路114は、対象群の画像・位置・姿勢データ1141と機械(深層)学習モデル1142とを有する。 The memory circuitry 114 is realized, for example, by a storage device such as a memory. The memory circuitry 114 stores various programs executed by the processing circuitry 115. The memory circuitry 114 also temporarily stores various data used when the processing circuitry 115 executes the various programs. The memory circuitry 114 has image, position, and orientation data 1141 of the object group and a machine (deep) learning model 1142.
さらに、機械(深層)学習モデル1142はニューラルネットワーク構造1142aと学習パラメータ1142bを備えている。ニューラルネットワーク構造1142aは、例えば、図5の畳み込みニューラルネットワークb1のような公知のネットワークを応用したもので、図12に示されるネットワーク構造である。学習パラメータ1142bは、例えば、畳み込みニューラルネットワークの畳み込みフィルタの重みであり、対象群に含まれる各対象物の位置および姿勢を推定するために学習され、最適化されるパラメータである。 Furthermore, the machine (deep) learning model 1142 has a neural network structure 1142a and learning parameters 1142b. The neural network structure 1142a is, for example, an application of a known network such as the convolutional neural network b1 in Figure 5, and is the network structure shown in Figure 12. The learning parameters 1142b are, for example, the weights of the convolutional filter of the convolutional neural network, and are parameters that are learned and optimized to estimate the position and orientation of each object included in the object group.
機械(深層)学習モデル1142は、物体把持システム1(図1、図2)において、カメラ20(図1、図2)から出力された画像から、ワークの位置および姿勢を推定する処理に用いられる。機械(深層)学習モデル1142は、例えば、複数のワークの位置および姿勢と、当該複数のワークを撮影した画像とを教師データして学習することにより生成される。なお、ここでは、機械(深層)学習モデル1142が、例えば、処理回路115により生成されるが、これに限られず、外部のコンピュータにより生成されてもよい。 The machine (deep) learning model 1142 is used in the object grasping system 1 (Figures 1 and 2) to estimate the position and orientation of a workpiece from images output from the camera 20 (Figures 1 and 2). The machine (deep) learning model 1142 is generated, for example, by learning from the positions and orientations of multiple workpieces and images of the multiple workpieces as training data. Note that here, the machine (deep) learning model 1142 is generated, for example, by the processing circuit 115, but is not limited to this and may also be generated by an external computer.
処理回路115は、CPU(Central Processing Unit)等のプロセッサにより実現される。処理回路115は、処理装置110全体を制御する。処理回路115は、記憶回路114に記憶された各種のプログラムを読み取り、読み取ったプログラムを実行することで、各種の処理を実行する。例えば、処理回路115は、学習部1151と、データ出力部1152とを有することとなる。 The processing circuitry 115 is realized by a processor such as a CPU (Central Processing Unit). The processing circuitry 115 controls the entire processing device 110. The processing circuitry 115 reads various programs stored in the memory circuitry 114 and executes the read programs to perform various processes. For example, the processing circuitry 115 has a learning unit 1151 and a data output unit 1152.
学習部1151は、対象群の画像・位置・姿勢データ1141(新たに3次元データ測定装置140により測定されて蓄積されたものと、過去に蓄積されたものとの両者を含む)に基づいて、機械(深層)学習モデル1142の機械学習を行い、学習パラメータ1142bの更新を行う。 The learning unit 1151 performs machine learning of the machine (deep) learning model 1142 based on the image, position, and posture data 1141 of the target group (including both newly measured and stored data by the 3D data measuring device 140 and data previously stored), and updates the learning parameters 1142b.
データ出力部1152は、操作者の指示または外部からの要求に応じ、記憶回路114に記憶された対象群の画像・位置・姿勢データ1141や機械(深層)学習モデル1142のデータを出力する。 The data output unit 1152 outputs the image, position, and orientation data 1141 of the object group stored in the memory circuitry 114 and the data of the machine (deep) learning model 1142 in response to instructions from the operator or an external request.
3次元データ測定装置140において、通信I/F146は、ネットワークNWを通じた外部装置とのデータ入出力の通信を制御する。例えば、通信I/F146は、ネットワークカードやネットワークアダプタ、NIC等によって実現される。また、通信I/F146は、HDMI(登録商標)(High-Definition Multimedia Interface)等の規格に従ってプロジェクタ120に出力する制御信号を送信し、プロジェクタ120から状態信号を受信する。また、通信I/F146は、カメラ130に制御信号を送信し、カメラ130から出力される画像のデータを受信する。 In the three-dimensional data measuring device 140, the communication I/F 146 controls data input/output communication with external devices via the network NW. For example, the communication I/F 146 is implemented by a network card, network adapter, NIC, etc. The communication I/F 146 also transmits control signals to be output to the projector 120 in accordance with standards such as HDMI (registered trademark) (High-Definition Multimedia Interface), and receives status signals from the projector 120. The communication I/F 146 also transmits control signals to the camera 130 and receives image data output from the camera 130.
入力I/F142は、処理回路145に接続され、3次元データ測定装置140の管理者(不図示)から受け付けた入力操作を電気信号に変換して処理回路145に出力する。例えば、入力I/F142は、スイッチボタン、マウス、キーボード、タッチパネル等である。 The input I/F 142 is connected to the processing circuit 145 and converts input operations received from an administrator (not shown) of the three-dimensional data measuring device 140 into electrical signals and outputs them to the processing circuit 145. For example, the input I/F 142 is a switch button, mouse, keyboard, touch panel, etc.
ディスプレイ143は、処理回路145に接続され、処理回路145から出力される各種情報および各種画像データを表示する。例えば、ディスプレイ143は、液晶モニタやCRTモニタ、タッチパネル等によって実現される。 The display 143 is connected to the processing circuit 145 and displays various information and image data output from the processing circuit 145. For example, the display 143 may be implemented as an LCD monitor, a CRT monitor, a touch panel, etc.
記憶回路144は、例えば、メモリ等の記憶装置により実現される。記憶回路144には、処理回路145により実行される各種のプログラムが記憶されている。また、記憶回路144には、処理回路145により各種のプログラムが実行される際に用いられる各種のデータが一時的に記憶される。記憶回路144は、対象群3次元データ1441、対象群の画像・位置・姿勢データ1442を有する。対象群の画像・位置・姿勢データ1442は、処理装置110の記憶回路114に記憶される対象群の画像・位置・姿勢データ1141の一部についての元データであり、通信I/F146、ネットワークNW、処理装置110の通信I/F111を介して記憶回路114に蓄積される。 The memory circuitry 144 is realized, for example, by a storage device such as a memory. The memory circuitry 144 stores various programs executed by the processing circuitry 145. The memory circuitry 144 also temporarily stores various data used when the various programs are executed by the processing circuitry 145. The memory circuitry 144 has three-dimensional object group data 1441 and image, position, and orientation data 1442 of the object group. The image, position, and orientation data 1442 of the object group is the original data for part of the image, position, and orientation data 1141 of the object group stored in the memory circuitry 114 of the processing device 110, and is accumulated in the memory circuitry 114 via the communication I/F 146, the network NW, and the communication I/F 111 of the processing device 110.
なお、本実施形態において、対象群に含まれる個別の対象物の3次元データは、例えば既に記憶回路144に格納されていてもよい。図18は、対象物の3次元データの一例を示す図である。この場合、対象群3次元データ測定部1451は、例えば、カメラ130又は3Dスキャナ用カメラ150により撮影された画像と、図18に示す、既に記憶回路144に格納された対象物3次元モデルMとをマッチングさせることにより、対象群に含まれる各対象物W1およびW2を検出してもよい。 In this embodiment, the three-dimensional data of the individual objects included in the object group may already be stored in the memory circuitry 144, for example. Figure 18 is a diagram showing an example of three-dimensional data of the objects. In this case, the object group three-dimensional data measurement unit 1451 may detect each of the objects W1 and W2 included in the object group by, for example, matching an image captured by the camera 130 or the 3D scanner camera 150 with the three-dimensional object model M already stored in the memory circuitry 144, as shown in Figure 18.
3次元データ測定装置140の処理回路145は、CPU等のプロセッサにより実現される。処理回路145は、3次元データ測定装置140全体を制御する。処理回路145は、記憶回路144に記憶された各種のプログラムを読み取り、読み取ったプログラムを実行することで、各種の処理を実行する。例えば、処理回路145は、対象群3次元データ測定部1451を有することとなる。 The processing circuitry 145 of the three-dimensional data measuring device 140 is realized by a processor such as a CPU. The processing circuitry 145 controls the entire three-dimensional data measuring device 140. The processing circuitry 145 reads various programs stored in the memory circuitry 144 and executes the read programs to perform various processes. For example, the processing circuitry 145 has an object group three-dimensional data measurement unit 1451.
対象群3次元データ測定部1451は、通信I/F146を通じて、プロジェクタ120およびカメラ130を制御し、カメラ130により撮影された対象群の画像を撮影し、3Dスキャナ用カメラ150により取得された対象群の画像から各対象群の3次元形状を示す点群データを取得する。対象群に含まれる各対象物の3次元形状の測定は、例えば、公知の格子法等により、各対象物への所定のパターンの照射および撮影により得られた画像に基づいて行われる。各対象物の3次元形状の測定は、各対象物の撮影方向を変更しながら行われる。このように、カメラ130及び3Dスキャナ用カメラ150による撮影方向を変更することにより、各対象物がバラ積みされているために、ある角度からは見えない部分があったとしても、他の角度から撮影することで対象物のデータを広範囲で取得しやすくなり、後述する点群データと3次元データとのマッチングの際の精度を向上することができる。その際、3Dスキャナ用カメラ150は、以下に示す可視光の違いに基づいて、対象群に含まれる各対象物を判別する。 The object group 3D data measurement unit 1451 controls the projector 120 and camera 130 via the communication I/F 146, captures images of the object group captured by the camera 130, and acquires point cloud data indicating the 3D shape of each object group from the images of the object group captured by the 3D scanner camera 150. The 3D shape of each object included in the object group is measured based on images obtained by irradiating each object with a predetermined pattern and capturing the image, for example, using a known grid method. The 3D shape of each object is measured while changing the capturing direction of each object. In this way, by changing the capturing direction of the camera 130 and the 3D scanner camera 150, even if some objects are piled up and therefore cannot be seen from a certain angle, capturing the image from another angle makes it easier to capture object data over a wide area, improving the accuracy of matching the point cloud data with the 3D data described below. In this process, the 3D scanner camera 150 distinguishes each object included in the object group based on differences in visible light, as described below.
処理に際しての事前の準備として、各ステレオカメラ131および132、並びに3Dスキャナ用カメラ150のキャリブレーション(較正)を行うとともに、各対象物に所定の塗料を塗布しておく。所定の塗料としては、可視光よりも波長の短い光(例えば、UV(紫外線)光)の照射を受けると可視光による発光を行い、可視光に対しては無色透明となる蛍光塗料である。これは、インビジブル塗料と呼ぶこともできる。なお、本実施形態において、各対象物には、それぞれ異なる可視光による発光を行うインビジブル塗料が塗布される。例えば、対象物W1には、第1の可視光による発光を行う第1のインビジブル塗料が塗布されるとともに、対象物W2には、第2の可視光による発光を行う第2のインビジブル塗料が塗布される。また、以下では可視光よりも波長の短い光をUV光として説明するが、それに限られない。例えば、2光子励起により可視光よりも波長の短い光と同じように蛍光塗料を励起することができ、それをパターン光の照射に用いることができる。 As preparation for processing, the stereo cameras 131 and 132 and the 3D scanner camera 150 are calibrated, and a predetermined paint is applied to each object. The predetermined paint is a fluorescent paint that emits visible light when irradiated with light with a shorter wavelength than visible light (e.g., ultraviolet (UV) light) and is colorless and transparent to visible light. This can also be called invisible paint. In this embodiment, each object is coated with an invisible paint that emits different visible light. For example, object W1 is coated with a first invisible paint that emits light with a first visible light, and object W2 is coated with a second invisible paint that emits light with a second visible light. In the following, light with a shorter wavelength than visible light is described as UV light, but this is not limited to this. For example, fluorescent paint can be excited by two-photon excitation in the same way as light with a shorter wavelength than visible light, and this can be used to irradiate patterned light.
図19は、事前処理の一例を示すフローチャートである。図19に示すように、3次元データ測定装置140の対象群3次元データ測定部1451は、ステレオカメラ131および132のキャリブレーション(較正)処理を行う(ステップS101)。なお、以下において、ステレオカメラを構成するカメラ131および132を、ステレオセットと表記する場合がある。図20は、キャリブレーション処理の一例を示す図である。図20に示すように、ステレオセットのキャリブレーション処理は、例えば、ステレオカメラ131および132が、可視光下において公知のキャリブレーションボードCBを撮影することにより行われる。キャリブレーション処理は、一般的に知られた公知の手法により実行される。 Figure 19 is a flowchart showing an example of pre-processing. As shown in Figure 19, the object group 3D data measurement unit 1451 of the 3D data measurement device 140 performs calibration processing of the stereo cameras 131 and 132 (step S101). Note that, hereinafter, the cameras 131 and 132 that make up the stereo camera may be referred to as a stereo set. Figure 20 is a diagram showing an example of calibration processing. As shown in Figure 20, calibration processing of the stereo set is performed, for example, by the stereo cameras 131 and 132 photographing a known calibration board CB under visible light. The calibration processing is performed using a commonly known method.
次に、対象群3次元データ測定部1451は、可視光よりも波長の短い光を照射するプロジェクタ120と、点群データを取得する3Dスキャナ用カメラ150とのキャリブレーション処理を行う(ステップS102)。なお、以下において、プロジェクタ120と、3Dスキャナ用カメラ150との組み合わせを、3Dスキャンセットと表記する場合がある。さらに、対象群3次元データ測定部1451は、ステレオセットと3Dスキャンセットとの間でも、キャリブレーション処理を行う(ステップS103)。なお、ステップS102およびS103における3Dスキャンセットのキャリブレーション処理および3Dスキャンセットとステレオセットとの間のキャリブレーション処理も、可視光で行っても良いし、蛍光塗料で印刷されたキャリブレーションボードを用いて、可視光よりも短い光で行っても良い。 Next, the object group 3D data measurement unit 1451 performs a calibration process between the projector 120, which emits light with a wavelength shorter than that of visible light, and the 3D scanner camera 150, which acquires point cloud data (step S102). Note that, hereinafter, the combination of the projector 120 and the 3D scanner camera 150 may be referred to as a 3D scan set. Furthermore, the object group 3D data measurement unit 1451 also performs a calibration process between the stereo set and the 3D scan set (step S103). Note that the calibration process of the 3D scan set and the calibration process between the 3D scan set and the stereo set in steps S102 and S103 may be performed using visible light, or may be performed using light with a wavelength shorter than that of visible light using a calibration board printed with fluorescent paint.
次に、測定対象となる対象群に含まれる個別の対象物にインビジブル塗料が塗布される(ステップS111)。本実施形態において、対象群に含まれる各対象物には、それぞれ異なる可視光による発光を行うインビジブル塗料が塗布される。インビジブル塗料が塗布された各対象物は、3次元データ測定を行う位置に配置される(ステップS112)。ステップS111およびS112の処理は、対象群に含まれる全ての対象物が配置されるまで繰り返される(ステップS113)。図21は、塗料が塗布された複数の対象物の一例を示す図である。図21に示すように、対象群に含まれる複数の対象物(ワーク)W1とW2とには、それぞれ異なるインビジブル塗料が塗布される。本実施形態において、対象物W1およびW2は、例えば図18に示すように、ステレオカメラ131および132から撮影すると相互に重複して見える位置など、任意の位置に配置される。 Next, invisible paint is applied to each individual object included in the object group to be measured (step S111). In this embodiment, each object included in the object group is coated with invisible paint that emits different visible light. Each object coated with invisible paint is placed at a position where 3D data measurement will be performed (step S112). The processes of steps S111 and S112 are repeated until all objects included in the object group have been positioned (step S113). Figure 21 is a diagram showing an example of multiple objects coated with paint. As shown in Figure 21, multiple objects (workpieces) W1 and W2 included in the object group are each coated with a different invisible paint. In this embodiment, objects W1 and W2 are placed in any position, such as a position where they appear to overlap when photographed from stereo cameras 131 and 132, as shown in Figure 18.
事前処理の後に、3次元データ測定装置140の対象群3次元データ測定部1451は、配置された対象群の3次元データを取得するための処理を行う。図22は、対象群3次元データの取得の処理の一例を示すフローチャートであり、撮影がカラーのカメラ150により行われる場合の処理例である。 After pre-processing, the object group 3D data measurement unit 1451 of the 3D data measurement device 140 performs processing to acquire 3D data of the arranged object group. Figure 22 is a flowchart showing an example of the processing for acquiring object group 3D data, and is an example of processing when photography is performed using a color camera 150.
図22において、3次元データ測定装置140は、処理を開始すると、プロジェクタ120により対象物に向けてUVパターンを照射する。そして、プロジェクタ120と所定の位置関係にある3Dスキャナ用カメラ150により対象群に含まれる各対象物の撮影を行う(ステップS301)。図23は、対象群にプロジェクタからUVパターンが照射された状態の例を示す図であり、プロジェクタ120からのUV光の照射により対象物W1、W2がインビジブル塗料により所定のパターンで発光し、その状態が3Dスキャナ用カメラ150により撮影される。可視光での発光はインビジブル塗料によるものであるため、対象物Wが光沢物であったり黒色物体であったりしても問題はない。また、ステップS301においては、第1のインビジブル塗料が塗布され、第1の可視光を発光する対象物W1と、第2のインビジブル塗料が塗布され、第2の可視光を発光する対象物W2とが、同時に撮影される。 In FIG. 22, when the 3D data measuring device 140 starts processing, it projects a UV pattern onto the object using the projector 120. Then, the 3D scanner camera 150, which is positioned in a predetermined positional relationship with the projector 120, captures each object included in the object group (step S301). FIG. 23 is a diagram showing an example of the state in which the projector projects a UV pattern onto the object group. The UV light emitted from the projector 120 causes the objects W1 and W2 to emit light in a predetermined pattern using invisible paint, and this state is captured by the 3D scanner camera 150. Because the visible light emission is due to the invisible paint, it does not matter if the object W is glossy or black. Also, in step S301, object W1, which is coated with a first invisible paint and emits first visible light, and object W2, which is coated with a second invisible paint and emits second visible light, are simultaneously captured.
図22に戻り、対象物の撮影(ステップS301)は、プロジェクタ120から照射されるUVパターンを変更し(ステップS303)、所定のUVパターンについて完了するまで繰り返し行われる(ステップS302:No)。そして、3次元データ測定装置140は、各UVパターンについて撮影された複数の画像に基づいて、各対象物群の3次元形状を算出し、記憶回路に記憶する(ステップS304)。 Returning to FIG. 22, the photographing of the object (step S301) is repeated by changing the UV pattern emitted from the projector 120 (step S303) until the predetermined UV pattern is completed (step S302: No). Then, the three-dimensional data measuring device 140 calculates the three-dimensional shape of each object group based on the multiple images taken for each UV pattern and stores it in the memory circuit (step S304).
所定のUVパターンについての処理が完了すると(ステップS302:Yes)、3次元データ測定装置140は、次の処理として、プロジェクタ120または外部光源により対象物に向けて白色光を照射し、カメラ130により撮影を行う(ステップS311)。そして、3次元データ測定装置140は、撮影された画像を記憶回路に記憶する(ステップS312)。図24は、対象群に可視光が照射された状態の例を示す図であり、プロジェクタ120からの白色光の照射により対象物W1の第1のインビジブル塗料および対象物W2の第2のインビジブル塗料はいずれも無色透明となり、対象物W1およびW2本来の状態と同様の機械学習用データを生成することができるため、実際にロボットアームでワークを把持する際のワークの位置・姿勢の認識精度を向上させることが期待できる。 Once processing for the specified UV pattern is complete (step S302: Yes), the three-dimensional data measuring device 140 next performs processing by irradiating the object with white light from the projector 120 or an external light source and capturing an image with the camera 130 (step S311). The three-dimensional data measuring device 140 then stores the captured image in a memory circuit (step S312). Figure 24 is a diagram showing an example of a state in which visible light is irradiated onto a group of objects. Irradiation with white light from the projector 120 causes the first invisible paint on object W1 and the second invisible paint on object W2 to become colorless and transparent. This allows for the generation of machine learning data similar to the original state of objects W1 and W2, which is expected to improve the accuracy of workpiece position and orientation recognition when the workpiece is actually grasped by a robot arm.
次いで、図22に戻り、3次元データ測定装置140は、所定の方向からの処理が完了したか否か判断し(ステップS321)、完了していないと判断した場合(ステップS321:No)は、対象群に対する撮影方向を変更し(ステップS322)、UVパターンの照射等(ステップS301)から繰り返す。対象物の姿勢変更は操作者の手動によるものであってもよいし、駆動機構によるものであってもよい。3次元データ測定装置140は、所定の方向からの処理が完了したと判断した場合(ステップS321:Yes)は、ステップS323に移行する。なお、1つの方向からの撮影だけで、対象群に含まれる全ての対象物の位置及び姿勢を特定できる場合は、ステップS322以降の処理を繰り返さなくてもよい。 Returning to FIG. 22, the three-dimensional data measuring device 140 then determines whether processing from the predetermined direction has been completed (step S321). If it determines that processing has not been completed (step S321: No), it changes the imaging direction for the object group (step S322) and repeats the process from irradiation of the UV pattern (step S301). The object's orientation may be changed manually by the operator or by a drive mechanism. If the three-dimensional data measuring device 140 determines that processing from the predetermined direction has been completed (step S321: Yes), it proceeds to step S323. Note that if the positions and orientations of all objects included in the object group can be identified by imaging from a single direction alone, it is not necessary to repeat the processes from step S322 onwards.
次いで、3次元データ測定装置140は、異なる方向から測定した点群データ間で点群データマッチングを行い、データ更新を行う(ステップS323)。その際、3次元データ測定装置140は、第1の可視光に基づいて取得された対象物W1の点群データと、第2の可視光に基づいて取得された対象物W2の点群データとについて、それぞれ個別に点群データマッチングを行っても良いし、対象群全体で点群データマッチングを行っても良い。次に、第1の可視光に基づいて取得した点群データと、事前に記憶しておいた3次元データの点群マッチングを行う。この時の3次元モデルの位置と姿勢から、画像撮影時のステレオカメラとの相対位置を計算し、対象物の位置および姿勢のデータを取得する (S324)。次に、第2の可視光に基づいて取得した点群データと3Dモデルとの点群マッチングを同様に行い、さらに発光色毎に分離したデータが他にある場合は、発光色毎に3Dモデルとのマッチングを繰り返す(S331、S332)。 Next, the three-dimensional data measuring device 140 performs point cloud data matching between point cloud data measured from different directions and updates the data (step S323). In this case, the three-dimensional data measuring device 140 may perform point cloud data matching individually for the point cloud data of object W1 acquired based on the first visible light and the point cloud data of object W2 acquired based on the second visible light, or may perform point cloud data matching for the entire object group. Next, point cloud matching is performed between the point cloud data acquired based on the first visible light and the pre-stored three-dimensional data. From the position and orientation of the three-dimensional model at this time, the relative position with the stereo camera at the time of image capture is calculated, and data on the position and orientation of the object is obtained (S324). Next, point cloud matching is similarly performed between the point cloud data acquired based on the second visible light and the 3D model. If there is other data separated by emitted color, matching with the 3D model is repeated for each emitted color (S331, S332).
そして、3次元データ測定装置140は、データを生成するための所定の枚数の画像を撮影したか否かを判定する(ステップS341)。3次元データ測定装置140は、所定の枚数の画像を撮影していないと判定した場合(ステップS341:No)、対象物のバラ積み状態が変更された後に(ステップS342)、UVパターンの照射等(ステップS301)から繰り返す。ステップS342においては、例えば、図19に示すステップS112~S113における処理が行われる。一方、3次元データ測定装置140は、所定の枚数の画像を撮影したと判定した場合(ステップS341:Yes)、処理を終了する。 Then, the three-dimensional data measuring device 140 determines whether the predetermined number of images for generating data have been captured (step S341). If the three-dimensional data measuring device 140 determines that the predetermined number of images have not been captured (step S341: No), it repeats the process from UV pattern irradiation (step S301) after the bulk pile state of the objects has been changed (step S342). In step S342, for example, the processes in steps S112 to S113 shown in FIG. 19 are performed. On the other hand, if the three-dimensional data measuring device 140 determines that the predetermined number of images have been captured (step S341: Yes), it ends the process.
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて種々の変更が可能である。例えば、対象群に含まれる対象物の数は説明したものに限られず、3つ以上の対象物を含む対象群であってもよい。 The above describes an embodiment of the present invention, but the present invention is not limited to the above embodiment, and various modifications are possible without departing from the spirit of the invention. For example, the number of objects included in the object group is not limited to that described, and the object group may include three or more objects.
以上のように、実施形態に係る機械学習用データ生成方法は、可視光よりも波長の短い光の照射を受けると第1の可視光による発光を行い、可視光に対しては無色透明の第1の塗料が塗布された第1の対象物と、前記可視光よりも波長の短い光の照射を受けると第2の可視光による発光を行い、前記可視光に対しては無色透明の第2の塗料が塗布された第2の対象物に対し、所定のパターンによる前記可視光よりも波長の短い光の照射を行って、前記第1の対象物及び前記第2の対象物を撮影する第1の工程を備える。これにより、複数の対象物を含む実際の対象群から、個別の対象物ごとの3次元形状を含む対象群の3次元データを容易に測定することができる。 As described above, the machine learning data generation method according to the embodiment includes a first step of irradiating a first object coated with a first paint that emits light using first visible light when irradiated with light having a wavelength shorter than that of visible light and is colorless and transparent in response to visible light, and a second object coated with a second paint that emits light using second visible light when irradiated with light having a wavelength shorter than that of visible light and is colorless and transparent in response to the visible light, with light having a wavelength shorter than that of visible light in a predetermined pattern, and capturing images of the first object and the second object. This makes it possible to easily measure three-dimensional data of an object group including the three-dimensional shapes of each individual object from an actual object group containing multiple objects.
また、機械学習用データ生成方法は、前記第1の対象物及び前記第2の対象物に対し、可視光の照射を行って、前記第1の対象物及び前記第2の対象物を撮影する第2の工程を備える。また、前記第1の工程では、前記第1の可視光を検出することにより前記第1の対象物の位置及び3次元形状を測定し、前記第2の可視光を検出することにより前記第2の対象物の位置及び3次元形状を測定する。また、機械学習用データ生成方法は、前記第1の工程で測定した3次元形状から、前記第1の可視光と前記第2の可視光の違いにより、前記第1の対象物と前記第2の対象物の3次元形状に分離し、あらかじめ保持している前記第1の対象物の3次元データおよび前記第2の対象物の3次元データとマッチングを行う第3の工程を備えてもよい。これにより、個別の対象物ごとの3次元形状を含む対象群の3次元データを容易に測定することができる。 The machine learning data generation method may also include a second step of irradiating the first object and the second object with visible light and capturing images of the first object and the second object. In the first step, the position and three-dimensional shape of the first object are measured by detecting the first visible light, and the position and three-dimensional shape of the second object are measured by detecting the second visible light. The machine learning data generation method may also include a third step of separating the three-dimensional shapes of the first object and the second object from the three-dimensional shapes measured in the first step based on the difference between the first visible light and the second visible light, and matching the three-dimensional data of the first object and the second object with pre-stored three-dimensional data. This makes it possible to easily measure three-dimensional data of a group of objects, including the three-dimensional shapes of each individual object.
また、第1の工程では、前記第1の対象物及び前記第2の対象物の一つの姿勢に対して所定のパターンを複数切り替えて、前記第1の対象物及び前記第2の対象物の3次元形状を測定する。これにより、3次元形状の測定の精度を高めることができる。 In addition, in the first step, the three-dimensional shapes of the first object and the second object are measured by switching between multiple predetermined patterns for one orientation of the first object and the second object. This improves the accuracy of the three-dimensional shape measurement.
また、機械学習用データ生成方法は、前記第1の対象物及び前記第2の対象物を撮影する方向を変更し、前記第1の工程による前記第1の対象物及び前記第2の対象物の3次元形状の測定と前記第2の工程による前記第1の対象物及び前記第2の対象物の撮影とを繰り返し、点群データマッチングによりデータを連結して更新してもよい。また、機械学習用データ生成方法は、第1の工程による前記第1の対象物及び前記第2の対象物の3次元形状の測定と第2の工程による前記第1の対象物及び前記第2の対象物の撮影とを繰り返し、対象物ごとに分離した点群データと3次元データとのマッチングによりデータを連結して更新してもよい。また、する。これにより、一方の側からの撮影だけでは捉えられない各対象物の3次元形状を取得することができる。 The machine learning data generation method may also include changing the direction in which the first object and the second object are photographed, repeating the measurement of the three-dimensional shapes of the first object and the second object in the first step and the photographing of the first object and the second object in the second step, and linking and updating the data by point cloud data matching. The machine learning data generation method may also include repeating the measurement of the three-dimensional shapes of the first object and the second object in the first step and the photographing of the first object and the second object in the second step, and linking and updating the data by matching the point cloud data separated for each object with the three-dimensional data. This makes it possible to obtain the three-dimensional shapes of each object that cannot be captured by photographing from only one side.
また、実施形態に係る対象物機械学習用データ測定装置は、可視光よりも波長の短い光の照射を受けると第1の可視光による発光を行い、可視光に対しては無色透明の第1の塗料が塗布された第1の対象物と、前記可視光よりも波長の短い光の照射を受けると第2の可視光による発光を行い、前記可視光に対しては無色透明の第2の塗料が塗布された第2の対象物に対し、所定のパターンによる前記可視光よりも波長の短い光の照射を行って、前記第1の対象物及び前記第2の対象物を撮影し、撮影された画像から前記第1の対象物の位置及び3次元形状、並びに前記第2の対象物の位置及び3次元形状を測定する第1の処理部を備える。これにより、上記の対象物3次元データ測定方法を装置として実現することができる。 An object machine learning data measurement device according to an embodiment includes a first processing unit that irradiates a first object coated with a first paint that emits first visible light when irradiated with light having a wavelength shorter than that of visible light and is colorless and transparent in response to visible light, and a second object coated with a second paint that emits second visible light when irradiated with light having a wavelength shorter than that of visible light, with light having a wavelength shorter than that of visible light in a predetermined pattern, photographs the first object and the second object, and measures the position and three-dimensional shape of the first object and the position and three-dimensional shape of the second object from the photographed image. This allows the above-described object three-dimensional data measurement method to be realized as a device.
ところで、各実施形態で説明した各種の処理は、予め用意されたプログラムを情報処理装置で実行することで実現できる。そこで、以下では、上記各実施形態におけるモータ制御装置100と同様の機能を有するプログラムを実行する情報処理装置900の一例を説明する。図26は、測定プログラムを実行する情報処理装置の一例を示すブロック図である。 The various processes described in each embodiment can be realized by executing a pre-prepared program on an information processing device. Therefore, below, an example of an information processing device 900 that executes a program having the same functions as the motor control device 100 in each of the above embodiments is described. Figure 26 is a block diagram showing an example of an information processing device that executes a measurement program.
図26に示す測定プログラムを実行する情報処理装置900では、通信装置910と、入力装置920と、出力装置930と、ROM940と、RAM950と、CPU960と、バス970とを有する。例えば、通信装置910は、図16に示す通信I/F146として、入力装置920は、図16に示す入力I/F142として、出力装置930は、図16に示すディスプレイ143として、それぞれ機能する。 The information processing device 900 that executes the measurement program shown in FIG. 26 includes a communication device 910, an input device 920, an output device 930, a ROM 940, a RAM 950, a CPU 960, and a bus 970. For example, the communication device 910 functions as the communication I/F 146 shown in FIG. 16, the input device 920 functions as the input I/F 142 shown in FIG. 16, and the output device 930 functions as the display 143 shown in FIG. 16.
そして、ROM940には、上記実施形態と同様の機能を発揮する測定プログラムが予め記憶されている。尚、測定プログラムは、ROM940ではなく、コンピュータシステムに内蔵されるハードディスク等の記憶装置や、図示せぬドライブで読取可能な記録媒体に記録されていても良い。また、記録媒体としては、例えば、CD-ROM、DVDディスク、USBメモリ、SDカード等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等でも良い。測定プログラムとしては、図26に示すように、測定プログラム940Aである。尚、測定プログラム940Aについては、適宜統合又は分散しても良い。 The ROM 940 is pre-stored with a measurement program that performs the same functions as the above embodiment. The measurement program may be stored not in the ROM 940 but in a storage device such as a hard disk built into the computer system, or in a recording medium readable by a drive (not shown). The recording medium may also be, for example, a CD-ROM, DVD disk, USB memory, portable recording medium such as an SD card, or semiconductor memory such as a flash memory. The measurement program is measurement program 940A, as shown in FIG. 26. Measurement program 940A may be integrated or distributed as appropriate.
そして、CPU960は、測定プログラム940AをROM940から読み出し、これら読み出されたプログラムをRAM950のワークエリア上に展開する。そして、CPU960は、図26に示すように、RAM950上に展開した測定プログラム940Aを、測定プロセス950Aとして機能する。 The CPU 960 then reads the measurement program 940A from the ROM 940 and expands the read program in the work area of the RAM 950. Then, as shown in FIG. 26, the CPU 960 causes the measurement program 940A expanded in the RAM 950 to function as a measurement process 950A.
CPU960は、保守装置200から受信した設定変更情報に含まれる識別情報が、当該モータ制御装置のものであるか否かを判定する。CPU960は、当該モータ制御装置のものであると判定された識別情報に対応する前記設定変更情報を用いて、設定を変更する。CPU960は、当該モータ制御装置以外の識別情報を含む前記設定変更情報を、他のモータ制御装置に転送する。 The CPU 960 determines whether the identification information included in the setting change information received from the maintenance device 200 belongs to the motor control device. The CPU 960 changes the settings using the setting change information corresponding to the identification information determined to belong to the motor control device. The CPU 960 transfers the setting change information including identification information of a motor control device other than the motor control device to another motor control device.
なお、図26では、3次元データ測定装置140と同様の機能を有する測定プログラムを実行する情報処理装置900について説明したが、処理装置110および画像処理装置10についても同様に、予め用意されたプログラムを情報処理装置で実行することで実現できる。また、情報処理装置900は、例えばスタンドアロンのコンピュータであるが、これに限られず、相互に通信可能な複数のコンピュータにより実現されてもよく、またクラウド上の仮想マシンにおいて実現されてもよい。また、情報処理装置900の全部又は一部の機能が、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。 Note that while Figure 26 describes an information processing device 900 that executes a measurement program having the same functions as the three-dimensional data measuring device 140, the processing device 110 and image processing device 10 can also be realized by executing a pre-prepared program on the information processing device. Furthermore, while the information processing device 900 is, for example, a standalone computer, it is not limited to this and may be realized by multiple computers that can communicate with each other, or may be realized in a virtual machine on the cloud. Furthermore, all or part of the functions of the information processing device 900 may be realized by an integrated circuit, such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
また、上記実施の形態により本発明が限定されるものではない。上述した各構成素を適宜組み合わせて構成したものも本発明に含まれる。また、さらなる効果や変形例は、当業者によって容易に導き出すことができる。よって、本発明のより広範な態様は、上記の実施の形態に限定されるものではなく、様々な変更が可能である。 Furthermore, the present invention is not limited to the above-described embodiments. The present invention also includes configurations that appropriately combine the above-described components. Furthermore, further effects and modifications can be easily derived by those skilled in the art. Therefore, the broader aspects of the present invention are not limited to the above-described embodiments, and various modifications are possible.
110 処理装置、 114 記憶回路、 1141 対象群の画像・位置・姿勢データ、 1142 機械(深層)学習モデル、 1142a ニューラルネットワーク構造、 1142b 学習パラメータ、 115 処理回路、 1151 学習部、 1152 データ出力部、 120 プロジェクタ、 130(131,132) ステレオカメラ、 140 3次元データ測定装置、 144 記憶回路、 1441 対象群3次元データ、 1442 対象群の画像・位置・姿勢データ、 145 処理回路、 1451 対象群3次元データ測定部、 150 3Dスキャナ用カメラ、 W1,W2 対象物、 M 対象物3次元モデル 110 Processing device, 114 Memory circuit, 1141 Image, position, and orientation data of object group, 1142 Machine (deep) learning model, 1142a Neural network structure, 1142b Learning parameters, 115 Processing circuit, 1151 Learning unit, 1152 Data output unit, 120 Projector, 130 (131, 132) Stereo camera, 140 3D data measurement device, 144 Memory circuit, 1441 3D data of object group, 1442 Image, position, and orientation data of object group, 145 Processing circuit, 1451 3D data measurement unit of object group, 150 3D scanner camera, W1, W2 Object, M 3D object model
Claims (4)
前記第1の対象物及び前記第2の対象物に対し、可視光の照射を行って、前記第1の対象物及び前記第2の対象物を、ステレオカメラである位置取得用カメラで撮影する第2の工程と、
前記第1の工程で測定した3次元形状から、前記第1の可視光と前記第2の可視光との違いにより、前記第1の対象物の3次元形状と前記第2の対象物の3次元形状とに分離し、あらかじめ保持している前記第1の対象物の3次元データおよび前記第2の対象物の3次元データとのマッチングを行う第3の工程と、
を備え、
前記第1の対象物及び前記第2の対象物を撮影する方向を変更し、前記第1の工程による前記第1の対象物の3次元形状及び前記第2の対象物の3次元形状の測定と、前記第2の工程による前記第1の対象物及び前記第2の対象物の撮影とを繰り返し、点群データマッチングによりデータを連結して更新し、
前記第1の工程による前記第1の対象物の3次元形状及び前記第2の対象物の3次元形状の測定と、前記第2の工程による前記第1の対象物及び前記第2の対象物の撮影と、前記第1の対象物及び前記第2の対象物の点群データを分離して対象物の3次元データとの点群データマッチングを行う前記第3の工程により対象物の前記位置取得用カメラとの相対的な位置または姿勢を算出する、
機械学習用データ生成方法。 a first step of irradiating a first object coated with a first paint that emits light using first visible light when irradiated with light having a wavelength shorter than that of visible light and that is colorless and transparent to visible light, and a second object coated with a second paint that emits light using second visible light when irradiated with light having a wavelength shorter than that of visible light and that is colorless and transparent to visible light, with light having a wavelength shorter than that of visible light in a predetermined pattern, photographing the first object and the second object with a shape acquisition camera, and measuring the three-dimensional shapes of the first object and the second object from the photographed images;
a second step of irradiating the first object and the second object with visible light and capturing images of the first object and the second object with a position acquisition camera that is a stereo camera ;
a third step of separating the three-dimensional shape measured in the first step into a three-dimensional shape of the first object and a three-dimensional shape of the second object based on a difference between the first visible light and the second visible light, and matching the three-dimensional data of the first object and the three-dimensional data of the second object that have been stored in advance;
Equipped with
changing a direction in which the first object and the second object are photographed, repeating the measurement of the three-dimensional shape of the first object and the three-dimensional shape of the second object in the first step and the photographing of the first object and the second object in the second step, and linking and updating the data by point cloud data matching;
measuring the three-dimensional shape of the first object and the three-dimensional shape of the second object in the first step, photographing the first object and the second object in the second step, and calculating the relative position or orientation of the object with the position acquisition camera in the third step, which separates point cloud data of the first object and the second object and performs point cloud data matching with the three-dimensional data of the object;
Methods for generating data for machine learning.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020188150A JP7724056B2 (en) | 2020-11-11 | 2020-11-11 | How to generate data for machine learning |
| PCT/JP2021/009821 WO2021187316A1 (en) | 2020-03-17 | 2021-03-11 | Object three-dimensional data measurement method, object three-dimensional data measurement device, learning data generation method, and learning data generation device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020188150A JP7724056B2 (en) | 2020-11-11 | 2020-11-11 | How to generate data for machine learning |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022077338A JP2022077338A (en) | 2022-05-23 |
| JP7724056B2 true JP7724056B2 (en) | 2025-08-15 |
Family
ID=81654249
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020188150A Active JP7724056B2 (en) | 2020-03-17 | 2020-11-11 | How to generate data for machine learning |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7724056B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20240383148A1 (en) * | 2021-09-10 | 2024-11-21 | Lg Electronics Inc. | Robot and method for controlling same |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002027501A (en) | 2000-07-10 | 2002-01-25 | Fuji Xerox Co Ltd | Three-dimensional image pickup device and method |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6063404A (en) * | 1983-09-17 | 1985-04-11 | Nuclear Fuel Ind Ltd | Shape examining device |
-
2020
- 2020-11-11 JP JP2020188150A patent/JP7724056B2/en active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002027501A (en) | 2000-07-10 | 2002-01-25 | Fuji Xerox Co Ltd | Three-dimensional image pickup device and method |
Non-Patent Citations (1)
| Title |
|---|
| YAKAHASHI Kuniyuki, YONEKURA Kenta,Invisible Marker: Automatic Annotation for Object Manipulation,arXiv,Cornell University,2019年09月27日,https://arxiv.org/abs/1909.12493v1 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20240383148A1 (en) * | 2021-09-10 | 2024-11-21 | Lg Electronics Inc. | Robot and method for controlling same |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022077338A (en) | 2022-05-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11724400B2 (en) | Information processing apparatus for determining interference between object and grasping unit, information processing method, and storage medium | |
| US9895131B2 (en) | Method and system of scanner automation for X-ray tube with 3D camera | |
| US9117281B2 (en) | Surface segmentation from RGB and depth images | |
| CN109938837B (en) | Optical tracking system and optical tracking method | |
| JP6503153B2 (en) | System and method for automatically selecting a 3D alignment algorithm in a vision system | |
| CN110926330B (en) | Image processing apparatus, image processing method, and program | |
| CN107025663A (en) | It is used for clutter points-scoring system and method that 3D point cloud is matched in vision system | |
| CN109934230A (en) | A kind of radar points cloud dividing method of view-based access control model auxiliary | |
| CN110567441B (en) | Particle filter-based positioning method, positioning device, mapping and positioning method | |
| US20160275359A1 (en) | Information processing apparatus, information processing method, and computer readable medium storing a program | |
| WO2021085561A1 (en) | Training data generation method | |
| JP2020161129A (en) | System and method for scoring color candidate poses against color image in vision system | |
| JP2007256091A (en) | Method and apparatus for calibrating range finder | |
| TW201705088A (en) | Generating a disparity map based on stereo images of a scene | |
| WO2022217988A1 (en) | Sensor configuration scheme determination method and apparatus, computer device, storage medium, and program | |
| CN113421231A (en) | Bleeding point detection method, device and system | |
| CN114979618B (en) | Measuring system and recording medium having measuring program recorded therein | |
| JP7724056B2 (en) | How to generate data for machine learning | |
| JP2018195070A (en) | Information processing apparatus, information processing method, and program | |
| JP2009175012A (en) | Measuring device and measuring method | |
| CN114631114B (en) | Image processing apparatus and image processing method | |
| JP7474083B2 (en) | Method for measuring three-dimensional data of an object, method for generating training data, and training data generating device | |
| WO2021187316A1 (en) | Object three-dimensional data measurement method, object three-dimensional data measurement device, learning data generation method, and learning data generation device | |
| JP7187655B1 (en) | OBJECT TRACKING METHOD, PROGRAM, SYSTEM AND RECORDING MEDIUM | |
| JP7356867B2 (en) | gripping device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231107 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20241030 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20241226 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250305 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250501 |
|
| 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: 20250723 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250804 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7724056 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |