Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7107544B2 - Information processing device, control method, and program - Google Patents
[go: Go Back, main page]

JP7107544B2 - Information processing device, control method, and program - Google Patents

Information processing device, control method, and program Download PDF

Info

Publication number
JP7107544B2
JP7107544B2 JP2018004709A JP2018004709A JP7107544B2 JP 7107544 B2 JP7107544 B2 JP 7107544B2 JP 2018004709 A JP2018004709 A JP 2018004709A JP 2018004709 A JP2018004709 A JP 2018004709A JP 7107544 B2 JP7107544 B2 JP 7107544B2
Authority
JP
Japan
Prior art keywords
block
processing
feature amount
information
blocks
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
Application number
JP2018004709A
Other languages
Japanese (ja)
Other versions
JP2019125128A (en
Inventor
剛 早川
裕二 栗田
純一 気屋村
安利 深谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Solution Innovators Ltd
Original Assignee
NEC Solution Innovators Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP2018004709A priority Critical patent/JP7107544B2/en
Publication of JP2019125128A publication Critical patent/JP2019125128A/en
Application granted granted Critical
Publication of JP7107544B2 publication Critical patent/JP7107544B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

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. Neural networks are widely used as one form of machine learning models. A neural network has a configuration in which processing units called neurons are connected in multiple layers. Neural networks have various forms such as Convolutional Neural Network (CNN), Recurrent Neural Network, Recursive Neural Network, and the like.

ニューラルネットワークを利用したデータ解析に関する先行技術文献には、例えば特許文献1と2がある。特許文献1や2には、CNN を利用した画像解析に関する技術が開示されている。 Prior art documents relating to data analysis using neural networks include, for example, Patent Documents 1 and 2. Patent Documents 1 and 2 disclose techniques related to image analysis using CNN.

特開2005-346472号公報JP 2005-346472 A 特開2017-187954号公報JP 2017-187954 A

Josh Patterson 及び Adam Gibson、「Deep Learning: A Practitioner's Approach」、Oreilly & Associates Inc.、2017年8月19日Josh Patterson and Adam Gibson, "Deep Learning: A Practitioner's Approach," Oreilly & Associates Inc., August 19, 2017.

本発明者は、CNN における解析処理に高速化の余地があることを見出した。本発明の目的の一つは、ニューラルネットワークを利用した解析処理を高速化する技術を提供することである。 The inventors have 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ブロックを変形し、変形後の第1ブロックについて特徴量情報の生成を行う。
全結合処理手段は、変形後の第1ブロックから第2ブロックを抽出する。
第1ブロックに含まれる各第2ブロックは、少なくとも1つの他の第2ブロックとその一部のデータ領域が第1の方向とは異なる第2の方向の端部で重複している。
The information processing apparatus of the present invention 1) acquires two-dimensional data, executes processing of a feature amount extraction layer of a Convolutional Neural Network (CNN) for a first block that is a data area in the two-dimensional data, and performs first 2) feature quantity extraction means for generating feature quantity information indicating the feature quantity of each of a plurality of image regions in a block; fully connected processing means for performing fully connected layer processing of the CNN using the feature amount of the second block included in the information.
The feature quantity extraction means deforms the first block so that the size in the first direction is an integral multiple of the size of the second block, and generates feature quantity information for the deformed first block.
The full connection processing means extracts the second block from the transformed first block.
Each second block included in the first block overlaps with at least one other second block in a part of the data area thereof at the end in the second direction different from the first direction .

本発明の制御方法はコンピュータによって実行される。当該制御方法は、1)二次元データを取得し、二次元データ内のデータ領域である第1ブロックについて Convolutional Neural Network(CNN)の特徴量抽出層の処理を実行して、第1ブロック内の複数の画像領域それぞれの特徴量を示す特徴量情報を生成する特徴量抽出ステップと、2)第1ブロックの中から複数の第2ブロックを抽出し、各第2ブロックについて、特徴量情報に含まれるその第2ブロックの特徴量を用いて、CNN の全結合層の処理を実行する全結合処理ステップと、を有する。
特徴量抽出ステップでは、第1の方向における大きさが第2ブロックの大きさの整数倍になるように第1ブロックを変形し、変形後の第1ブロックについて特徴量情報の生成を行う。
全結合処理ステップでは、変形後の第1ブロックから第2ブロックを抽出する。
第1ブロックに含まれる各第2ブロックは、少なくとも1つの他の第2ブロックとその一部のデータ領域が第1の方向とは異なる第2の方向の端部で重複している。
The control method of the present invention is executed by a computer. The control method is as follows: 1) Acquire two-dimensional data, perform processing of the feature amount extraction layer of Convolutional Neural Network (CNN) for the first block, which is a data area in the two-dimensional data, 2) extracting a plurality of second blocks from the first blocks, and extracting a plurality of second blocks included in the feature information for each of the second blocks; and a fully-connected processing step of performing fully-connected layer processing of the CNN using the features of the second block obtained.
In the feature quantity extraction step, the first block is deformed so that the size in the first direction is an integral multiple of the size of the second block, and feature quantity information is generated for the deformed first block.
In the full connection processing step, the second block is extracted from the transformed first block.
Each second block included in the first block overlaps with at least one other second block in a part of the data area thereof at the end in the second direction different from the first direction .

本発明のプログラムは、コンピュータに、本発明の制御方法が有する各ステップを実行させる。 The program of the present invention causes a computer to execute each step of the control method of the present invention.

本発明によれば、ニューラルネットワークを利用した解析処理を高速化する技術が提供される。 ADVANTAGE OF THE INVENTION According to this invention, the technique of speeding up the analysis process using a neural network is provided.

情報処理装置が処理するデータを例示する図である。FIG. 3 is a diagram illustrating data processed by an information processing device; 情報処理装置における解析処理の様子を例示する図である。It is a figure which illustrates the mode of the analysis process in an information processing apparatus. 既存の CNN で図2の第1ブロックを処理する様子を例示する図である。3 is a diagram illustrating how an existing CNN processes the first block of FIG. 2; FIG. 実施形態1の情報処理装置の機能構成を例示する図である。2 is a diagram illustrating the functional configuration of the information processing apparatus according to Embodiment 1; FIG. 情報処理装置を実現するための計算機を例示する図である。It is a figure which illustrates the computer for implement|achieving an information processing apparatus. 情報処理装置の利用環境を例示する図である。It is a figure which illustrates the usage environment of an information processing apparatus. 実施形態1の情報処理装置によって実行される処理の流れを例示するフローチャートである。4 is a flowchart illustrating the flow of processing executed by the information processing apparatus of Embodiment 1; 第2ブロックの大きさに合わせて第1ブロックを変形する様子を例示する図である。It is a figure which illustrates a mode that a 1st block is deform|transformed according to the size of a 2nd block. 間引き処理を例示する図である。FIG. 10 is a diagram illustrating thinning processing;

