密集物件網路:透過機器人操作學習密集的視覺物件描述符

机器之心發表於2018-07-09

機器人操作中,針對特定任務的強化學習方法可以在給定的任務中獲得很好的技能,但是人們還沒有找到高效完成多種不同任務的最佳途徑。本文作者提出了密集物件網路——被訓練用來提供密集物件描述的深度神經網路。密集物件網路可以區分多個物件,以完全機器人自監督的方式快速學習,並實現新的操作任務。

原始碼地址:https://github.com/ RobotLocomotion/pytorch-dense-correspondence

1 引言

機器人操作中正確的物件表徵方式是什麼?儘管針對特定任務的強化學習方法可以在給定的任務中獲得令人印象深刻的靈巧技能 [1],人們還沒有找到高效完成多種不同任務的最佳途徑。一些其它的最新研究 [2,3] 可以提供普通的抓取物體的功能,但是沒有進行特異性處理。為了實現特異性,即使用特定物件完成特定任務的能力,人們可能需要解決資料關聯問題。粗略地說,識別和操作單個物件的任務可以透過語義分割來解決,正如亞馬遜機器人挑戰賽(ARC)[4,5] 或論文 [6] 所展示的那樣。然而,語義分割提供的表徵並不能提供關於物件本身豐富結構的任何資訊。因此,這可能並非解決 ARC 中「取物-放置」問題之外的複雜問題的恰當表徵方法。

除了視覺分割,近期的研究 [7] 標誌著從原始 RGBD 資料中使用自監督方法學習密集畫素級資料關聯的一個進步。我們的工作受到了 [7] 的啟發,但是我們需要額外的新方法去可靠地學習一致的物件描述符,並且開發一種適合機器人自動化的學習方法。此外,之前沒有人研究密集描述符的物件唯一性,對不止一類物件演示密集描述學習,或者使用密集描述符對操作任務進行研究。在本文中,我們提出了密集物件網路,它是被訓練用來提供密集(畫素級)物件描述的深度神經網路。密集物件網路可以區分多個物件,以完全機器人自監督的方式快速學習,並實現新的操作任務。

本文貢獻:我們認為,本文最大的貢獻在於,我們引入了針對物件的密集描述符的機器人學習,並且展示了其在機器人操作中的普適性和實用性。本文的一個主要貢獻是新開發了針對多物件的不同密集描述符,為此我們引入了三種獲取描述符的方法:跨物件損失、直接多物件訓練、合成多物件訓練。透過修改損失函式和取樣過程,我們可以得到在各類物件之間泛化的描述符,或者對每個物件例項都有不同表示的描述符。此外,我們已經證明,機器人自監督密集視覺描述符學習可以應用於各種潛在的非剛性物件和類(目前包含 3 個不同類別的 47 個物件),並且可以快速學習(大約 20 分鐘)。我們還貢獻了學習密集描述符的一般訓練技術(見 3.2 節),這對於在實踐中獲得良好表現至關重要。最後,我們演示了學習到的密集描述符在機器人操作中的新應用。在示例任務中,我們抓取物件在可能變形的配置上的特徵點,在雜亂環境中利用物件例項特異性做到這一點,或者在類中的物件間遷移特定的抓取動作。

密集物件網路:透過機器人操作學習密集的視覺物件描述符

圖 1:資料收集和訓練過程概覽。(a)透過機器臂自動收集資料(b)使用密集 3D 重構技術實現變化檢測(c)-(f)綠色表示匹配,紅色表示不匹配。

5 實驗結果

密集物件網路:透過機器人操作學習密集的視覺物件描述符

圖 2:學習到的物件描述符在經過顯著變形(a)後保持一致,如果需要,還可以在(b-d)物件類別間保持一致。圖中(a)和(b-d)頂部顯示出來的是 RGB 幀,相應的在底部顯示出來的是透過訓練網路前饋傳播直接輸出的描述符影像。(e)-(f)表明,我們可以學習低紋理物件的描述符,並對描述符進行掩膜操作以得到清晰的視覺化結果。在圖的右側我們對物件集合進行了總結。

5.1 單個物件的密集描述符

密集物件網路:透過機器人操作學習密集的視覺物件描述符

