PointNet++ 入門
PointNet++ は、アンオーガナイズド LiDAR 点群のセマンティック セグメンテーションによく使用されるニューラル ネットワークです。セマンティック セグメンテーションにより、3 次元点群の各点が自動車、トラック、地面、植生などのクラス ラベルに関連付けられます。点群によるセマンティック セグメンテーションの詳細については、Semantic Segmentation in Point Clouds Using Deep Learningを参照してください。
PointNet++ ネットワークは、点群内の個々の点を階層的に処理します。このネットワークは、PointNet を使用して点クラスターから局所特徴を抽出し、それらの特徴をグループ化して点群全体からより高いレベルの特徴を生成します。
PointNet++ の応用例には次のものがあります。
デジタル林業適用向けの木のセグメンテーション。
航空 LiDAR データからの数値地形モデルの抽出。
ロボティクスにおける屋内ナビゲーションの知覚。
航空 LiDAR データからの 3 次元都市モデリング。
PointNet++ ネットワーク
PointNet++ ネットワークには、集合抽象化モジュールを含む符号化器と特徴伝播モジュールを含む復号化器があります。
集合抽象化モジュールは、一連の点を処理して抽出し、より少ない要素からなる新しい集合を生成します。各集合抽象化モジュールには、サンプリングとグループ化の層に続いて、PointNet 層が含まれています。
サンプリングとグループ化の層では、局所的領域の重心を特定してサンプリングを実行します。その後、重心の周囲の近傍点からなる局所的領域の集合を構成してグループ化を実行します。
PointNet 層には、畳み込み層、正規化層、ReLU 層の一連の層とその後の最大プーリング層からなる、mini-PointNet ネットワークが含まれます。この層により、局所的領域のパターンが特徴ベクトルに符号化されます。
特徴伝播モジュールは、サブサンプリングされた点を内挿し、それらを集合抽象化モジュールからの点の特徴と連結します。ネットワークは、その後、それらの特徴を unit PointNet ネットワークを通じて渡します。そのネットワークで特徴がさらに処理され、より高いレベルの特徴が生成されます。
つまり、正確なセマンティック セグメンテーションのために、PointNet++ は入れ子構造の分割された入力に PointNet を再帰的に適用してマルチスケールの特徴を抽出します。
PointNet++ ネットワークの作成
点群データをセグメント化するための PointNet++ ネットワークを作成するには、関数 pointnetplusNetwork
を使用します。
PointNet++ ネットワークの学習
点群データをセグメント化するための PointNet++ ネットワークに学習させる方法については、PointNet++ 深層学習を使用した航空 LiDAR のセマンティック セグメンテーションを参照してください。
コード生成
PointNet++ ネットワーク用の CUDA® コードを生成する方法については、Code Generation for Aerial Lidar Semantic Segmentation Using PointNet++ Deep Learningを参照してください。
参照
[1] Qi, Charles R., Li Yi, Hao Su, and Leonidas J. Guibas. ‘PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space’. ArXiv:1706.02413 [Cs], 7 June 2017. https://arxiv.org/abs/1706.02413.
[2] Varney, Nina, Vijayan K. Asari, and Quinn Graehling. ‘DALES: A Large-Scale Aerial LiDAR Data Set for Semantic Segmentation’. ArXiv:2004.11985 [Cs, Stat], 14 April 2020. https://arxiv.org/abs/2004.11985.
参考
アプリ
- ディープ ネットワーク デザイナー (Deep Learning Toolbox) | LiDAR ビューアー | LiDAR ラベラー
関数
pointnetplusNetwork
|squeezesegv2Network
|semanticseg
|trainnet
(Deep Learning Toolbox) |evaluateSemanticSegmentation
関連する例
- PointNet++ 深層学習を使用した航空 LiDAR のセマンティック セグメンテーション
- Code Generation for Aerial Lidar Semantic Segmentation Using PointNet++ Deep Learning
- Lidar Point Cloud Semantic Segmentation Using SqueezeSegV2 Deep Learning Network
- Lidar Point Cloud Semantic Segmentation Using PointSeg Deep Learning Network