voxelNetとターゲット検出アルゴリズムのpointpillarsの比較

アルゴリズムの比較

3D 物体検出開発の簡単な歴史

点群ターゲット検出は、VoxelNet、SECOND、PointPillars、および PV-RCNN を通じて開発されました。

2017 年に Apple は、3D ターゲット検出のために点群をボクセルに変換する最初の論文である voxelnet を提案しました。

そして2018年、重慶大学の大学院生であるヤン・ヤン氏は、自動運転会社の幹線技術インターンシップ中にvoxelnetコードを完成させ、効率的なspconv実装を提案し、データ強化などを追加して、効果が大幅に向上しました。 、そしてその論文はSECONDと名付けられました。

PointPillars は SECOND の効果が非常に優れていることに気づき、ショートカットを利用して SECOND コードのボクセルを帯状の柱に変更してコードの実行を高速化しましたが、実際の効果は減少しました。

続くPV-RCNNは、醜いSECONDコードを再配置し、ポイント法の利点を組み合わせ、さらにSECONDの効果を高めるために2段階法に変更し、CVPR2020に公開します。これまでのところ、ボクセルベースの手法は基本的に非常に高い効果を達成しており、大規模な改善はできません。重慶大学のヤン・ヤン氏は、この分野の発展において重要な役割を果たしました。

PointPillars は 3D 畳み込みを持たないため、構造がシンプルで効果が高く、実用的な 3D 点群検出アルゴリズムです。

netron の使用と理解

  1. 環境のインストール

pip インストール netron

  1. pyファイルを実行します
import netron
if __name__ == '__main__':    
    adress = ("localhost",8081)    
    netron.start("alexnet.onnx",address=adress)
  1. アレックスには理解されました

Alexnet は、5 つの畳み込み層と 3 つの全結合層、合計 8 層で構成されています。ネットワーク構造は次のとおりです。
ここに画像の説明を挿入

各層の意味を次の図に示します。
ここに画像の説明を挿入

netron 視覚化表示では、5 つの畳み込みと 3 つの完全に接続されたレイヤーを詳細に確認できます。

補足:
netronのビジュアル表示では、メニュー(メニュー内)で表示情報を設定できますが、図では全ての情報を表示するように設定しているため、非表示操作が多くなります。
ここに画像の説明を挿入

Pointpillars モデルの概要

ここに画像の説明を挿入

  1. 点群をまばらな擬似画像に変換する特徴エンコーダ ネットワーク。
    • まず、グリッドの寸法 (H x W) が上面図の平面上に描画され、次に各グリッドに対応する列内の各点について (x, y, z, r, x_c, y_c, z_c, x_p) ,y_p) 9 次元。このうち、最初の 3 つは各点の実際の位置座標、r は反射率、下付き文字 c は点から柱の中心までの偏差を示し、下付き文字 p は点からの相対的な点の偏差を示します。ネットワークの中心。各列の N 以上の点がサンプリングされ、N 未満の点は 0 で埋められます。すると (D, N, P) D=9、N は点の数 (設定値)、P=H* W.
    • 次に、特徴を学習し、簡略化された PointNet を使用して D 次元から C チャネルを学習し、(C, N, P) になり、N に対して最大化演算を実行して (C, P) になります。P は H *W であるためです。 、それを擬似画像形式に展開します。H、W は幅と高さ、C はチャネル数です。
  2. 擬似画像を処理して高次元の特徴表現を生成するための 2D 畳み込みベース ネットワーク。
    • 2 つのサブネットワーク (1.トップダウン ネットワーク、2.秒ネットワーク) が含まれます。さまざまなスケールで特徴情報を取得するために、トップダウン ネットワーク構造は主に畳み込み層、正規化層、非線形層で構成されます。ネットワーク 異なるスケールの特徴情報を融合するために使用され、主にデコンボリューション (アップサンプリング) によって実現されます。これは 2D 畳み込みニューラル ネットワークで構成されており、ネットワークの最初の部分によって出力された擬似画像から高次元の特徴を抽出するために使用されます。
  3. 頭部(検出ヘッド、SSD)を検出し、カテゴリーを予測し、3D検出枠の位置を回帰します
    • 3D ターゲット検出を実現するために SSD 検出ヘッドが使用されており、SSD と同様に、PointPillars は 2D グリッド内のターゲットを検出し、Z 軸座標と高さは回帰によって取得されます。

VoxelNets モデルの視覚化の概要

