掌桥专利:专业的专利平台
掌桥专利
首页

车纹识别方法及装置

文献发布时间:2023-06-19 11:29:13


车纹识别方法及装置

技术领域

本申请属于计算机视觉和模式识别技术领域,具体涉及一种车纹识别方法及装置。

背景技术

近年来,由于车纹识别方法具有极大的应用价值,在学术领域和工业领域得到了广泛地关注,将其应用到智能交通管理及违法犯罪追踪中具有非常重要的意义。例如在搜索犯罪嫌疑车辆方面,面对嫌疑车辆无牌、套牌等车牌信息错误或者缺失的情况,需要通过车纹识别技术来进行查找。其次,在交警进行车辆违章判罚方面、无人驾驶方面以及对于一些自动收费系统等,可以解决基于车牌信息进行车纹识别方法导致识别精度低的问题,具有重要的理论意义和重要实用价值。相关技术中,使用传统卷积神经网络方法对车辆的车纹进行识别计算,识别准确率低,并且,由于数据信息较多,数据量较大,使得车纹识别的速度慢、效率较低。

发明内容

为至少在一定程度上克服使用传统卷积神经网络方法对车辆的车纹进行识别计算,识别准确率低,并且,由于数据信息较多,数据量较大,使得车纹识别的速度慢、效率较低的问题,本申请提供一种车纹识别方法及装置。

第一方面,本申请提供一种车纹识别方法,包括:

构建多粒度层级特征耦合学习框架;

获取待识别图像,将待识别图像输入训练好的多粒度层级特征耦合学习框架得到车纹特征和层级特征分类结果;

根据所述层级特征分类结果对车纹识别数据集中图像数据进行筛选;

计算待识别图像的车纹特征与筛选出的图像的车纹特征之间的欧式距离,根据欧式距离计算结果得到车纹识别结果。

进一步的,所述构建多粒度层级特征耦合学习框架,包括:

获取待识别图像的多个层级特征;

将所述多个层级特征输入基于图网络的多粒度特征学习模型得到多粒度层级嵌入特征;

根据多粒度层级特征计算分类损失和排序损失;

根据所述分类损失和排序损失优化多粒度层级特征耦合学习框架的模型参数以构建多粒度层级特征耦合学习框架。

进一步的,所述获取待识别图像的多个层级特征,包括:

构建车纹识别特征提取网络;

通过所述特征提取网络提取待识别图像的多个层级特征,所述多个层级,包括:品牌层级、子款层级和身份层级;

所述多个层级特征包括品牌层级对应的品牌特征;

子款层级对应的车辆年款特征和车辆子款特征;

身份层级对应的车纹特征。

进一步的,所述构建车纹识别特征提取网络,包括:

基于Lip-ResNet50构建车纹识别特征提取网络;

使用在ImageNet上预训练过的网络参数来初始化所述车纹识别特征提取网络;

使用车纹识别数据集训练所述车纹识别特征提取网络。

进一步的,所述车纹识别特征提取网络包括主干网络和分支网络,还包括:

所述主干网络的参数由所述分支网络中多个层级共同使用;

所述分支网络的参数由每个层级独立使用,所述分支网络包括品牌层级分支、子款层级分支和身份层级分支。

进一步的,所述根据多粒度层级特征计算分类损失和排序损失,包括:

将所述品牌层级分支、子款层级分支和身份层级分支进行全局平均池化后输入基于图网络的多粒度特征学习模型得到多粒度层级嵌入特征;

将所述多粒度层级嵌入特征输入分类器,计算品牌层级和子款层级上的分类损失;

将所述多粒度层级嵌入特征输入基于度量学习的多粒度排序损失模块计算排序损失。

进一步的,还包括:构建基于图网络的多粒度特征学习模型,包括:

构建多个层级特征的层级关系图;

根据层级关系图训练图卷积神经网络模型得到图卷积神经网络模型的全连接层的权重与偏置;

根据图卷积神经网络模型的全连接层的权重与偏置构建基于图网络的多粒度特征学习模型。

进一步的,所述将所述多粒度层级嵌入特征输入基于度量学习的多粒度排序损失模块计算排序损失,包括:

从车纹识别数据集中获取五元组样本;

将五元组样本划分为图像对,对图像对进行分类;

计算每个图像对在特征空间中的空间距离;

根据所述空间距离构建多粒度排序损失函数。

