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

Information processing device, control method and program Download PDF

Info

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
Application number
JP2018004709A
Other languages
Japanese (ja)
Other versions
JP7107544B2 (en
Inventor
剛 早川
Takeshi Hayakawa
剛 早川
栗田 裕二
Yuji Kurita
裕二 栗田
純一 気屋村
Junichi Kiyamura
純一 気屋村
安利 深谷
Yasutoshi Fukaya
安利 深谷
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)

Abstract

To speed-up an analysis process that utilizes a neural network.SOLUTION: An information processing device obtains two-dimensional data. The information processing device executes a feature quantity extracting process on a first block 20 within the obtained two-dimensional data, and creates feature quantity information for the first block 20. The information processing device extracts multiple second blocks 30 from the first block 20. The information processing device executes, for each second block 30, a totally coupling process using the feature quantity of this second block 30 contained in the feature quantity information. Each second block 30 has an overlapping data region with at least one other second block 30.SELECTED DRAWING: Figure 1

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, Patent Documents 1 and 2. Patent Literatures 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 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.

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

以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。   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の動作の詳細やバリエーションについては後述する。
Embodiment 1
<Overview>
1 and 2 are diagrams for explaining an outline 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 the 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 the information processing apparatus 2000. The information processing apparatus 2000 handles two-dimensional data (matrix data) 10. For example, two-dimensional data 10 is image data. The image data is matrix data indicating the value of the pixel in association with the position of the pixel (combination of the x coordinate and the y coordinate).

第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 a part or the whole of the two-dimensional data 10. That is, the size of the first block 20 is equal to or less than the size of the two-dimensional data 10. The second block 30 is a part of the 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, a plurality of second blocks 30 whose positions are different from each other can be extracted from the first block 20. When the two-dimensional data 10 is image data, the first block 20 is an image area of a part or the whole of the two-dimensional data 10, and the second block 30 is an image area of a part in 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 apparatus 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, while moving the sliding window having the same size as the second block 30 in the first block 20, the information processing apparatus 2000 extracts the data area in the sliding window at each position as the second block 30. The amount of displacement of the sliding window is smaller than the size of the second block 30 in the displacement direction (e.g., the lateral width of the second block 30 if the displacement direction is the lateral direction).

例えば二次元データ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 may be a process of determining whether the second block 30 includes an object such as a person or a thing, the second block 30 is an image analysis process such as a process of specifying an object included in the H.30.

概念的には、情報処理装置2000は、多層で構成されたニューラルネットワークを用いて解析処理を行う。なお、ここでいう解析処理には、ニューラルネットワークを学習させるためにトレーニングデータを解析する処理と、学習済みのニューラルネットワークを利用して新たなデータを解析する処理の双方が含まれる。情報処理装置2000が利用するニューラルネットワークは、少なくとも、特徴量抽出層と全結合層を有する。この特徴量抽出層と全結合層で行われる処理はそれぞれ、ニューラルネットワークの一形態である CNN の特徴量抽出層と全結合層で行われる処理に相当する(非特許文献1参照)。特徴量抽出層では、入力された二次元データから特徴量を抽出する処理(以下、特徴量抽出処理)が行われる。全結合層では、特徴量抽出層からの出力を用いた判定や分類等の解析処理(以下、全結合処理)が行われる。例えば二次元データ10が画像データである場合、全結合層では、特徴量抽出処理で抽出された特徴量を用いて、第2ブロック30に所定のオブジェクトが含まれているか否かを判定する処理や、第2ブロック30に含まれているオブジェクトの種類を特定(分類)する処理などが行われる。   Conceptually, the information processing apparatus 2000 performs analysis processing using a neural network configured in multiple layers. The analysis processing referred to here includes both processing of analyzing training data to learn a neural network, and processing of analyzing new data using a learned neural network. The neural network used by the information processing apparatus 2000 has at least a feature quantity extraction layer and a total connection layer. The processes performed in the feature quantity extraction layer and the total connection layer respectively correspond to the processes performed in the feature quantity extraction layer and the total connection layer of CNN, which is a form of neural network (see Non-Patent Document 1). In the feature amount extraction layer, processing of extracting a feature amount from the input two-dimensional data (hereinafter, feature amount extraction processing) is performed. In all the combined layers, analysis processing such as determination and classification using the output from the feature amount extraction layer (hereinafter, all combined processing) is performed. For example, when the two-dimensional data 10 is image data, processing to determine whether or not a predetermined object is included in the second block 30 using the feature amounts extracted in the feature amount extraction processing in all the combined layers Also, processing for specifying (classifying) the type of object 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, after performing the feature amount extraction process on the first block 20, the information processing apparatus 2000 performs the entire combined layer process on each of the plurality of second blocks 30 included in the first block 20. FIG. 2 is a diagram illustrating the state of analysis processing in the information processing apparatus 2000. First, the information processing apparatus 2000 performs feature amount extraction processing for the first block 20. As a result, information (hereinafter, feature amount information) indicating the feature amounts of each of the plurality of data areas included in the first block 20 is generated. The feature amount information includes the feature amounts of 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 three of the second block 30-1 to the second block 30-3. The information processing apparatus 2000 generates feature amount information 40 by the feature amount extraction process targeting 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 performs full combination processing on each of the plurality of second blocks 30 included in the first block 20 using the feature amount information 40 generated for the first block 20. In the example of FIG. 2, the information processing apparatus 2000 performs 1) full combination processing on the second block 30-1 using the feature amounts of the second block 30-1 included in the feature amount information 40. ) Using the feature amounts of the second block 30-2 included in the feature amount information 40, all combination processing is performed on the second block 30-2, and 3) the second block 30-included in the feature amount information 40 The entire combination process for the second block 30-3 is performed using the feature amounts of three.

