潘 迪,溫兆倫,任平川,陸 建,韓圣升
(1.上海航天控制技術研究所·上海·201109;2.上海市空間智能控制技術重點實驗室·上海·201109)
星敏感器是以恒星為參考、以天空為工作對象的高精度空間姿態(tài)測量裝置,具有重要的應用價值[1]。為了從星圖中獲得更高的星點定位精度,星敏感器的光學系統(tǒng)常常采用離焦的方式,使得靜態(tài)條件下星點在探測器成像面上的像斑擴散為3×3至5×5的彌散圓,接著再利用細分定位算法提取星點質心,精度可達到亞像元級[2]。在星敏感器中,星點質心的定位尤為重要,其精度決定了星敏感器姿態(tài)測量的精度[3-4]。
星斑可以看作無窮遠處的點光源在光學系統(tǒng)焦平面上所成的圖像。當載體相對天球快速轉動時,星點成像會出現拖尾現象[5],即在單位曝光時間內,星點成像軌跡不可忽略時,星光所激發(fā)光電子以一定規(guī)律沿著軌跡分布的現象。在這種條件下,星點生成的星斑被稱為動態(tài)星斑;與之相對的,在單位曝光時間內星點成像軌跡可以忽略時,星點的成像被稱為靜態(tài)星斑。載體的角速度越大,星斑拖尾長度越長,動態(tài)像斑的平均灰度值越低。如果以靜態(tài)星斑的標準對動態(tài)星斑進行濾波,動態(tài)星斑很容易被當作背景雜散光被過濾掉,從而破壞質心提取的可靠性,這會對航天器的定姿產生重大影響。
高動態(tài)下的星點質心定位技術是近年來研究的熱點。文獻[5]建立了動態(tài)條件下的恒星成像模型,并利用模板補償星斑缺失部分,有效提高了星點質心定位精度。但動態(tài)模板生成及星斑補償算法過于簡單,對于定位精度的提升效果有限。文獻[6]則針對星點拖尾現象,提出了一種基于自適應窗口選擇的星體目標提取方法,并基于數學形態(tài)學使斷裂星體進行主動生長,完成了對于星斑的修補。但修補方法比較簡單,容易造成像斑失真。針對高動態(tài)條件下的星點拖尾問題,本文提出了一種基于差異哈希的高動態(tài)條件下星點質心提取方法。首先,對星點動態(tài)像斑進行建模。其次,基于差異哈希算法與上述模型對星跟蹤模式下窗口內的星體目標進行粗定位,并對粗定位區(qū)域采用閾值分割與連通域法[2](下述“傳統(tǒng)法”)提取星點質心。通過這樣由粗到細的星點質心提取方法,以克服傳統(tǒng)方法在高動態(tài)情況下星點提取率低、質心提取精度不高的問題。最后,使用外場觀星實驗的數據完成算法的仿真,驗證了算法的有效性。
針對傳統(tǒng)法在高動態(tài)下無法準確提取星點質心的問題,本文提出了一種星跟蹤模式下波門內星點質心提取方法。首先對動態(tài)星斑進行數據建模,接著采用差異哈希算法將星斑模板及波門子圖映射為固定長度的哈希值,隨后利用漢明距離對模板哈希值及波門子圖哈希值進行相似性檢測,找出波門圖中與模板最相似的子圖,實現在星跟蹤波門內的星體粗定位,最后在星點粗定位區(qū)域使用傳統(tǒng)法提取質心。算法的整體流程圖如圖1所示。

圖1 算法流程圖Fig.1 The flowchart of the algorithm
星敏感器所探測的目標是無窮遠處的恒星。理想情況下,靜態(tài)星斑的能量分布符合二維高斯分布[7-8]
(1)
式中,I(x,y)為探測器成像平面坐標為(x,y)像元所接收的光電子數;(x0,y0)為星點像斑的質心;σ為高斯半徑;A為一正比于總光強的比例系數。在光學設計中常使用均方根(Root Mean Square,RMS)半徑rrms來表示彌散斑的半徑,顯然σ與rrms兩者在數學上滿足
(2)
所以,靜態(tài)條件下,星敏感器探測器像面波門內的光電子分布為
(3)
其中,Ne為激發(fā)光電子數,正比于波門內的總灰度值。
以某型星敏感器為例,其探測器像元尺寸為18μm,光學系統(tǒng)保證的彌散斑半徑為25μm,則恒星在該探測器上成像的彌散光斑有80%以上的能量集中于3×3的像元內。坐標(m,n)的像元內激發(fā)電子數滿足關系
xp0)]}{erf[k(n-yp0)]-erf[k(n+
1-yp0)]}
(4)

(5)
其中,erf(x)函數值可以通過查表得到。
高動態(tài)條件下,因為曝光時間很短,所以可以認為星點質心在探測器成像面上的運動為勻速運動。則動態(tài)情況下,坐標(m,n)的像元內激發(fā)電子數變成
erf[k(m+1-xp0-vxpt)]}·
{erf[k(m-xp0-vxpt)]-
erf[k(m+1-xp0-vxpt)]}dt
(6)

