(57)【要約】【課題】車両全体の挙動から不正及びその予兆を検知することができる検知装置、コンピュータプログラム、検知方法及び学習モデルを提供する。【解決手段】  車両に搭載され、該車両の異常を検知する検知装置において、前記車両の車載機器から前記車両の内外で得られるセンサデータを取得する取得部と、該取得部が取得した前記センサデータに基づいて、前記車両の挙動を推定する推定部と、前記推定部が推定した挙動に基づいて前記車両の異常を検知する検知部とを備える検知装置。【選択図】図２
2019214249.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載され、該車両の異常を検知する検知装置であって、
前記車両の車載機器から前記車両の内外で得られるセンサデータを取得する取得部と、
該取得部が取得した前記センサデータに基づいて、前記車両の挙動を推定する推定部と、
前記推定部が推定した挙動に基づいて前記車両の異常を検知する検知部と
を備える検知装置。
【請求項２】
前記検知部は、前記推定部が推定した挙動と前記車両の実際の挙動とを比較することにより前記車両の異常を検知する請求項１に記載の検知装置。
【請求項３】
前記車両に搭載されており、センサデータに基づき前記車載機器を制御する制御機器から独立して動作する請求項１又は請求項２に記載の検知装置。
【請求項４】
前記推定部は、前記センサデータを入力データとし、前記車両の挙動を示す挙動データを出力データとする学習モデルにより推定する請求項１から請求項３のいずれか一項に記載の検知装置。
【請求項５】
前記車両の走行中に得られるセンサデータと、前記車両の運転者の操作に基づく前記車両の挙動を示す挙動データとを教師データとして前記学習モデルを学習させる学習処理部を備える請求項４に記載の検知装置。
【請求項６】
前記センサデータは、前記車両に搭載されたセンサが取得した生データ、又はセンサからの出力波形であり、
前記挙動データは、前記車両の走行に係る制御信号、又は駆動電力波形である
請求項４又は請求項５に記載の検知装置。
【請求項７】
前記学習処理部は、前記車両の運転者毎に学習モデルを分別して学習させる請求項５に記載の検知装置。
【請求項８】
前記検知部が前記車両の異常を検知した場合、前記車両の異常を示す信号を出力する出力部を備える
請求項１から請求項７のいずれか一項に記載の検知装置。
【請求項９】
前記車両から取り外された場合に通知を行う通知部を備える請求項１から請求項８のいずれか一項に記載の検知装置。
【請求項１０】
コンピュータに、車両の異常を検知させるためのコンピュータプログラムであって、
コンピュータに、
前記車両の車載機器から前記車両の内外で得られるセンサデータを取得する処理と、
取得した前記センサデータに基づいて、前記車両の挙動を推定する処理と、
推定した挙動に基づいて前記車両の異常を検知する処理と
を実行させるコンピュータプログラム。
【請求項１１】
車両の異常を検知させる検知方法であって、
前記車両の車載機器から前記車両の内外で得られるセンサデータを取得し、
取得した前記センサデータに基づいて、前記車両の挙動を推定し、
推定した挙動に基づいて前記車両の異常を検知する検知方法。
【請求項１２】
車両の車載機器から取得された前記車両の内外で得られるセンサデータが入力される入力層と、
前記センサデータに対応する車両の挙動を示す挙動データを出力する出力層と、
前記車両の走行中のセンサデータ、及び前記車両の運転操作に基づく前記車両の挙動を教師データとして前記センサデータと前記挙動データとの間を紐づける中間層と
を含み、
前記車両の走行中のセンサデータを前記入力層へ入力し、前記中間層で演算することで前記センサデータに対応する挙動データを推定する処理に用いられる学習モデル。
【請求項１３】
前記車両に搭載されており、前記センサデータに基づき制御信号を出力する制御機器に基づく前記車両の挙動と、
前記センサデータに対応して推定される挙動データが示す挙動とを比較して前記制御機器の異常を検知する処理に用いられる請求項１２に記載の学習モデル。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、検知装置、コンピュータプログラム、検知方法及び学習モデルに関する。
【背景技術】
【０００２】
近年、車両には車載機器を電気的に制御する複数のＥＣＵ（Electronic Control Unit ）を相互ＣＡＮ（Controller Area Network ）、ＬＩＮ（Local Interconnect Network）等の規格により通信可能とした車載制御システムが搭載されている。
【０００３】
特許文献１には、車載制御システムにて送受信されるメッセージを監視し、攻撃者が不正な情報を送出したことを検知する精度を向上させる技術が開示されている。検知された不正な情報は破棄するか、又は送信元との通信を遮断する等して安全が図られる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−０４６４３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１にて提案されているような不正な情報の検知のみならず、各ＥＣＵにて、自己診断を行って車載制御システムの安全が図られている。しかしながら、車載制御システムの安全対策はこれらの不正検知、自己診断で完全ではない。
【０００６】
本願は、車両全体の挙動から不正及びその予兆を検知することができる検知装置、コンピュータプログラム、検知方法及び学習モデルを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の実施の形態に係る検知装置は、車両に搭載され、該車両の異常を検知する検知装置であって、前記車両の車載機器から前記車両の内外で得られるセンサデータを取得する取得部と、該取得部が取得した前記センサデータに基づいて、前記車両の挙動を推定する推定部と、前記推定部が推定した挙動に基づいて前記車両の異常を検知する検知部とを備える。
【０００８】
本発明の実施の形態に係るコンピュータプログラムは、コンピュータに、車両の異常を検知させるためのコンピュータプログラムであって、コンピュータに、前記車両の車載機器から前記車両の内外で得られるセンサデータを取得する処理と、取得した前記センサデータに基づいて、前記車両の挙動を推定する処理と、推定した挙動に基づいて前記車両の異常を検知する処理とを実行させる。
【０００９】
本発明の実施の形態に係る検知方法は、車両の異常を検知させる検知方法であって、前記車両の車載機器から前記車両の内外で得られるセンサデータを取得し、取得した前記センサデータに基づいて、前記車両の挙動を推定し、推定した挙動に基づいて前記車両の異常を検知する。
【００１０】
本発明の実施の形態に係る学習モデルは、車両の車載機器から取得された前記車両の内外で得られるセンサデータが入力される入力層と、前記センサデータに対応する車両の挙動を示す挙動データを出力する出力層と、前記車両の走行中のセンサデータ、及び前記車両の運転操作に基づく前記車両の挙動を教師データとして前記センサデータと前記挙動データとの間を紐づける中間層とを含み、前記車両の走行中のセンサデータを前記入力層へ入力し、前記中間層で演算することで前記センサデータに対応する挙動データを推定する処理に用いられる。
【００１１】
なお、本願は、このような特徴的な処理部を備える検知装置として実現することができるだけでなく、検知装置の一部又は全部を実現する半導体集積回路として実現したり、検知装置を含む検知システム、その他のシステムとして実現したりすることができる。
【発明の効果】
【００１２】
本開示によれば、車両全体の挙動から不正及びその予兆を検知することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１の検知装置を搭載する車両の要部構成の一例を示すブロック図である。
【図２】実施の形態１の検知装置の要部構成の一例を示すブロック図である。
【図３】実施の形態１の検知装置の学習モデルの構成の一例を示す模式図である。
【図４】実施の形態１の学習モードでの処理部の処理手順の一例を示すフローチャートである。
【図５】実施の形態１の判定モードでの処理部の処理手順の一例を示すフローチャートである。
【図６】実施の形態２の検知装置の要部構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１４】
［本願発明の実施形態の説明］
最初に本発明の実施態様を列記して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【００１５】
本実施の形態に係る検知装置は、車両に搭載され、該車両の異常を検知する検知装置であって、前記車両の車載機器から前記車両の内外で得られるセンサデータを取得する取得部と、該取得部が取得した前記センサデータに基づいて、前記車両の挙動を推定する推定部と、前記推定部が推定した挙動に基づいて前記車両の異常を検知する検知部とを備える。
【００１６】
本実施の形態に係るコンピュータプログラムは、コンピュータに、車両の異常を検知させるためのコンピュータプログラムであって、コンピュータに、前記車両の車載機器から前記車両の内外で得られるセンサデータを取得する処理と、取得した前記センサデータに基づいて、前記車両の挙動を推定する処理と、推定した挙動に基づいて前記車両の異常を検知する処理とを実行させる。
【００１７】
本実施の形態に係る検知方法は、車両の異常を検知させる検知方法であって、前記車両の車載機器から前記車両の内外で得られるセンサデータを取得し、取得した前記センサデータに基づいて、前記車両の挙動を推定し、推定した挙動に基づいて前記車両の異常を検知する。
【００１８】
推定部が推定した車両の挙動と、実際の挙動が異なる場合、車両に異常が生じていることとなる。車両の異常は、例えば、車両制御システムへの車両外から不正に侵入されて、運転者が意図しない制御がなされていること等が原因である。上記の構成により前記異常を検知することにより、車両全体の挙動から不正及びその予兆を検知することができる。
【００１９】
本実施の形態に係る検知装置は、前記検知部は、前記推定部が推定した挙動と前記車両の実際の挙動とを比較することにより前記車両の異常を検知する。
【００２０】
推定部が推定した車両の挙動と、実際の挙動が異なる場合、車両に異常が生じていることとなるので、挙動の比較によって異常を検知することにより、車両全体の挙動から不正及びその予兆を検知することができる。
【００２１】
本実施の形態に係る検知装置は、前記車両に搭載されており、センサデータに基づき前記車載機器を制御する制御機器から独立して動作する。
【００２２】
不正な侵入があった場合であっても客観的に車両の異常を判断できるので、車両全体の挙動から不正及びその予兆を良好に検知することができる。
【００２３】
本実施の形態に係る検知装置は、前記推定部は、前記センサデータを入力データとし、前記車両の挙動を示す挙動データを出力データとする学習モデルにより推定する。
【００２４】
学習モデルに基づいて車両の挙動を推定することで、推定部は結果的に最も確率が高い挙動を推定できる。個々の制御装置の異常検知で検知しきれない異常を検知できる。
【００２５】
本実施の形態に係る検知装置は、前記車両の走行中に得られるセンサデータと、前記車両の運転者の操作に基づく前記車両の挙動を示す挙動データとを教師データとして前記学習モデルを学習させる学習処理部を備える。
【００２６】
学習処理部により学習モデルを学習させることができる。
【００２７】
本実施の形態に係る検知装置は、前記センサデータは、前記車両に搭載されたセンサが取得した生データ、又はセンサからの出力波形であり、前記挙動データは、前記車両の走行に係る制御信号、又は駆動電力波形である。
【００２８】
車両全体の挙動から不正及びその予兆を良好に検知することができる。
【００２９】
本実施の形態に係る検知装置は、前記学習処理部は、前記車両の運転者毎に学習モデルを分別して学習させる。
【００３０】
運転者夫々の運転の癖などに対応して車両の挙動を推定でき、車両全体の挙動から不正及びその予兆を良好に検知することができる。
【００３１】
本実施の形態に係る検知装置は、前記検知部が前記車両の異常を検知した場合、前記車両の異常を示す信号を出力する出力部を備える。
【００３２】
異常を示す信号を出力することにより、運転者に通知することができ、安全を確保することができる。
【００３３】
本実施の形態に係る検知装置は、前記車両から取り外された場合に通知を行う通知部を備える。
【００３４】
検知装置が物理的に取り外されたことを車両の利用者等に通知することができる。
【００３５】
本実施の形態に係る学習モデルは、車両の車載機器から取得された前記車両の内外で得られるセンサデータが入力される入力層と、前記センサデータに対応する車両の挙動を示す挙動データを出力する出力層と、前記車両の走行中のセンサデータ、及び前記車両の運転操作に基づく前記車両の挙動を教師データとして前記センサデータと前記挙動データとの間を紐づける中間層とを含み、前記車両の走行中のセンサデータを前記入力層へ入力し、前記中間層で演算することで前記センサデータに対応する挙動データを推定する処理に用いられる。
【００３６】
学習モデルに基づいて車両の挙動を推定することで、推定部は結果的に最も確率が高い挙動を推定できる。
【００３７】
本実施の形態に係る学習モデルは、前記車両に搭載されており、前記センサデータに基づき制御信号を出力する制御機器に基づく前記車両の挙動と、前記センサデータに対応して推定される挙動データが示す挙動とを比較して前記制御機器の異常を検知する処理に用いられる。
【００３８】
個々の制御装置の異常検知で検知しきれない異常を検知できる。
【００３９】
［本願発明の実施形態の詳細］
（実施の形態１）
以下、本発明の実施の形態を図面に基づいて説明する。図１は実施の形態１の検知装置を搭載する車両の要部構成の一例を示すブロック図である。図１において、１００は車両であり、車両１００は、中継装置１、通信バス１ａ〜１ｃ、走行制御ＥＣＵ２、ボディＥＣＵ３及び情報ＥＣＵ４等の複数のＥＣＵ並びに検知装置５を備える。
【００４０】
中継装置１は、異なる通信バス１ａ，１ｂ，１ｃに接続されている。通信バス１ａには走行制御ＥＣＵ２、通信バス１ｂにはボディＥＣＵ３、通信バス１ｃには情報ＥＣＵ４が接続されている。走行制御ＥＣＵ２、ボディＥＣＵ３、及び情報ＥＣＵ４は、中継装置１の中継により相互に情報を送受信できる。
【００４１】
中継装置１には、故障を診断する故障診断装置１０１が接続される接続ポート１ｄが接続されている。故障診断装置１０１は、接続ポート１ｄを介して、中継装置１により収集される各ＥＣＵ２，３，４からの情報に基づいて、車両の故障診断を行う。
【００４２】
車両１００は、ブレーキ装置２０、エンジン２１、トランスミッション２２、ＡＢＳ２３、ステアリング２４、カメラ３０、ミリ波レーダ３１、赤外線センサ３２、超音波センサ３３、ドア３４、ライト３５、ミラー３６、ナビゲーション装置４０、スピーカ４１、オーディオ機器４２及びディスプレイ４３等の車載機器を備える。
【００４３】
走行制御ＥＣＵ２は、車両１００に搭載されているブレーキ装置２０、エンジン２１、トランスミッション２２、ＡＢＳ（Antilock Brake System ）２３、ステアリング２４等の走行制御系の車載機器を制御する。走行制御ＥＣＵ２は、説明を容易にするために仮想的に１つのＥＣＵとして説明するが、ブレーキ装置２０、エンジン２１等の車載機器毎に異なるＥＣＵを用い、各ＥＣＵが通信バス１ａに接続されて情報を送受信し合い、連携して動作してもよい。
【００４４】
エンジン２１は、イグニッションスイッチ（不図示）がオンになった場合に駆動させる。走行制御ＥＣＵ２は車両１００の加速に応じてトランスミッション２２を調整し、ハンドル（不図示）の操作に応じて、ステアリング２４を作動して運転者のハンドル操作の補助を行う。
【００４５】
ボディＥＣＵ３は、車両１０に搭載されているカメラ３０、ミリ波レーダ３１、赤外線センサ３２、及び超音波センサ３３から車両１００の内外で得られるセンサデータを用い、車両１００のドア３４、ライト３５、及びミラー３６等のボディ系の車載機器を制御する。ボディＥＣＵ３についても説明を容易にするため１つのＥＣＵとして説明するが、異なるＥＣＵが通信バス１ｂに接続して情報を送受信し合い、連携して動作してもよい。
【００４６】
情報ＥＣＵ４は、車両１００に搭載されているナビゲーション装置４０、スピーカ４１、オーディオ機器４２、ディスプレイ４３等の情報系の車載機器を制御する。情報ＥＣＵ４についても説明を容易にするため１つのＥＣＵとして説明するが、ナビゲーション装置４０を制御するＥＣＵとオーディオ機器４２を制御するＥＣＵとが通信バス１ｃに接続して情報を送受信し合い、スピーカ４１及びディスプレイ４３を共用して動作するなどしてもよい。
【００４７】
情報ＥＣＵ４は、所定の移動通信規格、光ビーコン、又はＩＴＳ（Intelligent Transport Systems ）無線等の通信規格を用いた通信モジュールを備え、公衆通信網を介して外部機器と通信することが可能である。ナビゲーション装置４０は、ＧＰＳ受信機能を有し、スピーカ４１を用いて運転者への道案内を行う。ナビゲーション装置４０は、無線により車内に持ち込まれたスマートフォン１０２と通信する通信モジュールを内蔵している。
【００４８】
中継装置１は、通信バス１ａ，１ｂ，１ｃで送受信される情報を収集し、必要に応じて異なる通信バス１ａ，１ｂ，１ｃ間で情報を中継する。中継装置１は、収集した情報の内、故障診断に使用される情報を抽出して記憶しておき、接続ポート１ｄを介した読み出しを受け付ける。
【００４９】
中継装置１の中継により、ボディＥＣＵ３が接続されている通信バス１ｂに送信されるカメラ３０、ミリ波レーダ３１等のセンサデータは、通信バス１ａへも送信されて走行制御ＥＣＵ２でも受信できる。
【００５０】
走行制御ＥＣＵ２は例えばＡＤＡＳ（Advanced driver-assistance systems）の機能を有し、カメラ３０、ミリ波レーダ３１、赤外線センサ３２等により得られる周囲の障害物との間の距離を割り出すことができる。走行制御ＥＣＵ２はカメラ３０、赤外線センサ３２にて撮像された画像に基づく周囲の人物、他車両を認識し、距離に応じてブレーキ装置２０、トランスミッション２２及びステアリング２４を自動制御する等、センサデータを用いた制御を行う。
【００５１】
このように、車両１００では、複数のＥＣＵがセンサデータを互いに送受信し、エンジン２１、ブレーキ装置２０等の走行制御系のみならず、ドア３４、ライト３５等のボディ系、オーディオ機器４２、ナビゲーション装置４０等の情報系の制御対象に対する多様な処理を互いに連携して実行する。
【００５２】
ここで、情報ＥＣＵ４と、故障診断装置１０１及びスマートフォン１０２等の外部機器とは夫々、通信モジュール、接続ポート１ｄ又はナビゲーション装置４０の通信モジュールを介して車両１００の車載機器の一部に通信接続することが可能である。これらの外部機器は、その使用状況に応じて、更に車両１００外の別の機器、センター等と通信を行うことができる。このような通信接続経路は、不正な情報を送出する攻撃者からの侵入経路となり得る。
【００５３】
車両１００は検知装置５を用いて不正な侵入及びその予兆等の車両の異常を検知する。検知装置５は、中継装置１により接続されている通信バス１ａ，１ｂ，１ｃのいずれにも接続されず、独立した装置として動作する。検知装置５は、カメラ３０、ミリ波レーダ３１等のセンサ群によって得られるセンサデータと、これらを用いて動作するブレーキ装置２０、エンジン２１等の挙動との整合性を俯瞰するようにして検知し、走行制御ＥＣＵ２における制御に不正な情報の侵入の疑いが無いか、またその予兆が無いかを判断する。これにより、不正な侵入があった場合であっても客観的に車両の異常を判断できるので、車両全体の挙動から不正及びその予兆を良好に検知することができる。以下、検知装置５の構成及び動作について述べる。
【００５４】
図２は、実施の形態１の検知装置５の要部構成の一例を示すブロック図である。検知装置５は、制御部５０、記憶部５１、入出力部５２、圧力センサ５３、処理部５４及び通知部５９を備える。検知装置５は、例えば筐体を備え、該筐体内部に制御部５０、記憶部５１、入出力部５２、処理部５４を収容する。圧力センサ５３及び通知部５９は筐体の外部に設けられる。処理部５４は、学習データ生成部５５、学習モデル５６、学習処理部５７、及び入力データ生成部５８を備える。
【００５５】
制御部５０は、例えば、ＣＰＵ（Central processing unit ）で構成することができ、内蔵するＲＯＭ（Read only memory）及びＲＡＭ（Ramdom access memory）等のメモリを用い、検知装置５全体を制御する。制御部５０は、記憶部５１に記憶されている処理プログラム５１０に基づく情報処理を実行する。
【００５６】
記憶部５１は、例えばハードディスク又はフラッシュメモリ等の不揮発性メモリを用いることができる。記憶部５１には、処理部５４における後述の学習モードに必要な情報を記憶する。
【００５７】
入出力部５２を介して、検知装置５に各車載機器からの情報が入力され、また、後述する指示の信号が出力される。
【００５８】
圧力センサ５３は、例えば、筐体の外面及び車両１００におけるその取り付け面の間の圧力を検出する。通知部５９は、例えば、ＬＥＤライト等である。制御部５０は、圧力センサ５３からの信号に基づいて、検知装置５が車両１００から取り外されたか否かを判定し、検知装置５が車両１００から取り外されたと判定した場合、通知部５９を点滅させて、その旨を通知する。これにより、検知装置５が物理的に取り外されたことを車両の利用者等に通知することができる。
【００５９】
また、通知部５９は、後述のように処理部５４から出力された異常信号に基づいて、車両１００に異常がある旨を通知する。なお、通知部５９はスピーカ等であってもよく、音声により異常を通知してもよい。
【００６０】
処理部５４は、処理プログラム５１０に基づいて学習モデル５６を学習させる学習モードと、学習済の学習モデル５６を用いて異常を判定する判定モードとで動作する。処理部５４は、学習モードにより学習モデル５６を更新し続けながら、判定モードにより車両１００の異常を判定して検知する。
【００６１】
図３は検知装置の学習モデル５６の構成の一例を示す模式図である。学習モデル５６は、深層学習（ディープラーニング）を含むニューラルネットワークモデルであり、入力層、出力層及び複数の中間層から構成されている。なお、図３では、説明を容易にするため、２つ中間層を図示しているが、中間層の層数は２つに限定されず、３つ以上であってもよい。
【００６２】
入力層、出力層及び中間層には、１つ又は複数のノード（ニューロン）が存在し、各層のノードは、前後の層に存在するノードと一方向に所望の重みで結合されている。入力層のノードの数と同数の成分を有するベクトルが、学習モデル５６の入力データ（学習用の入力データ及び異常判定用の入力データ）として与えられる。
【００６３】
入力データには、車両１００におけるセンサ群で得られる時系列のセンサデータが含まれる。センサデータは、例えば、前記車両に搭載されたカメラ３０、赤外線センサ３２等のセンサ群が取得した生データ、又はセンサ群からのＥＣＵへの出力波形である。
【００６４】
また、カメラ情報等の画像情報が入力データに含まれるため、それらを反映する、畳み込み層やプーリング層を中間層に加えた畳み込みニューラルネットワークを用いることが望ましい。
【００６５】
入力層の各ノードに与えられたデータは、最初の中間層に入力して与えられると、重みおよび活性化関数を用いて中間層の出力が算出され、算出された値が次の中間層に与えられ、以下同様にして出力層の出力が求められるまで次々と後の層（下層）に伝達される。なお、ノードを結合する重みのすべては、学習アルゴリズムによって計算される。学習モデル５６の出力層は、出力データとして挙動データを出力する。
【００６６】
以上のように、学習モデル５６は、車両１００の走行中のセンサデータを入力層へ入力し、中間層で演算することでセンサデータに対応する挙動データを推定する。
【００６７】
出力データには、センサデータに対応する車両の挙動を示すエンジン情報、ブレーキ装置情報、トランスミッション情報、ＡＢＳ情報及びステアリング情報等の挙動データが含まれる。挙動データは、エンジン２１への信号等の車両１００の走行に係る車載機器への制御信号、又は駆動電力波形である。
【００６８】
学習モデル５６及び学習処理部５７は、例えば、ＣＰＵ（例えば、複数のプロセッサコアを実装したマルチ・プロセッサなど）、ＧＰＵ（Graphics Processing Units）、ＤＳＰ（Digital Signal Processors）、ＦＰＧＡ（Field-Programmable Gate Arrays）などのハードウェアを組み合わせることによって構成することができる。また、量子プロセッサを組み合わせることもできる。なお、学習モデル５６は、再帰型ニューラルネットワーク（Recurrent Neural Network, RNN)であってもよい。また、学習モデル５６は、ニューラルネットワークモデルに限定されるものではなく、他の機械学習モデルでもよい。
【００６９】
以下では、まず学習モデル５６の学習モードについて説明する。
【００７０】
処理部５４は、データの取得部としての機能を有し、車両１００の走行中に第１時点から、第１時点より後の第２時点までのセンサ群のセンサデータを取得する。第１時点と第２時点との間の期間は、適宜設定することができ、例えば、０．１秒、１秒としてもよい。
【００７１】
学習データ生成部５５は、第１時点から第２時点までの時系列のセンサデータを入力データとし、第２時点での実際の車両１００の運転者の操作に基づく車両１００の挙動を示す挙動データを出力データとする学習データ（教師データ）を生成する。
【００７２】
学習処理部５７は、学習データ生成部５５で生成した学習データ（教師データ）と、学習モデル５６が推定した挙動データとを取得する。学習処理部５７は、学習モデル５６が推定した挙動データと学習データ（教師データ）とを比較して学習モデル５６を学習させる。学習モデル５６は、第１時点から第２時点への時系列のセンサデータに対応して、教師データが示すような挙動になるということを学習する。ここで、学習モデル５６の中間層は、車両１００の走行中のセンサデータ、及び車両１００の運転操作に基づく車両１００の挙動を教師データとして、センサデータと挙動データとの間を紐づける。
【００７３】
学習データ（教師データ）は、初期的には模範的な車両の挙動を示すエンジン情報、ブレーキ装置情報、トランスミッション情報、ＡＢＳ情報及びステアリング情報等であってセンサデータに対応するデータであり、例えば、エンジン２１への信号等の車両１００の走行に係る車載機器への制御信号、又は駆動電力波形であってもよい。
【００７４】
次に、異常を判定する判定モードについて説明する。第１時点（例えば、現在）から所定期間後の第２時点（例えば、現在から０．１秒後又は１秒後等）までの時系列のセンサデータを学習済の学習モデル５６に入力すれば、第２時点での車両１００の挙動を推定することができる。これにより、ＡＩ（Artificial Intelligence）を用いて将来（例えば、現在から０．１秒後又は１秒後等）の車両１００の挙動を推定することができる。
【００７５】
また、学習モデル５６が推定した車両１００の挙動データと、実際の車両１００の挙動に係る走行制御ＥＣＵ２からのセンサデータに基づいた制御信号（特にＡＤＡＳが機能しているとき）に係る挙動データとを比較することにより、車両１００に異常が生じているかを判定できる。なお、情報ＥＣＵ４等他のＥＣＵから制御信号に係る挙動データを比較することにより、車両１００に異常が生じているかを判定してもよい。
【００７６】
処理部５４は、車両１００に異常が生じていると判定した場合、異常信号を制御部５０に出力する。制御部５０は、異常信号が入力された場合、走行制御ＥＣＵ２に信号を出力し、ブレーキ装置２０の作動、ステアリング２４の作動等により、車両１００の運転者及び周囲の車両等の安全を確保する。
【００７７】
入力データ生成部５８は、第１時点及び第２時点での時系列のセンサデータに基づいて、異常判定のための入力データを生成する。
【００７８】
学習済の学習モデル５６は、時系列のセンサデータを入力データとして、第２時点での車両１００の挙動を推定する。即ち、学習モデル５６は、処理部５４が取得したセンサデータに基づいて、車両１００の挙動を推定する。処理部５４は、推定された車両１００の挙動データと、第２時点における実際の車両１００の挙動とを比較して、車両１００の異常の判定を行う。
【００７９】
比較された挙動データが大きくかけ離れている場合、例えば、信号の波形が大きく異なる等の場合、車両１００は車両１００の内外の環境に対して間違った挙動をしていることとなる。この場合、車両１００の各ＥＣＵ間の通信に侵入されている可能性があるため、処理部５４は、異常があると判定する。以上により、処理部５４は、学習モデル５６が推定した挙動に基づいて車両１００の異常を検知する。また、処理部５４は、車両１００の異常を検知した場合、車両１００の異常を示す信号を出力する。
【００８０】
図４は学習モードでの処理部５４の処理手順の一例を示すフローチャートである。処理部５４は、第１時点及び第２時点を設定し（Ｓ１１）、第１時点から第２時点までのセンサデータを取得する（Ｓ１２）。
【００８１】
処理部５４は、取得した第１時点から第２時点までの時系列のセンサデータを入力データとし、挙動データを出力データとする学習用データを生成する（Ｓ１３）。
【００８２】
処理部５４は、生成した学習用データに基づいて、学習モデル５６の学習及び更新を行い（Ｓ１４）、処理を終了するか否かを判定する（Ｓ１５）。処理を終了しないと判定した場合（Ｓ１５でＮＯ）、処理部５４は、ステップＳ１２以降の処理を続け、処理を終了すると判定した場合（Ｓ１５でＹＥＳ）、処理を終了する。処理部５４は、例えばエンジン２１が停止した場合に本処理を終了する。
【００８３】
図５は判定モードでの処理部５４の処理手順の一例を示すフローチャートである。処理部５４は、第１時点及び第２時点を設定し（Ｓ３１）、第１時点から第２時点までのセンサデータを取得する（Ｓ３２）。処理部５４は、第１時点から第２時点までの時系列のセンサデータに係る入力データを学習モデル５６に入力する（Ｓ３３）。
【００８４】
処理部５４は、学習モデル５６が推定し、出力した挙動データを取得する（Ｓ３４）。その後、処理部５４は、Ｓ３４にて取得した車両の挙動に係る挙動データと、走行制御ＥＣＵ２から出力される制御信号等である挙動データを比較する（Ｓ３５）。即ち、処理部５４は学習モデル５６により推定した挙動と実際の車両１００の挙動を比較する。
【００８５】
その後、処理部５４は、異常があるか否かの判定を行う（Ｓ３６）。処理部５４は、推定した挙動データ及び実際の挙動データが略一致し、異常がないと判定した場合（Ｓ３６でＮＯ）、処理を終了する。制御部５０は、推定した挙動データ及び実際の挙動データが大きくかけ離れ、異常があると判定した場合（Ｓ３６でＹＥＳ）、異常信号を制御部５０及び通知部５９に出力し（Ｓ３７）、通知部５９にＬＥＤの点滅等により、異常がある旨を通知させて処理を終了する。ここで、処理部５４は、例えば、挙動データの差分に基づいて、具体的には推定された挙動データと実際の挙動に係る挙動データの相関値を算出し、該相関値が閾値を越えているか否か等により異常があるか否かの判定を行う。
【００８６】
制御部５０は、異常信号が入力された場合、走行制御ＥＣＵ２に信号を送信し、ブレーキ装置２０、エンジン２１及びステアリング２４等の作動又は停止により、車両１００の走行に係る安全を確保する。
【００８７】
制御部５０及び処理部５４は、ＣＰＵ（プロセッサ）、ＧＰＵ、ＲＡＭ（メモリ）などを備えた汎用コンピュータを用いて実現することもできる。すなわち、図４及び図５に示すような、各処理の手順を定めたコンピュータプログラムをコンピュータに備えられたＲＡＭ（メモリ）にロードし、コンピュータプログラムをＣＰＵ（プロセッサ）で実行することにより、コンピュータ上で制御部５０及び処理部５４を実現することができる。コンピュータプログラムは記録媒体に記録され流通されてもよい。
【００８８】
学習モデル５６は、各車載装置から取得した情報に基づいて、車両１００の挙動を推定する。学習モデル５６が推定した車両１００の挙動と、実際の挙動が異なる場合、車両１００に異常が生じていることとなる。ここで、車両１００の異常は、例えば、走行制御ＥＣＵ２等の車両制御システムに車両１００外から不正に侵入されて、運転者が意図しない制御がなされていること等が原因である。学習モデル５６が推定した車両１００の挙動と、実際の挙動が異なる場合、車両１００に異常が生じていることとなるので、上記の構成により挙動の比較によって車両１００の異常を検知することにより、車両１００の挙動から不正及びその予兆を検知することができる。
【００８９】
また、学習モデル５６に基づいて車両１００の挙動を推定することで、結果的に最も確率が高い車両１００の挙動を推定できる。これにより、個々のＥＣＵの異常検知で検知しきれない異常を検知することができる。
【００９０】
更に、処理部５４が異常信号を出力することにより、上述のように通知部５９等により運転者に通知することができ、安全を確保することができる。更に、センサデータとして車両１００に搭載されたカメラ３０等のセンサ群が取得した生データ、又はセンサ群からの出力波形を用い、挙動データとして車両１００の走行に係る制御信号、又は駆動電力波形を用いることにより、車両１００の挙動から不正及びその予兆を良好に検知することができる。
【００９１】
（実施の形態２）
実施の形態２における検知装置５においては、車両１００の運転者毎に学習モデルを学習させる。実施形態２における検知装置５及びこれを備える車両１００の構成について実施の形態１と同様の構成については同一の符号を付して詳細な説明を省略する。
【００９２】
図６は、実施の形態２の検知装置５の要部構成の一例を示すブロック図である。実施の形態２に係る検知装置５の処理部５４は、複数の学習モデル５６ａ，５６ｂ，５６ｃ，・・・を備える。複数の学習モデル５６ａ，５６ｂ，５６ｃ，・・・は、図示の３つに限られず、車両１００の運転者として予め登録された人数分設けられていればよい。制御部５０は、中継装置１から入出力部５２を介して車両１００の運転者を識別する運転者情報を取得し、該運転者情報を処理部５４に入力する。
【００９３】
運転者情報は、例えば車内カメラ（不図示）から得られる運転者の顔を映した画像データであり、制御部５０は、画像データと記憶部５１に予め記録されたデータとを比較して顔認証を行い、運転者を特定する。なお、運転者情報は、静脈センサ、指紋センサなどの生体センサから得られる静脈パターン又は指紋であってもよい。また、運転者情報は車両１００のキー情報、ナビゲーション装置４０が備える操作部を通じて入力される情報又はスマートフォン１０２から送信される情報であってもよい。
【００９４】
運転者情報を入力された処理部５４は、学習モデル５６ａ，５６ｂ，５６ｃ，・・・の内、運転者情報に係る運転者に対応する学習モデルを選択する。学習処理部５７は、選択された学習モデルにおいて、学習及び更新を行い、これにより、車両１００の運転者毎に学習モデルを分別して学習させる。このとき、学習データ生成部５５は、運転者情報に基づいて、運転者毎の学習データ（教師データ）を作成し、実施の形態１と同様に学習モデルの学習及び更新を行う。また、処理部５４は、選択された学習モデルを使用して、実施の形態１と同様に車両１００の挙動の推定を行う。
【００９５】
以上より、車両１００の運転者に対応して、車両１００の挙動を学習モデル５６に学習させることができ、検知装置５は、運転者の運転の癖等に対応して、車両１００の異常を検知できる。したがって、検知装置５は、運転者夫々の運転の癖などに対応して車両の挙動を推定でき、車両全体の挙動から不正及びその予兆を良好に検知することができる。
【００９６】
なお、上記の実施の形態１及び２における上記の学習モード及び判定モードにおいては、入力データとして時系列のセンサデータを使用したが、時系列のセンサデータでなく、ある時点におけるセンサデータ、例えば、カメラ３０により撮影した画像の解析データに基づいて、学習モデル５６の学習、又は学習モデル５６による挙動の推定を行ってもよい。また、クラウドを利用して学習モデル５６の学習を行い、学習させた学習モデル５６を車両においてインストールするようにしてもよい。更に、検知装置５が車両１００から取り外されたか否かは、圧力センサ５３に代えて、無線通信に対する応答があるか否かにより検知してもよい。
【００９７】
開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００９８】
１  中継装置
１ａ，１ｂ，１ｃ  通信バス
１ｄ  接続ポート
２  走行制御ＥＣＵ（制御機器）
２０  ブレーキ装置（車載機器）
２１  エンジン（車載機器）
２２  トランスミッション（車載機器）
２３  ＡＢＳ（車載機器）
２４  ステアリング（車載機器）
３  ボディＥＣＵ（制御機器）
３０  カメラ（センサ）
３１  ミリ波レーダ（センサ）
３２  赤外線センサ（センサ）
３３  超音波センサ（センサ）
３４  ドア（車載機器）
３５  ライト（車載機器）
３６  ミラー（車載機器）
４  情報ＥＣＵ（制御機器）
４０  ナビゲーション装置（車載機器）
４１  スピーカ（車載機器）
４２  オーディオ機器（車載機器）
４３  ディスプレイ（車載機器）
５  検知装置
５０  制御部
５１  記憶部
５１０  処理プログラム
５２  入出力部
５３  圧力センサ
５４  処理部（取得部、検知部、出力部）
５５  学習データ生成部
５６，５６ａ，５６ｂ，５６ｃ  学習モデル（推定部）
５７  学習処理部
５８  入力データ生成部
５９  通知部
１００  車両
１０１  故障診断装置
１０２  スマートフォン
【図１】
2019214249.tif 000003
【図２】
2019214249.tif 000004
【図３】
2019214249.tif 000005
【図４】
2019214249.tif 000006
【図５】
2019214249.tif 000007
【図６】
2019214249.tif 000008