WO2021019748A1 - Classification method, classification program, classification device, learning method, learning program, and learning device - Google Patents

Classification method, classification program, classification device, learning method, learning program, and learning device Download PDF

Info

Publication number
WO2021019748A1
WO2021019748A1 PCT/JP2019/030085 JP2019030085W WO2021019748A1 WO 2021019748 A1 WO2021019748 A1 WO 2021019748A1 JP 2019030085 W JP2019030085 W JP 2019030085W WO 2021019748 A1 WO2021019748 A1 WO 2021019748A1
Authority
WO
WIPO (PCT)
Prior art keywords
classifier
classification
input
data
feature vector
Prior art date
Application number
PCT/JP2019/030085
Other languages
French (fr)
Japanese (ja)
Inventor
泰斗 横田
彼方 鈴木
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2019/030085 priority Critical patent/WO2021019748A1/en
Publication of WO2021019748A1 publication Critical patent/WO2021019748A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A classification device (10) obtains a feature vector from each of a plurality of intermediate layers of a neural network model, which has an input layer, the plural of intermediate layers, and an output layer, when data of a captured image of one or more objects has been input into the input layer. When the obtained feature vectors have been input into respectively corresponding classifiers, the classification device (10) updates each classifier on the basis of the classification results. The classification device (10) determines the weights of each classifier on the basis of the result of a comparison between the output result of each classifier and answer data. The classification device (10) classifies an object represented by the image data into one of one or more prescribed classes on the basis of the output result and weights of each classifier.

Description

分類方法、分類プログラム、分類装置、学習方法、学習プログラム及び学習装置Classification method, classification program, classification device, learning method, learning program and learning device
 本発明は、分類方法、分類プログラム、分類装置、学習方法、学習プログラム及び学習装置に関する。 The present invention relates to a classification method, a classification program, a classification device, a learning method, a learning program, and a learning device.
 深層学習で用いるDNN(Deep Neural Network:ディープニューラルネットワーク)は、入力と出力の間に多数の中間層が重なった構造になっている。その中間層には、入力したデータの特徴的な情報(中間特徴ベクトル)が現れる。 DNN (Deep Neural Network) used in deep learning has a structure in which a large number of intermediate layers are overlapped between inputs and outputs. Characteristic information (intermediate feature vector) of the input data appears in the intermediate layer.
 学習器を訓練するための正解ラベルが付いたデータ(教師データ)を少量しか用意できないケースでは、他のDNNの中間特徴ベクトルを入力データとして利用することで、少ない教師データで学習ができることが知られている。例えば、ピッキングロボット等の分野では、カメラ画像中の物体を検出するDNNの中間特徴ベクトルを他の学習器の入力データとして利用して、少量の教師データで物体のクラス(カテゴリ)分類を行う研究が進められている。 In the case where only a small amount of data (teacher data) with a correct answer label for training the learner can be prepared, it is known that learning can be performed with a small amount of teacher data by using the intermediate feature vector of another DNN as input data. Has been done. For example, in the field of picking robots, research is performed to classify objects with a small amount of teacher data by using the intermediate feature vector of DNN that detects objects in camera images as input data of other learners. Is underway.
国際公開第2017/187516号International Publication No. 2017/187516 特開2008-250990号公報Japanese Unexamined Patent Publication No. 2008-250990
 しかしながら、上記の技術では、物体をクラスに分類する分類器の精度が低下する場合があるという問題がある。例えば、複数の中間層を持つDNNにおいては、中間層ごとに、分類器に適した特徴の現れやすさが異なる場合がある。このため、分類器の学習において、分類器に適した特徴が現れていない中間特徴ベクトルの影響が大きくなると、分類器の精度が低下することが考えられる。 However, the above technology has a problem that the accuracy of the classifier that classifies objects into classes may decrease. For example, in a DNN having a plurality of intermediate layers, the likelihood of appearance of features suitable for a classifier may differ for each intermediate layer. Therefore, in the learning of the classifier, if the influence of the intermediate feature vector in which the feature suitable for the classifier does not appear becomes large, the accuracy of the classifier may decrease.
 1つの側面では、分類器の精度を向上させることを目的とする。 One aspect is to improve the accuracy of the classifier.
 1つの態様において、コンピュータは、入力層、複数の中間層及びよび出力層を有するニューラルネットワークモデルの前記入力層に、1以上の物体が写った画像のデータを入力したときの前記複数の中間層のそれぞれから特徴ベクトルを取得する処理を実行する。コンピュータは、取得した前記特徴ベクトルを、前記特徴ベクトルのそれぞれに対応する分類器に入力したときの分類結果に基づき各分類器を更新する。コンピュータは、各分類器の出力結果と正解データとの比較結果を基に、各分類器の重みを決定する。コンピュータは、前記分類器の出力結果及び前記重みに基づいて、画像のデータに写った物体を所定のクラスのいずれかに分類する処理を実行する。 In one embodiment, the computer inputs the data of an image of one or more objects into the input layer of a neural network model having an input layer, a plurality of intermediate layers, and an output layer. The process of acquiring the feature vector from each of the above is executed. The computer updates each classifier based on the classification result when the acquired feature vector is input to the classifier corresponding to each of the feature vectors. The computer determines the weight of each classifier based on the comparison result between the output result of each classifier and the correct answer data. The computer executes a process of classifying the object reflected in the image data into one of a predetermined class based on the output result of the classifier and the weight.
 1つの側面では、分類器の精度を向上させることができる。 On one side, the accuracy of the classifier can be improved.
