王宗偉
(1.中國科學院上海微系統與信息技術研究所上海200050;2.上海科技大學上海201210;3.中國科學院大學北京100049)
在受限環境下,給定一個或多個物體作為輸入,機器人旨在尋求最大化抓取成功概率的機器爪配置。但是,因為待抓取物體的形狀各異、擺放姿態不同、周圍感知環境類似光照條件的變化等因素的干擾使該問題非常具有挑戰性。近年來,視覺感知的方法[1-8]在機器人抓取問題上正在吸引越來越多的注意。簡單地說,這些方法從訓練樣本中學習一個預測抓取角度和位置的模型。因為每個物體的抓取角度并不唯一,人工標注這些樣本將耗費大量時間和人力。此外,人工也不可能將所有可能的抓取角度都標注出來。一種替代方法是通過機器人物理實驗[5]或者仿真的方法[9]來收集樣本。這種方法可以半自動化,節省了大量的人力,但對于未曾出現在訓練集里的樣本,抓取成功率會下降很多。
為了克服上文提到的問題,本文引入深度領域自適應(deep domain adaptation)的方法將在已經標注的外部數據集上學到的抓取知識遷移到待抓取的新物體上。為描述方便起見,在本文中,我們稱已經被標注的大量樣本集叫做“源域”(source domain),被標注的待抓取物體組成的少量樣本集叫做“目標域”(target domain)。
機器人抓取是物體操縱領域研究最為廣泛的一個課題。一般來說,目前抓取的方法可以分為兩種,一種是幾何驅動的,另一種是數據驅動的。其中幾何驅動方法在早期的研究中較為常見。給定待抓取物體的三維模型,幾何驅動的模型使用解析方法計算最合適的抓取配置[10]。這種方法的難點在于怎樣理解給定場景下物體姿態的幾何特性。為了與數據庫中的物體模型進行匹配,點云注冊是必須的。然而,感知物體姿態本身就是一個很難的課題,而且對于不在數據庫中的新物體,還需要為其新建一個三維模型。
另一條路線是使用機器學習技術學習一個從圖片或者深度信號到抓取配置的映射。相比于人工設計的特征,深度神經網絡能夠學習到更加復雜、更抽象的表征[11],使用深度學習技術能夠大幅提高抓取性能。自然地,機器學習方法都需要大量的訓練樣本,如引言所述,收集到大量樣本很困難。其中文獻[5]利用機器人真實抓取實驗獲取了4萬多的樣本,但樣本分布很不均衡,負樣本個數明顯多于正樣本。
給 定 source domain和 target domain,source domain擁有大量已經標注的數據,target domain擁有較少的或者沒有標注數據,source domain和target domain分布不同。領域自適應學習應意在縮小二者分布上的差異、最大化二者之間的共有特性,并將在source domain學到的知識遷移到target domain,達到提升模型在target domain上性能的目的[12-15]。領域自適應學習在計算機視覺領域已經被研究多年,近來隨著深度學習的發展,deep domain adaptation方法的性能最優,已被廣泛應用。然而本文是第一次將deepdomain adaptation方法引入機器人抓取問題上,并針對機器人抓取問題提出了新的目標函數。
本部分首先回顧機器人抓取問題的定義,然后為了減少過擬合的風險,我們用softmax分類器替換多個二分類器,最后我們將深度領域自適應方法引入到機器人抓取問題上。
依據文獻[5],機器人抓取仿真的定義如下:給定一張圖片,對于其中的特定物體,預測其最可能成功的抓取角度θ。因為θ是連續的,自然地這是一個回歸問題。但是回歸θ很困難,原因如下:1)因為抓取速度的問題,很難采樣足夠多的、窮盡所有角度的樣本;2)對一個特定物體而言也存在著多種抓取角度。為了簡化這個問題,θ被平均分成K個區間,具體來說,圖像中的物體首先被裁剪出來然后被送到一個卷積神經網絡中(CNN)去,在這個網絡的最后一層輸出,我們估計一個K維的概率向量,其中第k維表示這個物體能夠在θk抓取成功的概率。

