卷积神经网络在计算机视觉领域的发展
摘 要:卷积神经网络是在1989年提出、1998年首次出现完整架构模型的经典神经网络。由于其源于猫视觉神经结构的网络结构,与其处理架构,能够很好的应用于处理计算机视觉中的很多问题。本文将对卷积神经网络的发展脉络进行梳理,主要关注其在计算机视觉领域的贡献与成果,并基于如今研究探索卷积神经网络的未来发展趋势。
关键词:卷积神经网络;计算机视觉;深度学习;人工智能
Development of convolutional neural networks in computer vision
Abstract: Convolutional neural network is a classical neural network proposed in 1989,and its complete architecture model appeared for the first time in 1998.Because of the network structure derived from the neural structure of cat vision,and its processing architecture, it can be well applied to many problems in computer vision.This paper will sort out the development of convolutional neural networks,focusing on their contributions and achievements in the field of computer vision,and explore the future development trend of convolutional neural networks based on current research.
Key word: Convolutional neural networks,Computer vision,deep learning, artificial intelligence
1 引言
计算机视觉,是一种将图像和视频,转换为机器可理解的信号的计算机科学主题。人们用一些信号数据表示图像和视频中的信息,基于这些信息,程序员可以进一步控制机器的行为。通过计算机视觉,机器可以看到世界。
在Kaiming He撰写的论文Mask R-CNN(He et al.,2017)中,计算机视觉领域的主要任务进行了归类,并对三个任务分别提出了一种能够得到当时最好结果,且执行过程相对简单的方式。在这片论文中,计算机视觉领域的任务被分为三类。
第一类是目标检测(Object Detection),有些时候也被翻译作物体检测,是对于某一个图像,检测图像中物体的类别,并通过长方形外接框标记图像中物体的具体位置。这类问题的典型应用有例如车牌检测、质检、自动驾驶车道检测等。
Figure 1: Mask R-CNN中的目标检测实例
第二类是实例分割(Instance Segmentation),实力分割能够给出更详细的物体所在的位置信息,并通过在物体上覆盖一层高透明度的mask,对物体所在位置进行标记。也就是说,实力分割得到的目标不再是位置狂,而是像素级的、能够准确勾勒出目标物体的轮廓的标记。因此,在实力分割问题中,需要对每个像素点预测其类别后,才能得到所需分类。应用场景包括自动驾驶、机器人训练,以及工业分拣等需要摄像头检测到更为精确的位置的场景。
Figure2: Mask R-CNN中的实例分割实例
第三类是关键点检测(Keypoint Detection),能够预测多个物体的语义关键点及其位置,主要用于人体检测,能够识别人体的关节与面部关键点。有以图搜图等应用。
Figure3: Mask R-CNN中的关键点检测实例
在Mask R-CNN中的提到的三类任务之外,还常有一类任务被看作是计算机视觉领域的重要任务一图像分类,通过分析输入图像,返回该图像的类别标签。例如经典数据集MNIST就是通过图像分类的方式进行手写数字识别。
而卷积神经网络(Convolutional Neural Network,下文简称为CNN)是一种模拟生物的人工神经网络结构,其灵感来源于猫的视觉神经结构,通过抽象、模拟,构造出CNN结构。因此,CNN和计算机视觉的关系密不可分。许多计算机视觉领域的经点算法都依托于CNN,或是在其上进行改进。基于以上观点,本文将以卷积神经网络在计算机视觉领域的而算法应用为主题,梳理计算机视觉领域与卷积神经网络相关概念与算法改进的发展脉络,为后续卷积神经网络在计算机视觉领域的研究提供帮助。
本文后续部分组织如下。在本文第二部分,研究背景中,展开阐述计算机视觉领域的发展历程,理清计算机视觉的发展与卷积神经网络之间密不可分的关系。本文第三部分,将通过梳理卷积神经网络在计算机视觉领域的经典论文,构建卷积神经网络的发展脉络,并重点陈述卷积神经网络的发展对计算机视觉领域的推动作用。本文第四部分,将在第三部分的基础上,通过分类的方式整理现有的计算机视觉领域四类重要任务的可用乃乎乎算法。在本文第五部分对本文内容进行总结,并提出个人观点。
2 研究背景
计算机视觉相关问题在二十世纪五十年代时就已经出现,但在彼时计算机视觉还属于模式识别领域,主要工作是针对二维图像的分析和识别。
1962年,Roberts的文章(Roberts,.1963),真正让计算机视觉成为独立的研究方向,进入蓬勃发展阶段。在文章中,作者假设一张照片能够由一组物体经过透视投影得到,而这些用于构建图片的物体,可以通过一些已经得到的三维模型经过变化构建得到。在这些假设的基础上,计算机能够通过拓扑数学,从二维的图片信息中获得三维的描述。
在Roberts带来的启发下,计算机视觉方向的研究开始出现了一个阶段式的发展。直至l979年,David Marr发表了论文A computational theory of human stereo vision(Marr and Poggio,1979),第一次提出了一个较为完整的视觉系统框架,即视觉计算理论架构。在文章中,作者将视觉过程看作一个,具有多样的信息表达方式,以及多层次处理过程的信息处理的过程,通过这些处理,最终通过计算机对外部世界进行描述。也就是说,视觉是对外部世界的图像,形成的有效符号形式描述,而核心问题在于如何图像的结构推导出外部世界的结构,基于以上理念,作者定义了三个概念。表征,指能把信息表述清楚的形式化系统,与系统运行的规则。处理,指能够使表征进行转换的操作。零交叉,指明暗度的突变,是对物体轮廓进行检测的基础。
在这些理念之上,作者又将视觉图像的形成划分为三个形成阶段。输入图像获得基元图为第一阶段,通过符号,将点、线、半点用不同的方式进行组织,得到2.5维图,为第二阶段。最终,通过上述所有过程得到物体的三维表示,为第三阶段。Marr的理论为计算机视觉提供了许多宝贵的研究思路,并形成了计算机视觉最初处理架构。
在Malik J.的文章(Malik et al.,20l6)中对这个架构进行了概括性的描述。Malik提到,早期的计算机视觉问题中,研究人员普遍将视觉分解为低、中、高三个水平,将计算机视觉的过程看作是自底向上的,这正对应了Marr理论中的三个阶段。然而,在上世纪九十年代,这种共识渐渐消失,研究者发现很多在图像检测方面的工作并不完全符合Marr提出的计算机视觉架构。
在90年代初,作者产生了一个观点,即分组和识别应该同时考虑。Ren和Malik的另一篇论文(Ren and Malik,2003)提出,可以在任务中应用超像素。但是考察了相关的一系列的研究,作者发现,主导范式仍是滑动窗口。
而在这篇文章中,作者将计算机视觉架构抽象为识别(recognize)、重建(reconstruction)和重组(reorganization)三个部分,并证明了三部分之间相互助益的关系,同时,作者提出的3R架构相比之前自底向上的计算机视觉架构,与神经网络有着较好的兼容,能够完成大型图像分类任务中多层卷积神经网络的顶层特征的转化,成为新的计算机视觉架构。
在ZouZ.的Object detection in20 years: A survey(Zou et al.,2019)中,作者将目标检测的发展大致分为了两个阶段,分别是利用传统方法进行目标检测阶段(2014年及以前),和基于深度学习进行目标检测阶段(2014年之后)。可以发现,其发展顺序和计算机视觉架构的探索过程相似,从传统方式逐渐改变,与深度学习相适配。而深度学习中与计算机视觉的发展规律契合度最高的即为卷积神经网络。
Figure 4: 计算机视觉的3R架构
3 CNN发展历程
CNN,即卷积神经网络,是一种由猫的视觉神经中获取灵感,并对其结构进行模拟、设计得到的一种人工神经网络的结构。
卷积神经网络由三层组成,卷积层负责提取特征,池化层负责下采样,全连接层负责进行分类。
卷积神经网络的提出,可追溯至1998年Lecun.发表的文章,在这片名为Gradient-Based Learning Applied to Document Recognition的文章中。其实在此之前,作者已经发表过文章,提出过神经网络相关理论(LeCun et al.,1989),并且在文章中引用了另一篇日本学者福岛邦彦的文章(Fukushima and Miyake,I982),而在这篇引用文章中,己经提到了作者通过研究猫的视觉神经,得到的卷积与池化的思想。
然而在1998年的这篇文章中,作者第一次提出了LeNet,也就是最初的CNN模型,并用模型在NIST手写数字数据集上实现了高达99%的准确率,为后续对于将CNN应用于具体任务(如图片分类)奠定了坚实的基础。文章中提到了很多经典的CNN技术,例如卷积层、池化层、全连接层的基本结构特征,直到如今也仍旧有许多新提出的分类网络是遵循CNN的模式结构的。
Figure 5: Lecun论文中的CNN结构
然而,LeNet虽然让CNN进入了大众视野,但是由于算力问题,LeNeti训练较慢,训练效果也与其他算法差别不大。因此,在后续十余年内,CNN都没有得到更多的发展。仅在2006年MIT的论文中提出了CNN权值更新的公式(Bouvrie,2006)。
2012年,在ImageNet大规模视觉识别挑战赛上,AlexNet以超过第二名10.9%的准确率夺冠,再次将CNN带回人们的视野。AlexNet继承了多层CNN的思想,同时增加了CNN的大小,提高了卷积内核通道数量,提高了参数变化的次数,并首次启用了GPU进行训练。同时在文章(Krizhevsky et al.,2017)中提到,作者使用了Dropout层来应对过拟合问题,其使用的归一化方法等其他技术,也给后续CNN发展提供了思路,为后续基于CNN的分类网络架构提供了很好的研究基础。
Figure 6: AlexNet架构
在AlexNet之后,更多的学者聚焦于CNN,并在AlexNet的基础上进行了更多的研究。2014年VGG将ImageNet.上的top5准确度提升到了93.2%。在解释VGG的文章Very Deep Convolutional Networks for Large-Scale Visual Recognition(Simonyan and Zisserman,2014),作者主要对CNN在网络深度上的性能进行了一定探索,同时将AlexNet中7×7的滤波器替换为3×3的滤波器,得到了更好的性能降低了计算成本。计算机视觉开始正式向深度学习方法迈进。
同年,GoogLeNet(Szegedy et al.,2015)引入了新的网络结构nception,这个新模块采用了22层网络结构,突破了神经网络的深度限制,又具有较小的计算量和参数量,在计算量和参数量同时下降的前提下保证了准确率。
Figure 7: GoogLeNet论文中的经典Inception结构
由于CNN是一种统计学习方法,会受到训练集统计性质的限制,需要通过对输入进行归一化处理后再输入网络,才能得到更好的准确率。为了找到更简单、可用性更高的归一化方法,GoogLeNet的研究团队发表了文章提出了批量标准化技术(Ioffe and Szegedy,2015)。其思想就是,用一些小批的统计数据来近似整个数据集的统计数据,并引入一些可学习的参数,让网络得以单独对每一层进行规范化,从而代替人工计算统计信息。
在VGG和GoogLeNet的基础上,ResNet,即残差网络诞生(He et al.,2016)。在之前的研究中可知,VGG存在的问题为,通过更深层向后传播,会导致导数逐渐减小,最终达到无意义数值。而GoogLeNet只能小幅度缓解这个问题,在更深层,几十乃至上百层时,依旧没有较好的解决方案。
而ResNet通过使用残差模块,给出了答案。残差模块参考了Highway Network思想,将优化目标从之前的拟合结果F(x)改为了F(x)-x。随着网络深度的增加,残差模块能够有更好的计算效果,设计也简单美观,因此至今仍然应用于多种计算机视觉系统。
Figure 8: ResNet中的参考网络结构
随着学者们对CNN的研究不断深入,研究人员开始转而思考CN的内部机制。Xception(Chollet,.2017)则选择从改变卷积方式入手。CNN中的传统卷积方式,是用所有通道进行一次计算,而深度卷积中,会单独计算每个通道的卷积后进行串联,减少通道间的特征交换与连接。Xception将传统卷积替换为深度卷积,达成了更好的实验效果。
MobileNet(Howard et al.,20l7)也沿用了Xceptionl的思想,采用了深度可分离卷积模块并给出了计算该模块中所需参数的公式。同时,MobileNet通过减少输入输出的通道数量,以及输入图像的分辨率,并给出了在通道与分辨率条件下的参数公式。MobileNet给出了利用不同资源体调整网络的规范方法,并总结了改进神经网络的最终方案,具有极高的工程价值。
为了进一步加强CNN效果,研究人员开始尝试找到更好的组合。NASNet(Zoph et al., 2018)针对ImageNet,创建了一个特定的搜索空间,可以找到更好的模块的组合。其实这样的思想在Barret的文章(Zoph and Le,20l6)中已经有所涉及,研究者采用的是强化学习结合预设空间搜索的算法,然而碍于算力有限,只能应用于小型数据集中。NASNet结合其思想,改变搜索空间的范围,得到了跟好的结果。
然而架构的改变在此后己经几乎达到极限,研究人员回归到对网络规模扩展方式的研究上,提出了EfficientNet(Tan and Le, 2019)。研究人员通过使用高分辨率输入,在卷积层添加更多管道和层,通过参数控制网络的深度、宽度、分辨率。
截止到目前,研究人员们依然在对卷积神经网络进行不断的改进,不断地提升算法效率。
4 其他重要CNN模型
起初CNN在计算机视觉领域的发展主要是从图像分类任务上入手,解决手写数字识别等图像分类任务的。随着深度学习领域的不断发展,研究人员们也开始尝试使用卷积神经网络解决计算机视觉领域的其他重要任务。
以目标检测为例。目标检测能够在计算机视觉领域的众多任务中,得到人们的关注,依赖于2014年Girshick团队提出的R-CNN模型(Girshick et al.,2014)。R-CNN模型将目标检测问题归纳为两个阶段,第一阶段是,如何找到可能包含目标的区域,第二个阶段是如何对区域进行分类,因此,R-C系列模型也被称作为两阶段模型。模型由两个子网组成,一个用普通分类网络的卷积层来提取共享特征,另一个则是通过全连接层,来完成感兴趣区域(下文简称RoI)的预测回归。在两层中间,通过RoI池化层进行连接。
在R-CNN模型之后,Girshick团队对其进行改进,又提出了Fast R-CNN、Faster R-CNN等一系列进化模型。
另一种借鉴了GoogLeNet网络结构的模型YOLO(Redmon et al.,2016),通过24层卷积层于2层全连接层相接,用形似网中网的结构替换了Inception模块,在PASCAL VOC 07+12数据集上表现出了很好的准确率于较高的推理速度,开启了单阶端模型的研究。而基于VGG思想的SSD模型(Liu et al.,2016)解决了第一代YOLO模型中小目标检测精度的问题,成为了最早达到两阶段模型精度的单阶端模型。
以上两个模型都为目标检测任务带来了很好的启发,以直到2021年都有不同版本的YOLO模型对原始版本进行改进,同时,也将小目标检测和视频目标检测推上了研究热点。
5 未来趋势
参考2021年Alzubaidi团队对深度学习领域所作综述(Alzubaidi et al.,2021),可以发现,CNN存在一些问题。
深度学习中的CNN模型为了获得更好的性能,通常都需要用到大量的数据进行训练,因此对于一些无法收集到大量数据的任务,很难有非常出色的表现。虽然通过TL技术能够在一定程度上解决数据集规模过小的问题,但是仍然需要用到大量数据训练CNN。
CNN的性能容易受到参数的影响,且超参数的微小变化可能会对CNN模型性能造成很大的影响。且大多数CNN模型的训练还是要依靠gpu的硬件资源。并且深度学习模型普遍在对多样的,且具有复杂模式的数据进行建模方面,存在许多困难。
在此基础上,近期研究人员发现,集成学习是一个可参考的研究方向,可以通过将多个脚骨的神经网络进行集成,提取多个层次的语义图像,从而提高模型对不同类别图像的泛化能力。继续开发更为高效的CNN架构也是可研究方向之一。例如HRNet架构(Sun et al.,2019),就是在传统CNN网络不同分辨率之间进行串联的结构之上进行改进,改为了将不同分辨率的feature mapi进行并联,并增加交互,得到了很好的效果。
然而,抛开CN的改进问题,2017年谷歌发表的文章,开创性的提出了一个想法,完全抛开了CNN,设计了只依赖于注意力结构的网络架构,命名为transformer(Vaswani et al., 2017)。进一步的,三年后,谷歌又提出了在transformer的基础上进行图像分类的网络架构ViT(Dosovitskiy et al.,2020),并在2021年得到了华为诺亚实验室(Han et al.,2021)的改进,设计出了通过两个transformer联合提取特征的网络架构,取得了更好的表现。
论文Patches are all you need(Trockman and Kolter,2022),提出了用基于卷积模块,代替ViT中的transformer模块,将ViT的架构应用卷积网络之上,得到了许多学者的关注。部分研究人员认为,transformer可能会与卷积结合发展,甚至是替代卷积。
6 总结
自1998年的第一个CNN模型架构出现至今,己经有二十余年。在这二十余年中,基于CNN的神经网络不断出现,将卷积神经网络的性能不断提升,在计算机视觉领域上的表现也不断突破极限。而事实证明,卷积神经网络的性能还可以进一步加强,不断达到新的巅峰。
参考文献
Laith Alzubaidi,Jinglan Zhang,Amjad J Humaidi,Ayad Al-Dujaili,Ye Duan,Omran Al-Shamma,Jose Santamaria,Mohammed A Fadhel,Muthana Al-Amidie,and Laith Farhan.2021.Review of deep learning: Concepts,cnn architectures,challenges,applications,future directions.Journal of big Dato,8(1):1-74.
Jake Bouvrie.2006.Notes on convolutional neural networks.
Frangois Chollet.2017.Xception:Deep learning with depthwise separable convolutions.In Proceedings of the IEEE conference on computer vision and pattern recognition,pages 1251-1258.
Alexey Dosovitskiy,Lucas Beyer,Alexander Kolesnikov,Dirk Weissenborn,Xiaohua Zhai,Thomas Unterthiner,Mostafa Dehghani,Matthias Minderer,Georg Heigold,Sylvain Gelly,et al.2020. An image is worth 16x16 words:Transformers for image recognition at scale.arXiv preprint arXiv:2010.11929.
Kunihiko Fukushima and Sei Miyake.1982.Neocognitron:A self-organizing neural network model for a mechanism of visual pattern recognition.In Competition and cooperation in neural nets,pages 267-285.Springer.
Ross Girshick,Jeff Donahue,Trevor Darrell,and Jitendra Malik.2014.Rich feature hierarchies for accurate object detection and semantic segmentation.In Proceedings of the IEEE conference on computer vision and pattern recognition,pages 580-587.
Kai Han,An Xiao,Enhua Wu,Jianyuan Guo,Chunjing Xu,and Yunhe Wang.2021.Transformer in transformer.Advances in Neural Information Processing Systems,34:15908-15919.
Kaiming He,Xiangyu Zhang,Shaoqing Ren,and Jian Sun.2016.Deep residual learning for image recognition.In Proceedings of the IEEE conference on computer vision and pattern recognition, pages770-778.
Kaiming He,Georgia Gkioxari,Piotr Dollar,and Ross Girshick.2017.Mask r-cnn.In Proceedings of the IEEE international conference on computer vision,pages 2961-2969.
Andrew G Howard,Menglong Zhu,Bo Chen,Dmitry Kalenichenko,Weijun Wang,Tobias Weyand, Marco Andreetto,and Hartwig Adam.2017.Mobilenets:Efficient convolutional neural networks for mobile vision applications.arXiv preprint arXiv:1704.04861.
Sergey Ioffe and Christian Szegedy.2015.Batch normalization:Accelerating deep network training by reducing internal covariate shift.In International conference on machine learning,pages 448-456. PMLR.
Patricia Kitcher.1988.Marr's computational theory of vision.Philosophy of Science,55(1):1-24.
Alex Krizhevsky,Ilya Sutskever,and Geoffrey E Hinton.2017.Imagenet classification with deep convolutional neural networks.Communications of the ACM,60(6):84-90.
Yann LeCun,Bernhard Boser,John S Denker,Donnie Henderson,Richard E Howard,Wayne Hubbard, and Lawrence D Jackel.1989.Backpropagation applied to handwritten zip code recognition.Neural computation,1(4):541-551.
Wei Liu,Dragomir Anguelov,Dumitru Erhan,Christian Szegedy,Scott Reed,Cheng-Yang Fu,and Alexander C Berg.2016.Ssd:Single shot multibox detector.In European conference on computer vision,pages 21-37.Springer.
Jitendra Malik,Pablo Arbelaez,Joao Carreira,Katerina Fragkiadaki,Ross Girshick,Georgia Gkioxari, Saurabh Gupta,Bharath Hariharan,Abhishek Kar,and Shubham Tulsiani.2016.The three r's of computer vision:Recognition,reconstruction and reorganization.Pattern Recognition Letters, 72:4-14.
David Marr and Tomaso Poggio.1979.A computational theory of human stereo vision.Proceedings of the Royal Society of London.Series B.Biological Sciences,204(1156):301-328.
Joseph Redmon,Santosh Divvala,Ross Girshick,and Ali Farhadi.2016.You only look once:Unified, real-time object detection.In Proceedings of the IEEE conference on computer vision and pattern recognition,pages 779-788.
Xiaofeng Ren and Jitendra Malik.2003.Learning a classification model for segmentation.In Computer Vision,IEEE International Conference on,volume 2,pages 10-10.IEEE Computer Society.
Lawrence G Roberts.1963.Machine perception of three-dimensional solids.Ph.D.thesis,Massachusetts Institute of Technology.
Karen Simonyan and Andrew Zisserman.2014.Very deep convolutional networks for large-scale image recognition.arXiv preprint arXiv:1409.1556.
Ke Sun,Bin Xiao,Dong Liu,and Jingdong Wang.2019.Deep high-resolution representation learning for human pose estimation.In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition,pages 5693-5703.
Christian Szegedy,Wei Liu,Yangqing Jia,Pierre Sermanet,Scott Reed,Dragomir Anguelov,Dumitru Erhan,Vincent Vanhoucke,and Andrew Rabinovich.2015.Going deeper with convolutions.In Proceedings of the IEEE conference on computer vision and pattern recognition,pages 1-9.
Mingxing Tan and Quoc Le.2019.Efficientnet:Rethinking model scaling for convolutional neural networks.In International conference on machine learning,pages 6105-6114.PMLR.
Asher Trockman and J Zico Kolter.2022.Patches are all you need?arXiv preprint arXiv:2201.09792.
Ashish Vaswani,Noam Shazeer,Niki Parmar,Jakob Uszkoreit,Llion Jones,Aidan N Gomez,Lukasz Kaiser,and Illia Polosukhin.2017.Attention is all you need.Advances in neural information processing systems,30.
Ru Zhang,Feng Zhu,Jianyi Liu,and Gongshen Liu.2019.Depth-wise separable convolutions and multi- level pooling for an efficient spatial cnn-based steganalysis.IEEE Transactions on Information Forensics and Security,15:1138-1150.
Barret Zoph and Quoc V Le.2016.Neural architecture search with reinforcement learning.arXiv preprint arXiv:1611.01578.
Barret Zoph,Vijay Vasudevan,Jonathon Shlens,and Quoc V Le.2018.Learning transferable architec- tures for scalable image recognition.In Proceedings of the IEEE conference on computer vision and pattern recognition,pages 8697-8710.
Zhengxia Zou,Zhenwei Shi,Yuhong Guo,and Jieping Ye.2019.Object detection in 20 years:A survey. arXiv preprint arXiv:1905.05055.