JP2016153984A - Neural network processor, neural network processing method, detection device, detection method, and vehicle - Google Patents

Neural network processor, neural network processing method, detection device, detection method, and vehicle Download PDF

Info

Publication number
JP2016153984A
JP2016153984A JP2015032258A JP2015032258A JP2016153984A JP 2016153984 A JP2016153984 A JP 2016153984A JP 2015032258 A JP2015032258 A JP 2015032258A JP 2015032258 A JP2015032258 A JP 2015032258A JP 2016153984 A JP2016153984 A JP 2016153984A
Authority
JP
Japan
Prior art keywords
map
input image
neural network
processing unit
output
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
JP2015032258A
Other languages
Japanese (ja)
Other versions
JP6360802B2 (en
Inventor
育郎 佐藤
Ikuro Sato
育郎 佐藤
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.)
Denso IT Laboratory Inc
Original Assignee
Denso IT Laboratory Inc
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 Denso IT Laboratory Inc filed Critical Denso IT Laboratory Inc
Priority to JP2015032258A priority Critical patent/JP6360802B2/en
Publication of JP2016153984A publication Critical patent/JP2016153984A/en
Application granted granted Critical
Publication of JP6360802B2 publication Critical patent/JP6360802B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To provide a neural network processor, a neural network processing method, a detection device and a detection method which detect the position of a detection object with a small processing load and with high accuracy, and to provide a vehicle having such a detection device.SOLUTION: A neural network processor (1) is provided, which includes a horizontal direction processing part (120h) for performing non-linearization processing and pooling processing of a map based on an input image, and outputting a vector (51) indicating a horizontal direction position of a detection object in the input image while maintaining the horizontal direction resolution of the input image; and a vertical direction processing part (120v) for performing non-linearization processing and pooling processing of the map based on the input image, and outputting a column vector (52) indicating a vertical direction position of the detection object in the input image while maintaining the vertical direction resolution of the input image.SELECTED DRAWING: Figure 3

Description

本発明は、検出対象物を検出するためのニューラルネットワーク処理装置、ニューラルネットワーク処理方法、検出装置および検出方法、ならびに、そのような検出装置を有する車両に関する。   The present invention relates to a neural network processing device, a neural network processing method, a detection device and a detection method for detecting a detection target, and a vehicle having such a detection device.

車載カメラを用いて道路上の物体(先行車など)を検出することで、自動車の安全運転を支援できる。そのため、物体の有無およびその位置を検出することが1つの技術課題となっている。物体検出の1つの手法として、畳み込みニューラルネットワーク(Convolution Neural Network)を用いた画像認識手法が知られている(例えば、非特許文献1)。   By detecting an object (such as a preceding vehicle) on the road using an in-vehicle camera, it is possible to support safe driving of the automobile. Therefore, detecting the presence and position of an object and its position is one technical problem. As one method of object detection, an image recognition method using a convolutional neural network is known (for example, Non-Patent Document 1).

畳み込みニューラルネットワークでは、入力画像に対する畳み込み演算と、プーリングと呼ばれる縮小処理とを繰り返し、十分に解像度が小さくなった段階で、全結合型ネットワーク(多層パーセプトロン)へと信号が入力されて最終的な出力が得られる。   In the convolutional neural network, the convolution operation on the input image and the reduction process called pooling are repeated, and when the resolution is sufficiently reduced, the signal is input to the fully connected network (multilayer perceptron) and the final output Is obtained.

Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel, "Handwritten Digit Recognition with a Back-Paopagation Network", Advances in Neural Information Processing Systems (NIPS), pp. 396-404, 1990.Y. LeCun, B. Boser, JS Denker, D. Henderson, RE Howard, W. Hubbard, and LD Jackel, "Handwritten Digit Recognition with a Back-Paopagation Network", Advances in Neural Information Processing Systems (NIPS), pp. 396-404, 1990.

しかしながら、このような畳み込みニューラルネットワークには以下のような問題点が挙げられる。   However, such a convolutional neural network has the following problems.

まずは、検出精度の問題である。通常の畳み込みニューラルネットワークでは、入力画像を水平方向および垂直方向にプーリングするため、解像度が低下する。物体の特定精度は解像度に依存するが、解像度が低下するために必ずしも精度よく物体の位置を検出できるとは限らない。かといって、プーリングを一切行わないと、全結合型ネットワークに入力される信号におけるベクトルの次元が著しく大きくなってメモリを逼迫するだけでなく、過学習が起こりやすくなる。そのため、プーリングを行わないのは非現実的である。   The first is the problem of detection accuracy. In a normal convolutional neural network, the resolution is lowered because the input image is pooled in the horizontal and vertical directions. The accuracy with which the object is specified depends on the resolution, but since the resolution is lowered, the position of the object cannot always be detected with high accuracy. However, if pooling is not performed at all, the dimension of the vector in the signal input to the fully coupled network becomes significantly large, which not only imposes memory, but also tends to cause overlearning. Therefore, it is impractical not to perform pooling.

また、処理負荷の問題もある。通常の畳み込みニューラルネットワークでは、入力画像のサイズを予め決めておく必要がある。しかしながら、どのようなサイズの画像が物体の位置検出に最適であるかは分からない。よって、車載カメラからの画像をいくつかのサイズにリサイズして複数のピラミッド画像を生成し、そのそれぞれに対してスライディングウィンドウを適用する必要がある。そのため、処理負荷が大きくならざるを得ない。   There is also a problem of processing load. In a normal convolutional neural network, the size of the input image needs to be determined in advance. However, it is not known what size image is optimal for object position detection. Therefore, it is necessary to resize the image from the in-vehicle camera into several sizes to generate a plurality of pyramid images, and to apply a sliding window to each of them. Therefore, the processing load must be increased.

本発明はこのような問題点に鑑みてなされたものであり、本発明の課題は、処理負荷が小さく、かつ、高い精度で検出対象物の位置を検出するためのニューラルネットワーク処理装置、ニューラルネットワーク処理方法、検出装置および検出方法を提供すること、また、そのような検出装置を有する車両を提供することである。   The present invention has been made in view of such problems, and an object of the present invention is to provide a neural network processing apparatus and a neural network for detecting the position of a detection target with a low processing load and high accuracy. It is to provide a processing method, a detection device and a detection method, and to provide a vehicle having such a detection device.

本発明の一態様によれば、入力画像に基づくマップに対して、非線形化処理およびプーリング処理を行い、前記入力画像の水平方向の解像度を保ったまま、前記入力画像における検出対象物の水平方向位置を示す行ベクトルを出力する水平方向処理部と、前記入力画像に基づくマップに対して、非線形化処理およびプーリング処理を行い、前記入力画像の垂直方向の解像度を保ったまま、前記入力画像における前記検出対象物の垂直方向位置を示す列ベクトルを出力する垂直方向処理部と、を備えるニューラルネットワーク処理装置が提供される。   According to one aspect of the present invention, a non-linearization process and a pooling process are performed on a map based on an input image, and a horizontal direction of a detection target in the input image is maintained while maintaining a horizontal resolution of the input image. A horizontal direction processing unit that outputs a row vector indicating a position, and a map based on the input image are subjected to a non-linearization process and a pooling process, while maintaining a vertical resolution of the input image. There is provided a neural network processing device comprising: a vertical processing unit that outputs a column vector indicating a vertical position of the detection object.

この構成によれば、入力画像の水平方向および垂直方向の解像度を保ったまま行ベクトルおよび列ベクトルが出力されるので、高い精度で検出対象物の位置を検出できる。   According to this configuration, since the row vector and the column vector are output while maintaining the horizontal and vertical resolutions of the input image, the position of the detection target can be detected with high accuracy.

前記水平方向処理部は、前記入力画像に基づくマップに対して、垂直方向のみのプーリング処理を行う第1プーリング部を有し、前記垂直方向処理部は、前記入力画像に基づくマップに対して、水平方向にのみプーリング処理を行う第2プーリング部を有するのが望ましい。   The horizontal direction processing unit has a first pooling unit that performs a pooling process only in the vertical direction on a map based on the input image, and the vertical direction processing unit applies to a map based on the input image, It is desirable to have a second pooling part that performs the pooling process only in the horizontal direction.

この構成によれば、第1プーリング部が垂直方向にみのプーリング処理を行うので水平方向の解像度を保ったまま行ベクトルを出力でき、かつ、第2プーリング部が水平方向にみのプーリング処理を行うので垂直方向の解像度を保ったまま列ベクトルを出力できる。   According to this configuration, since the first pooling unit performs the pooling process only in the vertical direction, the row vector can be output while maintaining the horizontal resolution, and the second pooling unit performs the pooling process only in the horizontal direction. As a result, column vectors can be output while maintaining the vertical resolution.

望ましくは、前記水平方向処理部は、第1水平方向マップ生成部および第2水平方向マップ生成部を有し、前記垂直方向処理部は、第1垂直方向マップ生成部および第2垂直方向マップ生成部を有し、前記第1水平方向マップ生成部は、前記入力画像に基づくマップに対して、非線形化処理および垂直方向のみのプーリング処理を行って、第1出力マップを生成し、前記第1垂直方向マップ生成部は、前記入力画像に基づくマップに対して、非線形化処理および水平方向のみのプーリング処理を行って、第2出力マップを生成し、前記第2水平方向マップ生成部は、前記第1出力マップおよび前記第2出力マップに対して、非線形化処理およびプーリング処理を行って、前記第1出力マップと水平方向の解像度が等しい第3出力マップを生成し、前記第2垂直方向マップ生成部は、前記第1出力マップおよび前記第2出力マップに対して、非線形化処理およびプーリング処理を行って、前記第2出力マップと垂直方向の解像度が等しい第4出力マップを生成し、前記第3出力マップに基づいて前記行ベクトルが生成され、前記第4出力マップに基づいて前記列ベクトルが生成される。   Preferably, the horizontal direction processing unit includes a first horizontal direction map generation unit and a second horizontal direction map generation unit, and the vertical direction processing unit includes a first vertical direction map generation unit and a second vertical direction map generation. The first horizontal map generation unit generates a first output map by performing non-linearization processing and pooling processing only in the vertical direction on the map based on the input image, and generates the first output map. The vertical direction map generation unit performs a non-linearization process and a pooling process only in the horizontal direction on the map based on the input image to generate a second output map, and the second horizontal direction map generation unit A non-linearization process and a pooling process are performed on the first output map and the second output map to generate a third output map having the same horizontal resolution as the first output map. The second vertical map generation unit performs a non-linearization process and a pooling process on the first output map and the second output map, and has a fourth vertical resolution equal to that of the second output map. An output map is generated, the row vector is generated based on the third output map, and the column vector is generated based on the fourth output map.

この構成によれば、第1水平マップ生成部が生成する第1出力マップも使って列ベクトルが生成され、かつ、第1垂直マップ生成部が生成する第2出力マップも使って行ベクトルが生成される。そのため、検出精度が向上する。   According to this configuration, a column vector is generated using the first output map generated by the first horizontal map generation unit, and a row vector is generated using the second output map generated by the first vertical map generation unit. Is done. Therefore, detection accuracy is improved.

具体的には、前記第2水平方向マップ生成部は、前記第1出力マップおよび前記第2出力マップに対して畳み込み演算を行って前記第1出力マップと解像度が等しい第1中間マップおよび第2中間マップをそれぞれ生成し、前記第1中間マップおよび前記第2中間マップを加算して第3中間マップを生成する第1非線形化処理部と、前記第3中間マップに対して、垂直方向のみのプーリング処理を行って前記第3出力マップを生成する第3プーリング部と、を有し、前記第2垂直方向マップ生成部は、前記第1出力マップおよび前記第2出力マップに対して畳み込み演算を行って前記第2出力マップと解像度が等しい第4中間マップおよび第5中間マップをそれぞれ生成し、前記第4中間マップおよび前記第5中間マップを加算して第6中間マップを生成する第2非線形化処理部と、前記第6中間マップに対して、水平方向のみのプーリング処理を行って前記第4出力マップを生成する第4プーリング部と、有してもよい。   Specifically, the second horizontal map generation unit performs a convolution operation on the first output map and the second output map to generate a first intermediate map and a second resolution that are equal in resolution to the first output map. A first non-linearization processing unit that generates an intermediate map and adds the first intermediate map and the second intermediate map to generate a third intermediate map; A third pooling unit that performs a pooling process to generate the third output map, and the second vertical map generation unit performs a convolution operation on the first output map and the second output map. To generate a fourth intermediate map and a fifth intermediate map having the same resolution as the second output map, respectively, and add the fourth intermediate map and the fifth intermediate map to obtain a sixth intermediate map. A second non-linearization processing unit that generates a loop, and a fourth pooling unit that performs a pooling process only in the horizontal direction on the sixth intermediate map to generate the fourth output map. .

さらに具体的には、前記第2中間マップの水平方向および垂直方向の解像度は、前記第2出力マップの水平方向および垂直方向の解像度のそれぞれp1倍および1/q1倍(p1,q1は整数)であり、前記第1非線形化処理部は、前記第2出力マップのある一部の画素値と、第1フィルタのフィルタ係数との内積を、前記第2出力マップのある一部と対応する前記第2中間マップにおける画素およびその右の(p1−1)個の画素の値に設定する処理を、前記第2出力マップの垂直方向においてはq1画素ずつ前記第1フィルタをシフトしながら行うことで、前記第2中間マップを生成し、前記第4中間マップの水平方向および垂直方向の解像度は、前記第1出力マップの水平方向および垂直方向の解像度のそれぞれ1/p2倍およびq2倍(p2,q2は整数)であり、前記第2非線形化処理部は、前記第1出力マップのある一部の画素値と、第2フィルタのフィルタ係数との内積を、前記第1出力マップのある一部と対応する前記第4中間マップにおける画素およびその下の(q2−1)個の画素の値に設定する処理を、前記第1出力マップの水平方向においてはp2画素ずつ前記第2フィルタをシフトしながら行うことで、前記第4中間マップを生成してもよい。   More specifically, the horizontal and vertical resolutions of the second intermediate map are p1 times and 1 / q1 times the horizontal and vertical resolutions of the second output map, respectively (p1 and q1 are integers). The first non-linearization processing unit corresponds to an inner product of a certain pixel value of the second output map and a filter coefficient of the first filter corresponding to a certain part of the second output map. The process of setting the values of the pixels in the second intermediate map and the (p1-1) pixels to the right of the second intermediate map is performed while shifting the first filter by q1 pixels in the vertical direction of the second output map. The second intermediate map is generated, and the horizontal and vertical resolutions of the fourth intermediate map are 1 / p2 times q2 and the horizontal and vertical resolutions of the first output map, respectively. (P2 and q2 are integers), and the second non-linearization processing unit calculates an inner product of a certain pixel value of the first output map and a filter coefficient of the second filter, as a result of the first output map. The processing for setting the value of the pixel in the fourth intermediate map corresponding to a certain part and the value of (q2-1) pixels below it is performed by the second filter by p2 pixels in the horizontal direction of the first output map. The fourth intermediate map may be generated by shifting while shifting.

また、サンプル画像における前記検出対象物の上下左右端に対応する画素が第1値で他の画素が第2値である画像を前記入力画像とし、前記水平方向処理部および前記垂直方向処理部は、中央が前記第1値であり他が前記第2値であるフィルタを用いた畳み込み演算を含む前記非線形化処理を行って、正解データとしての前記行ベクトルおよび前記列ベクトルを出力してもよい。
この構成により、サンプル画像から正解データを生成でき、学習処理に用いることができる。
In addition, an image in which pixels corresponding to the upper, lower, left, and right edges of the detection target in the sample image have the first value and the other pixels have the second value is the input image, and the horizontal direction processing unit and the vertical direction processing unit are The row vector and the column vector as correct data may be output by performing the non-linearization process including a convolution operation using a filter whose center is the first value and the other is the second value. .
With this configuration, correct data can be generated from the sample image and used for learning processing.

また、前記サンプル画像における前記検出対象物がある画素が前記第1値で他の画素が前記第2値である画素を前記入力画像とし、前記水平方向処理部および前記垂直方向処理部は、中央が前記第1値であり他が前記第2値であるフィルタを用いた畳み込み演算を含む前記非線形化処理を行って、正解データとしての前記行ベクトルおよび前記列ベクトルを出力してもよい。
この構成により、サンプル画像から正解データを生成でき、学習処理に用いることができる。特に、検出対象物が複数ある場合に有効である。
In addition, the pixel in which the detection target in the sample image has the first value and the other pixel has the second value is the input image, and the horizontal processing unit and the vertical processing unit are The row vector and the column vector as correct data may be output by performing the non-linearization process including a convolution operation using a filter in which is the first value and the other is the second value.
With this configuration, correct data can be generated from the sample image and used for learning processing. This is particularly effective when there are a plurality of detection objects.

前記サンプル画像および前記正解データに基づいて、前記非線形化処理で用いられるニューラルネットワークパラメータが生成されてもよい。   A neural network parameter used in the non-linearization process may be generated based on the sample image and the correct answer data.

前記水平方向処理部が、前記検出対象物の左端および右端に対応する列が前記第1値であり、前記左端より左側および前記右端より右側に対応する列が前記第2値である前記行ベクトルを出力し、かつ、前記垂直方向処理部が、前記検出対象物の上端および下端に対応する行が前記第1値であり、前記上端より上側および前記下端より下側に対応する行が前記第2値である前記列ベクトルを出力するよう、前記ニューラルネットワークパラメータが生成されるのが望ましい。
これにより、行ベクトルにおける各列の値および列ベクトルにおける各行の値によって、検出対象物の位置を示すことができる。
The row vector in which the column corresponding to the left end and the right end of the detection target object is the first value, and the column corresponding to the left side from the left end and the column corresponding to the right end from the right end is the second value. And the vertical processing section has the first value corresponding to the upper end and the lower end of the detection object, and the row corresponding to the upper side and the lower end of the detection target. The neural network parameters are preferably generated so as to output the binary column vector.
Accordingly, the position of the detection target can be indicated by the value of each column in the row vector and the value of each row in the column vector.

前記サンプル画像は、第1検出対象物を含むサンプル画像と、前記第1検出対象物とは異なる第2検出対象物を含むサンプル画像と、を含むのが望ましい。
この構成によれば、複数種類の検出対象物を検出できる。
The sample image preferably includes a sample image including a first detection target and a sample image including a second detection target different from the first detection target.
According to this configuration, a plurality of types of detection objects can be detected.

また、前記サンプル画像は、前記検出対象物の一部のみを含むサンプル画像を含むのが望ましい。
この構成によれば、入力画像に検出対象物の一部のみしか含まれない場合でも、当該検出対象物を検出できる。
The sample image preferably includes a sample image including only a part of the detection target.
According to this configuration, even when only a part of the detection target is included in the input image, the detection target can be detected.

前記行ベクトルに基づいて、前記入力画像から前記検出対象物を含む領域を特定する領域特定部を備え、前記垂直方向処理部は、前記入力画像に基づくマップとして、前記特定された領域に対して、非線形処理およびプーリング処理を行ってもよい。
この構成によれば、検出対象物が縦長である場合に、検出精度を向上できる。
An area specifying unit that specifies an area including the detection target object from the input image based on the row vector, and the vertical direction processing unit applies a map based on the input image to the specified area. Non-linear processing and pooling processing may be performed.
According to this configuration, the detection accuracy can be improved when the detection target is vertically long.

前記行ベクトルに基づいて、前記入力画像に前記検出対象物が含まれないと判断される場合、前記垂直方向処理部は非線形処理およびプーリング処理を行わないのが望ましい。
この構成によれば、検出対象物がない場合には垂直方向処理部が処理を行わず、演算量を削減できる。
When it is determined that the detection target is not included in the input image based on the row vector, it is preferable that the vertical direction processing unit does not perform nonlinear processing and pooling processing.
According to this configuration, when there is no detection target, the vertical processing unit does not perform processing, and the amount of calculation can be reduced.

また、本発明の別の態様によれば、上記のニューラルネットワーク装置と、前記ニューラルネットワーク装置によって出力された前記行ベクトルおよび前記列ベクトルに基づいて、前記入力画像における前記検出対象物の位置を特定する特定部と、を備える検出装置が提供される。   According to another aspect of the present invention, the position of the detection object in the input image is specified based on the neural network device and the row vector and the column vector output by the neural network device. There is provided a detection device including a specific unit.

