PointPillars 入門
PointPillars は、2 次元畳み込み層を使用して 3 次元オブジェクト検出を行うための方法です。PointPillars ネットワークには、PointNet を使用して柱状 (垂直方向の柱) に整理された点群の表現を学習する学習可能な符号化器があります。ネットワークは、その後、2 次元畳み込みニューラル ネットワーク (CNN) を実行してネットワーク予測を生成し、その予測を復号化して、自動車、トラック、歩行者などのさまざまなオブジェクト クラスの 3 次元境界ボックスを生成します。
PointPillars ネットワークの主な段階は次のとおりです。
特徴符号化器を使用して点群をスパースな疑似イメージに変換する。
2 次元畳み込みバックボーンを使用して疑似イメージを高水準の表現に処理する。
検出ヘッドを使用して 3 次元境界ボックスを検出して回帰させる。
PointPillars ネットワーク
PointPillars ネットワークには、柱のインデックスと柱の特徴の 2 つの入力が必要です。インデックスは P 行 2 列、特徴は P×N×K の行列です。P はネットワークにおける柱の数、N は柱あたりの点の数、K は特徴次元です。
ネットワークは、PointNet を簡略化した特徴符号化器から始まります。これには、畳み込み層、バッチ正規化層、ReLU 層の一連の層とその後の最大プーリング層が含まれます。最後の散乱層は、抽出された特徴を柱のインデックスを使用して 2 次元空間にマッピングします。
ネットワークには、その後に、符号化器と復号化器のブロックで構成される 2 次元 CNN バックボーンがあります。符号化器ブロックは、それぞれ畳み込み層、バッチ正規化層、および ReLU 層で構成され、さまざまな空間分解能で特徴を抽出します。復号化器ブロックは、それぞれ転置畳み込み層、バッチ正規化層、および ReLU 層で構成されます。
ネットワークは、その後、各復号化器ブロックの最後に出力特徴を連結し、それらの特徴を畳み込み層とシグモイド層をもつ 6 つの検出ヘッドを通じて渡して、占有、位置、サイズ、角度、向き、およびクラスを推定します。
PointPillars ネットワークの作成
PointPillars 深層学習ネットワークは、ディープ ネットワーク デザイナー (Deep Learning Toolbox) アプリを使用して対話的に作成できます。PointPillars ネットワークをプログラムで作成するには、pointPillarsObjectDetector
オブジェクトを使用します。
転移学習
"転移学習" とは、一般的な深層学習手法であり、新しいタスクのためにネットワークに学習させる開始点として事前学習済みのネットワークを使用します。
事前学習済みの pointPillarsObjectDetector
ネットワークを使用して転移学習を実行するには、新しいオブジェクト クラスおよび対応するアンカー ボックスを指定します。次に、新しいデータ セットでネットワークに学習させます。
アンカー ボックスは、検出する特定のオブジェクト クラスのスケールと縦横比を取得します。アンカー ボックスは通常、学習データ セットのオブジェクト サイズに基づいて選択されます。アンカー ボックスの詳細については、アンカー ボックスによるオブジェクトの検出を参照してください。
PointPillars オブジェクト検出器の学習とオブジェクト検出の実行
PointPillars ネットワークに学習させるには、関数 trainPointPillarsObjectDetector
を使用します。学習させた PointPillars ネットワークでオブジェクト検出を実行するには、関数 detect
を使用します。PointPillars ネットワークに学習させる方法の詳細については、PointPillars 深層学習を使用した LiDAR の 3 次元オブジェクト検出を参照してください。
コード生成
PointPillars ネットワーク用の CUDA® コードを生成する方法については、PointPillars 深層学習を使用した LiDAR オブジェクト検出用のコード生成を参照してください。
参照
[1] Lang, Alex H., Sourabh Vora, Holger Caesar, Lubing Zhou, Jiong Yang, and Oscar Beijbom. “PointPillars: Fast Encoders for Object Detection From Point Cloud” In 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 12689–97. Long Beach, CA, USA: IEEE, 2019. https://doi.org/10.1109/CVPR.2019.01298.
[2] Hesai and Scale. PandaSet. https://scale.com/open-datasets/pandaset.
参考
アプリ
- ディープ ネットワーク デザイナー (Deep Learning Toolbox) | LiDAR ビューアー | LiDAR ラベラー
オブジェクト
関数
関連する例
- PointPillars 深層学習を使用した LiDAR の 3 次元オブジェクト検出
- PointPillars 深層学習を使用した LiDAR オブジェクト検出用のコード生成
- Lane Detection in 3-D Lidar Point Cloud
- 球面投影の使用による点群のアンオーガナイズドからオーガナイズドへの変換
詳細
- MATLAB による深層学習 (Deep Learning Toolbox)
- Deep Learning with Point Clouds