(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-21
(45)【発行日】2025-03-04
(54)【発明の名称】車載演算処理装置、および、演算処理方法
(51)【国際特許分類】
G08G 1/16 20060101AFI20250225BHJP
B60W 40/02 20060101ALI20250225BHJP
G06T 7/00 20170101ALI20250225BHJP
【FI】
G08G1/16 C
B60W40/02
G06T7/00 650Z
G06T7/00 350B
(21)【出願番号】P 2021210238
(22)【出願日】2021-12-24
【審査請求日】2024-03-12
(73)【特許権者】
【識別番号】509186579
【氏名又は名称】日立Astemo株式会社
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】中野 和香子
(72)【発明者】
【氏名】平井 理宇
(72)【発明者】
【氏名】村中 延之
(72)【発明者】
【氏名】伊藤 浩朗
【審査官】吉村 俊厚
(56)【参考文献】
【文献】特開2020-093760(JP,A)
【文献】特開2020-170319(JP,A)
【文献】特開2020-160814(JP,A)
【文献】特開2011-174771(JP,A)
【文献】特開2014-167702(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 10/00 - 60/00
G08G 1/00 - 99/00
G06T 7/00 - 7/90
G06V 10/00 - 40/20
(57)【特許請求の範囲】
【請求項1】
車両に搭載され、学習済モデルを用いて演算を行う車載演算処理装置であって、
第1の学習済モデルを用いて演算を行う演算部と、
前記車両の位置、または車両内外の取得し状態を推定する状態推定部と、
前記状態に基づいて、第2の学習済モデルを選択するモデル選択部と、を有し、
前記第2の学習済モデルを用いて、前記第1の学習済モデルと並列に前記演算を行ったときの演算結果を、第1の学習済モデルの演算結果と比較し、その比較結果に基づいて前記第1の学習済モデルから前記第2の学習済モデルに切り替えるか否かを決定するモデル切り替え検証部と、を有し、
前記演算部は、前記モデル切り替え検証部で、前記第2の学習済モデルに切り替えると決定された場合、前記第1の学習済モデルから前記第2の学習済モデルに切り替えて前記演算を行う
ものであり、
更に、前記第2の学習済モデルから、前記第1の学習済モデルと当該第2の学習済モデルの差分のチャネルを抽出する差分抽出部を有し、
前記演算部は、当該差分のチャネルを用いて前記演算を行い、
前記演算部は、前記モデル切り替え検証部で、前記第2の学習済モデルに切り替えると決定された場合、前記第1の学習済モデルのうち前記第2の学習済モデルと当該第1の学習済モデルとの差分のチャネルを除いたモデルを用いて前記演算を行うことを特徴とする車載演算処理装置。
【請求項2】
請求項1に記載の車載演算処理装置において、
前記モデル切り替え検証部は、異なるセンサ情報に基づいて得られる値を正しい認識結果として、前記第1の学習済モデルと前記第2の学習済モデルの精度を算出するモデル精度算出部を備えることを特徴とする車載演算処理装置。
【請求項3】
請求項1に記載の車載演算処理装置において、
前記モデル切り替え検証部は、前記第1の学習済モデルを演算した結果を正しい認識結果として第2の学習済みモデルの認識結果の精度を算出するモデル精度算出部を備え、
第2の学習済みモデルの精度が閾値以上であれば、精度の良いモデルへ切り替えを決定することを特徴とする車載演算処理装置。
【請求項4】
請求項3に記載の車載演算処理装置において、
前記モデル精度算出部は、過去に前記第1の学習済モデルを演算した結果から現在の認識結果を予測する結果予測部を備え、
前記結果予測部により予測された認識結果を正しい認識結果として第2のモデルの精度を算出すことを特徴とする車載演算処理装置。
【請求項5】
請求項1に記載の車載演算処理装置において、
前記モデル切り替え検証部は、過去の経路情報や走行時刻などの走行履歴を参照する走行履歴参照部を有し、
現在の走行が過去の走行と同じ環境であった場合に、前記過去の走行履歴に基づき同様にモデルの切り替えを決定することを特徴とする車載演算処理装置。
【請求項6】
請求項1に記載の車載演算処理装置において、
前記モデル選択部では、第2の学習済モデルを複数選び、前記モデル切り替え検証部では比較結果に基づき複数の第2の学習済モデルから最も精度の良い第2の学習済モデルを決定することを特徴とする車載演算処理装置。
【請求項7】
車両に搭載され、学習済モデルを用いて演算を行う演算処理方法であって、
第1の学習済モデルを用いて演算を行う演算ステップと、
前記車両の位置、または車両内外の取得し状態を推定する状態推定ステップと、
前記状態に基づいて、第2の学習済モデルを選択するモデル選択ステップと、
前記第2の学習済モデルを用いて、前記第1の学習済モデルと並列に前記演算を行ったときの演算結果を、第1の学習済モデルの演算結果と比較し、その比較結果に基づいて前記第1の学習済モデルから前記第2の学習済モデルに切り替えるか否かを決定するモデル切り替え検証ステップと、
前記モデル切り替え検証
ステップで、前記第2の学習済モデルに切り替えると決定された場合、前記第1の学習済モデルから前記第2の学習済モデルに切り替えて前記演算を行う第2演算ステップを有する
ものであり、
更に、前記第2の学習済モデルから、前記第1の学習済モデルと当該第2の学習済モデルの差分のチャネルを抽出する差分抽出ステップを有し、
前記演算ステップでは、当該差分のチャネルを用いて前記演算を行うとともに、
前記モデル切り替え検証ステップでは、前記第2の学習済モデルに切り替えると決定された場合、前記第1の学習済モデルのうち前記第2の学習済モデルと当該第1の学習済モデルとの差分のチャネルを除いたモデルを用いて前記演算を行うことを特徴とする演算処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両に搭載した外界センサの出力を機械学習済みのAIモデルで処理することで、車両の外部環境を認識する、車載演算処理装置、および、演算処理方法に関する。
【背景技術】
【0002】
近年、自動運転(AD、Autonomous Driving)システムや、先進運転支援システム(ADAS、Advanced Driver-Assistance Systems)を搭載した車両が普及しつつある。これらのシステムの実現には、車両の外部環境(他車両、歩行者、自転車、路面、白線、道路標識、障害物、および、それらの位置など)を認識する必要がある。そのため、車両に搭載した外界センサの出力を機械学習済みのAIモデル(以下、単に「AIモデル」または「モデル」と称する)で処理することで、車両の外部環境を認識する手法を採用することが多い。
【0003】
ここで、車両走行中の全てのシーンに対して1つのAIモデルで外部環境を認識する場合は、網羅的なセンサ出力データを利用して機械学習したAIモデルを事前に用意する必要がある。しかしながら、そのようなAIモデルは、多様なシーンでの認識精度を担保するため、モデル規模が指数関数的に増大し、そのAIモデルを実行するECU(Electronic Control Unit)に対しても非常に高い演算性能が求められる。その結果、ECUのチップコストが大きくなり、自動運転中の演算負荷(消費電力)も大きくなるという問題がある。
【0004】
一方で、ECUのチップコストや演算負荷(消費電力)を低減するため、限定的なデータで学習した小さなAIモデルを適用すると、そのAIモデルが対応しない環境下では、外部環境の認識精度が大きく劣化する可能性が高い。
【0005】
これらの問題を鑑み、比較的小さなAIモデルを予め複数用意しておき、走行シーンや走行位置に応じたAIモデルに適宜切り替えることで、何れの走行シーン等においても、外部環境の認識精度の向上を図りつつ、ECUの演算負荷(消費電力)の軽減も実現する手法が検討されている。
【0006】
例えば、特許文献1の要約書には、課題として「車両の制御のための学習済みモデルが所定領域ごとに設定されている場合に、車両の位置に応じて学習済みモデルを適切に切り替える。」と記載されており、解決手段として「機械学習による学習済みモデルを用いて車両の制御を支援する制御支援装置であって、車両から送信された車両の車両情報および位置情報に基づいて、車両において更新可能であるとともに、位置情報に含まれる車両の現在の位置に対応する学習済みモデルを選択する制御部と、選択した学習済みモデルを車両に送信する送信部と、を備える。」と記載されている。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1の制御支援装置は、要約書の「車両の現在の位置に対応する学習済みモデルを選択する制御部」の記載等から明らかなように、車両の位置の変化に応じて、適用するAIモデルを切り替えるものである。
【0009】
しかしながら、特許文献1では、AIモデルを切り替える際に認識精度が劣化するかを検証しておらず、不適切なAIモデルに切り替えられたた場合には、外部環境の認識精度が劣化し、結果的に、ADやADASによる車両制御の不安定化を招く可能性があった。
【0010】
本発明は、上記の問題に鑑みてなされたものであって、AIモデルを切り替える場合、外部環境の認識精度の劣化を招かないAIモデルを選択する、車載演算処理装置、および、演算処理方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決するため、本発明の車載演算処理装置は、車両に搭載され、学習済モデルを用いて演算を行うものであって、第1の学習済モデルを用いて演算を行う演算部と、前記車両の位置、または車両内外の取得し状態を推定する状態推定部と、前記状態に基づいて、第2の学習済モデルを選択するモデル選択部と、を有し、前記第2の学習済モデルを用いて、前記第1の学習済モデルと並列に前記演算を行ったときの演算結果を、第1の学習済モデルの演算結果と比較し、その比較結果に基づいて前記第1の学習済モデルから前記第2の学習済モデルに切り替えるか否かを決定するモデル切り替え検証部と、を有し、前記演算部は、前記モデル切り替え検証部で、前記第2の学習済モデルに切り替えると決定された場合、前記第1の学習済モデルから前記第2の学習済モデルに切り替えて前記演算を行う車載演算処理装置とした。
【発明の効果】
【0012】
本発明の車載演算処理装置、および、演算処理方法によれば、AIモデルを切り替えた場合であっても、外部環境の認識精度が劣化しない。
【図面の簡単な説明】
【0013】
【
図1】実施例1に係る車載演算処理装置の機能ブロック図。
【
図2】実施例1に係る車載演算処理装置の処理手順を示すフローチャート。
【
図3A】状態テーブルの一種である、走行シーン状態テーブルの一例を示す図。
【
図3B】状態テーブルの一種である、ユーザ状態テーブルの一例を示す図。
【
図3C】状態テーブルの一種である、装置負荷状態テーブルの一例を示す図。
【
図5A】Liderの出力を正解値とするモデル検証の機能ブロック図。
【
図5B】異種センサの出力を正解値とするモデル検証の機能ブロック図。
【
図6A】現状モデルの出力を正解値とするモデル検証の機能ブロック図。
【
図6B】現状モデルの出力を正解値とするモデル検証の機能ブロック図。
【
図7】実施例1に係る自動運転時の表示パネルを示す図。
【
図8】実施例1に係る自動運転時の設定画面を示す図。
【
図9】実施例2に係る車載演算処理装置の機能ブロック図。
【
図10】実施例2に係る車載演算処理装置の処理手順を示すフローチャート。
【
図12】実施例3に係る過去走行履歴の表示方法の一例を示す図。
【発明を実施するための形態】
【実施例1】
【0014】
まず、
図1から
図8を用いて、本発明の実施例1に係る車載演算処理装置1を説明する。なお、以下では、車載演算処理装置1がECUに内蔵されるものとして説明するが、車載演算処理装置1を外界センサに内蔵し、外界センサで認識した外部環境をECUに出力する構成としても良い。
【0015】
図1は、実施例1に係る車載演算処理装置1の機能ブロック図である。ここに示すように、車載演算処理装置1は、主演算部11と、AI演算部12と、記憶部13を有している。なお、
図1では、主演算部11とAI演算部12が分離した構造を例示しているが、両演算部を一体化しても良い。
【0016】
図示するように、車載演算処理装置1は、外界センサからの外界センサ情報I1と、車両センサからの車両センサ情報I2を受信する装置である。ここで、外界センサは、例えば、ステレオカメラ、単眼カメラ、Lider、照度センサ、加速度センサ、レーダ等の、自車両周囲の情報を取得するセンサである。また、車両センサは、例えば、カーナビゲーションシステム、GNSS(Global Navigation Satellite System)受信機、速度センサ、舵角センサ、燃料残量計、バッテリー残量計等の自車両の位置や状態に関連する情報を取得するセンサである。なお、外界センサ情報I1と車両センサ情報I2は必ずしも1つずつの入力ではなく、複数の外界センサ情報I1、車両センサ情報I2を入力としてもよい。
【0017】
主演算部11は、CPU(Central Processing Unit)やFPGA(Field Programmable Gate Array)等の演算装置によって、所定のプログラムを実行するユニットである。所定のプログラムの実行により、主演算部11は、状態推定部11aと、候補モデル選択部11bと、現状モデル制御部11cと、候補モデル制御部11dと、結果受診部11eと、モデル検証部11fなどの機能部を実現する。また、AI演算部12は、AIモデルの処理に特化したAIアクセラレータ等であり、モデル演算部12aと、AI演算制御部12bを有する。記憶部13は、半導体メモリなどの記憶装置であり、状態テーブル13aと、モデルテーブル13bと、パラメタテーブル13cを有している。以下、車載演算処理装置1の各部詳細を、主に情報の流れに沿って説明する。
【0018】
<車載演算処理装置1の各部詳細>
主演算部11の状態推定部11aは、入力された外界センサ情報I1と車両センサ情報I2に基づいて、自車両の現在状態を推定する。ここで推定される状態は、例えば、自車両の走行位置の種別(高速道理、一般道路、駐車場など)や、現在時刻の種別(朝・昼、夕方、夜)や、天候の種別(晴、曇、雨、雪など)を組み合わせた、自車両の外部環境の状態があげられる。また、状態推定部11aで推定する状態は、自車両内の消費電力の程度、バッテリー残量の程度、認識対象物の数などの、車載演算処理装置1のリソース状態や、誰が運転者であるか、であってもよい。また、状態推定部11aでの状態推定は、単体および複数の外界センサ情報I1からの環境情報を用いたルールベースでの推定、もしくはAIモデルを用いた推定などが想定される。また車両センサ情報I2としてのマップと位置情報から走行中の道路状況などの推定もあってよい。
【0019】
主演算部11の候補モデル選択部11bは、状態推定部11aで推定した状態が変化したときに、記憶部13の状態テーブル13aを参照して、推定した状態に紐づくAIモデルのモデルIDを選択する。なお、状態テーブル13aの詳細は後述する。
【0020】
主演算部11の候補モデル制御部11dは、記憶部13のモデルテーブル13bを参照して、候補モデル選択部11bで選択されたモデルIDに対応するモデル情報を取得するとともに、パラメタテーブル13cを参照して、選択されたモデルIDに対応するモデルパラメタを取得する。そして、取得したモデル情報とモデルパラメタを、AI演算部12に送信する。また、候補モデル制御部11dは、必要に応じて、AI演算部12での候補モデルM2を利用した環境認識処理を停止させる。なお、モデルテーブル13bの詳細は後述する。
【0021】
AI演算部12のAI演算制御部12bは、候補モデル制御部11dから受信したモデル情報とモデルパラメタをモデル演算部12aに送信する。また、AI演算制御部12bは、主演算部11からの指令に基づいて、モデル演算部12aでの環境認識処理を開始させたり停止させたりする。
【0022】
AI演算部12のモデル演算部12aは、AIモデルを利用した環境認識処理時に多用するベクトル演算やテンソル演算に特化した構造を持ち、現状モデルM1を用いた環境認識処理と、候補モデルM2を用いた環境認識処理を並列して実施することができる。なお、現状モデルM1(第1の学習済モデル)は、ADやADASのために現在利用している、前回の検証時に所定以上の精度であることが確認されたAIモデルである。また、候補モデルM2(第2の学習済モデル)は、現状モデルM1に代えて今後利用する可能性のある、候補モデル制御部11dから受信したモデル情報とモデルパラメタを用いて構築したAIモデルである。
【0023】
主演算部11の現状モデル制御部11cは、必要に応じて、AI演算部12での現状モデルM1を利用した環境認識処理を停止させる。また、現状モデル制御部11cは、必要に応じて、候補モデルM2を新たな現状モデルM1に設定する。
【0024】
主演算部11の結果受診部11eは、AI演算部12から現状モデルM1と候補モデルM2の認識結果を受信し、モデル検証部11fに送信する。
【0025】
主演算部11のモデル検証部11fは、結果受診部11eから受信した双方の認識結果を比較することで、双方のモデル精度を検証し、ADやADASで利用するAIモデルを現状モデルM1から候補モデルM2に切り替えることの可否を判定する。また、モデル検証部11fは、候補モデルM2に切り替え可能と判定した場合は、現状モデル制御部11cに停止信号を送信し、モデルM2に切り替え不可と判定した場合は、候補モデル制御部11dに停止信号を送る。これにより、現状モデル制御部11cまたは候補モデル制御部11dは、モデル検証部11fでの判定結果に応じて、AI演算部12のモデル演算部12aで処理中の一方のAIモデルを停止させることができる。
【0026】
<車載演算処理装置1の処理手順>
次に、
図2のフローチャートを用いて、車載演算処理装置1の処理手順を説明する。なお、
図2では、主演算部11の処理とAI演算部12の処理を分けて表しており、双方の処理フローを跨ぐ矢印はデータの送信を意味している。
【0027】
ステップS21の時点では、AI演算部12のモデル演算部12aは、ADやADASで利用するAIモデルとして、従前の現状モデルM1のみを実行している。
【0028】
ステップS11では、主演算部11の状態推定部11aは、外界センサ情報I1と車両センサ情報I2を取得し、環境情報から現在の車両の状態を推定する。なお、ここで推定される車両の状態は、上記したように、例えば、車両の走行位置の種別(高速道理、一般道路、駐車場など)や、現在時刻の種別(朝・昼、夕方、夜)や、天候の種別(晴、曇、雨、雪など)、車両内の消費電力の程度、バッテリー残量の程度、認識対象物の数などである。
【0029】
ステップS12では、主演算部11の候補モデル選択部11bは、記憶部13に格納された状態テーブル13aを参照し、状態推定部11aで推定した状態に対応する候補モデルM2を選択する。以下、
図3Aから
図3Cを用いて、状態テーブル13aを参照した候補モデルM2の選択方法を具体的に説明する。
【0030】
図3Aは、状態テーブル13aの一種である、走行シーン状態テーブル13a1の一例であり、走行シーンに応じた候補モデルM2を特定するためのテーブルである。例えば、状態推定部11aで推定した走行シーンが、走行位置種別「一般道」、天候「晴れ」、現在時刻「朝」の組み合わせの走行シーンであれば、候補モデル選択部11bは、モデルID「m01」を候補モデルM2として選択する。なお、走行シーン状態テーブル13a1に登録される走行シーンは、
図3Aに例示するものに限らず、雪や山道、トンネルなどを走行審―として登録してもよい。またモデルを準備する際の分け方として、
図3Aに記載した走行シーンのように複数の状態の組み合わせ毎にモデルを用意してもよく、また一般道、高速道路、駐車場のように朝・昼・夜の状態をまとめて1つのモデルを作成してもよい。
【0031】
図3Bは、状態テーブル13aの一種である、ユーザ状態テーブル13a2の一例であり、運転手(ユーザ)に応じた候補モデルM2を特定するためのテーブルである。このテーブルには、ユーザ毎にモデルIDが登録されており、ユーザ設定が変更された場合など状態推定部11aがユーザの交代を検知した場合に、候補モデル選択部11bは交代後のユーザに対応するモデルIDを候補モデルM2として選択する。
【0032】
図3Cは、状態テーブル13aの一種である、装置負荷状態テーブル13a3の一例であり、車載演算処理装置1の負荷状態に応じた候補モデルM2を特定するためのテーブルである。このテーブルには、装置負荷の大きさ毎にAIモデルが登録されており、例えば、現在の装置負荷が「高負荷」であれば、相対的に演算負荷の小さなモデルに相当するモデルID「m15」を選択し、現在の装置負荷が「低負荷」であれば、相対的に演算負荷の大きなモデルに相当するモデルID「m16」を選択する。
【0033】
ステップS13では、主演算部11の候補モデル制御部11dは、記憶部13のモデルテーブル13bやパラメタテーブル13cを参照し、候補モデル選択部11bで選択したモデルIDに紐づくモデル情報とモデルパラメタを取得する。そして、候補モデル制御部11dは、モデル情報とモデルパラメタに加え、それらの情報に基づいて生成される候補モデルM2の処理開始信号をAI演算部12に送信する。
【0034】
図4は、モデルテーブル13bの一例を示す図である。ここに例示するモデルテーブル13bは、「モデルID」、「コア数」、「入力サイズ」、「層数」、「各層重みサイズリスト」の各情報を保持している。「モデルID」には、
図3Aから
図3Cに例示した状態テーブル13aを参照して選択されうるモデルIDが登録されている。「コア数」には「モデルID」に紐づくAIモデルの実行に必要な、AI演算部12のコア数が登録されている。「入力サイズ」には「モデルID」に紐づくAIモデルへの認識対象データの入力サイズが登録されている。「層数」には「モデルID」に紐づくAIモデルの層数が登録されている。「各層重みサイズリスト」には「モデルID」に紐づくAIモデルの各層の重みサイズ登録されている。なお、モデルテーブル13bに格納され取得される情報はこれに限らず、AI演算部12の計算機アーキテクチャに依存して必要な情報を保持することができる。
【0035】
ステップS22では、AI演算部12のモデル演算部12aは、モデル情報とモデルパラメタを用いて構築した候補モデルM2を追加実行する。なお、モデル演算部12aでは、ステップS21の時点で既に現在モデルM1を実行しているため、本ステップにより、現在モデルM1と候補モデルM2の双方が実行されることになる。両モデルの実行結果は、主演算部11の結果受信部11eに送信される。
【0036】
ステップS14では、主演算部11の結果受信部11eは、現状モデルM1と候補モデルM2の実行結果を取得する。
【0037】
ステップS15では、主演算部11のモデル検証部11fは、外界センサ情報I1等の出力の現状モデルM1と候補モデルM2での処理結果を検証し、その検証結果に基づいて、候補モデルM2への切り替え可否を決定する。なお、ここでの検証方法の詳細については後述することとする。
【0038】
ステップS16は、ステップS15での決定に応じて分岐する。すなわち、候補モデルM2への切り替え可能と決定された場合は、ステップS23に進み、切り替え不可と決定された場合は、ステップS17に進む。
【0039】
ステップS23では、AI演算部12のAI演算制御部12bは、主演算部11の現状モデル制御部11cから受信した指令に応じて、現状モデルM1の実行を止めるともに、候補モデルM2を以後の現状モデルM1に設定し、
図2の処理を終了する。この結果、モデル演算部12aでは、新たな現状モデルM1を用いたADやADASが開始される。
【0040】
ステップS17では、主演算部11のモデル検証部11fは、従前の現状モデルM1が現在の環境下でも有効であるかを判定する。そして、従前の現状モデルM1による認識精度が閾値以上であれば、ステップS24に進み、そうでなければ、ステップS25に進む。
【0041】
ステップS24では、AI演算部12のAI演算制御部12bは、主演算部11の候補モデル制御部11dから受信した指令に応じて、候補モデルM2の実行を止め、
図2の処理を終了する。この結果、モデル演算部12aでは、従前の現状モデルM1のみが実行され、従前の現状モデルM1を用いたADやADASが継続される。
【0042】
ステップS25では、AI演算部12のAI演算制御部12bは、主演算部11の現状モデル制御部11cと候補モデル制御部11dから受信した指令に応じて、現状モデルM1と候補モデルM2の双方の実行を止め、
図2の処理を終了する。この結果、ADやADASが停止され、ユーザによる手動運転モードに移行するが、外部環境の誤認により不適切なADやADASの実行が防止される。
【0043】
なお、上記のステップS12では、1つの候補モデルM2を選択するものとして説明したが、状態テーブル13aを参照することで複数の候補モデルM2を特定できる場合は、それら複数の候補モデルM2を全て選択しても良い。その場合は、ステップS22では選択した全ての候補モデルM2を実施すれば良く、また、ステップS23では最も精度の良い候補モデルM2を新たな現状モデルM1に設定すれば良い。
【0044】
<ステップS15での検証方法>
ここで、ステップS15でのAIモデルの精度検証方法の詳細を説明する。AIモデルの精度検証は、正解値とAIモデルの認識結果の比較により、誤差が大きいほど精度が低いとして算出可能である。しかし、AIモデルの完全な正解値を自車両内で得ることは困難であるため、本実施例では、正解値に近しいと考えられる値とAIモデルの出力値を比較し、両者の誤差から各AIモデルの精度を算出することとする。
【0045】
以下では、現状モデルM1と候補モデルM2が、カメラで撮像した画像データを認識対象とするAIモデルである場合を例に、ステップS15での精度算出方法を説明する。また、正解値に近しい値との比較による精度算出方法について、2つの方針を例に挙げて説明する。
【0046】
図3に例示した走行シーン状態テーブル13a1において、例えば、一般道用のAIモデルから高速道路用のAIモデルに切り替わる際に、切り替え前後で認識対象物が一部異なる場合がある。この場合のモデル精度算出には、カメラ以外の別センサで得られた値を正解値として各AIモデルの精度を算出する方法が考えられる。このような検証方法については、
図5Aと
図5Bを用いて説明する。
【0047】
また、
図3に例示した走行シーン状態テーブル13a1において、例えば、晴れ・曇り用のAIモデルから夜用のAIモデルに切り替わる際に、切り替え前後で認識対象物が同一である場合がある。この場合のモデル精度算出には、現状モデルM1の認識結果を正解値として候補モデルM2の精度を算出する方法が考えられる。このような検証方法については、
図6Aと
図6Bを用いて説明する。
【0048】
<<カメラ以外の別センサの出力を正解値とする検証方法>>
図5Aは、Lider3の出力を正解値として各AIモデルの精度を算出し、各AIモデル検証を行う方法を例示する機能ブロック図である。この場合、結果受診部11eは、カメラ2で撮像した画像を現状モデルM1と候補モデルM2で認識した結果を受信すると共に、Lider3の出力をLider用モデルで認識した結果を受信する。そして、モデル検証部11fでは、Lider3の出力に基づく認識結果を正解値として、現状モデルM1と候補モデルM2のモデル精度を検証する。
【0049】
また、
図5Bは、カメラ以外の複数の異種センサ4の出力を合成した値を正解値として各AIモデルの精度を算出し、AIモデル検証を行う方法を例示する機能ブロック図である。この場合、結果受診部11eは、カメラ2で撮像した画像を現状モデルM1と候補モデルM2で認識した結果を受信すると共に、複数の異種センサ4の出力をフュージョン部41で組み合わせることで得た周辺認識結果を受信する。そして、モデル検証部11fは、異種センサ4の出力に基づく認識結果を正解値として、現状モデルM1と候補モデルM2のモデル精度を検証する。
【0050】
ここで、
図5Aと
図5Bに示すように、本実施例のモデル検証部11fは、精度算出部11f1と、精度比較部11f2を有している。
【0051】
精度算出部11f1は、正解値(Lider3の出力に基づく認識結果、または、異種センサ4の出力に基づく認識結果)と現状モデルM1の認識結果の誤差の大きさから現状モデル精度を算出し、また、正解値と候補モデルM2の認識結果の誤差の大きさから候補モデル精度を算出する。
【0052】
そして、精度比較部11f2は、現状モデル精度と候補モデル精度を比較し、候補モデル精度が現状モデル精度より高く、かつ、候補モデル精度が基準値に達している場合に、現状モデルM1から候補モデルM2への切り替えを可能と決定する。一方、現状モデル精度が候補モデル精度より高い場合は、精度比較部11f2は、現状モデルM1から候補モデルM2への切り替えを不可と決定する。なお、現状モデル精度より候補モデル精度が高いが、その精度が基準値に足りていない場合は、AIモデル自体の精度劣化が考えられるため両モデルを使用不可とし、ADやADASを停止することが考えられる。
【0053】
<<現状モデルM1の出力を正解値とする検証方法>>
図6Aは、現状モデルM1の認識結果を正解値として候補モデルM2の精度を算出する方法の例を示す機能ブロック図である。同図において、結果受診部11eは、カメラ2からの画像を入力として現状モデルM1と候補モデルM2で認識した結果を受信する。そして、モデル検証部11fは、現状モデルM1の認識結果を正解値として、精度比較部11f2にて候補モデルM2の認識結果を比較する。
【0054】
また、
図6Bは、現状モデルM1の認識結果を正解値として候補モデルM2の精度を算出する別例を示す機能ブロック図である。同図の結果受信部11eには、現状モデルM1と候補モデルM2からの入力に加え、車両センサ情報I2の一種である車速情報I2aも入力される。また、
図6Bの結果受信部11eには、状態推定部11aで検知された状態変化の前に動作させていた現状モデルM1の認識結果と車速情報I2aから状態変化後の現在の認識結果を予測する認識予測部11e1を設けており、精度比較部11f2では、認識予測部11e1で予測した値を正解値として、正解値と候補モデルM2の認識結果を比較する。
【0055】
<AIモデル切り替えの通知方法>
図7は車載演算処理装置1におけるAIモデル切り替え後のカーナビなどへの表示パネル5の例を示す図である。表示パネル5には地図情報5aに加え、自動運転モード表示5b、夜間運転モード表示5cなどの走行シーンを表現したマーク表示が行われる。これによりモデル検証部11fにより正しくモデルの切り替えが達成されたかを確認することが可能となる。
【0056】
図8は表示パネル5に表示可能な自動運転設定画面5dの一例を示す図である。この図では、走行シーンごとの自動運転の可否、及びシーン間の切り替え可否の設定を示している。本実施例のように一般道の自動運転が可能、および高速道路の自動運転が可能であり、一般道と高速道路間での切り替えを不可に設定している場合は、走行中のモデル切り替えは不可であり、一般道と高速道路間での切り替えを可能としている場合は、走行中のモデル検証が可能でありモデル切り替え可能であることが確認できる。
【0057】
以上で説明した、本実施例の車載演算処理装置によれば、AIモデルを切り替えた場合であっても、外部環境の認識精度が劣化しない。そのため、小さなAIモデルを切り替えながら使用する場合であっても、モデル切り替えの前後で認識精度の劣化が発生しないため、大きなAIモデルで様々な状況に対応する場合に比べ、ECUのチップコストの低減や、消費電力の低減を図りつつ、外部環境の認識不良による車両の誤制御を防ぐことができる。
【0058】
また、本実施例の車載演算処理装置によるモデル検証は、車両内で実行されるため、通信回線を介して接続した車外サーバでモデル検証を行う場合と異なり、モデル検証処理の遅延や、僻地での通信不良によってモデル検証できない状況を回避することができる。
【実施例2】
【0059】
次に、
図9から
図12を用いて、本発明の実施例2に係る車載演算処理装置1を説明する。なお、以下では、実施例1との共通点については重複説明を省略する。
【0060】
実施例1のモデル演算部12aでは、モデル切り替えの前後で、現状モデルM1を用いた認識処理と、候補モデルM2を用いた認識処理を並列して実施していたが、両モデルを構成するチャネルには共通するチャネルもあり、共通チャネルを重複して動作させることで、演算負荷(消費電力)が増加するという問題があった。
【0061】
そこで、本実施例では、モデル演算部12aで現状モデルM1と候補モデルM2を並列動作させる際に、2モデル分の処理リソースを消費することなく、現状モデルM1による認識結果と候補モデルM2による認識結果の双方を取得し、それらを用いてAIモデルの切り替えの可否を判定できるようにした。
【0062】
そのため、本実施例では、AIモデルを走行シーンごとに作成する際に、1つの大きなモデルを使用し全ての学習データを用いて複数の走行シーンを網羅したモデルを作成し、作成後のモデルを各走行シーンに含まれる学習データを用い走行シーンごとにモデル圧縮を行う。このようにすることで、各走行シーンのモデルを一部が共有された形で作成することが可能である。また、走行シーンすべてを網羅した大きなモデルを作成し、それを異なる計算量になるようモデル圧縮を行うことでも、モデルの一部を共有された形で複数のモデルが生成可能である。このように走行シーンごとのAIモデルがそれぞれ一部を共有している場合には、候補モデルM2の動作時に、現状モデルM1と候補モデルM2の差分だけを追加で動作させることで検証に必要な認識結果を得ることが可能である。
【0063】
本実施例は、このように走行シーンごとのAIモデルがそれぞれ一部を共有している場合のモデル切り替えの例を想定している。
【0064】
図9は、本実施例の車載演算処理装置1の機能ブロック図である。本実施例の車載演算処理装置1は、実施例1の車載演算処理装置1(
図1参照)と同様に、主演算部11と、AI演算部12と、記憶部13を備えているが、本実施例の特有の構成として、主演算部11にはモデル差分抽出部11gを追加しており、記憶部13にはモデル差分テーブル13dを追加している。
【0065】
モデル差分抽出部11gは、候補モデル選択部11bで選択したモデルIDに基づいて、モデルテーブル13b(
図4参照)とモデル差分テーブル13dを参照し、候補モデルM2で現状モデルM1との差分チャンネルを抽出する。
【0066】
候補モデル制御部11dは、抽出されたチャネル差分情報をAI演算部12のAI演算制御部12bに入力し、モデル演算部12aでは候補モデル差分D2の部分のみをモデルパラメタとしてロードし実行する。
【0067】
実行結果によるモデル検証部11fで、候補モデルM2への切り替えが可能な場合は共有モデルM3の部分の実行はそのままに、現状モデル差分D1を停止させる。これにより、現状モデルM1を停止させたと同等の効果を得ることができる。なお、本実施例ではモデルの差分としてチャネルを想定しているが、これに限らず差分はモデルの層単位やモデルのニューロン単位であってもよい。
【0068】
図10は、
図9に示した車載演算処理装置1の処理フローを示す図であり、主演算部11とAI演算部12での処理タイミングを表している。矢印はデータの送信を意味している。なお、以下では、
図2との共通点については重複説明を省略する。
【0069】
ステップS21の時点では、AI演算部12のモデル演算部12aは、ADやADASで利用するAIモデルとして、従前の現状モデルM1のみを実行している。なお、本実施例のモデル演算部12aには、現状モデルM1や候補モデルM2そのものは登録されず、共有モデルM3と現状モデル差分D1と候補モデル差分D2の形式で登録されているため、本実施例での現状モデルM1の実行とは、共有モデルM3と現状モデル差分D1の双方を実行することを意味し、候補モデルM2の実行とは、共有モデルM3と候補モデル差分D2の双方を実行することを意味する。
【0070】
ステップS11とステップS12は、
図2のものと同等である。
【0071】
ステップS12aでは、主演算部11のモデル差分抽出部11gは、記憶部13のモデルテーブル13bとモデル差分テーブル13dを参照し、現状モデルM1と選択した候補モデルM2のモデル差分を抽出する。
【0072】
ステップS13aでは、主演算部11の候補モデル制御部11dは、候補モデルM2を利用した処理の開始信号と、モデル差分情報、モデル差分パラメタをAI演算部12に送信する。
【0073】
ステップS22aでは、AI演算部12のモデル演算部12aは、候補モデル差分D2を追加実行する。なお、上記したように、モデル演算部12aは、ステップS21の時点で既に現在モデルM1に相当する共有モデルM3と現状モデル差分D1の両方を実行しているため、本ステップにより候補モデル差分D2を追加実行することで、現在モデルM1と候補モデルM2の双方を実行したと等価の出力を取得することができる。両モデルの実行結果は主演算部11に送信する。
【0074】
ステップS14からステップS17、および、ステップ23からステップS25は、
図2のものと基本的に同等である。ただし、本実施例において、ステップS23の現状モデルM1を止めるとは、現状モデル差分D1のみを止めることに相当し、ステップS24の候補モデルM2を止めるとは、候補モデル差分D2のみを止めることに相当する。
【0075】
図11は、
図9に示した車載演算処理装置1の記憶部13に置けるモデル差分テーブル13dの一例を示した図の一例である。ここに示すように、モデル差分テーブル13dは、モデルIDと各層の不要チャネルリストを保持している。本実施例では、モデル差分テーブル13dの不要チャネルリストは、モデルm01と比較しその他のモデルの各層のチャンネル数がいくつ少ないかで差分を表現している。例えば、モデルm02は、モデルm01と比べ1層目L1は4、8,9、30番目のチャンネルが不必要であり、2層目L2は1、2チャンネル目が不必要であることを示している。反対にモデルm01よりチャネルが多い場所についてはマイナス表記で表現可能である。
【実施例3】
【0076】
次に、
図12を用いて、本発明の実施例3に係る車載演算処理装置1を説明する。なお、以下では、上記実施例との共通点については重複説明を省略する。
【0077】
本実施例では、実施例1,2に示した車載演算処理装置1におけるモデル検証部11fでの検証を過去の走行履歴に基づき省略する例を説明する。車載演算処理装置1でのモデル検証は頻度が多くなるほど処理負荷やチップへの実装サイズの増大に繋がるため、頻度の低減のためには過去の走行経路、走行環境などの過去走行履歴に基づき同様のタイミング、同様のシーンに紐づくモデルへの切り替えを行うことで検証回数を抑えることが可能となる。
【0078】
図12は、過去走行履歴の一例が車両の表示パネル5に表示されている例である。ここに示すように、過去走行履歴の表示としては、時刻、経路名、出発地、目的地、ユーザIDがそれぞれ表示されている。ユーザはこの表示から過去の走行履歴を選択することで、以前の走行と同様のタイミングに同様のモデルへの切り替えを行うことができる。なお、過去走行履歴は単体車両のものに限らず、サーバなどから入手した別車両の走行履歴も検索可能であってよい。
【符号の説明】
【0079】
1 車載演算処理装置
11 主演算部
11a 状態推定部
11b 候補モデル選択部
11c 現状モデル制御部
11d 候補モデル制御部
11e 結果受信部
11f モデル検証部
11f1 精度算出部
11f2 精度比較部
11g モデル差分抽出部
12 AI演算部
12a モデル演算部
M1 現状モデル
M2 候補モデル
M3 共有モデル
D1 現状モデル差分
D2 候補モデル差分
12b AI演算制御部
13 記憶部
13a 状態テーブル
13b モデルテーブル
13c パラメタテーブル
13d モデル差分テーブル
2 カメラ
3 Lider
4 異種センサ
41 フュージョン部
5 表示パネル
I1 外界センサ情報
I2 車両センサ情報
I2a 車速情報