前記特定部は、前記行ベクトルにおける列であって、その値が第1閾値条件を満たす列を前記検出対象物の左端候補または右端候補とし、前記列ベクトルにおける行であって、その値が第2閾値条件を満たす行を前記検出対象物の上端候補または下端候補とするのが望ましい。
この構成によれば、出力される行ベクトルおよび列ベクトルのノイズを除去でき、検出精度が向上する。
The specifying unit is a column in the row vector, and a column whose value satisfies the first threshold condition is set as a left end candidate or a right end candidate of the detection target, and is a row in the column vector, and the value is the first It is desirable that a row satisfying the two threshold conditions be an upper end candidate or a lower end candidate of the detection target.
According to this configuration, it is possible to remove noise in the output row vector and column vector, and the detection accuracy is improved.

また、前記特定部が特定する前記前記検出対象物の左端候補と右端候補は、第1画素数以上離れており、前記特定部が特定する前記前記検出対象物の上端候補と下端候補は、第2画素数以上離れているのが望ましい。
この構成によれば、やはり、出力される行ベクトルおよび列ベクトルのノイズを除去でき、検出精度が向上する。
Further, the left end candidate and the right end candidate of the detection target specified by the specifying unit are separated by a number of first pixels or more, and the upper end candidate and the lower end candidate of the detection target specified by the specifying unit are It is desirable that the number of pixels is two or more.
According to this configuration, the noise of the output row vector and column vector can be removed, and the detection accuracy is improved.

また、本発明の別の態様によれば、車両本体と、車両本体に取り付けられたカメラと、前記カメラからの画像を前記入力画像として処理する上記の検出装置と、を備える車両が提供される。   According to another aspect of the present invention, there is provided a vehicle including a vehicle main body, a camera attached to the vehicle main body, and the detection device that processes an image from the camera as the input image. .

また、本発明の別の態様によれば、入力画像に基づくマップに対して、非線形化処理およびプーリング処理を行い、前記入力画像の水平方向の解像度を保ったまま、前記入力画像における検出対象物の水平方向位置を示す行ベクトルを出力するステップと、前記入力画像に基づくマップに対して、非線形化処理およびプーリング処理を行い、前記入力画像の垂直方向の解像度を保ったまま、前記入力画像における前記検出対象物の垂直方向位置を示す列ベクトルを出力するステップと、を備えるニューラルネットワーク処理方法が提供される。   According to another aspect of the present invention, a non-linearization process and a pooling process are performed on a map based on an input image, and a detection target in the input image is maintained while maintaining a horizontal resolution of the input image. Outputting a row vector indicating a horizontal position of the input image, and performing a non-linearization process and a pooling process on the map based on the input image, and maintaining the vertical resolution of the input image in the input image Outputting a column vector indicating a vertical position of the detection object, and providing a neural network processing method.

また、本発明の別の態様によれば、入力画像に基づくマップに対して、非線形化処理およびプーリング処理を行い、前記入力画像の水平方向の解像度を保ったまま、前記入力画像における検出対象物の水平方向位置を示す行ベクトルを出力するステップと、前記入力画像に基づくマップに対して、非線形化処理およびプーリング処理を行い、前記入力画像の垂直方向の解像度を保ったまま、前記入力画像における前記検出対象物の垂直方向位置を示す列ベクトルを出力するステップと、前記行ベクトルおよび前記列ベクトルに基づいて、前記入力画像における前記検出対象物の位置を特定するステップと、を備える検出方法が提供される。   According to another aspect of the present invention, a non-linearization process and a pooling process are performed on a map based on an input image, and a detection target in the input image is maintained while maintaining a horizontal resolution of the input image. Outputting a row vector indicating a horizontal position of the input image, and performing a non-linearization process and a pooling process on the map based on the input image, and maintaining the vertical resolution of the input image in the input image A detection method comprising: outputting a column vector indicating a vertical position of the detection object; and specifying a position of the detection object in the input image based on the row vector and the column vector. Provided.

入力画像の水平方向の解像度を保ったまま、入力画像における検出対象物の水平方向位置を示す行ベクトルを出力するとともに、入力画像の垂直方向の解像度を保ったまま、入力画像における検出対象物の垂直方向位置を示す行ベクトルを出力するため、精度よく検出対象物の位置を検出できる。さらに、検出対象物の大きさや縦横比に何らの制限もないため、処理負荷を軽減できる。   A row vector indicating the horizontal position of the detection target in the input image is output while maintaining the horizontal resolution of the input image, and the detection target of the input image is maintained while maintaining the vertical resolution of the input image. Since the row vector indicating the vertical position is output, the position of the detection target can be detected with high accuracy. Furthermore, since there are no restrictions on the size and aspect ratio of the detection target, the processing load can be reduced.

第1の実施形態に係るニューラルネットワーク処理部1の処理動作の概要を説明する図。The figure explaining the outline | summary of the processing operation of the neural network process part 1 which concerns on 1st Embodiment. 第1の実施形態に係る検出装置100の概略構成を示すブロック図。1 is a block diagram showing a schematic configuration of a detection apparatus 100 according to a first embodiment. 第1の実施形態に係るニューラルネットワーク処理部1の概略構成を示すブロック図。1 is a block diagram showing a schematic configuration of a neural network processing unit 1 according to a first embodiment. ニューラルネットワーク処理部1の処理動作の概略を説明する図。The figure explaining the outline of the processing operation of the neural network process part. 非線形化処理部121hの処理を説明する図。The figure explaining the process of the non-linearization process part 121h. 非線形化処理部121hにおける畳み込み演算を説明する図。The figure explaining the convolution calculation in the non-linearization process part 121h. 水平方向マップ生成部12hにおけるプーリング部122hのプーリング処理を説明する図。The figure explaining the pooling process of the pooling part 122h in the horizontal direction map production | generation part 12h. サンプル画像から正解データを生成するための入力画像を説明する図。The figure explaining the input image for producing | generating correct data from a sample image. 正解データ生成時のニューラルネットワーク処理部1の処理を模式的に示す図。The figure which shows typically the process of the neural network process part 1 at the time of correct data generation. 第2の実施形態に係るニューラルネットワーク処理部1’の概略構成を示すブロック図。The block diagram which shows schematic structure of the neural network process part 1 'which concerns on 2nd Embodiment. 水平方向マップ生成部12h’および垂直方向マップ生成部12v’の概略構成を示すブロック図。The block diagram which shows schematic structure of the horizontal direction map production | generation part 12h 'and the vertical direction map production | generation part 12v'. 水平方向マップ生成部12h’および垂直方向マップ生成部12v’の処理動作の概略を説明する図。The figure explaining the outline of the processing operation of the horizontal direction map production | generation part 12h 'and the vertical direction map production | generation part 12v'. マップ93の生成法を説明する図。The figure explaining the production | generation method of the map 93. FIG. マップ64’の生成法を説明する図。The figure explaining the production | generation method of map 64 '. 第2の実施形態に係るニューラルネットワーク処理部1’の処理動作を模式的に示す図。The figure which shows typically the processing operation of the neural network process part 1 'which concerns on 2nd Embodiment. 特定部3による、検出対象物の左右端位置の特定を説明する図。The figure explaining specification of the right-and-left end position of a detection target by specific part 3. 特定部3による、検出対象物の上下端の特定を説明する図。The figure explaining the identification of the upper and lower ends of a detection target by the identification unit. 特定部3の処理動作の第1例を示す図。The figure which shows the 1st example of the processing operation of the specific | specification part 3. FIG. 特定部3によるノイズ除去を説明する図。The figure explaining the noise removal by the specific | specification part 3. FIG. ノイズ除去の手順を示すフローチャート。The flowchart which shows the procedure of noise removal. 特定部3の処理動作の第2例を示す図。The figure which shows the 2nd example of the processing operation of the specific | specification part 3. FIG. 特定部3の処理動作の第3例を示す図。The figure which shows the 3rd example of the processing operation of the specific | specification part 3. FIG. 特定部3の処理動作の第4例を示す図。The figure which shows the 4th example of the processing operation of the specific | specification part 3. FIG. 特定部3の処理動作の第5例を示す図。The figure which shows the 5th example of the processing operation of the specific | specification part 3. FIG. 特定部3の処理動作の第6例を示す図。The figure which shows the 6th example of the processing operation of the specific | specification part 3. FIG. 車載カメラ101と検出対象物102との進行方向の距離Zを算出する手法を説明する図。The figure explaining the method of calculating the distance Z of the advancing direction of the vehicle-mounted camera 101 and the detection target object 102. FIG. 車載カメラ101と検出対象物102との横方向の距離XL,XRを算出する手法を説明する図。Lateral distance X L between the vehicle-mounted camera 101 and the detection object 102, diagram for explaining a method of calculating the X R. 第4の実施形態に係るニューラルネットワーク処理部1’’の概略構成を示すブロック図。The block diagram which shows schematic structure of the neural network process part 1 '' which concerns on 4th Embodiment. 第5の実施形態に係るニューラルネットワーク処理部1の処理動作の概要を説明する図。The figure explaining the outline | summary of the processing operation of the neural network process part 1 which concerns on 5th Embodiment. サンプル画像から正解データを生成するための入力画像を説明する図。The figure explaining the input image for producing | generating correct data from a sample image. 別のサンプル画像から正解データを生成するための入力画像を説明する図。The figure explaining the input image for producing | generating correct data from another sample image. 領域特定部13の処理動作を説明する図。The figure explaining the processing operation of the area | region specific part 13. FIG.

以下、本発明に係る実施形態について、図面を参照しながら具体的に説明する。   Embodiments according to the present invention will be specifically described below with reference to the drawings.

(第1の実施形態)
第1の実施形態では、入力画像における検出対象物の上下左右端の位置、より詳しくは、左端位置xl、右端位置xr、上端位置ytおよび下端位置ybを、入力画像の解像度を損なうことなく特定する。
(First embodiment)
In the first embodiment, the positions of the upper, lower, left and right ends of the detection object in the input image, more specifically, the left end position xl, the right end position xr, the upper end position yt, and the lower end position yb are specified without impairing the resolution of the input image. To do.

そのために、入力画像と解像度が等しい仮想的な2値画像を考える。この2値画像は、画素(xl,yt),(xr,yt),(xl,yb),(xr,yb)の値のみが1であり、他の画素の値は0である。入力画像を処理して上記のような2値画像が得られれば、検出対象物の上下左右端が自ら明らかとなる。   Therefore, a virtual binary image having the same resolution as the input image is considered. In this binary image, only the values of the pixels (xl, yt), (xr, yt), (xl, yb), (xr, yb) are 1, and the values of the other pixels are 0. When the binary image as described above is obtained by processing the input image, the upper, lower, left and right ends of the detection target are clarified.

さらに、この2値画像を行列とみなせば、この2値画像は、yt行およびyb行の値のみ1であり他行の値はすべて0である列ベクトルと、xl列およびxr列の値のみ1であり他列の値はすべて0である行ベクトルとの積に分解される。列ベクトルの行数および行ベクトルの列数が、入力画像の垂直方向および水平方向の解像度とそれぞれ等しければ、入力画像の解像度を損なうことなく、検出対象物の上下左右端の位置を特定できる。   Further, if this binary image is regarded as a matrix, this binary image has only a column vector in which only the values of the yt row and the yb row are 1 and the values of the other rows are all 0, and the values of the xl and xr columns. 1 and the values of the other columns are decomposed into products with row vectors which are all 0. If the number of columns in the column vector and the number of columns in the row vector are equal to the vertical and horizontal resolutions of the input image, the positions of the upper, lower, left and right ends of the detection target can be specified without impairing the resolution of the input image.

そこで、本実施形態では、入力画像をニューラルネットワーク処理して、その解像度を損なうことなく、上記のような列ベクトルおよび行ベクトルを出力するニューラルネットワーク処理装置(ニューラルネットワーク処理部)を開示する。   Therefore, in the present embodiment, a neural network processing apparatus (neural network processing unit) that performs neural network processing on an input image and outputs the above column vector and row vector without losing the resolution is disclosed.

図1は、第1の実施形態に係るニューラルネットワーク処理部1の処理動作の概要を説明する図である。図1(a)に示すように、入力画像の垂直方向画素数がa、水平方向画素数がb(以下、このことを単に「入力画像の画素数がb×a」ともいう)であるとする。具体的な処理内容は後述するが、この場合、ニューラルネットワーク処理部1は、要素数(列数)がbの行ベクトル51と、要素数(行数)がaの列ベクトル52とを出力する。   FIG. 1 is a diagram for explaining the outline of the processing operation of the neural network processing unit 1 according to the first embodiment. As shown in FIG. 1A, the number of vertical pixels in the input image is a, and the number of horizontal pixels is b (hereinafter, this is also simply referred to as “the number of pixels in the input image is b × a”). To do. Although specific processing contents will be described later, in this case, the neural network processing unit 1 outputs a row vector 51 having the number of elements (number of columns) b and a column vector 52 having the number of elements (number of rows) a. .

図1(b)に示すように、入力画像における検出対象物の境界を矩形で定めたとき、その左上、右上、左下および右下の画素位置がそれぞれ(xl,yt),(xr,yt),(xl,yb),(xr,yb)であったとする。このとき、ニューラルネットワーク処理部1は、xl列およびxr列のみの値が1であり他列の値が0である行ベクトル51、および、yt行およびyb行のみの値が1であり他行の値が0である列ベクトル52を出力するよう、入力画像に対してニューラルネットワーク処理を行う。   As shown in FIG. 1B, when the boundary of the detection object in the input image is defined by a rectangle, the upper left, upper right, lower left and lower right pixel positions are (xl, yt) and (xr, yt), respectively. , (Xl, yb), (xr, yb). At this time, the neural network processing unit 1 has a row vector 51 in which only the values in the xl and xr columns are 1 and the values in the other columns are 0, and the values in only the yt and yb rows are 1 and the other rows. Neural network processing is performed on the input image so as to output a column vector 52 whose value is 0.

行ベクトル51において値が1である列が検出対象物の左端位置および/または右端位置を示している。列ベクトル52において値が1である行が検出対象物の上端位置および/または下端位置を示している。よって、このような行ベクトル51および列ベクトル52に基づいて、検出対象物の位置を特定できる。   A column having a value of 1 in the row vector 51 indicates a left end position and / or a right end position of the detection target. A row having a value of 1 in the column vector 52 indicates the upper end position and / or the lower end position of the detection target. Therefore, the position of the detection target can be specified based on such row vector 51 and column vector 52.

以下、具体例として、車載カメラで車両の前方を撮影し、得られた画像を入力画像として検出対象物(例えば、人、他の車両、標識)の上下左右端の位置を検出する検出装置を説明する。   Hereinafter, as a specific example, a detection device that captures the front of a vehicle with an in-vehicle camera and detects the positions of the upper, lower, left and right ends of a detection object (for example, a person, another vehicle, a sign) using the obtained image as an input image explain.

図2は、第1の実施形態に係る検出装置100の概略構成を示すブロック図である。検出装置100は、ニューラルネットワーク処理部1と、学習部2と、特定部3とを備えている。本検出装置100は、予めニューラルネットワーク処理部1および学習部2が、サンプル画像を用いてニューラルネットワークパラメータを生成する(このことを「学習処理」ともいう)。そして、ニューラルネットワーク処理部1および特定部3が、生成されたニューラルネットワークパラメータを用いて、入力画像から検出対象物を検出する(このことを「検出処理」ともいう)。   FIG. 2 is a block diagram illustrating a schematic configuration of the detection apparatus 100 according to the first embodiment. The detection apparatus 100 includes a neural network processing unit 1, a learning unit 2, and a specifying unit 3. In this detection apparatus 100, the neural network processing unit 1 and the learning unit 2 generate neural network parameters in advance using sample images (this is also referred to as “learning processing”). Then, the neural network processing unit 1 and the specifying unit 3 detect a detection target from the input image using the generated neural network parameters (this is also referred to as “detection processing”).

学習処理において、まずニューラルネットワーク処理部1は、学習処理用のニューラルネットワークパラメータを用い、事前に用意されたサンプル画像を加工して得られた入力画像に対してニューラルネットワーク処理を行い、正解データを生成する。続いて、ニューラルネットワーク処理部1は、同サンプル画像を入力画像としてニューラルネットワーク処理し、行ベクトル51および列ベクトル52を出力する。そして、学習部2は、これら行ベクトル51および列ベクトル52が上記正解データにできるだけ近づくよう、検出処理用のニューラルネットワークパラメータを生成する。   In the learning process, first, the neural network processing unit 1 performs neural network processing on an input image obtained by processing a sample image prepared in advance using neural network parameters for learning processing, and obtains correct data. Generate. Subsequently, the neural network processing unit 1 performs a neural network process using the sample image as an input image, and outputs a row vector 51 and a column vector 52. The learning unit 2 generates a neural network parameter for detection processing so that the row vector 51 and the column vector 52 are as close as possible to the correct data.

検出処理において、ニューラルネットワーク処理部1には、車載カメラからの画像が入力画像として入力される。そして、ニューラルネットワーク処理部1は、学習部2によって生成された検出処理用のニューラルネットワークパラメータを用いて入力画像に対してニューラルネットワーク処理を行い、検出対象物の位置を示す行ベクトル51および列ベクトル52を出力する。特定部3は、出力された行ベクトル51および列ベクトル52を解釈して、検出対象物の位置を特定する。   In the detection process, an image from the in-vehicle camera is input to the neural network processing unit 1 as an input image. Then, the neural network processing unit 1 performs neural network processing on the input image using the neural network parameters for detection processing generated by the learning unit 2, and a row vector 51 and a column vector indicating the position of the detection target object 52 is output. The specifying unit 3 interprets the output row vector 51 and column vector 52 and specifies the position of the detection target.

なお、学習処理および検出処理において、ニューラルネットワーク処理部1におけるニューラルネットワーク構造は共通している。そこで、まずはニューラルネットワーク構造を説明し、続いて学習処理および検出処理について詳しく説明する。   In the learning process and the detection process, the neural network structure in the neural network processing unit 1 is common. Therefore, first, the neural network structure will be described, and then the learning process and the detection process will be described in detail.

図3は、第1の実施形態に係るニューラルネットワーク処理部1の概略構成を示すブロック図である。図3に示すように、ニューラルネットワーク処理部1は、非線形化処理部11と、水平方向処理部120hと、垂直方向処理部120vとを有する。水平方向処理部120hは1以上の水平方向マップ生成部12hを有し、垂直方向処理部120vは1以上の垂直方向マップ生成部12vを有する。   FIG. 3 is a block diagram illustrating a schematic configuration of the neural network processing unit 1 according to the first embodiment. As shown in FIG. 3, the neural network processing unit 1 includes a non-linearization processing unit 11, a horizontal direction processing unit 120h, and a vertical direction processing unit 120v. The horizontal direction processing unit 120h includes one or more horizontal direction map generation units 12h, and the vertical direction processing unit 120v includes one or more vertical direction map generation units 12v.

なお、非線形化処理部11はなくてもよいし、2以上の非線形化処理部11が縦続接続されていてもよい。また、水平方向マップ生成部12hや垂直方向マップ生成部12vの数にも制限はないが、両者の数は等しい。   Note that the non-linearization processing unit 11 may not be provided, and two or more non-linearization processing units 11 may be connected in cascade. The number of horizontal direction map generation units 12h and vertical direction map generation units 12v is not limited, but the number of both is the same.

