蔣罕寒,郭 銳,武軍安,趙 旭
(1 南京理工大學智能彈藥技術(shù)國防重點學科實驗室,南京 210094;2 北京信息科技大學高動態(tài)導航技術(shù)北京市重點實驗室,北京 100101)
高旋掠飛彈高轉(zhuǎn)速、大掃描半徑的特點導致彈載激光雷達獲取的點云稀疏、密度低。為了獲取其準確三維距離像,需要對采集到的點云數(shù)據(jù)進行重構(gòu)。
羅立彥研究了一種利用曲線曲面的細分插值技術(shù)直接進行圖像插值的算法,該算法由離散到離散,無須建立中間連續(xù)插值模型[1];徐巍等討論了距離倒數(shù)加權(quán)法、最近點插值法、移動平均值法、局部多項式法的插值方法特點[2];李忠等討論了基于稀疏點的三維模擬插值算法,利用三階二次B-樣條插值函數(shù)構(gòu)造了一種新的插值算法[3];繆君等利用分層抽樣代替隨機抽樣,用改進的J-Linkage多模型估計算法對稀疏點云進行多平面擬合,獲得場景的多平面模型[4];刁鑫鵬等運用 Kriging 算法的無偏、方差最小等優(yōu)點,提出一種新的變異函數(shù)參數(shù)估計方法,并與曲面擬合法結(jié)合,對點云數(shù)據(jù)進行插值[5]。焦嵩鳴等提出一種基于距離反比插值的貪婪三角化算法對三維點云進行重建[6]。
借鑒上述算法,文中提出了一種區(qū)分邊緣點與非邊緣點的分類插值重構(gòu)算法,通過稀疏點云得到了較好的目標三維距離像。
高旋掠飛彈藥高速旋轉(zhuǎn),單元激光雷達探測時會多次掃過目標,進而獲取目標的三維距離像信息。每個采樣周期內(nèi)可以獲取一條掃描線數(shù)據(jù)?;诠?1)將點云數(shù)據(jù)轉(zhuǎn)化為以彈體質(zhì)心為原點的三維點云數(shù)據(jù),如圖1所示。
(1)
式中:i=1~n;ρ為探測距離值;θ為單元激光雷達安裝在高旋掠飛彈藥上的斜置角;τ為高旋掠飛彈藥單位采樣時間內(nèi)轉(zhuǎn)動的角度;v為穩(wěn)態(tài)掃描時彈藥飛行存速;tmin為最小單位采樣時間;loc為彈丸質(zhì)心到激光發(fā)射點的距離;H為彈丸飛行時的高度。
圖1 三維點云數(shù)據(jù)圖
彈載激光雷達稀疏點云插值與傳統(tǒng)的圖像插值存在較大的區(qū)別。圖2是稀疏點云插值與傳統(tǒng)圖像插值的對比圖。
圖2 傳統(tǒng)圖像插值與稀疏點云插值區(qū)別
圖像數(shù)據(jù)為m×n的矩陣,有序?qū)ΨQ,可以基于下標訪問鄰近像素;距離像數(shù)據(jù)由3個向量保存x,y,z軸的數(shù)據(jù),無序且存在丟點問題。三維距離像的目標提取算法多依靠物體邊緣梯度差信息[7-8],然而圖像插值算法往往會模糊邊緣信息,從而不適用于激光雷達稀疏點云插值。
文中所述的稀疏點云插值算法流程如圖3所示。
圖3 算法流程圖
基于待插值點的鄰域點集起伏程度對待插值點作分類判斷。相鄰兩點在xoy平面上最大距離是一個采樣時間內(nèi)彈丸轉(zhuǎn)動一定角度對應的弧線在地面上的投影。
dmax=H·tan(wtmin)
(2)
式中:w為彈丸穩(wěn)態(tài)掃描的轉(zhuǎn)速。
先搜尋待插值點g的鄰域點,即
d=sqrt((xg-xi)2+(yg-yi)2)
(3)
若滿足
d (4) 則點i屬于點g鄰域點。查找鄰域點時從當前待插值點的兩端開始查找,可以顯著提高運算速度。圖4中的r1,r2,r3,r4是g1點的鄰域點;c1,c2,c3,c4是g2點的鄰域點;v1,v2是g3點的鄰域點;o1,o2是g4點的鄰域點。 圖4 邊緣劃分示意圖 接著計算其鄰域點集的最大高度差zmax。 zmax=max(z(xi,yi)-z(xj,yj)) (5) 式中:i,j=1~n,i≠j,n為當前待插值點的鄰域點數(shù)。 將zmax與預先設定的同一物體相鄰兩點高度閾值zε比較。若滿足 zmax>zε (6) 則當前待插值點為邊緣點。反之,則為非邊緣點。圖5中g(shù)1,g3為非邊緣點,g2,g4為邊緣點。 邊緣點鄰域點集起伏較大,通過鄰域點集的所有數(shù)據(jù)對待插值點估值會平滑掉原有的距離像邊緣細節(jié),因此對邊緣點采用改進的最近鄰插值算法進行插值。先取鄰域點集σ中任意一點q歸于σ1點集,將滿足式(7)的點歸于σ1點集,不滿足的點歸于σ2點集。 max(z(xq,yq)-z(xj,yj)) (7) 式中:j=1~n,j≠q。若滿足 N(σ1)≠N(σ2) (8) 其中:N(σ1),N(σ2)分別為σ1,σ2集合點的個數(shù)。則取點數(shù)多的集合,計算待插值點到待插值點的距離最小的點。 zg=z(xi,yi) (9) 式中:xi,yi是集合點數(shù)多的集合中的一點,使得d最小。i∈(N(σ1)>N(σ2))取σ1,否則取σ2。 若式(8)不成立,則直接從σ中選擇距離待插值點最近的點的高度值來給待插值點賦值,即i∈σ。如圖5所示,g1點的值由c1決定;g2點的值由o1決定。 圖5 邊緣點插值示意圖 最近鄰插值算法會產(chǎn)生明顯的鋸狀,數(shù)據(jù)不夠光滑。因此對非邊緣點采用鄰域點集反距離加權(quán)求和的插值算法進行插值,如圖6所示。 先計算其鄰域點到待插值點的距離 li=sqrt((xg-xi)2+(yg-yi)2) (10) 其中:i=1~n。 計算鄰域點到待插值點的距離之和l: l=∑li,i=1~n (11) 計算鄰域點距離權(quán)重的倒數(shù)之和α: (12) 計算各鄰域點對當前插值點的影響因子β: (13) 最后通過鄰域點的高度值獲取待插值點的估值zg: zg=∑ziβi,i=1~n (14) 為了驗證算法的可行性,用MATLAB構(gòu)建如圖7所示的目標、障礙物及地面點云圖。可以用MATLAB結(jié)合高旋掠飛彈藥運動學方程及穩(wěn)態(tài)掃描運動方程仿真得到如圖7所示的點云圖。 圖7 三維點云數(shù)據(jù)仿真圖 圖8是應用文中算法對不同速度和轉(zhuǎn)速下的稀疏點云插值后得到的三維距離像。可以看出:雖然得到的三維距離像邊緣存在瑕疵,但是裝甲目標與障礙物被有效分離,且較好的保留了邊緣細節(jié)信息,失真程度較小。 圖8 三維距離像 圖9 三維距離像 圖9是應用MATLAB中g(shù)riddata函數(shù)自帶的線性插補法(linear)、三次插補法(cubic)、“V4”插補法、最近鄰插補法(nearest)處理后的效果圖??梢钥闯觯耗繕伺c障礙物被連接,且邊緣過度平滑,丟失了原有的細節(jié)信息。 文中進行了高旋掠飛彈藥彈載激光雷達稀疏點云插值算法研究。通過新算法對仿真得到的高旋掠飛彈藥彈載激光雷達稀疏點云數(shù)據(jù)進行處理,與現(xiàn)有方法相比,新算法在有效插值的同時,能更好地對距離像邊緣細節(jié)信息進行保護,同時滿足彈載計算機運行速度的要求。下一步將獲取靶場實測數(shù)據(jù)作進一步的驗證。2.2 邊緣點插值
2.3 非邊緣點插值
3 算法效果與對比分析
4 結(jié)論