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
JP7622351B2 - Arithmetic device, arithmetic method, and computer program - Google Patents
[go: Go Back, main page]

JP7622351B2 - Arithmetic device, arithmetic method, and computer program - Google Patents

Arithmetic device, arithmetic method, and computer program Download PDF

Info

Publication number
JP7622351B2
JP7622351B2 JP2020074044A JP2020074044A JP7622351B2 JP 7622351 B2 JP7622351 B2 JP 7622351B2 JP 2020074044 A JP2020074044 A JP 2020074044A JP 2020074044 A JP2020074044 A JP 2020074044A JP 7622351 B2 JP7622351 B2 JP 7622351B2
Authority
JP
Japan
Prior art keywords
layer
convolution
feature map
output
input
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
JP2020074044A
Other languages
Japanese (ja)
Other versions
JP2021170293A (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.)
Nikon Corp
Original Assignee
Nikon Corp
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 Nikon Corp filed Critical Nikon Corp
Priority to JP2020074044A priority Critical patent/JP7622351B2/en
Publication of JP2021170293A publication Critical patent/JP2021170293A/en
Application granted granted Critical
Publication of JP7622351B2 publication Critical patent/JP7622351B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)
  • Image Analysis (AREA)

Description

本開示は、ニューラルネットワークを使用した演算装置、演算方法、およびコンピュータプログラムに関する。 This disclosure relates to a computing device, a computing method, and a computer program that use a neural network.

従来、データの内容に基づく学習の結果に従って認識を行うニューラルネットワークの構成が提案されている(例えば非特許文献1を参照)。 Conventionally, neural network configurations have been proposed that perform recognition according to the results of learning based on the content of data (see, for example, non-patent document 1).

Andrew G. Howard et. al., “MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications,” arXiv:1704.04861, 2017.Andrew G. Howard et. al., “MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications,” arXiv:1704.04861, 2017.

本開示にかかる演算装置は、入力側から出力側に向けて連続して設けられる複数の畳み込み層を有するニューラルネットワークに所定のデータを入力することで所定の処理を実行する演算処理部を有し、複数の畳み込み層のそれぞれは、直前の層から出力されるとともに当該畳み込み層に入力される、チャネル方向および空間方向を含む複数の次元を有する特徴マップの所定範囲に含まれる個々の特徴に対し、チャネル方向および空間方向を含む複数の次元のうち少なくとも1つについて畳み込み層ごとに定められたダイレートサイズの異なるカーネルを用いた畳み込み演算を実行する。 The arithmetic device according to the present disclosure has an arithmetic processing unit that executes a predetermined process by inputting predetermined data to a neural network having a plurality of convolution layers arranged in succession from the input side to the output side, and each of the plurality of convolution layers executes a convolution operation using a kernel with a different dilate size determined for each convolution layer for at least one of the plurality of dimensions including the channel direction and the spatial direction, for each feature included in a predetermined range of a feature map having a plurality of dimensions including the channel direction and the spatial direction, which is output from the immediately preceding layer and input to the convolution layer.

本開示にかかる演算方法は、コンピュータが、入力側から出力側に向けて連続して設けられる複数の畳み込み層を有するニューラルネットワークに所定のデータを入力することで所定の処理を実行する演算方法であって、複数の畳み込み層のそれぞれは、直前の層から出力されるとともに当該畳み込み層に入力される、チャネル方向および空間方向を含む複数の次元を有する特徴マップの所定範囲に含まれる個々の特徴に対し、チャネル方向および空間方向を含む複数の次元のうち少なくとも1つについて畳み込み層ごとに定められたダイレートサイズの異なるカーネルを用いた畳み込み演算を実行する。 The computation method according to the present disclosure is a computation method in which a computer executes a predetermined process by inputting predetermined data to a neural network having multiple convolution layers arranged in succession from the input side to the output side, and each of the multiple convolution layers executes a convolution computation using a kernel with a different dilate size determined for each convolution layer for at least one of the multiple dimensions including the channel direction and the spatial direction, for each feature included in a predetermined range of a feature map having multiple dimensions including the channel direction and the spatial direction, which is output from the immediately preceding layer and input to the convolution layer.

本開示にかかるコンピュータプログラムは、コンピュータに、入力側から出力側に向けて連続して設けられる複数の畳み込み層を有するニューラルネットワークに所定のデータを入力することで所定の処理を実行させるコンピュータプログラムであって、複数の畳み込み層のそれぞれは、直前の層から出力されるとともに当該畳み込み層に入力される、チャネル方向および空間方向を含む複数の次元を有する特徴マップの所定範囲に含まれる個々の特徴に対し、チャネル方向および空間方向を含む複数の次元のうち少なくとも1つについて畳み込み層ごとに定められたダイレートサイズの異なるカーネルを用いた畳み込み演算を実行する。 The computer program disclosed herein is a computer program that causes a computer to execute a predetermined process by inputting predetermined data to a neural network having multiple convolutional layers arranged in succession from the input side to the output side, and each of the multiple convolutional layers executes a convolution operation using a kernel with a different dilate size determined for each convolutional layer for at least one of the multiple dimensions including the channel direction and the spatial direction, for each feature included in a predetermined range of a feature map having multiple dimensions including the channel direction and the spatial direction, which is output from the immediately preceding layer and input to the convolutional layer.

コンピュータの概略構成を示す模式図である。FIG. 1 is a schematic diagram showing a schematic configuration of a computer. プロセッサの機能ブロック図である。FIG. 2 is a functional block diagram of a processor. ニューラルネットワークの構造を示す模式図である。FIG. 1 is a schematic diagram showing the structure of a neural network. 特徴マップの構造の例を示す模式図である。FIG. 2 is a schematic diagram showing an example of a structure of a feature map. (a)はダイレートサイズが1のカーネルの構造の例を示す模式図であり、(b)はダイレートサイズが2のカーネルの構造の例を示す模式図であり、(c)はダイレートサイズが4のカーネルの構造の例を示す模式図である。1A is a schematic diagram showing an example of the structure of a kernel having a dilate size of 1; FIG. 1B is a schematic diagram showing an example of the structure of a kernel having a dilate size of 2; and FIG. 1C is a schematic diagram showing an example of the structure of a kernel having a dilate size of 4. 演算処理部の処理フローチャートである。13 is a processing flowchart of a calculation processing unit. ニューラルネットワークの異なる構造を示す模式図である。1A-1C are schematic diagrams showing different structures of neural networks. ニューラルネットワークのさらに異なる構造を示す模式図である。FIG. 13 is a schematic diagram showing yet another different structure of a neural network. ニューラルネットワークのさらに異なる構造を示す模式図である。FIG. 13 is a schematic diagram showing yet another different structure of a neural network. (a)はダイレートサイズが1のカーネルの構造の他の例を示す模式図であり、(b)はダイレートサイズが2のカーネルの構造の他の例を示す模式図であり、(c)はダイレートサイズが4のカーネルの構造の他の例を示す模式図である。1A is a schematic diagram showing another example of the structure of a kernel having a dilate size of 1; FIG. 1B is a schematic diagram showing another example of the structure of a kernel having a dilate size of 2; and FIG. 1C is a schematic diagram showing another example of the structure of a kernel having a dilate size of 4. 一実施形態にかかる演算装置を搭載するカメラの構成を示す模式図である。FIG. 1 is a schematic diagram illustrating a configuration of a camera equipped with a computing device according to an embodiment. 一実施形態にかかる演算装置を搭載するカメラの処理フローチャートである。1 is a process flowchart of a camera equipped with a computing device according to an embodiment. 一実施形態にかかるニューラルネットワークの構造を示す模式図である。FIG. 2 is a schematic diagram showing a structure of a neural network according to an embodiment. ニューラルネットワークを用いた処理の例を説明する模式図である。FIG. 11 is a schematic diagram illustrating an example of processing using a neural network. ニューラルネットワークを用いた処理の他の例を説明する模式図である。FIG. 11 is a schematic diagram illustrating another example of processing using a neural network.

以下、図面を参照して演算装置、演算方法、およびコンピュータプログラムについて詳細に説明する。ただし、本発明は図面または以下に記載される実施形態には限定されないことを理解されたい。 The calculation device, calculation method, and computer program are described in detail below with reference to the drawings. However, it should be understood that the present invention is not limited to the drawings or the embodiments described below.

図1は本開示の一実施形態にかかるコンピュータの概略構成を示す模式図であり、図2はプロセッサの機能ブロック図である。 Figure 1 is a schematic diagram showing the general configuration of a computer according to one embodiment of the present disclosure, and Figure 2 is a functional block diagram of a processor.

本実施形態において、演算装置の一例であるコンピュータ1は、入力された所定のデータをニューラルネットワークに入力することで所定の処理を実行する。そのために、コンピュータ1は、入出力インタフェース11と、メモリ12と、プロセッサ13とを備える。 In this embodiment, a computer 1, which is an example of a computing device, executes a predetermined process by inputting predetermined data into a neural network. To this end, the computer 1 includes an input/output interface 11, a memory 12, and a processor 13.

入出力インタフェース11は、コンピュータ1が処理すべきデータを受け付け、または、コンピュータ1により処理されたデータを出力するためのインタフェース回路を有する。入出力インタフェース11は、例えばコンピュータ1を通信ネットワークに接続するための通信インタフェース回路、またはコンピュータ1をキーボード、ディスプレイといった各種周辺機器と接続するための周辺機器インタフェース回路を含む。入出力インタフェース11は、所定のデータの入力を受け付けて、処理結果を出力する。 The input/output interface 11 has an interface circuit for accepting data to be processed by the computer 1 or for outputting data processed by the computer 1. The input/output interface 11 includes, for example, a communication interface circuit for connecting the computer 1 to a communication network, or a peripheral device interface circuit for connecting the computer 1 to various peripheral devices such as a keyboard and a display. The input/output interface 11 accepts the input of specified data and outputs the processing results.

メモリ12は記憶部の一例であり、例えば、半導体メモリ、磁気ディスク装置および光ディスク装置のうちの少なくとも1つを有する。メモリ12は、プロセッサ13による処理に用いられるドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム、データ等を記憶する。例えば、メモリ12はアプリケーションプログラムとして、本開示の演算処理を実現するためのコンピュータプログラムを記憶する。また、メモリ12はデータとして、ニューラルネットワークを規定するためのパラメータ群(層数、層構成、カーネル、重み係数等)を記憶する。各種プログラムは、コンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いてメモリ12にインストールされてよい。コンピュータ読み取り可能な可搬型記録媒体とは、例えばCD-ROM(Compact Disc Read-Only Memory)、DVD-ROM(DVD Read-Only Memory)等である。 The memory 12 is an example of a storage unit, and includes at least one of a semiconductor memory, a magnetic disk device, and an optical disk device. The memory 12 stores a driver program, an operating system program, an application program, data, and the like used in processing by the processor 13. For example, the memory 12 stores a computer program for implementing the computational processing of the present disclosure as an application program. The memory 12 also stores a set of parameters (number of layers, layer configuration, kernel, weighting coefficient, etc.) for defining a neural network as data. Various programs may be installed into the memory 12 from a computer-readable portable recording medium using a known setup program or the like. Examples of computer-readable portable recording media include a CD-ROM (Compact Disc Read-Only Memory) and a DVD-ROM (DVD Read-Only Memory).

