(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-17
(54)【発明の名称】ナビゲーションマップの生成及びフィルタリング
(51)【国際特許分類】
G08G 1/00 20060101AFI20241210BHJP
G08G 1/0969 20060101ALI20241210BHJP
G08G 1/09 20060101ALI20241210BHJP
G01C 21/26 20060101ALI20241210BHJP
G09B 29/10 20060101ALI20241210BHJP
G06T 7/00 20170101ALI20241210BHJP
【FI】
G08G1/00 A
G08G1/0969
G08G1/09 H
G01C21/26 C
G09B29/10 A
G06T7/00 650Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024527447
(86)(22)【出願日】2022-11-10
(85)【翻訳文提出日】2024-07-02
(86)【国際出願番号】 EP2022081395
(87)【国際公開番号】W WO2023083928
(87)【国際公開日】2023-05-19
(32)【優先日】2021-11-10
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】508108903
【氏名又は名称】ヴァレオ・シャルター・ウント・ゼンゾーレン・ゲーエムベーハー
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100127465
【氏名又は名称】堀田 幸裕
(74)【代理人】
【識別番号】100130719
【氏名又は名称】村越 卓
(72)【発明者】
【氏名】スリー、ハルシャ、チョウダリー、ゴラントラ
【テーマコード(参考)】
2C032
2F129
5H181
5L096
【Fターム(参考)】
2C032HC08
2C032HD16
2F129AA03
2F129AA11
2F129AA14
2F129BB03
2F129EE08
2F129FF02
2F129FF36
2F129FF62
2F129GG17
2F129GG18
5H181AA01
5H181AA25
5H181AA26
5H181BB04
5H181BB05
5H181BB20
5H181CC03
5H181CC04
5H181CC11
5H181CC12
5H181CC14
5H181FF04
5H181FF10
5H181FF13
5H181FF27
5H181FF33
5H181LL09
5H181MC18
5H181MC19
5L096AA02
5L096AA06
5L096AA09
5L096BA04
5L096CA02
5L096CA18
5L096DA01
5L096FA03
5L096FA06
5L096FA66
5L096FA69
5L096GA51
5L096HA11
5L096KA04
(57)【要約】
センサベースのナビゲーションマップを生成、更新及び使用するための技術について説明される。入力マップは、第1ビークルの第1センサによって取得されるセンサデータに基づいて、生成される。入力マップは、1つ又は複数の基準に基づいてフィルタリングされて、第1ビークルによって走行されるルートの3次元表示に対応するフィルタリングされたマップを生成する。フィルタリングは、第1ビークルの第2センサによって取得されるセンサデータを使用して特徴を検知することに基づくことができる。1つ又は複数の基準は、オブジェクト分類、距離基準、及び/又は第1センサによって取得されるセンサデータ及び/又は第2センサによって取得されるセンサデータにおける特徴の属性に関する他の基準を含むことができる。フィルタリングされたマップは、第2ビークルへの送信のために、保存されることができ、第2ビークルが同じルートに沿って走行している間に第2ビークルの場所を検出する際の使用のために、保存されることができる。
【特許請求の範囲】
【請求項1】
マップを生成するための方法であって、
コンピュータシステムによって、第1ビークルの第1センサによって取得されるセンサデータに基づいて、前記第1ビークルによって移動されるルートの3次元表示に対応する入力マップを生成することと、
前記コンピュータシステムによって、1つ又は複数の基準に基づいて、前記入力マップをフィルタリングしてフィルタリングされたマップを生成することであって、前記フィルタリングは、前記1つ又は複数の基準を満たす特徴を自動的に除去することを含み、前記特徴は、前記フィルタリングされたマップを参照して第2ビークルの場所を検出することに無関係なオブジェクトに対応することと、
前記コンピュータシステムによって、前記フィルタリングされたマップを前記第2ビークルに送信することであって、前記第2ビークルが同じルートに沿って移動しつつ、前記フィルタリングされたマップが前記第2ビークルのナビゲーションシステムによって処理されて前記第2ビークルの場所を検出することと、
を含む方法。
【請求項2】
前記1つ又は複数の基準は、除去されるオブジェクトの少なくとも1つのクラスを含み、前記少なくとも1つのクラスは、ビークル、歩行者、動物又は植物のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項3】
前記1つ又は複数の基準は、除去されるオブジェクトの少なくとも1つの属性を含み、前記少なくとも1つの属性は、年齢、長さ、幅、高さ、速度又は形状のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項4】
前記1つ又は複数の基準は前記第1ビークルからの距離を含み、前記距離は閾値距離であり、当該閾値距離を超える特徴が除去されることになる、請求項1に記載の方法。
【請求項5】
前記フィルタリングされたマップは、前記ルートに沿う複数車線道路のエッジを示し、前記フィルタリングされたマップは、前記複数車線道路内の車線を除外する、請求項1に記載の方法。
【請求項6】
前記第1センサはLIDARセンサであり、前記入力マップは、前記LIDARセンサによって取得される点群を含み、前記フィルタリングは、前記オブジェクトに関連する点を除去することを含む、請求項1に記載の方法。
【請求項7】
前記フィルタリングは、
前記第1ビークルの第2センサによって取得される追加のセンサデータに基づいて、前記1つ又は複数の基準を満たす前記特徴を特定することであって、前記追加のセンサデータは、前記LIDARセンサによって取得される前記点群と同時的に取得され、前記第2センサは、カメラ、レーダーセンサ又は別のLIDARセンサであること、
を更に含む、請求項6に記載の方法。
【請求項8】
前記1つ又は複数の基準を満たす前記特徴を特定することは:
前記追加のセンサデータを使用して前記オブジェクトの境界を検出すること;及び
前記境界を、前記点群において対応する点にマッピングすること、
を含む、請求項7に記載の方法。
【請求項9】
前記フィルタリングは:
地面反射及び移動するオブジェクトに対応する特徴が前記入力マップから除去される第1フィルタリング工程を実行すること;及び
前記第1フィルタリング工程の後に第2フィルタリング工程を実行し、前記第2フィルタリング工程は、1つ又は複数のクラスに属するオブジェクトに対応する特徴を除去すること、
を含む、請求項1に記載の方法。
【請求項10】
前記フィルタリングされたマップは、前記第2ビークルが同じルートに沿って移動している間に、無線接続を介して前記第2ビークルに送信され、前記第2ビークルの場所を検出するように、前記フィルタリングされたマップに含まれる特徴が、前記第2ビークルのセンサによって取得されるセンサデータにおける対応の特徴と照合される、請求項1記載の方法。
【請求項11】
1つ又は複数のプロセッサと、
指示を記憶するメモリと、を備え、前記指示は、前記1つ又は複数のプロセッサによって実行される場合、前記1つ又は複数のプロセッサに:
第1ビークルの第1センサによって取得されるセンサデータに基づいて、前記第1ビークルによって移動されるルートの3次元表示に対応する入力マップを生成させ、
フィルタリングされたマップを生成するように、1つ又は複数の基準に基づいて、前記入力マップをフィルタリングさせ、前記入力マップをフィルタリングするように、前記1つ又は複数のプロセッサは、前記1つ又は複数の基準を満たす特徴を自動的に除去するように構成され、前記特徴は、前記フィルタリングされたマップを参照して第2ビークルの場所を検出するのに無関係なオブジェクトに対応し、
前記フィルタリングされたマップを前記第2ビークルに送信させ、前記フィルタリングされたマップは、前記第2ビークルが同じルートに沿って移動している間に、前記第2ビークルの場所を検出するように前記第2ビークルのナビゲーションシステムによって使用可能である、
システム。
【請求項12】
前記1つ又は複数の基準は、除去されるオブジェクトの少なくとも1つのクラスを含み、前記少なくとも1つのクラスは、ビークル、歩行者、動物又は植物のうちの少なくとも1つを含む、請求項11に記載のシステム。
【請求項13】
前記1つ又は複数の基準は、除去されるオブジェクトの少なくとも1つの属性を含み、前記少なくとも1つの属性は、年齢、長さ、幅、高さ、速度又は形状のうちの少なくとも1つを含む、請求項11に記載のシステム。
【請求項14】
前記1つ又は複数の基準は前記第1ビークルからの距離を含み、前記距離は閾値距離であり、当該閾値距離を超える特徴が除去されることになる、請求項11に記載のシステム。
【請求項15】
前記フィルタリングされたマップは、前記ルートに沿った複数車線道路のエッジを示し、前記フィルタリングされたマップは、複数車線道路内の車線を除外する、請求項11に記載のシステム。
【請求項16】
前記第1センサはLIDARセンサであり、
前記入力マップは、前記LIDARセンサによって取得される点群を含み、
前記1つ又は複数のプロセッサは、前記第1ビークルの第2センサによって取得される追加のセンサデータに基づいて、前記1つ又は複数の基準を満たす前記特徴を識別するように構成され、
前記追加のセンサデータは、前記LIDARセンサによって取得される前記点群と同時的に取得され、
前記第2センサは、カメラ、レーダーセンサ又は別のLIDARセンサであり、
前記1つ又は複数のプロセッサは、前記オブジェクトに関連する点を除去するようにさらに構成される、
請求項11に記載のシステム。
【請求項17】
前記1つ又は複数の基準を満たす前記特徴を識別するように、前記1つ又は複数のプロセッサは:
前記追加のセンサデータを使用して前記オブジェクトの境界を検出し、
前記境界を、前記点群における対応の点にマッピングする、
ように構成される、請求項16に記載のシステム。
【請求項18】
前記入力マップをフィルタリングするように、前記1つ又は複数のプロセッサは、
地面反射及び移動するオブジェクトに対応する特徴が前記入力マップから除去される第1フィルタリング工程を実行し;
前記第1フィルタリング工程の後に第2フィルタリング工程を実行し、前記第2フィルタリング工程は、1つ又は複数のクラスに属するオブジェクトに対応する特徴を除去する、
ように構成される、請求項11に記載のシステム。
【請求項19】
前記フィルタリングされたマップは、前記第2ビークルが同じルートに沿って移動している間に、無線接続を介して前記第2ビークルに送信され、前記第2ビークルの前記ナビゲーションシステムは、前記フィルタリングされたマップに含まれる特徴を、前記第2ビークルのセンサによって取得されるセンサデータにおける対応の特徴と照合することを通じて、前記第2ビークルの場所を検出するように構成される、請求項11記載のシステム。
【請求項20】
指示を記憶する非一時的なコンピュータ読み取り可能記憶媒体であって、当該指示がコンピュータシステムの1つ又は複数のプロセッサによって実行されると、
第1ビークルの第1センサによって取得されるセンサデータに基づいて、前記第1ビークルによって移動されるルートの3次元表示に対応する入力マップを生成すること、
フィルタリングされたマップを生成するように、1つ又は複数の基準に基づいて、前記入力マップをフィルタリングすることであって、前記フィルタリングは、1つ又は複数の基準を満たす特徴を自動的に除去することを含み、前記特徴は、前記フィルタリングされたマップを参照して第2ビークルの場所を検出することに無関係なオブジェクトに対応すること、及び
前記フィルタリングされたマップを前記第2ビークルに送信することであって、前記フィルタリングされたマップは、前記第2ビークルが同じルートに沿って移動している間に、前記第2ビークルの場所を検出するように前記第2ビークルのナビゲーションシステムによって使用可能であること、
を前記1つ又は複数のプロセッサに実行させる、非一時的なコンピュータ読み取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
1.発明分野
本発明は、一般にビークルのナビゲーションの分野に関し、より詳細には、ビークル位置を検出するためにナビゲーション中に参照可能なデジタルマップを生成するためのセンサデータの使用に関する。
【発明の概要】
【0002】
2.関連技術の説明
ナビゲーショナルマップは、様々な方法で生成可能である。一部のマップは、衛星支援ナビゲーション、例えば全地球測位システム(GPS)などの全地球航法衛星システムからの支援、と組み合わされて使用されるために、衛星画像によって生成される。衛星画像を使用して生成されたマップは比較的正確である傾向があり、ビークル(vehicle)に搭載された衛星受信機と組み合わされることで、ビークルの位置又は地理的位置を高精度(例えば数メートル以内或いは場合によっては数十センチメートル以内の精度)で推定することを可能にする。しかし、衛星ビューからよく見えない場所もあるため、衛星はすべての場所を撮影できるわけではない。さらに、衛星支援ナビゲーションが利用できるかどうかは、環境要因だけでなく、ビークルの構成(例えば搭載GPS受信機の有無)にも左右されうる。例えば、トンネルや山岳地帯を走行する場合、GPS信号が弱かったり、存在しなかったりすることがある。
【0003】
衛星画像の代替として、カメラ、光検出及び測距(LIDAR)センサ及び/又はレーダーセンサなどのセンサからのデータを使ってマップを生成可能である。そのようなセンサは、そのセンサが、通常は、捕捉される環境にはるかに近いところにあるため、衛星画像に比べてより詳細な情報を提供することができる。詳細レベルが向上することで、衛星ベースの位置と比較して、例えば1又は2センチ以内の精度など、より高い精度で位置を検出することを可能にしうる。しかし、センサデータからマップを形成するには、詳細度の増加に見合った、かなり大量の情報を処理する必要がある。また、センサベースのマップには、位置を特定するのに不要な無関係な情報が含まれる傾向がある。無関係な情報はマップサイズを大きくし、追加の記憶領域を必要とする。マップサイズが大きくなると、ナビゲーション使用のためにマップがビークルに通信される際に、伝送待ち時間にもつながりうる。
【0004】
概要
ここで説明する実施形態は、ビークルナビゲーションに関連して使用するための地理的エリアの簡潔なマップを生成するシステム及び方法を提供することによって、これらの問題及び他の問題に対処する。本開示の態様は、センサデータを取り込んで、次に自動処理を用いてセンサデータをフィルタリングして無関係な情報(例えば1つ又は複数の基準を満たすデータポイント)を除去することによるマップの生成に関する。除去される情報は、一般に、位置の検出に不要な特徴に対応し、したがって関心が低いか又は関心がないものとして分類されることができる。位置を検出する能力に悪影響を与えることなく取り除くことができる特徴の例は、ビークル(例えば道路のサイドに駐車されるビークル又は対向ビークル)、生気あるオブジェクト(例えば歩行者)、及び様々なカテゴリーの生気の無いオブジェクト(例えば木々)を含む。保持される特徴であって位置の検出に有用な特徴は、例えば道路、交通標識、ランドマーク、又はその他のPOI(point of interest)を含みうる。
【0005】
自動フィルタリングは、除去のための特徴を特定するために、異なるタイプのセンサからのデータの融合を含みうる。例えば、いくつかの実装において、LIDAR又はレーダーセンサからのデータは、カメラによってキャプチャーされた画像を使用して検出された特徴に基づいてフィルタリングされる。フィルタリングは、例えば、特定の特徴の存在に関連する1つ又は複数の基準が満たされているかどうかを判断するように条件ロジックを適用するように構成されたソフトウェアアルゴリズムを介して、アルゴリズム的に実行されることができる。いくつかの実装において、機械学習(例えばディープラーニングアルゴリズム又はニューラルネットワーク)が、除去のための特徴を特定するために使用される。例えば、ディープラーニングは、トレーニングされた機械学習モデルを適用して、特定のオブジェクト分類又はカテゴリーに属するオブジェクトの物理的境界を検出することを含むかもしれない。
【0006】
ある態様において、マップを生成する方法は、コンピュータシステムによって、第1ビークルの第1センサによって取得されたセンサデータに基づいて、第1ビークルが走行した経路の3次元表示に対応する入力マップを生成することを含む。その方法はさらに、コンピュータシステムによって、1つ又は複数の基準に基づいて、入力マップをフィルタリングしてフィルタリングされたマップを生成することを含む。そのフィルタリングは、1つ又は複数の基準を満たす特徴を自動的に除去することを含む。その特徴は、フィルタリングされたマップを参照して第2ビークルの位置を検出するのに無関係なオブジェクトに対応する。その方法はさらに、コンピュータシステムによって、フィルタリングされたマップを第2ビークルに送信することを含む。フィルタリングされたマップは、第2ビークルのナビゲーションシステムによって処理され、第2ビークルが同じルートを走行している間に第2ビークルの位置を検出する。
【0007】
ある態様において、システムは、1つ又は複数のプロセッサ及びメモリを含み、そのメモリは、1つ又は複数のプロセッサにマップを生成するための上述の方法を実行させるための1つ又は複数のプロセッサによって実行可能な指示を記憶する。メモリは、指示を記憶する非一時的なコンピュータ読み取り可能記憶媒体を含むことができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、1つ又は複数の実施形態を組み込んだシステムのブロック図である。
【
図2】
図2は、1つ又は複数の実施形態に従ったフィルタリングのための入力として使用可能な2D表示の例を示す。
【
図3A】
図3Aは、1つ又は複数の実施形態に従ってフィルタリング可能な3D表示の例を示す。
【
図3B】
図3Bは、
図3Aの3D表示をフィルタリングしてフィルタリングされたデータを生成することの結果を示す。
【
図4】
図4は、ある実施形態による、フィルタリングされたマップを生成するために実行されることが可能な一連の操作の例を示す。
【
図5A】
図5Aは、環境の3D表示に適用されるバウンディングボックス(bounding boxes)の例を示す。
【
図6】
図6は、ある実施形態による、フィルタリングされたマップを生成及び使用するためのプロセスのフロー図である。
【
図7】
図7は、ある実施形態による、フィルタリングされたマップを生成するためのプロセスのフローチャートである。
【
図8】
図8は、ある実施形態による、入力マップをフィルタリングするためのプロセスのフローチャートである。
【
図9】
図9は、ある実施形態による、フィルタリングされたマップをビークルに送信するためのプロセスのフローチャートである。
【
図10A】
図10A~10Cは、いくつかの実施形態による、ある期間にわたって受信されるフィルタリングされたマップの例を示す。
【
図10B】
図10A~10Cは、いくつかの実施形態による、ある期間にわたって受信されるフィルタリングされたマップの例を示す。
【
図10C】
図10A~10Cは、いくつかの実施形態による、ある期間にわたって受信されるフィルタリングされたマップの例を示す。
【
図11】
図11は、いくつかの実施形態によるフィルタリングされたマップの例を示す。
【
図12】
図12は、ある実施形態による、フィルタリングされたマップを更新するためのプロセスのフローチャートである。
【発明を実施するための形態】
【0009】
様々な図面における同様の参照符号は、ある例示的実施態様に従って、同様の要素を示す。さらに、ある要素の複数の例(instances)は、その要素に関する第1番号の後に文字又はハイフン及び第2の番号を続けることで、示されうる。例えば、要素110の複数の例は、110-1、110-2、110-3などとして又は110A、110B、110Cなどとして示されうる。第1番号のみを使用してそのような要素を参照する場合、その要素の任意の例が理解されることになる(例えば前の例における要素110は、要素110-1、110-2及び110-3又は要素110A、110B及び110Cを指すことになる)。
【0010】
詳細な説明
次に、いくつかの例示的な実施形態が、ここでの一部を形成する添付図面に関して説明される。開示の1つ又は複数の態様が実施されうる特定の複数の実施形態が、以下に記載されるが、開示の範囲又は添付の特許請求の範囲の精神から逸脱することなく、他の実施形態が用いられてもよく、様々な変更がなされてもよい。
【0011】
本開示の複数の態様は、センサデータを取得して、その後そのセンサデータをフィルタリングして無関係な情報を、例えば点群から不要なデータポイントを、除去することによるマップの生成に関する。無関係な情報の除去には、センサデータから得られる入力マップを自動処理にかけて、より少ない外来情報を含むフィルタリングされたマップを生成することが含まれうる。入力マップ及び/又はフィルタリングされたマップは、センサの周辺の物理的環境の2次元(2D)又は3次元(3D)の表示とすることができる。例えば、いくつかの実装において、入力マップは、LIDAR点群から生成された3Dマップであり、出力マップは、カメラによって取得された2D画像を使用してフィルタリングした後の3Dマップに対応する。したがってマップは、物理環境の3D表示、2D表示、又は2D表示と3D表示との組み合わせを使用して生成されることができ、それらの表示は複数のセンサによって取得される。自動フィルタリングにより、手作業による無関係な情報の除去に頼ることなく、フィルタリングされたマップを作成することが可能になる。このように、ここで説明されるフィルタリング技術は、手作業による監視を殆ど或いは全く行わずに大量のセンサデータを処理することを通じて、よりタイムリーな方法でフィルタリングされたマップを作成するために適用されることができる。
【0012】
マップは、地理的なエリアを表すデジタル情報の集まりでありうる。マップは通常、地理的エリアの物理的レイアウトを示すことに加え、地理的エリアにおける場所や特徴、例えば道路、都市、水域、建物などの名称、を示すラベルを含む。前述したように、マップは2D又は3Dでありうる。したがって、地理的エリア内の位置は、2D又は3D座標(例えば緯度、経度、及び高度)を用いて表示される測地位置として指定されうる。或いは、場所は、市民的な場所(例えば住所)として指定されてもよい。
【0013】
地理的エリアの大きさに応じて、マップは1つ又は複数のセグメント(例えば正方形又は長方形のタイル)に分割されてもよく、その各セグメントは、ビークルがセグメントに対応する領域を通って走行する際にビークルの1つ又は複数のセンサによって取得されたセンサデータを使用して形成される。いくつかの実装において、ビークルは、地理的エリアのマッピングの一部として、LIDAR点群、カメラ画像、及び/又は他のタイプの表示を取得するために、地理的エリアの周りを移動する自動車隊の一部であってもよい。したがって、マップは、少なくとも1台のビークルによって提供されるセンサデータの産物とすることができ、いくつかの例では複数のビークルからのセンサデータの集約を通じて生成される。
【0014】
マップがフィルタ処理されてフィルタリングされたマップを生成した後、フィルタリングされたマップは、フィルタリングされたマップでカバーされる地理的エリアによって、走行中の参照として使用するために、ビークルに伝達されることができる。典型的に、フィルタリングされたマップを使用するビークルは、フィルタリングされたマップが生成された入力マップに関するセンサデータを供給したビークルとは異なるビークルである。フィルタリングされたマップを参照する際、ビークルは、ビークルの場所を特定するために、フィルタリングされたマップにおける情報を、ビークル自身の1又は複数のセンサを使用して取得された情報と比較してもよい。フィルタリングされたマップは、保存のためのビークルのメモリに転送可能である。いくつかの例において、フィルタリングされたマップは、走行前にビークルのメモリに予め組み込まれる。他の例において、フィルタリングされたマップは、ビークルがマップでカバーされた地理的エリアを走行中にリアルタイムで、無線で送信される。
【0015】
フィルタリングされたマップは、潜在的に、例えば連続して途切れることのない無線データのストリームとして、一度に送信可能である。しかし、実際には、帯域幅の制約のため、ある通信トランザクションでは、ビークル周辺の局所領域に関連するフィルタリングされたマップの一部(例えば近づきつつある領域を表す1つ又は2つのセグメント)しか送信されないことがある。フィルタリングされたマップは、入力された(フィルタリングされていない)マップよりも少ない情報しか含んでいないため、フィルタリングされたマップは、より少ない待ち時間で送信されることができ、ビークルがビークルの現在の環境に関連するマップ情報にアクセスできるようにするのに役立つ。フィルタリングされたマップの効率的な通信は、(例えばGPS信号の欠如により)衛星支援が利用できない状況で、特に有益である。例えば、GPS信号が突然失われた場合、GPS位置決めからセンサベースのマップを使用した位置決めに切り替える一環として、センサベースのマップをビークルにストリーミングすることができる。ナビゲーション指示及び/又はビークルの場所を表すマップを最小限の中断でドライバーに提示し続けることができるように、位置決め方法の切り替えを迅速に行うことが可能である。ビークルが自律走行ビークルの場合、その切り替えは、自律走行ビークルの制御ユニットが自律走行ビークルの現在場所に関する情報に実質的に中断なくアクセスすることを可能にしうる。
【0016】
図1は、本開示の1つ又は複数の実施形態を組み込んだシステム100のブロック図である。システム100は、一組のビークル102(例えばビークル102A、ビークル102B、及びビークル102N)と、1つ又は複数の通信ネットワーク130を介してビークル102に通信可能につながれるコンピュータシステム150とを含む。
【0017】
1又は複数のネットワーク130は、インターネット、1つ又は複数のセルラーネットワーク(例えば4G、5G、又はロング・ターム・エボリューション(LTE)、Wi-Fi(IEEE802.11X)ネットワーク、WiMax(Wireless Inter-operability for Microwave Access)ネットワーク、及び/又はそのようなものなどの、様々なパブリックネットワーク及び/又はプライベートネットワークのいずれかを含みうる。ビークル102は、例えばセルラー接続、Wi-Fi接続、又はブルートゥース(Bluetooth)接続を介して、ネットワーク130に無線でつながれることができる。いくつかの例において、ビークル102は、例えばビークルによって取得されたセンサデータをコンピュータシステム150に転送する際に、ネットワークへの有線(例えばイーサネット)接続を有しうる。
【0018】
図1に示すように、ビークル102は、センサ110、電子制御ユニット(ECU)112、全地球航法衛星システム(GNSS)レシーバー114、ナビゲーションシステム116、通信システム118、メモリ120、及び入力/出力(I/O)デバイス122を含むことができる。ビークル102は、例えば乗用車、オートバイ、バス、トラックなどの自動車又は他のタイプの動力ビークルとすることができる。しかしながら、ここで説明する技術は、センサを備えたあらゆるビークルに適用可能であり、陸上のビークルに限定されるものではない。従って、開示された実施形態は、ウォータークラフト(watercraft)、航空機、及び/又は宇宙船にも使用されることができる。
【0019】
ECU112は、1つ又は複数の処理ユニットを含むことができる。各処理ユニットは、汎用プロセッサ、特殊用途プロセッサ(例えばデジタル・シグナル・プロセッサ(DSP)又はグラフィック・アクセラレータ・プロセッサ)、特定用途向け集積回路(ASIC)、及び/又は他のハードウェア回路又は回路の組み合わせとすることができる。ECU112は、メモリ120に格納された指示を実行することができる。
【0020】
メモリ120は、揮発性記憶装置(例えばRAM)、不揮発性記憶装置(例えばROM)、又は揮発性記憶装置と不揮発性記憶装置の組合せを用いて実装される、ストレージ及び/又はワーキングメモリを含むことができる。メモリ120は、例えば、マップを生成してフィルタリングするようにECU112によって実行可能なソフトウェアアプリケーションに対応するプログラムコードを格納することができる。追加的に又は代替的に、メモリ120は、ビークル102の場所を検出することに関連してフィルタリングされたマップを取得及び処理するようにECU112によって実行可能なソフトウェアアプリケーションを記憶してもよい。さらに、メモリ120は、フィルタリングされたマップを生成すること及び/又はフィルタリングされたマップを使用して場所を検出することに関連して、1つ又は複数のセンサ110によって取得されたセンサデータのための記憶スペースを含んでいてもよい。したがって、メモリ120は、ECU112及び/又は他のビークルコンポーネント(例えばセンサ110)を構成して、ここで説明する様々なマップ関連機能を提供するように実行可能なプログラム指示のための記憶部を含んでいてもよい。
【0021】
センサ110は、カメラ、LIDARセンサ、レーダーセンサ、超音波センサ、及び/又はデータを獲得することができる他のタイプのセンサの1つ又は複数の例を含むことができ、当該データからセンサ周囲の環境の2D又は3D表示を形成することができる。例えば、前面カメラは、ビークル102Aの前方の環境の2D画像を取得するように、ビークル102Aのフロントガラスの後方に設置されてもよく、その一方で、LIDAR又はレーダーセンサは、ビークル102の前方の環境を表す3D点群を生成してもよい。各センサは対応の視野を有する。異なる方向の環境を捕捉するように、センサの複数の例を採用することができる(例えばビークルの側面や後部に取り付けられたセンサ)。ビークル102は、入力マップ及び/又はフィルタリングされたマップを生成する一部として、センサフュージョンを実行するように構成されてもよい。例えば、異なる方向に向けられたカメラからの画像を一緒につなぎ合わせることによって、合成画像を形成することができる。ステレオカメラの配置において、第1カメラからの画像と第2カメラからの画像とは、第1カメラ及び第2カメラの位置に関する知見に基づいて、例えばカメラ視差に基づいて深度情報を抽出するように両方の画像を比較することによって、3D表示を生成するように結合されてもよい。したがって、異なるセンサからのデータを組み合わせることを通じて、入力マップを生成することができる。
【0022】
センサフュージョンは、異なるタイプのセンサからのデータを含んでいてもよい。1つのタイプのセンサによって提供されるセンサデータは、補足されてもよく、いくつかの例において別のタイプのセンサにより提供されるセンサデータとオーバーラップしてもよい。例えば、LIDARセンサが道路の輪郭を表す点を含む点群を生成してもよく、カメラが同じ道路の画像を取得してもよく、その画像にはLIDARでは検出できないレーンマーカーが含まれている(例えばレーンマーカーは3Dではなくペイントされているため)。このように、異なるセンサ及び/又は異なるタイプのセンサは、ビークル102の周囲の環境のより包括的なビューに貢献しうる。第1センサタイプからのデータを使用して第2センサタイプからのデータをフィルタリングする例を以下に説明する。
【0023】
GNSSレシーバー114は、GNSSの1つ又は複数の衛星と通信するように構成される。例えば、GNSSレシーバー114は、GPS衛星群内の衛星からの信号の搬送波周波数に同調できるGPSレシーバーを含みうる。GNSSレシーバー114は、例えば、GNSSレシーバー114の場所を検出することに関連して、陸上のサーバーから支援情報をリクエストするように、同様に送信機能を有することができる。GNSSベースの測位に関連して使用される場合、GNSSレシーバー114は、複数の衛星から基準信号を受信してもよく、基準信号は、例えば三辺測量によって、ビークル102の場所を幾何学的に検出するように(例えばナビゲーションシステム116によって)処理されてもよい。いくつかの例において、GNSSに基づく測位は、基地局や別のGNSSレシーバーなどの地上のエンティティとの通信を伴ってもよい。例えば、ビークル102の場所は、既知の場所における近くの基地局から送信された情報を使用して検出されてもよく、基地局からのその情報には、基準信号及び/又は基地局によって受信されたGPS信号の測定値が含まれる。
【0024】
ナビゲーションシステム116は、ビークル102の位置を検出することに関連して、メモリ120に格納されたマップにアクセスするように構成されている。マップに関連してビークルの位置を検出するプロセスは、「ローカライゼーション」と呼ばれることがあり、センサベースのマップを使用して実行される場合、1つ又は複数のセンサ110によって取得されたデータを、センサベースのマップに含まれるデータと比較することを含んでもよい。例えば、LIDAR又はレーダーセンサによって取得された点群をセンサベースマップに含まれる点群と比較することによって、ナビゲーションシステム116は、ビークル102が道路の特定の部分に現在位置していることを検出してもよい。その比較には、リアルタイムのセンサデータに含まれる特徴と、センサベースのマップに含まれる対応する特徴とのマッチングを含みうる。例えば、ナビゲーションシステム116は、リアルタイム点群内の点から特徴(例えば道路の輪郭や建物の外形)を特定してもよく、センサベースのマップにマッチングする特徴があるかどうかを判断してもよい。
【0025】
ナビゲーションシステム116は、ソフトウェア及び/又はハードウェアで実装されることができる。例えば、ナビゲーションシステム116は、メモリ120に存在し且つECU112のプロセッサによって実行されるソフトウェアアプリケーションであってもよい。ナビゲーションシステム116は、ビークル102のドライバーにナビゲーションガイダンスを提供することに関連して、ビークル102の場所を検出してもよい。例えば、ナビゲーションシステム116は、ビークル102の場所を用いて、ドライバーが指定した目的地までの経路を計画したり、ビークルの場所をビークル内のディスプレイに表示したり、或いはビークルの場所に関連する交通通知やその他のレポートをリモートサーバから取得したりしてもよい。同様に、ビークル102が自律走行ビークルである場合、ビークルの場所は、ビークルをドライバー指定の目的地に到達させるように設計された自律行動(例えば運転操作)を決めるための入力として、或いは、ビークルの場所周辺に存在する交通、天候、危険、又はその他の条件を考慮して、計画された自律行動を修正すべきかどうかを決めるための入力として、提供されることができる。
【0026】
通信システム118は無線通信インターフェースを含むことができ、当該無線通信インターフェースを介してビークル102とコンピュータシステム150との間でデータが通信される。したがって、通信システム118は、Wi-Fiレシーバー、セルラーレシーバー及び/又はそのようなものなどの無線周波数コンポーネントを含むことができる。レシーバーとして動作する無線周波数コンポーネントは、送信能力も含みうる。無線周波数コンポーネントはハードウェアを共有しうる。例えば、通信システム118は、GPS衛星からの信号を受信するようにGNSSレシーバー114によって使用される1つ又は複数のアンテナと、セルラー基地局からの信号を受信するように構成された1つ又は複数のアンテナとを含むアンテナアレイを含むことができる。いくつかの実装において、異なる無線通信プロトコルで使用するために別々のアンテナが提供されてもよい。例えば、GNSSレシーバー114は、通信システム118の無線周波数レシーバーのアンテナアレイとは別に、独自のアンテナアレイを含んでもよい。
【0027】
ナビゲーションシステム116は、通信システム118を使用してセンサベースのマップを要求するように構成されていてもよい。センサベースのマップに関するリクエストは、センサベースのマップ又はセンサベースのマップの関連部分をコンピュータシステム150に送信させるように、コンピュータシステム150に送られることができる。例えば、リクエストは、ビークルの最後に知られた又は推定された場所の示唆を含むことができ、コンピュータシステム150は、示唆された場所周辺のある距離をカバーするマップデータを提供してもよい。センサベースのマップは、ビークル102がセンサベースのマップによってカバーされる地理的エリア内を走行している間、実質的にリアルタイムでビークル102に提供されることができる。また、センサベースのマップは、カバーされた地理的エリア内を走行する前に、事前にビークルに通信されてメモリ120に保存されてもよい。
【0028】
通信システム118を通じて受信されるセンサベースのマップは、1台以上のビークル102によって取得されたセンサデータを用いて生成されたフィルタリングされたマップを含むことができる。フィルタリングされたマップは、フィルタリングされていないマップから無関係な情報を除去することによって生成されることができる。いくつかの実装において、フィルタリングされたマップを生成するための処理は、1つ又は複数のビークル102から受信したセンサデータ及び/又はフィルタリングされていないマップに基づいて、コンピュータシステム150によって実行される。したがって、通信システム118は、センサデータ及び/又はフィルタリングされていないマップをコンピュータシステム150に提供するようにも使用されうる。例えば、ビークル102A、102B及び102Nは、それぞれのセンサ110を使用して2D及び/又は3D表示を取得するように地理的エリア全体を移動し、センサベースのマップを形成及びフィルタリングするために、その表示をコンピュータシステム150にアップロードするビークル隊の一部であってもよい。センサベースのマップにセンサデータを提供するビークル群の各ビークル102は、地理的エリアの異なる部分に沿って走行するように割り当てられうる。いくつかの例において、2台のビークルが走行した部分がオーバーラップしてもよい。1つ又は複数のビークル102によって提供されるセンサデータの冗長性は、センサデータがコンピュータシステム150によって結びつけられる際に取り除かれることができる。
【0029】
センサベースのマップは、より新しいセンサデータに基づいて更新されることができる。例えば、コンピュータシステム150によって提供されるフィルタリングされたマップを使用してナビゲートする場合、ビークル102は、フィルタリングされたマップからのデータをビークル102の1つ又は複数のセンサ110を使用して取得されたセンサデータと比較することに加え、センサデータに反映された変化に基づいてフィルタリングされたマップを更新するかどうかをコンピュータシステム150が決めることを可能にするように、センサデータをコンピュータシステム150に送信してもよい。フィルタリングされたマップに更新をもたらしうる変化の例には、迂回路の存在、封鎖された道路、新しい建物、及び車線閉鎖が含まれる。したがって、フィルタリングされたマップは、1台以上のビークルによる地理的なエリアを横切る複数回の走行によって収集されたセンサデータの産物でありうる。
【0030】
I/Oデバイス122は、例えばキーボード又はキーパッド、タッチスクリーン、ボタン、ノブ、マイクロフォン、及び/又はそのようなものなど、ビークル102の運転手又は他の乗員からの入力を受けるように構成された1つ又は複数の入力デバイスを含みうる。入力デバイスは車室に、例えばセンターコンソール、ステアリングホイール、オーバーヘッドコンソールなどに、位置づけられることができる。I/Oデバイス122はまた、音声、視覚、及び/又は他のタイプの出力(例えば触覚出力)を運転者又は他の乗員に提示するように構成された1つ又は複数の出力デバイスを含んでいてもよい。出力デバイスの例には、ディスプレイモニタ、ラウドスピーカ、発光ダイオード(LED)及び/又はそのようなものなどが含まれる。
【0031】
コンピュータシステム150は、フィルタリングされたマップを生成するように及び/又はビークル102に送信するように、構成されている。したがって、コンピュータシステム150は、マップ生成システム152及び通信システム154を含むことができる。コンピュータシステム150は、1つ又は複数のコンピューティングデバイスを使用して実装されることができ、当該1つ又は複数のコンピューティングデバイスは、例えば汎用コンピュータ、ストレージサーバ又はコンピュータのネットワークを含んでもよい。コンピュータシステム150は、ビークル102のI/Oデバイス122と同様の1つ又は複数のI/Oデバイス156、例えばキーボード、ディスプレイモニタ、ラウドスピーカ及び/又はそのようなものを含んでもよい。前述したように、フィルタリングされたマップは、殆ど或いはまったく手動で管理されることなく、自動化された方法で生成されることができる。特に、フィルタリングされていない又は入力されたマップから無関係な情報を識別して除去するプロセスは、フィルタリングされていないマップを手動で確認することなく、実行されることができる。しかし、フィルタリングされたマップをさらに洗練するため(例えば1つ又は複数の特徴を削除のために手動で指定することにより)、又は特徴を削除するコンピュータシステム150による決定を上書きするために、例えばI/Oデバイス156を使用して、手動入力が提供されることができる。
【0032】
マップ生成システム152は、1つ又は複数のビークル102からのセンサデータを使用してフィルタリングされていないマップを生成するように構成されうる。センサデータは、通信システム154を介して提供されることができ、例えば、ビークル102が地理的エリア内を走行している間又はビークル102が地理的エリアを走行し終えた後に、1つ又は複数の通信ネットワーク130を介して送られうる。マップ生成システム152は、ハードウェア及び/又はソフトウェアで実装されることができ、センサフュージョンを実行して除去のために特徴を特定してもよい。マップ生成システム152によって実行されるセンサフュージョンは、除去されるべき特徴を検出して分類するように、異種のセンサデータ(例えばカメラ画像とLIDAR点群)を組み合わせることを含んでもよい。いくつかの実装において、フィルタリングされていないマップは、LIDAR又はレーダーセンサからの3Dデータを使用して生成され、その後、カメラ画像又は別のタイプのセンサからのデータに基づいてフィルタリングされる。フィルタリングされていないマップのフィルタリングの一部として実行されるセンサフュージョンは、無関係な情報に関連する特徴を除去するだけでなく、保持される特徴のより詳細な情報を含むように、フィルタリングされていないマップのセンサデータを増強することも含みうる。例えば、カメラ画像は、LIDAR点群にはない色情報を提供してもよい。或いは、複数種類のセンサからのセンサデータの積としてフィルタリングされていないマップを生成するために、フィルタリングの前にセンサフュージョンが実行されてもよい。
【0033】
いくつかの実装において、マップ生成システム152は、機械学習を適用して除去に関する特徴を特定するように構成されている。例えば、マップ生成システム152は、機械学習アルゴリズムを実行して或いはトレーニングされたニューラルネットワークを使用して、予め定められたカテゴリー(人、木、道路、車線、ビークルなど)のセットに従ってセンサデータで表されるオブジェクトを分類してもよいし、各オブジェクトの境界を識別してもよい。機械学習アルゴリズム又はニューラルネットワークは、オブジェクトの場所及び境界が既知であるセンサデータ(例えばカメラ画像及び/又はLIDAR点群)に関して教師あり学習(supervised learning)を使用して事前トレーニングされてもよい。或いは、教師なし学習技術(unsupervised learning techniques)が使われてもよい。機械学習アルゴリズム又はニューラルネットワークへの入力は、例えば、同じ場所を描いた3D表示及び対応する2D表示とすることができる。機械学習又はニューラルネットワークの出力は、ラベル付け又はセグメント化された3D表示とすることができ、当該3D表示は、異なるクラスのオブジェクトとそのようなオブジェクトの境界とを描写する。
【0034】
アルゴリズム的に実行されるか機械学習によって実行されるかにかかわらず、フィルタリング処理は、最初に3D表示を異なる領域にセグメント化し、各領域にクラスラベルを割り当てる一連の工程を含みうる。3D表示をセグメンテ化した後、各オブジェクトの境界は、例えば、点群中の点のクラスタリングに基づいて、決められてもよい。そのセグメンテーション及びオブジェクト境界は、セグメント化されること及び分類されることも可能な2D表示からの情報を考慮して、決められることが可能である。この点で、3D表示は、2D表示からは得られない立体情報(depth information)を含みうるものであり、その一方で、2D表示における色情報は、互いに近くにあるオブジェクト(例えば別のビークルの後ろに駐車しているビークル)をより容易に区別されるようにすることを可能にしうる。従って、2D表示及び3D表示(或いは、一般的には、異種のセンサからのデータ)は、集合的に、環境のより包括的なビューを提供しうる。オブジェクト境界はクラス特定とすることができる。例えば、2D表示及び/又は3D表示のセグメント化された領域にフィッティングするために、異なる形状の3Dバウンディングボックステンプレートが利用可能であってもよい。このようにして、マップ生成システム152は、3D表示におけるオブジェクトに関するバウンディングボックス及び/又は2D表示における同じオブジェクトに関する対応のバウンディングボックスを決めることができる。
【0035】
検知されたオブジェクトに関する境界を検出した後、マップ生成システム152は、フィルタリングされたマップの一部として含めるための出力3D表示を生成するように、3D表示からの除去のための1つ又は複数の特徴を特定してもよい。除去のためのオブジェクトを特定するために、マップ生成システム152は、1つ又は複数の基準が満たされているかどうかを判定することができる。その基準は、例えばif-then-else文、case文又はその他のプログラミングロジック、又はハードウェアロジック(例えば組合せ論理回路)を使用して、明示的に定められることができる。或いは、その基準は、機械学習モデルのパラメータ(例えばニューラルネットワークの重み)を設定するように機械学習モデルのトレーニングを通じて定められることができる。1つの基準は、その特徴が1つ又は複数の定義済みのカテゴリー又はオブジェクト分類に属することであってもよい。例えば、ビークル、歩行者、木々、又は(例えばオブジェクトが一時的なものであったり、外観が変化する可能性があったりするため)参照特徴として使用するには適さない他のタイプのオブジェクトであると検出された特徴は、除去に関する候補として選択されうる。参照特徴として機能しうる特徴があって、したがって保持されうる特徴には、道路沿いのサインや板(例えば近くの出口の場所を示すサイン)、道路のエッジを画定する盛り上がった縁石、建物やその他の注目点、フェンスや擁壁、及び/又はそのようなものが含まれる。以下は、フィルタ除去されることが可能なオブジェクト分類の非網羅的リストである:車線、移動オブジェクト、歩行者、他のビークル(例えば車、バイク、トラックなど)、植物、及び動物。
【0036】
マップ生成システム152が適用しうる別の基準は、距離閾値である。3D表示のためのセンサデータを取得したビークル102からある距離内にある特徴は、保持されてもよい。例えば、20メートル先の木が除去されうる。対照的に、5メートル離れた別のビークルは保持される可能性がある。したがって、ビークルの場所を検出するために不要と思われるすべての機能が削除されるとは限らない。各フィルタリングされたマップは、多数の3D表示を含む可能性があり、各3D表示は、フィルタリングされたマップによってカバーされる地理的エリア内の異なる場所におけるビークル102の周囲の環境の「スナップショット」に対応するため、閾値距離を超える特徴にフィルタリングを制限することで、フィルタリングされたマップの生成にかかる時間を短縮することができる。
【0037】
場所の検出に不要な特徴をフィルタ除去するために、他の基準が適用可能である。例えば、マップ生成システム152は、絶対速度、センシングを行うビークルに対する相対速度、物理的状態(例えば移動中又は静止中)、年数(age)、長さ、幅、高さ及び形状など、検知されたオブジェクトの属性に関する1つ又は複数の基準を適用してもよい。従って、フィルタ除去されるオブジェクトは、閾値速度を超えて移動しているオブジェクト、(同じ場所について収集された複数のセンサデータのセットを経時的に比較することに基づいて検出可能な)閾値年数を下回るオブジェクト、閾値長さ/幅/高さを下回るオブジェクト、又はある形状要件を満たすオブジェクト(例えば閾値を超える数のエッジを持つオブジェクト又は閾値を超える曲率を有するエッジを持つオブジェクト)を含みうる。もう一つの例は、オブジェクト分類の信頼度である。いくつかの実装において、マップ生成システム152は、特徴に割り当てられたクラスラベルがその特徴の正しいラベルである可能性を表す信頼値を決めるように構成される。偽陽性特定(false positive identification)に起因する除去を避けるため、信頼閾値を下回る信頼値を有するオブジェクトは保持されうる。したがって、マップ生成システム152は、任意の数の基準又は基準の組み合わせを適用して、特徴がそのような基準を満たす場合にその特徴をフィルタ除去することができる。例えば、マップ生成システム152は、基準の複数のセット(例えば上述の基準の異なる組み合わせ)を用いて構成されることができ、それによって特徴がその基準の複数のセット内の任意のセットを満たす場合にその特徴がフィルタ除去される。
【0038】
コンピュータシステム150は、メモリ158をさらに含みうる。メモリ120と同様に、メモリ158はストレージメモリ及び/又はワーキングメモリを含むことができる。メモリ158は、マップ関連機能を提供するように構成されたソフトウェアアプリケーションを格納しうる。例えば、マップ生成システム152は、マップを生成してフィルタリングするようにメモリ158におけるプログラム指示を実行するように構成された1つ又は複数のプロセッサを含みうる。さらに、メモリ158は、マップ生成システム152に関する入力データ及び/又は出力データを格納することができる。そのようなデータは、フィルタ基準160、フィルタリングされたマップ162、又はフィルタリングされていないマップ(描かれていない)を含みうる。フィルタリングされたマップ162は、例えば特定のビークルからの要求に応じて又は複数のビークルに同時に送信されるなど、ビークル102へのその後の送信のために保存されることができる。
【0039】
図2は、1つ又は複数の実施形態に従ったフィルタリングに関する入力として使用可能な2D表示の例を示す。
図2は、(
図3A及び
図3Bに関連して説明される)特徴の例を説明するために提供され、当該特徴は、場所を検出する能力に悪影響を与えずにフィルタリング除去されることができる。
図2の2D表示は、例えばビークル102の前面カメラを使用して取得されうるカメラ画像200である。画像200は、カラー画像であってもよいし、モノクロ(例えば白黒又はグレースケール)画像であってもよい。
図2に示すように、画像200は、2方向の交通と両方向のビークルを伴う複数車線の道路沿いの光景を表現している。画像200中のビークルには、画像200を取得したビークルの前方を走行するビークル(例えば前方ビークル210)と、反対方向に走行するビークル(例えば対向ビークル220)とが含まれる。画像200はさらに、(この例では盛り上がった縁石で画定されている)道路のエッジ250、車線マーカー260、道路のサイドに沿った構造物(例えば建物230及び道路標識240)を示す。
【0040】
図3Aは、1つ又は複数の実施形態に従ってフィルタリングされることができる3D表示の例を示す。
図3Aの3D表示は、例えばビークル102(例えば画像200を取得したのと同じビークル)のLIDARセンサを使用して取得されうる点群300である。画像200を点群300と比較すると、これら2つの表示は同じシーンを示しているが、視点は同一ではないことが分かる。例えば、
図3Aに示すように、点群300は、前方ビークル210に関連する第1点群、対向ビークル220に関連する第2点群、建物230に関連する第3点群、道路標識240に関連する第4点群、及び道路エッジ250に関連する第5点群を含む。点群300における点は、環境におけるオブジェクトから反射されたレーザー光又はレーダー信号の測定に基づいて、形成されうる。視点の違いは、画像200及び点群300を取得したセンサが異なる視野を持ち、異なる方向に向けられ、異なる場所に取り付けられ、及び/又はセンサ構成における他の相違を有することの結果でありうる。点群300は、地面からの反射の結果として生成された点に対応する地面反射302も含む。
【0041】
図3Bは、
図3Aの3D表示をフィルタリングしてフィルタリングされた点群310を形成した結果を示す。
図3Aと
図3Bを比較すると、フィルタリングされた点群310には、かなり少ない量の点が含まれていることが分かる。例えば、前方ビークル210及び対向ビークル220に関連する点は、フィルタリングされた点群310には存在しない。しかし、建物230、道路標識240及び道路エッジ250に関連する点は残っている。上述したように、フィルタリング処理は、1つ又は複数の基準を適用して、第1センサを用いて取得されたセンサデータ内で、1つ又は複数の基準を満たす特徴を特定することを含みうるものであり、第2センサからのセンサデータの助けを借りて実行されることができる。例えば、フィルタリングされた点群310は、画像200に含まれる情報に基づいて点群300をフィルタリングした結果として生成されうる。点群300のフィルタリングは、点群300を、関連する点のグループ又はクラスタ(例えば上述の第1~第5点群)に対応する異なる領域にセグメント化し且つ点の各グループにクラスラベルを割り当てた後に、実行されることができる。例えば、フィルタリングされた点群310からの点と、道路の異なる部分を描写する1つ又は複数の追加のフィルタリングされた点群からの点とを使用して、
図3Bに描写された同じ道路の拡張されたセクションの3D表示を構築することによって、フィルタリングされたマップを形成するように、フィルタリングされた点群310は他のフィルタリングされた点群と組み合わせられることができる。
【0042】
図4は、一実施形態による、フィルタリングされたマップを生成するように実行可能な一連の工程400の例を示す。
図4に描かれた工程は、例えば
図1のマップ生成システム152を実装するプロセッサなど、コンピュータシステムの1つ又は複数のプロセッサを用いて実行されることができる。一連の工程400は、オブジェクト検知段階410から始まる。オブジェクト検知段階410は、複数のセンサからのセンサデータ402を使用して行われるセンサフュージョンを含んでいてもよい。異なるセンサタイプからのセンサデータ402、例えばLIDAR点群からのデータ及びカメラ画像からのデータ、は、一緒に処理されて、センサデータにおける特徴を、1つ又は複数の事前定められたオブジェクト分類に属するオブジェクトとして、識別することができる。例えば、点群の中で互いに閾値距離離れた場所にある点のクラスターは、同じオブジェクトに属するものとして識別されうる。同様に、カメラ画像内の同じ又は類似の色/輝度の画素は、同じオブジェクトに属するものとして識別されうる。オブジェクト検知段階410での処理の結果検知されたオブジェクト412は、バウンディングボックス生成段階420に入力される。
【0043】
バウンディングボックス生成段階420では、各オブジェクト412の周囲にバウンディングボックスを形成して、一連のバウンディングボックス422を生成することができる。バウンディングボックス422は、オブジェクト検知段階410への入力として提供されるセンサデータ402のタイプに応じて、二次元(2Dボックス)及び/又は三次元(3Dボックス)で形成されることができる。いくつかの実装において、バウンディングボックス生成は2Dセンサデータにのみ適用され、その後、フィルタリング段階430での後続の処理の一部として、3Dセンサデータの対応する領域に、例えば2Dセンサデータを使用して検出された境界を点群内の対応する点に、マッピングされる。バウンディングボックスは、所望の精度のレベルに応じて、長方形又は他のある幾何学的形状にすることができる。複雑な形状に関し、事前に定められた形状テンプレート(例えばセダンの形状、バンの形状、トラックの形状など)を、スケーリングや回転などの1つ又は複数の幾何学的変換を使用して適用し、検知されたオブジェクトに最も適合するバウンディングボックスを形成してもよい。
【0044】
バウンディングボックス422は、フィルタリングされていないマップデータ424とともに、フィルタリング段階430に入力される。フィルタリングされていないマップデータ424は、フィルタリングされることになるマップに対応し、センサデータ402で表される同じ環境の3D表示を含みうる。いくつかの実装において、フィルタリングされていないマップデータ424は、センサデータ402のサブセット、例えば同じLIDAR点群、を含む。ただし、オブジェクト検知段階410に入力されるデータと、フィルタリング段階430に入力されるデータとの間には、オーバーラップがあってもなくてもよい。例えば、オブジェクト検知段階410は、フィルタリングされることになる点群を使用せずに、実行されうる。フィルタリング段階430は、対応するバウンディングボックス422によって定められるオブジェクト412のうちのどれがフィルタリングされていないマップデータ424から除去されるか決めることを含む。上述したように、フィルタリングは、1つ又は複数の基準を満たすオブジェクトを特定することを含むことができ、その1つ又は複数の基準は、場所検出に不要なオブジェクトを区別するための基礎を提供する。そのようなオブジェクトの除去は、フィルタリングされたマップに組み込むことができるフィルタリングされたマップデータ432をもたらす。例えば、フィルタリングされたマップデータ432は、
図3Bのフィルタリングされた点群310に対応しうる。
【0045】
フィルタリング段階430は、複数のフィルタリングステップを含んでいてもよい。例えば、最初のフィルタリングステップは、地面反射(例えば
図3Aの地面反射302)及び移動オブジェクト(例えば前方ビークル210及び対向ビークル220)を除去してもよい。動きは、例えば、取得するビークルとは異なる量(例えば距離)又は異なる方向に動く点のグループを識別する点動作分類によって、検知されることができる。地面の反射及び移動オブジェクトを除去した後、(バウンディングボックス422の一部又は全部に関連する)残りのオブジェクトは、1つ又は複数のオブジェクト分類(ビークル、歩行者、動物など)に属する静的な非移動オブジェクトであって、1つ又は複数の基準を使用してオブジェクトベースのフィルタリングによって除去されることができる静的な非移動オブジェクトとして、識別されることができる。例えば、最初のフィルタリングは、移動しているビークルをフィルタリング除去しつつ、オブジェクトベースフィルタリングは、動かないビークル又は駐車中のビークルをフィルタリング除去しうる。上述したように、フィルタ基準の一例は閾値距離である。その閾値距離は関心領域を定めうるものであり、当該関心領域内で、そうでなければ1つ又は複数の基準を満たす特徴が、それでもなお保持される。例えば、フィルタリングは、どの方向から見ても少なくとも15メートル離れた場所にある特徴に限定されてもよい。複数ステップのフィルタリングに関する処理の例が、後述の
図8に示される。
【0046】
フィルタリングされたマップデータ432は、ビークルの周囲の環境の瞬間的なスナップショットに対応する3D表示(例えば点の3Dグリッド)を含む。完全なフィルタリングされたマップを生成するために、例えば、フィルタリングされたマップデータ432の各セットが、地理的エリアを表す全体的な3Dボリューム内の別個の3Dスライスを形成するように、フィルタリングされたマップデータ432の複数のセットを組み合わせることができる。
【0047】
図5Aは、環境の3D表示に適用されるバウンディングボックスの例を示す。基礎となるデータは3次元であるが、
図5Aは環境の上から見下ろした図に対応しているため、横軸(x軸)が横方向の距離をメートルで表し且つ縦軸(y軸)が縦方向の距離をメートルで表す2次元座標系を用いて示されている。
図5Aにおける距離は、3D表示を取得したビークル520に対する相対的なものである。したがって、ビークル520は2次元座標系の原点(0,0)に位置する。
図5Aの例において、3D表示は、バウンディングボックス510A、510B、510C及び510Dの周りに散在する点を持つ点群である。バウンディングボックス510A-Dは、ビークル520の周囲の他のビークルを表す。点群は、さらに、道路エッジ550などの、環境における他の物理的特徴に関連する点を含む。
図5Aに示すように、バウンディングボックス510によって表される各オブジェクトには、一意の識別子(ID)を割り当てることができる。
【0048】
図5Bは、
図5Aにおける3D表示をフィルタリングする例を示す。
図5Bは、フィルタリングが実行された後に残る点を含む。
図5Bに示すように、バウンディングボックス510A、510B及び510Cに関連する点はない。これは、バウンディングボックス510A、510B及び510Cに対応するオブジェクトを除去のために特定した結果である。しかし、道路エッジ550には、無関係な点530A、530B及び540に加えて、関連する点がある。無関係な点530A及び530Bは、ノイズ又は不適切な結果に対応しうるが、除去すべきオブジェクトのクラスに属するものとしてラベル付けされず、しかしながらオプションとして、さらなるフィルタリング次第で除去されることができ、ビークルの場所を検出することに大きな影響は与えない。また無関係な点540は、場所検出に大きな影響は与えず、バウンディングボックス510Dに対応するビークルに関連する点を表し、除去すべきオブジェクトのクラス(例えば他のビークル)に属するにもかかわらず、除去に関する基準として15メートルの閾値距離を適用した結果として残る。上述したように、処理時間を短縮するために、閾値距離内にある特徴を保持することができる。この例では、点540はビークル520から15メートル以内にあるが、その一方で、バウンディングボックス510A、510B及び510Cの周りの点はすべて15メートルを超えて位置する。
【0049】
図6は、ある実施形態による、フィルタリングされたマップを生成して使用するためのプロセス600のフロー図である。プロセス600は、第1ビークル(A)、第2ビークル(B)、及びコンピュータシステム(例えばコンピュータシステム150)によって実行されることができる。602において、ビークルAはルートに沿って走行している間にセンサデータを取得する。センサデータは、ビークルAに搭載された第1センサを使用して取得され、例えば、LIDAR又はレーダーセンサを使用して取得された点群などの3D表示を含んでいてもよい。センサデータは、ビークルAに搭載された第2センサ、例えばカメラ、レーダーセンサ、又は別のLIDARセンサ、を用いて取得されるデータをさらに含んでいてもよい。第2センサは、3D表示のフィルタリングに使用されることができるデータを取得する基準センサとして動作する。第2センサによって取得されたデータは、第1センサによって取得されたデータと同時に取得されてもよく、同じシーン(例えばルートに沿う道路の同じ部分)を描写していてもよい。そのルートは、マッピングされている地理的エリアを通って延び、地理的エリアの1つ又は複数の走行可能な部分、例えば1つ又は複数の道路、高速道路、橋など、を含む。そのルートは、事前に計画されたものであってもよいし、場合によっては、ビークルAの運転者によって走行時に選択されたルートであってもよい。
図2及び
図3Aに示すように、センサデータは、任意の所与の時間において取得するビークルの周囲の環境の瞬間的な表示を含みうる。602において取得されたセンサデータは、異なる時間に取得され、ルートの異なる部分を描写する2D表示及び/又は3D表示の複数のセットを含むことができる。
【0050】
604において、ビークルAは、取得されたセンサデータを、コンピュータシステムに送信する。センサデータは、無線通信を利用して、例えばルートに沿って走行している間又はルートを完了した直後に、実質的にリアルタイムで送信可能である。或いは、センサデータは、ビークルAのメモリに保存されることができ、ビークルAがコンピュータシステムに有線で通信可能に接続されるように利用可能な場合には、有線接続を使用してコンピュータシステムにアップロードされることもできる。
【0051】
606において、コンピュータシステムはセンサデータを使ってフィルタリングされていないマップを生成する。フィルタリングされていないマップは、ビークルAによって走行されるルート全体の3D表示を含んでもよく、例えばルートに沿って取得される点群又は他の3D表示のセットを組み合わせることによって、生成可能である。
【0052】
608において、コンピュータシステムは1つ又は複数の基準に基づいてマップをフィルタリングし、無関係な情報を取り除く。フィルタリングは、1つ又は複数の基準を満たす特徴を除去し、例えば
図4に描かれたプロセスに従って、実行されることができる。従って、608におけるその機能は、第1センサ(例えばカメラ画像)を使用して取得された第1表示をセグメント化して、第1表示内の1つ又は複数の領域が潜在的に除去されることが可能なオブジェクトのクラスに対応することを検出し、その後、1つ又は複数の領域の各々についてバウンディングボックスを決めることを含みうる。608におけるその機能は、フィルタリングされたマップに含めるためのフィルタリングされたマップデータを生成するために、どのバウンディングボックスが、第2センサを使用して取得された第2表示(例えばLIDAR点群)から除去されるべき特徴に関連するのかを決めるように、1つ又は複数の基準を適用することをさらに含みうる。フィルタリング処理は、対応する表示のセット(例えばルートの同じ部分を描いた点群及びカメラ画像)に関して繰り返されることが可能であり、ビークルAによって走行されるルート全体についてフィルタリングされたマップデータを生成することができる。
【0053】
610において、コンピュータシステムは、フィルタリングされたマップを、コンピュータシステムがアクセス可能なメモリ、例えばローカルメモリ又は外部サーバー、に格納する。コンピュータシステムは、フィルタリングされたマップがビークルBに利用可能なようにする。例えば、フィルタリングされたマップは、ストレージから読み出されることができ、コンピュータシステムと通信しているビークルB及び他のビークルに送信され又はビークルBからの(612における)リクエストに応答して送られることができる。いくつかの例において、フィルタリングされたマップは、同じルート又は近くの追加ルートを走行する他のビークルによって提供される追加のセンサデータを含みうる。例えば、ビークルAは、地理的エリアのさまざまな部分をマッピングすることを任務とするビークルの群の一部であってもよい。追加のセンサデータは、ビークルAによって取得されるセンサデータと同じやり方で、フィルタリングされることができる。
【0054】
612において、ビークルBはコンピュータシステムからのマップデータを要求する。612におけるリクエストは、マップデータが要求されている場所、例えばビークルAにより走行されるルートを含む地理的エリア、を示してもよい。リクエストで示された場所は、様々な具体的レベルで指定されることが可能である。例えば、リクエストは、ビークルBの最後の既知の又は推定された座標を含みうる及び/又は地理的エリア又は地理的エリア内のサブ領域を名前によって特定しうる。612におけるリクエストは、無線接続(例えばセルラー、Wi-Fi、又はWiMax接続)を介して、1つ又は複数の通信ネットワークを介して送信されることが可能である。612におけるリクエストは、フィルタリングされたマップ又はその関連部分が、ビークルBがフィルタリングされたマップに表された場所に到着する少し前に、例えばビークルがその場所に到着する数秒又は数分前に、ビークルBによって受信されるように、時間を決めることができる。
【0055】
614において、コンピュータシステムは、612におけるリクエストに応じて、例えばリクエスト612が送信されたのと同じ無線接続を介して、フィルタリングされたマップをビークルBに送信する。送信されるべきデータ量に応じて、コンピュータシステムはフィルタリングされたマップの全部又は一部を送信しうる。後述の
図10A~10Cは、ビークルがビークル周辺のローカルエリアに関連するマップデータの差分更新を受信するように、フィルタリングされたマップデータが時間経過とともにビークルによってダウンロードされる例を示す。
【0056】
616において、ビークルBは、ビークルAが走行したのと同じルートに沿って走行している間に、センサデータを取得する。ビークルBは、必ずしも602においてビークルAが走行したのと同一のルートを走行するとは限らない。しかし、616において取得されたセンサデータは、それがルートに沿った同じ場所の1つ又は複数の表示を含むという点で、602において取得されたセンサデータと重複する。特に、616において取得されたセンサデータは、ビークルBの現在の周囲の表示を含みうるものであり、現在の周囲は、ビークルBが614において受信したマップデータにも表示される。したがって、616において取得されるセンサデータをフィルタリングされたマップにおけるデータと比較することで、ビークルBがどこにいるのかを特定することが可能となりうる。
【0057】
618において、ビークルBはフィルタリングされたマップのデータを616において取得されるセンサデータと比較して、ビークルBの場所を検出する。618におけるその比較は、フィルタリングされたマップに含まれる1つ又は複数のマッチングする特徴を特定して、マッチングする1又は複数の特徴の存在に基づいて、ビークルAによって以前に走行されたルートに沿って特定の場所にビークルBが現在いることを判定することを含みうる。例えば、
図3Bを参照すると、ビークルBは、道路標識240及び道路エッジ250を、場合によってはわずかに異なる視点から、描いた点群を取得しうる。視点の違いは、センサ構成(例えばビークルBのLIDARセンサがビークルAのLIDARセンサと異なる高さに取り付けられている)、ビークル位置(例えばビークルAがいた車線とは異なる車線においてビークルBが走行している)、及び/又はその他の要因に起因しうる。道路標識240、道路エッジ250、及び/又はビークルBによって取得される点群における他の特徴の相対位置を比較することによって、ビークルBは、そのような特徴がフィルタリングされた点群310に含まれる特徴とマッチングするものであり、したがってビークルBの現在場所がフィルタリングされた点群310に描かれた場所であると判断しうる。
【0058】
図7は、ある実施形態による、フィルタリングされたマップを生成するためのプロセス700のフローチャートである。プロセス700は、コンピュータシステム150などの、1台以上のビークルからセンサデータを受信するように構成されたコンピュータシステムの1つ又は複数のプロセッサによって実行されることができる。702において、コンピュータシステムは、第1ビークル(例えば
図6のビークルA)の第1センサによって取得されたセンサデータに基づいて、第1ビークルが走行したルートの3D表示に対応する入力マップを生成する。702における機能は、
図6の606に関連して説明した処理に従って実装され、フィルタリングされていない又は「ロー(raw)」マップを入力マップとして生成することができる。
【0059】
704において、コンピュータシステムは1つ又は複数の基準に基づいて入力マップをフィルタリングし、フィルタリングされたマップを生成する。704における機能は、
図6の608に関連して説明した処理に従い、例えば
図4に示したフィルタリング処理を用いて、実装されることができる。したがって、704におけるフィルタリングは、1つ又は複数の基準を満たす特徴を自動的に除去することを含みうる。上述したように、基準は、場所検出に不要な特徴に関連する属性に対応するように、選択されることができる。1つ又は複数の基準を満たす特徴は、フィルタリングされたマップを参照して第2ビークル(例えば
図6のビークルB)の場所を検出することに無関係なオブジェクトに対応しうる。
【0060】
706において、コンピュータシステムは、フィルタリングされたマップを第2ビークルに送信する。コンピュータシステムは、例えば
図1におけるフィルタリングされたマップ162の一部として、送信前にフィルタリング済みマップを保存することができる。第2ビークルがフィルタリングされたマップを受信した後、フィルタリングされたマップは、第2ビークルのナビゲーションシステムによって処理され、第2ビークルが同じルートに沿って走行している間に第2ビークルの場所を検出することができる。
図6の618に関連して上述したように、第2ビークルによる処理は、1つ又は複数のマッチングする特徴を識別するように、第2ビークルのセンサによって取得されたセンサデータをフィルタリングされたマップからのデータと比較することを含みうる。
【0061】
フィルタリングされたマップは、706において送信された後、更新されることができる。フィルタリングされたマップの更新は、その後の同じルートにおける走行の間に取得されたセンサデータに基づくことができる。その後の走行は、ビークルA又はコンピュータシステムと通信する他のビークルによって、行われることができる。例えば、フィルタリングされたマップの更新は、第2ビークルによって取得されたセンサデータに基づいて実行されうる。コンピュータシステムは、その後の走行中に取得されたセンサデータを比較して、フィルタリングされたマップに何らかの重大な変更、例えば防壁によって閉鎖された道路、トラフィックコーンによって示されるような車線の迂回、迂回路など、があるかどうかを判断することができる。いくつかの実装において、フィルタリングされたマップの更新は、変更の自動選択を選択又は確認するための手動入力を含んでもよい。フィルタリングされたマップを更新するために使用されるセンサデータのフィルタリングは、フィルタリングされたマップが最初に生成された場合と同じ自動化されたやり方で実行されることができる。
【0062】
図8は、ある実施形態による入力マップをフィルタリングするためのプロセス800のフローチャートである。プロセス800は、
図7のブロック704における機能を実装するように、コンピュータシステムの1つ又は複数のプロセッサによって実行されることができる。802において、コンピュータシステムは、第1ビークルからのセンサデータを使用して生成された入力マップの特徴を識別する。802で特定された特徴は、地面の反射及び/又は移動するオブジェクトに対応する。
図4に関連して上述したように、移動オブジェクトは、取得ビークル(ここでは、第1ビークル)とは異なる方向に又は異なる量だけ移動する点のグループを識別するように、点動作分類を使用して検知されることができる。地面の反射は、フィルタリングされたマップ内の道路又は走行可能な表面の検知される境界に基づいて地表面を定めることによって、識別されることができる。地表面に位置し且つオブジェクトとして分類されていない点又は特徴は、地面反射として識別されることができる。地面反射を特定するための他の技術が使用されてもよい。
【0063】
804において、コンピュータシステムは、802において地面の反射及び/又は移動するオブジェクトに対応するものとして識別された特徴を除去するように、第1フィルタリング工程を実行する。第1フィルタリング工程は、入力マップよりも少ない情報(例えばより少ない点)を含むが更にフィルタリングされることができる部分的にフィルタリングされたマップを生成する。第1フィルタリング工程は、オブジェクト分類に頼ることなく、不要であると識別できる特徴を除去するように実行される。オブジェクト分類は、地面の反射又は移動するオブジェクトを識別するのに比べて計算量が多くなりうるため、第1フィルタリング工程は、オブジェクトベースのフィルタリングが適用されるデータ量を減らすことで処理時間をスピードアップすることができる。
【0064】
806において、コンピュータシステムは、1つ又は複数のクラスに属するオブジェクトに対応する入力マップにおける特徴を識別する。例えば、806において特定される特徴には、ビークルであるとラベル付けされたバウンディングボックスに関連する点が含まれる。代替的又は追加的に、コンピュータシステムは、第1ビークルから閾値を超える距離にある特徴を特定する。1つ又は複数のクラスに属するオブジェクトに対応する特徴を識別することは、1つ又は複数のオブジェクト分類をフィルタ基準として使用して、オブジェクトベースのフィルタリングの一部として実行されることができる。閾値距離を超える特徴を識別することは、閾値距離をフィルタ基準として使用して、距離ベースのフィルタリングの一部として実行されることができる。例えば、15メートルの閾値距離を使用して、横方向又は縦方向に15メートルよりも大きく離れた特徴が除去のために識別されるような矩形の関心領域を定めることができる。
【0065】
808において、コンピュータシステムは、806において特定される特徴を除去するように第2フィルタリング工程を実行する。第2フィルタリング工程は、フィルタリングされたマップを生成し、当該フィルタリングされたマップはその後第2ビークルに送信されることができる。
【0066】
図9は、ある実施形態による、フィルタリングされたマップをビークルに送信するためのプロセス900のフローチャートである。プロセス900は、コンピュータシステム150などの、ビークルと通信しているコンピュータシステムの1つ又は複数のプロセッサによって実行されることができる。プロセス900は、フィルタリングされたマップを生成するコンピュータシステムと同じコンピュータシステムでも、異なるコンピュータシステムでも実行可能である。902において、コンピュータシステムはビークルからマップデータのリクエストを受け取る。そのリクエストは、1つ又は複数の通信ネットワーク、例えば4G又は5Gセルラーネットワーク、を通じてワイヤレスで送信されることができる。そのリクエストは、GNSSベースのナビゲーションからセンサベースのナビゲーションに切り替わるビークルに関連して送信されてもよい。例えば、ビークルがGPS衛星からの信号を受信及び/又はデコードできない場合に、リクエストが送信されうる。マップデータに関するリクエストは、必ずしもセンサベースのナビゲーションへの切り替えに関連して発生する必要はない。例えば、902におけるリクエストは、GPSベースのナビゲーションの間に或いはナビゲーションアシストのない走行過程中においても生じうるものであり、それによって、ビークルが未来においてフィルタリングされたマップを使用することを必要とする場合に、フィルタリングされたマップを利用可能である。
【0067】
904において、コンピュータシステムは、リクエストに含まれる場所情報に基づいて、フィルタリングされたマップの領域を特定する。場所情報は、ビークルのおおよその場所に対応してもよい。例えば、902におけるリクエストは、ビークルの直近の既知の又は推定の座標(例えばGNSSベースの測位方法を用いて検出された直近の場所)を含みうる。代替的に又は追加的に、そのリクエストは地域を名前(例えば通り名又は都市名)で指定することもできる。その領域は、例えばビークルの現在の軌道に基づいてビークルが到達すると予想される領域など、ビークルの前方の領域を包含することができる。その領域はさらに、ビークルがすでに通過したエリアを包含しうる。いくつかの実装において、フィルタリングされたマップは、各領域が3Dグリッド内のそれぞれのタイル(長方形のブロック)に対応するように、2次元(例えば緯度及び経度)に沿って異なる領域に分割される3Dマップ(例えば点の3Dグリッド)である。したがって、904において特定される領域は、フィルタリングされたマップで表された地理的エリアの一部をカバーする1つ又は複数のタイルを含んでもよい。
【0068】
906において、コンピュータシステムは、904で特定された領域に関するフィルタリングされたマップデータをビークルに送信する。フィルタリングされたマップデータは、上記の3Dグリッド内の1つ又は複数のタイルに関するデータを含んでいてもよい。例えば、フィルタリングされたマップは点群データ(PCD)形式でありうるものであり、それによって906における送信は、1つ又は複数のタイルに関するデータを含む1つ又は複数のPCDファイル(例えばタイル毎に別々のPCDファイル)を送信することを含む。プロセス900は、フィルタリングされたマップの別の領域が識別されてビークルに送信されるように、マップデータに関する後続のリクエストでブロック902に戻りうる。このようにして、ビークルはフィルタリングされたマップデータを定期的に(例えば数秒又は数分毎に)受信してもよい。フィルタリングはマップ全体のサイズを縮小し、そのことは、フィルタリングされたマップをより少ない待ち時間でビークルに送信されることを可能にする。マップサイズを小さくすることで、例えば照合する点又は特徴が少なくなるため、ビークルの場所を検出するのにかかる時間を短縮することもできる。
【0069】
図10A~10Cは、いくつかの実施形態による、ある期間にわたって受信されるフィルタリングされたマップ1000の例を示す。フィルタリングされたマップ1000は、正方形又は長方形のタイルに分割される3Dグリッドである。各タイルは、フィルタリングされたマップの異なるセグメントを表し、カバーされた地理的エリア内の特徴に対応する1つ又は複数の点を含みうる。例えば、道路1010の輪郭は、道路のエッジに沿って位置する点によって示される。
図10A~10Cに描かれているようなフィルタリングされたマップ1000は、経時的なビークルの場所の変化に基づいて、マップデータをビークルで利用できるようにする方法を説明することが意図される。フィルタリングされたマップ1000は、ビークルの運転手に表示されることができるが、表示は任意である。
【0070】
図10Aでは、フィルタリングされたマップ1000が同心円状のリング1002で示されている。リング1002は、ビークルの現在場所について中心とされる。一番外側のリングは、ビークルに搭載されたセンサ(例えばLIDARセンサ)の最大検知範囲を示す。
図10Aに示すように、フィルタリングされたマップ1000は、ビークルの現在場所にある道路1010の一部だけでなく、センサの最大検知範囲を超えて、ビークルが向かっている領域1020に位置する道路の近づきつつある部分も包含する地理的エリアをカバーする。したがって、
図10Aに表される時間瞬間において、ビークルは利用可能なマップデータを持ちうるものであり、当該利用可能なマップデータは、領域1020までの地理的エリアをカバーし且つ領域1020を含む。しかし、領域1020を超えるエリアに関するマップデータ(例えば道路1010のより遠いセクションに対応するタイル)は利用できないかもしれない。フィルタリングされたマップ1000のいくつかの部分が利用できないのは、帯域幅の制約及び/又はフィルタリングされたマップ1000のデータサイズの結果でありうる。帯域幅が制限されている場合、又はフィルタリングされたマップのサイズが、フィルタリングされたマップを一度に送信することを非現実的なものとする場合、フィルタリングされたマップは、代わりに、分割されてビークルに送信されてもよい。
【0071】
図10Bでは、ビークルによって受信されたフィルタリングされたマップ1000に新しいタイル(追加のマップセグメント1030)が追加されている。
図10Bに示すように、ビークルは今や
図10Aよりも領域1020に近づいている。追加マップセグメント1030は、例えばビークルがビークルの現在場所からある距離離れたタイルまでに関するマップデータを持つように、ビークルの現在場所に基づいて送信用に選択されていてもよい。
図10Bはまた、新しいタイルを、現在の移動ルートの周囲のエリア、例えば道路1010をカバーするタイル、に限定できることを示す。
【0072】
図10Cは、追加マップセグメント1030によって表されるエリアにビークルが位置している時間における、フィルタリングされたマップ1000の別の図を示す。
図10Cに示すように、フィルタリングされたマップ1000は、2つの分岐部に分かれる道路1010を示す点を含み、ビークルは右側の分岐部に位置している。その2つの分岐部は
図10Bにも示されている。
【0073】
図11は、フィルタリングされたマップ1100の例を示す。フィルタリングされたマップ1100は、
図10A~
図10Cにおけるフィルタリングされたマップ1000と比較して、より近い視点から示されており、例えばフィルタリングされたマップ1000におけるタイルのうちの1つを拡大した図に対応しうる。
図11は、ビークルの場所を検出するために、ビークルのセンサによって取得された対応する特徴と照合するために使用されうる特徴の例を説明するように、提供される。フィルタリングされたマップ1100は、第1方向の交通車線1110と、反対方向の交通車線1120とを含む複数車線道路を示す。個々のレーンは見えない。その代わり、道路は、両方向1110及び1020に沿った道路のエッジを示す点の集まりとして、表される。第1方向1110に沿って道路脇に隣り合う木々1112と、反対方向1120に沿って道路脇に隣り合う木々1114とが見える。木々1112及び1114は、上述したように、閾値距離を適用した後に残る点に対応しうる。木々1112及び1114は、場所検出には不要であり、実際、経時的な外観の変化(例えば季節的な枝葉)のため、照合することが困難でありうる。しかし、例えば道路のエッジと照合することで、ビークルの場所を特定することは依然としてできる。ビークル場所を検出するために照合されうる他の特徴としては、例えば、頭上標識1140及び防壁/壁1130が含まれうる。
【0074】
図12は、ある実施形態による、フィルタリングされたマップを更新するためのプロセス1200のフローチャートである。プロセス1200は、コンピュータシステム150などの、フィルタリングされたマップにアクセスできるコンピュータシステムの1つ又は複数のプロセッサによって、実行されることができる。プロセス1200は、フィルタリングされたマップを生成するのと同じコンピュータシステムによって実行されるものとして説明されている。ただし、更新は別のコンピュータシステムで行われることもできる。1202において、コンピュータシステムは、第1ビークルがルートに沿って走行しつつ、第1ビークルの1つ又は複数のセンサによって取得されたセンサデータを使用して入力マップを生成する。
【0075】
1204において、コンピュータシステムは、1つ又は複数の基準に基づいて入力マップをフィルタリングし、第1のフィルタリングされたマップを生成する。1202及び1204における機能は、
図7のブロック702及び704に関連して説明された処理を使用して、実装されることができる。しかし、
図7の例とは異なり、1204における第1のフィルタリングされたマップは、マップの初期例としてではなく、既存のマップを更新するために使用される。既存のマップは、同じルートに沿って走行しつつ第1のビークル又は別のビークルによって取得されたセンサデータを使用して、第1のフィルタリングされたマップと同様の方法で生成された第2のフィルタリングされたマップである。このように、第1のフィルタリングされたマップ及び第2のフィルタリングされたマップは、カバーされる地理的エリアに関して少なくとも部分的に重なる。しかし、第1のフィルタリングされたマップは、第2のフィルタリングされたマップによってカバーされるエリアよりも大きな又は小さなエリアをカバーすることができる。例えば、第2のフィルタリングされたマップが
図10Aにおけるフィルタリングされたマップ1000である場合、第1のフィルタリングされたマップは、いくつかのタイル(例えば領域1020)のみ又は単一のタイルの一部をカバーしうる。
【0076】
1206において、コンピュータシステムは、第1のフィルタリングされたマップと第2のフィルタリングされたマップとの間の違いを識別する。相違点を識別することは、第1のフィルタリングされたマップにおける点又は特徴と、第2のフィルタリングされたマップにおける対応する点又は特徴とを比較することを含みうる。これは、ビークル場所を検出する一環として行われるマッチングと同様の方法で、行われることができる。その比較は、コンピュータシステムが、第1のフィルタリングされたマップと第2のフィルタリングされたマップの両方に表示されるエリアを特定することを可能にする。さらに、その比較は、コンピュータシステムが、この共通の/オーバーラップするエリアが、第2のフィルタリングされたマップの時点から第1のフィルタリングされたマップの時点まで変化した程度を判断することを可能にする。
【0077】
1208において、コンピュータシステムは、1206において特定された相違点に基づいて、第2のフィルタリングされたマップを更新する。すべての違いが、第2のフィルタリングされたマップの更新を正当化するほど重大なものであるというわけではない。その代わりに、コンピュータシステムは、ルートに沿うビークルのアクセスの変化のみを反映するように、第2のフィルタリングされたマップを更新するように構成されてもよい。ビークルのアクセスの変化の例には、道路の封鎖(例えばアクセスを制限する防壁又はトラフィックコーンで示された車線迂回路など)、迂回路(一日のうちの特定の時間帯における高速道路の入り口又は出口の閉鎖)、及び道路形状の変化(例えば道路の拡幅や狭窄又は新しい道路区間の追加など)が含まれる。いくつかの例において、コンピュータシステムは、例えば第1のフィルタリングされたマップに含まれる点群データに基づいて点を追加又は削除することにより、第2のフィルタリングされたマップを自動的に更新してもよい。しかし、いくつかのタイプの更新は、行われる前に手作業で確認したほうがよいかもしれない。例えば、人間の確認者は、工事により2つの車線が合流したこと、交通標識に記載されたある時間帯に高速道路の入り口が閉鎖されていることなどを、確認することができる。コンピュータシステムは、例えば第1のフィルタリングされたマップ及び第2のフィルタリングされたマップの対応する部分を並べて表示することにより、手作業で確認するために、第1のフィルタリングされたマップと第2のフィルタリングされたマップとの間の相違点にフラグを立てることができる。
【0078】
当業者にとって、具体的な要件に応じて実質的な変形が可能であることは明らかであろう。例えば、カスタマイズされたハードウェアも使用されるかもしれないし、及び/又は、特定の要素がハードウェア、ソフトウェア(アプレット(applets)などのポータブルソフトウェアを含む)、又はその両方で実装されるかもしれない。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスとの接続が採用されうる。
【0079】
添付の図を参照すると、メモリを含むことができる構成要素は、非一時的なの機械読み取り可能媒体を含むことができる。ここで使用される「機械読み取り可能媒体」及び「コンピュータ読み取り可能媒体」という用語は、機械を特定のやり方で動作させるデータの提供に関与するあらゆる記憶媒体を指す。上述で提供される実施形態において、様々な機械読み取り可能媒体が、実行のために指示/コードを処理ユニット及び/又は他の1又は複数の装置に提供することに関与しうる。追加的に又は代替的に、機械読み取り可能媒体は、そのような指示/コードを格納及び/又は伝えるのに使用されるかもしれない。多くの実装において、コンピュータ読み取り可能媒体は、物理的な及び/又は有形の記憶媒体である。そのような媒体は、不揮発性媒体、揮発性媒体及び伝送媒体を含むがこれらに限定されない多くの形態をとりうる。コンピュータ読み取り可能媒体の一般的な形態には、例えば、磁気媒体及び/又は光学媒体、パンチカード、紙テープ、穴のパターンを有する他のあらゆる物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップ又はカートリッジ、搬送波、又はコンピュータが指示及び/又はコードを読み取ることができる他のあらゆる媒体が含まれる。
【0080】
ここで論じられる方法、システム及び装置は例である。様々な実施形態が、様々な手順又は構成要素を適宜省略、代替、又は追加しうる。例えば、ある実施形態に関して説明した特徴は、他の様々な実施形態において組み合わせられうる。実施形態の様々な態様及び要素は、同様のやり方で組み合わせられうる。ここで提供される図の様々な構成要素は、ハードウェア及び/又はソフトウェアで具現化可能である。また、技術は進化するため、多くの要素は例であり、当該例は開示の範囲をそれらの具体例に限定するものではない。
【0081】
いくつかの実施形態を説明してきたが、開示の精神から逸脱することなく、様々な修正、代替構造、及び等価物を使用しうる。例えば、上記要素は、より大きなシステムの構成要素に過ぎないかもしれず、他のルールが実施形態の適用に優先しうる、又はそうでなければ実施形態の適用を変更しうる。また、上記の要素を検討する前、検討中、検討後に、複数のステップが踏まれうる。したがって、上記の説明は、開示の範囲を、記述されるまさにその実施形態に限定するものではない。
【国際調査報告】