点云(point cloud)是由大量离散的三维点构成的数据集,广泛应用于计算机图形学、机器人、自动驾驶等领域。然而,原始的点云数据往往十分庞大,包含大量的冗余信息和噪声。为了减小数据规模、降低计算复杂度,并保留主要的形状特征,点云下采样(downsampling)成为一个重要的预处理步骤。本文将介绍三种常用的点云下采样方法,并演示如何使用 Open3D Python 库实现这些方法。
1. Voxel Grid 下采样
Voxel Grid 下采样是一种基于体素(Voxel)的方法。它将点云空间划分为规则的立方体网格,并保留每个网格中的一个代表性点作为采样结果。这种方法简单高效,适用于大多数场景。
import open3d as o3d
def voxel_grid_downsampling(pcd, voxel_size):
downsampled = pcd.voxel_down_sample