进一步的,所述根据所述空间距离构建多粒度排序损失函数,包括:

根据所述空间距离计算损失项;

将所述损失进行加权组合,得到多粒度排序损失函数;

所述损失项包括:

最粗粒度排序损失项,用于约束在特征空间中所述品牌层级对应图像与目标图像距离大于所述子款层级对应图像与目标图像的距离,以增大最粗粒度层级间的判别性;

粗粒度排序损失项,用于约束在特征空间中子款层级对应图像与目标图像的距离大于身份层级对应图像与目标图像的距离,以增大粗粒度级别间的判别性;

细粒度排序损失项,用于增大同一子款层级下不同身份层级之间的区分性,同时减小同一身份层级内身份类别的差异性;

样本对损失项,用于约束属于同一个细粒度类别的目标图像在特征空间中距离尽可能小;

细粒度类别分类损失项,为身份层级的交叉熵损失,用于减小层级内差异,同时加快损失函数收敛的速度。

第二方面,本申请提供一种车纹识别装置,包括:

构建模块,用于构建多粒度层级特征耦合学习框架;

输入模块,用于获取待识别图像,将待识别图像输入训练好的多粒度层级特征耦合学习框架得到车纹特征和层级特征分类结果;

筛选模块,用于根据所述层级特征分类结果对车纹识别数据集中图像数据进行筛选;

计算模块,用于计算待识别图像的车纹特征与筛选出的图像的车纹特征之间的欧式距离,根据欧式距离计算结果得到车纹识别结果。

本申请的实施例提供的技术方案可以包括以下有益效果:

本发明实施例提供的车纹识别方法及装置,通过构建多粒度层级特征耦合学习框架,获取待识别图像,将待识别图像输入训练好的多粒度层级特征耦合学习框架得到车纹特征和层级特征分类结果,根据层级特征分类结果对车纹识别数据集中图像数据进行筛选,计算待识别图像的车纹特征与筛选出的图像的车纹特征之间的欧式距离,根据欧式距离计算结果得到车纹识别结果,通过多粒度层级特征耦合学习框架以共同促进的方式改善各个粒度的特征学习,提高车纹识别的效率和准确率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1为本申请一个实施例提供的一种车纹识别方法的流程图。

图2为本申请另一个实施例提供的一种车纹识别方法的流程图。

图3为本申请另一个实施例提供的一种车纹识别方法的流程图。

图4为本申请一个实施例提供的一种层级关系图。

图5为本申请另一个实施例提供的一种车纹识别方法的流程图。

图6为本申请一个实施例提供的一种多粒度层级特征耦合学习框架示意图。

图7为本申请一个实施例提供的一种基于度量学习的多粒度层级排序损失的示意图。

图8为本申请一个实施例提供的一种车纹识别装置的功能结构图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。

图1为本申请一个实施例提供的车纹识别方法的流程图,如图1所示,该车纹识别方法,包括:

S11:构建多粒度层级特征耦合学习框架;

S12:获取待识别图像,将待识别图像输入训练好的多粒度层级特征耦合学习框架得到车纹特征和层级特征分类结果;

S13:根据层级特征分类结果对车纹识别数据集中图像数据进行筛选;

S14:计算待识别图像的车纹特征与筛选出的图像的车纹特征之间的欧式距离,根据欧式距离计算结果得到车纹识别结果。

使用传统卷积神经网络方法对车辆的车纹进行识别计算,识别准确率低,并且,由于数据信息较多,数据量较大,使得车纹识别的速度慢、效率较低。

本实施例中,通过多粒度层级特征耦合学习框架以共同促进的方式改善各个粒度的特征学习,根据层级特征分类结果对车纹识别数据集中图像数据进行筛选,可以先对车纹识别数据集进行筛选,缩小车纹特征检索范围与数据量,提高车纹识别的准确性和识别效率。

本实施例中,通过构建多粒度层级特征耦合学习框架,获取待识别图像,将待识别图像输入训练好的多粒度层级特征耦合学习框架得到车纹特征和层级特征分类结果,根据层级特征分类结果对车纹识别数据集中图像数据进行筛选,计算待识别图像的车纹特征与筛选出的图像的车纹特征之间的欧式距离,根据欧式距离计算结果得到车纹识别结果,通过多粒度层级特征耦合学习框架以共同促进的方式改善各个粒度的特征学习,提高车纹识别的效率和准确率。

