一种车辆重识别方法及装置与流程

专利2022-05-09  136



1.本申请涉及图像处理技术领域,具体涉及一种车辆重识别方法及装置。


背景技术:

2.随着人们生活水平的提高,汽车已经越来越多的进入人们的生活中,
3.现有智慧停车系统中,主要是使用视频监控摄像头实现对车辆的监控,通过人工智能算法,精准识别车辆状态、车位状况与车牌信息,对车位进行高效管理,实现车位资源的实时更新、查询、预定和导航服务,提高车位的使用效率。
4.在对车辆进行实时跟踪时,需要实时的获取车辆的位置关系,通过iou匹配算法进行对视频帧进行关联,从而实现对车辆的跟踪,但是当车辆被遮挡,或者检测算法出现漏检时,使用iou匹配算法将无法进行数据关联,从而导致车辆轨迹的中断,这会对车辆后续的事件判断产生影响,导致系统将无法判别车辆是否驶入或者驶出停车位。


技术实现要素:

5.本申请提供了一种车辆重识别方法及装置,能识别出不同视频流中的同一车辆,维持对车辆跟踪轨迹的连续性。
6.本申请第一方面提供了一种车辆重识别方法,包括:
7.从第一视频流中获取第一目标车辆图像;
8.将所述第一目标车辆图像输入预设模型获取所述第一目标车辆的第一特征向量,所述预设模型的骨干网络为卷积神经网络,所述卷积神经网络用于提取输入的目标车辆图像的特征图,将所述特征图经过切割及矩阵计算后输出特征向量,所述特征向量为所述目标车辆图像的细粒度特征总和;
9.从第二视频流中获取第二目标车辆图像;
10.将所述第二目标车辆图像输入所述预设模型获取所述第二目标车辆的第二特征向量;
11.判断所述第二特征向量与所述第一特征向量的差值是否在预设区间内,所述差值越小表示所述第一目标车辆与所述第二目标车辆相似度越高;
12.若是,则确定所述第二目标车辆与所述第一目标车辆为同一车辆。
13.可选的,所述卷积神经网络包括第一卷积层、池化层、全连接层、softmax层以及4个残差块,所述残差块中包含两个与所述第一卷积层具有相同输出道数的第二卷积层。
14.可选的,将所述第一目标车辆图像输入预设模型获取所述第一目标车辆的第一特征向量,包括:
15.将所述第一目标车辆图像输入预设模型提取所述第一目标车辆图像的第一特征图,所述第一特征图的大小为h
×
w
×
c,所述h为所述第一特征图的高度,所述w为所述第一特征图的宽度,所述c为所述第一特征图的通道数;
16.将所述第一特征图在h的维度上分为p块得到第一分块特征图,所述p为第一预设
值;
17.将所述p个第一分块特征图依次接入所述预设模型中的平均池化层和1
×
1卷积层,得到降低了维度的p个第二分块特征图;
18.将所述p个第二分块特征图输入所述预设模型中的全连接层和softmax层,得到p个分块结果;
19.将所述p个分块结果进行拼接得到所述第一特征向量。
20.可选的,获取所述第一目标视频之前,所述方法还包括:
21.训练原始模型得到预设模型,使得所述预设模型的总损失值达到阈值。
22.可选的,所述训练原始模型得到预设模型,使得所述预设模型的总损失值达到阈值,包括:
23.设置初始化学习率;
24.从一级样本数据集中获取二级样本数据组,并标记获取二级样本数据组的次数,所述二级样本数据组为未训练过的二级样本数据组,所述一级样本数据集中包含有若干组二级样本数据组,所述二级样本数据组中包含有若干张同一车辆id的图片;
25.从所述二级样本数据组中获取第一图像输入原始模型中得到所述第一图像的第三特征向量,并标记输入图像的次数,所述第一图像为未训练过的车辆图片;
26.通过总损失函数计算所述原始模型的第一总损失值并根据所述第一总损失值反向传播更新所述原始模型得到次级模型;
27.判断是否已遍历完所述二级样本数据组中的图像;
28.若否,将第二图像输入所述次级模型并标记输入图像的次数,得到所述第二图像的第四特征向量,所述第二图像中的车辆与所述第一图像中的车辆一致;
29.通过总损失函数计算所述更新后的原始模型的第二总损失值并根据所述第二总损失值反向传播更新所述次级模型;
30.判断所述第二总损失值是否小于所述第一总损失值;
31.若否,判断所述第二总损失值是否小于或等于阈值;
32.若是,则确定所述更新后的次级模型为预设模型。
33.可选的,所述判断所述第二总损失值是否小于或等于所述阈值,所述方法还包括:
34.若是,更新所述学习率。
35.可选的,所述总损失函数为第一损失函数乘以第一权值与第二损失函数乘以第二权值之和,所述第一损失函数为sphere损失函数,所述第二损失函数为triplet损失函数,所述第一权值与所述第二权值分别为第二预设值和第三预设值。
36.可选的,从第一目标视频中获取第一目标车辆图像,包括:
37.使用预设目标检测算法在所述第一视频流中检测出第一目标车辆;
38.生成所述第一目标车辆的图像。
39.本申请实施例第二方面提供了一种车辆重识别装置,包括:
40.第一获取单元,用于从第一视频流中获取第一目标车辆图像;
41.第一输入单元,用于将所述第一目标车辆图像输入预设模型获取所述第一目标车辆的第一特征向量,所述预设模型的骨干网络为卷积神经网络,所述卷积神经网络用于提取输入的目标车辆图像的特征图,将所述特征图经过切割及矩阵计算后输出特征向量,所
述特征向量为所述目标车辆图像的细粒度特征总和;
42.第二获取单元,用于从第二视频流中获取第二目标车辆图像;
43.第二输入单元,用于将所述第二目标车辆图像输入所述预设模型获取所述第二目标车辆的第二特征向量;
44.第一判断单元,用于判断所述第二特征向量与所述第一特征向量的差值是否在预设区间内,所述差值越小表示所述第一目标车辆与所述第二目标车辆相似度越高;
45.确定单元,用于当第一判断单元确定所述第二特征向量与所述第一特征向量的查找在预设区间内时,则确定所述第二目标车辆与所述第一目标车辆为同一车辆。
46.可选的,第一输入单元包括:
47.第一提取模块,用于将所述第一目标车辆图像输入预设模型提取所述第一目标车辆图像的第一特征图,所述第一特征图的大小为h
×
w
×
c,所述h为所述第一特征图的高度,所述w为所述第一特征图的宽度,所述c为所述第一特征图的通道数;
48.第一切割模块,用于将所述第一特征图在h的维度上分为p块得到第一分块特征图,所述p为第一预设值;
49.第一接入模块,用于将所述p个第一分块特征图依次接入所述预设模型中的平均池化层和1
×
1卷积层,得到降低了维度的p个第二分块特征图;
50.第二接入模块,用于将所述p个第二分块特征图输入所述预设模型中的全连接层和softmax层,得到p个分块结果;
51.拼接模块,用于将所述p个分块结果进行拼接得到所述第一特征向量。
52.可选的,所述装置还包括:
53.训练单元,用于训练原始模型得到预设模型,使得所述预设模型的总损失值达到阈值。
54.可选的,所述训练单元包括:
55.初始化模块,用于设置初始化学习率;
56.第一获取模块,用于从一级样本数据集中获取二级样本数据组,并标记获取二级样本数据组的次数,所述二级样本数据组为未训练过的二级样本数据组,所述一级样本数据集中包含有若干组二级样本数据组,所述二级样本数据组中包含有若干张同一车辆id的图片;
57.第一执行模块,用于从所述二级样本数据组中获取第一图像输入原始模型中得到所述第一图像的第三特征向量,并标记输入图像的次数,所述第一图像为未训练过的车辆图片;
58.第一计算模块,用于通过总损失函数计算所述原始模型的第一总损失值并根据所述第一总损失值反向传播更新所述原始模型得到次级模型;
59.第一判断模块,用于判断是否已遍历完所述二级样本数据组中的图像;
60.第二执行模块,用于当第一判断模块确定所述第二样本数据组中的图像未遍历完时,将第二图像输入所述次级模型并标记输入图像的次数,得到所述第二图像的第四特征向量,所述第二图像中的车辆与所述第一图像中的车辆一致;
61.第二计算模块,用于通过总损失函数计算所述更新后的原始模型的第二总损失值并根据所述第二总损失值反向传播更新所述次级模型;
62.第二判断模块,用于判断所述第二总损失值是否小于所述第一总损失值;
63.第三判断模块,用于当第二判断模块结果为否时,判断所述第二总损失值是否小于或等于阈值;
64.确定模块,用于当第三判断模块确定所述第二总损失值小于或等于阈值时,则确定所述更新后的次级模型为预设模型。
65.可选的,所述训练单元还包括:
66.更新模块,用于当第三判断模块确定所述第二总损失值小于或等于阈值时,更新所述学习率。
67.可选的,所述第一获取单元,包括:
68.识别检测模块,用于使用预设目标检测算法在所述第一视频流中检测出第一目标车辆;
69.生成模块,用于生成所述第一目标车辆的图像。
70.本申请第三方面提供了一种车辆重识别装置,包括:
71.处理器、存储器、输入输出单元、总线;
72.所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
73.所述处理器具体执行如下操作:
74.从第一视频流中获取第一目标车辆图像;
75.将所述第一目标车辆图像输入预设模型获取所述第一目标车辆的第一特征向量,所述预设模型的骨干网络为卷积神经网络,所述卷积神经网络用于提取输入的目标车辆图像的特征图,将所述特征图经过切割及矩阵计算后输出特征向量,所述特征向量为所述目标车辆图像的细粒度特征总和;
76.从第二视频流中获取第二目标车辆图像;
77.将所述第二目标车辆图像输入所述预设模型获取所述第二目标车辆的第二特征向量;
78.判断所述第二特征向量与所述第一特征向量的差值是否在预设区间内,所述差值越小表示所述第一目标车辆与所述第二目标车辆相似度越高;
79.若是,则确定所述第二目标车辆与所述第一目标车辆为同一车辆。
80.本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行前述业务链路追踪的方法。
81.从以上技术方案可以看出,本申请将从第一视频流中提取到的第一目标车辆图像输入预设模型中得到该第一目标车辆的第一特征向量,要对该车进行追踪时,将第二视频流中提取到的第二目标车辆图像输入预设模型中得到该第二目标车辆的第二特征向量,由于特征向量涉及到车辆的细粒度,进而能够精确查找车辆的特征,若这两个特征向量的差值在预设区间内,则确定第二目标车辆与第一目标车辆是同一车辆,这样可以维持对该车辆跟踪的连续性。
附图说明
82.图1为本申请中车辆重识别方法的一个实施例流程示意图;
83.图2

