周 琦,毛曉楠,張 晴,馬 翔,唯樂思
(1.上海航天控制技術(shù)研究所,上海 201109;2. 上海應(yīng)用技術(shù)學(xué)院 計算機(jī)科學(xué)與信息工程學(xué)院,上海 201418;3. 上海旋極信息技術(shù)有限公司,上海 200233)
?
采用標(biāo)記的高速多通道星敏感器圖像處理算法
周 琦1,毛曉楠1,張 晴2,馬 翔3,唯樂思1
(1.上海航天控制技術(shù)研究所,上海 201109;2. 上海應(yīng)用技術(shù)學(xué)院 計算機(jī)科學(xué)與信息工程學(xué)院,上海 201418;3. 上海旋極信息技術(shù)有限公司,上海 200233)
為提高星敏感器測量角分辨率,同時保持高數(shù)據(jù)更新率,選用四百萬門像素、多通道數(shù)據(jù)并行輸出的光電探測器.為解決基于該類探測器的星敏感器圖像處理問題,實(shí)現(xiàn)快速有效的提取星點(diǎn)質(zhì)心,設(shè)計了一種采用標(biāo)記的圖像處理算法.算法分為多通道標(biāo)記計算方法和通道邊界的目標(biāo)處理:多通道標(biāo)記計算方法主要解決通道內(nèi)的圖像處理問題,各通道間并行處理;通道邊界的目標(biāo)處理主要解決當(dāng)目標(biāo)跨邊界時的拼接問題.在時鐘為100 MHz的高頻率工況下,采用FPGA基于四級流水線并行處理體系結(jié)構(gòu)實(shí)現(xiàn)算法,并實(shí)際測試驗(yàn)證.驗(yàn)證結(jié)果表明,算法可快速、正確地提取探測器像面上的目標(biāo)點(diǎn),提取的星點(diǎn)單星定位精度優(yōu)于1/172像素,數(shù)據(jù)更新率優(yōu)于9.5 Hz,滿足星敏感器高精度、高數(shù)據(jù)更新率要求.
標(biāo)記;高速;多通道;星敏感器;大面陣
星敏感器是衛(wèi)星等航天器上一種廣泛應(yīng)用的姿態(tài)測量儀器.近年來,星敏感器探測器向著大面陣、多通道數(shù)據(jù)輸出的方向發(fā)展,以達(dá)到高精度和高數(shù)據(jù)更新率要求.隨著面陣大小及數(shù)據(jù)輸出通道數(shù)的提高,快速有效地提取星點(diǎn)質(zhì)心又保持高的數(shù)據(jù)更新率,是星敏感器設(shè)計中一項(xiàng)關(guān)鍵技術(shù)[1].國內(nèi)學(xué)者對提取星點(diǎn)質(zhì)心及提高數(shù)據(jù)更新率作了大量研究,文獻(xiàn)[2-3]提出基于并行運(yùn)算體系結(jié)構(gòu)的星敏感器圖像處理算法,但該算法無法在多通道數(shù)據(jù)并行輸出情況下提取質(zhì)心.文獻(xiàn)[4-5]提出采用流水線并行處理提高星敏感器數(shù)據(jù)更新率的方法,但該方法在探測器面陣較大時,數(shù)據(jù)更新率顯著減小,不能滿足高數(shù)據(jù)更新率的要求.文獻(xiàn)[6]采用DSP串行提取星點(diǎn)質(zhì)心,串行處理效率較低,不滿足高數(shù)據(jù)更新率要求,且此方法需配備緩存,硬件開銷大.目前,國內(nèi)尚未有相關(guān)文獻(xiàn)針對該類大面陣、多通道數(shù)據(jù)輸出的星敏感器圖像處理算法作研究.本文基于面陣為2 048像素×2 048像素、數(shù)據(jù)輸出通道數(shù)為4的探測器,提出并實(shí)現(xiàn)了一種新的圖像處理算法,該方法對算法的實(shí)現(xiàn)進(jìn)行了功能級仿真和產(chǎn)品級的確認(rèn)測試,驗(yàn)證了算法的有效性.
1.1 問題提出
為提高星敏感器測量的角分辨率從而抑制隨機(jī)誤差,探測器面陣從1 024像素×1 024像素發(fā)展為2 048像素×2 048像素,同時,為保證星敏感器數(shù)據(jù)更新率,大面陣探測器的像素輸出方式從單路發(fā)展為多路并行.以4路并行輸出的2 048像素×2 048像素探測器為例,相對于單路輸出的1 024像素×1 024像素探測器,數(shù)據(jù)吞吐率提高至4倍,且并行處理4路輸出的像素,幀頻保持不變.為提高幀頻,則需提高數(shù)據(jù)處理頻率,給星敏感器圖像處理增加了難度.因此,需要設(shè)計一個在高的數(shù)據(jù)處理頻率下,既適應(yīng)多通道數(shù)據(jù)輸出,又滿足星敏感器實(shí)時處理要求的方法解決上述問題.
1.2 解決策略
1)數(shù)字圖像處理中區(qū)域生長法的基本思想是將具有相似性質(zhì)的像素(或小區(qū)域)合并起來構(gòu)成區(qū)域[7].以該方法作為設(shè)計基礎(chǔ),將灰度值高于閾值的像素作為相似性質(zhì)的像素,構(gòu)成的區(qū)域滿足四連通域原則.
2)采用標(biāo)記的方法,將同屬一個目標(biāo)的像素快速有效的合并,并獲取目標(biāo)內(nèi)所有對象的特征量.目標(biāo)中像素的標(biāo)記與特征量的計算并行處理.
3)按通道數(shù),將圖像分為4頁,每頁大小為512像素×2 048像素,4頁獨(dú)立并行計算.采用100 MHz的時鐘頻率處理,基于FPGA構(gòu)建并行運(yùn)算的體系結(jié)構(gòu),實(shí)時完成星點(diǎn)質(zhì)心數(shù)據(jù)的運(yùn)算.
星點(diǎn)質(zhì)心的計算方法[8-9]為
傳統(tǒng)算法提取質(zhì)心時需要上方點(diǎn)、左上方點(diǎn)和左側(cè)點(diǎn)信息參與計算[2],標(biāo)記算法是基于圖像像素標(biāo)記的方法,在傳統(tǒng)算法的基礎(chǔ)上進(jìn)行了裁剪和優(yōu)化,計算時只需要上方點(diǎn)和左側(cè)點(diǎn)的信息參與計算.
本文基于APS星敏感器進(jìn)行圖像處理算法設(shè)計,星圖大小為2 048像素×2 048像素,輸出通道為四通道,著重研究了3個問題:1)多通道標(biāo)記計算方法.根據(jù)APS探測器大面陣、四通道輸出特點(diǎn),采用多通道并行標(biāo)記計算方法實(shí)現(xiàn)四連通域目標(biāo)識別;2)通道邊界的目標(biāo)處理.由于四通道并行計算,當(dāng)目標(biāo)星點(diǎn)位于相鄰兩個通道間時,標(biāo)記計算方法不能解決該問題.針對該問題,在標(biāo)記計算方法基礎(chǔ)上,為每個通道提供3個新標(biāo)記,在行尾增加一次判斷和數(shù)據(jù)操作;3)采用四級流水線協(xié)同工作,且基于100MHz的高時鐘頻率設(shè)計,提高星敏感器的數(shù)據(jù)更新率.
1.2.1 頁內(nèi)計算方法
像素標(biāo)記分為D0、B1、B2、IB和ID共5種,具體含義見表1.
表1 像素標(biāo)記含義
當(dāng)前像素處理后的標(biāo)記L(i,j)由其左側(cè)像素標(biāo)記L(i-1,j)、上方像素標(biāo)記L(i,j-1)和當(dāng)前像素處理前的標(biāo)記L0(i,j)共同決定,即
每頁為標(biāo)記分配一個長度為512的FIFO,每處理一個像素,將其標(biāo)記存入FIFO中緩存,供處理下一行像素處理時使用.
表2, 3分別給出了當(dāng)前像素點(diǎn)的灰度值高于閾值和低于閾值兩種情況處理方法.
1)當(dāng)前像素點(diǎn)灰度值高于閾值,算法見表2.
2)當(dāng)前像素點(diǎn)灰度值低于閾值,算法見表3.
表2 質(zhì)心提取算法(1)
表3 質(zhì)心提取算法(2)
所有的目標(biāo)特征量均累加至標(biāo)記為B1的像素點(diǎn),每一行計算完成后,將標(biāo)記為B1的特征量保存.
1.2.2 頁間計算方法
由于圖像分4頁同步處理,不可避免的存在目標(biāo)位于兩頁之間的情況,即目標(biāo)被分為左、右兩部分,且右側(cè)目標(biāo)較左側(cè)目標(biāo)在時間上先計算出.
對第i頁(i=1,2,3,下同)本行(指當(dāng)前處理的一行,下文中的上一行指相對于本行的上一行)最后一個像素和第i+1頁本行第1個像素進(jìn)行標(biāo)記處理(其中,第1頁的第1個像素和第4頁的最后一個像素不作處理),同時,根據(jù)上一行兩頁的邊界是否連通分為兩種情況處理,具體處理方法見表4,5.
1)上一行頁邊界不連通,處理方法見表4.
2)上一行頁邊界連通,處理方法見表5.
表4 上一行頁邊界不連通處理方法
表5 上一行頁邊界連通處理方法
1.2.3 四級流水線流程
若采用串行處理方式計算目標(biāo)特征值,時間開銷較大,不利于提高星敏感器的數(shù)據(jù)更新率,因此采用四級流水線方式,并行計算目標(biāo)特征值,可以有效地提高星敏感器數(shù)據(jù)處理速率.FPGA軟件總體結(jié)構(gòu)及運(yùn)行環(huán)境如圖1所示.
標(biāo)記算法采用四級流水線處理,如圖2所示,主要包括:1)閾值計算;2)乘法計算、頁內(nèi)標(biāo)記計算;3)頁內(nèi)數(shù)據(jù)計算、頁間標(biāo)記計算;4)頁間數(shù)據(jù)計算.
本文已提出根據(jù)探測器四路輸出的特性將星圖分為4頁并行處理,質(zhì)心提取算法分為頁內(nèi)標(biāo)記計算和頁間標(biāo)記計算.頁間標(biāo)記計算只在每頁最后一個像素計算完成后,到下一個像素到來前的時間間隔內(nèi)完成,即圖2中的虛線框所示.
圖2 質(zhì)心提取算法四級流水線示意
2.1 試驗(yàn)方法
基于靜態(tài)光星模[15]對本文所述算法進(jìn)行驗(yàn)證,步驟如下:
1)分析設(shè)計的FPGA軟件資源占用情況和靜態(tài)時序分析結(jié)果;
2)室溫條件下,將靜態(tài)光星模與星敏感器對準(zhǔn),先通過地面測試軟件拍攝星圖,再求取靜態(tài)光星模上的星點(diǎn)質(zhì)心坐標(biāo),比對拍攝的星圖上星點(diǎn)位置與星敏感器計算的星點(diǎn)位置的一致性;
3)室溫條件下,將靜態(tài)光星模與星敏感器對準(zhǔn),通過地測軟件保存求取的質(zhì)心數(shù)據(jù),測試5 min,測試結(jié)束后,將靜態(tài)光星模轉(zhuǎn)動一定角度,重復(fù)上述測試,共測試3次.3次測試完成后,分析保存的數(shù)據(jù),并任取測試結(jié)果中的3個星點(diǎn),計算其單星定位精度,即星敏感器精度指標(biāo)中的隨機(jī)誤差.
2.2 設(shè)計結(jié)果
設(shè)計采用ACTEL公司的FLASH型FPGA,芯片型號為A3PE3000,時鐘頻率約束為100 MHz,綜合后,資源占用情況見表6.
表6 資源占用情況
布局布線后,靜態(tài)時序分析時鐘頻率為100.462 MHz.
2.3 實(shí)際測試
該探測器每輸出一個像素數(shù)據(jù)(10 bit)需要10個時鐘周期(100 ns),4頁數(shù)據(jù)同步輸出,每頁大小為512像素×2 048像素,因此,輸出一幀圖像時間為100×512×2 048=104 857 600=104.858 ms.文中所述的星點(diǎn)質(zhì)心提取算法并行處理圖像數(shù)據(jù),一幀圖像數(shù)據(jù)輸出完成后即同步完成質(zhì)心數(shù)據(jù)的提取,即質(zhì)心數(shù)據(jù)每一幀刷新一次,由此可知,星敏感器的數(shù)據(jù)更新率可以達(dá)到9.5 Hz.
星敏感器通過LVDS將探測器拍攝的星圖數(shù)據(jù)傳出,同時,將星點(diǎn)質(zhì)心數(shù)據(jù)標(biāo)識到星圖數(shù)據(jù)最后一行隨星圖傳出,圖3(a)是探測器拍攝的星圖,可見的星點(diǎn)有13個,圖3(b)是通過LVDS傳輸?shù)男屈c(diǎn)質(zhì)心算法提取出星點(diǎn)的坐標(biāo)分布情況,共提取13個星點(diǎn).比較兩者星點(diǎn)坐標(biāo)的一致性,可知兩者得到的星點(diǎn)質(zhì)心坐標(biāo)一致.
圖3 拍攝星圖與實(shí)際提取的星點(diǎn)質(zhì)心
采用本文所述的方法定量分析算法的精度和穩(wěn)定性.圖4~6分別是3次測量結(jié)果,從每次測量結(jié)果任取3個星點(diǎn)統(tǒng)計的分布結(jié)果.
表7列舉了以上測量結(jié)果的精度統(tǒng)計值.
圖4 第1次測試3個星點(diǎn)分布
圖5 第2次測試3個星點(diǎn)分布
圖6 第3次測試3個星點(diǎn)分布
測試序號單星定位精度/像素隨機(jī)誤差/(″)xyxy第1次測試星點(diǎn)11/2191/2480.1610.142星點(diǎn)21/2321/3060.1510.115星點(diǎn)31/2321/3370.1510.104第2次測試星點(diǎn)11/2801/2500.1250.141星點(diǎn)21/1721/4110.2040.086星點(diǎn)31/2941/1930.1200.182第3次測試星點(diǎn)11/3121/2630.1130.134星點(diǎn)21/3891/2170.0900.162星點(diǎn)31/2751/2250.1280.156
表7隨機(jī)誤差按照下式計算得到,其中,視場為20°,面陣為2 048像素.
隨機(jī)誤差=(視場(度)/面陣)×單星定位精度(像素)×3 600.
文獻(xiàn)[10]采用補(bǔ)償質(zhì)心法,像元精度為近1/100像素,根據(jù)表7可知,本文中提出的算法計算的單星定位精度優(yōu)于1/172像素,隨機(jī)誤差優(yōu)于0.204″.
2.4 試驗(yàn)結(jié)論
目前國外主流星敏感器數(shù)據(jù)更新率可達(dá)8~10 Hz[4,13-14],星敏感器亞像元精度接近1/100像素[11-12].該算法經(jīng)實(shí)際調(diào)試驗(yàn)證,可在時鐘為100 MHz的高頻率工況下實(shí)現(xiàn),數(shù)據(jù)更新率達(dá)到9.5 Hz,算法提取的星點(diǎn)質(zhì)心穩(wěn)定,精度較高,優(yōu)于1/172像素.
1)結(jié)合數(shù)字圖像處理中區(qū)域生長法的定義和大面陣多通道數(shù)據(jù)輸出探測器的結(jié)構(gòu)特點(diǎn),設(shè)計了一種基于標(biāo)記的星敏感器圖像處理算法.
2)本文提出的算法適合硬件實(shí)現(xiàn),更具通用性,可滿足各類分辨率 、單通道/多通道探測器星圖處理要求.
3)采用FPGA實(shí)現(xiàn)該算法并實(shí)際測試驗(yàn)證,通過對測試數(shù)據(jù)的分析,證明了本文設(shè)計的圖像處理算法在提高星敏感器精度和保持高數(shù)據(jù)更新率方面有顯著效果.
[1] ZHANG Shaodi,ZHANG Zhijun,SUN Honghai,et al. High accuracy star image locating and imaging calibration for star sensor technology[C]//Proceeding of the Sixth International Symposium on Precision Engineering Measurements and Instrumentation. Hangzhou:SPIE, 2010,75442T. DOI:10.1117/12.885374.
[2] 毛曉楠,梁為升,鄭循江. 基于并行運(yùn)算體系結(jié)構(gòu)的星敏感器圖像處理算法[J].宇航學(xué)報,2011,32(3):611-619. DOI: 10.3873/j.issn.1000-1328.2011.03.024.
MAO Xiaonan, LIANG Weisheng, ZHENG Xunjiang. A parallel computing architecture based image processing algorithm for star sensor[J]. Journal of Astronautics,2011,32(3):611-619. DOI: 10.3873/j.issn.1000-1328.2011.03.024.
[3] 陳紓,張廣軍, 鄭循江,等.小型化星敏感器技術(shù)[J]. 上海航天,2013,30(4):69-78. DOI:10.3969/j.issn.1006-1630.2013.04.015.
CHEN Shu,ZHANG Guangjun,ZHENG Xunjiang, et al. Technology of miniature star sensor[J]. Aerospace Shanghai,2013,30(4):69-78. DOI:10.3969/j.issn.1006-1630.2013.04.015.
[4] 鐘紅軍,楊孟飛,盧欣.流水線并行處理提高星敏感器數(shù)據(jù)更新率[J].光學(xué)精密工程,2009,17(9):2230-2235. DOI:10.3321/j.issn:1004-924X.2009.09.024.
ZHONG Hongjun,YANG Mengfei, LU Xin. Increasing update rate for star sensor by pipelining parallel processing method[J]. Optics and Precision Engineering,2009,17(9):2230-2235. DOI:10.3321/j.issn:1004-924X.2009.09.024.
[5] 羅長洲,王杰,邵雷,等. 提高星敏感器數(shù)據(jù)刷新速率技術(shù)研究[J].應(yīng)用光學(xué),2013,34(1):111-116. DOI: 10.5768/JAO201334.0103004.
LUO Changzhou, WANG Jie, SHAO Lei, et al. Improving data update speed of star sensor[J]. Journal of Applied Optics,2013,34(1):111-116. DOI: 10.5768/JAO201334.0103004.
[6] 李德良,阮錦.一種適用于星敏感器的星點(diǎn)提取方法[J].激光與紅外,2009,39(12):1348-1350.DOI: 10.3969/j.issn.1001-5078.2009.12.023.
LI Deliang, RUAN Jin. Method adapting to the star sensor’s star extraction[J]. Laser & Infrared,2009,39(12):1348-1350.DOI: 10.3969/j.issn.1001-5078.2009.12.023.
[7] 余松煜,周源華,張瑞.數(shù)字圖像處理[M].上海:上海交通大學(xué)出版社,2007:307-309.
[8] 魏新國,張廣軍,江潔.星敏感器中星圖圖像的星體細(xì)分定位方法研究[J].北京航空航天大學(xué)學(xué)報,2003,29(9):812-815.DOI: 10.3969/j.issn.1001-5965.2003.09.014.
WEI Xinguo, ZHANG Guangjun, JIANG Jie. Subdivided locating method of star image for star sensor[J]. Journal of Beijing University of Aeronautics and Astronautics, 2003,29(9):812-815.DOI: 10.3969/j.issn.1001-5965.2003.09.014.
[9] 郝雪濤,江潔,張廣軍. CMOS星敏感器圖像驅(qū)動及實(shí)時星點(diǎn)定位算法[J].北京航空航天大學(xué)學(xué)報,2005,31(4):381-384. DOI: 10.3969/j.issn.1001-5965.2005.04.002.
Hao Xuetao, Jiang Jie, Zhang Guangjun. CMOS star sensor image acquisition and real-time star centroiding algorithm[J]. Journal of Beijing University of Aeronautics and Astronautics,2005,31(4):381-384. DOI: 10.3969/j.issn.1001-5965.2005.04.002.
[10]賈輝.高精度星敏感器星點(diǎn)提取與星圖識別研究[D].長沙:國防科學(xué)技術(shù)大學(xué),2010.
[11]史少龍,尹達(dá)一. CMOS APS噪聲對星斑質(zhì)心定位精度的影響[J].光電工程,2013,40(6):11-16. DOI: 10.3969/j.issn.1003-501X.2013.06.003.
SHI Shaolong, YIN Dayi. CMOS APS noise effect on position accuracy of star tracker[J]. Opto-Electronic Engineering,2013,40(6):11-16. DOI: 10.3969/j.issn.1003-501X.2013.06.003.
[12]胡曉東,胡強(qiáng),雷興,等. 一種用于白天星敏感器的星點(diǎn)質(zhì)心提取方法[J].中國慣性技術(shù)學(xué)報,2014,22(4):481-485. DOI: 10.13695/j.cnki.12-1222/o3.2014.04.011.
HU Xiaodong, HU Qiang, LEI Xing, et al. Method of star centroid extraction used in daytime star sensors[J].Journal of Chinese Inertial Technology,2014,22(4):481-485. DOI: 10.13695/j.cnki.12-1222/o3.2014.04.011.
[13]梁斌,朱海龍,張濤,等. 星敏感器技術(shù)研究現(xiàn)狀及發(fā)展趨勢[J].中國光學(xué),2016,9(1):16-29.
LIANG Bin, ZHU Hailong, ZHANG Tao, et al. Research status and development tendency of star tracker technique[J].Chinese Optics,2016,9(1):16-29.
[14]何家維. 高精度全天時星敏感器關(guān)鍵技術(shù)研究[D].長春:中國科學(xué)院長春光學(xué)精密機(jī)械與物理研究所,2013.
[15]鄭循江,張廣軍,毛曉楠. 一種甚高精度星敏感器精度測試方法[J].紅外與激光工程,2015,44(5):1605-1609.
ZHENG Xunjiang, ZHANG Guangjun, MAO Xiaonan. A very high precision errors test method for star sensor[J].Infrared and Laser Engineering,2015,44(5):1605-1609.
(編輯 張 紅)
A image processing algorithm with marker for high-speed and multi-channel star sensor
ZHOU Qi1, MAO Xiaonan1, ZHANG Qing2, MA Xiang3, WEI Lesi1
(1.Shanghai Institute of Spaceflight Control Technology, Shanghai 201109, China; 2.School of Computer Science and Information Engineering, Shanghai Institute of Technology, Shanghai 201418, China;3.Shanghai Watertek Information & Technology Co., Ltd., Shanghai 200233, China)
To improve the measurement angular resolution of star sensors while maintaining high update rates, the detector of four million pixels, parallel output data through multi-channels is chosen. The problem of star sensor’s image processing based on this kind of detector is solved by designing a method of using marker to achieve extraction of star centroid fast and efficiently. Algorithm is divided into markers calculation of multi-channel and target processing of channel boundary:markers calculation of multi-channel is mainly to solve the problem of image processing within the channel, while among channels using parallel processing method; target processing of channel boundary is mainly to solve the target cross border splicing problem. In the high frequency clock is 100 MHz, under the condition of using the FPGA implementation algorithm based on level 4 lines parallel processing architecture, and the actual test validation. The validation results show that the algorithm can quickly and correctly extracts as target point on the surface of the detector. Accuracy of positioning extraction of single star is better than 1/172 pixel, update rates is better than 9.5 Hz, which meets the requirement of the star sensor accuracy and high update rates.
marker;high speed;multi-channel;star sensor;large area array
10.11918/j.issn.0367-6234.2016.10.017
2015-06-02
國家自然科學(xué)基金(61401281); 上海市自然科學(xué)基金(14ZR1440700)
周 琦(1986—),男,碩士研究生
周 琦,zqxhjs@126.com
V448.22
A
0367-6234(2016)10-0119-06