2017CV技術報告:從3D物體重建到人體姿態估計

Candy_GL發表於2018-08-30

The M Tank 編輯了一份報告《A Year in Computer Vision》,記錄了 2016 至 2017 年計算機視覺領域的研究成果,對開發者和研究人員來說是不可多得的一份詳細材料。該材料共包括四大部分,在本文中機器之心對第三部分做了編譯介紹,第一部分、第二部分和第四部分詳見《 計算機視覺這一年:這是最全的一份 CV 技術報告  》、《 深度 | 2017 CV 技術報告之影象分割、超解析度和動作識別  》、《 計算機視覺這一年:2017 CV 技術報告 Plus 之卷積架構、資料集與新趨勢  》。 

 

「計算機視覺的主要目標是從 2D 的觀察復原世界的 3D 結構。」——Rezende et al. (2016, p. 1[92])

 

正如我們所瞭解的,在計算機視覺領域,對場景、物體和活動的分類以及繪製邊界框和影象分割是許多新興研究的重點。實際上,這些方法依靠計算來「理解」影象的二維空間。但是,反對者指出,理解 3D 空間對於系統地解釋和認知現實世界是必不可少的。

 

例如,一個網路可能會在影象中找到一隻貓,將貓的灰度圖上色,並將其歸類為一隻貓。但是,網路是否能完全理解影象裡的貓在其所處環境中的位置?

 

可能有人會說,在上述任務中,計算機對於 3D 世界的瞭解很少。與此相反,即使在檢視 2D 圖片(即透視、遮擋、深度、場景中的物件如何相互關聯等情況下)的時候,人們也能夠以 3D 空間來理解世界。將這些 3D 表示及其相關知識傳遞給智慧系統是下一場計算機視覺變革的前沿。我這樣想的一個主要原因是:

 

「場景的 2D 投影是關於攝像機的位置、屬性,以及燈光和組成場景的物體的複雜函式。如果賦予 3D 理解,智慧體可以從這種複雜性中抽象出穩定的、易懂的表示。例如,無論是從上面還是從側面看,在不同的光照條件和遮擋情況下,模型都可以辨認出椅子就是椅子。」[93]

 

但是,理解 3D 空間一直面臨著幾個難題。第一個問題涉及到「自遮擋」和「正常遮擋」的問題,以及大量 3D 形狀都能符合單個 2D 表示的特徵。由於無法將相同結構的不同影象對映到相同的 3D 空間以及處理這些表示的多模態,對這些問題的理解變得更加複雜 [ 94 ]。最後,實況的 3D 資料集通常相當昂貴且難以獲得,加上表示 3D 結構的方法各異,這些都導致了模型訓練的侷限性。

 

3D 物體

 

第一部分有些零散,僅作為一個概覽,涉及應用於 3D 資料表示的物體的計算、從 2D 影象推導 3D 物體形狀和姿態估計、從 2D 影象確定物體的 3D 姿態的變換。[95] 重建的過程將在下一節中詳細地介紹。以下展示了我們團隊在這個綜合領域的最激動人心的工作:

 

 

  • OctNet: Learning Deep 3D Representations at High Resolutions[96] 緊接最新的卷積網路研究進展(即對 3D 資料、體素(voxel)進行 3D 卷積操作)。OctNet 是一種新穎的 3D 表示形式,可以使高解析度的輸入的深度學習變得容易。作者通過'分析解析度對包括 3D 物件分類、方向估計和點雲標記在內的多種 3D 任務的影響'來測試 OctNet 表示。本文的核心貢獻是它利用 3D 輸入資料的稀疏性,從而能夠更有效地使用記憶體及計算。
  • ObjectNet3D: A Large Scale Database for 3D Object Recognition[97] 貢獻了一個資料庫,用於 3D 物體識別,其中包含 100 個物體類別的 2D 影象和 3D 形狀。『我們的資料庫中的影象(取自 ImageNet)中的物件與(從 ShapeNet 儲存庫獲取)的 3D 形狀保持一致,該一致性指為每個 2D 物體提供精確的 3D 姿態標註和最接近的 3D 形狀標註。』 基準實驗包括:生成區域建議、2D 物體檢測、聯合 2D 檢測和 3D 物體姿態估計,以及基於影象的 3D 形狀恢復。
  • 3D-R2N2: A Unified Approach for Single and Multi-view 3D Object Reconstruction[98] - 使用任意視角的單個或多個物件例項的影象,以 3D 佔據網格的形式重建物件,主要利用合成資料學習從物體 2D 影象到 3D 形狀的對映,網路不需要任何影象標註或物體類別標籤就可以訓練和測試。該網路由一個 2D-CNN、一個 3D 卷積 LSTM(為本文需要新建立的結構)和一個 3D 解卷積神經網路組成。這些不同的元件之間的相互作用和聯合端到端的訓練是神經網路分層特徵的完美例證。

 

 

0

圖 11: 3D-R2N2 的功能圖例,(左)影象取自 Ebay,(右)是 3D-R2N2 的功能概述。

 

論文筆記:作者希望重建的一些示例物件影象——檢視被高基準分隔開,並且物體的外觀紋理很少或是非朗伯表面,亦或兩者具備。(b)對我們提出的 3D-R2N2 的概述:網路從任意(未校準的)視角輸入一系列影象(或者一張影象)作為輸入(在本例中為扶手椅的 3 個檢視),併產生重建的體素化 3D 作為輸出。隨著網路看到物件的更多檢視,重建過程逐漸細化。論文:Choy et al. (2016, p. 3)[99]

 

3D-R2N2 使用 ShapeNet 模型生成渲染影象和體素化模型,並有助於 3D 物體重建,而從運動恢復結構(SfM)和併發建圖與定位(SLAM)通常會失敗:

 

「我們的擴充實驗分析表明,我們的重建框架(i)優於最好的單一檢視重建方法,並且(ii)當傳統的 SFM / SLAM 方法失效時,仍然能夠對物體進行三維重建。

 

3D Shape Induction from 2D Views of Multiple Objects[100] 使用投影生成對抗網路(PrGANs)訓練一個可以準確表示 3D 形狀的深度生成模型,其中判別器僅顯示 2D 影象。投影模組捕獲 3D 表示,並在傳遞給判別器之前將其轉換為 2D 影象。通過迭代訓練週期,生成器通過改進生成的 3D 體素形狀來完善投影結果

論文筆記:用於生成 2D 影象的形狀的 PrGAN 架構。3D 體素表示(323)和視角是從輸入 z(201-d 向量)獨立生成的。投影模組通過給定視角 (θ,φ) 呈現體素形狀來建立影象。判別器由二維卷積層和池化層組成,目的在於判定輸入影象是生成的還是真實的。論文: Gadhelha et al. (2016, p. 3)[101]

 

通過這種方式,推斷能力是通過無監督的方式學習到的:

 

「增加投影模組使我們能夠在學習階段不使用任何 3D 資訊、視角資訊或標註來推斷潛在的 3D 形狀分佈。」

 

另外,形狀的內部表示可以被內插,這意味著體素形狀中的離散共性允許實現物件到物件的變換,例如,汽車變飛機。

 

Unsupervised Learning of 3D Structure from Images[102] 提出了一個完全無監督的生成模型,它首次證明了學習推斷 3D 表徵的可行性。簡而言之,DeepMind 團隊展示了一個「學習 3D 結構的強大深度生成模型,並通過概率推理從 3D 和 2D 影象中恢復這些結構」的模型,這意味著 3D 和 2D 都可以作為輸入。

 

DeepMind 的強大的生成模型可執行在 3D 和 2D 影象上。使用 OpenGL 的基於網格的表示允許構建更多的知識,例如,光線如何影響場景和使用的材料。「使用基於 3D 網格的表示和在迴圈中使用完整的黑盒渲染器進行訓練,可以瞭解物件的顏色、材質和紋理、燈光位置以及其他物件之間的相互作用。」[103]

 

這些模型質量高,可應對不確定性,並適合概率推理,適用於生成 3D 結構和模擬。該團隊在 3D MNIST 和 ShapeNet 上實現了 3D 密度建模的第一個量化基準。這種方法表明,模型可以在 2D 影象上進行端對端的無監督訓練,不需要真實的 3D 標籤。

 

人體姿態估計與關鍵點檢測

 

人體姿態估計試圖找出人體部位的方向和構型。2D 人體姿態估計或關鍵點檢測一般是指定位人體的身體部位,例如找到膝蓋、眼睛、腳等的 2D 位置。

 

然而,三維姿態估計進一步通過在三維空間中找到身體部位的方向,然後可以選擇執行形狀估計/建模。在過去的幾年中,這些子領域有了大幅的進步。

 

