APP下载

融合检测与跟踪的半自动视频目标标注

2021-07-28陈庆林宋忠浩聂圣东

计算机工程与应用 2021年14期
关键词:关键帧舰船尺度

陈庆林,谷 雨,宋忠浩,聂圣东

杭州电子科技大学 自动化学院,杭州310018

近年来,深度学习技术发展迅速,由于深度学习技术需要大数据的支撑,获取大量具有样本多样性的带标签训练数据集是深度学习技术取得优异性能的关键。

图像训练数据集主要通过图像标注等方法获得,标注任务就是在图片中标出感兴趣目标的位置区域和所属的类别,分为手动标注和自动标注两类[1]。传统的手动标注每次只能对单张图像中的目标位置和标签进行标注,效率较低[2]。若采用类似ImageNet[3]数据集众包的方式,成本较大,标注的质量还可能参差不齐,最终影响训练模型的性能。

随着我国舰船装备的快速发展,海上舰船检测与跟踪具有重要的军事战略意义,多种基于深度学习的海上舰船目标检测算法[4-6]被相继提出。由于深度学习技术需要大数据的支撑,因此从大量的舰船视频中获取训练数据对提升舰船检测算法的性能具有重要意义。与飞机和舰船的单张遥感图像或SAR 图像不同,视频中有大量连续的图像帧,目标信息具有冗余性,采用人工标注的方式耗时耗力,可以利用视频中的目标具有时空连续性的特点,设计自动标注的方法。

在视频目标自动标注技术中,需要解决的问题有:(1)快速准确地连续定位待标注目标的位置区域。(2)为了减少人工参与,提高标注效率,还需要自动判断待标注目标从视野中消失从而停止标注。(3)自动地从大量冗余的视频帧中提取出少量合适的关键帧,并保证生成数据集的样本多样性。

文献[7]提出一种视频标注方法,先对不相邻的两个视频帧中的运动目标进行标注,利用运动目标在视频中的连续性特点,通过插值法计算得到目标的标注信息。文献[8]提出一种基于目标跟踪的半自动图像标注样本生成方法,通过目标跟踪算法生成一系列标注样本,最后通过人工标注来辅助确认,生成标注样本,但该方法在自动标注的过程中会发生跟踪漂移的现象。文献[9]提出一种基于运动匹配的视频自动标注方法及自动标注系统,该系统根据目标运动特征和传感器运动特征的匹配结果进行视频目标标注,但该方法标注不够精确,且会标注出非目标的运动物体。

当前,目标检测算法和目标跟踪算法层出不穷,但是融合两种算法用于视频目标标注的工作较少,实时的目标检测算法可以快速准确地确定待标注目标的位置区域并修正跟踪算法的跟踪漂移;跟踪算法具有时空连续性的特点,可以解决检测漏检的问题并保持标注目标身份一致。

深度学习发展极大地提升了目标检测的精度。RCNN(Region Convolutional Neural Networks)[10]目标检测算法结合选择性搜索算法、卷积神经网络和支持向量机等方法,较当时最好检测结果有30%的提升。Fast-RCNN[11]对原结构进行改进,将特征提取和分类合并到同一个神经网络。Faster-RCNN[12]提出区域建议网络(Region Proposal Network,RPN)产生建议窗口,卷积网络和Fast-RCNN部分共享,实现了端到端的训练和检测。SSD(Single Shot MultiBox Detector)[13]和YOLO(You Only Look Once)[14]系列等单阶段检测算法将检测问题看做回归问题,实时性有了较大提升,但SSD 检测算法不适用于检测小目标,YOLO v3[15]检测算法借鉴残差网络思想并采用多尺度特征,是速度和精度较好的目标检测算法。

