目录
- 一、支持对象类型
-
- 空间位置
- 着色或有图案的表面(Colored or Patterned Surface)
- 充足的几何细节(Geometric Detail) - 足够复杂(Complex Enough)的模型
- 不易弯曲并且刚性的(Non-flexible and Rigid)
- 和CAD模型相匹配
- 二、CAD模型最佳实践
-
- 纹理(Texturing)
- 模型零件的着色 - “吹泡泡(Bubble-Gumming)”
- 移除铰接(articulated)零件
- 大孔(Large Holes)
- 部件丢失(Missing Parts)
- 法线错误(Incorrect Normals)
- 三、了解更多
一、支持对象类型
Vuforia模型目标特征(Model Targets Feature)为支持的对象和用例(use cases)提供了强大(robust)的识别追踪功能。
支持类型包括玩具、全尺寸车辆(full-sized vehicles)、建筑地标(architectural landmarks),以及医疗、制造和工业设备等。
下面,我们将重点介绍Vuforia’s Model Target技术所支持物理对象的属性。我们将通过优劣举例来说明具体的质量差异。上面这些图像都是仅作示范(indication)的可效仿(exemplary)对象。您可以验证您的特定用例(specific use-case)是否符合推荐规范(recommendations)。
受技术限制的用例(Use-cases stretching the limits of the technology):目前并不能稳定将铰接式(articulated),光滑(shiny)或透明(transparent)等类似对象作为Model Targets。
空间位置
如果目标物体可以被固定住,并在被检测到之后不再移动,追踪模型目标的效果最好。用户可以围绕物体移动,但理想状态下,不应移动目标物体本身。
如果您希望移动目标物体,请选择此文中所阐述的自适应动作提示(ADAPTIVE motion hint):模型目标追踪优化(【原文】Optimizing Model Target Tracking)。
着色或有图案的表面(Colored or Patterned Surface)
通常对表面着色或有图案的目标物体追踪效果更好。虽然颜色单一的物体的确可以被检测到,但很难被追踪。为了区分,目标物体的外观需要有一些变化。因此,纯白背景下的纯白的物体或至黑背景下的纯黑物体的追踪效果可能没那么好。 同样,主体颜色为黑色,透明或高度反光(highly reflective)的目标物体也可能难以被检测或追踪,因其表面细节不够多。 有时,由单色材料制成的3D打印物体也可能难以被追踪到。 |
---|
注意:实体模型(physical model)的颜色没必要和用来生成模型目标的CAD模型一致。一个模型目标数据库(database)就可以用来检测追踪具有不同颜色的同种产品。
充足的几何细节(Geometric Detail) - 足够复杂(Complex Enough)的模型
几何复杂程度是同一环境中区分目标物体和其他形体(shapes)的关键。简单的形体如立方体、球体,或非常细长简单的形体(elongated simple shapes)很可能会和用户设置的目标物体互相混淆。 尝试根据经验使产品或目标物体拥有足够尖锐(sharp)的边缘、凹陷(dents)、凸起(bulges)等。 建议避免使用对称物体(symmetric objects),因为模型目标追踪器无法辨别其两侧有何不同。此外,重复的部分,比如(两侧)完全相同的冲压成型表面(identical extrusions on a surface),会进一步使检测追踪功能混乱。 |
---|
不易弯曲并且刚性的(Non-flexible and Rigid)
模型目标追踪器可以容忍一些实体和数字模型之间的偏差,但利用铰链连接(articulate)以及可弯曲(flex)物体可能无法被有效地检测追踪。 为了达到最好效果,请从CAD模型里删除实体对象中并不总会出现的部分(比如某一产品的变体型(variant)有一些小附件,而其它的不具备)。 当然这只对大部分是刚性的目标物体奏效,并不支持主要由铰接式或可弯曲零件(flexible parts)构成的物体。 |
---|
和CAD模型相匹配
物理对象(Physical objects)需要和用来生成模型目标的3D CAD模型具有相同的形体和尺寸。高度重叠(a strong overlap)对体验稳定性(the robustness of the experience)来说非常重要。 虽然比例错了物体也可能被检测到,但如果物理对象和数字对象之间的度量尺度不一致(correspond),追踪性能将低于平均水平(sub-par)。 因此,请确保模型目标和物理对象保持以米为单位的尺寸相同,精度越高越好。 出于实际原因(For practical reasons),有时CAD模型并不能1:1代表实物——模型目标技术会允许现实和虚拟对象之间存在**10%**的偏差作为妥协。 详细的有关信息,请参见Vuforia最佳实践:缩放模型目标(【原文】Best Practices for Scaling Model Targets)。 |
---|
二、CAD模型最佳实践
上一节提供了有关"如何挑选与模型目标特征配合良好的物理对象"之建议,本节将提供有关"如何最好地准备相应的CAD数据"之建议。
一般来说,用于模型目标生成器(Model Target Generator)的CAD模型需要:
- 具有最多40万个多边形(polygons)或三角形(triangles)
- 包含最多10个部分(parts)
- 包含最多5种纹理(textures)
- 使用右手坐标系(right-hand coordinate system)
这些建议是根据CAD模型遇到的常见问题编写的。
注意:由于可用的CAD软件种类繁多,生成管线(generation pipelines)也有多种可能,因此我们很难提供在所有情况下都能奏效的解决方案。因此,下面的建议不可避免地有些泛化(generic),并且特定模型仍然可能有特定问题。如果您的特定模型在模型目标生成器中不能正常工作,请通过论坛与我们联系。
纹理(Texturing)
在模型中添加能够增加视觉保真度(visual fidelity) ,使其与物理对象更为相似的纹理会非常有帮助。该纹理可为表面图案、标签、印品(prints)或诸如标准底板(gauge-backplates)的平面元素(flat elements)。 这些细节有助于Vuforia引擎更好地从几何体中提取必要的细节以改进检测追踪踪效果,尽管其性能最终取决于很多运行时(run-time)因素,比如光照强度和颜色。模型目标生成器会生成此类细节的缺失警告。 当前支持的纹理格式为32、24和8-bit的JPG、PNG以及PGM。请牢记这一点,因为如果在CAD模型上使用其他格式的纹理,可能会导致模型导入模型目标生成器(MTG)时出错。 |
---|
? 使用写实纹理(例如3D扫描)可以提高(识别)模型目标的性能,特别是高级模型目标(Advanced Model targets)的识别精度。使用真实的纹理或颜色时,请确保在“真实外观(Realistic Appearance)”模式下训练模型:
同时,使用写实纹理会降低追踪性能,特别是当它们包含物理对象在追踪过程中看不到的硬阴影(hard shadows)时。扫描对象时,请确保在光线充足且均匀(well and evenly)的环境中捕获(capturing)它们。避开硬阴影和强烈的彩色光源。
详细的有关信息,请参阅Vuforia指南:如何用扫描模型创建模型目标(【原文】Guide on How to Create Model Targets from Scanned Models)。
如果模型数据具有写实纹理,建议对使用和不使用这些纹理创建的两类模型目标进行性能测试。其中一种可能比另一种效果好得多(significantly better),这取决于该特定对象与纹理属性。
? 在某些情况下,模型的纹理或颜色可能与实际对象不匹配。这种情况可能是因为模型零件(parts)在CAD软件中被不自然地(artificially)着色了,或是因为该对象有不同的纹理变体(textured variants)(例如某种玩具及其变体,绘图(painting)不同但形体相同)。
如果是这种情况,请确保在创建高级模型目标时移除不正确的纹理,并在“非真实外观(Non-Realistic Appearance)”模式下训练模型目标:
模型零件的着色 - “吹泡泡(Bubble-Gumming)”
如果您的CAD模型不包含纹理或颜色,则最好为零件分配不同的颜色,以指明实际对象的不同材质或表面特性。我们称此过程为“吹泡泡(Bubble-Gumming)”。
按照设计,Vuforia模型目标特征是根据形体(shape)检测对象的,不过提供材质额外信息也有助于显著加强检测稳健性(robustness)。有些零件(parts)之间间隙(gaps)很小,虽然在现实中很明显(strongly visible),但很难在渲染视图(rendered view)中进行判断(extract),则可以用颜色来进行区分(indicate)。例如车身和车门之间的间隙。如果可以的话,请避免使用无法传输颜色信息(如STL)的单色模型(single-color models)或文件格式。
当您对CAD数据进行“吹泡泡”操作,创建Advanced Model Target时,在"Non-Realistic Appearance"模式下训练模型目标非常重要。
移除铰接(articulated)零件
如果物理对象主体是刚性的,但包含铰接式或可移动(moving)的零件(例如,汽车的车轮或汽车仪表板(dashboard)上的方向盘(steering wheel)),请从CAD模型中移除这些零件。
注意:仅当物体主体为刚性时生效。不支持主要由铰接式或可弯曲零件构成的物体。
描述 | 模型 |
---|---|
物理对象 | |
原始未着色的CAD模型 (移除了铰接式的轮子) |
|
“吹泡泡”处理过的CAD模型 |
大孔(Large Holes)
模型的多边形呈现(polygonal representation)有时会出现裂缝(cracks)。这通常是由镶嵌(tessellation)错误、简化(simplification)错误或组合不匹配(combination mismatches)所导致。请尽量避免此类孔洞,因其会在对象上创建不必要的错误细节,占用CPU计算开销(computational overhead),并可能导致检测错误。 |
---|
提示:新的CAD软件包(software packages)可以在3D打印之前验证(verify)模型的孔和裂缝,此工具有助于您在使用Vuforia之前验证模型。
部件丢失(Missing Parts)
在管线转换(conversion pipeline)期间,模型的某些部分可能已损坏(corrupted)、具有错误的(透明的)材质属性,或仅在装配过滤器(assembly filter)中丢失。从外表上(Visually)将模型目标生成器中加载的CAD模型,与要增强(to be augmented)的物理对象进行匹配,确认是否包含所有所需部件。 |
---|
注意:如上所述,如果已知零件为非刚性(non-rigid)(可移动)零件,建议将其从模型中移除。
法线错误(Incorrect Normals)
指向错误的法线(远离物理曲面法线(surface normal))可能会使得网格元素(mesh elements)无法渲染,从而导致各种副作用。额外边缘、复杂模型的内部可见对象、表面纱窗效应(screen-door effects)等,都可能令CAD模型的视觉呈现(visual representation)出错,并导致检测追踪性能低下。法线错误也可能产生明显的部件丢失,请参见上一节。从外表上验证法线分布(normal distribution)的完整性,一些包(packages)提供了一致化法线(conform normals)的工具。 |
---|
三、了解更多
- Vuforia:模型目标概述
【原文】Model Targets Overview - 【Vuforia】用户指南:模型目标生成器
【原文】Model Targets Generator User Guide - 【Vuforia】高级模型目标数据库
【原文】Advanced Model Target Databases - Vuforia:维京火星登陆舱3D打印说明
【原文】3D Printing Instructions for the Viking Mars Lander - 本文链接