初段の非線形化処理部11は入力画像をマップとして畳み込み演算および活性化処理を行い、新たなマップを出力する。入力画像がグレースケールである場合、マップの数は1つである。入力画像がR画像、G画像およびB画像で構成される場合、マップの数はR画像、G画像およびB画像の3つであってもよい。非線形化処理部11が複数段ある場合、前段の非線形化処理部11から出力されるマップを、次段の非線形化処理部11が同様の処理をする。具体的な処理内容は、次に説明する水平方向マップ生成部12hの非線形化処理部121hなどにおける処理と同様である。非線形化処理部11による処理には、物体のエッジなどを抽出する役割がある。   The first-stage non-linearization processing unit 11 performs convolution calculation and activation processing using the input image as a map, and outputs a new map. When the input image is grayscale, the number of maps is one. When the input image is composed of an R image, a G image, and a B image, the number of maps may be three, an R image, a G image, and a B image. When there are a plurality of non-linearization processing units 11, the next-stage non-linearization processing unit 11 performs the same processing on the map output from the preceding non-linearization processing unit 11. The specific processing content is the same as the processing in the non-linearization processing unit 121h of the horizontal direction map generation unit 12h described below. The processing by the non-linearization processing unit 11 has a role of extracting an edge of an object.

水平方向処理部120hおよび垂直方向処理部120vには、入力画像に基づくマップ、すなわち、最終段の非線形化処理部11から出力されるマップか、非線形化処理部11がない場合には入力画像が入力される。検出対象物が1種類である場合、水平方向処理部120hは1つのマップ(すなわち行ベクトル51)を出力し、垂直方向処理部120vは1つのマップ(すなわち列ベクトル52)を出力する。   In the horizontal direction processing unit 120h and the vertical direction processing unit 120v, a map based on an input image, that is, a map output from the non-linearization processing unit 11 at the final stage, or an input image when the non-linearization processing unit 11 is not provided. Entered. When there is one type of detection object, the horizontal processing unit 120h outputs one map (that is, the row vector 51), and the vertical processing unit 120v outputs one map (that is, the column vector 52).

水平方向処理部120hにおける各水平方向マップ生成部12hは、非線形化処理部121hと、プーリング部122hとを有する。非線形化処理部121hは、マップに対して非線形化処理を行う。非線形化処理によってマップの数は変化し得るが、マップの解像度は不変である。プーリング部122hは、マップに対して垂直方向にのみのプーリングを行う。この処理によって、マップの垂直方向の解像度は減るが、水平方向の解像度は不変である。   Each horizontal direction map generation unit 12h in the horizontal direction processing unit 120h includes a non-linearization processing unit 121h and a pooling unit 122h. The non-linearization processing unit 121h performs non-linearization processing on the map. Although the number of maps can be changed by the non-linearization process, the resolution of the map is not changed. The pooling unit 122h performs pooling only in the direction perpendicular to the map. This process reduces the vertical resolution of the map, but does not change the horizontal resolution.

垂直方向処理部120vにおける各垂直方向マップ生成部12vも、非線形化処理部121vと、プーリング部122vとを有する。非線形化処理部121vは、マップに対して非線形化処理を行う。非線形化処理によってマップの数は変化し得るが、マップの解像度は不変である。プーリング部122vは、マップに対して水平方向にのみのプーリングを行う。この処理によって、マップの水平方向の解像度は減るが、垂直方向の解像度は不変である。   Each vertical direction map generation unit 12v in the vertical direction processing unit 120v also includes a non-linearization processing unit 121v and a pooling unit 122v. The nonlinear processing unit 121v performs nonlinear processing on the map. Although the number of maps can be changed by the non-linearization process, the resolution of the map is not changed. The pooling unit 122v performs pooling only in the horizontal direction with respect to the map. This process reduces the horizontal resolution of the map, but does not change the vertical resolution.

図4は、ニューラルネットワーク処理部1の処理動作の概略を説明する図であり、マップの解像度の変遷に特に着目したものである。同図において、実線矢印は非線形化処理部11,121h,121vによる非線形化処理を意味しており、破線矢印はプーリング部122h,122vによるプーリング処理を意味している。図4の表現によれば、入力画像のマップ数がm0であり、k段目(最終段を除く)の非線形化処理後のマップ数がmkであり、最終段の非線形化処理後のマップ数が1であることが明示される。また、プーリング処理の度にマップの解像度が垂直方向または水平方向にのみ変化していく様子も明示される。   FIG. 4 is a diagram for explaining the outline of the processing operation of the neural network processing unit 1, and pays particular attention to the change in the resolution of the map. In the figure, solid line arrows mean non-linearization processing by the non-linearization processing units 11, 121h, 121v, and broken line arrows mean pooling processing by the pooling units 122h, 122v. According to the expression of FIG. 4, the number of maps of the input image is m0, the number of maps after the k-th stage (excluding the last stage) nonlinear processing is mk, and the number of maps after the last stage nonlinear processing. Is clearly 1. Also, it is clearly shown that the map resolution changes only in the vertical direction or in the horizontal direction at each pooling process.

図5は、非線形化処理部121hの処理を説明する図である。非線形化処理部11,121h,121vの処理は共通しているため、特に断らない限り非線形化処理部121hについて説明する。   FIG. 5 is a diagram illustrating the processing of the non-linearization processing unit 121h. Since the processing of the nonlinear processing units 11, 121h, and 121v is common, the nonlinear processing unit 121h will be described unless otherwise specified.

非線形化処理部121hは、マップ61〜63に対して、畳み込み演算、活性化処理およびバイアス加算処理を行い、中間マップ71〜73を生成する。同図では、3つのマップ61〜63から3つの中間マップ71〜73を生成する例を示しているが、入力されるマップおよび中間マップの数に制限はない。ただし、初段の非線形化処理部121hが生成する中間マップ数と、初段の非線形化処理部121vが生成する中間マップ数は等しい。2段目以降も同様である。そして、最終段の非線形化処理部121h,121vは1つの中間マップを生成する。   The non-linearization processing unit 121h performs convolution operations, activation processing, and bias addition processing on the maps 61 to 63, and generates intermediate maps 71 to 73. In the figure, an example is shown in which three intermediate maps 71 to 73 are generated from three maps 61 to 63, but the number of input maps and intermediate maps is not limited. However, the number of intermediate maps generated by the first-stage nonlinearization processing unit 121h is equal to the number of intermediate maps generated by the first-stage nonlinearization processing unit 121v. The same applies to the second and subsequent stages. Then, the nonlinear processing units 121h and 121v in the final stage generate one intermediate map.

図5において、実線矢印は畳み込み演算および活性化処理を示している。畳み込み演算の詳細は図6を用いて後述するが、畳み込み演算に用いられるフィルタの係数は実線矢印ごとに異なり得る。活性化処理は、シグモイド関数などの活性化関数を用い、畳み込み演算の結果を活性化する処理である。また、一点鎖線矢印はバイアス加算処理を示しており、スカラーであるバイアスが1と掛け合わされて、活性化処理の結果の全要素に足される。バイアスは一点鎖線矢印ごとに異なり得る。   In FIG. 5, the solid line arrows indicate the convolution operation and the activation process. Details of the convolution operation will be described later with reference to FIG. 6, but the coefficient of the filter used for the convolution operation may be different for each solid line arrow. The activation process is a process for activating the result of the convolution operation using an activation function such as a sigmoid function. A one-dot chain arrow indicates a bias addition process. A scalar bias is multiplied by 1, and is added to all elements of the result of the activation process. The bias can be different for each dashed line arrow.

図5の例では、非線形化処理部121hにはマップ61〜63が入力され、マップ61に対する畳み込み演算および活性化処理の結果と、マップ62に対する畳み込み演算および活性化処理の結果と、マップ63に対する畳み込み演算および活性化処理の結果と、が加算され、さらにバイアスが加算されて、引き続くプーリング部122hに入力される中間マップ71が生成されることなどが示されている。   In the example of FIG. 5, the maps 61 to 63 are input to the non-linearization processing unit 121h, the result of the convolution calculation and activation processing for the map 61, the result of the convolution calculation and activation processing for the map 62, and the map 63 It is shown that the result of the convolution operation and the activation process is added, and the bias is added to generate an intermediate map 71 that is subsequently input to the pooling unit 122h.

上記フィルタ係数およびバイアスがニューラルネットワークパラメータである。学習処理用ニューラルネットワークパラメータは予め定められた固定値であり、検出処理用ニューラルネットワークパラメータは学習部2によって生成される。   The filter coefficients and bias are the neural network parameters. The learning processing neural network parameter is a predetermined fixed value, and the detection processing neural network parameter is generated by the learning unit 2.

図6は、非線形化処理部121hにおける畳み込み演算を説明する図である。図6(a)はマップのサイズが減少する畳み込み演算であり、図6(b)はマップのサイズが不変である畳み込み演算である。   FIG. 6 is a diagram for explaining the convolution operation in the non-linearization processing unit 121h. FIG. 6A shows a convolution operation in which the map size decreases, and FIG. 6B shows a convolution operation in which the map size is unchanged.

図6(a)の畳み込み演算では、非線形化処理部121hは、まず畳み込み演算前のマップ64の画素(1,1)を左上とする例えば3×3画素の領域にフィルタ80を設定する。そして、非線形化処理部121hは、フィルタ係数とマップ64の画素値との内積を、畳み込み演算後のマップ81の画素(1,1)の値とする。以下、非線形化処理部121hはフィルタ80の位置を1画素ずつ右にシフトしながら、畳み込み演算後のマップ81の各画素値を算出する。この場合、畳み込み演算後のマップ81における右端2列および下端2行の値は算出されない。よって、畳み込み演算後のマップ81は、畳み込み演算前のマップ64に比べて、水平方向および垂直方向とも2画素ずつサイズが減少する。   In the convolution operation of FIG. 6A, the non-linearization processing unit 121h first sets the filter 80 in, for example, a 3 × 3 pixel region in which the pixel (1, 1) of the map 64 before the convolution operation is at the upper left. Then, the non-linearization processing unit 121h sets the inner product of the filter coefficient and the pixel value of the map 64 as the value of the pixel (1, 1) of the map 81 after the convolution calculation. Thereafter, the non-linearization processing unit 121h calculates each pixel value of the map 81 after the convolution operation while shifting the position of the filter 80 to the right by one pixel. In this case, the values of the rightmost two columns and the lowermost two rows in the map 81 after the convolution operation are not calculated. Therefore, the size of the map 81 after the convolution operation is reduced by two pixels in both the horizontal direction and the vertical direction, compared to the map 64 before the convolution operation.

一方、図6(b)の畳み込み演算では、非線形化処理部121hは、畳み込み演算前のマップ64の画素(1,1)を中央とする例えば3×3画素の領域にフィルタ80を設定する。そして、非線形化処理部121hは、フィルタ係数とマップ64の画素値との内積を、畳み込み演算後のマップ82の画素(1,1)の値とする。ただし、畳み込み演算前のマップ64からはみ出る領域の画素の値は0とする(Zero paddingと呼ばれる)。以下、非線形化処理部121hはフィルタ80の位置を1画素ずつ右にシフトしながら、畳み込み演算後のマップ82の各画素値を算出する。この場合、畳み込み演算後のマップ82のサイズは、畳み込み演算前のマップ64のサイズと等しい。   On the other hand, in the convolution operation of FIG. 6B, the non-linearization processing unit 121h sets the filter 80 in, for example, a 3 × 3 pixel region centered on the pixel (1, 1) of the map 64 before the convolution operation. Then, the non-linearization processing unit 121h sets the inner product of the filter coefficient and the pixel value of the map 64 as the value of the pixel (1, 1) of the map 82 after the convolution calculation. However, the value of the pixel in the region that protrudes from the map 64 before the convolution operation is set to 0 (referred to as zero padding). Thereafter, the non-linearization processing unit 121h calculates each pixel value of the map 82 after the convolution calculation while shifting the position of the filter 80 to the right by one pixel. In this case, the size of the map 82 after the convolution operation is equal to the size of the map 64 before the convolution operation.

いずれの場合でもマップ64が縮小されるわけではないので、マップのサイズ(画素数)が変化するか否かに関わらず、畳み込み演算の前後でマップの解像度は等しいと考えることができる。   In any case, since the map 64 is not reduced, it can be considered that the resolution of the map is the same before and after the convolution operation regardless of whether the size (number of pixels) of the map changes or not.

なお、フィルタ80のサイズに特に制限はないが、以下の具体例では、フィルタ80の水平方向画素数および垂直方向画素数を互いに等しい奇数とし、かつ、すべての非線形化処理部121h,121vで共通のサイズとする。各フィルタ80の係数は学習処理によって生成されるものであり、非線形化処理部121h,121vごとに異なり得る。また、図6(b)のマップサイズが不変である畳み込み演算が行われるものとする。   The size of the filter 80 is not particularly limited, but in the following specific example, the number of horizontal pixels and the number of vertical pixels of the filter 80 are equal to each other and are common to all the non-linearization processing units 121h and 121v. The size of The coefficient of each filter 80 is generated by learning processing, and may be different for each of the non-linearization processing units 121h and 121v. Further, it is assumed that a convolution operation in which the map size in FIG. 6B is unchanged is performed.

図7は、水平方向マップ生成部12hにおけるプーリング部122hのプーリング処理を説明する図である。このプーリング部122hは、水平方向の解像度を変えることなく、言い換えると、水平方向の画素数を保ったまま、垂直方向にのみマップをプーリング(縮小)する。以下、垂直方向の画素数を1/2にプーリングする例を具体的に説明する。   FIG. 7 is a diagram illustrating the pooling process of the pooling unit 122h in the horizontal direction map generation unit 12h. The pooling unit 122h pools (reduces) the map only in the vertical direction without changing the horizontal resolution, in other words, while maintaining the number of pixels in the horizontal direction. Hereinafter, an example in which the number of pixels in the vertical direction is pooled to ½ will be described in detail.

まず、プーリング部122hは非線形化処理部121hからの中間マップ71を水平方向1画素×垂直方向2画素のグリッド84に分割する(図7(a))。グリッド84の総数は中間マップ71の1/2となる。次いで、プーリング部122hは各グリッド84内で最大値を有する画素を選択する(図7(b)の黒塗り画素が選択された画素を示す)。そして、プーリング部122hは、各グリッド84内において、選択された画素で他の画素を埋めてプーリング処理後のマップ85を生成する(図7(c))。これにより、非線形化処理部121hが生成した中間マップ71は垂直方向にのみプーリングされる。   First, the pooling unit 122h divides the intermediate map 71 from the non-linearization processing unit 121h into a grid 84 of 1 pixel in the horizontal direction × 2 pixels in the vertical direction (FIG. 7A). The total number of grids 84 is ½ of the intermediate map 71. Next, the pooling unit 122h selects a pixel having the maximum value in each grid 84 (shows a pixel in which the black pixel in FIG. 7B is selected). Then, the pooling unit 122h generates a map 85 after the pooling process by filling other pixels with the selected pixel in each grid 84 (FIG. 7C). As a result, the intermediate map 71 generated by the non-linearization processing unit 121h is pooled only in the vertical direction.

なお、図7(b)において、プーリング部122hは、各グリッド84内での最大値を選択するのではなく、グリッド84内画素の平均値を用いてもよい。また、プーリング部122hは垂直方向の画素数を(1/2)n(nは1以上の整数)にプーリングするのが望ましいが、1/3や1/5などにプーリングしてもよい。 In FIG. 7B, the pooling unit 122h may use the average value of the pixels in the grid 84 instead of selecting the maximum value in each grid 84. The pooling unit 122h preferably pools the number of pixels in the vertical direction to (1/2) n (n is an integer of 1 or more), but may be pooled to 1/3 or 1/5.

一方、垂直方向マップ生成部12vにおけるプーリング部122vは、垂直方向の解像度を変えることなく、言い換えると、垂直方向の画素数を保ったまま、水平方向にのみマップをプーリングする。その他は水平方向マップ生成部12hのプーリング部122hと同様である。   On the other hand, the pooling unit 122v in the vertical direction map generation unit 12v pools the map only in the horizontal direction while maintaining the number of pixels in the vertical direction without changing the vertical resolution. Others are the same as the pooling part 122h of the horizontal direction map production | generation part 12h.

このように、1つのプーリング部122h,122vを経るごとにマップの垂直方向画素数および水平方向画素数はそれぞれ1/2になる。例えば、8段ずつのプーリング部122h,122vが設けられ、入力画像の画素数が512×256である場合、最終的には1つの行ベクトル51および2つの列ベクトル52が出力される。
続いて、学習処理について説明する。
As described above, the vertical pixel number and the horizontal pixel number of the map become ½ each time one of the pooling parts 122h and 122v passes. For example, when eight stages of pooling units 122h and 122v are provided and the number of pixels of the input image is 512 × 256, one row vector 51 and two column vectors 52 are finally output.
Subsequently, the learning process will be described.

学習処理を行うためには、あるサンプル画像に対する理想的な行ベクトル51および列ベクトル52を正解データとして予め用意する必要がある。ニューラルネットワーク処理部1によって正解データを生成する手法を説明する。   In order to perform the learning process, it is necessary to prepare ideal row vectors 51 and column vectors 52 for a certain sample image as correct data in advance. A method of generating correct data by the neural network processing unit 1 will be described.

図8は、サンプル画像から正解データを生成するための入力画像を説明する図である。同図(a)はサンプル画像の例であり、人手によって検出対象物の上下左右端の位置を特定し、同図(b)に示す入力画像を生成する。入力画像は、サンプル画像と同じ画素数を有し、検出対象物の上下左右端における画素の値のみ1で、他の画素の値は0とする。   FIG. 8 is a diagram for explaining an input image for generating correct answer data from a sample image. (A) in the figure is an example of a sample image. The positions of the upper, lower, left and right ends of the detection target are specified by hand, and the input image shown in (b) in FIG. The input image has the same number of pixels as the sample image. Only the pixel values at the upper, lower, left and right ends of the detection target are 1, and the values of the other pixels are 0.

図8(b)に示す入力画像がニューラルネットワーク処理部1に入力される。学習処理において、マップ数は1とする。そして、学習用ニューラルネットワークパラメータのうち、バイアスはすべて0とする。また、フィルタ係数は、フィルタの中央の値のみ1とし、他の値は0とする。なお、学習処理時と検出処理時において、フィルタのサイズは共通にしておく。   An input image shown in FIG. 8B is input to the neural network processing unit 1. In the learning process, the number of maps is 1. Of the learning neural network parameters, all biases are set to zero. The filter coefficient is set to 1 only at the center value of the filter, and 0 is set to other values. Note that the size of the filter is made common during the learning process and the detection process.

図9は、正解データ生成時のニューラルネットワーク処理部1の処理を模式的に示す図である。図示のように、非線形化処理部11,121h,121v,プーリング部122h,122vの処理を経て、行ベクトル51および列ベクトル52が出力される。これら行ベクトル51および列ベクトル52が正解データであり、サンプル画像と正解データとの組が得られる。   FIG. 9 is a diagram schematically illustrating processing of the neural network processing unit 1 when generating correct answer data. As illustrated, the row vector 51 and the column vector 52 are output through the processing of the non-linearization processing units 11, 121h, 121v and the pooling units 122h, 122v. These row vector 51 and column vector 52 are correct answer data, and a set of sample images and correct answer data is obtained.

検出精度を高めるためには、できるだけ多種多様のサンプル画像を用いる。例えば、検出対象物が一部だけ含まれるサンプル画像を用いるのが望ましい。これにより、検出対象物が一部だけしか入力画像に写っていない場合であっても、検出対象物を精度よく検出できる。また、検出対象物を囲う矩形の縦横比が様々なサンプル画像を用いるのが望ましい。これにより、検出対象物が撮影された方向によって縦横比が異なる場合(例えば検出対象物が車両である場合)であっても、検出対象物を精度よく検出できる。   In order to increase the detection accuracy, as many sample images as possible are used. For example, it is desirable to use a sample image that includes only a part of the detection object. As a result, even when only a part of the detection object is shown in the input image, the detection object can be accurately detected. In addition, it is desirable to use sample images having various aspect ratios of rectangles surrounding the detection target. Thereby, even when the aspect ratio differs depending on the direction in which the detection target is photographed (for example, when the detection target is a vehicle), the detection target can be detected with high accuracy.

その他、画素数が多いサンプル画像や少ないサンプル画像、検出対象物が中央にあるサンプル画像や端にあるサンプル画像、対象検出物が大きいサンプル画像や小さいサンプル画像、検出対象物が正面を向いているサンプル画像や斜めを向いているサンプル画像などを用いるのが望ましい。   In addition, sample images with a large number of pixels, small sample images, sample images with a detection target in the center, sample images at the edges, sample images with a large target detection object, small sample images, and the detection target are facing the front. It is desirable to use a sample image or a sample image facing diagonally.

学習部2には、上記の処理によって得られた正解データ(つまり行ベクトル51および列ベクトル52)ti m(iはサンプル画像のインデックスであり、mは行ベクトルであるか列ベクトルであるかを示すインデックス)、および、ニューラルネットワークパラメータをWとしてサンプル画像xiをニューラルネットワーク処理部1が処理したときの出力(つまり行ベクトル51および列ベクトル52)fm(xi;W)が入力される。
そして、学習部2は下記(1)式のように目的関数E(W)を定義する。
The learning unit 2 receives the correct data (that is, the row vector 51 and the column vector 52) t i m (i is an index of the sample image and m is a row vector or a column vector) obtained by the above processing. And an output when the neural network processing unit 1 processes the sample image x i with the neural network parameter W (that is, the row vector 51 and the column vector 52) f m (x i ; W) is input. The
Then, the learning unit 2 defines an objective function E (W) as in the following equation (1).

ここで、nはサンプル画像の数である。目的関数E(W)はニューラルネットワークパラメータW(つまり、フィルタ係数およびバイアス)の関数であり、出力fm(xi;W)と正解データti mとが一致する場合のみ0となり、一致しない場合は0より大きくなる。 Here, n is the number of sample images. The objective function E (W) is a function of the neural network parameter W (that is, the filter coefficient and the bias), and becomes 0 only when the output f m (x i ; W) and the correct answer data t i m match, and does not match. If it is greater than zero.

そこで、学習部2は、目的関数E(W)が可能な限り小さくなるようニューラルネットワークパラメータWを生成する。目的関数E(W)を最小化するには、例えば公知の誤差逆伝搬法を適用することができ、具体的には目的関数E(W)が収束するまで、下記(2)式に示す更新則を最終段の水平方向マップ生成部12h側および垂直方向マップ生成部12v側から順に適用すればよい。
Therefore, the learning unit 2 generates the neural network parameter W so that the objective function E (W) is as small as possible. In order to minimize the objective function E (W), for example, a publicly known error back propagation method can be applied. Specifically, until the objective function E (W) converges, the update shown in the following formula (2) is performed. The rules may be applied in order from the horizontal direction map generation unit 12h side and the vertical direction map generation unit 12v side of the final stage.

このようにして生成されたフィルタ係数およびバイアスが、検出処理用ニューラルネットワークパラメータとして、検出処理に用いられる。
続いて、検出処理について説明する。
The filter coefficient and the bias generated in this way are used for detection processing as a detection processing neural network parameter.
Subsequently, the detection process will be described.

検出処理時は、ニューラルネットワーク処理部1の各非線形化処理部11,121h,121vには、検出処理用ニューラルネットワークパラメータが設定されている。また、車載カメラからの画像が入力画像としてニューラルネットワーク処理部1に入力される。そして、図1に示すように、ニューラルネットワーク処理部1は行ベクトル51および列ベクトル52を生成する。   At the time of detection processing, neural network parameters for detection processing are set in the non-linearization processing units 11, 121h, 121v of the neural network processing unit 1. An image from the in-vehicle camera is input to the neural network processing unit 1 as an input image. Then, as shown in FIG. 1, the neural network processing unit 1 generates a row vector 51 and a column vector 52.

検出処理用ニューラルネットワークパラメータが適切であれば、行ベクトル51および列ベクトル52において、検出対象物の上下左右端に対応する列および行の値が1(あるいは1に近い値)となり、他の値が0(あるいは0に近い値)となる。よって、特定部3は、行ベクトル51および列ベクトル52に基づいて、入力画像における検出対象物の上下左右端の位置を特定できる。なお、特定部3ついては、第3の実施形態で詳述する。   If the neural network parameters for detection processing are appropriate, the column and row values corresponding to the upper, lower, left and right edges of the detection target in the row vector 51 and the column vector 52 are 1 (or values close to 1), and other values Becomes 0 (or a value close to 0). Therefore, the specifying unit 3 can specify the positions of the upper, lower, left and right ends of the detection target in the input image based on the row vector 51 and the column vector 52. The specifying unit 3 will be described in detail in the third embodiment.

このように、第1の実施形態では、行ベクトル51を生成する水平方向処理部120hと、列ベクトル52を生成する垂直方向処理部120vとを別々に設ける。そして、水平方向処理部120hにおけるプーリング部122hは、マップを水平方向にはプーリングせず垂直方向にのみプーリングする。垂直方向処理部120vにおけるプーリング部122vは、マップを垂直方向にはプーリングせず水平方向にのみプーリングする。   As described above, in the first embodiment, the horizontal direction processing unit 120 h that generates the row vector 51 and the vertical direction processing unit 120 v that generates the column vector 52 are provided separately. And the pooling part 122h in the horizontal direction processing part 120h does not pool the map in the horizontal direction but only in the vertical direction. The pooling unit 122v in the vertical processing unit 120v does not pool the map in the vertical direction, but pools the map only in the horizontal direction.

そのため、入力画像の水平方向の解像度を保ったまま検出対象物の水平方向の位置を示す行ベクトル51を生成できるとともに、入力画像の垂直方向の解像度を保ったまま検出対象物の垂直方向の位置を示す列ベクトル52を生成できる。したがって、高精度に検出対象物の位置を検出できる。   Therefore, the row vector 51 indicating the horizontal position of the detection object can be generated while maintaining the horizontal resolution of the input image, and the vertical position of the detection object can be maintained while maintaining the vertical resolution of the input image. Can be generated. Therefore, the position of the detection target can be detected with high accuracy.

また、本実施形態によれば、検出対象物の大きさや縦横比に何らの制限もないため、ピラミッド画像の生成やスライディングウィンドウの適用が不要であり、ニューラルネットワーク処理部1の処理負荷を軽減できる。   In addition, according to the present embodiment, since there is no limitation on the size and aspect ratio of the detection target object, generation of a pyramid image and application of a sliding window are unnecessary, and the processing load on the neural network processing unit 1 can be reduced. .

(第2の実施形態)
次に説明する第2の実施形態では、垂直方向処理部120vで生成されるマップも使用して水平方向処理部120hが行ベクトル51を生成するとともに、水平方向処理部120hで生成されるマップも使用して垂直方向処理部120vが列ベクトル52を生成するものである。
(Second Embodiment)
In the second embodiment to be described next, the horizontal direction processing unit 120h generates the row vector 51 using the map generated by the vertical direction processing unit 120v, and also the map generated by the horizontal direction processing unit 120h. The vertical processing unit 120v is used to generate the column vector 52.

図10は、第2の実施形態に係るニューラルネットワーク処理部1’の概略構成を示すブロック図である。図3との相違点として、少なくとも2つの水平方向マップ生成部12h,12h’および垂直方向マップ生成部12v,12v’が設けられる。初段の水平方向マップ生成部12hおよび垂直方向マップ生成部12vは第1の実施形態で説明したものと同様である。これに対し、2段目以降の水平方向マップ生成部12h’は、前段の水平方向マップ生成部12h(12h’)から出力されるマップのみならず、前段の垂直方向マップ生成部12v(12v’)から出力されるマップも用いて、新たなマップを出力する。また、2段目以降の垂直方向マップ生成部12v’は、前段の垂直方向マップ生成部12v(12v’)から出力されるマップのみならず、前段の水平方向マップ生成部12h(12h’)から出力されるマップも用いて、新たなマップを出力する。   FIG. 10 is a block diagram illustrating a schematic configuration of the neural network processing unit 1 ′ according to the second embodiment. As a difference from FIG. 3, at least two horizontal direction map generators 12h and 12h 'and vertical direction map generators 12v and 12v' are provided. The first-stage horizontal direction map generation unit 12h and the vertical direction map generation unit 12v are the same as those described in the first embodiment. On the other hand, the second and subsequent horizontal direction map generation units 12h ′ not only include the map output from the previous horizontal direction map generation unit 12h (12h ′) but also the previous vertical direction map generation unit 12v (12v ′). ) Is also used to output a new map. The vertical direction map generation unit 12v ′ in the second and subsequent stages is not only the map output from the vertical direction map generation unit 12v (12v ′) in the previous stage, but also from the horizontal direction map generation unit 12h (12h ′) in the previous stage. A new map is output using the output map.

図11は、水平方向マップ生成部12h’および垂直方向マップ生成部12v’の概略構成を示すブロック図である。図示のように、2段目の水平方向マップ生成部12h’は非線形化処理部121h’を有し、初段の水平方向マップ生成部12hからの出力マップおよび初段の垂直方向マップ生成部12vからの出力マップに対して非線形化処理を行って中間マップを生成する。また、垂直方向マップ生成部12v’は同様の非線形化処理部121v’を有する。なお、プーリング部122h,122vは図3と同様である。   FIG. 11 is a block diagram showing a schematic configuration of the horizontal direction map generator 12h ′ and the vertical direction map generator 12v ′. As shown in the figure, the second-stage horizontal map generation unit 12h ′ has a non-linearization processing unit 121h ′, and outputs an output map from the first-stage horizontal direction map generation unit 12h and a first-stage vertical direction map generation unit 12v. An intermediate map is generated by performing a non-linearization process on the output map. Further, the vertical direction map generation unit 12v ′ includes a similar non-linearization processing unit 121v ′. The pooling portions 122h and 122v are the same as those in FIG.

図12は、水平方向マップ生成部12h’および垂直方向マップ生成部12v’の処理動作の概略を説明する図である。同図において、水平方向マップ生成部12h’に入力されるのは、初段の水平方向マップ生成部12hから出力される2つのマップ64,65であり、水平方向マップ生成部12h’が出力するのは2つのマップ91,92とする。また、垂直方向マップ生成部12v’に入力されるのは、初段の垂直方向マップ生成部12vから出力される2つのマップ66,67であり、垂直方向マップ生成部12v’が出力するのは2つのマップ93,94とする。   FIG. 12 is a diagram for explaining the outline of the processing operation of the horizontal direction map generation unit 12h ′ and the vertical direction map generation unit 12v ′. In the figure, the two maps 64 and 65 output from the first horizontal map generation unit 12h are input to the horizontal map generation unit 12h ′, and the horizontal map generation unit 12h ′ outputs the two maps. Are two maps 91 and 92. Also, the two maps 66 and 67 output from the initial vertical map generation unit 12v are input to the vertical direction map generation unit 12v ′, and the vertical direction map generation unit 12v ′ outputs two. Two maps 93 and 94 are assumed.

図示のように、非線形化処理部121h’はマップ64〜67から中間マップ74を生成する。中間マップ74の解像度はマップ64,65の解像度と等しい。そして、プーリング部122hは中間マップ74を垂直方向にのみプーリングしてマップ91を生成する。すなわち、マップ91の水平方向の解像度は、マップ64の水平方向の解像度と等しい。同様に、非線形化処理部121h’はマップ64〜67から中間マップ75を生成する。そして、プーリング部122hは中間マップ75からマップ92を生成する。   As illustrated, the non-linearization processing unit 121 h ′ generates an intermediate map 74 from the maps 64 to 67. The resolution of the intermediate map 74 is equal to the resolution of the maps 64 and 65. Then, the pooling unit 122h pools the intermediate map 74 only in the vertical direction to generate a map 91. That is, the horizontal resolution of the map 91 is equal to the horizontal resolution of the map 64. Similarly, the non-linearization processing unit 121 h ′ generates an intermediate map 75 from the maps 64 to 67. Then, the pooling unit 122h generates a map 92 from the intermediate map 75.

一方、非線形化処理部121v’はマップ64〜67から中間マップ76を生成する。中間マップ76の解像度はマップ66,67の解像度と等しい。そして、プーリング部122vは中間マップ76を水平方向にのみプーリングしてマップ93を生成する。すなわち、マップ93の垂直方向の解像度は、マップ66の垂直方向の解像度と等しい。同様に、非線形化処理部121v’はマップ64〜67から中間マップ77を生成する。そして、プーリング部122vは中間マップ77からマップ94を生成する。
マップ91〜94の生成法は共通しているため、以下、代表してマップ93の生成について詳しく説明する。
On the other hand, the non-linearization processing unit 121v ′ generates an intermediate map 76 from the maps 64-67. The resolution of the intermediate map 76 is equal to the resolution of the maps 66 and 67. Then, the pooling unit 122v pools the intermediate map 76 only in the horizontal direction to generate a map 93. That is, the vertical resolution of the map 93 is equal to the vertical resolution of the map 66. Similarly, the non-linearization processing unit 121v ′ generates an intermediate map 77 from the maps 64-67. Then, the pooling unit 122v generates a map 94 from the intermediate map 77.
Since the generation methods of the maps 91 to 94 are common, the generation of the map 93 will be described in detail below as a representative.

図13は、マップ93の生成法を説明する図である。ここで、入力画像の画素数はC×Rであるとする。初段の水平方向マップ生成部12hの処理により、垂直方向マップ生成部12v’に入力されるマップ64,65の画素数はC×R/2になっている。また、初段の垂直方向マップ生成部12vの処理により、垂直方向マップ生成部12v’に入力されるマップ66,66の画素数はC/2×Rになっている。   FIG. 13 is a diagram for explaining a method for generating the map 93. Here, it is assumed that the number of pixels of the input image is C × R. The number of pixels of the maps 64 and 65 input to the vertical direction map generation unit 12v ′ is C × R / 2 by the processing of the horizontal direction map generation unit 12h in the first stage. Further, the number of pixels of the maps 66 and 66 input to the vertical direction map generation unit 12v ′ is C / 2 × R by the process of the vertical direction map generation unit 12v in the first stage.

非線形化処理部121v’ はマップ66,67を畳み込み演算してそれぞれ中間マップ66’,67’を生成する。中間マップ66’,67’の画素数は、マップ66,67の画素数と同じく、C/2×Rである。ここでの畳み込み演算は、例えば図5(b)に示す処理である。   The non-linearization processing unit 121v ′ convolves the maps 66 and 67 to generate intermediate maps 66 ′ and 67 ′, respectively. The number of pixels in the intermediate maps 66 ′ and 67 ′ is C / 2 × R, similar to the number of pixels in the maps 66 and 67. The convolution calculation here is, for example, the process shown in FIG.

一方、非線形化処理部121v’はマップ64,65を畳み込み演算してそれぞれ中間マップ64’,65’を生成する。ここで、非線形化処理部121v’は、次のようにしてマップ64,65の水平方向画素数を1/2倍にするとともに垂直方向画素数を2倍にして、中間マップ64’,65’をそれぞれ生成する。   On the other hand, the non-linearization processing unit 121v 'performs convolution operations on the maps 64 and 65 to generate intermediate maps 64' and 65 ', respectively. Here, the non-linearization processing unit 121v ′ doubles the number of pixels in the horizontal direction of the maps 64 and 65 and doubles the number of pixels in the vertical direction as follows to obtain the intermediate maps 64 ′ and 65 ′ as follows. Are generated respectively.

図14は、マップ64’の生成法を説明する図である。同図では、フィルタの画素数を3×3としている。同図(a)に示すように、まず非線形化処理部121v’はフィルタの中心がマップ64の画素(1,1)と重なるようフィルタを設定する。そして、非線形化処理部121v’は、マップ64のフィルタが設定された部分の画素値とフィルタ係数との内積を、中間マップ64’の左上の画素(1,1)およびその下の画素(1,2)の値とする。つまり、1つの内積を、中間マップ64’の垂直方向に並ぶ2つの画素に設定する。   FIG. 14 is a diagram illustrating a method for generating the map 64 ′. In the figure, the number of pixels of the filter is 3 × 3. As shown in FIG. 6A, the non-linearization processing unit 121v ′ first sets the filter so that the center of the filter overlaps the pixel (1, 1) of the map 64. Then, the non-linearization processing unit 121v ′ calculates the inner product of the pixel value of the portion where the filter of the map 64 is set and the filter coefficient by using the upper left pixel (1, 1) and the lower pixel (1) of the intermediate map 64 ′. , 2). That is, one inner product is set to two pixels arranged in the vertical direction of the intermediate map 64 '.

続いて、図14(b)に示すように、非線形化処理部121v’はフィルタを2画素右にシフトし、フィルタの中心がマップ64の画素(3,1)に重なるようフィルタを設定する。そして、非線形化処理部121v’は、マップ64のフィルタが設定された部分の画素値とフィルタ係数との内積を、中間マップ64’の画素(2,1)およびその下の画素(2,2)の値とする。
このようにフィルタを2画素ずつ右にずらしながらマップ64の1行を処理することで、中間マップ64’の2列の値が定まる。
Subsequently, as illustrated in FIG. 14B, the non-linearization processing unit 121 v ′ shifts the filter to the right by two pixels, and sets the filter so that the center of the filter overlaps the pixel (3, 1) of the map 64. Then, the non-linearization processing unit 121v ′ calculates the inner product of the pixel value of the portion where the filter of the map 64 is set and the filter coefficient, as the pixel (2, 1) of the intermediate map 64 ′ and the lower pixel (2, 2). ) Value.
In this way, by processing one row of the map 64 while shifting the filter to the right by two pixels, the values of the two columns of the intermediate map 64 ′ are determined.

マップ64の1行目に対する処理終了後、図14(c)に示すように、非線形化処理部121v’はフィルタを1画素下にシフトし、フィルタの中心がマップ64の画素(1,2)と重なるようフィルタを設定し、内積を算出して中間マップ64’の画素(1,3)およびその下の画素(1,4)の値とする。   After the processing for the first row of the map 64 is finished, as shown in FIG. 14C, the non-linearization processing unit 121v ′ shifts the filter down by one pixel, and the center of the filter is the pixel (1, 2) of the map 64. Are set so that they overlap with each other, and the inner product is calculated as the value of the pixel (1, 3) and the pixel (1, 4) below it in the intermediate map 64 ′.

このようにフィルタをシフトしながら処理を行うことで、画素数がC×R/2であるマップ64から、画素数がC/2×Rである中間マップ64’が生成される。   By performing the processing while shifting the filter in this way, an intermediate map 64 ′ having the number of pixels of C / 2 × R is generated from the map 64 having the number of pixels of C × R / 2.

より一般的には、マップ64の水平方向画素数および垂直方向画素数をそれぞれ1/p倍、q倍(p,qは任意の整数)して中間マップ64’を生成するためには、非線形化処理部121v’は、マップ64のフィルタが設定された部分の画素値と、フィルタ係数との内積を、中間マップ64’における対応画素およびその下の(q−1)個の画素の値に設定する。この処理を、マップ64の水平方向においてはp画素ずつフィルタをシフトしながら、マップ64の垂直方向においては1画素ずつフィルタをシフトしながら行うことで、中間マップ64’を生成できる。   More generally, in order to generate the intermediate map 64 ′ by multiplying the number of horizontal pixels and the number of vertical pixels of the map 64 by 1 / p times and q times (p and q are arbitrary integers), respectively, nonlinearity is required. The conversion processing unit 121v ′ converts the inner product of the pixel value of the part where the filter of the map 64 is set and the filter coefficient into the value of the corresponding pixel in the intermediate map 64 ′ and (q−1) pixels below it. Set. By performing this process while shifting the filter by p pixels in the horizontal direction of the map 64 and shifting the filter by one pixel in the vertical direction of the map 64, an intermediate map 64 'can be generated.

以上のようにして、図13における中間マップ64’,65’が生成される。そして、非線形化処理部121v’は、中間マップ64’〜67’の各画素値を足し合わせて、画素数がC/2×Rである中間マップ76を生成する(図13の2点鎖線)。なお、図示していないが、足し合わせた後にバイアスが加算される。そして、プーリング部122vが中間マップ76に対してプーリング処理を行って、画素数がC/4×Rのマップ93が生成される。同様にして、非線形化処理部121v’は図12のマップ94を生成できる。
また、以上の説明の水平方向と垂直方向を入れ替えることで、非線形化処理部121h’はマップ91,92を生成できる。
As described above, the intermediate maps 64 ′ and 65 ′ in FIG. 13 are generated. Then, the non-linearization processing unit 121v ′ adds the pixel values of the intermediate maps 64 ′ to 67 ′ to generate the intermediate map 76 having the number of pixels of C / 2 × R (two-dot chain line in FIG. 13). . Although not shown, a bias is added after addition. Then, the pooling unit 122v performs a pooling process on the intermediate map 76, and a map 93 having the number of pixels of C / 4 × R is generated. Similarly, the non-linearization processing unit 121v ′ can generate the map 94 of FIG.
Further, the non-linearization processing unit 121h ′ can generate the maps 91 and 92 by switching the horizontal direction and the vertical direction described above.

すなわち、マップ66の水平方向画素数および垂直方向画素数をそれぞれp倍、1/q倍(p,qは任意の整数)して中間マップ(不図示。図13および図14の中間マップ64’に相当)を生成するためには、非線形化処理部121h’は、マップ66のフィルタが設定された部分の画素値と、フィルタ係数との内積を、中間マップにおける対応画素およびその右の(p−1)個の画素の値に設定する。この処理を、マップ66の水平方向においては1画素ずつフィルタをシフトしながら、マップ66の垂直方向においてはq画素ずつフィルタをシフトしながら行うことで、中間マップを生成できる。   That is, the number of pixels in the horizontal direction and the number of pixels in the vertical direction of the map 66 are multiplied by p and 1 / q, respectively (p and q are arbitrary integers), and an intermediate map (not shown. To generate the inner product of the pixel value of the portion of the map 66 where the filter is set and the filter coefficient, the non-linearization processing unit 121h ′ generates the corresponding pixel in the intermediate map and (p) -1) Set to the value of one pixel. An intermediate map can be generated by performing this process while shifting the filter by one pixel in the horizontal direction of the map 66 and shifting the filter by q pixels in the vertical direction of the map 66.

このように、水平方向処理部120hが垂直方向処理部120vで生成されるマップも使用し、垂直方向処理部120vが水平方向処理部120hで生成されるマップも使用することで、検出対象物の検出精度が向上することを説明する。   As described above, the horizontal direction processing unit 120h also uses the map generated by the vertical direction processing unit 120v, and the vertical direction processing unit 120v also uses the map generated by the horizontal direction processing unit 120h. The improvement in detection accuracy will be described.

図15は、第2の実施形態に係るニューラルネットワーク処理部1’の処理動作を模式的に示す図である。簡略化のために、図13において、初段の水平方向マップ生成部12hから出力される1つのマップ64と、初段の垂直方向マップ生成部12vから出力される1つのマップ66から、中間マップ76を生成することを示している。そして、検出対象物が人であるとしている。   FIG. 15 is a diagram schematically illustrating the processing operation of the neural network processing unit 1 ′ according to the second embodiment. For simplification, in FIG. 13, an intermediate map 76 is obtained from one map 64 output from the first horizontal map generation unit 12h and one map 66 output from the first vertical map generation unit 12v. It shows that it generates. The detection object is a person.

入力画像に人が写っていた場合、マップ64には垂直方向に潰された人の特徴が配置され、マップ66には水平方向に潰された人の特徴が配置される。本実施形態では、これら2つのマップ64,66から中間マップ76が生成される。中間マップ76の画素76aは、マップ64の矩形領域64aにおける内積と、マップ66の矩形領域66aにおける内積と、から生成される。画素76aが矩形領域66aのみを用いて生成される場合、マップ66における人の左足の先あたりの画像のみから、画素76aが生成されることになる。   When a person is shown in the input image, the feature of the person crushed in the vertical direction is arranged on the map 64, and the feature of the person crushed in the horizontal direction is arranged on the map 66. In the present embodiment, an intermediate map 76 is generated from these two maps 64 and 66. The pixel 76a of the intermediate map 76 is generated from the inner product in the rectangular area 64a of the map 64 and the inner product in the rectangular area 66a of the map 66. When the pixel 76a is generated using only the rectangular area 66a, the pixel 76a is generated only from the image of the left foot of the person on the map 66.

しかしながら、人の体のごく一部である足の先のみの画像から人の位置を精度よく検出するのは困難な場合もある。足の先と似た領域は画像内に多々存在し得るためである。   However, it may be difficult to accurately detect the position of a person from an image of only the tip of a foot that is a small part of the human body. This is because many regions similar to the tip of the foot may exist in the image.

これに対し本実施形態では、画素76aは、矩形領域66aのみならず、矩形領域64aも用いて生成される。そのため、足の先よりも縦に広い範囲(具体的には、足の付け根から腰、腹あたり)の画像から、画素76aが生成される。その結果、人のより広い領域の情報を使って人を検出することとなり、検出の精度が向上する。   On the other hand, in the present embodiment, the pixel 76a is generated using not only the rectangular area 66a but also the rectangular area 64a. Therefore, the pixel 76a is generated from an image in a range that is wider in the vertical direction than the tip of the foot (specifically, from the base of the foot to the waist and the stomach). As a result, the person is detected using information on a wider area of the person, and the detection accuracy is improved.

このように、第2の実施形態では、垂直方向処理部120vで生成されるマップも使用して水平方向処理部120hが行ベクトル51を生成するとともに、水平方向処理部120hで生成されるマップも使用して垂直方向処理部120vが列ベクトル52を生成する。そのため、より高精度に検出対象物の位置を検出できる。   As described above, in the second embodiment, the horizontal direction processing unit 120h generates the row vector 51 using the map generated by the vertical direction processing unit 120v, and the map generated by the horizontal direction processing unit 120h is also used. Using the vertical processing unit 120v, the column vector 52 is generated. Therefore, the position of the detection target can be detected with higher accuracy.

(第3の実施形態)
第3の実施形態では、特定部3について詳しく説明する。なお、本実施形態では、検出対象物が1種類であると仮定する。
(Third embodiment)
In the third embodiment, the specifying unit 3 will be described in detail. In this embodiment, it is assumed that there is one type of detection object.

図16は、特定部3による、検出対象物の左右端位置の特定を説明する図である。入力画像を処理した結果、2つの行ベクトル51a,51bが出力される例を示している。   FIG. 16 is a diagram illustrating the specification of the left and right end positions of the detection target by the specifying unit 3. An example is shown in which two row vectors 51a and 51b are output as a result of processing an input image.

行ベクトル51aには、水平方向処理部120h内のプーリング部122hのプーリング処理により、入力画像の上半分の領域51Aの情報が含まれている。同様に、行ベクトル51bには、入力画像の下半分の領域51Bの情報が含まれている。つまり、行ベクトル51aおよび行ベクトル51bは、それぞれ入力画像の上半分の領域51Aおよび下半分の領域51Bに対応している。   The row vector 51a includes information on the upper half area 51A of the input image by the pooling processing of the pooling unit 122h in the horizontal processing unit 120h. Similarly, the row vector 51b includes information on the lower half area 51B of the input image. That is, the row vector 51a and the row vector 51b correspond to the upper half area 51A and the lower half area 51B of the input image, respectively.

よって、行ベクトル51aに1値(あるいは1値に近い値、以下同様)が含まれる場合(図16の例ではxla,xra列)、入力画像の上半分の領域51Aに検出対象物の左端候補および/または右端候補が含まれることを意味する。一方、行ベクトル51aに1値が含まれない場合、入力画像の上半分の領域51Aには左右端候補が含まれないことを意味する。   Therefore, when the row vector 51a includes one value (or a value close to one value, the same applies hereinafter) (xla and xra columns in the example of FIG. 16), the left end candidate of the detection target in the upper half area 51A of the input image And / or right edge candidates are included. On the other hand, when the row vector 51a does not include 1 value, it means that the left and right end candidates are not included in the upper half area 51A of the input image.

同様に、行ベクトル51bに1値が含まれる場合(図16の例ではxlb,xrb列)、入力画像の下半分の領域51Bに検出対象物の左端候補および/または右端候補が含まれることを意味する。行ベクトル51bに1値が含まれない場合、入力画像の下半分の領域51Bには左右端候補が含まれないことを意味する。   Similarly, when 1 is included in the row vector 51b (xlb and xrb columns in the example of FIG. 16), the lower half region 51B of the input image includes the left end candidate and / or right end candidate of the detection target. means. When the row vector 51b does not include 1 value, it means that the left and right end candidates are not included in the lower half area 51B of the input image.

図17は、特定部3による、検出対象物の上下端の特定を説明する図である。入力画像を処理した結果、3つの列ベクトル52a〜52cが出力される例を示している。   FIG. 17 is a diagram for explaining the identification of the upper and lower ends of the detection target by the identification unit 3. An example is shown in which three column vectors 52a to 52c are output as a result of processing an input image.

列ベクトル52aには、垂直方向処理部120v内のプーリング部122vのプーリング処理により、入力画像を垂直方向に3等分したうちの左の領域52Aの情報が含まれている。同様に、列ベクトル52b,52cには、入力画像を垂直方向に3等分したうちの中央の領域52Bおよび右の領域52Cの情報がそれぞれ含まれている。つまり、列ベクトル52a〜52cは、それぞれ入力画像を垂直方向に3等分したうちの左の領域52A、中央の領域52Bおよび右の領域52Cに対応している。   The column vector 52a includes information on the left region 52A of the input image divided into three equal parts in the vertical direction by the pooling processing of the pooling unit 122v in the vertical direction processing unit 120v. Similarly, the column vectors 52b and 52c include information on the central region 52B and the right region 52C, respectively, of the input image divided into three equal parts in the vertical direction. That is, the column vectors 52a to 52c correspond to the left region 52A, the central region 52B, and the right region 52C, respectively, of the input image divided into three equal parts in the vertical direction.

よって、列ベクトル52aに1値が含まれる場合、入力画像の左の領域52Aに検出対象物の上端候補および/または下端候補が含まれることを意味する。一方、列ベクトル52aに1値が含まれない場合、入力画像の左の領域52Aには上下端候補が含まれないことを意味する。   Therefore, when 1 is included in the column vector 52a, it means that the upper end candidate and / or the lower end candidate of the detection target is included in the left region 52A of the input image. On the other hand, when the column vector 52a does not include 1 value, it means that the upper and lower end candidates are not included in the left region 52A of the input image.

同様に、列ベクトル52bに1値が含まれる場合(図17の例ではytb,ybb列)、入力画像の中央の領域52Bに検出対象物の上端候補および/または下端候補が含まれることを意味する。列ベクトル52bに1値が含まれない場合、入力画像の中央の領域52Bには上下端候補が含まれないことを意味する。   Similarly, when 1 is included in the column vector 52b (the ytb and ybb columns in the example of FIG. 17), it means that the upper end candidate and / or the lower end candidate of the detection target is included in the central region 52B of the input image. To do. When the column vector 52b does not include 1 value, it means that the upper and lower end candidates are not included in the central region 52B of the input image.

また、列ベクトル52cに1値が含まれる場合(図17の例ではytc,ybc列)、入力画像の右の領域52Cに検出対象物の上端候補および/または下端候補が含まれることを意味する。列ベクトル52cに1値が含まれない場合、入力画像の右の領域52Cには上下端候補が含まれないことを意味する。   In addition, when the column vector 52c includes one value (the ytc and ybc columns in the example of FIG. 17), it means that the upper end candidate and / or the lower end candidate of the detection target is included in the right region 52C of the input image. . When the column vector 52c does not include 1 value, it means that the upper and lower end candidates are not included in the right region 52C of the input image.

図18は、特定部3の処理動作の第1例を示す図である。入力画像を処理した結果、2つの行ベクトル51a,51bと、3つの列ベクトル52a〜52cが出力される例を示している。   FIG. 18 is a diagram illustrating a first example of the processing operation of the specifying unit 3. As an example of processing an input image, two row vectors 51a and 51b and three column vectors 52a to 52c are output.

図18では、行ベクトル51a,52bの共通する2つの列xl,xrの値が1でる。これらの列xl,xrに対応する画素位置が検出対象物の左端右候補である。また、列ベクトル52a〜52cの共通する2つの行yt,ybの値が1である。これらの行yt,ybに対応する画素位置が検出対象物の上下端候補である。   In FIG. 18, the values of two common columns xl and xr of the row vectors 51a and 52b are 1. The pixel positions corresponding to these columns xl and xr are the left and right candidates for the detection target. Further, the value of two common rows yt and yb of the column vectors 52a to 52c is 1. Pixel positions corresponding to these rows yt and yb are upper and lower end candidates of the detection target.

図18は単純な例であり、特定部3は、座標(xl,yt),(xr,yt),(xl,yb),(xr,yb)で囲まれる矩形領域に検出対象物があることを特定できる。   FIG. 18 is a simple example, and the specifying unit 3 has a detection target in a rectangular area surrounded by coordinates (xl, yt), (xr, yt), (xl, yb), and (xr, yb). Can be identified.

実際には、行ベクトル51および列ベクトル52にはノイズが含まれ得る。そのため、行ベクトル51および列ベクトル52における各値は0と1の間の値になることもある。値が1に近い列または行ほど検出対象物の端に対応する可能性が高いが、検出対象物の端に近い列または行の近傍の値も1に近くなることもある。そこで、特定部3は次のようにしてノイズを除去してもよい。   In practice, the row vector 51 and the column vector 52 may contain noise. Therefore, each value in the row vector 51 and the column vector 52 may be a value between 0 and 1. A column or row whose value is closer to 1 is more likely to correspond to the edge of the detection object, but a value near a column or row near the edge of the detection object may also be close to 1. Therefore, the specifying unit 3 may remove noise as follows.

図19は、特定部3によるノイズ除去を説明する図である。同図は、2つの行ベクトル51a,52bのノイズを除去する例を示している。また、図20は、ノイズ除去の手順を示すフローチャートである。   FIG. 19 is a diagram illustrating noise removal by the specifying unit 3. This figure shows an example of removing noise from two row vectors 51a and 52b. FIG. 20 is a flowchart showing a noise removal procedure.

まず、特定部3は1つの行ベクトル51aの各列のうちの最大値を選択する(図20のステップS1)。図19の例では、列x1の値が最大値であったとする。そして、特定部3は最大値と所定の閾値とを比較する(図20のステップS2)。   First, the specifying unit 3 selects the maximum value in each column of one row vector 51a (step S1 in FIG. 20). In the example of FIG. 19, it is assumed that the value of the column x1 is the maximum value. Then, the specifying unit 3 compares the maximum value with a predetermined threshold (step S2 in FIG. 20).

最大値が閾値より小さい場合(ステップS2のNO)、特定部3は、行ベクトル51aには検出対象物の左端および右端がないと判断し、パラメータflagをfalseに設定する。そして、特定部3は次の行ベクトル51bの処理に進む(ステップS5)。   When the maximum value is smaller than the threshold (NO in step S2), the specifying unit 3 determines that the row vector 51a does not have the left end and the right end of the detection target, and sets the parameter flag to false. Then, the specifying unit 3 proceeds to the process for the next row vector 51b (step S5).

最大値が閾値以上であれば(ステップS2のYES)、特定部3は最大値をとる列(図19の例では列x1)を検出対象物の左右端候補とし(図20のステップS3)、パラメータflagをtrueに設定する。そして、特定部3はその列の近傍の所定領域(図19の例では列x1の左右2列ずつ)にマスクを設定する(図20のステップS4)。次いで、特定部3は、行ベクトル51aのマスクが設定されていない列のうちの最大値を選択する(ステップS5)。図19の例では、列x2の値が最大値であったとする。
以降、選択された最大値が閾値より小さくなるまで(パラメータflagがfalseに設定されるまで)、ステップS2〜S5を繰り返す。
If the maximum value is greater than or equal to the threshold value (YES in step S2), the specifying unit 3 sets the column that takes the maximum value (column x1 in the example of FIG. 19) as the left and right end candidates of the detection target (step S3 in FIG. 20). Set the parameter flag to true. Then, the specifying unit 3 sets a mask in a predetermined area near the column (in the example of FIG. 19, two columns on the left and right of the column x1) (step S4 in FIG. 20). Next, the specifying unit 3 selects the maximum value among the columns in which the mask of the row vector 51a is not set (step S5). In the example of FIG. 19, it is assumed that the value of the column x2 is the maximum value.
Thereafter, steps S2 to S5 are repeated until the selected maximum value is smaller than the threshold value (until the parameter flag is set to false).

そして、行ベクトル51aの処理が完了すると、同様の処理を行ベクトル51bに対しても行う(ステップS6)。列ベクトル52対するノイズ除去も同様である。
2つの左右端候補が検出された場合、特定部3は、左側を左端候補とし、右側を右端候補とすることができる。
When the processing of the row vector 51a is completed, the same processing is performed on the row vector 51b (step S6). The same applies to noise removal for the column vector 52.
When two left and right end candidates are detected, the specifying unit 3 can set the left side as a left end candidate and the right side as a right end candidate.

マスクを設定することで、検出対象物の左端候補と右端候補は、マスクのサイズに応じた画素数分以上離れた位置に検出される。同様に、検出対象物の上端候補と下端候補は、マスクのサイズに応じた画素数分以上離れた位置に検出される。以下、このようにして検出対象物の左右端候補が行ベクトル51から検出され、上下端候補が列ベクトル52から検出されたものとする。   By setting the mask, the left end candidate and the right end candidate of the detection target are detected at positions separated by at least the number of pixels corresponding to the size of the mask. Similarly, the upper end candidate and the lower end candidate of the detection target are detected at positions separated by the number of pixels or more according to the mask size. Hereinafter, it is assumed that the left and right end candidates of the detection target are detected from the row vector 51 and the upper and lower end candidates are detected from the column vector 52 in this way.

なお、この処理によれば、左右端候補がみつからない場合もあるし、1つだけ見つかる場合もあるし、3つ以上見つかる場合もある。アプリケーションによって、1つの検出対象物が入力画像内に収まることが分かっている場合などには、ステップS2の閾値処理を行わず、最大値が選択された順に2つの列を左右端候補としてもよい。上下端候補についても同様である。   According to this process, the left and right edge candidates may not be found, only one may be found, or three or more may be found. When it is known by an application that one detection object fits in the input image, the threshold processing in step S2 is not performed, and two columns may be set as the left and right end candidates in the order in which the maximum values are selected. . The same applies to the upper and lower end candidates.

図21は、特定部3の処理動作の第2例を示す図である。同図では、行ベクトル51aに左右端候補xla,xraが検出され,行ベクトル51bに左右端候補xlb,xrbが検出されている。また、列ベクトル52bに上下端候補ytb,ybbが検出され、列ベクトル52c上下端候補ytc,ybcが検出されている。この場合、各候補に対応する位置に合計8本の線を引くと、十字(クロスポイント)が4点、すなわち、(xla,ytb),(xra,ytc),(xlb,ybb),(xrb,ybc)に形成される。この4点が検出対象物の左上、右上、左下および右下の候補点である。   FIG. 21 is a diagram illustrating a second example of the processing operation of the specifying unit 3. In the figure, left and right end candidates xla and xra are detected in the row vector 51a, and left and right end candidates xlb and xrb are detected in the row vector 51b. Also, upper and lower end candidates ytb and ybb are detected in the column vector 52b, and upper and lower end candidates ytc and ybc are detected in the column vector 52c. In this case, when a total of eight lines are drawn at positions corresponding to the candidates, four crosses (cross points), that is, (xla, ytb), (xra, ytc), (xlb, ybb), (xrb) , Ybc). These four points are the upper left, upper right, lower left and lower right candidate points of the detection object.

ただし、これら4点を結んで得られる矩形の各辺は水平方向および垂直方向と平行にはならない。そこで、特定部3は、例えば下式のように各点の平均値を用いて得られる4点(xl,yt),(xr,yt),(xl,yb),(xr,yb)を結んだ矩形を検出対象物の位置と特定することができる。
xl=(xla+xlb)/2
xr=(xra+xrb)/2
yt=(ytb+ytc)/2
yb=(ybb+ybc)/2
However, the sides of the rectangle obtained by connecting these four points are not parallel to the horizontal direction and the vertical direction. Therefore, for example, the specifying unit 3 connects four points (xl, yt), (xr, yt), (xl, yb), (xr, yb) obtained by using the average value of each point as in the following equation. The rectangle can be identified as the position of the detection object.
xl = (xla + xlb) / 2
xr = (xra + xrb) / 2
yt = (ytb + ytc) / 2
yb = (ybb + ybc) / 2