図1は、分類システムの構成を説明するための図である。FIG. 1 is a diagram for explaining the configuration of a classification system. 図2は、分類装置の構成例を示すブロック図である。FIG. 2 is a block diagram showing a configuration example of the classification device. 図3は、物体の形状の一例を示す図である。FIG. 3 is a diagram showing an example of the shape of an object. 図4は、クラスについて説明するための図である。FIG. 4 is a diagram for explaining the class. 図5は、モデルの構成について説明するための図である。FIG. 5 is a diagram for explaining the configuration of the model. 図6は、分類器の出力の一例を示す図である。FIG. 6 is a diagram showing an example of the output of the classifier. 図7は、分類器の重み付け出力の一例を示す図である。FIG. 7 is a diagram showing an example of the weighted output of the classifier. 図8は、学習処理の流れを示すフローチャートである。FIG. 8 is a flowchart showing the flow of the learning process. 図9は、分類処理の流れを示すフローチャートである。FIG. 9 is a flowchart showing the flow of the classification process. 図10は、各中間層の違いを説明するための図である。FIG. 10 is a diagram for explaining the difference between the intermediate layers. 図11は、ハードウェア構成例を説明する図である。FIG. 11 is a diagram illustrating a hardware configuration example.
 以下に、本発明に係る分類方法、分類プログラム、分類装置、学習方法、学習プログラム及び学習装置の実施例を図面に基づいて詳細に説明する。なお、この実施例により本発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。 Hereinafter, examples of the classification method, the classification program, the classification device, the learning method, the learning program, and the learning device according to the present invention will be described in detail based on the drawings. The present invention is not limited to this embodiment. In addition, each embodiment can be appropriately combined within a consistent range.
[機能構成]
 図1を用いて、実施例に係る分類装置を含む分類システム1の構成を説明する。図1は、分類システムの構成を説明するための図である。図1に示すように、分類システム1は、ピッキングシステム20及び分類装置10を有する。
