30
好好好好 CV 好好 - 好好好好好 CV 好好 2 3. 好好好好好好好

好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

  • Upload
    alaina

  • View
    69

  • Download
    2

Embed Size (px)

DESCRIPTION

好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2. 3. 常見問題與解答. 為什麼有這份投影片呢 ?. 聽說助教好弱什麼都不會耶 … 聽說助教一天要睡滿 12 個小時不然會亂講話 … 老師說他同樣的東西講好幾遍為什麼還是有人要來把助教問倒 …. 助教要勞跑回台北了 ~. 目的. 搞定一些常見問題 + 投影片寫的比較不清楚的地方 ( 不過有補充也不一定會比較清楚 …) 證明其實助教是懂的 !!. Q0: 請問助教 , 作業 2 可以送分嗎 ?. A:…. 你想轉學去加拿大嗎 ?. Q1: 分數最後到底是怎麼分配呢 ?. DP:70% - PowerPoint PPT Presentation

Citation preview

Page 1: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 23. 常見問題與解答

Page 2: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

為什麼有這份投影片呢 ?聽說助教好弱什麼都不會耶…聽說助教一天要睡滿 12 個小時不然會

亂講話…老師說他同樣的東西講好幾遍為什麼

還是有人要來把助教問倒… .助教要勞跑回台北了 ~

Page 3: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

目的搞定一些常見問題 + 投影片寫的比較

不清楚的地方 ( 不過有補充也不一定會比較清楚… )

證明其實助教是懂的 !!

Page 4: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q0: 請問助教 , 作業 2 可以送分嗎 ?A:…. 你想轉學去加拿大嗎 ?

Page 5: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q1: 分數最後到底是怎麼分配呢 ?

DP:70%◦對圖 1 跟圖 2 這兩組圖 , 利用 DP 還原出

深度值 , 之後輸出成 obj檔 .◦助教會視成果好壞跟報告的完整度適當的

給與加分 .◦拜託請至少做完這部份吧…

Essential Matrix:20%◦只要解出 Essential Matrix 就可以了嗎 ?◦想太多… .

Page 6: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q1: 分數最後到底是怎麼分配呢 ?

◦這裡指的是如果你不想做 Rectification, 那也可以只利用 Essential Matrix 去找出對應的 Epipolar line, 再用 ( 有點特別的 )DP去找出兩張圖間的對應點 , 再用講義上的公式 or 向量交點 or 其他做法去還原出深度值…打都覺得好麻煩 = =

◦一樣要輸出成 obj 檔…Rectification:20%

◦只要把兩張圖的 epipolar line 轉成平行 , 就可以直接用簡單的 DP 去找對應點還原深度值喔 ~

Page 7: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q2: 所以我如果目標想拿 110 分的話… ?你要用兩種方法 ( 不 rectification 下

的 2-view approach, 跟rectification 後的簡單的 DP) 各做一次還原圖 3, 圖 4 的座標值 .

….. 加油 ._./

Page 8: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q3: 可是…第三組圖好像本來就已經是平行 view 了耶…哈哈哈… .那是助教放錯故意放的 !! 這樣你們就

可以看到平行 view 的時候 R 跟 T 應該會是什麼值了 , 可以用來檢查你 RT 算的對不對 ! ( 有人會相信嗎… )

所以後面的兩個 20% 主要是看第四張圖的成果喔 ~

Page 9: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q4: 請問助教 , DP 時如果 p 跟 q 的disparity =0 該怎麼辦 ?你算錯了 ( 一秒 )正常來說兩對應點不可能 disparity

=0 (why? 想一下兩個平行的 view 去看同個場景 , 會有任何一個 3D 點投在兩個 view 的同個位子上嗎 ?)

真的 DP 出來這樣就給個 1 之類的吧 = =

Page 10: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q5: 可以請助教講解一下不Rectification 的做法嗎 ?老師投影片中 Ch8_2 其實就是詳細做

法了…照著步驟一步一步做就好 :P7. 用 8-point algorithm 去找出

Essential Matrix.(PS: 8-point 是騙人的 = = 要有好結果請多找幾個… .來個 60 個以上吧 XD)◦先用肉眼找出兩張圖之間夠多組的對應點

( 左邊的 (20,40) 對右邊的 (50,100) 之類的… ), 然後代入 P7 的 uv 去算出 E.

