JP2019125128A - Information processing device, control method and program - Google Patents
Information processing device, control method and program Download PDFInfo
- Publication number
- JP2019125128A JP2019125128A JP2018004709A JP2018004709A JP2019125128A JP 2019125128 A JP2019125128 A JP 2019125128A JP 2018004709 A JP2018004709 A JP 2018004709A JP 2018004709 A JP2018004709 A JP 2018004709A JP 2019125128 A JP2019125128 A JP 2019125128A
- Authority
- JP
- Japan
- Prior art keywords
- block
- feature amount
- information
- feature
- information processing
- 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.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 88
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000008569 process Effects 0.000 claims abstract description 46
- 239000000284 extract Substances 0.000 claims abstract description 19
- 238000010168 coupling process Methods 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 106
- 238000000605 extraction Methods 0.000 claims description 85
- 238000013527 convolutional neural network Methods 0.000 claims description 36
- 238000011176 pooling Methods 0.000 claims description 6
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 230000008878 coupling Effects 0.000 claims description 2
- 238000004458 analytical method Methods 0.000 abstract description 16
- 238000013528 artificial neural network Methods 0.000 abstract description 15
- 238000010586 diagram Methods 0.000 description 9
- 238000010191 image analysis Methods 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Abstract
Description
本発明はニューラルネットワークに関する。 The present invention relates to neural networks.
機械学習を利用したデータ解析が行われている。機械学習のモデルの一形態として、ニューラルネットワークが広く利用されている。ニューラルネットワークは、ニューロンと呼ばれる処理単位を複数層につなぎ合わせた構成を持つ。ニューラルネットワークには、Convolutional Neural Network(CNN)、Recurrent Neural Network、Recursive Neural Network などといった様々な形態がある。 Data analysis using machine learning is performed. A neural network is widely used as a form of machine learning model. A neural network has a configuration in which processing units called neurons are connected in multiple layers. There are various forms of neural networks such as Convolutional Neural Network (CNN), Recurrent Neural Network, Recursive Neural Network, and so on.
ニューラルネットワークを利用したデータ解析に関する先行技術文献には、例えば特許文献1と2がある。特許文献1や2には、CNN を利用した画像解析に関する技術が開示されている。
Prior art documents related to data analysis using a neural network include, for example,
本発明者は、CNN における解析処理に高速化の余地があることを見出した。本発明の目的の一つは、ニューラルネットワークを利用した解析処理を高速化する技術を提供することである。 The inventor has found that there is room for speeding up analysis processing in CNN. One of the objects of the present invention is to provide a technique for speeding up analysis processing using a neural network.
本発明の情報処理装置は、1)二次元データを取得し、二次元データ内のデータ領域である第1ブロックについて Convolutional Neural Network(CNN)の特徴量抽出層の処理を実行して、第1ブロック内の複数の画像領域それぞれの特徴量を示す特徴量情報を生成する特徴量抽出手段と、2)第1ブロックの中から複数の第2ブロックを抽出し、各第2ブロックについて、特徴量情報に含まれるその第2ブロックの特徴量を用いて、CNN の全結合層の処理を実行する全結合処理手段と、を有する。
第1ブロックに含まれる各第2ブロックは、少なくとも1つの他の第2ブロックとその一部のデータ領域が重複する。
The information processing apparatus according to the present invention 1) acquires two-dimensional data, executes processing of a feature extraction layer of Convolutional Neural Network (CNN) for a first block which is a data area in the two-dimensional data, and Feature quantity extraction means for generating feature quantity information indicating feature quantities of a plurality of image areas in the block; 2) extracting a plurality of second blocks from the first block, and for each second block, the feature quantity Using all the joint layers of the CNN by using the feature quantities of the second block contained in the information;
In each second block included in the first block, at least one other second block and a partial data area thereof overlap.
本発明の制御方法はコンピュータによって実行される。当該制御方法は、1)二次元データを取得し、二次元データ内のデータ領域である第1ブロックについて Convolutional Neural Network(CNN)の特徴量抽出層の処理を実行して、第1ブロック内の複数の画像領域それぞれの特徴量を示す特徴量情報を生成する特徴量抽出ステップと、2)第1ブロックの中から複数の第2ブロックを抽出し、各第2ブロックについて、特徴量情報に含まれるその第2ブロックの特徴量を用いて、CNN の全結合層の処理を実行する全結合処理ステップと、を有する。
第1ブロックに含まれる各第2ブロックは、少なくとも1つの他の第2ブロックとその一部のデータ領域が重複する。
The control method of the present invention is implemented by a computer. The control method 1) acquires two-dimensional data, executes processing of the feature extraction layer of Convolutional Neural Network (CNN) for the first block which is a data region in the two-dimensional data, and Feature quantity extraction step of generating feature quantity information indicating feature quantities of each of a plurality of image regions, and 2) extracting a plurality of second blocks from the first block, and including each second block in the feature quantity information And (c) performing all coupled layer processing of the CNN using the features of the second block.
In each second block included in the first block, at least one other second block and a partial data area thereof overlap.
本発明のプログラムは、コンピュータに、本発明の制御方法が有する各ステップを実行させる。 The program of the present invention causes a computer to execute the steps of the control method of the present invention.
本発明によれば、ニューラルネットワークを利用した解析処理を高速化する技術が提供される。 According to the present invention, a technique for speeding up analysis processing using a neural network is provided.
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In all the drawings, the same components are denoted by the same reference numerals, and the description thereof will be appropriately omitted. Further, in each block diagram, each block represents a configuration of a function unit, not a configuration of a hardware unit, unless otherwise described.
[実施形態1]
<概要>
図1及び図2は、実施形態1の情報処理装置(図4に示す情報処理装置2000)の概要を説明するための図である。以下で説明する情報処理装置2000の動作は、情報処理装置2000の理解を容易にするための例示であり、情報処理装置2000の動作は以下の例に限定されるわけではない。情報処理装置2000の動作の詳細やバリエーションについては後述する。
<Overview>
1 and 2 are diagrams for explaining an outline of the information processing apparatus (the
図1は、情報処理装置2000が処理するデータを例示する図である。情報処理装置2000は二次元データ(行列データ)10を扱う。例えば二次元データ10は画像データである。画像データは、画素の位置(x 座標と y 座標の組み合わせ)に対応づけて、その画素の値を示す行列データである。
FIG. 1 is a diagram illustrating data processed by the
第1ブロック20は、二次元データ10の一部又は全体のデータ領域である。すなわち、第1ブロック20のサイズは、二次元データ10のサイズと同一又はそれ以下である。第2ブロック30は、第1ブロック20の一部の画像領域である。すなわち、第1ブロック20のサイズは、第2ブロック30のサイズよりも大きい。そのため第1ブロック20からは、互いに位置が異なる複数の第2ブロック30を抽出することができる。二次元データ10が画像データである場合、第1ブロック20は二次元データ10の一部又は全体の画像領域であり、第2ブロック30は第1ブロック20内の一部の画像領域である。
The
情報処理装置2000は、第1ブロック20から複数の第2ブロック30を抽出し、これら複数の第2ブロック30について解析処理を行う。ここで、各第2ブロック30は、少なくとも1つの第2ブロック30とその一部が重複する。例えば情報処理装置2000は、第2ブロック30と同じ大きさを持つスライディングウインドウを第1ブロック20内で移動させながら、各位置におけるスライディングウインドウ内のデータ領域を第2ブロック30として抽出する。スライディングウインドウのずらし量は、そのずらし方向における第2ブロック30の大きさ(例えばずらし方向が横方向であれば、第2ブロック30の横幅)よりも小さい。
The
例えば二次元データ10が画像データであれば、第2ブロック30について行われる解析処理は、第2ブロック30に人や物などのオブジェクトが含まれていないかどうかを判定する処理や、第2ブロック30に含まれているオブジェクトを特定する処理などの画像解析処理である。
For example, if the two-
概念的には、情報処理装置2000は、多層で構成されたニューラルネットワークを用いて解析処理を行う。なお、ここでいう解析処理には、ニューラルネットワークを学習させるためにトレーニングデータを解析する処理と、学習済みのニューラルネットワークを利用して新たなデータを解析する処理の双方が含まれる。情報処理装置2000が利用するニューラルネットワークは、少なくとも、特徴量抽出層と全結合層を有する。この特徴量抽出層と全結合層で行われる処理はそれぞれ、ニューラルネットワークの一形態である CNN の特徴量抽出層と全結合層で行われる処理に相当する(非特許文献1参照)。特徴量抽出層では、入力された二次元データから特徴量を抽出する処理(以下、特徴量抽出処理)が行われる。全結合層では、特徴量抽出層からの出力を用いた判定や分類等の解析処理(以下、全結合処理)が行われる。例えば二次元データ10が画像データである場合、全結合層では、特徴量抽出処理で抽出された特徴量を用いて、第2ブロック30に所定のオブジェクトが含まれているか否かを判定する処理や、第2ブロック30に含まれているオブジェクトの種類を特定(分類)する処理などが行われる。
Conceptually, the
ここで情報処理装置2000は、第1ブロック20について特徴量抽出処理を行った後に、第1ブロック20に含まれる複数の第2ブロック30それぞれについて全結合層処理を行う。図2は、情報処理装置2000における解析処理の様子を例示する図である。情報処理装置2000はまず、第1ブロック20について特徴量抽出処理を行う。その結果、第1ブロック20に含まれる複数のデータ領域それぞれについての特徴量を示す情報(以下、特徴量情報)が生成される。特徴量情報には、第1ブロック20に含まれる複数の第2ブロック30それぞれについての特徴量が含まれることとなる。
Here, after performing the feature amount extraction process on the
例えば図2において、第1ブロック20から抽出される第2ブロック30は、第2ブロック30−1から第2ブロック30−3の3つである。情報処理装置2000は、第1ブロック20を対象とした特徴量抽出処理により、特徴量情報40を生成する。特徴量情報40には、第2ブロック30−1の特徴量、第2ブロック30−2の特徴量、及び第2ブロック30−3の特徴量が含まれている。
For example, in FIG. 2, the
情報処理装置2000は、第1ブロック20について生成された特徴量情報40を利用して、第1ブロック20に含まれる複数の第2ブロック30それぞれについて全結合処理を行う。図2の例において、情報処理装置2000は、1)特徴量情報40に含まれる第2ブロック30−1の特徴量を利用して、第2ブロック30−1についての全結合処理を行い、2)特徴量情報40に含まれる第2ブロック30−2の特徴量を利用して、第2ブロック30−2についての全結合処理を行い、3)特徴量情報40に含まれる第2ブロック30−3の特徴量を利用して、第2ブロック30−3についての全結合処理を行う。
The
<作用・効果>
既存の CNN と比較しながら、情報処理装置2000によってもたらされる作用効果について説明する。既存の CNN では、全結合処理の対象となるデータ領域ごとに特徴量抽出処理が行われる。図3は、既存の CNN で図2の第1ブロック20を処理する様子を例示する図である。図3では、第2ブロック30−1、第2ブロック30−2、及び第2ブロック30−3について個々に特徴量抽出処理が行われる。そして、第2ブロック30−1から抽出された特徴量、第2ブロック30−2から抽出された特徴量、第2ブロック30−3から抽出された特徴量のそれぞれを用いて、第2ブロック30−1、第2ブロック30−2、及び第2ブロック30−3についての全結合処理がそれぞれ行われる。
<Operation and effect>
The effects brought about by the
ここで前述したように、第2ブロック30は他の第2ブロック30と一部が重複している。例えば図2と図3では、第2ブロック30−1の一部と第2ブロック30−2の一部が互いに重複している。そのため、第2ブロック30−1と第2ブロック30−2について個々に特徴量抽出処理を行うと、これらの重複部分については、特徴量抽出処理が複数回(図3では2回)実行されることになる。同様に、第2ブロック30−2と第2ブロック30−3についても、その重複部分について特徴量抽出処理が複数回実行される。このように既存の CNN では、同じデータ領域について特徴量を複数回抽出することになるため、処理に無駄が生じている。
Here, as described above, the
これに対し、本実施形態の情報処理装置2000は、全結合層処理が行われる単位である第2ブロック30よりも大きい単位の第1ブロック20についてまとめて特徴抽出処理が行われる。そして、その結果生成される特徴量情報から、複数の第2ブロック30それぞれについての特徴量を参照することで、各第2ブロック30についての全結合処理が実行される。この方法によれば、第1ブロック20に含まれる複数の第2ブロック30については、特徴量抽出処理が重複して行われることがない。よって、既存の CNN と比較し、二次元データの解析を効率的に行うことができ、二次元データの解析処理に要する時間を削減できるという効果や、二次元データの解析に要する計算機資源を削減できるという効果がもたらされる。
On the other hand, in the
以下、本実施形態の情報処理装置2000についてさらに詳細に説明する。
Hereinafter, the
<情報処理装置2000の機能構成の例>
図4は、実施形態1の情報処理装置2000の機能構成を例示する図である。情報処理装置2000は特徴量抽出部2020及び全結合処理部2040を有する。特徴量抽出部2020は二次元データ10を取得する。特徴量抽出部2020は、取得した二次元データ10内の第1ブロック20について特徴量抽出処理を実行し、第1ブロック20について特徴量情報40を生成する。前述したように、特徴量情報40は、第1ブロック20内に含まれる全ての第2ブロック30の特徴量に関する情報を含む。
<Example of Functional Configuration of
FIG. 4 is a diagram illustrating the functional configuration of the
全結合処理部2040は、各第2ブロック30について、特徴量情報40に含まれるその第2ブロック30の特徴量を用いて全結合処理を実行する。前述したように、各第2ブロック30は、少なくとも1つの他の第2ブロック30とその一部のデータ領域が重複する。
The all
<情報処理装置2000のハードウエア構成>
情報処理装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、情報処理装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
<Hardware Configuration of
Each functional component of the
図5は、情報処理装置2000を実現するための計算機1000を例示する図である。計算機1000は任意の計算機である。例えば計算機1000は、Personal Computer(PC)やサーバマシンなどである。また、計算機1000は組み込みシステムであってもよい。計算機1000は、情報処理装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
FIG. 5 is a diagram illustrating a
計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、及び入出力インタフェース1100を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、及び入出力インタフェース1100が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。
The
プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などの種々のプロセッサである。なお、プロセッサ1040だけでなく、計算機1000全体を FPGA などの集積回路で実現してもよい。
The
メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。
The
入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース1100には、キーボードなどの入力装置や、ディスプレイ装置などの出力装置が接続される。
The input /
ストレージデバイス1080は、情報処理装置2000の各機能構成部を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールをメモリ1060に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
The
<情報処理装置2000の利用例>
情報処理装置2000の理解を容易にするため、情報処理装置2000の利用環境を例示する。図6は、情報処理装置2000の利用環境を例示する図である。図6では、車両60にカメラ70及び情報処理装置2000が設けられている。ただし情報処理装置2000は、必ずしも車両60に常設される据え置き型の計算機として実現される必要は無く、車両60から取り外し可能な可搬型の計算機として実現されてもよい。
<Example of Use of
In order to facilitate understanding of the
情報処理装置2000は、カメラ70によって生成される画像データを二次元データ10として取得し、その画像データについて画像解析を行う。例えば情報処理装置2000は、車両の周囲の環境を構成する種々の情報を得るために利用される。具体的には、標識、信号、看板、建物、歩行者、又は他の車両などを認識するために利用される。
The
車両の周囲の環境は時間と共に変化する。そのため情報処理装置2000は、カメラ70によって生成される映像を構成する画像データ(動画フレーム)それぞれを画像解析する必要がある。すなわち、各画像データを短い時間で画像解析する必要がある。この点、前述したように、本実施形態の情報処理装置2000によれば、二次元データの解析に要する時間を削減することができる。そのため情報処理装置2000は、図6に示す利用環境のように、短時間で二次元データを解析する必要がある環境において、特に好適である。
The environment around the vehicle changes with time. Therefore, the
また、情報処理装置2000を車両に載せる際には、情報処理装置2000を実現する計算機を小型化することが好ましい。この点、前述したように、情報処理装置2000によれば、二次元データの解析に要する計算機資源を削減できるため、情報処理装置2000を実現する計算機のサイズを小さくすることができる。そのため、情報処理装置2000は、図6に示す利用環境のように、二次元データの解析に利用される計算機のサイズを小さくすることが求められる環境において、特に好適である。
Further, when mounting the
<処理の流れ>
図7は、実施形態1の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。情報処理装置2000は、二次元データ10を取得する(S102)。ループ処理A(S104からS114)は、二次元データ10に含まれる第1ブロック20それぞれについて実行されるループ処理である。S104において、特徴量抽出部2020は、二次元データ10から1つの第1ブロック20を選択する。ここで選択された第1ブロック20を第1ブロックiと呼ぶ。なお、処理すべき全ての第1ブロック20を対象として既にループ処理Aが実行されている場合、情報処理装置2000の処理は終了する。
<Flow of processing>
FIG. 7 is a flowchart illustrating the flow of processing executed by the
特徴量抽出部2020は、第1ブロックiについて特徴抽出処理を行う(S106)。
The feature
ループ処理B(S108からS112)は、第1ブロックiに含まれる第2ブロック30それぞれについて実行されるループ処理である。全結合処理部2040は、第1ブロックiの中から、第2ブロック30を1つ抽出する。ここで抽出される第2ブロック30を第2ブロックjと呼ぶ。なお、第1ブロックiに含まれる全ての第2ブロック30について既にループ処理Bが実行されている場合、図5の処理はS114に進む。
The loop process B (S108 to S112) is a loop process executed for each of the
全結合処理部2040は、第2ブロックjについて全結合処理を行う(S110)。S112はループ処理Bの終端であるため、図7の処理はS108に戻る。
The all
S114はループ処理Bの終端であるため、図7の処理はS114からS106に戻る。 Since S114 is the end of the loop process B, the process of FIG. 7 returns from S114 to S106.
情報処理装置2000によって実行される処理の流れは図7に示した流れに限定されない。例えば二次元データ10全体を第1ブロック20として扱う場合には、S106からS112をループ処理とする必要はない。その他にも例えば、情報処理装置2000は、同一の第1ブロック20に含まれる複数の第2ブロック30について全結合処理を並列又は並行に処理してもよい。なお、並列処理や並行処理を実現する具体的な手法には、既存の技術を利用することができる。例えば、情報処理装置2000を構成するプロセッサ1040をマルチコアプロセッサにしたり、情報処理装置2000に複数のプロセッサ1040を設けたりすることが考えられる。また、情報処理装置2000を複数の計算機で実現してもよい。同様に、複数の第2ブロック30についての一連の処理を並列又は並行に行ってもよい。
The flow of processing executed by the
情報処理装置2000が図7の一連の処理を実行するタイミングは様々である。例えば情報処理装置2000は、定期的に図7の一連の処理を実行する。その他にも例えば、情報処理装置2000は、他の装置から送信された二次元データ10を受信したことに応じ、S104以降の処理を実行するように構成されていてもよい。
The timing at which the
<二次元データ10の取得:S102>
特徴量抽出部2020は二次元データ10を取得する(S102)。ここで、情報処理装置2000が二次元データ10を取得する方法は様々である。例えば特徴量抽出部2020は、二次元データ10を生成する装置から二次元データ10を取得する。例えば二次元データ10が画像データである場合、二次元データ10を生成する装置はカメラである。
<Obtaining of two-dimensional data 10: S102>
The feature
その他にも例えば、特徴量抽出部2020は、二次元データ10が記憶されている記憶装置から二次元データ10を取得してもよい。その他にも例えば、特徴量抽出部2020は、他の装置によって送信される二次元データ10を受信することで、二次元データ10を取得してもよい。
Besides, for example, the feature
<第1ブロック20について>
第1ブロック20が二次元データ10の全体である場合、特徴量抽出部2020は、二次元データ10の全体を第1ブロック20として処理する。一方、第1ブロック20が二次元データ10の一部である場合、特徴量抽出部2020は、二次元データ10から第1ブロック20を抽出する。例えば特徴量抽出部2020は、第1ブロック20を定める情報(二次元データ10内における第1ブロック20の位置及び大きさを定める情報)を取得し、その情報に基づいて第1ブロック20を抽出する。
<About the
When the
二次元データ10から抽出する第1ブロック20は、1つであってもよいし、複数であってもよい。後者の場合、例えば特徴量抽出部2020は、第1ブロック20のサイズのスライディングウインドウを利用して、二次元データ10から第1ブロック20を順次抽出していく。スライディングウインドウのずらし量は任意である。
The
<特徴量抽出処理>
特徴量抽出部2020は、第1ブロック20について特徴量抽出処理を行う。前述したように、特徴量抽出部2020が行う特徴量抽出処理は、CNN における特徴量抽出層で実行される処理に相当する。具体的には、特徴量抽出部2020は、CNN における畳み込み層(Convolution layer)の処理を第1ブロック20に対して行う。すなわち特徴量抽出部2020は、第1ブロック20に対して、特徴量抽出に利用するフィルタを畳み込むことで、第1ブロック20に含まれる複数のデータ領域それぞれから特徴量を抽出し、特徴量情報40を生成する。例えばフィルタとしては、エッジを検出するためのエッジ検出フィルタなどが利用できる。第1ブロック20に対して畳み込むフィルタは、予め特徴量抽出部2020からアクセス可能な記憶装置(例えばストレージデバイス1080)に記憶させておく。
<Feature extraction process>
The
また、特徴量抽出処理では、畳み込み層の処理に加え、CNN におけるプーリング層(Pooling Layer)の処理を行ってもよい。プーリング層では、畳み込み層で得られた特徴量情報40のサイズを減らす処理が行われる。例えば、特徴量情報40の複数の領域それぞれについて、その領域内の複数の特徴量を1つの代表値に置き換える処理を行うことで、特徴量情報40のサイズを減らすことができる。なお、プーリング層において行われる具体的な処理については、既存の技術を利用することができる。
Also, in the feature value extraction process, in addition to the process of the convolutional layer, the process of the pooling layer in CNN may be performed. In the pooling layer, processing is performed to reduce the size of
特徴量抽出部2020は、生成した特徴量情報を記憶装置(例えばストレージデバイス1080)に記憶させる。なお、情報処理装置2000を FPGA として構成する場合、特徴量抽出部2020は、FPGA に内蔵されている記憶装置に特徴量情報を記憶させることが好適である。
The feature
<<第1ブロック20の変形>>
ここで特徴量抽出部2020は、特徴量抽出処理を行う前に第2ブロック30の大きさに基づいて第1ブロック20を変形し、変形後の第1ブロック20について特徴量抽出処理を行ってもよい。図8は、第2ブロック30の大きさに合わせて第1ブロック20を変形する様子を例示する図である。例えば特徴量抽出部2020は、いずれか一つの方向(以下、第1の方向)について、第1ブロック20の大きさが第2ブロック30の大きさと同じになるように、第1ブロック20を分割する。例えば図8では、y 軸方向について第1ブロック20の大きさが第2ブロック30の大きさと同じ dy になるように、第1ブロック20を複数のデータ領域に分割している。すなわち、第1ブロック20の縦幅が第2ブロック30の縦幅と同一になるように変形している。
<< Modification of
Here, the feature
その後、特徴量抽出部2020は、上記分割で得られた複数のデータ領域を、第1の方向とは異なる方向において連結する。例えば図8では、元の第1ブロック20を分割することで得られた複数のデータ領域を、x 軸方向において連結する。こうすると、全結合処理部2040は、スライディングウインドウを利用して第1ブロック20から第2ブロック30を抽出する際、スライディングウインドウを一つの方向(図8では x 方向)に移動するだけで、第1ブロック20全体から第2ブロック30を抽出できるようになる。
Thereafter, the feature
なお、第1ブロック20を分割する方向(例えば図8における y 軸方向)において、第1ブロック20の大きさが第2ブロック30の大きさの整数倍にならないこともある。この場合、例えば特徴量抽出部2020は、第1ブロック20の分割方向における末端(図8の例では最も下)のデータ領域についてゼロパディング等の手法を適用することで、第1ブロック20の分割方向において、第1ブロック20の大きさが第2ブロック30の大きさの整数倍になるように調整する。
The size of the
第2ブロック30の大きさに基づいて第1ブロック20を変形する方法は、上述の方法に限定されない。例えば特徴量抽出部2020は、第1ブロック20の大きさと第2ブロック30の大きさとに基づき、第1ブロック20の画素を所定の規則で間引く処理を行ってもよい。図9は、間引き処理を例示する図である。図9の y 方向において、第1ブロック20の大きさは第2ブロック30の大きさの N 倍である。そこで、特徴量抽出部2020は、y 方向について、連続する N 画素ごとに N-1 画素を間引く処理を行う。これにより、y 方向について、第1ブロック20のサイズが第2ブロック30のサイズと同一になる。特徴量抽出部2020は、間引き処理後の第1ブロック20において、スライディングウインドウを x 方向に移動することで、第2ブロック30を抽出していく。
The method of deforming the
なお、上述の例では、スライディングウインドウを移動させる方向(図9の x 方向)については画素が間引かれていない。しかし、特徴量抽出部2020は、スライディングウインドウを移動させる方向についても画素を間引いてもよい。例えば特徴量抽出部2020は、スライディングウインドウを移動させる方向についての間引きを、他方の方向についての間引きと同様に行う(例えば図9のケースでは、x 方向についても、連続する N 画素ごとに N-1 画素を間引く)。
In the above example, pixels are not thinned in the direction of moving the sliding window (the x direction in FIG. 9). However, the feature
なお、上述のいずれの変形を利用しても、全結合処理部2040で行われる処理は同一である。そのため、FPGA 等のハードウエアで情報処理装置2000を実装する際に、計算機資源を抑えることができる。
Note that the processing performed by the all-
<全結合処理>
全結合処理部2040は、第1ブロック20から複数の第2ブロック30を抽出する。例えば前述したように、全結合処理部2040は、スライディングウインドウを利用して、第1ブロック20から第2ブロック30を抽出する。なお、特徴量抽出部2020が第1ブロック20を第2ブロック30の大きさに基づいて変形した後に特徴量抽出処理を行う場合、全結合処理部2040は、変形後の第1ブロック20から第2ブロック30の抽出を行う。
<All join processing>
The total
さらに全結合処理部2040は、特徴量抽出部2020によって生成された特徴量情報に含まれる各第2ブロック30の特徴量を利用して、各第2ブロック30について全結合処理を行う。前述したように、全結合処理部2040が行う全結合処理は、CNN の全結合層で行われる処理に相当する。全結合処理を実現する具体的な手法については、目的に応じた既存の手法を利用することができる。なお、全結合処理部2040は、特徴量情報が記憶されている記憶装置から特徴量情報を読み出して利用する。
Furthermore, the all
なお、記憶領域の使用量を削減するため、不要となったデータを記憶装置から適宜削除することが好適である。例えば特徴量抽出部2020が第1ブロック20を変形する場合、情報処理装置2000は、変形後の第1ブロック20を表すデータを、変形後の第1ブロック20を利用した特徴量抽出処理を終えたタイミングで削除することが好適である。また、情報処理装置2000は、全結合処理に用いる特徴量情報を、その特徴量情報を用いた全結合処理を終えたタイミングで削除することが好適である。
In order to reduce the amount of use of the storage area, it is preferable to appropriately delete unnecessary data from the storage device. For example, when the feature
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。 Although the embodiments of the present invention have been described above with reference to the drawings, these are merely examples of the present invention, and various configurations other than the above can also be adopted.
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
1. 二次元データを取得し、前記二次元データ内のデータ領域である第1ブロックについて Convolutional Neural Network(CNN)の特徴量抽出層の処理を実行して、前記第1ブロック内の複数の画像領域それぞれの特徴量を示す特徴量情報を生成する特徴量抽出手段と、
前記第1ブロックの中から複数の第2ブロックを抽出し、各前記第2ブロックについて、前記特徴量情報に含まれるその第2ブロックの特徴量を用いて、CNN の全結合層の処理を実行する全結合処理手段と、を有し、
前記第1ブロックに含まれる各前記第2ブロックは、少なくとも1つの他の第2ブロックとその一部のデータ領域が重複する、情報処理装置。
2. 前記全結合処理手段は、前記第1ブロックについて特徴量情報を生成する処理が完了した後に、前記全結合層の処理を実行する、1.に記載の情報処理装置。
3. 前記特徴量抽出手段が実行する処理は、CNN の畳み込み層の処理及びプーリング層の処理を含む、1.又は2.に記載の情報処理装置。
4. 前記特徴量抽出手段は、第1の方向における大きさが前記第2ブロックの大きさと同じになるように前記第1ブロックを変形し、前記変形後の第1ブロックについて前記特徴量情報の生成を行い、
前記全結合処理手段は、前記変形後の第1ブロックから前記第2ブロックを抽出する、1.乃至3.いずれか一つに記載の情報処理装置。
5. 前記全結合処理手段は、前記第2ブロックと同じサイズのスライディングウインドウを前記変形後の第1ブロック内で移動させ、前記スライディングウインドウ内のデータ領域を前記第2ブロックとして抽出することで、前記変形後の第1ブロックから複数の前記第2ブロックを抽出し、
前記スライディングウインドウを移動させる方向は、前記第1の方向とは異なる方向である、4.に記載の情報処理装置。
6. 前記特徴量抽出手段と前記全結合処理手段はハードウエア回路で実装される、1.乃至5.いずれか一つに記載の情報処理装置。
7. 前記ハードウエア回路は FPGA(Field-Programmable Gate Array)である、6.に記載の情報処理装置。
8. 前記特徴量抽出手段は、前記特徴量情報を前記 FPGA に内蔵された記憶装置に記憶させ、
前記全結合処理手段は、前記記憶装置から前記特徴量情報を読み出して、前記全結合層の処理を実行する、7.に記載の情報処理装置。
Some or all of the above embodiments may be described as in the following appendices, but is not limited to the following.
1. Two-dimensional data is acquired, and processing of a feature quantity extraction layer of Convolutional Neural Network (CNN) is executed for the first block which is a data area in the two-dimensional data, and a plurality of image areas in the first block are respectively processed. Feature amount extraction means for generating feature amount information indicating feature amounts of
A plurality of second blocks are extracted from the first block, and for each of the second blocks, processing of all combined layers of CNN is executed using the feature amounts of the second block included in the feature amount information And all coupling processing means
An information processing apparatus, wherein each of the second blocks included in the first block has at least one other second block and a partial data area of the second block overlap.
2. The all combination processing unit executes the processing of the all combination layer after the process of generating the feature amount information for the first block is completed. The information processing apparatus according to
3. The processing performed by the feature extraction means includes the processing of the convolution layer of CNN and the processing of the pooling layer. Or 2. The information processing apparatus according to
4. The feature quantity extraction unit deforms the first block so that the size in the first direction is the same as the size of the second block, and generates the feature quantity information for the first block after the deformation. Do,
The total combination processing unit extracts the second block from the first block after the deformation; To 3. The information processing apparatus according to any one.
5. The all combination processing unit moves the sliding window having the same size as the second block in the first block after the deformation, and extracts the data area in the sliding window as the second block, thereby the deformation. Extract a plurality of the second blocks from the first block after
The direction in which the sliding window is moved is a direction different from the first direction, 4. The information processing apparatus according to
6. The feature quantity extraction unit and the all combination processing unit are implemented by a hardware circuit. To 5. The information processing apparatus according to any one.
7. The hardware circuit is an FPGA (Field-Programmable Gate Array); The information processing apparatus according to
8. The feature amount extraction unit stores the feature amount information in a storage device incorporated in the FPGA.
The all combination processing unit reads the feature amount information from the storage device, and executes the processing of the all combination layer. The information processing apparatus according to
9. コンピュータによって実行される制御方法であって、
二次元データを取得し、前記二次元データ内のデータ領域である第1ブロックについて Convolutional Neural Network(CNN)の特徴量抽出層の処理を実行して、前記第1ブロック内の複数の画像領域それぞれの特徴量を示す特徴量情報を生成する特徴量抽出ステップと、
前記第1ブロックの中から複数の第2ブロックを抽出し、各前記第2ブロックについて、前記特徴量情報に含まれるその第2ブロックの特徴量を用いて、CNN の全結合層の処理を実行する全結合処理ステップと、を有し、
前記第1ブロックに含まれる各前記第2ブロックは、少なくとも1つの他の第2ブロックとその一部のデータ領域が重複する、制御方法。
10. 前記全結合処理ステップにおいて、前記第1ブロックについて特徴量情報を生成する処理が完了した後に、前記全結合層の処理を実行する、9.に記載の制御方法。
11. 前記特徴量抽出ステップにおいて実行する処理は、CNN の畳み込み層の処理及びプーリング層の処理を含む、9.又は10.に記載の制御方法。
12. 前記特徴量抽出ステップにおいて、第1の方向における大きさが前記第2ブロックの大きさと同じになるように前記第1ブロックを変形し、前記変形後の第1ブロックについて前記特徴量情報の生成を行い、
前記全結合処理ステップにおいて、前記変形後の第1ブロックから前記第2ブロックを抽出する、9.乃至11.いずれか一つに記載の制御方法。
13. 前記全結合処理ステップにおいて、前記第2ブロックと同じサイズのスライディングウインドウを前記変形後の第1ブロック内で移動させ、前記スライディングウインドウ内のデータ領域を前記第2ブロックとして抽出することで、前記変形後の第1ブロックから複数の前記第2ブロックを抽出し、
前記スライディングウインドウを移動させる方向は、前記第1の方向とは異なる方向である、12.に記載の制御方法。
9. A control method implemented by a computer,
Two-dimensional data is acquired, and processing of a feature quantity extraction layer of Convolutional Neural Network (CNN) is executed for the first block which is a data area in the two-dimensional data, and a plurality of image areas in the first block are respectively processed. A feature amount extraction step of generating feature amount information indicating a feature amount of
A plurality of second blocks are extracted from the first block, and for each of the second blocks, processing of all combined layers of CNN is executed using the feature amounts of the second block included in the feature amount information And all coupled processing steps
The control method in which each of the second blocks included in the first block has at least one other second block and a partial data area of the second block overlap.
10. 8. In the all combination processing step, after the processing of generating feature amount information for the first block is completed, the processing of the all combination layer is performed, Control method described in.
11. The processing executed in the feature extraction step includes processing of a convolution layer of CNN and processing of a pooling layer. Or 10. Control method described in.
12. In the feature quantity extraction step, the first block is deformed so that the size in the first direction is equal to the size of the second block, and generation of the feature quantity information for the first block after the deformation is performed. Do,
8. extracting the second block from the deformed first block in the total combination processing step; To 11. The control method according to any one.
13. In the total combination processing step, the sliding window of the same size as the second block is moved in the first block after the deformation, and a data area in the sliding window is extracted as the second block, thereby the deformation Extract a plurality of the second blocks from the first block after
The direction in which the sliding window is moved is a direction different from the first direction. Control method described in.
14. 9.乃至13.いずれか一つに記載の制御方法の各ステップをコンピュータに実行させるプログラム。 14. 9. To 13. A program that causes a computer to execute each step of the control method described in any one.
10 二次元データ
20 第1ブロック
30 第2ブロック
40 特徴量情報
60 車両
70 カメラ
1000 計算機
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージデバイス
1100 入出力インタフェース
2000 情報処理装置
2020 特徴量抽出部
2040 全結合処理部
10 two-
Claims (10)
前記第1ブロックの中から複数の第2ブロックを抽出し、各前記第2ブロックについて、前記特徴量情報に含まれるその第2ブロックの特徴量を用いて、CNN の全結合層の処理を実行する全結合処理手段と、を有し、
前記第1ブロックに含まれる各前記第2ブロックは、少なくとも1つの他の第2ブロックとその一部のデータ領域が重複する、情報処理装置。 Two-dimensional data is acquired, and processing of a feature quantity extraction layer of Convolutional Neural Network (CNN) is executed for the first block which is a data area in the two-dimensional data, and a plurality of image areas in the first block are respectively processed. Feature amount extraction means for generating feature amount information indicating feature amounts of
A plurality of second blocks are extracted from the first block, and for each of the second blocks, processing of all combined layers of CNN is executed using the feature amounts of the second block included in the feature amount information And all coupling processing means
An information processing apparatus, wherein each of the second blocks included in the first block has at least one other second block and a partial data area of the second block overlap.
前記全結合処理手段は、前記変形後の第1ブロックから前記第2ブロックを抽出する、請求項1乃至3いずれか一項に記載の情報処理装置。 The feature quantity extraction unit deforms the first block so that the size in the first direction is the same as the size of the second block, and generates the feature quantity information for the first block after the deformation. Do,
The information processing apparatus according to any one of claims 1 to 3, wherein the all combination processing unit extracts the second block from the first block after the deformation.
前記スライディングウインドウを移動させる方向は、前記第1の方向とは異なる方向である、請求項4に記載の情報処理装置。 The all combination processing unit moves the sliding window having the same size as the second block in the first block after the deformation, and extracts the data area in the sliding window as the second block, thereby the deformation. Extract a plurality of the second blocks from the first block after
The information processing apparatus according to claim 4, wherein a direction in which the sliding window is moved is a direction different from the first direction.
前記全結合処理手段は、前記記憶装置から前記特徴量情報を読み出して、前記全結合層の処理を実行する、請求項7に記載の情報処理装置。 The feature amount extraction unit stores the feature amount information in a storage device incorporated in the FPGA.
The information processing apparatus according to claim 7, wherein the all combination processing unit reads the feature amount information from the storage device and executes processing of the all combination layer.
二次元データを取得し、前記二次元データ内のデータ領域である第1ブロックについて Convolutional Neural Network(CNN)の特徴量抽出層の処理を実行して、前記第1ブロック内の複数の画像領域それぞれの特徴量を示す特徴量情報を生成する特徴量抽出ステップと、
前記第1ブロックの中から複数の第2ブロックを抽出し、各前記第2ブロックについて、前記特徴量情報に含まれるその第2ブロックの特徴量を用いて、CNN の全結合層の処理を実行する全結合処理ステップと、を有し、
前記第1ブロックに含まれる各前記第2ブロックは、少なくとも1つの他の第2ブロックとその一部のデータ領域が重複する、制御方法。 A control method implemented by a computer,
Two-dimensional data is acquired, and processing of a feature quantity extraction layer of Convolutional Neural Network (CNN) is executed for the first block which is a data area in the two-dimensional data, and a plurality of image areas in the first block are respectively processed. A feature amount extraction step of generating feature amount information indicating a feature amount of
A plurality of second blocks are extracted from the first block, and for each of the second blocks, processing of all combined layers of CNN is executed using the feature amounts of the second block included in the feature amount information And all coupled processing steps
The control method in which each of the second blocks included in the first block has at least one other second block and a partial data area of the second block overlap.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018004709A JP7107544B2 (en) | 2018-01-16 | 2018-01-16 | Information processing device, control method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018004709A JP7107544B2 (en) | 2018-01-16 | 2018-01-16 | Information processing device, control method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019125128A true JP2019125128A (en) | 2019-07-25 |
JP7107544B2 JP7107544B2 (en) | 2022-07-27 |
Family
ID=67399386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018004709A Active JP7107544B2 (en) | 2018-01-16 | 2018-01-16 | Information processing device, control method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7107544B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113159143A (en) * | 2021-04-06 | 2021-07-23 | 中国人民解放军国防科技大学 | Infrared and visible light image fusion method and device based on jump connection convolution layer |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1145310A (en) * | 1997-07-25 | 1999-02-16 | Casio Comput Co Ltd | Character recognizing device |
JP2009211178A (en) * | 2008-02-29 | 2009-09-17 | Canon Inc | Image processing apparatus, image processing method, program and storage medium |
WO2016037300A1 (en) * | 2014-09-10 | 2016-03-17 | Xiaoou Tang | Method and system for multi-class object detection |
JP2017004480A (en) * | 2015-06-04 | 2017-01-05 | オムロン株式会社 | Conspicuity information acquisition device and conspicuity information acquisition method |
WO2017015887A1 (en) * | 2015-07-29 | 2017-02-02 | Nokia Technologies Oy | Object detection with neural network |
JP2017191608A (en) * | 2016-04-15 | 2017-10-19 | 株式会社リコー | Object recognition method, object recognition device, and classifier training method |
-
2018
- 2018-01-16 JP JP2018004709A patent/JP7107544B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1145310A (en) * | 1997-07-25 | 1999-02-16 | Casio Comput Co Ltd | Character recognizing device |
JP2009211178A (en) * | 2008-02-29 | 2009-09-17 | Canon Inc | Image processing apparatus, image processing method, program and storage medium |
WO2016037300A1 (en) * | 2014-09-10 | 2016-03-17 | Xiaoou Tang | Method and system for multi-class object detection |
JP2017004480A (en) * | 2015-06-04 | 2017-01-05 | オムロン株式会社 | Conspicuity information acquisition device and conspicuity information acquisition method |
WO2017015887A1 (en) * | 2015-07-29 | 2017-02-02 | Nokia Technologies Oy | Object detection with neural network |
JP2017191608A (en) * | 2016-04-15 | 2017-10-19 | 株式会社リコー | Object recognition method, object recognition device, and classifier training method |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113159143A (en) * | 2021-04-06 | 2021-07-23 | 中国人民解放军国防科技大学 | Infrared and visible light image fusion method and device based on jump connection convolution layer |
CN113159143B (en) * | 2021-04-06 | 2022-06-07 | 中国人民解放军国防科技大学 | Infrared and visible light image fusion method and device based on jump connection convolution layer |
Also Published As
Publication number | Publication date |
---|---|
JP7107544B2 (en) | 2022-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109508681B (en) | Method and device for generating human body key point detection model | |
Sun et al. | Deep RGB-D saliency detection with depth-sensitive attention and automatic multi-modal fusion | |
JP7236545B2 (en) | Video target tracking method and apparatus, computer apparatus, program | |
US11734851B2 (en) | Face key point detection method and apparatus, storage medium, and electronic device | |
JP6843086B2 (en) | Image processing systems, methods for performing multi-label semantic edge detection in images, and non-temporary computer-readable storage media | |
Rastgoo et al. | Video-based isolated hand sign language recognition using a deep cascaded model | |
WO2019201035A1 (en) | Method and device for identifying object node in image, terminal and computer readable storage medium | |
US9892344B1 (en) | Activation layers for deep learning networks | |
JP7286013B2 (en) | Video content recognition method, apparatus, program and computer device | |
WO2021238548A1 (en) | Region recognition method, apparatus and device, and readable storage medium | |
CN112990219B (en) | Method and device for image semantic segmentation | |
EP4024270A1 (en) | Gesture recognition method, electronic device, computer-readable storage medium, and chip | |
CN109858333A (en) | Image processing method, device, electronic equipment and computer-readable medium | |
US20240320807A1 (en) | Image processing method and apparatus, device, and storage medium | |
Wang et al. | Global contextual guided residual attention network for salient object detection | |
CN108776954B (en) | Method and apparatus for generating image | |
CN114049491A (en) | Fingerprint segmentation model training method, fingerprint segmentation device, fingerprint segmentation equipment and fingerprint segmentation medium | |
CN117953581A (en) | Method and device for identifying actions, electronic equipment and readable storage medium | |
CN113822871A (en) | Target detection method and device based on dynamic detection head, storage medium and equipment | |
CN109492755B (en) | Image processing method, image processing apparatus, and computer-readable storage medium | |
JP2019125128A (en) | Information processing device, control method and program | |
WO2023273515A1 (en) | Target detection method, apparatus, electronic device and storage medium | |
JP2017126264A (en) | Information processor, information processing method and program | |
CN113610856B (en) | Method and device for training image segmentation model and image segmentation | |
CN116228850A (en) | Object posture estimation method, device, electronic equipment and readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201207 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211110 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211116 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220117 |
|
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: 20220614 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220707 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7107544 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |