首页 > 系统集成 > 正文

英特尔RealSense深度摄像头在智能手机上的应用
2017-10-31 21:12:00   来源:英特尔   评论:0   点击:

我们在文中探讨微型深度摄像头在智能手机上的应用价值和定位,特别是要研究所有前置摄像头应用场景需要考虑的因素,这些应用例如3D人脸身份验证、背景移除、高清3D自拍、3D人脸动画、基于3D信息的2D照片美化增强处理(包含对场景补光)。& 8203;& 8203;

​作者:Anders Grunnet-Jepsen, John N. Sweetser, John Woodfill @ 英特尔​

摘要:我们在文中探讨微型深度摄像头在智能手机上的应用价值和定位,特别是要研究所有前置摄像头应用场景需要考虑的因素,这些应用例如3D人脸身份验证、背景移除、高清3D自拍、3D人脸动画、基于3D信息的2D照片美化增强处理(包含对场景补光)。​​

1. 介绍​

“深度相机”是能够像人类感知方式一样捕捉现实世界的相机——无论是在颜色上还是在“范围(距离)”上,尽管一些深度相机只提供距离图像。在一个场景中,测量距离(又称“距离”或“深度”)的能力是区分深度相机与传统2D相机的基本特征。人类有两个眼睛,可以看到世界的颜色,还有一个大脑,从这些图像中融合信息,形成对颜色和深度的感知,这被称为立体视觉深度感知。这使人类能够更好地理解体积、形状、物体和空间,并在三维世界中移动。​

深度相机的输出。左图:黑色地毯上一个纸箱的彩色图像;右图:物体深度图像,利用人工添加颜色描绘深度范围

图1 深度相机的输出。左图:黑色地毯上一个纸箱的彩色图像;右图:物体深度图像,利用人工添加颜色描绘深度范围​

盒子的三维点云图

图2 图1所示盒子的三维点云图。左图显示没有颜色纹理的三维网格,右图显示与图像颜色纹理相同的场景。顶部和底部是不同的视图,通过旋转的视角观察。请注意,这是一个单帧捕获的图像,而不是简单的从不同的视角拍摄的照片。黑影是在拍照时遮挡的信息,即盒子背面当然是不可见的​

在本文中,我们将首先研究微型深度相机如何在手机中启用令人兴奋的新用法。然后我们概述了各种深度传感技术,以及需要考虑到手机使用的各种因素。我们将详细评估能英特尔RealSense™立体视觉深度摄像头的性能,并将一些关键指标作为描述和比较性能的基础,突出该产品的特性。​

2. 深度摄像头在智能手机上的应用​

2D摄像手机于2000年首次亮相,并在日本的J-SH04模型中被夏普引入。到2013年,“Selfie(自拍)”一词如此普遍,以至于它被引入了牛津英语词典。如今,很难想象一部手机,如果不是4个摄像头,至少会有一个。当然,随着时间的推移,手机摄像头在分辨率和颜色质量,速度(帧率)和低光敏感度方面的改进,已经有了稳步的进展。​

比尔•奈(Bill Nye)在奥斯卡颁奖典礼上自拍, 美国总统巴拉克•奥巴马(Barack Obama)和尼尔•德格拉斯•泰森(Neil deGrasse Tyson),以及艾伦•德杰尼勒斯(Ellen DeGeneres)的“最著名的自拍”​

图3 比尔•奈(Bill Nye)在奥斯卡颁奖典礼上自拍, 美国总统巴拉克•奥巴马(Barack Obama)和尼尔•德格拉斯•泰森(Neil deGrasse Tyson),以及艾伦•德杰尼勒斯(Ellen DeGeneres)的“最著名的自拍”​

那么,前置深度摄像头可以给手机带来什么价值呢?能够在3D世界中捕捉到真实图像当然比2D要好。这可以在网上分享为3D自拍,也可以在类似Snapchat的应用中增强效果,让你可以通过3D滤镜来表现更逼真的3D形状。例如,如果你戴上虚拟精灵耳朵或新的虚拟太阳镜,或者在应用程序中添加一个面部纹身,当你移动头部时,它们会跟随你在空间中旋转或者移动,并在你移动头部时得到适当的遮挡,这样看起来更加真实。3D形状也可以插入到应用程序中,甚至可以通过3D打印机打印出来。另一种用法是调用隐私模式的能力,在这种模式下,只有特定范围内的人物或者物体才可以被看到。通过应用这种背景分割,你可以在咖啡店里进行视频聊天,而在你身后走的人是不会被看到的。也许最重要的新用法是3D增强的人脸身份验证。通过捕捉真实的面部三维形状、尺寸和颜色,你可以创建一个非常方便的企业级的防欺骗用户登录方式,让我们更接近一个无密码的世界,不仅是为了登录你的手机,也可以用于金融交易。​

​​D自拍。这张照片是在阳光充足的环境下用深度摄像头拍摄的,它被显示为一个有纹理的三维点云

