一种数据增强和多模型集成的细粒度分类算法

2018-05-09 09:50熊昌镇
图学学报 2018年2期
关键词:细粒度准确率卷积

蒋 杰,熊昌镇



一种数据增强和多模型集成的细粒度分类算法

蒋 杰,熊昌镇

(北方工业大学城市道路交通智能控制技术北京市重点实验室,北京 100144)

针对解决数据缺少和单个卷积网络模型性能的限制造成细粒度分类准确率不高的问题,提出了一种数据增强和多模型集成融合的分类算法。首先通过镜像、旋转、多尺度缩放、高斯噪声、随机剪切和色彩增强6种变换对CompCars数据集进行增强处理,然后采用差异化采样数据集的方法训练CaffeNet、VGG16和GoogleNet 3种差异化的网络。然后采用多重集成的方法集成多种模型的输出结果。实验中测试网络结构在不同数据增强算法和不同模型集成下的分类结果。模型集成的分类准确率达到94.9%,比最好的单GoogleNet模型的分类精确率提高了9.2个百分点。实验结果表明该算法可以有效地提高分类的准确率。

细粒度分类;数据增强;卷积网络;集成学习

细粒度的识别任务是非常具有挑战性的,由于某些类别的外观只存在细微的差异,例如汽车车型BWM X4和BWM X5。为了解决这个问题,很多人做了大量工作,特别是随着深度学习的兴起,细粒度的识别取得了很大的研究进展[1-7]。当AlexNet[1]出现,并在ImageNet分类挑战赛中取得令人信服的准确度后,很多学者认识到用卷积神经网络做细粒度分类任务的优势。YANG等[2]研究了各类深度卷积神经用于车型精细分类的效果,并制作了大型的公共数据集CompCars供研究者们使用。SOCHOR等[3]提出一种使用车辆的3D矩形标注信息及视角向量等附加信息作为卷积神经网络的输入来进行车型精细识别的方法。KRAUSE等[8]提出使用车辆3D表示,并用CAD模型进行建模,使用CAD模型渲染出训练数据放入3D几何分类器HOG_SVM中进行精细分类,并且公开了有196类汽车车型的数据集。ZHANG等[9]将物体部件区域的卷积神经网络应用于Caltech-UCSD鸟类数据的分类识别中,取得了良好的效果。目前关于细粒度识别的卷积网络都依赖于大量的训练数据。训练数据质量的好坏,数量的多少,直接影响到细粒度识别的准确度,但是很多时候要得到有效的训练数据是一件非常困难的事情。现有的算法大部分采用单一的卷积网络结构,随着网络结构的优化取得很好的识别效果,但其识别的准确度仍有待于进一步提高。集成学习作为机器学习的重要组成部分,一直以来都有着广泛的研究和应用[10-12]。如XU等[10]将多分类器集成的方法用于手写数据集中。在深度学习领域,集成学习也有一些重要的应用[13-14]。如MARMANIS等[13]将集成学习的方法用于语义分割,WANG等[14]将集成学习方法用于目标跟踪中,取得了良好的效果。

针对现有算法存在的问题,利用集成算法结合多个深度卷积模型的优势,提出结合数据增强和模型集成的细粒度分类算法。本文算法的网络框架如图1所示。首先设计多种数据增强的方法增大训练数据集的大小,并用差异化数据采样的方法让数据集多样化分布形成差异化的数据集。将差异化的训练数据集分别输入不同的卷积网络模型CNN中训练,得到数量较多,分类性能不一的网络模型,并通过多重集成的算法将所有分类模型的分类结果集成以提升细粒度识别的准确度。本文算法的创新点主要有3点:①提出使用数据增强的方法扩充数据集,并采用差异化数据采样的方法使训练数据集多样化分布,以训练出更多的多样化的卷积网络分类模型;②使用了多种结构差异化,分类性能不一的卷积网络模型可增加整个分类系统的差异性;③用多重集成的方法将数量较多的分类模型集成在一起做细粒度分类的任务,提高细粒度分类的准确度。

图1 算法总体框架结构

1 数据增强及多样化数据集设计

1.1 数据来源

