周 琦,毛曉楠,張 晴,馬 翔,唯樂思
(1.上海航天控制技術研究所,上海 201109;2. 上海應用技術學院 計算機科學與信息工程學院,上海 201418;3. 上海旋極信息技術有限公司,上海 200233)
?
采用標記的高速多通道星敏感器圖像處理算法
周 琦1,毛曉楠1,張 晴2,馬 翔3,唯樂思1
(1.上海航天控制技術研究所,上海 201109;2. 上海應用技術學院 計算機科學與信息工程學院,上海 201418;3. 上海旋極信息技術有限公司,上海 200233)
為提高星敏感器測量角分辨率,同時保持高數(shù)據(jù)更新率,選用四百萬門像素、多通道數(shù)據(jù)并行輸出的光電探測器.為解決基于該類探測器的星敏感器圖像處理問題,實現(xiàn)快速有效的提取星點質(zhì)心,設計了一種采用標記的圖像處理算法.算法分為多通道標記計算方法和通道邊界的目標處理:多通道標記計算方法主要解決通道內(nèi)的圖像處理問題,各通道間并行處理;通道邊界的目標處理主要解決當目標跨邊界時的拼接問題.在時鐘為100 MHz的高頻率工況下,采用FPGA基于四級流水線并行處理體系結構實現(xiàn)算法,并實際測試驗證.驗證結果表明,算法可快速、正確地提取探測器像面上的目標點,提取的星點單星定位精度優(yōu)于1/172像素,數(shù)據(jù)更新率優(yōu)于9.5 Hz,滿足星敏感器高精度、高數(shù)據(jù)更新率要求.
標記;高速;多通道;星敏感器;大面陣
星敏感器是衛(wèi)星等航天器上一種廣泛應用的姿態(tài)測量儀器.近年來,星敏感器探測器向著大面陣、多通道數(shù)據(jù)輸出的方向發(fā)展,以達到高精度和高數(shù)據(jù)更新率要求.隨著面陣大小及數(shù)據(jù)輸出通道數(shù)的提高,快速有效地提取星點質(zhì)心又保持高的數(shù)據(jù)更新率,是星敏感器設計中一項關鍵技術[1].國內(nèi)學者對提取星點質(zhì)心及提高數(shù)據(jù)更新率作了大量研究,文獻[2-3]提出基于并行運算體系結構的星敏感器圖像處理算法,但該算法無法在多通道數(shù)據(jù)并行輸出情況下提取質(zhì)心.文獻[4-5]提出采用流水線并行處理提高星敏感器數(shù)據(jù)更新率的方法,但該方法在探測器面陣較大時,數(shù)據(jù)更新率顯著減小,不能滿足高數(shù)據(jù)更新率的要求.文獻[6]采用DSP串行提取星點質(zhì)心,串行處理效率較低,不滿足高數(shù)據(jù)更新率要求,且此方法需配備緩存,硬件開銷大.目前,國內(nèi)尚未有相關文獻針對該類大面陣、多通道數(shù)據(jù)輸出的星敏感器圖像處理算法作研究.本文基于面陣為2 048像素×2 048像素、數(shù)據(jù)輸出通道數(shù)為4的探測器,提出并實現(xiàn)了一種新的圖像處理算法,該方法對算法的實現(xiàn)進行了功能級仿真和產(chǎn)品級的確認測試,驗證了算法的有效性.
1.1 問題提出
為提高星敏感器測量的角分辨率從而抑制隨機誤差,探測器面陣從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ù)據(jù)處理頻率下,既適應多通道數(shù)據(jù)輸出,又滿足星敏感器實時處理要求的方法解決上述問題.
1.2 解決策略
1)數(shù)字圖像處理中區(qū)域生長法的基本思想是將具有相似性質(zhì)的像素(或小區(qū)域)合并起來構成區(qū)域[7].以該方法作為設計基礎,將灰度值高于閾值的像素作為相似性質(zhì)的像素,構成的區(qū)域滿足四連通域原則.
2)采用標記的方法,將同屬一個目標的像素快速有效的合并,并獲取目標內(nèi)所有對象的特征量.目標中像素的標記與特征量的計算并行處理.
3)按通道數(shù),將圖像分為4頁,每頁大小為512像素×2 048像素,4頁獨立并行計算.采用100 MHz的時鐘頻率處理,基于FPGA構建并行運算的體系結構,實時完成星點質(zhì)心數(shù)據(jù)的運算.
星點質(zhì)心的計算方法[8-9]為
傳統(tǒng)算法提取質(zhì)心時需要上方點、左上方點和左側點信息參與計算[2],標記算法是基于圖像像素標記的方法,在傳統(tǒng)算法的基礎上進行了裁剪和優(yōu)化,計算時只需要上方點和左側點的信息參與計算.
本文基于APS星敏感器進行圖像處理算法設計,星圖大小為2 048像素×2 048像素,輸出通道為四通道,著重研究了3個問題:1)多通道標記計算方法.根據(jù)APS探測器大面陣、四通道輸出特點,采用多通道并行標記計算方法實現(xiàn)四連通域目標識別;2)通道邊界的目標處理.由于四通道并行計算,當目標星點位于相鄰兩個通道間時,標記計算方法不能解決該問題.針對該問題,在標記計算方法基礎上,為每個通道提供3個新標記,在行尾增加一次判斷和數(shù)據(jù)操作;3)采用四級流水線協(xié)同工作,且基于100MHz的高時鐘頻率設計,提高星敏感器的數(shù)據(jù)更新率.
1.2.1 頁內(nèi)計算方法
像素標記分為D0、B1、B2、IB和ID共5種,具體含義見表1.
表1 像素標記含義
當前像素處理后的標記L(i,j)由其左側像素標記L(i-1,j)、上方像素標記L(i,j-1)和當前像素處理前的標記L0(i,j)共同決定,即
每頁為標記分配一個長度為512的FIFO,每處理一個像素,將其標記存入FIFO中緩存,供處理下一行像素處理時使用.
表2, 3分別給出了當前像素點的灰度值高于閾值和低于閾值兩種情況處理方法.
1)當前像素點灰度值高于閾值,算法見表2.
2)當前像素點灰度值低于閾值,算法見表3.
表2 質(zhì)心提取算法(1)
表3 質(zhì)心提取算法(2)
所有的目標特征量均累加至標記為B1的像素點,每一行計算完成后,將標記為B1的特征量保存.
1.2.2 頁間計算方法
由于圖像分4頁同步處理,不可避免的存在目標位于兩頁之間的情況,即目標被分為左、右兩部分,且右側目標較左側目標在時間上先計算出.
對第i頁(i=1,2,3,下同)本行(指當前處理的一行,下文中的上一行指相對于本行的上一行)最后一個像素和第i+1頁本行第1個像素進行標記處理(其中,第1頁的第1個像素和第4頁的最后一個像素不作處理),同時,根據(jù)上一行兩頁的邊界是否連通分為兩種情況處理,具體處理方法見表4,5.
1)上一行頁邊界不連通,處理方法見表4.
2)上一行頁邊界連通,處理方法見表5.
表4 上一行頁邊界不連通處理方法
表5 上一行頁邊界連通處理方法
1.2.3 四級流水線流程
若采用串行處理方式計算目標特征值,時間開銷較大,不利于提高星敏感器的數(shù)據(jù)更新率,因此采用四級流水線方式,并行計算目標特征值,可以有效地提高星敏感器數(shù)據(jù)處理速率.FPGA軟件總體結構及運行環(huán)境如圖1所示.
標記算法采用四級流水線處理,如圖2所示,主要包括:1)閾值計算;2)乘法計算、頁內(nèi)標記計算;3)頁內(nèi)數(shù)據(jù)計算、頁間標記計算;4)頁間數(shù)據(jù)計算.
本文已提出根據(jù)探測器四路輸出的特性將星圖分為4頁并行處理,質(zhì)心提取算法分為頁內(nèi)標記計算和頁間標記計算.頁間標記計算只在每頁最后一個像素計算完成后,到下一個像素到來前的時間間隔內(nèi)完成,即圖2中的虛線框所示.
圖2 質(zhì)心提取算法四級流水線示意
2.1 試驗方法
基于靜態(tài)光星模[15]對本文所述算法進行驗證,步驟如下:
1)分析設計的FPGA軟件資源占用情況和靜態(tài)時序分析結果;
2)室溫條件下,將靜態(tài)光星模與星敏感器對準,先通過地面測試軟件拍攝星圖,再求取靜態(tài)光星模上的星點質(zhì)心坐標,比對拍攝的星圖上星點位置與星敏感器計算的星點位置的一致性;
3)室溫條件下,將靜態(tài)光星模與星敏感器對準,通過地測軟件保存求取的質(zhì)心數(shù)據(jù),測試5 min,測試結束后,將靜態(tài)光星模轉動一定角度,重復上述測試,共測試3次.3次測試完成后,分析保存的數(shù)據(jù),并任取測試結果中的3個星點,計算其單星定位精度,即星敏感器精度指標中的隨機誤差.
2.2 設計結果
設計采用ACTEL公司的FLASH型FPGA,芯片型號為A3PE3000,時鐘頻率約束為100 MHz,綜合后,資源占用情況見表6.
表6 資源占用情況
布局布線后,靜態(tài)時序分析時鐘頻率為100.462 MHz.
2.3 實際測試
該探測器每輸出一個像素數(shù)據(jù)(10 bit)需要10個時鐘周期(100 ns),4頁數(shù)據(jù)同步輸出,每頁大小為512像素×2 048像素,因此,輸出一幀圖像時間為100×512×2 048=104 857 600=104.858 ms.文中所述的星點質(zhì)心提取算法并行處理圖像數(shù)據(jù),一幀圖像數(shù)據(jù)輸出完成后即同步完成質(zhì)心數(shù)據(jù)的提取,即質(zhì)心數(shù)據(jù)每一幀刷新一次,由此可知,星敏感器的數(shù)據(jù)更新率可以達到9.5 Hz.
星敏感器通過LVDS將探測器拍攝的星圖數(shù)據(jù)傳出,同時,將星點質(zhì)心數(shù)據(jù)標識到星圖數(shù)據(jù)最后一行隨星圖傳出,圖3(a)是探測器拍攝的星圖,可見的星點有13個,圖3(b)是通過LVDS傳輸?shù)男屈c質(zhì)心算法提取出星點的坐標分布情況,共提取13個星點.比較兩者星點坐標的一致性,可知兩者得到的星點質(zhì)心坐標一致.
圖3 拍攝星圖與實際提取的星點質(zhì)心
采用本文所述的方法定量分析算法的精度和穩(wěn)定性.圖4~6分別是3次測量結果,從每次測量結果任取3個星點統(tǒng)計的分布結果.
表7列舉了以上測量結果的精度統(tǒng)計值.
圖4 第1次測試3個星點分布
圖5 第2次測試3個星點分布
圖6 第3次測試3個星點分布
測試序號單星定位精度/像素隨機誤差/(″)xyxy第1次測試星點11/2191/2480.1610.142星點21/2321/3060.1510.115星點31/2321/3370.1510.104第2次測試星點11/2801/2500.1250.141星點21/1721/4110.2040.086星點31/2941/1930.1200.182第3次測試星點11/3121/2630.1130.134星點21/3891/2170.0900.162星點31/2751/2250.1280.156
表7隨機誤差按照下式計算得到,其中,視場為20°,面陣為2 048像素.
隨機誤差=(視場(度)/面陣)×單星定位精度(像素)×3 600.
文獻[10]采用補償質(zhì)心法,像元精度為近1/100像素,根據(jù)表7可知,本文中提出的算法計算的單星定位精度優(yōu)于1/172像素,隨機誤差優(yōu)于0.204″.
2.4 試驗結論
目前國外主流星敏感器數(shù)據(jù)更新率可達8~10 Hz[4,13-14],星敏感器亞像元精度接近1/100像素[11-12].該算法經(jīng)實際調(diào)試驗證,可在時鐘為100 MHz的高頻率工況下實現(xiàn),數(shù)據(jù)更新率達到9.5 Hz,算法提取的星點質(zhì)心穩(wěn)定,精度較高,優(yōu)于1/172像素.
1)結合數(shù)字圖像處理中區(qū)域生長法的定義和大面陣多通道數(shù)據(jù)輸出探測器的結構特點,設計了一種基于標記的星敏感器圖像處理算法.
2)本文提出的算法適合硬件實現(xiàn),更具通用性,可滿足各類分辨率 、單通道/多通道探測器星圖處理要求.
3)采用FPGA實現(xiàn)該算法并實際測試驗證,通過對測試數(shù)據(jù)的分析,證明了本文設計的圖像處理算法在提高星敏感器精度和保持高數(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] 毛曉楠,梁為升,鄭循江. 基于并行運算體系結構的星敏感器圖像處理算法[J].宇航學報,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] 陳紓,張廣軍, 鄭循江,等.小型化星敏感器技術[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].光學精密工程,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ù)刷新速率技術研究[J].應用光學,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] 李德良,阮錦.一種適用于星敏感器的星點提取方法[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].上海:上海交通大學出版社,2007:307-309.
[8] 魏新國,張廣軍,江潔.星敏感器中星圖圖像的星體細分定位方法研究[J].北京航空航天大學學報,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星敏感器圖像驅動及實時星點定位算法[J].北京航空航天大學學報,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]賈輝.高精度星敏感器星點提取與星圖識別研究[D].長沙:國防科學技術大學,2010.
[11]史少龍,尹達一. 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]胡曉東,胡強,雷興,等. 一種用于白天星敏感器的星點質(zhì)心提取方法[J].中國慣性技術學報,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]梁斌,朱海龍,張濤,等. 星敏感器技術研究現(xiàn)狀及發(fā)展趨勢[J].中國光學,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]何家維. 高精度全天時星敏感器關鍵技術研究[D].長春:中國科學院長春光學精密機械與物理研究所,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
國家自然科學基金(61401281); 上海市自然科學基金(14ZR1440700)
周 琦(1986—),男,碩士研究生
周 琦,zqxhjs@126.com
V448.22
A
0367-6234(2016)10-0119-06