目标跟踪算法利用时空连续性对目标状态进行估计。KCF(Kernelized Correlation Filters)[16]跟踪算法在MOSSE(Minimum Output Sum of Squared Error)[17]跟踪算法的基础上使用HOG(Histogram of Gradient)[18]扩展了多通道特征,并把特征映射到高维空间,提高了跟踪算法精度,但算法不能适应目标尺度变化。HCF(Hierarchical Convolutional Features)[19]跟踪算法使用深度特征代替传统的手工特征,提升了跟踪鲁棒性,但跟踪速度较慢。SiamFC(Siamese Fully-Convolutional)[20]使用孪生神经网络提取目标区域和搜索区域的深度特征,通过计算相似度的方法跟踪目标。SiamRPN(Siamese Region Proposal Network)[21]提出了孪生网络与RPN网络相结合的方法,实现多长宽比尺度的目标跟踪。SiamMask(Siamese Mask)[22]在网络上增加Mask损失分支,在目标跟踪的同时实现目标的分割。基于孪生网络的跟踪算法对于外观相似的物体缺少判别性,在应用于海上舰船等视频中目标外观相似的场景时,跟踪算法极易跟踪到错误的目标上。

关键帧是视频中具有代表性的图像帧,能够起到信息压缩的作用。文献[23]提出了基于相关系数的关键帧提取算法,但算法中阈值不能自动选取。文献[24]提出了一种在镜头边界检测之后再进行视频帧聚类的方法来提取关键帧。文献[25]提出了一种多特征融合,在目标显著值最大值处提取关键帧的方法。基于聚类的关键帧提取方法仅考虑视频帧的整体变化信息,没有考虑视频中目标丰富的变化信息,因此基于目标显著性的关键帧提取方法更适用于建立目标检测数据集。

针对视频图像连续帧间的目标具有冗余性,采用手动标注方式耗时耗力的问题,本文的主要工作包括以下三个方面:(1)提出一种融合检测和跟踪算法的半自动标注框架,仅需第一帧手动标注出目标位置区域和类别,后续帧融合检测和跟踪算法实现自动标注并在目标消失后自动停止标注。(2)应用于海上舰船等视频中的小目标或尺度变化较大的目标时,对采用的YOLOv3检测算法和KCF 跟踪算法进行了改进,提升了目标检测算法对小目标的检测能力和跟踪算法的尺度自适应能力。(3)提出一种基于目标显著性的关键帧提取算法,选择能反映目标尺度、角度、光照等变化的关键帧,保证生成数据集的样本多样性。实验结果表明,本文提出的方法可以显著提高标注效率,能够快速生成标注数据,适用于海面舰船等场景的视频目标标注任务。

1 融合检测与跟踪的半自动视频目标标注方法

1.1 标注框架和融合方法

融合检测和跟踪算法的半自动视频目标标注框架,其原理图如图1所示。

图1 半自动视频目标标注框图

首先在视频图像中选定某一帧为初始帧,手动标记目标的位置区域并确定目标的类别标签。在后续帧中,融合基于图像的目标检测算法和基于图像序列的视频目标跟踪算法确定目标在下一帧中的位置,并根据目标跟踪算法的响应图判断目标标注是否结束。若不结束,继续估计目标在视频图像中的位置,若结束,根据每一帧目标的显著值大小,提取一定数量的视频关键帧,得到该目标标注结果并准备开始下一个目标的标注。其中融合检测和跟踪确定下一帧目标位置的原理如图2所示。

图2 融合检测和跟踪方法框图

在线标注前需使用手动标注的训练样本对检测模型进行离线训练。融合检测和跟踪结果时,首先判断图像帧中是否含有检测框,若没有则输出的目标框为跟踪框。若有一个或多个检测框,则需要计算跟踪框和每一个检测框的IOU(Intersection-Over-Union)值,进而筛选出最大IOU值。若该最大IOU值大于阈值,则目标框为对应最大IOU值的检测框,并用该检测框修正跟踪框,否则为跟踪框。

IOU值是用来评价当前帧跟踪框与检测框的重合度,其公式如下:

其中,SI表示同一帧下跟踪框与某一检测框的重叠部分面积,SU表示同一帧下跟踪框与该检测框的总面积减去重叠面积。

