搜索
 找回密码
 立即注册

简单一步 , 微信登陆

智能手机双摄像头原理解析:RGB +Depth

作者:laowai_love | 时间:2017-5-19 13:56:59 | 阅读:4273| 只看该作者
                                                            深度相机
顾名思义,深度相机就是可以直接获取场景中物体距离摄像头物理距离的相机。根据原理不同,主要有飞行时间(TOF)、结构光、激光扫描几种方式(注:有些地方将双目立体视觉相机也列为深度相机的一种,它是单纯依靠算法计算得到的深度信息)。目前使用较多的是TOF相机。目前主流的TOF相机厂商有PMD、MESA、Optrima、微软等几家,其中MESA在科研领域使用较多;PMD是唯一在室内/外都能使用的TOF相机厂商,多用于科研、工业等各种场合;Optrima、微软则主要面向家庭、娱乐应用,价位较低。
                                                                               TOF相机
OF(Time of flight)直译为“飞行时间”。其测距原理是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离。这种技术跟3D激光传感器原理基本类似,只不过3D激光传感器是逐点扫描,而TOF相机则是同时得到整幅图像的深度(距离)信息。
                                                           
TOF相机采用主动光探测,通常包括以下几个部分:

1、照射单元
照射单元需要对光源进行脉冲调制之后再进行发射,调制的光脉冲频率可以高达100MHz。因此,在图像拍摄过程中,光源会打开和关闭几千次。各个光脉冲只有几纳秒的时长。相机的曝光时间参数决定了每次成像的脉冲数。

要实现精确测量,必须精确地控制光脉冲,使其具有完全相同的持续时间、上升时间和下降时间。因为即使很小的只是一纳秒的偏差即可产生高达15 c m的距离测量误差。

如此高的调制频率和精度只有采用精良的LED或激光二极管才能实现。

一般照射光源都是采用人眼不可见的红外光源。

2、光学透镜
用于汇聚反射光线,在光学传感器上成像。不过与普通光学镜头不同的是这里需要加一个带通滤光片来保证只有与照明光源波长相同的光才能进入。这样做的目的是抑制非相干光源减少噪声,同时防止感光传感器因外部光线干扰而过度曝光。

3、成像传感器
是TOF的相机的核心。该传感器结构与普通图像传感器类似,但比图像传感器更复杂,它包含2个或者更多快门,用来在不同时间采样反射光线。因此,TOF芯片像素比一般图像传感器像素尺寸要大得多,一般100um左右。

4、控制单元
相机的电子控制单元触发的光脉冲序列与芯片电子快门的开/闭精确同步。它对传感器电荷执行读出和转换,并将它们引导至分析单元和数据接口。

5、计算单元
计算单元可以记录精确的深度图。深度图通常是灰度图,其中的每个值代表光反射表面和相机之间的距离。为了得到更好的效果,通常会进行数据校准。
TOF测距原理

下面来介绍一个经过高度简化的测距原理。

照射光源一般采用方波脉冲调制,这是因为它用数字电路来实现相对容易。深度相机的每个像素都是由一个感光单元(如光电二极管)组成,它可以将入射光转换为电流,感光单元连接着多个高频转换开关(下图的G1,G2)可以把电流导入不同的可以储存电荷(下图S1,S2)的电容里。
相机上的控制单元打开光源然后再关闭,发出一个光脉冲。在同一时刻,控制单元打开和关闭芯片上的电子快门。由光脉冲以这种方式产生的电荷S0存储在感光元件上。

然后,控制单元第二次打开并关闭光源。这次快门打开时间较晚,即在光源被关闭的时间点打开。现在生成的电荷S1也被存储在感光元件上。

因为单个光脉冲的持续时间非常短,此过程会重复几千次,直到达到曝光时间。然后感光传感器中的值会被读出,实际距离可以根据这些值来计算。

记光的速度为c,tp为光脉冲的持续时间, S0表示较早的快门收集的电荷, S1表示延迟的快门收集的电荷,那么距离d可以由如下公式计算:
最小的可测量距离是:在较早的快门期间S0中收集了所有的电荷,而在延迟的快门期间S1没有收集到电荷,即S1 = 0。代入公式会得出最小可测量距离d=0。

最大的可测量的距离是:在S1中收集了所有电荷,而在S0中根本没有收集到电荷。然后,该公式得出d= 0.5 x c × tp。因此最大可测量距离是通过光脉冲宽度来确定的。例如,tp = 50 ns,代入上式,得到最大测量距离d = 7.5m。
TOF相机影响因素
影响ToF相机的测量精度的因素如下:

1、多重反射
距离测量要求光只反射一次。但是镜面或者一些角落会导致光线的多次反射,这会导致测量失真。如果多重反射使得光线完全偏转,则没有反射光线进入相机,从而无法正确测量反射面的距离。反之,如果其他方向的光通过镜面反射进入芯片,则可能会发生过度曝光。见下图。
2、散射光
在镜头内或在镜头后面发生多余反射会出现散射光,如下图所示,散射光会导致图像褪色,对比度下降等不良影响。所以要避免在相机正前方有强烈反光的物体存在。
3、环境光
前面说过,深度相机镜头上会有一个带通滤光片来保证只有与照明光源波长相同的光才能进入,这样可以抑制非相干光源提高信噪比。这种方式确实能够比较有效地过滤掉人造光源,但是,我们常见的日光几乎能够覆盖整个光谱范围,这其中包括和照明光源一样的波长,在某些情况下(如夏天的烈日)这部分光强可以达到很大,会导致感光传感器出现过度曝光。因此相机如果想在这种条件下正常工作,仍然需要额外的保护机制。

4、温度
电子元件的精度受温度的影响。所以当温度波动时会影响电子元件的性能,从而影响到脉冲调制的精度。前面说过一纳秒的脉冲偏差即可产生高达15 c m的距离测量误差,因此相机要做好散热,这样才能保证测量精度。

TOF相机输出
那么TOF相机最后输出的是什么呢?

TOF相机内部每个像素经过上述过程都可以得到一个对应的距离,所有的像素点测量的距离就构成了一幅深度图,如下图所示。左边是原图,右边是对应的深度图。
可以看到深度图其实是一张灰度图,它是一张三维的图:水平垂直坐标对应像素位置,该位置的灰度值对应的是该像素距离摄像头的距离。所以深度图中的每个像素可以表示空间中一个点的三维坐标,所以深度图中的每个像素也称为体像素(voxel)。

深度信息融合
当我们获得了深度图后,下一步就是要把深度信息融合到普通RGB相机拍摄的彩色图片。这一步并非我们想象的那么容易,需要强大的算法来保障。在此列举两个因素为例进行说明:

1、深度相机的分辨率目前还比较低,一般都是VGA(640 x 480)以下。而现在普通的RGB相机分辨率都已经到千万像素级以上了,是深度相机分辨率的几十倍甚至上百倍。因此需要将低分辨的深度图变成和RGB相机一致的高分辨率,这种“从无到有”的分辨率提升需要利用彩色图中物体的纹理、边界等内容信息,这个过程要想保持细节是比较困难的。

2、深度相机和彩色相机融合时还需要知道两个相机的畸变系数、光学中心、相对旋转/平移量等一系列参数,这就需要对两个相机进行相机标定工作。而深度相机的低分辨率对于相机标定工作也是一个较大的挑战。


相关标签: 双摄像头智能手机
收藏
收藏0
分享
分享
点赞
点赞0
反对
反对0
该会员没有填写今日想说内容.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
手机版