Page 11: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q5: 可以請助教講解一下不Rectification 的做法嗎 ?-2P8: 因為 E’T=0 (why? 因為 E=TxR

其中 Tx 是 T 的 cross product form, 所以 E’T 相當於 T 跟 T 自己 cross 所以 =0, 請看 P8 中間小藍框 ), 所以這裡用 least-square 的方法取出最接近的一個 T 值 ( 定 T 長度 =1).

T 可視為兩個 Viewpoint 間連線的方向 , 所以會有方向性 ( 正負號 ).

Page 12: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q5: 可以請助教講解一下不Rectification 的做法嗎 ?-3P9. 因為 E=TxR 所以有了 T 就可以

用來反算出 R, 投影片上是已經把 T cross 拆開的型式所以請直接代入就可以了 .(E1,E2,E3 在前一頁中間小藍框 )

P10.跳過 . 請自我摧眠當作不會有noise存在 ~ 這世界是美好的 .

Page 13: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q5: 可以請助教講解一下不Rectification 的做法嗎 ?-4P11. 判斷 T 的正負號 ( 方向 ). 不過因

為 T 的兩個方向表示從左圖移動到右圖 or 從右圖移動到左圖 , 所以其實這判斷用眼睛看值比較快…

Xi 跟 Xi’ 是兩組對應點 (u,v,1) 跟(u’,v’,1) 這樣 .

到這邊就把 RT 都算出來了 ~接下來要先跳開回到 epipolar line 的

地方 .

Page 14: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q5 : 可以請助教講解一下不Rectification 的做法嗎 ?-5因為已知 , 我們用這個來找

出對應的 epipolar line(記得嗎 ? DP是用來找 epipolar line 上的對應點 )

Page 15: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q5 : 可以請助教講解一下不Rectification 的做法嗎 ?-5

◦考慮左圖中所有的 pixel(x,y) 直到所有點都有被運算到 ( 有被給與一個深度值 ) 為止 :

◦算出 E*p=E*(x,y,1)( 的 transpose), 會得到一個 3*1 的向量 .

◦考慮右圖中所有的 pixel(u,v) 如果 (u,v,1) *Ep=0( 接近 0啦 ..)表示 (u,v) 會存在於(x,y) 對應的 epipolar line 上 , 如此會找到右圖上一條線 .

◦右圖是用圖上的點 2, 點12, 點 13 所找到的 3條 epi-polar line.

Page 16: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q5 : 可以請助教講解一下不Rectification 的做法嗎 ?-6

◦之後對右圖的 epipolar line 上的隨便一點P’(u’,v’,1), 我們反過來考慮左圖 : 先算(u’,v’,1)*E 得到 3*1 向量 , 再把左圖中所有的 P(x’,y’) 寫成 (x’,y’,1)( 的transpose), 去算 P’EP, P’EP=0(或很小 ) 的所有點也會連成一條直線—這就是左圖和右圖間的對應的 epipolar line.

Page 17: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q5 : 可以請助教講解一下不Rectification 的做法嗎 ?-7之後我們就可以把兩條對應的

epipolar line 的 pixel(或window)排成 M*N矩陣去算 DP 了 . 如此會找到左圖該線上每個點在右圖上的對應點…之後呢 ?

套用 P12 的公式 , Xi 跟 Xi’ 是對應點 ,R 是 R matrix, T0 就是 T, 算出來的 Zi 跟 Zi’表示對兩個不同 view point而言的深度…選一邊做 obj 檔就可以了 .

Page 18: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q5 : 可以請助教講解一下不Rectification 的做法嗎 ?-8這公式因為左圖的 (x,y,1) 對應空間中

(xz,yz,z) 這個點 ( 在左圖的座標軸表示 ),而同個點在右圖中是 (uz’,vz’,z’), 而這兩個可以用 R 跟 T 轉換 , 導一導出來的結果…所以就直接代吧 .

也是有其他方法可以算深度值啦…不要問我 , 我不會 = =

Page 19: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q5 : 可以請助教講解一下不Rectification 的做法嗎 ?-9幾個重點 :

◦Essential Matrix: 用來找出 Epipolar line.

◦DP: 兩條對應的 Epipolar line 間點與點的對應 .

◦RT: 最後要還原深度值的時候會用到 .

連打都覺得手酸…

Page 20: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q6: 助教我放棄第二題了 , 請告訴我轉圖該怎麼做 ?就…轉呀= =投影片上的敘述在 Ch9 的 P62~66.不過以下我要介紹的是老師上課時說

的另外一種方法 ( 座標軸轉換 )