VoxelNets モデルは、28 の畳み込み、3 つの転置畳み込み、26 の BN、26 層の relu、および転置やリセットなどの複数の演算で構成されます [BN は主に伝播プロセスにおける勾配消失の問題を解決します]。

入力は 40000 x 4 voxel_coords と 40000 x 32 x 10 の特徴で構成されます。

ここに画像の説明を挿入

出力は、hm の 1 x 200 x 380 x 8、rot の 1 x 200 x 380 x 2、dim の 1 x 200 x 380 x 3、height の 1 x 200 x 380 x 1、および 1 x 200 x 380 x で構成されます。 reg構成の2。
ここに画像の説明を挿入

VoxelNet の主な仕事:

  1. 点群の順序が乱れたデータ構造の抽出問題を解決しました。
    画像の説明を追加してください

ボクセル (3 次元世界の一定の空間ごとに 1 つに分割し、ポイントネット ネットワークを使用して小さなグリッドの特徴を抽出し、抽出された特徴を使用して小さなグリッドを表現し、それを 3D 空間に戻します) を使用します。このようにして、順序性のない点群データは高次元の特徴データに変換され、これらのデータは 3 次元空間で順序付けられます。) 以下の図は、ボクセルと点群の関係を示しています (画像は github から: KITTI_VIZ_3D)

ここに画像の説明を挿入

上図の緑色の立方体をボクセル、黒い点をLIDARで生成した点群データとみなすことができ、それぞれの点群が特定のボクセルに該当する場合、その点はそのボクセルに分割されます。

モジュール全体は大きく 3 つのモジュールに分かれています。

ここに画像の説明を挿入

それぞれ特徴学習ネットワーク、畳み込み中間層、領域提案ネットワークです。

1. 機能学習ネットワーク:

1) ボクセル分割 (各ボクセルを 3D 空間内の対応する位置に割り当てる):
3 次元空間の場合、長さ、幅、高さがそれぞれ X、Y、Z であり、各ボクセルのサイズは長さ Vx、幅それぞれ Vy、高さ Vz 3 次元空間は、X 上の X/Vx ボクセルと Y 上の Y/Vy ボクセルに分割できます (X、Y、Z がすべて Vx、Vy、Vz の倍数であると仮定します)。 )。
注: X、Y、Z は 0 ~ 70.4、-40 ~ 40、-3 ~ 1、Vx、Vy、Vz はそれぞれ 0.4、0.2、0.2 で、単位はメートルです。点群空間内の遠くのオブジェクトによって生成された点はまばらすぎるため、X、Y、Z 範囲を超える点は削除されます。

2) グループ化 (各点を対応するボクセルに割り当てる) とサンプリング (ボクセル内の点群のサンプリング)
3D 空間をボクセル化した後、3D 空間内のすべての点群をそれらが属するボクセルに割り当てる必要があります。LIDAR 自体の特性と反射ビームの捕捉により、距離、オブジェクトのオクルージョン、オブジェクト間の相対姿勢、不均一なサンプリングの影響を受けます。結果として得られる点群データは、3 次元空間全体で非常にまばらで不均一になります (一部のボクセルには点さえありません)。
また、高精度な LIDAR 点群には 10 万点以上の点が含まれるため、すべての点を直接処理すると膨大な計算量とメモリ消費が発生したり、点密度の大きな差によりモデル検出のずれが発生したりする可能性があります。
したがって、グループ化操作の後、空ではない各ボクセル内の T ポイントをランダムにサンプリングする必要があります。(0未満の場合は0で埋められ、超える場合はT点のみをサンプリングします)。
グループ化後のデータは (N, T, C) として表すことができます。N は空ではないボクセルの数、T は各ボクセル内のポイントの数、C はポイントの特性を表します。
注: 論文では、 T は 35、Z =Z/Vz... はそれぞれ 10、352、400 に相当しますZXYは各軸上のボクセル数を示します。

3) VFE スタッキング (スタックされたボクセル特徴エンコーディング) の以前の作業では、空
でない各ボクセルを 6 次元の統計ベクトルにエンコードすることを含む、エンコード後のボクセル データを使用しました。これらの統計は、ボクセル内の点から導出されます。統計を統合するか、ボクセルのローカル情報を使用するか、バイナリ エンコーディングを使用してボクセル操作をエンコードしますが、いずれも良好な結果は得られませんでした。
図に示すように、VoxelNet は上記の問題を解決します。
ここに画像の説明を挿入

空ではない各ボクセルは点セットであり、V={pi=[xi,yi,zi,ri]T は R の 4 乗に属する}、V=1...t として定義されます。ここで、t は以下です。 35 に等しく、Pi は点群データ内の i 番目の点を表します。xi、yi、zi は 3D 空間内の点の X、Y、Z 座標で、n はレーダーに反射された光の強度を表します (距離、入射角、オブジェクトの材質などに関連し、値は 0 ~ 1 の間になります)。
まず、ボクセル内の各ポイントでデータ強調操作を実行し、最初に各ボクセル内のすべてのポイントの平均値を計算し、(V_Cx、V_Cy、V_Cz) としてカウントし、次に各ポイントの xi、yi、zi を減算して平均値を求めます。対応する軸の値を使用して、各点の独自のボクセル中心に対するオフセット (xi_offset、yi_offset、zi_offset) を取得します。次に、取得したオフセット データと元のデータを結合して、ネットワークの入力データを取得します V = {pi = [xi , yi , zi , ri, xi_offset,yi_offset,zi_offset]T ∈ R^7}i=1…t 。

次に、PointNet が提案する手法を使用して、各ボクセル内の点を全結合層 (各全結合層には FC、RELU、BN が含まれます) を介して高次元空間に変換します。寸法も (N, 35, 7) から (N, 35, C1) に変更されました。次に、このフィーチャでは、最大のフィーチャ値 (Element-wise Maxpool) を持つ点を取り出してボクセル集約フィーチャ (ローカルに集約されたフィーチャ) を取得します。これは、このボクセルに含まれる表面形状情報をエンコードするために使用できます。これはPointNetにも記載されています。各ボクセルの集約された特徴を取得した後、この機能を使用して FC 後の高次元の特徴を強化し、集約された特徴を各高次元の点群特徴につなぎ合わせます (点単位の連結)。(N, 35, 2 *C1) を取得します。 )。

著者は、上記の特徴抽出モジュールを VFE (Voxel Feature Encoding) と呼び、各 VFE モジュールには 1 つのみのパラメータ行列 (C_in、C_out/2) が含まれます。VFE を介して各ボクセルによって出力される特徴には、ボクセル内の各点の高次元特徴と集約された局所特徴が含まれており、VFE モジュールをスタックするだけで、ボクセル内の各点の情報と局所特徴の間の相互作用を実現できます。集合点情報 。これにより、最終的な特徴はこのボクセルの形状情報を記述することができます。
ここに画像の説明を挿入

注: 各 VFE モジュールの FC のパラメータは共有されます。元の論文の実装では、合計 2 つの VFE モジュールがスタックされ、最初の VFE モジュールは入力次元 7 から 32 に次元を増加し、2 番目の VFE モジュールはデータの次元を 32 から 128 に増加しました。

スタックドボクセル特徴エンコーディングの後、(N, 35, 128) 特徴が取得され、このボクセルの最終的な特徴表現が取得されます。以前のポイント機能と集約機能を融合するには、この機能に対して別の FC 操作を実行する必要があります。この FC 操作の入力と出力は変更されません。つまり、取得されたテンソルはまだ (N, 35, 128) であり、要素ごとの Maxpool が実行されて各ボクセル内の最も具体的な代表点が抽出され、この点がボクセル、つまり (N, 35) を表すために使用されます。 、128) –> (N、1、128)

4) スパース テンソル表現 (特徴抽出後のスパース特徴の表現)
前述のスタックド ボクセル特徴エンコーディング処理では、空ではないボクセルが処理され、これらのボクセルは 3D 空間のごく一部にのみ対応します。ここでは、取得した N 個の空ではないボクセルの特徴をソース 3D 空間に再マッピングする必要があります。これは、スパース 4D テンソル (C, Z', Y', X') –> (128, 10, 400 , 352) として表現されます。 )。このスパース表現により、バックプロパゲーションにおけるメモリ消費と計算消費が大幅に削減されます。これは、効率化のために VoxelNet によって実装される重要なステップでもあります。

5) 効率的な実装 (ボクセル補数 0)

前のボクセル サンプリングでは、ボクセル内に T ポイントが存在しない場合、ポイントの数が 35 に達するまで 0 が追加され、35 ポイントを超える場合は、35 ポイントがランダムにサンプリングされます。ただし、元の論文での具体的な実装は次のとおりです。オリジナルの作成者は、以下の図に示すように、スタックドボクセル特徴エンコーディングの処理のための効率的な実装を設計しました。
ここに画像の説明を挿入

