當前位置:
首頁 > 知識 > Google AI提出物體識別新方法:端到端發現同類物體最優3D關鍵點——NeurIPS 2018提前看

Google AI提出物體識別新方法:端到端發現同類物體最優3D關鍵點——NeurIPS 2018提前看

機器之心原創

作者:Olli Huang

編輯:Hao

編譯:李詩萌

本文介紹了 Google AI 的一篇 NeurIPS 2018 論文《Discovery of Latent 3D Keypoints via End-to-end Geometric Reasoning》。

論文鏈接:https://arxiv.org/pdf/1807.03146.pdf

技術分析師個人簡介

本文作者 Olli Huang 是澳門科技大學的一名博士研究生,她的研究方向是大規模圖像檢索 (large-scale image retrieval) 和圖像的地理位置估計 (visual-based image geolocalization)。Olli 於 2017 年加入了機器之心的全球團隊,並以自由撰稿人的身份,發表了多篇計算機視覺應用的英文技術評論。

這篇被 NeurIPS 2018 接收的文章,有什麼看點?

這篇文章的作者之一,Noah Snavely(他的個人主頁:http://www.cs.cornell.edu/~snavely/),是計算機視覺領域中很活躍的研究人員。他的主要貢獻之一是開發了 SfM(Structure-from-Motion,運動恢復結構)系統 [1],解決了基於圖像的場景重建問題。SfM 已經應用在一些其他領域中,比如姿勢估計 (pose estimation) 或位置識別 (location recognition) [2]。

這篇被 NeurIPS 2018 接收的文章,有什麼優點和不足?

優點

文章的研究問題很有趣,目標是尋找針對特定 3D 物體類型 (比如,飛機) 的最佳關鍵點。簡而言之,無論輸入什麼姿態的 3D 飛機圖像,這個框架都應該能夠找到,幫助成功識別物體類型的關鍵點。本文提出了名為「KeypointNet」的端到端框架,用於 3D 物體類型識別。最有意思的是,本文還展示了使用 KeypointNet 得到的 3D 物體類型識別的部分可視化結果。

不足

這篇文章寫得不太容易讀懂。在第一次閱讀這篇文章時,讀者可能會弄不清作者到底是想要解決「3D 關鍵點檢測」的問題還是「物體類型識別」的問題。事實上,作者想要「一石二鳥」,利用一個端到端框架為一個下游視覺任務——物體類型識別——發現潛在的 3D 關鍵點。

如果你是 NeurIPS 2018 的評審,你認為這篇文章應該被大會接受嗎?

這會是個艱難的決定。但就這篇文章而言,我傾向於說 YES!

從貢獻的角度上講,這篇文章展示了一個全新的框架——KeypointNet——在 3D 物體模型的人工合成數據集上,解決「物體類型識別」問題的能力。文章如果能夠展示,在大型的真實數據集上獲到的更多實驗結果(而不僅僅是附錄中的 9 個實驗結果的話),技術貢獻會更大,也更讓人信服。

1. 本文的亮點

在給定已知類型的物體圖像時(比如,一張飛機的圖像),KeypointNet 框架將會無監督發現 3D 關鍵點(由像素坐標(pixel coordinates)和深度值(depth values)定義)的有序列表,用於最終的物體類型識別任務。這些關鍵點是特徵表徵(feature representations)的構建塊,在姿勢識別,或是多姿態物體識別(pose-aware or pose-invariant object recognition)中非常有效。

與有監督的方法不同,該框架在學習從一張圖像到標註關鍵點(annotated keypoints)列表的映射時,並沒有將關鍵點位置定義為先驗,而是針對 3D 姿勢估計這一下游任務,對這些關鍵點進行優化選擇。

在訓練階段,當輸入同一個物體的兩個不同視角圖像,以及已知的剛體變化 T (rigid transformation T),目標是輸出用於物體姿勢識別的最優關鍵點預測列表,P1 和 P2。利用 P1 和 P2 這兩個列表,能夠進行從物體的一個視角到另一視角的最佳匹配,如圖 1 所示。KeypointNet 提出了能夠優化從圖到關鍵點列表映射的目標函數 O(P1,P2),這一目標函數包含了兩個必要的組件——多視角一致性(multi-view consistency)和相對姿勢估計(relative pose estimation)。

圖 1:在訓練 (training) 過程中,將同一個物體的兩個視角圖像作為 KeypointNet 的輸入。兩個視角之間的剛體變化(R,t)是指導信號 (supervisory signal)。KeypointNet 優化了在兩個視角中有一致性,並且能夠用於剛體變化恢復的,3D 關鍵點的有序列表。而在推理 (inference) 過程中,KeypointNet 將從單一輸入圖像中提取了 3D 關鍵點,再進行物體類型的識別。

下文將簡要介紹一些必要的先決條件和要點,以便讀者進一步了解 KeypointNet 框架。

注釋

每一個訓練 tuple 中都包括一對圖像(I,I"),即同一個目標的兩個不同視角圖像。此外,我們已知它們的相對剛性變換 T。T 用於從 I 到 I" 的 3D 形狀轉換。T 的矩陣形式如下:

(1) 式中 R 和 t 分別表示 3D 旋轉 (rotation) 和轉換 (translation)。我們想要學習一個函數 f_θ(I),並通過優化它的目標函數 O(f_θ(I), f_θ(I")),用於完成從一張 2D 圖像 I 到一個 3D 關鍵點列表 P = (p_1,…p_n) 的映射,其中,p_i =(u_i,v_i,z_i)。

1.1 多視角一致性(multi-view consistency)

多視角一致性損失函數(multi-view consistency loss),衡量的是兩張圖片的關鍵點之間的差異。使用這一個函數的目的是,確保關鍵點能夠在不同視角下,追蹤物體相同的部分。具體而言,第一張圖中的 3D 關鍵點的坐標,應該與第二張圖中對應關鍵點的坐標一致。此外,文章的一個假設是,透視相機模型的全局焦距為 f。如下文所示,作者用 [x,y,z] 標記 3D 坐標(3D coordinates),並用 [u,v] 標記像素坐標(pixel coordinates)。關鍵點 [u,v,z] 從圖像 I 到 I"(反之亦然)的投影是通過下面的投影運算得到的:

式中 u"^表示 u 到第二張圖片的投影,而 u^ 代表 u』 到第一張圖片的投影。式中,π:R^4R^4 表示將相機的 3D 坐標 [x,y,z,1]^T 映射到像素位置(並加上深度值)的透視投影運算:

文章還定義了對稱多視角損失函數(symmetric multi-view consistency loss),標記為 L_con :

面對同一個物體的不同視角圖像,通過確保多視角一致性,足以推斷出 2D 關鍵點位置(和深度值)。但是,單純依賴一致性並不能保證方法的有效性。比如,關鍵點通常會指向同一個位置。因此,作者指出了「最優性概念」(a notion of optimality),它會根據特定的下游任務(比如,3D 姿勢估計)選擇關鍵點。文章中,作者將「姿勢估計」作為下游任務,用於促進關鍵點的分離,從而避免關鍵點指向同一個位置。

1.2 相對姿勢估計(relative pose estimation)

相對姿勢估計損失函數,用於「懲罰」P1 到 P2 的真實旋轉 R 與恢復旋轉 R^ 之間的角度差距(angular difference)。而如何恢復旋轉 R^,也被稱為 Orthogonal Procrustes 問題 [3]。

值得注意的是,圖像到關鍵點映射的一個重要特性是,像素級的等效轉換(translation equivariance)。例如,如果輸入圖像向左移動了一個像素,所有關鍵點的輸出位置也應該改變一個單位。KeypointNet 使用空間 softmax 層 (spatial softmax layer),輸出一個概率分布 g_i (u,v),用於表示關鍵點 i 在像素(u,v)處出現的可能性。利用等式(2),可以利用空間分布的期望值(expected values of the spatial distributions),計算出恢復後的像素坐標。

此外,在使用等式(3)計算坐標 z 之前,需要首先預測每個像素的深度值 d_i(u,v)。

KeypointNet 的轉換等價性和多視角一致性(上文 1.1 節),使得轉換誤差得以避免。作者在以下等式中定義了姿勢估計目標函數,即 L_pose,用于衡量使用兩組關鍵點得到的最優最小二乘估計 R^,與真實旋轉矩陣 R 之間的角距離(angular distance)。

2. 實驗

2.1 在人工合成數據集上的實驗結果

文章作者提供了 KeypointNet 在汽車、椅子和飛機三個物體類型上取得的關鍵點預測結果。作者對所有類的每一張圖,都選取了 10 個關鍵點,用於實驗結果的展示。

圖 2 展示了單一物體多視圖情況下,KeypointNet 的關鍵點預測結果。值得注意的是,有一些視角極具挑戰性,例如,椅子的俯視圖。但 KeypointNet 展示了它在判斷物體方向,以及推測遮擋部分(比如俯視圖中的椅腿)的能力。

如圖 3 所示,KeypointNet 進一步展示了預測遮擋部分的能力。需要指出的是,圖 3 中的物體圖片並沒有用於訓練過程中。對於 KeypointNet 來說,預測已知物體類別的全新示例圖片(unseen instances),更具挑戰性。

圖 3:KeypointNet 在 ShapeNet [5] 汽車、飛機和椅子三個類別取得的關鍵點預測結果。KeypointNet 在面對訓練中未曾見過的圖片實例時(而這些實例在外觀和形狀存在各種變化),仍舊能夠預測物體被遮擋的部分,例如輪子和椅子腿。

3. 如果你在會場上,你有什麼問題想問文章作者?

問題 1

實驗中有兩個失敗的案例(見文章 6.2 節),揭示了當 KeypointNet 無法正確判斷物體的方向時(例如無法分辨汽車的正面和尾部)時,便無法預測出最優關鍵點。我們應當如何解決由於物體方向判斷失敗,而導致的關鍵點預測錯誤這一問題?

問題 2

你們是否準備在更為大型的真實 3D 物體測試集上評估 KeypointNet?將 KeypointNet 擴展到更具挑戰性的真實數據集時,會存在哪些困難?

參考文獻

[1] Song Cao, and Noah Snavely.「Learning to match images in large-scale collections.」European Conference on Computer Vision. Springer, Berlin, Heidelberg, 2012.

[2] Yunpeng Li, et al.「Worldwide pose estimation using 3d point clouds.」European Conference on Computer Vision. Springer, Berlin, Heidelberg, 2012.

[3] Peter Schonemann. A generalized solution of the orthogonal Procrustes problem. Psychometrika, 1966.

[4] Ross Goroshin, Michael F Mathieu, and Yann LeCun. Learning to linearize under uncertainty. NIPS, 2015.

[5] Angel X. Chang, et al.「ShapeNet: An Information-Rich 3D Model Repository.」arXiv:1512.03012, 2015.

Olli 的機器之心主頁:https://www.jiqizhixin.com/users/84204384-374e-4de0-bfc5-79eee677a8ec

Olli 的 LinkedIn 主頁:https://www.linkedin.com/in/ollihuang

本文為機器之心原創,轉載請聯繫本公眾號獲得授權。

------------------------------------------------


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

半監督學習也能自動化?南大和第四範式提出Auto-SSL
不用L約束又不會梯度消失的GAN,了解一下?

TAG:機器之心 |