Page 21: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q6a: 助教不管人家想照投影片上的做啦~Q__Q那我講解一下投影片…P64: 目標是把影像轉到與 epipole 平

行 :◦1. 找到 epipole e(F 對應最小

eigenvalue 的 eigenvector, 其實也是兩個 viewpoint 間的連線方向 )

◦2. 找到一個和 epipole 垂直的向量 ( 講義上的 d0, 其實只要跟 e垂直就好 , 湊出來的 )

◦3. 那個很醜的矩陣是以 d0 為軸旋轉 角( 不懂就去 goo”rotate matrix wiki”) 而

Page 22: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q6a: 助教不管人家想照投影片上的做啦~Q__Q-2以上完成對左圖的旋轉矩陣W0.P65: 接下來是把 epipolar line 轉平

行 ,相當於把 轉成 [1 0 0]( 的transpose). 就照著代入就可以了 .

P66: 最後要把兩張圖的座標長度scale 到一樣 , 照上面公式乘出 後會得到 a,b,c 三個值 , 排成像 T 那樣子再乘就可以得到對右圖的旋轉矩陣W1了 .

Page 23: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q6: 助教我放棄第二題了 , 請告訴我轉圖該怎麼做 ?-2殊途同歸 , 其實做起來會很像…我們取 T=[e0 e1 e2] 當做新座標軸

的 x軸 , 找到跟他垂直的新 Y軸跟新Z軸 :

T

Te 1

Txy

yx

TTTT

e ]0,,[1

222

213 eee

T

T

T

rect

e

e

e

R

3

2

1

Page 24: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q6: 助教我放棄第二題了 , 請告訴我轉圖該怎麼做 ?-2構成的 Rrect 就會是座標軸轉換的矩陣 , 直接就是 W0 了 .

而這時 W1 = T*R*W0, R T 跟 P65 P66 的 RT 一樣 , 用來做轉 epipole/scale 的 .

如此也可以做到轉圖的效果喔 ~W1 有其他算法…請參考後面列的參考資料 = =+

Page 25: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q7: 我做起來效果不好耶…有幾個可能 :DP 的部份…

◦1.Occ設太大或太小 , 這跟 cost function 有關 , 多調幾個值看看吧 .

◦2.window size 太小 ,突出的雜點會很多 .◦3. 找不到對應點的情況 ( 找不到 ? 隨便給個深

度呀 ! 跟隔壁點的深度一樣之類的就可以了 )◦4. 寫錯 . 自己 debug…◦5.B 的值給太大 : 如果 B 照實際給的話 , 最後

obj 檔的深度會很大 , 看起來會變一長條 , 所以B 如果給小一點 , 會讓 obj 檔比較好看一點點…

Page 26: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q7: 我做起來效果不好耶… -2Essential Matrix/Rectification 的部份 :

◦1.試看看把座標 normalize(或者不要normalize, 都有會比較好或比較差的情況 )

◦2. 一開始的 Essential Matrix 就算錯了 (節哀 )◦3. 找出來的 epipolar line差很多 -> 請看 2.◦4. 多找幾個點有好沒壞…◦5. 就算 RT沒有很準也可以做啦…效果比較不好而已 .( 有人做過之後跟我說的 , 不正確請打他 )

◦6. 轉圖有黑點 . 請用 inverse mapping( 不是把x,y 轉到新的 x’,y’,而是對 x’,y’ 的位置去原圖找一個 pixel 的顏色填上去 )

Page 27: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q8: 那報告裡面要寫些什麼呢 ?你做這次作業的心酸血淚史…寫到讓

我哭的會加分 Q__Q心得和做法敘述當然一定要的啦~ 有

什麼特別的做法也請一起寫進去 .請附上 obj 檔 + 每組圖一張深度圖的

影像 ( 像這個樣子 )

Page 28: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q8: 我如果只做了其中一部份怎麼辦… QQ助教會斟酌給分的 .有算 Essential Matrix +3, 有解出

RT +5, 有算 Epipolar Line+2 之類的…

當然這種時候就要看報告寫的認不認真啦…

Page 29: 好孩子的 CV 教室 - 輕輕鬆鬆寫 CV 作業 2

Q9: 助教作業可不可以延期Q__Q

當然不行 !!

嘛…不過因為我 Server 大概禮拜天才會關… . 所以禮拜天晚上 12 點以前交的我都當做是準時交喔 ~

也就是延到禮拜天啦 如果你們還想做的話 = =