图4 3D自拍。这张照片是在阳光充足的环境下用深度摄像头拍摄的,它被显示为一个有纹理的三维点云,可以旋转到不同角度的视图。请注意,面部的真实尺寸被捕获。在这幅图中,超过0.6米的东西被排除在外。对于真正的背景分割,将使用更复杂的算法来获得更清晰的边缘,同时使用RGB和深度信息​

在下一节中,我们将探索这个愿景离现实有多远,以及应该考虑哪些技术选项。​

3. 深度摄像头技术探讨​

有各种各样令人难以置信的技术可能适合微型摄像头,我们可以从最熟悉的技术开始。在硬件商店中可以找到的激光测距仪只提供测量单一的深度点,但他有两种不同的变体,可以很好地说明两种常见的技术飞行时间和三角测量。在飞行时间技术里,或称ToF,一个超短的光脉冲被发射出来,伴随着一个协同定位的探测器,然后测量从物体反射回来的光束的到达时间。对象越远,返回时间越长。相反,如果你知道物体的距离,这项技术就可以测量光的速度。然而,用这种技术实现亚毫米测量是很困难的,因此对于近距离的物体来说,使用三角测量技术是很常见的。​

三角测量可以追溯到古埃及的古代三角学初期。例如,测量金字塔的高度,通过测量金字塔的阴影,并将其与已知高度的垂直木棍进行比较。激光测距三角测量的工作原理是将激光和探测器分开,我们称之为基线距离。激光发射器发出一束射入物体的光束。探测器探测到图像,一般的探测器只能看到激光束(其他一切都是黑色的)。通过测量激光束点在传感器上的位置,可以根据三角形“激光-物体-检测器”来测量物体的距离。光束从中心转移的越多,物体的距离越近,如图5所示。​

左图:飞行时间单点激光测距仪,测量发射的脉冲时间,反射和探测到的时间将显示出物体的距离。右图:基于三角测量的激光测距仪

图5 左图:飞行时间单点激光测距仪,测量发射的脉冲时间,反射和探测到的时间将显示出物体的距离。右图:基于三角测量的激光测距仪。由于物体的距离是不同的,所以传感器上的投射位置也是不同的。在这种情况下,物体越近,就越容易在传感器上移动到右边。结构光和立体深度传感器依赖于相同的三角测量原理​

这两种技术都经过了长时间的改进和演变,趋于完美,不仅可以测量一个点,而且可以测量每秒钟超过100万点。例如,Pixelated ToF传感器已经嵌入到微软Kinect等产品中。在这个产品中,红外“闪光”投射到了整个场景,成千上万的小传感器分别测量了场景不同部分的返回时间。另一种变体是扫描激光雷达,在一些汽车中,一根光束(或者可能是几根光束)在整个场景中扫描,随着时间的推移,深度地图就会被建立起来。基于三角测量原理的传感器也已发展成多种变体。例如,在“结构光”传感器中,成千上万的斑点(或者是由斑点或线路编码成的图案)被投射,并单独被三角化。最初的基于PrimeSense的Kinect传感器就使用这种技术。“编码光”是另一种基于结构光概念的技术,它使用随时间变化的模式,并从多个图像合成更精细的深度细节。最后我们回到人类看到深度的方式,通过立体成像。这也是一种三角测量技术,但不需要确切知道光的发射模式,电子立体视觉系统只是将左眼(即摄像头)看到的图像块与右眼的图像块匹配。靠近的物体在水平轴上的位移更大。立体视觉是唯一一种可以真正“被动”的技术,它意味着没有光线需要发射出来。在特殊情况下,场景没有固有的纹理,就像普通的白色墙壁一样,这种类型的传感可能是有问题的,因为匹配左和右图像变得模糊。在这种情况下,激光可以用来投射纹理。这被称为“辅助”立体视觉或有时“主动”立体视觉。然而,不需要对这种模式的先验知识来实现立体视觉,不同于结构光的方法。​

为了完整起见,我们还应该提到使用单个传感器和没有激光发射器的另外一些技术。其中一种方法叫做“结构-运动”,即SfM。这与立体视觉很相似,例如当用户在太空中移动相机时,相机可以有效地在点A和B点上拍摄图像,然后把它们当作两个立体图像处理。挑战在于,知道摄像机移动了多少,以及它们指向两点的方向,当然,它假定场景不会随着时间的推移而改变。这是单眼SLAM算法(同步定位和建图),它们通常通过与其它传感器(如惯性测量单元,即IMU)的数据融合来增强性能,这些传感器包括测量角速度的陀螺仪和测量加速度的加速度计。另一种方法是机器学习。核心的前提是,如果有足够多的关于现实场景的知识,这些场景已经被贴上了标定值,那么计算机就可以从光学线索中推断出深度。这类似于问一个问题:“如果他们闭上一只眼睛,人类怎么能驾驶汽车呢?”“立体视觉之外,有很多单眼视觉线索可以使用,包括运动视差,光学变化得出的深度(移动到近处的物体看上去会变大),角度(平行线在远处收敛),相对大小,熟悉的尺寸、调焦(对焦/模糊)、遮挡(遮挡其他物体的物体被视为更近),纹理梯度、照明和阴影,这些只是其中一部分。这些线索往往很擅长于了解相对深度,但不擅长于定量的绝对深度。​

