在计算机中, 图像由一个个像素点组成。图像数据存储在每一个像素点中,每一个像素点包含了被测物体的信息。除了常见的RGB信息或者灰度信息以外,还可以包含深度信息和坐标等其它信息。在某个坐标系下的点的数据集又被称为点云。点云里的每一个点包含了丰富的信息,包括三维坐标X,Y,Z、颜色、分类值、强度值、时间等等。通过高精度的点云数据可以还原现实世界。
大多数点云数据是由3D扫描设备产生的,例如激光雷达(2D/3D)、RGB双目、3D结构光相机、tof相机(time-of-flight camera)等。这些设备用自动化的方式测量在物体表面的大量的点的信息,然后用某种数据文件输出点云数据。这些点云数据就是扫描设备所采集到的。
激光雷达是一种集激光扫描与定位定姿系统于一身的测量装备,激光雷达系统包括激光器和一个接收系统。激光器产生并发射一束光脉冲,打在物体上并反射回来,最终被接收器所接收。接收器准确地测量光脉冲从发射到被反射回的传播时间。鉴于光速是已知的,传播时间即可被转换为对距离的测量。结合激光器的高度,激光扫描角度,就可以准确地计算出每一个地面光斑的三维坐标X,Y,Z,如图所示。
RGB双目指的是目前大家都在热点研究的,仅依靠双相机的视差获取深度信息的方式。RGB双目相机因为非常依赖纯图像特征匹配,所以在光照较暗或者过度曝光的情况下效果都非常差,另外如果被测场景本身缺乏纹理,也很难进行特征提取和匹配。
根据几何原理:
可以得出坐标信息。
虽然由视差计算深度的公式很简洁,但视差d本身的计算却比较困难。我们需要确切地知道左眼图像某个像素出现在右眼图像的哪一个位置(即对应关系),这件事亦属于“人类觉得容易而计算机觉得困难”的事务。当我们想计算每个像素的深度时,其计算量与精度都将成为问题,而且只有在图像纹理变化丰富的地方才能计算视差。由于计算量的原因,双目深度估计仍需要使用GPU或FPGA来计算。
结构光利用相位信息进行三维重建,主要包括解相位和展开相位,利用展开的相位计算深度信息。解相位,也称为相位提取,主要包括相移法,傅里叶变换解相,卷积法解相。这些方法所提取的是相对相位,即相位主值,都是折叠相位,是被折叠在[-pi,pi]之间的,需要相位展开才能得到真实的相位。从大的分类上说,主要有时间相位展开和空间相位展开。
利用结构光技术的重建过程中,又分为两类,一类是有参考平面,一类是没有参考平面。
有参考平面的系统中,只要求出参考平面和被测物体的相对相位差,利用PMP(相位测量轮廓法)方法即可求得深度信息。如下图:
如果利用Gray编码加相移算法与多频外差原理展开得到的是像素点位置的绝对相位值,则利用下面的方法进行求解深度信息。
一个 ccd 只可以确定一条空间直线,需要确定投影仪的灰度线平面,共同匹配出的点的三维坐标。采集的图像解相后,可根据 CCD的绝对相位值可以求得投影仪对应的绝对相位值为:
TOF是Time of flight的简写,直译为飞行时间的意思。所谓飞行时间法3D成像,是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离。这种技术跟3D激光传感器原理基本类似,只不过3D激光传感器是逐点扫描,而TOF相机则是同时得到整幅图像的深度信息。TOF相机与普通机器视觉成像过程也有类似之处,都是由光源、光学部件、传感器、控制电路以及处理电路等几部单元组成。与同属于非嵌入式三维探测、适用领域非常类似的双目测量系统相比,TOF相机具有根本不同的3D成像机理。双目立体测量通过左右立体像对匹配后,再经过三角测量法来进行立体探测,而TOF相机是通过入、反射光探测来获取的目标距离获取。
以上为对几种点云信息获取方式的介绍。