陶雨露,鄧新蒲,程洪瑋
(1.國防科技大學電子科學與工程學院,湖南 長沙 410073;2.北京跟蹤與通信技術研究所,北京 100094)
星敏感器是當今航天飛行器中廣泛采用的一種高精度、高可靠性的姿態(tài)測量部件[1],從其工作原理[2]中可知,星圖獲取和星圖識別(SPR)是現(xiàn)代星敏感器中的兩個重要過程。星圖獲取就是通過將星圖中與觀測星相關的圖像像素進行聚類,得到一組在星敏感器圖像坐標下星點中心位置的數(shù)據(jù)集合??焖贉蚀_地提取星體目標,然后進行星點中心亞像素細分定位是實現(xiàn)高精度星圖識別的前提和關鍵。
文獻[3]提出了通過判斷邊界像素中最大最小行列數(shù)來確定目標區(qū)域的具體范圍,從而提取目標區(qū)域內每一個像素的方法。該方法雖然縮短了時間,但是利用10×10的視框搜索到的星體目標中會包含過多背景噪聲,難以保證星點質心提取精度。文獻[4]根據(jù)星敏感器運動特性,提出自適應選取處理窗口的大小,并利用數(shù)學形態(tài)學的方法對斷裂星體進行斷點判定及主動生長,具有很大的實際意義。本文在借鑒上述文獻的基礎上,針對星體目標提取實時性不足、提取星體目標包含噪聲的問題,提出動態(tài)框搜索的星圖獲取算法,實驗證明該方法可滿足星敏感器高精度的要求。
星敏感器以恒星為觀測目標,恒星可以看作距離地球無窮遠處具有一定光譜特性的點光源,因此其在圖像傳感器感光面上的成像為在較暗背景上的近似符合二維高斯分布點狀光斑[5]。單個星體目標在圖像中的能量分布,又可稱為點擴散函數(shù)(PSF)。PSF的中心為星體目標能量最大值點,即星圖圖像中灰度最大值點。搜索到該中心點,便能確定星體目標的分布情況。本文星圖獲取算法的研究思路如圖1所示。
圖1 星圖獲取算法流程圖
由于星敏感器光學和電路等的影響,原始星圖中除包含真實星點目標外,還夾雜著很多噪聲。根據(jù)文獻[6],本文采用3×3的高斯濾波模板予以濾除。
在提取星體位置之前必須對星圖圖像中的星體目標進行粗識別。粗識別實際上是一個圖像分割的過程[6],這一過程可以分為兩個階段。
第一階段是將星體目標和背景分離開??梢圆捎萌珠撝档姆椒ㄟM行分離處理。設V為背景閾值,星圖圖像閾值化過程為:
考慮到真實星圖圖像中背景、噪聲、星體目標數(shù)量和位置等的不斷變化,本文采用自適應閾值法產(chǎn)生背景閾值,該閾值表達式為:
式中,E為去除噪聲后圖像均值,δ為圖像標準差。k是一個與噪聲有關的系數(shù),取值范圍為2~10,根據(jù)文獻資料[7],選擇k的值為5。
第二階段是將單個星體目標與其他星體目標分離開。普遍采用的是固定窗口法[1]和連通域算法[2],二者的不足在于:1)固定窗法以固定大小的像素范圍為窗口,它不能完全包含真實星圖中星體目標的有效像素。過小的窗口可能造成真實星點信息丟失,太大的窗口可能引入真實星點外由噪聲引起的虛假像素點,或者其它星體目標中的有效像素點,它們都會減小星點質心提取精度。2)連通域法能完全檢索到與PSF中心相鄰接的所有像素點。由于星圖中不同星體目標的范圍大小各異,而實際中的閾值化不能完全剔除全部噪聲點,連通域法把干擾噪聲也算作有效像素點,進而影響星點質心提取精度。其不足之處如圖2所示。
針對以上不足,本文提出一種基于動態(tài)框搜索的星體目標提取算法,其處理過程分為四個步驟:采用動態(tài)框實現(xiàn)星體目標粗識別并剔除孤立像點;確定敏感區(qū)域灰度最大值;動態(tài)框搜索確定星體目標;計算星點質心位置。
圖2 連通域法示意圖
假設星圖中僅存在一個星體目標,且星點PSF擴散斑直徑為5×5[5]。按照從上到下、由左至右的順序對星圖進行搜索,確定區(qū)域灰度最大值的方法如圖3所示。
圖3 星體目標粗識別示意圖
當搜索到第一個灰度值大于背景閾值的像素點(設為點X)時,則點X可能為2~6點中任意一點(若搜索為1或7孤立星點,則作剔除處理)。若該點在點2處,使用圖3中大小為4×5固定框(框A)檢索框內所有像素點,若灰度值大于背景閾值的像素點個數(shù)多于3個,找出該區(qū)域內灰度最大值點并記下,否則令該區(qū)域所有像素點灰度值為0。在設定固定框的位置時,令點2為框A最上邊中間像素點。對于點3~6處查找最大值點處理方法同點2。由于區(qū)域灰度最大值點位置的未知性,采用像素框的有序運動來逐步搜索到該點,圖3中顯示了框A到框B的動態(tài)搜索過程。
考慮到星點PSF特征,設定的4×5固定像素框需始終保證框內能搜索到PSF的中心點。在單星體目標存在的情況下,保證能迅速搜索目標區(qū)域。在多星體目標存在的情況下,得到區(qū)域內灰度的最大值,可將單個星體目標與其它星體目標分開。
找到區(qū)域內灰度最大值就相當于找到了星點的PSF中心點,以該點為中心將其近鄰的像素歸類和分組,使用動態(tài)框搜索的方法,可以確定星圖中的星體目標。在星圖中僅有單個星體目標存在下,動態(tài)框搜索示意圖如圖4所示。
圖4 動態(tài)框搜索示意圖
圖4中虛線框為動態(tài)搜索框。動態(tài)框搜索的具體步驟為:以星點的PSF中心像素點為中心,設定如圖4(a)的3×3動態(tài)框??紤]到星體目標呈3×3或5×5彌散圓分布的可能性,在提取3×3動態(tài)框內像素點的同時檢測5×5動態(tài)框中的A、B、C、D四個像素點的灰度值(如圖4(a)所示),若四者灰度值均小于背景閾值V,則提取3×3動態(tài)框內(如圖4(b)所示)所有像素點作為星體目標的有效像素點,并保存。否則提取5×5動態(tài)框內(如圖4(c)所示)所有像素點作為星體目標的有效像素點,并保存。
針對真實星圖中往往包含多個星體目標的情況,多星體目標下動態(tài)框搜索算法為:按照從上到下、由左至右的順序遍歷閾值化后的星圖圖像,按照2.2節(jié)所述方法找到第一個星體目標,存儲所有像素點后,將被遍歷圖像中該星體目標的所有像素點灰度置0,其目的是不會干擾搜索算法對其它星體目標的判定,從而實現(xiàn)對下一個目標的正確提取。
同時,2.2節(jié)動態(tài)框算法能解決在2.1節(jié)設定的固定框可能包含多個星體目標的情形,如圖5所示。
圖5 多星體目標干擾處理示意圖
圖5中包含兩個星體目標,B點和C點分別為星點PSF中心點,斜線框表示該點為有效像點。由于設定的固定像素框同時包含了B點和C點,造成多星體目標的干擾。以區(qū)域內最大像素點(B點或C點)為中心進行動態(tài)框搜索,將兩個星體目標區(qū)分開來:1)若C點像素灰度值大于B點,則完成一次遍歷后,再次對整個圖像進行遍歷搜索,便可找到B點;2)若C點像素灰度值小于B點,搜索算法會自動從B點進行動態(tài)框搜索;3)若C像素灰度值等于B點,則取橫坐標小的B點進行動態(tài)框搜索即可。
完成對星圖圖像中所有星體目標識別后,利用灰度加權質心法[8]確定星點質心位置。其具體表達公式如下所示:
為了檢驗本文算法性能,將固定窗口法(大小選擇5×5)、連通域算法(MatlabTM自帶函數(shù))與本文算法作比較。仿真中設定模擬星圖圖像大小為512×512,星圖中的星PSF用二維高斯函數(shù)近似產(chǎn)生[1],即:
式中,A為最大幅度,(x0,y0)為星點中心坐標,σ為高斯半徑。參數(shù)設置為:A=100,σ=0.01。模擬的恒星數(shù)目分別為1、2、3、4、5、6、7、8、9、10。為了模擬圖像中星體目標大小的不同,每幅圖像中星點彌散圓直徑從3和5中隨機選取,同時圖像中添加均值為0,方差為0.01的噪聲。所有試驗均在Pentium4TM2.93GHz,2G內存PC上用 MatlabTM7.10完成。具體仿真結果如圖6~7所示。
由圖6和圖7可知,動態(tài)框搜索算法相比固定框法在處理時間和星點提取精度方面都有一定的優(yōu)勢,動態(tài)框能根據(jù)星點實際的擴散程度選取所有真實星點的像素點,從而減小了提取誤差。由于采用了MatlabTM自帶函數(shù),連通域法在處理時間上要優(yōu)于動態(tài)框搜索算法,但是其提取精度要劣于后者。連通域法將所有星點中心鄰域范圍的像素點都聚類為一個星體目標,使得在確定星點質心時引入了真實星點以外的噪聲,從而降低了質心提取精度。連通域法與固定框搜索法都能將星點中心鄰域內所有像素點聚類,在計算時都可能引入誤差,造成二者質心提取精度接近且較低。因此本文動態(tài)框搜索算法在真實星點數(shù)量和圖像中的彌散光斑未知的情況下,其綜合處理時間和星點提取精度都在可以接受的范圍內,顯示了較好的效果。
圖6 處理時間比較
圖7 誤差均值比較
本文提出的動態(tài)框搜索算法可以根據(jù)星圖圖像中真實星點的分布情況,采用大小可變的像素框進行星體目標聚類,相比傳統(tǒng)的方法在星體提取精度方面取得了一定的成果。但是提高質心提取精度仍依賴于質心算法的改進,因此動態(tài)框下星點質心確定方法還有待進一步的研究。
[1]Liebe CC.Star trackers for attitude determination[J].IEEE Trans.on Aerospace and Electronic System,1995,10(6):10-16.
[2]魏新國,張廣軍,樊巧云,等.利用仿真星圖的星敏感器地面功能測試方法[J].紅外與激光工程,2008,37(6):1087-1091.
[3]原玉磊,席靚,張文郎.星點圖像的目標提取算法研究[J].海軍航空工程學院學報,2010,25(6).
[4]金雁,江浩,等.高動態(tài)星體目標提取方法[J].紅外與激光工程,2011,40(11).
[5]Liebe CC.Accuracy performance of star trackers-a tutorial[J].IEEE Trans.on Aerospace and Electronic Systems,2002,38(2):587-599.
[6]魏新國,張廣軍,江潔.星敏感器中星圖圖像的星體細分定位方法研究[J].北京航空航天大學學報,2003,29(9):812-815.
[7]李學夔,郝志航,李杰,等.星敏感器的星點定位方法研究[J].電子器件,2004,27(4):571-574.
[8]Rufino G,Accardo D.Enhancement of the centroiding algorithim for star tracker measure refinement[J].Acta Astronautica,2003,53(2):135-147.