JP6964857B2 - Image recognition device, image recognition method, computer program, and product monitoring system - Google Patents
Image recognition device, image recognition method, computer program, and product monitoring system Download PDFInfo
- Publication number
- JP6964857B2 JP6964857B2 JP2017063675A JP2017063675A JP6964857B2 JP 6964857 B2 JP6964857 B2 JP 6964857B2 JP 2017063675 A JP2017063675 A JP 2017063675A JP 2017063675 A JP2017063675 A JP 2017063675A JP 6964857 B2 JP6964857 B2 JP 6964857B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- original image
- data
- network
- processing unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 112
- 238000004590 computer program Methods 0.000 title claims description 20
- 238000012544 monitoring process Methods 0.000 title claims description 15
- 238000012545 processing Methods 0.000 claims description 143
- 230000008569 process Effects 0.000 claims description 92
- 238000013527 convolutional neural network Methods 0.000 claims description 66
- 239000013598 vector Substances 0.000 claims description 44
- 238000013528 artificial neural network Methods 0.000 claims description 23
- 230000002950 deficient Effects 0.000 claims description 20
- 241001465754 Metazoa Species 0.000 claims description 4
- 239000010410 layer Substances 0.000 description 104
- 238000011176 pooling Methods 0.000 description 32
- 238000004891 communication Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 11
- 210000002569 neuron Anatomy 0.000 description 9
- 238000012549 training Methods 0.000 description 9
- 238000013135 deep learning Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000000354 decomposition reaction Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000011478 gradient descent method Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 235000009508 confectionery Nutrition 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000010494 dissociation reaction Methods 0.000 description 1
- 230000005593 dissociations Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Description
本発明は、画像認識装置、画像認識方法、コンピュータプログラム、及び製品監視システムに関する。具体的には、階層型畳み込みニューラルネットワークを用いた画像認識の精度を向上する画像処理技術に関する。 The present invention relates to an image recognition device, an image recognition method, a computer program, and a product monitoring system. Specifically, the present invention relates to an image processing technique for improving the accuracy of image recognition using a hierarchical convolutional neural network.
近年、深層学習(Deep Learning)による画像認識の性能が飛躍的に向上している。深層学習は、多層の階層型ニューラルネットワークを用いた機械学習の総称である。多層の階層型ニューラルネットワークとしては、例えば、畳み込みニューラルネットワーク(以下、「CNN」ともいう。)が用いられる。 In recent years, the performance of image recognition by deep learning has been dramatically improved. Deep learning is a general term for machine learning using a multi-layered hierarchical neural network. As the multi-layered hierarchical neural network, for example, a convolutional neural network (hereinafter, also referred to as “CNN”) is used.
CNNは、局所領域の畳み込み層とプーリング層とが繰り返される多層の積層構造を有しており、かかる積層構造により画像認識の性能が向上するとされている。
非特許文献1及び2に示すように、畳み込みニューラルネットワークを用いた深層学習により、オブジェクトのクラスを認識することも既に行われている。
CNN has a multi-layered laminated structure in which a convolution layer and a pooling layer in a local region are repeated, and it is said that the laminated structure improves the image recognition performance.
As shown in
畳み込みニューラルネットワークを用いた画像認識では、原画像に前処理を施すことなく、原画像の画素値(RGB値)をそのままネットワークに入力するか、画素値に主成分分析(Principle Component Analysis)が行われる。
このように、従来では、原画像の画素値(生データ)をそのまま使用するか、原画像から単一の特徴因子を抽出する前処理を行うだけであるから、認識精度を向上するには、多数のサンプル画像及び同じクラスの多形態のサンプル画像を収集する必要がある。
In image recognition using a convolutional neural network, the pixel value (RGB value) of the original image is input to the network as it is without preprocessing, or principal component analysis (Principle Component Analysis) is performed on the pixel value. It is said.
In this way, conventionally, the pixel values (raw data) of the original image are used as they are, or only preprocessing for extracting a single feature factor from the original image is performed. Therefore, in order to improve the recognition accuracy, It is necessary to collect a large number of sample images and polymorphic sample images of the same class.
特に、回転又は反転したオブジェクトを含むサンプル画像は稀少であるから、通常の向きのサンプル画像を用いてCNNの学習を重ねても、回転又は反転したオブジェクトの認識精度を余り向上できないという問題もある。
本発明は、かかる従来の問題点に鑑み、階層型ニューラルネットワークによる画像認識の精度を向上することを目的とする。
In particular, since a sample image including a rotated or inverted object is rare, there is a problem that the recognition accuracy of the rotated or inverted object cannot be improved so much even if CNN learning is repeated using the sample image in a normal orientation. ..
In view of the conventional problems, an object of the present invention is to improve the accuracy of image recognition by a hierarchical neural network.
(1) 本発明の画像認識装置は、原画像に所定のデータ処理を施して入力データを生成するデータ生成部と、生成された前記入力データに含まれるオブジェクトの種類を認識する階層型ニューラルネットワークを有する画像処理部と、を備える画像認識装置であって、前記画像処理部は、前記原画像がサンプル画像である場合は、前記ネットワークの認識結果に基づいて当該ネットワークのパラメータを学習する処理を行い、前記原画像が認識の対象画像である場合は、前記ネットワークの認識結果を出力する処理を行い、前記データ生成部が行う前記データ処理は、前記原画像に対して回転及び反転のうちの少なくとも1つの不変性を付与する処理である。 (1) The image recognition device of the present invention is a data generation unit that generates input data by performing predetermined data processing on an original image, and a hierarchical neural network that recognizes the types of objects included in the generated input data. An image processing unit including an image processing unit, and when the original image is a sample image, the image processing unit performs a process of learning the parameters of the network based on the recognition result of the network. If the original image is the target image for recognition, the process of outputting the recognition result of the network is performed, and the data processing performed by the data generation unit is one of rotation and inversion with respect to the original image. It is a process of imparting at least one immutability.
本発明の画像認識装置によれば、データ生成部が行うデータ処理は、原画像に対して回転及び反転のうちの少なくとも1つの不変性を付与する処理よりなる。
このため、同数のサンプル画像により学習した場合には、上記のデータ処理を施さずに原画像をそのまま入力データとする用いる場合に比べて、階層型ニューラルネットワークによる画像認識の精度を向上することができる(図10参照)。また、回転又は反転したオブジェクトでも正確に認識できようになる。
According to the image recognition device of the present invention, the data processing performed by the data generation unit comprises a process of imparting at least one invariance of rotation and inversion to the original image.
Therefore, when learning with the same number of sample images, the accuracy of image recognition by the hierarchical neural network can be improved as compared with the case where the original image is used as the input data as it is without performing the above data processing. Yes (see Figure 10). In addition, even a rotated or inverted object can be recognized accurately.
(2) 本発明の画像認識装置において、具体的には、前記データ生成部が行う前記データ処理には、下記に定義する第1処理及び第2処理が含まれる。
第1処理:原画像に対して回転及び反転のうちの少なくとも1つの不変性を有する画像フィルタを生成する処理
第2処理:第1処理で生成した画像フィルタを原画像に畳み込む処理
(2) In the image recognition device of the present invention, specifically, the data processing performed by the data generation unit includes the first processing and the second processing defined below.
First process: Process of generating an image filter having at least one invariance of rotation and inversion with respect to the original image Second process: Process of convolving the image filter generated in the first process into the original image
(3) より具体的には、前記画像フィルタは、前記原画像の所定点を原点とする極座標で定義される任意の画素点の色ベクトルを、当該画素点を起点として所定角度で開く任意の方向に分割した、複数の色ベクトルに含まれる要素よりなる。
その理由は、極座標表示の画素点の色ベクトルを上記のように分割した複数の色ベクトルは、原点回りに任意の角度で回転しても等価なままであり、原画像に対して回転及び反転のうちの少なくとも1つの不変性を有するからである。
(3) More specifically, the image filter opens a color vector of an arbitrary pixel point defined by polar coordinates with a predetermined point of the original image as an origin at an arbitrary angle starting from the pixel point. It consists of elements contained in a plurality of color vectors divided in a direction.
The reason is that the plurality of color vectors obtained by dividing the color vectors of the pixel points in the polar coordinate display as described above remain equivalent even when rotated at an arbitrary angle around the origin, and are rotated and inverted with respect to the original image. This is because it has at least one invariance of.
(4) 更に具体的には、前記画像フィルタは、前記原画像の所定点を原点とする極座標で定義される任意の画素点の色ベクトルを、当該画素点を起点として半径方向及び接線方向に分割した、2つの色ベクトルに含まれる要素よりなることが好ましい。
その理由は、色ベクトルを半径方向と接線方向の2方向に分解すると、計算パラメータの数量を最小限にすることができ、データ生成部の処理負荷を低減できるからである。
(4) More specifically, the image filter sets a color vector of an arbitrary pixel point defined by polar coordinates with a predetermined point of the original image as the origin in the radial direction and the tangential direction starting from the pixel point. It preferably consists of elements contained in the two divided color vectors.
The reason is that if the color vector is decomposed in two directions, the radial direction and the tangential direction, the number of calculation parameters can be minimized and the processing load of the data generation unit can be reduced.
(5) 本発明の画像認識装置において、具体的には、前記階層型ニューラルネットワークは、畳み込みニューラルネットワークよりなる。
その理由は、畳み込みニューラルネットワークは、階層型ニューラルネットワークの中でも画像認識に高い性能を実現できるからである。
(5) In the image recognition device of the present invention, specifically, the hierarchical neural network comprises a convolutional neural network.
The reason is that the convolutional neural network can realize high performance for image recognition even in the hierarchical neural network.
(6) 本発明の画像認識装置において、種類が認識される前記オブジェクトは、手書き文字、人間、動物、植物、及び製品のうちの少なくとも1つの物体であればよい。
その理由は、本発明の特徴である、原画像に対して回転及び反転のうちの少なくとも1つの不変性を付与するデータ処理は、原画像に含まれるオブジェクトの属性に関係なく、種々のオブジェクトに適用可能であると考えられるからである。従って、本発明の画像認識装置の適用範囲は、特定のオブジェクトの認識に限定されるものではない。
(6) In the image recognition device of the present invention, the object whose type is recognized may be at least one of handwritten characters, humans, animals, plants, and products.
The reason is that the data processing that imparts at least one invariance of rotation and inversion to the original image, which is a feature of the present invention, applies to various objects regardless of the attributes of the objects contained in the original image. This is because it is considered applicable. Therefore, the scope of application of the image recognition device of the present invention is not limited to the recognition of a specific object.
(7) 本発明のコンピュータプログラムは、上述の(1)〜(6)のいずれかに記載の画像認識装置として、コンピュータを機能させるためのコンピュータプログラムに関する。
従って、本発明のコンピュータプログラムは、上述の(1)〜(6)のいずれかに記載の画像認識装置と同様の作用効果を奏する。
(7) The computer program of the present invention relates to a computer program for operating a computer as the image recognition device according to any one of (1) to (6) above.
Therefore, the computer program of the present invention has the same effect as the image recognition device according to any one of (1) to (6) above.
(8) 本発明の画像認識方法は、上述の(1)〜(6)のいずれかに記載の画像認識装置が実行する画像認識方法に関する。
従って、本発明の画像認識方法は、上述の(1)〜(6)のいずれかに画像認識装置と同様の作用効果を奏する。
(8) The image recognition method of the present invention relates to an image recognition method executed by the image recognition device according to any one of (1) to (6) above.
Therefore, the image recognition method of the present invention exerts the same effect as that of the image recognition device in any of the above-mentioned (1) to (6).
(9) 本発明の製品監視システムは、複数の製品を撮影する撮影装置と、撮影された前記複数の製品のうちのいずれかを外部に取り出すロボット装置と、取り出すべき前記製品を前記ロボット装置に指示する制御装置と、を備える製品監視システムであって、前記制御装置は、上述の(1)〜(6)のいずれかに記載の画像認識装置を含み、前記画像認識装置は、不良品と認識した前記製品の取り出しを前記ロボット装置に指示する。 (9) In the product monitoring system of the present invention, a photographing device for photographing a plurality of products, a robot device for taking out one of the photographed products to the outside, and the product to be taken out are used as the robot device. A product monitoring system including a control device for instructing, wherein the control device includes the image recognition device according to any one of (1) to (6) above, and the image recognition device is a defective product. Instruct the robot device to take out the recognized product.
本発明の製品監視システムによれば、画像認識装置が、不良品と認識した製品の取り出しをロボット装置に指示するので、適当数のサンプル画像により画像認識装置を学習させることにより、不良品の取り出しを自動的かつ正確に行うことができる。 According to the product monitoring system of the present invention, the image recognition device instructs the robot device to take out the product recognized as a defective product. Therefore, by learning the image recognition device from an appropriate number of sample images, the defective product can be taken out. Can be done automatically and accurately.
本発明は、上記のような特徴的な構成を備えるシステム及び装置として実現できるだけでなく、かかる特徴的な構成をコンピュータに実行させるためのコンピュータプログラムとして実現することができる。
また、上記の本発明は、システム及び装置の一部又は全部を実現する、1又は複数の半導体集積回路として実現することができる。
The present invention can be realized not only as a system and an apparatus having the above-mentioned characteristic configuration, but also as a computer program for causing a computer to execute such a characteristic configuration.
Further, the present invention described above can be realized as one or more semiconductor integrated circuits that realize a part or all of a system and an apparatus.
本発明によれば、階層型ニューラルネットワークによる画像認識の精度を向上することができる。 According to the present invention, the accuracy of image recognition by a hierarchical neural network can be improved.
以下、図面を参照して、本発明の実施形態の詳細を説明する。なお、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。 Hereinafter, the details of the embodiment of the present invention will be described with reference to the drawings. In addition, at least a part of the embodiments described below may be arbitrarily combined.
〔画像処理装置の全体構成〕
図1は、本発明の実施形態に係る画像認識装置10のブロック図である。
図1に示すように、本実施形態の画像認識装置10は、例えば、図示しないPC(Personal Computer)に搭載された演算処理部1と画像処理部2と備える。
[Overall configuration of image processing device]
FIG. 1 is a block diagram of an
As shown in FIG. 1, the
演算処理部1は、CPU(Central Processing Unit)を含む。演算処理部1のCPUの数は1つでも複数でもよく、FPGA(Field-Programmable Gate Array)やASIC(Application Specific Integrated Circuit)などの集積回路を含んでもよい。
演算処理部1は、RAM(Random Access Memory)を含む。RAMは、SRAM(Static RAM)又はDRAM(Dynamic RAM)などのメモリ素子で構成され、CPUなどが実行するコンピュータプログラム及びその実行に必要なデータを一時的に記憶する。
The arithmetic processing unit 1 includes a CPU (Central Processing Unit). The number of CPUs in the arithmetic processing unit 1 may be one or a plurality, and may include integrated circuits such as FPGA (Field-Programmable Gate Array) and ASIC (Application Specific Integrated Circuit).
The arithmetic processing unit 1 includes a RAM (Random Access Memory). The RAM is composed of memory elements such as SRAM (Static RAM) or DRAM (Dynamic RAM), and temporarily stores a computer program executed by a CPU or the like and data necessary for the execution thereof.
画像処理部2は、GPU(Graphics Processing Unit)を含む。画像処理部2のGPUの数は1つでも複数でもよく、FPGAやASICなどの集積回路を含んでもよい。
画像処理部2は、RAMを含む。RAMは、SRAM又はDRAMなどのメモリ素子で構成され、GPUなどが実行するコンピュータプログラム及びその実行に必要なデータを一時的に記憶する。
The
The
演算処理部1は、メモリに記録された演算処理のコンピュータプログラムを、CPUが実行することにより実現される機能部として、CNN処理部4への入力画像を生成するデータ生成部3を備える。
データ生成部3は、ラベル付きのサンプル画像7又は識別対象の撮影画像(以下、「対象画像」ともいう。)8に対して、下記の第1及び第2処理を施すことにより、CNN処理部4に対する入力画像(以下、「入力データ」ともいう。)を生成する。
The arithmetic processing unit 1 includes a
The
第1処理:サンプル画像7又は対象画像8から、当該画像7,8に対して回転及び反転の不変性を有する画像フィルタ9を生成する処理(図5参照)
第2処理:サンプル画像7又は対象画像8に対して、第1処理で生成した画像フィルタ9を畳み込む処理(図6参照)
First process: A process of generating an image filter 9 having rotation and inversion invariance with respect to the
Second process: A process of convolving the image filter 9 generated in the first process with respect to the
以下において、データ生成部3に入力される「サンプル画像」及び「対象画像」の総称を、「原画像」ともいう。原画像は、処理される(訓練若しくは認識)オブジェクト領域画像のみを指す。
データ生成部3は、原画像7,8に対して第1及び第2処理を行って得られた入力データを、後段の画像処理部2におけるCNN処理部4に入力する。
Hereinafter, the generic term of the "sample image" and the "target image" input to the
The
画像処理部2は、メモリに記録された画像処理のコンピュータプログラムを、GPUが実行することにより実現される機能部として、CNN処理部4、学習部5、及び認識部6を備える。
CNN処理部4は、入力データに含まれるオブジェクトの種類の認識(例えば、入力画像に含まれる文字の種類の認識など)を実行し、その認識結果(具体的には、分類クラスごとの確率など)を学習部5又は認識部6に入力する。
The
The
具体的には、ラベル付きのサンプル画像7を用いてCNNを訓練する場合には、CNN処理部4は、サンプル画像7の分類クラスを特定し、特定した分類クラスを学習部5に入力する。
他方、学習済みのCNN処理部4に対象画像8の分類クラスを特定させる場合、すなわち、画像処理部2が識別器として動作する場合には、CNN処理部4は、特定した分類クラスを認識部6に入力する。
Specifically, when training the CNN using the labeled
On the other hand, when the trained
学習部5は、入力された分類クラスに基づいて、CNN処理部4が保持するパラメータ(重みやバイアス)を更新し、更新後のパラメータをCNN処理部4に記憶させる。
認識部6は、入力された分類クラスに基づいて、認識結果を出力する。具体的には、CNN処理部4から入力された最も高い確率の分類クラスを、対象画像8の分類クラスとして出力する。認識部6が出力する認識結果は、PCのディスプレイなどに表示されることにより、PCのオペレータに通知される。
The
The recognition unit 6 outputs the recognition result based on the input classification class. Specifically, the classification class with the highest probability input from the
〔CNN処理部の処理内容〕
(CNNの構成例)
図2は、CNN処理部4に含まれるCNNの概略構成図である。
図2に示すように、CNN処理部4に構築されるCNNは、畳み込み層(「ダウンサンプリング層」ともいう。)C1,C2、プーリング層P1,P2及び全結合層Fの3つの演算処理層と、CNNの出力層である最終層Eとを備える。
[Processing content of CNN processing unit]
(CNN configuration example)
FIG. 2 is a schematic configuration diagram of a CNN included in the
As shown in FIG. 2, the CNN constructed in the
畳み込み層C1,C2の後にはプーリング層P1,P2が配置され、最後のプーリング層P2の後に全結合層Fが配置される。CNNの最終層Eには、予め設定された分類クラス数と同数(図2では10個)の最終ノードが含まれる。
図2では、畳み込み層C1,C2とこれに対応するプーリング層P1,P2が2つの場合を例示している。もっとも、畳み込み層とプーリング層は、3つ以上であってもよい。また、全結合層Fは少なくとも1つ配置される。
The pooling layers P1 and P2 are arranged after the convolution layers C1 and C2, and the fully connected layer F is arranged after the last pooling layer P2. The final layer E of the CNN includes the same number of final nodes (10 in FIG. 2) as the preset number of classification classes.
FIG. 2 illustrates a case where there are two convolution layers C1 and C2 and corresponding pooling layers P1 and P2. However, the number of the convolution layer and the pooling layer may be three or more. Further, at least one fully connected layer F is arranged.
ある層C1,P1,C2,P2におけるj番目のノードは、直前の層のm個のノードからそれぞれ入力xi(i=1,2,……m)を受け取り、これらの重み付き和にバイアスを加算した中間変数ujを計算する。すなわち、中間変数ujは次式で計算される。なお、次式において、wijは重みであり、bjはバイアスである。
非線形関数である活性化関数a(・)に中間変数ujを適用した応答yj、すなわち、yj=a(uj)がこの層のノードの出力となり、この出力は次の層に入力される。
活性化関数aには、「シグモイド関数」、或いは、a(xj)=max(xj,0)などが使用される。特に、後者の活性化関数は、「ReLU(Rectified Linear Unit)」と呼ばれる。ReLUは、収束性の良さや学習速度の向上などに貢献することから、近年よく使用される。
The response y j in which the intermediate variable u j is applied to the activation function a (・), which is a non-linear function, that is, y j = a (u j ) becomes the output of the node of this layer, and this output is input to the next layer. Will be done.
For the activation function a, a "sigmoid function" or a (x j ) = max (x j , 0) is used. In particular, the latter activation function is called "ReLU (Rectified Linear Unit)". ReLU is often used in recent years because it contributes to good convergence and improvement of learning speed.
CNNの出力層付近には、隣接層間のノードをすべて結合した全結合層Fが1層以上配置される。CNNの出力を与える最終層Eは、通常のニューラルネットワークと同様に設計される。
入力画像のクラス分類を目的とする場合は、分類クラス数と同数のノードが最終層Eに配置され、最終層Eの活性化関数aには「ソフトマックス関数」が用いられる。
In the vicinity of the output layer of the CNN, one or more fully connected layers F in which all the nodes between adjacent layers are connected are arranged. The final layer E, which gives the output of the CNN, is designed in the same way as a normal neural network.
When the purpose is to classify the input image, the same number of nodes as the number of classification classes are arranged in the final layer E, and the "softmax function" is used for the activation function a of the final layer E.
具体的には、n個のノードへの入力uj(j=1,2,……n)をもとに、次式が算出される。認識時には、pjが最大値をとるノードのインデックスj=argmaxjpjが推定クラスとして選択される。
(畳み込み層の処理内容)
図3は、畳み込み層C1,C2の処理内容の概念図である。
図3に示すように、畳み込み層C1,C2の入力は、縦長のサイズがS×S画素のN枚(Nチャンネル)の形式となっている。
以下、この形式の画像をS×S×Nと記載する。また、S×S×Nの入力をxijk(ただし、(i,j,k)∈[0,S-1],[0,S-1],[1,N])と記載する。
(Processing content of convolution layer)
FIG. 3 is a conceptual diagram of the processing contents of the convolution layers C1 and C2.
As shown in FIG. 3, the inputs of the convolution layers C1 and C2 are in the form of N pixels (N channels) having a vertically long size of S × S pixels.
Hereinafter, an image of this format will be referred to as S × S × N. Further, the input of S × S × N is described as x ijk (where (i, j, k) ∈ [0, S-1], [0, S-1], [1, N]).
CNNにおいて、最初の入力層(畳み込み層C1)のチャンネル数は、入力画像がグレースケールならばN=1となり、カラーならばN=3(RGBの3チャンネル)となる。
畳み込み層C1,C2では、入力xijkにフィルタ(「カーネル」ともいう。)を畳み込む計算が実行される。
In CNN, the number of channels of the first input layer (convolution layer C1) is N = 1 if the input image is grayscale, and N = 3 (3 channels of RGB) if the input image is color.
In the convolution layers C1 and C2, the calculation of convolving a filter (also referred to as "kernel") in the input x ijk is executed.
この計算は、一般的な画像処理におけるフィルタの畳み込み、例えば、小サイズの画像を入力画像に2次元的に畳み込んで画像をぼかす処理(ガウシアンフィルタ)や、エッジを強調する処理(鮮鋭化フィルタ)と基本的に同様の処理である。
具体的には、各チャンネルk(k=1〜N)の入力xijkのサイズS×Sの画素に、L×Lのサイズの2次元フィルタを畳み込み、その結果を全チャンネルk=1〜Nにわたって加算する。この計算結果は、1チャンネルの画像uijの形式となる。
This calculation includes filter convolution in general image processing, for example, a process of two-dimensionally convolving a small-sized image into an input image to blur the image (Gaussian filter), and a process of emphasizing edges (sharpening filter). ) Is basically the same process.
Specifically, a two-dimensional filter having an L × L size is convoluted into pixels having an input x ijk size S × S of each channel k (k = 1 to N), and the result is obtained from all channels k = 1 to N. Add over. The calculation result is in the form of a 1-channel image uij.
フィルタをwijk(ただし、(i,j,k)∈[1,L-1],[1,L-1],[1,N])と定義すると、uijは次式で算出される。
ただし、Pijは、画像中の画素(i,j)を頂点とするサイズL×L画素の正方領域である。すなわち、Pijは、次式で定義される。
bkは、バイアスである。本実施形態では、バイアスは、チャンネルごとに全出力ノード間で共通とする。すなわち、bijk=bkとする。
フィルタは、全画素ではなく複数画素の間隔で適用されることもある。すなわち、所定の画素数sについて、Pijを次式のように定義し、wp−i,q−j,kをwp−si,q−sj,kと置き換えてuijを計算してもよい。この画素間隔sを「スライド」という。
The filter may be applied at intervals of multiple pixels instead of all pixels. That is, for a given number of pixels s, define a P ij as follows, w p-i, q- j, a k w p-si, q- sj, to calculate the u ij replaced with k May be good. This pixel spacing s is called a "slide".
上記のように計算されたuijは、その後、活性化関数a(・)を経て、畳み込み層C1,C2の出力yijとなる。すなわち、yij=a(uij)となる。
これにより、1つのフィルタwijkにつき、入力xijkと縦横サイズが同じであるS×Sの1チャンネル分の出力yijが得られる。
The u ij calculated as described above is then passed through the activation function a (.) To become the output y ij of the convolution layers C1 and C2. That is, y ij = a (u ij ).
As a result, for one filter w ijk , the output y ij for one channel of S × S having the same vertical and horizontal sizes as the input x ijk can be obtained.
同様のフィルタをN’個用意して、それぞれ独立して上述の計算を実行すれば、N’チャンネル分のS×Sの出力、すなわち、S×S×N’サイズの出力yijk(ただし、(i,j,k)∈[1,S-1],[1,S-1],[1,N'])が得られる。
このN’チャンネル分の出力yijkは、次の層への入力xijkとなる。図3は、N’個あるフィルタのうちの1つに関する計算内容を示している。
If N'similar filters are prepared and the above calculations are performed independently for each, the output of S × S for N'channels, that is, the output of S × S × N'size y ijk (however, (i, j, k) ∈ [1, S-1], [1, S-1], [1, N']) is obtained.
The output y ijk for this N'channel becomes the input x ijk to the next layer. FIG. 3 shows the calculation contents for one of the N'filters.
以上の計算は、例えば図4に示すように、特殊な形で層間ノードが結ばれた単層ネットワークとして表現できる。図4は、受容野の構造の概念図である。左側の図では受容野が矩形で表現され、右側の図では受容野がノードで表現されている。
具体的には、上位層の各ノードは下位層の各ノードの一部と結合している(これを「局所受容野」という。)。また、結合の重みは各ノード間で共通となっている(これを「重み共有」という。)。
The above calculation can be expressed as a single-layer network in which interlayer nodes are connected in a special form, as shown in FIG. 4, for example. FIG. 4 is a conceptual diagram of the structure of the receptive field. In the figure on the left, the receptive field is represented by a rectangle, and in the figure on the right, the receptive field is represented by a node.
Specifically, each node in the upper layer is connected to a part of each node in the lower layer (this is called a "local receptive field"). In addition, the join weight is common among each node (this is called "weight sharing").
(プーリング層の処理内容)
図2に示す通り、プーリング層P1,P2は、畳み込み層C1,C2と対で存在する。従って、畳み込み層C1,C2の出力はプーリング層P1,P2への入力となり、プーリング層P1,P2の入力はS×S×Nの形式となる。
プーリング層P1,P2の目的は、画像のどの位置でフィルタの応答が強かったかという情報を一部捨てて、特徴の微少な変化に対する応答の不変性を実現することである。
(Processing content of pooling layer)
As shown in FIG. 2, the pooling layers P1 and P2 exist in pairs with the convolution layers C1 and C2. Therefore, the outputs of the convolution layers C1 and C2 are the inputs to the pooling layers P1 and P2, and the inputs of the pooling layers P1 and P2 are in the form of S × S × N.
The purpose of the pooling layers P1 and P2 is to discard some information about the position of the image where the filter response was strong, and to realize the invariance of the response to a slight change in the characteristics.
プーリング層P1,P2のノード(i,j)は、畳み込み層C1,C2と同様に、入力側の層に局所受容野Pi,jを有する。プーリング層P1,P2のノード(i,j)は、局所受容野Pi,jの内部のノード(p,q)∈Pi,jの出力yp,qを1つに集約する。
プーリング層P1,P2の局所受容野Pi,jのサイズは、畳み込み層C1,C2のそれ(フィルタサイズ)と無関係に設定される。
The nodes (i, j) of the pooling layers P1 and P2 have local receptive fields Pi and j in the input side layer, similarly to the convolutional layers C1 and C2. Node pooling layer P1, P2 (i, j) is to aggregate local receptive field P i, the internal nodes of the j (p, q) ∈P i , the output y p of the j, q to one.
The sizes of the local receptive fields Pi and j of the pooling layers P1 and P2 are set independently of those of the convolutional layers C1 and C2 (filter size).
入力が複数チャンネルの場合、チャンネルごとに上記の処理が行われる。すなわち、畳み込み層C1,C2とプーリング層P1,P2の出力チャンネル数は一致する。
プーリングは、画像の縦横(i,j)の方向に間引いて行われる。すなわち、2以上のストライドsが設定される。例えば、s=2とすると、出力の縦横サイズは入力の縦横サイズの半分となり、プーリング層の出力ノード数は、入力ノード数の1/s2倍となる。
When the input is a plurality of channels, the above processing is performed for each channel. That is, the number of output channels of the convolution layers C1 and C2 and the pooling layers P1 and P2 are the same.
Pooling is performed by thinning out in the vertical and horizontal directions (i, j) of the image. That is, two or more strides are set. For example, when s = 2, vertical and horizontal size of the output becomes half the vertical and horizontal size of the input, the number of output nodes of the pooling layer becomes 1 / s 2 times the number of input nodes.
受容野Pi,jの内部のノードからの入力を1つに纏めて集約する方法には、「平均プーリング」及び「最大プーリング」などがある。
平均プーリングは、次式の通り、Pi,jに属するノードからの入力xpqkの平均値を出力する方法である。
The average pooling is a method of outputting the average value of the input x pqk from the nodes belonging to Pi and j as shown in the following equation.
最大プーリングは、次式の通り、Pi,jに属するノードからの入力xpqkの最大値を出力する方法である。CNNの初期の研究では平均プーリングが主流であったが、現在では最大プーリングが一般的に採用される。
なお、畳み込み層C1,C2と異なり、プーリング層P1,P2では、学習によって変化する重みは存在せず、活性化関数も適用されない。
本実施形態のCNNにおいて、平均プーリング及び最大プーリングのいずれを採用してもよいが、図7に示すCNNの実装例では最大プーリングを採用している。
Unlike the convolution layers C1 and C2, the pooling layers P1 and P2 do not have weights that change due to learning, and the activation function is not applied.
In the CNN of the present embodiment, either the average pooling or the maximum pooling may be adopted, but in the implementation example of the CNN shown in FIG. 7, the maximum pooling is adopted.
〔学習部の処理内容〕
CNNの学習(training)では、「教師あり学習」が基本である。本実施形態においても、学習部5は教師あり学習を実行する。
具体的には、学習部5は、学習データとなる多数のラベル付きのサンプル画像を含む集合を対象として、各サンプル画像の分類誤差を最小化することにより実行される。以下、この処理について説明する。
[Processing content of the learning department]
In CNN training, "supervised learning" is the basis. Also in this embodiment, the
Specifically, the
CNN処理部4の最終層Eの各ノードは、ソフトマックス関数による正規化(前述の〔数2〕)により、対応するクラスに対する確率pj(j=1,2,……n)を出力する。この確率pjは、学習部5に入力される。
学習部5は、入力された確率pjから算出される分類誤差を最小化するように、CNN処理部4に設定された重みなどのパラメータを更新する。
Each node of the final layer E of the CNN processing unit 4 outputs the probability pj (j = 1, 2, ... n) for the corresponding class by normalization by the softmax function ([Equation 2] described above). .. This probability p j is input to the
具体的には、学習部5は、入力サンプルに対する理想的な出力d1,d2,……dn(ラベル)と、出力p1.p2.……pnの乖離を、次式の交差エントロピーCによって算出する。この交差エントロピーCが分類誤差である。
目標出力d1,d2,……dnは、正解クラスjのみでdj=1となり、それ以外のすべてのk(≠j)ではdk=0となるように設定される。
学習部5は、上記の交差エントロピーCが小さくなるように、各畳み込み層C1,C2のフィルタの係数wijkと各ノードのバイアスbk、及び、CNNの出力層側に配置された全結合層Fの重みとバイアスを調整する。
The target outputs d1, d2, ... dn are set so that d j = 1 only in the correct answer class j and d k = 0 in all other k (≠ j).
分類誤差Cの最小化には、確率的勾配降下法が用いられる。学習部5は、重みやバイアスに関する誤差勾配(∂C/∂wij)を、誤差逆伝播法(BP法)により計算する。BP法による計算方法は、通常のニューラルネットワークの場合と同様である。
もっとも、CNN処理部4が最大プーリングを採用する場合の逆伝播では、学習サンプルに対する順伝播の際に、プーリング領域のどのノードの値を選んだかを記憶し、逆伝播時にそのノードのみと結合(重み1で結合)させる。
A stochastic gradient descent method is used to minimize the classification error
However, in the back propagation when the
学習部5による分類誤差Cの評価とこれに基づくパラメータ(重みなど)の更新は、全学習サンプルについて実行してもよい。しかし、収束性及び計算速度の観点から、数個から数百個程度のサンプルの集合(ミニバッチ)ごとに実行することが好ましい。この場合の重みwijの更新量Δwijは、次式で決定される。
上式において、Δwij (t)は今回の重み更新量であり、Δwij (t−1)は前回の重み更新量である。上式の第1項は、勾配降下法により誤差を削減するためのwijの修正量を表す項であり、εは学習率である。
上式の第2項は、モメンタム(momentum)である。モメンタムは、前回更新量のα(〜0.9)倍を加算することでミニパッチの選択による重みの偏りを抑える。第3項は、重み減衰(weight decay)である。重み減衰は、重みが過大にならないようにするパラメータである。なお、バイアスbkの更新についても同様である。
In the above equation, Δw ij (t) is the current weight update amount, and Δw ij (t-1) is the previous weight update amount. The first term of the above equation is a term representing the amount of correction of wij for reducing the error by the gradient descent method, and ε is the learning rate.
The second term of the above equation is momentum. Momentum suppresses weight bias due to the selection of mini-patches by adding α (~ 0.9) times the previous update amount. The third term is weight decay. Weight attenuation is a parameter that prevents the weight from becoming excessive. The same applies to the update of the bias b k.
〔画像生成部の処理内容〕
図5は、データ生成部3による第1処理の説明図である。
前述の通り、「第1処理」は、サンプル画像7又は対象画像8から、当該原画像7,8に対して回転及び反転の不変性を有する画像フィルタ9を生成する処理である。
図5において、学習段階での原画像は、サンプル画像7であり、画像処理装置2を識別器とする場合の原画像は、対象画像8である。
[Processing content of image generator]
FIG. 5 is an explanatory diagram of the first process by the
As described above, the "first process" is a process of generating an image filter 9 having invariance of rotation and inversion with respect to the
In FIG. 5, the original image at the learning stage is the
原画像7,8には、直交座標の各画素点p(x,y)におけるRGB値(0〜255)が含まれる。ここでは、図5(a)に示すように、画素点pでのRGB値を要素とするデータ列(R,G,B)を色ベクトル「g」という。
データ生成部3は、まず、原画像7,8の中心点cを抽出し、抽出した中心点cを座標の原点とする。次に、データ生成部3は、図5(b)に示すように、直交座標(x,y)の画素点pを、中心点cを原点とする極座標に変換する(極化処理)。
The
First, the
なお、極座標の原点は、必ずしも原画像7,8の中心点cでなくてもよく、中心点cから多少ずれた位置にある所定のポイントであってもよい。
The origin of the polar coordinates does not necessarily have to be the center point c of the
次に、データ生成部3は、中心点cを原点とする極座標に含まれる、任意の画素点pの色ベクトルg=(R,G,B)を、画素点pにおける半径方向の色ベクトルgrと接線方向の色ベクトルgtに分解する。この色ベクトルgの分解は、次式により実行される。
ここで、「gT」は、色ベクトルg=(R,G,B)の転置ベクトルである。「r」は、次式により定義される画素点pにおける半径方向の単位ベクトルである。「t」は、次式により定義される画素点pにおける接線方向の単位ベクトルである。 Here, "g T " is a transposed vector of the color vector g = (R, G, B). “R” is a unit vector in the radial direction at the pixel point p defined by the following equation. “T” is a unit vector in the tangential direction at the pixel point p defined by the following equation.
上式において、「Rθ」は、単位ベクトルrを角度θだけ回転させる回転ベクトルである。本実施形態では、単位ベクトルtの方向は接線方向(単位ベクトルrからの角度が90度)であるから、回転行列Rθの角度θの値は、θ=π/2となる。
原画像7,8の極座標に含まれるすべての画素点pに上記の計算を行うことにより、各画素点pについて、合計6種類の要素(Rr、Rt、Gr、Gt、Br、Bt)を含むシングルチャンネルの画像フィルタ9が生成される。
In the above equation, "R θ " is a rotation vector that rotates the unit vector r by an angle θ. In the present embodiment, since the direction of the unit vector t is the tangential direction (the angle from the unit vector r is 90 degrees), the value of the angle θ of the rotation matrix R θ is θ = π / 2.
By performing the above calculation on all the pixel points p included in the polar coordinates of the
図6は、データ生成部3による第2処理の説明図である。
前述の通り、「第2処理」は、原画像7,8に対して、第1処理で生成した画像フィルタ9を畳み込む処理である。
図6において、学習段階での原画像は、サンプル画像7であり、画像処理装置2を識別器とする場合の原画像は、対象画像8である。
FIG. 6 is an explanatory diagram of the second process by the
As described above, the "second process" is a process of convolving the image filter 9 generated in the first process with respect to the
In FIG. 6, the original image at the learning stage is the
〔画像フィルタの回転及び反転の不変性〕
図7は、画素点pを所定角度θだけ回転させた変換点pθ、反転させた反転点p'と回転反転(若しくは反転回転)させた複数変更点p'θの説明図である。
図7に示すように、任意の画素点pに対して、同じ半径で左回りに所定角度θだけ進んだ点である回転点を「pθ」とする。
図7に示すように、任意の画素点pに対して、反転させた反転点を「p'」とする。
図7に示すように、任意の画素点pの反転点p'に対して、同じ半径で左回りに所定角度θだけ進んだ点である回転点を「p'θ」とする。但し、複数の変更があった場合に、変換される手順は反転回転でも回転反転でもよい。
また、回転点pθ、反転点p'、回転反転(若しくは反転回転)点p'θにおける色ベクトルをそれぞれ「gθ」、「g'」、「g'θ」とし、回転点p'θにおける半径方向及び接線方向の単位ベクトルをそれぞれ「rθ」、「r'」、「r'θ」及び「tθ」、「t'」、「t'θ」とする。
[Invariance of rotation and inversion of image filter]
Figure 7 is a conversion point p theta rotating the pixel point p by a predetermined angle theta, is an illustration of a theta 'multiple changes p rotated inverted (or reversed rotation)' is inverted reversal point p.
As shown in FIG. 7, a rotation point that is a point that advances counterclockwise by a predetermined angle θ with the same radius with respect to an arbitrary pixel point p is defined as “p θ ”.
As shown in FIG. 7, the inverted inversion point is defined as "p'" with respect to an arbitrary pixel point p.
As shown in FIG. 7, the rotation point, which is a point advanced counterclockwise by a predetermined angle θ with the same radius with respect to the inversion point p'of an arbitrary pixel point p, is defined as "p'θ". However, when there are a plurality of changes, the procedure for conversion may be reverse rotation or rotation reverse.
The rotation point p theta, reversal point p ', the rotation inversion (or reversal rotation) point p' each color vector in theta "g theta", and "g '", "g' theta ', rotating point p' theta each "r theta" a unit vector in the radial and tangential directions in, "r '", "r'theta" and "t theta", and "t '", "t' theta '.
この場合、次式に示すように、画素点p、回転点pθ、反転点p'、複数変換点p'θにおける半径方向及び接線方向の色ベクトルは、(gTr,gTt)、((Rθg)Tr,(Rθg)Tt)、((Mg)Tr,(Mg)Tt)、((MRθg)Tr,(MRθg)Tt)と一致する。
ただし、次式において、Mは反転行列である。Mは、対角成分が1又は−1の対角行列であるため、MTM=Iとなる。
In this case, as shown in the following equation, the pixel point p, rotation point p theta, color vector inversion point p ', more conversion points p' radial and tangential direction in the theta is, (g T r, g T t) , ((R θ g) T r, (R θ g) T t), ((Mg) T r, (Mg) T t), ((MR θ g) T r, (MR θ g) T t) Matches with.
However, in the following equation, M is an inversion matrix. M, since the diagonal elements are the diagonal matrix of 1 or -1, and M T M = I.
(回転の場合)
(反転の場合)
(回転反転(若しくは反転回転)の場合)
上記の等式は、中心点c回りの角度θの値に関係なく成立する。すなわち、画素点pでの半径方向の色ベクトルgrと接線方向の色ベクトルgtは、中心点c回りにどのような角度θで回転しても不変である。同様、反転及び複数変更の場合も不変性を有する。なお、反転には、左右の反転(y軸対称)と上下の反転(x軸対称)の双方が含まれる。
従って、離散情報に構成された原画像7,8の色ベクトルgに対して、各方向の色ベクトルgr,gtを要素とする画像フィルタ9を畳み込む処理を実行すれば、処理後の入力データは、中心点c回りの回転及び反転に対して不変性を有する入力データとなる。
The above equation holds regardless of the value of the angle θ around the center point c. That is, the radial color vector gr and the tangential color vector gt at the pixel point p are invariant regardless of the angle θ around the center point c. Similarly, inversion and multiple changes also have invariance. The inversion includes both left-right inversion (y-axis symmetry) and up-down inversion (x-axis symmetry).
Therefore, if the processing of convolving the image filter 9 having the color vectors gr and gt in each direction as elements with respect to the color vectors g of the
〔推奨されるCNNの構造例〕
図8は、CNN処理部4に構築される深層CNNの構造図である。
図8に示すように、本願発明者らが推奨する、画像認識のためのCNNのアーキテクチャは、入力ボリュームを出力ボリュームに変換する畳み込み層C1〜C4と、全結合層A1〜A3の積層体により構成されている。
[Recommended CNN structure example]
FIG. 8 is a structural diagram of the deep CNN constructed in the
As shown in FIG. 8, the CNN architecture for image recognition recommended by the inventors of the present application is based on a laminate of convolution layers C1 to C4 for converting an input volume into an output volume and fully coupled layers A1 to A3. It is configured.
CNNの各層C1〜C4,A1〜A3は、幅、高さ及び奥行きの3次元的に配列されたニューロンを有する。
最初の入力層C1の幅、高さ及び奥行きのサイズは56×56×3が好ましい。畳み込み層C2〜C4及び全結合層A1の内部のニューロンは、1つ前の層の受容野と呼ばれる小領域のノードのみに接続されている。
Each layer C1-C4, A1-A3 of the CNN has neurons arranged three-dimensionally in width, height and depth.
The width, height and depth of the first input layer C1 are preferably 56 × 56 × 3. The neurons inside the convolutional layers C2-C4 and the fully connected layer A1 are connected only to the nodes in a small area called the receptive field of the previous layer.
出力ボリュームの空間的な大きさは、次式で計算することができる。
W2=1+(W1−K+2P)/S
上式において、W1は、入力ボリュームのサイズである。Kは、畳み込み層のニューロンの核(ノード)のフィールドサイズである。Sはストライド、すなわち、カーネルマップにおける隣接するニューロンの受容野の中心間距離を意味する。Pは、ボーダー上で使用されるゼロパディングの量を意味する。
The spatial size of the output volume can be calculated by the following equation.
W2 = 1 + (W1-K + 2P) / S
In the above equation, W1 is the size of the input volume. K is the field size of the nucleus (node) of the neuron in the convolution layer. S means stride, that is, the distance between the centers of the receptive fields of adjacent neurons in the kernel map. P means the amount of zero padding used on the border.
図8のCNNでは、第1畳み込み層C1において、W1=56、K=5、S=2、P=2である。従って、第2畳み込み層C2の出力ボリュームの空間的な大きさは、W2=1+(56−5+2×2)/2=28.5→28となる。
図8のネットワークでは、重みを持つ7つの層を含む。最初の4つは畳み込み層C1〜C4であり、残りの3つは完全に接続された全結合層A1〜A3である。全結合層A1〜A3には、ドロップアウトが含まれる。
In the CNN of FIG. 8, in the first convolution layer C1, W1 = 56, K = 5, S = 2, P = 2. Therefore, the spatial size of the output volume of the second convolution layer C2 is W2 = 1 + (56-5 + 2 × 2) / 2 = 28.5 → 28.
The network of FIG. 8 includes seven layers with weights. The first four are convolution layers C1 to C4 and the remaining three are fully connected fully connected layers A1 to A3. Fully bonded layers A1 to A3 include dropouts.
最後の全結合層A3の出力は、この層A3と完全に接続された最終層である、7クラスラベルの分布を生成する7-way SOFTMAXに供給される。
畳み込み層C2〜C4と全結合層A1のニューロンは前の層の受容野に接続され、全結合層A2〜A3のニューロンは、前の層の全てのニューロンに接続されている。
The output of the last fully connected layer A3 is fed to 7-way SOFTMAX, which produces a distribution of 7 class labels, which is the final layer fully connected to this layer A3.
The neurons of the convolutional layers C2 to C4 and the fully connected layer A1 are connected to the receptive field of the previous layer, and the neurons of the fully connected layers A2 to A3 are connected to all the neurons of the previous layer.
畳み込み層C1,C2の後にはバッチ正規化層が続く。各バッチ正規化層の後には、それぞれ前述の最大プーリングを実行するプーリング層が続く。
畳み込み層C1〜C4と全結合層A1〜A3のための非線形マッピング関数は、整流リニアユニット(ReLU)よりなる。
The convolution layers C1 and C2 are followed by a batch normalization layer. Each batch normalization layer is followed by a pooling layer that performs the maximal pooling described above.
The nonlinear mapping function for the convolution layers C1 to C4 and the fully coupled layers A1 to A3 comprises a rectifying linear unit (ReLU).
第1畳み込み層C1は、サイズが5×5×3の64個のカーネルにより、2画素のストライドで56×56×3の入力画像(AGE画像)をフィルタリングする。
ストライド(歩幅)は、カーネルマップ内で隣接するニューロンの受容野の中心間の距離である。ストライドは、すべての畳み込み層において1ピクセルに設定されている。
The first convolution layer C1 filters a 56 × 56 × 3 input image (AGE image) with a 2-pixel stride by 64 kernels having a size of 5 × 5 × 3.
Stride is the distance between the centers of the receptive fields of adjacent neurons in the kernel map. The stride is set to 1 pixel in all convolution layers.
第2畳み込み層C2の入力は、バッチ正規化及び最大プールされた第1畳み込み層C1の出力である。第2畳込み層C2は、サイズが3×3×64である128のカーネルで入力をフィルタリングする。
第3畳み込み層C3は、サイズが3×3×64である128のカーネルを有し、これらは第2層C2(バッチ正規化とMAXプーリング)の出力に接続されている。
The input of the second convolution layer C2 is the output of the first convolution layer C1 that has been batch normalized and maximally pooled. The second convolution layer C2 filters the inputs with 128 kernels of size 3x3x64.
The third convolution layer C3 has 128 kernels of size 3x3x64, which are connected to the output of the second layer C2 (batch normalization and MAX pooling).
第4畳み込み層C4は、サイズが3×3×128である128のカーネルを備えている。完全に接続された全結合層A1〜A3は、それぞれ1024のニューロンを備えている。 The fourth convolution layer C4 comprises 128 kernels having a size of 3x3x128. Fully connected fully connected layers A1 to A3 each include 1024 neurons.
〔推奨される学習例〕
本願発明者らは、図8の構造の深層CNNを実際に訓練(学習)させた。訓練に際しては、NVIDIA GTX745 4GBのGPUを実装するPCに対して、オープンソースの数値解析ソフトウェアである「MATLAB」を用いて行った。
CNNの学習ステップにおいては、重み減衰、モメンタム、バッチサイズ、学習率や学習サイクルを含むパラメータなどの重要な設定がある。以下、この点について説明する。
[Recommended learning example]
The inventors of the present application actually trained (learned) the deep CNN of the structure of FIG. The training was conducted using "MATLAB", an open source numerical analysis software, for a PC equipped with an NVIDIA GTX745 4GB GPU.
In the CNN learning step, there are important settings such as weight attenuation, momentum, batch size, learning rate and parameters including learning cycle. This point will be described below.
本願発明者らによる訓練では、モメンタムが0.9であり、重み減衰が0.0005である非同期の確率的勾配降下法を採用した。次式は、今回採用した重みwの更新ルールである。
上式において、iは反復回数であり、mはモメンタム変数である。εは学習率を意味する。右辺の第3項は、wiにおいて誤差Lを削減するための重みwの修正量のi番目のバッチDiに関する平均値である。
バッチサイズの増加は、より信頼性の高い勾配推定値をもたらし、学習時間を短縮できるが、それでは最大の安定した学習率εの増加が得られない。そこで、CNNのモデルに適したバッチサイズを選択する必要がある。
In the above equation, i is the number of iterations and m is the momentum variable. ε means the learning rate. The third term on the right side is the average value of the correction amount of the weight w for reducing the error L in wi with respect to the i-th batch Di.
Increasing the batch size provides a more reliable gradient estimate and can reduce the learning time, but it does not provide the maximum stable increase in the learning rate ε. Therefore, it is necessary to select a batch size suitable for the CNN model.
ここでは、畳み込み層C1〜C4について、それぞれ、64、128、256及び512のバッチサイズを採用した訓練(学習)の結果を比較した。その結果、図8のCNNでは、256のバッチサイズが最適であることが判明した。
また、すべての層に同等の学習率を使用し、訓練を通して手動で調整した。学習率は0.1に初期化し、エラーレートが現時点の学習率で改善を停止したときに、学習率を10で分割した。また、訓練に際しては、約20サイクルでネットワークを訓練した。
Here, the results of training (learning) using batch sizes of 64, 128, 256, and 512 for the convolution layers C1 to C4 were compared. As a result, it was found that the batch size of 256 was optimal for the CNN of FIG.
Equal learning rates were used for all layers and manually adjusted throughout the training. The learning rate was initialized to 0.1, and when the error rate stopped improving at the current learning rate, the learning rate was divided by 10. In the training, the network was trained in about 20 cycles.
〔実験例:手書き文字を識別する場合の効果〕
本願発明者らは、「神戸大学経済経営研究所 附属企業資料総合センター」に所蔵された、「鐘紡資料データベース」の「支配人回章1」に含まれる手書き文字の画像を用いて、本願発明の有意性を試す比較実験を行った。
[Experimental example: Effect of identifying handwritten characters]
The inventors of the present application used the images of the handwritten characters included in the "Manager's Circular 1" of the "Kanebo Material Database" held in the "Research Institute for Economics and Business Administration, Kobe University" to obtain the invention of the present application. A comparative experiment was conducted to test the significance.
識別するオブジェクト(手書き文字)の種類は、支配人回章1に含まれる「支」、「配」、「人」、「工」、「場」、「長」、「会(會)」、「社」、「明」及び「治」とした。学習に用いる各文字のサンプル数は、各々400枚(56×56ピクセル)とした。図9は、比較実験に用いた手書き文字(原画像)の一例を示す図である。 The types of objects (handwritten characters) to be identified are "support", "distribution", "person", "work", "place", "chief", "kai", and "kai" included in the manager's turn 1. "Sha", "Ming" and "Ji". The number of samples of each character used for learning was 400 (56 × 56 pixels). FIG. 9 is a diagram showing an example of handwritten characters (original image) used in the comparative experiment.
図10は、文字クラスごとの認識精度の試験結果を表すグラフである。図10において、○のグラフ(ours)は、本願発明の認識精度を示す。□のグラフ(alexnet)は、非特許文献1の場合(ただし、入力データはRGB値)の認識精度を示す。
▽のグラフ(vgg-vd-16)は、非特許文献2の場合(入力データはRGB値であり、レイヤ数は16)の認識精度を示す。*のグラフ(vgg-vd-19)は、非特許文献2の場合(入力データはRGB値であり、レイヤ数は19)の認識精度を示す。
FIG. 10 is a graph showing the test results of recognition accuracy for each character class. In FIG. 10, the graphs (ours) of ◯ show the recognition accuracy of the present invention. The graph (alexnet) of □ shows the recognition accuracy in the case of Non-Patent Document 1 (however, the input data is an RGB value).
The graph (vgg-vd-16) of ▽ shows the recognition accuracy in the case of Non-Patent Document 2 (the input data is an RGB value and the number of layers is 16). The graph (vgg-vd-19) of * shows the recognition accuracy in the case of Non-Patent Document 2 (the input data is an RGB value and the number of layers is 19).
図10に示すように、入力画像として従来通りのRGB値を用いる非特許文献1及び2の場合には、10種類のすべての文字クラスについて、90%を超える認識精度を達成できない。
これに対して、手書き文字の原画像に回転及び反転の不変性を与える本願発明の場合には、10種類のすべての文字クラスについて、90%以上の認識精度を獲得した。
As shown in FIG. 10, in the case of
On the other hand, in the case of the present invention, which imparts invariance of rotation and inversion to the original image of handwritten characters, recognition accuracy of 90% or more was obtained for all 10 types of character classes.
図10のグラフから明らかな通り、深層CNNを用いた画像認識(図10の例では文字認識)において、原画像に回転及び反転の不変性を与える処理を行ってCNNの入力データとすれば、従来の生データ(RGB画像)を入力データとする場合に比べて、認識精度が有意に改善される。 As is clear from the graph of FIG. 10, in image recognition using a deep CNN (character recognition in the example of FIG. 10), if the original image is processed to give invariance of rotation and inversion to obtain CNN input data, The recognition accuracy is significantly improved as compared with the case where the conventional raw data (RGB image) is used as the input data.
〔画像認識装置の効果〕
以上の通り、本実施形態の画像認識装置10によれば、原画像7,8に対して回転及び反転の不変性を有する画像フィルタ9を畳み込むことにより、CNN処理部4への入力データを生成する。このため、サンプル画像7をそれほど多く収集しなくても、他の深層学習技術に比べて高い認識精度を発揮できる。
例えば、図10に示す通り、サンプル画像7の数が「400」の場合には、従来の深層学習技術よりも高い認識精度が得られる。
[Effect of image recognition device]
As described above, according to the
For example, as shown in FIG. 10, when the number of
本実施形態では、6種類の要素(Rr、Rt、Gr、Gt、Br、Bt)を含むシングルチャンネルの画像フィルタ9をサンプル画像7に畳み込むので、1つのサンプル画像7に含まれるデータ量を少なくとも16倍に拡張することになる。
このため、従来の深層学習では100枚のサンプル画像7を必要とする場合には、ほぼ6枚(100/16=6.25)のサンプル画像7を収集すれば、従来の深層学習と概ね同程度の識別精度が得られる。
In the present embodiment, since the single-channel image filter 9 including 6 types of elements (Rr, Rt, Gr, Gt, Br, Bt) is convoluted into the
Therefore, when 100
本実施形態の画像認識装置10によれば、画像フィルタ9の畳み込みにより、回転又は反転したオブジェクトでも正確に認識できる。
従って、例えば、古文書などの撮影画像に含まれる文字を正確に認識して、テキスト又はワープロ文書データに変換する装置として利用できる。また、帳票などの文書に記載の文字を読み込んで、テキストやワープロ文書データに変換する装置や、タッチパネルに手書き入力された文字をリアルタイムに認識する装置として利用することもできる。
According to the
Therefore, for example, it can be used as a device that accurately recognizes characters included in a photographed image such as an old document and converts them into text or word processor document data. It can also be used as a device that reads characters described in a document such as a form and converts them into text or word processor document data, or a device that recognizes characters handwritten on a touch panel in real time.
その他、本実施形態の画像認識装置10は、人間の顔の表情認識、顔画像からの年齢認識、及び、動物、植物、製品などのあらゆる物体の種類の認識などに利用可能である。
このように、本実施形態の画像認識装置10において、CNN処理部4が種類を認識可能なオブジェクトは、手書き文字、人間、動物、植物、及び製品のうちの少なくとも1つの物体であればよく、あらゆるオブジェクトの種類の認識に利用することができる。
In addition, the
As described above, in the
〔画像認識装置のその他の応用例〕
図11は、本実施形態の製品監視システム20の全体構成図である。
製品監視システム20は、撮影画像に含まれる製品25の種類を認識する画像認識装置10(図1参照)を、不良品の選別及び取り出しに利用するシステムである。
図11に示すように、製品監視システム20は、撮影装置21、駆動制御装置22、及び可動アーム式のロボット装置23を備える。
[Other application examples of image recognition device]
FIG. 11 is an overall configuration diagram of the
The
As shown in FIG. 11, the
撮影装置21は、例えば、CCD(電荷結合素子)を利用してデジタル画像を生成するデジタルカメラよりなる。撮影装置21は、ベルトコンベア24の上方に吊り下げられており、下流側(図11の右側)に進行するベルトコンベア24上の複数の製品25を上から撮影する。
撮影装置21は、複数の製品25が含まれるデジタル画像よりなる撮影画像を、駆動制御装置22に送信する。撮影画像は、静止画及び動画像のいずれでもよい。
The photographing
The photographing
駆動制御装置22は、ロボット装置23の動作を制御するコンピュータ装置よりなる。駆動制御装置22は、第1通信部26、第2通信部27、制御部28、及び記憶部29を備える。
第1通信部26は、所定のI/Oインタフェース規格により、撮影装置21と通信する通信装置よりなる。第1通信部26と撮影装置21との通信は、有線通信及び無線通信のいずれであってもよい。
The
The
第2通信部27は、所定のI/Oインタフェース規格により、ロボット装置23と通信する通信装置よりなる。第2通信部27とロボット装置23との通信は、有線通信及び無線通信のいずれであってもよい。
The
制御部28は、1又は複数のCPUを有する情報処理装置であり、上述の本実施形態の画像識別装置(図1参照)を含む制御装置よりなる。
記憶部29は、1又は複数のRAM及びROMなどのメモリを含む記憶装置よりなる。記憶部29は、制御部28に実行させる各種のコンピュータプログラムや、撮影装置21などから受信した画像データなどの、一時的又は非一時的な記録媒体として機能する。
The
The
このように、駆動制御装置22は、コンピュータを備えて構成される。従って、駆動制御装置22の各機能は、当該コンピュータの記憶装置に記憶されたコンピュータプログラムが当該コンピュータのCPU及びGPUによって実行されることで発揮される。
かかるコンピュータプログラムは、CD−ROMやUSBメモリなどの一時的又は非一時的な記録媒体に記憶させることができる。
In this way, the
Such a computer program can be stored in a temporary or non-temporary recording medium such as a CD-ROM or a USB memory.
制御部28は、記憶部29に格納されたコンピュータプログラムを読み出して実行することにより、第1及び第2通信部26,27に対する通信制御や、ロボット装置23の動作制御を実現できる。
例えば、制御部28は、第1通信部26が受信した撮影画像から製品25の画像部分(以下、「製品画像」という。)を抽出し、抽出した製品画像の分類クラス(ここでは、「正常」又は「不良」とする。)を識別する。
By reading and executing the computer program stored in the
For example, the
制御部28は、分類クラスが不良である製品画像を検出すると、撮影時刻とベルトコンベア24の進行速度などから、製品25がロボット装置23の下を通過する時刻及び位置を算出し、算出した通過時刻及び通過位置を第2通信部27に送信させる。
ロボット装置23は、多関節のロボットアーム30と、ロボットアーム30を駆動するアクチュエータ31とを備える。ロボットアーム30は、コンベア24上の製品25を把持することができるハンド部(図示せず)を有する。
When the
The robot device 23 includes an articulated
制御部28が算出した不良品の通過時刻及び通過位置は、アクチュエータ31に送信される。アクチュエータ31は、不良品の通過時刻にハンド部が通過位置に移動し、製品25を掴んで外部に取り出すように、ロボットアーム30の各関節を駆動する。
記憶部29は、製品25の良否判定を実行可能な所定構造のCNN(例えば図8)や、当該CNNに対する学習済みの重み及びバイアスなどを記憶している。制御部28は、学習済みのCNNにより、撮影画像から抽出した製品画像の良否を判定する。
The passing time and passing position of the defective product calculated by the
The
上述の製品監視システム20を実現するのに必要となる、工場管理者が行うべき作業工程を列挙すると、次の通りである。
工程1) ロボットアーム30の下流側の作業員32が、コンベア24を流れる製品25の中から不良品を判別し、その不良品をデジタルカメラ(図示せず)で撮影する。
工程2) 撮影した画像データを、不良品のサンプル画像7として駆動制御装置22の記憶部29に入力する。
The work processes to be performed by the factory manager, which are necessary to realize the above-mentioned
Step 1) A
Step 2) The captured image data is input to the
工程3) 上記の工程1及び2を、所望の識別精度(例えば、99%以上)が得られるまで繰り返す。
なお、不良品の代表的な形状が予め判明している場合には、不良品のサンプル画像は、コンベア24を流れる製品25以外の製品を撮影した画像データであってもよい。
Step 3) The
When the typical shape of the defective product is known in advance, the sample image of the defective product may be image data obtained by photographing a product other than the
工程1及び2を繰り返す学習段階において、運用当初は、不良品のサンプル画像7が少ないことから、駆動制御装置22による不良品の認識精度は低い。
しかし、不良品のサンプル画像7が増加するに従い、駆動制御装置22の認識精度が向上し、不良品を100%に近い状態で排除できるようになる。このため、駆動制御装置22が所定数のサンプル画像7によって学習を積むことにより、作業員32による目視の監視が不要となる。
In the learning stage in which steps 1 and 2 are repeated, since the
However, as the number of
特に、本実施形態では、回転又は反転したオブジェクトでも認識精度が高い識別器を使用するので、例えば図11に示すように、コンベア24に種々の向きで載せられる製品25の場合でも、早期にほぼ100%に近い形で、不良品の識別を行うことができる。
なお、コンベア24に種々の向きで載せられる製品25の例としては、お菓子や練り製品などの食品類や成形機により生産される成形品等が考えられる。また、現在、コンベア24上で製品25を搬送し、作業員32が目視し、不良品をコンベア24上から除去しているような場合には、本実施形態の製品監視システム20を採用することで、目視検査を実施している当該作業員32の人数を、大幅に削減できる効果が期待できる。
In particular, in the present embodiment, since a discriminator having high recognition accuracy is used even for a rotated or inverted object, as shown in FIG. 11, for example, even in the case of a
As an example of the
〔第1の変形例〕
上述の実施形態において、色ベクトルgの分解方向は、「半径方向」(図5のr方向)及び「接線方向」(図5のt方向)に限定されない。すなわち、色ベクトルgの分解方向は、画素点pを基点として所定角度で開く任意の2方向であればよい。
もっとも、半径方向と接線方向以外の2方向で分解すると、各方向の色ベクトルの演算式が複雑になり、データ生成部3の処理負荷が大きくなる。従って、上述の実施形態の通り、色ベクトルgの分解方向は半径方向及び接線方向とすることが好ましい。
[First modification]
In the above-described embodiment, the decomposition direction of the color vector g is not limited to the “radial direction” (r direction in FIG. 5) and the “tangential direction” (t direction in FIG. 5). That is, the decomposition direction of the color vector g may be any two directions that open at a predetermined angle with the pixel point p as the base point.
However, if the data is decomposed in two directions other than the radial direction and the tangential direction, the calculation formula of the color vector in each direction becomes complicated, and the processing load of the
〔第2の変形例〕
上述の実施形態において、中心点cを原点とする3次元極座標を定義し、色ベクトルgを、半径方向と2つの接線方向(3次元の場合は合計で3方向)に分解した要素を有する3次元の画像フィルタにより、原画像7,8を畳み込み処理してもよい。
このようにすれば、中心点cを原点とする2次元の回転又は反転だけでなく、中心点cを原点とした奥行き方向に傾斜する対象画像8に対しても、画像の認識精度を向上することができる。
[Second modification]
In the above-described embodiment, the three-dimensional polar coordinates with the center point c as the origin are defined, and the color vector g is decomposed into a radial direction and two tangential directions (three directions in total in the case of three dimensions). The
By doing so, the image recognition accuracy is improved not only for the two-dimensional rotation or inversion with the center point c as the origin but also for the
〔第3の変形例〕
上述の実施形態では、原画像7,8に対して回転及び反転の不変性を有する画像フィルタ9を採用したが、画像フィルタ9は、原画像7,8に対して回転のみの不変性を有する画像フィルタ、或いは、原画像7,8に対して反転のみの不変性を有する画像フィルタであってもよい。すなわち、本願発明の画像フィルタ9は、原画像7,8に対して回転及び反転のうちの少なくとも1つの不変性を有する画像フィルタであればよい。
[Third variant]
In the above-described embodiment, the image filter 9 having rotation and inversion invariance with respect to the
〔その他の変形例〕
今回開示した実施形態(変形例を含む。)はすべての点で例示であって制限的なものではない。本発明の権利範囲は、上述の実施形態に限定されるものではなく、特許請求の範囲に記載された構成と均等の範囲内でのすべての変更が含まれる。
例えば、上述の実施形態では、ニューラルネットワークが畳み込みニューラルネットワーク(CNN)よりなるが、畳み込み層を有しない他の構造の階層型ニューラルネットワークであってもよい。
[Other variants]
The embodiments disclosed this time (including modified examples) are examples in all respects and are not restrictive. The scope of rights of the present invention is not limited to the above-described embodiment, and includes all modifications within a range equivalent to the configuration described in the claims.
For example, in the above-described embodiment, the neural network is composed of a convolutional neural network (CNN), but it may be a hierarchical neural network having another structure that does not have a convolutional layer.
1 演算処理部
2 画像処理部
3 データ生成部
4 CNN処理部
5 学習部
6 認識部
7 サンプル画像(原画像)
8 対称画像(原画像)
9 画像フィルタ
10 画像認識装置
20 製品監視システム
21 撮影装置
22 駆動制御装置(制御装置)
23 ロボット装置
24 ベルトコンベア
25 製品
26 第1通信部
27 第2通信部
28 制御部
29 記憶部
30 ロボットアーム
31 アクチュエータ
32 作業員
1
8 Symmetric image (original image)
9
23
Claims (13)
生成された前記入力データに含まれるオブジェクトの種類を認識する階層型ニューラルネットワークを有する画像処理部と、を備える画像認識装置であって、
前記画像処理部は、前記原画像がサンプル画像である場合は、前記ネットワークの認識結果に基づいて当該ネットワークのパラメータを学習する処理を行い、前記原画像が認識の対象画像である場合は、前記ネットワークの認識結果を出力する処理を行い、
前記データ生成部が行う前記データ処理は、前記原画像に対して回転及び反転の不変性を付与する処理である画像認識装置。 A data generator that generates input data by performing predetermined data processing on the original image,
An image recognition device including an image processing unit having a hierarchical neural network that recognizes the types of objects included in the generated input data.
When the original image is a sample image, the image processing unit performs a process of learning the parameters of the network based on the recognition result of the network, and when the original image is a recognition target image, the image processing unit performs the process of learning the parameters of the network. Performs the process of outputting the network recognition result and
Wherein the data processing data generating unit performs an image recognition apparatus wherein a treatment for imparting invariance of the rotation and reversing the original image.
第1処理:原画像に対して回転及び反転の不変性を有する画像フィルタを生成する処理
第2処理:第1処理で生成した画像フィルタを原画像に畳み込む処理 The image recognition device according to claim 1, wherein the data processing performed by the data generation unit includes a first process and a second process defined below.
First processing: rotation and generating an image filter having the invariance of the inversion processing second process on an original image: processing of convoluting the image filter produced in the first process to the original image
生成された前記入力データに含まれるオブジェクトの種類を認識する階層型ニューラルネットワークを有する画像処理部と、を備える画像認識装置であって、
前記画像処理部は、前記原画像がサンプル画像である場合は、前記ネットワークの認識結果に基づいて当該ネットワークのパラメータを学習する処理を行い、前記原画像が認識の対象画像である場合は、前記ネットワークの認識結果を出力する処理を行い、
前記データ生成部が行う前記データ処理は、前記原画像に対して回転及び反転のうちの少なくとも1つの不変性を付与する処理であり、
前記データ生成部が行う前記データ処理には、下記に定義する第1処理及び第2処理が含まれ、
前記画像フィルタは、前記原画像の所定点を原点とする極座標で定義される任意の画素点の色ベクトルを、当該画素点を起点として所定角度で開く任意の方向に分割した、複数の色ベクトルに含まれる要素よりなる画像認識装置。
第1処理:原画像に対して回転及び反転のうちの少なくとも1つの不変性を有する画像フィルタを生成する処理
第2処理:第1処理で生成した画像フィルタを原画像に畳み込む処理 A data generator that generates input data by performing predetermined data processing on the original image,
An image recognition device including an image processing unit having a hierarchical neural network that recognizes the types of objects included in the generated input data.
When the original image is a sample image, the image processing unit performs a process of learning the parameters of the network based on the recognition result of the network, and when the original image is a recognition target image, the image processing unit performs the process of learning the parameters of the network. Performs the process of outputting the network recognition result and
The data processing performed by the data generation unit is a process of imparting at least one invariance of rotation and inversion to the original image.
The data processing performed by the data generation unit includes the first processing and the second processing defined below.
The image filter is a plurality of color vectors obtained by dividing a color vector of an arbitrary pixel point defined by polar coordinates having a predetermined point of the original image as an origin in an arbitrary direction that opens at a predetermined angle starting from the pixel point. images recognizer ing than elements included in.
First process: A process of generating an image filter having at least one invariance of rotation and inversion with respect to the original image.
Second process: A process of convolving the image filter generated in the first process into the original image.
生成された前記入力データに含まれるオブジェクトの種類を認識する階層型ニューラルネットワークを有する画像処理部と、を備える画像認識装置であって、
前記画像処理部は、前記原画像がサンプル画像である場合は、前記ネットワークの認識結果に基づいて当該ネットワークのパラメータを学習する処理を行い、前記原画像が認識の対象画像である場合は、前記ネットワークの認識結果を出力する処理を行い、
前記データ生成部が行う前記データ処理は、前記原画像に対して回転及び反転のうちの少なくとも1つの不変性を付与する処理であり、
前記データ生成部が行う前記データ処理には、下記に定義する第1処理及び第2処理が含まれ、
前記画像フィルタは、前記原画像の所定点を原点とする極座標で定義される任意の画素点の色ベクトルを、当該画素点を起点として半径方向及び接線方向に分割した、2つの色ベクトルに含まれる要素よりなる画像認識装置。
第1処理:原画像に対して回転及び反転のうちの少なくとも1つの不変性を有する画像フィルタを生成する処理
第2処理:第1処理で生成した画像フィルタを原画像に畳み込む処理 A data generator that generates input data by performing predetermined data processing on the original image,
An image recognition device including an image processing unit having a hierarchical neural network that recognizes the types of objects included in the generated input data.
When the original image is a sample image, the image processing unit performs a process of learning the parameters of the network based on the recognition result of the network, and when the original image is a recognition target image, the image processing unit performs the process of learning the parameters of the network. Performs the process of outputting the network recognition result and
The data processing performed by the data generation unit is a process of imparting at least one invariance of rotation and inversion to the original image.
The data processing performed by the data generation unit includes the first processing and the second processing defined below.
The image filter includes two color vectors obtained by dividing a color vector of an arbitrary pixel point defined by polar coordinates with a predetermined point of the original image as an origin in a radial direction and a tangential direction starting from the pixel point. images recognizer ing from elements.
First process: A process of generating an image filter having at least one invariance of rotation and inversion with respect to the original image.
Second process: A process of convolving the image filter generated in the first process into the original image.
生成された前記入力データに含まれるオブジェクトを認識する階層型ニューラルネットワークを有する画像処理部と、を備える画像認識装置として、コンピュータを機能させるためのコンピュータプログラムであって、
前記データ生成部が、前記データ処理として、前記原画像に対して回転及び反転の不変性を付与する処理を行うステップと、
前記画像処理部が、前記原画像がサンプル画像である場合は、前記ネットワークの認識結果に基づいて当該ネットワークのパラメータを学習する処理を行うステップと、
前記画像処理部が、前記原画像が認識の対象画像である場合は、前記ネットワークの認識結果を出力するステップと、を含むコンピュータプログラム。 A data generator that generates input data by performing predetermined data processing on the original image,
A computer program for operating a computer as an image recognition device including an image processing unit having a hierarchical neural network that recognizes objects included in the generated input data.
Wherein the data generating unit, as the data processing, and performing the treatment for imparting invariance of rotation and inverted with respect to the original image,
When the original image is a sample image, the image processing unit performs a process of learning the parameters of the network based on the recognition result of the network.
A computer program including a step of outputting a recognition result of the network when the original image is a recognition target image by the image processing unit.
生成された前記入力データに含まれるオブジェクトを認識する階層型ニューラルネットワークを有する画像処理部と、を備える画像認識装置が実行する画像認識方法であって、
前記データ生成部が、前記データ処理として、前記原画像に対して回転及び反転の不変性を付与する処理を行うステップと、
前記画像処理部が、前記原画像がサンプル画像である場合は、前記ネットワークの認識結果に基づいて当該ネットワークのパラメータを学習する処理を行うステップと、
前記画像処理部が、前記原画像が認識の対象画像である場合は、前記ネットワークの認識結果を出力するステップと、を含む画像認識方法。 A data generator that generates input data by performing predetermined data processing on the original image,
An image recognition method executed by an image recognition device including an image processing unit having a hierarchical neural network that recognizes objects included in the generated input data.
Wherein the data generating unit, as the data processing, and performing the treatment for imparting invariance of rotation and inverted with respect to the original image,
When the original image is a sample image, the image processing unit performs a process of learning the parameters of the network based on the recognition result of the network.
An image recognition method including a step of outputting a recognition result of the network when the original image is a recognition target image by the image processing unit.
撮影された前記複数の製品のうちのいずれかを外部に取り出すロボット装置と、
画像認識装置を含む制御装置であって、取り出すべき前記製品を前記ロボット装置に指示する前記制御装置と、を備える製品監視システムであって、
前記画像認識装置は、
原画像に所定のデータ処理を施して入力データを生成するデータ生成部と、
生成された前記入力データに含まれるオブジェクトの種類を認識する階層型ニューラルネットワークを有する画像処理部と、を備え、
前記画像処理部は、前記原画像がサンプル画像である場合は、前記ネットワークの認識結果に基づいて当該ネットワークのパラメータを学習する処理を行い、前記原画像が認識の対象画像である場合は、前記ネットワークの認識結果を出力する処理を行い、
前記データ生成部が行う前記データ処理は、前記原画像に対して回転及び反転のうちの少なくとも1つの不変性を付与する処理であり、
前記画像認識装置は、不良品と認識した前記製品の取り出しを前記ロボット装置に指示する製品監視システム。 A shooting device that shoots multiple products,
A robot device that takes out any of the above-mentioned multiple products that have been photographed, and
The control apparatus including an image recognition apparatus, a product monitoring system and a said control device to instruct the product to the robotic device to retrieve,
The image recognition device is
A data generator that generates input data by performing predetermined data processing on the original image,
An image processing unit having a hierarchical neural network that recognizes the types of objects included in the generated input data is provided.
When the original image is a sample image, the image processing unit performs a process of learning the parameters of the network based on the recognition result of the network, and when the original image is a recognition target image, the image processing unit performs the process of learning the parameters of the network. Performs the process of outputting the network recognition result and
The data processing performed by the data generation unit is a process of imparting at least one invariance of rotation and inversion to the original image.
The image recognition device is a product monitoring system that instructs the robot device to take out the product recognized as a defective product.
生成された前記入力データに含まれるオブジェクトを認識する階層型ニューラルネットワークを有する画像処理部と、を備える画像認識装置として、コンピュータを機能させるためのコンピュータプログラムであって、
前記データ生成部が、前記データ処理として、前記原画像に対して回転及び反転のうちの少なくとも1つの不変性を付与する処理を行うステップと、
前記画像処理部が、前記原画像がサンプル画像である場合は、前記ネットワークの認識結果に基づいて当該ネットワークのパラメータを学習する処理を行うステップと、
前記画像処理部が、前記原画像が認識の対象画像である場合は、前記ネットワークの認識結果を出力するステップと、を含み、
前記データ生成部が行う前記データ処理には、下記に定義する第1処理及び第2処理が含まれ、
前記画像フィルタは、前記原画像の所定点を原点とする極座標で定義される任意の画素点の色ベクトルを、当該画素点を起点として所定角度で開く任意の方向に分割した、複数の色ベクトルに含まれる要素よりなる、コンピュータプログラム。
第1処理:原画像に対して回転及び反転のうちの少なくとも1つの不変性を有する画像フィルタを生成する処理
第2処理:第1処理で生成した画像フィルタを原画像に畳み込む処理 A data generator that generates input data by performing predetermined data processing on the original image,
A computer program for operating a computer as an image recognition device including an image processing unit having a hierarchical neural network that recognizes objects included in the generated input data .
As the data processing, the data generation unit performs a process of imparting at least one invariance of rotation and inversion to the original image, and a step of performing the process.
When the original image is a sample image, the image processing unit performs a process of learning the parameters of the network based on the recognition result of the network.
When the original image is a recognition target image, the image processing unit includes a step of outputting the recognition result of the network.
The data processing performed by the data generation unit includes the first processing and the second processing defined below.
The image filter is a plurality of color vectors obtained by dividing a color vector of an arbitrary pixel point defined by polar coordinates having a predetermined point of the original image as an origin in an arbitrary direction that opens at a predetermined angle starting from the pixel point. A computer program consisting of the elements contained in.
First process: A process of generating an image filter having at least one invariance of rotation and inversion with respect to the original image.
Second process: A process of convolving the image filter generated in the first process into the original image.
生成された前記入力データに含まれるオブジェクトを認識する階層型ニューラルネットワークを有する画像処理部と、を備える画像認識装置として、コンピュータを機能させるためのコンピュータプログラムであって、
前記データ生成部が、前記データ処理として、前記原画像に対して回転及び反転のうちの少なくとも1つの不変性を付与する処理を行うステップと、
前記画像処理部が、前記原画像がサンプル画像である場合は、前記ネットワークの認識結果に基づいて当該ネットワークのパラメータを学習する処理を行うステップと、
前記画像処理部が、前記原画像が認識の対象画像である場合は、前記ネットワークの認識結果を出力するステップと、を含み、
前記データ生成部が行う前記データ処理には、下記に定義する第1処理及び第2処理が含まれ、
前記画像フィルタは、前記原画像の所定点を原点とする極座標で定義される任意の画素点の色ベクトルを、当該画素点を起点として半径方向及び接線方向に分割した、2つの色ベクトルに含まれる要素よりなるコンピュータプログラム。
第1処理:原画像に対して回転及び反転のうちの少なくとも1つの不変性を有する画像フィルタを生成する処理
第2処理:第1処理で生成した画像フィルタを原画像に畳み込む処理 A data generator that generates input data by performing predetermined data processing on the original image,
A computer program for operating a computer as an image recognition device including an image processing unit having a hierarchical neural network that recognizes objects included in the generated input data .
As the data processing, the data generation unit performs a process of imparting at least one invariance of rotation and inversion to the original image, and a step of performing the process.
When the original image is a sample image, the image processing unit performs a process of learning the parameters of the network based on the recognition result of the network.
When the original image is a recognition target image, the image processing unit includes a step of outputting the recognition result of the network.
The data processing performed by the data generation unit includes the first processing and the second processing defined below.
The image filter includes two color vectors obtained by dividing a color vector of an arbitrary pixel point defined by polar coordinates having a predetermined point of the original image as an origin in a radial direction and a tangential direction starting from the pixel point. A computer program consisting of elements.
First process: A process of generating an image filter having at least one invariance of rotation and inversion with respect to the original image.
Second process: A process of convolving the image filter generated in the first process into the original image.
生成された前記入力データに含まれるオブジェクトを認識する階層型ニューラルネットワークを有する画像処理部と、を備える画像認識装置が実行する画像認識方法であって、An image recognition method executed by an image recognition device including an image processing unit having a hierarchical neural network that recognizes objects included in the generated input data.
前記データ生成部が、前記データ処理として、前記原画像に対して回転及び反転のうちの少なくとも1つの不変性を付与する処理を行うステップと、As the data processing, the data generation unit performs a process of imparting at least one invariance of rotation and inversion to the original image, and a step of performing the process.
前記画像処理部が、前記原画像がサンプル画像である場合は、前記ネットワークの認識結果に基づいて当該ネットワークのパラメータを学習する処理を行うステップと、When the original image is a sample image, the image processing unit performs a process of learning the parameters of the network based on the recognition result of the network.
前記画像処理部が、前記原画像が認識の対象画像である場合は、前記ネットワークの認識結果を出力するステップと、を含み、When the original image is a recognition target image, the image processing unit includes a step of outputting the recognition result of the network.
前記データ生成部が行う前記データ処理には、下記に定義する第1処理及び第2処理が含まれ、The data processing performed by the data generation unit includes the first processing and the second processing defined below.
前記画像フィルタは、前記原画像の所定点を原点とする極座標で定義される任意の画素点の色ベクトルを、当該画素点を起点として所定角度で開く任意の方向に分割した、複数の色ベクトルに含まれる要素よりなる画像認識方法。The image filter is a plurality of color vectors obtained by dividing a color vector of an arbitrary pixel point defined by polar coordinates having a predetermined point of the original image as an origin in an arbitrary direction that opens at a predetermined angle starting from the pixel point. An image recognition method consisting of the elements contained in.
第1処理:原画像に対して回転及び反転のうちの少なくとも1つの不変性を有する画像フィルタを生成する処理First process: A process of generating an image filter having at least one invariance of rotation and inversion with respect to the original image.
第2処理:第1処理で生成した画像フィルタを原画像に畳み込む処理Second process: A process of convolving the image filter generated in the first process into the original image.
生成された前記入力データに含まれるオブジェクトを認識する階層型ニューラルネットワークを有する画像処理部と、を備える画像認識装置が実行する画像認識方法であって、
前記データ生成部が、前記データ処理として、前記原画像に対して回転及び反転のうちの少なくとも1つの不変性を付与する処理を行うステップと、
前記画像処理部が、前記原画像がサンプル画像である場合は、前記ネットワークの認識結果に基づいて当該ネットワークのパラメータを学習する処理を行うステップと、
前記画像処理部が、前記原画像が認識の対象画像である場合は、前記ネットワークの認識結果を出力するステップと、を含み、
前記データ生成部が行う前記データ処理には、下記に定義する第1処理及び第2処理が含まれ、
前記画像フィルタは、前記原画像の所定点を原点とする極座標で定義される任意の画素点の色ベクトルを、当該画素点を起点として半径方向及び接線方向に分割した、2つの色ベクトルに含まれる要素よりなる画像認識方法。
第1処理:原画像に対して回転及び反転のうちの少なくとも1つの不変性を有する画像フィルタを生成する処理
第2処理:第1処理で生成した画像フィルタを原画像に畳み込む処理 A data generator that generates input data by performing predetermined data processing on the original image,
An image recognition method executed by an image recognition device including an image processing unit having a hierarchical neural network that recognizes objects included in the generated input data.
A step before Symbol data generating unit, as the data processing, to perform the process of applying at least one invariance of rotation and inverted with respect to the original image,
When the original image is a sample image, the image processing unit performs a process of learning the parameters of the network based on the recognition result of the network.
When the original image is a recognition target image, the image processing unit includes a step of outputting the recognition result of the network.
The data processing performed by the data generation unit includes the first processing and the second processing defined below.
The image filter includes two color vectors obtained by dividing a color vector of an arbitrary pixel point defined by polar coordinates with a predetermined point of the original image as an origin in a radial direction and a tangential direction starting from the pixel point. An image recognition method consisting of elements.
First process: A process of generating an image filter having at least one invariance of rotation and inversion with respect to the original image.
Second process: A process of convolving the image filter generated in the first process into the original image.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017063675A JP6964857B2 (en) | 2017-03-28 | 2017-03-28 | Image recognition device, image recognition method, computer program, and product monitoring system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017063675A JP6964857B2 (en) | 2017-03-28 | 2017-03-28 | Image recognition device, image recognition method, computer program, and product monitoring system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018165948A JP2018165948A (en) | 2018-10-25 |
JP6964857B2 true JP6964857B2 (en) | 2021-11-10 |
Family
ID=63922927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017063675A Active JP6964857B2 (en) | 2017-03-28 | 2017-03-28 | Image recognition device, image recognition method, computer program, and product monitoring system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6964857B2 (en) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI829807B (en) * | 2018-11-30 | 2024-01-21 | 日商東京威力科創股份有限公司 | Hypothetical measurement equipment, hypothetical measurement methods and hypothetical measurement procedures for manufacturing processes |
JP7036049B2 (en) * | 2019-01-18 | 2022-03-15 | オムロン株式会社 | Model integration device, model integration method, model integration program, inference system, inspection system, and control system |
JP7265915B2 (en) * | 2019-04-10 | 2023-04-27 | 中部電力株式会社 | Tsunami height and tsunami arrival time prediction system |
JP2020187690A (en) * | 2019-05-17 | 2020-11-19 | 株式会社カネカ | Temperature detection device and computer program |
CN110705391B (en) * | 2019-09-17 | 2023-09-19 | 四川大学锦城学院 | Seat distribution system based on human body image recognition method |
CN111160374B (en) * | 2019-12-28 | 2024-04-12 | 深圳市越疆科技有限公司 | Color recognition method, system and device based on machine learning |
CN111178263B (en) * | 2019-12-30 | 2023-09-05 | 武汉美和易思数字科技有限公司 | Real-time expression analysis method and device |
CN111563407B (en) * | 2020-02-24 | 2024-02-02 | 北京乐学帮网络技术有限公司 | Model training method, picture direction correcting method and device |
CN111860361B (en) * | 2020-07-24 | 2023-07-25 | 吉林大学 | Automatic identifier and identification method for green channel cargo scanning image entrainment |
CN112634382B (en) * | 2020-11-27 | 2024-03-19 | 国家电网有限公司大数据中心 | Method and device for identifying and replacing images of unnatural objects |
JP7097642B1 (en) | 2021-04-07 | 2022-07-08 | 吉泉産業株式会社 | Food inspection system, food inspection learning device and food inspection method |
WO2022254528A1 (en) * | 2021-05-31 | 2022-12-08 | 三菱電機株式会社 | Information processing device |
CN113642467B (en) * | 2021-08-16 | 2023-12-01 | 江苏师范大学 | Facial expression recognition method based on improved VGG network model |
CN113657302B (en) * | 2021-08-20 | 2023-07-04 | 重庆电子工程职业学院 | Expression recognition-based state analysis system |
-
2017
- 2017-03-28 JP JP2017063675A patent/JP6964857B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018165948A (en) | 2018-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6964857B2 (en) | Image recognition device, image recognition method, computer program, and product monitoring system | |
CN108491880B (en) | Object classification and pose estimation method based on neural network | |
US12087077B2 (en) | Determining associations between objects and persons using machine learning models | |
JP7289918B2 (en) | Object recognition method and device | |
CN107229904B (en) | Target detection and identification method based on deep learning | |
JP6788264B2 (en) | Facial expression recognition method, facial expression recognition device, computer program and advertisement management system | |
CN113065546B (en) | Target pose estimation method and system based on attention mechanism and Hough voting | |
CN111931764B (en) | Target detection method, target detection frame and related equipment | |
WO2019227479A1 (en) | Method and apparatus for generating face rotation image | |
WO2021190296A1 (en) | Dynamic gesture recognition method and device | |
WO2020015752A1 (en) | Object attribute identification method, apparatus and system, and computing device | |
CN105868797B (en) | Identify network parameter training method, scenery kind identification method and the device of scenery type | |
CN110728209A (en) | Gesture recognition method and device, electronic equipment and storage medium | |
CN112801015B (en) | Multi-mode face recognition method based on attention mechanism | |
CN109711262B (en) | Intelligent excavator pedestrian detection method based on deep convolutional neural network | |
CN107403141A (en) | Method for detecting human face and device, computer-readable recording medium, equipment | |
CN107767416B (en) | Method for identifying pedestrian orientation in low-resolution image | |
CN111680550B (en) | Emotion information identification method and device, storage medium and computer equipment | |
Podder et al. | Time efficient real time facial expression recognition with CNN and transfer learning | |
Jeevanantham et al. | Deep learning based plant diseases monitoring and detection system | |
Chotikunnan et al. | Evaluation of Single and Dual Image Object Detection through Image Segmentation Using ResNet18 in Robotic Vision Applications | |
CN113239866B (en) | Face recognition method and system based on space-time feature fusion and sample attention enhancement | |
CN114066844A (en) | Pneumonia X-ray image analysis model and method based on attention superposition and feature fusion | |
Vernikos et al. | Fusing handcrafted and contextual features for human activity recognition | |
CN112560824A (en) | Facial expression recognition method based on multi-feature adaptive fusion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170413 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191216 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210202 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210401 |
|
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: 20210921 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211013 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6964857 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |