JP2021163433A - Arithmetic processing unit - Google Patents

Arithmetic processing unit Download PDF

Info

Publication number
JP2021163433A
JP2021163433A JP2020067937A JP2020067937A JP2021163433A JP 2021163433 A JP2021163433 A JP 2021163433A JP 2020067937 A JP2020067937 A JP 2020067937A JP 2020067937 A JP2020067937 A JP 2020067937A JP 2021163433 A JP2021163433 A JP 2021163433A
Authority
JP
Japan
Prior art keywords
unit
configuration
dnn
vehicle
arithmetic
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.)
Pending
Application number
JP2020067937A
Other languages
Japanese (ja)
Inventor
将幸 山崎
Masayuki Yamazaki
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2020067937A priority Critical patent/JP2021163433A/en
Publication of JP2021163433A publication Critical patent/JP2021163433A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Traffic Control Systems (AREA)

Abstract

To provide an arithmetic processing unit configured to complete arithmetic processing using a neural network by a target calculation end time while preventing reduction in accuracy regarding a calculation result.SOLUTION: An arithmetic processing unit includes: a storage unit 22 which stores configurations of a plurality of neural networks for executing predetermined arithmetic processing; a selection unit 31 which selects one or more configuration candidates of neural network of which predetermined arithmetic processing is completed by a target calculation end time from among the configurations of the neural networks, and selects a neural network configuration for executing the arithmetic processing from among the selected candidates so that accuracy for a result of the arithmetic processing may be highest; and an arithmetic operation unit 32 which executes the arithmetic processing on predetermined data by using the selected neural network configuration.SELECTED DRAWING: Figure 3

Description

本発明は、いわゆるニューラルネットワークによる演算処理を実行する演算装置に関する。 The present invention relates to an arithmetic unit that executes arithmetic processing by a so-called neural network.

物体検出、音声認識及び最適化などの処理において、いわゆるディープニューラルネットワーク(以下、単にDNNと呼ぶ)を用いる技術が提案されている。これらの処理にDNNを適用する場合、DNNによる演算量が非常に多くなり、その結果として、演算処理に要する処理時間が増大してしまうことがある。そこで、車両の状態に基づいて人工知能モデルを構成するか否かを判定し、人工知能モデルを構成すると判定した場合に、演算ユニットを複数組み合わせて所定の処理を実行する人工知能モデルを構成する技術が提案されている(例えば、特許文献1を参照)。 In processing such as object detection, voice recognition, and optimization, a technique using a so-called deep neural network (hereinafter, simply referred to as DNN) has been proposed. When DNN is applied to these processes, the amount of calculation by DNN becomes very large, and as a result, the processing time required for the calculation process may increase. Therefore, it is determined whether or not to configure the artificial intelligence model based on the state of the vehicle, and when it is determined that the artificial intelligence model is to be configured, a plurality of arithmetic units are combined to configure an artificial intelligence model that executes a predetermined process. A technique has been proposed (see, for example, Patent Document 1).

特開2018−190045号公報JP-A-2018-190045

DNNを用いた演算処理にリアルタイム性が要求されることがある。このような場合、DNNを用いた演算処理が所定の制限時間内に完了することが求められる。しかしながら、上記の技術では、DNNを用いた演算処理を所定の制限時間内に終了させることができないおそれがある。 Real-time performance may be required for arithmetic processing using DNN. In such a case, it is required that the arithmetic processing using DNN is completed within a predetermined time limit. However, in the above technique, there is a possibility that the arithmetic processing using DNN cannot be completed within a predetermined time limit.

そこで、本発明は、演算結果についての精度の低下を抑制しつつ、ニューラルネットワークを用いた演算処理を目標演算終了時間までに終了させることが可能な演算装置を提供することを目的とする。 Therefore, an object of the present invention is to provide an arithmetic unit capable of completing an arithmetic process using a neural network by a target arithmetic end time while suppressing a decrease in accuracy of the arithmetic result.

一つの実施形態によれば、演算装置が提供される。この演算装置は、所定の演算処理を実行するための複数のニューラルネットワークの構成を記憶する記憶部と、複数のニューラルネットワークの構成の中から目標演算終了時間までに所定の演算処理が終了するニューラルネットワークの構成の候補を一つ以上選択し、その演算処理の結果についての精度が最大となるように、選択した候補の中からその演算処理を実行するニューラルネットワークの構成を選択する選択部と、選択されたニューラルネットワークの構成を用いて、所定のデータに対してその演算処理を実行する演算部とを有する。 According to one embodiment, an arithmetic unit is provided. This arithmetic device has a storage unit that stores the configurations of a plurality of neural networks for executing a predetermined arithmetic processing, and a neural network that completes the predetermined arithmetic processing by the target arithmetic end time from the configurations of the plurality of neural networks. A selection unit that selects one or more network configuration candidates and selects the neural network configuration that executes the arithmetic processing from the selected candidates so that the accuracy of the arithmetic processing result is maximized. It has an arithmetic unit that executes arithmetic processing on predetermined data using the configuration of the selected neural network.

本発明に係る演算装置は、演算結果についての精度の低下を抑制しつつ、ニューラルネットワークを用いた演算処理を目標演算終了時間までに終了させることができるという効果を奏する。 The arithmetic unit according to the present invention has an effect that the arithmetic processing using the neural network can be completed by the target arithmetic end time while suppressing the decrease in the accuracy of the arithmetic result.

演算装置が実装される車両制御システムの概略構成図である。It is a schematic block diagram of the vehicle control system in which the arithmetic unit is mounted. 演算装置の一つの実施形態である電子制御装置のハードウェア構成図である。It is a hardware block diagram of the electronic control device which is one Embodiment of an arithmetic unit. DNNを用いた演算処理の一例である物体検出処理を含む車両制御処理に関する、電子制御装置のプロセッサの機能ブロック図である。It is a functional block diagram of the processor of the electronic control apparatus concerning the vehicle control processing including the object detection processing which is an example of the arithmetic processing using DNN. 識別器として利用されるDNNの構造の一例を示す図である。It is a figure which shows an example of the structure of DNN used as a classifier. 構成テーブルの一例を示す図である。It is a figure which shows an example of the configuration table. 選択部により実行される選択処理の動作フローチャートである。It is an operation flowchart of the selection process executed by the selection part. 物体検出処理を含む車両制御処理の動作フローチャートである。It is an operation flowchart of the vehicle control processing including the object detection processing.

以下、図を参照しつつ、演算装置について説明する。この演算装置は、DNNを用いた所定の演算処理を、その演算処理が目標演算終了時間までに終了するように実行する。しかし、演算装置が有するプロセッサの演算負荷の変動(例えば、他の演算処理の実行状況、割込み処理または例外処理の発生など)、または、プロセッサの発熱を抑制するためのクロック周波数の低下といった要因により、DNNを用いた演算処理の実行速度が変動することがある。そこで、この演算装置は、所定の演算処理を実行するための複数のDNNの構成を予め記憶し、それら複数のDNNの構成の中から、目標演算終了時間までに所定の演算処理が終了する構成の候補を一つ以上選択する。さらに、この演算装置は、選択した構成の候補の中からその演算処理の結果についての精度が最大となるDNNの構成をさらに選択する。そしてこの演算装置は、精度が最大となるよう選択した構成のDNNを用いて、所定のデータに対してその所定の演算処理を実行する。これにより、この演算装置は、演算結果についての精度の低下を抑制しつつ、DNNを用いた演算処理を目標演算終了時間までに終了させる。 Hereinafter, the arithmetic unit will be described with reference to the drawings. This arithmetic unit executes a predetermined arithmetic process using the DNN so that the arithmetic process is completed by the target arithmetic end time. However, due to factors such as fluctuations in the arithmetic load of the processor of the arithmetic unit (for example, execution status of other arithmetic processing, occurrence of interrupt processing or exception processing, etc.), or a decrease in the clock frequency for suppressing heat generation of the processor. , The execution speed of arithmetic processing using DNN may fluctuate. Therefore, this arithmetic unit stores in advance the configurations of a plurality of DNNs for executing the predetermined arithmetic processing, and from among the configurations of the plurality of DNNs, the predetermined arithmetic processing is completed by the target arithmetic end time. Select one or more candidates for. Further, the arithmetic unit further selects the configuration of the DNN that maximizes the accuracy of the result of the arithmetic processing from the candidates of the selected configuration. Then, this arithmetic unit executes the predetermined arithmetic processing on the predetermined data by using the DNN having the configuration selected so as to maximize the accuracy. As a result, the arithmetic unit finishes the arithmetic processing using the DNN by the target arithmetic end time while suppressing the decrease in the accuracy of the arithmetic result.

以下では、演算装置を、車両制御システムに適用した例について説明する。この例では、演算装置は、車両に搭載されたカメラにより得られた画像に対して、物体検出処理を実行することで、車両の周囲に存在する各種の物体、例えば、他の車両、人、道路標識または道路標示などを検出し、その検出結果に基づいて車両を自動運転制御する。物体検出処理は、所定の演算処理の一例である。 In the following, an example in which the arithmetic unit is applied to the vehicle control system will be described. In this example, the arithmetic unit executes object detection processing on the image obtained by the camera mounted on the vehicle, so that various objects existing around the vehicle, for example, other vehicles, people, etc. It detects road signs or road markings, and automatically controls the vehicle based on the detection results. The object detection process is an example of a predetermined arithmetic process.

図1は、演算装置が実装される車両制御システムの概略構成図である。図2は、演算装置の一つの実施形態である電子制御装置のハードウェア構成図である。本実施形態では、車両10に搭載され、かつ、車両10を制御する車両制御システム1は、車両10の周囲を撮影するためのカメラ2と、測距センサ3と、演算装置の一例である電子制御装置(ECU)4とを有する。カメラ2と、測距センサ3と、ECU4とは、コントローラエリアネットワークといった規格に準拠した車内ネットワークを介して通信可能に接続される。なお、車両制御システム1は、車両10の自動運転制御に用いられる地図を記憶するストレージ装置をさらに有していてもよい。さらに、車両制御システム1は、GPS受信機といった、衛星測位システムに準拠して車両10の自己位置を測位するための受信機、他の機器と無線通信するための無線端末、及び、車両10の走行予定ルートを探索するためのナビゲーション装置などを有していてもよい。 FIG. 1 is a schematic configuration diagram of a vehicle control system in which an arithmetic unit is mounted. FIG. 2 is a hardware configuration diagram of an electronic control device, which is one embodiment of the arithmetic unit. In the present embodiment, the vehicle control system 1 mounted on the vehicle 10 and controlling the vehicle 10 includes a camera 2 for photographing the surroundings of the vehicle 10, a distance measuring sensor 3, and an electronic device which is an example of an arithmetic unit. It has a control device (ECU) 4. The camera 2, the distance measuring sensor 3, and the ECU 4 are communicably connected to each other via an in-vehicle network conforming to a standard such as a controller area network. The vehicle control system 1 may further have a storage device that stores a map used for automatic driving control of the vehicle 10. Further, the vehicle control system 1 includes a receiver such as a GPS receiver for positioning the self-position of the vehicle 10 in accordance with a satellite positioning system, a wireless terminal for wireless communication with other devices, and a vehicle 10. It may have a navigation device or the like for searching a planned travel route.

カメラ2は、撮像部の一例であり、CCDあるいはC-MOSなど、可視光に感度を有する光電変換素子のアレイで構成された2次元検出器と、その2次元検出器上に撮影対象となる領域の像を結像する結像光学系を有する。カメラ2は、車両10の前方を向くように、例えば、車両10の車室内に取り付けられる。そしてカメラ2は、所定の撮影周期(例えば1/30秒〜1/10秒)ごとに車両10の前方領域を撮影し、その前方領域が写った画像を生成する。カメラ2により得られた画像は、カラー画像であってもよく、あるいは、グレー画像であってもよい。なお、車両制御システム1は、撮影方向または画角が異なる複数のカメラ2を有していてもよい。 The camera 2 is an example of an imaging unit, and is an image capture target on a two-dimensional detector composed of an array of photoelectric conversion elements having sensitivity to visible light such as a CCD or C-MOS, and the two-dimensional detector. It has an imaging optical system that forms an image of a region. The camera 2 is mounted, for example, in the vehicle interior of the vehicle 10 so as to face the front of the vehicle 10. Then, the camera 2 photographs the front region of the vehicle 10 at predetermined imaging cycles (for example, 1/30 second to 1/10 second), and generates an image in which the front region is captured. The image obtained by the camera 2 may be a color image or a gray image. The vehicle control system 1 may have a plurality of cameras 2 having different shooting directions or angles of view.

カメラ2は、画像を生成する度に、その生成した画像を、車内ネットワークを介してECU4へ出力する。 Each time the camera 2 generates an image, the camera 2 outputs the generated image to the ECU 4 via the in-vehicle network.

測距センサ3は、例えば、LiDERセンサあるいはレーダであり、所定の周期ごとに、各方位について、その方位における、車両10の周囲に存在する他の物体までの距離を測定する。そして測距センサ3は、所定の周期ごとに、方位ごとの他の物体までの距離を表すセンサ信号を、車内ネットワークを介してECU4へ出力する。 The distance measuring sensor 3 is, for example, a LiDER sensor or a radar, and measures the distance to another object existing around the vehicle 10 in each direction in each direction at a predetermined cycle. Then, the distance measuring sensor 3 outputs a sensor signal indicating the distance to another object for each direction to the ECU 4 via the in-vehicle network at predetermined intervals.

ECU4は、車両10を制御する。本実施形態では、ECU4は、カメラ2により得られた時系列の一連の画像から検出された物体に基づいて車両10を自動運転するよう、車両10を制御する。そのために、ECU4は、通信インターフェース21と、メモリ22と、プロセッサ23とを有する。 The ECU 4 controls the vehicle 10. In the present embodiment, the ECU 4 controls the vehicle 10 so as to automatically drive the vehicle 10 based on an object detected from a series of time-series images obtained by the camera 2. Therefore, the ECU 4 has a communication interface 21, a memory 22, and a processor 23.

通信インターフェース21は、通信部の一例であり、ECU4を車内ネットワークに接続するためのインターフェース回路を有する。すなわち、通信インターフェース21は、車内ネットワークを介して、カメラ2及び測距センサ3と接続される。そして通信インターフェース21は、カメラ2から画像を受信する度に、受信した画像をプロセッサ23へわたす。また通信インターフェース21は、測距センサ3から受信したセンサ信号をプロセッサ23へわたす。あるいはまた、通信インターフェース21は、車内ネットワークを介して受信した、ストレージ装置から読み込んだ地図、GPS受信機からの測位情報などを、プロセッサ23へわたす。 The communication interface 21 is an example of a communication unit, and has an interface circuit for connecting the ECU 4 to the in-vehicle network. That is, the communication interface 21 is connected to the camera 2 and the distance measuring sensor 3 via the in-vehicle network. Then, each time the communication interface 21 receives an image from the camera 2, the received image is passed to the processor 23. Further, the communication interface 21 passes the sensor signal received from the distance measuring sensor 3 to the processor 23. Alternatively, the communication interface 21 passes the map read from the storage device, the positioning information from the GPS receiver, and the like received via the in-vehicle network to the processor 23.

メモリ22は、記憶部の一例であり、例えば、揮発性の半導体メモリ及び不揮発性の半導体メモリを有する。そしてメモリ22は、ECU4のプロセッサ23により実行される各種処理を実現するためのコンピュータプログラム、物体検出処理において使用される各種のデータ、例えば、カメラ2から受信した画像、測距センサ3から受け取ったセンサ信号、物体検出処理で利用される識別器を構成するための各種パラメータなどを記憶する。さらに、メモリ22は、物体検出処理の途中における演算結果を記憶する。さらにまた、メモリ22は、物体検出処理において使用されるDNNを構成するための各種パラメータ(例えば、重み係数、活性化関数など)及びDNNの基本構成を記憶する。さらにまた、メモリ22は、DNNの複数の構成単位及び各構成単位の演算所要時間及び演算結果についての精度に対する寄与の度合いの予測値(以下、演算精度寄与度と呼ぶ)を表す構成テーブル、及び、個々の構成単位による演算以外の演算(例えば、non-maximum suppression)に要する所要時間を記憶する。本実施形態では、DNNにより実行される演算処理は物体検出処理であるので、演算結果についての精度は、物体検出結果の確からしさを表す精度である。 The memory 22 is an example of a storage unit, and includes, for example, a volatile semiconductor memory and a non-volatile semiconductor memory. Then, the memory 22 receives from a computer program for realizing various processes executed by the processor 23 of the ECU 4, various data used in the object detection process, for example, an image received from the camera 2, and a distance measuring sensor 3. It stores sensor signals, various parameters for configuring the classifier used in object detection processing, and so on. Further, the memory 22 stores the calculation result in the middle of the object detection process. Furthermore, the memory 22 stores various parameters (for example, weighting coefficient, activation function, etc.) for configuring the DNN used in the object detection process, and the basic configuration of the DNN. Furthermore, the memory 22 is a configuration table representing a plurality of DNN structural units, a predicted value of the degree of contribution to the accuracy of the calculation required time and the calculation result of each structural unit (hereinafter, referred to as a calculation accuracy contribution), and a configuration table. , Stores the time required for operations other than operations by individual structural units (for example, non-maximum suppression). In the present embodiment, the arithmetic processing executed by the DNN is the object detection processing, so the accuracy of the arithmetic result is an accuracy indicating the certainty of the object detection result.

プロセッサ23は、制御部の一例であり、1個または複数個のCPU(Central Processing Unit)及びその周辺回路を有する。プロセッサ23は、論理演算ユニット、数値演算ユニットあるいはグラフィック処理ユニットといった他の演算回路をさらに有していてもよい。プロセッサ23は、DNNによる演算処理に含まれる特定の演算(例えば、畳み込み演算)を実行するための専用の演算回路をさらに有してもよい。そしてプロセッサ23は、車両10が走行している間、カメラ2から画像を受信する度に、受信した画像に対して物体検出処理を含む車両制御処理を実行する。そしてプロセッサ23は、検出された車両10の周囲の物体に基づいて、車両10を自動運転するよう、車両10を制御する。 The processor 23 is an example of a control unit, and includes one or a plurality of CPUs (Central Processing Units) and peripheral circuits thereof. The processor 23 may further include other arithmetic circuits such as a logical operation unit, a numerical operation unit, or a graphic processing unit. The processor 23 may further have a dedicated arithmetic circuit for executing a specific arithmetic (for example, a convolution arithmetic) included in the arithmetic processing by the DNN. Then, each time the processor 23 receives an image from the camera 2 while the vehicle 10 is traveling, the processor 23 executes a vehicle control process including an object detection process on the received image. Then, the processor 23 controls the vehicle 10 so as to automatically drive the vehicle 10 based on the detected object around the vehicle 10.

図3は、物体検出処理を含む車両制御処理に関する、ECU4のプロセッサ23の機能ブロック図である。プロセッサ23は、選択部31と、物体検出部32と、運転計画部33と、車両制御部34とを有する。プロセッサ23が有するこれらの各部は、例えば、プロセッサ23上で動作するコンピュータプログラムにより実現される機能モジュールである。あるいは、プロセッサ23が有するこれらの各部は、プロセッサ23に設けられる、専用の演算回路であってもよい。また、プロセッサ23が有するこれらの各部のうち、選択部31及び物体検出部32が、DNNを用いた演算処理の一例である物体検出処理を実行する。 FIG. 3 is a functional block diagram of the processor 23 of the ECU 4 regarding vehicle control processing including object detection processing. The processor 23 includes a selection unit 31, an object detection unit 32, an operation planning unit 33, and a vehicle control unit 34. Each of these parts of the processor 23 is, for example, a functional module realized by a computer program running on the processor 23. Alternatively, each of these parts included in the processor 23 may be a dedicated arithmetic circuit provided in the processor 23. Further, among these parts of the processor 23, the selection unit 31 and the object detection unit 32 execute the object detection process, which is an example of the arithmetic processing using the DNN.

図4は、物体検出処理において識別器として使用されるDNNの構成の一例を示す図である。DNN400は、例えば、コンボリューショナルニューラルネットワーク型のアーキテクチャを有するニューラルネットワークであり、入力側から順に、複数のブロック401−1〜401−n(nは2以上の整数)を有する。個々のブロックは、例えば、それぞれ、同じ解像度のデータに対する処理を行う。例えば、入力側に近いブロックほど、高い解像度のデータに対する処理を実行する。本実施形態では、DNN400は、カメラ2により生成された画像に表された物体を検出するために用いられるので、個々のブロックは、そのブロックに入力されるデータの解像度で物体が表された領域を検出するとともに、検出された物体の種類を識別するための処理を実行する。 FIG. 4 is a diagram showing an example of the configuration of a DNN used as a classifier in the object detection process. The DNN 400 is, for example, a neural network having a convolutional neural network type architecture, and has a plurality of blocks 401-1 to 401-n (n is an integer of 2 or more) in order from the input side. Each block processes, for example, data having the same resolution. For example, the closer the block is to the input side, the higher the resolution of the data is processed. In the present embodiment, the DNN 400 is used to detect an object represented in the image generated by the camera 2, so that each block is an area in which the object is represented by the resolution of the data input to the block. Is detected, and a process for identifying the type of the detected object is executed.

個々のブロックには、選択可能な単位となる複数の構成が規定される。例えば、ブロック401−1には構成411−1〜411−k(kは2以上の整数)が規定され、ブロック401−2には、構成412−1〜412−i(iは2以上の整数)が規定され、ブロック401−nには、構成413−1〜413−j(jは2以上の整数)が規定される。個々の構成の単位は、例えば、ブロックそのもの、そのブロックに含まれる、入力されたデータに対して並列に処理を実行する2以上のブランチの何れか、または、そのブロックに含まれる1以上の層とすることができる。各層は、その層に入力されるデータ(例えば、feature map)に対して所定の演算を実行する。層の種類には、例えば、畳み込み層、プーリング層、全結合層(affine層)、活性化層及び出力層などが含まれる。畳み込み層は、所定のサイズのカーネルで入力されるデータに対する畳み込み演算を実行する層である。プーリング層は、Maxプーリングといったプーリング処理を実行する層である。全結合層は、入力されるデータに対する全結合演算を行う層である。活性化層は、ReLUまたはシグモイド関数といった活性化関数を用いた活性化演算を実行する層である。そして出力層は、softmax関数またはシグモイド関数を用いて出力値を求める層である。 Each block is defined by a plurality of configurations that are selectable units. For example, block 401-1 is defined with configurations 411-1 to 411-k (k is an integer of 2 or more), and block 401-2 is configured with configurations 421-1 to 421-i (i is an integer of 2 or more). ) Is specified, and configurations 413-1 to 413-j (j is an integer of 2 or more) are specified in the block 401-n. The unit of each configuration is, for example, the block itself, one or more branches contained in the block that execute processing in parallel with the input data, or one or more layers contained in the block. Can be. Each layer performs a predetermined operation on the data (for example, feature map) input to the layer. Types of layers include, for example, convolution layers, pooling layers, fully connected layers (affine layers), activation layers and output layers. The convolution layer is a layer that executes a convolution operation on data input by a kernel of a predetermined size. The pooling layer is a layer that executes a pooling process such as Max pooling. The fully connected layer is a layer that performs a fully connected operation on the input data. The activation layer is a layer that executes an activation operation using an activation function such as a ReLU or a sigmoid function. The output layer is a layer for which the output value is obtained by using the softmax function or the sigmoid function.