<作用・効果>
既存の 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 information processing apparatus 2000 will be described in comparison with the existing CNN. In the existing CNN, feature value extraction processing is performed for each data area that is the target of full join processing. FIG. 3 illustrates the processing of the first block 20 of FIG. 2 with the existing CNN. In FIG. 3, feature amount extraction processing is individually performed for the second block 30-1, the second block 30-2, and the second block 30-3. Then, using the feature quantities extracted from the second block 30-1, the feature quantities extracted from the second block 30-2, and the feature quantities extracted from the second block 30-3, the second block 30 is used. The entire combination process for -1, the second block 30-2 and the second block 30-3 is performed respectively.

ここで前述したように、第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 second block 30 partially overlaps with the other second blocks 30. For example, in FIG. 2 and FIG. 3, a part of the second block 30-1 and a part of the second block 30-2 overlap each other. Therefore, when the feature amount extraction process is individually performed for the second block 30-1 and the second block 30-2, the feature amount extraction process is performed multiple times (two times in FIG. 3) for these overlapping parts. It will be. Similarly, also for the second block 30-2 and the second block 30-3, the feature amount extraction process is executed multiple times for the overlapping portion. As described above, in the existing CNN, the feature amount is extracted a plurality of times for the same data area, so processing is wasted.

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

以下、本実施形態の情報処理装置2000についてさらに詳細に説明する。   Hereinafter, the information processing apparatus 2000 according to the present embodiment will be described in more detail.

<情報処理装置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 Apparatus 2000>
FIG. 4 is a diagram illustrating the functional configuration of the information processing apparatus 2000 of the first embodiment. The information processing apparatus 2000 includes a feature extraction unit 2020 and an all combination processing unit 2040. The feature amount extraction unit 2020 acquires two-dimensional data 10. The feature quantity extraction unit 2020 executes feature quantity extraction processing for the first block 20 in the acquired two-dimensional data 10, and generates feature quantity information 40 for the first block 20. As described above, the feature amount information 40 includes information on the 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 all combination processing unit 2040 executes all 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 overlaps a portion of the data area with at least one other second block 30.

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

図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. The computer 1000 is an arbitrary computer. For example, the computer 1000 is a personal computer (PC) or a server machine. The computer 1000 may also be an embedded system. The computer 1000 may be a dedicated computer designed to realize the information processing apparatus 2000, or may be a general-purpose computer.

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

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

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

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

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