プロセッサ13は、1以上のプロセッサおよびその周辺回路を備える。プロセッサ13は、コンピュータ1の全体的な動作を統括的に制御する処理回路であり、例えば、CPU(Central Processing Unit)である。プロセッサ13は、大量の定型的演算を並列に処理可能なGPU(Graphics Processing Unit)を有してもよい。プロセッサ13は、コンピュータ1の各種処理がメモリ12に記憶されているプログラム等に基づいて適切な手段で実行されるように、入出力インタフェース11等の動作を制御する。プロセッサ13は、メモリ12に記憶されているプログラム(オペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム等)に基づいて処理を実行する。また、プロセッサ13は、複数のプログラム(アプリケーションプログラム等)を並列に実行することができる。 The processor 13 includes one or more processors and their peripheral circuits. The processor 13 is a processing circuit that controls the overall operation of the computer 1, and is, for example, a CPU (Central Processing Unit). The processor 13 may have a GPU (Graphics Processing Unit) that can process a large amount of routine calculations in parallel. The processor 13 controls the operation of the input/output interface 11, etc., so that various processes of the computer 1 are executed by appropriate means based on the programs, etc. stored in the memory 12. The processor 13 executes processes based on the programs (operating system programs, driver programs, application programs, etc.) stored in the memory 12. The processor 13 can also execute multiple programs (application programs, etc.) in parallel.

図2に示すように、プロセッサ13は、ニューラルネットワークNN1による演算を実行するための演算処理部131を有する。演算処理部131は、プロセッサ13が有するプロセッサ上で実行されるプログラムによって実装される機能モジュールである。あるいは、演算処理部131は、独立した集積回路、マイクロプロセッサ、またはファームウェアとしてコンピュータ1に実装されてもよい。 As shown in FIG. 2, the processor 13 has an arithmetic processing unit 131 for executing calculations by the neural network NN1. The arithmetic processing unit 131 is a functional module implemented by a program executed on a processor possessed by the processor 13. Alternatively, the arithmetic processing unit 131 may be implemented in the computer 1 as an independent integrated circuit, microprocessor, or firmware.

演算処理部131は、ニューラルネットワークNN1に所定のデータを入力することで所定の処理を実行する。所定の処理は、例えば画像に表わされる物体の種類および位置を特定する物体検出、画像の画素単位でクラス分類を行う領域分割等である。 The arithmetic processing unit 131 executes a predetermined process by inputting predetermined data to the neural network NN1. The predetermined process is, for example, object detection that identifies the type and position of an object shown in an image, region segmentation that performs class classification on a pixel-by-pixel basis in an image, etc.

ニューラルネットワークNN1は、上流層UL1と、中流層ML1と、下流層DL1とを有する。 The neural network NN1 has an upstream layer UL1, a middle layer ML1, and a downstream layer DL1.

図3はニューラルネットワークNN1の構造を示す模式図であり、図4は特徴マップの構造の例を示す模式図であり、図5はカーネル(またはフィルタ)の構造の例を示す模式図である。 Figure 3 is a schematic diagram showing the structure of neural network NN1, Figure 4 is a schematic diagram showing an example of the structure of a feature map, and Figure 5 is a schematic diagram showing an example of the structure of a kernel (or filter).

ニューラルネットワークNN1は、例えばCNN(Convolutional Neural Network)型のアーキテクチャを有するニューラルネットワークである。ニューラルネットワークNN1は、例えば画像データの入力を受け付けて所定の演算を実行し、画像データに表わされる物体を検出する。ニューラルネットワークNN1は、検出対象となる物体が表わされた複数の画像、および、各画像上における物体の位置、種類等を示す情報を教師データとして用いて、誤差逆伝搬法に従って予め学習される。 The neural network NN1 is, for example, a neural network having a CNN (Convolutional Neural Network) type architecture. The neural network NN1 accepts, for example, image data as input, executes a predetermined calculation, and detects objects shown in the image data. The neural network NN1 is trained in advance according to the backpropagation method using multiple images showing the object to be detected, and information indicating the position, type, etc. of the object in each image as training data.

この場合、ニューラルネットワークNN1は、上流層UL1において入力された画像データに対する畳み込み演算を実行し、画像データの解像度と同じ解像度の特徴マップを出力する。そして、上流層UL1は、その特徴マップに対してプーリング処理を行い、解像度を低下させた特徴マップを生成し、その特徴マップを中流層ML1に出力する。中流層ML1は、複数の畳み込み層により畳み込み演算を実行し、入力された特徴マップの解像度と同じ解像度の特徴マップを出力する。下流層DL1は、入力された特徴マップに対してプーリング処理を行い、解像度を低下させた特徴マップを生成する。最終的に得られた様々な解像度の特徴マップから複数のバウンディングボックスが出力され、複数のバウンディングボックスに対してNMS(Non-Maximum Suppression)処理が行われ、物体が検出される。 In this case, the neural network NN1 performs a convolution operation on the input image data in the upstream layer UL1, and outputs a feature map with the same resolution as the image data. The upstream layer UL1 then performs a pooling process on the feature map, generates a feature map with a reduced resolution, and outputs the feature map to the middle layer ML1. The middle layer ML1 performs a convolution operation using multiple convolution layers, and outputs a feature map with the same resolution as the input feature map. The downstream layer DL1 performs a pooling process on the input feature map, and generates a feature map with a reduced resolution. Multiple bounding boxes are output from the finally obtained feature maps of various resolutions, and NMS (Non-Maximum Suppression) processing is performed on the multiple bounding boxes to detect objects.

ニューラルネットワークNN1は、上述の上流層UL1、中流層ML1、および下流層DL1のさらに下流側に、異なる上流層、中流層、および下流層を有していてもよい。この場合、異なる上流層は下流層DL1を含み、物体検出などの処理を行ってよい。 The neural network NN1 may have a different upstream layer, a middle layer, and a downstream layer further downstream of the above-mentioned upstream layer UL1, middle layer ML1, and downstream layer DL1. In this case, the different upstream layer may include the downstream layer DL1 and perform processing such as object detection.

また、ニューラルネットワークNN1は、セマンティックセグメンテーション用に学習されてもよい。この場合、上流層UL1は、物体検出の場合と同様に入力された画像データの畳み込み演算およびプーリング処理を行って解像度を低下させた特徴マップを生成し、中流層ML1に出力する。中流層ML1は、複数の畳み込み層により畳み込み演算を実行し、入力された特徴マップの解像度と同じ解像度の特徴マップを下流層DL1に出力する。下流層DL1は、上流層UL1と同様、入力された特徴マップに対してプーリング処理を行い、解像度を低下させた特徴マップを生成する。ニューラルネットワークNN1から出力された特徴マップに対して、転置畳み込み演算(transposed convolution)を実行して解像度を上昇させた特徴マップを生成し、画像の各画素を複数のクラスに分類し、セマンティックセグメンテーションが実行される。 The neural network NN1 may also be trained for semantic segmentation. In this case, the upstream layer UL1 performs convolution and pooling on the input image data in the same manner as in the case of object detection to generate a feature map with reduced resolution, and outputs it to the middle layer ML1. The middle layer ML1 performs convolution using multiple convolution layers, and outputs a feature map with the same resolution as the input feature map to the downstream layer DL1. The downstream layer DL1 performs pooling on the input feature map in the same manner as the upstream layer UL1 to generate a feature map with reduced resolution. A transposed convolution is performed on the feature map output from the neural network NN1 to generate a feature map with increased resolution, and each pixel of the image is classified into multiple classes, and semantic segmentation is performed.

上流層UL1は、画像データの入力を受け付ける入力層、入力された画像データの畳み込み演算を実行する1以上の畳み込み層等を有し、複数の次元を有する特徴マップ100を出力する。さらに、上流層UL1はプーリング層を有し、得られた特徴マップの解像度をそのプーリング層により低下させてから中流層ML1に出力してもよい。 The upstream layer UL1 has an input layer that accepts input of image data, one or more convolution layers that perform convolution operations on the input image data, and outputs a feature map 100 having multiple dimensions. Furthermore, the upstream layer UL1 may have a pooling layer, and the resolution of the obtained feature map may be reduced by the pooling layer before being output to the middle layer ML1.

図4は、上流層UL1から出力される特徴マップ100の構造を示している。特徴マップ100は、複数の特徴を複数の次元に配置した構造を有する。特徴マップ100において、複数の特徴はH(高さ)方向およびW(幅)方向を少なくとも有する空間方向に配置され、さらにC(チャネル、深さ)方向に配置される。 Figure 4 shows the structure of the feature map 100 output from the upstream layer UL1. The feature map 100 has a structure in which multiple features are arranged in multiple dimensions. In the feature map 100, the multiple features are arranged in spatial directions that include at least the H (height) direction and the W (width) direction, and are further arranged in the C (channel, depth) direction.

本実施形態において、図3に示すノードは特徴マップ100のチャネルに対応する。すなわち、特徴マップ100は、上流層UL1の最も出力側に位置する最終層L10に含まれるノード数に応じたチャネル数を有する。図3では、説明の簡単化のために、最終層L10に含まれるノードのうちの8個(N101-N108)が図示される。なお、ノード数および畳み込まれる特徴の数は本実施形態に限定されない。 In this embodiment, the nodes shown in FIG. 3 correspond to the channels of the feature map 100. That is, the feature map 100 has a number of channels according to the number of nodes included in the final layer L10, which is located at the most output side of the upstream layer UL1. For the sake of simplicity, FIG. 3 illustrates eight of the nodes (N101-N108) included in the final layer L10. Note that the number of nodes and the number of features to be convolved are not limited to this embodiment.

中流層ML1は、入力側から出力側に向けて連続して設けられる複数の畳み込み層L11-L13を有する。畳み込み層L11-L13は、特徴マップの複数の次元の少なくとも1つについて畳み込み演算を実行する。本実施形態では、畳み込み層L11-L13は、少なくともC方向についての畳み込み演算を実行して演算の結果を出力する。 The middle layer ML1 has multiple convolutional layers L11-L13 arranged in succession from the input side to the output side. The convolutional layers L11-L13 perform a convolutional operation for at least one of the multiple dimensions of the feature map. In this embodiment, the convolutional layers L11-L13 perform a convolutional operation for at least the C direction and output the result of the operation.

