AR增强现实主要是通过在视图叠加额外的数字虚拟内容来增强现实世界。但这个过程十分具有挑战性,例如你必须执行对真实世界的精确追踪,以便将虚拟数据配准到增强场景之中。又如,你必须解决相互遮挡问题以确定真实内容是否位于虚拟内容前面的区域,或反之亦然,从而相应地呈现虚拟内容。
实际上,遮挡处理是AR中一个长期存在的问题,近30年来一直是社区关注的一个活跃课题。在名为《Occlusion Handling in Augmented Reality: Past, Present and Future》的论文中,巴西巴伊亚联邦大学的团队探究了AR遮挡处理的过去,现在和未来。
他们对161篇文献的回顾发现,研究人员和开发人员主要希望解决遮挡问题的三个不同方面,而它们可能是必须项的或可选项:(必需)顺序问题,亦即确定真实数据和虚拟数据之间的深度顺序; (可选)X射线视觉问题,允许对表示真实场景中被遮挡结构的虚拟数据进行视觉探索。取决于顺序问题的解决方案; (必需)视觉显示问题,增加对遮挡效果的支持,主要用于视频显示器(VST)和光学透视(OST)显示器。取决于顺序问题的解决方案;
尽管社区已经提出了越来越多的技术来应对AR遮挡问题,但这个问题依然远未得到完美解决。上面提到使用OST显示器或VST设备来可视化增强场景,或者为室外场景提供X射线可视化。在所述用例中,硬件和软件技术尚未成熟。
在论文中,巴西巴伊亚联邦大学的团队主要回顾了1992年1月至2020年8月期间就AR应用遮挡处理问题发表的161篇论文。
通过从不同但互补的角度看待这一领域,研究人员希望对这一领域的主要成就和公开问题进行总体概述,包括当前的挑战、研究趋势,以及对AR中遮挡处理领域未来方向的建议。
1. 顺序问题
首先,假设每个图像I是一个矩阵,具有m行和n列,存储在每个单元I(x,y),其中x∈[1,n]和y∈[1、m],同时RGB像素I(x、y)=[Ir(x,y)、Ig(x,x)、Ib(x、y)]T分别具有红色、绿色和蓝色通道。
然后,将R和V表示为从特定视点按顺序对齐真实和虚拟世界信息的图像。对于希望解决遮挡处理的顺序问题,相关技术的主要目标是确定:对于最终增强图像A的每个像素,到底是真实(A(x,y)=R(x,y))还是虚拟(A(x,y)=V(x,y))世界信息可见,并且必须在所述位置可见。
AR中已经提出了一系列的策略来动态地确定真实数据是否在虚拟数据之前。团队将其分类为基于模型的策略或基于深度的策略。
基于模型的策略利用从真实场景估计的特征来解决相互遮挡问题。另一方面,基于深度的策略使用基于特定硬件生成的实时深度数据来处理遮挡问题。
1.1 基于模型的技术(基模技术)
通常,基于模型的方法依赖于虚拟体模的可用性、背景的捕获、AR标记的存在、颜色的定义或轮廓的提取来确定AR中真实和虚拟对象之间的顺序。
上图显示了基模策略的分布情况。
上图是基模策略概述。 Phantom虚拟体模:在(a)和(f)中,可以通过使用简单的深度测试来确定真实场景是否在虚拟场景之前。 Background背景:在(b)和(g)中,场景中的背景(蓝色墙)可以预先捕捉,以允许通过遮挡器进行分割。 Marker标记:同样,在(c)和(h)中,AR标记可用作允许遮挡器分割的基础。 Color颜色:在(c)和(i)中,颜色可用作允许遮挡器分割的基础。 Contur轮廓:在(c)和(j)中,形状可用作允许遮挡器分割的基础。
1.1.1 Phantom虚拟体模
解决AR中顺序问题的热门基模策略是使用先前建模或获取的几何虚拟体模来表示真实场景的感兴趣对象。
在这种情况下,一旦虚拟体模与其真实对应体配准,就可以生成虚拟数据的单通道深度图和表示真实数据的虚拟体模的另一个单通道深度表。
然后,可以通过检查哪个数据在另一个前面来计算增强图像A:
自1996年以来,基于体模的策略已用于解决不同AR应用中的遮挡问题。2000年代早期使用的一种变体是使用逆向反射材质制作虚拟对象的真实对应物。然后,每当回复反射对象被另一个真实对象遮挡时,其对应的虚拟数据可以被OST显示渲染为遮挡。
早前的研究表明,考虑到代表真实数据的虚拟体模的可用性,光线追踪对于解决遮挡同样非常有。自2010年以来,社区开始利用地理信息系统提供的数据来构建室外结构的稀疏模型,并解决室外场景的遮挡问题。其他人则追踪用户手部,并变形高质量的虚拟手模型,以便在AR应用中实现基于遮挡的裸手交互。
1.1.2 Background背景
AR应用同时使用背景图像作为模拟真实世界中被遮挡部分的一种方式。
定义VM和RM是二进制掩码,其中对于不包含虚拟数据的背景像素:
否则:
另外,每当像素估计为真实图像R的背景区域的一部分时:
否则:
在这种情况下,可以从R静态捕获或动态计算的背景图像用于帮助估计将遮挡虚拟数据的动态前景对象。然后,增强图像A被确定为:
通常,从捕获的或动态学习的背景图像估计在特定颜色空间、RGB、量化RGB中计算的统计数据,例如均值、中值、标准差、协方差、直方图或高斯混合模型。然后,在实时AR步骤期间,每当转换到预定义颜色空间的前景遮挡像素的值与估计为表示真实场景的背景区域的值不太相同时,就检测前景遮挡像素。
1.1.3 Marker标记
不少AR应用使用基准标记来实现实时追踪,并已经提出了数种方法来解决基于标记的AR应用的遮挡处理顺序问题。所述技术通常利用基准标记的已知图案来检测可能遮挡AR标记的真实场景的前景部分(R M(x,y)=1),从而遮挡虚拟内容。
例如,将在给定帧中检测到的基准标记的图像相对于特定坐标系对齐,然后执行图像减法和二值阈值处理,以检测位于基准标记上方的前景遮挡对象。又如,为真实场景中的遮挡和遮挡对象分配基准标记,执行前景提取以分割对象,并根据标记到camera的距离来解决遮挡问题。
1.1.4 Color颜色
在AR中解决遮挡问题的一种不太流行但更简单的基模策略是,定义真实场景的遮挡颜色C。在所述策略中,如果:
并且上面等式(2)可以用于估计增强图像A,则二值掩码RM=1。例如,社区有人使用HSV颜色空间中定义的蓝色来提取会遮挡虚拟医疗数据的手套;有人使用颜色直方图来提取真实图像中用户的手;其他人使用绿色将背景与用户的手分开,并提出一种学习如何预测遮挡掩模,并在AR环境中允许基于手部的用户交互的深度神经网络。
1.1.5 Contur轮廓
另一种不太流行的基模策略依赖于遮挡区域轮廓的提取。基本上,给定真实世界的图像R,可以使用用户辅助方法或自动轮廓检测算法来提取场景中感兴趣对象的闭合轮廓。假设在这种情况下,如果真实图像中的像素位于由闭合轮廓限定的区域内,则二进制掩码R M(x,y)=1,否则R M(x,y)=0,则可以如上面的图(j)所示精确地估计增强图像A。
换言之,每当发现像素位于由轮廓限定的区域中,或者虚拟像素无效(即不包含虚拟数据)时,真实场景就会遮挡虚拟场景。
对于确定真实对象和虚拟对象之间的顺序,基于模型的技术非常流行,因为它们不需要额外的硬件来解决遮挡问题。然而,由于缺乏可用策略的通用性,所述技术对于需要高质量遮挡处理的通用AR而言用处不大。
1.2 基于深度的技术(基深技术)
基深技术不是使用先前建模的虚拟体模来表示真实世界并求解,而是可以通过基于特定硬件设置捕获或估计真实世界的实时深度数据来简化这样的任务。
如上图所示,只要新的硬件技术由于质量提高或成本降低而得到发展或变得更加流行,它们就会用于解决AR中的遮挡问题。 立体视觉:在90年代,为了估计实时深度数据以解决AR中的遮挡问题,社区使用了立体视觉原理,通过使用两个颜色或强度摄像头来模拟人类双目视觉系统提供的深度感知。立体视觉技术通常执行立体匹配步骤,以确定不同图像的两个像素是否对应于真实场景中的同一点,然后基于匹配像素之间计算的视差来估计和细化深度图 多视图立体:2000年代开始使用多视图立体的原理,在由两个以上摄像头组成的集合执行立体匹配和深度图估计步骤。与立体视觉技术相比,它们的主要目标是提高精度并最小化生成的深度图中的孔洞。例如,使用一组摄像头从不同的视点捕捉真实场景,并使用visual hull算法恢复前景对象的3D表示。其中,visual hull的深度用作处理遮挡问题的基础。 激光测距:社区偶尔会使用激光测距仪来提供深度数据并协助AR应用的遮挡处理。例如,在飞行时间(ToF)深度传感器中,根据传感器发射信号被场景对象反射回来所花费的时间的函数估计深度。 结构光:随着2009年微软Kinect的发布,以及所述设备在2010年的普及。2011年至2017年,结构光传感器技术已成为基于深度的战略中的主导技术。诸如英特尔RealSense这样的结构光传感器在场景中投射已知的条纹图案,并根据图案在场景对象上的变形来估计深度数据。 球形视觉:使用单个摄像头进行深度图估计。所述策略的明显优点是,即便对于在基本硬件设置中运行的AR应用,其都可以提供基于深度的遮挡支持,无需使用额外的摄像头或深度传感器作为提供深度估计的基础。 单目SfM:使用单目SfM来估计深度数据的技术有可能在AR中变得更加普遍,因为它们已经优化到足以在智能手机提供AR中的深度顺序估计。自2018年以来,有文献证明,智能手机正准备解决移动AR应用中的遮挡问题。当为AR应用提供遮挡处理时,基于深度的技术非常有用,因为它们不依赖场景中的任何先验,并且最新的技术能够为AR应用生成密集、高质量的深度映射。所述深度映射不仅可以用于支持遮挡处理的过程,同时可以用于更好地理解真实场景。
2. X射线视觉问题
一旦知道真实数据和虚拟数据之间的深度顺序,就需要确定虚拟内容将如何在增强场景中呈现。计算机图形学领域存在一系列的技术可以提供具有照片真实感或非照片真实感的虚拟对象的实时渲染。
对于AR,X射线视觉技术旨在使用AR技术来可视化真实场景中隐藏的、被遮挡的结构。由于人类没有这种X射线视觉能力,社区提出了几种策略来合成隐藏对象的可视化,同时尽量不降低用户对增强场景的深度感知。 Alpha blending:Alpha blending是X射线视觉技术共享的最常见特征,而不是简单地在真实场景之上渲染表示隐藏的真实结构的虚拟体模。Alpha blending的使用提供了X射线视觉应用中可见结构和遮挡结构可视化之间的平滑过渡。一旦将真实图像分离为背景和前景区域,乘法和逆乘法混合是在AR场景中合并虚拟隐藏模型的最佳策略。 边缘:如上图(b)所示,边缘通常从真实世界和虚拟世界中提取,以帮助隐藏结构的可视化,因为边缘通常是传达场景基本结构的low-level特征。在使用边缘信息来提供X射线视觉的技术中,约90%的技术使用Alpha blending来提供边缘的平滑可视化。 虚拟窗口:AR在医学中的一个用途是提供患者医疗数据可视化,如上图(c)所示,可以以一种虚拟窗口的方式帮助可视化孕妇的虚拟胎儿。 透视线:在X射线视觉应用中合并可见结构和遮挡结构的可视化时,深度的概念可能会丢失。在这种情况下,透视线是有用的,因为它们会聚在距camera最大距离处的消失点。所以,透视线可以充当用户关于虚拟内容的距离的感知提示。 空间操纵:尽管不像其他策略那样流行,但通过“爆炸”(h)或扭曲来对现实世界进行空间操纵是实现AR中遮挡对象透视可视化的一种方式。空间操纵技术可以与透视线一起使用,以帮助用户理解真实世界在增强场景中是如何扭曲,因为透视线同样会受到同样的扭曲效果。 其他特征:尽管边缘是给定场景的low-level特征,但可以利用从场景中提取的high-level特征来支持在X射线视觉设置中合成真实和虚拟世界,例如显著性(d),运动(f),纹理(g),深度和曲率等特征专门用于提高Alpha blending合成的视觉质量。
与基于模型的技术不同,X射线视觉技术不能使用精度度量进行评估。由于人类不具备X射线视觉能力,所以无法获得ground truth结果,无法进行客观评估。
3. 视觉显示问题
在AR中,我们通常将视觉增强显示器分为两组:视频透视(VST)和光学透视(OST)显示器。在VST显示器中,用户不能通过显示器直接看到真实世界。相反,通过使用接到显示硬件的至少一个附加摄像头来捕捉真实世界的图像。然后,将增强图像A作为真实世界R的数字表示与计算机生成图像V的组合呈现给用户。
鉴于已经准确地估计了真实和虚拟对象之间的顺序,对于使用VST显示器的应用程序,可以容易地实现通过正确选择真实数据是否必须显示在虚拟数据之前来解决遮挡问题的任务。
在这种情况下,知道真实世界和虚拟世界的数字表示对于显示技术都是可用的,遮挡可视化问题可以减少到确定是否将基于可用的真实图像或虚拟图像来获取显示器显示的每个像素颜色。
大多数先前技术使用VST显示器来可视化增强场景。但随着微软HoloLens等设备的普及和质量的提高,OST显示器在支持AR应用的可视化和开发方面变得更加强大。最新的商用OST显示器能够解决真实到虚拟的遮挡问题,即真实世界中的对象遮挡增强场景中的虚拟对象。然而,它们依然无法完美解决虚拟到真实的遮挡问题。
解决OST显示器的相互遮挡问题并不简单,因为所述显示器无法轻松控制虚拟图像在显示器的可视化方式。诸如照明等现实世界的特定方面通常会干扰增强场景的可视化。由于所述硬件限制,虚拟对象依然呈现出不希望有的透明度。
由于VST显示器的遮挡问题很容易解决,所以巴西巴伊亚联邦大学主要绍了OST显示器为支持遮挡处理而采用的主要策略。
对于OST显示器,提供遮挡支持的三种最常见策略依赖于在显示器嵌入空间光调制器(a)、控制真实场景的图案照明(b)或在真实世界中制作和放置侵入式遮挡器((c)。
空间光调制器:对于增加对遮挡真实世界的完全不透明虚拟对象的可视化支持,最流行策略是使用嵌入OST显示器中的空间光调制器(图12)。透射式LCD、反射式硅上液晶(LCoS)和单反射数字微镜器件(DMD)通常用于提供这种空间光调制。 图案照明:启用OST显示器中完全不透明对象的正确渲染的另一个选项是,通过使用灯光投影仪控制真实世界的照明,或至少控制虚拟对象将被渲染的部分。这种投影仪可以将阴影投射到要遮挡的真实对象之上,而OST显示器可以用于在阴影位置精确地可视化虚拟对象。这种图案照明策略能够实现增强场景中完全不透明虚拟对象的渲染。 遮挡器:对于解决OST显示器遮挡,一个不太流行的策略是使用特定材料准备虚拟对象的真实对应物,以便OST显示器能够解决相互遮挡问题。
在上述三种策略中,空间光调制策略是未来商业OST显示器中最受欢迎和最有前景的解决方案。它可以通过自己的OST显示器解决遮挡问题,无需在硬件外部进行自定义设置(图案照明)或制作真正的遮挡器。
4. 讨论
最后,巴西巴伊亚联邦大学团队对上述技术了批判性讨论。
4.1 基于模型的策略
虚拟体模是基于模技术使用的最常见特征,并主要用于解决遮挡处理的顺序问题。但是,由于虚拟体模通常被视为场景的静态先验知识,因此至少在没有新真实对象的另一虚拟对应物的可用性时,在AR实况流期间可能不会动态地改变对应的真实对象。
在遮挡器是来自真实世界的前景对象时,背景、标记和颜色特征可用作以实时帧速率提供遮挡处理的方法。然而,在虚拟对象可能位于前景真实对象前面的场景中,所述特征通常不足以解决相互遮挡问题。
轮廓特征不像其他特征那样受欢迎。即使如此,构成真实和虚拟对象轮廓的边缘对于提高基深度技术的质量,或表示X射线视觉应用中隐藏结构的low-level特征而言依然非常重要。
4.2 基于深度的策略
Leap Motion、微软Kinect和英特尔RealSense等低设备的普及,以及使用两台摄像头进行深度图估计的实用性,使得立体视觉和结构光技术在AR中用于遮挡处理中占据主导地位。
最近,行业厂商甚至将所述技术集成到移动设备(如微软HoloLens)和手持式显示器(如iPhone 11、iPad Pro)。但尽管出现了这种工业趋势,最先进的技术已经表明,基于已经嵌入到手持设备中的单目摄像头捕获的实时彩色流,即便是在室内和室外场景下,其都有可能实时生成高质量的深度映射。
这确实拓宽了解决遮挡处理顺序问题的可能性。当然,我们需要进一步提高生成的深度映射精度,同时保持深度映射生成过程的实时性能和时间一致性。
鉴于深度传感器通常提供的原始深度数据存在噪点,社区已经关注于主要在捕获对象的轮廓改善深度映射质量,从而增强原始深度数据的质量。由于所述研究将RGB-D传感器提供的原始颜色和深度数据作为输入,并以实时帧速率提供更高质量的深度数据作为输出,所以它们可以作为其他技术的预处理步骤进行耦合,以提高遮挡处理的准确性。
4.3 X射线视觉技术
控制真实图像和虚拟图像之间的Alpha blending是文献中用于提供AR场景X射线视图的最简单和最常见的方法。
尽管Alpha blending比虚拟场景在真实场景的简单叠加更有用,但真实场景和虚拟场景的粗略混合可能会在增强对象的深度顺序方面混淆用户,并且不能改善AR应用程序的深度感知。文献已经表明,可以实时计算两个世界的不同的low-level和high-level特征,并可用于控制X射线视图效果,而不是仅仅依靠可用的颜色信息。
通过增强真实和虚拟对象最相关、最显著部分的可视化,深度、边缘、显著性、纹理、运动和曲率等特征提高了Alpha blending算法的质量。然而,尚不清楚哪种特征组合为AR提供了最佳的X射线增强,以及新颖的特征是否有助于增强AR中隐藏内容的可视化。
在医学AR应用中,虚拟窗口非常流行,允许医生能够将可视化集中在器官,同时感知虚拟渲染周围的真实场景情景。文献同时提出了其他策略,如在AR场景中添加虚拟透视线,以及对真实世界进行空间操纵以揭示隐藏结构的存在。
4.4 OST显示器的遮挡
文献已经提出了OST头戴式显示器解决方案。目前的商用OST头显已与深度传感器集成,例如微软HoloLens。在这种情况下,尽管OST头显中提供的深度映射扩展了AR中遮挡处理的可能性,但对于特定应用,它们不够准确或优化不足。
使用图案照明策略为OST显示器提供遮挡处理的投影仪显示器已集成在协作设置或当前OST 头显中,但场景中所需的情景设置仍可能阻止其在更实际的场景中使用。
5. 未来方向
正如这篇综述所言,过去近30年的研究已经提出了众多不同的技术来处理AR应用中的遮挡问题。因此,你关注的大问题可能是:这个领域尚有哪些开放的挑战?
5.1 实时非刚体配准
真实对象不仅可以由刚体组成,同时可以由可以变形的非刚体组成。因此,可以使用非刚性虚拟体模来更好地表示AR设置中的可变形真实对象,并且人们可能依然希望追踪这种可变形对象,并确定它们是否在AR场景中的其他虚拟对象之前。
2D非刚体配准技术已经用于AR中基于标记的遮挡处理。另外,文献已经表明,当RGB-D传感器用于捕获颜色加深度流时,其可以实现实时非刚性配准。然而,为仅依赖单目摄像头捕获的RGB流的无标记AR应用提供实时3D非刚体配准依然具有挑战性,这主要是由于所述过程中涉及的高计算成本。
例如,实现这一目标的一个可能的解决方案是利用单目SfM技术或深度学习策略从颜色数据中估计深度,然后将单目camera转换为RGB-D传感器。遗憾的是,由于只有少数单目深度图估计技术可以实现与AR应用的严格处理时间限制兼容的性能,所以在所述管道中集成RGB-D非刚体配准时,可能需要大量努力来实现实时性能。
5.2 X射线视觉
社区已经提出了几种技术来实现真实场景的X射线视图。但巴西巴伊亚联邦大学认为,由于多个原因,这个领域依然需进行更多的研究。
首先,为了解决X射线视觉问题,必须在单个增强的最终图像中看到在多个深度移位的内容。假设用户位于一个房间、建筑物或其他室内空间中,他/她希望看到位于多个房间中的隐藏内容,而房间位于他/她前面的多个深度。
另一种可能的场景是户外AR应用,其中用户可以看到位于不同街道中的隐藏内容,其中街道可能离用户近或远。因此,主要问题是:如何将所述内容组合成单个图像,同时为用户保持良好的空间感知?
行业已经提出通过数个特征来提高X射线视图效果的视觉质量。团队认为,对所述特征的使用进行更广泛的用户研究,并对其最近的X射线视觉技术进行评估,将有助于提出这一领域当前可能的最佳策略。
另一个原因是将X射线视觉和基于模型/深度的方法相结合,以避免在真实场景中X射线视图的不小心重叠。正如上面所述,只有13.7%的X射线视觉论文是针对遮挡处理的顺序问题。即使对于X射线视觉应用,我们都需要动态确定真实和虚拟对象之间的深度顺序。
5.3 OST显示器
OST显示器缺乏相互遮挡处理,这给AR应用程序带来了一个真正的问题,因为根据真实场景的真实世界照明条件,渲染的虚拟对象可能会在真实世界中漂浮。尽管文献在提出能够以合理的视觉质量处理遮挡问题的新型OST显示器方面已经取得了所有努力和进步,但我们依然没有能够解决相互遮挡问题,提供一种轻量级的,对变焦渲染和基于顺序的遮挡处理具有鲁棒性的稳健、流行和商用OST头显。
这一事实本身表明,我们依然需进行大量研究以增强OST头显的能力,推进最先进的解决方案,并填补学术界和工业界之间的差距。
5.4 机器/深度学习
最近,机器学习和深度学习技术在包括AR在内的计算机科学的多个领域提供了巨大的进步。最先进的技术正在使用机器和深度学习来提供基于模型的和基于深度的顺序估计,甚至AR中的X射线视觉。
每年,与AR相关的其他领域(如图像处理)都提出了更新、更鲁棒的机器学习和深度学习技术。从这个意义上讲,不仅在单目深度图估计等领域,而且在单图像遮挡估计和显著性确定等其他领域同样取得了进展,可以集成到AR应用程序中,从而为研究人员和开发人员提供更多工具来最小化遮挡问题的不同方面。
5.5 时间一致性
为了提高遮挡处理的准确性和一致性,已经有技术明确地将时间一致性建模为待解决问题的一部分。即便是这样,团队认为更多的技术应该考虑时间一致性,同时仍然能够提供实时性能,从而提高遮挡处理的视觉质量和用户体验。
对于本次研究,团队希望对AR中迄今为止是如何处理遮挡问题进行回顾和批判性分析,从而为AR的未来做出贡献,帮助研究人员和开发人员能够就所建议的主题开展工作,从而进一步提高最新水平,并提高现有AR应用程序的鲁棒性。