1.2 目标检测算法

1.2.1 YOLO v3目标检测算法

为了满足视频标注技术中实时性和准确性的需求,本文采用YOLO v3检测算法。该算法包括特征提取网络Darknet-53 和多尺度预测网络,Darknet-53 网络采用了ResNe(tResidual Network)[26]旁路连接,避免了梯度消失问题。在预测阶段,借鉴特征金字塔网络(Feature Pyramid Networks,FPN)[27]的思想,较大尺度特征具有较强的语义信息,较小尺度特征具有更多的细粒度信息,小尺度特征通过上采样的方式与大尺度特征进行融合,实现了较好的检测性能。另外,该算法借鉴了两阶段目标检测算法的anchor思想,通过自适应聚类得到合适的先验框,进一步提高了检测的准确率。

1.2.2 小尺度目标检测改进方法

舰船视频多为直升机或无人机在辽阔海域航拍,因此视频中有较多的小尺度舰船目标。YOLO v3在检测视频图像中出现的小目标时,效果不佳。为了提高对小尺度目标的检测能力,本文在原模型的基础上进行了如下改进和优化:

首先采用darknet53.conv.74预训练模型初始化训练参数,然后将原模型的YOLO 层增加到4 层,经过多尺度特征融合得到13×13、26×26、52×52、104×104 四种不同尺度的不同感受野特征图,然后使用(116×90)、(156×198)、(373×326)三种先验框对13×13 的特征图进行预测,检测较大的对象。使用(30×61)、(62×45)、(59×119)三种先验框对26×26的特征图进行预测,检测尺度中等的对象。使用(10×13)、(16×30)、(33×23)三种先验框对52×52的特征图进行预测,检测较小的对象。使用新增加的(5×6)、(8×15)、(16×10)三种先验框,对104×104特征图进行预测,检测更小的目标。与原来的模型相比,经过改进的检测网络融合了更加浅层的特征,从而提高了小目标的检测率。

1.3 目标跟踪算法

1.3.1 KCF跟踪算法

基于相关滤波的KCF目标跟踪算法具有时空连续性和实时性好的优点,并可以根据响应图的变化判断目标消失。算法首先根据第t帧的目标区域提取HOG特征,再通过傅里叶变换转到频域,把得到的频域特征通过高斯核函数映射到高维,并根据式(2)得到滤波模版α:

其中,x表示样本的HOG 特征,表示傅里叶变换,g是中心为峰值的二维高斯函数,λ是正则化参数,用来控制训练的过拟合。kxx表示x在高维空间里的核自相关矩阵,其计算方式由式(3)给出:

其中,σ是高斯核函数的宽度参数,*表示复共轭,⊙表示点乘,F-1表示傅里叶逆变换,‖ ‖表示矩阵范数,c是HOG特征x的通道数。

为了能适应目标外观变化,滤波器需要进行在线更新。在第t帧图像上进行目标跟踪时,相关滤波模版α的更新由下式给出:

其中,η为更新参数。

1.3.2 尺度自适应改进方法

尺度变化是跟踪中常见的问题,舰船视频镜头的拉进或放远,目标尺寸会变大或缩小都将导致跟踪失败。为了能适应目标的尺度变化,对KCF 跟踪算法改进方法如下:

对当前帧的滤波器αt进行尺度缩放,缩放的比例分别为[1.1,1.05,1.0,0.95,0.9]。

在第t+1 帧图像上的第t帧目标位置处,提取候选样本HOG 特征z,再结合上述每个尺寸缩放后的滤波器,分别得到对应的相关滤波输出响应图f,计算公式如下:

其中核互相关矩阵kxz由下式所示:

其中,x表示第t帧目标的HOG特征,m=(1,2,3,4,5)分别对应缩放的比例[1.1,1.05,1.0,0.95,0.9]。