原则上,所有这些技术都可以小型化,以适应手机的尺寸,但在优化手机集成度和对于特定应用程序的使用方面,有些技术比其他技术更好。这是一个关键的问题:手机制造商必须将尺寸、成本、重量和热量保持在最低限度,以维持手机的基本规则——移动性和易用性。​

在以下部分中,我们将深入探讨手机上的深度传感器的需求,然后介绍英特尔的立体视觉解决方案包括D4xx家族RealSense™深度传感器,它已经被优化应用于各种场景:室内和室外场景、手机、无人机、机器人、增强现实/虚拟现实(AR / VR)和安防监控。然后我们详细地解释深度性能的描述和量化标准。​

4. 智能手机使用场景的需求​

移动电话是集成技术的惊人壮举。当我们考虑在移动电话上增加深度传感器时,我们需要专注于几方面的权衡:1、大小;2、供电和散热;3、成本;4、针对预期用法的性能。所有这些都紧密地联系在一起,需要进行复杂的权衡分析。性能本身就是一个非常错综复杂的讨论。例如,一个最优的解决方案将同时具有高帧率实时的背景分割和3D捕获,即高x-y空间分辨率的良好背景分割,以及高分辨率(z轴)用于人脸认证和3D自拍照的三维深度。在理想的情况下,它还应该提供一个完整的硬件同步和像素匹配的校准映射,深度图像和颜色图像之间的校准,对良好的背景分割至关重要。在深度性能方面,我们注意到这本质上可以被分成两个问题:1、“深度相机能看到什么?”;2、“它能看到的误差是什么?”​

结构光、ToF、立体深度相机技术在性能上都有权衡,所以了解他们能看到什么,不能看到什么是很重要的。例如,通过测试普通的墙壁开始进行分析是非常有用的(正如我们将在第6节中看到的那样),对于3D自拍来说,更重要的是能够看到所有可能出现在普通场景中的对象。因为面部可能有化妆,或者有手在画面里,或者珠宝丝绸装饰(如图3中的艾伦),重要的是传感器能够看到黑发、黑胡子、皮手、眼镜、吸收红外光线的衣服、闪亮的金属物体、珠宝、不同材料的帽子、口罩、各种皮肤颜色和化妆。许多早期的传感器在光秃秃的白人身上效果很好,这当然是不够的。“主动”(发射红外光进行投影)的解决方案依赖于看到反射的光束,许多这样的例子相当具有挑战性。在明亮的室外环境中尤其如此,因为传感器需要排除阳光的干扰才能看到反射的光束。通过使用940nm波段的红外光,采用全局快门传感器和时钟触发来控制发射的/探测到的光,增加激光发射器的功率,可以减轻太阳光的影响。除了功耗问题,后一种方法有与眼睛安全有关的硬性限制,这显然是最重要的。另一个问题是,是否存在同一时间使用超过一部手机的可用性,许多主动传感器技术受到信号交叉问题的影响,因为它们发出的光束包含了干扰其它手机的重要信息。然而,良好的立体视觉解决方案并没有遇到这些缺陷,因为它们能看到大多数物体,可以工作在被动模式下,以及在明亮的阳光下,甚至在水下也工作得非常好。​

​​户外3D自拍,需要看到用户和背景

图6A 户外3D自拍,需要看到用户和背景。右图显示的点云是向下伸缩的,目的是显示网格线。这个照片是用微型RealSense D405模块制作的,可以用于移动电话​

以RealSense D435相机为例,展示了一个传统的困难场景的深度图像

图6B 以RealSense D435相机为例,展示了一个传统的困难场景的深度图像,其中包括各种角度的深色地毯,黑色金属碗,高光塑料球,以及带有金属拉链的黑色皮革钱包​

其它需要考虑的因素是使用者和场景运动的敏感性。为了对抗这种情况,传感器通常需要支持短曝光时间,并且对低光非常敏感。全局快门传感器是一个不错的解决方案,但它的代价是更大的像素和更大的成本,并导致尺寸更大的解决方案,特别是在镜头厚度方面,这对实现轻薄的移动电话至关重要。与大小有关也是基线的选择。对于基于三角测量原理的传感器,深度分辨率随着传感器之间的距离线性提高,但这显然增加了解决方案的尺寸,而且在移动电话中传感器的位置也有限制。再来看有效操作范围,用户当然希望有一个小的最短距离(也就是min-z),为了近距离特写效果,也有一个大的最大范围,这样他们也可以捕捉到更多的背景。主动的解决方案在近距离上做得很好,但通常不超过几米的距离,在这一点上,反射的红外光线模式变得太弱,无法看到。​

