玩转3D视界:3D机器视觉及其应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.5 三种相机的对比及典型应用

2.5.1 三种相机的对比

在双目相机、结构光相机、ToF相机三类3D相机中,双目相机的结构最简单,其不需要使用特殊的发射器和接收器,所以成本也较低;而且双目相机获取深度图靠的是纯软件计算,所以拥有较低的功耗。另外,双目相机不需要考虑反射光的强度问题,适合远距离的测距,而结构光相机和ToF相机适用的距离相对较短。

结构光相机的技术相对成熟,功耗较低,生成的深度图的分辨率较高,并且能够很好地解决双目算法的复杂性和准确性问题,但是其核心技术要素激光散斑容易被强光淹没,因此在室外环境中表现较差。结构光发射的编码图案在一定距离外能量密度会降低,所以不适用于远距离的深度信息采集,其适用于近距离(0.2~2m)的场景。因此目前结构光技术主要应用于手机或电脑前置摄像中,用于人脸识别、解锁、安全支付及对自拍美颜进行细节补充等。在功耗方面,由于结构光只需要照射局部区域,且结构光投射图案并不需要高频调制,所以结构光相机的功耗较ToF相机低。

ToF相机除了具有精度高、测距范围大两个明显的优点,还具有较强的抗干扰性:因为其采用主动光源,所以可以在无光环境中使用;因为环境中的太阳光未经调制,所以ToF相机受环境光干扰小,抗环境光能力强。在器件尺寸方面,因为ToF相机发射和接收路径的不同会引起误差,所以要求接收端与发射端尽可能地接近,而双目相机基线越大匹配精度越高,结构光相机的投射器和相机之间需要保持一定距离,从而ToF相机从体积上来说,会小于另外两类3D相机。但是,遗憾的是,目前ToF相机分辨率比较低,这方面的性能还有待提高。

由于计算复杂度和实时性都是非常重要的性能指标,所以我们单独对比三种相机的计算复杂度。由于双目匹配算法的计算量较大,所以帧率较低。在此以速度和准确性较为适中的半全局匹配算法为例,算法总的复杂度为O[H×W×maxoffset×(kernel2+N)],其中,kernel一般至少取3,否则用于匹配的窗口中将只有一个像素。在此假设kernel为3,maxoffset为10,N为8,得到的复杂度为O(170×H×W)。而结构光的计算时间主要消耗在匹配特征点与利用三角测距原理逐点计算距离上。特征点匹配的复杂度主要取决于编码方式,以空间编码方式为例,匹配一张尺寸为W×H的图,取码字阵列长宽为原图的1/10,则匹配过程的复杂度为O(100×H×W),时间编码方式的复杂度一般要高于空间编码方式的复杂度。但与双目匹配相比,由于其主动提供了许多特征点,其匹配复杂度已大大降低。而利用三角测距原理逐点计算距离这一过程的复杂度与双目匹配相近,因此其总体复杂度要低于双目匹配。ToF的计算复杂度相对较低,每个像素通过公式(2.4.2)和公式(2.4.3)计算得到距离,一幅W×H的深度图对应的计算复杂度为Oc×W×H),其中,c可以从四次采样的AMCW-ToF距离计算公式中得到,当arctan采用查表计算时,c是一个常量(约为5),比双目匹配和结构光的复杂度要低几十倍。三种3D相机的对比如表2-3所示。

表2-3 三种3D相机的对比

每种3D相机都有自己的优点,例如,双目相机价格低廉,结构光技术发展成熟,ToF相机受外界光照影响极小且体积小,所以我们应当根据应用场景的不同选择合适的3D相机。

2.5.2 三种3D相机的典型应用

三种3D相机在VR/AR、手机、场景重建与定位等领域都有非常广泛的应用。例如,在工业中,自主导航运输车(AGV)的避障、仓储的智能化管理、物流运输的体积测量等都可以利用3D相机实现;在生活中,3D相机在人脸识别、手势互动、人流统计等方面的应用也在不断发展,同时,机器人SLAM、无人机定高等研究领域也开始使用ToF相机进行实验,图2.5-1给出了ToF相机的部分应用领域。每种相机都有很多成熟的产品,如双目领域的ZED相机、结构光领域的RealSense相机和ToF领域的SmartToF相机。接下来,我们就来介绍一下目前市场上具有代表性的3D相机和其部分应用场景。