以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to the drawings. In addition, in all the drawings, the same constituent elements are denoted by the same reference numerals, and the description thereof will be omitted as appropriate. Moreover, in each block diagram, each block does not represent a configuration in units of hardware, but a configuration in units of functions, unless otherwise specified.

[実施形態1]
<概要>
図1及び図2は、実施形態1の情報処理装置(図4に示す情報処理装置2000)の概要を説明するための図である。以下で説明する情報処理装置2000の動作は、情報処理装置2000の理解を容易にするための例示であり、情報処理装置2000の動作は以下の例に限定されるわけではない。情報処理装置2000の動作の詳細やバリエーションについては後述する。
[Embodiment 1]
<Overview>
1 and 2 are diagrams for explaining an overview of the information processing apparatus (the information processing apparatus 2000 shown in FIG. 4) according to the first embodiment. The operation of the information processing apparatus 2000 described below is an example for facilitating understanding of the information processing apparatus 2000, and the operation of the information processing apparatus 2000 is not limited to the following example. Details and variations of the operation of the information processing apparatus 2000 will be described later.

図1は、情報処理装置2000が処理するデータを例示する図である。情報処理装置2000は二次元データ(行列データ)10を扱う。例えば二次元データ10は画像データである。画像データは、画素の位置(x 座標と y 座標の組み合わせ)に対応づけて、その画素の値を示す行列データである。 FIG. 1 is a diagram illustrating data processed by an information processing apparatus 2000. As shown in FIG. The information processing device 2000 handles two-dimensional data (matrix data) 10 . For example, the two-dimensional data 10 is image data. The image data is matrix data indicating pixel values in association with pixel positions (x-coordinate and y-coordinate combinations).

第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 first block 20 is a data area of part or all of the two-dimensional data 10 . That is, the size of the first block 20 is the same as or smaller than the size of the two-dimensional data 10 . A second block 30 is a partial image area of the first block 20 . That is, the size of the first block 20 is larger than the size of the second block 30 . Therefore, it is possible to extract a plurality of second blocks 30 having different positions from each other from the first block 20 . When the two-dimensional data 10 is image data, the first block 20 is a partial or entire image area of the two-dimensional data 10 , and the second block 30 is a partial image area within the first block 20 .

情報処理装置2000は、第1ブロック20から複数の第2ブロック30を抽出し、これら複数の第2ブロック30について解析処理を行う。ここで、各第2ブロック30は、少なくとも1つの第2ブロック30とその一部が重複する。例えば情報処理装置2000は、第2ブロック30と同じ大きさを持つスライディングウインドウを第1ブロック20内で移動させながら、各位置におけるスライディングウインドウ内のデータ領域を第2ブロック30として抽出する。スライディングウインドウのずらし量は、そのずらし方向における第2ブロック30の大きさ(例えばずらし方向が横方向であれば、第2ブロック30の横幅)よりも小さい。 The information processing device 2000 extracts a plurality of second blocks 30 from the first block 20 and performs analysis processing on the plurality of second blocks 30 . Here, each second block 30 partially overlaps with at least one second block 30 . For example, the information processing device 2000 extracts the data area within the sliding window at each position as the second block 30 while moving a sliding window having the same size as the second block 30 within the first block 20 . The shift amount of the sliding window is smaller than the size of the second block 30 in the shift direction (for example, if the shift direction is the horizontal direction, the width of the second block 30).

例えば二次元データ10が画像データであれば、第2ブロック30について行われる解析処理は、第2ブロック30に人や物などのオブジェクトが含まれていないかどうかを判定する処理や、第2ブロック30に含まれているオブジェクトを特定する処理などの画像解析処理である。 For example, if the two-dimensional data 10 is image data, the analysis process performed on the second block 30 includes a process of determining whether the second block 30 contains an object such as a person or an object, a process of determining whether the second block 30 image analysis processing, such as processing to identify objects contained in 30;

概念的には、情報処理装置2000は、多層で構成されたニューラルネットワークを用いて解析処理を行う。なお、ここでいう解析処理には、ニューラルネットワークを学習させるためにトレーニングデータを解析する処理と、学習済みのニューラルネットワークを利用して新たなデータを解析する処理の双方が含まれる。情報処理装置2000が利用するニューラルネットワークは、少なくとも、特徴量抽出層と全結合層を有する。この特徴量抽出層と全結合層で行われる処理はそれぞれ、ニューラルネットワークの一形態である CNN の特徴量抽出層と全結合層で行われる処理に相当する(非特許文献1参照)。特徴量抽出層では、入力された二次元データから特徴量を抽出する処理(以下、特徴量抽出処理)が行われる。全結合層では、特徴量抽出層からの出力を用いた判定や分類等の解析処理(以下、全結合処理)が行われる。例えば二次元データ10が画像データである場合、全結合層では、特徴量抽出処理で抽出された特徴量を用いて、第2ブロック30に所定のオブジェクトが含まれているか否かを判定する処理や、第2ブロック30に含まれているオブジェクトの種類を特定(分類)する処理などが行われる。 Conceptually, the information processing apparatus 2000 performs analysis processing using a multilayered neural network. Note that the analysis processing here includes both processing of analyzing training data for learning a neural network and processing of analyzing new data using a trained neural network. A neural network used by the information processing apparatus 2000 has at least a feature extraction layer and a fully connected layer. The processing performed in the feature quantity extraction layer and fully connected layer respectively correspond to the processing performed in the feature quantity extraction layer and fully connected layer of CNN, which is a form of neural network (see Non-Patent Document 1). In the feature amount extraction layer, a process of extracting a feature amount from the input two-dimensional data (hereinafter referred to as a feature amount extraction process) is performed. In the fully connected layer, analysis processing such as determination and classification using the output from the feature quantity extraction layer (hereinafter referred to as fully connected processing) is performed. For example, when the two-dimensional data 10 is image data, the fully connected layer uses the feature amount extracted by the feature amount extraction process to determine whether or not the second block 30 includes a predetermined object. Also, processing for identifying (classifying) the types of objects included in the second block 30 is performed.

ここで情報処理装置2000は、第1ブロック20について特徴量抽出処理を行った後に、第1ブロック20に含まれる複数の第2ブロック30それぞれについて全結合層処理を行う。図2は、情報処理装置2000における解析処理の様子を例示する図である。情報処理装置2000はまず、第1ブロック20について特徴量抽出処理を行う。その結果、第1ブロック20に含まれる複数のデータ領域それぞれについての特徴量を示す情報(以下、特徴量情報)が生成される。特徴量情報には、第1ブロック20に含まれる複数の第2ブロック30それぞれについての特徴量が含まれることとなる。 Here, the information processing apparatus 2000 performs fully connected layer processing on each of the plurality of second blocks 30 included in the first block 20 after performing the feature amount extraction processing on the first block 20 . FIG. 2 is a diagram illustrating how analysis processing is performed in the information processing apparatus 2000. As illustrated in FIG. The information processing device 2000 first performs feature quantity extraction processing on the first block 20 . As a result, information (hereinafter referred to as feature amount information) indicating feature amounts for each of the plurality of data areas included in the first block 20 is generated. The feature amount information includes feature amounts for each of the plurality of second blocks 30 included in the first block 20 .