另一类挑战与测量技术的相关工具有关。例如,一些几何图形或边缘可能会导致问题,并没有得到正确的解决。例如,ToF解决方案容易受到多径干扰的敏感性,这意味着反射的脉冲可以在多次反射后来自多个物体。比如表现在这样的工具上,如凸起的直角拐角被误识别为相当“圆润”。还有一个很大的问题存在于任何一种有反光的“猫眼”胶带的场景,在欧洲,这对于帽子或者衣服装饰并不罕见。而立体视觉传感器在这些情况下没有任何问题,但确实存在一个非常精确的周期模式的问题,在这种情况下,空间混叠会导致错误地报告深度值。另一个巨大的挑战是传感器的动态范围。重要的是,能够计算一个完整的场景各个部分的深度,即使在同一幅图中有大强度(反射率)和深度变化,比如脸部黑色化妆或墨镜,或者一个人站在明亮的阳光下并且帽子或下巴造成阴影。这对于主动(有源)系统来说尤其困难,因为图像亮度可以作为距离的平方,因此它可以看到非常强烈的距离变化。理想情况下,一个系统应该能够在距离范围很广的区域内捕捉深度,而不仅仅是在脸部的平面上。这类似于试图在黑暗中使用闪光灯拍照,图像的部分将会被看到,而在稍远的地方将会非常黑暗。在这些场景中,被动系统做得更好,因为它们依赖于环境照明,不受这种饱和度的影响,除非打开了闪光灯。​

这就使我们认识到测量精度或者物体距离上的测量误差的重要性。对于所有的三角测量技术来说,很重要的一点是要知道,误差会随着距离的变化而不断增长。有利的推论当然是,接近的物体有更高的深度分辨率,这就是为什么三角测量在靠近物体时受到青睐的原因。当问题被问到“深度传感器的范围是什么?”“对于被动立体视觉的解决方案,人们可以回答“无限”,因为这些系统的有效范围将会非常遥远,就像人类可以看到遥远的月亮、太阳和星星一样。当然,重要的是要报告正确的深度值,但是这个最大范围的答案是针对于特定的应用。在3D中捕捉人脸需要非常高的深度分辨率,但是背景分割可以处理更多的深度错误。一般来说,所有的三角测量技术都随着更长的基线、更高的传感器分辨率、更小的视场(即光学变焦)而获得更小的深度误差,因此可以为特定的用途量身定制。此外,大多数深度传感器都能从平均测量值中获益,通常的应用场景允许这样的做法。​

在下一节中我们看看英特尔RealSense™立体视觉深度摄像头可以提供完美的平衡解决方案和设计,来迎合手机集成和各种使用场景。​

5. 英特尔RealSense™立体视觉(双目)深度摄像头​

多年来,英特尔公司致力于开发基于几乎每一种深度传感器技术的解决方案,所有技术都有其技术上的权衡。在所有的深度传感技术中,立体视觉可以说是最万能、最健壮的,可以处理各种各样的用法。尽管有人可能会认为立体视觉是老派的技术,事实证明,许多立体视觉深度传感方案在过去所面临的挑战只有现在才被克服——算法不够好且易于出错,计算深度太缓慢而且昂贵,随着时间的推移系统趋于不稳定。​

我们如何达到今天的立体视觉解决方案?在1839年,Charles Wheatstone首次解释了立体视觉深度,他发明了立体摄像机,是ViewMaster kids ' toy的前身。在图7中,我们简要概述了一个概念,展示了一个立体摄像机的左右摄像头将如何看到不同的视图。要注意的关键点是,靠近摄像机的物体,在两个摄像机上成像时将会有一个沿水平轴(极线)的移动。这个移动被称为视差,我们可以计算出场景中的每一个点的视差,如图7所示,近距离气球上的像素比在背景中的建筑物上的像素具有更大视差。在左右图像块之间寻找匹配块被称为解决对极问题。深度图可以通过简单的三角测量从视差图计算出来。请注意,在实践中,由于计算限制,沿对极线的视差搜索通常只限于一定数量的像素。通常情况下,是64到128像素。结果是,物体对相机的距离可以有多近,或者它们之间的匹配是找不到的极限,我们称之为最小距离,MinZ。​

立体视觉深度测量。左边和右边的摄像机将从不同的角度看到相同的场景

图7 立体视觉深度测量。左边和右边的摄像机将从不同的角度看到相同的场景。近距离的物体会沿水平轴(极线)移动一定数量的像素(或不一致)。由此产生的视差图可以使用三角测量转换为深度图​

计算机立体视觉在20世纪80年代成为了一个非常重要的研究领域,在1974年,经过Marsha Jo Hannah等早期的努力正式开展起来。为了更好地理解深度的算法,在2002年建立了用于比较立体视觉算法精度的Middlebury性能测试,并在2012年建立了KITTI数据集,用于户外导航和机器人技术性能测试。通过提供一组开放的立体图像,用激光扫描的标定值作为比较基准,可以比较不同算法在一个常见的游戏领域的性能,并看到随着时间的推移的稳定性。最先进的立体视觉深度算法的性能令人印象深刻,但它通常是以增加复杂性和处理功耗为代价的。一些最好的算法可能需要几分钟的时间来计算单对2MP图像的深度,即使是在i7的4个核心,消耗10瓦特的功率。​

左:英特尔RealSense™ D4m视觉处理器。中间:英特尔RealSense™ D4xx系列深度模块被封装在一个钢壳里。右:英特尔RealSense™ USB3深度摄像头D435

图8 左:英特尔RealSense™ D4m视觉处理器。中间:英特尔RealSense™ D4xx系列深度模块被封装在一个钢壳里。右:英特尔RealSense™ USB3深度摄像头D435​

D405移动平台参考设计,展示了两个红外和RGB感光的图像,具有15mm基线

图9 D405移动平台参考设计,展示了两个红外和RGB感光的图像,具有15mm基线,以及在黑暗中运行的红外范感光元件。这个设计适合手机前置摄像头尺寸要求,成本和功耗是为了手机而优化的,如果需要的话,可以用额外的纹理作为投影,但是一般来说对于大多数手机的使用来说是没有必要的​

英特尔研发了视觉深度计算芯片,计算速度可达到3600万点/秒,使用一个定制的半全局匹配算法,实现帧速率>90 fps,在一个6.3 mm x 6.3 mm大小的芯片内(英特尔酷睿i7的一小部分)使用不到22 nw /深度点,查找128个匹配像素,这一发明大大加速了深度计算的性能。其目标是使计算机立体视觉能够实现在小型消费电子设备(如手机、无人机、机器人和安防监视)中嵌入所需的性能水平(功率、热电、分辨率、帧率、尺寸、成本等)。英特尔目前正致力于开发第二代ASIC,有着显著的进步,特别是有效处理一些环境中任何主动投影的红外光(辅助立体、结构化、ToF)将被掩盖或吸收的情况,或者在户外遇到干扰的情况,或用于拍摄吸收红外光线的深色地毯。见图10。​

对比了上一代LR200模块视觉处理器性能与新的D410模块和视觉处理器,显示了新一代片的巨大改进​

图10 对比了上一代LR200模块视觉处理器性能与新的D410模块和视觉处理器,显示了新一代片的巨大改进​

完美的立体视觉深度算法的一个非常重要的特点是能够实现小于0.1的亚像素精度。这意味着要在左边和右边的成像图像中找到对应的像素,并将它们的位置匹配得比像素分辨率的数值要高得多。英特尔的算法通常能达到0.05的亚像素精度,但一般来说,对于几乎没有纹理的对象来说,它的精度会有所不同。被动立体视觉系统的一个重要的最广为人知的限制是,它很难在几乎没有纹理的物体上找到对应的东西(也就是深度),就像一个完全干净的白板。光学系统(图像质量)和算法越好,它们就越能在复杂的场景中利用多种颜色通道的信息来挑出纹理,但是仍然有一些非常具有挑战性的个例。在这种情况下,可以使用一个外部投影仪投射一束光作为辅助,在场景上创建一个纹理,例如在伪随机位置投射100个小点。在这种配置中,系统被称为“辅助”或“主动”立体视觉,在性能上于高端的结构光系统非常相似。主要的区别在于,对于有源立体视觉,模式不重要,不需要对激光进行校准,而且这些点不需要比背景图像亮得多。这使立体视觉系统如此强大到能够抗干扰,并允许多个单位在彼此附近共同工作。​

如前所述,纹理可以用微型投影器投射到场景上。选择的波长通常是> 850nm的红外光,对人类来说是不可见的。英特尔已经开发出了一些不同的版本,可以与不同的图像组合进行配对,以获得最佳性能。从图1可以看出,使用了一个发射编码图案的投影发射器。激光投影器的一个重要方面是,光源的相干性需要大大降低,以减少激光散斑的有害影响。然而,值得注意的是,即使是最好的带有斑点缓冲电路的投影器,对比具有好的纹理的目标(亚像素RMS ~0.07 vs ~0.05),也有趋于30%的性能差距。​

我们现在谈谈产品能够生存的另一个非常重要的方面,即长时间运行的稳定性。三角测量技术对光学系统的变形非常敏感。例如,对于结构光,关键在于红外发射的图案不能随时间或温度变化,而立体视觉系统则不受此影响。然而,对于立体视觉和结构光系统,任何随着时间变化的光学系统参数包括内部参数(成像透镜位置和对准角度)和外部参数(立体视觉左右成像之间的弯曲角度、或者结构光系统里激光投影和成像间的弯曲角度),需要把其变化降到最小,否则将影响深度质量和准确性。这可以通过建立一个与外界隔离的微型光学系统来解决,这样它就不会受到外力的影响。最好是用金属加固的方式将光头包围起来,如图8所示,并在一个小的夹持点上安装。不幸的是,这需要与散热设计的需求相平衡,特别是如果使用激光发射器的话。另一种方法是开发动态校准算法,它可以定期检查校准质量,并对其进行校正,最好是尽量减少用户干预。​

