機(jī)器人技術(shù)這兩年在各行各業(yè)的應(yīng)用和發(fā)展是迅速的,對于普通人而言,在購物中心或餐廳看到機(jī)器人,好像越來越司空見慣了。許多酒店、醫(yī)院、工廠對機(jī)器人的應(yīng)用也日趨普遍。機(jī)器人是各學(xué)科、各類技術(shù)的集合,其自主化、智能化實(shí)現(xiàn)都并不容易。比如操控、自主導(dǎo)航就是很大的難題,僅依靠傳感器技術(shù)的發(fā)展是不行的。
今年GTC報(bào)道中我們提到過,汽車大概可以認(rèn)為是某種特殊的機(jī)器人。但兩者又有差異,比如說汽車自動駕駛是遵循道路路徑、路面和路側(cè)標(biāo)志的,而機(jī)器人的自主導(dǎo)航——如在工廠中的物流機(jī)器人——就這個(gè)層面的實(shí)現(xiàn)難度顯然會更大,因?yàn)樗鼈儧]有天然的固定路徑。

我們自然能夠想到的是利用AI技術(shù)來訓(xùn)練機(jī)器人,令其構(gòu)建起自主導(dǎo)航和操縱的經(jīng)驗(yàn)。但機(jī)器人的AI訓(xùn)練,不可能是在現(xiàn)實(shí)中讓一大堆機(jī)器人真的跑在一個(gè)實(shí)體工廠里,并通過四處撞壁來習(xí)得經(jīng)驗(yàn)。
前年的GTC China之上,英偉達(dá)發(fā)布了面向機(jī)器人的Isaac SDK。當(dāng)時(shí)黃仁勛在演講中提到Isaac是“用在非結(jié)構(gòu)化環(huán)境中的導(dǎo)航和關(guān)節(jié)活動控制”的,Isaac“讓機(jī)器人自我學(xué)習(xí),模擬、訓(xùn)練”。
此前英偉達(dá)的宣傳中提過Isaac包含4個(gè)模塊,分別是Isaac Sim、Isaac Engine、Isaac GEMs,Isaac APPs。未知現(xiàn)在其抽象構(gòu)成是否已經(jīng)發(fā)生變化。我們著重想談的是其中的Isaac Sim。這是個(gè)機(jī)器人仿真平臺,可以進(jìn)行環(huán)境和機(jī)器人的建模、算法的驗(yàn)證、強(qiáng)化學(xué)習(xí)、監(jiān)督學(xué)習(xí)的模型訓(xùn)練等。
簡單來說,Isaac Sim是為了讓機(jī)器人在其“腦內(nèi)”進(jìn)行AI訓(xùn)練,搭建起虛擬的環(huán)境,并進(jìn)行機(jī)器人建模。值得一提的是Isaac現(xiàn)在是Omniverse的一部分(有關(guān)什么是Omniverse可參見這里)。比如說在Omniverse中開發(fā)一個(gè)跑在工廠里的機(jī)器人,那么就在Omniverse中構(gòu)建工廠場景;在場景搭建完成后,再對機(jī)器人做建模并放到Omniverse中。在虛擬的世界里就可以對機(jī)器人進(jìn)行各種測試了,包括可以在這個(gè)虛擬世界中進(jìn)行強(qiáng)化學(xué)習(xí)算法開發(fā),還有目標(biāo)檢測之類的機(jī)器學(xué)習(xí)。

