專利名稱:簡(jiǎn)易線性廣角鏡頭的校正法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于攝像機(jī)技術(shù)領(lǐng)域,涉及廣角攝像機(jī)的標(biāo)定和校正技術(shù)。
背景技術(shù):
很多攝像機(jī)鏡頭都產(chǎn)生畸變,尤其是廣角鏡頭的畸變更大。廣角鏡 頭攝像機(jī)包括反射折射、魚眼等等攝像機(jī)。廣角攝像機(jī)立體視覺系統(tǒng)在 微小型機(jī)器人視覺導(dǎo)航和近距離大視場(chǎng)物體識(shí)別與定位中有著廣泛的應(yīng) 用。它在視覺監(jiān)控、跟蹤和機(jī)器人導(dǎo)航中,具有獨(dú)特的寬闊視野,可以 彌補(bǔ)標(biāo)準(zhǔn)鏡頭視場(chǎng)較窄的缺點(diǎn)。但是,廣角鏡頭具有一個(gè)很大的缺點(diǎn)就 是所拍攝的圖像存在非常嚴(yán)重的變形,這對(duì)基于廣角鏡頭的視頻裝置直 接進(jìn)行監(jiān)控、跟蹤帶來非常大的困難。因此,在利用魚眼(或廣角)鏡 頭的監(jiān)控技術(shù)中,很重要的一步就是如何通過采集獲取的廣角圖像對(duì)廣 角鏡頭進(jìn)行校正。在前人提出的校正方法中,需要曲線擬合,由于曲線
是很小段的曲線,擬合結(jié)果對(duì)于后續(xù)的校正帶來很大的不穩(wěn)定性;而有 些方法過于復(fù)雜,很難運(yùn)用于實(shí)際。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)的問題,本發(fā)明的目的是便于工程計(jì)算和實(shí)施, 同時(shí)在精度要求不高的情況下完全能滿足工程需要,為此而提出一種簡(jiǎn) 易線性廣角鏡頭的校正方法。
為實(shí)現(xiàn)上述目的,簡(jiǎn)易線性廣角鏡頭的校正法包括步驟
1) .攝取含有直線場(chǎng)景的圖像,用直線檢測(cè)算法來提取直線,再提
取來自圖像直線上的圖像點(diǎn);
2) .對(duì)來自同一直線上的圖像點(diǎn)進(jìn)行三點(diǎn)組合;
3) .應(yīng)用廣義除式模型,基于每個(gè)組合,建立一個(gè)畸變參數(shù)的線性 方程為
4(w3 [m,m2m。] — m2 [11^1113111。] +m, [11121113111。])、 十(v, [m,m2m。]-^[11^1113111。] +、2[11121113111。])^:2
+ (w3v3[m1m2m。] — "2v2[m1m3m。] +wv![m2m3m。])A:3 —[11^11121113] = 0:
式中m。表示畸變中心的齊次坐標(biāo),是以圖像中心作為初始值,m,, m2, 1113表示直線圖像上三個(gè)點(diǎn)的齊次坐標(biāo),(",,v,)為m,.-m。前兩個(gè)坐標(biāo)對(duì)應(yīng) 的值;
4) .對(duì)上述線性方程進(jìn)行求解,將計(jì)算結(jié)果作為畸變參數(shù)^ &、 ^的 初始值;
5) .應(yīng)用最小二乘準(zhǔn)則,使用計(jì)算結(jié)果誤差最小的準(zhǔn)則進(jìn)行優(yōu)化對(duì)畸 變參數(shù)A、 &、 /^進(jìn)行優(yōu)化;
6) .應(yīng)用求解的畸變參數(shù)4、 &、 ^對(duì)鏡頭進(jìn)行校正 是根據(jù)畸變參數(shù)V &、 ^求解攝像機(jī)的內(nèi)參數(shù)為
內(nèi)參數(shù)是指鏡頭成像模型與鏡頭本身有關(guān)的參數(shù),準(zhǔn)確計(jì)算出這些 參數(shù)后,就能對(duì)圖像的畸變進(jìn)行校正。
本發(fā)明提供的方法完全是線性的,不需要進(jìn)行曲線擬和,所以簡(jiǎn)便、 實(shí)用。本發(fā)明的方法可以方便的應(yīng)用于工程計(jì)算和工程實(shí)施,完全能夠 滿足精度要求不高的工程需要。在精度要求很高的情況下,可以作為高 精度算法的初始值進(jìn)一步優(yōu)化,而且所采用的廣義除式模型考慮的畸變 參數(shù)更全面,從而測(cè)量精度能滿足通常的需要,具有魯棒性好、穩(wěn)定性 高等特點(diǎn)。本發(fā)明使得廣角鏡頭校正走向?qū)嵱没?、?jiǎn)便化。
圖l (a)是一幅廣角Sigma-F3.4魚眼鏡頭所拍攝的室內(nèi)圖像;(b)
是應(yīng)用本方法校正的結(jié)果。
圖2 (a)是一幅廣角FC-E8魚眼鏡頭所拍攝的室外圖像;(b)是
應(yīng)用本方法校正的結(jié)果。
圖3 (a)是一幅廣角FC-E8魚眼鏡頭所拍攝的室外圖像;(b)是
5應(yīng)用本方法校正的結(jié)果。
圖4為本發(fā)明的流程圖。
具體實(shí)施例方式
下面結(jié)合附圖詳細(xì)說明本發(fā)明技術(shù)方案中所涉及的各個(gè)細(xì)節(jié)問題。 應(yīng)指出的是,所描述的實(shí)施例僅旨在便于對(duì)本發(fā)明的理解,而對(duì)其不起 任何限定作用。
為了實(shí)現(xiàn)本發(fā)明的方法,實(shí)施時(shí)采用一臺(tái)CPU是1. 6G,內(nèi)存是512M, 硬盤80G的計(jì)算機(jī)或其他類型的計(jì)算機(jī),在計(jì)算機(jī)上采用Matlab編制相 關(guān)程序,現(xiàn)面請(qǐng)參見圖4本發(fā)明方法的流程圖,本發(fā)明方法的具體實(shí)施 步驟如下
1. 直線圖像點(diǎn)提取
對(duì)包含直線的場(chǎng)景,進(jìn)行圖像拍攝?,F(xiàn)實(shí)生活中,大量的場(chǎng)景都包 含直線,如辦公室內(nèi)的天花板上逐個(gè)排列成直線,地板往往也是。對(duì)于 等大小的天花板和地板,采用四方板上的角點(diǎn)為直線點(diǎn)的話,可以很好 的確定直線點(diǎn)的相互位置,因?yàn)槎际堑乳g隔大小。在室外場(chǎng)景中,也包 含大量的直線場(chǎng)景,如同一層樓逐次排列的窗戶。對(duì)拍攝的圖像,用成 熟的直線檢測(cè)算法如哈夫變換(houghtransform)來提取直線,再提取直 線的圖像點(diǎn),也可以采取人機(jī)交互的方法,直接用鼠標(biāo)選取圖像的,然 后計(jì)算機(jī)記錄選取點(diǎn)的位置提取圖像點(diǎn)。利用拍攝的場(chǎng)景中有1條或1 條以上的直線,對(duì)直線上的圖像點(diǎn)進(jìn)行提取。理論上來說, 一條直線上 的點(diǎn)足以計(jì)算出攝像機(jī)鏡頭的畸變參數(shù),如果使用很多條直線圖像,將 增加計(jì)算結(jié)果的穩(wěn)定性,因?yàn)橹本€越多,所得到的方程越多,所以可以 是方程解算的結(jié)果總體誤差最小,從而是解算結(jié)果不依賴于某一條直線。 設(shè)圖像場(chǎng)景中提取出iV條直線,在每條直線圖像上提取的點(diǎn)組成一個(gè)序 列用M,來表示,hl,...,iV。
2. 點(diǎn)組生成
對(duì)每一個(gè)直線圖像點(diǎn)序列M,,用S,A,A表示起始點(diǎn),中間點(diǎn),和最 后一個(gè)點(diǎn)。除去這三點(diǎn),",為中其余的點(diǎn)集用i 戶表示。用i 戶中尸,,尸2鄰 閾外的點(diǎn)分別與(《,^)進(jìn)行組合,從而形成不同的三元組。對(duì)(P,,A)禾口
6( 2,戶3)都重復(fù)這樣的過程。所有的三元點(diǎn)集記作集合G。點(diǎn)組的選取使得 一個(gè)點(diǎn)組包括三個(gè)點(diǎn),三個(gè)點(diǎn)來自同一條直線,無需對(duì)提取的點(diǎn)組進(jìn)行 任何線的擬合。采用這種方法生成點(diǎn)組的目的是為了使得選取的每個(gè)三 元組中的三個(gè)點(diǎn)都保持一定的距離。這是應(yīng)為我們要校正畸變,所以盡 量保持三個(gè)點(diǎn)之間有很大畸變,如果三個(gè)點(diǎn)靠得很近,就會(huì)使得三個(gè)圖 像點(diǎn)接近成一條直線,這會(huì)使得計(jì)算結(jié)果對(duì)誤差很敏感,所以盡量讓選 取的點(diǎn)保持一定距離。
3. 基于廣義除式模型建立方程 對(duì)G中的每個(gè)三元組(m,, m2, m3),建立下列方程
(w32 [m' m 2m 。 ] - M, [m !1113111 。 ] + M, [m 2m3m 。肌 + (v32 [m' m 2m 。 ] — v〗[m'n^m q ] + vf [m 2m 3m 。 ])&2
+ ("3v3[mim2mQ] —"2v2[niim3m。] +w,v,[ni2m3m。])/t3 —[miii^nig ] = 0,
其中/t,人A為畸變參數(shù),m。表示畸變中心的齊次坐標(biāo)(以圖像中心作為初 始值),m,, m2, m3表示直線圖像上三個(gè)點(diǎn)的齊次坐標(biāo),(",,v,)為m,-m。 前兩個(gè)坐標(biāo)對(duì)應(yīng)的值??梢钥闯鲆陨戏匠剃P(guān)于畸變參數(shù)是完全線性的。 線性方程的好處是易于求解,且求解的結(jié)果比較穩(wěn)定。依次對(duì)G中的每個(gè) 三元組,建立相應(yīng)的線性方程,這樣就建立了大量的線性方程,線性方 程數(shù)量越多,求解的結(jié)果就會(huì)越魯棒。
4. 畸變參數(shù)計(jì)算
基于2)與3),對(duì)每個(gè)點(diǎn)組都建立相應(yīng)的一個(gè)線性方程,對(duì)多個(gè)圖像點(diǎn) 選取多個(gè)圖像點(diǎn)組,從而建立多個(gè)線性方程,然后根據(jù)多個(gè)線性方程應(yīng) 用奇異值分解(sigular value decomposition,SVD)方法解算出畸變參數(shù) (^太人),對(duì)上述線性方程進(jìn)行求解,求解結(jié)果作為畸變參數(shù)(&入,&) 的初始值。SVD分解對(duì)解線性方程非常有效,能保證求解的結(jié)果比較可 罪。
5. 畸變參數(shù)優(yōu)化
應(yīng)用最小二乘準(zhǔn)則,使用計(jì)算結(jié)果誤差最小的準(zhǔn)則進(jìn)行優(yōu)化對(duì)畸變 參數(shù)、,&^進(jìn)行優(yōu)化。優(yōu)化的代價(jià)函數(shù)為步驟3中(^入人)結(jié)果加權(quán) 的殘差平方和?;?)對(duì)畸變參數(shù)進(jìn)行最小平方差優(yōu)化,由于基于點(diǎn)點(diǎn)
7的信息,所包含的信息多,優(yōu)化結(jié)果很魯棒。參數(shù)優(yōu)化的目的是為了是 結(jié)果的總體誤差最小,這樣得到的結(jié)果也是最合理的。
6.應(yīng)用求解的畸變參數(shù)H&對(duì)鏡頭進(jìn)行校正
根據(jù)畸變參數(shù)求解攝像機(jī)的內(nèi)參數(shù)/:、 乂、 S為
<formula>formula see original document page 8</formula>
其中記K:<formula>formula see original document page 8</formula>
利用公式K、^m-m。)對(duì)圖像點(diǎn)m進(jìn)行校正,
<formula>formula see original document page 8</formula>
(W, V)為m的坐標(biāo);/ 為焦距與像素點(diǎn)在水平方向?qū)挾鹊谋戎担琗為焦 距與像素點(diǎn)在垂直方向?qū)挾鹊谋戎?,s為圖像平面不垂直光軸產(chǎn)生的畸變
因子,K,v。)為光軸與圖像平面交點(diǎn)坐標(biāo),這些參數(shù)組成攝像機(jī)的內(nèi)參數(shù) 矩陣K。 ^指矩陣K中根據(jù)m算出的H直。
圖l內(nèi)容為辦公室場(chǎng)景圖像,圖2為室外場(chǎng)景一建筑物側(cè)面圖像, 圖3為室外場(chǎng)景一建筑物正面圖像。
圖l(a)為Nikon D40攝像機(jī)加Sigma-F3.4魚眼鏡頭拍攝的室內(nèi)圖 像。圖2(a),圖3(a)為NIKON COOLPIX990攝像機(jī)加FC-E8魚眼鏡頭所 拍攝的室外圖像。首先對(duì)拍攝的圖像進(jìn)行直線圖像點(diǎn)提取,從提取的結(jié) 果組和點(diǎn),然后公式解算,優(yōu)化參數(shù)?;趫Dl(a),圖2(a),圖3(a)的畸 變參數(shù)求解結(jié)果分別為
^ =6.8875*10-6,A:2 =6.7741 "(J-6 ,& = 1.3896 "(T8。 & =7.5997*10—6, A;2 =7.5997 *10_6, 、=-8.9696 * 10一7 。 & =7.6471*10—6 , 、 =7.6471 *10_6, 、 = —1.1138 * 10一7 。 應(yīng)用這些求解參數(shù)對(duì)圖像進(jìn)行校正,校正結(jié)果分別如圖l(b),圖2(b),圖 3(b)所示。以上所述,僅為本發(fā)明中的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并 不局限于此,任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可理 解想到的變換或替換,都應(yīng)涵蓋在本發(fā)明的包含范圍之內(nèi),因此,本發(fā) 明的保護(hù)范圍應(yīng)該以權(quán)利要求書的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.簡(jiǎn)易線性廣角鏡頭校正法,包括步驟如下步驟S1攝取含有直線場(chǎng)景的圖像,用直線檢測(cè)算法提取直線,再提取來自圖像直線上的圖像點(diǎn);步驟S2對(duì)來自同一直線上的圖像點(diǎn)進(jìn)行三點(diǎn)組組合;步驟S3應(yīng)用廣義除式模型,基于每個(gè)組合,建立一個(gè)畸變參數(shù)的線性方程為<maths id="math0001" num="0001" ><math><![CDATA[ <mrow><mrow> <mo>(</mo> <msubsup><mi>u</mi><mn>3</mn><mn>2</mn> </msubsup> <mo>[</mo> <msub><mi>m</mi><mn>1</mn> </msub> <msub><mi>m</mi><mn>2</mn> </msub> <msub><mi>m</mi><mn>0</mn> </msub> <mo>]</mo> <mo>-</mo> <msubsup><mi>u</mi><mn>2</mn><mn>2</mn> </msubsup> <mo>[</mo> <msub><mi>m</mi><mn>1</mn> </msub> <msub><mi>m</mi><mn>3</mn> </msub> <msub><mi>m</mi><mn>0</mn> </msub> <mo>]</mo> <mo>+</mo> <msubsup><mi>u</mi><mn>1</mn><mn>2</mn> </msubsup> <mo>[</mo> <msub><mi>m</mi><mn>2</mn> </msub> <msub><mi>m</mi><mn>3</mn> </msub> <msub><mi>m</mi><mn>0</mn> </msub> <mo>]</mo> <mo>)</mo></mrow><msub> <mi>k</mi> <mn>1</mn></msub> </mrow>]]></math></maths><maths id="math0002" num="0002" ><math><![CDATA[ <mrow><mo>+</mo><mrow> <mo>(</mo> <msubsup><mi>v</mi><mn>3</mn><mrow> <mn>2</mn></mrow> </msubsup> <mo>[</mo> <msub><mi>m</mi><mn>1</mn> </msub> <msub><mi>m</mi><mn>2</mn> </msub> <msub><mi>m</mi><mn>0</mn> </msub> <mo>]</mo> <mo>-</mo> <msubsup><mi>v</mi><mn>2</mn><mn>2</mn> </msubsup> <mo>[</mo> <msub><mi>m</mi><mn>1</mn> </msub> <msub><mi>m</mi><mn>3</mn> </msub> <msub><mi>m</mi><mn>0</mn> </msub> <mo>]</mo> <mo>+</mo> <msubsup><mi>v</mi><mn>1</mn><mn>2</mn> </msubsup> <mo>[</mo> <msub><mi>m</mi><mn>2</mn> </msub> <msub><mi>m</mi><mn>3</mn> </msub> <msub><mi>m</mi><mn>0</mn> </msub> <mo>]</mo> <mo>)</mo></mrow><msub> <mi>k</mi> <mn>2</mn></msub> </mrow>]]></math></maths><maths id="math0003" num="0003" ><math><![CDATA[ <mrow><mo>+</mo><mrow> <mo>(</mo> <msub><mi>u</mi><mn>3</mn> </msub> <msub><mi>v</mi><mn>2</mn> </msub> <mo>[</mo> <msub><mi>m</mi><mn>1</mn> </msub> <msub><mi>m</mi><mn>2</mn> </msub> <msub><mi>m</mi><mn>0</mn> </msub> <mo>]</mo> <mo>-</mo> <msub><mi>u</mi><mn>2</mn> </msub> <msub><mi>v</mi><mn>2</mn> </msub> <mo>[</mo> <msub><mi>m</mi><mn>1</mn> </msub> <msub><mi>m</mi><mn>3</mn> </msub> <msub><mi>m</mi><mn>0</mn> </msub> <mo>]</mo> <mo>+</mo> <msub><mi>u</mi><mn>1</mn> </msub> <msub><mi>v</mi><mn>1</mn> </msub> <mo>[</mo> <msub><mi>m</mi><mn>2</mn> </msub> <msub><mi>m</mi><mn>3</mn> </msub> <msub><mi>m</mi><mn>0</mn> </msub> <mo>]</mo> <mo>)</mo></mrow><msub> <mi>k</mi> <mn>3</mn></msub><mo>-</mo><mo>[</mo><msub> <mi>m</mi> <mn>1</mn></msub><msub> <mi>m</mi> <mn>2</mn></msub><msub> <mi>m</mi> <mn>3</mn></msub><mo>]</mo><mo>=</mo><mn>0</mn><mo>,</mo> </mrow>]]></math></maths>式中m0表示畸變中心的齊次坐標(biāo),是以圖像中心作為初始值,m1,m2,m3表示直線圖像上三個(gè)點(diǎn)的齊次坐標(biāo),(ui,vi)為mi-m0前兩個(gè)坐標(biāo)對(duì)應(yīng)的值;步驟S4對(duì)上述線性方程進(jìn)行求解,將計(jì)算結(jié)果作為畸變參數(shù)k1、k2、k3的初始值;步驟S5應(yīng)用最小二乘準(zhǔn)則,使用計(jì)算結(jié)果誤差最小的準(zhǔn)則對(duì)畸變參數(shù)k1、k2、k3進(jìn)行優(yōu)化;步驟S6根據(jù)畸變參數(shù)k1、k2、k3求解攝像機(jī)鏡頭的內(nèi)參數(shù)為<maths id="math0004" num="0004" ><math><![CDATA[ <mrow><msub> <mi>f</mi> <mi>u</mi></msub><mo>=</mo><mfrac> <mn>1</mn> <msqrt><msub> <mi>k</mi> <mn>1</mn></msub> </msqrt></mfrac><mo>,</mo> </mrow>]]></math> id="icf0004" file="A2008102227730002C4.tif" wi="18" he="10" top= "186" left = "24" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths><maths id="math0005" num="0005" ><math><![CDATA[ <mrow><msub> <mi>f</mi> <mi>v</mi></msub><mo>=</mo><msqrt> <mfrac><msub> <mi>k</mi> <mn>1</mn></msub><mrow> <msub><mi>k</mi><mn>1</mn> </msub> <msub><mi>k</mi><mn>2</mn> </msub> <mo>-</mo> <mfrac><msubsup> <mi>k</mi> <mn>3</mn> <mn>2</mn></msubsup><mn>4</mn> </mfrac></mrow> </mfrac></msqrt><mo>,</mo> </mrow>]]></math> id="icf0005" file="A2008102227730002C5.tif" wi="31" he="17" top= "184" left = "46" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths><maths id="math0006" num="0006" ><math><![CDATA[ <mrow><mi>s</mi><mo>=</mo><mo>-</mo><mfrac> <msub><mi>k</mi><mn>3</mn> </msub> <mrow><mn>2</mn><msub> <mi>k</mi> <mn>1</mn></msub> </mrow></mfrac><msub> <mi>f</mi> <mi>v</mi></msub><mo>,</mo> </mrow>]]></math> id="icf0006" file="A2008102227730002C6.tif" wi="21" he="10" top= "185" left = "82" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>利用鏡頭成像模型與鏡頭本身有關(guān)的內(nèi)參數(shù),準(zhǔn)確計(jì)算出內(nèi)參數(shù)后,完成對(duì)圖像的畸變進(jìn)行校正。
2. 按權(quán)利要求1所述的簡(jiǎn)易廣角鏡頭校正法,其特征在于,利用拍 攝的場(chǎng)景中有l(wèi)條或l條以上的直線,提取直線上的圖像點(diǎn)。
3. 按權(quán)利要求1所述的簡(jiǎn)易廣角鏡頭校正法,其特征在于,對(duì)每個(gè) 點(diǎn)組建立相應(yīng)的一個(gè)線性方程,對(duì)多個(gè)圖像點(diǎn)選取多個(gè)圖像點(diǎn)組,從而 建立多個(gè)線性方程,然后根據(jù)多個(gè)方程用奇異值分解方法解算出畸變參數(shù)。
4.按權(quán)利要求1所述的簡(jiǎn)易廣角鏡頭校正法,其特征在于,對(duì)畸變 參數(shù)A、 &、 ^進(jìn)行最小平方差優(yōu)化,使用大量的圖像點(diǎn)建立多個(gè)方程,基 于點(diǎn)點(diǎn)的信息,獲得魯棒優(yōu)化結(jié)果。
全文摘要
本發(fā)明為一種簡(jiǎn)易線性廣角鏡頭校正法,包括攝取含有直線場(chǎng)景的照像,用直線檢測(cè)算法提取直線,再提取來自直線上的圖像點(diǎn);對(duì)來自同一直線上的圖像點(diǎn)進(jìn)行三點(diǎn)組合;應(yīng)用廣義除式模型,基于每個(gè)組合,建立一個(gè)畸變參數(shù)的線性方程,計(jì)算畸變參數(shù),對(duì)畸變參數(shù)優(yōu)化;應(yīng)用求解的攝像機(jī)鏡頭的內(nèi)參數(shù)對(duì)鏡頭進(jìn)行校正。本發(fā)明提供的方法完全是線性的,不需要進(jìn)行曲線擬和,所以簡(jiǎn)便、實(shí)用。而且所采用的廣義除式模型考慮的畸變參數(shù)更全面,從而測(cè)量精度能滿足通常的需要,具有魯棒性好、穩(wěn)定性高等特點(diǎn)。本發(fā)明使得廣角鏡頭校正走向?qū)嵱没?、?jiǎn)便化。
文檔編號(hào)G06T5/00GK101685532SQ20081022277
公開日2010年3月31日 申請(qǐng)日期2008年9月24日 優(yōu)先權(quán)日2008年9月24日
發(fā)明者吳毅紅, 戴志軍, 胡占義 申請(qǐng)人:中國科學(xué)院自動(dòng)化研究所