点云是什么?用大量三维坐标点描述物体和场景
点云(Point Cloud)是三维空间中大量点的数据集合,可以用来表示三维的形状或物体,通常由三维扫描仪获取。点云中每个点的位置由一组三维坐标(X、Y、Z)描述,有些点还带有颜色信息(R、G、B),或者物体表面反射的强度信息。强度信息是激光扫描仪接收到的回波信号的强弱,与物体表面的材质、粗糙度、入射角度等有关。
点云是怎么得到的
激光雷达(LiDAR):向周围发射激光束,测量激光碰到物体后反射回来所需的时间,从而计算出物体的距离,每秒可以测量几十万甚至上百万个点,快速地扫描出周围环境的三维结构。自动驾驶汽车车顶上常见的旋转装置,很多就是激光雷达。深度相机:比如一些手机上的结构光或飞行时间(ToF)传感器,能获取画面中每个像素的深度,转换成点云。摄影测量:从多个角度拍摄同一个物体或场景的照片,通过计算推算出三维的点。
点云数据的特点
点云和图片有很大的不同,这给处理它带来了特殊的挑战。无序性:点云只是一堆点的集合,点的排列顺序没有意义,把顺序打乱,描述的还是同一个物体,而图片的像素是规整排列的。稀疏和不均匀:点的分布往往很不均匀,离传感器近的地方点很密,远的地方很稀疏,被遮挡的地方则完全没有点。数据量大:一次扫描可能产生数百万个点。没有直接的连接关系:点和点之间没有明确的连接,看不出物体的表面是什么样子,需要通过算法重建。
怎么用 AI 处理点云
因为点云不规则,不能直接套用处理图片的卷积神经网络。早期的方法常把点云转换成规则的三维网格(体素),或者投影成多个角度的二维图片再处理。2017 年斯坦福大学提出的 PointNet 是一个里程碑,它直接以原始的点作为输入,用对称函数处理无序性,开创了直接在点上进行深度学习的方向,此后出现了 PointNet++、点云 Transformer 等大量改进方法。常见的点云任务包括:三维目标检测,比如在自动驾驶中识别周围的车辆和行人;点云分割,给每个点标注它属于道路、建筑还是树木;点云分类、配准(把不同扫描得到的点云对齐拼接)以及三维重建。
应用
点云被广泛应用于自动驾驶的环境感知、机器人的导航和抓取、建筑和工程的测绘、文物和古建筑的数字化保护、城市的三维建模和数字孪生、工业产品的质量检测,以及虚拟现实和游戏中的三维场景构建。