点群データをグラフ化したものに対するgraph neural netによる物体検出
点群を
- 格子Voxelとその中の点の数で表現(c.f. NDT localizer)
- 近傍点の集合で表現(c.f. PointNet)
- 近い点を結んだgraphで表現 (c.f GNN)
素朴なGNN
- v: vertex
- e: edge
- t:iteration回数
に対してVertexの状態sを隣接Vertex x のsで更新するようにし(3), さらにvertexからの変位Δxで表現するのが本手法(auto-registration)( 4)
$s_i^{t+1}=g^t (ρ {f^t (x_j -x_i ,s_j^t) | (i,j) ¥in E},s_i^t) $ (3)
$ ∆x_i^t t = h^t(s^t_i) $ $ s_i^{t+1} =g^t ({f^t (x_j -x_i + Δx_i^t ,s_j^t)},s_i^t) $
(4)
最終的に3つのMLP,edgeに沿ったaggregationによって構成される(5)。
$ ∆x_i^t t = MLP_h^t(s^t_i) $ $ e_ij^t=MLP_f^t ([x_j-x_i+Δx_i^j,s_j^t]) $ s_i[{t+1}=MLP_g^t(Max (e_{ij} |(i.j) ¥in E } ))_+s_i^t $
- average cross-entropy loss as the classification loss
- localization loss (位置のずれのHurber loss)
- L1 regularization to each MLP の和
出力される複数の重複するbounding boxの併合(RCNNなのでも行われる)。occluded objectに対して merged box by considering the entire overlapped box cluster
confidence Intersection-of-Union (IoU)
dataset KITTI のLiDAR data Car, Pedestrian and Cyclistに対してのaverage precision Pedestrianに対してはVoxelNetの方が高い
tensorflow https://github.com/WeijingShi/Point-GNN
pytorch
https://github.com/rui-qian/Point-GNN.pytorch-1
pytorch geometricを使っている
https://colab.research.google.com/drive/1D45E5bUK3gQ40YpZo65ozs7hg5l-eo_U?usp=sharing
性能のまとめサイト https://paperswithcode.com/paper/point-gnn-graph-neural-network-for-3d-object/review/
https://www.sciencedirect.com/science/article/abs/pii/S0925231220315150
https://paperswithcode.com/task/3d-point-cloud-classification