0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何訓練自主移動機器人使用合成數(shù)據(jù)檢測倉庫托盤千斤頂

NVIDIA英偉達 ? 來源:未知 ? 2023-11-09 10:45 ? 次閱讀

在訓練那些部署在自主移動機器人(AMR)上的感知 AI 模型時,合成數(shù)據(jù)可以發(fā)揮關鍵作用。這一過程在制造業(yè)中變得越來越重要。有關使用合成數(shù)據(jù)生成預訓練模型,用于檢測倉庫中托盤的示例,可參見使用《OpenUSD 和合成數(shù)據(jù)開發(fā)托盤檢測模型》一文:https://developer.nvidia.com/blog/developing-a-pallet-detection-model-using-openusd-and-synthetic-data/

本文將探討如何訓練 AMR 使用合成數(shù)據(jù)來檢測倉庫中的托盤千斤頂。托盤千斤頂通常用于抬起和運輸重型托盤。在擁擠的倉庫中,AMR 進行檢測并避免與托盤千斤頂相撞是很重要的。

為了實現(xiàn)這一目標,有必要在不同的光照條件和遮擋下使用大量不同的數(shù)據(jù)集來訓練 AI 模型。真實的數(shù)據(jù)很少能捕捉到潛在環(huán)境的全部范圍,而合成數(shù)據(jù)生成(SDG)是由 3D 仿真生成的注釋數(shù)據(jù),使開發(fā)人員能夠克服數(shù)據(jù)差距并引導模型訓練過程。

視頻 1:使用 NVIDIA Omniverse Replicator

為 NVIDIA Isaac Sim 生成合成數(shù)據(jù)

本次用例將通過處理數(shù)據(jù)來踐行以數(shù)據(jù)為中心的方法,而不是通過更改模型參數(shù)去適應數(shù)據(jù)。這一過程首先使用 NVIDIA Isaac Sim 中的 NVIDIA Omniverse Replicator 生成合成數(shù)據(jù),隨后使用 NVIDIA TAO Toolkit 中的合成數(shù)據(jù)對模型進行訓練,最后,將模型在真實數(shù)據(jù)上的性能可視化,并修改參數(shù)以生成更好的合成數(shù)據(jù),達到期望的性能水平。

Omniverse Replicator 是 NVIDIA Omniverse 的核心擴展,是一個使個人和團隊能夠基于通用場景描述(OpenUSD)開發(fā)工作流的計算平臺。Replicator 使開發(fā)者能夠構(gòu)建定制的合成數(shù)據(jù)生成管線,以生成數(shù)據(jù)來引導計算機視覺模型的訓練。

迭代合成數(shù)據(jù)以提高模型性能

以下解釋了本團隊如何迭代合成數(shù)據(jù),來提高目標檢測模型的實際性能,并通過兼容 Omniverse Replicator API 的 Python 腳本詳細介紹了這些步驟。

在每次迭代時,我們增量改變模型中的各種參數(shù),并生成新的訓練數(shù)據(jù)集,然后用實際數(shù)據(jù)驗證模型的性能。我們持續(xù)這一過程,直到能夠縮小仿真與現(xiàn)實之間的差距。

對象或場景參數(shù)變化的過程被稱為域隨機化。您可以隨機化許多參數(shù)來快速生成新數(shù)據(jù)用于模型訓練,這些參數(shù)包括位置、顏色、紋理、背景、物體和場景的光照。

OpenUSD 是一個可擴展的框架,一種 3D 場景描述技術(shù),也是 NVIDIA Omniverse 的基礎,讓試驗一個場景中的不同參數(shù)變得很容易。參數(shù)可以在單獨的層中修改和測試,用戶可以在這些層之上創(chuàng)建非破壞性編輯。

準備

在起步階段,我們需要一個安裝有 NVIDIA RTX GPU最新版本的 NVIDIA Isaac Sim 的系統(tǒng)。Isaac Sim 是一個可擴展的機器人仿真應用程序,其利用 Omniverse Replicator 的核心功能生成合成數(shù)據(jù)。有關安裝和配置的詳細信息,請參見文檔:https://docs.omniverse.nvidia.com/isaacsim/latest/installation/requirements.html

