曾思康,趙汝進(jìn),馬躍博,朱自發(fā),唐雨萍,朱梓建
(1 中國(guó)科學(xué)院光電技術(shù)研究所,成都 610209)
(2 中國(guó)科學(xué)院大學(xué),北京 100049)
(3 中國(guó)科學(xué)院空間光電精密測(cè)量技術(shù)重點(diǎn)實(shí)驗(yàn)室,成都 610209)
星敏感器是根據(jù)慣性坐標(biāo)系下恒星的位置測(cè)量航天器在慣性坐標(biāo)系下姿態(tài)的姿態(tài)敏感器,是現(xiàn)有姿態(tài)敏感器中精度最高的姿態(tài)測(cè)量設(shè)備,具有無漂移、工作壽命長(zhǎng)等優(yōu)點(diǎn)。它是航天器賴以生存和性能提升的基礎(chǔ)性和關(guān)鍵性器件,在對(duì)地遙感、深空探測(cè)以及高精度探測(cè)等航天應(yīng)用領(lǐng)域中具有重要的戰(zhàn)略意義[1]。
傳統(tǒng)星敏感器采用的是基于幀的成像模式,如全局曝光和卷簾曝光,在一定曝光時(shí)間內(nèi)生成一幀星圖。但是這種成像模式在航天器大幅度機(jī)動(dòng)的高動(dòng)態(tài)條件下,拍攝的星圖會(huì)產(chǎn)生運(yùn)動(dòng)模糊,出現(xiàn)“星點(diǎn)拖尾”效應(yīng),加上噪聲影響,使得星圖信噪比顯著降低,造成星點(diǎn)質(zhì)心提取精度降低甚至提取失敗,嚴(yán)重限制了星敏感器的動(dòng)態(tài)性能。基于事件的星敏感器星點(diǎn)提取,采用的是事件相機(jī)的成像模式,突破了傳統(tǒng)幀圖像的模式,采用事件驅(qū)動(dòng)的方式生成流態(tài)事件數(shù)據(jù),其輸出的是像素的亮度變化[2]。與傳統(tǒng)基于幀的成像模式相比,事件相機(jī)具有兩個(gè)主要的優(yōu)點(diǎn):第一,高時(shí)間分辨率,可以極大地提高恒星跟蹤的動(dòng)態(tài)性能。第二,由于事件驅(qū)動(dòng)的方式,在星空背景下,具有較小的數(shù)量,且功耗更小。
近年來,基于事件的信息處理在機(jī)器人和計(jì)算機(jī)視覺領(lǐng)域得到了極大的關(guān)注。許多核心功能,如光流估計(jì)[3]、3D 重建[4]、SLAM[5]等,已證明使用事件相機(jī)可以取得更優(yōu)異的性能。尤其是在高動(dòng)態(tài)問題中,基于事件相機(jī)的性能明顯優(yōu)于傳統(tǒng)相機(jī)。在空間領(lǐng)域的應(yīng)用,COHEN G 等使用事件相機(jī)結(jié)合大口徑、長(zhǎng)焦距地基望遠(yuǎn)鏡探測(cè)太空中的運(yùn)動(dòng)目標(biāo),在白天和夜晚均可觀測(cè)到從LEO 到GEO 的空間物體,證明了使用事件相機(jī)觀測(cè)空間物體的可行性[6]。CHEUNG B 等使用事件相機(jī)觀察空間目標(biāo),并用概率多假設(shè)跟蹤器從事件流中估計(jì)目標(biāo)軌跡,證明了在事件流中使用概率多假設(shè)模型跟蹤快速移動(dòng)的空間目標(biāo)的可行性和合理性,但這種方法在對(duì)較暗的物體跟蹤時(shí)可能導(dǎo)致較多的錯(cuò)誤軌跡[7]。CHIN T J 等將事件相機(jī)用于恒星跟蹤,但其著重點(diǎn)在姿態(tài)估計(jì),沒有進(jìn)行明確的星點(diǎn)提?。?-9]。ROFFE S 等將事件相機(jī)放在廣譜中子的照射下來觀測(cè)其單粒子效應(yīng),結(jié)果表明事件相機(jī)能夠在類似太空的輻射環(huán)境中工作[10]。這些工作都沒有涉及到基于事件相機(jī)的高動(dòng)態(tài)星點(diǎn)質(zhì)心提取。
本文針對(duì)傳統(tǒng)星敏感器在高動(dòng)態(tài)下(≥3°/s)星點(diǎn)質(zhì)心提取精度低和現(xiàn)有基于事件的方法的缺點(diǎn)提出一種基于事件的高動(dòng)態(tài)星敏感器星點(diǎn)質(zhì)心提取方法,基于時(shí)空密度的方法,去除噪聲事件,增強(qiáng)流態(tài)事件數(shù)據(jù)的信噪比,并基于均值漂移定位星點(diǎn)位置進(jìn)一步計(jì)算星點(diǎn)質(zhì)心,從而實(shí)現(xiàn)在高動(dòng)態(tài)下亞像素級(jí)的提取精度。
星敏感器是通過拍攝深空中的導(dǎo)航星來解算航天器的姿態(tài)信息。首先,星敏感器的感光探測(cè)器在曝光時(shí)間內(nèi)以積分成像方式生成星圖,然后進(jìn)行定位星圖中的星點(diǎn),提取星點(diǎn)質(zhì)心坐標(biāo),再根據(jù)星敏感器的參數(shù)計(jì)算出星點(diǎn)在星敏感器坐標(biāo)系下的方向矢量,在星敏感器初始姿態(tài)捕獲階段通過星圖識(shí)別技術(shù)識(shí)別出當(dāng)前拍攝到的星點(diǎn)在導(dǎo)航星表中所對(duì)應(yīng)的導(dǎo)航星,進(jìn)而得到星敏感器在慣性坐標(biāo)系中的方向矢量,最后解算出此時(shí)星敏感器的三軸姿態(tài)信息[11]。其工作流程如圖1。
星點(diǎn)質(zhì)心提取是星敏感器中至關(guān)重要的一個(gè)環(huán)節(jié),直接關(guān)系到星敏感器最終姿態(tài)的測(cè)量精度。星敏感器所敏感的導(dǎo)航星是遠(yuǎn)距離目標(biāo),其在天球坐標(biāo)系中的方位是高精度天文觀測(cè)數(shù)據(jù),精度在毫角秒量級(jí),且?guī)缀鹾愣ú蛔?,因此星敏感器最后解算的姿態(tài)精度主要取決于數(shù)字圖像中星點(diǎn)質(zhì)心的提取精度。傳統(tǒng)星敏感器的星點(diǎn)質(zhì)心提取方法一般是將整幅圖的平均灰度值作為背景噪聲灰度值,再用星點(diǎn)區(qū)域灰度值減去背景噪聲得到校正的星點(diǎn),最后用灰度質(zhì)心法計(jì)算星點(diǎn)精確質(zhì)心。星點(diǎn)質(zhì)心提取的流程如圖2。
基于事件的星敏感器采用事件相機(jī)對(duì)導(dǎo)航星成像。事件相機(jī)[12],又叫動(dòng)態(tài)視覺傳感器(Dynamic Vision Sensor,DVS),是一種新型的動(dòng)態(tài)圖像傳感器。傳統(tǒng)的相機(jī)是以一定的速率獲取整幅圖像,而事件相機(jī)只對(duì)場(chǎng)景中的每個(gè)像素的亮度變化異步且獨(dú)立地做出響應(yīng),響應(yīng)速度可達(dá)微秒甚至納秒級(jí),圖3 為簡(jiǎn)化的事件相機(jī)像素電路圖。這些變化叫做事件,當(dāng)像素的亮度變化超過閾值時(shí),事件相機(jī)就會(huì)輸出一個(gè)事件,圖4(a)為事件異步觸發(fā)示意圖。一個(gè)事件e(x,y,t,p)包含四個(gè)元素:像素行坐標(biāo)x、像素列坐標(biāo)y、發(fā)生事件的時(shí)刻t、表征亮度變化的極性p。因此,事件相機(jī)的輸出是一系列由事件組成的數(shù)據(jù)速率可變的異步事件流,圖4(b)為事件相機(jī)與傳統(tǒng)相機(jī)輸出對(duì)比圖。事件相機(jī)由于內(nèi)部電路結(jié)構(gòu)加上外部環(huán)境因素的影響,輸出的事件流中會(huì)有一定量的噪聲,圖5(a)是視場(chǎng)中的星空,圖5(b)是事件相機(jī)仿真器生成的星點(diǎn)事件流。
基于事件的星敏感器的星點(diǎn)提取方法由于數(shù)據(jù)格式的不同,在處理方法上難以應(yīng)用傳統(tǒng)的質(zhì)心提取方法,如圖5(b)。因此,本文提出基于事件的星點(diǎn)提取方法主要分為兩步:第一步根據(jù)星點(diǎn)事件與噪聲事件之間的時(shí)空相關(guān)性和密度特性對(duì)事件流去噪;第二步利用均值漂移聚類對(duì)星點(diǎn)事件簇進(jìn)行定位,計(jì)算事件簇的質(zhì)心作為星點(diǎn)質(zhì)心。圖6 為本文所提方法的流程框圖。
受到背景噪聲、空間雜散光和暗電流等因素的影響,事件相機(jī)輸出的事件流中會(huì)有虛假事件,即由非星點(diǎn)運(yùn)動(dòng)產(chǎn)生的噪聲事件。這些噪聲事件除了會(huì)占用輸出帶寬,還會(huì)干擾星點(diǎn)坐標(biāo)位置的確定,嚴(yán)重影響星點(diǎn)質(zhì)心的提取。噪聲事件隨機(jī)出現(xiàn)在不同的位置與時(shí)刻,密度和時(shí)空相關(guān)性低[13]。真實(shí)的星點(diǎn)事件是航天器與導(dǎo)航星之間的相對(duì)運(yùn)動(dòng)導(dǎo)致光強(qiáng)變化產(chǎn)生的,且被激發(fā)的像素在一定的時(shí)間段內(nèi)一般都是相鄰的,所以在某個(gè)時(shí)間鄰域內(nèi),星點(diǎn)事件流密度大且時(shí)空相關(guān)性高。因此,可通過基于時(shí)空密度的方法對(duì)事件流去噪。
判斷兩個(gè)事件e1(x1,y1,z1)和e2(x2,y2,z2)的時(shí)空相關(guān)性
式中,L表示空間鄰域大小,為奇數(shù);Δt表示時(shí)間鄰域大小,如圖7 所示。
單個(gè)事件所包含的信息并不能反映其與其他事件的關(guān)系,為保證事件的低延遲特性,在逐個(gè)處理事件時(shí),需要分析其與已發(fā)生事件的關(guān)系,尤其是該事件與其時(shí)空鄰域內(nèi)事件的關(guān)系。根據(jù)已到達(dá)事件判斷新到達(dá)事件是否為噪聲的步驟為:
1)將每個(gè)新到達(dá)事件ei(xi,yi,ti,p)的時(shí)間戳ti存儲(chǔ)在一個(gè)與事件相機(jī)分辨率相同大小的矩陣中,存儲(chǔ)位置為矩陣中對(duì)應(yīng)的行列(xi,yi)及其8 鄰域,并覆蓋掉之前的時(shí)間戳。
2)判斷當(dāng)前位置的時(shí)間戳是否在此位置寫入的前一個(gè)時(shí)間戳的Δt范圍之內(nèi),即
式中,tc為新到達(dá)事件的時(shí)間戳;tp為此位置寫入的前一個(gè)已到達(dá)事件的時(shí)間戳。
3)若新到達(dá)事件滿足式(2),則為星點(diǎn)事件,否則為噪聲事件去除掉。
上述處理之后,初始部分的事件流中的噪聲沒有去掉,這是因?yàn)閷?duì)于某個(gè)位置開始到達(dá)的事件,在其時(shí)間鄰域內(nèi)沒有對(duì)比事件。因此,為了能夠后續(xù)提取出任意時(shí)刻的星點(diǎn)質(zhì)心,計(jì)算初始部分事件流的密度進(jìn)行去噪。
以每個(gè)事件為中心,建立一個(gè)L×L的矩陣D,L為奇數(shù),分別統(tǒng)計(jì)該事件及其8 鄰域共L2個(gè)位置的事件個(gè)數(shù),并放入矩陣D中對(duì)應(yīng)的位置。
式中,D(i,j)表示矩陣D中第i行第j列的元素,(x0,y0)為事件的空間坐標(biāo),1 ≤i,j≤L,ε(x,y,t)是一個(gè)二值函數(shù),表示為
計(jì)算矩陣中所有元素的累加和R,表示為
若R大于設(shè)定的閾值,則為星點(diǎn)事件保留下來,否則為噪聲事件,去掉。
事件流傳遞的信息不再是像傳統(tǒng)圖像那樣以灰度的形式傳遞圖像信息,而是通過事件簇來傳遞[14]。光強(qiáng)變化、星點(diǎn)的運(yùn)動(dòng)都會(huì)產(chǎn)生事件,這些事件在時(shí)空上關(guān)聯(lián)比較緊密,稱之為事件簇,可以展示星點(diǎn)的運(yùn)動(dòng)軌跡等信息。獲取事件簇的方式主要有兩種,一種是固定時(shí)間切片,一種是固定事件數(shù)量切片。但是固定事件數(shù)量切片會(huì)受到拍攝場(chǎng)景、目標(biāo)數(shù)量、傳感器分辨率等因素的影響,在相同事件數(shù)量情況下,存在事件簇不能完整表達(dá)目標(biāo)的可能。因此在處理星點(diǎn)事件流時(shí)選擇固定時(shí)間切片。
計(jì)算任意時(shí)刻t0的星點(diǎn)質(zhì)心坐標(biāo),截取事件流時(shí)間切片[t0-dt,t0+dt]如圖8。
事件是異步輸出的,即一個(gè)時(shí)刻只有一個(gè)事件,所以t0時(shí)刻無法確定視場(chǎng)中星點(diǎn)的個(gè)數(shù)。為了定位視場(chǎng)中所有星點(diǎn),采用均值漂移對(duì)時(shí)間切片[t0-dt,t0+dt]內(nèi)所有事件聚類。
隨機(jī)選擇一個(gè)事件作為中心點(diǎn),計(jì)算在半徑為D的圓形空間中所有事件點(diǎn)與中心點(diǎn)的偏移向量。
式中,k為包含在SD范圍內(nèi)事件的個(gè)數(shù),xi為包含在SD范圍內(nèi)的事件的空間坐標(biāo),SD為以x為中心點(diǎn),半徑為D的圓形區(qū)域,滿足以下關(guān)系的y點(diǎn)的集合
沿著漂移向量方向更新中心點(diǎn)
式中,MT為T狀態(tài)下求得的偏移向量;xT為T狀態(tài)下的中心點(diǎn)。
重復(fù)上述步驟,直到偏移向量的模小于一定的閾值停止更新。如果當(dāng)前事件簇C1的中心與某個(gè)事件簇C2中心的距離小于某個(gè)閾值,則把當(dāng)前事件簇歸類為C2,否則事件簇的個(gè)數(shù)加一。遍歷完時(shí)間切片中所有的事件,完成對(duì)所有星點(diǎn)事件的聚類。
計(jì)算每個(gè)事件簇的質(zhì)心即為星點(diǎn)質(zhì)心
式中,xc為事件簇質(zhì)心的橫坐標(biāo),yc為事件簇質(zhì)心的縱坐標(biāo),Nstark為組成導(dǎo)航星K 的事件個(gè)數(shù),xstark為組成導(dǎo)航星K 中事件點(diǎn)的橫坐標(biāo),ystark為組成導(dǎo)航星K 中事件點(diǎn)的縱坐標(biāo)。
本節(jié)所用星敏感器參數(shù)如表1,根據(jù)式(10)計(jì)算星敏感器以速度v(pixel/ms)運(yùn)動(dòng)時(shí)的角速度w。其中d是像元尺寸,f是焦距。根據(jù)事件相機(jī)的成像原理仿真星點(diǎn)事件流。
表1 星敏感器參數(shù)Table 1 Parameters of star sensor
評(píng)估去噪效果的優(yōu)劣,除了視覺直觀定性上的評(píng)價(jià),還需要具有科學(xué)性和綜合性的評(píng)價(jià)指標(biāo)。但是目前還沒有統(tǒng)一的評(píng)價(jià)標(biāo)準(zhǔn),以參考文獻(xiàn)[15]中提出的事件去噪精度(Event Denoising Precision,EDP)和事件信噪比(Event Signal-to-noise Ratio,ESNR)作為本文去噪效果優(yōu)劣的評(píng)估指標(biāo)。
EDP 的計(jì)算表達(dá)式為
式中,Nstar-event為事件流中星點(diǎn)事件數(shù)量,Ntotal為事件流中所有事件的個(gè)數(shù)。該值越大,去噪效果越好。
ESNR 的計(jì)算表達(dá)式為
式中,Nnoise為事件流中噪聲事件的個(gè)數(shù)。該值越大,去噪效果越好。
為了驗(yàn)證去噪方法的有效性與魯棒性,在星點(diǎn)仿真事件流中分別加入10%、30%、50%和80%的隨機(jī)噪聲。圖9 為去噪前后三維視圖,分別給出了在不同噪聲強(qiáng)度下的去噪效果可視化圖,隨著噪聲比率的增加,本文所提方法均可以較好地剔除虛假噪聲事件。圖(10)是不同噪聲強(qiáng)度下去噪前后EDP 和ESNR 對(duì)比圖,由圖可知隨著噪聲比率的增大,事件流數(shù)據(jù)的EDP 和ESNR 減小,而本文所提的基于時(shí)空密度的事件流去噪方法對(duì)事件流去噪之后,EDP 均在0.85 以上,在不損失有效星點(diǎn)事件的基礎(chǔ)上將事件流數(shù)據(jù)的ESNR保持在17.31。因此,本文所提的事件流去噪方法具有較強(qiáng)的魯棒性,有利于后續(xù)星點(diǎn)質(zhì)心的提取。
一般地,參與計(jì)算的導(dǎo)航星越多,后續(xù)星敏感器姿態(tài)解算的精度越高,但是過多的導(dǎo)航星會(huì)增加計(jì)算時(shí)間和資源的消耗,通常參與計(jì)算星敏感器姿態(tài)的導(dǎo)航星個(gè)數(shù)為5~10 顆。本文在仿真實(shí)驗(yàn)中,導(dǎo)航星數(shù)量為8 顆,dt=1/v(ms),類聚半徑為5 pixel。
為驗(yàn)證本文方法在高動(dòng)態(tài)條件下的有效性,固定噪聲強(qiáng)度在50%,分別在角速度為3°/s、5°/s、8°/s、10°/s、15°/s、20°/s 的動(dòng)態(tài)條件下生成星點(diǎn)事件流,分別截取其中一段300 ms 的事件流,并用本文方法對(duì)這300 ms 事件流進(jìn)行星點(diǎn)質(zhì)心提取,計(jì)算提取的實(shí)際星點(diǎn)質(zhì)心與星點(diǎn)質(zhì)心理論真值之間的絕對(duì)誤差。圖11 分別給出了不同角速度下星點(diǎn)質(zhì)心坐標(biāo)誤差。圖12(a)和12(b)分別表示在X方向和Y方向上,本文方法與軌跡擬合法在不同角速度下星點(diǎn)質(zhì)心提取的平均坐標(biāo)誤差對(duì)比圖,從圖中可以看出,本文方法相較于軌跡擬合法的平均誤差更低,更適合于基于事件的星點(diǎn)質(zhì)心提取。結(jié)合圖11 和圖12,可以看出,動(dòng)態(tài)角速度在3~10°/s 時(shí),平均質(zhì)心誤差小于0.04 pixel,在動(dòng)態(tài)角速度達(dá)到15°/s 時(shí),平均質(zhì)心誤差小于0.1 pixel。當(dāng)動(dòng)態(tài)角速度到達(dá)20°/s 時(shí),仍可提取出星點(diǎn)質(zhì)心,平均誤差在亞像素級(jí),而目前傳統(tǒng)星敏感器的整體動(dòng)態(tài)性能最高在10°/s[16],因此本文所提方法相較于傳統(tǒng)星點(diǎn)提取方法在高動(dòng)態(tài)下更具有優(yōu)勢(shì)。需要注意的是,由事件相機(jī)的工作原理所致,本文所提方法對(duì)低動(dòng)態(tài)下的適用性有所欠缺,圖13 為低速工況下的事件相機(jī)輸出的三維視圖,可以看到在低動(dòng)態(tài)下,事件相機(jī)的輸出仍然有活動(dòng)背景噪聲,但是幾乎沒有星點(diǎn)事件流輸出。
為進(jìn)一步驗(yàn)證本文方法對(duì)噪聲的魯棒性,固定角速度w=5°/s,在不同噪聲強(qiáng)度下,使用本文方法提取星點(diǎn)質(zhì)心。在每個(gè)噪聲強(qiáng)度下計(jì)算本文方法提取質(zhì)心的平均誤差,如圖14 所示,隨著噪聲強(qiáng)度的增大,質(zhì)心誤差有所增大,但即使噪聲強(qiáng)度在0.8,質(zhì)心誤差仍小于0.04 pixel,說明本文方法在高動(dòng)態(tài)條件下對(duì)噪聲具有較好的魯棒性。
為解決傳統(tǒng)星敏感器在高動(dòng)態(tài)下(≥3°/s)星點(diǎn)質(zhì)心提取精度和能力受限的問題,提出了基于事件的高動(dòng)態(tài)星敏感器星點(diǎn)提取方法,該方法基于事件相機(jī)高時(shí)間分辨率、低延遲的特性,實(shí)現(xiàn)高動(dòng)態(tài)下的星點(diǎn)質(zhì)心提取。基于時(shí)空密度的事件流降噪方法可有效去除噪聲事件,平均EDP 在0.85 以上,事件流的平均ESNR保持在17 以上。同時(shí)基于均值漂移的星點(diǎn)質(zhì)心定位方法可在角速度為3~15°/s 時(shí),實(shí)現(xiàn)星點(diǎn)質(zhì)心提取的平均誤差小于0.1 pixel,并可在角速度到達(dá)20°/s 時(shí),提取出星點(diǎn)質(zhì)心。但是在有雜散光或者月亮進(jìn)入視場(chǎng)時(shí),本文所提方法無法提取出星點(diǎn)質(zhì)心,后續(xù)將對(duì)這一問題展開研究。