single-view video to multi-view video

28
Single-view Video To Multi- view Video 台台台台台 台台台 , 台台台 台台台台 : 台台台台台

Upload: carson

Post on 23-Feb-2016

70 views

Category:

Documents


0 download

DESCRIPTION

Single-view Video To Multi-view Video. 台大資工系 黃 昱 翔 , 黃彥翔 指導教授 : 莊永裕老師. Goal. 把 2D 所拍攝的靜物 影片, 經由建構出虛擬 cameras 的方法 ,模擬人類雙眼 視覺的效果,再利用 雙 眼 視差, 經過處理,產生 出 新的 3D 的影片 。. Procedure. Camera Path Tracking & Feature Points Detecting Virtual Camera Path Generating Feature Points Projecting - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Single-view Video To Multi-view Video

Single-view Video To Multi-view Video

台大資工系 黃昱翔 , 黃彥翔指導教授 : 莊永裕老師

Page 2: Single-view Video To Multi-view Video

Goal

• 把 2D 所拍攝的靜物影片,經由建構出虛擬cameras 的方法,模擬人類雙眼視覺的效果,再利用雙眼視差,經過處理,產生出新的3D 的影片。

Page 3: Single-view Video To Multi-view Video

Procedure

• Camera Path Tracking & Feature Points Detecting

• Virtual Camera Path Generating

• Feature Points Projecting

• Image Warping (frame by frame)

• Combine to a new 3D video

Page 4: Single-view Video To Multi-view Video

Camera Path Tracking & Feature Points Detecting

• Structure from Motion~• To figure out the camera path

切成一張張 tga 圖片

Page 5: Single-view Video To Multi-view Video

Camera Path Tracking & Feature Points Detecting

• 經過 parse 這些 output 檔可以得到 camera 位置以及其座標系、 features的 3D 位置、哪幾個 frame 存在哪些 feature 、相機焦距等等資訊等等備用

Page 6: Single-view Video To Multi-view Video

Virtual Camera Path Generating

• 由取出的 camera 位置往其水平方向各延伸出一單位長的距離建造 virtual cameras

Page 7: Single-view Video To Multi-view Video

Feature Points Projecting

• 再以以下公式將該 frame 所有 feature points投影到兩個 virtual cameras• # [ x' ] = [f/sx   0   ppx] [ H0x H0y H0z ] [ 1 0 0 -Cx] [ X ]• # [ y' ] = [0    f/sy   ppy] [ V0x V0y V0z ] [ 0 1 0 -Cy] [ Y ]• # [ z' ] = [0 0 1 ] [ Ax Ay Az ] [ 0 0 1 -Cz] [ Z ]• # [ 1 ]

• 得到兩張新的 feature points 圖 以及與原圖的對應關係

Page 8: Single-view Video To Multi-view Video

Content-Preserving Warps for 3D Video Stabilization

Feng LiuMichael Gleicher

Hailin JinAseem Agarwala

Page 9: Single-view Video To Multi-view Video

Prerequisite

• 用影片拍靜物。• 用 voodoo 找出 camera 路徑和 feature 位置。• 在 camera 的左右邊各生出虛擬相機,當左右眼。– 眼睛聚焦看 (stare)– 眼睛平行看 (parallel)

• 把物體置中,紀錄 feature 點的位置。– X Y XR YR XL YL

• Feature 在原本相機的座標: X , Y • Feature 在右邊虛擬相機的座標: XR , YR • Feature 在左邊虛擬相機的座標: XL , YL

Page 10: Single-view Video To Multi-view Video

238.697 126.068 155.048 126.068 322.346 126.068274.984 117.66 192.123 117.66 357.846 117.66324.192 89.1555 244.748 89.1555 403.636 89.1555440.074 70.5983 364.159 70.5983 515.99 70.5983317.985 67.7392 243.452 67.7392 392.518 67.7392319.242 196.682 241.479 196.682 397.004 196.682302.043 59.8351 229.323 59.8351 374.762 59.8351384.629 115.924 298.994 115.924 470.265 115.924329.483 76.4908 252.881 76.4908 406.085 76.4908148.948 53.4643 105.444 53.4643 192.453 53.4643315.921 156.882 235.337 156.882 396.506 156.882293.051 108.342 210.254 108.342 375.849 108.342161.912 47.6016 117.539 47.6016 206.284 47.6016405.702 130.359 317.013 130.359 494.392 130.359

Page 11: Single-view Video To Multi-view Video

Procedure• Pre-warping– Cut input image into square grids– Geometry relation between grid and feature point– Find homography

