本发明涉及智能交通监控领域,更具体地,涉及一种基于双网络结构的卡口车辆重识别方法。
背景技术:
近几年随着我国的平安城市、智能交通等工程的推进,交通卡口拍摄的机动车辆图像为大多数案件留下了影像资料,给警方破案带来了很大的便利。卡口系统中所拍摄的卡口车辆图片是角度较为一致的车的正面照,一般包含了车辆的车牌、前车窗、前车灯与保险杠等信息。
如今,在公共安全系统中,大型监视图像和视频数据库对车辆搜索和重识别(re-id)有一个爆炸式增长的需求。车牌自然是车辆的唯一id,并且牌照识别已经在交通管理应用中广泛使用。不幸的是,在某些情况下,简单地通过它的车牌来识别车辆不一定能得到准确信息。首先,大多数监视摄像机没有安装用于牌照捕获的部件,因此由这些摄像机捕获的图像或视频数据的识别性能急剧下降。此外,在许多的违法犯罪事件中,牌照常常被遮挡,移除甚至伪造。公安侦查过程中需要对涉嫌违法犯罪的车辆进行定位和追踪时,通过查看犯罪车辆出现在的卡口位置可以对车辆逃逸路线进行定位进而抓捕嫌疑犯。识别同一车辆在不同卡口出现的方法叫做车辆重识别,这个识别问题要求在输入一张查询车辆图像后,就能够识别检测到该辆车被拍摄到的其他图像。基于图像识别的车辆重识别在实际监控应用中具有很大的实用价值。
当前卡口车辆重识别是交通管理上的一个热点问题,对于以上提到的难点,通过除车牌信息以外的信息(如车辆颜色、外形、车辆内饰等等)识别检索到涉事车辆的方法是十分有意义的,这对于公安机关侦破交通刑事案件和定位追踪违法车辆具有重要的研究意义和应用价值。
技术实现要素:
本发明为解决以上现有技术无法解决车辆遮挡、移除甚至伪造牌照时车辆的重识别问题,提供了一种基于双网络结构的卡口车辆重识别方法。
为实现以上发明目的,采用的技术方案是:
一种基于双网络结构的卡口车辆重识别方法,包括以下步骤:
s1.从卡口系统的数据库中获取一部分拍摄的车辆图像作为训练集;
s2.对于训练集中的每一张车辆图像,将其分割成上半区域和下半区域两个区域;
s3.构建第一神经网络、第二神经网络,第一神经网络、第二神经网络分别对训练集中车辆图像的上半区域和下半区域进行表观特征的学习,其中第一神经网络用于对同一型号的车辆的不同表观特征进行学习,第二神经网络用于对不同型号的车辆的不同表观特征进行学习;
s4.训练集中的每一张车辆图像经过第一神经网络、第二神经网络的学习后得到相应的表观特征,将第一神经网络、第二神经网络输出的表观特征拼接起来;
s5.利用训练集中的每一张图像对第一神经网络、第二神经网络进行特征学习的训练直至收敛;
s6.利用训练好的第一神经网络、第二神经网络对卡口系统数据库中的每一张车辆图像进行特征的学习,第一神经网络、第二神经网络的输出进行拼接后得到每张车辆图像的表观特征;
s7.对于一张查询图像,首先将其分割成上半区域和下半区域两个区域,然后将查询图像的上半区域、下半区域分别输入至训练好的第一神经网络、第二神经网络内,第一神经网络、第二神经网络的输出进行拼接后得到查询图像的表观特征;
s8.计算查询图像的表观特征与卡口系统数据库中每一张车辆图像的表观特征的相似度,然后将相似度最高的车辆图像作为重识别结果进行输出。
与现有技术相比,本发明的有益效果是:
本发明提供的方法利用训练好的第一神经网络、第二神经网络进行卡口系统数据库中车辆图像与查询图像的表观特征的提取,然后基于提取的表观特征计算相似度,从而得到重识别的结果,与现有技术相比,本发明提供的重识别方法能够实现在车辆套牌、移除甚至伪造牌照时车辆的重识别。
附图说明
图1本发明提供的方法的流程示意图。
图2为双网络的结构示意图。
图3为本发明方法在计算匹配准确率cmc评价标准上的性能曲线图。
图4为本发明方法进行识别的效果示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
以下结合附图和实施例对本发明做进一步的阐述。
实施例1
如图1、2所示,本发明提供的方法包括以下步骤:
s1.从卡口系统的数据库中获取一部分拍摄的车辆图像作为训练集;
s2.对于训练集中的每一张车辆图像,将其分割成上半区域和下半区域两个区域;
s3.构建第一神经网络、第二神经网络,第一神经网络、第二神经网络分别对训练集中车辆图像的上半区域和下半区域进行表观特征的学习,其中第一神经网络用于对同一型号的车辆的不同表观特征进行学习,第二神经网络用于对不同型号的车辆的不同表观特征进行学习;
s4.训练集中的每一张车辆图像经过第一神经网络、第二神经网络的学习后得到相应的表观特征,将第一神经网络、第二神经网络输出的表观特征拼接起来;
s5.利用训练集中的每一张图像对第一神经网络、第二神经网络进行特征学习的训练直至收敛;
s6.利用训练好的第一神经网络、第二神经网络对卡口系统数据库中的每一张车辆图像进行特征的学习,第一神经网络、第二神经网络的输出进行拼接后得到每张车辆图像的表观特征;
s7.对于一张查询图像,首先将其分割成上半区域和下半区域两个区域,然后将查询图像的上半区域、下半区域分别输入至训练好的第一神经网络、第二神经网络内,第一神经网络、第二神经网络的输出进行拼接后得到查询图像的表观特征;
s8.计算查询图像的表观特征与卡口系统数据库中每一张车辆图像的表观特征的相似度,然后将相似度最高的车辆图像作为重识别结果进行输出。
其中,所述车辆图像或查询图像含有车辆的正脸照。所述第一神经网络学习的表观特征包括车窗、车顶、车辆内的挂饰;所述第二神经网络学习的表观特征包括车灯、保险杆、车前盖。
在具体的实施过程中,所述第一神经网络、第二神经网络包括有五个卷积层和两个全连接层。
在具体的实施过程中,所述第一神经网络使用损失函数softmaxloss表征是否训练收敛;所述第二神经网络使用嵌套三元组损失函数表征是否训练收敛。
其中,损失函数softmaxloss的代价函数表示为:
其中x是输入变量,y是类标,m代表已标记样本数量。
嵌套三元组损失函数的输入元素表示为:{xa,xp1,xp2,xp3,xn},其中这五个输入的下标分别代表:
a:任意一个车型中的其中一个id的车;
p1:与a相同车型相同id的车,并且在这一类型中离a距离最远;
p2:与a点相同车型但是id不同,在p2所在id中距离a最近;
p3:与a点相同车型但是id不同(id与p2相同),在p2所在id中距离a最远;
n:与a车型不同的一个id类中,距离a最近的一个车;
通过学习让让xa和xp1特征表达之间的距离小于xa和xp2之间的距离,并且要让xa和xp1之间的距离与xa和xp2间的距离之间有一个最小的间隔α。这里α是表示同一车型但具有不同id的最小裕度的预定常数参数;xa和xp2特征表达之间的距离小于xa和xp3之间的距离,并且要让xa和xp2之间的距离与xa和xp3间的距离之间有一个最小的间隔β,这里β是表示同一车型之间同一id之间的一个间隔参数;最后,定义了xa和xp3特征表达之间的距离小于xa和xn之间的距离,并且要让xa和xp3之间的距离与xa和xn间的距离之间有一个最小的间隔γ,γ表示不同车型之间的类别距离间隔。嵌套三元组算是函数表示为:
式子中max{x,0}表示{}内的值大于零时取x的值为损失,小于零时损失为零。
在具体的实施过程中,所述步骤s8计算相似度的具体过程如下:
其中查询图像的表观特征使用n维向量表示a(x1,x2,…xn),车辆图像的表观特征使用n维向量表示b(y1,y2,…yn),相似度dab计算表示为:
实施例2
本实施例进行了具体的实验,实验结果如图所示,图3所示为cmc评价标准性能曲线,其中our曲线代表本发明所采用的方法,可以看到曲线在其他方法所示曲线最上方,说明本方法达到的效果最佳。图4所示为输入车辆图像的重识别检索示例,每一行的第一列为查询图像,其他列是对应再结果匹配得分top-1到top-5。从这些结果可以看到再识别结果的命中率较高。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。