本文为PointNet++ CUDA代码阅读系列的第一部分,其他详见:
(一)PointNet++代码梳理
(二)PointNet++中的FPS的CUDA实现
(三)PointNet++中ball query的CUDA实现
(四)PointNet++中的Three_nn的CUDA实现
PointNet++的核心操作是SA层和FP层,这里就来梳理一下SA层和FP层都干了什么。
SA层
参数:降采样点的数量(npoints),邻域半径(radii),邻域内点的数量(nsample),MLP
输入:xyz,features
计算过程如下:
new_xyz_idx = FPS(