[Functional configuration]
The configuration of the classification system 1 including the classification device according to the embodiment will be described with reference to FIG. FIG. 1 is a diagram for explaining the configuration of a classification system. As shown in FIG. 1, the classification system 1 includes a picking system 20 and a classification device 10.
 ピッキングシステム20は、ピッキングロボット21、カメラ22及びトレイ23を有する。カメラ22は、トレイ23を上から撮影し、撮影した画像のデータを分類装置10に送信する。ピッキングロボット21は、分類装置10の画像のデータに対する出力等に基づいて制御され、トレイ23上の物体を把持する。 The picking system 20 includes a picking robot 21, a camera 22, and a tray 23. The camera 22 shoots the tray 23 from above and transmits the data of the shot image to the classification device 10. The picking robot 21 is controlled based on the output of the image data of the classification device 10 and the like, and grips the object on the tray 23.
 分類装置10は、モデルを用いて、画像中の物体の位置を検出し、さらに検出した物体のクラスを分類する。モデルには、画像中の物体の位置を検出する検出器及び物体のクラスを分類する分類器が含まれる。また、分類装置10は、モデルの学習を行う学習装置としても機能する。 The classification device 10 detects the position of an object in the image using a model, and further classifies the class of the detected object. The model includes a detector that detects the position of the object in the image and a classifier that classifies the class of the object. The classification device 10 also functions as a learning device for learning the model.
 図2を用いて、分類装置10の機能構成を説明する。図2は、分類装置の構成例を示すブロック図である。図2に示すように、分類装置10は、入出力部11、記憶部12及び制御部13を有する。 The functional configuration of the classification device 10 will be described with reference to FIG. FIG. 2 is a block diagram showing a configuration example of the classification device. As shown in FIG. 2, the classification device 10 includes an input / output unit 11, a storage unit 12, and a control unit 13.
 入出力部11は、ピッキングシステム20との間のデータの入出力、及び他の装置との間でのデータの通信を行うためのインタフェースである。例えば、入出力部11は、キーボードやマウス等の入力装置、ディスプレイやスピーカ等の出力装置、USBメモリ等の外部記憶装置との間でデータの入出力を行うものであってもよい。また、例えば、入出力部11はNIC(Network Interface Card)であり、インターネットを介してデータの通信を行ってもよい。 The input / output unit 11 is an interface for inputting / outputting data to / from the picking system 20 and communicating data with other devices. For example, the input / output unit 11 may input / output data to / from an input device such as a keyboard or mouse, an output device such as a display or speaker, or an external storage device such as a USB memory. Further, for example, the input / output unit 11 is a NIC (Network Interface Card), and data may be communicated via the Internet.
 記憶部12は、データや制御部13が実行するプログラム等を記憶する記憶装置の一例であり、例えばハードディスクやメモリ等である。記憶部12は、学習データ情報121、重み情報122、検出器情報123及び分類器情報124を記憶する。 The storage unit 12 is an example of a storage device that stores data, a program executed by the control unit 13, and the like, such as a hard disk and a memory. The storage unit 12 stores the learning data information 121, the weight information 122, the detector information 123, and the classifier information 124.
 学習データ情報121は、ピッキングシステム20のカメラ22によって撮影された画像のデータである。学習データ情報121は、画像のデータそのものであってもよいし、画像のデータに対し所定の処理を加えたものであってもよい。また、学習データ情報121に含まれる画像中の分類対象の物体の位置、及び当該物体が属するクラスは既知であるものとする。つまり、学習データ情報121は、検出器及び分類器の学習を行うための正解ラベル付きの学習データである。 The learning data information 121 is image data taken by the camera 22 of the picking system 20. The learning data information 121 may be the image data itself, or may be the image data to which a predetermined process is applied. Further, it is assumed that the position of the object to be classified in the image included in the learning data information 121 and the class to which the object belongs are known. That is, the learning data information 121 is learning data with a correct answer label for learning the detector and the classifier.
 重み情報122は、決定部132によって決定される重みである。決定部132による重みの決定方法については後に説明する。重み情報122は、モデルの学習の際に格納され、未知のデータの分類の際に参照され利用される。 The weight information 122 is a weight determined by the determination unit 132. The method of determining the weight by the determination unit 132 will be described later. The weight information 122 is stored when training the model, and is referred to and used when classifying unknown data.
 検出器情報123は、検出器を構築するためのパラメータである。例えば、検出器は、SSD(Single Shot Multibox Detector)であってもよい。SSDは、DNN(Deep Neural Network)を利用した物体の位置検出のためのモデルである。この場合、検出器情報123は、DNNの重み及びバイアス等である。また、検出器情報123は、学習により更新される。 The detector information 123 is a parameter for constructing a detector. For example, the detector may be an SSD (Single Shot Multibox Detector). SSD is a model for detecting the position of an object using DNN (Deep Neural Network). In this case, the detector information 123 is the DNN weight, bias, and the like. Further, the detector information 123 is updated by learning.
 分類器情報124は、分類器を構築するためのパラメータである。例えば、分類器は、SVM(Support Vector Machine)である。この場合、分類器情報124は、SVMのベクトルである。また、分類器情報124は、学習により更新される。また、実施例では、検出器の中間層の数と同数の分類器が存在する。このため、分類器情報124は、複数の分類器それぞれのパラメータである。 The classifier information 124 is a parameter for constructing a classifier. For example, the classifier is SVM (Support Vector Machine). In this case, the classifier information 124 is a vector of SVM. Further, the classifier information 124 is updated by learning. Also, in the examples, there are as many classifiers as there are intermediate layers of detectors. Therefore, the classifier information 124 is a parameter of each of the plurality of classifiers.
 制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部13は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。制御部13は、取得部131、決定部132、分類部133及び更新部134を有する。 In the control unit 13, for example, a program stored in an internal storage device is executed with RAM as a work area by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), or the like. Is realized by. Further, the control unit 13 may be realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array), for example. The control unit 13 has an acquisition unit 131, a determination unit 132, a classification unit 133, and an update unit 134.
 ここで、実施例において、分類装置10で用いられる検出器は、入力層、中間層及び出力層を有するニューラルネットワークモデルであって、画像に写る物体の位置を検出するSSDであるものとする。 Here, in the embodiment, it is assumed that the detector used in the classification device 10 is a neural network model having an input layer, an intermediate layer, and an output layer, and is an SSD that detects the position of an object in an image.
 また、ここでは、ピッキングシステム20が、図3に示すような円柱、星形、T字型、L字型の4つの形状の物体を把持対象とするものとする。図3は、物体の形状の一例を示す図である。また、図4に示すように、分類装置10は、物体を、各形状に対応するクラスに分類する。図4は、クラスについて説明するための図である。 Further, here, it is assumed that the picking system 20 targets objects having four shapes of a cylinder, a star, a T-shape, and an L-shape as shown in FIG. FIG. 3 is a diagram showing an example of the shape of an object. Further, as shown in FIG. 4, the classification device 10 classifies the objects into classes corresponding to each shape. FIG. 4 is a diagram for explaining the class.
 また、検出器用の学習データとして、例えば2,000個(例えば、各形状500個ずつ)の画像のデータが用意されているものとする。また、分類器用の学習データとして、例えば80個(例えば、各形状20個ずつ)の画像のデータが用意されているものとする。具体的には、各画像は、物体1個がランダムな位置に配置された、例えば300×300pixのカラー画像である。また、正解ラベルは、物体の位置を示す座標(x,y)、把持幅(w)、傾き(θ)によって表される。 Further, it is assumed that, for example, 2,000 image data (for example, 500 images for each shape) are prepared as learning data for the detector. Further, as learning data for the classifier, it is assumed that, for example, 80 image data (for example, 20 images for each shape) are prepared. Specifically, each image is, for example, a color image of 300 × 300 pix in which one object is arranged at random positions. The correct label is represented by the coordinates (x, y) indicating the position of the object, the grip width (w), and the inclination (θ).
[検出器の学習]
 まず、更新部134は、検出器用の学習データを使って、DNNの誤差逆伝播により検出器の学習を行い、検出器情報123を更新する。このとき、更新部134は、前述の2,000個の画像のデータを使い、エポック数を例えば200として学習を行う。
[Learning of detector]
First, the update unit 134 learns the detector by backpropagating the error of the DNN using the learning data for the detector, and updates the detector information 123. At this time, the update unit 134 uses the data of the above-mentioned 2,000 images and performs learning with the number of epochs set to 200, for example.
[分類器の学習]
 取得部131は、入力層、複数の中間層及びよび出力層を有するニューラルネットワークモデルの入力層に、1以上の物体が写った画像のデータを入力したときの複数の中間層のそれぞれから特徴ベクトルを取得する。
[Learning of classifier]
The acquisition unit 131 is a feature vector from each of the plurality of intermediate layers when the data of the image in which one or more objects are captured is input to the input layer of the neural network model having the input layer, the plurality of intermediate layers, and the output layer. To get.
 図5に示すように、検出器は複数の中間層を持つ。図5は、モデルの構成について説明するための図である。例えば、検出器は、SSD等の畳み込みニューラルネットワークである。検出器がSSDである場合、例えば23層の中間層が存在する。また、各中間層に対応した分類器が存在する。取得部131は、各中間層の特徴ベクトルの次元をPCA(principal component analysis:主成分分析)等により圧縮した上で取得する。 As shown in FIG. 5, the detector has a plurality of intermediate layers. FIG. 5 is a diagram for explaining the configuration of the model. For example, the detector is a convolutional neural network such as SSD. If the detector is an SSD, there are, for example, 23 intermediate layers. In addition, there is a classifier corresponding to each intermediate layer. The acquisition unit 131 acquires the dimension of the feature vector of each intermediate layer after compressing it by PCA (principal component analysis) or the like.
 決定部132は、取得部131によって取得された特徴ベクトルを、対応する各分類器に入力し、出力結果を得る。そして、決定部132は、各分類器の出力結果と正解データとの比較結果を基に、各分類器の重みを決定する。 The determination unit 132 inputs the feature vector acquired by the acquisition unit 131 into each corresponding classifier and obtains an output result. Then, the determination unit 132 determines the weight of each classifier based on the comparison result between the output result of each classifier and the correct answer data.
 また、決定部132による重みの決定の前に、分類部133は、分類器の出力結果及び重みに基づいて、画像のデータに写った物体を所定のクラスのいずれかに分類する。そして、更新部134は、特徴ベクトルのそれぞれに対応する分類器に入力したときの分類結果に基づき各分類器を更新する。また、各分類器がSVMである場合、訓練回数は1回でよく、各分類器の訓練は同時並行で行われてもよい。 Further, before the weight is determined by the determination unit 132, the classification unit 133 classifies the object reflected in the image data into one of a predetermined class based on the output result and the weight of the classifier. Then, the update unit 134 updates each classifier based on the classification result when the input is input to the classifier corresponding to each of the feature vectors. Further, when each classifier is an SVM, the number of trainings may be one, and the training of each classifier may be performed in parallel.
 ここで、決定部132による重みの決定について説明する。図6は、分類器の出力の一例を示す図である。図6に示すように、各分類器は、クラスごとのスコアを算出し、スコアが最も高いクラスを分類結果のクラスとして出力する。また、各分類器が正解のクラスに対して算出したスコアを精度とする。 Here, the determination of the weight by the determination unit 132 will be described. FIG. 6 is a diagram showing an example of the output of the classifier. As shown in FIG. 6, each classifier calculates a score for each class and outputs the class with the highest score as the classification result class. In addition, the score calculated by each classifier for the correct class is used as the accuracy.
 図6の例では、学習データはクラスBに属するものとする。ここで、図6に示すように、No.1の分類器は、クラスAのスコアを例えば「0.70」と算出し、クラスBのスコアを例えば「0.25」と算出し、クラスCのスコアを例えば「0.05」と算出している。このとき、No.1の分類器による分類結果はクラスAであり、正解と一致しない。また、No.1の分類器の精度は「0.25」である。 In the example of FIG. 6, it is assumed that the learning data belongs to class B. Here, as shown in FIG. 6, the No. 1 classifier calculates the class A score as, for example, "0.70", the class B score as, for example, "0.25", and the class C score, for example. It is calculated as "0.05". At this time, the classification result by the No. 1 classifier is class A and does not match the correct answer. The accuracy of the No. 1 classifier is "0.25".
 一方、No.2の分類器は、クラスAのスコアを例えば「0.10」と算出し、クラスBのスコアを例えば「0.80」と算出し、クラスCのスコアを例えば「0.10」と算出している。このとき、No.2の分類器による分類結果はクラスBであり、正解と一致する。また、No.2の分類器の精度は「0.80」である。 On the other hand, the No. 2 classifier calculates the class A score as, for example, "0.10", the class B score as, for example, "0.80", and the class C score as, for example, "0.10". .. At this time, the classification result by the No. 2 classifier is class B, which matches the correct answer. The accuracy of the No. 2 classifier is "0.80".
 図6の例では、5個中3個の分類器による分類結果が不正解である。このため、仮に、ランダムに選択した中間層の分類結果を最終的な分類結果として採用することとした場合、6割の確率で不正解となる。 In the example of FIG. 6, the classification result by 3 out of 5 classifiers is incorrect. Therefore, if the classification result of the randomly selected intermediate layer is adopted as the final classification result, there is a 60% probability that the answer will be incorrect.
 そこで、決定部132は、分類器の精度が高いほどが大きくなるように各分類器の重みを決定する。例えば、決定部132は、各分類器について、精度の2乗を重みとして決定する。また、決定部132は、決定した重みを重み情報122として記憶部12に格納する。 Therefore, the determination unit 132 determines the weight of each classifier so that the higher the accuracy of the classifier, the larger the weight. For example, the determination unit 132 determines for each classifier with the square of accuracy as a weight. Further, the determination unit 132 stores the determined weight as the weight information 122 in the storage unit 12.
 この場合、分類部133は、まず分類器ごとの各クラスに対する重み付け出力を(1)式のように計算する。そして、分類部133は、各クラスの合成出力を(2)式のように計算する。
  重み付け出力=分類器が算出したスコア×精度の2乗…(1)
  合成出力=各クラスの重み付け出力の合計/全クラスの重み付け出力の合計…(2)
