[ML筆記] 3D Vision

 

3D Vision

1. 本篇是台大電機王鈺強老師 DLCV 課程筆記
2. 課程網站: http://vllab.ee.ntu.edu.tw/dlcv.html
3. 本篇主要紀錄 3D Vision 領域相關的技術概念

如何表示 3D 的影像?

  • Multi-view RGB-D images 用超多不同角度的圖片表示,加入深度資訊
  • Voxels 用一格小方塊小方塊去紀錄,物體是否有佔據這個空間位置
  • Polygen Mesh 利用很多小三角形
  • Point Cloud 一堆點的集合
    • set of points 每個 point 是一個 (x,y,z) 座標
    • 至於 set 裡面每個點存放的順序不影響整張圖
      因此對於同一張3D圖,資料點存放的順序資訊可能會有很大的差異

3D Perception

想想看 CNN 是否可以用在以下 3D 資料當中

  1. Multi-view RGB-D images -> 可以
    因為 input 就是一串 set 的影像
  2. Voxels 用很多小格子 -> 可以
    但要做不同方向的 CNN
  3. Mesh -> 不行
  4. Point Cloud -> 不行

Multi-view Images

Multi-View(MV)
MVCNN:

Voxels

用很多小方塊來表示物體,如果物體有出現在方塊中就記錄為 1 反之為 0

可以做 x,y,z 三個方向的 Convolution

但需要花很多 memory 去存每一個 voxel

Point Cloud

特性

  1. Set of points
  2. un-ordered set
  3. each point (x,y,z)
    因此如果有 N 個點,就是一個 N×3 matrix

PointNet

處理 Point Cloud 的資訊


input N 個點,每個點維度是 3 (x,y,z)
把 N 個點過很多 NLP 轉換成 1024 維度的 feature
再對每一個 feature 維度去做 pooling

限制:沒有辦法描述顏色資訊

3D R2N2 for Voxel Reconstruction

3D Recurrent Reconstruction Neural Network (3D-R2N2)
利用 auto encoder 搭配 LSTM 來重建影像
這樣的好處是,input 可以同時支援 single image 與 multiple image

Point Set Generation

目標: input 2D 影像
output: 3D 影像 point set

Loss function: Chamfer distance
S1, S2 代表兩個 set 兩個點集合
S1 代表 prediction output
S2 代表 ground truth output

分別去看對於 S2 裡面每個點跟 S1 裡面每個點的距離
以及 對於 S1 裡面每個點跟 S2 裡面每個點的距離
這樣的好處是, S1 跟 S2 的維度可以不同!

NeRF: Representing Scenes as Neural Radiance Field

目標:
給幾個視角的影像
要把背後的 implicit function 找出來
然後生成其他視角的樣子
perform novel view synthesis

Input:
multi-view images + camera poses

Output:
3D representation (neural radiance field)

給空間中的點,加上 θ 跟 ϕ 代表角度資訊,σ 跟空間中的位置有關

過一個 Deep learning 的 Function 去學中間的 implicit function

NeRF 的限制:
只能 train 在同一個場景
需要同一個場景下多角度圖片

關於 NeRF 的詳細設計附上 Paper 連結

https://arxiv.org/pdf/2003.08934.pdf


相關文章整理

留言

這個網誌中的熱門文章

[筆記] CRLF跟LF之區別 --- 隱形的 bug

[ML筆記] Batch Normalization

[筆記] 統計實習(1) SAS 基礎用法 (匯入資料並另存SAS新檔,SUBSTR,計算總和與平均,BMI)

[ML筆記] Ensemble - Bagging, Boosting & Stacking