基於一維物體的攝像機定標
作者:張正友 IEEE 高級會員
翻譯:西北工業大學 戴玉超
關鍵詞:攝像機定標 定標分類法 定標設備 一維物體 奇異性 退化結構
1.引言
攝像機定標是計算機視覺中爲了從二維圖像中得到變換信息必須的步驟。從照相測量法(1,3)到計算機視覺(8,7,20,6,22,21,15,5)已經做了很多研究工作。根據定標參照物維數,我們將這些標定方法費爲三類:
基於三維參照物的攝像機定標:通過觀察一個三維幾何尺寸精度很高的物體進行定標。定標非常有效(4)。定標參照物通常包括兩個或三個相互垂直的平面。有時,可以使用進行精確已知運動的平面(20),這相當於提供三維參考點。這種方法要求一個昂貴的標定設備和一個精心製作的設置。
基於二維平面模板的定標:這類方法要求從多個不同角度觀察一個平面模板(23,18)。與Tsai的方法不同,這種方法並不需要知道平面的運動。由於幾乎任何人都可以製作這樣的定標模板,攝像機定標的設置相當容易。
自定標:這類方法不使用任何定標參照物被認爲是0維定標技術,因爲只需要圖像點對應信息。僅僅通過在靜態場景中移動攝像機,考慮到場景的剛性,一般而言,兩個約束[15][14]在攝像機的內部參數上通過使用圖像信息。因此,如果由固定內部參數的同一攝像機獲取圖像,三副圖像之間的對應足以恢復內部和外部參數這將使我們可以在一定相似度上重建三維結構(13,10)。儘管不需要定標參照物,仍需要估計大量的參數,這導致更加複雜的鼠須問題。文獻11種對這一領域進行了回顧。
其他的技術包括:垂直方向消陰點[2][12]和根據純轉動定標[9][17]。
使用一維物體進行攝像機定標除了理論意義,實踐中尤其是涉及多攝像機時具有實用價值。爲了標定多攝像機之間的相對幾何關係,需要所有的攝像機可以同時觀察大一定數量的點。這對於三維或二維參照物來講基本是不可能的,尤其是當一個攝像機位於房間前面而另一個位於後面時。而這對於一維物體不是一個問題。例如,我們可以使用從天花板上掉下來的球。
本文結構安排如下:第二部分檢驗使用一維物體進行攝像機定標的設置。第三部分詳細描述如何求解使用一維物體進行攝像機定標。文中得到了封閉形式的解和基於最大似然估計的非線性最小化方法。第四部分提供了計算機仿真數據和實際圖像數據的試驗結果。最後,第五部分總結全文並指出以後的工作。
2.預備知識
我們檢查使用一維物體進行攝像機定標的可能的設置。我們首先介紹本文使用的一些符號表示。
2.1符號
一個二維點表示爲
其中
我們使用
2.2使用自由運動一維定標物體時的設置
我們現在檢查使用一維物體進行攝像機定標的設置。正如第一部分已經提到的,我們需要得到一維物體的多個觀察圖像。不失一般性,我們選擇攝像機座標系定義一維物體;這樣(1)式中
已知距離的兩點。這可能是一個木棒的兩個端點,揮動木棒我們得到一系列的圖像。令
已知距離的三個共線點。通過增加一個額外點,比如C,點未知信息的數量仍然保持不變,5+5N,因爲C與A,B之間的距離已知。對於每一次觀測,我們得到3個圖像點,得到總共6N個方程。標定看上去可行,然而事實上是不行的。這是因爲每一次觀測3個圖像點一定共線。共線性在透視投影時得到保持。我們因此只有五個獨立方程對於每一次觀測。總的獨立方程個數爲5N,仍然少於未知數的個數。攝像機定標仍舊不可能。
四個已知距離的共線點。正如上面,當點的數量從兩個增加到三個時,獨立方程(約束)的數量每一觀測增加一個。如果我們有第四個點,是否我們會有6N個獨立方程?如果這樣的話,因爲未知數的個數不變仍爲5+5N,如果N〉5我們就可以得到足夠多的約束從而可以解決問題。事實是增加的第四個點或更多的點並不能增加獨立方程的個數。對於4個或更多的點獨立方程的個數都是5N。這是由於透視投影變換時交叉比例(cross ratio)保持不變。已知交叉比例和三個共線點,無論它們是在空間中還是在圖像中,其他的點可以精確得到。
2.3一維物體繞一固定點進行攝像機定標時的設置
從上面的討論,無論知道物體上的多少點通過移動一維定標物體進行攝像機定標是不可能的。現在,讓我們考慮一點固定時的情形。不失一般性,點A是固定點而a是相應得圖像點。我們需要三個參數,這是未知的,以確定A在攝像機座標系中的座標,而根據方程(1)圖像點a提供了兩個標量方程。
已知距離的兩點。它們可能是木棍的兩個端點,我們繞固定的一個端點移動木棍。令B爲自由端點,b爲對應得圖像點。對於每一次觀測,我們需要兩個參數以確定直線AB的方向,因此由於B點和A點之間的距離已知B的位置可以確定。給定木棍的N次觀測圖像,我們有5個內部參數,對A有3個參數,需要估計自由端點的2N個參數,總的未知數個數爲8+2N。然而,每一次對於b的觀測每一次提供了兩個方程,我們只有2+2N個方程。攝像機定標是不可能的。
已知距離的三個共線點。正如上一部分所討論的,通過增加一個點,比如C,未知點位置的總個數仍然爲8+2N。對於每一次觀測,b提供兩個方程,但是c只提供一個額外的方程這是由於a,b,c共線。這樣,N次觀測的總方程個數爲2+3N。通過計算點的個數,我們看到如果我們有6次或更多的觀測,我們可以求解攝像機定標問題,在下面我們將仔細討論。
已知距離的共線4點。正如上一部分所討論的,未知量的數目和獨立方程的個數由於交比的不變性而保持不變。這就是說,我們獲得更多的共線點後,攝像機定標的精度將會提高這是由於數據冗餘可以抵抗圖像數據中的噪聲。
3.基於一維物體攝像機定標的求解
在這一部分,我們將詳細描述如何通過對於包含三個共線點而繞其中一個轉動得的一維物體的多次觀測求解攝像機定標問題。我們只考慮最小配置的情況,但是很容易擴展到包含四個或更多共線點的定標物體的情況。
3.1基本方程
根據圖1點A是空間中的固定點,木棍AB繞點A轉動。木棍AB的長度爲L。
點C的位置可以根據點A和B確定,因此
其中
不失一般性,我們選擇攝像機定標系統以定義一維物體;因此,在(1)中
將這些式子代入(3)式從方程兩邊消去
通過在上述方程兩邊進行叉積運算叉乘
進而我們得到
從(2),我們得到
將
這等價於
其中
方程(9)包含未知的內部參數A和固定點A的未知高度
3.2封閉形式的解
令
由此可見注意到矩陣
令
其中
當觀測到一維物體的N幅圖像時,積累n個如(14)這樣的方程我們得到
其中
一旦
這樣,我們可以根據(8)計算
3.3非線性最優化
以上的求解過程是通過最小化一個物理意義並不明確的代數距離得到的。我們可以通過最大似然估計改進結果。
我們得到了一維定標參照物的N幅圖像,定標物體上由3個點。點A是固定的,點B和C可以繞A轉動。假設圖像點中存在獨立同分布的噪聲。最大似然估計可以通過最小化以下函數得到:
其中
需要估計的未知數是:
內參數矩陣A的5個參數
固定點A的三個未知座標參數;
確定點
因此,我們總共有8+2N個未知數。爲了江B,C參數化,我們使用球座標系
其中L是A和B之間已知的距離。點C可以由(3)式確定。因此我們每次觀測只需要兩個額外的參數。
使(17)式最小化是一個非線性最小化問題,這可以使用Levenberg-Marquardt算法求解(Minpack在[16]中這樣做)。這樣需要
3.4估計固定點
在上面的討論中,我們假設固定點A的圖像座標a是已知的。我們現在描述如何通過考慮固定點A在圖像中是否可見來進行檢驗。
固定點不可見。固定點在圖像中不一定可見。沒有可見性要求的攝像機定標技術變得更加通用。在這種情形下,例如可以從天花板上掉一串小球標定房間裏的多個攝像機。固定點可以通過多幅圖像中的相交線得到求解。
每一次對一維物體的觀測定義了一條直線。一條圖像直線可以用一個三維向量
給定一維物體的N幅圖像,我們得到N條直線:
其中
式(18)中的最優權值因子
固定點可見。因爲固定點是可見的,我們有N次觀測
以上估計並沒有利用固定點也是對於一維物體N次觀測圖像線的交點的事實。因此,估計
其中
令上式爲零,得到
如果每幅圖像中的可見點多於3個,已知的交比提供了對於固定點的另一個約束。
爲了更加精確的研究不確定性,讀者可以參考[25,第2章]。
3.5奇異性
像大多數算法一樣,定標算法也存在奇異性問題。爲了得到更加可信的結果,實踐中必須注意奇異性問題並加以避免。