本发明涉及计算机图像处理与车型识别技术领域,具体涉及一种基于改进高效率网络的车型识别方法。
背景技术:
现代化经济社会的迅猛发展,人们生活水平的飞速提升,使得车辆的使用同比例也飞速增长。一个城市的交通在很大程度上代表着这个城市的发展,而由于车辆的不断增加给城市交通管理带来了一定的困难。为了适应车辆的逐年增多,建立能够高效、便捷管理交通的智能交通系统是城市发展的重要前提,而车流量分析、全自动收费系统作为智能交通系统中的重要组成部分则需要依靠车型的识别与分类。
车型分类主要是根据车型、车身的主要标志等外观特征对车辆进行分类,但由于在交通监控下所得到的车辆图像大部分只包括车辆正面以及部分侧面信息,在加上天气情况、拍摄角度、光照程度等外在干扰因素,使得车型分类的准确率在一定程度上受到影响。
传统的车型分类算法包括特征提取与分类器设计两个部分,而近年来随着机器学习和计算机视觉的不断发展,越来越多的研究者采用机器学习的方法来进行车型的分类。2012年,alexnet在ilsvrc(largevisualrecognitionchallenge)竞赛中崭露头角,加速了卷积神经网络在图像分类中的应用。vggnet,googlenet,restnet等网络逐渐被应用到图像分类的网络中。
技术实现要素:
本发明所要解决的技术问题是提出了一种基于改进高效率网络的车型识别方法,由此解决现有的车型识别算法容易受光照、天气影响而产生特征描述不充分、分类不准确的情况。
为实现上述目的,本发明提供的技术方案为:一种基于改进高效率网络的车型识别方法,其流程图如图1,具体包括如下步骤:
1)数据处理
为更好的训练模型,采用北京理工大学制作的bit-vehicles数据集,其中包含了车辆在图片中的位置信息以及车辆的类型,对数据集进行处理,并分为训练集和测试集,输入车辆分类网络模型中。
2)模型选择
将处理完的数据集输入到efficientnetb0~b7的八个网络中进行训练,选择与数据集最为匹配的网络作为基础分类网络。
3)模型构建
efficientnet网络中使用mbconv卷积块为基本模块,利用深度可分离卷积代替普通卷积,并在网络最后添加softmax分类器进行分类。
4)损失函数的选择
交叉熵损失函数注重于标签预测的准确率,而忽略了其他非正确标签的差异性,容易造成过拟合问题,因此选择标签平滑正则化对损失函数进行处理来代替原始模型中的交叉熵损失函数。
进一步的所述步骤1)具体为采用北京理工大学制作的bit-vehicles数据集,该数据集中所有图像来自真实交通中的监控视频截图,其中包括公共汽车、微型客车、小货车、小轿车、越野车、卡车6类车型,总共9850张图像,由于不同车型之间的图像数据量相差过大,因此通过调节图像亮度、图像翻转等方法对样本量较小的公共汽车、微型客车、小货车、卡车类别数据进行了数据扩充,对样本量较大的小轿车、越野车、类别进行了随机抽取,并将图像分辨率归一化为224×224大小。
进一步的所述步骤3)具体包括:
3.1)深度可分离卷积通常是先将输入图片输入给一个深度卷积,与普通卷积利用每个卷积核同时对输入图片的每个通道进行卷积不同,深度卷积的一个卷积核只负责一个通道,一个通道只被一个卷积核卷积,深度卷积输出的特征图与输入的特征图大小相同。因此深度卷积输出的结果需要在经一个1×1的逐点卷积,才能实现特征图维度的扩展。深度可分离卷积的参数量和计算量的计算过程如式ⅰ、式ⅱ:
parmas=hkernel×wkernel×cin×cin 1×1×cin×cout式ⅰ;
flops=hout×wout×hkernel×wkernel×cin×cin cin×cout×hout×wout式ⅱ;
式中hin为特征图高,win为特征图宽,cin为输入通道数,cout为输出通道数,hkernel、wkernel分别为卷积核的高和宽。
3.2)efficientnet模型的内部是通过多个mbconv卷积块实现的,mbconv卷积块的整体结构参考了mobilenetv2的反向残差和压缩激励优化结构,并将其内部的relu6激活函数更改为性能更好的swish激活函数,每个mbconv卷积块的具体结构如图2。
进一步的所述步骤4)具体包括:
4.1)交叉熵损失函数经常用于神经网络分类问题中,注重于标签预测的准确率,而忽略了其他非正确标签的差异性,容易造成过拟合问题,交叉熵损失函数loss的定义为式ⅲ:
式中pi为当前样本属于类别i的概率,zi为当前样本i对应的对数概率,n为样本类别总数,m为样本总数,y为预测标签,yi为该样本经过独热编码化后的标签值;
标签平滑正则化(lsr,labelsmoothingregularization)是通过引入噪声,改变经过传统独热编码化后的标签值,从而改变预测概率和损失函数的值,使网络具有更好的包容性,经过标签平滑正则化处理后的损失函数lossi为式ⅳ:
式中ε为的超参数,相当于在预测真实标签时加入了噪声,解决了交叉熵损失函数对标签预测结果的盲目自信,改善了模型的过拟合问题。
总体而言,本发明提出的一种基于改进高效率网络的车型识别方法包括以下技术效果:
本发明使用efficientnet对车型进行特征提取,使用深度可分离卷积代替普通卷积,在保证模型精度的同时大幅度减少了模型的参数量,提出了在网络最后的全连接层处增加softmax分类器,并且使用标签平滑正则化的方式处理损失函数,提高网络的容错性,减小模型的过拟合问题,提高模型的识别准确率。
附图说明
图1为本发明方法流程图。
图2为efficientnet网络结构图。
图3mbconv卷积块的具体结构图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,一下结合附图和具体实施例,对本发明进行进一步的详细说明。
本发明公开了一种基于改进高效率网络的车型识别方法,主要利用深度学习进行车型的识别,适用于对不同车型进行识别分类的问题。
以下首先对本发明用到的术语进行解释和说明。
efficientnets:efficientnets是2019年提出的一系列新型图像分类模型,通过复合缩放的方法来平衡网络的深度、宽度、分辨率,实现三个维度之间的平衡,一共有16层mbconv卷积层,最后一层为一个卷积层经过平均池化后输出给全连接层进行分类。
lsr:是标签平滑正则化labelsmoothingregularization的缩写。lsr是通过引入噪声,改变经过传统独热编码化后的标签值,从而改变预测概率和损失函数的值,使网络具有更好的包容性。
softmax:softmax分类器具有分类种类多、应用简单、准确率高、好训练等优点,其结合深度模型进行图像分类的算法逐渐占据了图像分类算法的主流,使深度模型的分类准确率不断提高。
车型识别在车流量分析、全自动收费系统中应用广泛,是智能交通系统中的重要组成部分,车型识别主要是识别车辆的外型特征、车身主要标志等外观特征,但现有的车型识别算法容易受光照、天气影响而产生特征描述不充分、分类不准确的情况。
如图1所示,为本发明一种基于改进高效率网络的车型识别方法的流程示意图,本发明的方法具体包括以下步骤:
步骤一:选择合适的车型分类数据集,对数据集进行预处理;
步骤二:将数据集输入efficientnets系列网络,选择与其最匹配的网络;
步骤三:对所选择的efficientnet作为基础特征提取网络,在网络最后增加softmax分类器进行分类;
步骤四:用标签平滑化处理损失函数来代替原始网络中的交叉熵损失函数;
步骤五:将处理完的数据集输入到改进后的网络中进行分类识别训练。
可选的,选择北京理工大学制作的bit-vehicles数据集,其中包含六种车型的车辆图片,并且包含每张图片中的车辆位置以及车型类别的标注信息,但,六类车型数据分布不均匀,数量多的轿车有5900多张,而公共汽车和货车却只有500张左右,因此需要对数据集进行预处理,来平衡不同车型之间的数据差,通过翻转图像、调整图像亮度等方式增加数量较少的数据类型,通过随机抽取的方式来选取数量较多的数据,并且将数据集归一化为分辨率为224×224大小的图片,消除因数据分布不均匀可能带来的误差。
在步骤二中,如图2所示为efficientnet网络结构图,efficientnets系列网络根据网络中复合缩放的大小不同一共包括efficientnetb0~b7的八个网络,不同分辨率的图像有与其最为匹配的网络,根据本发明数据集的选择efficientnetb0作为基础网络,也可以将数据集的图像归一为448×448等其它分辨率大小的图片,从而选择不同的基础网络。
在efficientnet网络中采用深度可分离卷积代替普通卷积,在同等参数量的情况下,深度可分离卷积比普通卷积取得更深层的网络,深度可分离卷积的参数量和计算量的计算过程如式ⅰ、式ⅱ:
parmas=hkernel×wkernel×cin×cin 1×1×cin×cout式ⅰ;
flops=hout×wout×hkernel×wkernel×cin×cin cin×cout×hout×wout式ⅱ;
式中hin为特征图高,win为特征图宽,cin为输入通道数,cout为输出通道数,hkernel、wkernel分别为卷积核的高和宽,运用深度可分离卷积极大的降低了模型的参数量和计算量,实现了卷积通道和区域的分离,同时还保证了网络的精度,提高网络的检测速度。
如图3所示为mbconv卷积块的基本结构,其中使用了深度可分离卷积代替普通卷积,将其内部的relu6激活函数更改为性能更好的swish激活函数,并且增加了融合压缩与激活的注意力机制模块,使用残差结构将经过处理后的特征与原始特征进行融合,使得模型提取的特征图具有更加丰富的语义信息。
在步骤三中,在网络的最后增加softmax分类器与全连接层相连,用其来给不同的对象分配概率值,并将分类结果映射到(0,1)区间,在本发明中输出结果为该输入图像识别为不同车型的分类概率,概率总和为1,预测概率最大的车型即为预测车型,以此来得到更好的图像分类效果。
在步骤四中,交叉熵损失函数loss的定义为式ⅲ:
式中pi为当前样本属于类别i的概率,zi为当前样本i对应的对数概率,n为样本类别总数,m为样本总数,y为预测标签,yi为该样本经过独热编码化后的标签值;
使用交叉熵损失函数时,如果分类正确,则交叉熵损失函数的结果是0,分类不正确时结果则为无穷大,全概率分类正确和0概率分类错误的概率差距相差较大,而由梯度有界可知,这种情况很难适应,会造成模型过于相信预测的类别,因此使用交叉熵损失函数作为目标函数不一定是最优选择。
标签平滑正则化处理后的损失函数lossi为式ⅳ:
式中ε为的超参数,相当于在预测真实标签时加入了噪声,减小了正确预测与非正确预测之间的差值,解决了交叉熵损失函数对标签预测结果的盲目自信的问题,lsr具有一定的容错性,改善了模型的过拟合问题。
步骤五中,将经过预处理的数据集分为训练集和测试集,将数据集输入到修改后的网络模型中进行训练,最终实现车型识别分类的任务。
本领域的技术人员应该理解,以上所述实施例仅为本发明的较佳实施例,并非以此限制本发明的限制范围,因此,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应涵盖在本发明的保护范围之内。
1.一种基于改进高效率网络的车型识别方法,其特征在于,包括:
步骤一:对车型分类数据集进行预处理,对样本数量多的车型进行随机抽取,对样本数量少的车型进行数据扩充,保证数据集的分布均匀;
步骤二:将处理完的数据集输入到efficientnetb0~b7的八个网络中进行训练,选择与数据集最为匹配的网络作为基础分类网络;
步骤三:使用mbconv卷积块为基本模块,利用深度可分离卷积代替普通卷积,在网络最后添加softmax分类器进行分类;
步骤四:标签平滑正则化对损失函数进行处理来代替原始模型中的交叉熵损失函数;
步骤五:将处理完后的数据集输入到改进后的efficientnet中进行分类。
2.根据权利要求1所述的车型识别方法,其特征在于,在步骤一中,使用bit-vehicles数据集,由于不同车型之间的图像数据量相差过大,为防止因数据集分布不均而造成的误差,通过调节图像亮度、图像翻转等方法对样本量较小的车型类别数据进行了数据扩充,对样本量较大的车型类别进行了随机抽取,并将图像分辨率归一化为224×224大小。
3.根据权利要求1所述的车型识别方法,其特征在于,efficientnets的主要思想是通过复合缩放的方法提出一个固定的比例,来平衡网络的深度(d)、宽度(w)、分辨率(r),复合缩放的方式如式ⅰ:
式中φ为复合系数,α,β,γ分别为通过网络搜索的到的深度分配系数,宽度分配系数和分辨率分配系数,实现三个维度之间的平衡,解决了通过增加单个维度而使准确率达到饱和的情况,通过固定复合系数φ,经过网格搜索来确定最优的α,β,