図22は、特定部3の処理動作の第3例を示す図である。同図では、行ベクトル51aに左右端候補xla,xraが検出され,行ベクトル51bに左右端候補xlb,xrbが検出されている。また、列ベクトル52bに上下端候補ytb,ybbが検出される。この場合も、十字(クロスポイント)が4点、すなわち、(xla,ytb),(xra,ytb),(xlb,ybb),(xrb,ybb)に形成される。この4点が検出対象物の左上、右上、左下および右下の候補点である。
そして、特定部3は、例えば平均値を用いて得られる4点を結んだ矩形を検出対象物の位置と特定することができる。
FIG. 22 is a diagram illustrating a third example of the processing operation of the specifying unit 3. In the figure, left and right end candidates xla and xra are detected in the row vector 51a, and left and right end candidates xlb and xrb are detected in the row vector 51b. Further, upper and lower end candidates ytb and ybb are detected in the column vector 52b. Also in this case, four crosses (cross points) are formed, that is, (xla, ytb), (xra, ytb), (xlb, ybb), and (xrb, ybb). These four points are the upper left, upper right, lower left and lower right candidate points of the detection object.
And the specific | specification part 3 can pinpoint the rectangle which connected 4 points | pieces obtained, for example using an average value with the position of a detection target object.

図21および図22に示すように、十字が4点に形成される場合、特定部3は検出対象物が入力画像に含まれる、と判断できる。   As illustrated in FIGS. 21 and 22, when the cross is formed at four points, the specifying unit 3 can determine that the detection target is included in the input image.

図23は、特定部3の処理動作の第4例を示す図である。同図では、行ベクトル51aも左右端候補xaが検出され,行ベクトル51bに左右端候補xbが検出されている。また、列ベクトル52aに上下端候補yt,ybが検出されている。よって、十字(クロスポイント)は2点、すなわち、(xa,yt),(xb,yb)に形成される。   FIG. 23 is a diagram illustrating a fourth example of the processing operation of the specifying unit 3. In the figure, the left and right end candidates xa are also detected in the row vector 51a, and the left and right end candidates xb are detected in the row vector 51b. In addition, upper and lower end candidates yt and yb are detected in the column vector 52a. Therefore, a cross (cross point) is formed at two points, that is, (xa, yt) and (xb, yb).

この場合、検出対象物の上端、下端および右端が入力画像に含まれており、左端のみが入力画像の外側にある、との解釈が成立し得る。よって、特定部3は、検出対象物(図23の例では車両)の一部のみが入力画像の領域52Aに含まれているとし、例えば検出対象物の右上の座標((xa+xb)/2,yt)および右下の座標((xa+xb)/2,yb)を特定する。   In this case, it can be interpreted that the upper end, the lower end, and the right end of the detection target are included in the input image, and only the left end is outside the input image. Therefore, the specifying unit 3 assumes that only a part of the detection target (vehicle in the example of FIG. 23) is included in the area 52A of the input image. For example, the upper right coordinates ((xa + xb) / 2, yt) and lower right coordinates ((xa + xb) / 2, yb).

図24は、特定部3の処理動作の第5例を示す図である。同図では、列ベクトル52cに上下端候補yt,ybが検出されている。一方、行ベクトル51a,51bに左右端候補は検出されていない。よって、十字は形成されない。この場合、特定部3は、上下端候補yt,ybが誤検出であると解釈して、検出対象物が入力画像に含まれない、と判断できる。   FIG. 24 is a diagram illustrating a fifth example of the processing operation of the specifying unit 3. In the figure, upper and lower end candidates yt and yb are detected in the column vector 52c. On the other hand, left and right edge candidates are not detected in the row vectors 51a and 51b. Thus, no cross is formed. In this case, the specifying unit 3 interprets that the upper and lower end candidates yt and yb are erroneous detections, and can determine that the detection target is not included in the input image.

図25は、特定部3の処理動作の第6例を示す図である。同図では、行ベクトル51aに左右端候補xla,xraが検出され、行ベクトル51bに左右端候補xlb,xrbが検出されている。一方、列ベクトル52a〜52cに上下端候補は検出されていない。よって、十字は形成されない。   FIG. 25 is a diagram illustrating a sixth example of the processing operation of the specifying unit 3. In the figure, left and right end candidates xla and xra are detected in the row vector 51a, and left and right end candidates xlb and xrb are detected in the row vector 51b. On the other hand, the upper and lower end candidates are not detected in the column vectors 52a to 52c. Thus, no cross is formed.

しかしながら、この場合、検出対象物の左右端が入力画像に含まれており、上下端が入力画像の外側にある、との解釈が成立し得る。よって、特定部3は、検出対象物(図25の例では人)の一部が入力画像に含まれるとし、例えば検出対象物の左端の座標(xla+xlb)/2および右端の座標(xra+xrb)/2を特定できる。   However, in this case, it can be interpreted that the left and right ends of the detection target are included in the input image and the upper and lower ends are outside the input image. Therefore, the specifying unit 3 assumes that a part of the detection target (a person in the example of FIG. 25) is included in the input image. For example, the left end coordinate (xla + xlb) / 2 and the right end coordinate (xra + xrb) / 2 can be specified.

なお、図23〜図25では、形成される十字は4点未満であり、この場合は種々の解釈が成立し得る。例えば、図24において、特定部3は、本来行ベクトル51a,51bに左右端候補が検出されるべきところが検出エラーであると解釈し、検出対象物の上端の座標ytおよび下端の座標ybのみを特定することも可能である。また、図25において、特定部3は、左右端候補が誤検出であると解釈して、検出対象物が入力画像に含まれない、と判断することも可能である。   In FIGS. 23 to 25, the cross formed is less than four points, and in this case, various interpretations can be established. For example, in FIG. 24, the specifying unit 3 interprets that the right and left end candidates should be detected in the row vectors 51 a and 51 b as detection errors, and uses only the upper end coordinates yt and the lower end coordinates yb of the detection target. It is also possible to specify. In FIG. 25, the specifying unit 3 can interpret that the left and right end candidates are erroneous detections and determine that the detection target is not included in the input image.

そのため、本検出装置100のアプリケーションや検出対象物の形状(例えば、人であれば縦長であることが想定される)などに応じて、形成される十字が4点未満の場合の解釈を予め定めておけばよい。   Therefore, depending on the application of the detection apparatus 100 and the shape of the detection target (for example, a person is assumed to be vertically long), the interpretation when the formed cross is less than 4 points is determined in advance. Just keep it.

ところで、特定部3は、検出された検出対象物の上下左端位置(の少なくとも一部)に基づいて、車載カメラと検出対象物との位置関係をさらに算出してもよい。   Incidentally, the specifying unit 3 may further calculate the positional relationship between the in-vehicle camera and the detection target based on (at least a part of) the upper and lower left and right positions of the detected detection target.

図26は、車載カメラ101と検出対象物(ここでは先行車両)102との進行方向の距離Zを算出する手法を説明する図である。同図において、車両110は、車両本体111と、これに取り付けられた車載カメラ101と、検出装置100とを備えている。車載カメラ101は既知の高さh(例えば130cm)に設置されているとする。また、車載カメラ101の焦点距離f画素の位置に仮想の画像平面を設定する。この画像平面において、その中心を原点、水平方向(車両110の進行方向)をx軸、垂直方向(鉛直方向下方向)をy軸とする。   FIG. 26 is a diagram illustrating a method for calculating a distance Z in the traveling direction between the in-vehicle camera 101 and the detection target object (preceding vehicle in this case) 102. In the figure, a vehicle 110 includes a vehicle main body 111, an in-vehicle camera 101 attached to the vehicle main body 111, and a detection device 100. The in-vehicle camera 101 is assumed to be installed at a known height h (for example, 130 cm). In addition, a virtual image plane is set at the position of the focal length f pixel of the in-vehicle camera 101. In this image plane, the center is the origin, the horizontal direction (traveling direction of the vehicle 110) is the x-axis, and the vertical direction (vertical downward) is the y-axis.

そして、検出装置100の特定部3によって特定された、検出対象物102の下端位置の座標がybであったとする。このとき、図示のように、三角形の相似関係から、特定部3は下式に基づいて車載カメラ101と検出対象物102との進行方向の距離Zを算出できる。
Z=fh/yb
Then, it is assumed that the coordinate of the lower end position of the detection object 102 specified by the specifying unit 3 of the detection apparatus 100 is yb. At this time, as shown in the figure, the specifying unit 3 can calculate the distance Z in the traveling direction between the in-vehicle camera 101 and the detection target object 102 based on the following equation from the similarity of triangles.
Z = fh / yb

図27は、車載カメラ101と検出対象物102との横方向の距離XL,XRを算出する手法を説明する図である。図26と同様に座標軸を設定し、特定部3によって特定された検出対象物102の左端位置および右端位置の座標がそれぞれxl,xrであったとする。
このとき、図示のように、三角形の相似関係から、特定部3は下式に基づいて車載カメラ101と検出対象物102との横方向の距離XL,XRを算出できる。
L=Zxl/f
R=Zxr/f
FIG. 27 is a diagram for explaining a method for calculating the lateral distances X L and X R between the in-vehicle camera 101 and the detection target object 102. It is assumed that coordinate axes are set as in FIG. 26, and the coordinates of the left end position and the right end position of the detection target 102 specified by the specifying unit 3 are xl and xr, respectively.
At this time, as shown in the figure, the specifying unit 3 can calculate the lateral distances X L and X R between the in-vehicle camera 101 and the detection target object 102 based on the following formula from the similarity relationship of the triangles.
X L = Zxl / f
X R = Zxr / f

このように、第3の実施形態では、特定部3が行ベクトル51および列ベクトル52に応じて適切な解釈を行うため、検出対象物の一部のみが入力画像に含まれるような場合であっても、柔軟に検出対象物の位置を特定できる。   Thus, in the third embodiment, since the specifying unit 3 performs an appropriate interpretation according to the row vector 51 and the column vector 52, only a part of the detection target is included in the input image. However, the position of the detection target can be specified flexibly.

(第4の実施形態)
上述した第1〜3の実施形態は、検出対象物が1種類(例えば人)であることを念頭に置いていた。これに対し、以下に説明する第4の実施形態では、複数種類の検出対象物(例えば人と車両)の位置を特定するものである。
(Fourth embodiment)
In the first to third embodiments described above, the detection object is one type (for example, a person) in mind. In contrast, in the fourth embodiment described below, the positions of a plurality of types of detection objects (for example, people and vehicles) are specified.

図28は、第4の実施形態に係るニューラルネットワーク処理部1’’の概略構成を示すブロック図である。検出対象物がn種類(検出対象物1〜nという)である場合、第1の実施形態(図3)との相違点として、水平方向処理部120hおよび垂直方向処理部120vがそれぞれ出力する行ベクトル51および列ベクトル52のマップ数はnである。そして、i(i=1〜n)番目のマップにおける行ベクトル51および列ベクトル52が、検出対象物iの検出結果を示す。
なお、入力画像の画素数およびプーリング部122hの段数に応じて、1つのマップにつき複数の行ベクトル51や列ベクトル52が出力され得る。
FIG. 28 is a block diagram showing a schematic configuration of a neural network processing unit 1 ″ according to the fourth embodiment. When there are n types of detection objects (referred to as detection objects 1 to n), as a difference from the first embodiment (FIG. 3), the rows output by the horizontal processing unit 120h and the vertical processing unit 120v, respectively. The number of maps of the vector 51 and the column vector 52 is n. The row vector 51 and the column vector 52 in the i (i = 1 to n) th map indicate the detection result of the detection object i.
Note that a plurality of row vectors 51 and column vectors 52 can be output per map in accordance with the number of pixels of the input image and the number of stages of the pooling unit 122h.

学習処理においては、検出対象物1〜nのそれぞれが写った複数のサンプル画像を用いる。そして、正解データを生成するために、1つのサンプル画像に対して、n枚の入力画像1〜nをニューラルネットワーク処理部1’’に入力する。サンプル画像に検出対象物iが含まれる場合、入力画像k(k=1〜nかつk≠i)の全画素は0値であり、入力画像iは検出対象物の上下左右端における画素のみ1値で他の画素は0値とする。その他は第1の実施形態と同様である。   In the learning process, a plurality of sample images showing each of the detection objects 1 to n are used. In order to generate correct data, n input images 1 to n are input to the neural network processing unit 1 ″ for one sample image. When the detection target object i is included in the sample image, all the pixels of the input image k (k = 1 to n and k ≠ i) are 0 values, and the input image i is 1 only at the top, bottom, left, and right ends of the detection target. The other pixels are 0 values. Others are the same as in the first embodiment.

検出処理においては、マップごとに検出対象物の位置特定を行う。すなわち、検出対象物iを検出する場合、特定部3は、i番目のマップにおける行ベクトル51および列ベクトル52に基づいて、検出対象物iの位置を特定する。   In the detection process, the position of the detection target is specified for each map. That is, when detecting the detection target i, the specifying unit 3 specifies the position of the detection target i based on the row vector 51 and the column vector 52 in the i-th map.

このように、第4の実施形態では、ニューラルネットワーク処理部1’’が出力する行ベクトル51および列ベクトル52のマップ数をnとし、各検出対象物を含むサンプル画像を用いて学習処理を行うことで、n種類の検出対象物を別個に検出できる。なお、本実施形態を第2,3の実施形態に適用することも可能である。   As described above, in the fourth embodiment, the number of maps of the row vector 51 and the column vector 52 output from the neural network processing unit 1 ″ is n, and the learning process is performed using the sample image including each detection target. Thus, n types of detection objects can be detected separately. Note that this embodiment can also be applied to the second and third embodiments.

(第5の実施形態)
次に説明する第5の実施形態は、ニューラルネットワーク構造自体は第1の実施形態などと変わらないが、出力される行ベクトルおよび列ベクトルの形態が第1〜4の実施形態とは異なるものである。そして、入力画像における検出対象物を、必ずしも上下左右端の矩形でなく、任意の形状で特定するものである。
(Fifth embodiment)
In the fifth embodiment described below, the neural network structure itself is the same as in the first embodiment, but the output row vector and column vector forms are different from those in the first to fourth embodiments. is there. Then, the detection target in the input image is not necessarily limited to the rectangles at the top, bottom, left and right ends, but is specified by an arbitrary shape.

図29は、第5の実施形態に係るニューラルネットワーク処理部1の処理動作の概要を説明する図であり、図1(b)と対応している。入力画像において検出対象物が図1(b)と同じ矩形である場合、ニューラルネットワーク処理部1は、xl〜xr列のみの値が1であり他列の値が0である行ベクトル51’、および、yt行〜yb行のみの値が1であり他行の値が0である列ベクトル52’を出力する。すなわち、行ベクトル51’および列ベクトル52’において、検出対象物がある位置に対応する行および列の値が1であり、検出対象物がない位置に対応する列および行の値が0である。
このような行ベクトル51’および列ベクトル52’を出力するためには、学習処理を次のようにすればよい。
FIG. 29 is a diagram for explaining the outline of the processing operation of the neural network processing unit 1 according to the fifth embodiment, and corresponds to FIG. When the detection target is the same rectangle as in FIG. 1B in the input image, the neural network processing unit 1 uses a row vector 51 ′ in which the values of only the xl to xr columns are 1 and the values of the other columns are 0. Also, a column vector 52 ′ in which only the values in the yt to yb rows are 1 and the values in the other rows are 0 is output. That is, in the row vector 51 ′ and the column vector 52 ′, the value of the row and the column corresponding to the position where the detection target is present is 1, and the value of the column and the row corresponding to the position where there is no detection target is 0. .
In order to output such a row vector 51 ′ and column vector 52 ′, the learning process may be performed as follows.

図30は、サンプル画像から正解データを生成するための入力画像を説明する図であり、図8と対応している。本実施形態では、図28(a)に示すサンプル画像に対して、人手によって同図(b)に示す入力画像を生成する。すなわち入力画像は、検出対象物がある画素の値を1とし、検出対象物がない画素の値を0である。   FIG. 30 is a diagram for explaining an input image for generating correct data from a sample image, and corresponds to FIG. In the present embodiment, an input image shown in FIG. 28B is generated manually with respect to the sample image shown in FIG. That is, in the input image, the value of a pixel with a detection target is 1 and the value of a pixel with no detection target is 0.

図31は、別のサンプル画像から正解データを生成するための入力画像を説明する図である。図31(a)に示すサンプル画像では複数の検出対象物が含まれている。この場合の入力画像(同図(b))は、少なくとも1つの検出対象物がある画素の値を1とし、他の画素の値を0とする。このような入力画像の場合、画素の値が1となる領域は矩形には限られない。   FIG. 31 is a diagram illustrating an input image for generating correct answer data from another sample image. In the sample image shown in FIG. 31A, a plurality of detection objects are included. In this case, in the input image ((b) in the figure), the value of a pixel having at least one detection object is set to 1, and the values of other pixels are set to 0. In the case of such an input image, the region where the pixel value is 1 is not limited to a rectangle.

以上のような入力画像がニューラルネットワーク処理部1に入力される。学習用ニューラルネットワークパラメータは上述した通りである。このようにして学習処理を行って検出用ニューラルネットワークパラメータを生成することで、車載カメラからの入力画像に対して検出処理を行うと、図29に示すような行ベクトル51’および列ベクトル52’が出力される。   The input image as described above is input to the neural network processing unit 1. The learning neural network parameters are as described above. When the detection process is performed on the input image from the in-vehicle camera by performing the learning process in this manner and generating the detection neural network parameters, the row vector 51 ′ and the column vector 52 ′ as shown in FIG. Is output.

本実施形態においては、特定部3は、それほど複雑な解釈をすることなく、行ベクトル51’および列ベクトル52’における値が1である列および行の位置に、検出対象物があると判断できる。   In the present embodiment, the specifying unit 3 can determine that there is a detection target at the position of the column and row where the values in the row vector 51 ′ and the column vector 52 ′ are 1 without making a complicated interpretation. .

アプリケーションによっては、検出対象物のそれぞれの位置を詳細に特定する必要はなく、大雑把な位置さえ把握できればよいこともある。例えば、検出結果が「左側に人の集団がある」程度であっても、十分に安全運転に寄与できる。よって、特に検出対象物が複数ある場合には、特に本実施形態のようにするのも有効である。   Depending on the application, it is not necessary to specify the position of each detection object in detail, and it may be necessary to grasp only a rough position. For example, even if the detection result is “a group of people on the left side”, it can sufficiently contribute to safe driving. Therefore, especially when there are a plurality of detection objects, it is particularly effective to use this embodiment.

(第6の実施形態)
次に説明する第6の実施形態では、検出対象物が二輪車や人など縦長であることを想定している。そして、検出装置におけるニューラルネットワーク処理部は、入力画像において、まず検出対象物の水平方向位置を検出し、続いて垂直方向位置を検出するものである。
(Sixth embodiment)
In a sixth embodiment to be described next, it is assumed that the detection target is vertically long, such as a motorcycle or a person. The neural network processing unit in the detection device first detects the horizontal position of the detection target in the input image, and then detects the vertical position.

図31は、第6の実施形態に係るニューラルネットワーク処理部1’’’の概略構成を示すブロック図である。このニューラルネットワーク処理部1’’’は次のようにして検出処理を行う。なお、まずは検出対象物は2つ以上存在しないと仮定する。また、以下では、上述した実施形態との相違点を主に説明する。   FIG. 31 is a block diagram illustrating a schematic configuration of a neural network processing unit 1 ″ ″ according to the sixth embodiment. The neural network processing unit 1 ″ ″ performs detection processing as follows. First, it is assumed that there are no two or more detection objects. In the following, differences from the above-described embodiment will be mainly described.

非線形処理部11によって入力画像から生成されたマップは、垂直方向処理部120vには入力されず、水平方向処理部120hにのみ入力される。なお、水平方向処理部120hと垂直方向処理部120vは直接情報をやりとりしない。   The map generated from the input image by the non-linear processing unit 11 is not input to the vertical processing unit 120v, but is input only to the horizontal processing unit 120h. The horizontal processing unit 120h and the vertical processing unit 120v do not exchange information directly.