In this case, the classification unit 133 first calculates the weighted output for each class for each classifier as in Eq. (1). Then, the classification unit 133 calculates the combined output of each class as in Eq. (2).
Weighted output = score calculated by the classifier x square of accuracy ... (1)
Combined output = total weighted output of each class / total weighted output of all classes ... (2)
 図7は、分類器の重み付け出力の一例を示す図である。分類部133は、決定部132によって決定された重みに基づき、図7のように合成出力を算出することができる。この場合、クラスBの合成出力が最も大きくなるため、分類部133は、最終的に学習データをクラスBに分類する。 FIG. 7 is a diagram showing an example of the weighted output of the classifier. The classification unit 133 can calculate the combined output as shown in FIG. 7 based on the weight determined by the determination unit 132. In this case, since the combined output of the class B is the largest, the classification unit 133 finally classifies the training data into the class B.
[処理の流れ]
 図8を用いて、実施例の学習処理の流れを説明する。図8は、学習処理の流れを示すフローチャートである。図8に示すように、まず、分類装置10は、検出器用の学習データを用いて検出器の学習を行う(ステップS101)。ここで、検出器は、入力層、中間層及び出力層を持つDNNであるものとする。
[Processing flow]
The flow of the learning process of the Example will be described with reference to FIG. FIG. 8 is a flowchart showing the flow of the learning process. As shown in FIG. 8, first, the classification device 10 learns the detector using the learning data for the detector (step S101). Here, it is assumed that the detector is a DNN having an input layer, an intermediate layer, and an output layer.
 次に、分類装置10は、分類器用の学習データを学習済みの検出器に入力し、複数の中間層のそれぞれから特徴ベクトルを取得する(ステップS102)。ここで、分類装置10は、取得した特徴ベクトルを、各中間層に対応する分類器に入力し各分類器の学習を行う(ステップS103)。そして、分類装置10は、分類器の分類結果に基づき、各分類器の重みを決定する(ステップS104)。 Next, the classification device 10 inputs the training data for the classifier into the trained detector, and acquires feature vectors from each of the plurality of intermediate layers (step S102). Here, the classification device 10 inputs the acquired feature vector into the classifier corresponding to each intermediate layer, and learns each classifier (step S103). Then, the classification device 10 determines the weight of each classifier based on the classification result of the classifier (step S104).
 図9を用いて、実施例の分類処理の流れを説明する。図9は、分類処理の流れを示すフローチャートである。図9に示すように、まず、分類装置10は、画像データを学習済みの検出器に入力し、複数の中間層のそれぞれから特徴ベクトルを取得する(ステップS201)。 The flow of the classification process of the examples will be described with reference to FIG. FIG. 9 is a flowchart showing the flow of the classification process. As shown in FIG. 9, first, the classification device 10 inputs the image data to the trained detector and acquires the feature vector from each of the plurality of intermediate layers (step S201).
 次に、分類装置10は、取得した特徴ベクトルを対応する分類器に入力する(ステップS202)。そして、分類装置10は、分類器の分類結果を重み付けして算出した合成出力に基づいて分類結果を出力する(ステップS203)。 Next, the classification device 10 inputs the acquired feature vector into the corresponding classifier (step S202). Then, the classification device 10 outputs the classification result based on the combined output calculated by weighting the classification result of the classifier (step S203).
[効果]
 上述したように、分類装置10は、入力層、複数の中間層及び出力層を有するニューラルネットワークモデルの入力層に、1以上の物体が写った画像のデータを入力したときの複数の中間層のそれぞれから特徴ベクトルを取得する。分類装置10は、取得した特徴ベクトルを、特徴ベクトルのそれぞれに対応する分類器に入力したときの分類結果に基づき各分類器を更新する。分類装置10は、各分類器の出力結果と正解データとの比較結果を基に、各分類器の重みを決定する。分類装置10は、分類器の出力結果及び重みに基づいて、画像のデータに写った物体を所定のクラスのいずれかに分類する。
[effect]
As described above, the classification device 10 is a plurality of intermediate layers when data of an image showing one or more objects is input to the input layer of the neural network model having an input layer, a plurality of intermediate layers, and an output layer. Get the feature vector from each. The classification device 10 updates each classifier based on the classification result when the acquired feature vector is input to the classifier corresponding to each of the feature vectors. The classification device 10 determines the weight of each classifier based on the comparison result between the output result of each classifier and the correct answer data. The classification device 10 classifies the objects reflected in the image data into one of a predetermined class based on the output result and the weight of the classifier.
 分類対象のデータの性質により、どの中間層から取得した特徴ベクトルが分類に適しているかが異なる場合がある。例えば、図10に示すように、画像認識を行うDNNにおいて、入力層に近い中間層には細かい領域(狭い領域)の特徴が現れやすく、出力層に近い中間層には抽象的な(広い領域)特徴が現れる傾向がある。 Depending on the nature of the data to be classified, the feature vector acquired from which intermediate layer may be suitable for classification. For example, as shown in FIG. 10, in a DNN that performs image recognition, features of a fine region (narrow region) tend to appear in the intermediate layer close to the input layer, and an abstract (wide region) is likely to appear in the intermediate layer close to the output layer. ) Features tend to appear.
 これに対し、分類装置10は、複数の中間層に対応する分類器ごとに、精度に応じた重みを付けることができる。このため、分類装置10は、分類器の精度を向上させることができる。 On the other hand, the classification device 10 can add weights according to accuracy to each classifier corresponding to a plurality of intermediate layers. Therefore, the classifier 10 can improve the accuracy of the classifier.
 分類装置10は、特徴ベクトルの次元を圧縮して取得する。これにより、分類装置10は、計算量を削減することができる。 The classification device 10 compresses and acquires the dimension of the feature vector. As a result, the classification device 10 can reduce the amount of calculation.
 分類装置10は、分類器の精度が高いほどが大きくなるように各分類器の重みを決定する。これにより、分類装置10は、各分類器から出力される情報を利用しつつ、特に精度が高い分類器の影響を大きくし、最終的な精度を向上させることができる。 The classifier 10 determines the weight of each classifier so that the higher the accuracy of the classifier, the larger the weight. As a result, the classification device 10 can increase the influence of the classifier having a particularly high accuracy and improve the final accuracy while utilizing the information output from each classifier.
 分類装置10は、畳み込みニューラルネットワークの中間層から特徴ベクトルを取得する。これにより、分類装置10は、画像認識全般について、分類器の精度を向上させることができる。 The classification device 10 acquires a feature vector from the intermediate layer of the convolutional neural network. As a result, the classification device 10 can improve the accuracy of the classifier for image recognition in general.
 なお、上記の実施例では、分類装置10が、学習処理及び分類処理の両方を行うものとして説明した。一方で、分類装置10は、学習装置で学習が行われたモデルの情報を受け取り、分類処理のみを行うようにしてもよい。また、上記の実施例では、分類器がSVMであるものとして説明した。一方で、分類器はSVNに限られず、例えばDNNであってもよい。 In the above embodiment, the classification device 10 has been described as performing both the learning process and the classification process. On the other hand, the classification device 10 may receive information on the model trained by the learning device and perform only the classification process. Further, in the above embodiment, the classifier is assumed to be an SVM. On the other hand, the classifier is not limited to SVN, and may be DNN, for example.
 また、実施例の手法は、分類問題だけでなく、回帰問題に応用することができる。この場合、分類装置10は、各分類器の各クラスのスコアに対し、精度そのもので重みを付けた加重平均を計算する。 In addition, the method of the example can be applied not only to the classification problem but also to the regression problem. In this case, the classification device 10 calculates a weighted average weighted by the accuracy itself for the score of each class of each classifier.
