APP下载

面向卫星在轨实时处理的遥感视频动目标提取算法

2022-01-28张钰慧胡瑞敏

计算机应用与软件 2022年1期
关键词:关键帧背景卫星

张钰慧 胡瑞敏 肖 晶

(武汉大学计算机学院国家多媒体软件工程技术研究中心 湖北 武汉 430072)

0 引 言

2017年,两院院士李德仁于《人民论坛》[1]上发表讲话,提出了建设天基信息实时服务系统(PNTRC)的重大战略需求。遥感技术的迅猛发展使得空间对地观测数据获取能力不断提升,视频卫星作为一种新型对地观测卫星,因其可以在一段时间内对目标区域“凝视”观测连续成像,相较于传统单幅影像可获得更多时间维度上的信息,为遥感应用的深入研究提供数据基础[2]。传统定期静态普查的方式已不足以满足实际需求,利用高分辨率低轨“凝视”视频卫星对全球热点区域及典型运动目标进行实时监测,获取目标的动态信息已成为当前的迫切需求。卫星视频数据应用前景广泛,如重点区域动态监视、军事作战等[3],而卫星视频运动目标提取任务具有高准确性和强时效性的特点,因此需要实现在轨实时智能动态监测。在星上计算资源有限的条件下,如何在轨自动检测典型运动目标并且持续跟踪,进而提取连续的动态位置信息,对卫星视频智能应用具有重要意义。

提取运动目标可采用两种方式实现:运动目标检测和目标跟踪。目前,针对传统监控视频的运动目标检测算法和目标跟踪算法研究已经较为成熟。然而,与传统监控视频中的运动目标提取任务相比,卫星视频中的运动目标具有以下新特点[4]:1)卫星拍摄视角范围更大,幅宽甚至可达4 km×3 km,背景环境较为复杂,运动目标的数目较多;2)运动目标与背景之间对比度低,因此更加难以区分目标和背景;3)虽然高分辨率视频卫星可达米级空间分辨率,但相比于传统监控视频分辨率仍较低,运动目标所占的像素少,尺寸小,且目标特征及纹理信息难以提取;4)卫星在轨进行“凝视”拍摄视频,观测角度姿态调整使得视频背景时刻变化,且建筑物高程畸变导致的视差“伪运动”难以通过运动补偿去除[5],随着航拍视角的变化,检测到的运动大约70%是由高层建筑的视差引起的[6]。传统监控视频和卫星视频对比示意图如图1所示。这些差别为卫星视频动目标提取带来了挑战,导致针对传统监控视频的经典动目标检测算法和目标跟踪算法难以直接应用于卫星视频。同时,星上搭载的嵌入式开发平台计算能力有限,经典动目标检测算法在计算资源的约束下难以满足实时需求。

图1 传统监控视频和卫星视频对比示意图

经典运动目标检测算法主要有光流法[7]、帧差法[8]和背景减除法[9-11],其中背景减法是该方向研究的热点。近年来,针对卫星视频的运动目标检测算法也研究逐渐开展。光流法通过计算像素级的运动矢量场来区分运动前景和背景,文献[12]使用Lucas-Kanade光流法计算动目标的运动状况,但是光流法运动复杂度高,难以实时应用。帧差法对相邻帧之间的像素进行时间差分,设置阈值来提取运动目标,算法计算简单。文献[4,13]均使用背景差分和帧差相结合的方式提取运动目标,但是帧差法对环境噪声敏感,且容易造成目标内部空洞。背景减除法通过建立背景模型来比对分割前背景像素,同时实时更新背景模型以更好地适应动态背景。文献[14]最先于2015年开展高分辨率卫星视频动目标研究,根据道路掩膜先验知识,使用背景减法进行车辆检测,文献[5,15]使用视觉背景提取器(Visual Background extractor,ViBe)背景模型来检测卫星视频中的运动目标,但上述算法研究仅针对局部卫星视频,且需要精准的道路掩膜,通过限制区域范围来排除复杂的环境背景所带来的噪声影响,难以实际应用。

