<第1実施例>
図1は、従来の車両シミュレーションシステム100の機能ブロックを示すブロック図である。本開示のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPU・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
車両シミュレーションシステム100は、シミュレーション制御部10、ユーザインタフェース12、環境データ生成部14、画像解析部16、車両モデル部18を備える。シミュレーション制御部10は、車両の挙動のシミュレーションを制御する。また、シミュレーション制御部10は、ユーザインタフェース12、環境データ生成部14、画像解析部16、車両モデル部18とデータを送受信する。
ユーザインタフェース12は、ユーザ(またはユーザの端末)とのインタフェースを提供する。環境データ生成部14は、ユーザにより指定されたパラメータ(例えば歩行者までの距離や方位等)に応じて、後述の画像解析部16に解析させるための画像データ(CG)を生成する。例えば、環境データ生成部14は、自車の6メートル先に歩行者がいることを示すCGを生成する。
画像解析部16は、画像データを解析することにより、車両の自動走行を制御するための車両周辺の状態(障害物の位置等)を検知する。例えば、画像解析部16は、自車の進行方向6メートル先に歩行者がいることを示すCGを解析して、自車と歩行者との距離が6.2メートルであることを検知する。この場合、0.2メートルの誤差が生じている。なお、画像解析部16による解析対象は、実際の車両では車載カメラによる撮像画像となるが、車両シミュレーションシステム100では環境データ生成部14により生成されたCGとなる。
車両モデル部18は、画像解析部16による解析結果をもとに、車両の挙動を決定し、すなわち、車両の自動走行をシミュレーションする。例えば、画像解析部16により自車の進行方向の6.2メートル先に歩行者がいることが検知された場合、車両モデル部18は、ブレーキを作動させること、その結果、歩行者の1メートル手前で停車することを出力してもよい。シミュレーション制御部10は、車両モデル部18によるシミュレーション結果を、所定の表示装置に表示させ、または、所定の記憶装置に格納する。
このように従来の車両シミュレーションシステム100では、車両周辺の状態を示す画像を作成し、その画像から車両周辺の状態を検知し、自動運転の内容をシミュレーションしていた。シミュレーションの網羅性を高めるためには、車両周辺の明るさ(天気等)や路面状況、障害物までの距離、車両速度等、様々なケースに対応する多くの画像を作成する必要があるが、多くの画像を作成するためには多くの時間や費用を要する。
また、車両周辺の状態を示す画像は、理論モデル(例えば車両速度や明るさ等の複数のパラメータに基づく机上の計算式)をもとに作成することも考えられるが、理論モデルにより作成された画像は、現実の環境と乖離することもある。その結果、車両シミュレーションの結果が、現実の車両の挙動と乖離する可能性がある。
そこで第1実施例では、車両周辺の現実の状態を示す環境データ(言い換えれば現実環境のデータ)と、画像解析結果とに基づいて、数量化分析を用いた統計処理により数理モデル(以下の「センサモデル」とも呼ぶ。)を生成する。そして、センサモデルを使用して、車両の挙動をシミュレーションする。これにより、車両周辺の状態を検知するシミュレーションに、各ケースの画像を作成することが不要になり、シミュレーションのコストを低減でき、また、現実に即した車両挙動をシミュレーションすることができる。
まず、第1実施例のセンサモデルを説明する。第1実施例のセンサモデルは、車両のシミュレーションシステムにおいて、画像に基づく検知結果(すなわち画像解析部16および後述の画像解析部28による検知結果)に関して推定するためのモデルである。図2は、センサモデル構築のためのサンプルデータの例を示す。同図は、歩行者の識別に関するセンサモデルを構築するためのサンプルデータを示している。各サンプルは、歩行者の識別精度に影響を与える2つの要因として、車両から歩行者までの距離と天気とを含む。
要因「距離」は、車両から歩行者までの複数段階の距離(真値)に対応する10個のカテゴリを含む。例えば、あるカテゴリは、0.1メートルから2メートルの範囲となり、また、別のカテゴリは、2メートルから4メートルの範囲となる。要因「天気」は、晴れ、曇り、雨の3個のカテゴリを含む。各サンプルは、該当するカテゴリの値を「1」とし、非該当のカテゴリの値を「0」とする。これにより、定量的なデータだけでなく、定性的なデータ(言い換えれば質に関するデータ)も数量として扱うことができる。なお、要因は説明変数とも呼ばれる。また、要因の各カテゴリはダミー変数とも呼ばれる。
また、各サンプルは、画像解析の精度を示すデータとして、車両から歩行者までの距離の真値と、画像解析により検知された車両から歩行者までの距離との差(「検知距離誤差」とも呼ぶ。)を含む。実施例のセンサモデルは、車両から検知対象物(歩行者等)までの複数段階の距離に対応する複数個のダミー変数を含む。具体的には、距離の10カテゴリと天気の3カテゴリの合計13項目をダミー変数とし、検出距離誤差を目的変数として重回帰分析を行うことにより、各要因の各カテゴリが検出距離誤差に与える影響の大きさを示すセンサモデルを生成する。
要因の数をm、各要因のカテゴリ数をn
1、・・・n
m、サンプル数をNとして一般化すると、センサモデルは式1で表すことができる。
式1のε
kは残差であり、a
ijはi番目の要因のj番目のカテゴリを表すダミー変数にかかる係数である(以下「カテゴリ係数」とも呼ぶ。)。実施例のセンサモデル生成装置は、重回帰分析によって、残差の平方和が最小になるように各ダミー変数にかかるカテゴリ係数を導出する。
図3は、第1実施例のセンサモデル生成装置20の機能ブロックを示すブロック図である。センサモデル生成装置20は、センサデータ記憶部22、参照データ記憶部24、タグデータ記憶部26、画像解析部28、真値検知部30、誤差導出部32、真値量子化部34、タグ量子化部36、モデル生成部38を備える。
図3に示す複数の機能ブロックの機能を実装した複数のモジュールを含むコンピュータプログラムが、センサモデル生成装置20のストレージに記憶されてもよい。センサモデル生成装置20のCPUは、このコンピュータプログラムをメインメモリに読み出して実行することにより、図3に示す各機能ブロックの機能を発揮してもよい。また、図3に示す複数の機能は、複数個の装置に分散されてもよく、それら複数個の装置がシステムとして連携することで実現されてもよい。
センサデータ記憶部22、参照データ記憶部24には、現実の車両を用いた試験等において収集されたデータを記憶する。センサデータ記憶部22は、検知の対象物について各種車載センサによるセンシング結果を記憶する。実施例では、センサデータ記憶部22は、車載カメラにより撮像された複数の画像データを記憶し、例えば、3メートル先に歩行者がいる状態を映した画像データ、6メートル先に歩行者がいる状態を映した画像データ、・・・等を記憶する。
参照データ記憶部24は、検知の対象物に関する真値検出用のデータを記憶する。実施例では、参照データ記憶部24は、LIDAR(Light Detection and Ranging)による収集したデータであり、車両と対象物との距離の真値を含むデータを記憶する。タグデータ記憶部26は、タグデータとして、ユーザ(開発者や試験者等)により設定されたデータを記憶する。例えば、タグデータ記憶部26は、車両を用いた試験等がなされた日の天気を示すタグデータを記憶する。タグデータは、路面の種類(例えばアスファルトまたは土)や温度、季節等、様々なデータを含んでもよい。
なお、センサモデル生成装置20、センサデータ記憶部22、参照データ記憶部24に格納されるデータであって、同じ試験で収集または入力されたデータは、互いに対応付けられ1組のサンプルデータとなる。センサモデル生成装置20、センサデータ記憶部22、参照データ記憶部24には、複数の組のサンプルデータ(例えば図2で示したように1万組のサンプルデータ)が格納される。
画像解析部28は、図1の画像解析部16に対応する。すなわち、画像解析部28は、センサデータ記憶部22に記憶された画像データをもとに、車両の自動走行を制御するための車両周辺の状態を検知する。具体的には、画像解析部28は、センサデータ記憶部22に記憶された複数のサンプルの画像データをもとに、複数のサンプルにおける車両と歩行者との距離を検知する。画像をもとに車両と歩行者との距離を導出する方法は公知技術を採用してよい。
真値検知部30は、参照データ記憶部24に記憶されたLIDARデータをもとに、車両周辺の状態を検知する。具体的には、真値検知部30は、参照データ記憶部24に記憶された複数のサンプルのLIDARデータをもとに、複数のサンプルにおける車両と歩行者との距離を検知する。ここで、画像を用いた距離検知よりLIDARを用いた距離検知の方が精度が高く、実質的に、LIDARによる距離検知の結果は、車両と歩行者との距離の真値を示す。すなわち、真値検知部30は、車両と歩行者との距離の真値を検知するとも言える。
誤差導出部32は、サンプルごとに、真値検知部30による検知結果(実施例では車両と歩行者との距離の真値)と、画像解析部28による検知結果(実施例では画像を用いる車両と歩行者との検知距離)との差である検知距離誤差を算出する。
真値量子化部34は、サンプルごとに、真値検知部30による検知結果(実施例では車両と歩行者との距離の真値)を、予め定められた説明変数の複数のカテゴリのいずれかに分類する。例えば、真値量子化部34は、図2で示したように、真値検知部30により検知された車両と歩行者との距離の真値を、10個のカテゴリのうち該当するカテゴリに分類してもよい。
タグ量子化部36は、サンプルごとに、タグデータ記憶部26に記憶されたタグデータを、予め定められた説明変数の複数のカテゴリのいずれかに分類する。例えば、タグ量子化部36は、図2で示したように、天気を示すタグデータを、3個のカテゴリのうち該当するカテゴリに分類してもよい。
モデル生成部38は、誤差導出部32により算出された誤差と、真値量子化部34により選択されたカテゴリと、タグ量子化部36により選択されたカテゴリとの組み合わせをサンプルごとに作成する。モデル生成部38は、誤差導出部32により算出された誤差を目的変数とし、真値量子化部34により選択されたカテゴリと、タグ量子化部36により選択されたカテゴリとをダミー変数として統計処理(実施例では重回帰分析)を実行することにより、複数のカテゴリにかかる複数のカテゴリ係数を導出する。モデル生成部38は、カテゴリ係数を設定した回帰式(上記の式1)でセンサモデルとして生成し、センサモデルのデータとして求めた複数のカテゴリの係数をモデル記憶部40に格納する。
次に、センサモデル生成装置20により生成されたセンサモデルを使用する車両シミュレーションシステムを説明する。図4は、第1実施例の車両シミュレーションシステム110の機能ブロックを示すブロック図である。第1実施例の車両シミュレーションシステム110は、シミュレーション制御部10、ユーザインタフェース12、環境データ生成部14、車両モデル部18、センサモデル部50を備える。
図4に示す複数の機能ブロックの機能を実装した複数のモジュールを含むコンピュータプログラムが、車両シミュレーションシステム110のストレージに記憶されてもよい。車両シミュレーションシステム110のCPU(またはシステム内の装置のCPU)は、このコンピュータプログラムをメインメモリに読み出して実行することにより、図4に示す各機能ブロックの機能を発揮してもよい。また、図4に示す複数の機能は、複数個の装置に分散されてもよく、それら複数個の装置がシステムとして連携することで実現されてもよい。さらにまた、図4に示す複数の機能は、単一の装置に集約されてもよい。
第1実施例の車両シミュレーションシステム110の機能ブロックのうち、図1に示した従来の車両シミュレーションシステム100の機能ブロックと同一または対応する機能ブロックには同一の符号を付している。以下、図1に関連して説明済みの内容は再度の説明を適宜省略する。
環境データ生成部14は、ユーザインタフェース12で受け付けられたパラメータ、または、ファイル等の外部ソースから入力されたパラメータに応じて、シミュレーションの前提となる環境データを生成する。環境データは、センサモデルの説明変数の値を含む。実施例の環境データは、真値データとして車両から歩行者までの距離を含み、または、車両から歩行者までの距離の算出に必要なデータを含み、タグデータとして天気を示す値を含む。
センサモデル部50は、従来の車両シミュレーションシステム100における画像解析部16の代替となる機能を提供する。センサモデル部50は、車両シミュレーションのパラメータとしての車両周辺の状態の真値(実施例では車両から歩行者までの距離)とタグデータをセンサモデルに入力することにより、画像解析部16が上記状態を示す画像を解析した場合の検知結果を推定する推定部として機能する。
車両モデル部18は、センサモデル部50による推定結果をもとに車両の挙動を決定し、すなわち、車両の自動走行をシミュレーションする。例えば、センサモデル部50により自車の進行方向の6.2メートル先に歩行者がいるという結果が得られた場合、車両モデル部18は、ブレーキを作動させること、その結果、歩行者の1メートル手前で停車することを出力してもよい。シミュレーション制御部10は、車両モデル部18によるシミュレーション結果を表示装置に表示させてもよく、または、記憶装置に格納してもよい。
図5は、図4のセンサモデル部50の詳細を示すブロック図である。センサモデル部50は、タグ量子化部52、真値量子化部54、誤差導出部56、模擬値導出部58、モデル記憶部40を含む。モデル記憶部40は、センサモデル生成装置20により生成されたセンサモデルを記憶する。
タグ量子化部52は、環境データ生成部14により生成されたタグデータを、シミュレーション制御部10を介して受け付け、予め定められた説明変数の複数のカテゴリのいずれかに分類する。例えば、タグ量子化部52は、図2で示したように、天気を示すタグデータを、3個のカテゴリのうち該当するカテゴリに分類してもよい。
真値量子化部54は、環境データ生成部14により生成された真値データ、もしくは真値を算出用のデータ(以下合わせて「真値データ」と称する)を、シミュレーション制御部10を介して受け付け、予め定められた説明変数の複数のカテゴリのいずれかに分類する。例えば、真値量子化部54は、図2で示したように、車両から歩行者への距離の真値を、10個のカテゴリのうち該当するカテゴリに分類してもよい。
誤差導出部56は、環境データ生成部14により生成された真値データおよびタグデータと、モデル記憶部40に記憶されたセンサモデル(例えば上記の式1)とにしたがって、検知距離誤差を導出する。実施例では、誤差導出部56は、センサモデルのダミー変数のうち、タグ量子化部52および真値量子化部54により選択されたカテゴリに対応するダミー変数の値を1(非選択のカテゴリに対応するダミー変数値は0)に設定することにより、1となるダミー変数の対応するカテゴリの係数を用いてセンサモデルの目的変数である検知距離誤差を算出する。
模擬値導出部58は、誤差導出部56により導出された検知距離誤差を、環境データ生成部14により生成された真値データに足すことにより、画像解析部16(画像解析部28)による検知結果をシミュレーションする。例えば、模擬値導出部58は、現実の車両の6メートル先に歩行者がいる場合に画像解析部16が検知するであろう歩行者までの距離(誤差を含む値であり、例えば6.2メートル)を導出する。模擬値導出部58により導出された値(例えば歩行者までの距離)は、シミュレーション制御部10を介して車両モデル部18へ入力され、車両の挙動がシミュレーションされる。
以上の構成による動作を説明する。
まず、図3を参照しつつ、センサモデル生成装置20に関する動作を説明する。車両シミュレーションシステムを顧客やパートナー企業に提供すべき車載機器の開発者は、実際に車両を走行させて、車載カメラで車外の歩行者を撮像し、複数サンプルの撮像画像をセンサデータ記憶部22に記憶させる。それとともに開発者は、LIDAR装置で上記歩行者までの距離を計測させ、複数サンプルの距離の真値を示す計測結果を参照データ記憶部24に記憶させる。さらにまた、開発者は、天気等の定性的な内容を示す複数サンプルのタグデータをタグデータ記憶部26に記憶させる。
画像解析部28は、サンプルごとに、センサデータ記憶部22に格納された画像から歩行者までの距離を検知する。真値検知部30は、サンプルごとに、参照データ記憶部24に格納された計測結果から歩行者までの距離の真値を検知する。誤差導出部32は、サンプルごとに、画像に基づく検知距離と真値との差である検知距離誤差を導出する。真値量子化部34は、歩行者までの距離の真値のカテゴリを特定し、タグ量子化部36は、タグデータのカテゴリを特定する。
モデル生成部38は、歩行者までの距離の真値のカテゴリと、タグデータのカテゴリとをダミー変数とし、検知距離誤差を目的変数として、複数のサンプルによる重回帰分析を実行することで、センサモデルを生成する。モデル生成部38は、生成したセンサモデルをモデル記憶部40に格納する。
第1実施例のセンサモデル生成装置20によると、車両の挙動をシミュレーションする際に画像解析による検知結果が必要な場合、シミュレーションすべき各ケースの画像を用意すること、また、各ケースの画像を解析することが不要になり、シミュレーションに要する時間および費用を低減できる。また、車両周辺の実際の状態を示すデータを用いてセンサモデルを生成することで、現実に即した結果を出力するセンサモデルを生成できる。
次に、図4および図5を参照しつつ、車両シミュレーションシステム110に関する動作を説明する。ここでは、車両の近傍に歩行者が存在する場合の車両の挙動をシミュレーションすることとする。ユーザは、車両から歩行者までの距離と、天気とをシミュレーションのパラメータとして車両シミュレーションシステム110のユーザインタフェース12へ入力する。環境データ生成部14は、ユーザインタフェース12で受け付けられた車両から歩行者までの距離を示す真値データを生成し、また、ユーザインタフェース12で受け付けられた天気を示すタグデータを生成する。
タグ量子化部52は、タグデータ(例えば図2の天気)のカテゴリを特定し、真値量子化部54は、真値データ(例えば図2の距離)のカテゴリを特定する。誤差導出部56は、モデル記憶部40に記憶されたセンサモデルの説明変数のカテゴリを示すダミー変数のうち、タグ量子化部52および真値量子化部54により特定されたカテゴリ(ダミー変数)の値を「1」とし、そのカテゴリに対応する係数(即ち、モデルデータ)をもちいることにより、目的変数である検知距離誤差を得る。模擬値導出部58は、車両から歩行者までの距離(真値)に検知距離誤差を足すことにより、画像解析部28により検知される車両から歩行者までの距離(誤差を含む)を推定する。
車両モデル部18は、模擬値導出部58により導出された車両から歩行者までの距離(誤差を含む)に基づいて、車両の挙動を決定する。シミュレーション制御部10は、車両モデル部18による決定内容をシミュレーション結果として、所定の出力装置に出力し、または、所定の記憶装置に記憶させる。
第1実施例の車両シミュレーションシステム110によると、車両の挙動をシミュレーションする際に画像解析による検知結果が必要な場合、シミュレーションすべき各ケースの画像を用意し、各ケースの画像を解析することが不要になり、シミュレーションに要する時間および費用を低減できる。また、シミュレーションの網羅性を高めやすくなる。さらにまた、車両周辺の実際の状態を用いて生成したセンサモデルを用いることで、現実に即した車両挙動等をシミュレーションすることができる。
以上、本開示を第1実施例をもとに説明した。第1実施例は例示であり、各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解されるところである。以下変形例を示す。
第1変形例を説明する。車両シミュレーションシステム110のセンサモデル部50は、複数個のダミー変数に係る複数個の係数から、曲線フィッティングにより対象物(例えば歩行者)までの距離の真値に応じた係数をセンサモデルに適用する。
図6は、曲線フィッティングの例を示す。ここでは、センサモデルが、少なくとも58個のカテゴリ(説明変数)を含むこととする。例えば、車両と歩行者との距離を10センチ刻みでカテゴリとしてもよい。カテゴリ係数グラフ60は、センサモデルにおける一つの説明変数(即ち、誤差要因)の58個のカテゴリのそれぞれの係数(カテゴリ係数)を示す折れ線グラフである。センサモデル部50の誤差導出部56は、複数個のカテゴリ係数に対して曲線フィッティングを行うことにより近似曲線62(二次多項式近似曲線とも言える)を導出する。
誤差導出部56は、車両から歩行者までの距離の真値に対応するカテゴリ係数を近似曲線62から取得する。例えば、距離が10センチ刻みの場合、距離の真値が3.2メートルであれば、誤差導出部56は、カテゴリ番号「32」における近似曲線62の値(例えば「0」)をカテゴリ係数として取得してもよい。誤差導出部56は、近似曲線62から取得したカテゴリ係数をダミー変数(図2の例ではダミー変数の値は「1」)の重みとして適用し、目的変数の値(例えば検知距離誤差)を導出してもよい。また、距離真値を連続量として横軸の座標に変換し、近似曲線式に代入し算出した値を上記距離真値に対応する係数として適用してもよい。これらの変形例によると、曲線フィッティングにより、入力された説明変数に対する適切な重み付けを実現できる。
第2変形例を説明する。車両シミュレーションシステム110のユーザインタフェース12は、乱数に関するデータの指定をユーザから受け付ける受付部として機能してもよい。センサモデル部50の模擬値導出部58は、ユーザから指定された乱数に関するデータをもとに、センサモデルを用いた推定値にホワイトノイズを足してもよい。
例えば、ユーザは、乱数に関するデータとして、擬似乱数列を生成するためのシードをユーザインタフェース12へ入力してもよい。模擬値導出部58は、ユーザから入力されたシードをもとに擬似乱数列を生成して、その擬似乱数列をもとにホワイトノイズのデータを生成し、車両と歩行者との距離の推定値にホワイトノイズを足してもよい。実環境のデータにはホワイトノイズの成分が含まれるため、本変形例によると、ホワイトノイズを加味して、より現実に即した推定結果を求めることができる。
第3変形例を説明する。上記実施例では、車両と歩行者との距離をセンサモデルにより推定したが、実施例に記載の技術は、車両周辺の状態に関する様々なものをモデルにより推定する場合に適用可能である。第3変形例では、駐車枠(駐車区画とも言える)の位置をセンサモデルにより推定する例を示す。
図7は、変形例における車両周辺の状態を示す。本変形例では、駐車枠76をその4隅(FL、FR、BL、BR)のXY座標と、駐車枠76の方向(車両の進行方向に対する駐車枠76の角度であり、図7のθ)で表す。本変形例では、画像解析部により検知された駐車枠76の4隅それぞれの座標は、上記4隅(FL、FR、BL、BR)のカメラ72からの距離(例えば、前方右側のポイントFRの場合、RangeR)、カメラ72の光軸74との角度(例えば、前方右側のポイントFRの場合、βR)、および駐車枠76の方向(θ)の影響を受ける。本変形例のセンサモデル生成装置20は、カメラ72からの距離、カメラ72の光軸74との角度、および駐車枠76の方向のそれぞれをカテゴライズする。
具体的には、センサモデル生成装置20の画像解析部28は、車両の周辺が映る画像データから、車両周辺の状態として、駐車枠の位置(座標等)を検知する。真値検知部30は、LIDAR装置の検知結果に基づき、駐車枠の位置(座標等)の真値を検知する。モデル生成部38は、真値検知部30により検知された駐車枠76の座標(FRの座標とする)と、画像解析部28により検知された駐車枠76の座標(FRの座標とする)との差を目的変数として識別する。
また、モデル生成部38は、カメラ72からの距離、カメラ72の光軸74との角度、および駐車枠76の方向θの、カメラの光軸74との角度を説明変数として扱う。これらのデータは、実施例と同様に、実際の車両を用いた試験により収集され、複数のサンプルが作成される。モデル生成部38は、複数のサンプルに基づく重回帰分析を実行して、各カテゴリ(ダミー変数)の係数を求める。なお、実際には、駐車枠76の4隅の座標のそれぞれに対応するセンサモデルが生成されてもよい。
車両シミュレーションシステム110のシミュレーション制御部10は、シミュレーションのパラメータとして、4隅(FL、FR、BL、BR)の座標と駐車枠方向をユーザ等から受け付け(座標系は車両座標系でもよく、センサ座標系でもよい)、それらのパラメータをセンサモデル部50へ入力する。センサモデル部50は、シミュレーションのパラメータをセンサモデルへ入力することにより、画像解析部28による検知結果を推定し、すなわち、駐車枠76の座標を推定する。具体的には、センサモデル部50は、まず、入力された上記4隅(FL、FR、BL、BR)の座標と駐車枠方向を、説明変数であるカメラ72からの距離、カメラ72の光軸74との角度、および駐車枠76の方向に変換する。次に、センサモデル部50は、得られた説明変数の値に基づきカテゴリを求め、それに対応する係数を適用する。車両モデル部18は、センサモデル部50により推定された駐車枠76の座標に基づいて、車両の自動走行(例えば駐車枠76への自動入庫)をシミュレーションする。
第1実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
[項目1]
車両の周辺が映る画像データから、前記車両の自動走行を制御するための前記車両周辺の状態を検知する第1検知部と、
前記推定部より高い精度で、前記車両周辺の状態を検知する第2検知部と、
前記車両のシミュレーションシステムにおいて前記第1検知部による検知結果に関して推定するためのモデルであって、前記第2検知部により検知された状態を説明変数とし、前記第2検知部により検知された状態と、前記第1検知部により検知された状態との差を目的変数とするモデルを生成する生成部と、
を備えるモデル生成装置。
このモデル生成装置によると、車両をシミュレーションする際に第1検知部による検知結果が必要な場合、シミュレーションすべき各ケースの画像を用意すること、また、各ケースの画像を解析することが不要になり、シミュレーションのコストを低減できる。また、モデルの生成において車両周辺の実際の状態を用いることで、現実に即した結果を出力するモデルを生成できる。
[項目2]
車両の周辺が映る画像データから、前記車両の自動走行を制御するための前記車両周辺の状態を検知する検知部について、前記検知部による検知結果に関して推定するためのモデルであって、前記車両周辺の状態の真値を説明変数とし、前記車両周辺の状態の真値と、前記検知部により検知された状態との差を目的変数とするモデルを記憶する記憶部と、
シミュレーションのパラメータとしての前記車両周辺の状態の真値を前記モデルに入力することにより、前記検知部による検知結果を推定する推定部と、
前記推定部による推定結果をもとに前記車両の自動走行をシミュレーションするシミュレーション部と、
を備える車両シミュレーションシステム。
この車両シミュレーションシステムによると、車両をシミュレーションする際に第1検知部による検知結果が必要な場合、シミュレーションすべき各ケースの画像を用意すること、また、各ケースの画像を解析することが不要になり、シミュレーションのコストを低減できる。また、車両周辺の実際の状態を用いて生成したモデルを用いることで、現実に即した車両挙動等をシミュレーションすることができる。
[項目3]
前記モデルは、前記車両周辺の状態の真値である説明変数の複数段階の値に対応する複数個のダミー変数を含み、
前記推定部は、前記複数個のダミー変数に係る各々の係数から、曲線フィッティングにより前記車両周辺の状態の真値である説明変数の連続値に対する係数の連続量を求め、前記係数の連続量の中から前記説明変数の連続値に対応する係数を前記モデルに適用する、
項目2に記載の車両シミュレーションシステム。
この車両シミュレーションシステムによると、曲線フィッティングにより、説明変数に対する適切な重み付けを実現できる。
[項目4]
乱数に関するデータの指定をユーザから受け付ける受付部をさらに備え、
前記推定部は、前記乱数に関するデータをもとに、前記モデルを用いた推定値にホワイトノイズを足す、
項目2または3に記載の車両シミュレーションシステム。
この車両シミュレーションシステムによると、ホワイトノイズを加味して、より現実に即した推定結果を求めることができるとともに、乱数に関するデータの指定を可能にすることで、シミュレーションの再現性も持たせることができる。
[項目5]
第1検知部が、車両の周辺が映る画像データから、前記車両の自動走行を制御するための前記車両周辺の状態を検知し、
第2検知部が、前記第1検知部より高い精度で、前記車両周辺の状態を検知し、
前記車両のシミュレーションシステムにおいて前記第1検知部による検知結果に関して推定するためのモデルであって、前記第2検知部により検知された状態を説明変数とし、前記第2検知部により検知された状態と、前記第1検知部により検知された状態との差を目的変数とするモデルを生成する、
モデル生成方法。
このモデル生成方法によると、車両をシミュレーションする際に第1検知部による検知結果が必要な場合、シミュレーションすべき各ケースの画像を用意すること、また、各ケースの画像を解析することが不要になり、シミュレーションのコストを低減できる。また、モデルの生成において車両周辺の実際の状態を用いることで、現実に即した結果を出力するモデルを生成できる。
[項目6]
車両の周辺が映る画像データから、前記車両の自動走行を制御するための前記車両周辺の状態を検知する検知部について、前記検知部による検知結果に関して推定するためのモデルであって、前記車両周辺の状態の真値を説明変数とし、前記車両周辺の状態の真値と、前記検知部により検知された状態との差を目的変数とするモデルを記憶し、
シミュレーションのパラメータとしての前記車両周辺の状態の真値を前記モデルに入力することにより、前記検知部による検知結果を推定し、
前記推定部による推定結果をもとに前記車両の自動走行をシミュレーションする、
車両シミュレーション方法。
この車両シミュレーション方法によると、車両をシミュレーションする際に第1検知部による検知結果が必要な場合、シミュレーションすべき各ケースの画像を用意すること、また、各ケースの画像を解析することが不要になり、シミュレーションのコストを低減できる。車両周辺の実際の状態を用いて生成したモデルを用いることで、現実に即した車両挙動等をシミュレーションすることができる。
[項目7]
第1検知部が、車両の周辺が映る画像データから、前記車両の自動走行を制御するための前記車両周辺の状態を検知し、
第2検知部が、前記第1検知部より高い精度で、前記車両周辺の状態を検知し、
前記車両のシミュレーションシステムにおいて前記第1検知部による検知結果に関して推定するためのモデルであって、前記第2検知部により検知された状態を説明変数とし、前記第2検知部により検知された状態と、前記第1検知部により検知された状態との差を目的変数とするモデルを生成する、
ことをコンピュータに実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、車両をシミュレーションする際に第1検知部による検知結果が必要な場合、シミュレーションすべき各ケースの画像を用意すること、また、各ケースの画像を解析することが不要になり、シミュレーションのコストを低減できる。また、モデルの生成において車両周辺の実際の状態を用いることで、現実に即した結果を出力するモデルを生成できる。
[項目8]
車両の周辺が映る画像データから、前記車両の自動走行を制御するための前記車両周辺の状態を検知する検知部について、前記検知部による検知結果に関して推定するためのモデルであって、前記車両周辺の状態の真値を説明変数とし、前記車両周辺の状態の真値と、前記検知部により検知された状態との差を目的変数とするモデルを記憶し、
シミュレーションのパラメータとしての前記車両周辺の状態の真値を前記モデルに入力することにより、前記検知部による検知結果を推定し、
前記推定部による推定結果をもとに前記車両の自動走行をシミュレーションする、
ことをコンピュータに実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、車両をシミュレーションする際に第1検知部による検知結果が必要な場合、シミュレーションすべき各ケースの画像を用意すること、また、各ケースの画像を解析することが不要になり、シミュレーションのコストを低減できる。車両周辺の実際の状態を用いて生成したモデルを用いることで、現実に即した車両挙動等をシミュレーションすることができる。
<第2実施例>
第2実施例の概要を説明する。従来の車両シミュレーションシステムでは、シミュレーション結果において、CGの認識結果のみ、または、シミュレーションにおける車両周辺の状態の真値(理想値とも言え、例えば、自車両近傍の他車両の真の位置)のみを描いていた。そのため、シミュレーション結果が、センシングアルゴリズムや制御アルゴリズムの評価、課題抽出、改善等に対して十分に貢献しないことがあった。
第2実施例の車両シミュレーションシステムは、第1実施例の車両シミュレーションシステムと同様に、センサモデルを用いてセンシング結果(誤差を含む)を推定する。また、第2実施例の車両シミュレーションシステムは、センシング結果の推定値をセンシング対象の真値とともに表示させる。さらにまた、第2実施例の車両シミュレーションシステムは、センシング結果の推定値とセンシング対象の真値との誤差に関する情報をさらに出力する。第2実施例の車両シミュレーションシステムによると、センシングアルゴリズムや制御アルゴリズムの評価、課題抽出、改善等に対して一層有用なシミュレーション結果を提供することができる。
以下、第1実施例の構成要素と同一または対応する第2実施例の構成要素には、第1実施例と同じ符号を付して説明する。第2実施例では、第1実施例で説明済の内容は再度の説明を適宜省略し、主に、第1実施例と異なる点を説明する。
第2実施例のセンサモデルも、第1実施例のセンサモデルと同様に、車両周辺の状態に関する複数項目の真値を説明変数とし、車両に搭載された検知部による車両周辺の状態の検知結果と上記真値との差を目的変数とする数理モデル(例えば回帰式)である。検知部は、車両に搭載されるセンサ装置であり、車両周辺の状態(例えば歩行者や障害物の位置等)を検知する。検知部は、例えば、カメラ、レーダー装置、ライダー装置、ソナーの少なくとも1つを含んでもよい。
第2実施例のセンサモデルは、距離誤差を推定するためのセンサモデル(以下「距離誤差モデル」とも呼ぶ。)と、方位誤差を推定するためのセンサモデル(以下「方位誤差モデル」とも呼ぶ。)を含む。距離誤差モデルにおける目的変数は、車両から検知対象物(例えば歩行者や障害物)までの距離に関する検知結果と真値との差(以下「距離誤差」とも呼ぶ。)である。方位誤差モデルにおける目的変数は、車両に対する検知対象物の方位に関する検知結果と真値との差(以下「方位誤差」とも呼ぶ。)である。距離誤差の単位は「メートル」であってもよい。また、方位誤差の単位は「度」であってもよい。
図8は、距離誤差モデル構築のためのサンプルデータの例を示す。サンプルデータは、実車を用いた現実のテスト環境における真値が収集されたものである。サンプルデータにおける目的変数の項目「距離誤差」には、上記のテスト環境で計測された値が設定される。距離誤差モデルの説明変数の項目は、距離、方位、照度、姿勢を含む。距離は、車両から検知対象物までの距離であり、具体的には、車両に搭載された検知部から検知対象物までの距離である。方位は、車両に対する検知対象物の方位(方角とも言える)であり、具体的には、車両に搭載された検知部の光軸と検知対象物とがなす角度(例えば−90°から90°の範囲内の値)である。照度は、車両周辺の照度である。姿勢は、検知対象物の姿勢である。図8では、検知対象物が歩行者である場合の姿勢の例を示している。
第1実施例で示したサンプルデータ(図3)と同様に、複数の説明変数のそれぞれは、複数のカテゴリを含む。各サンプルは、実車を用いた現実のテスト環境における真値をもとに、該当するカテゴリの値が「1」に設定され、非該当のカテゴリの値が「0」に設定される。なお、数値型の説明変数(図8では距離、方位、照度)をカテゴライズする場合、刻みは均等でなくてもよい。例えば、照度の場合、0〜1000ルクスの照度は刻み「10」とし、1000ルクスより大きい照度は刻み「100」としてもよい。
方位誤差モデル構築のためのサンプルデータについて、目的変数は方位誤差(実測値)となるが、説明変数の項目は距離誤差モデルと同じである。すなわち、方位誤差モデル構築のための説明変数も、距離、方位、照度、姿勢を含み、各説明変数は複数のカテゴリに分けられる。ここで、説明変数の項目数をm、説明変数の各項目のカテゴリ数をn1、・・・nm、サンプル数をNとして一般化すると、距離誤差モデルおよび方位誤差モデルは、第1実施例に記載の式1で表すことができる。
第2実施例のセンサモデル生成装置20の構成は、第1実施例のセンサモデル生成装置20の構成(図3)と同様である。センサモデル生成装置20のモデル生成部38は、距離誤差モデルのサンプルデータに対する重回帰分析を行って、残差の平方和が最小になるように各説明変数の各カテゴリにかかるカテゴリ係数(重み)を導出する。モデル生成部38は、導出したカテゴリ係数を設定した回帰式(上記の式1)を距離誤差モデルとして生成し、距離誤差モデルのデータをモデル記憶部40に格納する。方位誤差モデルの生成方法も同様である。
また、第2実施例のセンサモデルは、車両に搭載された検知部による検知率(すなわち本来検知すべき対象物を検知できる割合)を推定するためのセンサモデル(以下「検知率モデル」とも呼ぶ。)をさらに含む。検知率モデルは、車両周辺の状態に関する複数項目の真値を説明変数とし、検知部による車両周辺の状態の検知有無を目的変数とする数理モデルである。
図9は、検知率モデル構築のためのサンプルデータの例を示す。検知率モデル構築のための説明変数は、距離誤差モデルと同じである。すなわち、検知率モデル構築のための説明変数も、距離、方位、照度、姿勢を含み、各説明変数は複数のカテゴリに分けられている。検知率モデル構築のための目的変数は、検知OKの場合に「1」、検知NGの場合に「0」が設定される。
第2実施例のセンサモデル生成装置20は、検知率モデルを生成するために、検知有無判定部をさらに備える。検知有無判定部は、誤差導出部32による誤差の導出に代えて、検知すべき対象物を画像解析部28(すなわちセンシングアルゴリズム)により検知したか否かを判定する。検知有無判定部は、検知したと判定した場合、サンプルデータに検知OKを示す「1」を設定し、検知しなかったと判定した場合、サンプルデータに検知NGを示す「0」を設定する。
センサモデル生成装置20のモデル生成部38は、距離誤差モデルおよび方位誤差モデルと同様の方法にて検知率モデルを生成する。具体的には、モデル生成部38は、検知率モデルのサンプルデータに対する重回帰分析を行って、残差の平方和が最小になるように各説明変数の各カテゴリにかかるカテゴリ係数(重み)を導出する。モデル生成部38は、導出したカテゴリ係数を設定した回帰式(上記の式1)を検知率モデルとして生成し、検知率モデルのデータをモデル記憶部40に格納する。実施例の検知率モデルは、検知可能性が低いほど0に近い値を出力し、検知可能性が高いほど1に近い値を出力する。
変形例として、検知対象物の姿勢ごとに大量のサンプルデータが収集されてもよい。モデル生成部38は、姿勢ごとにサンプルデータを分類し、分類後のサンプルデータをもとに、距離d、方位θ、照度lの組合せごとの検知率(例えば平均値)を導出してもよい。モデル生成部38は、姿勢ごと、かつ、距離d、方位θ、照度lの組合せごとに検知率を並べた表(ここでは「検知率表」と呼ぶ。)を生成してもよい。図10は、ある姿勢についての検知率表の例を示す。
モデル生成部38は、姿勢ごとの検知率表を用いて、距離、方位、照度を係数とする多項式近似曲線を検知対象物の姿勢ごとに生成してもよい。この多項式近似曲線は式2で表すことができる。
モデル生成部38は、多項式近似により式2のa1、a2、b1、b2、c1、c2、d0を導出してもよい。モデル生成部38は、検知対象物の複数の姿勢に対応する複数の多項式近似曲線(式2)を複数の検知率モデルとしてモデル記憶部40に格納してもよい。この変形例の車両シミュレーションでは、複数の検知率モデルのうち検知対象物の姿勢に対応する検知率モデルを用いて検知率を推定する。
第2実施例の車両シミュレーションシステム110の構成は、第1実施例の車両シミュレーションシステム110の構成(図4)と同様である。また、第2実施例のセンサモデル部50の構成も、第1実施例のセンサモデル部50の構成(図5)と同様である。第2実施例のセンサモデル部50は、車両周辺の状態を検知する検知部について、シミュレーション制御部10からシミュレーションのパラメータとして車両周辺の状態の真値が与えられた場合に上記検知部による車両周辺の状態の検知結果を推定する推定部として機能する。
具体的には、センサモデル部50の誤差導出部56は、シミュレーションのパラメータとしての車両周辺の状態の真値を距離誤差モデルへ入力し、距離誤差モデルからの出力として距離誤差を取得する。また、誤差導出部56は、シミュレーションのパラメータとしての車両周辺の状態の真値を方位誤差モデルへ入力し、方位誤差モデルからの出力として方位誤差を取得する。シミュレーションのパラメータは、検知部から検知対象物までの距離と方位、車両周辺の照度、検知対象物の姿勢についてそれぞれの真値を含む。
センサモデル部50の模擬値導出部58は、第1実施例と同様に、誤差導出部56により取得された誤差を、シミュレーションにおける車両周辺の状態の真値に加算することで、検知部による検知結果の推定値を導出する。例えば、模擬値導出部58は、誤差導出部56により取得された距離誤差を、シミュレーションにおける検知部から検知対象物までの距離真値に加算することで、検知部により検知される距離の推定値を導出する。また、模擬値導出部58は、誤差導出部56により取得された方位誤差を、シミュレーションにおける検知部に対する検知対象物の方位真値に加算することで、検知部により検知される方位の推定値を導出する。
また、センサモデル部50の模擬値導出部58は、シミュレーションのパラメータとしての車両周辺の状態の真値を検知率モデルへ入力し、検知部による検知率の推定値を導出する。例えば、模擬値導出部58は、シミュレーションのパラメータとして車両周辺の照度、検知対象物の姿勢を検知率モデルへ入力し、さらに、検知部から検知対象物までの距離と方位の複数パターンの組み合わせを検知率モデルへ入力することにより、検知率モデルからの出力として、距離と方位の組み合わせパターンごとの検知率推定値を取得する。すなわち、模擬値導出部58は、距離と方位の複数パターンの組み合わせに対応する複数個の検知率推定値を取得する。
模擬値導出部58は、シミュレーションの結果として、(1)距離推定に関する情報、(2)方位推定に関する情報、(3)検知率推定に関する情報をシミュレーション制御部10へ出力する。(1)距離推定に関する情報は、検知部により検知される距離の推定値、シミュレーションにおける距離の真値、距離誤差の値、距離誤差の内訳を含む。(2)方位推定に関する情報は、検知部により検知される方位の推定値、シミュレーションにおける方位の真値、方位誤差の値、方位誤差の内訳を含む。(3)検知率推定に関する情報は、距離と方位の複数パターンの組み合わせに対応する複数個の検知率推定値を含む。
距離誤差の内訳は、距離誤差モデルにおける複数のカテゴリに対する複数のカテゴリ係数のうち、距離誤差の導出において使用されたカテゴリのカテゴリ係数(言い換えれば車両周辺状態の真値が該当するカテゴリのカテゴリ係数であり、以下「有効カテゴリ係数」と呼ぶ。)を含む。実施例での距離誤差の内訳は、距離誤差モデルにおける説明変数の項目名称(例えば「距離」、「方位」等)と有効カテゴリ係数の組を複数組含む。同様に、方位誤差の内訳は、方位誤差モデルにおける複数のカテゴリに対する複数のカテゴリ係数のうち、方位誤差の導出において使用されたカテゴリのカテゴリ係数(言い換えれば車両周辺状態の真値が該当するカテゴリのカテゴリ係数(有効カテゴリ係数)を含む。実施例での方位誤差の内訳は、方位誤差モデルにおける説明変数の項目名称と有効カテゴリ係数の組を複数組含む。
第2実施例のシミュレーション制御部10は、車両シミュレーションの結果を示す画像を生成する機能を含む。図11は、第2実施例のシミュレーション制御部10の機能ブロックを示すブロック図である。シミュレーション制御部10は、パラメータ取得部120、パラメータ入力部122、模擬値取得部124、結果画像生成部126、表示制御部128を備える。
図11に示す複数の機能ブロックの機能が実装された複数のモジュールを含むコンピュータプログラムが、車両シミュレーションシステム110のストレージに記憶されてもよい。車両シミュレーションシステム110のCPU(またはシステム内の装置のCPU)は、このコンピュータプログラムをメインメモリに読み出して実行することにより、図11に示す各機能ブロックの機能を発揮してもよい。また、図11に示す複数の機能ブロックの複数の機能は、複数個の装置に分散されてもよく、それら複数個の装置がシステムとして連携することで実現されてもよい。さらにまた、図11に示す複数の機能ブロックの複数の機能は、単一の装置に集約されてもよい。
パラメータ取得部120は、ユーザインタフェース12(ユーザ端末等)に対してユーザ(開発者や試験者等)が入力したシミュレーションのパラメータを取得する。シミュレーションのパラメータは、所定の記憶部に予め格納されてもよく、パラメータ取得部120は、その記憶部からシミュレーションのパラメータを読み出してもよい。既述したように、シミュレーションのパラメータは、検知部から検知対象物までの距離と方向、車両周辺の照度、検知対象物の姿勢を含む。
パラメータ入力部122は、パラメータ取得部120により取得されたシミュレーションのパラメータをセンサモデル部50へ出力することにより、センサモデル部50にシミュレーション処理を実行させる。既述したように、センサモデル部50は、シミュレーション制御部10から入力されたシミュレーションのパラメータを距離誤差モデル、方位誤差モデル、検知率モデルに入力し、各モデルの出力値を含むシミュレーション結果をシミュレーション制御部10へ出力する。
模擬値取得部124は、センサモデル部50による車両シミュレーションの結果を取得する。具体的には、模擬値取得部124は、センサモデル部50から出力された上述の(1)距離推定に関する情報、(2)方位推定に関する情報、(3)検知率推定に関する情報を取得する。
結果画像生成部126は、模擬値取得部124により取得されたシミュレーション結果をもとに、そのシミュレーション結果を示す画像(以下「シミュレーション結果画像」とも呼ぶ。)を生成する。結果画像生成部126は、シミュレーション結果画像に含まれる後述の複数の要素を生成する。例えば、結果画像生成部126は、シミュレーション結果画像として、シミュレーションにおける車両周辺の状態の真値と、車両の検知部による検知結果の推定値とを異なる態様で示す画像を生成する。
表示制御部128は、結果画像生成部126により生成されたシミュレーション結果画像のデータを表示装置(実施例ではユーザインタフェース12)へ出力し、シミュレーション結果画像を表示装置に表示させる。
シミュレーション結果画像について詳細に説明する。図12は、シミュレーション結果画像の例を示す。シミュレーション結果画像140は、複数の要素として、車両画像141、検知位置画像142、真位置画像144、距離誤差インジケータ146、方位誤差インジケータ148、検知範囲画像150を含む。車両画像141は、シミュレーション対象の検知部を搭載した車両を示す画像である。
検知位置画像142は、検知部が検知対象物を検知する位置(シミュレーションにより推定された位置であり、「検知位置」と呼ぶ。)を示す画像である。結果画像生成部126は、シミュレーション結果に含まれる距離推定値および方位推定値に基づいて検知位置を求め、その検知位置に検知位置画像142を配置する。真位置画像144は、シミュレーションにおける検知対象物の真の位置(「真位置」と呼ぶ。)を示す画像である。結果画像生成部126は、シミュレーションパラメータとしての距離真値および方位真値に基づいて真位置を求め、その真位置に真位置画像144を配置する。
また、検知位置画像142は、検知位置と、車両画像141の検知部の位置とを結ぶ線を含む。また、真位置画像144は、真位置と、車両画像141の検知部の位置とを結ぶ線を含む。結果画像生成部126は、検知位置画像142と真位置画像144とを異なる態様に設定し、言い換えれば、検知位置画像142と真位置画像144の外観を異ならせる。例えば、検知位置画像142と真位置画像144には、異なる態様の図形、線、または塗りつぶしが設定されてもよい。また、検知位置画像142と真位置画像144には、異なる色彩や、異なるサイズ、点線・実線の違い、陰影の有無の違いが設定されてもよい。これにより、シミュレーション結果において、検知位置と真位置とを直観的に区別でき、その違いを容易に把握することができる。
距離誤差インジケータ146は、検知位置と真位置との距離誤差の大きさを示す画像である。距離誤差インジケータ146は、検知位置と、車両画像141の検知部の位置とを結ぶ線の長さと、真位置と、車両画像141の検知部の位置とを結ぶ線の長さとの差分を強調態様(注意喚起色や太線等)で示すものである。結果画像生成部126は、シミュレーション結果の距離誤差に応じて距離誤差インジケータ146を設定する。これにより、シミュレーション結果において、距離誤差の把握を容易なものにできる。
方位誤差インジケータ148は、検知位置と真位置との方位誤差の大きさを示す画像である。方位誤差インジケータ148は、車両画像141の検知部の位置から検知位置への方位と、車両画像141の検知部の位置から真位置への方位との差分を強調態様(注意喚起色や太線等)で示すものである。結果画像生成部126は、シミュレーション結果の方位誤差に応じて方位誤差インジケータ148を設定する。これにより、シミュレーション結果において、方位誤差の把握を容易なものにできる。
検知範囲画像150は、車両の検知部による検知範囲を示す画像である。実施例のシミュレーション制御部10は、検知部の種類や製品特性に応じて予め定まる検知部の検知範囲のデータを予め記憶する検知範囲記憶部(不図示)をさらに備える。結果画像生成部126は、車両の検知部の検知範囲のデータを記憶部から取得し、その検知範囲(図12では扇形の範囲)を示す検知範囲画像150を生成する。結果画像生成部126は、検知範囲の各位置の色を検知部による検知率に応じた色に設定する。これにより、車両シミュレーション結果において、対象物の位置により異なりうる検知率の把握を容易なものにできる。
具体的には、結果画像生成部126は、車両シミュレーション結果としての距離と方位の複数パターンの組み合わせに対応する複数個の検知率推定値にしたがって、検知範囲の各位置の検知率推定値を特定する。結果画像生成部126は、検知率推定値が相対的に低い位置には相対的に明度が低い色(暗い色)を設定する一方、検知率推定値が相対的に高い位置には相対的に明度が高い色(明るい色)を設定する。言い換えれば、結果画像生成部126は、検知率推定値が低い位置ほど、その位置に設定する色の明度を低くし、検知率推定値が高い位置ほど、その位置に設定する色の明度を高くする。図13の検知範囲画像150は、検知部の光軸152近傍では検知率が高く、検知範囲の端付近では検知率が低いことを示している。
また、シミュレーション結果画像140は、ユーザの所定操作に応じて、真位置と検知位置との差の内訳をさらに表示するよう構成される。図13は、シミュレーション結果画像の例を示す。同図は、シミュレーション結果画像140において方位誤差インジケータ148を選択する操作が入力された場合に、方位誤差の内訳を示す画像である誤差内訳154が表示されることを示している。例えば、結果画像生成部126は、シミュレーション結果画像のデータとともにユーザインタフェース12へ提供する表示制御スクリプトコード(JavaScript(登録商標)等)に、方位誤差インジケータ148がマウスオーバーされた場合に誤差内訳154をポップアップ表示させるコードを設定してもよい。
なお、シミュレーション結果画像140は、距離誤差インジケータ146が選択された場合、距離誤差の内訳を示す誤差内訳154を表示させるよう構成される。
第2実施例における誤差内訳154は、距離誤差モデルまたは方位誤差モデルにおける複数項目の説明変数それぞれの重みを示すものである。既述したように、センサモデル部50から出力されるシミュレーション結果は、距離誤差の内訳として、距離誤差モデルにおける説明変数の項目名称と有効カテゴリ係数の組を複数組含む。また、シミュレーション結果は、方位誤差の内訳として、方位誤差モデルにおける説明変数の項目名称と有効カテゴリ係数の組を複数組含む。結果画像生成部126は、距離誤差モデルにおける各説明変数の有効カテゴリ係数の比率を示すように距離誤差の内訳を示す誤差内訳154を生成する。結果画像生成部126は、方位誤差モデルにおける各説明変数の有効カテゴリ係数の比率を示すように方位誤差の内訳を示す誤差内訳154を生成する。誤差内訳154の表示により、検知位置と真位置との差を生じさせた要因をユーザに分かり易く提示することができる。
図13の誤差内訳154では、各説明変数の有効カテゴリ係数の比率を円グラフで示したが、誤差内訳154は、異なる種類の統計図表を含んでもよい。図14は、各説明変数の有効カテゴリ係数の比率を積み上げ棒グラフにより示す誤差内訳156の表示例を示している。図14の誤差内訳156は、方位誤差と距離誤差の両方の内訳を示す。この場合、方位誤差インジケータ148と距離誤差インジケータ146のどちらが選択された場合にも同じ内容の誤差内訳156を表示させてもよい。なお、誤差内訳は、モデルの各説明変数の有効カテゴリ係数の比率以外の情報を示すものでもよい。例えば、誤差内訳は、モデルの各説明変数の名称のみを示すものであってもよく、また、方位誤差の値または距離誤差の値を示すものであってもよい。
以上、本開示を第2実施例をもとに説明した。第2実施例は例示であり、各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解されるところである。
上記第2実施例では、シミュレーション結果画像をユーザインタフェース12へ提供して表示させたが、変形例として、シミュレーション結果画像を所定の記憶装置に記憶させてもよい。例えば、シミュレーション制御部10は、表示制御部128に代えて、または表示制御部128とともに、複数シチュエーションの車両シミュレーションの結果を示す複数のシミュレーション結果画像140を所定の記憶部に記憶させる結果画像保存部(不図示)をさらに備えてもよい。表示制御部128は、記憶部に記憶された複数のシミュレーション結果画像のうちユーザから指定された1つ以上のシミュレーション結果画像をユーザインタフェース12に表示させてもよい。
第2実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
[項目2−1]
車両の周辺の状態を検知する検知部について、シミュレーションのパラメータとして前記車両の周辺の状態の真値が与えられた場合に前記検知部による前記車両の周辺の状態の検知結果を推定する推定部と、
前記シミュレーションの結果を示す画像として、前記車両の周辺の状態の真値と、前記検知部による検知結果の推定値の両方を含み、前記真値と前記推定値とを異なる態様で示す画像を生成する生成部と、
を備える車両シミュレーションシステム。
この車両シミュレーションシステムによると、車両の周辺の状態の真値と、検知部による検知結果(推定値)との比較が容易なシミュレーション結果を提供できる。これにより、例えば、検知部が用いる検知アルゴリズムの評価や改善を一層効果的に支援することができる。
[項目2−2]
前記シミュレーションの結果を示す画像は、前記真値と前記推定値との差を示す画像をさらに含む、
項目2−1に記載の車両シミュレーションシステム。
この車両シミュレーションシステムによると、車両の周辺の状態の真値と、検知部による検知結果(推定値)との差を直観的に把握可能なシミュレーション結果を提供できる。
[項目2−3]
前記シミュレーションの結果を示す画像は、所定の操作に応じて、前記真値と前記推定値との差の内訳をさらに表示するよう構成される、
項目2−1または2−2に記載の車両シミュレーションシステム。
この車両シミュレーションシステムによると、車両の周辺の状態の真値と、検知部による検知結果(推定値)との差の詳細を把握可能なシミュレーション結果を提供できる。
[項目2−4]
前記推定部は、前記車両の周辺の状態に関する複数項目の真値を説明変数とし、前記検知部による前記車両の周辺の状態の検知結果と真値との差を目的変数とするセンサモデルに、シミュレーションのパラメータとして前記車両の周辺の状態に関する複数項目の真値を入力することにより前記検知部による検知結果を推定し、
前記真値と前記推定値との差の内訳は、複数項目の説明変数の重みを示すものである、
項目2−3に記載の車両シミュレーションシステム。
この車両シミュレーションシステムによると、車両の周辺の状態の真値と、検知部による検知結果(推定値)との差を生じさせた主な要因を把握可能なシミュレーション結果を提供できる。
[項目2−5]
前記生成部は、前記シミュレーションの結果を示す画像として、前記検知部による検知範囲を示す画像をさらに生成し、前記検知範囲の各位置の色を、前記検知部による検知率に応じた色に設定する、
項目1から4のいずれかに記載の車両シミュレーションシステム。
この車両シミュレーションシステムによると、検知部による検知範囲と検知率を直観的に把握可能なシミュレーション結果を提供できる。
[項目2−6]
車両の周辺の状態を検知する検知部について、シミュレーションのパラメータとして前記車両の周辺の状態の真値が与えられた場合に前記検知部による前記車両の周辺の状態の検知結果を推定し、
前記シミュレーションの結果を示す画像として、前記車両の周辺の状態の真値と、前記検知部による検知結果の推定値の両方を含み、前記真値と前記推定値とを異なる態様で示す画像を生成する、
ことをコンピュータが実行する車両シミュレーション方法。
この車両シミュレーション方法によると、車両の周辺の状態の真値と、検知部による検知結果(推定値)との比較が容易なシミュレーション結果を提供できる。これにより、例えば、検知部が用いる検知アルゴリズムの評価や改善を一層効果的に支援することができる。
[項目2−7]
車両の周辺の状態を検知する検知部について、シミュレーションのパラメータとして前記車両の周辺の状態の真値が与えられた場合に前記検知部による前記車両の周辺の状態の検知結果を推定し、
前記シミュレーションの結果を示す画像として、前記車両の周辺の状態の真値と、前記検知部による検知結果の推定値の両方を含み、前記真値と前記推定値とを異なる態様で示す画像を生成する、
ことをコンピュータに実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、車両の周辺の状態の真値と、検知部による検知結果(推定値)との比較が容易なシミュレーション結果を提供できる。これにより、例えば、検知部が用いる検知アルゴリズムの評価や改善を一層効果的に支援することができる。
<第3実施例>
本実施例に関して、第1実施例、第2実施例と相違する点を中心に以下説明し、共通する点の説明を省略する。本実施例の構成要素のうち第1実施例、第2実施例の構成要素と同一または対応する構成要素には同一の符号を付して説明する。
第3実施例では、センサモデルとして、大規模な実環境データに基づく検知結果を用いて、数量化分析の統計処理方法によりセンシング検知率モデル(以下「検知率モデル」とも呼ぶ。)を生成する。この検知率モデルを用いる車両シミュレーションシステムは、CGを用いるものと比べると画像処理の必要がないため、計算コストが低い。また、現実に即したシミュレーション結果を得やすいというメリットがある。
第3実施例の検知率モデルは、車両の周辺が映る画像データから当該車両周辺の状態を検知する検知部について、その検知部による検知率を推定する数理モデルである。また、検知率モデルは、車両周辺の状態に関する複数項目の真値を説明変数とし、車両に搭載された検知部により上記車両周辺の状態が検知される確率(すなわち「検知率」)を目的変数とする。上記の検知部は、車両に搭載されるセンサ装置であり、例えば、カメラ、レーダー装置、ライダー装置、ソナーの少なくとも1つを含んでもよい。
図15は、図9に対応するものであり、検知率モデル構築のためのサンプルデータの例を示す。検知率モデル構築のための説明変数は、検知率に影響を与える複数個の要因として、(1)車両(実質的に検知部と同じ)から検知対象物までの距離、(2)車両から検知対象物への方位、(3)車両周辺の照度、(4)検知対象物の姿勢を含む。各要因は、複数のカテゴリに分けられている。各要因において該当するカテゴリの値には「1」が設定され、非該当のカテゴリの値には「0」が設定される。また、検知率モデル構築のための目的変数には、検知部により検知された場合(検知OKの場合)に「1」が設定され、検知部により検知されなかった場合(検知NGの場合)に「0」が設定される。
第3実施例において検知率を求める方法を説明する。要因数をK(図15ではK=4)とし、各要因のカテゴリ数をl1,l2,・・・,lkとする。複数個のサンプルのうち検知部により検知されたサンプル群をグループ1とし、その個数をn1とする。また、複数個のサンプルのうち検知部により検知されなかったサンプル群をグループ2とし、その個数をn2とする。全サンプル数N=n1+n2である。
グループ#rのサンプル#jが、要因#iのカテゴリ#αに対してとる値を、ダミー変数xi(α) r(j)で表す。既述したように、グループ#rのサンプル#jが、要因#iのカテゴリ#αに対して反応した(yes)場合、xi(α) r(j)=1となり、反応しない(no)場合、xi(α) r(j)=0とする。
i=1,2,・・・,K;α=l1,l2,・・・,lk
r=1,2,・・・,M(サンプルのグループ);j=1,2,・・・,nr
第3実施例では、サンプルは検知OKと検知NGの2つのグループに分け、M=2。
ここで、グループ#rのサンプル#jの値y
r(j)は、式3のように一般化できる。
a
i(α)は要因(説明変数)#iのカテゴリ#αの係数(ウエイト)とも呼ぶ。
検知率モデル構築時、外的な基準によって分類された各グループが良く分離されるサンプルの値yr(j)が算出されるように、各カテゴリの適切なウエイトai(α)を求める。具体的には、各サンプルの値yr(j)の全分散σ2と、グループ間分散(言い換えれば級間分散)σB 2との比η2を基準として、η2を最大にするyr(j)の値を求め、すなわち各カテゴリのウエイトai(α)を算出する。
すなわち、第3実施例では、複数個のサンプルのデータ(後述の真値生成部200により検知された車両周辺の状態(真値)に関するデータを含む)を検知率モデルに入力した場合に検知率モデルが出力する複数個の値について、複数個の値の全分散と、グループ1とグループ2間の分散との比が最大になるように各説明変数の重みを求めることにより検知率モデルを生成する。
グループ間の分離の良さを測る尺度である上記η
2(以下「相関比」とも呼ぶ。)は、式4で表される。
ここで、各グループ内の平均は、式5で表される。
式5中の
ーx
i(α) rは、式6を意味する。
rは、1(検知OK)、または2(検知NG)である。
全体の平均は、式7で表される。
また、式7中の
ーx
i(α)は、式8を意味する。
全分散σ
2は、式9で表される。
グループ間分散σ
B 2は、式10で表される。
以上より、相関比η
2は、L個の変数a
g(β)(g=1,2,・・・,K, β=1,2,・・・,l
g)の関数となる。Lは全カテゴリの数であり、式11で表される。
ここで、式12に示すように相関比η
2を最大にするa
g(β)を求めるため、η
2をa
g(β)で微分して0とおくと、式13が導出される。
式13を解くことで、相関比η2を最大にする各カテゴリのウエイトai(α)(i=1,2,・・・,K, α=1,2,・・・,li)を求めることができる。
a
i(α)(i=1,2,・・・,K, α=1,2,・・・,l
i)の求め方を見やすくするため、以下ではベクトルと行列を用いて演算を説明する。
まず、カテゴリウエイトからなるベクトルをベクトルAとする(式14)。
次に、グループ内平均値からなるN行L列の行列を
ーX
Bとする(式15)。
全サンプル平均値からなるN行L列の行列を
ーXとする(式16)。
全サンプルからなるN行L列の行列をXとする(式17)。
また、二つのL行L列の行列S
B(式18)とS(式19)を作ると、式13は以下の式20で表される:
即ち、式21となる。
式21を解いて最大のη
2に対応するAを求めればよい。ここでは詳細な証明は割愛する。各要因内でダミー変数の和は1となる(式21−2)。
そのため、Sの階数は(L−K)より大きくならないため、各要因の第1カテゴリのウェイトを0として解くことにする。ベクトルA、行列X、
ーX
B、
ーXから各要因の第1カテゴリに対応する列を除いたものをそれぞれA
*、X
*、
ーX
B *、
ーX
*とし、さらにS
B *とS
*を式22と式23で表すと、式21に対応する式は式24になる。
次に、式24によりη
2とA
*を求める。
Fは式25を満たす下三角行列とし、式24より、η
2は式26となる固有方程式の根(最も大きい根)として求められる。
一方、A
*は方程式26の固有値に対応するベクトルから求められる(式27)。ここでCは固有ベクトルである。
ここで、式27の両辺にFをかけ、I=F′F′
−1を代入すると、式28が得られる。式28を式24と比較すれば、式29が分かる。即ちカテゴリのウエイトのベクトルA
*は式29で求められる。
各カテゴリのウエイトを求めたら、検知率モデルは、式30で表される。
式30により求まる検知率yは、最小0、最大1の値にする、即ち、0より小さい値になった場合0とし、1より大きい値になった場合1とする。
図16は、第3実施例のセンサモデル生成装置220の機能ブロックを示すブロック図である。センサモデル生成装置220は、センサデータ記憶部22、参照データ記憶部24、タグデータ記憶部26、画像解析部28、真値生成部200、検知結果分類部202、真値量子化部34、タグ量子化部36、モデル生成部38を備える。これら複数の機能ブロックのうち少なくとも一部の機能ブロックの機能が実装されたコンピュータプログラムが、所定の記録媒体を介してセンサモデル生成装置220のストレージにインストールされてもよく、ネットワークを介してセンサモデル生成装置220のストレージにインストールされてもよい。センサモデル生成装置220のCPUは、このコンピュータプログラムをメインメモリに読み出して実行することにより、各機能ブロックの機能を発揮してもよい。
センサデータ記憶部22、参照データ記憶部24には、現実の車両を用いた試験走行等において収集されたデータを記憶する。センサデータ記憶部22は、検知の対象物について各種車載センサによるセンシング結果を記憶する。実施例では、センサデータ記憶部22は、車載カメラにより撮像された複数の画像データを記憶し、例えば、車両の左前方3メートル先に歩行者がいる状態を映した画像データ、車両の正面方向6メートル先に歩行者がいる状態を映した画像データ、・・・等を記憶する。
参照データ記憶部24は、検知の対象物に関する真値検出用のデータ(「参照データ」とも呼ぶ。)を記憶する。実施例では、参照データ記憶部24は、参照データとして、LIDAR(Light Detection and Ranging)により収集されたデータであって、実質的に対象物の位置(車両から対象物までの距離と方向)の真値に関するデータを記憶する。
タグデータ記憶部26は、タグデータとして、ユーザ(例えば開発者や試験者等)により設定されたデータを記憶する。第3実施例のタグデータは、検知対象物の姿勢を示すデータと、試験走行時の車両周辺の照度を示すデータを含む。なお、タグデータは、天気、路面の種類(例えばアスファルトまたは土)、温度、季節等、様々なデータを含んでもよい。
画像解析部28は、車両に搭載されるセンサ装置に対応するものであり、車両の挙動を制御するための車両周辺の状態を検知する。画像解析部28は、第1検知部として、センサデータ記憶部22に記憶された車両の周辺が映る画像データをもとに、車両周辺の状態を検知する。例えば、画像解析部28は、車両周辺の状態として、検知対象物の位置を検知し、具体的には、車両周辺に存在する人や物の車両からの距離と方向を検知する。
真値生成部200は、第1実施例の真値検知部30に対応する。真値生成部200は、第2検知部として、参照データ記憶部24に記憶された参照データをもとに、画像解析部28より高い精度で車両周辺の状態を検知する。真値生成部200も、画像解析部28と同様に、車両周辺の状態として、検知対象物の位置を検知し、具体的には、車両周辺に存在する人や物の車両からの距離と方向を検知する。
真値量子化部34は、真値生成部200により検知された車両周辺の状態に関するデータを量子化する。例えば、真値量子化部34は、真値生成部200による検知結果(例えば車両から対象物までの距離と方向)を、予め定められた説明変数の複数のカテゴリのいずれかに分類する。真値量子化部34は、図15に示したように、車両から対象物までの距離と方向の真値に該当するカテゴリの値(ダミー変数)を「1」に設定し、非該当のカテゴリの値(ダミー変数)を「0」に設定する。
タグ量子化部36は、タグデータ記憶部26に記憶されたタグデータを量子化する。例えば、タグ量子化部36は、検知対象物の姿勢と照度とを予め定められた説明変数の複数のカテゴリのいずれかに分類する。すなわち、該当するカテゴリの値を(ダミー変数)を「1」に設定し、非該当のカテゴリの値(ダミー変数)を「0」に設定する。
検知結果分類部202は、サンプルごとに、真値生成部200により検知された車両周辺の状態が、画像解析部28により検知されたか否かを判定する。例えば、真値生成部200により検知された対象物の距離および方向と、画像解析部28により検知された対象物の距離および方向との差が所定の閾値以内の場合、検知結果分類部202は、真値生成部200により検知された車両周辺の状態が、画像解析部28により検知されたと判定してもよい。一方、上記の差が上記の閾値を超過する場合、検知結果分類部202は、真値生成部200により検知された車両周辺の状態が、画像解析部28により検知されないと判定してもよい。上記の閾値は、第3実施例の車両シミュレーションシステム110(センサモデル部50)を用いた実験等により適切な値が決定されてもよい。
検知結果分類部202は、真値生成部200により検知された車両周辺の状態が、画像解析部28により検知されたか否かに応じて、各サンプルをグループ1(画像解析部28により検知されたもの)とグループ2(画像解析部28により検知されないもの)のいずれかに分類する。あるサンプルをグループ1に分類した場合、そのサンプルデータの検知OK/NGの値を「1」に設定し、グループ2に分類した場合、そのサンプルデータの検知OK/NGの値を「0」に設定する。
以上の画像解析部28、真値生成部200、真値量子化部34、タグ量子化部36、検知結果分類部202の処理は、同タイミングで収集された画像データと参照データ、および、そのタイミングにおけるタグデータの組み合わせであるサンプルごとに実行される。モデル生成部38は、図15に示した形式の複数個のサンプルデータをもとに、検知率モデルを生成する。
モデル生成部38は、真値生成部200により検知された車両周辺の状態を説明変数とし、真値生成部200により検知された車両周辺の状態が、画像解析部28により検知される確率を目的変数とする検知率モデルを生成する。具体的には、モデル生成部38は、図15に示した形式の複数個のサンプルデータをもとに、式3から式30に示した計算を実行することにより、各カテゴリのウエイトai(α)を算出して、相関比η2が最大となる検知率モデル(式30)を生成する。モデル生成部38は、生成した検知率モデルをモデル記憶部40に格納する。
次に、センサモデル生成装置220により生成されたセンサモデル(距離誤差モデル、方位誤差モデルおよび検知率モデル)を使用する第3実施例の車両シミュレーションシステムを説明する。第3実施例の車両シミュレーションシステム110の構成は、図4に示した第1実施例の車両シミュレーションシステム110の構成と同様である。
第3実施例の車両シミュレーションシステム110のセンサモデル部50は、シミュレーション制御部10からシミュレーションのパラメータとして車両周辺の状態の真値が与えられた場合に、センサモデル生成装置220により予め生成されたセンサモデルを用いて、車両周辺の状態を検知する検知部による検知結果を推定する。
図17は、第3実施例のセンサモデル部50の機能ブロックを示すブロック図である。センサモデル部50は、モデル記憶部40、真値量子化部54、タグ量子化部52、誤差導出部56、検知結果生成部210、検知率算出部212、出力部214を備える。これら複数の機能ブロックのうち少なくとも一部の機能ブロックの機能が実装されたコンピュータプログラムが、所定の記録媒体を介してセンサモデル部50(またはセンサモデル部50を実現する情報処理装置)のストレージにインストールされてもよく、ネットワークを介してセンサモデル部50のストレージにインストールされてもよい。センサモデル部50のCPUは、このコンピュータプログラムをメインメモリに読み出して実行することにより、各機能ブロックの機能を発揮してもよい。
モデル記憶部40は、第2実施例に記載した距離誤差モデルと方位誤差モデル(総称して「誤差モデル」とも呼ぶ。)、および、第3実施例に記載した検知率モデルを記憶する。
真値量子化部54は、シミュレーション制御部10から入力された、シミュレーションのパラメータとしての車両周辺の状態に関する真値データ(具体的には対象物の距離および方向)を受け付ける。真値量子化部54は、真値量子化部34の処理と同様に、受け付けた真値データを量子化し、各センサモデルにおいて予め定められた説明変数の複数カテゴリの中から該当するカテゴリを識別する。具体的には、真値量子化部54は、誤差モデルと検知率モデルへの入力データとして、各モデルの説明変数である距離と方位について、該当するカテゴリの値を「1」とし、非該当のカテゴリの値を「0」とした入力データを生成する。
タグ量子化部52は、シミュレーション制御部10から入力された、シミュレーションのパラメータとしての車両周辺の状態に関するタグデータ(具体的には対象物の姿勢および照度)を受け付ける。タグ量子化部52は、受け付けたタグデータを量子化し、各センサモデルにおいて予め定められた説明変数の複数カテゴリの中から該当するカテゴリを識別する。具体的には、タグ量子化部52は、誤差モデルと検知率モデルへの入力データとして、各モデルの説明変数である照度と姿勢について、該当するカテゴリの値を「1」とし、非該当のカテゴリの値を「0」とした入力データを生成する。
誤差導出部56は、真値量子化部54により生成された、真値データを量子化した入力データと、タグ量子化部52により生成された、タグデータを量子化した入力データを誤差モデルに入力し、誤差モデルから出力された距離および方位の誤差を取得する。具体的には、誤差導出部56は、距離誤差モデルの複数のカテゴリについて、真値データおよびタグデータの値に該当するカテゴリのダミー変数の値を1に設定し、非該当のカテゴリのダミー変数の値を0に設定することにより、ダミー変数の値が1となるカテゴリのウエイトを用いて距離誤差モデルの目的変数である距離誤差を算出する。方位誤差モデルを用いた方位誤差の算出方法も同様である。
検知結果生成部210は、第1実施例および第2実施例の模擬値導出部58に対応するものであり、検知部(画像解析部28)による画像に基づく検知結果を推定する第1推定部として機能する。具体的には、検知結果生成部210は、誤差導出部56により取得された距離誤差および方位誤差を、シミュレーションのパラメータとしての車両周辺の状態に関する真値データ(対象物の距離および方向)に加算することで、検知部(画像解析部28)による検知結果の推定値を生成する。
検知率算出部212は、シミュレーションのパラメータとしての車両周辺の状態の真値データの量子化データと、タグデータの量子化データを、検知率モデルに入力することにより、検知部(画像解析部28)による画像に基づく検知率を推定する第2推定部として機能する。具体的には、検知率算出部212は、検知率モデルの複数の説明変数の複数のカテゴリについて、真値データおよびタグデータの値に該当するカテゴリのダミー変数の値を1に設定し、非該当のカテゴリのダミー変数の値を0に設定することにより、ダミー変数の値が1となるカテゴリのウエイトを用いて検知率モデルの目的変数である検知率を算出する。
出力部214は、検知率算出部212により算出された検知率の推定値に応じて、検知結果生成部210により生成された、検知部(画像解析部28)による検知結果の推定値をシミュレーション制御部10へ出力するか否かを決定する。例えば、車両周辺に歩行者が存在するシミュレーションにおいて、検知率算出部212により上記歩行者の検知率が30%と推定された場合、出力部214は、検知部(画像解析部28)による検知結果の推定値(歩行者の距離および方向)を30%の確率でシミュレーション制御部10へ送信してもよい。
既述したように、センサモデル部50から出力された検知部(画像解析部28)による検知結果の推定値は、シミュレーション制御部10を介して、車両モデル部18に入力される。言い換えれば、センサモデル部50は、検知部(画像解析部28)による検知結果の推定値を、シミュレーション制御部10を介して、車両モデル部18へ出力する。したがって、車両モデル部18は、検知率算出部212により算出された検知率の推定値にしたがって、シミュレーションにおける車両の挙動を決定する。言い換えれば、検知率算出部212により算出された検知率は、車両モデル部18によるシミュレーション結果に反映される。
以上の構成による動作を説明する。
まず、図16を参照しつつ、センサモデル生成装置220の動作の例を説明する。車両シミュレーションシステムを顧客やパートナー企業に提供すべき車載機器の開発者は、実際に車両を走行させて、車載カメラで車外の歩行者を撮像し、複数サンプルの撮像画像をセンサデータ記憶部22に記憶させる。それとともに開発者は、LIDAR装置で上記歩行者の位置を計測させ、複数サンプルの位置情報(真値)を参照データ記憶部24に記憶させる。さらに開発者は、照度および歩行者の姿勢を含む複数サンプルのタグデータをタグデータ記憶部26に記憶させる。
画像解析部28は、サンプルごとに、センサデータ記憶部22に格納された画像をもとに、歩行者までの距離と方位を検知する。真値生成部200は、サンプルごとに、参照データ記憶部24に格納された位置情報(真値)をもとに、歩行者までの距離と方位の真値を検知する。真値量子化部34は、サンプルごとに、歩行者までの距離と方位の真値のカテゴリを特定する。タグ量子化部36は、サンプルごとに、タグデータのカテゴリを特定する。
検知結果分類部202は、各サンプルをグループ1(真値生成部200による検知結果が画像解析部28でも検知されたもの)とグループ2(真値生成部200による検知結果が画像解析部28では未検知)のいずれかに分類する。検知結果分類部202は、各サンプルの「検知OK/NG」の値として、グループ1には「1」を設定し、グループ2には「0」を設定する。
モデル生成部38は、真値生成部200による検知結果の量子化データ、および、タグデータの量子化データを説明変数とし、「検知OK/NG」の値を目的変数として、グループ間分散対全分散の比が最大になるように検知率モデルを生成する。モデル生成部38は、検知率モデルをモデル記憶部40に格納する。第3実施例のセンサモデル生成装置220によると、現実の環境に則した検知率を推定可能な検知率モデルであり、かつ、グループ1とグループ2とが良く分離される適切な検知率モデルを生成することができる。
なお、第3実施例のセンサモデル生成装置220は、第2実施例と同様の方法で、距離誤差モデルと方位誤差モデルをさらに生成して、モデル記憶部40に格納する。
次に、図4および図17を参照しつつ、車両シミュレーションシステム110の動作の例を説明する。ここでは、第1実施例と同様に、車両の近傍に歩行者が存在する場合の車両の挙動をシミュレーションすることとする。ユーザは、歩行者の位置と姿勢、車両周辺の照度をシミュレーションのパラメータとしてユーザインタフェース12へ入力する。環境データ生成部14は、ユーザインタフェース12で受け付けられたデータをもとに、車両から歩行者までの距離と方向を示す真値データを生成し、また、歩行者の姿勢と照度を示すタグデータを生成する。
シミュレーション制御部10は、環境データ生成部14により生成された真値データおよびタグデータをセンサモデル部50に入力する。センサモデル部50の真値量子化部54は、真値データ(例えば図15の距離および方位)のカテゴリを特定し、真値データの量子化データを生成する。センサモデル部50のタグ量子化部52は、タグデータ(例えば図15の照度および姿勢)のカテゴリを特定し、タグデータの量子化データを生成する。
センサモデル部50の誤差導出部56は、真値データの量子化データと、タグデータの量子化データとを距離誤差モデルに入力することにより距離誤差を取得する。また、誤差導出部56は、真値データの量子化データと、タグデータの量子化データとを方位誤差モデルに入力することにより方位誤差を取得する。センサモデル部50の検知結果生成部210は、シミュレーション制御部10から入力された、車両から歩行者までの距離と方向を示す真値データに距離誤差と方位誤差を足すことにより、車両の検知部による検知結果の推定値を生成する。
センサモデル部50の検知率算出部212は、真値データの量子化データと、タグデータの量子化データとを検知率モデルに入力することにより、車両の検知部による検知率を算出する。センサモデル部50の出力部214は、検知率算出部212により算出された検知率(0以上1以下の値)に基づく確率で、検知結果生成部210により生成された、車両の検知部による検知結果の推定値をシミュレーション制御部10へ出力する。
シミュレーション制御部10は、センサモデル部50から出力された車両の検知部による検知結果の推定値を車両モデル部18へ入力する。車両モデル部18は、車両の検知部による検知結果の推定値をもとに、車両の挙動をシミュレーションする。シミュレーション制御部10は、車両モデル部18によるシミュレーション結果をユーザインタフェース12に表示させ、または、所定の記憶装置に格納する。
第3実施例の車両シミュレーションシステム110によると、車両周辺の状態を画像処理により認識する必要がないため、計算コストを低減することができる。また、車両周辺の実際の状態をもとに生成した検知率モデルを使用することで、現実に即したシミュレーション結果を得ることができる。さらにまた、車載装置等のモデルベース開発を一層効率化することができる。
以上、本開示を第3実施例をもとに説明した。この実施例は例示であり、実施例の各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解されるところである。
変形例を説明する。上記第3実施例では言及していないが、図4のセンサモデル部50は図18の機能ブロック図の構造を採用してもよい。図18において、検知率算出部212は、段落0152で述べたように、検知率を算出し、誤差導出部56へ出力する。誤差導出部56は、検知率算出部212により算出された検知率の推定値を確率にし、段落0150で述べた誤差算出の処理を行うかどうかを決める。誤差導出部56は、確率をもとに検出できなかった結果となった場合、「検知できなかった」という結果を検知結果生成部210へ出力する。一方、検知できた結果となった場合、誤差導出部56は、段落0150で述べた処理を行い、距離誤差と方位誤差を算出し、「検知できた」という結果と一緒に、検知結果生成部210へ出力する。検知結果生成部210は、「検知できた」という結果を入力された場合、段落0151で述べた処理で検知部(画像解析部28)による検知結果の推定値を生成し、出力する。一方、「検知できなかった」を入力された場合、検知結果生成部210は、「空」の検知結果を出力する。
第3実施例で説明した検知率モデルの生成方法は、第2実施例にも適用可能である。例えば、第3実施例で説明した方法で生成した検知率モデルを第2実施例の車両シミュレーションシステム110に適用し、第2実施例で説明したシミュレーション結果画像(図12等)を生成してもよい。
第3実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
[項目3−1]
車両の周辺が映る画像データから前記車両周辺の状態を検知する第1検知部と、
前記第1検知部より高い精度で、前記車両周辺の状態を検知する第2検知部と、
前記車両のシミュレーションシステムにおいて前記第1検知部による検知率を推定するためのモデルであって、前記第2検知部により検知された状態を説明変数とし、前記第2検知部により検知された状態が、前記第1検知部により検知される確率を目的変数とするモデルを生成する生成部と、
を備えるモデル生成装置。
このモデル生成装置によると、第1検知部による検知率を反映した車両シミュレーションを実現するためのモデルを生成することができる。また、モデルの生成において車両の周辺が映る画像データを用いることで、現実に即した検知率を出力するモデルを実現することができる。また、車両シミュレーションにおいて、各ケースの画像を用意することが不要になり、かつ、各ケースの画像を解析することが不要になり、シミュレーションコストを低減することができる。
[項目3−2]
前記生成部は、前記第2検知部により検知された状態に関するデータを含む複数個のサンプルをもとに前記モデルを生成し、
前記複数個のサンプルを、前記第2検知部により検知された状態が前記第1検知部により検知された第1グループと、前記第2検知部により検知された状態が前記第1検知部により検知されない第2グループとに分類するとき、
前記複数個のサンプルの前記第2検知部により検知された状態に関するデータを、前記モデルに入力した場合に前記モデルが出力する複数個の値について、前記第1グループと前記第2グループ間の分散と、前記複数個の値の全分散との比が最大になるよう前記モデルを生成する、
項目3−1に記載のモデル生成装置。
このモデル生成装置によると、第1グループと第2グループとが良く分離される適切なモデルを生成することができる。
[項目3−3]
車両の周辺が映る画像データから前記車両周辺の状態を検知する検知部について、前記検知部による検知率を推定するためのモデルであって、前記車両周辺の状態の真値を説明変数とし、前記車両周辺の状態が前記検知部により検知される確率を目的変数とするモデルを記憶する記憶部と、
シミュレーションのパラメータとしての前記車両周辺の状態の真値を前記モデルに入力することにより、前記検知部による検知率を推定する推定部と、
前記推定部により推定された検知率にしたがって前記車両の挙動をシミュレーションするシミュレーション部と、
を備える車両シミュレーションシステム。
この車両シミュレーションシステムによると、車両周辺の状態を画像処理により認識する必要がないため、計算コストを低減することができる。また、車両周辺の実際の状態をもとに生成したモデルを使用することで、現実に即した有用なシミュレーション結果を得ることができる。さらにまた、車載装置等のモデルベース開発を一層効率化することができる。
[項目3−4]
前記推定部は、前記検知部による検知結果をさらに推定し、前記検知部による検知率の推定値に応じて、前記検知部による検知結果の推定値を前記シミュレーション部に出力するか否かを決定する、
項目3−3に記載の車両シミュレーションシステム。
この車両シミュレーションシステムによると、検知部の検知率を反映した、現実に即した有用なシミュレーション結果を得ることができる。
[項目3−5]
第1検知部が、車両の周辺が映る画像データから前記車両周辺の状態を検知し、
第2検知部が、前記第1検知部より高い精度で、前記車両周辺の状態を検知し、
前記車両のシミュレーションシステムにおいて前記第1検知部による検知率を推定するためのモデルであって、前記第2検知部により検知された状態を説明変数とし、前記第2検知部により検知された状態が、前記第1検知部により検知される確率を目的変数とするモデルを生成する、
モデル生成方法。
このモデル生成方法によると、第1検知部による検知率を反映した車両シミュレーションを実現するためのモデルを生成することができる。また、モデルの生成において車両の周辺が映る画像データを用いることで、現実に即した検知率を出力するモデルを実現することができる。また、車両シミュレーションにおいて、各ケースの画像を用意することが不要になり、かつ、各ケースの画像を解析することが不要になり、シミュレーションコストを低減することができる。
[項目3−6]
車両の周辺が映る画像データから前記車両周辺の状態を検知する検知部について、前記検知部による検知率を推定するためのモデルであって、前記車両周辺の状態の真値を説明変数とし、前記車両周辺の状態が前記検知部により検知される確率を目的変数とするモデルを記憶し、
シミュレーションのパラメータとしての前記車両周辺の状態の真値を前記モデルに入力することにより、前記検知部による検知率を推定し、
推定された検知率をもとに前記車両の挙動をシミュレーションする、
車両シミュレーション方法。
この車両シミュレーション方法によると、車両周辺の状態を画像処理により認識する必要がないため、計算コストを低減することができる。また、車両周辺の実際の状態をもとに生成したモデルを使用することで、現実に即した有用なシミュレーション結果を得ることができる。さらにまた、車載装置等のモデルベース開発を一層効率化することができる。
[項目3−7]
第1検知部が、車両の周辺が映る画像データから前記車両周辺の状態を検知し、
第2検知部が、前記第1検知部より高い精度で、前記車両周辺の状態を検知し、
前記車両のシミュレーションシステムにおいて前記第1検知部による検知率を推定するためのモデルであって、前記第2検知部により検知された状態を説明変数とし、前記第2検知部により検知された状態が、前記第1検知部により検知される確率を目的変数とするモデルを生成する、
ことをコンピュータに実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、第1検知部による検知率を反映した車両シミュレーションを実現するためのモデルを生成することができる。また、モデルの生成において車両の周辺が映る画像データを用いることで、現実に即した検知率を出力するモデルを実現することができる。また、車両シミュレーションにおいて、各ケースの画像を用意することが不要になり、かつ、各ケースの画像を解析することが不要になり、シミュレーションコストを低減することができる。
[項目3−8]
車両の周辺が映る画像データから前記車両周辺の状態を検知する検知部について、前記検知部による検知率を推定するためのモデルであって、前記車両周辺の状態の真値を説明変数とし、前記車両周辺の状態が前記検知部により検知される確率を目的変数とするモデルを記憶し、
シミュレーションのパラメータとしての前記車両周辺の状態の真値を前記モデルに入力することにより、前記検知部による検知率を推定し、
推定された検知率をもとに前記車両の挙動をシミュレーションする、
ことをコンピュータに実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、車両周辺の状態を画像処理により認識する必要がないため、計算コストを低減することができる。また、車両周辺の実際の状態をもとに生成したモデルを使用することで、現実に即した有用なシミュレーション結果を得ることができる。さらにまた、車載装置等のモデルベース開発を一層効率化することができる。
上述した実施例および変形例の任意の組み合わせもまた本開示の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。