模型对象的要求与限制
简介
太虚AR的模型识别支持各种类型的物体,无论是车辆、电器、玩具、展品、医疗和工业设备模型,都能提供稳定的识别和跟踪。
以下指南将针对模型对象的要求与限制进行一些说明,以便能达到最好的效果。
关于识别物体
避免透明和反光的物体
请避免识别透明和反光的物体,暂时无法提供稳定的支持。
物体颜色与背景色不同
物体的颜色,需要与背景色有区别。比如,在纯白色背景下的纯白色物体,或者在非常暗背景下的纯黑色物体可能无法识别。
避免对称的物体
对称的物体无法区分正反面,会影响模型的识别效果,所以建议避免对称物体。
物体具备一定的几何复杂度
几何复杂度是区分物体与环境的关键。尽管旋转不变的简单形状(如球体、立方体等)通常可以运行,但一方面可以任意初始化且效果可能会不太稳定,另一方面这类物体容易与环境中的其他对象混淆,所以请尽量使用具备一定几何复杂度的物体。
关于模型准备
模型文件格式
Unity支持的均可正常使用,推荐使用OBJ文件。
模型应该完全匹配物体
模型的大小,需要与识别的目标物体一致或接近。
模型的形状,应与识别的目标物体完全相同。如果二者有区别,模型可能会无法与物体精准对齐,出现模型与物体不匹配的情况,甚至可能会无法识别,造成识别跟踪的效果低于标准,鲁棒性降低。
模型尽量保证布线合理
模型不应该包含太多杂乱的小元素,布线请尽量合理。
模型尽可能轻量
结合实际需要,模型请尽可能的轻量化。例如,如果您要从外部跟踪一辆汽车,不需要一个带有整个内部结构的3D模型。
模型面数推荐在1万以内
模型的面数越多,对性能开销越大。考虑到移动设备的性能,请尽量将模型的面数控制在1万以内,以达到更好的识别跟踪效果。
Note
模型减面可以使用各种方法。如果您对减面操作不太熟悉,可以参考下述操作。
下载MeshLab2016.12.exe (47.23 MB),安装MeshLab。
下载polyhedron.zip (34.36 MB),解压缩。
启动MeshLab,点击
[ File ] -> [ Import Mesh... ]
,导入需要处理的模型。点击
[ Filters ] -> [ Cleaning and Repairing ] -> [ Remove T-Vertices by Edge Collapse ]
,根据模型的需要调整Ratio的值,完成后点击[ Apply ]
。(注:本教程中将全部使用软件的默认值做示意,参数值您可以根据实际需要自行调整。)
点击
[ File ] -> [ Export Mesh As... ]
,导出调整后的模型,关闭MeshLab。运行解压后的polyhedron文件夹内的“
Polyhedron_3.exe
”,启动Polyhedron程序。点击
[ File ] -> [ Load... ]
,导入第4步生成的模型,下方显示了模型的相关信息。点击
[ Operations ] -> [ Triangulated Surface Mesh Simplification ] -> [ Simplification ]
,输入停止条件,完成后点击[ OK ]
。点击
[ File ] -> [ Save as... ]
,导出调整后的模型,关闭Polyhedron程序。在保证模型轮廓没有失真的情况下,模型的面数如果还是大于10,000时,可以尝试再次到MeshLab中处理。
再次启动MeshLab,点击
[ File ] -> [ Import Mesh... ]
,导入第8步生成的模型。点击
[ Filters ] -> [ Cleaning and Repairing ] -> [ Merge Close Vertices ]
,调整参数,完成后点击[ Apply ]
。点击
[ File ] -> [ Export Mesh As... ]
,导出调整后的模型,关闭MeshLab。模型减面完成。