目錄
一、引言
本文將介紹幾種不同的,對設備上可能影響追蹤性能的對比度(contrasts)和其他設置進行評估和調整的技術,來改進基於圖像的目標(image-based targets)。
我們提供一系列調整和不同的技術,來幫助您改善低性能基於圖像的目標。圖像目標(Image Targets)藉由其自然特徵(natural features)進行追蹤,這些自然特徵可以通過設置對比度進行增強。
此外,如果您的體驗過程中,環境或設備也會影響追蹤穩健性的話,則可能還需要定義相機的聚焦模式和其他設備設置。
二、以灰度(Grayscale)評估目標圖像
Vuforia引擎使用目標圖像的灰度圖(grayscale version)來識別可用於識別和追蹤的特徵。您可以使用圖像的灰度直方圖(grayscale histogram)來評估其作爲目標圖像的適用性。灰度直方圖可以使用圖像編輯程序(image editing application)生成,如GIMP和Photoshop。
如果圖像整體對比度較低,直方圖窄而尖(narrow and spiky),則很可能是不好的目標圖像。這些因素表明,該圖像的有效特徵不夠多。然而,如果直方圖是寬而平的(wide and flat),則表明圖像包含了分佈良好的有效特徵,這是第一個很好的跡象(indication)。不過請注意,並非在所有情況下都奏效,如下帶有漸變特徵(gradient features)的圖像所示(右下角)。
三、局部對比度(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。您可以使用您選擇的任何其他圖形編輯器;但是,步驟可能不同:
- 用Adobe Photoshop打開圖片;
- 將圖層(layer)改爲Smart Object;
- 選擇過濾器(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或以下。 - 最後輸出的便是對比度增強過後的圖像:
原始圖像 | 局部對比度增強之後的圖像 |
---|---|
如果您希望看到更多有關"對比度增強後的圖像校正(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)(在OpenGL或Unity相機設置中)。處理大型圖像目標時尤爲適用。
按照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 GameObject的Inspector窗口中設置。
提示:如果幾乎看不見目標或者目標在視野外,也可以使用設備追蹤(Device Tracking)來授權(empower)對目標的追蹤功能。