複数の畳み込み層のそれぞれは、直前の層から出力されるとともに当該畳み込み層に入力される複数の次元を有する特徴マップの所定範囲に含まれる個々の特徴に対し、畳み込み演算を実行する。すなわち、各畳み込み層は、入力される特徴マップのチャネル数と同数のノードを有し、そのうちN101-N108に対応する8個が図3に示されている。畳み込み層L11に含まれるノードN111-N118は、上流層UL1の最終層L10に含まれるノードN101-N108がそれぞれ出力する特徴と、カーネルの対応する重み係数との積和演算を実行する。それぞれの畳み込み層における畳み込み演算には、複数の次元の少なくとも1つについて畳み込み層ごとに定められたダイレートサイズの異なるカーネルが用いられる。本実施形態では、C方向について、畳み込み層ごとにダイレートサイズの異なるカーネルが用いられる。 Each of the multiple convolution layers performs a convolution operation on individual features included in a predetermined range of a feature map having multiple dimensions that is output from the immediately preceding layer and input to the convolution layer. That is, each convolution layer has the same number of nodes as the number of channels of the input feature map, of which eight corresponding to N101-N108 are shown in FIG. 3. Nodes N111-N118 included in the convolution layer L11 perform a multiply-and-accumulate operation between the features output by nodes N101-N108 included in the final layer L10 of the upstream layer UL1 and the corresponding weighting coefficients of the kernel. For the convolution operation in each convolution layer, a kernel with a different dilate size is used for at least one of the multiple dimensions, which is determined for each convolution layer. In this embodiment, a kernel with a different dilate size is used for each convolution layer for the C direction.

図3において、入力側の層(例えば畳み込み層L11)のノードと出力側の層(例えば畳み込み層L12)のノードとを接続する線は、入力側の層のノードが出力する特徴が出力側の層のノードの演算に用いられる(以下、「結合されている」ともいう)ことを示す。 In FIG. 3, a line connecting a node in an input layer (e.g., convolutional layer L11) to a node in an output layer (e.g., convolutional layer L12) indicates that the features output by the node in the input layer are used in the calculation of the node in the output layer (hereinafter also referred to as "connected").

畳み込み層L11-L13は、特徴マップのC方向について、所定範囲に含まれる個々の特徴に対する畳み込み演算を実行する。図3では、中流層かつ所定の範囲が、2重枠線で示されている。 The convolutional layers L11-L13 perform convolution operations on individual features that fall within a specified range in the C direction of the feature map. In Figure 3, the midstream layer and the specified range are indicated by a double border.

畳み込み層L11に含まれるノードN111-N118は、直前の層である上流層UL1の最終層L10から出力される特徴マップのうちノードN101-N108から出力される個々の特徴に対し、ダイレートサイズが1のカーネルを用いた畳み込み演算を実行する。 Nodes N111-N118 in convolutional layer L11 perform convolution operations using a kernel with a dilate size of 1 on the individual features output from nodes N101-N108 of the feature map output from the final layer L10 of the immediately preceding upstream layer UL1.

図5(a)は、ダイレートサイズが1のカーネルK11の構造の例を示す模式図である。図5(a)-(c)において、各カーネルにおける斜線の施されたマス目は、重み係数が設定されていることを示す。また、各カーネルにおける斜線の施されていないマス目は、重み係数が設定されていない(または重み係数として0が設定されている)ことを示す。すなわち、斜線の施されたマス目に対応する重み係数のみが、畳み込み演算の入力として使用される。図5(a)に示すカーネルK11は、対象ノードに対応する位置に重み係数W112が設定され、対象ノードから距離が1となる位置に重み係数W111、W113が設定されている。 Figure 5(a) is a schematic diagram showing an example of the structure of kernel K11 with a dilate size of 1. In Figures 5(a)-(c), the hatched squares in each kernel indicate that a weighting factor has been set. Also, the unshaded squares in each kernel indicate that no weighting factor has been set (or that 0 has been set as the weighting factor). In other words, only the weighting factor corresponding to the hatched squares is used as the input for the convolution calculation. In kernel K11 shown in Figure 5(a), weighting factor W112 is set at the position corresponding to the target node, and weighting factors W111 and W113 are set at positions that are 1 away from the target node.

直前の層である上流層UL1の最終層L10から出力される特徴マップの所定範囲に含まれる個々の特徴に対し、対象ノードを順次変更して(ストライド=1)カーネルK11を適用することで、畳み込み層L11における畳み込み演算が行われる。例えば、ノードN112は、ノードN101が出力する特徴と重み係数W111との積と、ノードN102が出力する特徴と重み係数W112との積と、ノードN103が出力する特徴と重み係数W113との積とを加算し、出力する。なお、本明細書においてストライドとは、中流層に入力される特徴マップを基準とした、カーネルを適用する位置の間隔をいう。 The convolution calculation in the convolution layer L11 is performed by sequentially changing the target node (stride = 1) and applying the kernel K11 to each feature included in a predetermined range of the feature map output from the final layer L10 of the immediately preceding upstream layer UL1. For example, node N112 adds the product of the feature output by node N101 and the weighting factor W111, the product of the feature output by node N102 and the weighting factor W112, and the product of the feature output by node N103 and the weighting factor W113, and outputs the result. Note that in this specification, the stride refers to the interval between the positions at which the kernel is applied, based on the feature map input to the midstream layer.

畳み込み層L12では図5(b)に示すダイレートサイズが2のカーネルK12を用いた畳み込み演算が実行され、畳み込み層L13では図5(c)に示すダイレートサイズが4のカーネルK13を用いた畳み込み演算が実行される。図5(b)に示すカーネルK12は、対象ノードに対応する位置に重み係数W122が設定され、対象ノードから距離が2となる位置に重み係数W121、W123が設定されている。カーネルK12において、対象ノードから距離が1となる位置には重み係数が設定されていない。図5(c)に示すカーネルK13は、対象ノードに対応する位置に重み係数W132が設定され、対象ノードから距離が4となる位置に重み係数W131、W133が設定されている。カーネルK13において、対象ノードから距離が1、2、3となる位置には重み係数が設定されていない。 In the convolution layer L12, a convolution operation is performed using the kernel K12 with a dilate size of 2 shown in FIG. 5(b), and in the convolution layer L13, a convolution operation is performed using the kernel K13 with a dilate size of 4 shown in FIG. 5(c). In the kernel K12 shown in FIG. 5(b), a weighting factor W122 is set at a position corresponding to the target node, and weighting factors W121 and W123 are set at positions where the distance from the target node is 2. In the kernel K12, a weighting factor is not set at a position where the distance from the target node is 1. In the kernel K13 shown in FIG. 5(c), a weighting factor W132 is set at a position corresponding to the target node, and weighting factors W131 and W133 are set at positions where the distance from the target node is 4. In the kernel K13, a weighting factor is not set at positions where the distance from the target node is 1, 2, or 3.

このように、中流層ML1では、入力側から出力側に向けて連続して設けられる複数の畳み込み層L11-L13によって、畳み込み層ごとにダイレートサイズの異なるカーネルを用いた畳み込み演算が実行される。 In this way, in the middle layer ML1, convolutional calculations are performed using kernels with different dilate sizes for each convolutional layer by multiple convolutional layers L11-L13 arranged consecutively from the input side to the output side.

最も出力側の畳み込み層L13から出力される特徴マップのうち所定範囲に含まれるノードN131-N138から出力される各特徴には、最も入力側の畳み込み層L11に入力された特徴マップのうち所定範囲に含まれる一部の特徴が結合される。一部の特徴とは、畳み込み層L11-L13のそれぞれに用いられるカーネルのダイレートサイズの合計(1+2+4=7)だけ離間した範囲に含まれる特徴である。 Each feature output from nodes N131-N138 falling within a predetermined range of the feature map output from the most output convolutional layer L13 is combined with a portion of features falling within a predetermined range of the feature map input to the most input convolutional layer L11. The portion of features refers to features falling within a range separated by the sum of the dilate sizes of the kernels used in each of the convolutional layers L11-L13 (1+2+4=7).

図3において、例えば畳み込み層L13のノードN135には、畳み込み層L12のノードN121およびノードN125が結合される。 In FIG. 3, for example, node N135 in convolutional layer L13 is connected to nodes N121 and N125 in convolutional layer L12.

畳み込み層L12において、ノードN121には、畳み込み層L11のノードN111およびノードN113が結合される。ノードN125には、畳み込み層L11のノードN113、ノードN114、およびノードN117が結合される。そのため、畳み込み層L13のノードN135には、畳み込み層L12のノードN121およびノードN125を介して、畳み込み層L11のノードN111、N113、N114、N117が結合される。 In convolutional layer L12, node N121 is connected to nodes N111 and N113 of convolutional layer L11. Node N125 is connected to nodes N113, N114, and N117 of convolutional layer L11. Therefore, node N135 of convolutional layer L13 is connected to nodes N111, N113, N114, and N117 of convolutional layer L11 via nodes N121 and N125 of convolutional layer L12.

畳み込み層L11において、ノードN111には、上流層UL1の最終層L10のノードN101およびノードN102が結合される。ノードN113には、上流層UL1の最終層L10のノードN102、ノードN103およびノードN104が結合される。ノードN115には、上流層UL1の最終層L10のノードN104、ノードN105およびノードN106が結合される。ノードN117には、上流層UL1の最終層L10のノードN106、ノードN107およびノードN108が結合される。そのため、畳み込み層L13のノード135には、畳み込み層L12のノードN121およびノードN125および畳み込み層L11のノードN111、N113、N114、N117を介して、上流層UL1の最終層L10のノードN101-N108が結合される。 In the convolutional layer L11, node N111 is connected to node N101 and node N102 in the final layer L10 of the upstream layer UL1. Node N113 is connected to node N102, node N103, and node N104 in the final layer L10 of the upstream layer UL1. Node N115 is connected to node N104, node N105, and node N106 in the final layer L10 of the upstream layer UL1. Node N117 is connected to node N106, node N107, and node N108 in the final layer L10 of the upstream layer UL1. Therefore, node 135 of convolutional layer L13 is connected to nodes N101-N108 of the final layer L10 of the upstream layer UL1 via nodes N121 and N125 of convolutional layer L12 and nodes N111, N113, N114, and N117 of convolutional layer L11.

このように、畳み込み層L13のノードN131-N138から出力される各特徴には、上流層UL1の最終層L10のノードN101-N108から出力されるすべてのC方向の特徴が結合される。 In this way, each feature output from nodes N131-N138 of convolutional layer L13 is combined with all C-direction features output from nodes N101-N108 of the final layer L10 of the upstream layer UL1.