图2为本申请另一个实施例提供的车纹识别方法的流程图,如图2所示,该车纹识别方法,包括:

S21:获取待识别图像的多个层级特征;

S22:将多个层级特征输入基于图网络的多粒度特征学习模型得到多粒度层级嵌入特征;

S23:根据多粒度层级特征计算分类损失和排序损失;

S24:根据分类损失和排序损失优化多粒度层级特征耦合学习框架的模型参数以构建多粒度层级特征耦合学习框架。

一些实施例中,获取待识别图像的多个层级特征,包括:

S211:构建车纹识别特征提取网络;

一些实施例中,构建车纹识别特征提取网络,包括:

基于Lip-ResNet50构建车纹识别特征提取网络;

使用在ImageNet上预训练过的网络参数来初始化所述车纹识别特征提取网络;

使用车纹识别数据集训练车纹识别特征提取网络。

S212:通过特征提取网络提取待识别图像的多个层级特征,多个层级,包括:品牌层级、子款层级和身份层级;

多个层级特征包括品牌层级对应的品牌特征;

子款层级对应的车辆年款特征和车辆子款特征;

身份层级对应的车纹特征。

一些实施例中,车纹识别特征提取网络包括主干网络和分支网络,还包括:

主干网络的参数由所述分支网络中多个层级共同使用;

分支网络的参数由每个层级独立使用,所述分支网络包括品牌层级分支、子款层级分支和身份层级分支。

一些实施例中,主干网络由conv_1,conv_2x组成,品牌层级由conv_3x,conv_4x构成,车辆子款层级和身份层级均由conv_3x,conv_4x,conv_5x构成。

本实施例中,通过构建车纹识别特征提取网络可以提取到车辆特征信息,为后续的特征学习与车纹识别提供准确输入减少学习样本数据,以进一步提高识别效率和准确率。

图3为本申请另一个实施例提供的车纹识别方法的流程图,如图3所示,该车纹识别方法,包括:

S31:将品牌层级分支、子款层级分支和身份层级分支进行全局平均池化后输入基于图网络的多粒度特征学习模型得到多粒度层级嵌入特征;

S32:将多粒度层级嵌入特征输入分类器,计算品牌层级和子款层级上的分类损失;

S33:将多粒度层级嵌入特征输入基于度量学习的多粒度排序损失模块计算排序损失。

一些实施例中,还包括:构建基于图网络的多粒度特征学习模型,具体包括:

S311:构建多个层级特征的层级关系图;

层级关系图如图4所示,包括:

l

整个层级关系图表示为G={V,E},V是特征节点集,由L个粒度层级所有的类别组成;E是边的集合,代表V中任意两个不同粒度层级间类别的关系。具体而言,V可以表示成

S312:根据层级关系图训练图卷积神经网络模型得到图卷积神经网络模型的全连接层的权重与偏置;

节点v

其中,0

多粒度特征学习是通过堆积N个线性卷积层和非线性层来进行的。节点初始化后,学习过程公式为

其中,

将输出M

p

通过上式可获取全连接层的权重与偏置。

S313:根据图卷积神经网络模型的全连接层的权重与偏置构建基于图网络的多粒度特征学习模型。

一些实施例中,如图5所示,车纹识别方法,包括以下步骤:

步骤1:输入一张图片,利用特征提取网络得到车辆品牌、子款、身份三个层级的特征,然后将特征输入基于图网络的多粒度特征学习模型,得到三个层级的经过多粒度层级关系嵌入的特征,之后利用Softmax分类器在车辆品牌和子款粒度层级上进行分类,在车辆身份层级上计算特征与目标之间的欧式距离,对计算结果进行排序,取欧式距离最近的目标作为车辆车纹识别的结果。

步骤2:训练时,在车辆品牌和子款粒度层级上利用交叉熵损失,在车辆身份层级上利用多粒度排序损失,使用车纹识别数据集对特征提取网络和基于图网络的多粒度特征学习模型进行端到端训练。

步骤3:测试时,输入图片,特征提取网络将同时输出车辆品牌和子款粒度层级上的分类结果,根据分类结果对车纹识别数据集进行数据筛选,将车纹特征在筛选后的车纹识别数据集中进行检索,得到车纹识别结果。

传统的使用传统卷积神经网络方法对车辆的车纹进行识别计算,识别准确率低,且识别特征较单一,例如只能识别车辆品牌或者车型,不能满足用户想要同时识别出车辆更多信息的需求。

