【图像分类】从数据集和经典网络开始
欢迎大家来到图像分类专栏,本篇简单介绍数据集和图像分类中的经典网络的进展。
作者 | 郭冰洋
编辑 言有三
1 简介
一场完美的交响乐演出,指挥家需要充分结合每位演奏者和乐器的特点,根据演奏曲目把控节奏,才能将曼妙的音符传送到所有听众的耳中。
如果将图像分类看作一场盛大的交响乐演出,一幅幅图像数据便是其中身怀绝技的演奏家,他们各有千秋,不分高下。而这场演出如果没有指挥的存在,恐怕再多的乐器,也无法奏出曼妙的曲目。神经网络 ,便是图像分类中统筹全局的指挥者。正是在他的巧妙连接下,每张图片都展现出自己最独特的一面,从而构成了令人赏心悦目的华美乐章。
图像数据作为分类系统的输入,对最终的结果起着至关重要的作用,而适当的网络结构,才能充分发挥数据的最大性能。
本篇文章提炼出用于图像分类的数据集及其适用方向,涵盖人物、医学、动物、工业等多个领域,同时基于业界最权威的分类评价数据集——ImageNet,分析近年来图像分类中经典网络所取得的进展。
2 数据集
俗话说:巧妇难为无米之炊。数据作为驱动深度学习的源动力之一,更是图像分类任务的根基,直白来说,任何领域的分类研究都离不开数据。
不论学界还是工业界,确定特定的研究方向后,必须搭建相关的高质量数据集才可以进行进一步的研究,同时也能以更统一的标准对模型性能进行评判。
本文根据应用场景的不同,汇总了9个相关领域的数据集,并根据数据集自身特点,注明其容量、类别和适用的分类任务,以供大家参考使用。
抛开上文中列举的领域相关性,图像分类的数据集又可以分为初级版、进阶版和高级版。
初级版适合初入图像处理领域的同学,这一类数据集主要以MNIST、Cifar 10为代表,可以帮助新手迅速了解神经网络的构成,同时掌握深度学习和图像处理的相关基础知识。
进阶版适合已经有一定基础的同学,需要通过更多的实操来强化对不同结构和知识的理解,并实现调参、数据处理、网络结构替换等更高一层的任务,Cifar 100、表情分类相关的数据集则是其中代表。
高级版适用于经过多个任务历练并需要根据实际需求和科研方向来选择数据集的同学,这就涉及到多标签分类、细粒度分类和少样本分类等更复杂的任务,此时需要选择MS COCO、ImageNet等更高层级的数据集,同时还有可能同时利用这些数据集,从中选取合适的图像并结合爬虫或实际拍摄以搭建满足任务需求的数据集。
3 经典网络结构
ImageNet作为图像分类领域最权威的数据集,由Stanford的李飞飞团队在2009年CVPR会议上公布,随后的几年里均会开展基于ImageNet的图像分类竞赛。ImageNet竞赛的评价标准分为Top-1、Top-5两种,这也是图像分类的通用指标。其中Top-1是指对一张图片进行预测,只有预测概率最大的是正确答案时,才认为该图片预测正确,同理Top-5是指对一张图像进行预测,预测概率前五名中,只要有一个符合标注,即认为该图片预测正确。
ImageNet竞赛一经开展便成为世界各大高校、科研机构、科技公司的角斗场,每年均有诸多团队提出令人耳目一新的网络结构和相关算法。ImageNet竞赛也见证了图像分类由传统算法走向深度学习的过程,更见证了其所取得的巨大进步。
本文剩余篇幅将介绍几个经典的网络结构,回顾近年来图像分类领域取得的研究进展。
1、AlexNet
2012年,Imagenet比赛冠军— Alexnet直接刷新了ImageNet的识别率,奠定了深度学习在图像处理领域的优势地位。AlexNet作为真正意义上的深度网络,提出卷积+池化堆叠的网络结构,是深度学习领域内第一个有重大工程意义的网络设计。
其特点如下[1]:
(1) 使用层叠的卷积层,即卷积层+卷积层+池化层来提取图像的特征
(2) 使用了LRN归一化层,对局部神经元的活动创建竞争机制,抑制反馈较小的神经元放大反应大的神经元,增强了模型的泛化能力
(3) 使用Dropout抑制过拟合
(4) 使用数据增强抑制过拟合
(5) 使用Relu替换之前的sigmoid的作为激活函数,其收敛更快,同时解决了Sigmoid在网络较深时出现的梯度弥散问题
2、VGGNet
2014年ImageNet竞赛上,VGGNet在AlexNet的基础架构上增加网络层数和深度,进一步提升了模型的准确率,探索了网络深度与性能之间的关系,证明了增加网络的深度能够在一定程度上影响最终的性能,这也引发了人们对网络深度和宽度的大范围研究[2,3]。
3、GoogleNet
GoogleNet作为与VGGNet同年诞生的网络,力压VGGNet获得当年的冠军,并提出了著名的Inception模块,将分支的思想成功引进深度学习网络结构。
Inception模块共有 4个分支,每个分支承担不同的功能:分支1对输入进行1x1卷积可以跨通道组织信息,提高网络的表达能力; 分支2使用了1×1卷积和3×3卷积的组合,进行两次特征变换; 分支3采用1×1卷积和5×5卷积的组合,同样进行两次特征变换; 分支4则在3×3最大池化后直接使用1×1卷积。
通过多个卷积核提取图像不同尺度的信息,最后进行融合,可以得到图像更好的表征[4]。
4、ResNet
随着网络深度的增加,带来了许多问题,如梯度消散、梯度爆炸等,人们通过更好的优化方法,更好的初始化策略,BN层,Relu等各种激活函数在不断改善这些问题,但并没有真正有效的解决[5]。
ResnNet提出残差结构,增加一个恒等映射,将输出表述为输入和输入的一个非线性变换的线性叠加,通过跨层连接的方式缓解深层网络结构中的梯度消失问题,使得网络模型深度在很大范围内不受限制 ,对后续卷积神经网络的发展产生了深远的意义。
5、SENet
随着网络结构的不断完善和发展,人们已经从深度和宽度等多个空间维度提出改进方案,SENet则创新性地从特征通道之间的关系进行改进,通过额外的分支来得到每个通道的权重,自适应地校正原各通道激活值响应,以提升有用通道响应并抑制对当前任务用处不大的通道响应,不仅在一定程度上减少了计算量,防止了模型训练的过拟合,同时更有利于对图像特征的描述。
4 总结
随着深度学习的迅速发展,图像分类领域也搭上了这班飞速前行的列车,并大大提高了行业标准。
经典网络在ImageNet数据集上取得了非常优异的成绩,5个经典网络的准确率和参数量如上图所示,不难看出在Top-5评价指标下,已由AlexNet取得的85%的精度被SENet提升至97.75%,且在网络参数上也没有显著的爆炸现象。
如此优异的成绩不禁让许多人认为图像分类已经达到了算法的极限,却并不知道在Top-1评价指标下,仍然有巨大的提升空间。
通过上图不难发现,在更加严格也更加符合人类认知的Top-1指标下,经典网络所取得的成绩并不尽如人意,目前最高的准确率约在85%左右,仍然存在巨大的提升空间。因此,我们要怀着一颗敬畏之心,不断地向最优的目标前行,才能实现更广泛的应用。
参考文献:
[1] 【模型解读】从LeNet到VGG,看卷积+池化串联的网络结构
[2] 【AI不惑境】网络深度对深度学习模型性能有什么影响?
[3] 【AI不惑境】网络的宽度如何影响深度学习模型的性能?
有三AI夏季划
有三AI夏季划进行中,欢迎了解并加入,系统性成长为中级CV算法工程师。
转载文章请后台联系
侵权必究