[システム]
 上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値等は、あくまで一例であり、任意に変更することができる。
[system]
Information including processing procedures, control procedures, specific names, and various data and parameters shown in the above documents and drawings can be arbitrarily changed unless otherwise specified. In addition, the specific examples, distributions, numerical values, etc. described in the examples are merely examples and can be arbitrarily changed.
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。 Further, each component of each device shown in the figure is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific forms of distribution and integration of each device are not limited to those shown in the figure. That is, all or a part thereof can be functionally or physically distributed / integrated in an arbitrary unit according to various loads, usage conditions, and the like. Further, each processing function performed by each device may be realized by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware by wired logic.
[ハードウェア]
 図11は、ハードウェア構成例を説明する図である。図11に示すように、分類装置10は、通信インタフェース10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図11に示した各部は、バス等で相互に接続される。
[hardware]
FIG. 11 is a diagram illustrating a hardware configuration example. As shown in FIG. 11, the classification device 10 includes a communication interface 10a, an HDD (Hard Disk Drive) 10b, a memory 10c, and a processor 10d. Further, the parts shown in FIG. 11 are connected to each other by a bus or the like.
 通信インタフェース10aは、ネットワークインタフェースカード等であり、他のサーバとの通信を行う。HDD10bは、図2に示した機能を動作させるプログラムやDBを記憶する。 The communication interface 10a is a network interface card or the like, and communicates with other servers. The HDD 10b stores a program or DB that operates the functions shown in FIG.
 プロセッサ10dは、図2に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、図2等で説明した各機能を実行するプロセスを動作させるハードウェア回路である。すなわち、このプロセスは、分類装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、取得部131、決定部132、分類部133及び更新部134と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、取得部131、決定部132、分類部133及び更新部134等と同様の処理を実行するプロセスを実行する。 The processor 10d reads a program that executes the same processing as each processing unit shown in FIG. 2 from the HDD 10b or the like and expands the program into the memory 10c to operate the process that executes each function described in FIG. 2 or the like. It is a wear circuit. That is, this process executes the same function as each processing unit of the classification device 10. Specifically, the processor 10d reads a program having the same functions as the acquisition unit 131, the determination unit 132, the classification unit 133, and the update unit 134 from the HDD 10b or the like. Then, the processor 10d executes a process of executing the same processing as the acquisition unit 131, the determination unit 132, the classification unit 133, the update unit 134, and the like.
 このように分類装置10は、プログラムを読み出して実行することで学習類方法を実行する情報処理装置として動作する。また、分類装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、分類装置10によって実行されることに限定されるものではない。例えば、他のコンピュータ又はサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。 In this way, the classification device 10 operates as an information processing device that executes a learning method by reading and executing a program. Further, the classification device 10 can realize the same function as that of the above-described embodiment by reading the program from the recording medium by the medium reading device and executing the read program. The program referred to in the other examples is not limited to being executed by the classification device 10. For example, the present invention can be similarly applied when another computer or server executes a program, or when they execute a program in cooperation with each other.
 このプログラムは、インターネット等のネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。 This program can be distributed via networks such as the Internet. In addition, this program is recorded on a computer-readable recording medium such as a hard disk, flexible disk (FD), CD-ROM, MO (Magneto-Optical disk), DVD (Digital Versatile Disc), and is recorded by the computer from the recording medium. It can be executed by being read.
 1 分類システム
 10 分類装置
 11 入出力部
 12 記憶部
 13 制御部
 20 ピッキングシステム
 21 ピッキングロボット
 22 カメラ
 23 トレイ
 121 学習データ情報
 122 重み情報
 123 検出器情報
 124 分類器情報
 131 取得部
 132 決定部
 133 分類部
 134 更新部
