高 燕,侯艷杰,夏 霏
(太原衛(wèi)星發(fā)射中心,山西 太原 030027)
靶場(chǎng)外測(cè)事后數(shù)據(jù)處理系統(tǒng)擔(dān)負(fù)著飛行試驗(yàn)結(jié)束后,通過對(duì)外測(cè)系統(tǒng)的原始測(cè)量信息進(jìn)行整理、加工、扣除系統(tǒng)誤差及減少隨機(jī)誤差,得到用戶所需飛行器外彈道參數(shù)及彈道參數(shù)精度的職能。光學(xué)事后數(shù)據(jù)處理主要是利用光電經(jīng)緯儀拍攝的光學(xué)圖像,通過人工判讀得到測(cè)元信息,進(jìn)行2站或多站交匯彈道解算。
光電經(jīng)緯儀在跟蹤飛行目標(biāo)的過程中,由于隨動(dòng)系統(tǒng)動(dòng)態(tài)滯后及操作等原因,使視軸(主光軸)偏離目標(biāo)一定角度,產(chǎn)生脫靶量,或稱為跟蹤誤差[1]。由于設(shè)備內(nèi)部安裝反射鏡片,在跟蹤拍攝時(shí),轉(zhuǎn)動(dòng)鏡頭造成反射片擠壓變形,發(fā)生位置移動(dòng),造成光軸中心偏移。進(jìn)行脫靶量修正不足以抵消設(shè)備十字絲中心偏移對(duì)彈道解算產(chǎn)生的影響,因此在試驗(yàn)任務(wù)中需要對(duì)光十字絲進(jìn)行修正,提高彈道解算精度。
杜飛明等人提出的十字絲綜合檢測(cè)方法[2],計(jì)算量小,方便可行,已經(jīng)穩(wěn)定應(yīng)用于在線測(cè)試,但是對(duì)于消除假十字絲的方法還有待進(jìn)一步簡(jiǎn)化;李立春等人提出的基于隨機(jī)Hough變換(RHT)[3]的十字絲自動(dòng)檢測(cè)算法,對(duì)十字絲目標(biāo)的灰度、大小和形狀變化具有魯棒性,從而能夠快速識(shí)別十字絲目標(biāo),但是該算法需要滿足4條十字絲識(shí)別準(zhǔn)則才能進(jìn)行,大大限制了算法應(yīng)用的范圍;曾接賢等人提出的基于格式塔完形規(guī)則的閉合輪廓提取方法[4],融入顯著性約束和折線逼近邊緣擬合算法,減少背景邊緣和噪聲對(duì)算法的影響,通過分析邊緣間的閉合關(guān)系與區(qū)域的顯著性,得到最終閉合輪廓。該算法雖然能有效提高邊緣提取的準(zhǔn)確性,但是對(duì)邊緣顯著性存在一定的依賴,不利于工程實(shí)際應(yīng)用。
結(jié)合工程實(shí)際,利用改進(jìn)的Canny算子進(jìn)行邊緣檢測(cè),提取出十字絲邊緣,由于十字絲寬幅較大,提取邊緣較為粗糙,因此運(yùn)用自適應(yīng)的迭代閾值分割技術(shù)進(jìn)行直線提取,為獲得十字絲中心點(diǎn)位置坐標(biāo),使用加權(quán)整體最小二乘法,通過對(duì)擬合方程聯(lián)立方程組求解,得到交點(diǎn)坐標(biāo)[5]。本文提出的基于改進(jìn)的Canny算子的邊緣提取算法對(duì)光十字絲進(jìn)行修正,提高了彈道解算精度。
Canny算子的基本思想是對(duì)初始圖像采用高斯函數(shù)進(jìn)行平滑濾波,然后進(jìn)行圖像梯度計(jì)算,利用一階微分極大值提取圖像邊緣點(diǎn),同時(shí)由二階導(dǎo)數(shù)的零值交點(diǎn)確定圖像的強(qiáng)邊緣和弱邊緣,最后通過設(shè)置高低檢驗(yàn)閾值對(duì)圖像進(jìn)行強(qiáng)邊緣和弱邊緣檢測(cè)[6-7]。Canny邊緣檢測(cè)算法流程如圖1所示。
圖1 Canny邊緣檢測(cè)算法流程
設(shè)二維高斯函數(shù)為:
(1)
對(duì)原始圖像F(x,y)進(jìn)行卷積得到平滑處理后的圖像I(x,y)為:
I(x,y)=G(x,y)·F(x,y),
(2)
式中,符號(hào)·表示卷積。
采用2×2鄰域內(nèi)一階偏導(dǎo)數(shù)有限差分計(jì)算I(x,y)的梯度幅值和梯度方向,將點(diǎn)(x,y)在x方向和y方向的一階偏導(dǎo)數(shù)分別記為Kx(x,y),Ky(x,y),
(3)
則有梯度幅值為:
(4)
梯度方向?yàn)椋?/p>
θ(x,y)=arctan(Kx(x,y)/Ky(x,y))。
(5)
若像素點(diǎn)(x,y)的梯度幅值M(x,y)大于或等于沿梯度方向θ(x,y)兩個(gè)相鄰像素點(diǎn)的梯度幅值,則判定該點(diǎn)為可能的邊緣點(diǎn)[7]。
對(duì)經(jīng)過非極大值抑制的圖像設(shè)置高、低2個(gè)閾值,大于高閾值的認(rèn)為是強(qiáng)邊緣點(diǎn),小于高閾值但大于低閾值的認(rèn)為是弱邊緣點(diǎn),小于低閾值的點(diǎn)直接剔除,分割得到兩閾值邊緣圖像T1[x,y],T2[x,y]。T1[x,y]由高閾值得到,理論上不含假邊緣,但在輪廓上可能存在間斷。雙閾值算法的目的就是要在T1[x,y]中把邊緣連接成輪廓,達(dá)到輪廓端點(diǎn)時(shí),采用低閾值得到的邊緣圖像T2[x,y]的8鄰域位置尋找可進(jìn)行輪廓連接的邊緣,反復(fù)使用T2[x,y]進(jìn)行邊緣搜索,直至將所有T1[x,y]的間隙連接完成[8]。
傳統(tǒng)Canny算子采用在2×2鄰域內(nèi)進(jìn)行有限差分求梯度,由于對(duì)噪聲過于敏感,易出現(xiàn)誤判的假邊緣和丟失部分真邊緣的問題,導(dǎo)致邊緣檢測(cè)不準(zhǔn)[8-10]。
常見3×3鄰域的4鄰點(diǎn)梯度公式為:
(6)
計(jì)算45°方向?qū)?shù)
K45°(i,j)=G(i-1,j+1)-G(i+1,j-1)。
(7)
計(jì)算135°方向?qū)?shù):
K135°(i,j)=G(i+1,j+1)-G(i-1,j-1)。
(8)
計(jì)算水平方向差分:
K0°(i,j)=Kx(i,j)+(K45°(i,j)+K135°(i,j))/2。
(9)
計(jì)算垂直方向差分:
K90°(i,j)=Ky(i,j)+(K45°(i,j)+K135°(i,j))/2。
(10)
針對(duì)45°,135°旋轉(zhuǎn)可變性的缺點(diǎn),采用改進(jìn)水平和垂直方向差分[11]的公式為:
(11)
(12)
改進(jìn)的梯度幅值為:
(13)
閾值的選取直接影響邊緣檢測(cè)算子的效果,本文采用自適應(yīng)的迭代閾值分割技術(shù),其基本思想是選擇圖像灰度的中值作為初始閾值T0,將圖像分割為2個(gè)區(qū)域,分別計(jì)算這2個(gè)區(qū)域的灰度均值μ1,μ2,利用μ1,μ2計(jì)算新的閾值Ti+1,計(jì)算Ti+1,Ti的差值,小于某一給定值迭代終止[12]:
(14)
假設(shè)最小二乘模型為:
y+ey=(A+EA)ξ,
(15)
式中,y為N×1維觀測(cè)值;A為N×q維的真實(shí)系數(shù)矩陣;ey,EA為對(duì)應(yīng)的隨機(jī)誤差矩陣,ey~N(0,σ02Qy),eA為vec(EA)~N(0,σ02QA),vec表示拉直算子,vec(EA)表示按列拉伸后的向量;Qy,QA為矩陣y,A的協(xié)方差矩陣;ξ為q×1維的待估參數(shù)。
將ey看作是EA,ξ的非線性函數(shù),將式(15)按照Taylor公式展開并忽略二次以上極小項(xiàng),式(15)變?yōu)椋?/p>
(ξ0T?IN)δeA-y,
(16)
由最小二乘平差問題可知,為保證隨機(jī)誤差最小,式(15)需滿足殘差向量和權(quán)矩陣乘積最小,即滿足:
(17)
式中,Py為觀測(cè)值的權(quán)重矩陣;PA為真實(shí)系數(shù)矩陣的權(quán)重矩陣。對(duì)目標(biāo)函數(shù)和約束條件構(gòu)造拉格朗日函數(shù)
(ξ0T?IN)δeA)。
(18)
對(duì)式(18)兩邊各未知分量求一階偏導(dǎo)數(shù)并令等于零,解得
(19)
式中,
Py=Qy-1,PA=QA-1。
(20)
加權(quán)整體最小二乘法間接平差形式迭代求解方法如下:
④ 設(shè)置迭代終止閾值ε,若滿足|ξ(i)-ξ(i-1)|<ε,則迭代終止,否則,轉(zhuǎn)入②;
⑤ 輸出最終解ξ。
提出的基于改進(jìn)的Canny算子的邊緣提取算法流程如圖2所示。
圖2 基于改進(jìn)Canny算子邊緣提取算法流程
首先進(jìn)行邊緣檢測(cè),運(yùn)用改進(jìn)的Canny算子對(duì)邊緣進(jìn)行粗提取,由于提取出來的邊緣不夠精細(xì),因此使用自適應(yīng)迭代閾值分割技術(shù)進(jìn)行十字絲邊緣精確提取,閾值的選擇是關(guān)鍵。利用加權(quán)整體最小二乘法對(duì)十字絲的2條直線進(jìn)行擬合,目的是計(jì)算出直線的交點(diǎn),即十字絲中心點(diǎn)位置,需要根據(jù)中心點(diǎn)位置對(duì)設(shè)備十字絲進(jìn)行脫靶量修正。
在靶場(chǎng)試驗(yàn)中,光十字絲圖像如圖3所示,從圖像中可以看出,十字絲中心點(diǎn)位置較為模糊,在實(shí)際操作中,需要依靠人眼進(jìn)行人工判讀,其判讀結(jié)果的準(zhǔn)確性與判讀人員相關(guān)性較大,存在較大的判讀誤差。采用本文算法對(duì)十字絲圖像進(jìn)行精確提取,獲得準(zhǔn)確的中心點(diǎn)位置,在此基礎(chǔ)上進(jìn)行脫靶量修正,避免人為操作帶入的誤差。使用本文算法進(jìn)行十字絲中心提取后的圖像如圖4所示。
圖3 原始光十字絲圖像
圖4 基于改進(jìn)Canny算子的光十字絲圖像
獲取十字絲中心點(diǎn)位置后,在拍攝的光學(xué)圖像中進(jìn)行脫靶量修正。在畫幅上記錄的方位角和高低角是膠片坐標(biāo)原點(diǎn)即主光軸的角坐標(biāo)αk,γk,它與目標(biāo)的真實(shí)角坐標(biāo)之間的差就是跟蹤誤差,記為Δαk,Δγk,有:
(21)
式中,
(22)
式中,f為設(shè)備的焦距,計(jì)算單位與x,y單位一致。
仿真實(shí)驗(yàn)在Matlab中完成,設(shè)置高低閾值分別為255,0,進(jìn)行邊緣粗提取,多測(cè)速數(shù)據(jù)采用仿真數(shù)據(jù)進(jìn)行解算。與全局Otsu方法和局部閾值分割方法比較,自適應(yīng)迭代閾值分割算法選取閾值為0.265 4,圖像輪廓更加清晰。加權(quán)整體最小二乘法迭代12次終止,輸出中心點(diǎn)位置坐標(biāo),將得到的中心點(diǎn)位置圖片進(jìn)行脫靶量修正,進(jìn)行光學(xué)彈道解算。
比對(duì)實(shí)驗(yàn)從光學(xué)彈道反算測(cè)元與多測(cè)速彈道反算測(cè)元?dú)埐畋葘?duì)、光學(xué)部修測(cè)元與多測(cè)速彈道反算測(cè)元?dú)埐畋葘?duì)、光學(xué)綜合彈道與多測(cè)速彈道比對(duì)、光學(xué)綜合彈道與多測(cè)速彈道位置比對(duì)、光學(xué)綜合彈道與多測(cè)速彈道速度比對(duì)5個(gè)方面,對(duì)使用本文算法的光十字絲修正和簡(jiǎn)單光十字絲修正(即使用肉眼進(jìn)行十字絲中心判斷)效果進(jìn)行比對(duì),簡(jiǎn)單修正方法和使用本文提出算法進(jìn)行光十字絲修正解算出的光學(xué)彈道設(shè)備反算測(cè)元與高精度多測(cè)速彈道反算測(cè)元的角度殘差比對(duì)如圖5所示,在圖5基礎(chǔ)上添加部位修正后的效果比對(duì)如圖6所示,簡(jiǎn)單修正方法和使用本文算法解算的光學(xué)綜合彈道與多測(cè)速彈道位置比對(duì)如圖7所示,在圖7基礎(chǔ)上細(xì)化的位置和速度殘差比對(duì)如圖8和圖9所示。
圖5 2種算法解算光學(xué)彈道與多測(cè)速彈道反算測(cè)元角度殘差比對(duì)
圖6 部修后光學(xué)彈道與多測(cè)速反算測(cè)元角度殘差比對(duì)
圖7 2種算法解算光學(xué)綜合彈道與多測(cè)速彈道比對(duì)
圖8 2種算法解算光學(xué)綜合彈道與多測(cè)速彈道位置殘差比對(duì)
圖9 2種算法解算光學(xué)綜合彈道與多測(cè)速彈道速度殘差比對(duì)
從圖中可以看出,使用本文算法修正后的光學(xué)彈道和簡(jiǎn)單進(jìn)行十字絲修正的光學(xué)彈道與其他高精度彈道比對(duì),無論是在反算測(cè)元測(cè)角、位置還是速度,總體精度要更高。
提出的基于改進(jìn)的Canny算子的邊緣提取算法進(jìn)行光十字絲修正,相對(duì)于簡(jiǎn)單進(jìn)行十字絲修正的方法,確實(shí)能夠提高彈道解算精度,同時(shí)減少人眼判讀識(shí)別帶來的修正誤差。但是由于融合算法計(jì)算復(fù)雜度相對(duì)較高,導(dǎo)致圖像判讀處理的時(shí)間相對(duì)增加。今后將在改進(jìn)閾值分割算法的基礎(chǔ)上,不斷優(yōu)化算法,減少算法的時(shí)間復(fù)雜度,保證在較短時(shí)間內(nèi),解出高質(zhì)量彈道。