APP下载

基于视觉的水面背景下目标检测与跟踪算法

2022-02-03詹云峰黄志斌付波王小龙

科学技术与工程 2022年33期
关键词:漂浮物邻域粒度

詹云峰, 黄志斌, 付波, 王小龙

(湖北工业大学电气与电子工程学院, 武汉 430068)

持续改善环境质量依然是中国的重要工作,其中完善跨区域、流域、海域的环境监管机制建设尤为重要。目前,在水域环境治理中,主要的方法利用遥感技术掌握流域覆被变化信息[1]、检测水质[2]等。

随着神经网络的快速发展,越来越多的机器视觉算法被提出,文献[3]使用MobileNetv3网络获得输出特征后引入深度可分离卷积方法的特征金字塔堆叠,完成多尺度特征提取,并进行分类和边界框回归,达到道路坍塌、坑洼检测的目的。文献[4]利用多卷积神经网络融合DXNet模型,抽取经典模型卷积部分进行融合,作为特征提取器,共享全连接层用作分类器,实现富士苹果品质分级。而搭载机器视觉清漂船的使用也已经进入成熟阶段,在水面漂浮物的识别与跟踪过程中发挥着越来越重要的作用。因此,清漂船视觉系统的自动化程度越来越高,具有广阔的应用前景。为了解决水面背景下特定目标精准识别与定位的问题,文献[5]采用MobileNet的神经网络快速提取全图特征,并设计单步多框目标检测(single shot multibox detector,SSD)结构的检测网络融合各层特征图以完成快速多尺度检测大型船、小型船和摩托艇。文献[6]采用快速区域卷积神经网络(faster region convolutional neural networks,Faster R-CNN)算法对水面漂浮物进行初次识别和定位,对识别结果采用类别激活网络去除边界框,运用像素点来标注目标位置。文献[7]利用梯度下降法微调AlexNet网络模型并融合光照矫正技术识别水面常见的塑料袋与塑料瓶。文献[8]利用深度卷积神经网络(deep convolutional neural networks,DCNN)提取抽象的高层特征,并用SoftMax分类器对其进行训练,实现水面漂浮物分类识别。文献[9]中基于不同深度视觉几何组(visual geometry group,VGG)网络设计4个不同深度的湖面塑料制品漂浮物识别分类模型。文献[10]基于Mask R-CNN 模型设计一套漂浮物标签分类规则,建立起河湖领域真实数据样本集,然后构建以抓图服务、人工智能(artificial intelligence,AI)分析和预警平台为核心模块的水面漂浮物识别方案。近几年,目标跟踪算法已取得很大的进步与进展,将其应用于搭载视觉的清漂船上,对目标识别后,再对其进行跟踪。文献[11]利用深度学习提取单帧深度语义特征,再利用相关滤波跟踪计算帧间方向梯度特征相关性,通过特征对比将时空信息进行融合,实现水面目标检测与跟踪。文献[12]提出了搜索区域自适应算法,通过对海面场景的分割完成了海天线位置的提取,对海天线运动模型自适应地确定每帧图像中目标搜索的区域。文献[13]提出基于YOLOv3算法的目标识别模型,通过降采样重组、多级融合、优化聚类候选框、重新定义损失函数等方式优化网络结构实现物体跟踪。

综上所述,在检测水面漂浮物的过程中,时常伴随着目标尺寸较小、被遮挡等问题的产生。因此,现针对这些问题展开研究,提出一种基于视觉的水面背景下目标检测和跟踪方法,先通过对YOLO网络结构进行多粒度特征融合的改进,解决因被检测目标过小的问题,再引入K领域搜索感兴趣区域,与长短期记忆神经网络(long-short term memory,LSTM)相结合,提升在跟踪目标被遮挡的情况下的跟踪性能。

1 基于多粒度特征融合的YOLO目标检测算法

