Birds-Eyes-View(BEV):鳥瞰図。言葉自体には特別な意味はないが、自動運転(AD)の分野で徐々に普及し、業界用語となった。 同時位置推定およびマッピング (SLAM):同時位置推定およびマッピング。BEV に関連するもう 1 つの認識技術です。 認識: AD分野におけるSLAMとBEVは、制御システムが車両の周囲の状況を理解するのを支援する認識技術です。つまり、現在地、どのような障害物があるか、障害物の位置、距離、どの障害物が静止していてどの障害物が動いているか、その他の関連情報を把握し、その後の運転判断を容易にします。 SLAM VS BEV: SLAM は主にさまざまなセンサーを使用して周囲の空間にある物体の構造をスキャンし、この情報を 3D データで記述します。 BEV はセンサースキャンを通じて周囲の状況に関する情報も取得し、主にこの情報を 2 次元データで記述します。応用範囲で見ると、SLAM は現在より広いです。AD が普及する前は、主に VR/AR などの分野で使用されていましたが、BEV は主に AD 業界に集中しています。技術的な実装の観点から見ると、SLAM はさまざまな幾何学/確率論/グラフ理論/群論関連のソフトウェア パッケージを含む従来の数学ツールに依存する傾向がありますが、BEV は基本的にディープ ニューラル ネットワーク (DNN) に基づいています。これら 2 つを相反するものと見なさない方がよいでしょう。多くの場合、これらは互いに補完し合うことができます。 以下では、BEVの基本的な紹介に焦点を当てます。 SLAM や BEV の最も基本的かつ中核的なセンサーはカメラであるため、計算処理中に画像内の情報抽出・認識や変換計算に多くの計算能力が消費されます。 SLAM は、画像内の特徴点 (特徴情報の中の低レベル情報) を識別する傾向があります。異なる画像フレーム内のこれらの特徴点の位置を計算することで、シーン構造とカメラ自身の位置と姿勢を取得します。 BEV は、車両/道路/歩行者/障害物などの高レベルの特徴情報を識別する傾向があり、これは畳み込みネットワーク CNN と Transformer が得意とする分野です。 カメラには、内部パラメータ (Instrinsics) と外部パラメータ (Extrinsics) という 2 つの最も基本的なデータがあります。内部パラメータは主にカメラの CCD/CMOS センサーのサイズ/解像度と光学レンズの係数を記述し、外部パラメータは主に世界座標系におけるカメラの配置と方向角度を記述します。 内部パラメータの共通マトリックスは次のとおりです。 このうち、fxとfyはそれぞれ光学レンズの水平/垂直焦点距離(Focus)を表します。通常、焦点距離は水平方向と垂直方向に分かれていません。ただし、CCD / CMOSセンサー上のピクセル単位は正の数が十分ではないため、ピクセルが絶対的な正方形である場合、fx = fyとなり、実際には実現が困難です。わずかな差があり、光がレンズを通過してセンサーに投影された後、単位距離内の水平座標と垂直座標の距離が不等になるという問題が発生します。そのため、カメラモジュールの製造元はこの差を測定し、fxとfyを指定します。もちろん、開発者はキャリブレーションプロセスを使用してこれら2つの値を測定することもできます。 図1 図2 また、従来の光学分野では、fxとfyのデフォルトの単位はミリメートル:mmですが、この分野ではピクセル:Pixelがデフォルトの単位です。そのため、写真撮影の経験がある人の多くは、特に大きく、多くの場合数千になるfxとfyの値を見て困惑します。これらの値は、アマチュアの天体望遠鏡の値をはるかに超えています。ここでピクセルを使用するのはなぜですか?内部パラメータを通じてカメラの FOV (視野、視野サイズ、通常は度数) を計算し、次のことを理解します。 図3 ここで、fy は垂直焦点距離、h は写真の高さです。 h の単位はピクセルなので、fy もピクセルにする必要があり、コンピュータ処理に便利なため、fx と fy の単位はピクセルに統一されています。実際、この段階ではコンピュータは必要ありません。CCD/CMOS 光センサーは通常、別のチップ ISP (イメージ信号プロセッサ) と統合されています。このチップは感光データをデジタル画像に変換する役割を担っており、ここでピクセルを使用できます。 このマトリックスに加えて、内部パラメータには歪み係数 K のセットも含まれます。これについては詳しく説明しません。通常のレンズが画像を形成した後、中央の歪みは小さく、その周囲の歪みは大きくなります。通常、キャリブレーションによってこのパラメータを取得した後、写真は歪みが除去され、比較的「正常な」写真が復元されます。 SLAM アルゴリズムでは歪み補正の重要性が強調されています。写真上の特徴点の絶対位置は、位置決めとマッピングの精度に直接関係しているからです。しかし、この歪み補正処理は、ほとんどの BEV コードでは見られません。一方で、BEV はオブジェクト レベルの高レベルの特徴に焦点を当てており、ピクセル レベルでのわずかなオフセットはほとんど影響しません。一方、多くの BEV プロジェクトは論文執筆用であり、nuScenes/Argoverse などのトレーニング データを使用しています。これらのデータの歪みは比較的小さいです。自分のプロジェクトで奇妙なレンズを使用すると、やはり歪み補正の前処理を行わなければなりません。 図4 外部パラメータははるかに単純で、シフト (Transform) 係数と回転 (Rotation) 係数です。 3次元空間で回転を表現する一般的な方法は、行列と四元数の2つです。行列法ではジンバルロック問題が発生するため、回転の計算には四元数を使用するのが一般的です。しかし、AD分野では、カメラが車に固定されており、地面に垂直な軸(通常はZ軸)のみが360度回転できるため、ユニバーサルジョイントの問題はまったく発生しないため、これはほとんど行われません。ユーザーは、横転段階でも自動運転を維持するという奇妙な要求を主張しません。そのため、BEVコードは行列形式になることが多いです。ARなどではSLAMも使われることがあり、カメラが相対的に固定されていないため、クォータニオンが使われることになります。また、AD分野では遠近感の現象は考慮されていないため、外部パラメータはすべてアフィン行列(Affine Matrix)となり、CG分野での3Dレンダリングとは異なります。 また、一般記事で内部パラメータを導入する際には、回転偏差も考慮されます。これは、工場で機械によってCCD/CMOSセンサーが曲がって取り付けられているためです。しかし、AD分野では誤差が小さすぎるため、一般的には考慮されません。カメラを車両に取り付ける場合、外部パラメータ自体に大きな相対回転があります。それを一緒に計算し、最終的にDNN学習でフィルタリングさせる方が良いです。AR分野のSLAMは外部パラメータを積極的に計算する必要があるため、この些細なことは考慮されません。 内部参照と外部参照を理解した後、次の基本的な焦点は座標系です。 AD 座標系は複数存在し、まず整理せずにコードだけ見ると、少し混乱してしまいます。 1.世界座標:これは、現実世界における車両の位置と方位を指します。通常、大まかな位置はGNSS(全地球航法衛星システム)衛星測位システムによって取得されます。GNSSには、米国のGPS /中国のBDS /欧州のガリレオ/ロシアのGLONASS /日本のQZSS /インドのIRNSSが含まれます。それぞれに利点があり、測位精度を説明するのは困難です。一般に、公称精度とは、車両がオープンエリアにあり、複数の測位衛星がカバーしており、車両が静止しており、測位デバイスのアンテナが太く、他の信号源からの干渉がない場合のテスト結果を指します。 都市部にいて、周囲を高層ビルやさまざまな電波干渉源に囲まれ、衛星があなたに対して現れたり消えたりしており、車がかなり速いスピードで走行している場合、数十メートルの誤差があっても当然です。これには、差分基地局補正とマップアクセス ビッグデータ補正という 2 つの一般的な解決策があります。これにより、衛星測位が非常に正確であるという錯覚が生じる可能性があります。どのようにやっても最終的な座標位置は経度と緯度ですが、従来のGIS(地理情報システム)と比較すると、ADの経度と緯度は球面座標系ではなく、2Dマップに展開される座標系であるため、システム内の最終的な座標系も異なります。たとえば、GoogleはWGS84の経度と緯度を自社マップの長方形スライスコードに変換し、Uberは六角形スライスのH3座標コードを提案し、Baiduは火星座標に基づいてBD09長方形スライス座標を重ね合わせました。 これらは絶対座標位置であり、SLAM などの技術によってスキャンされた高精度マップでは、これに基づいて相対座標も導入されます。とにかく、結局、コードで表示されるのは XY だけです。ただし、これらのシステムでは車両の方向(地理的な北は 0 度、地理的な東は 90 度など、2D マップ上で表現される)を取得できないため、AD の車両角度は「軌道方向」を参照し、現在の位置座標から前の瞬間の座標を減算することで方向ベクトルを取得します。もちろん、高精度マップのサポートにより、SLAM テクノロジーを通じて車両の瞬間的な方位角を計算することもできます。トンネルを通過するときなど、GNSS 測位が欠落している場合は、車両の IMU (慣性計測ユニット) やその他のチップを使用して慣性航法を補完する必要があります。それらが提供する値は相対的な座標オフセットですが、時間の経過とともに累積誤差が大きくなります。そのため、GNSS 信号が長時間ない場合、IMU は何もできません。 2. BEVトレーニングデータセットの世界座標系(nuScenes World Coordination、他のトレーニングセットについては特に説明しません)は、GNSSの絶対座標系とは異なります。 図5 これは nuScenes マップです。ワールド座標系は画像座標系です。原点は画像の左下隅にあり、単位はメートルです。そのため、トレーニング データセットを使用する場合は、経度と緯度を考慮する必要はありません。データ セットは、時系列に基づいて車両の瞬間的な位置 (この画像では XY) を示します。 3.エゴコーディネーション。BEVでは、エゴは特に車両自体を指します。車体上のカメラ/Lidar(光検出と測距)/ミリ波レーダー(コードでは一般的にRadarと呼ばれる)/IMUの設置位置(デフォルトの単位はメートル)と方向角度を説明するために使用されます。座標の原点は通常、車体の中央にあり、方向は図のようになります。 図6 したがって、車の前方に配置されたカメラのデフォルトのヨー(Z軸)は0度であり、外部マトリックスは主にこの座標系を記述するために使用されます。 4.カメラの調整。これは写真の座標系ではないことに注意してください。座標系の原点は CCD/CMOS センサーの中心にあります。単位はピクセルです。この座標系は主に、組み込みマトリックスによって記述されます。 5.画像の座標:座標系の原点は画像の左上隅にあります。単位はピクセルです。水平軸と垂直軸は、通常 XY ではなく uv と表記されます。 図7 左、中央、右の 3 つの座標系は、エゴ コーディネーション、カメラ コーディネーション、イメージ コーディネーションです。 したがって、BEV で LSS (Lift、Splat、Shoot) を実行するときに、写真内のピクセル位置をワールド座標系に変換する必要がある場合は、次の手順を実行する必要があります。 Image_to_Camera、Camera_to_Ego、Ego_to_World は行列として表現されます。 世界内の位置 = 世界へのエゴの反転 * カメラへのエゴの反転 * 画像へのカメラの反転 * (画像内の位置) ここで、Inv_ は行列の逆を表します。実際のコードでは、Camera_to_Image は通常、Intrinsics パラメータ マトリックスであり、Ego_to_Camera は Extrinsics パラメータ マトリックスです。 ここで注目すべき点は、fx、fy は実際には次のように計算されるということです。 Fx と Fy はそれぞれレンズの水平/垂直焦点距離ですが、単位はメートルです。Dx と Dy はそれぞれピクセルの幅と高さが何メートルかです。fx と fy の単位はピクセルであると結論付けることができます。 (Ego_to_Camera * Camera_to_Image) 行列にエゴ空間の座標を掛けると、ピクセル単位で写真空間に投影されます。 (Inv_Ego_to_Camera * Inv_Camera_to_Image) 行列に写真空間の座標を掛けると、メートル単位でエゴ空間に投影され、単位の問題は発生しません。 ほとんどの BEV には複数のカメラが搭載されているため、複数のカメラで撮影した写真のピクセルを一度に Ego またはワールド座標系に変換する必要があります。 図8 統一された座標系の下では、複数の角度から撮影された写真が周囲のシーンを正確に「取り囲む」ことができます。単眼カメラ用の BEV ソリューションもいくつかあります。これらのソリューションの中には、前を向いているカメラが 1 台しかない (ヨー、ピッチ、ロールがすべて 0) ため Ego 座標系を考慮せず、原点がカメラ自体であるため、カメラ座標系からワールド座標系に直接ジャンプするものもあります。 3D レンダリングの分野では通常「ビュー コーン」と呼ばれるフラスタムは、カメラの可視範囲を表すために使用されます。 図9 赤い平面、緑の平面、ワイヤーフレームで囲まれた空間が視野円錐です。緑の平面は通常、近平面、赤い平面は遠平面と呼ばれ、ワイヤーフレームによって形成される角度は FOV と呼ばれます。CCD/CMOS イメージングの高さと幅が同じであれば、近平面と遠平面はどちらも正方形であり、1 つの FOV で十分です。そうでない場合は、FOVx と FOVy に区別する必要があります。この視野円錐の範囲外のオブジェクトは計算では考慮されません。 図7では、結合された視野範囲は6つの三角形の面で構成されていますが、実際には6つのトップダウンコーンで構成されています。コーンの間には重なり合う領域があることがわかります。これらの領域は、トレーニング/推論中にDNNが6セットのデータを相互に修正し、モデルの精度を向上させるのに役立ちます。カメラの数を増やさずに、この重なり合う領域を拡大したい場合は、より大きなFOVを持つカメラを選択する必要があります。ただし、カメラのFOVが大きいほど、レンズの歪みが深刻になり(歪み補正をどれだけ行っても、画像をある程度しか修正できません)、画像内のオブジェクトの撮影領域が小さくなり、DNNによる画像内の特徴の認識と抽出に支障をきたします。 BEVはアルゴリズムの巨大なファミリーであり、さまざまな方向のアルゴリズムを選択する傾向があります。大まかに言えば、テスラが主導する視覚認識派があり、そのコアアルゴリズムは複数のカメラに基づいています。もう1つの大きなカテゴリは、LiDAR +ミリ波レーダー+複数のカメラの融合派です。GoogleのWaymoを含め、多くの国内AD企業は融合派に属しています。 厳密に言えば、テスラはBEV(ハイドラネット)から新しい技術である占有ネットワークに移行しており、2Dから3Dに移行しています。 図10 2D であろうと 3D であろうと、どちらも周囲の空間の占有状況を記述しようとしていますが、唯一の違いは、一方が占有状況を表現するために 2D チェッカーボードを使用し、もう一方が 3D ビルディング ブロック アプローチを使用することです。 DNN は確率を使用してこの占有率を測定します。たとえば、あるグリッドが車であることがわかります。DNN によって返される元の結果は、このグリッドが車である確率は 80%、道路である確率は 5%、歩行者である確率は 3% です。したがって、BEV コードでは、さまざまな可能性のあるオブジェクトが一般に 2 つのカテゴリに分類されます。
しかし、小さな問題があります。トレーニング段階で、BEV の DNN モデルは写真内の各オブジェクトが何であるかを指定する必要があるのでしょうか?つまり、ラベル付けされたデータでは、さまざまなオブジェクトにタイプラベルを付ける必要があるということです。 図11 右側のデータはラベル付きデータとして扱い、左側は対応する写真です。このオブジェクト分類に従ってトレーニングされた DNN モデルを実際に道路に置いた場合、トレーニング セットに含まれていないオブジェクト タイプに遭遇したらどうすればよいのでしょうか。モデルがうまく機能しない場合、たとえば奇妙な姿勢の人が歩行者やその他の既知のタイプとして認識されない場合はどうなるでしょうか? Occupancy Network は、認識戦略を変更し、分類を重視しなくなりました (分類しないわけではなく、焦点が変わっただけです)。中心となる焦点は、道路上に障害物 (障害物) があるかどうかです。障害物がどのような種類であっても、ぶつからないように注意してください。この障害物を 3D ビルディング ブロックの形で説明する方が適切です。3D レンダリング (レンダリング/シェーディング) の分野で一般的な概念を借用して、この 3D 記述をボクセルと呼ぶところもあります。MineCraft を想像するのは非常に簡単です。 図12 上記はビジュアルスクールの簡単な説明です。ハイブリッドスクールではどのようなことをするのでしょうか?カメラに加え、ライダーデータにも力を入れている。ミリ波レーダーはデータ品質が悪いため徐々に撤退し、残ったものは駐車レーダーとして使われている。役に立たないとは言えない。テスラは視覚処理を重視しているが、正面を向いたミリ波レーダーも残している。また、AD分野の技術は急速に変化している。いつか、ミリ波レーダーの価値をさらに高める新しいアルゴリズムが登場するかもしれない。 LiDAR の利点は何ですか? 視覚で推測されるシーンの深さよりもはるかに高い精度で物体の距離を直接測定できます。一般的には深度データまたはポイント クラウドに変換されます。これら 2 つをサポートするアルゴリズムには長い歴史があるため、AD はそれらを直接借用して開発量を削減できます。さらに、LIDAR は、カメラが機能しない夜間や悪天候でも機能します。 しかし最近では、カメラやライダー、ミリ波レーダーに匹敵するセンサーレベルの認識技術である、新しい認識技術 HADAR (Heat-Assisted Detection and Ranging) が登場しました。その特徴は、特殊なアルゴリズムを使用して、夜間に撮影された従来の熱画像画像を周囲の環境/物体の質感と奥行きに変換することです。これをカメラと組み合わせることで、夜間の視覚認識の問題を解決できます。 これまでの BEV では、なぜ熱画像/赤外線カメラについて言及しなかったのでしょうか。従来のアルゴリズムには明らかな欠陥があるためです。シーンの熱分布しか提供できず、グレースケール画像しか形成されず、テクスチャが欠けています。元のデータには深度情報が欠けており、推定深度精度は低いです。グレースケール画像から輪郭と明るさの変化のみを抽出すると、シーン/オブジェクトのボリューム情報を正確に復元することが難しく、現在の 2D オブジェクト認識はテクスチャと色に大きく依存しています。 HADAR の登場により、暗い環境でのシーンの深度とテクスチャの抽出というこの問題が解決されました。 図13 左の列、上から下へ:
右の列、上から下へ:
HADAR の深度情報は本当に素晴らしいです。LiDAR の効果と比べてみてください。 図14 LiDAR のスキャン範囲は限られており、通常は半径 100 メートルです。上の図からわかるように、テクスチャ情報がなく、遠景には奥行きがありません。スキャン ラインにより、データは疎な構造になります。より大きく密度の高い半径をカバーしたい場合は、より高価なモデルを購入する必要があります。しばらく停止してスキャンするのが最善です。 LiDAR モジュールメーカーは、自社製品を展示する際に、当然ながら見栄えの良い画像を提供する必要があります。それがいかに難しいかは、AD の研究開発担当者だけが知っています。 上記はすべて基本的な概念です。BEV アルゴリズムの紹介として、まず LSS (Lift、Splat、Shoot) について説明します。 https://link.zhihu.com/?target=https%3A//github.com/nv-tlabs/lift-splat-shoot 老黄氏の会社の多くの記事では、これをBEVの画期的な仕事として挙げています。シンプルで効果的なプロセスを構築します。 カメラの写真を 2D データから 3D データに投影し、それをハエのように平らに叩き、平らになったシーンを神の視点から見るという手法は、人々が直感的に地図を見る方法と特に一致しています。これを見ると、たいていの人は混乱します。「3D シーン データがすでに確立されているのに、3D ってすごいじゃないか」と。なぜ平らにしたいのですか? 3D が欲しくないわけではなく、単にそれができないだけです。完璧な 3D データではないのです。 図15 これを見たことがありますか?これがLSSの真髄です。正面から見ると2D写真になります。この写真をLSSで3D空間に引き伸ばして上の写真を作ります。BEVの視点、つまり真上から見下ろすとどのように見えるでしょうか?何も見えないので、後でスプラットする必要があります。具体的なプロセスは次のとおりです。 図16 まず、画像の特徴と深度を抽出します (LSS では特徴と深度が同時に抽出されます。詳細は後述します)。深度マップも同様です。 図17 似ているとしか言えず、正確ではないので、後ほど詳しく説明します。この深度情報から、図15のような疑似3Dモデル(ポイントクラウドモード)を構築できます。 図18 見た目は問題ありませんが、この 3D モデルを BEV のトップダウン視点にすると、私の母でも認識できないと思います。 図19 平坦化後、特徴は意味認識と組み合わされて次のものを形成します。 図20 こちらは人気のBEVの写真です。上記は LSS の直感的な理解です。アルゴリズム レベルではどのように実装されるのでしょうか? まず、1 台のカメラで撮影できる範囲に合わせて、立方体のワイヤー ケージ (高さ 8、幅 22、奥行き 41) を作成し、キラー Blender を使用します。 図21 ここに概略図があります。グリッドの数とサイズにこだわらないでください。この 3D グリッドはカメラの錐台を表します。錐台の形状は以前に投稿しました (図 9)。ここでは立方体に変換されています。この写真とカメラ空間のこの 3 次元グリッドの関係は次のとおりです。 図22 右側は、写真から深度を抽出した後、グリッド キューブに面したカメラの概略図です (深度マップの実際のピクセル サイズは、高さ 8、幅 22 です)。 図23 この深度マップは、各ピクセルの深度に応じて赤い線に沿って拡大(リフト)されます。 図24 LSS は最初からケージの範囲が限られていると想定し、超過部分は直接フィルタリングされるため、一部の深度ピクセルが視野範囲を超えていることがわかります。ここで注意しなければならないのは、LSS は各ピクセルの深度を直接計算するのではなく、各ピクセルがケージ内の各グリッドにある可能性を推測するということです。図 24 は、Softmax によって各ピクセルが最もありそうなグリッドを抽出し、それを対応するグリッドに配置した概略結果です。理解しやすいように、より正確な説明は次のとおりです。 図25 図 25 で、深度マップのピクセルを選択します (赤いグリッド。実際、LSS 深度マップの解像度は非常に小さく、デフォルトでは 8 x 22 ピクセルしかないため、ここでは 1 つのグリッドを 1 つのピクセルとして使用できます)。これは、ケージの下端にある深度グリッドに属します (このグリッドは、実際にはカメラからの視線を深度に沿って距離まで表します)。 図26 図 25 の赤色深度ピクセルの、図 26 の視線グリッドに沿った確率分布は次のとおりです。 図27 黄色の線の上下は、リフト後の視線に沿った 2D 深度マップ ピクセルの 3D 深度の確率分布を表します (深度分布、これは模式図であり、実際のデータに厳密に基づいたものではありません)。 LSS 論文のこの図に相当します: 図28 LSS で立方体ケージを構築するためのコードは次の場所にあります。 分析を容易にするためにコードを短縮しました。単一カメラの錐台サイズは、D x H x W x 3 (奥行き D: 41、高さ H: 8、幅 W: 22) です。つまり、D x H x W のコンテナーが作成され、コンテナーの各グリッドにグリッドの座標値 (X、Y、Z) が格納されます。 図29 実際、写真座標系(uv)上に深度Zからなる新しい座標系が拡張されます。 LSS にはデフォルトで 5 台のカメラがあるため、5 つの Frustum を get_geometry 関数に送信すると、5 つの Frustum で構成された結合ケージが出力され、そのテンソル サイズは B x N x D x H x W x 3 になります。ここで、B は batch_size (デフォルトではトレーニング データの 4 セット)、N はカメラの数 5 です。 get_geometryでは、まず
これは何のためにあるのですか?これはトレーニング セットに関係しています。ディープラーニングには、既存のトレーニング サンプルを強化する方法があり、一般的には拡張と呼ばれます (実際、AR テクノロジの A は拡張を意味する Augmentation の略です)。既存のトレーニング データに対して、反転/変換/ズーム/切り取りなどのランダムな操作を実行し、サンプルにランダムなノイズを追加します。たとえば、サンプル強化前はカメラの角度は変更されず、トレーニングされたモデルはこの角度の写真のみを認識します。ただし、ランダム強化とさらなるトレーニングの後、モデルは特定の角度範囲内での適応性を学習できます。これが堅牢性です。 図30 拡張技術にも関連する理論や手法がありますが、ここでは詳細には触れずに写真だけ掲載します。データ拡張コードは通常、DataLoader にあります。 get_geometry に戻ると、データ拡張によって写真にランダムな変更がいくつか追加されますが、DNN モデルがこれらのランダムな変更の法則を学習して適応できるように、カメラ自体を固定する必要があります。したがって、5 方向フラスタムを車体座標系に配置するときは、まずこれらのランダムな変更を元に戻す必要があります。 次にパスします: 各 Frustum をカメラ座標系から車両独自の座標系に転送します。ここでの intrinsics はカメラの固有パラメータであり、rots と trans はカメラの外部パラメータであることに注意してください。これらはすべて nuScenes トレーニング セットによって提供されます。ここでは、intrinsics に対して逆行列のみが使用され、extrins に対しては使用されません。これは、nuScenes が最初に各カメラを車両本体の原点に配置し、次にオフセット trans を実行し、次に各カメラの位置と姿勢に応じて回転 rots を実行するためです。ここでは逆操作は必要ありません。データ セットを変更したり、独自のカメラを設定してデータを収集する場合は、これらの変換行列の定義と計算順序を理解する必要があります。 4 つのビューは次のようになります。 図31 LSS の深度と写真の特徴を推論するモジュールは次の場所にあります。 Trunkは、元の深度と画像の特徴を同時に推測するために使用され、depthnetはtrunkによって出力された元のデータをLSSに必要な情報に解釈するために使用されます。depthnetは畳み込みネットワークですが、畳み込みカーネル(Kernel)のサイズは1ピクセルのみであり、その機能は完全に接続されたネットワークFC(Fully Connected)の機能に近いです。FCの日常的な作業は、分類またはフィッティングです。画像の特徴については、ここでの分類に似ており、深度の特徴については、ここでの深層確率分布のフィッティングに似ています。 EfficientNet は最適化された ResNet であり、高度な畳み込みネットワーク (CNN) と考えてください。この畳み込みネットワークでは、画像特徴と深度特徴の間に論理的な違いはありません。両方ともトランクの同じ次元に位置しており、チャネルのみが区別されます。 これにより、別のトピック、つまり単一の 2D 画像から深層特徴を推測/抽出する方法が浮かび上がります。この種の問題は一般に、単眼深度推定、単眼深度推定と呼ばれます。一般的に、このタイプのシステムは、粗い予測と細かい予測の 2 つの段階に分かれています。粗い予測では、画像全体に対して単純なシーンレベルの深度推定を行い、細かい予測ではこれに基づいて小さなオブジェクトを識別し、より細かい深度を推測します。これは、画家が最初に単純な筆致で場面の輪郭を描き、次に細部を注意深くスケッチするのと似ています。 この種の深度推定問題を解決するために畳み込みネットワークを使用するほかに、グラフ畳み込みネットワーク (GCN) や Transformer もあります。また、測距デバイス (RangeFinder) の支援を受ける DNN モデルもあります。このトピックは BEV 自体と同じくらい複雑なので、ここでは詳しく説明しません。 では、LSS が深い機能を処理するのに 1 つのトランクのみを使用するというのは、冗談すぎるでしょうか? 実際、その通りです。 LSS によって推定される深度の精度と解像度は非常に低いです。BEVDepth プロジェクトの LSS 深度の問題に関するさまざまなテスト レポートを参照してください。 https://link.zhihu.com/?target=https%3A//github.com/Megvii- ベース検出/BEV深度BEVDepth テストでは、LSS 深度推定部分のパラメータを乱数に置き換えて学習プロセス (バックプロパゲーション) に参加させない場合、BEV の全体的なテスト効果はわずかにしか低下しないことがわかりました。ただし、リフトメカニズム自体は非常に強力であることを指摘する必要があります。 LSSトレーニングプロセスには別の問題があります。写真のデータの約半分は、実際にトレーニングに貢献しています。 図32 右側のラベルデータは、実際には、赤い線の上半分の下の領域のみを記述します。トレーニング中、BEVは周囲の注釈データの固定領域を選択しますが、写真はより遠いシーンをキャプチャします。 これが、図17の深度マップがLSS内の実際の深度マップと矛盾する理由です。 図33 したがって、BEVのDNNモデル全体のコンピューティング能力の一部は無駄になるはずです。これまでのところ、私はこの側面に関する研究論文を見ていません。 次に、LSSのリフトスプラット計算プロセスに深く入ります。 ここで、New_Xは、直感的な理解のために、画像テクスチャ機能を直接掛けた深さの確率分布です。C1、C2、C3、および深さは3つのグリッドのみであると仮定します。画像からピクセルを取り、それらの意味は次のとおりです。C1:このピクセルは車になる可能性が70%、C2:道路になる可能性が20%、C3:10%の信号機である可能性があり、D1:このピクセルは深さ1、D2:15%のチャンスの可能性が80%、深さ3になります。それらを掛けると、次のようになります。 次に、このピクセルの最大確率は次のとおりです。深さ1の車。これがLSSです: 式の意味は、画像機能c(コンテキスト)を呼び出すことに注意してください。A_Dは、視線網に沿った深さの確率分布を意味し、Dは深さです。 New_Xはこの計算の結果です。前述のように、画像の特徴と深さは両方ともトランクを通して訓練されているため、同じ次元にありますが、深さは異なるチャネルを占有し、コンテキストは最後のself.c(64)チャネルを占有します。 new_xは各カメラの甲殻類に応じて個別に計算されており、5つのフラスト領域が必要なため、グリッドインデックスと対応する空間位置は、new_xの内容が指定されたグリッドにロードされます。 LSSは、voxel_poolingの計算能力に累積メカニズムを導入しますが、ここではあまりにも多くの時間を費やすことは推奨されませんが、LSS全体に氷を象徴していますが、必要ではありません。 |
<<: OpenAIの新機能が明らかに:マルチモーダル時代の到来
GPT-4V と大学生のどちらが良いでしょうか?まだ分かりませんが、新しいベンチマーク データセ...
[[385429]]人工知能は、自宅からリモートで仕事をしながら生産性を維持したい労働者にとって重要...
[[183562]]人々は常に人工知能について多くの懸念を抱いています。人工知能は私たちの仕事にとっ...
ChatGPT を使用して有料の Web コンテンツに無料でアクセスすることは、まもなくできなくな...
長い間、「チューリングテスト」は、コンピュータが「知性」を持っているかどうかを判断するための中心的な...
ワイヤレス ネットワークのインテリジェンスは、インターネット業界の発展における新たなトレンドとなって...
2017年7月、国務院は「新世代人工知能開発計画」を発表し、人工知能が国家戦略の重要なツールとなって...
2022年7月12日、九張雲済DataCanvas社は、もう一つの画期的なオープンソース技術成果であ...
LoGANがデザインしたいくつかのロゴ画像提供: マーストリヒト大学[51CTO.com クイック翻...
デジタル化の大きな波の中で、一見些細な失敗が、深い疑問を浮かび上がらせます。それは、企業が業務に人工...
フェムテックとは、女性の健康に焦点を当てたテクノロジーツールに適用される用語です。この分野には、不妊...
何億人ものインターネットユーザーの一人として、クレジット取引を処理するためにオフラインの営業所に行く...