从上述5 个响应图f的峰值maxf中筛选出最大值fmax,fmax对应的位置即为目标中心的位置,fmax对应的缩放比例即为目标尺寸变化比例,由此得到第t+1帧的跟踪框。

1.3.3 自动判断目标消失

为了减少人工参与,提高标注效率,需要判断目标消失从而自动停止标注。目标标注过程中,可以根据KCF跟踪器响应图f的变化判断目标消失,如果maxf小于设定的阈值θ,峰值旁瓣比(Peak Side-lobe Ratio,PSR)小于设定的阈值θPSR,即:

则判断该目标标注结束,如果不满足条件则继续估计目标在下一帧图像中的位置。其中PSR的计算公式如下:

其中,Φ=0.5,μΦ(f)和σΦ(f)分别是以f峰值为中心的50%响应区域的均值和标准差。

1.4 计算目标显著性并提取关键帧

海上舰船等视频存在大量连续的图像帧,目标信息具有冗余性,需要结合目标尺度、角度、光照等变化选择适量的关键帧,保证生成数据的样本多样性。在自动判断目标消失并且停止当前目标标注后,使用多种目标信息计算目标每一帧的显著值,计算方法如图3所示。

图3 目标显著值计算流程图

1.4.1 LBP特征图

局部二值模式(Local Binary Pattern,LBP)[28]提取图像的纹理特征,其具体计算公式如式(9)所示:

其中,P=8,R=1 分别为中心像素邻域像素点的个数和邻域半径,j0为中心像素的灰度值,ji为从中心像素的左上角开始,沿顺时针方向的第i个邻域像素的灰度值。s(x)为符号函数:

1.4.2 颜色显著性特征图

颜色显著性特征图的计算公式如下:

其中,patch为目标框区域原图,patchgaussian为patch经过高斯核为5×5,标准差为0 的高斯滤波处理之后的图像,| |表示取绝对值,i表示通道数,(x,y)为像素坐标。

1.4.3 边缘显著性特征图

对目标框区域的像素值求导,其一阶导数在目标边缘位置为极值。如果对像素值求二阶导数,边缘处的导数值为0。边缘显著性特征图的计算公式如下:

其中,I表示目标框区域图像,(x,y)表示目标框区域像素坐标。

1.4.4 基于颜色直方图的显著值度量变化

颜色直方图显著值变化Distt通过计算初始帧目标区域和第t帧目标区域颜色直方图的巴氏距离(Bhattacharyya distance)[29]得到,计算公式如下:

其中,H0为初始帧手动标注目标区域的颜色直方图,Ht为第t帧自动标注目标区域的颜色直方图,n表示颜色直方图bin的总数,的计算公式由下式给出:

其中k=0 或t。

1.4.5 尺度变化

尺度变化值通过计算初始帧目标框和第t帧目标框的宽高变化得到的,计算公式如下:

1.4.6 计算目标显著值

将LBP 纹理特征、颜色显著性特征、边缘显著性特征等特征进行平均加权融合,得到第t帧融合值meant,融合计算公式如下:

根据图像目标框区域的融合值mean、颜色直方图变化值Dist、尺度变化值bboxchange,第t帧的目标显著值St的计算公式如下:

其中,T表示当前标注目标的总帧数。

1.4.7 提取关键帧

根据镜头中每一帧目标的显著值St构建显著值折线图,求得所有极大值及其所对应的帧。

假设该镜头有T帧,设定提取关键帧的数量为n个,上述显著值曲线极大值的个数为k个。若n

2 实验

本文实验硬件配置环境为Intel Core i7-6850K CPU,32 GB 内存,GTX1080 Ti 显卡,12 GB 显存的PC机,Windows 10 操作系统,开发平台为Python 3.6。融合检测和跟踪的IOU阈值设置为0.5。跟踪器响应图峰值阈值θ和峰值旁瓣比阈值θPSR分别设为3 和3.5。设定每个镜头提取10帧作为关键帧。

2.1 构建舰船检测数据集

