Skip to main content
QUICK REVIEW

[論文レビュー] BEVPoolv2: A Cutting-edge Implementation of BEVDet Toward Deployment

Junjie Huang, Guan Huang|arXiv (Cornell University)|Nov 30, 2022
Parallel Computing and Optimization Techniques被引用数 26
ひとこと要約

BEVPoolv2 は heavy frustum preprocessing を排除し、速度を向上させ、メモリを削減し、TensorRT 対応とデプロイメント指向の機能を実現する。

ABSTRACT

We release a new codebase version of the BEVDet, dubbed branch dev2.0. With dev2.0, we propose BEVPoolv2 upgrade the view transformation process from the perspective of engineering optimization, making it free from a huge burden in both calculation and storage aspects. It achieves this by omitting the calculation and preprocessing of the large frustum feature. As a result, it can be processed within 0.82 ms even with a large input resolution of 640x1600, which is 15.1 times the previous fastest implementation. Besides, it is also less cache consumptive when compared with the previous implementation, naturally as it no longer needs to store the large frustum feature. Last but not least, this also makes the deployment to the other backend handy. We offer an example of deployment to the TensorRT backend in branch dev2.0 and show how fast the BEVDet paradigm can be processed on it. Other than BEVPoolv2, we also select and integrate some substantial progress that was proposed in the past year. As an example configuration, BEVDet4D-R50-Depth-CBGS scores 52.3 NDS on the NuScenes validation set and can be processed at a speed of 16.4 FPS with the PyTorch backend. The code has been released to facilitate the study on https://github.com/HuangJunJie2017/BEVDet/tree/dev2.0.

研究の動機と目的

  • BEVDet ベースのマルチカメラ3D物体検出のデプロイメント効率を向上させる。
  • 大きな frustum feature preprocessing を排除して計算量とメモリフットプリントを削減する。
  • 解像度を問わず高い推論速度を実証し、エッジデバイスへのデプロイを可能にする。
  • TensorRT バックエンドを統合し、デプロイメント指向の設定を要約する(例: BEVDet4D のバリアント)。
  • 例として BEVDet4D-R50-Depth-CBGS の設定とその性能を提供する。

提案手法

  • Lift-Splat-Shoot ビュー変換器を、large frustum feature の計算・格納・前処理を回避する BEVPoolv2 に置き換える。
  • 体素インデックスと frustum インデックスを事前計算・オフライン前処理し、推論時にインデックスを介して frustum 点特徴にアクセスする。
  • 事前計算済みの固定インデックスを用いて frustum 点を追跡し、メモリと計算量を削減する。
  • より高速な推論のため TensorRT をサポート(FP16 を含む)し、解像度ごとのバックエンド固有のレイテンシを報告する。
  • 受容野の起点を自車座標系(IMU)中心に合わせ、BEVDepth に従って整合性を取る。

実験結果

リサーチクエスチョン

  • RQ1BEVPoolv2 は重い frustum feature の前処理を排除しつつ、検出性能を維持または向上させることができるか?
  • RQ2インデックスベースの前処理とオフライン事前計算によって、どれくらいの速度向上とメモリ節約が達成できるか?
  • RQ3標準入力解像度において、TensorRT 上の BEVDet のデプロイと PyTorch のデプロイでのレイテンシの利得はどの程度か?
  • RQ4高解像度入力(例: 640×1760)およびエッジデバイスへのデプロイに対する BEVPoolv2 の拡張性にはどう影響するか?
  • RQ5デプロイメント指向の BEVDet4D 構成(例: BEVDet4D-R50-Depth-CBGS)の精度と速度のパフォーマンスはどの程度か?

主な発見

バックエンド256×704384×1056512×1408640×1760
PyTorch37.964.7105.7154.2
TensorRT18.425.940.058.3
TensorRT-FP167.210.615.321.2
  • BEVPoolv2 は事前計算加速を用いて、BEVPoolv2 は 256×704 で最大 4,863 PFS、640×1760 で 1,509 FPS を達成。
  • メモリ使用量は劇的に削減され、256×704 で前回最速実装の 5.7%、640×1760 で 2.0% に。
  • TensorRT-FP16 は RTX 3090 上で BEVDet-R50 256×704 を 7.2 ms(≈138.9 FPS)に高速化し、PyTorch の 37.9 ms と比較。
  • BEVPoolv2 は従来最速より 256×704 で 3.1 倍、640×1760 で 8.2 倍速いとのこと(新実装) 。
  • BEVDet4D-R50-Depth-CBGS 構成は RTX 3090 で 16.4 FPS、NDS 52.3 を達成し、統合機能を備えたデプロイメント指向の性能を示す。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。