CN102278990B - 基于fpga的星敏感器图像处理方法 - Google Patents
基于fpga的星敏感器图像处理方法 Download PDFInfo
- Publication number
- CN102278990B CN102278990B CN201010200036.6A CN201010200036A CN102278990B CN 102278990 B CN102278990 B CN 102278990B CN 201010200036 A CN201010200036 A CN 201010200036A CN 102278990 B CN102278990 B CN 102278990B
- Authority
- CN
- China
- Prior art keywords
- asterism
- star sensor
- star
- fpga
- image processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了基于FPGA的星敏感器图像处理方法,包括的步骤是:图像高通滤波、星点质心计算、星点排序,基于FPGA实现星敏感器图像处理的全部工作,并以并行运算的体系结构实现。本发明采用的方法,与现有技术相比,其优点和有益效果是:充分利用星敏感器恒星成像及光电探测器数字图像的特点,能在强光干扰条件下仍然可以稳定运行。充分利用FPGA在并行运算体系结构设计中的优势,采用四级流水组织图像处理算法中的运算模块,大幅提高运算速度和星敏感器的数据更新率。
Description
技术领域
本发明涉及一种星敏感器图像处理方法,并基于FPGA以并行计算的体系结构实现该算法。
背景技术
星敏感器是空间飞行器GNC系统的关键部件,是基于计算机视觉测量理论研制的空间精密仪器,主要用于空间飞行器三轴姿态测量和空间飞行器导航。星敏感器通常由光学及精密结构系统、光电探测器及信号处理电路和软件等三部分组成。基于计算机视觉测量理论,以恒星稳定的光信号作为输入,星敏感器可以得到恒星在其本体坐标系内的精确位置,再由其内部星表存储的恒星基于地心惯性坐标系的位置信息,可以得到星敏感器本体相对于地心惯性坐标系的三轴姿态信息,从而得到空间飞行器本体相对于地心惯性系的三轴姿态信息。
恒星数字图像处理是星敏感器软件的重要组成部分,主要完成恒星成像点的精确定位功能,其稳定性、可靠性和运算速度,直接关系到星敏感器的可靠性、测量精度和数据更新率等性能指标。
田玉龙等在《哈尔滨工业大学学报》(2005,37<8>:1068-1070)上发表论文《基于局部熵的星敏感器星图提取方法》,给出了星敏感器星点质心提取的一种算法,基于PC机仿真实现,基于“先保存星图至存储器,再提取星点”的串行方式工作,串行的工作方式很难提高计算效率。姚太雷等在《长春理工大学学报》(2008,31<1>:71-73)上发表论文《适用于星敏感器的星体识别研究》,给出了基于RISC处理器的逐行扫描星点提取算法,但RISC处理器的计算过程本质上是串行的,其运算速度较FPGA慢,且很难与其他图像处理算法实现并行计算。郝雪涛等在《北京航空航天大学学报》(2005,31<4>:381-384)上发表论文《CMOS星敏感器图像驱动及实时星点定位算法》,基于FPGA实现,但只能识别单像素噪声点,且没有辅以图像高通滤波器、星点排序等算法,其方法鲁棒性方面需要改进。周国辉等在《航天控制》(2006,24<1>:87-91)上发表论文《星敏感器图像处理系统的并行流水线操作研究》,将图像处理工作分别由CPLD与DSP实现,功耗较大,且系统设计复杂。
发明内容
本发明的目的是提供基于FPGA的星敏感器图像处理方法,能够完成星点质心的精确定位。
为达到上述目的,本发明是通过以下技术方案实现的,基于FPGA的星敏感器图像处理方法,其特征在于包括如下步骤:
(1)根据星敏感器数字图像能量分布的特征、恒星成像的特征和硬件实现数学运算的特点,设计高通滤波器,由此计算星点提取阈值,解决在强光干扰条件下影响星点提取的关键问题;
(2)根据星敏感器恒星成像的特征,设计星点质心提取算法,在光电探测器逐行输出像素数据的同时,同步计算星点质心,由星点的图像特征,在运算过程中对星点与噪声点进行判别;
(3)根据硬件运算的特点,采用FPGA实现基数排序算法,在完成星点提取工作后,按星点能量值对星点集合进行排序,确保能量值高的星点子集用于全天识别和姿态解算,以显著减小强光干扰产生的噪声对姿态计算的影响;
(4)基于FPGA实现星敏感器图像处理的全部工作,并以并行运算的体系结构实现。
所述的步骤(1)中,根据星敏感器数字图像能量分布的特征、恒星成像的特征和硬件实现数学运算的特点,设计16×16pix.的高通滤波器,在光电探测器逐行给出像素数据的同时,逐个区域的完成图像滤波和阈值的计算,得到阈值矩阵,使得星敏感器可以有效处理强光干扰条件下的图像。
所述的步骤(2)中,根据星敏感器恒星成像的特征,设计的同步提取星点质心的算法可以在逐行得到图像像素数据的同时,辨别单像素点和双像素点噪声的机制并及时舍弃,有效解决在星敏感器在实际运行过程中因噪声点过多带来的存储器溢出问题。
所述的步骤(3)中,根据硬件运算的特点,设计基数排序算法的状态机,并运用于星点集合排序,在排序过程中,为减少存储空间开销,排序采用移动索引的方法进行。
所述的步骤(1)~(4)中,采用FPGA完成星敏感器图像处理算法的滤波、星点质心提取和排序的全部工作,并采用四级流水线方式设计并行运算体系结构。
本发明采用的方法,与现有技术相比,其优点和有益效果是:
(1)充分利用星敏感器恒星成像及光电探测器数字图像的特点,能在强光干扰条件下仍然可以稳定运行。
(2)充分利用FPGA在并行运算体系结构设计中的优势,采用四级流水组织图像处理算法中的运算模块,大幅提高运算速度和星敏感器的数据更新率。
附图说明
下面将结合附图和实施例对本发明作进一步详细的说明。
图1为星敏感器图像处理算法体系结构框图;
图2为用于星敏感器图像处理的空间域高通滤波器计算示意图;
图3为基数排序算法状态机示意图;
图4为并行运算体系结构示意图。
具体实施方式
如图1所示,给出了星敏感器图像处理算法的体系结构。算法由高通滤波、星点提取和星点排序三部分组成,以并行运算方式基于FPGA实现方法的步骤。光电探测器在驱动信号集的控制下,将光信号转化为数字图像信号输出至空间域高通滤波器,用以实现图像滤波,其计算结果为阈值矩阵,作为星点质心提取的计算参数,星点质心提取的计算结果为星点集合,经星点排序后成为有序的星点集合,提供给星敏感器全天识别与姿态解算软件进行处理。
如图2所示,给出了用于星敏感器图像处理的空间域高通滤波器计算示意图。星图图像信号对于空间位置是连续的,在足够小的邻域内,图像背景信号可以认为是近似均匀的。恒星像点、背景和噪声像点各自具有显著的视觉特征。背景信号的能量分布比较均匀,属于图像信号低频部分,星光信号的能量呈现出高频窄脉冲的特点,光噪声像素点能量值较高,但其几何位置分布分散,与星光信号能量较高,几何位置分布集中具有明显差别。设置滤波窗口大小为16×16pix.,窗口大小的确定基于如下几个因素:①恒星在星敏感器上所成的像,按照星等的不同,像素数一般为数十个之内,且以弥散圆的形状分布,在16×16pix.子区域内,星光信号相对于背景是能量较高的高频信号,易于提取;②星图的大小一般为2的整数次幂,选取大小为16×16pix的滤波窗口,可以快速计算子区域行列索引值,避免使用除法和求余运算;③平均值可以采用移位运算,避免使用除法。采用FPGA实现高通滤波器。系统复位后,当一帧星图开始输出后,算法启动。首先由像素计数器计算出当前像素点所在子区域的行列索引值并从阈值矩阵中读取该区域的部分和,之后,将当前像素灰度值累加至子区域灰度的部分和。图2中四种颜色对应的图像子区域的灰度值累加和分别存放在阈值存储器对应颜色的地址中。在每行扫描结束后,与该行对应的阈值存储器中64个灰度部分和刷新一次,一帧扫描结束后,该帧对应的阈值矩阵同步给出。第k帧计算得到的阈值矩阵用于第k+1帧星点提取,第1帧采用经验值设定阈值以提取星点。
由星点成像的特征,星点的定义如下。
定义对于大小为H×W,最高量化值为VMAX,星点提取阈值为T的星图,若像素集合P={pi(xi,yi,vi),i=1,2,…,N}可以作为星点,需满足:
①0≤xi<W,0≤yi<H,T<vi≤VMAX,N≥3;
②对于且满足pi与pj四邻域相邻。
其中xi,yi为星点像素坐标,vi为灰度值,N为星点超过阈值的像素数。
算法可以实时地完成星点质心定位,并将星点质心数据保存于FPGA内部的存储器中。对于每个时刻得到的当前像素点P(i,j),设其左侧相邻点为P(i,j-1),左上相邻点为P(i-1,j-1),上方相邻点为P(i-1,j),令其对应的灰度值分别为v(i,j),v(i,j-1),v(i-1,j-1),v(i-1,j),且令阈值为T,星点类属标志为starFlag。在算法中,需要记录每个星点类属标记对应的灰度值超过阈值的像素个数,为实现并行星点提取,根据定义1,需要记录第i-1行所有像素点的类属标记,此外还需要存储星点能量值的空间EnergyVec,存储星点各像素灰度加权坐标和的空间GrayXVec和GrayYVec,存放各星点像素数总和的空间StarSizeVec和星点类属复用标志starFlagStackOverlap,上述所有存储空间初始化为0。
表1和表2给出了星点提取算法原理。
表1星点提取算法描述(一)
表2星点提取算法描述(二)
如图3所示,给出了基数排序算法FPGA实现的状态机示意图。根据基数排序的算法原理,需要对星点集合以能量和为关键字进行降序排列。星点能量和以二进制数形式存放于存储器中。因此需要设置存储器存放排序的关键字星点能量和,为避免大规模的数据移动,在排序时,设置三个数据索引存储器分别用于存放基数排序算法中每次外层循环结束后的中间结果与最终排序结果。在星点以能量值进行基数排序的同时,其索引值跟随能量值关键字在容器中移动,使得在排序结束后,可以正确的以降序访问星点集合。上电复位后,状态机处于idle状态,在一帧像素输出完毕后,进入NUM_DIGITS状态启动排序。在对每个数位排序时,在Clear_container状态,将容器清空,之后进入Input_data状态,以星点序号的次序将星点能量数据集的元素进行分类,在clect_data状态中收集两个容器中的数据元素。外层循环结束后,排序完成,进入Center_ready状态。
如图4所示,给出了并行运算体系结构示意图。空间域高通滤波算法、星点提取算法和星点排序算法协同工作,共同完成星敏感器图像处理工作,以保证实时可靠的求出星图中星点特征量。算法实现选用Xilinx公司Virtex-Ⅱ系列XC2V1000芯片。四级流水计算过程如图4所示。对于第1帧,进行采集与阈值计算工作,不做星点识别,计算得到的阈值供第2帧星点识别使用;对于第2帧,进行星点识别和星点排序,同时计算阈值,供第3帧星点识别使用;对于第k个计算周期,首先进行第k帧的采集,a表示帧间时间间隔,一般为100ms;缓存1行星图数据后开始该帧的星点提取,阈值矩阵已由第k-1个周期计算得到,b表示帧采集与星点提取两个任务启动的时间间隔,b可由读取1行星图数据的时间估算,约100μs;缓存16行星图数据后,可以启动阈值计算任务,为第k+1帧星点提取做准备,c表示帧采集与阈值计算两个任务启动的时间间隔,约1600μs。第k帧质心提取结束后即开始星点排序计算。星点数据集的更新率由帧间隔时间决定。
本发明提出的基于FPGA的星敏感器图像处理算法,由基于空间域的高通滤波器、基于逐行扫描的并行星点提取和基于基数排序的星点排序三个计算过程组成,三个过程协同配合,由粗到精的完成星图的处理工作,对于受强光干扰的星图具有良好的适应性,能够稳健的将图像中能量值较高的星点提供给星敏感器全天识别和星跟踪模块。本方法将图像处理的所有计算工作集成于单片FPGA中,功耗低、小型化,系统设计简洁,可以充分发挥其并行计算的优势,显著改善星敏感器的动态性能与数据更新率。
Claims (5)
1.基于FPGA的星敏感器图像处理方法,其特征在于包括如下步骤:
(1)根据星敏感器数字图像能量分布的特征、恒星成像的特征和硬件实现数学运算的特点,设计高通滤波器,由此计算星点提取阈值;
(2)根据星敏感器恒星成像的特征,设计星点质心提取算法,在光电探测器逐行输出像素数据的同时,同步计算星点质心,由星点的图像特征,在运算过程中对星点与噪声点进行判别;
(3)根据硬件运算的特点,采用FPGA实现基数排序算法,在完成星点提取工作后,按星点能量值对星点集合进行排序,确保能量值高的星点子集用于全天识别和姿态解算;
(4)基于FPGA实现星敏感器图像处理的全部工作,并以并行运算的体系结构实现。
2.根据权利要求1所述的星敏感器图像处理方法,其特征在于所述的步骤(1)中,根据星敏感器数字图像能量分布的特征、恒星成像的特征和硬件实现数学运算的特点,设计16×16pix.的高通滤波器,在光电探测器逐行给出像素数据的同时,逐个区域的完成图像滤波和阈值的计算,得阈值矩阵。
3.根据权利要求1或2所述的星敏感器图像处理方法,其特征在于所述的步骤(2)中,根据星敏感器恒星成像的特征,设计的同步提取星点质心的算法可以在逐行得到图像像素数据的同时,辨别单像素点和双像素点噪声的机制并及时舍弃。
4.根据权利要求3所述的星敏感器图像处理方法,其特征在于所述的步骤(3)中,根据硬件运算的特点,设计基数排序算法的状态机,并运用于星点集合排序,在排序过程中,为减少存储空间开销,排序采用移动索引的方法进行。
5.根据权利要求4所述的星敏感器图像处理方法,其特征在于所述的步骤(1)~(3)中,采用FPGA完成星敏感器图像处理算法的滤波、星点质心提取和排序的全部工作,并采用四级流水线方式设计并行运算体系结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010200036.6A CN102278990B (zh) | 2010-06-11 | 2010-06-11 | 基于fpga的星敏感器图像处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010200036.6A CN102278990B (zh) | 2010-06-11 | 2010-06-11 | 基于fpga的星敏感器图像处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102278990A CN102278990A (zh) | 2011-12-14 |
CN102278990B true CN102278990B (zh) | 2016-03-30 |
Family
ID=45104575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010200036.6A Active CN102278990B (zh) | 2010-06-11 | 2010-06-11 | 基于fpga的星敏感器图像处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102278990B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9177006B2 (en) | 2012-12-29 | 2015-11-03 | International Business Machines Corporation | Radix sort with read-only key |
CN103968845B (zh) * | 2014-04-15 | 2016-08-31 | 北京控制工程研究所 | 一种用于星敏感器的dsp与fpga并行多模式星图处理方法 |
CN104034331A (zh) * | 2014-06-12 | 2014-09-10 | 中国科学院上海技术物理研究所 | 一种兼有目标探测功能的星敏感器 |
CN104931044B (zh) * | 2015-06-16 | 2017-12-19 | 上海新跃仪表厂 | 一种星敏感器图像处理方法及系统 |
CN106846398B (zh) * | 2016-12-05 | 2020-09-18 | 北京空间机电研究所 | 一种基于图像行数据扫描的星空目标最大光强位置的识别方法 |
CN107610033B (zh) * | 2017-07-28 | 2020-10-13 | 湖北航天技术研究院总体设计所 | 一种星敏感器星点目标快速识别方法 |
CN107843254B (zh) * | 2017-10-29 | 2020-08-14 | 上海航天控制技术研究所 | 一种空间星敏感器的数据处理单元 |
CN108154462B (zh) * | 2017-12-11 | 2021-07-13 | 北京控制工程研究所 | 一种白昼环境下星图背景的实时滤波方法 |
CN108716916B (zh) * | 2018-05-31 | 2021-05-25 | 北京航空航天大学 | 一种基于超级块的分布式并行星点质心提取方法及fpga实现装置 |
CN109284679B (zh) * | 2018-08-20 | 2021-04-13 | 董峰 | 基于体温感应的窗户监控平台 |
CN109029426A (zh) * | 2018-08-22 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种星敏感器 |
CN108827281B (zh) * | 2018-09-14 | 2022-06-24 | 上海航天控制技术研究所 | 一种星敏感器的组合成像驱动方法 |
CN109685782A (zh) * | 2018-12-18 | 2019-04-26 | 北京遥感设备研究所 | 一种基于fpga的高速星点检测方法及系统 |
CN109724589B (zh) * | 2018-12-26 | 2021-01-15 | 中国科学院长春光学精密机械与物理研究所 | 高数据更新率星敏感器 |
CN111105428B (zh) * | 2019-11-08 | 2023-11-14 | 上海航天控制技术研究所 | 一种星敏感器前向滤波硬件图像处理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101709974A (zh) * | 2009-11-10 | 2010-05-19 | 北京控制工程研究所 | 一种aps太阳敏感器的快速图像处理方法 |
CN101726319A (zh) * | 2009-12-17 | 2010-06-09 | 哈尔滨工业大学 | 具有参数注入功能的星敏感器模拟方法 |
-
2010
- 2010-06-11 CN CN201010200036.6A patent/CN102278990B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101709974A (zh) * | 2009-11-10 | 2010-05-19 | 北京控制工程研究所 | 一种aps太阳敏感器的快速图像处理方法 |
CN101726319A (zh) * | 2009-12-17 | 2010-06-09 | 哈尔滨工业大学 | 具有参数注入功能的星敏感器模拟方法 |
Non-Patent Citations (3)
Title |
---|
Accuracy Performance of Star Trackers-A Tutorial;CARL CHRISTIAN LIEBE等;《IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS》;20020430;第38卷(第2期);第587-599页 * |
Rapid Star Tracking Algorithm for Star Sensor;Jie Jiang等;《IEEE A&E SYSTEMS MAGAZINE》;20090930;第23-33页 * |
基于FPGA的星图采集及预处理算法实现;尹业宏;《中国优秀硕士学位论文全文数据库信息科技辑》;20050228;第I140-214页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102278990A (zh) | 2011-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102278990B (zh) | 基于fpga的星敏感器图像处理方法 | |
CN105761288B (zh) | 一种基于fpga的实时星点质心定位方法及装置 | |
CN111462120B (zh) | 一种基于语义分割模型缺陷检测方法、装置、介质及设备 | |
CN102155945B (zh) | 一种提高ccd星敏感器动态性能的方法 | |
Jin et al. | Design and implementation of a pipelined datapath for high-speed face detection using FPGA | |
CN105787901B (zh) | 一种用于太阳高分辨图像序列中相邻两帧间的多尺度速度场测量方法 | |
Cao et al. | A traffic-sign detection algorithm based on improved sparse R-CNN | |
CN102982323B (zh) | 快速步态识别方法 | |
CN112989947B (zh) | 一种人体关键点的三维坐标的估计方法及装置 | |
CN112446919A (zh) | 物体位姿估计方法、装置、电子设备及计算机存储介质 | |
CN102944227B (zh) | 一种基于fpga实现实时提取恒星星像坐标的方法 | |
CN109859178A (zh) | 一种基于fpga的红外遥感图像实时目标检测方法 | |
CN108716916B (zh) | 一种基于超级块的分布式并行星点质心提取方法及fpga实现装置 | |
CN102722706A (zh) | 基于粒子滤波的红外弱小目标检测与跟踪方法及装置 | |
CN105335965B (zh) | 一种高分辨率遥感图像多尺度自适应决策融合分割方法 | |
CN105224935A (zh) | 一种基于Android平台的实时人脸关键点定位方法 | |
CN103617624B (zh) | 用于高速视觉测量的基于合作目标的实时全局搜索方法 | |
CN105046713A (zh) | 一种基于形态学的鲁棒的星点分割方法与fpga实现装置 | |
Wang et al. | Real-time visual static hand gesture recognition system and its FPGA-based hardware implementation | |
CN109949204A (zh) | 流水线结构的星点质心提取电路 | |
CN116452757B (zh) | 一种复杂场景下的人体表面重建方法和系统 | |
CN102903105B (zh) | 一种从星图中提取星像的方法 | |
Su et al. | Which CAM is better for extracting geographic objects? A perspective from principles and experiments | |
Wang et al. | Maritime Small Target Detection Based on Appearance Stability and Depth-Normalized Motion Saliency in Infrared Video With Dense Sunglints | |
Yan et al. | Research on moving target tracking system based on FPGA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CB03 | Change of inventor or designer information |
Inventor after: Mao Xiaonan Inventor after: Yin Haining Inventor after: Qiu Haihui Inventor after: Zheng Xunjiang Inventor after: Zhou Qi Inventor before: Mao Xiaonan Inventor before: Qiu Haihui Inventor before: Zheng Xunjiang |
|
COR | Change of bibliographic data |