當 Isaac Sim 啟動并運行時,我們可以從 GitHub 上的 NVIDIA-AI-IOT/synthetic_data_generation_training_workflow 下載所有資產(chǎn)。

第一次迭代:改變顏色和攝像頭位置

在第一次迭代中,我們改變了托盤千斤頂?shù)念伾妥藙荩约皵z像頭的姿勢。可以按照以下步驟在自己的會話中復制此場景。

首先加載舞臺(Stage):

ENV_URL = "/Isaac/Environments/Simple_Warehouse/warehouse.usd"
open_stage(prefix_with_isaac_asset_server(ENV_URL))

然后添加托盤千斤頂和攝像頭到場景中。托盤千斤頂可以從 SimReady 資產(chǎn)庫中加載。

PALLETJACKS = ["http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/DigitalTwin/Assets/Warehouse/Equipment/Pallet_Trucks/Scale_A/PalletTruckScale_A01_PR_NVD_01.usd",
      "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/DigitalTwin/Assets/Warehouse/Equipment/Pallet_Trucks/Heavy_Duty_A/HeavyDutyPalletTruck_A01_PR_NVD_01.usd",
      "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/DigitalTwin/Assets/Warehouse/Equipment/Pallet_Trucks/Low_Profile_A/LowProfilePalletTruck_A01_PR_NVD_01.usd"]
 
cam = rep.create.camera(clipping_range=(0.1, 1000000))

SimReady 或仿真就緒資產(chǎn)是包含精確物理屬性和行為的物理精確 3D 對象。它們預裝有模型訓練所需的元數(shù)據(jù)和注釋。

接下來,為托盤千斤頂和攝像頭添加域隨機化:

with cam:
        rep.modify.pose(position=rep.distribution.uniform((-9.2, -11.8,   0.4), (7.2, 15.8, 4)),look_at=(0, 0, 0))
 
   # Get the Palletjack body mesh and modify its color
   with rep.get.prims(path_pattern="SteerAxles"):
      rep.randomizer.color(colors=rep.distribution.uniform((0, 0, 0), (1, 1, 1)))
 
  # Randomize the pose of all the added palletjacks
  with rep_palletjack_group:
   rep.modify.pose(
  position=rep.distribution.uniform((-6, -6, 0), (6, 12, 0)),
  rotation=rep.distribution.uniform((0, 0, 0), (0, 0, 360)),
  scale=rep.distribution.uniform((0.01, 0.01, 0.01), (0.01, 0.01, 0.01)))

wKgZomVMSNyACi0RAARLy7nLidY827.png

圖 1. 顯示托盤千斤頂隨機顏色和位置與

隨機攝像機的位置的合成圖像

最后,配置用于注釋數(shù)據(jù)的編寫器:

writer = rep.WriterRegistry.get("KittiWriter") 
writer.initialize(output_dir=output_directory,
          omit_semantic_type=True,)

本例使用 Replicator 提供的 KittiWriter,以 KITTI 格式存儲對象檢測標簽的注釋,這將確保更容易與訓練管線兼容。

結(jié)果

對于第一批合成數(shù)據(jù),團隊使用了 LOCO 數(shù)據(jù)集,這是一個用于物流的場景理解數(shù)據(jù)集,涵蓋了檢測物流特定對象的問題,以可視化現(xiàn)實世界的模型性能。

生成的圖像顯示,該模型仍然試圖在擁擠的倉庫中檢測托盤千斤頂(圖 2),在托盤千斤頂附近的物體周圍創(chuàng)建了許多邊界框。考慮到這是第一次訓練迭代,這個結(jié)果在一定程度上是意料之中的,減少域差距將是后續(xù)迭代的重點。

wKgZomVMSNyANl7OAAWuFwdCimU233.png

圖 2:在根據(jù)現(xiàn)實數(shù)據(jù)來驗證模型后,