各ボクセルに含まれるポイントの数が異なるため、著者はここで点群データを高密度のデータ構造に変換し、後続のスタックドボクセル特徴エンコーディングを並列処理上のすべてのポイントとボクセル特徴で使用できるようにします。

1. まず、各ポイントまたは中間ボクセル特徴データを保存する K T 7 テンソル (ボクセル入力特徴バッファ) を作成します。ここで、K は空ではないボクセルの最大数、T は各ボクセル内のポイントの最大数、7 は各ポイントのエンコードされた特徴。すべてのポイントはランダムに処理されます。

2. 点群データ全体を走査します。点に対応するボクセルがボクセル座標バッファー内にあり、対応するボクセル入力フィーチャ バッファー内の点の数が T 未満の場合、この点をボクセル入力フィーチャ バッファーに直接挿入します。 ; それ以外の場合は、この点を直接無視します。ポイントに対応するボクセルがボクセル座標バッファーにない場合は、ボクセル座標バッファーのボクセル座標を直接使用してボクセルを初期化し、このポイントをボクセル入力フィーチャ バッファーに保存する必要があります。この操作全体はハッシュ テーブルを使用して実行されるため、時間計算量は O(1) です。ボクセル入力特徴バッファー全体とボクセル座標バッファーの作成には、点群データを 1 回走査するだけで済み、時間計算量はわずか O(N) です。同時に、メモリとコンピューティング リソースをさらに向上させるために、ボクセルの中点の数が m の数より小さいです。ボクセルは、変更されたボクセルの作成を直接無視します。

3. ボクセル入力特徴バッファーとボクセル座標バッファーを作成した後、スタックドボクセル特徴エンコーディングはポイントまたはボクセルに基づいて並列計算を直接実行できます。VFE モジュールの連結操作の後、以前に空だったポイントの特徴は 0 に設定され、ボクセルの特徴とポイントの特徴の一貫性が保証されます。最後に、ボクセル座標バッファーに保存されているコンテンツを使用して、スパース 4D テンソル データを復元し、その後の中間特徴抽出と RPN レイヤーを完了します。

2. 中間畳み込み層

スタックドボクセル特徴エンコーディング層の特徴抽出とスパーステンソルの表現の後、全体間の特徴抽出に 3 次元畳み込みを使用できます。各 VFE での抽出は各ボクセル情報を反映する前に行うため、ここでは 3D 畳み込みを使用して集計します。ボクセル間の局所的な関係を解析し、受容野を拡張してより豊富な形状情報を取得し、後続の RPN 層の結果を予測します。
3 次元畳み込みは ConvMD(cin, cout, k, s, p) で表すことができます。cin と cout は入力および出力チャネルの数、k は 3 次元畳み込みのカーネル サイズを表し、s はステップ サイズを表します。 p はパディングパラメータを表します。各 3 次元畳み込みの後には、BN 層と Relu 活性化関数が続きます。

注: 原文では、畳み込み中間層で 3 つの 3 次元畳み込みが使用されており、畳み込み設定はそれぞれ

Conv3D(128, 64, 3, (2,1,1), (1,1,1)),
Conv3D(64, 64, 3, (1,1,1), (0,1,1)),
Conv3D(64, 64, 3, (2,1,1), (1,1,1))
の最終的なテンソル形状は(64, 2, 400, 352) です。このうち64はチャンネル数です。
畳み込み中間層の後、データは RPN ネットワークに必要な特別な全体に編成される必要があり、畳み込み中間層によって取得されたテンソルは、高さ (64 * 2, 400, 352) に直接再整形されます。すると各次元はC、Y、Xになります。この操作を行う理由は、KITTI などのデータセットの検出タスクでは、オブジェクトが 3D 空間の高さ方向に積み重ねられておらず、車が別の車の上にあるという状況が存在しないためです。同時に、これにより、ネットワークの後段の RPN 層の設計の難しさと、後段のアンカーの数も大幅に軽減されます。

3. ポイントピラーと同じ、またはポイントピラーはこの構造を参照します - RPN レイヤー

VoxelNet の RPN 構造は、以前の畳み込み中間層とテンソルによって取得された特徴マップを再構成した後、特徴マップに対して複数のダウンサンプリングを実行し、その後、異なるダウンサンプリングされた特徴に対してデコンボリューション操作を実行して、特徴マップのサイズが同じになります。さまざまなスケールのこれらの特徴マップは、最終的な検出のためにつなぎ合わされます。