实验的基本数据来自于CompCars公共数据集,图2为CompCars数据集的树形结构图,CompCars数据集中的整车图片数据集主要分为自然状态下收集的车型图片数据集和监控状态下收集的车型图片数据集。自然状态下收集的数据集主要通过互联网获得,数据集中存在正面、后面、前侧面、后侧面和侧面5种方向的车型图片。监控状态下的数据集通过卡口的摄像头获得,只有车辆的正面图。本文实验只使用了自然状态下车型图片数据集。工作中通过统计发现有些类别车型图片相对较少,如ABT A8的车型图片2张,故而通过互联网等手段对车型数据进行了进一步的采集。实验共使用CompCars数据集中的599类自然状态下的车型图片数据集,共计84 569张,另通过互联网对其中车型图片特别少的类别进行数据的进一步采集,共9 624张,得到初始数据集图片94 193张。

图2 车型数据集的树形结构图

1.2 数据增强算法设计

实验采用多种算法进行训练数据的增强,加大训练数据集的数据数量,使训练模型学习到更多的图片的像素信息,从而提高模型的分类性能和泛化能力。本文通过镜像处理、旋转处理、多尺度放缩、添加高斯噪声、随机剪切和色彩增强6种算法进行训练数据的增强,加大训练数据集的数据数量。增加样例如图3所示,分别为原始图像和增强后的图像效果图。

图3 各数据增强算法效果图

1.3 数据集多样化分布

实验中将只有CompCars数据集中原图的数据集称为数据集,将从互联网收集的图片和数据集合并称为数据集,将数据集和上述6种数据增强算法生成的图片数据合并在一起组成的数据集称为数据集0;将数据集0中使用镜像处理生成的图片移除后的数据集标记为数据集1;将数据集0中使用旋转处理生成的图片移除后的数据集标记为数据集2;将数据集0中使用多尺度缩放生成的图片移除后的数据集标记为数据集3;将数据集0中添加高斯噪声生成的图片移除后的数据集标记为数据集4;将数据集0中通过随机剪切生成的图片移除后的数据集标记为数据集5;将数据集0中通过色彩增强生成的图片移除后的数据集标记为数据集6。这样差异化采样训练数据集与传统的自助采样法有很大不同,传统的自助采样法一般是随机有放回的采样数据集,重复次,得到一个新的数据集,按照此方法采样出个包含个训练样本的采样集作为基学习器的训练数据。这样采样的数据集数据分布较均匀,但是训练出的基学习器差异性就相对较弱。而集成学习中的一个必要条件是训练出的基学习器性能较好,在其前提下,必须有一定的差异性。本文的差异化采样训练数据集的方法更符合这一项要求,且保证了各类别训练数据满足均匀分布且充足的要求。

1.4 负样本以及模糊样本的增加

实验直接利用公共数据集VOC2007中的没有车辆的图片作为训练数据中的负样本图片,采用在各交通路口拍摄的模糊图片并利用图像标注工具进行标注得到模糊样本。考虑到相应汽车模型的模糊图片样本比较难收集,为减少图片收集的工作量,也有加入大量高斯噪声生成相应的模糊样本图片,负样本和模糊样本的标注信息如图4所示。

图4 模糊样本及负样本

2 差异化网络模型及多重集成算法

从LeNet[15]开始,卷积神经网络通常有一个标准的结构,首先堆叠卷积层,然后进行归一化处理,后面接一个最大池化层,最后接一层或多层全连接层。再经不断改进和变化,卷积神经网络的结构有了很大的变化,有了更复杂的结构形式,网络深度更深,宽度更宽,分类准确度也越来越好,更适合进行细粒度分类的研究。LeNet之后经典的网络结构有AlexNet,相对于LeNet,AlexNet具有更复杂的网络结构,并可以采用GPU进行网络训练,引入了ReLU非线性单元。自AlexNet之后出现了很多性能较好、结构较复杂的网络模型,如CaffeNet,VGG16等,其中CaffeNet相对于VGG16来说属于小型网络结构模型。随后又出现了GoogleNet[16]模型,其出现说明人们对深度学习及神经网络的关注,不再单单是越来越优越的硬件设备,更大的数据集,更大的模型,而是更优越的网络结构,更优化的算法。GoogleNet主要引入了初始的网络结构思想,加入多尺度的卷积核,有效的加宽了网络宽度,也使网络的层数达到22层,具有较深的网络。GoogleNet有着更宽的网络宽度,更深的网络深度,意味着巨量的参数,但是GoogleNet有效的避免了过拟合的风险。

据上所述,CaffeNet、VGG16和GoogleNet 3种模型有着优异的分类性能,且卷积网络模型相互之间的网络结构差异性很明显,其网络训练和测试中的权值和参数也就具有很大的差异性,因此采用这3种差异化明显的且性能较好的卷积网络模型作为本文的训练模型。图1中CNN1为CaffeNet,标记为1;CNN2为VGG16标记为2;CNN3为GoogleNet标记为3。然后CaffeNet用数据集0网络微调后分类的Top1准确率记为Top11。同理将VGG16和GoogleNet用数据集0经过网络微调后分类的Top1准确率分别记为Top12,Top13设置权重α的值为式(1),其权重设置与集成学习[17-18]方法中的AdaBoost等算法中分类器的权重设置一致,即

数据集1到6分别经过模型1和2微调后,12个网络模型的检测结果经过加权投票结果为类别h()的得票权值式为

数据集1到6分别经过模型1和3微调后,12个网络模型的检测结果经过加权投票结果为类别h()的得票权值式为

数据集1到6分别经过2和3微调后,12个网络模型的检测结果经过加权投票结果为h()的得票权值式为

则有第二层集成组合分类结果输出为经过第一层集成组合0,集成组合1,集成组合2和集成组合3的输出结果加权投票结果为类别h()的得票权值表示为

则最终模型集成的输出类别表示为OUT,如式(12)所示,即经过式(11)计算得票权值最大的类别即为集成组合最终的预测输出类别

3 实验结果及分析

本次实验的配置为GTX 1070(显存容量8 G),Intel Core i7-5500U,主频2.4 GHz,16 GB内存的电脑。因为实验使用的是预训练的网络模型,其未经微调的网络模型参数是根据常用的公共数据集更新的,比如说ILSVRC2014[19]数据集。故而需要将预训练的网络模型进行网络微调,使网络根据自己的分类任务训练数据更新网络参数和权值。修改相应的源程序,微调网络适应实验任务的数据集。并设置程序其他重要参数见表1。

表1 网络训练重要参数

设置学习率为0.001,设置caffe[20]的训练模式为GPU,学习率下降策略为”step”,设置步长为50 000,训练模型快照迭代间隔为10 000次迭代。实验微调了CaffeNet,VGG16,GoogleNet 3个网络模型,对只有原图数据的数据集和经过数据增强算法扩充的差异化分布的数据集分别训练网络模型,测试数据增强以及差异化分布数据集对细粒度分类准确的效果。表2为各网络用各数据集训练后的Top1准确率统计。实验表明采用数据增强算法提升了细粒度分类的准确率,其中,GoogleNet有5.9%的提升;VGG16有7.3%的提升;CaffeNet有6.1%的提升。故而使用数据增强的方法使训练数据集中图片的数量增多对网络模型和网络结果的分类性能有很大的提升,其中相同的增强方法增加的图片对不同的网络模型的性能提升也有很大的差异性,故而说明使用差异化分布的数据集对分类的准确率也有一定的影响,同时也说明实验训练的卷积网络模型具备更广泛的差异性的特点。从而使得各网络模型更符合用于集成的条件。图5显示了CaffeNet、VGG16和GoogleNet用数据集0进行微调的网络训练loss曲线图。表明训练时3个网络可以迅速收敛。

表2 各网络模型用各数据集训练后的Top1准确率统计

综上所述,采用数据增强的方法有效的增加了数据集的数量,使得细粒度分类的准确率得到了一定的提升,使用集成学习的算法对细粒度分类的准确率度也有较大提升。表3为本文设计的各集成组合的Top1准确率统计表,结果表明第一层集成组合中,集成组合0的细粒度分类准确率最好,相对于单纯用GoogleNet在数据集0训练的分类准确率,Top1准确率有2%的提升。使用多重集成的算法对分类的准确率也有一定的提升,相对于集成单元第一层集成组合集成效果最好的集成组合0,集成组合的Top1准确率达到94.9%,故而有1.3%的提升。证明采用多重集成的方法,相对于用所有的数据增强处理数据集0训练的GoogleNet模型,Top1准确率总共有3.3%的提升。总之,说明采用数据增强和多种神经网络模型集成融合的算法对细粒度的分类是非常有效的,对比实验细粒度分类性能最好GoogleNet模型,即与GoogleNet在数据集的实验结果对比,实验未采用增强和集成算法前,Top1准确率有9.2%的提升。

图5 各网络模型训练loss曲线图

表3 各集成组合的Top1准确率统计

图6用CaffeNet、VGG16、GoogLeNet和本文算法分别对5对验证样本进行识别以及对预测结果进行统计,实验表明本文算法相对于其他3个模型细粒度分类的准确率更好。但还是存在有些相似度极高的车型CaffeNet、VGG16、GoogleNet和本文的算法都无法正确区分,比如ABT A4与ABT A7。很多单模型无法全部同时准确识别的车型,如BWM X3和BWM X5,本文算法可进行正确的分类。从而说明本文构建的多深度卷积网络集成算法是有效的。

图6 单模型和本文算法对车型分类的性能对比图

与其他模型的对比结果见表4。共使用了3种最新的性能不同网络模型对比本文算法的实验结果,对比结果表明本文算法优于其他模型的实验结果。

表4 本文算法与其他算法的对比

4 结 论

本文结合多模型集成的优势,结合数据增强算法和差异化网络模型的特点,提出了一种数据增强和多模型集成的细粒度分类算法,该算法首先利用镜像处理、旋转处理、多尺度放缩、添加高斯噪声、随机剪切、色彩增强、网络收集数据、增加负样本和高斯模糊数据等增强训练数据。然后利用数据增强后的数据集差异化组合成6种多样化的训练数据集,分别训练了3种不同的差异化网络模型。接着采用多重集成算法融合数据增强和多模型集成。实验测试了不同数据集对不同网络模型的影响和不同集成组合的分类准确率。实验说明使用差异化的数据集训练多个分类模型,对分类的准确率也有很大的贡献。增加了分类系统基学习器的数量和差异性。本文的模型集成算法比未采用增强和集成算法且分类性能最好的单模型GoogleNet分类准确率提高了9.2%,验证了本文算法的有效性。

[1] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks [C]//International Conference on Neural Information Processing Systems. Cambridge: MIT Press, 2012: 1097-1105.

[2] YANG L, LUO P, CHEN C L, et al. A large-scale car dataset for fine-grained categorization and verification [C]// Computer Vision and Pattern Recognition. Washington: IEEE Computer Society, 2015: 3973-3981.

[3] SOCHOR J, HEROUT A, HAVEL J. BoxCars: 3D boxes as CNN input for improved fine-grained vehicle recognition [C]//IEEE Conference on Computer Vision and Pattern Recognition. Washington: IEEE Computer Society, 2016: 3006-3015.

[4] JIA D, KRAUSE J, LI F F. Fine-grained crowdsourcing for fine-grained recognition [C]//Computer Vision and Pattern Recognition. Washington: IEEE Computer Society, 2013: 580-587.

[5] ZHAO B, WU X, FENG J, et al. Diversified visual attention networks for fine-grained object classification [J]. IEEE Transactions on Multimedia, 2017, 19(6): 1245-1256.

[6] XIE L, TIAN Q, HONG R, et al. Hierarchical part matching for fine-grained visual categorization [C]//IEEE International Conference on Computer Vision. Washington: IEEE Computer Society, 2013: 1641-1648.

[7] ANGELOVA A, ZHU S. Efficient object detection and segmentation for fine-grained recognition [C]//Computer Vision and Pattern Recognition. Washington: IEEE Computer Society, 2013: 811-818.

[8] KRAUSE J, STARK M, DENG J, et al. 3D object representations for fine-grained categorization [C]//IEEE International Conference on Computer Vision Workshops. Washington: IEEE Computer Society, 2013: 554-561.

[9] ZHANG N, DONAHUE J, GIRSHICK R, et al. Part-based R-CNNs for fine-grained category detection [M]//Computer Vision-ECCV 2014. Berlin: Springer International Publishing, 2014: 834-849.

[10] XU L, KRZYZAK A, SUEN C Y. Methods of combining multiple classifiers and their applications to handwriting recognition [J]. IEEE Transactions on Cybernetics, 1992, 22(3): 418-435.

[11] LEE S, PRAKASH S P S, COGSWELL M, et al. Stochastic multiple choice learning for training diverse deep ensembles [C]//Advances in Neural Information Processing Systems. Cambridge: MIT Press, 2016: 2119-2127.

[12] DIETTERICH T G. Ensemble methods in machine learning [C]//International Workshop on Multiple Classifier Systems. Berlin: Springer-Verlag, 2000: 1-15.

[13] MARMANIS D, WEGNER J D, GALLIANI S, et al. Semantic segmentation of aerial images with an ensemble of CNSS [J]. ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 2016, 3: 473-480.`

[14] WANG L, OUYANG W, WANG X, et al. STCT: sequentially training convolutional networks for visual tracking [C]//IEEE Conference on Computer Vision and Pattern Recognition. Washington: IEEE Computer Society, 2016: 1373-1381.

[15] LECUN Y, BOSER B, DENKER J S, et al. Backpropagation applied to handwritten zip code recognition [J]. Neural Computation, 1989, 1(4): 541-551.

[16] SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions [C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Washington: IEEE Computer Society, 2015: 1-9.

[17] ZHU J, ZOU H, ROSSET S, et al. Multi-class AdaBoost [J]. Statistics & Its Interface, 2006, 2(3): 349-360.

[18] LI X, WANG L, SUNG E. AdaBoost with SVM-based component classifiers [J]. Engineering Applications of Artificial Intelligence, 2008, 21(5): 785-795.

[19] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks [C]//International Conference on Neural Information Processing Systems. Cambridge: MIT Press, 2012: 1097-1105.

[20] JIA Y, SHELHAMER E, DONAHUE J, et al. Caffe: convolutional architecture for fast feature embedding [C]// Proceedings of the 22nd ACM International Conference on Multimedia. New York: ACM Press, 2014: 675-678.

Data Augmentation with Multi-Model Ensemble for Fine-Grained Category Classification

JIANG Jie, XIONG Changzhen

(Beijing Key Laboratory of Urban Intelligent Control, North China University of Technology, Beijing 100144, China)

In order to solve low classification precision caused by the lack of training data or the classification performance constraint of single convolutional network model, a fine-grained category classification algorithm based on data augmentation and multi-model ensemble is proposed. Firstly, the paper designs a variety of data augmentation methods to increase the number of pictures in CompCars dataset, including mirroring, rotation, multiscale scaling, Gaussian noise, random cropping and color enhancement. Then 3 differentiated models, CaffeNet, VGG16 and GoogleNet, are trained using the constructed differentiated dataset by different data sampling. A multi-layer ensemble learning method is used to integrate multi-model’s classification results. The experimental results show the fine-grained classification of the differentiated convolution network trained on the different datasets generated by the different data augmentation method.The experiment also shows the classification results of multi-model ensemble with different ensemble strategy. The final classification precision of multi-model ensemble is 94.9%. Compared with the best single model GoogleNet, the classification precision is increased 9.2%. The results verify the effectives of proposed algorithm.

fine-grained category classification; data augmentation;convolutional network;ensemble learning

TP 391

10.11996/JG.j.2095-302X.2018020244

A

2095-302X(2018)02-0244-07

2017-07-08;

2017-08-28

国家重点研发计划资助项目(2016YFB1200402);北京市教委科技创新服务能力建设项目(PXM2017-014212-000033,PXM2017-014212-000031)

蒋 杰(1990–),男,湖南永州人,硕士研究生。主要研究方向为机器学习、图像与视觉信息计算。E-mail:614903520@qq.com

熊昌镇(1979–),男,福建三明人,副教授,博士。主要研究方向为视频分析、机器学习。E-mail:xczkiong@163.com

猜你喜欢
细粒度准确率卷积
融合判别性与细粒度特征的抗遮挡红外目标跟踪算法
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
基于SVM多分类的超分辨图像细粒度分类方法
卷积神经网络的分析与设计
从滤波器理解卷积
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法