基于视觉的水面背景下目标检测和跟踪的方法,设计流程如图1所示。首先读入视频并利用目标检测技术将水面目标检测出来,再通过跟踪模块将检测出来的目标进行按帧跟踪并反馈位置。

图1 基于视觉的水面背景下目标检测和跟踪流程图Fig.1 Flow chart of target detection and tracking in water background based on vision

对于目标检测而言,深度学习网络的方法是通过多次卷积计算提取图像特征,并在此过程中充分利用像素信息来提高探测器的性能,可应用于水面背景下的目标识别。而YOLO作为One-Stage检测算法之一,将目标检测问题转化为一个回归问题求解,利用卷积神经网络可以预测边界框(bounding box)的位置信息以及所属类别概率。其结构非常简单,检测速度非常快,可以实现视频的实时检测,从而更好地实现对漂浮物的跟踪。

1.1 YOLO网络结构

YOLO算法[14]将通过24个卷积层与2个全连接层对20个不同类别的物体进行检测。将大小为448×448的图片输入网络中,将其分割为7×7个网格(grid cell),最终输出的是7×7×(2×5+20)维度的张量(tensor),其网络结构如图2所示。

Conv.Layer为卷积层;Conv.Layers为多个卷积层;Maxpool Layer为最大池化层;Conn.Layer为连接层;s为步长图2 YOLO网络结构图Fig.2 Structure diagram of YOLO network

其中2×5维度的张量为每个网格要预测2个边界框,而每个边界框包含5个值:位置信息(x,y,w,h) 与置信度(confidence score)。

置信度表达式为

(1)

(2)

式(2)中:Classi为第i个类别。

使用均方和误差作为损失函数,如式(3)所示,分别由坐标误差、IoU误差、分类误差组成。

(3)

式(3)等号右侧共有5项,其中,前两项为坐标误差,即负责检测box的才有位置损失,其余无须回传误差无须计算;第三、四项为IoU误差,负责检测的box的label是实时计算IoU,无目标的为0;最后一项为分类误差,即包含目标的cell才有类别损失,同理,其余无须计算。默认每个网格只出现一个类别,因此每个网格单元只能预测一个类,这种空间约束限制了模型可预测附近对象的数量。以及只采用了最后一层的卷积特征作为输出,利用浅层信息较少,而小物体特征在高层神经网络中容易丢失,导致难以检测小物体。

1.2 基于多粒度特征融合的YOLO目标检测

针对1.1节所分析的难以检测小物体的问题,计划修改YOLO模型的网络结构,将在网络结构对Conv_4、Conv_5进行改进,并将208×208×32、52×52×256与13×13×1 024的特征图进行融合[15],首先将208×208×32与52×52×256维度的特征图进行尺度上的处理,将每一个特征图的2×2的局部区域转化为通道上的维度,则相对应的转化为13×13×8 192与13×13×4 096,最终融合后获得13×13×13 312尺度的特征图。虽然完成尺度一样,但是带来了巨大的计算压力,因此底层细粒度特征不能直接进行处理,而先将尺度为208×208×32、52×52×256的特征图通过1×1的卷积核进行降维,分别生成尺度为13×13×1 024、13×13×1 024的特征图,然后再进行特征融合,特征图融合生成的新特征图尺度为13×13×3 072,如图3所示。

图3 多粒度特征融合流程图Fig.3 Flow chart of multi-granularity feature fusion

最终使得所生成的目标特征图中综合考虑了高层特征和浅层特征,再对其进行卷积,生成不同类别对象的边界框位置、置信度和概率; 最后通过非极大值抑制确定最终的检测目标和分类结果,如图4所示。

Conv_1~Conv_6表示卷积层模块;Maxpooling表示最大池化层图4 基于YOLO的多粒度特征融合的目标检测算法网络结构图Fig.4 Network structure diagram of target detection algorithm based on Multi-granularity feature fusion of YOLO

相对于原始的YOLO目标检测算法,做出如下改进。