例えば、ブロックそのものまたはブランチが選択可能なニューラルネットワークの構成の単位である場合、個々の構成の単位に含まれる層の数または層の種類は互いに異なっていてもよい。また、ブロック内の何れかの層が選択可能なニューラルネットワークの構成の単位である場合、個々の構成の単位ごとに、その構成の単位である層の演算を規定するパラメータ(例えば、畳み込み層のカーネルサイズ、ストライド等)が異なっていてもよい。さらに、DNN400の全体構成自体、予め複数用意されてもよい。この場合には、DNN400の全体構成自体が選択可能な構成の単位であってもよい。さらにまた、DNNによる演算量に関連するパラメータも選択可能な構成の単位とされてもよい。このようなパラメータには、例えば、各層またはブロックに入力されるデータのサイズ(例えば、直前の層から出力されたfeature mapに対する縮小の程度)、入力されるデータに含まれる個々の値を表すタイプ及び量子化ビット幅(浮動小数点型32ビット、整数型8ビット等)、または0に置換する重み係数の程度を表す量であるPruning量等が含まれる。さらにまた、上記の構成の単位の何れか二つ以上を組み合わせたものが、選択可能なニューラルネットワークの構成の単位であってもよい。 For example, if the block itself or a branch is a selectable unit of neural network configuration, the number of layers or the types of layers contained in each configuration unit may be different from each other. Further, when any layer in the block is a unit of the neural network configuration that can be selected, a parameter (for example, of a convolution layer) that defines the operation of the layer that is the unit of the configuration for each unit of the configuration. Kernel size, stride, etc.) may be different. Further, a plurality of DNN400 overall configurations themselves may be prepared in advance. In this case, the overall configuration of the DNN 400 itself may be a selectable unit of configuration. Furthermore, parameters related to the amount of calculation by DNN may also be a selectable unit of configuration. Such parameters include, for example, the size of the data input to each layer or block (eg, the degree of reduction relative to the feature map output from the previous layer), a type that represents the individual values contained in the input data. And the quantization bit width (floating point type 32 bits, integer type 8 bits, etc.), or the Pruning amount, which is a quantity indicating the degree of the weighting coefficient to be replaced with 0, is included. Furthermore, a combination of any two or more of the above-mentioned configuration units may be a selectable neural network configuration unit.

選択部31は、複数のDNNの構成の中から目標演算終了時間までに物体検出処理が終了するニューラルネットワークの構成の候補を一つ以上選択し、演算処理の結果についての精度、本実施形態では、物体の検出精度が最大となるように、選択した候補の中から物体検出処理を実行するDNNの構成を選択する。個々のDNNの構成は、選択可能な構成の単位を組み合わせることで規定される。 The selection unit 31 selects one or more candidates for the configuration of the neural network whose object detection processing is completed by the target calculation end time from the plurality of DNN configurations, and determines the accuracy of the calculation processing result, in the present embodiment. , The configuration of the DNN that executes the object detection process is selected from the selected candidates so that the object detection accuracy is maximized. The configuration of each DNN is defined by combining the units of the selectable configuration.

選択部31は、プロセッサ23がカメラ2から画像を取得する度に、物体検出部32に、その画像に対して物体検出処理を開始させる。その際、選択部31は、物体検出部32に、予め設定された基本構成のDNNを利用するよう指示する。 The selection unit 31 causes the object detection unit 32 to start the object detection process for the image each time the processor 23 acquires an image from the camera 2. At that time, the selection unit 31 instructs the object detection unit 32 to use the DNN having the basic configuration set in advance.

その後、選択部31は、所定の周期(例えば、画像の取得周期またはその取得周期よりも短い周期)ごとに、プロセッサ23上で動作する各処理の演算順序及び各処理の演算の開始予定時刻などを管理するスケジューラに、物体検出処理の結果を利用する次の処理(本実施形態では、運転計画部33により実行される処理)の開始予定時刻を問い合わせる。そして選択部31は、その開始予定時刻に基づいて目標演算終了時間を設定する。例えば、選択部31は、次の処理の開始予定時刻自体、あるいは、次の処理の開始予定時刻よりも所定のオフセット時間だけ前の時間を、目標演算終了時間に設定する。なお、所定の周期ごとに物体検出処理を終了させることが予め規定されている場合には、選択部31は、その周期に従って目標演算終了時間を設定してもよい。 After that, the selection unit 31 sets the calculation order of each process operating on the processor 23, the scheduled start time of each process, and the like for each predetermined cycle (for example, an image acquisition cycle or a cycle shorter than the acquisition cycle). Inquires of the scheduler that manages the scheduled start time of the next process (process executed by the operation planning unit 33 in the present embodiment) using the result of the object detection process. Then, the selection unit 31 sets the target calculation end time based on the scheduled start time. For example, the selection unit 31 sets the target calculation end time to be the scheduled start time of the next process itself or a time prior to the scheduled start time of the next process by a predetermined offset time. If it is specified in advance that the object detection process is terminated every predetermined cycle, the selection unit 31 may set the target calculation end time according to the cycle.

また、選択部31は、現在実行中の物体検出処理にて使用されているDNNの構成による、物体検出処理の予定所要時間から、現在実行中の物体検出処理の開始時刻から現時刻までの経過時間との差を、物体検出処理の残りの演算が終了するまでの所要時間の推定値(以下、推定残所要時間と呼ぶ)として算出する。なお、選択部31は、例えば、メモリ22に記憶されている、現在使用中のDNNに含まれる個々の構成単位の推定所要時間及びそれ以外の演算の推定所要時間の和として、予定所要時間を算出できる。その際、選択部31は、予定所要時間を、プロセッサ23の現在のクロック周波数またはDNNの演算に利用可能なプロセッサ23の占有率に応じて補正してもよい。そして選択部31は、推定残所要時間と目標演算終了時間までの残り時間とを比較し、推定残所要時間が残り時間よりも長い場合、構成テーブルを参照して、目標演算終了時間までに物体検出処理が終了するように、物体検出処理の残りの演算に利用されるDNNの構成を選択する。さらに、選択部31は、構成テーブルを参照して、目標演算終了時間までに物体検出処理が終了するDNNの構成の中から、物体検出精度が最も高くなるように、物体検出処理の残りの演算に利用されるDNNの構成をさらに選択する。 In addition, the selection unit 31 elapses from the scheduled required time of the object detection process according to the configuration of the DNN used in the currently executing object detection process to the current time from the start time of the currently executing object detection process. The difference from the time is calculated as an estimated value of the time required until the remaining calculation of the object detection process is completed (hereinafter, referred to as an estimated remaining required time). The selection unit 31 sets the estimated required time as the sum of the estimated required time of each structural unit included in the currently used DNN and the estimated required time of other operations stored in the memory 22, for example. Can be calculated. At that time, the selection unit 31 may correct the scheduled required time according to the current clock frequency of the processor 23 or the occupancy rate of the processor 23 available for DNN calculation. Then, the selection unit 31 compares the estimated remaining required time with the remaining time until the target calculation end time, and if the estimated remaining required time is longer than the remaining time, refers to the configuration table and refers to the object by the target calculation end time. The configuration of the DNN used for the remaining operations of the object detection process is selected so that the detection process ends. Further, the selection unit 31 refers to the configuration table and performs the remaining operations of the object detection process so that the object detection accuracy is the highest among the DNN configurations in which the object detection process is completed by the target calculation end time. Further select the configuration of the DNN used for.

図5は、構成テーブルの一例を示す図である。構成テーブル500には、各ブロックについて、選択可能な単位である複数の構成501と、構成501ごとに、その構成501の演算に要する推定所要時間502と演算精度寄与度503が示される。なお、構成テーブル500に示されるブロックm(m=1,2,...,n)は、図4に示されるDNN400のブロック401−mに対応する。各構成501は、上記のように、例えば、ブロックそのもの、ブランチ、何れかの層またはパラメータあるいはそれらの組み合わせである。各構成501の推定所要時間502及び演算精度寄与度503は、例えば、それぞれ、所定の条件下で予め実際に測定され、あるいは、その構成の設計情報から予め推定される。例えば、各構成501の推定所要時間502は、プロセッサ23を基準クロック周波数で動作させ、かつ、DNNの演算についてのプロセッサ23の占有率をその最大値としたときの測定値とすることができる。なお、推定所要時間502を表す単位は、例えば、クロック数または時間の何れであってもよい。また、演算精度寄与度503は、構成501間の相対的な演算精度の向上に対する寄与度を表す指標であればよく、実際の演算精度そのものを表す値でなくてもよい。図5に示される例では、演算精度寄与度503の値が高いほど、対応する構成501が演算精度の向上に対する寄与度が高いことを表す。 FIG. 5 is a diagram showing an example of the configuration table. The configuration table 500 shows a plurality of configurations 501, which are selectable units, for each block, and for each configuration 501, an estimated required time 502 and a calculation accuracy contribution 503 required for the calculation of the configuration 501. The block m (m = 1,2, ..., N) shown in the configuration table 500 corresponds to the block 401-m of the DNN 400 shown in FIG. Each configuration 501 is, for example, the block itself, a branch, any layer or parameter, or a combination thereof, as described above. The estimated required time 502 and the calculation accuracy contribution 503 of each configuration 501 are, for example, actually measured in advance under predetermined conditions, or estimated in advance from the design information of the configuration. For example, the estimated required time 502 of each configuration 501 can be a measured value when the processor 23 is operated at the reference clock frequency and the occupancy rate of the processor 23 for the DNN calculation is set as the maximum value. The unit representing the estimated required time 502 may be, for example, either the number of clocks or the time. Further, the calculation accuracy contribution 503 may be an index showing the contribution to the relative improvement of the calculation accuracy between the configurations 501, and may not be a value representing the actual calculation accuracy itself. In the example shown in FIG. 5, the higher the value of the calculation accuracy contribution 503, the higher the contribution of the corresponding configuration 501 to the improvement of the calculation accuracy.

