曾慶立,洪志偉,丁 雷
(吉首大學(xué)信息科學(xué)與工程學(xué)院,湖南 吉首 416000)
魚眼鏡頭使用方便,一次就能獲取接近半球面的場(chǎng)景信息,但所獲取的魚眼圖像會(huì)嚴(yán)重變形,而嚴(yán)重畸變圖像不利于人眼觀察和機(jī)器識(shí)別.如果想要利用這些嚴(yán)重變形圖像的信息,就需要將畸變圖像校正為透視投影圖像.目前,國(guó)內(nèi)許多魚眼校正算法采用圖像處理方法對(duì)魚眼圓形圖像的變形進(jìn)行處理,而忽略了鏡頭標(biāo)定這一環(huán)節(jié).傳統(tǒng)的魚眼校正算法主要是通過圖像預(yù)處理進(jìn)行點(diǎn)提取、直線提取以及邊緣檢測(cè)等,進(jìn)而獲取畸變參數(shù)[1-3].由于圖像處理方法不涉及成像模型,參數(shù)也是基礎(chǔ)模型下理想化的參數(shù),因此這類算法雖可以達(dá)到一定的校正效果,但結(jié)果并不理想,存在較大誤差[4-6].此外,圖像預(yù)處理的方法無形中也加大了算法的復(fù)雜性.許多應(yīng)用領(lǐng)域里,畸變圖像校正是必要環(huán)節(jié),而在校正處理算法的前處理部分一般是通過攝像機(jī)標(biāo)定來獲得模型參數(shù)[7-9].攝像機(jī)標(biāo)定是實(shí)現(xiàn)魚眼畸變校正的首要環(huán)節(jié),是魚眼鏡頭在圖像畸變校正中的關(guān)鍵點(diǎn).標(biāo)定的算法主要針對(duì)特定的魚眼鏡頭,并且需要相應(yīng)的標(biāo)定模版,如平面棋盤版、網(wǎng)格版等.基于以上思路,筆者提出了一種精確恢復(fù)圖像畸變的魚眼鏡頭標(biāo)定算法.該算法首先通過建立魚眼鏡頭特定的成像模型,然后用標(biāo)定裝置得到魚眼鏡頭變形校正參數(shù)的先驗(yàn)信息,最后利用獲得的校正參數(shù)來校正圖像.由于算法綜合考慮了魚眼成像的各種畸變,因而所恢復(fù)圖像的精確性較高.
設(shè)空間場(chǎng)景點(diǎn)W在魚眼圖像上的成像點(diǎn)為p(p=(u,v)).魚眼攝像機(jī)投影成像的完整模型由以下方程描述:
其中:λ為參數(shù),λ>0;場(chǎng)景點(diǎn)坐標(biāo)W=(x,y,z,1);P為投影矩陣,P∈R3×4,P=[R|T],R為旋轉(zhuǎn)矩陣,T為平移相量;f(ρ)代表魚眼鏡頭的曲面多項(xiàng)式模型,f(ρ)中的參數(shù)為(a0,a1,a2,a3,a4),
f(ρ)=a0+a1ρ+a2ρ2+a3ρ3+a4ρ4.
ρ關(guān)于θ的多項(xiàng)式稱為畸變多項(xiàng)式,其模型可以表示為
ρ=b0+b1θ+b2θ2+b3θ3+b4θ4+…+bnθn.
其中:θ為入射光線與單位球Z軸正方向的夾角;b0,b1,b2,b3,b4,…,bn稱為畸變系數(shù).
圖1 成像模型Fig.1 Imaging Model
實(shí)際生活中,攝像機(jī)的安裝會(huì)帶來離心畸變以及圖像傳感器的誤差,另外圖像傳感器一般不是正方形而是矩形,這些情況是真實(shí)存在的,實(shí)際計(jì)算過程中難以忽略其影響.基于以上考慮,筆者通過增加參數(shù)來描述更精確的模型.筆者發(fā)現(xiàn),僅通過一個(gè)仿射變換即可達(dá)到精確描述的目的,即
其中:c,d,e為參數(shù);(u′,v′)為真實(shí)坐標(biāo);(u,v)為理想坐標(biāo);(xc,yc)為圖像中心坐標(biāo).
步驟1自制平面棋盤標(biāo)定板如圖2所示.魚眼攝像機(jī)對(duì)棋盤標(biāo)定板采集N(N?1)幅圖片,讀取所有的棋盤格拍攝圖像.
圖2 圖像標(biāo)定板Fig.2 Image Calibration Board
步驟2在每張棋盤格圖像上自動(dòng)選取棋盤格的黑白交叉頂點(diǎn).魚眼鏡頭圖像標(biāo)定效果如圖3所示.
圖3 魚眼鏡頭圖像標(biāo)定截圖Fig.3 Image Calibration of Fish Eye Lens
步驟3估計(jì)外部參數(shù)和內(nèi)部參數(shù).
若拍攝i幅平面標(biāo)定板圖片,對(duì)每一幅圖片,可以得到
考慮第i幅圖像上的每一個(gè)pj點(diǎn),每一個(gè)點(diǎn)可得到3個(gè)齊次方程,即
vj(r31Xj+r32Yj+t3)-g(ρj)(r21Xj+r22Yj+t2)=0,
(1)
g(ρj)(r11Xj+r12Yj+t1)-uj(r31Xj+r32Yj+t3)=0,
(2)
uj(r21Xj+r22Yj+t2)-vj(r11Xj+r12Yj+t1)=0.
(3)
觀察到Xj,Yj,Zj和uj,vj是已知的,通過(1)~(3)式可以求出r11,r12,r21,r22,t1,t2.
把所有待求項(xiàng)放入一個(gè)列向量H,即H=(r11,r12,r21,r22,t1,t2)T,可以把(3)式改寫為M·H=0,其中
L表示標(biāo)定板上有L個(gè)點(diǎn).于是在‖H‖2=1的條件下,通過最小平方準(zhǔn)則最小化‖M·H‖2可以線性估計(jì)出H;而r1,r2是標(biāo)準(zhǔn)正交,故r31,r32也可以被唯一確定.通過步驟1,對(duì)每一幅標(biāo)定板圖片就可以確定外部參數(shù):r11,r12,r21,r22,r31,r32,t1,t2.
再把所有待求項(xiàng)放入一個(gè)列向量,那么(1)式可以改寫為
其中:
K表示對(duì)平面標(biāo)定板的K次拍攝.求解以上方程,得到最小二乘解,進(jìn)而可以確定a0,a1,a2,a3,a4.
筆者提取標(biāo)定結(jié)果,對(duì)用于校正的參數(shù)以TXT格式進(jìn)行存儲(chǔ).
步驟1以TXT的格式的標(biāo)定結(jié)果.
曲面鏡頭模型多項(xiàng)式Γ的系數(shù),表示為(a0,a1,a2,a3,a4),儲(chǔ)存在數(shù)組S中,S={a0,a1,a2,a3,a4}.
步驟2空間坐標(biāo)映射.
通過2.1節(jié)的步驟1和2提出的模型參數(shù)標(biāo)定過程,可以得到魚眼成像坐標(biāo)與空間場(chǎng)景坐標(biāo)的轉(zhuǎn)換規(guī)律,根據(jù)這個(gè)關(guān)系可以將魚眼圖像對(duì)應(yīng)于空間場(chǎng)景圖,從而得到透視圖.
通過步驟1的多項(xiàng)式系數(shù)a0,a1,a2,a3,a4,很容易得到曲面鏡頭模型多項(xiàng)式f(ρ),f(ρ)代表魚眼鏡頭的曲面模型,這是一個(gè)關(guān)于ρ的多項(xiàng)式函數(shù),但是為了校正需要得到ρ關(guān)于θ的畸變多項(xiàng)式.ρ關(guān)于θ的多項(xiàng)式系數(shù)為畸變多項(xiàng)式系數(shù),表示為b0,b1,b2,b3,b4,…,bn.為了求解畸變多項(xiàng)式系數(shù),筆者通過擬合多項(xiàng)式,設(shè)定一個(gè)循環(huán)來得到多項(xiàng)式的階數(shù),當(dāng)擬合多項(xiàng)式誤差小于0.01(ε≤0.01)時(shí)立即停止以獲得最優(yōu)參數(shù).得到ρ關(guān)于θ的多項(xiàng)式,即
ρ=b0+b1θ+b2θ2+b3θ3+b4θ4+…+bnθn.
步驟3雙三次坐標(biāo)插值.
通過像素點(diǎn)的空間變換,可以把魚眼圓形圖像恢復(fù)為方便人眼觀察的校正圖像.需要注意的是上述變形圖像校正后在圖像平面可能會(huì)產(chǎn)生小數(shù)點(diǎn)的像素,即平面圖像坐標(biāo)p(x′,y′)會(huì)產(chǎn)生小數(shù)坐標(biāo),這不符合圖像坐標(biāo)要求,可采用插值技術(shù)對(duì)其進(jìn)行修改.雙三次插值是一個(gè)魯棒性強(qiáng)的插值技術(shù),但計(jì)算量更高.更加清晰的圖像質(zhì)量和更多的場(chǎng)景細(xì)節(jié)內(nèi)容,免除了人為再次增強(qiáng)圖像質(zhì)量和細(xì)節(jié),讓此方法成為魚眼圖像校正的首選.本方法設(shè)定輸出圖像(640×480或640×320)大小后建立空?qǐng)D像空像素圖像,再通過坐標(biāo)映射和雙三次坐標(biāo)插值獲得新像素坐標(biāo),將原圖像坐標(biāo)的像素值直接賦值給新坐標(biāo),從而得到輸出圖像.
步驟4濾波.
為了減少高頻噪聲,筆者把校正后的圖像降采樣到VGA(640×480或640×320)顯示,在處理的最后一步加入5×5低通濾波器處理,去除噪聲干擾,這樣采樣得到的圖像才是清晰且符合人眼視覺的圖像,可以在硬件上顯示.圖4示出魚眼圖像校正前后對(duì)比效果.
圖4 校正前后圖像對(duì)比Fig.4 Image Comparison Correction
為了解決魚眼圖像存在的畸變問題,筆者建立了一個(gè)完整的魚眼攝像機(jī)投影和畸變模型,該模型是一種通用的魚眼模型.通過自制的平面標(biāo)定板標(biāo)定圖像,同時(shí)建立標(biāo)定模型,同時(shí)利用該通用模型實(shí)現(xiàn)對(duì)魚眼攝像機(jī)所采集到的模型參數(shù)進(jìn)行標(biāo)定.在此基礎(chǔ)上提出了一種通用性魚眼攝像機(jī)標(biāo)定方法——基于雙三次插值的魚眼圖像校正方法.該方法利用標(biāo)定后的鏡頭畸變參數(shù)把魚眼圓形變形圖像恢復(fù)成方便人眼觀察的透視圖像.模型的優(yōu)勢(shì)在于它能標(biāo)定市場(chǎng)上的大多數(shù)魚眼鏡頭,標(biāo)定時(shí)只需利用自制的標(biāo)定板就可進(jìn)行精確標(biāo)定,操作簡(jiǎn)單、效率高.該畸變校正方法不僅適用于圓形魚眼圖像校正,也適用于不完整的魚眼圖像校正,圖像校正快速、準(zhǔn)確,可在魚眼圖像校正實(shí)踐中推廣.