微软专利分享空间重建数据选择,防止MR虚拟元素与物理元素的配准丢失

HoloLens QQ群493967447

查看引用/信息源请点击:映维网

用于空间配准的技术

映维网 2022年01月11日)混合现实允许用户相对于可视用户空间中的物理元素放置虚拟元素,例如箭头、文本、其他数字图形。但随着视觉用户空间的移动,相关的物理元素数据可能会丢失或损坏,或者变得不准确或不可靠。所以,虚拟元素和物理元素之间的空间配准可能出现丢失。由于虚拟元素失去了相对于物理元素的定位,这种空间配准的丢失会减损用户的体验。

在名为“Data selection for spatial reconstruction”的专利申请中,微软就介绍了一种相关得解决方案。具体来说,其主要描述了一种用于空间重建的数据选择。

在图1中,智能手机104在两个不同视场100和102中对虚拟元素和物理元素进行空间配准。在视场100中,用户可以在物理用户空间中看到微波炉106和台面107。在所述实现中,微波炉106由移动智能手机104的摄像头捕获。来自摄像头的视频流包括视频帧的时间序列,其中每个视频帧是摄像头在特定时间捕获的图像。

当用户移动智能手机104及摄像头时,视窗发生变化,从视场100变成视场102。在视场102中,摄像头已经移动,使得微波炉106及其台面107的一部分脱离了摄像头画面。

为支持混合现实环境,可以对物理用户空间的捕获视频帧进行分析,以识别图像特征。然后将所述图像特征映射到用户空间中,从而执行一系列的操作。例如,用户可以将箭头注释118这个虚拟元素放置在视场100中。

为了检测相关图像特征,智能手机104接收并分析视频帧的时间序列。在一个实现中,由智能手机硬件处理器执行的图像处理引擎检测由视频帧提供的图像特征点,从而用于空间重建。例如在图1中,图像处理引擎分析图像并识别可分类为特征点的图像特征。作为分析的一环,图像处理引擎可以测量跨多个视频帧的相似图像特征的对应关系。示例图像特征可以包括但不限于边缘和角等等。根据图像特征,图像处理引擎可以将图像中的各种位置识别为特征点,例如边缘的交点和角点等等。

图像处理引擎可以将置信值与每个特征点相关联。可由图像处理引擎基于多种因素来测量置信度,包括但不限于虚拟用户空间中从视频帧到视频帧的特征点稳定性/对齐、其他注释和清晰度等等。

回到图1,智能手机104的图像处理引擎检测到视场100的多个示例特征点,例如特征点108、特征点110、特征点112、特征点114、特征点116等标记。为简单起见,图1中未示出其他检测到的特征点。

在多个视频帧中检测到物理用户空间的多个特征点后,图像处理引擎将检测到的特征点映射到虚拟用户空间。然后,图像处理引擎根据用于将物理用户空间的图像特征准确映射到虚拟用户空间的选择标准选择各个特征点。

在一个实现中,所选特征点用于定义虚拟用户空间中的图像特征的三角形网格。

虚拟用户空间中三角形网格的一个或多个三角形可以表示物理用户空间中的曲面。在视场100中,特征点110、112、113和116中的至少三个可用于定义与微波炉上表面相对应的特征表面。对于所述示例,假设使用特征点110、114和116来定义与微波炉上表面相对应的特征表面三角形。

当用户将箭头注释118放置在微波炉上表面时,虚拟元素管理器在虚拟用户空间中定义光线投射元素。光线投射元素具有光线投射轴。在本例中,光线投射轴下指微波炉的上表面。

视场100和视场102在两个不同的视频帧中捕获。特征点定位甚至检测因视频帧而异。视场102示出微波炉106的部分特征点不再位于视频帧中,所以不再出现在由视频处理引擎分析的图像中。特别地,特征点112和116不再出现在与视场102相对应的图像内。所以,用于定义微波炉上表面的三角形的特征点116在当前帧中不再可用。

丢失先前检测到的特征点112和116可导致图像处理引擎丢失对应于微波炉上表面的三角形的精确表示。非精确表示会导致虚拟元素管理器无法准确保持箭头注释118在所述曲面的放置精度,例如,箭头注释开始在视场周围徘徊飘动,并提供不自然和不直观的体验。

利用上面描述的技术,系统可以智能地选择特征点以精确地在空间重建特征曲面三角形,从而适应当前视频帧中特征点的丢失。

通常,每个视频帧包括许多特征点,其中部分特征点可以提供比其他特征点更精确的空间重建。另外,当前视频帧可能丢失最准确的特征点,例如特征点112和116)。所以,智能手机104的特征点管理器可以动态地选择特征点以获得准确的三角形网格,并因而获得准确的原点120,然后随着视场的继续变化而一致地定位箭头注释118。

在一个实现中,特征点管理器存储或缓冲来自不同视频帧的特征点,以用于空间重构特征曲面。缓冲区特征点映射到虚拟用户空间中。以这种方式,即使物理用户空间的视场发生变化,每个点在虚拟用户空间中的位置都会保持不变。