<情報処理装置2000の利用例>
情報処理装置2000の理解を容易にするため、情報処理装置2000の利用環境を例示する。図6は、情報処理装置2000の利用環境を例示する図である。図6では、車両60にカメラ70及び情報処理装置2000が設けられている。ただし情報処理装置2000は、必ずしも車両60に常設される据え置き型の計算機として実現される必要は無く、車両60から取り外し可能な可搬型の計算機として実現されてもよい。
<Example of Use of Information Processing Device 2000>
In order to facilitate understanding of the information processing apparatus 2000, a usage environment of the information processing apparatus 2000 is illustrated. FIG. 6 is a diagram illustrating a use environment of the information processing apparatus 2000. In FIG. 6, the 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 realized as a stationary computer always installed in the vehicle 60, and may be realized as a portable computer that can be removed from the vehicle 60.

情報処理装置2000は、カメラ70によって生成される画像データを二次元データ10として取得し、その画像データについて画像解析を行う。例えば情報処理装置2000は、車両の周囲の環境を構成する種々の情報を得るために利用される。具体的には、標識、信号、看板、建物、歩行者、又は他の車両などを認識するために利用される。   The information processing apparatus 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 pieces of information constituting the environment around the vehicle. Specifically, it is used to recognize signs, signals, signs, 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 frame) constituting the video generated by the camera 70. That is, it is necessary to analyze each image data in a short time. In this regard, as described above, according to the information processing apparatus 2000 of the present embodiment, it is possible to reduce the time required for analysis of two-dimensional data. Therefore, the information processing apparatus 2000 is particularly suitable in an environment where it is necessary to analyze two-dimensional data in a short time, as in the use environment shown in FIG.

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

<処理の流れ>
図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 information processing apparatus 2000 of the first embodiment. The information processing apparatus 2000 acquires two-dimensional data 10 (S102). The 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. In S104, 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 a first block i. When the loop process A has already been executed for all the first blocks 20 to be processed, the process of the information processing apparatus 2000 ends.

特徴量抽出部2020は、第1ブロックiについて特徴抽出処理を行う(S106)。   The feature quantity 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に進む。   The 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 all-coupling 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. When 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 all combination processing unit 2040 performs all combination processing on 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 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 information processing apparatus 2000 is not limited to the flow shown in FIG. For example, in the case where the entire two-dimensional data 10 is treated as the first block 20, it is not necessary to perform S106 to S112 as loop processing. In addition, for example, the information processing apparatus 2000 may process all combination processing in parallel or in parallel for a plurality of second blocks 30 included in the same first block 20. In addition, the existing technique can be utilized for the specific method which implement | achieves parallel processing and parallel processing. For example, it can be considered that the processor 1040 constituting the information processing device 2000 is a multi-core processor, or the information processing device 2000 is provided with a plurality of processors 1040. Further, the information processing apparatus 2000 may be realized by a plurality of computers. Similarly, a series of processes for the plurality of 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 is various. For example, the information processing apparatus 2000 periodically executes the series of processes in FIG. 7. In addition, for example, the information processing apparatus 2000 may be configured to execute the process of S104 and later 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を生成する装置はカメラである。
<Obtaining of two-dimensional data 10: S102>
The feature quantity extraction unit 2020 acquires two-dimensional data 10 (S102). Here, there are various methods by which the information processing apparatus 2000 acquires the two-dimensional data 10. For example, the feature quantity extraction unit 2020 acquires two-dimensional data 10 from an apparatus that generates two-dimensional data 10. For example, when the two-dimensional data 10 is image data, an apparatus for generating the two-dimensional data 10 is a camera.

その他にも例えば、特徴量抽出部2020は、二次元データ10が記憶されている記憶装置から二次元データ10を取得してもよい。その他にも例えば、特徴量抽出部2020は、他の装置によって送信される二次元データ10を受信することで、二次元データ10を取得してもよい。   Besides, for example, the feature quantity extraction unit 2020 may acquire the two-dimensional data 10 from the storage device in which the two-dimensional data 10 is stored. Besides, for example, the feature quantity extraction unit 2020 may acquire the two-dimensional data 10 by receiving the two-dimensional data 10 transmitted by 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を抽出する。
<About the first block 20>
When the first block 20 is the whole of the two-dimensional data 10, the feature quantity extraction unit 2020 processes the whole of the two-dimensional data 10 as the first block 20. On the other hand, when the first block 20 is a 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 quantity extraction unit 2020 acquires information defining the first block 20 (information defining the position and size of the first block 20 in the two-dimensional data 10), and extracts the first block 20 based on the information Do.

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