畳み込み層L13から出力された特徴マップは、下流層DL1に入力される。下流層DL1は、最も出力側に、ニューラルネットワークNN1による演算結果を出力する出力層を有する。出力層は、活性化関数としてソフトマックス関数を用いることにより、例えば画像上の着目する領域について検出対象の種類のうち最も確からしい種類を特定できる。また、出力層は、活性化関数としてシグモイド関数を用いることにより、種類ごとに確信度を出力することができる。下流層DL1は、出力層よりも入力側に、転置畳み込み演算を実行する転置畳み込み層、プーリング層などを含んでもよい。 The feature map output from the convolution layer L13 is input to the downstream layer DL1. The downstream layer DL1 has an output layer at the output side that outputs the calculation results of the neural network NN1. By using a softmax function as an activation function, the output layer can identify the most likely type of detection target type for a region of interest on an image, for example. In addition, by using a sigmoid function as an activation function, the output layer can output a confidence level for each type. The downstream layer DL1 may include a transposed convolution layer that performs a transposed convolution calculation, a pooling layer, etc., on the input side of the output layer.

図6は、演算処理部131の処理フローチャートである。演算処理部131は、ニューラルネットワークNN1に所定のデータを入力し、以下の処理を実行する。 Figure 6 is a processing flowchart of the calculation processing unit 131. The calculation processing unit 131 inputs predetermined data to the neural network NN1 and executes the following processing.

まず、演算処理部131は、ニューラルネットワークNN1の上流層UL1に、所定のデータに対する所定の演算を実行させ、特徴マップ100を出力させる(ステップS1)。特徴マップ100は、畳み込み層L11-L13における畳み込み演算の対象となる所定範囲に対応する特徴を含む。 First, the calculation processing unit 131 causes the upstream layer UL1 of the neural network NN1 to execute a predetermined calculation on predetermined data and output a feature map 100 (step S1). The feature map 100 includes features corresponding to a predetermined range that is the target of the convolution calculation in the convolution layers L11-L13.

次に、演算処理部131は、ニューラルネットワークNN1の中流層ML1に含まれる複数の畳み込み層L11-L13のうち、未処理かつ最も入力側の層に畳み込み演算を実行させる(ステップS2)。ステップS2での畳み込み演算では、畳み込み層ごとに予め設定されたダイレートサイズのカーネルが用いられる。本実施形態では、畳み込み層L11においてダイレートサイズ=1、畳み込み層L12においてダイレートサイズ=2、畳み込み層L13においてダイレートサイズ=4のカーネルが用いられる。 Next, the calculation processing unit 131 executes a convolution calculation on the unprocessed layer closest to the input side among the multiple convolution layers L11-L13 included in the middle layer ML1 of the neural network NN1 (step S2). In the convolution calculation in step S2, a kernel with a dilate size preset for each convolution layer is used. In this embodiment, a kernel with a dilate size of 1 is used in the convolution layer L11, a dilate size of 2 is used in the convolution layer L12, and a dilate size of 4 is used in the convolution layer L13.

次に、演算処理部131は、中流層ML1に含まれるすべての畳み込み層L11-L13による畳み込み演算が終了したか否かを判定する(ステップS3)。 Next, the calculation processing unit 131 determines whether the convolution calculations by all convolution layers L11-L13 included in the middle layer ML1 have been completed (step S3).

すべての畳み込み層による畳み込み演算が終了していないと判定された場合(ステップS3:N)、演算処理部131はステップS2の処理を実行する。未処理の畳み込み層には、処理済みの畳み込み層に関連づけられるダイレートサイズとは異なるダイレートサイズが関連づけられている。そのため、このようにステップS2の処理を繰り返し実行することにより、複数の畳み込み層のそれぞれにおいて、ダイレートサイズの異なるカーネルを用いた畳み込み演算が実行されることとなる。 If it is determined that the convolution calculations by all convolution layers have not been completed (step S3: N), the calculation processing unit 131 executes the process of step S2. A dilate size different from the dilate size associated with the processed convolution layer is associated with the unprocessed convolution layer. Therefore, by repeatedly executing the process of step S2 in this manner, convolution calculations using kernels with different dilate sizes are executed in each of the multiple convolution layers.

すべての畳み込み層による畳み込み演算が終了したと判定された場合(ステップS3:Y)、演算処理部131は中流層ML1の出力を下流層DL1に入力し、下流層DL1に所定の演算を実行させる(ステップS4)。演算処理部131は、下流層DL1の最終層から出力される演算結果を取得し、ニューラルネットワークNN1による演算を終了する。 If it is determined that the convolution calculations by all the convolution layers have been completed (step S3: Y), the calculation processing unit 131 inputs the output of the middle layer ML1 to the downstream layer DL1 and causes the downstream layer DL1 to execute a predetermined calculation (step S4). The calculation processing unit 131 obtains the calculation result output from the final layer of the downstream layer DL1 and ends the calculation by the neural network NN1.

1チャネルあたりH×Wの特徴を256チャネル有する特徴マップ(Cin=Cout=256)に対し、3×3のカーネル(kH=kW=3)を用いた畳み込み演算を、非特許文献1に記載されたMobileNetsにより実行する場合の演算負荷は、以下の式1により求められる。 The computational load when convolution calculations using a 3 × 3 kernel (k H = k W = 3) are performed by MobileNets described in Non-Patent Document 1 on a feature map having 256 channels (C in = C out = 256) with H × W features per channel can be calculated using the following Equation 1.

{(kH×kW×Cin)+(1×1×Cin×Cout)}×H×W = (2304+65536)×H×W = 67840×H×W
(式1)
{(k H ×k W ×C in )+(1×1×C in ×C out )}×H×W = (2304+65536)×H×W = 67840×H×W
(Equation 1)

一方、同じ特徴マップに対し同じカーネルを用いて本開示の演算装置が演算を実行する場合の演算負荷は、以下の式2により求められる。 On the other hand, when the computing device of the present disclosure performs a calculation using the same kernel for the same feature map, the computational load is calculated using the following formula 2.

Cin×log2Cin×kH×kW×H×W = 256×8×3×3×H×W = 18432×H×W (式2) C in ×log 2 C in ×k H ×k W ×H×W = 256×8×3×3×H×W = 18432×H×W (Formula 2)

このようにニューラルネットワークNN1を用いて演算を行うことにより、演算装置は、演算対象の次元に多数の特徴を有する特徴マップの演算量を削減することができる。 By performing calculations using the neural network NN1 in this way, the calculation device can reduce the amount of calculations required for a feature map that has a large number of features in the dimension to be calculated.

なお、畳み込み層L11-L13で用いられるカーネルのダイレートサイズは、1(=20)、2(=21)、4(=22)のように、2の累乗値となっている。このようにダイレートサイズを設定することで、より少ない畳み込み層によってより多くの特徴を結合する畳み込み演算が可能となる。 The dilate sizes of the kernels used in the convolution layers L11-L13 are powers of 2, such as 1 (=2 0 ), 2 (=2 1 ), and 4 (=2 2 ). Setting the dilate sizes in this way enables convolution operations that combine more features using fewer convolution layers.

畳み込み層で用いられるカーネルのダイレートサイズは、2以上の自然数の累乗値であってもよい。例えば、ダイレートサイズが1(=30)、3(=31)、9(=32)のような3の累乗値となるカーネルを使用してもよい。さらに、カーネルのダイレートサイズは2以上の自然数の累乗値に限定されず、所定数の畳み込み層によって必要な範囲の特徴が結合できるよう、適宜設定されてよい。 The dilate size of the kernel used in the convolutional layer may be a power of a natural number equal to or greater than 2. For example, a kernel whose dilate size is a power of 3, such as 1 (=3 0 ), 3 (=3 1 ), or 9 (=3 2 ), may be used. Furthermore, the dilate size of the kernel is not limited to a power of a natural number equal to or greater than 2, and may be set appropriately so that a required range of features can be combined by a predetermined number of convolutional layers.

本開示において、ニューラルネットワークの構造は、図3に示す構造に限定されない。例えば、ニューラルネットワークの中流層に含まれる複数の畳み込み層での畳み込み演算に用いられるダイレートサイズは、1、2、4のように昇順に設定されていなくてもよい。図7はニューラルネットワークの異なる構造を説明する模式図である。 In the present disclosure, the structure of the neural network is not limited to the structure shown in FIG. 3. For example, the dilate sizes used in the convolution calculations in multiple convolution layers included in the middle layer of the neural network do not have to be set in ascending order, such as 1, 2, 4. FIG. 7 is a schematic diagram illustrating a different structure of the neural network.

図7に示すニューラルネットワークNN2は、上流層UL2と、中流層ML2と、下流層DL2とを有する。 The neural network NN2 shown in FIG. 7 has an upstream layer UL2, a middle layer ML2, and a downstream layer DL2.

上流層UL2はニューラルネットワークNN1における上流層UL1と、下流層DL2は下流層DL1とそれぞれ同様であるので、詳細な説明を省略する。 The upstream layer UL2 is similar to the upstream layer UL1 in the neural network NN1, and the downstream layer DL2 is similar to the downstream layer DL1, so detailed explanations are omitted.

中流層ML2は、入力側から出力側に向けて連続して設けられる複数の畳み込み層L21-L23を有する。畳み込み層L21に含まれるノードN211-N218は、直前の層である上流層UL2の最終層L20から出力される特徴マップのうちノードN201-N208から出力される個々の特徴に対し、ダイレートサイズが4のカーネルを用いた畳み込み演算を実行する。また、畳み込み層L22に含まれるノードN221-N228は、直前の層である畳み込み層L21から出力される特徴マップのうちノードN211-N218から出力される個々の特徴に対し、ダイレートサイズが1のカーネルを用いた畳み込み演算を実行する。また、畳み込み層L23に含まれるノードN231-N238は、直前の層である畳み込み層L22から出力される特徴マップのうちノードN221-N228から出力される個々の特徴に対し、ダイレートサイズが2のカーネルを用いた畳み込み演算を実行する。 The middle layer ML2 has multiple convolutional layers L21-L23 arranged in succession from the input side to the output side. The nodes N211-N218 included in the convolutional layer L21 perform convolutional operations using a kernel with a dilate size of 4 on the individual features output from the nodes N201-N208 of the feature map output from the final layer L20 of the upstream layer UL2, which is the immediately preceding layer. The nodes N221-N228 included in the convolutional layer L22 perform convolutional operations using a kernel with a dilate size of 1 on the individual features output from the nodes N211-N218 of the feature map output from the immediately preceding layer, the convolutional layer L21. The nodes N231-N238 included in the convolutional layer L23 perform convolutional operations using a kernel with a dilate size of 2 on the individual features output from the nodes N221-N228 of the feature map output from the immediately preceding layer, the convolutional layer L22.

このように、連続する複数の畳み込み層でダイレートサイズの異なるカーネルを用いた畳み込み演算を実行するにあたり、ダイレートサイズは入力側から出力側に向けて昇順または降順といった順序で変更される必要はなく、順序は任意である。 In this way, when performing convolution operations using kernels with different dilate sizes in multiple consecutive convolution layers, the dilate sizes do not need to be changed in ascending or descending order from the input side to the output side, and the order can be arbitrary.

