Vuforia提高識別以及穩定性方法總結
為了方便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手電筒(如果您的裝置有手電筒):
|
或在Unity中:
|
二.圖片識別優化
1.提高識別圖的星級(如果你想識別整個模型,最好別用圖片識別)
上傳為圖片識別時會有Rating,目標的星級評分在1到5星之間; 雖然低等級(1或2星)的目標通常可以很好地檢測和跟蹤。為了獲得最佳效果,您應該針對4星或5星的目標。
屬性 | 例 |
---|---|
細節豐富 | 街景,一群人,拼貼畫和物品的混合物,以及運動場景 |
對比度很好 | 明亮和黑暗的區域,光線充足 |
沒有重複的模式 | 一片草地,現代住宅的外立面,有相同的窗戶和棋盤格 |
格式 | 必須是8位或24位PNG和JPG格式; 小於2 MB; JPG必須是RGB或灰度(無CMYK) |
①.提升特徵點 : 特徵是影象中的尖銳,尖刺,輪廓分明的細節,例如紋理物件中存在的細節。影象分析器將特徵表示為小黃色十字。增加影象中這些詳細資訊的數量,並驗證詳細資訊是否會建立非重複模式。
②.增強區域性對比(其實是增強顏色差體現特徵點) : 通常可以改善影象的對比度,或者選擇具有更多邊緣的細節的影象。有機形狀,圓形細節,模糊或高度壓縮的影象通常無法提供足夠的細節豐富度,無法正確檢測和跟蹤。
原始影象 |
增強區域性對比度的影象 |
---|---|
|
|
③.特徵分佈均衡 : 影象中的特徵分佈越平衡,就能越好地檢測和跟蹤影象。確認黃色十字在整個影象中均勻分佈。考慮裁剪影象以刪除任何沒有特徵的區域。
|
分析影象 |
星級 |
|
影象特徵在整個目標中分佈不均勻 |
|
|
|
裁剪後的影象更好的特徵分佈 |
|
|
|
④.避免有機形狀 : 具有包含模糊或高度壓縮方面的柔軟或圓形細節的有機形狀不能提供足夠的細節以便被適當地檢測和跟蹤或根本不被檢測和跟蹤。他們的功能數量很少。
上傳的圖片 |
分析影象 |
星級 |
|
|
評分: 此影象中沒有任何功能,因為它缺少具有銳邊和高對比度的視覺元素。TheAR相機無法檢測和跟蹤顯示這些或類似特徵的影象。 |
⑤.避免重複模式 : 雖然某些影象包含足夠的特徵和良好的對比度,但重複的圖案會妨礙檢測效能。為獲得最佳效果,請選擇沒有重複圖案的影象(即使旋轉和縮放)或強旋轉對稱。棋盤是無法檢測到的重複圖案的示例,因為2x2對黑白方塊看起來完全相同並且不能被檢測器區分。
上傳的圖片 |
分析影象 |
星級 |
|
|
評分: 該影象不適合檢測和跟蹤。您應該考慮替代影象或顯著修改此影象。 雖然此影象可能包含足夠的功能和良好的對比度,但重複的圖案會妨礙檢測效能。為獲得最佳效果,請選擇沒有重複圖案的影象(即使旋轉和縮放)或強旋轉對稱。 |
⑥.如何建立非矩形影象目標 : 通過將形狀的影象放在白色背景上,可以將非矩形2D形狀用作目標。這將確保只有形狀的特徵用於影象目標
腳步:
- 在影象編輯器中將形狀定位在白色背景上。
- 將合成影象渲染為JPG或PNG影象檔案。
- 將此檔案上載到目標管理器以建立新目標,
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即可
四.ModelTarget
1.識別物體
①.識別物體是靜態的
②.表面是彩色或圖案
具有彩色或圖案表面的物體通常效果更好。儘管可以可靠地檢測到單個均勻顏色的物體,但是難以跟蹤它們。需要一些表面外觀的變化來區分物體。因此,純白色背景上的純白色物體或非常暗背景下的純黑色物體可能無法正常工作。有時,由單色材料製成的3D列印物件可能難以跟蹤。
③.足夠的幾何細節
幾何複雜性是區分物件與環境中其他形狀的關鍵。諸如立方體,球體,對稱物體或非常細長的簡單形狀之類的簡單形狀可能容易與使用者設定中的其他物體混淆。
嘗試將您的經驗建立在具有足夠鋒利邊緣,凹痕,凸起等的產品或物體上。
2.CAD模型實踐
用作模型目標生成器的輸入的CAD模型應
- 最多有400,000個多邊形或三角形;
- 最多包含5個紋理; 和
- 使用右手座標系。
①.修補裂縫
模型有時往往會在多邊形表示中出現裂縫。這通常是由於錯誤的細分,簡化或組合不匹配造成的。儘量避免使用這些漏洞,因為這樣的漏洞會在物件上建立不必要的錯誤細節,從而產生計算開銷並可能導致錯誤檢測。提示:現代CAD軟體包可以在3D列印之前驗證模型的孔洞和裂縫,這樣的工具可以幫助您在使用Vuforia之前驗證模型。
②.正確的法線
面向錯誤方向的法線 - 遠離物理表面法線 - 可能導致網格元素不會導致不同的副作用。在複雜模型的物件內部可見的附加邊緣,表面上的螢幕門效果等可能產生CAD模型的錯誤視覺表示並導致低檢測和跟蹤效能。不正確的法線也會產生明顯缺失的部分,請參見上一節。視覺化驗證正態分佈的完整性,某些軟體包提供符合法線的工具。
③.正確的紋理
④.與識別物體儘量保持一致
物理物件應具有與用於生成目標的3D CAD模型完全相同的形狀和大小。對於體驗的穩健性而言,重要的是具有強烈的重疊。
雖然可能檢測到錯誤縮放的物件,但如果度量標度在物理物件和數字物件之間不對應,則跟蹤效能將低於標準。
出於實際原因 - 由於CAD模型有時不代表物理物件1:1 - 模型目標技術能夠容忍實際和虛擬物件之間20%的偏差作為折衷。
博主暫時只用到這三種識別,如果你的識別物體或者圖片達不到要求,那麼你的識別與追蹤穩定性就達不到需求,可以想想其他的識別辦法哦,博主也在不斷的嘗試,歡迎一起交流