我个人对计算机视觉更喜欢用传统和深度两个层面去分类,传统方法方法主要工作包括两块,特征提取和机器学习,例如经典的HOG、DPM等。深度学习方法这几年非常耀眼,自从2012年AlexNet在ImageNet上一站成名之后,计算机视觉如雨后春笋一般,出现了VGG、ZF-Net、R-CNN系列、ResNet、U-net、SSD、YOLO系列,下面简单介绍一些我认为值得看的文章,不做详细的阐述,如果感兴趣可以下载看一下。
LeNet:提前卷积神经网络自然避不开卷积神经网络,这是最先提出卷积神经网络的文章,由大牛LeCun和Bengio所作,LeNet是一个简单的5层神经网络,主要分为两个模块,卷积块和全连接块,前2层是两个卷积层,后3层是3个全连接层,共5层,每个卷积层后面跟随一个最大池化层(池化层不计入网络层数)。
https://itb.biologie.hu-berlin.de/~zito/teaching/CNSIII-2006/proj6/proj6_2.pdf
AlexNet:LeNet出现之后的很长时间里,卷积神经网络并没有什么出彩的表现,在这期间表现最优秀的是支持向量机这一类的传统机器学习算法,直到2012年AlexNet在ImageNet上一举夺魁才带领卷积神经网络再次走入人们的视野。AlexNet包含8层,前5层是卷积层,后3层是全连接层,其中第1、2、5卷积层后面紧跟着最大池化层。
http://120.52.51.16/www.cs.cmu.edu/afs/cs/Web/People/epxing/Class/10715/reading/imagenet.pdf
VGG:AlexNet虽然表现很优秀,但是却没能提供明确的网络架构设计规则,VGG提出使用简单的基础块提高网络的重复使用能力。这也指导了后来很多网络架构的设计,VGG也被用为很多目标检测模型的基础网络层。
http://120.52.51.14/www.cs.cmu.edu/~jeanoh/16-785/papers/simonyan-iclr2015-vgg.pdf
NiN:AlexNet、VGG这些卷积神经网络的架构都是由一系列卷积层最后加上一个全连接层,然后再用softmax之类的回归函数输出结果,NiN和这两个卷积神经网络最主要的区别就是利用了1*1的卷积层,这样做更加有利于空间信息的传递。
https://arxiv.org/pdf/1312.4400.pdf
GoogLeNet:GoogLeNet是在NiN的基础上做了进一步的改进,GoolgLeNet中比较出名的是Inception块,它是GoogLeNet的基础块。AlexNet这些网络都是在网络的深度上不断加深,而Inception是在网络的宽度了做了一个改进,提出了并行连接的思想。
http://www.micc.unifi.it/bagdanov/pdfs/GoogLeNet.pdf
ResNet:从LeNet到AlexNet再到VGG,网络的深度逐渐加深,精度也随之升高,但是问题是,网络加深,精度一定升高吗?答案是否定的,随着网络加深,随之而来的可能会导致梯度消失和梯度爆炸等问题,而ResNet的出现具有重要的意义,它基于恒等映射的思想提出了跳跃连接,这一思想对后续的深度神经网络的设计有着很深的影响。
https://arxiv.org/pdf/1512.03385.pdf
DenseNet:DenseNet就是受ResNet影响的一个网络架构,它有稠密层和过渡层两个模块组成。和ResNet主要的区别之处在于,ResNet是把后一个模块和前一个模块的输出相加,DenseNet是把前一个模块和后一个模块在通道维上做连接。
http://www.cs.cmu.edu/~jeanoh/16-785/papers/huang-cvpr2017-densenet.pdf
R-CNN:目标检测是计算机视觉领域很重要的一项工作,而R-CNN是将深度神经网络应用于目标检测的一个开创性工作,由R-CNN延伸而来的有后来的Fast R-CNN、Faster R-CNN、Mask R-CNN。R-CNN首先选取若干个提议区域,提议区域可以通过图像分割等手段选取,标注提议区域的类别和边界框(偏移量),然后,用卷积神经网络对每个提议区域做前向计算抽取特征。之后,我们用每个提议区域的特征预测类别和边界框。R-CNN需要把每个提议区域都进行前向计算,这样有大量的重叠,增加了计算量,Fast R-CNN主要的改变在于只对整幅图像进行前向计算,而且引入了兴趣区域池化层和选择性搜索。Fast R-CNN通常需要在选择性搜索中生成较多的提议区域,以获得较精确的目标检测结果。Faster R-CNN提出将选择性搜索替换成区域提议网络(RPN),从而减少提议区域的生成数量,并保证目标检测的精度。Mask R-CNN主要用于像素级的分割,Mask R-CNN在Faster R-CNN的基础上做了修改,Mask R-CNN将兴趣区域池化层替换成了兴趣区域对齐层,即通过双线性插值(bilinear interpolation)来保留特征图上的空间信息,从而更适于像素级预测。
https://arxiv.org/pdf/1311.2524.pdfhttps://arxiv.org/pdf/1504.08083.pdfhttp://cseweb.ucsd.edu/classes/sp17/cse252C-a/CSE252C_20170426.pdf
http://openaccess.thecvf.com/content_ICCV_2017/papers/He_Mask_R-CNN_ICCV_2017_paper.pdf
FCN:全卷积网络(fully convolutional network,FCN)采用卷积神经网络实现了从图像像素到像素类别的变换。与之前介绍的卷积神经网络有所不同,全卷积网络通过转置卷积(transposed convolution)层将中间层特征图的高和宽变换回输入图像的尺寸,从而令预测结果与输入图像在空间维(高和宽)上一一对应:给定空间维上的位置,通道维的输出即该位置对应像素的类别预测。
https://arxiv.org/pdf/1411.4038.pdf
SSD:这是一个可以和YOLO相媲美的网络模型,兼备速度和精度,因此得到了广泛的应用。SSD结合了多尺度、锚框等思想。具体来说SSD由基础网络块和若干个多尺度特征块组成,基础网络块主要用于特征提取,可以用VGG,也可以用ResNet,多尺度特征块主要用于类别和边界框的预测。
https://arxiv.org/pdf/1512.02325.pdf
YOLO:YOLO的主要特点就是快,它的核心思想是利用整张图作为网络的输入,直接在输出层回归 bounding box(边界框) 的位置及其所属的类别。其后也有多个升级版本,YOLO9000,可以识别更多种类的物体,YOLOv3引入了多尺度思想,解决了对小物体检测准确率较低的问题,因此,目前的YOLO是兼备速度和精度的,所以应用也非常广泛。
http://grail.cs.washington.edu/wp-content/uploads/2016/09/redmon2016yol.pdf
https://arxiv.org/pdf/1804.02767.pdf
深度计算机视觉中主要是围绕着卷积神经网络进行研究,上述提到的是这几年比较具有代表性的网络模型,每种模型之间有共通之处,也都有很多值得借鉴的思想,例如,跳跃连接、多尺度特征、端到端等等,如果想从事计算机视觉方面的工作,这些经典的网络模型是绕不开的,如果感兴趣的话可以通过文章提供的链接下载一下,如果觉得下载麻烦,我已经把内容打包共享,可以后台回复cv获取下载链接,如果觉得有帮助,麻烦分享扩散一下。