新增圖片尺寸

平台專屬指南

ARCore 中的 Augmented Images API 可讓您建構 AR 應用程式,偵測並在使用者環境中 (例如海報或產品包裝) 擴增 2D 圖片。

您提供一組參考圖片。ARCore 會使用電腦視覺演算法,從每張圖片的灰階資訊中擷取特徵,並將這些特徵的表示法儲存在一或多個擴增圖像資料庫中。

在執行階段,ARCore 會在使用者環境中的平面上搜尋這些功能。這可讓 ARCore 在現實世界中偵測這些圖片,並估算其位置、方向和大小 (如果未提供)。

功能

ARCore 最多可同時追蹤 20 張圖片。ARCore 不會同時偵測或追蹤相同圖片的多個例項。

每個擴增圖像資料庫最多可儲存 1,000 張參考圖片的資訊。資料庫數量沒有限制,但隨時只能啟用一個資料庫。

您可以在執行階段將圖片新增至擴增圖片資料庫,每個資料庫最多可新增 1,000 張圖片。您可以使用網路連線下載先前建立的資料庫。

新增圖片時,您可以提供圖片的實際大小以供偵測。這樣有助於提升圖片偵測效能。

  • 如果未提供實體大小,ARCore 會估算並隨著時間修正這個估計值。

  • 如果提供實體大小,ARCore 會使用所提供的大小,並估算圖片的位置和方向,忽略表面或實際大小與所提供實體大小之間的任何差異。

ARCore 可回應及追蹤下列圖片:

  • 固定在固定位置的圖片,例如掛在牆上的相片或放在桌上的雜誌

  • 移動中的圖片,例如公車行駛時顯示的廣告,或是使用者手持的平面物品上顯示的圖片,當使用者移動手部時,圖片也會跟著移動。

ARCore 開始追蹤圖片後,就會針對每個影格提供圖片位置和方向的預估值。隨著 ARCore 收集更多資料,這些預估值也會持續精進。

偵測到圖片後,即使圖片因使用者移動裝置而暫時移出相機檢視畫面,ARCore 仍會繼續「追蹤」圖片的位置和方向。發生這種情況時,ARCore 會假設圖片的位置和方向為靜態,且圖片本身不會穿過環境。

所有追蹤作業都會在裝置上進行。偵測及追蹤圖片時,不需要連上網際網路。

需求條件

圖片必須

  • 至少填滿攝影機畫面的 25%,才能讓系統初步偵測到。

  • 平放 (例如不皺褶或不纏繞在瓶子上)。

  • 請清楚拍下攝影機的畫面。且不得有任何遮蔽,且不得以極為斜角的角度觀看,或在相機因移動速度過快而產生模糊的情況下觀看。

CPU 使用率和效能注意事項

視已啟用的 ARCore 功能而定,啟用 Augmented Images 可能會增加 ARCore 的 CPU 使用率。在 AR 體驗不需要時,請考慮停用所有未使用的功能。這麼做可讓應用程式使用額外的 CPU 週期,並改善熱效能和電池續航力。

詳情請參閱效能注意事項

最佳做法

選取參考圖片的訣竅

  • 圖片解析度應至少為 300 x 300 像素。使用高解析度圖片「不會」提升成效。
  • 您可以提供 PNG 或 JPEG 檔案格式的參考圖片。
  • 不使用顏色資訊。色彩和等效灰階圖片皆可用於做為參考圖片,或供使用者在執行階段使用。
  • 請避免使用經過大量壓縮的圖片,因為這會干擾特徵擷取作業。
  • 請避免使用含有大量幾何特徵或極少特徵的圖片 (例如條碼、QR code、標誌和其他線條圖),因為這會導致偵測和追蹤成效不佳。
  • 避免使用具有重複圖案的圖片,因為這可能會導致偵測和追蹤問題。
  • 使用 ARCore SDK 包含的 arcoreimg 工具,取得每張圖片的品質分數介於 0100 之間。建議品質分數至少為 75。我們來看看下面兩個範例:

    圖片範例 1 範例圖片 2
    分數:0 分數:100
    包含重複的幾何圖形 有助於提供充分的解析度;含有許多與眾不同的特徵

建立映像檔資料庫的提示

  • 使用 Android 適用的 arcoreimg 工具產生圖片資料庫檔案。這項工具僅適用於 Android 和 Android NDK 開發。此功能已內建於 Unity SDK 和 ARCore Unreal 外掛程式中。
  • 資料庫會儲存從參照圖片中的灰階資料擷取的功能,並以壓縮方式呈現。每個圖片項目約為 6 KB。
  • 在執行階段將圖片新增至資料庫,大約需要 30 毫秒。
    • 在 worker 執行緒上新增圖片,避免阻斷 UI 執行緒。
    • 或者,如果可以的話,請在編譯時使用 ARCore SDK 中提供的 arcoreimg 工具新增圖片。
  • 如果您知道圖片的預期實體大小,請加以指定。這項資訊可改善偵測和追蹤效能,特別是針對大型實體圖像 (超過 75 公分)。
  • 請避免將許多未使用的映像檔保留在資料庫中,因為 CPU 使用率增加會稍微影響系統效能。

最佳化追蹤的訣竅

  • 如果圖片不會從初始位置移動 (例如貼在牆上的海報),您可以將錨點附加到圖片,提高追蹤穩定性。
  • 實體圖片必須佔據相機影像的至少 25%,才能進行初步偵測。您可以提示使用者將實體圖片放入相機畫面中。
  • 請等到圖片的追蹤狀態為完整追蹤後,再使用圖片的姿勢和大小估計值。當 ARCore 初次偵測到圖片,但未指定預期的實際大小時,其追蹤狀態就會暫停。這表示 ARCore 已辨識圖片,但未收集足夠的資料,無法估算圖片在 3D 空間中的位置。