基于关键点检测和局部特征对齐的车辆重识别方法
文献发布时间:2023-06-19 11:29:13
技术领域
本发明属于计算机视觉和模式识别领域,具体涉及一种基于关键点检测和局部特征对齐的车辆重识别方法、系统、设备。
背景技术
车辆重识别属于图像检索领域的一个子问题。给定一个查询车辆图像,车辆重识别任务旨在找到同一辆车在其他场景下的图像。其任务的本质是学习一种车辆特征向量生成方法,用以表示一辆车独一无二的特征,不仅对同一辆车的各种外部变化(比如视角、遮挡、光线、车牌更换)鲁棒,而且能够对外观相似的两辆车具有足够的判别性。其中遮挡、视角等变化的本质是导致同一辆车在不同图像中同一个语义区域在空间位置上的不对齐,比如一辆车的车头视角图像和车尾视角图像之间的语义部件在像素空间上是不对齐的。一个好的车辆特征向量需要打破图像间的不对齐,在特征层面上实现目标语义部件对齐,从而实现对视角、遮挡等变量的鲁棒。
现有将车辆部位对齐的车辆重识别方法大概有两类:基于对抗生成网络的方法补全图片中不可见的部分、基于语义分割的思想找出两张图片中共同的区域。其中,第一类方法以VAMI(Viewpoint-aware Attentive Multi-view Inference for Vehicle Re-identification)为代表。给定任意视角的车辆图像,VAMI会为每个输入图像提取单视图特征,并旨在将特征转换为全局多视图特征表示,以便可以在这种视角不变特征空间中更好地优化成对距离度量学习。 VAMI采用视角感知注意力模型来选择不同视点的核心区域,并通过对抗训练架构实现有效的多视角特征推断。但是这一类方法存在的弊端十分明显,仅借助一个视角下的信息生成其他视角的信息,显然是不鲁棒的。第二类方法,如SPAN(Orientation-aware Vehicle Re-identification with Semantics-guided PartAttention Network),SPAN用一种无监督的方法生成车辆各个部位的蒙版,借助这些局部蒙版,分别提取各个区域中的有判别力的特征,然后在对比图片时,着重比较共享的区域。但是这种无监督的方法生成的蒙版往往不可靠,会对后续的特征提取造成很多影响。基于此,本发明提出了一种基于关键点检测和局部特征对齐的车辆重识别方法。
发明内容
为了解决现有技术中的上述问题,即为了解决现有的车辆重识别方法在消除车辆视角变化时特征一致性较差,进而导致车辆重识别鲁棒性较差的问题,本发明第一方面,提出了一种基于关键点检测和局部特征对齐的车辆重识别方法,该方法包括:
S10,获取待识别的车辆图像,作为输入图像;
S20,对所述输入图像进行关键点检测,获取待识别的车辆的关键点及其对应的置信度;根据检测的关键点及其对应的置信度,将所述输入图像中待识别的车辆划分为N部分,作为局部图像;N为自然数;
S30,将局部图像放大、缩小设定倍后,与原局部图像一起合并,作为预处理的局部图像;将所述输入图像、各预处理的局部图像输入预构建的车辆重识别模型中,对各预处理图像进行卷积处理,并通过预构建的车辆重识别模型的特征提取层提取所述输入图像、卷积处理后各预处理的局部图像的特征,作为全局特征、局部特征;提取后,拼接各局部特征与所述全局特征,作为待识别的车辆对应的综合特征;
S40,结合所述待识别的车辆的局部特征、全局特征,通过预设的自适应区域加权对齐方法计算所述综合特征与车辆图像库中各图像对应特征的距离并进行排序,将排序结果作为重识别结果进行输出;
其中,所述车辆重识别模型基于一维卷积层、深度学习网络构建。
在一些优选的实施方式中,“将所述输入图像中待识别的车辆划分为N部分”,其方法为:
基于检测的关键点及其对应的置信度,获取车辆的姿态,并判断设定的车辆语义区域是否可见;
若设定的车辆语义区域可见,则结合车辆的姿态,对各车辆语义区域的关键点进行连线,将输入图像中的待识别车辆划分为车顶、车侧、车头、车位四部分。
在一些优选的实施方式中,“通过预设的自适应区域加权对齐方法计算所述综合特征与车辆图像库中各图像对应特征的距离”,其方法为:
其中,
在一些优选的实施方式中,所述局部图像的显著度的计算方法为:
对各局部图像,获取其对应的关键点的置信度以及未被蒙版遮盖部分的像素点数,并结合所述输入图像的总像素点数,计算各局部图像对应的显著度;具体为:
其中,
在一些优选的实施方式中,所述车辆重识别模型,其在训练时的损失函数为:
其中,
在一些优选的实施方式中,
本发明的第二方面,提出了一种基于关键点检测和局部特征对齐的车辆重识别系统,该系统包括:图像获取模块、图像划分模块、特征提取模块、重识别模块;
所述图像获取模块,配置为获取待识别的车辆图像,作为输入图像;
所述图像划分模块,配置为对所述输入图像进行关键点检测,获取待识别的车辆的关键点及其对应的置信度;根据检测的关键点及其对应的置信度,将所述输入图像中待识别的车辆划分为N部分,作为局部图像;N为自然数;
所述特征提取模块,配置为将局部图像放大、缩小设定倍后,与原局部图像一起合并,作为预处理的局部图像;将所述输入图像、各预处理的局部图像输入预构建的车辆重识别模型中,对各预处理图像进行卷积处理,并通过预构建的车辆重识别模型的特征提取层提取所述输入图像、卷积处理后各预处理的局部图像的特征,作为全局特征、局部特征;提取后,拼接各局部特征与所述全局特征,作为待识别的车辆对应的综合特征;
所述重识别模块,配置为结合所述待识别的车辆的局部特征、全局特征,通过预设的自适应区域加权对齐方法计算所述综合特征与车辆图像库中各图像对应特征的距离并进行排序,将排序结果作为重识别结果进行输出;
其中,所述车辆重识别模型基于一维卷积层、深度学习网络构建。
本发明的第三方面,提出了一种设备,至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现权利要求上述的基于关键点检测和局部特征对齐的车辆重识别方法。
本发明的第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现权利要求上述的基于关键点检测和局部特征对齐的车辆重识别方法。
本发明的有益效果:
本发明在消除背景对前景影响的同时,进行特征对齐,从而消除视角变化对车辆特征提取的影响,提高了车辆重识别的鲁棒性。
本发明通过关键点检测模型将图片中的车辆切分成具有不同语义的部件区域,得到具有判别力的局部特征,同时消除背景对重识别的影响。并设计了一种两张车辆图片间对应语义部件区域特征匹配方法,用于消除视角变换带来的可视区域差异,从而增强特征向量和重识别模型对视角变化和背景干扰的鲁棒性。
本发明通过对局部输入图片做缩放处理,并通过一维卷积学习不同尺度间的联系,以获得更好的部件匹配效果。
附图说明
通过阅读参照以下附图所做的对非限制性实施例所做的详细描述,本申请的其他特征、目的和优点将会变得更明显。
图1是本发明一种实施例的基于关键点检测和局部特征对齐的车辆重识别方法的流程示意图;
图2是本发明一种实施例的基于关键点检测和局部特征对齐的车辆重识别系统的框架示意图;
图3是本发明一种实施例的车辆重识别模型的训练流程示意图;
图4是本发明一种实施例的自适应区域加权对齐方法的处理流程示意图;
图5是本发明一种实施例的特征比对时局部权重计算的流程示意图;
图6是本发明一种实施例的适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明的一种基于关键点检测和局部特征对齐的车辆重识别方法,如图1所示,该方法包括:
S10,获取待识别的车辆图像,作为输入图像;
S20,对所述输入图像进行关键点检测,获取待识别的车辆的关键点及其对应的置信度;根据检测的关键点及其对应的置信度,将所述输入图像中待识别的车辆划分为N部分,作为局部图像;N为自然数;
S30,将局部图像放大、缩小设定倍后,与原局部图像一起合并,作为预处理的局部图像;将所述输入图像、各预处理的局部图像输入预构建的车辆重识别模型中,对各预处理图像进行卷积处理,并通过预构建的车辆重识别模型的特征提取层提取所述输入图像、卷积处理后各预处理的局部图像的特征,作为全局特征、局部特征;提取后,拼接各局部特征与所述全局特征,作为待识别的车辆对应的综合特征;
S40,结合所述待识别的车辆的局部特征、全局特征,通过预设的自适应区域加权对齐方法计算所述综合特征与车辆图像库中各图像对应特征的距离并进行排序,将排序结果作为重识别结果进行输出;
其中,所述车辆重识别模型基于一维卷积层、深度学习网络构建。
为了更清晰地对本发明基于关键点检测和局部特征对齐的车辆重识别方法进行说明,下面结合附图对本发明方法一种实施例中各步骤进行展开详述。
S10,获取待识别的车辆图像,作为输入图像;
在本实施例中,先获取待识别的车辆图像。
S20,对所述输入图像进行关键点检测,获取待识别的车辆的关键点及其对应的置信度;根据检测的关键点及其对应的置信度,将所述输入图像中待识别的车辆划分为N部分,作为局部图像;N为自然数;
在本实施例中,利用预训练的车辆关键点检测模型提取待识别的车辆中的关键点以及关键点对应的置信度,并根据置信度判断车辆姿态划分可见区域,将输入图像与四个局部图像输入车辆重识别模型。其中,对关键点的定义可参考文献“ Wang Z , Tang L ,Liu X , et al. Orientation Invariant Feature Embedding and Spatial TemporalRegularization for Vehicle Re-identification[C]// 2017 IEEE InternationalConference on Computer Vision (ICCV). IEEE, 2017.”。
输入图像的关键点检测结果,如图3所示,车辆关键点检测模型将在车身上检测出 16个关键点,分布在车辆的轮廓上以及车轮、车灯等重要部位,根据关键点对应的置信度, 我们可以推断出车辆的姿态,以及车辆设定语义区域是否可见。我们根据关键点之间的连 线,将整个车辆划分为车头、车尾、车顶、车侧,并通过蒙版的方式分别在各个区域对应的图 片(即局部图像)中遮盖其他区域,对于不可见的区域,如正面视角时的车尾,蒙版将覆盖住 整个待识别的车辆图像。每个局部图像记为
S30,将局部图像放大、缩小设定倍后,与原局部图像一起合并,作为预处理的局部图像;将所述输入图像、各预处理的局部图像输入预构建的车辆重识别模型中,对各预处理图像进行卷积处理,并通过预构建的车辆重识别模型的特征提取层提取所述输入图像、卷积处理后各预处理的局部图像的特征,作为全局特征、局部特征;提取后,拼接各局部特征与所述全局特征,作为待识别的车辆对应的综合特征;
在本实施例中,将局部图像放大、缩小设定倍(本发明中优选设置为
本发明中全局特征经由一个完整的ResNet50提取,局部特征分别由四个参数不共 享的ResNet18提取,并在模型的头部增加一维卷积层,经过池化后得到四个局部特征向量 和一个全局特征向量,分别表示为
S40,结合所述待识别的车辆的局部特征、全局特征,通过预设的自适应区域加权对齐方法计算所述综合特征与车辆图像库中各图像对应特征的距离并进行排序,将排序结果作为重识别结果进行输出。
在本实施例中,设计了一种自适应的区域对齐方法,在推理阶段计算两张图片的 相似程度时,自动调整四个局部特征所占的权重,如图4、图5所示。具体为:我们基于关键点 检测的输出结果,即每个关键点的置信度,以及蒙版未遮盖部分的像素点个数,得到对应区 域在图片中的显著度,其中,每一个局部区域由四个关键点确定,这四个关键点的置信度分 别为
在推理阶段计算F1和F2的距离可以定义为:
其中,
另外,车辆重识别模型的训练过程如图3所示,模型在训练时采用三元组损失来监督,该损失的核心思想是通过距离间隔将不匹配的车辆对与匹配的车辆对分离开来,以增大类间差异,缩小类内差异,具体如公式(3)所示:
其中,
本发明第二实施例的一种基于关键点检测和局部特征对齐的车辆重识别系统,如图2所示,具体包括以:图像获取模块100、图像划分模块200、特征提取模块300、重识别模块400;
所述图像获取模块100,配置为获取待识别的车辆图像,作为输入图像;
所述图像划分模块200,配置为对所述输入图像进行关键点检测,获取待识别的车辆的关键点及其对应的置信度;根据检测的关键点及其对应的置信度,将所述输入图像中待识别的车辆划分为N部分,作为局部图像;N为自然数;
所述特征提取模块300,配置为将局部图像放大、缩小设定倍后,与原局部图像一起合并,作为预处理的局部图像;将所述输入图像、各预处理的局部图像输入预构建的车辆重识别模型中,对各预处理图像进行卷积处理,并通过预构建的车辆重识别模型的特征提取层提取所述输入图像、卷积处理后各预处理的局部图像的特征,作为全局特征、局部特征;提取后,拼接各局部特征与所述全局特征,作为待识别的车辆对应的综合特征;
所述重识别模块400,配置为结合所述待识别的车辆的局部特征、全局特征,通过预设的自适应区域加权对齐方法计算所述综合特征与车辆图像库中各图像对应特征的距离并进行排序,将排序结果作为重识别结果进行输出;
其中,所述车辆重识别模型基于一维卷积层、深度学习网络构建。
所述技术领域的技术人员可以清楚的了解到,为描述的方便和简洁,上述描述的系统具体的工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
需要说明的是,上述实施例提供的基于关键点检测和局部特征对齐的车辆重识别系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
本发明第三实施例的一种设备,至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现权利要求上述的基于关键点检测和局部特征对齐的车辆重识别方法。
本发明第四实施例的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现权利要求上述的基于关键点检测和局部特征对齐的车辆重识别方法。
所述技术领域的技术人员可以清楚的了解到,未描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实例中的对应过程,在此不再赘述。
下面参考图6,其示出了适于用来实现本申请方法、系统、设备实施例的服务器的计算机系统的结构示意图。图6示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统包括中央处理单元(CPU,Central Processing Unit)601,其可以根据存储在只读存储器(ROM,Read Only Memory)602中的程序或者从存储部分608加载到随机访问存储器(RAM,Random Access Memory)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有系统操作所需的各种程序和数据。CPU601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O,Input/Output)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT,Cathode Ray Tube)、液晶显示器(LCD,Liquid Crystal Display)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN(局域网,Local AreaNetwork)卡、调制解调器等的网络接口卡的通讯部分609。通讯部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通讯部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU601执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
术语“第一”、 “第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
- 基于关键点检测和局部特征对齐的车辆重识别方法
- 基于关键点检测和局部特征对齐的车辆重识别方法