最も出力側の畳み込み層L23のノードN231-N238から出力される各特徴には、上流層UL2の最終層L20のノードN201-N208から畳み込み層L21のノードN211-N218に入力されたすべてのC方向の特徴が結合される。 Each feature output from nodes N231-N238 of the output-most convolutional layer L23 is combined with all C-direction features input from nodes N201-N208 of the final layer L20 of the upstream layer UL2 to nodes N211-N218 of the convolutional layer L21.

また、ニューラルネットワークの中流層に含まれる複数の畳み込み層は、ストライドが2以上の畳み込み演算を実行してもよい。図8は、ニューラルネットワークのさらに異なる構造を説明する模式図である。 In addition, multiple convolutional layers included in the middle layers of the neural network may perform convolution operations with a stride of 2 or more. Figure 8 is a schematic diagram illustrating yet another different structure of a neural network.

図8に示すニューラルネットワークNN3は、上流層UL3と、中流層ML3と、下流層DL3とを有する。 The neural network NN3 shown in FIG. 8 has an upstream layer UL3, a middle layer ML3, and a downstream layer DL3.

上流層UL3はニューラルネットワークNN1における上流層UL1と同様であるので、詳細な説明を省略する。 The upstream layer UL3 is similar to the upstream layer UL1 in the neural network NN1, so a detailed description is omitted.

中流層ML3は、入力側から出力側に向けて連続して設けられる複数の畳み込み層L31-L33を有する。畳み込み層L31に含まれるノードN311-N318は、直前の層である上流層UL3の最終層L30から出力される特徴マップのうちノードN301-N308から出力される個々の特徴に対し、ダイレートサイズが4のカーネルを用いた畳み込み演算を実行する。 The middle layer ML3 has multiple convolutional layers L31-L33 arranged in succession from the input side to the output side. Nodes N311-N318 included in the convolutional layer L31 perform convolution operations using a kernel with a dilate size of 4 on the individual features output from nodes N301-N308 of the feature map output from the final layer L30 of the upstream layer UL3, which is the immediately preceding layer.

畳み込み層L32では、ダイレートサイズが1のカーネルを用いた畳み込み演算が実行される。このときの畳み込み演算のストライドは2である。すなわち、ノードN321で畳み込み演算が実行される場合、隣接するノードN322では畳み込み演算は実行されない。また、ノードN321から距離が2の位置にあるノードN323では畳み込み演算が実行される。 In convolution layer L32, a convolution operation is performed using a kernel with a dilate size of 1. The stride of the convolution operation at this time is 2. In other words, when a convolution operation is performed at node N321, no convolution operation is performed at the adjacent node N322. Also, a convolution operation is performed at node N323, which is located at a distance of 2 from node N321.

畳み込み層L33では、ダイレートサイズが2のカーネルを用いた畳み込み演算が実行される。このとき、畳み込み演算のストライドは4である。すなわち、ノードN331およびN335で畳み込み演算が実行され、ノードN332-N334およびノードN336-N338では畳み込み演算は実行されない。 In convolution layer L33, a convolution operation is performed using a kernel with a dilate size of 2. At this time, the stride of the convolution operation is 4. That is, a convolution operation is performed at nodes N331 and N335, and a convolution operation is not performed at nodes N332-N334 and nodes N336-N338.

最も出力側の畳み込み層L33のノードN331、N335から出力される各特徴には、上流層UL3の最終層L30のノードN301-N308から畳み込み層L31のノードN311-N318に入力されたすべてのC方向の特徴が結合される。 Each feature output from nodes N331 and N335 of the output-most convolutional layer L33 is combined with all C-direction features input from nodes N301-N308 of the final layer L30 of the upstream layer UL3 to nodes N311-N318 of the convolutional layer L31.

下流層DL3に含まれる層L34は、ノードN331、N335から出力される各特徴を用いた転置畳み込み演算を実行する。 Layer L34 included in downstream layer DL3 performs a transposed convolution operation using the features output from nodes N331 and N335.

このように、ニューラルネットワークNN3では、中流層ML3にはストライドが2以上の畳み込み演算を実行する畳み込み層L32、L33が含まれている。そのため、ニューラルネットワークNN3では、ストライドが2以上の畳み込み演算を実行する畳み込み層よりも出力側における演算量が削減される。 In this way, in the neural network NN3, the middle layer ML3 includes convolution layers L32 and L33 that perform convolution operations with a stride of 2 or more. Therefore, in the neural network NN3, the amount of calculations on the output side is reduced compared to convolution layers that perform convolution operations with a stride of 2 or more.

畳み込み層L31-L33において、ストライドが1、2、4と設定される例を説明したが、本開示はこれに限定されない。すなわち、ストライドが2以上の畳み込み演算を実行する畳み込み層が、中流層ML3のいずれかの位置に配置されていればよい。なお、ストライドが2以上の畳み込み演算を実行する畳み込み層が、入力側に近い位置に配置されると、演算量の削減に効果的である。 Although an example has been described in which the strides are set to 1, 2, and 4 in the convolutional layers L31-L33, the present disclosure is not limited to this. In other words, it is sufficient that a convolutional layer that performs convolutional operations with a stride of 2 or more is placed at any position in the middle layer ML3. Note that placing a convolutional layer that performs convolutional operations with a stride of 2 or more in a position close to the input side is effective in reducing the amount of calculations.

また、中流層での畳み込み演算の対象となる所定範囲に含まれる個々の特徴が、所定範囲に含まれない特徴と結合されてもよい。図9はニューラルネットワークのさらに異なる構造を説明する模式図である。 In addition, individual features that fall within a predetermined range and are the subject of the convolution operation in the midstream layer may be combined with features that do not fall within the predetermined range. Figure 9 is a schematic diagram illustrating yet another different structure of a neural network.

図9に示すニューラルネットワークNN4は、上流層UL4と、中流層ML4と、下流層DL4とを有する。下流層DL4はニューラルネットワークNN1における下流層DL1と同様であるので、詳細な説明を省略する。 The neural network NN4 shown in FIG. 9 has an upstream layer UL4, a middle layer ML4, and a downstream layer DL4. The downstream layer DL4 is similar to the downstream layer DL1 in the neural network NN1, so a detailed description is omitted.

上流層UL4は、中流層ML4での畳み込み演算の対象となる所定範囲に対応するノードN401-N408に加えて、所定範囲の外側にノードN400およびノードN409を有する。 In addition to nodes N401-N408 corresponding to the specified range that is the subject of the convolution operation in the middle layer ML4, the upstream layer UL4 has nodes N400 and N409 outside the specified range.

中流層ML4は、入力側から出力側に向けて連続して設けられる複数の畳み込み層L41-L43を有する。畳み込み層L41は、所定範囲に含まれるノードN411-N418に加えて、所定範囲の外側にノードN410およびノードN419を有する。畳み込み層L42は、所定範囲に含まれるノードN421-N428に加えて、所定範囲の外側にノードN420およびノードN429を有する。畳み込み層L43は、所定範囲に含まれるノードN431-N438に加えて、所定範囲の外側にノードN430およびノードN439を有する。 The middle layer ML4 has multiple convolutional layers L41-L43 arranged in succession from the input side to the output side. In addition to nodes N411-N418 included in the specified range, convolutional layer L41 has nodes N410 and N419 outside the specified range. In addition to nodes N421-N428 included in the specified range, convolutional layer L42 has nodes N420 and N429 outside the specified range. In addition to nodes N431-N438 included in the specified range, convolutional layer L43 has nodes N430 and N439 outside the specified range.

畳み込み層L41において所定範囲の外側のノードN410には、上流層UL4の最終層L40において所定範囲の外側のノードN400と、所定範囲に含まれるノードN401とが結合される。畳み込み層L42において所定範囲の外側のノードN420には、畳み込み層L41において所定範囲の外側のノードN410と、所定範囲に含まれるノードN411とが結合される。畳み込み層L43において所定範囲の外側のノードN430には、畳み込み層L42において所定範囲の外側のノードN420と、所定範囲に含まれるノードN421とが結合される。 Node N410 outside the specified range in convolutional layer L41 is connected to node N400 outside the specified range and node N401 included in the specified range in the final layer L40 of the upstream layer UL4. Node N420 outside the specified range in convolutional layer L42 is connected to node N410 outside the specified range and node N411 included in the specified range in convolutional layer L41. Node N430 outside the specified range in convolutional layer L43 is connected to node N420 outside the specified range and node N421 included in the specified range in convolutional layer L42.

畳み込み層L41において所定範囲の外側のノードN419には、所定範囲に含まれるノードN408と、上流層UL4の最終層L40において所定範囲の外側のノードN409とが結合される。畳み込み層L42において所定範囲の外側のノードN429には、所定範囲に含まれるノードN418と、畳み込み層L41において所定範囲の外側のノードN419とが結合される。畳み込み層L43において所定範囲の外側のノードN439には、所定範囲に含まれるノードN428と、畳み込み層L42において所定範囲の外側のノードN429とが結合される。 Node N419 outside the specified range in convolutional layer L41 is connected to node N408 included in the specified range and to node N409 outside the specified range in the final layer L40 of the upstream layer UL4. Node N429 outside the specified range in convolutional layer L42 is connected to node N418 included in the specified range and to node N419 outside the specified range in convolutional layer L41. Node N439 outside the specified range in convolutional layer L43 is connected to node N428 included in the specified range and to node N429 outside the specified range in convolutional layer L42.

このように、ニューラルネットワークNN4では、所定範囲に含まれるノードが所定範囲の外側のノードに結合される。そのため、ニューラルネットワークNN4では、所定範囲に含まれるノードでの演算により出力される特徴を、所定範囲の外側のノードでの演算に使用することができる。 In this way, in the neural network NN4, nodes included in the specified range are connected to nodes outside the specified range. Therefore, in the neural network NN4, the features output by the calculations at the nodes included in the specified range can be used for the calculations at the nodes outside the specified range.

また、中流層ML1における畳み込み演算は、C方向以外の次元、例えばHW方向について実行されてもよい。HW方向(2次元)について実行される畳み込み演算では、2次元のカーネルが用いられる。図10は、カーネルの構造の他の例を示す模式図である。図10(a)-(c)において、各カーネルにおける斜線の施されたマス目に重み係数が設定されていることを示している。図10(a)-(c)において、各カーネルにおける斜線の施されていないマス目には、重み係数が設定されていない。 The convolution calculation in the middle layer ML1 may also be performed in a dimension other than the C direction, for example, the HW direction. In the convolution calculation performed in the HW direction (two dimensions), a two-dimensional kernel is used. Figure 10 is a schematic diagram showing another example of the kernel structure. In Figures 10(a)-(c), it is shown that a weighting factor is set in the hatched squares in each kernel. In Figures 10(a)-(c), no weighting factor is set in the unshaded squares in each kernel.