经典目标跟踪算法主要分为生成式方法[16]和判别式方法[17],其中相关滤波[18]和深度学习[19]的判别式模型成为研究的热点,近年也陆续出现针对卫星视频的目标跟踪算法研究。生成式方法通过建立目标模型,搜索与模板重建误差最小的区域实现跟踪。文献[20]利用灰度相似性来度量待判断目标集与目标模板之间的相似度,但是该类方法并没有考虑图像中的背景信息,当目标外观发生变化时结果产生漂移。判别式方法则通过训练分类器将目标与背景区分开,在目标表征的基础上加入背景信息,分类边界更加灵活,性能更好。文献[21-22]在相关滤波跟踪框架上对目标特征提出改进方法。上述研究多集中在对目标的有效表征,而在目标跟踪丢失或发生遮挡短暂消失时无法解决重新寻回的问题。

在卫星视频的复杂环境背景中存在较多噪声,而前景动目标尺寸较小且存在慢速动目标(例如机场跑道上未起飞的飞机、海域中的舰船等),在影像中呈现为较不明显的移动状态,难以有效地与噪声区分开。复杂的环境同样为目标跟踪带来挑战,当追踪目标消失在背景中或者跟踪丢失时,无法高效准确地寻回目标继续跟踪。同时,算法需要保证在计算资源约束下的实时性。针对上述问题,本文提出了一种面向在轨实时处理的卫星视频运动目标提取框架,实现自动检测、跟踪运动目标。主要创新如下:1)设计了一种面向运动区域的图像分类算法,在检测出运动区域的基础上,实现前背景分类,并有效区分飞机、舰船、火车三类典型运动目标与背景噪声;2)针对仅使用跟踪算法无法解决丢失寻回的问题,结合目标在下一个关键帧的检测结果,设计基于多特征融合与时空约束的重检测识别机制,判断是否为当前追踪目标从而关联短程运动轨迹;3)提出了一种在轨智能实时处理系统,有效结合检测和跟踪算法,可实现实时自动检测运动目标并持续跟踪。

1 算法描述

本文算法的整体框架流程如图2所示。为实现在轨实时提取运动目标,提升在轨运行效率,因跟踪算法通常比检测算法运算复杂度低得多,本文采取运动目标检测与目标跟踪相结合的策略,以一段时间的短程跟踪来代替逐帧动目标检测。对于输入的高分辨率卫星视频,将每隔固定间隔的帧设为一组,其中第一帧为关键帧,后续帧为非关键帧。对关键帧建立背景模型,通过背景减除算法检测运动区域,之后对各个运动区域的连通域图像进行图像分类,区分前景和背景,准确地提取出典型运动目标的位置信息;对于非关键帧,根据各运动目标在关键帧中的初始位置对跟踪器作初始化,采用相关滤波算法进行目标跟踪,并持续提取运动目标在后续帧中的位置信息。最终整合动态信息,利用基于多特征融合与时空约束的重检测识别机制对运动目标在各组的运动轨迹进行组间关联计算,以应对跟踪丢失的情况,形成最终的连续动态位置信息。

图2 本文算法框架流程

1.1 典型运动目标检测

1.1.1运动区域检测

通过建立背景模型来检测运动区域,本文使用文献[11]中一种改进的高斯混合模型在关键帧进行背景建模。该方法对于卫星视频缓慢运动的背景具有较好的鲁棒性,且建模耗时较少,与文献[9-10]相比具有相当的检测精度以及更快的检测速度。

对背景模型的二值掩膜结果进行后处理,然后对各连通域找到其最小外接矩形,从而得到运动区域图像作为粗检测结果。

1.1.2面向运动区域的图像分类

高分辨率视频卫星以“凝视”成像方式拍摄视频原理示意图如图3所示,卫星在轨运行的同时对目标区域连续成像。由于卫星姿态调整以及拍摄角度变换,卫星视频中的背景是时刻变化的,其中对运动目标检测干扰最大的一类典型噪声就是由于建筑物的高程视差畸变引起的伪运动。

图3 视频卫星凝视成像示意图

