Vuforia提高识别以及稳定性方法总结

版权声明:个人原创,转载请注明出处 https://blog.csdn.net/dengshunhao/article/details/84749991

为了方便AR开发交流,博主建立了一个群 :891555732,欢迎一起讨论


这都是基于平时经验和官方网站所得,如果能帮助你,不胜荣幸

一.整体识别优化

1.设置相机自动对焦

public class AutoFucos : MonoBehaviour {
    void Start()
    {
        Vuforia.CameraDevice.Instance.SetFocusMode(Vuforia.CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
    }
    
    void Update()
    {
#if UNITY_EDITOR
        if (Input.GetMouseButtonUp(0))
#elif UNITY_ANDROID || UNITY_IPHONE
            if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)  
#endif
        {
            Vuforia.CameraDevice.Instance.SetFocusMode(Vuforia.CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
        }
    }
}

2.识别时照明条件

①.确保房间或操作环境中有足够的光线,以便在摄像机视图中清晰可见场景细节和目标特征。

②.如果您的应用程序用例和方案需要在黑暗环境中运行,请考虑使用setFlashTorchMode()Vuforia API启用设备Flash手电筒(如果您的设备有手电筒):

CameraDevice.getInstance().setFlashTorchMode( true );

或在Unity中:

CameraDevice.Instance.SetFlashTorchMode( true );

二.图片识别优化

官网地址 :https://library.vuforia.com/content/vuforia-library/en/articles/Solution/Optimizing-Target-Detection-and-Tracking-Stability.html

1.提高识别图的星级(如果你想识别整个模型,最好别用图片识别)

上传为图片识别时会有Rating,目标的星级评分在1到5星之间; 虽然低等级(1或2星)的目标通常可以很好地检测和跟踪。为了获得最佳效果,您应该针对4星或5星的目标。

属性
细节丰富 街景,一群人,拼贴画和物品的混合物,以及运动场景
对比度很好 明亮和黑暗的区域,光线充足
没有重复的模式 一片草地,现代住宅的外立面,有相同的窗户和棋盘格
格式 必须是8位或24位PNG和JPG格式; 小于2 MB; JPG必须是RGB或灰度(无CMYK)

①.提升特征点 : 特征是图像中的尖锐,尖刺,轮廓分明的细节,例如纹理对象中存在的细节。图像分析器将特征表示为小黄色十字。增加图像中这些详细信息的数量,并验证详细信息是否会创建非重复模式。

 ②.增强局部对比(其实是增强颜色差体现特征点) : 通常可以改善图像的对比度,或者选择具有更多边缘的细节的图像。有机形状,圆形细节,模糊或高度压缩的图像通常无法提供足够的细节丰富度,无法正确检测和跟踪。

原始图像

增强局部对比度的图像

③.特征分布均衡 : 图像中的特征分布越平衡,就能越好地检测和跟踪图像。确认黄色十字在整个图像中均匀分布。考虑裁剪图像以删除任何没有特征的区域。


上传的图片

分析图像

星级

图像特征在整个目标中分布不均匀

裁剪后的图像更好的特征分布

④.避免有机形状 : 具有包含模糊或高度压缩方面的柔软或圆形细节的有机形状不能提供足够的细节以便被适当地检测和跟踪或根本不被检测和跟踪。他们的功能数量很少。

上传的图片

分析图像

星级

评分:

此图像中没有任何功能,因为它缺少具有锐边和高对比度的视觉元素。TheAR相机无法检测和跟踪显示这些或类似特征的图像。

⑤.避免重复模式 : 虽然某些图像包含足够的特征和良好的对比度,但重复的图案会妨碍检测性能。为获得最佳效果,请选择没有重复图案的图像(即使旋转和缩放)或强旋转对称。棋盘是无法检测到的重复图案的示例,因为2x2对黑白方块看起来完全相同并且不能被检测器区分。

上传的图片

分析图像

星级

评分:

该图像不适合检测和跟踪。您应该考虑替代图像或显着修改此图像。

虽然此图像可能包含足够的功能和良好的对比度,但重复的图案会妨碍检测性能。为获得最佳效果,请选择没有重复图案的图像(即使旋转和缩放)或强旋转对称。

⑥.如何创建非矩形图像目标 : 通过将形状的图像放在白色背景上,可以将非矩形2D形状用作目标。这将确保只有形状的特征用于图像目标

脚步:

  1. 在图像编辑器中将形状定位在白色背景上。
  2. 将合成图像渲染为JPG或PNG图像文件。
  3. 将此文件上载到目标管理器以创建新目标,

2.对于图像识别目标优化

①.最好将固定在非柔性表面上的硬质材料如卡片纸,塑料或纸张优于简单的印刷纸张。原因是印刷纸张的柔韧性使得物体难以保持聚焦。

②.平整度 : 当打印目标不平坦时,使用Vuforia SDK的跟踪质量会显着下降。在设计物理打印输出,游戏板,游戏棋子时,确保目标不会弯曲,卷起,并且没有折痕或皱折。一个简单的技巧是在打印时使用厚纸

③.表面光泽度 : 现代激光打印机的打印输出非常有光泽。在环境照明条件下,光泽表面不是问题。但是在某些角度下,光源(例如灯,窗或太阳)可以产生光泽反射,覆盖打印输出的原始纹理的潜在大部分。光泽反射可以创建跟踪和检测问题,类似于部分遮挡目标。

④.尺寸 : 可以使用相机到目标距离除以~10来估算目标应具有的最小尺寸。例如,可以检测到20厘米宽的目标,直到大约2米(20厘米×10)的距离。但请注意,这只是一个粗略的指示,实际工作距离/尺寸比可能会根据照明条件,相机焦距和目标等级而有所不同。如果目标的距离较高,请考虑增加目标的大小。

⑤.视角 : 如果您从非常陡的角度观察目标,或者目标在相机方面看起来非常倾斜,则目标特征将更难以检测并且跟踪也可能不太稳定。在定义使用场景时,请记住,面向摄像机的目标(其法线与摄像机观察方向完全对齐)将有更好的机会被检测和跟踪。

三.3D Scan

1.左前角与本地空间中的(0,0,0)对齐

æè¿°ï¼ç©ä½å¨æ«æç®æ ä¸çä½ç½®

目标的特征区域由重叠的三角形形状组成,起到两个作用。它使扫描仪能够精确地识别网格区域中物理目标的姿势,并且还定义扫描空间的剔除区域。
对象的表面区域延伸到目标的要素区域中,不会合并到对象目标的对象数据表示中。

描述:物体放入遮挡区域

只有此对象的后半部分才会合并到其对象数据中。

剔除目标表面区域的能力对于去除无支撑表面(例如无特征区域,柔韧和铰接表面)是有用的。

剔除还可用于区分共享表面特征的对象组中的项目作为唯一形式的子部分。例如,如果上面的汽车是一组共享前端但具有独特后端的类似汽车的成员,则可以通过仅捕获其后端的特征来单独识别汽车。

 2.扫描面

①.仅扫描对您应用的用户体验有重要意义的对象的面。
例如,如果您的应用仅使用对象的正面,请不要扫描背面或侧面。

②.如果您的应用使用固定对象,则只扫描对象的一侧并在对象目标上启用扩展跟踪。

3.脱卡识别

这个主要是影响追踪的,新的vuforia7-5-20之后增加了一个Fusion mode选项,如果你需要脱卡识别现在也不需要代码了,只需选择Optimize for Model Target即可

Vuforia Image

四.ModelTarget

1.识别物体

①.识别物体是静态的

②.表面是彩色或图案

具有彩色或图案表面的物体通常效果更好。尽管可以可靠地检测到单个均匀颜色的物体,但是难以跟踪它们。需要一些表面外观的变化来区分物体。因此,纯白色背景上的纯白色物体或非常暗背景下的纯黑色物体可能无法正常工作。有时,由单色材料制成的3D打印对象可能难以跟踪。

③.足够的几何细节

几何复杂性是区分对象与环境中其他形状的关键。诸如立方体,球体,对称物体或非常细长的简单形状之类的简单形状可能容易与用户设置中的其他物体混淆。

尝试将您的经验建立在具有足够锋利边缘,凹痕,凸起等的产品或物体上。

2.CAD模型实践

用作模型目标生成器的输入的CAD模型应

  • 最多有400,000个多边形或三角形;
  • 最多包含5个纹理; 和
  • 使用右手坐标系。

①.修补裂缝

模型有时往往会在多边形表示中出现裂缝。这通常是由于错误的细分,简化或组合不匹配造成的。尽量避免使用这些漏洞,因为这样的漏洞会在对象上创建不必要的错误细节,从而产生计算开销并可能导致错误检测。提示:现代CAD软件包可以在3D打印之前验证模型的孔洞和裂缝,这样的工具可以帮助您在使用Vuforia之前验证模型。

②.正确的法线

面向错误方向的法线 - 远离物理表面法线 - 可能导致网格元素不会导致不同的副作用。在复杂模型的对象内部可见的附加边缘,表面上的屏幕门效果等可能产生CAD模型的错误视觉表示并导致低检测和跟踪性能。不正确的法线也会产生明显缺失的部分,请参见上一节。可视化验证正态分布的完整性,某些软件包提供符合法线的工具。

③.正确的纹理

④.与识别物体尽量保持一致

物理对象应具有与用于生成目标的3D CAD模型完全相同的形状和大小。对于体验的稳健性而言,重要的是具有强烈的重叠。
虽然可能检测到错误缩放的对象,但如果度量标度在物理对象和数字对象之间不对应,则跟踪性能将低于标准。

出于实际原因 - 由于CAD模型有时不代表物理对象1:1 - 模型目标技术能够容忍实际和虚拟对象之间20%的偏差作为折衷。

 

博主暂时只用到这三种识别,如果你的识别物体或者图片达不到要求,那么你的识别与追踪稳定性就达不到需求,可以想想其他的识别办法哦,博主也在不断的尝试,欢迎一起交流

猜你喜欢

转载自blog.csdn.net/dengshunhao/article/details/84749991