当工程化最好的解决方案时,各种优化工具的使用也是很重要的,这就包括后处理。例如,试图最小化光学深度传感系统的成本或尺寸,可能会导致原始图像的每帧深度精度变差,但如果这可以通过后滤波来恢复,工程师们还是希望尝试的。图11显示了两种不同的情况,即原始的瞬时帧深度精度降低,但少量的时空域滤波恢复了精度。​

图像的后期处理可以用来美化深度图像,如3D自拍和办公室隔间场景

图11 图像的后期处理可以用来美化深度图像,如3D自拍和办公室隔间场景。上图:在这个例子中,我们展示了一个拥有短基线的立体视觉摄像头(D405)所拍摄的画面,某种程度上有些噪声,它可以通过应用少量的时空域降噪被清理掉。下图:RealSense D410 3D捕捉办公室座位,使用指数移动平均和边缘保持的变换域滤波做后处理​

现在回到手机使用的具体情况,系统设计当然应该是微型、低功耗、低成本、并且能够在所有环境和光照条件下产生良好的深度。对于人脸身份认证和解锁手机来说,重要的是用户可以在室内和室外使用这个功能,也要在非常黑暗的环境中使用—看电视、晚上醒来、在黑暗中遛狗。为了让面部解锁在黑暗中工作,我们需要照亮面部。最好是使用红外光,否则用户将会被可见光所蒙蔽。结果表明,良好的面部识别技术主要依赖于三维深度和灰度(或彩色)二维图像质量。因此,使用有结构的光来照亮脸部的身份验证是不可取的,因为面部图像会被这种模式污染。虽然一些结构光可以在后处理的时候去掉,这样也降低了整体的性能,理想情况下,系统应该有一个泛红外发射器来均匀地照亮脸部。​

我们将在此针对立体视觉系统的设计灵活性做一个结论性的概述。图12显示了几种不同设计的视觉深度传感器,它们都使用相同的RealSense视觉处理单元。为什么使用这么多不同的设计?关键在于,在不同的约束条件下,因为立体视觉系统是非常具有可定制性和适应性的,而且可以从大型光学系统行业中获益,这对于工业设计的考虑也是非常重要的。例如,对于某些产品,支持长距离和高质量是非常重要的,但对价格不敏感,可以使用高性能CMOS传感器(更高的动态范围,更好的灵敏度和高质量)以及更好的和更大的光学模组,以获得高质量的输入图像。另一个极端情况是成本和尺寸至关重要的,可以使用小基线、廉价的消费者级CMOS图像传感器和塑料光学组件,如图9所示的D405。​

​​一个D4xx RealSense相机模块的集合,它们都使用相同的ASIC​

图12 一个D4xx RealSense相机模块的集合,它们都使用相同的ASIC​

总地来说,设计参数涵盖以下指标:1、基线;2、CMOS图像传感器选择(分辨率、全局或者卷帘快门、HDR、颜色 vs. 灰度);3、视场角(FOV);4、镜片的质量。图13显示了一些不同的RealSense模块和它们的理论性能变化的例子。这些均方根(RMS)误差曲线会随着更大的基线、更窄的FOV和更高的分辨率而减小。注意,每个系统都有不同的最短有效距离(图13所示右侧),但在实际操作中,最短有效距离将随着水平分辨率线性地减小。这意味着,标定1280 x 720分辨率,MinZ = 50厘米的模组,如果运作在640 x 360分辨率时,MinZ会降为25厘米,RMS深度误差也会变成2倍。如图13所示,在近距离范围内,实际上有可能在1mm深度分辨率下取得很好的效果。​

针对不同模型的RMS空间误差曲线(右侧图为较短的范围)

图13 针对不同模型的RMS空间误差曲线(右侧图为较短的范围)。对于较小的基线模型,可以很容易地实现小于1mm分辨率。最小的模块是D405(使用D4m VPU),它的基线为15mm和680 x 530的肖像模式FOV​

D405移动模块被改未焦距适应6厘米范围,显示一张嘴巴的3D快照,并在鼠标垫附近放置一枚硬币

图14 D405移动模块被改未焦距适应6厘米范围,显示一张嘴巴的3D快照,并在鼠标垫附近放置一枚硬币。RMS误差大约为60微米。这是在没有外部红外发射器的情况下实现的​

6. 衡量性能:测试方法​

无论使用何种技术来产生深度图像,都有一些深度摄像头性能的基本考量,可以用来评估生成的深度图像的质量。除了传统的图像特征,例如空间分辨率和颜色质量,深度图像通常是根据它们复制场景的深度特性来评估的。特别地,深度精度是很重要的——在场景中每一个像素的真实深度和计算深度之间的误差。​

测量绝对深度精度和空间RMS误差的例子

图14 测量绝对深度精度和空间RMS误差的例子。这说明了在不同距离测量的纹理良好的墙,壁越远,RMS误差越大,如图所示,空间RMS误差Z1