这类视差引起的伪运动在高层建筑中表现得尤为明显。通常在运动检测之前会使用单应性变换、仿射变换等帧间运动模型对视频进行运动补偿,视差运动是在帧到帧的配准补偿后仍能观察到的。帧间变换运动模型是基于两帧共享同一平面场景的假设,然而高层建筑和结构中的像素不受这种假设的约束。这些建筑结构在地球上的地理位置坐标没有变化,但是在卫星凝视视频中呈现出沿某一方向近似匀速运动的状态,视差伪运动噪声与运动目标表现出一些相似的运动特性,噪声的尺寸有时甚至会大于运动目标。如图4所示为视频同一位置不同时刻的对比图,同时用光流场来表示建筑物的视差运动,图4中(a)为SkySat卫星视频中的两组建筑,(b)为吉林一号卫星视频中的一组建筑。其中,第一行表示第1帧中的形态,第二行表示第240帧中的形态,第三行中的光流场图表示建筑的运动状态。可以看出,建筑物均呈现出较为明显的运动。

图4 高层建筑视差引起的伪运动

运动区域通常包含以下几种类别:飞机、舰船、火车、产生伪运动的建筑物。卫星视频运动区域图像分类数据集具有类间相似性和类内多样性的两大挑战如图5所示。运动目标都呈现为俯视图,虽然飞机、舰船等刚体动目标几乎不发生形变,结构特征较明显,但是火车仅呈现为线状,与背景区分度低,这就导致火车类别与伪运动类别的类间相似度较高;同时,背景伪运动类别具有较强的类内多样性。

图5 卫星视频运动区域图像分类数据集

针对以上四类图像,通过训练深度卷积神经网络进行图像分类,本文在Darknet-19网络模型[23]的基础上进行改进。Darknet-19是YOLOv2(You Only Look Once v2)目标检测算法中提出的分类网络模型,用于提取深度特征。与经典卷积神经网络模型VGGNet(Visual Geometry Group Net)相比,Darknet-19在ImageNet分类任务中表现出更好的准确性和时效性,更适用于本文所面向的卫星在轨实时处理研究。Darknet-19网络包含19个卷积层和5个最大池化层,使用平均池化层进行预测,并输入至Softmax计算分类结果。Softmax函数用以最小化训练样本的分类误差,然而仅保证可分性,并不要求类间尽可能分离和类内尽可能紧凑。

因此,本文在Softmax的基础上结合中心损失(center loss)函数[24],使深度特征向量更具有判别性。目标函数设计如下:

L=LS+λLC=

(1)

式中:第一项为Softmax损失函数,第二项为中心损失函数,λ为平衡权值,cyi为类中心。

本文中面向运动区域的图像分类网络结构如图6所示。通过分类算法区分三类典型目标和伪运动噪声,从而有效地提取典型动目标在关键帧中的位置信息。

图6 面向运动区域的图像分类网络结构示意图

1.2 长程目标跟踪

1.2.1短程目标跟踪算法

本文每隔n帧设置一个关键帧,在关键帧准确获取运动目标位置信息的基础上,采取非关键帧仅跟踪目标的策略,用短程的跟踪替代该组逐帧检测,从而提升算法运行速度。算法中n越大,即仅做跟踪的非关键帧越多,算法整体运行速度越快。但是,当n取值过大时,关键帧的数量会相应的减少,则无法及时检测新出现的运动目标以及被遮挡重现的目标,同时在后续n-1个非关键帧中发生跟踪漂移的概率越大。因此,在使得算法实时运行的同时应选定尽可能小的取值,本文算法中n=15。虽然运动目标(飞机、舰船等)实际对地运动速度较快,但是在卫星视频中呈现出的运动位移幅度较小,像素偏移量仅在几个到几十个的像素量级,因此在每个短程的15帧内不会发生多次遮挡丢失的情况。这样,能够保证同一目标在同一个短程跟踪分组中都能被目标跟踪算法跟踪到,即使在当前短程帧组被遮挡后重现,也可在下一个帧组重检测时及时检测到。