現(xiàn)實世界的圖像顯示了許多報錯

第二次迭代:添加紋理和改變環(huán)境照明

在這次迭代中,除了第一次迭代中的托盤顏色和攝像頭位置外,團隊還隨機化了紋理和環(huán)境照明。

激活紋理和光照的隨機化:

# Randomize the lighting of the scene
  with rep.get.prims(path_pattern="RectLight"):
   rep.modify.attribute("color", rep.distribution.uniform((0, 0, 0), (1, 1, 1)))
   rep.modify.attribute("intensity", rep.distribution.normal(100000.0, 600000.0))
   rep.modify.visibility(rep.distribution.choice([True, False, False, False, False, False, False]))
 
# select floor material
random_mat_floor = rep.create.material_omnipbr(diffuse_texture=rep.distribution.choice(textures),                          roughness=rep.distribution.uniform(0, 1),                        metallic=rep.distribution.choice([0, 1]),                          emissive_texture=rep.distribution.choice(textures),      emissive_intensity=rep.distribution.uniform(0, 1000),)
     
     
   with rep.get.prims(path_pattern="SM_Floor"):
     rep.randomizer.materials(random_mat_floor)

圖 3 顯示了生成的合成圖像??梢钥吹揭呀?jīng)添加到背景中的各種紋理和入射到物體上的不同類型的環(huán)境光。

wKgZomVMSN2AEa1lAATb2dwb-vY445.png

圖 3:不同紋理背景的托盤千斤頂?shù)暮铣蓤D像

結(jié)果

本次迭代的報錯數(shù)量減少,增加了紋理和光照隨機化。生成合成數(shù)據(jù)時的一個關鍵因素是確保結(jié)果數(shù)據(jù)集中數(shù)據(jù)的多樣性。來自合成域的類似或重復數(shù)據(jù)可能無助于改善現(xiàn)實世界中的模型性能。

為了提高數(shù)據(jù)集的多樣性,可以在場景中添加更多的隨機化對象。這將在第三次迭代中解決,并且應該有助于改善模型的穩(wěn)健性。

wKgZomVMSN2AAyvOAAVyCERfk2A136.png

圖 4. 現(xiàn)實世界的圖像表明,經(jīng)過隨機紋理和光照圖像的訓練,該模型檢測托盤千斤頂?shù)木雀?/span>

第三次迭代:添加干擾

本次迭代將額外的對象(稱為干擾物)引入到場景中,這些干擾物增加了數(shù)據(jù)集的多樣性。此次迭代還包括前兩次迭代中的所有更改。

在場景中添加干擾物:

DISTRACTORS_WAREHOUSE = ["/Isaac/Environments/Simple_Warehouse/Props/S_TrafficCone.usd",
              "/Isaac/Environments/Simple_Warehouse/Props/S_WetFloorSign.usd",
              "/Isaac/Environments/Simple_Warehouse/Props/SM_BarelPlastic_A_01.usd",
              "/Isaac/Environments/Simple_Warehouse/Props/SM_BarelPlastic_A_02.usd",
              "/Isaac/Environments/Simple_Warehouse/Props/SM_BarelPlastic_A_03.usd"]
 
# Modify the pose of all the distractors in the scene
with rep_distractor_group:
    rep.modify.pose(
position=rep.distribution.uniform((-6, -6, 0), (6, 12, 0)),
      rotation=rep.distribution.uniform((0, 0, 0), (0, 0, 360)),
      scale=rep.distribution.uniform(1, 1.5))

這個項目使用的所有資源都可以通過默認的 Isaac Sim 安裝獲得,并通過指定它們在核心服務器上的路徑來加載它們。

wKgZomVMSN2AeJd1AAU8vEhnFPc666.png

圖 5. 被常見倉庫物體(干擾物)包圍的

托盤千斤頂?shù)?/span>合成圖像

結(jié)果

圖 6 顯示了第三次迭代的結(jié)果。該模型能夠準確地檢測到托盤千斤頂,并且邊界框較少。與第一次迭代相比,模型性能得到了顯著改善。

