2013-02-25 33 views
2

carving a dinosaur)我想創建一個數據集,其中包含從一個物體獲取的36個圖像並估計相應的相機投影矩陣。根據這個項目校準相機的圓形運動

因此我校準我的相機一次像顯示(外在/本徵)用於與根據我已經採取得到的東西36個圖像3種棋盤圖案和現在我要添加圓周運動(rougly 10度)的第一圖像在這裏:當被攝體被旋轉10度的每張圖片

camera poses

我的相機是靜態的。

我該如何做到這一點?手動創建旋轉矩陣並將其添加到我的相機投影矩陣中是否正確?

感謝意見

回答

2

修改旋轉矩陣是不夠的,你需要改變相機的位置。在運動問題的結構中,假設場景是靜止的,而攝像機正在移動。你可以考慮這種情況,因爲只有關係運動很重要。

設外部相機矩陣爲A = R [I | -C],其中C是全局幀中相機中心的位置,R是從全局幀到相機幀的旋轉。讓Ra表示在全局框架中圍繞垂直軸的角度α旋轉。它可以寫成(cos(alpha), - sin(alpha),0; sin(alpha),cos(alpha),0; 0,0,1)。那麼所需的相機矩陣可以計算爲A2 = R2 [I | -C2],其中R2 = R *轉置(Ra)並且C2 = Ra * C。然而,在使用這種方法時應確保兩件事。首先,全局框架的垂直軸必須對應於現實世界的垂直方向。其次,全局框架的起源必須位於相機中心旋轉軸上。後者可以通過將對象放在全局框架的原點來實現。

如果角度測量不準確或全局框架未居中,那麼計算出的外部矩陣也可能不準確。在這種情況下,它可以用作來自運動算法的結構的初始估計。另一種選擇是爲每一幀校準攝像機,而不僅僅是第一幀。

+0

謝謝。出於穩定的原因,我已經考慮過爲每一幀校準相機。你知道有什麼工具可以實現嗎? GML工具箱似乎對每個框架使用一個旋轉的棋盤圖案產生非常不穩定的結果。 – NewProggie 2013-02-26 09:55:31

+0

您使用的是最新版本的GML Toolbox,不是嗎?我使用這個工具箱進行內在的相機校準,結果非常好。您也可以嘗試MRPT相機校準或Matlab的相機校準工具箱。 – user502144 2013-02-26 10:13:55

+1

我可以建議使用從不同點拍攝的棋盤圖像以及旋轉棋盤的圖像。結果可能會更好,因爲在使用僅旋轉棋盤的圖像時可能沒有足夠的信息來恢復內部參數。 – user502144 2013-02-26 10:23:14