1和图2

2为本申请中车辆重识别方法的另一实施例流程示意图;
84.图3为本申请中车辆重识别方法中训练原始模型的一个实施例流程示意图;
85.图4

1和图4

2为本申请中车辆重识别装置的一个实施例结构示意图;
86.图5为本申请中车辆重识别装置的另一个实施例结构示意图。
具体实施方式
87.本申请实施例提供了一种车辆重识别方法,能识别出不同视频流中的同一车辆,维持对车辆跟踪轨迹的连续性。
88.下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本公开申请的较佳实例而已,并不用以限制本公开申请,凡在本公开申请的原则内,所做的任何修改、等同替换、改进等,均应包含在本公开申请保护的范围之内。
89.本申请的方法可以应用于服务器、终端或者其他具备逻辑处理能力的设备,对此具体不做限定,为方便描述,下面以终端为执行主体进行描述。
90.请参阅图1,本申请中车辆重识别方法一个实施例包括:
91.101、终端从第一视频流中获取第一目标车辆图像;
92.在某些情况下需要对某车辆进行追踪,本申请实施例中,终端需要先确定该第一目标车辆的图像,该第一目标车辆图像可以从视频流中获取,该图像中只包含一部完整的车辆图像,当然,第一目标车辆图像也可以由其它设备提供,具体此处不做限定。
93.102、终端将所述第一目标车辆图像输入预设模型获取所述第一目标车辆的第一特征向量,所述预设模型的骨干网络为卷积神经网络,所述卷积神经网络用于提取输入的目标车辆图像的特征图,将所述特征图经过切割及矩阵计算后输出特征向量,所述特征向量为所述目标车辆图像的细粒度特征总和;
94.本申请实施例中,预设模型已经具备稳定性,能够将输入的图像进行处理后输出该图像的特征向量,也就是该图像的细粒度特征,因为不同的车辆都有独有的特征,因此终端将该第一目标车辆图像输入预设模型即可得到第一特征向量。
95.103、终端从第二视频流中获取第二目标车辆图像;
96.当追踪的第一目标车辆从当前视频中消失或者当前视频中断时,为了能够对该第一目标车辆进行持续的追踪,终端从第二视频流中获取第二目标车辆图像,该第二目标车辆图像中至包含一部完整的车辆图像,并且该第二目标车辆不确定是否为第一目标车辆,需要说明的是,本申请中第二视频流与第一视频流可以来自同一段连续的视频数据,也可以来自不同的视频数据,具体此处不做限定。
97.104、终端将所述第二目标车辆图像输入所述预设模型获取所述第二目标车辆的第二特征向量;
98.完成步骤103后,终端将该第二目标车辆图像输入该稳定的预设模型中提取该第二目标车辆图像的第二特征向量。
99.105、终端判断所述第二特征向量与所述第一特征向量的差值是否在预设区间内,所述差值越小表示所述第一目标车辆与所述第二目标车辆相似度越高,若是,则执行步骤106;
100.由于不同的车辆具有不同的特征,基于此本申请实施例将第一特征向量与第二特
征向量进行比较,判断两个特征向量之间的差值是否在预设的区间内,因为即使是同一辆车,在不同的亮度或角度的照片中提取到的特征向量也不一定完全相等,因此设置了一个差值区间来区分第二目标车辆与第一目标车辆是否为同一车辆。
101.106、终端确定所述第二目标车辆与所述第一目标车辆为同一车辆。
102.若两个特征向量的差值在这个区间范围内,终端确定该第二目标车辆即为要追踪的第一目标车辆。
103.本申请实施例中,终端能够从视频数据中提取出第一目标车辆(进行追踪的车辆)图像,通过预设模型获取该第一目标车辆图像的第一特征向量,终端又从包含有第二目标车辆(可疑车辆)的视频数据中提取出第二目标车辆图像,通过预设模型获取该第二目标车辆图像的第二特征向量,若两个特征向量的差值在预设区间内,则确定第二目标车辆即为第一目标车辆,这样即使监控视频中断,也能维持对车辆跟踪的连续性。
104.请参阅图2

