美國質(zhì)量協(xié)會(ASQ)的數(shù)據(jù)顯示,制造商因缺陷而遭受的損失可占其銷售總收入的近 20%。用戶日常使用的電話、汽車、電視和電腦等產(chǎn)品都須通過精密制造產(chǎn)出,方能在各類條件和場景中發(fā)揮作用。
基于 AI 的計算機視覺應(yīng)用正在以更快、更有效的方式幫助制造業(yè)檢測制造流程中存在的缺陷,以幫助企業(yè)提高產(chǎn)量、保持產(chǎn)品質(zhì)量的穩(wěn)定性并減少誤報。事實上,根據(jù)谷歌云制造業(yè)報告所示,當(dāng)前已有 64% 的制造企業(yè)通過部署 AI 來幫助其開展日常活動,其中有 39% 的制造企業(yè)將 AI 用于質(zhì)量檢查。
驅(qū)動相關(guān)視覺應(yīng)用的 AI 模型必須經(jīng)過訓(xùn)練和調(diào)優(yōu),以預(yù)測眾多用例中存在的特定缺陷,例如:
-
汽車制造缺陷:如裂紋、車漆瑕疵或誤裝等
-
半導(dǎo)體和電子產(chǎn)品缺陷:如印刷電路板(PCB)元件錯位、斷裂、存在多余的焊點或存在灰塵或頭發(fā)等異物
-
電信設(shè)施缺陷:如蜂窩塔和電線桿上存在裂縫或被腐蝕等
這類感知 AI 模型的訓(xùn)練需要采集存在特定缺陷的圖像來完成。但這類圖像采集在生產(chǎn)環(huán)境中很難做到且成本高昂。
NVIDIA Omniverse Replicator 可生成用于訓(xùn)練 AI 模型的合成數(shù)據(jù),來幫助企業(yè)克服數(shù)據(jù)挑戰(zhàn)。NVIDIA Omniverse 是一個基于通用場景描述(USD)的計算平臺,可賦能個人和團隊開發(fā) 3D 工作流和應(yīng)用。NVIDIA Omniverse Replicator 是 Omniverse 平臺中的一項可擴展的基礎(chǔ)應(yīng)用。
開發(fā)人員可基于 Omniverse Replicator,通過改變各項參數(shù)(如缺陷類型、位置、環(huán)境照明等),輕松生成不同的數(shù)據(jù)集來啟動和加快模型訓(xùn)練與迭代。用戶可通過訪問 Develop on NVIDIA Omniverse 了解更多有關(guān)信息。
(https://developer.nvidia.cn/omniverse)
本文將介紹如何充分利用合成數(shù)據(jù)來訓(xùn)練對象檢測模型、使用有限的真值數(shù)據(jù)來進一步提高準(zhǔn)確性以及使用模型處理中從未出現(xiàn)過的圖像來對模型進行驗證。本文將基于該方法來展示合成數(shù)據(jù)在克服真實數(shù)據(jù)缺失方面存在的價值,以及如何通過模型訓(xùn)練縮小仿真與現(xiàn)實之間的差距。
開發(fā)缺陷檢測模型
以下示例是在車身(錐形前臉)上生成劃痕(如圖 1 所示)。需要注意的是,該工作流程需要使用 Adobe Substance 3D Designer 或存在預(yù)先生成的劃痕庫、NVIDIA Omniverse 以及所下載的 USD 格式的樣本。
此工作流以在 Adobe Substance 3D Designer 中創(chuàng)建一組缺陷開始,也就是本示例中的“劃痕”,然后將缺陷與 CAD 零件導(dǎo)入 NVIDIA Omniverse 中,再將 CAD 零件置于特定場景中(例如生產(chǎn)線或車間)并在相應(yīng)位置放置傳感器或攝像頭。
場景設(shè)置完畢后,基于 NVIDIA Omniverse Replicator,以程序性的方式將缺陷置于 CAD 零件上,來生成用于模型訓(xùn)練和評估的注釋數(shù)據(jù)。整體的迭代流程將持續(xù)進行,直至模型達到預(yù)期的關(guān)鍵績效指標(biāo)(KPI)為止。
圖 2:基礎(chǔ)計算機視覺模型訓(xùn)練流程
創(chuàng)建草圖
磨損和劃痕是制造業(yè)常見的表面缺陷。制造業(yè)中會使用名為法線貼圖的紋理映射技術(shù)在 3D 環(huán)境中展現(xiàn)這些紋理。法線貼圖利用 RGB 圖像來表示高度信息,可直接對應(yīng) 3D 空間中相對于一個表面所對應(yīng)的 X、Y 和 Z 軸。
本例中使用的法線貼圖是在 Adobe Substance 3D Designer 中所創(chuàng)建的。此外,Blender 或 Autodesk Maya 等多數(shù)建模軟件也可用于生成法線貼圖。
圖 3:在 Adobe Substance 3D Designer 中創(chuàng)建的劃痕實例
雖然開發(fā)人員可先將劃痕導(dǎo)入 Omniverse,而后再隨機調(diào)整其大小和位置。但最好是建立一個完整的法線圖庫并將其以文件形式保存,并用以生成一組具有魯棒性的合成數(shù)據(jù)。開發(fā)人員所生成的法線貼圖應(yīng)該包含各類形狀和大小,以代表不同程度的劃痕。
場景設(shè)置
接下來該進行場景設(shè)置了。首先,借助 Omniverse Code 導(dǎo)入相關(guān)零件的 CAD 模型。該示例中是導(dǎo)入了一個“SOLIDWORKS.SLDPRT”文件,該文件是 Sierra Cars RX3 賽車的前臉面板模型。
圖 4:Sierra RX3 的完整 CAD 裝配體
在將 CAD 文件導(dǎo)入 Omniverse 后,可對場景背景進行設(shè)置以便能盡可能接近基于真值數(shù)據(jù)構(gòu)建的環(huán)境。本示例是使用了車間的激光雷達掃描圖。
圖 5:在 Omniverse 中組裝 USD 格式的場景,并將不同材質(zhì)應(yīng)用于面板中并將其置于車間掃描圖中
為方便復(fù)制,此示例中還將背景和 CAD 模型整合成為了可在 Omniverse Exchange 中下載的 USD 場景。
使用擴展程序來構(gòu)建隨機化劃痕
為了給該模型創(chuàng)建一個多樣化的訓(xùn)練數(shù)據(jù)集,開發(fā)人員需要生成各種合成劃痕以反映不同劃痕可能留下的不同類型的痕跡。該示例使用了基于 Omniverse Kit 構(gòu)建的參考擴展程序以隨機化劃痕的位置、大小和角度。詳情請訪問 GitHub 上的 NVIDIA-Omniverse/kit-extension-sample-defectsgen 了解。
圖 6:Omniverse 中的 Defects Sample Extension
需注意的是,該參考擴展程序用于操作可將法線貼圖作為紋理投射到 CAD 零件表面的 proxy 對象。改變擴展程序中的參數(shù)實際上是在改變投射紋理的立方體大小和形狀。
圖 7:示例 - 在 CAD 零件表面程序性生成劃痕
利用所需參數(shù)運行擴展程序后,將能夠輸出一組帶注釋的參考圖像并將以 .png、.json 和 .npy 文件格式保存至一個可利用擴展程序進行定義的文件夾中。
模型訓(xùn)練和驗證
Omniverse 擴展程序輸出的是可用于大量本地或云端模型訓(xùn)練平臺的標(biāo)準(zhǔn)文件格式。此外,開發(fā)人員還可以通過構(gòu)建自定義寫入器來格式化相關(guān)數(shù)據(jù),以便將其用于特定的模型和平臺之中。
該示例中開發(fā)人員建立了一個可將輸出結(jié)果導(dǎo)入 Roboflow 的自定義 COCO JSON 寫入器。Roboflow 是一個可用于訓(xùn)練和部署計算機視覺模型的網(wǎng)絡(luò)平臺。
圖 8:Roboflow 中完整的合成數(shù)據(jù)集
開發(fā)人員首先是在 Roboflow 用戶界面中使用了一組包含 1000 張合成圖像數(shù)據(jù)集來訓(xùn)練 YOLOv8 模型,以加快對象檢測速度。這項操作的主要目的在于查看模型在該數(shù)據(jù)集中的表現(xiàn)情況,這僅僅只是一個開始。模型訓(xùn)練是一個迭代過程,因此訓(xùn)練伊始可以使用規(guī)模較小的數(shù)據(jù)集,而后在迭代中持續(xù)擴大數(shù)據(jù)集的規(guī)模并提升數(shù)據(jù)集的多樣性。
圖 9:合成數(shù)據(jù)生成所產(chǎn)出的初步結(jié)果顯示模型準(zhǔn)確率為 74%、34% 和 39%
雖然初始模型展示的結(jié)果較好,但并不完美(如圖 9 所示)。在初始模型中仍存在以下缺陷:
-
未有效檢測出長劃痕
-
捕捉了反光邊緣
-
車間地板上的劃痕也被包含在內(nèi)
為解決這些問題,可以采取以下解決措施:
-
調(diào)整擴展程序參數(shù)以涵蓋長度更長的劃痕
-
在所生成的場景中加入零件的更多角度
-
改變照明和背景場景
另一個辦法是使用真值圖像來強化合成數(shù)據(jù)。雖然 Replicator 會對文件進行自動注釋,但該示例中仍使用了 Roboflow 的內(nèi)置工具來進行手動注釋。
圖 10:Roboflow 內(nèi)置用于手動注釋圖像的工具
通過上述調(diào)整可訓(xùn)練該模型于每張驗證圖像中發(fā)現(xiàn)更多的劃痕,甚至能在置信度閾值更高的情況下來完成此操作。
圖 11:通過 Roboflow 用戶界面調(diào)整模型參數(shù)
入門
事實上在現(xiàn)實世界中,并非總是能夠獲得足夠的真值圖像。開發(fā)人員可以使用 NVIDIA Omniverse Replicator 生成的合成數(shù)據(jù)來縮小仿真與現(xiàn)實之間的差距。
如若想要自行生成合成數(shù)據(jù),開發(fā)人員需先下載 NVIDIA Omniverse。
(https://developer.nvidia.cn/omniverse/get-started)
用戶可以從 GitHub 下載并安裝參考擴展程序,并使用 Omniverse Code 來探索相關(guān)工作流,而后通過修改代碼來構(gòu)建自定義的缺陷檢測生成工具。此外,用戶還可以通過 Omniverse Exchange 上的缺陷檢測演示包來訪問配套的 USD 文件和樣本。
用戶可點擊“閱讀原文”,免費下載標(biāo)準(zhǔn)許可證以使用 NVIDIA Omniverse,或在 Omniverse 頁面了解 Omniverse Enterprise 如何連接企業(yè)團隊。
?
即刻掃描下方海報二維碼,在 NVIDIA On-Demand 上觀看 GTC 精選回放,包括主題演講相關(guān)精選、中國本地精選內(nèi)容、生成式 AI 專題以及全球各行業(yè)及領(lǐng)域最新成果!
原文標(biāo)題:如何使用 NVIDIA Omniverse Replicator 生成的合成數(shù)據(jù)訓(xùn)練缺陷檢測模型
文章出處:【微信公眾號:NVIDIA英偉達企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
英偉達
+關(guān)注
關(guān)注
22文章
3829瀏覽量
91634
原文標(biāo)題:如何使用 NVIDIA Omniverse Replicator 生成的合成數(shù)據(jù)訓(xùn)練缺陷檢測模型
文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論