目前业界并没有针对舰船目标制作的标准数据集,因此引用文献[30]的自建舰船数据集,该数据集共12 817张舰船图像,通过手动方式标注目标所在区域并设置标签。本文在该数据集的基础上,通过手动方式对部分未标注的小舰船目标进行了重新标注。最后根据相应比例将样本随机分配给训练集、测试集和验证集,完成数据集的构建,如表1所示。

表1 舰船目标检测数据集 张

2.2 YOLO v3检测算法改进前后对比

为验证算法的检测效果以及改进策略的有效性,实验选取原始YOLOv3 与改进的YOLOv3 检测算法进行对比。

考虑到检测算法用于视频目标标注的准确性和实时性,选取的评价指标为:平均精度均值(mean Average Precision,mAP)和每秒检测帧数(Frames Per Second,FPS),模型在测试集上的检测性能见表2。由表2可知:改进后的YOLOv3 速度比原始算法稍慢,但也达到了23 frame/s,满足视频目标标注的实时性要求;而在精度指标mAP 上超过原始算法,达到了93.8%,具有优异的检测性能。使用同一张分辨率为1 280×720多舰船目标的图像进行测试,YOLO v3 改进前后的检测结果对比如图4 和图5 所示,在图5 中,改进YOLO v3 检测出了部分被原始算法漏检的小舰船目标,并使用相应尺度的边界框准确地标记出来,检测效果较好,可见改进策略提高了YOLOv3算法对于小目标的检测能力。

表2 算法对比结果

图4 原始YOLO v3的检测结果

图5 改进YOLO v3的检测结果

2.3 KCF跟踪算法改进前后对比

为验证跟踪算法尺度自适应改进策略的有效性,实验选取一段拍摄镜头快速拉进,目标尺度变化较大的舰船目标视频,分辨率为640×360,时间长度为10 s,共197帧。使用原始KCF算法和改进后的KCF跟踪算法进行对比,以验证跟踪效果。

首先在视频第一帧手动确定舰船目标区域,如图6所示,然后分别使用原始算法和改进的KCF 算法进行跟踪测试,跟踪结果选取第2、12、22、32、42、52帧,分别如图7(a)~(f)所示,其中蓝色矩形框表示原始KCF跟踪结果,绿色矩形框表示改进KCF 跟踪结果。从对比结果中可以看出,由于原始KCF 跟踪算法没有尺度自适应能力,当舰船尺度变大时,该算法只能跟踪到舰船的部分区域,最终导致跟踪失败;而改进后的KCF跟踪算法添加了尺度判断,提升了算法的尺度自适应能力,目标框可以跟随目标尺度改变,验证了改进策略的有效性。

图6 第一帧手动选取目标区域

图7 KCF算法改进前后跟踪结果对比

2.4 半自动视频目标标注实验

为验证本文提出半自动视频目标标注框架的有效性,采用一段多镜头多类舰船的视频进行实验。该视频分辨率为1 280×720,时间长度为1 min 39 s,共3 286帧,有9 个多舰船目标的分镜头,舰船类型包括航空母舰、驱逐舰、护卫舰等。每个场景镜头的帧数如表3 所示,为加速计算,本实验每5帧标注一次。

表3 视频分镜头及帧数

舰船视频多为直升机或无人机在辽阔海域航拍,视频中有较多小尺度舰船目标,还存在镜头拉近或放远,目标尺度变化较大的情况,因此需要使用改进YOLO v3目标检测算法在上述建立的舰船数据集进行训练,将该目标检测模型作为半自动标注框架在线标注的检测器,提高检测算法对于小目标的检测能力;将改进KCF跟踪算法作为在线标注的跟踪器,提升跟踪算法的尺度自适应能力。

