劉 影,李 群,何 杰,葛 飛
(北京自動化控制設(shè)備研究所,北京 100074)
星敏感器是一種姿態(tài)敏感測量器件,可靠性高,其以恒星目標為參照系,測量運載體在慣性空間中的三軸姿態(tài)。由于星敏感器具有精度高、功耗低、自主性好、抗干擾能力強、工作方式靈活等特點,使其在衛(wèi)星、導彈、艦船等相關(guān)平臺姿軌控制系統(tǒng)應用極為廣泛。
為了保證最后星點提取及質(zhì)心計算結(jié)果的準確性,需要對各種雜散光以及系統(tǒng)自身存在的噪聲帶來的影響進行處理。目前主流的一些星圖去噪技術(shù)手段:1)空間域濾波處理:包括鄰域均值濾波、高斯低通濾波和中值濾波等;2)閾值分割:全局閾值法或局部閾值法;3)靜態(tài)背景噪聲法:通過選取軌道相同、位置間隔的兩幀星圖,對這兩幅圖像中同一像素點的灰度值取中值,并將該值作為背景噪聲,從而達到分離目標與噪聲的目的。人們在提高星點的提取精度上進行了大量研究,基于傳統(tǒng)方法不斷改進。文獻[5]提出了一種將中值濾波和改進的閾值函數(shù)相結(jié)合的圖像去噪方法,該方法對椒鹽噪聲具有很好的處理效果。文獻[6]提出了一種基于斜率差值的自適應濾波算法,在有效保留極值附近信號的同時,濾波的保真性也得到了提高。文獻[7]在常規(guī)的多窗口抽樣自適應閾值選取方法的基礎(chǔ)上進行改進,不僅滿足星圖去噪的要求,而且可以很好地保留灰度值較低的星點。文獻[8]提出了一種改進的中值算法,通過確定角度大小和與鄰域信號點之間的關(guān)系來定位噪聲點,然后對窗口中求得的均值和中值進行加權(quán)濾波,進而有效地抑制背景噪聲。但是這些算法實施起來較為復雜,不便于在硬件平臺上進行測試和使用,而且這些算法對例如元器件產(chǎn)生的壞點的優(yōu)化作用較小。
本文在傳統(tǒng)的高斯低通濾波算法的基礎(chǔ)上進行改進,首先對星圖中的壞點進行剔除,然后采用高斯低通濾波算法對噪聲進行平滑降噪,最后采用高通濾波抑制星圖中的強光背景信號。通過對Matlab模擬出的星圖影像進行星點提取工作,驗證了該算法的有效性。
星敏感器的硬件組成部分主要為遮光罩、光學鏡頭、圖像傳感器、成像電路、圖像處理電路以及數(shù)據(jù)處理單元等。星敏感器的工作過程是在一定的視場范圍內(nèi),恒星通過光學鏡頭成像到光電傳感器的光敏面上,由光電傳感器將光能轉(zhuǎn)化為視頻電模擬信號,經(jīng)過放大、濾波、相關(guān)雙采樣、A/D轉(zhuǎn)換等一系列處理為灰度數(shù)據(jù);然后將采集到的數(shù)據(jù)保存為數(shù)字圖像,對數(shù)字圖像進行星點提取和質(zhì)心計算,得到星點位于像平面上的坐標;接著通過星圖識別算法,與導航星庫對比,找到與其相匹配的導航星,最后根據(jù)識別的結(jié)果由姿態(tài)解算得到星敏感器的三軸姿態(tài)信息。其工作示意圖如圖1所示。
圖1 星敏感器工作原理示意圖Fig.1 Schematic diagram of the working principle of star sensors
通過分析其工作原理可知,星圖預處理是星敏感器工作過程中的重要一步,不僅影響了星圖識別的效率,而且對最后的姿態(tài)解算精度也有很大的影響,所以準確地對星圖進行處理是一項非常重要的工作。
通常星圖是由星點目標、背景和噪聲三部分組成,用數(shù)學模型表示如下
(,)=(,)+(,)+(,)
(1)
式中,(,)表示像素點(,)處的灰度值;(,)、(,)、(,)分別為恒星目標亮度、背景灰度及噪聲信號。通過實際觀測可以看出,天空中大部分的恒星是低亮度的,其灰度值比較低,所占據(jù)的像元面積也比較小,很容易被噪聲及背景淹沒,所以直接對星圖進行星點提取是很困難的,容易忽略掉星點或誤提噪聲點。因此,對星圖進行去噪處理,提高圖像的信噪比是很有必要的。
星敏感器在使用過程中產(chǎn)生的噪聲主要分為兩部分:一是星空背景噪聲,屬于隨機突發(fā)噪聲,通??闯山符}噪聲去處理;二是感光元器件產(chǎn)生的噪聲,主要包含光子散粒噪聲、暗電流噪聲、固定圖形噪聲、量化噪聲等。在這些噪聲中,光子散粒噪聲是傳感器本身的噪聲,就目前的技術(shù)手段而言沒法被消除或抑制,其他的噪聲均可以采用相應的硬件手段進行處理。圖2所示為使用星敏感器拍攝的一幅實際星圖,任意選取圖中一星點周圍的局部星圖,如圖中標記所示,對該部分進行灰度分析,灰度范圍為[0.255],其灰度分布如圖3所示。
圖2 星敏感器拍攝的星圖Fig.2 Star map taken by a star sensor
圖3 局部星圖灰度分析Fig.3 Gray value analysis of local star image
通過分析局部星圖的灰度值,可以看出:恒星目標區(qū)域為低頻部分,背景及噪聲屬于高頻部分,并且背景及噪聲的灰度值遠小于星點的灰度值。該特性為星圖去噪及閾值分割提供了理論依據(jù)。
由前文分析可知,星圖噪聲為高頻信號,并且星點的灰度能量分布可以近似看成是二維高斯分布。在數(shù)字圖像處理中,兩個同分布的函數(shù)經(jīng)過卷積運算后,它們的函數(shù)類型不會發(fā)生變化,僅僅是尺度跟幅值發(fā)生變化。因此,可以采用高斯低通濾波對星圖進行去噪處理,這樣處理完的星圖其質(zhì)心位置幾乎沒有改變,避免對后續(xù)過程造成影響。
高斯濾波算法是基于均值濾波加以改進而推演出來的,對圖像的高斯噪聲具有很好的抑制效果。其算法過程就是將濾波窗口的中心點與高斯濾波模板的中心位置重合,并進行卷積運算,得到的結(jié)果即為窗口中心點的灰度值。其中,窗口大小一般可選擇3×3或5×5的矩陣框,如式(2)所示。
(,)=(,)?
(2)
式中,(,)表示濾波后的結(jié)果;(,)表示以(,)為中心的濾波窗口內(nèi)各點的灰度值;表示高斯濾波模板。
其中,歸一化的高斯濾波系數(shù)通過高斯函數(shù)計算得到,如式(3)
(3)
式中,、為濾波窗口內(nèi)各像素點到窗口中心點的距離;為高斯函數(shù)的標準差。模板中心點占整個窗口的比重與成反比,越小,中心占比越大,濾波效果甚微;越大,則模板與均值濾波模板的濾波效果近似,變化顯著,但圖像也相應變得模糊。
高斯濾波模板操作方法簡單,并且有一定的效果,但也存在著局限性,即不能真正去除噪聲信號。在處理過程中,往往會引入窗口鄰域內(nèi)的噪聲,特別是當窗口內(nèi)有壞點存在時,濾波效果將大大降低。而且高斯濾波模板的值是確定的,這就導致其在使用過程中無法順應圖像變化特點進行修正。
針對單一濾波模板存在的問題,對高斯濾波進行改進,以提高濾波質(zhì)量。改進的方法分為三點,下面分別進行闡述:
2.2.1 數(shù)據(jù)擴展
由于模板使用的是3×3窗口,且所有的操作都是對窗口中心點進行的,這就導致圖像第一行(列)和最后一行(列)的數(shù)據(jù)不能被處理到。為了保證數(shù)據(jù)的完整性,需要對圖像數(shù)據(jù)進行擴展。一般可以用0,255或者與其相鄰的行(列)灰度值對外圍數(shù)據(jù)進行填充。根據(jù)圖像的相關(guān)性,在一幅圖像的平滑位置,它的灰度變化規(guī)律近似服從線性關(guān)系,由此進行數(shù)據(jù)填充。下面以第一列為例,詳細描述該填充過程。圖4所示為數(shù)據(jù)擴展示意圖,其中陰影部分為擴展的數(shù)據(jù)。
圖4 數(shù)據(jù)擴展示意圖Fig.4 Diagram of data expansion
以圖像左上角為坐標原點,(,)表示點(,)處的灰度值,則填充規(guī)則如下
(-1,-1)=(,)
(4)
=2(,)-(+1,)
(5)
(6)
2.2.2 壞點剔除
由于外界環(huán)境以及硬件自身存在的噪聲影響,即使在星圖的平滑區(qū)域,某一點的灰度值與它鄰域內(nèi)的灰度值也會不可避免地存在一定的差異,但一般不會太大。通常將與其鄰域灰度差異較大的點認為是壞點,往往是孤立存在的。在進行濾波去噪處理時,如果直接處理這些點,容易對其周圍的像素點造成影響,這時圖像中就會有亮斑或暗斑出現(xiàn)。所以在濾波前可以先對壞點進行檢測,消除其帶來的影響。
對檢測出來的壞點用其鄰域內(nèi)的中值進行代替是一種處理的技術(shù)手段,其算法流程示意圖如圖5所示。對含有壞點的局部星圖進行剔除工作,處理前后的星圖如圖6所示。從圖中可以看出,經(jīng)過處理后壞點被有效去除,并且星點信號幾乎沒有受到影響。
2.2.3 抑制強光背景
對星圖中強光背景信號帶來的影響,可以采用高通濾波的方式對圖像進行處理。但直接使用傳統(tǒng)的高通濾波算子,會對圖像噪聲比較敏感,導致處理效果不好。于是將高斯濾波后的圖像與該圖經(jīng)過低通濾波處理后的圖像逐像素求差值,得到新圖像,從而實現(xiàn)高通濾波處理的目的。實現(xiàn)低通濾波的算法有很多種,包括中值濾波、均值濾波等,考慮到處理效果及運算量,鄰域均值濾波是一種比較好的選擇。式(7)為鄰域均值濾波的計算公式,則高通濾波的數(shù)學表達式如式(8)
圖5 壞點剔除流程示意圖Fig.5 Schematic diagram of dead pixel removal process
(a)處理前
(b)處理后
(7)
(,)=′(,)-(,)
(8)
其中,(,)是經(jīng)過高通濾波以后最終輸出的圖像中(,)處的灰度值;′(,)是經(jīng)過高斯濾波后(,)處的灰度值;(,)為′(,)經(jīng)過鄰域均值濾波后(,)處的灰度值;為濾波模板的半邊長。
本文采用模擬的星圖影像,并對其進行星點提取實驗,以驗證提出算法的可行性。模擬星圖的生成采用史密森星表(Smithsonian Astrophysical Observatory Star Catalog,SAO)數(shù)據(jù),該星表包含亮于11.3等的星號、赤經(jīng)、赤緯、星等等信息。視場大小為10°×10°,像元大小為1024pixel×1024pixel,選取的星點等級大于6等,當星等為2.5時達到飽和。由前面對星圖的分析可知,星點目標的能量分布近似為二維高斯分布,且大小一般為3~5個像元。因此,要產(chǎn)生模擬的星體目標需要根據(jù)二維高斯函數(shù)做灰度彌散,其數(shù)學表達式如式(9)
(9)
其中,表示恒星成像到圖像傳感器光敏面上的總能量,其中心點坐標為(,);為高斯彌散半徑,這里取=0671。星敏感器的光軸指向旋角為20°,赤經(jīng)為137°,赤緯為52°,生成的模擬星圖如圖7所示,其中標記點為星點的位置。
在得到的模擬星圖背景上添加均值為0、方差=0.00001的高斯噪聲。對該圖分別采用傳統(tǒng)高斯濾波模板及本文提出的方法進行濾波處理,并對質(zhì)心坐標進行計算,其對應的像平面坐標結(jié)果如表1所示。
圖7 模擬星圖影像Fig.7 Simulated star image
表1 模擬星圖星點計算結(jié)果
圖8和圖9所示為傳統(tǒng)方法與改進方法提取坐標的相對誤差曲線。通過對實驗結(jié)果分析可知,利用本文提出的方法對模擬星圖影像進行星點提取比傳統(tǒng)高斯濾波模板進行處理的效果明顯提高,其中橫坐標提高了0.00538個像素點,縱坐標提高了0.0077個像素點。其結(jié)果與實際星點位置誤差均值為=-0.00537pixel,=-0.00305pixel,偏差更小。實驗結(jié)果表明,改進后的高斯濾波算法能很好地抑制星圖背景噪聲,并且?guī)缀醪粫|(zhì)心位置造成影響。
圖8 傳統(tǒng)法與改進法的橫坐標相對誤差Fig.8 The relative error of abscissa of the traditional method and the improved method
圖9 傳統(tǒng)法與改進法的縱坐標相對誤差Fig.9 The relative error of ordinate of the traditional method and the improved method
本文通過分析和總結(jié)星圖的特點,對星圖去噪處理方法進行研究,針對傳統(tǒng)的高斯濾波存在的問題加以改進,研究結(jié)果表明:
1)對星圖進行壞點剔除工作后,星圖中的一些孤立噪點被有效去除,避免在后續(xù)濾波處理中將其引入到星點鄰域內(nèi)。通過對比處理前后的局部星圖可以看出,恒星目標位置基本不會發(fā)生變化。
2)在模擬出的星圖上分別采用傳統(tǒng)的高斯濾波算法與本文提出的算法進行星點提取工作,并將所得到的結(jié)果與星點實際坐標位置進行對比可知,該方法得到的星點位置精確度更高,其中橫坐標提高了0.00538個像素點,縱坐標提高了0.0077個像素點。
隨著人們對航天器姿態(tài)控制精度的要求越發(fā)苛刻,研究星敏感器星圖處理工作極具意義。本文提出的算法實現(xiàn)簡單、靈活性強,便于在可編程邏輯門陣列(Field Programmable Gate Array,F(xiàn)PGA)、數(shù)字信號處理器(Digital Signal Processing,DSP)等硬件平臺上開展,具有工程實用價值。