楊 懷,陳 烽
(西藏民族大學(xué)信息工程學(xué)院,陜西 咸陽 712082)
在計(jì)算機(jī)視覺研究中,攝影測(cè)量技術(shù)以攝像機(jī)標(biāo)定為基礎(chǔ),而攝像機(jī)標(biāo)定在一些其它技術(shù)中也是非常重要的一部分,例如三維重建、立體成像等。由于相機(jī)的光學(xué)成像采用傳統(tǒng)的小孔成像技術(shù),造成了成像平面上的空間點(diǎn)與成像點(diǎn)之間距離較遠(yuǎn),同時(shí)伴隨著一種極其復(fù)雜的非線性關(guān)系,也就是通常所說的鏡頭畸變。鏡頭畸變不但會(huì)在一定程度上降低攝像機(jī)的校準(zhǔn)精準(zhǔn)度,而且還有使圖像特征位置產(chǎn)生誤差。
為解決該問題,李賽[1]等人一種基于POS(定位定姿系統(tǒng))數(shù)據(jù)的紅外影像分步幾何校正方法。利用視矢量法對(duì)紅外影像進(jìn)行初始化校正,將其投射到高斯地輔平面上,完成拼接、虛擬空間點(diǎn)提取等操作;利用最小二乘法對(duì)影像進(jìn)行二次校正,完成紅外影像的幾何校正。姚欽舟[2]等人介紹了一種用于水下透視投影的畸變校正算法。首先,采用四維光場(chǎng)參數(shù)建立多層平面折射模型,對(duì)水下圖像進(jìn)行分析,得到水中成像點(diǎn)與校正成像點(diǎn)之間的映射關(guān)系;然后,根據(jù)二者之間的映射關(guān)系,把水下圖像轉(zhuǎn)化成立體投射圖像;最后,利用該方法對(duì)立體投射圖像進(jìn)行畸變校正。
上述兩種方法均需要特定的標(biāo)定物來調(diào)整攝像機(jī)內(nèi)外的各項(xiàng)參數(shù),實(shí)現(xiàn)過程相對(duì)來說比較復(fù)雜,對(duì)于一些特殊環(huán)境顯然是不合適的。基于此,本文提出基于深度學(xué)習(xí)的圖像特征位置誤差校正方法。在提取得到圖像特征點(diǎn)的位置信息后,選取AlexNet作為深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu),同時(shí)引入dropout策略和修正線性單元激活函數(shù),提高算法的學(xué)習(xí)速率;建立圖像誤差模型和校正模型,在牛頓迭代法的指導(dǎo)下,對(duì)θ值和校正參數(shù)進(jìn)行最精準(zhǔn)的估計(jì)和計(jì)算,至此完成圖像特征位置誤差校正。選取損失率、均方根誤差和均方誤差作為算法的評(píng)價(jià)指標(biāo),將本文方法與其它方法展開對(duì)比仿真,結(jié)果表明,本文方法取得了最理想的誤差校正效率,同時(shí)保證校正后的圖像與原始圖像之間最為接近。
將參數(shù)引入到圖像灰度插值算法中,從而實(shí)現(xiàn)了圖像的特征點(diǎn)定位。通過對(duì)參數(shù)的持續(xù)調(diào)整,有效修正了圖像的非均勻性、非對(duì)稱引起的特征點(diǎn)模糊,具體實(shí)現(xiàn)過程如下所示:
1)利用高斯低通濾波器[3]實(shí)現(xiàn)對(duì)圖像的平滑濾波處理,將濾波器的窗口寬度設(shè)置與圖像寬度相等,方差保證在50以上。
2)對(duì)圖像的邊緣信息進(jìn)行特征提取。
3)利用數(shù)學(xué)形態(tài)學(xué)算法將圖像邊緣完整地連接起來,并對(duì)曲線內(nèi)部進(jìn)行填補(bǔ),分割圖像得到若干個(gè)區(qū)域。
4)通過對(duì)每個(gè)分割區(qū)域的邊界序列進(jìn)行提取,得出各邊界曲線曲率的大小。將兩個(gè)邊緣陣列劃分成上、下兩個(gè)邊緣。
5)利用KD樹(k-dimensional tree)[4]算法,找出上、下兩個(gè)邊緣集合中距離最為接近的點(diǎn),構(gòu)成對(duì)應(yīng)點(diǎn)對(duì)。
6)對(duì)處于對(duì)應(yīng)點(diǎn)對(duì)之間的所有點(diǎn)求取灰度值,得到圖像整體的灰度分布情況。
7)根據(jù)圖像灰度分布數(shù)據(jù),對(duì)上邊緣特征點(diǎn)進(jìn)行求解,過程如下:
步驟一:確定圖像中灰度值最大值,選取該值的30%~40%作為分割閾值。將分割閾值與圖像中的分割灰度值進(jìn)行比較,選取灰度值大于閾值的那一部分,將其作為灰度分布的有效數(shù)據(jù)序列[5]。
步驟二:在數(shù)據(jù)序列中,所有的灰度值都是由各單位像素的光強(qiáng)記錄量化后得到的,為了更好地了解實(shí)際的灰度分布狀況,將各數(shù)據(jù)序列的下標(biāo)放大10倍。通過對(duì)圖像下標(biāo)放大處理后,使得圖像的最大、最小灰度數(shù)值均為0。在數(shù)據(jù)序列中選取一個(gè)控制點(diǎn),利用樣條插值[6]得到擴(kuò)大后圖像的灰度值。
步驟三:將下標(biāo)擴(kuò)大后的圖像序列長度設(shè)定為N,i時(shí)刻下的序列值為gi,待處理圖像的序列總量為
(1)
當(dāng)An=0時(shí),說明分割區(qū)域中不含有圖像邊緣特征點(diǎn);當(dāng)An>0時(shí),說明分割區(qū)域中含有圖像邊緣特征點(diǎn)。
步驟四:圖像的不完整主要體現(xiàn)在邊緣不完整。當(dāng)An的值在[0.5,1]區(qū)間內(nèi)時(shí),圖像的邊緣是比較完整的,此時(shí),可利用插值算法求取下標(biāo)的值。將下標(biāo)擴(kuò)大后再對(duì)其進(jìn)行逆運(yùn)算,結(jié)合過程6),得到圖像灰度分布的特征點(diǎn)。
步驟五:在對(duì)應(yīng)點(diǎn)對(duì)求取灰度值和邊緣特征點(diǎn)后,即可得到圖像中所有的特征點(diǎn),從而獲得其位置信息,同時(shí)保留更多的細(xì)節(jié)特征[7],這對(duì)于后續(xù)進(jìn)行特征位置誤差校正起到了一定的推動(dòng)作用。
基于特征點(diǎn)位置的提取結(jié)果,選擇AlexNet作為圖像特征位置誤差校正的深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu),其基本架構(gòu)圖如圖1所示。
圖1 AlexNet基本架構(gòu)圖
從圖1中可以看出,AlexNet總有8個(gè)層次。AlexNet利用dropout策略和修正線性單元激活函數(shù)來緩和學(xué)習(xí)過程中的過擬合情況,同時(shí)借助GPU(Graphics Processing Unit,圖形處理器)提高學(xué)習(xí)效率。
經(jīng)過上述分析處理后,利用AlexNet結(jié)構(gòu)實(shí)現(xiàn)對(duì)圖像特征位置誤差的校正。建立誤差模型[8]θd(θ)=θ+k0θ3+k1θ5+k2θ7,在模型中引入校正參數(shù){r0,r1,r2},得到圖像特征位置誤差校正模型,如式(2)所示
(2)
式中,θ(θd)表示經(jīng)過誤差校正后圖像所對(duì)應(yīng)的入射角[9],θd表示未經(jīng)過誤差校正前,圖像所對(duì)應(yīng)的入射角。
用If來表示待校正誤差圖像,誤差參數(shù)為{k0,k1,k2},將If的幾何分辨率設(shè)定為H×W,其中,W、H分別為圖像的長和寬。在待校正誤差圖像中任取一點(diǎn)Pf,其像素坐標(biāo)值為(xf,ff),將其代入到笛卡爾坐標(biāo)系中,得到笛卡爾坐標(biāo)值(xc,fc),計(jì)算過程為
(3)
式中,fx、fy分別表示在水平方向和垂直方向上,待校正誤差圖像單位長度內(nèi)的像素格[10]數(shù)量,(u0,v0)表示待校正誤差圖像中心點(diǎn)的位置坐標(biāo),可由式(4)推理得到
(4)
那么,即可得到點(diǎn)Pf與中心點(diǎn)
(u0,v0)之間的距離rd為
(5)
進(jìn)一步推理可得
(6)
在已知誤差模型θd(θ)=θ+k0θ3+k1θ5+k2θ7中θd和{k0,k1,k2}值的前提下,由于θd(θ)是θ的七次多項(xiàng)式函數(shù)[11],那么可通過牛頓迭代法對(duì)多項(xiàng)式函數(shù)進(jìn)行求解。
牛頓迭代法是利用有限次迭代[12]對(duì)方程f(x)=0的根進(jìn)行估計(jì)的一種方法。在已知函數(shù)f(x)的前提下,即可推理得到其導(dǎo)數(shù)f′(x)的值。選定一個(gè)與f(x)零點(diǎn)比較接近的初始值x0,比x0更精準(zhǔn)的估計(jì)值x1表達(dá)式為
(7)
重復(fù)上述計(jì)算過程
(8)
循環(huán)迭代計(jì)算,直至滿足預(yù)設(shè)的估計(jì)值準(zhǔn)確度[13]δ=xn+1xn為止,此時(shí)輸出方程f(x)=0的估計(jì)值結(jié)果。
在計(jì)算θ值的過程中,將方程f(x)=0轉(zhuǎn)換為函數(shù)的形式,得到
f(θ)=θ+k0θ3+k1θ5+k2θ7-θd
(9)
f(θ)的導(dǎo)數(shù)f′(θ)計(jì)算公式為
f′(θ)=1+3k0θ2+5k1θ4+7k2θ6
(10)
根據(jù)牛頓迭代法思路,θ的估計(jì)值可通過式(11)計(jì)算得到
(11)
得到θ的估計(jì)值后,可對(duì)式(2)作出部分改進(jìn),得到
(12)
對(duì)于校正參數(shù){r0,r1,r2},可通過范德蒙行列式[14]計(jì)算得到。將式(12)轉(zhuǎn)換為矩陣PX=Q的形式,即可得到
(13)
式中,l表示矩陣P中需要計(jì)算的θ的數(shù)量,l=H×W即為校正圖像中所有像素格的數(shù)量[15]。
矩陣P即為一個(gè)范德蒙行列式,矩陣X對(duì)應(yīng)校正參數(shù),可通過X=P-1Q計(jì)算得到
(14)
至此,關(guān)于校正模型的所有參數(shù)均已計(jì)算完畢,將待校正誤差圖像代入到模型中,完成圖像特征位置誤差校正。
為了驗(yàn)證本文方法在實(shí)際應(yīng)用中是否能取得理想的誤差校正效果,與引言中提到的分步幾何校正方法和畸變校正方法展開了對(duì)比仿真。仿真軟件選擇的是Matlab 2020b,顯卡為Geforce RTX2080 Ti。實(shí)驗(yàn)圖像來自于UC Merced Land-Use圖像數(shù)據(jù)集,共選取了1500張,利用三種算法分別進(jìn)行50次實(shí)驗(yàn),對(duì)不同指標(biāo)計(jì)算結(jié)果取平均值,得到最終實(shí)驗(yàn)測(cè)試數(shù)據(jù)。
為了更加直觀地對(duì)比三種算法的綜合性能,本文選取損失率Lose、均方根誤差RMSE以及均方誤差MSE作為算法的評(píng)價(jià)指標(biāo)。損失率指的是算法在誤差校正過程中的訓(xùn)練效果。Lose的值越小,說明訓(xùn)練曲線越收斂,誤差校正的效果也就越好。
均方根誤差是用來表示經(jīng)過校正后的圖像和原圖像的擬合程度,RMSE的值越小,說明算法的擬合程度越高,校正效果也就越理想。RMSE的計(jì)算公式如式(15)所示
(15)
均方誤差是一種度量方法,它能反映出算法對(duì)圖像的校正效果和原始圖像之間的不同。MSE的值越小,則表示經(jīng)算法校正后的圖像愈接近原始圖像。MSE的計(jì)算公式分別為
(16)
三種算法損失率Lose對(duì)比結(jié)果如圖2所示。
圖2 三種算法Lose值對(duì)比結(jié)果
通過對(duì)比圖2數(shù)據(jù)可知,隨著實(shí)驗(yàn)次數(shù)的不斷增加,三種算法的損失率均出現(xiàn)了下降趨勢(shì),綜合對(duì)比之下可以發(fā)現(xiàn),本文方法的損失率曲線始終都是最低且最接近于0的。因此,可以說明本文方法對(duì)于圖像特征位置誤差校正的效果最理想。
經(jīng)過50次實(shí)驗(yàn)后,三種算法的RMSE值對(duì)比結(jié)果如圖3所示。
圖3 三種算法RMSE值對(duì)比結(jié)果
從圖3中可以很清楚地看出,本文方法取得的RMSE值始終都是0.8pixel以下,而分步幾何校正方法的RMSE值最高達(dá)到了1.6pixel,畸變校正方法更是達(dá)到了1.8pixel。由此得出結(jié)論,利用本文方法校正圖像特征位置誤差,結(jié)果是最優(yōu)秀的,與原始圖像也是最接近的。
三種算法的MSE值對(duì)比結(jié)果如圖4所示。
圖4 三種算法MSE值對(duì)比結(jié)果
從圖4中可以看出,隨著實(shí)驗(yàn)次數(shù)的不斷增加,三種算法的均方誤差都出現(xiàn)了不同程度的下降,可以很明顯地看到,本文方法的均方誤差曲線始終要低于其它兩種方法,由此證明,利用本文方法校正圖像特征位置,可得到與原始圖像差異最小的圖像。
為直觀證明研究方法對(duì)特征特征位置誤差的校正效果,從UC Merced Land-Use圖像數(shù)據(jù)集中隨機(jī)選取三幅密集特征圖像,對(duì)其中存在位置誤差的特征實(shí)現(xiàn)校正,結(jié)果如圖5所示。
圖5 研究方法的特征位置校正結(jié)果
從圖5中可以看出,研究方法應(yīng)用下,能夠精準(zhǔn)定位圖像發(fā)生畸變的特征位置,對(duì)其完成校正。本次實(shí)驗(yàn)結(jié)果證明了研究方法下圖像保持了特征細(xì)節(jié)信息,具有理想的實(shí)用性能。
傳統(tǒng)圖像特征位置誤差校正方法存在誤差大、精度低等問題,導(dǎo)致特征校正后的圖像與原始圖像細(xì)節(jié)出現(xiàn)偏差?;诖?提出基于深度學(xué)習(xí)的圖像特征位置誤差校正方法。利用深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)建立誤差模型和校正模型,通過對(duì)校正模型中校正參數(shù)和θ值的計(jì)算,完成圖像特征位置誤差校正。在對(duì)比仿真中,本文方法具有更低的損失率、均方根誤差以及均方誤差,驗(yàn)證了本文方法具有理想的誤差校正效果。在下一步的工作中,將會(huì)繼續(xù)深入研究如何將校正模型應(yīng)用到更加復(fù)雜的圖像中,為計(jì)算機(jī)視覺領(lǐng)域的發(fā)展做好基礎(chǔ)準(zhǔn)備工作。