牛海鹏, 颜昌翔, 王一霖, 管海军,3, 王超,3, 邵建兵*
(1.中国科学院 长春光学精密机械与物理研究所, 吉林 长春 130033;2.中国科学院大学, 北京 100049;3.长春长光智欧科技有限公司, 吉林 长春 130033)
随着航天技术的发展,空间中出现越来越多的在轨航天器及空间碎片,对空间环境造成严重威胁。空间监视可探测到对航天系统构成威胁的目标,确定目标尺寸、形状、轨道参数等重要目标特性,从而指导航天系统进行规避[1]。天基探测具有在轨运行不受气象影响、机动灵活、全天候工作等优点,逐渐成为当今研究热点[2]。天基相机视场大、观测距离远,获取的图像目标数量众多。弱小目标与恒星相比,呈现出低信噪比、低亮度和小尺寸的特点,在成像系统上所占像素点较少。一方面,受空间杂散光和空间辐射影响,星图背景复杂,弱小目标极容易淹没在复杂背景中;另一方面,由于大量成像系统噪声和背景噪声的存在,在检测过程中会造成虚警现象。
为了解决这些问题,研究人员提出了许多方法。通常利用局部信息进行小目标检测,常用的局部信息目标检测方法有背景估计法、形态学方法和局部对比度法等[3]。背景估计法通过计算图像的背景信息,将得到的背景信息从图像中分离后获取目标。杨卫平等提出的中值滤波差分法[4]通过设计滤波窗口,窗口遍历图像时将中心点像素灰度值用窗口内像素灰度均值代替获得背景图,将原始图像与背景图差分后获得目标。Deshpande[5]等人提出的最大中值法(Max-median)在滤波窗口内划分了多个方向,使算法更好地适应背景边缘的变化。杨杰[6]等人提出的二维最小均方差(Two Dimensional Least Mean Square,TDLMS)法可实现自适应背景估计,使算法在检测精度上有了进一步的提升。形态学方法是一种非线性滤波方法,通过设计与目标相适应的结构窗口,利用窗口遍历图像,对窗口内采取腐蚀和膨胀等操作达到抑制背景识别目标的效果。白相志[7]等人改进了传统形态学Top-hat的结构窗口,将结构窗口设计为中心和周围区域,使算法能够更好地捕捉目标和背景,更适用于小目标的检测。丁鹏[8]等人提出了一种结合形态学和Canny算法的红外弱小目标检测算法,将Top-hat法去除背景干扰能力和Canny法检测边缘能力进行结合,取得了良好的目标检测效果。徐泽明[9]采用两个大小不同的结构窗口,使算法在去除星图背景时避免了目标丢失。近年来,基于人类视觉系统(Human Visual System, HVS)[10]的目标检测算法被许多相关学者提出。局部对比度方法通过设计对比度计算窗口,计算窗口内中心区域与周围区域的对比度,利用目标与背景区域的对比度差异实现目标的检测。Chen[10]等提出的局部对比度方法LCM(Local Contrast Measure)通过设计两层对比度窗口对低对比度的背景区域进行抑制,完成对目标的检测。此后,许多学者分别在LCM方法的基础上进行了改进。在对比度的计算上,韩金辉等提出的ILCM (Improved LCM)算法[11]以及相对局部对比度(Relative LCM,RLCM)算法[12]都结合了对比度差值计算的思想,使算法达到了同时增强目标和抑制背景的效果。段思韦等提出的SWLCM(Spatial Weight Local Contrast Measure)算法[13]和韩金辉等提出的WSLCM(Weighted Strengthened Local Contrast Measure)算法[14]都在对比度计算时对窗口内不同位置的子窗口进行加权,使算法可以更好地适应图像背景边缘的变化。在对比度窗口的设计上,潘胜达等提出的DLCM(Double-layer Local Contrast Measure)算法[15]和韩金辉等提出的3层窗口的比差联合对比度算法[16]都使用单尺度对比度计算窗口,解决了不同尺度小目标的检测问题,使算法在检测目标尺寸未知时鲁棒性更强。
然而,在以上目标检测方法中,背景估计法和形态学方法的检测效果非常依赖算法窗口设计,星图中目标尺寸变化范围较大,采用单尺度窗口无法适应目标,采用多尺度窗口又会导致算法耗时大幅增加。同时,背景估计法和形态学方法在目标分割时均采用灰度阈值分割,受高亮度背景和恒星的影响,阈值设定得过高或过低会出现弱小目标漏检或噪声残留问题。局部对比度方法可通过设计单尺度窗口解决多尺度目标的检测问题,具有一定的优越性。但是,目前的局部对比度方法大多将研究重点放在对比度窗口的设计和对比度的构造上,对对比度计算前和对比度计算后的重视不足,导致算法耗时长或噪声去除效果不佳。
本文根据以上研究方法的不足,提出了一种基于快速局部对比度和目标特征的目标检测方法,通过在传统对比度方法的对比度计算前和对比度计算后的改进,提高了算法实时性、解决了噪声去除难题。在对比度计算前,使用中值滤波去除部分高频噪声,使用快速局部极大值滤波确定目标候选区域,使后续的对比度计算只在目标候选区域进行,节省计算时间;在对比度计算中,采用3层对比度计算窗口进行背景抑制,突出目标成像特征;在对比度计算后,根据目标成像特征,建立目标能量分布特征、目标能量集中特征和目标能量传递特征函数,设定特征阈值,进一步去除噪声,提取真实目标。
文献[16]算法是近年来提出的目标检测算法,由于算法中采用3层结构窗口,可以通过单尺度窗口解决多尺度目标检测问题,并且算法中构造的比差联合对比度可以很好地适应边缘背景变化,是本文算法的基础之一。
该算法设计的窗口如图1所示,共包含5×5个子窗口,每个子窗口大小为3×3,中心层窗口T用于计算目标信息,中心层T周围的8个子窗口IB1~IB8为中间层,用于隔离目标与背景,最外层16个子窗口OB1~OB16用于计算背景信息。
图1 3层对比度计算窗口Fig.1 Three-layer contrast calculation window
为了避免当目标靠近背景边缘时,高亮度背景对目标对比度计算结果的影响,在最外层子窗口中选择与中心层灰度最接近的窗口作为背景值,背景的计算过程如式(1)所示:
其中:(i,j)表示当前像素点的坐标,Imf表示中心层的灰度均值,mOBn表示第n个(共16个)最外层窗口的均值,B表示最终得到的背景值。
接着,构造了比差联合对比度,如式(2)所示,通过计算中心层与背景层的对比度差异,实现对背景的抑制和目标的增强,式中ξ是为了避免分母为0的情况出现,取值为10。
考虑到目标一般比周围邻域背景亮,本文引入了非负约束,最终对比度计算公式为:
使用该窗口遍历图像所有像素点,计算对比度结果,认为真实目标最为突出,通过设置自适应对比度阈值提取真实目标。
从文献[16]所提算法的计算过程可以看出,该算法在用于星图空间目标检测中存在以下问题:
(1)该算法构造的多层比差联合对比度窗口计算复杂,由于星图尺寸较大,若整幅图像遍历计算,很难满足算法的实时性要求。
(2)该算法在目标分割时采用自适应对比度阈值,星图中复杂背景噪声与弱小目标具有相似性,对比度阈值无法有效区分目标和噪声,会使图像中出现大量虚警。并且星图中存在大量恒星和多个空间目标,采用自适应阈值时,高对比度响应的恒星和空间目标会使阈值偏高,造成低对比度响应目标漏检的情况。
针对上述问题,本文提出了一种基于快速局部对比度和目标特征的目标检测算法,该算法利用目标的显著性和成像特征实现背景抑制和噪声去除,具有较高的检测率和较低的时间消耗,算法流程图如图2所示。首先,在对比度计算前,采用中值滤波去除部分噪声,采用快速极大值滤波筛选目标候选区域,确保后续对比度计算只在目标候选区域进行,提升算法计算速度;接着,在对比度计算中,设计了3层对比度窗口,对复杂背景进行抑制,突出目标的成像特征;最后,建立归一化目标成像特征函数,通过目标能量分布、目标能量集中和目标能量传递3个特征阈值去除噪声,提取真实目标。
图2 本文算法流程图Fig.2 Algorithm flow chart of this paper
本文采用了文献[16]所提算法中构造的比差联合对比度。由于星图尺寸较大,且大部分为灰度变化缓慢的背景区域,采用对比度遍历计算严重浪费时间。人类视觉系统在处理较大范围信息时具有快速分析能力,可快速提取部分有用信息以避免对信息的全局处理[17]。因此,本文通过在对比度计算前对图像使用中值滤波和快速局部极大值滤波,去除部分噪声和平滑背景区域,完成对有用信息的提取即获得目标候选区域,使得后续的对比度计算可以只在目标候选区域进行,减少算法的存储量和运算量,节省时间。
3.1.1 中值滤波
为了减少噪声对目标检测产生的干扰,本文采用中值滤波的方法对图像进行平滑处理,中值滤波公式如式(4)所示:
其中:src(x,y)为原始图像,fm(x,y)为滤波后的图像,Dmed为中值滤波区域,本文设置的滤波窗口大小为3×3。
3.1.2 快速局部最大值滤波
通常目标中心能量为局部最大值,因此,使用滑动窗口遍历图像,当窗口中心像素点的灰度值为窗口内灰度最大值时,则可认为该区域为目标候选区域。局部最大值滤波确定目标候选区域fp(x,y)的计算公式如式(5)、式(6)所示:
其中:fp(x,y)表示以像素点(x,y)为中心的窗口区域;Dm表示窗口大小,Dm的大小取决于两个目标间的最小距离,为了避免过多的虚警,同时保持较高的灵敏度,Dm设置为5×5;Fmax(x,y)表示目标区域内灰度最大值;Fmin(x,y)表示目标区域内灰度最小值;阈值th的值取0,目的是排除灰度变化为0的区域。
由于已经确定了目标候选区域,无需对图像使用遍历对比度计算,另外为了适应星图中更多尺寸的目标,对文献[16]的对比度计算窗口进行了改进,设计了可定位目标候选区域中心的3层对比度计算窗口。
本文的对比度计算窗口如图3所示。该窗口共包含7×7个子窗口,每个子窗口大小为3×3,红色中心层窗口中的小窗口T用于定位目标区域中心即灰度最大值处,中心层周围的24个黄色子窗口IB1~IB24表示内层区域,用于计算目标信息,最外层24个蓝色子窗口OB1~OB24用于计算背景信息。
图3 本文对比度计算窗口Fig.3 Contrast calculation window in this paper
对比度计算过程同章节2,最终目标候选区域F(x,y)的计算公式如式(7)所示:
空间相机探测范围广,获取的星图尺寸较大,星图中的大量恒星、目标和噪声灰度差异较大,若在对比度计算后直接采用自适应对比度阈值分割的方法,高响应的恒星、目标和噪声区域会导致分割阈值偏高,造成低响应的弱小目标丢失或大量噪声残留。因此,本文在对比度计算后,针对不同目标对比度响应不同的问题进行了归一化处理,并提出了目标特征阈值分割的方法,根据目标成像特征差异去除噪声。
3.3.1 归一化
为了解决不同灰度、不同信噪比的目标对比度计算结果响应不同的问题,本文引入了归一化思想,对目标区域F(x,y)进行归一化得到Fnorm(x,y),并设置归一化高斯核作为目标特征计算的比较标准。目标区域归一化计算公式如式(8)、式(9)所示:
其中:Fsub(x,y)为原始图像区域,(xi,yi)为图像第i个候选目标区域中心坐标,k为目标候选区域大小,Fnorm(x,y)为归一化后的候选目标区域。
高斯核归一化计算公式如式(10)~(12)所示:
其中,x0、y0、δk决定了高斯核的大小。
3.3.2 目标成像特征阈值分割
由于星图中噪声随机分布,而目标具有如下成像特征:
(1) 目标能量分布近似符合二维高斯分布;
(2) 目标能量大部分集中在目标中心及其周围少部分的像素范围内;
(3) 目标能量从中心向四周扩散,逐渐减小。
本文根据这3条特征分别建立目标能量分布特征函数、目标能量集中特征函数和目标能量传递特征函数,计算目标候选区域的特征符合程度,通过阈值将不满足条件的噪声区域进行去除,提取真实目标。
(1) 目标能量分布特征函数
目标能量分布近似符合二维高斯分布,该特征表示了目标的能量分布。本文采用模板匹配的思想,将高斯核作为匹配模板,将目标区域进行模板匹配,计算目标区域和模板的相似度ER,并用其表示目标的能量分布特征,其中相似度ER的计算公式如式(13)~(15)所示:
其中:ER(x,y)表示像素点(x,y)处的相似度,T'(x,y)和I'(x,y)表示目标信息和模板信息。
(2) 目标能量集中特征函数
目标能量大部分集中在目标中心及其周围少部分的像素范围内,该特征表示了目标的能量集中度,因此可以通过计算目标能量集中度描述这一特征。定义EC为目标能量集中度函数,EC的计算公式如式(16)、式(17)所示:
其中,S表示靠近目标中心的范围。
(3) 目标能量传递特征函数
目标能量从中心向四周扩散且逐渐减小,该特征表示了目标的能量传递,而图像梯度可以表示图像的灰度变化,所以引入梯度表示目标的能量传递,一个点的梯度计算公式如式(18)~(21)所示:
其中:Gx为水平方向梯度,Gy为竖直方向的梯度,ϕ(x,y)为梯度方向。定义ET为目标的能量传递特征函数,其公式如式(22)~(24)所示:
其中:ϕk(x,y)表示归一化高斯核的梯度方向,ϕdiff(x,y)表示目标区域与高斯核的梯度差异,N代表目标区域像素个数。
(4) 阈值设定
阈值的设定依据为目标的成像特征。考虑到实际星图中目标很难达到理想成像的情况,所以设定了宽松的阈值范围:TER=0.5~0.7,TEC=0.70~0.9,TET=0.4~0.6,即目标区域应满足:(1) 50%~70%以上的像素点符合二维高斯分布;(2) 70%~90%的能量集中在中心区域;(3) 40%~60%以上的像素点具有正确的能量传递。
对于不同的星图,可在星图中加入特定信噪比的仿真目标,利用特征函数自动计算得出阈值区间,对本文给出的宽松阈值区间进行调整。
当目标候选区域同时满足3个阈值条件时,即ER>TER、EC>TEC、ET>TET时,F(x,y)被判断为真实目标。
为了验证本文算法的有效性,进行了真实星图实验验证,所使用的数据为中国科学院大视场4.8°光学望远镜所拍摄的图像数据,实验平台和星图如图4所示。
图4 实验平台(a)和星图(b)Fig.4 Experimental platform (a) and star map (b)
实验中所用到图像序列为不同天空区域拍摄的序列,包含210、70和20张图像,从其中选取7个不同信噪比的典型目标,并取目标80×80像素区域组成新的图像序列。所有实验均在一台2.70 GHz英特尔酷睿i7-12700H处理器、内存(RAM)为16 GB的个人电脑上运行,所使用的测试软件为PyCharm Community Edition 2022.1.2。
通常可用目标的信噪比SNR描述目标的显著性,其计算公式为:
引入接受者操作性能(Receiver Operating Characteristic,ROC)曲线进一步展示算法的有效性。通过计算算法的检测率(True Positive Rate,TPR)和虚警率(False Positive Rate,FPR),以虚警率为横轴,检测率为纵轴绘制ROC曲线。其中检测率TPR和虚警率FPR的定义分别为:
当虚警率一定时,检测率越高,说明算法的检测效果越好;同理,当检测率一定时,虚警率越低,说明算法的检测效果越好。在ROC曲线中则表现为,曲线越靠左上,算法的性能越好。
将本文所提方法用于星图实验验证,各阈值设定为:TER=0.55,TEC=0.8,TET=0.5。算法检测结果如图5所示,图中空间目标由红色矩形框标记,恒星由蓝色圆形标记。
图5 算法处理效果图。(a) 原始图像; (b) 目标区域灰度三维图;(c) 原始目标灰度图; (d) 中值滤波后;(e) 本文算法处理后。Fig.5 Effect of algorithm processing. (a) Original image; (b) Grayscale 3D image of the target area ;(c) Original target grayscale image; (d) Median filtered; (e) Processed by the proposed algorithm.
为了进一步验证所提算法的有效性,将其与DLCM[15]、ILCM[11]、SWLCM[12]、RLCM[13]和文献[16]方法共5种经典人类视觉系统目标检测算法进行了对比。实验使用图5(a)中相同的3幅图像,各算法的检测结果如图6所示,其中,空间目标由红色矩形框标记,恒星由蓝色圆形标记,其余未标记的白色部分为虚警。从检测结果可以看出,本文所提方法能成功检测所有目标,无虚警现象。其他对比方法可以检测到处于一定信噪比的目标,受图像中高亮度恒星和噪声干扰,由于都采用自适应对比度阈值分割,出现了目标漏检的情况,并且还将某些对比度计算结果较高噪声区域识别为目标。
图6 不同方法检测结果。(a) Dlcm;(b) Ilcm;(c) Swlcm;(d) Rlcm;(e) 文献[16]方法;(f) 本文算法。Fig.6 Detection results of different methods. (a) Dlcm;(b) Ilcm;(c) Swlcm;(d) Rlcm; (e) Method of literature[16];(f) Proposed.
图7 不同算法的平均ROC曲线比较Fig.7 Comparison of average ROC curves of different algorithms
各算法对不同图像序列的检测结果如表1所示。可以看出,在不同情况下,随着目标信噪比的降低和目标周围环境的变化,其他5种算法的检测能力大幅下降。特别是当图像中包含大量高亮度恒星和非均匀的杂散光时,其他5种算法都采用自适应全局阈值分割,阈值受高响应目标影响较大,导致目标检测率下降较多。而本文算法采用了目标区域归一化和目标特征阈值分割方式,对复杂背景和高亮度恒星具有鲁棒性,所以具有较高的检测率。
表1 不同算法的检测结果比较Tab.1 Comparison of detection results of different algorithms
在算法时间消耗方面,局部对比度方法(DLCM[15]、ILCM[11]、SWLCM[12]、RLCM[13]和文献[16]方法)通过设计复杂的对比度计算窗口提升了算法的性能,但复杂的对比度遍历计算也大幅增加了算法运行时间。而本文方法在对比度计算前进行了目标候选区域的筛选,避免了后续对比度的遍历计算,极大地节省了算法时间消耗,与其他几种方法相比,具有明显的优势。
本文提出了一种基于快速局部对比度和目标特征的目标检测方法,算法分为对比度计算前、对比度计算中和对比度计算后3部分。在对比度计算前,采用中值滤波去除部分噪声,采用快速极大值滤波筛选目标候选区域,提高算法实时性;在对比度计算中,采用3层对比度窗口,抑制复杂背景并突出目标成像特征;在对比度计算后,设置目标成像特征函数,通过特征阈值去除噪声,提取真实目标。实验结果表明,本文算法对于信噪比为1.5的目标有95%的检测率,平均耗时仅为某些对比方法的1/30~1/6,相比于对比方法,在检测率和时间消耗上具有一定的优越性。算法满足星图空间目标检测算法鲁棒性强、实时性高的要求,适用于星图复杂背景下的快速目标检测,具有一定的工程指导价值。