什么是Azure Spatial Anchors,什么是Azure Object Anchors
锚定是一种将数字对象附加到物理世界的机制
(映维网 2021年08月17日)锚定是一种将数字对象附加到物理世界的机制。日前,来自微软的丹妮埃拉·霍尔金(Daniela Encarnacion Holguin)撰文介绍了通过Azure Mixed Reality Services提供的两种锚定:将内容附加到“物理位置”的Azure Spatial Anchors;以及将内容附加到“物理对象”的Azure Object Anchors。下面是映维网的具体整理:
1. 什么是Azure Spatial Anchors?
Azure Spatial Anchors(空间锚)表示存在于云中的物理点。像本地空间锚一样,全息图可以附着到空间锚。空间锚的独特地方在于,它能够在云中存储和持久化,并在以后由创建它的设备或任何其他受支持设备进行查询。这能够实现锚的云备份和基于云的锚共享。
想象一下这个场景:你和一个朋友在家,你们同意通过混合现实设备开玩国际象棋,并在桌面定位全息棋盘。在设备端,两人可以在现实世界中的同一位置(桌面)查看棋盘。无论在物理空间中移动到何处,棋盘都将固定到一个点。你甚至可以结束会话并在第二天重新启动,无需再次放置锚。Azure Spatial Anchors有助于构建这样的多用户跨平台体验。
在幕后,全息国际象棋应用使用一个空间锚保存棋盘的位置。这包括有关环境点的特征信息。全息国际象棋应用与云中的Azure Spatial Anchors共享空间锚信息。然后,你朋友的HoloLens、iOS或Android设备端的应用程序可以查询Azure Spatial Anchors的位置。一旦确定锚点,任意多个设备的应用程序就可以在相同的物理位置呈现棋盘。
空间锚可以实现的另一种体验是寻路。例如,开发者可以使用顺序放置的多个Azure Spatial Anchors以创建路径。所述锚点在视觉上相互连接,从而构建锚点图。这有助于在现实世界中引导用户。
通过使用所述功能,Azure Spatial Anchors可以帮助开发者构建在真实世界中实现持久化和共享体验的全息内容。
2. 什么是Azure Object Anchor?
Azure Object Anchor(对象锚)表示一个相对于环境真实对象的位置和方向。它提供了一个通用的参考框架,允许你将数字内容放置在与真实对象相同的物理位置。使用这种方法,你可以避免使用物理标记(如二维码)或手动对齐。
想象这样一个场景:服务中心员工正通过HoloLens 2对汽车进行维护。指向汽车各个零件的视觉叠加和标记帮助操作员遵循合理的工作流程和直接显示在面前的分步说明。这是通过将汽车的3D模型提交给Azure Object Anchor服务来实现。所述服务能够输出一个对象锚模型,以帮助系统理解其形状。利用HoloLens的深度照头,系统可以通过形状来探测对象。使用Azure Object Anchor运行时SDK,HoloLens应用程序加载汽车的对象锚模型,然后使用它在现实世界中检测汽车。现在,应用程序已经知道汽车的精确位置,并可以通过突出显示各种组件或叠加数字指令来构建全息版维护体验。
通过自动检测环境中的对象,Azure Object Anchors有助于改进用户学习并减少错误。
Azure Object Anchors的一个独特功能是:它可以在各种不同的位置或环境中检测单个对象锚模型。在上面的示例中,用户可以在车库的不同位置,甚至在完全不同的服务中心检测车型。如果汽车的所有副本具有相同的物理形状,则对象锚将能正确标识每个副本的位置。这与空间锚不同:空间锚是绑定到单个物理位置,并且只能在创建它的同一物理位置找到。
3. 跨Azure Spatial Anchors和Azure Object Anchors的混合用例
下面两个示例演示了如何同时利用Azure Spatial Anchors和Azure Object Anchors,从而解锁更多空间感知的混合现实体验。
情景1
场景:在工厂车间使用“边做边学”方法对员工进行交互式培训
Azure Object Anchors:使用对象检测来识别工厂地板的给定机器,这样员工就可以看到特定指令的数字叠加。
Azure Spatial Anchors:使用空间锚,员工可以将锚定应用到不同位置,而且它们能够随时间保持不变。空间锚能够帮助员工在室内导航,并在空间中找到关心的内容。
两者结合:当使用对象锚在环境中检测到一个对象时,我们可以在所述位置放置一个空间锚(其包含关于对象的元数据)。当员工在空间中行走时,这个空间锚可以引导他们寻找找到目标机器。一旦到达指示机器的空间锚,系统就可以检测对象锚。你同时可以通过空间锚将用户直接引导到要检测的对象,从而增强对象检测体验。
情景2
场景:剧院道具团队的活动安排和日常维护协助(在设置场景时,使用的道具需要非常具体和详细)。
Azure Object Anchors:对象锚可用于识别场景中的对象(如沙发),并将其3D全息表示与真实对象对齐。
Azure Spatial Anchors:空间锚可以帮助员工跟踪舞台上不同道具的位置。由于一出戏包含多个场景,在短时间内记住每个对象的位置可能会令人感到困惑和相当费时。空间锚帮助绘制舞台映射,并确定需要在舞台放置不同对象的位置。
两者结合:Azure Object Anchors可以扫描每件家具以进行对象检测,并通过Azure Spatial Anchors定位到特定位置,亦即相对于其相应位置定位每件家具。当剧场舞台因场景的变化而需要重新安排时,系统可以帮助将对象重新定位到预先编写的位置。利用Azure Object Anchors和Azure Spatial Anchors,剧院道具员工不必记住所有道具的具体位置,只需穿戴HoloLens 2即可,剩下的工作可以交给系统自动完成。
4. 总结
如上所示,Azure Object Anchors和Azure Spatial Anchors可以通过各种不同的锚定机制解锁沉浸式混合现实体验。
Azure Spatial Anchors目前支持HoloLens 1、HoloLens 2、以及使用ARKit的iOS设备和使用ARCore的Android设备。Azure Object Anchors目前支持Hololens 2。另外,有兴趣的开发者可以参阅Azure Spatial Anchors示例代码和Azure Object Anchors示例代码。