李芳芳,劉華朋
(1.西南交通大學(xué)希望學(xué)院,四川南充 637900,2.中鐵十六局集團(tuán)路橋工程有限公司,北京 101500)
為實現(xiàn)工程測量與數(shù)字近景攝影測量的結(jié)合,量測型數(shù)碼相機(jī)應(yīng)運(yùn)產(chǎn)生。但量測數(shù)碼相機(jī)價格昂貴,所以宜采用商用的數(shù)碼相機(jī)。即商用量測型數(shù)碼相機(jī),但其相機(jī)的內(nèi)方位元素(X0,Y0,f)未知,且其鏡頭畸變對測量的精度影響較大,因此在進(jìn)行高精度的測量模式作業(yè)前需要對相機(jī)進(jìn)行嚴(yán)格的標(biāo)定[1]。
攝像機(jī)的標(biāo)定是確定攝像機(jī)內(nèi)部參數(shù)或外部參數(shù)的過程。內(nèi)部參數(shù)是指攝像機(jī)內(nèi)部的幾何和光學(xué)特性,外參數(shù)是指攝像機(jī)相對世界坐標(biāo)系原點的平移和旋轉(zhuǎn)位置。
在檢測的視覺系統(tǒng)中,使用廣角鏡頭可以進(jìn)行大范圍測量[2],但短焦距、廣角鏡頭的攝像機(jī)系統(tǒng)與理想的小孔透視模型(pin hole model)有一定的差別,從而使得物體點在攝像機(jī)圖像平面上實際所成的像與理想成像之間存在不同程度的非線性光學(xué)畸變[5]。相機(jī)鏡頭的非線性畸變僅與它所選用的焦距有關(guān),與其他的內(nèi)部參數(shù)、外部參數(shù)無關(guān)?;儓D像不利于計算機(jī)視覺進(jìn)行現(xiàn)場測量和圖像處理,必須對圖像的非線性畸變進(jìn)行校正,校正精度直接影響到最終的測量精度。
圖像的非線性畸變主要分為兩部分:徑向畸變和切向畸變。切向畸變較小,影響不大,一般不予考慮,以徑向畸變?yōu)橹鳌H缒茴A(yù)先知道畸變模型,則進(jìn)行校正后就可應(yīng)用針孔攝像機(jī)模型來進(jìn)行視覺計算。然而制造商一般不提供鏡頭的畸變模型,并且批量生產(chǎn)中不可避免的隨機(jī)性導(dǎo)致同一規(guī)格型號鏡頭的畸變參數(shù)也不相同,這就需要有簡便的方法來獲取鏡頭的畸變參數(shù)。
圖像的非線性畸變與相機(jī)成像過程中的外部參數(shù)和光源到鏡頭的距離無關(guān),僅與光線經(jīng)過鏡頭的位置有關(guān)?;兊男纬墒怯捎谌肷涔饩€在通過各個透鏡時的折射誤差和電荷耦合器件(Charge Couple Device,CCD)點陣位置誤差所致。不同的焦距將對應(yīng)著不同的非線性畸變,因為調(diào)焦將引起主點位置(x0,y0)的變化,所以在獲取照片的時候要鎖定主距,以達(dá)到鎖定內(nèi)方位元素值和光學(xué)透鏡畸變系數(shù)的目的[4]。
對一架變焦相機(jī)來說,它的非線性畸變特性是隨著焦距的變化而變化,選定一種焦距,也就有一個確定的畸變與之對應(yīng);定焦相機(jī)的非線性畸變特性是固定的。隨著CCD 制造技術(shù)的發(fā)展,CCD 的像素值越來越大,像素點間距也變得越來越小,圖像中的非線性畸變在機(jī)器視覺的研究中就顯得更為重要。非線性畸變的研究成為很多學(xué)者研究的內(nèi)容。姜大志等人[1]提出了把非線性畸變參數(shù)的求解獨立于相機(jī)其他參數(shù)求解的方案,可以獲得較高精度的畸變參數(shù),為機(jī)器視覺技術(shù)的應(yīng)用提供了一種簡捷、可靠、實用的新方法,但這要利用專門的實驗室裝置在實驗室中進(jìn)行。張靖等人[2]采用基于直線的射影變換特點,提出一種校正鏡頭畸變的非量測算法,用面積平方和定義畸變測度,計算量小且具有抗噪聲能力,避免了收斂于局部極小值,但方法復(fù)雜;朱漢敏[3]利用畸變的球形模型,基于物方直線特征,實現(xiàn)了畸變的數(shù)字校正,整個校正過程不需要其他的光學(xué)測量儀器,也不需要知道光學(xué)系統(tǒng)的結(jié)構(gòu)參數(shù),只是根據(jù)畸變特征進(jìn)行校正。
在圖像坐標(biāo)系中的非線性畸變包括徑向畸變、離心畸變、薄棱鏡畸變。若同時考慮這三部分的影響,將因為引入過多的非線性畸變參數(shù)而引起解的不穩(wěn)定[10]。田原嫄以理想針孔成像模型為基礎(chǔ),證明了影響畸變的主要因子是徑向畸變,其他因子的影響基本不大,可忽略不計[5],因此在一般應(yīng)用中僅考慮徑向畸變。徑向誤差是由鏡頭中各組透鏡的表面曲率存在誤差引起的,在以徑向畸變?yōu)橹鞯姆蔷€性幾何畸變模型中,無畸變像面坐標(biāo)和畸變像面坐標(biāo)之間的關(guān)系可表示為:
式中:xp、yp為無畸變像平面坐標(biāo);xd、yd為畸變像平面坐標(biāo),它們的坐標(biāo)原點都在對稱中心;k為徑向畸變系數(shù),k>0 表示枕形畸變,k<0 表示桶形畸變。
通過對徑向畸變校正算法的研究回顧,發(fā)現(xiàn)球形模型算法和多項式算法是運(yùn)用較多的兩個算法,且精度也達(dá)到了各自所研究對象的徑向畸變校正的要求。為探索哪一種算法滿足更高校正精度要求,本文以實驗比較這兩種算法的精度。
實驗使用的相機(jī)焦距可調(diào),拍照時采取手動調(diào)焦來固定焦距,以得到準(zhǔn)確的焦距參數(shù)。本實驗采用的焦距參數(shù)為5.8 mm。
繪制一個等間隔正交方網(wǎng)格,由25 根橫向直線和25 根縱向直線組成,縱、橫向直線間的距離為5 mm,線長度誤差小于7‰,線寬0.07 mm。在相機(jī)拍攝時,方格網(wǎng)應(yīng)能布滿成像平面,且使光軸垂直于方格網(wǎng),光軸盡量通過方格網(wǎng)中心,因此需要一個便于調(diào)節(jié)的相機(jī)支撐裝置。
將繪好的正交方格網(wǎng)貼附于平面上,用待校相機(jī)照準(zhǔn)成像,獲得如圖1 所示的原始圖像。從圖可看出網(wǎng)格邊沿處明顯有畸變,實際存在的物方直線在影像上是一條曲線。
物方一直線段在徑向畸變下變?yōu)闄E圓的一段,橢圓弧可視為標(biāo)準(zhǔn)橢圓中心平移到C(x0,y0)、旋轉(zhuǎn)θ0而得,橢圓的長半軸a 等于球形模型的半徑R。文獻(xiàn)[5]證明用球形模型表示徑向畸變是恰當(dāng)?shù)?,任意一點的位置畸變僅與該點極坐標(biāo)中的矢徑坐標(biāo)有關(guān),在球形模型下,極坐標(biāo)公式為:
式中:rp、θp為無畸變點的極徑和極角;rd、θd畸變點的極徑和極角;R為球半徑;x0、y0為畸變中心;xp、yp、xd、yd的涵義同式(1)。
校正過程是先對原始圖像進(jìn)行二值化處理和骨架提取,處理出網(wǎng)格交點,獲得交點處的數(shù)字坐標(biāo),然后根據(jù)標(biāo)準(zhǔn)特征值分解(Eigen Value Decomposition,EVD)算法和徑向畸變下的橢圓弧方程[10],可求得R 和(x0,y0)。這樣就可以根據(jù)畸變圖像中各點的坐標(biāo)(xd,yd)算得對應(yīng)的無畸變點(rp,θp),從而校正圖像。
原圖像像素點變換后坐標(biāo)一般要改變,若沒落在像素點上,此時可用相鄰像素點上的灰度值通過插值求出其灰度值,常用的插值算法有最鄰近點法、雙線性內(nèi)插法及三次卷積法;最鄰近點法算法非常簡單并且保持原光譜信息不變,但是幾何精度較差;雙線性插值法具有計算簡單、幾何上準(zhǔn)確度較高、能克服灰度不連續(xù)等優(yōu)點;三次卷積法計算量較大,但比較準(zhǔn)確。綜合考慮各個算法的優(yōu)缺點,實驗采用雙線性內(nèi)插法進(jìn)行插值,經(jīng)過插值后,可避免校正后圖像出現(xiàn)“空”像素的情況。
圖2 是糾正了透鏡畸變的方格網(wǎng),從圖上可以看出,網(wǎng)格線已全部拉直。
多項式表示的徑向畸變模型公式為:
圖1 待校正畸變圖
圖2 球形模型校正結(jié)果
式中:aij為多項式的系數(shù);n為多項式的次數(shù)。
透鏡的徑向畸變有均勻畸變和不均勻畸變。曾巒[8]采用的透鏡畸變是均勻畸變,校正結(jié)果較理想。均勻畸變是不均勻畸變的特殊情況,為了不失一般性,假定實驗的透鏡畸變?yōu)椴痪鶆蚧儭T诜礁窬W(wǎng)成像后,因為透鏡畸變的存在,每一交點的坐標(biāo)為實際成像坐標(biāo)。
針對圖1 所示的原始圖像進(jìn)行計算,先對該圖像進(jìn)行二值化處理和骨架提取,處理出網(wǎng)格交點,并分別讀出各交點的實際成像坐標(biāo)。視線上的所有物點都成像在像面上同一位置,利用這一特性可以讓原方格網(wǎng)的中心和成像后的方格網(wǎng)的成像中心在同一個位置,這樣實際成像坐標(biāo)所對應(yīng)的理想成像坐標(biāo)也是知道的,則可以得到每一交點處的徑向畸變系數(shù),利用該點的畸變系數(shù)及式(4)對圖像進(jìn)行校正,生成的無畸變圖像如圖3 所示。需要說明的是用多項式法校正和球形模型法校正一樣,也需要進(jìn)行灰度內(nèi)插。
統(tǒng)計糾正前后網(wǎng)格點(角點)像素坐標(biāo)的變化可說明圖像糾正的精度。原始圖像是等間隔正交方網(wǎng)格,像素坐標(biāo)系的原點在CCD 圖像平面的左上角,I 軸、J 軸分別平行于圖像坐標(biāo)系的x 軸和y 軸。在進(jìn)行殘差統(tǒng)計時,使用中誤差、平均誤差及畸變最大值等統(tǒng)計量,統(tǒng)計結(jié)果如表1 所示。
圖3 多項式校正結(jié)果
表1 圖像校正后格網(wǎng)角點像素坐標(biāo)與標(biāo)準(zhǔn)像素坐標(biāo)的殘差統(tǒng)計結(jié)果(像素)
從表1可以看出,無論是I 軸方向還是J 軸方向,球形模型校正的誤差均小于多項式算法校正的誤差。還可以看出,無論是球形模型校正還是多項式算法校正,縱向(J 軸)的誤差均大于橫向(I 軸)的誤差,這是因為縱向為相機(jī)拍攝方向,照片產(chǎn)生幾何變形主要是由縱向失真引起。因本論文圖像的像素間距為0.064 mm,可知球型模型校正的I 軸方向中誤差為0.04 mm,平均誤差為0.03 mm,最大誤差為0.064 mm,J 軸方向中誤差為0.06 mm,平均誤差為0.05 mm,最大誤差為0.064 mm。
采用球形模型和多項式兩種算法對數(shù)碼影像進(jìn)行畸變校正處理,校正結(jié)果無論從直觀上還是量化數(shù)據(jù)上,都可以得出球形模型的校正精度比多項式校正精度高。除此之外,球形模型校正算法簡單,實用性也好,可以得出球型模型校正的精度可以滿足更高畸變校正要求的結(jié)論。
[1]姜大志.標(biāo)準(zhǔn)圖形法求解相機(jī)鏡頭非線性畸變的研究[J].東南大學(xué)學(xué)報,2001,31(4)
[2]張靖.攝像機(jī)鏡頭畸變的一種非量測校正方法[J].光學(xué)學(xué)報,2008,28(8)
[3]朱漢敏.基于直線特征的徑向畸變圖像的校正[J].上海工程技術(shù)大學(xué)學(xué)報,2006,20(2):154-155
[4[ 崔紅霞.非量測數(shù)碼相機(jī)的畸變差檢測研究[J].測繪科學(xué),2005,30(1)
[5]田原嫄.基于CCD 攝像機(jī)成像的徑向畸變研究[J].世界科技研究與發(fā)展,2008,30(2)
[6]Tsai R Y.A versatile camera calibration technique for high-accuracy 3D machine vision[J].International Journal of Robotics and Automation,1987,3(4):323-344
[7]馮文灝.數(shù)碼相機(jī)實施攝影測量的幾個問題[J].測繪信息與工程,2002,27(3)
[8]曾巒.短焦距攝像機(jī)鏡頭的畸變校正方法[J].裝備指揮技術(shù)學(xué)院學(xué)報,2002,13(2):53-55
[9]鄭瑩.鐵路軌道數(shù)碼影像的糾正與拼接[D].西南交通大學(xué),2008
[10]田涌濤.基于共線點的透鏡畸變系數(shù)標(biāo)定[J].上海交通大學(xué)學(xué)報,2003,37(11)