例えば図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 second blocks 30 extracted from the first block 20 are the three second blocks 30-1 to 30-3. The information processing apparatus 2000 generates feature amount information 40 by performing feature amount extraction processing on the first block 20 . The feature amount information 40 includes the feature amount of the second block 30-1, the feature amount of the second block 30-2, and the feature amount of the second block 30-3.

情報処理装置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 information processing apparatus 2000 uses the feature amount information 40 generated for the first block 20 to perform a full combination process for each of the plurality of second blocks 30 included in the first block 20 . In the example of FIG. 2, the information processing apparatus 2000 performs 1) full combination processing for the second block 30-1 using the feature amount of the second block 30-1 included in the feature amount information 40, and 2) ) using the feature amount of the second block 30-2 included in the feature amount information 40, performing a full combination process for the second block 30-2; 3, the full combination processing is performed for the second block 30-3.

<作用・効果>
既存の 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についての全結合処理がそれぞれ行われる。
<Action/effect>
Effects brought about by the information processing apparatus 2000 will be described while comparing with the existing CNN. In existing CNNs, feature quantity extraction processing is performed for each data region to be fully connected. FIG. 3 is a diagram illustrating how an existing CNN processes the first block 20 of FIG. In FIG. 3, feature quantity extraction processing is performed individually for the second block 30-1, the second block 30-2, and the second block 30-3. Then, using the feature amount extracted from the second block 30-1, the feature amount extracted from the second block 30-2, and the feature amount extracted from the second block 30-3, the second block 30 -1, the second block 30-2, and the second block 30-3 are fully combined.

ここで前述したように、第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 では、同じデータ領域について特徴量を複数回抽出することになるため、処理に無駄が生じている。 As described above, the second block 30 partially overlaps with other second blocks 30 . For example, in FIGS. 2 and 3, a portion of the second block 30-1 and a portion of the second block 30-2 overlap each other. Therefore, if the feature amount extraction process is performed individually for the second block 30-1 and the second block 30-2, the feature amount extraction process is performed a plurality of times (two times in FIG. 3) for these overlapping portions. It will be. Similarly, for the second block 30-2 and the second block 30-3, the feature quantity extraction process is executed multiple times for the overlapping portion. In this way, existing CNNs extract features multiple times for the same data region, resulting in wasteful processing.

これに対し、本実施形態の情報処理装置2000は、全結合層処理が行われる単位である第2ブロック30よりも大きい単位の第1ブロック20についてまとめて特徴抽出処理が行われる。そして、その結果生成される特徴量情報から、複数の第2ブロック30それぞれについての特徴量を参照することで、各第2ブロック30についての全結合処理が実行される。この方法によれば、第1ブロック20に含まれる複数の第2ブロック30については、特徴量抽出処理が重複して行われることがない。よって、既存の CNN と比較し、二次元データの解析を効率的に行うことができ、二次元データの解析処理に要する時間を削減できるという効果や、二次元データの解析に要する計算機資源を削減できるという効果がもたらされる。 On the other hand, the information processing apparatus 2000 of the present embodiment collectively performs the feature extraction processing on the first blocks 20 that are larger than the second blocks 30 that are the units on which the fully connected layer processing is performed. Then, by referring to the feature amount for each of the plurality of second blocks 30 from the feature amount information generated as a result, the full connection processing for each of the second blocks 30 is executed. According to this method, feature amount extraction processing is not performed redundantly for the plurality of second blocks 30 included in the first block 20 . Therefore, compared to existing CNNs, 2D data analysis can be performed efficiently, the time required for 2D data analysis processing can be reduced, and the computer resources required for 2D data analysis can be reduced. It has the effect of being able to

以下、本実施形態の情報処理装置2000についてさらに詳細に説明する。 The information processing apparatus 2000 of this embodiment will be described in further detail below.

<情報処理装置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 Information Processing Device 2000>
FIG. 4 is a diagram illustrating the functional configuration of the information processing apparatus 2000 according to the first embodiment. The information processing device 2000 has a feature amount extraction unit 2020 and a full connection processing unit 2040 . A feature quantity extraction unit 2020 acquires the two-dimensional data 10 . The feature amount extraction unit 2020 executes feature amount extraction processing for the first block 20 in the acquired two-dimensional data 10 and generates feature amount information 40 for the first block 20 . As described above, the feature amount information 40 includes information regarding feature amounts of all the second blocks 30 included in the first block 20 .

全結合処理部2040は、各第2ブロック30について、特徴量情報40に含まれるその第2ブロック30の特徴量を用いて全結合処理を実行する。前述したように、各第2ブロック30は、少なくとも1つの他の第2ブロック30とその一部のデータ領域が重複する。 The full combination processing unit 2040 executes full combination processing for each second block 30 using the feature amount of the second block 30 included in the feature amount information 40 . As described above, each second block 30 partially overlaps the data area with at least one other second block 30 .

<情報処理装置2000のハードウエア構成>
情報処理装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、情報処理装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
<Hardware Configuration of Information Processing Device 2000>
Each functional configuration unit of the information processing apparatus 2000 may be implemented by hardware (eg, hardwired electronic circuit) that implements each functional configuration unit, or may be implemented by a combination of hardware and software (eg, combination of an electronic circuit and a program for controlling it, etc.). A case where each functional component of the information processing apparatus 2000 is implemented by a combination of hardware and software will be further described below.

図5は、情報処理装置2000を実現するための計算機1000を例示する図である。計算機1000は任意の計算機である。例えば計算機1000は、Personal Computer(PC)やサーバマシンなどである。また、計算機1000は組み込みシステムであってもよい。計算機1000は、情報処理装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。 FIG. 5 is a diagram illustrating a computer 1000 for realizing the information processing apparatus 2000. As shown in FIG. Computer 1000 is any computer. For example, the computer 1000 is a personal computer (PC), a server machine, or the like. Computer 1000 may also be an embedded system. The computer 1000 may be a dedicated computer designed to implement the information processing apparatus 2000, or may be a general-purpose computer.

計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、及び入出力インタフェース1100を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、及び入出力インタフェース1100が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。 Computer 1000 has bus 1020 , processor 1040 , memory 1060 , storage device 1080 and input/output interface 1100 . The bus 1020 is a data transmission path through which the processor 1040, memory 1060, storage device 1080, and input/output interface 1100 mutually transmit and receive data. However, the method of connecting processors 1040 and the like to each other is not limited to bus connection.

プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などの種々のプロセッサである。なお、プロセッサ1040だけでなく、計算機1000全体を FPGA などの集積回路で実現してもよい。 The processor 1040 is various processors such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or an FPGA (Field-Programmable Gate Array). Note that not only the processor 1040 but also the entire computer 1000 may be realized by an integrated circuit such as FPGA.

メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。 The memory 1060 is a main memory implemented using a RAM (Random Access Memory) or the like. The storage device 1080 is an auxiliary storage device implemented using a hard disk, SSD (Solid State Drive), memory card, ROM (Read Only Memory), or the like.

入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース1100には、キーボードなどの入力装置や、ディスプレイ装置などの出力装置が接続される。 The input/output interface 1100 is an interface for connecting the computer 1000 and input/output devices. For example, the input/output interface 1100 is connected to an input device such as a keyboard and an output device such as a display device.

ストレージデバイス1080は、情報処理装置2000の各機能構成部を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールをメモリ1060に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。 The storage device 1080 stores program modules that implement each functional component of the information processing apparatus 2000 . The processor 1040 reads each program module into the memory 1060 and executes it, thereby realizing the function corresponding to each program module.

<情報処理装置2000の利用例>
情報処理装置2000の理解を容易にするため、情報処理装置2000の利用環境を例示する。図6は、情報処理装置2000の利用環境を例示する図である。図6では、車両60にカメラ70及び情報処理装置2000が設けられている。ただし情報処理装置2000は、必ずしも車両60に常設される据え置き型の計算機として実現される必要は無く、車両60から取り外し可能な可搬型の計算機として実現されてもよい。
<Usage Example of Information Processing Device 2000>
In order to facilitate understanding of the information processing device 2000, an example of the usage environment of the information processing device 2000 will be given. FIG. 6 is a diagram illustrating a usage environment of the information processing device 2000. As shown in FIG. In FIG. 6, a vehicle 60 is provided with a camera 70 and an information processing device 2000 . However, the information processing apparatus 2000 does not necessarily have to be implemented as a stationary computer that is permanently installed in the vehicle 60 , and may be implemented as a portable computer that can be removed from the vehicle 60 .

情報処理装置2000は、カメラ70によって生成される画像データを二次元データ10として取得し、その画像データについて画像解析を行う。例えば情報処理装置2000は、車両の周囲の環境を構成する種々の情報を得るために利用される。具体的には、標識、信号、看板、建物、歩行者、又は他の車両などを認識するために利用される。 The information processing device 2000 acquires image data generated by the camera 70 as the two-dimensional data 10, and performs image analysis on the image data. For example, the information processing device 2000 is used to obtain various information that constitutes the environment around the vehicle. Specifically, it is used to recognize signs, traffic lights, billboards, buildings, pedestrians, or other vehicles.

車両の周囲の環境は時間と共に変化する。そのため情報処理装置2000は、カメラ70によって生成される映像を構成する画像データ(動画フレーム)それぞれを画像解析する必要がある。すなわち、各画像データを短い時間で画像解析する必要がある。この点、前述したように、本実施形態の情報処理装置2000によれば、二次元データの解析に要する時間を削減することができる。そのため情報処理装置2000は、図6に示す利用環境のように、短時間で二次元データを解析する必要がある環境において、特に好適である。 The environment around the vehicle changes with time. Therefore, the information processing apparatus 2000 needs to perform image analysis on each of the image data (moving image frames) forming the image generated by the camera 70 . That is, it is necessary to image-analyze each image data in a short time. In this regard, as described above, according to the information processing apparatus 2000 of this embodiment, the time required for analyzing two-dimensional data can be reduced. Therefore, the information processing apparatus 2000 is particularly suitable in an environment where it is necessary to analyze two-dimensional data in a short period of time, such as the usage environment shown in FIG.

また、情報処理装置2000を車両に載せる際には、情報処理装置2000を実現する計算機を小型化することが好ましい。この点、前述したように、情報処理装置2000によれば、二次元データの解析に要する計算機資源を削減できるため、情報処理装置2000を実現する計算機のサイズを小さくすることができる。そのため、情報処理装置2000は、図6に示す利用環境のように、二次元データの解析に利用される計算機のサイズを小さくすることが求められる環境において、特に好適である。 Further, when the information processing device 2000 is mounted on a vehicle, it is preferable to reduce the size of the computer that implements the information processing device 2000 . In this respect, as described above, according to the information processing apparatus 2000, the computer resources required for analyzing the two-dimensional data can be reduced, so the size of the computer that implements the information processing apparatus 2000 can be reduced. Therefore, the information processing apparatus 2000 is particularly suitable in an environment such as the usage environment shown in FIG. 6 in which a reduction in the size of a computer used for analysis of two-dimensional data is required.

<処理の流れ>
図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の処理は終了する。
<Process flow>
FIG. 7 is a flowchart illustrating the flow of processing executed by the information processing apparatus 2000 of the first embodiment. The information processing device 2000 acquires the two-dimensional data 10 (S102). A loop process A (S104 to S114) is a loop process executed for each of the first blocks 20 included in the two-dimensional data 10. FIG. In S<b>104 , the feature quantity extraction unit 2020 selects one first block 20 from the two-dimensional data 10 . The first block 20 selected here is called the first block i. If the loop processing A has already been executed for all the first blocks 20 to be processed, the processing of the information processing device 2000 ends.

特徴量抽出部2020は、第1ブロックiについて特徴抽出処理を行う(S106)。 The feature amount extraction unit 2020 performs feature extraction processing on the first block i (S106).

ループ処理B(S108からS112)は、第1ブロックiに含まれる第2ブロック30それぞれについて実行されるループ処理である。全結合処理部2040は、第1ブロックiの中から、第2ブロック30を1つ抽出する。ここで抽出される第2ブロック30を第2ブロックjと呼ぶ。なお、第1ブロックiに含まれる全ての第2ブロック30について既にループ処理Bが実行されている場合、図5の処理はS114に進む。 A loop process B (S108 to S112) is a loop process executed for each of the second blocks 30 included in the first block i. The full combination processing unit 2040 extracts one second block 30 from the first block i. The second block 30 extracted here is called a second block j. Note that if the loop process B has already been executed for all the second blocks 30 included in the first block i, the process of FIG. 5 proceeds to S114.

全結合処理部2040は、第2ブロックjについて全結合処理を行う(S110)。S112はループ処理Bの終端であるため、図7の処理はS108に戻る。 The full connection processing unit 2040 performs full connection processing for the second block j (S110). Since S112 is the end of the loop process B, the process of FIG. 7 returns to S108.

S114はループ処理Bの終端であるため、図7の処理はS114からS106に戻る。 Since S114 is the end of loop processing B, the processing in 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 information processing apparatus 2000 is not limited to the flow shown in FIG. For example, when the entire two-dimensional data 10 is handled as the first block 20, there is no need to loop processing from S106 to S112. In addition, for example, the information processing device 2000 may perform fully connected processing in parallel or in parallel for a plurality of second blocks 30 included in the same first block 20 . Note that existing techniques can be used for parallel processing and specific methods for realizing parallel processing. For example, the processor 1040 configuring the information processing device 2000 may be a multi-core processor, or the information processing device 2000 may be provided with a plurality of processors 1040 . Also, the information processing apparatus 2000 may be realized by a plurality of computers. Similarly, a series of processes for multiple second blocks 30 may be performed in parallel or in parallel.

