【Vuforia】用戶指南:模型目標生成器(Model Targets Generator)

一、引言

Model Targets Generator

       模型目標生成器(MTG)將已有的3D模型轉換爲Vuforia引擎數據庫(database),Vuforia引擎可以使用該數據庫對模型目標進行追蹤。此工具使您能夠確認模型特徵是否可用,設置初始捕捉(snapping)位置,然後導出最終數據庫。

       若要創建自定義“指引視圖”(Guide View)圖像作爲應用程序(app)的視覺樣式(visual style),MTG生成的數據庫包含Guide View(檢測位置(detection position))裏模型的預覽圖(renderings),使用該預覽圖可能比Vuforia引擎API提供的默認Guide View圖像更合適。

訓練模型目標數據庫(Training Model Target databases)

       Model Target Generator允許您爲每個對象定義一個或多個Guide View,並允許您將不同的Model Targets(每個都具有一個或多個高級指引視圖(Advanced Guide Views))合併到一個高級數據庫(advanced database)中。

       MTG通過基於雲的深度學習進程(cloud-based process)對高級數據庫進行訓練,該進程允許app在多個Model Targets之間自動切換,每個Target在運行時具有一個或多個識別範圍高達360°的Advanced Guide Views

二、安裝Model Target Generator

最低系統要求

  • Model Target Generator支持在WindowsmacOS上運行。相關支持版本的詳細信息,請參閱支持版本表。

安裝和設置(Installation and Setup)

       MTG和您的開發者帳戶相關聯,並在您使用開發者憑據登錄後啓動。爲了在多次MTG啓動時輕鬆訪問,可以通過選中“記住我(Remember Me)”框將憑據存儲在Windows憑據存儲區(credential store)或macOS密鑰鏈(Keychain)中,此憑證將在登出(signing out)時刪除。

       MTG附帶了(shipped with)一組基本的模型轉換器(model converters)。如果輸入需要JT轉換,那麼還需要安裝Creo View和相應的(accompanying)JT適配器(adapter)。只有當Creo View能夠導入JT文件時,MTG才能這樣做。支持格式的完整列表如下所示。

       只要源模型是能夠導入MTG的格式,就不需要額外的模型轉換。當創建一個新項目時,甚至當源文件被更新時(假設在創建項目時使用的位置仍然可以訪問源文件),MTG會自動對其進行處理。

三、模型要求和準備

       MTG可以讀取各種3D文件,並將它們轉換爲Vuforia Engine的內部網格格式(internal mesh format)。因此,在此轉換過程中所引入模型的任何可視化(visual)錯誤都將顯示在MTG視口(viewport)中。一些源模型格式(source model formats)由於缺少網格信息(mesh information),可能會導致模型轉換出錯。所以,應使用MTG檢查導入模型是否與源數據(source data)一致。如果有問題,使用不同文件格式可能會得以解決;如果解決不了,則可能需對源數據進行修整(be cleaned up)。

       Vuforia EngineModel Target的追蹤效果在CAD模型上表現最好,因其擁有例如與物理對象相應的顏色、複雜程度低等特性(particular characteristics),且其在我們的其他最佳實踐中表現優異。

       詳細有關信息,請參見【翻譯】Vuforia最佳實踐:支持作爲模型目標(Model Targets)的對象和CAD模型(【原文】Model Targets Supported Objects & CAD Model Best Practices)。

支持特徵

       導入管線支持包含以下內容的網格:

  • 多個子網格(Multiple sub-meshes)

       每個sub-meshRenderer中的Material相對應,例如MeshRendererSkinnedMeshRenderersub-mesh由一組三角形組成,這些三角形指向(refer to)一組頂點(vertices)。頂點可以在多個sub-meshes之間共享。

  • 頂點位置(Vertex positions)
  • 頂點法線(Vertex normal)
  • 頂點紋理座標(Vertex texture coordinates)(僅一組)
  • 漫反射純色(Diffuse solid colors)
  • 漫反射紋理顏色(Diffuse texture colors)
  • 法線貼圖(Normal maps)

       如果輸入模型提供的信息多於上述信息(例如,額外的紋理座標集),則在導入時將忽略多餘信息。

支持格式

       MTG支持讀取:Creo View (.pvz), Collada (.dae), FBX (.fbx), IGES (.igs, .iges), Wavefront (.obj), STEP (.stp, .step), STL (.stl, .sla), VRML (.wrl, .vrml), glTF 2.0。如果安裝了適用於JTCreo View Adapter,那JT數據也支持。

注意macOSMTG不支持STEP(stp,.STEP)和JT數據文件。

       使用Creo View AdapterColladaFBXJT可以觀察到最佳的導入結果。

注意:模型支持的紋理格式爲32-bit24-bit8-bitJPGPNGPGM文件。

