(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-07
(45)【発行日】2023-09-15
(54)【発明の名称】LIDARデータと画像データの関連付け
(51)【国際特許分類】
G08G 1/16 20060101AFI20230908BHJP
G06T 7/521 20170101ALI20230908BHJP
G01S 17/86 20200101ALI20230908BHJP
【FI】
G08G1/16 C
G06T7/521
G01S17/86
(21)【出願番号】P 2020561676
(86)(22)【出願日】2019-04-23
(86)【国際出願番号】 US2019028819
(87)【国際公開番号】W WO2019212811
(87)【国際公開日】2019-11-07
【審査請求日】2022-03-29
(32)【優先日】2018-05-03
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】テンシア リー
(72)【発明者】
【氏名】サビーク マニ プラダン
(72)【発明者】
【氏名】ドラゴミール ディミトロフ アンゲロフ
【審査官】貞光 大樹
(56)【参考文献】
【文献】特開2016-189184(JP,A)
【文献】米国特許出願公開第2015/0015569(US,A1)
【文献】米国特許第9369689(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00 - 1/16
G06T 7/00 - 7/90
G01S 7/48 - 7/51
G01S 17/00 - 17/95
(57)【特許請求の範囲】
【請求項1】
1つ又は複数のプロセッサによって実行される方法であって、
LIDARデータと、環境の画像データとを受信するステップと、
前記環境内で検出され
たオブジェクトに関連付けられた
前記画像データの一部を識別する関心領域を決定するステップと、
前記関心領域に対応する前記LIDARデータのLIDARポイントを決定するステップと、
前記LIDARポイントについてのスコアを生成するステップであって、LIDARポイントについてのスコアを生成することは、
前記関心領域の中心から前記画像
データ上への前記LIDARポイントの投影までの距離に少なくとも部分的に基づいて係数を決定することと、
前記画像データ及び/又は前記オブジェクトの分類を入力として受け取り、かつ前記画像データ及び/又は前記分類に少なくとも部分的に基づいて確率分布を決定する機械学習モデルによって生成された前記確率分布から、前記LIDARポイントに関連付けられた深度測定値の確率密度を決定することと、
前記確率密度及び前記係数に少なくとも部分的に基づいて前記スコアを生成することと、を含む、ステップと、
前記スコア
を重みとして使用して前記LIDARポイントの
加重メジアンを決定するステップと、
一次深度推定値として、前記
加重メジアンに関連付けられた深度測定値を識別するステップ
であって、前記一次深度推定値は、前記環境における前記オブジェクトまでの距離に関連付けられている、ステップと、
を含む、方法。
【請求項2】
前記係数を決定することは、前記画像
データ上への前記LIDARポイントの前記投影を用いて、前記関心領域の前記中心を中心にしたガウス分布を評価すること、
を含む、
請求項1に記載
の方法。
【請求項3】
前記確率密度を決定することは、機械学習モデルを介して、前記オブジェクトの分類に少なくとも部分的に基づいて、深度の範囲にわたって確率分布を生成すること、
を含む、
請求項1に記載の方法。
【請求項4】
前記スコアを生成することは、前記確率密度に前記係数を掛けること、
を含む、
請求項1に記載の方法。
【請求項5】
前記一次深度推定値を含む深度値の範囲を満たす又は超える距離に関連付けられたLIDARポイントのサブセットを識別するステップと、
前記サブセットに関連付けられたスコア
に少なくとも部分的に基づいて、第2の加重メジアンを決定するステップと、
二次深度推定値として、前記第2の加重メジアンに関連付けられた深度測定値を識別するステップと、
をさらに含む、
請求項1に記載の方法。
【請求項6】
前記深度値の範囲は、前記一次深度推定値よりも0.8メートル小さいポイントから、前記一次深度推定値よりも1.6
メートル大きいポイントまで変化する、
請求項5に記載の方法。
【請求項7】
前記
一次深度推定値を用いて前記確率分布を評価することによって前記
一次深度推定値に関連付けられた第1の確率密度又は第1の確率を、前記
二次深度推定値を用いて前記確率分布を評価することによって前記
二次深度推定値に関連付けられた第2の確率密度又は第2の確率と比較すること、
前記一次深度推定値に関連付けられたLIDARポイントの第1の密度を、前記二次深度
推定値に関連付けられたLIDARポイントの第2の密度と比較すること、又は
前記一次深度推定値及び前記二次深度推定値を、前記オブジェクトに関連付けられたオブジェクトトラックと比較すること
であって、前記オブジェクトトラックは、所定期間にわたる前記オブジェクトの履歴位置、速度、加速度、及び/又は進行方向に関連付けられている、ことと、
の少なくとも1つに少なくとも部分的に基づいて、前記一次深度推定値又は前記二次深度推定値を出力深度として選択するステップをさらに含む、
請求項5に記載の方法。
【請求項8】
前記二次深度推定値を選択することは、
前記オブジェクトの少なくとも一部を遮蔽する遮蔽オブジェクトの存在を示すことと、
前記一次深度推定値を前記遮蔽オブジェクトに関連付け、前記二次深度推定値を前記オブジェクトに関連付けることと、
をさらに含む、
請求項7に記載の方法。
【請求項9】
自律車両のコントローラに前記出力深度を送信するステップと、
前記出力深度に少なくとも部分的に基づいて軌道を生成するステップであって、前記軌道は、前記自律車両に前記環境の一部を横切らせるように構成される、ステップと、
をさらに含む、
請求項7又は8に記載の方法。
【請求項10】
前記一次深度推定値及び前記二次深度推定値を、
前記機械学習モデルの出力と比較すること、
前記一次深度推定値に関連付けられたLIDARポイントの第1の密度を、前記二次深度推定値に関連付けられたLIDARポイントの第2の密度と比較すること、又は
前記一次深度推定値及び前記二次深度推定値を、前記オブジェクトに関連付けられたオブジェクトトラックと比較すること、
をさらに含む、
請求項7に記載の方法。
【請求項11】
前記一次深度推定値又は前記二次深度推定値に少なくとも部分的に基づいて、前記環境内の前記オブジェクトの位置を識別するステップと、
前記オブジェクトの前記位置に少なくとも部分的に基づいて、自律車両の動きを制御するための軌道を生成するステップと、
をさらに含む、
請求項5、7、8、又は10に記載の方法。
【請求項12】
少なくとも部分的に前記一次深度推定値に基づいて、前記環境内の前記オブジェクトの位置を識別するステップと、
少なくとも部分的に前記オブジェクトの前記位置に基づいて、自律車両の動きを制御するための軌道を生成するステップと、
をさらに含む、
請求項1に記載の方法。
【請求項13】
前記関心領域に対応する前記LIDARポイントを決定するステップは、
前記LIDARポイントを含むLIDARポイントの集まりを画像空間に投影することと、
前記関心領域の範囲内に位置するものとして前記LIDARポイントを識別することと、
を含み、
前記関心領域は、前記環境内の前記オブジェクトを表すものとして画像の一部を識別し、前記画像及び前記LIDARポイントは、十分に近い時間に受信される、
請求項1に記載の方法。
【請求項14】
システムであって、
1つ又は複数のプロセッサと、
前記1つ又は複数のプロセッサによって実行可能な命令を格納する1つ又は複数のコンピュータ可読媒体と、を備え、前記命令は、実行されたとき、前記システムに、請求項1~13のいずれか1項に記載の処理を実行させる、システム。
【請求項15】
実行されたとき、1つ又は複数のプロセッサに、請求項1~13のいずれか1項に記載の処理を実行させる、格納された命令のセットを有する非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
このPCT国際出願は、参照により本明細書に組み込まれている、2018年5月3日に出願された米国特許出願第15/970,838号の優先権の利益を主張するものである。
【背景技術】
【0002】
カメラ画像は従来、2次元のデータを含んでいる。したがって、オブジェクト検出がシーンの画像に対して行われるときでも、この検出は、検出されたオブジェクトに対応する画像の座標しか提供しない(即ち、深度及び/又はスケールが曖昧である)。画像から検出されたオブジェクトの深度を復元するために、ステレオカメラを使用するなどの解決策が導入されている。しかしながら、ステレオカメラ深度検出はエラーが発生しやすく、自律車両制御などのリアルタイムアプリケーションには遅すぎることが多く、低下された安全性という結果をもたらす可能性がある。
【発明の概要】
【0003】
詳細な説明が添付の図を参照して説明される。図において、参照番号の左端の数字は、参照番号が最初に現れる図を識別する。異なる図における同じ参照番号は、類似又は同一の要素を示す。
【図面の簡単な説明】
【0004】
【
図1A】検出されたオブジェクトと、画像内の検出されたオブジェクトの位置を識別するように生成されたバウンディングボックスとを含む例示的な画像を示す図である。
【
図1B】深度知覚問題を示す例示的シナリオのブロック図である。
【
図2A】例示的シナリオの鳥瞰図、及び
図2Cの要素に対応し得るLIDARデータを示す図である。
【
図2B】例示的シナリオの側面プロファイル、及び
図2Cの要素に対応し得るLIDARデータを示す図である。
【
図2C】例示的な検出されたオブジェクトと、例示的な関心領域と、例示的な遮蔽オブジェクトと、画像上に投影された例示的なLIDARデータとを含む例示的な画像を示す図である。
【
図3】
図2A~
図2Cの例示的なシナリオに対応する機械学習されたモデルによって生成された例示的な確率分布、及び3つの例示的なLIDARポイントに関連付けられた例示的な確率を示すブロック図である。
【
図4A】後続の図で議論するためのいくつかの選択された例示的なLIDARポイントに関連付けられた深度測定の側面プロファイル図である。
【
図4B】後続の図で議論するための選択された例示的なLIDARポイントの関心領域への投影を示す図である。
【
図4C】関心領域の中心からのLIDARポイント投影の距離に少なくとも部分的に基づいて、LIDARポイントについての係数を生成するための例示的な分布を示す図である。
【
図5A】画像において検出されたオブジェクトについての深度推定値を決定するための例示的なプロセスを示す図である。
【
図5B】画像において検出されたオブジェクトについての深度推定値を決定するための例示的なプロセスを示す図である。
【
図5C】画像において検出されたオブジェクトについての深度推定値を決定するための例示的なプロセスを示す図である。
【
図6】本明細書で論じられるビジョン-メタスピン関連付けシステム(vision-metaspin association system)を組み込むことができる例示的な自律車両のブロック図である。
【発明を実施するための形態】
【0005】
本明細書で論じられる技法(例えば、機械及び/又はプロセス)は、画像センサからの画像データ、及びLIDARセンサからのLIDARデータを使用して、環境におけるオブジェクトまでの距離を決定することを含むことができる。いくつかの例では、本明細書で論じられる技法は、画像内のオブジェクト(本明細書では「関心領域」と呼ばれる)に対応するピクセルの表示を受信することと、LIDARデータを受信することと、関心領域と画像が撮られた時間とに対応するLIDARデータからLIDARポイントを決定することとに少なくとも部分的に基づいて、カメラからオブジェクトまでの距離(例えば、オブジェクトの深度)を決定する。これらのLIDARポイントが識別されると、これらの技法は、LIDARポイントをスコアリングし、加重メジアン計算における重みとしてLIDARポイントに関連付けられたスコアを使用して、LIDARポイントを距離でソートすること(例えば、各LIDARポイントは距離測定値に関連付けられ、いくつかの例では角度にも関連付けられ得る)と、重みとしてスコアを使用して、ソートされたLIDARポイントの加重メジアンを決定することとを含むことができる。いくつかの例では、これらの技法は、オブジェクトに関連付けるための深度推定値として加重メジアンを識別することを含むことができる。そのような技法は、遮蔽オブジェクトのLIDARデータを考慮することによって、オブジェクトのより正確な深度推定値を提供することができる。
【0006】
本明細書で論じられる画像は、環境の2次元表現を取り込む単眼画像であり得る。即ち、単眼画像は、カラー/グレースケール画像データ(可視カメラデータ及び赤外線カメラデータなどを含むがこれらに限定されない)を含み得るが、深度(例えば、ユークリッド座標系の「z軸」)が欠如している。本明細書で論じられる技法は、画像において検出されたオブジェクトの深度を決定することを含むことができる。言い換えれば、本明細書で論じられる技法は、画像が撮られた場所(例えば、カメラ、焦点面、画像面である。画像面はレンズ特性によりカメラと少し異なる位置にあり得るが、本明細書の議論では、これを単に「カメラ」と呼んで簡略化する)から、検出されたオブジェクトがどれだけ離れているかを識別する。いくつかの例では、LIDARセンサは、LIDARセンサからシーン内の多数の表面ポイントまでの距離を測定することができる。各表面ポイントについて、LIDARセンサは、表面ポイントの距離とLIDARセンサに対するその角度方向との両方を決定することができる。この能力は、多数の表面ポイントの3次元座標を含む点群(point cloud)を作成するために使用され得る。いくつかの例では、LIDARセンサは、360度回転して、LIDARセンサの視野(「FOV」)内にあるLIDARデバイスを取り囲む環境の点群(例えば、複数のLIDARポイント)を作成するように構成されるが、任意の他のタイプのLIDARセンサ(例えば、ソリッドステート、MEMS、フラッシュなど)も企図される。多数のLIDARデバイスが同時に使用される場合、(LIDARデバイスをスピンさせるための単一のスピンなどの)期間にわたって収集された全てのLIDARデータが本明細書では「メタスピン」と呼ばれる。
【0007】
いくつかの例では、これらの技法は、カメラによって環境の画像を取り込むことと、LIDARセンサを使用して環境の点群を作成することとを含むことができる。これらの技法は、画像内のオブジェクトを検出すること、及び/又は、検出されたオブジェクトに関連付けられた関心領域(ROI)(例えば、検出されたオブジェクトに対応するピクセルから構成されるマスク、検出されたオブジェクトに関連付けられていると識別されるピクセルを包含するバウンディングボックスなど)を決定することを含むことができる。例えば、単眼画像のみが利用可能である場合、カメラから、検出されたオブジェクトの可視表面までの距離(「深度」)は不明であり得るが、ROIは検出されたオブジェクトの可視表面に対応し得る。
【0008】
いくつかの例では、これらの技法は、カメラによって画像に取り込まれた環境の一部に対応する、及び/又は画像のROIに対応する、LIDARデータの一部を識別することを含むことができ、これは、画像のより小さなサブセットであり得る。これらの技法は、追加的又は代替的に、画像が取り込まれた時間に最も密接に対応するLIDARデータを決定することを含むことができる。いくつかの例では、カメラとLIDARセンサは位相ロックされ、したがって、カメラとLIDARセンサが同時に環境の同じ領域に対応するデータを取り込むことができるが、いくつかの例では、カメラとLIDARセンサは、わずかに異なる時間で同じ領域に対応するデータを取り込むことがある。後者の例では、これらの技法は、画像が取り込まれた時間に最も密接に対応する時間に取り込まれたLIDARデータを決定することを含むことができる。例えば、カメラが30Hzで環境の領域の画像を取り込み、LIDARセンサが10Hzで領域のLIDARデータを取り込む場合、これらの技法は、LIDARセンサの3つのメタスピンごとに、3つのうちのどのメタスピンが、画像に時間的に最も密接に対応する(及び上述されたようにROIに対応する)データのサブセットを含むかを決定することを含むことができる。同様に、いくつかの例では、メタスピンが収集された時間を表す多数の画像が選ばれてよく、画像のサブセットが、メタスピンが収集されたときの環境を最も表す画像として選択されてよい。
【0009】
別段の説明がされない限り、用語「LIDARポイント」は、ROIに対して空間的に(この場合、ROIが環境及び/又は画像内で対応する)及び/又は時間的に最も密接に対応するメタスピンに取り入れられるLIDARデータのサブセットを指す。
【0010】
いくつかの例では、上述されたように、ROI及び/又は時間に対応するLIDARポイントが識別されると、これらの技法は、これらのLIDARポイントをスコアリングすることと、LIDARポイントを距離でソートすること(例えば、各LIDARポイントは、少なくともLIDARセンサからの距離及び角度を含む深度測定値に関連付けられ、ソートは、これらを最小の距離から最大の距離へ又はその逆に整理することを含むことができる)と、ソートされたLIDARポイントの加重メジアンに関連付けられたLIDARポイントを識別することとをさらに含むことができる。いくつかの例では、LIDARポイントのスコアは、加重メジアンを求めるために重みとして使用され得る。いくつかの例では、これらの技法は、加重メジアンであるLIDARポイントに関連付けられた深度測定値を、一次深度推定値として識別することを含むことができる。
【0011】
しかしながら、いくつかのシナリオでは、第2のオブジェクトが、画像内の検出されたオブジェクトの少なくとも部分を遮蔽することがある。場合によっては、一次深度推定値が実際には第2のオブジェクトに対応するように第2のオブジェクトが配置されることがあり、第2のオブジェクトは、検出されたオブジェクトの少なくとも一部の前に出現する場合に遮蔽オブジェクトであり得る。これに対処するために、これらの技法は、一次深度推定値の範囲内の距離に対応するLIDARポイントのグループを除去することを含むことができる。例えば、一次深度推定値の前の(即ち、LIDARセンサに向かって)0.8mと、一次深度推定値の後の(即ち、LIDARセンサから一次深度推定値の反対側の)1.6mとの間にある深度測定値に関連付けられた任意のLIDARポイントが除外され得る。これらの技法は、この範囲の外側にある深度測定値に関連付けられたLIDARポイントのサブセットを識別することと、LIDARポイントのサブセットをソートすることと、LIDARポイントのサブセットの加重メジアンを識別することと、二次深度推定値としてサブセットの加重メジアンを識別することとを含むことができる。
【0012】
遮蔽オブジェクトではなく検出されたオブジェクトに真に関連付けられているものとして一次深度推定値と二次深度推定値を区別するために、これらの技法は、一次深度推定値と二次深度推定値との間の差、例えば、2つの推定値間の距離などを決定することを含み得る。これらの技法は、これを閾値差と比較することができ、閾値差は、静的に定義され得る(例えば、1.5メートル、3メートル)、又は検出されたオブジェクトの分類に関連付けられ得る(例えば、トラックトレーラの場合は6メートル、ピックアップトラックの場合は3メートル、乗用車両の場合は2メートル、小型車両の場合は1メートル)。
【0013】
差が閾値差以下である(例えば、2つの推定値間の差が1メートルであり、検出されたオブジェクトが2メートルの閾値差に関連付けられた乗用車両である)場合、これらの技法は、推定値を両方とも検出されたオブジェクトに対応するものとして識別することができる。いくつかの例では、これらの技法は、一次深度推定値を最終推定値として出力することができ、及び/又は推定値を平均することなどができる。
【0014】
差が閾値差を満たす及び/又は超える(例えば、2つの推定値間の差が3メートルであり、検出されたオブジェクトが、2メートルの閾値差に関連付けられた乗用車両である)場合、これらの技法は、第1の深度推定値及び第2の深度推定値を単眼画像モデルの出力と比較すること(例えば、検出されたオブジェクトの推定された高さ及び/又は検出されたオブジェクトの分類を入力として取り入れ、特定の深度測定値がオブジェクトに対応する確率密度を識別する特定の深度測定値についての深度の確率分布を出力する、機械学習されたモデル)、第1の深度推定値に関連付けられたLIDARポイントの第1の密度を第2の深度に関連付けられたLIDARポイントの第2の密度と比較すること(例えば、どちらが、LIDARポイントのより高い密度及び/又はより大きい数に関連付けられているかを識別する)、及び/又は第1の深度推定値及び第2の深度推定値を、オブジェクトに関連付けられたオブジェクトトラック(object track)と比較することによって、一次深度推定値又は二次深度推定値のうちの一方を選ぶことができる。いくつかの例では、オブジェクトトラックは、検出されたオブジェクトの以前の位置、検出されたオブジェクトの速度、及び/又は検出されたオブジェクトの予測された位置及び/又は速度を含むことができる。いくつかの例では、一次深度推定値又は二次深度推定値のうちの一方が、検出されたオブジェクトに関連付けられることになる出力深度推定値として識別され得る。いくつかの例では、2つのうちの他方が破棄され、又は遮蔽オブジェクトに関連付けられ得る。
【0015】
いくつかの例では、LIDARポイントをスコアリングすることは、単眼画像モデルによって生成された確率分布(例えば、画像の検出されたオブジェクトの及び/又は検出されたオブジェクトの分類を入力として取り入れ、代表的な深度にわたる確率分布を出力する機械学習されたモデル)から、LIDARポイントによって識別された距離測定値に関連付けられた確率密度(例えば、単位長さあたりの確率を表す確率密度)を決定することを含むことができる。スコアリングは、追加的又は代替的に、LIDARポイントを3次元空間から2次元空間におけるROIに投影して、投影されたLIDARポイントが2次元座標に関連付けられるようにすることと、ROIの中心への2次元座標の距離を決定することと、距離に少なくとも部分的に基づく係数(例えばスカラー)を生成すること(例えば、距離が増大するにつれて係数が減少する)とを含むことができる。いくつかの例では、LIDARポイントについてのスコアを生成することは、確率密度に係数を掛けることを含む。
【0016】
いくつかの例では、これらの技法は、3次元LIDARポイントをROIに投影して、個々の投影されたLIDARポイント(即ち、2次元の画像空間へのLIDARポイントの「投影」)を画像の座標と対応させることによって、視覚データとLIDARデータを単一データセットに融合することを含むことができる。いくつかの例では、この融合は、カメラ及び/又はLIDARセンサの法平面からの偏差(例えば、環境外乱による揺れ)の速度を追跡することによって改善され得る。
【0017】
本明細書で論じられる技法は、画像内の検出されたオブジェクトの深度を決定できるようにコンピュータを装備することによって、コンピュータの機能を改善することができる。さらに、これらの技法は、ステレオカメラ技術より、及び/又は専ら単眼画像モデルを使用して、オブジェクトの深度推定値の精度を改善することができる。これらの技法はまた、例えば、マルチビュー又はステレオジオメトリ再構成を必要とするのではなく単眼画像を使用して深度推定値を提供することによって、特定のFOVについての深度知覚を提供するのに必要な画像センサの数を減少させる。このような冗長センサの除外は、対応して、深度知覚を達成するために必要な計算サイクルの数を減少させ、電力及び/又はネットワーク帯域幅などの他の消費を減少させる。さらに、事前の実験中に、本明細書で論じられる技法は、検出されたオブジェクトについての深度推定値を約6ミリ秒以下で提供しており、深度推定値を自律車両の制御などのリアルタイムアプリケーションに有用にしている。
【0018】
例示的なシナリオ
図1Aは、この例ではバンである検出されたオブジェクト102と、画像内の検出されたオブジェクトの位置を識別するように生成されたROI104とを含む例示的な画像100を示す。
図1AのROI104は、2次元バウンディングボックスによって示されている。しかしながら、任意の他の適切な方法が、画像に対応する画像のピクセルのグループを示すために使用されてよいことは理解されよう(例えば、一般にインスタンスと呼ばれることがある、車両に関連付けられた離散ピクセルを識別するピクセルマスク)。いくつかの例では、画像及び/又はバウンディングボックスは、自律車両の視覚システムによって生成され、検出されたオブジェクトに関連付けられた深度を知覚システムが決定するために自律車両の知覚システムによって受信され得る。
【0019】
図1Bは、深度知覚問題(又はスケール曖昧さ)をより完全に説明する例示的なシナリオ106のブロック図を示す。
図1Bは、画像を撮って画像内にオブジェクト(例えば、車両110)を検出した、例示的な車両108(例えば、カメラを含む自律車両)を図示する。例示的な車両108は、バウンディングボックスを使用して、検出されたオブジェクト110に対応するピクセルを識別していることが可能であるが、画像は、カメラの位置に対して水平及び垂直に2次元での位置データを提供するのみである。したがって、画像は、カメラに対する検出されたオブジェクト110の深度を識別するには不十分であり、検出されたオブジェクト110は、画像に取り込まれた検出されたオブジェクト110の表面に対応する深度112又は深度114に等しく配置される可能性がある。仮定として、例示的な車両108のカメラで発生する116によって示される光線が、ROIのエッジによって囲まれ得るが、カメラから無限に離れて延びる可能性がある。
【0020】
例示的なLIDARデータ
図2A及び
図2Bは、例示的なシナリオ200、星で表され例示的な車両202のLIDARセンサにより取り込まれる例示的なLIDARデータ、例示的な検出されたオブジェクト204、及び例示的な遮蔽オブジェクト206(例えば、道標の柱)の鳥瞰図及び側面プロファイル図をそれぞれ示す。例えば、図示されたLIDARデータは、1つのメタスピンに取り込まれたLIDARデータを表すことができる。実際には、点群は、ここに図示されている数十個ではなく数万個以上のポイントを含む可能性が高いことが理解されよう。車両202は、少なくともカメラ及びLIDARセンサが装備された自律車両を表すことができる。
【0021】
図示された例示的なシナリオ200では、車両202は既に、カメラを使用して画像(208)を取り込み、画像208内のオブジェクト204を検出し、ROI210を生成して画像内の検出されたオブジェクト204の場所を識別し、画像が撮られた時間に時間的に最も密接に対応するメタスピンに関連付けられたデータを決定している。光線212は、ROI210の境界を表し、これは、ROI210の2次元境界内の任意のポイントに対応することができ、したがって、第3の次元(即ち、この場合は深度)において制限されない。したがって、光線(又は線)212は、カメラに対応する錐台(例えば、センサ面、画像面など)に関連付けられ、無限に続く可能性があるが、知覚エンジンが、検出されたオブジェクトに合理的に対応し得るLIDARポイントを識別するためにLIDARセンサの許容限界(例えば150メートル)によって光線212の範囲を制限してよい。いくつかの例では、RADARポイントがLIDARセンサの許容限界を超えて使用されてよく、及び/又はRADARデータが追加的又は代替的に使用されてよい。LIDARデータとRADARデータの両方が使用されるいくつかの例では、RADARデータは、より遠距離(例えば、車両202の150メートル又は100メートル外側)で、LIDARは、より近距離(例えば、車両202から150メートル又は100メートル以内)で、より大きく重み付けされ得る。LIDARデータがより遠距離で、RADARデータがより近距離で、より大きく重み付けされ得ることも企図される。本明細書ではLIDARデータについて論じているが、本明細書で論じられる技法は、表面の3次元の位置を検出する任意のセンサ(例えば、LIDAR、RADAR、環境の表面の点群又は他の表現を生成することができる任意のセンサ)からデータを受信するシステムに等しく適用され得る。
【0022】
いくつかの例では、知覚システムは、LIDARセンサの位置及び/又は向きに対する空間内のカメラの位置及び/又は向き、LIDARデータの個々のポイントに関連付けられた距離及び角度、及び/又は光線212に少なくとも部分的に基づいて、どのLIDARポイントがROI210と対応するかを決定することができる。ROI210に対応すると決定されたLIDARポイントは、LIDARポイント214のように影付きの星で示され、ROI210の外側にある残りのLIDARポイントは、LIDARポイント218のように白い中心を有して示される。
【0023】
図示された例は、ROI210に対応するLIDARポイントであって、検出されたオブジェクト204の表面に対応するLIDARポイントのクラスタ220を含むLIDARポイントと、遮蔽オブジェクト206の表面に対応するLIDARポイントのクラスタ222と、画像208の背景におけるオブジェクトの表面に対応するLIDARポイント214とを含む。
【0024】
いくつかの例では、知覚エンジンがROI210に対応するLIDARポイント(影付きの星で示される)を識別すると、
図2Cに図示されるように、知覚エンジンは、LIDARポイント(即ち、この例では、クラスタ220及び222及びポイント214)を画像208内へ投影することができる。これは、理解されるように、対応する画像座標にLIDARポイントを投影することを含むことができる。追加的又は代替的に、これは、3次元LIDARポイントを2次元投影されたLIDARポイントに投影すること(即ち投影)を含むことができる。検出されたオブジェクト204の表面に対応するクラスタ222におけるLIDARポイントの数が、
図2Cでは簡単にするために2つのポイントに減らされていることに留意されたい。
【0025】
例示的なLIDARポイントスコアリング
図3は、
図2A~
図2Cの例示的なシナリオに対応する単眼画像モデルによって生成された例示的な確率分布300、及び3つの例示的なLIDARポイント302、304、及び306に関連付けられた例示的な確率の図を示す。
【0026】
いくつかの例では、検出されたオブジェクトの深度を識別するために、入力としてオブジェクト分類及び/又はROI210を取り入れる単眼高さが使用され得る。2017年3月8日に出願された「Object Height Estimation from Monocular Images」という名称の米国特許出願第15453569号明細書は、そのようなモデルを記載しており、参照により本明細書に組み込まれる。単眼画像モデルは、機械学習モデル、例えば、畳み込みニューラルネットワーク(CNN)などを含むことができる。いくつかの例では、単眼画像モデルは、入力として画像(例えばROI210)及び/又はオブジェクト分類を受け入れることができ、例示的な確率分布300と同様の確率分布を出力することができる。
【0027】
いくつかの例では、
図3のように、確率分布300は一連のビンを含むことができ、各ビンは、オブジェクトの推定されたサイズ範囲及び/又はオブジェクトの推定された距離を表す。
図3は、後者の場合を図示し、異なるビンは、推定された距離の範囲及び確率に関連付けられる。例えば、確率は、オブジェクトの分類及び/又はオブジェクトの高さ推定値に基づき、距離測定値がオブジェクトに関連付けられる確率であり得る。非限定的な例として、8つのビンを有する出力は、0~2m、2~4m、4~6m、6~8m、8~10m、10~100mに応じて深度分布を表すことができ、各ビンに関連付けられた値は、データに関連付けられた深度がそのビン内にある確率を示す。ビンは等しい幅を有して
図3に図示されているが、ビンは異なる幅を有してよいことは理解されよう(例えば、ビン幅は、確率分布の平均から標準の4分の1又は半分に対応するように計算されてよい)。いくつかの例では、最初及び最後のビンは、最小深度未満でなく最大深度を超えないデータを表すことができる。いくつかの例では、最初及び最後のビンの分布が(例えば、線形、指数関数的、ガウス分布、又は任意の他の分布に)スケーリングされ得る。システムが単眼画像モデルの出力のみを使用して検出されたオブジェクト204の深度を推定する例では、システムは、最も高い確率に関連付けられたビンからオブジェクトの推定されたサイズを取り出すことができる。
【0028】
図示された例において、及び本明細書で論じられる改善された技法を使用するシステムにおいて、これらの技法は、確率分布300から、LIDARポイントに関連付けられた深度測定値に対応する確率を識別することを含むことができる。例えば、
図3では、LIDARポイント306は、最も低い確率に関連付けられ、LIDARポイント302は、わずかにより高い確率に関連付けられ、LIDARポイント304は、図示された3つのLIDARポイントの最も高い確率に関連付けられる。
【0029】
いくつかの例では、これらの技法は、確率分布300から、LIDARポイントによって識別される深度測定値に対応する確率密度を決定することを含むことができる。確率密度は、ビンの幅によって修正された(例えば除算された)ビンの高さ(即ち確率)であり得るが、高さ及び幅を考慮して確率密度を計算する他の方法も企図される。この確率密度は、距離測定値に関連付けられた確率密度を示し得る。
【0030】
いくつかの例では、確率分布300は、平均、標準偏差、及び/又は信頼スコアをさらに含むことができる。本明細書で論じられる技法は、ROI210などのROIの推定深度にわたる確率分布を生成し、各LIDARポイントに関連付けられた確率及び/又は確率密度を識別することをさらに含むことができる。いくつかの例では、本明細書で論じられる技法は、ROIを単眼画像モデルに入力することを含み、いくつかの例では、オブジェクト分類(例えば、車両202の知覚システムによって決定される表示、例えば、「乗用車両」、「小型車両」、「配達用トラック」、「トラックトレーラ」、「ピックアップトラック」、「自転車」、「歩行者」など)も単眼画像モデルに同様に入力することができる
【0031】
図4Aは、後続の図で議論するためのいくつかの選択された例示的なLIDARポイントに関連付けられた深度測定の側面プロファイル図を示す。これらの例示的なLIDARポイントは、遮蔽オブジェクト206の表面に関連付けられたLIDARポイント400のクラスタ、検出されたオブジェクト204の表面に関連付けられた2つのポイント(402及び404)、及びROI210の背景におけるオブジェクトの表面に関連付けられたLIDARポイント406を含む。
【0032】
図4Bは、後続の図で議論するための例示的なLIDARポイント400~406の対応する画像への例示的な投影を示す。いくつかの例では、車両202の知覚エンジンは、3次元LIDARポイント400を画像へ投影して(これは、ROI210内に投影するはずである)、2次元LIDAR投影を生成することができる。投影されたLIDARポイント400’は、画像空間へのLIDARポイント400の投影であり得る。投影されたLIDARポイント402’は、画像空間へのLIDARポイント404の投影であり得る。投影されたLIDARポイント404’は、画像空間へのLIDARポイント404の投影であり得る。投影されたLIDARポイント406’は、画像空間へのLIDARポイント406の投影であり得る。いくつかの例では、個別のLIDARポイントを画像へ投影することは、個別のLIDARポイントを画像座標に関連付け、これは、その座標が個別のLIDARポイントの画像への投影に最も近い座標であることに少なくとも部分的に基づいて関連付けることができる。
【0033】
本明細書で論じられる技法は、空間位置及び時間においてROI210に対応すると決定されたLIDARポイントについてのスコアを生成することを含むことができる。車両102の知覚エンジンは、
図4Cが示すように、ROI210の中心からの投影された個別のLIDARポイントの距離に反比例し得る係数に少なくとも部分的に基づいて、個別のLIDARポイントのスコアを生成することができる。いくつかの例では、この距離は、ROI210のサイズに正規化された2次元ガウス分布及び/又は放物線によって定義された係数に適合し又は他の形式で対応して係数を生成することができるが、任意の他の関連付け(例えば、ユークリッド距離、線形、二次式、多項式など)も企図される。いくつかの例では、分布は、ROI210の最も遠い縁又はコーナーがROI210の中心からの2標準偏差であるように正規化されてもよい。
【0034】
図4Cは、ROIの中心418からの増加する距離に基づいて係数の減少する値を示す、等高線リング410、412、414、及び416を含む分布408の例を図示する。議論のために、中心418はユークリッド空間内の点(x=0、y=0)に対応することができるが、視覚システムは任意の他の適切な様式でROIのピクセルを参照してよい。
図4Cはまた、投影されたLIDARポイント400’~406’を、明確にするためにそれらの番号識別子を含まずに図示している。
図4Cはまた、線422(y=0)及び等高線リング410、412、414、及び416に対応する係数値を通過して決定され得るような、距離スコア関数の表現420を示す。例えば、中心418は、最大の係数値424に関連付けられる。y=0と等高線リング410により定義されるx値とに対応するROI210内のポイントにおける係数値は、係数値426であると見出され、同様に、y=0と等高線リング412及び414により定義されるx値については、係数値428及び430にそれぞれ対応し得る。
図4Cでは図で示されているが、そのような係数値は以下の方程式を使用して決定され得る。
【0035】
【0036】
ここで、Aは、ある定義された最大スコアを表し、(xc、yc)は、画像座標におけるROI210の中心を表し、dは、そのような分布の幅に関連付けられたいくつかの所望の係数を表す。
【0037】
スコア又は係数はガウス分布として図示されているが、任意の適切な分布が使用されてよく、例えば、純粋にユークリッド距離に基づくスカラー、多数の極大値を含む分布(例えば、多数のオブジェクトが検出される場合、又はガウス混合モデルなどを使用する特定のタイプの環境の場合)、放物線、その他、及び上述されたスコアリング関数の任意の逆(例えば、ROIの中心からポイントが離れていくにつれて増加するスコアリング関数)が使用され得ることは理解されよう。
【0038】
いくつかの例では、本明細書で論じられる技法は、ROI210の中心418からの(2次元の)投影されたLIDARポイントの距離に少なくとも部分的に基づいて、投影されたLIDARポイントの係数(例えばスカラー)を決定することを含むことができる。この係数は、追加的又は代替的に、上述されたように、中心418からの距離に関して決定された分布に基づくことができる。
【0039】
いくつかの例では、本明細書で論じられる技法は、空間及び時間においてROI210に対応するLIDARポイントについての全体的スコアを生成することができ、ここで、個別のLIDARポイントの全体的スコアを生成することは、
図3に関連して論じられたように、単眼画像モデルにより生成された確率分布に関連付けられた確率及び/又は確率密度、及び/又は
図4に関連して論じられたように、個別のLIDARポイントに関連付けられた係数に少なくとも部分的に基づくことができる。いくつかの例では、スコアは、確率及び/又は確率密度に係数を掛けることによって生成され得る。
【0040】
例示的なプロセス
図5A~
図5Cは、単眼画像の深度知覚のための例示的なプロセス500(例えば、画像において検出されたオブジェクトの深度推定値を決定する)を示す。いくつかの例では、例示的なプロセス500が視覚エンジン502及び/又は知覚エンジン504によって実行され得る。いくつかの動作は、これらのエンジンのうちの1つによって実行されるものとして示されているが、それは、追加的又は代替的に他のエンジンによって実行され得ることは理解されよう。いくつかの例では、視覚エンジン502及び/又は知覚エンジン504は、自律車両を制御するための自律車両システムの一部であってよい。いくつかの例では、視覚エンジン502及び知覚エンジン504は、本明細書で論じられる動作のうちの1つ又は複数を並列に実行することができる。例えば、
図5A及び5Bは、並列に動作する視覚エンジン502及び知覚エンジン504を示す。視覚エンジン502及び知覚エンジン504は、(例えば、一方のエンジンでの動作が他方のエンジンでの動作の結果を必要とする場合に)動作の1つ又は複数を連続的に実行してよいことも理解されよう
【0041】
動作506において、例示的なプロセス500は、本明細書で論じられる技法のいずれかに従って環境の画像を受信することを含むことができる。いくつかの例では、画像は単眼画像(色(例えばRGB)、グレースケール、IR、又はUVなどのいずれか)であり得るが、画像はステレオ画像(そうでなければマルチビュー画像)であってもよく、また、例示的なプロセス500は、そのような画像に関連付けられた深度を改善又は検証するために使用されてもよいことは理解されよう。いくつかの例では、自律車両上のカメラが画像を取り込むことができる。
【0042】
動作508において、例示的なプロセス500は、本明細書で論じられる技法のいずれかに従って、画像から環境内のオブジェクト(例えば、オブジェクト102、オブジェクト204)を検出することを含むことができる。いくつかの例では、知覚エンジン504がオブジェクトを検出することができる。
【0043】
動作510において、例示的なプロセス500は、本明細書で論じられる技法のいずれかに従って、検出されたオブジェクトに対応するROI(例えば、ROI104、ROI210)を生成することを含むことができる。例えば、動作514は、画像において検出されたオブジェクトに関連付けられた画像座標(例えばピクセル)のバウンディングボックス、インスタンスセグメンテーション、マスク、又は他の識別子を生成することを含むことができる。2つの動作として図示されているが、動作508及び510及び/又は任意の他の対の動作は、実質的に同時に実行されてよいことは理解されよう。即ち、画像は検出器に入れられてよく、その出力は、特定の1つ又は複数のオブジェクトの検出の表示(例えば、1つ又は複数のバウンディングボックス)である。いくつかの例では、例示的なプロセス500は、ROI及び/又はオブジェクトデータ(例えばオブジェクト分類)を受信することによって始まることができる。
【0044】
動作512において、例示的なプロセス500は、本明細書で論じられる技法のいずれかに従って、LIDARデータを受信すること、及び/又は、ROI及び/又は画像が取り込まれた時間に対応するLIDARデータのLIDARポイントを決定することを含むことができる。例えば、
図2A~
図2Cの白で充填された星ではなく、
図2A~
図2Cの影付きの星を参照されたい。いくつかの例では、これは、追加的又は代替的に、RADARセンサから受信されたRADARポイントを含むことができる。いくつかの例では、RADARデータは、LIDARの最大範囲(例えば100メートル)を超えるデータポイントに使用され得る。いくつかの例では、ROIに空間及び時間で対応するLIDARデータを決定することは、カメラ及びLIDARセンサの知られている位置及び向き、及びLIDARポイントに関連付けられた深度測定値に基づく幾何学的計算を含む。いくつかの例では、LIDARポイントに関連付けられた「深度測定値」は、LIDARセンサからの距離、及びLIDARエミッタ/レシーバペアの向きの軸に対する角度を含むことができる。追加的又は代替的な例では、ROIに対応するLIDARポイントを決定することは、ROIに対応する画像空間へLIDARポイントを投影することと、ROI内の画像座標に関連付けられるLIDARポイントを決定することとを含むことができる。
【0045】
動作514において、例示的なプロセス500は、本明細書で論じられる技法のいずれかに従って
図3で論じられたモデルなどの単眼画像モデルを介して、画像のROI内の検出されたオブジェクトの深度の確率分布を生成することを含むことができる。
【0046】
動作516において、例示的なプロセス500は、本明細書で論じられる技法のいずれかに従って、LIDARポイントのスコアを生成することを含むことができる。いくつかの例では、これは、LIDARポイントの各LIDARポイントについて別個のスコアを生成することを含むことができる。いくつかの例では、個別のLIDARポイントのスコアを生成するのと同じプロセスによって、全てのLIDARポイントについてスコアが生成され得る。個別のLIDARポイントのスコアを生成することは、LIDARポイントに関連する確率及び/又は確率密度を生じる動作516(A)、及び/又はLIDARポイントに関連する係数を生じる動作516(B)を含むことができる。いくつかの例では、スコアを生成することは、動作516(A)で決定された確率密度に動作516(B)で決定された係数を掛けることを含むことができる。
【0047】
いくつかの例では、LIDARポイントのスコアを生成することは、確率及び/又は確率密度をLIDARポイントに関連付けること、係数をLIDARポイントに関連付けること、及び/又は確率及び/又は確率密度と係数との積をLIDARポイントに関連付けることを含むことができる。例えば、LIDARポイントのスコアを決定することは、LIDARポイントにより定義された距離に関連付けられた確率分布のビンの高さ及び幅を決定することと、高さ及び幅に少なくとも部分的に基づいて確率密度を決定することと、ROIの中心からの投影されたLIDARポイントの距離に少なくとも部分的に基づいて係数を決定することと、確率密度に係数を掛けることによってLIDARポイントのスコアを決定することとを含むことができる。
【0048】
動作516(A)において、例示的なプロセス500は、本明細書で論じられる技法のいずれかに従って、個別のLIDARポイントに関連付けるための確率及び/又は確率密度を決定することを含むことができる。これは、LIDARポイントの深度測定値に対応する確率分布上でポイントを決定することを含むことができる。いくつかの例では、これは、そのLIDARポイントを、確率分布上のビン及びそれに関連付けられた確率に関連付けること、及び(少なくともいくつかの例では)関連付けられたビンの幅によって値を調整して(例えば割る)、それに関連付けられた確率密度を決定することを含むことができる。
【0049】
動作516(B)において、例示的なプロセス500は、本明細書で論じられる技法のいずれかに従って、個別のLIDARポイントに関連付けるための係数を決定することを含むことができる。いくつかの例では、動作516(B)は、LIDARポイントごとに係数を決定することを含むことができる。動作516(B)は、個別のLIDARポイントをROIの画像空間へ投影して、個別のLIDAR投影からROIの中心までの距離を決定することを含むことができる。これにより、投影されたLIDARポイントは、ROIの画像空間における座標に関連付けられ得る。いくつかの例では、LIDARポイントの投影のROIの中心からの距離が増加するにつれて、LIDARポイントに割り当てられた係数の大きさが減少してよい。いくつかの例では、この減少は、ガウス分布、ユークリッド距離、放物線、多数の極大値を含むトポロジーなどによって定義され得る。より詳細には、少なくとも
図4A~
図4C及び付随する議論を参照されたい。
【0050】
図5Bを参照すると、動作518において、例示的なプロセス500は、本明細書で論じられる技法のいずれかに従って、LIDARポイントを距離でソートすることを含むことができる。例えば、LIDARポイントは、少なくとも距離を定義し、いくつかの例では角度(又は、例えば方位角と仰角の角度)を定義する深度測定値に関連付けられる。いくつかの例では、LIDARポイントは最小距離から最大距離へソートされるが、これは逆にされてもよい。言い換えれば、LIDARポイントは少なくとも距離を定義し、したがって、LIDARポイントはこの距離の大きさに従ってソートされる。少なくともいくつかの例では、先に進む前に、最も遠い及び最も近いLIDARポイントのパーセンテージ分(例えば、最も近い及び最も遠い5%)が棄却され得る。
【0051】
動作520において、例示的なプロセス500は、本明細書で論じられる技法のいずれかに従って、ソートされたLIDARポイントの加重メジアンを決定することと、一次深度推定値として、加重メジアンに関連付けられた深度測定値を選択することとを含むことができる。いくつかの例では、LIDARポイントに対して生成されたスコアが、加重されたスコア決定のための重みとして使用され得る。例えば、距離でソートされたn個のLIDARポイントx1,x2,…,xnについて、
【0052】
【0053】
であるようにLIDARポイントに対応するスコアw1,w2,…,wnを正規化することによって加重メジアンが求められ、加重メジアンは、
【0054】
【0055】
及び
【0056】
【0057】
を満たすLIDARポイントxkであり得る。
【0058】
いくつかの例では、一次深度推定値は、加重メジアン(例えば、距離及び角度)に対応するLIDARポイント自体を含むことができ、又は他の例では、一次深度推定値は、例えばROIの中心のような検出されたオブジェクト上のポイントを介するカメラからの光線へのLIDARポイントの距離及び/又は投影を含むことができる。
【0059】
いくつかの例では、例示的なプロセス500は、少なくとも動作516を除外してよく、LIDARポイントのスコアを生成することなくLIDARポイントのメジアンを決定してよい。しかしながら、場合によっては、動作516を省略することにより、深度推定値の精度を低下させることがある。
【0060】
動作522において、例示的なプロセス500は、本明細書で論じられる技法のいずれかに従って、検出されたオブジェクトの位置に少なくとも部分的に基づいて、車両プランナが自律車両を制御するために、一次深度推定値を車両プランナに出力することを含むことができる。いくつかの例では、知覚エンジン504は、ROI及び深度推定値を出力することができ、これは、環境内の検出されたオブジェクトの位置を識別するために十分であり得る。例えば、いくつかの例では、知覚エンジン504は、少なくとも位置を出力することができ、いくつかの例では、検出されたオブジェクトのサイズ及び/又は向きを、深度推定値及び/又はローカル及び/又はグローバルマップに関係しそれと共に記憶され得る対応するROIに少なくとも部分的に基づいて出力することができる。いくつかの例では、深度推定値を使用して、検出されたオブジェクトのサイズを決定するために幾何学的計算を実行することができる。
【0061】
動作524において、例示的なプロセス500は、本明細書で論じられる技法のいずれかに従って、LIDARポイントからLIDARポイントの一部を除去することを追加的又は代替的に含むことができる。LIDARポイントの一部は、1つ又は複数の距離閾値よりも小さい及び/又は大きい距離測定値に関連付けられ得る。例えば、知覚エンジン504は、一次深度推定値から1メートルより小さい及び/又は1メートルより大きい距離測定値に関連付けられたLIDARポイントを除去することができるが、そのような距離閾値は対称的である必要はない。「前」への言及は、一次深度推定値とLIDARデバイスとの間にあるポイントを含むと解釈されてよく、「後」は、一次深度推定値を超えてLIDARデバイスから離れて位置することを意味すると解釈されてよい。いくつかの例では、範囲は、一次距離測定値の前の0.8メートルから一次距離測定値の後の1.6メートルまでの範囲内にある距離測定値を含むことができる。いくつかの例では、範囲は、一次距離測定値の前の1.6メートルから一次距離測定値の後の1.6メートルまでの範囲内にある距離測定値を含むことができる。多くの変形例が企図され、範囲は、検出されたオブジェクトに関連付けられたオブジェクト分類に少なくとも部分的に基づいて変化してよい。例えば、範囲は、「配達用トラック」として分類された検出されたオブジェクトについては0.8メートル前から3メートル後、「小型車両」として分類された検出されたオブジェクトについては0.5メートル前から1.2メートル後、又は「トラックトレーラ」として分類された検出されたオブジェクトについては1メートル前から8メートル後として定義され得る。同様に、動作524は、範囲の外側になる距離測定値に関連付けられたLIDARポイントのサブセットを識別することによって実現されてよい。
【0062】
LIDARポイントのグループのこの除去は、例えば、LIDARポイント400’などの遮蔽オブジェクト(例えば遮蔽オブジェクト206)に帰せられるポイントを除去するために有効であり得る。400’に示されているようなLIDARポイントは、場合によっては、LIDARポイント402’及び404’などの検出されたオブジェクトに真に対応するLIDARポイントを圧倒することがある。この除去は、二次深度推定値を識別しようとする。
【0063】
動作526において、例示的なプロセス500は、本明細書で論じられる技法のいずれかに従って、範囲外にある深度測定値に関連付けられたLIDARポイントのサブセットを距離でソートすることを含むことができる。
【0064】
動作528において、例示的なプロセス500は、本明細書で論じられる技法のいずれかに従って、LIDARポイントのソートされたサブセットの第2の加重メジアンを決定することと、二次深度推定値として、第2の加重メジアンに関連付けられた深度測定値を選択することとを含むことができる。言い換えれば、上述された第1の加重メジアンは、ROIに関連付けられた全てのLIDARポイントの加重メジアンであるが、第2の加重メジアンは、それらのLIDARポイントのサブセット、例えば、上述された範囲の外側にある距離に関連付けられたそれらのLIDARポイント、及び/又は上述された範囲の内側にある距離に関連付けられたそれらのLIDARポイントの加重メジアンである。
【0065】
動作530において、例示的なプロセス500は、本明細書で論じられる技法のいずれかに従って、一次深度推定値と二次深度推定値の特性及び/又はそれに関連付けられたLIDARポイントの特性を比較することを含むことができる。動作530は、検出されたオブジェクトの深度の真の表示と偽の表示を区別することができる。例えば、動作530は、オブジェクト自体ではなく遮蔽オブジェクトに対応する深度推定値を区別するように実行され得る。いくつかの例では、動作530は、一次深度推定値に関連付けられたLIDARポイントの数及び/又は空間密度を、二次深度推定に関連付けられたLIDARポイントの数及び/又は空間密度と比較することを含むことができる。例えば、範囲外のひいては二次深度推定値に関連付けられたLIDARポイントのサブセットが、範囲内のLIDARポイントよりも大幅に少ない数のLIDARポイントに関連付けられている場合、これは、一次深度推定値が、検出されたオブジェクトに真に関連付けられていること、及び一次深度推定値に関連付けられたLIDARポイントが、検出されたオブジェクトの表面に関連付けられていることを示し得る。いくつかの例では、動作536は、ROIの中心からの距離の関数として、一次深度推定値及び/又は二次深度推定値に関連付けられたLIDARポイントの密度を追加的又は代替的に含むことができる。二次LIDARポイントがより濃くROIの中心から離れてあるほど(即ち、範囲外のLIDARポイント)、それらは、検出されたオブジェクトではなく第2のオブジェクト(即ち遮蔽オブジェクト)に関連付けられている可能性が高くなり得る。
【0066】
追加的又は代替的に、動作530は、単眼画像モデルによって生成された確率分布から、一次深度推定値及び二次深度推定値に関連付けられた確率及び/又は確率密度を決定することを含むことができる。例えば、動作530は、二次深度推定値よりも低い確率及び/又は確率密度に一次深度推定値が関連付けられていると決定することを含むことができる。これは、一次深度推定値が遮蔽オブジェクトに帰せられる場合に発生する可能性が高くなり得る。
【0067】
追加的又は代替的に、動作530は、オブジェクトトラック又は予測されたオブジェクトトラックに対する一次深度推定値の第1の適合及び二次深度推定値の第2の適合を決定することを含むことができる。いくつかの例では、オブジェクトトラック又は予測されたオブジェクトトラックにより密接に対応する深度推定値が、出力されるべき深度推定値として選択され得る。
【0068】
いくつかの例では、動作530は、上述された技法のいずれかに少なくとも部分的に基づき、一次深度推定値及び二次深度推定値のスコアを生成することができるスコアリング関数を含むことができる。いくつかの例では、オブジェクトトラック技法は、スコアリング関数に含まれなくてよいが、同点のスコアを破るために使用され得る。
【0069】
動作532において、例示的なプロセス500は、本明細書で論じられる技法のいずれかに従って、比較に少なくとも部分的に基づいて、一次推定値、二次深度推定値、及び/又はその平均又はモードを車両コントローラ(例えば車両プランナ)に出力することを含むことができる。例えば、より高いスコア、より高い確率及び/又は確率密度に関連付けられた、及び/又はオブジェクトトラックにより密接に対応する深度推定値は、検出されたオブジェクトに関連付けられ自律車両を制御するために依拠される出力深度推定値として、車両プランナに出力され得る。いくつかの例では、例示的なプロセス500は、一次深度推定値と二次深度推定値の平均を、それらが互いの閾値内又は最も高い可能な確率及び/又は確率密度の閾値内にある場合に出力することを含むことができる。
【0070】
動作534、例示的なプロセス500は、本明細書で論じられる技法のいずれかに従って、出力のために1つの深度推定値のみが選択された場合、動作532で出力されなかった深度推定値を破棄すること、又はその深度推定値を第2のオブジェクト(例えば遮蔽オブジェクト)に関連付けることを追加的に含むことができる。例えば、動作534は、第2のオブジェクトがROI内に現れるという表示を生成することを含むことができる。知覚エンジン504は、この表示を使用して、第2のオブジェクトを識別するために元の画像及び/又はROIを再評価することができる。これは、様々なオブジェクト検出手法、及び/又はオブジェクト検出を行うために使用される機械学習モデルを含むことができる。第2のオブジェクトが検出された場合、第1の検出されたオブジェクトに関連して出力されなかった他の深度推定値が、第2のオブジェクトに関連して車両プランナに出力され得る。
【0071】
例示的なアーキテクチャ
図6は、本明細書で論じられる技法のいずれかに従って、生成された深度推定値を使用して、自律車両などの少なくとも1つの車両の動作を制御するための例示的な車両システム602を含む例示的なアーキテクチャ600のブロック図である。いくつかの例では、車両システム602は、車両108及び/又は202の少なくとも一部を表すことができる。いくつかの例では、このアーキテクチャは、画像において検出されたオブジェクトの深度を決定するために他の機械で使用され得る。
【0072】
いくつかの例では、車両システム602は、プロセッサ604及び/又はメモリ606を含むことができる。これらの要素は、
図6では組み合わせて示されているが、いくつかの例では、それらは車両システム602の別個の要素であってよく、システムの構成要素はハードウェア及び/又はソフトウェアとして実装され得ることが理解されよう。
【0073】
プロセッサ604は、1つのプロセッサを含む単一プロセッサシステム、又はいくつかのプロセッサ(例えば、2、4、8、又は別の適切な数)を含むマルチプロセッサシステムを含むことができる。プロセッサ604は、命令を実行することができる任意の適切なプロセッサとすることができる。例えば、様々な実装形態において、プロセッサは、任意の様々な命令セットアーキテクチャ(ISA)、例えば、x86、PowerPC、SPARC、MIPS ISA、又は任意の他の適切なISAを実装する汎用プロセッサ又は組み込みプロセッサであり得る。マルチプロセッサシステムでは、各プロセッサ604は、必ずではないが一般的には同じISAを実装することができる。いくつかの例では、プロセッサ604は、中央処理装置(CPU)、グラフィックス処理装置(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、又はそれらの組み合わせを含み得る。
【0074】
例示的な車両システム602は、メモリ606を含むことができる。いくつかの例では、メモリ606は、プロセッサ604によってアクセス可能な実行可能命令/モジュール、データ、及び/又はデータ項目を記憶するように構成された、非一時的コンピュータ可読媒体を含むことができる。様々な実装形態において、非一時的コンピュータ可読媒体は、スタティックランダムアクセスメモリ(SRAM)、同期ダイナミックRAM(SDRAM)、不揮発性/フラッシュタイプメモリ、又は任意の他のタイプのメモリなど、任意の適切なメモリ技術を使用して実装され得る。図示の例では、上記されたような所望の動作を実装するプログラム命令及びデータが、非一時的コンピュータ可読メモリ内に記憶されて示されている。他の実装形態では、プログラム命令及び/又はデータは、様々なタイプのコンピュータアクセス可能媒体、例えば非一時的コンピュータ可読媒体において、又は非一時的コンピュータ可読媒体とは別の同様の媒体において、受信、送信、又は記憶され得る。非一時的コンピュータ可読メモリは、入力/出力(「I/O」)インターフェース608を介して例示的な車両システム602に結合されたフラッシュメモリ(例えばソリッドステートメモリ)、磁気又は光媒体(例えばディスク)などの記憶媒体又はメモリ媒体を含むことができる。非一時的コンピュータ可読媒体を介して記憶されたプログラム命令及びデータは、例えばネットワークインターフェース610を介して実装され得るネットワーク及び/又はワイヤレスリンクなどの通信媒体を介して伝達され得る電気、電磁、又はデジタル信号などの伝送媒体又は信号によって送信され得る。
【0075】
さらに、
図6では単一のユニットとして示されているが、プロセッサ604及びメモリ606は、車両の多数のコンピューティングデバイスの間、及び/又は多数の車両、データセンター、遠隔操作センターなどの間で分散され得ることが理解されよう。
【0076】
いくつかの例では、入力/出力(「I/O」)インターフェース608は、プロセッサ604、メモリ606、ネットワークインターフェース610、センサ612、I/Oデバイス614、駆動システム616、及び/又は車両システム602の任意の他のハードウェアの間のI/Oトラフィックを調整するように構成され得る。いくつかの例では、I/Oデバイス614は、外部及び/又は内部のスピーカ、ディスプレイ、搭乗者入力デバイスなどを含むことができる。いくつかの例では、I/Oインターフェース608は、プロトコル、タイミング、又は他のデータ変換を実行して、1つの構成要素(例えば非一時的コンピュータ可読媒体)からのデータ信号を、別の構成要素(例えばプロセッサ)による使用に適したフォーマットに変換することができる。いくつかの例では、I/Oインターフェース608は、例えば、周辺コンポーネント相互接続(PCI)バス規格、ユニバーサルシリアルバス(USB)規格、又はそれらの変形などの様々なタイプの周辺バスを介して取り付けられたデバイスのサポートを含むことができる。いくつかの実装形態では、I/Oインターフェース608の機能は、2つ以上の別個の構成要素、例えば、ノースブリッジとサウスブリッジなどに分割され得る。また、いくつかの例では、メモリ606へのインターフェースなどのI/Oインターフェース608の機能性の一部又は全てが、車両システム602のプロセッサ604及び/又は1つ又は複数の他の構成要素に直接組み込まれ得る。
【0077】
例示的な車両システム602は、車両システム602と1つ又は複数の他のデバイスとの間に通信リンク(即ち「ネットワーク」)を確立するように構成された、ネットワークインターフェース610を含むことができる。例えば、ネットワークインターフェース610は、第1のネットワーク620を介して車両システム602と別の車両618との間、及び/又は第2のネットワーク624を介して車両システム602とリモートコンピューティングシステム622との間で、データが交換されるのを可能にするように構成され得る。例えば、ネットワークインターフェース610は、別の車両618及び/又はリモートコンピューティングデバイス622の間のワイヤレス通信を可能にすることができる。様々な実装形態において、ネットワークインターフェース610は、Wi-Fiネットワークなどのワイヤレス一般データネットワークを介した通信、及び/又は遠隔通信ネットワーク、例えば、セルラ通信ネットワーク及び衛星ネットワークなどをサポートすることができる。
【0078】
いくつかの例では、本明細書で論じられるセンサデータ及び/又は知覚データは、第1の車両で受信され、第1のネットワーク620を介して第2の車両へ、及び/又は第2のネットワーク624を介してリモートコンピューティングシステム622へ送信され得る。
【0079】
例示的な車両システム602は、センサ612を含むことができ、センサ612は、例えば、環境内の車両システム602を位置特定し、環境内の1つ又は複数のオブジェクトを検出し、画像内の検出されたオブジェクトの深度を決定し、その環境を通る例示的な車両システム602の動きを感知し、環境データ(例えば、周囲温度、圧力、及び湿度)を感知し、及び/又は例示的な車両システム602の内部の状態(例えば、搭乗者数、内部温度、騒音レベル)を感知するように構成される。センサ612は、例えば、1つ又は複数のカメラ626(例えば、RGBカメラ、強度(グレースケール)カメラ、赤外線カメラ、UVカメラ、深度カメラ、ステレオカメラ、単眼カメラ)、1つ又は複数のLIDARセンサ628、1つ又は複数のRADARセンサ630、1つ又は複数の磁力計、1つ又は複数のソナーセンサ、音を感知するための1つ又は複数のマイクロホン、1つ又は複数のIMUセンサ(例えば、加速度計及びジャイロスコープを含む)、1つ又は複数のGPSセンサ、1つ又は複数のガイガーカウンタセンサ、1つ又は複数のホイールエンコーダ(例えば、回転エンコーダ)、1つ又は複数の駆動システムセンサ、速度センサ、及び/又は例示的な車両システム602の動作に関係付けられた他のセンサを含むことができる。
【0080】
いくつかの例では、これらのタイプのセンサの1つ又は複数は、位相ロックされ(即ち、実質的に同時に車両の環境の実質的に同じ部分に対応するデータを取り込む)、又は非同期とされ得る。本明細書で論じられる技法の目的のために、カメラ626及びLIDAR628及び/又はRADAR630の出力が非同期である場合、これらの技法は、時間的にカメラデータに最も密接に対応するLIDARデータ及び/又はRADARデータを決定することを含むことができる。例えば、知覚エンジン632がこの決定を行うことができる。
【0081】
例示的な車両システム602は、知覚エンジン632と、単眼高さ機械学習(ML)モデル636を含むことができる視覚エンジン634と、プランナ638とを含むことができる。
【0082】
視覚エンジン634は、メモリ606に記憶された命令を含むことができ、命令は、プロセッサ604によって実行されたとき、プロセッサ604に、車両システム602を囲む環境の画像(例えば単眼画像)を受信させ、画像において環境内のオブジェクトを検出させ、検出されたオブジェクトに対応するものとして画像の一部分を識別するROI(例えば、バウンディングボックス、ピクセルマスク)を生成させ、及び/又は、単眼高さMLモデル636を介し、ROIに少なくとも部分的に基づいて、知覚エンジン632から受信されたオブジェクト分類、及び/又は検出されたオブジェクトの高さ推定値、確率分布を生成させる。いくつかの例では、知覚エンジン632は、ROIを生成し、及び/又は単眼高さMLモデル636を含み、確率分布を生成することができる。
【0083】
単眼高さMLモデル636は、
図3及び/又は
図4に関して論じられ、及び/又は2017年3月8日に出願された「Object Height Estimation from Monocular Images」という名称の米国特許出願第15453569号明細書で論じられたような単眼画像モデルを含むことができる。単眼高さMLモデル636は、メモリ606に記憶された命令を含むことができ、命令は、プロセッサ604によって実行されたとき、プロセッサ604に、オブジェクト分類、画像、及び/又はROIを受信させ、単眼高さMLモデル636の層の構成に従って、確率分布を生成させる。いくつかの例では、確率分布は、距離によってインデックス付けされた確率を含むことができ、ここで、個別の距離は、検出されたオブジェクトに個別の距離が真に関連付けられている個別の確率及び/又は確率分布に関連付けられている。視覚エンジン634は、決定され生成されたデータのいずれも知覚エンジン632へ送信することができる。
【0084】
知覚エンジン632は、メモリ606に記憶された命令を含むことができ、命令は、プロセッサ604によって実行されたとき、プロセッサ604に、LIDARデバイスからLIDARデータを受信させ、画像が取り込まれた時間に対応するLIDARポイント、及びROIに対応する環境の領域を決定させ、LIDARポイントについてのスコアを生成させ、一次深度推定値としてLIDARポイントの加重メジアンを選択させ、ここで、加重メジアンはスコアを重みとして使用する。知覚エンジン632は、追加的又は代替的に、本明細書で論じられる技法のいずれかに従って、一次深度推定値をプランナに出力し、第2の深度推定値を決定し、及び/又は、一次深度推定値と二次深度推定値との間で選択して、検出されたオブジェクト及び/又は第2のオブジェクトに関連付けるためにプランナに送信することができる。
【0085】
いくつかの例では、命令は、入力としてセンサ612からセンサデータを受信し、例えば、例示的な車両システム602を囲む環境におけるオブジェクトのポジション(pose)(例えば、位置及び向き)、オブジェクトに関連付けられたオブジェクトトラック(例えば、時間の期間(例えば5秒間)にわたるオブジェクト履歴位置、速度、加速度、及び/又は進行方向)、及び/又はオブジェクトに関連付けられたオブジェクト分類(例えば、歩行者、乗用車両、小型車両、配達用トラック、自転車乗用者)のうちの1つ又は複数を表すデータを出力するように、プロセッサ604をさらに構成することができる。いくつかの例では、知覚エンジン632は、1つ又は複数のオブジェクトのオブジェクト軌道を予測するように構成され得る。例えば、知覚エンジン632は、例えば、オブジェクトに関連付けられた予測される位置、軌道、及び/又は速度の確率的決定又は多峯性分布に基づいて、多数のオブジェクト軌道を予測するように構成され得る。
【0086】
知覚エンジン632は、出力深度推定値、ROI、画像、検出されたオブジェクトに関連付けられたオブジェクト分類、検出されたオブジェクトに関連付けられたオブジェクトトラック、及び/又はプランナ638が軌道を生成するために使用できる任意の他の追加情報(例えば、オブジェクト分類、オブジェクトトラック、車両ポジション)を送信することができる。いくつかの例では、知覚エンジン632及び/又はプランナ638は、追加的又は代替的に、単眼高さMLモデル636により生成された信頼性に少なくとも部分的に基づいて、このデータの任意のものを、ネットワークインターフェース610を介して、ネットワーク624を経由してリモートコンピューティングデバイス622へ、及び/又はネットワーク620を経由して別の車両618へ送信することができる。いくつかの例では、知覚エンジン632、視覚エンジン634、及び/又はプランナ638は、別の車両618及び/又はリモートコンピューティングデバイス622に配置されてよい。
【0087】
いくつかの例では、リモートコンピューティングデバイス622は、遠隔操作デバイスを含むことができる。遠隔操作デバイスは、ROI、出力深度推定値、及び/又は一次深度推定値及び二次深度推定値のセットに応答するように構成されたデバイスであってよく、知覚エンジン632が2つの間の同点を破れなかった場合、出力深度推定値が正しいかどうかの表示、及び/又は検出されたオブジェクト及び/又は第2のオブジェクトに対応するものとしての一次深度推定値及び/又は二次深度推定値の選択で応答する。追加的又は代替的な例では、遠隔操作デバイスは、視覚エンジン634及び/又は知覚エンジン632によって生成された、センサデータ及び/又は検出されたオブジェクトに関係付けられた情報を表示することができ、これは、深度推定値を裏付ける又は識別するリモートオペレータ(「テレオペレータ」)からの入力を受信するために有用であり得る。そのような例では、遠隔操作デバイスは、深さ推定値の少なくとも1つが真陽性又は偽陽性である表示などの入力をテレオペレータから受信するためのインターフェースを含むことができる。いくつかの例では、遠隔操作デバイスは、表示を裏付ける又は表示を偽陽性として識別する自律車両及び/又は追加の自律車両に応答することができる。
【0088】
プランナ638は、メモリ606に記憶された命令を含むことができ、命令は、プロセッサ604によって実行されたとき、プロセッサ604に、例えば、例示的な車両システム602のその環境における場所を表すデータ及び局所的位置(local pose)データなどの他のデータ、及び出力深度推定値及びROIに基づくことができる検出されたオブジェクトの位置及び/又はトラックを使用して、例示的な車両システム602の軌道を表すデータを生成させる。いくつかの例では、プランナ638は、実質的に連続的に(任意の後退ホライズン時間が企図されるが、例えば、1又は2ミリ秒ごとに)、例示的な車両システム602を制御するための複数の潜在的な軌道を生成し、車両を制御するための軌道のうちの1つを選択することができる。選択は、現在のルート、オブジェクトの深度推定値、現在の車両軌道、オブジェクトの深度推定値、及び/又は検出されたオブジェクト軌道データに少なくとも部分的に基づくことができる。軌道を選択すると、プランナ638は、選択された軌道に従って例示的な車両システム602を制御するために、軌道を駆動システム616に送信することができる。
【0089】
いくつかの例では、知覚エンジン632、視覚エンジン634、単眼高さMLモデル636、及び/又はプランナ638は、例えば、知覚エンジンを実行するのに適合されたプロセッサなどの特殊なハードウェア(例えば、グラフィックプロセッサ、FPGA)をさらに含むことができる。
【0090】
例示的な条項
A.1つ又は複数のプロセッサと、1つ又は複数のプロセッサによって実行可能な命令を記憶する1つ又は複数のコンピュータ可読媒体とを備えるシステムであって、命令は、実行されたとき、システムに、環境の画像を画像センサから受信するステップと、画像に少なくとも部分的に基づいて、環境内のオブジェクトを表すものとして画像の一部分を識別する関心領域を決定するステップと、LIDARデバイスからLIDARポイントを受信するステップであって、LIDARポイントは、関心領域、及び画像が取り込まれた時間に関連付けられている、ステップと、LIDARポイントについてのスコアを生成するステップであって、LIDARポイントについてのスコアを生成するステップは、単眼画像モデルによって生成された確率分布に少なくとも部分的に基づいて、LIDARポイントに関連付けられた深度測定値に関連付けられている確率密度を決定することと、画像へ投影されたLIDARポイントと関心領域の中心との間のピクセルにおける距離に少なくとも部分的に基づいて、係数を決定することとを含む、ステップと、加重メジアン計算を使用して、オブジェクトの一次深度推定値を決定するステップであって、加重メジアン計算に関連付けられた重みはスコアを含む、ステップとを実行させる。
【0091】
B.命令は、システムに、LIDARポイントのサブセットとして、一次深度推定値の範囲内である深度測定値に関連付けられたLIDARポイントを選択するステップと、ソートされたLIDARポイントの第2の加重メジアンを決定するステップと、第2の加重メジアンに少なくとも部分的に基づいて、オブジェクトの二次深度推定値を決定するステップとを実行させる、パラグラフAに記載のシステム。
【0092】
C.システムは、自律車両を備え、カメラ及びLIDARが自律車両上にあり、命令は、システムに、一次深度推定値又は二次深度推定値に少なくとも部分的に基づいて、環境内のオブジェクトの位置を識別するステップと、オブジェクトの位置に少なくとも部分的に基づいて、自律車両の動きを制御するための軌道を生成するステップとをさらに実行させる、パラグラフA又はBに記載のシステム。
【0093】
D.命令は、システムに、一次深度推定値及び二次深度推定値を単眼画像モデルの出力と比較するステップ、一次深度推定値に関連付けられたLIDARポイントの第1の密度を、二次深度推定値に関連付けられたLIDARポイントの第2の密度と比較するステップ、又は一次深度推定値及び二次深度推定値を、オブジェクトに関連付けられたオブジェクトトラックと比較するステップをさらに実行させる、パラグラフA~Cのいずれか1項に記載のシステム。
【0094】
E.LIDARポイントについてのスコアを生成するステップは、確率密度に係数を掛けることを含む、パラグラフA~Dのいずれか1項に記載のシステム。
【0095】
F.画像面からオブジェクトまでの距離を決定するコンピュータ実装方法であって、方法は、環境のLIDARデータ及び画像データを受信するステップと、環境において検出されたオブジェクトに関連付けられた関心領域を決定するステップと、関心領域に対応するLIDARデータのLIDARポイントを決定するステップと、LIDARポイントについてのスコアを生成するステップであって、LIDARポイントについてのスコアを生成するステップは、関心領域の中心から、画像上へのLIDARポイントの投影までの距離に少なくとも部分的に基づいて、係数を決定することと、LIDARポイントに関連付けられた深度測定値の確率密度を決定することと、確率密度及び係数に少なくとも部分的に基づいて、スコアを生成することとを含む、ステップと、スコアに少なくとも部分的に基づいて、LIDARポイントの加重メジアンを決定するステップと、一次深度推定値として、加重メジアンに関連付けられた深度測定値を識別するステップとを含む。
【0096】
G.係数を決定するステップは、画像へのLIDARポイントの投影を使用して関心領域の中心を中心にしたガウス分布を評価するステップを含む、パラグラフFに記載のコンピュータ実装方法。
【0097】
H.確率密度を決定するステップは、機械学習モデルを介して、オブジェクトの分類に少なくとも部分的に基づいて、深度の範囲にわたって確率分布を生成するステップを含む、パラグラフF又はGに記載のコンピュータ実装方法。
【0098】
I.スコアを生成するステップは、確率密度に係数を掛けるステップを含む、パラグラフF~Hのいずれか1項に記載のコンピュータ実装方法。
【0099】
J.一次深度推定値を含む深度値の範囲を満たす又は超える距離に関連付けられたLIDARポイントのサブセットを識別するステップと、LIDARポイントのサブセットに関連付けられた距離によってLIDARポイントのサブセットをソートするステップと、サブセットに関連付けられたスコア及びソートに少なくとも部分的に基づいて、第2の加重メジアンを決定するステップと、二次深度推定値として、第2の加重メジアンに関連付けられた深度測定値を識別するステップとをさらに含む、パラグラフFに記載のコンピュータ実装方法。
【0100】
K.深度値の範囲は、一次深度推定値よりも0.Hメートル小さいポイントから一次深度推定値よりもA.F大きいポイントまで変化する、パラグラフF~Jのいずれか1項に記載のコンピュータ実装方法。
【0101】
L.第1の深度推定値を使用して確率分布を評価することによって第1の深度推定値に関連付けられた第1の確率密度又は第1の確率を、第2の深度推定値を使用して確率分布を評価することによって第2の深度推定値に関連付けられた第2の確率密度又は第2の確率と比較すること、一次深度推定値に関連付けられたLIDARポイントの第1の密度を、第2の深度に関連付けられたLIDARポイントの第2の密度と比較すること、又は一次深度推定値及び二次深度推定値を、オブジェクトに関連付けられたオブジェクトトラックと比較することのうちの少なくとも1つに少なくとも部分的に基づいて、一次深度推定値又は二次深度推定値を出力深度として選択するステップをさらに含む、パラグラフF~Kのいずれか1項に記載のコンピュータ実装方法。
【0102】
M.二次深度推定値を選択するステップは、オブジェクトの少なくとも一部分を遮蔽する遮蔽オブジェクトの存在を示すステップと、一次深度推定値を遮蔽オブジェクトに関連付け、二次深度推定値をオブジェクトに関連付けるステップとをさらに含む、パラグラフF~Lのいずれか1項に記載のコンピュータ実装方法。
【0103】
N.出力深度を自律車両のコントローラに送信するステップと、出力深度に少なくとも部分的に基づいて軌道を生成するステップであって、軌道は、自律車両に環境の一部分を横断させるように構成される、ステップと、をさらに含む、パラグラフF~Mのいずれか1項に記載のコンピュータ実装方法。
【0104】
O.実行されたときに、1つ又は複数のプロセッサに、オブジェクトを含む環境の画像をカメラから受信するステップと、画像におけるオブジェクトの場所を表す関心領域を受信するステップと、点群センサから点群データを受信するステップと、点群データから、関心領域に対応する点群ポイントを決定するステップと、画像に少なくとも部分的に基づいて、深度の確率分布を決定するステップと、画像に関連付けられた画像空間内の点群ポイントの相対座標に少なくとも部分的に基づいて、及び確率分布により指定された深度に対する点群ポイントの位置に少なくとも部分的に基づいて、点群ポイントについてのスコアを生成するステップと、加重メジアン計算によって、スコアに少なくとも部分的に基づいて加重メジアンを決定するステップと、オブジェクトの第1の深度推定値として、加重メジアンに関連付けられた深度測定値を識別するステップと、を含む動作を実行させる命令のセットを有する非一時的コンピュータ可読媒体。
【0105】
P.動作は、第1の深度推定値からの深度の範囲の外側にある深度測定値に関連付けられた点群ポイントのサブセットを決定するステップと、点群ポイントのサブセットの第2の加重メジアンを決定するステップと、オブジェクトの第2の深度推定値として、第2の加重メジアンに関連付けられた第2の距離を識別するステップとをさらに含む、パラグラフOに記載の非一時的コンピュータ可読媒体。
【0106】
Q.動作は、第1の深度推定値を使用して確率分布を評価することによって第1の深度推定値に関連付けられた第1の確率密度又は第1の確率を、第2の深度推定値を使用して確率分布を評価することによって第2の深度推定値に関連付けられた第2の確率密度又は第2の確率と比較するステップ、第1の深度推定値に関連付けられた点群ポイントの第1の密度を、第2の深度推定値に関連付けられた点群ポイントの第2の密度と比較するステップ、又は第1の深度推定値及び第2の深度推定値を、オブジェクトに関連付けられたオブジェクトトラックと比較するステップのうちの1つと、比較するステップに少なくとも部分的に基づいて、第1の深度推定値又は第2の深度推定値のうちの一方をオブジェクトに関連付けるステップとをさらに含む、パラグラフO又はPに記載の非一時的コンピュータ可読媒体。
【0107】
R.動作は、第1の深度推定値又は第2の深度推定値のうちの少なくとも一方に少なくとも部分的に基づいて、自律車両の動きを制御するための軌道を生成するステップをさらに含む、パラグラフO~Qのいずれか1項に記載の非一時的コンピュータ可読媒体。
【0108】
S.係数を決定するステップは、関心領域の中心からのLIDARポイントの投影距離に関して関心領域の中心を中心にされたガウス分布を評価することに少なくとも部分的に基づく、パラグラフOに記載の非一時的コンピュータ可読媒体。
【0109】
T.LIDARポイントについてのスコアを生成するステップは、確率密度に係数を掛けることを含む、パラグラフO~Sのいずれか1項に記載の非一時的コンピュータ可読媒体。
【0110】
主題は構造的特徴及び/又は方法論的行為に特有の言語で説明されているが、添付の特許請求の範囲に定義される主題は、必ずしも記載された特定の特徴又は行為に限定されないことを理解されたい。むしろ、特定の特徴及び行為はクレームを実施するための例示的な形態として開示される。
【0111】
本明細書に説明されたモジュールは、任意のタイプのコンピュータ可読媒体に記憶されることができ、ソフトウェア及び/又はハードウェアに実装されることができる命令を表す。上記に説明された方法及びプロセスの全ては、1つ又は複数のコンピュータ又はプロセッサ、ハードウェア、又はそれらの何らかの組み合わせによって実行されるソフトウェアコードモジュール及び/又はコンピュータ実行可能命令に具現化され、それらを介して完全に自動化され得る。或いは、方法の一部又は全部が専用のコンピュータハードウェアで具現化され得る。
【0112】
とりわけ、「できる」、「できた」、「得る」又は「してもよい」などの条件付き言語は、特に明記されない限り、特定の特徴、要素、及び/又はステップを特定の例は含むが他の例は含まないことを示すように文脈内で理解されよう。したがって、そのような条件付き言語は一般に、特定の特徴、要素、及び/又はステップが1つ又は複数の例に何らか必要とされること、又は、1つ又は複数の例が、ユーザ入力又はプロンプトの有無にかかわらず、特定の特徴、要素、及び/又はステップが特定の例において含まれ又は実行されるかどうかを決定するためのロジックを必然的に含むことを意味することは意図されていない。
【0113】
「X、Y又はZの少なくとも1つ」という語句などの接続語は、特に明記されない限り、項目、用語などがX、Y、又はZのいずれか、又は複数の各要素を含むそれらの任意の組み合わせであり得ることを示すと理解されよう。単数形として明示的に説明されていない限り、「a」は単数形及び複数形を意味する。
【0114】
本明細書に説明され及び/又は添付の図に示されるフロー図の任意のルーチン記述、要素、又はブロックは、ルーチンにおける特定の論理的機能又は要素を実装するための1つ又は複数のコンピュータ実行可能命令を含むモジュール、セグメント、又はコードの部分を潜在的に表すものとして理解されるべきである。代替的実装形態が、本明細書に説明される例の範囲内に含まれ、この範囲では、当業者に理解されるように含まれる機能性に応じて、要素又は機能が削除され、又は実質的な同期、逆の順序、追加の動作、又は動作の省略を含めて、示され又は論じられたものと異なる順序で実行され得る。
【0115】
上記の例に多くの変形及び変更が行われる可能性があり、その要素は他の許容可能な例のうちであると理解されることは強調されるべきである。全てのそのような修正及び変更は、ここで本開示の範囲内に含まれ、添付の特許請求の範囲によって保護されることが意図される。