陶雨露,邓新蒲,程洪玮
(1.国防科技大学电子科学与工程学院,湖南 长沙 410073;2.北京跟踪与通信技术研究所,北京 100094)
星敏感器是当今航天飞行器中广泛采用的一种高精度、高可靠性的姿态测量部件[1],从其工作原理[2]中可知,星图获取和星图识别(SPR)是现代星敏感器中的两个重要过程。星图获取就是通过将星图中与观测星相关的图像像素进行聚类,得到一组在星敏感器图像坐标下星点中心位置的数据集合。快速准确地提取星体目标,然后进行星点中心亚像素细分定位是实现高精度星图识别的前提和关键。
文献[3]提出了通过判断边界像素中最大最小行列数来确定目标区域的具体范围,从而提取目标区域内每一个像素的方法。该方法虽然缩短了时间,但是利用10×10的视框搜索到的星体目标中会包含过多背景噪声,难以保证星点质心提取精度。文献[4]根据星敏感器运动特性,提出自适应选取处理窗口的大小,并利用数学形态学的方法对断裂星体进行断点判定及主动生长,具有很大的实际意义。本文在借鉴上述文献的基础上,针对星体目标提取实时性不足、提取星体目标包含噪声的问题,提出动态框搜索的星图获取算法,实验证明该方法可满足星敏感器高精度的要求。
星敏感器以恒星为观测目标,恒星可以看作距离地球无穷远处具有一定光谱特性的点光源,因此其在图像传感器感光面上的成像为在较暗背景上的近似符合二维高斯分布点状光斑[5]。单个星体目标在图像中的能量分布,又可称为点扩散函数(PSF)。PSF的中心为星体目标能量最大值点,即星图图像中灰度最大值点。搜索到该中心点,便能确定星体目标的分布情况。本文星图获取算法的研究思路如图1所示。
图1 星图获取算法流程图
由于星敏感器光学和电路等的影响,原始星图中除包含真实星点目标外,还夹杂着很多噪声。根据文献[6],本文采用3×3的高斯滤波模板予以滤除。
在提取星体位置之前必须对星图图像中的星体目标进行粗识别。粗识别实际上是一个图像分割的过程[6],这一过程可以分为两个阶段。
第一阶段是将星体目标和背景分离开。可以采用全局阈值的方法进行分离处理。设V为背景阈值,星图图像阈值化过程为:
考虑到真实星图图像中背景、噪声、星体目标数量和位置等的不断变化,本文采用自适应阈值法产生背景阈值,该阈值表达式为:
式中,E为去除噪声后图像均值,δ为图像标准差。k是一个与噪声有关的系数,取值范围为2~10,根据文献资料[7],选择k的值为5。
第二阶段是将单个星体目标与其他星体目标分离开。普遍采用的是固定窗口法[1]和连通域算法[2],二者的不足在于:1)固定窗法以固定大小的像素范围为窗口,它不能完全包含真实星图中星体目标的有效像素。过小的窗口可能造成真实星点信息丢失,太大的窗口可能引入真实星点外由噪声引起的虚假像素点,或者其它星体目标中的有效像素点,它们都会减小星点质心提取精度。2)连通域法能完全检索到与PSF中心相邻接的所有像素点。由于星图中不同星体目标的范围大小各异,而实际中的阈值化不能完全剔除全部噪声点,连通域法把干扰噪声也算作有效像素点,进而影响星点质心提取精度。其不足之处如图2所示。
针对以上不足,本文提出一种基于动态框搜索的星体目标提取算法,其处理过程分为四个步骤:采用动态框实现星体目标粗识别并剔除孤立像点;确定敏感区域灰度最大值;动态框搜索确定星体目标;计算星点质心位置。
图2 连通域法示意图
假设星图中仅存在一个星体目标,且星点PSF扩散斑直径为5×5[5]。按照从上到下、由左至右的顺序对星图进行搜索,确定区域灰度最大值的方法如图3所示。
图3 星体目标粗识别示意图
当搜索到第一个灰度值大于背景阈值的像素点(设为点X)时,则点X可能为2~6点中任意一点(若搜索为1或7孤立星点,则作剔除处理)。若该点在点2处,使用图3中大小为4×5固定框(框A)检索框内所有像素点,若灰度值大于背景阈值的像素点个数多于3个,找出该区域内灰度最大值点并记下,否则令该区域所有像素点灰度值为0。在设定固定框的位置时,令点2为框A最上边中间像素点。对于点3~6处查找最大值点处理方法同点2。由于区域灰度最大值点位置的未知性,采用像素框的有序运动来逐步搜索到该点,图3中显示了框A到框B的动态搜索过程。
考虑到星点PSF特征,设定的4×5固定像素框需始终保证框内能搜索到PSF的中心点。在单星体目标存在的情况下,保证能迅速搜索目标区域。在多星体目标存在的情况下,得到区域内灰度的最大值,可将单个星体目标与其它星体目标分开。
找到区域内灰度最大值就相当于找到了星点的PSF中心点,以该点为中心将其近邻的像素归类和分组,使用动态框搜索的方法,可以确定星图中的星体目标。在星图中仅有单个星体目标存在下,动态框搜索示意图如图4所示。
图4 动态框搜索示意图
图4中虚线框为动态搜索框。动态框搜索的具体步骤为:以星点的PSF中心像素点为中心,设定如图4(a)的3×3动态框。考虑到星体目标呈3×3或5×5弥散圆分布的可能性,在提取3×3动态框内像素点的同时检测5×5动态框中的A、B、C、D四个像素点的灰度值(如图4(a)所示),若四者灰度值均小于背景阈值V,则提取3×3动态框内(如图4(b)所示)所有像素点作为星体目标的有效像素点,并保存。否则提取5×5动态框内(如图4(c)所示)所有像素点作为星体目标的有效像素点,并保存。
针对真实星图中往往包含多个星体目标的情况,多星体目标下动态框搜索算法为:按照从上到下、由左至右的顺序遍历阈值化后的星图图像,按照2.2节所述方法找到第一个星体目标,存储所有像素点后,将被遍历图像中该星体目标的所有像素点灰度置0,其目的是不会干扰搜索算法对其它星体目标的判定,从而实现对下一个目标的正确提取。
同时,2.2节动态框算法能解决在2.1节设定的固定框可能包含多个星体目标的情形,如图5所示。
图5 多星体目标干扰处理示意图
图5中包含两个星体目标,B点和C点分别为星点PSF中心点,斜线框表示该点为有效像点。由于设定的固定像素框同时包含了B点和C点,造成多星体目标的干扰。以区域内最大像素点(B点或C点)为中心进行动态框搜索,将两个星体目标区分开来:1)若C点像素灰度值大于B点,则完成一次遍历后,再次对整个图像进行遍历搜索,便可找到B点;2)若C点像素灰度值小于B点,搜索算法会自动从B点进行动态框搜索;3)若C像素灰度值等于B点,则取横坐标小的B点进行动态框搜索即可。
完成对星图图像中所有星体目标识别后,利用灰度加权质心法[8]确定星点质心位置。其具体表达公式如下所示:
为了检验本文算法性能,将固定窗口法(大小选择5×5)、连通域算法(MatlabTM自带函数)与本文算法作比较。仿真中设定模拟星图图像大小为512×512,星图中的星PSF用二维高斯函数近似产生[1],即:
式中,A为最大幅度,(x0,y0)为星点中心坐标,σ为高斯半径。参数设置为:A=100,σ=0.01。模拟的恒星数目分别为1、2、3、4、5、6、7、8、9、10。为了模拟图像中星体目标大小的不同,每幅图像中星点弥散圆直径从3和5中随机选取,同时图像中添加均值为0,方差为0.01的噪声。所有试验均在Pentium4TM2.93GHz,2G内存PC上用 MatlabTM7.10完成。具体仿真结果如图6~7所示。
由图6和图7可知,动态框搜索算法相比固定框法在处理时间和星点提取精度方面都有一定的优势,动态框能根据星点实际的扩散程度选取所有真实星点的像素点,从而减小了提取误差。由于采用了MatlabTM自带函数,连通域法在处理时间上要优于动态框搜索算法,但是其提取精度要劣于后者。连通域法将所有星点中心邻域范围的像素点都聚类为一个星体目标,使得在确定星点质心时引入了真实星点以外的噪声,从而降低了质心提取精度。连通域法与固定框搜索法都能将星点中心邻域内所有像素点聚类,在计算时都可能引入误差,造成二者质心提取精度接近且较低。因此本文动态框搜索算法在真实星点数量和图像中的弥散光斑未知的情况下,其综合处理时间和星点提取精度都在可以接受的范围内,显示了较好的效果。
图6 处理时间比较
图7 误差均值比较
本文提出的动态框搜索算法可以根据星图图像中真实星点的分布情况,采用大小可变的像素框进行星体目标聚类,相比传统的方法在星体提取精度方面取得了一定的成果。但是提高质心提取精度仍依赖于质心算法的改进,因此动态框下星点质心确定方法还有待进一步的研究。
[1]Liebe CC.Star trackers for attitude determination[J].IEEE Trans.on Aerospace and Electronic System,1995,10(6):10-16.
[2]魏新国,张广军,樊巧云,等.利用仿真星图的星敏感器地面功能测试方法[J].红外与激光工程,2008,37(6):1087-1091.
[3]原玉磊,席靓,张文郎.星点图像的目标提取算法研究[J].海军航空工程学院学报,2010,25(6).
[4]金雁,江浩,等.高动态星体目标提取方法[J].红外与激光工程,2011,40(11).
[5]Liebe CC.Accuracy performance of star trackers-a tutorial[J].IEEE Trans.on Aerospace and Electronic Systems,2002,38(2):587-599.
[6]魏新国,张广军,江洁.星敏感器中星图图像的星体细分定位方法研究[J].北京航空航天大学学报,2003,29(9):812-815.
[7]李学夔,郝志航,李杰,等.星敏感器的星点定位方法研究[J].电子器件,2004,27(4):571-574.
[8]Rufino G,Accardo D.Enhancement of the centroiding algorithim for star tracker measure refinement[J].Acta Astronautica,2003,53(2):135-147.