基于相关滤波框架的目标跟踪算法因其性能好、速度快而成为热点算法,其中代表方法为核相关滤波(Kernel Correlation Filter,KCF)算法[18]。本文使用KCF算法作为基本跟踪框架。KCF算法的核心思想是在目标及其周围区域通过循环矩阵构建在线训练样本集,然后通过基于核函数的相关滤波器在下一帧计算图像块的响应值,值最大的位置即为预测的目标位置。

首先,将以目标为中心、大小为M×N的图像块x作为基础样本,对x进行循环移位得到循环图像样本集xm,n(m,n)∈{0,1,…,M-1}×{0,1,…,N-1}。每个图像样本xm,n对应有高斯函数标签ym,n。

然后,根据图像样本和标签在线训练相关滤波分类器f(x)=wTx,使得如下目标函数最小:

(2)

式中:λ是为了防止过拟合的正则项参数。

由xm,n的集合构成循环矩阵X=C(x),通过离散傅里叶变换(Discrete Fourier Transform,DFT)将其设置为对角线,从而将矩阵代数运算转换成元素的点乘运算。获得如下傅里叶空间系数α:

(3)

在下一帧的同样位置取图像块z,循环移位产生检测样本集,并计算如下响应值:

(4)

1.2.2基于多特征融合与时空约束的重检测识别机制

但是基于相关滤波的短程目标跟踪算法存在一定的问题,一旦发生跟踪结果漂移或者目标丢失,构建的循环图像样本集则不含有所追踪目标,将导致跟踪模型错误更新最终跟踪失败。本文为增强复杂场景下跟踪的鲁棒性,增加基于多特征融合与时空约束的重检测识别机制,用于重新寻回目标,关联相邻组同一目标之间的运动轨迹,原理示意图如图7所示。

图7 基于多特征融合与时空约束的重检测识别机制示意图

针对卫星视频中目标特征和纹理信息匮乏的问题,需要对目标实现高维特征表达。在KCF跟踪算法中对目标提取了灰度特征和方向梯度直方图(Histogram of Oriented Gradients,HOG)特征,在下一个关键帧所用面向运动区域的图像分类模型中可以利用Darknet-19网络提取目标的深度特征,本文融合以上三种特征对目标进行特征表达,以衡量图像对的视觉相似性:

VisFeature=(fdeep,fgray,fHOG)

(5)

同时,考虑目标出现的时空概率可能性,同一个目标不可能同时出现在多个位置,并且应随时间连续移动。分析卫星视频中目标的运动规律发现,动目标的运动轨迹较为规律,几乎不发生突变。如果未发生目标跟踪丢失的情况,同一目标在相邻组的两段轨迹应该是时空连续的;如果丢失,那么空缺期前后的两段轨迹也应该是受相近时空距离约束的。本文根据相邻短程跟踪运动轨迹度量轨迹关联度,设计了如下的时空约束,以衡量图像对的时空相似性:

(6)

式中:|Ti-Tj|、δ(Si,Si)分别为待关联目标间的时间、空间距离;Tmax、Smax分别为所有待检索目标对之间最大的时空距离;θ用以衡量运动方向相似性。

2 实验与结果分析

2.1 实验数据及环境

本文选取四段卫星视频数据进行实验,运动目标包括飞机、舰船和火车。视频数据如图8所示。视频1由SkySat卫星成像,拍摄区域为迪拜城市市区,影像中有1架飞机从城市上空飞过;视频2由CARBONITE-2卫星成像,拍摄区域为迪拜机场,有多架飞机在跑道上行驶;视频3由吉林一号卫星成像,拍摄区域为日本,包含海面上行驶的船只;视频4由吉林一号卫星成像,拍摄区域为天津火车站,包含轨道上行驶的火车。视频数据详细信息如表1所示。

图8 卫星视频数据

表1 视频数据详细信息

为模拟星载平台计算能力从而验证在轨智能处理算法的有效性,在NVIDIA Jetson TX2嵌入式开发板上搭建仿真实验环境。本文算法使用C/C++语言在开发板Ubuntu系统上实现,GPU为NVIDIA Pascal架构、256个NVIDIA CUDA核心,CPU为双核Denver2 64位CPU和四核ARM A57 Complex,内存为8 GB 128位LPDDR4。算法中使用的面向运动区域的图像分类模型使用服务器进行训练,GPU为GeForce GTX 1080 Ti,然后将训练好的模型移植到嵌入式开发版进行集成实验。