(1) 针对卷积神经网络对输入图像尺度不敏感问题,采用全卷积神经网络结构,去除YOLO中的全连接层,并使用全局平均池化的方式产生固定长度的特征向量,对模型进行训练。

(2) 针对检测小物体不准确的问题,加入了特征融合,利用1×1的卷积核对特征图进行降维,统一转换成13×13×1 024维度的特征图后进行叠加,使得底层特征与深层特征进行融合,生成13×13×3 072维度的特征对目标进行检测,通过SoftMax分类器进行判别。其网络层结构与参数如表1所示。

表1 基于YOLO的多粒度特征融合的目标检测算法网络结构参数表Table 1 Network structure parameter table of target detection algorithm based on multi-granularity feature fusion of YOLO

1.3 实验与结果分析

在PASCAL VOC数据集上对所提出的多粒度特征融合的YOLO目标检测算法与Fast R-CNN目标检测算法、Faster R-CNN目标检测算法和YOLO目标检测算法进行平均检测精度(mean average precision,mAP)与目标检测速度,即每秒帧率(frame per second,FPS)对比,结果如表2所示。

由表2可知,相较于Two-Stage目标检测的Fast R-CNN算法、Faster R-CNN算法而言,One-Stage目标检测的YOLO算法在检测速度上有质的提升,这是由于该算法将目标检测问题转化为回归问题,直接在输出层回归边界框的位置与类别的概率,更适用于跟踪算法中。而本文算法对比于YOLO算法,以降低3 帧/s的检测速度换取了16.1%的检测精度的提升,很大程度依赖于多粒度特征向量的融合,实现尺寸较小的目标检测。

表2 目标检测算法对比表Table 2 Comparison table of target detection algorithms

2 基于LSTM与K邻域结合的目标跟踪算法

受到太阳光照射到水面发生反射现象,呈现水面噪声污染严重,且伴随着背景复杂以及漂浮物被遮挡的问题,使清漂船在目标跟踪上增大难度。因此提出将K邻域搜索与长短期记忆神经网络(LSTM)[16]相结合,实现对水面上目标的跟踪。

2.1 基于K邻域搜索感兴趣区域

在目标跟踪过程中,目标位置不会发生突变,在相邻帧序列视频图像中位置通常也相近[17]。因此在目标检测成功后,引入K邻域搜索方法将目标的边界框坐标传给下一帧作为感兴趣区域基准,以提高跟踪算法的成功率,如图5所示。

图5 K邻域搜索方法示意图Fig.5 Schematic diagram of K neighborhood search method

其中绿色区域表示目标,橙色框表示在上一帧中目标的边界框,蓝色框表示在当前帧使用K邻域搜索方法所得的感兴趣区域。蓝色框大小的确定是以橙色框的中心为基准,以橙色框的宽wobject与高hobject的K倍作为蓝色框的宽wsearch与高hsearch,表达式为

(4)

基于多粒度特征融合的目标检测算法在不同K值的检查结果如图6所示,其中白色框为目标区域。统计在K分别取为2、3和5时目标矩形周边区域的物体检测出的数量,统计结果如表3所示。

表3 K邻域搜索的多粒度特征融合的YOLO检测结果统计表Table 3 YOLO detection results of multi-granularity feature fusion in K neighborhood search

由此可见,K=3时物体周边检测的成功率效果较好; 且K邻域搜索感兴趣区域的引入在一定程度上提高多粒度融合的YOLO算法的检测成功率,提高目标跟踪效果。

同时,在实际目标跟踪场景下,K邻域搜索方法还能以K为阈值,仅检测K邻域搜索感兴趣框内的目标,强制筛选在K邻域搜索框以外的候选目标。即如图6中,K=3时,只检测红框内即K<3的物体,将对红框外的物体强制剔除,使得在复杂的背景下能够增强抗干扰能力,并且减少算法在跟踪过程中提取特征所使用的时间。

图6 K邻域搜索的多粒度特征融合的YOLO检测结果Fig.6 YOLO detection results based on multi-granularity feature fusion for K neighborhood search

2.2 基于LSTM的目标位置预测

目标跟踪是对视频当前帧图像目标位置的处理以准确预测下一帧图像中目标位置[18]。长短期记忆人工神经网络(long-short term memory,LSTM)[19]是一种改进的时间循环神经网络(recurrent neural network,RNN)。LSTM通过设计专门的记忆单元来保存前一时段的历史信息,从而实现对信息的长期记忆。如图7所示,LSTM算法通过引入“输入门、输出门、遗忘门”机制保留视频序列中长期依赖的特征。通过上一个神经元的输出和该时间点的输入综合输入经过有选择的遗忘部分信息再作为下一时刻单元的部分输入和该单元的输出[20]。

A表示一个LSTM模块图7 LSTM网络结构图Fig.7 Structure diagram of LSTM network

其每一个神经元的输入门、遗忘门、输出门的表达式为

(5)

当前t时刻LSTM输出为

ht=ottanh[ftct-1+ittanh(wo[ht-1,xt]+bo)]

(6)

式中:ht为t时刻的输出;it为t时刻的输入;σ为sigmoid函数;wi、bi、wf、bf、wo、bo分别为输入门、遗忘门、输出门需要学习的权重及偏置参数。

将所提取的13×13×3 072维特征向量作为LSTM的输入,经过LSTM神经网络处理后获取相应帧的目标跟踪框,其结构图如图8所示。

图8 LSTM目标位置预测模块结构图Fig.8 Structure diagram of LSTM target position prediction module

其输入包含两部分特征信息,分别是13×13×3 072维度的目标特征图和上一帧中第一个LSTM网络记忆的输出特征图。

其中第一个LSTM网络的输出有两方面作用。

(1)作为下一个LSTM神经网络的输入,对当前帧的边界框坐标值回归。

(2)通过LSTM的“门”机制捕获视频帧间目标的特征,将这些特征作为下一帧中第一个LSTM网络的输入。

由此可见,第一个LSTM在跟踪模块中充当着更新的角色,利用LSTM神经网络的特性在不需要反向传播更新网络的前提下实现跟踪,进一步缓解硬件平台的计算压力,提升模型跟踪性能。

第二个LSTM网络输出是预测边界框的坐标值,包括边界框左上角和右下角点的坐标值,其坐标值会作为下一帧感兴趣区域确定模块的输入。

在训练过程中,优化的目标函数表达式为

(7)

式(7)中:Bgt、Bpr分别为Ground Truth和预测框的坐标信息。

训练过程中,若预测的边界框和Ground Truth的交并覆盖率大于设定阈值,则认为跟踪成功,并将预测的结果输出,同时将预测边界框坐标作为感兴趣区域确定模块的输入,为下一帧目标跟踪做准备; 否则,跟踪失败,需要对当前帧进行检测,将检测结果进行输出并重复以上跟踪过程。

因此,提出的目标跟踪算法模型由3部分组成,分别是感兴趣区域确定模块、目标检测模块和位置预测模块,如图9所示,具体步骤如下。

图9 基于视觉的水面背景下目标检测和跟踪算法模型Fig.9 Target detection and tracking algorithm model based on vision in water surface background

步骤1利用多粒度特征融合的YOLO目标检测算法与LSTM位置预测模块对第一帧图像进行检测并输出第一帧跟踪框坐标。

步骤2根据上一帧的跟踪框坐标,经过K邻域搜索感兴趣区域确定模块确定目标的感兴趣区域。

步骤3使用目标检测模块提取出感兴趣区域的目标特征,并将多粒度的目标特征融合为13×13×3 072的特征图。

