由制作汽車到作用外科醫生和送披薩,機器人不只自動化,并且將人類義務的速度增加了許多倍。伴隨著人工智能的發生,您能夠建筑更智能的機器人,它們能夠更好地感知周圍環境,并在起碼的人工干預下做出決議計劃。
比方,一個適用于堆棧的主動機器人將有效載荷從一個處所移動到另一個處所。它必需感知四周的自由空間,檢驗并制止途徑中的任何停滯,并做出“立即”決議,絕不遷延地挑選新途徑。
這便是挑釁所正在。這意味著構建一個由人工智能模子支撐的應用程序,該模子經過訓練和優化,能夠正在這類環境下事情。它須要收集大批高質量的數據,并開辟一個高度正確的人工智能模子來驅動應用程序。這一些是將應用程序由實驗室轉移到出產環境的要害阻礙。
在這里篇文章中,我們將展現若何利用NVIDIAISAAC平臺和TAO框架處理數據挑釁和模子建立挑釁。您利用NVIDIAISAACSim,一個機器人模仿應用程序,適用于建立虛擬環境和生成分解數據。這個NVIDIATAO工具包是一種低代碼人工智能模子開辟處理方案,取從頭開始的鍛煉相比,它具有內置的轉移進修功用,可以用一小部分數據微調預鍛煉模子。末了,利用NVIDIAISAACROS將優化模子布置到機器人上,并將其應適用于實際天下。
圖1。概述運用NVIDIAISAACSim對TAO工具包模子舉行分解數據培訓的事情步驟,以順應實際天下的用例。
先決條件
起頭之前,您必需具有以下適用于培訓和擺設的資源:
NVIDIAGPU驅動程序版本:》470
NVIDIADocker:2.5.0-1
NVIDIAGPU云端或內部:
NVIDIAA100
NVIDIAV100
NVIDIAT4
NVIDIARTX30×0(NVIDIAISAAC是還支撐NVIDIARTX20系列)
NVIDIAJetsonXavier或JetsonXavierNX
NVIDIATAO工具包:4.22。有關更多信息,請參閱TAO工具包快速入門指南
NVIDIAISAACSim和ISAACROS
運用NVIDIAISAACSim生成分解數據
正在本節中,我們將概述正在NVIDIAISAACSim中生成分解數據的步調。Syntheticdata是計算機摹擬或算法生成的解釋信息。認真實數據難以獵取或本錢奮發時,分解數據能夠接濟辦理數據困難。
NVIDIAISAACSim供應三種生成分解數據的方式:
復制器作曲家
煤矸石分揀機器人識別系統Python劇本
GUI
正在這個實驗中,我們挑選運用Python劇本生成具有行業隨機化的數據。Domainrandomization改變正在模仿環境中界說場景的參數,包孕場景中種種工具的位置、比例、模仿環境的照明、工具的色彩和紋理等。
增加域隨機化以與此同時轉變場景的多個參數,經由過程將其露出于實際天下中看到的各種域參數,增加了數據集質量并增強了模子的性能。
正在本例中,您運用兩個環境來培訓數據:一個堆棧和一個小房間。接下來的步調包含向場景中增加相符物理定律的工具。我們運用了NVIDIAISAACSim卡中的示例工具,個中還包含YCBdataset中的一樣平常工具。
安裝NVIDIAISAACSim卡后ISAACSim卡應用程序選擇器為包括劇本的正在文件夾中翻開給予一個選項。這適用于運轉適用于生成數據的劇本。
根據列出的步調生成數據。
將語義ID添加到樓層:
正在具有物理特征的場景中增加工具:
初始化域隨機化組件:
確保模仿中的開麥拉位置和屬性取實在天下的屬性類似。為生成精確的自由空間分段掩碼,需求向地板增加語義ID。如前所述,應用領域隨機化來贊助進步模子的sim2real性能。
NVIDIAISAACSim文檔中給予的離線數據生成示例是我們劇本的出發點。對這個用例進行了變動,包羅運用物理向場景增加工具、更新域隨機化,和向地板增加語義。我們曾經為數據集生成了近30000張帶有相應支解模板的圖象。
利用TAO工具包舉行培訓、調劑和優化
正在本節中,您將利用TAO工具包利用生成的分解數據對模子開展微調。為了完成這項義務,我們挑選了NGC給予的UNET模子開展實驗。
快遞分揀機器人系統設置數據、規格文件和實驗目次:
下一步是挑選模子。
挑選精確的預鍛煉模子
預練習人工智能和深度進修模子是正在代表性數據集上開展練習并利用權重和偏向開展微調的模子。取從頭開始的練習相比,只需利用一小部分數據就能夠運用遷徙進修,您能夠快速輕松地微調預練習模子。
正在預鍛煉模子領域中,有一些模子施行特定義務,好比檢驗人、汽車、車牌等。
我們首先挑選了一個帶有ResNet10和ResNet18骨干的U-Net型號。由模子中取得的后果表現,正在實正在數據中,墻和地板合并為一個實體,而是不是兩個獨自的實體??v然模子正在模仿圖象上的性能表現出較高的精度,這也是事實。
我們用分歧的骨干和圖象巨細舉行實驗,察看延遲取準確性之間的衡量。表中一切型號均不異;只有脊柱分歧。
依據成果,我們顯然需求一個更適合用例的分歧模子。我們挑選了NGC目次中供應的PeopleSemSeg型號。該模子正在“person”類的500萬個工具上進行了預鍛煉,數據集由相機高度、人群密度和視野構成。該模子還能夠將后臺和自由空間分割為兩個自力的實體。
正在運用雷同的數據集對該模子開展練習后,均勻IOU加了10%以上,獲得的圖象清楚地表現了地板和墻壁之間更好的支解。
顯現了正在運用實正在數據對PeopleSeg模子舉行微調之前,由機器人的角度正在摹擬圖象和實正在圖象上辨認自由空間。也就是說,運用純NVIDIAISAACSim卡數據鍛煉的模子。
樞紐的一點是,雖然可能有很多經由預鍛煉的模子能夠完成這項義務,但挑選一個最接近當前應用程序的模子是很主要的。這便是陶的特制模子有效的處所。
培訓模子后,按照考證數據評價模子性能:
當您對NVIDIAISAACSim數據的模子性能和Sim2Sim考證性能感應愜心時,請刪減模子。
要以最小的延遲運轉此模子,請將其優化為正在目的GPU上運轉。有兩種辦法能夠實現這一點:
Pruning:TAO工具包中的修剪功用會主動刪除不需要的層和神經元,有效地減小模子的巨細。必需從新鍛煉模子,以規復修剪過程中喪失的精度。
Post-trainingquantization:TAO工具包中的另外一項功效能夠進一步縮小模子尺寸。這將其精度由FP32更改成INT8,正在沒有就義精度的情況下增加了性能。
首先,刪減模子:
從新鍛煉并修剪模子:
當您對修剪模子的Sim2Sim考證性能感觸愜意時,請轉至下一步,對實在數據舉行微調。
結果
表1顯現了未運轉和修剪模子之間的后果摘要。終極挑選適用于安排的顛末修剪和量化的模子比正在NVIDIAJetsonXavierNX上丈量的原始模子小17倍,推理性能快5倍。
sim數據的鍛煉數據集由25K個圖象構成,而適用于微調的實在圖象的鍛煉數據僅由44個圖象構成。實在圖象的考證數據集僅包羅56幅圖象。關于實在天下的數據,我們收集了三種分歧室內場景的數據集。模子的輸入圖象巨細為960×544。推理性能是運用NVIDIATensorRTtrtexec東西。
擺設NVIDIAISAACROS
正在本節中,我們展現了采取經過訓練和優化的模子并運用NVIDIAISAACROS正在XavierJetsonNX驅動的iRobot的Create3機器人上進行擺設的步調。Create3和NVIDIAISAACROS圖象支解節點均正在ROS2上運轉。
本例運用/isaac_ros_image_segmentation/isaac_ros_unetGitHubrepo擺設余暇空間分段。
要運用自由空間分段模子,請由/NVIDIA-ISAAC-ROS/isaac_ros_image_segmentationGitHubrepo實行以下步調。
創立Docker交互式事情區:
克隆一切包依靠項:
構建并獵取事情區的源代碼:
由您的事情機械下載經過培訓的自由空間標識模子:
將加密的TLT模子和花樣轉換為TensorRT引擎打算。對INT8模子運轉以下下令:
根據以下步調開展練習訓練:ISAACROS圖象支解:
總結
正在本文中,我們向您展現了一個端到端的事情步驟,首先是正在NVIDIAISAACSim中生成分解數據,利用TAO工具包開展微調,然后利用NVIDIAISAACROS布置模子。
智能分揀機器人廠家NVIDIAISAACSim和TAOToolkit全是籠統出人工智能框架復雜性的解決方案,使您可以在生產中構建和擺設人工智能驅動的機器人應用程序,而無需任何人工智能專業知識。
AmeyKulkarni是NVIDIA的開辟手藝工程師,專注于將深度進修解決方案有效地安排到邊沿。正在2019年參加NVIDIA之前,他完成了馬里蘭大學計算機工程博士學位。他的研討樂趣是正在嵌入式平臺上安排數字信號處置懲罰、計算機視覺和深度進修體系。
RishabhChadha是NVIDIA的嵌入式工程實習生——AI,他專注于為NVIDIAJetson平臺集成深度進修和機器人技能框架。他將于2021年卒業于伍斯刻理工學院,取得機器人學碩士學位。他的興致次要包含深度進修、醫學成像和機器人感知。DanielLee是NVIDIA的產物司理,專注于專業可視化解決方案的軟件。
審核
快遞分揀機器人的原理分揀機器人供應商分揀機器人簡圖