選択部31は、構成テーブルを参照して、DNNによる残りの演算に関して適用可能な構成の単位の組み合わせの中から、目標演算終了時間までに物体検出処理が終了する組み合わせを、候補となるDNNの構成として選択する。例えば、現時点でブロック401−1までの演算が終了している場合、選択部31は、ブロック401−2以降の各ブロックの構成の単位を組み合わせて、候補となるDNNの構成を選択する。その際、選択部31は、構成の単位の可能な組み合わせのそれぞれについて推定所要時間の合計(以下、推定合計所要時間と呼ぶ)を算出し、その推定合計所要時間が残り時間以下となる組み合わせを候補となる構成として選択する。あるいは、選択部31は、動的計画法または他の最適化手法に従って、推定合計所要時間が残り時間以下となる組み合わせを候補となる構成として選択してもよい。なお、DNNによる演算量に関連するパラメータ(入力feature mapサイズ、量子化幅、Pruning量等)も、上記の個々の構成の単位とは別個に選択可能である場合、選択部31は、選択するパラメータに応じた演算の短縮率を、選択した個々の構成の単位の推定所要時間に乗じて得られる値の合計を推定合計所要時間として算出してもよい。この場合、選択可能なパラメータごとに、そのパラメータによる演算の短縮率も、メモリ22に予め記憶されればよい。 The selection unit 31 refers to the configuration table and selects, among the combinations of the units of the configuration applicable to the remaining operations by the DNN, the combination in which the object detection process is completed by the target calculation end time, as a candidate DNN. Select as configuration. For example, when the operations up to block 401-1 have been completed at this point, the selection unit 31 selects a candidate DNN configuration by combining the units of the configuration of each block after block 401-2. At that time, the selection unit 31 calculates the total estimated required time (hereinafter referred to as the estimated total required time) for each of the possible combinations of the units of the configuration, and selects the combination in which the estimated total required time is equal to or less than the remaining time. Select as a candidate configuration. Alternatively, the selection unit 31 may select a combination in which the estimated total required time is less than or equal to the remaining time as a candidate configuration according to a dynamic programming method or another optimization method. If the parameters related to the amount of calculation by DNN (input feature map size, quantization width, pruning amount, etc.) can also be selected separately from the units of the above individual configurations, the selection unit 31 selects them. The sum of the values obtained by multiplying the estimated time required for the unit of each selected configuration by the shortening rate of the calculation according to the parameter may be calculated as the estimated total time required. In this case, for each selectable parameter, the shortening rate of the calculation according to the parameter may be stored in the memory 22 in advance.

また、選択部31は、プロセッサ23の現在のクロック周波数に対する基準クロック周波数の比、または、DNNの演算に利用可能なプロセッサ23の現在の占有率に対する占有率の最大値の比を、選択した個々の構成の推定所要時間に乗じて得られる値の合計を推定合計所要時間として算出してもよい。 Further, the selection unit 31 selects the ratio of the reference clock frequency to the current clock frequency of the processor 23 or the ratio of the maximum value of the occupancy rate to the current occupancy rate of the processor 23 available for DNN calculation. The sum of the values obtained by multiplying the estimated required time of the configuration of the above may be calculated as the estimated total required time.

選択部31は、選択した、候補となるDNNの構成(すなわち、構成の単位の組み合わせ)のそれぞれについて、構成テーブルを参照して、その組み合わせに含まれる個々の構成の単位の演算精度寄与度の合計を算出し、その合計が最大となる組み合わせを、物体検出精度が最大となる組み合わせとして特定する。あるいは、選択部31は、選択した構成の組み合わせのそれぞれについて、構成テーブルを参照して、その組み合わせに含まれる個々の構成の単位の演算精度寄与度の積を算出し、その積が最大となる組み合わせを、物体検出精度が最大となる組み合わせとして特定してもよい。そして選択部31は、選択した組み合わせを使用するDNNの構成として、物体検出部32へ通知する。 The selection unit 31 refers to the configuration table for each of the selected candidate DNN configurations (that is, combinations of configuration units), and refers to the calculation accuracy contribution of the units of the individual configurations included in the combination. The total is calculated, and the combination that maximizes the total is specified as the combination that maximizes the object detection accuracy. Alternatively, the selection unit 31 refers to the configuration table for each combination of the selected configurations, calculates the product of the calculation accuracy contributions of the units of the individual configurations included in the combination, and the product becomes the maximum. The combination may be specified as the combination that maximizes the object detection accuracy. Then, the selection unit 31 notifies the object detection unit 32 as a configuration of the DNN using the selected combination.

なお、推定残所要時間が残り時間以下である場合には、選択部31は、DNNの構成を変更しなくてもよい。あるいは、推定残所要時間が残り時間よりも短い場合には、選択部31は、上記と同様の処理を行って、目標演算終了時間までに物体検出処理が終了し、かつ、物体検出精度が現在のDNNの構成よりも高くなるように、残りの演算を実行するDNNの構成を変更し、変更したDNNの構成を物体検出部32へ通知してもよい。 When the estimated remaining required time is less than or equal to the remaining time, the selection unit 31 does not have to change the configuration of the DNN. Alternatively, when the estimated remaining required time is shorter than the remaining time, the selection unit 31 performs the same processing as described above, the object detection process is completed by the target calculation end time, and the object detection accuracy is currently high. The configuration of the DNN that executes the remaining operations may be changed so as to be higher than the configuration of the DNN of the above, and the changed configuration of the DNN may be notified to the object detection unit 32.

また、選択部31は、過去の演算履歴に応じて、各構成の推定所要時間を変更してもよい。例えば、物体検出処理が終了する度に、物体検出部32は、その物体検出処理で利用されたDNNに含まれる構成の単位ごとの演算所要時間をメモリ22に記憶させる。そして選択部31は、各構成の単位について、直近の所定回数の演算所要時間の平均値あるいは中央値を、その構成の単位の推定所要時間としてもよい。 Further, the selection unit 31 may change the estimated required time of each configuration according to the past calculation history. For example, each time the object detection process is completed, the object detection unit 32 stores in the memory 22 the calculation time required for each unit of the configuration included in the DNN used in the object detection process. Then, the selection unit 31 may use the average value or the median value of the operation required time of the most recent predetermined number of times as the estimated required time of the unit of the configuration for each configuration unit.

あるいは、選択部31は、DNNに入力されるデータに応じて、各構成の推定所要時間及び演算精度寄与度を変更してもよい。本実施形態では、DNNに入力されるデータが画像であるので、例えば、画像に表されたシーンの種別ごとに、各構成の推定所要時間と演算精度寄与度を表す構成テーブルがメモリ22に予め記憶される。そして選択部31は、画像に表されたシーンの種別を判断して、その種別に応じた構成テーブルをメモリ22から読み出し、読み出した構成テーブルを参照して、上記の処理を実行すればよい。例えば、選択部31は、画像全体または画像の所定領域内の画素値の統計的代表値(平均値、分散等)を算出し、その統計的代表値と、シーンの種別ごとに規定される基準代表値とを比較し、その統計的代表値に最も近い基準代表値に対応する種別を、画像に表されたシーンの種別と判定する。また、選択部31は、ワイパーの動作情報、無線端末を介して受信した、車両10の現在位置における天気予報などに基づいて、車両10の周囲の天候を判別し、車両10の周囲の天候に対応する種別を、画像に表された種別と判定してもよい。あるいは、選択部31は、画像に表されたシーンの種別を判定する他の手法に従って、そのシーンの種別を判定してもよい。 Alternatively, the selection unit 31 may change the estimated required time and the calculation accuracy contribution of each configuration according to the data input to the DNN. In the present embodiment, since the data input to the DNN is an image, for example, for each type of scene represented in the image, a configuration table representing the estimated required time of each configuration and the contribution of calculation accuracy is stored in the memory 22 in advance. It will be remembered. Then, the selection unit 31 may determine the type of the scene represented in the image, read the configuration table corresponding to the type from the memory 22, refer to the read configuration table, and execute the above processing. For example, the selection unit 31 calculates a statistical representative value (average value, variance, etc.) of the pixel value in the entire image or a predetermined area of the image, and the statistical representative value and a reference defined for each scene type. The representative value is compared, and the type corresponding to the reference representative value closest to the statistical representative value is determined to be the type of the scene shown in the image. Further, the selection unit 31 determines the weather around the vehicle 10 based on the operation information of the wiper, the weather forecast at the current position of the vehicle 10 received via the wireless terminal, and the like, and determines the weather around the vehicle 10. The corresponding type may be determined as the type shown in the image. Alternatively, the selection unit 31 may determine the type of the scene according to another method for determining the type of the scene shown in the image.