wKgZomVMSN2ANCeIAAWgfea1mto418.png

圖 6. 現(xiàn)實世界的圖像顯示,

該模型能夠準確檢測到托盤千斤頂

持續(xù)迭代

該團隊在每次迭代中使用 5000 張圖像來訓練模型。您可以通過生成更多的變量和增加合成數(shù)據(jù)來繼續(xù)迭代此工作流,以達到所需的精度。

我們使用 NVIDIA TAO Toolkit 來訓練帶有 resnet18 主干的 DetectNet_v2 模型進行這些實驗。使用這個模型并不是工作流的要求,您可以利用使用注釋生成的數(shù)據(jù)來訓練您所選擇的體系架構(gòu)和框架的模型。

我們在實驗中使用了 KITTI 編寫器。也可以使用 Omniverse Replicator 編寫自己的自定義編寫器,以正確的注釋格式生成數(shù)據(jù),這將使您的訓練工作流無縫兼容。

您還可以在訓練過程中混合現(xiàn)實數(shù)據(jù)和合成數(shù)據(jù)來進行實驗。在獲得滿意的評價指標后,最終模型可以在 NVIDIA Jetson 上進行優(yōu)化和部署。

使用 Omniverse Replicator

開發(fā)合成數(shù)據(jù)管線

通過使用 Omniverse Replicator,您可以構(gòu)建自己的自定義合成數(shù)據(jù)生成管線或工具,以編程方式生成大量不同的合成數(shù)據(jù)集,以引導模型并快速迭代。引入各種類型的隨機化為數(shù)據(jù)集增加了必要的多樣性,使模型能夠在各種條件下識別對象或是感興趣的對象。

使用本文中的工作流,請訪問 GitHub 上的 NVIDIA-AI-IOT/synthetic_data_generation_training_workflow。要查看完整的工作流,NVIDIA 的團隊成員展示了如何使用 Omniverse Replicator 和合成數(shù)據(jù)來訓練制造流程的對象檢測模型(視頻 2)。

視頻 2:學習如何用合成數(shù)據(jù)訓練計算機視覺模型

要構(gòu)建自己的自定義合成數(shù)據(jù)生成管線,請免費下載 Omniverse,并按照說明開始使用 Omniverse 代碼中的 Replicator。您也可以參加自定進度的在線課程“合成數(shù)據(jù)生成訓練計算機視覺模型”,并觀看最新的 Omniverse Replicator 教程。

  • 免費下載 Omniverse:

    https://www.nvidia.com/en-us/omniverse/download/

  • 開始使用 Omniverse 代碼中的 Replicator:

    https://docs.omniverse.nvidia.com/extensions/latest/ext_replicator/getting_started.html

  • 通過合成數(shù)據(jù)生成訓練計算機視覺模型:

    https://courses.nvidia.com/courses/course-v1:DLI+S-OV-10+V1/

  • 最新的 Omniverse Replicator 教程:

    https://www.nvidia.com/en-us/on-demand/playlist/playList-35d98b97-8abf-4f92-883a-c898801f28b4/

NVIDIA 最近發(fā)布了 Omniverse Replicator 1.10,為開發(fā)者構(gòu)建低代碼 SDG 工作流提供了新的支持。相關詳細信息,請參見“在 NVIDIA Omniverse Replicator 1.10 中使用低代碼工作流促進合成數(shù)據(jù)生成”:https://developer.nvidia.com/blog/boost-synthetic-data-generation-with-low-code-workflows-in-nvidia-omniverse-replicator-1-10/

NVIDIA Isaac ROS 2.0 和 NVIDIA Isaac Sim 2023.1 現(xiàn)已可用,其對性能感知和高保真仿真進行了重要更新。如需了解更多信息,請參閱《NVIDIA Isaac 平臺先進的仿真和感知工具助力 AI 機器人技術(shù)加速發(fā)展》。