在线标注时,选定某一帧为初始帧,手动标注出舰船位置区域并确定类别标签,在后续帧融合检测结果和跟踪结果时,设定IOU阈值为0.5。例如,在视频第1个镜头的第1帧手动标注目标区域,确定类别标签为航空母舰后,第2 帧的检测结果和跟踪结果如图8 和图9 所示。从图中可以看出,检测器的检测结果中有多个目标,跟踪器的跟踪结果只有一个目标。通过计算跟踪框和每一个检测框的IOU值,只有一个检测框和跟踪框的IOU值大于阈值0.5,因此融合输出目标框为检测框,结果如图10所示。

图8 第2帧的检测结果

图9 第2帧的跟踪结果

图10 第2帧的融合结果

判断目标标注是否结束时,经测试,设定KCF跟踪器响应图峰值阈值θ为0.3,峰值旁瓣比阈值θPSR为3.5较为准确,当峰值和峰值旁瓣比都小于阈值,则标注结束。例如,在视频第2 个镜头的自动标注过程中,KCF跟踪算法响应图的峰值和峰值旁瓣比的折线图如图11和图12所示,当目标消失时,数值会减小。该镜头下的0~47 帧里,KCF 跟踪算法响应图的峰值和峰值旁瓣比数值较大,在第48帧峰值和峰值旁瓣比急剧减小,说明该帧目标消失。由于实验每5帧标注一次,实际上对应了该镜头最后一帧第243 帧的下一帧发生镜头切换。该镜头的最后一帧图像和下一个镜头的第1 帧图像如图13和图14所示。图中可以看出视频是由镜头2切换成镜头3导致目标的消失,说明该方法判断标注结束准确无误。

图11 KCF跟踪算法响应图的峰值变化图

图12 峰值旁瓣比变化图

图13 镜头2的第243帧图像

图14 镜头3的第1帧图像

在判断当前目标标注结束后,根据每一帧的目标显著值St得到该目标的显著值曲线,在曲线的极大值处提取关键帧,本实验设定每个镜头抽出10 帧作为关键帧。例如第6 个镜头的目标显著值曲线如图15 所示。首先将曲线的极大值按从大到小排列,然后取前10 个极大值对应的帧作为关键帧,提取的关键帧如图16(a)~(j)所示。从图中可以看出,根据提取的关键帧具有较强的代表性,反映准确出目标尺寸、角度、光照等变化信息。

图15 目标显著值曲线

图16 镜头6的关键帧

最终该视频耗时大约4 min 20 s标注完毕,提取的关键帧和对应类别如表4所示:从表中可以看出提取的关键帧都在对应的镜头内,进一步证明该方法能够自动结束目标标注。另外该实验的检测模型是使用一般舰船数据集训练的,而通过本文的半自动标注方法,可以实现更细粒度的分类标注。根据实验的结果来看,基于融合检测和跟踪的半自动视频目标标注方法,可以显著提高标注效率,快速准确生成具有样本多样性的标注数据。

表4 每个分镜头的关键帧及目标类型

3 结束语

本文针对视频图像连续帧间的目标具有冗余性,采用手动标注方式耗时耗力的问题,提出一种融合检测和跟踪算法的半自动标注框架,能够快速准确地标注目标。应用于海上舰船视频等存在小目标或者目标尺度变化较大的场景时,对采用的YOLO v3 目标检测算法和KCF 目标跟踪算法进行了改进,提升了目标检测算法对小目标的检测能力和跟踪算法的尺度自适应能力。实验验证了提出的半自动标注方法的有效性。该方法目前只能标注图像中的一个目标,后续将利用多目标跟踪框架,实现在视频中同时标注多个目标。

猜你喜欢

关键帧舰船尺度
舰船通信中的噪声消除研究
舰船测风传感器安装位置数值仿真
财产的五大尺度和五重应对
基于改进关键帧选择的RGB-D SLAM算法
宇宙的尺度
基于相关系数的道路监控视频关键帧提取算法
舰船腐蚀预防与控制系统工程
基于聚散熵及运动目标检测的监控视频关键帧提取
9
一种基于自适应关键帧的视频序列拼接方法