3D数据处理总体流程
注:实际应用需要融合多种算法。
1 3D数据获取
双目匹配、结构光、光编码、TOF3D成像得到的都是深度图。
双目匹配3D成像算法(最常见)
基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的方法。
距离越远,物体离两个相机的视差越小。
优点
使用普通相机就可实现3D成像。
缺点
1 复杂背景下的3D匹配困难。
2 若拍摄的物体没有纹理(例如:白墙),两个相机识别不出视差,无法进行匹配。(以下方法可以改进该缺点)
结构光成像(点光源和线光源)
光编码成像原理(面光源)
TOF3D成像原理及信号模型
2 畸变矫正
畸变
镜头畸变实际上是光学透镜固有的透视失真的总称,也就是因为透视原因造成的失真,这种失真对于照片的成像质量是非常不利的,毕竟摄影的目的是为了再现,而非夸张,但因为这是透镜的固有特性(凸透镜汇聚光线、凹透镜发散光线),所以无法消除,只能改善。高档镜头光学设计以及用料考究,利用镜片组的优化设计、选用高质量的光学玻璃(如萤石玻璃)来制造镜片,可以使透视变形降到很低的程度。但是完全消除畸变是不可能的,最高质量的镜头在极其严格的条件下测试,在镜头的边缘也会产生不同程度的变形和失真。
透视的另一种表现,即物体越近,透视效果越强烈,比方说,200名士兵排成一纵队正在行进。如果在距离前面士兵10英尺的地方观看或拍摄队伍,那么前面的士兵就会显得比最后的士兵高大得多。但是,如果在远离前面士兵100米的地方观看或拍摄同一支队伍,第一个和最后一个士兵之间的大小差异就不会显得那么大。
透视的这两方面特征同样适用于所有的镜头,即:
1. 被摄体越远,显得越小;
2. 镜头离被摄体越远,被摄体外观上的大小变化越小。
畸变类型
枕型畸变(上图左)
桶型畸变(上图右)
线性畸变
畸变矫正
深度图到点云的转换计算
双目匹配、结构光、光编码、TOF3D成像得到的都是深度图。
3D数据表示和数据结构
3D数据表示
深度图
点云
体素
3D数据结构
三角剖分
八叉树
KD-Tree
3 3D点云获取
4 噪声和离群点过滤
3D滤波
深度图中有噪声,需要用滤波器降噪。
2D卷积平滑图像会使得高频信息丢失,高频信息是指近景跟远景之间的交接面,该交接面会变的更加平坦。
为了保证去噪的同时高频信息不丢失,需要使用双边滤波。
表面平滑
Laplacian 平滑
Moving Least Squares 曲面平滑
离群点过滤
离群点(下图黄圆圈):前景跟背景间应该有明显的交界面,但一般深度图中,边缘一般有少量噪声连接,其原因是在3d成像时,交界面的像素同时包括前景和背景,导致算出来的距离是错误的,这种噪声对图像任务都是不利的。
从深度图计算离群点的出现位置
思想:对深度图边缘提取,在边缘内
从点云计算离群位置
思想:边缘飞离点(图黄圆圈)与周围点的距离远,正常点与周围点的距离近。
5 数据格式转换
6 多帧数据配准融合
7 应用
几何测量
表面法向量估计
平面提取
RANSAC平面提取
表面重建
ICP 点云配准算法
SDF表面重建
分割 & 分类 & 识别