星点图像的目标提取算法研究

2010-03-24 13:41原玉磊张文郎
海军航空大学学报 2010年6期
关键词:星点搜索算法边界

原玉磊,席 靓,张文郎

(1.信息工程大学 测绘学院,郑州 450052;2.海军航空工程学院 科研部,山东 烟台 264001;3.国家测绘局第四地形测量队,哈尔滨 255020)

在星敏感器获取的CCD 星空图像处理中,快速准确提取星点目标是进行星点中心亚像素细分及星图匹配的前提。从图像中提取目标的一般方法是基于扫描的边界搜索法,但边界搜索法只能获取目标的边界像素。对于灰度重心法、曲面拟合法等提取星点目标的亚像素中心算法来说,还需要提取目标区域内的每一个像素。一般的思路是边界搜索后,采用连通域判别法进行图像标记,但是这种标记法计算量比较大,对于凸区域的目标,本文提出了通过判断边界像素最大最小行列数来确定目标的区域。针对大视场星点图像目标范围小、目标间距离远的特点,为进一步减小计算量,提出了基于视框范围的搜索法。

1 基于边界搜索的目标提取算法

1.1 单个目标的边界搜索算法

边界搜索算法是在根据目标提取阈值搜索到图像中第一个属于目标的像素点之后,若该像素点属于目标的边界点,继续搜索该像素点的邻近像素,以期找到下一个目标边缘点,直到与第一个目标边界点重合,从而完全找出目标的边界。

为了便于提取边界,对数字图像像素间相互关系作如下分析。如图1所示,中间的黑色像素为目标像素,其周围与其有公共边界和共享顶点的像素共有8个,为8邻点像素。为便于分析,对这8个8邻点像素进行编号,黑色像素左上方的像素为1号8邻点,左侧像素为2号8邻点,依此类推,以逆时针的顺序分别对8个8邻点像素进行编号。

图1 像素8邻点位置关系

找到目标区域的第一个像素之后(此像素为边界点),分别对其8个8邻点像素按照编号进行判断,找出第一个属于该星体区域的8邻点像素,以该像素作为新的边界点,对其8邻点像素进行判断,从而找出新的边界点,直到与第一个边界点重合为止。具体实现算法如下:

1)按照从左到右、从上到下的顺序搜索图像,对每一个像素进行判断,找出第一个属于星体区域S的像素点 s (k)=(x (k),y (k)),k=0;

2)用c表示当前边界上被跟踪的像素点。置c=s (k),记c左8邻点为b,b ∉ S;

3)按逆时针顺序记从b 开始的c的8个8邻点像素分别记为n1,n2,…,n8,k=k+1;

4)从b 开始,按逆时针顺序找到第一个 ni∈ S;

5)置 c=s (k)=ni,b=ni−1;

6)重复步骤3)、4)、5),直到s (k)=s(0)为止。

图2所示为图中黑色区域边界提取的顺序。

图2 边界提取顺序

1.2 目标区域提取算法

目标边缘像素其实就是目标区域的边界。因此,在已知目标边缘像素的条件下,要获取目标的确切区域,可以采用如下思想:根据边缘像素坐标,判断出目标区域的最大行数和最小行数,然后判断目标区域中的每一行中目标区域的最大列数和最小列数,从而确定具体的目标区域。

判断目标区域的最大最小行数的算法流程图如图3所示。

图3 判断目标区域最大最小行数的流程图

图3中,max为区域的最大行数;min为区域的最小行数;lin为图像的行数;G (i,j)为边缘像素,像素坐标为i行、j列。程序结束后的max和min值即为目标区域的最大行数和最小行数。

判断区域每一行的最大列数和最小列数的算法流程图如图4所示:

图4 判断目标区域每一行的最大最小列数流程图

图4中,Maxli为目标区域第i行的最大列数,Minli为目标区域第i行的最小列数,i=Min,Min+1,…,Max;G (i,j)为边缘像素,像素坐标为i行、j列。

判断出目标区域的最大行数和最小行数以及每一行的最大列数和最小列数后,就确定了目标的具体区域,可以提取出目标区域中的每一个像素进行后续处理。

1.3 多个目标的区域提取算法

上述算法是针对整幅图像中只有一个目标的情况,而如果图像中有多个目标,则仅使用上述算法无法区分不同的目标。一种可行的方法是在搜索到一个目标后,将该目标区域内的所有像素都设置低于提取阈值的灰度值,然后再进行全图搜索下一个目标。由于前一个目标区域内像素灰度值经过重新赋值都低于提取阈值,就不会影响下一个目标的搜索。

按照1.1 介绍的边缘搜索算法提取出一个目标后,再按照1.2 介绍的区域提取算法确定目标的区域,提取出目标区域中的每一个像素,将其灰度值赋一个比提取阈值小的值,这样就可以避免下次搜索时再对该目标计算。然后再对图像进行边界搜索,以提取下一个目标的边界。

2 基于视框搜索的目标提取算法

而如1.2 中所述的目标区域提取算法,需要对目标的每一个边缘像素进行多次的判断,计算量非常大,耗时长,无法满足图像处理的实时性要求。为了减小计算量和计算时间,实现对目标的实时提取和处理,本文针对星点图像的特点,提出了可用于星点图像目标提取的视框搜索算法。

图5为实际拍摄的星空图像。图中的星点目标所占的区域都非常小,而且不同目标之间的距离相对比较远,远大于目标的大小。因此可构造一个视框,通过在图像中移动视框来搜索目标。这样对像素的判断处理只在视框内进行,缩小了判断范围,减小了计算量。该视框要能够将整个星点目标包含进来,而且只能包含一个目标,如果有其他目标的像素进到视框中,必然对主要目标的提取产生影响。