在競爭評估方面,「COCO2016 關鍵點挑戰包括同時檢測人員和定位關鍵點」[104]「歐洲計算機視覺國際會議」(ECCV)[105] 提供了有關這些主題的廣泛的文獻,但我們想安利一篇論文:

Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields[106]

 

該方法在首屆 MSCOCO 2016 關鍵挑戰賽上以 60%的平均精度(AP)取得了當前最佳效能,並在 ECCV 上獲得了最佳的演示獎,視訊:https://www.youtube.com/watch?v=pW6nZXeWlGM[107]

 

Keep it SMPL: Automatic Estimation of 3D Human Pose and Shape from a Single Image[108] 這種方法首先預測 2D 人體關節的位置,然後使用另一個稱為 SMPL 的模型來建立 3D 身體形狀網格,從而允許它從 2D 姿態估計理解 3D 形態。3D 網格能夠同時捕捉姿態和形狀,而以前的方法只能得到 2D 人體姿勢。作者提供了一個優秀的視訊,並在視訊中分析了他們的工作:https://www.youtube.com/watch?v=eUnZ2rjxGaE [109]

 

「我們描述了第一種(從一張無約束影象)自動估計人體 3D* *姿態以及 3D* *人體形狀的方法。我們估計一個完整的 3D* *網格,並表明僅僅 2D 關節就攜帶了大量的身體形狀的資訊。由於人體的複雜性、清晰度、遮擋情況、衣服、照明條件以及從 2D 推斷 3D 所固有的模糊性,致使這個問題極具挑戰性。」[110]

 

3D 重建

 

如前所述,前面重點介紹了一些關於重建的例子。但大部分都在關注物體,特別是物體的形狀和姿態。雖然其中有一部分是重建(Reconstruction)技術,但「重建」這個領域本身包括更多不同的型別,例如場景重建、多視點重建、單視點重建、基於運動的重建(SfM)、即時定位與地圖重建(SLAM)等。此外,一些重建方法利用了附加(和多個)感測器與裝置,比如 Event 或 RGB-D 攝像機等,這些方法可以同時分層運用多種技術來推動系統程式。

 

那麼結果如何?整個場景可以非剛性(non-rigidly)地重建,並在時空上進行改變。例如,對你自己的高保真結構以及你的動作可進行實時更新。

 

如前所述,圍繞 2D 影象對映到 3D 空間的問題持續存在。以下文章介紹了建立高保真實時重建的多種方法:

 

Fusion4D: Real-time Performance Capture of Challenging Scenes[111] 轉向計算機圖形學,但是計算機視覺和計算機圖形學之間的相互影響極大。作者使用 RGB-D 和 影象分割作為輸入,形成以三維畫素輸出的實時、多視點重建。

 

0

圖 13:實時反饋的 Fusion4D 案例,來源 Dou et al. (2016, p. 1)[112]。

 

論文筆記:「我們提出了一種實時高質量 4D(即,時空相干)效能捕獲的新方法,允許從多個有噪聲的 RGB-D 相機輸入中進行增量式非剛性重建。我們的系統以實時速率演示了非剛性序列前所未有的重構,包括對大型幀對幀運動和拓撲變化的魯棒性處理。」

 

Fusion4D 建立實時高保真三維畫素表示,在虛擬現實、擴增實境和遠端監控方面的運用令人印象深刻。這項來自微軟的工作可能會徹底改變動作捕捉技術,有可能在體育直播中得到運用。

Real-Time 3D Reconstruction and 6-DoF Tracking with an Event Camera[115] 在 2016 年歐洲計算機視覺會議(ECCV)上獲得最佳論文。作者提出了一種能夠使用單個 Event Camera 實時跟蹤 6D 運動和進行各種重建的新演算法。

 

0

圖 14:實時三維重建示例,來源 Kim et al. (2016, p. 12)[116]。

 

論文筆記:我們的聯合估計演算法在不同方面各種設定的演示如下。(a)輸入事件流的視覺化;(b)估計梯度關鍵幀;(c)具有超高解析度和高動態範圍特性的強度關鍵幀重構;(d)估算深度圖;(e)半密集的 3D 點雲。

 

與傳統相機相比,Event Camera 在計算機視覺領域越發受到研究者的青睞。它的延時更短、能耗更低、動態範圍更大。傳統相機輸出的是一系列的幀,但 Event Camera 輸出的卻是「非同步尖峰流(asynchronous spikes),每一個都與畫素位置、符號、準確時間相對應,指示了何時單個畫素記錄閾值對數強度的變化。」[117]

 

