联合YOLOv3检测和ReID的目标跟踪方法

2021-07-03 08:41李福进黄志伟
关键词:中心点特征提取图像

李福进,黄志伟

(华北理工大学 电气工程学院,河北 唐山 063210)

近年来,随着人工智能技术的快速发展,目标跟踪已经成为计算机视觉领域研究热点之一。目标跟踪技术在生产生活中的应用非常广泛,例如自动驾驶[1]、视频监控[2]、虚拟现实、人机交互等。由于在目标跟踪中存在着目标形态、尺度变化以及环境、光照、遮挡等因素的影响,增加了研究难度。因此,研究一种性能优良的跟踪器尤为重要。从经典的Meanshift算法、Camshift算法等,到基于相关滤波跟踪方法,如KCF、SAMF,以及基于检测框架的跟踪方法,如TLD(Tracking-Learning-Detection),目标跟踪方法研究一直在进步。

通常,目标跟踪算法依据工作原理可分为2类:生产式跟踪模型和判别式跟踪模型。基于生产式跟踪模型首先需要建立目标模型和提取目标特征,在后续帧中搜索相似特征实现目标定位。此类算法跟踪速度快,但在过程中由于目标形态、尺度变化的不确定性,使得单依靠数学模型跟踪目标有很大的弊端。基于判别式跟踪模型首先对目标进行特征提取,然后训练分类器来区别背景和目标,此类算法的跟踪精度高,即使存在遮挡也能有效跟踪目标。但是当目标模板存在漂移,特别是在目标消失时常常跟踪失败。为此,研究人员将目标检测算法融入到跟踪中。在基于目标检测的跟踪算法中,将任务分解为2个步骤,简化跟踪任务:(1)在视频每一帧中独立地检测目标位置,(2)通过跨时间连接相应的检测来形成轨迹。而在连接过程中,数据关联是一项具有挑战性的任务,因为在前后关联的目标中存在伪检测、遮挡和目标交互等问题。

为此,该项研究提出一种融合YOLOv3检测算法的跟踪方法,称为TOD(Tracking based on Detector of YOLOv3)。利用YOLOv3检测结构进行分类和特征提取,将检测结果(目标边界框Bbox和特征向量)作为输入并初始化,通过将 帧的Bbox进行回归,得到第t帧新的位置以此来解决跟踪问题。为了保持跟踪的准确性,该项研究还加入了基于孪生网络的外观向量长期重新身份识别(ReID)算法作为目标跟踪子网。图1所示为YOLOv3算法网络结构。

图1 YOLOv3算法网络结构

1基本概念

当前的目标跟踪算法主流是基于检测的框架,即DetectionbasedTracking(DBT),所以检测的质量对于跟踪的性能影响很大。而基于深度学习模型的检测算法,在目标检测中展现出其优势,性能比传统检测算法明显增强。将深度学习检测分为2类:基于分类的R-CNN系列目标检测算法和将检测转换为回归的检测算法。前者首先通过SelectiveSearch等算法产生候选区域[3]根据图像中纹理、边缘、颜色等信息检测较少区域的同时保证了较高的召回率。然后利用卷积神经网络进行分类、回归。代表算法有R-CNN[4],FastR-CNN,FasterR-CNN[5],MaskR-CNN[6]等。此类算法检测精度较高,但是实时性难以满足需求。后者将检测作为一个回归问题处理,直接预测目标位置和分类。代表算法有YOLO(You Only Look Once)[7]系列算法和SSD(Single Shot Multi Box Detector)算法[8]等。此类算法速度快,但精度相对较低。为了实现实时跟踪要求,该项研究选用YOLOv3算法作为检测模块。

1.1 YOLOv3介绍

YOLOv3算法是YOLO系列检测算法的第3个版本,主要由Darknet-53和YOLO层两部分组成,分别用于特征提取、尺度识别和分类。网络结构如图1所示,首先将输入图像调整到416×416大小,使用类似特征金字塔(Feature Pyramid Networks,FPN)[9]结构网络,在Darknet-53特征提取网络中将输入图像划分成S×S大小的单元格得到3种不同尺度的特征图,即13×13、26×26、52×52分别用于检测大中小3种目标,同时在每个单元格上的回归预测有3个anchorbox预测3个边界框。选取其中置信度最大的作为最终检测结果。

YOLOv3在每个单元格上预测了4个边界框坐标(tx,ty,tw,th),分别表示边界框左上角坐标和目标的宽和高。如图2所示,单元格与图像左上角的偏移量为(cx,cy),并且前一个边框的宽和高为(pw,ph),预测对应于:

图2 位置预测边界框

bx=σ(tx)+cx

(1)

by=σ(ty)+cy

(2)

bw=pw·etw

(3)

bh=ph·eth

(4)

通过阈值设定,过滤掉得分较低的预测框,对剩下的进行非极大抑制(Non Maximum Suppression,NMS)处理得到最终预测结果。

1.2 识别(ReID)结构

