当前位置: 代码迷 >> 综合 >> 【Vuforia】图像目标优化技术(Image Targets Optimization Techniques)
  详细解决方案

【Vuforia】图像目标优化技术(Image Targets Optimization Techniques)

热度:57   发布时间:2023-12-18 21:24:47.0

目录

  • 一、引言
  • 二、以灰度(Grayscale)评估目标图像
  • 三、局部对比度(Local Contrast)
    • 增强局部对比度
  • 四、调整设备和摄像机
    • 相机聚焦模式(Camera focus modes)
    • 光照条件
    • 印刷材质
    • 剪裁平面(Clipping Plane)
      • JAVA (Android)
      • C++, Android/iOS
  • 五、了解更多

一、引言

       本文将介绍几种不同的,对设备上可能影响追踪性能的对比度(contrasts)和其他设置进行评估和调整的技术,来改进基于图像的目标(image-based targets)。

       我们提供一系列调整和不同的技术,来帮助您改善低性能基于图像的目标。图像目标(Image Targets)借由其自然特征(natural features)进行追踪,这些自然特征可以通过设置对比度进行增强。
       此外,如果您的体验过程中,环境或设备也会影响追踪稳健性的话,则可能还需要定义相机的聚焦模式和其他设备设置。

二、以灰度(Grayscale)评估目标图像

       Vuforia引擎使用目标图像的灰度图(grayscale version)来识别可用于识别和追踪的特征。您可以使用图像的灰度直方图(grayscale histogram)来评估其作为目标图像的适用性。灰度直方图可以使用图像编辑程序(image editing application)生成,如GIMPPhotoshop

       如果图像整体对比度较低,直方图窄而尖(narrow and spiky),则很可能是不好的目标图像。这些因素表明,该图像的有效特征不够多。然而,如果直方图是宽而平的(wide and flat),则表明图像包含了分布良好的有效特征,这是第一个很好的迹象(indication)。不过请注意,并非在所有情况下都奏效,如下带有渐变特征(gradient features)的图像所示(右下角)。
Grayscale_0
Grayscale_1

三、局部对比度(Local Contrast)

       通常难以用肉眼察觉局部对比度的好坏。可以通过改进特征的边缘来提高图像的对比度,如下例所示:
Local Contrast
       其他的一般特征,如有机形状(organic shapes)、圆弧细节(round details)、模糊(blurred)或高度压缩(highly compressed)的图像,往往无法提供足够的丰富性和细节(richness and detail),也就不能被正确地检测或追踪。详细的有关信息,请参见【翻译】Vuforia最佳实践:设计和开发基于图像的目标识别(【原文】Best Practices for Designing and Developing Image-Based Targets)。

增强局部对比度

       如果对图像目标评估或星级评定的结果是特征不足,我们建议将增强对比度作为改进目标检测的一种方法:通过增强图像局部对比度来提高特征质量。

       此调整通过增加边缘和拐角周围(around the corners)的局部对比度来修改图像。要使此调整产生预期结果,印刷的目标必须清晰,并且在运行时必须在应用程序中正确设置相机焦距。否则如果相机模糊则会削弱此调整的效果。有关如何调整此设置,请参阅"相机聚焦模式(【原文】Camera focus modes)"。

注意:如果在目标管理器(Target Manager)中缩小(downscale)长边上的(on the longer side)图像尺寸,则可能会破坏此调整的效果;因此,在此步骤之前按比例缩小图像非常重要。

       应用此调整的步骤相当简单。在我们的例子中,我们使用Adobe Photoshop。您可以使用您选择的任何其他图形编辑器;但是,步骤可能不同:

  1. Adobe Photoshop打开图片;
  2. 将图层(layer)改为Smart Object
  3. 选择过滤器(Select Filter)->锐化(Sharpen)->反锐化遮罩(Unsharp Mask),调整三项设置 (数量(Amount), 半径(Radius), 和阈值(Threshold))来增强对比度;
    a. “数量”控制边缘对比度。对于高分辨率图像,“数量”不应超过200%;
    b. “半径”控制边缘厚度。增加1个像素将影响特征边缘旁的一个亮像素(light pixel)和一个暗像素(dark pixel)。对于印刷的图像,建议保持在1-3像素范围内以避免光晕效果(halo effects);
    注意:“数量”和“半径”设置是相互依赖的(interdependent),也就是说,如果你增加了“半径”,就需要降低“数量”,反之亦然;
    c. “阈值”控制哪些像素受其他两个设置的影响。其范围0-255是亮度级别(brightness levels),并表明周围像素将被锐化到何种级别。这在很大程度上取决于图像细节在背景中的突出程度,建议将“阈值”保持在10或以下。
  4. 最后输出的便是对比度增强过后的图像:
原始图像 局部对比度增强之后的图像
Original image Image with enhanced local contrast

       如果您希望看到更多有关"对比度增强后的图像校正(image correction)"的信息,请参阅您所使用图像编辑器的资源和各种可用的,和本文类似的指南。

四、调整设备和摄像机

相机聚焦模式(Camera focus modes)

       如果摄像机视图中聚焦不到目标,则摄像机的图像结果(**the camera image result **)可能会模糊,目标的细节也可能难以被检测到。因此,检测追踪性能可能会受到负面影响。

       建议使用适当的相机聚焦模式,以确保有最佳的相机聚焦条件(camera focus conditions)。有关相机聚焦模式的完整说明,请参见:相机聚焦模式(Camera Focus Modes)。

光照条件

       测试环境中的光照条件会显著影响对目标的检测追踪。

  • 请确保您的房间或操作环境中有充足的光线,以便在相机视图中可以清晰看见场景细节和目标特征;
  • 我们认为Vuforia引擎在室内环境中工作得最好,那里的光照条件通常更稳定,也更容易控制;
  • 如果您的应用程序用例(application use case)和场景(scenarios)需要在黑暗环境中操作,请考虑使用**setFlashTorchMode()**方法来启用设备手电筒(device Flash torch)(如果您的设备有的话)。
  • CameraDevice.getInstance().setFlashTorchMode( true );
    或者在Unity中:
  • CameraDevice.Instance.SetFlashTorchMode( true );

印刷材质

       我们还建议考虑目标图像会印在什么材质上,因为光泽度(glossiness)和平坦度(flatness)会影响其可追踪性。详细有关信息,请参阅【翻译】基于图像目标的物理特性(【原文】The Physical Properties of Image-Based Targets)。

剪裁平面(Clipping Plane)

       如果您的增强效果物体(augmentations)在距离图像目标某一距离处时消失,则可能需要调整您的远剪裁平面(far distance clipping)(在OpenGLUnity相机设置中)。处理大型图像目标时尤为适用。

按照OpenGL示例中的建议,增加远剪裁平面的值:

JAVA (Android)

projectionMatrix = Tool.getProjectionGL(camCalibration, near_distance, far_distance);

C++, Android/iOS

rojectionMatrix = Vuforia::Tool::getProjectionGL(cameraCalibration, near_dist, far_dist);

       在Unity中,远近剪裁平面(the near and far clipping planes)可以直接在ARCamera GameObjectInspector窗口中设置。

提示:如果几乎看不见目标或者目标在视野外,也可以使用设备追踪(Device Tracking)来授权(empower)对目标的追踪功能。

五、了解更多

  • 【Vuforia】基于图像目标的物理特性
    (【原文】Physical Properties of Image-Based Targets)
  • 【Vuforia】最佳实践:设计和开发基于图像的目标识别
    (【原文】Best Practices for Designing and Developing Image Targets)
  • 图像目标
    (Image Targets)
  相关解决方案