步骤4将提取融合后13×13×3 072维度的特征图作为LSTM神经网络的输入,LSTM神经网络直接对目标跟踪框的坐标进行回归,输出目标跟踪框。

步骤5重复步骤2~步骤4的过程直至跟踪结束。

3 实验验证

3.1 实验平台与样本数据库建立

实验数据集利用CCD相机采集了塑料袋图像280张、塑料瓶图像300张、纸张图像250张以及各水面漂浮物图像250张,将数据集进行扩充,经过镜像、旋转(±30°和±60°) 、随机裁剪、调整明暗度和添加噪声的操作将分辨率为1 580张1 920×1 080图像的数据集扩充为8 000张,以及30个水面塑料袋、塑料瓶和纸张的视频序列。部分采集到的数据如图10所示,图10(a)为具有部分小目标挑战属性的数据,图10(b)为具有部分快速移动和复杂背景挑战属性的数据,图10(c)为具有部分小目标、遮挡和复杂背景挑战属性共存的数据。

图10 部分采集的数据样本Fig.10 A partial sample of collected data

3.2 目标数据集的训练

使用标注工具LabelImg来标注图像样本,标记的图像保存为XML文件。训练时,将采用多粒度特征融合的YOLO算法对PASCAL VOC数据集进行训练得到预训练模型,再融入水面漂浮物的数据集样本进行模型迁移训练。网络训练时采用Adam梯度下降算法代替原始的SGD梯度下降算法进行优化。该梯度下降算法学习率的更新方式如表达式为

(8)

式(8)中:α0为初始学习率,α0=0.000 1;epoches为迭代次数;rdecay为衰减率。

训练过程优化的损失函数如式(3) 所示,损失函数考虑了目标检测位置的误差和置信度误差以优化目标检测类别预测和Bbox坐标的预测值。模型训练过程中的参数配置如表4所示。

表4 模型训练的参数配置表Table 4 Parameter configuration of model training

基于LSTM的目标跟踪算法模型在基于YOLO改进的多粒度特征融合的目标检测算法的基础上进行训练的。同理,先利用VOT2016数据集预训练好的模型再进一步训练,即将采集的水面漂浮物视频数据经过序列化标注后加入VOT2016数据集进行训练。LSTM网络直接对预测目标跟踪框的坐标进行回归,模型训练的优化目标函数为

(9)

式(9)中:Sp∩g为目标跟踪算法预测的目标跟踪框与Ground Truth相交部分的面积;Sp∪g为目标跟踪算法预测的目标跟踪框与Ground Truth并集部分的面积;IoU为交并覆盖率。模型优化方法选用Adam梯度下降算法。

使用的编程平台为python3.6和tensorflow1.12,系统为Ubuntu16.04LTS。硬件平台的GPU为RTX2080Ti,CPU为Intel i9-9900k,内存为64 GB。

3.3 目标测试集的结果验证

为了验证本文算法在解决实际水面漂浮物跟踪过程中所遇到的漂浮物快速移动、被遮挡以及体积较小等问题。从采集的视频数据中选取具有相应问题的视频序列如表5所示,用于所提目标跟踪算法检测及结果分析,剩下的24个视频序列数据集用于模型训练。

表5 测试数据及其问题所在Table 5 Test data and problems

3.3.1 快速移动与背景复杂的应用场景

如图11所示,在不同帧图像中,KCF、ROLO、TLD及Struck算法均出现跟踪失败或跟踪框发生较大的偏移的现象; 但是本文算法都成功跟踪目标且在跟踪精度上明显优于其他算法,得益于LSTM的时序关联性有效学习到视频帧之间目标的语义与运动特征,并且K邻域搜索感兴趣区域快速确定目标区域,提高特征提取的速度,进而提升本文算法在复杂背景环境下对目标快速移动的跟踪速度。

图11 视频序列202105314跟踪效果图Fig.11 Video sequence 202105314 tracking renderings

3.3.2 小目标跟踪与尺度变化的应用场景