身份重识别(Re-identification ReID),其定义是利用计算机视觉技术,在图像库和视屏序列中找到搜索目标的技术,ReID更像一个图像检索工具,把检测图像中的目标提取一个feature,然后根据feature判断前后图像的相似度,实现检索的目的。有学者将重识别看作是分类和验证2类问题:(1)分类是指将目标的ID或特征作为训练标签来训练模型。(2)验证是指判断输入的两张图像中是否有相同目标。在目标跟踪中,常常因为遮挡或者跟踪目标消失导致跟踪失败,利用行人重识别匹配失败跟踪,重新找到跟踪目标,是该项研究解决遮挡和目标跟踪错误的主要方法。

首先对视屏第t-1帧图像进行目标检测,将检测到的目标进行特征提取,作为跟踪底库。对 帧图像提取特征,并计算与底库中的图像特征的距离。根据所得结果排序,排名靠前则相似度高。利用rank1和map指标评价ReID算法,其主干结构为Resnet50,将输入图像经过卷积得到特征图谱,然后经池化层输出特征向量,最后识别最终结果。

2目标跟踪模型

近年来,单目标跟踪领域取得了重大进展。像GOTURN[10]、Siamese-FC[11]、ECO[12]、Siamese-RPN[13]这样的跟踪器极大地提高了跟踪精度。但是,在线更新的目标跟踪器速度慢,同时占用大量的内存。而离线训练跟踪器,如Siamese-RPN[14],速度超过每秒80帧,但精度却不够。更重要的是,大多数方法没有将目标跟踪器生成的线索与其他线索结合起来。它们将跟踪器和数据关联过程分开。与此不同,该研究提出一种基于YOLOv3检测算法的目标跟踪算法,将跟踪信息和来自长期轨迹线索关联,实现检测跟踪。使用长期线索有助于解决短期目标跟踪中漂移的问题,这些问题在现有的短期目标跟踪中无法得到有效的解决。

2.1 特征提取

检测过程中有多个候选框被选出,为了跟踪更加精确,需要对候选框进行筛选。选用HSV颜色特征直方图和LBP局部特征直方图来筛选候选框。最后利用非极大抑制确定跟踪目标。LBP特征提取方法:

(5)

其中(xc,yc)为中心像素,ip,ic分别是灰度值和相邻像素灰度值。

(6)

进行边界框筛选时,首先分类过程会过滤掉非目标候选框,剩余候选框根据目标的HSV颜色特征和LBP局部特征进行特征相似度计算。选取计算数值最大的作为筛选结果,计算过程设置权重比例为1:2,相似度阈值为5和3。该项研究利用巴氏相关系数处理直方图特征匹配,巴氏系数公式:

(7)

其中p、q分别为2张图像在直方图上同一位置的概率分布,则HSV颜色特征直方图和LBP局部特征直方图计算公式为:

(8)

(9)

相似度分数为:

S=Y(BC(x1,x2))+2Y(BC(y1,y2))

(10)

式中Y(a)=-ln(b),S为候选框分数。

2.2 基于YOLOv3的目标跟踪算法

目标跟踪的难点在于提取空间位置和时间位置,该研究提出的TOD跟踪算法流程框图如图3所示:

图3 TOD流程框图

在边界盒回归之后,跟踪器会考虑2种放弃轨迹的情况:(1)如果物体在当前帧消失或被一个非跟踪物体遮挡时,它的新分类分数低于设定阈值则放弃轨迹。(2)当对象之间存在遮挡时,则对剩余的边界框与其对应的分类分数的IOU值运用非极大抑制(NMS)处理。

与t=0相似,当Dt在检测集中与当前帧存在的边界框没有显著的IOU时,被认为有新目标出现初始化并更新跟踪列表。

2.3 ReID长期轨迹跟踪

为了使防止跟踪目标发生漂移,提出一种基于Siamese网络作为ReID主干的方法使跟踪更加精确,跟踪结构如图4所示。

图4 ReID长期轨迹跟踪方法

为获得高质量的长期线索,使用一个质量过滤器来选择过去K个时间段内最好的K张图像,以确保质量和鲁棒性。K帧图像的选取规则:

(11)

(12)

(13)

2.4 TOD算法结构

该方法提出的联合YOLOv3检测和ReID的TOD目标跟踪方法结构如下:

(2)在第t-1帧,对于M个目标,使用YOLOv3网络进行检测,并将检测结果回归到下一帧 中形成轨迹。YOLOv3子网为 帧中的目标输出最可能的检测结果。

(3)对于t帧中的一个检测结果Dt,其对应的检测图像外观将被ReID子网用来提取长期的ReID特征。

(4)将跟踪算法在步骤2中得到的目标数据框位置及检测集Dt,与步骤3中获得的ReID特征进行结合,然后进行目标特征匹配。

(5)对于匹配的目标,利用匹配检测的信息更新位置和模板。对于未匹配的目标,更新轨迹位置,并放弃被认为不可靠或丢失的目标。对于孤立的检测结果,如果其置信度满足新目标的条件,则将其添加到跟踪目标集合中。

