龚琳茜
(南京理工大学计算机科学与工程学院 南京 210094)
在视频序列中选中目标人员,并在序列中进行持续的身份识别与跟踪,可以被用于安防、交通、城市治安等领域,具有广阔的应用前景。而深度学习作为一种工具,具有强大的特征表达能力,被广泛应用于这类视觉目标检测、识别与跟踪的应用中。
目标身份识别与跟踪的前提是稳定的目标检测。目前,先进的目标检测算法有基于区域生成网络(RPN)的Fast-RCNN[1]、Faster-RCNN[2]等,和去除区域生成而降低了计算成本的YOLO[3~6]系列算法。其中,YOLO 系列算法在准确性与实时性中都取得了显著的效果。最新的模型YOLOv4 在MS COCO数据集上在65 FPS的实时率下取得了43.5%的平均精度[6]。本文的目标检测与提取方法将基于YOLOv4进行。
身份识别基于对目标人员区别于其他人员的特征。本文基于深度残差网络ResNet[7]进行候选目标特征提取,经过在人员识别数据集上的训练,模型能够将目标人员与其他候选目标的关联性加以度量。通过候选目标特征与预提取的模板目标特征的关联,达成前后帧的目标持续跟踪。
如图1 所示,本文基于YOLOv4 对视频序列进行目标检测,提取出所有疑似的候选目标人员。基于ResNet 训练目标身份识别网络,提取所有司仪人员的深层特征,对其到目标特征模板进行距离度量,区分目标人员与其他伪目标,达到身份识别与跟踪的效果。
图1 整体网络结构示意图
目标检测算法应用特征提取网络进行浅层基础特征的提取,常用的特征提取网络有AlexNet[8],VGG[9],ResNet[7],DarkNet[4]等。本文的目标检测方法基于目前在实时性与准确性上达到折中效果的深度学习网络YOLOv4[6]。前作YOLOv3使用Dark⁃Net53 作为基础特征提取网络,引入了残差模块[7]和Bottleneck[10]结构以解决深层传递模型参数时梯度消失的问题。在一块Titan X 显卡上获得了57.9 AP50的成绩。
YOLOv4 在前作使用的DarkNet53 的基础上提出了CSPDarknet53作为特征提取网络,在每组残差模块上加上CSP[11]结构。如图2 所示,CSP 结构将该层的特征映射过程分为两个部分,第一个部分将经过取消了Bottleneck的DarkNet网络层模块,另一部分则直接或经过简单卷积层后,到达下一个网络层级进行结合。这样的网络设计成功减少了参数规模,使训练难度降低,并能加快神经网络的前向推理的速度。使得YOLOv4 在前作的基础上,获得了更好的实时性能。
图2 CSP模块示意图
YOLOv4 使用Mish[12]激活函数代替前作使用的Leaky ReLU[13]激活函数。Leaky ReLU 的定义如下:
相较于Leaky ReLU,Mish 激活函数保证了每一点的平滑,从而使下降效果较其更佳。Mish激活函数定义如下:
通过基础特征提取网络提取到了一些相关的浅层特征,对这部分浅层特征进行增强是目标检测中关键的步骤。YOLOv4 使用的一些特征增强技巧如下:
SPP[14]:SPP是空间金字塔池化技巧,可以使网络进行多尺度特征提取,使得输入为任意尺寸时,仍然生成固定大小的图片。
SAM[15]:SAM是一种卷积的注意力机制模块,结合了空间和通道的注意力机制,YOLOv4 将空间范围的注意力机制改为点范围的注意力机制。
PAN[16]:PAN是一种基于提议的实例分割框架下的路径聚合网络。如图3所示,在YOLOv4中,将融合的方法由和改为乘积。
图3 YOLOv4对PAN的改进
另外,YOLOv4 沿用了前作的检测头,其提取特征主要目的是区别不同目标的种类,因而无法直接进行身份识别判断。在目标人员识别的应用场景中,YOLO 检测的目标类别被设定为人类,并在视频序列中检测出候选人员,以进行后续的人员身份识别。
尽管YOLO 使用的DarkNet系列网络在目标检测上具有更强大的性能,其在图像分类领域不是最优的特征提取网络。本文综合考虑算法的实时性和精度,基于ResNet 训练身份识别网络。在不同深度的ResNet 上进行训练实验的结果表明,该方法具有有效性。
由于网络的加深会造成梯度爆炸和梯度消失的问题,常规的卷积神经网络收敛速度变慢,且分类准确率表现相对较差。ResNet[7]将计算机视觉领域常用的残差表征的概念,进一步应用在了CNN模型当中。如图4 所示的残差模块,使用多个有参网络层来学习输入、输出之间的参差。
图4 ResNet的两种基本网络结构
本文基于ResNet 训练身份识别网络作为基础的特征提取器。具体地说,基于ResNet-18 网络结构,提取目标检测网络输出的候选人类目标的特征表示,并要求该特征表示具有区别人员身份的独特性。ResNet-18的基本网络结构如图5所示。
图5 ResNet18的网络基本结构
不同于一般图像分类的特征骑去网络,使用交叉熵损失作为后向传播的点,结合中心损失[18]作为训练网络的基础。中心损失函数的作用是减少分类结果的类内差异,增大其类内样本的相似性。
交叉熵损失函数的具体定义如下:
中心损失函数的具体定义如下:
使用中心损失函数作为训练人员身份识别网络的损失函数,使得特征提取网络的输出特征在类内距离减小,是人员识别有效的手段。对于特征提取网络的独特的特征输出,进行与目标人员特征模板的距离度量,可以判断目标身份,达到目标判断与跟踪的目的。
对数据库中未知的人员进行持续的身份识别与跟踪时,一个有效的距离度量是必要的。本文使用均方误差和作为所有目标特征与所有疑似目标特征之间距离的度量。
使用预训练的ResNet-18 和ResNet-50 做前向推理时的实时性比较结果显示,在检测识别正确率差距较小的情况下,使用ResNet-18 在一块英伟达1080Ti 显卡上的跟踪帧率达到平均50fps,使用ResNet-50 帧率为25fps,使用ResNet-18 的总和效果更佳。
表1 不同网络框架识别结果对比
本文在常见的动态跟踪场景中可能出现的情况下进行了实验,分别有:1)多个伪目标同时存在时,算法对唯一目标的识别;2)目标被其他伪目标遮挡后,数帧之内回到视野中时的识别;3)在目标走出视野后,数帧之内又回到视野中时的识别。如图6 所示,在多个伪目标存在时,可以对唯一目标进准确的识别;在目标被伪目标遮挡后回到视野中时,可以恢复对目标的识别;在目标被出视野后回到视野中时,可以恢复对目标的识别。
图6 多种情况下的识别跟踪效果示意图
本文在相同的场景下,试验了核相关滤波算法KCF[19]与基于深度学习的算法GOTURN[20]算法,如图7、8 所示。在目标在被遮挡后在视野中消失的情况下,本文方法的表现更佳。
图7 KCF在视野消失场景下的跟踪表现
图8 GOTURN在视野消失场景下的跟踪表现
目标人员身份识别与跟踪有广泛的应用前景。本文针对在各种目标丢失场景下的恢复问题,提出了将目标检测与身份识别结合的跟踪网络。实验表明,其在目标由于视野限值或遮挡后消失的情况下具有有效性。