水平方向処理部120hは1つの行ベクトル51を出力する。行ベクトル51は、図29に示すように、検出対象物がある位置に対応する列の値が1である。出力される行ベクトル51の数を1つにするためには、種々の手法が考えられる。例えば、垂直方向の画素数を1/2にプーリングするプーリング部122hをn段設け、水平方向処理部120hには、垂直方向画素数が2n画素である入力画像を入力してもよいし、垂直方向画素数が2n画素となるよう予めリサイズや切り出しを行った入力画像を入力してもよい。あるいは、入力画像の垂直方向画素数は任意とし、垂直方向画素数に応じてプーリング部122hでの縮小率を調整して、最終的に1つの行ベクトル51が出力されるようにしてもよい。 The horizontal processing unit 120h outputs one row vector 51. In the row vector 51, as shown in FIG. 29, the value of the column corresponding to the position where the detection target is located is 1. Various methods are conceivable for reducing the number of output row vectors 51 to one. For example, an n-stage pooling unit 122h that pools the number of pixels in the vertical direction to ½ may be provided, and an input image having 2 n pixels in the vertical direction may be input to the horizontal processing unit 120h. An input image that has been resized or cut out in advance so that the number of pixels in the vertical direction is 2 n pixels may be input. Alternatively, the number of pixels in the vertical direction of the input image may be arbitrary, and the reduction rate in the pooling unit 122h may be adjusted according to the number of pixels in the vertical direction so that one row vector 51 is finally output.

本実施形態のニューラルネットワーク処理部1’’’は、行ベクトルに基づいて、入力画像から検出対象物を含む領域を特定する領域特定部13を有する。以下では、領域特定部13は矩形領域を特定するものとする。   The neural network processing unit 1 ″ ″ according to the present embodiment includes a region specifying unit 13 that specifies a region including the detection target object from the input image based on the row vector. Hereinafter, it is assumed that the area specifying unit 13 specifies a rectangular area.

図32は、領域特定部13の処理動作を説明する図である。領域特定部13は次のような矩形領域を特定する。矩形領域の中心は、行ベクトル51において1値である列の中央と一致する。矩形領域の水平方向画素数(幅)は、予め定めた固定値(例えば64画素)としてもよいし、予め定めた選択肢(例えば、32画素、128画素および512画素の3つ)から入力画像の画素数に応じて選択してもよいし、1値の連続数が多いほど多くしてもよい。矩形領域の垂直方向画素数(高さ)は入力画像の垂直方向画素数と一致する。   FIG. 32 is a diagram for explaining the processing operation of the area specifying unit 13. The area specifying unit 13 specifies the following rectangular area. The center of the rectangular area coincides with the center of the column that is a single value in the row vector 51. The number (width) of pixels in the horizontal direction of the rectangular area may be a predetermined fixed value (for example, 64 pixels), or the input image can be selected from predetermined options (for example, three of 32 pixels, 128 pixels, and 512 pixels). You may select according to the number of pixels, and may increase, so that there are many continuation of 1 value. The number of vertical pixels (height) of the rectangular area matches the number of vertical pixels of the input image.

図31に戻り、領域特定部13によって特定された矩形領域は、入力画像に基づくマップとして、垂直方向処理部120vに入力される。なお、領域特定部13と垂直方向処理部120vとの間に1以上の非線形処理部を設けてもよい。また、行ベクトル51に1値がない場合、すなわち、検出対象物が検出されない場合、領域特定部13は矩形領域を特定せず、したがって垂直方向処理部120vは処理を行わない。   Referring back to FIG. 31, the rectangular area specified by the area specifying unit 13 is input to the vertical processing unit 120v as a map based on the input image. One or more nonlinear processing units may be provided between the region specifying unit 13 and the vertical direction processing unit 120v. If the row vector 51 has no value, that is, if the detection target is not detected, the area specifying unit 13 does not specify a rectangular area, and therefore the vertical processing unit 120v does not perform processing.

矩形領域が入力された垂直方向処理部120vは、矩形領域を処理して、1つの列ベクトル52を出力する。列ベクトル52は、図29に示すように、検出対象物がある位置に対応する行の値が1である。   The vertical processing unit 120v to which the rectangular area is input processes the rectangular area and outputs one column vector 52. In the column vector 52, as shown in FIG. 29, the value of the row corresponding to the position where the detection target is located is 1.

なお、矩形領域の水平方向画素数が固定値であれば、その数に合わせた段数のプーリング部122vを設ければよい。矩形領域の水平方向画素数が複数の選択肢から選択される場合、プーリング部122vの段数が互いに異なる垂直方向処理部120vを選択肢の数だけ設けておき、そのいずれかが矩形領域を処理するようにしてもよい。例えば、選択肢が32(=25)画素、128(=27)画素および512(=29)画素の場合、5段のプーリング部122vを有する垂直方向処理部120v、7段のプーリング部122vを有する垂直方向処理部120v、および、9段のプーリング部122vを有する垂直方向処理部120vの3つを設け、選択された水平方向画素数に応じた垂直方向処理部120vが処理を行うことが考えられる。また、水平方向画素数が任意である場合、やはりプーリング部122vでの縮小率を調整してもよい。 If the number of pixels in the horizontal direction of the rectangular area is a fixed value, the number of pooling sections 122v corresponding to the number may be provided. When the number of pixels in the horizontal direction of the rectangular area is selected from a plurality of options, the vertical processing units 120v having different numbers of stages of the pooling unit 122v are provided for the number of options, and any one of them processes the rectangular area. May be. For example, when the options are 32 (= 2 5 ) pixels, 128 (= 2 7 ) pixels, and 512 (= 2 9 ) pixels, the vertical processing unit 120 v having the five-stage pooling section 122 v and the seven-stage pooling section 122 v The vertical processing unit 120v and the vertical processing unit 120v including the nine-stage pooling unit 122v are provided, and the vertical processing unit 120v corresponding to the selected number of horizontal pixels performs processing. Conceivable. If the number of pixels in the horizontal direction is arbitrary, the reduction rate in the pooling unit 122v may be adjusted.

以上のようにして得られた1つずつの行ベクトル51および列ベクトル52に基づいて、特定部3(図2)は入力画像から検出対象物を検出する。   Based on the row vector 51 and the column vector 52 obtained one by one as described above, the specifying unit 3 (FIG. 2) detects a detection target from the input image.

検出対象物が2つ以上ある場合、領域特定部13は各検出対象物について矩形領域を特定し、そのそれぞれについて垂直方向処理部120vが処理を行えばよい。   When there are two or more detection objects, the area specifying unit 13 specifies a rectangular area for each detection object, and the vertical direction processing unit 120v may perform processing for each of them.

このように処理する利点を説明する。検出対象物が二輪車や歩行者である場合、検出対象物が垂直方向に並んで存在することはまずあり得ない。よって、まず行ベクトル51を生成して検出対象物の水平方向の位置を特定し、矩形領域を特定することで、その中央付近に検出対象物が位置する。そのため、垂直方向処理部120vでの処理において、検出対象物の特徴が充分に抽出され、検出精度の向上が期待できる。さらに、行ベクトル51に基づいて検出対象物が存在しないと判断される場合には、垂直方向処理部120vは処理を行う必要がなく、演算量を減らすことができる。   The advantage of processing in this way will be described. When the detection target is a two-wheeled vehicle or a pedestrian, it is unlikely that the detection target exists in the vertical direction. Therefore, first, the row vector 51 is generated, the horizontal position of the detection target is specified, and the rectangular area is specified, so that the detection target is positioned near the center. Therefore, in the processing in the vertical processing unit 120v, the characteristics of the detection target are sufficiently extracted, and improvement in detection accuracy can be expected. Furthermore, when it is determined that the detection target does not exist based on the row vector 51, the vertical processing unit 120v does not need to perform processing, and the amount of calculation can be reduced.

本実施形態のニューラルネットワーク処理部1’’’では、水平方向処理部120hにおけるニューラルネットワークパラメータと、垂直方向処理部120vにおけるニューラルネットワークパラメータを、別個に学習することができる。すなわち、第1の実施形態で説明した学習処理用ニューラルネットワークパラメータを用いた水平方向処理部120hの処理によって、行ベクトル51の正解データを生成する。そして、学習部2(図2)は行ベクトル51が正解データに近づくよう検出処理用のニューラルネットワークパラメータを生成すればよい。垂直方向処理部120vのニューラルネットワークパラメータも同様である。   In the neural network processing unit 1 ″ ″ of the present embodiment, the neural network parameters in the horizontal direction processing unit 120 h and the neural network parameters in the vertical direction processing unit 120 v can be learned separately. That is, correct data of the row vector 51 is generated by the processing of the horizontal processing unit 120h using the learning processing neural network parameters described in the first embodiment. Then, the learning unit 2 (FIG. 2) may generate a neural network parameter for detection processing so that the row vector 51 approaches the correct data. The same applies to the neural network parameters of the vertical processing unit 120v.

このように、第6の実施形態では、まず垂直方向のプーリングを行って行ベクトル51を生成し、行ベクトル51に基づいて検出対象物を含む矩形領域を特定する。続いて、矩形領域に対して水平方向のプーリングを行って列ベクトル52を生成する。矩形領域には検出対象物の特徴が含まれているため、検出精度を向上できる。また、垂直方向のプーリングを行った時点で検出対象物が存在しないことが分かった場合には水平方向のプーリングを行わないため、演算量の削減を図れる。   As described above, in the sixth embodiment, the row vector 51 is first generated by performing the pooling in the vertical direction, and the rectangular region including the detection target is specified based on the row vector 51. Subsequently, a column vector 52 is generated by performing horizontal pooling on the rectangular area. Since the features of the detection object are included in the rectangular area, the detection accuracy can be improved. Further, when it is found that there is no object to be detected at the time when the pooling in the vertical direction is performed, the pooling in the horizontal direction is not performed, so that the amount of calculation can be reduced.

なお、本実施形態では検出対象物が縦長であることを想定していたため、まず垂直方向のプーリングを行ったが、検出対象物が横長である場合には、まず水平方向のプーリングを行ってもよい。   In this embodiment, since it is assumed that the detection target is vertically long, first, the vertical pooling is performed. However, when the detection target is horizontal, the horizontal pooling may be performed first. Good.

また、上述した第1〜6の実施形態では、車載カメラからの画像から人や車両などを検出することを主に説明したが、他の用途にも適用可能である。   In the first to sixth embodiments described above, detection of a person, a vehicle, or the like from an image from a vehicle-mounted camera has been mainly described, but the present invention can also be applied to other uses.

上述した実施形態は、本発明が属する技術分野における通常の知識を有する者が本発明を実施できることを目的として記載されたものである。上記実施形態の種々の変形例は、当業者であれば当然になしうることであり、本発明の技術的思想は他の実施形態にも適用しうることである。したがって、本発明は、記載された実施形態に限定されることはなく、特許請求の範囲によって定義される技術的思想に従った最も広い範囲とすべきである。   The embodiment described above is described for the purpose of enabling the person having ordinary knowledge in the technical field to which the present invention belongs to implement the present invention. Various modifications of the above embodiment can be naturally made by those skilled in the art, and the technical idea of the present invention can be applied to other embodiments. Therefore, the present invention should not be limited to the described embodiments, but should be the widest scope according to the technical idea defined by the claims.

1,1’,1’’,1’’’ ニューラルネットワーク処理部
2 学習部
3 特定部
11 非線形化処理部
12h,12h’ 水平方向マップ生成部
12v,12v’ 垂直方向マップ生成部
121h,121h’,121v,121v’ 非線形化処理部
122h,122v プーリング部
120h 水平方向処理部
120v 垂直方向処理部
13 領域設定部
51,51a,51b,51’ 行ベクトル
52,52a〜52c,52’ 列ベクトル
100 検出装置
101 車載カメラ
102 検出対象物
110 車両
111 車両本体
1, 1 ′, 1 ″, 1 ′ ″ Neural network processing unit 2 Learning unit 3 Identification unit 11 Nonlinearization processing unit 12h, 12h ′ Horizontal direction map generation unit 12v, 12v ′ Vertical direction map generation unit 121h, 121h ′ , 121v, 121v ′ Non-linearization processing unit 122h, 122v Pooling unit 120h Horizontal direction processing unit 120v Vertical direction processing unit 13 Area setting unit 51, 51a, 51b, 51 ′ Row vector 52, 52a-52c, 52 ′ Column vector 100 detection Device 101 Car-mounted camera 102 Target object 110 Vehicle 111 Vehicle body

Claims (19)