有關 Event Camera 的功能、實時三維重建和 6-DoF 跟蹤的說明,請參閱報告原文的附加資料 [118]。

 

使用單視點進行實時影象繪製和深度估計時,這種方法的表現令人難以置信:

 

「我們提出了一種方法,它可以在僅利用一個簡單的手持式 Event Camera 而不使用其他外加感測的情況下進行實時三維重建,並且可以在無先驗知識的非結構化場景下工作。」

 

Unsupervised CNN for Single View Depth Estimation: Geometry to the Rescue[119] 提出了一種無監督學習方法,訓練深度 CNN 進行單視點預測,其結果可與利用監督學習方法的 SOTA 相比。用於單視點深度預測的傳統深度 CNN 方法需要大量人工標註的資料,但是無監督方法卻無需如此,這證明了無監督方法的價值。作者使用立體聲裝置(stereo-rig),「通過類似於自編碼器」的方式實現了網路訓練。

 

其他未分類的三維重建

 

IM2CAD[120] 描述了「將圖形轉換為 CAD 模型」的過程。CAD 是指計算機輔助設計,是為建築測繪、工程設計、產品設計等領域建立三維場景的主要方法。

 

「給定一個房間的照片和大型的傢俱 CAD 模型資料庫,我們的任務就是重建一個儘可能與照片相似的場景,其中組成場景的物件都從資料庫中提取。」

 

原論文作者提出了一個自動系統,可以「迭代地優化物件的位置和尺度」,從而對來自真實影象的輸入進行最佳匹配。繪製的場景通過使用深度 CNN 作為度量方法驗證與原始影象的差別。

 

0

圖 15:IM2CAD 渲染臥室場景的例子,其中左側為真實的輸入影象,右為根據輸入影象和 IM2CAD 自動建立的 CAD 模型。來源 Izadinia et al. (2016, p. 10) [121]。

 

為何關注 IM2CAD?

 

作者所處理的問題是 Lawrence Roberts 在 1963 年展示的首進步創技術之一,意義重大。儘管物件是非常簡單的線條圖,它可以在使用已知物件資料庫的情況下推斷 3D 場景。

 

「雖然 Robert 的方法很有遠見,但在計算機視覺超過半個世紀的後續研究中,還是沒能使他的方法走向實際發展,即沒能在真實影象和場景之間可靠地工作。」

 

本文作者介紹了這個問題的一個變形,旨在利用「3D 目標模型資料庫中的物件」,從照片當中重建高保真的場景。

 

IM2CAD 的流程主要涉及和包含以下部分:

 

 

  • 一個進行了端到端訓練的全卷積網路,用於尋找用於空間幾何估計的幾何特徵。
  • 用於目標檢測的 Faster R-CNN。
  • 在找到圖片內的物件之後,找尋 ShapeNet 庫中與檢測物件最接近的 CAD 模型,完成 CAD 模型對齊。例如,在給定形狀和近似的姿態之後,找到椅子的型別。每個 3D 模型都會被渲染到 32 個視點,然後利用深度特徵,將其與物件檢測生成的邊界框相比較
  • 場景中的物件佈置
  • Finally Scene Optimization 通過優化渲染場景的攝像機檢視與輸入圖片的視覺相似性,進行物件佈置的進一步優化。

 

 

同樣地,在這個領域中,ShapeNet 意義重大:

 

「首先,我們利用 ShapeNet,其中包含上百萬個物件的 3D 模型,包括上千種不同的桌子、椅子和其他家居用品。這個資料集是使 3D 場景理解研究改變的關鍵,也是使得我們的工作成為可能的關鍵。」

 

 

  • Learning Motion Patterns in Videos[123] 使用合成視訊序列訓練網路,提出了一種解決測量獨立於相機移動的物件移動的方式。「我們方案的核心是全卷積網路,它完全通過合成視訊序列、標註視覺流和運動分割來學習。」作者在新的移動物件分割資料集 DAVIS [124] 中測試了他們的方式,同樣也在伯克利的移動分割資料集中進行了測試。測試顯示,該方案在兩個資料集中都實現了 SOTA。
  • Deep Image Homography Estimation[125] 來自 Magic Leap,一個進行計算機視覺和混合視覺研究的美國初創團隊。作者將單應性(homography)估計的任務重新歸類為「學習問題」,並且提出了兩種深度 CNN 架構,形成了「HomographyNet:一個直接估算實時單應性引數的迴歸網路,和一個提供量化單應矩陣分佈的分類網路」。

 

 