模型準備

       有關推薦規範和最佳實踐的詳細概述,請參見【翻譯】Vuforia最佳實踐:支持作爲模型目標(Model Targets)的對象和CAD模型(【原文】Model Targets Supported Objects & CAD Model Best Practices)。

       在爲MTG準備3D模型時,需要檢查數字對象和物理對象的比例(scale)是否匹配。在某些情況下,全尺寸(full-size)目標對象的3D模型是不能對玩具仿製品(toy replica)進行追蹤的。爲了獲得最佳的追蹤效果,模型和目標對象的大小應該相匹配。有關此規則(topic)的詳細信息,請參見Vuforia最佳實踐:縮放模型目標(【原文】Best Practices for Scaling Model Targets)。

       如果模型擁有超過40萬個多邊形(polygons)或超過10個部分(parts),則需要對模型進行簡化。簡化過程包括:減少將對象表示爲網格所需的多邊形數。如果要在移動設備上實時運行,則必須優化計算機視覺算法(computer vision algorithms);簡化過的多邊形只要不是過於粗糙(coarse),就不會影響檢測追蹤的精度。

       任何簡化工具都會帶來一定的缺陷(artefacts)。幅度(range)縮小至1:10的缺陷通常不會影響計算機視覺算法。例如,將一個與整車3D模型相對應的網格從50萬個多邊形減少到5萬個,會造就一個大爲簡化的數據庫,並仍然擁有良好的檢測追蹤性能。

原圖 有缺陷
在這裏插入圖片描述 在這裏插入圖片描述

上面兩張圖是筆者找到的,對artefacts一詞的應用。1

修正(Modification)

       在某些情況下,對象的3D模型可以包含不在被追蹤對象身上(或所有實例上)的部件,就像訂購東西時,可以指定的那種可選的附加組件:比如摩托車上的附加擱腳板(footrests)或乘客座椅。理想情況下,用於追蹤的3D模型不應包含此類部件。

       此外,可以輕易地從3D模型所在位置移動的部件(例如,可以旋轉或調整以適合駕駛員操作的方向盤(steering wheel))也會干擾追蹤。將其從3D模型中移除可以減少3D模型與真實物體之間的差異(disparities),從而提高追蹤質量。

       通常,包含在CAD模型中,但在嘗試初始化追蹤時無法從對象外部看到的內部(Internal)組件也應移除。存儲在應用程序中時,這些部件會增加設備數據庫的大小,並在運行時增加要處理的多邊形數。去除以進一步提高Model Target的檢測追蹤性能。

工具

       若要簡化或修改模型,請使用第三方網格編輯工具,如PiXYZ StudioSimplygonBlenderMayaUmbra3DMeshLab。更多相關信息,請參閱您所選用工具的官方文檔。

四、Model Target Generator界面

Model Target Generator
       MTG Home Screen主界面有兩個重要組成部分:在左側,您將看到已導入或創建的各個模型目標Model Targets。雙擊其中任何一個都會跳轉到3D查看器,用以操作模型,修改其Guide Views。在右側,將列出Advanced Model Targets訓練集(training sets),顯示已配置、正在運行和已完成的訓練項目(training sessions)。在此處,您可以將一個或多個Model Targets組合到一個經過訓練的設備數據庫(Device Database)中,並導出最終結果。

       Home Screen頂部的狀態欄顯示了用於創建Model Targets和高級數據庫的可用配額(quotas)。

       有關Vuforia分步指南:使用Model Target Generator創建一個新的Model Target的詳細信息,請參見如何創建模型目標(【原文】How to Create a Model Target)。

使用輸出文件

       對於Unity,您將使用*.unitypackage文件。將其導入到Unity項目中,並添加和配置ModelTarget GameObject以使用它。有關詳細信息,請參見Unity中的Model Targets簡介(【原文】Introduction to Model Targets in Unity)。

       對於使用Vuforia引擎原生(native)SDK開發的app,請將*.dat*.xml加載到由ObjectTracker創建的Device Database中。詳細有關信息,請參見Vuforia:模型目標原生工作流(【原文】Model Targets Native Workflow)。

可選:使用PNG文件作爲基線(baseline)來設計自定義Guide View圖像,app將使用這些圖像來指導用戶將相機與被追蹤對象正確對齊,以便初始化跟蹤。如果使用的話,請注意自定義的Guide Views需要由應用程序開發人員單獨加載和打包。詳細有關信息,請參見Vuforia:模型目標API概述(【原文】Model Targets API Overview)。

五、Guide Views

       使用Model Target Generator時,可以爲模型目標Model Target定義一個或多個Guide Views,併爲每個Guide View設置目標識別範圍(Target Recognition Range)。詳細有關信息,請參見Vuforia:模型目標的指引視圖(【原文】Model Target Guide Views)。

六、Advanced Model Target Databases

       如果要允許app自動識別不同的對象並且不顯示Guide Views,或者如果希望有一個或多個識別範圍高達360°的Model Targets,則需要訓練Advanced Model Target數據庫。

       這是通過Model Target Generator桌面工具中基於雲(cloud-based)的訓練進程完成的。詳細有關信息,請參見Vuforia:高級模型目標數據庫(【原文】Advanced Model Target Databases)。

七、瞭解更多


  1. 圖片來源於Artifacts on a model (texture compression problem),作者:antonyony。 ↩︎

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