以下の図は VoxelNet における RPN の詳細な構造です (図は元の論文からのものです)
ここに画像の説明を挿入

VoxelNet の RPN 構造は、以前の畳み込み中間層とテンソルによって取得された特徴マップを再構成した後、特徴マップに対して複数のダウンサンプリングを実行し、その後、異なるダウンサンプリングされた特徴に対してデコンボリューション操作を実行して、特徴マップのサイズが同じになります。さまざまなスケールのこれらの特徴マップは、最終的な検出のためにつなぎ合わされます。画像ターゲット検出の NECK モジュールの PAN に少し似た感じです。ただ、ここには機能マップが 1 つしかありません。さまざまなスケールの情報を組み合わせます。ここで、畳み込みの各層は 2 次元の畳み込み演算であり、各畳み込みの後には BN 層と RELU 層が続きます。詳細なコンボリューション カーネル パラメーターの設定も図に示されています。

最終出力は、分類予測結果とアンカー回帰予測結果です。
アンカー パラメーターの設計
FrCNN の 9 つのアンカーとは異なり、VoxelNet ではアンカー スケールは 1 つだけ使用されます。アンカーの長さ、幅、高さはそれぞれ 3.9 メートル、幅 1.6 メートル、高さ 1.56 メートルです。同時に、FrCNN とは異なり、現実の 3 次元世界では、各オブジェクトは方向情報を持ちます。したがって、VoxelNet は、アンカーごとに 0 度と 90 度 (ライダー座標系) の 2 つの方向情報を追加します。

注: 元の論文では、著者は自動車、歩行者、自転車に対して異なるアンカー スケールを設計しており、歩行者と自転車はそれぞれ別のネットワーク構造を持っています (畳み込み中間層の設定が異なるだけです)。分析の便宜上、ここでは自動車のネットワーク設計のみを参考として使用します。

4. 損失関数

3D データのアノテーションには 7 つのパラメータ (x、y、z、l、w、h、θ) が含まれます。xyz はレーダー座標系における物体の中心点の位置を表します。lwh はオブジェクトの長さ、幅、高さを表します。θは、Z軸を中心とした物体の回転角(ヨー角)を表します。したがって、生成されたアンカーには、対応する 7 つのパラメーター (xa、ya、za、la、wa、ha、θa) も含まれます。ここで、xa、ya、za はレーダー座標系におけるアンカーの位置を表します。la、wa、ha はアンカーの長さ、幅、高さを表します。θa はこのアンカーの角度を表します。

したがって、各アンカーと GT の損失関数をエンコードする場合、式は次のようになります。
ここに画像の説明を挿入

ここで、 d^a はアンカーの下対角線の長さを表します。
ここに画像の説明を挿入
上記は各アンカー回帰の 7 つのパラメーターを直接定義していますが、総損失関数には各アンカーの分類予測も含まれているため、総損失関数の定義は次のようになります。

ここに画像の説明を挿入

このうち、pi pos はアンカーがソフトマックス関数後の正のサンプルであることを示し、pj neg はアンカーがソフトマックス関数後の負のサンプルであることを示します。ui とui は、正のサンプル アンカー回帰の損失を計算するだけで済みます。同時に、背景分類とカテゴリ分類の両方で BCE 損失関数が使用され、1/Npos および 1/Nneg が各アイテムの分類損失を正規化するために使用されます。α、β は 2 つのバランス係数で、論文ではそれぞれ 1.5 と 1 です。最終的な回帰損失には SmoothL1 関数が使用されます。

5. データの拡張

1. 点群の注釈データでは、GTbox はどの点がボックス内にあるかをすでにマークしているため、これらの点を同時に移動または回転して、大量の変化するデータを作成できます。これらの点を移動した後、以下の衝突検出が必要です。太字を削除してください。変換後、この GTbox は他の GTbox と混合されますが、これは現実には起こりません。

2. すべての GTbox をズームインまたはズームアウトします。ズームインまたはズームアウトのスケールは [0.95, 1.05] の間です。スケーリングの導入により、ネットワークのさまざまなサイズのオブジェクトの検出における汎化パフォーマンスが向上します。これは画像にあります。ごく普通。

