(57)【要約】      （修正有）【課題】ディープ（双方向）再帰型ニューラルネットワークを用いたセンサデータの時間融合に基づく効率的な運転者行動予測システム、を提供する。【解決手段】運転者行動予測エンジンは、過去のある時点における移動中の車両の特性を記述するセンサデータを受信する工程と、予測用特徴と認識用特徴とをセンサデータから抽出する工程と、予測用特徴を予測ネットワークに入力する工程と、過去の運転者行動に対する予測ラベルを、予測ネットワークを用いて予測用特徴に基づいて生成する工程と、認識用特徴を認識ネットワークに入力する工程と、過去の運転者行動に対する認識ラベルを、認識ネットワークを用いて認識用特徴に基づいて生成する工程と、予測ネットワークの１つ以上の予測ネットワーク重みを、認識ラベルと予測ラベルとを用いてトレーニングする工程とを含む。【選択図】図４
2018028906.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の計算装置が、過去のある時点における移動中の車両の特性を記述するセンサデータを受信する工程と、
前記１つ以上の計算装置が、予測用特徴と認識用特徴とを前記センサデータから抽出する工程と、
前記１つ以上の計算装置が、予測用特徴を予測ネットワークに入力する工程と、
前記１つ以上の計算装置が、過去の運転者行動に対する予測ラベルを、前記予測ネットワークを用いて前記予測用特徴に基づいて生成する工程と、
前記１つ以上の計算装置が、認識用特徴を認識ネットワークに入力する工程と、
前記１つ以上の計算装置が、過去の運転者行動に対する認識ラベルを、前記認識ネットワークを用いて前記認識用特徴に基づいて生成する工程と、
前記１つ以上の計算装置が、前記予測ネットワークの１つ以上の予測ネットワーク重みを、前記認識ラベルと前記予測ラベルとを用いてトレーニングする工程と、
を含む、方法。
【請求項２】
前記予測ネットワークは、１つ以上の再帰型ニューラルネットワークを含む、
請求項１に記載の方法。
【請求項３】
前記１つ以上の計算装置が、当該１つ以上の計算装置と電子的に通信可能に結合された１つ以上のセンサから、前記車両の現在の特性を記述する現在センサデータを受信する工程と、
前記１つ以上の計算装置が、現在の予測用特徴を前記現在センサデータから抽出する工程と、
前記１つ以上の計算装置が、前記現在の予測用特徴を前記予測ネットワークに入力する工程と、
前記１つ以上の計算装置が、将来の運転者行動予測を、１つ以上の予測ネットワーク重み、前記現在の予測用特徴、および前記予測ネットワークを用いて生成する工程と、
をさらに含む、請求項１または２に記載の方法。
【請求項４】
前記予測ラベルを生成する工程は、
前記１つ以上の計算装置が、前記予測用特徴を逆方向系列処理部に入力するステップと、
前記１つ以上の計算装置が、前記予測用特徴を順方向系列処理部に入力するステップと、
を含む、請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記予測ラベルを生成する工程は、
前記１つ以上の計算装置が、前記逆方向系列処理部の出力と前記順方向系列処理部の出力とを時間融合処理部を用いて融合するステップと、
前記１つ以上の計算装置が、分類器を用いて、前記時間融合処理部の出力を運転者行動の予測ラベルにマッピングするステップと、
をさらに含む、請求項４に記載の方法。
【請求項６】
前記逆方向系列処理部の出力と前記順方向系列処理部の出力とを前記融合するステップは、
前記１つ以上の計算装置上で実行可能な時間融合処理部が、前記逆方向系列処理部の出力の時間的系列と前記順方向系列処理部の出力の時間的系列とを用いた時間的表現を生成するステップをさらに含む、
請求項５に記載の方法。
【請求項７】
前記過去の運転者行動に対する認識ラベルを生成する工程は、
前記１つ以上の計算装置が、前記認識用特徴を、１つ以上の事前トレーニングされた運転者行動認識モデルに入力するステップを、を含む、
請求項１から６のいずれか１項に記載の方法。
【請求項８】
前記予測ネットワーク重みをトレーニングする工程は、
前記認識ラベルと前記予測ラベルの間の誤差を決定するステップと、
前記誤差を、打ち切り型通時的逆伝播アルゴリズムに入力するステップと、
を含む、請求項１から７のいずれか１項に記載の方法。
【請求項９】
前記逆方向系列処理部および前記順方向系列処理部に入力される前記予測用特徴は、所定期間のセンサデータから得られる時系列データであり、
前記逆方向系列処理部は、複数の再帰型ニューラルネットワークがカスケード接続されたものであり、前記時系列データを逆方向に処理し、
前記順方向系列処理部は、複数の再帰型ニューラルネットワークがカスケード接続されたものであり、前記時系列データを順方向に処理する、
請求項４から６のいずれか１項に記載の方法。
【請求項１０】
請求項１から９のいずれか１項に記載の方法をコンピュータに実行させるプログラム。
【請求項１１】
プロセッサと、
請求項１０に記載のプログラムを格納したメモリと、
を備える、コンピュータシステム。
【請求項１２】
１つ以上のセンサから提供されるセンサデータを取得する取得手段と、
前記センサから提供されるセンサデータから、認識用特徴と予測用特徴を抽出する特徴抽出手段と、
前記認識用特徴に基づいて、行動認識を行う認識ネットワークを用いて認識ラベルを生成する行動認識手段と、
前記予測用特徴に基づいて、行動予測を行う予測ネットワークを用いて予測ラベルを生成する行動予測手段と、
前記予測ネットワークの１つ以上の予測ネットワーク重みを、前記認識ラベルと前記予測ラベルとを用いてトレーニングするトレーニング手段と、
を備える、行動予測装置。
【請求項１３】
前記予測ネットワークは、１つ以上の再帰型ニューラルネットワークを含む、
請求項１２に記載の行動予測装置。
【請求項１４】
前記行動予測手段は、逆方向系列処理手段と順方向系列処理手段と時間融合処理手段と識別手段と、を含み、
前記逆方向系列処理手段と前記順方向系列処理手段と前記時間融合処理手段とは、いずれも複数の再帰型ニューラルネットワークがカスケード接続されたものであり、
前記逆方向系列処理手段および前記順方向系列処理手段に入力される前記予測用特徴は、所定期間のセンサデータから得られる時系列データであり、
前記逆方向系列処理手段は、前記時系列データを逆方向に処理し、
前記順方向系列処理手段は、前記時系列データを順方向に処理し、
前記時間融合処理手段は、前記逆方向系列処理手段の出力の時間的系列と前記順方向系列処理手段の出力の時間的系列とを用いた時間的表現を生成し、
前記識別手段は、前記時間融合処理手段の出力を行動の予測ラベルにマッピングする、
請求項１２または１３に記載の行動予測装置。
【請求項１５】
前記トレーニング手段は、前記認識ラベルと前記予測ラベルの間の誤差に基づいて、打ち切り型通時的逆伝播アルゴリズムを利用して、前記予測ネットワークの重みを決定する、
請求項１２から１４のいずれか１項に記載の行動予測装置。
【請求項１６】
前記行動認識手段の認識ネットワークは、事前トレーニングにより生成された行動認識モデルに基づいて、前記認識用特徴から前記認識ラベルを生成する、
請求項１２から１５のいずれか１項に記載の行動予測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、2016年8月16日に出願された"Integrative Cognition of Driver Behavior（運転挙動の総合的な認知）"という名称の米国特許出願第15/238,646号の一部継続出願で
ある。同特許出願は、その全体が参照によって本願明細書に組み込まれる。
【０００２】
［技術分野］
本開示は機械学習に関する。特に、本開示は移動プラットフォームに関係するユーザの行動の予測に関する。いくつかの例において、本開示は、車両（一般には乗り物）を運転するある具体的なユーザの行動を予想することに関する。
【背景技術】
【０００３】
世界保健機関（ＷＨＯ）の路上安全に関するグローバルステータスリポートならびに米国道路交通安全局の報告によると、交通事故による死者は全世界で年間１２０万人を超え、米国だけでも年間３万人を上回る。事故の原因の多くは危険な運転挙動（driving behaviors）にある。もしもこうした危険な挙動を予測することができ、たとえ数秒前であっ
ても運転者に警告を与える、かつ／または、状況を緩和する方策を事前に講じることができれば、多くの事故を予防できるかもしれない。一般に、最新の運転支援ソリューションは、そのシステムないしモデルがもつ制約のゆえに、高精度の運転挙動予測を高い費用対効果で実現することができない。
【０００４】
先進運転支援（Advance Driver Assistance）システムは、適応性に優れた高度な運転
者行動予測（DAP: Driver Action Prediction）システムの長所を活用することができる
。昨今の車両の安全機能の多く（例えば、自動制動や自動操舵）は、そうした機能を完全かつ安全に実行するために運転者の応答時間がどうしても必要となる。行動の数秒前に運転者行動を予測できれば、かかる先進運転支援システムの効率および有用性が大幅に改善されうる。特に、行動をもっと早くに、そしてより正確に予測できる先進運転支援システムは、先進運転支援システムにおいて新たな機能（例えば、自動方向転換や自動制動信号）を可能にし、路上安全をさらに高めることができると考えられる。
【０００５】
運転者行動を予測するこれまでの試みは、さまざまな問題に突き当たってきた。例えば、既存の技術は予測性能が限られており、したがって行動や事象を十分な時間的余裕をもって予測することができないうえ、十分に正確な予測を行うこともできない。一部の既存技術は運転者行動の予測（prediction）を運転者行動の認識（recognition）と独立して
扱うため、認識システムによる結果を用いて予測システムのトレーニングを行っても無駄である。また、既存技術のなかには、センサ特徴が予測と認識の両方に関連すること前提とするものがある。さらに、一部の既存技術は現在のセンサデータのみを使用し、予測システムがセンサデータ（例えば、格納されたセンサデータ）に直接アクセスすることをしない。したがって、既存の技術は効率に限界があり、わずかな検知手法（モダリティ）しか利用できないうえ、十分な時間的余裕をもって、または十分正確に、行動を予測することができない。
【０００６】
さらに、運転者行動の認識または検出が普遍的であるのに対し、運転者行動の事前予測は個人の運転挙動ならびに運転者の運転環境に大いに依存する。
【０００７】
一部の既存アプローチは、運転に関する限られたデータのみを用いて運転挙動の予測を
試みる。例えば、非特許文献１は、二重レイヤ隠れマルコフモデル（ＨＭＭ）について記載している。このＨＭＭは、行動認識を実行する低位レイヤの多次元ガウスＨＭＭと、予想を実行する上位レイヤの多次元離散ＨＭＭとを含んでいる。しかし、このモデルはＣＡＮ（Controller Area Network）のデータ（例えば、制動、加速、および操舵）しか考慮
しておらず、運転に影響を与える重要な特徴（例えば、道路状況、土地勘、および運転者の操舵のパターン）を反映できない。さらに、このモデルでは認識レイヤと予測レイヤとを同時にトレーニングする必要がある。そのため、効率や性能が制限されるうえ、特徴が認識と予測の両方に関係していることが前提になっている。
【０００８】
いくつかのアプローチは、運転挙動の認識と予測の前に特徴抽出を必要とする。例えば、非特許文献２は、運転者の行動を自己回帰入出力ＨＭＭ（ＡＩＯ−ＨＭＭ）を用いて予測するために、複雑な多重検知ドメインを考慮する。最初の工程において、非特許文献２は入力センサデータから特徴を抽出する工程（例えば、運転者の頭部姿勢を検出するために運転者に向けたカメラから上位レベルの特徴を抽出する、道路の混雑状況を決定するために道路に向けたカメラから物体特徴を抽出する、等）について記載している。しかし、非特許文献２の方法では人の関与がかなりの程度必要であり、動的なシステムにとって非実用的であるばかりか、場合によっては危険ですらある。また、非特許文献２が考えているセンサ入力の数は、人間の標準的な運転経験を代表していない。さらに、このモデルは、運転者の行動に影響を与える重要な特徴（例えば、操舵のパターンや土地勘等）を考慮することができない。
【０００９】
非特許文献３を初めとするいくつかのアプローチは、一群の運転者から得たデータを用いて開発した汎用モデルの使用について記載している。しかし、非特許文献３に記載されるようなモデルは運転挙動を十分にモデル化および予測することができず、そのため事故の発生リスクを低減することができない。特に、非特許文献３のモデルはＬＳＴＭ（Long-Short Time Memory: 長期短期記憶）のリカーシブニューラルネットワーク（ＬＳＴＭ−ＲＮＮ）に基づいており、ＢＰＴＴ（Backpropagation Through Time: 通時的逆伝播）アルゴリズムを用いてトレーニングを行う。しかし、このモデルのトレーニングは計算コストが高くなる可能性があるうえ、ＢＰＴＴアルゴリズムのメモリ制約によって運転挙動予測で実現できる最大範囲（horizon）が制限される可能性がある。また、このモデルには
精度（precision）と再現性（recall）が両立しないという問題がある。さらに、このモ
デルは予想誤差を予測範囲内にわたって最小化することを試みるにすぎないため、設計や具体化の選択肢に関する柔軟性が低い。
【００１０】
特に、非特許文献３に記載されるモデルは従来の空間的な多重検知融合アーキテクチャである。これは、特徴的サイズが大きいシステム、もしくはサンプリングレートが高いシステムにまで拡張することができない。また、予測精度と予測範囲（どれくらい前の時点から予測できるか）はこのモデルでは制限される。なぜなら、空間的なセンサデータ融合しか行わないからである。このモデルは行動認識のデータを含まないため、データセット全体を人が手動でラベル付けしなければならない。そのため、このモデルは人の介入なしに任意の運転者行動を予測するように学習することができない。さらに、非特許文献３に記載されるモデルは限られた数のセンサ入力（例えば、操舵に関する検知手法のみ）しか使用できないため、予測システムによって使用される入力の数は人が運転中に経験するものよりはるかに少ないものとなる。
【００１１】
再帰型ニューラルネットワークを使用するためのいくつかのアプローチ、例えば、Ｂｉ−ＬＳＴＭ（双方向長期短期記憶）の再帰型ネットワークは予測に対して適合されていない。例えば、非特許文献４、および非特許文献５は、音声認識にＢｉ−ＬＳＴＭを使用することを考えている。しかし、これらの文献において、Ｂｉ−ＬＳＴＭはトレーニングと実使用（deployment）とを同一に扱っている。その種の再帰型ニューラルネットワークは
予測に対して適合されていることが必要である。なぜなら、再帰型ニューラルネットワークは実使用時には未来のデータ系列が入手できないからである。したがって、現行の形態において、ＧｒａｖｅｓのＢｉ−ＬＳＴＭは予測（とりわけ運転者行動予測）に使用することができない。
【００１２】
以上のように、高性能かつ順応性に優れた運転者行動予測システムが求められている。
【先行技術文献】
【非特許文献】
【００１３】
【非特許文献１】He L., Zong C., and Wang C., "Driving intention recognition and behavior prediction based on a double-layer hidden Markov model" (Journal of Zhejiang University-SCIENCE C(Computers & Electronics), Vol. 13, No.3, 2012, 208-217)
【非特許文献２】Jain A., Koppula S., Raghavan B., Soh S., and Saxena A. "Car that knows before you do:anticipating maneuvers via learning temporal driving models" (ICCV, 2015, 3182-3190)
【非特許文献３】Jain A., Koppula S., Raghavan B., Soh S., and Saxena A. "Recurrent neural networks for driver activity anticipation via sensory-fusion architecture" (arXiv:1509.05016v1[cs.CV], 2015)
【非特許文献４】A.Graves and J.Schmidhuber "Framewise Phoneme Classification with Bidirectional LSTM and Other Neural Network Architectures" (Neural Networks, Vol. 18, No. 5-6, pp. 602-610, July 2005)
【非特許文献５】A.Graves, N.Jaitly, A.Mohamed "Hybrid Speech Recognition with Deep Bidirectional LSTM" (ASRU2013)
【発明の概要】
【発明が解決しようとする課題】
【００１４】
本明細書は、上記「背景技術」に記載したアプローチの欠点や限界を克服する。それは、少なくとも部分的には、ディープ（双方向）再帰型ニューラルネットワークを用いたセンサデータの時間融合に基づく、効率的な運転者行動予測システムのための新規技術の提供によって実現される。
【課題を解決するための手段】
【００１５】
本開示に記載する主題の革新的な一態様によると、本方法は、
格納されたセンサデータを１つ以上の計算装置によって受信する工程であって、格納されたセンサデータは過去のある時点における移動中の車両の特性を記述する、工程と、
予測用特徴と認識用特徴とを上記１つ以上の計算装置によって、格納されたセンサデータから抽出する工程と、
予測用特徴を上記１つ以上の計算装置によって予測ネットワークに入力する工程と、
過去の運転者行動に対する予測ラベル（predicted label）を上記１つ以上の計算装置
によって予測ネットワークを用いて予測用特徴に基づいて生成する工程と、
を含みうる。
上記方法は、
認識用特徴を１つ以上の計算装置によって認識ネットワークに入力する工程と、
過去の運転者行動に対する認識ラベル（recognized label）を上記１つ以上の計算装置によって認識ネットワークを用いて認識用特徴に基づいて生成する工程と、
予測ネットワークの１つ以上の予測ネットワーク重みを認識ラベルと予測ラベルとを用いて上記１つ以上の計算装置によってトレーニングする工程と、
をさらに含みうる。
【００１６】
本開示に記載する主題の革新的な別の態様によると、本コンピュータシステムは、
１つ以上のコンピュータプロセッサと、１つ以上のコンピュータプロセッサによって実行されるときに上記コンピュータシステムに動作を行わせる命令を格納する１つ以上の非一時的なメモリと、を備え、
上記動作は、
格納されたセンサデータであって、過去のある時点における移動中の車両の特性を記述する、格納されたセンサデータ、を受信することと、
格納されたセンサデータから予測用特徴と認識用特徴とを抽出することと、
予測用特徴を予測ネットワークに入力することと、
過去の運転者行動に対する予測ラベルを予測ネットワークを用いて予測用特徴に基づいて生成することと、
を含む。
上記動作は、
認識用特徴を認識ネットワークに入力することと、
過去の運転者行動に対する認識ラベルを認識ネットワークを用いて認識用特徴に基づいて生成することと、
予測ネットワークの１つ以上の予測ネットワーク重みを認識ラベルと予測ラベルとを用いてトレーニングすることと、
をさらに含みうる。
【００１７】
他の態様は、上記態様に関連して記載されるさまざまな動作を実行するように、および／またはさまざまなデータを格納するように構成された、対応する方法、システム、装置、およびコンピュータプログラムを含む。上記および他の態様（例えば、さまざまなデータ構造体）は、有形のコンピュータ記憶装置上に符号化されうる。例えば、上記態様の１つ以上は、次に示すことの１つ以上を含みうる：
予測ネットワークが１つ以上の再帰型ニューラルネットワークを含むことと；
現在のセンサデータを上記１つ以上の計算装置によって１つ以上のセンサから受信する工程であって、上記１つ以上の計算装置は上記１つ以上のセンサに電子的に通信可能に結合され、現在のセンサデータは現時点における移動中の車両の特性を記述するデータを含む、工程と；
現在の一群の予測用特徴を上記１つ以上の計算装置によって現在のセンサデータから抽出する工程と；
現在の一群の予測用特徴を上記１つ以上の計算装置によって予測ネットワークに入力する工程と；
予測される未来の運転者行動を、上記１つ以上の計算装置によって１つ以上の予測ネットワーク重み、現在の一群の予測用特徴、および予測ネットワークを用いて生成する工程と；
過去の運転者行動に対する予測ラベルを予測ネットワークを用いて予測用特徴に基づいて生成する上記工程が、
予測用特徴を上記１つ以上の計算装置によって逆方向系列処理部に入力する工程と、
予測用特徴を上記１つ以上の計算装置によって順方向系列処理部に入力する工程と、
逆方向系列処理部の出力と順方向系列処理部の出力とを上記１つ以上の計算装置によって時間融合処理部を用いて融合する工程と、
時間融合処理部の出力を過去の運転者行動に対する予測ラベルに上記１つ以上の計算装置によって分類器を用いてマッピングする工程と、
を含むことと；
逆方向系列処理部の出力と順方向系列処理部の出力とを融合する上記工程は、逆方向系列処理部の出力の時間的系列と、順方向系列処理部の出力の時間的系列と、を用いた時間的表現を、上記１つ以上の計算装置上で動作可能な時間融合処理部によって生成する工程を含むことと；
過去の運転者行動に対する認識ラベルを生成する上記工程は、認識用特徴を上記１つ以上の計算装置によって１つ以上の事前トレーニングした運転者行動認識モデルに入力する工程を含むことと；
予測ネットワークの上記１つ以上の予測ネットワーク重みをトレーニングする上記工程は、認識ラベルと予測ラベルとの間の誤差を決定する工程と、その誤差を打ち切り型通時的逆伝播アルゴリズムに入力する工程と、を含むこと。
【００１８】
本開示に記載する主題の革新的なさらに別の態様によると、本コンピュータシステムは、
センサデータを提供する１つ以上のセンサと、
データを格納してデータへのアクセスを提供する、１つ以上の非一時的なコンピュータメモリと、
データの格納と受信のために上記１つ以上の非一時的なコンピュータメモリに結合された１つ以上のコンピュータプロセッサと、
上記１つ以上の非一時的なコンピュータメモリによって記憶可能であり、かつ上記１つ以上のコンピュータプロセッサによって実行可能な特徴抽出処理部であって、センサデータから認識用特徴を抽出して認識用特徴を行動認識処理部に送信するように構成され、かつセンサデータから予測用特徴を抽出して予測用特徴を行動予測処理部に送信するように構成された、特徴抽出処理部と、
上記１つ以上の非一時的なコンピュータメモリによって記憶可能であり、かつ上記１つ以上のコンピュータプロセッサによって実行可能な上記行動認識処理部であって、過去のユーザ行動に対する認識ラベルを認識用特徴に基づいて認識ネットワークによって生成し、認識ラベルをトレーニング処理部に送信するように構成された、行動認識処理部と、
上記１つ以上の非一時的なコンピュータメモリによって記憶可能であり、かつ上記１つ以上のコンピュータプロセッサによって実行可能な上記行動予測処理部であって、過去のユーザ行動に対する予測ラベルを予測用特徴に基づいて予測ネットワークによって生成し、予測ラベルをトレーニング処理部に送信するように構成された、行動予測処理部と、
上記１つ以上の非一時的なコンピュータメモリによって記憶可能であり、かつ上記１つ以上のコンピュータプロセッサによって実行可能な上記トレーニング処理部であって、行動予測処理部の１つ以上の予測ネットワーク重みを認識ラベルと予測ラベルとを用いてトレーニングネットワークによってトレーニングするように構成された、トレーニング処理部と、
を備える。
【００１９】
上記および他の実装は、次に挙げる特徴の１つ以上をさらに含みうる：
予測ネットワークは順方向系列処理部、逆方向系列処理部、および時間融合処理部を備えること；ならびに、
順方向系列処理部、逆方向系列処理部、および時間融合処理部のそれぞれは複数の再帰型ニューラルネットワークセルを含むこと。
【００２０】
本開示の全体を通して論じるように、上記およびさまざまな他の実装には多くの追加的特徴が含まれうる。
【発明の効果】
【００２１】
本開示の技術は多くの点において他の既存ソリューションよりも有利である。その非限定的な一例として、本明細書に記載する技術により、計算システムは、高性能で順応性に優れ、かつ車両のセンシング機能および計算リソースの使用を改善し、それによって上述した既存技術の限界を克服する、効率的な運転者行動予測システムを提供できる。例えば、本明細書に記載する技術のいくつかの実装は、ディープな再帰型ニューラルネットワークに基づく高性能の行動予測システムを備えている。これは、いくつかの例において、さ
まざまな運転者行動認識モデルを用いてトレーニング可能であり、より多くの検知手法が使用可能でありえ、かつ／または、かつてのソリューションよりもスケーラビリティに優れうる。上記および他の実装が提供する技術は、極めて高い認識精度、早い時点からの予測、極めて高い予測精度、および多数のセンサ入力を有しうるとともに、複雑さは中程度でしかなく、オンラインとオフライン両方のトレーニングオプションを有しえ、また非常に柔軟でありうる。
【００２２】
本明細書に記載する特徴および利点はすべてを網羅するものではなく、図面および説明に照らせば多くの追加的な特徴および利点が当業者には明らかだろう。また、本明細書に用いる文言は読みやすさや説明を考慮して選定したものであり、発明対象の範囲を限定するものではないことに留意するべきである。
【００２３】
本開示の内容は単なる例示であり、また添付の図面に限定されることもない。図中、同様の要素には同様の参照符号を付している。
【図面の簡単な説明】
【００２４】
【図１】運転挙動をモデル化するための例示的なシステムのブロック図である。
【００２５】
【図２Ａ】例示的な計算装置のブロック図である。
【００２６】
【図２Ｂ】例示的な運転者行動予測エンジンのブロック図である。
【００２７】
【図３Ａ】運転者行動予測エンジンの実使用例のブロック図である。
【図３Ｂ】運転者行動予測エンジンをトレーニングする例示的な実装のブロック図である。
【００２８】
【図４】運転者行動予測エンジンをトレーニングする例示的方法のフローチャートである。
【００２９】
【図５】未来の運転挙動の予想に運転者行動予測エンジンを用いる例示的方法のフローチャートである。
【００３０】
【図６】予測される未来の運転者行動を予測ネットワークを用いて生成する例示的方法のフローチャートである。
【００３１】
【図７Ａ】例示的な予測ネットワークのブロック図である。
【００３２】
【図７Ｂ】例示的な認識ネットワークのブロック図である。
【００３３】
【図７Ｃ】例示的なトレーニングネットワークのブロック図である。
【００３４】
【図８Ａ】センサデータの一例を示す図である。
【図８Ｂ】センサデータの別の例を示す図である。
【図８Ｃ】センサデータのさらに別の例を示す図である。
【図８Ｄ】センサデータのさらに別の例を示す図である。
【図８Ｅ】センサデータのさらに別の例を示す図である。
【００３５】
【図９Ａ】運転挙動のモデル化に影響を与える例示的な要因を示す図である。
【図９Ｂ】運転挙動のモデル化に影響を与える例示的な要因を示す図である。
【００３６】
【図１０Ａ】予測される運転者行動の生成例を示す図である。
【図１０Ｂ】予測される運転者行動の生成例を示す図である。
【発明を実施するための形態】
【００３７】
本明細書に記載する技術は、移動プラットフォーム１０１の内部および外部の環境を捕捉するセンサデータに基づいて、運転者の挙動を効率的かつ効果的にモデル化しうる。例えば、その技術は、運転に関する情報（例えば、運転者の運転の癖や運転環境にどの程度馴染みがあるかを記述するデータ）を処理し、処理した情報をモデル化し、そのモデル化に基づいて正確な運転予測を生成する。いくつかの実装において、モデル化は空間的および時間的パターンを認識することに基づく。これについては別途詳述する。
【００３８】
本開示のいくつかの実装によると、新規の運転者行動予測エンジン（driver action prediction engine）１０５（例えば、図１に示すシステム１００に含まれるもの）が記載
されている。運転者行動予測エンジン１０５は、ディープ（例えば、双方向）再帰型ニューラルネットワーク（deep (e.g, bidirectional) recurrent neural network）を用いたセンサデータの時間融合（temporal fusion of sensor data）に基づく。本明細書に記載する技術は、事前トレーニングした単純な運転者行動認識モデルを用いてトレーニングラベルまたはターゲットを生成することによってニューラルネットワークをトレーニングするという新規の方法をも含みうる。いくつかの実装において、その技術は、上記に加えて、または上記の代わりに、予測ネットワーク７０５のトレーニングに未来のセンサ情報（future sensing information）を組み込んでもよい。
【００３９】
いくつかの実装において、運転者行動予測エンジン１０５は、予測ネットワーク（例えば、図７Ａに示す予測ネットワーク７０５）を運転者行動認識ネットワーク（例えば、運転者行動認識ネットワーク７３１）から得られる結果を用いてトレーニングする。これは、予測ネットワーク７０５のトレーニングにおける人の関与を大幅に低減または不要にすることができるうえ、それによってより多くの検知モダリティが使用可能になりうる。これについては本明細書中で適宜さらに詳細に説明している。例えば、運転者行動予測エンジン１０５は、広く認識可能な任意の運転者行動を予測するように学習することが可能である。特に、それによって、本技術は、システムを大幅に複雑化することなく、大規模で高頻度の検知モダリティを扱えるようになる。
【００４０】
本明細書に記載する技法の改善点のなかで、運転者行動予測エンジン１０５は、センサデータの時間的系列について遡及的に推論する（retrospectively reason）。それにより、システムは、認識された運転者行動の原因を決定することができる。したがって、学習されたそれらの原因が将来再び発生した場合に、同技術は、直後の運転者行動（impending driver action）を予測することができる。特に、一部の既存ソリューションは、未来
の運転者行動を予測するために、認識された運転者行動の系列における時間的な相関関係を学習しようとするのに対し、本明細書に記載する技法による運転者行動予測エンジン１０５は、行動認識に関係するセンサデータと予測に関係するセンサデータとを分離でき、予測ネットワーク７０５のトレーニングにおいては、行動に特化したいくつかの認識ネットワーク７３１からの結果を使用する。
【００４１】
図を参照するにあたり、図中の構成要素を指すために参照符号を用いうる。なお、説明中の図にその参照符号が書かれているとは限らない。また、ある参照符号に、複数ある類似構成要素の１つを指す文字がある場合（例えば、構成要素０００ａ、０００ｂ、……、０００ｎ）、類似構成要素の１つまたはすべてを指すために、かかる文字のない形式で参照符号を用いることがある。
【００４２】
本明細書に記載する実装は車両を代表例とする乗り物（vehicle）の運転に関する場合
が多いが、本明細書に記載する技術は他の好適な分野（例えば、機械操作、列車操作、機関車操作、航空機操作、フォークリフト操作、船舶操作、または任意の他の好適なプラットフォームの操作）にも適用可能である。なお、本開示に記載するいくつかの実装において、ユーザ１１５のことを「運転者（driver）」と表記することがあるが、「運転者」の語を使用することが本開示に記載する技法の範囲を限定すると解釈するべきではない。また、構成要素の個数については本明細書を通して必ずしも記載していないが、状況に応じて複数を適宜含みうる。
【００４３】
図１は、例示的な先進運転支援（ＡＤＡ）システム１００のブロック図である。図に示すように、ＡＤＡシステム１００は、モデリングサーバ１２１、地図サーバ１３１、クライアントデバイス１１７、および移動プラットフォーム１０１を含みうる。ＡＤＡシステム１００の実体要素（entity）どうしはネットワーク１１１を介して通信可能に結合される。なお、図１に示すＡＤＡシステム１００は例示にすぎず、ＡＤＡシステム１００および／または本開示が想定する他のシステムは、追加的な構成要素を含んでいてもよく、含まれる構成要素が記載のものより少なくてもよく、複数の構成要素を組み合わせてもよく、構成要素の１つ以上を追加的な構成要素に分割するなどしてもよい。例えば、ＡＤＡシステム１００は、任意の数の移動プラットフォーム１０１・クライアントデバイス１１７・モデリングサーバ１２１・地図サーバ１３１を含んでもよい。それに加えて、またはその代わりに、ＡＤＡシステム１００は、ユーザ１１５からの音声コマンドを受信して処理する音声サーバ、検索クエリにマッチする検索結果を返す検索サーバ、Ｖ２Ｖ（vehicle-to-vehicle）技術、およびＶ２Ｉ（vehicle-to-infrastructure）技術等を含んでもよい
。
【００４４】
ネットワーク１１１は有線および／または無線の従来タイプのものである。また、スター型、トークンリング型、または他の構成を含む、多様な構成を有してもよい。例えば、ネットワーク１１１は、１つ以上のＬＡＮ（ローカルエリアネットワーク）、ＷＡＮ（ワイドエリアネットワーク）（例えば、インターネット）、公衆網、私設網、仮想ネットワーク、複数の車両間のメッシュネットワーク、ピアツーピアネットワーク、および／または、複数の装置がそれを介して通信しうる他の相互接続データ経路を含んでもよい。
【００４５】
ネットワーク１１１はデータを多様な通信プロトコルで送信するために、電気通信ネットワークにも結合されるか、または電気通信ネットワークの一部をも含む。いくつかの実装において、ネットワーク１１１は、Bluetooth（登録商標）通信網または移動体通信網
を含み、それにより、SMS（ショートメッセージサービス）、MMS（マルチメディアメッセージングサービス）、HTTP（ハイパーテキスト転送プロトコル）、直接的なデータ接続、ＷＡＰ（ワイヤレスアプリケーションプロトコル）、電子メール等、を介するなどしたデータの送受信を可能とする。いくつかの実装において、ネットワーク１１１はワイヤレスネットワークであって、DSRC(dedicated short range communications)、WAVE(wireless access in vehicular environments)、802.11p、3G、4G、5G+ネットワーク、Wi-Fi（登録商標）、または任意の他のワイヤレスネットワーク等の接続を用いる。いくつかの実装において、移動プラットフォーム１０１間、および／または移動プラットフォーム１０１の外部にあるインフラ設備（例えば、交通システムや道路システム等）との間でデータ通信を行うために、ネットワーク１１１はＶ２Ｖおよび／またはＶ２Ｉ通信網を含んでもよい。図１では、モデリングサーバ１２１、地図サーバ１３１、クライアントデバイス１１７、および移動プラットフォーム１０１を結合するネットワーク１１１について１つのブロックしか描いていないが、ネットワーク１１１は実際には上述のように任意数のネットワークの組み合わせを含んでもよい。
【００４６】
モデリングサーバ１２１は、プロセッサと、メモリと、ネットワーク通信能力（例えば、通信ユニット）とを備えた、ハードウェアおよび／または仮想サーバを含む。信号線１
１０によって表されるように、モデリングサーバ１２１はネットワーク１１１と通信可能に結合される。いくつかの実装において、モデリングサーバ１２１は、地図サーバ１３１、クライアントデバイス１１７、および移動プラットフォーム１０１の１つ以上との間で、データの送受信を行う。いくつかの実装において、モデリングサーバ１２１は、運転者行動予測エンジン（ＤＡＰエンジン）のインスタンス１０５ｃと認識データ記憶装置１２３とを含んでもよい。これについては本明細書において適宜さらに説明する。
【００４７】
認識データ記憶装置１２３は、ユーザの行動を記述するための用語データ（terminology data）（例えば、行動認識処理部２５５によって生成された認識ラベル）を格納する。なお、図１においてモデリングサーバ１２１は認識データ記憶装置１２３を備えるものとして描かれているが、それに加えて、またはその代わりに、移動プラットフォーム１０１および／またはクライアントデバイス１１７が認識データ記憶装置１２３を備えていてもよい。例えば、移動プラットフォーム１０１および／またはクライアントデバイス１１７は、認識データ記憶装置１２３のインスタンスを含んだり、認識データ記憶装置１２３からのデータをキャッシュしたりする（例えば、認識データをさまざまな時間間隔でダウンロードする）。例えば、いくつかの実装において、一部の認識データは、移動プラットフォーム１０１に予め格納ないしインストールされたり、セットアップ時もしくは最初の使用時に格納および／またはリフレッシュされたり、さまざまな時間間隔で複製されたりする。さらに他の実装において、認識データ記憶装置１２３からのデータは、実行時もしくはトレーニング時に要求されてダウンロードされる。他の好適な変形も可能であり、かかる変形も想定されている。
【００４８】
クライアントデバイス１１７は、プロセッサと、メモリと、通信ユニットと、を備えた計算装置である。クライアントデバイス１１７はネットワーク１１１と結合可能であり、モデリングサーバ１２１、地図サーバ１３１、および移動プラットフォーム１０１（および／またはネットワーク１１１に結合される任意の他の構成要素）の１つ以上との間で、データの送受信を行う。クライアントデバイス１１７の非限定的な例として、ラップトップコンピュータ、デスクトップコンピュータ、タブレット型コンピュータ、携帯電話機、ＰＤＡ（携帯情報端末）、モバイル電子メール装置、沿道センサ、信号機、交通カメラ、組み込みシステム、専用装置、または情報処理およびネットワーク１１１へのアクセスが可能な任意の他の電子機器、が挙げられる。いくつかの実装において、クライアントデバイス１１７は、１つ以上のセンサ１０３ｂ、ナビゲーションアプリケーション１０７ｂ、および／または運転者行動予測エンジン１０５ｂを含む。
【００４９】
いくつかの実装において、クライアントデバイス１１７は、ナビゲーションアプリケーションのインスタンス１０７ｂを含む。これはナビゲーションの指示をユーザ１１５に提供、および／またはＧＰＳ情報を運転者行動予測エンジン１０５に提供する。信号線１０６によって示すように、ユーザ１１５はクライアントデバイス１１７とインタラクト可能である。図１にはクライアントデバイス１１７を１つしか描いていないが、ＡＤＡシステム１００は複数のクライアントデバイス１１７を含んでもよい。
【００５０】
移動プラットフォーム１０１は、プロセッサと、メモリと、通信ユニットと、を備えた計算装置を含む。かかる計算装置の例として、移動プラットフォーム１０１の他の構成要素（例えば、それぞれ１つ以上のセンサ１０３ａ、アクチュエータ、モチベータ等）と結合された電子制御装置（ＥＣＵ）または他の好適なプロセッサが挙げられる。移動プラットフォーム１０１は、信号線１０２を介してネットワーク１１１と結合されるほか、モデリングサーバ１２１、地図サーバ１３１、およびクライアントデバイス１１７の１つ以上との間で、データの送受信を行ってもよい。いくつかの実装において、移動プラットフォーム１０１は、ある地点から別の地点へ人もしくは物を輸送可能である。移動プラットフォーム１０１の非限定的な例として、乗り物（vehicle）、自動車（automobile）、バス
、船、航空機、生物工学的移植片（bionic implant）、またはコンピュータ電子部品（例えば、プロセッサ、メモリ、または任意に組み合わせられた非一時的なコンピュータ電子部品）を備えた任意の他の移動プラットフォーム、が挙げられる。信号線１０４によって表されるように、ユーザ１１５は移動プラットフォーム１０１とインタラクト可能である。ユーザ１１５は、移動プラットフォーム１０１を操作する人間ユーザである。例えば、ユーザ１１５は、乗り物の運転者であってよい。
【００５１】
移動プラットフォーム１０１は、１つ以上のセンサ１０３ａ、CAN（Controller Area Network）データ記憶装置１０９、運転者行動予測エンジン１０５ａ、および／またはナビゲーションアプリケーションのインスタンス１０７ａを含む。図１には移動プラットフォーム１０１を１つしか描いていないが、ＡＤＡシステム１００は複数の移動プラットフォーム１０１を含んでもよい。例えば、いくつかの実装において、複数の移動プラットフォーム１０１が互いに通信を行うことによってセンサ１０３からのセンサデータを共有可能である。
【００５２】
ＣＡＮデータ記憶装置１０９は、ある所与の移動プラットフォーム１０１の各種構成要素間でＣＡＮを用いて通信される、さまざまな種類の車両動作データ（「車両ＣＡＮデータ」とも称する）を格納する。これについては本明細書中で適宜説明するとおりである。いくつかの実装において、車両動作データは、移動プラットフォーム１０１の各種構成要素と結合される複数のセンサ１０３ａから収集され、それらの構成要素の動作状態のモニタリングに使用される。車両ＣＡＮデータの例として、変速機情報、速度、加速度、減速度、車輪速度（ＲＰＭ：１分間の回転数）、車輪スリップ、トラクションコントロール情報、フロントワイパー制御情報、操舵角、制動力等が挙げられるが、これらには限定されない。いくつかの実装において、車両動作データは、移動プラットフォーム１０１の現在位置を記述する位置データ（例えば、ＧＰＳ座標）をも含む。それ以外の標準的な車両動作データも想定される。いくつかの実装において、ＣＡＮデータ記憶装置１０９は、データを格納してデータへのアクセスを提供するデータストレージシステム（例えば、標準的なデータないしデータベース管理システム）の一部であってもよい。
【００５３】
センサデータ記憶装置１１３は、ＡＤＡシステム１００が将来に検索や使用できるように、センサ１０３からのセンサデータを格納する。例えば、トレーニング時には、格納されたセンサデータがセンサデータ記憶装置１１３から検索され、予測ラベルおよび／または認識ラベルの生成のために使用される。いくつかの実装において、センサデータ記憶装置１１３は、データを格納してデータへのアクセスを提供するデータストレージシステム（例えば、標準的なデータないしデータベース管理システム）の一部であってよい。なお、図ではセンサデータ記憶装置１１３は移動プラットフォーム１０１内にあるものとして描かれているが、それに加えて、またはその代わりに、センサデータ記憶装置１１３は、クライアントデバイス１１７、モデリングサーバ１２１、地図サーバ１３１に備わっていてもよいし、あるいはそれらの構成要素にわたって分散していてもよい。
【００５４】
センサ１０３ａおよび／または１０３ｂ（本明細書では総称して１０３とも表記する）は、移動プラットフォーム１０１および／またはクライアントデバイス１１７にとって好適な任意の種類のセンサを含みうる。センサ１０３は、移動プラットフォーム１０１の特性、その内部および外部の環境、および／またはユーザの行動を（例えば、直接的または間接的に）決定するのに好適な、任意の種類のセンサデータを収集するように構成されうる。センサ１０３の非限定的な例として、上述のような、各種光学センサ（ＣＣＤ、ＣＭＯＳ、２Ｄ、３Ｄ、ＬＩＤＡＲ（光検知測距）、カメラ等）、音感センサ、動き検出センサ、気圧計、高度計、熱電対、湿度センサ、赤外線センサ、レーダセンサ、その他の光センサ、ジャイロスコープ、加速度計、速度計、ステアリングセンサ、ブレーキセンサ、スイッチ、車両表示器センサ、フロントワイパーセンサ、地理位置センサ、送受信機、ソナ
ーセンサ、超音波センサ、タッチセンサ、近接センサ、ＣＡＮデータに関係する任意のセンサ、等が挙げられる。
【００５５】
センサ１０３は１つ以上の光学センサを含み、当該光学センサは、移動プラットフォーム１０１の内部または外部環境の動画像および静止画像を含む画像を記録し、適用可能な任意のフレームレートを用いてビデオストリームのフレームを記録し、適用可能な任意の方法を用いて撮影した動画像および静止画像をエンコードおよび／または処理し、センシング範囲内の周囲環境の画像を撮影するように構成される。例えば、移動プラットフォーム１０１の文脈において、センサ１０３ａは、移動プラットフォーム１０１の周りの環境（道路、沿道の構造物、建物、樹木、動的な路上物体（例えば、周囲の移動プラットフォーム１０１、歩行者、道路作業員等）、および／または静的な路上物体（例えば、車線、交通標識、路面標識、ロードコーン、バリケード等）などを含む）を撮影しうる。いくつかの実装において、センサ１０３は、移動プラットフォーム１０１の経路に対して任意の方向（前方、後方、側方、上方、下方、対向方向等）をセンシングするように搭載される。いくつかの実装において、１つ以上のセンサ１０３は多方向型（例えば、ＬＩＤＡＲ）であってもよい。
【００５６】
センサ１０３は、それに加えて、および／またはその代わりに、ユーザの動作（例えば、移動プラットフォーム１０１の内部を見ているか外部を見ているか）の動画像および静止画像を含む画像を記録するように、適用可能な任意のフレームレートを用いてビデオストリームを記録し、および／または適用可能な任意の方法を用いて撮影した動画像および静止画像をエンコードおよび／または処理するように構成された、１つ以上の光学センサを含んでもよい。例えば、移動プラットフォーム１０１の文脈において、センサ１０３は、ユーザによる移動プラットフォーム１０１の操作（例えば、前進、制動、左折、右折、左への車線変更、右への車線変更、Ｕターン、停止、緊急停止、滑りやすい道での制御不能等）を取得する。いくつかの実装において、センサ１０３は、ユーザの操舵行動や制動動作等を取得することによって、移動プラットフォーム１０１の動作を決定可能である。１つ以上の実装において、センサ１０３は、移動プラットフォーム１０１の動きとは直接関係のない、ユーザの行動および動作（例えば、ユーザの顔の表情、頭部の向き、手の位置、およびユーザによる移動プラットフォーム１０１の操作に影響しうるかどうかによらない他の動作）を取得してもよい。さらに別の例として、センサ１０３は、は、移動プラットフォーム１０１および／またはユーザ１１５のある状況を反映した画像データを取得してもよい（例えば、ユーザの頭の動きをある時間にわたって一連の画像フレームにおいてモニタする等）。
【００５７】
センサ１０３は１つ以上の信号受信機を含んでもよく、当該信号受信機は、車両情報を（例えば、センサデータ記憶装置１１３に）記録してそれを周囲の他の移動プラットフォーム１０１に送信し、上記周囲の他の移動プラットフォーム１０１、クライアントデバイス１１７、遠隔デバイスのセンサ１０３等から情報を受信するように構成される。上記他の移動プラットフォーム１０１から受信した情報は、移動プラットフォーム１０１の他の構成要素（例えば、運転者行動予測エンジン１０５）が後続処理に利用できるようにこれら他の構成要素に通知される。
【００５８】
移動プラットフォーム１０１、モデリングサーバ１２１、および／またはクライアントデバイス１１７のプロセッサ２１３（例えば、図２Ａ参照）は、センサ１０３（またはセンサデータ記憶装置１１３）からセンサデータを受信して処理する。移動プラットフォーム１０１の文脈において、プロセッサ２１３は、移動プラットフォーム１０１（例えば、車両）内に実装される電子制御装置（ＥＣＵ）を含む。ただし、それ以外の移動プラットフォームタイプも想定される。ＥＣＵはセンサデータを車両動作データとして受信し、運転者行動予測エンジン１０５がアクセスおよび／または検索できるようにＣＡＮデータ記
憶装置１０９に格納する。いくつかの例において、車両動作データは（例えば、受信および／または処理時に車両のバスを介して、ＥＣＵを介して、等によって）運転者行動予測エンジン１０５に直接提供される。他の好適な変形も可能であり、かかる変形も想定されている。さらに別の例として、１つ以上のセンサ１０３は、移動プラットフォーム１０１を操作するユーザ１１５の、時間的に変化する画像データを取得する。このとき、画像データは、移動プラットフォーム１０１を操作しながら次の行動を準備するときのユーザ１１５の動作（例えば、左を見る、右を見る、右足をアクセルからブレーキペダルに移す、ステアリングホイール上で両手を動かす）を示している。運転者行動予測エンジン１０５は、センサ１０３やセンサデータ記憶装置１１３から得られるセンサデータ（例えば、リアルタイムビデオストリームや一連の静止画像等）を、（例えば、バスやＥＣＵ経由等で）受信し、ユーザ１１５がこれから行うであろう行動を判定するために処理する。これについては本明細書において適宜さらに説明している。
【００５９】
モデリングサーバ１２１、移動プラットフォーム１０１、クライアントデバイス１１７の少なくともいずれかは、運転者行動予測エンジン１０５のインスタンス１０５ａ、１０５ｂ、および１０５ｃを含む。一部の構成において、運転者行動予測エンジン１０５は、ネットワーク１１１内のまったく異なる位置にあるまったく異なるデバイスの間で分散してもよい。その場合、クライアントデバイス１１７、移動プラットフォーム１０１、モデリングサーバ１２１はそれぞれ運転者行動予測エンジン１０５のインスタンスもしくは運転者行動予測エンジン１０５のアスペクトを含みうる。例えば、運転者行動予測エンジンの各インスタンス１０５ａ、１０５ｂ、および１０５ｃは、図２Ｂに示す下位構成要素（サブコンポーネント）やそれらの下位構成要素のさまざまな変形の１つ以上を含有しうる。これについては以下にさらに詳細に説明している。一部の構成において、運転者行動予測エンジン１０５は、例えば、図２Ｂに示す要素をすべて備えたアプリケーションである。
【００６０】
運転者行動予測エンジン１０５はコンピュータロジックを含み、当該コンピュータロジックは、センサ１０３からのセンサデータを受信もしくは検索して処理し、センサデータのパターンを認識し、予測される未来のユーザ行動を生成し、さらにいくつかの実装では、対策を生成して実行（例えば、警告を生成）し、および／または、ユーザ１１５・移動プラットフォーム１０１・関連する物体が直面するリスクを回避する補償行動を実装する、ように動作可能である。いくつかの実装において、運転者行動予測エンジン１０５は、１つ以上のコンピュータ装置の１つ以上のプロセッサによって実行可能なソフトウェアを用いて、ハードウェア（次のものに限定されないが、例えば、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、ＡＳＩＣ（特定用途向け集積回路）等）を用いて、および／またはハードウェアとソフトウェアの組み合わせ等を用いて、実現される。運転者行動予測エンジン１０５については以下により詳細に説明している。
【００６１】
ナビゲーションアプリケーション１０７（例えば、インスタンス１０７ａまたは１０７ｂの１つ以上）はコンピュータロジックを含み、当該コンピュータロジックは、例えば、ナビゲーションの指示をユーザ１１５に提供したり、情報を表示したり、入力を受信したり、するように動作可能である。いくつかの実装において、ナビゲーションアプリケーション１０７は、１つ以上のコンピュータ装置の１つ以上のプロセッサによって実行可能なソフトウェアを用いて、ハードウェア（次のものに限定されないが、例えば、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、ＡＳＩＣ（特定用途向け集積回路）等）を用いて、および／またはハードウェアとソフトウェアの組み合わせ等を用いて、実現される。
【００６２】
ナビゲーションアプリケーション１０７は、センサ１０３から取得されるデータを利用するものであり、センサ１０３は、位置データ（例えば、ＧＰＳ、三角測量、セルラー三
角測量等）を受信して対応する計算装置やセンサ１０３等に（例えば、センサデータとして）提供するように構成された地理位置送受信機（例えば、ＧＰＳ送受信機、セルラー無線機、無線通信機等）等が含まれる。例えば、移動プラットフォーム１０１および／またはクライアントデバイス１１７は、かかる地理位置送受信機を搭載し、ナビゲーションアプリケーション１０７の対応するインスタンスは、かかる送受信機からの位置データを受信して処理するように構成される。ナビゲーションアプリケーション１０７については以下により詳細に説明している。
【００６３】
地図サーバ１３１は、プロセッサ、メモリ、およびネットワーク通信能力を有するハードウェアおよび／または仮想サーバを含む。いくつかの実装において、地図サーバ１３１は、モデリングサーバ１２１、移動プラットフォーム１０１、およびクライアントデバイス１１７の１つ以上との間でデータの送受信を行う。例えば、地図サーバ１３１は、地理空間的領域の地図を記述するデータを、運転者行動予測エンジン１０５とナビゲーションアプリケーション１０７の１つ以上に送信する。地図サーバ１３１は信号線１１２を介してネットワーク１１１と通信可能に結合されている。いくつかの実装において、地図サーバ１３１は、地図データベース１３２および関心地点（ＰＯＩ）データベース１３４を含みうる。
【００６４】
地図データベース１３２は、１つ以上の地理的地域に関連する地図を記述するデータを格納する。このデータは、時間および／または他のセンサデータとリンクされうるほか、センサデータとして使用ないし含有されうる。いくつかの実装において、地図データは１つ以上の地理的地域を街路レベルで記述する。例えば、地図データは、ある特定の道路に関連する１つ以上の車線を記述する情報を含む。より具体的には、地図データは、道路の進行方向、道路の車線数、その道路からの出口および道路への入口、１つ以上の車線が特殊な状態にある（例えば、カープール車線である）かどうか、それらの車線における道路状況、それらの車線における交通および／または事故データ、それらの車線に関連する交通規制（例えば、車線区分線、路面標示、交通信号、交通標識等）等を記述する。いくつかの実装において、地図データベース１３２は、データを格納してデータへのアクセスを提供するデータベース管理システム（ＤＢＭＳ）を含みうる、および／またはそのようなＤＢＭＳと関連する。
【００６５】
関心地点（ＰＯＩ）データベース１３４は、関心地点を記述するデータをさまざまな地理的地域について格納する。例えば、ＰＯＩデータベース１３４は、さまざまな道路区画沿いにある観光名所、ホテル、レストラン、ガソリンスタンド、大学付属スタジアム、ランドマーク等を記述するデータを格納する。いくつかの実装において、ＰＯＩデータベース１３４は、データを格納してデータへのアクセスを提供するデータベース管理システム（ＤＢＭＳ）を含む。
【００６６】
なお、図１に示すＡＤＡシステム１００は例示的システムの代表であるにすぎず、この他にも多様なシステム環境および構成が想定されるうえ、それらはいずれも本開示の技術的思想の範囲内にある。例えば、さまざまな作用および／または機能をモデリングサーバ１２１からクライアントデバイス１１７もしくは移動プラットフォーム１０１に移動してもよい。あるいは、データを１台のデータ記憶装置に集約してもいいし、追加的なデータ記憶装置にさらに分散させてもよい。いくつかの実装は、追加的な計算装置、サーバ、および／またはネットワークを含んでもよく、あるいは含まれる計算装置、サーバ、および／またはネットワークが記載のものより少なくてもよい。また、さまざまな機能をクライアント側に実装しても、サーバ側に実装してもよい。さらに、システムのさまざまな実体要素を１つの計算装置もしくはシステムに統合してもいいし、追加的な計算装置もしくはシステムに分割するなどしてもいい。
【００６７】
図２Ａは、例示的な計算装置２００のブロック図である。これは、モデリングサーバ１２１、クライアントデバイス１１７、移動プラットフォーム１０１、または地図サーバ１３１のアーキテクチャを表しうる。
【００６８】
図に示すように、計算装置２００は、１つ以上のプロセッサ２１３と、１つ以上のメモリ２１５と、１つ以上の通信ユニット２１７と、１つ以上の入力デバイス２１９と、１つ以上の出力デバイス２２１と、１つ以上のデータ記憶装置２２３と、を備えている。計算装置２００の構成要素は、バス２１０を介して通信可能に結合されている。計算装置２００がサーバ１０１、クライアントデバイス１１７、または移動プラットフォーム１０１を表すいくつかの実装において、計算装置２００は、１つ以上の運転者行動予測エンジン１０５、１つ以上のセンサ１０３、および／または１つ以上のナビゲーションアプリケーション１０７等を含みうる。
【００６９】
図２Ａに示す計算装置２００は例示にすぎず、本開示の範囲を逸脱することなく他の形態を取りえ、また追加的な構成要素を含んでもいいし、含まれる構成要素が図示のものより少なくてもよい。例えば、図示していないが、計算装置２００は、さまざまなオペレーティングシステム、ソフトウェア、ハードウェアコンポーネント、および他の物理構成を含みうる。
【００７０】
計算装置２００が移動プラットフォーム１０１に含まれる（組み込まれる）いくつかの実装において、計算装置２００は、移動プラットフォーム１０１のさまざまなプラットフォームコンポーネント（例えば、プラットフォームバス（例えば、図８Ｅに関連して記載されるＣＡＮ）、１つ以上のセンサ１０３（例えば、車載センサ、音響センサ、映像センサ、化学センサ、バイオメトリックセンサ、位置センサ（例えば、ＧＰＳ、コンパス、加速度計、ジャイロスコープ等）、スイッチ、およびコントローラ）、カメラ等、内燃機関、電気モータ、パワートレイン部品、サスペンション要素、計器類、空気調和機、および／または移動プラットフォーム１０１の任意の他の電気的、機械的、構造的、および機械的部品）を含んでもよいし、および／またはこれらの要素に結合されてもよい。これらの実装において、計算装置２００はＥＣＵ、ＥＣＭ、ＰＣＭ等を実現してもよいし、それらに組み込まれてもよいし、またはそれらを含んでもよい。さらに他の実装において、計算装置２００は、移動プラットフォーム１０１に組み込まれる組み込みシステムを含んでもよい。
【００７１】
プロセッサ２１３は、さまざまな入出力動作、論理演算、および／または数学的演算を実行することによってソフトウェア命令を実行可能である。プロセッサ２１３は、データ信号処理を行うさまざまな計算アーキテクチャを有する。これには例えば、ＣＩＳＣ（複雑命令セットコンピュータ）アーキテクチャ、ＲＩＳＣ（縮小命令セットコンピュータ）アーキテクチャ、および／または命令セットの組み合わせを実装するアーキテクチャ、が挙げられる。プロセッサ２１３は物理プロセッサおよび／または仮想プロセッサであってよい。また、シングルコアであってもよいし、複数の処理装置および／またはコアを含んでもよい。いくつかの実装において、プロセッサ２１３は、電子表示信号の生成、電子表示信号の表示装置（図示せず）への提供、画像表示のサポート、画像のキャプチャおよび送信、さまざまなタイプの特徴抽出およびサンプリングを含む複雑なタスクの実行、等が可能である。いくつかの実装において、プロセッサ２１３はバス２１０を介してメモリ２１５に結合され、それにより、メモリ２１５内部のデータおよび命令へのアクセスならびにメモリ２１５内部へのデータの格納を行う。バス２１０は、プロセッサ２１３を、計算装置２００の他の構成要素（例えば、メモリ２１５、通信ユニット２１７、センサ１０３、運転者行動予測エンジン１０５、ナビゲーションアプリケーション１０７、入力デバイス２１９、出力デバイス２２１、および／またはデータ記憶装置２２３を含む）に結合する。
【００７２】
メモリ２１５は、データを格納するとともに、計算装置２００の他の構成要素に対してデータへのアクセスを提供する。いくつかの実装において、メモリ２１５は、プロセッサ２１３によって実行される命令および／またはデータを格納する。例えば、計算装置２００の構成に応じて、メモリ２１５は、運転者行動予測エンジン１０５の１つ以上のインスタンス、および／またはナビゲーションアプリケーション１０７の１つ以上のインスタンスを格納する。メモリ２１５は、他の命令およびデータ（例えば、本発明中に記載されるさまざまなデータ、オペレーティングシステム、ハードウェアドライバ、他のソフトウェアアプリケーション、データベース等）を格納することもできる。プロセッサ２１３および計算装置２００の他の構成要素と通信するため、メモリ２１５はバス２１０に結合される。
【００７３】
メモリ２１５は、コンピュータで使用可能（例えば、読み取り可能、書き込み可能等）な１つ以上の非一時的媒体を含む。その媒体は、プロセッサ２１３による処理やプロセッサ２１３と関連して処理するための命令・データ・コンピュータプログラム・ソフトウェア・コード・ルーチン等を含有・格納・通信・伝達・搬送が可能な任意の有形な非一時的な装置もしくはデバイスであってよい。いくつかの実装において、メモリ２１５は、揮発性メモリおよび不揮発性メモリの１つ以上を含む。例えば、メモリ２１５は、ＤＲＡＭ（ダイナミックランダムアクセスメモリ）デバイス、ＳＲＡＭ（スタティックランダムアクセスメモリ）デバイス、ディスクリートメモリデバイス（例えば、ＰＲＯＭ、ＦＰＲＯＭ、ＲＯＭ）、ハードディスクドライブ、光ディスクドライブ（ＣＤ、ＤＶＤ、Ｂｌｕ−ｒａｙ（登録商標）ディスク等）の１つ以上を含むが、これらには限定されない。なお、メモリ２１５は単一のデバイスであってもいいし、複数種類のデバイスおよび構成を含んでいてもよい。
【００７４】
通信ユニット２１７は、無線および／または有線接続を用いて（例えば、ネットワーク１１１を介して）通信可能に結合された他の計算装置との間でデータを送受信する。通信ユニット２１７は、データを送受信するために１つ以上の有線インタフェースおよび／またはワイヤレス送受信機を備える。通信ユニット２１７は、ネットワーク１１１と結合されて他のコンピューティングノード（例えば、クライアントデバイス１１７、移動プラットフォーム１０１、および／またはサーバ１２１もしくは１３１等（構成によって異なる））と通信する。通信ユニット２１７は、上述したような標準的な通信方法を用いて他のコンピューティングノードとの間でデータを交換する。
【００７５】
バス２１０は、計算装置２００の構成要素間または計算装置間でデータを転送するための通信バス、ネットワーク１１１および／またはその一部を含むネットワークバスシステム、プロセッサメッシュ、その組み合わせ等を含む。いくつかの実装において、バス２１０は、ＩＳＡ（インダストリスタンダードアーキテクチャ）バス、ＰＣＩ（ペリフェラルコンポーネントインターコネクト）バス、ＵＳＢ（ユニバーサルシリアルバス）、または同様の機能を提供することが知られている他のバスを含む、１つ以上のバスを表しうる。それに加えて、および／またはその代わりに、計算装置２００のさまざまな構成要素は、バス２１０に関連して実装されるソフトウェア通信メカニズムを介して協調および通信しうる。ソフトウェア通信メカニズムは、例えば、プロセス間通信、ローカル関数もしくはプロシージャ呼び出し、リモートプロシージャ呼び出し、オブジェクトブローカ（例えば、ＣＯＲＢＡ）、ソフトウェアモジュール間の直接的なソケット通信（例えば、ＴＣＰ／ＩＰソケット）、ＵＤＰによるブロードキャストと受信、ＨＴＴＰ接続等を含み、および／または促進する。さらに、任意の通信はセキュアにできうる（例えば、ＳＳＨ、ＨＴＴＰＳ等）。
【００７６】
データ記憶装置２２３は、データを格納する非一時的な記憶媒体を含む。非一時的な記
憶媒体の非限定的な例として、ＤＲＡＭ（ダイナミックランダムアクセスメモリ）デバイス、ＳＲＡＭ（スタティックランダムアクセスメモリ）デバイス、フラッシュメモリ、ハードディスクドライブ、フロッピーディスクドライブ、ディスク型メモリデバイス（例えば、ＣＤ、ＤＶＤ、Ｂｌｕ−ｒａｙ（登録商標）ディスク等）、フラッシュメモリデバイス、または何らかの既知の有形かつ揮発性もしくは不揮発性の記憶装置が挙げられうる。データ記憶装置２２３は、図２Ａに示す計算装置２００の具体的な構成に応じて、ＣＡＮデータ記憶装置１０９、認識データ記憶装置１２３、ＰＯＩデータベース１３４、地図データベース１３２、およびセンサデータ記憶装置１１３の１つ以上を表しうるが、他のタイプのデータ記憶装置も可能であり、かかるタイプのものも想定されている。
【００７７】
データ記憶装置２２３は、計算装置２００の１つ以上のメモリ２１５内に含まれうるか、または計算装置２００とは異なるが計算装置２００と結合される、もしくは計算装置２００によってアクセス可能な、別の計算装置および／またはストレージシステム内に含まれうる。いくつかの実装において、データ記憶装置２２３は、モデリングサーバ１２１、地図サーバ１３１、移動プラットフォーム１０１、および／またはクライアントデバイス１１７によって操作可能なＤＢＭＳに関連するデータを格納しうる。例えば、ＤＢＭＳは、ＳＱＬ（structured query language）に対応したＤＢＭＳ、ＮｏＳＱＬ型のＤＭＢＳ
、等を含むことが可能でありうる。いくつかの例において、ＤＢＭＳは、行と列で構成される多次元テーブルの形態でデータを格納しうるうえ、プログラム操作を用いてデータ行の操作（例えば、挿入、クエリ、更新、および／または削除）を行いうる。
【００７８】
入力デバイス２１９は、ユーザ１１５もしくは他のデバイスからの多様な制御入力（例えば、ジェスチャ、音声指示）を受信するように構成された、任意の標準的デバイスを含みうる。入力デバイス２１９の非限定的な例として、テキスト情報の入力・選択の指定・ユーザ１１５とのインタラクトを行うタッチスクリーン（例えば、ＬＥＤベースのディスプレイ）、動き検出入力デバイス、オーディオ入力デバイス、他のタッチ型入力デバイス、キーボード、ポインティングデバイス、インジケータ、および／またはユーザ１１５もしくは上記の他のデバイスとの通信および／またはインタラクションを促進する任意の他の入力構成要素、が挙げられる。入力デバイス２１９は、ユーザ１１５および／またはセンサ１０３から受信される入力ないし信号を中継するために、直接もしくは仲介コントローラを介して、計算装置２００と結合されうる。
【００７９】
出力デバイス２２１は、ユーザ１１５もしくは他のデバイスに情報を出力もしくは表示するように構成された、任意の標準的デバイスを含みうる。出力デバイス２２１の非限定的な例として、ナビゲーション情報をユーザ１１５に表示するタッチスクリーン（例えば、ＬＥＤベースのディスプレイ）、音声情報をユーザ１１５に届けるオーディオ再生装置（例えば、スピーカ）、テキスト情報ないしグラフィック情報をユーザ１１５に提示する表示装置ないしモニタ等、が挙げられる。出力される情報は、テキスト、グラフィック、触覚的、音声、動画、およびユーザ１１５もしくは上記の他のデバイスによって理解されうる他の情報でありうるか、あるいは、移動プラットフォーム１０１および／または他の計算装置のオペレーティングシステムによって読み取り可能なデータ、ロジック、プログラミングでありうる。出力デバイス２２１は、直接もしくは仲介コントローラを介して計算装置２００と結合されうる。
【００８０】
図２Ｂは、例示的な運転者行動予測エンジン１０５のブロック図である。図に示すように、運転者行動予測エンジン１０５は、さまざまな下位構成要素（サブコンポーネント）（例えば、センサデータ処理部２５１、１つ以上の特徴抽出処理部２５３、行動認識処理部２５５、行動予測処理部２５７、および／またはトレーニング処理部２５９）を含みうる。
【００８１】
センサデータ処理部２５１、特徴抽出処理部２５３、行動認識処理部２５５、行動予測処理部２５７、および／またはトレーニング処理部２５９は、ソフトウェア、ハードウェア、または両者の組み合わせとして実現されうる。いくつかの実装において、センサデータ処理部２５１、特徴抽出処理部２５３、行動認識処理部２５５、行動予測処理部２５７、および／またはトレーニング処理部２５９は、バス２１０および／またはプロセッサ２１３によって、互いに、および／または計算装置２００の他の構成要素と、通信可能に結合されうる。いくつかの実装において、構成要素２５１、２５３、２５５、２５７、および２５９の１つ以上は、プロセッサ２１３によって実行可能な命令群である。さらに他の実装において、構成要素２５１、２５３、２５５、２５７、および２５９の１つ以上はメモリ２１５内に格納可能であり、プロセッサ２１３によってアクセスおよび実行可能である。上記実装のいずれにおいても、これらの構成要素２５１、２５３、２５５、２５７、および２５９は、プロセッサ２１３および計算装置２００の他の構成要素と協調および通信するように適合される。
【００８２】
センサデータ処理部２５１は、特徴抽出処理部２５３に入力するためにセンサデータを処理するように動作するコンピュータロジックを含む。いくつかの実装において、センサデータ処理部２５１は、移動プラットフォーム１０１の環境に関係するセンサ１０３を扱う。移動プラットフォーム１０１の環境の例として、例えば、車両の内部もしくは外部や運転者の行動のほか、他の移動プラットフォームもしくはインフラ設置センサ（例えば、道路センサや交通センサ等）による、車両に関するセンシング情報が挙げられる。センサデータ処理部２５１は、特徴抽出処理部２５３がパターン認識を行えるよう、センサデータのフィルタリング、構造化、および／またはフォーマッティングを行う。いくつかの実装において、センサ１０３によって生成されるセンサデータは、ノイズおよび／または不要情報を含みうる。センサデータ処理部２５１は、受信したセンサデータを解析してセンサデータ内のノイズおよび／または不要情報を除去することも好ましい。いくつかの実装において、センサ１０３によって受信されるセンサデータは、異なる特徴および／またはフォーマットを有しうる。センサデータ処理部２５１はさまざまな特徴をフィルタリングし、かつ／またはそれら異なるフォーマットを正規化して、特徴抽出処理部２５３に適合可能とすることも好ましい。
【００８３】
センサデータ処理部２５１は、移動プラットフォーム１０１に関連するセンサデータを受信するために、センサ１０３、データ記憶装置２２３、および／または計算装置２００の他の構成要素と結合される。いくつかの実装において、センサデータ処理部２５１は、移動プラットフォーム１０１に関連するセンサデータをセンサ１０３および／またはセンサデータ記憶装置１１３から受信した後、受信したセンサデータを処理する。これについては本明細書中で適宜説明している。データ処理の後、センサデータ処理部２５１は、処理したセンサデータを特徴抽出処理部２５３に転送するか、または運転者行動予測エンジン１０５の他の構成要素が検索できるようにそのデータを非一時的なメモリ（例えば、センサデータ記憶装置１１３）に格納する。いくつかの実装において、特徴抽出処理部２５３は何ら処理を行うことなくセンサデータを扱ってよく、したがって、センサデータ処理部２５１は受信したセンサデータを特徴抽出処理部２５３にそのまま転送してもよいし、特徴抽出処理部２５３がセンサデータを直接受信してもよい。
【００８４】
特徴抽出処理部２５３は、センサデータから特徴を抽出するように動作するコンピュータロジックを含む。いくつかの実装において、特徴抽出処理部２５３は、ユーザ行動を独立して認識および／または予測するために使用できる特徴を抽出する。いくつかの実装において、特徴抽出処理部２５３は、センサ１０３、センサデータ処理部２５１、および／またはセンサデータ記憶装置１１３から直接受信したセンサデータから特徴を抽出する。例えば、特徴抽出処理部２５３は、格納されたセンサデータに、および／またはセンサ１０３から受信中のセンサデータに、直接アクセスする。
【００８５】
一部の従来技術は、センサデータ内の特徴が予測と認識の両方に関係（relevant）することを前提としていた。しかし、本明細書に記載する技法のいくつかの実装では、特徴抽出処理部２５３は、認識用特徴の抽出と予測用特徴の抽出とを独立に行う。これについては本明細書中で適宜説明している。
【００８６】
特徴抽出処理部２５３は、プロセッサ２１３、メモリ２１５、および／または計算装置２００の他の構成要素とバス２１０を介して協調および通信するように適合される。いくつかの実装において、特徴抽出処理部２５３は、データ記憶装置２２３に格納される予測用特徴および／または認識用特徴等のデータを格納し、および／またはかかる特徴を運転者行動予測エンジン１０５の他の構成要素の１つ以上に送信する。例えば、特徴抽出処理部２５３は、認識用特徴を出力するために行動認識処理部２５５と、また予測用特徴を出力するために行動予測処理部２５７と、結合される。
【００８７】
行動認識処理部２５５は、センサデータおよび／または特徴に基づいて行動を認識するように動作するコンピュータロジックを含む。いくつかの実装において、行動認識処理部２５５は、ユーザ行動を認識するために認識目的で抽出した（例えば、特徴抽出処理部２５３やデータ記憶装置２２３等から直接受信した）特徴を基に、認識ネットワーク７３１を稼働させる。いくつかの実装において、認識ネットワーク７３１は、行動認識処理部２５５のアルゴリズムモデルコンポーネント（algorithmic model component）を含み、当
該コンポーネントは、抽出された特徴やセンサデータから、ユーザ行動を認識または検出する。例えば、ＡＤＡシステム１００は、認識ネットワーク７３１を利用して、検知されたユーザ行動に基づく予測ネットワーク７０５トレーニングのためのラベルを生成する。ユーザ行動に関するラベル作成を人間の分類者のみが行っていた従来技術に比べ、認識ネットワーク７３１を使用することは特に有利である。認識ネットワーク７３１は、本明細書において（例えば図７Ｂを参照して）適宜さらに詳細に説明している。
【００８８】
行動予測処理部２５７は、センサデータおよび／または特徴に基づいて行動を予測するように動作するコンピュータロジックを含む。いくつかの実装において、行動予測処理部２５７は、ユーザ行動を予測するために予測目的で抽出した（例えば、特徴抽出処理部２５３やデータ記憶装置２２３等から直接受信した）特徴を基に、予測ネットワーク７０５を稼働させる。例えば、いくつかの例において、行動予測処理部２５７は、予測目的で抽出された特徴をリアルタイムで受信しながら、当該特徴に基づいて予測ネットワークモデル７０５を実行することによって、未来の運転者行動を継続的に予測する。
【００８９】
いくつかの実装において、予測ネットワーク７０５は、行動予測処理部２５７のアルゴリズムモデルコンポーネントを含み、当該コンポーネントは、抽出された特徴やセンサデータから、運転者行動を認識または検出する。例えば、予測ネットワーク７０５は、センサデータ、またはディープ再帰型ニューラルネットワーク（deep recurrent neural network）を用いて予測目的で抽出した特徴、の時間融合（temporal fusion）を使用しうる。ただし、本発明では他の好適なアプローチも可能であり、かかるアプローチも想定されている。予測ネットワーク７０５については、本明細書において（例えば図７Ａを参照して）適宜さらに詳細に説明している。
【００９０】
トレーニング処理部２５９は、コンピュータロジックを含み、当該ロジックは、例えば予測モデルおよび／またはその重みをトレーニングするように動作する。いくつかの実装において、トレーニング処理部２５９は、（例えば、処理部２５５および／または２５７やデータ記憶装置２２３等から直接受信される）行動認識処理部２５５および／または行動予測処理部２５７の出力を基に、トレーニングネットワーク７６１を稼働させる。いくつかの実装において、トレーニング処理部２５９は、予測目的で抽出した特徴と認識され
た行動ラベルとを（例えば、過去に遡って）組み合わせて、学習データ（training example）を生成する。学習データは後に予測ネットワークモデル７０５のトレーニングに使用される。
【００９１】
本明細書に記載する技法のいくつかの実装によると、トレーニングにおいて、認識ネットワーク７３１に影響を与えることなく予測ネットワーク７０５のみを更新しうる。他方、一部の従来技術では認識モデルと予測モデルを両方同時に更新する必要があり、システムがそれだけ複雑化するとともに、計算リソースも多く消費する。
【００９２】
いくつかの実装において、トレーニングネットワーク７６１は、トレーニング処理部２５９のアルゴリズム用モデルコンポーネントを含みうる。なお、予測ネットワーク７０５は人が作成したユーザ行動用のラベルを用いてトレーニングできるが、本発明で提案するシステムの大きな利点のひとつは、認識ネットワーク７３１によって生成されたラベルを用いることによって予測ネットワーク７０５を容易にトレーニングできることにある。トレーニングネットワーク７６１については本明細書において（例えば図７Ｃを参照して）適宜さらに詳細に説明している。
【００９３】
図３Ａは、運転者行動予測エンジン１０５（図示せず）の実使用例のブロック図３００である。ブロック図３００に示す例において、運転者行動予測エンジン１０５はセンサデータ３０１を受信する。センサデータ３０１は移動プラットフォーム１０１（例えば、車両３０７）に関連するセンサ１０３（図示せず）によって提供される。センサデータ３０１は、環境センシングデータ、車内センシングデータ、または他の種類のセンシングデータを含む。例えば、環境センシングデータは、カメラ（例えば、外部を撮影するもの）、ＬＩＤＡＲ、レーダ、ＧＰＳ等によるデータを含んでもよく；車内センシングデータは、カメラ（例えば、内部を撮影するもの）、マイクロフォン、ＣＡＮバスによるデータ（例えば、本明細書に適宜記載されるようなもの）等を含み；上記他の種類のセンシングデータは、直接的な行動センシング（例えば、ユーザ行動のダイレクトセンサ）、Ｖ２Ｖセンシング（例えば、ある車両から別の車両に提供されるセンサデータ）、Ｖ２Ｉセンシング（例えば、インフラ設備（例えば、道路センサや交通センサ等）から提供されるセンサデータ）等によるデータを含む。
【００９４】
特徴抽出処理部２５３は次に、ステップ３０３において、予測用特徴をセンサデータ３０１に基づいて抽出する。ステップ３０５において、行動予測処理部２５７は、予測ネットワーク（ＰＮ：prediction network）モデル７０５（本明細書において例えば図７Ａを参照して適宜説明されるもの）を用いて未来の運転者行動を予測する。いくつかの実装において、予測される未来の運転者行動は車両３０７の他のシステムに返され、動作（例えば、自動操舵、制動、信号発信等）や警告（例えば、運転者向けのアラーム）を提供するために用いられる。
【００９５】
図３Ｂは、トレーニング時の運転者行動予測エンジン１０５の例のブロック図３５０である。ブロック図３５０に示す例において、特徴抽出処理部２５３は、格納センサデータ（例えば、過去のある時点に収集されメモリに格納されたセンサデータ）をステップ３５１において受信もしくは検索する。特徴抽出処理部２５３は、ステップ３５３において、認識用特徴を格納センサデータから抽出し、ステップ３５５において、認識ネットワーク（ＲＮ：recognition network）モデル７３１を用いて（例えば、図７Ｂを参照して説明
するように）運転者行動を認識する。さらに、特徴抽出処理部２５３はステップ３５７において予測用特徴を抽出する。ステップ３５９において、トレーニング処理部２５９は、予測用に抽出した特徴および認識された運転者行動を用いて学習データを生成し、ステップ３６１において、トレーニングネットワーク７６１を用いて予測ネットワークモデル７０５をトレーニングする。これについては本明細書で（例えば図７Ｃを参照して）適宜説
明するとおりである。
【００９６】
図４は、運転者行動予測エンジン１０５をトレーニングする例示的方法４００のフローチャートである。ステップ４０１において、センサデータ処理部２５１または特徴抽出処理部２５３は、過去のある時点における移動中の車両の特性を記述する格納データ（例えば、センサ１０３もしくはセンサデータ記憶装置１１３に格納されたデータ）を受信する。例えば、車両（例えば、本明細書中に適宜記載される移動プラットフォーム１０１）が（可能性として移動時や運転者行動の受信時等において）センサデータを記録したときに、センサデータは、過去のある期間にわたって（例えば、センサデータ処理部２５１によって）記録されてリンクされる。センサデータは、運転者行動、および／またはその運転者行動を引き起こしうる環境要因、を記述する。
【００９７】
ステップ４０３において、特徴抽出処理部２５３は、予測用特徴および／または認識用特徴を、格納センサデータから抽出する。いくつかの実装において、予測用特徴および認識用特徴は、同じ特徴であってもいいし、異なる特徴であってもよく、またその組み合わせであってもよい。例えば、認識用特徴は、運転者がある一定速度で直進した後に急ブレーキをかけることを含みうるのに対し、予測用特徴は、運転者がある一定速度で直進し、運転者の車両の前に別の車両が割り込んでくることを含みうる。
【００９８】
ステップ４０５において、行動予測処理部２５７は、予測用特徴を予測ネットワーク７０５（例えば、１つ以上の再帰型ニューラルネットワークを含む）に入力し、ステップ４０７において、行動予測処理部２５７は、過去の運転者行動に対する１つ以上の予測ラベルを、予測ネットワーク７０５（例えば、図７Ａを参照して説明されるもの）を用いて予測用特徴に基づいて生成する（例えば、予測ラベルは１つ以上の予測される運転者行動を記述する）。
【００９９】
ステップ４０９において、認識用特徴は（例えば、行動認識処理部２５５によって）認識ネットワーク７３１に入力され、ステップ４１１において、過去の運転者行動に対する認識ラベルを、認識ネットワーク７３１を用いて認識用特徴に基づいて生成する。いくつかの実装において、行動認識処理部２５５は、１つ以上の事前トレーニングした運転者行動認識モデルに認識用特徴を入力することによって過去の運転者行動に対する認識ラベルを生成する。例えば、事前トレーニングした運転者行動認識モデルは、閾値、ＳＶＭ（サポートベクターマシン）、ロジット（例えば、ロジット回帰モデル）、または浅いＣＮＮ（畳み込みニューラルネットワーク）等を含みうる。
【０１００】
ステップ４１３において、トレーニング処理部２５９は、予測ネットワーク７０５の予測ネットワーク重みを、認識ラベルと予測ラベルとを用いてトレーニングする。例えば、予測ネットワーク７０５の１つ以上の予測ネットワーク重みのトレーニングは、認識ラベルと予測ラベルとの間の誤差を決定することを含む。いくつかの実装において、トレーニング処理部２５９は、次に、決定された誤差を打ち切り型通時的逆伝播アルゴリズム（truncated back-propagation through time algorithm）に入力することによって重みを決
定する。いくつかの実装において、トレーニングは、図７Ｃを参照して説明する例示的なトレーニングネットワーク７６１を用いて実施される。
【０１０１】
図５は、未来の運転挙動の予想に運転者行動予測エンジン１０５を用いる例示的方法５００のフローチャートである。ステップ５０１において、センサデータ処理部２５１および／または特徴抽出処理部２５３は、現在のセンサデータを１つ以上のセンサ１０３から受信する。現在のセンサデータは、検出時にセンサ１０３によって提供されるデータ、最近のある期間にわたって収集されたデータ（例えば、過去のＮ個のレコード）、あるクロックサイクルでリフレッシュされるデータ等でありうる。例えば、現在のセンサデータは
、センサ１０３および／またはセンサデータ記憶装置１１３からリアルタイムで受信される。例えば、現在のセンサデータは、現在移動中の車両（例えば、移動プラットフォーム１０１）の特性、環境、ユーザ行動等を記述するデータを含む。いくつかの実装において、センサデータの受信速度を最適化するために、運転者行動予測エンジン１０５は、１つ以上のセンサ１０３と電子的に通信可能に結合されている。ただし、他の変形（例えば、信号速度が低い場合には、介入型構成要素を備える実装）も可能である。
【０１０２】
ステップ５０３において、特徴抽出処理部２５３は、現在の一群の予測用特徴を現在のセンサデータから抽出し、ステップ５０５において、行動予測処理部２５７は上記現在の一群の予測用特徴を予測ネットワーク７０５に入力する。上記現在の一群の予測用特徴は、現在移動中の車両を記述する。
【０１０３】
ステップ５０７において、行動予測処理部２５７は、予測される未来の運転者行動を、１つ以上の予測ネットワーク重み（例えば、トレーニング処理部２５９によってトレーニングされたもの）、現在の一群の予測用特徴、および予測ネットワーク７０５（例えば、図７Ａを参照して説明されるもの）を用いて生成する。
【０１０４】
図６は、未来の運転者行動予測を予測ネットワーク７０５を用いて生成する例示的方法６００のフローチャートである。ステップ６０１において、行動予測処理部２５７は予測用特徴を逆方向系列処理部（backward sequence processor）７１１に入力し、ステップ
６０３において、行動予測処理部２５７は予測用特徴を順方向系列処理部（forward sequence processor）７０９に入力する。これについては図７Ａに示しており、また図７Ａを参照してさらに詳細に説明する。
【０１０５】
ステップ６０５において、行動予測処理部２５７は、逆方向系列処理部７１１の出力と順方向系列処理部７０９の出力とを時間融合処理部７１３を用いて融合（fuse）する。いくつかの実装において、逆方向系列処理部７１１の出力と順方向系列処理部７０９の出力との融合は、逆方向系列処理部７１１の出力の時間的系列と、順方向系列処理部７０９の出力の時間的系列と、の時間的表現を時間融合処理部（temporal fusing processor）７
１３によって生成することを含む。
【０１０６】
ステップ６０７において、行動予測処理部２５７は、分類器７１５を用いて、時間融合処理部７１３の出力を、運転者行動の予測ラベルにマッピングする。これについては、本明細書において適宜さらに詳細に説明している。
【０１０７】
図７Ａは、予測ネットワーク７０５の例示的な実装を含むブロック図である。７０１において、センサデータ処理部２５１および／または特徴抽出処理部２５３は、センサデータをセンサ１０３から受信する。７０３において、特徴抽出処理部２５３は、予測用特徴を、それに加えていくつかの例においては認識用特徴を、センサデータから抽出する。いくつかの実装においては、センサデータは、ユーザ行動の原因となりうる発生要因を含む。
【０１０８】
行動予測処理部２５７は、予測用特徴を予測ネットワーク７０５に入力する。上述のように、予測ネットワーク７０５は、行動予測処理部２５７のアルゴリズム用モデルコンポーネントでありうる。行動予測処理部２５７は、将来のユーザ行動を、その行動が実行される前に、センサデータから抽出した予測用特徴を用いて予測する。いくつかの実装において、予測ネットワーク７０５は、ディープな（例えば、双方向の）再帰型ニューラルネットワーク（ＲＮＮ）を用いて、センサデータまたはセンサデータから抽出した予測用特徴の時間融合を実施する。
【０１０９】
いくつかの実装において、予測ネットワーク７０５は、順方向系列処理部（forward sequence processor）７０９、逆方向系列処理部（backward sequence processor）７１１
、時間融合処理部（temporal fusion processor）７１３、および分類器（classifier）
７１５を含む。処理部７０９、７１１、および７１３のそれぞれは、カスケード接続された１つ以上の再帰型ニューラルネットワークユニット、すなわちＲＮＮセル７０７を含む。ＲＮＮセル７０７ａ、７０７ｂ、７０７ｃ、７０７ｄ、７０７ｅ、および／または７０７ｎのそれぞれは、例えば、基本的なＲＮＮ、長期短期記憶（ＬＳＴＭ）ＲＮＮ、またはゲート付きＲＮＮユニット（ＧＲＵ）のセルなどである。
【０１１０】
ディープな双方向のＲＮＮ構造を使用すること（例えば、順方向系列処理部７０９と逆方向系列処理部７１１の併用）は有用である。なぜなら、センサデータが確実に時間融合され、それにより、現在の最先端技術で得られるものよりも予測範囲（prediction horizon）が広がるためである。例えば、一部の従来技法は、入力データ系列を一方向のＬＳＴＭユニットによって一方向にしか処理できず、そのため、予測の時間スパンが長い場合に予測精度の面においてシステム性能が限られる。
【０１１１】
トレーニング（例えば、遡及的（retroactive）トレーニング（本明細書において適宜
説明している））時には、完全な時間的コンテキストが利用可能であるため、順方向系列処理部７０９と逆方向系列処理部７１１とは入力系列（例えば、予測用特徴の系列）を逆の順序で処理しうる。したがって、順方向系列処理部７０９および逆方向系列処理部７１１は、いくつかの実装において、その演算方向に基づいて異なるセンサデータ表現を有する。実使用（deployment）（例えば、図３Ａの例のような運転者行動の予測）時には、同一の入力ベクトル（例えば、予測用特徴および／またはセンサデータは、ベクトルとして表現される）が、順方向系列処理部７０９と逆方向系列処理部７１１によって処理される。例えば、実使用時において、順方向系列処理部７０９は入力ベクトルを時間の順に処理し、逆方向系列処理部７１１は上記入力ベクトル（例えば、順方向系列処理部７０９に入力したのと同じデータ）を時間遅延させたものを逆の順序で処理する。
【０１１２】
トレーニング時および実使用時において入力ベクトルを順方向系列処理部７０９と逆方向系列処理部７１１とで異なる方向に処理できることは、本明細書に記載するさまざまな実装においてさらに有用である。一部の従来技術では、センサデータの空間融合を実現するために二重ＲＮＮ（例えば、ＬＳＴＭ）が使用される（例えば、片方のＲＮＮが車内データを処理し、もう１つのＲＮＮが環境データを処理する）が、本明細書に記載する技法のいくつかの実装は、センサデータの時間融合に使用される双方向タイプのものが接続される。同様に、上記「背景技術」に記載した専用のＲＮＮユニットを用いるさまざまな他の手法とは異なり、順方向系列処理部７０９および逆方向系列処理部７１１のいくつかの実装は、センサデータの空間融合に対する責任を共有する。
【０１１３】
時間融合処理部７１３は、（例えば、センサデータの空間融合（spatial sensor data fusion）に限定されるのではなく）センサデータを時間的に融合する。それにより、逆方向系列処理部７０９の重みに未来のセンサデータを組み込むことが可能になる。これは、センサデータの空間融合のみを行う過去の技術に比べて予測精度および予測範囲を向上できる点で有用である。一部のケースにおいて、予測ネットワーク７０５は、順方向系列処理部７０９、逆方向系列処理部７１１、および時間融合処理部７１３を用いて入力系列（例えば、センサデータないし予測用特徴の系列）中の時間的な相関関係を学習できる。本明細書に記載する技法を用いてセンサデータを時間的に融合する能力は、運転者行動予測エンジン１０５を大きな特徴的サイズおよび高いサンプリングレートで用いることを可能にし、それによって予測精度と予測範囲が向上するという有用性をもつ。
【０１１４】
いくつかの実装において、時間融合処理部７１３の出力は、分類器７１５を用いて運転
者行動予測にマッピングされる。いくつかの実装において、分類器７１５は、ロジット（例えば、ロジスティック回帰ユニット）ならびにシグモイド層もしくはソフトマックス層のいずれかを含みうるが、他のタイプも可能で、想定されており、かつ適用可能である。一例において、可能性が最も高い一群の相互排他的な運転者行動の予測にはソフトマックスを使用でき、一群の非相互排他的な運転者行動の確率の決定にはシグモイドを使用できる。分類器７１５は予測ラベル７２１を出力する。予測ラベル７２１は、センサデータがリアルタイム（もしくは実質的にリアルタイム）の場合には予測される未来の運転者行動もしくは事象を表し、センサデータが過去のある時点のものである場合（例えば、予測される運転者行動がすでに発生している場合）にはトレーニング用の予測運転者行動を表わす。いくつかの実装において、予測ラベルは、予測される行動の確率、かかる行動が発生する予測時間（例えば、秒や分等の範囲等）等をも含む。
【０１１５】
図７Ｂは、認識ネットワーク７３１の例示的な実装のブロック図である。上述のように、認識ネットワーク７３１は、行動認識処理部２５５のアルゴリズム用モデルコンポーネントでありうる。行動認識処理部２５５は、センサデータから抽出した認識用特徴（例えば、図７Ａの７０１および７０３で説明したもの）から運転者行動を認識または検出する。認識ネットワーク７３１の出力は、予測ネットワーク７０５の重みのトレーニングに用いる目標もしくはラベル（例えば、認識ラベル７３５）として機能する。したがって、認識ネットワーク７３１により、運転者行動予測エンジン１０５は人とのインタラクション（例えば、予測トレーニングデータの手動ラベル付け）がなくても任意の運転者行動を予測できるようになる。
【０１１６】
一部の行動（例えば、ユーザが行う行動、および／またはかかる行動に影響を与える環境要因）（より具体的には、例えば、ペダルのポジション、操舵、方向指示器等）は直接的に視認可能であるが、一部の他の行動（例えば、実際の方向転換、車線変更、居眠り、頭部姿勢、注意力等）には追加処理が必要となりうる。本明細書に記載する認識ネットワーク７３１は、基本的行動（例えば、直接的に視認可能なもの）と、より高次の行動（例えば、上述のような追加処理を要する行動）との両方を検出するように構成されてもよい。なお、必ずしも常に必要なわけではないが、一部のケースでは、性能向上のため、関心のある行動をセンシングする専用のセンサを直接用いることによってかかる行動を直接センシングすることが有用である。認識ネットワーク７３１の性能は運転者行動予測エンジン１０５全体の性能を制限するため、行動を直接センシングすること、および／または誤差の閾値レベルに対して監視を行うことは有用である。
【０１１７】
いくつかの実装において、認識ネットワーク７３１によって認識される行動は、当該移動プラットフォーム１０１内、他の移動プラットフォーム１０１内、および／または沿道のインフラ設備内で起こりうる。例えば、他の移動プラットフォーム１０１および／または沿道のインフラ設備は、ユーザの行動を直接センシングするセンサ１０３を有しうるとともに、行動認識サービスをも提供しうる。他の移動プラットフォーム１０１または沿道のインフラ設備からの、認識された行動の情報は、当該移動プラットフォーム１０１および／または運転者行動予測エンジン１０５に、Ｖ２ＶまたはＶ２Ｉ通信を介して提供されうる。
【０１１８】
いくつかの実装において、認識ネットワーク７３１は、１つ以上の事前トレーニングした認識モデル７３３を含む。例えば、認識ネットワーク７３１は、事前トレーニングした多様な単純モデル（例えば、校正済みセンサ値の閾値、ロジスティック回帰、ＳＶＭ（サポートベクターマシン）、浅い多層パーセプトロン、浅い畳み込みニューラルネットワーク等）を含みうる。いくつかの実装において、認識ネットワーク７３１は、事前トレーニングした運転者行動認識モデルを使用する。これは、かかる認識モデルが、当該移動プラットフォーム１０１、他の移動プラットフォーム１０１、またはインフラ設備によって直
接センシングされ、過去の試みに比べて運転者行動認識をかなり簡単化されるためである。
【０１１９】
上記の事前トレーニングした認識モデルは、運転者行動予測エンジン１０５の他の構成要素（例えば、トレーニング処理部２５９）が使用するための認識ラベル７３５を出力する。
【０１２０】
図７Ｃは、トレーニングネットワーク７６１の例示的な実装のブロック図である。上述のように、トレーニングネットワーク７６１はトレーニング処理部２５９のアルゴリズム用モデルコンポーネントを含みうる。トレーニング処理部２５９は、運転者行動予測エンジン１０５の構成要素の１つ以上（例えば、予測ネットワーク７０５）をトレーニングする。いくつかの実装において、トレーニングネットワーク７６１は、ロジット関数（Logit function）７６３、シグモイド関数（Sigmoid function）７６５、重み付き交差エントロピー損失関数（weighted cross-entropy loss function）７６７、およびターゲットラベル７６９を含みうる。これらの構成要素は、例えば、予測ネットワーク７０５の重み、および／またはトレーニングネットワーク７６１のパラメータ、をトレーニングするように構成される。
【０１２１】
いくつかの実装において、トレーニングネットワーク７６１は、時間融合処理部７１３の出力、分類器７１５の出力（例えば、予測ラベル７２１）、および／または認識ネットワーク７３１の出力（例えば、認識ラベル７３５）、を入力として受け取る。なお、本発明で提案する予測ネットワーク７０５は、運転者行動に対して人が作成したラベルを用いたトレーニングが可能であるが、本明細書に記載する技法のいくつかの実装における有用性のひとつは、運転者行動予測エンジン１０５が認識ネットワーク７３１によって生成されたラベルを用いて予測ネットワーク７０５を容易にトレーニングできることにある。
【０１２２】
いくつかの実装において、予測ネットワーク７０５の重みは、予測ネットワーク７０５の出力（例えば、予測ラベル７２１）と認識ネットワーク７３１の出力（例えば、認識ラベル７３５）との間の誤差を用いてトレーニングされる。例えば、このトレーニングは、（例えば、当該技術分野において、再帰ユニットを備えた他のディープニューラルネットワークのトレーニングに用いられうるような）打ち切り型通時的逆伝播アルゴリズムを用いて実施される。
【０１２３】
図７Ｃに示す実装において、トレーニングネットワーク７６１は、損失重み分岐（loss
weight branch）を含む。損失重み分岐は、任意の時点において、予測ネットワーク７０５がどの程度予測誤差から学習するべきかを自動決定する、例えば、重み付き交差エントロピー損失関数７６７は、予測ネットワーク７０５をトレーニングするにあたり、ターゲットラベル７６９（例えば、認識ラベル７３５からのもの）と、時間融合処理部７１３の出力（例えば、ロジット関数７６３およびシグモイド関数７６５を用いて処理したもの）および予測ラベル７２１とを組み合わせる。この損失分岐により、トレーニングネットワーク７６１は、予測ネットワークのパラメータと認識された行動との間の関係の決定に寄与しないようなノイズ入り入力フレームを排除可能になる。
【０１２４】
図８Ａ〜図８Ｅに、センサデータのさまざまな例を示す。図８Ａは、特に、移動プラットフォーム１０１の外部センサによって捕捉されて提供される例示的な画像データの図８００である。図示した画像データは、移動プラットフォーム１０１のさまざまな外部環境を含んでいる。図示した例において、移動プラットフォーム１０１（車両８０２）は、片側２車線の４車線道路を北に向かって移動している。車両８０２の前方の道路状況をモニタするために、車両８０２にセンサ１０３（例えば、正面を向いた画像センサ）が搭載される。車両８０２が交差点８０８に近づく瞬間に画像データ（グレーの四角８０４で示し
たもの）がキャプチャされうる。この画像データは、その瞬間における車両８０２の正面の道路交通データ（例えば、交差点内を東に走行中の別の車両８０６を描いた一連のフレーム）を含む。
【０１２５】
図８Ｂは、時間変化する画像データであって、移動プラットフォーム１０１の内側および／または外側の環境のモニタするために使用される画像データのさらなる例を示す図８２０である。画像データは、異なる時間に撮影された一連の画像を含む。例えば、画像８２２と８２４によって示される画像は、車両内部の運転者の頭部８２６の動きをモニタするために異なる時間に続けて撮影された２枚の画像をそれぞれ表している。画像８２２と８２４の違いは、運転者が頭部を左に回していることを示している。別の例として、画像８３２と８３４は、車両外部の交通信号をモニタするために異なる時間に続けて撮影された２枚の画像をそれぞれ表している。画像８３２と８３４の違いは、信号機８３６がちょうど緑（画像８３２）から赤（画像８３４）に変わったところであることを示している。
【０１２６】
図８Ｃは例示的なセンサデータを示す。このセンサデータは、センサデータ処理部２５１が位置情報装置（例えば、ＧＰＳまたは他の好適な地理位置情報ユニット）から受信するナビゲーションデータを含む。いくつかの実装において、ナビゲーションアプリケーション１０７は、ナビゲーションの指示を運転者に提示するように位置情報装置によって操作されるが、ナビゲーションアプリケーション１０７の他の変形も可能であり、かかる変形も想定されている。これについては本明細書中で適宜説明しているとおりである。
【０１２７】
図８Ｃのグレーの四角８５２の内側に示すように、ナビゲーションデータは、移動プラットフォーム１０１の過去、現在、および未来の位置に関する情報を含む。例えば、ナビゲーションデータは、移動プラットフォーム１０１の現在の状態に関する情報（例えば、速度、方向、現在の道路等）を含む。符号８５４、８５６、８５７、および８６０に示すように、ナビゲーションデータは、地図上のナビゲーション経路、予定目的地、どこをどう曲がるかの指示等に基づく、移動プラットフォーム１０１の未来の位置をも含む。それに加えて、またはその代わりに、ナビゲーションデータは地図データ、音声データ、および本明細書中で適宜説明している他のデータを含みうる。図８Ｄは、ユーザ１１５に対してどこをどう曲がるかを指示する例である。これは、ユーザに対して表示されるルートと関係する。この指示は１つ以上の出力デバイス２２１（例えば、スピーカや画面等）を介して視覚的および／または音声によってユーザ１１５に向けて出力される。
【０１２８】
いくつかの実装において、センサデータによって受信される音声データは、移動プラットフォーム１０１の内部および／または外部で取得された任意の音声信号を含む。音声データの非限定的な例として、衝突音、緊急車両によって発せられる音、音声コマンド等が挙げられる。いくつかの実装において、センサデータは、時間変化する車両運転者の方向を含む。
【０１２９】
図８Ｅは、ＣＡＮデータを抽出される例示的なＣＡＮネットワーク８７０を示したものである。ＣＡＮネットワーク８７０は、１つ以上のセンサデータ源（sensor source）を
含む。例えば、ＣＡＮネットワーク８７０、および／またはＣＡＮネットワーク８７０によって取得されるデータを格納する非一時的なメモリが、１つの共同センサデータ源を含んでもいいし、あるいは、ネットワーク８７０に含まれてもいいし、センサ１０３を構成する各センサ群（例えば、８７４、８７６、８７８等）のそれぞれが、センサデータ源を含んでもよい。
【０１３０】
ＣＡＮネットワーク８７０は、メッセージベースのプロトコルであって、マイクロコントローラおよび装置がホストコンピュータなしで互いに通信することを可能にするプロトコルを用いる。ＣＡＮネットワーク８７０は、信号をデータに変換して格納し、変換した
データをセンサデータ処理部２５１、ＥＣＵ、非一時的メモリ、および／またはＡＤＡシステム１００の他の構成要素、に送信する。センサデータは、車両に備わるマイクロコントローラおよび装置のいずれからも届く。マイクロコントローラおよび装置の例として、例えば、ユーザ制御装置８７８、ブレーキシステム８７６、エンジン制御装置８７４、パワーシート８９４、計器類８９２、バッテリ８８８、照明システム８９０、ステアリングセンサ１０３、電動ロック８８６、情報システム８８４（例えば、オーディオシステム、ビデオシステム、ナビゲーションシステム等）、変速機制御装置８８２、サスペンションシステム８８０等が挙げられる。
【０１３１】
図８Ａ〜図８Ｅを参照して説明した例示的なセンサデータに加えて、またはその代わりに、多種多様な他のセンサデータ（例えば、電子的なメッセージデータ、他のセンサデータ、他の移動プラットフォーム１０１からのデータ、所定のシステムからのデータ等）も使用できる。例えば、ある車両から受信するセンサデータは、対向方向から接近してくる別の車両から受信する、数秒後に左折しようとしていること、ないし左折が予想されることを知らせる電子的なメッセージデータを含む場合がある。
【０１３２】
図９Ａおよび図９Ｂに、運転挙動のモデル化に影響を与える要因例を示す。図９Ａは、異なる運転者の異なる操舵癖９００を例示した図である。画像９０２は、車両が前進しているときにステアリングホイール９２４を操作する運転者の基本姿勢を示している。運転者の左腕９２２と右腕９２０は、ステアリングホイール９２４の対称の位置（例えば、両手は１０時と２時の位置）にある。画像９０４、９０６、および９０８は、左折時にステアリングホイールを操作する運転者のさまざまなパターンを示している。例えば、画像９０４において、運転者はステアリングホイール９２４を回すように両腕を動かして左折するところである。このときステアリングホイール９２４における両手の位置は変わっていない。これに対し、画像９０６および９０８では、運転者はまず片手もしくは両手の位置を変えてからステアリングホイール９２４を回す。例えば、画像９０６において、運転者は最初に左手９２６をステアリングホイール９２４の前側に移動してから左腕９２２を引き戻し、ステアリングホイール９２４を回す準備をする。画像９０８では、運転者は片手を放す、かつ／またはステアリングホイール９２４において片手の位置を変える。
【０１３３】
いくつかの実装において、運転者行動予測エンジン１０５は、図９Ａ（例えば、画像９０６および９０８）に示すパターンを認識するようにトレーニングされ、それらのパターンに基づいて未来の左折を予測できるようになる。運転者行動予測エンジン１０５は、次に、未来の結果（例えば、運転挙動）を正確に予想できるよう、ユーザのさまざまな癖に適合される。
【０１３４】
図９Ｂは、その場所に馴染みがあるかどうかがユーザの運転挙動にどう影響するのかを示す例である。画像９５２および９６２は、見慣れた場所（familiar environment）９５０でのユーザの動作を撮影したものである。この場所９５０では、ユーザの頭部９５６は比較的不動の状態にあり、右足９６６はブレーキペダル９６８から離れて停止状態にある。
【０１３５】
これに対し、画像９５４および９６４は、馴染みのない場所９８０でのユーザの動作を撮影したものである。例えば、画像データ９５４に示すように、ユーザは頭部９５６を絶えず左右に動かして、周囲の環境（例えば、道路信号機、街路名、出口等）を確認しようとする。それに加えて、またはその代わりに、画像データ９６４に示すように、ユーザは右足９６６をブレーキペダル９６８の近くに移動したり、右足９６６をブレーキペダル９６８の上の位置に保持したりする。この足の動作は、見慣れない場所においては予測できないリスクに対して即座に制動行動を行えるように備えることを示す。同様に、頭部の動きは馴染みのない場所９８０での右左折を示しうる。
【０１３６】
運転者行動予測エンジン１０５は、センサデータからパターンを判定するときに、運転者のパターンと、その場所に馴染みがあるかどうかとを（例えば、上述したパターンと馴染みの有無とを）関連づける。さらに、トレーニング過程において、運転者行動予測エンジン１０５の構成要素はパターンを状況（例えば、見慣れた場所と馴染みのない場所）において考慮するように適合される。
【０１３７】
図１０Ａおよび図１０Ｂは、予測される運転者行動の生成例を示したものである。図１０Ａにおいて、車両１００２は交差点に接近中である。複数群のセンサ１０３は、車両１００２が交差点に接近しているときのセンサデータを複数セット取得しうる。センサデータは、別の車両が交差点内を東に移動していることを示す画像データ１００４と、車両の位置から見た車両のルートを反映するＧＰＳデータ１００６および１００８と、車両のブレーキペダル上にあるユーザ１１５の右足を撮影した画像データ１０１０と、ユーザ１１５が頭部を回転して左側の道路状況を確認する様子を捕らえた画像データ１０１２と、車両１００２の右側の方向指示器が点灯していることを示すＣＡＮデータ１０１４と、を含む。運転者行動予測エンジン１０５が複数のモダリティ（例えば、上述の検知要素）を考慮することで予測精度が向上する。例えば、画像データ１００４がなければ、運転者行動予測エンジン１０５が本明細書で説明する方法を用いて生成する未来の運転者行動予測は、ユーザ１１５が４秒後に右折することを示すものとなるかもしれない。これに対し、画像データ１００４があれば、運転者行動予測エンジン１０５は、ユーザ１１５が５秒後に右折しうるという運転者行動予測を生成できる。この判断は、画像データ１００４において車両が交差点を通過するのに要する時間に基づいて行われる。これはトレーニング過程を通して学習される。いくつかの実装において、ＡＤＡシステム１００は、予測される運転者行動に基づいて行動を実行しうる。例えば、予測される時間に車両のサスペンション装置を右左折に対して適合させたり、より正確なナビゲーション指示（例えば、どこをどう曲がるかの指示）を与えたりすること等が挙げられる。
【０１３８】
図１０Ｂにおいて、車両１００２は交差点に接近中である。複数のセンサ１０３は、車両１００２が交差点に接近しているときのセンサデータを複数取得する。センサデータは、別の車両が交差点内を東に移動していることを示す画像データ１００４と、ルートの方向を示すＧＰＳデータ１００８と、ブレーキペダル上にあるユーザ１１５の右足を撮影した画像データ１０１０と、正面を向くユーザを撮影した画像データ１０４２と、赤信号１０２２を示す画像データ１０２０と、を含む。以前のトレーニングならびに前の反復（iteration）で行われた学習に基づき、運転者行動予測エンジン１０５は、ユーザ１１５が
ある時点で前進を開始するという運転者行動予測を、受信した複数のセンサデータに基づいて生成する。この時間は、前の反復またはトレーニングにおいて赤信号が変わるのに要した時間の長さに基づいて決定されてもよい。ＡＤＡシステム１００は、予想に関連する行動を実行する。これには例えば、車両および／またはさまざまなシステムの始動、サスペンション装置の適合、ギアチェンジの実行、更新されたナビゲーション指示の提供等が挙げられる。
【０１３９】
本明細書に記載するシステムおよび技法のいくつかの実装は、ディープな（双方向の）再帰型ニューラルネットワークを用いたセンサデータの時間融合に基づく効率的な運転者行動予測システムについて記載している。これらのシステムおよび技法は、過去の技術に比べて高精度で高速な予測を実現できる。そうしたシステムおよび技法は、認識ネットワーク７３１からの結果を用いて予測ネットワーク７０５をトレーニングするという利点を活かし、例えば、より多くの検知モダリティを利用可能とし、より高いスケーラビリティを提供する。いくつかの例において、本明細書に記載する運転者行動予測システムは、格納されたセンサデータへの直接的なアクセスを実現し、それによって、単に認識ネットワーク７３１からの瞬間的な結果に基づくのではなく、予測ネットワーク７０５を事後に構
築することができる。さらに、本明細書に記載する技法は、センサの特徴が予測と認識の両方に関係することを前提としていない。本明細書に記載する要素の組み合わせにより、一部の過去の技術に対して多くの利点が提供される。
【０１４０】
本明細書に記載する、提案の運転者行動予測システムのいくつかの実装は、記載した有用性（例えば、非常に高い認識精度、長期の予測範囲、非常に高い予測精度、中程度の複雑さ、オンラインとオフライン両方のトレーニングオプション、柔軟性、および多数のセンサ入力）の１つ以上を実現する。他の形態のコンピュータ学習にはないこれら多数の利点は、軽微な逸脱、誤差、または遅延が負傷や器物損害に至りうる移動プラットフォーム１０１環境において重要である。
【０１４１】
以上の説明では、本発明を十分に理解できるように、多くの詳細について説明した。しかしながら、各実施形態はこれらの具体的な詳細無しでも良いことは当業者にとって明らかであろう。また、説明が不明瞭になることを避けるために、構造や装置をブロック図の形式で表すこともある。たとえば、一実施形態は、ユーザインタフェースおよび特定のハードウェアとともに説明される。しかし、ここでの説明は、データおよびコマンドを受信する任意のタイプの計算装置および任意の周辺機器について適用できる。
【０１４２】
以上の詳細な説明の一部は、非一時的（non-transitory）なコンピュータ可読記憶媒体に記憶されたデータビットに対する動作のアルゴリズムおよび記号的表現として提供される。これらのアルゴリズム的な説明および表現は、データ処理技術分野の当業者によって、他の当業者に対して自らの成果の本質を最も効果的に説明するために用いられるものである。なお、本明細書において（また一般に）アルゴリズムとは、所望の結果を得るための論理的な手順を意味する。処理のステップは、物理量を物理的に操作するものである。必ずしも必須ではないが、通常は、これらの量は記憶・伝送・結合・比較およびその他の処理が可能な電気的または磁気的信号の形式を取る。通例にしたがって、これらの信号をビット・値・要素・エレメント・シンボル・キャラクタ・項・数値などとして称することが簡便である。
【０１４３】
なお、これらの用語および類似する用語はいずれも、適切な物理量と関連付いているものであり、これら物理量に対する簡易的なラベルに過ぎないということに留意する必要がある。説明から明らかなように、特に断らない限りは、本明細書において「処理」「計算」「コンピュータ計算（処理）」「判断」「表示」等の用語を用いた説明は、コンピュータシステムや類似の電子的計算装置の動作および処理であって、コンピュータシステムのレジスタやメモリ内の物理的（電子的）量を、他のメモリやレジスタまたは同様の情報ストレージや通信装置、表示装置内の物理量として表される他のデータへ操作および変形する動作および処理を意味する。
【０１４４】
本発明は、本明細書で説明される動作を実行する装置にも関する。この装置は要求される目的のために特別に製造されるものであっても良いし、汎用コンピュータを用いて構成しコンピュータ内に格納されるプログラムによって選択的に実行されたり再構成されたりするものであっても良い。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な、例えばフロッピー（登録商標）ディスク・光ディスク・ＣＤ−ＲＯＭ・ＭＯディスク・磁気ディスクなど任意のタイプのディスク、読み込み専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード、フラッシュメモリ、光学式カード、電子的命令を格納するために適した任意のタイプの媒体などの、非一時的なコンピュータ可読記憶媒体に記憶される。
【０１４５】
発明の具体的な実施形態は、完全にハードウェアによって実現されるものでも良いし、完全にソフトウェアによって実現されるものでも良いし、ハードウェアとソフトウェアの
両方によって実現されるものでも良い。好ましい実施形態は、ソフトウェアによって実現される。ここでソフトウェアとは、ファームウェア、常駐ソフトウェア、マイクロコードやその他のソフトウェアを含むものである。さらに、ある実施形態は、コンピュータが利用あるいは読み込み可能な記憶媒体からアクセス可能なコンピュータプログラムプロダクトの形態を取る。この記憶媒体は、コンピュータや任意の命令実行システムによってあるいはそれらと共に利用されるプログラムコードを提供する。コンピュータが利用あるいは読み込み可能な記憶媒体とは、命令実行システムや装置によってあるいはそれらと共に利用されるプログラムを、保持、格納、通信、伝搬および転送可能な任意の装置を指す。
【０１４６】
プログラムコードを格納・実行するために適したデータ処理システムは、システムバスを介して記憶素子に直接または間接的に接続された少なくとも１つのプロセッサを有する。記憶素子は、プログラムコードの実際の実行に際して使われるローカルメモリや、大容量記憶装置や、実行中に大容量記憶装置からデータを取得する回数を減らすためにいくつかのプログラムコードを一時的に記憶するキャッシュメモリなどを含む。
入力／出力（Ｉ／Ｏ）装置は、例えばキーボード、ディスプレイ、ポインティング装置などであるが、これらはＩ／Ｏコントローラを介して直接あるいは間接的にシステムに接続される。
【０１４７】
システムにはネットワークアダプタも接続されており、これにより、私的ネットワークや公共ネットワークを介して他のデータ処理システムやリモートにあるプリンタや記憶装置に接続される。モデム、ケーブルモデム、イーサネット（登録商標）は、現在利用可能なネットワークアダプタのほんの一例である。
【０１４８】
最後に、本明細書において提示されるアルゴリズムおよび表示は特定のコンピュータや他の装置と本来的に関連するものではない。本明細書における説明にしたがったプログラムを有する種々の汎用システムを用いることができるし、また要求された処理ステップを実行するための特定用途の装置を製作することが適した場合もある。これら種々のシステムに要求される構成は、以上の説明において明らかにされる。さらに、本発明は、特定のプログラミング言語と関連づけられるものではない。本明細書で説明される本発明の内容を実装するために種々のプログラミング言語を利用できることは明らかであろう。
【０１４９】
実施形態の前述の説明は、例示と説明を目的として行われたものである。したがって、開示された実施形態が本発明の全てではないし、本発明を上記の実施形態に限定するものでもない。本発明は、上記の開示にしたがって、種々の変形が可能である。本発明の範囲は上述の実施形態に限定解釈されるべきではなく、特許請求の範囲にしたがって解釈されるべきである。本発明の技術に詳しい者であれば、本発明はその思想や本質的特徴から離れることなくその他の種々の形態で実現できることを理解できるであろう。同様に、モジュール・処理・特徴・属性・方法およびその他の本発明の態様に関する名前付けや分割方法は必須なものでものないし重要でもない。また、本発明やその特徴を実装する機構は異なる名前や分割方法や構成を備えていても構わない。
【０１５０】
さらに、当業者であれば、モジュール・処理・特徴・属性・方法およびその他の本発明の態様は、ソフトウェア、ハードウェア、ファームウェアもしくはこれらの組合せとして実装できることを理解できるであろう。また、本発明をソフトウェアとして実装する場合には、モジュールなどの各要素は、どのような様式で実装されても良い。例えば、スタンドアローンのプログラム、大きなプログラムの一部、異なる複数のプログラム、静的あるいは動的なリンクライブラリー、カーネルローダブルモジュール、デバイスドライバー、その他コンピュータプログラミングの当業者にとって既知な方式として実装することができる。さらに、本発明の実装は特定のプログラミング言語に限定されるものではないし、特定のオペレーティングシステムや環境に限定されるものでもない。以上のように、上記
の本発明の説明は限定的なものではなく例示的なものであり、本発明の範囲は添付の特許請求の範囲にしたがって定められる。
【符号の説明】
【０１５１】
１００  先進運転支援システム
１０１  移動プラットフォーム
１０３  センサ
１０５  運転者行動予測エンジン
１０５  総合認知エンジン
１０７  ナビゲーションアプリケーション
１０９  ＣＡＮデータ記憶装置
１１１  ネットワーク
１１３  センサデータ記憶装置
１１５  ユーザ
１１７  クライアントデバイス
１２１  モデリングサーバ
１２３  認識データ記憶装置
１３１  地図サーバ
１３２  地図データベース
１３４  ＰＯＩデータベース
【図１】
2018028906.tif 000003
【図２Ａ】
2018028906.tif 000004
【図２Ｂ】
2018028906.tif 000005
【図３Ａ】
2018028906.tif 000006
【図３Ｂ】
2018028906.tif 000007
【図４】
2018028906.tif 000008
【図５】
2018028906.tif 000009
【図６】
2018028906.tif 000010
【図７Ａ】
2018028906.tif 000011
【図７Ｂ】
2018028906.tif 000012
【図７Ｃ】
2018028906.tif 000013
【図８Ａ】
2018028906.tif 000014
【図８Ｂ】
2018028906.tif 000015
【図８Ｃ】
2018028906.tif 000016
【図８Ｄ】
2018028906.tif 000017
【図８Ｅ】
2018028906.tif 000018
【図９Ａ】
2018028906.tif 000019
【図９Ｂ】
2018028906.tif 000020
【図１０Ａ】
2018028906.tif 000021
【図１０Ｂ】
2018028906.tif 000022