图2.5-1 ToF相机的部分应用领域

2.5.2.1 双目相机的应用

双目相机是应用双目视觉理论实现3D测量的3D相机,随着计算机视觉的发展和GPU计算能力的提升,双目相机得到广泛应用,包含工业生产的控制与检测、物体识别与测量、各种机器的自主导航及交互式娱乐等。专业的双目相机有富士推出的FinePix和PointGrey推出的Bumblebee2等。除此之外,双目相机在日常生活中也极其常见,例如,现在很多智能手机具有双目拍摄的功能。

STEREOLABS推出的ZED立体相机(ZED Stereo Camera)是一款性能良好的双目相机,可以实现深度感知、位置跟踪和3D重构。

ZED双目相机外形如图2.5-2所示,其左右两边各有一个相机,两个相机能以高分辨率和高帧率获取视频。在ZED得到两个视点的图像后,可使用USB 3.0接口将其传输到计算机中,计算机的图形处理单元(GPU)使用ZED SDK实时计算深度图。

图2.5-2 ZED双目相机外形

ZED最重要的功能是通过不断扫描周围环境创建对应的3D地图(3D Map)。ZED实现的场景重建如图2.5-3所示,3D地图以紧密相连的多边形的形式存在,这些用于近似表示实际表面的多边形组成了网格(Mesh),网格的概念在第4章中有详尽的叙述。当设备移动并捕捉到场景中的新元素时,3D地图会被更新,ZED获取3D地图的过程称为3D映射。由于ZED相机可以感知的距离较大,因此可以快速重建大型室内和室外场景。

图2.5-3 ZED实现的场景重建

ZED是一款较为先进的双目相机,其高分辨率和较远的感知距离吸引了众多爱好者,不过也有人对其在不同环境下的实用性持怀疑态度,因为双目视觉是利用2D平面信息恢复3D深度信息的逆问题,存在很多影响最终结果的不确定因素,而且尽管视觉技术的进步让机器模仿了大量的人脑功能,但深度感知一直是计算机尚未掌握的领域。

2.5.2.2 结构光相机的应用

结构光相机的应用距离较近,因此其一般应用于电脑或者手机的前置摄像中。英特尔的RealSense技术和苹果的Face ID技术分别是应用于电脑端和手机端的结构光技术的代表。

在2015年的IDF大会上,RealSense技术大放异彩,英特尔CEO科再奇现场演示了RealSense技术在不同设备上的表现,包括刷脸解锁PC屏幕等一系列动作,实现了从虚拟到现实的无缝衔接。简单来说,RealSense技术相当于给电脑加了一双眼睛,使得电脑能够精确识别人的手势动作、面部特征、前景和背景,让电脑理解人的动作和情感,在虚拟现实领域打造新一代互动体验,人类与计算机之间的交互变得更为自然。

英特尔®实感™摄像头SR300(Intel® RealSense™Camera SR300)是英特尔公司推出的第二代前置摄像头。如图2.5-4所示,SR300设备拥有RGB摄像头、红外接收器和红外发射器,三者相互合作,通过探测挡在前面的物体所反射的红外线推断景深。这些视觉数据与英特尔RealSense动作跟踪软件相结合,造就了可响应手部、手臂和头部运动及面部表情的免触控界面。

图2.5-4 SR300外形

SR300设备的红外线发射器发射的结构光经物体反射后会被红外接收器接收。由于红外线发射器到反射物体表面各处的距离不同,红外接收器捕捉到的结构光图案的位置和形状会发生变化,根据这些实感图像,处理芯片就能计算出物体表面的空间信息,再用三角测距原理进行深度计算,进而重现3D场景。

利用英特尔官网提供的SDK我们可以方便地使用SR300设备进行深度图的采集,其采集的深度图如图2.5-5所示。

图2.5-5 SR300设备采集的深度图

结构光相机另一个众所周知的应用便是在iPhone上。苹果在十周年之际推出了全新的iPhone X,大胆地砍掉了沿用多年、在用户中口碑甚佳的Touch ID指纹识别,取而代之的是Face ID人脸识别,Face ID使用的就是结构光技术。