• Content-Preserving Warp– Data term– Similar transform term (smooth term)– Optimization

• Texture Mapping

Page 12: Single-view Video To Multi-view Video

Cut input image into square grids

640 pixels

480 pixels

20 grids

15 grids

32 x 32Grid

Grid 左上角的座標 (x, y)

共 15 x 20 = 300 個格子,共 (15+1) x (20+1) = 336 個格子點。

Page 13: Single-view Video To Multi-view Video

Geometry relation between grid and feature point

• 紀錄 feature 點在哪個 grid 裡面。• 紀錄 feature 點在該 grid 裡面的位置關係。

V1

V4 V3

V2

P

L12

L14

W[2]W[3]

W[0] W[1]

Page 14: Single-view Video To Multi-view Video

Find Homography• An initial guess• Input:– 原本圖片的 feature 點座標– 左眼 / 右眼的 feature 點座標

• Output:– A 3x3 Homography matrix

Page 15: Single-view Video To Multi-view Video

Find Homography• 原本圖片的 feature 點,想要 warp 到左眼或右眼相機裡 feature 點的位置。

homographymatrix

3x3

238.697 126.068274.984 117.66324.192 89.1555440.074 70.5983317.985 67.7392319.242 196.682302.043 59.8351384.629 115.924329.483 76.4908148.948 53.4643315.921 156.882293.051 108.342161.912 47.6016405.702 130.359

#feature x 2

155.048 126.068192.123 117.66244.748 89.1555364.159 70.5983243.452 67.7392241.479 196.682229.323 59.8351298.994 115.924252.881 76.4908105.444 53.4643235.337 156.882210.254 108.342117.539 47.6016317.013 130.359

#feature x 2

Page 16: Single-view Video To Multi-view Video

Result of Pre-warping

Page 17: Single-view Video To Multi-view Video

Procedure• Pre-warping– Cut input image into square grids– Geometry relation between grid and feature point– Find homography

• Content-Preserving Warp– Data term– Similar transform term (smooth term)– Optimization

• Texture Mapping

Page 18: Single-view Video To Multi-view Video

Data Term• 主要限定格子點位置的 term ,定義格子點與 feature 之關係– 所屬 grid 的四周頂點座標 (Vk)

– 在 grid 裡面的位置關係 (wkT)

– 新的 feature 在 grid 裡,位置 (wk) 應和原本差不多

Pk  是左眼或右眼 feature 點的位置

Page 19: Single-view Video To Multi-view Video

填矩陣20 個格子 (21 個格子點 )

15 個格子(16 個格子點 )

2 x 21 x 16 = 672

2 x n

新的格子點座標

(InitialGuess 改過的 )Feature座標

Ax b

Page 20: Single-view Video To Multi-view Video

Similar Transform Term• Warp 之後,保持格子點之間的相互位置關係不要變化太多而造成扭曲。– 找出原本格子點 V1, V2, V3 的相互位置關係– 新的格子點 V1’, V2’, V3’ 希望也具有這樣的關係

Ws = Salience of the grid= Var(intensity of pixels in the grid) + 0.5

V1

V2 V3

Page 21: Single-view Video To Multi-view Video

找格子點相互位置關係 ( 找 u,v)

u

v

V1

V3

V2

u, v 即格子點之間的相互位置關係

V1 V3

V3

V3

V3

V2 V2

V2V2

Page 22: Single-view Video To Multi-view Video

同理 ,

Page 23: Single-view Video To Multi-view Video

新的格子點也要符合 u, v

2 x 21 x 16 = 672

672( 每個點輪流當V1)

* 每個點要把所有鄰居的 constrain加起來,以下只包含一個 constrain。

A x b

Page 24: Single-view Video To Multi-view Video

Optimization

• – α: smoothness weight– A linear system in Ax=b form• can be easily solved by using SVD

sd EEE

Page 25: Single-view Video To Multi-view Video

Optimization2 x 21 x 16 = 672

672

2xn

解出的 x 矩陣就是新的格子點座標。A x b

Page 26: Single-view Video To Multi-view Video

Procedure• Pre-warping– Cut input image into square grids– Geometry relation between grid and feature point– Find homography

• Content-Preserving Warp– Data term– Similar transform term (smooth term)– Optimization

• Texture Mapping

Page 27: Single-view Video To Multi-view Video

Texture Mapping

• Input:– 新格子點座標 ( 上一步得到的 x 矩陣 )– 存成 OpenGL texture 的原圖

• 一格一格貼

Page 28: Single-view Video To Multi-view Video

Combine to a new 3D video

• demo