IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ トヨタ リサーチ インスティテュート,インコーポレイティドの特許一覧

特許7555839歩行者の動きを予測するためのシステムおよび方法
<>
  • 特許-歩行者の動きを予測するためのシステムおよび方法 図1
  • 特許-歩行者の動きを予測するためのシステムおよび方法 図2
  • 特許-歩行者の動きを予測するためのシステムおよび方法 図3
  • 特許-歩行者の動きを予測するためのシステムおよび方法 図4
  • 特許-歩行者の動きを予測するためのシステムおよび方法 図5
  • 特許-歩行者の動きを予測するためのシステムおよび方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-13
(45)【発行日】2024-09-25
(54)【発明の名称】歩行者の動きを予測するためのシステムおよび方法
(51)【国際特許分類】
   B60W 30/08 20120101AFI20240917BHJP
   B60W 40/02 20060101ALI20240917BHJP
   G08G 1/16 20060101ALI20240917BHJP
【FI】
B60W30/08
B60W40/02
G08G1/16 C
【請求項の数】 20
【外国語出願】
(21)【出願番号】P 2021012911
(22)【出願日】2021-01-29
(65)【公開番号】P2021155024
(43)【公開日】2021-10-07
【審査請求日】2023-12-25
(31)【優先権主張番号】16/787,523
(32)【優先日】2020-02-11
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】518102470
【氏名又は名称】トヨタ リサーチ インスティテュート,インコーポレイティド
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100147555
【弁理士】
【氏名又は名称】伊藤 公一
(74)【代理人】
【識別番号】100123593
【弁理士】
【氏名又は名称】関根 宣夫
(74)【代理人】
【識別番号】100133835
【弁理士】
【氏名又は名称】河野 努
(72)【発明者】
【氏名】カルッティケヤ マンガラム
(72)【発明者】
【氏名】リー コアン-ホイ
(72)【発明者】
【氏名】アドリアン ダビド ガイドン
【審査官】稲本 遥
(56)【参考文献】
【文献】国際公開第2014/192137(WO,A1)
【文献】特開2009-217448(JP,A)
【文献】特開2008-186170(JP,A)
【文献】特開2013-246794(JP,A)
【文献】米国特許第09766626(US,B1)
【文献】米国特許出願公開第2016/0300485(US,A1)
【文献】米国特許出願公開第2005/0073438(US,A1)
【文献】米国特許出願公開第2017/0344855(US,A1)
【文献】米国特許第10854079(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 10/00-10/30
30/00-60/00
G08G 1/00-99/00
(57)【特許請求の範囲】
【請求項1】
複数の歩行者の動きを予測するためのシステムであって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサと通信するメモリであって、初期軌道モジュール、出口点予測モジュール、経路プラニングモジュール、および調整モジュールを有しているメモリと、を備えており、
前記初期軌道モジュールは、前記1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、前記複数の歩行者の軌道を得るようにさせる命令を含んでおり、
前記出口点予測モジュールは、前記1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、前記複数の歩行者の軌道に基づいてシーンから、前記複数の歩行者に対する将来の出口点を予測させる命令を含んでおり、
前記経路プラニングモジュールは、前記1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、前記将来の出口点と、マップの少なくとも1つのシーン要素とに基づいて、前記複数の歩行者の、前記複数の歩行者が前記将来の出口点に到達するために取ると予測される経路である軌道経路を決定させる命令を含んでおり、
前記調整モジュールは、前記1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、前記複数の歩行者の少なくとも2人の間の少なくとも1つの予測される相互作用に基づいて、前記軌道経路を調整させる命令を含んでいる、
システム。
【請求項2】
少なくとも1つの予測される相互作用は衝突である、請求項1に記載のシステム。
【請求項3】
前記調整モジュールは、前記1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、前記複数の歩行者の前記少なくとも2人の間の衝突を回避するために、前記複数の歩行者の前記少なくとも2人の前記軌道経路を調整させる命令を更に備えている、請求項2に記載のシステム。
【請求項4】
前記初期軌道モジュールは、前記1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、混合密度ネットワークモデルを使用することにより、前記複数の歩行者の軌道を得るようにさせる命令を更に備えている、請求項1に記載のシステム。
【請求項5】
前記調整モジュールは、前記1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、グラフニューラルネットワークモデルを利用することにより、前記複数の歩行者の少なくとも2人の間の少なくとも1つの予測される相互作用に基づいて、軌道経路を調整させる命令を更に備えている、請求項1に記載のシステム。
【請求項6】
前記複数の歩行者に対する軌道は、前記グラフニューラルネットワークモデルのノード特徴として前記グラフニューラルネットワークモデルに埋め込まれる、請求項5に記載のシステム。
【請求項7】
前記シーンは固定シーンである、請求項1に記載のシステム。
【請求項8】
前記シーンは、エゴ車両の動きに基づいて移動する、請求項1に記載のシステム。
【請求項9】
複数の歩行者の動きを予測するためのシステムが実行する方法であって、
前記複数の歩行者の軌道を得るステップと、
前記複数の歩行者の前記軌道に基づいてシーンから、前記複数の歩行者に対する将来の出口点を予測するステップと、
前記将来の出口点と、マップの少なくとも1つのシーン要素とに基づいて、前記複数の歩行者の、前記複数の歩行者が前記将来の出口点に到達するために取ると予測される経路である軌道経路を決定するステップと、
前記複数の歩行者の少なくとも2人の間の少なくとも1つの予測される相互作用に基づいて、前記軌道経路を調整するステップと、
を有している、方法。
【請求項10】
少なくとも1つの予測される相互作用は衝突である、請求項9に記載の方法。
【請求項11】
前記複数の歩行者の前記少なくとも2人の間の前記衝突を回避するために、前記複数の歩行者の前記少なくとも2人の前記軌道経路を調整するステップを更に有している、請求項10に記載の方法。
【請求項12】
前記複数の歩行者の軌道を得るステップは、混合密度ネットワークモデルにより実行される、請求項9に記載の方法。
【請求項13】
前記複数の歩行者の少なくとも2人の間の前記少なくとも1つの予測される相互作用に基づいて、前記軌道経路を調整するステップは、グラフニューラルネットワークモデルにより実行される、請求項9に記載の方法。
【請求項14】
前記複数の歩行者に対する軌道は、前記グラフニューラルネットワークモデルのノード特徴として前記グラフニューラルネットワークモデルに埋め込まれる、請求項13に記載の方法。
【請求項15】
前記シーンは固定シーンである、請求項9に記載の方法。
【請求項16】
前記シーンは、エゴ車両の動きに基づいて移動する、請求項9に記載の方法。
【請求項17】
複数の歩行者の動きを予測するための非一時的コンピュータ可読媒体であって、
1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、
前記複数の歩行者の軌道を得るようにさせ、
前記複数の歩行者の軌道に基づいてシーンから、前記複数の歩行者に対する将来の出口点を予測させ、
前記将来の出口点と、マップの少なくとも1つのシーン要素とに基づいて、前記複数の歩行者の、前記複数の歩行者が前記将来の出口点に到達するために取ると予想される経路である軌道経路を決定させ、
前記複数の歩行者の少なくとも2人の間の少なくとも1つの予測される相互作用に基づいて、前記軌道経路を調整させる、
命令を備えている、
非一時的コンピュータ可読媒体。
【請求項18】
少なくとも1つの予測される相互作用は衝突である、請求項17に記載の非一時的コンピュータ可読媒体。
【請求項19】
前記非一時的コンピュータ可読媒体は、1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、前記複数の歩行者の前記少なくとも2人の間の衝突を回避するために、前記複数の歩行者の前記少なくとも2人の前記軌道経路を調整させる命令を更に備えている、請求項18に記載の非一時的コンピュータ可読媒体。
【請求項20】
前記シーンは、エゴ車両の動きに基づいて移動する、請求項17に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
ここにおいて記述される主題は、概して、歩行者の動きを予測するためのシステムおよび方法に関する。
【背景技術】
【0002】
提供される背景技術の記述は、全体的に開示の状況を提示するためである。発明者の研究は、この背景技術のセクションにおいて記述できる範囲で、および、出願時において先行技術であると認めることができない記述の態様は、本技術に対する先行技術であるとは明示的にも黙示的にも認められない。
【0003】
幾つかの現在の車両は、車両が動作している環境において見出される対象物を検出できるセンサを有している。これらの検出された対象物の幾つかは、他の車両および歩行者などの移動対象物を含んでいる。歩行者に関して、歩行者の予測された動きは、経路プラニングおよび意思決定などの、自律車両システムの幾つかの下流部門の構成要素により利用できる。
【0004】
幾つかの現在の方法は、歩行者の動きの動態を、社会的、シーン(scene)、および/または他の合図(cures)に直接依存することによりモデル化している。例えば、幾つかの現在の方法は、シーン要素、シーンにおける他の歩行者などとの衝突を回避するために、エネルギー項を生成する「ソーシャルフォース」モデルを使用している。幾つかの他の方法は、明示的なモデル化をすることなく、根源的なメカニズムを学習するためのディープモデルに依存することにより、動的モデル化への、よりデータ駆動的なアプローチを利用している。
【発明の概要】
【0005】
このセクションは、開示の大要を全体的に記述するものであって、開示の全体の範囲または開示のすべての特徴を網羅している説明ではない。
【0006】
1つの実施形態においては、複数の歩行者の動きを予測するためのシステムは、1つ以上のプロセッサと、その1つ以上のプロセッサと通信するメモリを含んでいる。メモリは、初期軌道モジュール、出口点予測モジュール、経路プラニングモジュール、および調整モジュールを含んでいる。初期軌道モジュールは、1つ以上のプロセッサにより実行されると、その1つ以上のプロセッサに、複数の歩行者の軌道を得るようにさせる命令を含んでいる。出口点予測モジュールは、1つ以上のプロセッサにより実行されると、その1つ以上のプロセッサに、複数の歩行者の軌道に基づいてシーンから、複数の歩行者に対する将来の出口点を予測させる命令を含んでいる。経路プラニングモジュールは、1つ以上のプロセッサにより実行されると、その1つ以上のプロセッサに、将来の出口点と、マップの少なくとも1つのシーン要素に基づいて、複数の歩行者の軌道経路を決定させる命令を含んでおり、ここにおいて、軌道経路は、複数の歩行者が、将来の出口点に到達するために取ると予測される経路である。調整モジュールは、1つ以上のプロセッサにより実行されると、その1つ以上のプロセッサに、複数の歩行者の少なくとも2人の間の少なくとも1つの予測される相互作用に基づいて、軌道経路を調整させる命令を含んでいる。
【0007】
他の実施形態においては、複数の歩行者の動きを予測するための方法は、複数の歩行者の軌道を得るステップと、複数の歩行者の軌道に基づいてシーンから、複数の歩行者に対する将来の出口点を予測するステップと、将来の出口点と、マップの少なくとも1つのシーン要素とに基づいて、複数の歩行者の軌道経路を決定するステップと、複数の歩行者の少なくとも2人の間の少なくとも1つの予測される相互作用に基づいて、軌道経路を調整するステップを含んでいる。
【0008】
更に他の実施形態においては、複数の歩行者の動きを予測するための非一時的コンピュータ可読媒体は、1つ以上のプロセッサにより実行されると、その1つ以上のプロセッサに、複数の歩行者の軌道を得るようにさせ、複数の歩行者の軌道に基づいてシーンから、複数の歩行者に対する将来の出口点を予測させ、将来の出口点と、マップの少なくとも1つのシーン要素とに基づいて、複数の歩行者の軌道経路を決定させ、複数の歩行者の少なくとも2人の間の少なくとも1つの予測される相互作用に基づいて、軌道経路を調整させる命令を含んでいる。
【0009】
適用可能性の更なる領域および開示される技術を向上する種々の方法は、提供される記述から明白になるであろう。この大要における記述よび特定の例は、例示のためのみであることが意図されており、本開示の範囲を制限することは意図されていない。
【図面の簡単な説明】
【0010】
明細者に組み込まれ、その一部を構成している付随する図面は、開示の種々のシステム、方法、および他の実施形態を例示している。図における例示されている要素の境界(例えば、ボックス、ボックスのグループ、または他の形状)は、境界の1つの実施形態を表わしているということは認識されるであろう。幾つかの実施形態においては、1つの要素は、多数の要素として設計でき、または、多数の要素は、1つの要素として設計できる。幾つかの実施形態においては、他の要素の内部構成要素として示されている要素は、外部構成要素として実現でき、逆もまた可能である。更に、要素は寸法通りに描かれていないこともある。
【0011】
図1】歩行者の動きを予測するためのシステムを組み入れている車両を有しているシーンを例示している。
図2】2人の歩行者の間の予測される相互作用と、図1のシステムにより予測される、調整された経路の、より詳細な図を例示している。
図3】歩行者の動きを予測するためのシステムを組み入れている車両の、より詳細な図を例示している。
図4】歩行者の動きを予測するためのシステムの、より詳細な図を例示している。
図5】歩行者の動きを予測するためのシステムにより利用される処理の1つの例を示しているフロー図を例示している。
図6】歩行者の動きを予測するための方法を例示している。
【発明を実施するための形態】
【0012】
1人以上の歩行者の動きを予測するためのシステムおよび方法が記述される。1つの例においては、システムは、歩行者の軌道に基づいてシーンから、歩行者の出口点を決定する。システムにより決定される出口点は、混合密度ネットワークを使用して決定できる。次に、システムは、出口点および少なくとも1つのシーン要素に基づいて、歩行者が取るであろう経路を予測する。例えば、シーン要素は、歩行者と、将来の出口点との間に位置している歩道であってよい。最も予想されるのは、歩行者は、出口点に到達するために歩道を利用するであろうということである。そのため、歩行者が取ることができる経路を予測するときは、システムは、予測される経路を決定するときにシーン要素を考慮できる。
【0013】
そして、歩行者の経路は、同時に互いの経路を横切ろうとしており、そのため衝突を引き起こそうとしている歩行者のような、歩行者の何れかの間で予期される何らかの相互作用があるかどうかを決定するために比較される。歩行者の間で潜在的な相互作用が起こると決定された場合、システムは、社会的合図、道路の規則などを遵守するために経路を調整する。例えば、2人の歩行者の経路が衝突という結果になると決定された場合、システムは、衝突を防止するために経路を調整する。システムは、歩行者間の相互作用、社会的合図、道路の規則などに基づいて、どのように経路を調整すべきかを決定するためにグラフニューラルネットワークを利用できる。
【0014】
図1を参照すると、車両100の外部の1つ以上の対象物を知覚するためのセンサシステム120および歩行者予測システム170を有している車両100を含んでいるシーン10が例示されている。シーン10は、後述されるように、シーン10内の1人以上の歩行者の動きを決定できる歩行者予測システム170を例示している1つの例に過ぎないということは理解されるべきである。この例においては、車両100は道路12に沿って走行している。道路12の両側には歩道14と16がある。歩道14および16は、歩行者、自転車に乗っている人、および非自動車に関連するものがその上を進むことを可能にする歩道であってよい。
【0015】
シーン10内には、歩行者20および30も位置している。歩行者20は、軌道22としての矢印で示されている軌道を有して例示されている。軌道22は、歩行者20が移動している位置、方向、および/または速度を表わしている。同様に、歩行者30もまた、矢印で示されている軌道32を有している。前記と同様に、軌道32は、歩行者30が進んでいる位置、方向、および/または速度を全体的に示している。この例においては、歩行者20は、歩道16から歩道14に、道路12を横切ろうとしている。歩行者30については、歩行者30は、歩道14に沿って進んでいる。
【0016】
より詳細に後で説明されるように、歩行者予測システム170は、シーン10から、歩行者20および30それぞれの将来の出口点26および36を予測可能である。この例においては、歩行者予測システム170は、シーン10内の軌道22および1つ以上の要素に基づいて、歩行者20は将来の出口点26においてシーン10が出て行くと予測している。シーン10の1つ以上の要素は、歩道14および16を含むことができる。そのため、歩行者予測システム170は、歩行者20により利用されると予想される歩道14へと続く軌道22に基づいて、歩行者20は、将来の出口点26においてシーン10から出て行くであろうと決定している。これらの要素を使用して、歩行者予測システム170は将来の出口点26を予測する。歩行者20が、将来の出口点26まで取る経路24もまた、歩行者予測システム170により決定される。同様に、歩行者30に関しても、歩行者予測システム170はまた、将来の出口点36に到達するために歩行者30が取るであろう経路34と共に、将来の出口点36も予測する。
【0017】
歩行者予測システム170はまた、歩行者20および30が経路24と34それぞれに沿って進むと、両者の間に起こり得る相互作用を考慮するために、歩行者20および30それぞれの経路24と34を調整できる。例えば、図2において最も良好に示されているように、歩行者20および30それぞれの経路24と34は、両者間の衝突という結果になるであろう領域40という結果になる。システム170は、歩行者20および30のような歩行者の動きをより精度よく予測するために、これらの相互作用を、衝突を回避するために考慮しない機能を有している。更に、歩行者20および/または30、または他の対象物であっても、それらの動きは、車両100を制御するために、1つ以上の車両システムにより利用できる。繰り返すが、前記のパラグラフは、歩行者予測システム170の全体的な概要を提供するためのみである。歩行者予測システム170のより詳細な説明は、この開示において後述される。
【0018】
図3を参照すると、車両100の例が示されている。ここで使用されているように、「車両」は、動力で動く輸送装置の任意の形状である。1つ以上の実現形態においては、車両100は自動車である。ここにおいては、配置は自動車に関して記述されるが、実施形態は自動車に制限されないということは理解されるであろう。幾つかの実現形態においては、車両100は、例えば、1つ以上の自動化または自律システムを含んでおり、そのため、ここにおいて検討される機能の恩恵を受ける如何なるロボット装置または、動力で動く輸送装置の如何なる形状であってもよい。
【0019】
種々の実現形態においては、自動化/自律システムまたはシステムの組み合わせは変わり得る。例えば、1つの態様においては、自動化システムは、米国自動車技術者協会(SAE)により定義されているレベル(例えば、レベル0~5)のような、自動化の1つ以上のレベルに従って、車両の自律制御を提供するシステムである。そのため、自律システムは、自律運転モジュール160と関連して検討されるように、半自律制御または完全自律制御を提供できる。
【0020】
車両100はまた、種々の要素も含んでいる。種々の実施形態においては、車両100は、図3に示されているすべての要素を有する必要はないということは理解されるであろう。車両100は、図3に示されている種々の要素の如何なる組み合せも有することができる。更に、車両100は、図3に示されている要素に加えて、追加的要素を有することができる。幾つかの配置においては、車両100は、図3に示されている要素の1つ以上の要素なしでも実現できる。図3においては、種々の要素は、車両100内に位置しているように示されているが、これらの要素の1つ以上は、車両100の外部に位置することができるということは理解されるであろう。更に、示されている要素は、相当な距離だけ物理的に離すことができ、遠隔装置(例えば、クラウドコンピューティングサービス)として提供できる。
【0021】
車両100の可能な要素の幾つかが図3に示されており、後続する図と共に記述される。しかし、図3の要素の多くの記述は、この記述の簡潔性の目的のために、図1および図4~6の検討の後に提供される。追加的に、例示の簡潔性および明確性のために、適切な場合は、参照番号は、対応する、または類似の要素を示すために、異なる図の間で繰り返されているということは認識されるであろう。加えて、検討は、ここにおいて記述される実施形態の完全な理解を提供するための多数の特定の詳細の概要を示す。ここにおいて記述される実施形態は、これらの要素の種々の組み合わせを使用して実践できる。
【0022】
何れの場合においても、車両100は、歩行者予測システム170を含んでいる。歩行者予測システム170は、車両100の自律運転モジュール160内に組み込むことができ、または、示されているように別個であることができる。図4を参照すると、歩行者予測システム170の1つの実施形態が更に例示されている。示されているように、歩行者予測システム170は1つ以上のプロセッサ110を含んでいる。従って、プロセッサ110は歩行者予測システム170の一部であることができ、または、歩行者予測システム170は、データバスまたは他の通信経路を通してプロセッサ110にアクセスできる。1つ以上の実施形態においては、プロセッサ110は、初期軌道モジュール250、出口点予測モジュール252、経路プラニングモジュール256、および調整モジュール258と関連付けられている機能を実現するように構成されている特定用途向け集積回路である。一般的には、プロセッサ110は、ここにおいて記述される種々の機能を実行できるマイクロプロセッサのような電子プロセッサである。1つの実施形態においては、歩行者予測システム170は、初期軌道モジュール250、出口点予測モジュール252、経路プラニングモジュール256、および調整モジュール258を格納しているメモリ210を含んでいる。メモリ210は、ランダムアクセス(RAM)、リードオンリメモリ(ROM)、ハードディスクドライブ、フラッシュメモリ、または、モジュール250、252、256、および258を格納するための他の適切なメモリである。モジュール250、252、256、および258は、例えば、プロセッサ110により実行されると、プロセッサ110に、ここにおいて開示される種々の機能を実行させるコンピュータ可読命令である。
【0023】
更に、1つの実施形態においては、歩行者予測システム170はデータ格納装置240を含んでいる。データ格納装置240は、1つの実施形態においては、メモリ210または他のメモリに格納され、格納データを解析し、格納データを提供し、格納データを編成するなどをするためにプロセッサ110により実行できるルーチンを備えて構成されているデータベースなどのような電子データ構造体である。そのため、1つの実施形態においては、データ格納装置240は、種々の機能を実行するときに、モジュール250、252、256、および258により使用されるデータを格納する。1つの実施形態においては、データ格納装置240は、例えば、モジュール250、252、256、および258により使用される他の情報と共に、センサデータ242を含んでいる。センサデータ242は、図3に示され、この開示において後述されるセンサデータ119の幾つか、またはすべてを含むことができる。
【0024】
センサデータ242に加えて、データ格納装置240はまた、種々の機能を実行するときに、モジュール250、252、256、および258が利用できる他の情報も含んでいる。1つの例においては、データ格納装置240はまた、1つ以上の人工知能モデルも含むことができる。例えば、データ格納装置240は、混合密度ネットワーク244、グラフニューラルネットワーク246、および逆強化学習モデル248を含むことができる。後述するように、出口点予測モジュール252は、シーン10からの出口点を予測するために混合密度ネットワーク244を利用できる。経路プラニングモジュール256は、歩行者単独の軌道経路を決定するために、逆強化学習モデルを利用できる。調整モジュール258は、衝突などのような、他の歩行者との如何なる相互作用も考慮して歩行者の経路を調整するために、グラフニューラルネットワーク246を利用できる。
【0025】
従って、初期軌道モジュール250は、プロセッサ110により実行されると、プロセッサ110に、シーン10から歩行者20および30などのような、シーンから複数の歩行者の軌道を得るようにさせる命令を含んでいる。1つの例においては、シーン10は鳥瞰図であってよい。シーン10は、静的シーンであってよく、または、1つ以上の対象物の動きに基づく動きがあってもよい。1つの例においては、図3の車両100のような、歩行者予測システム170を組み込んでいる車両の動きは、シーン10が、動きがあるシーンである場合、シーン10の全体の動きを決定するために利用できる。例えば、シーン10は、車両100の周りに位置している範囲であることができ、車両100が動くときに移動する。
【0026】
歩行者20および30それぞれの軌道22と32は、車両100内に位置している他のシステムおよびサブシステムから得ることができる。1つの例においては、車両100のセンサシステム120は、歩行者20および/または30の存在および動きを検出できる。加えて、センサシステム120は、歩行者20および30の速度と共に、歩行者20および30が進んでいる位置および方向を含むことができる軌道22および/または32を決定するために、1つ以上の環境センサ122から受信する情報を利用できる。
【0027】
出口点予測モジュール252は、プロセッサ110により実行されると、プロセッサ110に、歩行者20および30それぞれの将来の出口点26と36のような出口点を予測させる命令を含むことができる。歩行者20および30の以前の軌道および、軌道22と32を中心とするセマンティックマップまたはシーン10の一群があれば、出口点予測モジュール252は、歩行者20および30それぞれの将来の出口点26と36を予測できる。
【0028】
出口点予測モジュール252は、将来の出口点が定められた軌道を近似する、画像またはシーン境界上のラップされた正規分布の混合体を維持するために混合密度ネットワーク244を使用できる。混合密度ネットワーク244は、従来のニューラルネットワークを、混合密度モデルに合成することにより得られる1つ以上のモデルのクラスであってよい。混合密度ネットワーク244は、成分分布を合成するための重みと共に、確率分布の混合体のパラメータを出力する。この例においては、混合密度ネットワーク244は、1つ以上のシーン要素と共に、歩行者20および30それぞれの軌道22と32に基づいて、歩行者20および30の将来の出口点26と36を決定できる。
【0029】
シーン要素は、シーン10内に位置している要素を含むことができる。図1に示されている例においては、シーン要素は、歩道14と16と共に、道路12を含んでいる。歩行者20および30のような歩行者は、歩道14と16のような歩道を一般的には利用し、道路の規則に一般的には従うということは一般的に理解される。この例においては、歩行者20は、横断歩道のない道路12を既に横切り始めている。しかし、歩道14に向かう歩行者20の軌道22に基づいて、混合密度ネットワーク244は、歩行者20は歩道14に到達するために同じ方向に沿って進み続け、将来の出口点26に向けて歩道14に沿って進み続けると予想されると決定できる。同様に、混合密度ネットワーク244は、歩行者30の軌道32に基づいて、歩行者30は、歩道14に沿って歩き続け、将来の出口点36においてシーン10から出て行くと予想されると決定できる。
【0030】
経路プラニングモジュール256は、プロセッサ110により実行されると、プロセッサ110に、歩行者単独の経路を予測させる命令を含んでいる。更に、将来の出口点26と36のような将来の出口点が、出口点予測モジュール252によりサンプリングされて、経路プラニングモジュール256に供給される。経路プラニングモジュール256は、出口点予測モジュール252により予測されるように、歩行者が出口点に到達するという目標を達成するための歩行者に対する人間の軌道(または経路)を計画する。
【0031】
この例においては、歩行者単独の経路は、歩行者が進むと予測される経路として解釈できる。例えば、図1に戻って参照すると、歩行者20は、経路プラニングモジュール256により、経路24に沿って進むと決定されており、一方、歩行者30は、経路34に沿って進むと決定されている。経路プラニングモジュール256は、出口点予測モジュール252により予測された将来の出口点26および/または36と共に、初期軌道モジュール250により前に決定された軌道22と32を利用できる。これらの入力に加えて、道路の規則のような他の入力もまた経路プラニングモジュール256は利用できる。例えば、歩行者は、道路12を横断するために適切な位置を利用する、歩道を使用する、および、停止標識、交通信号灯のような道路信号に従うなどのように、道路の規則に従うであろうということが一般的には仮定される。
【0032】
経路プラニングモジュール256は、逆強化学習モデル248を利用できる。逆強化学習は、強化学習の逆の問題を解決できるマシン学習基盤である。更に、逆強化学習は、動作主体の目的、値、または、その報酬を、その動作を観察することにより学習することに関する。例えば、従来の強化学習設定は、目標は、ある予め定義されている報酬関数を最大にする動作を産み出す決定プロセスを学習することであると一般的に要求する。逆強化学習は、問題を逆にして、歩行者20および30のような動作主体の観察された動作から、報酬関数を抽出することを試みる。
【0033】
調整モジュール258は、プロセッサ110により実行されると、1人以上の歩行者間の相互作用を考慮するために、経路プラニングモジュール256により決定された軌道経路を調整する命令を含んでいる。シーンにおいて存在している各歩行者の長期軌道があれば、これらの軌道すべては、衝突を回避し、一般的な社会的合図および道路の規則に従うために検討および調整される。これは、軌道をノード特徴として、これらの予測を調整するためのメッセージ伝播型アルゴリズムに従うグラフニューラルネットワーク246に埋め込むことにより達成される。
【0034】
例えば、図1に戻って参照すると、歩行者20および歩行者30は、彼らの経路24と34が変更されなければ互いに衝突するであろうということは前述した。衝突が起こるかどうかを決定するために、調整モジュール258はプロセッサ110を、歩行者の経路24と34は交差するかどうかを決定するように構成する。加えて、経路24と34との間に交差があるかどうかを決定するために、調整モジュール258はまたプロセッサ110を、歩行者が経路24と34を予測された速度で進み続けた場合、互いに衝突するかどうかを決定するように構成する。更に、幾つかの例においては、歩行者の経路は交差するが、歩行者の位置と速度のために衝突は起こらない。しかし、他の状況においては、歩行者の速度と位置、および重なっている軌道経路は、衝突は起こるであろうということを示す。
【0035】
衝突のような、歩行者間の相互作用が起こると予測される場合、調整モジュール258は、歩行者20および30それぞれの予測軌道経路24と34のような、歩行者の軌道経路を調整する。調整モジュール258は、歩行者は一般的には意図的には互いに衝突しないので、予期されるような衝突を回避するために、歩行者の軌道経路を調整するためのグラフニューラルネットワーク246を利用できる。
【0036】
グラフニューラルネットワーク246構造は、グラフ構造上で直接動作するニューラルネットワークの1つのタイプである。そのため、グラフニューラルネットワークは、より複雑な幾何図形およびトポロジーを有するグラフ上で動作できる。これは、ソーシャルネットワーク、三次元メッシュ、および物理システムを含むことができる。そのため、グラフニューラルネットワーク246は、衝突を回避し、歩行者20および30のような歩行者の動きをより正確に予測するために、歩行者間の社会的相互作用を検討するために利用できる。そのため、図2を参照すると、歩行者20および30それぞれの間の直接衝突を回避するために、調整モジュール258は経路24と34を調整した。グラフニューラルネットワーク246の、互いに衝突することを回避したいという歩行者の願望や他の社会的合図のような社会的相互作用を考慮する能力を利用することにより、歩行者予測システム170は、シーン内の歩行者の動きをより正確に予測できる。
【0037】
利用可能な人工知能ネットワークとモデルの他のタイプを、より良好に例示するために、図5を参照する。この例においては、シーンは静的であるが、シーンは静的である必要はなく、動き補償を使用することにより、エゴ車両が動くときに動くことができる。更に、図5は、出口点予測モジュール252、経路プラニングモジュール256、および調整モジュール258を例示している。加えて、図5は、出口点予測モジュール252、経路プラニングモジュール256、および調整モジュール258は共にデイジーチェーンで接続でき、出口点予測モジュール252の出力は経路プラニングモジュール256に供給され、そして、調整モジュール258に供給されるということを示す情報の流れを例示している。そのため、この例においては、3つの異なるタイプの人工知能モデルが利用されている。更に、出口点予測モジュール252は混合密度ネットワーク244を利用し、経路プラニングモジュール256は逆強化学習モデル248を利用し、そして調整モジュール258はグラフニューラルネットワーク246を利用している。
【0038】
そして、調整モジュール258からの最終出力は、その歩行者に対する短期予測軌道となる。このように、歩行者予測システム170は、社会的合図のような短期情報を考慮するが、目標および静的シーン要素のような、より長い時間信号もまた考慮するということに留意されたい。
【0039】
図6を参照すると、歩行者の動きを予測するための方法300が示されている。方法300は、図3の車両100および図4の歩行者予測システム170の観点から記述される。しかし、これは、方法300を実現する1つの例に過ぎない。方法300は、歩行者予測システム170との組み合わせにおいて検討されるが、方法300は、歩行者予測システム170内で実現されることに制限されず、歩行者予測システム170は、方法300を実現できるシステムの1つの例であるということは認識されるべきである。
【0040】
方法300はステップ302において開始し、このステップにおいて、初期軌道モジュール250はプロセッサ110に、複数の歩行者の軌道を得るようにさせる。この例においては、初期軌道モジュール250は、歩行者20および30それぞれの軌道22と32のような1つ以上の軌道を受信できる。歩行者20および30それぞれの軌道22と32は、車両100内に位置している他のシステムおよびサブシステムから得ることができる。1つの例においては、車両100のセンサシステム120は、歩行者20および/または30の存在および動きを検出できる。加えて、センサシステム120は、歩行者20および30の速度と共に、歩行者20および30が進んでいる位置と方向を含むことができる軌道22および/または32を決定するために、1つ以上の環境センサ122から受信する情報を利用できる。
【0041】
ステップ304において、出口点予測モジュール252はプロセッサ110に、歩行者20および30それぞれに関連している将来の出口点26と36のような1つ以上の出口点を決定させる。上記に説明したように、出口点予測モジュール252は、将来の出口点が定められた軌道を近似する、画像またはシーン境界上のラップされた正規分布の混合体を維持するために混合密度ネットワーク244を使用できる。混合密度ネットワーク244は、従来のニューラルネットワークを、混合密度モデルに合成することにより得られる1つ以上のモデルのクラスであってよい。混合密度ネットワーク244は、成分分布を合成するための重みと共に、確率分布の混合体のパラメータを出力する。この例においては、混合密度ネットワーク244は、1つ以上のシーン要素と共に、歩行者20および30それぞれの軌道22と32に基づいて、歩行者20および30の将来の出口点26と36を決定できる。
【0042】
シーン要素は、シーン10内に位置している要素を含むことができる。図1に示されている例においては、シーン要素は、歩道14と16と共に、道路12を含んでいる。歩行者20および30のような歩行者は、歩道14と16のような歩道を一般的には利用し、道路の規則に一般的には従うということは一般的に理解される。この例においては、歩行者20は、横断歩道のない道路12を既に横切り始めている。しかし、歩道14に向かう歩行者20の軌道22に基づいて、混合密度ネットワーク244は、歩行者20は歩道14に到達するために同じ方向に沿って進み続け、将来の出口点26に向けて歩道14に沿って進み続けると予想されると決定できる。同様に、混合密度ネットワーク244は、歩行者30の軌道32に基づいて、歩行者30は、歩道14に沿って歩き続け、将来の出口点36においてシーン10から出て行くと予想されると決定できる。
【0043】
ステップ306において、経路プラニングモジュール256はプロセッサ110に、将来の出口点26と36それぞれ、およびシーン10の少なくとも1つの要素に基づいて、複数の歩行者20および30の軌道経路を決定させる。更に、将来の出口点26と36のような将来の出口点が、出口点予測モジュール252によりサンプリングされて、経路プラニングモジュール256に供給される。経路プラニングモジュール256は、出口点予測モジュール252により予測されるように、歩行者が出口点に到達するという目標を達成するための歩行者に対する人間の軌道(または経路)を計画する。
【0044】
この例においては、歩行者単独の経路は、歩行者が進むと予測される経路として解釈できる。例えば、図1に戻って参照すると、歩行者20は、経路プラニングモジュール256により、経路24に沿って進むと決定されており、一方、歩行者30は、経路34に沿って進むと決定されている。経路プラニングモジュール256は、出口点予測モジュール252により予測された将来の出口点26および/または36と共に、初期軌道モジュール250により前に決定された軌道22と32を利用できる。これらの入力に加えて、道路の規則のような他の入力もまた経路プラニングモジュール256は利用できる。例えば、歩行者は、道路12を横断するために適切な位置を利用する、歩道を使用する、および、停止標識、交通信号灯のような道路信号に従うなどのように、道路の規則に従うであろうということが一般的には仮定される。
【0045】
ステップ308において、調整モジュール258はプロセッサ110に、歩行者20と30の間に、予測される何らかの相互作用があるかどうかを決定させる。例えば、歩行者20および30それぞれの位置、軌道22と32、および経路24と34を使用して、調整モジュール258はプロセッサ110に、歩行者20と30の間に、衝突または相互作用の可能性があるかどうかを決定させる。歩行者の何れの間にも、検出された相互作用がない場合は、ステップ310において示されるように、前に計算された軌道経路を出力することができる。1つの例においては、前に計算された軌道経路を、自律運転モジュール160のような、1つ以上の車両システムまたはサブシステムに出力できる。
【0046】
歩行者は互いに相互作用すると予想されると決定されると、方法はステップ312に進み、そのステップにおいて、調整モジュール258はプロセッサ110に、歩行者20と30との間の予測される相互作用に基づいて、経路24と34を調整させる。調整モジュール258は、歩行者20および30それぞれの予測される経路24と34のような、歩行者の軌道経路を調整する。調整モジュール258は、歩行者は一般的には意図的には互いに衝突しないので、予期されるような衝突を回避するために、歩行者の軌道経路を調整するためのグラフニューラルネットワーク246を利用できる。経路24と34が調整モジュール258により調整されると、ステップ310において示されているように、軌道経路を、自律運転モジュール160のような、1つ以上の車両システムまたはサブシステムに出力できる。
【0047】
ここで図3を、ここにおいて開示されるシステムおよび方法が動作できる、例としての環境として、十分詳細に検討する。1つ以上の実施形態においては、車両100は自律車両である。ここにおいて使用されているように、「自律車両」とは、自律モードで動作する車両のことである。「自律モード」とは、人間の運転手からの最小限の入力、または入力なしで車両100を制御するための1つ以上の演算システムを使用して、車両100を走行ルートに沿ってナビゲートおよび/または操縦することである。1つ以上の実施形態においては、車両100は高度に、または完全に自動化されている。1つの実施形態においては、車両100は、1つ以上の半自律動作モードを有して構成されており、半自律動作モードにおいては、1つ以上の演算システムが、走行ルートに沿っての、車両100のナビゲーションおよび/または操縦の一部を実行し、車両のオペレータ(つまり、運転手)は、走行ルートに沿っての、車両100のナビゲーションおよび/または操縦の一部を実行するために車両に入力を提供する。そのような半自律動作は、車両100が、定義された状態制約内に留まることを確実にするために、歩行者予測システム170により実現されるような管理制御を含むことができる。
【0048】
車両100は、1つ以上のプロセッサ110を含むことができる。1つ以上の配置においては、プロセッサ110は、車両100のメインプロセッサであることができる。例えば、プロセッサ110は、電子制御ユニット(ECU)であることができる。車両100は、データの1つ以上のタイプを格納するための1つ以上のデータ格納装置115を含むことができる。データ格納装置115は、揮発性および/または不揮発性メモリを含むことができる。データ格納装置115の例としては、RAM(ランダムアクセスメモリ)、フラッシュメモリ、ROM(リードオンリメモリ)、PROM(プログラマブルリードオンリメモリ)、EPROM(消去可能型プログラマブルリードオンリメモリ)、EEPROM(電気的消去可能型プログラマブルリードオンリメモリ)、レジスタ、磁気ディスク、光ディスク、ハードドライブ、または、他の適切な格納媒体、または、それらの組み合わせが挙げられる。データ格納装置115は、プロセッサ110の構成要素であることができ、または、データ格納装置115はプロセッサ110に、プロセッサ110による使用のために機能的に接続できる。この記述を通して使用されているように、「機能的に接続されている」という用語は、直接的な物理接触のない接続も含めて、直接または間接的接続を含むことができる。
【0049】
1つ以上の配置においては、1つ以上のデータ格納装置115は、マップデータ116を含むことができる。マップデータ116は、1つ以上の地形エリアのマップを含むことができる。幾つかの例においては、マップデータ116は、1つ以上の地形エリアにおける、道路、交通制御装置、路面表示、構造、特徴、および/または目印についての情報またはデータを含むことができる。マップデータ116は、任意の適切な形状であることができる。幾つかの例においては、マップデータ116は、エリアの空中写真を含むことができる。幾つかの例においては、マップデータ116は、360度の地上写真を含む、エリアの地上写真を含むことができる。マップデータ116は、マップデータ116に含まれている1つ以上のアイテム、および/または、マップデータ116に含まれている他のアイテムに対する測定値、寸法、距離、および/または情報を含むことができる。マップデータ116は、道路形状についての情報を有しているデジタルマップを含むことができる。マップデータ116は、高品質、および/または、高度に詳細であることができる。
【0050】
1つ以上の配置においては、マップデータ116は、1つ以上の地形マップ117を含むことができる。地形マップ117は、1つ以上の地形エリアの、地面、地形、道路、地表、および/または他の特徴についての情報を含むことができる。地形マップ117は、1つ以上の地形エリアにおける高度データを含むことができる。マップデータ116は、高品質、および/または、高度に詳細であることができる。地形マップ117は、舗装された道路、舗装されていない道路、土地の性質、および地表を画定する他の要素を含むことができる、1つ以上の地表を画定できる。
【0051】
1つ以上の配置においては、マップデータ116は、1つ以上の静的障害物マップ118を含むことができる。静的障害物マップ118は、1つ以上の地形エリア内に位置している1つ以上の静的障害物についての情報を含むことができる。「静的障害物」とは、その位置が、ある時間期間の間において変化せず、またはほとんど変化せず、および/または、そのサイズが、ある時間期間の間において変化せず、またはほとんど変化しない物理的対象物である。静的障害物の例としては、木々、建物、縁石、塀、垣、中央分離帯、電柱、彫像、記念碑、標識、ベンチ、家具、郵便箱、大きな岩、坂が挙げられる。静的障害物は、地表上を延伸する対象物であることができる。静的障害物マップ118に含まれている1つ以上の静的障害物は、位置データ、サイズデータ、寸法データ、材質データ、および/または、それと関連付けられている他のデータを含むことができる。静的障害物マップ118は、1つ以上の静的障害物に対する、測定値、寸法、距離、および/または情報を含むことができる。静的障害物マップ118は、高品質、および/または、高度に詳細であることができる。静的障害物マップ118は、マップされているエリア内の変化を反映するために更新できる。
【0052】
1つ以上のデータ格納装置115は、センサデータ119を含むことができる。この状況においては、「センサデータ」は、そのようなセンサについての機能および他の情報を含む、車両100に装備されているセンサについての任意の情報を意味している。下記に説明されるように、車両100は、センサシステム120を含むことができる。センサデータ119は、センサシステム120の1つ以上のセンサに関連させることができる。例として、1つ以上の配置においては、センサデータ119は、センサシステム120の1つ以上のライダーセンサ(LIDAR Sensor)124についての情報を含むことができる。
【0053】
幾つかの例においては、マップデータ116および/またはセンサデータ119の少なくとも一部は、車両100上に位置している1つ以上のデータ格納装置115に位置させることができる。代替的に、または追加的に、マップデータ116および/またはセンサデータ119の少なくとも一部は、車両100から遠く離れて位置している1つ以上のデータ格納装置115に位置させることができる。
【0054】
上記のように、車両100は、センサシステム120を含むことができる。センサシステム120は、1つ以上のセンサを含むことができる。「センサ」とは、何かを検出および/または感知できる任意の装置、構成要素、および/またはシステムを意味している。1つ以上のセンサは、リアルタイムで検出および/または感知するように構成できる。ここにおいて使用されているように、「リアルタイム」という用語は、ユーザまたはシステムが、行われるべき特別なプロセスまたは決定に対して十分に迅速であると感じる、または、プロセッサが、ある外部のプロセスに遅れないでついていくことを可能にする処理応答性のレベルを意味している。
【0055】
センサシステム120が複数のセンサを含んでいる配置においては、センサは、互いに独立して機能できる。または、センサの2つ以上は、互いに組み合せて機能できる。そのような場合、その2つ以上のセンサは、センサネットワークを形成できる。センサシステム120および/または1つ以上のセンサは、プロセッサ110、データ格納装置115、および/または、車両100の他の要素(図3に示されている要素の何れも含む)に機能的に接続できる。センサシステム120は、車両100の外部環境(例えば、近くの車両)の少なくとも一部のデータを取得できる。
【0056】
センサシステム120は、任意の適切なタイプのセンサを含むことができる。異なるタイプのセンサの種々の例をここにおいて記述する。しかし、実施形態は、記述される特別なセンサに制限されないということは理解されるであろう。センサシステム120は、1つ以上の車両センサ121を含むことができる。車両センサ121は、車両100自身についての情報を、検出、決定、および/または感知できる。1つ以上の配置においては、車両センサ121は、例えば、慣性加速度に基づいてのように、車両100の位置および向きの変化を検出および/または感知するように構成できる。1つ以上の配置においては、車両センサ121は、1つ以上の加速度計、1つ以上のジャイロスコープ、慣性測定ユニット(IMU)、推測航法システム、全地球航法衛星システム(GNSS)、全地球測位システム(GPS)、ナビゲーションシステム147、および/または他の適切なセンサを含むことができる。車両センサ121は、車両100の1つ以上の特性を検出および/または感知するように構成できる。1つ以上の配置においては、車両センサ121は、車両100の現在の速度を決定するための速度計を含むことができる。
【0057】
代替的に、または追加的に、センサシステム120は、運転環境データを取得および/または感知するように構成されている1つ以上の環境センサ122を含むことができる。「運転環境データ」は、自律車両が位置している外部環境、またはその1つ以上の部分についてのデータまたは情報を含んでいる。例えば、1つ以上の環境センサ122は、車両100の外部環境の少なくとも一部における障害物、および/または、そのような障害物についての情報/データを、検出、定量、および/または感知するように構成できる。そのような障害物は、静止物体および/または動的物体であってよい。1つ以上の環境センサ122は、例えば、車線マーカ、標識、交通信号機、交通標識、車線、横断歩道、車両100に近接している縁石、道路外の物体などのような、車両100の外部環境における他の物を、検出、測定、定量、および/または感知するように構成できる。
【0058】
センサシステム120のセンサの種々の例をここにおいて記述する。例としてのセンサは、1つ以上の環境センサ122および/または1つ以上の車両センサ121の一部であってよい。しかし、実施形態は、記述される特別なセンサに制限されないということは理解されるであろう。
【0059】
例として、1つ以上の配置においては、センサシステム120は、1つ以上のレーダーセンサ123、1つ以上のライダーセンサ124、1つ以上のソナーセンサ125、および/または1台以上のカメラ126を含むことができる。1つ以上の配置においては、1台以上のカメラ126は、ハイダイナミックレンジ(HDR)カメラまたは赤外線(IR)カメラなどであることができる。
【0060】
車両100は、入力システム130を含むことができる。「入力システム」は、情報/データをマシンに入力させることができる、任意の装置、構成要素、システム、要素または配置、またはそのグループを含んでいる。入力システム130は、車両の乗車人(例えば、運転手または乗車人)から入力を受信できる。車両100は、出力システム135を含むことができる。「出力システム」は、情報/データを、車両の乗車人(例えば、人間、車両の乗車人など)に提示させることができる、任意の装置、構成要素、または配置、またはそのグループを含んでいる。
【0061】
車両100は、1つ以上の車両システム140を含むことができる。1つ以上の車両システム140の種々の例は、図3に示されている。しかし、車両100は、より多い、または、より少ない、または、異なる車両システムを含むことができる。特別な車両システムは別個に定義されているが、そのシステムまたはその部分のそれぞれ、または何れも、車両100内のハードウェアおよび/またはソフトウェアを介して、違うように組み合わせること、または分割することができるとういうことは認識されるべきである。車両100は、推進システム141、制動システム142、操舵システム143、スロットルシステム144、トランスミッションシステム145、信号システム146、および/またはナビゲーションシステム147を含むことができる。これらのシステムのそれぞれは、現在知られている、または後日開発される、1つ以上の装置、構成要素、および/またはその組み合わせを含むことができる。
【0062】
ナビゲーションシステム147は、車両100の地理的位置を決定し、および/または、車両100に対する走行ルートを決定するように構成されている、現在知られている、または後日開発される、1つ以上の装置、アプリケーション、および/またはその組み合わせを含むことができる。ナビゲーションシステム147は、車両100に対する走行ルートを決定するための1つ以上のマッピングアプリケーションを含むことができる。ナビゲーションシステム147は、全地球測位システム、局所測位システム、またはジオロケーション(geolocation)システムを含むことができる。
【0063】
プロセッサ110、歩行者予測システム170、および/または自律運転モジュール160は、種々の車両システム140、および/または、その個々の構成要素と通信するために、機能的に接続できる。例えば、図3に戻ると、プロセッサ110および/または自律運転モジュール160は、車両100の動き、速度、操縦、進路、方向などを制御するために、種々の車両システム140に情報を送り、および/または、そこから情報を受信するために通信できる。プロセッサ110、歩行者予測システム170、および/または自律運転モジュール160は、これらの車両システム140の幾つかまたはすべてを制御でき、そのため、部分的または完全に自律的であることができる。
【0064】
プロセッサ110、歩行者予測システム170、および/または自律運転モジュール160は、種々の車両システム140、および/または、その個々の構成要素と通信するために、機能的に接続できる。例えば、図3に戻ると、プロセッサ110、歩行者予測システム170、および/または自律運転モジュール160は、車両100の動き、速度、操縦、進路、方向などを制御するために、種々の車両システム140に情報を送り、および/または、そこから情報を受信するために通信できる。プロセッサ110、歩行者予測システム170、および/または自律運転モジュール160は、これらの車両システム140の幾つかまたはすべてを制御できる。
【0065】
プロセッサ110、歩行者予測システム170、および/または自律運転モジュール160は、車両システム140の1つ以上、および/または、その構成要素を制御することにより、車両100のナビゲーションおよび/または操縦を制御するために動作可能であることができる。例えば、自律モードで動作しているときは、プロセッサ110、歩行者予測システム170、および/または自律運転モジュール160は、車両100の方向および/または速度を制御できる。プロセッサ110、歩行者予測システム170、および/または自律運転モジュール160は、車両100を加速させることができ(例えば、エンジンに提供される燃料の供給を増やすことにより)、減速させることができ(例えば、エンジンへの燃料の供給を減らすことにより、および/または、ブレーキをかけることにより)、および/または方向を変えさせることができる(例えば、2つの前輪の向きを変えることにより)。ここにおいて使用されているように、「させる」または「させている」とは、直接または間接的な方法で、ある事象または行動を起こさせる、起こすように強いる、起こすように指図する、起こすように命令する、起こすように指示する、および/または起こることを可能にする、または、そのような事象または行動が起こり得る状態に少なくともなるように、させる、強いる、指図する、命令する、指示する、および/または、可能にするということを意味している。
【0066】
車両100は、1つ以上のアクチュエータ150を含むことができる。アクチュエータ150は、プロセッサ110および/または自律運転モジュール160から信号または他の入力を受信することに応答して、車両システム140またはその構成要素の1つ以上を修正、調整、および/または変更するように動作可能な任意の要素または要素の組み合わせであることができる。任意の適切なアクチュエータを使用できる。例えば、1つ以上のアクチュエータ150は、幾つかの可能性を挙げれば、モータ、空気圧アクチュエータ、油圧ピストン、リレー、ソレノイド、および/または圧電アクチュエータを含むことができる。
【0067】
車両100は、1つ以上のモジュールを含むことができ、その少なくとも幾つかは、ここにおいて記述される。モジュールは、プロセッサ110により実行されると、ここにおいて記述される種々のプロセスの1つ以上を実現するコンピュータ可読プログラムコードとして実現できる。モジュールの1つ以上は、プロセッサ110の構成要素であることができ、または、モジュールの1つ以上は、プロセッサ110が機能的に接続されている他の処理システム上で実行でき、および/または、他の処理システムの間で分散できる。モジュールは、1つ以上のプロセッサ110により実行可能な命令(例えば、プログラムロジック)を含むことができる。代替的に、または追加的に、1つ以上のデータ格納装置115は、そのような命令を含むことができる。
【0068】
1つ以上の配置においては、ここにおいて記述されるモジュールの1つ以上は、例えば、ニューラルネットワーク、ファジーロジック、または他のマシン学習アルゴリズムなどの、人工または演算知能要素を含むことができる。更に、1つ以上の配置においては、モジュールの1つ以上は、ここにおいて記述される複数のモジュールの間で分散できる。1つ以上の配置においては、ここにおいて記述されるモジュールの2つ以上は、単一のモジュールに組み合わせることができる。
【0069】
車両100は、1つ以上の自律運転モジュール160を含むことができる。自律運転モジュール160は、センサシステム120から、および/または、車両100に関する、および/または、車両100の外部環境に関する情報を捕捉できる任意の他のタイプのシステムからデータを受信するように構成できる。1つ以上の配置においては、自律運転モジュール160は、1つ以上の運転シーンモデルを生成するために、そのようなデータを使用できる。自律運転モジュール160は、車両100の位置および速度を決定できる。自律運転モジュール160は、障害物の位置、障害物、または交通標識、木々、低木、近くの車両、歩行者などを含む他の環境的特徴を決定できる。
【0070】
自律運転モジュール160は、複数の衛星からの信号に基づく、または、車両100の現在の状態を決定するために、または、マップを作成するとき、または、マップデータに関しての車両100の位置を決定するときの何れかの使用のために、その環境に関しての車両100の位置を決定するために使用できる任意の他のデータおよび/または信号に基づく、グローバル座標における車両100の位置および向きを推定するために、ここにおいて記述されるプロセッサ110および/またはモジュールの1つ以上による使用のために、車両100の外部環境内の障害物に対する位置情報を受信および/または決定するように構成できる。
【0071】
自律運転モジュール160は、独立して、または、歩行者予測システム170と組み合せて、センサシステム120により取得されるデータ、運転シーンモデル、および/または、送信モジュール230により実現されるようなセンサデータ250からの決定のような、任意の他の適切な供給源からのデータに基づいて、走行経路、車両100に対する現在の自律運転操縦、将来の自律運転操縦、および/または、現在の自律運転操縦に対する修正を決定するように構成できる。「運転操縦」とは、車両の動きに影響を与える1つ以上の行動を意味している。運転操縦の例としては、幾つかの可能性を挙げれば、加速、減速、制動、方向転換、車両100の側方向への移動、走行車線の変更、走行車線への合流、および/または後退がある。自律運転モジュール160は、決定された運転操縦を実現するように構成できる。自律運転モジュール160は、直接または間接的に、そのような自律運転操縦を実現させることができる。ここにおいて使用されているように、「させる」または「させている」とは、直接または間接的な方法の何れかで、ある事象または行動を起こさせる、起こすように命令する、起こすように指示する、および/または起こることを可能にする、または、そのような事象または行動が起こり得る状態に少なくともなるようにさせる、命令する、指示する、および/または、可能にするということを意味している。自律運転モジュール160は、種々の車両機能を実行し、および/または、データを車両100またはその1つ以上のシステム(例えば、車両システム140の1つ以上)に送信し、およびそれらからデータを受信し、それらと相互作用し、および/またはそれらを制御するように構成できる。
【0072】
詳細な実施形態がここにおいて開示されている。しかし、開示されている実施形態は、例としてのみであることが意図されているということは理解されるべきである。従って、ここにおいて開示される特定の構造的および機能的詳細は、制限的に解釈されるべきではなく、請求項に対する根拠として単に解釈され、および、当業者が、実質的に任意の適切に詳述されている構造において、ここにおける態様を種々に採用することを教示するための代表的な根拠として単に解釈されるべきである。更に、ここにおいて使用されている用語およびフレーズは、制限的であることは意図されておらず、可能な実現形態の理解可能な記述を提供することが意図されている。種々の実施形態が図1図6において示されているが、実施形態は、例示されている構造または適用に制限されない。
【0073】
図におけるフローチャートおよびブロック図は、種々の実施形態に係る、システム、方法、およびコンピュータプログラム製品の可能な実現形態のアーキテクチャ、機能、および動作を例示している。この点について、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実現するための1つ以上の実行可能な命令を備えているモジュール、セグメント、またはコードの部分を表わすことができる。幾つかの代替の実現形態においては、ブロックに記された機能は、図に記されている順序とは異なる順序で起こり得るということにも留意すべきである。例えば、関与する機能によっては、連続して示されている2つのブロックは、実際は、実質的に同時に実行でき、または、ブロックは、逆の順序で実行できることもある。
【0074】
上記のシステム、構成要素、および/またはプロセスは、ハードウェア、またはハードウェアとソフトウェアの組み合わせにおいて実現でき、および、1つの処理システムにおいて集中型で実現でき、または、異なる要素が幾つかの相互接続されている処理システムにわたり広がっている分散型において実現できる。ここにおいて記述されている方法を実行するために適合されている任意の種類の処理システムまたは他の装置は適切である。ハードウェアとソフトウェアの典型的な組み合わせは、展開されて実行されると、処理システムが、ここにおいて記述されている方法を実行するように処理システムを制御する、コンピュータ使用可能プログラムコードを有する処理システムであることができる。システム、構成要素、および/またはプロセスはまた、マシンが読み取ることが可能で、ここにおいて記述されている方法およびプロセスを実行するために、マシンにより実行可能な命令のプログラムを実体的に含んでいる、コンピュータプログラム製品、または他のデータプログラム格納装置のようなコンピュータ可読格納装置に埋め込むこともできる。これらの要素もまた、ここにおいて記述されている方法の実現形態を可能にするすべての特徴を備え、処理システムにおいて展開されると、これらの方法を実行できるアプリケーション製品に埋め込むこともできる。
【0075】
更に、ここにおいて記述されている配置は、含まれている、例えば、格納されているコンピュータ可読プログラムコード有している1つ以上のコンピュータ可読媒体に含まれているコンピュータプログラム製品の形状を取ることができる。1つ以上のコンピュータ可読媒体の任意の組み合わせを利用できる。コンピュータ可読媒体は、コンピュータ可読信号媒体、または、コンピュータ可読格納媒体であってよい。「コンピュータ可読格納媒体」というフレーズは、非一時的格納媒体を意味している。コンピュータ可読格納媒体は、例えば、下記に制限されないが、電子的、磁気的、光学的、電磁気的、赤外線、または半導体システム、装置、またはデバイス、または、前述の任意の適切な組み合わせであってよい。コンピュータ可読格納媒体の、より具体的な例(すべてを網羅しているリストではない)としては、下記を挙げることができる。つまり、携帯型コンピュータディスケット、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、リードオンリメモリ(ROM)、消去可能型プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、携帯型コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多目的ディスク(DVD)、光学的格納装置、磁気格納装置、または前述の任意の適切な組み合わせを挙げることができる。この文書の状況においては、コンピュータ可読格納媒体は、命令実行システム、装置、またはデバイスによる使用のため、またはそれらと接続しての使用のためのプログラムを含む、または格納することができる任意の実体的な媒体であってよい。
【0076】
一般的に、ここにおいて使用されているように、モジュールは、特別な作業を実行し、または特別なデータタイプを実現するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含んでいる。更なる態様においては、メモリは、一般的に、上記のモジュールを格納している。モジュールと関連付けられているメモリは、プロセッサ内に埋め込まれているバッファまたはキャッシュ、RAM、ROM、フラッシュメモリ、または他の適切な電子格納媒体であってよい。更なる態様においては、本開示により想定されるようなモジュールは、特定用途向け集積回路(ASIC)、システムオンチップ(SoC)のハードウェア構成要素、プログラマブルロジックアレイ(PLA)、または、開示される機能を実行するための、定義された構成セット(例えば、命令)と共に埋め込まれている他の適切なハードウェア構成要素として実現される。
【0077】
コンピュータ可読媒体上に含まれているプログラムコードは、下記に制限されないが、無線、ワイヤ線、光ファイバ、ケーブル、RFなど、または前述の任意の適切な組み合わせを含む、任意の適切な媒体を使用して送信できる。本配置の態様に対する動作を実行するためのコンピュータプログラムコードは、Java(登録商標)TM、Smalltalk、C++などのようなオブジェクト指向プログラミング言語、および、「C」プログラミング言語または類似のプログラミング言語のような、従来の手続き型プログラミング言語を含む1つ以上のプログラミング言語の任意の組み合わせにおいて記述できる。プログラムコードは、スタンドアロンソフトウェアパッケージとして、ユーザのコンピュータ上で全部を実行でき、または、ユーザのコンピュータ上で一部を実行でき、または、ユーザのコンピュータ上で一部、そしてリモートコンピュータ上で一部、または、リモートコンピュータまたはサーバ上で全部を実行できる。後者のシナリオにおいては、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通してユーザのコンピュータに接続でき、または、外部コンピュータへの接続を行うことができる(例えば、インタ―ネットサービスプロバイダを使用するインターネットを通して)。
【0078】
ここにおいて使用されているように、「1つの」という用語は、1つ、または2つ以上として定義されている。ここにおいて使用されているように、「複数の」という用語は、2つ、または3つ以上として定義されている。ここにおいて使用されているように、「他の」という用語は、少なくとも第2の、または第3以降のものとして定義されている。ここにおいて使用されているように、「含んでいる」および/または「有している」という用語は、備えている(つまり、開かれている言語)として定義されている。ここにおいて使用されているように、「~および~の少なくとも1つ」というフレーズは、関連付けて一覧として挙げられるアイテムの1つ以上の幾つかおよびすべての可能な組み合わせのことであり、それらを含んでいる。例として、「A、B、およびCの少なくとも1つ」というフレーズは、Aのみ、Bのみ、Cのみ、またはそれらの如何なる組み合せ(例えば、AB、AC、BCまたはABC)を含んでいる。
【0079】
ここにおける態様は、その精神またはその重要な属性から逸脱することなく他の形状で具現化できる。従って、その範囲を示すものとしては、前述の明細書ではなく、下記の請求項を参照すべきである。
本明細書に開示される発明は以下の態様を含む。
〔態様1〕
複数の歩行者の動きを予測するためのシステムであって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサと通信するメモリであって、初期軌道モジュール、出口点予測モジュール、経路プラニングモジュール、および調整モジュールを有しているメモリと、を備えており、
前記初期軌道モジュールは、前記1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、前記複数の歩行者の軌道を得るようにさせる命令を含んでおり、
前記出口点予測モジュールは、前記1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、前記複数の歩行者の軌道に基づいてシーンから、前記複数の歩行者に対する将来の出口点を予測させる命令を含んでおり、
経路プラニングモジュールは、前記1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、前記将来の出口点と、マップの少なくとも1つのシーン要素とに基づいて、前記複数の歩行者の、前記複数の歩行者が前記将来の出口点に到達するために取ると予測される経路である軌道経路を決定させる命令を含んでおり、
前記調整モジュールは、前記1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、前記複数の歩行者の少なくとも2人の間の少なくとも1つの予測される相互作用に基づいて、前記軌道経路を調整させる命令を含んでいる、
システム。
〔態様2〕
少なくとも1つの予測される相互作用は衝突である、態様1に記載のシステム。
〔態様3〕
前記調整モジュールは、前記1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、前記複数の歩行者の前記少なくとも2人の間の衝突を回避するために、前記複数の歩行者の前記少なくとも2人の前記軌道経路を調整させる命令を更に備えている、態様2に記載のシステム。
〔態様4〕
前記初期軌道モジュールは、前記1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、混合密度ネットワークモデルを使用することにより、前記複数の歩行者の軌道を得るようにさせる命令を更に備えている、態様1に記載のシステム。
〔態様5〕
前記調整モジュールは、前記1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、グラフニューラルネットワークモデルを利用することにより、前記複数の歩行者の少なくとも2人の間の少なくとも1つの予測される相互作用に基づいて、軌道経路を調整させる命令を更に備えている、態様1に記載のシステム。
〔態様6〕
前記複数の歩行者に対する軌道は、前記グラフニューラルネットワークモデルのノード特徴として前記グラフニューラルネットワークモデルに埋め込まれる、態様5に記載のシステム。
〔態様7〕
前記シーンは固定シーンである、態様1に記載のシステム。
〔態様8〕
前記シーンは、エゴ車両の動きに基づいて移動する、態様1に記載のシステム。
〔態様9〕
複数の歩行者の動きを予測するための方法であって、
前記複数の歩行者の軌道を得るステップと、
前記複数の歩行者の前記軌道に基づいてシーンから、前記複数の歩行者に対する将来の出口点を予測するステップと、
前記将来の出口点と、マップの少なくとも1つのシーン要素とに基づいて、前記複数の歩行者の、前記複数の歩行者が前記将来の出口点に到達するために取ると予測される経路である軌道経路を決定するステップと、
前記複数の歩行者の少なくとも2人の間の少なくとも1つの予測される相互作用に基づいて、前記軌道経路を調整するステップと、
を有している、方法。
〔態様10〕
少なくとも1つの予測される相互作用は衝突である、態様9に記載の方法。
〔態様11〕
前記複数の歩行者の前記少なくとも2人の間の前記衝突を回避するために、前記複数の歩行者の前記少なくとも2人の前記軌道経路を調整するステップを更に有している、態様10に記載の方法。
〔態様12〕
前記複数の歩行者の軌道を得るステップは、混合密度ネットワークモデルにより実行される、態様9に記載の方法。
〔態様13〕
前記複数の歩行者の少なくとも2人の間の前記少なくとも1つの予測される相互作用に基づいて、前記軌道経路を調整するステップは、グラフニューラルネットワークモデルにより実行される、態様9に記載の方法。
〔態様14〕
前記複数の歩行者に対する軌道は、前記グラフニューラルネットワークモデルのノード特徴として前記グラフニューラルネットワークモデルに埋め込まれる、態様13に記載の方法。
〔態様15〕
前記シーンは固定シーンである、態様9に記載の方法。
〔態様16〕
前記シーンは、エゴ車両の動きに基づいて移動する、態様9に記載の方法。
〔態様17〕
複数の歩行者の動きを予測するための非一時的コンピュータ可読媒体であって、
1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、
前記複数の歩行者の軌道を得るようにさせ、
前記複数の歩行者の軌道に基づいてシーンから、前記複数の歩行者に対する将来の出口点を予測させ、
前記将来の出口点と、マップの少なくとも1つのシーン要素とに基づいて、前記複数の歩行者の、前記複数の歩行者が前記将来の出口点に到達するために取ると予想される経路である軌道経路を決定させ、
前記複数の歩行者の少なくとも2人の間の少なくとも1つの予測される相互作用に基づいて、前記軌道経路を調整させる、
命令を備えている、
非一時的コンピュータ可読媒体。
〔態様18〕
少なくとも1つの予測される相互作用は衝突である、態様17に記載の非一時的コンピュータ可読媒体。
〔態様19〕
前記非一時的コンピュータ可読媒体は、1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、前記複数の歩行者の前記少なくとも2人の間の衝突を回避するために、前記複数の歩行者の前記少なくとも2人の前記軌道経路を調整させる命令を更に備えている、態様18に記載の非一時的コンピュータ可読媒体。
〔態様20〕
前記シーンは、エゴ車両の動きに基づいて移動する、態様17記載の非一時的コンピュータ可読媒体。
図1
図2
図3
図4
図5
図6