前幾天 meeting 被老師單獨叫過去說:

"黑武士,你知道你這學期要畢業對吧?"


於是乎,為了早點把論文生出來(#)最近看了比較多論文,

其中一個很感興趣的是 3D Spatial Transformer  方法。

這個方法有部分 depened on 2D Spatial Transformer ,

至於 2D Spatial Transformer,李弘毅大師講得很清楚,

我就不多贅述了。

李弘毅老師 – Spatial Transformer Layer

借用一下 2D Spatial Transformer 的架構圖:

Spatial Transformer 架構圖

原本 2D Spatial Transformer 的 Localisation Net 等於 Affine ,

但是因為 3D 嘛,多了一個維度,而且抓特徵的方法不同,就用需要新增兩個方法處理。

首先我們要知道三維任務裡面,我們是拿什麼樣的資料來做處理?

這篇文章以 DGCNN 為主幹,DGCNN 抓特徵的方法就是先假設一張圖有 N 個點。

N 個點裡面,每個點都去做 KNN,假設 K值設為 20,

最後我們就是拿 N*20 個最近鄰居點的三維座標當作特徵,進入網路處理。

KNN 示意圖

知道了要處理的資料長什麼樣子,那就分別來看看 3D Spatial Transformer 的三種方法。

  • Affine & Projective Transformations

這兩個合在一起講,因為相當於 2D Spatial Transformer 的 Affine 功能,

包含 旋轉、縮放、位移,其中 Projective Transformations 是專門處理位移問題。


讓 R 矩陣 代表 Affine , T 矩陣 代表 Projective ,

這兩個矩陣合起來就會變成 M 矩陣,能夠一次處理旋轉、縮放、位移


M矩陣一次處理 旋轉、縮放、位移。

  • Projective Transformations


講到這裡一定又很多人會問了,問我怎麼知道每次投影都會把位移量投回來?

論文明明寫共扼到高次方維度,所以怎樣怎樣才會一樣。

黑武士你又在搞,到底在說什麼?

很簡單,四維的世界人類無法想像,那就用三維投二維來舉例:

假設在三維空間中恆有一 av 向量,

我們希望這組猴死囝仔 av 向量在 xy 平面上恆有一點 xy 座標代表,

這樣我們就知道不管這條 av 向量怎麼跑,我們都有方法辨別。

(口裡面一個子 = ㄐㄧㄢˇ,不用謝了。)

這還只是一條向量,如果很多個向量平行,是不是就能在 xy 平面上投出一個圖案?

再加上我們前面有辦法處理 3D 圖片 的旋轉,

是不是一定程度上能在三維空間得到旋轉與平移的容許值?

讓機器更好辨別哪些 3D 圖片 是一樣的?

  • Deformable Transformations

這邊論文講了一堆說什麼最重要的、可以改變 3D 圖片外觀的,

簡單來說只做了兩件事情:

  1. 融合前後層特徵(第一層為原始三維座標)。
  2. 把融合後的特徵做成 C向量 往下傳播。

原文寫得不是很好,
前面黑色C代表上一層傳遞來的向量,後面紅色C代表往下傳的向量,
兩者是不同內容,避免混淆我就用顏色區分。


以上就是我對於 Spatial Transformer for 3D Point Clouds  的論文理解,

如果大家有不同理解,歡迎底下留言讓我知道。

By wuyiulin

喜歡騎單車的影像算法工程師

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *