專利名稱:基于廣角鏡頭的畸變補償方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于廣角鏡頭的高效、實時畸變補償方法,具體來 說,它涉及一種利用三次光滑樣條曲線對廣角鏡頭造成的桶形失真進行 建模補償從而達(dá)到畸變補償?shù)募夹g(shù)。
背景技術(shù):
廣角鏡頭由于具有很寬的視角和特殊的拍攝效果,因而在攝影、監(jiān) 控及測量和醫(yī)療等領(lǐng)域得到廣泛應(yīng)用,例如臨床內(nèi)窺鏡和超市防盜監(jiān)控 系統(tǒng)等。如果配以鏡頭以短焦距的特點,利用廣角鏡頭通常可以在獲得 目標(biāo)對象全部成像的同時降低設(shè)備的高度,這將非常有利于設(shè)備的微型 化和便攜性,同時還能降低設(shè)備的成本。后者是因為在同樣高度和焦距 的情況下,欲達(dá)到同樣的全景成像效果,可能需要使用多個成像傳感器 芯片和圖像配準(zhǔn)技術(shù)。廣角鏡頭在獲得寬視場的同時,也給造成最終成像圖像產(chǎn)生嚴(yán)重幾 何畸變——桶形失真。圖像的畸變給特征提取和參數(shù)計算帶來了困難, 特別在監(jiān)控領(lǐng)域圖像畸變也會造成監(jiān)控者無法清晰判斷成像物體,在成 像失真程度比較嚴(yán)重時更明顯。因此必須對利用廣角鏡拍攝的圖像先進 行畸變補償,以便恢復(fù)圖像。另一方面,在上述提及的應(yīng)用領(lǐng)域中出現(xiàn)的往往是視頻流數(shù)據(jù),果視頻流中每一幀圖像都必須進行畸變補償,則往往需要很大的計算量, 因而設(shè)計的畸變補償方法還必須滿足高效性要求,從而能夠使廣角鏡頭 應(yīng)用到更多的系統(tǒng)中。廣角鏡頭所引起的桶形畸變屬于非線性變形,它包括切向失真和徑 向失真。當(dāng)只考慮徑向畸變時,物平面上的物體由于自身不同點到光軸 的距離不同,經(jīng)過廣角鏡頭投影到像平面上將發(fā)生以光軸為中心的對稱 彎曲形變。此時,桶形畸變規(guī)律是與物體上不同點到光軸距離i 有關(guān)的函 數(shù)即i 越大,畸變越嚴(yán)重;i 越小,畸變越小。此外,在越靠近中心的 地方,失真越小。由此可知,該失真具有中心無失真性和圓對稱性。另 一方面,假設(shè)該失真是光滑的,由于三次樣條本身符合光滑條件,因此 可以利用樣條曲線對該失真曲線進行逼近。發(fā)明內(nèi)容針對以上的不足,本發(fā)明提供了一種利用三次光滑樣條曲線對廣角 鏡頭造成的桶形失真進行建模補償從而達(dá)到畸變補償?shù)姆椒ā?本發(fā)明的基于廣角鏡頭的畸變補償方法,它包括a) 制作同心圓模板,獲取模板實測圖像數(shù)據(jù);b) 利用模板實測圖像數(shù)據(jù)進行樣條曲線建模; C)利用樣條曲線建模參數(shù)制作畸變補償映射表;d)根據(jù)畸變補償映射表,利用雙線性插值算法實現(xiàn)畸變補償。所述步驟a)包括al)制作一個理想半徑為A—r。,3^…,(2"-lh)的同心圓; a2)在同心圓模板的圓心添加一個"十字架"; '架"的情況下,拍取同心圓 模板圖像,獲取同心圓模板的實測半徑1=",/"2,".,/;);其中,r。為同心圓模板的最小半徑值,"為同心圓的圓個數(shù),^2,.、r 為同心圓模板的實測值,/^表示第/t個同心圓的實測半徑,^為實測最小 半徑值,/;為實測最大半徑值。所述步驟b)包括bl)定義不同采樣半徑位置的壓縮比&為實測半徑值與理想半徑值 的比值,定義不同采樣半徑位置的逆壓縮比S"為理想半徑值與實測半徑 值的比值b2)以實測半徑為橫軸,壓縮比為縱軸構(gòu)成坐標(biāo)系構(gòu)建桶形及變規(guī)律曲線&=/00,得到三次樣條系數(shù)矩陣^b3)以理想半徑為橫軸,逆壓縮比為縱軸構(gòu)成坐標(biāo)系構(gòu)建桶形及變規(guī)律曲線SWW,得到三次樣條系數(shù)矩陣^'; b4)用兩組三次樣條曲線擬合桶形畸變規(guī)律 前向樣條曲線&對應(yīng)于& = /(。,其中/;S/^/;+,, lS/t^",且^=0, "4、 & q、《為三次樣條系數(shù)矩陣^的行系數(shù)值;后向樣條曲線^對應(yīng)于S; S H2"l)n)3+6'"r-(2"l)r,)2+c'々-(2A:-l)《)"V其中1)0"(2/t + l)r , l"^w ,且A = l時令(2卜l)q"),<、^、 c、、(為三次樣條系數(shù)矩陣A的行系數(shù)值。所述步驟C)包括 'Cl)利用前向投影原理求得目標(biāo)圖像的大??;C2)利用前向投影原理求得失真圖像到目標(biāo)圖像的映射表。本發(fā)明的有益效果為參與同心圓半徑計算的判據(jù)點多從而有效使得半徑計算精度高、抗噪聲能力強;采用樣條曲線對桶形失真進行建模實現(xiàn)補償,計算簡單、可靠;根據(jù)建模結(jié)果制作畸變補償映射表,實現(xiàn)了高效、實時、有效的畸變補償。
圖1為發(fā)明基于廣角鏡頭的畸變補償方法的流程圖; 圖2為用于失真建模的同心圓模板及相應(yīng)桶形失真示意圖; 圖3為前向樣條建模曲線及后向樣條建模曲線示意圖; 圖4為雙線性插值的基本原理圖;圖5為原始失真圖像及相應(yīng)的復(fù)原圖(由于證件涉及私人信息,故 在證件圖像部分區(qū)域進行了信息抹除,下同)。
具體實施方式
下面結(jié)合附圖對本發(fā)明進行進一步闡述。如圖1所示,本發(fā)明基于廣角鏡頭的畸變補償方法包括一、制作同心圓模板,獲取模板實測圖像數(shù)據(jù)首先是制作同心圓模板這些同心圓的間距是按事先指定的比例放置的,具體的比例只是用于確定后述中一組理想半徑值,本發(fā)明選取同 心圓模板之間圓環(huán)的間距相同,即同心圓的半徑成奇數(shù)倍增長,同心圓 半徑值為&=h》Q, ,(2n-1)",其中r。為同心圓模板的最小半徑值, n為同心圓的圓個數(shù),^6,…A為同心圓模板的實測值,^為實測最小半 徑值,^為實測最大半徑值。 '然后經(jīng)過同心圓模板的圓心添加一個"十字架",圖2(a)示例,了-一個 如上所述的同心圓模板。接著設(shè)計一個簡單的圖像采集程序,比如在Windows平臺上,可以 利用DirectShow進行開發(fā),該采集程序在采集數(shù)據(jù)時能夠在相應(yīng)的圖像 顯示窗口中心顯示一個虛擬的"十字架"。把廣角鏡頭安裝到圖像傳感器 上利用上述采集程序進行同心圓模板成像數(shù)據(jù)采集。本具體實施例中采 用的廣角鏡頭焦距為1.8mm的,視角約為141° 。在保證鏡頭與物平面 平行的情況下,令采集程序顯示的虛擬"十字架"與同心圓模板上的"十 字架"重合,此時可以認(rèn)為鏡頭光軸中心近似通過同心圓圓心,并且實 現(xiàn)了 "對準(zhǔn)",圖2(b)示例了對準(zhǔn)情況下拍攝到的同心圓失真圖像。對得到的圖像進行濾波和二值化,然后進行圓擬合和圓檢測,獲取 同心圓模板的實測半徑&"《A,…,0,本實施例中的測得的數(shù)據(jù)一組為[38.00, 112.13, 175.13, 225.00, 263.75, 293.50, 316.25, 333.67, 348.12,359.70, 369.69];二、利用模板實測圖像數(shù)據(jù)進行樣條曲線建模 首先定義不同采樣半徑位置的壓縮比&為實測半徑值與理想 的比值,不同采樣半徑位置的逆壓縮比S"為理想半徑值與實測半徑值的比值接下來是畸變規(guī)律的三次樣條曲線擬合,它包括如下三個步驟1) 以實測半徑為橫軸,壓縮比為縱軸構(gòu)成坐標(biāo)系,構(gòu)建桶形及變規(guī)律曲線^=/(小這樣s^/(o必然經(jīng)過點^A)^,^;),…,(^A,卜可 得到三次樣條系數(shù)矩陣瓜以理想半徑為橫軸,逆壓縮比為縱軸構(gòu)成坐標(biāo)系,構(gòu)建桶形及變規(guī) 律曲線sv=/'(o , 這樣sv=/'(o必然經(jīng)過點b,^),(3r。,^),…,((2^1)Wj,得到三次樣條系數(shù)矩陣A。2) 為了使擬合后的三次樣條直線滿足整個定義域0^Smax(廠), 當(dāng)r。較小的時候,修正,。^=0,則&,S"-1,則修正后的兩條三次樣 條曲線分別通過(o,i),bA),…^A) (O,l), (r2, Sr2),…,(rn, Srn) 和(0,l),(3r。,^),…,((2" —l)r。,SV )。3) 用兩組三次樣條曲線擬合桶形畸變規(guī)律 前向樣條曲線^對應(yīng)于&=/(0,其中&S/^^, 1S^S",且^=0, ^、 V q、《為三次樣條系數(shù)矩陣^的行系數(shù)值;后向樣條曲線^對應(yīng)于SV w),^="'々 )3+4 )2+4 — (2"1)。)"'4 其中(2A-l)^"(2A + l)r, , 1 ,且"1曰寸令(2A;-l)r,0 ,A、 ^、 <、"為三次樣條系數(shù)矩陣A的行系數(shù)值。三次樣條的確定需要用到光滑條件,即相連曲線在斷點處具有相同的一階導(dǎo)數(shù)和二階導(dǎo)數(shù),此外第一條三次樣條曲線和最后一條三次樣條 曲線需要增加兩個約束條件才能確定下來。在我們的發(fā)明中,使用了令邊界條件中二次導(dǎo)數(shù)均為0的方法,即自然樣條(Natural Spline)米擬合 失真曲線,圖3描述了該實施例的前向樣條曲線和后向樣條曲線擬合結(jié) 果。三、利用樣條曲線建模參數(shù)制作畸變補償映射表通過樣條曲線對失真曲線進行建模后,可以得到一組刻畫桶形失真 的模型參數(shù),為了實現(xiàn)對失真圖像進行高效、實時復(fù)原,可以進一步根 據(jù)得到的模型參數(shù)將其制作成一張畸變補償映射表,它包含如下2個歩 驟1)利用前向投影原理(ForwardProjection)求得目標(biāo)圖像的大小 設(shè)失真圖像的大小為MxAr (寬x高),則圖像的中心為 K,"。) = CM + l)x^ + l)/2,過該中心以水平向右直線為x軸,垂直向下方向為y軸,建立一個坐標(biāo)系。值得注意的是,這里的點坐標(biāo)(w,^農(nóng)小v軸分 量為附,x軸為",下同。則不同像素(附,")到圖像中心的距離為"=如_附0)2+("-"o)2該點與^軸之間的夾角計算四個頂點到其中心的距離。把求得的距離r代入前向樣條曲線&=/(",就可以得到這些點的壓縮比^A。由^^的定義可知,此時真 實的半徑應(yīng)該為設(shè)該像素點—,")在理想圖像上的映射的理想位置為—',"')。如果 m — m。20,貝廿如果附-m。<0,則有<formula>formula see original document page 11</formula>在畸變圖形上,當(dāng)把坐標(biāo)中心原點平移到中心( ,"。)之后,四個頂點的坐標(biāo)為[iK,,i("「W的不同組合。由于假設(shè)的模型認(rèn)為切向沒有 失真,因而這些點在目標(biāo)圖像中的方向與在失真圖像上的方向相同。因 而目標(biāo)圖像四個頂點的坐標(biāo)在所建立的x — ^坐標(biāo)系中的坐標(biāo)位置可以分<formula>formula see original document page 11</formula>2)利用后向投影原理(BackwardProjection)求得失真圖像到目標(biāo)圖像 的映射表從步驟l)中可知,在己經(jīng)目標(biāo)圖像大小的情況下,如果我們將目標(biāo) 圖像所有像素初始化為全零值。接著依次遍歷失真圖像所有像素,計算 該像素在目標(biāo)圖像上的具體位置——若為非整數(shù)點則采用一定的辦法進 行取整,這樣便得到一張復(fù)原圖。但是,由于目標(biāo)圖像比原失真圖像大, 因而目標(biāo)圖像上的所有點不可能每一點都被覆蓋,因此便產(chǎn)生了前向投 影問題(Forward Projection Problem)。在桶形畸變復(fù)原中將產(chǎn)生一些類似水紋的人為噪聲,即使使用中值濾波對校正后的圖像處理,也無法很 好的解決。 .解決前向投影的辦法是使用后向投影。這時需要利用前述的后向樣 條曲線。由于第一步獲得了目標(biāo)圖像的大小之后,新圖像'l'心點的坐標(biāo) 為(A)4)"P + l)x(G + l)/2。建立以目標(biāo)圖像中心為原點的一個新的坐標(biāo)以水平向右直線為^軸,垂直向下方向為^軸。遍歷目標(biāo)圖像上的任一個像素^,《),在平移之后的新坐標(biāo)中該點坐妙=^標(biāo)為(P —P。W —《。),它與x軸之間的夾角 『《。。那么該像素到圖像中心的距離為把求得的距離5代入后向樣條曲線^ ",(。,就可以得到這些點 的逆壓縮比"。由A的定義可知,此時對應(yīng)的失真圖像上的半徑應(yīng)該為。設(shè)在映射到失真圖像上的點為^',"。同樣,由于角度"保持不變,因此,如果"p。^,貝U其中—。,"。卜(M + l)x(iV + l)/2,即為第一步中的失真圖像的中心點坐/ =附o 一Q sina 。 cos"如果^"?!磚,則有按目標(biāo)圖像""&W中的坐標(biāo),由第一行起從左至右,從上至下的方法,即按如下的順序掃描整個圖像坐標(biāo)空間 (1,1),(1,2)…(1,?!?2,1),(2,2)…(2,0,…(尸,l),(P,2)…(P,e),便能夠求得目標(biāo)圖上的點映射到失真圖像上的點的位置^e^',",這樣便制成了一張畸變補償映射表Map。四、根據(jù)畸變補償映射表,利用雙線性插值算法實現(xiàn)畸變補償 最后一步操作是利用己經(jīng)建立的畸變補償映射^, jil川雙線性楊 值算法實現(xiàn)畸變補償。在上述遍歷整個""^,w圖像坐標(biāo)過程中,由整數(shù) 值像素點^,w計算得到的像素位置^',"可能為非整數(shù),而圖像像素空間 只能在整數(shù)空間中定義,因而在(p',w點上沒有灰度定義。此時需要引入一種新的技術(shù),即灰度級插補技術(shù)通過基于整數(shù)坐標(biāo)的灰度值推斷那 些非整數(shù)位置的灰度值。本發(fā)明使用)雙線性插值法實現(xiàn)灰度插補。雙 線性插值又稱為雙線性內(nèi)插,其核心思想是在兩個方向上分別進行一次 線性插值。在數(shù)字圖像上,則是利用4個鄰近點的灰度值在兩個方向卜 作線性插值。假設(shè)在像素坐標(biāo)系r-c坐標(biāo)中,待求點尸,坐標(biāo)為(。。的坐標(biāo)上的值 為/(。 = /(^),鄰近的四個點的坐標(biāo)分別為M,",O、 Ml2=",cg、 M21=(r2,Cl)、 M22=(r2,c2),其值分別為/(似H)、 /(^12)、 /(〃21)、 /(似22)。 如圖4所示首先在c方向上進行插值/(i ,)a^l/(Mu) + ^L/(M,2)涵匿i^",c)接著在r方向上進行線性插值,得 =/(r, c) /(《)+ )可得/(尸)=/(^);一。("肌)+ ("(C-c')肌)+0"2-#2、) (/2-^)(C廣C,)(r2 - ^ )(c2 - c,) (/2 - q )(c2 - a )在像素空間中,可以利用相鄰像素點坐標(biāo)差為1這個特點簡化式中 分母的運算,從而大大提高計算速度。雙線性插值法具有計算簡單、幾何上準(zhǔn)確度較高、能克服灰度不連續(xù)等優(yōu)點,使復(fù)原的圖像盡可能的保持平滑。其缺點是山r亮皮內(nèi)禍, 圖像的光譜信息發(fā)生了變化,易造成高頻成分的損失,使圖像變的模糊。圖5(a乂b)示例了桶形畸變補償前后的畸變圖像和復(fù)原圖像。對于周 邊紅色部分,是因為那一部分目標(biāo)圖像像素點映射到原始失真圖像的時 候落在有效區(qū)間的外部,導(dǎo)致不存在有效的鄰域像素使之進行灰度值插 補操作,因此只是簡單的用指定的填充值對其進行填充。圖中所示的填充值F"/F幽e為(255,0,0)。從畸變補償前后的圖像比對中可以看出,經(jīng)過畸變補償之后,整幅圖像特別是比較靠中間的部分,基本上得到了很 好地還原了。此外,針對復(fù)原的圖像的有效區(qū)域比完整復(fù)原后的圖像要小得多的 事實依據(jù),我們對完整復(fù)原圖像目標(biāo)大小進行了限制,即當(dāng)復(fù)原圖像高 度p與寬度e分別大于某些值時,則直接進行截取而肯定不會損壞有效圖像區(qū)域,而且還可以大大減少計算量,即在制作映射表的時候可以只考 慮中心"2的區(qū)域。在圖5(C)所示的圖像中原始的尸=1210,0 = 1614;經(jīng)過截取后戶=800, 2 = 1000。
權(quán)利要求
1、一種基于廣角鏡頭的畸變補償方法,其特征在于,它包括a)制作同心圓模板,獲取模板實測圖像數(shù)據(jù);b)利用模板實測圖像數(shù)據(jù)進行樣條曲線建模;c)利用樣條曲線建模參數(shù)制作畸變補償映射表;d)根據(jù)畸變補償映射表,利用雙線性插值算法實現(xiàn)畸變補償。
2、 根據(jù)權(quán)利要求1所述的基于廣角鏡頭的畸變補償方法,其特征在 于,所述步驟a)包括al)制作一個理想半徑為^"^3r。,…,(2"-%)的同心圓;a2)在同心圓模板的圓心添加一個"十字架";a3)在對準(zhǔn)圖像傳感器和同心圓"十字架"的情況下,拍取同心圓 模板圖像,獲取同心圓模板的實測半徑&"。A,…^);其中,r。為同心圓模板的最小半徑值,"為同心圓的圓個數(shù),/t表示 第yt個同心圓,。,^…A為同心圓模板的實測值,^為實測最小半徑值,r 為實測最大半徑值。
3、 根據(jù)權(quán)利要求2所述的基于廣角鏡頭的畸變補償方法,其特征在 于,所述步驟b)包括bl)定義不同采樣半徑位置的壓縮比&為實測半徑值與理想半徑值 的比值,定義不同采樣半徑位置的逆壓縮比S"為理想半徑值與實測半徑值的比值KsHA2,...,sm)=v《="〃。,^,...^/(2"—,0)b2)以實測半徑為橫軸,壓縮比為縱軸構(gòu)成坐標(biāo)系構(gòu)建桶形畸變規(guī) 律曲線^=/(",得到三次樣條系數(shù)矩陣^b3)以理想半徑為橫軸,逆壓縮比為縱軸構(gòu)成坐標(biāo)系構(gòu)建桶形崎變 規(guī)律曲線SV 得到三次樣條系數(shù)矩陣丄;b4)定義當(dāng)r。較小時,修正^=^=0,則^^V,1; b5)用兩組三次樣條曲線擬合桶形畸變規(guī)律 前向樣條曲線&對應(yīng)于& = / W ,1SA:S",且。=0, ^、 V q、《為三次樣條系數(shù)矩陣^的行系數(shù)值;后向樣條曲線^對應(yīng)于<formula>formula see original document page 3</formula>其中<formula>formula see original document page 3</formula> 且"1曰寸令(2"l)r'=0 , <、"、<、^為三次樣條系數(shù)矩陣A的行系數(shù)值。
4、根據(jù)權(quán)利要求3所述的基于廣角鏡頭的畸變補償方法,其特征在 于,所述步驟C)包括Cl)利用前向投影原理求得目標(biāo)圖像的大??;C2)利用前向投影原理求得失真圖像到目標(biāo)圖像的映射表。
全文摘要
本發(fā)明公開了一種利用三次光滑樣條曲線對廣角鏡頭造成的桶形失真進行建模補償從而達(dá)到畸變補償?shù)募夹g(shù),它的步驟包括1)制作同心圓模板,在同心圓圓心打上十字架;2)對準(zhǔn)拍取同心圓模板圖像,獲取模板理想半徑值及實測半徑值;3)根據(jù)兩組半徑值,利用自然樣條曲線構(gòu)造前向樣條曲線和后向樣條曲線;4)利用前向樣條曲線計算復(fù)原圖像的大小,利用后向樣條曲線,建立畸變補償映射表;5)根據(jù)映射表,利用雙線性插值算法計算實現(xiàn)畸變補償。本發(fā)明參與同心圓半徑計算的判據(jù)點多,使得半徑計算精度高,抗噪聲能力強;采用樣條曲線對桶形失真進行建模實現(xiàn)補償,計算簡單可靠;根據(jù)建模結(jié)果制作畸變補償映射表,實現(xiàn)了高效、實時和有效的畸變補償。
文檔編號G02B27/00GK101661162SQ20091019216
公開日2010年3月3日 申請日期2009年9月9日 優(yōu)先權(quán)日2009年9月9日
發(fā)明者文旭樺, 朱雄泳, 譚洪舟 申請人:譚洪舟