1.本发明涉及目标跟踪技术领域,具体涉及一种基于对比学习方式的多目标跟踪方法。
背景技术:
2.多目标跟踪技术涉及人工智能领域,尤其涉及计算机视觉和深度学习技术,被广泛应用于智能视频监控、智能安保、智慧园区、智慧城市以及自动驾驶等领域。
3.当前广泛研究和实现多目标跟踪的方法之一是基于检测的跟踪,该方法要求先应用检测得到输入图像中目标的定位框,然后根据目标的定位框进行下一步的跟踪。可以将基于检测的多目标跟踪方法描述为前后帧图像的目标定位框的匹配问题,其目标是将前一帧图像中物体的定位框和后一帧图像中物体的定位框一一对应起来,这种对应关系拓展到整个视频流中便形成了视频中多个物体的跟踪轨迹。
4.要将前后两帧图像中目标的定位框进行匹配的一般做法是:利用检测模块确定前后两帧图像中目标定位框信息;利用reid模块对图像中目标的定位框所框定的区域提取特征;选择某种特征度量方式(如欧式距离、马氏距离和cosine距离等)对提取的特征计算相似性度量;根据相似性度量利用某种匹配算法(如贪婪算法、匈牙利算法等)对前后两帧图像中目标的定位框进行匹配;得到最优的匹配结果即是最后的跟踪结果。
5.目前已有的多目标跟踪方法存在如下几种问题:(1)当前多目标跟踪方法的检测模块和reid(person re-identification)模块多为先后关系。具体表现为reid模块需要接收来自检测模块确定的目标定位框,其处理次数与目标定位框的数量成正比,增加计算复杂度。
6.(2)当前多目标跟踪方法将检测模块和reid模块进行一体化(one-shot)处理,从同一个特征层次学习所需要的信息。虽然解决了计算复杂度的问题,但实际上两种模块会存在竞争关系,不利于网络学习。
7.(3)当前多目标跟踪方法以分类方式作为reid模块的监督信号,其数据集的实例类别数目与最终跟踪性能强耦合。具体体现在,实例类别数目的多少直接关系到reid模块重识别特征的质量,影响后续相似度匹配精度,进而影响最终跟踪性能。
8.如中国专利cn109522843b,公开日2021年7月2日,一种多目标跟踪方法及装置、设备和存储介质,其中,所述方法包括:确定待处理视频中待跟踪目标的行人检测框;根据所述行人检测框,确定所述待跟踪目标的行人姿态信息、行人再识别特征;根据所述行人姿态信息、行人再识别特征和所述行人检测框,确定所述待处理视频中相邻两帧视频对应的相似度矩阵;根据所述相似度矩阵对所述待跟踪目标进行跟踪,得到所述待跟踪目标的跟踪结果。其存在检测模块和reid模块相互独立,导致计算复杂程度高、计算效率低的问题。
技术实现要素:
9.本发明要解决的技术问题是:目前的多目标跟踪方法存在检测模块和reid模块相
互独立,导致计算复杂程度高、计算效率低的技术问题。提出了一种能够避免reid模块独立训练和二次推理过程,降低计算复杂程度、提高计算效率的基于对比学习方式的多目标跟踪方法。
10.为实现上述目的,本发明所采取的技术方案为:一种基于对比学习方式的多目标跟踪方法,包括如下步骤:通过主干结构提取输入图像的基础特征;通过颈结构将主干结构的底层结构特征和深层语义特征进行融合,将获得的多尺度特征信息输出给头结构作为共享特征;头结构通过互相关模块将接收的共享特征解耦为两个独立的特征表示,检测模块和reid模块并行接收来自互相关模块的相应特征,通过检测模块进行目标定位框获取,通过reid模块进行框定区域的重识别特征获取;通过后处理模块计算和匹配相似性度量,完成对图像的目标跟踪。
11.所述头结构包括互相关模块、检测模块和reid模块,检测模块和reid模块并行接收来自互相关模块的特征,只需一次前向推理即可获取输入图像中的目标定位框和定位框框定区域的重识别特征,之后,就可以应用后处理模块如deepsort算法,计算和匹配相似性度量完成前后两帧图像的跟踪。
12.作为优选,所述互相关模块解耦共享特征的过程包括:对于检测模块和reid模块之间的独立性特征,通过自关联方式进行独立性信息学习;对于检测模块和reid模块之间的共性特征,通过交叉关联方式进行共性信息学习;融合自关联和交叉关联的权重,计算每个任务模块的特征表示。通过一个互相关(cross-correlation)模块,学习用于检测模块和reid模块的共性和独立性特征表示。针对独立性信息学习,自关联(self-relation)学习不同特征通道之间的相互关系并重构来增强独立模块的特征表示。针对共性信息学习,两个模块之间的共性信息会通过一个交叉关联(cross-relation)机制进行学习。
13.作为优选,计算每个任务自关联的权重的过程包括:通过颈结构获得多尺度共享特征f∈rc×h×w,其中c、h和w分别表示特征的通道数、高和宽;利用平均池化操作获得尺度更小的特征f
′
∈rc×h′×w′
;输入到一个卷积层中获得针对不同任务模块的特征t1和t2;重塑成{m1,m2}∈rc×n,其中n
′
=h
′×w′
;将不同的任务单独与它自身的转置进行矩阵乘法,利用softmax计算每个任务自关联的权重计算式如下:其中,表示在特征tk中第i通道和第j通道之间的关系。
14.通过平均池化(avgpool)、重塑(reshape)、转置(transpose)等操作进行每个任务自关联的权重计算。
15.作为优选,交叉关联的权重计算过程包括:通过颈结构获得多尺度共享特征f∈rc×h×w,其中c、h和w分别表示特征的通道数、
高和宽;利用平均池化操作获得尺度更小的特征f
′
∈rc×h′×w′
;输入到一个卷积层中获得针对不同任务模块的特征t1和t2;重塑成{m1,m2}∈rc×n,其中n
′
=h
′×w′
;在m1和m2的转置之间执行矩阵乘法,应用softmax层生成交叉关联的权重计算式如下:其中代表任务模块1/2的第i通道对任务模块2/1的第j通道的影响。
16.通过上述计算式可分别得到自关联和交叉关联的权重。
17.作为优选,计算每个任务模块的特征表示的过程包括:通过可训练参数γ,融合自关联和交叉关联的权重,得到{w1,w2}∈rc×c,计算式如下:将多尺度共享特征f重塑为rc×n,其中n=hxw;在重塑特征和学习的权重{w1,w2}∈rc×c之间执行矩阵乘法,获得每个任务模块的增强表示;将增强表示与多尺度共享特征f通过残差计算进行融合再重塑,得到每个任务模块最终的特征表示
18.通过互相关模块解耦头结构的多尺度共享特征,获得检测模块和reid模块各自相应的特征表示,缓解了两个模块的竞争和粒度问题。
19.作为优选,所述检测模块包括分类分支和回归分支,通过分类分支确定当前定位框的类别,通过回归分支确定目标所在的位置;所述reid模块包括重识别特征分支,通过重识别特征分支获取目标定位框框定区域的重识别特征。检测模块分为两个分支,一个是分类分支,确定当前定位框的类别;另一个是回归分支,确定目标所在的位置,如框的左上和右下点的坐标。reid模块获取目标定位框框定区域的重识别特征,借鉴对比学习思想直接学习样本数据的特征分布。
20.作为优选,重识别特征分支的损失函数计算过程包括:将一张图像作为关键帧,从关键帧的相邻帧随机选择一张图像作为参考帧;利用锚框与对应标签之间的交并比确定两帧图像的正负样本,正负样本的重识别特征对应于reid模块提取的重识别特征;计算重识别特征分支的损失函数l
embed
,计算式如下:其中,v为关键帧训练样本,k为参考帧匹配样本,k
为正样本的重识别特征,k-为负样本的重识别特征。
21.每帧图像中会包含正负两种样本,只有两帧中正样本且来自同一个目标的正样本匹配结果才为正,否则为负。
22.作为优选,整个多目标跟踪网络的损失函数计算式如下:
l
total
=l
det
γl
embed
其中,l
total
表示整个网络的损失,l
det
表示检测模块的损失,l
embed
表示reid模块的损失,γ表示两个模块之间的权重平衡系数。权重平衡系数通常设置为0.025。
23.作为优选,所述分类分支、回归分支和重识别特征分支均包括第一部分和互不相同的第二部分,第一部分包括由4个卷积层构成的卷积块,所述分类分支的第二部分包括卷积核大小为3、步幅为1、通道数为c的卷积层,所述回归分支的第二部分包括卷积核大小为3、步幅为1、通道数为d的卷积层,所述重识别特征分支的第二部分包括卷积核大小为3、步幅为1、通道数e的卷积层。
24.其中,c表示待识别目标类别的数量,d表示定位框的左上和右下点的坐标,e表示重识别特征的维数。第一部分是由4个卷积核大小为3,步幅为1,通道为256的卷积层构成的卷积块,结构为bn-conv-relu-bn-conv-relu-bn-conv-relu-bn-conv-relu,其中bn、conv和relu分别指批归一化、卷积层和修正线性单元。
25.本发明的实质性效果包括:(1)本发明的多目标跟踪方法将检测模块和reid模块看作同层次的任务,直接从输入图像中提取待识别目标的定位框信息以及对应的重识别特征,避免了reid模块独立训练和二次推理过程。
26.(2)本发明的多目标跟踪方法提出一种互相关模块以独立学习检测模块和reid模块各自的特征表示,缓解了两个模块的竞争和粒度问题。
27.(3)本发明的多目标跟踪方法提出利用对比学习方式作为reid模块的监督信号,无需统计分类的实例类别数目,提高模型学习效率。
附图说明
28.图1为本实施例主要步骤的流程示意图;图2为本实施例的网络拓扑结构示意图;图3为本实施例的多目标跟踪网络结构示意图;图4为本实施例互相关模块的结构示意图。
29.其中,1、输入图像,2、共享特征,3、互相关模块,4、特征表示,5、检测模块,6、reid模块,7、主干结构,8、颈结构,9、头结构。
具体实施方式
30.下面通过具体实施例,并结合附图,对本发明的具体实施方式作进一步具体说明。
31.一种基于对比学习方式的多目标跟踪方法,如图1所示,包括如下步骤:通过主干结构7提取输入图像1的基础特征;通过颈结构8将主干结构7的底层结构特征和深层语义特征进行融合,将获得的多尺度特征信息输出给头结构9作为共享特征2;头结构9包括互相关模块3、检测模块5和reid模块6,头结构9通过互相关模块3将接收的共享特征2解耦为两个独立的特征表示4,检测模块5和reid模块6并行接收来自互相关模块3的相应特征,通过检测模块5进行目标定位框获取,通过reid模块6进行框定区域的重识别特征获取;检测模块5和reid模块6并行接收来自互相关模块3的特征,只需一次前向
推理即可获取输入图像1中的目标定位框和定位框框定区域的重识别特征;通过后处理模块计算和匹配相似性度量,完成对图像的目标跟踪,应用后处理模块如deepsort算法,计算和匹配相似性度量完成前后两帧图像的跟踪。
32.现有的多目标跟踪方法基于先检测后跟踪的思想,首先通过检测模块5确定目标的定位框信息,其次利用reid模块6提取目标定位框区域的重识别特征,然后对每个重识别特征计算相似性度量,并通过相关匹配算法完成目标的匹配,并为同一目标分配同一轨迹编号。
33.(1)现有的多目标跟踪方法检测模块5和reid模块6是两个独立的任务,需要分别进行训练,增加了跟踪系统的复杂度,测试阶段多次使用,增加计算复杂度。
34.多目标跟踪方法的重识别特征思想来源于行人重识别(reid,person re-identification)技术。对于多目标跟踪来说,输入数据为整张图像,而对于行人重识别而言,输入数据是图像中的待识别目标,是整个图像的一个子图。由于两者输入数据层次的不同,因此在训练期间两个模块要独立训练,测试期间需要首先利用检测模块5从输入图像1中提取出每个待识别目标的定位框,然后再将每个待识别目标定位框的区域,即子图,送给reid模块6获取重识别特征。reid模块6需要接收来自检测模块5所确定的目标定位框,处理次数与目标定位框的数量成正比,增加了计算复杂度。
35.本发明的多目标跟踪方法将reid模块6与检测模块5看作同层次的任务,直接从输入图像1中提取待识别目标的定位框信息以及对应的重识别特征,避免了训练期间的独立训练和测试期间的二次推理过程,降低了计算复杂程度,提高了多目标跟踪网络的计算分析效率。
36.(2)现有的多目标跟踪方法,将检测模块5和reid模块6进行一体化(one-shot)处理,同时从同一个特征层次中学习所需要的信息,但实际上两种模块会存在竞争关系,加重了网络学习的成本。
37.检测模块5和reid模块6本属于两种不同的任务,却在一体化(one-shot)多目标跟踪方法中共享一个特征表示4,加重学习成本。具体表现为,一体化(one-shot)多目标跟踪方法将检测模块5所需的目标类别置信度、目标位置信息和reid模块6所需的目标重识别特征信息都从一个特征表示4进行提取,忽略了两者的差异。两个模块学习的特征可能是模糊的、歧义的、不准确的,也可能只为了追求一个任务而导致另一个任务性能下降,存在竞争关系。另一个方面,两个任务的信息粒度不同,检测模块5需要相同类的不同目标特征信息具有相似的语义,而reid模块6需要学习两个目标之间的区别性语义。然而,当前的多目标跟踪方法并没有对两者的特征进行区分。
38.本发明的多目标跟踪方法首先利用互相关(cross-correlation)模块将检测模块5和reid模块6共享的特征解耦为两个独立的特征分支,以独立学习各自的特征表示4,如图2所示。然后这两个模块独立的特征表示4使用自注意力机制进行自关联(self-relation)和交叉关联(cross-relation)。自关联(self-relation)促进独立模块的学习,交叉关联(cross-relation)促进两者协同的学习。为此,互相关模块3(cross-correlation)缓解了两个模块的竞争和粒度问题。
39.(3)现有多目标跟踪方法,以分类的方式直接监督reid模块6的学习,降低了网络学习效率。
40.分类,即是将样本数据化为某一类别的信息,用事先确定好的类别或实例来描述样本。由于是事先确定好的类别或实例,因此要明确知道数据集中所有样本的类别或实例总数。对于一个实际可用的多目标跟踪数据集,该类别或实例可达几万到几十万不等,且随着图像数据的增加,类别或实例数目也会随之增加。对于网络来说,类别或实例数目越多,学习的困难程度越高,甚至无法学习。
41.本发明的多目标跟踪方法提出利用对比学习方式作为reid模块6的监督信号,无需统计分类的类别或实例数目,提高模型学习效率。对比学习(contrastive learning)的核心思想是把正样本和正样本的距离拉近、正样本和负样本的距离拉远,从而直接学习到样本的分布状态,而不是每个样本所属于的类别。最终的目的是对于样本集数据,在经过模型后可以区分哪些是正样本,哪些是负样本。
42.本发明的一种基于对比学习方式的多目标跟踪方法结构示意图如图3所示,主要包括三大部分,分别为主干结构7、颈结构8和头结构9,箭头表示信息的流动方向。其中主干结构7(如resnet50)用来提取输入图像1的基础特征;颈结构8(如fpn)将主干结构7的底层结构特征和深层语义特征进行融合,获得多尺度特征信息,同时输出不同尺度的特征,作为头结构9的共享特征2;头结构9是为具体任务而设计的,包括互相关模块3、检测模块5和reid模块6;互相关模块3接收来自颈结构8的不同尺度的共享特征2,并解耦为两个独立的特征表示4,分别输入检测模块5和reid模块6,避免两者相互竞争和粒度问题。
43.从图3中可以看到,检测模块5和reid模块6并行接收来自互相关模块3的特征,只需一次前向推理即可获取输入图像1中的目标定位框和定位框框定区域的重识别特征。
44.检测模块5分为两个分支,一个是分类分支,确定当前定位框的类别;另一个是回归分支,确定目标所在的位置,如框的左上和右下点的坐标。reid模块6获取目标定位框框定区域的重识别特征,借鉴对比学习思想直接学习样本数据的特征分布。之后,就可以应用后处理模块如deepsort算法,计算和匹配相似性度量完成前后两帧图像的跟踪。本发明的重点在于reid模块6与检测模块5并行表示、互相关模块3解耦特征以及对比学习思想学习样本分布,故不在此详细说明deepsort算法。
45.为了提高多目标跟踪网络结构的紧凑性以及训练、测试的一致性,本发明中直接将reid模块6嵌入到多目标跟踪网络结构的头结构9中,与检测模块5并行接收来自上一层次的特征,如图3所示。
46.具体表现为,在头结构9中,分类、回归和重识别特征分支分别由两部分组成,第一部分是由4个卷积核大小为3,步幅为1,通道为256的卷积层构成的卷积块,结构为bn-conv-relu-bn-conv-relu-bn-conv-relu-bn-conv-relu,其中bn、conv和relu分别指批归一化、卷积层和修正线性单元;第二部分,是为具体分支而设计的一个卷积层,其中分类分支为卷积核大小为3,步幅为1,通道数为c的卷积层,c表示待识别目标类别的数量;回归分支为卷积核大小为3,步幅为1,通道数为4的卷积层,4表示定位框的左上和右下点的坐标;重识别特征分支为卷积核大小为3,步幅为1,通道数256的卷积层,256表示重识别特征的维数。
47.为了避免一体化(one-shot)多目标跟踪方法中检测模块5和reid模块6存在竞争和粒度问题,提高独立学习表示特征的能力,本发明提出一种新颖的互相关(cross-correlation)模块有效的解耦了共享特征2。
48.通过一个互相关(cross-correlation)模块,学习用于检测模块5和reid模块6的
共性和独立性特征表示4。针对独立性信息学习,自关联(self-relation)学习不同特征通道之间的相互关系并重构来增强独立模块的特征表示4。针对共性信息学习,两个模块之间的共性信息会通过一个交叉关联(cross-relation)机制进行学习。
49.该互相关(cross-correlation)模块的详细结构如图4所示。形式上,假设经过颈结构8后获得的多尺度共享特征2为f∈rc×h×w,其中c、h和w分别表示特征的通道数、高和宽;然后利用平均池化(avgpool)操作获得尺度更小的特征f
′
∈rc×h′×w′
;之后将其输入一个卷积层中获得针对不同任务模块的特征t1和t2;然后把它们重塑(reshape)成形式{m1,m2}∈rc×n,其中n
′
=h
′×w′
;接着将不同的任务单独与它自身的转置(transpose)进行矩阵乘法,并应用softmax计算每个任务自关联(self-relation)的权重计算方式如下:其中,表示在特征tk中第i通道和第j通道之间的关系。
50.同样,在m1和m2的转置(transpose)之间也执行矩阵乘法,以学习不同任务之间的共性,然后应用softmax层生成交叉关联(cross-relation)的权重计算方式如下:其中代表任务模块1/2的第i通道对任务模块2/1的第j通道的影响。
51.通过可训练参数γ,融合自关联(self-relation)和交叉关联(cross-relation)的权重,得到{w1,w2}∈rc×c,计算方式如下:将多尺度共享特征2f重塑(reshape)为形状rc×n,其中n=hxw。
52.然后在重塑特征和学习的权重{w1,w2}∈rc×c之间执行矩阵乘法,以获得每个任务模块的增强表示,并将增强表示与多尺度共享特征2f通过残差计算进行融合再重塑(reshape),得到每个任务模块最终的特征表示
53.至此,通过互相关(cross-correlation)模块解耦头结构9的多尺度共享特征2,获得检测模块5和reid模块6各自的特征表示4,缓解了两个模块的竞争和粒度问题。
54.通过互相关(cross-correlation)模块分别获得检测模块5和reid模块6的特征表示4和然后,将特征表示4输入给分类分支和回归分支,输入给重识别特征分支,结构如前文,分别得到分类、回归和重识别特征结果p
cls
,p
reg
和p
embed
;之后,与对应分支的标签g
cls
,g
reg
和g
embed
构造损失函数,通过反向传播算法更新网络权重进行网络训练。
55.对于分类分支和回归分支与普通的检测任务类似,损失函数分别使用focalloss
和giou。
56.对于重识别特征分支,本发明借鉴对比学习思想直接学习样本数据的特征分布,提出了一种新的损失函数l
embed
,如下。
57.如图3所示,给出一张图像作为关键帧,从关键帧的相邻帧随机选择一张图像作为参考帧。利用锚框(anchor)与对应标签之间的交并比(iou)来确定两帧图像的正负样本,正负样本的重识别特征对应于reid模块6提取的重识别特征。每帧图像中会包含正负两种样本,只有两帧中正样本且来自同一个目标的正样本匹配结果才为正,否则为负。
58.假设关键帧有v个样本用于训练,参考帧有k个样本用作匹配目标,对于每个训练样本,使用交叉熵函数来优化匹配结果,计算式如下:v,k
和k-分别为训练样本,正样本和负样本的重识别特征。
59.总体损失为所有训练样本损失的均值,上面只显示了一个样本的情况,即只有一个正样本匹配情况下的损失。对于两帧上的所有样本,即关键帧的每个样本都要匹配参考帧的样本,因此,关键帧的训练样本在参考帧就不一定只有一个正目标,所以将计算式改为:但是上述计算式负样本会被考虑多次,而正样本只会考虑一次,因此继续将计算式重写为:这样,多个正样本的情况下,可以将它拓展为:因此,整个多目标跟踪网络可以优化为一个多任务损失函数:l
total
=l
det
γl
embed
其中l
total
表示整个网络的损失,l
det
表示检测模块5的损失,l
embed
表示reid模块6的损失,γ表示两个模块之间的权重平衡系数,设置为0.025。
60.本方案中的reid即行人重识别(reid,person re-identification),也称为行人再识别,是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术。广泛被认为是一个图像检索的子问题。给定一个监控行人图像,检索跨设备下的该行人图像。旨在弥补固定的摄像头的视觉局限,并可与行人检测/行人跟踪技术相结合,可广泛应用于智能视频监控、智能安保等领域。
61.以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
转载请注明原文地址:https://tc.8miu.com/read-403.html