選自arXiv,做者:Peter R. Florence、Lucas Manuelli、Russ Tedrake,機器之心編譯。git
機器人操做中,針對特定任務的強化學習方法能夠在給定的任務中得到很好的技能,可是人們尚未找到高效完成多種不一樣任務的最佳途徑。本文做者提出了密集對象網絡——被訓練用來提供密集對象描述的深度神經網絡。密集對象網絡能夠區分多個對象,以徹底機器人自監督的方式快速學習,並實現新的操做任務。
源代碼地址:github.com/ RobotLocom…github
1 引言網絡
機器人操做中正確的對象表徵方式是什麼?儘管針對特定任務的強化學習方法能夠在給定的任務中得到使人印象深入的靈巧技能 [1],人們尚未找到高效完成多種不一樣任務的最佳途徑。一些其它的最新研究 [2,3] 能夠提供普通的抓取物體的功能,可是沒有進行特異性處理。爲了實現特異性,即便用特定對象完成特定任務的能力,人們可能須要解決數據關聯問題。粗略地說,識別和操做單個對象的任務能夠經過語義分割來解決,正如亞馬遜機器人挑戰賽(ARC)[4,5] 或論文 [6] 所展現的那樣。然而,語義分割提供的表徵並不能提供關於對象自己豐富結構的任何信息。所以,這可能並不是解決 ARC 中「取物-放置」問題以外的複雜問題的恰當表徵方法。函數
除了視覺分割,近期的研究 [7] 標誌着從原始 RGBD 數據中使用自監督方法學習密集像素級數據關聯的一個進步。咱們的工做受到了 [7] 的啓發,可是咱們須要額外的新方法去可靠地學習一致的對象描述符,而且開發一種適合機器人自動化的學習方法。此外,以前沒有人研究密集描述符的對象惟一性,對不止一類對象演示密集描述學習,或者使用密集描述符對操做任務進行研究。在本文中,咱們提出了密集對象網絡,它是被訓練用來提供密集(像素級)對象描述的深度神經網絡。密集對象網絡能夠區分多個對象,以徹底機器人自監督的方式快速學習,並實現新的操做任務。學習
本文貢獻:咱們認爲,本文最大的貢獻在於,咱們引入了針對對象的密集描述符的機器人學習,而且展現了其在機器人操做中的普適性和實用性。本文的一個主要貢獻是新開發了針對多對象的不一樣密集描述符,爲此咱們引入了三種獲取描述符的方法:跨對象損失、直接多對象訓練、合成多對象訓練。經過修改損失函數和採樣過程,咱們能夠獲得在各種對象之間泛化的描述符,或者對每一個對象實例都有不一樣表示的描述符。此外,咱們已經證實,機器人自監督密集視覺描述符學習能夠應用於各類潛在的非剛性對象和類(目前包含 3 個不一樣類別的 47 個對象),而且能夠快速學習(大約 20 分鐘)。咱們還貢獻了學習密集描述符的通常訓練技術(見 3.2 節),這對於在實踐中得到良好表現相當重要。最後,咱們演示了學習到的密集描述符在機器人操做中的新應用。在示例任務中,咱們抓取對象在可能變形的配置上的特徵點,在雜亂環境中利用對象實例特異性作到這一點,或者在類中的對象間遷移特定的抓取動做。測試
圖 1:數據收集和訓練過程概覽。(a)經過機器臂自動收集數據(b)使用密集 3D 重構技術實現變化檢測(c)-(f)綠色表示匹配,紅色表示不匹配。3d
5 實驗結果cdn
圖 2:學習到的對象描述符在通過顯著變形(a)後保持一致,若是須要,還能夠在(b-d)對象類別間保持一致。圖中(a)和(b-d)頂部顯示出來的是 RGB 幀,相應的在底部顯示出來的是經過訓練網絡前饋傳播直接輸出的描述符圖像。(e)-(f)代表,咱們能夠學習低紋理對象的描述符,並對描述符進行掩膜操做以獲得清晰的可視化結果。在圖的右側咱們對對象集合進行了總結。對象
5.1 單個對象的密集描述符blog
圖 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
摘要:機器人操做的正確對象表徵應該是怎樣的?咱們但願機器人可以直觀地感知場景,理解其中的對象,並知足如下要求:(i)與具體任務無關,可以做爲構建模塊用於各類操做任務中,(ii)普遍適用於剛性和非剛性對象,(iii)利用 3D 圖像提供的豐富先驗信息,(iv)徹底經過自監督方法學習。這經過之前的方法是很難實現的,具體而言:許多近期在抓取物體方面的工做沒有擴展到抓取特定物體或其餘的任務上,而針對特定任務的學習可能須要通過大量的嘗試來取得在不一樣的對象配置和其它任務上很好的泛化能力。在本文中,咱們以自監督密集描述符學習的最新進展爲基礎提出了密集對象網絡,做爲對視覺理解和操做任務的一致對象表徵。咱們已證實它們能夠被快速地訓練(大約 20 分鐘),用於操做各類事先未知而且多是非剛性的物體。此外,咱們還提出了一些新的貢獻來實現多對象描述符學習,而且說明了能夠經過修改訓練過程獲得可以在不一樣類別的對象間泛化的描述符,或者對每一個對象實例都不一樣的描述符。最後,咱們演示了學習到的密集描述符在機器人操做中的新應用。咱們演示了在可能變形的對象配置下抓取一個對象的特定點的過程,以及使用類通用的描述符對一個類中不一樣對象的特定抓取動做進行遷移。