(7)

(8)
所以,可以將式(7)改寫為級數形式
(9)
這樣就得到了已知速度、曝光時間、像元尺寸和鏡頭rrms,求取星斑在波門任一像元內的受激發(fā)光電子數的方法。該數值正比于像元的灰度值,在只關注像元間灰度的相對關系時,可以不用計算精確的Ne值,將其設置為常數。圖2即為使用式(9)生成尺寸為8×9的星斑模板。
哈希算法又稱為散列技術,它將任意長度的二進制值映射為較短的固定長度的二進制值,即為哈希值。哈希值是一段數據唯一且極其緊湊的數值表示形式。哈希算法主要用于驗證原始數據是否被篡改。而在圖像相似性檢測上,通常使用感知哈希算法,它的作用是對每張圖片生成一個指紋字符串,然后比較不同圖片的指紋,結果越接近,就說明圖片越相似[9]。感知哈希算法是一類算法的總稱,包括平均值哈希(Average Hash, AHash)、感知哈希(Perceptual Hash,PHash)和差異哈希(Difference Hash,DHash)。感知哈希不是以嚴格的方式計算哈希值,而是以更加相對的方式計算哈希值,因為相似與否就是一種相對的判定。

(a) 星斑模板圖像

(b) 星斑模板3維圖像圖2 星斑模板圖像Fig.2 Dynamic star spot template
由1.1節(jié)可知,動態(tài)星點像斑在相鄰像元間的相對灰度分布有明顯的規(guī)律性,且在光學系統(tǒng)確定的條件下,這種規(guī)律性只與星敏感器的轉動速度有關,與恒星本身的能量無關。差異哈希算法中的差異值是通過對比每行相鄰像素的灰度得出的,這標識了灰度的漸變方向。所以對于每一幀的星跟蹤波門,可以通過計算模板和窗口子圖的差異哈希值進行圖片相似性檢測,與模板最相似的子圖即為星體目標粗定位區(qū)域。算法流程如下:
1)計算模板的差異哈希值DHashtem。按式(9)生成8×9的動態(tài)星斑模板矩陣,模板星點質心取在矩陣中心。比較每一行左邊像素與右邊像素的灰度值,若左邊像素的灰度值大于右邊,則差異哈希值設置為1,否則設置為0。這樣就得到了8個差異哈希值數組,每個數組中含有8個差異哈希值。將每個差異值看作1bit,每8個bit組成一個16進制值,將8個16進制值轉化為字符串并連接起來,就得到了模板的差異哈希值DHashtem。以圖3為例,該模板的差異哈希值為“0f0f0f0f0f0f0f0f”。

(a) 星斑模板矩陣

(b) 星斑模板差異哈希數組圖3 星斑模板差異哈希值生成過程Fig.3 The generation process of DHash value of the template
2)計算波門的差異哈希值DHashi,j。假設跟蹤窗口圖像的大小為N×M,在窗口內以n×m的小窗口作滑動窗口,截取窗口子圖,則會得到(N-n+1)×(M-m+1)個與模板尺寸相同的窗口子圖。按上述方法計算每一個窗口子圖的差異哈希值,記為DHashi,j,其中i,j為子圖左上角在原窗口內的坐標。
3) 使用漢明距離比較模板的差異哈希值與所有模板子圖的差異哈希值,取最小值為最佳匹配區(qū)域。在信息論中,兩個等長字符串之間的漢明距離是兩個字符串對應位置的不同字符的個數。因為前文已經將模板與子圖都轉換成了差異哈希字符串,所以可以使用漢明距離來度量兩幅圖片的相似性。與DHashtem漢明距離最小的DHashi,j表征了窗口中與模板最相似的子圖,該子圖就是星體粗匹配區(qū)域det。
連通域與閾值分割法是最傳統(tǒng)的基于灰度的質心提取方法,也是目前運用最廣泛的方法[2]。首先對星點粗匹配區(qū)域進行濾波,其次提取濾波后窗口內的四連通域,最后采用質心法在四連通域內計算星點質心。這樣由粗到細的質心提取方法,能夠克服傳統(tǒng)法在高動態(tài)、大波門情況下星點提取率低、質心提取精度不高的問題。

(10)
實驗采用的數據為某型號星敏感器2021年7月31日的外場地面觀星LVDS下傳的波門數據,某型號星敏感器的光學系統(tǒng)參數如表1所示。

