IROS2017筆記->Toward Unifying Model-based and Learning-based Robotics

私人筆記, 轉載的話寫我名就行.

在IROS2017的opening上, 來自華盛頓大學的大牛Dieter Fox教授帶來了題為Toward Unifying Model-based and Learning-based Robotics的報告. 該報告重點介紹了基於模型的估計與深度學習在運動估計方向的應用. Fox教授表示, 現在在機器人領域有兩種不同的聲音. 一類人認為, 我們需要用足夠優美的模型來描述這個世界, 這個模型要有足夠的適應力來適配各個領域的應用, 同時需要有足夠的魯棒性. 如果我們有這樣一種模型, 我們就不需要大量的, 人工標註的數據來訓練機器人. (私貨: 但是需要大量優秀的程序員與機器人工程師來建立模型, 所以我也喜歡這種方法) 另一類人認為, 只要有足夠大的神經網路與運算能力, 同時有足夠的數據, 我們就能了解生命, 宇宙, 以及一切的意義. Fox教授表示他稍微傾向於第一點, 但該報告的一個重要思想之一就是深度學習與建立模型並不是對立的關係. 深度學習可以無縫整合基於模型的方法. 深度學習可以作為建模方法與真實世界的一條紐帶. 該報告由以下四部分組成.

  1. 機器人領域基於模型的估計(Models in robotics).
  2. 深度學習的簡要介紹
  3. 學習並預測剛體的運動
  4. 討論環節

該報告提出了以下四條結論:

  1. 基於模型的方法可以提供非常準確的估計. 但非常依賴系統的初始狀態估計. 換而言之, 在建模方法中, 真實狀態的吸引子只提供非常小的吸引盆.
  2. 深度學習放寬了對初始狀態估計的要求. 但需要大量有監督的數據.
  3. 機器人可以為當前的深度學習提供一種新的思路, 即不需要那麼多有標註的數據, 而是通過機器人與環境的交互擴展現有的數據. 並且該方法還可以解決深度學習領域中bootstrap的問題.
  4. 深度學習與建立模型並不是對立的關係. 深度學習可以無縫整合基於模型的方法. 深度學習可以作為建模方法與真實世界的一條紐帶.

在第一部分, 機器人領域基於模型的估計中. Dieter Fox教授以傳統的機器人激光SLAM為例引入了基於模型的方法. 機器人學中的模型由以下方面構成:

  • 人類對自然環境/物理規律的認知與直覺. 例如物理規律是如何運動的(拉格朗日法)
  • 感測器是如何表徵客觀世界的.
  • 真實世界中物體的屬性. etc.

在建模方法中, 常常使用模擬實驗來使我們建立的模型與真實環境(所採集的數據)進行匹配. 並且在建模方法中, 從當前狀態到目標狀態的動作(序列)可以由控制理論來形成.

Dieter Fox教授以傳統的機器人激光SLAM為例引入基於模型的方法 (來源於概率機器人). 最早的機器人重定位問題解決方案通過計算機器人在每個位置的的後驗概率來估計機器人的最優位姿[1]. (這個方法在"概率機器人"一書中有詳細的介紹, 對應代碼看ROS的Gmapping下的amcl即可.) 為了解決後驗概率不好算的問題, 引入了粒子濾波(蒙特卡洛法)來估計機器人的位姿[1], 思想是一樣的.

圖: 傳統激光SLAM演算法

接下來介紹的是RGBD-Mapping演算法. 該演算法上輸入的是RGBD圖片圖片序列. 通過計算相鄰兩幀圖片的關聯來進行三維重構(KinectFusion)[2]. 在此基礎上, 如果能獲得相機的參數, 就能進行相機的位姿估計(robot localization). 另外, 從該方法開始, 就不用再去算後驗分布了. 而是定義一個損失函數, 然後將整個問題轉換為損失函數的優化問題.

圖: RGBD-Mapping

圖: RGBD-Mapping

該演算法(RGBD-Mapping)假設環境是靜止的, 並且在在靜態環境下效果確實很好. 但該方法不能重構運動物體(效果悲劇, 圖不放了). 針對這種情況, 推廣原有模型, 將物體的運動引入模型中. 就有了DynamicFusion[3].

圖: DynamicFusion

假設該深度圖的每一個"體素"都是運動的. 該演算法的模型如圖中公式所示. 該演算法輸入深度圖片, 通過深度圖計算每個"體素" (原文為node in warp field)運動方向的最優估計. 運動方向如子圖(Volumetric Motion Estimition) 所示. 該論文的一大創舉就是提出了實時計算的方法.

Fox教授另外介紹了一種實時三維重建的方法: DART: Dense Articulated Real-Time Tracking[4]. 該方法假設要跟蹤並重建的物體由多個剛體組成, 剛體的各個部分間有約束關係. 這些約束關係就構成了骨骼模型.

圖: DART

該方法的優點在於可以很好地處理遮擋與物理約束兩個問題. 在DynamicFusion中這兩個問題都是無法處理的 DynamicFusion是非剛體重建, 因此只憑深度信息不能很好的處理遮擋問題. 而DART假設各個部件(以機械手為例, 每個指節都是一個部件)是剛體, 因此在遮擋不嚴重的情況下依然能夠估計該部件的位姿. 即使一個部件被完全遮擋住了, 也能夠從未被遮擋部件的物理約束關係中推算其位姿. 該方法的缺陷在於, 很多時候沒辦法對一個非剛體做合適的分割. (私貨: 對於一個瘦子按照子圖1的方式進行分割倒是合適的. 但要是一個大胖子抖胸抖肚子就不好建模. 至於如何建模可以看SIGGRAPH2017[5]) 但是這種方法對一般的工業機器人還是挺好用的. 也確實在用這種方法做機器人的控制. Fox教授現場展示了該方法在Baxter機器人上的一個應用. 物理約束部分可以看ICRA2015的這篇文章[6]. 控制方面的應用可以看這篇文章[7].

在本節的最後, Fox教授總結了建模方法的一些缺陷:

  1. 建模方法通常假設我們能足夠精確的跟蹤機器人的狀態(位姿). 但事實上並不容易跟蹤.
  2. 來自多個感測器的數據如何進行融合的問題還有待解決.
  3. 建模方法通常涉及用傳統方法來優化給定的損失函數. 但這種優化並不容易進行, 因為損失函數一般都不是凸的.
  4. 由原因3可知, 建模方法非常依賴初始解的位置. 換而言之, 對於真實的最優解, 建模方法只能在該解(吸引子)周圍提供很小的吸引盤. 初始解一旦偏離真實解太遠就很難保證演算法收斂到我們想要的狀態.
  5. 基於模型的方法不容易被遷移使用. Model are local, but globally applicable. 我們可能為了某一個特定的問題建立了模型, 但在其他領域這個模型就不保證好用.

講座的第二部分, Fox教授首先簡要的介紹了深度學習的基本概念. 反向傳播部分從略.

ImageNet可以看做是神經網路的一個典型的, 極其成功的應用, 該網路輸入RGB圖片, 輸出一系列標籤. 除此之外, 神經網路在數據融合領域也有很多應用.

傳統的數據融合方式, 以視覺SLAM領域為例. 給定一個時序的圖片序列, 對序列中每相鄰的兩幅圖片, 計算這兩幅圖片所對應的相機位姿變換. 通過這種變換來進行機器人的重定位. 在知道了相機的參數後, 還能進行場景的重構. 傳統的視覺SLAM的方法是使用一些人工指定的描述子, 例如SIFT, ORB, HOG等. 這些描述子有一些很好的性質(光照不變性, 尺度不變性等等). 對每一幅圖片都尋找該圖片上的描述子, 在不同圖片間進行描述子的匹配. 但該方法的缺點在於, 經常會有幀間匹配失敗( 比如大白牆等表面紋理不足的地方, 解決方案看這個[9]). 也就是說, 對機器人每一時刻真實的狀態所對應的吸引子, 傳統方法所提供的吸引盆不足以保證其能夠包含機器人下一時刻的初始解.

基於以上情況, 提出一種新的思路, 被描述為chaining basins of attraction. 其想法在於: 如果機器人運動的足夠平滑, 那下一時刻的狀態一定離上一時刻的吸引盆不遠. 在這種情況下, 機器人在一段時間內的估計狀態(非真實狀態)就能夠被串聯起來變成一條軌跡. 可以利用這條軌跡進行全局的推算與優化. 一般的圖優化方法也是基於這個思路來進行的. 也可以使用神經網路來進行這樣的推算.

Fox教授的課題組基於這種思路使用神經網路成功的解決了視覺SLAM問題[8]. 其基本思想如下:

首先通過給定的圖片序列(視頻流), 用KinectFusion或DynamicFusion建立三維模型. 對於時間t與t+1的兩幅連續的圖像上的任意一對點, 我們能夠判斷這兩個點是否對應三維模型的同一個位置. 通過這種方式, 可以生成大量的, 用於訓練神經網路的數據(完全不用事先標註的數據集). 在此之上, 建立這樣一種網路. 其輸入為視頻流中兩幅連續的圖片. 其損失函數為這兩副圖片的中心像素是否看向(三維模型中的)同一個點. 該網路結構以及損失函數如圖所示:

左圖為原始視頻流中的幀, 右圖為該網路從中學習到的feature. 該網路的魔法之處在於, 該網路所學習到的feature受光照, 顏色等因素關係很小, 並且能夠靈活的遷移到其他場景中. 即在場景A中訓練的, 一個人的模型遷移到場景B中, 儘管光照, 背景有改變, 人的衣著也有改變. 該神經網路一人能夠很好地在新場景中追蹤這個人的模型. 而在DynamicFusion中就做不到.

在基於RGBD的三維相機位姿估計領域, Fox教授首先提到了基於回歸森林的方法[10]與SemanticPaint[11]. 如下圖所示. 下圖中藍色部分即為估計的相機位姿, 右面是感測器輸入信息. 隨著時間的推移, 估計的位姿逐漸收斂於真實位姿. 尤其是在下圖所示的樓梯中. 考慮到樓梯的每一個部分都非常相似, 該演算法仍能準確的收斂到真實位姿.


在演講的第三部分, 即用深度學習的方法估計剛體運動. 典型的應用場景是讓機器人移動桌子上的一個盒子. 深度學習系統的目標是通過RGBD相機的輸入來預測盒子的運動. 通過這種預測, 可以設計一個閉環控制器來將目標物體鎮定到給定的位姿. 相關的工作可見下圖所示:

Fox教授首先介紹了 Flow-Net, 即SE3-Pose-Nets網路[12]的原型. 該網路的思想如下圖所示. 網路的輸入是時間t的深度圖像, 網路的輸出是從這個圖像中估計的, 每個體素(Node)的移動(xyz flow). (估計方法在前面[8]中有介紹). 將機器人在t時刻的狀態與網路輸出的移動估計量進行疊加得到t+1時刻物體的深度圖(估計量). 定義損失函數為估計量與實際t+1時刻深度圖的偏差. 就能夠訓練這個網路(並且沒有用任何先驗的數據集!).

然而, FLOWNET對運動趨勢的估計非常悲劇, 如下圖最右邊子圖的predition所示:

改進的方法是加假設:

  1. 讓神經網路只識別並預測剛體的運動. 對一個機械臂(比如baxter那個, 可以將其看做是一系列剛體的串聯 )
  2. 所有運動都是SE(3)變換

改進後的網路(SE3-Net, 沒有Pose)結構如圖所示: 這個網路在傳統SE3上加了一層, 並且原始網路不但要輸出估計的運動, 將輸出的運動分割為不同的parts. 每個parts大致的能表徵一個剛體部件, 因為每個剛體應該有(大致)一致的運動趨勢. 然後用一個附加層估計每個部件的SE3運動並生成估計的t+1時刻深度圖像.

SE3-Net輸出結果圖下圖所示(右邊數第二個子圖), 效果比原始的FlowNet好了不少. 從一棍捅碎變成一棍捅穿了. 但這樣的結果已經足夠做閉環估計了(下下圖所示): 這裡好像有一個視覺伺服領域的技巧是從神經網路的每個隱含層輸出估計量, 這塊表示無力了......