一个相关的特征是在图像中计算深度误差的变化。这提供了一种测量图像“平滑”的方法,即假设一个平滑的场景,静态环境下,测量空间噪声。类似的还有时间噪声,随着时间的变化(通常是帧到帧),在深度数据上有多少变化。第四个基本度量仅仅是有效深度像素的数量(或分量),而不管它们的值有多精确,称为填充率。在某些条件下,没有足够的数据来确定一个特定像素的深度值,因此像素被标记为“无效”,通常被表示为图像中的缺失或暗深度像素。虽然人们普遍认为一个更大的填充比率更好,但在某些情况下,一个无效的像素比一个有重大错误的像素要好一些。在另一些情况下,准确性不那么重要,一个有效但不准确的像素总比没有好。对于基于立体视觉的深度摄像机来说,用于计算深度的算法可以修改或者调整,从而导致不同的填充率,通常是与其他性能指标的权衡。其他深度指标有时被计算出来,用来评估或限定相机的性能,但大多数都是与上面描述的基本指标相关或衍生的,这些基本指标在下面更详细地定义。​

深度性能指标的一个相关指标是最大有效范围,或者深度摄像机能看到多少。原则上,这似乎是一个简单的概念,但实际上,答案通常是——“视情况而定”。具体来说,最大范围取决于性能特征对范围的限制。对于一个特定的应用来说,最重要的是,如何决定相机的实际操作范围。这个概念将在下面的章节中进一步讨论。​

基本的深度指标定义:​

Z误差或绝对精度:测量深度值与实际距离的误差(标定好的真实数据,Ground Truth)。Z错误可以用多种方式来定义,但大多数定义是基于度量深度值(每个像素或一块区域的平均)和标定好的真实值之间的差异(基于每个像素或者一块区域的平均值)。​

空间噪声或相对误差:测量平坦平面目标时的深度值的变化。这个指标与深度值的准确性无关。理想情况下,平面目标是用来测量空间噪声的,它通常被定义为深度值分布的标准(或RMS)偏差。如果摄像机与目标平行,则可以直接分析深度值的分布。否则,在分析之前,数据必须调整到适应平面。​

时域噪声:随着时间的推移测量深度值的变化。时域噪声可以被定义为在某一些帧数的深度值的标准偏差(比如10帧)。它通常是按像素来测量的,然后取一个特定的区域块的平均或中位数,以代表该设备和区域块的时域噪声。​

填充比率,或有效的像素百分比:度量包含有效像素的深度图像的部分(以非零深度值为像素)。这个指标与深度值的准确性无关。它可以定义在任何特定的区域(ROI)。​

性能指标的测量方法:​

在本节中,我们将研究如何度量一些测量指标,主要重点是如何将其扩展到一个适用于输出“通过–失败”标准的生产线。然而,需要特别注意的是,这只是所有不同的指标评估方法集合的一个子集,我们应该对深度相机的性能有一个全面充分的评估,而不是不突出某一个简单的测试。比如室内白墙测试和更多真实场景的测试。例如,可以通过加强空穴填充、时间平均和空间平均深度滤镜来调整相机在白色平整墙面上的输出完美结果,但是权衡的结果很可能是,非平面的真实形状(例如球体、头部)最终变得扭曲和变平。虽然包含多种测试的完整技术评价不会下面描述,但建议特定场景的测试应该被整合在一个完整测试流程中,例如测试对象可能包括使用人体模型的头部或各种几何形状、材料、颜色(球、橡胶手、棍棒、地毯),以及不同的距离。​

话虽如此,前一节的基本深度指标可能以多种方式确定,但建议使用共同的环境和方法来简化测试,减少错误。一种常见的想法是在简单的最优条件下开始测量,这有可能不够明确。这个环境可以定义为一个平面,它被放置在一个可控环境下,并且已知实际距离。对于有源系统(ToF、结构光、有源立体视觉),测试目标可以表面光滑,具有均匀,无光泽(漫射)完成,具有高反射率。平的白墙漆成纯白(或哑光)是一个简单的测试目标的例子。或者,安装在刚性框架结构上的白板也可能是一个合适的目标。这些测试通常也在低光下进行。在大多数情况下,选则一个平面目标,如墙,平行于深度摄像机,以简化测量,因为真实标定数据可能从单一的测量获得,比如使用独立的绝对测量装置,如激光测距仪或卷尺测量。​

在无发射源(或红外投影器关闭)的无源立体视觉系统的情况下,可以进行被动测试,在这种情况下,目标必须提供一个足够的纹理模式。在这种情况下,特殊的纹理目标如图15所示。在进行被动测试时,也需要足够的环境照明,但这不需要比一般的房间照明更亮。这种模式应该通过不同尺度的纹理来模仿自然情况(在自然界中分形),以便在不同的距离上进行测量。​

一个深度的性能测试系统,用于RealSense™摄像头,如下所示:​

用于描述深度传感器性能的示例系统​​

图15 用于描述深度传感器性能的示例系统。下图中的纹理就是一个测试被动立体视觉的例子​

深度指标通常以两种方式来衡量:a)通过捕获摄像机的深度图像,然后在一个单独的、通常离线的过程中分析数据;或者b)使用专门为深度性能测量而设计的专用工具实时执行图像捕获和度量分析。​