さらに、選択部31は、プロセッサ23がカメラ2から最新の画像を受け取った時、すなわち、物体検出部32による、最新の画像に対するDNNの演算が開始される前、あるいは、前の画像に対するDNNの演算の実行中においても、上記の処理と同様の処理を行って、最新の画像に対して使用するDNNの構成を決定してもよい。そして選択部31は、物体検出部32へ決定したDNNの構成を利用するよう指示してもよい。 Further, the selection unit 31 receives the latest image from the camera 2, that is, before the object detection unit 32 starts the DNN calculation for the latest image, or the DNN for the previous image. Even during the execution of the calculation, the same processing as the above processing may be performed to determine the configuration of the DNN to be used for the latest image. Then, the selection unit 31 may instruct the object detection unit 32 to use the determined DNN configuration.

図6は、プロセッサ23の選択部31による、DNNの構成の選択処理の動作フローチャートである。選択部31は、以下に示される動作フローチャートに従って、所定の周期ごとに選択処理を実行すればよい。 FIG. 6 is an operation flowchart of the selection process of the DNN configuration by the selection unit 31 of the processor 23. The selection unit 31 may execute the selection process at predetermined intervals according to the operation flowchart shown below.

プロセッサ23の選択部31は、スケジューラに物体検出処理の検出結果を利用する次の処理の開始予定時刻を問い合わせ、その開始予定時刻に従って目標演算終了時間を設定する(ステップS101)。選択部31は、DNNによる演算が終了するまでの推定残所要時間が目標演算終了時間までの残り時間よりも長いか否か判定する(ステップS102)。推定残所要時間が残り時間よりも長い場合(ステップS102−Yes)、選択部31は、構成テーブルを参照して、DNNによる残りの演算の推定合計所要時間が目標演算終了時間までの残り時間以下となるDNNの構成の候補を一つ以上選択する(ステップS103)。そして選択部31は、構成テーブルを参照して、選択したDNNの構成の候補のうち、物体検出精度が最も高い候補を、残りの演算を実行するDNNの構成として選択する(ステップS104)。 The selection unit 31 of the processor 23 inquires the scheduler of the scheduled start time of the next process using the detection result of the object detection process, and sets the target calculation end time according to the scheduled start time (step S101). The selection unit 31 determines whether or not the estimated remaining time required until the DNN calculation is completed is longer than the remaining time until the target calculation end time (step S102). When the estimated remaining required time is longer than the remaining time (step S102-Yes), the selection unit 31 refers to the configuration table and the estimated total required time of the remaining operations by the DNN is equal to or less than the remaining time until the target operation end time. One or more candidates for the DNN configuration to be used are selected (step S103). Then, the selection unit 31 refers to the configuration table and selects the candidate having the highest object detection accuracy among the selected DNN configuration candidates as the DNN configuration for executing the remaining operations (step S104).

一方、ステップS102にて、推定残所要時間が残り時間以下である場合(ステップS102−No)、選択部31は、現在使用中のDNNの構成を残りの演算にも使用する構成として選択する(ステップS105)。 On the other hand, in step S102, when the estimated remaining required time is less than or equal to the remaining time (step S102-No), the selection unit 31 selects the currently used DNN configuration as the configuration to be used for the remaining operations (step S102-No). Step S105).

ステップS104またはS105の後、選択部31は、物体検出部32へ、選択した構成のDNNを用いて残りの演算を実行するよう指示する(ステップS106)。そして選択部31は、選択処理を終了する。なお、選択部31は、ステップS102にて推定残所要時間が残り時間よりも短い場合も、上記のように、ステップS103及びS104の処理を実行してもよい。 After step S104 or S105, the selection unit 31 instructs the object detection unit 32 to perform the remaining operations using the DNN of the selected configuration (step S106). Then, the selection unit 31 ends the selection process. The selection unit 31 may execute the processes of steps S103 and S104 as described above even when the estimated remaining required time is shorter than the remaining time in step S102.

物体検出部32は、演算部の一例であり、カメラ2から画像が得られる度に、その画像を識別器として利用されるDNNに入力することで、その画像に表された、車両10の周囲に存在する検出対象となる物体を検出する。なお、検出対象となる物体には、例えば、車または人といった移動物体が含まれる。また、検出対象となる物体には、車線区画線といった道路標示または道路標識、及び信号機といった静止物体がさらに含まれてもよい。 The object detection unit 32 is an example of a calculation unit, and each time an image is obtained from the camera 2, the object detection unit 32 inputs the image to the DNN used as a discriminator, so that the surroundings of the vehicle 10 represented in the image are displayed. Detects the object to be detected that exists in. The object to be detected includes, for example, a moving object such as a car or a person. Further, the object to be detected may further include a road marking or a road sign such as a lane marking line, and a stationary object such as a traffic light.

本実施形態では、物体検出部32は、選択部31から指示された構成を有するDNNを識別器として利用する。そのために、物体検出部32は、選択部31から指示された構成を有するDNNを構成するためのパラメータをメモリ22から読み込んでそのDNNを構成し、構成したDNNへ画像を入力する。また、物体検出部32は、DNNによる演算の途中において、DNNの構成を変更するよう選択部31から指示された場合には、その変更後の構成を持つDNNを構成するためのパラメータをメモリ22から読み込んでDNNの構成を指示された構成に変更し、変更後の構成を持つDNNにより、残りの演算を実行する。なお、DNNのブロック間でfeature mapといったデータの受け渡しが行われる際に、そのデータのサイズが縮小される場合には、物体検出部32は、例えば、データを受け取るブロックの最初の層におけるストライドをそのデータのサイズの縮小率に応じて設定すればよい。 In the present embodiment, the object detection unit 32 uses a DNN having a configuration instructed by the selection unit 31 as a discriminator. Therefore, the object detection unit 32 reads the parameters for configuring the DNN having the configuration instructed by the selection unit 31 from the memory 22, configures the DNN, and inputs an image to the configured DNN. Further, when the object detection unit 32 is instructed by the selection unit 31 to change the configuration of the DNN during the calculation by the DNN, the object detection unit 32 stores the parameters for configuring the DNN having the changed configuration in the memory 22. The DNN configuration is changed to the instructed configuration by reading from, and the remaining operations are executed by the DNN having the changed configuration. When data such as a feature map is passed between DNN blocks and the size of the data is reduced, the object detection unit 32, for example, sets a stride in the first layer of the block that receives the data. It may be set according to the reduction rate of the size of the data.

さらに、物体検出部32は、測距センサ3からのセンサ信号といった、カメラ2以外の車両10の周囲の物体を検知するために利用可能な他のセンサにより得られたセンサ信号に基づいて、車両10の周囲の物体を検出してもよい。 Further, the object detection unit 32 is based on a sensor signal obtained by another sensor available for detecting an object around the vehicle 10 other than the camera 2, such as a sensor signal from the distance measuring sensor 3. 10 Peripheral objects may be detected.

この場合、物体検出部32は、他のセンサの種類に応じた物体検出手法に従って車両10の周囲の物体を検出すればよい。あるいは、物体検出部32は、DNNに対して、画像だけでなく、他のセンサにより得られた、画像に表された領域と同じ領域のセンサ信号を入力してもよい。 In this case, the object detection unit 32 may detect an object around the vehicle 10 according to an object detection method according to another type of sensor. Alternatively, the object detection unit 32 may input not only the image but also the sensor signal of the same region as the region represented by the image obtained by another sensor to the DNN.

