矫腾章,胡玉新,吕鹏,张凯,台宪青
(1 中国科学院电子学研究所, 北京 100190; 2 中国科学院空间信息处理与应用系统 技术重点实验室, 北京 100190; 3 中国科学院大学, 北京 100049)
基于遥感图像的海上舰船目标检测与跟踪是遥感卫星对地观测的重要研究方向,在海上交通、海上搜救和作战指挥等方面具有重要作用。光学遥感图像清晰直观、细节信息丰富的特点,使其广泛应用于舰船检测与跟踪领域。视频卫星的出现使得卫星具备了连续观测能力,传统的舰船检测开始向检测后的持续跟踪转变。传统的卫星数据处理模式是在卫星获取数据后进行压缩,然后在有限的过境时间内将数据下传至地面,地面接收数据后再进行信息提取。然而,随着遥感图像分辨率的不断提升,需要下传的数据量随之增大,进而导致星地数据传输的时间大大增加,造成目标检测和跟踪的时效性降低。另外,数据下传至地面后处理的模式还受到数据传输带宽和卫星过境时间的限制,进一步增加了数据的时延。要解决上述问题,可以采用在轨数据处理的方式,在卫星上进行舰船目标的检测与跟踪。这样,就可以在有限的数据下传时间内,将数据处理结果下传至地面,从而提高目标检测和跟踪的时效性。
国外在轨处理技术已日趋成熟,并广泛应用在军事和民用领域。美国的EO-1卫星可在轨对感兴趣区域(region of interest,ROI)进行自动识别、变化检测以及云判识别,并剔除无效数据[1];德国的BIRD卫星实现了着火点在轨检测功能[2];法国Pleiades-HR星座可实现在轨辐射校正和几何校正等图像预处理操作,同时还具备在轨数据分析和目标特征提取能力[3]。中国在轨数据处理技术起步较晚,与发达国家之间有较大差距。因此,尽快建立能够满足在轨处理应用需求的海上舰船目标检测与跟踪方法,对充分发挥遥感卫星效能,快速检测、跟踪和识别海上舰船目标具有重要意义。
多目标跟踪是目标跟踪的一个重要分支。多目标跟踪根据目标获得方式可分为基于检测的跟踪(detection based tracking,DBT)和非基于检测的跟踪(detection free tracking,DFT)[4]。DBT需要在跟踪过程中对每一帧图像进行目标检测,对检测器的准确度有较严要求[5-6]。DFT是在第1帧标定目标后,不再对后续帧图像进行目标检测。因此,DFT无法跟踪第1帧之后出现的目标。目前,DBT已经成为多目标跟踪的主流方法,DBT实现多目标跟踪是将不同帧检测到的目标进行数据关联。Sittler[7]首先提出数据关联这一概念,目前常用的数据关联算法有最近邻(nearest neighbor,NN)数据关联、联合概率数据关联(joint probability data association,JPDA)和多假设跟踪(multiple hypothesis tracking,MHT)等[8]。NN数据关联方法比较简单,计算量小,缺点是抗干扰能力较弱,在目标密度或噪声干扰较大时容易造成关联错误。刘勇等[9]利用迭代最近点和全局最近邻算法实现静止轨道卫星目标点迹关联。JPDA能够处理多目标的情况,而且不需要任何目标和杂波的先验知识,能较好适应密集环境下的目标跟踪。苏骏等[10]在JPDA基础上,提出修正概率数据关联算法,实现水下多目标跟踪。MHT算法通过延迟判断关联航迹的方式,提高存在航迹交叉情况时的数据关联准确度,但是当被跟踪目标或干扰噪声密度增大时,计算复杂度呈指数增长。郭新民和吕鹏[11]采用概率多假设跟踪算法,对多个目标的“时间-距离-多普勒频率”数据进行数据关联,进而得到多目标的运动轨迹参数。
光学卫星对地凝视成像过程中,相机受卫星运动和姿态调整的影响会产生晃动,造成两帧图像之间存在数个像元的抖动,而在星上进行图像配准需要消耗大量计算资源。此外,针对同一目标不同观测角度的观测会造成不同帧之间辐射差异较大[12]。目前,地面数据处理需要对原始图像进行辐射校正、几何校正和视频稳像等复杂的图像预处理操作。然而,受到卫星体积、功耗的限制,星载数据处理平台计算资源有限,而对遥感序列图像进行在轨舰船目标的检测和跟踪需要综合考虑性能和复杂度。因此,无法将地面处理中的舰船目标检测和跟踪方法直接应用到在轨舰船目标的检测和跟踪中[13]。为满足在轨舰船目标检测和跟踪的准确性和实时性要求,结合光学遥感序列图像的特点,本文提出一种基于多特征量判别的Canny边缘检测和JPDA的在轨海上运动舰船多目标检测和跟踪方法。该方法利用多特征量判别的Canny边缘检测方法作为检测器,逐帧对光学遥感图像进行舰船检测,然后将检测结果利用JPDA算法关联到已确认航迹上,形成每个舰船目标的运动轨迹。最后,使用中国科学院微小卫星创新研究院提供的高分微纳卫星实测图像数据进行验证。实验结果表明,本文所提方法可以满足在轨对海上多运动舰船目标进行快速、准确的检测和跟踪需求。
目前,光学遥感图像舰船检测主要有以下3种方法:基于阈值分割的方法[14]、基于统计的方法[15]和基于分类的方法[16]。基于阈值分割的方法是目前使用最多的方法,该方法利用目标和背景的灰度差异实现目标的分割;基于统计的方法根据图像的灰度值的统计概率分布检测舰船;基于分类的方法利用机器学习的方式,通过提取舰船特征并构造分类器实现舰船的检测。
基于阈值分割的方法和基于统计的方法要求海面较为平静,且无法处理舰船内部灰度不均的情况;基于分类的方法需要大量的训练样本训练分类器,而舰船样本数量有限,无法满足训练需求。在高分辨率遥感图像中,海上舰船目标轮廓清晰,细节明显。因此,本文将边缘检测用于高分辨率光学遥感图像舰船检测。
边缘检测是图像处理中常用方法,可以提取物体的结构特征,常用的边缘检测算子有Sobel算子、Laplacian算子和Canny算子等。其中,Sobel算子适用于渐变图像,对边缘的定位精度不高;Laplacian算子是各向同性的,但是对噪声比较敏感。综上,考虑到高分辨率光学遥感图像中,海上舰船目标轮廓清晰、海面和云况较为复杂的特点,本文选择Canny算子进行边缘检测。
Canny边缘检测算法是由Canny[17]于1986年提出的,该算法能够准确地提取图像中物体的边缘。同时,实现简单,计算量小,是一种优秀的边缘检测算法。Canny边缘检测算法流程如下:首先,利用高斯滤波对原始图像进行降噪,高斯滤波器为G(i,j,σ),其中(i,j)为高斯滤波器对应点坐标,σ为高斯函数的标准差。高斯滤波的计算公式如下
(i,j)=F(i,j)⊗G(i,j,σ),
(1)
式中:F(i,j)为原始图像(i,j)处的灰度值,I(i,j)为滤波后图像(i,j)处的灰度值。然后,利用Canny算子计算图像上(i,j)坐标处的x方向偏导数Dx(i,j)和y方向偏导数Dy(i,j),进而求得梯度幅值M(i,j)和梯度方向θ(i,j):
(2)
θ(i,j)=arctan(Dx(i,j)/Dy(i,j)).
(3)
然后,对梯度边缘进行非极大值抑制,保留最准确的边缘。最后,利用双阈值法得到最终的边缘检测结果,阈值高于高阈值的点被判定为边缘点,阈值在高低阈值之间且与边缘点相连的点也被判定为边缘点,否则为非边缘点[18]。
多特征量判别的Canny边缘检测算法通过边缘检测提取的轮廓作为感兴趣目标,包含太阳耀斑、碎云和岛屿等虚警目标,利用感兴趣目标的连通域的面积、长度、紧致度、长宽比和质密度5个特征构建多特征判别器,剔除云和岛屿等虚警。其中,紧致度C的定义为目标边界长度l的平方与目标面积S的比值:C=l2/S。最小外接矩形的质密度D,质密度定义为连通区域最小凸多边形的像素个数n与连通区域最小外接矩形像素个数N的比值:D=n/N。
一个基于多特征量判别的Canny边缘检测算法对海上多运动舰船目标检测过程如图1所示。图1(a)为光学遥感卫星对海上运动舰船目标拍摄实测数据,从图中可以清晰地看到4艘不同尺寸的运动舰船目标。图1(b)为图1(a)使用多特征量判别的Canny边缘检测算法进行多运动舰船目标检测后的结果,从图中可以看出4艘运动舰船的轮廓被清晰检出。图1(c)为图1(b)进行多特征量判别后的运动舰船目标检测结果,从图中可以看出,尽管图像中有大量云的干扰,但是仍然准确检测出全部4艘运动舰船目标。
图1 基于多特征量判别的Canny边缘检测算法的 多运动舰船目标检测过程Fig.1 Multi-ship detection based on the multi-feature Canny edge detection algorithm
为了得到每个舰船目标的航行轨迹,需要将检测到的舰船目标位置与已有的轨迹进行关联。JPDA由Bar-shalom等人提出,被公认为是解决密集环境下多目标数据关联的最有效方法之一[19]。设PD是检测目标概率,Np表示第p个量测的数量,Nτ是轨迹数量,λ是错误量测密度,φ是杂波数量,ct是归一化常数,t为航迹编号,δt是二进制量,τp表示量测是否分配给某个航迹。根据落入跟踪门内的量测与目标预测位置之间的关系建立确认矩阵,计算落入跟踪门内的量测与目标预测位置之间的关联概率:
(4)
(5)
JPDA算法假设对目标的状态向量预测和量测向量预测分别为:
(6)
(7)
状态更新方程为
(8)
式中:v(k)是组合更新,K(k)为滤波器增益矩阵,可以得到
(9)
式中:vtp(k)是对轨迹t的第p个量测的更新,βtp(k)是位置量测p来自于目标t的概率,Np是量测数。
一个海上多运动舰船目标航迹的数据关联过程如图2所示。图2(a)展示的是3艘运动舰船目标在海上运动的航迹,图2(b)展示的是图2(a)中3艘运动舰船目标在海上运动的航迹经过JPDA关联后的结果。从该图可以看出,尽管3艘船的航迹存在交叉,但是依然可以正确关联,这是因为尽管3艘船的航迹在空间域存在交叉,但是航迹交叉并不发生在同一时刻,也即意味着在空间域数据上加入时间轴,即可看出3艘船的航迹在“X方向-Y方向-时间”的三维域上不存在交叉,如图2(c)所示。综上,由于JPDA算法具有优秀多目标数据关联性能,且计算复杂度适中,结合海上舰船目标航迹不会同时交叉的特点,本文在星上海面多运动舰船目标跟踪中采用JPDA算法进行航迹数据关联。
图2 基于JPDA算法的多舰船目标跟踪方法Fig.2 Multi-ship tracking method based on JPDA
经典的数据关联算法在多目标跟踪场景下的跟踪准确性已经在文献[20-22]中给出,本文不再赘述。本文对最邻近方法、联合概率数据关联方法和多假设跟踪算法的计算复杂度进行对比分析。3种方法的计算复杂度如表1所示。其中,Nk是k时刻的目标数,Mk是k时刻的量测数,Yk是k时刻的假设数,Bk是k时刻的分枝数,W是新航迹数,ε是比率内估计(estimation within ratio),η是比率内估计的概率(probability of estimation within ratio)。对比分析上述3种典型数据关联算法的计算复杂度公式,可以得到以下结论:1)NN算法的计算复杂度随着目标数和量测数线性变化;2)JPDA算法复杂度公式中,ε和η是两个固定常数,因此JPDA算法的计算复杂度随量测数Mk呈指数变化;3)MHT算法的计算复杂度主要随目标数、假设数和分枝数呈线性变化,可是假设数和分枝数都随量测数呈指数变化,很容易出现“组合爆炸”情况,占用大量计算资源。尽管MHT算法具有理论意义上的最优性能,但是MHT算法的主要优势体现在对航迹同时交叉的情况能够进行准确关联。然而,对于海面舰船跟踪场景而言,绝对不会出现航迹同时交叉的情况。因此,综合考虑跟踪性能和算法复杂度,本文采用JPDA算法进行海面多运动舰船目标跟踪和数据关联。
表1 不同数据关联方法的计算复杂度Table 1 Computational complexities of different data association methods
为了实现高分辨率光学遥感卫星在轨海上多运动舰船目标检测和跟踪,综合考虑检测、跟踪准确性,以及星上计算资源的限制,本文提出一种基于多特征量判别的Canny边缘检测和JPDA的在轨海上多运动舰船目标跟踪方法,其关键步骤如图3所示。
图3 基于多特征量判别的Canny边缘检测和JPDA的 多运动舰船目标检测和跟踪方法流程图Fig.3 Flow chart of multi-ship detection and tracking based on the multi-feature Canny edge detection and JPDA
所提方法关键处理流程包括:1)读取原始光学遥感图像数据;2)对遥感图像进行预处理,目的是提高图像质量,增加后续检测和跟踪准确性。由于遥感图像中的噪声类型主要是高斯噪声,因此,预处理过程主要任务是使用维纳滤波器对原始遥感图像中高斯噪声进行滤除;3)由于光学遥感图像上薄云的灰度变化较为平缓,边缘不明显,可以在边缘检测时滤除。虽然较厚的云层会被边缘检测算法检测出来,但是可以通过其形状特征对其进行判别,从而滤除。因此,在图像预处理后使用基于多特征量判别的Canny边缘检测算法进行舰船目标检测;4)使用JPDA算法对多舰船目标检测结果进行数据关联,得到多舰船目标运动航迹;5)最后,显示输出多运动舰船目标检测跟踪结果。
为了满足在轨条件下对多运动舰船目标的检测和跟踪需求,将本文所提方法在模拟星载的嵌入式开发平台上进行验证,将基于多特征量判别的Canny边缘检测方法中的Canny算子与Sobel算子和Laplacian算子对舰船边缘检测的效果进行对比,并利用该方法对不同质量图像的检测性能和主要参数进行实验验证,最后基于嵌入式GPU开发平台,对基于多特征量判别的Canny边缘检测方法进行优化。
本节利用本文所提方法对中国科学院微小卫星创新研究院提供的高分微纳卫星所拍图像进行处理,主要实验参数设置如表2所示。其中,W代表Canny算子内核尺寸,THlb代表Canny算子低阈值,THub代表Canny算子高阈值,Clb代表紧致度下界,Cub代表紧致度上界,Dlb代表质密度下界,Dub代表质密度上界。
高分微纳卫星是中国科学院微小卫星创新研究院研制的一颗低成本微纳卫星,轨道高度700 km,全色成像分辨率1.4 m,具有视频与5谱段多光谱成像能力,视频成像幅宽20 km×5.6 km。我们在原始遥感图像中截取2 571 pixel×1 081 pixel的数据,原因是截取后的图像中同时存在多艘运动舰船,并且存在云层干扰,可以更好地验证所提方法的性能。需要说明的是,该卫星采用推扫成像模式。经过预处理后的第1帧遥感图像如图4(a)所示,图中舰船的运动方向是自右上至左下,而卫星成像的推扫方向是自上而下。使用本文所提方法对该图像序列进行处理,多运动舰船目标检测结果如图4(b)所示。从图中可以看出,尽管存在云和舰船尾迹的干扰,但是仍然准确检测出6艘不同尺寸的运动舰船目标。
表2 主要参数设置Table 2 Main parameters
图4 预处理后的第1帧图像及其舰船目标检测结果Fig.4 The first frame image after preprocessing and the ship detection results based on the first frame image
图5(a)和5(b)分别是前8帧图像和全部13帧图像进行舰船目标检测和跟踪的结果。从图中可以看出,本文所提方法对全部舰船准确实现了检测和跟踪。此外,从第9帧开始出现在视场的航迹7,被准确地检测和跟踪,这说明本文所提方法对新航迹的起始也可以正常处理。
通过以上实验可以看出,本文所提方法能够对高分辨率光学遥感图像中海上多舰船目标实现准确地检测和跟踪。
为了对比Sobel算子、Laplacian算子和Canny算子在边缘检测中的性能和效果,本节对2.1节所用海面遥感图像序列分别使用3种算子进行边缘检测。其中,Sobel算子和Laplacian算子的内核尺寸均为3×3,Canny算子各参数见表2。实验环境为:Windows 7系统,CPU为Intel Core i5-2430 2.40 GHz,内存为4 GB。图6展示了3种算子对第1帧数据进行边缘检测的结果。其中,图6(a)是经过预处理后包含舰船目标的图像,6(b)是使用Sobel算子进行边缘检测的结果,6(c)是使用Laplacian算子进行边缘检测的结果,6(d)是使用Canny算子进行边缘检测的结果。通过对比可以看出,在当前实验条件下,与使用Sobel算子和Laplacian算子的边缘检测算法相比,Canny算子边缘检测算法拥有更加准确的舰船目标边缘检测能力,以及更加强大的抗噪声干扰能力。
图5 图像序列的舰船目标检测和跟踪结果Fig.5 The ship detection and tracking results based on the image sequence
图6 3种边缘检测算子对海面舰船检测结果对比图Fig.6 Comparison of ship detection results among three edge detection operators
进一步地,分别使用Sobel算子、Laplacian算子和Canny算子作为多特征量判别的边缘检测方法中的边缘检测算子,对全部13帧海面遥感图像序列的共计83个舰船目标进行舰船目标检测,分别统计每种边缘检测算子对应的检测目标数、虚警数、漏检数和每帧图像处理时间,统计结果如表3所示。从表3可以看出,Canny算子在检测目标数、虚警数和处理时间3个指标上都明显优
表3 3种边缘检测算子海面舰船检测结果Table 3 The result of ship detection using three edge detection operators
于Sobel算子,在检测目标数、漏检数和处理时间3个指标上都明显优于Laplacian算子。综合全部4项指标,本文使用的基于Canny算子的边缘检测算法在本实验场景中性能最好。
本节利用基于多特征量判别的Canny边缘检测方法对不同质量的图像进行舰船目标检测。由于光学遥感图像中存在的噪声主要是高斯噪声,因此本文在原始遥感图像上添加高斯噪声,原始遥感图像和添加不同强度高斯噪声后的第13帧图像如图7所示。图7(a)为原始遥感图像的第13帧;图7(b)~7(f)为原始遥感图像的第13帧在添加高斯噪声后的结果,它们的峰值信噪比(peak signal to noise ratio,PSNR)分别为30、28、25、22和20 dB。随后利用本文方法进行舰船目标检测,分别统计每种图像质量对应的检测目标数、虚警数和漏检数,统计结果如表4所示。从表中可以看出,检测性能随着图像质量的下降而下降,但是本文方法对现有实测图像和添加噪声后的实测图像都有较好的舰船目标检测性能。
图7 原始图像及添加不同强度高斯噪声后的图像Fig.7 The original image and the images after adding Gaussian noises with five different intensities
表4 不同质量遥感图像的舰船检测结果Table 4 The ship detection results based on different quality images
为了分析多特征量判别的Canny边缘检测方法的主要参数对舰船目标检测结果的影响,本节将令Canny算子低阈值THlb、高阈值THub、多特征量判别中的紧致度下界Clb、紧致度上界Cub和质密度下界Dlb、质密度上界Dub这6个主要参数在典型参数区间进行实验,分析这6个主要参数对舰船目标检测结果的影响。6个参数的取值分别为:THlb=[8, 10, 12, 14, 16],THub=[16, 24, 32, 40, 48],Clb=[8, 10, 12, 14, 16],Cub=[18, 24, 30, 36, 42],Dlb=[0.08, 0.16, 0.24, 0.32, 0.40],Dub=[0.50, 0.60, 0.70, 0.80, 0.90]。实验结果如图8所示。图8(a)~8(c)展示的是Canny算子低阈值THlb和高阈值THub对舰船目标检测结果的影响,从图中可以看出,检测目标数随低阈值THlb的增大而迅速下降,而高阈值THub对检测目标数影响较小,但是高阈值THub比低阈值THlb对虚警数的影响更大;图8(d)~8(f)展示的是紧致度下界Clb和上界Cub对舰船目标检测结果的影响,从图中可以看出,检测目标数随紧致度上界Cub的增大而迅速变大,而紧致度下界Clb对检测目标数影响较小,但是紧致度下界Clb比上界Cub对虚警数的影响更大;图8(g)~8(i)展示的是质密度下界Dlb和上界Dub对舰船目标检测结果的影响,从图中可以看出,检测目标数随质密度上界Dub的增大而迅速变大,而质密度下界Dlb对检测目标数影响较小,但是质密度下界Dlb比上界Dub对虚警数的影响更大。综上,多特征量判别的Canny边缘检测方法对低阈值THlb、紧致度上界Cub和质密度上界Dub3个参数的变化比较敏感,虚警数对高阈值THub、紧致度下界Clb和质密度下界Dlb3个参数的变化比较敏感,在处理实测遥感图像时,应根据具体情况设置参数。
图8 主要参数对舰船目标检测结果的影响Fig.8 Influences of the main parameters on the detection results
随着计算机图形处理器的高速发展,利用GPU对遥感数据进行处理成为实现遥感数据处理的重要途径[26-28]。进一步地,本文利用TX1作为模拟星载的嵌入式GPU开发平台,实现对图像数据的处理。Jetson TX1是NVIDIA第二代嵌入式GPU平台开发者套件,集成4核ARM Cortex-A57处理器、Maxwell架构的GPU、4 GB LPDDR4内存、16 GB的eMMC5.1,提供了CUDA和OpenCV运行环境,能够实现对载荷数据的快速处理。
由于JPDA算法逻辑操作相对复杂,不适合在GPU上实现并行优化,因此本文对基于多特征量判别的Canny边缘检测各步骤的执行时间进行分析和优化。
基于多特征量判别的Canny边缘检测各步骤的CPU执行时间所占比例如图9(a)所示。从图中可以看出,高斯滤波过程占据大部分的执行时间。由于高斯滤波利用卷积核对每个像素进行卷积操作,可以利用GPU进行并行优化。GPU优化后的基于多特征量判别的Canny边缘检测各步骤执行时间比例如图9(b)所示。从图中可以看出,耗时较多的高斯滤波过程得到有效的优化。表5展示基于多特征量判别的Canny边缘检测在CPU和GPU上面的运行时间和加速比,从表中可以看出,经过GPU优化的基于多特征量判别的Canny边缘检测算法比在CPU上实现的速度有明显提升。
图9 基于多特征量判别的Canny边缘检测各步骤执行时间比例Fig.9 The proportion of execution time for each step of the multi-feature Canny edge detection algorithm
表5 基于多特征量判别的Canny边缘检测算法 在GPU上的优化加速比Table 5 Acceleration ratio of the multi-feature Canny edge detection algorithm on GPU
本文针对光学遥感卫星在轨对海面多运动舰船目标检测和跟踪问题,提出一种基于多特征量判别的Canny边缘检测和JPDA的在轨海上多运动舰船目标检测和跟踪方法。所提方法首先使用Canny边缘检测结合多几何特征判别对光学遥感图像海上多运动舰船目标进行检测,然后利用JPDA算法对检测出的舰船目标与已有舰船目标运动轨迹进行关联,从而实现多舰船目标的检测和跟踪。通过对中国科学院微小卫星创新研究院提供的高分微纳卫星实测数据的处理与分析,验证了本文所提方法能够在轨对海上多运动舰船目标进行快速、准确的检测和跟踪。
非常感谢中国科学院微小卫星创新研究院提供的高分微纳卫星实测图像数据,使得本文所提方法得到有效的验证。