表1 某型號星敏感器光學系統(tǒng)參數
實驗分為兩組,每一組皆分別使用差異哈希值法與傳統(tǒng)法提取窗口內的星點質心。在處理每一幀窗口數據時,模板由處理器直接計算。兩組實驗中的每一次測試,皆選取星跟蹤模式下的100幀波門圖像作為實驗數據。第一組實驗,曝光時間設定為恒定值86ms,設定轉臺轉動速度,使星敏感器的合成角速度分別大約為1(°)/s、2(°)/s和3(°)/s,測試3種星點提取方法在不同角速度下對星敏感器定姿精度的影響。第二組實驗,轉臺轉速設定為恒定值3.1(°)/s,設定3組不同的曝光時間86.5ms、62.5ms和50ms,測試3種星點提取方法在不同曝光時間下對星敏感器定姿精度的影響。
本文采用星對角距誤差和單幀提取率作為算法的評價指標。
(1)星對角距誤差
在高動態(tài)情況下,傳統(tǒng)的基于滑動窗口的誤差計算方法不再適用[10]。本文鑒于星對角距的不變性,采用視場內星對角距統(tǒng)計偏差評估星敏感器的姿態(tài)測量精度[11]
(11)
其中,Nstar為當前幀視場中的定姿星數;b和v分別為標準星矢量和測量星矢量;l代表幀號。
(2)數據有效率
數據有效率是有效幀數與總幀數的比值。如果當前幀識別匹配成功的定姿星在3顆以上,則判定其為有效幀。
(3)單幀提取率
單幀提取率為一幀中成功提取的探測星數與視場中所有導航星數的比值。若算法能夠成功輸出星點質心,則判定星點提取成功。
實驗一,分別用傳統(tǒng)法和相關模板匹配法提取星點質心,采用上述3種評價指標對2種算法進行評價,評價結果如表2所示,星對角距誤差曲線如圖4所示。其中星對角距誤差統(tǒng)計了100幀誤差的均值和三倍標準差(3σ),提取率統(tǒng)計了100幀提取率的均值(Mean)、最大值(Max)和最小值(Min)。
從圖4和表2可以看出,相關匹配法的星對角距誤差較為穩(wěn)定,在角速度1(°)/s、2(°)/s和3(°)/s的高動態(tài)條件下,星對角距誤差均值較傳統(tǒng)法分別減小了47.4%、42.7%、34.7%。從提取率上來評價,差異哈希法能夠穩(wěn)定提取星點,100幀的平均提取率達到100%;而傳統(tǒng)法提取率較低且不穩(wěn)定。從數據有效率上看,相關匹配法在3種角速度下,100幀數據全部有效,能夠穩(wěn)定輸出姿態(tài)信息;而傳統(tǒng)法隨著角速度的增大,數據有效率逐漸降低,出現了跟蹤失敗的情況。以上實驗結果表明,差異哈希法在高動態(tài)情況下能夠實現恒星的穩(wěn)定跟蹤,且誤差穩(wěn)定,精度符合星敏感器的指標要求。
實驗二評價結果如表3所示,星對角距誤差曲線如圖5所示。

表2 實驗一評價結果

(a) 1(°)/s

(b) 2(°)/s

(c) 3(°)/s

表3 實驗二評價結果

(a) 86ms

(b) 62.5ms

(c) 50ms圖5 3種曝光時間下的星對角距誤差曲線Fig.5 Angle distance error curves of two star point extraction methods under three exposure times
從圖5和表3可以看出,隨著曝光時間的縮短,2種方法的星對角距誤差都有了大幅度的降低。相比較而言,差異哈希法的星對角距誤差更為穩(wěn)定,在曝光時間為86ms、62.5ms和50ms的條件下,誤差均值較傳統(tǒng)方法分別減小了34.7%、29.1%、29.6%。從提取率上來評價,對于3種曝光時間,相關匹配法能保證提取率在90%以上;而傳統(tǒng)法的提取率均值達不到90%。從數據有效率上看,隨著曝光時間的降低,傳統(tǒng)法的數據有效率逐漸降低,出現了跟蹤失敗的情況;而相關匹配法在3種曝光時間下,數據有效率100%,能夠穩(wěn)定輸出姿態(tài)信息。以上實驗結果表明,差異哈希法在高動態(tài)下能夠適應多種曝光時間,在實現穩(wěn)定跟蹤的同時提高定姿精度。在角速度3(°)/s 及曝光時間50ms的條件下,差異哈希法的星對角距誤差均值達到13″。
本文針對高動態(tài)情況下星點目標提取困難的問題,提出了一種基于差異哈希的高動態(tài)條件下星點質心提取方法。此方法首先建立動態(tài)星點像斑的數學模型,其次利用差異哈希算法與漢明距離對模板圖像與窗口子圖進行相似度度量,實現對星跟蹤模式下窗口內的星體目標粗定位,接著在粗定位區(qū)域采用傳統(tǒng)法提取星點質心,這樣由粗到細的星點質心提取方法能夠克服直接在波門內使用傳統(tǒng)法在高動態(tài)情況下星點提取率低、質心提取精度不高的問題。基于外場觀星數據的仿真實驗表明,本文提出的星點提取方法能夠實現星敏感器在角速度3(°)/s條件下的穩(wěn)定跟蹤,并且能夠適應各種長度的曝光時間。在曝光時間50ms,角速度3(°)/s的條件下,星對角距誤差為13″,平均提取率為96%,相較于傳統(tǒng)方法,分別提高了29.6%和22.9%。