129、点云分割:从PointNet到PointNet++的点云语义理解

发布时间:2026/8/29 17:53:14
129、点云分割:从PointNet到PointNet++的点云语义理解 129、点云分割:从PointNet到PointNet++的点云语义理解上周调试一个机械臂抓取场景,点云分割模型在桌面上把杯子和背景点糊成一团,我盯着TensorBoard里那团蓝绿色的点云看了半小时,最后发现是输入点云没有做归一化——坐标值直接喂进了网络,PointNet的MLP被大数值坐标直接带偏。这种问题在2D图像里几乎不会遇到,但在点云处理里,输入数据的预处理细节往往比模型结构更决定成败。今天就把从PointNet到PointNet++这条线彻底捋一遍,包括那些论文里不会写的坑。点云为什么难搞点云和图像最大的区别在于数据结构。图像是规则的网格,像素之间有天然的邻域关系,卷积核一滑就能提取局部特征。点云呢?一堆无序的三维坐标点,没有顺序,没有网格,密度还不均匀。你换一下点的排列顺序,同一个物体就变成了不同的输入张量。这让所有依赖顺序的神经网络结构直接失效。另一个问题是点云是稀疏的。一个桌面上可能只有几千个点,但场景空间是连续的,大部分区域是空的。你没法像图像那样用固定大小的卷积核去扫,因为大部分位置没有点。所以点云处理的核心挑战就两个:无序性和置换不变性。你要设计一个函数,输入是点集,输出是特征,但无论你怎么打乱点的顺序,输出必须一样。PointNet:用对称函数硬刚无序性PointNet的思路简单粗暴——既然点是无序的,那我就用一个对称函数来聚合所有点的特征。对称函数就是那种输入顺序不影响输出的函数,比如max、s