1. 程式人生 > >KinectFusion:用運動的深度相機進行實時3D重建及互動

KinectFusion:用運動的深度相機進行實時3D重建及互動

五 . 場景互動

        目前為止,我們所描述的核心繫統都基於場景保持合理靜止狀態這樣一個假設。顯然,在一個互動環境中,使用者希望在顯示器前自由運動並與場景互動。這樣就產生了兩個主要挑戰。         第一,ICP追蹤假定每一幀都會產生由於攝像機運動而引起的剛性變換。使用者在顯示器前進行互動會引起獨立於攝像機運動的場景運動,而這種運動使之前的假設不再成立。因為我們的ICP追蹤是密集的(即使用者所有可用點集),因此我們的系統在處理瞬時的場景運動時是有彈性的。例如,在圖5中,即使當用戶移動這個茶壺時,仍有足夠多的背景點供ICP匯聚。但是,過大或太長的場景運動會造成追蹤失敗。         第二,而我們的系統支援實時重建,表面預測將會隨著時間細化,這是利用一個連續的加權平均的距離值實現的。考慮到獲得更快的模型更新通過調整權重,新的TSDF值將獲得更高的優先順序,但是這種權衡折中的代價是額外的噪聲被引入重建當中。在實際執行中,權重的選擇要對重建的質量以及基於場景內變化的重建定期更新這兩個方面進行平衡。但是,這並不支援連續移動的場景。通常,使用者自由地在場景中移動會造成相關的深度資料只能被部分的併入人體的範圍。由於攝像機追蹤直接依賴於這個模型,而這個模型在這種情況下與實時資料不一致,錯誤也就隨之發生了。

ICP異常值分割

        這裡為核心GPU流水線提供了一種新擴充套件,用來著手探討使用者與重建場景之間的動態互動(圖14)。這項技術採用了一種密集ICP追蹤的獨特的性質。當所有的深度測量都開啟的時候,投影資料關聯中的異常值會形成一個強有力的初步預測,這個預測關於部分獨立於攝像機運動的場景運動——條件是有足夠的剛性背景點足以使ICP仍舊收斂。我們的解決方案穩健地將一個移動中的前景物體從背景中分離出來,使追蹤錯誤減少,並且使使用者可以在場景中直接進行互動。         這種GPU流水線假定至少要剛性場景的一部分已經利用核心重建流水線初步重建完成(標記為a)。初始掃描過後,進入場景中的運動物體包含著定向點,這些點與已經重建的表面之間有著顯著的差別。這些錯誤的ICP投影資料關聯被複制到一個異常值對映(標記為b)。接下來,一個深度感知關聯的組成分析開始在異常值對映上執行,來聚集大的相關的碎片並刪除較小的由感測器噪聲引起的異常值(標記為c)。在偵測到有前景場景運動處,大的相關的碎片被掩蓋在輸入深度對映用來核心“背景”重建(標記為d)。這會阻止在核心流水線中相關的前景深度測量被用於重建或追蹤。大塊的異常值可以利用第二個區塊(潛在運行於一個有著不同重建設定的獨立GPU)被另外重建。最後一步光線投射到兩個獨立的區塊並且將兩者的輸出合成(標記為f),使用與圖12相同的方法。         總的來說,我們的技術在穩定跟蹤方面得到了引人矚目的成果,而且因此提高了對於靜態背景的重建質量,即使當場景的部分割槽域持續在鏡頭前運動時又能達到以上的效果。此外,這個技術可以健壯地分離出一個前景物體,並且潛在地獨立於背景重建。

檢測在任意曲面的觸控

       流水線可以通過觀察前景和背景之間的交叉部分進一步擴充套件到支援多點觸控輸入。我們擴充套件背景體積的預設的光線投射,輸出一個觸控地圖,虛擬碼如列表4所示。使用光線投射的前景頂點地圖作為輸入,每個GPU執行緒再次沿光線通過背景體積。若過零點可以定位,則相應的前景頂點(沿相同的射線)將被檢測(第6行)。若前景和背景在可變範圍之內,則該前景位置是在觸控地圖的輸出上。觸控地圖的深度關聯的成分分析法不僅抑制了噪聲,也隨著跟蹤時間的加長標註了影象域中的疑似指尖。在平面和非平面的表面上應用多點觸控的例子如圖10和圖16。

建立動態場景建模

       目前已經可以從背景中穩定的區分出移動的前景,這提出了個有趣的問題:如何最好地重建這樣的移動表面。面臨的主要挑戰就變成了如何把前景資料整合到第二個體積裡面,這樣表面測量值之間的對應關係就可以隨著時間加長有所確保了。作為一個初步的探索,我們在另一個ICP例項中已經試驗了單獨預測前景物件的姿勢。這次同樣也是以密集ICP進行,但只使用前景有向點(從實時深度圖和用光線投射的第二個體積得來)。在實踐中,我們發現,即使前景的微小部分非剛性運動,密集ICP也收斂。一個令人信服的例子是即使手指的移動非剛性,使用者的手臂(圖15)的剛性部分ICP收斂。這提供了一個相對於全域性攝像頭變換,預測前景物件的姿勢的粗糙方法。        使用此預測的姿勢,可以對齊排列深度測量值並將其融合到所述第二體積。 前景的表面預測隨著時間增加可以建立起來,並逐漸變得更加精細完整。由於前景表面可能會被移動,我們給予整合進來的新的測量值更多的權重。一個簡單的擴充套件使用每體素的權重,該權重基於TSDF(整合之前)的導數的動態平均值不斷調整。        這使我們能夠調整單個表面體素的權重,當變化率高的時候(如手指或手部)給新的測量值高權重,若TSDF測量值穩定(如前臂)降低其權重。
圖16和圖15中展示了基於前景ICP跟蹤和每體素的自適應加權的初步結果。可以看出結果中比原Kinect的資料相當大的降低了噪音——使用者的手臂,手和手指都清晰可辨——而這個前景重建發生在側攝像機跟蹤和背景重建的完善過程中。        對於我們的物理模擬,我們現在可以把整個前景重建表示為靜態顆粒,使移動的使用者和動態粒子之間的碰撞一幀一幀(如圖9中所示)進行建模。這重建移動的前景的方法,也可以是純粹用來跟蹤,持在使用者手中的剛性物體的姿勢——使跟蹤不依賴攝像機運動,並且無標記或該物件的先驗知識。一個例子如圖1(右一)所示是已經重建的茶壺(圖5),六維自由度被跟蹤並以真實的物理物件重新登記。