1 Classification system 10 Classification device 11 Input / output unit 12 Storage unit 13 Control unit 20 Picking system 21 Picking robot 22 Camera 23 Tray 121 Learning data information 122 Weight information 123 Detector information 124 Classifier information 131 Acquisition unit 132 Decision unit 133 Classification unit 134 Update

Claims (9)

  1.  入力層、複数の中間層及びよび出力層を有するニューラルネットワークモデルの前記入力層に、1以上の物体が写った画像のデータを入力したときの前記複数の中間層のそれぞれから特徴ベクトルを取得し、
     取得した前記特徴ベクトルを、前記特徴ベクトルのそれぞれに対応する分類器に入力したときの分類結果に基づき各分類器を更新し、
     各分類器の出力結果と正解データとの比較結果を基に、各分類器の重みを決定し、
     前記分類器の出力結果及び前記重みに基づいて、画像のデータに写った物体を所定のクラスのいずれかに分類する
     処理をコンピュータが実行することを特徴とする分類方法。
    A feature vector is acquired from each of the plurality of intermediate layers when data of an image showing one or more objects is input to the input layer of a neural network model having an input layer, a plurality of intermediate layers, and an output layer. ,
    Each classifier is updated based on the classification result when the acquired feature vector is input to the classifier corresponding to each of the feature vectors.
    Determine the weight of each classifier based on the comparison result between the output result of each classifier and the correct answer data.
    A classification method characterized in that a computer executes a process of classifying an object shown in image data into one of a predetermined class based on the output result of the classifier and the weight.
  2.  前記取得する処理は、前記特徴ベクトルの次元を圧縮して取得することを特徴とする請求項1に記載の分類方法。 The classification method according to claim 1, wherein the acquisition process is acquired by compressing the dimension of the feature vector.
  3.  前記決定する処理は、前記分類器の精度が高いほどが大きくなるように各分類器の重みを決定することを特徴とする請求項1又は2に記載の分類方法。 The classification method according to claim 1 or 2, wherein the determination process determines the weight of each classifier so that the higher the accuracy of the classifier, the greater the weight.
  4.  前記取得する処理は、畳み込みニューラルネットワークの中間層から前記特徴ベクトルを取得することを特徴とする請求項1に記載の分類方法。 The classification method according to claim 1, wherein the acquisition process is to acquire the feature vector from an intermediate layer of a convolutional neural network.
  5.  入力層、複数の中間層及びよび出力層を有するニューラルネットワークモデルの前記入力層に、1以上の物体が写った画像のデータを入力したときの前記複数の中間層のそれぞれから特徴ベクトルを取得し、
     取得した前記特徴ベクトルを、前記特徴ベクトルのそれぞれに対応する分類器に入力したときの分類結果に基づき各分類器を更新し、
     各分類器の出力結果と正解データとの比較結果を基に、各分類器の重みを決定し、
     前記分類器の出力結果及び前記重みに基づいて、画像のデータに写った物体を所定のクラスのいずれかに分類する
     処理をコンピュータに実行させることを特徴とする分類プログラム。
    A feature vector is acquired from each of the plurality of intermediate layers when data of an image showing one or more objects is input to the input layer of a neural network model having an input layer, a plurality of intermediate layers, and an output layer. ,
    Each classifier is updated based on the classification result when the acquired feature vector is input to the classifier corresponding to each of the feature vectors.
    Determine the weight of each classifier based on the comparison result between the output result of each classifier and the correct answer data.
    A classification program characterized in that a computer executes a process of classifying an object reflected in image data into one of a predetermined class based on the output result of the classifier and the weight.
  6.  入力層、複数の中間層及びよび出力層を有するニューラルネットワークモデルの前記入力層に、1以上の物体が写った画像のデータを入力したときの前記複数の中間層のそれぞれから特徴ベクトルを取得する取得部と、
     前記取得部が取得した前記特徴ベクトルを、前記特徴ベクトルのそれぞれに対応する分類器に入力したときの分類結果に基づき各分類器を更新する更新部と、
     各分類器の出力結果と正解データとの比較結果を基に、各分類器の重みを決定する決定部と、
     前記分類器の出力結果及び前記重みに基づいて、画像のデータに写った物体を所定のクラスのいずれかに分類する分類部と、
     を有することを特徴とする分類装置。
    A feature vector is acquired from each of the plurality of intermediate layers when data of an image showing one or more objects is input to the input layer of a neural network model having an input layer, a plurality of intermediate layers, and an output layer. Acquisition department and
    An update unit that updates each classifier based on the classification result when the feature vector acquired by the acquisition unit is input to the classifier corresponding to each of the feature vectors.
    A decision unit that determines the weight of each classifier based on the comparison result between the output result of each classifier and the correct answer data,
    Based on the output result of the classifier and the weight, the classification unit that classifies the objects in the image data into one of the predetermined classes,
    A classification device characterized by having.
  7.  入力層、複数の中間層及びよび出力層を有するニューラルネットワークモデルの前記入力層に、1以上の物体が写った画像のデータを入力したときの前記複数の中間層のそれぞれから特徴ベクトルを取得し、
     取得した前記特徴ベクトルを、前記特徴ベクトルのそれぞれに対応する分類器に入力したときの分類結果に基づき各分類器を更新し、
     各分類器の出力結果と正解データとの比較結果を基に、各分類器の重みを決定する
     処理をコンピュータが実行することを特徴とする学習方法。
    A feature vector is acquired from each of the plurality of intermediate layers when data of an image showing one or more objects is input to the input layer of a neural network model having an input layer, a plurality of intermediate layers, and an output layer. ,
    Each classifier is updated based on the classification result when the acquired feature vector is input to the classifier corresponding to each of the feature vectors.
    A learning method characterized in that a computer executes a process of determining the weight of each classifier based on the comparison result between the output result of each classifier and the correct answer data.
  8.  入力層、複数の中間層及びよび出力層を有するニューラルネットワークモデルの前記入力層に、1以上の物体が写った画像のデータを入力したときの前記複数の中間層のそれぞれから特徴ベクトルを取得し、
     取得した前記特徴ベクトルを、前記特徴ベクトルのそれぞれに対応する分類器に入力したときの分類結果に基づき各分類器を更新し、
     各分類器の出力結果と正解データとの比較結果を基に、各分類器の重みを決定する
     処理をコンピュータに実行させることを特徴とする学習プログラム。
    A feature vector is acquired from each of the plurality of intermediate layers when data of an image showing one or more objects is input to the input layer of a neural network model having an input layer, a plurality of intermediate layers, and an output layer. ,
    Each classifier is updated based on the classification result when the acquired feature vector is input to the classifier corresponding to each of the feature vectors.
    A learning program characterized in that a computer executes a process of determining the weight of each classifier based on the comparison result between the output result of each classifier and the correct answer data.
  9.  入力層、複数の中間層及びよび出力層を有するニューラルネットワークモデルの前記入力層に、1以上の物体が写った画像のデータを入力したときの前記複数の中間層のそれぞれから特徴ベクトルを取得する取得部と、
     前記取得部が取得した前記特徴ベクトルを、前記特徴ベクトルのそれぞれに対応する分類器に入力したときの分類結果に基づき各分類器を更新する更新部と、
     各分類器の出力結果と正解データとの比較結果を基に、各分類器の重みを決定する決定部と、
     を有することを特徴とする学習装置。
    A feature vector is acquired from each of the plurality of intermediate layers when data of an image showing one or more objects is input to the input layer of a neural network model having an input layer, a plurality of intermediate layers, and an output layer. Acquisition department and
    An update unit that updates each classifier based on the classification result when the feature vector acquired by the acquisition unit is input to the classifier corresponding to each of the feature vectors.
    A decision unit that determines the weight of each classifier based on the comparison result between the output result of each classifier and the correct answer data,
    A learning device characterized by having.
