APP下载

强干扰条件下的星体提取方法

2014-06-24高晓颖王海罗

哈尔滨工业大学学报 2014年8期
关键词:星图星体灰度

踪 华,高晓颖,汪 渤,王海罗,李 磊

强干扰条件下的星体提取方法

踪 华1,2,3,高晓颖3,汪 渤1,王海罗1,李 磊3

(1.北京理工大学自动化学院,100081北京;2.宇航智能控制技术国家级重点实验室,100854北京;3.北京航天自动控制研究所,100854北京)

为了解决在强干扰条件下星体提取问题,提出了一种基于边缘检测+星体像素筛选的星体提取方法,首先用一种边缘检测算法分割星图,然后对像素进行标记,最后利用自适应阈值对星体的目标像素进一步筛选.并对像素标记算法进行改进,改进的算法在标记目标像素时,同时分析与它相邻的像素的连通性,使得属于同一星体的所有像素只分配一个标记值,提高了星图处理的效率.试验结果表明,该处理方法对强干扰噪声具有更好的鲁棒性、且运算速度更快,精度也有所提高.提出的边缘检测+星体像素筛选的星体提取方法有助于在强干扰条件下分离星体目标和背景,改进的像素标记方法,可以更快地区分不同的星体,便于工程应用.

星体提取;边缘检测;自适应阈值;像素标记;关联性

星敏感器是一种以恒星为参照系,高精度的空间姿态、位置测量装置,是迄今为止最精密且漂移最小的姿态测量器件[1],在航海、航空、航天等领域得到了广泛的应用.星图中星点的提取算法是星敏感器整体性能的基础,提取算法对噪声的鲁棒性、计算速度和精度直接影响后续星图识别和姿态解算的相应的性能.特别是随着星敏感器应用范围的推广,需要在各种复杂的环境中工作,因此在强干扰条件下快速有效地提取星点坐标已成为一项迫切需要解决的问题.

传统的星体提取过程:1)扫描整帧星图,计算得到全局阈值;2)利用全局阈值,将星体目标与背景分开,得到二值图像;3)利用改进的像素标记算法进行像素标记,将单个星体目标与其他星体目标分开;4)利用星点定位算法,计算星点坐标.因此,比较关键的部分是阈值确定、像素标记和星点坐标计算,这些算法目前的情况如下.

阈值的确定方法.实际应用中阈值的确定算法有似然比检测法,双门限法,自动(自适应)阈值法等,文献[2]通过大量的试验检验,认为自适应阈值法更适合作为实际图像阈值的确定方法.这种方法具有很强的灵活性,根据实时得到的图像数据进行阈值的计算.计算星图的阈值计算公式为Vth=E+α·δ,E为图像的均值,即整幅图像所有像元的加和平均,δ是图像的方差.在理想的条件下,利用星敏感器探测,星体成像能量集中,信噪比高,采用该方法可以分离出有效的星体,但是星敏感器在空中实际使用的时候,通常会受到杂光或其他较亮天体的强干扰影响,信噪比降低,用该方法分离出星体的数量和精度都会降低.

像素标记法.进行像素标记的目的是为了区分不同的星体,目前主要有两类像素标记法算法,第1类是对利用阈值分离出的目标像素进行标记,并将等价像素对记录在等价表中,再对等价标记表进行关联性分析,合并相同的星体[3].其中等价标记表的关联性分析算法有动态链接表法[4-6]和递归算法[7].第2类是文献[8]提出的一种坐标关联性分析算法:灰度图像经过阈值扫描处理后,不存储二值图像,只存储超过阈值的像元坐标,然后分析坐标之间的关系.该算法虽然比动态链接表法和递归算法有所改进,对于小视场星敏感器,一帧图像中的星体较少,该算法能有效提高星体提取速度,但是对于大视场星敏感器,随着视场内星的数量的增加,坐标分析的复杂度快速增加,计算速度也会降低,具有一定的局限性.

星点定位方法.星点坐标提取方法有质心法、带阈值质心法、加权质心法、平方加权质心法和高斯曲面拟合法[7],其中加权质心法是工程中经常采用的一种星点定位算法,理想情况下的定位精度可达1/50像元.

本文针对以上传统的星图提取算法的局限性,给出了一种边缘检测法+星体像素筛选的星体提取方法,提高了对噪声的鲁棒性.该方法包括4部分:1)利用基于边缘检测的星体提取方法,初步得到包含星体的光斑;2)进行像素标记;3)进行星体筛选,在步骤1处理的基础上,进一步筛选出星体有效像素;4)利用质心算法,得到星体质心坐标.本文并对像素标记方法进行了改进,在像素标记之前就进行联通性分析,使得每一个星体的像素可以分配唯一的标记值,能大大提高处理效率.

1 基于边缘检测+星体像素筛选星体提取方法

1.1利用边缘检测法提取星体

1.1.1 边缘检测算法

对于一个连续函数图像f(x,y),选择以位置(x,y)为中心的3×3区域模板,如表1所示.

表1 以(x,y)为中心的3×3区域模板分布

首先计算图像f(x,y)在点(x,y)的梯度绝对值

然后进行图像分割,如下式所示,对任意一点(x,y),若对应的G2xy大于等于门限Gth,则保留该点的灰度值,否则,则置0.门限Gth可以由先验数据统计确定.边缘检测计算后,得到一幅二值图像.

1.1.2 像素标记

经过边缘检测处理后,图像中只有灰度值大于0的目标像素和灰度值为0的背景像素.采用本文改进的像素标记算法进行标记.初步分割后的图像为记为f,经过标记后的图像存在对应的g中.对星图f从上至下,从左至右逐行扫描.对当前被扫描像素灰度等于0的点标记0,对灰度大于0的点按顺序作标记1,2,3,…,在标记的过程中要对每一个新像素的左、左上、上、右上4个像素的灰度值进行判断,如果相连的点已经作过标记,则该标记为相连点中的最小编号.将整幅星图标记完后,再进行相同星体的合并,处理完毕后每个星体都会有不同的标记,记星体合并后的图像为g1′,并将g1′的数据赋给g2′,g2′作为星体质心计算时使用,这里f,g1′,g2′均指512×512的数组).

1.2星体像素筛选

1.2.1 利用自适应阈值进一步筛选星体的有效像素

采用1.1节的方法虽然最大可能地保留了星体光斑,但是同时也会保留一部分与星体边缘像素相邻的背景像素,如表2所示,因此需要利用自适应阈值算法进一步筛选出有效的星体.

表2 边缘检测方法提取的某星体A的灰度分布

利用1.1节的方法分离星体与背景,得到星图f,对f进行像素标记,得到图像标记g1′,g2′,从上至下,从左至右逐行扫描g1′,搜索到一个星体后,作如下处理:例如对得到的任一星体A如表2所示,记作区域Ⅰ,选取出星体A左上角的像素点(xj,yi),以其左侧像素点(xj-1,yi)为起点,向左,向下选取10×10的窗口区域Ⅱ,由区域Ⅱ中背景像素计算星体A的自适应阈值为

式中:Vath为星体的自适应阈值;Ea为区域Ⅰ中背景像素的加和平均;σ为背景像素的方差;α为一个与噪声有关的常值系数,经验上常取3~5.

对于星体区域Ⅰ中的像素点,对应的g1′的标记置0;f按式(5)作筛选;g2′按式(6)处理,利用自适应阈值筛选出的星体A如表3所示,有效去除了残留的背景像素.

表3 经过自适应阈值算法筛选出的星体A的灰度分布

对任意一幅星图,用1.1节中的方法提取出的多个星体后,均用上述方法,分别计算每一个星体的阈值,再利用该阈值去除残留的背景像素,保留有效的星体像素.

1.2.2 干扰噪声和暗弱星去除

为了提高后续的星图识别率,星体提取的一项重要工作就是去除干扰噪声和暗弱星.

星敏感器成像时噪声产生的主要原因有[9]:在拍摄过程中星空背景噪声,分子噪声,以及成像芯片信号传输到采集电路时夹杂的噪声.噪声的特点一般不具有联系,是孤立的,以单个像元存在[10].

为了得到更高的星体提取精度,星敏感器在设计时通常采用离焦技术,在静态的条件下,满足一定星等的恒星在CCD像平面上几乘几的像元大小的阵列窗口上成像.而低于该星等条件的星成像光斑通常会小于设计的成像窗口的大小.

基于上述干扰噪声和暗弱星的成像特点,以及星敏感器设计时候的成像光斑大小、运动角速率和曝光时间,可以设定星体成像大小的门限值,利用1.2节处理后的星图,统计每个星体像素的个数,若像素的个数大于该门限值,则保留该星体,若小于该门限值,则去除该星体.

例如在静态条件下,文中试验用的星敏感器成像光斑为2×2的像素大小,则门限可以设置为4;在角运动条件下,由于存在像移动,成像光斑则大于4个像素,具体的大小也跟曝光时间有关.

1.3星体质心坐标计算

星体提取的最终目的是提取星体质心,由于加权的质心法在工程应用中比较成熟,因此,本文选用该方法进行中心定位,如下式所示.

式中:f(xj,yi)为星体灰度值.

2 改进的像素标记算法

传统的像素标记算法是先对目标像素进行标记,记录等价的标记,然后再合并相同的星体.采用传统的像素标记法标记的星体如表4所示.而采用改进后的标记算法处理后的结果如表5所示,同一星体的标记值是唯一的.

表4 传统的星体的标记法

表5 改进的星体标记法

改进后的算法是在像素标记时,同时进行连通性分析,使得同一星体的像素,只分配一个标记值.下面对改进的像素标记算法分步骤作详细的阐述.

2.1像素标记

图像经过1.1节处理后,对星图f从上至下,从左至右逐行扫描.对当前被扫描像素灰度大于0的点按顺序作标记1,2,3,…,并将标记值和坐标保存在目标像素的信息表中,同时在标记的过程中要对每一个新像素的左、左上、上、右上4个像素的灰度值进行判断,若这4个像素均未被标记过,则新像素的标记值在上一个标记的基础上加1;若只有一个像素被标记过,则新像素的标记值等于被标记的像素的标记值;若有两个以上的像素被标记过,则首先判断这些标记是否有不相同的,若有不相同的,则再合并成同一标记值,并更新目标像素信息表,最后再标记新像素,并存储.

整幅图像中特殊的情况有:1)图像左上角的像素,无左、左上、上、右上4个相邻像素.2)图像第1行(最上行)的像素,只有左相邻像素;3)图像第1列(最左列)的像素,只有上和右上相邻像素;4)图像最后一列(最右列)的像素,只有左、左上、上3个相邻像素.

图像其余位置的像素均有左、左上、上、右上4个相邻像素,对于上述4种特殊情况,均看作也有同样的4个相邻的像素,对于缺少的相邻的像素,均看作该位置处的标记值为初始值0,这样就可以统一处理,便于编程实现.具体的标记过程如下:1)初始化像素标记gN×N为0;2)令起始标记值K为1;3)对图像f从左到右,从上到下进行扫描;4)对大于等于阈值的像素进行标记处理.

若f(i,j)小于阈值则继续扫描,若f(i,j)大于等于阈值,则依次判断左、左上、上、右上4个相邻像素的标记值:1)若上述4个相邻像素点灰度值均小于阈值,则当前像素标记值加1,即K=K+1,g(i,j)=K;2)如果4个相邻像素中只有一个像素点的灰度值大于0,则当前像素标记同该像素点的标记值;3)如果4个相邻像素中有m(1<m≤4)个像素点灰度值大于0,则首先按下文的方法进行星体关联性分析与合并处理,并更新目标像素信息表,然后再确定当前像素标值;4)将像素标记数值K、坐标和灰度值保存在目标像素信息表中,存储格式如表5所示.

2.2星体关联性分析与合并

目标按形状大体可以分为两种,凸形目标和凹形目标,用来进行关联性分析的判据有两种:四连通和八连通,凸形目标适合四连通,凹形目标适合八连通.

星敏感器的目标是星点经过离焦处理后在CCD像面上形成的光斑,是凸形目标,因此适合用四连通判距.

对星体目标像素标记时,若需要新标记的目标点○(i,j)的灰度值大于0,同时需要对表6中所示4个相邻像素的标记值作判断,若4个相邻像素中有m(1<m≤4)个像素点灰度值大于0,还需要首先对不同的标记值进行合并更新目标像素信息表.

目标点○与4个相邻像素的关系如表6所示,只需判断任意两个像素标记值是否不同,然后再合并,最后再标记目标点○.任意两个像素标记值出现不同的情况如表7所示,由于目标像素的标记值优先与左相邻像素的标记值相同,因此BC,CD不同的情况不会出现,只需分析处理编号1~3,5中标志不同的情况.按B与D、A与B、A与C、A与D的先后顺序判断,处理过程如下:1)若标志B与标志D不同,即g(i-1,j-1)≠g(i-1,j+1),则以位置(i-1,j+1)为起点,向右扫描,将所有与g(i-1,j+1)相等的标记值,更改为与g(i-1,j-1)相同的值.2)若A与B不同,即g(i,j-1)≠g(i-1,j-1),则以位置(i,j-1)为起点,向左扫描,将所有与g(i,j-1)相同的标记值,更改为与g(i-1,j-1)相同的值.3)若A与C不同,即g(i,j-1)≠g(i-1,j),则以位置(i,j-1)为起点,向左扫描,将所有与g(i,j-1)相同的标记值,更改为与g(i-1,j)相同的值.4)若A与D不同,即若g(i,j-1)≠g(i-1,j+1),则以位置(i,j-1)为起点,向左扫描,将所有与g(i,j-1)相同的标记值,更改为与g(i-1,j+1)相同的值.

表6 目标点O与4个相邻像素的关系

表7 需要合并的像素标记

3 试验结果

本文利用某星敏感器和DSP6416信息处理机搭建了算法验证的硬件平台,基本参数为:视场为10°×10°;感光芯片为CCD;像元数为512× 512;星等门限为6等星;精度为10″(1σ);主星表包含4238颗导航星.

3.1边缘检测+星体像素筛选的星体提取算法试验验证结果

星敏感器拍摄的一帧星图如图1所示,由图1可以看到,该星图背景干扰大,且不均匀.采用全局阈值算法分离出的星图如图2所示,其中6等星以内的观测星4颗,利用改进的三角形星图识别算法[11]进行识别,识别的结果:俯仰、偏航、横滚时姿态角分别为314.330 3°、41.861 6°、92.129 8°;观测星编号为0,1,2,3;导航星编号分别为3 689,3 762,3 787,3 744;星角距的平均误差为12.132 0″(1σ).而采用本文边缘检测+星体像素筛选算法分离的结果如图3所示,其中6等星以内的观测星15颗,星图识别结果:俯仰、偏航、横滚时姿态角分别为314.333 6°、41.864 6°、92.133 7°;观测星编号为0,1,2,3,4,6,7,8;导航星编号分别为3 689,3 762,3 787,3 744,3 792,3 715,3 730,3 797;星角距的平均误差为7.601 6″(1σ).因此利用该方法在强干扰条件下,分离出的观测星更多,便于后续进行星图识别和姿态确定.由于每个星体采用一个相应的自适应阈值,使星体的能量不会丢失,理论上星体坐标的精度会更高,星图识别结果也表明,本文的方法得到的星角距的平均误差更小,其中星角距的平均误差是根据匹配成功的观测星对角距和导航星对角距之间的误差得到.因此,本方法处理后星体提取的精度也有所提高.

图1 原始星图

图2 全局阈值法分离的星图

图3 本文像素标记方法分离出的星图

3.2改进的像素标记算法的试验验证结果

在同一平台上,对20幅外场试验拍摄的星图进行处理时,像素标记环节分别采用星体坐标关联性分析法和本文的像素标记方法进行处理,坐标关联性分析算法和本文的像素标记算法的平均运行时间分别为1.625、0.908 ms,速度提高了44.12%.因此,由于本方法在每个像素标记之间先进行连通性分析,使得每个像素只分配一个标记值,一次标记即可区分不同的星体,处理效率高、算法简单,试验结果也表明其运算速度更快,直接可以提高星敏感器的更新频率.在高动态条件下,便于提高姿态确定和控制的精度.

4 结 论

1)鉴于在强干扰条件下,星图的信噪比降低,传统的基于全局阈值分割的星图提取方法提取星体受限,不利于在各种复杂的环境下使用星敏感器,限制了星敏感器的应用,提出了一种边缘检测+星体像素筛选星体提取方法,该方法首先利用边缘检测算法,检测出星体,然后再用自适应阈值算法,筛选出星体的有效像素.试验结果表明在强干扰条件下,该方法比全局阈值分割方法分离星体更多,抗噪声干扰的能力更强.

2)对像素标记算法进行了改进,提出在对一个目标像素标记的前,首先进行连通性分析,给出了具体的算法,使得每个星体只分配一个标记值,有效提高了星体标记的效率,且算法更简单,便于工程应用.

3)通过对其中的像素标记算法进行改进,结果表明,改进的方法对强干扰噪声具有更好的鲁棒性、精度也有所提高,且运算速度更快,便于在线处理,具有一定的工程应用价值.

[1]刘垒,张路,郑辛,等.星敏感器技术研究现状及发展趋势[J].红外与激光工程,2007,36(增2):529-533.[2]李学夔,郝志航,李杰,等.星敏感器的星点定位方法研究[J].电子器件,2004,27(4):571-574.

[3]KALENTEV O,RAI A,KEMNITZ S,et al.Connected component labeling on a 2D grid using CUDA[J].Journal of Parallel and Distributed Computing,2011,71(4):615-620.

[4]田睿,郝志成,吴川.利用动态链接表的二值图像目标区域分割[J].红外与激光工程,2011,40(2):344-349.

[5]SUZUKI K,HORIBA I,SUGIE N.Fast connected⁃component labeling based on sequential local operations in the course offorward raster scans followed by backward raster scan[C]//Proceedings of 15th International Conference on Pattern Recognition.Barcelona,Spain:The Institute of Electrical and Electronics Engineers,2000:434-437.

[6]HE Lifeng,CHAO Yuyan,SUZUKI K,et al.A run⁃based two⁃scan labeling algorithm[J].IEEE Transactions on Image Processing,2008,17(5):749-756.

[7]徐正光,鲍东来,张利欣.基于递归的二值图像连通域像素标记算法[J].计算机工程,2006,32(24):186-188.

[8]蔡喆,邓年茂.单星星图细分定位算法的研究[J].计算机仿真,2006,23(3):34-36.

[9]张辉,袁家虎,刘恩海.CCD噪声对星敏感器星点定位精度的影响[J].红外与激光工程,2006,35(5):629-633.

[10]李葆华,刘国良,刘睿,等.天文导航中的星敏感器技术[J].光学精密工程,2009,17(7):1616-1620.

[11]踪华,高晓颖,汪渤.一种三角形星图识别算法的改进与实现[C]//第33届中国控制会议论文集.西安:中国自动化学会控制理论专业委员会,2013:5182-5186.

(编辑魏希柱)

Method of star extraction on strong interference

ZONG Hua1,2,3,GAO Xiaoying3,WANG Bo1,WANG Hailuo1,LI Lei3
(1.School of Automation,Beijing Institute of Technology,100081 Beijing,China;2.National Key Laboratory of Science and Technology on Aerospace Intelligent Control,100854 Beijing,China;3.Beijing Aerospace Automatic Control Institute,100854 Beijing,China)

To solve the problem of star extraction on the condition of strong interference,a star extraction method based on edge detection+selection for star pixels was proposed in this paper.An edge detection algorithm to segment the star image is first utilized,and then each pixel is marked.Finally,self⁃adaptive threshold to select the object pixels of each star is used.Also,the pixel labeling algorithm is improved,and before the pixel of targetis labeled,the connectivity of its neighbors is examined so that all ofthe pixels of the same star only have one mark and the processing efficiency of star image is improved.Experimental results show that the method has better robustness to strange interference,higher speed and accuracy.The improved method can distinguish sensed stars more quickly,and may be more convenient for engineering applications.

star extraction;edge detection;self⁃adaptive threshold;pixel labeling;connectivity

V488

A

0367-6234(2014)08-0113-05

2013-06-23.

总装仿真专业组资助项目(51304030106).

踪 华(1978—),女,工程师.

踪 华,zonghua3@sina.cn.

猜你喜欢

星图星体灰度
讲给孩子的航天发展故事(6) 被英国人骗走的敦煌星图
采用改进导重法的拓扑结构灰度单元过滤技术
星图上非线性分数阶微分方程边值问题解的存在唯一性
星体的Bonnesen-型不等式
凸体与星体混合的等周不等式
第十四章 拯救地球
诗意联结 水漾星图——上海龙湖·星图美学展示中心
基于最大加权投影求解的彩色图像灰度化对比度保留算法
一种基于联合变换相关的PSF估计方法*
基于灰度线性建模的亚像素图像抖动量计算