2.2 实验一:面向运动区域的图像分类

为训练面向运动区域的图像分类网络,从上述四段卫星视频以及AID(Aerial Image Dataset)[25]、DOTA(Dataset for Object deTection in Aerial images)[26]两个遥感图像数据集中截取前、背景图像块,制作成包含airplane、ship、train、background四类样本的2 000幅运动区域图像数据集,如图5所示,样本图像大小为128×128像素,其中80%用作训练集,20%作为测试集。

使用定量指标评估分类的结果准确度,因为数据集只有四个类别,本文使用top-1正确率来衡量算法准确率,即对于一幅图片预测概率最大的类别是正确类别的概率。对比本文改进模型与文献[23]模型的分类准确率,实验结果如表2所示,改进的目标函数使得分类结果提升了5%,错误分类的情况主要发生在火车类别与背景类别。

表2 图像分类结果对比(%)

2.3 实验二:消除运动目标检测中伪运动误检

将本文设计的图像分类模型应用于去除伪运动误检,评估关键帧的运动目标检测结果。分别使用文献[9-11]算法进行运动前景检测,并在文献[11]算法的基础上结合本文提出的图像分类算法,对比运动目标检测结果,定性实验结果如图9、图10所示,其中:图9为运动区域检测实验结果,图10为根据背景模型掩膜提取到的运动目标结果。使用定量指标准确率(Precision)、召回率(Recall)和F值(F-measure)综合衡量动目标检测性能,计算方法如下:

图9 运动区域检测对比结果

图10 运动目标提取对比结果

(7)

(8)

(9)

式中:TP表示正确检测到的目标数量;FP表示被误检为目标的目标数量;FN表示漏检的目标数量。

文献[9]算法可以检测出尺寸小、运动缓慢的动目标,但是背景噪声误检率高,在视频1、4上实验出现大面积的误检,并且该算法存在鬼影现象,视频1、2的第一帧存在有运动的飞机,在此后的背景模型中均出现第一帧中飞机位置的误检。文献[10]算法对噪声抑制效果较好,但目标缺少边缘信息,同时也会将缓慢运动的目标滤除,漏检率高,可以看出该算法在视频1上的实验结果非常好,准确地检测出运动飞机,但是视频2运动缓慢的目标以及视频3中船只、视频4的火车均未检测到。文献[11]算法可以完整地检测出运动目标,但存在误检情况,视频1、4为城市场景,高层建筑较多,因此出现建筑物顶端的伪运动误检,视频3中空中飘过的云团对检测结果造成干扰。使用文献[11]算法结合本文提出的面向运动区域的图像分类模型,可以在保证运动目标不漏检的情况下滤除背景噪声。对视频1的运动区域分类,可以有效去除建筑物顶端的误检;对视频3的运动区域分类,可区分开船只和云团;视频4场景中市区的高层建筑分布密集,对视频4的运动区域分类,可去除大部分建筑物引起的误检,但是对于一些呈线状的边缘噪声并未与火车目标区分开。实验结果说明本文方法具有更好的准确性,可更为精确地提取典型运动目标,但是针对视频中有火车类别以及线状边缘噪声仍存在误检情况。

对每段视频数据分别计算以上三个指标,并求均值,记为Precision_avg、Recall_avg和F-measure_avg,定量实验结果如表3所示。

表3 关键帧运动目标检测结果

2.4 实验三:基于多特征融合与时空约束的重检测识别机制

当场景较为简单时,在每个帧组中各目标都可被短程准确跟踪,在下一个帧组重新检测时把跟踪的运动轨迹首尾相连,可形成完整轨迹的即可判断为同一运动目标。而在复杂场景中,一个目标的各个短程跟踪轨迹很可能不是正好首尾相连的。