<特徴量抽出処理>
特徴量抽出部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 feature extraction unit 2020 performs feature extraction processing on the first block 20. As described above, the feature quantity extraction process performed by the feature quantity extraction unit 2020 corresponds to the process executed by the feature quantity extraction layer in CNN. Specifically, the feature quantity extraction unit 2020 performs the process of the convolution layer in CNN on the first block 20. That is, the feature quantity extraction unit 2020 extracts a feature quantity from each of a plurality of data areas included in the first block 20 by convoluting a filter used for feature quantity extraction in the first block 20, and feature quantity information Generate 40 For example, as a filter, an edge detection filter for detecting an edge can be used. The filter to be convoluted to the first block 20 is stored in advance in a storage device (for example, storage device 1080) accessible from the feature extraction unit 2020.

また、特徴量抽出処理では、畳み込み層の処理に加え、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 feature amount information 40 obtained in the convolutional layer. For example, the size of the feature amount information 40 can be reduced by performing processing of replacing a plurality of feature amounts in each of the plurality of regions of the feature amount information 40 with one representative value. In addition, the existing technique can be utilized about the specific process performed in a 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). When the information processing apparatus 2000 is configured as an FPGA, it is preferable that the feature extraction unit 2020 store the feature information in a storage device incorporated in 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の縦幅と同一になるように変形している。
<< Modification of first block 20 >>
Here, the feature quantity extraction unit 2020 deforms the first block 20 based on the size of the second block 30 before performing the feature quantity extraction process, and performs the feature quantity extraction process on the first block 20 after the transformation. It is also good. FIG. 8 is a view illustrating how the first block 20 is deformed in accordance with the size of the second block 30. As shown in FIG. For example, the feature quantity 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, 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. That is, the vertical width of the first block 20 is modified 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を抽出できるようになる。   Thereafter, the feature quantity extraction unit 2020 links the plurality of data areas obtained by the above 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. Thus, when extracting the second block 30 from the first block 20 using the sliding window, the all-join processing unit 2040 only moves the sliding window in one direction (the x direction in FIG. 8). The second block 30 can be extracted from the entire one block 20.

なお、第1ブロック20を分割する方向(例えば図8における y 軸方向)において、第1ブロック20の大きさが第2ブロック30の大きさの整数倍にならないこともある。この場合、例えば特徴量抽出部2020は、第1ブロック20の分割方向における末端(図8の例では最も下)のデータ領域についてゼロパディング等の手法を適用することで、第1ブロック20の分割方向において、第1ブロック20の大きさが第2ブロック30の大きさの整数倍になるように調整する。   The size of the first block 20 may not be an integral multiple of the size of the second block 30 in the direction in which the first block 20 is divided (for example, the y-axis direction in FIG. 8). In this case, for example, the feature extraction unit 2020 divides the first block 20 by applying a method such as zero padding to a data area at the end (the lowermost in the example of FIG. 8) in the division direction of the first block 20. In the 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, based on the size of the first block 20 and the size of the second block 30, the feature amount extraction unit 2020 may thin the pixels of the first block 20 according to a predetermined rule. 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 extraction unit 2020 thins out N-1 pixels for each of the N consecutive pixels in the y direction. Thereby, the size of the first block 20 becomes the same as the size of the second block 30 in the y direction. The feature quantity 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 in the direction of moving the sliding window (the x direction in FIG. 9). However, the feature quantity extraction unit 2020 may also thin pixels in the direction in which the sliding window is moved. For example, the feature 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. Thin out one pixel).

なお、上述のいずれの変形を利用しても、全結合処理部2040で行われる処理は同一である。そのため、FPGA 等のハードウエアで情報処理装置2000を実装する際に、計算機資源を抑えることができる。   Note that the processing performed by the all-coupling processing unit 2040 is the same regardless of which of the above modifications is used. Therefore, when the information processing apparatus 2000 is implemented by hardware such as an FPGA, computer resources can be suppressed.

