一种车辆重识别方法、系统、计算机设备和存储介质

文档序号:27256587发布日期:2021-11-05 19:54阅读:116来源:国知局
一种车辆重识别方法、系统、计算机设备和存储介质

1.本发明涉及车辆重识别技术领域,特别是涉及一种基于超分辨率的局部特征提取车辆重识别方法、系统、计算机设备和存储介质。


背景技术:

2.随着深度学习的发展,车辆重识别问题在最近几年得到广泛的研究,目前,常用的车辆重识别方法有两种,一种方法是度量学习,通过设计相应的相似度度量函数,使得相似的图片距离拉近,不相似的图片距离推远,以便把属于同一辆车的图片寻找出来;另一种方法是特征表示学习,利用深度学习的强大表达能力,提取车辆图片的全局特征和局部特征来进行车辆重识别。
3.这两种方法在使用过程中都存在一定的局限性,由于不同车辆之间的类间相似和同一车辆的类内差异都很大,第一种方法无法很好的适应多个不同的视角,对于视角变化大的数据集效果会降低;第二种方法中车辆的局部特征多种多样难以提取,并且在不同视角下提取局部特征时会造成与全局特征的重复计算,并且带来不必要的噪声,影响重识别的效果。


技术实现要素:

4.本发明的目的是解决车辆重识别中类间相似和类内差异问题,利用目标检测方法把局部区域聚焦在小且具有辨识度的特征块上,减少计算过程中的噪声,并结合超分辨率技术提升局部区域的图片质量,提高重识别的准确率。
5.为了实现上述目的,本发明提供了一种基于超分辨率的局部特征提取车辆重识别方法、系统、计算机设备和存储介质。
6.第一方面,本发明实施例提供了一种基于超分辨率的局部特征提取车辆重识别方法,所述方法包括:
7.将车辆图像输入第一神经网络,从中提取全局特征,并对所述全局特征进行训练,得到全局分支重识别结果;
8.对所述车辆图像中的局部区域目标进行检测,得到初始局部区域块;
9.对所述初始局部区域块进行超分辨率处理,得到高质量局部区域块;
10.将所述高质量局部区域块输入第二神经网络,从中提取局部特征,并对所述局部特征进行训练,得到局部分支重识别结果;
11.将所述全局分支重识别结果和所述局部分支重识别结果加权求和,得到重识别结果。
12.进一步地,所述对所述车辆图像中的局部区域目标进行检测,得到初始局部区域块的步骤包括:
13.通过yolov5模型对所述车辆图像中的局部区域目标进行检测,得到局部区域目标的边界框;
14.将所述边界框内的图像区域作为初始局部区域块。
15.进一步地,所述对所述初始局部区域块进行超分辨率处理,得到高质量局部区域块的步骤包括:
16.将所述初始局部区域块输入rcan模型,对所述初始局部区域块进行超分辨率处理,得到高质量局部区域块。
17.进一步地,所述将所述高质量局部区域块输入第二神经网络,从中提取局部特征,并对所述局部特征进行训练,得到局部分支重识别结果的步骤包括:
18.对所述高质量局部区域块进行重识别的检索,计算所述高质量局部区域块与待检索图片块的欧式距离;
19.根据所述欧式距离,计算每一个高质量局部区域块的辨识度分数;
20.根据所述辨识度分数计算训练所用的辨识度损失函数。
21.进一步地,采用如下公式计算所述所述高质量局部区域块与待检索图片块的欧式距离:
[0022][0023]
其中h,w分别代表高质量局部区域块的高与宽,j代表每个像素点,与代表来自两个不同局部特征块的像素点;
[0024]
采用如下公式计算每一个高质量局部区域块的辨识度分数:
[0025][0026]
采用如下公式计算训练所用的辨识度损失函数:
[0027][0028]
其中,i为同一车辆图像检索出的所有局部区域块个数,k为对所述高质量局部区域块进行重识别的检索中检索结果正确匹配的次数。
[0029]
进一步地,采用如下公式对所述全局分支重识别结果和所述局部分支重识别结果加权求和,得到重识别结果:
[0030][0031]
其中,α和β分别表示所述全局分支重识别结果和所述局部分支重识别结果的权重值,r
g
表示所述全局分支重识别结果,p
i
表示第i个所述高质量局部区域块,表示p
i
块的所述局部分支重识别结果。
[0032]
进一步地,所述第一神经网络和所述第二神经网络均选用resnet50模型。
[0033]
第二方面,本发明实施例提供了一种基于超分辨率的局部特征提取车辆重识别系统,所述系统包括:
[0034]
全局分支识别模块,用于将车辆图像输入第一神经网络,从中提取全局特征,并对所述全局特征进行训练,得到全局分支重识别结果;
[0035]
局部分支检测模块,用于对所述车辆图像中的局部区域目标进行检测,得到初始局部区域块;
[0036]
局部分支处理模块,用于对所述初始局部区域块进行超分辨率处理,得到高质量局部区域块;
[0037]
局部分支识别模块,用于将所述高质量局部区域块输入第二神经网络,从中提取局部特征,并对所述局部特征进行训练,得到局部分支重识别结果;
[0038]
重识别模块,将所述全局分支重识别结果和所述局部分支重识别结果加权求和,得到重识别结果。
[0039]
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
[0040]
第四方面,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
[0041]
上述本技术提供了一种基于超分辨率的局部特征提取车辆重识别方法、系统、计算机设备和存储介质,通过所述方法,在提取局部特征前先自动对车辆比较有辨识度的局部区域进行检测和定位,同时利用超分辨率方法对提取到的局部特征进行数据增强,减少了提取局部特征过程中对全局特征的重复计算,减少局部特征的噪声,同时提出了辨识度分数目标函数,避免了局部区域面积的影响,从而从整体上提升重识别的准确性,这对于现有的车辆重识别领域来说是非常有意义的。
附图说明
[0042]
图1是本发明实施例中基于超分辨率的局部特征提取车辆重识别方法的流程示意图;
[0043]
图2是本发明实施例中车辆重识别方法的又一实施例的流程示意图;
[0044]
图3是图1中步骤s20的具体流程图;
[0045]
图4是图1中步骤s40的具体流程图;
[0046]
图5是本发明实施例中基于超分辨率的局部特征提取车辆重识别系统的结构示意图;
[0047]
图6是本发明实施例中计算机设备的内部结构图。
具体实施方式
[0048]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0049]
请参阅图1,本发明第一实施例提出的一种基于超分辨率的局部特征提取车辆重识别方法,其中,包括步骤s10~s50:
[0050]
步骤s10,将车辆图像输入第一神经网络,从中提取全局特征,并对所述全局特征进行训练,得到全局分支重识别结果。
[0051]
其中,以车辆重识别数据集vrai为例,将训练集中的图像以小批量的方式输入到第一神经网络中进行训练,每个批量图像数量表示为b=p
×
k,p为车辆id数,k为每一个车辆id对应的图像数,在本实施例中,训练可以取p=4,k=8,也就是说小批量图像一般为32张,并且将图像的大小设置成256
×
256,如图2所示,具体步骤包括:
[0052]
将车辆图片输入第一神经网络,即卷积神经网络,进行(a)全局特征提取,第一神经网络可以选用残差神经网络resnet50,使得神经网络随着层数的增加效果也会继续提升。
[0053]
通过第一神经网络提取全局特征得到全局特征图,并在第一神经网络的全连接层(fc层)前加入正则化层(bn层)对特征参数进行正则化处理,采用分类损失(identification loss)、中心损失(center loss)和三重损失(triplet loss)三种损失函数进行训练,得到全局分支识别结果。
[0054]
其中,分类损失函数表示为:
[0055][0056]
y表示车辆图片的真实标签,n表示类别总数,也就是不同车辆的总数,p
i
表示模型对车辆图片的预测概率,ε表示预先设置的常数,用于减弱当前标签对模型的约束以增强模型的泛化能力;
[0057]
中心损失函数表示为:
[0058][0059]
b表示每一轮训练输入的小批量数,f
tj
表示第j个小批量中第t张图像的样本特征,c
yj
表示第j个小批量中y类样本的中心特征;
[0060]
三重损失函数表示为:
[0061]
l
tri
=max(d
ap

d
an
+γ,0)
[0062]
d
ap
表示<anchor,positive>的欧几里得距离,d
an
表示<anchor,negative>的欧几里得距离,anchor是指训练过程中随机选取的一张图片,positive是与anchor属于同一辆车的图片即正样本,negative是与anchor不属于同一辆车的图片即负样本,γ是d
ap
与d
an
的最小差距限制。
[0063]
其中,分类损失(identification loss)是在余弦空间进行约束,三重损失(triplet loss)是在欧式空间进行约束,由于约束条件不一样会导致两种损失函数的收敛不一致,从而引起训练结果发生振荡,而在第一神经网络中加入正则化层就可以很好地解决这个问题,减少训练的迭代次数。同时,将第一神经网络的最后一个下采样层卷积大小设置成1
×
1,从而提升全局分支重识别结果的准确度。
[0064]
步骤s20,对所述车辆图像中的局部区域目标进行检测,得到初始局部区域块。
[0065]
其中,可以选用目标检测模型yolov5对所述车辆图像中的局部区域目标进行检测,先将vrai数据集的标注处理成适用于yolov5模型的向量形式,并将图像大小设为640
×
640,然后输入yolov5模型进行局部区域目标检测,如图2所示,具体实现步骤包括:
[0066]
步骤s201,通过yolov5模型对所述车辆图像中的局部区域目标进行检测,得到局部区域目标的边界框;
[0067]
步骤s202,将所述边界框内的图像区域作为初始局部区域块。
[0068]
其中,yolov5模型对局部区域目标进行检测,得到每个区域的边界框和每个区域的类别,将所有区域的类别统一设为同一类,这样方便后续重识别和特定车辆绑定。yolov5模型训练所使用的损失函数为交并比损失(diou loss)。
[0069]
其中,交并比损失函数表示为:
[0070][0071]
iou表示yolov5模型检测出的锚框与待检测目标的最小边界框面积的交并比,b和b
gt
分别表示锚框和最小边界框的中心点,ρ表示两个中心点的欧几里得距离,c表示能够同时包含锚框和最小边界框的最小矩形框的对角线距离。
[0072]
使用yolov5模型对局部区域目标检测,把注意力都聚焦在比较有辨识度的小块区域,从而减少了其他区域的重复计算,同时可以避开遮挡区域,一定程度上解决了遮挡问题。
[0073]
步骤s30,对所述初始局部区域块进行超分辨率处理,得到高质量局部区域块。
[0074]
其中,可以选用残差网络模型rcan对所述初始局部区域块进行超分辨率处理,rcan包含10个残差组,每个残差组包含20个残差块,每个残差块由一个池化层、两个卷积层以及中间的激活层组成,残差块对图像的高频细节进行处理,低频信息通过残差通道直接连接到输出层,使模型在处理图像过程中减少不必要的计算。
[0075]
具体的,rcan是用超分辨率数据集div2k训练好之后,再用vrai数据集对训练好的rcan进行微调,使车辆重识别数据集vrai具有对应的高分辨率图像。将初始局部区域块输入训练好的rcan中进行超分辨率处理,得到高质量局部区域块。
[0076]
步骤s40,将所述高质量局部区域块输入第二神经网络,从中提取局部特征,并对所述局部特征进行训练,得到局部分支重识别结果。
[0077]
其中,从rcan输出的高质量局部区域块的图像大小为640
×
640,在将其输入到第二神经网络之前,先将高质量局部区域块图像的大小设为256
×
256,这样可以使全局分支重识别和局部分支重识别的图像大小保持一致。
[0078]
第二神经网络可以选用残差神经网络resnet50进行局部分支重识别,如图3所示,具体实现步骤包括:
[0079]
步骤s401,对所述高质量局部区域块进行重识别的检索,计算所述高质量局部区域块与待检索图片块的欧式距离;
[0080]
步骤s402,根据所述欧式距离,计算每一个高质量局部区域块的辨识度分数;
[0081]
步骤s403,根据所述辨识度分数计算训练所用的辨识度损失函数。
[0082]
其中,采用如下公式计算高质量局部区域块与待检索图片块的欧式距离:
[0083][0084]
h,w分别代表高质量局部区域块的高与宽,j代表每个像素点,x
j
与y
j
代表来自两个
不同局部特征块的像素点;
[0085]
采用如下公式计算每一个高质量局部区域块的辨识度分数:
[0086][0087]
采用如下公式计算训练所用的辨识度损失函数:
[0088][0089]
其中,i为同一车辆图像检索出的所有局部区域块个数,k为对所述高质量局部区域块进行重识别的检索中检索结果正确匹配的次数。
[0090]
具体的,将得到的高质量局部区域块输入第二神经网络,进行重识别的检索和计算。在计算得到每个特征块与待检索图片块的欧式距离d之后,除以特征块的面积,得到每个特征块的辨识度分数dis,在对同一辆车的所有高质量局部区域块检索完后,计算辨识度损失函数,通过辨识度损失函数对第二神经网络进行训练。
[0091]
由于在检测到的所有局部特征块中,有些局部特征块的面积较大,但是包含的有用信息很少,如天窗等局部特征块,除以面积可以避免这些面积较大而信息较少的块占有不合理的大权重,将局部区域聚焦在小而具有辨识度的块上,减少了计算过程中的噪声,通过辨识度损失函数,使得不同特征块在重识别过程中权重不同从而提高重识别的准确率。
[0092]
步骤s50,将所述全局分支重识别结果和所述局部分支重识别结果加权求和,得到重识别结果。
[0093]
其中,重识别结果采用如下公式进行计算:
[0094][0095]
α和β分别表示所述全局分支重识别结果和所述局部分支重识别结果的权重值,r
g
表示所述全局分支重识别结果,p
i
表示第i个所述高质量局部区域块,表示p
i
块的所述局部分支重识别结果。
[0096]
具体的,在得到全局分支重识别结果r
g
和局部分支重识别结果之后,根据车辆id把r
g
和加权求和的结果进行降序排序,得到整体的重识别结果r,其中权重值α和β是在训练过程中根据实际情况由人为手动设置,在本实施例中,可以设定α=1,β=1。
[0097]
下面结合附图2对本实施例基于超分辨率的局部特征提取车辆重识别方法的整个过程进行详细描述,图2给出了本实施例的整个车辆重识别过程。
[0098]
本发明实施例将车辆图片分别进行全局分支重识别和局部分支重识别,再将两者结合得到车辆重识别结果。如图2的全局分支所示,在(a)全局特征提取部分,使用卷积神经网络对输入的车辆图片进行卷积处理,得到全局特征图,并在全连接层(fc)前对特征参数进行正则化处理,即在全连接层前加入正则化层(bn),经过正则化处理的参数被三重损失(triplet loss)进行训练,在经过全连接层后,再被分类损失(identification loss)和中心损失(center loss)进行训练,通过训练好的卷积神经网络,对输入的车辆图像进行全局分支重识别,得到全局分支重识别结果r
g
,如图所示,无边框图表示该车辆图片被正确匹
配,有边框图表示该车辆图片没有匹配成功。
[0099]
如图2的局部分支所示,对于输入的车辆图片首先进行(b)目标检测,将车辆图片输入yolov5模型进行局部区域目标检测,得到局部区域块,如图中(b)部分所示,车辆图片上被边界框框出的四个局部区域图像即为局部区域块;在(c)超分辨率部分对局部区域块做超分辨率处理,将局部区域块输入rcan网络中,对局部区域块进行卷积之后,通过残差块(rir)对局部区域块中的高频信息进行处理,低频信息通过长连接直接连接到输出层,然后和处理过的高频信息结合,将高频信息和低频信息结合后的图像经过上采样和卷积之后,得到经过超分辨率的局部区域块,即高质量局部区域块,如图中(c)部分所示的四个框图即为(b)部分中的四个局部区域图像经过超分辨率处理后得到的高质量局部区域块。在(d)局部特征提取部分,将高质量局部区域块输入第二神经网络提取局部区域特征,计算高质量局部区域块的辨识度分数,从而计算辨识度损失函数(dis loss)对第二神经网络进行训练,得到局部分支重识别结果r
pi
,如图所示,有边框图表示该车辆图片没有匹配成功,并由此得出局部区域块被正确匹配的次数k,从而计算辨识度损失函数。
[0100]
将全局分支重识别结果r
g
和局部分支重识别结果r
pi
加权求和,并按照车辆id进行降序排序,得到整体的车辆重识别结果,如图中最终结果所示,无边框图表示该车辆图片被正确匹配,有边框图表示该车辆图片没有匹配成功。
[0101]
本发明实施例提供的基于超分辨率的局部特征提取车辆重识别方法,相比传统方法仅利用人为预定义的车灯、车轮、天窗等块,通过超分辨率增强局部区域图像并对局部特征块计算辨识度分数的方法,本发明能够自动发现并定位比较有辨识度的局部区域块,从而克服了传统方法中各局部特征平等对待而无法很好利用比较有辨识度区域的缺点,解决了车辆重识别中视角变换后类间相似和类内差异的问题,极大的提高了重识别的准确率。
[0102]
请参阅图4,基于同一发明构思,本发明第二实施例提供的基于超分辨率的局部特征提取车辆重识别系统,包括:
[0103]
全局分支识别模块10,用于将车辆图像输入第一神经网络,从中提取全局特征,并对所述全局特征进行训练,得到全局分支重识别结果;
[0104]
局部分支检测模块20,用于对所述车辆图像中的局部区域目标进行检测,得到初始局部区域块;
[0105]
局部分支处理模块30,用于对所述初始局部区域块进行超分辨率处理,得到高质量局部区域块;
[0106]
局部分支识别模块40,用于将所述高质量局部区域块输入第二神经网络,从中提取局部特征,并对所述局部特征进行训练,得到局部分支重识别结果;
[0107]
重识别模块50,将所述全局分支重识别结果和所述局部分支重识别结果加权求和,得到重识别结果。
[0108]
本发明实施例提出的基于超分辨率的局部特征提取车辆重识别系统的技术特征和技术效果与本发明实施例提出的方法相同,在此不予赘述。上述基于超分辨率的局部特征提取车辆重识别系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0109]
请参阅图5,一个实施例中计算机设备的内部结构图,该计算机设备具体可以是终
端或服务器。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示器和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于超分辨率的局部特征提取车辆重识别方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0110]
本领域普通技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算设备可以包括比途中所示更多或更少的部件,或者组合某些部件,或者具有同的部件布置。
[0111]
此外,本发明实施例还提出一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法的步骤。
[0112]
此外,本发明实施例还提出一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。
[0113]
综上,本发明实施例提供的一种基于超分辨率的局部特征提取车辆重识别方法、系统、计算机设备及存储介质,其车辆重识别方法通过将车辆图像输入第一神经网络,从中提取全局特征,并对所述全局特征进行训练,得到全局分支重识别结果;对所述车辆图像中的局部区域目标进行检测,得到初始局部区域块;对所述初始局部区域块进行超分辨率处理,得到高质量局部区域块;将所述高质量局部区域块输入第二神经网络,从中提取局部特征,并对所述局部特征进行训练,得到局部分支重识别结果;将所述全局分支重识别结果和所述局部分支重识别结果加权求和,得到重识别结果。该方法将全局分支重识别和局部分支重识别进行结合,将超分辨率技术应用到了车辆重识别领域,提升了图像质量,提出的局部特征块的辨识度分数计算方法,可以定位到车辆图像的关键部位,减少了特征提取过程的重复计算和局部特征的图像噪声,从而解决车辆重识别中视角变换后类间相似和类内差异的问题,提高车辆重识别的准确率。
[0114]
本说明书中的各个实施例均采用递进的方式描述,各个实施例直接相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。需要说明的是,上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0115]
以上所述实施例仅表达了本技术的几种优选实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本技术的保护范围。因此,本技术专利的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1