PCT/JP2019/030085 2019-07-31 2019-07-31 Classification method, classification program, classification device, learning method, learning program, and learning device WO2021019748A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/030085 WO2021019748A1 (en) 2019-07-31 2019-07-31 Classification method, classification program, classification device, learning method, learning program, and learning device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/030085 WO2021019748A1 (en) 2019-07-31 2019-07-31 Classification method, classification program, classification device, learning method, learning program, and learning device

Publications (1)

Publication Number Publication Date
WO2021019748A1 true WO2021019748A1 (en) 2021-02-04

Family

ID=74228679

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/030085 WO2021019748A1 (en) 2019-07-31 2019-07-31 Classification method, classification program, classification device, learning method, learning program, and learning device

Country Status (1)

Country Link
WO (1) WO2021019748A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015008567A1 (en) * 2013-07-18 2015-01-22 Necソリューションイノベータ株式会社 Facial impression estimation method, device, and program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015008567A1 (en) * 2013-07-18 2015-01-22 Necソリューションイノベータ株式会社 Facial impression estimation method, device, and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YOKOTA, YASUTO ET AL.: "Filtering of middle layer outputs for object classification using a model trained detecting grasping positions", THE 33TH ANNUAL CONFERENCE OF THE JAPANESE SOCIETY FOR ARTIFICIAL INTELLIGENCE, 1 June 2019 (2019-06-01), pages 1 - 3, XP055788104, DOI: https://doi.org/10.11517/pjsai.JSAI2019.0_1L2J1103 *

Similar Documents

Publication Publication Date Title
US11023806B2 (en) Learning apparatus, identifying apparatus, learning and identifying system, and recording medium
AU2019280047B9 (en) Correspondence neural networks: a joint appearance and motion representation for video
US9852326B2 (en) Facial expression capture for character animation
KR102068576B1 (en) Convolutional neural network based image processing system and method
US11640518B2 (en) Method and apparatus for training a neural network using modality signals of different domains
JP6159489B2 (en) Face authentication method and system
EP3198373B1 (en) Tracking hand/body pose
JP4618098B2 (en) Image processing system
WO2019074532A1 (en) Method, apparatus and system to perform action recognition with a spiking neural network
CN112368719A (en) Gradient antagonism training of neural networks
KR20160096460A (en) Recognition system based on deep learning including a plurality of classfier and control method thereof
Ozbulak Image colorization by capsule networks
WO2019026104A1 (en) Information processing device, information processing program, and information processing method
WO2018207334A1 (en) Image recognition device, image recognition method, and image recognition program
JP7405198B2 (en) Image processing device, image processing method, and image processing program
US11301723B2 (en) Data generation device, data generation method, and computer program product
US20210224647A1 (en) Model training apparatus and method
US20190042942A1 (en) Hybrid spiking neural network and support vector machine classifier
Mathe et al. A deep learning approach for human action recognition using skeletal information
JP7472471B2 (en) Estimation system, estimation device, and estimation method
WO2021019748A1 (en) Classification method, classification program, classification device, learning method, learning program, and learning device
JP7331947B2 (en) Object identification device, object identification method, learning device, learning method, and program
KR102120007B1 (en) Object tracking device and method of tracking object
WO2021019734A1 (en) Sorting method, sorting program, sorting device, learning method, learning program, and learning device
Gopalapillai et al. Classification of robotic data using artificial neural network

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19939956

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19939956

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP