李寅龙 何海燕 张凤 李婧
基于行数据扫描的星空多目标星点提取方法
李寅龙1,2何海燕1张凤1李婧1
(1 北京空间机电研究所,北京 100094) (2 先进光学遥感技术北京市重点实验室,北京 100094)
为了解决传统方法无法实时获取星空目标位置问题,文章提出了一种基于行数据扫描的星空多目标星点提取方法,通过阈值提取、行目标提取、星空目标识别和质心坐标计算等四个步骤来快速提取星空目标。为了使该算法能够更有效地运行在嵌入式设备中,对算法进行合理配置,将其分割成FPGA端和DSP端。通过试验验证,在输入图像分辨率为1 280像素×1 024像素的情况下,文章提出的算法星点提取时间小于0.17ms。相比较传统方法,能够在不损失星空目标定位精度的前提下,提高提取速率,更适用于星空背景下的多目标快速星点提取。
星空多目标 空间目标捕获 星点提取 行数据扫描 航天遥感
空间已成为新时期各国家政治、军事、技术、经济等竞争的热点,构建空间态势感知系统,已迫在眉睫,高轨电子防御卫星应运而生[1-5]。空间目标捕获算法是高轨电子防御卫星的重要组成部分。主要任务是:完成对大天域机动目标的自主搜索、捕获、跟踪[6-11]。为了实现对目标星的持续跟踪,目标提取模块必须能够实时提取空间目标质心[12-15],并向捕获跟踪模块发送目标位置,使得捕获跟踪模块能够计算得到脱靶量,所以,空间目标捕获算法中空间目标质心提取算法性能的好坏对于系统性能起到了至关重要的作用,提高空间目标质心提取速度可以为后续的捕获跟踪争取时间。
对于空间目标的识别,传统的方法采用了连通域算法来实现[16-20]。按连通域算法,当DSP处理图像时,需要从外部SRAM中存取两次图像[21],共花费13.1ms。而对于捕获模块的跟踪速度的要求为20帧/s,考虑到机构跟踪余量,读取图像方面已经花费了32.75%的时间,这对后面的算法提出了很大的要求。为此,本文提出了一种基于行数据扫描的星空多目标快速提取算法,简称行数据扫描算法,通过阈值提取、行目标提取、星空目标识别和质心坐标计算等四个步骤实现了星空目标快速提取,能够在不损失定位精度的前提下,提高星空目标的星点提取速率。
图像数据来源于相机,一般来说,图像数据都是数据流的形式输入的,也就是说接收的顺序是按行来接收的,所以首先使用图像中单独的行数据进行图像处理得到行目标,然后将得到的行目标进行处理,得到星空目标信息,这样当接收完一行数据后就可以进行图像处理,不需要存储整幅图像,大大的缩减了对像素的处理时间和对存储器的要求。基于上述思想,提出了基于行数据扫描的星空多目标星点提取算法。
当使用相机获取星空图片时,图像会存在一定的背景噪声,这些噪声的灰度值比星空目标的灰度值小,可以通过确定一个全局背景阈值()来消除噪声的影响。根据相机的特点,相邻帧之间噪声幅值变化较小,本文采取了动态背景阈值,背景阈值是由前一帧图像的像素平均值确定
式中为图像的列坐标,为图像的行坐标;p(,)为前一帧图像在(,)处的像素值;,分别为图像的总行数、总列数。
相机数据是按行传输的,在接收完一行数据后,开始进行行目标提取,行目标是指单行中的目标。
对缓冲的行数据进行数据扫描,如果某像素的灰度大于,并且该像素左边相邻的像素值小于时,记录该像素所在列的坐标为Lh;如果某像素的灰度小于,并且该像素左边相邻的像素值大于时,记录该像素的左边像素所在列的坐标为Rh,Lh与Rh成对出现,写作Lh-Rh。Lh-Rh对之间的数据定义为行目标,一行数据中可以有多个行目标;当一个行目标结束时,需要进行行目标判定:行目标含有的像素个数大于等于时,则认定为真正的行目标,否则,认为其是由噪声引起的误判断。这里为行目标像素个数阈值,可以为固定值,例如2,但为了提高目标识别的鲁棒性,可以根据识别结果判断出图像噪声情况,从而进行动态调整,噪声越大时也应该越大,但对于同一帧图像,应相同。本文中由于采用了动态背景阈值,已经对噪声进行了抑制,并且本文处理的图像背景为星空,其噪声较小,所以采用了固定值2。
在发现行目标的同时,需要进一步提取行目标信息。在扫描过程中,当记录Lh时,则认为已经发现了行目标,利用式(2)对行目标进行乘累加计算,当记录Rh时,则停止计算。本文中使用了带阈值的质心计算算法[6, 21-23]对目标进行质心提取。
式中 F(x,y)为当前图像的像素值;Ixh为行目标在x坐标方向的累加值;Iyh为行目标在y坐标方向的累加值;Ih为行目标的像素累加值。
通过行目标判定的所有行目标按图1所示的格式进行存储。
星空目标识别有三个步骤:星空目标判定、更新和识别。一行数据的行目标提取完成后,将该行得到的所有行目标进行星空目标判定。星空目标是指一帧图像中的目标,星空目标的数据格式如图2所示,星空目标的判定分为以下两种情况:
1)当前帧图像无星空目标时,该行的所有行目标均为新的星空目标。
2)当前帧图像已有星空目标时,将该行得到的行目标,与已有星空目标进行星空目标判定,判断过程(如图3所示)为:某个行目标的Lh和Rh值与已有星空目标中的L和R值比较,如果Lh≤R且Rh≥L时,则该星空目标与该行目标是连通的,为同一个星空目标,否则为两个独立的星空目标,如果该行目标的Lh和Rh与所有星空目标数据中的L和R值都没有匹配,则记录该行目标为新星空目标。其中,L和R分别为星空目标的开始列坐标和终止列坐标。
图2 星空目标的数据格式
图3 星空目标判定时行目标与星空目标的位置关系
判定完成后,需要对星空目标的数据进行更新。如果行目标是新星空目标,则需要在星空目标队列中建立新的星空目标数据,如图2所示,包括L,R,I,I,,其中I和I分别是星空目标在坐标和坐标方向的累加值,它们的初值分别是成为该新星空目标的行目标的Lh,Rh,Ih,Ih,h;如果行目标属于某个星空目标,则对该星空目标数据进行更新,把该行目标对应的Ih累加到该星空目标数据的I中,Ih累加到I中,h累加到中,并将该星空目标数据中的L和R更新为该行目标的Lh和Rh。
更新完成后,进行星空目标识别。如果某星空目标在星空目标判定后,仍然没有被更新过,说明已经成功地识别出了该星空目标,如图4所示。此时,需要进一步判断星空目标为真实目标还是背景噪声,当星空目标的总像素个数大于时为真实目标,否则为背景噪声。其中,为星空目标像素个数阈值,可以为定值,也可以根据目标最终识别效果进行动态调节,本文中取4。
图4 基于行数据扫描算法下识别星空目标的完整过程
图4为一个星空目标的完整识别过程,由于Lh>R,所以由五个行目标构成的星空目标1完成了识别,而星空目标2仍需要等待下一次行扫描。
当识别出星空目标后,利用式(3)对其进行质心计算
式中0为星空目标的列坐标,0为星空目标的行坐标,(0,0)即为星空目标的质心坐标。
当整幅图像按行接收完成,使用行数据扫描算法扫描完最后一行行数据后,所有星空目标识别和质心计算完成。
从上述步骤中可以看出,本文提出的行数据扫描算法可以实时地对行数据进行处理,并且当处理完行数据后不需要保存行数据,而传统目标识别算法需要获得整幅图像后才能开始扫描计算,所以本算法提升了处理速度并节省了存储空间。
由于空间环境恶劣,轨道内有大量空间高能粒子,宇宙线的剂量效应和单粒子事件效应严重,高轨总剂量可达109rad(Si),比低轨高出1~2个数量级,所以高轨卫星对使用的芯片有一定的限制[24-25],根据航天标准对器件的要求,可以采用TI公司SMJ320C6000系列中的TMS320C6701和Xilinx公司的VertexⅡ系列的XC2V3000。
为了提高算法的运行效率,本文充分考虑了FPGA的并行处理、DSP计算速度快等优点,对行数据扫描算法进行分割实现:阈值提取和行目标提取运行在FPGA端,星空目标识别和质心坐标计算运行在DSP端。
利用FPGA的并行性,在行目标提取的同时,对行目标数据进行乘累加计算。当FPGA完成一行行数据的行目标提取后,得到了组数据包(Lh,Rh,Ih,Ih,h),为单行行目标总数。由于对星空目标的处理需要进行除法运算,FPGA进行除法需要占用大量的资源,而且这些行目标的数据量小,所以FPGA将行目标传输给DSP,在DSP端完成星空目标识别和质心坐标计算,最终得到星空目标质心坐标。
对算法完成划分后,系统整体设计框架如图5所示。
图5 系统实现框图
如图5中所示,系统使用FPGA和DSP一起完成了质心提取算法,具体的实现模块有:接收相机数据模块、数据缓冲模块、行目标提取、行目标传输模块FPGA端、行目标传输模块DSP端、星空目标识别和质心坐标计算。
1)接收相机数据模块:根据相机通讯协议,完成对相机数据的格式转换和接收,如图6所示。
图6 接收相机数据模块信号流程图
根据相机的通讯协议,把相机数据接收模块划分为四个状态,根据所处的状态,进行不同的操作,当处于接收行数据状态时,FPGA接收相机数据并存储到数据缓冲模块。
2)行目标提取:实现了相机行数据的处理,当数据缓冲模块发送行结束信号后,该模块开始通过读取缓冲器A或者缓冲器B扫描行数据,进行行目标提取,在发现疑似目标状态和找到行目标状态需要流水计算Ih,Ih和h的值,并且在行目标结束后,把行目标按图1的格式存放到目标数据队列中,整个流程如图7所示。
图7 行目标提取模块的状态流程图
3)星空目标识别:DSP完成行目标的接收后,便开始星空目标识别,识别过程如图8所示。如果出现新的星空目标,将其添加到管理星空目标的链表上;当星空目标完成识别后,将其从管理星空目标的链表上删除。
图8 星空目标识别模块流程图
图8中,iFound和iFinding均为循环变量,分别用于遍历星空目标和行目标,nFound表示已找到的星空目标总数,nFinding表示本行找到的行目标总数,O_old数组表示本行行目标是否与星空目标匹配,1表示已匹配,0表示未匹配。
从图5的系统框图中可以看出,系统的输入来源于相机,但是由于试验条件限制,无法通过相机获得包含任意数量、在任意坐标位置的星空目标的输入图像。为了验证系统的功能和性能,将系统中相机替换成目标模拟器。使用目标模拟器生成分辨率为1 280像素×1 024像素的待识别图像,模拟出多个星空目标,生成的图像通过LVDS高速数传接口传输到信号处理板上,信号处理板上的XC2V3000的时钟频率为40MHz,TMS320C6701的运行频率为120MHz。为了说明算法的星点提取速度和定位精度,分别在两种情况下进行试验:1)在星空目标大小固定为9像素×9像素时,添加均值为20、标准差分别为5,10,15,20的高斯噪声;2)在添加的高斯噪声均值为20、标准差为10时,星空目标大小分别为3像素×3像素,5像素×5像素,9像素×9像素,19像素×19像素。如图9和图10所示。
图9 尺寸为9像素×9像素的星空目标图像
图10 含标准差为10的高斯噪声的星空目标图像
从图9和图10中可以看出在不同噪声大小和不同目标尺寸的情况下,系统使用行数据扫描算法均识别出了各个星空目标,并计算出了它们的质心坐标。当FPGA接收完一帧图像时,FPGA和DSP只需要处理完最后一行行数据就可以完成星空目标识别和质心提取操作了,所以处理时间非常短。下面表1和表2给出了详细的计算结果和计算所使用的时间,并给出了在相同试验环境下DSP使用连通域算法定位算法的试验结果。
从表1中可以看出本系统当星空目标尺寸为9像素×9像素时,在均值为20、标准差为5~20的高斯噪声下,定位精度均值为0.049像素,提取时间小于0.17ms,而连通域算法的定位精度均值为0.047像素,识别时间大于13.7ms。表2表明随着星空目标尺寸增大,行数据扫描算法仍能准确地提取出星空目标,提取时间不变,且定位精度变高。
表1 尺寸9像素×9像素的目标(图9)情况下的识别结果
Tab.1 Recognition results in the case of 9 pixels×9 pixels(Fig. 9)
表2 在标准差为10的高斯噪声(图10)情况下的识别结果
Tab.2 Recognition results in the case of standard deviation 10(Fig.10)
本文在不同噪声、不同星空目标尺寸条件下,进行了对比试验。试验表明算法在接收完一帧图像后,只需延时最后一行行数据的处理时间,即可完成处理,能够快速完成星点提取。在提取精度方面,本算法在目标尺寸为9像素×9像素,不同噪声条件下,质心坐标精度均值为0.049像素。所以行数据扫描算法在不损失定位精度的前提下,提升了星空目标星点提取速率,具有很好的实时性和稳定性,为后续的目标识别等图像处理算法争取了时间。下一步的研究重点是进一步优化算法,改进阈值的提取方法。
[1] 周黎妮, 朱启超, 舒宇. 基于能力分析的空间对抗装备体系效能评估方法[J]. 世界科技研究与发展, 2013, 35(4): 491-494. ZHOU Lini, ZHU Qichao, SHU Yu. Effectiveness Evaluation Aporoach to Counterspace Weapon Systems-of-systems Based on Capability Analysis[J]. World Sci-Tech R & D, 2013, 35(4): 491-494. (in Chinese)
[2] 李云龙, 于小红. 美军“空海一体战”空间作战行动探析[J]. 装备学院学报, 2013(4): 55-58. LI Yunlong, YU Xiaohong. Analysis on the US Space Operations in the “Airsea Battle” Concept[J]. Journal of Equipment Academy, 2013(4): 55-58. (in Chinese)
[3] 汤泽滢, 赵永胜, 谭亚平. 天基光电成像侦察监视系统对抗手段及发展趋势探析[J]. 电子对抗, 2015(1): 5-8. TANG Zeying, ZHAO Yongsheng, TAN Yaping. Research on Countermeasures Against Space-based Potoelectric Imaging Surveillance Reconnaissance System and Development Trend[J]. Electronic Warfare, 2015(1): 5-8. (in Chinese)
[4] 蒋盘林. 从天基战略侦察向天基战术侦察的发展[J]. 航天电子对抗, 2014, 30(6): 17-20. JIANG Panlin. Space-based Intelligence Reconnaissance from Strategic Past to Tactical Future[J]. Aerospace Electronic Warfare, 2014, 30(6): 17-20. (in Chinese)
[5] 张鉴文, 胡彦峰, 李秉. 基于临近空间平台的电子对抗及其发展前景探析[J]. 电子对抗, 2015(2): 5-9. ZHANG Jianwen, HU Yanfeng, LI Bing. Analysis on the Electronic Countermeasure and Its Development Prospect Based on Near Space Platform[J]. Electronic Warfare, 2015(2): 5-9. (in Chinese)
[6] 蔡文娟, 王立强, 袁波. 自动导星星点检测及跟踪算法研究[J]. 红外与激光工程, 2014, 43(8): 2684-2689. CAI Wenjuan, WANG Liqiang, YUAN Bo. Star Detection and Tracking Algorithm of Autoguiding[J]. Infrared and Laser Engineering, 2014, 43(8): 2684-2689. (in Chinese)
[7] 景文博, 王晓曼, 刘国伟, 等. 空域机动目标智能搜索跟踪算法[J]. 红外与激光工程, 2012, 41(4): 1083-1088. JING Wenbo, WANG Xiaoman, LIU Guowei, et al. Intelligent Search and Tracking Algorithm for Spatial Maneuvering Target[J]. Infrared and Laser Engineering, 2012, 41(4): 1083-1088. (in Chinese)
[8] 王卫兵, 王挺峰, 郭劲. 星载光电捕获跟踪瞄准控制技术分析[J]. 中国光学, 2014, 7(6): 879-888. WANG Weibing, WANG Tingfeng, GUO Jin. Analysis for Opto-electrical Acquisition Tracking and Pointing Control Technology on Satellite[J]. Chinese Optics, 2014, 7(6): 879-888. (in Chinese)
[9] 马东玺, 范大鹏, 朱华征. 光电跟踪系统捕获跟踪切换的平滑调节方法[J]. 红外与激光工程, 2010, 39(6): 1129-1133. MA Dongxi, FAN Dapeng, ZHU Huazheng. Smooth Adaptation for Transition of Acquisition and Tracking Switching of Electro-optical Tracking System[J]. Infrared and Laser Engineering, 2010, 39(6): 1129-1133. (in Chinese)
[10] 陈小林. 运动目标捕获跟踪方法研究[J]. 仪器仪表学报, 2014, 35 (z6): 49-53. CHEN Xiaolin. Research of Moving Object Tracking Method[J]. Journal of Instruments and Instruments, 2014, 35(z6): 49-53. (in Chinese)
[11] 刘鑫, 乔彦峰, 林兆华. 光电系统捕获跟踪控制方法研究与仿真[J]. 计算机仿真, 2012, 29(12): 266-269. LIU Xin, QIAO Yanfeng, LIN Zhaohua. Photoelectric Tracking Capture System Control Method Research and Simulation[J]. Computer Simulation, 2012, 29(12): 266-269. (in Chinese)
[12] 时君伟, 胡敏英, 任振辉. 基于机器视觉图像的多目标提取识别[J]. 湖北农业科学, 2012, 51(15): 3342-3344. SHI Junwei, HU Minying, REN Zhenhui. Recognition and Extraction of Multiple Targets Based on Machine Vision Image[J]. Hubei Agricultural Sciences, 2012, 51(15): 3342-3344. (in Chinese)
[13] 王洪涛, 罗长洲, 王渝, 等. 基于背景自适应预测的星点提取算法[J]. 光学技术, 2009, 35(3): 412-414. WANG Hongtao, LUO Changzhou, WANG Yu, et al. Algorithm for Star Extraction Based on Self-adaptive Background Prediction[J]. Optical Technique, 2009, 35(3): 412-414. (in Chinese)
[14] 吕汉峰, 张良, 王鼎杰, 等. 惯性信息辅助的星像点质心提取方法[J]. 国防科技大学学报, 2015, 37(2): 161-165. LYU Hanfeng, ZHANG Liang, WANG Dingjie, et al. Star Spot Centrioding Method with Inertial Measurement Information[J]. Journal of National University of Defense Technology, 2015, 37(2): 161-165. (in Chinese)
[15] 高自谦, 王海涌, 高洪民, 等. 实现弱星提取及质心定位的帧间窗口移位灰度叠加法[J]. 红外与激光工程, 2017, 46(2): 238-244. GAO Ziqian, WANG Haiyong, GAO Hongmin, et al. Inter-frame Shifted Window Gray Superposition Method of Dim Star Image Extraction and Centroiding[J]. Infrared and Laser Engineering, 2017, 46(2): 238-244. (in Chinese)
[16] 魏新国, 张广军, 江洁. 星敏感器中星图图像的星体细分定位方法研究[J]. 北京航空航天大学学报, 2003, 29(9): 812-815. 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. (in Chinese)
[17] 金占雷. CCD光斑质心算法的误差分析[J]. 航天返回与遥感, 2011, 32(1): 38-44. JIN Zhanlei. Error Analysis of Centriod Algorithm Based on CCD[J]. Spacecraft Recovery & Remote Sensing, 2011, 32(1): 38-44. (in Chinese)
[18] 王静. 二值图像连通域的分段标记算法及实现[J]. 红外与激光工程, 2010, 39(4): 761-765. WANG Jing. Segment Labeling Algorithm of Connecting Area in Binary Images and Its Realization[J]. Infrared and Laser Engineering, 2010, 39(4): 761-765. (in Chinese)
[19] 姜春霞, 王灿进, 陈娟. 双模式太阳跟踪器太阳质心提取算法[J]. 中国激光, 2015, 42(2): 293-300. JIANG Chunxia, WANG Canjin, CHEN Juan. Sun Centroid Extraction Algorithm for Solar Tracker with Double Modes[J]. Chinese Journal of Lasers, 2015, 42(2): 293-300. (in Chinese)
[20] 王凯, 黄山, 赵瑜, 等. 面向图像目标提取的改进连通域标记算法[J]. 计算机工程与设计, 2014(7): 2438-2441 WANG Kai, HUANG Shan, ZHAO Yu, et al. Improved Algorithm of Connected Component Labeling for Image Targets Extraction[J]. Computer Engineering and Design, 2014(7): 2438-2441. (in Chinese)
[21] 陶雨露, 邓新蒲, 程洪玮. 基于动态框搜索的星图中星点获取算法研究[J]. 航天电子对抗, 2012(5): 34-37. TAO Yulu, DENG Xinpu, CHENG Hongwei. Research on Star Acquisition Method Based on Dynamic Box[J]. Aerospace Electronic Warfare, 2012(5): 34-37. (in Chinese)
[22] 李学夔, 郝志航, 李杰, 等. 星敏感器的星点定位方法研究[J]. 电子器件, 2004, 27(4): 571-574. LI Xuekui, HAO Zhihang, LI Jie, et al. The Research on the Method of the Star’s Position Determination of the Star Sensor[J]. Chinese Journal of Electron Devices, 2004, 27(4): 571-574. (in Chinese)
[23] 蔡喆, 邓年茂. 单星星图细分定位算法的研究[J]. 计算机仿真, 2006, 23(3): 34-36. CAI Zhe, DENG Nianmao. Subdivided Locating Method of Single Star Image for Star Sensor[J]. Computer Simulation, 2006, 23(3): 34-36. (in Chinese)
[24] 詹银虎, 郑勇, 张超, 等. 超大视场太阳敏感器图像质心提取算法[J]. 测绘学报, 2015, 44(10): 1078-1084. ZHAN Yinhu, ZHENG Yong, ZHANG Chao, et al. Image Centriod Algorithms for Sun Sensors with Super Wide Field of View[J]. Acta Geodaetica et Cartographica Sinica, 2015, 44(10): 1078-1084. (in Chinese)
[25] 王祖军, 罗通顶, 杨少华, 等. 电离辐照诱发面阵电荷耦合器暗信号增大试验[J]. 中国空间科学技术, 2014, 34(4): 72-78. WANG Zujun, LUO Tongding, YANG Shaohua, et al. Experiment of Ionizing Radiation Induced Array Charge Coupled Devices Signal Increse[J]. Chinese Space Science and Technology, 2014, 34(4): 72-78. (in Chinese)
Space Multi-target Star Extraction Algorithm Based on Line Data Scanning
LI Yinlong1,2HE Haiyan1ZHANG Feng1LI Jing1
(1 Beijing Institute of Space Mechanics & Electricity, Beijing 100094, China) (2 Beijing Key Laboratory of Advanced Optical Remote Sensing Technology, Beijing 100094, China)
It is insufficient for the traditional methods to extract the space targets and get its location in real time. Therefore, a fast space multi-target star extraction algorithm is proposed based on line data scanning in the paper, which can quickly extract the space target through four steps: threshold extraction, line target extraction, target recognition and centroid coordinates calculation. In order to run more effectively in the embedded device, this target acquisition algorithm is properly configured and divided into FPGA and DSP ends. Experimental results show that star extraction can be achieved in less than 0.17ms when the input image resolution is 1 280 pixels×1 024 pixels. Compared with the traditional methods, this algorithm can improve extraction rate without losing positioning precision, which renders the algorithm more applicable for multi-target centroid extraction of space multi-target
space multi-target; space target capture; star extraction; line data scanning; space remote sensing
TP753
A
1009-8518(2019)02-0079-10
10.3969/j.issn.1009-8518.2019.02.009
李寅龙,男,1986年生,2012年获北京大学电子科学与技术硕士学位,工程师。研究领域为图像处理、遥感器摆镜伺服控制、视觉伺服控制、基于windows的实时快速原型机开发等。E-mail:liyinlong2006@126.com。
2018-04-01
(编辑:王丽霞)