【Vuforia】圖像目標優化技術(Image Targets Optimization Techniques)

一、引言

       本文將介紹幾種不同的,對設備上可能影響追蹤性能的對比度(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)對目標的追蹤功能。

五、瞭解更多

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章