(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-02-09
(54)【発明の名称】領域外コンテキストを用いたオブジェクト分類
(51)【国際特許分類】
G06T 7/00 20170101AFI20220202BHJP
G06N 3/08 20060101ALI20220202BHJP
【FI】
G06T7/00 350C
G06N3/08
G06T7/00 650B
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021534163
(86)(22)【出願日】2019-12-18
(85)【翻訳文提出日】2021-08-11
(86)【国際出願番号】 US2019067197
(87)【国際公開番号】W WO2020132082
(87)【国際公開日】2020-06-25
(32)【優先日】2018-12-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】317015065
【氏名又は名称】ウェイモ エルエルシー
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100126480
【氏名又は名称】佐藤 睦
(72)【発明者】
【氏名】マオ,ジュンフア
(72)【発明者】
【氏名】ユ,キアン
(72)【発明者】
【氏名】リ,ツォンツォン
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096BA04
5L096CA02
5L096CA27
5L096DA02
5L096EA35
5L096HA09
5L096HA11
5L096KA04
(57)【要約】
本明細書に開示される主題のいくつかの態様は、1つ以上のデータ処理装置に実装されたシステムを含む。システムは、1つ以上のセンササブシステムから、車両の環境を説明するセンサデータを取得することと、センサデータを使用して、(i)環境内の特定のオブジェクトに対するセンサ測定値を表す1つ以上の第1のニューラルネットワーク入力と、(ii)特定のオブジェクトを包含する環境の少なくとも一部分および1つ以上の第1のニューラルネットワーク入力によっては表されない環境の追加の部分に対するセンサ測定値を表す第2のニューラルネットワーク入力とを生成することと、を行うように構成されたインターフェースと、第2のニューラルネットワーク入力を処理して出力を生成するように構成された畳み込みニューラルネットワークであって、その出力が、環境の複数の領域のうちの異なるものに各々対応する複数の特徴ベクトルを含む、畳み込みニューラルネットワークと、を含むことができる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
1つ以上のデータ処理装置に実装されたシステムであって、
1つ以上のセンササブシステムから、車両の環境を説明するセンサデータを取得することと、前記センサデータを使用して、(i)前記環境内の特定のオブジェクトに対するセンサ測定値を表す1つ以上の第1のニューラルネットワーク入力と、(ii)前記特定のオブジェクトを包含する前記環境の少なくとも一部分、および前記1つ以上の第1のニューラルネットワーク入力によっては表されない前記環境の追加の部分に対するセンサ測定値を表す第2のニューラルネットワーク入力と、を生成すること、を行うように構成されたインターフェースと、
前記第2のニューラルネットワーク入力を処理して、出力を生成するように構成された畳み込みニューラルネットワークであって、前記出力が、前記環境の複数の領域の異なるものに各々対応する複数の特徴ベクトルを含む、畳み込みニューラルネットワークと、
前記1つ以上の第1のニューラルネットワーク入力および前記複数の特徴ベクトルのうちの第1のものを処理して、前記特定のオブジェクトに対する予測分類を生成するように構成されたオブジェクト分類器ニューラルネットワークと、を備える、システム。
【請求項2】
前記インターフェースが、複数の対応するセンササブシステムから、センサデータの複数のチャネルを取得するように構成されており、前記第1のニューラルネットワーク入力のうちの異なるものが、センサデータの前記複数のチャネルのうちの異なるものからの前記特定のオブジェクトのセンサ測定値を表す、請求項1に記載のシステム。
【請求項3】
前記第2のニューラルネットワーク入力が、前記特定のオブジェクトを包含する前記環境の少なくとも前記一部分、および前記1つ以上の第1のニューラルネットワーク入力によっては表されない前記環境の前記追加の部分の投影を表す、請求項1~2のいずれかに記載のシステム。
【請求項4】
前記第2のニューラルネットワーク入力によって表される前記投影が、光検出および測距(LIDAR)センササブシステムの測定値から導出された点群の投影を含む、請求項3に記載のシステム。
【請求項5】
前記第2のニューラルネットワーク入力が、前記1つ以上の第1のニューラルネットワーク入力によって表される前記環境の視野よりも広い、前記車両の前記環境の集合的な視野を有する1つ以上のカメラ画像を表す、請求項1~4のいずれかに記載のシステム。
【請求項6】
前記オブジェクト分類器ニューラルネットワークが、複数のチャネルエンコーダおよび分類部分を含み、各チャネルエンコーダが、前記第1のニューラルネットワーク入力のうちの異なるものを独立して処理して、前記第1のニューラルネットワーク入力によって表される前記センサ測定値の代替表現を生成するように構成されており、前記分類部分が、前記複数のチャネルエンコーダからの前記代替表現、および前記複数の特徴ベクトルのうちの前記第1のものを処理して、前記オブジェクト分類を生成するように構成されている、請求項1~5のいずれかに記載のシステム。
【請求項7】
前記車両が、自律型車両である、請求項1~6のいずれかに記載のシステム。
【請求項8】
前記特定のオブジェクトに対する前記予測分類および他のデータを処理して、前記車両に対する操縦を計画するように構成された計画サブシステムをさらに備え、前記車両が、人間の制御なしに前記操縦を実行するように構成されている、請求項1~7のいずれかに記載のシステム。
【請求項9】
前記オブジェクト分類器ニューラルネットワークは、前記特定のオブジェクトが、車両、歩行者、サイクリスト、モータサイクリスト、標識、背景、または動物のうちの少なくとも2つである可能性を示すスコアを判定するように構成されている、請求項1~8のいずれかに記載のシステム。
【請求項10】
前記1つ以上の第1のニューラルネットワーク入力とともに、前記オブジェクト分類ニューラルネットワークによって処理されて、前記特定のオブジェクトに対する前記予測分類を生成する、前記複数の特徴ベクトルのうちの前記第1のものが、前記複数の特徴ベクトルの中から、前記複数の特徴ベクトルのうちの前記第1のものと前記特定のオブジェクトの少なくとも一部分が位置する前記環境の領域との対応に基づいて選択される、請求項1~9のいずれかに記載のシステム。
【請求項11】
前記複数の各特徴ベクトルが、前記特徴ベクトルに対応する前記特定の領域の範囲を超えた前記車両の前記環境の領域についての情報を表しており、かつ、前記第1の特徴ベクトルが、前記特定のオブジェクトを包含する前記環境の任意の領域の範囲を超えた前記車両の前記環境の領域についての情報を表す、請求項1~10のいずれかに記載のシステム。
【請求項12】
1つ以上のデータ処理装置によって実装される方法であって、
1つ以上のセンササブシステムから、車両の環境を説明するセンサデータを取得することと、
前記センサデータを使用して、(i)前記環境内の特定のオブジェクトに対するセンサ測定値を表す1つ以上の第1のニューラルネットワーク入力と、(ii)前記特定のオブジェクトを包含する前記環境の少なくとも一部分、および前記1つ以上の第1のニューラルネットワーク入力によっては表されない前記環境の追加の部分に対するセンサ測定値を表す第2のニューラルネットワーク入力と、を生成することと、
畳み込みニューラルネットワークで、前記第2のニューラルネットワーク入力を処理して、出力を生成することであって、前記出力が、前記環境の複数の領域のうちの異なるものに各々対応する複数の特徴ベクトルを含む、生成することと、
オブジェクト分類器ニューラルネットワークで前記1つ以上の第1のニューラルネットワーク入力および前記複数の特徴ベクトルのうちの第1のものを処理して、前記特定のオブジェクトに対する予測分類を生成することと、を含む、方法。
【請求項13】
前記1つ以上の第1のニューラルネットワーク入力および前記複数の特徴ベクトルのうちの前記第1のものを処理して、前記特定のオブジェクトに対する前記予測分類を生成することが、前記オブジェクト分類器ニューラルネットワークの複数のチャネルエンコーダで、前記1つ以上の第1のニューラルネットワーク入力を処理して、前記1つ以上の第1のニューラルネットワーク入力によって表されるセンサ測定値の1つ以上の代替表現を生成することを含む、請求項12に記載の方法。
【請求項14】
前記1つ以上の第1のニューラルネットワーク入力および前記複数の特徴ベクトルのうちの前記第1のものを処理して、前記特定のオブジェクトに対する前記予測分類を生成することが、前記1つ以上の第1のニューラルネットワーク入力で表される前記センサ測定値の前記1つ以上の代替表現および前記複数の特徴ベクトルのうちの前記第1のものを、前記オブジェクト分類ニューラルネットワークの分類器部分で処理して、前記特定のオブジェクトに対する前記予測分類を生成することをさらに含む、請求項13に記載の方法。
【請求項15】
複数の対応するセンササブシステムから、センサデータの複数のチャネルを取得することをさらに含み、前記第1のニューラルネットワーク入力のうちの異なるものが、センサデータの前記複数のチャネルのうちの異なるものからの前記特定オブジェクトのセンサ測定値を表す、請求項12~14のいずれかに記載の方法。
【請求項16】
前記特定のオブジェクトに対する前記予測分類を使用して前記車両の操縦を計画することと、前記計画に従って前記車両の前記操縦を実行することと、をさらに含む、請求項12~15のいずれかに記載の方法。
【請求項17】
前記複数の特徴ベクトルのうちの前記第1のものと前記特定のオブジェクトの少なくとも一部が位置する前記環境の領域との間の対応に基づいて、前記特定のオブジェクトに対する前記予測分類を生成するにあたって使用される、前記複数の特徴ベクトルのうちの前記第1のものを選択することをさらに含む、請求項12~16のいずれかに記載の方法。
【請求項18】
前記複数の各特徴ベクトルが、前記特徴ベクトルに対応する前記特定の領域の範囲を超えた前記車両の前記環境の領域についての情報を表しており、かつ、前記複数の特徴ベクトルのうちの前記第1のものが、前記特定のオブジェクトを包含する前記環境の任意の領域の範囲を超えた前記車両の前記環境の領域についての情報を表す、請求項12~17のいずれかに記載の方法。
【請求項19】
システムであって、
データ処理装置と、
命令を伴ってエンコードされた1つ以上のコンピュータ可読媒体であって、前記命令が、前記データ処理装置によって実行されるとき、
1つ以上のセンササブシステムから、車両の環境を説明するセンサデータを取得することと、
前記センサデータを使用して、(i)前記環境内の特定のオブジェクトに対するセンサ測定値を表す1つ以上の第1のニューラルネットワーク入力と、(ii)前記特定のオブジェクトを包含する前記環境の少なくとも一部分、および前記1つ以上の第1のニューラルネットワーク入力によっては表されない前記環境の追加の部分に対するセンサ測定値を表す第2のニューラルネットワーク入力と、を生成することと、
畳み込みニューラルネットワークで、前記第2のニューラルネットワーク入力を処理して、出力を生成することであって、前記出力が、前記環境の複数の領域のうちの異なるものに各々対応する複数の特徴ベクトルを含む、生成することと、
オブジェクト分類器ニューラルネットワークで前記1つ以上の第1のニューラルネットワーク入力および前記複数の特徴ベクトルのうちの第1のものを処理して、前記特定のオブジェクトに対する予測分類を生成することと、を含む操作を実行させるコンピュータ可読媒体と、を備える、システム。
【請求項20】
前記出力が、コンテキストマップであり、前記1つ以上の第1のニューラルネットワーク入力および前記複数の特徴ベクトルのうちの前記第1のものを処理して、前記特定のオブジェクトに対する前記予測分類を生成することが、
前記オブジェクト分類器ニューラルネットワークの複数のチャネルエンコーダで、前記1つ以上の第1のニューラルネットワーク入力を処理して、前記1つ以上の第1のニューラルネットワーク入力によって表される前記1つ以上の代替表現を生成することと、
前記オブジェクト分類ニューラルネットワークの分類器部分で、前記1つ以上の第1のニューラルネットワーク入力および前記複数の特徴ベクトルの前記第1のものによって表される前記センサ測定値の前記1つ以上の代替表現を処理して、前記特定のオブジェクトに対する前記予測分類を生成することと、を含む、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
この出願は、2018年12月21日に出願された米国出願第16/230,187号の優先権の利益を主張し、その全内容は、参照によりその全体が本開示に組み込まれる。
【背景技術】
【0002】
本明細書は、自律型車両、より具体的には、例えば、車両の1つ以上のセンサによって取得されたデータで表されるオブジェクトの分類を生成するように構成されたニューラルネットワークシステムに関する。
【0003】
自律型車両は、自動運転する車、船舶、および航空機を含む。本明細書で使用される場合、自律型車両は、完全自律型車両または半自律型車両のいずれかを指す可能性がある。完全自律型車両は概して、人間のオペレータから独立して完全自律型運転が可能だが、一方で、半自律型車両では、一部分の運転操作を自動化するものの、それでもなお、ある程度の人間による制御や介入を許可するかまたは必要とする。自律型車両は、様々な搭載センサおよびコンピュータシステムを使用して近傍の物体を検出し、その検出を使用して制御およびナビゲーション決定を行う。
【0004】
自律型車両の中には、センサデータに基づいて環境に関する情報を識別するにあたり役立つニューラルネットワークを実装するものもある。ニューラルネットワークは、複数の操作の層を使用して、1つ以上の入力から1つ以上の出力を予測する機械学習モデルである。ニューラルネットワークは、通常、入力層と出力層との間に位置する1つ以上の隠れ層を含む。各層の出力は、ネットワーク内の別の層、例えば、次の隠れ層または出力層への入力として使用される。
【0005】
ニューラルネットワークの各層は、層への入力に対して実行される1つ以上の変換操作を指定する。一部のニューラルネットワーク層には、ニューロンと呼ばれる操作がある。通常、各ニューロンは1つ以上の入力を受信し、別のニューラルネットワーク層によって受信される出力を生成することができる。各層の変換操作は、変換操作を実装するソフトウェアモジュールがインストール済みの1つ以上の場所にある1つ以上のコンピュータによって実行することができる。
【発明の概要】
【0006】
本明細書では、オブジェクト分類ニューラルネットワークシステムをトレーニングおよび使用するためのシステム、方法、デバイス、および技術について説明する。本システムは、自律型車両の近くで検出された関心のあるオブジェクトの測定値を表すセンサデータを処理して、そのオブジェクトの予測オブジェクト分類を生成するように構成することができる。システムは、関心のあるオブジェクトに狭く焦点を合わせたセンサデータの「パッチ」と、オブジェクトを取り囲むより広い環境に関するコンテキストを表す特徴ベクトルとの両方を処理して、予測オブジェクト分類を生成することができる。
【0007】
本明細書で説明される主題のいくつかの態様は、1つ以上のデータ処理装置に実装されたシステムを含む。システムは、1つ以上のセンササブシステムから、車両の環境を説明するセンサデータを取得することと、センサデータを使用して、(i)環境内の特定のオブジェクトに対するセンサ測定値を表す1つ以上の第1のニューラルネットワーク入力と、(ii)特定のオブジェクトを包含する環境の少なくとも一部分、および1つ以上の第1のニューラルネットワーク入力によっては表されない環境の追加の部分に対するセンサ測定値を表す第2のニューラルネットワーク入力と、を生成することと、を行うように構成されたインターフェースと、第2のニューラルネットワーク入力を処理して、出力を生成するように構成された畳み込みニューラルネットワークであって、その出力が、環境の複数の領域の異なるものに各々対応する複数の特徴ベクトルを含む、畳み込みニューラルネットワークと、1つ以上の第1のニューラルネットワーク入力および複数の特徴ベクトルのうちの第1のものを処理して、特定のオブジェクトに対する予測分類を生成するように構成されたオブジェクト分類器ニューラルネットワークと、を含むことができる。
【0008】
これらおよび他の実装形態には、任意選択的に1つ以上の次の機能を含むことができる。
【0009】
インターフェースは、複数の対応するセンササブシステムから、センサデータの複数のチャネルを取得するように構成することができ、第1のニューラルネットワーク入力のうちの異なるものは、センサデータの複数のチャネルのうちの異なるものからの特定のオブジェクトのセンサ測定値を表す。
【0010】
第2のニューラルネットワーク入力は、特定のオブジェクトを包含する環境の少なくとも一部分および、1つ以上の第1のニューラルネットワーク入力によっては表されない環境の追加の部分の投影を表すことができる。
【0011】
第2のニューラルネットワーク入力によって表される投影には、光検出および測距(light detection and ranging、LIDAR)センササブシステムの測定値から導出された点群の投影を含むことができる。
【0012】
第2のニューラルネットワーク入力は、1つ以上の第1のニューラルネットワーク入力によって表される環境の視野よりも広い、車両の環境の集合的な視野を有する1つ以上のカメラ画像を表すことができる。
【0013】
オブジェクト分類器ニューラルネットワークは、複数のチャネルエンコーダおよび分類部分を含むことができ、各チャネルエンコーダが、第1のニューラルネットワーク入力のうちの異なるものを独立して処理して、第1のニューラルネットワーク入力によって表されるセンサ測定値の代替表現を生成するように構成されており、分類部分が、複数のチャネルエンコーダからの代替表現および複数の特徴ベクトルのうちの第1のものとを処理して、オブジェクト分類を生成するように構成されている。
【0014】
車両は自律型車両である場合がある。
【0015】
システムは、特定のオブジェクトに対する予測分類および他のデータを処理して、車両の操縦を計画するように構成された計画サブシステムをさらに含むことができ、車両は人間の制御なしで操縦を実行するように構成されている。
【0016】
オブジェクト分類器ニューラルネットワークは、特定のオブジェクトが車両、歩行者、サイクリスト、モータサイクリスト、標識、背景、または動物の少なくとも2つである可能性を示すスコアを判定するように構成することができる。
【0017】
1つ以上の第1のニューラルネットワーク入力とともに、オブジェクト分類ニューラルネットワークによって処理されて特定のオブジェクトに対する予測分類を生成する、複数の特徴ベクトルのうちの第1のものは、複数の特徴ベクトルの中から、複数の特徴ベクトルのうちの第1のものと特定のオブジェクトの少なくとも一部分が位置する環境の領域との対応に基づいて選択され得る。
【0018】
複数の各特徴ベクトルは、特徴ベクトルに対応する特定の領域の範囲を超えた車両の環境の領域についての情報を表すことができ、かつ、第1の特徴ベクトルは、特定のオブジェクトを包含する環境の任意の領域の範囲を超えた車両の環境の領域についての情報を表す。
【0019】
本明細書に記載の主題のいくつかの態様は、1つ以上のデータ処理装置によって実装される方法を含む。方法は、1つ以上のセンササブシステムから、車両の環境を説明するセンサデータを取得することと、センサデータを使用して、(i)環境内の特定のオブジェクトに対するセンサ測定値を表す1つ以上の第1のニューラルネットワーク入力と、(ii)特定のオブジェクトを包含する環境の少なくとも一部分、および1つ以上の第1のニューラルネットワーク入力によっては表されない環境の追加の部分に対するセンサ測定値を表す第2のニューラルネットワーク入力と、を生成することと、畳み込みニューラルネットワークで、第2のニューラルネットワーク入力を処理して、出力を生成することであって、その出力が、環境の複数の領域のうちの異なるものに各々対応する複数の特徴ベクトルを含む、生成することと、オブジェクト分類器ネットワークで、1つ以上の第1のニューラルネットワーク入力と複数の特徴ベクトルのうちの第1のものを処理して、特定のオブジェクトに対する予測分類を生成することと、を含む動作を含む。
【0020】
これらおよび他の実装形態には、任意選択的に1つ以上の次の機能を含むことができる。
【0021】
1つ以上の第1のニューラルネットワーク入力および複数の特徴ベクトルのうちの第1のものを処理して、特定のオブジェクトに対する予測分類を生成することが、オブジェクト分類器ニューラルネットワークの複数のチャネルエンコーダで、1つ以上の第1のニューラルネットワーク入力を処理して、1つ以上の第1のニューラルネットワーク入力で表されるセンサ測定値の1つ以上の代替表現を生成することを含む可能性がある。
【0022】
1つ以上の第1のニューラルネットワーク入力および複数の特徴ベクトルのうちの第1のものを処理して特定のオブジェクトに対する予測分類を生成することが、1つ以上の第1のニューラルネットワーク入力で表されるセンサ測定値の1つ以上の代替表現および複数の特徴ベクトルのうちの第1のものを、オブジェクト分類ニューラルネットワークの分類器部分で処理して、特定のオブジェクトに対する予測分類を生成することをさらに含む可能性がある。
【0023】
動作は、複数の対応するセンササブシステムから、センサデータの複数のチャネルを取得することをさらに含む可能性があり、ここで、第1のニューラルネットワーク入力のうちの異なるものは、センサデータの複数のチャネルの異なるものからの特定のオブジェクトのセンサ測定値を表す。
【0024】
動作は、特定のオブジェクトに対する予測分類を使用して車両の操縦を計画することおよび、その計画に従って車両の操縦を実行することをさらに含む可能性がある。
【0025】
動作は、複数の特徴ベクトルのうちの第1のものと特定のオブジェクトの少なくとも一部分が位置する環境の領域との間の対応に基づいて、特定のオブジェクトに対する予測分類を生成するにあたって使用される、複数の特徴ベクトルのうちの第1のものを選択すること、をさらに含む可能性がある。
【0026】
複数の各特徴ベクトルは、特徴ベクトルに対応する特定の領域の範囲を超えた車両の環境の領域についての情報を表す可能性があり、かつ、複数の特徴ベクトルのうちの第1のものは、特定のオブジェクトを包含する環境の任意の領域の範囲を超えた車両の環境の領域についての情報を表す。
【0027】
本明細書で説明される主題の他の態様は、1つ以上のプロセッサおよび命令を伴ってエンコードされた1つ以上のコンピュータ可読媒体を採用するシステムを含んでおり、その命令が、1つ以上のプロセッサによって実行されるとき、本明細書で説明する方法の動作に対応する操作の実行を含む。さらに、いくつかの態様は、エンコードされたコンピュータ可読媒体そのものを対象とする。
【0028】
本明細書に記載の主題の特定の実施形態は、以下の利点の1つ以上を実現するように実施することができる。自律型車両システムは、近くの物体の種類を予測して、その環境の理解を深め、運転とナビゲーションの意思決定を向上させることができる。関心のあるオブジェクトが位置する環境の部分だけでなく、環境のより広い部分に関するコンテキストを表す特徴ベクトルを処理することにより、システムによって行われるオブジェクト分類の精度を平均して向上させることができる。さらに、コンテキスト埋め込みニューラルネットワークを介した1回のパスで単一のコンテキストマップを生成することにより、システムは、コンテキストマップおよび分類される各オブジェクトに対する特徴ベクトルを再生成する必要なく、環境コンテキスト情報をより効率的に使用して車両の環境に位置する複数のオブジェクトを分類できる。自律型車両にシステムを搭載されている場合、車両の計算リソースが限られており、予測を迅速に生成する必要があるため、効率の向上は特に重要であり得る。本明細書で説明するようにコンテキストベクトルでオブジェクト分類を増強することにより、予測時間およびリソース使用量を大幅に増加させることなく分類を改善することができる。
【0029】
本明細書の主題の1つ以上の実施形態の詳細を、添付の図面および以下の説明に記載する。主題の他の特徴、態様、および利点は、明細書、図面、および特許請求の範囲から、明らかになるであろう。
【図面の簡単な説明】
【0030】
【
図1】自律型車両でオブジェクト分類システムをトレーニングして使用するためのシステムの例の図である。
【
図3】オブジェクト分類ニューラルネットワークシステムの例の図である。
【
図5】自律型車両の環境の広視野表現の例の図である。
【
図6】ニューラルネットワークシステムを用いて自律型車両の近くにあるオブジェクトを分類するためのプロセスの例のフローチャートである。
【
図7】オブジェクト分類ニューラルネットワークシステムをトレーニングするためのプロセスの例のフローチャートである。
【0031】
様々な図面の中の同様の参照番号および名称は、同様の要素を示す。
【発明を実施するための形態】
【0032】
図1は、システム100の例の図である。システム100は、トレーニングシステム110と搭載システム130とを含む。搭載システム130は、車両122に物理的に搭載されている。
図1の車両122は自動車として示されているが、搭載システム130は他の任意の好適な車両にも位置することができる。概して、車両122は、人間による操作または介入から完全にまたは少なくとも部分的に独立して、運転動作(例えば、ステアリング、ブレーキ、加速)を計画および実行することが可能な自律型車両である。車両122は、オブジェクト分類を使用して、その環境を理解し、任意の時点で車両122の近くにあるオブジェクトのタイプを説明する運転動作を計画することができる。
【0033】
搭載システム130は、1つ以上のセンササブシステム132を含む。センササブシステム132は、車両の環境についての情報を感知するためのコンポーネントを含む。1つ以上のサブシステム132は、レーザ光の反射を検出および処理する光検出および測距(LIDAR)サブシステム、電波を検出し処理する無線検出および測距(radio detection and ranging、RADAR)サブシステム、もしくはその両方など、サブシステム132のうちの特定のサブシステムによって放出される電磁放射の反射に関する情報を検出および処理するように構成することができる。センササブシステム132はまた、可視光を検出および処理する1つ以上のカメラサブシステムを含むことができる。カメラサブシステムは、画像に表示されるオブジェクトに対するオブジェクト深度の判定が、カメラの画像センサの空間的な配向/オフセットの違いに基づいて可能である、モノスコピック、ステレオスコピック、または他のマルチビューカメラにすることができる。LIDARおよびRADARに関して、生のセンサデータは、距離、方向、および反射された放射の強度を示すことができる。例えば、各センサは、特定の方向に電磁放射の1つ以上のパルスを送信でき、かつ反射の強度と反射が受信された時間を測定することができる。距離は、パルスとそれに対応する反射の間の時間遅延を判定することによって計算することができる。各センサは、角度、方位角、またはその両方で特定の空間を継続的に掃引きできる。例えば、方位角に掃引きすると、センサが同じ視線に沿って複数のオブジェクトを検出することができるようになる。
【0034】
センササブシステム132は、1つ以上のタイプのセンサデータ155を搭載オブジェクト分類器ニューラルネットワークシステム134に提供することができる。センサデータ155は、例えば、LIDARもしくはRADARサブシステムからの点群データ、カメラサブシステムからの画像データ、他のセンササブシステムからのデータ、またはこれらの組み合わせを含むことができる。センサデータは、複数のチャネルを含むことができ、いくつかの実装形態では、各チャネルは、異なるセンササブシステム132に対応するデータを運ぶ。オブジェクト分類器ニューラルネットワークシステム134は、センサデータ155を処理してオブジェクト分類180を生成する。オブジェクト分類180は、車両122の近くにある関心のあるオブジェクトのタイプ(例えば、歩行者、車両、標識、動物)、または他のカテゴリについての予測を示す。オブジェクト分類器ニューラルネットワークシステム134に関する追加の詳細は、
図3、6、および7に関して説明されている。
【0035】
いくつかの実装形態では、オブジェクト分類器ニューラルネットワークシステム134は、オブジェクト分類180を車両122上の他のシステムに提供し、および/または、分類180は、車両122の運転者に提示されて、システムまたは運転者に、車両の近くで検出されたオブジェクトのタイプに関して通知する。例えば、計画サブシステム136は、オブジェクト分類180を使用して、完全自律または半自律の運転決定を行うことができ、それによって、関心のあるオブジェクトの予測された分類に少なくとも部分的に基づいて車両122を制御する。例えば、計画サブシステム136は、特定のオブジェクトの動きを予測し、オブジェクト分類器ニューラルネットワークシステム134によって提供される分類180に基づいて、他のオブジェクトの周りをどのように操縦するかを判定することができる。
【0036】
ユーザインターフェースサブシステム138は、オブジェクト分類180を受信し、分類180に基づいて、オブジェクトを説明するラベルまたは他の視覚的インジケータで近くのオブジェクトの場所を提示するグラフィカルユーザインターフェースを生成することができる。次いで、搭載ディスプレイデバイスは、車両122の運転者または乗員によるビューのためのユーザインターフェースプレゼンテーションを表示することができる。
【0037】
オブジェクト分類器ニューラルネットワークシステム134は、センサデータ155を使用してトレーニングデータ127を生成することもできる。搭載システム130は、例えば、それが生成されるときはいつでも継続的に、オフラインバッチまたはオンライン方式で、トレーニングシステム110にトレーニングデータ127を提供することができる。搭載システム130は、センサデータ155のセットを特徴付けるトレーニングデータ127のトレーニング例を生成することができる。次に、各トレーニング例は、センサデータの各セット115の対象であるオブジェクトのタイプを表すオブジェクト分類でラベル付けすることができる。代替的に、搭載システム130は、搭載システム130によって分類を判定することができるオブジェクトから、トレーニングデータ127の分類を自動的に生成することができる。
【0038】
トレーニングシステム110は、通常、1つ以上の場所に数百または数千のコンピュータを有する分散型コンピューティングシステムであり得るデータセンタ112内でホストされる。オブジェクト分類器ニューラルネットワークをトレーニングするための操作に関する追加の詳細は、
図7に関して説明される。
【0039】
トレーニングシステム110は、センサデータからオブジェクト分類予測を作成するように設計されたニューラルネットワークの各則の操作を実施することができるトレーニングニューラルネットワークサブシステム114を含む。トレーニングニューラルネットワークサブシステム114は、ニューラルネットワークのアーキテクチャに従ってニューラルネットワークの各層のそれぞれの操作を実施する、ソフトウェアまたはハードウェアモジュールを有する複数のコンピューティングデバイスを含む。概して、トレーニングニューラルネットワークサブシステム114は、オブジェクト分類器ニューラルネットワークシステム134と同じアーキテクチャを有する。しかしながら、トレーニングシステム110は、各層の操作を演算するために同じハードウェアを使用する必要はない。換言すれば、トレーニングシステム110は、CPUのみ、高度に並列化されたハードウェア、またはこれらのいくつかの組み合わせを使用することができる。簡単にするために、本明細書では、トレーニング中に操作を実行するオブジェクト分類器ニューラルネットワークシステムに言及する場合があるが、これは必ずしも同一のコンピュータまたはハードウェアがトレーニングと推論に使用されることを意味するわけではない。
【0040】
トレーニングニューラルネットワークサブシステム114は、モデルパラメータ値の集合170に格納された現在のパラメータ値115を使用して、トレーニングニューラルネットワーク114(または、オブジェクト分類器ニューラルネットワークシステム134)の各層の操作を演算することができる。論理的に分離されているように図示されているが、モデルパラメータ値170および操作を実行するソフトウェアもしくはハードウェアモジュールは、実際には同じコンピューティングデバイス上か、または同じメモリデバイス上に配置されている。
【0041】
トレーニングニューラルネットワークサブシステム114は、トレーニング例123ごとに、予測オブジェクト分類135を生成することができる。トレーニングエンジン116は、オブジェクト分類135を分析し、オブジェクト分類をトレーニング例123のラベルと比較する。次いで、トレーニングエンジン116は、適切な更新技術、例えば、誤差逆伝播法付き確率的勾配降下法を用いることにより、更新されたモデルパラメータ値145を生成する。次いで、トレーニングエンジン116は、更新されたモデルパラメータ値145を使用して、モデルパラメータ値の集合体170を更新することができる。
【0042】
トレーニングが完了した後、トレーニングシステム110は、オブジェクト分類器ニューラルネットワークシステム134でオブジェクト分類180を作る際に使用するために、モデルパラメータ値の最終セット171を搭載システム130に提供することができる。例えば、トレーニングシステム110は、搭載システム130への有線または無線接続によってモデルパラメータ値の最終セット171を提供することができる。
【0043】
図2は、自律型車両202の環境200の例の図である。自律型車両のセンサは、環境200を絶えずスキャンし、車両202がナビゲートすべき環境200内の物体または障害物に関する情報を含む、車両202の運転決定を通知するために使用できる測定値を収集することができる。説明のために、自律型車両202を中心として、環境200の一部分に外接する境界204が示されている。境界204は、車両202の感知領域を表す。いくつかの実装形態では、感知領域の範囲は、車両202上のセンサの範囲によって制限される。感知領域(例えば、境界204によって囲まれる領域)内の物体は、車両202の近くまたは近くにあると言ってもよい。例えば、いくつかのオブジェクト206a~jが、車両202の周りの様々な場所に示される。本明細書に開示される技術により、自律型車両(例えば、車両202)のシステムが、車両の近くの環境に位置する様々な物体を検出および分類することを可能にすることができる。
【0044】
図3は、オブジェクト分類のシステムの例の図である。検出された関心のあるオブジェクトのオブジェクト分類324を生成するように構成されたオブジェクト分類器ニューラルネットワークシステム302が示されている。オブジェクト分類器ニューラルネットワーク302は、例えば、オブジェクト分類器ニューラルネットワークシステム134(
図1)として、自律型車両に実装することができる。これらの実装形態では、オブジェクト分類器ニューラルネットワーク302は、例えば、歩行者、車両、道路標識、または別のタイプのオブジェクトであるかどうかを示す、車両の近傍のオブジェクトの分類を判定することができる。次に、車両は、少なくとも部分的にオブジェクト分類に基づいて運転決定を下すことができる。例えば、車両は、環境内の他のオブジェクトに対してどれだけ近くにもしくは遠くに移動するかを判定するか、または各オブジェクトのタイプもしくは分類に部分的に基づいてオブジェクトの移動を予測することができる。
【0045】
図3に示されるニューラルネットワーク(例えば、オブジェクト分類器ニューラルネットワーク302、コンテキスト埋め込みニューラルネットワーク308、および補助ニューラルネットワーク310)は各々に、例えば、
図2に示すようなアーキテクチャに応じたニューラルネットワークの様々な層のそれぞれの操作を実行する、ソフトウェアおよび/またはハードウェアモジュールを有する1つ以上のコンピューティングデバイスを含むことができる。場合によっては、1つ以上のネットワークを共通のハードウェアに実装できる。さらに、オブジェクト分類器ニューラルネットワーク302は、ネットワーク302の異なる層のセットを表す様々なサブネットワークまたは部分を含む。異なるサブネットワーク、またはニューラルネットワークの一部分は、入力を処理して、他のサブネットワークまたはシステムの一部分とは独立して出力を生成することができる。例えば、以下の段落でさらに説明されるように、異なるチャネルエンコーダ310a~nは、他のエンコーダ310a~nから独立して、かつ、分類器部分312から独立して動作することができる。さらに、ニューラルネットワーク302および310は、純粋にフィードフォワードネットワークであり得るか、またはシステム200の1つ以上の部分内に回帰的なおよび/または畳み込み的な態様を含み得る。コンテキスト埋め込みニューラルネットワーク308は、畳み込みニューラルネットワークであり得るか、または少なくとも畳み込み層を含み得る。
【0046】
図3のシステムは、1つ以上の対応するセンササブシステム304a~nからのセンサデータ314a~nの1つ以上のチャネルを処理することによって、関心のあるオブジェクトのオブジェクト分類324を生成するように構成される。自律型車両の場合、センササブシステム304a~nは、例えば、車両を取り囲む環境の測定値を表す信号を連続的に処理するLIDAR、RADAR、カメラ、および超音波センササブシステムを含み得る。各センササブシステム304a~nは、概して、車両環境の異なるアスペクトを監視するように構成される。例えば、異なるサブシステム304a~nを提供して、異なるタイプの測定値(例えば、画像およびLIDARデータ)を取得することができ、異なるサブシステム304a~nを提供して、環境の異なる部分(例えば、長距離対短部隊のLIDARまたは異なる視野を持つカメラ)の測定値を取得することもできる。
【0047】
一例では、各センササブシステム304a~nは、異なるタイプのセンサ(例えば、LIDAR、RADAR、カメラ、超音波センサ)に対応し、様々なセンサデータチャネル314a~nは、異なるタイプのセンサからの環境のセンサデータ測定値を提供する。したがって、センササブシステム304aは、環境のレーザ測定値を表すLIDARデータである第1のチャネルセンサデータ314aを備えたLIDARシステムであってもよく、一方、センササブシステム304bは、カメラシステムによってキャプチャされた1つ以上の画像を表す画像データである第2のチャネルセンサデータ314bを有するカメラシステムであってもよい。他の例では、センササブシステム304a~nの少なくともいくつかは、同じタイプのセンサを備えているが、サブシステムは、それらのそれぞれのカバレッジ領域などの他の点で異なる。
【0048】
センササブシステムインターフェースおよび前処理サブシステム306(または「インターフェース306」)は、センササブシステムとニューラルネットワーク302、308、および310との間のインターフェースとして構成される。インターフェース310は、センササブシステム304a~nからセンサデータ314a~nの様々なチャネルを受信し、センサデータに基づいて、対応するセンサチャネルのオブジェクトパッチを表す第1のニューラルネットワーク入力316a~nと、自律型車両の環境の広視野表現318に対する第2のニューラルネットワーク入力を生成する。第1のニューラルネットワーク入力316a~nによって表されるオブジェクトパッチは、車両環境内の特定のオブジェクト、すなわち、システムがオブジェクト分類器ニューラルネットワーク302による分類の対象として選択した関心のあるオブジェクトのセンサ測定値を記述する。インターフェース306、または別のサブシステムは、例えば、関心のあるオブジェクトに対する測定値を抽出し、センサデータ314a~nで表される環境の他の部分の測定値からそれらをトリミングまたは分離することによって、関心のあるオブジェクトのオブジェクトパッチを生成することができる。したがって、パッチは、環境の他の部分を除外するために、対象のオブジェクトに実質的に焦点を合わせている。ニューラルネットワーク入力316a~nは、各センサチャネルに対するパッチを表す、例えば、ベクトル、行列、または量子化された浮動小数点の高次テンソルなどの数値の順序付き集合など、オブジェクト分類器ニューラルネットワーク302による処理に好適な方法でフォーマットされている。関心のあるオブジェクトのセンサパッチの例に関する追加の詳細は、
図4に関して説明される。第1のニューラルネットワーク入力によって表される各オブジェクトパッチは、同一のオブジェクトに焦点を合わせているが、異なる視点または異なるセンサタイプからのものである。例えば、オブジェクトパッチの第1のペアは同じLIDARセンササブシステムからのデータに基づいて生成され得るが、異なる視点からの点群データの投影を表し得、オブジェクトパッチの2番目のペアは異なるセンサからのデータに基づいて生成され得る。
【0049】
広視野表現318は、センサパッチよりも車両の環境のより広い領域を表す第2のニューラルネットワーク入力である。広視野表現318は、センササブシステム304a~nによって測定され、センサデータ314a~nの様々なチャネルによって示される、環境の全領域の測定を記述することができる。あるいは、広視野表現318は、車両を取り囲む感知領域の全範囲未満の測定値を記述することができるが、いずれにせよ、広視野表現318は、第1のニューラルネットワーク入力316a~n内のオブジェクトパッチによって表される部分よりも大きな環境の部分を包含する。例えば、広視野表現318は、関心のあるオブジェクトだけでなく、オブジェクトパッチに含まれていない追加のオブジェクト、背景、または環境の他の領域の測定値を表すことができる。この意味で、広視野表現318は、入力316a~nのオブジェクトパッチよりも環境の広い視野を有しており、したがって、広視野表現318は、パッチ自体よりも関心のあるオブジェクトを取り囲む環境についての追加のコンテキストを提供することができる。広視野表現318のための第2のニューラルネットワーク入力は、例えば、ベクトル、行列、浮動小数点の高次テンソル、または量子化浮動小数点値などの数値の順序付き集合など、コンテキスト埋め込みニューラルネットワーク308による処理に好適な方法でフォーマットすることができる。
図5を参照して、環境の広視野表現の例に関する追加の詳細を説明する。場合によっては、関心のあるオブジェクトに対応する広視野表現318によって表される環境の量は、比較的少量であり、例えば、広視野表現318によって包含される環境の全体の面積の50、35、25、15、10、または5パーセント未満である。
【0050】
コンテキスト埋め込みニューラルネットワーク308は、環境の広視野表現318に対する第2のニューラルネットワーク入力を処理してコンテキストマップ(
図2には示されていない)を生成するように構成される。コンテキストマップは、環境の広視野表現318に基づいて自律型車両の環境の特徴を特徴付ける埋め込みまたはデータ構造である。いくつかの実装形態では、コンテキストマップは、特徴ベクトルの集合を含み、各特徴ベクトルは車両環境の異なる領域に対応する(例えば、
図5に示される4×5グリッド内のセルのコレクションによって表される領域)。コンテキスト埋め込みニューラルネットワーク308の畳み込みアーキテクチャとそれがトレーニングされる方法(
図7に関してさらに説明)の結果として、所与の領域の特徴ベクトルは、その領域だけでなく、広視野表現318によって包含される環境のすべてのまたは他のいくつかの領域について記述する。したがって、所与の領域の特徴ベクトルは、特徴ベクトルに対応する特定の領域の範囲を超えた車両の環境に関するコンテキストを提供する。コンテキストマップおよび個々の特徴ベクトルは、例えば、ベクトルまたは行列または浮動小数点の高次テンソルまたは量子化浮動小数点値などの数値の順序付き集合として表すことができる。いくつかの実装形態では、コンテキスト埋め込みニューラルネットワーク308によって生成されたコンテキストマップは、車両の環境内の1つ以上のオブジェクトを分類する際に再利用するためにシステムのメモリに格納される。
【0051】
オブジェクト分類器ニューラルネットワーク302は、関心のあるオブジェクトのパッチ316a~nの第1のニューラルネットワーク入力およびコンテキストマップからの対応する特徴ベクトル322を処理して、オブジェクト分類324を生成するように構成される。いくつかの実装形態では、チャネルエンコーダ310a~nは各々、エンコーダに対応するセンサチャネルに対する第1のニューラルネットワーク入力の異なるものを処理する。例えば、LIDARデータから導出された第1のパッチは、第1のチャネルエンコーダによって処理され得て、カメラ画像から導出された第2のパッチは、チャネルエンコーダによって処理され得る。チャネルエンコーダ310a~nは、互いに実質的に独立して、第1のニューラルネットワーク入力316a~nによって表されるパッチを処理して、パッチの代替の(エンコードされた)表現230a~nを生成することができる。代替表現230a~nは、他のパッチからの特徴および特徴ベクトル322と組み合わせて使用してオブジェクト分類324を生成することができる各パッチの特徴を表す。代替表現230a~nは、例えば、浮動小数点または量子化された浮動小数点値のベクトルまたは行列などの、数値の順序付き集合であり得る。
【0052】
オブジェクト分類器ニューラルネットワーク302の分類器部分312は、関心のあるオブジェクトのパッチに対する代替表現230a~nおよびコンテキストマップからの特徴ベクトル322処理して、オブジェクト分類324を生成するように構成される。分類器部分312は、入力230a~nおよび322を変換してオブジェクト分類324を生成する、複数の操作層を含むことができる。いくつかの実装形態では、分類器部分312は、第1のニューラルネットワーク入力316a~nならびに特徴ベクトル322に基づいたデータを組み合わせる、ネットワーク302の第1の部分である。予測されたオブジェクト分類324は、単一の分類(例えば、車両、歩行者、サイクリスト、道路標識、もしくは動物などの可能な分類のセットからの最も可能性の高い分類の表示)として、分類の分布(例えば、可能な分類ごとの信頼度または確率スコア)として、または他の任意の適切な表現として表示され得る。
【0053】
分類器部分312によって処理された特徴ベクトル322は、コンテキスト埋め込みニューラルネットワーク308によって生成されたコンテキストマップ内の特徴ベクトルのセットから選択することができる。システムは、環境内の関心のあるオブジェクトの場所、すなわち、第1のニューラルネットワーク入力316a~n内のオブジェクトパッチによって表されるオブジェクトの場所に基づいて、特徴ベクトル322を選択する。いくつかの実装形態では、システム(例えば、インターフェース308)は、関心のあるオブジェクトが位置する環境の領域に対応する特徴ベクトル322を選択する。関心のあるオブジェクトが複数の領域にまたがる場合、システムは、オブジェクトの最大部分が位置する環境の領域に対応する特徴ベクトル322を選択することができる。特徴ベクトル322は、関心のあるオブジェクトが位置する領域の範囲を超えた環境についての追加のコンテキストを提供するので、分類器部分312は、概して、このコンテキストを活用してトレーニングして、より正確なオブジェクト分類324を生成することができる。
【0054】
例えば、関心のあるオブジェクトはスクールバスである可能性があるが、センサデータが取得されたときの条件により、スクールバスのオブジェクトパッチは、それを他のタイプの車両と区別するスクールバスの特徴の一部分を明確に示していない。追加のコンテキストがない場合、オブジェクト分類器ニューラルネットワーク302は、オブジェクトが別のタイプの車両ではなくスクールバスであることを確実に予測するには疑念が残る可能性がある。しかしながら、環境の他の領域に示される関心のあるオブジェクトの近傍の子供などの特徴は、特徴ベクトル322に反映され得て、したがって、オブジェクトをスクールバスとして分類すべきであることを示す傾向がある分類器部分312へ追加の信号を提供する。
【0055】
図2に示されるように、システムは、補助ニューラルネットワーク310をさらに含むことができる。補助ニューラルネットワーク310は、コンテキスト埋め込みニューラルネットワーク308の最後の層に続く追加の操作の層を提供しており、関心のあるオブジェクトの場所に対応する環境の領域に対する同じ特徴ベクトル322を処理して、1つ以上の補助予測326を生成するように構成される。補助予測326は、特徴ベクトル322の対応する領域の外側、および任意選択的に特徴ベクトル322の対応する領域を含む車両環境、すなわち、関心のあるオブジェクトが位置する領域の外側(および第1のニューラルネットワーク入力316a~nによって表されるオブジェクトパッチが包含する領域の外側)の属性および特徴に関連することができる。例えば、1つの補助予測326は、広視野表現318に包含される、環境内、または環境の各領域内に位置する道路標識(または他のタイプのオブジェクト)の総数の予測であり得る。他の補助予測326は、コンテキストマップ内の様々な特徴ベクトルに対応する環境の全体または各領域に位置する、例えば、遮蔽オブジェクトの数、歩行者の人数、車両の数、または他のタイプのオブジェクトの数に関連してもよい。いくつかの実装形態では、補助予測326は、あるタイプのオブジェクトが領域内に位置するかどうか(例えば、領域内に車両が位置するかどうか、または、領域内に歩行者が位置するかどうか)に関連してもよいし、領域内に位置する各オブジェクトの属性(例えば、速度、オブジェクトの方向)に関連してもよいし、および/または、渋滞があるかどうか、領域内に横断歩道がないところを横切る歩行者がいるかどうか、領域内に異常な動作をしている車両があるかどうか、および/または、領域内に工事中の建設物があるかどうかなどの、領域に対する高レベルのセマンティックに関連してもよい。いくつかの実装形態では、補助ニューラルネットワーク310は、オブジェクト分類器ニューラルネットワーク302およびコンテキスト埋め込みニューラルネットワーク308をトレーニングする目的でのみ使用されるが、推論フェーズでは使用されない。システムが自律型車両に搭載されている場合、補助予測326は使用できない可能性があるが、補助予測326に基づく損失は、補助予測が、関心領域(すなわち、関心のあるオブジェクトが位置する領域)の外側の環境の特徴を表す特徴ベクトルを生成することをトレーニングするように、コンテキスト埋め込みニューラルネットワーク308に強制することができる。オブジェクト分類器ニューラルネットワーク302およびコンテキスト埋め込みニューラルネットワーク308のトレーニングに関する追加の詳細は、
図7に関して説明されている。
【0056】
図4は、関心のあるオブジェクト、特にこの例では自動車(白いセダン)、および車両のカメラ画像440に対する一連のパッチ例410~430を示している。パッチ410~430は、LIDARセンササブシステムからの測定に基づいた点群データからトリミングまたは抽出されており、各パッチは異なる視点からセダンを示している。「パッチ」は、概して、特定のオブジェクト、例えば、オブジェクト分類ニューラルネットワークで分類されるオブジェクトに焦点を合わせるセンサデータの一部分を指す。パッチは、すべての背景もしくは特定のオブジェクトを囲む他のオブジェクトをビューから削除することで、特定のオブジェクトへしっかりと焦点を合わせることができるか、または、パッチのオブジェクトへ焦点を合わせる精度が低くなる可能性がある。場合によっては、オブジェクトに厳密に焦点を合わせていなくてもなお、オブジェクトがパッチの視野のかなりの部分(例えば、視野の少なくとも50パーセント、65パーセント、75パーセント、または90パーセント)を占める。例えば、インターフェースおよびプリプロセッササブシステムは、車両の感知範囲内の環境の一部分についてセンサデータを取得し、車両の近くの関心のある物体を検出し、物体の周りの境界ボックス(例えば、長方形のボックス)を判定し、および、境界ボックスのコンテンツを抽出して、関心のあるオブジェクトのパッチを形成する可能性がある。境界ボックスは、関心のあるオブジェクトの周囲にしっかりと描かれることがあるが、例えば処理の制限などにより、他のオブジェクトや背景がパッチから完全にトリミングされない場合もある。
【0057】
いくつかの実装形態では、搭載センササブシステムまたは別のシステム、例えば、センササブシステムインターフェースおよびプリプロセッサ306は、点群データの投影を生成することができる。第1のタイプの投影は、パッチ410に示されるようなトップダウン投影である。トップダウン投影は、車両自体の上方の場所からの車両を取り囲む領域上への点群データの投影である。したがって、トップダウン投影の投影面は、車両が位置する面に対して実質的に平行である。パッチ420および420は、一対の透視投影420および430を示している。透視投影は、点群データを車両の前、後ろ、または横の平面に投影したものである。投影420は、投影面が白い車の左後部に位置する透視投影である。投影430は、投影面が白い車の右後部に位置する透視投影である。この投影法では、電磁反射の強度は通常、車の後方で最も大きくなる。これは、点群データ内の点群の強度に反映されるであろう情報である。
【0058】
システムは、各投影をデータの行列として表すことができ、行列の各要素は投影平面上の場所に対応する。行列の各要素は、ポイントのセンサ測定の強度を表す、それぞれの値を持つことができる。システムは、画像フォーマットの画像データで各投影を表し得るが、そうである必要はない。いくつかの実装形態では、システムは様々なピクセルカラーチャネルを使用して、点群データの様々なアスペクトを表示する。例えば、システムはRGBカラー値を使用して、点群データの投影における各ポイントの強度、範囲、および高度をそれぞれに表すことができる。
【0059】
図5は、車両、例えば、自律型車両122または202の環境の広視野表現500の例を示している。この例の広視野表現500は、トップダウンの視点の環境を示している。ホスト車両(例えば、自律型車両122または202)は、この図には示されていないが、表現500が車両を取り囲むすべての方向の環境についての情報をキャプチャする場合、概して視野の中心に位置し得る。広視野表現500は、車両の感知範囲内の環境全体を包含することができ、または車両の感知範囲内の環境の一部のみを包含することができる。いくつかの実装形態では、広視野表現500は、LIDAR測定に基づく点群のトップダウン投影である。いくつかの実装形態では、広視野表現500は、環境の一部のカメラ画像である。広視野表現500はまた、異なるセンササブシステムからのデータを表す多数のチャネルを含むことができ、またはデータの複数のチャネルの複合物であり得る。システムはまた、広視野表現500内に仮想境界(内側の破線で表される)を組み付けて、広視野表現500を複数の領域にセグメント化することができる。例えば、
図5は、端から端までが4行5列の20個の領域のグリッドを示している。次に、環境内の様々なオブジェクト206a~jは、1つ以上の領域に属するものとして分類することができる。例えば、2人の人206bおよび206iは、行2、列4の領域に位置し、車両206aは、行1、列4の領域に位置する大部分および、行1、列3の領域に位置する小部分を有する。広視野表現500を処理して関心のあるオブジェクトを分類するためのコンテキストを提供する場合、特徴ベクトルが各領域に対して生成され得る。特に、
図5はトップダウンの視点から環境を示しているが、いくつかの実装形態では、LIDAR点群および/またはカメラ画像の透視投影など、他の視点を使用できる。
【0060】
図6は、自律型車両の近くに位置する関心のあるオブジェクトを分類するためのプロセス600の例のフローチャートである。プロセス600は、搭載システム130および
図3に示されるニューラルネットワークシステムを含む、本明細書に記載されるシステムを使用して実行することができる。
【0061】
ステージ602において、車両のセンササブシステム、例えば、センササブシステム304a~nは、車両環境の掃引きを実行する。掃引き中、センササブシステムは様々な科学技術を使用して、環境に関する情報を測定および検出する。例えば、1つ以上のLIDARサブシステムは、電磁放射を放出し、車両からの物体の距離に応じて変化する放出された放射の反射の属性に基づいて、環境内の物体の場所を判定し得る。1つ以上のカメラサブシステムが環境の画像をキャプチャする場合がある。センササブシステムは、それらの測定値を、センサデータとして、センササブシステムインターフェースおよびプリプロセッサ、例えばインターフェース306に提供することができる。
【0062】
センササブシステムによって取得されたセンサデータは、車両の事前定義された距離(例えば、感知範囲)内の複数のオブジェクトの表示を含み得る。ステージ604において、システム(例えば、インターフェース306)は、分類される関心のあるオブジェクトとして1つを選択する。関心のあるオブジェクトは、センサデータ内のオブジェクトの卓越性、車両へのオブジェクトの近接性、もしくは、これらおよび/または他の要因の組み合わせなどの、任意の好適な基準を使用して選択することができる。ステージ606において、システム(例えば、インターフェース306)は、選択された関心のあるオブジェクトに焦点を合わせたセンサデータの様々なチャネルからパッチを生成し、オブジェクトのパッチを表す第1のニューラルネットワーク入力をフォーマットする。ステージ608において、システム(例えば、インターフェース306)は、車両の環境の広視野表現を生成する。広視野表現は、関心のあるオブジェクトのパッチよりも広いエリアを包含する。例えば、広視野表現は、関心のあるオブジェクトと、関心のあるオブジェクトのパッチに描かれていない環境の他のオブジェクトまたはエリアと、の両方を包含し得る。
【0063】
ステージ610において、コンテキスト埋め込みニューラルネットワーク(例えば、ネットワーク308)は、環境の広視野表現を処理して、コンテキストマップを生成する。コンテキストマップは、特徴ベクトルの集合を含む。各特徴ベクトルは、広視野表現に包含される環境の様々な領域に対応している。畳み込み層を使用して、コンテキスト埋め込みニューラルネットワークはコンテキストマップに特徴ベクトルを生成し、それによって、各特徴ベクトルが、特徴ベクトルが対応する特定の領域の範囲を超えた環境の広視野表現のすべてまたは一部の領域の特徴を反映する。例えば、環境の左上領域の特徴ベクトルは、左上領域の特徴だけでなく、または代替的に、環境の他の領域の特徴にも依存し得る。
【0064】
ステージ612において、システム(例えば、インターフェース306)は、関心のあるオブジェクトに対応する特徴ベクトルを選択する。選択された特徴ベクトルは、例えば、関心のあるオブジェクトが環境内に位置する領域に対応するコンテキストマップからの特徴ベクトルであり得る。場合によっては、関心のあるオブジェクトが複数の領域にまたがることもあり得る。これが発生した場合、システムは、関心のあるオブジェクトの主要部分が位置している領域、または関心のあるオブジェクトの中心が位置している領域に対応する特徴ベクトルを選択することができる。場合によっては、システムは、ただ1つの特徴ベクトルを選択するのではなく、関心のあるオブジェクトの一部が位置する各領域に対応する特徴ベクトルのすべてまたは一部を組み合わせることができる。例えば、システムは、特徴ベクトルの加重平均を生成することができる。
【0065】
ステージ614において、オブジェクト分類器ニューラルネットワークが、関心のあるオブジェクトのセンサ測定値を説明するパッチに対する第1のニューラルネットワーク入力を処理し、さらに、選択された特徴ベクトルを処理して、オブジェクトに対する分類を生成する。予測されたオブジェクト分類は、単一の分類(例えば、車両、歩行者、サイクリスト、道路標識、もしく動物などの可能な分類のセットからの最も可能性の高い分類の表示)として、分類の分布(例えば、可能な分類ごとの信頼度または確率スコア)として、または他の任意の適切な表現で表すことができる。
【0066】
ステージ616において、オブジェクト分類が車両の自律操作のための計画および制御決定を行う自律型車両上の他のシステムが利用可能になるか、または提供される。例えば、オブジェクト分類は、車両の動きを計画する計画システムに提供される可能性があり、計画システムは、オブジェクト分類を使用して、オブジェクトに対して車両がどのように動くべきかを通知することができる。例えば、車両は、他のオブジェクトよりもいくつかのタイプのオブジェクトに近づいて操縦し、特定のタイプのオブジェクトに対して異なる速度で移動することができる。計画システムは、例えば、何らかの他のタイプの車両(例えば、緊急車両)に譲るが、何らかの他のものには譲らないように車両に対して指示するようにプログラムすることができる。その後、制御システムは、ステアリング、ブレーキ、および/または加速を使用して計画を実行し、計画通りに車両を運転することができる。
【0067】
いくつかの実装形態では、本明細書に開示されるオブジェクト分類技術は、環境内のオブジェクトのセットに対するオブジェクト分類を生成する際にコンテキストデータを効率的に利用する。自律型車両の近くの環境に2つ以上のオブジェクトが位置する場合、システムは、各オブジェクトに関するコンテキストマップを再生成する必要なく、各オブジェクトを繰り返しまたは並列に分類することができる。代わりに、分類されるすべてのオブジェクトを包含する単一のコンテキストマップを、コンテキスト埋め込みニューラルネットワークを介した1回のパスで生成することができ、各単一のコンテキストマップからの特徴ベクトルを使用して各オブジェクトを分類することができる。環境の様々な領域に位置するオブジェクトの場合は、対応する様々な特徴ベクトルを選択することができる。例えば、ステージ618において、システム(例えば、インターフェース306)は、次の関心のあるオブジェクトを選択することができて、その次に選択されたオブジェクトに対応するパッチのニューラルネットワーク入力を選択することができる。プロセス600は、コンテキストマップを再生成する必要なしにステージ612に戻ることができ、さらなる分類されるオブジェクトがなくなるまで、ステージ612~618を繰り返す。
【0068】
図7は、オブジェクト分類器ニューラルネットワーク(例えば、ネットワーク302)およびコンテキスト埋め込みニューラルネットワーク(例えば、ネットワーク308)をトレーニングするためのプロセス700の例のフローチャートを示している。いくつかの実装形態では、プロセス700は、トレーニングシステム、例えば、トレーニングシステム110(
図1)によって実行することができる。プロセス700は、オブジェクト分類器ニューラルネットワークおよびコンテキスト埋め込みニューラルネットワークを共同でトレーニングするためのアプローチを説明している。ただし、他の実装形態では、オブジェクト分類器ニューラルネットワークとコンテキスト埋め込みニューラルネットワークは別々にトレーニングされる。
【0069】
システムは、多くのトレーニング例を含むトレーニングデータを生成または取得することができる(702)。各トレーニング例は、特定の関心のあるオブジェクトに焦点を合わせたパッチに対するニューラルネットワーク入力である、1つ以上のパッチコンポーネントと、関心のあるオブジェクトおよび環境の追加領域を包含する車両の環境の広視野表現に対するニューラルネットワーク入力である、広視野コンポーネントと、オブジェクトに対する真のまたは対象の分類を表すラベルである、対象オブジェクト分類、および、関心のあるオブジェクトが位置する領域の外側の領域を含む環境内の、環境または領域に対する真のまたは対象の補助予測を表すラベルである(例えば、各領域内の様々なオブジェクトのタイプの数)である、1つ以上の補助予測を含む。一部のトレーニング例は、同じ広視野表現ではあるが、その広視野表現に包含される環境とは異なる関心のあるオブジェクトを含む可能性がある。そのトレーニング例は、人間が手動でラベル付けされ得るか、以前にトレーニングしたバージョンの異議分類器システムを使用してラベル付けされ得るか、またはその両方であり得る。
【0070】
所与の反復トレーニングについて、トレーニングシステムは、トレーニング例を選択し、コンテキスト埋め込みニューラルネットワークで、ネットワークのパラメータの現在の値(例えば、ネットワーク内のパーセプトロンの重みおよびバイアス)に従って、広視野コンポーネントを処理して、広視野コンポーネントが包含する環境の異なる領域に対応する特徴ベクトルの集合を有するコンテキストマップを生成する(ステージ704)。トレーニングシステムは、コンテキストマップから、パッチコンポーネントに対応する特徴ベクトル、例えば、パッチで表される関心のあるオブジェクトが位置している領域に対応する特徴ベクトルを選択する。選択された特徴ベクトルは、補助ニューラルネットワーク、例えば、ネットワーク310で、ネットワークのパラメータの現在の値に従って処理されて、環境に関する補助予測を生成する(ステージ706)。さらに、オブジェクト分類器ニューラルネットワークは、ネットワークのパラメータの現在の値に従って、トレーニング例のパッチコンポーネントと選択された特徴ベクトルを処理して、オブジェクトパッチで表される関心のあるオブジェクトに対する予測オブジェクト分類を生成する(ステージ708)。トレーニングシステムは、対象オブジェクト分類と予測オブジェクト分類の間、および対象補助予測と予測補助予測の間の両方の損失を判定することができる(ステージ710)。次に、トレーニングシステムは、損失に基づいて、オブジェクト分類ニューラルネットワークと、コンテキスト埋め込みニューラルネットワークおよび、補助ニューラルネットワークのパラメータの値を調整することができる。例えば、パラメータの値は、逆伝播法を使用した確率的勾配降下法によって更新することができる。オブジェクト分類器ニューラルネットワークは、オブジェクト分類損失(つまり、予測されたオブジェクト分類と対象オブジェクト分類の差に基づく損失)に基づいて更新することができ、補助ニューラルネットワークは、補助予測損失(つまり、予測された補助予測と対象補助予測の差に基づく損失)に基づいて更新することができ、コンテキスト埋め込みニューラルネットワークは、補助予測損失とオブジェクト分類損失との両方に基づいて更新することができる。ステージ704および712は、トレーニング終了条件が発生するまで反復プロセスでネットワークをトレーニングするために、異なるトレーニング例について繰り返される場合がある。
【0071】
いくつかの実装形態では、コンテキスト埋め込みニューラルネットワークとオブジェクト分類ニューラルネットワークは別々にトレーニングを受ける。例えば、コンテキスト埋め込みニューラルネットワークは、広視野表現トレーニングの例を処理して補助予測を生成することにより、初めに補助ニューラルネットワークと一緒にトレーニングすることができる。コンテキスト埋め込みニューラルネットワークと補助ニューラルネットワークのパラメータの値は、補助予測損失に基づいて更新することができる。次に、オブジェクト分類ニューラルネットワークは、トレーニングされたコンテキスト埋め込みニューラルネットワークによって生成されたパッチコンポーネントおよび特徴ベクトルを含むトレーニング例を使用してトレーニングすることができる。コンテキスト埋め込みニューラルネットワークのパラメータの値は、オブジェクト分類ニューラルネットワークを個別にトレーニングしながら固定することができる。
【0072】
本明細書に記載の主題および機能的動作の実施形態は、デジタル電子回路内に、有形的に具現化されたコンピュータソフトウェアもしくはファームウェア内に、本明細書に開示された構造体およびそれらの構造上の等価物を含むコンピュータハードウェア内に、またはそれらのうちの1つ以上を組み合わせて、実装することができる。
【0073】
本明細書に記載の主題の実施形態は、1つ以上のコンピュータプログラムとして、すなわち、データ処理装置によって実行するために、またはデータ処理装置の操作を制御するために有形の非一時的記憶媒体に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実装することができる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムまたはシリアルアクセスメモリデバイス、またはそれらの1つ以上の組み合わせであり得る。代替的に、またはさらに、プログラム命令は、人工的に生成された伝播信号、例えば、データ処理装置によって実行するために好適な受信装置に送信される情報を符号化するために生成される機械生成の電気、光、または電磁信号に符号化され得る。
【0074】
「データ処理装置」という用語は、データ処理ハードウェアを指し、データを処理するためのあらゆる種類の装置、デバイス、および機械を包含し、それらには、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータが含まれる。装置はまた、例えば、GPUまたは別の種類の専用処理サブシステムなどの、既製もしくはカスタムメイドの並列処理サブシステムであってもよく、またはそれらをさらに含んでいてもよい。装置はまた、例えば、FPGA(フィールドプログラマブルゲートアレイ)もしくはASIC(特定用途向け集積回路)などの専用論理回路であってもよく、またはそれをさらに含んでいてもよい。装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つ以上の組み合わせを構成するコードを任意選択的に含むことができる。
【0075】
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリケーション、モジュール、ソフトウェアモジュール、スクリプト、もしくはコードとも称された、または記載されたコンピュータプログラムは、コンパイラ型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含む、任意の形式のプログラミング言語で記述することができ、かつ独立型プログラム、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境で使用するために好適な他のユニットを含む任意の形式で導入することができる。プログラムは、ファイルシステム内のファイルに対応する場合もあるが、必ずしもそうである必要はない。プログラムは、他のプログラムもしくはデータを保持するファイルの一部、例えば、マークアップ言語ドキュメントに格納された1つ以上のスクリプト、プログラム専用の単一ファイル、または複数の調整ファイル、例えば、1つ以上のモジュール、サブプログラム、もしくはコードの一部を格納するファイルに格納することができる。コンピュータプログラムは、1つのコンピュータまたは1つの場所に配置された複数のコンピュータ上で実行されるように展開するか、複数の場所に分散してデータ通信ネットワークで相互接続することができる。
【0076】
本明細書で使用される「エンジン」または「ソフトウェアエンジン」は、入力とは異なる出力を提供するソフトウェア実装の入出力システムを指す。エンジンは、ライブラリ、プラットフォーム、ソフトウェア開発キット(「SDK」)、または物体などの機能の符号化されたブロックであってもよい。各エンジンは、1つ以上のプロセッサと、コンピュータ可読媒体と、を含む、サーバ、携帯電話、タブレットコンピュータ、ノートブックコンピュータ、音楽プレーヤー、電子書籍リーダ、ラップトップもしくはデスクトップコンピュータ、PDA、スマートフォン、または他の据え置き型もしくはポータブルデバイスなど、適切なタイプのコンピューティングデバイス上に実装することができる。さらに、2つ以上のエンジンは、同じコンピューティングデバイス上で、または異なるコンピューティングデバイス上で実装することができる。
【0077】
本明細書に記載のプロセスおよび論理フローは、1つ以上のプログラマブルコンピュータが1つ以上のコンピュータプログラムを実行して、入力データ上で動作し、かつ出力を生成することで機能を果たすことによって実行することができる。プロセスおよび論理フローはまた、FPGAもしくはASICなどの専用論理回路によって、または特定用途の論理回路と1つ以上のプログラムされたコンピュータとの組み合わせによって実行することができる。
【0078】
コンピュータプログラムの実行に好適なコンピュータは、汎用もしくは専用のマイクロプロセッサあるいはその両方、または他の種類の中央処理装置に基づくことができる。概して、中央処理装置は、読み取り専用メモリもしくはランダムアクセスメモリ、またはその両方から命令およびデータを受信することになる。コンピュータの本質的な要素は、命令を遂行または実行するための中央処理装置ならびに命令およびデータを格納するための1つ以上のメモリデバイスである。中央処理装置およびメモリは、専用論理回路によって補完またはその回路に組み込むことができる。概して、コンピュータはまた、例えば、磁気、光磁気ディスク、もしくは、光ディスクなど、データを格納するための1つ以上の大容量記憶デバイスを含むか、または、それらからデータを転送するように動作可能に結合されることになる。しかしながら、コンピュータは必ずしもそのようなデバイスを有する必要はない。さらに、コンピュータは別のデバイス、例えば、ほんの数例を挙げると、携帯電話、電子手帳(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス、例えば、ユニバーサルシリアルバス(USB)フラッシュドライブなどに組み込むことができる。
【0079】
コンピュータプログラム命令およびデータを格納するのに好適なコンピュータ可読媒体は、不揮発性メモリ、媒体、およびメモリデバイスのあらゆる形態を含み、例として、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスクまたは取り外し可能なディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む。
【0080】
ユーザとの対話を提供するために、本明細書に記載の主題の実施形態は、コンピュータ上で実施することができ、コンピュータは、ユーザに情報を表示するための表示デバイス、例えば、CRT(陰極線管)もしくはLCD(液晶ディスプレイ)モニタ、ならびにキーボードおよびマウス、トラックボールなどのポインティングデバイス、またはユーザがコンピュータに入力を提供することができる存在感応ディスプレイもしくは他の表面を有する。他の種類のデバイスを使用して、ユーザとの対話を提供することもできる。例えば、ユーザに提供されるフィードバックは、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックなどの任意の形の感覚的フィードバックであり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受信することができる。さらに、コンピュータは、ユーザが使用するデバイスとの間でドキュメントを送受信することによって、例えば、ウェブブラウザから受信した要求に応答して、ユーザのデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。また、コンピュータは、テキストメッセージまたは他の形式のメッセージをスマートフォンなどのパーソナルデバイスに送信し、メッセージアプリケーションを実行し、代わりにユーザから応答メッセージを受信することにより、ユーザと対話することができる。
【0081】
本明細書は多くの特定の実装形態の詳細を含んでいるが、これらは、いずれかの発明の範囲、または請求され得る事項の範囲を限定するものとして解釈されるべきではなく、特定の発明の特定の実施形態に特有の特徴に関する説明として解釈されるべきである。別々の実施形態の局面で本明細書に記載された特定の特徴を、単一の実施形態で組み合わせて実装することもできる。逆に、単一の実施形態の文脈で本明細書に記載されている種々の特徴は、複数の実施形態で、別個に、または任意の好適なサブコンビネーションで実施することもできる。さらに、特徴は、特定の組み合わせで作用するものとして上記に説明され、当初はそのように特許請求されることがあるが、場合によっては、特許請求された組み合わせからの1つ以上の特徴が、その組み合わせから削除される可能性もあり、特許請求された組み合わせが、サブコンビネーションまたはサブコンビネーションの変形に向けられる可能性もある。
【0082】
同様に、動作が特定の順序で図面に図示されているが、これは、所望の結果を達成するために、かかる動作がその示された特定の順序、もしくは一連の順序で実行されるべきであること、または例証したすべての動作が実行されるべきであることを要求するものとして理解されるべきではない。特定の状況では、マルチタスクおよび並列処理が有利な場合がある。さらに、上述した実施形態における様々なシステムモジュールおよびコンポーネントの分離は、すべての実施形態においてかかる分離を必要とするものとして理解されるべきではなく、記載されたプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品内に共に一体化されてもよく、または複数のソフトウェア製品にパッケージ化されてもよい。
【0083】
主題の特定の実施形態を説明してきた。他の実装形態は、以下の特許請求の範囲内に存在する。例えば、特許請求の範囲に記載された動作は、異なる順序で実行されてもよく、望ましい結果を依然として達成することができる。一例として、添付の図に図示されたプロセスは、望ましい結果を達成するために、必ずしも示された特定の順序、または連続した順序を必要としない。特定の場合によっては、マルチタスクおよび並列処理が有利なことがある。
【国際調査報告】