情報処理装置2000が図7の一連の処理を実行するタイミングは様々である。例えば情報処理装置2000は、定期的に図7の一連の処理を実行する。その他にも例えば、情報処理装置2000は、他の装置から送信された二次元データ10を受信したことに応じ、S104以降の処理を実行するように構成されていてもよい。 The timing at which the information processing apparatus 2000 executes the series of processes in FIG. 7 varies. For example, the information processing device 2000 periodically executes the series of processes shown in FIG. In addition, for example, the information processing apparatus 2000 may be configured to execute the processes after S104 in response to receiving the two-dimensional data 10 transmitted from another apparatus.

<二次元データ10の取得:S102>
特徴量抽出部2020は二次元データ10を取得する(S102)。ここで、情報処理装置2000が二次元データ10を取得する方法は様々である。例えば特徴量抽出部2020は、二次元データ10を生成する装置から二次元データ10を取得する。例えば二次元データ10が画像データである場合、二次元データ10を生成する装置はカメラである。
<Acquisition of two-dimensional data 10: S102>
The feature amount extraction unit 2020 acquires the two-dimensional data 10 (S102). There are various methods for the information processing device 2000 to acquire the two-dimensional data 10 . For example, the feature quantity extraction unit 2020 acquires the two-dimensional data 10 from a device that generates the two-dimensional data 10 . For example, if the two-dimensional data 10 is image data, the device that generates the two-dimensional data 10 is a camera.

その他にも例えば、特徴量抽出部2020は、二次元データ10が記憶されている記憶装置から二次元データ10を取得してもよい。その他にも例えば、特徴量抽出部2020は、他の装置によって送信される二次元データ10を受信することで、二次元データ10を取得してもよい。 Alternatively, for example, the feature quantity extraction unit 2020 may acquire the two-dimensional data 10 from a storage device in which the two-dimensional data 10 is stored. Alternatively, for example, the feature quantity extraction unit 2020 may acquire the two-dimensional data 10 by receiving the two-dimensional data 10 transmitted from another device.

<第1ブロック20について>
第1ブロック20が二次元データ10の全体である場合、特徴量抽出部2020は、二次元データ10の全体を第1ブロック20として処理する。一方、第1ブロック20が二次元データ10の一部である場合、特徴量抽出部2020は、二次元データ10から第1ブロック20を抽出する。例えば特徴量抽出部2020は、第1ブロック20を定める情報(二次元データ10内における第1ブロック20の位置及び大きさを定める情報)を取得し、その情報に基づいて第1ブロック20を抽出する。
<Regarding the first block 20>
When the first block 20 is the entire two-dimensional data 10 , the feature extraction unit 2020 processes the entire two-dimensional data 10 as the first block 20 . On the other hand, if the first block 20 is part of the two-dimensional data 10 , the feature quantity extraction unit 2020 extracts the first block 20 from the two-dimensional data 10 . For example, the feature amount extraction unit 2020 acquires information that defines the first block 20 (information that defines the position and size of the first block 20 in the two-dimensional data 10), and extracts the first block 20 based on that information. do.

二次元データ10から抽出する第1ブロック20は、1つであってもよいし、複数であってもよい。後者の場合、例えば特徴量抽出部2020は、第1ブロック20のサイズのスライディングウインドウを利用して、二次元データ10から第1ブロック20を順次抽出していく。スライディングウインドウのずらし量は任意である。 The number of the first blocks 20 extracted from the two-dimensional data 10 may be one or plural. In the latter case, for example, the feature amount extraction unit 2020 sequentially extracts the first blocks 20 from the two-dimensional data 10 using a sliding window of the size of the first blocks 20 . The amount of shift of the sliding window is arbitrary.

<特徴量抽出処理>
特徴量抽出部2020は、第1ブロック20について特徴量抽出処理を行う。前述したように、特徴量抽出部2020が行う特徴量抽出処理は、CNN における特徴量抽出層で実行される処理に相当する。具体的には、特徴量抽出部2020は、CNN における畳み込み層(Convolution layer)の処理を第1ブロック20に対して行う。すなわち特徴量抽出部2020は、第1ブロック20に対して、特徴量抽出に利用するフィルタを畳み込むことで、第1ブロック20に含まれる複数のデータ領域それぞれから特徴量を抽出し、特徴量情報40を生成する。例えばフィルタとしては、エッジを検出するためのエッジ検出フィルタなどが利用できる。第1ブロック20に対して畳み込むフィルタは、予め特徴量抽出部2020からアクセス可能な記憶装置(例えばストレージデバイス1080)に記憶させておく。
<Feature amount extraction processing>
The feature quantity extraction unit 2020 performs feature quantity extraction processing on the first block 20 . As described above, the feature amount extraction process performed by the feature amount extraction unit 2020 corresponds to the process performed in the feature amount extraction layer in CNN. Specifically, the feature quantity extraction unit 2020 performs the processing of the convolution layer in the CNN on the first block 20 . That is, the feature amount extraction unit 2020 extracts feature amounts from each of the plurality of data regions included in the first block 20 by convolving the first block 20 with a filter used for feature amount extraction, and extracts feature amount information. 40 is generated. For example, an edge detection filter for detecting edges can be used as the filter. A filter to be convolved with respect to the first block 20 is stored in advance in a storage device (for example, the storage device 1080) accessible from the feature quantity extraction unit 2020. FIG.

また、特徴量抽出処理では、畳み込み層の処理に加え、CNN におけるプーリング層(Pooling Layer)の処理を行ってもよい。プーリング層では、畳み込み層で得られた特徴量情報40のサイズを減らす処理が行われる。例えば、特徴量情報40の複数の領域それぞれについて、その領域内の複数の特徴量を1つの代表値に置き換える処理を行うことで、特徴量情報40のサイズを減らすことができる。なお、プーリング層において行われる具体的な処理については、既存の技術を利用することができる。 In addition to the processing of the convolutional layer, the processing of the pooling layer in the CNN may be performed in the feature amount extraction processing. In the pooling layer, processing for reducing the size of the feature amount information 40 obtained in the convolution layer is performed. For example, the size of the feature amount information 40 can be reduced by performing a process of replacing a plurality of feature amounts in each of the plurality of areas of the feature amount information 40 with one representative value. Existing technology can be used for the specific processing performed in the pooling layer.

