一种基于卷积神经网络的细粒度车辆多属性识别方法与流程

文档序号:14120867阅读:2626来源:国知局
一种基于卷积神经网络的细粒度车辆多属性识别方法与流程

本发明属于计算机视觉识别技术领域,涉及一种基于卷积神经网络的细粒度车辆多属性识别方法。



背景技术:

随之经济发展,汽车已成为人们最主要的交通工具,伴随而来的城市交通拥堵问题更是日益严重,出现越来越多的“堵城”。智能交通系统被认为是目前缓解交通压力最佳方案,而且智能交通系统作为智慧城市、数字城市的一部分,主要应用于交通流量监控、车辆监控、高速公路收费站管理、小区智能管理、停车场管理、交警执法、公安刑侦调查等,其中车辆检测识别是智能交通系统最为关键的部分,是实现交通管理智能化的重要环节,是计算机视觉和模式识别即使在智能交通系统中的重要研究课题。

车辆识别技术在车辆全自动不停车收费,交通流量控制指标测量,车辆自动识别,高速公路上事故自动测报,不停车检查,车辆定位,汽车防盗,稽查和追踪车辆违规、违法行为,维护交通安全和城市治安,防止交通堵塞,提高收费路桥的服务速度,缓解交通紧张状况等方面都具有积极作用。

近年来,由于强大的特征表达能力,深度学习已经引起广泛的关注,解决了传统的线性分类器特征提取的瓶颈。卷积神经网络已经被应用于车辆分类识别任务中来。然而,这些工作对于原始卷积神经网络架构都是非常初步的,并且很多重要的实际问题并没有被讨论,尤其是涉及车辆多属性识别问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于卷积神经网络的细粒度车辆多属性识别方法。该方法基于卷积神经网络结构,采用多任务同时学习机制,引入空间度量学习,提取车辆图像高层抽象表达。通过得到图像tripletloss和softmaxloss,进而联合学习两种损失来训练网络。

为达到上述目的,本发明提供如下技术方案:

一种基于卷积神经网络的细粒度车辆多属性识别方法,该方法包括以下步骤:

s1:构建多任务学习的神经网络层级结构;

s2:利用包含不同车辆属性的细粒度图像分类的车辆数据集,训练神经网络,学习tripletloss和softmaxloss的联合损失从而进行权重参数矩阵和偏置值的调整;

s3:将得到的训练好的各层中的权重参数矩阵和偏置值,对应地赋值给神经网络中的各个层,用于车辆特征提取和车辆多属性识别。

进一步,所述神经网络层级结构包括输入层、卷积层、激活函数层、归一化层、池化层、全连接层、切片层和分类输出层,其中,输入层包括原始图像输入层和标签数据输入层;卷积层、激活函数层、归一化层、池化层和全连接层负责车辆特征提取;切片层负责标签数据切片;分类层负责输出分类结果。

进一步,所述步骤2具体为:利用切片层对标签数据进行切分,标签数据与图像特征数据进行分类学习,通过学习不同属性的联合损失完成不同的属性任务;各个学习任务共享隐层,即发掘不同属性学习的内在联系,又区别学习任务之间的差别;针对车辆的不同属性,确定不同的学习任务,每一个学习任务学习车辆的一种属性,并对车辆属性进行识别;对车辆的每一个属性进行标签标记,得到多属性标签数据;

所述多任务学习为一次学习多个任务,多个任务并行学习,结果相互影响;

所述车辆属性包括车辆品牌、车型、颜色的车辆附加属性;

所述训练神经网络的训练方式为带标签的数据的有监督学习;

所述tripletloss是三元组网络结构tripletnetwork的输出损失,所述softmaxloss是softmax回归函数的输出损失;其中三元组网络结构属于度量学习,是通过训练和学习,减小同类样本之间的距离,同时增大不同类别样本之间的距离;

所述细粒度图像分类是相对于粗粒度分类而言,用于识别相似类别下不同子类之间的细微差异。

进一步,所述神经网络层级结构包括2个输入层,5个卷积层,5个激活函数层,2个归一化层,3个池化层,3个全连接层,1个切片层和若干分类输出层;

其中,第一个卷积层利用96个大小为11x11x3,步长为4个像素的卷积核,对大小为224x224x3的输入图像进行卷积滤波;

第二层卷积层将第一个卷积层的输出作为输入,是响应归一化以及池化后的结果,并利用256个大小为5x5x48的卷积核进行滤波;

第三、第四和第五个卷积层彼此相连,没有介于任何池化层与归一化层中间;

第三个卷积层有384个大小为3x3x256的卷积核连接到第二个卷积层的输出,是归一化的、池化后的结果;

第四个卷积层拥有384个大小为3x3x192的核;

第五个卷积层拥有256个大小为3x3x192的核;

池化层采用大小为3,步长为2的池化窗口,采用重叠池化策略;

激活函数层应用于每个卷积层和全连接层的输出,采用不饱和非线性函数f(x)=max(0,x)解决非线性问题;dropout层以0.5的概率将每个隐层神经元的输出设置为零,避免过拟合现象的发生;

全连接层有4096个神经元,用于整个卷积神经网络中的分类。

进一步,在所述神经网络层级结构中,输入层的输入包括原始图像数据和多属性标签数据,其中原始图像数据输入原始图像数据,多属性标签数据输入多属性标签数据;

在最后一层全连接层将该层输入数据分裂为n个分支,其中n为需要学习的车辆属性个数;

多属性标签数据输入层后有数据切片层,将标签数据切分为n个标签切片,每一个标签切片拥有一个属性标记,其中n为需要学习的车辆属性个数;

将分裂后的原始图像数据与标签切片联合学习,最终输出各个属性的分类结果。

进一步,所述联合损失的学习方法为:

定义用于训练的数据图像个数为n,类别数为c,记图像ri的标签类别为li,记为其中i=1…n,f(ri,c)为类别c在最后一层全连接层的输出,c=1,...,c,则所有训练图像{ri}i在最后一层全连接层的softmax损失输出定义为负对数似然之和:

所述度量学习为:

使用三张图像组成一个三元组,记为,其中是参考样本,是和同类别的图像,称为正样本,是和不同类别的图像,称为负样本;记图像特征表达为f(x),f(x)需要经过l2规范化,即满足||f(x)||2=1,则三元组中样本的特征表达式分别为α为预设阈值,三元组损失tripletloss表示为:

采用softmaxloss和tripletloss两种损失的联合损失进行最终分类结果的衡量,联合损失表达为:

l=ωltriplet+(1-ω)lsoftmax

其中,参数ω表示tripletloss所占比重。

本发明的有益效果在于:

(1)本发明把卷积神经网络与车辆多属性学习结合起来,具有针对性地进行设计、训练、改进,同时学习并输出车辆的多种属性;

(2)本发明利用深度学习提取车辆特征表示,减少了人为干预。

附图说明

为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:

图1为本发明实现方法示意图;

图2为基于lsoftmax和ltriplet的联合学习网络结构模型;

图3为适用于多任务学习的神经网络结构模型;

图4为本发明的卷积神经网络的结构图。

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

如图1所示,图1为本发明实现方法示意图。包括两个模块:训练模块和测试模块。训练模块是神经网络的训练过程,训练数据集和标签数据经过多任务神经网络得到神经模型,测试模块是神经网络测试过程,测试数据集经过特征提取过程,通过训练好的神经模型得到最终输出。

如图2所示,图2为lsoftmax和ltriplet的联合学习网络结构模型,步骤如下:

步骤201:获得细粒度车辆数据集,将车辆图像分为三元组模型其中是参考样本,是和同类别的图像,称为正样本,是和不同类别的图像,称为负样本,i为图像标号,

步骤202:将三元组图片送入神经网络进行特征学习,学习共享同一个隐层;

步骤203:在全连接层最后一层对输出进行归一化处理;

步骤204:与标签数据进行结构化学习;

步骤205:利用步骤203的输出得到lsoftmax;

步骤206:利用步骤204的输出计算得到ltriplet;

步骤207:对ltriplet和lsoftmax进行联合学习,得到联合损失。

如图3所示,图3为多任务学习网络结构模型,步骤如下:

步骤301:输入原始图像数据到神经网络,图像经过卷积、池化等处理后到达全连接层第七层;

步骤302:输入标签数据,经过切片处理后出入到全连接层第七层,其中切片处理在切片层进行,按照属性类别进行切片,并进行属性标记;

步骤303:对最后一层全连接层的图像特征输入做分裂处理,其中所分裂个数为属性个数,然后图像特征数据与标签数据进行分别地学习;

步骤304:输出得到不同属性的学习结果。

如图4所示,图4为本发明的具体神经网络结构示意图,步骤如下:

步骤401:原始图像作为神经网络的一个输入;

步骤402:标签数据作为神经网络的另一个输入;

步骤403:神经网络的卷积层,其中403_1表示第一个卷积层,403_2表示第二个卷积层,以此类推,一共5个卷积层,卷积层对本层输入做卷积处理;

步骤404:神经网络的激活函数层,404_1表示第一个激活函数,404_2表示第二个激活函数层,以此类推,一共7个激活函数层,分别位于卷积层与全连接层后,其中激活函数为f(x)=max(0,x);

步骤405:神经网络的归一化层,405_1表示第一个归一化层,405_2表示第二个归一化层,以此类推,一共2个归一化层,对本层的输入进行归一化处理;

步骤406:神经网络的池化层,406_1表示第一个池化层,406_2表示第二个池化层,以此类推,一共三个池化层;

步骤407:神经网络全连接层,407_1表示第一层全连接层,407_2表示第二个全连接层,以此类推,一共三个全连接层;

步骤407_3:神经网络全连接层最后一层,对本层输入的图像特征数据做分裂处理,分裂个数为所学属性个数;

步骤408:神经网络dropout层,408_1表示第一个dropout层,408_2表示第二个dropout层,dropout层按照0.5的概率随机将神经元的输出设置为0;

步骤409:神经网络切片层,对标签数据输入做切片处理,按照不同的属性进行切片;

步骤410:将步骤407_3的输出与步骤409的输出联合学习,计算得到联合损失。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1