[論文ノート] MonoNeRD: 単眼 3D オブジェクト検出のための NeRF 風の表現

元のリンク: https://arxiv.org/abs/2308.09421

1 はじめに

  現在、明示的な深さ推定に依存して取得された画像の 3D 表現には制限があります。1 つ目は、リフティング フィーチャの不均一な分布です。つまり、近くでは密で、遠くでは疎です。第二に、検出パフォーマンスは深度推定の精度に大きく依存します。
  NeRF は、既知のカメラ ポーズの画像から高密度で詳細な 3D シーンのジオメトリと占有情報を再構築できます。NeRF からインスピレーションを得たこの記事では、NeRF のような 3D 表現を使用しています。まず、画像特徴と正規化された錐台 3D 座標を組み合わせて、3D 位置認識のための錐台特徴を取得します。次に、これを使用して、符号付き距離フィールドと放射フィールド (RGB カラー) を生成します。距離フィールドは、各位置から最も近い表面までの距離をスカラーとしてエンコードします。次に、生の RGB 画像と LIDAR 点群によって管理されたボクセル レンダリング テクノロジを使用して、RGB 画像と深度マップが生成されます。従来の方法では、予測された深度マップに基づいて 3D 表現が生成されますが、この論文では 3D 表現に基づいて深度マップが生成されます。私たちの方法は、明示的なグリッドごとの注釈なしで、高密度の 3D 占有 (ボリューム グリッド密度) を生成できます。

3. 知識を準備する

