(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-01
(45)【発行日】2023-12-11
(54)【発明の名称】仮想地平線の推定を備えたアダプティブ走査パターン
(51)【国際特許分類】
G01S 17/931 20200101AFI20231204BHJP
G01S 17/42 20060101ALI20231204BHJP
G08G 1/16 20060101ALI20231204BHJP
【FI】
G01S17/931
G01S17/42
G08G1/16 C
(21)【出願番号】P 2022541687
(86)(22)【出願日】2021-01-06
(86)【国際出願番号】 US2021012298
(87)【国際公開番号】W WO2021141981
(87)【国際公開日】2021-07-15
【審査請求日】2022-09-20
(32)【優先日】2020-01-06
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-02-12
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521026699
【氏名又は名称】ルミナー,エルエルシー
(74)【代理人】
【識別番号】110001999
【氏名又は名称】弁理士法人はなぶさ特許商標事務所
(72)【発明者】
【氏名】トロフィモフ,ドミトロ
【審査官】渡辺 慶人
(56)【参考文献】
【文献】特開2004-144671(JP,A)
【文献】米国特許出願公開第2019/0179024(US,A1)
【文献】米国特許出願公開第2017/0308760(US,A1)
【文献】特開2019-095452(JP,A)
【文献】特開2015-143979(JP,A)
【文献】米国特許出願公開第2019/0086550(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01S 7/48 - 7/51
17/00 - 17/95
(57)【特許請求の範囲】
【請求項1】
車両の撮像センサを制御する方法であって、撮像センサは
、特定の走査パターンに従って動作し、車両が移動している環境を感知するように構成され、
車両が環境を通って移動するときに車両の撮像センサによって生成されたセンサデータを受信するステップと、
1つまたは複数のプロセッサが、(i)センサデータの第1のサブセットを使用して、撮像センサの垂直視野内の垂直関心領域(VROI)の下限を決定するステップであって、VROIは仮想地平線を含んでいるステップと、(ii)センサデータの少なくとも第2のサブセットを使用して、撮像センサの垂直視野内のVROIの上限を決定するステップと、
前記決定されたVROIの下限値及び前記決定されたVROIの上限値に従って、前記撮像センサの
走査に関連する1つまたは複数の動作パラメータを調整させるステップと、を含む方法。
【請求項2】
前記撮像センサはライダーシステムであり、
前記ライダーシステムの複数の走査線のうちの単一の走査線から前記センサデータの第1のサブセットを選択し、前記単一の走査線が前記複数の走査線に対応する相対仰角のうち実質的に最も低い相対仰角を有するようにすることをさらに含むことを特徴とする請求項1に記載の方法。
【請求項3】
VROIの下限を決定することは、VROIの下限に、センサデータの第1のサブセットに対応する単一の走査線の仰角を割り当てることを含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記複数の走査線に対応する相対仰角を計算することをさらに含んでおり、該計算は、
ライダーシステムからの最小距離とライダーシステムの視野の方位角中心からの最大方位角偏差とによって定義される受容野の外側にある点を破棄するステップと、
(i)ライダーシステムからの距離とライダーシステムの視野の方位角中心からの方位角偏差に少なくとも部分的に基づく重み、および(ii)ライダーシステム下方の指定基準点に対する点の相対仰角を計算するステップと、
前記複数の走査線の各走査線について、前記走査線から前記受容野内の各点に対する前記相対仰角と前記重みを積算することにより、対応する前記相対仰角を算出するステップと、を含むことを特徴とする請求項2に記載の方法。
【請求項5】
走査線から受容野内の各点について相対仰角と重みを集計することは、相対仰角の加重調和平均を計算することを含むことを特徴とする請求項4に記載の方法。
【請求項6】
撮像センサがライダーシステムであり、VROIの上限を決定することは、
ライダーシステムからの最小距離及びライダーシステムの視野の方位中心からの最大方位偏差によって定義される受容野内にあるセンサデータの単一フレーム内の点を含むようにセンサデータの第2のサブセットを選択することと、
センサデータの第2のサブセットの集計仰角を決定することと、を含むことを特徴とする請求項1に記載の方法。
【請求項7】
センサデータの第2のサブセットの集計仰角を決定することは、
ライダーシステムからの点の対応する距離およびライダーシステムの視野の方位中心からの点の対応する方位偏差に少なくとも部分的に基づいて第2のサブセット内の点に対応する重みを計算することと、
計算された重みに基づいて第2のサブセット内の点の仰角の加重調和平均を計算することと、を含むことを特徴とする請求項6に記載の方法。
【請求項8】
前記センサデータの第2のサブセットの集計仰角を決定することは、前記第2のサブセット内の点の仰角の平均を計算することを含む、請求項6に記載の方法。
【請求項9】
1つまたは複数のプロセッサが、VROIの下限およびVROIの上限に少なくとも部分的に基づいて、前記仮想地平線を示す仰角、および前記仮想地平線の角度に関連する不確実性のメトリックを計算するステップを含み、
前記決定したVROIの下限および前記決定したVROIの上限にしたがって前記撮像センサを調整させることは、前記仮想地平線の角度に関連する不確実性のメトリックの少なくとも部分に基づいて前記撮像センサを調整させることをさらに含むことを特徴とする請求項1に記載の方法。
【請求項10】
前記仮想地平線の角度は、V
ROIの上限と下限の平均に等しいことを特徴とする請求項9に記載の方法
。
【請求項11】
不確実性のメトリックは、VROIの上限と下限との間の差に等しいことを特徴とする請求項9に記載の方法。
【請求項12】
不確実性のメトリックが特定の閾値を超えることを決定することと、
不確実性のメトリックに少なくとも部分的に基づいて撮像センサを調整させることと、を含み、該調整することは、不確実性のメトリックが特定の閾値を超えることに応答して、撮像センサの走査線の分布を走査線のデフォルト分布に設定することを含むことを特徴とする請求項9に記載の方法。
【請求項13】
撮像センサはライダーシステムであり、VROIの決定された下限およびVROIの決定された上限に従って撮像センサを調整させることは、ライダー走査線の分布を調整して、VROI内のライダー走査線の垂直密度をVROIの外側よりも大きくすることを含むことを特徴とする請求項1に記載の方法。
【請求項14】
ライダー走査線の分布を調整することは、ライダー走査線の垂直密度が実質的に均一であるVROIより上の領域を指定すること、及び、仰角の減少に伴って走査線の垂直密度が徐々に減少するVROIより下の領域を指定することをさらに含むことを特徴とする請求項13に記載の方法。
【請求項15】
VROIの決定された下限およびVROIの決定された上限に従って撮像センサを調整させることは、撮像センサの垂直方向の視野を調整することを含むことを特徴とする請求項1に記載の方法。
【請求項16】
前記センサデータの少なくとも一部をデジタルディスプレイ上に表示することと、表示されたセンサデータ上に、VROIの上限を表す線とVROIの下限を表す線とを重ねて表示することとをさらに含む請求項1に記載の方法。
【請求項17】
前記センサデータの第2のサブセットは、前記センサデータの第1のサブセットより大きいことを特徴とする請求項1に記載の方法。
【請求項18】
車両に実装される撮像システムであって、
特定の走査パターンに従って動作し、車両が環境内を移動する際にセンサデータを生成するように構成された撮像センサと、撮像センサからセンサデータを受信し、(i)センサデータの第1のサブセットを使用して、撮像センサの垂直視野内の垂直関心領域(VROI)の下限を決定し、(ii)センサデータの少なくとも第2のサブセットを使用して、撮像センサの垂直視野内のVROIの上限を決定し、VROIおよびVROIの決定された上限の下限に従って撮像センサ
の走査に関連する1つまたは複数の動作パラメータを調整さ
せること、を含むように構成されたコントローラと、を含んでいる撮像システム。
【請求項19】
前記センサデータの第1のサブセットを選択するために、前記コントローラは、前記センサデータを構成する複数の走査線から単一の走査線を選択し、前記単一の走査線は、前記複数の走査線に対応する相対仰角のうち実質的に最も低い相対仰角を有する、ように構成されることを特徴とする請求項18に記載の撮像システム。
【請求項20】
VROIの下限を決定するために、前記コントローラは、前記センサデータの第1のサブセットに対応する前記単一の走査線の仰角をVROIの下限に割り当てることを特徴とする請求項19に記載の撮像システム。
【請求項21】
前記コントローラは、前記複数の走査線に対応する相対仰角を計算するようにさらに構成でされ、該計算は、
撮像センサからの最小距離及び撮像センサの視野の方位中心からの最大方位偏差によって定義される受容フィールドの外側にある点を破棄するステップと、
受容フィールド内の各点について、(i)撮像センサからの点の距離及び撮像センサの視野の方位中心からの点の方位偏差に少なくとも一部基づく重みと、(ii)前記撮像センサの下方の指定された基準点に対する前記点の相対仰角とを計算するステップと、
前記複数の走査線の各走査線について、前記走査線から前記受容野内の各点に対する前記相対仰角と前記重みとを積算することにより、対応する相対仰角を算出するステップと、を含む、ことを特徴とする請求項19に記載の撮像システム。
【請求項22】
前記走査線から前記受容野内の各点について相対仰角と重みを集計することは、相対仰角の加重調和平均を計算することを含むことを特徴とする請求項21に記載の撮像システム。
【請求項23】
撮像センサはライダーシステムであり、VROIの上限を決定するために、コントローラは、ライダーシステムからの最小距離とライダーシステムの関心領域の方位中心からの最大方位偏差とによって定義される受容野内にあるライダーシステムの単一フレーム内の点のすべてを含むようにセンサデータの第2のサブセットを選択し、センサデータの第2のサブセットの集合仰角を決定するように構成されていることを特徴とする請求項18に記載の撮像システム。
【請求項24】
前記センサデータの第2のサブセットは、前記センサデータの第1のサブセットより大きいことを特徴とする請求項18に記載の撮像システム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2020年1月6日に出願された米国特許仮出願第62/957575号及び2020年2月12日に出願された米国特許出願第16/789105号の優先権を主張し、これらの内容は本明細書にその全体が組み込まれるものである。
【0002】
本開示は、一般に、特定の走査パターンに従って動作する撮像システムに関し、より詳細には、特定の関心領域においてより多くのデータ又はより高品質なデータを収集するように、そのような撮像システムを構成することに関するものである。
【背景技術】
【0003】
本明細書で提供される背景の説明は、本開示の文脈を一般的に提示することを目的とするものである。本背景の項に記載されている範囲での本明細書の発明者の仕事、および出願時に先行技術として他に認められない可能性のある説明の側面は、本開示に対して先行技術として明示的または黙示的に認められるものではない。
【0004】
「自動運転」または「自律」車両は、一般に、光検出および測距(ライダー)装置などの撮像(イメージング)センサを使用して、車両が目的地に向かって移動する際に周辺環境を検出または「見る」ことができる。このような車両には、センサデータを処理し、感知した環境と希望する目的地の両方に基づいて、走行中多かれ少なかれ継続的に、どの操縦と操作パラメーター(例えば、速度、制動力、操舵方向)が最も適切であるかを決定する制御システムが含まれる。自律車両は、所望の目的地に到着するだけでなく、自律車両の乗客と自律車両の一般的な周辺にいる可能性がある個人の両方の安全を維持することを目指す。
【0005】
この目標を達成することは、主に、自律車両が、急速に変化し得る環境に囲まれ、多種多様な物体(例えば、他の車両、歩行者、停止標識、交通信号、縁石、車線標識など)が車両に対して様々な位置/向きで存在する可能性があるため、難しい課題となっている。車両に対して固定された方向で環境の一部を感知する画像センサは、操縦や操作パラメータの決定への寄与が限定的な道路領域や空領域を著しく過剰に表現するデータを収集する可能性がある。
【発明の概要】
【0006】
本開示の撮像システムは、撮像システムの関心領域に対するセンサデータを受け取る。撮像システムは、仮想地平線を含む垂直関心領域(VROI)の境界を決定するためにセンサデータを処理するが、これは、水平表面要素を実質的に表面より上のものから分離すると理解され得る。これらの境界を決定するために、撮像システムは、特定のヒューリスティックアルゴリズムを実現することができる。いくつかの実現態様では、上部及び下部境界のそれぞれのヒューリスティックアルゴリズムは、センサデータの異なるサブセットに基づいている。次に、撮像システムは、決定されたVROIに従って1つ又は複数の動作パラメータ(例えば、走査パターン、走査レート)を調整することができる。
【0007】
これらの方法の1つの例示的な実施形態は、車両の撮像センサを制御するための方法であって、車両が環境を通って移動するときに車両の撮像センサによって生成されたセンサデータを受信することを含んでいる。本方法はまた、1つ以上のプロセッサが、(i)センサデータの第1のサブセットを使用して、撮像センサの垂直方向の関心領域(VROI)に対する下限を決定し、該VROIは仮想地平線を含み、(ii)センサデータの少なくとも第2のサブセットを使用して、第1のサブセットが第2のサブセットより小さくなるように撮像センサの垂直方向の関心領域におけるVROIの上界を決定することを含んでいる。さらに、本方法は、VROIの決定された下限及びVROIの決定された上限に従って、撮像センサを調整させることを含む。
【0008】
これらの方法の別の例示的な実施形態は、上記の方法を実施するように構成された撮像システムである。
【図面の簡単な説明】
【0009】
【
図1】
図1は、車両の環境における垂直関心領域(VROI)の検出に基づいて、1つ以上の車両センサのパラメータを制御するための例示的なソフトウェアシステムのブロック図である。
【
図2】
図2は、
図1のセンサ制御アーキテクチャを使用して制御される可能性のある光検出および測距(ライダー)システムの例のブロック図である。
【
図3】
図3は、
図2のライダーシステムが視野内のターゲットを識別するときに生成する可能性のある走査パターンの例を示す図である。
【
図4A】
図4Aは、
図2のライダーシステムが動作する可能性のある車両例を示す図である。
【
図4B】
図4Bは、
図4Aの例示的な車両で動作するライダーシステムのセンサヘッド間のイメージング重複の例を示す図である。
【
図5A】
図5Aは、自律車両の進行方向における環境の一例を示す図である。
【
図6】
図66は、
図2のライダーシステムが動作し得る環境例上にオーバーレイされた仮想地平線からなるVROIの例を示している。
【
図7A】
図7Aは、VROIに基づいて走査線分布が調整された走査パターンの例を示す図である。
【
図7B】
図7Bは、VROIに基づいて走査線分布が調整された別の例の走査パターンを示す図である。
【
図8A】
図8Aは、VROIに基づいて調整された走査線分布関数の例を示す図である。
【
図8B】
図8Bは、VROIに基づいて調整された他の例の走査線分布関数を示す図である。
【
図9】
図9は、VROIの判定方法のフローチャートである。
【
図10A】
図10Aは、VROIの下限を評価するためのセンサデータの受容野と第1のサブセットを選択する様子を示す図である。
【
図10B】
図10Bは、VROIの下限を決定するために相対的な高度を使用することを示す図である。
【
図11A】
図11A~
図11Bは、VROIの上限を評価するためにセンサデータの第2のサブセットを選択することを例示する図である。
【
図11B】
図11A~
図11Bは、VROIの上限を評価するためにセンサデータの第2のサブセットを選択することを例示する図である。
【
図11C】
図11Cは、センサデータにわたるVROIの下限および上限を表示することを例示する。
【
図12A】
図12A~
図12Cは、異なる道路構成を有する運転環境において、VROIの上限および下限を決定するためのアルゴリズムの適用を示す図である。
【
図12B】
図12A~
図12Cは、異なる道路構成を有する運転環境において、VROIの上限および下限を決定するためのアルゴリズムの適用を示す図である。
【
図12C】
図12A~
図12Cは、異なる道路構成を有する運転環境において、VROIの上限および下限を決定するためのアルゴリズムの適用を示す図である。
【発明を実施するための形態】
【0010】
(概要)
本開示の技術によれば、撮像システムは、移動する車両に対する仮想地平線の推定値を生成し、仮想地平線の推定値を考慮して、車両センサのパラメータを制御し、及び/又はかかるセンサによって生成されたデータを処理し得る。仮想地平線の推定値は、仮想地平線がより低い境界とより高い境界との間にあるように、視野(動眼視野:Field Of Regard)内の領域のより低い境界とより高い境界とに対応し得る。
【0011】
車両は、完全な自動運転または「自律」車両、人間の運転手によって制御される車両、または自律および運転手によって制御されるコンポーネントのいくつかの組み合わせであってもよい。例えば、開示された技術は、自律車両の安全性/性能を向上させるために車両環境情報を取得するために、人間の運転手のための警告を生成するために、又は単に特定の運転旅行に関連するデータを収集するために(例えば、旅行中に何人の他の車両又は歩行者に遭遇したか等を記録するために)使用されてもよい。センサは、ライダー、レーダー、カメラ、及び/又は他のタイプのセンサなど、車両が移動している環境を感知することができる任意のタイプ又はタイプのセンサであってよい。車両はまた、慣性測定装置(IMU)などの他のセンサを含んでもよく、及び/又は車両の現在の位置に関する情報を提供する他のタイプの装置(例えば、GPS装置)を含んでもよい。
【0012】
センサデータ(及び場合によっては他のデータ)は、車両の知覚コンポーネントによって処理され、車両の環境の現在の状態を示す信号を出力する。例えば、知覚コンポーネントは、車両の環境内の物体の位置を特定する(および場合によっては分類および/または追跡する)ことができる。ライダーまたはレーダーデータを利用する、より具体的な例として、知覚コンポーネントは、ライダーまたはレーダー点群デバイスを、考えられる物体に対応する点のサブセットに分割するセグメント化モジュール、点のサブセット(セグメント化物体)に対するラベル/クラスを決定する分類モジュール、およびセグメント化および/または分類物体を時間の経過とともに(すなわち、その後の点群フレームにわたって)追跡する追跡モジュールなどを含む場合がある。
【0013】
撮像システムは、様々な種類の情報及び/又は基準に基づいてセンサの1つ又は複数のパラメータを調整することができる。いくつかの実施形態では、撮像システムは、センサの焦点の領域を決定するパラメータを制御する。例えば、撮像システムは、ライダー又はレーダー装置の視野の中心及び/又はサイズを調整し、及び/又は、特定のタイプの物体、物体の特定のグループ化、環境内の特定のタイプの領域(例えば、車両の直前の道路、車両の前方の地平線など)などに焦点を合わせるために、そのような装置によって生成される走査線の空間分布(例えば、仰角に関して)を変更することが可能である。走査線分布が制御され得るいくつかの実現態様では、撮像システムは、所望の焦点領域をカバーするピーク走査線密度を有するガウス分布、又は2つ以上の所望の焦点領域におけるピーク走査線密度を有するマルチモーダル分布など、何らかの連続数学分布のサンプリングに従って配置された走査線をセンサに生成させることが可能である。さらに、いくつかの実現態様及び/又はシナリオでは、撮像システムは、何らかの任意の分布に従って走査線を位置付けることができる。例えば、撮像システムは、環境の2つ以上の領域の各々について所望の解像度を達成するように走査線を配置することができる(例えば、2:4.例えば、車両の前方の道路の領域をカバーする走査線と、地平線を含む領域をカバーする走査線と、地平線の上の領域をカバーする走査線の比率は2:4:1である)。
【0014】
いくつかの実現態様では、撮像システムは、様々な規則、アルゴリズム、基準などによって表されるように、ヒューリスティックアプローチを使用して焦点の領域を決定する。例えば、撮像システムは、環境内の「動的」物体、又は特定のタイプの動的物体の存在及び位置に基づいて焦点の領域を決定することができる。動的物体の存在、位置及び/又は種類は、制御されているセンサによって生成されたデータを用いて、及び/又は車両上の1つ又は複数の他のセンサによって生成されたデータを用いて決定されてもよい。例えば、環境の広角ビューを有するカメラは、ライダーデバイスのためのより狭い焦点領域を決定するために使用されてもよい。代替例として、撮像システムは、ライダーデバイスが比較的大きな視野を有するように初期設定し、後に、大きな視野の特定の部分で検出された動的物体に焦点を合わせる(例えば、より小さな視野を中心に置く)ように設定することが可能である。
【0015】
別の例として、画像処理システムは、センサ(例えば、ライダ、カメラなど)の視野を調整する目的で、車両前方の道路の構成を解析することができる。)特に、視野の仰角(例えば、視野の中心の仰角)は、道路の1つ又は複数の部分の傾斜に基づいて調整されてもよい。車両によって現在横断されている道路部分の傾斜は、同様のセンサを用いて決定されてもよく、および/または1つ以上の他のデバイス(例えば、IMU)を用いて決定されてもよい。全体的な道路構成は、例えば、IMU(複数可)、ライダー(複数可)および/またはカメラ(複数可)などの複数のセンサタイプの融合を使用して、および/またはGPS高度データを使用して決定されてもよい。いくつかの実施形態では、前方の道路が右または左に曲がる場合など、道路構成に基づいて、視野の位置を水平/横方向に調整することもできる。見晴らしの場の調整は、1つ以上の所定の視認性基準を満たすことを目標に行われ得る。例えば、前方の道路の傾斜とセンサの範囲制約が与えられたときに、視認性(すなわち、感知距離)が最大になるように、視野の中心を設定することができる。視界の中心位置が、センサの視界のある最小閾値をもたらすことができない場合、車両の速度は、自動的に減少され得る。少なくとも視野の仰角を変更する機能は、例えば、センサが車両のほんの比較的短い距離前方の路面に過度に焦点を合わせる(下り坂を走行する場合)、又は上空に過度に焦点を合わせる(上り坂を走行する場合)シナリオを回避することが可能である。視野の垂直および/または水平調整は、センサ内の1つ以上の構成要素(例えば、ライダー装置内の1つ以上のミラー)の向きを制御することによって、または別の適切な方法(例えば、センサ全体の垂直および/または水平の向きを機械的に調整することによって)発生し得る。
【0016】
上述したアプローチの代わりに、又はそれに加えて、他の発見的アプローチも可能である。例えば、焦点の領域は、車両に対する地平線の位置、車両から最も近い又は最も遠い物体の位置(それが動的物体であるかどうかにかかわらず)、特定の物体の分類に関する不確実性のレベル、及び/又は1つ以上の他の要因に基づいて設定されてもよい。
【0017】
センサデータに基づいて焦点領域を設定するが、物体のセグメント化又は分類に依存しないことが有利であり得る。いくつかの実現態様では、撮像システムは、センサデータのサブセット上で直接動作するヒューリスティックアルゴリズムを組み合わせて、適切な精度で焦点の適切な領域を決定することができる。例えば、1つのヒューリスティックアルゴリズムは、セグメント化の前にセンサデータ点を処理することに基づいて、地平線の(センサに対する)仰角の低い推定値を決定するために使用されてもよい。別のヒューリスティックアルゴリズムは、セグメント化の前にセンサデータポイントを処理することに基づいて、地平線の(センサに対する)仰角の上方推定値を決定するために使用されてもよい。撮像システムは、上部及び下部地平線推定値を、対応して、垂直関心領域(VROI)の上部及び下部境界として設定してもよい。撮像システムは、VROI内に仮想地平線を指定してもよい。仮想地平線は、走行環境内の特定の隠蔽要素(例えば、丘、並木、他の車両)がない場合の地平線高度線、又は走行環境の水平表面要素と実質的に表面より上の要素とをほぼ分離する適切な垂直視線方向を示してもよい。撮像システムは、決定されたVROIに応答して、センサ全体の垂直方向、垂直フィールドまたは点、および/または焦点の領域を調整してもよい(例えば、1つまたは複数の垂直領域におけるライダー走査線の密度を変更する)。
【0018】
次に、
図1を参照して、仮想地平線を含むVROIを考慮して車両センサを制御するように構成された撮像システムの例示的なアーキテクチャを説明し、続いて、
図2~5を参照して、撮像システムが実現態様可能な例示的なライダーシステムを説明する。次に、
図6~
図8は、VROIを決定し、センサパラメータ(例えば、ライダー走査線分布)を調整する際のセンサ制御アーキテクチャの使用を説明するものである。最後に、VROIを決定し、決定されたVROIに基づいて車両センサを制御することに関連する例示的な方法が、
図9のフローチャート、およびそれに続く添付の
図10~
図12に関して説明される。
【0019】
(システム例)
図1は、センサ102の1つ以上のパラメータを動的に制御する撮像システム100の例示的なアーキテクチャを示す。センサ102は、自律車両によって(例えば、車両の現在の環境に基づいてインテリジェントな運転決定を行うために)、又は他の目的のために非自律車両によって(例えば、特定の運転旅行に係るデータを収集するために)利用されることができる。この用語が本明細書で使用されるように、「自律」または「自動運転」車両は、その環境を感知し、人間の入力なしで、少しの人間の入力で、任意の人間の入力で、および/または状況特有の人間の入力で航行または駆動するように構成された車両である。例えば、自律車両両は、任意の適切な場所まで走行し、全行程の安全上重要な機能(例えば、運転、ステアリング、ブレーキ、駐車)を制御または実行し、運転者はいかなる時も車両を制御することを期待されていない(または可能でさえない)ように構成され得る。別の例として、自律車両は、特定の環境(例えば、高速道路上)および/または特定の走行モードにおいて、運転者が運転作業から安全に注意をそらすことができるようにすることができる。
【0020】
自律車両は、車両内に人間の運転手が存在する状態で運転するように構成されてもよいし、人間の運転手が存在しない状態で運転するように構成されてもよい。一例として、自律車両は、関連する制御装置(例えば、ステアリングホイール、アクセルペダル、及びブレーキペダル)を有する運転席を含んでもよく、車両は、運転席に誰も座っていない状態で、又は運転席に座る人からの入力が限定的、条件付き、若しくはない状態で運転するよう構成されてもよい。別の例として、自律車両は、運転席または関連する運転者の制御装置を一切含まず、車両が人間の入力なしに実質的にすべての運転機能(例えば、運転、操舵、制動、駐車、およびナビゲート)を常時実行してもよい(例えば、車両は、車両に運転者が存在しなくても人間の乗客または貨物を輸送するように構成されてもよい)。別の例として、自律車両は、人間の乗客なしで動作するように構成されてもよい(例えば、車両は、車両に人間の乗客を乗せることなく貨物の輸送のために構成されてもよい)。
【0021】
本明細書で使用される用語として、「車両」は、人または貨物を輸送するように構成された移動機械を指す場合がある。例えば、車両は、乗用車、自動車、トラック、バス、バン、トレーラー、オフロード車、農業用車両、芝刈り機、建設機械、ゴルフカート、キャンピングカー、タクシー、バイク、スクーター、自転車、スケートボード、列車、スノーモービル、水上機(例えば、船又はボート)、航空機(例えば、固定翼機、ヘリコプター、又は飛行船)、又は宇宙機を含んでもよく、その形態を取ってもよく、又はそのように呼ばれるものであってもよい。特定の実施形態では、車両は、車両の推進力を提供する内燃機関または電気モータを含んでもよい。
図1に見られるように、車両はN個の異なるセンサ102を含み、Nは任意の適切な整数(例えば、1、235、10、20など)である。センサ102のうち少なくとも「センサ1」は、環境中の物体から反射するレーザーを送受信するなど、何らかの方法で環境と物理的に相互作用することによって、自律車両の環境を感知するように構成されている(例えば、センサがライダー装置である場合)、環境中の物体から反射する無線又は音響信号を送信及び受信する(例えば、センサがレーダー又はソナー装置である場合)、環境の異なる領域から発生又は反射する光波を単に受信する(例えば、センサがカメラである場合)、等々である。実施形態によっては、センサ102の全てが環境の一部を感知するように構成されてもよく、センサ102の1つ以上が外部環境と物理的に相互作用しなくてもよい(例えば、センサ102の1つが慣性測定ユニット(IMU)である場合)。センサ102は、すべて同じタイプであってもよいし、複数の異なるセンサタイプ(例えば、異なる視角を有する複数のライダー装置、及び/又はライダー、カメラ、レーダ、及び熱画像装置の組み合わせ等)を含んでもよい。
【0022】
センサ102によって生成されたデータは、センサ制御アーキテクチャ100の知覚コンポーネント104に入力され、知覚コンポーネント104によって処理されて、車両の環境の現在の状態を記述する知覚信号106が生成される。用語「現在」は、例えば、知覚コンポーネント104の少なくとも一部の部分および他の要因によってもたらされる短い処理遅延のために、任意の与えられた知覚信号106の生成に先立つ非常に短い時間を実際に指す場合があることが理解される。別個のVROI検出モジュール110は、例えば、物体分類に関連するより計算負荷の高いモジュールよりも短い処理遅延で地平線推定に関連する知覚信号を生成することができる。追加の知覚信号106を生成するために、知覚コンポーネント104は、セグメント化、分類、及び追跡モジュール112を含んでもよい。いくつかの実現態様では、別々のセグメント化、分類、及び追跡モジュールが知覚信号106のいくつかを生成する。
【0023】
センサ制御アーキテクチャ100はまた、予測コンポーネント120を含み、これは知覚信号106を処理して、車両の環境の1つまたは複数の予測された将来の状態を記述する予測信号122を生成する。所定の物体について、例えば、予測コンポーネント120は、物体のタイプ/クラスを物体の最近の追跡された動き(セグメント化、分類、および追跡モジュール112によって決定される)とともに解析し、物体の1つまたは複数の将来の位置を予測することができる。比較的単純な例として、予測コンポーネント120は、任意の移動物体がその現在の方向及び速度に変更を加えずに移動し続けると仮定してもよく、場合によっては、継続的に変化する方向を有する物体、加速している物体などをより良く追跡するために1次又は高次の微分を考慮に入れてもよい。加えてまたは代替的に、予測コンポーネント120は、最新のセンサデータに基づいてVROI検出モジュール110によって生成された信号を補強および/または検証するために、地平線推定に関連する知覚信号を予測してもよい。予測コンポーネント120は、VROI検出モジュール110によって生成された過去の値(例えば、ローパス、メディアン、カルマン、または他の任意の適切なフィルタリングを使用)および/またはセグメント化、分類、および追跡モジュール112によって生成された過去の値(例えば、特定された道路構成を使用)を使用してもよい。
【0024】
知覚信号106及び(いくつかの実施形態では)予測信号122は、センサ制御コンポーネント130に入力され、このコンポーネントが信号106、122を処理して、センサ102の少なくとも1つ(「センサ1」の少なくともパラメータを含む)の1つ以上のパラメータを制御するセンサ制御信号132を生成する。)特に、センサ制御コンポーネント130は、検出及び/又は予測されたVROIに基づいて、センサ102の1つ又は複数の焦点を向けることを試みる。パラメータ調整モジュール136は、検出されたVROIに少なくとも部分的に基づいて、制御されるセンサ(複数可)(センサ102のうち)のパラメータに対する設定を決定する。特に、パラメータ調整モジュール136は、制御されるセンサ(複数可)の焦点領域を設定する1つ又は複数のパラメータの値を決定する。一般に、制御される1つまたは複数のパラメータは、車両環境のどの領域/部分が特定のセンサによって感知されるかに影響を与えるパラメータであり/ある。例えば、パラメータ調整モジュール136は、制御される1つまたは複数のセンサの水平及び/又は垂直の関心領域(例えば、関心領域によってカバーされる方位角及び/又は仰角の範囲)、関心領域の中心(例えば、センサ全体を機械的に動かすか、関心領域の中心を動かすミラーを調整することによって)、及び/又はセンサ(複数可)によって生じる走査線の空間分布を設定する数値を決定してもよい。例示的な走査線分布は、
図7及び
図8を参照しながら、以下でより詳細に議論される。いくつかの実施形態では、制御されたセンサパラメータ(複数可)は、センサの焦点領域だけでなく、車両環境の所定の領域が感知される方法にも影響を与える。例えば、パラメータ調整モジュール136は、センサのフレーム/リフレッシュレート、センサの解像度(例えば、点群フレームあたりの点数)などを制御してもよい。
【0025】
上記で提供された様々な例から分かるように、車両によって収集されたセンサデータは、いくつかの実施形態において、1つ以上のライダー装置またはより一般的にはライダーシステムによって生成される点群データを含むことができる。ライダーシステムによって生成され得るデータの種類、及びライダーシステム及びデバイスが機能し得る態様のより良い理解を提供するために、例示的なライダーシステム及び点群について、次に、
図2~
図5を参照して説明される。
【0026】
最初に
図2を参照すると、ライダーシステム200は、例えば
図1のセンサ102の少なくとも1つとして動作することができる。様々なライダーシステム構成要素及び特性が本明細書に記載されているが、任意の適切なライダー装置(複数可)又はシステム(複数可)、及び/又は任意の他の適切なタイプのセンサが、本明細書に記載されるソフトウェアアーキテクチャを使用して処理するためのセンサデータを提供し得ることが理解される。
【0027】
例示的なライダーシステム200は、光源210、ミラー215、スキャナ220、受光器240、及びコントローラ250を含んでもよい。光源210は、例えば、電磁スペクトルの赤外、可視、又は紫外部分において特定の動作波長を有する光を出射するレーザー(例えば、レーザーダイオード)であってよい。動作において、光源210は、所定の用途に適した任意の方法で連続波、パルス、又は可変調の光225の出力ビームを出射する。光225の出力ビームは、ライダーシステム200から距離Dに位置し、システム200の視野内に少なくとも部分的に含まれる遠隔ターゲット230に向かって射程に沿って向けられる。
【0028】
出力ビーム225が射程範囲のターゲット230に到達すると、ターゲット230は、出力ビーム225からの光の少なくとも一部を散乱させ、又は場合によっては反射し、散乱又は反射光の一部がライダーシステム200に向かって戻ってくる可能性がある。
図5の例では、散乱または反射された光は、ビームスキャナ、光学スキャナ、またはレーザスキャナと呼ばれることがあるスキャナ220を通過する入力ビーム235によって表される。入力ビーム235は、スキャナ220を通過して、オーバーラップミラー、重ね合わせミラー、又はビームコンバイナーミラーと呼ばれることがあるミラー215に向かう。ミラー215は、今度は、入力ビーム235を受光器240に向ける。
【0029】
入力ビーム235は、ターゲット230によって散乱される出力ビーム225からの光、ターゲット230によって反射される出力ビーム225からの光、又はターゲット230からの散乱光及び反射光の組合せを含むことができる。いくつかの実施形態では、ライダーシステム200は、人の目に損傷を与える可能性をほとんど又は全く提しない「アイセーフ」レーザーを含むことができる。入力ビーム235は、出力ビーム225からの光の比較的小さな部分のみを含むことができる。
【0030】
受光器240は、入力ビーム235から光子を受信又は検出し、1つ又は複数の代表的な信号を生成してもよい。例えば、受光器240は、入力ビーム235を代表する出力電気信号245を生成してもよい。受光器は、電気信号245をコントローラ250に送信してもよい。実現態様によっては、コントローラ250は、ライダーシステム200からの距離など、ターゲット230の1つ以上の特性を決定するために、電気信号245の1つ以上の特性を解析するように構成された1つ以上の命令実行プロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、及び/又は他の適した回路を含んでもよい。より詳細には、コントローラ250は、光源210によって送信された光ビーム225に対する飛行時間または位相変調を解析してもよい。ライダーシステム200がTの飛行時間(例えば、Tは、出射された光のパルスがライダーシステム200からターゲット230に移動してライダーシステム200に戻るまでの往復飛行時間を表す)を測定する場合、ターゲット230からライダーシステム200までの距離Dは、D=cT/2と表すことができる。ここで、cは光速(約3.0×108m/秒)である。
【0031】
ライダーシステム200からの距離Dは、ライダーシステム200の最大範囲RMAX以下である。ライダーシステム200の最大範囲RMAXX(最大距離とも呼ばれ得る)は、ライダーシステム200がライダーシステム200の視野内に現れる目標を感知または識別するように構成される最大距離に対応し得る。ライダーシステム200の最大距離は、例えば、50m、200m、500m、または1kmなど、任意の適切な距離であってよい。
【0032】
いくつかの実現態様では、光源210、スキャナ220、及び受光器240は、ライダーシステム200の全て又は一部を保持又は含む箱、ケース、又は筐体であってもよい単一のハウジング255内に一緒にパッケージングされてもよい。ハウジング255は、ビーム225及び235が通過する窓257を含む。コントローラ250は、構成要素210、220、及び240と同じハウジング255内に存在してもよく、又はコントローラ250はハウジング255の外部に存在してもよい。一実施形態では、例えば、コントローラ250は、代わりに、
図1に示されるセンサ制御アーキテクチャ100の知覚コンポーネント104内に存在するか、または部分的に存在してもよい。いくつかの実現態様では、ハウジング255は、それぞれがそれぞれのスキャナおよび受光器を含む複数のライダーセンサを含む。特定の実現態様に応じてて、複数のセンサの各々が、別個の光源または共通の光源を含むことができる。複数のセンサは、実現態様に応じて、例えば、重ならない隣接する視野または部分的に重なる視野をカバーするように構成することができる。
【0033】
図2を引き続き参照すると、出力ビーム225及び入力ビーム235は、実質的に同軸であってもよい。言い換えれば、出力ビーム225及び入力ビーム235は、入力ビーム235及び出力ビーム225が(反対方向ではあるが)実質的に同じ光路に沿って移動するように、少なくとも部分的に重なるか又は共通の伝搬軸を共有してもよい。ライダーシステム200が出力ビーム225を視野にわたって走査すると、入力ビーム235は、2つのビームの間の同軸関係が維持されるように、出力ビーム225と共に追従してもよい。
【0034】
一般に、スキャナ220は、出力ビーム225を射程に沿って1つ又は複数の方向に方向付ける。これを達成するために、スキャナ220は、1つ又は複数の走査ミラーと、ミラーを駆動して、例えば1つ又は複数の軸についてミラーを回転、傾斜、旋回、又は角度的に移動させる1つ又は複数のアクチュエータとを含んでもよい。
図2は単一のミラー215のみを描いているが、ライダーシステム200は、出力ビーム225又は入力ビーム235を操縦又は集束するための任意の適切な数の平面又は曲線ミラー(例えば、凹面、凸面、又は放物線面ミラー)を含んでもよい。例えば、スキャナの第1のミラーは、第1の方向に沿って出力ビーム225を走査してもよく、第2のミラーは、第1の方向と実質的に直交する第2の方向に沿って出力ビーム225を走査してもよい。
【0035】
ライダーシステム200の「関心領域」は、ライダーシステム200が距離情報を走査または捕捉するように構成され得る領域、領域、または角度範囲を指す場合がある。ライダーシステム200が30度の走査範囲内で出力ビーム225を走査するとき、例えば、ライダーシステム200は、30度の角度的な視野を有すると言及されてもよい。スキャナ220は、出力ビーム225を水平方向及び垂直方向に走査するように構成されてもよく、ライダーシステム200の関心領域は、水平方向に沿った特定の角度幅及び垂直方向に沿った別の特定の角度幅を有していてもよい。例えば、ライダーシステム200は、10°~120°の水平方向の視野と、2°~45°の垂直方向の視野とを有していてもよい。
【0036】
スキャナ220の1つ以上の走査ミラーは、コントローラ250に通信可能に結合されてもよく、コントローラ250は、出力ビーム225を射程に沿って所望の方向に又は所望の走査パターンに沿って誘導するように1つまたは複数の走査ミラーを制御し得る。一般に、スキャン(又は走査線)パターンは、出力ビーム225が向けられるパターン又は経路を指す場合がある。ライダーシステム200は、走査パターンを使用して、実質的に視野をカバーする点又は「ピクセル」を有する点群を生成することができる。ピクセルは、観点のフィールドにわたってほぼ均等に分布していてもよいし、特定の非一様な分布に従って分布していてもよい。
【0037】
動作において、光源210は、スキャナ220がライダーシステム200の関心領域にわたって走査する光のパルスを出射してもよい。ターゲット230は、出射されたパルスの1つ以上を散乱させてもよく、受光器240は、ターゲット230によって散乱された光のパルスの少なくとも一部を検出してもよい。受光器240は、入力ビーム235の少なくとも一部を受信又は検出し、入力ビーム235に対応する電気信号を生成してもよい。コントローラ250は、光源210、スキャナ220、及び受光器240のうちの1つ以上に電気的に結合されてもよく、さもなければ通信可能に結合されてもよい。コントローラ250は、光源210がいつ光パルスを生成すべきか、及び場合によってはパルスの特性(例えば、持続時間、周期、ピークパワー、波長など)を示す命令、制御信号、又はトリガ信号を光源210に提供してもよい。コントローラ250は、光源210によってパルスが出射されたときと、パルスの一部(例えば、入力ビーム235)が受光器240によって検出又は受信されたときに関連するタイミング情報に基づいて、光パルスの飛行時間値を決定することもできる。
【0038】
上記に示したように、ライダーシステム200は、1つ以上の射程範囲のターゲット230までの距離を決定するために使用され得る。ライダーシステム200を視野にわたって走査することによって、システムは、視野内の多数の点への距離をマッピングするために使用され得る。これらの深度マッピングされた点の各々は、ピクセルまたはボクセルと呼ばれることがある。連続して取得されたピクセルの集まり(深度マップ、点群、または点群フレームと呼ばれる場合がある)は、画像としてレンダリングされてもよく、物体を識別または検出するため、または視野内の物体の形状または距離を決定するために解析されてもよい。例えば、深度マップは、水平方向に60°及び垂直方向に15°延びる視野をカバーしてもよく、深度マップは、水平方向に100~2000ピクセル×垂直方向に4~400ピクセルのフレームを含んでもよい。
【0039】
ライダーシステム200は、例えば、約0.1フレーム/秒(FPS)~約1000FPSの間の任意の適切なフレームレートで、関心領域の点群を繰り返し捕捉又は生成するように構成されてもよい。点群フレームレートは、実現態様に応じて、実質的に固定されてもよく、または動的に調整可能であってもよい。一般に、ライダーシステム200は、より遅いフレームレート(例えば、1Hz)を使用して1つ又は複数の高解像度点群を取得し、より速いフレームレート(例えば、10Hz)を使用して複数の低解像度点群を迅速に取得し得る。
【0040】
ライダーシステム200の視野は、ターゲット230の少なくとも一部に重なり、包含し、又は囲むことができ、これは、ライダーシステム200に対して移動又は静止している物体の全て又は一部を含むことができる。例えば、ターゲット230は、人、車両、オートバイ、トラック、列車、自転車、車椅子、歩行者、動物、道路標識、交通信号、車線表示、路面表示、駐車スペース、パイロン、ガードレール、交通障壁、ポットホール、踏切、道路内またはその近くの障害物、縁石、道路上または横の停止車両、電柱、家、建物、ゴミ箱、郵便受け、木、他の任意の適切な物体、あるいは2以上の物体のすべてまたは一部との適切な組み合わせのすべてまたは一部を含むことがある。
【0041】
図3は、
図2のライダーシステム200が生成する可能性のある例示的な走査パターン260を示す。特に、ライダーシステム200は、出力光ビーム225を走査パターン260に沿ってスキャンするように構成され得る。いくつかの実現態様では、走査パターン260は、任意の適切な水平視野(FOR
H)及び任意の適切な垂直視野(FOR
V)を有する任意の適切な視野にわたる走査に相当する。例えば、ある走査パターンは、角度寸法(例えば、FOR
H×FOR
V)40°×30°、90°×40°、又は60°×15°によって表される視野を有することができる。
図3は「ジグザグ」のパターン260を描いているが、他の実現態様は、代わりに他のパターン(例えば、平行、水平走査線)を採用してもよく、及び/又は特定の状況において他のパターンが採用されてもよい。
【0042】
図3の例示的な実現態様及び/又はシナリオにおいて、基準線262は、走査パターン260の視野の中心を表す。
図3において、走査パターン260が60°×15°の視野を有する場合、走査パターン260は、基準線262に対して±30°の水平範囲と、基準線262に対して±7,5°の垂直範囲とをカバーする。方位(方位角と呼ばれることがある)は、基準線262に対する水平方向の角度を表すことがあり、高度(高度角、または仰角と呼ばれることがある)は、基準線262に対する垂直方向の角度を表すことがある。
【0043】
走査パターン260は、複数の点又はピクセル264を含んでもよく、各ピクセル264は、1つ又は複数のレーザーパルス及び1つ又は複数の対応する距離測定に関連してもよい。走査パターン260の1サイクルは、Px×Pyのピクセル264の総数を含んでもよい(例えば、Px×Pyのピクセルの2次元分布)。水平方向に沿ったピクセル264の数は、走査パターン260の水平解像度と呼ばれることがあり、垂直方向に沿ったピクセル264の数は、走査パターン260の垂直解像度と呼ばれることがある。
【0044】
各ピクセル264は、距離/深度(例えば、対応するレーザーパルスが散乱されたターゲット230の部分までの距離)及び1つ又は複数の角度値と関連付けられてもよい。一例として、ピクセル264は、距離値、及びライダーシステム200に対するピクセル264の角度位置を表す2つの角度値(例えば、方位及び高度)と関連付けられてもよい。ターゲット230の一部への距離は、対応するパルスの飛行時間測定に少なくとも部分的に基づいて決定されてもよい。より一般的には、各点またはピクセル264は、その2つの角度値に加えて、1つまたは複数のパラメータ値に関連付けられてもよい。例えば、各点又はピクセル264は、その点又はピクセルの角度値に加えて、深さ(距離)値、受信した光パルスから測定された強度値、及び/又は1つ以上の他のパラメータ値に関連付けられてもよい。
【0045】
角度値(例えば、方位または高度)は、出力ビーム225の角度(例えば、基準線262に対して)(例えば、対応するパルスがライダーシステム200から出射されるとき)または入力ビーム235の角度(例えば、入力信号がライダーシステム200によって受信されるとき)に対応し得る。いくつかの実現態様では、ライダーシステム200は、スキャナ220のコンポーネントの位置に少なくとも部分的に基づいて角度値を決定する。例えば、ピクセル264に関連する方位値又は高度値は、スキャナ220の1つ又は複数の対応する走査ミラーの角度位置から決定されてもよい。基準線262に対応するゼロ高度、ゼロ方位角方向は、ライダーシステム200のニュートラルルック方向(又はニュートラル視線方向)と呼ばれ得る。
【0046】
いくつかの実現態様では、ライダーシステムの光源は、スキャナや受光器など、ライダーシステムの他の構成要素の一部から遠隔に位置している。さらに、車両に搭載されるライダーシステムは、スキャナや受光器に比べて光源の数が少ない場合がある。
【0047】
図4A及び
図4Bは、コントローラ304が、車両300の操縦及びその他の操作のために様々なコンポーネント302を操作できる例示的な自律車両300を示す。これらのコンポーネントは、分かりやすくするために、
図4Aにおいて拡大図で描かれている。
図1に図示された知覚コンポーネント104、予測コンポーネント120、およびセンサ制御コンポーネント130は、
図4Aの車両コントローラ304に実装され得る。
【0048】
構成要素302は、アクセル310、ブレーキ3122、車両エンジン314、ステアリング機構316、ブレーキライト、ヘッドライト、バックライト、非常灯などのライト318、ギアセレクタ320、及び/又は車両300の移動を効果的に制御する他の適切な構成要素を含むことができる。ギアセレクタ320は、パークギア、リバースギア、ニュートラルギア、ドライブギアなどを含んでもよい。構成要素302の各々は、構成要素が車両コントローラ304から「速度を上げる」、「速度を下げる」、「左に5度曲がる」、「左方向指示器を起動する」等の指令を受け取り、場合によっては、車両コントローラ304にフィードバックを提供するインターフェースを含んでもよい。
【0049】
自律車両300は、センサリンク306を介してコントローラに結合された複数のセンサヘッド308A~Eを含むライダーシステムを備えることができる。センサヘッド308の各々は、例えば、光源及び受光器を含んでもよく、センサリンク306の各々は、1つ以上の光リンク及び/又は1つ以上の電気リンクを含んでもよい。
図4Aのセンサヘッド308は、車両の周囲の環境の30度より大きい視野を提供するように位置付けられ、または配向される。より一般的には、複数のセンサヘッドを有するライダーシステムは、約30°、45°、60°、90°、120°、180°、270°、又は360°の車両周囲の水平視野を提供することができる。センサヘッド308の各々は、バンパー、フェンダー、グリル、サイドパネル、スポイラー、ルーフ、ヘッドライトアセンブリ、テールライトアセンブリ、バックミラーアセンブリ、フード、トランク、窓、または車両の他の任意の適切な部分に取り付けられてもよく、またはそれらに組み込まれてもよい。
【0050】
図4Aの例では、5つのセンサヘッド308が、センサヘッド308に対して異なる視野を提供する位置で車両上に配置され(例えば、センサヘッド308の各々は、ライトアセンブリ、サイドパネル、バンパー、又はフェンダーに組み込まれてもよい)、レーザーが車両300内(例えば、トランク内又はその付近)に配置されてもよい。)
図4Bに示されるように、5つのセンサヘッド308は、それぞれ120°の水平方向の視野(FOR)を提供してもよく、5つのセンサヘッド308は、共に車両の周りの完全な360°の視野を提供するように方向付けられてもよい。別の例として、ライダーシステム302は、車両300上または周囲に配置された6つのセンサヘッド308を含んでもよく、センサヘッド308の各々は、60°~90°の水平方向のFORを提供する。別の例として、ライダーシステムは、8つのセンサヘッド308を含んでもよく、センサヘッド308の各々は、45°~60°の水平方向のFORを提供してもよい。さらに別の例として、ライダーシステムは6つのセンサヘッド308を含み、センサヘッド308の各々は、約10°の隣接するセンサヘッド308間の重複を有する70°の水平FORを提供することができる。別の例として、ライダーシステムは、一緒になって30°以上の前方向水平FORを提供する2つのセンサヘッド308を含んでもよい。
【0051】
図4Bに図示された実施形態では、センサヘッド308はそれぞれ、センサヘッド308のFOR間の重なりを提供する120°のFORを有している。例えば、センサヘッド308A及び308Bは、センサヘッド308A及び308Bの位置及び相対的な角度構成に起因して、約60°のFORの重なりを有する。同様に、センサヘッド308Bと308C、およびセンサヘッド308Aと308BのFORの重なりは、約60°の重なりを有している。センサヘッド308のFORの不均一な空間分布及び配置のために、センサヘッド308C及び308D、並びにセンサヘッド308D及び308EについてのFORの重なりは、約30°のより小さい重なりを有する。実施形態では、センサのFORの重なりは、センサヘッド308の数、及びセンサヘッドの空間的及び角度的配置に依存する任意の所望の重なりとなるように構成されてもよい。
【0052】
センサヘッド308の各々からのデータは、車両の周囲の360度以下の水平視野をカバーする点群を生成するために結合または組み合わせられてもよい。例えば、ライダーシステムは、(例えば、対応する電気リンク306を介して)センサヘッド308の各々からデータを受信し、受信したデータを処理して、車両の周囲の360度の水平視野をカバーする点群を構築し、又は1つ以上のターゲットへの距離を決定するコントローラ又はプロセッサを含んでもよい。点群または点群からの情報は、対応する電気、光学、または無線リンク306を介して、車両コントローラ304に提供されてもよい。車両コントローラ304は、1つ以上のCPU、GPU、及び永続的なコンポーネント(例えば、フラッシュメモリ、光ディスク)及び/又は非永続的なコンポーネント(例えば、RAM)を有する非一時的メモリを含んでもよい。
【0053】
いくつかの実現態様では、点群は、ライダーシステム内に含まれるコントローラで複数のセンサヘッド308のそれぞれからデータを結合することによって生成され、車両コントローラ304に提供される。他の実現態様では、センサヘッド308の各々は、車両の周りの360度水平ビューの一部について点群を構築し、それぞれの点群を車両コントローラ304に提供するコントローラ又はプロセッサを含む。次に、車両コントローラ304は、それぞれのセンサヘッド308からの点群を結合又は縫合して、360度の水平ビューをカバーする結合点群を構築する。さらに、いくつかの実現態様における車両コントローラ304は、点群データを処理するためにリモートサーバと通信する。
【0054】
いくつかの実現態様では、車両コントローラ304は、リンク306を介してセンサヘッド308から点群データを受信し、受信した点群データを、本明細書に開示する集約型又は個別SDCAのいずれか1つ以上を使用して解析し、ターゲット及びそのそれぞれの位置、距離、速度、形状、サイズ、ターゲットのタイプ(例えば、車両、人間、木、動物)等を感知又は識別する。次に、車両コントローラ304は、解析された情報に基づいて車両の動作を制御するために、リンク306を介してコンポーネント302に制御信号を提供する。
【0055】
ライダーシステムに加えて、車両300は、慣性測定ユニット(IMU)330及びカメラ、赤外線撮像装置、従来のレーダー(煩雑さを避けるために図示されていない)等の他のセンサ332を備えてもよい。他のセンサ332はそれぞれ、車両の周囲の360度の水平視野を生成するためにつなぎ合わされ得るそれぞれのFORを有していてもよい。実施形態において、他のセンサ332からのデータは、センサヘッド308からのデータと組み合わされて、車両300の自律的な動作を可能にするためのデータセットを生成してもよい。センサ330及び332は、有線又は無線通信リンクを介して車両コントローラ304に追加のデータを提供することができる。さらに、例示的な実施形態における車両300は、音源を決定するように構成された音響音源定位システムの一部として動作するマイクロホンアレイを含む。
【0056】
図4Aに示されるように、車両コントローラ304は、知覚モジュール352及びモーションプランナー354を含むことができ、これらの各々は、ハードウェア、ファームウェア、ソフトウェア、又はハードウェア、ファームウェア、及びソフトウェアの任意の適切な組み合わせを使用して実現態様されることができる。
図1の構成要素に関連して、知覚構成要素104は知覚モジュール352に含まれてもよく、予測構成要素120及びセンサ制御構成要素130は、例えば、モーションプランナー354に統合されてもよい。動作において、知覚モジュール352は、センサ330、332、308A~Eなどからセンサデータを受信し、受信したセンサデータを知覚モデル353に適用して、道路の曲率、障害物の存在、障害物までの距離など、自律車両300が動作している環境のパラメータを生成することができる。次に、知覚モジュール352は、これらの生成されたパラメータをモーションプランナー354に供給することができ、モーションプランナーは、自律車両300を制御するための決定を生成し、アクセル310、ブレーキ312、車両エンジン314、ステアリング機構316などに対応する指令を提供する。
【0057】
モーションプランナー354は、任意の適切なタイプの1つまたは複数の規則、アルゴリズム、ヒューリスティックモデル、機械学習モデル、または他の適切な技術を利用して、上述のように知覚モデル353を利用する知覚モジュール352の出力に基づいて運転決定を行うことができる。例えば、いくつかの実現態様では、モーションプランナー354は、特定の信号または信号の組み合わせに応答して自律車両300を制御するための特定の決定を行うための対応するアルゴリズムで構成される。別の例として、いくつかの実施形態では、モーションプランナー354のための機械学習モデルは、知覚モデル353が生成するタイプの環境パラメータの記述を使用して訓練され得る。追加の実施形態において、モーションプランナー354の機械学習モデルを訓練(トレーニング)するための仮想データ。例えば、モーションプランナー354は、「学習ベース」プランナー(例えば、教師あり学習または強化学習を使用して訓練されるプランナー)、「探索ベース」プランナー(例えば、連続A*プランナー)、「サンプリングベース」プランナー(例えば、可能な決定の宇宙を表す空間においてランダム検索を実行するプランナー)、「予測制御ベース」プランナー(例えば、モデル予測制御(MPC)プランナー)など、であってもよい。いずれにしても、訓練プラットフォームは、知覚モジュール352とは別個に、独立して、運動計画モデルを訓練することができる。
【0058】
図5Aは、例示的な実世界の運転環境380を描写し、
図5Bは、環境380を走査するライダーシステム(例えば、
図2及び
図3のライダーシステム200又は
図4Aのライダーシステム)によって生成される例示的な点群390を描写している。
図5Aに見られるように、環境380は、交通の2つの方向を分割する中央壁を有する高速道路を含み、各方向に複数の車線を有する。
図5Bの点群390は、2つのライダーデバイスがそれぞれ略60度の水平視野を捕捉し、2つの視野が小さな重なり392(例えば、2度または3度の重なり)を有する例示的な実施形態に対応するものである。点群390は、例えば、
図4A、
図4Bのセンサヘッド308A及び308Bを使用して生成されてもよい。点群390は、複数のセンサヘッド(例えば、センサヘッド308A及び308B)からのデータを融合しているが、各点に、共通の原点及び基準視線方向を基準とした範囲、方位、及び仰角を割り当ててもよい。共通の原点は、複数のセンサヘッドの平均位置及び中立視線方向として指定されてもよく、又は任意の他の都合のよい点及び/若しくは視線方向として指定されてもよい。
図5Bでは視覚的な画像として描かれているが、いくつかの実施形態では、点群390は、実際にユーザインターフェースを介してレンダリングまたは表示される必要はないことが理解される。
【0059】
(仮想地平線の決定)
図5Bに見られるように、点群390は、多数の実質的に連続した走査線として地面394(ここでは、路面)を描写し、また、地面394の上方に、多数の物体396を描写している。
図1に戻って、撮像システム100は、セグメント化、分類、及び追跡技術を使用して、点群390内の物体396の一部又は全部を特定することができる。例えば、セグメント化、分類、及び追跡モジュール112は、地面394の走査線における実質的なギャップ及び/又は他の不連続性を検出し、それらの不連続性の近傍における点のグループを離散物体として識別し得る。セグメント化、分類、及び追跡モジュール112は、任意の適切な規則、アルゴリズム、又はモデルを使用して、どの点が同じ物体に属するかを決定してもよい。物体396が識別されると、
図1のセグメント化、分類、及び追跡モジュール112は、点群390と同様の将来の点群にわたって(すなわち、複数の点群フレームにわたって)物体を分類及び/又は追跡するよう試みてもよい。
【0060】
いくつかの実現態様では、識別された物体396は、環境380を走査するライダーシステム(例えば、
図4A、
図4Bのセンサヘッド308A及び308B)のための焦点の領域を決定及び制御する際に使用されてもよい。一方、
図1のVROI検出モジュール110によって生成された信号は、ライダーシステムのための焦点の領域を決定する際の処理量、ひいては遅延を減少させ得る。VROI検出モジュール110は、2つのヒューリスティックアルゴリズムを使用して、点群390(又は点群390の一部)を処理して、(i)VROIの下限、(ii)VROIの上限、仮想地平線、及び物体分割又は分類を使用せずに焦点領域を決定してもよい。アルゴリズムの各々は、受容野398と呼ばれる物理空間の領域に対応し得る点群390の少なくとも一部を使用してもよい。例示的な受容野398は、説明のために点群390にマッピングされる。受容野398の破線は、センサ(又はセンサ群)からある最小距離を越えて、中立視線方向からある方位範囲内に横たわる点に対応する点群390のセクションを画定している。
【0061】
VROIの下限は、ある範囲(例えば、受容野398)内で、相対仰角の最低角に対応するセンサデータのサブセットを識別することに少なくとも部分的に基づいてもよい。いくつかの実現態様では、相対仰角の最低角に対応するセンサデータのサブセットは、ライダーシステムの同じ走査線に関連付けられることがある。すなわち、VROI検出モジュール110は、複数のライダー走査線に対応する相対仰角を決定し、相対仰角が最も低い適切な走査線を特定してもよい。
【0062】
相対仰角の角度は、センサを起点とする光線に関して決定される必要はない。いくつかの実現態様では、相対仰角の角度を決定するための基準点及び/又は光線は、以下で議論するように、センサの下方の指定された高度であってもよい。VROIの下限は、以下でより詳細に議論されるように、車両の前方の水平面(例えば、道路)からの反射を示すことができる。
【0063】
VROIの上限は、ある範囲(例えば、受容野398)内のセンサデータの少なくともサブセットについて代表的な仰角を特定することに少なくとも部分的に基づいてもよい。代表的な仰角を特定する際に、撮像システム100は、センサデータのサブセット内の各点からの寄与を重み付けして集計することができる。したがって、いくつかの実現態様では、VROIの上限は、高度に関するデータ(または戻り値、または情報)の密度のピークを示すことができる。言い換えれば、VROIの上限は、(ある受容野内の)データの大部分又は最大の密度がセンサによって収集される高度を示すものであってもよい。すなわち、VROIの上限は、センサデータが地平線の高度付近及びそれよりわずかに上の高度に多く集中するというヒューリスティックに基づいてもよい。
【0064】
図6は、VROI検出モジュール110がVROI610を識別し得る内のシーン600を示す。そのために、VROI検出モジュール110は、
図9~
図12の文脈で簡単に上述し、より詳細に後述するアルゴリズムに基づいて、VROI610の下限615及び上限620を生成してもよい。シーン600は、例えば
図3に例示されたライダーシステム200のFORのようなセンサのFORによって差し引かれるシーンに対応してもよい。シーン600はまた、複数のセンサヘッド(例えば、
図4A、
図4Bのセンサヘッド308A及び308B)のFORの組合せを表してもよい。シーン600は、地平線高度の下位推定値615及び上位推定値620に基づいてVROIを検出するための可能な文脈を例示する目的で、点群390ではなく、観察されたドライバ環境(運転環境380に類似)を描写している。いくつかの実現態様では、センサパラメータを調整するために、地平線高度の下位推定値615及び上位推定値620の視覚的表示が生成される必要はない。他の実現態様では、地平線の下位推定値615及び上位推定値620の少なくとも1つの線又は他の視覚的表示が、センサによって生成された点群(すなわち、地平線推定値のソースデータ)の表示上又はセンサのFORと好適に整列したカメラビューのビデオ表示上にオーバーレイされてもよい。
【0065】
VROI検出モジュール110は、地平線高度の下位推定値615及び上位推定値620を組み合わせて、地平線高度角の中間推定値625、又はより簡潔に言えば、推定地平線角度を生成してよい。いくつかの実現態様では、VROI検出モジュール110は、地平線高度の下位推定値615及び上位推定値620の平均として推定地平線625を算出してもよい。他の実現態様では、地平線高度の下位推定値615及び上位推定値620の加重平均は、後述するように、下位推定値615及び上位推定値620の対応する信頼度尺度に応じて、推定地平線625をもたらす。さらに、VROI検出モジュール110は、例えば、地平線高度の下位推定値615と上位推定値620との間の差に基づき、推定地平線625に対する信頼性の尺度を計算してもよい。例えば、1°未満、2°未満、又は任意の適切な角度範囲の差は、推定地平線625の高い信頼度を示し、2°以上、3°以上、4°以上、又は任意の適切な角度範囲の差は、推定地平線625の低い信頼度を示すことがある。信頼度の尺度(不確実性のメトリックと呼ばれてもよい)が特定の閾値角度値(例えば、3°)を超える場合、走査パターンは、デフォルト走査パターンに設定されてもよい。デフォルト走査パターンは、走査線の特定の分布を含む走査パターンであってもよい(例えば、
図7A、7B、8A、または8B)。1つ以上のデフォルト走査パターンは、ライダーシステム(例えば、ライダーシステム200)内に格納されてもよく、ライダーシステムは、推定地平線625の信頼度が低い場合、デフォルト走査パターンの1つに切り替えてもよい。
【0066】
VROI検出モジュール110は、推定された地平線625から下部角度マージン
【数1】
を減算することによって、推定された地平線625に基づくVROI610の拡張下部境界630を決定してよい。同様に、VROI検出モジュール110は、推定された地平線625に上部角度マージン
【数2】
を加えることによって、推定された地平線625に基づくVROI610の拡張上部境界640を決定してもよい。いくつかの実現態様では、下部および上部角度マージンは、等しくてもよい。さらに、下部および上部角度マージンは、推定された地平線625に対する信頼度の尺度を考慮して計算されてもよい。いくつかの実現態様では、マージン
【数3】
は、地平線高度の下位推定値615と上位推定値620との間の角度差に設定されてもよい。一般に、VROI検出モジュール110は、VROI610の範囲(例えば、拡張上部境界640と拡張下部境界630との差)を、推定地平線625の信頼度が低い場合に大きな値に設定し、推定地平線625の信頼度が高い場合に小さな値に設定してもよい。
【0067】
VROI610の拡張下限境界630および拡張上限境界640は、知覚コンポーネント104によって
図1のセンサ制御コンポーネント130に送信された知覚信号106に含まれてもよい。次いで、センサ制御コンポーネント130のパラメータ調整モジュール136は、センサ102のパラメータを調整してもよい。例えば、センサ制御コンポーネント130は、ライダー(例えば、ライダーシステム200)のFORを調整してもよい。加えて、または代わりに、パラメータ調整モジュール136は、ライダーの走査パターン(例えば、走査パターン260)を調整してもよい。
【0068】
図7Aは、VROI検出モジュール110によって生成され、知覚信号106に含まれるVROIパラメータに応答して、パラメータ調整モジュール136によって調整される走査パターン710を示す図である。走査線720は、推定された地平線625の仰角における走査線を表し、推定された地平線625からの仰角偏差に伴ってライン密度が徐々に減少することがある。走査線の角度分布におけるピークの幅は、推定地平線625の信頼度に基づいてもよく、信頼度が低下すると走査線の分布は広がる。
【0069】
図7Bは、VROI検出モジュール110によって生成されたVROIパラメータに応答して、パラメータ調整モジュール136によって調整された別の走査パターン750を示す。走査パターン750は、地平線領域760、道路領域762、及び空領域764として指定されることができる3つの領域を含む。高度に関して最大の走査線密度を有する地平線領域760は、VROI検出モジュール110によって決定されたVROI610に対応してもよい。道路領域762は、地平線領域760よりも低い走査線密度を有するが、空領域764よりも高い走査線密度を有してもよい。
【0070】
パラメータ調整モジュール136は、VROI検出モジュール110によって生成されたパラメータに基づいて、走査線の他の密度分布を構成してよい。分布は、均一な走査線密度の1つ以上の領域及び/又は可変の走査線密度の領域を含んでもよい。
【0071】
図8A及び
図8Bは、センサ(例えば、ライダーシステム200)の中立視線方向(例えば、基準線262)に対する仰角の関数として可能な走査線密度分布810のグラフ表現である。センサ制御コンポーネント130は、VROI検出モジュール110によって決定された仰角に基づいて分布810を設定してもよい。下部地平線推定線815及び上部地平線推定線820は、地平線の高度の下位推定値615及び上位推定値620にそれぞれ対応してもよい。地平線825は、決定された地平線高度625に対応してもよい。拡張下部VROI境界線830及び拡張上部VROI境界線840は、VROI610の拡張下部630及び拡張上部境界線640に対応してもよい。
図8Aに示されるように、分布810は、例えば、最低角度と拡張下部VROI境界線830との間の低高度「道路」領域、下部地平線推定線815と上部地平線推定線820との間の中央均一密度領域、拡張下部VROI境界線840と走査パターンの最高角度との間の高高度均一密度領域、を含んでもよい。均一密度領域は、走査線密度領域を(例えば、直線的に)変化させることによって連結されてもよい。正規化された走査線密度の単位値は、仰角1度あたりの走査線の2、5、10、20、50又は他の任意の適切な数に対応してもよい。いくつかの実現態様では、中心均一密度領域は、VROI検出モジュール110によって決定されたVROI(例えば、VROI610)と一致するように設定されてもよい。高仰角均一密度領域は、
図7Bの空領域764と同様に、ピーク走査線密度よりも2、5、100又は任意の他の適切な因子だけ低い、比較的低い走査線密度を有していてもよい。遷移の角度範囲(線820と840の間、及び線830と815の間)は、仮想地平線の推定値に対する信頼度の尺度、及びそれに対応して、VROIの下限と上限(例えば、境界615と620)の間の角度差に依存してもよい。
図8Bに示されるように、最低角とライン815との間の低高度可変密度領域は、車両から遠く離れるほど走査線の角度密度が増加する、センサの前方の道路領域(例えば、道路領域762)をカバーするように構成されてもよい。
図8A及び
図8Bの走査線の角度分布は、セグメント化、分類、及び追跡モジュール112による走行環境の解析の精度を向上させ、予測コンポーネント120による走行環境のより正確な予測を可能にすることができる。
【0072】
運転環境に関して所望の走査線分布を維持するために、撮像システムは、図に示されるフローチャートに従って方法900を実施することができる。明確にするために、方法900は、
図10~
図12の例と同様に、主に
図1の撮像システム100を参照して以下に説明される。
【0073】
ブロック910において、撮像システム100は、車両が環境(例えば、走行環境380)を移動する際に車両(例えば、車両300)の撮像センサ(例えば、
図2のライダーシステム200、又は
図4A、
図4Bのセンサヘッド308A及び308B等のセンサヘッドの組み合わせ)によって生成されたセンサデータを受信し得る。いくつかの実現態様では、VROI検出モジュール110は、VROIによる後続の処理に先立ち、受容野(例えば、受容野398)の外に該当する受信センサデータを破棄する。
【0074】
VROIの下限および上限を決定するために、VROI検出モジュールは、以下に説明するように、受信したセンサデータから、VROIの下限を決定するための第1のサブセットおよび上限を決定するための第2のサブセットを選択してもよい。
【0075】
ブロック920において、VROI検出モジュール110は、受信したセンサデータの好適なサブセットを検出することに少なくとも部分的に基づいて、VROIの下界を決定する。いくつかの実現態様では、好適なサブセットは、最小相対高度メトリックを有することができる。そのために、VROI検出モジュール110は、まず、撮像センサのニュートラルルック方向に対するある対応する高度にそれぞれ関連付けられた、データの複数のサブセット(例えば、対応するライダー走査線によってグループ化された)を特定してもよい。データの識別されたサブセットのそれぞれについて、VROI検出モジュール110は、受容野の点を選択し、受容野の点の位置に基づいてサブセット内の各点に重みを割り当ててもよい。その後、VROI検出モジュール110は、各サブセット内の点の加重寄与を使用して、サブセットについて対応する相対高度メトリックを計算し、最小相対高度メトリックを有するサブセットを選択してもよい。
【0076】
ライダー走査線に対応するデータのサブセット内の点に重みを割り当てる例について、
図10Aの文脈で説明する。
図10Aは、VROI検出モジュールによって使用されるようにライダーシステム1010(例えば、
図2のライダーシステム200、又は
図4A、
図4Bのセンサヘッド308A及び308Bなどのセンサヘッドの組み合わせ)によって収集されたデータのサブセットを選択するための例示的な受容野1005の上面図である。受容野1005は、最小範囲線1006及び方位角境界1007a、bによって境界付けられてもよい。受容野1005、Ω、は、次のように表されてもよい。
【数4】
フレーム内の点の全集合Pにおけるインデックスiを有するすべての点、p
iは、中立視線方向線1020に対する方位角、
【数5】
がある最大絶対値の方位偏差、
【数6】
より大きくなく、範囲、r
iが最小範囲、r
minより小さくない集合として定義される。14個のデータ点の例示的なセット1011は、ライダーシステム1010の単一の走査線からの点を表し、例示的な点1012a,bは受容野1005の外側に存在し、例示的な点1012c、dは受容野1005の内側に存在する。
【0077】
VROI検出モジュール110は、例えば、ライダーシステム1010から遠く、中立視線方向線1020に対して方位角が近い点により多くの影響を与えるように、受容野1005内の各データ点に重みを割り当ててもよい。例えば、インデックスjを有する点に対する重みは、以下の通りであってもよい。
【数7】
ここで、r
jはライダーシステム1010からの距離、
【数8】
は中立視線方向線1020からの最大方位差の絶対値(例えば、方位差境界線107a、bによって定義される)、
【数9】
は当該地点の方位差の絶対値である。この例では、方位境界1007a、bのいずれかに近い点の重みがゼロに近づく。
【0078】
図10Bは、上記の
図10Aの文脈で議論されたライダーデータの側面図である。
図10Bは、VROI検出モジュール110が、重み付けされた点を使用して、受容野1005内に横たわる走査線点のサブセットに対する相対的な高度のメトリックを計算し得る方法を例示するのに役立つ。上述したように、点1012a~dは、高度方向1022によって表される同じ走査線に属していてもよい。したがって、点1012a~dは、ライダーシステム1010の観点から中立視線方向1020に対して同じ仰角αを有する。各点について、相対仰角、α’は、例えば、ライダーシステム1010の開口の下にオフセット高さhに存在する基準点1030の観点からの中立視線方向1020に平行な方向1040に対する仰角として定義されてもよい。インデックスjを有する各点について、相対仰角は、以下のように計算されてもよい。
【数10】
ここで、α
0は適切な一定のオフセット角(例えば、正の相対仰角を確保するために使用されてもよい)、h
jは中立視線方向1020に対する点の高さ、d
jは中立視線方向1020に沿ったライダーシステム1010から点の距離である。点の高さは、実現態様に応じて
h
j=d
jtan(α
j) または
h
j=r
jtan(α
j)
として推定されてもよい。
ここで、α
jは、中立視線方向1020に対する点の仰角(これは、走査線内のすべての点に対して同じα
j=αであってよい)であり、r
jは、ライダーシステム1010からの距離である。オフセット高さhは、地面に対するライダー開口の高さの適切な因子(例えば、1、2、3)になるように選択されてもよい。因子が2であるとき、基準点1030は、地面に対するライダー開口の鏡面の点を表してもよい。
【0079】
VROI検出モジュール110は、上述したように、受容野1005内に入る走査線のすべての点に対する相対仰角の加重平均(例えば、調和、算術、幾何)としてライダーラインに対する相対仰角を計算することができる。例えば、相対仰角α’
j及び重みw
jを有する点からなるインデックスkの走査線について、相対仰角は、以下のように計算されてもよい。
【数11】
【0080】
VROI検出モジュール110は、その後、最小相対高度min(α’k)を有する走査線を選択し、走査線の高度をVROIの下限として使用することができる。いくつかの実現態様では、高度αjは、走査線内のすべての点に対して同じでなくてもよく、VROI検出モジュールは、高度αjの加重平均(例えば、重みwjを有する算術平均)を走査線の高度として用いてもよい。いくつかの実現態様では、高度αjが走査線内のすべての点に対して同じでない場合、VROI検出モジュール110は、高度αjを走査線の高度として平均化してもよい。いくつかの実現態様では、受容野1005内に最小数のデータ点(例えば、2、5、10、20、又は任意の適切な数)を有さない走査線は、VROIの下限を決定するための考慮から除外されてもよい。
【0081】
図9の方法900に戻ると、ブロック930で、VROI検出モジュール110は、センサデータの第2のサブセットを使用してVROIの上界を決定してもよい。VROI検出モジュールは、複数のライダー走査線からセンサデータの第2のサブセットを組み立ててもよい。いくつかの実現態様では、VROI検出モジュール110は、受容野(例えば、受容野1005)内に入る点群フレーム内のすべての点の集合に基づいて、VROIの上限を決定してもよい。したがって、第2のサブセットは、第1のサブセットよりも大きくてもよく、第1のサブセットを完全に含んでもよい。VROI検出モジュールは、以下に説明する技術に従って、第2のサブセットの集合的な仰角として、VROIの上限を計算してもよい。VROIの下限を決定するのと同様に、VROI検出モジュールは、ライダーの中立視線方向において方位角方向に近く、ライダーから遠い点を強調して、点に重みを割り当ててもよい。いくつかの実現態様では、VROIの上限を決定するための受容野は、VROIの下限を決定するための受容野と異なってもよい。同様に、いくつかの実現態様では、VROIの上限を決定するための受容場内の点の重みは、上限推定値を決定するための受容野内の点の重みとは異なる方位角及び範囲に対する依存性を有していてもよい。
【0082】
VROIの上限を決定することは、
図11A~
図11Cの文脈で考えることができる。
図11Aは、ライダー点群を表す可能性のあるセンサデータ1100のセットを示す。
図11Bは、VROIの上界を決定するための第2のサブセット1104を示す。VROI検出モジュールは、上限仰角βを、
【数12】
として計算されるものであってもよい。ここで、和は、受容野の点を表す(すなわち、p
i∈Ωのように)すべてのiにわたってとられる。w
iは対応する重み、α
iは対応する仰角、α
0はα
i+α
0が常に正となるような適切なオフセット角である。調和平均を計算した後、オフセット角度α
0を減算して、角度を中立視線方向に関して元の参照フレームにシフトバックさせる。いくつかの実現態様では、VROI検出モジュール110は、第2のサブセット内の点の仰角の平均として計算された集計仰角として、VROIの上限を計算してもよい。遠方の物体(例えば、点群1106a、b)からの戻り光は、VROIの上限の決定にかなり影響する可能性がある。撮像システム100は、第2のサブセット1104の加重調和平均の上界インジケータ1110として上界を表示してもよい。
【0083】
VROI検出モジュール110がVROIの下限及びVROIの上限を決定すると、画像処理システム100は、
図11Cに示されるように、ディスプレイ上に点群データと重ねて計算されたVROI境界の一方又は両方を表示し得る。ディスプレイは、リアルタイムで変化する上限及び下限を表示してもよく、又はセンサ制御アーキテクチャは、別の時間に表示するために、決定された境界及び点群データを記憶してもよい。VROIの上限及び下限を対応して表す上部地平線インジケータ1110及び/又は下部地平線インジケータ1115は、VROIを決定する方法900のための視覚的出力を提供してもよい。しかしながら、一般に、撮像システム100は、方法900の実行中に生成された他の値をユーザインターフェースを介して表示する必要はなく、
図11Cは、撮像システム100が、例えば機械学習モデルの訓練を行うオペレータまたは自動運転車両の乗客に仮想地平線、下限、および上限の推定値の視覚化を提供する単なる一例の実現態様を示すものである。
【0084】
ブロック940において、撮像システム100は、VROIの決定された下限及びVROIの決定された上限に従って撮像センサを調整してもよい。例えば、撮像システム100は、撮像センサの垂直視野(例えば、ライダーシステム200のFORv)を1つ又は複数の方法で調整してもよい。撮像システム110は、撮像センサの中立視線方向を、決定されたVROI内に収まるように調整してもよい。例えば、車両の基準フレームにおいて-15°から15°までの垂直視線方向を差し引く撮像センサを有する撮像システム100は、-5°と-3°の間の視線方向によって囲まれるVROIを決定してもよい。そして、撮像システム100は、VROIを中心に、車両に対して-19°から11°を差し引くように撮像センサを調整してもよい。あるいは、撮像システム100がライダーシステムを含む場合(例えば、撮像センサはライダーシステム200である)、撮像システム100は、(例えば、
図7A~
図7B及び
図8A~
図8BBに示されるように)走査線の垂直密度を調整して、-5°と-3°との間のVROI領域において高い密度を有していてもよい。それでも、いくつかの実現態様では、1つ又は複数のVROI判定に応答して、撮像システム100は、FORvのサイズを減少又は増加させることによってライダーシステムの走査パターンを調整してもよい。例えば、撮像システム100は、FORvの中心近くに一貫して高い信頼度で留まるVROIに応答して、FORvのサイズ(例えば、30から25または20度まで)を減らしてもよい。逆に、画像処理システム100は、例えば、坂の多い道路、及び/又は車両の前方の頻繁に変化する光景のために、VROI決定がかなり変化する場合、FORvのサイズを(例えば、35度又は40度に)増加させてもよい。
【0085】
さらに明確にするために、
図12A~
図12Cは、異なる道路構成を有する運転環境1200a~cにおけるVROIの上限および下限を決定するためのアルゴリズムの適用を示す。対応するセンサ1204a~cを有する車両1202a~cは、対応する道路1206a~cに沿って移動してもよい。センサ1204a~cは、対応する道路1206a~cの実質的に水平な表面を示すデータを収集するライダーセンサであってもよく、また、道路表面の実質的に上にある対応する物体1208a~cからデータを収集してもよい。センサ1204a~cの中立視線方向1210a~cは、VROI下限値に対応するルック方向1215a~cとVROI上限値に対応する視線方向1220a~cとの間に位置するVROIを実質的に見逃す可能性がある。
【0086】
図12A~
図12Bの非凹型道路構成の場合、VROI下限の視線方向1215a、bは、対応するセンサ1204a、bの範囲内で対応する道路1206a、b上の実質的に最も遠い点に対応する場合がある。上述したように、対応するVROI下限は、基準点1225a、bに対して実質的に最小化された相対仰角α’を有するライダー走査線に対応してもよい。VROI上限の視線方向1220a、bは、路面上の物体1208a、bによって実質的に影響を受けることがある。
【0087】
一方、
図12Cの凹型の道路構成は、基準点1225cに対して実質的に最小化された相対仰角α’に対応するセンサ点のサブセットよりも遠い道路1206c上の多くの可視点を残す可能性がある。道路1206cの上昇区間は、VROI及び対応する視線方向1220cの上限を上昇させ、VROIを増加させる上で、物体1208cの影響に相当に寄与する可能性がある。
【0088】
(一般的な注意事項)
いくつかの場合において、コンピューティングデバイスは、本明細書に開示される様々なモジュール、回路、システム、方法、またはアルゴリズムステップを実装するために使用されてもよい。一例として、本明細書に開示されるモジュール、回路、システム、方法、又はアルゴリズムの全て又は一部は、汎用のシングル又はマルチチッププロセッサ、デジタル信号プロセッサ(DSP)、ASIC、FPGA、任意の他の適切なプログラマブルロジックデバイス、離散ゲート又はトランジスタロジック、離散ハードウェア部品、又はそれらの任意の適切な組み合わせによって実現態様又は実行されてもよい。汎用プロセッサは、マイクロプロセッサ、または従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械のいずれであってもよい。プロセッサは、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPPコアと組み合わせた1つ以上のマイクロプロセッサ、または他の任意のそのような構成など、コンピューティングデバイスの組み合わせとして実装することも可能である。
【0089】
特定の実施形態では、本明細書に記載された主題の1つ以上の実現態様は、1つ以上のコンピュータプログラム(例えば、コンピュータ可読な非一時的記憶媒体に符号化または格納されたコンピュータプログラム命令の1つ以上のモジュール)として実装されてもよい。一例として、本明細書に開示される方法又はアルゴリズムのステップは、コンピュータ可読な非一時的記憶媒体に常駐し得るプロセッサ実行可能なソフトウェアモジュールに実装されてもよい。特定の実施形態では、コンピュータ可読非一時的記憶媒体は、コンピュータソフトウェアを格納または転送するために使用され、コンピュータシステムによってアクセスされ得る任意の適切な記憶媒体を含んでもよい。ここで、コンピュータ読み取り可能な非一時的記憶媒体またはメディアは、1つまたは複数の半導体ベースのまたは他の集積回路(IC)(例えば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向けIC(ASIC)等)、ハードディスクドライブ(HDD)、ハイブリッドハードディスク(HHD)、光ディスク(例えば,コンパクトディスク(CD)、CD-ROM、デジタル多用途ディスク(DVD)、ブルーレイディスク、またはレーザーディスク(登録商標))、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピーディスク(登録商標)、フロッピーディスクドライブ(FDD)、磁気テープ、フラッシュメモリ、半導体ドライブ(SSD)、RAM、RAMドライブ、ROM、セキュアデジタルカードまたはドライブ、他の任意の適切なコンピュータ可読な非一時的ストレージメディア、またはこれらの2以上の任意の適切な組み合わせ、必要に応じて、これらのうち、任意の組み合わせであってもよい。コンピュータ読み取り可能な非一時的記憶媒体は、必要に応じて、揮発性、不揮発性、または揮発性と不揮発性の組合せであってもよい。
【0090】
場合によっては、別々の実現態様の文脈で本明細書に記載された特定の特徴も、単一の実現態様において組み合わされて実装されるものであってもよい。逆に、単一の実現態様の文脈で説明される様々な特徴は、複数の実現態様において別々に、または任意の適切なサブコンビネーションで実装されることもある。さらに、特徴は、特定の組み合わせで作用するものとして上述され、当初はそのように主張されることさえあるが、主張された組み合わせの1つ以上の特徴、場合によっては、組み合わせから切除され、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションの変形に向けられる可能性がある。
【0091】
操作が特定の順序で起こるように図面に描かれることがあるが、これは、そのような操作が示された特定の順序で、または連続した順序で行われること、またはすべての操作が行われることを要求していると理解されるべきではない。さらに、図面は、フローチャートまたはシーケンス図の形態で、1つのより例示的なプロセスまたは方法を模式的に示すことができる。しかし、示されていない他の操作が、模式的に示されている例示的なプロセスまたは方法に組み込まれてもよい。例えば、1つ以上の追加の操作は、図示された操作のいずれかの前、後、同時に、又はその間に実行されてもよい。さらに、図に描かれた1つ以上の操作は、適切な場合には、繰り返されてもよい。さらに、図に描かれた操作は、任意の適切な順序で実行されてもよい。さらに、特定の構成要素、装置、またはシステムは、特定の動作を実行するものとして本明細書に記載されているが、任意の適切な構成要素、装置、またはシステムの任意の適切な組み合わせは、任意の適切な動作または動作の組み合わせを実行するために使用されてもよい。特定の状況において、マルチタスク又は並列処理動作が実行されてもよい。さらに、本明細書で説明する実現態様における様々なシステム構成要素の分離は、すべての実現態様においてそのような分離を必要とすると理解されるべきではなく、説明するプログラム構成要素とシステムは、単一のソフトウェア製品に一緒に統合されてもよく、複数のソフトウェア製品にパッケージ化されてもよいと理解されるべきである。
【0092】
添付の図面に関連して、様々な実施態様を説明してきた。しかしながら、図が必ずしも縮尺通りに描かれていない場合があることを理解されたい。一例として、図に描かれた距離又は角度は例示であり、図示されたデバイスの実際の寸法又はレイアウトと必ずしも正確な関係を有さない場合がある。
【0093】
本開示の範囲は、当技術分野における通常の技術を有する者が理解するであろう、本明細書に記載又は図示された例示的な実施形態に対するすべての変更、置換、変形、改変、及び修正を包含する。本開示の範囲は、本明細書で説明又は図示された例示的な実施形態に限定されない。さらに、本開示では、特定の構成要素、要素、機能、操作、又はステップを含むものとして本明細書のそれぞれの実施形態を説明又は図示しているが、これらの実施形態のいずれもが、当業者が理解するであろう、本明細書のどこかで説明又は図示している構成要素、要素、機能、操作又はステップのいずれかの組み合わせ又は順列を含んでもよい。
【0094】
本明細書で使用される用語「または」は、明示的に他の方法で示されるか、または文脈によって他の方法で示されない限り、包含的なもの、または任意の1つもしくは任意の組み合わせを意味するものとして解釈される。したがって、本明細書において、「AまたはB」という表現は、「A、B、または、AとBの両方」を意味する。別の例として、本明細書では、「A、B、またはC」は、A、B、C、A及びB、A及びC、B及びC、A及びB及びC、のうちの少なくとも1つを意味する。この定義の例外は、要素、装置、ステップ、または操作の組み合わせが、何らかの方法で本質的に相互に排他的である場合に発生する。
【0095】
本明細書で使用される場合、限定されないが、「約」、「実質的に」、又は「略」などの近似の言葉は、そのように変更された場合、必ずしも絶対又は完全ではないと理解されるが、その状態が存在すると指定することを保証するために当業者にとって十分な程度に近いと考えられる状態を参照する。説明をどの程度変えることができるかは、どの程度大きな変更を行うことができ、なおかつ当業者に、変更された特徴が変更されていない特徴の要求特性または能力を有すると認識させることができるかに依存することになる。一般的に、ただし前述の議論に従うと、「約」などの近似の言葉によって修正される本明細書の数値は、記載された値から±0.5%、±1%、±2%、±3%、±4%、±5%、±10%、±12%、または±15%変動し得る。
【0096】
本明細書で使用されるように、用語「第1」、「第2」、「第3」などは、それらが先行する名詞のラベルとして使用されてもよく、これらの用語は、必ずしも特定の順序(例えば、特定の空間的、時間的、または論理的な順序)を意味しない場合がある。一例として、システムは、「第1の結果」及び「第2の結果」を決定すると説明されてもよく、「第1の」及び「第2の」という用語は、第1の結果が第2の結果の前に決定されることを必ずしも意味しない場合がある。
【0097】
本明細書で使用されるように、用語「に基づく」および「に少なくとも部分的に基づく」は、決定に影響を与える1つまたは複数の要因を説明または提示するために使用される。これらの用語は、決定に影響を与える可能性のある追加の要因を除外しないことがある。判定は、提示されたこれらの要因のみに基づいてもよいし、これらの要因に少なくとも部分的に基づいてもよい。「Bに基づいてAを判定する」という表現は、BがAの判定に影響を与える要因であることを示している。