用PoseNet做閉環

最後, Fox教授提出了最新修改版 SE3-Pose-Net(還沒有文章, 也沒說細節). 網路大致結構與優勢如圖所示:

SE3-Pose-Net大致結構

SE3-Pose-Net優勢


最後, Fox教授對整個演講進行總結, 結論如下(重要的地方寫兩次):

  1. 基於模型的方法可以提供非常準確的估計. 但非常依賴系統的初始狀態估計. 換而言之, 在建模方法中, 真實狀態的吸引子只提供非常小的吸引盆.
  2. 深度學習放寬了對初始狀態估計的要求. 但需要大量有監督的數據.
  3. 機器人可以為當前的深度學習提供一種新的思路, 即不需要那麼多有標註的數據, 而是通過機器人與環境的交互擴展現有的數據. 並且該方法還可以解決深度學習領域中bootstrap的問題.
  4. 深度學習與建立模型並不是對立的關係. 深度學習可以無縫整合基於模型的方法. 深度學習可以作為建模方法與真實世界的一條紐帶.

同時也提出了一些熱點問題:

  1. 如何用底層的, 基於模型的先驗知識來解決複雜神經網路的bootstrap問題
  2. 學習無關特定場景, 可重用的知識. 就比如讓神經網路學習一個物理引擎.
  3. 如何最大化的在深度學習中使用基於模型的先驗知識
  4. 如何度量不確定性

參考文獻:

[1]Thrun S, Fox D, Burgard W. Monte carlo localization with mixture proposal distribution[C]//AAAI/IAAI. 2000: 859-865.

[2]Henry P, Krainin M, Herbst E, et al. RGB-D mapping: Using depth cameras for dense 3D modeling of indoor environments[C]//In the 12th International Symposium on Experimental Robotics (ISER. 2010.

[3]Newcombe R A, Fox D, Seitz S M. Dynamicfusion: Reconstruction and tracking of non-rigid scenes in real-time[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2015: 343-352.

[4]Schmidt T, Newcombe R A, Fox D. DART: Dense Articulated Real-Time Tracking[C]//Robotics: Science and Systems. 2014.

[5]Kim M, Pons-Moll G, Pujades S, et al. Data-driven physics for human soft tissue animation[J]. ACM Transactions on Graphics (TOG), 2017, 36(4): 54.

[6]Schmidt T, Hertkorn K, Newcombe R, et al. Depth-based tracking with physical constraints for robot manipulation[C]//Robotics and Automation (ICRA), 2015 IEEE International Conference on. IEEE, 2015: 119-126.

[7]Mordatch I, Popovi? Z, Todorov E. Contact-invariant optimization for hand manipulation[C]//Proceedings of the ACM SIGGRAPH/Eurographics symposium on computer animation. Eurographics Association, 2012: 137-144.

[8]Walsman A, Wan W, Schmidt T, et al. Dynamic High Resolution Deformable Articulated Tracking[J]. arXiv preprint arXiv:1711.07999, 2017.

[9]Hafeez J, Kwon S C, Lee S H, et al. 3D surface reconstruction of smooth and textureless objects[C]//Emerging Trends & Innovation in ICT (ICEI), 2017 International Conference on. IEEE, 2017: 145-149.

[10]Shotton J, Glocker B, Zach C, et al. Scene coordinate regression forests for camera relocalization in RGB-D images[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2013: 2930-2937.

[11]Valentin J, Vineet V, Cheng M M, et al. Semanticpaint: Interactive 3d labeling and learning at your fingertips[J]. ACM Transactions on Graphics (TOG), 2015, 34(5): 154.

[12]Byravan A, Leeb F, Meier F, et al. SE3-Pose-Nets: Structured Deep Dynamics Models for Visuomotor Planning and Control[J]. arXiv preprint arXiv:1710.00489, 2017.


推薦閱讀:

目標跟蹤---ECO: Efficient Convolution Operators for Tracking
【目標跟蹤】使用深度特徵來跟蹤目標
簡單易懂的講解深度學習(入門系列之陸)
人臉識別中的活體檢測

TAG:机器人 | 深度学习DeepLearning | 计算机视觉 |