物体検出部32は、検出された物体の種類及び画像上での位置を表す情報を運転計画部33へ出力する。 The object detection unit 32 outputs information indicating the type of the detected object and the position on the image to the operation planning unit 33.

運転計画部33は、各画像から検出された物体に基づいて、車両10の周囲に存在する物体と車両10とが衝突しないように車両10の走行予定経路を1以上生成する。走行予定経路は、例えば、現時刻から所定時間先までの各時刻における、車両10の目標位置の集合として表される。例えば、運転計画部33は、カメラ2から画像を受信する度に、カメラ2についての車両10への取り付け位置などの情報を用いて視点変換処理を実行することで、受信した画像を鳥瞰画像に変換する。そして運転計画部33は、一連の鳥瞰画像に対してKalman Filterなどを用いたトラッキング処理を実行することで、各画像についての検出されている物体を追跡し、その追跡結果により得られた軌跡から、物体のそれぞれの所定時間先までの予測軌跡を推定する。運転計画部33は、追跡中の各物体の予測軌跡に基づいて、何れの物体についても所定時間先までの追跡中の物体のそれぞれと車両10間の距離の予測値が所定距離以上となるように、車両10の走行予定経路を生成する。その際、運転計画部33は、例えば、車両10に搭載されたGPS受信機(図示せず)から得た測位情報に表される車両10の現在位置と、メモリ22に記憶されている地図情報とを参照して、車両10が走行可能な車線の数を確認してもよい。そして運転計画部33は、車両10が走行可能な車線が複数存在する場合には、車両10が走行する車線を変更するように走行予定経路を生成してもよい。その際、運転計画部33は、画像から検出された車線区画線の位置を参照して、車両10が走行中の車線、あるいは変更先の車線と車両10との位置関係を判定してもよい。さらに、運転計画部33は、画像から検出された信号機が一時停止を示している場合には、車両10をその信号機に対応する停止線にて停止させるように走行予定経路を設定してもよい。
なお、運転計画部33は、複数の走行予定経路を生成してもよい。この場合、運転計画部33は、複数の走行予定経路のうち、車両10の加速度の絶対値の総和が最小となる経路を選択してもよい。
Based on the objects detected from each image, the operation planning unit 33 generates one or more planned travel routes of the vehicle 10 so that the objects existing around the vehicle 10 and the vehicle 10 do not collide with each other. The planned travel route is represented as, for example, a set of target positions of the vehicle 10 at each time from the current time to a predetermined time ahead. For example, each time the operation planning unit 33 receives an image from the camera 2, the operation planning unit 33 executes a viewpoint conversion process using information such as the mounting position of the camera 2 on the vehicle 10 to convert the received image into a bird's-eye view image. Convert. Then, the operation planning unit 33 tracks a detected object for each image by executing a tracking process using a Kalman Filter or the like on a series of bird's-eye views images, and from the trajectory obtained from the tracking result. , Estimate the predicted trajectory of each object up to a predetermined time ahead. Based on the predicted locus of each object being tracked, the operation planning unit 33 makes the predicted value of the distance between each of the objects being tracked up to a predetermined time ahead and the vehicle 10 equal to or more than a predetermined distance. In addition, the planned travel route of the vehicle 10 is generated. At that time, the operation planning unit 33, for example, has the current position of the vehicle 10 represented by the positioning information obtained from the GPS receiver (not shown) mounted on the vehicle 10 and the map information stored in the memory 22. The number of lanes in which the vehicle 10 can travel may be confirmed with reference to. Then, when there are a plurality of lanes in which the vehicle 10 can travel, the operation planning unit 33 may generate a planned travel route so as to change the lane in which the vehicle 10 travels. At that time, the operation planning unit 33 may determine the positional relationship between the lane in which the vehicle 10 is traveling or the lane to be changed and the vehicle 10 by referring to the position of the lane marking line detected from the image. .. Further, the operation planning unit 33 may set a planned travel route so that the vehicle 10 is stopped at the stop line corresponding to the traffic light when the traffic light detected from the image indicates a stop sign. ..
The operation planning unit 33 may generate a plurality of planned travel routes. In this case, the operation planning unit 33 may select the route that minimizes the total sum of the absolute values of the accelerations of the vehicle 10 from the plurality of planned travel routes.

運転計画部33は、生成した走行予定経路を車両制御部34へ通知する。 The operation planning unit 33 notifies the vehicle control unit 34 of the generated planned travel route.

車両制御部34は、車両10が通知された走行予定経路に沿って走行するように車両10の各部を制御する。例えば、車両制御部34は、通知された走行予定経路、及び、車速センサ(図示せず)により測定された車両10の現在の車速に従って、車両10の加速度を求め、その加速度となるようにアクセル開度またはブレーキ量を設定する。そして車両制御部34は、設定されたアクセル開度に従って燃料噴射量を求め、その燃料噴射量に応じた制御信号を車両10のエンジンの燃料噴射装置へ出力する。あるいは、車両制御部34は、設定されたブレーキ量に応じた制御信号を車両10のブレーキへ出力する。 The vehicle control unit 34 controls each part of the vehicle 10 so that the vehicle 10 travels along the notified travel schedule route. For example, the vehicle control unit 34 obtains the acceleration of the vehicle 10 according to the notified planned travel route and the current vehicle speed of the vehicle 10 measured by the vehicle speed sensor (not shown), and accelerates the accelerator so as to be the acceleration. Set the opening or brake amount. Then, the vehicle control unit 34 obtains the fuel injection amount according to the set accelerator opening degree, and outputs a control signal corresponding to the fuel injection amount to the fuel injection device of the engine of the vehicle 10. Alternatively, the vehicle control unit 34 outputs a control signal according to the set brake amount to the brake of the vehicle 10.

さらに、車両制御部34は、車両10が走行予定経路に沿って走行するために車両10の進路を変更する場合には、その走行予定経路に従って車両10の操舵角を求め、その操舵角に応じた制御信号を、車両10の操舵輪を制御するアクチュエータ(図示せず)へ出力する。 Further, when the vehicle 10 changes the course of the vehicle 10 in order to travel along the planned travel route, the vehicle control unit 34 obtains the steering angle of the vehicle 10 according to the planned travel route, and responds to the steering angle. The control signal is output to an actuator (not shown) that controls the steering wheels of the vehicle 10.

図7は、プロセッサ23により実行される、DNNを用いた演算処理の一例である物体検出処理を含む車両制御処理の動作フローチャートである。プロセッサ23は、例えば、カメラ2から画像を受信する度に、図7に示される動作フローチャートに従って車両制御処理を実行する。なお、以下に示される動作フローチャートにおいて、ステップS201〜S202の処理が物体検出処理に対応する。 FIG. 7 is an operation flowchart of a vehicle control process including an object detection process, which is an example of an arithmetic process using a DNN, executed by the processor 23. For example, each time the processor 23 receives an image from the camera 2, the processor 23 executes the vehicle control process according to the operation flowchart shown in FIG. In the operation flowchart shown below, the processes of steps S201 to S202 correspond to the object detection process.

プロセッサ23の選択部31は、図6に示されるフローチャートに従って、物体検出部32において使用されるDNNの構成を選択する(ステップS201)。そしてプロセッサ23の物体検出部32は、カメラ2から得られた画像を選択された構成を持つDNNに入力して、画像に表された車両10の周囲の物体を検出する(ステップS202)。 The selection unit 31 of the processor 23 selects the configuration of the DNN used in the object detection unit 32 according to the flowchart shown in FIG. 6 (step S201). Then, the object detection unit 32 of the processor 23 inputs the image obtained from the camera 2 to the DNN having the selected configuration, and detects the object around the vehicle 10 represented by the image (step S202).