我們知道Omniverse對于現(xiàn)實(shí)世界的模擬是頗有心得的,包括物理引擎、圖像渲染。這是機(jī)器人能夠在Isaac Sim環(huán)境下進(jìn)行各種學(xué)習(xí)和測試的基礎(chǔ)。
不過一旦涉及到了AI,訓(xùn)練數(shù)據(jù)從哪里來、有沒有好的數(shù)據(jù)就成為很大的問題。在這個(gè)問題上,英偉達(dá)選擇的是數(shù)據(jù)生成+遷移學(xué)習(xí)的方式。針對數(shù)據(jù)生成,英偉達(dá)似乎從更早開始就在做研究,包括CVPR 2021之上都有研究成果的介紹,有興趣的同學(xué)可以去搜搜看。
前不久的GTC上,英偉達(dá)又特別發(fā)布了Omniverse Replicator,這就是個(gè)合成數(shù)據(jù)生成引擎(synthetic-data-generation engine),其中之一就是面向Isaac Sim的(Isaac Sim Replicator)。
機(jī)器人的“腦內(nèi)世界”
用合成數(shù)據(jù)來訓(xùn)練AI是如今挺熱門的研究課題,因?yàn)楹铣蓴?shù)據(jù)生成是以模擬的方式來生成數(shù)據(jù),減少了數(shù)據(jù)創(chuàng)建所需的成本和勞動。Omniverse Replicator就是能夠產(chǎn)生物理模擬的合成數(shù)據(jù)的引擎,用于訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)。
實(shí)際上GTC上發(fā)布了兩個(gè)Omniverse Replicator的應(yīng)用,分別面向DRIVE Sim(DRIVE Sim Replicator)和Isaac Sim,也就是汽車和機(jī)器人。英偉達(dá)表示,Omniverse Replicator能夠讓開發(fā)者創(chuàng)建AI模型,填補(bǔ)真實(shí)世界數(shù)據(jù)的空白,還能夠以人無法做到的方式來標(biāo)記地面真值(label the ground truth)。在虛擬世界中生成的數(shù)據(jù)能夠覆蓋大范圍的各種場景,包括一些比較罕見和危險(xiǎn)的情況——是在現(xiàn)實(shí)世界當(dāng)中通常都難以察覺的。
這里“填補(bǔ)真實(shí)世界數(shù)據(jù)的空白”指的其實(shí)是真實(shí)世界數(shù)據(jù)收集的困難性。比如說位處氣候炎熱地帶的開發(fā)者,若要模擬雪地的訓(xùn)練環(huán)境,那么對現(xiàn)實(shí)世界而言耗費(fèi)的成本就會很高。那么用合成數(shù)據(jù)生成的方式,也就是用模擬世界生成的數(shù)據(jù),就能顯著降低成本,尤其是時(shí)間成本。
英偉達(dá)表示,Isaac Sim中的這些新功能使得工程師能夠構(gòu)建“生產(chǎn)級”的合成數(shù)據(jù)集。每次迭代的數(shù)據(jù)都是在模擬世界里生成的,也就加快了模型訓(xùn)練的速度。
尤其對于現(xiàn)在比較流行的“以數(shù)據(jù)為中心”的ML方法來說,開發(fā)模型其實(shí)就是不停迭代(iterate):工程師對完成訓(xùn)練的模型進(jìn)行評估,并確定數(shù)據(jù)集的改進(jìn);然后生成新的數(shù)據(jù)集,再進(jìn)行新的訓(xùn)練。如此迭代往復(fù),直到模型性能達(dá)到要求。這其中數(shù)據(jù)的產(chǎn)生,自然是相當(dāng)關(guān)鍵的組成部分。
除了數(shù)據(jù)生成本身的價(jià)值,合成數(shù)據(jù)也有讓ML工程師做參數(shù)控制的余地——包括噪聲、環(huán)境變量等因素,或者說工程師對數(shù)據(jù)有更高程度的掌控度,則開發(fā)時(shí)間自然可以被極大程度地縮短。以下這張圖是在Isaac Sim中合成數(shù)據(jù)生成工作流的示例。

這些數(shù)據(jù)是怎么生成的?
針對Isaac Sim Replicator是怎么工作的,英偉達(dá)官方有給出一個(gè)AMR(自助移動機(jī)器人)避開叉車叉齒的示例。感興趣的各位可以去看看Isaac Sim Data Replicator的這個(gè)功能概述視頻,就是大致給出個(gè)概念,來說AMR如何避開叉車的。
避開叉車用傳感器不就行了嗎?工廠現(xiàn)有AMR會用平面LiDAR,這類傳感器的確可以做對象測距。但這種平面LiDAR雖可檢測叉車底盤,卻檢測不到叉齒(相比底盤通常更突出)。在這一例中,如果AMR能夠知道:這是一輛叉車,也就能夠避開叉車叉齒了。
一般數(shù)據(jù)生成的方式,都是在仿真中大量生成圖片或CAD模型,再加入噪聲和各種環(huán)境變量,以此來“復(fù)制目標(biāo)域的內(nèi)在分布”。英偉達(dá)介紹中提到,用Isaac Sim Data Replicator訓(xùn)練DNN的工作關(guān)鍵流程是這樣的:

