本發(fā)明涉及了相機(jī)標(biāo)定領(lǐng)域的一種鏡頭畸變補(bǔ)償方法,具體涉及了一種特征點(diǎn)投影變換引導(dǎo)線性重構(gòu)的非對(duì)稱鏡頭畸變補(bǔ)償方法。
背景技術(shù):
1、相機(jī)標(biāo)定技術(shù)是計(jì)算機(jī)視覺和光電成像領(lǐng)域中的核心環(huán)節(jié),廣泛應(yīng)用于機(jī)器人導(dǎo)航、自動(dòng)駕駛、3d重建和虛擬現(xiàn)實(shí)等多個(gè)領(lǐng)域。相機(jī)標(biāo)定的主要目標(biāo)是確定相機(jī)的內(nèi)外參數(shù),這些參數(shù)對(duì)于將三維世界的點(diǎn)準(zhǔn)確地映射到二維圖像平面至關(guān)重要。然而,由于相機(jī)鏡頭在制造和安裝過程中不可避免地存在工藝缺陷和誤差,導(dǎo)致鏡頭產(chǎn)生各種類型的畸變,從而顯著影響成像質(zhì)量和測量精度。
2、在相機(jī)標(biāo)定過程中,內(nèi)外參數(shù)的獲取是一個(gè)線性求解過程,而畸變系數(shù)的求解則是一個(gè)非線性過程。相機(jī)標(biāo)定的誤差主要來自于相機(jī)畸變參數(shù)的擬合求解過程。因此,建立精確的畸變模型并進(jìn)行高精度的參數(shù)擬合是提高相機(jī)標(biāo)定精度的關(guān)鍵。常見的鏡頭畸變包括徑向畸變和切向畸變。徑向畸變是指光線通過鏡頭時(shí)發(fā)生的徑向彎曲,導(dǎo)致圖像中心區(qū)域和邊緣區(qū)域的放大比例不一致;切向畸變則是由于鏡頭組裝不完美引起的光線偏移。針對(duì)這些畸變,通常采用多項(xiàng)式擬合等數(shù)學(xué)模型來進(jìn)行校正,以恢復(fù)圖像的真實(shí)幾何形狀。
3、隨著相機(jī)鏡頭應(yīng)用場景的不斷擴(kuò)大,對(duì)相機(jī)標(biāo)定的適用性要求也越來越高。在一些復(fù)雜的相機(jī)畸變情況下,例如長焦鏡頭、大視角成像、鏡頭光軸偏移等場景中,常常出現(xiàn)非對(duì)稱型畸變。對(duì)于這些情況,目前主流的畸變模型難以達(dá)到良好的擬合效果,導(dǎo)致相機(jī)標(biāo)定精度下降。為了建立高精度且適用范圍更廣的畸變模型,需要引入更多參數(shù),這增加了畸變模型擬合的難度。當(dāng)前的標(biāo)定過程主要是將相機(jī)的內(nèi)外參數(shù)和畸變模型參數(shù)進(jìn)行統(tǒng)一擬合,在優(yōu)化方法收斂相機(jī)內(nèi)外參數(shù)的同時(shí)也對(duì)畸變模型參數(shù)進(jìn)行收斂。為了提高畸變模型的擬合精度,需要大量標(biāo)定圖片的特征點(diǎn)數(shù)據(jù),但這也引入了更多的相機(jī)外參數(shù)擬合,使得畸變模型參數(shù)難以獲得良好的優(yōu)化效果。
技術(shù)實(shí)現(xiàn)思路
1、為了解決當(dāng)前主流的相機(jī)標(biāo)定過程中,由于相機(jī)的內(nèi)外參數(shù)和畸變模型的參數(shù)進(jìn)行統(tǒng)一優(yōu)化求解所導(dǎo)致的在非對(duì)稱偏移畸變的情況下畸變模型參數(shù)優(yōu)化精度不夠的問題,本發(fā)明提出一種投影變換引導(dǎo)的基于特征點(diǎn)線性重構(gòu)的非對(duì)稱鏡頭畸變優(yōu)化方法。該方法通過遍歷標(biāo)定圖像的特征點(diǎn)坐標(biāo)矩陣,計(jì)算線性投影的綜合誤差,并經(jīng)過二次篩選,得到線性投影誤差最小的區(qū)域。然后,使用直線約束、交比約束和平行線約束對(duì)該區(qū)域的特征點(diǎn)進(jìn)行線性校正。接著,將線性校正后的點(diǎn)坐標(biāo)與對(duì)應(yīng)的世界坐標(biāo)求解,得到單應(yīng)性變換矩陣。由此,根據(jù)得到的單應(yīng)性變換矩陣便可以基于特征點(diǎn)的世界坐標(biāo)對(duì)標(biāo)定圖像畸變特征點(diǎn)進(jìn)行線性重構(gòu),獲得對(duì)應(yīng)的非畸變特征點(diǎn)坐標(biāo),并與畸變特征點(diǎn)坐標(biāo)進(jìn)行畸變模型的參數(shù)優(yōu)化,從而可以得到高精度的非對(duì)稱畸變模型,并對(duì)鏡頭的非對(duì)稱畸變進(jìn)行補(bǔ)償。
2、本發(fā)明的技術(shù)方案如下:
3、一、一種特征點(diǎn)投影變換引導(dǎo)線性重構(gòu)的非對(duì)稱鏡頭畸變補(bǔ)償方法
4、s1:根據(jù)棋盤格標(biāo)定圖像的特征點(diǎn)構(gòu)建畸變的圖像特征點(diǎn)坐標(biāo)矩陣;
5、s2:利用參考網(wǎng)格r對(duì)畸變的圖像坐標(biāo)矩陣進(jìn)行滑動(dòng)地網(wǎng)格提取后,獲得參考網(wǎng)格集合u;
6、s3:利用非對(duì)稱畸變模型從參考網(wǎng)格集合u中尋找畸變程度最小的參考網(wǎng)格并作為最優(yōu)參考網(wǎng)格rt;接著對(duì)最優(yōu)參考網(wǎng)格rt中的特征點(diǎn)坐標(biāo)優(yōu)化,獲得優(yōu)化后的參考網(wǎng)格rt;
7、s4:根據(jù)優(yōu)化后的最優(yōu)參考網(wǎng)格rt重構(gòu)線性的圖像特征點(diǎn)坐標(biāo)矩陣;
8、s5:根據(jù)畸變的圖像特征點(diǎn)坐標(biāo)矩陣和線性的圖像特征點(diǎn)坐標(biāo)矩陣對(duì)非對(duì)稱畸變模型中的參數(shù)進(jìn)行優(yōu)化后,獲得優(yōu)化完成的非對(duì)稱畸變模型。
9、所述s1具體為:
10、s11:采用基于harris算子的亞像素特征點(diǎn)檢測方法對(duì)棋盤格標(biāo)定圖像的所有特征點(diǎn)進(jìn)行檢測,獲得各特征點(diǎn)的坐標(biāo)和棋盤格尺寸;
11、s12:根據(jù)棋盤格尺寸初始化網(wǎng)格點(diǎn)坐標(biāo)矩陣,將檢測獲得的各特征點(diǎn)坐標(biāo)以二維網(wǎng)格形式存入網(wǎng)格點(diǎn)坐標(biāo)矩陣并記為畸變的圖像坐標(biāo)矩陣。
12、所述s3具體為:
13、s31:構(gòu)建非對(duì)稱畸變模型,將非畸變的棋盤格圖像輸入到非對(duì)稱畸變模型后生成參考畸變圖像,將參考畸變圖像的畸變中心點(diǎn)坐標(biāo)作為標(biāo)準(zhǔn)畸變中心,非對(duì)稱畸變模型的公式如下:
14、
15、
16、其中,λ為畸變的圖像坐標(biāo)矩陣中的特征點(diǎn)坐標(biāo)與畸變中心點(diǎn)(c1,c2)的距離,k1,k2,k3是三個(gè)徑向畸變系數(shù),p1,p2是兩個(gè)切向畸變系數(shù),c3、c4為兩個(gè)邊緣強(qiáng)畸變系數(shù),為畸變的圖像坐標(biāo)矩陣中第個(gè)特征點(diǎn)坐標(biāo),為預(yù)測的畸變特征點(diǎn)坐標(biāo);
17、s32:計(jì)算參考網(wǎng)格集合u中各參考網(wǎng)格對(duì)應(yīng)的直線誤差est、交比誤差ecr和平行線誤差epa,刪除參考網(wǎng)格集合u中直線誤差est、交比誤差ecr或平行線誤差epa大于預(yù)設(shè)誤差閾值的參考網(wǎng)格后,獲得初篩后的參考網(wǎng)格集合u′;
18、s33:生成直線誤差est、交比誤差ecr和平行線誤差epa對(duì)應(yīng)的權(quán)重系數(shù)并記為一個(gè)權(quán)重系數(shù)組合,計(jì)算初篩后的參考網(wǎng)格集合u′中各參考網(wǎng)格對(duì)應(yīng)的綜合誤差,將初篩后的參考網(wǎng)格集合u′中綜合誤差最小的參考網(wǎng)格作為當(dāng)前權(quán)重系數(shù)組合對(duì)應(yīng)的最優(yōu)參考網(wǎng)格rt;
19、s34:改變權(quán)重系數(shù)的取值,重復(fù)s33,獲得不同權(quán)重系數(shù)組合對(duì)應(yīng)的最優(yōu)參考網(wǎng)格rt,計(jì)算不同權(quán)重系數(shù)組合的最優(yōu)參考網(wǎng)格rt與標(biāo)準(zhǔn)畸變中心的偏移誤差ep,將偏移誤差ep最小的最優(yōu)參考網(wǎng)格rt作為最終的最優(yōu)參考網(wǎng)格rt;
20、s35:以最終的最優(yōu)參考網(wǎng)格rt對(duì)應(yīng)的綜合誤差函數(shù)et為目標(biāo)函數(shù),使用非線性優(yōu)化方法對(duì)最終的最優(yōu)參考網(wǎng)格rt中的每個(gè)特征點(diǎn)坐標(biāo)進(jìn)行優(yōu)化,獲得優(yōu)化后的最優(yōu)參考網(wǎng)格rt。
21、所述s32中,每個(gè)參考網(wǎng)格的直線誤差est的計(jì)算公式如下:
22、
23、其中,vm,n表示第m條直線lm上第n個(gè)特征點(diǎn)的縱坐標(biāo),表示第m條直線lm上的第n個(gè)特征點(diǎn)的擬合縱坐標(biāo),r為每個(gè)參考網(wǎng)格中的直線數(shù)量,s為每個(gè)參考網(wǎng)格中的特征點(diǎn)數(shù)量,為擬合直線lm帶入特征點(diǎn)橫坐標(biāo)u計(jì)算出的縱坐標(biāo)值,和分別為擬合直線lm的斜率和截距,和分別為直線lm上的第n個(gè)點(diǎn)的橫坐標(biāo)和縱坐標(biāo),和分別表示直線lm上的s個(gè)點(diǎn)的橫坐標(biāo)和縱坐標(biāo)的平均值。
24、所述s32中,每個(gè)參考網(wǎng)格的交比誤差函數(shù)ecr的計(jì)算公式如下:
25、ecr=(ecrh+ecrv)/8
26、
27、其中,ecrh為對(duì)參考網(wǎng)格中計(jì)算每一行交比誤差的總和,ecrv為對(duì)參考網(wǎng)格中計(jì)算每一列交比誤差的總和,r為每個(gè)參考網(wǎng)格中的直線數(shù)量,s為每個(gè)參考網(wǎng)格中的特征點(diǎn)數(shù)量,p1、p2、p3、p4表示為四個(gè)點(diǎn)對(duì)應(yīng)的世界坐標(biāo)系下的非畸變點(diǎn),fcr()表示交比函數(shù),和分別為直線lm上的第n個(gè)點(diǎn)的橫坐標(biāo)和縱坐標(biāo),dij表示第m行中點(diǎn)和之間的距離,i=1、2,j=3、4。
28、所述s32中,每個(gè)參考網(wǎng)格的平行線誤差epa的計(jì)算公式如下:
29、
30、
31、其中,r為每個(gè)參考網(wǎng)格中的直線數(shù)量,和分別為第m條擬合直線lm的斜率和截距,m=1,2,...,r,a為系數(shù)矩陣,為第1條到第r條平行線相交的假定滅點(diǎn),和分別為滅點(diǎn)的橫坐標(biāo)和縱坐標(biāo),b為常數(shù)矩陣,t表示轉(zhuǎn)置。
32、所述s33中,第δ個(gè)參考網(wǎng)格的綜合誤差eδ的公式如下:
33、eδ=λcrecr+λstest+λpaepa
34、其中,λcr、λst、λpa分別為第一-第三權(quán)重系數(shù)。
35、所述s4具體為:
36、s41:根據(jù)優(yōu)化后的最優(yōu)參考網(wǎng)格的特征點(diǎn)坐標(biāo)與其對(duì)應(yīng)的世界坐標(biāo)構(gòu)建用于求解單應(yīng)性矩陣的線性方程組;
37、s42:利用奇異值分解方法求解單應(yīng)性矩陣的線性方程組,求解獲得最小奇異值的特征向量作為解向量h,根據(jù)解向量h重塑獲得單應(yīng)性矩陣h;
38、s43:將特征點(diǎn)世界坐標(biāo)向量擴(kuò)展為齊次坐標(biāo),獲得擴(kuò)展后的齊次坐標(biāo)矩陣wh;再使用單應(yīng)性矩陣h對(duì)擴(kuò)展后的齊次坐標(biāo)矩陣wh進(jìn)行透視變換,得到透視變換后的齊次坐標(biāo)th,然后將透視變換后的齊次坐標(biāo)th轉(zhuǎn)換為非齊次坐標(biāo),獲得非齊次坐標(biāo)向量t并作為非畸變的圖像坐標(biāo)矩陣。
39、所述s5具體為:
40、將畸變的圖像坐標(biāo)矩陣中的特征點(diǎn)坐標(biāo)帶入非對(duì)稱畸變模型后,獲得預(yù)測的畸變特征點(diǎn)坐標(biāo),再利用非對(duì)稱畸變模型的誤差函數(shù)edis計(jì)算預(yù)測的畸變特征點(diǎn)坐標(biāo)與畸變的圖像坐標(biāo)矩陣中的角度坐標(biāo)的誤差,不斷調(diào)整非對(duì)稱畸變模型中參數(shù),直至誤差最小,獲得優(yōu)化完成的非對(duì)稱畸變模型。
41、所述非對(duì)稱畸變模型的誤差函數(shù)edis的公式如下:
42、
43、其中,為畸變的圖像坐標(biāo)矩陣中的第個(gè)特征點(diǎn)坐標(biāo),n表示特征點(diǎn)數(shù)量,為預(yù)測的畸變特征點(diǎn)坐標(biāo)。
44、二、一種計(jì)算機(jī)設(shè)備
45、所述計(jì)算機(jī)設(shè)備包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)所述一種特征點(diǎn)投影變換引導(dǎo)線性重構(gòu)的非對(duì)稱鏡頭畸變補(bǔ)償方法的步驟。
46、三、一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
47、所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)所述一種特征點(diǎn)投影變換引導(dǎo)線性重構(gòu)的非對(duì)稱鏡頭畸變補(bǔ)償方法的步驟。
48、四、一種計(jì)算機(jī)程序產(chǎn)品
49、所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序/指令,該計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)所述一種特征點(diǎn)投影變換引導(dǎo)線性重構(gòu)的非對(duì)稱鏡頭畸變補(bǔ)償方法的步驟。
50、本發(fā)明有益效果為:
51、本發(fā)明根據(jù)各類鏡頭畸變情況復(fù)雜、對(duì)相機(jī)標(biāo)定精度要求越來越高的現(xiàn)狀,提出了一種特征點(diǎn)投影變換引導(dǎo)線性重構(gòu)的非對(duì)稱鏡頭畸變補(bǔ)償方法。本發(fā)明通過定義最小參考網(wǎng)格并在檢測出的特征點(diǎn)坐標(biāo)矩陣上進(jìn)行遍歷滑動(dòng),計(jì)算出對(duì)應(yīng)的直線誤差、交比誤差和平行線誤差,并且以三種誤差加權(quán)計(jì)算的綜合誤差作為經(jīng)過初次篩選后的參考網(wǎng)格集合的評(píng)價(jià)指標(biāo),從而找出最優(yōu)參考網(wǎng)格,并計(jì)算出對(duì)應(yīng)的單應(yīng)性矩陣h,從而可以得到棋盤格圖像的畸變特征點(diǎn)坐標(biāo)對(duì)應(yīng)的非畸變特征點(diǎn)坐標(biāo),并最終進(jìn)行非對(duì)稱畸變模型擬合。
52、相比較于傳統(tǒng)的相機(jī)標(biāo)定方法,本發(fā)明提出的方法可以解決在復(fù)雜鏡頭畸變場景下,傳統(tǒng)相機(jī)畸變模型難以進(jìn)行高精度擬合的問題,同時(shí)減少相機(jī)標(biāo)定的重投影誤差和提高了相機(jī)標(biāo)定技術(shù)的適用性。