1和图2

2,本申请中车辆重识别方法另一个实施例包括:
105.201、终端训练原始模型得到预设模型,使得所述预设模型的总损失值达到阈值;
106.该原始模型的骨干网络为卷积神经网络,该卷积神经网络中包括第一卷积层、池化层、全连接层、softmax层以及4个残差块,所述残差块中包含两个与所述第一卷积层具有相同输出道数的第二卷积层,由于未经过训练的原始模型不稳定,输出的结果存在较大误差,因此需要对原始模型进行训练,包括前向传播和后向传播,以使得训练后的模型的总损失值达到阈值则确定该模型已经可以作为稳定的模型进行使用,本申请实施例中,原始模型的训练过程参见步骤301至步骤311,此处不再赘述。
107.202、终端使用预设目标检测算法在所述第一视频流中检测出第一目标车辆;
108.预设目标检测算法用于从视频流中检测并提取出该视频中包含的某一车辆的完整图像,本申请实施例中,终端通过该预设目标检测算法先从第一视频流中确定要进行追踪的车辆(第一目标车辆)。
109.203、终端生成所述第一目标车辆的图像;
110.终端对步骤202从视频中识别到的第一目标车辆转码生成该第一目标车辆的图像。
111.204、终端将所述第一目标车辆图像输入预设模型提取所述第一目标车辆图像的第一特征图;
112.要对该第一目标车辆进行追踪,本申请实施例将第一目标车辆图像输入预设模型中,该预设模型先提取出该第一目标车辆的特征层得到第一特征图,该第一特征图的大小为h
×
w
×
c,所述h为该第一特征图的高度,所述w为该第一特征图的宽度,所述c为该第一特征图的通道数。
113.205、终端将所述第一特征图在h的维度上分为p块得到第一分块特征图,所述p为第一预设值;
114.终端对该第一特征图进行分块,分块数为p,得到p个第一分块特征图,这些第一分块特征图的大小分别为(h/p)
×
w
×
c,本申请实施例中,p为第一预设值,开发人员可以根据训练情况进行设置,具体此处不做限定。
115.206、终端将所述p个第一分块特征图依次接入所述预设模型中的平均池化层和1
×
1卷积层,得到降低了维度的p个第二分块特征图;
116.本申请实施例中需要进一步减小第一分块特征图的维度,这样能够得到该第一目标车辆更细粒度的特征,因此终端将步骤205得到的第一分块特征图接入该预设模型中的平均池化层和1
×
1卷积层得到第二分块特征图。
117.207、终端将所述p个第二分块特征图输入所述预设模型中的全连接层和softmax层,得到p个分块结果;
118.终端将步骤206所得的第二分块特征图依次接入全连接层和softmax层,通过全连接层得到一个四维的向量,而在全连接层后接softmax层,经过该softmax层输出一个百维的向量,因此每个第二分块特征图都会得到一个向量结果。
119.208、终端将所述p个分块结果进行拼接得到所述第一特征向量;
120.终端将步骤207输出的全部第二分块特征图的向量结果进行拼接即得到该第一目标车辆的第一特征向量。
121.209、终端使用预设目标检测算法在所述第二视频流中检测出第二目标车辆;
122.在对第一目标车辆进行追踪的时候,本申请实施例通过预设目标检测算法从第二视频流中找出第二目标车辆,该第二视频流可以与第一视频流来自同一段连续的视频数据,也可以来自不同的视频数据。
123.210、终端生成所述第二目标车辆的图像;
124.终端将步骤209识别到的第二目标车辆有视频数据转码为图像数据生成第二目标车辆的图像。
125.211、终端将所述第二目标车辆图像输入预设模型提取所述第二目标车辆图像的第二特征图;
126.212、终端将所述第二特征图在h的维度上分为p块得到第二分块特征图,所述p为第一预设值;
127.213、终端将所述p个第三分块特征图依次接入所述预设模型中的平均池化层和1
×
1卷积层,得到降低了维度的p个第四分块特征图;
128.214、终端将所述p个第四分块特征图输入所述预设模型中的全连接层和softmax层,得到p个分块结果;
129.215、终端将所述p个分块结果进行拼接得到所述第二特征向量;
130.本申请实施例中,终端将第二图像输入预设模型提取第二特征向量的过程(步骤211至步骤215)与提取第一特征向量的过程(步骤204至步骤208)的原理类似,此处不再赘述。
131.216、终端判断所述第二特征向量与所述第一特征向量的差值是否在预设区间内,所述差值越小表示所述第一目标车辆与所述第二目标车辆相似度越高,若是,则执行步骤217,若否,则执行步骤218;
132.由于灯光或图片中车辆的倾斜角度等原因造成同一车辆得到特征向量不一致,这些因素对特征向量的总值没有很大的影响,因此本申请实施例中通过特征向量之间的差值来判断第二目标车辆是否为第一目标车辆,两个特征向量之间的差值越小则表示两个目标车辆之间的相似度越高,该差值的区间范围为预设值,可以由开发人员根据实际的模型训练结果进行设置,具体此处不做限定。
133.217、终端确定所述第二目标车辆与所述第一目标车辆为同一车辆;
134.218、终端确定所述第二目标车辆与所述第一目标车辆不是同一车辆。
135.本申请实施例能够从视频流中提取出车辆图像,并且通过预设模型提取出该车辆图像的特征向量,终端再获取第二目标车辆图像以及该第二目标车辆图像的第二特征向量,若第二特征向量与第一特征向量的差值在预设范围即确定第二目标车辆为追踪的第一目标车辆,通过特征向量对车辆进行追踪,在监控视频中断或其他造成追踪中断的情况下也能对该第一目标车辆进行追踪。
136.以上对车辆重识别方法的过程进行了详细的说明,下面将对车辆重识别方法中训练原始模型的方法进行描述。
137.请参阅图3,本申请中车辆重识别方法中训练原始模型的一个实施例包括:
138.301、终端设置初始化学习率;
139.由于模型刚开始训练时,模型的权重是随机初始化的,此时若选择较大的学习率,可能带来模型的不稳定(振荡),因此本申请实施例在原始模型的训练过程中使用warming