特徴量抽出部2020は、生成した特徴量情報を記憶装置(例えばストレージデバイス1080)に記憶させる。なお、情報処理装置2000を FPGA として構成する場合、特徴量抽出部2020は、FPGA に内蔵されている記憶装置に特徴量情報を記憶させることが好適である。 The feature amount extraction unit 2020 stores the generated feature amount information in a storage device (for example, the storage device 1080). Note that when the information processing apparatus 2000 is configured as an FPGA, the feature amount extraction unit 2020 preferably stores the feature amount information in a storage device built into the FPGA.

<<第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の縦幅と同一になるように変形している。
<<Deformation of first block 20>>
Here, the feature amount extraction unit 2020 transforms the first block 20 based on the size of the second block 30 before performing the feature amount extraction process, and performs the feature amount extraction process on the transformed first block 20. good too. FIG. 8 is a diagram illustrating how the first block 20 is deformed according to the size of the second block 30. As shown in FIG. For example, the feature amount extraction unit 2020 divides the first block 20 so that the size of the first block 20 is the same as the size of the second block 30 in any one direction (hereinafter referred to as the first direction). do. For example, in FIG. 8, the first block 20 is divided into a plurality of data areas so that the size of the first block 20 in the y-axis direction is the same as the size of the second block 30 dy. That is, the vertical width of the first block 20 is deformed to be the same as the vertical width of the second block 30 .

その後、特徴量抽出部2020は、上記分割で得られた複数のデータ領域を、第1の方向とは異なる方向において連結する。例えば図8では、元の第1ブロック20を分割することで得られた複数のデータ領域を、x 軸方向において連結する。こうすると、全結合処理部2040は、スライディングウインドウを利用して第1ブロック20から第2ブロック30を抽出する際、スライディングウインドウを一つの方向(図8では x 方向)に移動するだけで、第1ブロック20全体から第2ブロック30を抽出できるようになる。 After that, the feature quantity extraction unit 2020 connects the plurality of data regions obtained by the division in a direction different from the first direction. For example, in FIG. 8, a plurality of data areas obtained by dividing the original first block 20 are connected in the x-axis direction. In this way, when extracting the first block 20 to the second block 30 using the sliding window, the full connection processing unit 2040 only needs to move the sliding window in one direction (the x direction in FIG. 8). It becomes possible to extract the second block 30 from the entire one block 20 .

なお、第1ブロック20を分割する方向(例えば図8における y 軸方向)において、第1ブロック20の大きさが第2ブロック30の大きさの整数倍にならないこともある。この場合、例えば特徴量抽出部2020は、第1ブロック20の分割方向における末端(図8の例では最も下)のデータ領域についてゼロパディング等の手法を適用することで、第1ブロック20の分割方向において、第1ブロック20の大きさが第2ブロック30の大きさの整数倍になるように調整する。 Note that the size of the first block 20 may not be an integral multiple of the size of the second block 30 in the direction of dividing the first block 20 (for example, the y-axis direction in FIG. 8). In this case, for example, the feature amount extraction unit 2020 applies a technique such as zero padding to the data area at the end (lowest in the example of FIG. 8) in the division direction of the first block 20, thereby dividing the first block 20. In terms of direction, the size of the first block 20 is adjusted to be an integral multiple of the size of the second block 30 .

第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 first block 20 based on the size of the second block 30 is not limited to the method described above. For example, the feature amount extraction unit 2020 may thin out the pixels of the first block 20 according to a predetermined rule based on the size of the first block 20 and the size of the second block 30 . FIG. 9 is a diagram illustrating the thinning process. In the y direction of FIG. 9, the size of the first block 20 is N times the size of the second block 30 . Therefore, the feature amount extraction unit 2020 thins out N−1 pixels from every N consecutive pixels in the y direction. This makes the size of the first block 20 the same as the size of the second block 30 in the y direction. The feature amount extraction unit 2020 extracts the second block 30 by moving the sliding window in the x direction in the first block 20 after the thinning process.

なお、上述の例では、スライディングウインドウを移動させる方向(図9の x 方向)については画素が間引かれていない。しかし、特徴量抽出部2020は、スライディングウインドウを移動させる方向についても画素を間引いてもよい。例えば特徴量抽出部2020は、スライディングウインドウを移動させる方向についての間引きを、他方の方向についての間引きと同様に行う(例えば図9のケースでは、x 方向についても、連続する N 画素ごとに N-1 画素を間引く)。 In the above example, pixels are not thinned out in the direction in which the sliding window is moved (the x direction in FIG. 9). However, the feature quantity extraction unit 2020 may also thin out pixels in the direction in which the sliding window is moved. For example, the feature quantity extraction unit 2020 performs thinning in the direction in which the sliding window is moved in the same manner as thinning in the other direction (for example, in the case of FIG. 9, in the x direction, N− 1 pixel is thinned out).

なお、上述のいずれの変形を利用しても、全結合処理部2040で行われる処理は同一である。そのため、FPGA 等のハードウエアで情報処理装置2000を実装する際に、計算機資源を抑えることができる。 It should be noted that the processing performed by the full combination processing unit 2040 is the same regardless of which modification described above is used. Therefore, when implementing the information processing device 2000 with hardware such as FPGA, it is possible to reduce computer resources.

<全結合処理>
全結合処理部2040は、第1ブロック20から複数の第2ブロック30を抽出する。例えば前述したように、全結合処理部2040は、スライディングウインドウを利用して、第1ブロック20から第2ブロック30を抽出する。なお、特徴量抽出部2020が第1ブロック20を第2ブロック30の大きさに基づいて変形した後に特徴量抽出処理を行う場合、全結合処理部2040は、変形後の第1ブロック20から第2ブロック30の抽出を行う。
<Full connection processing>
The full combination processing section 2040 extracts a plurality of second blocks 30 from the first block 20 . For example, as described above, the full connection processing unit 2040 extracts the second block 30 from the first block 20 using a sliding window. Note that when the feature amount extraction unit 2020 performs the feature amount extraction process after transforming the first block 20 based on the size of the second block 30, the full combination processing unit 2040 transforms the transformed first block 20 into the 2 blocks 30 are extracted.

さらに全結合処理部2040は、特徴量抽出部2020によって生成された特徴量情報に含まれる各第2ブロック30の特徴量を利用して、各第2ブロック30について全結合処理を行う。前述したように、全結合処理部2040が行う全結合処理は、CNN の全結合層で行われる処理に相当する。全結合処理を実現する具体的な手法については、目的に応じた既存の手法を利用することができる。なお、全結合処理部2040は、特徴量情報が記憶されている記憶装置から特徴量情報を読み出して利用する。 Furthermore, the full combination processing unit 2040 performs full combination processing for each second block 30 using the feature amount of each second block 30 included in the feature amount information generated by the feature amount extraction unit 2020 . As described above, the fully connected processing performed by the fully connected processing unit 2040 corresponds to the processing performed in the fully connected layer of CNN. As a specific technique for realizing the all-joint processing, an existing technique can be used according to the purpose. Note that the full combination processing unit 2040 reads and uses the feature amount information from the storage device in which the feature amount information is stored.

