本发明属于车辆检测领域,涉及一种基于时空重要性的隧道内车辆再识别方法。
背景技术:
目前,主流的车辆再识别算法是先对图像进行特征提取、然后再将候选集图像按照与查询图像的相似度进行重排序,进而实现车辆再识别功能。但是,该方法不仅速度较慢,而且对监控画面的清晰度具有一定的要求。实际上,在隧道等场景中,光照条件较差,车辆与周围背景差异不够明显,常规的车辆再识别方法仅仅依靠图像本身携带的信息并不能很好地发挥预期的效果,导致了再识别算法实际上不够实用。另外,常规的车辆再识别算法在进行训练时,采用的是单幅图片的特征,遍历整个候选集需要消耗较多的时间,造成了计算资源的浪费,导致算法需要大量的时间去训练。
因此,需要发展一种能够在隧道等光照条件较弱的场景下仍可以高效、准确的进行车辆再识别的算法。
技术实现要素:
本发明的目的在于克服上述现有技术中,当前车辆再识别算法对监控图像清晰度要求较高、不适用于隧道内场景的缺点,提供一种基于时空重要性的隧道内车辆再识别方法。
为了达到上述目的,本发明采用以下技术方案予以实现:
一种基于时空重要性的隧道内车辆再识别方法,包括如下步骤:
s1:获取隧道内监控系统的数据集,基于隧道内监控系统中路网上的摄像机布设情况,以摄像机为路网拓扑图的节点,建立路网拓扑模型;所述数据集包括训练集、测试集和查询集;
s2:基于数据集中的信息,获取路网拓扑图中的节点在不同时间段的特征,计算路网拓扑图中任意两节点之间的注意力系数;
s3:按照隧道内监控系统中的摄像机节点对数据集中的数据进行分类,对每个摄像机节点进行一次采样,形成多示例包;基于s2中的注意力系数计算多示例包的表示,并计算多示例包的表示与查询集中查询样本之间的欧式距离,得到多示例包与查询集中查询样本之间的相似度;
s4:重复s3,直至遍历整个训练集,得到若干个多示例包的表示,同时得到若干个多示例包与查询样本之间的相似度;对若干个多示例包的表示和相似度进行聚类分析处理,完成对隧道内车辆的再识别。
优选地,所述训练集、测试集和查询集均包括监控系统抓拍到的隧道内车辆图片及对应的标签。
优选地,s1所述路网拓扑模型是以摄像机为路网拓扑图的节点,以路径为路网拓扑图的边,以在两摄像机之间转移车辆的数目为路网拓扑图边的权重建立的。
进一步优选地,所述路网拓扑模型是基于python的networkx库建立的。
优选地,所述s2的具体操作为:以数据集中相邻摄像机之间在不同时间段内的车辆转移数量作为路网拓扑图节点在不同时间段的特征,对路网拓扑图节点在不同时间段的特征进行学习,计算出路网拓扑图任意两节点之间的注意力系数。
进一步优选地,所述的学习是利用graphattentionnetworks进行的。
优选地,s3所述多示例包的表示的具体过程为:
31)从查询集中随机选取一张图片,作为查询样本图片;
32)对训练集中的图片按照各图片所属摄像头节点进行分类,将训练集中的图片按照摄像机节点划分为不同类别;对每个摄像机节点进行一次采样,组成多示例包,多示例包内所含有的图片分别属于不同的摄像机节点;
33)对步骤32)中多示例包的图片进行特征提取,得到训练集中每张图片对应的特征矩阵,利用多示例包内各图片的特征矩阵,以注意力系数为权重,对多示例包内所有的图片进行加权平均,叠加为一张图片,得到多示例包的表示。
进一步优选地,步骤32)所述的采样过程中,对于不包含任何图片的摄像机节点,在采样时做跳过处理。
进一步优选地,步骤33)所述的特征提取使利用resnet50网络进行的。
优选地,s4所述的聚类分析处理包括:
首先将若干个多示例包的表示划分为两类,并分别贴上伪标签;相似度较小的一类划分为正包,相似度较大的一类划分为负包;然后随机取一个正包的包表示和一个负包的包表示,与查询样本组成三元组,并将三元组输入三元组网络;再对三元组网络中的数据进行训练,使正包的包表示与查询样本之间的相似度减小、使负包的包表示与查询样本之间的相似度增大,完成对隧道内车辆的再识别。
与现有技术相比,本发明具有以下有益效果:
本发明公开了一种基于时空重要性的隧道内车辆再识别方法,本方法首先利用图论对隧道路网进行建模,从而得到隧道路网拓扑图。训练时要在拓扑图上计算所有相邻节点之间的注意力系数,用于对样本对之间的相似度进行加权约束,从而提高再识别算法的精度。以训练集为候选集,从候选集中取样时,区别于传统的再识别算法,不再是简单的随机抽样,而是利用多示例包学习的方式,将训练集划分为多个多示例包,利用多示例包的特征表示来涵盖每个示例的特征,这一采样方式缩小了候选图片的范围,提高了再识别算法的效率。本发明方法区别于传统车辆再识别方法,充分利用了隧道监控设备的时空分布信息对候选集图像进行约束,并缩短了再识别图像匹配所需时间,提高了监控图像不足够清晰时再识别算法的精度。本发明方法能够降低车辆再识别算法对监控图像清晰度的要求,提升车辆再识别算法的精度和速度,实现在隧道公路场景下的车辆再识别。
进一步地,查询图片来源于查询集,在训练集中有多个摄像头拍摄的多辆车(即具有多个id),训练集内与查询图片的id一致的图片在每个摄像头都可能会有几张。查询图片主要有两个作用:其一,作为锚点,用于和正包的包表示、负包的包表示组成三元组。其二,读取查询图片所属的摄像头节点,进而得出多示例包内每张图片所属摄像头节点与该节点之间的注意力系数。
附图说明
图1为本发明隧道内车辆再识别方法的整体流程图;
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面结合附图对本发明做进一步详细描述:
实施例1
一种基于时空重要性的隧道内车辆再识别方法,包括如下步骤:
s1:获取隧道内监控系统的数据集,基于隧道内监控系统中路网上的摄像机布设情况,以摄像机为路网拓扑图的节点,建立路网拓扑模型;所述数据集包括训练集、测试集和查询集;
s2:基于数据集中的信息,获取路网拓扑图中的节点在不同时间段的特征,计算路网拓扑图中任意两节点之间的注意力系数;
s3:按照隧道内监控系统中的摄像机节点对数据集中的数据进行分类,对每个摄像机节点进行一次采样,形成多示例包;基于s2中的注意力系数计算多示例包的表示,并计算多示例包的表示与查询集中查询样本之间的欧式距离,得到多示例包与查询集中查询样本之间的相似度;
s4:重复s3,直至遍历整个训练集,得到若干个多示例包的表示,同时得到若干个多示例包与查询样本之间的相似度;对若干个多示例包的表示和相似度进行聚类分析处理,完成对隧道内车辆的再识别。
实施例2
一种基于时空重要性的隧道内车辆再识别方法,包括以下步骤:
s1:对隧道内监控系统进行调研,根据已有的视频资料制作可用于再识别的数据集,数据集包括训练集、测试集以及查询集。训练集、测试集以及查询集均包含有监控系统抓拍到的隧道场景下车辆图片及对应的标签。
对隧道路网进行调研,根据隧道路网的摄像机实际布设情况,以摄像机为路网拓扑图的节点,以路径为路网拓扑图的边,以在两摄像机之间转移车辆的数目为路网拓扑图边的权重,利用python的networkx库建立路网拓扑模型。
s2:计算数据集中各摄像头对之间在不同时间段内的车辆转移数量,作为路网拓扑图节点在不同时间段的特征。
利用graphattentionnetworks对路网拓扑图节点在不同时间段的特征进行学习,计算出路网拓扑图任意两节点之间的注意力系数。
s3:按照隧道内监控系统中的摄像机节点对数据集中的数据进行分类,对每个摄像机节点进行一次采样,形成多示例包;计算多示例包的表示,并计算多示例包与查询集中查询样本之间的相似度。
具体操作过程如下:
31)从查询集中随机选取一张图片,作为查询样本图片。
32)对训练集中的图片按照各图片所属摄像头节点进行分类,将训练集中的图片按照摄像机节点划分为不同类别。
从每个摄像机节点进行一次采样,组成多示例包,保证多示例包内所含有的图片分别属于不同的摄像机节点。对于不包含任何图片的摄像机节点,在采样时需做跳过处理。
33)对于上述步骤采集到的多示例包中的图片,利用resnet50网络提取图片的特征,从而得到训练集中每张图片对应的特征矩阵。
如图1所示,feature指的是利用resnet50网络对图片进行特征提取所得到的特征矩阵。gat指的是graphattentionnetworks,是一种计算拓扑图各节点对之间注意力系数的模型,用于计算各摄像机节点之间的注意力系数。bag指的是从每个摄像机节点进行一次采样组成的多示例包。∑af指的是多示例包的表示。
利用多示例包内各图片对应的特征矩阵计算多示例包的表示。具体过程为:设某个包内包含示例x1、x2、···xn。对于某个示例xi,设其对应的特征矩阵为
利用resnet50网络提取查询图片的特征矩阵。计算上述多示例包的表示与查询样本之间的欧式距离,作为包与查询样本的相似度。
s4:重复s3,直至不重不漏遍历整个训练集。此时可得到多个多示例包的表示及其与查询图片之间的相似度。
对各个多示例包的表示与查询图片之间的相似度进行聚类,具体操作为:将多示例包的表示划分为两类,并分别贴上伪标签。距离较小的一类划分为正包,距离较大的一类划分为负包。随机取一个正包的包表示、一个负包的包表示,与查询图片组成三元组,输入三元组网络。通过训练,让正包的包表示与查询图片之间的距离尽可能小、使负包的包表示与查询图片之间的距离尽可能大。即该过程的目的是使三元组损失在训练中尽量降低。三元组损失等于正样本与锚点之间的距离减去负样本与锚点之间的距离加上基准。正包与查询样本之间的距离越小或者负包与查询样本之间的距离越大,则网络性能越好,再识别效果越好。因此通过该方法能够实现隧道内的车辆再识别。
综上所述,本发明首次应用gat(即graphattentionnetworks)来计算路网拓扑的节点之间的注意力系数,并将多示例包的思想用于了车辆再识别,同时结合了时空注意力机制的包表示的计算方式,本发明方法区别于传统车辆再识别方法,充分利用了隧道监控设备的时空分布信息对候选集图像进行约束,并缩短了再识别图像匹配所需时间,降低了车辆再识别算法对监控图像清晰度的要求,提升车辆再识别算法的精度和速度,实现在隧道公路场景下的车辆再识别。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。