,,,,,,
1.中國科學院 上海技術(shù)物理研究所 中國科學院紅外探測與成像技術(shù)重點試驗室,上海200083 2.中國科學院大學,北京100049
飛行器的導(dǎo)航技術(shù)是飛行器進行太空探索的關(guān)鍵技術(shù)之一,而飛行器姿態(tài)的解算是導(dǎo)航技術(shù)的基礎(chǔ)。依據(jù)不同的參考系,可制作不同的姿態(tài)敏感器,如地球敏感器、太陽敏感器及恒星敏感器(簡稱星敏)等。相對于其他光電姿態(tài)敏感設(shè)備,恒星敏感器具有測量精度高、抗干擾能力強、能實現(xiàn)自主導(dǎo)航等優(yōu)點,目前已成為衛(wèi)星等航天器上最主要的姿態(tài)測量儀器。
恒星敏感器的關(guān)鍵技術(shù)主要包括:星點質(zhì)心提取、星圖識別和姿態(tài)解算,其中星圖識別過程決定著恒星敏感器的姿態(tài)識別率、姿態(tài)輸出速度。目前,國內(nèi)外提出了很多星圖識別方法[1],文獻[2]將其分為3大類:基于星座特征的方法、基于字符模式的方法、基于智能行為的方法。其中,基于星座特征的三角形算法是最經(jīng)典且應(yīng)用最廣的算法,該方法簡單易懂,易于實現(xiàn),但是存在識別速度慢、易出現(xiàn)冗余匹配等問題。國內(nèi)外不少學者從各方面對三角形方法進行了改進,例如優(yōu)化搜索方法[3-4]、采用不同的天區(qū)分割方法[5]、構(gòu)建不同的特征量[6-10],這些方法都一定程度上提高了搜索的速度,減少了匹配冗余。此外,基于星座特征的方法還包括主星識別算法[11-12]及匹配組算法[13-14]。基于字符模式的算法主要指柵格算法,該算法由Padgett提出[15],具有識別速度快、存儲量小的優(yōu)點,但當干擾較大時,識別率會迅速下降,且要求觀測星不可少于6個,為了提高網(wǎng)格算法的識別率,先后出現(xiàn)了彈性灰度網(wǎng)格算法[16]、圓形柵格算法[17]、擴充柵格法[18]、KMP星圖識別算法[19]?;谥悄苄袨榈姆椒ㄊ请S著人工智能的發(fā)展而提出的,主要包括基于遺傳算法的識別方法和基于神經(jīng)網(wǎng)絡(luò)的識別方法。其中,神經(jīng)網(wǎng)絡(luò)技術(shù)最早于1989年被Alveda提出應(yīng)用到識別算法中[20],隨后Hong提出了基于模糊神經(jīng)網(wǎng)絡(luò)的星圖識別方法[21],國內(nèi)學者也做了相應(yīng)的研究[22-23],已有的基于神經(jīng)網(wǎng)絡(luò)的算法在訓(xùn)練結(jié)束后可以實現(xiàn)快速識別,但是實現(xiàn)較困難,存在一定的誤識別。
本文將神經(jīng)網(wǎng)絡(luò)技術(shù)中的自組織映射網(wǎng)絡(luò)(Self-Organizing Map, SOM)應(yīng)用在星圖識別當中,首先根據(jù)觀測星的分布特點實現(xiàn)SOM網(wǎng)絡(luò)的模糊識別,確定與觀測星相似的恒星,縮小三角形的搜索范圍,再利用三角形算法查找到匹配的三角形,驗證后計算得到姿態(tài)信息。該方法結(jié)合了SOM網(wǎng)絡(luò)優(yōu)秀的分類能力以及三角形算法可靠的角距匹配能力,縮小三角形的搜索范圍實現(xiàn)快速匹配的同時,提高了系統(tǒng)的抗干擾性和可靠性。本文以全天星圖識別為研究目標,實現(xiàn)了新算法的仿真測試,并基于實驗結(jié)果進行了比較和探討。
星圖識別的實質(zhì)就是從星表中找到與觀測星所匹配的導(dǎo)航星,作為星圖識別的唯一判斷依據(jù),導(dǎo)航星的選取至關(guān)重要。既要保證星表的完備性,又要適當刪減星表中多余的導(dǎo)航星,減少星表數(shù)據(jù)存儲量,提高數(shù)據(jù)利用率[24]?;谙到y(tǒng)的成像性能及識別算法的特點,篩選并組建出適合識別系統(tǒng)的導(dǎo)航星星庫。
本文用于仿真的星敏感器的性能是:方視場15°×15°,星等的靈敏度可達6.0視星等。選用2007年發(fā)表的第二版《依巴谷星表》作為基本星表,該星表中恒星的位置精度高達千分之一角秒,滿足精度需求。選出依巴谷星表中星等小于6.0且有確定赤經(jīng)和赤緯的恒星,共5041顆,由于這其中包含了星等值不確定的“變星”和兩星之間角距太小的“雙星”,需要對星表進行進一步的處理。
對于星表中的變星,進行有選擇性的刪除,由于部分變星在亮度變換范圍內(nèi)均能成像,部分變星的變化范圍超出了可觀測的最高星等,所以保留星等最大值小于6.0的變星,刪除星等最小值小于6.0且最大值大于6.0的恒星,總共刪除62顆變星。
由于恒星的成像會經(jīng)過彌散處理擴散到多個像元,當兩顆星之間的角距很小時會使兩顆星的成像像素重疊,從而干擾單星的提取精度,甚至將兩顆星誤判為一顆星。在很多星表的預(yù)處理過程中,采用了刪除兩顆星或者兩顆中較暗星的方式,這樣處理比較簡單,但是當視場中恒星數(shù)量不多時,會影響系統(tǒng)的識別率。本文采用合并雙星的方法,根據(jù)所仿真的恒星敏感器的性能指標,選擇將角距小于0.059°(4個像元尺寸大小)的雙星合并,得到一顆擁有新的星等、赤經(jīng)和赤緯的恒星,刪除星表中構(gòu)成雙星的兩顆星,加入合并生成的星。設(shè)兩顆星的星等分別為m1、m2,亮度分別為d1、d2,方向矢量分別為v1、v2,兩顆星之間的角距為p;合并的新星的星等、亮度、方向矢量分別為m、d、v,與原兩顆星之間的角距分別為p1、p2,當用光流密度來表示星的亮度時[25],兩顆星的亮度比
d1/d2=e(m2-m1)/2.5
(1)
合并得到星的亮度可以看成是兩顆星的亮度的合成,于是有
d=d1+d2
(2)
通過推導(dǎo),得到合并后新星的星等
m=m2-2.5ln[1+e(m2-m1)/2.5]
(3)
又由于角距與亮度存在關(guān)系式
d1p1=d2p2
(4)
得到
p=p1+p2=p1[1+e(m2-m1)/2.5]
(5)
根據(jù)方向矢量與角距的關(guān)系式
vsinp=v1sinp1+v2sinp2≈v1p1+v2p2
(6)
從而得到合并后新星的方向矢量v為
v=(v1p1+v2p2)/sinp
(7)
根據(jù)坐標轉(zhuǎn)換公式,得到新的赤經(jīng)赤緯。
試驗中發(fā)現(xiàn),星表中存在3顆星之間的角距均小于0.059°,在這種情況下,將其中兩顆星合并之后再與第三顆星合并,最終形成一顆新的星,將其替換原有的三顆星。雙星處理過程挑選出了27對雙星,實際刪除51顆,加入25顆合并后的星。經(jīng)過變星及雙星處理,星表最后剩下4953顆恒星。
本文提出了一種結(jié)合神經(jīng)網(wǎng)絡(luò)技術(shù)及三角形算法的星圖識別方法,恒星敏感器工作期間,在沒有先驗姿態(tài)的情況下,可以采用該方法進行全天星圖識別。如圖1所示,該識別系統(tǒng)主要包括兩部分:星表的預(yù)處理分類、實測星圖的識別。
圖1 識別系統(tǒng)的原理Fig.1 Schematic diagram of recognition system
預(yù)處理分類過程中,基于篩選好的星庫,根據(jù)每顆星的鄰近星的分布特點,構(gòu)造特征向量,采用神經(jīng)網(wǎng)絡(luò)技術(shù)構(gòu)建分類網(wǎng)絡(luò),將星表中所有恒星分成多類,并將每顆恒星與其鄰近星的組合三角形信息存儲在對應(yīng)的三角形庫中。
星圖識別過程中,用同樣的方法生成待識別星的特征向量,通過分類網(wǎng)絡(luò)輸出最相似類,在該類對應(yīng)的三角形庫中應(yīng)用三角形算法,找到匹配三角形。當驗證成功之后,計算并輸出該識別姿態(tài)。
自組織特征映射網(wǎng)絡(luò)又稱為自組織映射網(wǎng)絡(luò)(SOM),最早由神經(jīng)網(wǎng)絡(luò)專家Kohonen于1981年提出。它模擬了大腦中不同區(qū)域的神經(jīng)網(wǎng)絡(luò)細胞分工不同的特點,通過網(wǎng)絡(luò)的學習,使不同區(qū)域有不同的響應(yīng)特征[26]。自組織映射算法是無監(jiān)督學習算法的一種,網(wǎng)絡(luò)的分類由多個輸入神經(jīng)元共同協(xié)作完成。SOM網(wǎng)絡(luò)輸出層引入了拓撲結(jié)構(gòu),每個神經(jīng)元附近的神經(jīng)元會得到更新,使相鄰神經(jīng)元變得更相似,以更好地模擬生物學中的側(cè)抑制現(xiàn)象,具有聚類和高維可視化的特點。
利用自組織映射對恒星進行分類,需要構(gòu)建有效的特征向量代表恒星,作為網(wǎng)絡(luò)的輸入。如圖2所示,采用徑向特征[25]來構(gòu)造星的特征向量:以星表中每顆恒星為圓心,以固定的角距增量畫同心圓,將每顆星周圍的圓區(qū)域均分成N等分,根據(jù)區(qū)間內(nèi)恒星的統(tǒng)計量構(gòu)造N維的特征向量,與圖2所對應(yīng)的10維特征向量為[0,0,1,2,1,2,1,2,0,1]。
圖2 特征向量的構(gòu)造方法Fig.2 Method of constructing feature vector
利用自組織映射網(wǎng)絡(luò)對4953顆恒星進行分類,將N維特征向量作為網(wǎng)絡(luò)輸入,如果選擇分成81類,訓(xùn)練網(wǎng)絡(luò)的迭代次數(shù)設(shè)為700,則網(wǎng)絡(luò)將循環(huán)輸入4953顆星700次,訓(xùn)練結(jié)束時,恒星被較均勻的分在81類中,如圖3所示,數(shù)值代表每一類的恒星統(tǒng)計量。
圖3 分類結(jié)果Fig.3 Result of the classification
表1列出了該分類結(jié)果下第1類別中部分恒星的特征向量,從表中可以看到,這些特征向量具有相似的數(shù)字變化規(guī)律,前幾列偏小,而第7列和第9列的數(shù)值較大,即網(wǎng)絡(luò)把具有相似特點的特征向量的恒星視為了一類。該方法所構(gòu)造的特征向量反映了恒星周圍區(qū)域內(nèi)星的分布特點,能有效的將具有相似鄰近星分布的星歸為一類。又由于特征向量的構(gòu)造對恒星的位置誤差有一定的容忍性,使得該分類方法具有較好的魯棒性,當星點引入了位置誤差或者周圍星的數(shù)量發(fā)生變化時,網(wǎng)絡(luò)依然可以輸出其最相似類。
表1 第1類中部分信息
構(gòu)建恒星特征向量的同時,在其鄰近星中挑選出最亮的或者最近的幾顆星,與該星組成多個三角形,將三顆星及三個角距值作為該三角形的信息,存儲到網(wǎng)絡(luò)識別類所對應(yīng)的三角形庫中,形成81個三角形信息庫。
基于已建好的星表和已訓(xùn)練好的SOM網(wǎng)絡(luò),星圖識別過程的步驟如圖4所示。
圖4 星圖識別的算法流程Fig.4 Flowchart of star pattern recognition algorithm
1)輸入待識別星,采用相同的特征提取方法,生成待識別星的特征向量并輸入已訓(xùn)練好的自組織映射網(wǎng)絡(luò),網(wǎng)絡(luò)輸出該星與所有類的相關(guān)度,選擇相關(guān)度最高的一類代表該星進行后面的識別匹配。
2)將待識別星與其鄰近區(qū)域內(nèi)最亮或者最近的M顆星進行組合,生成M×(M-1)/2個三角形,按照星的亮度或者距離對三角形進行排序。
3)根據(jù)待識別星所屬的種類,在該類所對應(yīng)的三角形庫中,應(yīng)用三角形算法,依次匹配排好序的組合三角形。
4)當找到匹配三角形時,根據(jù)待識別星所匹配的恒星在星表中的信息,以及待識別星在實測星圖中坐標,生成星表中該星可形成的理論星圖,驗證理論星圖與實測星圖的差距,如果理論星圖中的恒星大部分都能在實測星圖中找到,且坐標誤差在允許的范圍內(nèi),則認為識別成功,若驗證不通過則繼續(xù)搜索匹配。
5)當搜索完待識別星的所有組合三角形,卻依然無法找到驗證成功的三角形時,則放棄該星的識別,回到1),選擇實測星圖中下一顆星進行識別。
6)若識別成功,則根據(jù)QUEST方法的姿態(tài)解算公式,計算出實測星圖所對應(yīng)的姿態(tài)。
為了驗證算法的可行性和性能,采用模擬星圖來進行試驗。隨機生成視軸指向,根據(jù)星表中恒星的赤經(jīng)和赤緯,通過坐標變換,將視場中的恒星投影到15°×15°的成像平面上。不同星等之間的亮度呈現(xiàn)關(guān)系是:星等值每降低1,亮度變?yōu)榍耙恍堑鹊?.512倍。由于電腦仿真灰度值范圍有限僅為0~255,而81%的恒星星等值在4.5~6之間,為了盡可能呈現(xiàn)出更多恒星的亮度變化,將星等值為4.5的恒星灰度值設(shè)為255,6等星的灰度值則為64,進行星等和灰度值之間的轉(zhuǎn)化:
(8)
式中:m為恒星的星等值;g為灰度值。又考慮到試驗時恒星成像并沒有在像元正中心,像素灰度值一般小于g,為了更加突出暗星,進行相應(yīng)的修改。由于67%的恒星星等值在5~6之間,將星等值為5的恒星灰度值設(shè)為255,6等星的灰度值則變?yōu)?01.5,進行星等和灰度值之間的轉(zhuǎn)化:
(9)
為了提高恒星的定位精度,實測星圖中星點并不是集中在一個像元內(nèi),而是被散焦到多個像元上,模擬該過程,將星點進行高斯點擴散,使之擴散到3×3的像元上,形成模擬星圖。星點圖像用高斯函數(shù)近似表示:
(10)
式中:g由式(9)得到;gi為像素i的灰度值;σ為光斑彌散半徑,取值為0.45;Δx為像素i中心點的橫坐標與星點橫坐標的差;Δy為像素i中心點的縱坐標與星點縱坐標的差。當m<5使g>255時,仍將該值代入式(10)中得到gi,當gi>255時,電腦將其視為255進行顯示。
星圖成像噪聲主要有兩方面[27]:一是器件在受到空間輻射時的散粒噪聲和器件本身的轉(zhuǎn)移噪聲、輸出噪聲、暗電流噪聲等,其中,暗電流噪聲和散粒噪聲相對來說影響較大;二是星空背景噪聲,包括雜散光、宇宙輻射、星云等。將背景噪聲看成10等星的亮度,即在原星圖上加上灰度值255/2.51210-5,用高斯白噪聲來代表器件的暗電流和散粒噪聲?;诖诵菆D進行仿真試驗,圖5為某視軸下模擬星圖的局部示意。
圖5 模擬星圖的局部示意Fig.5 Diagram of local simulated star map
本文對于組合三角形的方法有兩種,一是選擇恒星周圍最亮的5顆星進行組合,二是選擇恒星周圍最近的5顆星進行組合,通過一系列的仿真比較了這兩種方法。其中,最亮或最近5顆星的選取范圍與最大同心圓的選取范圍一致,即在參與構(gòu)建特征向量的周圍星中選取,當參與的周圍星不足5顆時,在該范圍內(nèi)選取所有周圍星完成組合。探討實驗參數(shù)對識別效果的影響:更改訓(xùn)練時的迭代次數(shù)、分類總數(shù)、特征向量維度,分別比較兩種三角形組合方法的識別效果。以下仿真試驗的模擬噪聲均選用均值為0.1的高斯白噪聲,同心圓角距差設(shè)為0.5°,每次試驗隨機生成10 000個視軸下的模擬星圖進行識別。圖6(a)、6(b)的分類總數(shù)為81,特征維度為10,噪聲為標準差0.017。圖6(c)、6(d)的迭代次數(shù)為500,特征維度為10,噪聲為標準差0.017。圖6(e)、6(f)的分類總數(shù)為81,迭代次數(shù)為500,同心圓角距差為0.5°,噪聲為標準差0.035。
如圖6(a)、6(b)所示,當SOM網(wǎng)絡(luò)的訓(xùn)練迭代次數(shù)為200時即可達到很好的識別效果,增加訓(xùn)練的迭代次數(shù),識別效果變化不大。從圖6(c)、6(d)得到,分類總數(shù)對識別效果的影響較小,綜合識別時間及識別率的結(jié)果,當分類總數(shù)為60~80時,整體效果較好。圖6(e)、6(f)反映了特征維度的選擇對識別效果的影響,由于在標準差為0.017的噪聲下,系統(tǒng)識別率很高,特征維度對其影響不明顯,故增大了噪聲的干擾,選擇標準差為0.035的高斯白噪聲進行實驗。當保持同心圓的角距差0.5不變時,改變特征維度的同時也改變了恒星周圍星的選取范圍。當特征維度較小時,由于恒星周圍參與統(tǒng)計的鄰近星較少,特征向量包含的信息量不足以將恒星較好的分類,使得識別率降低;當維度較大時,若恒星離視場中央較遠,同心圓所包含的區(qū)域?qū)⒉荒茉趫D像上完整成像,導(dǎo)致統(tǒng)計量出現(xiàn)偏差,識別率降低。因此,對于15°×15°視場、6.0星等的星敏感器,可以選擇分類數(shù)為60~80,基于固定的角距差0.5°,適合構(gòu)造7~10維的特征向量。
從以上試驗還可以看到,選取恒星鄰近5顆星組合三角形的識別率更高,識別時間更短。當選擇恒星鄰近最亮5顆星組合三角形時,由于6等星星庫中67%的恒星星等在5~6之間,所以當引入噪聲時,導(dǎo)致星等誤差較大,干擾了鄰近星的亮度排序,會得到錯誤的5顆亮星。
圖6 不同參數(shù)下的識別效果Fig.6 Recognition under different parameters
續(xù)圖6Fig.6 Continued
為了評估該星圖識別算法對噪聲的容忍性,由此來檢測識別系統(tǒng)的健壯性,改變高斯白噪聲的標準差,得到不同噪聲干擾下算法的識別效果。
觀察圖7不同噪聲下的識別效果,當系統(tǒng)噪聲增加時,系統(tǒng)識別率降低,識別時間變長,計算所得的視軸誤差增加,相比之下,鄰近5顆星的組合三角形對噪聲的容忍性更高。但是不論是哪一種方法,識別時間都低于5 ms,識別率在噪聲標準差為0.025時仍高達99%,該噪聲相當于在原星圖上隨機加上-10~60的灰度值。采用QUSET方法計算姿態(tài),得到視軸誤差在角秒級。
在星敏實際應(yīng)用過程中,探測器的靈敏度會產(chǎn)生波動,實際觀測的最大星等值不一定嚴格地保持原設(shè)計值,如表2所示,改變星表的最大星等值,列出了對應(yīng)的恒星總數(shù),并將其與原設(shè)計星表進行對比,由于原設(shè)計星表65%恒星星等值在5~6之間,當最大星等值在6附近發(fā)生較小改變時,星表恒星數(shù)量即發(fā)生很大的變化。
表2 不同星表的恒星數(shù)量
本算法的預(yù)分類識別對恒星分布的依賴性較強,為了評估算法的適用性,在保持匹配星表最大星等為6的情況下,改變仿真星表的最大星等值,即模擬探測器的靈敏度發(fā)生波動的情況。
圖7 不同噪聲下的識別效果Fig.7 Recognition under different noise
如圖8所示,保持原設(shè)計星表不變的情況下進行預(yù)分類、建立三角形庫,改變仿真圖像所用到的星表最大星等值,并隨機生成視軸指向進行星圖模擬,可以看到,增大最大星等值的改變量時,算法的識別率隨之下降,而識別時間也隨之增加。
為了改善因為探測器靈敏度改變所造成的算法識別率的下降,將原算法中“在最相似一類中進行三角形匹配”改進為“在最相似五類中進行三角形匹配”,即擴大了三角形的搜索范圍,同時也增加了對星等分布不確定性的容忍度。如圖9為改進算法后相應(yīng)的識別率及識別時間。
從圖9可以看到,在將匹配范圍擴大之后,算法的識別率得到了很大程度的提高。對比圖8(b)和圖9(b),由于三角形搜索范圍的增大,導(dǎo)致搜索時間變長,但是依然可以實現(xiàn)快速識別。
圖8 不同最大星等值下的識別效果Fig.8 Recognition under different maximum star magnitudes
圖9 改進后不同最大星等值下的識別效果Fig.9 Recognition under different maximum star magnitudes after improvement
續(xù)圖9Fig.9 Continued
本文提出了一種結(jié)合SOM網(wǎng)絡(luò)及三角形算法的星圖識別方法,分析比較了迭代次數(shù)、分類總數(shù)、特征向量維度對識別時間及識別率的影響,并對組合三角形的兩種選取方法進行了比較。相對于經(jīng)典的三角形算法,本算法:1)搜索范圍小、識別速度快,由于本文通過SOM網(wǎng)絡(luò)對星表進行了預(yù)分類,每類的恒星較少,如分成81類時每類包含恒星不超過170顆,應(yīng)用三角形算法時,搜索更快,系統(tǒng)識別時間平均在5 ms內(nèi)。2)抗噪性能好,由于SOM網(wǎng)絡(luò)良好的分類能力,當圖像引入噪聲帶來位置和星等誤差時,系統(tǒng)依然能較好的對恒星進行分類并識別出其對應(yīng)的導(dǎo)航星,在噪聲標準差為0.025時仍可達到99%的識別率。3)由于算法原理依賴于恒星的分布特點,對探測器的靈敏度改變較為敏感,在進行算法改進后,識別率得到了很大的提高,而相應(yīng)產(chǎn)生的時間代價依然可以接受。