本实施例中,同时识别出车纹特征信息、车辆品牌信息以及车辆子款信息,不仅可以提升识别准确率,还满足用户想要同时识别出车辆更多特征信息的需求,进一步的,通过多粒度层级特征耦合学习框架,以共同促进的方式改善各个粒度的特征学习,为语义空间划分提供一种有效的约束,帮助算法聚焦更细微的特征从而准确识别车辆。

本实施例中,首次利用图神经网络学习多粒度层次间的语义关系,以共同促进的方式改善各个粒度的特征学习,其次,将图卷积神经网络嵌入模型中,实现了端到端的训练。

图6为本申请另一个实施例提供的车纹识别方法的流程图,如图6所示,该车纹识别方法,包括:

S61:从车纹识别数据集中获取五元组样本;

S62:将五元组样本划分为图像对,对图像对进行分类;

S63:计算每个图像对在特征空间中的空间距离;

S64:根据空间距离构建多粒度排序损失函数。

一些实施例中,根据距离构建多粒度排序损失函数,包括:

根据空间距离计算损失项;

将损失进行加权组合,得到多粒度排序损失函数;

损失项包括:

最粗粒度排序损失项,用于约束在特征空间中所述品牌层级对应图像与目标图像距离大于所述子款层级对应图像与目标图像的距离,以增大最粗粒度层级间的判别性;

粗粒度排序损失项,用于约束在特征空间中子款层级对应图像与目标图像的距离大于身份层级对应图像与目标图像的距离,以增大粗粒度级别间的判别性;

细粒度排序损失项,用于增大同一子款层级下不同身份层级之间的区分性,同时减小同一身份层级内身份类别的差异性;

样本对损失项,用于约束属于同一个细粒度类别的目标图像在特征空间中距离尽可能小;

细粒度类别分类损失项,为交叉熵损失,用于减小层级内差异,同时加快损失函数收敛的速度。

如图7所示,假设训练集

P:属于同一个车辆身份。

N

N

N

这四类分别对应于目标之间的四种语义相似关系,对于训练集中的任意五元组样本{i,j,l,k,o},设{i,l}属于P,{i,j}属于N

D(i,o)>D(i,k)>D(i,j)>D(i,l)

构建多粒度排序损失函数如下:

L=R

其中,R

R

R

P是一个样本对损失,用以尽可能地增强同一个细粒度类别的类内紧凑性,以将两个同一细粒度类别的目标图像映射到特征空间中的一个点上。具体写作如下形式:

C为细粒度类别分类损失项,可以进一步减小类内差异,同时加快损失函数收敛的速度。

本实施例中,通过构建了多粒度层次关系图,并使用图卷积神经网络和多粒度排序损失,使各粒度层级特征交互,达到相互约束、共同促进,提升车纹识别精度的目的。

本发明实施例提供一种车纹识别装置,如图8所示的功能结构图,该车纹识别装置包括:

构建模块81,用于构建多粒度层级特征耦合学习框架;

输入模块82,用于获取待识别图像,将待识别图像输入训练好的多粒度层级特征耦合学习框架得到车纹特征和层级特征分类结果;

筛选模块83,用于根据所述层级特征分类结果对车纹识别数据集中图像数据进行筛选;

计算模块84,用于计算待识别图像的车纹特征与筛选出的图像的车纹特征之间的欧式距离,根据欧式距离计算结果得到车纹识别结果。

本实施例中,通过构建模块构建多粒度层级特征耦合学习框架,输入模块获取待识别图像,将待识别图像输入训练好的多粒度层级特征耦合学习框架得到车纹特征和层级特征分类结果,筛选模块根据层级特征分类结果对车纹识别数据集中图像数据进行筛选,计算模块计算待识别图像的车纹特征与筛选出的图像的车纹特征之间的欧式距离,根据欧式距离计算结果得到车纹识别结果,通过多粒度层级特征耦合学习框架以共同促进的方式改善各个粒度的特征学习,提高车纹识别的效率和准确率。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能组件的形式实现。所述集成的模块如果以软件功能组件的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

需要说明的是,本发明不局限于上述最佳实施方式,本领域技术人员在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保护范围之内。

相关技术
  • 车纹识别方法及装置
  • 基于猫鼻纹特征提取模型的猫鼻纹识别方法及装置
技术分类

06120112940501