up预热学习率策略,在小学习率下,模型可以慢慢趋于稳定,等模型相对稳定后再设置学习率(慢慢增加)进行训练,使得模型收敛速度更快,模型效果更佳。
140.302、终端从一级样本数据集中获取二级样本数据组,并标记获取二级样本数据组的次数,所述二级样本数据组为未训练过的二级样本数据组,所述一级样本数据集中包含有若干组二级样本数据组,所述二级样本数据组中包含有若干张同一车辆id的图片;
141.本申请实施例中,需提前对进行训练的样本数据进行归类,一级样本数据集包含若干组二级样本数据组,对这些二级样本数据组标号,将同一车牌号的不同大小或角度的车辆图片放置于二级样本数据组中,并将这些车辆图片按序标号。在模型训练过程中,是对同一车辆进行识别,因此终端需按序对二级样本数据组进行训练。
142.303、终端从所述二级样本数据组中获取第一图像输入原始模型中得到所述第一图像的第三特征向量,并标记输入图像的次数,所述第一图像为未训练过的车辆图片;
143.确定二级样本数据组后,终端按序将车辆图片输入原始模型中得到输入的图像的第三特征向量,并标记输入图像的次数,以表示训练的次数。
144.304、终端通过总损失函数计算所述原始模型的第一总损失值并根据所述第一总损失值反向传播更新所述原始模型得到次级模型;
145.本申请实施例中,总损失函数l具体计算如公式(1),定义如下:
146.l=λ1l1 λ2l2ꢀꢀ
公式(1)
147.l1为spherefaceloss损失函数,具体计算入公式(2),定义如下:
[0148][0149]
l2为tripletloss损失函数,具体计算如公式(3),定义如下:
[0150]
l2=max(d(a,p)

d(a,n) margin,0)
ꢀꢀ
公式(3)
[0151]
在公式(1)中λ1是l1对应的权重,λ2是l2对应的权重,具体依据训练的效果进行设置,此处不做限定,得到第一总损失值后对当前的原始模型进行反向传播以减少模型在学习上的误差;
[0152]
公式(2)主要用于学习到具有区分性的特征,其中,n是训练样本的数量(标记输入图像的次数),c是样本类别数(标记获取二级样本数据组的组数),s是超参数(本申请实施
例中设置为10);
[0153]
公式(3)的目的是让正样本(同一车牌号)之间的距离小,负样本(不同车牌号)之间的距离大,其中,p是正样本,n是负样本,margin是超参数,具体依据训练效果进行设置,此处不做限定。
[0154]
305、终端判断是否已遍历完所述二级样本数据组中的图像,若是,则执行步骤302,若否,则执行步骤306;
[0155]
本申请实施例中,终端通过二级样本数据组中图像的标号进行判断当前二级样本数据组中的图像是否已遍历到队尾图片,若是,则确定当前二级样本数据组中的图像已经全部经过训练完毕,进入对下一组二级样本数据组的遍历。
[0156]
306、终端将第二图像输入所述次级模型并标记输入图像的次数,得到所述第二图像的第四特征向量,所述第二图像中的车辆与所述第一图像中的车辆一致;
[0157]
终端按序将位于当前已完成训练的图像之后的第二图像输入当前更新后的次级模型中,该次级模型输出该第二图像的第四特征向量。
[0158]
307、终端通过总损失函数计算所述更新后的原始模型的第二总损失值并根据所述第二总损失值反向传播更新所述次级模型;
[0159]
本申请实施例中依据总损失函数中的公式计算更新后的模型中的总损失值(为避免混淆,此处称第二总损失值),并依据该第二损失值对当前的模型进行反向传播,由于步骤307与前述步骤304类似,具体此处不做赘述。
[0160]
308、终端判断所述第二总损失值是否小于所述第一总损失值,若是,则执行步骤309,若否,则执行步骤310;
[0161]
随着当前学习率下训练过程的不断进行,网络的损失越来越小,终端当前将第二总损失值与第一总损失值进行比较,若网络的损失不再降低时,表示当前学习率下的模型已经趋于稳定。
[0162]
309、终端更新所述学习率;
[0163]
终端更新当前模型的学习率,由于本申请实施例采用使用warming