3. すべての GTbox をランダムに回転させます [-45, 45] の一様分布から角度を抽出します 回転するオブジェクトのヨー角は、オブジェクトが実際に角を曲がる状況を模倣できます。

6. 結果ビュー

ここに画像の説明を挿入

2D 平面上でオブジェクトを正確に配置するだけでよい鳥瞰図検出と比較して、3D 検出は 3D 空間内でオブジェクトを正確に配置する必要があるため、より困難です。表 2 はこれらの比較をまとめたものです。Car クラスの場合、VoxelNet はすべての難易度で AP の他のすべてのメソッドよりも大幅に優れています。具体的には、LIDAR のみを使用する場合、VoxelNet は、LiDAR+RGB に基づく最先端の手法 MV (BV+FV+RGB) [5] を、簡単、中程度、難しいレベルでそれぞれ 10.68% および 2.78% 大幅に上回ります。そして6.29%。HC ベースラインは、MV [5] メソッドと同様の精度を持っています。鳥瞰図の評価と同様に、3D 歩行者および自転車検出についても VoxelNet と HC ベースラインを比較します。3D のポーズと形状は非常に多様であるため、これら 2 つのクラスのオブジェクトを正常に検出するには、より適切な 3D 形状表現が必要です。表 2 に示すように、より困難な 3D 検出タスクでは、VoxelNet のパフォーマンスが向上しています (鳥瞰図の 8% から 3D 検出の 12%)。これは、VoxelNet が手動よりも 3D 形状情報の捕捉に優れていることを示しています。 -細工された機能はより効果的です。

アルゴリズムの比較

ボクセルネット:

空間 ( z , y , x ) の範囲は [ − 3 , 1 ] × [ − 40 , 40 ] × [ 0 , 70.4 ] [-3,1]\times[-40,40]\times[0, 70.4][−3,1]×[−40,40]×[0,70.4]、解像度は ( 0.4 , 0.2 , 0.2 ) です。したがって、 ( D , H , W ) = ( 10 , 400 , 352 個の小さなボクセルに分割されます。

ある意味、ボクセルは新たな「点群」になったと考えることができます。
各ボクセル内の点群の数は T であり、T<=35 です。

  1. VFE レイヤー
    VFE レイヤーが行うべきことは、点群の特徴を 1 つのボクセルに収集することです。
    ここに画像の説明を挿入

このようにして、各ボクセルは (T,7) で表すことができます。ここで、T は点群の数、7 は 1 つの点群の寸法です。
VFE レイヤーは FCN + MaxPooling + Concat です。
具体的な操作は次のとおりです。

(T,7) ---- [7,16] 以降の FCN ---->(T,16) -----BN RELU------->(T,16)

(T,16) -->T の次元で MaxPooling -->(1,16) を実行し、グローバル ボクセルを反映するベクトルを取得します

(1,16) は FCN (T,16) と結合されます。つまり、個々の点群ベクトルがボクセルのグローバル ベクトルと結合されて (T,32) が得られます。

VFE は 2 回繰り返され、2 回目は

(T,32) -----[32,64] 以降の FCN----->(T,64) -----BN RELU------>(T,64)

(T,64) -->T の次元で MaxPooling -->(1,64) を実行し、グローバル ボクセルを反映するベクトルを取得します

(1,64) は FCN の後に (T,64) と接合されます。つまり、個々の点群ベクトルがボクセルのグローバル ベクトルと接合されて (T,128) が得られます。

最後に、再び MaxPooling が使用され、(T,128) ----> (1,128) となり、単一のボクセルを表すために使用される特徴ベクトル (1,128) が取得されます。
ボクセル マップ全体の最終的な特徴は (C, D, H, W) = (128, 10, 400, 352) です。

  1. 3D コンボリューションと RPN が
    VFE によって処理されると、それらはすでに通常のボクセル マップになり、単純に 2D 画像の拡張とみなすことができ、3D コンボリューションを使用して特徴を抽出し、RPN を検出に使用します。
    (128,10,400,352) ----3D---->(64,2,400,352)----->(128,400,352) -->RPN

欠点:
明らかに、ボクセル セグメンテーションの次元は比較的厳密です。

2番目:

  1. スパース畳み込みを使用して 3D 畳み込みを計算する
  2. VFE を無効にしているようです。単に平均値を使用するだけです。コード (11.5) でよく見る必要があります。
  3. データ拡張手法は注目に値します。
  4. 損失を追加しました

ポイントピラー

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_44077556/article/details/128970949