圖 3:(a)表顯示了實驗中參考的不同型別網路。列標籤與第 3 節中討論過的技術相對應。(b)圖描繪了最佳匹配 u_b hat 和實際匹配 u_b*之間 L2 畫素距離(利用影像的對角線進行歸一化,640*480 的影像取 800)的累積分佈函式,例如:對於 93% 的使用「standard-SO」訓練過程的影像對而言,u_b* 和 u_b hat 之間歸一化後的畫素距離小於 13%。所有網路都使用(a)中標記的訓練過程在同一資料集上訓練。(c)圖描繪了在 密集物件網路:透過機器人操作學習密集的視覺物件描述符的情況下(即它們在描述符空間中與 u_a* 的距離比實際匹配的 u_b*的距離更近)物件畫素點 u_b 部分畫素的累積分佈函式

密集物件網路:透過機器人操作學習密集的視覺物件描述符

圖 4:沒有任何明顯物件損失(a)和使用跨物件損失(b)的訓練結果對比。在(b)中,50% 的訓練迭代過程中應用了跨物件損失,其餘 50% 則應用場景內的單個物件損失,而(a)中 100% 使用了場景內單個物件損失。這些圖顯示了三個不同物件中對每個物件的 10,000 個隨機選擇的畫素點的描述符的散點圖。該網路是在 D=2 的環境下訓練的,使其可以直接進行聚類視覺化。(c)圖與 3(b)中的座標相同。所有的網路都是在相同的 3 個物件資料集上進行訓練的。帶有數字標籤的網路是透過跨物件損失進行訓練的,數字表示了描述符的維度。非跨物件網路(紅線)是不使用跨物件損失訓練的網路。

5.2 多個物件的密集描述符

密集物件網路:透過機器人操作學習密集的視覺物件描述符

圖 5:(a)圖與圖 3(a)的座標相同,將訓練過程「standard-SO」和「without-DR」進行對比,其中唯一的區別是,「without-DR」在訓練時不使用背景域隨機化技術。(a)中使用的資料集包含 3 個物件,每個物件有 4 個場景。(b)圖說明,對於一個包含 10 個訓練場景的資料集,在訓練過程中,不帶背景和方向隨機性的情況下學習到的描述符並不一致(中間),但是帶有背景和方向隨機性時學到的描述符是一致的(右側)。

5.4 機器人操作示例應用:抓取特定點

密集物件網路:透過機器人操作學習密集的視覺物件描述符

圖 6:描述「抓取特定點」過程的示意圖。使用者為每張參考影像指定一個畫素點,接著機器人自動地抓取測試環境下最佳匹配的點。對於單個物件而言,可以看到機器人抓取了毛毛蟲物件兩個不同的點:尾巴(i)和右耳(ii)。請注意,「右耳」示範是在相當對稱的物件上打破對稱性的一個例子。在類間泛化能力上(iii),透過一致訓練,機器人在各種實體上抓取類間泛化點(具有公共特徵的點)。這項工作僅僅透過 4 只鞋子進行訓練並且擴充套件到機器人沒有見過的鞋子例項上,例如(c)。對於「實體特異性」問題,機器人經過了對特定物體的訓練,並且透過合成多物件場景(3.3 iii)進行了資料增強處理,從而使機器人甚至能夠在雜亂的環境中抓取特定例項的這個點。

論文:Dense Object Nets: Learning Dense Visual Object Descriptors By and For Robotic Manipulation

密集物件網路:透過機器人操作學習密集的視覺物件描述符論文連結:https://arxiv.org/pdf/1806.08756.pdf

摘要:機器人操作的正確物件表徵應該是怎樣的?我們希望機器人能夠直觀地感知場景,理解其中的物件,並滿足以下要求:(i)與具體任務無關,能夠作為構建模組用於各種操作任務中,(ii)廣泛適用於剛性和非剛性物件,(iii)利用 3D 影像提供的豐富先驗資訊,(iv)完全透過自監督方法學習。這透過以前的方法是很難實現的,具體而言:許多近期在抓取物體方面的工作沒有擴充套件到抓取特定物體或其他的任務上,而針對特定任務的學習可能需要經過大量的嘗試來取得在不同的物件配置和其它任務上很好的泛化能力。在本文中,我們以自監督密集描述符學習的最新進展為基礎提出了密集物件網路,作為對視覺理解和操作任務的一致物件表徵。我們已證明它們可以被快速地訓練(大約 20 分鐘),用於操作各種事先未知並且可能是非剛性的物體。此外,我們還提出了一些新的貢獻來實現多物件描述符學習,並且說明了可以透過修改訓練過程得到能夠在不同類別的物件間泛化的描述符,或者對每個物件例項都不同的描述符。最後,我們演示了學習到的密集描述符在機器人操作中的新應用。我們演示了在可能變形的物件配置下抓取一個物件的特定點的過程,以及使用類通用的描述符對一個類中不同物件的特定抓取動作進行遷移。

相關文章