<概要>
一実施形態では、環境の1つ以上の透視カメラ画像を取得することと、1つ以上の透視カメラ画像の画素のセットの各画素について、第1のニューラルネットワーク(NN)を使用して、特徴ベクトル(FV)、および対応する画素によって撮像された環境の一部分の深度分布を生成することと、を含む方法が開示される。第1のNNは、複数の訓練画像および複数の訓練画像に対する深度グラウンドトゥルースデータを使用して訓練される。方法は、画素のセットの各画素について、(i)それぞれの画素に対するFV、および(ii)それぞれの画素に対する深度分布を考慮して、特徴テンソル(FT)を取得することをさらに含む。方法は、第2のNNを使用して、取得されたFTを処理して、環境内の1つ以上の物体を識別することをさらに含む。
別の実施形態では、学生モデルを訓練する方法が開示され、方法は、訓練画像を得ることと、学生モデルの第1のNNを使用して、訓練画像を処理して、複数のFV、および複数の深度分布を生成することと、を含む。複数のFVの各FVおよび複数の深度分布の各深度分布は、訓練画像の複数のピクセルのそれぞれのピクセルと関連付けられる。方法は、教示モデルの第1のNNによって生成される複数のグラウンドトゥルースFVを取得することをさらに含み、複数のグラウンドトゥルースFVの各グラウンドトゥルースFVは、訓練画像の複数のピクセルのそれぞれのピクセルと関連付けられる。方法は、複数のグラウンドトゥルース深度インジケータを取得することをさらに含み、複数のグラウンドトゥルース深度インジケータの各グラウンドトゥルース深度インジケータは、訓練画像の複数のピクセルの少なくともサブセットのそれぞれのピクセルと関連付けられる。方法は、学生モデルの第1のNNのパラメータを調整することをさらに含む。調整は、複数のFVと複数のグラウンドトゥルースFVとの比較に基づいており、複数の深度分布と複数のグラウンドトゥルース深度インジケータとの比較にさらに基づいている。
別の実施形態では、メモリおよび処理装置を含むシステムが開示される。処理装置は、環境の1つ以上の透視カメラ画像を取得し、第1のNNを使用して、1つ以上の透視カメラ画像の画素のセットの各画素に対して、FV、および対応する画素によって撮像された環境の一部分の深度分布を生成するように構成される。第1のNNは、複数の訓練画像および複数の訓練画像に対する深度グラウンドトゥルースデータを使用して訓練される。処理装置は、画素のセットの各画素について、(i)それぞれの画素に対するFVおよび(ii)それぞれの画素に対する深度分布を考慮してFTを取得するようにさらに構成される。処理装置は、第2のNNを使用して、取得されたFTを処理して、環境内の1つ以上の物体を識別するようにさらに構成される。
<詳細な説明>
様々な実施形態を以下に説明することができるが、例証として自律運転システムおよび運転者支援システムを例として使用して、本明細書に記載される技術およびシステムは、広範囲の用途における物体の追跡に使用され得ることが理解されるべきであり、空気学、海洋用途、トラフィック制御、動物コントロール、産業研究と学術研究、公共または個人安全を含み、または物体の自動検出が有利である任意の他の用途におけるものである。
一実施例では、自動運転動作の安全のために、道路障害物、建設機器、道路側構造など、道路上または道路近傍で遭遇する様々な道路ユーザおよび他の物体の迅速かつ正確な検出、分類、および追跡の技術を開発し、展開することが望ましい場合がある。自律車両(ならびに様々な運転者支援システム)は、いくつかのセンサを利用して、運転環境中の物体の検出を容易にし、そのような物体の動きを決定することができる。センサには通常、電波探知・測距センサ(レーダー)、光探知・測距センサ(ライダー)、複数種類のデジタルカメラ、ソナー、位置センサなどが含まれる。異なるタイプのセンサは、種々の、かつしばしば相補的な利益を提供する。例えば、レーダーおよびライダーは、対象物から反射する電磁信号(無線信号や光信号)を放射し、対象物までの距離(例えば、信号の飛行時間から)や対象物の速度(例えば、信号の周波数のドップラーシフトから)を決定できる情報を伝達する。レーダーおよびライダーは、例えば、感知ビームのスキャン送信機を使用することによって、360度ビュー全体を覆うことができる。感知ビームは、戻り点の高密度グリッド内の運転環境をカバーする、多数の反射を起こすおそれがある。各戻り点は、対応する反射オブジェクトまでの距離および反射オブジェクトの半径方向速度(視線に沿った速度の成分)と関連付けられうる。
オブジェクト識別および追跡の既存のシステムおよび方法は、環境の画像を取得するために、様々な感知モダリティ、例えば、ライダー、レーダー、カメラなどを使用する。次いで、画像は、訓練された機械学習モデルによって処理され、画像内の様々な物体の位置(例えば、バウンディングボックスの形態)、物体の動きの状態(例えば、ライダーまたはレーダードップラー効果ベースのセンサによって検出される速度)、物体のタイプ(例えば、車両または歩行者)などを識別することができる。物体の動き(または単一の物体を複数の物体に分割するなどの任意の他の進化)は、特定の物体に関連付けられたトラックを作成および維持することによって実施され得る。
複数の感知モダリティ(例えば、ライダー、レーダー、カメラなど)を使用して、多くの場合、補完的なデータを取得することにより、物体の検出、識別、および追跡の精度が改善されるが、感知ハードウェアおよび処理ソフトウェアにかなりのコストがかかる。例えば、ライダーセンサは、外部環境内の様々な反射面までの距離に関する貴重な情報を提供することができる。しかしながら、ライダーセンサは、光信号を用いて外部環境を能動的にプローブすることによって動作し、かなりの保守および定期的な較正を必要とする、高価な光学および電子装置である。ライダーリターン(点群)は、処理され、別個の仮説化された物体に関連付けられたグループにセグメント化され、追加の処理およびメモリリソースを必要とする他の感知モダリティ(例えば、カメラ)を使用して検出された物体と合致されなければならない。一方で、カメラは、環境の物体によって放射(または反射)される光(および/または赤外線電磁波)を受動的に収集することによって動作し、設計、設置、および動作において著しくより単純かつ安価である。結果として、(費用およびメンテナンス上の理由から)ライダーを配置しない様々な運転者支援システムは、典型的には、1つ以上のカメラを装備する。カメラはまた、様々な固定場所により簡単に設置することができ、トラフィック監視および制御、公衆および民間の安全アプリケーションなどに使用され得る。光学または赤外線撮像技術に基づくカメラは、レーダーよりも特定の利点を有し、これは、物体までの距離(および物体の速度)の検出を可能にする一方で、カメラと比較して本質的に低い解像度を有する波長の範囲で動作する。従って、カメラのみの画像に基づいて物体を検出および識別する能力は有益である。
しかしながら、カメラは、三次元(3D)外部環境を、平面または曲面でもありうる二次元撮像表面(例えば、カメラの光検出器のアレイ)上に投影する。これにより、2つの関連する課題が生じる。一方では、物体までの距離(多くの場合、画像中の物体の深度と称される)は、直ちには知られていない(しかし多くの場合、撮像された物体のコンテキストから決定され得る)。他方では、カメラ画像には遠近法の歪みがあるため、物体の画像を区切るピクセル数が同じでも、物体の深さによって物体間の距離が異なる。さらに、描写が互いに近接している物体は、それにもかかわらず、かなりの距離(例えば、車および車の背後に見える歩行者)だけ分離され得る。既存の物体検出の機械学習技術は、遠近法から鳥瞰図(BEV)としても知られ、物体は便利な多様体、例えば上から見た平面上に表現され、単純なデカルト座標セットによって特徴づけられるトップダウンビューに物体をマッピングしようとすることがある。オブジェクト識別および追跡は、その後、BEV表現内で直接実施され得る。こうした技術の成功は、BEVへのオブジェクトの正確なマッピングに依存する。これは次に、BEV内の物体の誤配置が、道路ユーザまでの距離を確認する際の誤差をもたらすだけでなく、重要なコンテキスト情報の損失につながる可能性があるため、様々な物体までの距離の正確な推定を必要とする。
本開示の態様および実施形態は、機械学習物体の検出、分類、および追跡モデルの深度情報訓練を使用する方法およびシステムを可能にすることによって、既存の技術のこれらおよび他の課題に対処する。特に、開示された技術は、透視カメラ画像を処理するように訓練されたニューラルネットワーク(NN)のシステムを含む。第1のNNは、コンテキストを様々なピクセル(例えば、特徴ベクトルの形態)と関連付けるように、さらにピクセルがいくつかの離散化された深度値を有する確率を推定するように構成され得る。以下でより詳細に説明するように、第1のニューラルネットワークは、画像の少なくともいくつかのピクセルに対する深度データを含む、グラウンドトゥルースで注釈付けされた訓練カメラ画像を使用して訓練され得る。深度データは、物体、例えば、ライダー、レーダー、ソナー、または任意の他の距離認識センサへの距離を検出することができる適切なセンサによって取得することができる。推論中、訓練された第1のNNは、新しいセットの透視カメラ画像を処理することができ、例えば、所与のピクセルがカメラから距離dに位置する物体(または物体の一部)を示す確率P(d)として、様々なピクセルに深度を推定することができる。距離分布は、ピクセルの特徴ベクトルFV(c)(cは、コンテキスト空間インデックスである)と組み合わせて、可能性の高い位置(物体に対する深度または距離d)および物体のコンテキストの両方を特徴付ける特徴テンソルFT(c,d)を取得することができる。画像内の座標w、hを有する様々なピクセルに対する特徴テンソルを使用して、全体画像に対する組み合わされた特徴テンソル{FT(c,d)w,h}→CFT(c,d,w,h)を取得することができる。次に、遠近座標w,h,d(幅、高さ、奥行き)からデカルト座標x,y,zのセットへのマッピング変換d,w,h→x,y,zを実行することができる。その後、新しい座標内の組み合わせられた特徴テンソル、CFT(c,x,y,z)は、例えば、ピクセルの垂直柱に沿って組み合わせられた特徴テンソルの要素を平均化または加算することによって、水平面上に投影されて、BEV投影コンテキストテンソル、PCT(c,x,y)=Σi CFT(c,x,y,zi)を取得することができる。次に、投影されたコンテキストテンソルPCT(c,x,y)は、物体を識別し、セマンティック情報(例えば、物体のタイプ)を抽出し、物体の正確な局在化などを行う第2の訓練されたNNによって処理され得る。
これらの技術の多数の変形例が本明細書に記述される。いくつかの実施形態では、第1のNNは、深度分布P(d)を出力するように訓練された第1のサブネットワークと、特徴ベクトルFV(c)を出力するように訓練された別個の第2のNNと、を含むことができる。いくつかの実施形態では、第1のNNおよび第2のNNは、同時に訓練され得る。こうした実施形態では、第1のNNおよび第2のNNは、一緒に訓練されるエンドツーエンドモデルアーキテクチャのサブネットワークである。いくつかの実施形態では、第1のNNは、訓練画像および深度グラウンドトゥルースの両方を使用して最初に訓練され得、第2のNNは、訓練画像を使用して次に訓練されるが、深度グラウンドトゥルースを使用して訓練されない。同時に(またはほぼ同時に)撮影された任意の数の画像、例えば、カメラの単一サイクル中に撮影された周辺視野カメラ(SVC)によって撮影された複数の画像を同時に処理することができる。一部の実施では、異なる時間に撮影された画像を同時に処理することができる。例えば、特定の時間tjで撮影された画像を使用して、それぞれのBEVコンテキストテンソルPCT(c,x,y;tj)を生成することができる。次いで、複数のBEVコンテキストテンソルを、第2のNNによって一度に処理することができる。複数の時間における同じ位置または異なる位置での同じ物体の複数の描写は、画像内の物体の正しいセグメンテーションおよび識別の可能性を増加させることができる。いくつかの実施形態では、第2のNNは、共通のバックボーンおよび複数の分類ヘッドを有し得る。例えば、1つの分類ヘッドは、入力画像のセマンティックセグメンテーションを出力するように訓練され得る。第2の分類ヘッドは、様々な物体の幾何学的中心を出力するように訓練され得る。第3の分類ヘッドは、物体の幾何学的中心へのBEV表現内の様々なピクセルの距離を出力するように訓練され得る。分類ヘッドの組み合わせられた出力を使用して、物体の分類(タイプ、クラス)と共に、物体の境界の識別を提供することができる。いくつかの実施形態では、第1のNNおよび/または第2のNNの訓練は、教員-学生蒸留フレームワークを使用して実施され得る。より具体的には、複数の感知モダリティ(カメラ、ライダー、レーダー、ソナーなど)を使用して取得されたデータを使用して訓練された教示モデルの出力は、生徒モデルのNNを訓練するためのグラウンドトゥルースとして使用することができる。スチューデントモデルは、教示モデルの蒸留、例えば、ニューロン層および/または特定の層内のニューロンの数が減少したモデルであり得る。結果として、スチューデントモデルは、強力な処理およびメモリリソースがより少ない車両上により容易に導入可能である一方で、教示モデルの実質的な機能を維持することができる。
記載の実施形態は、深度グラウンドトゥルースデータを使用して、BEVセグメンテーション技術をモデルの効率的な共訓練で補完する従来の物体検出および分類パラダイムから逸脱する。記載される実施形態の利点には、複数の感知モダリティのデータの処理の大きな計算オーバーヘッドを回避する方法で、物体の迅速かつ正確な検出、識別、および追跡が含まれる(が、これらに限定されない)。本明細書に開示されるように訓練および配備された機械学習モデルは、カメラ画像に基づいて効率的な物体検出が可能であるため、モデルは、適度な計算リソースを有するシステムを含む、様々なプラットフォーム(例えば、運転者支援技術を装備した自律車両および車両)上に配備され得る。
図1は、本開示のいくつかの実施形態による、鳥瞰図を使用し、物体の効率的な検出および分類のために深度グラウンドトゥルースデータを使用して訓練されるモデルを展開している例示的な自律車両(AV)100の構成要素を示す図である。自律車両には、モータービークル(車、トラック、バス、オートバイ、バギー車両、リクリエーション車両、任意の特殊農業または建設車両など)、航空機(飛行機、ヘリコプター、ドローンなど)、海洋船舶(船、ボート、ヨット、潜水艦など)、宇宙船(地球大気圏外で動作する制御可能な物体)、または(人間による入力なしの、または人間による入力が減少した)自動運転モードで動作する能力があるその他の任意の自走式車両(例えば、ロボット、工場や倉庫のロボット車両、歩道配送ロボット車両など)が含まれうる。
本明細書に記載されるものなどの車両は、1つ以上の異なる駆動モードで動作するように構成され得る。例えば、手動運転モードでは、運転手は、アクセルペダル、ブレーキペダル、ステアリングホイールなどの入力を介して、加速、減速、およびステアリングを直接制御し得る。車両はまた、例えば、人が運転動作に対して何らかの量の直接的、またはリモート制御を行使する、半自律運転モード、もしくは部分自律運転モード、または車両が人による直接的、またはリモート制御なしに運転動作を処理する、完全自律運転モードを含む、1つ以上の自律運転モードで動作し得る。これらの車両は、例えば、自律運転車両、自動運転車両などを含む、異なる名称によって知られていてもよい。
本明細書に記載されるように、半自律運転モードまたは部分自律運転モードにおいて、車両が、1つ以上の運転操作(例えば、レーンセンタリング、アダプティブクルーズコントロール、先進運転支援システム(ADAS)、または緊急ブレーキを実施するための、ステアリング、ブレーキおよび/または加速)を支援するが、人間の運転者は、車両の周囲を状況的に認識し、支援された運転操作を監督することが期待される。ここで、車両が特定の状況で全ての運転タスクを実施しうるが、人間の運転者は、必要に応じて制御を行う責任を負うことが期待される。
簡略化および簡潔化のために、様々なシステムおよび方法が自律車両と併せて以下に記載されているが、同様の技術が完全自律運転システムのレベルに達しない様々な運転支援システムで使用されうる。米国において、自動車技術者協会(SAE)は、車両が、運転をどの程度多く、またはどの程度少なく制御するかを示すために、異なるレベルの自動運転操作を定義しているが、米国、または他の国における異なる組織が、レベルを異なって分類しうる。より具体的には、開示されたシステムおよび方法は、ステアリング、ブレーキ、加速、レーンセンタリング、アダプティブクルーズコントロールなど、および他の運転手サポートを実装する、SAEレベル2の運転支援システムで使用されうる。開示されたシステムおよび方法は、限定された(例えば、高速道路)条件下で自律運転が可能な、SAEレベル3の運転支援システムで使用され得る。同様に、開示されたシステムおよび方法は、ほとんどの通常の運転状況下で自律的に動作し、人間のオペレータの時折の注意のみを必要とする、SAEレベル4の自動運転システムを使用する車両に使用され得る。全てのそのような運転支援システムにおいて、正確なレーン推定は、運転手の入力または制御(例えば、車両が移動中)なしで自動的に実施されることができ、車両測位およびナビゲーションの改善された信頼度、ならびに自律運転、半自律運転、および他の運転支援システムの全体的な安全性を結果的にもたらす。上記のように、SAEが自動運転操作のレベルを分類する方式に加えて、米国または他の国における他の組織は、自動運転操作のレベルを異なって分類しうる。限定されるものではないが、本明細書の開示されたシステムおよび方法は、これらの他の組織の自動運転操作のレベルによって定義される運転支援システムに使用されうる。
運転環境101は、道路、建物、木、茂み、歩道、橋、山、他の車両、歩行者、橋脚、土手、着陸帯、動物、鳥など、AVの外部に位置する任意の(動きのある、または動きのない)物体を含みうる。運転環境101は、都市部、郊外、農村部などでありうる。一部の実施形態において、運転環境101は、オフロード環境(例えば、農業、または他の農地)でありうる。一部の実施形態において、運転環境は、屋内環境、例えば、工業プラントの環境、出荷倉庫、建物の危険エリアなどでありうる。一部の実施形態において、運転環境101は、様々な物体が表面と平行(例えば、地球の表面と平行)に移動していて、実質的に平坦でありうる。他の実施形態では、運転環境は、三次元でありえ、3つの方向すべてに沿って移動することが可能な物体(例えば、風船、落葉など)を含みうる。以下、「運転環境」という用語は、自律運動(例えば、SAEレベル5およびSAEレベル4システム)、条件付き自律運動(例えば、SAEレベル3システム)、および/または運転者支援技術(例えば、SAEレベル2システム)を装備した車両の運動が発生し得るすべての環境を含むと理解されるべきである。さらに、「運転環境」には、任意の可能な、航空機(または宇宙船)の飛行環境、または艦艇の海洋環境が含まれうる。運転環境101の物体は、数フィート(またはそれ未満)の近距離から数マイル(またはそれを超える)までの、AVからの任意の距離に位置しうる。
実施例のAV100は、感知システム110を含みうる。感知システム110は、様々な電磁(例えば、光学、赤外線、電波など)および非電磁(例えば、音響)感知サブシステムおよび/または装置を含み得る。感知システム110は、1つ以上のライダー112を含むことができ、ライダー112は、運転環境101内の物体までの距離および物体の速度を決定することができるレーザーベースのユニットとすることができる。感知システム110は、1つ以上のレーダー114を含むことができ、これは、AV100の運転環境101内の物体を検知するために無線またはマイクロ波周波数信号を利用する任意のシステムとすることができる。ライダー(複数可)112および/またはレーダー(複数可)114は、物体の空間位置(それらの空間寸法を含む)および(例えば、ドップラーシフト技術を使用して)それらの速度の、両方を感知するように構成されうる。以下、「速度」は、物体がどれだけ速く移動しているか(物体のスピード)、ならびに物体の動きの方向の両方を指す。ライダー(複数可)112およびレーダー(複数可)114の各々は、周波数変調連続波(FMCW)ライダーまたはレーダーセンサなどの、コヒーレントセンサを含みうる。例えば、ライダー(複数可)112および/またはレーダー(複数可)114は、速度判定のためにヘテロダイン検出を使用しうる。一部の実施形態において、ToFおよびコヒーレントライダー(またはレーダー)の機能性は、反射物体までの距離およびその半径方向速度の両方を同時に決定できるライダー(またはレーダー)ユニットに組み合わされる。こうしたユニットは、非コヒーレント感知モード(ToFモード)および/もしくはコヒーレント感知モード(例えば、ヘテロダイン検出を使用するモード)または同時に両方のモードで動作するよう構成されうる。一部の実施形態において、複数のライダー112および/またはレーダー114をAV100上に取り付けることができる。
ライダー112(および/またはレーダー114)は、信号を生成して放出する1つ以上の光源(および/または無線/マイクロ波源)と、物体から反射された信号の1つ以上の検出器とを含むことができる。一部の実施形態において、ライダー112および/またはレーダー114は、水平方向において、360度スキャンを実行することができる。一部の実施形態では、ライダー112および/またはレーダー114は、水平方向および垂直方向の両方に沿って空間スキャンする能力がありうる。一部の実施形態において、視野は、垂直方向に最大90度でありうる(例えば、地平線より上の領域の少なくとも一部分が、ライダーまたはレーダー信号によってスキャンされる)。一部の実施形態(例えば、航空宇宙用途)において、視野は、(2つの半球からなる)全球でありうる。
感知システム110は、運転環境101の画像を捕捉するために、1つ以上のカメラ118をさらに含むことができる。カメラ118は、電磁スペクトルの可視部分、例えば、300~800nmの波長範囲(ここでは簡略化のために光学範囲とも呼ばれる)で動作することができる。光学範囲カメラ118の一部は、グローバルシャッタを使用することができ、他のカメラ118は、ローリングシャッタを使用することができる。 画像は、カメラの投影面(平坦、または非平坦)上への、運転環境101(または運転環境101の一部)の二次元投影でありうる。感知システム110のカメラ118のいくつかは、運転環境101の画像の連続的(または準連続的)ストリームを捕捉するように構成されたビデオカメラでありうる。感知システム110はまた、運転環境101の能動的音声プローブのための1つ以上のソナー116、例えば超音波ソナー、および運転環境101の音を受動的に聴くための1つ以上のマイクロフォンを含んでいてもよい。感知システム110はまた、本明細書ではIRカメラ119とも呼ばれる1つ以上の赤外線範囲カメラ119を含むことができる。IRカメラ(複数可)119は、ミクロン~数十ミクロン以上の波長の範囲で動作するように構成された合焦オプティクス(例えば、ゲルマニウム系材料、シリコン系材料などで作製された)を使用することができる。IRカメラ(複数可)119は、IR検出器素子の位相アレイを含み得る。カメラ(複数可)119によって生成されるIR画像のピクセルは、それぞれの検出器要素(画素に関連付けられた)によって収集されるIR放射の総量、IR放射がそれぞれの検出器要素によって収集される物理的物体の温度、または任意の他の適切な物理的量を表すことができる。
感知システム110によって取得された感知データは、AV100のデータ処理システム120によって処理されうる。例えば、データ処理システム120は、知覚システム130を含みうる。知覚システム130は、運転環境101中の物体を検出、および追跡し、検出された物体を認識するように構成されうる。例えば、知覚システム130は、カメラ118によって捕捉された画像を分析することができ、交通信号、道路標識、道路レイアウト(例えば、車線の境界、交差点のトポロジー、駐車場の指定など)、障害物の存在などを検出する能力がありうる。知覚システム130はまた、環境101中の様々な物体までの距離およびこうした物体の速度(視線方向および、一部の実施形態において、以下に記載するように、横方向)を決定するためのレーダー感知データ(ドップラーデータ、およびToFデータ)をさらに受信しうる。一部の実施形態において、知覚システム130は、以下でより詳細に記載するように、カメラ(複数可)118によって捕捉されたデータと組み合わせてレーダーデータを使用しうる。
知覚システム130は、感知システム110によって提供されるデータを処理するために使用され得る、深度共訓練を有する物体検出および分類モデル(ODCM)132を含む、物体の効率的かつ信頼性の高い検出、識別、および追跡を容易にするための1つ以上のモジュールを含み得る。いくつかの実施形態では、推論中、ODCM132は、(光学範囲)カメラ(複数可)118および/またはIRカメラ(複数可)119からデータを受信することができる。訓練中、図2および図4A~Bに関連してより詳細に説明するように、ODCM132は、カメラ(複数可)118および/またはIRカメラ(複数可)119からのデータを処理することができる一方で、少なくとも一部のライダー(複数可)112、レーダー(複数可)114、ソナー(複数可)116などで取得された範囲(距離)データを使用する。ODCM132は、受信した画像を処理して、画像に描写された物体を検出し、検出された物体を分類するために使用される、1つ以上の訓練された機械学習モデル(MLM)を含み得る。
知覚システム130は、地球およびその周囲に対するAVの位置についての情報を取得するように構成されたGNNSトランシーバ(図示せず)を含んでいてもよいグローバルナビゲーション衛星システム(GNSS)測位サブシステム(図1には図示せず)から情報をさらに受信することができる。 測位サブシステムは、位置が地図情報124によって提供され得る運転環境101の固定オブジェクト(例えば、車道、車線境界、交差点、歩道、横断歩道、道路標識、縁石、周囲の建物など)に関してAVの位置を正確に決定するのを助けるために、センシングデータと併せて測位データ(例えば、GNNSおよび慣性測定ユニット(IMU)データ)を使用することができる。一部の実施形態において、データ処理システム120は、音声データ(例えば、ソナー116からの超音波センサデータ、または緊急車両のサイレンを拾ったマイクロフォンからのデータ)、温度センサデータ、湿度センサデータ、圧力センサデータ、気象データ(例えば、風速および方向、降水データ)などの、非電磁データを受信しうる。
データ処理システム120は、環境監視および予測コンポーネント126をさらに含むことができ、これは、例えば、動きのある物体の(地球に対する)位置および速度を追跡することによって、運転環境101が時間と共にどのように進展するかを監視することができる。一部の実施形態では、環境監視および予測コンポーネント126は、環境に対するAVの動きによる、環境の変化する外観を追跡することができる。一部の実施形態では、環境監視および予測コンポーネント126は、運転環境101の様々な、動きのある物体が、予測時間枠内にどのように位置付けられるかについての予測をすることができる。予測は、現在の位置(座標)および動きのある物体の速度を含む、動きのある物体の現在の状態に基づいてもよい。さらに、予測は、現在の瞬間に先行する特定の期間中の動きのある物体の動きの履歴(追跡されたダイナミクス)に基づくことができる。例えば、前の3秒間の間に加速された第1の物体の動きを示す第1の物体に関する記憶されたデータに基づいて、環境監視および予測コンポーネント126は、第1の物体が停止標識または赤信号信号からその動きを再開していると結論付けることができる。したがって、環境監視および予測コンポーネント126は、車道のレイアウトと他の車両の存在を考慮して、第1の物体が次の3秒または5秒の動きの中でどこにいる可能性が高いかを予測することができる。別の例として、前の2秒間の間に第2の物体の減速した動きを示す第2の物体に関する記憶されたデータに基づいて、環境監視および予測コンポーネント126は、第2の物体が停止標識または赤信号で停止していると結論づけることができる。したがって、環境監視および予測コンポーネント126は、第2の物体が次の1秒または3秒以内にある可能性が高い場所を予測することができる。環境監視および予測コンポーネント126は、その予測の正確さの定期的なチェックを行い、感知システム110から得られた新しいデータに基づいて予測を修正することができる。環境監視および予測コンポーネント126は、ODCM132と併せて動作し得る。例えば、環境監視および予測コンポーネント126は、AVおよび様々な物体(例えば、地球に対して静止または移動している基準物体)の相対的動きを追跡することができる。
知覚システム130、GNSS処理モジュール122、ならびに環境監視および予測コンポーネント126によって生成されたデータは、AV制御システム(AVCS)140などの自律走行システムによって使用することができる。AVCS140は、様々な運転状況および環境でAVがどのように挙動すべきかを制御する1つ以上のアルゴリズムを含みうる。例えば、AVCS140は、目的地点へのグローバル運転経路を決定するためのナビゲーションシステムを含むことができる。AVCS140はまた、当面の運転環境を通る特定の経路を選択するための運転経路選択システムを含むことができ、これには、車線の選択、交通渋滞の切り抜け、Uターンする場所の選択、駐車操作のための軌道の選択などが含まれうる。また、AVCS140は、AVの運転環境内の様々な障害物(岩、停止車両など)を安全に回避するための障害物回避システムを含むことができる。障害物回避システムは、障害物のサイズおよび障害物の軌道(障害物が動きのある場合)を評価し、障害物を回避するための最適な運転戦略(例えば、ブレーキング、ステアリング、加速など)を選択するように構成されうる。
AVCS140のアルゴリズムおよびモジュールは、パワートレイン、ブレーキ、およびステアリング150、車両電子機器160、シグナリング170、ならびに図1に明示的に示されていない他のシステムおよび構成要素など、車両の様々なシステムおよび構成要素のための命令を生成しうる。パワートレイン、ブレーキ、およびステアリング150は、エンジン(内燃機関、電気エンジンなど)、トランスミッション、ディファレンシャル、軸、車輪、ステアリング機構、および他のシステムを含みうる。車両電子機器160は、オンボードコンピュータ、エンジン管理、点火、通信システム、カーピュータ、テレマティクス、車載エンターテイメントシステム、ならびに他のシステムおよび構成要素を含みうる。シグナリング170は、ハイヘッドライトおよびローヘッドライト、ストップライト、方向指示灯およびバックライト、警笛および警報、内部照明システム、ダッシュボード通知システム、乗客通知システム、無線およびワイヤレスネットワーク伝送システムなどを含みうる。AVCS140によって出力される命令の一部は、パワートレイン、ブレーキ、およびステアリング150(またはシグナリング170)に直接送達されうる一方で、AVCS140によって出力される他の命令は、最初に車両電子機器160に送達され、これは、パワートレイン、ブレーキ、およびステアリング150、ならびに/またはシグナリング170への命令を生成する。
一例では、ODCM132は、カメラ(複数可)118によって取得された画像が物体の描写を含むと決定することができ、物体を自転車としてさらに分類することができる。環境監視および予測コンポーネント126は、自転車を追跡し、自転車が車両の動作方向と直角を成す交差する道路に沿って15mphの速度で移動していると決定することができる。こうした判定に応答して、データ処理システム120は、車両が減速して、自転車に交差点を通り越させる必要があると判定することができる。AVCS140は、パワートレイン、ブレーキ、およびステアリング150に(直接または車両電子機器160を介して)次のような指示を出力することができる: (1)スロットル設定を変更することにより、エンジンへの燃料の流れを減らしてエンジン回転数を下げ、(2)自動変速機を介して、ドライブトレインをより低いギアにシフトダウンし、(3)ブレーキユニットを作動させて(エンジンおよび変速機と協働しながら)車速を下げる。ODCM132ならびに/または環境監視および予測コンポーネント126が、自転車が交差点を横断したと判定した後、AVCS140は、命令をパワートレイン、ブレーキ、およびステアリング150に出力して、車両の以前の速度設定を再開することができる。
図2は、本開示のいくつかの実施形態による、物体の効率的な検出および分類が可能な知覚システムの一部の例示的なアーキテクチャ200を示す図である。知覚システム(例えば、図1の知覚システム130)への入力は、複数のカメラ画像202を含むことができ、これは、訓練画像(訓練段階の間)または実行時(推定段階の間)にオンボードで撮影された画像とすることができる。画像202は、フレームに組み合わせることができる。フレームは、感知システム(例えば、自律車両の感知システム110)に対する任意の方向に沿って外部環境を示す任意の画像セットとして理解されるべきである。特に、カメラ画像202は、周辺視野カメラによって撮影されたパノラマ画像、方向カメラ、例えば、正面視野カメラ、側面視野カメラ(SVC)、後方視野カメラ、およびこれに類するもの、またはそれらの任意の組み合わせによって撮影された画像を指すことができる。いくつかの実施形態では、異なるカメラによって取得された画像は、所与のフレーム内のすべての画像が、同じ(最大同期の精度まで)タイムスタンプを有するように同期され得る。一部の実施形態では、所与のフレーム内の一部の画像は、時間オフセット、例えば、SVCのスキャン動作に関連付けられた時間オフセットを有する(制御される)ことができる。カメラ画像202は、ODCM132によって処理され得る。ODCM132への追加の入力は、深度データ204を含むことができ、深度データ204は、ライダーセンサ(複数可)、レーダーセンサ(複数可)、ソナーセンサ(複数可)などを使用して取得されるデータであり得る。一部の実施では、深度データ204は、ODCM132の訓練中に使用されてもよいが、推論段階中に使用されなくてもよい。画像202および深度データ204は、方向インデックス付けを含み得る。より具体的には、画像202の様々なピクセルおよび深度データ204の戻り点は、空間における既知の(例えば、カメラキャリブレーションからの)方向と関連付けられ得る。例えば、カメラ画像は、空間内の方向を特徴付ける任意の適切な座標のセット、例えば、w、hがデカルトピクセル座標(撮像平面内)であり得るI(w、h)、θおよびφがそれぞれ極性および方位角であるI(θ、φ)、または任意の他の座標のセットによってインデックス付けされる強度マップを含み得る。 いくつかの実施形態では、複数の座標のセットを、異なるタスクに対して使用することができ、異なるセット間の記憶されたマッピング(変換)によって促進される。深度データ204は、例えば、ライダー/レーダー/ソナー信号のToFから決定される、画像202内の特定のピクセルw、hに関連付けられた物体への半径方向距離R(w、h)を含み得る。
各画像202は、1つの色I(w,h)(白黒画像の場合)または複数の色Ic(w,h)(カラー画像の場合)の様々な強度のピクセルを有し得る。少なくとも一部の画像202は、数ミクロン~数十ミクロン以上の波長の範囲で動作することができるIR検出器(画素)のアレイによって取得される赤外線(IR)カメラ画像であり得る。IR画像は、それぞれの検出器によって収集されたIR放射の総量を表す強度IR(w,h)を含み得る。いくつかの実施形態では、IR画像は、特定の擬似色の存在が、収集された総強度IR(w,h)を表し得る、擬似色マップを含み得る。一部の実施では、収集された強度を使用して、環境の温度マップT(w,h)を決定することができる。したがって、異なる実施形態では、異なる表現(例えば、強度マップ、疑似色マップ、温度マップなど)を使用して、IRカメラデータを表すことができる。
いくつかの実施形態では、アーキテクチャ200は、ODCM132への入力のサイズに合致するように、各画像202のサイズを変更することができる正規化モジュール(図2には図示せず)を含み得る。一部の実施では、正規化モジュールは、画像202のピクセルの強度を、例えば、[Imin,Imax]などの予め設定された強度の範囲にさらに正規化することができ、ここで、Iminは最小強度であり、ImaxはODCM132が処理するように構成される最大強度である。いくつかの実施形態では、最小強度は、ゼロ、Imin=0であり得る。さらに、正規化モジュールは、フィルタリング、ノイズ除去などを含む、画像202の他の前処理を実行することができる。
正規化および前処理された画像は、ODCM132の様々な構成要素によって処理されて、運転環境中の物体232の存在を検出し、検出された物体232を分類することができる。ODCM132は、ルックアップテーブル、幾何学的形状マッピング、数式、決定ツリーアルゴリズム、サポートベクトルマシン、深層ニューラルネットワークなど、またはそれらの任意の組み合わせなどの任意の適切な機械学習モデルを含み得る。深層ニューラルネットワークは、畳み込みニューラルネットワーク、反復ニューラルネットワーク(RNN)、完全に接続されたニューラルネットワーク、完全に接続されたニューラルネットワーク、長短期メモリニューラルネットワーク、ボルツマンマシンなど、またはそれらの任意の組み合わせを含み得る。
深度推定ネットワーク(DEN)210は、画像(複数可)202の様々なピクセルによって撮像された物体の深度の予測を出力することができる。コンテキスト特徴ネットワーク(CFN)220は、様々なピクセルに対して特徴ベクトルを出力することができる。特徴ベクトルは、特徴空間内のデータの多要素ストリングであり得る。深度予測および特徴ベクトルは、特徴テンソルに結合され得る。特徴テンソルは、図3A~Cに関連してより詳細に説明するように、1つ以上の変換を受けることができ、ピクセルデータ(強度と深度)を透視ビューからトップダウンBEVビューにマッピングする。投影されたBEVコンテキストテンソルに組み合わされた特徴テンソルは、検出された/分類された物体232を出力するBEV特徴ネットワーク230によって処理され得、これは、複数のクラス、例えば、車、トラック、バス、歩行者、未知の物体などの中で分類され得る。
検出/分類された物体232は、画像202の複数のフレームにわたって検出された物体の動きを追跡する物体追跡を含み得る、後処理234を受けることができる。各物体は、検出トラックを割り当てることができ、複数のフレームにわたる特定の物体の描写のためのバウンディングボックス、物体のタイプ、物体のサイズ、物体の姿勢、物体の動き(例えば、速度、加速度など)などの一部またはすべてによって特徴付けられ得る。後処理234は、軌道、姿勢、様々な物体の速度レジームなどを含む、軌道の任意のグラフィカル、例えば、ピクセルベース(例えば、ヒートマップ)または(曲線ベースの)ベクトル化表現を生成することをさらに含み得る。一部の実施形態では、後処理234は、検出された物体の動きを予測する1つ以上のモデル、例えば、検出された物体の速度、加速度などを追跡するモデルを使用して、検出されたトラックを処理することを含み得る。例えば、特定の物体の予測される動きと物体の検出された動きとを組み合わせたカルマンフィルタまたは任意の他の適切なフィルタは、物体の位置および動きのより正確な推定に使用され得る。
検出/分類された物体232、および後処理234によって生成された追跡データを、AVCS140に提供することができる。AVCS140は、様々な軌道内の物体の軌道を評価し、追跡された物体の位置および速度を考慮して、車両の現在の駆動軌道を修正するかどうかを決定する。例えば、追跡された歩行者または自転車が車両からある特定の距離内にある場合、AVCS140は、歩行者または自転車を安全に回避することができることを確実にする速度まで車両を減速させることができる。あるいは、AVCS140は、例えば、隣接するレーンに障害物がない場合、レーンを変更することができるか、または何らかの他の運転操作を実施することができる。
訓練は、訓練サーバ240によってホストされる訓練エンジン242によって実行され得、これは、例えば、中央処理装置(CPU)、グラフィック処理装置(GPU)等の1つ以上の処理装置を配備する外部サーバであり得る。いくつかの実施態様では、ODCM132は、訓練エンジン242によって訓練され、その後、知覚システム130を展開する車両にダウンロードされ得る。ODCM132は、図2に示されるように、訓練入力244および対応する目標出力246(それぞれの訓練入力に対する正しい一致)を含む訓練データを使用して訓練することができる。ODCM132の訓練中、訓練エンジン242は、各訓練入力244を対応するターゲット出力246にマッピングする訓練データ内のパターンを見つけることができる。
一部の実施では、ODCM132は、運転ミッション中に記録され、グラウンドトゥルースで注釈付けされた画像および他の感知データを使用して訓練され得る。ODCM132の深度推定ネットワーク210の訓練のために、グラウンドトゥルースは、訓練入力244における画像の様々なピクセルまでの距離を含み得る。BEV特徴ネットワーク230の訓練は、訓練入力244における様々な物体の位置(例えば、バウンディングボックス)の正しい識別、および物体に対するセマンティック(例えば、クラス、タイプなど)情報を含む、グラウンドトゥルースを伴ってもよい。一部の実施形態では、深度推定ネットワーク210、コンテキスト特徴ネットワーク220、およびBEV特徴ネットワーク230のいずれかまたはすべてを訓練するためのグラウンドトゥルースは、図4A~Bと併せて後述するように、1つ以上の教師モデルの出力を含むことができる。グラウンドトゥルースには、複数の画像/フレームのバッチにわたる同じオブジェクトの正しい連結、オブジェクトの正しい速度などを含めることができる。
訓練エンジン242は、様々な運転環境(例えば、都市部運転ミッション、高速道路運転ミッション、地方運転ミッションなど)における運転状況中に取得された、複数のカメラ/IRカメラ画像252およびライダー/レーダー(またはソナー)画像254を格納するデータリポジトリ250へのアクセスを有し得る。訓練中、訓練エンジン242は、訓練データとして、カメラ/IRカメラ画像252のセットの数、およびライダー/レーダー画像254のセットを選択(例えば、ランダムに)することができる。訓練データは、正しいオブジェクト識別の注釈を付けることができる。一部の実施形態では、注釈付き訓練データがデータリポジトリ250に配置される前に、開発者によって注釈付けを行うことができる。データリポジトリ250から訓練サーバ240によって取得された注釈付き訓練データは、1つ以上の訓練入力244および1つ以上のターゲット出力246を含み得る。訓練データはまた、訓練入力244をターゲット出力246にマッピングするマッピングデータ248を含み得る。例えば、マッピングデータ248は、車両の前向きカメラによって取得されたN個の連続フレームのバッチの各々において、乗客の車のバウンディングボックスを識別することができる。マッピングデータ248は、訓練データの識別子、乗用車の位置、乗用車のサイズおよび識別、乗用車の速度および動作方向、ならびに他の好適な情報を含み得る。
ODCM132の訓練中、訓練エンジン242は、適切な損失関数245を使用して、ODCM132の出力(またはODCM132の様々なネットワークおよびサブネットワーク)とターゲット出力246との間の差を評価することができる。一部の実施形態では、異なる損失関数245は、深度推定ネットワーク210、コンテキスト特徴ネットワーク220、および/またはBEV特徴ネットワーク230の訓練に使用され得る。ODCM132の訓練中、訓練エンジン242は、モデルが損失関数(複数可)245を最小化し、標的出力246、例えば、外部環境中の様々な物体を首尾よく識別および分類する方法を首尾よく学習するまで、ODCM132の様々なネットワークおよびサブネットワークのパラメータ(例えば、重みおよびバイアス)を変更し得る。一部の実施形態では、ODCM132の様々なネットワークおよびサブネットワークは、例えば、コンテキスト特徴ネットワーク220および/またはBEV特徴ネットワーク230の訓練の前に訓練された深度推定ネットワーク210を用いて、別々に訓練され得る。 いくつかの実施形態では、ODCM132の様々なネットワークおよびサブネットワークは、一緒に(例えば、同時に)訓練され得る。例えば、深度推定ネットワーク210、コンテキスト特徴ネットワーク220、および/またはBEV特徴ネットワーク230は、一緒に訓練される単一のエンドツーエンドのニューラルネットワークアーキテクチャのサブネットワークであり得る。
データリポジトリ250は、本開示の実施形態に従って、カメラ/IRカメラ画像、ライダー/レーダー/ソナーデータ、および検出および識別を容易にするように構成されたデータ構造を記憶することができる、永続的ストレージとすることができる。データリポジトリ250は、メインメモリ、磁気または光ストレージディスク、テープ、またはハードドライブ、ネットワーク接続ストレージ(NAS)、ストレージエリアネットワーク(SAN)などの1つ以上のストレージデバイスによってホストされ得る。訓練サーバ240とは別個に図示されているが、実施形態において、データリポジトリ250は、訓練サーバ240の一部であってもよい。一部の実施形態において、データリポジトリ250は、ネットワーク接続されたファイルサーバであってもよく、一方で、他の実施形態において、データリポジトリ250は、サーバマシンまたはネットワークを介して訓練サーバ240にアクセス可能な1つ以上の異なる機械によってホストされうる、オブジェクト指向データベース、リレーショナルデータベースなど、何らかの他のタイプの永続的ストレージであってもよい(図2には示さない)。
図3Aは、本開示のいくつかの実施形態に従って、鳥眼図を使用し、物体の効率的な検出および分類のために深度グラウンドトゥルースデータを使用して訓練されるモデル300の動作例を示す概略図である。図3Aに示すモデルは、図1に図示した知覚システム130のODCM132、または任意の他の類似のモデルとすることができる。いくつかの実施形態では、図3Aに示すモデルは、ニューラルネットワーク(NN)のセット、例えば、深度推定ネットワーク(DEN)310、コンテキスト特徴ネットワーク(CFN)320、BEF特徴ネットワーク(BEF FN)350などを含み得る。図3Aでは別個のブロックとして示されているが、様々な例示されたNNおよびサブネットワークは、一緒に訓練される同じNNの一部とすることができる。ニューラルネットワークのニューロンは、学習可能な重みおよびバイアスと関連している。ニューロンは層状に配設され得る。層の一部は、隠れ層とすることができる。図3Aに示されるNNまたはサブネットワークのうちのいずれも、複数の隠れたニューロン層を含むことができ、物体の検出および分類を容易にする1つ以上の機能を実施するように構成され得る。
DEN310およびCFN320への入力は、1つ以上のカメラによって取得された斜視図であってもよい1つ以上の画像302を含み得る。任意の数の画像302を同時に処理することができる。入力画像(複数可)302は、360度パノラマ周辺ビューまで、外部環境の任意の部分を描写することができる。一部の実施形態では、すべての画像(複数可)302のピクセルの総数は、W×Hであってもよく、式中、Wは、第1の方向(例えば、水平方向)に沿ったピクセルの数であり、Hは、第2の方向(例えば、垂直方向)に沿ったピクセルの数である。いくつかの実施形態では、画像302の「ピクセル」は、カメラの電荷結合デバイス(CCD)の単一の要素に対応し得る。一部の実施形態では、画像302の「ピクセル」は、カメラの複数のCCD要素に対応するダウンサンプリングされた組み合わせ(スーパーピクセル)であり得る。例えば、カメラの1つ以上の画像は、W×Hとは異なるピクセルの数、例えば、訓練されたDEN310およびCFN320の入力の寸法を有し得る。こうした実施形態では、カメラ画像は、最初に、(例えば、補間、ダウンサンプリング/アップサンプリングなどの技術を使用して)標的入力サイズW×Hに再スケールされ得る。 同様に、深度データ304は、標的入力サイズW×Hに再スケールされ得る。 いくつかの実施形態では、深度データ304は、W×Hピクセルのサブセットのみ、例えば、Nピクセルごとに1つの深度値に対して利用可能であり得る。
画像(複数可)302は、任意の好適なデジタルフォーマット(JPEG、TIFF、GIG、BMP、CGM、SVGなど)であり得る。画像(複数可)302は、1つ以上の強度マトリクスIk(w,h)を介して表され得、ここで、0≦w≦W、および0≦h≦Hであり、色インデックスkは、単一の値(白黒画像の場合)、3つの値(RGB画像の場合)、4つの値(CMYK画像の場合)などを有する。強度値Ikは、0~1(または任意の他の選択された限界の間、例えば、0~255)の連続値または離散値を想定することができる。
DEN310は、様々なピクセル、例えば、所与のピクセルw、hがカメラから距離dに位置する物体を示す確率P(d)w,hに対する深度分布のセット312を識別するように訓練された任意の適切なNNであり得る。 一部の実施では、距離dは、間隔の数D、Δd1、Δd2、...、ΔdDの間で離散化され得る。間隔Δdiは、等しいサイズである必要はなく、距離、例えば、Δd1≦Δd2≦...≦ΔdDと共に増加し得る。最後の間隔ΔdNは、特定の距離(例えば、100m、200mなど)から無限距離まで延在し得る。
DEN310は、様々な環境の中にある物体を描写する訓練画像を使用して、かつグラウンドトゥルースとして深度データ304を使用して訓練され得る。深度データ304は、ライダー(レーダー、ソナーなど)センサ(複数可)によって提供することができ、対応するカメラピクセルw、hによって撮像される物体(または物体の一部)への実際の距離dTrue(w、h)を含むことができる。訓練段階中、図2の訓練エンジン242は、DEN310によって出力される分布P(d)w,hの中心(例えば、平均、中央値など)と、グラウンドトゥルース値距離dTrue(w,h)との間の差を特徴付ける、損失関数を最小化するために、DEN310のニューロンのパラメータ(例えば、重みおよびバイアス)を変更することができる。一部の実施では、分布P(d)w,hは、カテゴリー分布、ラプラス分布、ガウス分布、または任意の他の適切な分布としてモデル化することができる。訓練中に最小化された損失関数は、焦点損失関数、負対数可能性損失関数、または任意の他の適切な損失関数、例えば、平均二乗損失関数、交差エントロピー損失関数などを含み得る。
CFN320は、特徴ベクトル322を出力するように、例えば、同じ訓練画像を使用して訓練され得る。画素w,hの特徴ベクトルFV(c)w,hは、対応する画素の外観および画像の他の画素によって提供されるグラフィカルコンテキストを特徴付ける学習されたデジタル符号化を表す。特徴ベクトルFV(c)は、物体検出の所望の標的精度、および訓練されたモデル(例えば、ODCM132)が展開される特定の計算リソース、例えば、C=32、64、128、256などの構成要素を考慮して選択される、任意の数Cの構成要素(ビット)、c∈[1,C]を有し得る。 より高い値Cは、物体検出および分類のより高い精度を好む一方、より低い値Cは、計算リソースが限定されたシステム上のNNのより迅速な処理および/または展開を容易にする。
いくつかの実施形態では、DEN310およびCFN320は、例えば、エンコーダステージおよびデコーダステージを有するU-netアーキテクチャを有する、深層畳み込みNNであり得る。各段階は、複数の畳み込みニューロン層および1つ以上の完全に接続された層を含み得る。DEN310およびCFN320の各々によって実施される畳み込みは、入力画像のローカルコンテキストおよびグローバルコンテキストの両方を捕捉するように訓練された異なる寸法の任意の数の畳み込みカーネルを含み得る。いくつかの実施形態では、DEN310およびCFN320は、完全に独立していることができ、例えば、2つのネットワークのニューロンを接続するエッジはない。いくつかの実施形態では、DEN310およびCFN320は、共通のバックボーンを共有することができ、深度分布312および特徴ベクトル322を出力する別個のヘッドを有することができる。各ヘッドは、任意の数のニューロン層を有することができ、一部の実施形態では、独自のエンコーダ-デコーダアーキテクチャを有することができる。一部の実施では、ヘッドの少なくとも一部は、1つ以上の完全に接続された層を含み得る。
深度分布312および特徴ベクトル322は、リフト変換330によって特徴テンソル332に組み合わせることができる。より具体的には、リフト変換330は、特徴ベクトルFV(c)w,hによって記述される各ピクセルw,hを、深度分布312からの深度情報で補完することができる。 例えば、リフト変換330は、同じ画素に対する対応する深度分布P(d)w,h(寸法D×1の)を用いて、各特徴ベクトルFV(c)w,h(寸法C×1の)の外積を計算することができる。これにより、図3Aにおいてインサートと共に模式的に示すように、特徴テンソル332、例えば、ピクセルw、hに対する
が生成される。
次いで、個々のピクセルに対して計算された特徴テンソルFT(c,d)w,hを使用して、例えば、異なるピクセルに対して特徴テンソル332を連結することによって、画像全体に対して組み合わせられた特徴テンソル334を取得することができる。{FT(c,d)w,h} → CFT(c,d,w,h)。組み合わせた特徴テンソルCFT(c,d,w,h)は、寸法C×D×W×Hを有する。 次いで、組み合わせられた特徴テンソル334は、2Dマッピング340を受け得る。より具体的には、2Dマッピング340は、好都合な一組の平面座標、例えば、デカルト座標xおよびy、または極座標rおよびθを、接地面内で使用する、投影された特徴テンソル342を生成することができる。
2Dマッピング340は、二部分変換であり得る。第1の部分の間、視点座標d、w、hは、3Dデカルト座標d、w、h→x、y、z(または3D円筒状座標、w、h→r、θ、z)に変換することができ、zは垂直座標(地面に垂直な方向)である。変換d,w,h→x,y,zは、カメラの焦点距離、カメラの光軸の方向、および他の類似のパラメータでパラメータ化された、投影変換とすることができる。画像302が複数のカメラ(または回転光軸を有するカメラ)によって取得される例では、変換d,w,h→x,y,zは、例えば、異なるカメラによって提供されるピクセルw,hに使用される別個の変換を用いて、複数の投影変換を含むことができる。
第2の部分の間、2Dマッピング340は、新しい座標CFT(c,x,y,z)で表される組み合わされた特徴テンソルを水平面上に投影して、投影された(BEV)特徴テンソル342を取得することができる。例えば、C×W×H投影特徴テンソルPCT(c,x,y)を得るために、組み合わせた特徴テンソルを、ピクセルの各垂直ピラーに関連付けられた要素、例えば、PCT(c,x,y)=Σi CFT(c,x,y,zi)に合計(または平均)することができる。一部の実施では、座標ziに対する総和は、異なる座標ziに割り当てられた異なる重みwiで実施することができ、PCT(c,x,y)=Σiwi×CFT(c,x,y,zi)であり、例えば、より大きな重みwiが、地面からの特定の標高内(例えば、最大数メートル)の物体を画像化する画素に割り当てられ、(例えば、車両の動きを妨害しない木の分岐、電気ケーブルなどの偽物体を除去するため)より低い重みが、他の標高に割り当てられる。
投影された特徴テンソル342は、物体、および視点歪みが効果的に排除されたBEV内のそれらの位置を特徴付ける。次いで、BEV FN350は、投影された特徴テンソル342を処理して、画像302に示される物体を識別し、識別された物体を分類することができる。いくつかの実施形態では、BEV FN 350は、エンコーダステージおよびデコーダステージの両方を有するネットワークであり得る。いくつかの実施形態では、BEV FN350は、デコーダステージを有するネットワークであり得るが、エンコーダステージは、CFN320の一部である。いくつかの実施形態では、BEV FN 350は、1つ以上の分類ヘッド360-nのバックボーンとして機能することができる。各分類ヘッド360-nは、画像302に描写された物体に関する異なる種類の情報を出力することができる。例えば、ヘッドA360-1は、物体のバウンディングボックスを出力することができ、ヘッドB360-2は、物体のタイプおよび/またはサイズを出力することができ、ヘッドC360-3は、物体の姿勢(位置および配向)を出力することができるなどである。
DEN 310、CFN 320、およびBEV FN 350は、図3Aでは別個のブロックとして示されており、各々、エンコーダステージおよびデコーダステージを有することができる。他の実施形態もまた、本開示の範囲内である。より具体的には、図3Bは、鳥眼図を使用し、物体の効率的な検出および分類のために深度グラウンドトゥルースデータを使用して訓練される、モデル301の1つの実施形態の概略図である。図3Bに示すように、DEN310、およびCFN320は、エンコーダネットワーク305などの共通バックボーンネットワークによってサポートされ得る。DEN310およびCFN320の各々は、エンコーダネットワーク305の共通出力を処理するように訓練される別個のデコーダであってもよい。いくつかの実施形態では、CFN320は、デコーダネットワークであり得るが、DEN310は、1つ以上の完全に接続された層のヘッドであり得る。いくつかの実施形態では、DEN310またはCFN320のいずれも、デコーダを含まない。いくつかの実施形態では、DEN310は、デコーダネットワークであり得るが、CFN320は、1つ以上の完全に接続された層を有するヘッドであり得る。いくつかの実施形態では、DEN310またはCFN320のうちの1つは、不在であり得る。例えば、CFN320が存在しない場合、特徴ベクトル322は、エンコーダネットワーク305によって直接出力され得るが、DEN310は、出力(特徴ベクトル322)のコピーをさらに処理して、深度分布312を生成するデコーダを含み得る。
いくつかの実施形態では、エンコーダネットワーク305、DEN310、CFN320、およびBEV FN350のいずれかまたはすべては、一緒に訓練され得る。いくつかの実施形態では、エンコーダネットワーク305、DEN310、CFN320、またはBEV FN350のうちのいくつかは、段階的に訓練され得る。より具体的には、図3Cは、本開示のいくつかの実施形態に従って、深度グラウンドトゥルースデータを使用して、深度推定ネットワーク310が(配備される場合、エンコーダネットワーク305と一緒に)事前訓練されるモデル303を示す。DEN310の事前訓練は、分布の中心P(d)w,hと、深度データ304によって提供されるグラウンドトゥルース値距離dTrue(w,h)との間の差を評価する適切な損失関数を使用して実施され得る。 次いで、差は、DEN310(およびエンコーダネットワーク305)が所望の精度でピクセルの推定深度を予測することを学習するまで、DEN310(配備される場合、エンコーダネットワーク305)のニューロンの様々な層を通して逆伝播され得る。 DEN310(および、配備される場合、エンコーダネットワーク305)の事前訓練306が完了した後、DEN310の出力は、一緒にまたは順次訓練され得るCFN320および/またはBEV FN350の訓練中にグラウンドトゥルースとして使用することができる。
図4Aは、本開示のいくつかの実施形態による、深度グラウンドトゥルースデータを使用して鳥瞰図モデルを訓練するための蒸留フレームワーク400を示す概略図である。蒸留フレームワーク400は、以前に訓練された教示モデル401-Tの出力を使用して、学生モデル401-Sを訓練することを含むことができる。スチューデントモデル401-Sは、スチューデントDEN410-S、スチューデントCFN420-Sを含むことができ、スチューデントBEV FN450-Sは、図3A~Cのそれぞれのネットワークに関連して説明したように実質的に動作することができる。特に、スチューデントDEN410-SおよびスチューデントCFN420-Sは、1つ以上の画像(複数可)402を処理し、画像(複数可)402の様々なピクセルに対して深度分布412および特徴ベクトル422を出力することができ、これは、例えば、リフト変換330および2Dマッピング340と同様に、リフト変換/2Dマッピング430を受けて、投影された特徴テンソル442を取得することができる。スチューデントBEV FN 450-Sは、検出された(および分類された)物体452を識別するために、投影された特徴テンソル442を処理することができる。
スチューデントODCM401-Sの様々な出力(中間出力を含む)を、教示ODCM401-Tから得られたグラウンドトゥルースと比較することができる。 いくつかの実施形態では、図4Aの通り、教示ODCM401-Tは、学生ODCM401-Sのアーキテクチャと類似したアーキテクチャを有することができる。特に、教示DEN 410-Tおよび教示CFN 420-Tは、1つ以上の画像(複数可)402を処理することができ、これは、学生DEN 410-Sおよび学生CFN 420-Sに入力されるのと同じ画像であり得る。さらに、教示DEN410-Tは、画像(複数可)402に示される物体の深度(それへの距離)を関連付ける、深度データ404(例えば、ライダー範囲データ)を処理することができる。追加の深度データ入力404を収容するために、教示DEN410-Tは、スチューデントDEN-S 410-Sと比較して、より多くの入力ニューロンを有し得る。教示DEN 410-Tおよび教示CFN 420-Tは、画像(複数可)402のピクセルに対して深度分布411および特徴ベクトル421を出力することができ、これは、リフト変換/2Dマッピング430を受けて、投影された特徴テンソル441を生成し、次いで、教示BEV FN 450-Tによって処理されて、検出された(および分類された)物体541を識別することができる。
スチューデントODCM401-Sの様々な出力(中間出力を含む)と、教示ODCM401-Tの出力との直接比較を可能にするために、教示DEN410-T、教示CFN420-T、および教示BEV FN450-Tのうちの少なくともいくつかは、それぞれスチューデントODCM401-S、スチューデントDEN410-S、スチューデントCFN420-S、およびスチューデントBEV FN450-Sネットワークの出力寸法と同じ寸法の出力(出力層のニューロンの数)を有し得る。一方で、教示ネットワークは、ニューロン層の数、層間の接続の数、中間出力の表現の精度(ビット数)などを含む、より高い複雑さを有し得る。いくつかの実施形態では、教示DEN 410-Tおよび教示CFN 420-Tは、それぞれの学生ネットワークよりも多くの入力ニューロンを有することができ、したがって、学生ネットワークよりも高い解像度で画像402を処理するように構成され得る。教示ODCM401-Tは、オフボード設定で使用することができるが、スチューデントODCM401-Sは、車両、交通監視ステーション、または限られた計算リソースを有する任意のエッジデバイス上で使用することができる。結果として、教示ODCM401-Tは、複雑さおよび/または計算時間に制限される必要はない。
スチューデントODCM401-Sは、実質的に教示ODCM401-Tよりも少ないニューロンおよびニューロン層を有し、より迅速な処理(同じ処理およびメモリリソースを与えられる)が可能な軽量モデルであり得る。スチューデントODCM401-Sを取得する蒸留プロセスは、モデルの出力に対してほとんどないかまたは低減された効果を有するノードおよび/またはエッジを識別および除去(カリング、剪断)すること、複数のニューロンノードおよび/またはエッジを組み合わせることなどを含み得る。さらに、教師ODCM401-Tの出力は、図4Aに破線の矢印で模式的に描かれているように、生徒ODCM401-Sの訓練中にグラウンドトゥルースとして使用することができる。より具体的には、教示DEN410-Tによって出力される深度分布411、および教示CFN420-Tによって出力される特徴ベクトル421は、学生DEN410-Sおよび学生CFN420-Sの訓練中に、グラウンドトゥルースとして使用することができる。例えば、深度分布412(特徴ベクトル422)は、差が最小化されるまで、深度分布411(特徴ベクトル421)およびスチューデントDEN410-S(学生CFN420-S)のパラメータと比較され得る。同様に、投影された特徴テンソル441および検出された物体451は、投影された特徴テンソル442および検出された物体452と比較されるグラウンドトゥルース値として使用され得る。いくつかの実施形態では、検出された物体452とグラウンドトゥルース検出された物体451との間の差は、スチューデントBEV FN 450-Sを通して逆伝播することができるが、スチューデントDEN 410-Sおよび/またはスチューデントCFN 420-Sを通して逆伝播することはできない。 こうした実施形態では、スチューデントDEN410-Sは、深度分布412とグラウンドトゥルース深度分布444との間の差に基づいて訓練される(同様に、スチューデントCFN420-Sは、特徴ベクトル422とグラウンドトゥルース特徴ベクトル421との間の差に基づいて訓練される)。他の実施形態では、検出された物体452とグラウンドトゥルース検出された物体451との間の差は、スチューデントDEN410-Sおよび/またはスチューデントCFN420-Sを通して追加的に逆伝播され得る。
図4Bは、本開示のいくつかの実施形態による、深度グラウンドトゥルースデータを使用して鳥瞰図モデルを訓練するための蒸留フレームワーク401の別の実施形態を示す概略図である。蒸留フレームワーク401は、図4Aの蒸留フレームワーク400とは、教師DEN410-Tが存在せず、深度分布411の代わりに、深度センシングデータ(例えば、ライダーデータまたはレーダーデータ)が、生徒DEN410-Sの訓練中にグラウンドトゥルースとして使用され得る点で異なり得る。
図5は、本開示の一部の実施形態による、インスタンスセグメンテーションおよびセマンティックセグメンテーションを提供する鳥瞰図モデルの動作500を示す概略図である。動作500は、深度分布512を出力するためのDEN510、および特徴ベクトル522を出力するためのCFN520、および投影された特徴テンソル542を取得するためのリフト変換/2Dマッピング530を使用して、画像(複数可)502を処理することを含み得る。DEN510は、例えば、図3A~Cおよび/または図4A~Bと併せて説明されるような深度データを使用して、または任意の他の同様の方法で訓練され得る。BEV FN550は、投影された特徴テンソル542を処理し、次いで複数の分類ヘッド560-nに提供される中間出力を生成するバックボーンネットワークであり得る。一部の実施では、分類ヘッドは、例えば、車両、脆弱な道路ユーザ、道路、建物、木、道路側構造など、いくつかのタイプのうちのBEVの様々な位置の分類を含むインスタンスセグメンテーションマップ562-1を出力する、セマンティックヘッド560-1を含み得る。分類ヘッド560-nは、1つ以上のインスタンスセグメンテーションヘッドを含み得る。例えば、インスタンス中心ヘッド560-2は、環境内の様々な物体の中心562-2(例えば、質量中心ピクセル)の座標を出力することができる。インスタンスオフセットヘッド560-3は、物体の中心への物体の様々なピクセルの距離を特徴付けるオフセット560-3のマップを出力することができる。様々なマップ562-nは、ニューロンの1つ以上の層(図5には図示せず)によってさらに処理されて、検出および分類マップ(DCM)564を取得することができる。DCM564は、分類ヘッド560-nによって生成された意味セグメンテーションおよび幾何学的(インスタンス)セグメンテーションを組み合わせて、物体の位置を決定し、物体のクラスをさらに識別することができる。例えば、セマンティックスヘッド560-1によって識別されるタイプの「車両」オブジェクトは、幾何学的情報を考慮して、「車」、「ピックアップトラック」、「バス」、「ハーフトラック」などのクラスにさらに細分化され得る。同様に、タイプ「脆弱な道路ユーザ」は、「歩行者」、「自転車」、「オートバイ」、「スケートボーダー」などのクラスにさらに細分され得る。
図6は、本開示のいくつかの実施形態による、時間的アグリゲーションを使用する鳥瞰図モデルの動作600を示す概略図である。動作600は、深度分布612を出力するためのDEN610、特徴ベクトル622を出力するためのCFN620、および投影された特徴テンソル642を取得するためのリフト変換/2Dマッピング630を使用して、画像(複数可)602を処理することを含み得る。DEN610は、例えば、図3A~Cおよび/または図4A~Bと併せて説明されるような深度データを使用して、または任意の他の同様の方法で訓練され得る。画像602は、異なる時間、t1、t2、t3...で取得されたフレームと関連付けられ得る。ブロック610~630の動作は、異なるフレームに対して別々に、例えば、連続的に(DEN610およびCFN620の単一のインスタンスを使用して)、または並列に(例えば、DEN610およびCFN620の複数のインスタンスを使用して)実施され得る。次に、投影された特徴テンソル642は、ワーピング644を使用して、時間t1、t2、t3...のうちの1つであり得る共通参照時間、例えば、現在の時間または最新の利用可能な時間へ、ワープされ得る(図6において時間t3として示される)。ワーピング644は、感知システムの(独立して知られている)動き(例えば、自律車両のエゴ動き)を排除し、ワーピングされた特徴テンソル645を生成する数学的変換であり得る。ワーピング644の結果として、地面に対して静止している物体は、同じ座標x、yに関連付けられたワーピングされた特徴テンソル645の要素によって記述され、一方で、移動する物体は、物体の動きの方向に沿って広がる要素によって記述される。次に、ワープされた特徴テンソル645は、アグリゲーションネットワーク646を使用して処理され得、これは、ワープされた特徴テンソル645の2つ以上の時間的構成要素にわたって延在するカーネルを有する畳み込みネットワークであり得る。アグリゲーションネットワーク646は、例えば、図3A-Cまたは図4A~Bの動作において、投影された特徴テンソルがBEV特徴ネットワークによって処理される方法と同様に、BEV FN650によって処理され得る(また、様々な分類ヘッド660-nによってさらに処理され得る)アグリゲーションテンソル648を出力する。
図7~8は、鳥瞰図を使用し、物体の効率的な検出および分類のために深度グラウンドトゥルースデータを使用して訓練される、機械学習モデルを展開する例示的な方法700~800を示す。1つ以上の処理装置(CPU)およびCPU(複数可)に通信可能に結合されたメモリ装置を有する処理装置は、方法700~800および/またはそれらの個々の機能、ルーチン、サブルーチン、または動作の各々を実行することができる。方法700~800を実行する処理装置は、図1の感知システム110またはデータ処理システム120の様々な構成要素、例えばODCM132によって発行された命令を実行することができる。いくつかの実施形態では、方法700-800は、図1の自律走行車100のような自律走行車のシステムおよびコンポーネントに向けられ得る。方法700~800は、処理システム120および/または自律車両制御システム140の性能を向上させるために使用することができる。特定の実装では、単一の処理スレッドが方法700~800を実行できる。別の方法として、2つ以上の処理スレッドが、方法700~800を実行してもよく、各スレッドは、方法の1つ以上の個々の機能、ルーチン、サブルーチン、または動作を実行する。例示的な実施例において、方法700~800を実行する処理スレッドは、(例えば、セマフォ、クリティカルセクション、および/または他のスレッド同期機構を使用して)同期されうる。別の方法として、方法700~800を実行する処理スレッドは、互いに対して非同期的に実行しうる。方法700~800の様々な操作は、図78に示す順序とは異なる順序で実行することができる。方法700~800の一部の動作は、他の動作と同時に実施しうる。一部の動作は、任意選択的でありうる。
図7は、本開示のいくつかの実施形態に従って、鳥瞰図表現を使用し、物体の効率的な検出および分類のために深度グラウンドトゥルースデータを使用して訓練されるモデルを展開する方法700の例を示す。方法700は、車両の1つ以上のカメラによって、または任意の他の適切なアプリケーションプラットフォーム上に取り付けられたカメラによって取得されたリアルタイム画像を使用し得る。カメラは、パノラマ(周辺視野)カメラ、部分パノラマカメラ、高精細度(高解像度)カメラ、近接視野カメラ、固定視野(車両に対して)を有するカメラ、動的(調整可能な)視野を有するカメラ、固定または調整可能な焦点距離を有するカメラ、固定または調整可能な開口数を有するカメラ、および任意の他の適切なカメラを含む、光学範囲カメラおよび/またはIRカメラであり得る。光学範囲カメラは、暗視カメラをさらに含み得る。カメラによって取得された画像は、画像ピクセルと物体の空間位置との間の幾何学的関連付け、異なる画像のピクセル間の対応などを提供する様々なメタデータを含み得る。一部の実施では、方法700は、ODCM132、または自律車両の知覚システムの一部、運転者支援技術を導入する車両、または物体検出および分類を使用する任意の他のアプリケーションプラットフォームの一部であり得る、任意の他の類似のモデルによって実施され得る。
ブロック710において、方法700は、環境の1つ以上の透視カメラ画像(例えば、図3A~Cの画像302)を取得することを含み得る。ブロック720で、方法700は、第1のNNを使用して、1つ以上の透視カメラ画像の画素のセットの各画素について、特徴ベクトル(FV)、および対応する画素によって撮像された環境の一部分の深度分布を生成することを含み得る。いくつかの実施形態では、画素のセットは、1つ以上の透視カメラ画像のすべての画素を含み得る。いくつかの実施形態では、画素のセットは、1つ以上の透視カメラ画像のすべての画素の一部分のみを含み得る。
第1のNNは、エンコーダネットワーク305、DEN310、CFN320、および/または他のサブネットワークを含む、1つ以上のサブネットワークを含むことができる。いくつかの実施形態では、画素のセットの各画素の特徴ベクトルは、第1のNNの第1のサブネットワーク(例えば、CFN320)によって出力され得る。画素のセットの各画素の深度分布は、第1のNNの第2のサブネットワーク(例えば、DEN310)によって出力され得る。例えば、特徴ベクトルは、CFN320によって出力されるFV322であってもよく、深度分布は、DEN310によって出力される深度分布312であってもよい。いくつかの実施形態では、第1のNNは、複数の訓練画像および複数の訓練画像に対する深度グラウンドトゥルースデータを使用して訓練され得る。いくつかの実施形態では、深度グラウンドトゥルースデータは、複数の訓練画像の少なくともサブセットにおいて、1つ以上の物体に対するライダー決定距離を含み得る。いくつかの実施形態では、第2のサブネットワーク(例えば、DEN310)は、第1のサブネットワーク(例えば、CFN320)の訓練の前に、深度グラウンドトゥルースデータを使用して訓練され得る。
いくつかの実施態様において、第1のNNは、例えば、図4A~Bと併せて説明されるような、蒸留技術を使用して訓練された生徒モデルの一部であり得る。より具体的には、深度グラウンドトゥルースデータは、複数の訓練画像のピクセルの少なくともサブセットについての深度推定値を含み得る。例えば、深度推定値は、訓練画像の各N番目のピクセルに対して利用可能であり得る。深度推定値(例えば、深度分布411)は、教示モデル(例えば、教示ODCM401-T)の第1のNN(例えば、教示DEN410-S)によって出力され得る。
ブロック730では、方法700は、画素のセットの各画素について、特徴テンソル(FT)を取得することを含み得る。特徴テンソル(例えば、FT432)は、それぞれのピクセルの特徴ベクトルおよびそれぞれのピクセルの深度分布を考慮して取得され得る。例えば、特徴テンソルは、特徴ベクトルの外積および深度分布(各ピクセルに対して)を使用して取得され得る。さらに、特徴テンソルを得ることは、例えば、図3Aに関連して説明したように、リフト変換を実行することを含むことができる。
ブロック740で、方法700は、第2のNNを使用して、取得された特徴テンソルを処理して、環境内の1つ以上の物体を識別することを含み得る。図7のコールアウト部分で示されるように、取得された特徴テンソルを処理することは、いくつかの動作を含み得る。より具体的には、ブロック742で、方法700は、ピクセルのセットの各々の特徴テンソルを使用して、組み合わせられた特徴テンソル(例えば、組み合わせFT334)を取得することを含み得る。方法700は、組み合わされた特徴テンソルを接地面(または任意の他の基準面)にマッピングして、投影された特徴テンソル(例えば、投影FT342)を取得することを継続することができる。例えば、組み合わされた特徴テンソルを接地面にマッピングすることは、ブロック744で、組み合わされた特徴テンソルを、接地面に関連付けられた座標のセット(例えば、デカルト座標x、y、z、円筒座標r、θ、z、または任意の他の好適な座標のセット)に変換することと、ブロック746で、組み合わされた特徴テンソルの要素を垂直方向にアグリゲーションして、投影された特徴テンソルを得ることと、を含み得る。例えば、投影された特徴テンソルを得るために、zの異なる値(およびx,yまたはr,θの同じ値)に関連付けられた組み合わせられた特徴テンソルの要素を一緒に追加することができる。
ブロック748で、方法700は、第2のNNを使用して、投影された特徴テンソルを処理して、環境内の1つ以上の物体を識別することを継続することができる。一部の実施では、第2のNNは、環境内の1つ以上の物体のセマンティックセグメンテーションを出力するように構成された第1の分類ヘッド(例えば、図5のセマンティックヘッド560-1)を含み得る。第2のNNはまた、環境内の1つ以上の物体の位置に関連付けられた幾何学的情報を出力するように構成された少なくとも1つの第2の分類ヘッド(例えば、インスタンス中心ヘッド560-2および/またはインスタンスオフセットヘッド560-3)を含み得る。いくつかの実施形態では、例えば、NNが蒸留フレームワークを使用して訓練される場合、第2のNN(例えば、学生BEV FN 450-S)は、教示訓練モデル(例えば、教示ODCM 401-T)の第2のNN(例えば、教示BEV FN 450-T)の出力を使用して訓練され得る。
いくつかの実施形態では、例えば、図6と併せて説明されるように、モデル(例えば、ODCM132)は、異なる時間に取得された画像の時間的アグリゲーションを実施することができる。より具体的には、ブロック710と併せて取得された1つ以上の透視カメラ画像は、第1の時間(例えば、時間t1)と関連付けられ得る。時間的アグリゲーションは、少なくとも第2の時間(例えば、時間t2、t3など)に関連付けられた1つ以上の追加の透視カメラ画像を取得することを含み得る。次いで、時間的アグリゲーションは、1つ以上の追加の透視カメラ画像を使用して、追加の投影された特徴テンソルを生成することと、投影された特徴テンソルおよび追加の投影された特徴テンソルの同時処理を実施すること(例えば、投影された特徴テンソル642の処理によって例示されるように)と、を含み得る。いくつかの実施形態では、同時処理は、ワーピング変換(例えば、ワーピング644)およびアグリゲーションNN(例えば、アグリゲーションネットワーク646)の適用を含み得る。アグリゲーションNNは、投影された特徴テンソルの要素を、追加の投影された特徴テンソルの要素(または複数の追加の特徴テンソル)とアグリゲーションするように構成された1つ以上の畳み込みカーネルを含み得る。
方法700を実施する知覚システムが車両上に配備されるそれらの実施形態では、方法700は、ブロック750で、車両の環境内の1つ以上の識別された物体を考慮して、車両の運転経路を決定させる知覚システムを継続することができる。
図8は、本開示のいくつかの実施形態による、物体の効率的な検出および分類のために、鳥瞰図表現を展開させるモデルを訓練するために、深度グラウンドトゥルースデータを使用する例示的な方法800を示す。方法800を使用して、ODCM132または任意の他の類似のモデルを訓練することができる。方法800は、車両の感知システムの複数のセンサ、例えば、ライダー、レーダー、ソナーなどを使用して、車両(または任意の他の関連する環境)の環境を走査することによって取得された、以前に記録された画像およびその他の感知データを使用することができる。ブロック810で、方法800は、例えば、複数の訓練画像のセットの一部として、訓練画像を取得することを含み得る。ブロック815で、方法800は、学生モデルの第1のNNを使用して、複数の特徴ベクトルおよび複数の深度分布を生成するために、訓練画像を処理することを含み得る。例えば、学生モデルの第1のNNは、例えば、図4A~Bに示すように、生徒DEN 410-Sおよび学生CFN 420-Sのうちのいくつかまたは両方を含み得る。 複数の特徴ベクトル(例えば、FV422)の各特徴ベクトル、および複数の深度分布(例えば、深度分布412)の各深度分布は、訓練画像の複数のピクセルのそれぞれのピクセルと関連付けられ得る。
ブロック820で、方法800は、教示モデルの第1のNNによって生成された複数のグラウンドトゥルース特徴ベクトル(例えば、特徴ベクトル421)の取得を継続することができる。例えば、教示モデルの第1のNNは、教示DEN 410-Tおよび教示CFN 420-Tのうちのいくつかまたは両方を含み得る。 複数のグラウンドトゥルース特徴ベクトルの各グラウンドトゥルース特徴ベクトルは、訓練画像の複数のピクセルのそれぞれのピクセルと関連付けられ得る。ブロック825で、方法800は、複数のグラウンドトゥルース深度インジケータの取得を継続することができる。複数のグラウンドトゥルース深度インジケータの各グラウンドトゥルース深度インジケータは、訓練画像の複数のピクセルの少なくともサブセットのそれぞれのピクセルと関連付けられ得る。一部の実施では、複数のグラウンドトゥルース深度インジケータの各々は、関連する画素についての教示モデルの第1のNNによって取得される深度分布(例えば、図4Aに示されるような深度分布411)を含み得る。いくつかの実施態様では、複数のグラウンドトゥルース深度インジケータの各々は、関連する画素によって撮像された環境の一部(例えば、図4Bに示されるような深度データ404)に対する、距離感知デバイスによって得られる特定の距離を含み得る。
ブロック830で、方法800は、複数の特徴ベクトル(例えば、特徴ベクトル422)と複数のグラウンドトゥルース特徴ベクトル(例えば、特徴ベクトル422)との比較、および複数の深度分布(例えば、深度分布412)と複数のグラウンドトゥルース深度インジケータとの比較に基づいて、スチューデントモデルの第1のNNのパラメータを調整することを含み得る。
ブロック835では、方法800は、複数の特徴テンソルを取得することを含み得る。複数の特徴テンソルの各特徴テンソルは、複数の特徴ベクトルのそれぞれの特徴ベクトルおよび複数の深度分布のそれぞれの深度分布を使用して取得され得る(例えば、図3Aと併せて説明されるように)。ブロック840では、方法800は、複数の特徴テンソルを使用して、組み合わせられた特徴テンソル(例えば、組み合わせられた特徴テンソル334)を取得することを続けることができる。ブロック845では、方法800は、組み合わされた特徴テンソルを接地面にマッピングして、投影された特徴テンソルを取得すること(例えば、リフト変換/2Dマッピング430を使用して)を含み得る。ブロック850では、方法800は、訓練画像(例えば、検出された物体452)内の1つ以上の物体を識別するために、スチューデントモデル(例えば、スチューデントBEV FN 450-S)の第2のNNを使用して、投影された特徴テンソルの処理を継続することができる。ブロック855で、方法800は、訓練画像において、教示モデル(例えば、教示BEV FN 450-T)の第2のNNによって識別された1つ以上のグラウンドトゥルース物体(例えば、検出された物体451)を取得することを含み得る。ブロック860で、方法800は、スチューデントモデルの第2のNNによって識別された1つ以上の物体と、教示モデルの第2のNNによって識別された1つ以上の物体との比較に基づいて、スチューデントモデルの第2のNNのパラメータ(例えば、スチューデントBEV FN 450-S)の調整を継続することができる。
図9は、本開示のいくつかの実施形態による、鳥瞰図を使用し、物体の効率的な検出および分類のために深度グラウンドトゥルースデータを使用して訓練されるモデルを動作および/または訓練することができる例示的なコンピュータデバイス900のブロック図を示す。 コンピュータデバイス900の実施例は、LAN、イントラネット、エクストラネット、および/またはインターネット内の他のコンピュータデバイスに接続しうる。コンピュータデバイス900は、クライアントサーバネットワーク環境のサーバの能力で動作しうる。コンピュータデバイス900は、パーソナルコンピュータ(PC)、セットトップボックス(STB)、サーバ、ネットワークルータ、スイッチもしくはブリッジ、またはその装置によって取られるアクションを指定する命令のセット(順次、もしくはその他)を実行する能力がある任意のデバイスでありうる。さらに、単一の実施例のコンピュータデバイスのみが示されているが、「コンピュータ」という用語はまた、本明細書で論じる方法の任意の1つ以上を実施するために、命令のセット(または複数のセット)を、個々に、または共同で実行する、任意のコンピュータの群を含むとみなされるものとする。
コンピュータデバイス900の実施例は、処理装置902(プロセッサまたはCPUとも呼ばれる)、メインメモリ904(例えば、読み取り専用メモリ(ROM)、フラッシュメモリ、同期DRAM(SDRAM)などのダイナミックランダムアクセスメモリ(DRAM)など)、スタティックメモリ906(例えば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)など)、および二次メモリ(例えば、データ保存装置918)を含むことができ、これはバス930を介して互いに通信しうる。
処理装置902(論理処理903を含みうる)は、マイクロプロセッサ、中央処理装置、またはこれに類するものなどの、1つ以上の汎用処理装置を表す。より具体的には、処理装置902は、複合命令セットコンピュータ(CISC)マイクロプロセッサ、縮小命令セットコンピュータ(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、他の命令セットを実行するプロセッサ、または命令セットの組み合わせを実行するプロセッサでありうる。処理装置902はまた、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサ、またはこれに類するものなど、1つ以上の専用処理装置でありうる。本開示の1つ以上の態様によれば、処理装置902は、物体の効率的な検出および分類のために、鳥瞰図表現を展開するためのモデルを訓練するための深度グラウンドトゥルースデータを使用する方法700、および/または鳥瞰図表現を展開するためのモデルを訓練するための深度グラウンドトゥルースデータを使用する方法800を実行する命令を実行するように構成され得る。
コンピュータデバイス900の実施例は、ネットワーク920に通信可能に結合されうる、ネットワークインターフェースデバイス908をさらに備えることができる。コンピュータデバイス900の実施例は、ビデオディスプレイ910(例えば、液晶ディスプレイ(LCD)、タッチスクリーン、または陰極線管(CRT))、英数字入力装置912(例えば、キーボード)、カーソル制御装置914(例えば、マウス)、および音声信号生成装置916(例えば、スピーカー)をさらに備えることができる。
データ保存装置918は、実行可能な命令922の1つ以上のセットが保存されているコンピュータ可読ストレージ媒体(またはより具体的には、非一時的コンピュータ可読ストレージ媒体)928を含むことができる。本開示の1つ以上の態様によれば、実行可能な命令922は、物体の効率的な検出および分類のために、鳥瞰図表現を展開させるモデルを訓練するための深度グラウンドトゥルースデータを使用する方法700、および/または鳥瞰図表現を展開させるモデルを訓練するための深度グラウンドトゥルースデータを使用する方法800を実行する実行可能な命令を含むことができる。
実行可能な命令922はまた、例示のコンピュータデバイス900によるその実行中に、完全にまたは少なくとも部分的に、メインメモリ904内および/または処理装置902内に存在してもよく、メインメモリ904および処理装置902もまた、コンピュータ可読ストレージ媒体を構成する。実行可能な命令922はさらに、ネットワークインターフェースデバイス908を介して、ネットワーク上でさらに送信または受信されうる。
コンピュータ可読ストレージ媒体928は、単一の媒体として図9に示されているが、「コンピュータ可読ストレージ媒体」という用語は、動作命令の1つ以上のセットを保存する、単一の媒体または複数の媒体(例えば、集中型もしくは分散型データベース、ならびに/または関連するキャッシュおよびサーバ)を含むとみなされるべきである。「コンピュータ可読ストレージ媒体」という用語はまた、機械に本明細書に記載の方法の任意の1つ以上を実行させる、機械による実行のための命令のセットを保存または符号化する能力がある任意の媒体を含むとみなされるものとする。よって、「コンピュータ可読ストレージ媒体」という用語は、固体メモリ、ならびに光学媒体および磁気媒体を含むが、これらに限定されないとみなされるものとする。
上述の詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビット上の動作のアルゴリズムおよび象徴的表現に関して提示されている。これらのアルゴリズム的記述および表現は、作業の内容を他の当業者に最も効果的に伝達するためにデータ処理分野の当業者によって使用される手段である。アルゴリズムは、ここにおいて、および、概して、所望の結果をもたらす、自己整合的な一連のステップであると理解される。ステップは、物理量の物理的操作を必要とするものである。通常、必ずしもではないが、これらの量は、保存、移動、結合、比較、および別の方法で操作することが可能な電気信号または磁気信号の形態をとる。ビット、値、要素、記号、文字、用語、数字、またはこれに類するものとしてこれらの信号に言及することは、主に一般的な使用の理由のために、時として便利であることが実証されている。
ただし、これらの用語および類似の用語はすべて、適切な物理量に関連付けられるものであり、これらの量に適用される便利な標識に過ぎないことに留意すべきである。別段明記されていない限り、以下の考察から明らかなように、説明全体を通して、「特定する」、「決定する」、「保存する」、「調整する」、「生じさせる」、「戻る」、「比較する」、「生成する」、「停止する」、「ロードする」、「コピーする」、「投入する」、「置換する」、「実施する」またはこれに類するものなどの用語を用いた考察は、コンピュータシステムのレジスタおよびメモリ内の物理(電子)量として表されるデータを、コンピュータシステムメモリもしくはレジスタまたは他のこうした情報保存、伝送もしくはディスプレイ装置内の物理量として同様に表される他のデータへと操作および変換する、コンピュータシステム、または類似の電子計算装置のアクションおよびプロセスに言及すると理解される。
本開示の例はまた、本明細書に記載される方法を実施するための装置に関する。この装置は、必要な目的のために特別に構築され得、またはコンピュータシステム内に保存されたコンピュータプログラムによって選択的にプログラムされた汎用コンピュータシステムでありうる。こうしたコンピュータプログラムは、各々がコンピュータシステムバスに結合された、光学ディスク、CD-ROM、および磁気光学ディスクを含む任意のタイプのディスク、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気ディスク保存媒体、光保存媒体、フラッシュメモリ装置、機械でアクセス可能な他のタイプの保存媒体、または電子命令を保存するのに適した任意のタイプの媒体などであるがこれらに限定されない、コンピュータ可読ストレージ媒体に保存されうる。
本明細書に提示される方法およびディスプレイは、いかなる特定のコンピュータまたは他の装置とも本質的に関連していない。様々な汎用システムが、本明細書の教示によるプログラムと共に使用され得、または必要な方法ステップを実施するためにより特化された装置を構築することが便利であると判明しうる。様々なこれらのシステムのための必要な構造は、以下の記述に記載される通りに現れる。加えて、本開示の範囲は、いかなる特定のプログラミング言語にも限定されない。本開示の教示を実施するために、様々なプログラミング言語を使用できることが理解されよう。
当然のことながら、上記の説明は例示的であることを意図しており、制限的ではない。上記の説明を読み、理解すると、他の多くの実施形態例が当業者には明らかとなるであろう。本開示は特定の例を記載しているが、本開示のシステムおよび方法は、本明細書に記載される例に限定されず、添付の特許請求の範囲内で修正して実施しうることが認識されるであろう。よって、明細書および図面は、制限的な意味ではなく、例示的な意味で考慮されるべきである。したがって、本開示の範囲は、こうした特許請求の範囲が権利を有する均等なものの全範囲と共に、添付の特許請求の範囲を参照して決定されるべきである。