Main Content

PointNet++ 入門

PointNet++ は、アンオーガナイズド LiDAR 点群のセマンティック セグメンテーションによく使用されるニューラル ネットワークです。セマンティック セグメンテーションにより、3 次元点群の各点が自動車、トラック、地面、植生などのクラス ラベルに関連付けられます。点群によるセマンティック セグメンテーションの詳細については、Semantic Segmentation in Point Clouds Using Deep Learningを参照してください。

PointNet++ ネットワークは、点群内の個々の点を階層的に処理します。このネットワークは、PointNet を使用して点クラスターから局所特徴を抽出し、それらの特徴をグループ化して点群全体からより高いレベルの特徴を生成します。

Segmentation with PointNet++ network

PointNet++ の応用例には次のものがあります。

  • デジタル林業適用向けの木のセグメンテーション。

  • 航空 LiDAR データからの数値地形モデルの抽出。

  • ロボティクスにおける屋内ナビゲーションの知覚。

  • 航空 LiDAR データからの 3 次元都市モデリング。

PointNet++ ネットワーク

PointNet++ ネットワークには、集合抽象化モジュールを含む符号化器と特徴伝播モジュールを含む復号化器があります。

集合抽象化モジュールは、一連の点を処理して抽出し、より少ない要素からなる新しい集合を生成します。各集合抽象化モジュールには、サンプリングとグループ化の層に続いて、PointNet 層が含まれています。

  • サンプリングとグループ化の層では、局所的領域の重心を特定してサンプリングを実行します。その後、重心の周囲の近傍点からなる局所的領域の集合を構成してグループ化を実行します。

  • PointNet 層には、畳み込み層、正規化層、ReLU 層の一連の層とその後の最大プーリング層からなる、mini-PointNet ネットワークが含まれます。この層により、局所的領域のパターンが特徴ベクトルに符号化されます。

特徴伝播モジュールは、サブサンプリングされた点を内挿し、それらを集合抽象化モジュールからの点の特徴と連結します。ネットワークは、その後、それらの特徴を unit PointNet ネットワークを通じて渡します。そのネットワークで特徴がさらに処理され、より高いレベルの特徴が生成されます。

つまり、正確なセマンティック セグメンテーションのために、PointNet++ は入れ子構造の分割された入力に PointNet を再帰的に適用してマルチスケールの特徴を抽出します。

PointNet++ Network

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.

参考

アプリ

関数

関連する例

詳細