如图2.5-6所示是在iPhone X上搭载的结构光深度相机,图中标注了3个核心部件,分别是左侧的红外镜头、中间的泛光感应元件及右侧的点阵投影器。泛光感应元件发出非调制的红外光,检测到有人脸靠近后,点阵投影器发出3万个结构光点,光点形成的阵列遇到人脸后被反射回到红外镜头,形成包含脸部不同位置深度数据的点云图;再通过深度学习算法将这些数据和用户之前录入的3D人脸模型数据进行比对,就可以判断是否是本人。

图2.5-6 在iPhone X上搭载的结构光深度相机

和传统相机直接收集自然光不同,结构光相机多了可以主动发出结构光点的光源,红外镜头收集的是经过人脸等物体反射回来的光线。由于这种独特的设计,结构光相机可以收集到精确的3D点云数据,这是普通的RGB相机做不到的。同时,由于结构光相机拥有主动发光的红外光源,因此在弱光、暗光环境中不会受影响。

不过结构光相机也有一定的局限,相比于传统相机,结构光相机的工作距离要短一些,最长距离一般在1米左右(不过这个距离对人脸解锁来说是足够的)。另外,在强光环境中,自然光还可能造成干扰。

在手机人脸解锁中,由于结构光相机可以获得精确的人脸深度信息,因此可以实现优于传统指纹解锁的超高安全级别,这也是基于结构光相机的人脸识别与目前Android手机上常见的人脸识别的根本区别。

2.5.2.3 ToF相机的应用

ToF相机作为一种近几年新兴的3D相机,同样已经应用于生活、工业和科研之中,SmartToF相机由上海数迹研发,是一款高帧率、高精度的小型深度CCD相机,如图2.5-7所示是SmartToF TC-S2系列3D相机和客流计3D相机。SmartToF TC-S2系列3D相机可以获取深度图、灰度图和3D点云信息,支持开发手势识别、物体测量等多种算法;客流计3D相机是一款集人流统计算法于一体的3D相机,能够统计出入口的进出人数,进行客流分析。

图2.5-7 SmartToF TC-E2系列3D相机和客流计3D相机

SmartToF相机可通过USB 2.0接口以60fps的速度输出QVGA(320×240)尺寸的深度图、灰度图和点云图。测距范围可达0.3~8m,同时覆盖了近景和远景,尤其在中远距离场景中表现出色。该相机配备两个摄像头,一个为标准摄像头(FOV=90°),另一个为宽视角摄像头(FOV=122°),测量误差低于2%。SmartToF相机具有很多突出的优异特性,该相机可应用于人流统计、手势识别、体积测量等多种场景。

由于结构光相机功耗较低,更适合静态的近处场景,iPhone X搭载了结构光相机,使得Face ID更加方便和安全。但ToF相机测距范围更大,可以拍摄较远的物体且能更好地抑制噪声和运动模糊,于2018年年底发布的荣耀V20手机搭载了一颗ToF后置摄像头,使荣耀V20具备了超强的3D空间感知能力和3D体感游戏功能,同时还能够实现深度测量、3D重建和3D美体塑形等。例如,当我们修图时,非常容易把背景修变形,但有了深度信息后,可以很容易地把前景和背景分离,当我们进行瘦身处理时,就不需要担心背景问题,如图2.5-8所示是荣耀V20手机3D美体前和3D美体后的对比。

图2.5-8 荣耀V20手机3D美体前和3D美体后的对比

在不同场景中,我们根据3D相机的特性选择合适的相机,例如,室外场景中的SLAM可以利用双目相机,人脸识别解锁等近距离应用场景可以考虑结构光相机,中距离的手势识别、人流统计等选择ToF相机。除了相机种类,相机的参数也非常重要,例如,在进行运动位姿匹配时需要较大的视角(FOV),所以应该使用广角镜头;当测量距离较远时,ToF相机应该使用低频调制信号以提高量程,在测量距离较近时,则可利用高频信号,同时为了防止过曝光,应该缩短积分时间。

可触摸的3D世界听起来好像离我们很远,但实际上,3D相机已经以多种形式慢慢走入了我们的生活,为我们带来了全新的体验。