加载模型后,可以向工作流中添加信息。要定义模型以后在Spatial Workplace 应用程序中的显示位置,必须在工作流中添加spatial 引用。
参考资料有三种类型:
注:目前不支持在工作流程中混合使用不同的spatial 引用类型。
标记
标记用于将工作流程中要显示的信息定位在现实组件上所需的位置。为此,需要在编辑器中添加至少一个虚拟标记,将现实中的标记与现实中的组件相对应。不同的设备使用不同类型的标记。然后根据标记的扫描位置在Spatial Workplace 中加载虚拟模型。
有以下几种标记:
- ArUco 标识器:这种标记牌适用于移动设备(iOS 和 Android)。标记的大小可由用户自行调整,范围在 1 厘米到 99 厘米之间。根据经验,应使用 10 厘米(带边框为 12 厘米)或 15 厘米(带边框为 18 厘米)大小的标记,但用户也可以选择与相应组件配合使用的最佳尺寸。
- QR 码标记:这种标记可与 HoloLens 2 配合使用。同样,用户可以调整尺寸。建议的默认值为 15 厘米(带边框为 17 厘米)。
注意:为了正确跟踪,必须以在Spatial 编辑器中添加的相同尺寸打印标记。
为模型添加标记:
- 点击顶部的添加 。
- 根据您的要求选择ArUco或QR 码标记。
- 点击模型表面您想要放置标记的位置。在您放置标记之前,编辑器的其他选项/按钮将被禁用。
- 要更改标记在模型表面上的位置,请选择该标记并单击顶部菜单中的 "对象">"捕捉",或按键盘上的
S
键。 - 使用变换工具或右侧的 "变换 "菜单,更改标记的位置和旋转,而不受模型表面的影响。
6.在右侧,您可以编辑标记的参考信息(ID 和大小)。
注意: 编辑器中使用的虚拟标记必须与使用Spatial Workplace 时放置在现实组件上的现实标记相同,因此要确保标记 ID 相匹配。重要的是要打印正确的标记,并将其放在编辑器中的虚拟标记和现实组件上的相同位置。
点击顶部菜单中的标记PDF,可以下载所有标记。对于大型模型,建议添加一个以上的标记,以便使用 HoloLens 2 进行跟踪。大型模型是指用户需要将视点相对于原始标记位置移动 90 度以上才能看到所有针脚的模型。如果是这种情况,请在实际组件的每个部分(即侧面)添加一个额外的标记。每个标记都有助于设备重新校准插针的位置,确保插针位置正确。
物体追踪器
使用对象跟踪器时,现实生活中的对象被用来计算工作流程中要在所需位置显示的信息的位置。对象跟踪器可用于在 HoloLens 2、iOS 和安卓设备上查看的工作流程。
要在模型中添加对象跟踪器:
- 单击 3D 场景顶部菜单中的添加 > 物体跟踪器 。
- 您将看到一个红色的 智能眼镜全息图(您需要使用鼠标滚轮放大)。该全息图显示了通过智能眼镜感知物体的方式。
3.物体跟踪器相对于场景中模型的位置,代表了用户在Spatial Workplace 中播放工作流程时,必须将设备放置在扫描真实物体的位置和距离。
4.添加对象跟踪器。它现在会自动定位在三维场景摄像头所在的位置(即用户当前在三维场景中观察模型的视角)。
注:用户可以使用鼠标旋转场景,以便从不同角度更好地观察。
5.使用物体追踪器上的小工具来调整其位置或移动摄像头。
6.可选:单击右侧菜单中的 "设置从视图变换 ",将其再次移动到您的查看视角。
注意:重要的是,物体跟踪器要与模型保持合理的距离,并且从它出来的线要指向模型。
⇒ 上传工作流程后,在观察设备上测试扫描视角和距离,并在编辑器中进行微调。这样就能保证最终用户获得更好的扫描体验。
注: 智能眼镜全息图的红色表示没有附加 .obj 文件 。.obj文件有助于VisionLib的物体跟踪功能跟踪现实生活中的组件。
7.要从场景中创建 .obj 文件,请选择红色全息图
8.转到右侧的设置。
9.单击跟踪对象下的分配 > 从场景生成新 对象
10.可选:用户还可以点击 "导出 "并保存.obj 文件,将其保存在电脑上。
注:与导入Spatial 编辑器的模型格式无关,需要从场景生成或从磁盘提供 .obj 文件。
11.现在,三维场景中物体跟踪器的全息图应该变为绿色。
12.可选项:如果在Spatial 中从模型中隐藏或移动了部件,则需要重新生成 .obj 文件,以便在工作流程中包含这些更改。要在使用 Workplace 应用程序时调整初始跟踪的位置和旋转,请启用动态初始姿势 选项。
注: 对于 HoloLens 2 中的物体跟踪,.obj 的比例必须以米为单位。从场景生成 .obj 时,Spatial 会自动确保这一点。但是,如果用户从磁盘中导入具有 VisionLib 许可的现有 .obj,则用户有责任确保缩放比例以米为单位。其他设备则无此限制。
13.使用右侧菜单更改对象跟踪器的位置和旋转。
14.单击 "设置从视图变换"。对象跟踪器会自动移动到 3D 场景的位置和视点。
15.最后,您可以更改跟踪参数值(如下所述),以改善对特定物体的跟踪。
注:其中一个参数是 "静态场景",如果正在使用的场景是动态的,用户可以禁用该参数。该功能目前仅适用于移动设备。
下面列出了所有可用的跟踪参数:
- 动态初始姿势:启用后,用户可在运行时动态设置初始跟踪视角。
- 连续跟踪(仅限移动设备): 如果启用(默认),对象跟踪器将对移动设备进行连续对象跟踪。它更适用于在任务过程中可以移动或旋转但保持形状的物体。 非连续跟踪 仅在任务开始时跟踪物体,然后使用 SLAM 继续跟踪。非连续跟踪更适用于在任务过程中不移动或不旋转,但形状会发生变化(如添加或移除部件)的物体。
- 可扩展跟踪:如果启用(默认),基于模型的跟踪将通过基于 SLAM 的跟踪进行扩展。这样,即使模型在摄像机图像中不再可见,跟踪也能继续进行。用户需要进行 SLAM 舞动,即平移和旋转摄像头,以便有足够的基线进行特征重建。
- 最小值Inlier Ratio Init:初始化期间验证跟踪的阈值。数值范围为 0.5 至 0.9,默认值为 0.6。如果线条模型在无遮挡的情况下与真实物体完全匹配,建议使用较高的值。但通常情况下,它们不会完全匹配,因此较低的值效果更好。
- 拉普拉斯阈值:创建线条模型的阈值(毫米)。数值范围为 0.0001 至 100000,默认值为 5。这指定了两个相邻像素之间被识别为边缘的最小深度。
- 正常阈值:生成线条模型的阈值。数值范围从 0.0001 到 1000,默认值为 1000。它规定了两个相邻像素之间的最小法线差值,以便将其识别为边缘。通常情况下,由于基于法线的线条识别并不可靠,因此将其设置为较高值。不过,对于某些模型,使用较低的值也是有意义的。
- 线条梯度阈值:图像中候选边缘的阈值。数值范围从 0 到 256,默认值为 40。高值只会将对比度高的像素作为候选像素,而低值也会将其他像素作为候选像素。这是一种权衡。如果候选像素太多,算法可能会选择错误的像素。如果候选像素不足,线条模型可能无法贴近图像中的物体。
- 关键帧距离:关键帧之间的最小距离(毫米)。数值范围为 0.001 至 100000,默认值为 100。线条模型只针对特定的关键帧生成。数值越大,性能越好,但精度越低(反之亦然)。
- 相对搜索线长度(Line Search Length Init Relative):在初始化和跟踪过程中,正交搜索线相对于最小分辨率的长度(百分比)。数值范围从 0.00625 到 1,默认值为 0.03125。基于模型的跟踪器会将 3D 线条模型投影到摄像机图像中,并搜索与投影线条正交的边缘像素。
- 使用颜色:默认禁用。如果启用,则在跟踪时可以更好地区分彩色边缘。它只对有彩色边缘的物体有用。它可以提高跟踪质量,但需要更多的处理能力。
- 视野(仅限 HoloLens 2):视野越大,物体在图像捕捉过程中看起来就越小。建议对大型物体使用 "宽 "视场,对小型物体使用 "窄 "视场。
注:必须通过TeamViewer/VISCOPIC 启用对象跟踪功能。每个型号或每个设备需要额外的许可(外部软件供应商 - VisionLib)
模型放置
模型定位使用Spatial Workplace 启动时的用户位置来定位所有模型和连接到spatial 参考点的引脚。
它可用于在 HoloLens 2、iOS 和安卓设备上查看的工作流程。
要添加模型放置spatial 参考:
- 单击 3D 场景顶部的添加 > 模型放置 。小工具只允许沿绿色和红色轴移动,以及绕蓝色轴旋转。这一限制的目的是将模型放置参考保持在同一平面上。
2.绿色箭头表示用户的视线方向。用户可以在右侧菜单中选择根据此参考定位的模型。在Spatial Workplace 中启动工作流程时,所选模型和连接的针脚将根据用户启动Spatial Workplace 应用程序时的视图方向进行定位。
模型可见性: 与连接到spatial 引用的引脚不同,模型默认不可见。要在播放工作流程时让模型可见,您需要
跟踪建议
标记尺寸
标记的大小会影响Spatial Workplace 中显示信息的精度,也会影响标记的扫描距离。编辑器允许用户选择 1 厘米到 99 厘米之间的标记尺寸。
在 HoloLens 设备上,可以从比标记尺寸大 50 倍的距离轻松扫描Frontline 标记。例如,在光线良好的情况下,10 厘米的标记可以扫描到大约 5 米以外。在光线不足的情况下,可考虑增大标记尺寸。在 iOS 和 Android 设备上,Frontline ,可以从比标记大小大 5 倍的距离轻松扫描标记(例如,从 50 厘米的距离扫描一个大小为 10 厘米的标记)。
注意:一般来说,建议标记的最小尺寸为 10 厘米。不过,这可能会因照明条件、相机焦距和与扫描仪相机的距离而有所不同。
Spatial 工作区将工作流程的内容定位到与扫描标记相关的位置。
在这种二维表示法中,只显示了 x- 和 y 轴。 Spatial 不过,Workplace 还使用第三轴来映射精确的 3D 位置。软件使用标记中心与其高度和宽度的关系来确定 3D 变换。
如果在现实组件上放置的标记与编辑器中添加到工作流程中的数字组件的尺寸不同,用户就有可能将spatial 坐标系的起点设置在错误的位置。这会影响工作流程中所有信息的定位。
经验法则: 在大多数情况下,ArUco 标记的尺寸为 10 厘米,QR 码标记的尺寸为 15 厘米,这在相应的设备上就足够了。但是,照明条件、相机焦距和与扫描仪相机的距离可能会产生重大影响。如果出现问题,请考虑增大标记尺寸。
注意:标记的所有四个角都必须清晰地显示在扫描仪相机上,并平铺到编辑器中定义的准确位置。标记的卷曲和褶皱可能会影响针脚的正确定位。
真实环境建议
考虑到所有的跟踪变量对于准确定位引脚和减少偏移非常重要。这包括标记的物理特性、环境以及用于运行Spatial Workplace 应用程序的设备。为达到最佳效果,请遵循以下建议以提高跟踪效率。
标记条件:
- 使用编辑器中定义的具有正确尺寸和 ID 号的标记。
- 扫描仪摄像头应能清楚地看到所有四个角,包括周围的空白区域。
- 标记应始终平整,并准确地放置在真实物体上,不得有卷曲、撕裂或褶皱。
- 覆盖标记的反光表面会影响跟踪效果(如玻璃或层压板)。
- 应始终从与放置标记的表面成 90 度的角度扫描标记(即相机应直视物体/标记)。从不同角度扫描会影响标针的定位。
环境条件
- 环境中的特征数量和您的组件都会影响跟踪。扫描标记并设置原始位置后,设备跟踪系统会控制内容保持在原位。设置中的特征数量会提高设备跟踪的效率。好的特征包括组件本身以及组件与环境之间可见的边角和对比度。
- 房间应该有良好的照明。与我们的眼睛相比,设备的摄像头接收光线的能力通常较低。确保房间里有足够的光线,以保证最佳的跟踪效果。但也要避免过于明亮的环境。
- 应避免使用反光表面,尤其是在放置标记、别针和其他内容时。
- 任务运行过程中的粗暴动作会导致内容位置偏移。在执行任务期间,请保持设备的位置稳定。
- 在大型设置中,针脚距离扫描标记的位置越远,内容定位出现意外偏移的几率就越大。这是由于标记跟踪中的微小误差以及标记和内容位置之间的必要移动量导致的。要尽量减少这一问题,请查看下面的 "添加额外标记以改善跟踪 "部分。
注:根据组件的大小,可能需要额外的标记。由于某些设备的跟踪能力有限,可能需要为模型的不同部分添加多个标记。这样,Spatial Workplace 软件就可以重新跟踪引脚的位置,从而正确放置引脚。在执行重新跟踪任务时,可以随时使用重新定位任务功能。
设备条件
- HoloLens 设备
- HoloLens 设备需要一个干净的遮光板和没有障碍物的传感器。
- 环顾房间四周或在周围走动会提高设备跟踪房间设置的能力。如果房间里有很多人不停地走动,则会影响跟踪效果。
- 用户的瞳间距(IPD)各不相同。设备上未经校准的 IPD 值可能会影响 AR 体验。这篇微软文章介绍了如何使用校准应用程序自定义设备的 IPD。
- iOS 和安卓设备
- 清晰的相机镜头是正确跟踪的必要条件。
- 自动对焦可能会影响插针的定位。
在任务期间重新启动跟踪
如果在任务运行过程中出现内容位置偏移,只需重新扫描标记即可。在设备的任务菜单中选择重新定位任务,然后按提示扫描标记。重新扫描标记后,任务将从您离开的位置重新开始。
任务菜单
在移动设备(iOS 和 Android)上,任务菜单始终位于屏幕左上角,图标上有三条线。在 HoloLens 2 上,当在设备前方举起左手时,任务菜单就会显示出来。还可以使用 "重新定位任务 "语音命令重新启动跟踪。
添加额外标记以改进跟踪
当所有针脚都靠近spatial 参考点(标记)时,AR 设备的跟踪能力就会更强,用户无需远离原位置或做大的转动。当内容距离最初的spatial 参考点较远时,标记扫描产生的微小跟踪误差会显得更大,因为它们会被距离潜移默化。除此之外,用户的过度移动也可能导致内容位置的额外偏移。
因此,我们建议为实际组件的不同 "部分 "创建不同的标记,如本示例所示:
在任务运行期间,用户可以扫描组件各部分的新标记,设备可以重新加载内容的位置,并将引脚放置在正确的位置。更多详情,请查看上文 "在任务期间重启跟踪 "部分。
在编辑器中为项目添加多个标记时,请确保额外的标记与工作流程中的引脚相连。在编辑器中,用户可以在2D 连接器中将它们连接起来。这样,用户就可以决定不同的标记是否可以从不同的针脚开始任务,或者是否在针脚之间添加标记,这将要求用户在到达任务的这一部分时扫描该标记。这些附加标记可以使用不同的标记 ID,也可以使用相同的标记 ID。
其他建议
请注意以下几点,以确保无缝 AR 跟踪体验,提高跟踪质量,防止出现 AR 游泳和定位错误等问题:
- 现实环境中的光学特征很少 : 如果真实环境中没有太多的光学特征(如带纹理的纯白墙壁),摄像头就很难计算耳麦或移动设备的运动。
- 非常复杂的 3D 模型/全息图:在将复杂的模型或全息图可视化时,需要很高的计算能力,才能使所有物体/部件都清晰可见,这意味着留给 AR 跟踪系统的计算能力较少。
- 无需眼球校准 (针对 HoloLens 用户):当每个用户在设备上执行眼睛校准时,可以获得最佳的 HoloLens 体验。如果 HoloLens 2 上仍然存在 "游泳 "问题,请尝试在设备上运行眼睛校准。有关 HoloLens 校准的更多信息,请访问 Microsoft文档页面。
- 计算能力有限的移动设备:如果运行Spatial Workplace 的设备计算能力不强,可能会导致 AR 跟踪体验不流畅。
- 移动设备摄像头质量低:如果设备的摄像头质量低,也会导致跟踪质量差。
- 标记尺寸错误:标记必须完全按照 PDF 文件中规定的尺寸打印。错误的标记尺寸会导致错误的位置跟踪,因为如果标记打印得较小,相机就会认为标记距离较远。
- 房间扫描可能会有所帮助:如果工作流程仅在同一房间内使用,扫描房间并将其传授给 HoloLens 可能会有帮助。这可以在 HoloLens 处于闲置模式(已打开,但未运行应用程序)时,通过在房间各个方向的空中点击来实现。
- 长距离行走/频繁转身:当Frontline Spatial 应用程序运行时,如果用户使用设备进行长距离行走,或者如果工作流程需要用户多次 90 度转弯,全息图和插针就有可能错位。补救的方法是在工作流程中间添加标记,以重置 AR 跟踪/插针的位置。
- 现实世界中标记位置错误:标记在现实世界中的位置必须与Spatial 编辑器中虚拟场景定义的位置完全相同。这有助于正确放置对象和跟踪,因此请确保标记在现实世界中的位置与Spatial 编辑器中的位置一致。
- 低功耗移动设备:如果您用来运行Spatial Workplace 的设备计算能力不强,可能会导致 AR 跟踪体验不流畅。