GTC 2024 將于 2024 年 3 月 18 至 21 日在美國加州圣何塞會議中心舉行,線上大會也將同期開放。掃描下方海報二維碼,立即注冊 GTC 大會。


原文標題:如何訓練自主移動機器人使用合成數(shù)據(jù)檢測倉庫托盤千斤頂

文章出處:【微信公眾號:NVIDIA英偉達】歡迎添加關注!文章轉(zhuǎn)載請注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 英偉達
    +關注

    關注

    22

    文章

    3720

    瀏覽量

    90692

原文標題:如何訓練自主移動機器人使用合成數(shù)據(jù)檢測倉庫托盤千斤頂

文章出處:【微信號:NVIDIA_China,微信公眾號:NVIDIA英偉達】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    智能移動機器人

    富唯智能移動機器人分為復合機器人和轉(zhuǎn)運機器人,搭載ICD核心控制器,實現(xiàn)一體化控制,最快可實現(xiàn)15分鐘現(xiàn)場機器人的快速部署,無縫對接產(chǎn)線,配合自研2D/3D視覺系統(tǒng),精準抓取搬運工件。
    的頭像 發(fā)表于 08-27 17:22 ?277次閱讀
    智能<b class='flag-5'>移動機器人</b>

    如何借助恩智浦MCX系列MCU糾錯功能,打造可靠安全的移動機器人?

    安全挑戰(zhàn)。MCX MCU基于高性能Arm Cortex-M33內(nèi)核,具有先進的錯誤檢測和糾正功能,非常適合開發(fā)開發(fā)對可靠性和安全性要求極高的移動機器人。? 移動機器人常見的可靠性和安全問題
    的頭像 發(fā)表于 08-02 11:04 ?1775次閱讀
    如何借助恩智浦MCX系列MCU糾錯功能,打造可靠安全的<b class='flag-5'>移動機器人</b>?

    ???b class='flag-5'>機器人第100000臺移動機器人下線

    ???b class='flag-5'>機器人第100000臺移動機器人已經(jīng)成功下線 。這是一個重要的里程碑,標志著海康機器人在全品類移動機器人(AMR)領域取得了顯著的進展。
    的頭像 發(fā)表于 05-24 14:43 ?980次閱讀

    自主移動機器人的發(fā)展路徑與前沿解決方案探究

    安森美使用DIN導軌制造了自主移動機器人,以便能夠添加新產(chǎn)品和功能,持續(xù)進行更多的傳感器融合,也可以通過使用新的安森美電子保險絲產(chǎn)品e-Fuse NIS3071來擴展電源子系統(tǒng)。
    發(fā)表于 04-24 11:52 ?508次閱讀
    <b class='flag-5'>自主</b><b class='flag-5'>移動機器人</b>的發(fā)展路徑與前沿解決方案探究

    機械臂和移動機器人兩種控制系統(tǒng)方案對比

    機械臂對精度和運動穩(wěn)定性的要求較高,因此計算量大、周期短,比移動機器人一般要高1到2個量級。移動機器人一般對同步精度要求不高,其配置相對較低。
    發(fā)表于 03-11 09:53 ?949次閱讀
    機械臂和<b class='flag-5'>移動機器人</b>兩種控制系統(tǒng)方案對比

    自主移動機器人(AMR)功能和特點

    復合機器人是一種集成了移動機器人、協(xié)作機器人機器視覺等多項功能的新型機器人。它的開發(fā)目的是為了解決工廠物流中最后一米的問題,提供智能搬運解
    的頭像 發(fā)表于 02-28 15:05 ?1897次閱讀
    <b class='flag-5'>自主</b><b class='flag-5'>移動機器人</b>(AMR)功能和特點

    富唯智能機器人集成了協(xié)作機器人、移動機器人和視覺引導技術(shù)

    富唯智能移動機器人是一款擁有自主導航能力和物料轉(zhuǎn)移抓取功能的智能機器人,采用先進的無線通信技術(shù)和高精度傳感器,能夠?qū)崿F(xiàn)自主導航和避障,完成生產(chǎn)線上的物料轉(zhuǎn)運任務,并與其他設備實現(xiàn)無縫對
    的頭像 發(fā)表于 01-17 11:58 ?375次閱讀

    5個問題,洞悉自主移動機器人未來發(fā)展方向

    隨著科技的日新月異,人類與機器人的互動將愈發(fā)頻繁。從早晨在本地咖啡店里,協(xié)作機器人(cobot)為顧客精心沖泡咖啡,到在倉庫中,自主移動機器人
    的頭像 發(fā)表于 01-09 08:30 ?644次閱讀
    5個問題,洞悉<b class='flag-5'>自主</b><b class='flag-5'>移動機器人</b>未來發(fā)展方向

    AMR(自主移動機器人)提升安全性:從預防到保護

    隨著AMR(自主移動機器人)在物流和制造業(yè)中的廣泛應用,安全問題逐漸凸顯。AMR在運行過程中可能會遇到各種意外情況,如碰撞、故障等,這些都可能對設備和人員造成傷害。因此,提高AMR的安全性,已成為我們需要關注的重要問題。
    的頭像 發(fā)表于 01-04 12:07 ?481次閱讀
    AMR(<b class='flag-5'>自主</b><b class='flag-5'>移動機器人</b>)提升安全性:從預防到保護

    自主移動機器人的未來發(fā)展方向

    隨著科技的日新月異,人類與機器人的互動將愈發(fā)頻繁。從早晨在本地咖啡店里,協(xié)作機器人 (cobot) 為顧客精心沖泡咖啡,到在倉庫中,自主移動機器人
    的頭像 發(fā)表于 01-04 09:34 ?753次閱讀
    <b class='flag-5'>自主</b><b class='flag-5'>移動機器人</b>的未來發(fā)展方向

    移動機器人的組成和操作方法

    移動機器人到底是由哪些部分組成的呢,接下來我們就一起認識一下它。
    的頭像 發(fā)表于 01-02 09:49 ?1558次閱讀
    <b class='flag-5'>移動機器人</b>的組成和操作方法

    科聰協(xié)作科聰協(xié)作(復合)移動機器人整體解決方案

    協(xié)作(復合)移動機器人(AGV/AMR)相較傳統(tǒng)工業(yè)機器人具有更加安全和簡單的工作優(yōu)勢,具備較強的發(fā)展?jié)摿?。協(xié)作(復合)移動機器人安全性和操作的簡潔性、靈活性不斷提高,優(yōu)勢得到了充分發(fā)揮,在越來越多
    的頭像 發(fā)表于 12-25 16:14 ?457次閱讀
    科聰協(xié)作科聰協(xié)作(復合)<b class='flag-5'>移動機器人</b>整體解決方案

    2024年移動機器人行業(yè)的十大預測

    GGII通過對移動機器人產(chǎn)業(yè)的梳理,結(jié)合宏觀數(shù)據(jù)和調(diào)研數(shù)據(jù)信息,秉承不悲觀、不樂觀,力求客觀的態(tài)度,深度解析2024年移動機器人行業(yè)的十大預測:
    發(fā)表于 12-25 14:42 ?420次閱讀

    移動機器人規(guī)劃控制算法

    目前無論是自主移動機器人,還是自動駕駛,都處于項目落地階段,各企業(yè)在招聘時非常注重實踐經(jīng)驗,以及對現(xiàn)有開源方案的優(yōu)化能力。各崗位面試均以能解決實際工程問題為導向。
    發(fā)表于 12-14 09:23 ?212次閱讀

    「浙江科聰新品發(fā)布」新品發(fā)布潛伏升式移動機器人專用控制器

    「浙江科聰新品發(fā)布」新品發(fā)布潛伏升式移動機器人專用控制器
    的頭像 發(fā)表于 11-21 17:35 ?3438次閱讀
    「浙江科聰新品發(fā)布」新品發(fā)布潛伏<b class='flag-5'>頂</b>升式<b class='flag-5'>移動機器人</b>專用控制器