1 引言
基于單平面模板的攝像機自標(biāo)定是當(dāng)前應(yīng)用比較廣泛的攝像機標(biāo)定方法,只需要攝像機從不同方向拍攝3幅用于標(biāo)定的圖像(棋盤格),提取出其中的角點,根據(jù)其與平面模板間的關(guān)系,確定單應(yīng)性矩陣,便可以計算出攝像機的全部內(nèi)參數(shù)。其優(yōu)點是操作簡便并且無需知道模板的運動情況。但這種標(biāo)定方法要求標(biāo)定圖像非常平整,而且要求角點清晰易分辨。無形中就約束了激光打印機的精度。而準(zhǔn)確提取標(biāo)定板上特征點的坐標(biāo)是這種自標(biāo)定中最為關(guān)鍵的一步,直接關(guān)系到標(biāo)定結(jié)果的精確度。為解決這一問題,提出利用Harris算法提取出角點后,再將其坐標(biāo)精確到亞像素級,以提高標(biāo)定的精度。
2 基于Harris算法的角點提取
Harris算子是Harris和Stephens在1988年提出的一種基于靜止圖像的點特征提取算子。這種算子受信號處理中自相關(guān)函數(shù)的啟發(fā),給出與自相關(guān)函數(shù)相聯(lián)系的矩陣。矩陣的特征值是自相關(guān)函數(shù)的一階曲率,對圖像中的任意一點,如果它的水平曲率和垂直曲率值都高于局部鄰域中其他點,則認(rèn)為該點是特征點。它計算簡單有效同時非常穩(wěn)定,在圖像旋轉(zhuǎn)、灰度、噪聲影響和視點變換的條件下,與其他算子相比是最穩(wěn)定的一種點特征提取算子。Harris算子定義為:
式中:其中g(shù)x為x方向的梯度,gy為y方向的梯度,G(s)為高斯模板,⊕為卷積操作,I為每點的興趣值;det為矩陣的行列式;tr為矩陣的跡;k為經(jīng)驗值,一般取0.04。
Harris算子在攝像機標(biāo)定圖像的使用方法:首先計算圖像中的每個點在橫向和縱向的一階導(dǎo)數(shù)以及它們的乘積。從而得到3幅新的圖像。這3幅圖像中的每個像素對應(yīng)的屬性值分別為gx,gy和gxgy。然后運用高斯濾波處理這3幅圖像,接著計算原圖像上對應(yīng)的每個點的興趣值。計算完各點的興趣值后,要提取出原始圖像中的所有局部興趣值最大的點,即依次取出每個像素的8鄰域中的每個像素,從這些像素中找出興趣值最大者。特征點就是中心點像素的興趣值為最大的點。
用公式提取特征點時,只要像素點的興趣值大于某一閾值T的點均可被認(rèn)為是特征點。但T不具有直觀的物理意義,其具體值難以確定。所以在實際操作中應(yīng)采取間接確定T的方法:通過確定圖像中所能提取的最大可能的特征點數(shù)目N來選擇興趣值最大的若干像素點作為特征點。局部極值點的數(shù)目可能會很多,根據(jù)興趣值進行排序后,取其前N個點為特征點。
3 精確角點坐標(biāo)至亞像素級
對于棋盤格圖像如圖1所示,角點附近的點可分為在邊緣上的點和不在邊緣上的點兩類。B點上的梯度方向與OB垂直,而A點處灰度梯度為零,可見在角點O附近點的灰度梯度均垂直于該點與角點的連線。
用數(shù)學(xué)式可表達(dá)如下:
式中:為灰度梯度向量,為圖像原點指向O點的坐標(biāo),為圖像原點指向第i點的坐標(biāo)。
實際圖像可能受到噪聲的影響,故一般情況下式(1)不為0。設(shè)誤差為θ,即:
在以角點為中心的某一鄰域內(nèi),對所有點按式(2)計算,誤差和為S,則有:
故求角點準(zhǔn)確位置的問題轉(zhuǎn)化為求使誤差和S最小的點的問題。該問題可用迭代的方法優(yōu)化求解,對式(1)兩端同時乘以得:
將角點鄰域內(nèi)所有點分別代入式(4)。把所有結(jié)果求和,可得出:
這樣就得到了角點O的迭代式,通過對初始Harris角點進行一定級數(shù)的迭代優(yōu)化,可以得到其更精確的坐標(biāo)位置。
4 自標(biāo)定算法
自標(biāo)定算法采用張正友標(biāo)定法,其大致過程如下:
(1)坐標(biāo)系變換
由此式(8)可完成從攝像機坐標(biāo)系到圖像坐標(biāo)系的變換,其中A包含攝像機的全部6個內(nèi)參數(shù),f為攝像機焦距,θ為攝像機坐標(biāo)系的偏斜度,像素點的大小為k×l,單位為mm,圖像坐標(biāo)系的原點位于(u0,v0)上。
攝像機坐標(biāo)系和世界坐標(biāo)系的關(guān)系為:
式中:R3×3為旋轉(zhuǎn)矩陣,t3×1為平移向量。
由式(7)和式(9)可得從世界坐標(biāo)系到圖像坐標(biāo)系的一個線形變換:km3×1=A(R3×3,t3x1)M3×1,其中m3×1為圖像點的齊次坐標(biāo),M3×1為三維空間點的齊次坐標(biāo),為比例系數(shù)。
(2)計算透視投影矩 令H=λA(R,t),其中λ為比例系數(shù),H為透視投影矩陣,可通過已知的一系列二維、三維點對獲得,即將所有對應(yīng)點對(角點)的Mahalanobis距離標(biāo)函數(shù),利用最大似然估計的方法獲取當(dāng)Mahalanobis距離取到最小值時的H矩陣。
(3)攝像機參數(shù)的獲取設(shè)標(biāo)定板放在世界坐標(biāo)系的Z=0平面內(nèi),可得到只包含兩個列向量的旋轉(zhuǎn)矩陣,再由所選坐標(biāo)系為笛卡兒坐標(biāo)系,可得到關(guān)于矩陣A的兩個約束條件,這樣便可求出透視投影矩陣,再由式H=λA(R,t),可得到攝像機的全部內(nèi)參數(shù)。
(4)徑向畸變的矯正 由畸變模型為:
式中:(x,y)原圖像坐標(biāo),(x,y)為校正后圖像坐標(biāo),k1,k2為徑向畸變系數(shù),由Levenberg-Marquardt算法實現(xiàn)非線性優(yōu)化校正過程。
5 標(biāo)定實驗
標(biāo)定板采用一幅7×7(角點數(shù))的棋盤圖,每格邊長的實際大小分別為22.35 mm,拍得的照片大小為736×454(圖2),其實驗結(jié)果如表1,表2所列。實驗結(jié)果表明標(biāo)定精度有了大幅度的提高。
6 結(jié)語
提出了對于攝像頭自標(biāo)定這種方便的標(biāo)定方法,可以利用提取角點后,再對其經(jīng)過亞像素級定位,從而提高標(biāo)定精度。該方法簡單易實現(xiàn),經(jīng)實驗證明具有很好的效果,解決了傳統(tǒng)自標(biāo)定算法中對標(biāo)定板要求高的問題。