(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-28
(45)【発行日】2023-01-12
(54)【発明の名称】開放された車両ドアを検出するための分類器のトレーニング
(51)【国際特許分類】
G06T 7/00 20170101AFI20230104BHJP
G06N 20/00 20190101ALI20230104BHJP
【FI】
G06T7/00 650Z
G06T7/00 350B
G06N20/00
(21)【出願番号】P 2021533428
(86)(22)【出願日】2019-12-23
(86)【国際出願番号】 US2019068331
(87)【国際公開番号】W WO2020132676
(87)【国際公開日】2020-06-25
【審査請求日】2021-08-06
(32)【優先日】2018-12-21
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】317015065
【氏名又は名称】ウェイモ エルエルシー
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100126480
【氏名又は名称】佐藤 睦
(72)【発明者】
【氏名】マオ,ジュンフア
(72)【発明者】
【氏名】ツイ,ロ ポ
(72)【発明者】
【氏名】リ,ツォンツォン
(72)【発明者】
【氏名】ウォーカー ジュニア,エドワード スティーブン
【審査官】伊知地 和之
(56)【参考文献】
【文献】特開2017-162436(JP,A)
【文献】米国特許出願公開第2017/0262727(US,A1)
【文献】米国特許第09987745(US,B1)
【文献】特開2012-146142(JP,A)
【文献】加藤 ジェーン 外3名,多くの画像が共有する「一般クラス」に着目した訓練画像の選択,情報処理学会 論文誌(ジャーナル) Vol.55 No.1 [online] ,日本,情報処理学会,2014年01月15日,第55巻 第1号,pp.542-552
【文献】岡谷 貴之,画像認識のための深層学習の研究動向 -畳込みニューラルネットワークとその利用法の発展-,人工知能,日本,人工知能学会,2016年03月01日,第31巻 第2号,pp.169-179
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00 - 3/12
G06N 7/08 - 99/00
G06T 7/00 - 7/90
G08G 1/00 - 99/00
CSDB(日本国特許庁)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
機械学習分類器をトレーニングする、コンピュータ実装方法であって、前記機械学習分類器が、複数の重みを有し、かつ
第1の車両を特徴付け、第2の車両の1つ以上のセンサーによってキャプチャされたセンサーデータから生成される、入力センサーサンプルを受信し、
前記入力センサーサンプルを処理して、前記第1の車両が開放ドアを有するという予測された可能性を表す開放ドアスコアを生成するように構成され、
前記方法が、
複数の初期トレーニング例を取得することであって、各初期トレーニング例が、(i)センサーサンプルのコレクションからのセンサーサンプルと、(ii)開放ドアを有する車両を特徴付けるものとして前記センサーサンプルを分類するデータと、を含む、取得することと、
複数の追加のトレーニング例を生成することであって、各初期トレーニング例について、
前記センサーサンプルのコレクションから、前記初期トレーニング例における前記センサーサンプルがキャプチャされる前の閾値時間量未満でキャプチャされた1つ以上の追加のセンサーサンプルを識別することと、
開放ドアを有する車両を特徴付けるセンサーサンプルとして各追加のセンサーサンプルを分類することと、を含む、生成することと、
前記初期トレーニング例および前記追加のトレーニング例を含む第1のトレーニングデータ上で前記機械学習分類器をトレーニングして、前記機械学習分類器の更新された重みを生成することと、を含む、方法。
【請求項2】
前記機械学習分類器を使用し、前記更新された重みに従って、さらなるトレーニング例を生成することと、
前記さらなるトレーニング例を含む第2のトレーニングデータ上で前記機械学習分類器をトレーニングして、前記機械学習分類器のさらに更新された重みを生成することと、をさらに含む、請求項1に記載の方法。
【請求項3】
前記さらなるトレーニング例を含む第2のトレーニングデータ上で前記機械学習分類器をトレーニングして、前記機械学習分類器のさらに更新された重みを生成することが、
前記第2のトレーニングデータ上で前記機械学習分類器をトレーニングして、前記機械学習分類器の前記更新された重みから始まる、前記機械学習分類器のさらに更新された重みを生成することを含む、請求項2に記載の方法。
【請求項4】
前記さらなるトレーニング例を含む第2のトレーニングデータ上で前記機械学習分類器をトレーニングして、前記機械学習分類器のさらに更新された重みを生成することが、
前記第2のトレーニングデータ上で前記機械学習分類器をトレーニングして、前記機械学習分類器の初期重みから始まる、前記機械学習分類器のさらに更新された重みを生成することを含む、請求項2に記載の方法。
【請求項5】
前記機械学習分類器を使用し、前記更新された重みに従って、さらなるトレーニング例を生成することが、
前記機械学習分類器を使用し、前記更新された重みに従って、前記センサーサンプルのコレクションからの複数の候補センサーサンプルの各々を処理して、各候補センサーサンプルのそれぞれの開放ドアスコアを生成することと、
閾値スコアを超える開放ドアスコアを有する各候補センサーサンプルを、開放ドアを備えた車両を特徴付けるセンサーサンプルとして分類することと、を含む、請求項2~4のいずれか一項に記載の方法。
【請求項6】
前記センサーサンプル
のコレクションから、前記初期トレーニング例における前記センサーサンプルがキャプチャされる前の閾値時間量未満でキャプチャされた1つ以上の追加のセンサーサンプルを識別することが、
追加のセンサーサンプルとして、(i)前記初期トレーニング例における前記センサーサンプルと同じ車両を特徴付け、(ii)前記初期トレーニング例における前記センサーサンプルがキャプチャされる前の閾値時間量未満でキャプチャされた、前記
センサーサンプルのコレクションにおける各センサーサンプルを識別することを含む、請求項1~5のいずれか一項に記載の方法。
【請求項7】
複数の初期トレーニング例を取得することが、
前記センサーサンプルのコレクションから、複数の候補初期センサーサンプルを識別することであって、前記複数の候補初期センサーサンプルが、各々、前記候補初期センサーサンプルによって特徴付けられる前記車両の本体の輪郭の外側に
閾値より多い量の測定値を含む、識別することを含む、請求項1~6のいずれか一項に記載の方法。
【請求項8】
1つ以上のコンピュータおよび命令を記憶する1つ以上の記憶デバイスを含むシステムであって、前記命令が、前記1つ以上のコンピュータによって実行されたとき、前記1つ以上のコンピュータに、機械学習分類器をトレーニングするための操作を実行させ、前記機械学習分類器が、複数の重みを有し、かつ
第1の車両を特徴付け、第2の車両の1つ以上のセンサーによってキャプチャされたセンサーデータから生成される、入力センサーサンプルを受信し、
前記入力センサーサンプルを処理して、前記第1の車両が開放ドアを有するという予測された可能性を表す開放ドアスコアを生成するように構成され、
前記操作が、
複数の初期トレーニング例を取得することであって、各初期トレーニング例が、(i)センサーサンプルのコレクションからのセンサーサンプルと、(ii)開放ドアを有する車両を特徴付けるものとして前記センサーサンプルを分類するデータと、を含む、取得することと、
複数の追加のトレーニング例を生成することであって、各初期トレーニング例について、
前記センサーサンプルのコレクションから、前記初期トレーニング例における前記センサーサンプルがキャプチャされる前の閾値時間量未満でキャプチャされた1つ以上の追加のセンサーサンプルを識別することと、
開放ドアを有する車両を特徴付けるセンサーサンプルとして各追加のセンサーサンプルを分類することと、を含む、生成することと、
前記初期トレーニング例および前記追加のトレーニング例を含む第1のトレーニングデータ上で前記機械学習分類器をトレーニングして、前記機械学習分類器の更新された重みを生成することを含む、システム。
【請求項9】
前記操作が、
前記機械学習分類器を使用し、前記更新された重みに従って、さらなるトレーニング例を生成することと、
前記さらなるトレーニング例を含む第2のトレーニングデータ上で前記機械学習分類器をトレーニングして、前記機械学習分類器のさらに更新された重みを生成することと、をさらに含む、請求項8に記載のシステム。
【請求項10】
前記さらなるトレーニング例を含む第2のトレーニングデータ上で前記機械学習分類器をトレーニングして、前記機械学習分類器のさらに更新された重みを生成することが、
前記第2のトレーニングデータ上で前記機械学習分類器をトレーニングして、前記機械学習分類器の前記更新された重みから始まる、前記機械学習分類器のさらに更新された重みを生成することを含む、請求項9に記載のシステム。
【請求項11】
前記さらなるトレーニング例を含む第2のトレーニングデータ上で前記機械学習分類器をトレーニングして、前記機械学習分類器のさらに更新された重みを生成することが、
前記第2のトレーニングデータ上で前記機械学習分類器をトレーニングして、前記機械学習分類器の初期重みから始まる、前記機械学習分類器のさらに更新された重みを生成することを含む、請求項9に記載のシステム。
【請求項12】
前記機械学習分類器を使用し、前記更新された重みに従って、さらなるトレーニング例を生成することが、
前記機械学習分類器を使用し、前記更新された重みに従って、前記センサーサンプルのコレクションからの複数の候補センサーサンプルの各々を処理して、各候補センサーサンプルのそれぞれの開放ドアスコアを生成することと、
閾値スコアを超える開放ドアスコアを有する各候補センサーサンプルを、開放ドアを備えた車両を特徴付けるセンサーサンプルとして分類することと、を含む、請求項9~11のいずれか一項に記載のシステム。
【請求項13】
前記センサーサンプル
のコレクションから、前記初期トレーニング例における前記センサーサンプルがキャプチャされる前の閾値時間量未満でキャプチャされた1つ以上の追加のセンサーサンプルを識別することが、
追加のセンサーサンプルとして、(i)前記初期トレーニング例における前記センサーサンプルと同じ車両を特徴付け、(ii)前記初期トレーニング例における前記センサーサンプルがキャプチャされる前の閾値時間量未満でキャプチャされた、前記
センサーサンプルのコレクションにおける各センサーサンプルを識別することを含む、請求項8~12のいずれか一項に記載のシステム。
【請求項14】
複数の初期トレーニング例を取得することが、
前記センサーサンプルのコレクションから、複数の候補初期センサーサンプルを識別することであって、前記複数の候補初期センサーサンプルが、各々、前記候補初期センサーサンプルによって特徴付けられる前記車両の本体の輪郭の外側に
閾値より多い量の測定値を含む、識別することを含む、請求項8~13のいずれか一項に記載のシステム。
【請求項15】
命令を記憶する1つ以上のコンピュータ可読記憶媒体であって、前記命令が、前記1つ以上のコンピュータによって実行されたとき、前記1つ以上のコンピュータに機械学習分類器をトレーニングするための操作を実行させ、前記機械学習分類器が、複数の重みを有し、かつ
第1の車両を特徴付け、第2の車両の1つ以上のセンサーによってキャプチャされたセンサーデータから生成される、入力センサーサンプルを受信し、
前記入力センサーサンプルを処理して、前記第1の車両が開放ドアを有するという予測された可能性を表す開放ドアスコアを生成するように構成され、
前記操作が、
複数の初期トレーニング例を取得することであって、各初期トレーニング例が、(i)センサーサンプルのコレクションからのセンサーサンプルと、(ii)開放ドアを有する車両を特徴付けるものとして前記センサーサンプルを分類するデータと、を含む、取得することと、
複数の追加のトレーニング例を生成することであって、各初期トレーニング例について、
前記センサーサンプルのコレクションから、前記初期トレーニング例における前記センサーサンプルがキャプチャされる前の閾値時間量未満でキャプチャされた1つ以上の追加のセンサーサンプルを識別することと、
開放ドアを有する車両を特徴付けるセンサーサンプルとして各追加のセンサーサンプルを分類することと、を含む、生成することと、
前記初期トレーニング例および前記追加のトレーニング例を含む第1のトレーニングデータ上で前記機械学習分類器をトレーニングして、前記機械学習分類器の更新された重みを生成することと、を含む、1つ以上のコンピュータ可読記憶媒体。
【請求項16】
前記操作が、
前記機械学習分類器を使用し、前記更新された重みに従って、さらなるトレーニング例を生成することと、
前記さらなるトレーニング例を含む第2のトレーニングデータ上で前記機械学習分類器をトレーニングして、前記機械学習分類器のさらに更新された重みを生成することと、をさらに含む、請求項15に記載のコンピュータ可読記憶媒体。
【請求項17】
前記さらなるトレーニング例を含む第2のトレーニングデータ上で前記機械学習分類器をトレーニングして、前記機械学習分類器のさらに更新された重みを生成することが、
前記第2のトレーニングデータ上で前記機械学習分類器をトレーニングして、前記機械学習分類器の前記更新された重みから始まる、前記機械学習分類器のさらに更新された重みを生成することを含む、請求項16に記載のコンピュータ可読記憶媒体。
【請求項18】
前記さらなるトレーニング例を含む第2のトレーニングデータ上で前記機械学習分類器をトレーニングして、前記機械学習分類器のさらに更新された重みを生成することが、
前記第2のトレーニングデータ上で前記機械学習分類器をトレーニングして、前記機械学習分類器の初期重みから始まる、前記機械学習分類器のさらに更新された重みを生成することを含む、請求項16に記載のコンピュータ可読記憶媒体。
【請求項19】
前記機械学習分類器を使用し、前記更新された重みに従って、さらなるトレーニング例を生成することが、
前記機械学習分類器を使用し、前記更新された重みに従って、前記センサーサンプルのコレクションからの複数の候補センサーサンプルの各々を処理して、各候補センサーサンプルのそれぞれの開放ドアスコアを生成することと、
閾値スコアを超える開放ドアスコアを有する各候補センサーサンプルを、開放ドアを備えた車両を特徴付けるセンサーサンプルとして分類することと、を含む、請求項16~18のいずれか一項に記載のコンピュータ可読記憶媒体。
【請求項20】
前記センサーサンプル
のコレクションから、前記初期トレーニング例における前記センサーサンプルがキャプチャされる前の閾値時間量未満でキャプチャされた1つ以上の追加のセンサーサンプルを識別することが、
追加のセンサーサンプルとして、(i)前記初期トレーニング例における前記センサーサンプルと同じ車両を特徴付け、(ii)前記初期トレーニング例における前記センサーサンプルがキャプチャされる前の閾値時間量未満でキャプチャされた、前記
センサーサンプルのコレクションにおける各センサーサンプルを識別することを含む、請求項15~19のいずれか一項に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2018年12月21日に出願された米国特許出願第16/231,297号に対する優先権を主張するものであり、その全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
本明細書は、自律型車両に関する。
【0003】
自律型車両は、自動運転する車、船舶、および航空機を含む。自律型車両は、さまざまな車載センサーおよびコンピュータシステムを使用して近傍の物体を検出し、その検出を使用して制御およびナビゲーションの決定を行う。
【0004】
いくつかの自律型車両は、ニューラルネットワーク、他のタイプの機械学習モデル、またはその両方をさまざまな予測タスク、例えば、画像内の物体分類のために実装する車載コンピュータシステムを有する例えば、ニューラルネットワークを使用して、車載カメラでキャプチャされた画像が近傍の車の画像である可能性があると決定することができる。ニューラルネットワーク、または略して、ネットワークは、複数の操作の層を用いて、1つ以上の入力から1つ以上の出力を予測する機械学習モデルである。ニューラルネットワークは、通常、入力層と出力層との間に位置する1つ以上の隠れ層を含む。各層の出力は、ネットワーク内の別の層、例えば、次の隠れ層または出力層への入力として使用される。
【0005】
ニューラルネットワークの各層は、層への入力に対して実行される1つ以上の変換操作を指定する。一部のニューラルネットワーク層には、ニューロンと呼ばれる操作がある。各ニューロンは1つ以上の入力を受け取り、別のニューラルネットワーク層で受け取られる出力を生成する。たいてい、各ニューロンは他のニューロンから入力を受け取り、各ニューロンは1つ以上の他のニューロンに出力を提供する。
【0006】
ニューラルネットワークのアーキテクチャは、ネットワークに含まれる層およびその特性、ならびにネットワークの各層のニューロンの接続方法を指定する。換言すれば、アーキテクチャは、どの層がそれらの出力をどの他の層への入力として提供するか、およびどのようにその出力を提供するかを指定する。
【0007】
各層の変換操作は、変換操作を実装するソフトウェアモジュールがインストールされたコンピュータによって実行される。したがって、操作を実行するとして記述されている層は、層の変換操作を実装するコンピュータが操作を実行することを意味する。
【0008】
各層は、層の一連のパラメータの現在の値を使用して1つ以上の出力を生成する。したがって、ニューラルネットワークのトレーニングは、入力に対する順方向パスの継続的な実行、勾配値の計算、および計算された勾配値を使用して各層のパラメータセットの現在値を更新することを伴う。ニューラルネットワークがトレーニングされると、パラメータ値の最終セットを使用して、生成システムにおいて予測を行うことができる。
【発明の概要】
【0009】
本明細書は、どのようにコンピュータシステムが機械学習モデルをトレーニングすることができるかを記載しており、本明細書では、自律型車両の付近にある物体が特定の状態にあるかどうかの予測を生成するための「機械学習分類器」または「分類器」とも称される。
【0010】
例えば、機械学習モデルは、自律型車両の付近にある別の車両が開放ドア状態にあるかどうか、つまり、すべてのドアが閉鎖されているのではなく開放ドアを有するかどうかを予測する「開放ドア分類器」とすることができる。つまり、車両を特徴付ける入力が与えられた場合、開放ドア分類器の出力は、車両の1つ以上のドアが開放している可能性を表す確率である。開放ドア分類器がトレーニングされると、トレーニングされた開放ドア分類器を車両に配備することができ、自律的または半自律的な運転決定を行うために車両によって使用することができる。
【0011】
別の例として、機械学習モデルは、自律型車両の付近のスクールバスが点滅ライト状態にあるかどうか、つまり、スクールバスのライトがオフ(または常にオン)ではなく点滅しているかどうかを予測することができる。
【0012】
別の例として、機械学習モデルは、自律型車両の付近の別の車両が駐車状態にあるかどうか、つまり、他の車両が動いているか、または一時的に停止しているのではなく駐車しているかどうかを予測することができる。
【0013】
本開示の一態様では、方法は、特定のタイプの物体を特徴とし、かつ自律型車両の1つ以上のセンサーによってキャプチャされたセンサーデータから生成された、入力センサーサンプルを受け取り、入力センサーサンプルを処理して、物体が特定の状態にあるという予測された可能性を表す特定の状態スコアを生成するように構成された、分類器をトレーニングすることを含む。
【0014】
分類器をトレーニングするために、システムは、複数の初期トレーニング例であって、各初期トレーニング例は、(i)センサーサンプルのコレクションからのセンサーサンプル、および(ii)特定の状態にある物体を特徴付けるものとしてセンサーサンプルを分類するラベルデータを含む、複数の初期トレーニング例を取得し、複数の追加のトレーニング例であって、各初期トレーニング例について、センサーサンプルのコレクションから、初期トレーニング例におけるセンサーサンプルがキャプチャされる前に閾値時間未満でキャプチャされた1つ以上の追加のセンサーサンプルを識別することと、特定の状態における物体を特徴付けるセンサーサンプルとして各追加のセンサーサンプルを分類することと、を含む、複数の追加のトレーニング例を生成し、初期トレーニング例および追加のトレーニング例を含む第1のトレーニングデータで機械学習分類器をトレーニングして、機械学習分類器のために更新された重みを生成する。
【0015】
これらのおよび他の実装は、それぞれ任意選択で以下の特徴のうちの1つ以上を含むことができる。
【0016】
動作は、さらに、機械学習分類器を使用して、更新された重みに従ってさらなるトレーニング例を生成し、さらなるトレーニング例を含む第2のトレーニングデータで機械学習分類器をトレーニングして、機械学習分類器のためにさらに更新された重みを生成することを含む。
【0017】
さらなるトレーニング例を含む第2のトレーニングデータで機械学習分類器をトレーニングして、機械学習分類器のためにさらに更新された重みを生成することは、第2のトレーニングデータで機械学習分類器をトレーニングして、機械学習分類器の更新された重みから始まる、機械学習のためにさらに更新された重みを生成することを含むことができる。
【0018】
さらなるトレーニング例を含む第2のトレーニングデータで機械学習分類器をトレーニングして、機械学習分類器のためにさらに更新された重みを生成することは、第2のトレーニングデータで機械学習分類器をトレーニングして、機械学習分類器の初期重みから始まる、機械学習のためにさらに更新された重みを生成することを含むことができる。
【0019】
機械学習分類器を使用して、更新された重みに従って、さらなるトレーニング例を生成することは、センサーサンプルのコネクションからの複数の候補センサーサンプルのそれぞれを、機械学習分類器を使用して、更新された重みに従って処理して、候補センサーサンプルごとにそれぞれの開放ドアスコアを生成することと、閾値スコアを超える特定のスコアを有する各候補センサーサンプルを、特定の状態の物体を特徴付けるセンサーサンプルとして分類することと、を含むことができる。
【0020】
複数のセンサーサンプルから、初期トレーニング例におけるセンサーサンプルがキャプチャされる前の閾値時間未満でキャプチャされた1つ以上の追加のセンサーサンプルを識別することは、追加のセンサーサンプルとして、(i)初期トレーニング例におけるセンサーサンプルとして同じ物体を特徴付け、かつ(ii)初期トレーニング例におけるセンサーサンプルがキャプチャされる前の閾値時間未満でキャプチャされた複数のサンプルの各センサーサンプルを識別することを含むことができる。
【0021】
複数の初期トレーニング例を取得することは、センサーサンプルのコレクションから、候補初期センサーサンプルによって特徴付けられる物体の本体の輪郭の外側にかなりの量の測定値をそれぞれが含む複数の候補初期センサーサンプルを識別することを含むことができる。
【0022】
本明細書に記載の主題の特定の実施形態は、以下の利点の1つ以上を実現するように実装することができる。
【0023】
自律型車両または半自律型車両は、車両が環境を走行するときに車両を取り巻く環境に関するデータを収集するセンサーを有する。これらのセンサーによって多くの運転時間にわたって、多くの異なる自律型車両によって収集されたデータ(本明細書では「ログデータ」と呼ばれる)は、機械学習モデルをトレーニングして、自律型車両の操作に関連し得るさまざまな予測、例えば、特定の種類の物体が特定の状態にあるかどうかの予測を行うために使用することができる。
【0024】
例えば、ナビゲーション中に車両が遭遇する車両のドアが開放しているかどうかを予測する機械学習モデルは、例えば、開放ドアから人が出入りしている場合にブレーキをかけることによって、または車両もしくは車両のオペレーターの将来の挙動を予測することによって、自律運転決定を知らせるために使用することができる(すなわち、車両のドアが開放している場合、これは、ドアが閉鎖されるまで車両は動き始める可能性が低いまたは車両は荷物を積み下ろすために停止しているという合図であり得る)、またはいつ車両のオペレーターに警告を提供するかを決定するために使用することができる。
【0025】
これらの予測を行う機械学習モデルは、ラベル付けされたトレーニングデータで、すなわち、物体を特徴付けるものとして分類され、かつセンサーデータによって特徴付けられる物体が特定の状態にあるか否かを識別するグラウンドトゥルースラベルに関連したセンサーデータから生成されたセンサーサンプルで、トレーニングすることができる。
【0026】
ただし、一部のタイプの物体および一部の特定の状態では、収集されたログデータは、そのタイプの物体を特徴付ける大量のセンサーサンプルを含むが、特定の状態にあるのはそれらの物体のごく一部にすぎない。ドアが開放している車両を例にとると、環境内を走行する自律型車両が遭遇する他の車両のごく一部、例えば、およそ1%以下のドアが開放され、自律型車両が運転中に遭遇する大多数の他の車両のドアはすべて閉じられている。
【0027】
これにより、物体を特定の状態にあるものとして分類するために分類器をトレーニングするための高品質のトレーニングデータを生成することが困難になる。特に、開放ドアの例を再び考えると、ログデータ内のセンサーサンプルのこのようなごく一部が、開放ドアを有するので、トレーニングデータにおける大量の、ノイズのある、不正確にラベル付けされたサンプルを含まずには、開放ドアを有する十分なサンプルを識別することは困難である。説明した技術を使用して開放ドア分類器をトレーニングすることにより、システムはこの問題を効果的に解決し、トレーニングの開始時に正確にラベル付けされたトレーニングデータをほとんどまたはまったく有さずに、収集されたログデータで分類器をトレーニングすることができる。つまり、説明されている技術は、収集されたログデータにおける膨大な数の(ほとんどネガティブな)潜在的な例から、ポジティブな例、例えば、ドアが開放した車両の例を効果的に識別し、識別されたポジティブな例を使用して、機械学習モデルを効果的にトレーニングし、特定の状態にあるものとして物体を正確に分類する。
【0028】
特に、再び開放ドアの例を考えると、説明した技術を使用して、システムは、センサーデータをキャプチャする車両に非常に近い、開放ドアを備えた車両を特徴付ける比較的少数のポジティブな例を最初に効果的に識別し得る。ただし、ある範囲の距離で適切に機能するように分類器をトレーニングするには、追加のポジティブな例を識別して、分類器のトレーニングで使用する必要がある。説明された技術は、これらの追加のポジティブな例が、自動化された方法で、人間のラベラーを必要とせずに識別されることを可能にし、それによって高精度の開放ドア分類器をもたらす。
【0029】
本明細書の主題の1つ以上の実施形態の詳細を、添付の図面および以下の説明に記載する。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から、明らかになるであろう。
【図面の簡単な説明】
【0030】
【
図2】開放ドア分類器をトレーニングするための例示的なプロセスのフローチャートである。
【
図3】開放ドア分類器をトレーニングするための別の例示的なプロセスのフローチャートである。
【0031】
さまざまな図面の中の同様の参照番号および名称は、同様の要素を示す。
【発明を実施するための形態】
【0032】
本明細書は、車両の近くの他の車両が開放ドアを有するか否かを予測するために、車両、例えば、自律型または半自律型車両が、本明細書において「開放ドア分類器」または「分類器」と呼ばれるトレーニングされた機械学習モデルをどのように使用することができるかを説明する。本明細書は、予測を正確かつ確実に行うためにこのような開放ドア分類器を効果的にトレーニングするためにどのようにログデータを使用することができるかも説明する。
【0033】
図1は、例示的なシステム100の図である。システム100は、トレーニングシステム110と搭載システム130とを含む。
【0034】
搭載システム130は、車両122に物理的に搭載されている。
図1の車両122は自動車として図示されているが、搭載システム130は、任意の適切なタイプの車両に搭載することができる。車両122は、環境内をナビゲートするために完全自律運転決定を決定および実行する完全自律型車両とすることができる。車両122はまた、人間の運転手を支援するために予測を使用する、半自律型車両であってもよい。例えば、ある予測が、人間の運転手が別の車両と衝突しそうであることを示す場合、車両122は自律的にブレーキをかけることができる。
【0035】
搭載システム130は、1つ以上のセンサーサブシステム132を含む。センサーサブシステム132は、電磁放射の反射を受信するコンポーネントの組み合わせ、例えば、レーザー光の反射を検出するライダーシステム、電波の反射を検出するレーダーシステム、および可視光の反射を検出するカメラシステムを含む。
【0036】
与えられたセンサーによって生成されたセンサーデータは、一般に、反射された放射の距離、方向、および強度を示す。例えば、センサーは特定の方向に電磁放射の1つ以上のパルスを送信でき、任意の反射の強度と、その反射が受信された時間とを測定することができる。距離は、パルスと、その対応する反射との間にかかった時間を決定することによって計算することができる。センサーは、角度、方位角、またはその両方で特定の空間を継続的にスイープすることができる。例えば、方位角をスイープすることにより、センサーが同じ視線に沿って複数の物体を検出することが可能になり得る
【0037】
車両122のセンサーサブシステム132または他のコンポーネントはまた、1つ以上のセンサーからの1つ以上の生のセンサー測定値のグループを、別の車両の測定値であるとして、分類することもできる。センサー測定値のグループは、キャプチャされたセンサー測定値の種類に応じて、さまざまな方法のうちのいずれかで表すことができる。例えば、生のレーザーセンサー測定値の各グループは、3次元の点群として表すことができ、各点は強度および位置を有する。一部の実装では、位置は、範囲と高さのペアとして表される。カメラセンサー測定値の各グループは、画像パッチ、例えばRGB画像パッチとして表すことができる。
【0038】
1つ以上の生のセンサー測定値のグループが別の車両の測定値として分類されると、センサーサブシステム132または車両122の他のコンポーネントは、車両を測定するセンサー測定値からセンサーサンプル155を生成する。場合によっては、センサーサンプル155は、1つ以上のセンサーからの測定値を表し、かつそれぞれが同時に同じ車両を特徴付ける3次元テンソルである。例えば、3次元テンソルは、他の車両が所与の時間に位置する環境の領域のカメラセンサーによってキャプチャされた画像のパッチ、1つ以上の投影の一部、例えば、他の車両が所与の時間に位置する環境の領域に対応する1つ以上のレーザーセンサーによってキャプチャされたセンサーデータの上から下への視点の投影、またはその両方、を含むことができる。
【0039】
センサーサブシステム132または他のコンポーネントは、センサーサンプル155を搭載分類器サブシステム134に提供する。搭載分類器サブシステム134は、センサーサンプル155を使用して、開放ドア予測165を生成する。上記のように、各開放ドア予測は、センサーデータ155によって特徴付けられる車両のドアが開放しているかどうかの予測である。したがって、各予測は、入力センサーサンプルによって特徴付けられる車両のドアが開放しているという予測された可能性を表すスコア、例えば確率である。
【0040】
搭載分類器サブシステム134は、開放ドア分類器の動作、すなわち、開放ドア予測165を行うようにトレーニングされた機械学習モデルを実装する。
【0041】
場合によっては、開放ドア分類器は、センサーサンプル155、すなわち、センサーデータから生成された3次元テンソルを受信し、1つ以上の畳み込み層を含む複数の層を介してセンサーサンプル155を処理して、開放ドア予測を生成する、畳み込みニューラルネットワークである。したがって、搭載分類器サブシステム134は、ニューラルネットワークのアーキテクチャに従ってニューラルネットワークの各層のそれぞれの操作を実装するソフトウェアまたはハードウェアモジュールを有する1つ以上のコンピューティングデバイスを含む。
【0042】
それ以外の場合では、開放ドア分類器は、センサーサンプル155から導出された、より低次元の特徴で動作する異なるタイプの機械学習モデルである。例えば、開放ドア分類器は、センサーサンプルから生成されたより低次元の特徴を入力として受け取り、かつより低次元の特徴から開放ドア予測を生成する、ランダムフォレストモデルまたはサポートベクターマシンモデルとすることができる。したがって、搭載分類器サブシステム134は、より低次元の特徴を生成し、かつモデルの操作を実行するために必要な操作を実装するソフトウェアまたはハードウェアモジュールを有する1つ以上のコンピューティングデバイスを含む。
【0043】
搭載分類器サブシステム134は、モデル重み値172を決定するために、開放ドア分類器がトレーニングシステム110によってトレーニングされた後にトレーニングシステム110から受け取ったモデル重み値172のコレクションをロードすることによって、開放ドア分類器の動作を実装することができる。論理的に分離されて図示されているが、モデル重み値170および操作を実行するソフトウェアもしくはハードウェアモジュールは、実際には同じコンピューティングデバイス上に位置し得るか、または実行するソフトウェアモジュールの場合は、同じメモリデバイス内に格納され得る。
【0044】
搭載分類器サブシステム134は、ハードウェア加速または他の専用のコンピューティングデバイスを使用して、開放ドア分類器の動作の一部またはすべてを実装することができる。例えば、ニューラルネットワークの一部の層の一部の操作は、高度に並列化されたハードウェアによって、例えば、グラフィックス処理ユニットまたは別の種類の特殊なコンピューティングデバイスによって実行され得る。換言すれば、各層のすべての操作が搭載分類器サブシステム134の中央処理装置(CPU)によって実行される必要があるわけではない。
【0045】
搭載分類器サブシステム134は、開放ドア予測165を計画サブシステム136、ユーザインターフェースサブシステム138、またはその両方に提供することができる。
【0046】
計画サブシステム136が開放ドア予測165を受け取ると、計画サブシステム136は、1つ以上の開放ドア予測165を使用して、完全自律または半自律運転の決定を行うことができる。例えば、開放ドア予測が、別の車両のドアが開放している可能性が高いことを示している場合、人が他の車両の開放ドアから出入りしている場合、計画サブシステム136は、車両122のブレーキをかけるか、または別様に車両122の移動速度を低下させる完全自律計画を生成することができる。別の例として、計画サブシステム136は、開放ドア予測を使用して、物体のありそうな将来の軌道を予測し、このありそうな将来の軌道を使用して、車両122の軌道を計画することができる。別の例として、計画サブシステム136は、他の車両のドアが開放しているとき、人間の運転手がブレーキをかけるための半自律的勧告を生成することができる。
【0047】
ユーザインターフェースサブシステム138は、開放ドア予測165を受信することができ、他の車両を識別し、かつ他の車両のドアが開放していること、および人々が出入りし得ることを車両122のオペレーターに警告するユーザインターフェースプレゼンテーションを生成することができる。例えば、ユーザインターフェースサブシステム138は、他の車両によって占有される空間の領域の表現を含む画像またはビデオデータを有し、かつ車両のドアが開放していることを識別するユーザインターフェースプレゼンテーションを生成することができる。次いで、搭載ディスプレイデバイスは、車両122の乗員が見るためのユーザインターフェースプレゼンテーションを表示することができる。
【0048】
搭載分類器サブシステム134はまた、ログデータ127を生成するためにセンサーデータ155を使用することもでき、ログデータ127は、開放ドア分類器をトレーニングするためにトレーニングシステム110によって使用される。搭載システム130は、例えば、それが生成されるときはいつでも継続的に、オフラインバッチまたはオンライン方式で、トレーニングシステム110にログデータ127を提供することができる。
【0049】
ログデータ127は、車両122の付近の他の車両を特徴付けるものとして分類された、車両122の動作中に生成されたセンサーデータサンプルを含む。
【0050】
トレーニングシステム110は、通常、1つ以上の場所に数百または数千のコンピュータを有する分散型コンピューティングシステムであり得るデータセンター112内でホストされる。
【0051】
トレーニングシステム110が車両からログデータ127を受信すると、トレーニングシステム100は、ログデータ127をログデータリポジトリ125に格納する。概して、ログデータリポジトリ125は、多数の車両から受信したログデータを格納し、すなわち、ログデータリポジトリ125は、多数の異なる車両の動作中にキャプチャされたセンサーデータから生成されたセンサーサンプルを格納する。場合によっては、ログデータリポジトリ125はまた、シミュレーションで生成された、すなわち、車両のシミュレートされたバージョンが実世界環境のソフトウェアシミュレーションをナビゲートするときに生成されたログデータを含むことができる。
【0052】
トレーニングシステム110は、開放ドア予測を行うように構成された分類器の動作を実装することができるトレーニング分類器サブシステム114を含む。例えば、分類器がニューラルネットワークである場合、トレーニング分類器サブシステム114は、ニューラルネットワークのアーキテクチャに従ってニューラルネットワークの各層のそれぞれの操作を実装するソフトウェアまたはハードウェアモジュールを有する複数のコンピューティングデバイスを含む。
【0053】
トレーニング用の開放ドア分類器は、通常、搭載開放ドア分類器と同じアーキテクチャおよび重みを有する。しかしながら、トレーニングシステム110は、分類器の動作を計算するために、搭載システム134によって使用されるものと同じハードウェアを使用する必要はない。換言すれば、トレーニングシステム110は、CPUのみ、高度に並列化されたハードウェア、またはこれらのいくつかの組み合わせを使用することができる。
【0054】
トレーニングシステム100は、ログデータリポジトリ125に格納されたセンサーサンプルを使用して、開放ドア分類器をトレーニングするためのトレーニング例123を含むトレーニングデータを生成する。各トレーニング例123には、(i)車両を特徴付けるセンサーサンプルと、(ii)センサーサンプルで車両の車のドアが開放しているかどうかを示すラベル、つまり、センサーサンプルの開放ドア分類器によって生成されるべき、グラウンドトゥルース出力を識別するラベルとが含まれる。トレーニングデータの生成については、
図2および
図3を参照して以下に説明する。
【0055】
トレーニング中のいつでも、トレーニングニューラルネットワークサブシステム114は、モデル重み値170のコレクションに格納された現在のモデル重み値115を使用して、開放ドア分類器の動作を計算することができる。論理的に分離されているように図示されているが、モデル重み値170および操作を実行するソフトウェアもしくはハードウェアモジュールは、実際には同じコンピューティングデバイス上か、または同じメモリデバイス上に位置し得る。
【0056】
トレーニング分類器サブシステム114は、入力としてトレーニング例123を受け取ることができる。トレーニングニューラルネットワークサブシステム114は、各トレーニング例123について、開放ドア予測135を生成することができる。トレーニングエンジン116は、開放ドア予測135を分析し、開放ドア予測をトレーニング例123のラベルと比較する。次いで、トレーニングエンジン116は、適切な更新技術、例えば、バックプロパゲーションを伴う確率的勾配降下法を用いることにより、更新されたモデル重み値145を生成する。次いで、トレーニングエンジン116は、更新されたモデル重み値145を使用して、モデルパラメータ値170のコレクションを更新することができる。
【0057】
トレーニングが完了した後、トレーニングシステム110は、完全自律または半自律運転の決定のための開放ドア予測165を行う際に使用するために、モデル重み値171の最終セットを搭載システム130に提供することができる。トレーニングシステム110は、搭載システム130への有線または無線接続によってモデル重み値171の最終セットを提供することができる。
【0058】
図2は、開放ドア分類器をトレーニングするための例示的なプロセス200のフローチャートである。このプロセスは、適切にプログラムされたニューラルネットワークシステムによって実行されるものとして説明される。便宜上、プロセス200は、1つ以上の場所に位置する1つ以上のコンピュータのシステムによって実行されるものとして説明される。例えば、トレーニングシステム、例えば、本明細書に従って適切にプログラムされた
図1のトレーニングシステム110は、プロセス200を実行することができる。
【0059】
システムは、初期ポジティブトレーニングサンプルを取得する(210)。
【0060】
本明細書では、ポジティブトレーニングサンプルは、車両を特徴付けるセンサーサンプルであって、このセンサーサンプルによって特徴付けられる車両が開放ドアを有することを示すラベルに関連した、センサーサンプルである。
【0061】
場合によっては、システムは、外部システムから、ログデータリポジトリ内の特定のセンサーサンプルを初期のポジティブトレーニングサンプルとして識別するデータを受信する。その他の場合、システムは、ログデータリポジトリ内の特定のセンサーサンプルをポジティブトレーニングサンプルとして識別する。ログデータリポジトリ内のセンサーサンプルから初期ポジティブトレーニングサンプルを識別するための例示的な技術は、
図3を参照して以下に説明される。
【0062】
システムは、ログデータリポジトリ内のセンサーサンプルから追加のポジティブトレーニングサンプルを識別する(220)。
【0063】
より具体的には、システムは、それぞれが(i)初期ポジティブトレーニングサンプルのそれぞれのサンプルに対応し、(ii)対応する初期ポジティブトレーニングサンプルと同じ車両を特徴付け、そして(iii)対応する初期トレーニングサンプルの前に閾値時間未満でキャプチャされた、追加のポジティブトレーニングサンプルを識別する。
【0064】
特に、初期トレーニングサンプルによって特徴付けられる車両の一部またはすべてについて、ログデータは、同じ車両を特徴付けるが、対応する初期トレーニングサンプルとは異なる時間にキャプチャされた他のセンサーサンプルを含む。例として、所与の車両のセンサーが10ミリ秒ごとに1つのサンプルの速度でデータをキャプチャする場合、所与の車両の近くに20ミリ秒を超えて存在する他の各車両は、複数のサンプルによって特徴付けられる。
【0065】
一部の実装では、初期ポジティブトレーニングサンプルのそれぞれについて、システムは、ポジティブトレーニングサンプルとして、初期ポジティブトレーニングサンプルと同じ車両を特徴付けるものとして分離され、かつ対応する初期トレーニングサンプルの前の閾値時間未満でキャプチャされたログデータにおける任意のサンプルを識別する。閾値時間は、例えば、0.5秒、1秒、1秒半、または2秒とすることができる。
【0066】
システムは、それぞれの追加の識別されたトレーニングサンプルをポジティブトレーニングサンプルとして指定し、すなわち、それぞれの追加の識別されたトレーニングサンプルを、識別されたトレーニングサンプルが開放ドアを有する車両を特徴付けることを示すラベルに関連付ける。
【0067】
車のドアはしばらく開放したままになる傾向があり、車両のドアが開放している間、車両は止まっている傾向があるため、追加のポジティブトレーニングサンプルは、通常、初期トレーニングサンプルよりも、サンプルを生成した車両からさらに離れた車両を特徴付けるサンプルを含む。ただし、識別されたトレーニングサンプルは、初期トレーニングサンプルへの時間の近さに基づいて自動的に生成されるため、追加のサンプルはノイズが多いことがあり、すなわち、ポジティブサンプルとして誤って分類されたサンプルが含み得る。
【0068】
システムは、初期トレーニングサンプルおよび追加のトレーニングサンプルを含むトレーニングデータで開放ドア分類器をトレーニングする(230)。トレーニングデータは、ネガティブトレーニングサンプル、すなわち、識別されたトレーニングサンプルが開放ドアをまったく有さない車両を特徴付けることを示すラベルに関連付けられたトレーニングサンプルも含む。システムは、リポジトリからセンサーサンプルをランダムに選択することにより、ネガティブトレーニングサンプルを生成することができる。すなわち、車両のこのような小さな部分が開放ドアを有するため、リポジトリからセンサーサンプルをランダムに選択することは、非常に正確なネガティブサンプルを生成する可能性が非常に高い。
【0069】
特に、システムは、開放ドア分類器によって生成された予測と、対応するトレーニングサンプルのためのグラウンドトゥルース予測との誤差を測定する損失関数、例えば、交差エントロピー損失関数または対数尤度損失関数を最小化することによって分類器の重みを調整するように開放ドア分類器をトレーニングすることができる。例えば、分類器がニューラルネットワークの場合、システムは、バックプロパゲーションを伴う勾配降下法を使用して損失を最小限に抑えるように分類器をトレーニングする。
【0070】
場合によっては、
図3を参照して以下に説明するように、システムは、追加のトレーニングデータで分類器をさらにトレーニングすることによって分類器の性能を改善することができる。
【0071】
図3は、開放ドア分類器をトレーニングするための別の例示的なプロセス300のフローチャートである。プロセスは、適切にプログラムされたニューラルネットワークシステムによって実行されるように説明される。便宜上、プロセス300は、1つ以上の場所に位置する1つ以上のコンピュータのシステムによって実行されるものとして説明される。例えば、トレーニングシステム、例えば、本明細書に従って適切にプログラムされた
図1のトレーニングシステム110は、プロセス300を実行することができる。
【0072】
システムは、ログデータリポジトリ内のセンサーサンプルから、候補初期ポジティブサンプルを識別する(310)。候補初期ポジティブサンプルは、ポジティブトレーニング例に含まれる候補であるセンサーサンプルである。
【0073】
特に、システムは、1つ以上の基準を満たすログデータリポジトリ内の任意のセンサーサンプルを、候補初期ポジティブサンプルとして識別することができる。
【0074】
例えば、システムは、各センサーサンプルにおいて、例えば、車両の本体を包含する境界ボックスまたは他の幾何学的形状を使用して、センサーサンプルによって特徴付けられる車両の本体の輪郭を識別するデータを受信することができる。システムは、候補初期ポジティブサンプルとして、車両の本体の輪郭の外側にかなりの量の測定値を含む任意のセンサーサンプルを識別することができる。例えば、センサーサンプルがレーザーデータを含む場合、車両のレーザーポイントを、受信したデータの長方形モデルに一緒に接続することができる。ポイントの閾値部分よりも多く(例えば、20よりも多いポイント)が長方形の外側にあり、長方形の外側にあるポイントが、境界ボックスの外側の閾値距離以上に(例えば、0.5メートル以上)及ぶ場合、システムは、サンプルをポジティブサンプルとして識別する。
【0075】
別の例として、車両の近くに小さな物体がある場合に基準を満たすことができる。言い換えれば、システムは、センサーサンプルのそれぞれについて、そのセンサーサンプルが、車両および車両に隣接する別の物体を特徴付けるかどうかを識別するデータを受信し、そのセンサーサンプルが車両および別の物体を特徴付ける場合、センサーサンプルをポジティブサンプルとして識別することができる。
【0076】
システムは、候補初期ポジティブサンプルのサブセットである初期ポジティブサンプルを取得する(320)。
【0077】
例えば、システムは、ユーザインターフェースにおいて人間の評価者に提示するために、各初期ポジティブサンプルの視覚的表現、例えば、画像またはビデオを提供することができ、これにより、人間の評価者は、候補初期ポジティブサンプルによって特徴付けられた車両のドアのいずれかが開放しているかどうかを示す入力を提出することができる。次に、システムは、初期ポジティブサンプルとして、人間の評価者が開放ドアを描いて示した各候補初期ポジティブサンプルを指定することができる。
【0078】
システムは、初期ポジティブサンプルを使用して追加のポジティブサンプルを識別し(330)、
図2を参照して上述したように、初期ポジティブサンプルおよび追加のポジティブサンプルを含むトレーニングデータで開放ドア分類器をトレーニングする(340)。
【0079】
任意選択で、分類器がトレーニングされると、システムは、トレーニングされた分類器を使用してトレーニングデータを変更することによって、分類器のモデルの重みをさらに精緻化する(ステップ350)。
【0080】
特に、システムは、トレーニングされた分類器を使用してログデータリポジトリ内のセンサーサンプルの一部またはすべてを処理し、処理されたセンサーサンプルごとにそれぞれの開放ドア予測、すなわちそれぞれの確率を生成する。次に、システムは、閾値確率を超える確率(例えば、0.7、0.8、0.9、または0.95)を有する各処理済みセンサーサンプルを、ポジティブトレーニングサンプルとしてトレーニングデータに加える。場合によっては、システムは、ユーザインターフェースで人間の評価者に提示するための閾値を超える確率を有するサンプルの一部またはすべての視覚的表現、例えば、画像またはビデオを提供し、これにより、人間の評価者は、候補初期ポジティブサンプルによって特徴付けられる車両のドアのいずれかが開放しているかどうかを示す入力を提出することができる。次に、システムは、初期ポジティブサンプルとして、人間の評価者が開放ドアを描いて示した各候補初期ポジティブサンプルを指定することができる。
【0081】
場合によっては、システムはまた、トレーニングデータを変更するときに分類器をトレーニングするために以前に使用されたポジティブな例の一部またはすべてを削除する。例えば、一部の実装では、システムは、トレーニングで以前に使用されたすべての追加のポジティブサンプル(初期ポジティブサンプルへの時間的近接性に基づいて識別された)を、閾値を超える確率を有する処理済みセンサーサンプルに置き換える。
【0082】
システムが変更されたトレーニングデータを生成すると、システムは変更されたトレーニングデータで分類器を再トレーニングする(ステップ360)。
【0083】
一部の実装では、システムは再トレーニングを使用して分類器のモデルの重みを微調整する。特に、これらの実装では、システムは変更されたトレーニングデータで分類器をトレーニングして、初期トレーニング中と同じ損失関数を最小化するが、初期トレーニングの結果として決定された重みの値から開始する。
【0084】
それ以外の実装では、システムは変更されたトレーニングデータで分類器を最初から再トレーニングする。特に、これらの実装では、システムは重みを初期値にリセットしてから、変更されたトレーニングデータで分類器をトレーニングして、重みの初期値から始まる損失関数を最小化する。
【0085】
したがって、これらの任意選択のステップを実行することにより、システムは、トレーニングされた分類器を使用して、トレーニングされた分類器をさらにトレーニングするために使用するログデータリポジトリ内の追加のポジティブサンプルを識別する。そうすることで、システムは、初期トレーニングデータの前にトレーニングデータに追加された潜在的にノイズの多い追加のポジティブサンプルの影響を軽減しながら、広範囲の距離にある車を特徴付けるサンプルを含むトレーニングデータを依然として有することができる。
【0086】
さらに任意選択で、システムは、ステップ350および360を1回以上回繰り返して、分類器の重みを精緻化し続けることができる。例えば、システムは、センサーサンプルのテストセットでトレーニングされた分類器の精度がある閾値精度を超えるまでステップ350および360を繰り返すことができ、または所定の反復回数の間、ステップ350および360を繰り返すことができる。
【0087】
図1~
図3は、ドアが開放している車両を分類するために分類器をトレーニングするために使用される技術を示す。ただし、説明した技術は、物体が他の特定の状態にある場合に、分類器をトレーニングするために一般的に適用することができる。特に、説明した技術を使用して分類器をトレーニングし、最初は質の高いトレーニングデータが制限されているか、または利用できない場合に、物体を特定の状態にあると分類するためのトレーニングデータを生成できるが、(1)物体が特定の状態にある場合はある程度の時間的持続性が予期され、物体の他の状態は非常に一般的であるが、特定の状態は比較的まれである。他のそのような例のうちの上記の特定の例には、車を駐車状態にあると分類する分類器、またはスクールバスを点滅ライト状態にあると分類する分類器のトレーニングデータの生成が含まれる。
【0088】
言い換えれば、システムは、特定のタイプの物体を特徴付け、かつ自律型車両の1つ以上のセンサーによってキャプチャされたセンサーデータから生成された、入力センサーサンプルを受け取り、入力センサーサンプルを処理して、物体が特定の状態にあるという予測された可能性を表す特定の状態スコアを生成するように構成された、分類器をトレーニングすることができる。
【0089】
システムは、複数の初期トレーニング例を取得することであって、各初期トレーニング例は、(i)センサーサンプルのコレクションからのセンサーサンプル、および(ii)特定の状態にある物体を特徴付けるものとしてセンサーサンプルを分類するデータを含む、取得することと、複数の追加のトレーニング例を生成することであって、複数の追加のトレーニング例は、各初期トレーニング例について、センサーサンプルのコレクションから、初期トレーニング例におけるセンサーサンプルがキャプチャされる前に閾値時間未満でキャプチャされた1つ以上の追加のセンサーサンプルを識別することと、特定の状態にある物体を特徴付けるセンサーサンプルとして各追加のセンサーサンプルを分類することと、を含む、生成することと、初期トレーニング例および追加のトレーニング例を含む第1のトレーニングデータで機械学習分類器をトレーニングして、機械学習分類器の更新された重みを生成することとによって、分類器をトレーニングすることができる。
【0090】
本明細書に記載の主題および機能的動作の実施形態は、デジタル電子回路内、有形的に具現化されたコンピュータソフトウェアもしくはファームウェア内、本明細書に開示された構造体およびそれらの構造上の等価物を含むコンピュータハードウェア内、またはそれらのうちの1つ以上の組み合わせ内に実装することができる。本明細書に記載の主題の実施形態は、1つ以上のコンピュータプログラムとして、すなわち、データ処理装置によって実行するために、またはデータ処理装置の動作を制御するために有形の非一時的記憶媒体に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実装することができる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらの1つ以上の組み合わせであり得る。代替的に、または加えて、プログラム命令は、人工的に生成された伝播信号、例えば、データ処理装置によって実行するために適切な受信装置に送信される情報を符号化するために生成された機械生成された電気的、光学的、または電磁的信号に符号化することができる。
【0091】
「データ処理装置」という用語は、データ処理ハードウェアを指し、データを処理するためのあらゆる種類の装置、デバイス、および機械を包含し、それらには、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータが含まれる。装置はまた、既製またはカスタムメイドの並列処理サブシステム、例えば、GPUもしくは別の種類の専用処理サブシステムであってもよく、またはそれらをさらに含んでいてもよい。装置はまた、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)もしくはASIC(特定用途向け集積回路)であってもよく、またはそれらをさらに含んでいてもよい。装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つ以上の組み合わせを構成するコードを任意選択で含んでいてもよい。
【0092】
コンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリケーション、モジュール、ソフトウェアモジュール、スクリプト、もしくはコードとも称されるか、または記載され、コンパイラ型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含む、任意の形式のプログラミング言語で記述することができ、独立型プログラムとしてまたはモジュールとして、コンポーネント、サブルーチン、またはコンピューティング環境で使用するために好適な他のユニットを含む任意の形式で配備することができる。プログラムは、ファイルシステム内のファイルに対応する場合もあるが、対応しなくてもよい。プログラムは、他のプログラムもしくはデータ、例えば、マークアップ言語ドキュメントに格納された1つ以上のスクリプトを保持するファイルの一部、当該プログラム専用の単一ファイル、または複数の調整ファイル、例えば、1つ以上のモジュール、サブプログラム、もしくはコードの一部を格納するファイルに格納することができる。コンピュータプログラムは、1つのコンピュータもしくは1つの場所に位置する複数のコンピュータ上で実行されるように配備されるか、または複数の場所に分散されてデータ通信ネットワークで相互接続することができる。
【0093】
本明細書で使用される場合、「エンジン」または「ソフトウェアエンジン」は、入力とは異なる出力を提供するソフトウェア実装の入出力システムを指す。エンジンは、ライブラリ、プラットフォーム、ソフトウェア開発キット(「SDK」)、またはオブジェクトなどの機能の符号化されたブロックであり得る。各エンジンは、1つ以上のプロセッサとコンピュータ可読媒体を含む、適切なタイプのコンピューティングデバイス、例えば、サーバ、携帯電話、タブレットコンピュータ、ノートブックコンピュータ、音楽プレーヤー、電子書籍リーダ、ラップトップもしくはデスクトップコンピュータ、PDA、スマートフォン、またはその他の据え置き型もしくはポータブルデバイスに実装することができる。さらに、2つ以上のエンジンを、同じコンピューティングデバイス上に、または異なるコンピューティングデバイス上に実装することができる。
【0094】
本明細書に記載のプロセスおよび論理フローは、1つ以上のプログラマブルコンピュータが1つ以上のコンピュータプログラムを実行して、入力データ上で動作し、かつ出力を生成することで機能を果たすことによって実行することができる。プロセスおよび論理フローはまた、専用論理回路、例えば、FPGAもしくはASICによって、または専用論理回路と1つ以上のプログラムされたコンピュータとの組み合わせによって実行することができる。
【0095】
コンピュータプログラムの実行に適したコンピュータは、汎用もしくは専用のマイクロプロセッサ、もしくはその両方、または他の種類の中央処理装置に基づくことができる。一般に、中央処理装置は、読み取り専用メモリもしくはランダムアクセスメモリ、またはその両方から命令およびデータを受け取ることになる。コンピュータの本質的な要素は、命令を遂行または実行するための中央処理装置ならびに命令およびデータを格納するための1つ以上のメモリデバイスである。中央処理装置およびメモリは、専用論理回路によって補完されるか、またはその回路に組み込むことができる。一般に、コンピュータはまた、データを格納するための1つ以上の大容量記憶デバイス、例えば、磁気、光磁気ディスク、もしくは、光ディスクを含むか、または、それらからデータを受信する、もしくはそれらにデータを転送する、もしくはその両方を行うように動作可能に結合されることになる。しかしながら、コンピュータはそのようなデバイスを有しなくてもよい。さらに、コンピュータは別のデバイス、例えば、ほんの数例を挙げると、携帯電話、電子手帳(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス、例えば、ユニバーサルシリアルバス(USB)フラッシュドライブに組み込むことができる。
【0096】
コンピュータプログラム命令およびデータを格納するのに適したコンピュータ可読媒体は、不揮発性メモリ、媒体、およびメモリデバイスのあらゆる形態を含み、例として、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスクまたは取り外し可能ディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む。
【0097】
ユーザとの対話を提供するために、本明細書に記載の主題の実施形態は、コンピュータ上に実装することができ、当該コンピュータは、ユーザに情報を表示するための表示デバイス、例えば、CRT(陰極線管)もしくはLCD(液晶ディスプレイ)モニタ、ならびにキーボードおよびマウス、トラックボールなどのポインティングデバイス、またはユーザがコンピュータに入力を提供できる存在感知ディスプレイもしくは他の表面を有する。他の種類のデバイスを使用して、ユーザとの対話を提供することもでき、例えば、ユーザに提供されるフィードバックは、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックなどの任意の形式の感覚的フィードバックであり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受け取ることができる。さらに、コンピュータは、ユーザが使用するデバイスとの間でドキュメントを送受信することによって、例えば、ウェブブラウザから受信した要求に応答して、ユーザのデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。また、コンピュータは、テキストメッセージまたは他の形式のメッセージをスマートフォンなどのパーソナルデバイスに送信し、メッセージアプリケーションを実行し、代わりにユーザから応答メッセージを受信することにより、ユーザと対話することができる。
【0098】
本明細書は多くの特定の実装の詳細を含んでいるが、これらは、いずれかの発明の範囲、または請求され得る事項の範囲を限定するものとして解釈されるべきではなく、むしろ特定の発明の特定の実施形態に特有であり得る特徴に関する説明として解釈されるべきである。別々の実施形態の文脈で本明細書に記載された特定の特徴を、単一の実施形態で組み合わせて実装することもできる。逆に、単一の実施形態の文脈で記載されているさまざまな特徴は、複数の実施形態で別個に、または任意の好適なサブコンビネーションで実施することもできる。さらに、特徴は、特定の組み合わせで作用するものとして上で説明され、当初はそのように特許請求されることさえあり得るが、場合によっては、特許請求された組み合わせからの1つ以上の特徴が、その組み合わせから削除される可能性もあり、特許請求された組み合わせが、サブコンビネーションまたはサブコンビネーションの変形に向けられる場合もある。
【0099】
同様に、動作が特定の順序で図面に描かれているが、これは、所望の結果を達成するために、かかる動作がその示された特定の順序、もしくは一連の順序で実行されるべきであること、または図示したすべての動作が実行されるべきであることを要求するものとして理解されるべきではない。特定の状況では、マルチタスクおよび並列処理が有利な場合がある。さらに、上述した実施形態におけるさまざまなシステムモジュールおよびコンポーネントの分離は、すべての実施形態においてかかる分離を必要とするものとして理解されるべきではなく、記載されたプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品内に共に一体化されてもよく、または複数のソフトウェア製品にパッケージ化されてもよい。
【0100】
主題の特定の実施形態を説明してきた。他の実装形態は、以下の特許請求の範囲内に存在する。例えば、特許請求の範囲に列挙された動作は、異なる順序で実行されても、依然として望ましい結果を達成することができる。一例として、添付の図に描かれたプロセスは、望ましい結果を達成するために、必ずしも示された特定の順序、または連続した順序を必要としない。特定の場合によっては、マルチタスクおよび並列処理が有利なことがある。