3.1 符号付き距離関数 (SDF)

  符号付き距離関数は、最も近いサーフェスまでの点の距離を出力する空間座標の連続関数であり、その符号は、点がサーフェスの内側 (負) か外側 (正) かを示します。Ω ∈ R 3 \Omega\in\mathbb{R}^3 と
  します。おおR3は占有空間、M = ∂ Ω \mathcal{M}=\partial\OmegaM=Ωは境界面、Ω \OmegaΩの指示関数1 Ω ( x ) = { 1 、 x ∈ Ω の場合 0 、 x ∉ Ω の場合 \mathbf{1}_\Omega(x)=\left \{\begin{matrix}1、 x\in の場合\Omega\\0、x\notin\Omega\end{matrix}\right の場合。1おお( × )={ 1 ×の場合おお0 ×の場合/おおこの場合、距離符号関数はd Ω = ( − 1 ) 1 Ω ( x ) min ⁡ y ∈ M ∥ x − y ∥ d_\Omega=(-1)^{\mathbf{1}_\Omega(x)} となります。 \min_{y\in\mathcal{M}}\|xy\|dおお=( 1 )1おお( × )y M×y ∥どこ∥ ⋅ ∥ \|\cdot\|は標準ユークリッド 2 ノルムです。曲面M \mathcal{M}M はd Ω ( ⋅ ) = 0 d_\Omega(\cdot)=0を満たすことができますdおお( )=0の集合表現。

3.2 SDF を密度に変換する

  体積格子密度σ : R 3 → R + \sigma:\mathbb{R}^3\rightarrow\mathbb{R}_+p:R3R+はスカラー関数です。ここで、σ ( x ) \sigma(x)σ ( x )はxxの光として解釈できますxでブロックされる確率学習可能な SDF 変換を使用したσ \sigmaσ σ ( x ) = α Ψ β ( − d Ω ( x ) ) \sigma(x)=\alpha\Psi_\beta(-d_\Omega(x))σ ( x )=追伸_b( dおお( x ))そのうち、 β > 0 \alpha,\beta>0_b>0は学習可能なパラメータ、Φ β \Phi_\betaファイb平均は 0、スケールはβ \betaβのラプラス分布の累積分布関数: Φ β ( s ) = { 1 2 exp ⁡ ( s β ) 、s ≤ 0 1 − 1 2 exp ⁡ ( − s β ) 、s > 0 の場合 \Phi_ \beta( s)=\left \{\begin{matrix}\frac{1}{2}\exp(\frac{s}{\beta})\ \ \ \ \ \ \ \ \ 、s\ leq0\\ の場合1-\frac{1}{2}\exp(-\frac{s}{\beta})、s>0\end{matrix}\right の場合。ファイb( s )={ 21経験値(bs          もしそうなら0121exp ( bsもしそうなら>0β \betaとはβ は0 に向かう傾向があり、密度σ \sigmaσ はΩ \Omegaに収束しますΩの指示関数、つまりすべてのx ∉ Ω \ M x\notin\Omega\backslash\mathcal{M}バツ/Ω\ M ,ifσ→ α 1 Ω \sigma\rightarrow\alpha\mathbf{1}_\Omegap1 _おおこの記事ではα = β − 1 \alpha=\beta^{-1} と設定します。ある=b1

3.3 ボリュームメッシュのレンダリング

  ボリュームグリッド強度 (RGB カラー) c : R 3 → R 3 c:\mathbb{R}^3\rightarrow\mathbb{R}^3c:R3R3は空間座標のベクトル関数です。ここで、c ( x ) c(x)c ( x )は位置xxxでの強度または色指定されたcolorcccと密度σ \sigmaσ、近端tn t_ntそしてリモートtf t_ft光線r ( t ) = o + tdr(t)=o+tdr ( t )=ああ+t d (ここで、oooは光線の始点、dddは光線の方向) 希望の色C ( r ) C(r)C ( r )の場合: C ( r ) = ∫ tntf T ( t ) σ ( r ( t ) ) c ( r ( t ) ) dt 、ただし T ( t ) = exp ⁡ ( − ∫ tntf σ ( r ( s ) ) ds ) C(r)=\int_{t_n}^{t_f}T(t)\sigma(r(t))c(r(t))dt,その中T(t)=\exp\left( -\int_{t_n}^{t_f}\sigma(r(s))ds\right)C ( r )=ttT ( t ) σ ( r ( t )) c ( r ( t )) d t 、そのうちT ( t )=経験値(ttσ ( r ( s )) d s )関数T ( t ) T(t)T ( t ) はtn t_nからの光線に沿ったことを意味しますtとっと_tの累積透過率tn からの光 t_ntとっと_tがブロックされない確率。

4. 方法

ここに画像の説明を挿入します
  概要:全体の枠組みは上図のとおりです。この記事は、LIGA-Stereo (ステレオ ビジョン部分を削除) に従い、3D 特徴表現をこの記事の NeRF 風の表現に置き換えますが、残り (バックボーン ネットワークと検出ヘッド) は変更されません。
  画像が与えられると、最初に画像トランクから特徴が抽出され、次に NeRF のような 3D 表現が生成されます。具体的には、最初に 3D ビュー錐台特徴と SDF 関数特徴変換によって位置認識ビュー錐台が確立され、ボリューム メッシュ レンダリングを通じて RGB および密度情報が取得され、RGB 画像と深度マップがレンダリングされます (RGB 損失と深度損失によって管理されます)。次に、グリッド サンプリングを使用して、3D 錐台特徴から規則的な 3D ボクセルと対応する密度を確立し、検出ヘッドに入力される3D ボクセル特徴を形成します。

4.1 NeRF 様発現

  この記事で使用されている同様の NeRF 式と NeRF の違いは、NeRF は MLP エンコーディングを使用し、シーンごとのトレーニングが必要であるのに対し、この記事の式は単一の RGB 画像から連続 3D 幾何学的情報を予測することです。

4.1.1 位置認識のための視円錐の確立

  2D 画像の特徴を深度のない 3D 空間にアップグレードする最も直接的な方法は、画像の特徴を異なる深度面にコピーすることです。しかし、これでは空間的特徴がぼやけてしまいます。
  この記事では、クエリベースのアプローチを使用して 2D 画像の特徴F image ∈ RH × W × C F_{image}\in\mathbb{R}^{H\times W\times C} を組み合わせます。F画像_ _RH × W × C は正規化された 3D 錐台空間にマップされます。具体的には、最小深さzn z_nzおよび最大深さzf z_fz、深さ間隔にランダムな摂動を伴う等間隔サンプリングDDDプレーン。各ピクセル( u , v ) (u,v)(あなたv )各平面には、対応する 3D 座標(u, v, z) (u,v,z)があります。(あなたv z 座標が正規化されます。このようにして、F pos ∈ RH × W × D × 3 F_{pos}\in\mathbb{R}^{H\times W\times D\times3} を取得します。Fpos _RH × W × D × 3の3Dポジション錐台機能線形レイヤーを使用してF pos F_{pos}Fpos _Q ∈ RH × W × D × CQ\in\mathbb{R}^{H\times W\times D\times C} へのマッピングQRH × W × D × C 、他の 2 つの線形レイヤーはF image F_{image}になりますF画像_ _K , V ∈ RH × W × CK,V\in\mathbb{R}^{H\times W\times C} へのマッピングK VRH × W × C を計算し、次の式に従って位置を意識した視覚錐台特性を取得します。FP = Softmax ( QK ) V F_P=\text{Softmax}(QK)VFP=Softmax ( Q K ) Vここで、Softmax は深さの次元に沿って進みます。
ここに画像の説明を挿入します

4.1.2 視錐台内でのボリューム メッシュのレンダリング

  まず、さらに 3D 畳み込みブロック (softplus 活性化関数) を使用してFP F_Pを処理します。FPF ′ ∈ RH × W × D × ( 1 + C ) F'\in\mathbb{R}^{H\times W\times D\times (1+C)} を得るFR高さ××奥行き× ( 1 + C )

i) SDF と密度の特徴

  ふふふF'の最初のチャネル特徴はSDF 特徴とみなされます F sdf ∈ RH × W × D × 1 F_{sdf}\in\mathbb{R}^{H\times W\times D\times 1}FDF _RH × W × D × 1、入力画像のシーンのジオメトリを表します。任意の 3D 点について、 F sdf F_{sdf} は次のようになります。FDF _三重線形サンプリングは、その符号付き距離s ( x , y , z ) s(x,y,z) を取得します。s ( x ,z 次に、シーン ボリューム メッシュ密度σ \sigmaσ (または密度錐台F 密度 ∈ RH × W × D × 1 F_{density}\in\mathbb{R}^{H\times W\times D\times 1}F密度_ _ _ _ _ _RH × W × D × 1 )次を指定します:σ ( x , y , z ) = α Ψ β ( s ( x , y , z ) ) F 密度 = α Ψ β ( F sdf ) \sigma(x, y,z )=\alpha\Psi_\beta(s(x,y,z))\\F_{密度}=\alpha\Psi_\beta(F_{sdf})σ ( x ,z =追伸_b( s ( x ,z ))F密度_ _ _ _ _ _=追伸_b( FDF _)密度は、深度マップ、重み付けされたボクセル特徴をレンダリングするために使用されます。

ii) RGB 特性

  ふふふF'残りCCCチャネルの特性 F ′ ∈ RH × W × D × C F''\in\mathbb{R}^{H\times W\times D\times C}F「」RH × W × D × Cは、別の 3D 畳み込みブロック (ソフトマックス アクティベーション関数) を通過して、近似的なシーン放射場F rgb ∈ RH × W × D × 3 F_{rgb}\in\mathbb{R}^{ H を\times W\times D\times 3}Fr g bR高さ××奥行き× 3F rgb F_{rgb}からのトライリニア補間も使用可能Fr g b任意の点での色の強度c ( x , y , z ) c(x,y,z) を取得します。c ( x ,z
  元のビューからのレンダリング: GPU スペースを節約するために、この記事ではダウンサンプリングされた RGB イメージI ^ low \hat{I}_{low}^ああ _と深度マップZ ^ low \hat{Z}_{low}Z^ああ _カメラ パラメーターと深度値のセットが与えられると、I ^ low \hat{I}_{low}^ああ _1 つのピクセルを複数の 3D ポイントに投影できます。2 つの隣接する 3D 点間の距離は、δ xi , yi , zi \delta_{x_i,y_i,z_i}として記録されます。dバツ私はy私はz私は。设深度 z i z_i z私は距離グラフはδ zi ∈ RH × W × 1 \delta_{z_i}\in\mathbb{R}^{H\times W\times 1} です。dz私はRH × W × 1、およびF 密度から F_{density}F密度_ _ _ _ _ _F rgb F_{rgb}Fr g b密度マップσ zi ∈ RH × W × 1 \sigma_{z_i}\in\mathbb{R}^{H\times W\times 1} を取得します。pz私はRH × W × 1およびカラーマップczi ∈ RH × W × 3 c_{z_i}\in\mathbb{R}^{H\times W\times 3}cz私はR高さ×× 3押せるレンダリングI ^ \hat{I}^I ^ low = ∑ i = 1 DT i ( 1 − exp ⁡ ( − σ zi δ zi ) ) czi \hat{I}_{low}=\sum_{i=1}^DT_i(1-\exp (-\sigma_{z_i}\delta_{z_i}))c_{z_i}^ああ _=i = 1DT私は( 1exp ( pz私はdz私は)) cz私はここでは、T i = exp ⁡ ( − ∑ j = 1 i − 1 σ zj δ zj ) T_i=\exp(-\sum_{j=1}^{i-1}\sigma_{z_j}\delta_{z_j})T私は=exp ( j = 1i 1pzjdzj)は深度平面 1 から深度平面iiiの累積透過率プロット同様に、深度マップは次のようにレンダリングできます。 Z ^ low = ∑ i = 1 DT i ( 1 − exp ⁡ ( − σ zi δ zi ) ) zi \hat{Z}_{low}=\sum_{i= 1}^DT_i(1-\exp(-\sigma_{z_i}\delta_{z_i}))z_iZ^ああ _=i = 1DT私は( 1exp ( pz私はdz私は)) z私は  この記事は、I ^ low \hat{I}_{low}に直接言及しています。^ああ _Z ^ low \hat{Z}_{low}Z^ああ _元のサイズにアップサンプリングしてI ^ \hat{I}を取得します^Z ^ \hat{Z}Z^上記のレンダリングは、RGB 損失と深度損失を使用して監視されます。
  ビューの残りの部分からのレンダリング: ビューの錐台が元のビューの錐台と重なり、キャリブレーション マトリックスがわかっている限り、ビューの残りの部分からのレンダリングが可能です。レンダリング方法は以前と同じです。これは、残りのビューからの追加の監視を利用します。たとえば、次の図に示すように、深度監視がなくても、ステレオ カメラ画像をボリューム メッシュ レンダリング ターゲットとして使用できます。
ここに画像の説明を挿入します

4.1.3 ボクセル特徴の生成

  CaDDN と同様に、カメラ パラメーターと微分可能なサンプリングを使用して、錐台ボクセル特徴を通常のボクセル特徴に変換します。まずボクセルを定義しますV ∈ RH ' × W ' × D ' × 3 V\in\mathbb{R}^{H'\times W'\times D'\times 3}VRH ×W」 ×D」' ×3、各ボクセル中心を錐台座標系に変換し、トリリニア サンプリング錐台特徴(F ' 、 F 密度 ) (F'',F_{density}) を( F「、F密度_ _ _ _ _ _)ボクセル特徴を取得します( V ' 、 V 密度 ) (V'',V_{density})( V「、V密度_ _ _ _ _ _
  密度は 3D 占有率を表すため、この論文ではそれを使用して 3D ボクセル特徴V ' ' V 'V最終的な 3D ボクセル特徴はV 3 d = V ′ ⋅ Tanh ⁡ ( V 密度 ) V_{3d}=V''\cdot\tanh(V_{density}) です。V3d _=V「」うさんくさい( V密度_ _ _ _ _ _)ここで、tanh ⁡ ( ⋅ ) \tanh(\cdot)Tanh ( )しょうV 密度 V_{density}V密度_ _ _ _ _ _正規化されていますが、V 3 d V_{3d}V3d _NeRF と同じ最適化手法でシーンのジオメトリと占有を学習するため、NeRF に似た式です。

4.2 損失関数

  損失関数には、RGB 損失、深度損失、SDF 損失、LIGA オリジナル損失の 4 つの項目が含まれます。
  RGB ロス: 画像再構成によく使用される SmoothL1 ロスと SSIM ロスの ​​2 つの項目が含まれます。
  深度損失: 画像に投影された LIDAR 点群を使用して深度ラベルを取得します。深度損失は、疎な深度マップと予測された深度マップの間の L1 損失です。L 深さ = 1 N 深さ ∑ u , v ∥ Z ^ − Z ∥ 1 L_{深さ}=\frac{1}{N_{深さ}}\sum_{u,v}\|\hat{Z}-Z\ |_1L_ _=N_ _1あなたvZ^Z 1ここで、N 深さ N_{深さ}N_ _深度ラベルを持つピクセルの数です。
  SDF の損失: F sdf F_{sdf}を奨励しますFDF _幾何学的表面M \mathcal{M}上L sdf = 1 N gt ∑ x , y , z ∥ F sdf ( x , y , z ) ∥ 2 L_{sdf}=\frac{1}{N_{gt}}\sum_{x, y ,z}\|F_{sdf}(x,y,z)\|_2LDF _=Ngt _1x y z∥F _DF _( x ,z ) 2ここでN gt N_{gt}Ngt _現在のカメラ ビュー内の LIDAR ポイントの数です。
  LIGA 損失: 検出損失、模倣損失、および補助 2D 監視損失を保持し、ステレオ深度推定損失を除去します。

5. 実験

5.3 主な結果

  KITTI : MonoNeRD は、追加のデータを必要とせずに、他の方法と同等のパフォーマンスを達成できます。
  Waymo : MonoNeRD は、データ拡張なしで、軽量のバックボーンを使用して、他の方法と同等のパフォーマンスを達成できます。

5.4 アブレーション研究

  構造コンポーネント: 実験では、深度監視を行わずに RGB 画像監視のみを使用すると検出パフォーマンスに悪影響を及ぼしますが、画像監視を行わずに深度監視のみを使用するとパフォーマンスを大幅に向上できることが示されています。さらに SDF 損失と RGB 損失を追加すると、最高のパフォーマンスを達成できます。
  位置認識モジュール: クエリベースの位置認識モジュールを位置特徴と画像特徴のスプライシングに置き換えます。実験により、パフォーマンスが低下することが示されています。

5.5 視覚化

  この視覚化は、以前の深度ベースの変換によって得られた 3D 表現と比較して、私たちの方法が高密度で連続した幾何学的情報 (特に遠くで) を生成できることを示しています。

補足資料

A. 説明と議論

A.1 深度ベースの変換と NeRF のような変換

  CaDDN の深度ベースの変換方法は、MonoNeRD の NeRF のような表現をベースライン スキームとして置き換えるために使用されます。実験では、MonoNeRD がベースライン スキームのパフォーマンスを上回ることができることを示し、NeRF 様発現の優位性を証明しています。

A.2 一般化について

  さまざまなシナリオにわたる一般化: NeRF はシナリオを MLP にエンコードするため、各シナリオを個別に最適化する必要があります。この記事の MonoNeRD メソッドでは、畳み込みによる翻訳の等価性などの帰納的設定を導入し、ネットワークがトレーニング データに共通する基礎的な特徴や式を学習できるようにします。
  トレーニングと推論の一般化の違い: より多くのトレーニング データを使用してトレーニングする場合、MonoNeRD は他の深度変換ベースの方法よりもパフォーマンスを大幅に向上させます。
  データセット間の一般化可能性: この記事の方法はカメラの内部パラメーターに大きく依存しているため、異なるデータセット間での一般化を実現できません。

A.3 制限事項

  単眼画像の視錐台は無限であるため、境界外の領域 (空など) からの画像特徴を統合すると、最終的な検出パフォーマンスが損なわれる可能性があります。さらに、SDF は非防水多様体や有界多様体 (厚さゼロの表面など) を表現できません。MonoNeRD は単眼入力しかないため、360 度のシーンを再構成できません。最後に、私たちの方法では光沢のある表面を処理できません。

B. 追加の定量的結果

B.1 KITTI テスト結果

  この方法では、歩行者カテゴリでは SotA のパフォーマンスを達成し、自転車カテゴリでは競技パフォーマンスを達成できます (パフォーマンスの違いの理由は、このカテゴリではトレーニング サンプルが少ないためです)。

B.2 2D および 3D 監視付きアブレーション

  2 つの深度監視方法が使用されます: (1) 明示的な深度監視を提供する LIDAR 深度ラベリング、(2) 画像の再構成損失を通じてモデルが暗黙的に深度を学習できるようにする立体視 RGB 画像監視。実験では、どちらのタイプの監視でもトレーニング用の 3D 情報を提供できることが示されていますが、両方を同時に使用してもモデルのパフォーマンスをさらに向上させることはできません。おそらく、2 種類の監視がボクセル レンダリングを通じて異なる種類の深度監視 (明示的および暗黙的) を提供するため、モデルに大きな学習負担がかかる可能性があります。SDF 損失の導入後、モデルに 3D 制約が提供されるため、パフォーマンスがさらに向上し、この制約により、モデルがさまざまな深度監視タイプから学習することも促進されます。

B.3 深度面サンプリングのアブレーション

実験によると、深度平面DD  の数を増やすと、D、パフォーマンスは最初に向上し、その後は安定したままになります。これは、深さ軸に沿ったオーバーサンプリングにより、隣接する錐台面の特徴が類似することが原因である可能性があります。

C. 追加の定量的結果

C.1 物体検出がない場合はどうなりますか?

  この論文では、オクルージョンされた領域の情報は主にターゲットの検出損失から得られることがわかりました。この視覚化は、物体検出損失を除去すると、遮蔽された領域の再構成が制御不能になることを示しています。ただし、この現象は、新しいビュー監視の導入後は軽減されます。

C.3 レンダリング結果

  このビジュアライゼーションは、特に LIDAR 深度ラベルが利用できない領域 (空など) では、LIDAR 深度監視とステレオ RGB 監視の両方を使用した深度マップのレンダリング結果が、LIDAR 深度監視のみを使用した場合よりも優れていることを示しています。

おすすめ

転載: blog.csdn.net/weixin_45657478/article/details/132517035