プロセッサ23の運転計画部33は、検出されている物体を追跡し、その追跡結果に基づいて推定されるその物体の予測軌跡と所定の距離以上となるように、車両10の走行予定経路を生成する(ステップS203)。そしてプロセッサ23の車両制御部34は、走行予定経路に沿って車両10が走行するように車両10を制御する(ステップS204)。そしてプロセッサ23は、車両制御処理を終了する。 The operation planning unit 33 of the processor 23 tracks the detected object, and generates a planned travel route of the vehicle 10 so as to be equal to or more than a predetermined distance from the predicted locus of the object estimated based on the tracking result. (Step S203). Then, the vehicle control unit 34 of the processor 23 controls the vehicle 10 so that the vehicle 10 travels along the planned travel route (step S204). Then, the processor 23 ends the vehicle control process.

以上に説明してきたように、この演算装置は、所定の演算処理を実行するための複数のDNNの構成を予め記憶し、それら複数のDNNの構成の中から、目標演算終了時間までに所定の演算処理が終了する構成の候補を一つ以上選択する。この演算装置は、選択した構成の候補の中からその演算処理の結果についての精度が最大となるDNNの構成をさらに選択する。そしてこの演算装置は、精度が最大となるよう選択した構成のDNNを用いて、所定のデータに対してその所定の演算処理を実行する。これにより、この演算装置は、DNNの演算を実行するハードウェアの状態などに関わらず、演算結果についての精度の低下を抑制しつつ、DNNを用いた演算処理を目標演算終了時間までに終了させることができる。そのため、DNNの演算を実行するためのハードウェアリソースの余裕を過剰に用意しなくてもよくなるので、この演算装置は、必要なハードウェアリソースを低減できる。 As described above, this arithmetic unit stores in advance the configurations of a plurality of DNNs for executing a predetermined arithmetic process, and from the plurality of DNN configurations, a predetermined one is determined by the target calculation end time. Select one or more configuration candidates for which the arithmetic processing ends. This arithmetic unit further selects the configuration of the DNN that maximizes the accuracy of the result of the arithmetic processing from the candidates of the selected configuration. Then, this arithmetic unit executes the predetermined arithmetic processing on the predetermined data by using the DNN having the configuration selected so as to maximize the accuracy. As a result, this arithmetic unit finishes the arithmetic processing using the DNN by the target arithmetic end time while suppressing the decrease in the accuracy of the arithmetic result regardless of the state of the hardware that executes the DNN arithmetic. be able to. Therefore, it is not necessary to prepare an excessive margin of hardware resources for executing the DNN operation, so that the arithmetic unit can reduce the required hardware resources.

上記の実施形態または変形例による演算装置は、車両制御システム以外に適用されてもよい。例えば、上記の実施形態または変形例による演算装置は、屋外または屋内の所定の領域を監視するために設置される監視装置に適用され、その所定の領域が表された画像から検知対象の物体を検出するために利用されてもよい。また、上記の実施形態または変形例による演算装置は、物体検出以外にも利用されてもよい。例えば、演算装置が利用するDNNは、セマンティックセグメンテーション用のDNNであってもよい。あるいは、演算装置が利用するDNNは、上記の実施形態における運転計画部33による走行予定経路の生成に利用されるものであってもよい。 The arithmetic unit according to the above embodiment or modification may be applied to other than the vehicle control system. For example, the arithmetic unit according to the above embodiment or modification is applied to a monitoring device installed to monitor a predetermined area outdoors or indoors, and an object to be detected is detected from an image showing the predetermined area. It may be used to detect. Further, the arithmetic unit according to the above embodiment or modification may be used for other than object detection. For example, the DNN used by the arithmetic unit may be a DNN for semantic segmentation. Alternatively, the DNN used by the arithmetic unit may be used by the operation planning unit 33 in the above embodiment to generate a planned travel route.

また、上記の実施形態または変形例による、演算装置のプロセッサ23の各部の機能を実現するコンピュータプログラムは、半導体メモリ、磁気記録媒体または光記録媒体といった、コンピュータ読取可能な可搬性の記録媒体に記録された形で提供されてもよい。 Further, the computer program that realizes the functions of each part of the processor 23 of the arithmetic unit according to the above embodiment or modification is recorded on a computer-readable portable recording medium such as a semiconductor memory, a magnetic recording medium, or an optical recording medium. May be provided in the form provided.

以上のように、当業者は、本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。 As described above, those skilled in the art can make various changes within the scope of the present invention according to the embodiment.

1 車両制御システム
2 カメラ
3 測距センサ
4 電子制御装置(演算装置)
21 通信インターフェース
22 メモリ
23 プロセッサ
31 選択部
32 物体検出部(演算部)
33 運転計画部
34 車両制御部
1 Vehicle control system 2 Camera 3 Distance measurement sensor 4 Electronic control device (arithmetic logic unit)
21 Communication interface 22 Memory 23 Processor 31 Selection unit 32 Object detection unit (Calculation unit)
33 Operation Planning Department 34 Vehicle Control Department

Claims (1)

所定の演算処理を実行するための複数のニューラルネットワークの構成を記憶する記憶部と、
前記複数のニューラルネットワークの構成の中から目標演算終了時間までに前記所定の演算処理が終了するニューラルネットワークの構成の候補を一つ以上選択し、前記所定の演算処理の結果についての精度が最大となるように、前記候補の中から前記所定の演算処理を実行するニューラルネットワークの構成を選択する選択部と、
選択された前記ニューラルネットワークの構成を用いて、所定のデータに対して前記所定の演算処理を実行する演算部と、
を有する演算装置。
A storage unit that stores the configurations of a plurality of neural networks for executing a predetermined arithmetic process,
From the configurations of the plurality of neural networks, one or more candidates for the configuration of the neural network whose predetermined arithmetic processing is completed by the target calculation end time are selected, and the accuracy of the result of the predetermined arithmetic processing is maximized. A selection unit that selects the configuration of the neural network that executes the predetermined arithmetic processing from the candidates, and
An arithmetic unit that executes the predetermined arithmetic processing on predetermined data using the selected neural network configuration, and
Arithmetic logic unit.
JP2020067937A 2020-04-03 2020-04-03 Arithmetic processing unit Pending JP2021163433A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020067937A JP2021163433A (en) 2020-04-03 2020-04-03 Arithmetic processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020067937A JP2021163433A (en) 2020-04-03 2020-04-03 Arithmetic processing unit

Publications (1)

Publication Number Publication Date
JP2021163433A true JP2021163433A (en) 2021-10-11

Family

ID=78005109

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020067937A Pending JP2021163433A (en) 2020-04-03 2020-04-03 Arithmetic processing unit

Country Status (1)

Country Link
JP (1) JP2021163433A (en)

Similar Documents

Publication Publication Date Title
JP7052663B2 (en) Object detection device, object detection method and computer program for object detection
JP7388971B2 (en) Vehicle control device, vehicle control method, and vehicle control computer program
JP2020052695A (en) Object detection apparatus, object detection method, and computer program for object detection
JP7077910B2 (en) Bound line detection device and lane marking method
US11436815B2 (en) Method for limiting object detection area in a mobile system equipped with a rotation sensor or a position sensor with an image sensor, and apparatus for performing the same
CN113435237B (en) Object state recognition device, recognition method, and computer-readable recording medium, and control device
JP2021165914A (en) Object state discrimination device, object state discrimination method, and computer program and control device for object state discrimination
JP7226368B2 (en) Object state identification device
JP2020067896A (en) Travelable direction detector and travelable direction detection method
JP7119839B2 (en) OBJECT DETECTION DEVICE, OBJECT DETECTION METHOD AND VEHICLE CONTROL DEVICE
JP7381388B2 (en) Signal lamp status identification device, signal lamp status identification method, computer program for signal lamp status identification, and control device
US20220319322A1 (en) Drive assist apparatus and drive assist method
JP2021163433A (en) Arithmetic processing unit
CN116448128A (en) Travel route creation device, travel route creation method, and non-transitory computer-readable medium
JP2020050047A (en) Object detection device
US11257239B2 (en) Image selection device and image selection method
JP2023152109A (en) Feature detection device, feature detection method and computer program for detecting feature
US11938939B1 (en) Determining current state of traffic light(s) for use in controlling an autonomous vehicle
JP2021081985A (en) Object detection device
JP7348874B2 (en) Tilt angle detection device and control device
JP7484837B2 (en) Land feature data collection device, land feature data collection method, and land feature data collection computer program
US20230024799A1 (en) Method, system and computer program product for the automated locating of a vehicle
JP2022079954A (en) Object detection apparatus
JP2021138338A (en) Vehicle control system
JP2022074513A (en) Calculation device