入力画像に基づくマップに対して、非線形化処理およびプーリング処理を行い、前記入力画像の水平方向の解像度を保ったまま、前記入力画像における検出対象物の水平方向位置を示す行ベクトルを出力する水平方向処理部と、
前記入力画像に基づくマップに対して、非線形化処理およびプーリング処理を行い、前記入力画像の垂直方向の解像度を保ったまま、前記入力画像における前記検出対象物の垂直方向位置を示す列ベクトルを出力する垂直方向処理部と、を備えるニューラルネットワーク処理装置。
A horizontal that outputs a row vector indicating a horizontal position of a detection object in the input image while performing a non-linearization process and a pooling process on the map based on the input image and maintaining a horizontal resolution of the input image. A direction processing unit;
A non-linearization process and a pooling process are performed on the map based on the input image, and a column vector indicating the vertical position of the detection target in the input image is output while maintaining the vertical resolution of the input image. And a vertical direction processing unit.
前記水平方向処理部は、前記入力画像に基づくマップに対して、垂直方向のみのプーリング処理を行う第1プーリング部を有し、
前記垂直方向処理部は、前記入力画像に基づくマップに対して、水平方向にのみプーリング処理を行う第2プーリング部を有する、請求項1に記載のニューラルネットワーク処理装置。
The horizontal processing unit has a first pooling unit that performs a pooling process only in the vertical direction on the map based on the input image,
The neural network processing apparatus according to claim 1, wherein the vertical direction processing unit includes a second pooling unit that performs a pooling process only in a horizontal direction on a map based on the input image.
前記水平方向処理部は、第1水平方向マップ生成部および第2水平方向マップ生成部を有し、
前記垂直方向処理部は、第1垂直方向マップ生成部および第2垂直方向マップ生成部を有し、
前記第1水平方向マップ生成部は、前記入力画像に基づくマップに対して、非線形化処理および垂直方向のみのプーリング処理を行って、第1出力マップを生成し、
前記第1垂直方向マップ生成部は、前記入力画像に基づくマップに対して、非線形化処理および水平方向のみのプーリング処理を行って、第2出力マップを生成し、
前記第2水平方向マップ生成部は、前記第1出力マップおよび前記第2出力マップに対して、非線形化処理およびプーリング処理を行って、前記第1出力マップと水平方向の解像度が等しい第3出力マップを生成し、
前記第2垂直方向マップ生成部は、前記第1出力マップおよび前記第2出力マップに対して、非線形化処理およびプーリング処理を行って、前記第2出力マップと垂直方向の解像度が等しい第4出力マップを生成し、
前記第3出力マップに基づいて前記行ベクトルが生成され、
前記第4出力マップに基づいて前記列ベクトルが生成される、請求項1または2に記載のニューラルネットワーク処理装置。
The horizontal direction processing unit includes a first horizontal direction map generation unit and a second horizontal direction map generation unit,
The vertical direction processing unit includes a first vertical direction map generation unit and a second vertical direction map generation unit,
The first horizontal direction map generation unit performs a non-linearization process and a pooling process only in the vertical direction on the map based on the input image to generate a first output map,
The first vertical map generation unit performs a non-linearization process and a horizontal pooling process on the map based on the input image to generate a second output map,
The second horizontal map generation unit performs a non-linearization process and a pooling process on the first output map and the second output map, and outputs a third output having the same horizontal resolution as the first output map. Generate a map
The second vertical map generation unit performs a non-linearization process and a pooling process on the first output map and the second output map, and outputs a fourth output having the same vertical resolution as that of the second output map. Generate a map
The row vector is generated based on the third output map;
The neural network processing device according to claim 1, wherein the column vector is generated based on the fourth output map.
前記第2水平方向マップ生成部は、
前記第1出力マップおよび前記第2出力マップに対して畳み込み演算を行って前記第1出力マップと解像度が等しい第1中間マップおよび第2中間マップをそれぞれ生成し、前記第1中間マップおよび前記第2中間マップを加算して第3中間マップを生成する第1非線形化処理部と、
前記第3中間マップに対して、垂直方向のみのプーリング処理を行って前記第3出力マップを生成する第3プーリング部と、
を有し、
前記第2垂直方向マップ生成部は、
前記第1出力マップおよび前記第2出力マップに対して畳み込み演算を行って前記第2出力マップと解像度が等しい第4中間マップおよび第5中間マップをそれぞれ生成し、前記第4中間マップおよび前記第5中間マップを加算して第6中間マップを生成する第2非線形化処理部と、
前記第6中間マップに対して、水平方向のみのプーリング処理を行って前記第4出力マップを生成する第4プーリング部と、
を有する、請求項3に記載のニューラルネットワーク処理装置。
The second horizontal map generation unit includes:
A convolution operation is performed on the first output map and the second output map to generate a first intermediate map and a second intermediate map having the same resolution as the first output map, and the first intermediate map and the second output map are generated. A first non-linearization processing unit that adds two intermediate maps to generate a third intermediate map;
A third pooling unit that generates a third output map by performing a pooling process only in a vertical direction on the third intermediate map;
Have
The second vertical map generation unit includes:
A convolution operation is performed on the first output map and the second output map to generate a fourth intermediate map and a fifth intermediate map having the same resolution as that of the second output map, respectively. A second non-linearization processing unit that adds the five intermediate maps to generate a sixth intermediate map;
A fourth pooling unit that performs a pooling process only in the horizontal direction on the sixth intermediate map to generate the fourth output map;
The neural network processing apparatus according to claim 3, comprising:
前記第2中間マップの水平方向および垂直方向の解像度は、前記第2出力マップの水平方向および垂直方向の解像度のそれぞれp1倍および1/q1倍(p1,q1は整数)であり、
前記第1非線形化処理部は、前記第2出力マップのある一部の画素値と、第1フィルタのフィルタ係数との内積を、前記第2出力マップのある一部と対応する前記第2中間マップにおける画素およびその右の(p1−1)個の画素の値に設定する処理を、前記第2出力マップの垂直方向においてはq1画素ずつ前記第1フィルタをシフトしながら行うことで、前記第2中間マップを生成し、
前記第4中間マップの水平方向および垂直方向の解像度は、前記第1出力マップの水平方向および垂直方向の解像度のそれぞれ1/p2倍およびq2倍(p2,q2は整数)であり、
前記第2非線形化処理部は、前記第1出力マップのある一部の画素値と、第2フィルタのフィルタ係数との内積を、前記第1出力マップのある一部と対応する前記第4中間マップにおける画素およびその下の(q2−1)個の画素の値に設定する処理を、前記第1出力マップの水平方向においてはp2画素ずつ前記第2フィルタをシフトしながら行うことで、前記第4中間マップを生成する、請求項4に記載のニューラルネットワーク処理装置。
The horizontal and vertical resolutions of the second intermediate map are p1 times and 1 / q1 times (p1 and q1 are integers), respectively, of the horizontal and vertical resolutions of the second output map,
The first non-linearization processing unit includes an inner product of a certain pixel value in the second output map and a filter coefficient of the first filter, the second intermediate corresponding to a certain part in the second output map. The process of setting the values of the pixels in the map and the (p1-1) pixels to the right thereof is performed while shifting the first filter by q1 pixels in the vertical direction of the second output map. Two intermediate maps,
The horizontal and vertical resolutions of the fourth intermediate map are 1 / p2 times and q2 times (p2 and q2 are integers), respectively, the horizontal and vertical resolutions of the first output map,
The second non-linearization processing unit includes the fourth intermediate corresponding to an inner product of a certain pixel value of the first output map and a filter coefficient of the second filter with a certain portion of the first output map. The process of setting the values of the pixels in the map and the (q2-1) pixels below it is performed while shifting the second filter by p2 pixels in the horizontal direction of the first output map. The neural network processing apparatus according to claim 4, wherein four intermediate maps are generated.
サンプル画像における前記検出対象物の上下左右端に対応する画素が第1値で他の画素が第2値である画像を前記入力画像とし、
前記水平方向処理部および前記垂直方向処理部は、中央が前記第1値であり他が前記第2値であるフィルタを用いた畳み込み演算を含む前記非線形化処理を行って、正解データとしての前記行ベクトルおよび前記列ベクトルを出力する、請求項1乃至5のいずれかに記載のニューラルネットワーク処理装置。
An image in which the pixels corresponding to the upper, lower, left, and right edges of the detection object in the sample image have the first value and the other pixels have the second value is the input image,
The horizontal direction processing unit and the vertical direction processing unit perform the non-linearization process including a convolution operation using a filter whose center is the first value and the other is the second value, and the correct data is the correct answer data. The neural network processing apparatus according to claim 1, wherein the neural network processing apparatus outputs a row vector and the column vector.
サンプル画像における前記検出対象物がある画素が第1値で他の画素が第2値である画素を前記入力画像とし、
前記水平方向処理部および前記垂直方向処理部は、中央が前記第1値であり他が前記第2値であるフィルタを用いた畳み込み演算を含む前記非線形化処理を行って、正解データとしての前記行ベクトルおよび前記列ベクトルを出力する、請求項1乃至5のいずれかに記載のニューラルネットワーク処理装置。
In the sample image, a pixel where the detection target is a first value and another pixel is a second value is the input image,
The horizontal direction processing unit and the vertical direction processing unit perform the non-linearization process including a convolution operation using a filter whose center is the first value and the other is the second value, and the correct data is the correct answer data. The neural network processing apparatus according to claim 1, wherein the neural network processing apparatus outputs a row vector and the column vector.
前記サンプル画像および前記正解データに基づいて、前記非線形化処理で用いられるニューラルネットワークパラメータが生成される、請求項6または7に記載のニューラルネットワーク処理装置。   The neural network processing apparatus according to claim 6 or 7, wherein a neural network parameter used in the non-linearization process is generated based on the sample image and the correct answer data. 前記水平方向処理部が、前記検出対象物の左端および右端に対応する列が前記第1値であり、前記左端より左側および前記右端より右側に対応する列が前記第2値である前記行ベクトルを出力し、かつ、
前記垂直方向処理部が、前記検出対象物の上端および下端に対応する行が前記第1値であり、前記上端より上側および前記下端より下側に対応する行が前記第2値である前記列ベクトルを出力するよう、前記ニューラルネットワークパラメータが生成される、請求項8に記載のニューラルネットワーク処理装置。
The row vector in which the column corresponding to the left end and the right end of the detection target object is the first value, and the column corresponding to the left side from the left end and the column corresponding to the right end from the right end is the second value. And
The column in which the vertical processing unit corresponds to the first value in the row corresponding to the upper end and the lower end of the detection target, and the row corresponding to the upper side from the upper end and the lower side from the lower end is the second value. The neural network processing apparatus of claim 8, wherein the neural network parameters are generated to output a vector.
前記サンプル画像は、第1検出対象物を含むサンプル画像と、前記第1検出対象物とは異なる第2検出対象物を含むサンプル画像と、を含む、請求項6乃至9のいずれかに記載のニューラルネットワーク処理装置。   10. The sample image according to claim 6, wherein the sample image includes a sample image including a first detection target and a sample image including a second detection target different from the first detection target. Neural network processing device. 前記サンプル画像は、前記検出対象物の一部のみを含むサンプル画像を含む、請求項6乃至10のいずれかに記載のニューラルネットワーク処理装置。   The neural network processing apparatus according to claim 6, wherein the sample image includes a sample image including only a part of the detection target. 前記行ベクトルに基づいて、前記入力画像から前記検出対象物を含む領域を特定する領域特定部を備え、
前記垂直方向処理部は、前記入力画像に基づくマップとして、前記特定された領域に対して、非線形処理およびプーリング処理を行う、請求項1または2に記載のニューラルネットワーク処理装置。
An area specifying unit for specifying an area including the detection target object from the input image based on the row vector;
The neural network processing apparatus according to claim 1, wherein the vertical processing unit performs nonlinear processing and pooling processing on the specified region as a map based on the input image.
前記行ベクトルに基づいて、前記入力画像に前記検出対象物が含まれないと判断される場合、前記垂直方向処理部は非線形処理およびプーリング処理を行わない、請求項12に記載のニューラルネットワーク処理装置。   The neural network processing device according to claim 12, wherein when it is determined that the detection target is not included in the input image based on the row vector, the vertical processing unit does not perform nonlinear processing and pooling processing. . 請求項1乃至13のいずれかに記載のニューラルネットワーク処理装置と、
前記ニューラルネットワーク装置によって出力された前記行ベクトルおよび前記列ベクトルに基づいて、前記入力画像における前記検出対象物の位置を特定する特定部と、を備える検出装置。
A neural network processing device according to any one of claims 1 to 13,
And a specifying unit that specifies a position of the detection target in the input image based on the row vector and the column vector output by the neural network device.
前記特定部は、
前記行ベクトルにおける列であって、その値が第1閾値条件を満たす列を前記検出対象物の左端候補または右端候補とし、
前記列ベクトルにおける行であって、その値が第2閾値条件を満たす行を前記検出対象物の上端候補または下端候補とする、請求項14に記載の検出装置。
The specific part is:
A column in the row vector, the column of which satisfies the first threshold condition as a left end candidate or a right end candidate of the detection object,
The detection apparatus according to claim 14, wherein a row in the column vector whose value satisfies a second threshold condition is set as an upper end candidate or a lower end candidate of the detection target.
前記特定部が特定する前記前記検出対象物の左端候補と右端候補は、第1画素数以上離れており、
前記特定部が特定する前記前記検出対象物の上端候補と下端候補は、第2画素数以上離れている、請求項14または15に記載の検出装置。
The left end candidate and right end candidate of the detection target specified by the specifying unit are separated by a number of first pixels or more,
The detection device according to claim 14 or 15, wherein an upper end candidate and a lower end candidate of the detection target specified by the specifying unit are separated by a second pixel number or more.
車両本体と、
車両本体に取り付けられたカメラと、
前記カメラからの画像を前記入力画像として処理する請求項14乃至16のいずれかに記載の検出装置と、を備える車両。
A vehicle body,
A camera attached to the vehicle body,
A vehicle comprising: the detection device according to claim 14, which processes an image from the camera as the input image.
入力画像に基づくマップに対して、非線形化処理およびプーリング処理を行い、前記入力画像の水平方向の解像度を保ったまま、前記入力画像における検出対象物の水平方向位置を示す行ベクトルを出力するステップと、
前記入力画像に基づくマップに対して、非線形化処理およびプーリング処理を行い、前記入力画像の垂直方向の解像度を保ったまま、前記入力画像における前記検出対象物の垂直方向位置を示す列ベクトルを出力するステップと、を備える、ニューラルネットワーク処理方法。
Performing a non-linearization process and a pooling process on a map based on the input image, and outputting a row vector indicating a horizontal position of the detection target in the input image while maintaining a horizontal resolution of the input image When,
A non-linearization process and a pooling process are performed on the map based on the input image, and a column vector indicating the vertical position of the detection target in the input image is output while maintaining the vertical resolution of the input image. And a neural network processing method.
入力画像に基づくマップに対して、非線形化処理およびプーリング処理を行い、前記入力画像の水平方向の解像度を保ったまま、前記入力画像における検出対象物の水平方向位置を示す行ベクトルを出力するステップと、
前記入力画像に基づくマップに対して、非線形化処理およびプーリング処理を行い、前記入力画像の垂直方向の解像度を保ったまま、前記入力画像における前記検出対象物の垂直方向位置を示す列ベクトルを出力するステップと、
前記行ベクトルおよび前記列ベクトルに基づいて、前記入力画像における前記検出対象物の位置を特定するステップと、を備える検出方法。
Performing a non-linearization process and a pooling process on a map based on the input image, and outputting a row vector indicating a horizontal position of the detection target in the input image while maintaining a horizontal resolution of the input image When,
A non-linearization process and a pooling process are performed on the map based on the input image, and a column vector indicating the vertical position of the detection target in the input image is output while maintaining the vertical resolution of the input image. And steps to
Identifying the position of the detection object in the input image based on the row vector and the column vector.
JP2015032258A 2015-02-20 2015-02-20 Neural network processing device, neural network processing method, detection device, detection method, and vehicle Expired - Fee Related JP6360802B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015032258A JP6360802B2 (en) 2015-02-20 2015-02-20 Neural network processing device, neural network processing method, detection device, detection method, and vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015032258A JP6360802B2 (en) 2015-02-20 2015-02-20 Neural network processing device, neural network processing method, detection device, detection method, and vehicle

Publications (2)

Publication Number Publication Date
JP2016153984A true JP2016153984A (en) 2016-08-25
JP6360802B2 JP6360802B2 (en) 2018-07-18

Family

ID=56760461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015032258A Expired - Fee Related JP6360802B2 (en) 2015-02-20 2015-02-20 Neural network processing device, neural network processing method, detection device, detection method, and vehicle

Country Status (1)

Country Link
JP (1) JP6360802B2 (en)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170091140A (en) * 2015-04-02 2017-08-08 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 Training method and apparatus for convolutional neural network model
JP2018060296A (en) * 2016-10-03 2018-04-12 グローリー株式会社 Image processing apparatus, image processing system, and image processing method
JP2018088151A (en) * 2016-11-29 2018-06-07 株式会社Soken Boundary line estimating apparatus
JP2019008383A (en) * 2017-06-21 2019-01-17 キヤノン株式会社 Image processing device, imaging device, image processing method, program and storage medium
JP2019075035A (en) * 2017-10-19 2019-05-16 株式会社日立製作所 Software test device and method
JP2019101519A (en) * 2017-11-29 2019-06-24 Kddi株式会社 Program for image segmentation based on pixel
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
JP2019537139A (en) * 2016-11-10 2019-12-19 グーグル エルエルシー Performing kernel stride on hardware
JP2020035380A (en) * 2018-08-31 2020-03-05 株式会社小松製作所 Image processing system, display device, image processing method, generation method of learned model, and learning data set
JP2020061132A (en) * 2018-09-12 2020-04-16 コグネックス・コーポレイション Methods and apparatus for processing image data for machine vision
JP2021512378A (en) * 2018-12-29 2021-05-13 ベイジン センスタイム テクノロジー デベロップメント カンパニー, リミテッド Anchor determination method and equipment, electronic devices and storage media
JP2021530771A (en) * 2018-07-25 2021-11-11 深▲せん▼市商▲湯▼科技有限公司Shenzhen Sensetime Technology Co., Ltd. Laser radar sparse depth map processing methods, equipment, equipment and media
CN113777571A (en) * 2021-08-04 2021-12-10 中山大学 Unmanned aerial vehicle cluster dynamic directional diagram synthesis method based on deep learning
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11475593B2 (en) 2018-09-12 2022-10-18 Cognex Corporation Methods and apparatus for processing image data for machine vision
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
WO2023053674A1 (en) * 2021-09-30 2023-04-06 富士フイルム株式会社 Detection method, imaging device, and program
US11657630B2 (en) 2018-09-12 2023-05-23 Cognex Corporation Methods and apparatus for testing multiple fields for machine vision
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0451374A (en) * 1990-06-19 1992-02-19 Canon Inc Picture processor
JPH05324837A (en) * 1992-05-20 1993-12-10 Glory Ltd Pattern recognizing device
JP2002373333A (en) * 2001-05-28 2002-12-26 Honda R & D Europe (Deutschland) Gmbh Pattern recognizing method with hierarchical network
JP2007047965A (en) * 2005-08-09 2007-02-22 Fujifilm Corp Method and device for detecting object of digital image, and program
JP2013058160A (en) * 2011-09-09 2013-03-28 Mega Chips Corp Object detection device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0451374A (en) * 1990-06-19 1992-02-19 Canon Inc Picture processor
JPH05324837A (en) * 1992-05-20 1993-12-10 Glory Ltd Pattern recognizing device
JP2002373333A (en) * 2001-05-28 2002-12-26 Honda R & D Europe (Deutschland) Gmbh Pattern recognizing method with hierarchical network
JP2007047965A (en) * 2005-08-09 2007-02-22 Fujifilm Corp Method and device for detecting object of digital image, and program
JP2013058160A (en) * 2011-09-09 2013-03-28 Mega Chips Corp Object detection device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
鄭 明燮、外2名: ""多重構造ニューラルネットワークを用いた車載センサ情報統合に基づく車種認識"", 映像情報メディア学会誌, vol. 59, no. 4, JPN6018020043, 1 April 2005 (2005-04-01), JP, pages 621 - 628 *

Cited By (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10607120B2 (en) 2015-04-02 2020-03-31 Tencent Technology (Shenzhen) Company Limited Training method and apparatus for convolutional neural network model
JP2018503152A (en) * 2015-04-02 2018-02-01 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 Training method and apparatus for convolutional neural network model
US9977997B2 (en) 2015-04-02 2018-05-22 Tencent Technology (Shenzhen) Company Limited Training method and apparatus for convolutional neural network model
KR101887558B1 (en) 2015-04-02 2018-08-10 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 Training method and apparatus for convolutional neural network model
KR20170091140A (en) * 2015-04-02 2017-08-08 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 Training method and apparatus for convolutional neural network model
JP2018060296A (en) * 2016-10-03 2018-04-12 グローリー株式会社 Image processing apparatus, image processing system, and image processing method
JP2022037022A (en) * 2016-11-10 2022-03-08 グーグル エルエルシー Execution of kernel stride in hardware
US11816532B2 (en) 2016-11-10 2023-11-14 Google Llc Performing kernel striding in hardware
JP7394104B2 (en) 2016-11-10 2023-12-07 グーグル エルエルシー Executing kernel strides in hardware
JP2019537139A (en) * 2016-11-10 2019-12-19 グーグル エルエルシー Performing kernel stride on hardware
JP2018088151A (en) * 2016-11-29 2018-06-07 株式会社Soken Boundary line estimating apparatus
US11216717B2 (en) 2017-04-04 2022-01-04 Hailo Technologies Ltd. Neural network processor incorporating multi-level hierarchical aggregated computing and memory elements
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11461615B2 (en) 2017-04-04 2022-10-04 Hailo Technologies Ltd. System and method of memory access of multi-dimensional data
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11263512B2 (en) 2017-04-04 2022-03-01 Hailo Technologies Ltd. Neural network processor incorporating separate control and data fabric
US11675693B2 (en) 2017-04-04 2023-06-13 Hailo Technologies Ltd. Neural network processor incorporating inter-device connectivity
US11514291B2 (en) 2017-04-04 2022-11-29 Hailo Technologies Ltd. Neural network processing element incorporating compute and local memory elements
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11238331B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method for augmenting an existing artificial neural network
US11461614B2 (en) 2017-04-04 2022-10-04 Hailo Technologies Ltd. Data driven quantization optimization of weights and input data in an artificial neural network
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11354563B2 (en) 2017-04-04 2022-06-07 Hallo Technologies Ltd. Configurable and programmable sliding window based memory access in a neural network processor
US11354537B2 (en) 2017-06-21 2022-06-07 Canon Kabushiki Kaisha Image processing apparatus, imaging apparatus, image processing method, and storage medium
JP2019008383A (en) * 2017-06-21 2019-01-17 キヤノン株式会社 Image processing device, imaging device, image processing method, program and storage medium
JP2019075035A (en) * 2017-10-19 2019-05-16 株式会社日立製作所 Software test device and method
JP2019101519A (en) * 2017-11-29 2019-06-24 Kddi株式会社 Program for image segmentation based on pixel
JP7016434B2 (en) 2018-07-25 2022-02-04 深▲セン▼市商▲湯▼科技有限公司 Laser radar sparse depth map processing methods, equipment, equipment and media
JP2021530771A (en) * 2018-07-25 2021-11-11 深▲せん▼市商▲湯▼科技有限公司Shenzhen Sensetime Technology Co., Ltd. Laser radar sparse depth map processing methods, equipment, equipment and media
US11414837B2 (en) 2018-08-31 2022-08-16 Komatsu Ltd. Image processing system, display device, image processing method, method for generating trained model, and dataset for learning
WO2020044852A1 (en) * 2018-08-31 2020-03-05 株式会社小松製作所 Image processing system, display device, image processing method, method for generating learned model, and data set for learning
JP2020035380A (en) * 2018-08-31 2020-03-05 株式会社小松製作所 Image processing system, display device, image processing method, generation method of learned model, and learning data set
JP7166108B2 (en) 2018-08-31 2022-11-07 株式会社小松製作所 Image processing system, display device, image processing method, trained model generation method, and training data set
US11475593B2 (en) 2018-09-12 2022-10-18 Cognex Corporation Methods and apparatus for processing image data for machine vision
JP7182528B2 (en) 2018-09-12 2022-12-02 コグネックス・コーポレイション Method and apparatus for processing image data for machine vision
US11657630B2 (en) 2018-09-12 2023-05-23 Cognex Corporation Methods and apparatus for testing multiple fields for machine vision
JP2020061132A (en) * 2018-09-12 2020-04-16 コグネックス・コーポレイション Methods and apparatus for processing image data for machine vision
US11301726B2 (en) 2018-12-29 2022-04-12 Beijing Sensetime Technology Development Co., Ltd. Anchor determination method and apparatus, electronic device, and storage medium
JP2021512378A (en) * 2018-12-29 2021-05-13 ベイジン センスタイム テクノロジー デベロップメント カンパニー, リミテッド Anchor determination method and equipment, electronic devices and storage media
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
CN113777571A (en) * 2021-08-04 2021-12-10 中山大学 Unmanned aerial vehicle cluster dynamic directional diagram synthesis method based on deep learning
CN113777571B (en) * 2021-08-04 2023-08-11 中山大学 Unmanned aerial vehicle cluster dynamic pattern synthesis method based on deep learning
WO2023053674A1 (en) * 2021-09-30 2023-04-06 富士フイルム株式会社 Detection method, imaging device, and program

Also Published As

Publication number Publication date
JP6360802B2 (en) 2018-07-18

Similar Documents

Publication Publication Date Title
JP6360802B2 (en) Neural network processing device, neural network processing method, detection device, detection method, and vehicle
CN110738207B (en) Character detection method for fusing character area edge information in character image
CN111104838B (en) Method and device for detecting ROI (region of interest) based on lower end line of obstacle
JP6088792B2 (en) Image detection apparatus, control program, and image detection method
CN109447994A (en) In conjunction with the remote sensing image segmentation method of complete residual error and Fusion Features
CN107169421A (en) A kind of car steering scene objects detection method based on depth convolutional neural networks
CN111723585A (en) Style-controllable image text real-time translation and conversion method
CN110879958B (en) Method and device for detecting obstacles
CN104299006A (en) Vehicle license plate recognition method based on deep neural network
EP3702957A1 (en) Target detection method and apparatus, and computer device
KR101014125B1 (en) Method for detecting traffic sign board in intelligent vehicle and system for executing the method
CN107315990A (en) A kind of pedestrian detection algorithm based on XCS LBP features and cascade AKSVM
CN111401380A (en) RGB-D image semantic segmentation method based on depth feature enhancement and edge optimization
CN111460894A (en) Intelligent car logo detection method based on convolutional neural network
CN113378812A (en) Digital dial plate identification method based on Mask R-CNN and CRNN
CN115661607A (en) Small target identification method based on improved YOLOv5
EP4174792A1 (en) Method for scene understanding and semantic analysis of objects
CN110598665B (en) Pole number identification method based on vehicle-mounted mobile deep learning platform
JP2010211460A (en) Device for creating identification model, object detection device, and program for creating identification model
CN112101113B (en) Lightweight unmanned aerial vehicle image small target detection method
CN111104840B (en) Regression loss-based learning and testing method and device
CN107832732A (en) Method for detecting lane lines based on ternary tree traversal
CN117037119A (en) Road target detection method and system based on improved YOLOv8
CN103955706B (en) Image identification and image reconstruction method based on direct bilateral two-dimensional principal component analysis
JP7316771B2 (en) Learning device, parameter creation method, neural network, and information processing device using the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180525

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180625

R150 Certificate of patent or registration of utility model

Ref document number: 6360802

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees