一种车辆识别方法及装置
技术领域
本申请涉及计算机视觉技术领域,尤其涉及一种车辆识别方法及装置。
背景技术
目前,在识别图片中的具体内容时,通常是包括如下步骤:
第一步,在图片中检测感兴趣物体的位置,比如:若要进行车辆的识别则需要先使用一个检测器将这辆车从图片中找出来,检测器的输出结果为该车在图片上的坐标;
第二步,将该车按照坐标位置从原图中剪切下来,将剪切后的图片放到分类器中,分类器的输出结果为这辆车的识别结果。
在第二步中,通常是将输入的原始图片像素值转化为人工定义的特征(human-engineeredfeatures),比如:尺度不变特征变换(SIFT,Scale-invariantfeaturetransform)、方向梯度直方图(HOG,HistogramofOrientedGradient)特征等,然后将这些变换得到的特征放入分类器中进行分类,最终得到物体的识别结果。采用这种方式进行识别,由于分类算法是基于人工定义的特征进行分类,使用的模型通常只包含一个提取特征的隐含层,特征往往不足以刻画和区分物体,导致识别的准确率较低。
现有技术不足在于:
采用现有的方式识别物体准确率较低。
发明内容
本申请实施例提出了一种车辆识别方法及装置,以解决现有技术中的物体识别方法识别物体的准确率较低的技术问题。
本申请实施例提供了一种车辆识别方法,包括如下步骤:
获取待识别车辆图像;
利用预先训练得到的第一深度学习网络识别所述待识别车辆图像;所述第一深度学习网络的网络结构包括卷积层、池化层和全连接层,所述卷积层的后面连接所述池化层,所述池化层后面连接所述全连接层,最后的全连接层上的每个输出节点为所述车辆图像的车辆属性概率;
根据所述车辆属性概率确定所述待识别车辆图像的车辆属性信息。
本申请实施例提供了一种车辆识别装置,包括:
获取模块,用于获取待识别车辆图像;
训练模块,用于训练第一深度学习网络;所述第一深度学习网络的网络结构包括卷积层、池化层和全连接层,所述卷积层的后面连接所述池化层,所述池化层后面连接所述全连接层,最后的全连接层上的每个输出节点为所述车辆图像的车辆属性概率;
识别模块,用于利用预先训练得到的所述第一深度学习网络识别所述待识别车辆图像;
确定模块,用于根据所述车辆属性概率确定所述待识别车辆图像的车辆属性信息。
有益效果如下:
本申请实施例所提供的车辆识别方法及装置,在获取到待识别车辆图像之后,无需用户手动定义特征再进行分类,直接利用预先训练得到的第一深度学习网络即可识别所述待识别车辆图像,依次经过卷积层、池化层和全连接层后得到车辆属性概率,从而确定车辆属性信息。由于本申请实施例所提供的方案利用的是深度学习网络识别车辆,深度学习网络足以刻画和区分物体,相比现有的人工定义特征进行分类的方式准确性更高,使得误报率和漏报率同时降低。
附图说明
下面将参照附图描述本申请的具体实施例,其中:
图1示出了本申请实施例中车辆识别方法实施的流程示意图;
图2示出了本申请实施例中第一深度学习网络的结构示意图;
图3示出了本申请实施例中车辆识别装置的结构示意图。
具体实施方式
为了使本申请的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。
发明人在发明过程中注意到:
现有方式还存在着如下缺点:
1)误报和漏报是一对矛盾,即可以人为地调整模型外在参数,使得误报率降低而造成漏报率上升,反之亦然。由于现有方式准确性不高,造成无论怎样调整参数,结果的误报和漏报率都难以同时降低;
2)现有算法是基于手工定义的特征,在输入图片后进行提取特征时需要人手动参与;
3)现有技术中大多为浅层模型,不能很好的刻画出欲分类物体的特征。
针对现有技术的不足,本申请实施例提出了一种车辆识别方法及装置,下面进行说明。
图1示出了本申请实施例中车辆识别方法实施的流程示意图,如图所示,所述车辆识别方法可以包括如下步骤:
步骤101、获取待识别车辆图像;
步骤102、利用预先训练得到的第一深度学习网络识别所述待识别车辆图像;所述第一深度学习网络的网络结构包括卷积层、池化层和全连接层,所述卷积层的后面连接所述池化层,所述池化层后面连接所述全连接层,最后的全连接层上的每个输出节点为所述车辆图像的车辆属性概率;
步骤103、根据所述车辆属性概率确定所述待识别车辆图像的车辆属性信息。
具体实施时,可以首先获取待识别车辆图像,所述图像中可以为具有一定属性的车辆,所述属性可以为车型、车款、年份等,例如,所述待识别车辆图像上可以为奥迪-A4-2012这辆车。
然后利用预先训练得到的第一深度学习网络识别所述待识别车辆图像。其中,深度学习(deeplearning)属于神经网络的一种,近年来在计算机视觉、语音识别等领域有较多应用,它是一种解决训练问题的深层神经网络,可以通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
本申请实施例中的第一深度学习网络可以包括卷积层、池化层和全连接层这三个层次,其中:
卷积层(Convolution),通过卷积运算使得原信号特征增强并降低噪音,具体的卷积计算可以采用现有技术实现;
池化层(Pooling),利用图像局部性原理通过抽样的方法减少很多特征,可以包括最大池化、均值池化、随机池化等方式,具体实现可以采用现有技术;
全连接层(FullConnected),全连接层的每个神经元都与下一层的每个神经元相连,像传统的多层感知器(MLP,Multi-layerperceptron)神经网络一样,执行正常分类。
将所述待识别车辆图像作为输入,从输入层到卷积层通过卷积操作,卷积层的每个神经元可以与输入层中一定尺寸的局部感受野相连,通过卷积后获得了所述待识别车辆图像的特征(features);从卷积层到池化层的过程可以称为池化过程,目的在于减少上一层的特征数量;经过卷积层和池化层之后得到的特征会由全连接层进行分类,经过全连接层的计算处理,最终输出结果。
所述全连接层上的每个输出节点为所述车辆图像的车辆属性概率,即每个输出节点上输出的是该车辆属于某个属性的概率,例如:第一个输出节点为该车辆属于奥迪-A4-2012的概率、第二个输出节点为该车辆属于奥迪-A3-2010的概率等,最终根据车辆属性概率确定出该车辆的属性信息,即,根据概率确定出该车辆具体属于哪种车型、车款、年份等,具体实施时可以将最大的车辆属性概率确定为该车辆属于哪种车型、车款、年份等,例如:第一个输出节点为该车辆属于奥迪-A4-2012的概率为90%,其他节点输出的概率均小于90%,则可以确定该车辆为奥迪-A4-2012。
本申请实施例所提供的车辆识别方法及装置,在获取到待识别车辆图像之后,无需用户手动定义特征再进行分类,直接利用预先训练得到的第一深度学习网络即可识别所述待识别车辆图像,依次经过卷积层、池化层和全连接层后得到车辆属性概率,从而确定车辆属性信息。由于本申请实施例所提供的方案利用的是深度学习网络识别车辆,深度学习网络足以刻画和区分物体,相比现有的人工定义特征进行分类的方式准确性更高,使得误报率和漏报率同时降低。
实施中,所述第一深度学习网络的训练步骤具体可以包括:
获取带有标记的车辆图像样本;所述标记包括车辆的车身信息和车辆的属性信息;
利用预先设置有初始参数的第一深度学习网络对所述车辆图像样本进行分类;
根据所述第一深度学习网络输出结果与所述车辆的属性信息之间的差异逐层反传至所述第一深度学习网络,训练所述第一深度学习网络的参数。
具体实施时,可以获取若干车辆图像样本,这些样本可以包括各类车型车款的车辆图像,在获取到这些车辆图像后可以在车辆图像上标定车辆外框,并标记这辆车的车型、车款、年份等属性。例如:获取近2000类车型车款的车辆图像,将近2000类车型车款进行人工标定,在图像中画出标定框并给出这辆车的车型、车款、年份(如:奥迪-A4-2012),标定数据的图像数量可以大于20万张。
然后利用预先设置有初始参数的第一深度学习网络对所述车辆图像进行分类,所述第一深度学习网络的全连接层上的每一个输出节点对应该图片是相应车辆类别的概率,这一操作过程也可以称为softmax。其中,输出的概率可以为一数组。
最终,将输出概率与真实标记(可以为与输出概率等长数组)进行比较,计算二者的差异。具体实施时,可以利用交叉熵损失函数crossentropylossfunction来度量模型输出结果与真实值之间的差异。将该差异反逐层反传到所述第一深度学习网络中,进行模型的参数训练。
本申请实施例利用第一深度学习网络模型不断训练参数,从而使得所述第一深度学习网络可以精确的识别车辆,无需人工参与即可利用机器深度学习自动达到分类的目的。
实施中,所述训练所述深度学习网络的参数具体可以为使用深度网络训练工具caffe进行训练,所述caffe的参数包括:基础学习率范围为0.0001~0.01,学习动量范围为0.9~0.99,权重惩罚系数范围为0.0001~0.001。
具体实施时,可以采用深度网络训练工具caffe进行模型训练,caffe是一个清晰且高效的深度学习框架,使用此工具时除了使用网络结构文件之外,还可以定义solver文件,solver文件给出了最优化模型(即训练)的方法,即,参数的反向传播算法。
使用caffe时参数可以设置为如下所示:
基础学习率(baselearningrate)范围0.0001-0.01;
学习动量(momentun)范围0.9-0.99;
权重惩罚系数(weight_decay)范围0.0001-0.001。
本申请实施例采用深度网络训练工具对模型进行训练,发明人发现基础学习率范围为0.0001~0.01、学习动量范围为0.9~0.99、权重惩罚系数范围为0.0001~0.001时训练效果最佳。
实施中,所述标记可以进一步包括车辆的局部部位信息;
在获取带有标记的车辆图像之后、在利用预先设置有初始参数的第一深度学习网络对所述车辆图像进行分类之前,所述方法可以进一步包括:利用预先建立的第二深度学习网络对所述车辆的局部部位提取特征;
所述利用预先设置有初始参数的第一深度学习网络对所述车辆图像进行分类具体可以为:在输出所述所述车辆属性概率的前一个全连接层将所述车身信息和所述局部部位特征进行融合,将融合后的信息作为最后一个全连接层的输入,输出车辆属性概率。
具体实施中,本申请实施例除了利用车身整体信息之外,还利用了关键部位信息,如车标和车前脸等部位特征,这样可以使得所述第一深度学习网络学习到一些具有区分特征的关键部位,帮助分类的结果。
具体做法可以为:将检测到的车辆的局部部位单独放入另外的神经网络(即,第二深度学习网络)中,提取对应的特征,然后在第一深度学习网络中输出概率的前一个全连接层融合车身整体信息和局部部位信息,最后将融合之后的信息一起作为最后一个全连接层的输入,输出概率向量。其中,所述第二深度学习网络可以与所述第一深度学习网络相同,也可以采用现有技术中其他的深度学习网络,只要能够得到车辆局部部位的特征即可,本申请对此不作限制。
本申请实施例在利用车身整体信息之外,增加了车辆局部部位信息,从而使得第一深度学习网络可以学习到一些具有区分特征的关键部位,以帮助分类的结果,最大程度上从图像中发掘有用信息,提升了模型分类效果,提高了车辆识别的准确性。
实施中,所述利用预先设置有初始参数的第一深度学习网络对所述车辆图像样本进行分类,具体可以为:利用预先设置有初始参数的卷积核与所述车辆图像样本进行卷积计算;经过池化层的池化操作以及全连接层的全连接操作,得到所述车辆图像样本的车辆属性概率;
所述根据所述第一深度学习网络输出结果与所述车辆的属性信息之间的差异逐层反传至所述第一深度学习网络,训练所述深度学习网络的参数,具体可以为:当所述车辆属性概率与所述车辆的属性信息之间存在差异时,调整所述卷积核中的参数,直至输出的车辆属性概率与所述车辆的属性信息相符。
在具体实施时,可以将车辆图像样本中的车辆进行标记,所述标记具体可以为所述车辆的属性信息;在训练所述第一深度学习网络的参数时,可以将所述标记作为标准进行参考。
所述利用预先设置有初始参数的第一深度学习网络对所述车辆图像样本进行分类具体可以为:利用预先设置有初始参数的卷积核与所述车辆图像样本进行卷积计算;经过池化层的池化操作以及全连接层的全连接操作,得到所述车辆图像样本的车辆属性概率。具体实施时,卷积核可以为1*1、3*3、5*5等大小,卷积核中包括多个数值,例如:3*3的卷积核中包括9个数值,本申请实施例中的卷积核可以预先设置有初始参数。
根据所述初始参数的卷积核进行卷积计算,在经过池化层、全连接层,最终输出所述车辆图像样本的车辆属性概率。
判断所述输出的车辆属性概率是否与所述车辆的属性信息相符或一致,当所述车辆图像的车辆属性概率与所述车辆的属性信息之间存在差异时,调整所述卷积核中的参数,直至输出的车辆属性概率与所述车辆的属性信息相符。
例如:假设输出的车辆属性概率为奥迪-A4-2012的概率最大,如果所述预先标记的车辆属性信息为奥迪-A3-2010,那么重新调整所述卷积核中的参数,再进行卷积层、池化层、全连接层的识别,直至所述输出的车辆属性概率为奥迪-A3-2010最大,与所述真实的车辆属性信息相符,完成所述卷积核参数的训练。
实施中,所述第一深度学习网络的网络结构具体可以包括5个卷积层、5个池化层和3个全连接层,每个卷积层后面连接所述池化层,所述池化层后面连接下一个卷积层,在最后一个池化层后面顺次连接3个全连接层,最后一个全连接层的输出个数为车辆属性分类的数目。
本申请实施例中所述第一深度学习网络使用了5个卷积层,每个卷积层后面接上池化层,后面再接上3个全连接层,最后一个全连接层的输出个数即为分类的数目。本申请实施例所设计的第一深度学习网络,在确保所述第一深度学习网络计算量适中的同时提升了分类识别的准确性,克服浅层网络特征提取不充分的问题。
实施中,所述利用预先训练得到的第一深度学习网络识别所述待识别车辆图像具体可以为:
在卷积层,将所述待识别车辆图像与预先训练得到的卷积核进行卷积计算,输出一个或多个特征图像;
在池化层,对所述卷积层的输出进行池化操作;
在全连接层,对所述上一层的输出进行全连接操作,所述最后的全连接层的节点个数与车辆属性分类的数目相同;
对所述最后的全连接层的输出进行分类,得到车辆属性概率。
具体实施时,可以在获取待识别车辆图像后,在卷积层,将所述待识别车辆图像与预先训练得到的卷积核进行卷积计算,输出一个或多个特征图像;在池化层,对所述卷积层的输出进行池化操作;在全连接层,对所述上一层的输出进行全连接操作,所述最后的全连接层的节点个数与车辆分类种类相同;最终,对所述最后的全连接层的输出进行分类,得到车辆属性概率。
其中,所述预先训练得到的卷积核可以与某种车辆属性相对应,所述待识别车辆图像可以分别与多个卷积核进行卷积计算,从而最后输出该待识别车辆图像为不同种类的车辆属性的概率。
实施中,在获取待识别车辆图像之后、在所述利用预先训练得到的第一深度学习网络识别所述待识别车辆图像之前,所述方法可以进一步包括:
对所述待识别车辆图像进行预处理;
所述预处理至少包括以下一种操作:旋转、直方图均衡、白平衡、镜像操作、随机剪切、中心化、均值化、调整大小resize。
具体实施时,在获取到待识别车辆图像之后,可以先对所述待识别车辆图像进行预处理,例如:进行数据增强、中心化、均值化以及resize等预处理后,存储成所述深度学习网络能够读取的数据格式,例如h5、LMDB等格式。
其中,数据增强可以包括旋转、直方图均衡、白平衡、镜像操作、随机剪切等,中心化使用参数的范围可以在100~150之间、均值化使用参数可以在100~150之间、resize图片大小的范围可以为100~256inpixels。
本申请实施例通过在识别图像之前先对所述待识别车辆图像进行预处理,可以消除图像中无关的信息、增强有用的真实信息,从而改进后续识别的可靠性。
为了便于本申请的实施,下面以实例进行说明。
本申请实施例可以利用深度学习网络进行车型车款分类,具体操作可以包括如下四个步骤:
步骤一、标定数据
将大约2000类车型车款进行人工标定,标定内容包括在原图上画出标定框找出一辆车,以及给出这辆车的车型车款年份,例如:奥迪-A4-2012,标定数据的数量大于20万张。
步骤二、预处理
将标定好的数据按照对应的文件夹进行分类,将原始标定框图片进行数据增强、中心化、均值化以及resize等预处理后,存储为深度神经网络能够读取的数据格式,如h5、闪电般的内存映射型数据库管理(LMDB,LightningMemory-MappedDatabaseManager)等。
其中,数据增强可以包括旋转、直方图均衡、白平衡、镜像操作、随机剪切等;中心化使用参数的范围可以在100~150之间;均值化使用参数可以在100~150之间;resize图片大小的范围可以在100~256(pixels)。
步骤三、设计深度学习网络
网络结构可以包括三个组成部分,分别为:卷积层(convolutionallayer),池化层(poolinglayer)和全连接层(fullyconnectedlayer)。这三种基本结构的功能可以参考现有技术,本申请在此不做赘述。
图2示出了本申请实施例中深度学习网络的结构示意图,如图所示,本申请实施例采用了5个卷积层,每个卷积层后面都会跟上池化层、后面再接上三个全连接层,最后一个全连接层的输出个数即为分类的数目,全连接层上的每一个输出节点对应该图片为相应车辆类别的概率,此操作称为softmax,最后可以将输出概率(可以为数组结构)与真实标定类别(与输出概率等长的数组)进行比较,可以使用crossentropylossfunction来度量模型输出结果与真实值的差异。该差异可以逐层反向传到网络中,进行模型的参数训练。
为了使深度学习网络学习到一些具有区分特征的关键部位、帮助分类的结果,本申请实施例除了利用车身整体信息之外,还利用了车辆的关键部位信息,例如:车标和车前脸等。
具体做法可以为:将检测到的关键部位单独放入另外的神经网络中,提取对应的特征,在输出概率的前一个全连接层融合车身整体信息和关键部位信息,然后将融合后的信息一起作为最后一个全连接层的输入,输出概率向量。
步骤四、模型训练
本申请实施例可以使用现有的深度网络训练工具进行模型训练,例如:caffe(http://caffe.berkeleyvision.org/),使用过程中可以定义solver文件,所述solver文件给出了最优化模型(训练)的方法,即,参数的反向传播算法。其中,关键参数可以包括基础学习率(baselearningrate)、学习动量(momentum)、权重惩罚系数(weight_decay)等,所述基础学习率的范围可以为0.0001~0.01,所述学习动量的范围可以为0.9~0.99,权重惩罚系数的范围可以为0.0001~0.001。
具体实施时,本申请实施例中的车辆识别过程可以为批量作业,同时对多张待识别车辆图像进行识别,具体如下:
步骤一、输入待识别车辆图像,假设一个数据组batch共可以包括256张图片;
步骤二、对每张图片进行数据增强,具体可以为:
将每张图片调整resize到128*128像素大小,并将RGB每个通道上的像素值做中心化和重新调整rescale处理,具体为:
中心化处理:每个像素值减去128;
rescale处理:将上述减去后的值再乘以0.01;
然后可以在经过上述处理后的图像中随机选取118*118的一个部分,最终,输入的256张128*128的图片变成了256张118*118的图片。
步骤三、利用第一深度学习网络进行车辆识别。
经过第一个卷积层convolutionlayer,将所述待识别车辆图像与卷积核进行卷积计算,卷积核大小(kernelsize)可以为7*7,滑动时每次移动步长(stride)可以为2个像素,输入的特征层个数可以为24,卷积核的参数的个数为24*7*7*3=3528;
经过第一个池化层poolinglayer,池化范围大小(kernelsize)可以为3*3,每次移动(stride)为2个像素;
经过第二个卷积层convolutionlayer,将上一层的输出与卷积核进行卷积计算,卷积核大小(kernelsize)可以为5*5,滑动时每次移动(stride)可以为1个像素,总共可以为64个特征图像,涉及的卷积核参数的个数可以为64*5*5*24=38400;
经过第二个池化层poolinglayer,池化范围大小(kernelsize)可以为3*3,每次移动(stride)可以为2个像素;
经过第三个卷积层convolutionlayer,将上一层的输出与卷积核进行卷积计算,卷积核大小(kernelsize)可以为3*3,滑动时每次移动(stride)可以为1个像素,总共可以为96个特征图像,涉及的卷积核参数的个数可以为96*3*3*64=55296;
经过第三个池化层poolinglayer,池化范围大小(kernelsize)可以为3*3,每次移动(stride)可以为2个像素;
经过第四个卷积层convolutionlayer,将上一层的输出与卷积核进行卷积计算,卷积核大小(kernelsize)可以为3*3,滑动时每次移动(stride)可以为1个像素,总共可以为96个特征图像,涉及的卷积核参数的个数可以为96*3*3*96=82944;
经过第四个池化层poolinglayer,池化范围大小(kernelsize)可以为3*3,每次移动(stride)可以为2个像素;
经过第五个卷积层convolutionlayer,将上一层的输出与卷积核进行卷积计算,卷积核大小(kernelsize)可以为3*3,滑动时每次移动(stride)可以为1个像素,总共可以为64个特征图像,涉及的卷积核参数的个数可以为64*3*3*96=55296;
经过第五个池化层poolinglayer,池化范围大小(kernelsize)可以为3*3,每次移动(stride)可以为2个像素;
经过第一个全连接层fullyconnectedlayer,全连接层的节点个数可以为1024个,涉及的卷积核参数的个数可以为1024*64*5*5=1638400;
经过第二个全连接层fullyconnectedlayer,在所述第二个全连接层将所述上一层的输出以及预先通过第二深度学习网络得到的车辆局部特征进行融合,全连接层的节点个数可以为1024个,涉及的卷积核参数的个数可以为1024*1024=1048576;
经过第三个全连接层fullyconnectedlayer,所述第三个全连接层的输入为上一个全连接层融合后的输出,所述第三个全连接层的节点个数可以为N个(所述N为分类的种类,可以代表N种车型车款,例如N可以为1500),那么涉及的卷积核参数的个数可以为N*1024(当N=1500时,1500*1024=1536000);
最后进行softmax分类,将所述第三个全连接层上的每个输出节点的数值转化为0~1之间的概率值,对应N种车辆的概率。
在具体实施时,每个卷积层后面还可以接一个非线性变化,每个全连接层后面可以接一个非线性变化以及一个为了避免过拟合的dropout层。
最终卷积核涉及的参数总共可以为:
totalnumberofparametersinvolved=3528+38400+55296+82944+55296+1638400+1048576+1536000=4458440(大约450万个参数)。
采用本申请实施例所提供的模型可以区分出将近2000类的车型车款年份,在测试集合的准确率>90%。
本申请实施例采用了深度网络,由于深度网络有着一层层提取物体特征的优势,高层特征信息是底层特征信息的线性和非线性变换,相比现有的浅层网络更能提取出能够刻画欲分类物体的本质特征,从而提升了模型效果,解决了现有技术中浅层网络特征提取不充分的问题,并且采用了完全由数据驱动的端到端的模型,即,输入是原始图片、输出是分类结果、中间层的特征无需人工手动参与,完成由数据自我驱动;另外,采用本申请实施例所提供的技术方案进行识别在一定程度上提高了准确性,降低了误报和漏报现象。
基于同一发明构思,本申请实施例中还提供了一种车辆识别装置,由于这些设备解决问题的原理与一种车辆识别方法相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。
图3示出了本申请实施例中车辆识别装置的结构示意图,如图所示,所述车辆识别装置可以包括:
获取模块301,用于获取待识别车辆图像;
训练模块302,用于训练第一深度学习网络;所述第一深度学习网络的网络结构包括卷积层、池化层和全连接层,所述卷积层的后面连接所述池化层,所述池化层后面连接所述全连接层,最后的全连接层上的每个输出节点为所述车辆图像的车辆属性概率;
识别模块303,用于利用预先训练得到的所述第一深度学习网络识别所述待识别车辆图像;
确定模块304,用于根据所述车辆属性概率确定所述待识别车辆图像的车辆属性信息。
实施中,所述训练模块具体可以包括:
获取单元,用于获取带有标记的车辆图像样本;所述标记包括车辆的属性信息;
分类单元,用于利用预先设置有初始参数的第一深度学习网络对所述车辆图像样本进行分类;
训练单元,用于根据所述第一深度学习网络输出结果与所述车辆的属性信息之间的差异逐层反传至所述第一深度学习网络,训练所述第一深度学习网络的参数。
实施中,所述标记可以进一步包括车辆的局部部位信息;
所述训练模块可以进一步包括:
局部特征提取单元,用于在获取带有标记的车辆图像之后、在利用预先设置有初始参数的第一深度学习网络对所述车辆图像进行分类之前,利用预先建立的第二深度学习网络对所述车辆的局部部位提取特征;
所述分类单元具体可以用于利用预先设置有初始参数的第一深度学习网络对所述车辆图像进行分类,在输出所述所述车辆属性概率的前一个全连接层将所述车身信息和所述局部部位特征进行融合,将融合后的信息作为最后一个全连接层的输入,输出车辆属性概率。
实施中,所述分类单元具体可以用于利用预先设置有初始参数的卷积核与所述车辆图像样本进行卷积计算;经过池化层的池化操作以及全连接层的全连接操作,得到所述车辆图像样本的车辆属性概率;所述训练单元具体可以用于当所述车辆属性概率与所述车辆的属性信息之间存在差异时,调整所述卷积核中的参数,直至输出的车辆属性概率与所述车辆的属性信息相符。
实施中,所述第一深度学习网络的网络结构具体包括5个卷积层、5个池化层和3个全连接层,每个卷积层后面连接所述池化层,所述池化层后面连接下一个卷积层,在最后一个池化层后面顺次连接3个全连接层,最后一个全连接层的输出个数为车辆属性分类的数目。
实施中,所述识别模块具体可以包括:
卷积单元,用于在卷积层,将所述待识别车辆图像与预先训练得到的卷积核进行卷积计算,输出一个或多个特征图像;
池化单元,用于在池化层,对所述卷积层的输出进行池化操作;
全连接单元,用于在全连接层,对所述上一层的输出进行全连接操作,所述最后的全连接层的节点个数与车辆属性分类的数目相同;
分类单元,用于对所述最后的全连接层的输出进行分类,得到车辆属性概率。
实施中,所述装置可以进一步包括:
预处理模块305,用于在获取待识别车辆图像之后、在所述利用预先训练得到的第一深度学习网络识别所述待识别车辆图像之前,对所述待识别车辆图像进行预处理;所述预处理至少包括以下一种操作:旋转、直方图均衡、白平衡、镜像操作、随机剪切、中心化、均值化、调整大小resize。
为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。