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

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

▶ ウェイモ エルエルシーの特許一覧

<>
  • 特許-レーザ波形埋め込み 図1
  • 特許-レーザ波形埋め込み 図2A
  • 特許-レーザ波形埋め込み 図2B
  • 特許-レーザ波形埋め込み 図2C
  • 特許-レーザ波形埋め込み 図2D
  • 特許-レーザ波形埋め込み 図2E
  • 特許-レーザ波形埋め込み 図3
  • 特許-レーザ波形埋め込み 図4A
  • 特許-レーザ波形埋め込み 図4B
  • 特許-レーザ波形埋め込み 図5A
  • 特許-レーザ波形埋め込み 図5B
  • 特許-レーザ波形埋め込み 図6
  • 特許-レーザ波形埋め込み 図7
  • 特許-レーザ波形埋め込み 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-09
(45)【発行日】2023-02-17
(54)【発明の名称】レーザ波形埋め込み
(51)【国際特許分類】
   G01S 17/89 20200101AFI20230210BHJP
   G01S 17/931 20200101ALI20230210BHJP
   G06N 20/10 20190101ALI20230210BHJP
【FI】
G01S17/89
G01S17/931
G06N20/10
【請求項の数】 20
(21)【出願番号】P 2022501272
(86)(22)【出願日】2020-06-25
(65)【公表番号】
(43)【公表日】2022-09-26
(86)【国際出願番号】 US2020039532
(87)【国際公開番号】W WO2021007038
(87)【国際公開日】2021-01-14
【審査請求日】2022-03-10
(31)【優先権主張番号】16/506,141
(32)【優先日】2019-07-09
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】317015065
【氏名又は名称】ウェイモ エルエルシー
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100126480
【弁理士】
【氏名又は名称】佐藤 睦
(72)【発明者】
【氏名】チェン,ミンチェン
(72)【発明者】
【氏名】ラウターバッハ,クリスチャン
(72)【発明者】
【氏名】ブラレイ,コリン
【審査官】藤田 都志行
(56)【参考文献】
【文献】特開2009-175932(JP,A)
【文献】特開2018-124283(JP,A)
【文献】特開2011-150633(JP,A)
【文献】米国特許出願公開第2017/0039436(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01S 7/48- 7/51
G01S 17/00-17/95
G01C 3/00- 3/32
G01B 11/00-11/30
G06N 20/10
(57)【特許請求の範囲】
【請求項1】
システムであって、
環境内の複数の点の各それぞれの点に対して、前記それぞれの点の物理的特性を表す対応する波形を生成するように構成された光検出測距(LIDAR)デバイスと、
前記LIDARデバイスに通信可能に結合され、各それぞれの点の前記対応する波形に基づいて、前記環境内の前記それぞれの点の対応する位置の表現を含む前記環境のマップを判定するように構成された信号プロセッサと、
前記LIDARデバイスに通信可能に結合され、(i)前記LIDARデバイスから前記対応する波形を受信し、(ii)各それぞれの点に対して、かつ前記対応する波形に基づいて、前記それぞれの点の前記物理的特性を表す複数の値を含む対応するベクトルを判定するように構成された埋め込みモデルと、
前記埋め込みモデルに通信可能に結合され、(i)前記複数の点のうちの1つ以上の点の前記対応する位置、および(ii)前記1つ以上の点の前記対応するベクトルに基づいて、前記環境内の物理的特徴を検出または分類するように構成された特徴検出器と、を備える、システム。
【請求項2】
前記埋め込みモデルが、前記対応する波形の特性と前記それぞれの点の前記物理的特性との間の関係を定義する、請求項1に記載のシステム。
【請求項3】
前記関係が、第1のそれぞれの点の前記物理的特性が、第2のそれぞれの点の前記物理的特性に対して、少なくとも閾値程度の類似性を有するとき、前記第1のそれぞれの点の前記対応するベクトルが、前記第2のそれぞれの点の前記対応するベクトルの閾値距離内にあるように判定される、請求項2に記載のシステム。
【請求項4】
前記対応するベクトルの前記複数の値が、n個の値を含み、前記それぞれの点の前記対応する波形が、m個のサンプル値を含み、mが、nよりも大きい、請求項1に記載のシステム。
【請求項5】
前記埋め込みモデルが、人工ニューラルネットワークを含む、請求項1に記載のシステム。
【請求項6】
前記埋め込みモデルが、LIDARによって前記それぞれの点に向かって送信されるソース光パルスを表す追加の波形にさらに基づいて、各それぞれの点に対する前記対応するベクトルを判定するように構成され、前記それぞれの点の前記対応する波形が、前記それぞれの点からの前記ソース光パルスの反射を表す、請求項1に記載のシステム。
【請求項7】
前記信号プロセッサが、各それぞれの点に対して、かつ前記対応する波形に基づいて、前記それぞれの点の前記物理的特性のうちの特定の物理的特性を表す追加の値を判定するようにさらに構成され、前記追加の値が、前記対応する波形のうちの1つ以上の特性と前記特定の物理的特性との間の関係を定義する所定のアルゴリズムを使用して計算される、請求項1に記載のシステム。
【請求項8】
前記それぞれの点の前記物理的特性が、前記LIDARデバイスと前記それぞれの点との間の遮蔽物の存在を含み、前記それぞれの点の前記物理的特性を表す前記複数の値のうちの1つ以上の値の組み合わせが、前記LIDARデバイスと前記それぞれの点との間の前記遮蔽物の程度を示す、請求項1に記載のシステム。
【請求項9】
前記それぞれの点の前記物理的特性が、前記LIDARデバイスと前記それぞれの点との間の煤煙の存在を含み、前記それぞれの点の前記物理的特性を表す前記複数の値のうちの1つ以上の値の組み合わせが、前記LIDARデバイスと前記それぞれの点との間の前記煤煙の密度を示す、請求項1に記載のシステム。
【請求項10】
前記それぞれの点の前記物理的特性が、前記LIDARデバイスと前記それぞれの点との間の水分の存在を含み、前記それぞれの点の前記物理的特性を表す前記複数の値のうちの1つ以上の値の組み合わせが、前記LIDARデバイスと前記それぞれの点との間の前記水分の程度を示す、請求項1に記載のシステム。
【請求項11】
各それぞれの点に対して、前記対応するベクトルの前記複数の値を前記マップ内の前記それぞれの点の表現に付加することによって、前記マップを修正するように構成された連結器をさらに備え、前記特徴検出器が、前記連結器から受信された前記修正されたマップに基づいて、前記物理的特徴を検出または分類するように構成されている、請求項1に記載のシステム。
【請求項12】
前記特徴検出器が、機械学習(ML)モデルを備え、前記埋め込みモデルおよび前記MLモデルが、(i)前記物理的特徴を含む第1の複数のサンプル環境を表す第1の複数のサンプル波形、および(ii)前記物理的特徴を含まない第2の複数のサンプル環境を表す第2の複数のサンプル波形に基づいて、前記物理的特徴を検出または分類するように訓練される、請求項1に記載のシステム。
【請求項13】
前記特徴検出器が、車両による複数のタスクのうちの1つの実行に対する前記物理的特徴を含む前記環境の一部分の好適性を判定することによって、前記物理的特徴を分類するように各々構成された複数の機械学習(ML)モデルを備える、請求項1に記載のシステム。
【請求項14】
前記環境内を移動するように構成された車両をさらに備え、前記特徴検出器が、前記複数の点のうちの1つ以上の点の前記対応するベクトルに基づいて、前記物理的特徴が前記車両によって横断可能であるかどうかを判定することによって、前記物理的特徴を分類するように構成されている、請求項1に記載のシステム。
【請求項15】
前記車両の制御システムであって、
前記特徴検出器が、前記物理的特徴が前記車両によって横断可能であることを示すことに基づいて、前記車両に前記物理的特徴の上を走行させることと、
前記特徴検出器が、前記物理的特徴が前記車両によって横断可能ではないことを示すことに基づいて、前記車両に前記物理的特徴の周辺を走行させることと、を行うように構成された、制御システムをさらに備える、請求項14に記載のシステム。
【請求項16】
前記特徴検出器が、前記物理的特徴が、前記LIDARデバイスの視界から前記環境内の少なくとも1つの他の物理的特徴を遮蔽していると判定するように構成されている、請求項1に記載のシステム。
【請求項17】
方法であって、
光検出測距(LIDAR)デバイスによって、環境内の複数の点の各それぞれの点に対して、前記それぞれの点の物理的特性を表す対応する波形を生成することと、
プロセッサによって、かつ各それぞれの点の前記対応する波形に基づいて、前記環境内の前記それぞれの点の対応する位置の表現を含む前記環境のマップを判定することと、
前記プロセッサによって、各それぞれの点に対して、かつ前記対応する波形に基づいて、埋め込みモデルに基づいて対応するベクトルを判定することであって、前記対応するベクトルが、前記それぞれの点の前記物理的特性を表す複数の値を含む、判定することと、
前記プロセッサによって、(i)前記複数の点のうちの1つ以上の点の前記対応する位置、および(ii)前記1つ以上の点の前記対応するベクトルに基づいて、前記環境内の物理的特徴を検出または分類することと、を含む方法。
【請求項18】
前記埋め込みモデルが、前記対応する波形の特性と前記それぞれの点の前記物理的特性との間の関係を定義している、請求項17に記載の方法。
【請求項19】
前記関係が、第1のそれぞれの点の前記物理的特性が、第2のそれぞれの点の前記物理的特性に対して、少なくとも閾値程度の類似性を有するとき、前記第1のそれぞれの点の前記対応するベクトルが、前記第2のそれぞれの点の前記対応するベクトルの閾値距離内にあるように判定される、請求項18に記載の方法。
【請求項20】
中に命令を格納した非一時的コンピュータ可読記憶媒体であって、前記命令が、コンピューティングシステムによって実行されると、前記コンピューティングシステムに、
光検出測距(LIDAR)デバイスから、環境内の複数の点の各それぞれの点に対して、前記それぞれの点の物理的特性を表す対応する波形を受信することと、
各それぞれの点の前記対応する波形に基づいて、前記環境内の前記それぞれの点の対応する位置の表現を含む前記環境のマップを判定することと、
各それぞれの点に対して、かつ前記対応する波形に基づいて、埋め込みモデルに基づいて対応するベクトルを判定することであって、前記対応するベクトルが、前記それぞれの点の前記物理的特性を表す複数の値を含む、判定することと、
(i)前記複数の点の1つ以上の点の前記対応する位置、および(ii)前記1つ以上の点の前記対応するベクトルに基づいて、前記環境内の物理的特徴を検出または分類することと、を含む動作を実行させる、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年7月9日に出願された米国特許出願第16/506,141に対する優先権を主張し、その全体があらゆる目的のために参照により本明細書に組み込まれる。
【背景技術】
【0002】
光検出測距(LIDAR)デバイスは、所与の環境内の対象物までの距離を推定することができる。例えば、LIDARデバイスのエミッタサブシステムは、近赤外光パルスを放射することができ、この光パルスは、デバイスの環境内のオブジェクトと相互作用し得る。光パルスのうちの少なくとも一部分は、LIDARに方向転換され、(例えば、反射または散乱に起因して)、検出器サブシステムによって検出され得る。従来の検出器サブシステムは、複数の検出器、および高い時間分解能(例えば、約400ps)を有する、それぞれの光パルスの到達時間を判定するように構成された、対応するコントローラを含み得る。LIDARデバイスと所与のオブジェクトとの間の距離は、所与のオブジェクトと相互作用する対応する光パルスの飛行時間に基づいて判定され得る。
【発明の概要】
【0003】
自律車両は、LIDARデバイスからのデータに基づいて異なる環境内をナビゲートするように構成され得る。LIDARデバイスは、複数の点の各それぞれの点に対して、それぞれの点の物理的特質を表す対応する波形を生成し得る。環境のマップは、1つ以上の所定の方程式を使用して波形から複数の点の物理的特質のサブセットを抽出することによって、波形に基づいて生成され得る。ただし、波形のいくつかの態様が所定の方程式で使用されず、その結果、物理的特質の第2のサブセットが測定されないままになることがある。そのため、埋め込みモデルを使用して、物理的特質の第2のサブセットを測定してもよい。すなわち、埋め込みモデルは、各それぞれの点に対して、かつそれらの波形に基づいて、物理的特質の少なくとも第2のサブセットを表す値のベクトルを生成し得る。マップおよびベクトルを様々な特徴検出器で使用して、環境内の物理的特徴を検出し、自律車両のナビゲーションに関連する他の動作を実行し得る。このように、埋め込みモデルは、特徴検出器が、所定の方程式によってすでに識別された物理的特質を超えて点の追加の物理的特質のメトリックを利用することを可能にし、各波形に含まれる情報のより一層の利用をもたらし得る。
【0004】
第1の例示的な実施形態では、システムは、環境内の複数の点の各それぞれの点に対して、それぞれの点の物理的特性を表す対応する波形を生成するように構成されたLIDARデバイスを含む。システムはまた、各それぞれの点の対応する波形に基づいて、環境内のそれぞれの点の対応する位置の表現を中に含む環境のマップを判定するように構成された信号プロセッサを含む。システムは、各それぞれの点に対して、かつ対応する波形に基づいて、それぞれの点の物理的特性を表す複数の値を含む対応するベクトルを判定するように構成された埋め込みモデルを追加的に含む。システムはさらに、(i)複数の点のうちの1つ以上の点の対応する位置、および(ii)1つ以上の点の対応するベクトルに基づいて、環境内の物理的特徴を検出および/または分類するように構成された特徴検出器を含む。
【0005】
第2の例示的な実施形態では、方法は、LIDARデバイスによって、環境内の複数の点の各それぞれの点に対して、それぞれの点の物理的特性を表す対応する波形を生成することを含む。方法はまた、プロセッサによって、かつ各それぞれの点の対応する波形に基づいて、環境内のそれぞれの点の対応する位置の表現を中に含む環境のマップを判定することを含む。方法は、プロセッサによって、各それぞれの点に対して、かつ対応する波形に基づいて、埋め込みモデルに基づいて対応するベクトルを判定することを追加的に含む。対応するベクトルは、それぞれの点の物理的特性を表す複数の値を含む。方法は、プロセッサによって、(i)複数の点のうちの1つ以上の点の対応する位置、および(ii)1つ以上の点の対応するベクトルに基づいて、環境内の物理的特徴を検出および/または分類することをさらに含む。
【0006】
第3の例示的な実施形態では、中に命令を格納した非一時的コンピュータ可読記憶媒体が提供され、その命令は、コンピューティングシステムによって実行されると、コンピューティングシステムに動作を実行させる。動作は、LIDARデバイスから、環境内の複数の点の各それぞれの点に対して、それぞれの点の物理的特性を表す対応する波形を受信することを含む。動作はまた、各それぞれの点の対応する波形に基づいて、環境内のそれぞれの点の対応する位置の表現を含む環境のマップを判定することを含む。動作は、各それぞれの点に対して、かつ対応する波形に基づいて、埋め込みモデルに基づいて対応するベクトルを判定することを追加的に含む。対応するベクトルは、それぞれの点の物理的特徴を表す複数の値を含む。動作は、(i)複数の点のうちの1つ以上の点の対応する位置、および(ii)1つ以上の点の対応するベクトルに基づいて、環境内の物理的特徴を検出および/または分類することをさらに含む。
【0007】
第4の例示的な実施形態では、システムが提供され、そのシステムは、環境内の複数の点の各それぞれの点に対して、それぞれの点の物理的特性を表す対応する波形を生成するための手段を含む。システムはまた、各それぞれの点の対応する波形に基づいて、環境内のそれぞれの点の対応する位置の表現を含む環境のマップを判定するための手段を含む。システムは、各それぞれの点に対して、かつ対応する波形に基づいて、埋め込みモデルに基づいて対応するベクトルを判定するための手段を追加的に含む。対応するベクトルは、それぞれの点の物理的特性を表す複数の値を含む。システムは、(i)複数の点のうちの1つ以上の点の対応する位置、および(ii)1つ以上の点の対応するベクトルに基づいて、環境内の物理的特徴を検出および/または分類するための手段をさらに含む。
【0008】
上記の概要は、単に例証であり、決して限定することを意図するものではない。上記の例証的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴が、図および以下の詳細な説明ならびに添付の図面を参照することによって明らかになるであろう。
【図面の簡単な説明】
【0009】
図1】例示的な実施形態による、車両のブロック図を示す。
図2A】例示的な実施形態による車両の物理的構成を示す。
図2B】例示的な実施形態による車両の物理的構成を示す。
図2C】例示的な実施形態による車両の物理的構成を示す。
図2D】例示的な実施形態による車両の物理的構成を示す。
図2E】例示的な実施形態による車両の物理的構成を示す。
図3】例示的な実施形態による、自律車両に関連する様々なコンピューティングシステム間の無線通信を示す。
図4A】例示的な実施形態による、システムのブロック図を示す。
図4B】例示的な実施形態による、埋め込みモデルの入力および出力を示す。
図5A】例示的な実施形態による、信号プロセッサの態様を示す。
図5B】例示的な実施形態による、埋め込みモデルの態様を示す。
図6】例示的な実施形態による、マップデータの表を示す。
図7】例示的な実施形態による、機械学習モデルを示す。
図8】例示的な実施形態による、フローチャートを示す。
【発明を実施するための形態】
【0010】
例示的な方法、デバイス、およびシステムが、本明細書に記載されている。「例」および「例示的」という語は、本明細書においては、「例、事例、または例証としての役割を果たす」ことを意味するために使用されることを理解されたい。本明細書において「例」または「例示的」であるとして説明されるいずれの実施形態または特徴も、そのように示されない限り、必ずしも他の実施形態または特徴よりも好ましいまたは有利であると解釈されるべきではない。本明細書に提示される主題の範囲から逸脱することなく、他の実施形態を利用することができ、他の変更を行うことができる。
【0011】
したがって、本明細書に記載される例示的な実施形態は、限定的であることを意味するものではない。本明細書に概して記載され、図面に例証される本開示の態様は、多種多様な異なる構成で配置され、置き換えられ、組み合わされ、分離され、および設計され得ることが、容易に理解される。
【0012】
この説明全体を通して、冠詞「a」または「an」は、例示的な実施形態の要素を導入するために使用される。「a」または「an」への言及は「少なくとも1つ」を指し、「the」への言及は、特に明記されていない限り、または特に文脈で明確に指示しない限り、「少なくとも1つ」を指す。少なくとも2つの用語が記載されたリスト内で接続詞「または」を使用する目的は、リストされた用語のいずれか、またはリストされた用語の任意の組み合わせを示すことである。
【0013】
「第1」、「第2」、「第3」などの序数の使用は、それらの要素の特定の順序を表すのではなく、それぞれの要素を区別することである。この説明の目的のために、「複数(multiple)」および「複数(a plurality of)」という用語は、「2つ以上」または「1つを超える」を指す。
【0014】
さらに、文脈で特に示唆しない限り、各図において示された特徴は、互いに組み合わせて使用することができる。このように、図は、概して、例証されるすべての特徴が実施形態ごとに必要であるわけではないという理解の下に、1つ以上の実施形態全体の構成要素の態様として見るべきである。図において、特に文脈で指示しない限り、同様の記号は通常、同様の構成要素を指している。さらに、特に断りのない限り、図は一定の縮尺で描かれておらず、例証のみを目的として使用されている。さらに、図は単なる代表的なものであり、すべての構成要素が示されているわけではない。
【0015】
加えて、本明細書または特許請求の範囲における要素、ブロック、またはステップの列挙は、明確にするためのものである。したがって、そのような列挙は、これらの要素、ブロック、またはステップが特定の配置に固執する、または特定の順序で実行されることを要求または暗示するものとして解釈されるべきではない。
【0016】
I.概要
自律車両は、その上に位置決めされた1つ以上のセンサからのデータに基づいて環境を横断するように構成され得る。これらのセンサは、光検出測距(LIDAR)デバイスを含み、そのLIDARデバイスと環境内の様々な点との間の距離を判定するように構成され得る。具体的には、LIDARデバイスは、光パルスを環境に放出し、環境内の様々な点から反射される対応する戻り光パルスを検出することによって距離を判定し得る。戻り光パルスの各々の強度は、LIDARデバイスによって測定され、経時的に検出された光の強度を示す波形として表され得る。このように、環境内で検出された各点、およびこの点の物理的特性は、対応する波形で表され得る。各波形は、複数の離散サンプルによって表され得る。
【0017】
これらの波形は、様々な信号処理技術およびアルゴリズムを使用して処理され、環境内の点の各々に関連付けられる物理的特性を測定し得る。このような信号処理技術およびアルゴリズムは、所定の方程式または式を利用するか、またはそれらに依拠し、それぞれの物理的特性、特質、および/または量を測定し得る。これらの方程式または式は、波形の1つ以上の特性と対応する物理的特性との間の関係を定義し得る。場合によっては、例えば、方程式は有限数の演算において評価され得る閉形式の方程式であってもよい。
【0018】
例えば、(i)光パルスを放出することと(ii)対応する戻り光パルスを検出することとの間の時間量を使用して、LIDARと環境内の特定の点との間の距離を判定し得る。別の実施例として、(例えば、対応するソース光パルスの強度に対する)戻り光パルスの強度を使用して、環境内の特定の点の基礎となる表面の反射率を判定し得る。波形によって表される戻り光パルスの他の態様(例えば、戻り光パルスの幅)も同様に測定され、これを使用して、環境内の特定の点の対応する物理的特性のメトリックを判定し得る。
【0019】
これらの技術またはアルゴリズムは、環境内の点の多くの異なる物理的特性を定量化する値の計算を可能にし得るが、各波形は、その中に、このような所定のアルゴリズムまたは式を使用して容易に識別および/または測定され得ない追加の詳細を含み得る。すなわち、波形は、環境内の対応する表面またはオブジェクトの物理的特質を表し、これらの物理的特質を測定するまたは近似させることを可能にするパターンを含み得る。ただし、物理的特質によっては、これらの物理的特質と波形の特定のパターンまたは特性との関係を表す所定のアルゴリズムが利用可能でないことがある。他の場合では、このような所定のアルゴリズムが利用可能であり得るが、これらの所定のアルゴリズムを使用して物理的特質を測定することは、困難、非実用的(例えば、十分に速くない)、および/または計算コストが高いことがある。
【0020】
したがって、埋め込みモデルを訓練して、波形から、環境内で検出された対応する点に関連付けられる物理的特質すなわち特性のインダイシャを抽出し得る。埋め込みモデルは、他の可能性の中でもとりわけ、人工ニューラルネットワークとして実装され得る。埋め込みモデルを訓練して、各それぞれの点に対して、かつ対応する波形に基づいて、対応する波形の特性を表すベクトルしたがって、環境内のそれぞれの点を表すベクトルを計算し得る。所定の信号処理アルゴリズムとは異なり、埋め込みモデルは、埋め込みモデルを判定するために使用される訓練データに基づく、波形の特性と物理的特性との間の実証的に導出される関係を表現し得る。
【0021】
埋め込みモデルによって判定されるベクトルは、それぞれの波形の1つ以上の特性を表し、したがって、この波形によって表される環境内の点の対応する物理的特性も表す複数の値を含み得る。ベクトル内の要素の数は、対応する波形を表すサンプルの数よりも小さくてもよく、これにより、埋め込みモデルは次元削減をもたらすことになる。注目すべきことに、ベクトル内の所与の値によって表される特定の物理的特性は既知ではないことがあり、実際には、既知である必要はなく、埋め込みモデルが環境内の様々な物理的特徴の検出および分類を容易にすることを可能にする。
【0022】
埋め込みモデルは、(i)1つ以上の所定のアルゴリズムを使用して環境のマップを判定するように構成された信号プロセッサ、および(ii)環境内の物理的特徴を検出または分類するように構成された特徴検出器と組み合わせて使用されてもよい。マップは、環境内で検出された点の各々の位置をその中に表し得る。マップは、他の可能性の中でもとりわけ、例えば、三次元点群、ボクセルグリッド、またはメッシュであってもよい。信号プロセッサは、所定のアルゴリズムを使用して、波形に基づいて、環境内の対応する点の物理的特性のいくつかを表す追加の値(例えば、P個の値)を計算するように追加的に構成されてもよい。マップ内の各点の表現は、対応する追加の値に関連付けられ得る。
【0023】
マップは、埋め込みモデルの出力と(例えば、点ごとの連結器によって)連結され得る。すなわち、マップ内の各点の表現は、埋め込みモデルによって環境内の対応する点に対して生成されるベクトルを構成する複数の値(例えば、N個の値)と追加的に関連付けられ得る。このように、連結されたマップは、その中に表される各点に関連付けられる(P+N)個の値を含み得る。この連結されたマップは、特徴検出器への入力として提供され得、これにより、(i)所定の信号処理アルゴリズムを使用して計算された物理的特性、および(ii)埋め込みモデルによって計算された値の両方に基づいて、環境内の物理的特徴の検出を可能にする。
【0024】
特徴検出器は、機械学習アルゴリズム(例えば、人工ニューラルネットワーク)、所定の画像、マップ、もしくはモデル処理アルゴリズム、またはそれらの組み合わせの形態をとり得る。埋め込みモデルは、特徴検出器と同時訓練されて、特徴検出器が検出するように構成されている物理的特徴の物理的特性を表すのに意味のあるベクトル値を生成するように埋め込みモデルを構成し得る。こうして、特徴検出器は、埋め込みモデルによって生成された埋め込みベクトルの値が環境内の点の物理的特性をどの程度良好に表すかを定量化する客観的な方法を提供し、これにより、埋め込みモデルを改良して、より正確な埋め込みベクトルを生成することを可能にし得る。
【0025】
例えば、埋め込みモデルおよび特徴検出器は、環境内の煤煙を検出するように訓練されることがあり、このタスクは所定の信号処理アルゴリズムを使用して達成することが困難であり得る。こうして、埋め込みモデルおよび特徴検出器は、(i)煤煙を含むそれぞれの環境またはその部分を表す第1の複数のサンプル波形、および(ii)煤煙を含まないそれぞれの環境またはその部分を表す第2の複数のサンプル波形を使用して訓練され得る。このような訓練は、他の利用可能な機械学習訓練アルゴリズムの中でもとりわけ、逆伝搬法および勾配降下法を伴い、埋め込みモデルおよび/または特徴検出器のためのパラメータを判定し得る。
【0026】
したがって、埋め込みモデルおよび/または特徴検出器のための判定されたパラメータは、煤煙を含む環境またはその部分と煤煙を含まない環境またはその部分との間の識別を可能にし得る。例えば、環境内の異なる点に対して埋め込みモデルによって判定される、いくつかのベクトルの特定の要素の値、またはそのような値の組み合わせは、煤煙の存在を示し得る。特徴検出器は、今度は、ベクトルのこれらの特定の要素の値に基づいて、煤煙が環境の少なくとも一部分内に存在することを判定するように構成され得る。同様のプロセスを使用して、埋め込みモデルが、他の可能性の中でもとりわけ、点に関連付けられる背景エネルギーレベル、環境内の気象条件、LIDARデバイスとそれぞれの点との間の水分の存在、LIDARデバイスとそれぞれの点との間の遮蔽物(例えば、半透明または半透過の物質)の存在、またはそれぞれの点の基礎となる表面の物質特質のインダイシャを提供することを可能にし得る。
【0027】
環境内の特定の物理的特徴の物質特質を判定することにより、例えば、埋め込みモデルおよび特徴検出器を使用して、この特定の物理的特徴が環境内を移動する車両によって横断可能であるかどうかを判定することが可能になり得る。こうして、埋め込みモデルおよび特徴検出器を訓練して、横断可能な物理的特徴(例えば、枯れ葉、道路上のゴミなど)と横断可能ではない物理的特徴(例えば、歩行者、自転車、大きな破片など)とを区別し得る。
【0028】
II.車両システム例
ここで、本開示の範囲内の例示的なシステムをより詳細に説明する。例示的なシステムは、自動車に実装され得るか、または自動車の形態をとり得る。しかしながら、例示的なシステムはまた、乗用車、トラック、オートバイ、バス、ボート、飛行機、ヘリコプター、芝刈り機、ブルドーザー、ボート、スノーモービル、航空機、レクリエーション車両、遊園地車両、農機具、建設機械、トラム、ゴルフカート、電車、トロリー、ロボットデバイスなどの、他の車両に実装され得るか、または他の車両の形態をとり得る。他の車両も同様に可能である。さらに、いくつかの実施形態では、例示的なシステムは、車両を含まない場合がある。
【0029】
ここで図を参照すると、図1は、自律モードで完全にまたは部分的に動作するように構成され得る、例示的な車両100を示す機能ブロック図である。より具体的には、車両100は、コンピューティングシステムから制御命令を受信することを通して、人間の相互作用なしに自律モードで動作し得る。自律モードでの動作の一部として、車両100は、センサを使用して、周囲環境のオブジェクトを検出し、可能であれば識別して、安全なナビゲーションを可能にし得る。いくつかの実施形態では、車両100は、運転者が車両100の動作を制御することを可能にするサブシステムも含み得る。
【0030】
図1に示されるように、車両100は、推進システム102、センサシステム104、制御システム106、1つ以上の周辺機器108、電源110、コンピュータシステム112(コンピューティングシステムとも称され得る)、データ記憶装置114、およびユーザインターフェース116などの様々なサブシステムを含み得る。他の例では、車両100は、各々が多数の要素を含み得る、サブシステムをより多くまたはより少なく含み得る。車両100のサブシステムおよび構成要素は、様々な方法で相互接続され得る。
【0031】
推進システム102は、車両100に対して動力式運動を提供するように動作可能な1つ以上の構成要素を含み得、他の可能な構成要素の中でもとりわけ、エンジン/モータ118、エネルギー源119、トランスミッション120、および車輪/タイヤ121を含み得る。例えば、エンジン/モータ118は、エネルギー源119を機械的エネルギーに変換するように構成され得、他の可能な選択肢の中でも特に、内燃エンジン、電気モータ、蒸気エンジン、またはスターリングエンジンのうちの1つまたはそれらの組み合わせに対応し得る。例えば、いくつかの実施形態では、推進システム102は、ガソリンエンジンおよび電気モータなどの多数の種類のエンジンおよび/またはモータを含み得る。
【0032】
エネルギー源119は、完全にまたは部分的に、車両100の1つ以上のシステム(例えば、エンジン/モータ118)に動力を供給し得るエネルギー源に相当する。例えば、エネルギー源119は、ガソリン、ディーゼル、他の石油系燃料、プロパン、他の圧縮ガス系燃料、エタノール、ソーラパネル、電池、および/または他の電力源に対応することができる。いくつかの実施形態では、エネルギー源119は、燃料タンク、電池、コンデンサ、および/またはフライホイールの組み合わせを含み得る。
【0033】
トランスミッション120は、エンジン/モータ118からの機械動力を、車輪/タイヤ121および/または車両100の他の可能なシステムに伝達し得る。したがって、トランスミッション120は、他の可能な構成要素の中でも特に、ギアボックス、クラッチ、ディファレンシャル、および駆動シャフトを含み得る。駆動シャフトは、1つ以上の車輪/タイヤ121に接続する車軸を含み得る。
【0034】
車両100の車輪/タイヤ121は、例示的な実施形態内で様々な構成を有し得る。例えば、車両100は、他の可能な構成の中でも特に、一輪車、自転車/オートバイ、三輪車、または乗用車/トラック四輪車の形式で存在し得る。したがって、車輪/タイヤ121は、様々な方法で車両100に接続することができ、金属およびゴムなどの異なる材料で存在することができる。
【0035】
センサシステム104は、他の可能なセンサの中でも特に、全地球測位システム(GPS)122、慣性計測ユニット(IMU)124、レーダ126、レーザ距離計/LIDAR128、カメラ130、ステアリングセンサ123、およびスロットル/ブレーキセンサ125などの様々な種類のセンサを含むことができる。いくつかの実施形態では、センサシステム104は、車両100の内部システムをモニタするように構成されたセンサ(例えば、Oモニタ、燃料計、エンジンオイル温度、ブレーキ摩耗)も含み得る。
【0036】
GPS122は、地球に対する車両100の位置に関する情報を提供するように動作可能なトランシーバを含み得る。IMU124は、1つ以上の加速度計および/またはジャイロスコープを使用する構成を有し得、慣性加速度に基づいて車両100の位置および向きの変化を感知し得る。例えば、IMU124は、車両100が静止しているかまたは動いている間に車両100のピッチおよび偏揺れを検出することができる。
【0037】
レーダ126は、物体の速さおよび進行方向を含めて、無線信号を使用して、車両100のローカル環境内の物体を感知するように構成された1つ以上のシステムに相当し得る。したがって、レーダ126は、無線信号を送受信するように構成されたアンテナを含み得る。いくつかの実施形態では、レーダ126は、車両100の周囲環境の測定値を得るように構成された取り付け可能なレーダシステムに対応し得る。
【0038】
レーザ距離計/LIDAR128は、他のシステム構成要素の中でも特に、1つ以上のレーザ源、レーザスキャナ、および1つ以上の検出器を含み得、コヒーレントモード(例えば、ヘテロダイン検出を使用)または非コヒーレント検出モードで動作し得る。いくつかの実施形態では、レーザ距離計/LIDAR128の1つ以上の検出器には、1つ以上の光検出器が含まれ得る。このような光検出器は、特に高感度検出器(例えば、アバランシェフォトダイオード(APD))であり得る。いくつかの例では、このような光検出器は、単一光子(例えば、単一光子アバランシェダイオード(SPAD))を検出することさえ可能であり得る。また、このような光検出器は、アレイ(例えば、シリコン光電子倍増管(SiPM)のように)に配置(例えば、直列の電気接続によって)され得る。
【0039】
カメラ130は、車両100の環境の画像をキャプチャするように構成された1つ以上のデバイス(例えば、スチルカメラまたはビデオカメラ)を含み得る。
【0040】
ステアリングセンサ123は、車両100のステアリング角度を感知し得、これは、ステアリングホイールの角度を測定すること、またはステアリングホイールの角度を表す電気信号を測定することを伴い得る。いくつかの実施形態では、ステアリングセンサ123は、車両100の前方軸に対する車輪の角度を検出するなど、車両100の車輪の角度を測定し得る。ステアリングセンサ123はまた、ステアリングホイールの角度、ステアリングホイールの角度を表す電気信号、および車両100の車輪の角度の組み合わせ(またはサブセット)を測定するように構成され得る。
【0041】
スロットル/ブレーキセンサ125は、車両100のスロットル位置またはブレーキ位置のいずれかの位置を検出し得る。例えば、スロットル/ブレーキセンサ125は、アクセルペダル(スロットル)およびブレーキペダルの両方の角度を測定し得、または、例えば、アクセルペダル(スロットル)の角度および/もしくはブレーキペダルの角度を表すことができる電気信号を測定し得る。スロットル/ブレーキセンサ125はまた、エンジン/モータ118(例えば、バタフライバルブまたはキャブレタ)にエネルギー源119の変調を提供する物理的機構の一部を含み得る、車両100のスロットルボディの角度を測定し得る。加えて、スロットル/ブレーキセンサ125は、車両100のロータにかかる1つ以上のブレーキパッドの圧力、またはアクセルペダル(スロットル)およびブレーキペダルの角度、アクセルペダル(スロットル)およびブレーキペダルの角度を表す電気信号、スロットルボディの角度、ならびに少なくとも1つのブレーキパッドが車両100のロータに加える圧力の組み合わせ(またはサブセット)、を測定し得る。他の実施形態では、スロットル/ブレーキセンサ125は、スロットルまたはブレーキペダルなどの車両のペダルに加えられた圧力を測定するように構成され得る。
【0042】
制御システム106は、ステアリングユニット132、スロットル134、ブレーキユニット136、センサ融合アルゴリズム138、コンピュータビジョンシステム140、ナビゲーション/経路探索システム142、および障害物回避システム144など、車両100をナビゲートすることを支援するように構成された構成要素を含み得る。より具体的には、ステアリングユニット132は、車両100の進行方向を調整するように動作可能であり得、スロットル134は、エンジン/モータ118の動作速度を制御して、車両100の加速を制御し得る。ブレーキユニット136は、車両100を減速することができ、これは、摩擦を使用して車輪/タイヤ121を減速することを伴い得る。いくつかの実施形態では、ブレーキユニット136は、車両100の1つ以上のシステムによるその後の使用のために、車輪/タイヤ121の運動エネルギーを電流に変換し得る。
【0043】
センサ融合アルゴリズム138は、カルマンフィルタ、ベイジアンネットワーク、またはセンサシステム104からのデータを処理することができる他のアルゴリズムを含み得る。いくつかの実施形態では、センサ融合アルゴリズム138は、個々のオブジェクトおよび/もしくは特徴の評価、特定の状況の評価、ならびに/または所与の状況内の可能性のある影響の評価など、着信センサデータに基づくアセスメントを提供し得る。
【0044】
コンピュータビジョンシステム140は、オブジェクト、環境オブジェクト(例えば、交通信号、車道境界など)、および障害物を決定しようとする際に画像を処理し、分析するように動作可能なハードウェアおよびソフトウェアを含み得る。したがって、コンピュータビジョンシステム140は、オブジェクト認識、Structure From Motion(SFM)、ビデオ追跡、および、例えば、オブジェクトを認識し、環境をマッピングし、オブジェクトを追跡し、オブジェクトの速度を推定するためなどにコンピュータビジョンで使用される他のアルゴリズムを使用し得る。
【0045】
ナビゲーション/経路探索システム142は、車両100の運転経路を決定することができ、これは、動作中にナビゲーションを動的に調整することを伴い得る。したがって、ナビゲーション/経路探索システム142は、数ある情報源の中でも特に、センサ融合アルゴリズム138、GPS122、および地図からのデータを使用して、車両100をナビゲートし得る。障害物回避システム144は、センサデータに基づいて障害となり得るものを評価し、車両100のシステムに障害となり得るものを回避させるかまたは別の方法で切り抜けさせ得る。
【0046】
図1に示されるように、車両100はまた、無線通信システム146、タッチスクリーン148、マイクロフォン150、および/またはスピーカ152などの周辺機器108を含み得る。周辺機器108は、ユーザがユーザインターフェース116と相互作用するための制御装置または他の要素を提供し得る。例えば、タッチスクリーン148は、車両100のユーザに情報を提供し得る。ユーザインターフェース116はまた、タッチスクリーン148を介してユーザからの入力を受け入れ得る。周辺機器108はまた、車両100が、他の車両のデバイスなどのデバイスと通信することを可能にし得る。
【0047】
無線通信システム146は、1つ以上のデバイスと直接または通信ネットワークを介して無線で通信し得る。例えば、無線通信システム146では、符号分割多元接続(CDMA)、進化データ最適化(EVDO)、グローバル移動体通信システム(GSM)/汎用パケット無線サービス(GPRS)などの3Gセルラ通信、またはワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス(WiMAX)もしくはロングタームエボリューション(LTE)などの4Gセルラ通信を使用する可能性がある。あるいは、無線通信システム146は、WiFiまたは他の可能な接続を使用して無線ローカルエリアネットワーク(WLAN)と通信し得る。無線通信システム146はまた、例えば、赤外線リンク、BLUETOOTH(登録商標)、またはZigBee(登録商標)を使用してデバイスと直接通信し得る。様々な車両通信システムなどの他の無線プロトコルが、本開示の文脈内で可能である。例えば、無線通信システム146は、車両および/または道路沿いの給油所間の公共および/または私的データ通信を含み得る1つ以上の専用狭域通信(DSRC)デバイスを含み得る。
【0048】
車両100は、構成要素に電力を供給するための電源110を含み得る。電源110は、いくつかの実施形態では、再充電可能なリチウムイオンまたは鉛蓄電池を含み得る。例えば、電源110は、電力を提供するように構成された1つ以上の電池を含み得る。車両100はまた、他の種類の電源を使用し得る。例示的な実施形態では、電源110とエネルギー源119とが、統合されて単一のエネルギー源になり得る。
【0049】
車両100は、本明細書に記載の動作などの動作を行うためのコンピュータシステム112も含み得る。したがって、コンピュータシステム112は、データ記憶装置114などの非一時的なコンピュータ可読媒体に格納された命令115を実行するように動作可能な少なくとも1つのプロセッサ113(少なくとも1つのマイクロプロセッサが含まれ得る)を含み得る。いくつかの実施形態では、コンピュータシステム112は、車両100の個々の構成要素またはサブシステムを分散方式で制御するように機能し得る複数のコンピューティングデバイスを表し得る。
【0050】
いくつかの実施形態では、データ記憶装置114は、図1に関連して上述したものを含めて、車両100の様々な機能を実行するための、プロセッサ113によって実行可能な命令115(例えば、プログラム論理)を含み得る。データ記憶装置114は、推進システム102、センサシステム104、制御システム106、および周辺機器108のうちの1つ以上にデータを送信する、それからデータを受信する、それと相互作用する、かつ/またはそれを制御するための命令を含む追加の命令も含み得る。
【0051】
命令115に加えて、データ記憶装置114は、他の情報の中でもとりわけ、道路地図、経路情報などのデータを格納し得る。そのような情報は、自律モード、半自律モード、および/または手動モードでの車両100の動作中に、車両100およびコンピュータシステム112によって使用され得る。
【0052】
車両100は、車両100のユーザに情報を提供するか、または車両100のユーザから入力を受信するためのユーザインターフェース116を含み得る。ユーザインターフェース116は、タッチスクリーン148上に表示され得るコンテンツおよび/もしくはインタラクティブ画像のレイアウトを制御することができるか、または制御を可能にし得る。さらに、ユーザインターフェース116は、無線通信システム146、タッチスクリーン148、マイクロフォン150、およびスピーカ152などの周辺機器108のセット内の1つ以上の入力/出力デバイスを含むことができる。
【0053】
コンピュータシステム112は、様々なサブシステム(例えば、推進システム102、センサシステム104、および制御システム106)ならびにユーザインターフェース116から受信した入力に基づいて、車両100の機能を制御し得る。例えば、コンピュータシステム112は、推進システム102および制御システム106によって生成された出力を推定するために、センサシステム104からの入力を利用し得る。実施形態に応じて、コンピュータシステム112は、車両100およびそのサブシステムの多くの態様をモニタするように動作可能であり得る。いくつかの実施形態では、コンピュータシステム112は、センサシステム104から受信した信号に基づいて、車両100の一部またはすべての機能を無効にし得る。
【0054】
車両100の構成要素は、それらのそれぞれのシステム内またはシステム外の他の構成要素と相互接続して機能するように構成され得る。例えば、例示的な実施形態では、カメラ130は、自律モードで動作している車両100の環境の状態に関する情報を表すことができる複数の画像をキャプチャすることができる。環境の状態には、車両が動作している道路のパラメータが含まれ得る。例えば、コンピュータビジョンシステム140は、道路の複数の画像に基づいて、傾斜(勾配)または他の特徴を認識することができ得る。加えて、GPS122とコンピュータビジョンシステム140によって認識された特徴との組み合わせは、特定の道路パラメータを決定するために、データ記憶装置114に格納された地図データとともに使用され得る。さらに、レーダ126がまた、車両の周囲に関する情報を提供し得る。
【0055】
言い換えると、様々なセンサ(入力指標センサおよび出力指標センサと呼ぶことができる)とコンピュータシステム112との組み合わせが相互作用して、車両を制御するために提供される入力の指標または車両の周囲の指標を提供することができる。
【0056】
いくつかの実施形態では、コンピュータシステム112は、他のシステムによって提供されるデータに基づいて、様々な物体に関する判断を行い得る。例えば、車両100は、車両の視野内の物体を感知するように構成されたレーザまたは他の光学センサを有し得る。コンピュータシステム112は、様々なセンサからの出力を使用して、車両の視野内のオブジェクトに関する情報を判断し得、様々なオブジェクトまでの距離および方向の情報を判断し得る。コンピュータシステム112はまた、様々なセンサからの出力に基づいて、オブジェクトが望ましいか望ましくないかを判定し得る。
【0057】
図1は、車両100の様々な構成要素(すなわち、無線通信システム146、コンピュータシステム112、データ記憶装置114、およびユーザインターフェース116)を車両100に統合されているものとして示しているが、これらの構成要素のうちの1つ以上は、車両100とは別個に取り付けられるかまたは関連付けることができる。例えば、データ記憶装置114は、部分的または完全に、車両100とは別個に存在することが可能である。したがって、車両100は、別個にまたはともに位置し得るデバイス要素の形態で提供され得る。車両100を構成するデバイス要素は、有線および/または無線方式でともに通信可能に結合され得る。
【0058】
図2A図2Eは、図1を参照して車両100に関連して説明された機能の一部またはすべてを含み得る例示的な車両200を示す。車両200は、例証の目的で、バンとして図2A図2Eに示されているが、本開示は、そのように限定されるものではない。例えば、車両200は、トラック、乗用車、セミトレーラートラック、オートバイ、ゴルフカート、オフロード車両、または農業用車両などを表し得る。
【0059】
例示的な車両200は、センサユニット202、第1のLIDARユニット204、第2のLIDARユニット206、第1のレーダユニット208、第2のレーダユニット210、第1のLIDAR/レーダユニット212、第2のLIDAR/レーダユニット214、ならびに車両200上で、レーダユニット、LIDARユニット、レーザ距離計ユニット、および/または他の種類の1つ以上のセンサが位置し得る2つの追加の場所216、218を含む。第1のLIDAR/レーダユニット212および第2のLIDAR/レーダユニット214の各々は、LIDARユニット、レーダユニット、またはその両方の形態を採り得る。
【0060】
さらに、例示的な車両200は、図1の車両100に関連して説明された構成要素のいずれかを含むことができる。第1および第2のレーダユニット208、210ならびに/または第1および第2のLIDARユニット204、206は、障害となり得るものがあるか周囲環境を能動的に走査することができ、車両100のレーダ126および/またはレーザ距離計/LIDAR128と同様のものであり得る。
【0061】
センサユニット202は、車両200の上部に取り付けられ、車両200の周辺環境に関する情報を検出し、情報の指標を出力するように構成された1つ以上のセンサを含む。例えば、センサユニット202は、カメラ、レーダ、LIDAR、距離計、および音響センサの任意の組み合わせを含み得る。センサユニット202は、センサユニット202内の1つ以上のセンサの向きを調整するように動作可能であり得る1つ以上の可動マウントを含み得る。一実施形態では、可動マウントは、車両200の周囲の各方向から情報を得るようにセンサを走査することができる回転プラットフォームを含み得る。別の実施形態では、センサユニット202の可動マウントは、角度および/または方位の特定の範囲内で走査的に移動可能であり得る。センサユニット202は、乗用車のルーフ上に取り付けられ得るが、他の取り付け場所も可能である。
【0062】
追加的に、センサユニット202のセンサは、異なる場所に分散され得、1つの場所に併置されなくてもよい。いくつかの考えられ得るセンサタイプおよび取り付け場所には、2つの追加の場所216、218が含まれる。さらに、センサユニット202の各センサは、センサユニット202の他のセンサとは独立して移動または走査されるように構成され得る。
【0063】
例示的な構成では、1つ以上のレーダスキャナ(例えば、第1および第2のレーダユニット208、210)が、電波反射オブジェクトがあるか、車両200の背面付近の環境を能動的に走査するように、車両200の後部付近に位置し得る。同様に、第1のLIDAR/レーダユニット212および第2のLIDAR/レーダユニット214が、車両200の正面付近の環境を能動的に走査するように、車両200の前部付近に取り付けられ得る。レーダスキャナは、例えば、車両200の他の特徴によって塞がれることなく、車両200の前進路を含む領域を照らすのに好適な場所に位置付けられ得る。例えば、レーダスキャナは、フロントバンパ、フロントヘッドライト、カウル、および/またはボンネットなどに埋め込まれ、かつ/またはその中かその近くに取り付けられ得る。また、1つ以上の追加のレーダ走査デバイスが、リアバンパ、サイドパネル、ロッカーパネル、および/または車台などに、またはその近くにこのようなデバイスを含むことなどによって、電波反射オブジェクトがあるか、車両200の側部および/または後部を能動的に走査するように位置し得る。
【0064】
図2A図2Eには示されていないが、車両200は、無線通信システムを含み得る。無線通信システムは、車両200の外部または内部のデバイスと通信するように構成され得る無線送信機および無線受信機を含み得る。具体的には、無線通信システムは、例えば、車両通信システムまたは道路給油所において、他の車両および/またはコンピューティングデバイスと通信するように構成されたトランシーバを含み得る。このような車両通信システムの例には、DSRC、無線周波数識別(RFID)、およびインテリジェントトランスポートシステム向けに提案された他の通信規格が含まれる。
【0065】
車両200は、場合によっては、センサユニット202の内側の場所にカメラを含み得る。カメラは、車両200の環境の複数の画像をキャプチャするように構成されている、スチルカメラ、ビデオカメラなどの感光性機器であり得る。この目的のために、カメラは、可視光を検出するように構成され得、追加としてまたは代替として、赤外光または紫外光など、電磁スペクトルの他の部分からの光を検出するように構成され得る。カメラは、二次元検出器であり得、任意選択で、三次元空間の感度範囲を有し得る。
【0066】
いくつかの実施形態では、カメラは、例えば、カメラから環境内のいくつかの点までの距離を示す二次元画像を生成するように構成された範囲検出器を含み得る。この目的のために、カメラは、1つ以上の範囲検出技法を使用し得る。例えば、カメラは、構造化光技法を使用することによって範囲情報を提供することができ、この構造化光技法では、車両200が、格子またはチェッカーボードパターンなどの所定の光パターンで環境内のオブジェクトを照らし、カメラを使用して、環境周囲からの所定の光パターンの反射を検出する。反射光パターンの歪みに基づいて、車両200は、物体上の点までの距離を判定し得る。
【0067】
所定の光パターンは、赤外光、またはそのような測定に好適な他の波長の放射線を含み得る。いくつかの例では、カメラは、車両200のフロントガラスの内側に取り付けられ得る。具体的には、カメラは、車両200の向きに対して前方視から画像をキャプチャするように位置付けられ得る。カメラの他の取り付け場所および視野角もまた、車両200の内側または外側のいずれかで使用され得る。また、カメラは、調整可能な視野を提供するように動作可能な関連する光学素子を有し得る。さらにまた、カメラは、パン/チルト機構を介してなど、カメラの指向角を変えるように、可動マウントを用いて車両200に取り付けられ得る。
【0068】
車両200の制御システムは、複数の可能な制御戦略の中から制御戦略に従って車両200を制御するように構成され得る。制御システムは、車両200に結合されたセンサ(車両200上または車両外)から情報を受信し、その情報に基づいて制御戦略(および関連する運転挙動)を修正し、修正された制御戦略に従って車両200を制御するように構成され得る。制御システムは、センサから受信した情報をモニタし、運転状態を継続的に評価するようにさらに構成され得、また、運転状態の変化に基づいて、制御戦略および運転挙動を修正するように構成され得る。
【0069】
図3は、例示的な実施形態による、自律車両に関連する様々なコンピューティングシステム間の無線通信の概念図である。特に、無線通信は、ネットワーク304を介して、リモートコンピューティングシステム302と車両200との間で発生し得る。無線通信は、サーバコンピューティングシステム306とリモートコンピューティングシステム302との間、またサーバコンピューティングシステム306と車両200との間でも発生し得る。
【0070】
リモートコンピューティングシステム302は、本明細書に記載されるものを含むがこれに限定されない、リモートアシスタンス技法に関係する任意の種類のデバイスを表し得る。例の中で、リモートコンピューティングシステム302は、(i)車両200に関係する情報を受信し、(ii)インターフェースを提供し、それを通して、次に人間のオペレータが情報に気付き、情報に関係する応答を入力することができ、(iii)応答を車両200に、または他のデバイスに送信する、ように構成された任意の種類のデバイスを表し得る。リモートコンピューティングシステム302は、ワークステーション、デスクトップコンピュータ、ラップトップ、タブレット、携帯電話(例えば、スマートフォン)、および/またはサーバなどの、様々な形態をとり得る。いくつかの例では、リモートコンピューティングシステム302は、ネットワーク構成でともに動作する多数のコンピューティングデバイスを含み得る。
【0071】
リモートコンピューティングシステム302は、車両100または車両200のサブシステムおよび構成要素と同様か同一である1つ以上のサブシステムおよび構成要素を含み得る。少なくとも、リモートコンピューティングシステム302は、本明細書に記載の様々な動作を行うように構成されたプロセッサを含み得る。いくつかの実施形態では、リモートコンピューティングシステム302は、タッチスクリーンおよびスピーカなどの入力/出力デバイスを含むユーザインターフェースも含み得る。他の例も、同様に可能である。
【0072】
ネットワーク304は、リモートコンピューティングシステム302と車両200との間の無線通信を可能にするインフラストラクチャを表す。ネットワーク304はまた、サーバコンピューティングシステム306とリモートコンピューティングシステム302との間、またサーバコンピューティングシステム306と車両200との間の無線通信を可能にする。
【0073】
リモートコンピューティングシステム302の位置は、例の範囲内で変わり得る。例えば、リモートコンピューティングシステム302は、ネットワーク304を介した無線通信を有する車両200から遠隔位置にあり得る。別の例では、リモートコンピューティングシステム302は、車両200とは別個であるが、人間のオペレータが車両200の乗客または運転者と相互作用することができる、車両200内のコンピューティングデバイスに対応し得る。いくつかの例では、リモートコンピューティングシステム302は、車両200の乗客によって操作可能なタッチスクリーンを備えるコンピューティングデバイスであってもよい。
【0074】
いくつかの実施形態では、リモートコンピューティングシステム302によって行われる、本明細書で説明される動作は、追加的または代替的に、車両200によって(すなわち、車両200の任意のシステムまたはサブシステムによって)行われ得る。言い換えれば、車両200は、車両の運転者または乗客が相互作用することができるリモートアシスタンス機構を提供するように構成され得る。
【0075】
サーバコンピューティングシステム306は、ネットワーク304を介してリモートコンピューティングシステム302および車両200と(または、場合によっては、リモートコンピューティングシステム302および/もしくは車両200と直接)無線通信するように構成され得る。サーバコンピューティングシステム306は、車両200およびそのリモートアシスタンスに関する情報を受信し、格納し、判断し、かつ/または送信するように構成された任意のコンピューティングデバイスを表し得る。このように、サーバコンピューティングシステム306は、リモートコンピューティングシステム302および/または車両200によって行われるものとして本明細書で説明される任意の動作またはそのような動作の部分を行うように構成され得る。リモートアシスタンスに関連する無線通信の一部の実施形態では、サーバコンピューティングシステム306を利用することができるが、他の実施形態では利用することができない。
【0076】
サーバコンピューティングシステム306は、本明細書に記載の様々な動作を行うように構成されたプロセッサ、ならびにリモートコンピューティングシステム302および車両200から情報を受信し、それらに情報を提供するための無線通信インターフェースなどの、リモートコンピューティングシステム302および/または車両200のサブシステムおよび構成要素と同様または同一の1つ以上のサブシステムおよび構成要素を含み得る。
【0077】
上の考察に沿えば、コンピューティングシステム(例えば、リモートコンピューティングシステム302、サーバコンピューティングシステム306、または車両200にローカルなコンピューティングシステム)は、カメラを使用して自律車両の環境の画像をキャプチャするように動作することができる。一般に、少なくとも1つのコンピューティングシステムが画像を分析して、可能であれば自律車両を制御することができる。
【0078】
いくつかの実施形態では、自律動作を容易にするために、車両(例えば、車両200)は、車両が動作する環境内の物体を表すデータ(本明細書では「環境データ」とも称される)を様々な方法で受信し得る。車両のセンサシステムは、環境の物体を表す環境データを提供し得る。例えば、車両は、カメラ、レーダユニット、レーザ距離計、マイクロフォン、無線ユニット、および他のセンサを含む様々なセンサを有し得る。これらのセンサの各々は、各それぞれのセンサが受信する情報に関する環境データを車両内のプロセッサに伝達し得る。
【0079】
自律モードで動作している間、車両はほとんど、またはまったく人間の入力なしでその動作を制御し得る。例えば、人間のオペレータが住所を車両に入力した場合、車両は、人間からのさらなる入力なしに(例えば、人間がブレーキ/アクセルペダルを操縦したり触れたりする必要がなく)、指定された目的地まで運転することができ得る。さらに、車両が自律的に動作している間、センサシステムは環境データを受信していてもよい。車両の処理システムは、様々なセンサから受信した環境データに基づいて車両の制御を変更し得る。いくつかの例では、車両は、様々なセンサからの環境データに応答して、車両の速度を変え得る。車両は、障害物を回避し、交通法に従うなどのために速度を変更し得る。車両の処理システムが車両の近くのオブジェクトを識別すると、車両は速度を変更するか、または別の方法で動きを変えることが可能であり得る。
【0080】
車両がオブジェクトを検出したがオブジェクトの検出に十分自信がない場合、車両は、人間のオペレータ(またはより強力なコンピュータ)に、(i)オブジェクトが実際に環境内に存在するかどうかを確認する(例えば、実際に一時停止標識があるか、または実際に一時停止標識がないか)、(ii)オブジェクトについての車両の識別が正しいかどうかを確認する、(iii)識別が正しくなかった場合、識別を修正する、および/または(iv)自律車両に対して補足的な命令を提供する(または現在の命令を修正する)などの、1つ以上のリモートアシスタンスタスクを行うよう要求することができる。リモートアシスタンスタスクにはまた、人間のオペレータが車両の動作を制御するための命令を提供する(例えば、人間のオペレータが、オブジェクトは一時停止標識であると判断した場合、一時停止標識で停止するよう車両に命令する)ことが含まれ得るが、場合によっては、オブジェクトの識別に関する人間のオペレータのフィードバックに基づいて、車両自体が自らの動作を制御することがある。
【0081】
これを容易にするために、車両は、環境のオブジェクトを表す環境データを分析して、閾値を下回る検出信頼度を有する少なくとも1つのオブジェクトを決定し得る。車両のプロセッサは、様々なセンサからの環境データに基づいて環境の様々なオブジェクトを検出するように構成され得る。例えば、一実施形態では、プロセッサは、車両が認識するのに重要であり得るオブジェクトを検出するように構成され得る。このようなオブジェクトには、歩行者、道路標識、他の車両、他の車両のインジケータ信号、およびキャプチャされた環境データで検出された他の様々なオブジェクトが含まれ得る。
【0082】
検出信頼度は、決定されたオブジェクトが環境内で正しく識別されている、または環境内に存在している可能性を示し得る。例えば、プロセッサは、受信した環境データにおける画像データ内のオブジェクトのオブジェクト検出を行い、閾値を超える検出信頼度を有するオブジェクトを識別することができないことに基づいて、少なくとも1つのオブジェクトが閾値を下回る検出信頼度を有すると判断し得る。オブジェクトのオブジェクト検出またはオブジェクト認識の結果が決定的でない場合、検出信頼度が低いか、または設定閾値を下回っていることがある。
【0083】
車両は、環境データのソースに応じて、様々な方法で環境のオブジェクトを検出し得る。いくつかの実施形態では、環境データは、カメラから来る、画像またはビデオデータであり得る。他の実施形態では、環境データは、LIDARユニットから来る場合がある。車両は、キャプチャされた画像またはビデオデータを分析して、画像またはビデオデータ内のオブジェクトを識別し得る。方法および装置は、環境のオブジェクトがあるかについて、画像および/またはビデオデータをモニタするように構成され得る。他の実施形態では、環境データは、レーダ、オーディオ、または他のデータであり得る。車両は、レーダ、オーディオ、または他のデータに基づいて環境のオブジェクトを識別するように構成され得る。
【0084】
III.埋め込み型特徴検出例
図4Aは、自律車両がナビゲートしている環境内の物理的特徴を検出し、環境内のナビゲート可能な経路を生成し、車両がその環境を自律的に横断することを可能にすることに関連する他のタスクを実行するために使用され得る例示的なシステム430を示している。システム430は、LIDAR400、埋め込みモデル404、信号プロセッサ406、連結器412、ならびに特定用途向け機械学習(ML)モデル416および418~420(すなわち、MLモデル416~420)を含む。
【0085】
LIDAR400は、車両がナビゲートしている環境内の複数の点の各それぞれの点に対して、対応する波形402を生成するように構成され得る。すなわち、LIDAR400は、ソース光パルスを放射し得、そのパルスは環境内のそれぞれの点から反射される。これらの反射されるパルス(すなわち、戻りパルス)の強度は、経時的にLIDAR400によって測定され、対応する波形で表され得る。このように、波形402は、環境内の複数の異なる点に対応する複数の異なる波形のうちの1つである。波形402は、LIDAR400によって生成される連続波形の複数の離散サンプルから構成され得る。
【0086】
波形402は、環境内のそれぞれの点に関連付けられる物理的特質を表し得る。これらの物理的特質は、それぞれの点の基礎となる表面の特質、ならびにLIDAR400をそれぞれの点から隔てていた介在物の特質を含み得る。対応する戻りパルスを表すことに加えて、波形402はまた、対応するパルスが検出される前後にLIDAR400によって検出される光の強度を表し得、それによってその環境の周囲/背景状態を表す。
【0087】
波形402は、信号プロセッサ406への入力として提供され得る。信号プロセッサ406は、LIDAR400に通信可能に結合され得る。信号プロセッサ406は、プロセッサ(例えば、プロセッサ113)によって実行可能なソフトウェア命令として、プログラマブル回路(例えば、フィールドプログラマブルゲートアレイ(FPGA))として、専用回路(例えば、特定用途向け集積回路(ASIC))として、またはそれらの組み合わせとして、実装され得る。このため、信号プロセッサ406は、代替的に、例えば、信号処理回路またはデジタル信号プロセッサ(DSP)と呼ばれることがある。信号プロセッサ406は、波形402に基づいて、マップ410内のそれぞれの点の位置を判定するように構成され得る。さらに、複数の点の位置を判定することによって、信号プロセッサ406は、LIDAR400が動作している環境を表すマップ410の少なくとも一部分を生成し得る。信号プロセッサ406はまた、図5Aに関して論じられるように、波形402に基づいて、それぞれの点に関連付けられる1つ以上の他の物理的特質を判定するように構成され得る。
【0088】
注目すべきことに、信号プロセッサ406は、所定のアルゴリズムまたは方程式によってこれらの物理的特質を判定するように構成され得る。所定のアルゴリズムの各々は、(i)波形402の特徴および(ii)対応する物理的特質との間の関係を定義し得る。このように、所定のアルゴリズムの各々の出力は、対応する物理的特質の明示的なメトリックを提供し得、人間が解釈可能であり得る。場合によっては、所定のアルゴリズムは、実証的に導出されるのとは対照的に、試行錯誤を通じて、または別の実施例に基づく(例えば、教師あり)学習プロセスを通じて、物理の第一原理から導出され得る。場合によっては、所定のアルゴリズムは、(例えば、機械学習モデルの場合のように)訓練データに基づいてコンピューティングデバイスによって部分的に定義されるのではなく、(例えば、ハードコーディングされた関係として)プログラマによって完全に定義されてもよい。
【0089】
システム430はまた、埋め込みを定義する埋め込みモデル404を含む。埋め込みモデル404は、LIDAR400に通信可能に結合され、これにより、LIDAR400から波形402を受信するように構成され得る。埋め込みモデルは、プロセッサ(例えば、プロセッサ113)によって実行可能なソフトウェア命令として、プログラマブル回路(例えば、FPGA)として、専用回路(例えば、ASIC)として、またはそれらの組み合わせとして、実装され得る。埋め込みモデル404は、図4Bによって詳細に示されるように、波形402に基づいて埋め込みベクトル408を生成するように構成され得る。埋め込みベクトル408は、N次元ベクトル空間内の波形402を表す複数の値X~X(すなわち、X、X、X、X、X、X、X、X、X、およびX10~X)を含み得る。このように、埋め込みは、波形を構成する(波形空間を定義すると言うことができる)離散サンプルを、埋め込みベクトル408によって定義されるN次元空間(例えば、ベクトル空間)に変換する数学的変換である。埋め込みモデル404は、波形402のサンプルの数が埋め込みベクトル408の要素の数を超える場合に、(i)環境内の点の物理的特性を示す情報を保持し、かつ(ii)これらの物理的特性を示していない情報を破棄する、次元削減を実装している。
【0090】
埋め込みモデル404は、複数のサンプル環境内の複数のサンプル点を表す複数のサンプル波形に基づく訓練を通じて実証的に定義され得る。このように、埋め込みモデル404は、プログラマによって既定されるのではなく、コンピューティングデバイスによって学習され得る。したがって、埋め込みモデル404は、埋め込みベクトル408を通じて、信号プロセッサ406によって(例えば、完全に、または特定の制約の下で)判定可能でないことがある物理的特性を表すように構成され得る。
【0091】
こうして、埋め込みベクトル408の値X~Xは、波形402によって表されるそれぞれの点に関連付けられる物理的特質を表し得る。場合によっては、値X~Xの一部は、人間が解釈可能であり得る。すなわち、値の一部は、それぞれの点の対応する物理的特質の明示的なメトリックを提供し得る。他の場合では、値X~Xは、人間が解釈可能ではないことがあるが、それにもかかわらず、例えば、特定用途向けモデル416~420によって解釈可能であり、環境内の様々な物理的特徴を検出するのに使用され得る。このように、値X~X自体は人間が解釈可能でないことがあるが、値X~Xは、さらなるモデルおよび/またはアルゴリズムによって組み合わされ、変換され、および/または他の方法で処理されて、人間が解釈可能な出力を生成し得る。
【0092】
注目すべきことに、埋め込みベクトル408の値X~Xの少なくとも一部分は、信号プロセッサ406によってキャプチャされないそれぞれの点の物理的特質を示し得る。すなわち、信号プロセッサ406は、マップ410およびその中に表される点の特定の他の物理的特質を判定する際に、波形402のいくつかの重要な特性(例えば、ピーク時間、ピーク高さ、パルス幅など)に依拠する一方で、信号プロセッサ406は、波形402に含まれる情報をすべて利用するわけではない。これに対して、埋め込みモデル404は、信号プロセッサ406によってキャプチャ、抽出、または他の方法で使用されない情報の少なくとも一部分をキャプチャする。言い換えれば、埋め込みモデル404は、システム430が各波形402で利用可能な情報のより多くを使用することを可能にする。
【0093】
信号プロセッサ406は、いくつかの理由から、波形402によって表される特定の物理的特質を判定しないことがある。場合によっては、特定の物理的特質に関連付けられる値の計算を可能にするアルゴリズムまたは方程式が既知ではないことがある。例えば、波形402のどの態様が特定の物理的特質を表すかが明示的に既知ではないことがある。他の場合では、特定の物理的特質に関連付けられる値を計算することは、計算コストが高く、したがって、それに対するアルゴリズムまたは方程式が既知であっても、特定のリソース制約(例えば、処理時間、メモリなど)の下では望ましくないかまたは実行不可能であることがある。これに対して、埋め込みモデル404は、埋め込みベクトル408の値を通じてそのような物理的特質の多くを表し得、したがって、波形402内の情報のより多くが特定用途向けMLモデル406~420によって使用されることを可能にする。
【0094】
したがって、密にサンプリングされた波形(すなわち、高周波でサンプリングされた波形)は、埋め込みモデル404が、点の物理的特質をより正確に表すベクトルを生成することを可能にし得る。すなわち、密にサンプリングされた波形は、疎にサンプリングされた波形よりも多くの情報を保持し得る。例えば、このような波形は、信号プロセッサ406は無視するが、周囲条件または他の物理的特質を推定するために埋め込みモデル404によって利用され得る高周波ノイズを保持し得る。
【0095】
値X~Xを使用して、2つの異なる点の物理的特質の類似性を判定し得る。すなわち、2つの異なる点(すなわち、マップ410によって表される物理的環境内の点)のN次元空間内の対応する埋め込みベクトル間の距離は、2つの異なる点間の類似性を示し得る。例えば、距離が小さい場合、2つの点の物理的特質は、距離が大きい場合よりも類似し得る。ベクトルの値のサブセットをグラフ化して、2つの異なる点の物理的特質間の類似性の度合いを示し得る。そのために、図4Bは、それぞれ横軸および縦軸に沿ってプロットされた埋め込みベクトル408の値XおよびXのグラフ424を示している。
【0096】
埋め込みベクトル408のグラフィック表現426の閾値428内に入る他のベクトルは、それらが類似した基礎となる物理的特質を有する点に対応する波形を表すという点で類似していると考えられ得る。注目すべきことに、グラフ424は、例示を単純化するために二次元のみを示しているが、本明細書で論じられる概念は、N次元に拡張され得る。例えば、三次元の場合、閾値428は、円ではなく球としてグラフに表され得る。一実施例では、2つのベクトル間の距離は、ユークリッド距離であり得る。すなわち、値X1~X1を有する第1のベクトルX1、および値X2~X2を有する第2のベクトルX2について、距離dは、
【数1】

として定義され得る。別の実施例では、2つのベクトル間の距離は、コサイン距離または距離の別の尺度であり得る。このように、類似の物理的特質を有する点は、埋め込みモデル404によって定義されるN次元空間内に埋め込まれると、互いの閾値距離内に入る波形を生成し得る。
【0097】
システム430は、マップ410を埋め込みベクトル408と組み合わせて修正されたマップ414を生成するように構成された連結器412を追加的に含む。連結器412は、マップ410内に表される各それぞれの点に対して、それぞれの点に対応する埋め込みベクトルの値を付加し得る。このように、修正されたマップ414内に表される各それぞれの点は、少なくとも(i)マップ410および/または414内のそれぞれの点の座標、(ii)それぞれの点に対して信号プロセッサ406によって判定される物理的特質の値、およびそれぞれの点に対して埋め込みモデル404によって判定される埋め込みベクトル408の値を定義する対応するデータ構造に関連付けられ得る。修正されたマップ414によって表されるデータの例が、図6に示され、それに関して論じられる。
【0098】
システム430は、環境内の物理的特徴の検出、および/もしくは分類に関連する対応する動作、ならびに/または自律車両のナビゲーションに関連する他の動作を実行するように各々構成された特定用途向けMLモデル416~420(「MLモデル416~420」)をさらに含む。MLモデル416~420のうちの1つ以上が特徴検出器を構成し得、これにより、特徴検出器と呼ばれ得る。MLモデル416~420の各々は、埋め込みモデル404および信号プロセッサ406に(例えば、連結器412によって)通信可能に結合され得る。MLモデル416~420は、プロセッサ(例えば、プロセッサ113)によって実行可能なソフトウェア命令として、プログラマブル回路(例えば、FPGA)として、専用回路(例えば、ASIC)として、またはそれらの組み合わせとして、実装され得る。MLモデル416~420は、修正されたマップ414に基づいて、環境内の1つ以上の物理的特徴を判定および/または分類するように構成され得る。
【0099】
例えば、MLモデル416~420は、歩行者、交通信号および交通標識、道路、植生、ならびに他の環境特徴を識別するように構成され得、他の環境特徴は、郵便ポスト、ベンチ、ゴミ箱、歩道、および/または自律車両の動作にとって対象であり得る環境内のあらゆる他のオブジェクトなどである。別の実施例として、MLモデル416~420は、物理的特徴が、LIDAR400が遮蔽物の背後に配された1つ以上の他のオブジェクト、または物理的特徴に関するデータを視認、および/または取得することを妨げる遮蔽物を構成していると判定するように構成され得る。さらなる実施例として、MLモデル416~420はまた、検出された物理的特徴に基づいて、車両が従う少なくとも経路および速度を定義する軌道を計画し、および/または環境を占有する他の移動者の軌道を予測し得る。
【0100】
MLモデル416~420によって行われる特定の動作に関係なく、モデルは、埋め込みベクトル408を利用して、より正確に動作し、および/または埋め込みベクトル408によって表される追加情報なしでは実行可能ではない動作を実行し得る。すなわち、MLモデル416~420は、マップ410に依拠するのではなく、修正されたマップ414に依拠して、物理的特徴を検出し、車両軌道を計画し、車両ナビゲーションに関連する他の動作を実行し得る。このように、MLモデル416~420は、所定の方程式を使用して信号プロセッサ406によって計算され得る情報だけでなく、波形402に格納され、埋め込みベクトル408によって表される他の情報も考慮に入れる。したがって、システム430は、埋め込みモデル404を利用しない他のシステムよりも波形情報の無駄が少ない。
【0101】
いくつかの実装形態では、MLモデル416~420および埋め込みモデル404は、独立して訓練されてもよい。例えば、埋め込みモデル404が最初に判定され得、その後にMLモデル416~420を訓練して、埋め込みモデル404によって生成されるベクトルを利用し、MLモデル416~420のそれぞれのタスクを正確に達成し得る。他の実装形態では、MLモデル416~420のうちの1つ以上が、埋め込みモデル404と同時訓練されてもよい。例えば、埋め込みモデル404は、波形サンプルをN次元ベクトルにマッピングするように訓練され得、一方、MLモデル416は、例えば、環境内の煤煙を検出するためにベクトルを利用するように同時に訓練される。このように、MLモデル416は、埋め込みベクトル408がMLモデル416の特定のタスク(すなわち、煤煙検出)を実行するのに有用であるかどうかの客観的メトリックを提供し得る。埋め込みモデル404およびMLモデル416のパラメータは、いずれのモデルも以前に訓練されていないサンプル環境内で煤煙が正常に検出され得るまで、反復的に調整されてもよい。埋め込みモデル404は、より多数のMLモデルと同時訓練されるため、埋め込みベクトルの値は、MLモデルによって使用される物理的特性をより正確かつ効率的に表すようになり得る。
【0102】
埋め込みモデル404は、例えば、点別相互情報、行列因数分解、主成分分析、および/または逆伝搬法によって訓練または定義され得る。埋め込みモデル404が訓練される特定の方法は、モデルの構造に依存し得る。例えば、埋め込みモデル404を人工ニューラルネットワークとして実装することは、逆伝搬法による人工ニューラルネットワークの訓練を伴うことがある。追加的に、埋め込みモデル404は、埋め込みベクトル408の情報が信号プロセッサ406によって判定された情報と重複しないように訓練されてもよい。例えば、MLモデル416~420は、信号プロセッサ406によって生成されるデータ(例えば、マップ410内のデータ)を利用するため、埋め込みモデル404がMLモデル416~420のうちの1つ以上と同時訓練されると、その訓練プロセスによって冗長性が低減および/または排除され得る。
【0103】
注目すべきことに、埋め込みモデル404は、埋め込みベクトル408が複数の異なる別個のタスクに使用可能かつ有用であるように訓練されてもよい。すなわち、埋め込みベクトル408の値は、MLモデル416~420によって行われるタスクの各々に使用可能かつ有用であり得る。例えば、埋め込みベクトル408の値を使用して、複数の他の可能なタスクの中で、煤煙を含む環境と含まない環境を区別し、同様に、オブジェクトが植生を構成するか否かを判定し得る。このような埋め込みベクトルは有用であり得、それは、例えば、複数の異なるタスク(例えば、J個の異なるタスク)のために複数の異なる埋め込みベクトル(例えば、J個の埋め込みベクトル)を作成するのに十分なネットワーク帯域幅および/またはコンピューティングリソースを欠くシステムである。
【0104】
しかしながら、いくつかの実装形態では、埋め込みモデル404は、複数の異なる埋め込みベクトルを生成するように構成され得、その複数の異なる埋め込みベクトルの各々は1つ以上のタスクまたは目的に固有であり得る。このように、本明細書で論じられる動作または実施形態のいずれも、1つ以上の埋め込みベクトルを生成および/または使用し得る。例えば、異なる埋め込みベクトルは、特定用途のMLモデル416~420の各々に対して埋め込みモデル404(および/または1つ以上の追加の埋め込みモデル)によって生成され得、各埋め込みベクトルは、対応するMLモデルの特定のタスクまたは目的に固有である。
【0105】
図5Aおよび図5Bは、それぞれ、信号プロセッサ406および埋め込みモデル404によって判定される点の物理的特質(すなわち、特性)の例を示している。信号プロセッサ406は、所定のアルゴリズムおよび/または式510を使用することによって、波形属性500に基づいてマップ属性520を判定するように構成され得る。例えば、パルス飛行時間502は、点距離522(すなわち、それぞれの点とLIDAR400との間の距離)に関連し得る。すなわち、パルス飛行時間502は、パルスのピークの検出(すなわち、波形402のピークの導関数がゼロに達する時間)とそれに対応するソース光パルスの送信との間の時間差であり得る。このように、点距離522は、(i)空気中の光の速度と(ii)パルス飛行時間502との積であり得る。
【0106】
同様に、点反射率524およびパルス高504は、別の所定の方程式によって関連付けられ得る。例えば、点反射率524は、(i)パルス高504(すなわち、戻りパルス高)と(ii)対応するソース光パルスのパルス高との商によって定義され得る。別の実施例として、点反射率524は、(i)戻りパルスの第1の積分と(ii)対応するソース光パルスの第2の積分との商によって定義され得る。言い換えれば、点反射率524は、パルス高504によってまたはパルスの積分によって表される、LIDAR400で反射されて戻ってきたソース光パルスの割合を示し得る。
【0107】
さらなる実施例では、パルス幅506(例えば、パルスピークの半分における全幅)を使用して、表面粗度526を推定し得る。低いパルス幅506は、大きな程度の光子散乱を引き起こさない平滑な表面を示し得る。これに対して、高いパルス幅506は、大きな程度(すなわち、所定の閾値を超える量)の光子散乱を引き起こし、複数の光子戻り経路をもたらす粗い表面を示し得る。このように、パルス幅506は、表面粗度に比例し得る。
【0108】
個々の点の属性を判定することに加えて、信号プロセッサ406はまた、複数の点の集合の基礎となる表面の属性を判定するように構成され得る。例えば、信号プロセッサ406は、マップ410内の表面に対する表面法線528を判定するように構成され得る。信号プロセッサ406は、例えば、表面を表す3つ以上の点の集合に平面を当てはめ、続いてこの平面の法線(すなわち、この平面に垂直なベクトル)を判定することによってこれを達成し得る。
【0109】
これに対して、埋め込みモデル404は、波形402の波形属性540を埋め込みベクトル408のベクトル属性560と関連させる実証的判定マッピング550を実装し得る。注目すべきことに、埋め込みモデル404は、波形402の全体(すなわち、そのすべてのサンプル)を利用し得、その全体は、その中に、対応する点の物理的特性を示すすべての生の情報(または、少なくとも元の連続ドメイン信号のサンプリング後に残るものと同じ量の生の情報)を含み得る。結果として、波形属性540は、信号プロセッサ406によって利用される波形属性500に含まれない波形402のすべての他の属性を含み得る。属性500と540との間のこのような相互排除は、訓練プロセスを通して達成され得る。ただし、いくつかの実装形態では、属性500と540との間に重複が存在し得る。
【0110】
波形属性540は、例えば、他の属性の中でもとりわけ、背景エネルギーレベル542、ノイズ544、正確なパルス形状546、および波形周波数548を含み得る。ベクトル属性560は、他の態様の中でもとりわけ、環境内の照度562、環境内の気象条件564、環境内の煤煙566の存在、波形402によって表されるそれぞれの点の物質特質568、LIDAR400とそれぞれの点との間の水分570の存在、それぞれの点に関連付けられる局所的な幾何学的形状572(例えば、その点の局所的な表面法線)、およびあらゆる遮蔽物574(例えば、LIDAR400とそれぞれの点との間の半透明または半透過の物質)の存在を表し得る。
【0111】
場合によっては、ベクトル値X~Xのうちの1つは、ベクトル属性560のうちの対応する1つを表し得る(例えば、Xは煤煙566の存在を示し得る)。このような場合、このベクトル値は人間が解釈可能であると考えられ得る。他の場合では、ベクトル値X~Xは、ベクトル属性560のいずれかを直接表していないことがある。代わりに、ベクトル属性560のうちの対応する1つ以上の直接的な測定を提供するために、ベクトル値X~Xのうちの1つ以上が、(例えば、特定用途向けMLモデル416~420によって)組み合わされ、かつ/または数学的に変換される必要があり得る。このように、例えば、ベクトル値X、X、およびXをMLモデル418で使用し、LIDAR400と環境内のそれぞれの点との間に存在する水分570の量を判定し得る。このような場合、これらのベクトル値は人間が解釈可能であるとは考えられない場合がある。それにもかかわらず、ベクトル値X~Xは各々、機械が解釈可能であり得、したがって、自律車両の様々な動作に使用可能であり得る。
【0112】
いくつかの実施形態では、埋め込みモデル404は、(i)戻りパルスを表す波形402、および(ii)戻りパルスをもたらしたソースパルスを表す追加の波形に基づいて、埋め込みベクトル408を生成するように構成され得る。すなわち、埋め込みモデル404は、環境において送信された光パルスの特性、ならびに環境の物理的特性がこの光パルスをどのように変えたかを考慮し得る。このようなアプローチは、特にソースパルス特性が異なるソースパルス間である程度の変動性を有し得る場合に、埋め込みベクトル408が各点の物理的特性をより正確に表すことを可能にし得る。
【0113】
IV.修正されたマップ例
図6は、修正されたマップ414を定義し得るデータの表形式の表現を示している。修正されたマップ414は、点インデックス600によって定義される、環境内で検出されたM個の異なる点をその中に表し得る。各点は、信号プロセッサ406によって判定される、破線の輪郭で示される、第1の複数のデータ(例えば、P個の値)に関連付けられ得る。第1の複数のデータは、M個の点の各々に対して、他の属性の中でもとりわけ、マップ座標602、反射率604、および表面法線606を定義し得る。このように、場合によっては、第1の複数のデータは、マップ属性520の各々を定義し得る。
【0114】
マップ座標602は、M個の点の各々に対して、マップ410のx、y、およびz軸に沿ったそれぞれの点の位置をそれぞれ表す値X、Y、およびZを含み得、iは対応する点インデックス600を表す。反射率604は、M個の点の各々に対して、例えば、反射されて戻り、LIDAR400によって検出されたソースパルスのパーセンテージを表す値Rを含み得る。表面法線606は、M個の点の各々に対して、マップ410のx、y、およびz軸に沿ったそれぞれの点の法線ベクトルをそれぞれ表す値NX、NY、およびNZを含み得る。
【0115】
修正されたマップ414内の各点はまた、埋め込みモデル404によって判定される、ハッシュされた背景で示される第2の複数のデータ(例えば、N個の値)に関連付けられ得る。第2の複数のデータは、M個の点の各々に対して、埋め込みベクトル408の各次元に関連付けられる値を定義し得る。すなわち、M個の点の各々は、N個の値に関連付けられ得、1番目の埋め込み次元608および2番目の埋め込み次元610からN番目の埋め込み次元612に関連付けられる値を含む。次元608~612の各々は、M個の点の各々に対して、対応する値Xi,jを定義し得、iは、埋め込みベクトル408の次元を表し、1~Nの範囲であり、jは、点インデックス600を表し、1~Mの範囲である。このように、第2の複数のデータは、ベクトル属性560を表し得る。
【0116】
こうして、修正されたマップ414は、(P+N)個の値またはチャネルを含み得、それによって表される各点に関連付けられる。各チャネルの値は、特徴検出器(例えば、MLモデル416~420)によって利用されて、環境内の物理的特徴を識別および分類し、こうして自律車両の動作を容易にし得る。
【0117】
V.埋め込みモデルの実装例
図7は、人工ニューラルネットワーク(ANN)700を示し、埋め込みモデル404および/またはMLモデル416~420の例示的な実装形態を提供する。ANN700は、ANN700の入力層710の一部分を形成し、かつ入力xおよびx~xをそれぞれ受け入れるように構成された入力ノード711、712、および713を含み得る。例えば、埋め込みモデル404の場合、入力の数Kは、波形402内のサンプルの数に等しくてもよい。このように、S個の離散サンプルを有する波形の場合、KはSに等しくなり得る。例えば、MLモデル416~420の場合、入力の数Kは、修正されたマップ414内のチャネルの数(P+N)に等しくなり得る。
【0118】
ANN700は、1つ以上の隠れ層720および730の一部分を形成する複数の隠れノードを追加的に含み得る。隠れノード721、722、723、724、および725は、第1の隠れ層720を形成し得、隠れノード731、732、733、734、および735は、第2の隠れ層730を形成し得る。いくつかの実施例では、ANN700は、本明細書に示されていない追加の隠れノードおよび追加の隠れ層を含み得る。隠れノードおよび隠れ層の数は、十分な精度(すなわち、閾値精度よりも高い精度)で波形埋め込みを生成するANNを達成するために、ANN700の訓練中に実証的に判定され得る。
【0119】
注目すべきことに、「隠れノード」および「隠れ層」という用語は、本明細書では、それぞれ、ANNの入力層と出力層の間に位置するノードおよび層を示すために使用される。これらおよび類似の用語は、隠れノードまたは隠れ層に関連付けられる値、関数、またはその他の特質が必然的に未知であることを暗示するものと解釈されるべきではない。
【0120】
ANN700は、ANN700の出力層740の一部分を形成する出力ノード741、742、および743をさらに含み得る。出力ノード741および742~743は、それぞれ出力yおよびy~yを提供するように構成され得る。埋め込みモデル404の場合、出力ノード741および742~743の各々は、埋め込みベクトル408の値のうちの対応する1つを提供し得る(例えば、出力ノード741は、Xの値を提供し得、出力ノード742は、Xの値を提供し得、出力ノード743はXの値を提供し得る)。
【0121】
ANN700のノードは、図6に矢印で示されるように、相互に接続され得る。例えば、入力ノード711~713は、第1の隠れ層720の隠れノード721~725に接続され得(すなわち、入力層710は、隠れ層720に接続され得る)、隠れノード721~725は、第2の隠れ層730の隠れノード731~735に接続され得(すなわち、隠れ層720は、隠れ層730に接続され得る)、隠れノード731~735は、出力ノード741~743に接続され得る(すなわち、隠れ層730は、出力層740に接続され得る)。いくつかの実施形態では、層の各ノードは、後続の層内の各ノードに接続され得る(例えば、ノード724は、ノード731~735の各々に接続され得る)。代替的に、層内のいくつかのノードは、後続の層内の1つ以上のノードに接続されていなくてもよい。いくつかのノードは、一定のバイアス信号(図示せず)を追加的に提供され得る。
【0122】
隠れノードのうちの1つ以上は、特定の特徴(例えば、波形属性540)について入力波形をフィルタ処理するように構成された特徴フィルタを表し得る。ANN700の隠れノードが横断されるにつれて、フィルタはますます複雑になり、より高次の特徴をフィルタ処理し得る。
【0123】
さらなる実施形態では、層内のノードは、前の層内または同じ層内のノードに戻って接続され得る。例えば、層730内のノード735は、接続736によって、前の層720内のノード725に接続され得る。別の実施例では、層730内のノード735は、層730内のノード731、732、733、または734のうちの少なくとも1つに接続され得る(図示せず)。このように、ANN700は、ネットワーク内に内部状態を生成するフィードバックを含み得る。このタイプのANNは、再帰型人工ニューラルネットワーク(RANN)と呼ばれることがある。注目すべきことに、フィードバック経路を有していないANNは、フィードフォワード人工ニューラルネットワーク(FF-ANN)と呼ばれることがある。
【0124】
ANN700のノード間の各接続は、それぞれの重み付け値に関連付けられ得る。所与のノードは、入力a、a~aを受信し得る。入力a、a~aの各々は、対応する重み付け値w、w~wにそれぞれ関連付けられ得る。所与のノードは、まず、各入力に、対応する重み付け値を乗じたそれぞれの積の合計をとることによって動作し得る。このように、所与のノードは、合計φ=w+w+・・・+wを計算し得る。次いで、合計φを活性化関数に通して、所与のノードの出力を生成し得る。例示的な活性化関数は、ノード出力が合計φに線形に比例する線形活性化関数、ノード出力が通常合計φに従って釣鐘曲線に沿って分布するガウス活性化関数、合計φがノード出力の有界範囲にマッピングされるシグモイド活性化関数、またはノード出力がmax(0、φ)であるRectified Linear Units(RELu)関数を含み得る。
【0125】
いくつかの実施形態では、ANN700は、畳み込み人工ニューラルネットワーク(CANN)の態様であるか、またはその態様を中に含み得る。例えば、ANN700は、層710、720、730、および740の間にプーリング層(つまり、ダウンサンプリング層)を含み得る。さらに、ANN700は、本明細書で論じられていない他のタイプのニューラルネットワークの中でもとりわけ、確率的ニューラルネットワーク、時間遅延ニューラルネットワーク、調節フィードバックニューラルネットワーク、およびスパイキングニューラルネットワークの態様を追加的に含み得る。
【0126】
所与のノードの出力は、ANN700内の他のノードへの入力として提供され得る。所与のノードの出力が接続されている各それぞれのノードにおいて、この出力は、対応する重み付け値によって乗算され、それぞれのノードへの他の入力と合わせて合計され得る。例えば、ノード721の出力は、ノード735に提供され得る。ノード721の出力は、ノード721と735との間の接続に関連付けられる重み付け値によって乗算され得る。次いで、この積は、ノード722の出力とノード722とノード735との間の重み付け値との積、ノード723の出力とノード723とノード735との間の重み付け値との積、ノード724の出力とノード724とノード735との間の重み付け値との積、およびノード725の出力とノード725とノード735の間の重み付け値との積と合わせて、ノード735において合計され得る。合計を活性化関数に通して、ノード735の出力を判定し得る。次いで、ノード735の出力は、ノード741、742、および743に提供され得る。
【0127】
相互接続されたノード間の重み付け値は、条件の既知の特徴を含む環境内の点を表す複数のサンプル波形に基づいてANN700を訓練することによって判定され得る。ANN700の訓練は、例えば、逆伝搬法(例えば、古典的な逆伝搬法、運動量を伴う逆伝搬法、ガウス-ヤコビ逆伝搬法、ガウス-ザイデル逆伝搬法など)によって実行されてもよい。ANN700はまた、特定用途向けMLモデル416、418、および420のうちの1つ以上の例示的な実装形態を提供する。
【0128】
VI.追加の動作例
図8は、埋め込みモデルを使用して環境内の物理的特徴を識別することに関連する動作のフローチャート800を示している。動作は、車両100もしくは200、サーバコンピューティングシステム306、リモートコンピューティングシステム302、またはシステム430のいずれかとともに使用され得る。動作は、例えば、制御システム106、コンピュータシステム112、または動作を行うように構成されている回路によって行われ得る。
【0129】
ブロック802は、光検出測距(LIDAR)デバイスによって、環境内の複数の点の各それぞれの点に対して、それぞれの点の物理的特性を表す対応する波形を生成することを伴う。
【0130】
ブロック804は、プロセッサによって、かつ各それぞれの点の対応する波形に基づいて、環境内のそれぞれの点の対応する位置の表現を含む環境のマップを判定することを伴う。いくつかの実施形態では、ブロック804の動作は、ハードウェアおよび/またはソフトウェアとして実装される信号プロセッサ(例えば、信号プロセッサ406)によって実行され得る。
【0131】
代替的または追加的に、マップは、マップ内の対応する位置においてそれぞれの点の表現を含み得る。すなわち、マップは、物理的環境の仮想表現であり得、その中で(例えば、マップの1つ以上の座標において)、物理的環境内のそれぞれの点の物理的位置を表し得る。物理的環境内の他の点またはオブジェクトに対するそれぞれの点の相対位置が保持され、マップによって表され得る。
【0132】
ブロック806は、プロセッサによって、各それぞれの点に対して、かつ対応する波形に基づいて、埋め込みモデルに基づいて(例えば、埋め込みモデルによって、または埋め込みモデルを使用して)対応するベクトルを判定することを伴う。対応するベクトルは、それぞれの点の物理的特性を表す複数の値を含む。
【0133】
ブロック808は、プロセッサによって、(i)複数の点のうちの1つ以上の点の対応する位置、および(ii)1つ以上の点の対応するベクトルに基づいて、環境内の物理的特徴を検出または分類することを伴う。いくつかの実施形態では、ブロック808の動作は、ハードウェアおよび/またはソフトウェアとして実装される特徴検出器(例えば、特定用途向けMLモデル416、418、または420)によって実行され得る。
【0134】
いくつかの実施形態では、埋め込みモデルは、対応する波形の特性とそれぞれの点の物理的特性との間の関係を定義し得る。
【0135】
いくつかの実施形態では、関係は、第1のそれぞれの点の物理的特性が、第2のそれぞれの点の物理的特性と少なくとも閾値程度の類似性を有するとき、第1のそれぞれの点の対応するベクトルが、第2のそれぞれの点の対応するベクトルの閾値距離内にあるように判定され得る。
【0136】
いくつかの実施形態では、対応するベクトルの複数の値は、n個の値を含み得、それぞれの点の対応する波形は、m個のサンプル値を含み得、mはnよりも大きくてもよい。
【0137】
いくつかの実施形態では、埋め込みモデルは、人工ニューラルネットワークを含み得る。
【0138】
いくつかの実施形態では、LIDARデバイスは、(i)複数のソース光パルスを環境に向けて送信し、(ii)環境から反射された複数の戻り光パルスを受信し、かつ(iii)複数の戻り光パルスの各それぞれの戻り光パルスに対して、複数の点のそれぞれの点の対応する波形を生成するように構成され得る。それぞれの戻り光パルスは、それぞれの点の物理的特性を表し得る。
【0139】
いくつかの実施形態では、埋め込みモデルは、それぞれの点に対応するソース光パルスを表す追加の波形にさらに基づいて、各それぞれの点に対する対応するベクトルを判定するように構成され得る。
【0140】
いくつかの実施形態では、信号プロセッサは、各それぞれの点に対して、かつ対応する波形に基づいて、それぞれの点の物理的特性のうちの特定の物理的特性を表す追加の値を判定するようにさらに構成され得る。追加の値は、対応する波形の1つ以上の特性と特定の物理的特性との間の関係を定義する所定のアルゴリズムを使用して計算され得る。
【0141】
いくつかの実施形態では、それぞれの点の物理的特性は、LIDARデバイスとそれぞれの点との間の遮蔽物の存在を含み得る。それぞれの点の物理的特性を表す複数の値のうちの1つ以上の値の組み合わせは、LIDARデバイスとそれぞれの点との間の遮蔽物の程度を示し得る。
【0142】
いくつかの実施形態では、それぞれの点の物理的特性は、LIDARデバイスとそれぞれの点との間の煤煙の存在を含み得る。それぞれの点の物理的特性を表す複数の値のうちの1つ以上の値の組み合わせは、LIDARデバイスとそれぞれの点との間の煤煙の密度を示し得る。
【0143】
いくつかの実施形態では、それぞれの点の物理的特性は、LIDARデバイスとそれぞれの点との間の水分の存在を含み得る。それぞれの点の物理的特性を表す複数の値のうちの1つ以上の値の組み合わせは、LIDARデバイスとそれぞれの点との間の水分の程度を示し得る。
【0144】
いくつかの実施形態では、連結器は、各それぞれの点に対して、対応するベクトルの複数の値をマップ内のそれぞれの点の表現に追加することによって、マップを修正するように構成され得る。特徴検出器は、連結器から受信された修正されたマップに基づいて物理的特徴を検出または分類するように構成され得る。
【0145】
いくつかの実施形態では、特徴検出器は、機械学習(ML)モデルを含み得る。埋め込みモデルおよびMLモデルは、(i)物理的特徴を含む第1の複数のサンプル環境を表す第1の複数のサンプル波形、および(ii)物理的特徴を含まない第2の複数のサンプル環境を表す第2の複数のサンプル波形に基づいて、物理的特徴を検出または分類するように訓練され得る。
【0146】
いくつかの実施形態では、特徴検出器は、車両による複数のタスクのうちの1つの実行に対する物理的特徴を含む環境の一部分の好適性を判定することによって、物理的特徴を分類するように各々構成された複数の機械学習(ML)モデルを含み得る。
【0147】
いくつかの実施形態では、車両は、環境内を移動するように構成され得る。特徴検出器は、複数の点のうちの1つ以上の点の対応するベクトルに基づいて、物理的特徴が車両によって横断可能であるかどうかを判定することによって、物理的特徴を分類するように構成され得る。
【0148】
いくつかの実施形態では、車両の制御システムは、特徴検出器が、物理的特徴が車両によって横断可能であることを示すこと基づいて、車両に物理的特徴の上を走行させるように構成され得る。制御システムはまた、特徴検出器が、物理的特徴が車両によって横断可能ではないことを示すことに基づいて、車両に物理的特徴の周辺を走行させるように構成され得る。
【0149】
いくつかの実施形態では、マップは、三次元点群を含み得る。
【0150】
いくつかの実施形態では、特徴検出器は、物理的特徴が、LIDARデバイスの視野から環境内の少なくとも1つの他の物理的特徴を遮蔽していると判定するように構成され得る。
【0151】
VII.結論
本開示は、本出願に記載の特定の実施形態に関して限定されるものではなく、特定の実施形態は、様々な態様の例証として意図される。当業者には明らかなことであるが、多くの変形および変更を本開示の趣旨および範囲から逸脱することなく行うことができる。本明細書において列挙される方法および装置に加えて、本開示の範囲内の機能的に同等の方法および装置は当業者には、これまでの説明から明らかであろう。このような変形および変更は、添付の特許請求の範囲内にあることが意図されている。
【0152】
上記の詳細な説明は、添付の図を参照して、開示されたシステム、デバイス、および方法の様々な特徴および機能を説明している。図では、特に文脈で記載しない限り、同様の記号は通常、同様の構成要素を指している。本明細書および図に記載されている例示的な実施形態は、限定することを意図していない。本明細書において提示される主題の趣旨または範囲から逸脱することなく、他の実施形態を利用することができ、他の変更を行うことができる。本明細書で概して説明され、かつ図に示されている、本開示の態様は、多種多様な異なる構成で配置、置換、組み合わせ、分離、および設計することができ、そのすべてが、本明細書において明示的に想定されていることが容易に理解されよう。
【0153】
情報の処理を表すブロックは、本明細書に記載の方法または技法の特定の論理機能を果たすように構成することができる回路に対応し得る。代替的に、または追加的に、情報の処理を表わすブロックは、モジュール、セグメント、またはプログラムコード(関連データを含む)の一部に対応することができる。プログラムコードは、特定の論理機能または動作を方法または技法において実施するプロセッサにより実行可能な1つ以上の命令を含むことができる。プログラムコードまたは関連データは、ディスクまたはハードドライブまたは他の記憶媒体を含む記憶デバイスのような任意のタイプのコンピュータ可読媒体に格納することができる。
【0154】
コンピュータ可読媒体は、レジスタメモリ、プロセッサキャッシュ、およびランダムアクセスメモリ(RAM)のような、データを短期間にわたって格納するコンピュータ可読媒体などの非一時的なコンピュータ可読媒体を含むこともできる。コンピュータ可読媒体は、例えば、リードオンリーメモリ(ROM)、光ディスクもしくは磁気ディスク、コンパクトディスクリードオンリーメモリ(CD-ROM)のような二次的または永続長期ストレージなどの、プログラムコードまたはデータを長期間にわたって格納する非一時的なコンピュータ可読媒体を含むこともできる。コンピュータ可読媒体は、任意の他の揮発性または不揮発性ストレージシステムとすることもできる。コンピュータ可読媒体は、例えば、コンピュータ可読記憶媒体、または有形の記憶デバイスであると考えることができる。
【0155】
さらに、1つ以上の情報伝達を表わすブロックは、同じ物理デバイス内のソフトウェアまたはハードウェアモジュール間の情報伝達に対応し得る。しかしながら、他の情報伝達は、異なる物理デバイス内のソフトウェアモジュール間またはハードウェアモジュール間で行なうことができる。
【0156】
図に示す特定の配置は、限定としてみなされるべきではない。他の実施形態が、所与の図に示される各要素をそれより多く、またはそれより少なく含み得ることを理解されたい。さらに、示される要素のうちのいくつかを組み合わせることも、または省略することもできる。なおさらに、例示的な実施形態は、図に示されていない要素を含むことができる。
【0157】
様々な態様および実施形態が本明細書において開示されているが、当業者には、他の態様および実施形態が明らかとなるであろう。本明細書に開示される様々な態様および実施形態は、例証を目的とするものであり、限定することを意図するものではなく、真の範囲は、以下の特許請求の範囲によって示される。
図1
図2A
図2B
図2C
図2D
図2E
図3
図4A
図4B
図5A
図5B
図6
図7
図8