3D相机调研

最近因为自己实验需要配置一个3D相机,安装在机械臂上实现eye in arm的自动化引导过程,调研结果记录如下:

3D相机又称为深度相机,即通过该相机能检测出拍摄空间的景深距离(与普通相机(2D的最大区别))。

普通彩色相机(2D相机)拍摄到的图片能将看到相机视角内的所有物体记录下来,但是其记录的数据不包含这些物体离相机的距离,我们仅仅是通过图像的语义分析来判断出哪些物体离我们比较远,哪些物体比较近,只是没有具体的数据表示。而3D相机通过获取到的数据,我们可以准确知道图像中每个点离摄像头的距离,这样再加上该点在2d图像中的(x,y坐标),我们就能获取图像中每个点的三维空间坐标,通过三维坐标就能还原真实场景,实现场景的建模等操作。

课外扩展:我们的眼睛就是一个天然的3D相机,这主要是由于偏光原理,当人眼在看任何物体时,由于两只眼睛在空间有一定间距约为5cm,即存在两个视角,这样形成左右两眼所看到的图像不完全一样,称为视差。这种细微的视差通过视网膜传递到大脑,就能显示出物体的前后远近产生强烈的立体感。因此根据这一奇妙现象,人类就通过两个一定距离的普通摄像头来模拟人眼获取3D数据。这就是最初的双目立体相机,鉴于双目相机的一些缺陷,后来人们又发明了结构光和TOF方法来获取3D数据。(目前3D相机方案就是这三种)

目前主流的深度探测技术是结构光,TOF,和双目。

(1)结构光(Structured-light):

结构光通过采用特定波长的不可见的红外激光作为光源,他发射出来的光经过一定的编码投影在物体上,通过一定算法来计算返回的编码图案的畸变来得到物体的位置和深度信息,根据编码图案不同一般有条纹结构光--enshape,编码结构光--Mantis Vision,Realsense(F200),散斑结构光,奥比中光。

结构光代表公司:奥比中光、苹果(Prime Sense)、微软Kinect-1、英特尔RealSense、Mantis Vision等。

(2)光飞行时间法(TOF,Time of flight):

TOF是Time of flight的简写,直译是飞行时间的意思,测量光飞行时间来取得距离。所谓飞行时间法3D成像,直白来说,是通过给目标连续发送激光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离。因为光速激光,通过直接测光飞行时间实际不可行,一般通过检测一定手段调制后的光波的相位偏移来实现。

TOF法根据调制方法的不同,一般可以分为两种:脉冲调制(Pulsed Modulation)和连续波调制(Continuous Wave Modulation)。脉冲调制需要非常高精度时钟进行测量,且需要发出高频高强度激光,目前大多采用检测相位偏移办法来实现TOF功能。

下图描述了TOF相机(连续波)的基本原理,实际应用中,通常采用的是正弦波调制。由于接收端和发射端的正弦波的相位偏移和物体距离摄像头的距离成正比,因此可以利用相位偏移来测量距离。 

因为TOF并非基于特征匹配,这样在测试距离变远时,精度也不会下降很快,目前无人驾驶以及一些高精度的消费类Lidar基本都是采用该方法来实现。

TOF的优点主要有:

1)检测距离远。在激光能量够的情况下可达几十米。

2)受环境光干扰比较小。

缺点:

1)对设备要求高,特别是时间测量模块。

2)资源消耗大。该方案在检测相位偏移时需要多次采样积分,运算量大。

3)边缘精度低。

4)限于资源消耗和滤波,帧率和分辨率都没有办法做到较高,目前消费类最大就是VGA。

TOF代表公司:微软Kinect-2、PMD、SoftKinect、联想Phab。

(3)双目视觉(Stereo):

双目立体视觉是基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的方法。目前有主动双目,被动双目之分,被动双目就是采用可见光,好处是不需要额外光源,但是晚上无法使用,主动双目就是主动发射红外激光做补光,这样晚上也能使用。

双目视觉仅仅依靠图像进行特征匹配,对附加设备要求低,在使用双目视觉相机前必须对双目中两个摄像头的位置进行精确标定,下面图片很好的简单阐述了双目相机如何获取物体的深度数据。同一直线上的3个点在下端的相机都投影到cmos同一个点,因此单独的这个相机没法分辨三个点的距离,但是这三个点在上端相机的投影位置不同,通过三角测量方法和两个相机基线距离B,我们就可以计算出这三个点离相机平面的距离。

当然完整的双目深度计算非常复杂,主要涉及到左右相机的特征匹配,计算会非常消耗资源。

双目相机的主要优点有:

1)硬件要求低,成本低。普通CMOS相机即可。

2)室内外都适用,只要光线合适,不要太昏暗。

双目的缺点:

1)对环境光照非常敏感。光线变化导致图像偏差大,进而会导致匹配失败或精度低。

2)不适用单调缺乏纹理的场景。双目视觉根据视觉特征进行图像匹配,没有特征会导致匹配失败。

3)计算复杂度高。该方法是纯视觉的方法,对算法要求高,计算量大。

4)基线限制了测量范围。测量范围和基线(两个摄像头间距)成正比,导致无法小型化。

双目视觉代表公司:Leap Motion、ZED、大疆;

PS:结构光只有一个红外摄像头,所以只有一张相片。(不管是双目还是结构光,彩色摄像头用于获取物体彩色信息,和3D技术无关)

从以上三个主流的3D相机成像方案来看,各有优劣,从实际应用场景来看,在非无人驾驶领域,结构光,特别是散斑结构光的用途最广泛。因为从精度,分辨率还有应用场景的范围来看双目和TOF都没有办法做到最大平衡。而且对于结构光容易受环境干扰,特别是太阳光影响问题,鉴于此类相机都有红外激光发射模块,非常容易改造为主动双目来弥补该问题。当然这三种方案在发展过程中也会有一些融合,如主动双目+结构光,取长补短,使3D相机能适应更多场景。也有一些同时使用,如手机前置基本确认会采用结构光来做Faceld,但是后置用来做AR应用,结构光和TOF都有机会。

猜你喜欢

转载自blog.csdn.net/m0_37957160/article/details/108321577