up预热学习率策略,对学习率的更新使用缓慢增加的方式,可以依据预设值进行增加,具体此处不做限定,从而避免造成模型训练过程中梯度爆炸的情况。
[0164]
310、终端判断所述第二总损失值是否小于或等于阈值,若是,则执行步骤311,若否,则执行步骤305;
[0165]
判断模型收敛的方式有多种,本申请实施例通过判断当前损失值是否小于预先设定的阈值,当然也可以通过迭代次数来设定收敛条件,具体此处不做限定,若当前的总损失值未达到该阈值,则继续对模型进行训练。
[0166]
311、终端确定所述更新后的次级模型为预设模型。
[0167]
本申请实施例在模型训练过程中使用warming

up预热学习率策略,使用较小的学习率可以对原始模型进行逐步初始化,减少导致梯度爆炸的发生,当网络训练到趋于稳定时再用较大的学习率进行训练,这种训练策略可以让模型的训练过程更加稳定,不会增加模型的计算量。
[0168]
请参阅图4,本申请中车辆重识别装置一个实施例包括:
[0169]
训练单元401,用于训练原始模型得到预设模型,使得所述预设模型的总损失值达
到阈值;
[0170]
第一获取单元402,用于从第一视频流中获取第一目标车辆图像;
[0171]
第一输入单元403,用于将所述第一目标车辆图像输入预设模型获取所述第一目标车辆的第一特征向量,所述预设模型的骨干网络为卷积神经网络,所述卷积神经网络用于提取输入的目标车辆图像的特征图,将所述特征图经过切割及矩阵计算后输出特征向量,所述特征向量为所述目标车辆图像的细粒度特征总和;
[0172]
第二获取单元404,用于从第二视频流中获取第二目标车辆图像;
[0173]
第二输入单元405,用于将所述第二目标车辆图像输入所述预设模型获取所述第二目标车辆的第二特征向量;
[0174]
第一判断单元406,用于判断所述第二特征向量与所述第一特征向量的差值是否在预设区间内,所述差值越小表示所述第一目标车辆与所述第二目标车辆相似度越高;
[0175]
确定单元407,用于当第一判断单元确定所述第二特征向量与所述第一特征向量的查找在预设区间内时,则确定所述第二目标车辆与所述第一目标车辆为同一车辆。
[0176]
本申请实施例中所述训练单元401,包含有:
[0177]
初始化模块4011,用于设置初始化学习率;
[0178]
第一获取模块4012,用于从一级样本数据集中获取二级样本数据组,并标记获取二级样本数据组的次数,所述二级样本数据组为未训练过的二级样本数据组,所述一级样本数据集中包含有若干组二级样本数据组,所述二级样本数据组中包含有若干张同一车辆id的图片;
[0179]
第一执行模块4013,用于从所述二级样本数据组中获取第一图像输入原始模型中得到所述第一图像的第三特征向量,并标记输入图像的次数,所述第一图像为未训练过的车辆图片;
[0180]
第一计算模块4014,用于通过总损失函数计算所述原始模型的第一总损失值并根据所述第一总损失值反向传播更新所述原始模型得到次级模型;
[0181]
第一判断模块4015,用于判断是否已遍历完所述二级样本数据组中的图像;
[0182]
第二执行模块4016,用于当第一判断模块确定所述第二样本数据组中的图像未遍历完时,将第二图像输入所述次级模型并标记输入图像的次数,得到所述第二图像的第四特征向量,所述第二图像中的车辆与所述第一图像中的车辆一致;
[0183]
第二计算模块4017,用于通过总损失函数计算所述更新后的原始模型的第二总损失值并根据所述第二总损失值反向传播更新所述次级模型;
[0184]
第二判断模块4018,用于判断所述第二总损失值是否小于所述第一总损失值;
[0185]
第三判断模块4019,用于当第二判断模块结果为否时,判断所述第二总损失值是否小于或等于阈值;
[0186]
确定模块40110,用于当第三判断模块确定所述第二总损失值小于或等于阈值时,则确定所述更新后的次级模型为预设模型。
[0187]
更新模块40111,用于当第三判断模块确定所述第二总损失值小于或等于阈值时,更新所述学习率。
[0188]
本申请实施例中第一获取单元402,包含有:
[0189]
识别检测模块4021,用于使用预设目标检测算法在所述第一视频流中检测出第一
目标车辆;
[0190]
生成模块4022,用于生成所述第一目标车辆的图像。
[0191]
本申请实施例中第一输入单元403包含有:
[0192]
第一提取模块4031,用于将所述第一目标车辆图像输入预设模型提取所述第一目标车辆图像的第一特征图,所述第一特征图的大小为h
×
w
×
c,所述h为所述第一特征图的高度,所述w为所述第一特征图的宽度,所述c为所述第一特征图的通道数;
[0193]
第一切割模块4032,用于将所述第一特征图在h的维度上分为p块得到第一分块特征图,所述p为第一预设值;
[0194]
第一接入模块4033,用于将所述p个第一分块特征图依次接入所述预设模型中的平均池化层和1
×
1卷积层,得到降低了维度的p个第二分块特征图;
[0195]
第二接入模块4034,用于将所述p个第二分块特征图输入所述预设模型中的全连接层和softmax层,得到p个分块结果;
[0196]
拼接模块4035,用于将所述p个分块结果进行拼接得到所述第一特征向量。
[0197]
请参阅图5,本申请中车辆重识别装置另一个实施例包括:
[0198]
处理器501、存储器502、输入输出单元503、总线504;
[0199]
所述处理器501与所述存储器502、所述输入输出单元503以及所述总线504相连;
[0200]
所述处理器401具体执行如下操作:
[0201]
从第一视频流中获取第一目标车辆图像;
[0202]
将所述第一目标车辆图像输入预设模型获取所述第一目标车辆的第一特征向量,所述预设模型的骨干网络为卷积神经网络,所述卷积神经网络用于提取输入的目标车辆图像的特征图,将所述特征图经过切割及矩阵计算后输出特征向量,所述特征向量为所述目标车辆图像的细粒度特征总和;
[0203]
从第二视频流中获取第二目标车辆图像;
[0204]
将所述第二目标车辆图像输入所述预设模型获取所述第二目标车辆的第二特征向量;
[0205]
判断所述第二特征向量与所述第一特征向量的差值是否在预设区间内,所述差值越小表示所述第一目标车辆与所述第二目标车辆相似度越高;
[0206]
若是,则确定所述第二目标车辆与所述第一目标车辆为同一车辆。
[0207]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0208]
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0209]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0210]
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0211]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

