柯 衛(wèi),王宏力,袁 宇,崔祥祥,陸敬輝
(1.第二炮兵工程大學(xué),陜西 西安710025;2.第二炮兵駐航天十院代表室,北京100854)
從CCD 星敏感器拍攝的恒星圖像中提取星體目標是進行星圖識別和姿態(tài)確定的前提和基礎(chǔ),它不僅影響到星圖識別的效率,更關(guān)系到姿態(tài)計算的精度[1]。因此,如何準確地從星圖中提取星體目標十分重要。目前,星提取的主要方法有掃描法和矢量法[2]。掃描法通常采用全局背景閾值或局部背景閾值對星體目標和背景進行分離,然后基于連通域[3]分析獲得星體目標,計算較為復(fù)雜,提取精度不高。矢量法可以看作是掃描法的改進算法,它通過引入2 個整數(shù)矢量,僅需一次CCD 掃描就可以得到所有候選星的位置信息,但整數(shù)矢量存儲的是所在行、列的灰度最大值,當某行(列)存在多個候選星點時,就會將目標星像誤判為背景。當星圖中包含較多噪聲時,矢量法提取的星數(shù)會迅速達到上限,且容易提取到偽星。
本文針對掃描法和矢量法存在的問題,在分析星圖特點的基礎(chǔ)上,將區(qū)域生長法[4]引入到星提取中,提出了基于區(qū)域生長法的星圖中星的提取方法。
星敏感器以恒星為觀測目標,拍攝的恒星可視為無窮遠處具有一定光譜特性的點光源。由于星敏感器分辨率不可能無限制提高,工程中常采用散焦技術(shù)使星體目標分布在有限個像素上,通過細分定位[5]算法使星體目標定位精度達到亞像素級。理想情況下,采用散焦技術(shù)后,恒星在星敏感器光敏面上的像為分布在較暗背景上的點狀光斑,其灰度反映了恒星的星等。一般星體目標灰度較高,星圖背景灰度較低。星體目標灰度值近似呈高斯分布,直徑一般為3 ~5 個像素,且星體目標中心為灰度值最大的星體目標點。但星敏感器在工作過程中,不可避免要受到噪聲等各種干擾因素[6]的影響,主要包括:1)圖像傳感器的噪聲,如光子散粒噪聲、暗電流散粒噪聲、固定模式噪聲;2)電子線路噪聲,如芯片放大器噪聲。這些噪聲會導(dǎo)致星圖背景的灰度值發(fā)生變化,并且會導(dǎo)致星圖中形成虛假星體目標。
傳統(tǒng)的星提取方法主要有掃描法和矢量法[2],其中,矢量法可以看作是掃描法的改進方法。矢量法的過程為:
1)設(shè)定Ix和Iy兩個矢量,其大小分別為kx和ky,其中,Ix,Iy兩個矢量的大小分別表示CCD 陣列的行數(shù)和列數(shù);
2)掃描CCD 陣列,用Ix中的元素存儲相應(yīng)行灰度值最大星體目標點的列數(shù)、Iy中的元素存儲相應(yīng)列灰度值最大星體目標點的行數(shù);
3)按灰度值大小對存儲的星體目標點進行排序,選取灰度值大于背景閾值的前n 個星體目標點作為可能的星體目標中心。
通過分析知,矢量法存儲的是各行、各列灰度值最大的星體目標點,當某行(列)存在兩個或兩個以上候選星體目標點時會造成漏提取,當星圖中包含噪聲時,提取的星體目標點會迅速達到上限,并會提取到較多虛假星體目標點,造成誤提取。
區(qū)域生長法的基本思想是根據(jù)事先定義的相似性準則,將圖像中滿足相似性準則的像素或子區(qū)域聚合成更大區(qū)域的過程;基本方法是首先在需要分割的區(qū)域中找一個“種子”像素作為生長的起點,其次將種子像素周圍鄰域中與種子像素有相同或相似性質(zhì)的像素合并到種子像素所在區(qū)域中,再以合并成的區(qū)域中的所有像素作為新的種子像素,繼續(xù)上面的相似性判別與合并過程,直到最后沒有滿足相似性條件的像素可被合并進來為止。
由于星體目標直徑一般為3~5 個像素,本文首先以2×2鄰域單位塊為種子像素,其次根據(jù)星體目標具有較強相關(guān)性的特點制定相似性準則,提取星體目標點。由于不設(shè)提取上限,且考慮了星體目標的特點,因此,基于區(qū)域生長法的星提取方法能克服矢量法容易漏提取和誤提取的不足。
基于區(qū)域生長法的星提取方法的過程如下:
1)以2×2 鄰域為單位塊,從左到右,從上到下掃描星圖,記錄各塊內(nèi)星體目標的灰度值。
2)求取各塊的灰度平均值,將灰度平均值最大的塊作為種子“塊”。
3)從左到右,從上到下,依次掃描種子像素周圍的像素,用種子像素灰度平均值減去相鄰像素灰度值,若差值小于或等于閾值t1(閾值t1可根據(jù)精度要求設(shè)定),則跳到第4 步;否則,剔除該像素,返回第3 步。
4)掃描該相鄰像素上、下、左、右的像素(種子像素不用掃描),分別減去種子像素灰度平均值,若其絕對值全都小于等于閾值t1,則將該相鄰像素合并到種子像素中,形成新的種子像素;否則,剔除該像素,返回第3 步。
5)重復(fù)第3 步,直到?jīng)]有像素滿足相似性條件為止。當整幅星圖都進行生長判斷后,星體目標也被定位。
基于區(qū)域生長法的星提取方法的流程如圖1 所示。
圖1 算法流程圖Fig 1 Flow chart of algorithm
為了驗證本文算法的效果,采用Matlab 進行仿真,比較矢量法和本文算法的性能。星提取圖像選用計算機模擬星圖,模擬條件:視場大小為8°×8°,CCD 像元數(shù)為512×512,星表選用SKY2000 為主星表,選用其中星等低于6.0的恒星,剔除其中的雙星和變星,共4 908 顆。理論上星點目標成像近似呈高斯分布,因此,要產(chǎn)生模擬的星體目標點,需要按照式(1)所示二維高斯函數(shù)做灰度擴散,將星體目標點擴散到3~5 個像素上,以模仿散焦的效果[7]
式中 I0為曝光時間內(nèi)恒星投射到星敏感器光敏面的總能量,(x0,y0)為星像能量中心坐標,σ 為高斯彌散半徑,仿真中σ=0.5。實驗中,星敏感器光軸指向赤經(jīng)60°、赤緯40°,視場范圍內(nèi)包含7 顆星。星圖背景加上均值為0、方差為δ2的高斯白噪聲。比較兩種算法的提取結(jié)果(矢量法提取星像數(shù)N 上限設(shè)定為30),如表1。
表1 本文算法與矢量法的比較Tab 1 Comparison of this algorithm and vector algorithm
從表1 可以看出:隨著噪聲方差的增加,矢量法提取星數(shù)迅速達到上限30 顆,提取了較多偽星,提取性能迅速下降,而本文算法仍能較好地提取星像,具有較強的抗噪能力。從提取速度來看,矢量法的速度更快一些;但從提取精度上看,當不給星圖加背景噪聲時,兩算法提取精度相當,一旦給星圖加上噪聲,矢量法的提取精度迅速下降,而本文算法仍能保持較高的提取精度。因此,本文算法比矢量法具有更高的精度和更強的抗噪能力,并具有較好的穩(wěn)定性。
本文在分析星圖特點的基礎(chǔ)上,將區(qū)域生長法運用到星提取中,根據(jù)星體目標的特點選定種子星體目標、制定相似性準則、提取星體目標,克服了矢量法每行(列)只存儲一個星體目標的缺點。仿真結(jié)果表明:本文算法具有較強的抗干擾能力和較高的提取精度。
[1] Yang J,Liang B.A novel systematic error compensation algorithm based on least squares support vector regression for star sensor image centroid estimation[J].Sensors,2011,11(8):7341-7363.
[2] Mortari D,Romoli A.Star NavIII:A three fields of view star tracker[C]∥Proceeding of IEEE Conference on Aerospace,2002:47-57.
[3] 魏新國,張廣軍,江 潔,等.星敏感器中星圖圖像的星體細分定位研究[J].北京航空航天大學(xué)學(xué)報,2003(9):812-815.
[4] 王 宵,辛云寵.紅外小目標的模板提取及檢測技術(shù)研究[J].激光與紅外,2013(7):822-825.
[5] 胡曉東,胡 強.一種用于白天星敏感器的星點質(zhì)心提取方法[J].中國慣性技術(shù)學(xué)報,2014(4):481-485.
[6] 蹤 華,高曉穎,汪 渤.一種三角形星圖識別算法的改進與實現(xiàn)[C]∥第33 屆中國控制會議論文集,西安:中國自動化學(xué)會控制理論專業(yè)委員會,2013:5182-5186.
[7] 王海涌,費崢紅,王新龍.基于高斯分布的星像點精確模擬及質(zhì)心計算[J].光學(xué)精密工程,2009,17(7):1672-1677.