- 在 Omniverse 的 Isaac Sim 中建立倉庫場景
- 在倉庫中放置一個(gè) AMR 并重新創(chuàng)建故障場景
- 獲取叉車模型并使用 Isaac Sim 生成合成數(shù)據(jù)
- 使用合成數(shù)據(jù),使用 TAO 工具套件訓(xùn)練現(xiàn)有的預(yù)訓(xùn)練模型
- 使用 DNN Inference Isaac ROS GEM 部署該模型
- 在模擬中測試 Isaac ROS GEM
- 最后一步:在 NVIDIA Jetson 平臺上的機(jī)器人軟件棧中部署 Isaac GEM
這里面我們比較關(guān)心的是1-3步,尤其是第3步。其過程至少包含了下面這些要素:



從用USD(不了解什么是USD點(diǎn)這里)來表達(dá)一輛叉車3D模型,到后續(xù)叉車本身的紋理隨機(jī)、姿態(tài)隨機(jī)、場景紋理隨機(jī)、對象數(shù)量變化,包括還在場景中加入其他非叉車對象等等;最終讓深度學(xué)習(xí)模型泛化對叉車的理解。各種環(huán)境變量,紋理、照明、姿態(tài),主視角(機(jī)器人)的位置等等都可以配置。

除了Omniverse Replicator之外,針對將模型部署到機(jī)器人之上,英偉達(dá)還有更豐富的流程布局(如上圖)。這從前面列舉的Isaac Sim Data Replicator訓(xùn)練DNN的工作關(guān)鍵流程中也能看得出來。包括將合成數(shù)據(jù),用TAO工具套件來訓(xùn)練預(yù)訓(xùn)練模型——有關(guān)TAO,我們此前的文章就已經(jīng)有了介紹;以及將模型添加到Isaac ROS GEM中,實(shí)現(xiàn)AI感知;落到實(shí)處就是“在NVIDIA Jetson平臺上的機(jī)器人軟件棧中部署Isaac GEM”(GEM是機(jī)器人的算法功能模塊)。
這套流程實(shí)際上是能夠體現(xiàn)英偉達(dá)從軟件到硬件的生態(tài)能力的,Omniverse Replicator只是其中的一個(gè)組成部分?;蛘哒f這里我們看到AMR訓(xùn)練避開叉車叉齒的全過程,也只是英偉達(dá)AI生態(tài)中的冰山一角。

這里既然提到了Jetson,可捎帶一句前不久的GTC上,英偉達(dá)宣布推出Clara Holoscan——這是面向醫(yī)療設(shè)備的一款軟件定義、可編程影像平臺。黃仁勛在主題演講中說Holoscan是英偉達(dá)的第三個(gè)機(jī)器人平臺(另外兩個(gè)是Isaac和Drive)。這一點(diǎn)在我們此前的GTC報(bào)道文章中就提到過。
隨Holoscan而來的,英偉達(dá)同時(shí)宣布推出AGX Orin傳感器處理機(jī)器人芯片。這顆芯片預(yù)計(jì)明年1月發(fā)售。而基于Orin芯片的Jetson AGX Orin乃是英偉達(dá)Jetson家族的新成員,用于取代此前的Jetson Xavier。芯片方面是安培架構(gòu)GPU和Cortex-A78 CPU的升級,Int8算力達(dá)成200TOPS。Holoscan平臺就是由Orin和ConnectX-7組成的。Jetson作為英偉達(dá)的邊緣AI平臺,也成為其在機(jī)器人方面發(fā)力的重要構(gòu)成,或者機(jī)器人生態(tài)構(gòu)建的布局。
我們從Holoscan的出現(xiàn)就不難發(fā)現(xiàn),英偉達(dá)還在擴(kuò)張其機(jī)器人生態(tài)的覆蓋范圍。想必將來Omniverse Replicator也會擴(kuò)展到Isaac和DRIVE之外吧。
責(zé)編:Luffy Liu