技术特征:
1.一种车辆重识别方法,其特征在于,包括:从第一视频流中获取第一目标车辆图像;将所述第一目标车辆图像输入预设模型获取所述第一目标车辆的第一特征向量,所述预设模型的骨干网络为卷积神经网络,所述卷积神经网络用于提取输入的目标车辆图像的特征图,将所述特征图经过切割及矩阵计算后输出特征向量,所述特征向量为所述目标车辆图像的细粒度特征总和;从第二视频流中获取第二目标车辆图像;将所述第二目标车辆图像输入所述预设模型获取所述第二目标车辆的第二特征向量;判断所述第二特征向量与所述第一特征向量的差值是否在预设区间内,所述差值越小表示所述第一目标车辆与所述第二目标车辆相似度越高;若是,则确定所述第二目标车辆与所述第一目标车辆为同一车辆。2.根据权利要求2所述的车辆重识别方法,其特征在于,所述卷积神经网络包括第一卷积层、池化层、全连接层、softmax层以及4个残差块,所述残差块中包含两个与所述第一卷积层具有相同输出道数的第二卷积层。3.根据权利要求2所述的车辆重识别方法,其特征在于,将所述第一目标车辆图像输入预设模型获取所述第一目标车辆的第一特征向量,包括:将所述第一目标车辆图像输入预设模型提取所述第一目标车辆图像的第一特征图,所述第一特征图的大小为h
×
w
×
c,所述h为所述第一特征图的高度,所述w为所述第一特征图的宽度,所述c为所述第一特征图的通道数;将所述第一特征图在h的维度上分为p块得到第一分块特征图,所述p为第一预设值;将所述p个第一分块特征图依次接入所述预设模型中的平均池化层和1
×
1卷积层,得到降低了维度的p个第二分块特征图;将所述p个第二分块特征图输入所述预设模型中的全连接层和softmax层,得到p个分块结果;将所述p个分块结果进行拼接得到所述第一特征向量。4.根据权利要求1所述的车辆重识别方法,其特征在于,获取所述第一目标视频之前,所述方法还包括:训练原始模型得到预设模型,使得所述预设模型的总损失值达到阈值。5.根据权利要求4所述的车辆重识别方法,其特征在于,所述训练原始模型得到预设模型,使得所述预设模型的总损失值达到阈值,包括:设置初始化学习率;从一级样本数据集中获取二级样本数据组,并标记获取二级样本数据组的次数,所述二级样本数据组为未训练过的二级样本数据组,所述一级样本数据集中包含有若干组二级样本数据组,所述二级样本数据组中包含有若干张同一车辆id的图片;从所述二级样本数据组中获取第一图像输入原始模型中得到所述第一图像的第三特征向量,并标记输入图像的次数,所述第一图像为未训练过的车辆图片;通过总损失函数计算所述原始模型的第一总损失值并根据所述第一总损失值反向传播更新所述原始模型得到次级模型;判断是否已遍历完所述二级样本数据组中的图像;
若否,将第二图像输入所述次级模型并标记输入图像的次数,得到所述第二图像的第四特征向量,所述第二图像中的车辆与所述第一图像中的车辆一致;通过总损失函数计算所述更新后的原始模型的第二总损失值并根据所述第二总损失值反向传播更新所述次级模型;判断所述第二总损失值是否小于所述第一总损失值;若否,判断所述第二总损失值是否小于或等于阈值;若是,则确定所述更新后的次级模型为预设模型。6.根据权利要求5所述的车辆重识别方法,其特征在于,所述判断所述第二总损失值是否小于或等于所述阈值,所述方法还包括:若否,更新所述学习率。7.根据权利要求5所述的车辆重识别方法,其特征在于,所述总损失函数为第一损失函数乘以第一权值与第二损失函数乘以第二权值之和,所述第一损失函数为spherefaceloss损失函数,所述第二损失函数为tripletloss损失函数,所述第一权值与所述第二权值分别为第二预设值和第三预设值。8.根据权利要求1至7中任一项所述的车辆重识别方法,其特征在于,从第一目标视频中获取第一目标车辆图像,包括:使用预设目标检测算法在所述第一视频流中检测出第一目标车辆;生成所述第一目标车辆的图像。9.一种车辆重识别装置,其特征在于,包括:第一获取单元,用于从第一视频流中获取第一目标车辆图像;第一输入单元,用于将所述第一目标车辆图像输入预设模型获取所述第一目标车辆的第一特征向量,所述预设模型的骨干网络为卷积神经网络,所述卷积神经网络用于提取输入的目标车辆图像的特征图,将所述特征图经过切割及矩阵计算后输出特征向量,所述特征向量为所述目标车辆图像的细粒度特征总和;第二获取单元,用于从第二视频流中获取第二目标车辆图像;第二输入单元,用于将所述第二目标车辆图像输入所述预设模型获取所述第二目标车辆的第二特征向量;第一判断单元,用于判断所述第二特征向量与所述第一特征向量的差值是否在预设区间内,所述差值越小表示所述第一目标车辆与所述第二目标车辆相似度越高;确定单元,用于当第一判断单元确定所述第二特征向量与所述第一特征向量的查找在预设区间内时,则确定所述第二目标车辆与所述第一目标车辆为同一车辆。10.根据权利要求9所述的车辆重识别装置,其特征在于,所述装置还包括:训练单元,用于训练原始模型得到预设模型,使得所述预设模型的总损失值达到阈值。
技术总结
本申请公开了一种车辆重识别方法及装置,其中方法包括:从第一视频流中获取第一目标车辆图像;将第一目标车辆图像输入预设模型获取第一目标车辆的第一特征向量,预设模型的骨干网络为卷积神经网络,卷积神经网络用于提取输入的目标车辆图像的特征图,将特征图经过切割及矩阵计算后输出特征向量,特征向量为目标车辆图像的细粒度特征总和;从第二视频流中获取第二目标车辆图像;将第二目标车辆图像输入预设模型获取第二目标车辆的第二特征向量;判断第二特征向量与第一特征向量的差值是否在预设区间内,差值越小表示第一目标车辆与第二目标车辆相似度越高;若是,则确定第二目标车辆与第一目标车辆为同一车辆。与第一目标车辆为同一车辆。与第一目标车辆为同一车辆。


技术研发人员:唐健 高声荣 王浩 石伟 陶昆
受保护的技术使用者:深圳市捷顺科技实业股份有限公司
技术研发日:2021.03.01
技术公布日:2021/6/29

转载请注明原文地址:https://doc.8miu.com/read-7776.html

最新回复(0)