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

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

▶ テスラ モーターズ,インコーポレーテッドの特許一覧

特許7512452トレーニングデータを取得するためのシステム及び方法
<>
  • 特許-トレーニングデータを取得するためのシステム及び方法 図1A
  • 特許-トレーニングデータを取得するためのシステム及び方法 図1B
  • 特許-トレーニングデータを取得するためのシステム及び方法 図2
  • 特許-トレーニングデータを取得するためのシステム及び方法 図3
  • 特許-トレーニングデータを取得するためのシステム及び方法 図4
  • 特許-トレーニングデータを取得するためのシステム及び方法 図5
  • 特許-トレーニングデータを取得するためのシステム及び方法 図6
  • 特許-トレーニングデータを取得するためのシステム及び方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-28
(45)【発行日】2024-07-08
(54)【発明の名称】トレーニングデータを取得するためのシステム及び方法
(51)【国際特許分類】
   G06N 3/045 20230101AFI20240701BHJP
   G06N 3/08 20230101ALI20240701BHJP
   G06N 3/0464 20230101ALI20240701BHJP
【FI】
G06N3/045
G06N3/08
G06N3/0464
【請求項の数】 17
【外国語出願】
(21)【出願番号】P 2023017625
(22)【出願日】2023-02-08
(62)【分割の表示】P 2021513897の分割
【原出願日】2019-09-13
(65)【公開番号】P2023053031
(43)【公開日】2023-04-12
【審査請求日】2023-03-09
(31)【優先権主張番号】62/731,651
(32)【優先日】2018-09-14
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】510192916
【氏名又は名称】テスラ,インコーポレイテッド
(74)【代理人】
【識別番号】110000659
【氏名又は名称】弁理士法人広江アソシエイツ特許事務所
(72)【発明者】
【氏名】カーパシー,アンドレイ
【審査官】北川 純次
(56)【参考文献】
【文献】特開2015-135552(JP,A)
【文献】特開2018-026040(JP,A)
【文献】特開2018-125777(JP,A)
【文献】特開2017-069917(JP,A)
【文献】米国特許出願公開第2018/0173971(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02 - 3/10
G06N 20/00 - 20/20
G06T 7/00
G08G 1/00
(57)【特許請求の範囲】
【請求項1】
システムを介して実行される方法であって、
1又は複数の車両の周囲に配置されたセンサからのセンサデータを含むトレーニングデータに基づいて、トリガ分類器をトレーニングするステップであって、トレーニングは、自動運転に関連付けられたニューラルネットワークからの中間結果を取得することと、前記中間結果に基づき、対象となる1又は複数の特徴を検出するように、前記トリガ分類器をトレーニングすることを含む、ステップと、
前記1又は複数の特徴を描写する新しい画像を識別するために前記トリガ分類器を車両のフリートに対して提供するステップであって、前記車両のフリートは前記ニューラルネットワークを実行するステップと、
前記車両のフリートのうちの1又は複数の車両から、トレーニングデータとして使用するために前記ニューラルネットワークを更新するように構成された画像を取得するステップと、を含み、
前記システムは、前記システムに対して個々の車両に画像を送信させるのに必要な1又は複数の条件と併せて、前記トリガ分類器を提供する、方法。
【請求項2】
前記中間結果は前記ニューラルネットワークの中間層からの出力である、請求項1に記載の方法。
【請求項3】
前記システムは、前記中間結果を出力するために使用される前記ニューラルネットワークの特定の層を識別する、請求項1に記載の方法。
【請求項4】
前記1又は複数の必要な条件は、走行時間、前記トリガ分類器の最後に保持されたセンサデータからの最小時間、自動運転機能に関連付けられた解除イベント、車種、ステアリング角度の閾値、又は道路タイプの要件のうちの1又は複数に基づく、請求項に記載の方法。
【請求項5】
前記トリガ分類器は、トンネルの入口、トンネルの出口、道路の分岐点、道路の障害物、道路車線のライン、又は運転可能なスペースのうちの1又は複数を識別するために使用される、請求項1に記載の方法。
【請求項6】
前記システムは、前記1又は複数の車両から画像とともにメタデータを取得し、前記メタデータは位置、時刻、又は車両制御パラメータのうちの1又は複数を示す、請求項1に記載の方法。
【請求項7】
1又は複数のプロセッサ、及び、命令を記憶する非一次的なコンピュータ記憶媒体を備えるシステムであって、前記命令が前記1又は複数のプロセッサによって実行されるとき、前記1又は複数のプロセッサに対して、
1又は複数の車両の周囲に配置されたセンサからのセンサデータを含むトレーニングデータに基づいて、トリガ分類器をトレーニングさせることであって、トレーニングは、自動運転に関連付けられたニューラルネットワークからの中間結果を取得することと、前記中間結果に基づき、対象となる1又は複数の特徴を検出するように、前記トリガ分類器をトレーニングすることを含む、ことと、
前記1又は複数の特徴を描写する新しい画像を識別させるために前記トリガ分類器を車両のフリートに対して提供させることであって、前記車両のフリートは前記ニューラルネットワークを実行する、ことと、
前記車両のフリートのうちの1又は複数の車両から、トレーニングデータとして使用するために前記ニューラルネットワークを更新するように構成された画像を取得させることと、
を含む動作を実行させ
前記システムは、前記システムに対して個々の車両に画像を送信させるのに必要な1又は複数の条件と併せて、前記トリガ分類器を提供する、システム。
【請求項8】
前記中間結果は前記ニューラルネットワークの中間層からの出力である、請求項に記載のシステム。
【請求項9】
前記システムは前記中間結果を出力するために使用される前記ニューラルネットワークの特定の層を識別する、請求項に記載のシステム。
【請求項10】
前記1又は複数の必要な条件は、走行時間、前記トリガ分類器の最後に保持されたセンサデータからの最小時間、自動運転機能に関連付けられた解除イベント、車種、ステアリング角度の閾値、又は道路タイプの要件のうちの1又は複数に基づく、請求項に記載のシステム。
【請求項11】
前記トリガ分類器は、トンネルの入口、トンネルの出口、道路の分岐点、道路の障害物、道路車線のライン、又は運転可能なスペースのうちの1又は複数を識別するために使用される、請求項に記載のシステム。
【請求項12】
前記システムは、前記1又は複数の車両から画像とともにメタデータを取得し、前記メタデータは位置、時刻、又は車両制御パラメータのうちの1又は複数を示す、請求項に記載のシステム。
【請求項13】
車両のフリートのうちの複数の車両に提供されるとともに、1又は複数のプロセッサを含むシステムを介して実行されるコンピュータプログラムを格納する非一時的なコンピュータ可読記憶媒体であって、前記コンピュータプログラムが、コンピュータ命令を含み、前記コンピュータ命令は、前記1又は複数のプロセッサによって実行されるとき、前記1又は複数のプロセッサに対して、
1又は複数の車両の周囲に配置されたセンサからのセンサデータを含むトレーニングデータに基づいて、トリガ分類器をトレーニングさせることであって、トレーニングは、自動運転に関連付けられたニューラルネットワークからの中間結果を取得することと、前記中間結果に基づき、対象となる1又は複数の特徴を検出するように、前記トリガ分類器をトレーニングすることとを含む、ことと、
前記1又は複数の特徴を描写する新しい画像を識別するために前記トリガ分類器を車両のフリートに対して提供させることであって、前記車両のフリートは前記ニューラルネットワークを実行する、ことと
前記車両のフリートのうちの1又は複数の車両から、トレーニングデータとして使用するために前記ニューラルネットワークを更新するように構成された画像を取得させることと、を含む動作を実行させ、
前記システムは、前記システムに対して個々の車両に画像を送信させるのに必要な1又は複数の条件と併せて、前記トリガ分類器を提供する、コンピュータ可読記憶媒体
【請求項14】
前記中間結果は前記ニューラルネットワークの中間層からの出力である、請求項13に記載のコンピュータ記憶媒体。
【請求項15】
前記システムは前記中間結果を出力するために使用される前記ニューラルネットワークの特定の層を識別する、請求項13に記載のコンピュータ可読記憶媒体。
【請求項16】
前記トリガ分類器は、トンネルの入口、トンネルの出口、道路の分岐点、道路の障害物、道路車線のライン、又は運転可能なスペースのうちの1又は複数を識別するために使用される、請求項13に記載のコンピュータ可読記憶媒体。
【請求項17】
前記システムは、前記1又は複数の車両から画像とともにメタデータを取得し、前記メタデータは位置、時刻、又は車両制御パラメータのうちの1又は複数を示す、請求項13に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、参照によってその全体が本明細書に組み込まれる、2018年9月14日に
出願され、「NEURAL NETWORK TRAINING」と題された、米国仮特
許出願第62/731,651号の全体を参照によって本明細書に組み込む。
【0002】
外国又は国内の優先権主張が本出願と共に提出されたものとして出願データシートで特
定されているありとあらゆる出願は、米国特許法施行規則第1.57に基づいてその全体
が参照により本明細書に組み込まれる。
【0003】
本開示は、機械学習のためのシステム及び手法に関する。より詳細には、本開示は、ト
レーニングデータの生成のための手法に関する。
【背景技術】
【0004】
自動運転などのアプリケーションに使用されるディープラーニングシステムは、機械学
習モデルをトレーニングすることによって開発される。通常、ディープラーニングシステ
ムのパフォーマンスは、モデルをトレーニングするために使用されるトレーニングセット
の品質によって少なくとも部分的に制限される。多くの場合、トレーニングデータの収集
、キュレーション、及びアノテーションに多大なリソースが投資される。トレーニングセ
ットを作成するために必要とされる労力は多大なものになり得、多くの場合面倒である。
さらには、機械学習モデルが改善を必要とする特定のユースケースについてのデータを収
集するのは困難な場合が多い。
【図面の簡単な説明】
【0005】
以下の図面及び関連する説明は、本開示の実施形態を示すために提供されており、特許請
求の範囲を限定するものではない。本開示の態様及び付随する利点の多くは、添付の図面
と併せて解釈されると、以下の詳細な説明を参照することによって同じことがよりよく理
解されるようになるので、より容易に理解されるようになる。
【0006】
図1A】道路を走行し、道路上に配置されたタイヤを検出する自動車を示す概略図である。
【0007】
図1B】トレーニングデータを生成するためのシステムの一実施形態を示すブロック図である。
【0008】
図2】機械学習モデルの中間結果にトリガ分類器を適用するためのプロセスの実施形態を示すフロー図である。
【0009】
図3】機械学習モデルの中間結果を使用してトリガ分類器を作成するためのプロセスの実施形態を示すフロー図である。
【0010】
図4】トリガ分類器を使用して潜在的なトレーニングデータを識別し、センサデータを送信するためのプロセスの実施形態を示すフロー図である。
【0011】
図5】トリガ分類器によって識別されたユースケースに対応するデータからトレーニングデータをデプロイするためのプロセスの実施形態を示すフロー図である。
【0012】
図6】車両上で分類器の選択を実行し、センサデータを送信するためのプロセスの実施形態を示すフロー図である。
【0013】
図7】潜在的なトレーニングデータを識別するためのディープラーニングシステムの実施形態を示すブロック図である。
【発明を実施するための形態】
【0014】
本明細書では、1又は複数のイノベーションが説明されており、これらは、プロセスと
して、装置として、システムとして、合成物として、コンピュータ可読記憶媒体上に具現
化されたコンピュータプログラム製品として、及び/又は、プロセッサに連結されたメモ
リ上に格納され及び/又はそれによって提供される、命令を実行するように構成されたプ
ロセッサなどのプロセッサとして、を含む多くの方法で実施されることができる。本明細
書では、これらの実施態様、又は、イノベーションがとり得る任意の他の形式は、手法と
称され得る。一般に、開示されたプロセスのステップの順序は、イノベーションの範囲内
で変更され得る。別途明記されない限り、タスクを実行するように構成されていると説明
されるプロセッサ又はメモリなどのコンポーネントは、所与の時間においてそのタスクを
実行するように一時的に構成される汎用コンポーネント、又はそのタスクを実行するよう
に製造された特定のコンポーネント、として実施され得る。本明細書において使用される
場合、「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理す
るように構成された1又は複数のデバイス、回路、及び/又は処理コアを指す。
【0015】
1又は複数のイノベーションの1又は複数の実施形態の詳細な説明が、イノベーション
の原理を示す添付の図と共に以下に提供される。イノベーションは、こうした実施形態に
関連して説明されるが、イノベーションは、いかなる実施形態にも限定されない。イノベ
ーションの範囲は特許請求の範囲によってのみ制限され、イノベーションには多数の代替
形態、修正形態、及び等価形態を含む。イノベーションの完全な理解を提供するために、
以下の説明において多くの具体的な詳細が述べられる。これらの詳細は例示の目的で提供
されており、イノベーションは、これらの特定の詳細の一部又はすべてがなしに、特許請
求の範囲に従って実践され得る。分かりやすくするために、イノベーションが不必要に不
明瞭になることがないように、イノベーションに関連する技術分野において知られている
技術資料は詳細に説明されていない。
【0016】
導入
本明細書は、少なくとも、以下の技術的問題に対処するイノベーションについて説明す
る。効果的な機械学習手法は、基礎となる機械学習モデルに情報を提供するために使用さ
れるトレーニングデータセットに依存する。たとえば、ニューラルネットワークは、数千
、数十万、数百万などの例を使用してトレーニングされ得る。トレーニング中、これらの
例は、ニューラルネットワークのパラメータ(たとえば、重み、バイアスなど)を調整す
るために使用され得る。さらに、これらの例は、ニューラルネットワークのハイパーパラ
メータ(たとえば、いくつかの層)を調整するために使用され得る。このように、トレー
ニングデータへのアクセスは、こうした機械学習手法の使用に対する制約である。
【0017】
より深いニューラルネットワークなど、機械学習モデルがより複雑になるにつれて、そ
れに応じて大規模なトレーニングデータセットの必要性が高まる。これらのより深いニュ
ーラルネットワークは、それらの一般化可能性が高いことを確実にするために、より浅い
ニューラルネットワークと比較してより多くのトレーニング例を必要とし得る。たとえば
、ニューラルネットワークはトレーニングデータに関して高精度になるようにトレーニン
グされ得るが、一方、ニューラルネットワークは目に見えない将来の例に対してうまく一
般化されない場合がある。この例では、ニューラルネットワークはトレーニングデータに
含まれる追加の例から恩恵を受け得る。
【0018】
トレーニングデータを取得することは非常に大きな技術的ハードルを提示し得ることが
理解され得る。たとえば、画像に含まれる特徴又は物体を分類するために、ある特定の機
械学習モデルが使用され得る。この例では、機械学習モデルは、第2の物体(たとえば、
一時停止標識)から第1の物体(たとえば、自動車)を認識することを学習し得る。これ
らの機械学習モデルの有効性は、特徴又は物体の例の数に応じて制約され得る。たとえば
、エンティティは、路上で乗られているバイクを認識するための機械学習モデルを要望し
得る。別の例として、エンティティは、車の後ろで運ばれているバイクを認識するための
機械学習モデルを要望し得る。これらの例の十分なトレーニング例がない場合、機械学習
モデルは、その認識において、使用可能であるほど十分正確でない場合がある。一般に、
エンティティは、ある特定の特徴又は物体を含めるために、人に画像をラベル付けさせる
のに多大な労力を費やすことを必要とされ得る。たとえば、人は手動で画像を再検討し、
次いで、ある特定の特徴又は物体に対応するように画像の一部にラベルを割り当てなけれ
ばならない場合がある。
【0019】
一実施形態は、トレーニングデータを迅速に生成することによってこの問題に対処する
システム及び方法である。一実施形態では、トレーニングデータは、任意の所望のラーニ
ング可能な特徴の例を含み得る。コンピュータビジョンに関しては、画像内の任意の所望
の物体又は特徴の例を含むトレーニングデータが迅速に生成され得る。これらの物体又は
特徴は、通常、識別するのが難しい「エッジケース」を表し得る。たとえば、エンティテ
ィによって要望される複雑なシーンの画像を含むトレーニングデータが生成され得る。こ
の例では、エンティティは、車両の後ろ又は前にあるバイク(たとえば、公共バスのフロ
ントラックで運ばれているバイク)を描写している画像を取得することを好み得る。
【0020】
上記のエンティティは、世界のさまざまな道路又はその他の方法でナビゲート可能な領
域を移動している多数(たとえば、数千、数百万)の車両を活用し得る。これらの車両は
、センサ(たとえば、カメラ)を含み得るか、又はその他の方法でそれにアクセスでき得
る。これらの車両が移動するとき、それらはセンサ情報をキャプチャし得る。たとえば、
センサ情報は、車両の通常の動作過程でキャプチャされ得る。センサ情報は、車線ナビゲ
ーションなどの、ある特定の自動運転機能のために車両によって使用され得る。しかしな
がら、一実施形態では、システムは、車両が、機械学習システムのためのトレーニングデ
ータとして使用されるために、エンティティによって要望される画像特徴又は物体の例を
収集することを可能にする、回路及びソフトウェアを含む。
【0021】
たとえば、分類器(たとえば、小さい又は浅いニューラルネットワーク、サポートベク
タマシンなど)が、車両の少なくとも一部にアップロードされ得る。車両は、通常の動作
中にセンサ情報(たとえば、画像、映像)を取得し得、分類器は、センサ情報内に表され
た特定の特徴又は物体を識別するように構成され得る。車両に提供される前に、これらの
分類器は、特定の画像特徴又は物体を含むように画像を分類するようにトレーニングされ
得る。たとえば、これらの分類器をトレーニングするために、限られた数の、特定の画像
特徴又は物体の例(たとえば、百、千など)が使用され得る。説明されるように、分類器
は、次いで、車両上で実行される機械学習モデルの一中間層からの情報を使用してセンサ
データを分類し得る。例示的な機械学習モデルは、畳み込みネットワークを含み得る。こ
の例示的な機械学習モデルは、少なくとも部分的に、上記の自動運転機能のために使用さ
れ得る。このように、分類器は、既存の例示的な機械学習モデルを活用し得る。
【0022】
多数のこれらの分類器は、分類器が、分類器に関連付けられた特定の画像特徴又は物体
を認識するために使用され得るように、車両内のコンピュータシステムにアップロードさ
れ得る。特定の特徴又は物体を含むものとして分類器によって指定されたキャプチャされ
た画像は、次いで、中央サーバシステムに送信され、ニューラルネットワークシステムの
ためのトレーニングデータとして使用されることができる。分類器は、通常の動作におい
て車両によってすでに実行されている既存の機械学習モデルを活用し得るため、分類器は
処理要件の点で効率的であり得る。さらに、異種環境において運転されている多数の車両
が存在し得、そのことがある特定の特徴の「エッジケース」を見つけるのが難しい例を取
得する可能性を増加させる。このようにして、エンティティは、エンティティにとって関
心のある特定の画像特徴又は物体を表すセンサ情報(たとえば、画像)を迅速に取得し得
る。
【0023】
本明細書では、学習されるべき物体又は特徴は、センサデータ内にキャプチャされるこ
とができる任意の現実世界の物体、シナリオ、特徴などを表し得る。例示的な物体又は特
徴は、道路内のタイヤ、トンネルの出口、バイク、道路に伸びる枝のある木、車両が特定
の方向に向けられているか又は特定のアクション又は操作を実行しているシーン、などを
含み得る。さらに、ここでは、ユースケース又は目的のためにトレーニングデータを識別
することに触れる。例示的なユースケース又は目的は、1又は複数の物体、特徴などを識
別することを含み得る。さらに、本明細書は、画像などのセンサ情報を取得する車両を説
明しているが、本明細書に記載されている特徴は、広く適用可能であり得ることが理解さ
れ得る。たとえば、分類器は、ユーザデバイス(たとえば、スマートフォン)に提供され
得、特定の画像特徴又は物体を認識するために使用され得る。別の例として、分類器は、
飛行機、無人航空機、無人車両などで使用され得る。
【0024】
トレーニングデータの生成
特定のユースケースに関連する追加のトレーニングデータを識別するためのニューラル
ネットワークトレーニング手法が開示される。追加のトレーニングデータ、特に、正しく
分析するのが難しいユースケースについてのデータ、を識別及び収集することにより、デ
ィープラーニングシステムが、そのパフォーマンスを改善するように再トレーニングされ
ることができる。たとえば、難しいユースケースが識別されることができ、そのユースケ
ースに基づいてデータが収集されることができる。次いで、古いモデルよりもパフォーマ
ンスがすぐれている新しい機械学習モデルが、新しく収集されたデータを使用してトレー
ニングされることができる。さまざまな実施形態において、既存の機械学習モデルが、関
連するトレーニングデータを識別するためにトリガ分類器と共に利用される。次いで、新
しいトレーニングデータを作成するための処理のために、関連するトレーニングデータが
返送される。いくつかの実施形態では、ターゲットユースケースを代表する初期データセ
ットが作成され、トリガ分類器を作成するために使用される。
【0025】
たとえば、自動運転のためのディープラーニングシステムは、トンネルの出口を分析及
び識別しにくい場合がある。トレーニングデータセットは、トンネルの出口の正及び負の
例を使用して作成される。いくつかの実施形態では、トリガ分類器は、既存の機械学習モ
デルの層の中間出力を使用して、初期トレーニングデータセットでトレーニングされる。
いくつかの実施形態では、その層は中間層である。たとえば、トレーニングセットからの
データが既存の機械学習モデルに供給され、モデルの、最後から2番目の層の出力が、ト
リガ分類器をトレーニングするための入力として使用される。いくつかの実施形態では、
トリガ分類器は、デプロイされるディープラーニングアプリケーションからオフラインで
トレーニングされたサポートベクタマシンである。トレーニングされた時点で、トリガ分
類器は、車両の自動運転システム内ですでに使用されているディープラーニングシステム
と一緒に実行されるために、インストール又はデプロイされ得る。たとえば、トリガ分類
器は、トリガ分類器を車両にダウンロード及びインストールする無線ネットワークを介し
てデプロイされ得る。トリガ分類器は、分類器スコアを決定するために、デプロイされた
ディープラーニングシステムの同じ層の中間出力に適用される。いくつかの実施形態では
、トリガ分類器への入力は、自律車両によってキャプチャされたセンサデータ、たとえば
、車両上のカメラによってキャプチャされた画像データに適用される畳み込みニューラル
ネットワーク(CNN)の層の中間出力である。
【0026】
いくつかの実施形態では、単一のサポートベクタマシン、小さなニューラルネットワー
ク、又は別の適切な分類器を使用して実施されるトリガ分類器が、キャプチャされた画像
全体及び/又は画像の特定の位置に適用され得る。たとえば、トリガ分類器は、画像のあ
りとあらゆる位置又は位置のサブセットに適用されることができる。トリガ分類器は、シ
ョッピングカート、動物などの小さな部分を識別するためにニューラルネットワークの特
徴を空間的に効果的にスキャンするために適用されることができる。適用された時点で、
トリガ分類器は分類器スコアを決定し、スコアに応じて、センサデータが識別され、潜在
的に有用なトレーニングデータとして保持される。一例として、トリガ分類器は、データ
がトンネルの出口を表す可能性がどの程度かに基づいて、カメラからのセンサデータをス
コアリングする。スコアが高く、トンネルの出口を表す可能性が高いセンサデータは保持
され、トレーニングデータとして使用されるためにフラグが付けられる。いくつかの実施
形態では、分類器スコアの決定を進めるために満たされなければならない条件、分類器ス
コアが閾値を超える状況、及び/又はセンサデータを保持するために必要な条件を決定す
るために、フィルタなどのトリガ特性がトリガ分類器に適用される。たとえば、いくつか
の実施形態では、センサデータは、30分ごとに1回だけなど、間隔ごとに最大1回スコ
アリング及び収集される。いくつかの実施形態では、分類器スコアは、センサデータが収
集及び保持されるために閾値を超えなければならない。センサデータが設定された閾値を
満たしている場合、センサデータは保持され、潜在的な新しいトレーニングデータとして
使用される。一実施形態では、センサデータは、トレーニングデータシステムを管理して
いるサーバに無線でアップロードされる。
【0027】
いくつかの実施形態では、位置、道路タイプ、車種、車両が左ハンドルか右ハンドルか
どうか、時刻、分類器スコア、最後に送信されたセンサデータからの時間の長さ、及び/
又は速度、加速、ステアリング、ブレーキング、ステアリング角度などの車両制御パラメ
ータ/動作条件、などの追加のメタデータが収集され、センサデータと共に保持される。
さまざまな実施形態において、データ及びメタデータが、コンピュータデータサーバに送
信され、特定のユースケースのためのディープラーニングシステムのアプリケーションを
改善するために新しいトレーニングデータセットを作成するために使用される。たとえば
、識別されたトンネルの出口に関連付けられた保持されたセンサデータは、トリガ分類器
によって識別され、トンネルの出口を識別するための追加のトレーニングデータを作成す
るために使用される。
【0028】
いくつかの実施形態では、アップロードした後、センサデータは、車両の自動運転機能
を改善するために使用される新しいトレーニングデータセットを作成するために再検討さ
れ、アノテーションされる。たとえば、データはトンネルの出口の正のサンプルとしてア
ノテーションされ得、さらに多くのユースケースを含む元のトレーニングデータセットを
補足するために使用され得る。新しい機械学習モデルは、自律車両のニューラルネットワ
ークを改善するために、新しくキュレーションされたデータセットを使用してトレーニン
グされ、次いで、自律車両システムへの更新として車両にデプロイされる。新しくデプロ
イされた機械学習モデルは、トリガ分類器によってターゲットとされる特定のユースケー
ス(たとえば、トンネルの出口)を検出するための改善された能力を有している。一例と
して、改善されたモデルは、トンネルの出口を識別することにおいて、改善された精度及
びパフォーマンスを有することになる。ユースケースのさらなる例は、特定の物体(たと
えば、ショッピングカート、動物など)、道路状況、天候、運転パターン、ハザードなど
を識別するためにトレーニングされたトリガ分類器を含む。
【0029】
さまざまな実施形態において、トリガ分類器は、自動運転のために使用されるディープ
ラーニングシステムのコンポーネントなど、車両のコアソフトウェアを更新することなく
、開発され、車両のフリートにデプロイされることができる。車両の既存のニューラルネ
ットワークソフトウェアにリンクし、及び関連付けられている、新規及び更新されたトリ
ガ分類器は、はるかに頻繁に、そして、とりわけ、走行、安全システム、ナビゲーション
などのコアの車両機能性にほとんど又はまったく影響を与えることなく、車両に対して強
要されることができる。たとえば、トリガ分類器は、石畳の道路を識別するようにトレー
ニングされ、車両のフリートにデプロイされ、数分以内に石畳の道路の画像及び関連デー
タの収集を開始することができる。開示された手法を使用して、進行中の車両動作又は車
両の運転者又は同乗者にほとんど又はまったく影響を与えることなく、特定のユースケー
スについて関連するトレーニングデータを収集する速度が大幅に改善される。新しいトリ
ガ分類器が、長くて面倒なインストールプロセスなしでデプロイされることができる。こ
のプロセスは、車両がサービス位置に運ばれることを必要とすることなく、たとえば無線
更新を使用して、リモートで動的に実行されることができる。こうした更新の後、トリガ
分類器は、キャプチャされた画像のスキャンを開始して、トリガ条件を満たす画像を探し
得、次いで、それらの条件を満たす画像を将来のトレーニングデータ対象としてアップロ
ードし得る。
【0030】
いくつかの実施形態では、センサデータは、異なるデバイスによって送信及び受信され
る。たとえば、その周囲に関連する情報を収集するセンサを含む、自動運転技術を備えた
車両は、そのセンサからセンサデータを受信する。いくつかの実施形態では、車両は、自
動運転に関連するデータをキャプチャするために、カメラ、超音波センサ、レーダセンサ
、LiDAR、及び/又は他の適切なセンサなどのセンサを備えている。いくつかの実施
形態では、ニューラルネットワークがセンサデータに適用される。たとえば、畳み込みニ
ューラルネットワーク(CNN)が、車両の前の道路の画像など、受信されたセンサデー
タに適用される。CNNは、キャプチャされたセンサデータ内の物体を識別するために使
用され得、ニューラルネットワークを適用した結果が車両の制御に使用される。一例とし
て、道路車線のラインが識別され、識別された車線のラインの間に車両を維持するために
使用される。
【0031】
いくつかの実施形態では、トリガ分類器が、センサデータについての分類器スコアを決
定するために、ニューラルネットワークの中間出力に適用される。たとえば、層の中間出
力が、センサデータについての分類器スコアを決定するトリガ分類器に供給される。いく
つかの実施形態では、ニューラルネットワークは、複数の中間層を含み、トリガ分類器へ
の入力をそこから受信すべき特定の中間出力(及び対応する層)が設定可能である。たと
えば、最後から2番目、最後から3番目、最後から4番目などの層の出力を受信するよう
にトリガ分類器が構成されることができる。いくつかの実施形態では、中間出力は、ニュ
ーラルネットワークの中間層のいずれかからの出力である。いくつかの実施形態では、中
間出力は、ニューラルネットワークの1番目の層の出力であり得る。いくつかの実施形態
では、分類器スコアに少なくとも部分的に基づいて、センサデータの少なくとも一部をコ
ンピュータネットワークを介して送信するかどうかの決定が行われる。たとえば、センサ
データを保持してさらなる使用のためにデータを送信するために必要とされる閾値を分類
器スコアが超えているかどうかに基づいて決定が行われる。いくつかの実施形態では、分
類器スコア、及び追加のトリガ分類器条件が満たされているかどうか、に基づいて決定が
行われる。必要な条件の例は、車両の位置、車両が走行している時間、車種、自動運転機
能が最近解除されたかどうか、などに基づいて、キャプチャされたセンサデータをフィル
タリングするために使用され得る。さまざまな実施形態において、必要な条件及びスコア
閾値を満たすセンサデータは、さらなる処理のために、WiFi又はセルラネットワーク
などのコンピュータネットワークを介してコンピュータサーバに送信される。いくつかの
実施形態では、データは、新しい又は追加のトレーニングデータセットを作成するために
処理される。さまざまな実施形態において、トレーニングデータは、トレーニングデータ
及び検証データの両方を含む。
【0032】
ブロック図の例
図1Aは、道路に沿って移動し、周囲状況からトレーニングデータを収集する、車両を
示す概略図である。例示的なブロック図では、車両102が道路を走行している。車両1
02は、センサが車両102に関するセンサボリューム104に関する情報をキャプチャ
するように、カメラ、レーダなどのセンサを含み得る。例示的なセンサ107が図1A
示されている。たとえば、車両102は、車両102の周囲状況の画像を取得し得る。次
いで、これらの取得された画像は、周囲状況を理解しようと分析され得る。たとえば、画
像に表されている物体を分類するために画像が分析され得る。この例では、他の車両、道
路標示、樹木又は他の植物、道路の障害物、歩行者、標識などを識別するために画像が分
析され得る。以下でより詳細に説明されるように、車両102は、センサ情報を分析する
ために機械学習手法を活用し得る。たとえば、例示的なセンサボリューム104に含まれ
る物体を分類するために、1又は複数の畳み込みニューラルネットワークが使用され得る
図1B及び図7に関して、車両102によって使用され得るディープラーニングシステ
ム700の例示的な説明が以下に含まれている。
【0033】
センサ情報を分析するために上記の機械学習手法が使用され得るが、ある特定の現実世
界の物体又はシナリオは、車両102が正確に理解又は分類するのが難しい場合があるこ
とが理解されるべきである。たとえば、タイヤ106が、車両102が走行している道路
上に配置されて示されている。このタイヤ106を認識できることは、車両102の安全
性及びパフォーマンスを向上させ得る。一例として、車両102は、タイヤ106が車両
102の経路内にある場合、タイヤ106を避けてナビゲートするために自動運転手法を
実行し得る。さらに、タイヤが車両102の経路内にない場合でも、タイヤ102を認識
することは、車両102の自動運転になお影響を与え得る。たとえば、他の車両が、タイ
ヤ106を回避するために、車両102の車線に突然入り込んでくるかもしれない。この
ように、この例では、タイヤ106を識別できることは、車両102の将来の予測される
動きを知らせ得る(たとえば、別の車両がタイヤ106に近づくにつれて先制して減速す
る)。
【0034】
このように、センサボリューム104に含まれているものとしてタイヤ106を正確に
識別することは車両102にとって有益であり得る。しかしながら、そして上記のように
、タイヤ106を識別できることは、かなりのトレーニングデータを必要とし得る。トレ
ーニングデータは、さまざまな道路上のすべての構成の多数のタイヤの画像を含み得る。
トレーニングデータは、異なる道路上の異なるタイヤの画像を含めることで強化され得る
。さらに、トレーニングデータは、異なる走行環境における異なる道路上の異なるタイヤ
の画像によって強化され得る。たとえば、異なる道路上で雪に部分的に含まれているタイ
ヤの画像を有することは有利であり得る。別の例として、ほこりっぽい道路に含まれてい
る空気の抜けたタイヤの画像を有することは有利であり得る。こうした画像へのアクセス
を獲得することは、大きな技術的課題を示し得る。
【0035】
説明されるように、タイヤを認識するように1又は複数の分類器がトレーニングされ得
る。たとえば、限られた、トレーニング例のセットを使用して、分類器がトレーニングさ
れ得る。次いで、これらの分類器は、無線(OTA:over the air)更新を
介して車両102に提供され得る。たとえば、OTA更新は、車両102を介して無線で
(たとえば、Wi-Fiを介して、LTEネットワークなどのセルラ信号を介して、など
)受信され得る。次いで、分類器は、車両102によって取得されたセンサ情報を分析し
得る。分類器が、タイヤがセンサ情報(たとえば、画像)内に描写されていることを検出
した場合、車両102は、処理のためにセンサ情報を外部システムに送信し得る。この外
部システムは、タイヤのトレーニングデータセットを作成するために、こうした受信され
たセンサ情報を集約し得る。説明されるように、これらのトレーニングデータセットは、
次いで、車両102上で実行される複雑な機械学習モデル(たとえば、畳み込みニューラ
ルネットワーク)をトレーニングするために使用され得る。このようにして、自動運転タ
スクを実行するために、機械学習モデル、したがって車両102の能力が強化され得る。
【0036】
図1Bは、トレーニングデータの生成を示すブロック図である。この図示例では、セン
サデータ108が車両102によって受信されている。センサデータ108は、図1に示
されるタイヤ106を描写する1又は複数の画像又は映像を含み得る。このセンサデータ
108は、車両102に含まれる、1又は複数のプロセッサのディープラーニングシステ
ム700に提供され得る。ディープラーニングシステム700の態様の一例が図1Bに示
されている。
【0037】
示されるように、ディープラーニングシステム700は、受信されたセンサデータ10
8を分析するために、畳み込みニューラルネットワークなどの例示的な機械学習手法を使
用し得る。図2に説明されるように、センサデータ108は、前処理され得る(たとえば
、正規化され、フィルタを通されるなど)。畳み込みニューラルネットワークは、多数の
畳み込み層を含み得ることが理解され得る。これらの畳み込み層は、出力ボリュームが作
成されるように畳み込みフィルタを適用し得る。いくつかの実施形態では、センサデータ
108に含まれる特徴又は物体を分類するために、最終層として、1又は複数の全結合層
又は密層が使用され得る。一例として、1又は複数のソフトマックス層又は独立したロジ
スティック分類器が、特徴又は物体を分類するために使用され得る。このようにして、デ
ィープラーニングシステム700は、車両102周囲のセンサボリューム104に含まれ
る、現実世界の物体、シナリオなどを識別し得る。これらの現実世界の物体、シナリオな
どを識別することに基づいて、車両102は、自動運転タスクを実行し得る。このように
、車両102は、その典型的な動作において畳み込みニューラルネットワークを実施し得
る。
【0038】
ディープラーニングシステム700は、1又は複数の分類器を含む。たとえば、分類器
A~N 110A~110Nが図1Bに示されている。これらの分類器110A~110
Nは、車両102に対するOTA更新(たとえば、車両に提供される定期的な更新)を介
して受信された可能性がある。分類器110A~110Nを受信する前に、エンティティ
は、センサデータ内に表されるそれぞれの特徴又は物体を識別するようにそれらをトレー
ニングした可能性がある。たとえば、分類器A 110Aは、雪景色を識別するようにト
レーニングされた可能性がある。別の例として、分類器N 110Nは、タイヤ、道路上
のバイクなどを識別するようにトレーニングされた可能性がある。エンティティは、限ら
れたトレーニングデータを使用して分類器110A~110Nをトレーニングした可能性
がある。たとえば、分類器N 110Nは、100、500、1000の、道路上のタイ
ヤの例、又は特定のタイプの道路上の特定のタイプのタイヤを使用してトレーニングされ
た可能性がある。
【0039】
示されるように、分類器110A~110Nは、例示的な機械学習モデル(たとえば、
畳み込みニューラルネットワーク)の一中間層から取得された情報を使用し得る。たとえ
ば、畳み込みニューラルネットワークの一中間層から特徴112が取得され得る。畳み込
みニューラルネットワークが、センサデータ内の特徴又は物体を分類又はその他の方法で
識別するようにトレーニングされ得るので、分類器はこの既存の能力を活用し得る。一例
として、畳み込みニューラルネットワークは、現実世界の物体を示す特徴を学習するため
に畳み込みフィルタを適用することを学習し得る。次いで、畳み込みニューラルネットワ
ークは、現実世界の物体の特定のカテゴリ又はクラスに対応するように特徴を分類し得る
【0040】
したがって、分類器110A~110Nをトレーニングするとき、それらは、畳み込み
ニューラルネットワークの一中間層から取得された情報を使用してトレーニングされ得る
。たとえば、分類器110Nは、タイヤを描写している画像の限定されたトレーニングデ
ータセットを使用してトレーニングされ得る。この例では、画像が例示的な畳み込みニュ
ーラルネットワークに提供され得る。畳み込みニューラルネットワークの特定の中間層で
、特徴112が分類器110Nに提供され得る。次いで、分類器110Nは、タイヤを描
写している画像について高い分類器スコアを割り当てるようにトレーニングされ得る。分
類器110Nは、随意選択的に、タイヤを描写していない画像について低い分類器スコア
を割り当てるようにトレーニングされ得る。このようにして、分類器110Nは、畳み込
みニューラルネットワークを活用し得、これは、上記のように、車両102の典型的な動
作で使用され得る。
【0041】
図1Bに示されるように、分類器110A~110Nは、畳み込みニューラルネットワ
ークの一中間層から特徴112を受信している。随意選択的に、分類器110A~110
Nは、異なる中間層からの特徴を使用し得る。たとえば、分類器N 110Nは、第1の
層(たとえば、層4、5など)からの特徴を使用し得、一方、分類器A 110Nは、第
2の層(たとえば、6、7など)からの特徴を使用し得る。トレーニングの間、そこから
特徴を受信すべき特定の層が分類器ごとに識別され得る。たとえば、特定の層は、バリデ
ーションデータセットに関する対応するトレーニング分類器の精度に基づいて識別され得
る。
【0042】
図1Aに示されるタイヤ106に関して、分類器110A~110Nのうちの1つは、
タイヤを識別するようにトレーニングされ得る。たとえば、分類器N 110Nが、タイ
ヤを識別するようにトレーニングされ得る。この例では、分類器N 110Nは、分類器
スコアをセンサデータ108に割り当て得る。示された例では、分類器N 110Nは、
閾値よりも大きい分類器スコア(たとえば、0.5、0.7など)を割り当てている。し
たがって、車両102は、センサデータ108を外部システム(たとえば、トレーニング
データ生成システム120)に送信し得る。たとえば、車両は、Wi-Fi、セルラサー
ビスなどを介して、ネットワーク(たとえば、インターネット)を介してセンサデータ1
08を送信し得る。
【0043】
このように、外部システム120は、多数の車両からセンサデータ108を受信し得る
。たとえば、外部システム120は、通常の動作の途中に、たまたまタイヤの近くを通過
し得る車両から、タイヤを描写している画像を受信し得る。有利には、これらのタイヤは
、異なるタイプのものであり得、空気を抜かれているか又は朽ちた状態にあり得、異なる
道路状況で表され得、部分的に閉塞され得る、などである。分類器110A~110Nは
、一例として、多数のセンサデータ108の外部システム120への送信を引き起こす分
類器スコアを使用し得る。たとえば、システム120に送信される画像の一部は、タイヤ
を含まない場合がある。このように、いくつかの実施形態では、エンティティは、画像の
いくつかを迅速に再検討され得及び破棄し得る。残りの画像は、大きなトレーニングデー
タセットに集約され得、車両上で実行されている機械学習モデルを更新するために使用さ
れ得る。たとえば、畳み込みニューラルネットワークが、タイヤを識別するようにトレー
ニングされ得る。随意選択的に、バウンディングボックス又は他のラベル情報が、集約さ
れたトレーニングデータセットに含まれる画像に割り当てられ得る。
【0044】
いくつかの実施形態では、車両102は、車両102によって現在実行されているより
も多くの分類器を有し得る。たとえば、車両102は、50、75、100の分類器を有
し得る。しかしながら、車両102の動作の間、車両102は、20、30、40、又は
それ以上の分類器が実行され得る。たとえば、車両102は、車両102によって格納さ
れた全分類器のサブセットについてそれぞれの分類器スコアを決定し得る。随意選択的に
、各分類器は、別の分類器と交換される前に、特定の期間実行され得る。
【0045】
さらに、車両102は、1又は複数のトリガに応じてある特定の分類器が実行され得る
。一例として、車両102は、ある特定の現実世界の物体、特徴を有するか、又はある特
定のシナリオを示す、ということが知られている位置、又はおおよその位置を識別する情
報を受信し得る。たとえば、車両102は、ある特定のエリアにトンネルの出口があるこ
とを識別する地図情報にアクセスし得る。この例では、車両102は、車両102がトン
ネルの出口に近接しているときに、トンネルの出口の識別に関連付けられた分類器が実行
されていることを確実にし得る。
【0046】
別の例として、外部システム120は、随意選択的に、受信されたセンサデータと共に
位置情報を受信し得る。このように、外部システム120は、閾値数の車両が、特定の現
実世界のエリアについて同じ分類器に基づいてセンサデータを送信したことを識別し得る
。一例として、外部システム120は、特定のオンランプが道路に障害物を有することを
識別し得る。別の例として、外部システム120は、特定のオンランプが道路にある特定
のタイプの障害物を有することを識別し得る。次いで、システム120は、その特定の現
実世界のエリアに近接しているときに同じ分類器を実行するために、車両の一部に情報を
送信し得る。このようにして、システム120は、この同じセンサに基づいて、より大量
のトレーニングデータを取得できることを確実にし得る。
【0047】
さらに、システム120は、上記の分類器が閾値を超える分類器スコアを割り当てない
場合でも、センサデータを送信するように車両に指示し得る。一例として、システム12
0は、現実世界の位置に近接する閾値数の車両からセンサデータを受信し得る。この例で
は、システム120は、当該の現実世界の位置の閾値距離内の任意の車両に、それらの分
類器が閾値を超える分類器スコアを生成しない場合でも、センサデータ(たとえば、画像
)を送信するように指示し得る。分類器は、限られた数の例(たとえば、上記のように1
00、1000)のトレーニングセット上でトレーニングされ得るので、物体に対する特
定の車両の角度に応じて、その特定の車両の分類器は、物体を識別しない場合がある。し
かしながら、センサデータは、物体についてのロバストなトレーニングセットの生成に有
用であり得る。たとえば、物体は、特定の車両によって取得された画像内で部分的に可視
であり得、したがって、物体を識別するために大規模なトレーニングセットで有用であり
得る。このようにして、外部システム120は、分類器をオーバライドし、特定の車両に
センサデータを送信させ得る。
【0048】
外部システム120が位置情報又は任意の識別情報を受信するすべての状況において、
情報は匿名にされ得ることが理解されるべきである。さらに、こうした手法は、肯定的な
ユーザの許諾(たとえば、オプトイン)を必要とし得る。
【0049】
例示的なフロー図
図2は、機械学習モデルの中間結果にトリガ分類器を適用するためのプロセスの実施形
態を示すフロー図である。いくつかの実施形態では、図2のプロセスは、自動運転のため
の機械学習モデルのためにセンサによってキャプチャされ、特定のユースケースを満たす
、センサデータを収集及び保持するために利用される。たとえば、特定のユースケースは
、特定の特徴、物体、シナリオなど、の識別に関連付けられ得る。いくつかの実施形態で
は、図2のプロセスは、自動運転制御がイネーブルにされているか否かにかかわらず、自
動運転が可能である車両上で実施される。たとえば、センサデータは、自動運転が解除さ
れた直後、又は車両が人間の運転者によって運転されているときに収集されることができ
る。いくつかの実施形態では、図2によって説明される手法は、特に、分析が困難なユー
スケースについて、トレーニングデータセットを改善するために、自動運転のコンテキス
ト外の他のディープラーニングシステムに適用されることができる。さまざまな実施形態
において、トリガ分類器は、機械学習の層の中間出力、及びユースケースのために設計さ
れたトレーニングデータを使用してトレーニングされている。
【0050】
いくつかの実施形態では、複数のユースケースについてセンサデータを識別するために
、複数のトリガ及び/又は複数の分類器が一緒に使用され得る。たとえば、トンネルを識
別するために1つのトリガが使用され得、マンホールのために別のトリガが使用され得、
道路の分岐点のために別のトリガが使用され得る、などである。いくつかの実施形態では
、分類器スコアを決定するため、及び/又は必要な条件を適用するためのトリガ分類器の
機能コンポーネントが、異なるトリガ間で共有される。いくつかの実施形態では、各トリ
ガは、重み付きベクトル、オプションのバイアス、及び分類器スコアを比較するための1
又は複数の閾値の基準値を使用して指定される。いくつかの実施形態では、時刻、車両の
位置、道路タイプなどの追加の必要な条件が、特定のトリガについて指定される。たとえ
ば、トリガは、トンネルのセンサデータが夜明けと夕暮れにのみキャプチャされることを
必要とし得る。別の例として、及び重複データを減らすのに役立つため、トリガは、セン
サデータが、最大で30分ごとで、かつ、車両が少なくとも20分間運転された後にのみ
、キャプチャされることを必要とし得る。さまざまな実施形態において、トリガ閾値及び
必要な条件は、トリガ分類器に対して指定された特性である。
【0051】
201において、センサデータが受信される。たとえば、センサを備えた車両がセンサ
データをキャプチャし、車両上で動作しているニューラルネットワークにそのセンサデー
タを提供する。いくつかの実施形態では、センサデータは、視覚データ、超音波データ、
LiDARデータ、又は他の適切なセンサデータであり得る。たとえば、画像はハイダイ
ナミックレンジの前向きのカメラからキャプチャされる。別の例として、超音波データは
横向きの超音波センサからキャプチャされる。いくつかの実施形態では、車両には、デー
タをキャプチャするための複数のセンサが取り付けられている。たとえば、いくつかの実
施形態では、8つのサラウンドカメラが車両に取り付けられ、最大250メートルの範囲
で車両の周囲に360度の視界を提供する。いくつかの実施形態では、カメラセンサは、
広角の前方カメラ、挟角の前方カメラ、リアビューカメラ、前方を向いたサイドカメラ、
及び/又は後方を向いたサイドカメラを含む。いくつかの実施形態では、周囲の詳細をキ
ャプチャするために超音波及び/又はレーダセンサが使用される。たとえば、硬い物体及
び柔らかい物体の両方を検出するために12個の超音波センサが車両に取り付けられ得る
。いくつかの実施形態では、周囲環境のデータをキャプチャするために前向きのレーダが
利用される。さまざまな実施形態において、レーダセンサは、大雨、霧、ほこり、及び他
の車両にもかかわらず、周囲の詳細をキャプチャすることができる。車両周囲の環境をキ
ャプチャするためにさまざまなセンサが使用され、キャプチャされた画像はディープラー
ニング分析のために提供される。
【0052】
203において、センサデータが前処理される。いくつかの実施形態では、1又は複数
の前処理パスが、センサデータに対して実行され得る。たとえば、データは、位置合わせ
の問題及び/又はぼやけを修正するために、ノイズを除去するために前処理され得る。い
くつかの実施形態では、1又は複数の異なるフィルタリングパスがデータに対して実行さ
れる。たとえば、センサデータの異なるコンポーネントを分離するために、ハイパスフィ
ルタがデータに対して実行され得、及びローパスフィルタがデータに対して実行され得る
。さまざまな実施形態において、203で実行される前処理ステップは、オプションであ
り、及び/又はニューラルネットワークに組み込まれ得る。
【0053】
205において、センサデータのディープラーニング分析が開始される。いくつかの実
施形態では、ディープラーニング分析が、203で随意選択的に前処理されたセンサデー
タに対して実行される。さまざまな実施形態において、ディープラーニング分析は、畳み
込みニューラルネットワーク(CNN)などのニューラルネットワークを使用して実行さ
れる。さまざまな実施形態において、機械学習モデルはオフラインでトレーニングされ、
センサデータに対して推論を実行するために車両にインストールされる。たとえば、モデ
ルは、必要に応じて、道路車線のライン、障害物、歩行者、移動車両、駐車車両、運転可
能なスペースなどを識別するようにトレーニングされ得る。さまざまな実施形態において
、ニューラルネットワークは、1又は複数の中間層を含む複数の層を含む。
【0054】
207において、潜在的なトレーニングデータが識別される。たとえば、機械学習モデ
ルをトレーニングするために使用され得るセンサデータが、ディープラーニング分析を使
用して分析されたセンサデータから識別される。いくつかの実施形態では、識別されたト
レーニングデータは、特定のユースケースに関連付けられたデータである。たとえば、可
能なユースケースは、カーブした道路、オンランプ、オフランプ、トンネルの入口、トン
ネルの出口、道路の障害物、道路の分岐点、道路車線のライン又はマーカ、運転可能なス
ペース、道路標識、標識の内容(例えば、単語、数字、記号など)、及び/又は必要に応
じて自動運転のための他の特徴、を識別することに関与し得る。さまざまな実施形態にお
いて、センサデータ内に描写されるユースケースは、ディープラーニング分析に使用され
るニューラルネットワークの層の中間出力、及びトリガ分類器を使用することによって識
別される。たとえば、トリガ分類器は、ニューラルネットワークの中間層の出力を使用し
て分類器スコアを決定する。閾値を超え、トリガと共に指定された必要な条件に合格する
分類器スコアは、潜在的なトレーニングデータとして識別される。さまざまな実施形態に
おいて、閾値は、ユースケースの正の例を識別するために利用される。たとえば、分類さ
れたスコアが高いほど、センサデータがユースケースを代表する可能性が高いことを示す
。いくつかの実施形態では、分類器スコアは、負の数と正の数との間の数である。正の数
に近いスコアは、ターゲットユースケースを代表する可能性がより高い。さまざまな実施
形態において、時刻、車種、位置などの追加のフィルタによって指定された条件が、ター
ゲットユースケースについてセンサデータを識別するために使用される。
【0055】
209において、識別されたセンサデータが送信される。たとえば、207で識別され
たセンサデータが、さらなる処理のためにコンピュータサーバに送信される。いくつかの
実施形態では、さらなる処理は、識別されたセンサデータを使用してトレーニングセット
を作成することを含む。さまざまな実施形態において、センサデータは、たとえば、Wi
Fi又はセルラ接続を介して、車両からデータセンタに無線で送信される。いくつかの実
施形態では、センサデータと共にメタデータが送信される。たとえば、メタデータは、速
度、加速、ブレーキング、自動運転がイネーブルにされていたかどうか、ステアリング角
度などの車両の制御及び/又は動作パラメータ、分類器スコア、時刻、タイムスタンプ、
位置、車種などを含み得る。さらなるメタデータは、前回最終のセンサデータが送信され
てからの時間、車種、天候状況、道路状況などを含む。
【0056】
211において、データの後処理が実行される。いくつかの実施形態では、品質を向上
させるため、及び/又はデータを表すために必要とされるデータの量を削減するために、
異なる後処理手法が利用される。いくつかの実施形態では、ディープラーニング分析の出
力は、他のセンサに適用されたディープラーニングの結果とマージされる。いくつかの実
施形態では、後処理は、異なるセンサデータに対して実行される分析を円滑にするために
使用される。処理されたデータは、車両を制御するために使用され得る。データに関連す
る追加情報も211で処理され得る。たとえば、どの自動運転機能がイネーブルにされて
いるかなどを含んで、自動運転システムの設定などの情報が、ディープラーニング分析と
組み合わせられ得る。他の情報は、車両の動作及び/又は制御パラメータ、及び/又は、
地図、地形及び/又はGPSデータなどの環境データ、を含み得る。いくつかの実施形態
では、後処理は、車両の周囲環境の統一された表現を作成するために、他のセンサからの
データに対して実行されたディープラーニング分析の結果を組み合わせることを含み得る
。いくつかの実施形態では、211での後処理ステップは、オプションのステップである
【0057】
213において、ディープラーニング分析の結果が車両の制御に提供される。たとえば
、結果は、自動運転のために車両を制御するために車両制御モジュールによって使用され
る。いくつかの実施形態では、車両制御は、車両の速度及び/又はステアリングを調節す
ることができる。さまざまな実施形態において、車両制御はディセーブルにされ得るが、
205でのディープラーニング分析の中間結果は、207でトレーニングデータを識別し
、識別されたセンサデータを209で送信する、ために利用される。このようにして、車
両が自動運転システムの制御下にないときでも、適切なトレーニングデータを識別及び保
持するために、ディープラーニング分析が利用されることができる。さまざまな実施形態
において、自動運転システムがアクティブであるとき、センサデータが識別及び保持され
る。
【0058】
図3は、機械学習モデルの中間結果を使用してトリガ分類器を作成するためのプロセス
の実施形態を示すフロー図である。いくつかの実施形態では、特定のユースケースについ
て関連するセンサデータを識別及び保持するためのトリガ分類器をトレーニングするため
に、図3のプロセスが利用される。たとえば、その通常の使用中にディープラーニングシ
ステムによって処理されるセンサデータは、トレーニングデータとして有用なデータのサ
ブセットを含む。トリガ分類器は、自動運転についてのディープラーニングシステムの中
間結果を使用して、トンネルの入口、トンネルの出口、道路の分岐点、曲がった道路、オ
ンランプ、及び、自動運転に有用な他の適切な特徴、などのユースケースを識別するよう
にトレーニングされることができる。ディープラーニングシステムの中間結果をトリガ分
類器と共に利用することにより、識別と収集の効率が大幅に改善される。さまざまな実施
形態において、トレーニングされたトリガ分類器は、関連するユースケースについての潜
在的なトレーニングデータを収集及び保持するために、デプロイされたディープラーニン
グシステムにトリガ特性と共にインストールされる。いくつかの実施形態では、他の適切
な分類器が使用され得るものの、トリガ分類器はサポートベクタマシンである。たとえば
、いくつかの実施形態では、トリガ分類器はニューラルネットワークであり、1又は複数
の中間層を含み得る。いくつかの実施形態では、デプロイされたディープラーニングシス
テムは、図2のプロセスを利用する。
【0059】
301において、トレーニングデータが準備される。たとえば、特定のユースケースの
正及び負の例がトレーニングデータとして用意される。一例として、トンネルの出口の正
及び負の例が収集及びアノテーションされる。キュレーション及びアノテーションされた
データセットが、トレーニングセットを作成するために使用される。いくつかの実施形態
では、アノテーションは、データをラベル付けすることを含み、人間のキュレータによっ
て実行され得る。いくつかの実施形態では、データのフォーマットは、デプロイされたデ
ィープラーニングアプリケーションで使用される機械学習モデルと互換性がある。さまざ
まな実施形態において、トレーニングデータは、トレーニングされたモデルの正確さをテ
ストするためのバリデーションデータを含む。
【0060】
303において、ディープラーニング分析がトレーニングデータに適用される。たとえ
ば、ディープラーニングプロセスを開始するために、既存の機械学習モデルが使用される
。いくつかの実施形態では、ディープラーニングモデルは、複数の層を有する畳み込みニ
ューラルネットワーク(CNN)などのニューラルネットワークである。いくつかの実施
形態では、CNNは、3つ以上の中間層を含み得る。ディープラーニング分析の例は、自
動運転のためのニューラルネットワークを含む。さまざまな実施形態において、ディープ
ラーニング分析は、中間層の結果を生成するために、301で準備されたトレーニングデ
ータ
【0061】
305において、トリガ分類器がトレーニングされる。いくつかの実施形態では、トリ
ガ分類器は、サポートベクタマシン又は小さなニューラルネットワークである。さまざま
な実施形態において、トリガ分類器への入力は、ディープラーニングシステムの機械学習
モデルの1番目の層又は一中間層の出力である。入力に使用される特定の層は設定可能で
あり得る。たとえば、最後から2番目の層、最後から3番目の層、最後から4番目の層な
ど、1番目の層までの出力が、トリガ分類器をトレーニングするための入力として利用さ
れ得る。さまざまな実施形態において、トレーニングデータのアノテーションされた結果
が、RAWデータ(画像データなど)と共に、トリガ分類器をトレーニングするために使
用される。正及び負の例を使用することにより、トリガ分類器は、入力(たとえば、セン
サデータからの入力)がトンネルの出口などの特定のユースケースに一致する可能性を識
別するようにトレーニングされる。いくつかの実施形態では、トレーニングされたトリガ
分類器の結果は、301で作成されたバリデーションデータセットを使用してバリデーシ
ョンされる。いくつかの実施形態では、トリガ分類器は、車両にデプロイされたニューラ
ルネットワークと一致するオフラインのニューラルネットワークを使用してトレーニング
される。
【0062】
いくつかの実施形態では、ニューラルネットワーク出力の出力は、入力データ(RAW
画像など)の特徴を識別する特徴ベクトルである。特徴は、RAWデータ内の、車両数、
標識数、車線数などを含み得る。層、たとえば、最終層の前に処理された層の、中間出力
は、RAW入力データの意味情報を含む。いくつかの実施形態では、層の中間出力はベク
トル形式で表され得、ベクトルは最終層のベクトル出力よりも多くの要素を有する。たと
えば、ニューラルネットワークの最終出力は32要素のベクトルであり、一方、最後から
2番目の層の出力は64要素のベクトルであり得る。さまざまな実施形態において、ニュ
ーラルネットワークの1番目及び中間層の出力(たとえば、64要素のベクトルなど)は
、ニューラルネットワークの最終層の出力(たとえば、32要素のベクトルなど)よりも
大量の、RAW入力データに関連付けられた意味情報を含み、したがって、トリガ分類器
をトレーニングするために使用される。いくつかの実施形態では、トリガ分類器をトレー
ニングするために選択される特定の層は、動的に選択され得る。たとえば、特定の中間層
(より前の層など)は、別の層(最終層に近い層など)と比較した当該の特定の層の正確
さにおける改善に基づいて選択され得る。いくつかの実施形態では、特定の層は、層を利
用する際の効率に基づいて選択される。たとえば、層を使用した結果が正確さの要求を満
たす場合、より小さな出力ベクトルを有する層が選択され得る。
【0063】
いくつかの実施形態では、2つ以上のトリガ分類器をトレーニングするために異なる中
間層からの入力が使用され、トレーニングされた異なる分類器が互いに比較される。複数
の分類器のどれを使用するべきかを決定するために、正確さとパフォーマンスとの間のバ
ランスが使用される。たとえば、いくつかのユースケースについては、より前の中間層の
出力が必要であり、一方、他のユースケースについては、より後の中間層の出力で十分で
ある。最適な中間層の出力は、複数のトレーニングされたトリガ分類器を比較することに
よって決定され得る。さまざまな実施形態において、中間結果を受信するべきはニューラ
ルネットワークのどの層かが、トリガ分類器トレーニングプロセスの一部として動的に選
択される。
【0064】
いくつかの実施形態では、トレーニングされた分類器は、ベクトル及びバイアス要因に
よって指定され得る。たとえば、トレーニングされた分類器は、分類器スコアを決定する
ためにバイアス要因によってオフセットされた重みのベクトルであり得る。いくつかの実
施形態では、ベクトルの要素の数は、使用される中間層の出力の要素の数、及び分類器を
トレーニングするための入力の要素の数、と同じである。たとえば、分類器をトレーニン
グするために使用される中間層の出力が1024要素である場合、トリガ分類器をトレー
ニングするために使用される入力データは1024要素であり、結果のトリガ分類器は1
024の重み付きベクトル及びバイアスとして表されることができる。いくつかの実施形
態では、バイアスはオプションであり、重み付きベクトルの要素によって考慮に入れられ
得る。
【0065】
307において、305でトレーニングされた分類器についてトリガ特性が決定される
。たとえば、トレーニングされたトリガ分類器によって決定された分類器スコアと比較さ
れる閾値が決定され得る。たとえば、閾値を超える分類器スコアは、スコアに関連付けら
れたRAW入力がターゲットユースケースの正の例である可能性が高いことを示す。たと
えば、トンネルの出口を識別するようにトレーニングされたトリガ分類器が分類器スコア
を決定する。0.5の閾値を使用すると、0.7の分類器スコアは、データがトンネルの
出口を代表する可能性が高いことを示す。いくつかの実施形態では、-1.0のスコアは
負の例であり、1.0のスコアは正の例である。分類器スコアは-1.0から1.0の間
にあり、RAW入力がターゲットユースケースの正又は負の例である可能性がどの程度か
を示す。
【0066】
いくつかの実施形態では、トリガ特性は、トリガフィルタなどの必要な条件を含む。ト
リガフィルタは、センサデータの保持を、記載された条件に制限するために使用されるフ
ィルタである。たとえば、センサデータは、データに関連付けられた位置に基づいて保持
のためにトリガされ得る。他の例は、最後のセンサデータがトリガされ正の識別からの時
間の長さ、ドライブが開始されてからの時間の長さ、時刻、位置、道路タイプなどを含む
。さまざまな実施形態において、1又は複数のトリガ特性が、トリガ分類器がセンサデー
タを収集及び保持するために使用される条件を制限するために指定されることができる。
【0067】
309において、トリガ分類器及びトリガ特性がデプロイされる。たとえば、トリガ分
類器、及びセンサデータを保持するために分類器をトリガするために使用される特性が、
ディープラーニングシステムと一緒にインストールされる。たとえば、トリガ分類器及び
特性は、車両に無線で送信される小さなバイナリとしてパッケージ化され得る。いくつか
の実施形態では、パッケージ化されたトリガ分類器及び特性は、WiFi又はセルラネッ
トワーク接続などの無線技術を使用して、無線更新として送信される。車両で受信された
時点で、トリガ分類器及び特性は自動運転システムの一部としてインストールされる。い
くつかの実施形態では、トリガ分類器のみがインストールされる。いくつかの実施形態で
は、トリガ分類器、及び自動運転のためのディープラーニングモデルが一緒にインストー
ルされる。さまざまな実施形態において、自動運転システムの機械学習モデルは、トリガ
分類
【0068】
図4は、トリガ分類器を使用して潜在的なトレーニングデータを識別するためのプロセ
スの実施形態を示すフロー図である。いくつかの実施形態では、トリガ分類器は、ディー
プラーニングシステムと組み合わせて実行される。たとえば、トリガ分類器をトレーニン
グするために使用されるものと一致する機械学習モデルを使用するディープラーニングシ
ステムが、自動運転システムの一部としてトリガ分類器と共に利用される。トリガ分類器
は、センサデータを保持することを保証する特定のユースケースをセンサデータが満たし
ているかどうかを識別するために、ディープラーニングシステムによって少なくとも部分
的に分析されたセンサデータを分析する。次いで、センサデータはコンピュータサーバに
送信され、特定のユースケースを識別することにおいて改善されたパフォーマンスを有す
る改訂された機械学習モデル、についてのトレーニングデータを作成するために使用され
得る。ユースケースの例は、オンランプ、トンネルの出口、道路の障害物、道路の分岐点
、特定の車種などを識別することを含む。いくつかの実施形態では、トリガパラメータが
、関連する結果をトリガ分類器が識別する条件を設定するために使用される。いくつかの
実施形態では、1又は複数の異なるユースケースを識別するために、1又は複数のトリガ
分類器及びパラメータが使用される。いくつかの実施形態では、図4のプロセスが、図2
の205、207、209、211、及び/又は213で実行される。いくつかの実施形
態では、図4のプロセスで使用されるトリガ分類器が、図3のプロセスを使用してトレー
ニングされる。
【0069】
401において、ディープラーニング分析が開始される。たとえば、自動運転システム
のディープラーニング分析が、車両に取り付けられたセンサによってキャプチャされたセ
ンサデータで開始される。いくつかの実施形態では、開始されたディープラーニング分析
は、センサデータを前処理することを含む。さまざまな実施形態において、ディープラー
ニング分析は、1又は複数の中間層を含む複数の層を有するトレーニングされた機械学習
モデルを利用する。いくつかの実施形態では、1番目の層及び任意の中間層の出力は、中
間出力と見なされる。さまざまな実施形態において、中間出力は、最終出力(たとえば、
モデルの最終層の出力)以外の、機械学習モデルの層の出力である。
【0070】
403において、ディープラーニング分析の1つの層を使用した推論が完了する。たと
えば、ニューラルネットワークは、その後に最終層が続く中間層を含む複数の層を含む。
各層の出力(たとえば、中間結果)は、入力として次の層に供給される。いくつかの実施
形態では、1番目の層及び各中間層の出力は、中間結果と見なされる。さまざまな実施形
態において、単一の層の出力の決定結果は、次の層への入力として使用され得るベクトル
である。いくつかの実施形態では、ニューラルネットワークの1番目の層への入力は、画
像データなどのセンサデータである。いくつかの実施形態では、ニューラルネットワーク
は畳み込みニューラルネットワークである。
【0071】
405において、403で実行された層分析の出力がニューラルネットワークの最終層
の結果であるかどうかの判断がなされる。出力が最終層の結果ではなく、たとえば、出力
が中間結果である場合、処理は409に続く。出力がニューラルネットワークの最終層の
結果である場合、機械学習モデルを使用して実行された推論が完了し、処理は407に続
く。いくつかの実施形態では、407に提供される405での出力は、特徴ベクトルであ
る。
【0072】
407において、センサデータに対してディープラーニング分析を実行した結果が車両
制御に提供される。いくつかの実施形態では、結果は後処理される。たとえば、1又は複
数の異なるセンサからの入力についての1又は複数の異なるニューラルネットワークの結
果が組み合わされ得る。いくつかの実施形態では、車両制御は、車両の動作を制御するた
めに車両制御モジュールを使用して実施される。たとえば、車両制御は、自動運転のため
に車両の速度、ステアリング、加速、ブレーキングなどを変更することができる。いくつ
かの実施形態では、車両制御は、方向指示器、ブレーキライト、ヘッドライトをイネーブ
ル又はディセーブルにし得、及び/又は、WiFi又はセルラネットワークなどの無線ネ
ットワークを介してネットワークメッセージを送信することなどのネットワーク制御を含
む車両の他の制御/信号を操作し得る。さまざまな実施形態において、たとえば、自動運
転機能がディセーブルにされているとき、車両を能動的に制御するために車両制御がイネ
ーブルにされない場合がある。たとえば、自動運転システムが車両を能動的に制御してい
ないときでも、潜在的なトレーニングデータを識別するために、トリガ分類器への入力と
して結果を提供するために、401及び403でのディープラーニング分析が実行される
【0073】
409において、ニューラルネットワークの層及びトリガ条件がトリガ分類器を適用す
るのに適切であるかどうかの判断がなされる。たとえば、トリガ特性は、トリガ分類器を
適用するために必要とされる条件を示す。条件の例は、最後のキャプチャからの時間の長
さが最小時間を超えたかどうか、運転の最小の時間の長さが経過したかどうか、時刻があ
る特定の範囲内にあるかどうかなどを含む。異なる時刻の例は、夜明け、夕暮れ、昼間、
夜間などを含み得る。さらなる条件要件は、位置、天候、道路状況、道路タイプ、車種、
自動運転機能の解除、ステアリング角度(たとえば、ステアリング角度の閾値を超える)
、加速の変化、ブレーキの起動、又は他の適切な特徴に基づき得る。異なる天候状況の例
は、雪、雹、みぞれ、雨、大雨、どんよりした曇り、晴れ、曇り、霧などを含み得る。ト
リガ特性によって、異なる条件が指定され得る。いくつかの実施形態では、異なるユース
ケースは、異なるトリガ特性、及びニューラルネットワークの異なる層の中間結果を利用
し得る。たとえば、いくつかのユースケースは、より効率的であり得、ニューラルネット
ワークのより後の層の中間結果を使用して、高品質の結果を生成し得る。他のユースケー
スは、ユースケースを満たすセンサデータの有用な例を識別するために、より前の中間結
果を必要とし得る。場合によっては、トリガ分類器を適用する条件を指定するために使用
されるトリガ特性は、複数の条件付きチェック、及び/又は、AND演算子及びOR演算
子などの論理演算子を使用してネスティングされることができる。
【0074】
411において、トリガ分類器スコアが決定される。たとえば、トリガ分類器スコアは
、ニューラルネットワークの中間結果にトリガ分類器を適用することによって決定される
。いくつかの実施形態では、トリガ分類器のアプリケーションは、センサデータに関連付
けられた分類器スコアを決定するために、重み付きベクトル及びオプションのバイアスを
利用する。いくつかの実施形態では、トリガ分類器は、サポートベクタマシン又はニュー
ラルネットワークである。いくつかの実施形態では、トリガ分類器のパフォーマンスは、
カスタマイズされた人工知能(AI)プロセッサ上で分類器を動作させることによって改
善される。たとえば、AIプロセッサは、非常に少ないサイクルで2つのベクトルに対し
てドット積演算を実行、及び/又は無駄なサイクルを制限して複数のドット積を実行する
ことができる。いくつかの実施形態では、決定された分類器スコアは、センサデータがタ
ーゲットユースケースの正(又は負)の例である可能性を表す浮動小数点数である。たと
えば、センサデータがターゲットユースケースの負又は正の例である可能性を表すために
、-1~+1の間などの特定の範囲が使用され得る。
【0075】
413において、分類器スコアが閾値を超えるかどうか、及び必要なトリガ条件が満た
されるかどうかの判断が行われる。たとえば、いくつかの実施形態では、分類器スコアが
閾値と比較される。分類器スコアが閾値を超える場合、処理は415に続く。分類器スコ
アが閾値を超えない場合、処理は403に続く。いくつかの実施形態では、分類器スコア
が決定された後、追加のトリガ必要条件が適用され得る。たとえば、決定された分類器ス
コアは、ある特定の時間枠内で以前に決定された分類器スコアと比較され得る。別の例と
して、決定された分類器スコアは、同じ位置からの以前に決定されたスコアと比較され得
る。別の例として、センサデータは、時間条件及び位置条件の両方を満たすことを要求さ
れ得る。たとえば、過去10分以内の同じ位置からの最も高いスコアのセンサデータのみ
が潜在的なデータとして保持され得る。さまざまな実施形態において、条件は、センサデ
ータを送信するか又は送信しないかのいずれかのためのフィルタとして機能するトリガ特
性を含み得る。いくつかの実施形態では、413での条件はオプションであり、分類器ス
コアのみが閾値と比較される。
【0076】
いくつかの実施形態では、正及び負の例の両方について別個の閾値が存在する。たとえ
ば、正及び負のセンサデータを潜在的なトレーニングデータとして識別するために、+0
.5及び-0.5の閾値が利用され得る。正の例を識別するために+0.5~1.0の間
の分類器スコアが使用され、負の例を識別するために-1.0~-0.5の間の分類器ス
コアが使用される。いくつかの実施形態では、正の例のみが送信のために保持される。
【0077】
415において、識別されたセンサデータが送信される。たとえば、識別されたセンサ
データは、コンピュータサーバ(たとえば、トレーニングデータ生成システム120)に
送信され、そこで、トレーニングデータを作成するために使用され得る。さまざまな実施
形態において、トレーニングデータは、トレーニングデータセット及びバリデーションデ
ータセットを含む。いくつかの実施形態では、送信されるセンサデータはメタデータを含
む。メタデータの例は、データの時刻、タイムスタンプ、道路状況、天候状況、位置、車
種、車両が左ハンドル車両かそれとも右ハンドル車両か、分類器スコア、ユースケース、
ニューラルネットワークの識別子、トリガ分類器の識別子、自動運転システムに関連付け
られたファームウェアバージョン、又は、センサデータ及び/又は車両に関連付けられた
他の適切なメタデータを含み得る。いくつかの実施形態では、時刻は、夕暮れ、夜明け、
夜、昼光、満月、日食などの期間を示し得る。たとえば、トリガ分類器をトレーニングす
るために使用され、分類器スコアを決定する際に使用される、特定のトレーニングされた
機械学習モデルを識別するために、ニューラルネットワーク及び/又はトリガ分類器の識
別子が送信され得る。いくつかの実施形態では、センサデータ及び/又はメタデータは、
送信される前に先ず圧縮される。いくつかの実施形態では、センサデータは、センサデー
タをより効率的に転送するためにバッチで送信される。たとえば、センサデータの複数の
画像の圧縮が実行され、一連のセンサデータが一緒に送信される。
【0078】
図5は、トリガ分類器によって識別されたユースケースに対応するデータからトレーニ
ングデータを作成するためのプロセスの実施形態を示すフロー図である。たとえば、機械
学習モデルをトレーニングするためのトレーニングデータを作成するために、受信された
センサデータが処理される。いくつかの実施形態では、センサデータは、トリガ分類器を
利用する自動運転システムを介してキャプチャされた走行データに対応する。いくつかの
実施形態では、センサデータは、図3のプロセスを使用してトレーニングされたトリガ分
類器によって、図4のプロセスを使用して受信される。いくつかの実施形態では、センサ
データは、道路の分岐点、オンランプ、オフランプ、トンネルの入口などの識別など、特
定のユースケースに基づいてキャプチャされたセンサデータに対応する。いくつかの実施
形態では、受信されたセンサデータは、ユースケースの正の例のみに対応する。いくつか
の実施形態では、センサデータは、正及び負の例の両方を含む。さまざまな実施形態にお
いて、センサデータは、分類器スコア、位置、時刻、又は他の適切なメタデータなどのメ
タデータを含む。
【0079】
501において、トリガ条件を満たすセンサデータが受信される。たとえば、特定のタ
ーゲットユースケースに対応するセンサデータが受信され、潜在的なトレーニングデータ
として使用され得る。さまざまな実施形態において、センサデータは、機械学習モデルが
入力として使用する形式である。たとえば、センサデータは、RAW画像データ、又は処
理された画像データであり得る。いくつかの実施形態では、データは、超音波センサ、レ
ーダ、LiDARセンサ、又は他の適切な技術からキャプチャされたデータである。さま
ざまな実施形態において、トリガ条件は、図2から図4に関して説明されるように、トリ
ガ分類器及びトリガ特性を使用して指定される。
【0080】
503において、センサデータがトレーニングデータに変換される。たとえば、501
で受信されたセンサデータは、潜在的に有用なトレーニングデータとして識別されたデー
タを含む。いくつかの実施形態では、受信されたセンサデータは、離れた位置にある車両
からデータを送信するための効率を改善するために圧縮され、最初に解凍される。いくつ
かの実施形態では、データは、センサデータがターゲットユースケースを正確に表すかど
うかを判断するために再検討される。たとえば、RAWセンサデータが実際にトンネルの
出口のデータであるかどうかを判断するために、トンネルの出口の例を識別するためのタ
ーゲットユースケースが再検討される。いくつかの実施形態では、センサデータがターゲ
ットユースケースを表すかどうかを確認するために、高度に正確な機械学習モデルが使用
される。いくつかの実施形態では、センサデータがターゲットユースケースを表すかどう
かを人間が再検討及び確認する。いくつかの実施形態では、トレーニングのための有用な
データがアノテーションされる。たとえば、データが、正又は負の例のいずれかとしてマ
ークされ得る。いくつかの実施形態では、データが、ターゲット物体についてアノテーシ
ョンされ、ラベル付けされ得る。たとえば、ターゲットユースケースに応じて、車線マー
カ、標識、信号機などがアノテーションされ得る。さまざまな実施形態において、アノテ
ーションは、トレーニングされた機械学習モデルのトレーニング及び/又は検証のために
使用され得る。
【0081】
505において、503で変換されたトレーニングデータが、トレーニング及びバリデ
ーションデータセットとして準備される。さまざまな実施形態において、503で変換さ
れたセンサデータが、トレーニングのためのデータセット、及び機械学習モデルをバリデ
ーションするためのバリデーションデータセットに準備される。いくつかの実施形態では
、503のトレーニングデータは、既存のトレーニングデータセットにマージされる。た
とえば、ほとんどのユースケースに適用可能な既存のトレーニングデータセットが、特定
のユースケースのカバレッジを改善するために、新しく変換されたトレーニングデータと
マージされる。新しく変換されたトレーニングデータは、特定のユースケースを識別する
際に、モデルの正確さを改善するのに有用である。いくつかの実施形態では、既存のトレ
ーニングデータのいくつかの部分が破棄され、及び/又は新しいトレーニングデータで置
き換えられる。
【0082】
507において、機械学習モデルがトレーニングされる。たとえば、機械学習モデルが
、505で準備されたデータを使用してトレーニングされる。いくつかの実施形態では、
モデルは、畳み込みニューラルネットワーク(CNN)などのニューラルネットワークで
ある。さまざまな実施形態において、モデルは、複数の中間層を含む。いくつかの実施形
態では、ニューラルネットワークは、複数の畳み込み層及びプーリング層を含む複数の層
を含み得る。いくつかの実施形態では、トレーニングモデルは、受信されたセンサデータ
から作成されたバリデーションデータセットを使用してバリデーションされる。
【0083】
509において、トレーニングされた機械学習モデルがデプロイされる。たとえば、ト
レーニングされた機械学習モデルが、自律学習システムの更新として車両にインストール
される。たとえば、新しいモデルをインストールするために無線更新が使用されることが
できる。いくつかの実施形態では、更新は、WiFi又はセルラネットワークなどの無線
ネットワークを使用して送信されるファームウェア更新である。いくつかの実施形態では
、新しいモデルが、新しいトリガ分類器をトレーニングするために利用される。さまざま
な実施形態において、古いモデルに基づく既存のトリガ分類器は期限切れになり、新しく
トレーニングされたモデルに基づいて新しいトリガ分類器がデプロイされる。いくつかの
実施形態では、車両が点検されるときに新しい機械学習モデルがインストールされる。
【0084】
図6は、車両上で分類器の選択を引き起こすためのプロセスの実施形態を示すフロー図
である。このプロセスは、1又は複数のプロセッサの車両などの車両によって随意選択的
に実施され得る。たとえば、車両は多数の分類器を格納した可能性がある。この例では、
車両は、処理リソースを節約するために分類器のサブセットを実行し得る。たとえば、車
両はサブセットのみについて分類器スコアを決定し得る。図1Bで説明されるように、車
両はサブセットを定期的に更新し得る(たとえば、閾値時間後に新しい分類器を選択する
)。いくつかの実施形態では、車両は、車両が1又は複数の特定の分類器を実行すること
になることを識別する外部システム(たとえば、システム120)からの情報を受信し得
る。
【0085】
ブロック601において、車両が分類器を実行する。上記のように、車両は、センサデ
ータを取得し得、センサデータに基づいて分類器スコアを決定し得る。
【0086】
ブロック603において、車両は、新しい分類器を選択するためのトリガを受信する。
車両は、少なくともグローバルナビゲーション衛星システム(GNSS)レシーバを介し
てその位置をモニタリングし得る。いくつかの実施形態では、車両は、地図情報にアクセ
スすることができ得る。地図情報は、トレーニングデータを取得することが好都合であり
得るある特定の特徴又はユースケースを識別し得る。一例として、地図情報はトンネルの
出口を識別し得る。別の例として、地図情報は、部分的に塞がれているか又は隠された脇
道を識別し得る。別の例として、地図情報は、特定のスタイル又は形態のバイクレーン(
たとえば、レイズされたか又はオフセットされたバイクレーン)の位置を識別し得る。車
両は、特定の特徴又はユースケースにいつ近接しているとき(たとえば、閾値距離で)を
判断し得る。次いで、車両は、特定の特徴又はユースケースに関連付けられた新しい分類
器を識別する情報を取得し得る。次いで、この新しい分類器が、受信されたセンサデータ
についての分類器スコアを決定するために車両によって実行され得る。
【0087】
さらに、車両は位置情報を外部システムに送信し得る。次いで、外部システムは、車両
が実行すべき1又は複数の新しい分類器に関して車両に情報を送信し得る。たとえば、外
部システムは、各分類器に関連付けられたユニークな識別子を送信し得る。図1Bに説明
されるように、外部システムは、少なくとも特定の数の車両(たとえば、1、3、10、
20)上で実行されている同じ分類器から情報を受信した可能性がある。これらの車両は
、外部システムがそれらの位置に近接する特徴又はユースケースの存在を判断するように
、互いに閾値距離(たとえば、半径)内に存在していた可能性がある。このように、外部
システムは、それが位置の閾値距離内にある場合、同じ分類器を実行するように車両に指
示し得る。このようにして、外部システムはこの分類器に関連付けられたセンサデータを
取得することができる。
【0088】
ブロック605において、車両は新しい分類器を実行する。本明細書で説明されるよう
に、新しい分類器は、機械学習モデルの中間層(たとえば、畳み込みニューラルネットワ
ーク)から情報を取得し得る。次いで、ブロック607において、車両は分類器スコアを
決定する。次いで、ブロック609において、車両は、閾値を超える分類器スコアに基づ
いてセンサデータ(たとえば、画像)を送信する。上記のように、センサデータはメタデ
ータと共に送信され得る。
【0089】
図7は、潜在的なトレーニングデータを識別するためのディープラーニングシステムの
実施形態を示すブロック図である。たとえば、ブロック図は、自動運転のためにキャプチ
ャされたセンサデータのサブセットが潜在的なトレーニングデータとして識別される、自
動運転のためのトリガ分類器に接続されたディープラーニングシステムの異なるコンポー
ネントを含む。いくつかの実施形態では、ディープラーニングシステムは、センサデータ
を受動的に分析し得、ディープラーニングシステムの層の中間出力は、トリガ分類器への
入力として使用される。いくつかの実施形態では、ディープラーニングシステムは、車両
の動作を積極的に分析及び制御し、一方、追加のトレーニングデータを作成するための潜
在的に有用なセンサデータを識別及び保持もする。いくつかの実施形態では、自動運転シ
ステムは、車両の自動運転又は運転者支援での動作のために利用される。さまざまな実施
形態において、図2図6のプロセスは、ディープラーニングシステム、及び/又は図7
に説明されたものなどのシステムのコンポーネントを利用する。
【0090】
示される例では、ディープラーニングシステム700は、センサ701、画像プリプロ
セッサ703、ディープラーニングネットワーク705、人工知能(AI)プロセッサ7
07、車両制御モジュール709、ネットワークインタフェース711、及びトリガ分類
器モジュール713を含むディープラーニングネットワークである。さまざまな実施形態
において、異なるコンポーネントが、通信可能に接続されている。たとえば、センサ70
1からのセンサデータは、画像プリプロセッサ703に供給される。画像プリプロセッサ
703の処理されたセンサデータは、AIプロセッサ707上で動作しているディープラ
ーニングネットワーク705に供給される。AIプロセッサ707上で動作しているディ
ープラーニングネットワーク705の出力は、車両制御モジュール709に供給される。
AIプロセッサ707上で動作しているディープラーニングネットワーク705の中間結
果は、トリガ分類器モジュール713に供給される。トリガ分類器モジュール713によ
る送信のための保持をトリガするセンサデータは、ネットワークインタフェース711を
介して送信される。いくつかの実施形態では、トリガ分類器モジュール713は、AIプ
ロセッサ707上で動作する。さまざまな実施形態において、ネットワークインタフェー
ス711は、車両の自律動作及び/又はトリガ分類器モジュール713の結果に基づいて
、リモートサーバと通信するため、電話をするため、テキストメッセージを送信及び/又
は受信するため、トリガ分類器モジュール713によって識別されたセンサデータを送信
するため、などに使用される。いくつかの実施形態では、ディープラーニングシステム7
00は、必要に応じて、さらなる又はより少ないコンポーネントを含み得る。たとえば、
いくつかの実施形態では、画像プリプロセッサ703はオプションのコンポーネントであ
る。別の例として、いくつかの実施形態では、出力が車両制御モジュール709に提供さ
れる前に、ディープラーニングネットワーク705の出力に対して後処理を実行するため
に、後処理コンポーネント(図示されていない)が使用される。
【0091】
いくつかの実施形態では、センサ701は、1又は複数のセンサを含む。さまざまな実
施形態において、センサ701は、車両の異なる位置で、及び/又は1又は複数の異なる
向きで車両に取り付けられ得る。たとえば、センサ701は、前向き、後向き、横向きな
どの方向で、車両の前部、側面、後部、及び/又は屋根などに取り付けられ得る。いくつ
かの実施形態では、センサ701は、高ダイナミックレンジカメラなどの画像センサであ
り得る。いくつかの実施形態では、センサ701は、非視覚的センサを含む。いくつかの
実施形態では、センサ701は、とりわけ、レーダ、LiDAR、及び/又は超音波セン
サを含む。いくつかの実施形態では、センサ701は、車両制御モジュール709を有す
る車両に取り付けられていない。たとえば、センサ701は、隣接する車両に取り付けら
れ、及び/又は道路又は環境に取り付けられ得、センサデータをキャプチャするためのデ
ィープラーニングシステムの一部として含まれ得る。
【0092】
いくつかの実施形態では、画像プリプロセッサ703が、センサ701のセンサデータ
を前処理するために使用される。たとえば、画像プリプロセッサ703は、センサデータ
を前処理し、センサデータを1又は複数のコンポーネントに分割し、及び/又は1又は複
数のコンポーネントを後処理するために使用され得る。いくつかの実施形態では、画像プ
リプロセッサ703は、グラフィックス処理ユニット(GPU)、中央処理装置(CPU
)、画像シグナルプロセッサ、又は専門の画像プロセッサである。さまざまな実施形態に
おいて、画像プリプロセッサ703は、高ダイナミックレンジデータを処理するためのト
ーンマッパプロセッサである。いくつかの実施形態では、画像プリプロセッサ703は、
人工知能(AI)プロセッサ707の一部として実施される。たとえば、画像プリプロセ
ッサ703は、AIプロセッサ707のコンポーネントであり得る。
【0093】
いくつかの実施形態では、ディープラーニングネットワーク705は、自律車両制御を
実施するためのディープラーニングネットワークである。たとえば、ディープラーニング
ネットワーク705は、センサデータを使用してトレーニングされる畳み込みニューラル
ネットワーク(CNN)などの人工ニューラルネットワークであり得、その出力が車両制
御モジュール709に提供される。いくつかの実施形態では、ディープラーニングネット
ワーク705のニューラルネットワークの複製が、トリガ分類器モジュール713のトリ
ガ分類器を作成するために利用される。
【0094】
いくつかの実施形態では、人工知能(AI)プロセッサ707は、ディープラーニング
ネットワーク705及び/又はトリガ分類器モジュール713を実行するためのハードウ
ェアプロセッサである。いくつかの実施形態では、AIプロセッサ707は、センサデー
タに対して畳み込みニューラルネットワーク(CNN)を使用して推論を実行するための
専門のAIプロセッサである。いくつかの実施形態では、AIプロセッサ707は、セン
サデータのビット深度に対して最適化されている。いくつかの実施形態では、AIプロセ
ッサ707は、とりわけ、畳み込み演算、ドット積演算、ベクトル演算、及び/又は行列
演算を含む、ニューラルネットワーク演算などのディープラーニング演算用に最適化され
ている。いくつかの実施形態では、AIプロセッサ707は、グラフィックス処理ユニッ
ト(GPU)を使用して実施される。さまざまな実施形態において、AIプロセッサ70
7は、実行されたときにAIプロセッサに、受信された入力センサデータに対してディー
プラーニング分析を実行させ、少なくとも部分的には自律的に車両を操作するために使用
される機械学習結果を決定させる、命令をAIプロセッサに提供するように構成されるメ
モリに連結されている。いくつかの実施形態では、AIプロセッサ707は、分類器スコ
アを決定するために、ディープラーニングネットワーク705の1又は複数の層の中間結
果をトリガ分類器モジュール713に出力するように構成される。
【0095】
いくつかの実施形態では、車両制御モジュール709は、人工知能(AI)プロセッサ
707の出力を処理し、出力を車両制御操作に変換するために利用される。いくつかの実
施形態では、車両制御モジュール709は、自動運転のために車両を制御するために利用
される。いくつかの実施形態では、車両制御モジュール709は、車両の速度及び/又は
ステアリングを調整することができる。たとえば、車両制御モジュール709は、ブレー
キング、ステアリング、車線変更、加速、及び別の車線への合流などによって車両を制御
するために使用され得る。いくつかの実施形態では、車両制御モジュール709は、ブレ
ーキライト、方向指示器、ヘッドライトなどのような車両用照明を制御するために使用さ
れる。いくつかの実施形態では、車両制御モジュール709は、オーディオアラートを再
生する、マイクロフォンをイネーブルにする、ホーンをイネーブルにする、などする車両
のサウンドシステムなどの車両のオーディオ状況を制御するために使用される。いくつか
の実施形態では、車両制御モジュール709は、衝突の可能性又は意図された目的地への
接近などの走行イベントを運転者及び/又は同乗者に通知する警告システムを含む通知シ
ステムを制御するために使用される。いくつかの実施形態では、車両制御モジュール70
9は、車両のセンサ701などのセンサを調整するために使用される。たとえば、車両制
御モジュール709は、向きを変更する、出力解像度及び/又はフォーマットタイプを変
更する、キャプチャレートを増減させる、キャプチャされるダイナミックレンジを調整す
る、カメラのフォーカスを調整する、センサをイネーブル及び/又はディセーブルにする
など、1又は複数のセンサのパラメータを変更するために使用され得る。いくつかの実施
形態では、車両制御モジュール709は、フィルタの周波数範囲を変更する、特徴及び/
又はエッジ検出パラメータを調整する、チャネル及びビット深度を調整するなど、画像プ
リプロセッサ703のパラメータを変更するために使用され得る。さまざまな実施形態に
おいて、車両制御モジュール709は、車両の自動運転及び/又は運転者支援での制御を
実施するために使用される。
【0096】
いくつかの実施形態では、ネットワークインタフェース711は、音声データを含むデ
ータを送信及び/又は受信するための通信インタフェースである。さまざまな実施形態に
おいて、ネットワークインタフェース711は、音声通話を接続及び発信するため、テキ
ストメッセージを送信及び/又は受信するため、センサデータを送信するため、トリガ分
類器及び特性を含む、自動運転システムへの更新を受信するためになど、リモートサーバ
とインタフェースするためのセルラ又は無線インタフェースを含む。たとえば、ネットワ
ークインタフェース711は、センサ701、画像プリプロセッサ703、ディープラー
ニングネットワーク705、AIプロセッサ707、車両制御モジュール709、及び/
又はトリガ分類器モジュール713についての命令及び/又は動作パラメータの更新を受
信するために使用され得る。たとえば、ディープラーニングネットワーク705の機械学
習モデルが、ネットワークインタフェース711を使用して更新され得る。別の例として
、ネットワークインタフェース711は、センサ701のファームウェア、及び/又は画
像処理パラメータなどの画像プリプロセッサ703の動作パラメータを更新するために使
用され得る。
【0097】
いくつかの実施形態では、ネットワークインタフェース711は、トリガ分類器モジュ
ール713によって識別されたセンサデータを送信するために使用される。たとえば、ト
リガ分類器によって識別され、関連するトリガ特性の条件を満たす特定のユースケースに
対応するセンサデータが、ネットワークインタフェース711を介して、リモートコンピ
ュータサーバなどのコンピュータサーバに送信される。いくつかの実施形態では、トリガ
分類器及びトリガ特性が、ネットワークインタフェース711を介して更新される。更新
されたトリガ分類器及びトリガ特性は、トリガ分類器モジュール713にインストールさ
れ、特定のユースケースに対応するセンサデータを識別及び保持するために使用される。
【0098】
いくつかの実施形態では、ネットワークインタフェース711は、事故又はほぼ事故の
場合に緊急サービスと緊急連絡をとるために使用される。たとえば、衝突の場合、ネット
ワークインタフェース711は、助けを求めて緊急サービスに連絡をとるために使用され
得、車両の位置及び衝突の詳細を緊急サービスに通知し得る。さまざまな実施形態におい
て、ネットワークインタフェース711は、目的地の位置及び/又は予想される到着時間
を検索及び/又は更新するためにカレンダ情報にアクセスするなど、自動運転機能を実施
するために使用される。
【0099】
いくつかの実施形態では、トリガ分類器モジュール713は、特定のユースケースに対
応するセンサデータを識別及び保持するために利用される。たとえば、トリガ分類器モジ
ュール713は、センサ701の1又は複数のセンサによってキャプチャされたデータに
ついての分類器スコアを決定する。分類器スコアは閾値と比較され、保持、及びネットワ
ークインタフェース711を介してリモートコンピュータサーバに送信され得る。いくつ
かの実施形態では、トリガ分類器モジュール713は、分類器スコアを決定するため、及
び/又は分類器スコア閾値を満たすセンサデータを保持するために、適切な条件が満たさ
れるかどうかを決定するためにトリガ特性を利用する。いくつかの実施形態では、トリガ
分類器モジュールは、サポートベクタマシンであり、センサ701のセンサデータを代表
する入力としてディープラーニングネットワーク705の中間出力を受信する。いくつか
の実施形態では、トリガ分類器モジュール713は、ディープラーニングネットワーク7
05の1又は複数の層の中間結果を受信するように構成される。特定の層の出力は、トリ
ガ分類器及び/又はトリガ特性に依存し得る。たとえば、いくつかのユースケースは、よ
り前の中間結果を使用し、他のユースケースは、より後の中間結果を利用し得る。いくつ
かの実施形態では、AIプロセッサ707が、トリガ分類器モジュール713の処理を実
行するために利用され得る。さまざまな実施形態において、トリガ分類器モジュール71
3によって識別されたセンサデータは、特定のユースケースを識別するための新しいトレ
ーニングデータセットを作成するために使用される。
【0100】
説明された実施形態のさまざまな態様、実施形態、実施態様又は特徴は、別々に又は任
意の組合せで使用されることができる。説明された実施形態のさまざまな態様は、ソフト
ウェア、ハードウェア、又はハードウェアとソフトウェアとの組合せによって実施される
ことができる。説明された実施形態はまた、製造作業を制御するためのコンピュータ可読
媒体上のコンピュータ可読コードとして、又は製造ラインを制御するためのコンピュータ
可読媒体上のコンピュータ可読コードとして具現化されることもできる。コンピュータ可
読媒体は、データを格納することができる任意のデータ記憶デバイスであり、その後、コ
ンピュータシステムによって読み取られることができる。コンピュータ可読媒体の例は、
リードオンリメモリ、ランダムアクセスメモリ、CD-ROM、HDD、DVD、磁気テ
ープ、及び光データ記憶デバイスを含む。コンピュータ可読媒体はまた、コンピュータ可
読コードが分散記憶及び分散実行されるように、ネットワーク連結されたコンピュータシ
ステムにわたって分散されることもできる。
【0101】
前述の説明は、説明の目的で、説明される実施形態の完全な理解を提供するために特定
の命名法を使用した。しかしながら、説明された実施形態を実践するために特定の詳細が
必要とされないことは当業者には明らかであろう。このように、特定の実施形態の前述の
説明は、例示及び説明の目的で提示されている。それらは、網羅的であること、又は説明
された実施形態を開示されるそのままの形態に限定することが意図されるものではない。
上記の教示を考慮すると、多くの修正及び変形が可能であることは当業者には明らかであ
ろう。
【0102】
本明細書に説明され及び/又は図に示されているプロセス、方法、及びアルゴリズムの
それぞれは、1又は複数の物理的コンピューティングシステム、ハードウェアコンピュー
タプロセッサ、アプリケーション固有の回路、及び/又は固有かつ特定のコンピュータ命
令を実行するように構成された電子ハードウェア、によって実行されるコードモジュール
で具体化され、及びそれによって完全に又は部分的に自動化され得ることも理解されよう
。たとえば、コンピューティングシステムは、固有のコンピュータ命令でプログラムされ
た汎用コンピュータ(たとえば、サーバ)又は専用コンピュータ、専用回路などを含み得
る。コードモジュールは、コンパイルされて実行可能プログラムにリンクされ、ダイナミ
ックリンクライブラリにインストールされ得るか、又はインタプリタ型プログラミング言
語で記述され得る。いくつかの実施形態では、特定の動作及び方法は、所与の機能に固有
の回路によって実行され得る。
【0103】
さらに、本開示の機能性のある特定の実施形態は、十分に数学的、計算的、又は技術的
に複雑であるため、機能性を実行するために、たとえば、関与する計算の量又は複雑さに
起因して、又は実質的にリアルタイムで結果を提供するために、アプリケーション固有の
ハードウェア、又は、1又は複数の物理的コンピューティングデバイス(適切な専用の実
行可能命令を利用する)が必要であり得る。たとえば、映像は、各フレームが数百万ピク
セルを有する多くのフレームを含み得、商業的に妥当な時間で所望の画像処理タスク又は
アプリケーションを提供するために映像データを処理するために、固有にプログラムされ
たコンピュータハードウェアが必要である。
【0104】
コードモジュール又は任意のタイプのデータは、ハードドライブ、ソリッドステートメ
モリ、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、光ディスク
、揮発性又は不揮発性記憶、それらの組合せ及び/又は同様のもの、を含む物理的コンピ
ュータ記憶など、任意のタイプの非一時的なコンピュータ可読媒体上に格納され得る。い
くつかの実施形態では、非一時的なコンピュータ可読媒体は、ローカル処理及びデータモ
ジュール、リモート処理モジュール、及びリモートデータリポジトリのうちの、1又は複
数のうちの一部であり得る。方法及びモジュール(又はデータ)はまた、無線ベース及び
有線/ケーブルベースの媒体を含むさまざまなコンピュータ可読伝送媒体上で、生成され
たデータ信号として(たとえば、搬送波又は他のアナログ又はデジタル伝搬信号の一部と
して)送信され得、さまざまな形態をとり得る(たとえば、単一又は多重化されたアナロ
グ信号の一部として、又は複数の個別のデジタルパケット又はフレームとして)。開示さ
れたプロセス又はプロセスステップの結果は、永続的に又はその他の方法で、任意のタイ
プの非一時的な有形のコンピュータ記憶に格納され得るか、又はコンピュータ可読伝送媒
体を介して通信され得る。
【0105】
本明細書に説明され及び/又は添付の図に示されているフロー図のプロセス、ブロック
、ステート、ステップ、又は機能性は、特定の機能(たとえば、論理的又は算術的)又は
プロセスのステップを実施するための1又は複数の実行可能命令を含むコードモジュール
、セグメント、又はコードの一部を潜在的に表すものとして理解されるべきである。さま
ざまなプロセス、ブロック、ステート、ステップ、又は機能性は、本明細書で提供される
例示的な例から、組み合わされ、再配置され、追加され、削除され、修正され、又は他の
方法で変更され得る。いくつかの実施形態では、追加の又は異なるコンピューティングシ
ステム又はコードモジュールが、本明細書で説明される機能性のうちのいくつか又はすべ
てを実行し得る。本明細書に説明される方法及びプロセスはまた、特定のいかなるシーケ
ンスにも限定されず、それに関連するブロック、ステップ、又はステートは、適切な他の
シーケンス、たとえば、シリアル、パラレル、又は他の何らかの方法で実行され得る。タ
スク又はイベントは、開示された例示的な実施形態に追加又は削除され得る。さらに、本
明細書に説明される実施形態におけるさまざまなシステムコンポーネントの分離は、例示
の目的のためであり、すべての実施形態においてこうした分離を必要とするものとして理
解されるべきではない。説明されているプログラムコンポーネント、方法、及びシステム
は、一般に、単一のコンピュータ製品に一緒に統合され得るか、又は複数のコンピュータ
製品にパッケージ化され得ることが理解されるべきである。
【0106】
前述の明細書において、1又は複数のイノベーションが、その特定の実施形態を参照し
つつ説明されてきた。しかしながら、イノベーションのより広い精神及び範囲から逸脱す
ることなく、さまざまな修正及び変更がそれに加えられ得ることは明らかであろう。それ
に応じて、本明細書及び図面は、限定的な意味ではなく例示的な意味と見なされるべきで
ある。
【0107】
実際、本開示のシステム及び方法はそれぞれ、いくつかのイノベーション的な態様を有
し、その単一の態様だけが、本明細書に開示される望ましい属性を担うわけではなく、又
は必要とされるわけではないことが理解されよう。上記のさまざまな特徴及びプロセスは
、互いに独立して使用されてもよく、さまざまな方法で組み合わされてもよい。すべての
可能な組合せ及び部分的組合せは、本開示の範囲内に含まれることが意図されている。
【0108】
別々の実施形態のコンテキストにおいて本明細書に説明されているある特定の特徴もま
た、単一の実施形態において組み合わせて実施され得る。逆に、単一の実施形態のコンテ
キストで説明されるさまざまな特徴もまた、複数の実施形態において別々に、又は任意の
適切な部分的組合せで実施され得る。さらに、特徴は、ある特定の組合せで役割を果たす
ものとして上記され得、最初はそのように主張されても、主張された組合せからの1又は
複数の特徴は、場合によっては組合せから削除され得、主張された組合せは、部分的組合
せ、又は部分的組合せの変形を対象とし得る。単一の特徴又は特徴のグループが、ありと
あらゆる実施形態に必要又は不可欠というわけではない。
【0109】
とりわけ、「~できる(can)」、「~し得る(can)」、「~し得る(coul
d)」、「~し得る(might)」、「~し得る(may)」、「~してもよい(ma
y)」、「~の場合がある(may)」、「~かもしれない(may)」、「たとえば(
e.g.)」及び同様のものなどの、本明細書で使用される条件付きの文言は、別途明記
されない限り、又は使用されるコンテキスト内で他の方法で理解されない限り、一般に、
ある特定の実施形態がある特定の特徴、要素、及び/又はステップを含む一方、他の実施
形態は含まないことを伝えることが意図される。このように、こうした条件付きの文言は
、一般に、特徴、要素、及び/又はステップが1又は複数の実施形態に何らかの形で必要
とされるということ、又は、1又は複数の実施形態が、著者の入力又は促しの有無にかか
わらず、これらの特徴、要素及び/又はステップが、任意の特定の実施形態に含まれるか
、又はその中で実行されるべきであるかどうかを決定するためのロジックを必然的に含む
ということを、暗示することが意図されるものではない。用語の「含む(compris
ing)」、「含む(including)」、「有する(having)」及び同様の
ものは同義であり、オープンエンド様式で包括的に使用され、追加の要素、特徴、作用、
動作などを除外するものではない。また、用語の「又は」は、その包括的な意味で(排他
的な意味ではなく)使用されるため、たとえば、要素のリストを接続するために使用され
たとき、用語「又は」は、リスト内の要素のうちの1つ、いくつか、又はすべてを意味す
る。さらに、本出願及び添付の特許請求の範囲で使用される冠詞「a」、「an」、及び
「the」、は、別途指定されない限り、「1又は複数」又は「少なくとも1つ」を意味
すると解釈されるべきである。同様に、動作は特定の順序で図面に描かれ得るが、こうし
た動作は、望ましい結果を達成するために、示された特定の順序又は連続した順序で実行
される必要はないこと、又は、図示されたすべての動作が実行される必要はないことが、
認識されるべきである。さらに、図面は、フローチャートの形でもう1つの例示的なプロ
セスを概略的に描写し得る。しかしながら、描写されていない他の動作が、概略的に示さ
れている例示的な方法及びプロセスに組み込まれ得る。たとえば、1又は複数の追加の動
作が、示された動作のいずれかの前、後、同時に、又はそれらの間で実行され得る。さら
に、他の実施形態では、動作が再配置又は並べ替えされ得る。ある特定の状況において、
マルチタスク及び並列処理が有利であり得る。さらに、上記の実施形態におけるさまざま
なシステムコンポーネントの分離は、すべての実施形態においてこうした分離を必要とす
るものとして理解されるべきではなく、説明されたプログラムコンポーネント及びシステ
ムは、一般に、単一のソフトウェア製品に一緒に統合され得るか、又は複数のソフトウェ
ア製品にパッケージ化され得ることが理解されるべきである。さらに、他の実施形態は、
以下の特許請求の範囲内である。場合によっては、特許請求の範囲に記載されているアク
ションは、異なる順序で実行され得、依然として望ましい結果を達成し得る。
【0110】
それに応じて、特許請求の範囲は、本明細書に示される実施形態に限定されることが意
図されるものではなく、本開示、原理、及び本明細書に開示される新規の特徴と一致する
、最も広い範囲を認められるべきである。
図1A
図1B
図2
図3
図4
図5
図6
図7