図10は、HW方向について実行される畳み込み演算に用いられるカーネルの例を示しており、図10(a)、(b)、(c)はそれぞれダイレートサイズが1、2、4のカーネルK21、K22、K23の構造の例である。なお、図10(a)-(c)に示すカーネルを用いて畳み込まれる2つの次元は、H方向およびW方向に限られず、例えばH方向およびC方向、W方向とC方向であってもよい。 Figure 10 shows examples of kernels used in convolution calculations performed in the HW direction, and Figures 10(a), (b), and (c) are examples of the structures of kernels K21, K22, and K23 with die size of 1, 2, and 4, respectively. Note that the two dimensions convolved using the kernels shown in Figures 10(a)-(c) are not limited to the H direction and W direction, and may be, for example, the H direction and C direction, or the W direction and C direction.

また、本開示の演算装置では、演算処理部131は、3次元以上の構造を有するカーネル(不図示)を用いて、3以上の次元についての畳み込みを実行してもよい。 In addition, in the computation device disclosed herein, the computation processing unit 131 may perform convolution in three or more dimensions using a kernel (not shown) having a three or more dimensional structure.

次に、一実施形態にかかる演算装置をカメラに搭載した例について説明する。図11は、一実施形態にかかる演算装置を搭載するカメラの構成を示す模式図である。 Next, an example in which a computing device according to one embodiment is mounted on a camera will be described. FIG. 11 is a schematic diagram showing the configuration of a camera equipped with a computing device according to one embodiment.

本実施形態にかかる演算装置は、カメラ2に搭載されるマイクロコントローラ4である。カメラ2は、撮像装置の一例であり、イメージセンサ3、マイクロコントローラ4およびレンズ5を備える。イメージセンサ3は、撮像素子の一例であり、レンズ5で集光された被写体からの光を画像データに変換する。マイクロコントローラ4は、プロセッサ、メモリ、入出力インタフェースを集積した集積回路である。マイクロコントローラ4は、イメージセンサ3から入力された画像データに基づいて演算を実行し、オートフォーカスの対象とすべき画像データ中の領域を示す信号を出力する。また、マイクロコントローラ4は、合焦制御部として動作し、画像データに表される所定の領域に合焦するようレンズ5を制御する合焦制御信号を出力する。レンズ5は、光学系の一例であり、被写体からの光をイメージセンサ3に集光させる。レンズ5は、オートフォーカス機構51を有し、オートフォーカス機構51は、マイクロコントローラ4から出力される合焦制御信号に基づいてレンズ5を被写体に合焦させる。 The arithmetic device according to this embodiment is a microcontroller 4 mounted on a camera 2. The camera 2 is an example of an imaging device, and includes an image sensor 3, a microcontroller 4, and a lens 5. The image sensor 3 is an example of an imaging element, and converts light from a subject collected by the lens 5 into image data. The microcontroller 4 is an integrated circuit that integrates a processor, a memory, and an input/output interface. The microcontroller 4 performs calculations based on the image data input from the image sensor 3, and outputs a signal indicating an area in the image data to be the target of autofocus. The microcontroller 4 also operates as a focus control unit, and outputs a focus control signal that controls the lens 5 to focus on a predetermined area represented in the image data. The lens 5 is an example of an optical system, and collects light from a subject on the image sensor 3. The lens 5 has an autofocus mechanism 51, and the autofocus mechanism 51 focuses the lens 5 on the subject based on the focus control signal output from the microcontroller 4.

図12は、一実施形態にかかる演算装置を備えたカメラの処理フローチャートである。カメラ2は、ユーザによる不図示のシャッターボタンの半押しなどのオートフォーカス実行を指示する動作の検出に応じて、図12の処理を開始する。カメラ2は、オートフォーカス実行を指示する動作が検出されている間、図12の処理を繰り返し実行してもよい。 Fig. 12 is a processing flowchart of a camera equipped with a computing device according to one embodiment. Camera 2 starts the processing of Fig. 12 in response to detection of an action instructing execution of autofocus, such as a user half-pressing a shutter button (not shown). Camera 2 may repeatedly execute the processing of Fig. 12 while the action instructing execution of autofocus is being detected.

まず、イメージセンサ3は、集光された光に応じた画像データをマイクロコントローラ4に送信する(ステップS10)。 First, the image sensor 3 transmits image data corresponding to the collected light to the microcontroller 4 (step S10).

次に、マイクロコントローラ4は、受信した画像データをニューラルネットワークに入力し、画像データに含まれる識別対象物に対応する領域を識別する演算を実行させる(ステップS20)。ニューラルネットワークによる演算処理は、図6に示すニューラルネットワークによる演算のフローチャートと同様である。 Next, the microcontroller 4 inputs the received image data to the neural network and executes a calculation to identify an area corresponding to the object to be identified contained in the image data (step S20). The calculation process by the neural network is the same as the flowchart of the calculation by the neural network shown in FIG. 6.

続いて、マイクロコントローラ4は、演算により識別された識別対象物に対応する領域に合焦させるための合焦制御信号を生成し、オートフォーカス機構51に送信する。オートフォーカス機構51は、マイクロコントローラ4より受信した合焦制御信号に基づいて、レンズ5に含まれる合焦レンズの位置を変更する(ステップS30)。画像の特定された領域に焦点が合っているか否かは、コントラストAF方式、位相差AF方式などの方式により判定される。 Then, the microcontroller 4 generates a focus control signal for focusing on the area corresponding to the object identified by the calculation, and transmits it to the autofocus mechanism 51. The autofocus mechanism 51 changes the position of the focusing lens included in the lens 5 based on the focus control signal received from the microcontroller 4 (step S30). Whether or not the specified area of the image is in focus is determined by a method such as a contrast AF method or a phase difference AF method.

マイクロコントローラ4は、ニューラルネットワークNN1を有する演算処理部131に代えて、ニューラルネットワークNN4を有する演算処理部431を備える。図13は、カメラ2に搭載される演算装置が有するニューラルネットワークNN5の構造を示す模式図である。 The microcontroller 4 has a processing unit 431 having a neural network NN4 instead of the processing unit 131 having the neural network NN1. Figure 13 is a schematic diagram showing the structure of the neural network NN5 of the processing device mounted on the camera 2.

ニューラルネットワークNN5は、上流層UL5と、中流層ML5と、下流層DL5とを有する。 The neural network NN5 has an upstream layer UL5, a middle layer ML5, and a downstream layer DL5.

上流層UL5は、それぞれ所定の演算を実行する第1上流層UL5Aおよび第2上流層UL5Bを有する点がニューラルネットワークNN1における上流層UL1と相違し、その他は同様である。 The upstream layer UL5 differs from the upstream layer UL1 in the neural network NN1 in that it has a first upstream layer UL5A and a second upstream layer UL5B, each of which performs a specific calculation, but is otherwise similar.

中流層ML5は、それぞれ所定の演算を実行する第1中流層ML5Aおよび第2中流層ML5Bを有する。また、中流層ML5は、入力側から出力側に向けて連続して設けられる複数の畳み込み層L51-L52を有する。畳み込み層L51に含まれるノードN511-N514は、直前の層である上流層UL5の最終層L50から出力される特徴マップのうちノードN501-N504から出力される個々の特徴に対し、ダイレートサイズが1のカーネルを用いた畳み込み演算を実行する。また、畳み込み層L51に含まれるノードN515-N518は、上流層UL5の最終層L50から出力される特徴マップのうちノードN505-N508から出力される個々の特徴に対し、ダイレートサイズが1のカーネルを用いた畳み込み演算を実行する。なお、ノードN515-N518の畳み込み演算に用いられるカーネルは、ノードN511-N514の畳み込み演算に用いられるカーネルとは異なるパラメータを有してよい。 The middle layer ML5 has a first middle layer ML5A and a second middle layer ML5B, each of which performs a specific operation. The middle layer ML5 also has a number of convolutional layers L51-L52 arranged in succession from the input side to the output side. The nodes N511-N514 included in the convolutional layer L51 perform convolutional operations using a kernel with a dilate size of 1 on the individual features output from the nodes N501-N504 of the feature map output from the final layer L50 of the upstream layer UL5, which is the immediately preceding layer. The nodes N515-N518 included in the convolutional layer L51 also perform convolutional operations using a kernel with a dilate size of 1 on the individual features output from the nodes N505-N508 of the feature map output from the final layer L50 of the upstream layer UL5. Note that the kernel used for the convolution operation of nodes N515-N518 may have different parameters than the kernel used for the convolution operation of nodes N511-N514.

同様に、畳み込み層L52ではダイレートサイズが2のカーネルを用いた畳み込み演算が実行される。 Similarly, in convolutional layer L52, a convolution operation is performed using a kernel with a dilute size of 2.

このように、中流層ML5では、入力側から出力側に向けて連続して設けられる複数の畳み込み層L51-L52によって、畳み込み層ごとにダイレートサイズの異なるカーネルを用いた畳み込み演算が実行される。 In this way, in the middle layer ML5, convolutional calculations are performed using kernels with different dilate sizes for each convolutional layer by multiple convolutional layers L51-L52 arranged consecutively from the input side to the output side.

最も出力側の畳み込み層L52から出力される特徴マップのうち所定範囲に含まれるノードN521-N524から出力される各特徴には、最も入力側の畳み込み層L51に入力された特徴マップのうち所定範囲に含まれる一部の特徴が結合される。一部の特徴とは、畳み込み層L51-L52のそれぞれに用いられるカーネルのダイレートサイズの合計(1+2=3)だけ離間した範囲に含まれる特徴である。すなわち、畳み込み層L52のノードN521-N524から出力される各特徴には、上流層UL5の最終層L50の最終層のノードN501-N504から畳み込み層L51のノードN511-N514に入力されたすべての特徴が結合される。畳み込み層L52のノードN525-N528から出力される各特徴についても同様である。 The features output from the nodes N521-N524 in the feature map output from the most output convolutional layer L52 are combined with some of the features included in the specified range of the feature map input to the most input convolutional layer L51. The "some features" are features included in a range separated by the sum of the dilate sizes of the kernels used in each of the convolutional layers L51-L52 (1+2=3). In other words, all of the features input from the nodes N501-N504 in the final layer of the final layer L50 of the upstream layer UL5 to the nodes N511-N514 in the convolutional layer L51 are combined with the features output from the nodes N525-N528 in the convolutional layer L52.

ニューラルネットワークNN5において、畳み込み層L52のノードN524には、所定範囲外において距離が2となる畳み込み層L51のノードN516が結合される。そのため、ノードN524には、ノードN505-N507からノードN516に入力された特徴も結合される。 In the neural network NN5, node N524 in convolutional layer L52 is connected to node N516 in convolutional layer L51, which has a distance of 2 outside the specified range. Therefore, features input to node N516 from nodes N505-N507 are also connected to node N524.

下流層DL5は、それぞれ所定の演算を実行する第1下流層DL5Aおよび第2下流層DL5Bを有する点がニューラルネットワークNN1における下流層DL1と相違し、その他は同様である。 Downstream layer DL5 differs from downstream layer DL1 in neural network NN1 in that it has a first downstream layer DL5A and a second downstream layer DL5B, each of which performs a specific calculation, but is otherwise similar.

図14は、ニューラルネットワークを用いた処理の例を説明する模式図である。 Figure 14 is a schematic diagram illustrating an example of processing using a neural network.

ニューラルネットワークNN5の第1上流層UL5A、第1中流層ML5Aおよび第1下流層DL5Aは、教師データを学習することで所定の識別対象物(例えば牛)を含む矩形領域を検出可能となる。第1上流層UL5A、第1中流層ML5Aおよび第1下流層DL5Aは、例えばSSD(Single Shot MultiBox Detector)と同様のアーキテクチャとしてよい。この場合、第1上流層UL5Aは、畳み込み演算を実行し、イメージセンサ3が出力する画像PICの解像度と同じ解像度の特徴マップを出力する。そして、第1上流層UL5Aは、その特徴マップに対してプーリング処理を行い、解像度を低下させた特徴マップを生成し、第1中流層ML5Aに出力する。第1中流層ML4Aは畳み込み演算を実行し、入力された特徴マップの解像度と同じ解像度の特徴マップを出力する。第1下流層DL5Aは、プーリング処理を行い、解像度を低下させた特徴マップを生成する。マイクロコントローラ4は、最終的に得られた様々な解像度の特徴マップから複数のバウンディングボックスを検出し、複数のバウンディングボックスに対してNMS処理を行う。このように処理することで、ニューラルネットワークNN5は画像PICから識別対象物を含む矩形領域BB1を検出する。 The first upstream layer UL5A, the first middle layer ML5A, and the first downstream layer DL5A of the neural network NN5 can detect a rectangular area including a predetermined identification object (e.g., a cow) by learning the teacher data. The first upstream layer UL5A, the first middle layer ML5A, and the first downstream layer DL5A may have an architecture similar to that of an SSD (Single Shot MultiBox Detector), for example. In this case, the first upstream layer UL5A performs a convolution operation and outputs a feature map with the same resolution as the resolution of the image PIC output by the image sensor 3. Then, the first upstream layer UL5A performs a pooling process on the feature map, generates a feature map with a reduced resolution, and outputs it to the first middle layer ML5A. The first middle layer ML4A performs a convolution operation and outputs a feature map with the same resolution as the resolution of the input feature map. The first downstream layer DL5A performs a pooling process and generates a feature map with a reduced resolution. The microcontroller 4 detects multiple bounding boxes from the feature maps of various resolutions finally obtained, and performs NMS processing on the multiple bounding boxes. By processing in this way, the neural network NN5 detects a rectangular area BB1 that includes the object to be identified from the image PIC.

矩形領域BB1に含まれる点は、カメラ2のユーザが注目している点である可能性が大きい。そのため、オートフォーカス機構51は、矩形領域BB1に含まれる点に焦点が合うようにレンズ5を制御する。ここで、矩形領域BB1には、識別対象物に対応する点P1と対応しない点P2とが含まれる。識別対象物に対応しない点P2に焦点が合うようにオートフォーカス機構51が制御された場合、ユーザの意図に即したオートフォーカス制御とならない可能性が大きい。 The points included in rectangular area BB1 are likely to be the points that the user of camera 2 is paying attention to. Therefore, autofocus mechanism 51 controls lens 5 so as to focus on the points included in rectangular area BB1. Here, rectangular area BB1 includes point P1 that corresponds to the object to be identified and point P2 that does not. If autofocus mechanism 51 is controlled to focus on point P2 that does not correspond to the object to be identified, there is a high possibility that the autofocus control will not be in line with the user's intentions.

一方、第2上流層UL5B、第2中流層ML5Bおよび第2下流層DL5Bは、教師データを学習することで所定の特徴を有する(例えば識別対象物に対応する)領域を分割可能となる。第2上流層UL5B、第2中流層ML5Bおよび第2下流層DL5Bは、例えばU-Netと同様のアーキテクチャとしてよい。この場合、第2上流層UL5Bは、畳み込み演算およびプーリング処理を実行し、イメージセンサ3が出力する画像PICの解像度よりも解像度の低い特徴マップを出力する。第2中流層ML5Bは畳み込み演算を実行し、入力された特徴マップの解像度と同じ解像度の特徴マップを第2下流層DL5Bに出力する。第2下流層DL5Bは転置畳み込み演算を実行する。また、第2下流層DL5Bは、転置畳み込み演算を実行してもよい。マイクロコントローラ4は、画像PICの画素を複数のクラスに分類する。このように処理することで、ニューラルネットワークNN5は画像PICの領域を、識別対象物のクラスに対応する領域R1、R2と識別対象物以外のクラスに対応する領域R3とに分割する。 On the other hand, the second upstream layer UL5B, the second middle layer ML5B, and the second downstream layer DL5B can divide a region having a predetermined characteristic (e.g., corresponding to an object to be identified) by learning the teacher data. The second upstream layer UL5B, the second middle layer ML5B, and the second downstream layer DL5B may have an architecture similar to that of U-Net, for example. In this case, the second upstream layer UL5B performs a convolution operation and a pooling process, and outputs a feature map having a lower resolution than the resolution of the image PIC output by the image sensor 3. The second middle layer ML5B performs a convolution operation, and outputs a feature map having the same resolution as the resolution of the input feature map to the second downstream layer DL5B. The second downstream layer DL5B performs a transposed convolution operation. The second downstream layer DL5B may also perform a transposed convolution operation. The microcontroller 4 classifies the pixels of the image PIC into multiple classes. By processing in this way, the neural network NN5 divides the area of the image PIC into areas R1 and R2 corresponding to the class of objects to be identified, and area R3 corresponding to a class other than the objects to be identified.

カメラ2に搭載されたマイクロコントローラ4は、ニューラルネットワークNN5を用いることにより、上述の処理を実行するための演算量を削減することができる。 The microcontroller 4 installed in the camera 2 can reduce the amount of calculation required to execute the above-mentioned processing by using the neural network NN5.

本実施形態のマイクロコントローラ4は、ニューラルネットワークNN5を用いてさらに効率的な演算を実行することができる。図15は、ニューラルネットワークNN5を用いた処理の他の例を説明する模式図である。 The microcontroller 4 of this embodiment can perform more efficient calculations using the neural network NN5. Figure 15 is a schematic diagram illustrating another example of processing using the neural network NN5.

本実施形態のニューラルネットワークNN5では、第1中流層ML5Aおよび第2中流層ML5Bに含まれる一部のノードは結合されている。このようなニューラルネットワークNN5に対して上述の学習を行う。学習済みのニューラルネットワークNN5では、第1中流層ML5Aと第2中流層ML5Bとの結合により、物体検出を行う第1中流層ML5A側の特徴量と領域分割を行う第2中流層ML5B側の特徴量とが混ざり合う。混ざり合う割合は、第1中流層ML5Aと第2中流層ML5Bとの境界に近いほど大きい。 In the neural network NN5 of this embodiment, some of the nodes included in the first middle layer ML5A and the second middle layer ML5B are connected. The above-mentioned learning is performed on such a neural network NN5. In the trained neural network NN5, the first middle layer ML5A is connected to the second middle layer ML5B, and the features on the first middle layer ML5A side that performs object detection and the features on the second middle layer ML5B side that performs region segmentation are mixed together. The mixing ratio is greater the closer to the boundary between the first middle layer ML5A and the second middle layer ML5B.

このようなニューラルネットワークNN5に画像PICを入力することで、矩形領域BB1と、識別対象物に対応する領域R1、R2との積集合となる領域が特定され、識別対象物のみが含まれる領域R4が識別される。領域R4には、識別対象物に対応しない点が含まれていないので、領域R4に含まれる点P3に焦点が合うようにオートフォーカス機構51を制御することにより、ユーザの意図に即したオートフォーカス制御を実行することが可能となる。本開示の演算装置は、このようなオートフォーカス制御に好適な畳み込み演算を、少ない演算量で実行することができる。 By inputting image PIC into such neural network NN5, a region that is the intersection of rectangular region BB1 and regions R1 and R2 corresponding to the object to be identified is identified, and region R4 that contains only the object to be identified is identified. Region R4 does not contain any points that do not correspond to the object to be identified, so by controlling autofocus mechanism 51 to focus on point P3 included in region R4, it is possible to perform autofocus control in accordance with the user's intentions. The computation device of the present disclosure can perform convolution computations that are suitable for such autofocus control with a small amount of computation.

当業者は、本開示の精神および範囲から外れることなく、種々の変更、置換および修正をこれに加えることが可能であることを理解されたい。 It will be appreciated by those skilled in the art that various changes, substitutions and modifications may be made thereto without departing from the spirit and scope of this disclosure.

1 コンピュータ
131 演算処理部
NN1 ニューラルネットワーク
1 Computer 131 Processing unit NN1 Neural network

Claims (11)

