随着机器视觉,自动驾驶等颠覆性的技术逐步发展,采用 3D 相机进行物体识别,行为识别,场景 建模的相关应用越来越多,可以说深度相机就是终端和机器人的眼睛,那么什么是深度相机呢,跟之前的普通相机(2D)想比较,又有哪些差别? 深度相机又称之为3D相机,顾名思义,就是通过该相机能检测出拍摄空间的景深距离,这也是与普通摄像头最大的区别。
普通的彩色相机拍摄到的图片能看到相机视角内的所有物体并记录下来,但是其所记录的数据不包含这些物体距离相机的距离。仅仅能通过图像的语义分析来判断哪些物体离我们比较远,哪些比较近,但是并没有确切的数据。而 深度相机则恰恰解决了该问题,通过深度相机获取到的数据,我们能准确知道图像中每个点离摄像头距离,这样加上该点在 2D 图像中的(x,y)坐标,就能获取图像中每 个点的三维空间坐标。通过三维坐标就能还原真实场景,实现场景建模等应用。
深度相机的方法分类如下表所示:
目前市面上常有的深度相机方案有以下三种。
(1)结构光(Structured-light),代表公司有奥比中光,苹果(Prime Sense),微软 Kinect-1,英特尔 RealSense, Mantis Vision 等。
(2)双目视觉(Stereo),代表公司 Leap Motion, ZED, 大疆;
(3)光飞行时间法(TOF),代表公司微软 Kinect-2,PMD,SoftKinect, 联想 Phab。
当然还有光场相机,
以下具体介绍几种这三种深度相机的原理:
结构光深度相机
结构光,英文叫做 Structured light,其原理是基本原理是,通过近红外激光器,将具有一定结构特征的光线投射到被拍摄物体上,再由专门的红外摄像头进行采集。这种具备一定结构的光线,会因被摄物体的不同深度区域,而采集不同的图像相位信息,然后通过运算单元将这种结构的变化换算成深度信息,以此来获得三维结构。简单来说就是,通过光学手段获取被拍摄物体的三维结构,再将获取到的信息进行更深入的应用。通常采用特定波长的不可见的红外激光作为光源,它发射出来的光经过 一定的编码投影在物体上,通过一定算法来计算返回的编码图案的畸变来得到物体的位置和深度信息。根据编码图案不同一般有:
条纹结构光,代表传感器 enshape ,
编码结构光,代表传感器 Mantis Vision, Realsense(F200),
散斑结构光 ,代表传感器 apple(primesense), 奥比中光。
下图是一个典型的结构光相机的示意图:
结构光(散斑)的优点主要有:
1)方案成熟,相机基线可以做的比较小,方便小型化。
2)资源消耗较低,单帧 IR 图就可计算出深度图,功耗低。
3)主动光源,夜晚也可使用。
4)在一定范围内精度高,分辨率高,分辨率可达 1280x1024,帧率可达 60FPS。
散斑结构光的缺点与结构光类似:
1)容易受环境光干扰,室外体验差。
2)随检测距离增加,精度会变差。
目前结构光技术有如下几种变种:一种是单目IR+投影红外点阵,另外一种是双目IR+投影红外点阵,这样相当于结构光+双目立体融合了,深度测量效果会比前者好一些,比如Intel RealSense R200采用的就是双目IR+投影红外点阵,不足之处就是体积较大。而单目IR+投影红外点阵的方案虽然体积较小,但是效果会差一点。
TOF
顾名思义是测量光飞行时间来取得距离,具体而言就是通过给目标连续发射激光脉冲,然后用传感器 接收从反射光线,通过探测光脉冲的飞行往返时间来得到确切的目标物距离。因为光速激光,通过直接测 光飞行时间实际不可行,一般通过检测通过一定手段调制后的光波的相位偏移来实现。 TOF 法根据调制方法的不同,一般可以分为两种:脉冲调制(Pulsed Modulation)和连续波调制 (Continuous Wave Modulation)。脉冲调制需要非常高精度时钟进行测量,且需要发出高频高强度激光,目 前大多采用检测相位偏移办法来实现 TOF 功能。简单来说就是,发出一道经过处理的光,碰到物体以后会反射回来,捕捉来回的时间,因为已知光速和调制光的波长,所以能快速准确计算出到物体的距离。
其原理示意图:
因为 TOF 并非基于特征匹配,这样在测试距离变远时,精度也不会下降很快,目前无人驾驶以及一些高 端的消费类 Lidar 基本都是采用该方法来实现。 TOF 的优点主要有:
1)检测距离远。在激光能量够的情况下可达几十米。
2)受环境光干扰比较小。
但是 TOF 也有一些显而易见的问题:
1)对设备要求高,特别是时间测量模块。
2)资源消耗大。 该方案在检测相位偏移时需要多次采样积分,运算量大。
3)边缘精度低。
4)限于资源消耗和滤波,帧率和分辨率都没办法做到较高。
目前消费类最大也就 VGA。 从上面三种主流的 3D 相机成像方案来看,各有优劣,但是从实际应用场景来看,在非无人驾驶领域,结构 光,特别是散斑结构光的用途是最广泛。因为从精度,分辨率,还有应用场景的范围来看双目和 TOF 都没 有办法做到最大的平衡。而且对于结构光容易受环境光干扰,特别是太阳光影响问题,鉴于此类相机都有 红外激光发射模块,非常容易改造为主动双目来弥补该问题。
结构光与TOF的对比
对比来看,结构光技术功耗更小,技术更成熟,更适合静态场景。而TOF方案在远距离下噪声较低,同时拥有更高的FPS,因此更适合动态场景。
目前,结构光技术主要应用于解锁以及安全支付等方面,其应用距离受限。而TOF技术主要用于智能机后置摄影,并在AR、VR等领域(包括3D拍照、体感游戏等)有一定的作用。
3D结构光和TOF两者其实各有优劣势。结构光最大的优势是发展的较为成熟,成本比较低,劣势是只适合中短距离使用。ToF优势是抗干扰性较好,视角较宽,缺陷是功耗高,造价贵,精度及深度图分辨率较低。两项技术各有侧重点和适配使用场景。
双目立体视觉
双目立体视觉(Binocular Stereo Vision)是机器视觉的一种重要形式,他是基于视差原理并利用成像设备 从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的 方法。
当然完整的双目深度计算非常复杂,主要涉及到左右相机的特征匹配,计算会非常消耗资源。 双目相机的主要优点有:
1)硬件要求低,成本也低。普通 CMOS 相机即可。
2)室内外都适用。只要光线合适,不要太昏暗。
但是双目的缺点也是非常明显:
1)对环境光照非常敏感。光线变化导致图像偏差大,进而会导致匹配失败或精度低
2)不适用单调缺乏纹理的场景。双目视觉根据视觉特征进行图像匹配,没有特征会导致匹配失败。
3)计算复杂度高。该方法是纯视觉的方法,对算法要求高,计算量较大。
4)基线限制了测量范围。测量范围和基线(两个摄像头间距)成正比,导致无法小型化。
三种深度相机的对比