なお、記憶領域の使用量を削減するため、不要となったデータを記憶装置から適宜削除することが好適である。例えば特徴量抽出部2020が第1ブロック20を変形する場合、情報処理装置2000は、変形後の第1ブロック20を表すデータを、変形後の第1ブロック20を利用した特徴量抽出処理を終えたタイミングで削除することが好適である。また、情報処理装置2000は、全結合処理に用いる特徴量情報を、その特徴量情報を用いた全結合処理を終えたタイミングで削除することが好適である。 In order to reduce the usage of the storage area, it is preferable to appropriately delete unnecessary data from the storage device. For example, when the feature amount extraction unit 2020 transforms the first block 20 , the information processing apparatus 2000 converts the data representing the transformed first block 20 into a feature amount extraction process using the transformed first block 20 . It is preferable to delete at the appropriate timing. Also, the information processing apparatus 2000 preferably deletes the feature amount information used for the all-joint process at the timing when the all-joint process using the feature amount information is finished.

以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。 Although the embodiments of the present invention have been described above with reference to the drawings, these are examples of the present invention, and various configurations other than those described 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-described embodiments can also be described in the following supplementary remarks, but are not limited to the following.
1. Acquiring two-dimensional data, performing processing of a feature amount extraction layer of a Convolutional Neural Network (CNN) for a first block that is a data region in the two-dimensional data, and processing each of a plurality of image regions in the first block a feature quantity extraction means for generating feature quantity information indicating the feature quantity of
A plurality of second blocks are extracted from the first blocks, and for each of the second blocks, the feature amount of the second block included in the feature amount information is used to perform fully connected layer processing of the CNN. and a fully coupled processing means for
The information processing device, wherein each of the second blocks included in the first block partially overlaps with at least one other second block.
2. 1. The fully-connected processing means executes the process of the fully-connected layer after the process of generating feature amount information for the first block is completed. The information processing device according to .
3. 1. The processing executed by the feature extraction means includes CNN convolution layer processing and pooling layer processing. or 2. The information processing device according to .
4. The feature amount extracting means 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 amount information for the first block after the deformation. do,
1. The full combination processing means extracts the second block from the modified first block. to 3. The information processing device according to any one of the above.
5. The fully connected processing means moves a sliding window having the same size as that of the second block within the first block after deformation, and extracts a data region within the sliding window as the second block, thereby performing the deformation. extracting a plurality of said second blocks from a subsequent first block;
4. The direction in which the sliding window is moved is different from the first direction; The information processing device according to .
6. 1. The feature quantity extraction means and the all-connection processing means are implemented by hardware circuits. to 5. The information processing device according to any one of the above.
7. 5. The hardware circuit is an FPGA (Field-Programmable Gate Array); The information processing device according to .
8. The feature quantity extraction means stores the feature quantity information in a storage device incorporated in the FPGA,
7. The fully-connected processing means reads the feature amount information from the storage device and executes processing of the fully-connected layer; The information processing device 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, comprising:
Acquiring two-dimensional data, performing processing of a feature amount extraction layer of a Convolutional Neural Network (CNN) for a first block that is a data region in the two-dimensional data, and processing each of a plurality of image regions in the first block a feature amount extraction step of generating feature amount information indicating the feature amount of
A plurality of second blocks are extracted from the first blocks, and for each of the second blocks, the feature amount of the second block included in the feature amount information is used to perform fully connected layer processing of the CNN. and a fully coupled processing step for
The control method, wherein each of the second blocks included in the first block partially overlaps with at least one other second block.
10. 9. In the fully connected processing step, after the processing of generating feature amount information for the first block is completed, the processing of the fully connected layer is executed; The control method described in .
11. 9. The processing executed in the feature quantity extraction step includes processing of a convolution layer and processing of a pooling layer of CNN; or 10. The control method described in .
12. In the feature amount extraction step, the first block is deformed so that the size in the first direction is the same as the size of the second block, and the feature amount information is generated for the deformed first block. do,
8. extracting the second block from the first block after the deformation in the full connection processing step; 11. A control method according to any one of the preceding claims.
13. In the full connection processing step, a sliding window having the same size as that of the second block is moved within the first block after deformation, and a data region within the sliding window is extracted as the second block, thereby performing the deformation. extracting a plurality of said second blocks from a subsequent first block;
12. The direction in which the sliding window is moved is different from the first direction. The 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-dimensional data 20 first block 30 second block 40 feature amount information 60 vehicle 70 camera 1000 computer 1020 bus 1040 processor 1060 memory 1080 storage device 1100 input/output interface 2000 information processing device 2020 feature amount extraction section 2040 fully coupled processing section

Claims (9)

