(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-11-29
(54)【発明の名称】知覚システム
(51)【国際特許分類】
G01S 13/931 20200101AFI20221121BHJP
G06T 7/00 20170101ALI20221121BHJP
G06T 7/521 20170101ALI20221121BHJP
G06V 10/82 20220101ALI20221121BHJP
G06V 20/58 20220101ALI20221121BHJP
G06V 20/70 20220101ALI20221121BHJP
G08G 1/16 20060101ALI20221121BHJP
【FI】
G01S13/931
G06T7/00 350C
G06T7/521
G06V10/82
G06V20/58
G06V20/70
G06T7/00 650B
G08G1/16 C
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022519454
(86)(22)【出願日】2020-09-21
(85)【翻訳文提出日】2022-03-28
(86)【国際出願番号】 US2020051777
(87)【国際公開番号】W WO2021067056
(87)【国際公開日】2021-04-08
(32)【優先日】2019-09-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】アントン マリオ ボンジオ カールマン
(72)【発明者】
【氏名】クーパー ストークス スローン
(72)【発明者】
【氏名】チャン ワン
(72)【発明者】
【氏名】ジョシュア クリサー コーヘン
(72)【発明者】
【氏名】ヤッセン イヴァンチェフ ドブレフ
(72)【発明者】
【氏名】ジーフェイ キアン
【テーマコード(参考)】
5H181
5J070
5L096
【Fターム(参考)】
5H181AA01
5H181AA05
5H181AA21
5H181BB04
5H181BB05
5H181CC03
5H181CC04
5H181CC11
5H181CC12
5H181CC14
5H181FF04
5H181FF05
5J070AC01
5J070AC06
5J070AC13
5J070AE01
5J070AE09
5J070AE10
5J070AF03
5J070BE01
5L096AA09
5L096BA04
5L096CA18
5L096FA67
5L096FA69
5L096GA34
5L096HA04
5L096HA11
5L096KA04
(57)【要約】
知覚システムにおけるデータ動作を更新するための技術が、本明細書で述べられる。車両は、車両に近接する環境に関するデータを取り込むために、知覚システムを使用し得る。知覚システムは、グローバルに登録された検出の循環バッファに格納され、ローカル参照フレームでグリッド化された点群に時折変換される状態データを受信してもよい。2次元のグリッド化された点群は、車両が環境を認識した動作決定を行うことができるように、車両を取り巻くシーンまたは物理的な環境に関連付けられたセマンティックデータを生成するために、1つまたは複数のニューラルネットワークを使用して処理されてもよく、これにより、自律車両の反応時間および/または安全性を向上させ得る。
【特許請求の範囲】
【請求項1】
システムであって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行可能な命令を格納する1つまたは複数の非一時的コンピュータ可読媒体と、
を備え、
前記命令は、実行されると、前記システムに、
自律車両のセンサーによって取り込まれた第1のレーダーデータを受信することであって、前記第1のレーダーデータは、第1の期間に関連付けられていることと、
前記第1のレーダーデータを、グローバル参照フレームに関連付けることと、
前記センサーによって取り込まれた第2のレーダーデータを受信することであって、前記第2のレーダーデータは、第2の期間に関連付けられていることと、
前記第2のレーダーデータを、前記グローバル参照フレームに関連付けることと、
前記第1のレーダーデータおよび前記第2のレーダーデータから2次元離散化表現を生成することであって、前記2次元離散化表現は、物理的な環境における前記自律車両の位置に少なくとも部分的に基づいたローカル参照フレームに関連付けられ、複数の離散化領域を備えることと、
前記2次元離散化表現の少なくとも1つの領域に対して、個々の領域に関連付けられた1つまたは複数の特徴ベクトルを生成するために、前記領域に関連付けられた前記個々の領域の点に訓練された関数を適用することであって、特徴ベクトルは一連の値を備えることと、
前記2次元離散化表現の少なくとも1つの領域に対して、前記個々の領域に関連付けられた集約された特徴ベクトルを生成するために、前記個々の領域に関連付けられた前記1つまたは複数の特徴ベクトルをプーリングすること、
前記集約された特徴ベクトルに少なくとも部分的に基づいて、物体情報を決定することと、
前記物体情報に少なくとも部分的に基づいて、前記自律車両を制御することと、
を備える動作を実行させる、システム。
【請求項2】
前記第1のレーダーデータおよび前記第2のレーダーデータを循環バッファ中に格納することをさらに備える、請求項1に記載のシステム。
【請求項3】
前記1つまたは複数のベクトルを前記プーリングすることは、最大プーリング演算または平均プーリング演算の1つに少なくとも部分的に基づく、請求項1または2に記載のシステム。
【請求項4】
前記物体情報は、インスタンスセグメンテーション、物体の速度、または物体の進行方向の少なくとも1つを含む、請求項1または2に記載のシステム。
【請求項5】
方法であって、
センサーによって取り込まれた第1のデータを受信することと、
前記第1のデータをグローバル参照フレームに関連付けることと、
前記第1のデータおよび前記グローバル参照フレームに対するローカル参照フレームの関係性に少なくとも部分的に基づいて、2次元データ表現を生成することと、
前記2次元データ表現および機械学習モデルに少なくとも部分的に基づいて、物体レベルデータを決定することと、
前記物体レベルデータに少なくとも部分的に基づいて、自律車両を制御することと、
を備える方法。
【請求項6】
前記第1のデータが第1の時間に関連付けられており、
前記センサーによって取り込まれた第2のデータを受信することであって、前記第2のデータは、前記第1の時間の後の第2の時間に関連付けられていることと、
前記第2の時間を前記グローバル参照フレームに関連付けることと、
をさらに備える、請求項5に記載の方法。
【請求項7】
前記2次元データ表現を生成することは、
前記グローバル参照フレーム内の個々の点の位置に対して並進および回転を適用することと、
前記2次元データ表現の個々の領域に対して、1つまたは複数の特徴ベクトルを生成することであって、特徴ベクトルは一連の値を備えることと、
前記個々の領域に対して、前記1つまたは複数の特徴ベクトルに少なくとも1つのプーリング演算を実行することと、
をさらに備える、請求項5または6に記載の方法。
【請求項8】
前記物体レベルデータを決定することは、
前記2次元データ表現の個々の領域に対して、集約した特徴ベクトルを抽出することと、
前記集約した特徴ベクトルに少なくとも部分的に基づいて、前記物体レベルデータを決定することと、
をさらに備える、請求項5に記載の方法。
【請求項9】
前記物体レベルデータは、前記第1のデータの1つまたは複数の経時、または前記機械学習モデル中の前記第1のデータに関連付けられたオフセット時間を入力することに少なくとも部分的に基づく、請求項5に記載の方法。
【請求項10】
前記2次元データ表現は、複数の領域を含み、
前記第1のデータの第1の点は、前記複数の領域の第1の領域に関連付けられ、
前記第1のデータの第2の点は、前記第1の領域に関連付けられる、
請求項5に記載の方法。
【請求項11】
前記自律車両を制御することに先立って、前記物体レベルデータに後処理を適用することをさらに備える、請求項5から10のいずれか一項に記載の方法。
【請求項12】
コンピュータ上で起動した場合、請求項5から13のいずれか一項に記載の方法を実装するようにコード化された命令を備える、コンピュータプログラム製品。
【請求項13】
非一時的コンピュータ可読媒体であって、実行されると、1つまたは複数のプロセッサに、
センサーからセンサーデータを受信することと、
循環バッファに前記センサーデータを格納することと、
前記循環バッファに格納されたデータに少なくとも部分的に基づいて、第1の領域および第2の領域を有する2次元表現を生成することと、
前記第1の領域に関連付けられた前記データの少なくとも一部を、機械学習モデルに入力することと、
前記機械学習モデルから、第1の一連の値を受信することと、
前記第1の一連の値に少なくとも部分的に基づいた物体レベルデータを生成することと、
を備えた動作を実行させる命令を格納する、非一時的コンピュータ可読媒体。
【請求項14】
1つまた複数の基準が満たされたか、または超えたかを決定すること
をさらに備え、
前記2次元表現を生成することは、前記1つまた複数の基準が満たされたか、または超えたかに応答する、請求項13に記載の非一時的コンピュータ可読媒体。
【請求項15】
前記第1の一連の値を生成することは、
前記データの少なくとも一部に対して、多層パーセプトロンを適用することと、
前記多層パーセプトロンから複数の特徴ベクトルを受信することと、
前記第1の一連の値として第1の特徴ベクトルを生成するために、前記複数の特徴ベクトルにプーリング演算を実行することと、
をさらに備える、請求項13または14に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、知覚システムに関する。
【背景技術】
【0002】
本出願は、2019年9月30日に出願され、「PERCEPTION SYSTEM」と題される米国出願第16/587605号の優先権を主張し、その全体が参照により本明細書に組み込まれる。
【0003】
自律車両のためのナビゲーションシステムは、しばしば、従来の知覚システムを含み、この従来の知覚システムは、自律車両に搭載されたセンサーからの様々なデータを利用する。従来の知覚システムは、物理的な環境内の物体を認識することを自律車両に与えることにより、自律車両が環境内を安全に走行するための経路を計画することができる。自律車両の安全な動作は、従来の知覚システムによる物体の検出、分類、運動予測に少なくとも部分的に依存している。しかしながら、従来の知覚システムは、画像データに大きく依存し得るため、追加的な処理が要求され、結果的に意思決定が遅れる可能性がある。この欠点は、車両など、比較的短時間で軌道を変える物体の観点では、重要であり得る。したがって、異なるタイプのセンサーデータに依存する知覚システムに関連付けられた処理速度の改善、および待ち時間の短縮は、自律車両の動作上の安全性を改善し得る。
【図面の簡単な説明】
【0004】
詳細な説明は、添付の図面を参照して述べられる。図中で、符号の左端の数字は、その符号が最初に現れる図面を示している。異なる図で同じ符号を使用することは、類似または同一の構成要素または機能を示す。
【0005】
【
図1】本明細書で述べられるような、知覚システムの例示的なデータフローを示すプロセスフロー図である。
【
図2】本明細書で述べられるような、知覚システムの例示的なデータフローを示すタイミング図である。
【
図3】本明細書で述べられるような、知覚システムの例示的なアーキテクチャを示す絵画的な図である。
【
図4】本明細書で述べられるような、知覚システムの例示的なアーキテクチャを示す別の絵画的な図である。
【
図5】本明細書で述べられるような、物体知覚追跡を生成するための知覚システムの例示的な処理を示す流れ図である。
【
図6】本明細書で述べられるような、知覚システムを実装するための例示的なシステムのブロック図である。
【発明を実施するための形態】
【0006】
本明細書で述べられる技術は、レーダーベースの知覚システムを含み得る知覚システムに向けられている。いくつかの例では、レーダーベースの知覚システムは、車両または自律車両のようなシステムにおいて実装されることができる。一般に、車両などの自律システムは、物体の周りを安全にナビゲートし、それによって衝突を回避するために、しばしば、様々なタイプのセンサーデータを処理する知覚システムを使用して物体を識別し、それら物体の軌道を予測する。本明細書で述べられるレーダーベースの知覚システムは、重要なナビゲーション決定を行うために使用されるセンサーデータに関連付けられた遅延を低減するような方法により、画像データおよび/またはライダーデータなどの他のタイプのセンサーデータの代わりに、またはそれに加えて、レーダーデータを使用して実装され得る。例えば、レーダーベースの知覚システムの使用は、レーダーセンサーが照明を発するので、知覚システムの環境上の照明に対する依存を減少させ、それにより、照明のない、または低照度の環境におけるシステムの性能が改善する。また、レーダーベースの知覚システムの使用は、他のタイプのセンサーシステムと比較した場合、レーダーの長い波長により、劣化した環境(例えば、霧、雨、雪など)の場合において、改善された性能を与え得る。また、レーダーベースの知覚システムは、レーダーが位相コヒーレントであることに起因し、他のセンサー技術と比較して、状況において検出された物体のレンジレートまたは相対速度の決定に関して、改善された精度を生じる。
【0007】
いくつかの例では、知覚システムは、取り込まれたレーダーの離散化された点群表現、および機械学習アルゴリズム(ディープニューラルネットワークなど)を使用して、より従来の知覚パイプラインの外側で、かつそれに加えて、位置、方向、速度、履歴状態、セマンティック情報などの物体状態データの更新を実行し得る。いくつかの実装では、レーダーベースの知覚システムは、トップダウン、または2次元の機械学習されたレーダー知覚更新プロセスを利用し得る。例えば、レーダーベースの知覚システムは、車両上に設置された1つまたは複数のセンサーからレーダーベース点群データを受信してもよく、生のレーダーベース点群データを、車両に対する動作上の決定を行うことにおいて、車両の計画および/または予測システムによって処理、または利用され得る物体レベルの表現に変換する。ひとつの具体的な例では、レーダーベースの知覚システムは、レーダーベース点群データ(少なくとも3次元を表し得る)を、特徴抽出および/またはインスタンス検出に使用できる点群表現(一般に離散化データ表現とも呼ばれる)に変換し得る。離散化データ表現は、2次元の方法で3次元を表現し得る。いくつかの例では、3次元データは、環境の離散化された領域(例えば、グリッドの一部)に関連付けられことができ、それによって、3次元データは、2次元の方法で折り畳まれるか、または他の方法で表現されることができる。いくつかの例では、そのような2次元の表現は、トップダウン表現と呼ばれ得る。いくつかの例では、トップダウンまたは2次元離散化データ表現は、レーダーベース点群データで表される検出をベクトル、柱、または集合として格納し得る。いくつかの例では、トップダウン表現は、環境の2次元「画像」を含んでもよく、それによって、画像の各ピクセルは、固定サイズを有するグリッド位置(または他の離散化領域)を表してもよく、一方で他の例では、グリッド位置または離散化領域は、可変数の点に関連付けられてもよい。可変サイズのビンが使用される場合、レーダーベースの知覚システムは、循環バッファの方法で動作し得る最大ビンサイズも制限、または含み得る。
【0008】
メモリが懸念される場合など、いくつかの実装では、ビンは、グリッドの全体的なサイズを縮小するために、多様なピクセルを表し得る。別の例では、各ビンは、関連付けられたレーダーベース点群データの疎な点表現、または疎な特徴マップを格納するように構成され得る。いくつかの例では、技術は、計画および/または予測システムによって使用され得るレーダーベース点群データ内の1つまたは複数の物体および/またはインスタンスを識別するために、点群表現に機械学習モデル(例えば、学習済みディープニューラルネットワーク、または畳み込みニューラルネットワーク)を適用することを含み得る。場合によっては、ディープニューラルネットワークの出力は、物体の境界ボックス、占有値および/または物体の状態(例えば、軌道、加速度、速度、大きさ、現在の物理的な位置、物体の分類、インスタンスセグメンテーションなど)であり得る。
【0009】
いくつかの例では、機械学習モデル(例えば、ディープニューラルネットワークまたは畳み込みニューラルネットワーク)は、データログをレビューして環境内の物体を表すセンサーデータを識別することにより、セマンティック情報および/または状態情報を出力するように訓練され得る。場合によっては、物体が識別されることができ、物体(例えば、歩行者、車両、自転車の乗用者など)および環境について属性が決定されることができ、そして、物体を表すデータは、訓練データとして識別されることができる。訓練データは、既知の結果(例えば、既知の境界ボックス、速度情報、姿勢情報、分類などのグランドトゥルース)を使用して、損失または誤差を最小化するために機械学習モデルの重みおよび/またはパラメータを調整されることができる機械学習モデルに入力されることができる。いくつかの例では、訓練は、教師あり方式(例えば、グランドトゥルースが、人間の注釈、または他の知覚モデルから少なくとも部分的に基づいて決定される)、教師なし方式(例えば、訓練データセットが注釈を含まない)、自己教師あり方式(例えば、グランドトゥルースが、事前に生成されたモデルから少なくとも部分的に基づいて決定される)、および/または半教師あり方式で、技術の組み合わせを用いて実行され得る。
【0010】
いくつかの特定の実装では、知覚システムは、離散化点群更新に続く1つまたは複数のグローバル登録更新(例えば、グローバル参照フレームにおける新たに取得されたレーダーデータの関連付けと格納)を利用し得る。グローバル登録更新は、グローバル参照フレームを使用してレーダーベース点群ストリームを投影および登録の両方を行う、レーダーベース点群ストリームに対する登録を実行するように構成され得る。例えば、グローバル登録更新は、センサーから受信したレーダーデータの各区間に対して、処理し得る。したがって、グローバル登録更新は、離散化点群の新の各反復に対して多数回実行され得る。グローバル参照フレームの表現において、レーダーベース点群ストリームのレーダーデータは、循環バッファに疎に格納され得る。
【0011】
離散化点群更新は、場合によっては、トリガーまたは基準を満たすか、または超えることに基づいて動的に開始され得る。例えば、離散化点群更新は、時間の経過、所定数のグローバル登録更新の完了、グローバル参照フレームを使用して登録された所定数の点などに基づいて開始され得る。開始されると、離散化点群更新は、点群表現を生成するため、登録された点(例えば、グローバル参照フレーム表現内の点)を利用し得る。場合によっては、点群表現は、複数の離散化された領域またはグリッド位置を含む2次元またはトップダウンのグリッドであり得る。一例では、離散化点群更新は、循環バッファに格納されたグローバル参照フレーム表現を、ローカル参照を有する点群表現に変換し得る。例示的な例として、知覚システムは、ローカル参照フレーム(車両の位置、速度、方向など)を反映するように位置付けられた点を再投影し、ローカル参照フレーム内の点の位置に関連付けられた離散化領域またはグリッド位置に各点を割り当てるために、グローバル参照フレーム表現内の点に関連付けられたプラットフォーム状態情報および/またはデータを利用し得る。例えば、ある実装では、システムは、点をローカル参照フレームに変換するために、個々の点に対して位置変換(グローバル参照フレームに対する車両の位置に基づく位置従属など)および回転(グローバル参照フレームに対する車両のヨーに基づく)を実行し得る。
【0012】
離散化点群更新は、ローカル参照点群内の点の各々に適用される多層パーセプトロンおよび/または点単位のプーリング演算を適用し得る。一例では、多層パーセプトロン処理は、点ごとに特徴ベクトルを抽出し得る。例えば、多層パーセプトロンは、分類損失および境界ボックス回帰損失を含む多様な損失関数に基づくエンドツーエンド処理において、例えば、アーキテクチャ全体の一部として、確率的勾配降下(Stochastic Gradient Descent)で訓練され得る。場合によっては、多層パーセプトロンは、1つまたは複数のディープネットワークを含み得る。
【0013】
このように、離散化された領域またはビンが10点と関連付けられる、または10点を格納する場合、多層パーセプトロン処理は、その離散化された領域またはビンと関連付けられる10個の特徴ベクトルを生成する。その結果、各ビンが異なる数または可変数の特徴またはベクトルを有するグリッドとなる。
【0014】
場合によっては、プーリング演算は、各ビンの特徴ベクトルにわたる統計的要約を含み得る。例えば、プーリング演算は、ビンに関連する特徴ベクトルの特徴に関連付けられた最大値が、ビンを表すために選択される最大プーリング演算であり得る。場合によっては、各特徴ベクトルが多様な値を含むとき、プーリング演算は、特徴値ごとに実行され得る。他の実装では、平均プーリング、最小プーリングなど、様々なタイプのプーリング演算が使用されてもよいことが理解されるべきである。場合によっては、プーリング演算は、特徴ベクトル内の順列不変性をもたらすように選択され得る。
【0015】
ニューラルネットワークなどの機械学習モデルは、ローカル参照特徴表現から特徴を抽出し、その特徴をセマンティック表現に対応付け得る。例えば、機械学習モデルは、グリッド内のピクセルからピクセルに物体をマッピングするネットワークを含み得る。一つの具体的な例では、u-netアーキテクチャが実装され得る。u-netアーキテクチャは、任意の完全連結層に依存することなく、各畳み込みの有効部分の検出に基づく画像セグメンテーションに使用することが可能な畳み込みニューラルネットワークである。他の実施例では、拡張畳み込みのような他のタイプのニューラルネットワークが使用され得ることが理解されるべきである。いくつかの例では、訓練中に使用される特徴は、レンジレート、関連付けられたレーダーデータの経時、および位置を含んでもよく、訓練された出力は、物体の中心への方向またはセマンティック分類情報を含む。一つの具体的な例では、特徴は、車両によって動作上の決定がなされている時に物体データ(例えば、位置、速度、進行方向)を予測することを支援するために、システムに関連付けられた遅延を代表するオフセット時間を含み得る。いくつかの例では、オフセット時間は、約1ミリ秒から約10ミリ秒の間であり得る。
【0016】
セマンティック状態ベース表現の特徴ベクトルは、シーンを通して物体を追跡するために使用され得る、および/または計画および/または予測システムに出力され得る物体データに(例えば、疎な状態表現を介して)変換され得る。例えば、知覚システムは、物体の分類(例えば、物理的な位置)を決定するためのインスタンスセグメンテーションと同様に、物体の分類を識別するために、ビンの各々にピクセルごとのクラス推定を適用してもよく、および/または2つのピクセルまたはビンが同じ物体に関連付けられる場合にも適用され得る。
【0017】
また、知覚システムは、いくつかの実装において、密なグリッドに対して後処理を行い、物体の追跡において使用され得る疎な物体表現を生成し得る。一つの具体的な例では、知覚システムは、グリッドを疎な物体表現に変換するために、非最大抑制技法を適用し得る。
【0018】
本明細書で論じられる技術は、多くの追加の方法によってコンピューティングデバイスの機能を改善することが可能である。場合によっては、本明細書で説明する知覚システムを利用することは、センサーデータの前処理によって生じる全体的な遅延を低減し、物体速度をより正確に予測し、照度の低いまたは低下した環境における物体検出の精度を向上するように構成される。このようにして、システムは、実生活/リアルタイムの物理定な環境をよりよく表す出力を予測および/または計画システムに提供することができ、それによって、自律車両の全体的な安全性を向上させる。いくつかの例において、知覚システムは、画像データ、ライダーデータ、ならびに他のタイプのセンサーデータに依存する他の知覚システムと組み合わせて使用され得ることが理解されるべきである。
【0019】
本明細書で述べられる技術は、多くの方法で実装されることができる。例示的な実装は、後述の図を参照して以下に提供される。自律車両のコンテキストで論じられるが、本明細書で述べられる方法、装置、およびシステムは、様々なシステム(例えば、センサーシステムまたはロボットプラットフォーム)に適用されることができ、自律車両に限定されるものではない。一例では、類似の技術は、そのようなシステムが、様々な操作を行うことが安全であるかどうかの表示および/または緊急ブレーキなどの緊急操作を実装するシステムを提供し得る運転者制御の車両において利用され得る。別の例では、本技術は、航空または航海のコンテキストで利用されることができる。さらに、本明細書で述べられる技術は、実データ(例えば、センサーを用いて取り込まれたもの)、模擬データ(例えば、シミュレータによって生成されたもの)、またはこれらの任意の組合せによって使用されることができる。
【0020】
図1は、本明細書で述べられる知覚システムの例示的なフロー100を示すプロセスフロー図である。図示された例では、物理的な環境を表すレーダーデータ102(A)-(O)が、1つまたは複数のセンサーによって取り込まれ得る。場合によっては、レーダーデータ102は、レーダーデータ102を収集するセンサーの速度に関連付けられた時間間隔に基づいて取り込まれ得る。これらの場合、レーダーデータ102(A)-(O)の各々は、1つのそのような時間間隔の間に収集されたレーダーデータ102を表し得る。
【0021】
1つまたは複数のセンサーによって取り込まれたレーダーデータ102(A)-(O)の各区間について、知覚システムは、グローバル登録更新104を実行し得る。グローバル登録更新104は、レーダーデータ102(A)-(O)のグローバル参照表現106を生成するために、グローバル参照フレームにおけるプラットフォームの状態を用いて、レーダーベース点群ストリームを登録し得る。例えば、グローバル登録更新104は、レーダーデータ102(A)-(O)において表される各点を、グローバル参照を有する空間に投影し得る。
【0022】
場合によっては、グローバル登録更新104は、システムが離散化点群更新108を実行または開始する前に、多様な反復処理をし得る。例えば、図示された例では、グローバル登録更新104は、離散化点群更新108の開始に先立ち、レーダーデータ102(A)-(E)の各区間に対して1回の処理をし得る。したがって、図示されるように、一般に110(A)で示されるレーダーデータ102(A)-(E)の区間は、離散化点群更新108への入力として使用されるグローバル参照表現106の第1のインスタンスを生成するために、グローバル登録更新104によって利用されるデータを含み得る。同様に、一般に110(B)によって示されるレーダーデータ102(F)-(J)の区間は、離散化点群更新108への第2の入力として使用されるグローバル参照表現106の第2のインスタンスを生成するために、グローバル登録更新104によって利用されるデータを含み得る。現在の例では、離散化点群更新108は、レーダーデータ102が取り込まれる区間の数(例えば、5区間、6区間、10区間など)に基づいて実行され得るが、離散化点群更新108をトリガーまたは開始するために、様々なタイプの基準または閾値を利用してもよいことが理解されるべきである。
【0023】
離散化点群更新108は、レーダーデータ102のグローバル参照表現を、ローカル参照フレームを有する点群表現に変換し得る。例えば、ある実装では、離散化点群更新108は、個々の点に対して位置変換および回転(例えば、位置従属)を実行し、点をグローバル参照フレームからローカル参照フレームに変換し得る。
【0024】
離散化点群更新108は、グローバル参照表現106内の点の各々に対して多層パーセプトロンも適用し得る。一例では、多層パーセプトロン処理は、離散化領域またはグリッド位置が可変数の特徴またはベクトルを有する2次元グリッドを生成するために、点ごとに特徴ベクトルを抽出し得る。いくつかの具体的な例では、2次元トップダウングリッドは、256×256グリッド、512×512グリッド、または512×256グリッドの形式であり得る。他の例では、グリッドの寸法は可変であってもよく、或いは点群表現を格納することに関連づけられたメモリバッファのサイズに基づいてもよい。さらに他の例では、グリッドは、車両のタイプ、車両の方針(例えば、グリッドは進行方向に拡張される)、レーダーセンサーの範囲などに基づき得る。いくつかの例では、離散化された各々の領域またははグリッド位置は、物理的な環境において1/8メートルから1/4メートルの範囲を表し、グリッドの大きさに応じて約32メートルから約128メートルの領域をカバーするグリッドをもたらし得る。しかしながら、例えば、グリッドの大きさ、カバーされる物理的な環境の大きさ、および可変メモリに基づいて、様々な物理的な大きさが離散化領域またはグリッド位置に割り当てられ得ることが理解されるべきである。したがって、離散化領域またはグリッド位置によって表される1/8メートル内で検出された各点は、その離散化領域またはグリッド位置に割り当てられる。
【0025】
その後、離散化点群更新108は、1つまたは複数のプーリング演算を2次元グリッドに適用し得る。例えば、離散化点群更新108は、レーダーデータ102のローカル参照特徴表現112を生成するために、各離散化領域の特徴ベクトルにわたる統計的要約を含み得る。
【0026】
いくつかの実装では、知覚システムは、ローカル参照特徴表現112から機械学習された推論114を決定し得る。一例では、機械学習された推論114は、ローカル参照特徴表現112から特徴を抽出し、特徴をセマンティック状態ベース表現にマッピングするために、1つまたは複数のニューラルネットワークを利用することを含み得る。例えば、ニューラルネットワークの適用は、グリッド内のピクセルからピクセルに物体をマッピングするネットワークであり得る。
【0027】
知覚システムは、予測および/または計画システムへの出力に先立って、後処理116も実行し得る。例えば、後処理116は、セマンティック状態に基づく点群表現の特徴ベクトルを、シーンを通して物体を追跡するために使用され、計画および/または予測システムに出力され得る疎な物体データ118(疎な状態表現を介してなど)に変換することを含み得る。一例では、後処理116は、物体の分類を識別するための離散化領域またはビンの各々に対するピクセル毎の分類推定、並びに、物体の中心(例えば、物理的な位置)を決定するためのインスタンスセグメンテーションおよび/または2つのピクセル、またはビンが同じ物体に関連付けられるかどうかを含み得る。
【0028】
図2は、本明細書で述べられる知覚システムの例示的なデータフロー200を示すタイミング図である。
図1のフロー100と同様に、現在の例では、知覚システムは、離散化点群更新204ごとに、更新202(A)-(C)として示される多様なグローバル登録更新を実行し得る。例えば、図示されているように、1つまたは複数のセンサーは、関連付けられた時間間隔208(A)-(C)の間に、レーダーデータ206(A)-(C)などのレーダーデータを取り込み得る。取り込まれたレーダーデータ206(A)-(C)の各間隔に対して、システムは、対応するグローバル登録更新202(A)-(C)を実行し得る。対応するグローバル登録更新202(A)-(C)のそれぞれの間、システムは、対応するレーダーデータ206(A)-(C)を更新、または共有されたグローバル参照表現に組み入れ得る。
【0029】
上述したように、離散化点群更新204は、グローバル参照表現を、ローカル参照フレームを有する点群表現に変換し得る。例えば、離散化点群更新204は、グローバル参照表現からローカル参照表現に点を変換するため、グローバル参照フレームに対する車両位置に基づいて、各点に対して位置従属(並進)および/または回転を実行し得る。
【0030】
さらに、離散化点群更新204は、離散化領域またはビンが可変数の特徴またはベクトルを有するローカル参照2次元グリッドを生成するために、点ごとに少なくとも1つの特徴ベクトルを抽出するために多層パーセプトロンを適用し得る。その後、離散化点群更新204は、1つまたは複数のプーリング演算を2次元グリッドに適用して、各離散化領域またはビンが離散化領域またはビン内の点を表す単一の特徴ベクトルを有するレーダーデータ206(A)-(C)のローカル参照点群表現を生成し得る。場合によっては、2次元グリッドは、各点が離散化領域であり、各柱が特徴ベクトルである、一連の点柱であり得る。プーリング演算は、離散化領域またはビン内の特徴ベクトルの数を1つに減らし得るが、特徴ベクトルの大きさまたは長さは、各離散化領域で検出された特徴の数および/またはタイプに少なくとも部分的に基づいて、離散化領域から離散化領域(例えば、グリッド位置からグリッド位置)へ変化し得ることは理解されるべきである。
【0031】
知覚システムは、ローカル参照点群表現から機械学習された推論210を決定し得る。一例では、後処理212は、ローカル参照特徴表現から特徴を抽出し、その特徴を2次元セマンティック表現にマッピングするために、1つまたは複数のニューラルネットワークなどの機械学習を利用することを含み得る。例えば、1つまたは複数のニューラルネットワークの適用は、グリッド内のピクセルからピクセル(またはグリッド位置からグリッド位置)へ物体をマッピングするネットワークであり得る。
【0032】
知覚システムは、予測システム214に出力する前に、物体および/または状態データ(疎な物体状態表現に維持されてもよい)を生成するために、2次元セマンティック表現に対して、後処理212を実行してもよい。予測/計画システム214は、その後、知覚システムの出力を利用して、自律車両のための動作上の決定を行い得る。
【0033】
図3は、本明細書で述べられるような、レーダーベースの知覚システムの例示的なアーキテクチャ300を示す絵画的な図である。上述したように、1つまたはのセンサー302は、プラットフォーム(自律車両など)を取り巻く環境からデータ304(レーダーデータなど)を取り込み得る。センサーデータ304は、その後、データのストリームとして循環バッファ306に提供されてもよい。他の例では、リング型バッファまたはファーストインファーストアウトバッファなど、他のバッファ構成が使用されてもよい。場合によっては、循環バッファ306は、バッファ306に追加された新しいデータが最も古いデータを置き換えるように端から端まで接続された固定サイズのバッファ(この特定の例では、5のサイズ)を有するデータ構造であり得る。図示されるように、データA、B、C、D、およびEは、既に循環バッファ306に追加され、バッファ306はデータFを受信している。
【0034】
グローバル登録更新308の一部としてデータFが循環バッファ306に追加されるため、データFはグローバル参照フレームに登録される。この例では、バッファ306が満たされている(例えば、既に5つの要素を保持している)ので、グローバル登録更新308は、バッファからデータAを(データAが最も古いので)データFで上書きし得る。このような方法で、知覚システムは、離散化点群更新310を行うときに、プラットフォームが最新のセンサーデータ304に基づいて動作決定をすることを保証するために、センサー302によって取り込まれた最新のデータ304を維持できる。現在の例では、知覚システムはまた、データGを受信し、データGを登録するとともに、データB(新たな最も古いデータ)をデータGに置き換えるために、第2のグローバル登録更新308を実行する。
【0035】
図示された例では、離散化点群更新310は、データFGCDEを示すように、循環バッファ306から入力としてコンテンツを受信し得る。場合によっては、離散化点群更新310は、1つまたは複数の基準が満たされるかまたは超えられることに基づいて、動的に開始され得る。他の場合では、離散化点群更新310は、周期的であってもよく、循環バッファ306に格納されたデータの状態に基づいてもよい。場合によっては、離散化点群更新310は、循環バッファ306内の所定の数のエントリーを処理するように構成されてもよい。例えば、この例では、離散化点群更新310は、循環バッファ306内の4つのエントリー(例えば、循環バッファ306のサイズより1つ少ない)を処理するように設定されてもよい。
【0036】
この例では、離散化点群更新310は、循環バッファ306に最も新しい、または最近追加されたデータから開始し得る。したがって、離散化点群更新310は、最初にデータ304の2次元離散化表現312にデータGを追加してもよい。データGに続いて、離散化点群更新310は、その後、データF、E、およびDを、データ304の2次元離散化表現312に追加し得る。上述したように、2次元離散化表現は、データG、F、D、およびEの多様な点に関連付けられた離散化領域を含んでもよい。したがって、図示されるように、場所314などの離散化領域は、点の柱または点の集合を形成し得る。場合によっては、離散化点群更新310の一部として、各点は、その点の特性に関連付けられた値を有する関連する特徴ベクトルを有し得る。データ304の2次元離散化表現312は、その後、計画または予測システムに提供される前に、セマンティック情報の抽出および物体の決定など、ニューラルネットワークまたは他の訓練された推論技術による処理のために出力され得る。
【0037】
図4は、本明細書で述べられるような、レーダーベースの知覚システムの例示的なアーキテクチャ400を示す別の絵画的な図である。上述したように、システムは、2次元離散化表現404を生成するために、離散化点群更新402を実行し得る。離散化点群更新402の一部として、および(1つまたは複数の並進および/または回転を介して)点をローカル基準フレームに変換することに加え、離散化点群更新402は、2次元離散化表現404に関連付けられた点に多層パーセプトロン処理406および/または1つまたは複数のプーリング演算408を適用することを含み得る。
【0038】
多層パーセプトロン処理406は、点ごとに特徴ベクトルを抽出し得る。したがって、離散化領域(例えば、環境の離散化表現に関連付けられたグリッド位置または領域)が多様な点に関連付けられた場合、多層パーセプトロン処理406は、その離散化領域に関連付けられた点のそれぞれについて、特徴ベクトルを生成し得る。その結果、各ビンが異なる数または可変数の特徴またはベクトルを有するグリッドとなる。プーリング演算408は、各ビンの特徴ベクトルにわたって統計的なサマリを適用し得る。例えば、プーリング演算408は、任意の他のプーリング演算が企図される(例えば、平均、最小など)が、領域に関連付けられた特徴ベクトルの特徴に関連する最大値が領域を表すために選択される最大プーリング演算を適用してよい。このようにして、各離散化領域は、単一の特徴ベクトルを用いて表現され得る。また、他の実装では、選択されたプーリング演算が、結果として得られる特徴ベクトルに順列不変性を導入することを条件として、他の様々なタイプのプーリング演算が使用されてよい。図示された例では、プーリング演算408が完了すると、知覚システムは、1つまたは複数のニューラルネットワーク410(U-Netアーキテクチャ経由など)を利用して、2次元離散化点群表現404の特徴ベクトルから深い畳み込み特徴を抽出し得る。
【0039】
例えば、1つまたは複数のニューラルネットワーク410は、セマンティック分類ヘッド412、物体インスタンス中心ヘッド414への方向、並びに他の訓練済み出力ヘッド416(ターゲット範囲、ターゲット方位、ターゲット速度、物体境界ボックスなど)など、任意の数の訓練済み推測またはヘッドを生成し得る。場合によっては、ニューラルネットワークは、確率的勾配降下(Stochastic Gradient Descent)をともなう、エンドツーエンドである訓練済みネットワークアーキテクチャであってよい。例えば、グローバルフレームにおける物体アノテーションは、ヘッド412-416などの様々なネットワーク出力またはヘッドのためのグランドトゥルースターゲットとして使用され得る教師ありマップを提供するために、ローカルフレームに登録される。具体的には、画像マップの形式における適切なトゥルース出力は、ピクセルごとのセマンティック分類(自転車、歩行者、車両)、物体の中心を指すベクトルへの回帰を介したインスタンスセグメンテーション、および境界ボックス表現(ヨーおよび範囲情報)を含み得る。典型的な損失関数としては、平均二乗誤差、平均絶対誤差、およびカテゴリー別クロスエントロピー(不均衡なデータを補正するために、レアケースに対してより不釣り合いにペナルティを課すフォーカルロスペナルティを含む)などがある。
【0040】
図示された例では、セマンティック分類推定ヘッド412は、抽出された深層畳み込み特徴をセマンティックデータ(例えば、速度、分類またはタイプ、進行方向など)にセグメント化および/または分類することを含み得る。物体インスタンス中心ヘッド414を決定するための処理は、点からターゲットの中心へのベクトルを予測するように構成され得る。例えば、この特徴は、ピクセルが物体のボックスの境界内にあるとき、真の物体の境界ボックス表現の中心を指すベクトル(xおよびy値、ピクセルごと)に回帰するようにディープネットワークを訓練する教師ありの方法を介して訓練され得る。さらに訓練された推論の一部として、システムは、どのピクセルまたは点がどの物体に属するかを曖昧にし、ピクセルまたは点を疎な物体表現に変換するために、離散化領域ベクトル場あたりを使用してセグメント化を実行し得る。
【0041】
物理的な環境の疎な物体状態表現418は、ヘッド412-416を含む様々なヘッドからもたらされ得る。後処理420は、その後、疎な物体状態表現418上で実行され、プラットフォームまたは自律車両の動作上の決定を行う際に使用するために、予測/計画システム422に出力され得る物体データを生成し得る。例えば、後処理420は、特に、非最大限の抑制、閾値処理、ハフ変換、連結成分および/または形態的演算を含み得る。
【0042】
図5は、本明細書で述べられるような、物体知覚追跡を生成するためのレーダーベースの知覚システムの例示的なプロセス500を示すフロー図である。プロセスは、論理フロー図におけるブロックの集合として図示されており、これらは一連の動作を表し、その一部または全部は、ハードウェア、ソフトウェアまたはそれらの組み合わせで実装することが可能である。ソフトウェアのコンテキストでは、ブロックは、1つまたは複数のコンピュータ可読媒体に格納されたコンピュータ実行可能命令を表し、それが1つまたは複数のプロセッサによって実行されると、列挙された動作を実行する。一般に、コンピュータ実行可能命令は、特定の機能を実行する、または特定の抽象的なデータタイプを実装するルーチン、プログラム、物体、コンポーネント、暗号化、解読、圧縮、記録、データ構造などを含む。
【0043】
動作が述べられる順序は、限定として解釈されるべきではない。説明されたブロックの任意の数は、プロセス、または代替プロセスを実装するために任意の順序で、および/または並列に組み合わされることができ、ブロックのすべてが実行される必要はない。議論の目的のために、本明細書のプロセスは、本明細書の例で説明されるフレームワーク、アーキテクチャよび環境を参照して説明されるが、プロセスは、多種多様な他のフレームワーク、アーキテクチャまたは環境で実装され得る。
【0044】
502において、レーダーベースの知覚システムは、物理的な環境、プラットフォーム状態推定、および/またはグローバル参照フレームを表すレーダーデータを受信する。レーダーデータは、自律車両の1つまたは複数の位置に物理的に配置された1つまたは複数のセンサーによって取り込まれ得る。レーダーデータは、ある時間間隔にわたって取り込まれてもよい。場合によっては、時間間隔は、1つまたは複数のセンサーの1つまたは複数の特性に基づいてもよい。場合によっては、プラットフォーム状態推定は、位置、方向、速度、履歴状態、セマンティック情報などの車両状態データおよび/または環境物体状態データを含んでもよい。
【0045】
504において、レーダーベースの知覚システムは、グローバル参照フレームを使用してデータ(例えば、レーダーデータ)を登録し、レーダーデータのグローバルに登録された表現を生成する。例えば、レーダーデータ内の各点または検出は、グローバル参照フレームを有する空間にマッピングまたは変換され得る。場合によっては、グローバル参照フレームは、502における事前状態推定の一部として決定または受信されてもよい。
【0046】
506において、レーダーベースの知覚システムは、レーダーデータのグローバルに登録された表現を循環バッファに格納し得る。例えば、グローバルに登録された表現は、バッファ内のグローバル参照フレームを有する疎な点集合として格納され得る。場合によっては、循環バッファは、バッファに追加された新しいデータが最も古いデータを置き換えるように端から端まで接続された固定サイズのバッファを有するデータ構造であってもよい。
【0047】
508において、レーダーベースの知覚システムは、離散化更新基準が満たされたか、または超えたかを決定し得る。基準が満たされているまたは超えている場合、プロセス500は510に進み、そうでなければプロセス500は502に戻り、追加のレーダーデータが受信され、循環バッファに追加される。場合によっては、基準は、経過時間、循環バッファに格納された所定量のデータ、シーン内のエージェントの数、車両が所定速度を超えたこと、車両の進行方向の変化などであり得る。
【0048】
510において、レーダーベースの知覚システムは、グローバルに登録された表現を、ローカル参照フレームを有するローカルに登録された表現に変換し得る。例えば、システムは、502の一部として受信された最新の状態推定値、任意の利用可能なメタデータ、シーンの以前の状態、任意の既知の速度などを利用して、グローバル参照に対する物理的な位置を決定し、個々の点の位置に対して1つまたは複数の並進および/または回転を実行してグローバル参照フレーム内に各点を位置決めし得る。
【0049】
512において、レーダーベースの知覚システムは、領域ごとに1つまたは複数の特徴ベクトルを生成するために、ローカルに登録された表現の個々の領域に対する多層パーセプトロン処理(または分類操作)にローカル参照を入力し得る。
【0050】
514において、レーダーベースの知覚システムは、個々の領域について、個々のローカルに登録された点に関連付けられた1つまたは複数の特徴ベクトルに対して、プーリングを実行し得る。プーリング演算は、各ビンの特徴ベクトルにわたる統計的なサマリを含み得る。例えば、プーリング演算は、ビンに関連付けられた特徴ベクトルの特徴に関連する最大値がビンを表すために選択される最大プーリング演算であり得る。別の例では、プーリング演算は、ビンに関連付けられた特徴ベクトルの特徴に関連する平均値がビンを表すために選択される平均プーリング演算であり得る。場合によっては、各特徴ベクトルが複数の値を含む場合、プーリング演算は、特徴値ごとに実行されてもよい。
【0051】
516において、レーダーベースの知覚システムは、複数の領域にわたって訓練された特徴を抽出することを実行する。例えば、レーダーベースの知覚システムは、レーダーデータの点群表現の1つまたは複数の部分から特徴を抽出するために、1つまたはのニューラルネットワークまたは他のタイプの機械学習技術を適用し得る。場合によっては、点群表現の各部分は、1つまたは複数の離散化領域またはグリッド位置を含み得る。一つの具体例では、u-netアーキテクチャが実装され得る。u-netアーキテクチャは、任意の完全連結層に依存することなく、各畳み込みの有効な部分を検出することに基づく画像セグメンテーションのために利用される畳み込みニューラルネットワークである。他の例では、他のタイプのニューラルネットワークが使用されてもよいことが理解されるべきである。
【0052】
518において、レーダーベースの知覚システムは、抽出された訓練済みの特徴を利用して、セマンティック状態に基づく表現を生成する。例えば、レーダーベースの知覚システムは、物体の分類を識別するために離散化領域の各々にピクセルごとの分類推定を適用してもよく、物体の中心(例えば、物理的な位置)を決定するためにインスタンスセグメンテーションを、および/または2つの離散化領域が同じ物体に関連付けられる場合にもインスタンスセグメンテーションを、適用してもよい。場合によっては、ネットワークを適用して、各所望の状態値に対するニューラルネットワークヘッドを生成してもよい。例えば、ネットワークは、物体の分類、物体の中心の位置または方向、速度、進行方向などを決定してもよい。
【0053】
520において、レーダーベースの知覚システムは、セマンティック状態ベースの離散化表現に少なくとも部分的に基づいて、疎な検出表現を生成し得る。例えば、セマンティック状態ベースの点群表現(例えば、特徴のグリッド)は、シーンを通じて物体を追跡するために使用され得る物体データに変換、および/または計画および/または予測システムに出力されてよい。例えば、システムは、非最大限の抑制、閾値処理、ハフ変換、連結成分、および/または形態的演算を適用してもよい。
【0054】
図6は、本開示の実施形態による、本明細書で述べられる技術を実装するための例示的なシステム600のブロック図である。いくつかの例では、システム600は、
図1-5を参照し、本明細書で述べられる実施形態の1つまたは複数の特徴、構成要素、および/または機能を含み得る。いくつかの実施形態では、システム600は、車両602を含み得る。車両602は、車両コンピューティングデバイス604、1つまたは複数のセンサーシステム606、1つまたは複数の通信接続608、および1つまたは複数の駆動システム610を含み得る。
【0055】
車両コンピューティングデバイス604は、1つまたは複数のプロセッサ612と、1つまたは複数のプロセッサ612と通信可能に接続されたコンピュータ可読媒体614とを含み得る。図示された例では、車両602は自律車両であるが、車両602は、任意の他のタイプの車両、または任意の他のシステム(例えば、ロボットシステム、カメラ付きスマートフォンなど)であってもよい。図示された例では、車両コンピューティングデバイス604のコンピュータ可読媒体614は、知覚システム616、予測システム618、計画システム620、1つまたは複数のシステムコントローラ622、ならびにセンサーデータ624および他のデータ642を格納する。
図6では、例示の目的でコンピュータ可読媒体614に存在するように描かれているが、知覚システム616、予測システム618、計画システム620、1つまたは複数のシステムコントローラ622、ならびにセンサーデータ624、機械学習モデルデータ626、および他のデータ642は、追加的または代替的に、車両602にアクセス可能であり得る(例えば、車両602からリモートコンピュータ可読媒体に格納されるか、または他の手段でアクセスできる)ことが企図される。
【0056】
少なくとも1つの例では、知覚システム616は、センサーシステム606に関連付けられた1つまたは複数の時間間隔インターバルの間に取り込まれたセンサーデータ624(例えば、レーダーデータ)を受信するように構成され得る。レーダーベースの知覚システム616は、レーダーデータのグローバル参照表現を生成する第1の更新パイプラインと、センサーデータ624および機械学習モデルデータ626に少なくとも部分的に基づいて、レーダーデータのローカル参照点群表現を生成する第2の更新パイプラインの両方を実装し得る。
図1-5に関して上述したように、第1の更新パイプラインは、複数の時間間隔の間に収集されたレーダーデータを処理してもよく、第2の更新パイプラインは、その後、例えば定期的に、または満足されるまたは超えるトリガーに応答して、第1の更新パイプラインの出力を処理し、予測システム618および/または計画システム620に出力され得る1つまたは複数の検出インスタンスまたは物体データを生成し得る。
【0057】
場合によっては、検出されたインスタンスまたは物体データは、知覚システム616によって出力された疎な物体状態表現に少なくとも部分的に基づいて、物体(例えば、車両、歩行者、動物など)の推定された現在、および/または予測された将来、特性または状態、例えば姿勢、速度、軌道、速度、ヨー、ヨーレート、ロール、ロールレート、ピッチ、ピッチレート、位置、加速、または他の特性、を含み得る
【0058】
計画システム620は、物理的な環境を横断するために車両が従うべき経路を決定し得る。例えば、計画システム620は、様々な経路および軌道、並びに様々なレベルの詳細を決定し得る。例えば、計画システム620は、現在の場所から目標場所まで移動する経路を決定し得る。この議論の目的のために、経路は、2つの場所間を移動するためのウェイポイントのシーケンスを含み得る。
【0059】
少なくとも1つの例では、車両コンピューティングデバイス604は、車両602のステアリング、推進、ブレーキ、安全、エミッタ、通信、および他のシステムを制御するように構成されることが可能な、1つまたは複数のシステムコントローラ622を含むことができる。これらのシステムコントローラ622は、駆動システム610および/または車両602の他の構成要素の対応するシステムと通信および/または制御し得る。
【0060】
いくつかの例では、本明細書で論じられる構成要素のいくつか、またはすべての態様は、任意のモデル、アルゴリズム、および/または機械学習アルゴリズムを含むことができる。例えば、いくつかの例では、知覚システム616、予測システム618、および/または計画システム620などのコンピュータ可読媒体614(および後述するコンピュータ可読媒体634)内の構成要素は、1つまたは複数のニューラルネットワークとして実装され得る。例えば、知覚システム616は、センサーデータ624および機械学習モデルデータ626に基づいて歩行者(または他の物体)の速度、軌道、および/または他の特性を予測するように訓練された機械学習モデル(例えば、ニューラルネットワーク)を含み得る。
【0061】
少なくとも1つの例では、センサーシステム606は、ライダーセンサー、レーダーセンサー、超音波トランスデューサー、ソナーセンサー、位置センサー(例えば、GPS、コンパスなど)、慣性センサー(例えば、慣性測定ユニット(IMU)、加速度計、磁気計、ジャイロスコープなど)、カメラ(例えば、RGB、IR、強度、深度、time of flightなど)、マイクロフォン、ホイールエンコーダ、環境センサー(例えば、温度センサー、湿度センサー、光センサー、圧力センサーなど)、および1つまたは複数のtime of flight(ToF)センサーなどを含むことができる。センサーシステム606は、これらのセンサーまたは他の種類のセンサーのそれぞれの多様なインスタンスを含むことができる。例えば、ライダーセンサーは、車両602の角、前面、背面、側面、および/または上部に配置された個々のライダーセンサーを含み得る。別の例として、カメラセンサーは、車両602の外装および/または内装に関する様々な場所に配置された多様なカメラを含むことができる。センサーシステム606は、車両コンピューティングデバイス604に入力を提供し得る。追加的にまたは代替的に、センサーシステム606は、1つまたは複数のネットワーク628を介して、特定の頻度で、所定の期間の経過後に、ほぼリアルタイムで、1つまたは複数のコンピューティングデバイスにセンサーデータを送信することができる。
【0062】
車両602は、車両602と1つまたは複数の他のローカルまたはリモートコンピューティングデバイスとの間の通信を可能にする1つまたは複数の通信接続608を含むこともできる。例えば、通信接続608は、車両602および/または駆動システム610上の他のローカルコンピューティングデバイスとの通信を促進し得る。また、通信接続608は、車両602が他の近くのコンピューティングデバイス(例えば、他の近くの車両、交通信号など)と通信することを与え得る。通信接続608はまた、車両602がリモート遠隔コンピューティングデバイスまたは他のリモートサービスと通信することを可能にする。
【0063】
通信接続608は、車両コンピューティングデバイス604を別のコンピューティングデバイス(例えば、コンピューティングデバイス630)および/またはネットワーク628などのネットワークに接続するための物理的および/または論理的インターフェースを含み得る。例えば、通信接続608は、IEEE 802.11規格によって定義された周波数を介したようなWi-Fiベースの通信、Bluetooth(登録商標)などの短距離無線周波数、セルラー通信(例えば、2G、3G、4G、4G LTE、5Gなど)または、それぞれの演算装置が他の演算装置とインターフェースすることができる任意の適した有線または無線通信プロトコルを可能に得る。
【0064】
少なくとも1つの例では、車両602は、1つまたはの駆動システム610を含むことができる。いくつかの例では、車両602は、単一の駆動システム610を有し得る。少なくとも1つの例では、車両602が多様な駆動システム610を有する場合、個々の駆動システム610は、車両602の反対側の端部(例えば、前部と後部など)に配置されることができる。少なくとも1つの例では、駆動システム610は、上述したように、駆動システム610および/または車両602の周囲の状態を検出するための1つまたは複数のセンサーシステム606を含むことができる。例示であって限定ではないが、センサーシステム606は、駆動システムのホイールの回転を感知するための1つまたは複数のホイールエンコーダ(例えば、ロータリーエンコーダ)、駆動システムの方向および加速度を測定するための慣性センサー(例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁気計等)、カメラまたは他の画像センサー、駆動システムの周囲にある物を音響的に検出する超音波センサー、ライダーセンサー、レーダーセンサー等を含むことができる。ホイールエンコーダなどのいくつかのセンサーは、駆動システム610に固有のものであり得る。場合によっては、駆動システム610上のセンサーシステム606は、車両602の対応するシステムに重畳、または補足することができる。
【0065】
少なくとも1つの例では、本明細書で論じられる構成要素は、上述のように、センサーデータ624を処理することができ、1つまたは複数のネットワーク628を介して、それぞれの出力を1つまたは複数のコンピューティングデバイス630に送信し得る。少なくとも1つの例では、本明細書で論じられる構成要素は、特定の頻度で、所定の期間の経過後に、ほぼリアルタイムで、1つまたは複数のコンピューティングデバイス630にそれらの出力を送信し得る。
【0066】
いくつかの例では、車両602は、ネットワーク628を介して1つまたは複数のコンピューティングデバイス630にセンサーデータを送信することができる。いくつかの例では、車両602は、生のセンサーデータ624をコンピューティングデバイス630に送信することができる。他の例では、車両602は、処理されたセンサーデータ624および/またはセンサーデータの表現(例えば、物体知覚追跡)をコンピューティングデバイス630に送信することができる。いくつかの例では、車両602は、特定の頻度で、所定の期間の経過後に、ほぼリアルタイムで、コンピューティングデバイス630にセンサーデータ624を送信することができる。いくつかの例では、車両602は、センサーデータ(生または処理済み)を1つまたは複数のログファイルとしてコンピューティングデバイス630に送信することができる。
【0067】
コンピューティングデバイス630は、プロセッサ632と、訓練コンポーネント636、機械学習コンポーネント638、および訓練データ640を格納するコンピュータ可読媒体634と、を含み得る。訓練コンポーネント636は、1つまたは複数の車両602から受信したセンサーデータ624を使用して、訓練データ640を生成し得る。例えば、訓練コンポーネント636は、物体を表すデータに、センサーデータ624中の物体の1つまたは複数の測定されたパラメータ、または特性をラベル付けし得る。その後、訓練コンポーネント636は、訓練データ640を使用して、機械学習コンポーネント638を訓練し、センサーデータ624に描かれた物体のポーズに基づいて物体の現在または将来の速度、軌道、および/または任意の他の特性を予測する運動状態を予測し得る。
【0068】
本明細書で述べられるように、例示的なニューラルネットワークは、一連の接続された層に入力データを通過させて出力を生成する、生物学的にインスパイアされたアルゴリズムである。ニューラルネットワークの各層は、別のニューラルネットワークを構成することも可能であり、或いは任意の数の層(畳み込み式であるか否かにかかわらず)を構成することも可能である。本開示のコンテキストで理解されることができるように、ニューラルネットワークは、機械学習を利用することができ、これは、訓練されたパラメータに基づいて出力が生成される、そのようなアルゴリズムの広い分類を参照することができる。
【0069】
ニューラルネットワークのコンテキストで論じられているが、本開示と一致する任意のタイプの機械学習が使用されることができる。例えば、機械学習アルゴリズムは、回帰アルゴリズム(例えば、通常の最小二乗回帰(OLSR)、線形回帰、ロジスティック回帰、ステップワイズ回帰、多変量適応回帰スプライン(MARS)、局所的に重み付けされた散布図平滑化(LOESS))、インスタンスベースのアルゴリズム(例えば、リッジ回帰、最小絶対縮退選択演算子(LASSO)、弾性ネット、最小角回帰(LARS))、決定木アルゴリズム(例えば、分類回帰木(CART)、反復二分木3(ID3)、カイ二乗自動相互作用検出(CHAID)、決定スタンプ、条件付き決定木)、ベイジアンアルゴリズム(例えば、ナイーブベイズ、ガウスナイーブベイズ、多項ナイーブベイズ、平均一従属性分類器(AODE)、ベイジアンビリーフネットワーク(BNN)、ベイジアンネットワーク)、クラスタリングアルゴリズム(例えば、k-means、k-medians、期待値最大化(EM)、階層型クラスタリング)、相関ルール学習アルゴリズム(例えば、パーセプトロン、バックプロパゲーション、ホップフィールドネットワーク、Radial Basis Function Network(RBFN))、深層学習アルゴリズム(Deep Boltzmann Machine(DBM)、Deep Belief Networks(DBN)、畳み込みニューラルネットワーク(CNN)、Stacked Auto-Encoders)、次元削減アルゴリズム(例えば、主成分分析(PCA)、主成分回帰(PCR)、部分最小二乗回帰(PLSR)、サモンマッピング、多次元尺度法(MDS)、Projection Pursuit、線形判別分析(LDA)、混合判別分析(MDA)、二次判別分析(QDA)、フレキシブル判別分析(FDA))、アンサンブルアルゴリズム(例えば、Boosting、Bootstrapped Aggregation(Bagging)、AdaBoost、Stacked Generalization(Blending)、Gradient Boosting Machines(GBM)、Gradient Boosted Regression Trees(GBRT)、Random Forest)、SVM(Support Vector Machine)、教師あり学習、教師なし学習、半教師あり学習、などを含むことができるが、これらに限定はされない。アーキテクチャの追加例は、ResNet50、ResNet101、VGG、DenseNet、PointNetなどのニューラルネットワークを含む。
【0070】
車両602のプロセッサ612およびコンピューティングデバイス630のプロセッサ632は、データを処理するを実行し、本明細書で述べられるような動作を実行できる任意の適切なプロセッサであり得る。限定ではなく例として、プロセッサ612および632は、1つまたは複数の中央処理装置(CPU)、グラフィック処理装置(GPU)、または電子データを処理してその電子データをレジスタおよび/またはコンピュータ可読媒体に格納されることが可能な他の電子データに変換する任意の他のデバイスまたはデバイスの一部を含むことができる。いくつかの例では、集積回路(例えば、ASICなど)、ゲートアレイ(例えば、FPGAなど)、および他のハードウェアデバイスも、それらが符号化された命令を実装するように構成される限り、プロセッサとみなすことができる。
【0071】
コンピュータ可読媒体614および634は、非一時的コンピュータ可読媒体の例である。コンピュータ可読媒体614および634は、本明細書で述べられる方法および様々なシステムに帰属する機能を実装するための動作システムおよび1つまたは複数のソフトウェアアプリケーション、命令、プログラム、および/またはデータを格納することができる。様々な実装において、コンピュータ可読媒体は、static random-access memory(SRAM)、synchronous dynamic RAM(SDRAM)、不揮発性/フラッシュメモリ、または情報を格納できる任意の他のタイプのコンピュータ可読媒体など、任意の適切なコンピュータ可読媒体技術を用いて実装されることができる。本明細書で述べられるアーキテクチャ、システム、および個々の要素は、他の多くの論理的、プログラム的、および物理的構成要素を含むことができ、そのうちの添付の図に示されるものは、本明細書の議論に関連する、単なる例である。
【0072】
理解されることができるように、本明細書で論じられる構成要素は、説明の目的のため、分割して述べられている。しかしながら、様々な構成要素によって実行される動作は、他の任意の構成要素で組み合わされる、または実行されることができる。
【0073】
図6は分散システムとして図示されているが、代替例においては、車両602の構成要素は、コンピューティングデバイス630と関連付けられることが可能であり、および/またはコンピューティングデバイス630の構成要素は車両602と関連付けられることが可能であることが留意されるべきである。すなわち、車両602は、コンピューティングデバイス630に関連付けられた機能のうちの1つまたは複数を実行することができ、その逆もまた可能である。さらに、機械学習コンポーネント638の側面は、本明細書で論じられるデバイスのいずれでも実行されることが可能である。
【0074】
(例示項)
上述した例示的な項目は、1つの特定の実装に関して説明されているが、本明細書のコンテキストにおいて、例示的な項目の内容は、方法、装置、システム、コンピュータ可読媒体、および/または別の実装を介して実装することも可能であることが理解されるべきである。さらに、例A-Tのいずれかは、単独で、または他の1つまたは複数の例A-Tと組み合わせて実装されてよい。
【0075】
A.システムであって、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行可能な命令を格納する1つまたは複数の非一時的コンピュータ可読媒体と、を備え、命令は、実行されると、システムに、自律車両のセンサーによって取り込まれた第1のレーダーデータを受信することであって、第1のレーダーデータは、第1の期間に関連付けられることと、第1のレーダーデータが、グローバル参照フレームに関連付けられることと、センサーによって取り込まれた第2のレーダーデータを受信することであって、第2のレーダーデータは、第2の期間に関連付けられることと、第2のレーダーデータが、グローバル参照フレームに関連付けられることと、第1のレーダーデータおよび第2のレーダーデータから2次元離散化表現を生成することであって、2次元離散化表現は、物理的な環境における自律車両の位置に少なくとも部分的に基づいたローカル参照フレームに関連付けられ、複数の離散化領域を備えることと、2次元離散化表現の少なくとも1つの領域に対して、個々の領域に関連付けられた1つまたは複数の特徴ベクトルを生成するために、領域に関連付けられた個々の領域の点に訓練された関数を適用することであって、特徴ベクトルは一連の値を備えることと、2次元離散化表現の少なくとも1つの領域に対して、個々の領域に関連付けられた集約された特徴ベクトルを生成するために、個々の領域に関連付けられた1つまたは複数の特徴ベクトルをプーリングすること、集約された特徴ベクトルに少なくとも部分的に基づいて、物体情報を決定することと、物体情報に少なくとも部分的に基づいて、自律車両を制御することと、を備える動作を実行させる。
【0076】
B.段落Aのシステムであって、動作は第1のレーダーデータおよび第2のレーダーデータを循環バッファ中に格納することをさらに備える。
【0077】
C.段落Aのシステムであって、1つまたは複数のベクトルをプーリングすることは、最大プーリング演算または平均プーリング演算の1つに少なくとも部分的に基づく。
【0078】
D.段落Aのシステムであって、物体情報は、インスタンスセグメンテーション、物体の速度、物体の進行方向の少なくとも1つを含む。
【0079】
E.方法であって、センサーによって取り込まれた第1のデータを受信することと、第1のデータをグローバル参照フレームに関連付けることと、第1のデータおよびグローバル参照フレームに対するローカル参照フレームの関係性に少なくとも部分的に基づいて、2次元データ表現を生成することと、2次元データ表現および機械学習モデルに少なくとも部分的に基づいて、物体レベルデータを決定することと、物体レベルデータに少なくとも部分的に基づいて、自律車両を制御することと、を備える。
【0080】
F.段落Eの方法であって、第1のデータが第1の時間に関連付けられ、センサーによって取り込まれた第2のデータを受信することであって、第2のデータは、第1の時間の後の第2の時間に関連付けられることと、第2の時間をグローバル参照フレームに関連付けることと、をさらに備える。
【0081】
G.段落Eの方法であって、第2のデータおよびローカル参照フレームとグローバル参照フレームとの関係に少なくとも部分的に基づいて、2次元データ表現を更新することをさらに備える。
【0082】
H.段落Eの方法であって、第1の点群は循環バッファに格納される。
【0083】
I.段落Eの方法であって、2次元データ表現を生成することは、グローバル参照フレーム内の個々の点の位置に対して並進および回転を適用することと、2次元データ表現の個々の領域に対して、1つまたは複数の特徴ベクトルを生成することであって、特徴ベクトルは一連の値を備えることと、個々の領域に対して、1つまたは複数の特徴ベクトルに少なくとも1つのプーリング演算を実行することと、をさらに備える。
【0084】
J.段落Eの方法であって、物体レベルデータを決定することは、2次元データ表現の個々の領域に対して、集約した特徴ベクトルを抽出することと、集約した特徴ベクトルに少なくとも部分的に基づいて、前記物体レベルデータを決定することと、をさらに備える。
【0085】
K.段落Eの方法であって、物体レベルデータは、第1のデータの1つまたは複数の経時、または機械学習モデル中の第1のデータに関連付けられたオフセット時間を入力することに少なくとも部分的に基づく。
【0086】
L.段落Eの方法であって、自律車両を制御する前に、物体レベルデータに後処理を適用することをさらに備える。
【0087】
M.段落Lの方法であって、後処理が、非最大限の抑制、閾値処理、ハフ変換、連結成分、または形態的動作のうちの少なくとも1つを備える。
【0088】
N.段落Eの方法であって、2次元データ表現は、複数の領域を含み、第1のデータの第1の点は、複数の領域の第1の領域と関連付けられ、第1のデータの第2の点は、第1の領域と関連付けられる。
【0089】
O.非一時的コンピュータ可読媒体であって、実行されると、1つまたは複数のプロセッサに、センサーからセンサーデータを受信することと、循環バッファにセンサーデータを格納することと、循環バッファに格納されたデータに少なくとも部分的に基づいて、第1の領域および第2の領域を有する2次元表現を生成することと、第1の領域に基づいたデータの少なくとも一部を、機械学習モデルに入力することと、機械学習モデルから、第1の一連の値を受信することと、第1の一連の値に少なくとも部分的に基づいた物体レベルデータを生成することと、を備えた動作を実行させる命令を格納する。
【0090】
P.段落Oの非一時的コンピュータ可読媒体であって、1つまた複数の基準が満たされたか、または超えたかを決定することと、1つまた複数の基準が満たされたか、または超えたかに応答する2次元表現を生成することと、をさらに備える。
【0091】
Q.段落Pの非一時的コンピュータ可読媒体であって、1つまたは複数の基準は、期間、循環バッファに関連付けられた閾値、センサーデータを取り込むために用いられるセンサーに関連付けられた閾値、または検出された環境状態のうちの少なくとも1つを含む。
【0092】
R.段落Oの非一時的コンピュータ可読媒体であって、第1の一連の値を生成することは、データの少なくとも一部に対して、多層パーセプトロンを適用することと、多層パーセプトロンから複数の特徴ベクトルを受信することと、第1の一連の値として第1の特徴ベクトルを生成するために、複数の特徴ベクトルにプーリング演算を実行することと、をさらに備える。
【0093】
S.段落Oの非一時的コンピュータ可読媒体であって、第1の一連の値を生成することは、センサーデータの経時および事前状態推定に少なくとも部分的に基づく。
【0094】
T.段落Oの非一時的コンピュータ可読媒体であって、物体レベルデータを生成することは、ニューラルネットワークを適用し、第1の一連の値に関連付けられた1つまたは複数の訓練された推論を生成することをさらに備え、動作は、1つまたは複数の訓練された推論に少なくとも部分的に基づいて、自律車両を制御することをさらに備える。
【0095】
(結論)
理解できるように、本明細書で論じられる構成要素は、説明のために分割されたものとして述べられている。しかしながら、様々な構成要素によって実行される動作は、他の任意の構成要素で組み合わされたり、実行されたりすることができる。また、ある例または実装に関して論じられた構成要素またはステップは、他の例の構成要素またはステップと組み合わせて使用され得るということも理解されるべきである。例えば、
図6の構成要素および命令は、
図1-5のプロセスおよびフローを利用してもよい。
【0096】
物体の非限定的なリストは、歩行者、動物、自転車の乗用者、トラック、オートバイ、他の車両などを含むが、これらに限定されない、環境内の障害物を含み得る。環境内のそのような物体は、参照フレームに対する物体全体の位置および/または方向を含む「幾何学的ポーズ」(本明細書では単に「ポーズ」とも呼ばれ得る)を有する。いくつかの例では、ポーズは、物体(例えば、歩行者)の位置、物体の方向、または物体の相対的な付属物の位置を示し得る。幾何学的ポーズは、2次元(例えば、x-y座標系を使用)または3次元(例えば、x-y-zまたは極座標系を使用)で記述されてもよく、ターゲットの方向(例えば、ロール、ピッチ、および/またはヨー)を含んでもよい。歩行者や動物などの一部の物体は、本明細書で「外観ポーズ」と呼ばれるものも有する。外観ポーズは、身体の一部(例えば、付属物、頭部、胴体、目、手、足など)の形状および/または位置決めを含む。本明細書で使用する場合、用語「ポーズ」は、参照フレームに対する物体の「幾何学的ポーズ」と、歩行者、動物、および身体の一部の形状および/または位置を変更できる他の物体の場合、「外観ポーズ」の両方を指す。いくつかの例では、参照フレームは、車両に対する物体の位置を記述する2次元または3次元座標系、またはマップを参照して記述される。しかしながら、他の例では、他の参照フレームが使用され得る。
【0097】
非限定的な例として、本明細書で述べられる技術は、少なくとも部分的に、自律車両のコンピューティングデバイスによって実行されてもよく、自律車両は、環境内の1つまたは複数の物体を検出、および/または物理的な環境内の1つまたは複数の物体の属性または物体パラメータを決定するために、センサーデータを受信し得る。物体パラメータは、それに関連付けられた任意の不確実性情報に加え、1つまたは複数の物体のそれぞれの速度、加速度、位置、分類、および/または範囲を含み得る。自律車両によって取り込まれたセンサーデータは、光検出および測距(ライダー)センサーデータ、無線検出および測距(レーダー)センサーデータ、音響ナビゲーションおよび測距(ソナー)センサーデータ、画像データ、time of flightデータ等を含み得る。場合によっては、センサーデータは、環境内の物体のタイプ(例えば、車両、歩行者、自転車、動物、駐車車両、木、建物など)を決定するように構成された知覚システムに提供され得る。さらに、アウトオブシーケンス知覚システムは、センサーデータに基づいて、物理的な環境内の物体に関する動きの情報を決定してもよい。
【0098】
本明細書で述べられる技術の1つまたは複数の例を説明したが、その様々な変更、追加、順列、および等価物は、本明細書で述べられる技術の範囲に含まれる。
【0099】
例の説明において、本明細書の一部をなす添付図面が参照されるが、これは、請求された主題の特定の例を説明するために示すものである。他の例を使用することは可能であり、構造的な変更などの変更または改変を行うことが可能であることは理解されるべきである。そのような例、変更または改変は、意図された請求項の主題に関する範囲から必ずしも逸脱するものではない。本明細書のステップは、ある順序で提示することができるが、場合によっては、説明したシステムおよび方法の機能を変更することなく、ある入力を異なる時間または異なる順序で提供するように、順序を変更することが可能である。開示された手順は、異なる順序で実行されることも可能である。さらに、本明細書で述べられる様々な計算は、開示された順序で実行される必要はなく、計算の代替順序を使用する他の例が容易に実装され得る。順序を変更することに加え、いくつかの例では、計算を、同じ結果を有するサブ計算に分解することもできる。
【国際調査報告】