一次成功的物體抓取依賴于3個因素:精準的物體定位、正確的抓取角度預測和精密的機器爪。假定物體定位和機器爪都是理想的,那么預測一個合適的抓取角度變成了問題的核心。在我們的實驗中,我們發現通過上述描述的目標函數訓練的模型經常給出錯誤的角度預測。原因在于公式(2)假定一個物體存在多個抓取可能并試圖訓練多個,比如K個二值分類器,但在只有少量訓練樣本的情況下,每個分類器只能分得1/K的樣本,因此模型很容易陷入過擬合。
為了解決這個問題,我們用一個多分類器softmax替代多個二值分類器。盡管一個物體可能存在多個合適的抓取角度,但我們限制一個物體只有一個最合適的抓取角度。這樣做的好處是所有的訓練樣本都是softmax分類器的輸入,降低了過擬合的風險。用softmax回歸抓取角度的目標函數如下:

依賴于學習的模型通常需要大量的訓練數據,深度學習對數據的需求尤為明顯。對機器人抓取來說,在實際中,我們很容易從收集到大量公共數據,然而對我們要抓取的物體來說,手頭數據一般不足。只用我們自己的待抓取物體或者使用公共數據作為訓練集都不是最優的選擇。原因是前者會導致訓練的模型在訓練集上嚴重過擬合,泛化性能不佳,而因為數據分布上的差異,后者得到的模型在待抓取物體上性能會下降很多。為了充分利用公共數據和我們自己收集的數據,我們引入深度領域自適應的方法。
2.3.1 source domain與target domain的差異
在有關domain adaptation的研究中,最大平均差異(maximum mean discrepancy,MMD)經常被用來度量source domain與target domain之間的差異。MMD計算source data與target data在特征空間上各自均值之間的歐式距離。為了降低特征維度,像文獻[17]那樣,我們在網絡的最后一層之上添加一層特征適應層(feature adaptation layer,fc_adapt)。給定兩個抓取角度相同的物體,我們強制訓練的模型預測相同的抓取角度,不管他們來自哪個域。現在我們正式定義angle-wise MMD損失函數如下:

2.3.2 保留target domain的判別能力
文獻[18]表明當神經網絡由淺入深時,學到的特征會從一般變的越來越跟任務相關。在我們的設計中,fc_adapt是倒數第二層,因此source domain和target domain在這一層不共享參數,他們在這一層的特征分別用fc_adapt_s和fc_adapt_t表示。這樣一來,fc_adapt_t保留了target domain的判別能力。
遵循以上兩條原則,我們設計的網絡結構如圖1所示。

圖1 網絡結構圖
訓練過程分為兩個階段,第一階段與文獻[5]相同,公式(2)作為我們的目標函數,訓練過程是在source數據集上完成的。訓練的模型用于機器人抓取實驗的物體定位。一旦我們得到了準備的物體定位,抓取成功就依賴角度預測了。領域自適應下抓取角度預測的目標函數如下:

其中λ是一個超參數,它控制著兩個域之間的混合程度以及我們希望目標域在多大程度上保存它自身的區分度與判別能力。
我們使用文獻[5]公開的數據集作為源數據集,自己收集的作為目標數據集。將訓練、驗證和測試樣本合并后,源數據集總共有6266個正樣本和44301個負樣本。目標數據集共有5064個正樣本,其中4078個被用于訓練,剩下的作為測試集。所有圖像的大小被調整到227×227,而且都減去均值(104,117,124)。需要注意的是當我們采用公式(5)作為我們的目標函數時,只有正樣本參與模型訓練。
這部分比較deep domain adaptation方法與其他基礎實驗在測試集上的性能。我們考慮了4種基礎實驗:source only(只用source data訓練),target only(只用target data訓練),mixed(將source data與target data混在一起訓練),finetune(先在source data上預訓練,再在target data上微調)。這4個實驗全部使用公式(3)作為目標函數。
實驗全都基于Tensorflow實現。在所有的實驗中,學習率都設定為2.5e-3,K=18,也即是我們將180度平均分成18個區間。SGD優化器被采用,batch size為144我們依據模型在測試集上的最好表現來選取fc_adapt的維度,最終其維度被設定為128。給定測試樣例,我們依據如下標準如下度量模型性能:‖θ?-θ‖1≤1。其中θ?是模型預測的角度,θ是標定真實角度。因為機器爪的精度原因,誤差在10度內都是可以被接受的。
實驗結果如表1所示。從中可以看出domain adaptation的性能最佳,超過target only2.84個百分點。

表1 各方法測試結果
本文將domain adaptation方法引入到機器人抓取領域,并提出將多個二分類器用一個多分類器替代的方案。該方案一是有效減少了模型過擬合的風險,二是可以充分利用公共數據和我們自己采集的數據,將在source domain學到的抓取知識遷移到target domain,實驗結果證實了該方案可以提高機器人抓取的成功率。