二次元データを取得し、前記二次元データ内のデータ領域である第1ブロックについて Convolutional Neural Network(CNN)の特徴量抽出層の処理を実行して、前記第1ブロック内の複数の画像領域それぞれの特徴量を示す特徴量情報を生成する特徴量抽出手段と、
前記第1ブロックの中から複数の第2ブロックを抽出し、各前記第2ブロックについて、前記特徴量情報に含まれるその第2ブロックの特徴量を用いて、CNN の全結合層の処理を実行する全結合処理手段と、を有し、
前記特徴量抽出手段は、第1の方向における大きさが前記第2ブロックの大きさの整数倍になるように前記第1ブロックを変形し、前記変形後の第1ブロックについて前記特徴量情報の生成を行い、
前記全結合処理手段は、前記変形後の第1ブロックから前記第2ブロックを抽出し、
前記第1ブロックに含まれる各前記第2ブロックは、少なくとも1つの他の第2ブロックとその一部のデータ領域が前記第1の方向とは異なる第2の方向の端部で重複している、情報処理装置。
Acquiring two-dimensional data, performing processing of a feature amount extraction layer of a Convolutional Neural Network (CNN) for a first block that is a data region in the two-dimensional data, and processing each of a plurality of image regions in the first block A feature quantity extraction means for generating feature quantity information indicating the feature quantity of
A plurality of second blocks are extracted from the first blocks, and for each of the second blocks, the feature amount of the second block included in the feature amount information is used to perform fully connected layer processing of the CNN. and a fully coupled processing means for
The feature amount extraction means deforms the first block so that the size in the first direction is an integral multiple of the size of the second block, and extracts the feature amount information for the first block after the deformation. generate,
The full combination processing means extracts the second block from the deformed first block,
Each of the second blocks included in the first block overlaps at least one other second block with a partial data area thereof at an end in a second direction different from the first direction . , information processing equipment.
前記全結合処理手段は、前記第1ブロックについて特徴量情報を生成する処理が完了した後に、前記全結合層の処理を実行する、請求項1に記載の情報処理装置。 2. The information processing apparatus according to claim 1, wherein said fully-connected processing means executes processing of said fully-connected layer after completion of processing for generating feature amount information for said first block. 前記特徴量抽出手段が実行する処理は、CNN の畳み込み層の処理及びプーリング層の処理を含む、請求項1又は2に記載の情報処理装置。 3. The information processing apparatus according to claim 1, wherein the processing executed by said feature extraction means includes processing of a convolution layer and processing of a pooling layer of CNN. 前記全結合処理手段は、前記第2ブロックと同じサイズのスライディングウインドウを前記変形後の第1ブロック内で移動させ、前記スライディングウインドウ内のデータ領域を前記第2ブロックとして抽出することで、前記変形後の第1ブロックから複数の前記第2ブロックを抽出し、
前記スライディングウインドウを移動させる方向は、前記第1の方向とは異なる方向である、請求項1乃至3のいずれか一項に記載の情報処理装置。
The fully connected processing means moves a sliding window having the same size as that of the second block within the first block after deformation, and extracts a data region within the sliding window as the second block, thereby performing the deformation. extracting a plurality of said second blocks from a subsequent first block;
4. The information processing apparatus according to claim 1 , wherein a direction in which said sliding window is moved is a direction different from said first direction.
前記特徴量抽出手段と前記全結合処理手段はハードウエア回路で実装される、請求項1乃至いずれか一項に記載の情報処理装置。 5. The information processing apparatus according to any one of claims 1 to 4 , wherein said feature extraction means and said fully connected processing means are implemented by hardware circuits. 前記ハードウエア回路は FPGA(Field-Programmable Gate Array)である、請求項に記載の情報処理装置。 6. The information processing apparatus according to claim 5 , wherein said hardware circuit is an FPGA (Field-Programmable Gate Array). 前記特徴量抽出手段は、前記特徴量情報を前記 FPGA に内蔵された記憶装置に記憶させ、
前記全結合処理手段は、前記記憶装置から前記特徴量情報を読み出して、前記全結合層の処理を実行する、請求項に記載の情報処理装置。
The feature quantity extraction means stores the feature quantity information in a storage device incorporated in the FPGA,
7. The information processing apparatus according to claim 6 , wherein said fully-connected processing means reads said feature amount information from said storage device and executes processing of said fully-connected layer.
コンピュータによって実行される制御方法であって、
二次元データを取得し、前記二次元データ内のデータ領域である第1ブロックについて Convolutional Neural Network(CNN)の特徴量抽出層の処理を実行して、前記第1ブロック内の複数の画像領域それぞれの特徴量を示す特徴量情報を生成する特徴量抽出ステップと、
前記第1ブロックの中から複数の第2ブロックを抽出し、各前記第2ブロックについて、前記特徴量情報に含まれるその第2ブロックの特徴量を用いて、CNN の全結合層の処理を実行する全結合処理ステップと、を有し、
特徴量抽出ステップでは、第1の方向における大きさが前記第2ブロックの大きさの整数倍になるように前記第1ブロックを変形し、前記変形後の第1ブロックについて前記特徴量情報の生成を行い、
前記全結合処理ステップでは、前記変形後の第1ブロックから前記第2ブロックを抽出し、
前記第1ブロックに含まれる各前記第2ブロックは、少なくとも1つの他の第2ブロックとその一部のデータ領域が前記第1の方向とは異なる第2の方向の端部で重複している、制御方法。
A control method implemented by a computer, comprising:
Acquiring two-dimensional data, performing processing of a feature amount extraction layer of a Convolutional Neural Network (CNN) for a first block that is a data region in the two-dimensional data, and processing each of a plurality of image regions in the first block a feature amount extraction step of generating feature amount information indicating the feature amount of
A plurality of second blocks are extracted from the first blocks, and for each of the second blocks, the feature amount of the second block included in the feature amount information is used to perform fully connected layer processing of the CNN. and a fully coupled processing step for
In the feature amount extraction step, the first block is deformed so that the size in the first direction is an integer multiple of the size of the second block, and the feature amount information is generated for the first block after the deformation. and
In the full combination processing step, the second block is extracted from the deformed first block,
Each of the second blocks included in the first block overlaps at least one other second block with a partial data area thereof at an end in a second direction different from the first direction . , control method.
請求項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。 A program that causes a computer to execute each step of the control method according to claim 8 .
JP2018004709A 2018-01-16 2018-01-16 Information processing device, control method, and program Active JP7107544B2 (en)

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 JP2019125128A (en) 2019-07-25
JP7107544B2 true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113159143B (en) * 2021-04-06 2022-06-07 中国人民解放军国防科技大学 Infrared and visible light image fusion method and device based on skip connection convolution layer

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 オムロン株式会社 Saliency information acquisition apparatus and saliency 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 identification method, object identification device, and classifier training method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1145310A (en) * 1997-07-25 1999-02-16 Casio Comput Co Ltd Character recognition device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 オムロン株式会社 Saliency information acquisition apparatus and saliency 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 identification method, object identification device, and classifier training method

Also Published As

Publication number Publication date
JP2019125128A (en) 2019-07-25

Similar Documents

Publication Publication Date Title
JP6843086B2 (en) Image processing systems, methods for performing multi-label semantic edge detection in images, and non-temporary computer-readable storage media
CN108596184B (en) Training method of image semantic segmentation model, readable storage medium and electronic device
CN109284670B (en) A pedestrian detection method and device based on multi-scale attention mechanism
CN108875540B (en) Image processing method, device and system, and storage medium
CN108520247A (en) To the recognition methods of the Object node in image, device, terminal and readable medium
CN108734711A (en) The method that semantic segmentation is carried out to image
EP4024270A1 (en) Gesture recognition method, electronic device, computer-readable storage medium, and chip
US20240428381A1 (en) Image processing method and apparatus
US20180181796A1 (en) Image processing method and apparatus
CN111260037B (en) Convolution operation method, device, electronic equipment and storage medium for image data
Hmida et al. Hardware implementation and validation of a traffic road sign detection and identification system
EP4632664A1 (en) Image processing method and apparatus, and device and medium
CN109033955A (en) A kind of face tracking method and system
CN111292335A (en) Method and device for determining foreground mask feature map and electronic equipment
CN113362227A (en) Image processing method, image processing device, electronic equipment and storage medium
CN114758145A (en) Image desensitization method and device, electronic equipment and storage medium
Dürre et al. A HOG-based real-time and multi-scale pedestrian detector demonstration system on FPGA
CN114581657A (en) Image semantic segmentation method, device and medium based on multi-scale strip hole convolution
WO2022033088A1 (en) Image processing method, apparatus, electronic device, and computer-readable medium
CN111951260B (en) Partial feature fusion based convolutional neural network real-time target counting system and method
CN113869225A (en) A face detection method, device and electronic device
JP7107544B2 (en) Information processing device, control method, and program
CN120217168B (en) Space-time nuclear density visualization method, system, terminal and readable storage medium based on module compression
CN113569838A (en) Text recognition method and device based on text detection algorithm
WO2024260264A1 (en) Image processing method and apparatus, device, storage medium, and program product

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