(57)【要約】      （修正有）【課題】自動運転車両において、環境オブジェクトの挙動を短時間で予測すること。【解決手段】本方法、装置及びシステムは、自動運転車両において機械学習により環境オブジェクトの挙動を予測することができる。トレーニングデータセットでトレーニングされた第１ニューラルネットワーク及び第２ニューラルネットワークを少なくとも含むデータ処理アーキテクチャを生成する。トレーニングされたニューラルネットワークを含むデータ処理アーキテクチャを用いて、自動運転車両環境における１つ又は複数のオブジェクトの挙動を予測する。自動運転車両の動作を制御するために、自動運転車両環境における１つ又は複数のオブジェクトの予測された挙動に少なくとも部分的に基づいて運転信号を生成する。【選択図】図８
2020083308.tif 000002
【特許請求の範囲】
【請求項１】
自動運転車両（ＡＤＶ）において機械学習により環境オブジェクトの挙動を予測するためのコンピュータによって実施される方法であって、
ある時点で前記ＡＤＶの感知から受信された感知データに対して第１ニューラルネットワークを適用して１組の感知特徴を抽出することと、
前記第１ニューラルネットワークから抽出された感知特徴と、地図から取得された地図情報とに基づいて、第２ニューラルネットワークを用いて前記ＡＤＶの環境における１つ又は複数のオブジェクトの挙動を予測することと、
前記ＡＤＶの環境における前記１つ又は複数のオブジェクトの予測された挙動に少なくとも部分的に基づいて制御コマンドを生成して、前記ＡＤＶの動作を制御することと、を含むコンピュータによって実施される方法。
【請求項２】
前記１つ又は複数のオブジェクトは、自動車、自転車及び／又は歩行者を含む請求項１に記載の方法。
【請求項３】
前記第１ニューラルネットワークは、多層パーセプトロンであり、前記第２ニューラルネットワークは、畳み込みニューラルネットワーク（ＣＮＮ）である請求項１に記載の方法。
【請求項４】
前記第１ニューラルネットワークは、１つ又は複数の以前の計画周期から前記１つ又は複数のオブジェクトの履歴特徴を入力として受け取り、前記１つ又は複数のオブジェクトの抽出された履歴特徴を出力として生成し、前記第２ニューラルネットワークは、前記１つ又は複数のオブジェクトの抽出された履歴特徴及び地図情報を入力として受け取り、前記１つ又は複数のオブジェクトの予測された挙動を出力として生成する請求項３に記載の方法。
【請求項５】
前記１つ又は複数のオブジェクトの前記履歴特徴は、位置、速度及び加速度のうち１つ又は複数を含み、前記地図情報は、高精細地図に由来するとともに、車線特徴成分、交通信号成分、静的オブジェクト成分及び一般地図情報成分のうち１つ又は複数を含む請求項４に記載の方法。
【請求項６】
前記ＡＤＶの矩形感知及び予測領域のグリッドサブディビジョンに基づいて、前記１つ又は複数のオブジェクトの抽出された履歴特徴及び前記地図情報を、関連付けられるブロック情報でラベル付けし、前記グリッドサブディビジョンは、前記ＡＤＶの前記矩形感知及び予測領域をグリッドに基づいて複数の均一サイズの矩形ブロックに細分化することを含む請求項４に記載の方法。
【請求項７】
前記１つ又は複数のオブジェクトの予測された挙動は、
オブジェクトが含まれると予測される前記感知及び予測領域におけるブロック毎について、オブジェクト種類、前記ブロックに関連付けられた前記オブジェクトの予測された挙動に関する１つ又は複数の特徴、及び信頼度レベルのうち１つ又は複数を示す数字の列として表示される請求項６に記載の方法。
【請求項８】
指令が格納されている非一時的機械可読媒体であって、前記指令は、プロセッサによって実行されるときに、自動運転車両（ＡＤＶ）において機械学習により環境オブジェクトの挙動を予測するための動作を前記プロセッサに実行させ、前記動作は、
ある時点で前記ＡＤＶの感知から受信された感知データに対して第１ニューラルネットワークを適用して１組の感知特徴を抽出することと、
前記第１ニューラルネットワークから抽出された感知特徴と、地図から取得された地図情報とに基づいて、第２ニューラルネットワークを用いて前記ＡＤＶの環境における１つ又は複数のオブジェクトの挙動を予測することと、
前記ＡＤＶの環境における前記１つ又は複数のオブジェクトの予測された挙動に少なくとも部分的に基づいて制御コマンドを生成して、前記ＡＤＶの動作を制御することと、を含む非一時的機械可読媒体。
【請求項９】
前記１つ又は複数のオブジェクトは、自動車、自転車及び／又は歩行者を含む請求項８に記載の非一時的機械可読媒体。
【請求項１０】
前記第１ニューラルネットワークは、多層パーセプトロンであり、前記第２ニューラルネットワークは、畳み込みニューラルネットワーク（ＣＮＮ）である請求項８に記載の非一時的機械可読媒体。
【請求項１１】
前記第１ニューラルネットワークは、１つ又は複数の以前の計画周期から前記１つ又は複数のオブジェクトの履歴特徴を入力として受け取り、前記１つ又は複数のオブジェクトの抽出された履歴特徴を出力として生成し、前記第２ニューラルネットワークは、前記１つ又は複数のオブジェクトの抽出された履歴特徴及び地図情報を入力として受け取り、前記１つ又は複数のオブジェクトの予測された挙動を出力として生成する請求項１０に記載の非一時的機械可読媒体。
【請求項１２】
前記１つ又は複数のオブジェクトの前記履歴特徴は、位置、速度及び加速度のうち１つ又は複数を含み、前記地図情報は、高精細地図に由来するとともに、車線特徴成分、交通信号成分、静的オブジェクト成分及び一般地図情報成分のうち１つ又は複数を含む請求項１１に記載の非一時的機械可読媒体。
【請求項１３】
前記ＡＤＶの矩形感知及び予測領域のグリッドサブディビジョンに基づいて、前記１つ又は複数のオブジェクトの抽出された履歴特徴及び前記地図情報を、関連付けられるブロック情報でラベル付けし、前記グリッドサブディビジョンは、前記ＡＤＶの前記矩形感知及び予測領域をグリッドに基づいて複数の均一サイズの矩形ブロックに細分化することを含む請求項１１に記載の非一時的機械可読媒体。
【請求項１４】
前記１つ又は複数のオブジェクトの予測された挙動は、
オブジェクトが含まれると予測される前記感知及び予測領域におけるブロック毎について、オブジェクト種類、前記ブロックに関連付けられた前記オブジェクトの予測された挙動に関する１つ又は複数の特徴、及び信頼度レベルのうち１つ又は複数を示す数字の列として表示される請求項１３に記載の非一時的機械可読媒体。
【請求項１５】
プロセッサと、指令を格納するために前記プロセッサに接続されるメモリとを備えるデータ処理システムであって、前記指令は、前記プロセッサによって実行されるときに、自動運転車両（ＡＤＶ）において機械学習により環境オブジェクトの挙動を予測するための動作を前記プロセッサに実行させ、前記動作は、
ある時点で前記ＡＤＶの感知から受信された感知データに対して第１ニューラルネットワークを適用して１組の感知特徴を抽出することと、
前記第１ニューラルネットワークから抽出された感知特徴と、地図から取得された地図情報とに基づいて、第２ニューラルネットワークを用いて前記ＡＤＶの環境における１つ又は複数のオブジェクトの挙動を予測することと、
前記ＡＤＶの環境における前記１つ又は複数のオブジェクトの予測された挙動に少なくとも部分的に基づいて制御コマンドを生成して、前記ＡＤＶの動作を制御することと、を含むデータ処理システム。
【請求項１６】
前記１つ又は複数のオブジェクトは、自動車、自転車及び／又は歩行者を含む請求項１５に記載のデータ処理システム。
【請求項１７】
前記第１ニューラルネットワークは、多層パーセプトロンであり、前記第２ニューラルネットワークは、畳み込みニューラルネットワーク（ＣＮＮ）である請求項１５に記載のデータ処理システム。
【請求項１８】
前記第１ニューラルネットワークは、１つ又は複数の以前の計画周期から前記１つ又は複数のオブジェクトの履歴特徴を入力として受け取り、前記１つ又は複数のオブジェクトの抽出された履歴特徴を出力として生成し、前記第２ニューラルネットワークは、前記１つ又は複数のオブジェクトの抽出された履歴特徴及び地図情報を入力として受け取り、前記１つ又は複数のオブジェクトの予測された挙動を出力として生成する請求項１７に記載のデータ処理システム。
【請求項１９】
前記１つ又は複数のオブジェクトの前記履歴特徴は、位置、速度及び加速度のうち１つ又は複数を含み、前記地図情報は、高精細地図に由来するとともに、車線特徴成分、交通信号成分、静的オブジェクト成分及び一般地図情報成分のうち１つ又は複数を含む請求項１８に記載のデータ処理システム。
【請求項２０】
前記ＡＤＶの矩形感知及び予測領域のグリッドサブディビジョンに基づいて、前記１つ又は複数のオブジェクトの抽出された履歴特徴及び前記地図情報を、関連付けられるブロック情報でラベル付けし、前記グリッドサブディビジョンは、前記ＡＤＶの前記矩形感知及び予測領域をグリッドに基づいて複数の均一サイズの矩形ブロックに細分化することを含む請求項１８に記載のデータ処理システム。
【請求項２１】
前記１つ又は複数のオブジェクトの予測された挙動は、
オブジェクトが含まれると予測される前記感知及び予測領域におけるブロック毎について、オブジェクト種類、前記ブロックに関連付けられた前記オブジェクトの予測された挙動に関する１つ又は複数の特徴、及び信頼度レベルのうち１つ又は複数を示す数字の列として表示される請求項２０に記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願の実施形態は、主に自動運転車両の動作に関する。より具体的には、本開示の実施形態は、自動運転車両を制御する際に機械学習アルゴリズムにより予測することに関する。
【背景技術】
【０００２】
車両が自動運転モード（例えば、ドライバーレス）で走行している場合に、乗員、特に運転手を運転に関連するいくつかの責務から解放することができる。自動運転モードで走行している場合に、車両が車載センサを用いて様々な場所にナビゲートされることができ、ヒューマンコンピュータインタラクションが最小限に抑えられた場合、又は乗員がいない状況下などで走行することを可能にする。
【０００３】
安全で信頼できる自動運転技術は、自動運転車両の周囲の他のオブジェクトの挙動を正確に予測することを必要とする。周囲環境からの特徴をどのように符号化するかに関する解決的手段が開発された。しかしながら、オブジェクトのインタラクションを予測することは、従来からオブジェクトのそれぞれに対して予測を実行するとともに、全てのオブジェクトの間で繰り返し算出する必要があるため、依然として困難で時間がかかることである。
【図面の簡単な説明】
【０００４】
本開示の実施形態は、添付図面の各図において、限定的ではなく例示的な形態で示され、図面における同じ図面符号は、同様の要素を示す。
【０００５】
【図１】一実施形態に係るネットワーク化システムを示すブロック図である。
【０００６】
【図２】一実施形態に係る自動運転車両の一例を示すブロック図である。
【０００７】
【図３Ａ】一実施形態に係る自動運転車両と一緒に用いられる感知・計画システムの一例を示すブロック図である。
【図３Ｂ】一実施形態に係る自動運転車両と一緒に用いられる感知・計画システムの一例を示すブロック図である。
【０００８】
【図４】一実施形態に係る畳み込みニューラルネットワーク（ＣＮＮ）内の様々な層を示す図である。
【０００９】
【図５】一実施形態に係る深層ニューラルネットワークのトレーニング及び展開を示す図である。
【００１０】
【図６】一実施形態に係るデータ処理アーキテクチャを示すブロック図である。
【００１１】
【図７Ａ】一実施形態に係るデータの例示的な視覚表現を示す図である。
【図７Ｂ】一実施形態に係るデータの例示的な視覚表現を示す図である。
【００１２】
【図８】一実施形態に係る、自動運転車両（ＡＤＶ）において機械学習により環境オブジェクトの挙動を予測するための例示的な方法を示すフローチャートである。
【００１３】
【図９】一実施形態に係るデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、説明の詳細を参照しながら、本開示の様々な実施形態及び態様について説明し、添付の図面は、前記様々な実施形態を示す。以下の説明及び図面は、本開示を説明するためのものであり、本開示を限定するものとして解釈されるべきではない。本開示の様々な実施形態を完全に把握するために、多数の特定の詳細を説明する。しかしながら、場合によっては、本開示の実施形態に対する簡潔な説明を提供するために、周知又は従来の詳細について説明していない。
【００１５】
本明細書において「一実施形態」又は「実施形態」とは、該実施形態に関連して説明された特定の特徴、構造、又は特性が、本開示の少なくとも１つの実施形態に含まれてもよいことを意味する。本明細書の様々な箇所における「一実施形態において」という表現は、本明細書の全体において全てが同一の実施形態を指すとは限らない。
【００１６】
いくつかの実施形態によれば、方法、装置及びシステムは、自動運転車両（ＡＤＶ）において機械学習により環境オブジェクトの挙動を予測することができる。第１ニューラルネットワーク及び第２ニューラルネットワークを少なくとも含むデータ処理アーキテクチャを生成し、第１ニューラルネットワーク及び第２ニューラルネットワークがトレーニングデータセットによりトレーニング済みである。トレーニング済みニューラルネットワークを含むデータ処理アーキテクチャを用いて、ＡＤＶ環境における１つ又は複数のオブジェクトの挙動を予測する。ＡＤＶの動作を制御するために、ＡＤＶ環境における１つ又は複数のオブジェクトの予測された挙動に少なくとも部分的に基づいて運転信号を生成する。
【００１７】
一実施形態において、１つ又は複数のオブジェクトは、ＡＤＶの感知及び予測領域における自動車、自転車及び／又は歩行者を含む。第１ニューラルネットワークは、多層パーセプトロンであり、第２ニューラルネットワークは、畳み込みニューラルネットワーク（ＣＮＮ）である。
【００１８】
一実施形態において、第１ニューラルネットワークは、１つ又は複数の以前の計画周期から１つ又は複数のオブジェクトの履歴特徴（historical features）を入力として受け取るとともに、１つ又は複数のオブジェクトの抽出された履歴特徴を出力として生成し、第２ニューラルネットワークは、１つ又は複数のオブジェクトの抽出された履歴特徴及び地図情報を入力として受け取るとともに、１つ又は複数のオブジェクトの予測された挙動を出力として生成する。
【００１９】
一実施形態において、１つ又は複数のオブジェクトの履歴特徴は、位置、速度又は加速度のうち１つ又は複数を含み、地図情報は、高精細地図に由来するとともに、車線特徴成分、交通信号成分、静的オブジェクト成分又は一般地図情報成分のうち１つ又は複数を含む。
【００２０】
一実施形態において、ＡＤＶの矩形感知（rectangular perception）及び予測領域のグリッドサブディビジョンに基づいて、１つ又は複数のオブジェクトの抽出された履歴特徴及び地図情報を、関連付けられるブロック情報でラベル付けし、該グリッドサブディビジョンは、ＡＤＶの矩形感知及び予測領域をグリッドに基づいて、複数の均一サイズの矩形ブロックに細分化することを含む。
【００２１】
一実施形態において、１つ又は複数のオブジェクトの予測された挙動は、オブジェクトが含まれると予測される感知及び予測領域におけるブロック毎について、オブジェクト種類、ブロックに関連付けられたオブジェクトの予測された挙動に関する１つ又は複数の特徴、又は信頼度レベルのうち１つ又は複数を示す数字リストとして表示される。
【００２２】
図１は本開示の一実施形態に係る自動運転車両のネットワーク構成を示すブロック図である。図１を参照して、ネットワーク構成１００は、ネットワーク１０２を介して１つ又は複数のサーバ１０３〜１０４に通信可能に接続される自動運転車両１０１を備える。１台の自動運転車両のみが示されているが、複数の自動運転車両はネットワーク１０２を介して互いに接続され、及び／又はサーバ１０３〜１０４に接続されてもよい。ネットワーク１０２は、有線又は無線のローカルエリアネットワーク（ＬＡＮ）、インターネットなどのワイドエリアネットワーク（ＷＡＮ）、セルラーネットワーク、衛星ネットワーク又はそれらの組み合わせなどの任意のタイプのネットワークであってもよい。サーバ１０３〜１０４は、Ｗｅｂ又はクラウドサーバ、アプリケーションサーバ、バックエンドサーバ又はそれらの組み合わせなどの任意のタイプのサーバ又はサーバクラスタであってもよい。サーバ１０３〜１０４は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図・ポイントオブインタレスト（ＭＰＯＩ）サーバ又は位置サーバなどであってもよい。
【００２３】
自動運転車両とは、運転手からの入力がほとんど又は全くない状態でナビゲートされて環境を通過する自動運転モードにあるように構成されることが可能な車両を指す。このような自動運転車両は、車両が走行している環境に関する情報を検出するように構成される１つ又は複数のセンサを有するセンサシステムを備えてもよい。前記車両及びその関連コントローラが、検出された情報を用いてナビゲートして前記環境を通過する。自動運転車両１０１が手動モード、完全自動運転モード又は一部自動運転モードで走行することができる。
【００２４】
一実施形態において、自動運転車両１０１は、感知・計画システム１１０、車両制御システム１１１、無線通信システム１１２、ユーザインタフェースシステム１１３、インフォテインメントシステム１１４及びセンサシステム１１５を含むが、これらに限定されない。自動運転車両１０１は、エンジン、車輪、ステアリングホイール、変速機などの一般車両に含まれるいくつかの共通構成要素をさらに含んでもよく、前記構成要素は車両制御システム１１１及び／又は感知・計画システム１１０により、加速信号又はコマンド、減速信号又はコマンド、ステアリング信号又はコマンド、ブレーキ信号又はコマンドなどの複数の通信信号及び／又はコマンドを用いて制御することができる。
【００２５】
構成要素１１０〜１１５は、インターコネクト、バス、ネットワーク又はそれらの組み合わせを介して互いに通信可能に接続されてもよい。例えば、構成要素１１０〜１１５は、コントローラエリアネットワーク（ＣＡＮ）バスを介して互いに通信可能に接続されてもよい。ＣＡＮバスは、ホストコンピュータなしのアプリケーションにおいてマイクロコントローラ及びデバイスが相互に通信できるように設計された車両バス規格である。これは、当初は自動車内の多重電気配線のために設計されたメッセージベースのプロトコルであるが、他の多くの環境においても使用される。
【００２６】
次に図２を参照して、一実施形態において、センサシステム１１５は、１つ又は複数のカメラ２１１と、全地球測位システム（ＧＰＳ）ユニット２１２と、慣性計測ユニット（ＩＭＵ）２１３と、レーダユニット２１４と、光検出と測距（ＬＩＤＡＲ）ユニット２１５とを含むが、それらに限定されない。ＧＰＳユニット２１２は、自動運転車両の位置に関する情報を提供するように動作されることが可能な送受信機を備えてもよい。ＩＭＵユニット２１３は、慣性加速度に基づいて自動運転車両の位置及び向きの変化を感知することができる。レーダユニット２１４は、無線信号を用いて自動運転車両のローカル環境内のオブジェクトを感知するシステムを表してもよい。いくつかの実施形態において、レーダユニット２１４は、オブジェクトを感知することに加えて、オブジェクトの速度及び／又は進行方向を更に感知することができる。ＬＩＤＡＲユニット２１５は、自動運転車両が位置している環境内のオブジェクトをレーザで感知することができる。他のシステム構成要素に加えて、ＬＩＤＡＲユニット２１５は、１つ又は複数のレーザ光源、レーザースキャナ及び１つ又は複数の検出器をさらに備えてもよい。カメラ２１１は、自動運転車両の周囲の環境の画像を取り込むための１つ又は複数のデバイスを含んでもよい。カメラ２１１は、スチルカメラ及び／又はビデオカメラであってもよい。カメラは、例えば、回転プラットフォーム及び／又は傾斜プラットフォームに取り付けられることによって、機械的に移動可能なものであってもよい。
【００２７】
センサシステム１１５は、ソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ及びオーディオセンサ（例えば、マイクロホン）などの他のセンサをさらに含んでもよい。オーディオセンサは、自動運転車両の周囲の環境から音声を取り込むように構成されてもよい。ステアリングセンサは、ステアリングホイールの操舵角、車両の車輪の変向角度、又はそれらの組み合わせを感知するように構成されてもよい。スロットルセンサ及びブレーキセンサは、車両のスロットル位置及びブレーキ位置をそれぞれ検出する。場合によっては、スロットルセンサ及びブレーキセンサは、集積型スロットル／ブレーキセンサとして統合されてもよい。
【００２８】
一実施形態において、車両制御システム１１１は、ステアリングユニット２０１と、スロットルユニット２０２（加速ユニットとも呼ばれる）と、ブレーキユニット２０３とを含むが、それらに限定されない。ステアリングユニット２０１は、車両の方向又は進行方向を調整するために用いられる。スロットルユニット２０２は、モータ又はエンジンの速度を制御して、さらにモータ又はエンジンの速度が車両の速度及び加速度を制御するために用いられる。ブレーキユニット２０３は、車両の車輪又はタイヤを減速させる摩擦を与えることによって車両を減速させる。なお、図２に示される構成要素は、ハードウェア、ソフトウェア、又はそれらの組み合わせで実装されてもよい。
【００２９】
図１を再び参照して、無線通信システム１１２は、自動運転車両１０１と、デバイス、センサ、他の車両などの外部システムとの間の通信を可能にする。例えば、無線通信システム１１２は、１つ又は複数のデバイスと直接無線通信するか、又は通信ネットワークを介して無線通信し、例えばネットワーク１０２を介してサーバ１０３〜１０４と通信することができる。無線通信システム１１２は、ＷｉＦｉ（登録商標）などの任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク（ＷＬＡＮ）を用いて、他の構成要素又はシステムと通信することができる。無線通信システム１１２は、例えば、赤外線リンク、ブルートゥース（登録商標）などを用いて、デバイス（例えば、乗員の携帯装置、表示装置、車両１０１内のスピーカ）と直接通信することができる。ユーザインタフェースシステム１１３は、例えばキーボード、タッチスクリーン表示装置、マイクロホン及びスピーカなどを含む、車両１０１内に実装される周辺装置の一部であってもよい。
【００３０】
自動運転車両１０１の機能の一部又は全部は、特に自動運転モードで動作された場合に、感知・計画システム１１０によって制御又は管理されてもよい。感知・計画システム１１０は、センサシステム１１５、制御システム１１１、無線通信システム１１２及び／又はユーザインターフェースシステム１１３から情報を受信し、受信された情報を処理し、出発地から目的地までのルート又は経路を計画し、次いで計画及び制御情報に基づいて車両１０１を運転するために、必要なハードウェア（例えば、プロセッサ、メモリ、記憶デバイス）及びソフトウェア（例えば、オペレーティングシステム、計画及びルーティングプログラム）を備える。あるいは、感知・計画システム１１０は、車両制御システム１１１と一体化されてもよい。
【００３１】
例えば、乗員としてのユーザは、ユーザインタフェースを介して行程の出発位置及び目的地を指定することができる。感知・計画システム１１０は行程関連データを取得する。例えば、感知・計画システム１１０は、サーバ１０３〜１０４の一部であってもよいＭＰＯＩサーバから位置及びルート情報を取得することができる。位置サーバは、位置サービスを提供し、ＭＰＯＩサーバは、地図サービス及びある位置のＰＯＩを提供する。あるいは、そのような位置及びＭＰＯＩ情報は、感知・計画システム１１０の永続性記憶装置にローカルにキャッシュされてもよい。
【００３２】
自動運転車両１０１がルートに沿って走行している間に、感知・計画システム１１０は、交通情報システム又はサーバ（ＴＩＳ）からリアルタイム交通情報を取得することができる。なお、サーバ１０３〜１０４は、第三者機関によって操作されてもよい。あるいは、サーバ１０３〜１０４の機能は、感知・計画システム１１０と一体化されてもよい。リアルタイム交通情報、ＭＰＯＩ情報、位置情報及びセンサシステム１１５によって検出又は感知されたリアルタイムなローカル環境データ（例えば、障害物、オブジェクト、付近の車両）に基づいて、感知・計画システム１１０は、安全で効率的に指定された目的地に到達するように、最適なルートを計画し、かつ計画されたルートにより例えば制御システム１１１を介して車両１０１を運転することができる。
【００３３】
サーバ１０３は、様々なクライアントにデータ解析サービスを実行するデータ解析システムであってもよい。一実施形態において、データ解析システム１０３は、データコレクタ１２１と、機械学習エンジン１２２とを備える。データコレクタ１２１は、自動運転車両又は人間運転手によって運転される一般車両などの様々な車両から運転統計データ１２３を収集する。運転統計データ１２３は、発行された運転命令（例えば、スロットル、ブレーキ及びステアリング命令）、並びに異なる時点で車両のセンサにより取得された車両の応答（例えば、速度、加速、減速、方向）を表す情報を含む。運転統計データ１２３は、例えば、出発地及び目的地の位置を含むルート、ＭＰＯＩ、道路状況、気象状況などのような、異なる時点における運転環境を記述する情報をさらに含むことができる。
【００３４】
運転統計データ１２３に基づいて、機械学習エンジン１２２は、様々な目的でルールセット、アルゴリズム及び／又は予測モデル１２４を生成又はトレーニングする。一実施形態において、アルゴリズム１２４は、自動運転車両の感知及び予測領域におけるオブジェクトの挙動を予測するための、ニューラルネットワークに基づくデータ処理アーキテクチャを含んでもよい。
【００３５】
次に、アルゴリズム１２４は、自動運転中にリアルタイムで使用するためにＡＤＶにアップロードすることができる。
【００３６】
図３Ａ及び図３Ｂは、一実施形態に係る自動運転車両と一緒に用いられる感知・計画システムの一例を示すブロック図である。システム３００は、感知・計画システム１１０、制御システム１１１及びセンサシステム１１５を含むが、これらに限定されなく、図１の自動運転車両１０１の一部として実施されてもよい。図３Ａ〜図３Ｂを参照し、感知・計画システム１１０は、測位モジュール３０１と、感知モジュール３０２と、予測モジュール３０３と、決定モジュール３０４と、計画モジュール３０５と、制御モジュール３０６と、ルーティングモジュール３０７と、機械学習モジュール３０８とを含むが、それらに限定されない。
【００３７】
モジュール３０１〜３０８の一部又はすべては、ソフトウェア、ハードウェア、又はそれらの組み合わせによって実装されてもよい。例えば、これらのモジュールは、永続性記憶装置３５２にインストールされ、メモリ３５１にロードされ、１つ又は複数のプロセッサ（図示せず）によって実行されてもよい。なお、これらのモジュールの一部又はすべては、図２に示す車両制御システム１１１におけるモジュールの一部又はすべてに通信可能に接続されるか、又は一体に統合されてもよい。モジュール３０１〜３０８の一部は、集積モジュールとして一体化されてもよい。
【００３８】
測位モジュール３０１は、自動運転車両３００（例えば、ＧＰＳユニット２１２を利用して）の現在位置を確定し、ユーザの行程又はルートに関するあらゆるデータを管理する。測位モジュール３０１（地図・ルートモジュールとも呼ばれる）は、ユーザの行程又はルートに関連するあらゆるデータを管理する。ユーザは、例えばユーザインターフェースを介してログインして行程の出発位置及び目的位置を指定することができる。測位モジュール３０１は、行程に関連するデータを取得するために、自動運転車両３００の地図・ルート情報３１１などの他の構成要素と通信する。例えば、測位モジュール３０１は、位置サーバと、地図・ポイントオブインタレスト（ＭＰＯＩ）サーバから位置及びルート情報を取得することができる。位置サーバは、位置サービスを提供し、ＭＰＯＩサーバは、地図サービスとある位置のＰＯＩとを提供し、地図・ルート情報３１１の一部としてキャッシュされてもよい。自動運転車両３００がルートに沿って走行している間に、測位モジュール３０１は、さらに交通情報システム又はサーバからリアルタイム交通情報を取得することができる。
【００３９】
センサシステム１１５により提供されたセンサデータ、及び測位モジュール３０１により得られた測位情報に基づいて、感知モジュール３０２は周囲環境に対する感知を確定する。感知情報は、一般運転手が運転手によって運転されている車両の周囲で感知するものを表すことができる。感知とは、例えばオブジェクトの形態で、車線構成、信号機信号、他の車両の相対位置、歩行者、建築物、横断歩道又は他の交通関連標識（例えば、止まれ標識、ゆずれ標識）などを含むことができる。車線構成は、例えば、車線の形状（例えば、直線又はカーブ）、車線の幅、道路内の車線数、一方向又は二方向車線、合流車線又は分流車線、退出車線など、１つ又は複数の車線を記述する情報を含む。
【００４０】
感知モジュール３０２は、１つ又は複数のカメラによって取り込まれた画像を処理及び解析して、自動運転車両の環境におけるオブジェクト及び／又は特徴を認識するために、コンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含むことができる。前記オブジェクトは、交通信号、道路境界、他の車両、歩行者及び／又は障害物などを含んでもよい。コンピュータビジョンシステムは、オブジェクト認識アルゴリズム、ビデオトラッキング、及び他のコンピュータビジョン技術を使用することができる。いくつかの実施形態において、コンピュータビジョンシステムは、環境地図の描画、オブジェクトの追跡、及びオブジェクトの速度の推定などを行うことができる。感知モジュール３０２は、レーダ及び／又はＬＩＤＡＲのような他のセンサによって提供される他のセンサデータに基づいてオブジェクトを検出することもできる。
【００４１】
オブジェクトのそれぞれについて、予測モジュール３０３は、その場合にオブジェクトがどのように挙動するかを予測する。予測は、一組の地図・ルート情報３１１及び交通ルール３１２を考慮してその時点で運転環境を感知する感知データに基づいて実行される。例えば、オブジェクトが対向車両であり、現在の運転環境が交差点を含む場合に、予測モジュール３０３は、車両が前方に直進するか、又は曲がるかを予測する。感知データが、交差点に信号機がないことを示す場合に、予測モジュール３０３は、交差点に進入する前に車両が完全に停止する必要があると予測することが可能である。感知データが、車両が現在左折専用車線又は右折専用車線にあることを示す場合に、予測モジュール３０３は、車両がそれぞれ左折又は右折する可能性がより高いと予測することが可能である。
【００４２】
オブジェクトのそれぞれについて、決定モジュール３０４は、オブジェクトを如何に扱うかについて決定を行う。例えば、特定のオブジェクト（例えば、交差ルートにおける他の車両）及びオブジェクトを記述するメタデータ（例えば、速度、方向、曲がり角）について、決定モジュール３０４は、前記オブジェクトとどのように出会うか（例えば、追い越し、道譲り、停止、追い抜き）を決定する。決定モジュール３０４は、交通ルール又は運転ルール３１２などのルールセットに基づいてそのような決定を行うことができ、前記ルールセットは永続性記憶装置３５２に格納されていてもよい。
【００４３】
ルーティングモジュール３０７は、出発地から目的地までの１つ又は複数のルート又は経路を提供するように構成される。出発位置から目的位置までの所与の行程（例えば、ユーザから受信された所与の行程）について、ルーティングモジュール３０７は、ルート・地図情報３１１を取得し、出発位置から目的位置までのすべての可能なルート又は経路を確定する。ルーティングモジュール３０７は、出発位置から目的位置までの各ルートを特定する地形図形態の基準線を生成することができる。基準線は、他の車両、障害物、又は交通状況などの他のいかなる干渉も受けない理想的なルート又は経路を指す。即ち、ＡＤＶは、道路上に他の車両、歩行者又は障害物がない場合に、基準線に精確的にまたは密接的に従うべきである。次いで、地形図を決定モジュール３０４及び／又は計画モジュール３０５に提供する。決定モジュール３０４及び／又は計画モジュール３０５は、全ての可能なルートを検査し、測位モジュール３０１からの交通状況、感知モジュール３０２によって感知される運転環境、及び予測モジュール３０３によって予測される交通状況などの、他のモジュールによって提供される他のデータに基づいて最適なルートのうちの１つを選択及び変更する。特定の時点における特定の運転環境に応じて、ＡＤＶを制御するための実際の経路又はルートは、ルーティングモジュール３０７によって提供される基準線に近づいているか、又は異なっていてもよい。
【００４４】
感知されたオブジェクトのそれぞれについての決定に基づいて、計画モジュール３０５は、ルーティングモジュール３０７によって提供された基準線をベースとして、自動運転車両のための経路又はルート、並びに運転パラメータ（例えば、距離、速度、及び／又は曲がり角）を計画する。言い換えれば、所与のオブジェクトについて、決定モジュール３０４は、該オブジェクトに対して何を行うかを決定し、計画モジュール３０５は、どのように行うかを確定する。例えば、所与のオブジェクトについて、決定モジュール３０４は前記オブジェクトを追い抜くか否かを決定することができ、計画モジュール３０５は前記オブジェクトを左側から追い抜くか又は右側から追い抜くかを確定することができる。計画及び制御データは、計画モジュール３０５により生成され、車両３００が次の移動周期（例えば、次のルート／経路区間）にはどのように移動するかを記述する情報を含む。例えば、計画及び制御データは車両３００が３０マイル／時間（ｍｐｈ）の速度で１０メートル走行し、次に２５ｍｐｈの速度で右車線に変更するように指示することができる。
【００４５】
制御モジュール３０６は、計画及び制御データに基づいて、計画及び制御データにより定義されたルート又は経路に応じて適当なコマンド若しくは信号を車両制御システム１１１に送信することにより自動運転車両を制御及び走行させる。前記計画及び制御データは、ルート又は経路に沿って異なる時点で適切な車両構成又は運転パラメータ（例えば、スロットル、ブレーキ及びステアリングコマンド）を使用して車両をルート又は経路の第１点から第２点まで走行させるための十分な情報を含む。
【００４６】
一実施形態において、計画段階は、例えば、時間間隔が１００ミリ秒（ｍｓ）の周期など、複数の計画周期（planning cycles，運転周期とも呼ばれる）で実行される。計画周期又は運転周期のそれぞれについて、計画及び制御データに基づいて１つ又は複数の制御コマンドを発する。即ち、１００ｍｓごとに、計画モジュール３０５は、次のルートセグメント又は経路区間（例えば、目標位置及びＡＤＶが目標位置に到着するのに必要な時間が含まれる）を計画する。あるいは、計画モジュール３０５は、具体的な速度、方向及び／又は操舵角などを更に指定することができる。一実施形態において、計画モジュール３０５は、次の所定期間（例えば、５秒）のルートセグメント又は経路区間を計画する。計画周期のそれぞれについて、計画モジュール３０５は、前の周期で計画された目標位置に基づいて、現在の周期（例えば、次の５秒）のための目標位置を計画する。制御モジュール３０６は、次に、現在の周期における計画及び制御データに基づいて、１つ又は複数の制御コマンド（例えば、スロットル、ブレーキ、ステアリング制御コマンド）を生成する。
【００４７】
なお、決定モジュール３０４及び計画モジュール３０５は、集積モジュールとして一体化されてもよい。決定モジュール３０４／計画モジュール３０５は、自動運転車両の運転経路を確定するために、ナビゲーションシステム又はナビゲーションシステムの機能を含んでいてもよい。例えば、ナビゲーションシステムは、自動運転車両の以下の経路に沿った走行を達成するための一連の速度及び進行方向を確定することができ、前記経路では、自動運転車両が最終的な目的地に通じる走行車線ベースの経路に沿って前進するとともに、障害物の感知を実質的に回避できる。目的地は、ユーザインターフェースシステム１１３により行われるユーザ入力に従って設定されてもよい。ナビゲーションシステムは、自動運転車両が走行している間に、運転経路を動的に更新することができる。ナビゲーションシステムは、自動運転車両のための運転経路を確定するために、ＧＰＳシステム及び１つ又は複数の地図からのデータを統合することができる。
【００４８】
機械学習モジュール３０８は、既知のデータに基づいて予測を生成するために使用可能な人工ニューラルネットワークなどの機械学習技術によりデータ処理アーキテクチャを実装することができる。機械学習モジュール３０８は、以前にトレーニングされたニューラルネットワーク３１３により、感知特徴を抽出するとともに、地図情報（例えば、車線構成、静的オブジェクトなど）から障害物の挙動を予測することができる。
【００４９】
機械学習アルゴリズムは、一組のデータに基づいて学習を行うことができるアルゴリズムである。機械学習アルゴリズムの実施形態は、データセット内の高レベルの抽象化概念をモデル化するように設計されてもよい。例えば、画像認識アルゴリズムは、所定の入力がいくつかのカテゴリのどれに属するかを判定するために用いられてもよく、回帰アルゴリズムは、所定の入力値を出力してもよく、パターン認識アルゴリズムは、翻訳テキストを生成するか、又はテキストから音声及び／又は音声認識を実行するために用いられてもよい。
【００５０】
機械学習アルゴリズムの例示的なタイプは、ニューラルネットワークである。ニューラルネットワークには多くのタイプがあり、簡単タイプのニューラルネットワークは、フィードフォワードネットワークである。フィードフォワードネットワークは、ノードが層の形態で配列される非循環グラフとして実装されてもよい。通常、フィードフォワードネットワークトポロジは、少なくとも１つの隠れ層によって分離された入力層及び出力層を含む。隠れ層は、入力層によって受け取られた入力を、出力層において出力を生成するための表現に変換してもよい。ネットワークノードは、エッジを介して隣接する層におけるノードに完全に結合されるが、各層内のノードの間にエッジはない。フィードフォワードネットワークの入力層のノードで受信されたデータは、各層を結合するエッジのそれぞれに関連付けられる係数（「重み」）に基づいてネットワークにおける連続層毎のノードの状態を計算する活性化関数を介して出力層のノードに伝播する（即ち、「フィードフォワード」）。ニューラルネットワークアルゴリズムからの出力は、実行中のアルゴリズムによって表される具体的なモデルに応じて、様々な形態を取っても良い。
【００５１】
機械学習アルゴリズムが特定の問題をモデル化する前に、トレーニングデータセットを用いてアルゴリズムをトレーニングしてもよい。ニューラルネットワークをトレーニングすることは、ネットワークトポロジを選択することと、ネットワークによってモデル化された問題を示すトレーニングデータのセットを用いることと、ネットワークモデルがトレーニングデータセットの全てのインスタンスに対する最小の誤差で実行するまで重みを調整することとを含む。例えば、ニューラルネットワークのための教師あり学習トレーニングプロセスの間に、トレーニングデータセットにおけるインスタンスを表す入力に応答してネットワークによって生成された出力と、該インスタンスの「正しい」ラベル付き出力とを比較し、該出力とラベル付き出力との差を表す誤差信号を計算し、誤差信号がネットワーク層を後方に伝播するときに該誤差を最小化するように結合に関連付けられた重みを調整する。該ネットワークは、トレーニングデータセットのインスタンスから生成された出力におけるそれぞれの誤差が最小化されたときに、「トレーニングされた」と見なされる。
【００５２】
ニューラルネットワークを、グラフ関係を有する機能ネットワークに要約してもよい。当該技術分野で周知のように、機械学習で使用されるニューラルネットワークの実施形態には様々なタイプがある。前述のように、例示的なタイプのニューラルネットワークは、フィードフォワードネットワークである。
【００５３】
第２の例示的なタイプのニューラルネットワークは、畳み込みニューラルネットワーク（ＣＮＮ）である。ＣＮＮは、画像データなどの既知のグリッドトポロジを有するデータを処理するための専用フィードフォワードニューラルネットワークである。したがって、ＣＮＮは、通常、視覚及び画像認識アプリケーションの計算に用いられるが、自動運転車両の背景での音声及び言語処理と、オブジェクト意図予測などの、他のタイプのパターン認識にも使用可能である。ＣＮＮ入力層におけるノードは、１組の「フィルタ」（網膜に発現される受信ドメインによって触発された特徴検出器）に編成され、フィルタの組毎の出力はネットワークの連続層におけるノードに伝播される。ＣＮＮの計算は、フィルタ毎に畳み込み演算を適用して該フィルタの出力を発生することを含む。畳み込みは、２つの元の関数のいずれかの修正バージョンである第３関数を生成するために、２つの関数によって実行される特別タイプの演算である。畳み込みネットワーク用語では、畳み込まれた第１関数は入力と呼ばれ、第２関数は畳み込みカーネルと呼ばれてもよい。出力は、特徴マップと呼ばれてもよい。例えば、畳み込み層への入力は、入力画像の様々な色成分を画定する多次元データアレイであってもよい。畳み込みカーネルは、ニューラルネットワークのためのトレーニングプロセスによってパラメータが調整される多次元パラメータアレイであってもよい。
【００５４】
上述した例示的なニューラルネットワークは、深層学習を行うために用いられてもよい。深層学習は深層ニューラルネットワークによる機械学習である。深層学習のための深層ニューラルネットワークは、単一の隠れ層のみを含む浅層ニューラルネットワークと比べて、複数の隠れ層からなる人工ニューラルネットワークである。より深い層のニューラルネットワークは、一般的には、トレーニングのためにより高密度の計算を必要とする。しかしながら、ネットワークの追加の隠れ層は、浅層機械学習（shallow machine learning）技術に対して、出力誤差の減少につながるマルチステップパターン認識が可能になる。
【００５５】
深層学習のための深層ニューラルネットワークは、一般的に、特徴認識を実行するための、バックエンドネットワークに接続されたフロントエンドネットワークを含み、ここで、バックエンドネットワークはモデルに提供された特徴表現に基づいて、オブジェクト分類、音声認識、オブジェクト意図予測などの動作を実行してもよい数学モデルを表す。深層学習は、モデルに対して手動による特徴量エンジニアリングを実行する必要なく、機械学習を実行することができる。それに反して、深層ニューラルネットワークは、入力データにおける統計的構造又は相関関係に基づいて特徴を学習することができる。学習された特徴は、検出された特徴を出力にマッピングすることができる数学モデルに提供されてもよい。ネットワークで用いられる数学モデルは、通常、実行される特定のタスクに特化しており、異なるモデルを用いて異なるタスクを実行する。
【００５６】
ニューラルネットワークが構築されると、特定のタスクを実行するようにネットワークをトレーニングするために、学習モデルをネットワークに適用することができる。学習モデルは、ネットワークの出力誤差を低減するためにモデルにおける重みをどのように調整するかを記述する。誤差の逆伝播は、ニューラルネットワークをトレーニングするための一般的な方法である。入力ベクトルは、処理のためにネットワークに提示される。損失関数を用いて、ネットワークの出力を所望の出力と比較し、出力層におけるニューロンのそれぞれの誤差値を計算する。誤差値は、それぞれのニューロンが、元の出力への寄与を大まかに表す関連誤差値を有するまで、後方へ伝播する。次いで、ネットワークは、ニューラルネットワークの重みを更新するために、確率的勾配降下法などのアルゴリズムを用いて、これらの誤差から学習することができる。
【００５７】
図４は、一実施形態に係る畳み込みニューラルネットワーク（ＣＮＮ）内の様々な層を示す図４００である。入力４０２は、複数の成分を含むことができる。例えば、画像処理をモデル化するための例示的なＣＮＮは、入力画像の赤、緑、及び青（ＲＧＢ）成分を記述する入力４０２を受け取ることができる。入力４０２は、畳み込み層４０４、畳み込み層４０６などの複数の畳み込み層によって処理されてもよい。あるいは、複数の畳み込み層からの出力は、１組の全結合層４０８によって処理されてもよい。フィードフォワードネットワークについて前述したように、全結合層におけるニューロンは、前の層のすべての活性化との完全結合を有する。全結合層４０８からの出力は、ネットワークから出力結果を生成するために用いられてもよい。全結合層４０８内の活性化は、畳み込みの代わりに行列乗算によって計算されてもよい。全てのＣＮＮ実施例が全結合層４０８を用いるわけではない。例えば、いくつかの実施例において、畳み込み層４０６はＣＮＮの出力を生成してもよい。
【００５８】
畳み込み層は、全結合層４０８に見られる従来のニューラルネットワーク構成とは異なり、疎に結合されている。従来のニューラルネットワーク層は、それぞれの出力ユニットがそれぞれの入力ユニットと相互作用するように完全に結合される。しかし、図に示されるように、領域の畳み込みの出力が領域におけるそれぞれのノードの対応する状態値の代わりに後続層のノードに入力されるので、畳み込み層は疎に結合されている。畳み込み層に関連付けられたカーネルは、畳み込み演算を実行し、その出力は次の層に送信される。畳み込み層内で実行される次元削減は、大型画像などの大型入力を処理するためにＣＮＮがスケーリングできる一態様である。
【００５９】
図５は、一実施形態に係る深層ニューラルネットワークのトレーニング及び展開を示す図５００である。タスクのために所定のネットワークが構築されると、トレーニングデータセット５０２を用いてニューラルネットワークをトレーニングする。トレーニングプロセスのために、様々なトレーニングフレームワーク５０４が開発されている。トレーニングフレームワーク５０４は、トレーニングされていないニューラルネットワーク５０６にフックされてもよく、トレーニング済みニューラルネットワーク５０８を生成するために、トレーニングされていないニューラルネットワークがトレーニングされることを可能にする。
【００６０】
トレーニングプロセスを開始するために、初期重みは、ランダムに、又は深層信念ネットワークの事前トレーニングにより選択されてもよい。トレーニングサイクルは、教師あり又は教師なしのいずれかの方法で行われる。
【００６１】
教師あり学習は、トレーニングデータセット５０２が入力の所望の出力と対になった入力を含む場合、又はトレーニングデータセットが既知の出力を有する入力を含んで、ニューラルネットワークの出力が手動で評価されたものである場合などのような、トレーニングが媒介操作として実行される学習方法である。ネットワークは入力を処理して、得られた出力を１組の予期又は所望の出力と比較する。次に、誤差がシステムを通じて伝播されて来る。トレーニングフレームワーク５０４は、トレーニングされていないニューラルネットワーク５０６の重みを制御調整することができる。トレーニングフレームワーク５０４は、トレーニングされていないニューラルネットワーク５０６が、既知の入力データに基づいて正解を生成するのに適したモデルに向けて収束する度合いを監視するツールを提供することができる。ニューラルネットワークによって生成された出力を改良するようにネットワークの重みを調整するときに、トレーニングプロセスが繰り返し行われる。トレーニングプロセスは、ニューラルネットワークが、トレーニング済みニューラルネットワーク５０８に関連付けられた統計的に所期の精度に達するまで継続されてもよい。次いで、トレーニング済みニューラルネットワーク５０８を展開して任意の数の機械学習動作を実現してもよい。
【００６２】
教師なし学習は、ネットワークがラベル付けされていないデータを用いて自体をトレーニングしようとする学習方法である。したがって、教師なし学習の場合、トレーニングデータセット５０２には、出力データが全く関連付けられていない入力データが含まれる。トレーニングされていないニューラルネットワーク５０６は、入力にラベル付けされていない群を学習することができ、それぞれの入力がデータセット全体とどのように関連するかを確定することができる。教師なしトレーニングは、データ次元を削減するのに役立つ動作を実行することができるトレーニング済みニューラルネットワーク５０７である自己組織化マップを生成するために用いられてもよい。教師なしトレーニングは、入力データセット内のデータの通常パターンから逸脱するデータポイントへの識別を許容する異常検出の実行にも用いられてもよい。
【００６３】
図６を参照して、一実施形態に係るデータ処理アーキテクチャ６００を示すブロック図が示されている。ＡＤＶによって検出された感知及び予測領域におけるオブジェクトの履歴特徴６０２は、第１ニューラルネットワーク６０４に提供される。該オブジェクトは、自動車、自転車、歩行者などを含んでもよい。オブジェクトの履歴特徴は、複数の以前の計画周期（例えば、１０個の以前の計画周期）における位置（例えば、座標）、速度（大きさ及び方向）、加速度（大きさ及び方向）などを含み得るが、これらに限定されない。第１ニューラルネットワーク６０４に提供される前に、オブジェクトの履歴特徴は、一緒に直列接続されてオブジェクト特徴リストを形成してもよい。第１ニューラルネットワーク６０４は、すべてのオブジェクトの同一パラメータ（重み）を共有する多層パーセプトロンなどの全結合ネットワークであってもよい。
【００６４】
第１ニューラルネットワーク６０４の出力は、少数（たとえば、１〜３個）の抽出されたオブジェクト履歴特徴６０６を含むとともに、第２ニューラルネットワーク６１０の入力のオブジェクト成分６０６となるように構成されてもよい。オブジェクト成分６０６は、地図情報成分６０８とともに第２ニューラルネットワーク６１０に提供される。地図情報成分６０８は、地図・ルート情報３１１（例えば、高精細地図）に基づいて生成され、感知及び予測領域のための車線特徴成分、交通信号成分、静的オブジェクト成分、一般地図情報成分などを含み得るが、これらに限定されない。
【００６５】
一実施形態において、感知及び予測領域は、矩形領域であってもよく、グリッドに基づいて複数の均一サイズの矩形ブロックに更に細分化されてもよい。感知及び予測領域は、ＡＤＶの感知範囲にほぼ対応してもよい。例えば、感知及び予測領域は、１００メートルの長さ及び４０メートルの幅を有してもよい。感知及び予測領域を構成するブロックのサイズは、経験によって選択されてもよく、一実施形態において、各ブロックが一度に１つ以下のオブジェクトを含み得るように選択されてもよい。例えば、ブロックは２ｍ×２ｍであってもよい。
【００６６】
第２ニューラルネットワーク６１０に提供される前に、オブジェクト成分６０６及び地図情報成分６０８は、グリッドサブディビジョンに基づいてラベル付けされてもよい。言い換えれば、抽出されたオブジェクト履歴特徴及び地図情報（車線、交通信号、静的オブジェクトなど）は、それらに関連付けられたブロックでラベル付けされてもよい。したがって、上述したように、オブジェクト成分６０６及び地図情報成分６０８を含む第２ニューラルネットワーク６１０の入力の様々な成分は、グリッドに基づいて互いに整列されるスタック層として視覚化されてもよい。
【００６７】
第２ニューラルネットワーク６１０はＣＮＮであってもよく、オブジェクトが含まれると予測される感知及び予測領域におけるそれぞれのブロックについて、オブジェクトタイプ（自動車、自転車、歩行者など）、該ブロックに関連付けられたオブジェクトの予測される挙動（例えば、速度、加速度など）に関する１つ又は複数の特徴、及び信頼度レベルを表すことができる数字の列を予測結果６１２として出力するように構成されてもよい。
【００６８】
なお、第１ニューラルネットワーク６０４及び第２ニューラルネットワーク６１０は、ＡＤＶ動作の予測に使用される前に、記録されたオブジェクト挙動グラウンドトゥルースデータ（object behavior ground truth data）及び地図情報を含むトレーニングデータセットでトレーニングされる必要がある。
【００６９】
図７Ａ及び図７Ｂを参照して、一実施形態に係るデータの例示的な視覚的表現を示すダイアグラム７００Ａ、７００Ｂが示されている。なお、図７Ａ及び図７Ｂは、説明するためのものにすぎず、示されるブロック、層、オブジェクトなどの要素の数は、本開示を限定するものではない。図７Ａは、グリッドに基づいて等しいサイズの矩形ブロックに細分化されたＡＤＶの矩形感知及び予測領域７００Ａを示す。図７Ｂは、第２ニューラルネットワーク６１０に提供される地図情報成分６０６及びオブジェクト成分６０８の視覚的表現７００Ｂを示す。上述したように、地図情報成分６０６及びオブジェクト成分６０８は、グリッドに基づいて整列される。地図情報成分（層）６０６は、例えば、車線特徴成分（層）、交通信号成分（層）、静的オブジェクト成分（層）、又は、一般地図情報成分（層）のうち１つ又は複数を含んでもよい。なお、同じブロックに関連付けられたオブジェクト成分６０８は、同じオブジェクトに関連付けられた抽出されたオブジェクト履歴特徴を含む。
【００７０】
図８を参照して、一実施形態に係る、自動運転車両（ＡＤＶ）において機械学習により環境オブジェクトの挙動を予測するための例示的な方法８００を示すフローチャートが示されている。方法８００は、ハードウェア、ソフトウェア、又は両方の組み合わせ（例えば、図９のシステム１５００）において実施されてもよい。ブロック８１０では、第１ニューラルネットワーク及び第２ニューラルネットワークを少なくとも含むデータ処理アーキテクチャを生成し、第１ニューラルネットワーク及び第２ニューラルネットワークは既にトレーニングデータセットによりトレーニングされた。ブロック８２０では、トレーニング済みニューラルネットワークを含むデータ処理アーキテクチャを用いて、ＡＤＶ環境における１つ又は複数のオブジェクトの挙動を予測する。ブロック８３０では、ＡＤＶの動作を制御するために、ＡＤＶ環境における１つ又は複数のオブジェクトの予測された挙動に少なくとも部分的に基づいて運転信号を生成する。
【００７１】
一実施形態において、該１つ又は複数のオブジェクトは、ＡＤＶの感知及び予測領域における自動車、自転車及び／又は歩行者を含む。第１ニューラルネットワークは、多層パーセプトロンであり、第２ニューラルネットワークは、畳み込みニューラルネットワーク（ＣＮＮ）である。
【００７２】
一実施形態において、第１ニューラルネットワークは、１つ又は複数の以前の計画周期から１つ又は複数のオブジェクトの履歴特徴を入力として受け取るとともに、１つ又は複数のオブジェクトの抽出された履歴特徴を出力として生成し、第２ニューラルネットワークは、１つ又は複数のオブジェクトの抽出された履歴特徴及び地図情報を入力として受け取るとともに、１つ又は複数のオブジェクトの予測された挙動を出力として生成する。
【００７３】
一実施形態において、１つ又は複数のオブジェクトの履歴特徴は、位置、速度又は加速度のうち１つ又は複数を含み、地図情報は、高精細地図に由来するとともに、車線特徴成分、交通信号成分、静的オブジェクト成分又は一般地図情報成分のうち１つ又は複数を含む。
【００７４】
一実施形態において、ＡＤＶの矩形感知及び予測領域のグリッドサブディビジョンに基づいて、１つ又は複数のオブジェクトの抽出された履歴特徴及び地図情報を、関連付けられるブロック情報でラベル付けし、該グリッドサブディビジョンは、ＡＤＶの矩形感知及び予測領域をグリッドに基づいて複数の均一サイズの矩形ブロックに細分化することを含む。
【００７５】
一実施形態において、１つ又は複数のオブジェクトの予測された挙動は、オブジェクトが含まれると予測される感知及び予測領域におけるブロック毎について、オブジェクト種類、ブロックに関連付けられたオブジェクトの予測された挙動に関する１つ又は複数の特徴、又は信頼度レベルのうち１つ又は複数を示す数字の列として表示される。
【００７６】
なお、以上に例示及び記述された構成要素の一部又は全部は、ソフトウェア、ハードウェア又はそれらの組み合わせで実施されてもよい。例えば、このような構成要素は、永続性記憶装置にインストールされるとともに格納されるソフトウェアとして実施されてもよく、前記ソフトウェアは、本開示にわたって記載されたプロセス又は動作を実施するように、プロセッサ（図示せず）を介してメモリにロードして実行されてもよい。あるいは、このような構成要素は、集積回路（例えば、特定用途向け集積回路又はＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）のような専用ハードウェアにプログラミング又は埋め込まれた実行可能なコードとして実施されてもよく、前記実行可能なコードは、アプリケーションからの対応するドライバ及び／又はオペレーティングシステムを介してアクセスすることができる。また、このような構成要素は、ソフトウェア構成要素が１つ又は複数の特定の命令によってアクセス可能な命令セットの一部として、プロセッサ又はプロセッサコアにおける特定のハードウェアロジックとして実施されてもよい。
【００７７】
図９は、本開示の一実施形態と一緒に使用可能なデータ処理システムの一例を示すブロック図である。例えば、システム１５００は、前記プロセス又は方法のいずれかを実行する上述したデータ処理システムのいずれか（例えば、図１の感知・計画システム１１０、又はサーバ１０３〜１０４のいずれか）を示してもよい。システム１５００は、多数の異なる構成要素を備えていてもよい。これらの構成要素は、集積回路（ＩＣ）、集積回路の一部、ディスクリート型電子デバイス、又は回路基板（例えば、コンピュータシステムのマザーボード若しくはアドインカード）に適するその他のモジュールとして実現されることができ、又は、他の形態でコンピュータシステムのシャーシ内に組み込まれる構成要素として実施されてもよい。
【００７８】
さらに注意すべきなのは、システム１５００は、コンピュータシステムの多数の構成要素の高レベルビューを示すことを意図している。しかしながら、いくつかの実施例においては、付加的構成要素が存在する場合もあることを理解すべきである。また、他の実施例においては示される構成要素が異なる配置を有してもよい。システム１５００は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレヤー、パーソナルデジタルアシスタント（ＰＤＡ）、スマートウォッチ、パーソナルコミュニケーター、ゲーミングデバイス、ネットワークルーター又はハブ、無線アクセスポイント（ＡＰ）又はリピーター、セット・トップボックス、又はそれらの組み合わせを示してもよい。また、単一の機械又はシステムのみが示されたが、「機械」又は「システム」という用語は、本明細書で説明されるいずれか１つ又は複数の方法を実行するための、１つ（又は複数）の命令セットを単独で又は共同で実行する機械又はシステムの任意の組み合わせも含まれることを理解されたい。
【００７９】
一実施形態において、システム１５００は、バス又はインターコネクト１５１０を介して接続される、プロセッサ１５０１と、メモリ１５０３と、デバイス１５０５〜１５０８とを備える。プロセッサ１５０１は、単一のプロセッサコア又は複数のプロセッサコアが含まれる単一のプロセッサ又は複数のプロセッサを示してもよい。プロセッサ１５０１は、マイクロプロセッサ、中央処理装置（ＣＰＵ）などのような、１つ又は複数の汎用プロセッサを示してもよい。より具体的には、プロセッサ１５０１は、複雑命令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、又は他の命令セットを実装するプロセッサ、又は命令セットの組み合わせを実装するプロセッサであってもよい。プロセッサ１５０１は、さらに、特定用途向け集積回路（ＡＳＩＣ）、セルラ又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、組込みプロセッサのような１つ又は複数の専用プロセッサ、又は命令処理可能な任意の他のタイプのロジックであってもよい。
【００８０】
プロセッサ１５０１は、超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよく、前記システムの様々な構成要素と通信するための主処理ユニット及び中央ハブとして機能していてもよい。このようなプロセッサは、システムオンチップ（ＳｏＣ）として実装されてもよい。プロセッサ１５０１は、本明細書で説明される動作及びステップを実行するための命令を実行するように構成される。システム１５００は、選択可能なグラフィックサブシステム１５０４と通信するグラフィックインターフェースをさらに含んでもよく、グラフィックサブシステム１５０４は、表示コントローラ、グラフィックプロセッサ及び／又は表示装置をさらに備えてもよい。
【００８１】
プロセッサ１５０１は、メモリ１５０３と通信してもよく、メモリ１５０３は、一実施形態において、所定量のシステムメモリを提供するための複数のメモリデバイスによって実装されてもよい。メモリ１５０３は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、又は他のタイプの記憶デバイスのような、１つ又は複数の揮発性記憶（又はメモリ）デバイスを備えてもよい。メモリ１５０３は、プロセッサ１５０１又は他の任意のデバイスにより実行される命令シーケンスを含む情報を格納することができる。例えば、様々なオペレーティングシステム、デバイスドライバ、ファームウェア（例えば、基本入出力システム又はＢＩＯＳ）、及び／又はアプリケーションの実行可能なコード及び／又はデータは、メモリ１５０３にロードされてもよく、プロセッサ１５０１により実行されてもよい。オペレーティングシステムは、ロボットオペレーティングシステム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）社からのＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム、アップル社からのＭａｃ  ＯＳ（登録商標）／ｉＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）社からのＡｎｄｒｏｉｄ（登録商標）、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、又は他のリアルタイム若しくは組込みオペレーティングシステムのような、任意の種類のオペレーティングシステムであってもよい。
【００８２】
システム１５００は、更に、ネットワークインターフェースデバイス１５０５、選択可能な入力デバイス１５０６、及び他の選択可能なＩ／Ｏデバイス１５０７を含むデバイス１５０５〜１５０８のようなＩ／Ｏデバイスを備えてもよい。ネットワークインターフェースデバイス１５０５は、無線送受信機及び／又はネットワークインターフェースカード（ＮＩＣ）を備えてもよい。前記無線送受信機は、ＷｉＦｉ送受信機、赤外線送受信機、ブルートゥース送受信機、ＷｉＭａｘ送受信機、無線携帯電話送受信機、衛星送受信機（例えば、全地球測位システム（ＧＰＳ）送受信機）、又は他の無線周波数（ＲＦ）送受信機、又はそれらの組み合わせであってもよい。ＮＩＣは、イーサネット（登録商標）カードであってもよい。
【００８３】
入力デバイス１５０６は、マウス、タッチパッド、タッチスクリーン（表示装置１５０４と一体に統合されてもよい）、ポインターデバイス（例えば、スタイラス）、及び／又はキーボード（例えば、物理キーボード又はタッチスクリーンの一部として表示された仮想キーボード）を備えてもよい。例えば、入力デバイス１５０６は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーン及びタッチスクリーンコントローラは、例えば、様々なタッチ感応技術（コンデンサ、抵抗、赤外線、及び表面弾性波の技術を含むが、それらに限定されない）のいずれか、並びに他の近接センサアレイ、又は、タッチスクリーンと接触する１つ又は複数の点を確定するための他の素子を用いて、それらの接触、移動又は中断を検出することができる。
【００８４】
Ｉ／Ｏデバイス１５０７は音声装置を備えてもよい。音声装置は、音声認識、音声複製、デジタル記録、及び／又は電話機能のような音声サポート機能を促進するために、スピーカ及び／又はマイクロホンを含んでもよい。その他のＩ／Ｏデバイス１５０７は、ユニバーサルシリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインターフェース、バスブリッジ（例えば、ＰＣＩ−ＰＣＩブリッジ）、センサ（例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサなどのモーションセンサ）、又はそれらの組み合わせをさらに備えてもよい。デバイス１５０７は、結像処理サブシステム（例えば、カメラ）をさらに備えてもよく、前記結像処理サブシステムは、写真及びビデオ断片の記録のようなカメラ機能を促進するための、電荷結合素子（ＣＣＤ）又は相補型金属酸化物半導体（ＣＭＯＳ）光学センサのような光学センサを備えてもよい。いくつかのセンサは、センサハブ（図示せず）を介してインターコネクト１５１０に接続されてもよく、キーボード又はサーマルセンサのような他のデバイスはシステム１５００の具体的な構成又は設計により、組込みコントローラ（図示せず）により制御されてもよい。
【００８５】
データ、アプリケーション、１つ又は複数のオペレーティングシステムなどの情報の永続的記憶を提供するために、プロセッサ１５０１には、大容量記憶デバイス（図示せず）が接続されてもよい。様々な実施形態において、薄型化と軽量化のシステム設計を可能にしながら、システムの応答能力を向上させるために、このような大容量記憶デバイスは、ソリッドステートデバイス（ＳＳＤ）によって実現されてもよい。しかしながら、他の実施形態において、大容量記憶デバイスは、主にハードディスクドライブ（ＨＤＤ）を使用して実現することができ、より小さい容量のＳＳＤ記憶デバイスをＳＳＤキャッシュとして機能することで、停電イベントの間にコンテキスト状態及び他のそのような情報の不揮発性記憶を可能にし、それによりシステム動作が再開するときに通電を速く実現することができる。また、フラッシュデバイスは、例えば、シリアルペリフェラルインターフェース（ＳＰＩ）を介してプロセッサ１５０１に接続されてもよい。このようなフラッシュデバイスは、前記システムのＢＩＯＳ及び他のファームウェアを含むシステムソフトウェアの不揮発性記憶のために機能することができる。
【００８６】
記憶デバイス１５０８は、本明細書に記載の方法又は機能のいずれか１つ又は複数を具現化する１つ又は複数の命令セット又はソフトウェア（例えば、モジュール、ユニット及び／又はロジック１５２８）が格納されているコンピュータアクセス可能な記憶媒体１５０９（機械可読記憶媒体又はコンピュータ可読媒体とも呼ばれる）を備えてもよい。処理モジュール／ユニット／ロジック１５２８は、計画モジュール３０５、制御モジュール３０６、機械学習モジュールなどの前記構成要素のいずれかを示してもよい。処理モジュール／ユニット／ロジック１５２８は、更に、データ処理システム１５００、メモリ１５０３及びプロセッサ１５０１による実行中に、メモリ１５０３内及び／又はプロセッサ１５０１内に完全的に又は少なくとも部分的に存在してもよく、データ処理システム１５００、メモリ１５０３、及びプロセッサ１５０１も機械アクセス可能な記憶媒体を構成する。処理モジュール／ユニット／ロジック１５２８は、更に、ネットワークによってネットワークインターフェースデバイス１５０５を介して送受信されてもよい。
【００８７】
コンピュータ可読記憶媒体１５０９は、以上に説明されたいくつかのソフトウェア機能を永続的に格納するために用いることができる。コンピュータ可読記憶媒体１５０９は、例示的な実施形態において単一の媒体として示されるが、「コンピュータ可読記憶媒体」という用語は、前記１つ又は複数の命令セットが格納される単一の媒体又は複数の媒体（例えば、集中型又は分散型データベース及び／又は関連するキャッシュとサーバ）を含むと解釈されるものとする。「コンピュータ可読記憶媒体」という用語は、更に、命令セットを格納又は符号化可能な任意の媒体を含むと解釈されるものであり、前記命令セットは機械により実行され、本開示のいずれか１つ又は複数の方法を前記機械に実行させるためのものである。したがって、「コンピュータ可読記憶媒体」という用語は、ソリッドステートメモリ、光学媒体及び磁気媒体、又は他の任意の非一時的機械可読媒体を含むが、それらに限定されないと解釈されるものとする。
【００８８】
本明細書に記載の処理モジュール／ユニット／ロジック１５２８、構成要素及び他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、又はハードウェア構成要素（例えば、ＡＳＩＣＳ、ＦＰＧＡ、ＤＳＰ又は類似のデバイス）の機能に統合されてもよい。さらに、処理モジュール／ユニット／ロジック１５２８は、ハードウェアデバイスにおけるファームウェア又は機能性回路として実現されていてもよい。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェアデバイスとソフトウェア構成要素の任意の組み合わせで実現されてもよい。
【００８９】
なお、システム１５００は、データ処理システムの様々な構成要素を有するものとして示されているが、構成要素を相互接続する任意の特定のアーキテクチャ又は方式を示すことを意図するものではなく、そのような詳細は、本開示の実施形態とは密接な関係がない。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ及び／又は他のデータ処理システムも、本開示の実施形態と共に使用可能であることを理解されたい。
【００９０】
上述した詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズムと記号表現により示された。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。本明細書では、一般的に、アルゴリズムは、所望の結果につながるセルフコンシステントシーケンスと考えられる。これらの動作は、物理量の物理的処置が必要とされるものである。
【００９１】
しかしながら、念頭に置くべきなのは、これらの用語及び類似の用語の全ては、適切な物理量に関連付けられるものであり、且つただこれらの量を標識しやすくするためのものに過ぎない。以上の説明で他に明示的に記載されていない限り、本明細書の全体にわたって理解すべきなのは、用語（例えば、添付された特許請求の範囲に記載のもの）による説明とは、コンピュータシステム、又は類似の電子計算装置の動作及び処理を指し、前記コンピュータシステム又は電子計算装置は、コンピュータシステムのレジスタ及びメモリにおける物理（電子）量として示されたデータを制御するとともに、前記データをコンピュータシステムメモリ又はレジスタ又はこのような他の情報記憶装置、伝送又は表示装置において同様に物理量として示された他のデータに変換する。
【００９２】
本開示の実施形態は、さらに本明細書における動作を実行するための装置に関する。このようなコンピュータプログラムは、非一時的コンピュータ可読媒体に格納される。機械可読媒体は、機械（例えば、コンピュータ）により読み取り可能な形態で情報を格納するための任意の機構を備える。例えば、機械可読（例えば、コンピュータ可読）媒体は、機械（例えば、コンピュータ）可読記憶媒体（例えば、読み出し専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス）を備える。
【００９３】
上述した図面において説明されたプロセス又は方法は、ハードウェア（例えば、回路、専用ロジックなど）、ソフトウェア（例えば、非一時的コンピュータ可読媒体に具現化されるもの）、又は両方の組み合わせを含む処理ロジックにより実行されてもよい。前記プロセス又は方法は、以上で特定の順序に応じて説明されたが、前記動作の一部が異なる順序で実行されてもよいことを理解されたい。また、いくつかの動作は、順番ではなく並行して実行されてもよい。
【００９４】
本開示の実施形態は、いずれの特定のプログラミング言語を参照することなく記載されている。理解すべきなのは、本明細書に記載の本開示の実施形態の教示を実現するために、様々なプログラミング言語を使用することができる。
【００９５】
本明細書において、本開示の実施形態は、既にその具体的な例示的な実施形態を参照しながら記載された。明らかなように、添付された特許請求の範囲に記載された本開示のより広い趣旨及び範囲を逸脱しない限り、本開示に対して様々な変更を行うことができる。したがって、本明細書及び図面は、限定的な意味でなく、例示的な意味で理解されるべきである。
【図１】
2020083308.tif 000003
【図２】
2020083308.tif 000004
【図３Ａ】
2020083308.tif 000005
【図３Ｂ】
2020083308.tif 000006
【図４】
2020083308.tif 000007
【図５】
2020083308.tif 000008
【図６】
2020083308.tif 000009
【図７Ａ】
2020083308.tif 000010
【図７Ｂ】
2020083308.tif 000011
【図８】
2020083308.tif 000012
【図９】
2020083308.tif 000013
【手続補正書】
【提出日】令和1年11月6日(2019.11.6)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本願の実施形態は、主に自動運転車両の動作に関する。より具体的には、本開示の実施形態は、自動運転車両を制御する際に機械学習アルゴリズムにより予測することに関する。
【背景技術】
【０００２】
車両が自動運転モード（例えば、ドライバーレス）で走行している場合に、乗員、特に運転手を運転に関連するいくつかの責務から解放することができる。自動運転モードで走行している場合に、車両が車載センサを用いて様々な場所にナビゲートされることができ、ヒューマンコンピュータインタラクションが最小限に抑えられた場合、又は乗員がいない状況下などで走行することを可能にする。
【０００３】
安全で信頼できる自動運転技術は、自動運転車両の周囲の他のオブジェクトの挙動を正確に予測することを必要とする。周囲環境からの特徴をどのように符号化するかに関する解決的手段が開発された。しかしながら、オブジェクトのインタラクションを予測することは、従来からオブジェクトのそれぞれに対して予測を実行するとともに、全てのオブジェクトの間で繰り返し算出する必要があるため、依然として困難で時間がかかることである。
【発明の概要】
【０００４】
本開示の一態様によれば、自動運転車両において機械学習により環境オブジェクトの挙動を予測するためのコンピュータによって実施される方法であって、
ある時点で前記自動運転車両の感知モジュールから受信された感知データに対して第１ニューラルネットワークを適用して１組の感知特徴を抽出することと、
前記第１ニューラルネットワークから抽出された感知特徴と、地図から取得された地図情報とに基づいて、第２ニューラルネットワークを用いて前記自動運転車両の環境における１つ又は複数のオブジェクトの挙動を予測することと、
前記自動運転車両の環境における前記１つ又は複数のオブジェクトの予測された挙動に少なくとも部分的に基づいて制御コマンドを生成して、前記自動運転車両の動作を制御することと、を含むコンピュータによって実施される方法を提供する。
【０００５】
本開示の他の態様によれば、指令が格納されている非一時的機械可読媒体であって、前記指令は、プロセッサによって実行されるときに、自動運転車両において機械学習により環境オブジェクトの挙動を予測するための動作を前記プロセッサに実行させ、前記動作は、
ある時点で前記自動運転車両の感知モジュールから受信された感知データに対して第１ニューラルネットワークを適用して１組の感知特徴を抽出することと、
前記第１ニューラルネットワークから抽出された感知特徴と、地図から取得された地図情報とに基づいて、第２ニューラルネットワークを用いて前記自動運転車両の環境における１つ又は複数のオブジェクトの挙動を予測することと、
前記自動運転車両の環境における前記１つ又は複数のオブジェクトの予測された挙動に少なくとも部分的に基づいて制御コマンドを生成して、前記自動運転車両の動作を制御することと、を含む非一時的機械可読媒体を提供する。
【０００６】
本開示の更なる態様によれば、プロセッサと、指令を格納するために前記プロセッサに接続されるメモリとを備えるデータ処理システムであって、前記指令は、前記プロセッサによって実行されるときに、自動運転車両において機械学習により環境オブジェクトの挙動を予測するための動作を前記プロセッサに実行させ、前記動作は、
ある時点で前記自動運転車両の感知モジュールから受信された感知データに対して第１ニューラルネットワークを適用して１組の感知特徴を抽出することと、
前記第１ニューラルネットワークから抽出された感知特徴と、地図から取得された地図情報とに基づいて、第２ニューラルネットワークを用いて前記自動運転車両の環境における１つ又は複数のオブジェクトの挙動を予測することと、
前記自動運転車両の環境における前記１つ又は複数のオブジェクトの予測された挙動に少なくとも部分的に基づいて制御コマンドを生成して、前記自動運転車両の動作を制御することと、を含むデータ処理システムを提供する。
【図面の簡単な説明】
【０００７】
本開示の実施形態は、添付図面の各図において、限定的ではなく例示的な形態で示され、図面における同じ図面符号は、同様の要素を示す。
【０００８】
【図１】一実施形態に係るネットワーク化システムを示すブロック図である。
【０００９】
【図２】一実施形態に係る自動運転車両の一例を示すブロック図である。
【００１０】
【図３Ａ】一実施形態に係る自動運転車両と一緒に用いられる感知・計画システムの一例を示すブロック図である。
【図３Ｂ】一実施形態に係る自動運転車両と一緒に用いられる感知・計画システムの一例を示すブロック図である。
【００１１】
【図４】一実施形態に係る畳み込みニューラルネットワーク（ＣＮＮ）内の様々な層を示す図である。
【００１２】
【図５】一実施形態に係る深層ニューラルネットワークのトレーニング及び展開を示す図である。
【００１３】
【図６】一実施形態に係るデータ処理アーキテクチャを示すブロック図である。
【００１４】
【図７Ａ】一実施形態に係るデータの例示的な視覚表現を示す図である。
【図７Ｂ】一実施形態に係るデータの例示的な視覚表現を示す図である。
【００１５】
【図８】一実施形態に係る、自動運転車両（ＡＤＶ）において機械学習により環境オブジェクトの挙動を予測するための例示的な方法を示すフローチャートである。
【００１６】
【図９】一実施形態に係るデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【００１７】
以下、説明の詳細を参照しながら、本開示の様々な実施形態及び態様について説明し、添付の図面は、前記様々な実施形態を示す。以下の説明及び図面は、本開示を説明するためのものであり、本開示を限定するものとして解釈されるべきではない。本開示の様々な実施形態を完全に把握するために、多数の特定の詳細を説明する。しかしながら、場合によっては、本開示の実施形態に対する簡潔な説明を提供するために、周知又は従来の詳細について説明していない。
【００１８】
本明細書において「一実施形態」又は「実施形態」とは、該実施形態に関連して説明された特定の特徴、構造、又は特性が、本開示の少なくとも１つの実施形態に含まれてもよいことを意味する。本明細書の様々な箇所における「一実施形態において」という表現は、本明細書の全体において全てが同一の実施形態を指すとは限らない。
【００１９】
いくつかの実施形態によれば、方法、装置及びシステムは、自動運転車両（ＡＤＶ）において機械学習により環境オブジェクトの挙動を予測することができる。第１ニューラルネットワーク及び第２ニューラルネットワークを少なくとも含むデータ処理アーキテクチャを生成し、第１ニューラルネットワーク及び第２ニューラルネットワークがトレーニングデータセットによりトレーニング済みである。トレーニング済みニューラルネットワークを含むデータ処理アーキテクチャを用いて、ＡＤＶ環境における１つ又は複数のオブジェクトの挙動を予測する。ＡＤＶの動作を制御するために、ＡＤＶ環境における１つ又は複数のオブジェクトの予測された挙動に少なくとも部分的に基づいて運転信号を生成する。
【００２０】
一実施形態において、１つ又は複数のオブジェクトは、ＡＤＶの感知及び予測領域における自動車、自転車及び／又は歩行者を含む。第１ニューラルネットワークは、多層パーセプトロンであり、第２ニューラルネットワークは、畳み込みニューラルネットワーク（ＣＮＮ）である。
【００２１】
一実施形態において、第１ニューラルネットワークは、１つ又は複数の以前の計画周期から１つ又は複数のオブジェクトの履歴特徴（historical features）を入力として受け取るとともに、１つ又は複数のオブジェクトの抽出された履歴特徴を出力として生成し、第２ニューラルネットワークは、１つ又は複数のオブジェクトの抽出された履歴特徴及び地図情報を入力として受け取るとともに、１つ又は複数のオブジェクトの予測された挙動を出力として生成する。
【００２２】
一実施形態において、１つ又は複数のオブジェクトの履歴特徴は、位置、速度又は加速度のうち１つ又は複数を含み、地図情報は、高精細地図に由来するとともに、車線特徴成分、交通信号成分、静的オブジェクト成分又は一般地図情報成分のうち１つ又は複数を含む。
【００２３】
一実施形態において、ＡＤＶの矩形感知（rectangular perception）及び予測領域のグリッドサブディビジョンに基づいて、１つ又は複数のオブジェクトの抽出された履歴特徴及び地図情報を、関連付けられるブロック情報でラベル付けし、該グリッドサブディビジョンは、ＡＤＶの矩形感知及び予測領域をグリッドに基づいて、複数の均一サイズの矩形ブロックに細分化することを含む。
【００２４】
一実施形態において、１つ又は複数のオブジェクトの予測された挙動は、オブジェクトが含まれると予測される感知及び予測領域におけるブロック毎について、オブジェクト種類、ブロックに関連付けられたオブジェクトの予測された挙動に関する１つ又は複数の特徴、又は信頼度レベルのうち１つ又は複数を示す数字リストとして表示される。
【００２５】
図１は本開示の一実施形態に係る自動運転車両のネットワーク構成を示すブロック図である。図１を参照して、ネットワーク構成１００は、ネットワーク１０２を介して１つ又は複数のサーバ１０３〜１０４に通信可能に接続される自動運転車両１０１を備える。１台の自動運転車両のみが示されているが、複数の自動運転車両はネットワーク１０２を介して互いに接続され、及び／又はサーバ１０３〜１０４に接続されてもよい。ネットワーク１０２は、有線又は無線のローカルエリアネットワーク（ＬＡＮ）、インターネットなどのワイドエリアネットワーク（ＷＡＮ）、セルラーネットワーク、衛星ネットワーク又はそれらの組み合わせなどの任意のタイプのネットワークであってもよい。サーバ１０３〜１０４は、Ｗｅｂ又はクラウドサーバ、アプリケーションサーバ、バックエンドサーバ又はそれらの組み合わせなどの任意のタイプのサーバ又はサーバクラスタであってもよい。サーバ１０３〜１０４は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図・ポイントオブインタレスト（ＭＰＯＩ）サーバ又は位置サーバなどであってもよい。
【００２６】
自動運転車両とは、運転手からの入力がほとんど又は全くない状態でナビゲートされて環境を通過する自動運転モードにあるように構成されることが可能な車両を指す。このような自動運転車両は、車両が走行している環境に関する情報を検出するように構成される１つ又は複数のセンサを有するセンサシステムを備えてもよい。前記車両及びその関連コントローラが、検出された情報を用いてナビゲートして前記環境を通過する。自動運転車両１０１が手動モード、完全自動運転モード又は一部自動運転モードで走行することができる。
【００２７】
一実施形態において、自動運転車両１０１は、感知・計画システム１１０、車両制御システム１１１、無線通信システム１１２、ユーザインタフェースシステム１１３、及びセンサシステム１１５を含むが、これらに限定されない。自動運転車両１０１は、エンジン、車輪、ステアリングホイール、変速機などの一般車両に含まれるいくつかの共通構成要素をさらに含んでもよく、前記構成要素は車両制御システム１１１及び／又は感知・計画システム１１０により、加速信号又はコマンド、減速信号又はコマンド、ステアリング信号又はコマンド、ブレーキ信号又はコマンドなどの複数の通信信号及び／又はコマンドを用いて制御することができる。
【００２８】
構成要素１１０〜１１５は、インターコネクト、バス、ネットワーク又はそれらの組み合わせを介して互いに通信可能に接続されてもよい。例えば、構成要素１１０〜１１５は、コントローラエリアネットワーク（ＣＡＮ）バスを介して互いに通信可能に接続されてもよい。ＣＡＮバスは、ホストコンピュータなしのアプリケーションにおいてマイクロコントローラ及びデバイスが相互に通信できるように設計された車両バス規格である。これは、当初は自動車内の多重電気配線のために設計されたメッセージベースのプロトコルであるが、他の多くの環境においても使用される。
【００２９】
次に図２を参照して、一実施形態において、センサシステム１１５は、１つ又は複数のカメラ２１１と、全地球測位システム（ＧＰＳ）ユニット２１２と、慣性計測ユニット（ＩＭＵ）２１３と、レーダユニット２１４と、光検出と測距（ＬＩＤＡＲ）ユニット２１５とを含むが、それらに限定されない。ＧＰＳユニット２１２は、自動運転車両の位置に関する情報を提供するように動作されることが可能な送受信機を備えてもよい。ＩＭＵユニット２１３は、慣性加速度に基づいて自動運転車両の位置及び向きの変化を感知することができる。レーダユニット２１４は、無線信号を用いて自動運転車両のローカル環境内のオブジェクトを感知するシステムを表してもよい。いくつかの実施形態において、レーダユニット２１４は、オブジェクトを感知することに加えて、オブジェクトの速度及び／又は進行方向を更に感知することができる。ＬＩＤＡＲユニット２１５は、自動運転車両が位置している環境内のオブジェクトをレーザで感知することができる。他のシステム構成要素に加えて、ＬＩＤＡＲユニット２１５は、１つ又は複数のレーザ光源、レーザースキャナ及び１つ又は複数の検出器をさらに備えてもよい。カメラ２１１は、自動運転車両の周囲の環境の画像を取り込むための１つ又は複数のデバイスを含んでもよい。カメラ２１１は、スチルカメラ及び／又はビデオカメラであってもよい。カメラは、例えば、回転プラットフォーム及び／又は傾斜プラットフォームに取り付けられることによって、機械的に移動可能なものであってもよい。
【００３０】
センサシステム１１５は、ソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ及びオーディオセンサ（例えば、マイクロホン）などの他のセンサをさらに含んでもよい。オーディオセンサは、自動運転車両の周囲の環境から音声を取り込むように構成されてもよい。ステアリングセンサは、ステアリングホイールの操舵角、車両の車輪の変向角度、又はそれらの組み合わせを感知するように構成されてもよい。スロットルセンサ及びブレーキセンサは、車両のスロットル位置及びブレーキ位置をそれぞれ検出する。場合によっては、スロットルセンサ及びブレーキセンサは、集積型スロットル／ブレーキセンサとして統合されてもよい。
【００３１】
一実施形態において、車両制御システム１１１は、ステアリングユニット２０１と、スロットルユニット２０２（加速ユニットとも呼ばれる）と、ブレーキユニット２０３とを含むが、それらに限定されない。ステアリングユニット２０１は、車両の方向又は進行方向を調整するために用いられる。スロットルユニット２０２は、モータ又はエンジンの速度を制御して、さらにモータ又はエンジンの速度が車両の速度及び加速度を制御するために用いられる。ブレーキユニット２０３は、車両の車輪又はタイヤを減速させる摩擦を与えることによって車両を減速させる。なお、図２に示される構成要素は、ハードウェア、ソフトウェア、又はそれらの組み合わせで実装されてもよい。
【００３２】
図１を再び参照して、無線通信システム１１２は、自動運転車両１０１と、デバイス、センサ、他の車両などの外部システムとの間の通信を可能にする。例えば、無線通信システム１１２は、１つ又は複数のデバイスと直接無線通信するか、又は通信ネットワークを介して無線通信し、例えばネットワーク１０２を介してサーバ１０３〜１０４と通信することができる。無線通信システム１１２は、ＷｉＦｉ（登録商標）などの任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク（ＷＬＡＮ）を用いて、他の構成要素又はシステムと通信することができる。無線通信システム１１２は、例えば、赤外線リンク、ブルートゥース（登録商標）などを用いて、デバイス（例えば、乗員の携帯装置、表示装置、車両１０１内のスピーカ）と直接通信することができる。ユーザインタフェースシステム１１３は、例えばキーボード、タッチスクリーン表示装置、マイクロホン及びスピーカなどを含む、車両１０１内に実装される周辺装置の一部であってもよい。
【００３３】
自動運転車両１０１の機能の一部又は全部は、特に自動運転モードで動作された場合に、感知・計画システム１１０によって制御又は管理されてもよい。感知・計画システム１１０は、センサシステム１１５、制御システム１１１、無線通信システム１１２及び／又はユーザインターフェースシステム１１３から情報を受信し、受信された情報を処理し、出発地から目的地までのルート又は経路を計画し、次いで計画及び制御情報に基づいて車両１０１を運転するために、必要なハードウェア（例えば、プロセッサ、メモリ、記憶デバイス）及びソフトウェア（例えば、オペレーティングシステム、計画及びルーティングプログラム）を備える。あるいは、感知・計画システム１１０は、車両制御システム１１１と一体化されてもよい。
【００３４】
例えば、乗員としてのユーザは、ユーザインタフェースを介して行程の出発位置及び目的地を指定することができる。感知・計画システム１１０は行程関連データを取得する。例えば、感知・計画システム１１０は、サーバ１０３〜１０４の一部であってもよいＭＰＯＩサーバから位置及びルート情報を取得することができる。位置サーバは、位置サービスを提供し、ＭＰＯＩサーバは、地図サービス及びある位置のＰＯＩを提供する。あるいは、そのような位置及びＭＰＯＩ情報は、感知・計画システム１１０の永続性記憶装置にローカルにキャッシュされてもよい。
【００３５】
自動運転車両１０１がルートに沿って走行している間に、感知・計画システム１１０は、交通情報システム又はサーバ（ＴＩＳ）からリアルタイム交通情報を取得することができる。なお、サーバ１０３〜１０４は、第三者機関によって操作されてもよい。あるいは、サーバ１０３〜１０４の機能は、感知・計画システム１１０と一体化されてもよい。リアルタイム交通情報、ＭＰＯＩ情報、位置情報及びセンサシステム１１５によって検出又は感知されたリアルタイムなローカル環境データ（例えば、障害物、オブジェクト、付近の車両）に基づいて、感知・計画システム１１０は、安全で効率的に指定された目的地に到達するように、最適なルートを計画し、かつ計画されたルートにより例えば制御システム１１１を介して車両１０１を運転することができる。
【００３６】
サーバ１０３は、様々なクライアントにデータ解析サービスを実行するデータ解析システムであってもよい。一実施形態において、データ解析システム１０３は、データコレクタ１２１と、機械学習エンジン１２２とを備える。データコレクタ１２１は、自動運転車両又は人間運転手によって運転される一般車両などの様々な車両から運転統計データ１２３を収集する。運転統計データ１２３は、発行された運転命令（例えば、スロットル、ブレーキ及びステアリング命令）、並びに異なる時点で車両のセンサにより取得された車両の応答（例えば、速度、加速、減速、方向）を表す情報を含む。運転統計データ１２３は、例えば、出発地及び目的地の位置を含むルート、ＭＰＯＩ、道路状況、気象状況などのような、異なる時点における運転環境を記述する情報をさらに含むことができる。
【００３７】
運転統計データ１２３に基づいて、機械学習エンジン１２２は、様々な目的でルールセット、アルゴリズム及び／又は予測モデル１２４を生成又はトレーニングする。一実施形態において、アルゴリズム１２４は、自動運転車両の感知及び予測領域におけるオブジェクトの挙動を予測するための、ニューラルネットワークに基づくデータ処理アーキテクチャを含んでもよい。
【００３８】
次に、アルゴリズム１２４は、自動運転中にリアルタイムで使用するためにＡＤＶにアップロードすることができる。
【００３９】
図３Ａ及び図３Ｂは、一実施形態に係る自動運転車両と一緒に用いられる感知・計画システムの一例を示すブロック図である。システム３００は、感知・計画システム１１０、制御システム１１１及びセンサシステム１１５を含むが、これらに限定されなく、図１の自動運転車両１０１の一部として実施されてもよい。図３Ａ〜図３Ｂを参照し、感知・計画システム１１０は、測位モジュール３０１と、感知モジュール３０２と、予測モジュール３０３と、決定モジュール３０４と、計画モジュール３０５と、制御モジュール３０６と、ルーティングモジュール３０７と、機械学習モジュール３０８とを含むが、それらに限定されない。
【００４０】
モジュール３０１〜３０８の一部又はすべては、ソフトウェア、ハードウェア、又はそれらの組み合わせによって実装されてもよい。例えば、これらのモジュールは、永続性記憶装置３５２にインストールされ、メモリ３５１にロードされ、１つ又は複数のプロセッサ（図示せず）によって実行されてもよい。なお、これらのモジュールの一部又はすべては、図２に示す車両制御システム１１１におけるモジュールの一部又はすべてに通信可能に接続されるか、又は一体に統合されてもよい。モジュール３０１〜３０８の一部は、集積モジュールとして一体化されてもよい。
【００４１】
測位モジュール３０１は、自動運転車両３００（例えば、ＧＰＳユニット２１２を利用して）の現在位置を確定し、ユーザの行程又はルートに関するあらゆるデータを管理する。測位モジュール３０１（地図・ルートモジュールとも呼ばれる）は、ユーザの行程又はルートに関連するあらゆるデータを管理する。ユーザは、例えばユーザインターフェースを介してログインして行程の出発位置及び目的位置を指定することができる。測位モジュール３０１は、行程に関連するデータを取得するために、自動運転車両３００の地図・ルート情報３１１などの他の構成要素と通信する。例えば、測位モジュール３０１は、位置サーバと、地図・ポイントオブインタレスト（ＭＰＯＩ）サーバから位置及びルート情報を取得することができる。位置サーバは、位置サービスを提供し、ＭＰＯＩサーバは、地図サービスとある位置のＰＯＩとを提供し、地図・ルート情報３１１の一部としてキャッシュされてもよい。自動運転車両３００がルートに沿って走行している間に、測位モジュール３０１は、さらに交通情報システム又はサーバからリアルタイム交通情報を取得することができる。
【００４２】
センサシステム１１５により提供されたセンサデータ、及び測位モジュール３０１により得られた測位情報に基づいて、感知モジュール３０２は周囲環境に対する感知を確定する。感知情報は、一般運転手が運転手によって運転されている車両の周囲で感知するものを表すことができる。感知とは、例えばオブジェクトの形態で、車線構成、信号機信号、他の車両の相対位置、歩行者、建築物、横断歩道又は他の交通関連標識（例えば、止まれ標識、ゆずれ標識）などを含むことができる。車線構成は、例えば、車線の形状（例えば、直線又はカーブ）、車線の幅、道路内の車線数、一方向又は二方向車線、合流車線又は分流車線、退出車線など、１つ又は複数の車線を記述する情報を含む。
【００４３】
感知モジュール３０２は、１つ又は複数のカメラによって取り込まれた画像を処理及び解析して、自動運転車両の環境におけるオブジェクト及び／又は特徴を認識するために、コンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含むことができる。前記オブジェクトは、交通信号、道路境界、他の車両、歩行者及び／又は障害物などを含んでもよい。コンピュータビジョンシステムは、オブジェクト認識アルゴリズム、ビデオトラッキング、及び他のコンピュータビジョン技術を使用することができる。いくつかの実施形態において、コンピュータビジョンシステムは、環境地図の描画、オブジェクトの追跡、及びオブジェクトの速度の推定などを行うことができる。感知モジュール３０２は、レーダ及び／又はＬＩＤＡＲのような他のセンサによって提供される他のセンサデータに基づいてオブジェクトを検出することもできる。
【００４４】
オブジェクトのそれぞれについて、予測モジュール３０３は、その場合にオブジェクトがどのように挙動するかを予測する。予測は、一組の地図・ルート情報３１１及び交通ルール３１２を考慮してその時点で運転環境を感知する感知データに基づいて実行される。例えば、オブジェクトが対向車両であり、現在の運転環境が交差点を含む場合に、予測モジュール３０３は、車両が前方に直進するか、又は曲がるかを予測する。感知データが、交差点に信号機がないことを示す場合に、予測モジュール３０３は、交差点に進入する前に車両が完全に停止する必要があると予測することが可能である。感知データが、車両が現在左折専用車線又は右折専用車線にあることを示す場合に、予測モジュール３０３は、車両がそれぞれ左折又は右折する可能性がより高いと予測することが可能である。
【００４５】
オブジェクトのそれぞれについて、決定モジュール３０４は、オブジェクトを如何に扱うかについて決定を行う。例えば、特定のオブジェクト（例えば、交差ルートにおける他の車両）及びオブジェクトを記述するメタデータ（例えば、速度、方向、曲がり角）について、決定モジュール３０４は、前記オブジェクトとどのように出会うか（例えば、追い越し、道譲り、停止、追い抜き）を決定する。決定モジュール３０４は、交通ルール又は運転ルール３１２などのルールセットに基づいてそのような決定を行うことができ、前記ルールセットは永続性記憶装置３５２に格納されていてもよい。
【００４６】
ルーティングモジュール３０７は、出発地から目的地までの１つ又は複数のルート又は経路を提供するように構成される。出発位置から目的位置までの所与の行程（例えば、ユーザから受信された所与の行程）について、ルーティングモジュール３０７は、ルート・地図情報３１１を取得し、出発位置から目的位置までのすべての可能なルート又は経路を確定する。ルーティングモジュール３０７は、出発位置から目的位置までの各ルートを特定する地形図形態の基準線を生成することができる。基準線は、他の車両、障害物、又は交通状況などの他のいかなる干渉も受けない理想的なルート又は経路を指す。即ち、ＡＤＶは、道路上に他の車両、歩行者又は障害物がない場合に、基準線に精確的にまたは密接的に従うべきである。次いで、地形図を決定モジュール３０４及び／又は計画モジュール３０５に提供する。決定モジュール３０４及び／又は計画モジュール３０５は、全ての可能なルートを検査し、測位モジュール３０１からの交通状況、感知モジュール３０２によって感知される運転環境、及び予測モジュール３０３によって予測される交通状況などの、他のモジュールによって提供される他のデータに基づいて最適なルートのうちの１つを選択及び変更する。特定の時点における特定の運転環境に応じて、ＡＤＶを制御するための実際の経路又はルートは、ルーティングモジュール３０７によって提供される基準線に近づいているか、又は異なっていてもよい。
【００４７】
感知されたオブジェクトのそれぞれについての決定に基づいて、計画モジュール３０５は、ルーティングモジュール３０７によって提供された基準線をベースとして、自動運転車両のための経路又はルート、並びに運転パラメータ（例えば、距離、速度、及び／又は曲がり角）を計画する。言い換えれば、所与のオブジェクトについて、決定モジュール３０４は、該オブジェクトに対して何を行うかを決定し、計画モジュール３０５は、どのように行うかを確定する。例えば、所与のオブジェクトについて、決定モジュール３０４は前記オブジェクトを追い抜くか否かを決定することができ、計画モジュール３０５は前記オブジェクトを左側から追い抜くか又は右側から追い抜くかを確定することができる。計画及び制御データは、計画モジュール３０５により生成され、車両３００が次の移動周期（例えば、次のルート／経路区間）にはどのように移動するかを記述する情報を含む。例えば、計画及び制御データは車両３００が３０マイル／時間（ｍｐｈ）の速度で１０メートル走行し、次に２５ｍｐｈの速度で右車線に変更するように指示することができる。
【００４８】
制御モジュール３０６は、計画及び制御データに基づいて、計画及び制御データにより定義されたルート又は経路に応じて適当なコマンド若しくは信号を車両制御システム１１１に送信することにより自動運転車両を制御及び走行させる。前記計画及び制御データは、ルート又は経路に沿って異なる時点で適切な車両構成又は運転パラメータ（例えば、スロットル、ブレーキ及びステアリングコマンド）を使用して車両をルート又は経路の第１点から第２点まで走行させるための十分な情報を含む。
【００４９】
一実施形態において、計画段階は、例えば、時間間隔が１００ミリ秒（ｍｓ）の周期など、複数の計画周期（planning cycles，運転周期とも呼ばれる）で実行される。計画周期又は運転周期のそれぞれについて、計画及び制御データに基づいて１つ又は複数の制御コマンドを発する。即ち、１００ｍｓごとに、計画モジュール３０５は、次のルートセグメント又は経路区間（例えば、目標位置及びＡＤＶが目標位置に到着するのに必要な時間が含まれる）を計画する。あるいは、計画モジュール３０５は、具体的な速度、方向及び／又は操舵角などを更に指定することができる。一実施形態において、計画モジュール３０５は、次の所定期間（例えば、５秒）のルートセグメント又は経路区間を計画する。計画周期のそれぞれについて、計画モジュール３０５は、前の周期で計画された目標位置に基づいて、現在の周期（例えば、次の５秒）のための目標位置を計画する。制御モジュール３０６は、次に、現在の周期における計画及び制御データに基づいて、１つ又は複数の制御コマンド（例えば、スロットル、ブレーキ、ステアリング制御コマンド）を生成する。
【００５０】
なお、決定モジュール３０４及び計画モジュール３０５は、集積モジュールとして一体化されてもよい。決定モジュール３０４／計画モジュール３０５は、自動運転車両の運転経路を確定するために、ナビゲーションシステム又はナビゲーションシステムの機能を含んでいてもよい。例えば、ナビゲーションシステムは、自動運転車両の以下の経路に沿った走行を達成するための一連の速度及び進行方向を確定することができ、前記経路では、自動運転車両が最終的な目的地に通じる走行車線ベースの経路に沿って前進するとともに、障害物の感知を実質的に回避できる。目的地は、ユーザインターフェースシステム１１３により行われるユーザ入力に従って設定されてもよい。ナビゲーションシステムは、自動運転車両が走行している間に、運転経路を動的に更新することができる。ナビゲーションシステムは、自動運転車両のための運転経路を確定するために、ＧＰＳシステム及び１つ又は複数の地図からのデータを統合することができる。
【００５１】
機械学習モジュール３０８は、既知のデータに基づいて予測を生成するために使用可能な人工ニューラルネットワークなどの機械学習技術によりデータ処理アーキテクチャを実装することができる。機械学習モジュール３０８は、以前にトレーニングされたニューラルネットワーク３１３により、感知特徴を抽出するとともに、地図情報（例えば、車線構成、静的オブジェクトなど）から障害物の挙動を予測することができる。
【００５２】
機械学習アルゴリズムは、一組のデータに基づいて学習を行うことができるアルゴリズムである。機械学習アルゴリズムの実施形態は、データセット内の高レベルの抽象化概念をモデル化するように設計されてもよい。例えば、画像認識アルゴリズムは、所定の入力がいくつかのカテゴリのどれに属するかを判定するために用いられてもよく、回帰アルゴリズムは、所定の入力値を出力してもよく、パターン認識アルゴリズムは、翻訳テキストを生成するか、又はテキストから音声及び／又は音声認識を実行するために用いられてもよい。
【００５３】
機械学習アルゴリズムの例示的なタイプは、ニューラルネットワークである。ニューラルネットワークには多くのタイプがあり、簡単タイプのニューラルネットワークは、フィードフォワードネットワークである。フィードフォワードネットワークは、ノードが層の形態で配列される非循環グラフとして実装されてもよい。通常、フィードフォワードネットワークトポロジは、少なくとも１つの隠れ層によって分離された入力層及び出力層を含む。隠れ層は、入力層によって受け取られた入力を、出力層において出力を生成するための表現に変換してもよい。ネットワークノードは、エッジを介して隣接する層におけるノードに完全に結合されるが、各層内のノードの間にエッジはない。フィードフォワードネットワークの入力層のノードで受信されたデータは、各層を結合するエッジのそれぞれに関連付けられる係数（「重み」）に基づいてネットワークにおける連続層毎のノードの状態を計算する活性化関数を介して出力層のノードに伝播する（即ち、「フィードフォワード」）。ニューラルネットワークアルゴリズムからの出力は、実行中のアルゴリズムによって表される具体的なモデルに応じて、様々な形態を取っても良い。
【００５４】
機械学習アルゴリズムが特定の問題をモデル化する前に、トレーニングデータセットを用いてアルゴリズムをトレーニングしてもよい。ニューラルネットワークをトレーニングすることは、ネットワークトポロジを選択することと、ネットワークによってモデル化された問題を示すトレーニングデータのセットを用いることと、ネットワークモデルがトレーニングデータセットの全てのインスタンスに対する最小の誤差で実行するまで重みを調整することとを含む。例えば、ニューラルネットワークのための教師あり学習トレーニングプロセスの間に、トレーニングデータセットにおけるインスタンスを表す入力に応答してネットワークによって生成された出力と、該インスタンスの「正しい」ラベル付き出力とを比較し、該出力とラベル付き出力との差を表す誤差信号を計算し、誤差信号がネットワーク層を後方に伝播するときに該誤差を最小化するように結合に関連付けられた重みを調整する。該ネットワークは、トレーニングデータセットのインスタンスから生成された出力におけるそれぞれの誤差が最小化されたときに、「トレーニングされた」と見なされる。
【００５５】
ニューラルネットワークを、グラフ関係を有する機能ネットワークに要約してもよい。当該技術分野で周知のように、機械学習で使用されるニューラルネットワークの実施形態には様々なタイプがある。前述のように、例示的なタイプのニューラルネットワークは、フィードフォワードネットワークである。
【００５６】
第２の例示的なタイプのニューラルネットワークは、畳み込みニューラルネットワーク（ＣＮＮ）である。ＣＮＮは、画像データなどの既知のグリッドトポロジを有するデータを処理するための専用フィードフォワードニューラルネットワークである。したがって、ＣＮＮは、通常、視覚及び画像認識アプリケーションの計算に用いられるが、自動運転車両の背景での音声及び言語処理と、オブジェクト意図予測などの、他のタイプのパターン認識にも使用可能である。ＣＮＮ入力層におけるノードは、１組の「フィルタ」（網膜に発現される受信ドメインによって触発された特徴検出器）に編成され、フィルタの組毎の出力はネットワークの連続層におけるノードに伝播される。ＣＮＮの計算は、フィルタ毎に畳み込み演算を適用して該フィルタの出力を発生することを含む。畳み込みは、２つの元の関数のいずれかの修正バージョンである第３関数を生成するために、２つの関数によって実行される特別タイプの演算である。畳み込みネットワーク用語では、畳み込まれた第１関数は入力と呼ばれ、第２関数は畳み込みカーネルと呼ばれてもよい。出力は、特徴マップと呼ばれてもよい。例えば、畳み込み層への入力は、入力画像の様々な色成分を画定する多次元データアレイであってもよい。畳み込みカーネルは、ニューラルネットワークのためのトレーニングプロセスによってパラメータが調整される多次元パラメータアレイであってもよい。
【００５７】
上述した例示的なニューラルネットワークは、深層学習を行うために用いられてもよい。深層学習は深層ニューラルネットワークによる機械学習である。深層学習のための深層ニューラルネットワークは、単一の隠れ層のみを含む浅層ニューラルネットワークと比べて、複数の隠れ層からなる人工ニューラルネットワークである。より深い層のニューラルネットワークは、一般的には、トレーニングのためにより高密度の計算を必要とする。しかしながら、ネットワークの追加の隠れ層は、浅層機械学習（shallow machine learning）技術に対して、出力誤差の減少につながるマルチステップパターン認識が可能になる。
【００５８】
深層学習のための深層ニューラルネットワークは、一般的に、特徴認識を実行するための、バックエンドネットワークに接続されたフロントエンドネットワークを含み、ここで、バックエンドネットワークはモデルに提供された特徴表現に基づいて、オブジェクト分類、音声認識、オブジェクト意図予測などの動作を実行してもよい数学モデルを表す。深層学習は、モデルに対して手動による特徴量エンジニアリングを実行する必要なく、機械学習を実行することができる。それに反して、深層ニューラルネットワークは、入力データにおける統計的構造又は相関関係に基づいて特徴を学習することができる。学習された特徴は、検出された特徴を出力にマッピングすることができる数学モデルに提供されてもよい。ネットワークで用いられる数学モデルは、通常、実行される特定のタスクに特化しており、異なるモデルを用いて異なるタスクを実行する。
【００５９】
ニューラルネットワークが構築されると、特定のタスクを実行するようにネットワークをトレーニングするために、学習モデルをネットワークに適用することができる。学習モデルは、ネットワークの出力誤差を低減するためにモデルにおける重みをどのように調整するかを記述する。誤差の逆伝播は、ニューラルネットワークをトレーニングするための一般的な方法である。入力ベクトルは、処理のためにネットワークに提示される。損失関数を用いて、ネットワークの出力を所望の出力と比較し、出力層におけるニューロンのそれぞれの誤差値を計算する。誤差値は、それぞれのニューロンが、元の出力への寄与を大まかに表す関連誤差値を有するまで、後方へ伝播する。次いで、ネットワークは、ニューラルネットワークの重みを更新するために、確率的勾配降下法などのアルゴリズムを用いて、これらの誤差から学習することができる。
【００６０】
図４は、一実施形態に係る畳み込みニューラルネットワーク（ＣＮＮ）内の様々な層を示す図４００である。入力４０２は、複数の成分を含むことができる。例えば、画像処理をモデル化するための例示的なＣＮＮは、入力画像の赤、緑、及び青（ＲＧＢ）成分を記述する入力４０２を受け取ることができる。入力４０２は、畳み込み層４０４、畳み込み層４０６などの複数の畳み込み層によって処理されてもよい。あるいは、複数の畳み込み層からの出力は、１組の全結合層４０８によって処理されてもよい。フィードフォワードネットワークについて前述したように、全結合層におけるニューロンは、前の層のすべての活性化との完全結合を有する。全結合層４０８からの出力は、ネットワークから出力結果を生成するために用いられてもよい。全結合層４０８内の活性化は、畳み込みの代わりに行列乗算によって計算されてもよい。全てのＣＮＮ実施例が全結合層４０８を用いるわけではない。例えば、いくつかの実施例において、畳み込み層４０６はＣＮＮの出力を生成してもよい。
【００６１】
畳み込み層は、全結合層４０８に見られる従来のニューラルネットワーク構成とは異なり、疎に結合されている。従来のニューラルネットワーク層は、それぞれの出力ユニットがそれぞれの入力ユニットと相互作用するように完全に結合される。しかし、図に示されるように、領域の畳み込みの出力が領域におけるそれぞれのノードの対応する状態値の代わりに後続層のノードに入力されるので、畳み込み層は疎に結合されている。畳み込み層に関連付けられたカーネルは、畳み込み演算を実行し、その出力は次の層に送信される。畳み込み層内で実行される次元削減は、大型画像などの大型入力を処理するためにＣＮＮがスケーリングできる一態様である。
【００６２】
図５は、一実施形態に係る深層ニューラルネットワークのトレーニング及び展開を示す図５００である。タスクのために所定のネットワークが構築されると、トレーニングデータセット５０２を用いてニューラルネットワークをトレーニングする。トレーニングプロセスのために、様々なトレーニングフレームワーク５０４が開発されている。トレーニングフレームワーク５０４は、トレーニングされていないニューラルネットワーク５０６にフックされてもよく、トレーニング済みニューラルネットワーク５０８を生成するために、トレーニングされていないニューラルネットワーク５０６がトレーニングされることを可能にする。
【００６３】
トレーニングプロセスを開始するために、初期重みは、ランダムに、又は深層信念ネットワークの事前トレーニングにより選択されてもよい。トレーニングサイクルは、教師あり又は教師なしのいずれかの方法で行われる。
【００６４】
教師あり学習は、トレーニングデータセット５０２が入力の所望の出力と対になった入力を含む場合、又はトレーニングデータセット５０２が既知の出力を有する入力を含んで、ニューラルネットワークの出力が手動で評価されたものである場合などのような、トレーニングが媒介操作として実行される学習方法である。ネットワークは入力を処理して、得られた出力を１組の予期又は所望の出力と比較する。次に、誤差がシステムを通じて伝播されて来る。トレーニングフレームワーク５０４は、トレーニングされていないニューラルネットワーク５０６の重みを制御調整することができる。トレーニングフレームワーク５０４は、トレーニングされていないニューラルネットワーク５０６が、既知の入力データに基づいて正解を生成するのに適したモデルに向けて収束する度合いを監視するツールを提供することができる。ニューラルネットワークによって生成された出力を改良するようにネットワークの重みを調整するときに、トレーニングプロセスが繰り返し行われる。トレーニングプロセスは、ニューラルネットワークが、トレーニング済みニューラルネットワーク５０８に関連付けられた統計的に所期の精度に達するまで継続されてもよい。次いで、トレーニング済みニューラルネットワーク５０８を展開して任意の数の機械学習動作を実現してもよい。
【００６５】
教師なし学習は、ネットワークがラベル付けされていないデータを用いて自体をトレーニングしようとする学習方法である。したがって、教師なし学習の場合、トレーニングデータセット５０２には、出力データが全く関連付けられていない入力データが含まれる。トレーニングされていないニューラルネットワーク５０６は、入力にラベル付けされていない群を学習することができ、それぞれの入力がデータセット全体とどのように関連するかを確定することができる。教師なしトレーニングは、データ次元を削減するのに役立つ動作を実行することができるトレーニング済みニューラルネットワーク５０８である自己組織化マップを生成するために用いられてもよい。教師なしトレーニングは、入力データセット内のデータの通常パターンから逸脱するデータポイントへの識別を許容する異常検出の実行にも用いられてもよい。
【００６６】
図６を参照して、一実施形態に係るデータ処理アーキテクチャ６００を示すブロック図が示されている。ＡＤＶによって検出された感知及び予測領域におけるオブジェクトの履歴特徴６０２は、第１ニューラルネットワーク６０４に提供される。該オブジェクトは、自動車、自転車、歩行者などを含んでもよい。オブジェクトの履歴特徴は、複数の以前の計画周期（例えば、１０個の以前の計画周期）における位置（例えば、座標）、速度（大きさ及び方向）、加速度（大きさ及び方向）などを含み得るが、これらに限定されない。第１ニューラルネットワーク６０４に提供される前に、オブジェクトの履歴特徴は、一緒に直列接続されてオブジェクト特徴リストを形成してもよい。第１ニューラルネットワーク６０４は、すべてのオブジェクトの同一パラメータ（重み）を共有する多層パーセプトロンなどの全結合ネットワークであってもよい。
【００６７】
第１ニューラルネットワーク６０４の出力は、少数（たとえば、１〜３個）の抽出されたオブジェクト履歴特徴６０６を含むとともに、第２ニューラルネットワーク６１０の入力のオブジェクト成分６０６となるように構成されてもよい。オブジェクト成分６０６は、地図情報成分６０８とともに第２ニューラルネットワーク６１０に提供される。地図情報成分６０８は、地図・ルート情報３１１（例えば、高精細地図）に基づいて生成され、感知及び予測領域のための車線特徴成分、交通信号成分、静的オブジェクト成分、一般地図情報成分などを含み得るが、これらに限定されない。
【００６８】
一実施形態において、感知及び予測領域は、矩形領域であってもよく、グリッドに基づいて複数の均一サイズの矩形ブロックに更に細分化されてもよい。感知及び予測領域は、ＡＤＶの感知範囲にほぼ対応してもよい。例えば、感知及び予測領域は、１００メートルの長さ及び４０メートルの幅を有してもよい。感知及び予測領域を構成するブロックのサイズは、経験によって選択されてもよく、一実施形態において、各ブロックが一度に１つ以下のオブジェクトを含み得るように選択されてもよい。例えば、ブロックは２ｍ×２ｍであってもよい。
【００６９】
第２ニューラルネットワーク６１０に提供される前に、オブジェクト成分６０６及び地図情報成分６０８は、グリッドサブディビジョンに基づいてラベル付けされてもよい。言い換えれば、抽出されたオブジェクト履歴特徴及び地図情報（車線、交通信号、静的オブジェクトなど）は、それらに関連付けられたブロックでラベル付けされてもよい。したがって、上述したように、オブジェクト成分６０６及び地図情報成分６０８を含む第２ニューラルネットワーク６１０の入力の様々な成分は、グリッドに基づいて互いに整列されるスタック層として視覚化されてもよい。
【００７０】
第２ニューラルネットワーク６１０はＣＮＮであってもよく、オブジェクトが含まれると予測される感知及び予測領域におけるそれぞれのブロックについて、オブジェクトタイプ（自動車、自転車、歩行者など）、該ブロックに関連付けられたオブジェクトの予測される挙動（例えば、速度、加速度など）に関する１つ又は複数の特徴、及び信頼度レベルを表すことができる数字の列を予測結果６１２として出力するように構成されてもよい。
【００７１】
なお、第１ニューラルネットワーク６０４及び第２ニューラルネットワーク６１０は、ＡＤＶ動作の予測に使用される前に、記録されたオブジェクト挙動グラウンドトゥルースデータ（object behavior ground truth data）及び地図情報を含むトレーニングデータセットでトレーニングされる必要がある。
【００７２】
図７Ａ及び図７Ｂを参照して、一実施形態に係るデータの例示的な視覚的表現を示すダイアグラム７００Ａ、７００Ｂが示されている。なお、図７Ａ及び図７Ｂは、説明するためのものにすぎず、示されるブロック、層、オブジェクトなどの要素の数は、本開示を限定するものではない。図７Ａは、グリッドに基づいて等しいサイズの矩形ブロックに細分化されたＡＤＶの矩形感知及び予測領域７００Ａを示す。図７Ｂは、第２ニューラルネットワーク６１０に提供される地図情報成分６０８及びオブジェクト成分６０６の視覚的表現７００Ｂを示す。上述したように、地図情報成分６０８及びオブジェクト成分６０６は、グリッドに基づいて整列される。地図情報成分（層）６０８は、例えば、車線特徴成分（層）、交通信号成分（層）、静的オブジェクト成分（層）、又は、一般地図情報成分（層）のうち１つ又は複数を含んでもよい。なお、同じブロックに関連付けられたオブジェクト成分６０６は、同じオブジェクトに関連付けられた抽出されたオブジェクト履歴特徴を含む。
【００７３】
図８を参照して、一実施形態に係る、自動運転車両（ＡＤＶ）において機械学習により環境オブジェクトの挙動を予測するための例示的な方法８００を示すフローチャートが示されている。方法８００は、ハードウェア、ソフトウェア、又は両方の組み合わせ（例えば、図９のシステム１５００）において実施されてもよい。ブロック８１０では、第１ニューラルネットワーク及び第２ニューラルネットワークを少なくとも含むデータ処理アーキテクチャを生成し、第１ニューラルネットワーク及び第２ニューラルネットワークは既にトレーニングデータセットによりトレーニングされた。ブロック８２０では、トレーニング済みニューラルネットワークを含むデータ処理アーキテクチャを用いて、ＡＤＶ環境における１つ又は複数のオブジェクトの挙動を予測する。ブロック８３０では、ＡＤＶの動作を制御するために、ＡＤＶ環境における１つ又は複数のオブジェクトの予測された挙動に少なくとも部分的に基づいて運転信号を生成する。
【００７４】
一実施形態において、該１つ又は複数のオブジェクトは、ＡＤＶの感知及び予測領域における自動車、自転車及び／又は歩行者を含む。第１ニューラルネットワークは、多層パーセプトロンであり、第２ニューラルネットワークは、畳み込みニューラルネットワーク（ＣＮＮ）である。
【００７５】
一実施形態において、第１ニューラルネットワークは、１つ又は複数の以前の計画周期から１つ又は複数のオブジェクトの履歴特徴を入力として受け取るとともに、１つ又は複数のオブジェクトの抽出された履歴特徴を出力として生成し、第２ニューラルネットワークは、１つ又は複数のオブジェクトの抽出された履歴特徴及び地図情報を入力として受け取るとともに、１つ又は複数のオブジェクトの予測された挙動を出力として生成する。
【００７６】
一実施形態において、１つ又は複数のオブジェクトの履歴特徴は、位置、速度又は加速度のうち１つ又は複数を含み、地図情報は、高精細地図に由来するとともに、車線特徴成分、交通信号成分、静的オブジェクト成分又は一般地図情報成分のうち１つ又は複数を含む。
【００７７】
一実施形態において、ＡＤＶの矩形感知及び予測領域のグリッドサブディビジョンに基づいて、１つ又は複数のオブジェクトの抽出された履歴特徴及び地図情報を、関連付けられるブロック情報でラベル付けし、該グリッドサブディビジョンは、ＡＤＶの矩形感知及び予測領域をグリッドに基づいて複数の均一サイズの矩形ブロックに細分化することを含む。
【００７８】
一実施形態において、１つ又は複数のオブジェクトの予測された挙動は、オブジェクトが含まれると予測される感知及び予測領域におけるブロック毎について、オブジェクト種類、ブロックに関連付けられたオブジェクトの予測された挙動に関する１つ又は複数の特徴、又は信頼度レベルのうち１つ又は複数を示す数字の列として表示される。
【００７９】
なお、以上に例示及び記述された構成要素の一部又は全部は、ソフトウェア、ハードウェア又はそれらの組み合わせで実施されてもよい。例えば、このような構成要素は、永続性記憶装置にインストールされるとともに格納されるソフトウェアとして実施されてもよく、前記ソフトウェアは、本開示にわたって記載されたプロセス又は動作を実施するように、プロセッサ（図示せず）を介してメモリにロードして実行されてもよい。あるいは、このような構成要素は、集積回路（例えば、特定用途向け集積回路又はＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）のような専用ハードウェアにプログラミング又は埋め込まれた実行可能なコードとして実施されてもよく、前記実行可能なコードは、アプリケーションからの対応するドライバ及び／又はオペレーティングシステムを介してアクセスすることができる。また、このような構成要素は、ソフトウェア構成要素が１つ又は複数の特定の命令によってアクセス可能な命令セットの一部として、プロセッサ又はプロセッサコアにおける特定のハードウェアロジックとして実施されてもよい。
【００８０】
図９は、本開示の一実施形態と一緒に使用可能なデータ処理システムの一例を示すブロック図である。例えば、システム１５００は、前記プロセス又は方法のいずれかを実行する上述したデータ処理システムのいずれか（例えば、図１の感知・計画システム１１０、又はサーバ１０３〜１０４のいずれか）を示してもよい。システム１５００は、多数の異なる構成要素を備えていてもよい。これらの構成要素は、集積回路（ＩＣ）、集積回路の一部、ディスクリート型電子デバイス、又は回路基板（例えば、コンピュータシステムのマザーボード若しくはアドインカード）に適するその他のモジュールとして実現されることができ、又は、他の形態でコンピュータシステムのシャーシ内に組み込まれる構成要素として実施されてもよい。
【００８１】
さらに注意すべきなのは、システム１５００は、コンピュータシステムの多数の構成要素の高レベルビューを示すことを意図している。しかしながら、いくつかの実施例においては、付加的構成要素が存在する場合もあることを理解すべきである。また、他の実施例においては示される構成要素が異なる配置を有してもよい。システム１５００は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレヤー、パーソナルデジタルアシスタント（ＰＤＡ）、スマートウォッチ、パーソナルコミュニケーター、ゲーミングデバイス、ネットワークルーター又はハブ、無線アクセスポイント（ＡＰ）又はリピーター、セット・トップボックス、又はそれらの組み合わせを示してもよい。また、単一の機械又はシステムのみが示されたが、「機械」又は「システム」という用語は、本明細書で説明されるいずれか１つ又は複数の方法を実行するための、１つ（又は複数）の命令セットを単独で又は共同で実行する機械又はシステムの任意の組み合わせも含まれることを理解されたい。
【００８２】
一実施形態において、システム１５００は、バス又はインターコネクト１５１０を介して接続される、プロセッサ１５０１と、メモリ１５０３と、デバイス１５０５〜１５０８とを備える。プロセッサ１５０１は、単一のプロセッサコア又は複数のプロセッサコアが含まれる単一のプロセッサ又は複数のプロセッサを示してもよい。プロセッサ１５０１は、マイクロプロセッサ、中央処理装置（ＣＰＵ）などのような、１つ又は複数の汎用プロセッサを示してもよい。より具体的には、プロセッサ１５０１は、複雑命令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、又は他の命令セットを実装するプロセッサ、又は命令セットの組み合わせを実装するプロセッサであってもよい。プロセッサ１５０１は、さらに、特定用途向け集積回路（ＡＳＩＣ）、セルラ又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、組込みプロセッサのような１つ又は複数の専用プロセッサ、又は命令処理可能な任意の他のタイプのロジックであってもよい。
【００８３】
プロセッサ１５０１は、超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよく、前記システムの様々な構成要素と通信するための主処理ユニット及び中央ハブとして機能していてもよい。このようなプロセッサは、システムオンチップ（ＳｏＣ）として実装されてもよい。プロセッサ１５０１は、本明細書で説明される動作及びステップを実行するための命令を実行するように構成される。システム１５００は、選択可能なグラフィックサブシステム１５０４と通信するグラフィックインターフェースをさらに含んでもよく、グラフィックサブシステム１５０４は、表示コントローラ、グラフィックプロセッサ及び／又は表示装置をさらに備えてもよい。
【００８４】
プロセッサ１５０１は、メモリ１５０３と通信してもよく、メモリ１５０３は、一実施形態において、所定量のシステムメモリを提供するための複数のメモリデバイスによって実装されてもよい。メモリ１５０３は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、又は他のタイプの記憶デバイスのような、１つ又は複数の揮発性記憶（又はメモリ）デバイスを備えてもよい。メモリ１５０３は、プロセッサ１５０１又は他の任意のデバイスにより実行される命令シーケンスを含む情報を格納することができる。例えば、様々なオペレーティングシステム、デバイスドライバ、ファームウェア（例えば、基本入出力システム又はＢＩＯＳ）、及び／又はアプリケーションの実行可能なコード及び／又はデータは、メモリ１５０３にロードされてもよく、プロセッサ１５０１により実行されてもよい。オペレーティングシステムは、ロボットオペレーティングシステム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）社からのＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム、アップル社からのＭａｃ  ＯＳ（登録商標）／ｉＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）社からのＡｎｄｒｏｉｄ（登録商標）、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、又は他のリアルタイム若しくは組込みオペレーティングシステムのような、任意の種類のオペレーティングシステムであってもよい。
【００８５】
システム１５００は、更に、ネットワークインターフェースデバイス１５０５、選択可能な入力デバイス１５０６、及び他の選択可能なＩ／Ｏデバイス１５０７を含むデバイス１５０５〜１５０８のようなＩ／Ｏデバイスを備えてもよい。ネットワークインターフェースデバイス１５０５は、無線送受信機及び／又はネットワークインターフェースカード（ＮＩＣ）を備えてもよい。前記無線送受信機は、ＷｉＦｉ送受信機、赤外線送受信機、ブルートゥース送受信機、ＷｉＭａｘ送受信機、無線携帯電話送受信機、衛星送受信機（例えば、全地球測位システム（ＧＰＳ）送受信機）、又は他の無線周波数（ＲＦ）送受信機、又はそれらの組み合わせであってもよい。ＮＩＣは、イーサネット（登録商標）カードであってもよい。
【００８６】
入力デバイス１５０６は、マウス、タッチパッド、タッチスクリーン（表示装置１５０４と一体に統合されてもよい）、ポインターデバイス（例えば、スタイラス）、及び／又はキーボード（例えば、物理キーボード又はタッチスクリーンの一部として表示された仮想キーボード）を備えてもよい。例えば、入力デバイス１５０６は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーン及びタッチスクリーンコントローラは、例えば、様々なタッチ感応技術（コンデンサ、抵抗、赤外線、及び表面弾性波の技術を含むが、それらに限定されない）のいずれか、並びに他の近接センサアレイ、又は、タッチスクリーンと接触する１つ又は複数の点を確定するための他の素子を用いて、それらの接触、移動又は中断を検出することができる。
【００８７】
Ｉ／Ｏデバイス１５０７は音声装置を備えてもよい。音声装置は、音声認識、音声複製、デジタル記録、及び／又は電話機能のような音声サポート機能を促進するために、スピーカ及び／又はマイクロホンを含んでもよい。その他のＩ／Ｏデバイス１５０７は、ユニバーサルシリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインターフェース、バスブリッジ（例えば、ＰＣＩ−ＰＣＩブリッジ）、センサ（例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサなどのモーションセンサ）、又はそれらの組み合わせをさらに備えてもよい。デバイス１５０７は、結像処理サブシステム（例えば、カメラ）をさらに備えてもよく、前記結像処理サブシステムは、写真及びビデオ断片の記録のようなカメラ機能を促進するための、電荷結合素子（ＣＣＤ）又は相補型金属酸化物半導体（ＣＭＯＳ）光学センサのような光学センサを備えてもよい。いくつかのセンサは、センサハブ（図示せず）を介してインターコネクト１５１０に接続されてもよく、キーボード又はサーマルセンサのような他のデバイスはシステム１５００の具体的な構成又は設計により、組込みコントローラ（図示せず）により制御されてもよい。
【００８８】
データ、アプリケーション、１つ又は複数のオペレーティングシステムなどの情報の永続的記憶を提供するために、プロセッサ１５０１には、大容量記憶デバイス（図示せず）が接続されてもよい。様々な実施形態において、薄型化と軽量化のシステム設計を可能にしながら、システムの応答能力を向上させるために、このような大容量記憶デバイスは、ソリッドステートデバイス（ＳＳＤ）によって実現されてもよい。しかしながら、他の実施形態において、大容量記憶デバイスは、主にハードディスクドライブ（ＨＤＤ）を使用して実現することができ、より小さい容量のＳＳＤ記憶デバイスをＳＳＤキャッシュとして機能することで、停電イベントの間にコンテキスト状態及び他のそのような情報の不揮発性記憶を可能にし、それによりシステム動作が再開するときに通電を速く実現することができる。また、フラッシュデバイスは、例えば、シリアルペリフェラルインターフェース（ＳＰＩ）を介してプロセッサ１５０１に接続されてもよい。このようなフラッシュデバイスは、前記システムのＢＩＯＳ及び他のファームウェアを含むシステムソフトウェアの不揮発性記憶のために機能することができる。
【００８９】
記憶デバイス１５０８は、本明細書に記載の方法又は機能のいずれか１つ又は複数を具現化する１つ又は複数の命令セット又はソフトウェア（例えば、モジュール、ユニット及び／又はロジック１５２８）が格納されているコンピュータアクセス可能な記憶媒体１５０９（機械可読記憶媒体又はコンピュータ可読媒体とも呼ばれる）を備えてもよい。処理モジュール／ユニット／ロジック１５２８は、計画モジュール３０５、制御モジュール３０６、機械学習モジュールなどの前記構成要素のいずれかを示してもよい。処理モジュール／ユニット／ロジック１５２８は、更に、データ処理システム１５００、メモリ１５０３及びプロセッサ１５０１による実行中に、メモリ１５０３内及び／又はプロセッサ１５０１内に完全的に又は少なくとも部分的に存在してもよく、データ処理システム１５００、メモリ１５０３、及びプロセッサ１５０１も機械アクセス可能な記憶媒体を構成する。処理モジュール／ユニット／ロジック１５２８は、更に、ネットワークによってネットワークインターフェースデバイス１５０５を介して送受信されてもよい。
【００９０】
コンピュータ可読記憶媒体１５０９は、以上に説明されたいくつかのソフトウェア機能を永続的に格納するために用いることができる。コンピュータ可読記憶媒体１５０９は、例示的な実施形態において単一の媒体として示されるが、「コンピュータ可読記憶媒体」という用語は、前記１つ又は複数の命令セットが格納される単一の媒体又は複数の媒体（例えば、集中型又は分散型データベース及び／又は関連するキャッシュとサーバ）を含むと解釈されるものとする。「コンピュータ可読記憶媒体」という用語は、更に、命令セットを格納又は符号化可能な任意の媒体を含むと解釈されるものであり、前記命令セットは機械により実行され、本開示のいずれか１つ又は複数の方法を前記機械に実行させるためのものである。したがって、「コンピュータ可読記憶媒体」という用語は、ソリッドステートメモリ、光学媒体及び磁気媒体、又は他の任意の非一時的機械可読媒体を含むが、それらに限定されないと解釈されるものとする。
【００９１】
本明細書に記載の処理モジュール／ユニット／ロジック１５２８、構成要素及び他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、又はハードウェア構成要素（例えば、ＡＳＩＣＳ、ＦＰＧＡ、ＤＳＰ又は類似のデバイス）の機能に統合されてもよい。さらに、処理モジュール／ユニット／ロジック１５２８は、ハードウェアデバイスにおけるファームウェア又は機能性回路として実現されていてもよい。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェアデバイスとソフトウェア構成要素の任意の組み合わせで実現されてもよい。
【００９２】
なお、システム１５００は、データ処理システムの様々な構成要素を有するものとして示されているが、構成要素を相互接続する任意の特定のアーキテクチャ又は方式を示すことを意図するものではなく、そのような詳細は、本開示の実施形態とは密接な関係がない。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ及び／又は他のデータ処理システムも、本開示の実施形態と共に使用可能であることを理解されたい。
【００９３】
上述した詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズムと記号表現により示された。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。本明細書では、一般的に、アルゴリズムは、所望の結果につながるセルフコンシステントシーケンスと考えられる。これらの動作は、物理量の物理的処置が必要とされるものである。
【００９４】
しかしながら、念頭に置くべきなのは、これらの用語及び類似の用語の全ては、適切な物理量に関連付けられるものであり、且つただこれらの量を標識しやすくするためのものに過ぎない。以上の説明で他に明示的に記載されていない限り、本明細書の全体にわたって理解すべきなのは、用語（例えば、添付された特許請求の範囲に記載のもの）による説明とは、コンピュータシステム、又は類似の電子計算装置の動作及び処理を指し、前記コンピュータシステム又は電子計算装置は、コンピュータシステムのレジスタ及びメモリにおける物理（電子）量として示されたデータを制御するとともに、前記データをコンピュータシステムメモリ又はレジスタ又はこのような他の情報記憶装置、伝送又は表示装置において同様に物理量として示された他のデータに変換する。
【００９５】
本開示の実施形態は、さらに本明細書における動作を実行するための装置に関する。このようなコンピュータプログラムは、非一時的コンピュータ可読媒体に格納される。機械可読媒体は、機械（例えば、コンピュータ）により読み取り可能な形態で情報を格納するための任意の機構を備える。例えば、機械可読（例えば、コンピュータ可読）媒体は、機械（例えば、コンピュータ）可読記憶媒体（例えば、読み出し専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス）を備える。
【００９６】
上述した図面において説明されたプロセス又は方法は、ハードウェア（例えば、回路、専用ロジックなど）、ソフトウェア（例えば、非一時的コンピュータ可読媒体に具現化されるもの）、又は両方の組み合わせを含む処理ロジックにより実行されてもよい。前記プロセス又は方法は、以上で特定の順序に応じて説明されたが、前記動作の一部が異なる順序で実行されてもよいことを理解されたい。また、いくつかの動作は、順番ではなく並行して実行されてもよい。
【００９７】
本開示の実施形態は、いずれの特定のプログラミング言語を参照することなく記載されている。理解すべきなのは、本明細書に記載の本開示の実施形態の教示を実現するために、様々なプログラミング言語を使用することができる。
【００９８】
本明細書において、本開示の実施形態は、既にその具体的な例示的な実施形態を参照しながら記載された。明らかなように、添付された特許請求の範囲に記載された本開示のより広い趣旨及び範囲を逸脱しない限り、本開示に対して様々な変更を行うことができる。したがって、本明細書及び図面は、限定的な意味でなく、例示的な意味で理解されるべきである。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自動運転車両において機械学習により環境オブジェクトの挙動を予測するためのコンピュータによって実施される方法であって、
ある時点で前記自動運転車両の感知モジュールから受信された感知データに対して第１ニューラルネットワークを適用して１組の感知特徴を抽出することと、
前記第１ニューラルネットワークから抽出された感知特徴と、地図から取得された地図情報とに基づいて、第２ニューラルネットワークを用いて前記自動運転車両の環境における１つ又は複数のオブジェクトの挙動を予測することと、
前記自動運転車両の環境における前記１つ又は複数のオブジェクトの予測された挙動に少なくとも部分的に基づいて制御コマンドを生成して、前記自動運転車両の動作を制御することと、を含むコンピュータによって実施される方法。
【請求項２】
前記１つ又は複数のオブジェクトは、自動車、自転車及び／又は歩行者を含む請求項１に記載の方法。
【請求項３】
前記第１ニューラルネットワークは、多層パーセプトロンであり、前記第２ニューラルネットワークは、畳み込みニューラルネットワークである請求項１に記載の方法。
【請求項４】
前記第１ニューラルネットワークは、１つ又は複数の以前の計画周期から前記１つ又は複数のオブジェクトの履歴特徴を入力として受け取り、前記１つ又は複数のオブジェクトの抽出された履歴特徴を出力として生成し、前記第２ニューラルネットワークは、前記１つ又は複数のオブジェクトの抽出された履歴特徴及び地図情報を入力として受け取り、前記１つ又は複数のオブジェクトの予測された挙動を出力として生成する請求項３に記載の方法。
【請求項５】
前記１つ又は複数のオブジェクトの前記履歴特徴は、位置、速度及び加速度のうち１つ又は複数を含み、前記地図情報は、高精細地図に由来するとともに、車線特徴成分、交通信号成分、静的オブジェクト成分及び一般地図情報成分のうち１つ又は複数を含む請求項４に記載の方法。
【請求項６】
前記自動運転車両の矩形感知及び予測領域のグリッドサブディビジョンに基づいて、前記１つ又は複数のオブジェクトの抽出された履歴特徴及び前記地図情報を、関連付けられるブロック情報でラベル付けし、前記グリッドサブディビジョンは、前記自動運転車両の前記矩形感知及び予測領域をグリッドに基づいて複数の均一サイズの矩形ブロックに細分化することを含む請求項４に記載の方法。
【請求項７】
前記１つ又は複数のオブジェクトの予測された挙動は、
オブジェクトが含まれると予測される前記感知及び予測領域におけるブロック毎について、オブジェクト種類、前記ブロックに関連付けられた前記オブジェクトの予測された挙動に関する１つ又は複数の特徴、及び信頼度レベルのうち１つ又は複数を示す数字の列として表示される請求項６に記載の方法。
【請求項８】
指令が格納されている非一時的機械可読媒体であって、前記指令は、プロセッサによって実行されるときに、自動運転車両において機械学習により環境オブジェクトの挙動を予測するための動作を前記プロセッサに実行させ、前記動作は、
ある時点で前記自動運転車両の感知モジュールから受信された感知データに対して第１ニューラルネットワークを適用して１組の感知特徴を抽出することと、
前記第１ニューラルネットワークから抽出された感知特徴と、地図から取得された地図情報とに基づいて、第２ニューラルネットワークを用いて前記自動運転車両の環境における１つ又は複数のオブジェクトの挙動を予測することと、
前記自動運転車両の環境における前記１つ又は複数のオブジェクトの予測された挙動に少なくとも部分的に基づいて制御コマンドを生成して、前記自動運転車両の動作を制御することと、を含む非一時的機械可読媒体。
【請求項９】
前記１つ又は複数のオブジェクトは、自動車、自転車及び／又は歩行者を含む請求項８に記載の非一時的機械可読媒体。
【請求項１０】
前記第１ニューラルネットワークは、多層パーセプトロンであり、前記第２ニューラルネットワークは、畳み込みニューラルネットワークである請求項８に記載の非一時的機械可読媒体。
【請求項１１】
前記第１ニューラルネットワークは、１つ又は複数の以前の計画周期から前記１つ又は複数のオブジェクトの履歴特徴を入力として受け取り、前記１つ又は複数のオブジェクトの抽出された履歴特徴を出力として生成し、前記第２ニューラルネットワークは、前記１つ又は複数のオブジェクトの抽出された履歴特徴及び地図情報を入力として受け取り、前記１つ又は複数のオブジェクトの予測された挙動を出力として生成する請求項１０に記載の非一時的機械可読媒体。
【請求項１２】
前記１つ又は複数のオブジェクトの前記履歴特徴は、位置、速度及び加速度のうち１つ又は複数を含み、前記地図情報は、高精細地図に由来するとともに、車線特徴成分、交通信号成分、静的オブジェクト成分及び一般地図情報成分のうち１つ又は複数を含む請求項１１に記載の非一時的機械可読媒体。
【請求項１３】
前記自動運転車両の矩形感知及び予測領域のグリッドサブディビジョンに基づいて、前記１つ又は複数のオブジェクトの抽出された履歴特徴及び前記地図情報を、関連付けられるブロック情報でラベル付けし、前記グリッドサブディビジョンは、前記自動運転車両の前記矩形感知及び予測領域をグリッドに基づいて複数の均一サイズの矩形ブロックに細分化することを含む請求項１１に記載の非一時的機械可読媒体。
【請求項１４】
前記１つ又は複数のオブジェクトの予測された挙動は、
オブジェクトが含まれると予測される前記感知及び予測領域におけるブロック毎について、オブジェクト種類、前記ブロックに関連付けられた前記オブジェクトの予測された挙動に関する１つ又は複数の特徴、及び信頼度レベルのうち１つ又は複数を示す数字の列として表示される請求項１３に記載の非一時的機械可読媒体。
【請求項１５】
プロセッサと、指令を格納するために前記プロセッサに接続されるメモリとを備えるデータ処理システムであって、前記指令は、前記プロセッサによって実行されるときに、自動運転車両において機械学習により環境オブジェクトの挙動を予測するための動作を前記プロセッサに実行させ、前記動作は、
ある時点で前記自動運転車両の感知モジュールから受信された感知データに対して第１ニューラルネットワークを適用して１組の感知特徴を抽出することと、
前記第１ニューラルネットワークから抽出された感知特徴と、地図から取得された地図情報とに基づいて、第２ニューラルネットワークを用いて前記自動運転車両の環境における１つ又は複数のオブジェクトの挙動を予測することと、
前記自動運転車両の環境における前記１つ又は複数のオブジェクトの予測された挙動に少なくとも部分的に基づいて制御コマンドを生成して、前記自動運転車両の動作を制御することと、を含むデータ処理システム。
【請求項１６】
前記１つ又は複数のオブジェクトは、自動車、自転車及び／又は歩行者を含む請求項１５に記載のデータ処理システム。
【請求項１７】
前記第１ニューラルネットワークは、多層パーセプトロンであり、前記第２ニューラルネットワークは、畳み込みニューラルネットワークである請求項１５に記載のデータ処理システム。
【請求項１８】
前記第１ニューラルネットワークは、１つ又は複数の以前の計画周期から前記１つ又は複数のオブジェクトの履歴特徴を入力として受け取り、前記１つ又は複数のオブジェクトの抽出された履歴特徴を出力として生成し、前記第２ニューラルネットワークは、前記１つ又は複数のオブジェクトの抽出された履歴特徴及び地図情報を入力として受け取り、前記１つ又は複数のオブジェクトの予測された挙動を出力として生成する請求項１７に記載のデータ処理システム。
【請求項１９】
前記１つ又は複数のオブジェクトの前記履歴特徴は、位置、速度及び加速度のうち１つ又は複数を含み、前記地図情報は、高精細地図に由来するとともに、車線特徴成分、交通信号成分、静的オブジェクト成分及び一般地図情報成分のうち１つ又は複数を含む請求項１８に記載のデータ処理システム。
【請求項２０】
前記自動運転車両の矩形感知及び予測領域のグリッドサブディビジョンに基づいて、前記１つ又は複数のオブジェクトの抽出された履歴特徴及び前記地図情報を、関連付けられるブロック情報でラベル付けし、前記グリッドサブディビジョンは、前記自動運転車両の前記矩形感知及び予測領域をグリッドに基づいて複数の均一サイズの矩形ブロックに細分化することを含む請求項１８に記載のデータ処理システム。
【請求項２１】
前記１つ又は複数のオブジェクトの予測された挙動は、
オブジェクトが含まれると予測される前記感知及び予測領域におけるブロック毎について、オブジェクト種類、前記ブロックに関連付けられた前記オブジェクトの予測された挙動に関する１つ又は複数の特徴、及び信頼度レベルのうち１つ又は複数を示す数字の列として表示される請求項２０に記載のデータ処理システム。
【請求項２２】
コンピュータプログラムであって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項１〜７のいずれか一項に記載の方法を実現する、コンピュータプログラム。
【外国語明細書】
2020083308000001.pdf
2020083308000002.pdf
2020083308000003.pdf
2020083308000004.pdf