Ada3D: 効率的な 3D オブジェクト検出のための適応推論による空間的冗長性の活用
原文链接:https://arxiv.org/abs/2307.08209
1 はじめに
3D 認識は高速かつ正確である必要があります。ボクセルベースの方法は SotA パフォーマンスを達成できますが、自律走行車のリソースによって制限され、リアルタイム要件を満たすことが困難です。
処理時間が長くなる理由は 2 つあります。1 つは、3D スパース コンボリューションなどの時間のかかる操作を含めてモデルが大きすぎること、2 つ目は、アルゴリズムが処理する必要がある入力が大きすぎる (LIDAR ポイントが多すぎる) ことです。過去の記事ではモデル圧縮の観点から考察しましたが、本記事ではデータレベルから推論時間を短縮する方法を考察します。
一般的なボクセルベースのネットワークは、3D バックボーンを使用して入力点群から 3D フィーチャを抽出します。その後、それが BEV に投影され、2D バックボーンでさらに処理されます。ただし、3D ボクセルと 2D BEV の両方には空間的な冗長性があり、たとえば、路面や建物の点は 3D 検出の背景点に属します。ポイントの 30% をランダムに破棄する場合、または境界ボックス (前景) の外側にあるポイントの 70% を破棄する場合、パフォーマンスの低下はわずかしかありません。既存の 3D CNN はすべてのポイントを平等に扱い、バックグラウンド領域で多くの計算とストレージを無駄にします。2D BEV 特徴マップのごく一部のみがピクセル値を持ち、残りは背景 0 値です。しかし、現在の方法では、2D BEV 特徴マップを高密度特徴マップとして扱い、従来の CNN 処理を使用します。最初の BN 層を通過すると、特徴マップはスパース性を失います。
本稿ではデータの冗長性を軽減する適応推論手法Ada3Dを提案する。3D と 2D バックボーンの両方に適応推論を使用し、推論中に冗長な 3D ボクセルと 2D BEV 特徴を選択的にフィルタリングします。軽量の予測子を使用して BEV での入力フィーチャの重要性を評価し、予測スコアを LIDAR ポイント密度と組み合わせて、ポイントを破棄するかどうかを決定します。さらに、背景ピクセルの影響を排除し、2D BEV 特徴のスパース性を保持するための、シンプルで効果的なスパース性保持バッチ正規化が提案されています。Ada3D は、パフォーマンスを犠牲にすることなく、計算量とストレージの量を大幅に削減できます。
3. 方法
3.1 適応推論によるボクセルベースの検出
ボクセル化操作により、スパースボクセルX 3D ∈ RN × C X_\text{3D}\in\mathbb{R}^{N\times C} が生成されます。バツ3D∈RN × C、ここでNNNはボクセルの数、CCCは特性チャネルの数です。3D ボクセル バックボーンF 3D \mathcal{F}_\text{3D}F3D3D スパース畳み込みを使用して点群特徴を抽出し、X ~ 3D \tilde{X}_\text{3D}を取得しますバツ~3D。さらにzzに沿ってz軸上の合計プーリング、BEV に投影されて 2D 特徴を取得 X 2D ∈ RC × W × H X_\text{2D}\in\mathbb{R}^{C\times W\times H}バツ2D∈RC × W × H。投影プロセスとその逆プロセスをΓ 3D → 2D \Gamma_{\text{3D}\rightarrow\text{2D}}C3D → 2D和Γ 2D → 3D \Gamma_{\text{2D}\rightarrow\text{3D}}C2D → 3D。2D バックボーン ネットワークF 2D \mathcal{F}_\text{2D}F2DBEV の特徴はさらに抽出され、最終的に検出ヘッドF head \mathcal{F}_\text{head}に送信されます。F頭境界ボックスの予測を行います。
適応推論は 3D と 2D の両方のバックボーンで採用されています。iiから 3D バックボーンへi層では、適応推論は次のように表現できます。 X 3D i = F 3D i ( X ~ 3 D i − 1 ) チルダ{X}_{3D}^{i-1})バツ3D私は=F3D私は(バツ~3D_ _i − 1)其中X ~ 3D i − 1 = Γ 2D → 3D ( F ドロップ ( Γ 3D → 2D ( X 3D i − 1 ) , S ) ) ⊙ X 3D i − 1 S = F スコア ( Γ 3D → 2D ( X 3D i − 1 ) ) \tilde{X}_\text{3D}^{i-1}=\Gamma_{\text{2D}\rightarrow\text{3D}}(F_\text{drop}(\Gamma_{ \text{3D}\rightarrow\text{2D}}(X_\text{3D}^{i-1}),S))\odot X_\text{3D}^{i-1}\\S=F_ \text{スコア}(\Gamma_{\text{3D}\rightarrow\text{2D}}(X_\text{3D}^{i-1}))バツ~3Di − 1=C2D → 3D( Fドロップ( C3D → 2D( X3Di − 1)、す))⊙バツ3Di − 1S=Fスコア( C3D → 2D( X3Di − 1))这里S ∈ RW × HS\in\mathbb{R}^{W\times H}S∈RW × Hは BEV ピクセルの重要度スコアを表し、F スコア F_\text{score}Fスコア(入力は BEV 投影後の 3D ボクセル) 予測子の出力と点群密度を組み合わせて取得されます。ドロップ率R ドロップ R_\text{drop}を考慮するとRドロップ、空間フィルタリング処理F ドロップ F_\text{drop}Fドロップ重要度スコアSSに基づくS は、 BEV 機能のほとんどの冗長な部分を破棄し、特定の位置を保持する必要があるかどうかを示すワンホット マスクを生成します。3D 空間にブロードキャストして戻し、元の 3D ボクセル特徴を要素ごとに乗算することにより、ダウンサンプリングされた 3D ボクセル特徴X ~ 3 D i − 1 \tilde{X}_{3D}^{i-1} が取得されます。バツ~3D_ _i − 1。フィルタリングされたボクセルは 0 値として扱われ、保存および処理されません。F ドロップ F_\text{drop}の詳細Fドロップ和Fスコア F_\text{スコア}Fスコア詳細については、セクション 3.2 および 3.3 を参照してください。同様に、2Dバックボーン
の ii 番目についても、i層、自己推論は次のように表せます: X 2D i = F 2D i ( X ~ 2 D i − 1 ) X ~ 2D i − 1 = F drop ( X 2D i − 1 , S ) ⊙ X 2D i − 1 S = F スコア ( X 2D i − 1 ) X_\text{2D}^i=\mathcal{F}_\text{2D}^i(\tilde{X}_{2D}^{i-1}) \\\チルダ{X}_\text{2D}^{i-1}=F_\text{drop}(X_\text{2D}^{i-1},S)\odot X_\text{2D} ^{i-1}\\S=F_\text{スコア}(X_\text{2D}^{i-1})バツ2D私は=F2D私は(バツ~2D_ _i − 1)バツ~2Di − 1=Fドロップ( X2Di − 1、さ)⊙バツ2Di − 1S=Fスコア( X2Di − 1)
3.2. 重要度予測変数の設計
この論文では、軽量 CNN を使用して、入力フィーチャから各場所の空間重要度スコアを予測します。
推測する
予測子の推論プロセスは次のように表すことができます: Y pred = F pred ( X BEV ; Θ pred ) Y_\text{pred}=F_\text{pred}(X_\text{BEV};\Theta_\text{pred })Y前に=F前に( XBEV;Th前に)ここで、F pred F_\text{pred}F前にパラメータはΘ pred \Theta_\text{pred}です。Th前に予測子の出力はシングルチャネル ヒート マップY pred ∈ RW × H Y_\text{pred}\in\mathbb{R}^{W\times H} です。Y前に∈R幅×高さ。直感的には、垂直方向の空間には冗長性が少ないため、垂直方向の空間を圧縮しても効率の向上は限られており、さらに 3D 空間での重要性を予測することは困難です。予測子は複数のグループ化された畳み込みで構成され、入力解像度は元の BEV 解像度の 1/8 であり、その重みは 3D バックボーンと 2D バックボーンの異なるレイヤー間で共有されるため、パラメーターと計算を削減できることに注意してください。
電車
境界ボックスの外側にある多数の点を破棄しても、パフォーマンスはわずかに低下するだけであるため、境界ボックスの中心の重要性が高くなることを示しています。この記事では、CenterPointメソッドに従い、オブジェクトの中心にピーク値を持つガウス カーネルを追加することで実際のヒート マップM gt M_\text{gt}を生成します。MGT。トレーニングは、平均二乗誤差 (MSE) 損失関数を使用して実行されます。
3.3. 密度に基づく空間フィルタリング
予測スコアY pred Y_\text{pred}Y前に入力フィーチャの相対的な重要性を効果的に表現できますが、点群は近くでは密で、遠くではまばらです。予測子は、密集した領域でより高い重要性を予測し、遠くのオブジェクトを無視する傾向があります。この記事では、点群の BEV 密度を使用して予測スコアを調整します: S = F スコア ( F_\text{pred}(X;\Theta_\text{pred})\cdot D_g^\betaS=Fスコア( XBEV)=F前に( X ;Th前に)⋅DgbここでD g D_gDgggのサイズですカーネル プーリング後のgの密度ヒートマップβ \betaβは、予測スコアと密度分布が同じ分散を持つように密度分布を調整するハイパーパラメータです。
3.4. スパース性を維持したバッチ正規化
BEV 特徴マップはスパースであるため、従来の方法を使用すると、最初の BN 層を通過した後にスパース性が失われ、情報が少ない背景特徴を保存するために大量のスペースが無駄になります。
直接的な解決策は、空ではないピクセルに対してのみ BN を実行することですが、これにより、特徴の相対的な関係が損なわれるため、トレーニングが不安定になり、パフォーマンスが低下します。したがって、この記事では改良を加え、空でないピクセルに対して BN を実行するときに特徴の平均値を減算しない「スパース性保持バッチ正規化」(SP-BN) を提案します。このようにして、ゼロ以外のピクセルを背景ピクセルから区別できます。SP-BN の式は次のとおりです。x ^ i ( k ) = xi ( k ) ( σ B ( k ) ) 2 + ϵ \hat{x}_i^{(k)}=\frac{x_i^{ (k )}}{\sqrt{(\sigma_B^{(k)})^2+\epsilon}}バツ^私( k )=( pB( k ))2+ϵバツ私( k )ここで、σ B ( k ) \sigma_B^{(k)}pB( k )は標準偏差です。BN を SP-BN に置き換えることにより、パフォーマンスを低下させることなく BEV のスパース性を大幅に高めることができます。
「特徴の相対関係が損なわれた」ということは、次のように理解できます。ゼロ以外のピクセル値がすべて等しい(分散が 0)と仮定すると、空でないピクセルに対して BN を実行すると、すべてのピクセルが 0 になります。前景と背景が区別できなくなります。
4. 実験
4.1. 実装の詳細
適応推論設計
この記事では、3D および 2D バックボーンの一部のレイヤーに適応推論のみを追加します。
4.2. 性能と効率の比較
実験結果は、Ada3D を追加したモデルが元のモデルと同等のパフォーマンスを達成できると同時に、推論時間とストレージ消費量を大幅に削減できることを示しています。ドロップ率を調整することでR ドロップ R_\text{drop}Rドロップ、さまざまなリソース予算の下で推測できます。圧縮モデル手法と比較して、Ada3D はパフォーマンスの低下が少なく、より高速な推論を実現できます。
4.3. ハードウェア実験
実験の後、次の結論が導き出されます。
- SP-BN を使用して元のモデルに基づくBN を置き換えた後、よりスパースな BEV 特徴マップを取得できるため、2D バックボーンの推論効率が大幅に向上します。
- 3D バックボーンのエンドツーエンドの遅延はドロップ率に関係します。
- Ada3D は、シーンが大きく、ボクセル化が細かいほど効果的です。さらに、効率が向上するとボクセル サイズがさらに小さくなり、パフォーマンスが向上します。
5. 分析と考察
5.1. アブレーション研究
重要度予測機能は、入力特徴の重要性を正確に評価します。実験の結果、予測子は境界ボックス内の特徴を認識し、重要性を誤って評価した特徴はごくわずかであることが示されました。
密度ガイドにより、遠くにある小さなオブジェクトの破棄が回避されます。プレディクターを単独で使用すると、特に小さなオブジェクトの場合、パフォーマンスが大幅に低下します。密度ガイダンスは、点群がまばらであるために重要度が低いと予測される、遠くにある小さなオブジェクトを補正します。予測子のスコアまたは密度のみを使用すると、一部の境界ボックス内のポイントが破棄され、パフォーマンスに影響します。
SP-BN は、パフォーマンスに影響を与えることなく、BEV のスパース性を維持します。
5.2. 適応推論の分析
Ada3D では無視できるオーバーヘッドが発生します。入力解像度が低く、グループ化された畳み込みを使用しているため、テスト時の予測器のオーバーヘッドは 2D 検出器のわずか 1% です。
Ada3D はパフォーマンスを向上させることができます。適応推論はノイズを破棄できるため、パフォーマンスが向上する可能性もあります。