本发明涉及图像处理领域,具体而言,涉及一种车款识别方法、系统及存储介质。
背景技术:
随着人工智能潮流的兴起,车辆追踪和车辆检索技术在实际生活中的应用越来越广泛,已经成为城市交通安全,城市交通治理和违法追逃的重要手段。理论上车牌号码作为车辆的唯一身份标志,可以完美解决车辆追踪和车辆检索问题,然而在现实生活中常常因为遮挡、光照、运动模糊和人为伪造等原因无法获得完整且正确的车牌号码。车辆款式作为车辆的另一重要特征,可以很好地避开上述不利因素的影响,结合车辆颜色等属性可以在一定时间和空间范围内实现车辆追踪和车辆检索,因此车款识别技术越来越重要,成为车辆追踪和车辆检索系统必不可少的模块。
技术实现要素:
本发明的目的在于提供一种车款识别方法、系统及存储介质,以解决上述问题。
第一方面,本发明提供一种车款识别方法,包括:
利用多粒度神经网络,提取车辆图像的全局特征以及多个局部特征;
利用特征融合神经网络对所述车辆图像的所述全局特征以及多个局部特征进行融合,获得所述车辆图像对应的类别特征;
根据所述类别特征,利用分类神经网络获得所述车辆图像属于各车款类别的概率;
将概率最高的车款确定为所述车辆图像对应的车款。
可选地,所述多粒度神经网络包括第一卷积层、最大池化层、至少一个基础特征提取模块以及至少三个空间特征提取模块,所述第一卷积层、所述最大池化层、所述至少一个基础特征提取模块依次连接,所述至少一个基础特征提取模块的输出分别与所述至少三个空间特征提取模块连接;所述基础特征提取模块用于提取车辆图像中的基础特征,每个所述空间特征提取模块用于学习对应的全局特征或局部特征,所述基础特征提取模块包括conv_block和至少一个identity_block,所述conv_block和所述至少一个identity_block依次连接。
可选地,每个所述空间特征提取模块包括平均池化层、全连接层和softmax激活层,所述平均池化层、所述全连接层和所述softmax激活层依次连接。
可选地,所述特征融合神经网络包括拼接层、维度变换层、第二卷积层、第三卷积层、第四卷积层和第五卷积层,所述拼接层、所述维度变换层、所述第二卷积层、所述第三卷积层、所述第四卷积层和所述第五卷积层依次连接,所述拼接层用于将所述多粒度神经网络的多个输出进行拼接,所述维度变换层用于将所述拼接层的输出进行维度变换。
可选地,所述第二卷积层的卷积核与所述第四卷积层的卷积核相同,所述第三卷积层的卷积核与所述第五卷积层的卷积核相同,所述第二卷积层的卷积核、所述第三卷积层的卷积核、所述第四卷积层的卷积核和所述第五卷积层的卷积核均为非对称卷积核。
可选地,所述根据所述类别特征,利用分类神经网络获得所述车辆图像属于各车款类别的概率,具体为:所述分类神经网络通过第六卷积层融合所述类别特征中各空间分支的特征,通过softmax激活层输出所述车辆图像属于各车款类别的概率。
可选地,在利用多粒度神经网络,提取车辆图像的全局特征以及多个局部特征之前,所述方法还包括:利用训练集中的训练样本对所述多粒度神经网络进行训练直至满足训练结束条件。
可选地,在所述利用训练集中的训练样本对所述多粒度神经网络进行训练直至满足训练结束条件之后,所述方法还包括:固定所述多粒度神经网络中的参数,利用所述训练样本对所述特征融合神经网络和所述分类神经网络进行训练。
第二方面,本发明提供一种车款识别系统,包括:
特征提取模块,用于通过多粒度神经网络,提取车辆图像的全局特征以及多个局部特征;特征融合模块,用于通过特征融合神经网络对所述车辆图像的所述全局特征以及多个局部特征进行融合,获得所述车辆图像对应的类别特征;分类模块,用于根据所述类别特征,通过分类神经网络获得所述车辆图像属于各车款类别的概率;车款确定模块,将概率最高的车款确定为所述车辆图像对应的车款。
第三方面,本发明提供一种电子设备,包括:处理器和存储器,所述存储器存储有处理器可执行的机器可读指令,所述机器可读指令被处理器执行时执行第一方面所述的方法。
第四方面,本发明提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面所述的方法。
相对现有技术,本发明提供的车款识别方法通过依次连接的多粒度神经网络、特征融合神经网络、分类神经网络可对输入的车辆图像进行车款识别,通过多粒度神经网络提取图像的全局通用特征和局部特征,通过特征融合神经网络对全局特征和局部特征进行融合,并通过分类神经网络确定图片中车辆属于各车款类别的概率,整个过程识别速度快,且不受车辆颜色和拍摄视角的影响,针对局部遮挡,运动模糊和光线黑暗等因素影响,均能达到较高识别正确率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举可选实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施方式的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明所提供的车款识别方法的流程图;
图2示出了本发明所提供的多粒度神经网络的结构图;
图3示出了本发明所提供的多粒度神经网络的详细结构图;
图4示出了conv_block和identity_block的结构图;
图5示出了本发明所提供的特征融合神经网络的结构图;
图6示出了本发明所提供的特征融合神经网络和分类网络的详细结构图;
图7示出了本发明所提供的车款识别方法的另一流程图;
图8示出了本发明所提供的车款识别系统的示意图。
图标:
第一卷积层-10;最大池化层-11;基础特征提取模块-12;空间特征提取模块-13;拼接层-20;维度变换层-21;第二卷积层-22;第三卷积层-23;第四卷积层-24;第五卷积层-25;特征提取模块-30;特征融合模块-31;分类模块-32;车款确定模块-33。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
第一实施例
人工神经网络是现阶段人工智能领域的研究热点,从信息处理角度对人脑神经元网络进行抽象,通过建立某种简单模型,按照不同的连接方式组成不同的神经网络,当前,基于人工神经网络的深度学习技术已经在各个领域取得了进展,包括图像分类、人脸识别、语音识别等,深度学习的优势在于可以利用通用的结构以相对类似的系统解决不同的技术问题。本实施例通过多个神经网络提供了一种车款识别方法,现有的车款识别技术中主要有以下几种。
第一种,基于通用物体识别模型进行识别,采用通用的物体识别框架在车款识别数据集上训练得到最终的模型,该方法进行车款识别正确率较低,因为通用的物体识别类别之间差异较大,而车款识别不同类别之间的差异较小,且要求同一款车在不同颜色和不同拍摄视角下被识别为同一类,通用的物体识别框架目前无法很好地解决这个问题。
第二种,基于局部部件识别模型,通过检测车灯、车窗、车轮、车头和车尾等部件,提取各局部部件的特征并将其进行合并,然后利用分类器进行分类识别,然而受拍摄的视角影响而无法检测到所有指定的局部部件,会使得该方法失效,同时该方法在应用时需要先检测各部件后提取特征识别,识别过程复杂且识别时间长,较难实现实时的车辆追踪。
第三种,基于3d模型匹配识别,通过估计车辆的3d位姿,与3d模型库里相近位姿下的投影图进行匹配识别。该方法能很好地解决拍摄视角的问题,然而无法应对光照和运动模糊等问题,因此在现实场景中识别正确率较低。
本实施例利用多个神经网络完成对输入的车辆图像的特征的提取、融合和车款的识别,请参阅图1,该方法包括:
步骤101:利用多粒度神经网络,提取车辆图像的全局特征以及多个局部特征。
步骤102:利用特征融合神经网络对车辆图像的全局特征以及多个局部特征进行融合,获得车辆图像对应的类别特征。
步骤103:根据车辆图像对应的类别特征,利用分类神经网络获得车辆图像属于各车款类别的概率。
步骤104:将概率最高的车款确定为车辆图像对应的车款。
多粒度神经网络、特征融合神经网络、分类神经网络依次连接,其中,第一级的多粒度神经网络用于对输入的车辆图像进行不同空间部位的抽象,提取出车辆图像的全局特征和局部特征,全局特征为整体上的通用特征,局部特征为各空间区域的细节特征,将全局和局部的特征结合在一起,能够有更丰富的信息和细节去表征输入图片,若仅仅是通过直接提取车辆的全局特征将其进行分类输出,由于全局特征中很容易忽略掉图像中各局部区域的细节信息,因此往往最终识别效果不太理想,本实施例采用将全局和局部混合的混合型多粒度神经网络,能够同时关注到图像的全局整体信息和局部细节信息,使得该多粒度神经网络能够学习到图像中更多具有代表性的信息。
将车辆图像输入多粒度神经网络中,该车辆图像可以是在一个交通管理系统中前级的车辆检测模型所检测得到的车辆区域部分,也可以是现实场景的车辆图片,通过多粒度神经网络对输入的车辆图像进行基础特征提取,并对图像的全局特征和局部特征通过不同的分支分别进行学习,每个分支中仅需关注对应的特征进行学习,全局分支的输出和多个局部分支的输出均与特征融合神经网络的输入相连,通过特征融合神经网络对车辆图像的各个特征图进行融合,将融合后的类别特征输出至分类神经网络中,并通过分类神经网络输出图像中车辆属于各车款类别的概率。
具体地,参阅图2,上述多粒度神经网络包括第一卷积层10、最大池化层11、至少一个基础特征提取模块12以及至少三个空间特征提取模块13,第一卷积层10、最大池化层11、至少一个基础特征提取模块12依次连接,基础特征提取模块12的输出分别与至少三个空间特征提取模块13中的每一个进行连接,其中,基础特征提取模块12用于提取输入的车辆图像中的基础特征,包括车辆各部位的轮廓、边缘和纹理等,将其输出的特征图沿水平方向进行拆分,获得多个空间部位分支,通过不同的空间特征提取模块13分别提取对应空间部位的特征。
需要说明的是,在输入车辆图像尺寸较小背景简单时,可以实现仅一个基础特征提取模块12提取出该车辆图像的基础特征,但是,实际应用中,输入的车辆图像的尺寸普遍较大,背景较为复杂,因此,为获得更好的基础特征提取效果,可适应性增加基础特征提取模块12的数量。
每个基础特征提取模块12包括一个conv_block和至少一个identity_block,其中,conv_block和identity_block依次连接,该种结构与残差网络中resnet50相同。在残差网络中包括两个基本的block,一个是conv_block,用于减小特征图的大小,去除特征图中冗杂信息,提取出更为关键的特征信息,其输入和输出的维度是不同的,所以不能连续串联,另一个是identity_block,用于从复杂背景中,不同车辆相似部位中学习到更有代表性的特征信息,其输入和输出的特征图大小不变。当输入图片的背景较为复杂,或当多个类别的车辆较为相似时,为了提取更有代表性的特征信息,可以在conv_block后串联多个identity_block。
图3为本实施例提供的一种多粒度神经网络的具体连接结构,采用四个基础特征提取模块,分别为图3中的block2、block3、block4和block5,每个block之间依次连接,通过多个block对车辆图像中的特征进行提取,获得图像的基础特征并进行输出,在block2中包括依次串联的conv_block和两组identity_block,block3中包括依次串联的conv_block和三组identity_block,block4中包括依次串联的conv_block和三组identity_block,block5中包括依次串联的conv_block和两组identity_block,在block5中输出该车辆图像的基础特征。
具体地,本实施例在图4中示出了block2、block3、block4和block5内的每个conv_block和identity_block的结构,在conv_block中包括有依次连接的三个卷积层,每个卷积层中卷积核大小分别为1×1、3×3以及1×1,并将最后一层的卷积层的输出与另一1×1卷积网络的输出相加后输入到relu激活函数层,该1×1卷积网络的输入与conv_block的输入连接;在identity_block中包括有依次连接的三个卷积层,每个卷积层中卷积核大小同样分别为1×1、3×3以及1×1,将最后一层的卷积层的输出与identity_block的输入相加后输入到relu激活函数层。
图3中与block5连接的四个分支均为空间特征提取模块,分别对不同空间部位的特征进行提取,在该多粒度神经网络中,每个空间特征提取模块包括averagepooling平均池化层、fc全连接层和softmax激活层,平均池化层、全连接层和softmax激活层依次连接,对基础特征提取模块12中block5输出到该分支上的特征进行不断学习,block5连接的四个分支中,三个分支为block5输出的特征图沿水平方向上进行切分的局部分支,第4个分支为全局分支,通过上述连接结构使得三个不同的局部分支经过平均池化层、全连接层和softmax激活层能学习到不同区域的显著特征,在全局分支上学习到全局特征。可以理解的是,按照图3的连接结构,在block5中输出的特征图的大小为14×14,将该特征图沿水平方向进行切分获得的三个分支的特征图大小例如为14×5、14×4、14×5,因此至少需对block5输出的特征图切分一次,获得两个局部分支以及一个全局分支,得到至少三个空间特征提取模块。
该多粒度神经网络不同于现有常用的多粒度神经网络,其多个空间特征提取模块的分支完全独立,分别提取不同部位的特征,且该多粒度神经网络的基层网络权重共享,降低了模型复杂度,加快了识别速度,并且,采用全局和多局部混合的形式提取图像的全局通用特征和局部显著特征,全局和局部间相互监督、促进,使得提取的特征更加稳健。
该多粒度神经网络的多个输出与特征融合神经网络的输入连接,参阅图5,该特征融合神经网络包括拼接层20、维度变换层21、第二卷积层22、第三卷积层23、第四卷积层24和第五卷积层25,拼接层20、维度变换层21、第二卷积层22、第三卷积层23、第四卷积层24和第五卷积层25依次连接,其中,拼接层20用于将多粒度神经网络的多个输出进行拼接,维度变换层21用于将拼接层20的输出进行维度变换。
图6示出了本实施例提供的一种特征融合神经网络以及分类神经网络的连接结构,多粒度神经网络的四路分支通过拼接层进行concatenate运算合并,并通过reshape运算对拼接层的输出进行维度变换,按照图3中所示的连接结构,reshape可将维度变换为4×车款类别数×1,其中,4行分别表示3个局部分支和1个全局分支,每一行表示不同空间区域上的特征,每一列表示不同类别的特征,因此实现各特征在空间上和类别间解耦。
需要说明的是,从图6可看出,该特征融合神经网络不同于常用的对称卷积核进行特征融合,本实施例采用两组串联的非对称卷积核的卷积网络对各空间分支和各类别之间的特征进行融合,卷积核大小分别为4×1和1×7,其中,4×1卷积网络融合同一类别不同空间分支之间的特征,1×7卷积网络融合同一空间分支相似类别之间的特征,因此实现了各特征在空间和类别间解耦融合,使得特征融合更为高效精准,可以理解的是,特征融合神经网络中四个卷积层的卷积核大小可根据上一级多粒度神经网络以及实际情况进行适应性调整,本实施例不对此进行限制,例如上一层多粒度神经网络采用一个全局分支和两个局部分支,则该4×1卷积网络的卷积核大小可以更改为3×1。
上述特征融合神经网络通过采用非对称卷积核的卷积网络融合图像的特征,参数量大大减少,且使得特征融合更为高效,最终得到的分类类别特征更为显著,能有效提高车款识别的正确率。
分类神经网络的输入与特征融合神经网络的输出连接,按照图3和图6的连接结构,特征融合神经网络的输出维度为4×车款类别数×8,图6中,分类神经网络通过4×1卷积网络对特征融合神经网络输出的类别特征中各空间分支的特征进行融合,融合后获得的特征维度为1×车款类别数×1,通过softmax激活层,获得输入的车辆图像中车辆属于各车款类别的概率,并对其进行输出。
需要说明的是,由于特征融合神经网络中通过1×7卷积网络对同一空间分支相似类别之间的特征进行融合,因此在分类神经网络输出概率时将具有相似特征的车款类别的概率排列在一起,例如宝马车款中的一系列相似车型的概率会排列在一起进行输出。
还需要说明的是,附图中所示出的多粒度神经网络、特征融合神经网络、分类网络的详细结构中各卷积核的大小仅是一种实施方式,不应当理解为对本发明的限定。
综上所述,上述方案中,通过多粒度神经网络从输入的车辆图片中提取各局部区域的显著特征和全局的通用特征,且多粒度神经网络提取的特征在空间上分为多个局部分支和全局分支,每个分支的同一列表示不同类别的特征,因此所有特征在空间和类别间是解耦的;进一步地,通过特征融合神经网络中两级串联的非对称卷积核的卷积神经网络分别融合各空间分支特征和各类别间特征;进一步地,通过分类神经网络中一个非对称卷积核的卷积神经网络融合各空间分支特征得到各类别的特征,并通过softmax激活层获得图片中车辆属于各车款类别的概率,将概率最高的车款确定为输入的车辆图像对应的车款,整个过程识别速度快,且不受车辆颜色和拍摄视角的影响,针对局部遮挡,运动模糊和光线黑暗等因素影响,均能达到较高识别正确率。
应当理解,上述为进行车款识别的使用阶段,输入车辆图像则通过多粒度神经网络、特征融合神经网络、分类神经网络确定输出车辆的款式,在使用阶段之前,需通过训练集中大量训练样本对各神经网络进行训练,参阅图7,包括:
步骤201:在训练集上利用训练样本对多粒度神经网络进行训练。
在含有若干车辆图像的训练集上对多粒度神经网络进行训练,直至训练稳定。
步骤202:固定多粒度神经网络中的参数,利用训练样本对特征融合神经网络和分类神经网络进行训练。
在对多粒度神经网络训练完成后,固定其中的参数,由于多粒度神经网络、特征融合神经网络、分类神经网络依次连接,将训练集中的训练样本输入多粒度神经网络中,对特征融合神经网络和分类神经网络一起进行训练,直至特征融合神经网络和分类神经网络均训练稳定,随后,可通过很小的学习率对全部神经网络进行微调,以达到更佳的分类识别效果。
第二实施例
本实施例提供一种车款识别系统,参阅图8,包括:
特征提取模块30,用于通过多粒度神经网络,提取车辆图像的全局特征以及多个局部特征;
特征融合模块31,用于通过特征融合神经网络对所述车辆图像的所述全局特征以及多个局部特征进行融合,获得所述车辆图像对应的类别特征;
分类模块32,用于根据所述类别特征,通过分类神经网络获得所述车辆图像属于各车款类别的概率;
车款确定模块33,将概率最高的车款确定为所述车辆图像对应的车款。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
本实施例还提供一种电子设备,包括:处理器和存储器,该存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行第一实施例中所述的方法。
本实施例还提供一种存储介质,该存储介质上存储有计算机程序,计算机程序被处理器运行时执行第一实施例中所述的方法。
在本申请所提供的实施例中,应该理解到,所揭露的系统和方法,也可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的可选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。