采样RealSense摄像头的性能数据:​

使用上面描述的测试系统和方法,测量了RealSense摄像头的基本深度指标。标准的测量条件是一个具有典型环境照明的受控室内环境(100 ~ 200Lux的头顶荧光灯)。在距离平面目标的不同距离上进行测量,从相机的最小有效距离(min-Z)到最长的有效距离,通常受目标的大小限制。对于这里给出的数据,完整图像数据的最大距离是1.5m ~ 2m,这取决于摄像机的FOV。除了这段距离之外,还使用了一个减小的目标区块来计算度量。​

D410深度摄像头的绝对Z误差的典型扫描值(55mm基线,65度水平FOV)如图16所示。该相机的运行速度为30fps,1280 x 720分辨率,以及一个10mw的红外光发射。在这种情况下,测量了相应区域块的平均误差(Full = Full FOV,Center = central 40% of FOV)。虚线表示对比实际距离有最大2%的误差,在大多数应用程序中被认为是可以接受的。​

D410深度相机的绝对Z误差

图16 D410深度相机的绝对Z误差。full曲线和center曲线是完整深度图不同部分的测量结果​

在相同条件下进行类似的空间噪声测量如图17所示。这表示在区域中深度值的变化量,这是由一个与数据匹配的平面上的RMS偏差来度量的。距离区域块中心4米以上时,通常可以达到小于1%的空间噪声。请注意,当我们接近RMS误差在近距离1mm时,目标的平面度对于测量变得越来越重要,需要非常特别的注意才能得到正确的结果。​

D410深度相机的空间噪声RMS误差(StD)的典型扫描图​

图17 D410深度相机的空间噪声RMS误差(StD)的典型扫描图​

填充率主要受可用信号的限制(比如,从一个质地良好的场景中发出的光)。在类似于上面所示的测试条件下,红外发射器给摄像机提供所有信号,在区域中心中填充比> 99%,超过4米距离。图18显示了一个典型的D410深度图,它的中心区域为4米远,100%填充率。红外发射器的功率是300mw,但是在低到180mw时,4米处也可以获得100%填充率。深度图也显示了图像的空间噪声(在这个例子中是0.7%)。​

深度图的等高线图

图18 深度图的等高线图,在4米范围内,使用一个带有网格的红外发射器测量平坦的白色墙壁。RMS的深度变化是~ 0.7%​

相同条件下,对纹理良好的墙面做被动,性能通常比上面显示的主动(红外发射)方式性能更好。​

远程操作测量​

在超过4米的距离之外,RealSense D410摄像头继续表现良好,与预期的距离一致,可以从较短的距离数据中推断出。​

关于最大范围的问题,具体的最大值Z依赖于极限性能度量。例如,使用< 2%错误和< 1% RMS噪声作为上限,典型的D410范围为~ 6至6.5米。增加或减少可接受的性能限制当然会增加或减少最大值。如果仅仅是填充比的限制,则可以达到7米以上。当然,室外的操作范围一般不会受限于填充率,但是基于误差的有效范围将会有类似的情况,或者限定室内会有稍微好一点效果。​

7. 总结​

基于我们所概述的许多令人信服的应用,在移动电话中使用深度视觉传感器支持前置(摄像头)应用具有巨大市场推动力。许多深度传感技术可以被小型化并应用于这些用途,包括结构光、飞行时间、以及主动或被动立体视觉。我们在这里提出了使用英特尔RealSense立体视觉深度传感器模块,如D405 (15毫米基准)参考设计,这是非常好的备选方案以满足手机设计的空间约束和性能需求,并且支持非常灵活的设计更改来适应空间大小、功耗、成本和性能的综合考量。​

参考文献​

a. By The White House - http://www.flickr.com/photos/whitehouse/14081505711/, Public Domain, https://commons.wikimedia.org/w/index.php?curid=32567572​

b. https://www.doc.ic.ac.uk/~ajd/Publications/davison_iccv2003.pdf​

c. https://en.wikipedia.org/wiki/Depth_perception

d. By User Davepape on en.wikipedia - Photo by Davepape, Public Domain, https://commons.wikimedia.org/w/index.php?curid=961098​

e. Marsha Jo Hannah, “Computer Matching of Areas in Stereo Images”, AIM-239, July 74 (PhD Thesis).​

f. http://vision.middlebury.edu/stereo/data/​

g. http://www.cvlibs.net/datasets/kitti/eval_stereo.php​

h. “Intel RealSense Stereoscopic Depth Cameras”, L.Keselman et al, 2017 https://arxiv.org/abs/1705.05548​

延伸阅读:

《3D成像和传感-2017版》

《MEMS产业现状-2017版》

《红外LED和激光器技术、应用和产业趋势》

《CMOS图像传感器产业现状-2017版》

相关热词搜索:3D摄像头 摄像头 双目视觉 人脸识别

上一篇:三星将在Galaxy S9身上取消指纹识别传感器
下一篇:追根溯源,扒一扒刚刚被通用汽车收购的FM LiDAR