(6)通过设置t=t+1,在下一帧重复从2到5的步骤,直到没有更多的帧出现。

3实验结果与仿真

该项研究的实验设备CPU为i5-4509,GPU为GT705,该项研究在Windows7系统下利用MATLAB进行开发,编程语言选用C语言。为了更好地展现跟踪性能,实验利用tracker_benchmark_v1.0结合9种跟踪算法作为对比算法。测试数据集为OTB100。

3.1 实验定性分析

综合考虑实际跟踪中受到环境变化因素影响,如目标姿势变化、尺度变化、旋转变化、光照强度变化,遮挡等。该实验选取OTB100数据集中CarScale、Jumping、Skating1、Deer、Matrix、Bolt这6组序列图进行测试。测试结果如图5所示,其中左上角"#X"代表图所在帧。该实验选用不同颜色的跟踪框区分多个算法的跟踪性能。

图5 CarScale、Skating1、Deer、Bolt部分跟踪结果

图5所示为跟踪算法对比跟踪框图,其中左上角的#表示所选序列帧,选用不同颜色的框表示不同算法的跟踪。针对本实验选择的6组测试序列,利用其中4组进行详细分析。

图5(a)是Bolt测试序列,选择第10、15、69、312帧进行分析,这一序列背景包含高速运动、旋转和遮挡,由于速度快,对跟踪算法性能的要求较高,由图5(a)可以看出,在起点位置时各个算法差异不大,但是在后续跟踪中各算法丢失目标严重,第69帧只有少数几个算法能跟随目标,在第312帧时只剩下该研究算法和L1APG2个能够维持稳定。由此可见,该研究提出的算法在高速运动、旋转和遮挡同时存在时性能稳定。

图5(b)是Deer序列,该序列存在快速运动、遮挡、跳跃等影响因素。从图5(b)中可以看出,在目标起跳落下的过程中各算法漂移严重,对实时性无法满足,只有该研究算法实现了实时跟踪,由此可见,该研究提出的跟踪方法满足实时要求。同样受光照影响的还有图5(c)的Skating1序列,在该系列的跟踪过程中性能稳定,无漂移现象的发生,而其他算法丢失目标严重,表现最差的为DFT算法。图5(d)是CarScale测试序列,该序列影响因素是尺度变化、快速运动和遮挡。通过比较发现该研究提出的算法在面对各种复杂环境是都有较好的鲁棒性。

3.2 实验定量分析

为了更好地衡量跟踪算法性能,该项研究采用中心点误差和覆盖IOU来评价跟踪。中心点误差是指实际跟踪目标的中心点与跟踪框中心点之间的欧式距离,覆盖IOU是指跟踪边界框与实际边界框的交集与并集的比值。计算方式如式(14)、(15)所示:

(14)

(15)

其中(xq1,yq1)为跟踪框中心点坐标,(xq2,yq2)为实际目标中心点坐标。area(c)为算法跟踪框面积,area(g)为实际面积。如图6所示为中心点距离误差与覆盖IOU跟踪性能比较。

图6 中心点距离误差与覆盖IOU跟踪性能比较

在选取的6组测试序列中,利用公式可以得出算法的中心点误差值和覆盖IOU值如表1、表2所示:

表1 中心点距离误差平均值

表2 平均覆盖率/%

由表1中可以看出,实验所选6组序列图中,中心点距离误差对比,在Bmx序列图上的表现除了BOOSTING算法与该研究方法接近,其他算法差异很大,对比其他组序列图数据该研究提出的TOD表现最优;而在平均覆盖率IOU指标上,除MIL算法在Iceskater1序列图上表现优于TOD,TOD跟踪算法表现最优。通过比较选取的4种跟踪算法发现KCF算法表现较好,在选取数据集中6组序列图上的中心点平均值约为54.003像素,覆盖率IOU为43.546%,TOD跟踪算法中心点距离误差和覆盖率平均值分别为40.537和51.526%。

综上所述,该研究提出的TOD目标跟踪算法在遇到姿态变化、遮挡、光照变化、运动状态等因素影响时同比4种对比算法有了很大提升。

4结论

实验选用YOLOv3检测算法作为检测与跟踪模块。同时,在对图形进行特征提取中,选用HSV和LBP相联合的方式,对检测集合中的目标进行择优选取。多线索目标跟踪中利用检测回归作为短期跟踪模型,不需要额外的短期跟踪模块减少了计算量,加快了计算速度。而长期目标跟踪过程中加入了ReID网络,使得在长期跟踪过程中有效的解决了跟踪漂移现象。最后,结合的ReID算法也是现在研究热点,能够为以后研究目标跟踪提供新思路。

猜你喜欢
中心点特征提取图像
同步定位与建图特征提取和匹配算法研究
浅析p-V图像中的两个疑难问题
巧用图像中的点、线、面解题
Scratch 3.9更新了什么?
如何设置造型中心点?
磨课,一段痛苦与快乐交织的过程
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
基于曲率局部二值模式的深度图像手势特征提取
寻找视觉中心点
名人语录的极简图像表达