入力側から出力側に向けて連続して設けられる複数の畳み込み層を有するニューラルネットワークに所定のデータを入力することで所定の処理を実行する演算処理部を有し、
前記複数の畳み込み層のそれぞれは、直前の層から出力されるとともに当該畳み込み層に入力される、チャネル方向および空間方向を含む複数の次元を有する特徴マップの前記チャネル方向のすべての特徴に対し、前記チャネル方向について前記畳み込み層ごとに定められたダイレートサイズの異なるカーネルを用いた畳み込み演算を実行し、
前記複数の畳み込み層ごとに異なる前記ダイレートサイズは、n(nは2以上の自然数)の累乗値であって、最も出力側の畳み込み層から出力される特徴マップの個々の特徴に最も入力側の畳み込み層に入力された特徴マップの前記すべての特徴が結合されるよう設定される、
演算装置。
The neural network has a plurality of convolution layers arranged in succession from an input side to an output side, and a calculation processing unit executes a predetermined process by inputting predetermined data to the neural network,
Each of the plurality of convolution layers performs a convolution operation using kernels with different dilate sizes determined for each of the convolution layers in the channel direction for all features in the channel direction of a feature map having a plurality of dimensions including a channel direction and a spatial direction, the feature map being output from a previous layer and input to the convolution layer;
The dilate size, which differs for each of the plurality of convolutional layers, is a power of n (n is a natural number equal to or greater than 2) and is set so that all of the features of the feature map input to the most input convolutional layer are combined with individual features of the feature map output from the most output convolutional layer.
Calculation device.
前記最も出力側の畳み込み層から出力される特徴マップの前記すべての特徴に、前記最も入力側の畳み込み層に入力された特徴マップの前記複数の畳み込み層のそれぞれに用いられるカーネルのダイレートサイズの合計だけ離間した範囲に含まれる特徴が結合される、請求項1に記載の演算装置。 The computing device according to claim 1, wherein all the features of the feature map output from the most output convolutional layer are combined with features included in a range separated by the sum of the dilate sizes of the kernels used in each of the plurality of convolutional layers of the feature map input to the most input convolutional layer. 前記最も入力側の畳み込み層に入力された特徴マップの所定範囲に含まれる個々の特徴は、前記最も出力側の畳み込み層から出力される特徴マップの前記所定範囲において前記複数の畳み込み層のそれぞれに用いられるカーネルの前記ダイレートサイズの合計だけ離間した範囲に含まれる特徴に結合される、請求項1または2に記載の演算装置。 3. The computing device according to claim 1, wherein each feature included in a predetermined range of the feature map input to the most input convolutional layer is combined with a feature included in a range spaced apart by a sum of the dilate sizes of kernels used in each of the plurality of convolutional layers in the predetermined range of the feature map output from the most output convolutional layer. 前記複数の畳み込み層に含まれる一の畳み込み層は、ストライドが2以上の畳み込み演算を実行する、請求項1-3のいずれか一項に記載の演算装置。 The arithmetic device according to any one of claims 1 to 3, wherein one of the plurality of convolution layers executes a convolution operation with a stride of 2 or more. 前記複数の畳み込み層に含まれる一の畳み込み層は、前記ダイレートサイズに基づくストライドにより畳み込み演算を実行する、請求項4に記載の演算装置。 The arithmetic device according to claim 4, wherein one of the plurality of convolution layers performs convolution operations with a stride based on the dilate size. 前記複数の畳み込み層に含まれる一の畳み込み層は、前記ダイレートサイズの2倍のストライドにより畳み込み演算を実行する、請求項4または5に記載の演算装置。 The arithmetic device according to claim 4 or 5, wherein one of the plurality of convolution layers performs convolution operations with a stride twice the dilate size. 前記複数の畳み込み層に含まれる一の畳み込み層は、前記ダイレートサイズが2のときにストライドが4の畳み込み演算を実行する、請求項6に記載の演算装置。 The arithmetic device according to claim 6, wherein one of the plurality of convolution layers performs a convolution operation with a stride of 4 when the dilate size is 2. 前記ニューラルネットワークは、前記複数の畳み込み層に接続し、転置畳み込み演算を実行する転置畳み込み層をさらに備える、請求項2-7のいずれか一項に記載の演算装置。 The computing device according to any one of claims 2 to 7, wherein the neural network further comprises a transposed convolution layer connected to the plurality of convolution layers and performing a transposed convolution operation. 光学系により集光された光に応じた画像データを出力する撮像素子と、
請求項1-8のいずれか一項に記載の演算装置であって、前記演算装置が有する前記演算処理部は、前記画像データを前記所定のデータとして前記ニューラルネットワークに入力することで、前記画像データに表される画像領域のうち識別対象物に対応する領域を識別する処理を実行する、演算装置と、
識別された前記識別対象物に対応する領域に合焦するよう前記光学系を制御する合焦制御部と、を備える撮像装置。
an imaging element that outputs image data according to the light collected by the optical system;
9. A computing device according to claim 1, wherein the computing unit of the computing device executes a process of identifying an area corresponding to an object to be identified among image areas represented in the image data by inputting the image data as the predetermined data to the neural network;
a focus control unit that controls the optical system so as to focus on an area corresponding to the identified object.
コンピュータが、入力側から出力側に向けて連続して設けられる複数の畳み込み層を有するニューラルネットワークに所定のデータを入力することで所定の処理を実行する演算方法であって、
前記複数の畳み込み層のそれぞれは、直前の層から出力されるとともに当該畳み込み層に入力される、チャネル方向および空間方向を含む複数の次元を有する特徴マップの前記チャネル方向のすべての特徴に対し、前記チャネル方向について前記畳み込み層ごとに定められたダイレートサイズの異なるカーネルを用いた畳み込み演算を実行し、
前記複数の畳み込み層ごとに異なる前記ダイレートサイズは、n(nは2以上の自然数)の累乗値であって、最も出力側の畳み込み層から出力される特徴マップの個々の特徴に最も入力側の畳み込み層に入力された特徴マップの前記すべての特徴が結合されるよう設定される、
演算方法。
A computing method in which a computer executes a predetermined process by inputting predetermined data into a neural network having a plurality of convolution layers arranged successively from an input side to an output side, comprising the steps of:
Each of the plurality of convolution layers performs a convolution operation using kernels with different dilate sizes determined for each of the convolution layers in the channel direction for all features in the channel direction of a feature map having a plurality of dimensions including a channel direction and a spatial direction, the feature map being output from a previous layer and input to the convolution layer;
The dilate size, which differs for each of the plurality of convolutional layers, is a power of n (n is a natural number equal to or greater than 2) and is set so that all of the features of the feature map input to the most input convolutional layer are combined with individual features of the feature map output from the most output convolutional layer.
Calculation method.
コンピュータに、入力側から出力側に向けて連続して設けられる複数の畳み込み層を有するニューラルネットワークに所定のデータを入力することで所定の処理を実行させるコンピュータプログラムであって、
前記複数の畳み込み層のそれぞれは、直前の層から出力されるとともに当該畳み込み層に入力される、チャネル方向および空間方向を含む複数の次元を有する特徴マップの前記チャネル方向のすべての特徴に対し、前記チャネル方向について前記畳み込み層ごとに定められたダイレートサイズの異なるカーネルを用いた畳み込み演算を実行し、
前記複数の畳み込み層ごとに異なる前記ダイレートサイズは、n(nは2以上の自然数)の累乗値であって、最も出力側の畳み込み層から出力される特徴マップの個々の特徴に最も入力側の畳み込み層に入力された特徴マップの前記すべての特徴が結合されるよう設定される、
コンピュータプログラム。
A computer program for causing a computer to execute a predetermined process by inputting predetermined data into a neural network having a plurality of convolution layers arranged successively from an input side to an output side,
Each of the plurality of convolution layers performs a convolution operation using kernels with different dilate sizes determined for each of the convolution layers in the channel direction for all features in the channel direction of a feature map having a plurality of dimensions including a channel direction and a spatial direction, the feature map being output from a previous layer and input to the convolution layer;
The dilate size, which differs for each of the plurality of convolutional layers, is a power of n (n is a natural number equal to or greater than 2) and is set so that all of the features of the feature map input to the most input convolutional layer are combined with individual features of the feature map output from the most output convolutional layer.
Computer program.
JP2020074044A 2020-04-17 2020-04-17 Arithmetic device, arithmetic method, and computer program Active JP7622351B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020074044A JP7622351B2 (en) 2020-04-17 2020-04-17 Arithmetic device, arithmetic method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020074044A JP7622351B2 (en) 2020-04-17 2020-04-17 Arithmetic device, arithmetic method, and computer program

Publications (2)

Publication Number Publication Date
JP2021170293A JP2021170293A (en) 2021-10-28
JP7622351B2 true JP7622351B2 (en) 2025-01-28

Family

ID=78119573

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020074044A Active JP7622351B2 (en) 2020-04-17 2020-04-17 Arithmetic device, arithmetic method, and computer program

Country Status (1)

Country Link
JP (1) JP7622351B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7801900B2 (en) * 2022-01-28 2026-01-19 キヤノン株式会社 Information processing device, imaging device, method, and program
JP7587335B2 (en) * 2022-11-30 2024-11-20 パナソニックオートモーティブシステムズ株式会社 Information processing device, information processing method, and program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000209590A (en) 1999-01-11 2000-07-28 Canon Inc Image encoding apparatus and method, storage medium, and imaging apparatus
JP2019028657A (en) 2017-07-28 2019-02-21 株式会社パスコ Trained model for building area extraction
WO2019079198A1 (en) 2017-10-16 2019-04-25 Illumina, Inc. Deep learning-based splice site classification
JP2019197445A (en) 2018-05-11 2019-11-14 日本電信電話株式会社 Image recognition device, image recognition method, and program
JP2020042367A (en) 2018-09-06 2020-03-19 Awl株式会社 Learning system, server, and feature amount image drawing interpolation program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0854557A (en) * 1994-08-09 1996-02-27 Nikon Corp Camera autofocus device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000209590A (en) 1999-01-11 2000-07-28 Canon Inc Image encoding apparatus and method, storage medium, and imaging apparatus
JP2019028657A (en) 2017-07-28 2019-02-21 株式会社パスコ Trained model for building area extraction
WO2019079198A1 (en) 2017-10-16 2019-04-25 Illumina, Inc. Deep learning-based splice site classification
JP2019197445A (en) 2018-05-11 2019-11-14 日本電信電話株式会社 Image recognition device, image recognition method, and program
JP2020042367A (en) 2018-09-06 2020-03-19 Awl株式会社 Learning system, server, and feature amount image drawing interpolation program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JAESEON KIM et al.,Efficient Semantic Segmentation Using Spatio-Channel Dilated Convolutions,IEEE Xplore [オンライン],2019年,頁1~14,[検索日 2024.02.26] インターネット<URL:https://ieeexplore.ieee.org/abstract/document/8880554>

Also Published As

Publication number Publication date
JP2021170293A (en) 2021-10-28

Similar Documents

Publication Publication Date Title
US12008797B2 (en) Image segmentation method and image processing apparatus
TWI800692B (en) System for disparity estimation and method for disparity estimation of system
CN108154145B (en) Method and device for detecting position of text in natural scene image
US11501146B2 (en) Convolutional neural network
CN112927209B (en) A CNN-based saliency detection system and method
CN111741211A (en) Image display method and device
KR20200049366A (en) Neural network processor and convolution operation method thereof
US20200118249A1 (en) Device configured to perform neural network operation and method of operating same
CN113065575A (en) Image processing method and related device
JP7622351B2 (en) Arithmetic device, arithmetic method, and computer program
CN115311550B (en) Remote sensing image semantic change detection method and device, electronic equipment and storage medium
EP2293243A2 (en) Image processing apparatus, image capture apparatus, image processing method, and program
US11385526B2 (en) Method of processing image based on artificial intelligence and image processing device performing the same
KR20230130591A (en) Information processing apparatus, information processing method, non-transitory computer-readable storage medium
CN116917954A (en) Image detection method, device and electronic equipment
KR20200132305A (en) Method for performing convolution operation at predetermined layer within the neural network by electronic device, and electronic device thereof
US12086953B2 (en) Image processing device and operating method thereof
US20210287070A1 (en) Data processing apparatus, data processing method, and non-transitory computer-readable storage medium
CN118262316A (en) A nighttime lane line detection method, system, device and medium
US20260065663A1 (en) Apparatus for performing filter processing using convolution operation, method of performing filter processing, and medium
Nayak et al. Reinforcement learning for improving object detection
JP2023527228A (en) Information processing device, information processing method and program
CN113762472B (en) A method and device for generating a neural network instruction sequence
CN109492579B (en) A method and system for video object detection based on ST-SIN
CN119151987A (en) Target tracking method, apparatus, mobile 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: 20230220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240305

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241008

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241206

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: 20241217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20241230

R150 Certificate of patent or registration of utility model

Ref document number: 7622351

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150