單應性(homography)這個術語來自投影幾何,指的是將一個平面對映到另一個平面的一種變換。「從一對影象中估計 2D 單應性是計算機視覺領域的一項基本任務,也是單眼 SLAM 系統中的重要部分。」

 

作者還提供了從真實影象(例如 MS-COCO)的現有資料集中生成「近無限」資料集的方案,這彌補了深度網路大量的數集需求。他們設法「通過在大型影象資料集中應用隨機投影變換,建立近無限多個標記訓練樣例」。

 

 

  • gvnn: Neural Network Library for Geometric Computer Vision[126] 為 Torch(一種機器學習的流行計算框架)引入了一種新的神經網路庫。Gvnn 的旨在「消除經典計算機幾何視覺和深度學習之間的差距」。Gvnn 庫允許開發者在已有的網路和訓練方法的基礎上加入幾何功能。

 

 

「在這個工作中,我們依賴原本在空間變換網路上提出的 2D 變換層,提供了進行幾何變換的多種新型擴充套件,它們常用於計算機幾何視覺中。」

「通過引數變換來調整影象重建誤差,這給學習幾何變換的不變性開闢了應用,可被用於地點識別、端到端視覺測量、深度估計和無監督學習等領域。」

 

結語

 

在這一整節中,我們廣泛瞭解了 3D 理解領域,主要關注了姿態估計、重建、深度估計和單應性矩陣四部分內容。但是由於字數的限制,還有很多精彩的工作被我們忽略了。因此,我們是在為讀者提供一個寶貴的出發點,但不是絕對涵蓋了所有領域。

 

大部分突出的工作可以被歸類於幾何視覺,它通常處理真實世界數量的測量,比如從圖片中直接得出的距離、形狀、面積、體積。我們獲得的啟發是,基於識別的任務和通常關注幾何視覺的應用有一些不同,它們更關注高階的語義資訊。然而我們發現,三維理解的不同領域往往是密不可分的。

 

即時定位與地圖重建(SLAM)是最大的幾何問題之一。研究人員正在考慮,SLAM 是否會成為深度學習所面臨的下一個主要問題。很多懷疑所謂深度學習「普適性」的研究者指出了 SLAM 作為演算法的重要性與功能:

 

「視覺 SLAM 演算法能夠在跟蹤攝像機位置和方向的同時,建立世界的 3D 地圖。」[127] SLAM 方法的幾何估計部分目前不太適合深度學習手段,端到端學習同樣也不太可能。SLAM 是機器人學最重要的演算法之一,而且它是根據計算機視覺領域大量的輸入這一特徵來設計的。該技術在谷歌地圖、自動駕駛汽車、類似 Google Tango[128] 的 AR 裝置、甚至火星漫遊車中都有應用。

 

此外,Tomasz Malisiewicz 提供了著名人士關於這個問題的彙總意見。他們同意「語義性是建立更大、更好的 SLAM 系統所必須的。」[129] 這表明了一種潛在的前景,即深度學習未來可能應用在 SLAM 領域。

 

我們聯絡了 Plink and Pointy 的聯合創始人 Mark Cummins,他在博士期間鑽研 SLAM 技術。對以上問題,他提供了自己的看法:

 

「利用現有手段,SLAM 的核心幾何估計部分得到了很好的處理。但是,高階語義和低階系統組成都能受益於深度學習。尤其是:

 

深度學習能極大地提高地圖語義的質量,即超越姿勢和點雲,並充分理解地圖中不同型別的物件或區域。這對於許多應用而言有著更加強大的功能,並且有助於實現通用的魯棒性。(例如,通過更好地處理動態物件和環境改變)

 

在低層次,許多元件可以通過深度學習得到改善。其中主要包括:地點識別、閉環檢測、重新定位、針對稀疏 SLAM 方法更好地進行點描述等。

 

總的來說,SLAM 解決方案的結構可能保持不變,但是在元件上可能有一些改進。「大家可能希望用深度學習做一些全新的、根本上的改變,例如完全扔掉幾何圖形、建立更基於識別的導航系統。但是對於目標是精確幾何地圖的系統而言,SLAM 中的深度學習可能更傾向於改進元件,而不是做一些全新的事情。」

 

總而言之,我們相信 SLAM 不太可能完全被深度學習取代。但是,未來這兩種途徑很可能變得互補。

相關文章