RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Cloudsを読んだのでメモ
はじめに
RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Cloudsを読んだのでメモ. LiDARデータなど,大量の点群データ(オーダー)に対して従来より高速にsemantic segmentationをするモデルの提案.
RandLA-Net
提案するモデルは点群を効率的に演算するためのRandom Samplingと局所的な特徴を抽出するLocal Feature Aggregationからなる.
Random samplingは名前の通り入力の点群からランダムに点をサンプリングする. ランダムのモチベーションは,何か凝ったことをやろうとするとオーダーになり,ミリオンオーダーの点群に対しては例え線形のオーダーでも厳しい. 強化学習で効率的なサンプリングのpolicyを学習する方法もあるが,探索空間が広すぎて学習が収束しないという問題がある. なのでランダムサンプリングにしたよということ. 一方で,ランダムにサンプリングすると重要な点を落とす可能性があるので強力なfeature aggregationが必要ということで,新たなaggregation方法を提案する.
RandLA-Netのlocal feature aggregationはlocal spatial encoding (LocSE)とAttentive Poolingから成るresidual blockによって実現される.
local spatial encoding (LocSE)
入力として,点群の点ごとの3次元座標と特徴量(RGBや中間出力など) を考える. 処理としてまず,番目の点に対して近傍[tex:\{p_i^1,\dots,p_i^k,\dots,p_i^K\}を計算する. これらrの点を使い次のように変換する.
ただし,はconcatenationで,はユークリッド距離を表す. MLPの入力は冗長性を持つがプラクティカルには良かったとのこと. 結果的に次元ベクトルをMLPに入力し,対応する特徴ベクトルと同じ次元ベクトルを出力する. これは近傍の各点に適用されるため,結果として次元となる.
最終的にとをconcatenateして次元ベクトルを出力する.
Attentive Pooling
Attentive PoolingはLocSEの出力を集約する.
より具体的には次のように重み付き和を行う.
はMLPからとして計算される. ただし,はMLPの学習パラメータで,式の通りやに依存しない(パラメータ共有してる). また,式からは分かりにくいが,はsoftmaxで正規化されている(Fig. 3).
Dilated Residual Block
上記のLocSEとAttentive Poolingから成るDilated Residual BlockとRandom Samplingを積み上げることで提案するRandLA-Netは構成される. 言葉で書くと煩雑に成るためFig. 3参照.
最終的なモデルの全体像はAppendixのFig. 7参照.
まとめ
各種データセットで従来手法を上回るmIoUを達成. 計算時間もPointNetより少し早いにもかかわらずmIoUはPointNetを大幅に上回る. Random Samplingでも十分動くものだなという印象. 前のPoint-Voxel Convでも思ったけど,点群処理は意外と単純なやり方でも精度出るものだなと.