图5 实际拍摄的星空图像

2.1 单个目标的视框搜索算法

与边界搜索算法不同,当在图像中搜索到第一个属于目标区域的像素点(该像素点必然是目标区域的边界点)之后,不是按照8 邻域逐一搜索法搜索紧邻的下一个边界点,而是以该像素点为中心,构造一个视框,然后对该视框内的每一个像素判断其灰度值是否属于目标区域,如果是,就直接将其提取出来。

如图6所示,当在图像中搜索到第一个属于目标区域的像素点1点之后,以1点为中心构造虚线所示的视框,该视框可以将整个目标区域包含于其中,然后对视框内部的像素进行判断。

图6 视框搜索算法原理

2.2 多个目标的视框搜索算法

对于图像中多个目标的视框搜索算法,可以采用1.3 所述的思路,即提取出一个目标后,将该目标区域内的所有像素灰度赋一个低于目标提取阈值的值,这样在下一次全图搜索下一个目标时,就会将该目标忽略,从而实现对下一个目标的正确提取。

由于当前搜索的目标其区域完全在构造的视框内,因此只需对视框内的所有像素灰度置一个低于目标提取阈值的值就可以了,不需要再使用1.2 所述的目标具体区域确定算法,因而计算量大为减小。

2.3 视框大小的确定

对于基于视框搜索的目标区域提取算法来说,关键是确定视框的大小。需构造视框的大小一旦确定,就可以使用该视框迅速实现对全图的搜索。

视框大小的确定有两个原则:

1)足够大,要能将全图中最大的目标包含在内,否则对大目标的所有区域无法正确提取;

2)不能太大,不能大于全图中距离最近的两个目标的中间矩形区域,不然将对近距离目标区域的提取带来粗差。

因此视框的大小应根据不同的星图来确定。

对于一般星光条件下拍摄的星图,星点图像均近似圆形或椭圆形,星点图像所占一般不超过50个像素,而星点间的距离都在10个像素以上,因此采用10×10像素的视框即可正确提取目标。

3 运算时间分析

为了比较基于边界搜索的目标区域提取算法与基于视框的目标区域提取算法的计算量,本文对不同个数的星点图像,分别使用基于边界搜索的算法和基于视框搜索的算法提取该星点的区域,并计算出区域提取程序的运行时间,如图7所示。经过多次实验,基于边界搜索的目标提取算法和基于视框的搜索算法在没有目标的情况下对全图的搜索时间近似相同,分别为0.134 73 s和0.134 41 s。而计算平均一个目标的搜索时间,基于边界搜索的目标提取算法为0.123 137 s,而基于视框搜索的目标提取算法为0.031 132 s(采用大小为10×10像素的视框)。由此可见,基于视框搜索的目标提取算法在星点目标区域提取的计算量上比基于边界搜索的目标提取算法减少了3/4。

图7 不同目标个数图像两种算法的计算时间

4 结束语

本文为实现星点图像中星点目标区域像素的提取,提出了两种目标区域提取算法。第一种是对边界搜索算法的扩展,在搜索出目标的边界之后,根据目标边界像素的坐标确定出目标区域的具体位置,从而提取目标区域像素;第二种专门针对星点图像的目标提取,根据星点图像目标范围小、目标间距离大的特点,提出了基于视框搜索的目标提取算法。基于边界搜索的目标区域提取算法可应用于一般图像的目标区域提取,但计算量要比基于视框搜索的目标提取算法大。而基于视框的算法计算量小,但是只适合于类似星点图像的目标区域提取。

[1]贾云得.机器视觉[M].北京∶科学出版社,2000∶33-46.

[2]原玉磊.三维激光扫描及其应用技术研究[D].郑州∶解放军信息工程大学测绘学院,2009.

[3]田金文,欧阳桦,郑胜,等.一种星图中星的提取方法[J].华中科技大学学报∶自然科学版,2005,33(4)∶38-40.

[4]王洪涛,罗长洲,王渝,等.基于背景自适应预测的星点提取算法[J].光学技术,2009,35(3)∶412-414.

[5]林建粦,马德宝.基于二值化差分的CCD 星图快速定位方法[J].解放军信息工程大学学报,2009,10(9)∶376-378.

[6]陆敬辉,王宏力,郑佳华,等.一种改进的星图中星提取方法[J].传感器与微系统,2008,27(6)∶31-33.

[7]王洪涛,罗长洲,王渝,等.一种改进的星点质心算法[J].光电工程,2009,36(7)∶412-414.

[8]沈本剑,刘海波,贾辉,等.CCD 温度对星敏感器星点定位精度的影响[J].空间控制技术与应用,2009,35(6)∶36-40.

[9]李德良,阮锦.一种适用于星敏感器的星点提取方法[J].红外与激光,2009,39(12)∶1348-1350.

[10]刘海波,谭吉春,沈本剑,等.像差对星敏感器星点定位精度的影响[J].光学技术,2009,35(3)∶471-473.

猜你喜欢
星点搜索算法边界
一种基于分层前探回溯搜索算法的合环回路拓扑分析方法
守住你的边界
拓展阅读的边界
探索太阳系的边界
改进的非结构化对等网络动态搜索算法
改进的和声搜索算法求解凸二次规划及线性规划
高动态条件下星点像斑建模与补偿*
意大利边界穿越之家
一种强散射杂光下的快速星点提取算法
基于卷积曲面的动态实时星图模拟