为验证本文算法的鲁棒性,选取部分复杂场景进行实验验证。视频1中出现飞机融入背景的情形,在视频3中手动添加遮挡区域。当算法中不添加该机制时,目标经过干扰区,在当前帧组中跟踪丢失,而当等到下一个关键帧检测时,会将重新检测到的目标判定为新目标,无法实现长程追踪。在算法中添加该机制,当目标通过干扰区后,可计算两段轨迹对应目标的相似度,判定是否为同一目标,关联目标的短程轨迹片段,实现长程跟踪。定性实验结果如图11所示。

图11 重识别轨迹关联结果

同时使用定量指标rank1来衡量重检测识别机制的性能,rank1是指搜索结果中置信度最高的一个目标图像就是正确结果的概率。定量实验结果如表4所示。

表4 重检测识别机制定量结果(%)

2.5 实验四:长程目标跟踪

为验证本文算法应对长程跟踪的性能,对本文提出的结合运动目标检测、短程目标跟踪与基于多特征融合与时空约束的重检测识别机制三个模块的卫星视频在轨智能处理算法进行实验。分别使用文献[9-11]算法进行逐帧检测运动目标,同时使用本文算法持续提取运动目标,并对比实验结果。使用定量指标准确率(Precision)、召回率(Recall)和F值(F-measure)综合衡量算法性能,对每段视频数据分别计算以上三个指标并求均值,记为Precision_avg、Recall_avg和F-measure_avg,实验结果如表5所示。

表5 运动目标长程提取结果

对比表5与表3中所示的本文算法实验结果,可以看出Recall_avg指标有所下降,该现象产生原因主要是遮挡丢失目标重现时并不正好是关键帧,如果在当前帧组或下一帧组中的某一帧重现时,无法立即重新检测到,导致出现几帧的漏检现象。但是,对比表5中的其他数据,可以看出本文算法在整体精度上仍然优于其他算法。

2.6 实验五:仿真环境系统实验

为验证本文算法的准确性和时效性,在NVIDIA Jetson TX2嵌入式开发板仿真环境下进行整体系统实验。运动目标提取定量对比实验结果如表5所示,本部分将重点衡量算法面向在轨实时处理的时效性。表6为各运动目标检测算法在仿真环境下的运动速度。表7为本文算法框架在每个帧组各模块耗时情况,其中:模块一为关键帧运动区域检测;模块二为面向关键帧运动区域的图像分类;模块三为剩余非关键帧短程目标跟踪;模块四为基于多特征融合与时空约束的重检测识别机制。卫星采集视频帧率通常为10~20帧/s,本文将关键帧的间隔设置为每隔15帧进行一次运动目标检测,其余帧仅跟踪。既可以通过短时跟踪代替逐帧检测提升运行效率,又可以在跟踪丢失或者出现新目标时及时重新检测。实验结果表明本文算法可实现自动检测且跟踪运动目标,且具有较好的时效性。

表6 仿真环境下各检测算法运行速度

表7 仿真环境下本文算法每组中各模块耗时

3 结 语

为了解决复杂背景引起的误检、跟踪丢失的问题,同时计算资源有限难以实时检测动目标,本文提出一种面向在轨实时处理的卫星视频运动目标提取算法。首先在检测运动区域的基础上对运动区域图像进行分类,准确筛选出感兴趣运动目标;然后跟踪目标,并使用基于多特征融合与时空约束的重检测识别机制关联同一目标的短程跟踪轨迹,以短程跟踪代替逐帧运动检测从而提高运行效率,有效结合检测跟踪算法,达到在仿真环境下实时提取的效果。实验证明,本文算法可以有效抑制背景噪声的干扰,尤其是高层建筑物视差位移一类噪声,同时在仿真环境下表现出较好的准确性和时效性,在卫星视频智能实时应用处理领域具有一定的应用前景。

猜你喜欢

关键帧背景卫星
等腰直角三角形背景下的旋转相似
基于图像熵和局部帧差分的关键帧提取方法
《论持久战》的写作背景
静止卫星派
基于误差预测模型的半自动2D转3D关键帧提取算法
基于计算机三维动画建模技术的中国皮影艺术新传承
运动图像关键帧快速跟踪系统的改进
Puma" suede shoes with a focus on the Product variables
基于Modelica的高炉顶压控制仿真
What Would Happen If All Satellites Stopped Working? 假如卫星罢工一天