<全結合処理>
全結合処理部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 combination processing unit 2040 extracts the plurality of second blocks 30 from the first block 20. For example, as described above, the full combination processing unit 2040 extracts the second block 30 from the first block 20 using the sliding window. When the feature quantity extraction unit 2020 performs the feature quantity extraction process after the feature quantity extraction unit 2020 deforms the first block 20 based on the size of the second block 30, the all combination processing unit 2040 2. Extract two blocks 30.

さらに全結合処理部2040は、特徴量抽出部2020によって生成された特徴量情報に含まれる各第2ブロック30の特徴量を利用して、各第2ブロック30について全結合処理を行う。前述したように、全結合処理部2040が行う全結合処理は、CNN の全結合層で行われる処理に相当する。全結合処理を実現する具体的な手法については、目的に応じた既存の手法を利用することができる。なお、全結合処理部2040は、特徴量情報が記憶されている記憶装置から特徴量情報を読み出して利用する。   Furthermore, the all combination processing unit 2040 performs all combination processing on each second block 30 using the feature amounts of each second block 30 included in the feature amount information generated by the feature amount extraction unit 2020. As described above, the total bonding processing performed by the total bonding processor 2040 corresponds to the processing performed in the total bonding layer of CNN. As a specific method for realizing the full combination processing, an existing method according to the purpose can be used. The all 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 amount of use of the storage area, it is preferable to appropriately delete unnecessary data from the storage device. For example, when the feature quantity extraction unit 2020 deforms the first block 20, the information processing apparatus 2000 finishes the feature quantity extraction process using data representing the first block 20 after deformation using the first block 20 after deformation. It is preferable to delete at the right timing. Further, it is preferable that the information processing apparatus 2000 delete the feature amount information used for the all combination process at the timing when the all combination 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 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 claim 1.
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 claim 1.
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 claim 1.
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 claim 1.
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 claim 1.

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-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 unit 2040 total combination processing unit

Claims (10)

二次元データを取得し、前記二次元データ内のデータ領域である第1ブロックについて Convolutional Neural Network(CNN)の特徴量抽出層の処理を実行して、前記第1ブロック内の複数の画像領域それぞれの特徴量を示す特徴量情報を生成する特徴量抽出手段と、
前記第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ブロックについて特徴量情報を生成する処理が完了した後に、前記全結合層の処理を実行する、請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the all combination processing unit executes the process of the all combination layer after the process of generating the feature amount information for the first block is completed. 前記特徴量抽出手段が実行する処理は、CNN の畳み込み層の処理及びプーリング層の処理を含む、請求項1又は2に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the processing performed by the feature quantity extraction unit includes processing of a convolution layer of CNN and processing of a pooling layer. 前記特徴量抽出手段は、第1の方向における大きさが前記第2ブロックの大きさと同じになるように前記第1ブロックを変形し、前記変形後の第1ブロックについて前記特徴量情報の生成を行い、
前記全結合処理手段は、前記変形後の第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.
前記全結合処理手段は、前記第2ブロックと同じサイズのスライディングウインドウを前記変形後の第1ブロック内で移動させ、前記スライディングウインドウ内のデータ領域を前記第2ブロックとして抽出することで、前記変形後の第1ブロックから複数の前記第2ブロックを抽出し、
前記スライディングウインドウを移動させる方向は、前記第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.
前記特徴量抽出手段と前記全結合処理手段はハードウエア回路で実装される、請求項1乃至5いずれか一項に記載の情報処理装置。   The information processing apparatus according to any one of claims 1 to 5, wherein the feature amount extraction unit and the all connection processing unit are implemented by a hardware circuit. 前記ハードウエア回路は FPGA(Field-Programmable Gate Array)である、請求項6に記載の情報処理装置。   The information processing apparatus according to claim 6, wherein the hardware circuit is an FPGA (Field-Programmable Gate Array). 前記特徴量抽出手段は、前記特徴量情報を前記 FPGA に内蔵された記憶装置に記憶させ、
前記全結合処理手段は、前記記憶装置から前記特徴量情報を読み出して、前記全結合層の処理を実行する、請求項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.
請求項9に記載の制御方法の各ステップをコンピュータに実行させるプログラム。   A program that causes a computer to execute each step of the control method according to claim 9.
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 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)

* Cited by examiner, † Cited by third party
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)

* 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 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

Patent Citations (6)

* 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 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)

* Cited by examiner, † Cited by third party
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