虚拟元素管理器可以从以前的帧中选择一个或多个特征点,以在定义特征曲面时补充或替换当前帧中检测到的或缺失的特征点。这样,即便特征点112和116在当前视频帧(视场102)中不再可用,但来自先前帧(视场100的)的特征点112依然可以使用。

图2示出了用于在虚拟用户空间(由X-Y-Z轴表示)中定义特征表面200的两个特征点A和B的示例选择。特征点A和B是在图2所示的视频帧中检测到的多个特征点中的一个。其他特征点包括特征点202和特征点204。其他特征表面(例如特征表面206和208)同时在图2中示出,并且它们可以使用所述特征点或其他检测到的特征点进行空间重构。包括来自先前视频帧的一个或多个特征点的多个特征点映射到虚拟用户空间中,并被存储(例如在存储器缓冲器中)以用于在空间重构虚拟用户空间中的特征曲面。

当用户界面管理器检测到视场增加了光线投射元素时,虚拟元素管理器在虚拟用户空间中定义与一个或多个视频帧中的用户手势对应的方向轴的光线投射元素。特征点管理器基于沿虚拟用户空间中的光线投射轴在虚拟用户空间中应用的选择标准,从多个特征点中选择至少三个特征点。

在一个实现中,选择标准优先考虑虚拟用户空间中最接近光线投射轴的特征点。例如,给定与箭头注释210共线的光线投射轴,首先选择特征点a,因为它最接近光线投射轴(距离光线投射轴dl)。另一个标准用于选择至少三个特征点中的第二个特征点,以定义虚拟空间中的特征曲面。其中,标准标识位于光线投射轴“另一侧”的最近特征点。

图3示出了用于在虚拟用户空间(由X-Y-Z轴表示)中定义特征表面300的第三特征点(特征点C)的示例选择。识别出特征点A和B后,特征点管理器从多个检测到的特征点集中选择第三个特征点。光线投射轴与箭头注释304共线。所以,应用第三标准来选择所选择的用于定义虚拟空间中的特征表面的至少三个特征点中的第三个特征点。

图4示出了虚拟用户空间(由X-Y-Z轴表示)中的特征曲面400的示例定义。在特征点选择器选择了至少三个特征点A、B和C的情况下,特征曲面管理器使用三个特征点A、B和C为三角形网格定义三角形402。光线投射轴与箭头注释404共线。

随着视场的变化,特征点管理器继续从虚拟用户空间中的缓冲特征点中选择满足选择标准的特征点,并且图形显示器继续在虚拟用户空间中的一致原点406处呈现箭头注释404。

图5示出了包括特征表面504的两个视频帧500和502,其中选择用于定义特征表面504的特征点驻留在同一视频帧中。视频帧500在视频帧的时间序列中先于视频帧502(视频帧502是最近的帧)。特征表面504出现在两个视频帧中,相同的四个特征点同样出现在两个视频帧中,但时间不同。每个视频帧中的视场出现移动,使得特征曲面的位置在每个帧中不同。然而,在两个视频帧中检测到的特征点都映射到虚拟用户空间(由X-Y-Z轴表示)并存储在缓冲存储器中。

在图5中,特征点管理器已从多个视频帧的特征点的存储器缓冲器中选择虚拟用户空间中的特征点A、B和C作为特征点,以定义与虚拟用户空间中的特征表面504相对应的三角形506。

图6示出了包括特征曲面604的两个视频帧600和602,其中选择特征点以定义特征面604驻留在两个不同的视频帧中。视频帧600在视频帧的时间序列中先于视频帧602(视频帧602是最近的帧)。特征曲面604出现在两个视频帧中。但在视频帧600中检测到的特征点中的两个不存在于视频帧602中。每个视频帧中的视场出现移动,使得特征曲面的位置在每个帧中不同。然而,在两个视频帧中检测到的特征点都映射到虚拟用户空间(由X-Y-Z轴表示)并存储在缓冲存储器中。

在图6中,特征点管理器从来自多个视频帧的特征点的存储器缓冲器中选择了虚拟用户空间中的特征点A、B和C作为特征点,以定义与虚拟用户空间中的特征曲面604相对应的三角形606。尽管视频帧600中的特征点C似乎相对于视频帧602的特征曲面604移动,但所有特征点到虚拟用户空间的映射倾向于对齐来自不同视频帧的对应特征点。所以,特征面管理器使用虚拟用户空间中的特征点A、B和C来定义特征曲面604,其基本形成如同图5所示的相同三角形606。

通过上面描述的方式,即使物理用户空间的视场发生变化,每个特征点在虚拟用户空间中的位置都会保持不变,以便系统能够随着视场的继续变化而一致地定位箭头注释118。

相关专利Microsoft Patent | Data selection for spatial reconstruction

名为“Data selection for spatial reconstruction”的微软专利申请最初在2020年6月提交,并在日前由美国专利商标局公布。

HoloLens QQ交流群493967447

您可能还喜欢...

专栏