如图12所示,在不同帧图像中,伴随着水面倒影与强光照射的干扰,ROLO算法错误地跟踪了与漂浮物具有相似特征的阳光照射下的水面,且随着视频帧数的增加,在漂浮物越来越小和尺度发生明显变化的情况下,KCF、TLD及Struck算法均跟踪失败。而本文算法效果稳定,依然能够成功跟踪目标。这都依赖于多粒度特征融合算法,能够有效地提取小目标的特征,同时K邻域搜索兴趣区域在上一帧成功跟踪的基础上快速确定下一帧的目标区域,提升特征提取的有效性,减少目标跟踪的失败率,提高本文算法对目标较小和尺度变化的应用场景下的跟踪效果。

图12 视频序列202105316跟踪效果图Fig.12 Video sequence 202105316 tracking renderings

3.3.3 小目标、遮挡与复杂背景的应用场景

如图13所示,在漂浮物出现轻微遮挡的情况下,本文算法对目标物跟踪准确,但其他算法均跟踪失败。在漂浮物出现严重遮挡的情况下,本文算法虽然出现跟踪框少许偏移,但仍然成功跟踪了目标,但其他算法仍跟踪失败。由此可见,在存在遮挡的情况下,小目标特征无法得到很好提取时,本文算法的LSTM网络利用自身“记忆”成功能将之前帧跟踪目标的特征作为当前帧的输入,依然能实现在复杂背景下对被遮挡的小目标进行跟踪。

图13 视频序列202105318跟踪效果图Fig.13 Video sequence 202105318 tracking renderings

3.4 算法的有效性验证

设置跟踪框与Ground Truth的交并覆盖率的阈值为0.6,跟踪框和Ground Truth的中心误差的阈值设置为20个像素。在表6、表7和表8数据上对所提出的目标跟踪算法和Struck、TLD、KCF以及ROLO目标跟踪算法分别进行跟踪成功率、跟踪准确率、算法速度的对比与分析。

表6 目标跟踪算法跟踪成功率对比Table 6 Comparison of tracking success rates of target tracking algorithms

表7 目标跟踪算法跟踪准确率对比Table 7 Comparison of tracking accuracy of target tracking algorithms

表8 目标跟踪算法速度对比Table 8 Speed comparison of target tracking algorithms

由此可见,所提出的目标跟踪算法在这6个存在目标体积较小、被遮挡、背景复杂等问题的视屏序列中,具有更好跟踪表现,其平均跟踪成功率为57.1%,平均跟踪准确率为71.1%,特别是在被遮挡的小物体视频上,相较于其他算法而言具有较好的跟踪能力,且平均跟踪速度达到45.4 帧/s,虽然不及KCF,但能满足日常视频中目标检测与跟踪的速度,且在准确率与成功率上,具有较好的检测效果。

4 结论

由此可见,本文算法在采用多粒度特征融合的网络结构能够有效提取小目标物的特征,再通过K邻域搜索感兴趣区域可以快速确定下一帧特征提取的区域,减小目标外的复杂背景干扰,提高算法在复杂背景下小目标的跟踪成功率; 当目标处于被遮挡的情况下,无法较好提取特征时,利用LSTM网络自身“记忆”功能将之前帧跟踪目标的语义与运动特征作为当前帧的输入,依然能够实现遮挡情况下的目标跟踪。

猜你喜欢

漂浮物邻域粒度
基于混合变邻域的自动化滴灌轮灌分组算法
神秘的海上漂浮物
粉末粒度对纯Re坯显微组织与力学性能的影响
稀疏图平方图的染色数上界
三峡水库近坝段水面漂浮物对水质的影响*
基于邻域竞赛的多目标优化算法
酷暑下的三峡清漂工
基于细节点邻域信息的可撤销指纹模板生成算法
双粒度混合烧结矿颗粒填充床压降实验
泉州湾表层沉积物粒度特征分析