pointNet
- 无序性: 低维特征(\(N*3\))经过MLP层上升到高维,然后对高维采用最大池化(对称函数)
- 旋转不变性: 2个TNet, 学习一个旋转矩阵,对输入进行校正,对提取的特征也进行校正
pointNet++
pointNet没有局部的概念,要不对单个点,要不对所有点进行操作,为解决这一问题,PointNet++引入领域球进行区域划分。
- 区域划分:采用领域球进行区域划分(最远点采样算法进行采样,然后再根据采样点在半径r内选取k个点)
- 特征提取:利用PointNet进行特征提取
- 点云分布不一致: 提出MSG(多尺度分组)和MRG(多层次分组)
相关版本
windows10/centos7/ubuntu18.04
Opencv: 4.5.4
pytorch: 1.5.0
onnx: 1.10.2
基本思路
- pytorch下训练模型,得到权重文件
- pytorch模型转为onnx,中间不支持的算子采用自定义算子实现,可参考pytorch自定义算子
- Opencv调用onnx模型,中间涉及到自定义算子需要在OpenCV中在实现一遍, 可参考opencv调用onnx模型常见问题
参考链接
PointNet++详解与代码
PointNet系类详解
open3D实现pointNet++ C++
C++ pointNet++
C++ github 1
C++ github 2
原文链接: https://www.cnblogs.com/xiaxuexiaoab/p/15267344.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/184851
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!