深度学习 课件 第2章 卷积神经网络_第1页
深度学习 课件 第2章 卷积神经网络_第2页
深度学习 课件 第2章 卷积神经网络_第3页
深度学习 课件 第2章 卷积神经网络_第4页
深度学习 课件 第2章 卷积神经网络_第5页
已阅读5页,还剩223页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章卷积神经网络深度学习卷积神经网络的起源与发展1卷积神经网络的基本结构2卷积神经网络的训练3典型卷积神经网络45目录Contents中英文术语对照7卷积神经网络的主要应用6本章人物卷积神经网络的起源与发展1卷积神经网络的起源4D.H.Hubel(1926-2013)andT.N.Wiesel(1924-).

Receptivefields,binocularinteractionandfunctionalarchitectureinthecat‘svisualcortex.

JournalofPhysiology,1962,160(1):106-154.Hubel-Weisel实验(1959年)卷积神经网络的起源5。简单细胞(SimpleCell):对光束的位置有反应。复杂细胞(ComplexCell):对光束的位置和移动有反应。超级复杂细胞(Hyper-complexCell):对有端点的光束移动有反应。层次关系:通过对光束特征的不断提取和综合实现整个光束的识别。Hubel-Weisel实验(1959年)卷积神经网络的起源6KunihikoFukushima.Neocognitron:Aself-organizingneuralnetworkmodelforamechanismofpatternrecognitionunaffectedbyshiftinposition.BiologicalCybernetics,1980,36:193–202.福岛邦彦神经认知机(1980年)卷积神经网络的起源7

神经认知机(1980年)卷积神经网络的发展卷积神经网络的基本结构2卷积神经网络的基本结构10典型的卷积神经网络一般由卷积层(含激活函数)、池化层、全连接层和输出层构成,其中卷积层与池化层一般交替排列,之后接一层或者多层全连接层,最后是输出层。卷积层11卷积运算卷积运算(Convolution)是数学中的常见运算,分为离散卷积与连续卷积。

例子:求两个骰子之和为4的概率12例子:求两个骰子之和为4的概率13

例子:求两个骰子之和为4的概率14例子:求两个骰子之和为4的概率15两枚骰子点数加起来为4的概率为:

f(1)g(3)+f(2)g(2)+f(3)g(1)

写成标准的形式:

卷积公式

16一维连续卷积一维离散卷积卷积公式二维卷积:17二维连续卷积二维离散卷积18卷积层

19卷积层卷积核相当于传统计算机视觉领域中的特征算子,用于提取图像特征。传统的Sobel梯度算子45°方向模板被设计为:20卷积层数据填充:

p=1s=121卷积层在使用PyTorch等深度学习框架时,卷积层有Padding参数,有三种选择:‘Full’、‘Valid’和‘Same’。‘Full’表示需要填充,当卷积核与输入开始接触时进行卷积操作,‘Valid’表示不需要填充,‘Same’表示需要填充并保证输出与输入具有相同的尺寸。22卷积层步幅:

p=1s=223卷积层通道(Channel):一般指的图像的颜色通道。单通道图像:一般指的灰度图像。多通道图像:一般指的基于RGB的图像,有R、G、B三个通道。特征图(Featuremap):经卷积和激活函数处理后的图像。24卷积层单通道卷积:单通道图像的卷积。单卷积核单通道卷积多卷积核单通道卷积25卷积层多通道卷积:多通道图像的卷积。单卷积核多通道卷积(一般不这样做)多卷积核多通道卷积26卷积层多通道卷积:多通道图像的卷积。多卷积核多通道卷积(卷积计算)27卷积层多通道卷积:多通道图像的卷积。多卷积核多通道卷积(求和)28卷积层多通道卷积:多通道图像的卷积。多卷积核多通道卷积(偏置(bias))29卷积层

CS231N:http://cs231n.github.io/convolutional-networks/多通道卷积30卷积层卷积层的主要作用浅层卷积层:提取的是图像基本特征,如边缘、方向和纹理等特征。深层卷积层:提取的是图像高阶特征,出现了高层语义模式,如“车轮”、“人脸”等特征。31卷积层卷积层的主要作用32卷积层卷积层的主要作用33激活函数激活函数的引入,增强了人工神经网络的非线性表达能力,从而提高了模型的学习能力。在人工神经网络发展的初期,Sigmoid激活函数起到了十分重要的作用,但随着人工神经网络层数的增加以及反向传播算法的使用,会产生梯度消失问题。在卷积神经网络中,为了缓解梯度消失问题,常用的激活函数有ReLU、PReLU、ERU和Maxout等。

34激活函数Sigmoid激活函数存在“梯度饱和效应”问题,即Sigmoid激活函数两端梯度都趋于0,因此在使用误差反向传播算法进行网络训练时,该区域的误差无法传递到前一层,从而导致网络训练失败。35激活函数36激活函数

Tanh激活函数同样存在“梯度饱和效应”问题,即Tanh激活函数两端梯度也都趋于0,因此在使用误差反向传播算法进行网络训练时,该区域的误差也无法传递到前一层,从而导致网络训练失败。37激活函数38激活函数

与Sigmoid激活函数相比,ReLU在x≥0部分消除了“梯度饱和效应”,且ReLU的计算更简单,计算速度更快。但ReLU本身也存在缺陷,如果输入为负值,其梯度等于0,导致“神经元死亡”,将无法进行权重更新,进而无法完成网络训练。即便如此,ReLU仍然是当前深度学习领域中最为常用的激活函数之一。39激活函数40激活函数

41激活函数42激活函数

ELU激活函数的优点是处理含有噪声的数据有优势,与Sigmoid激活函数相比更容易收敛。ELU激活函数的缺点是计算量较大,与ReLU激活函数相比,收敛速度较慢。43激活函数44激活函数

Maxout激活函数的优点是能够缓解梯度消失问题,规避了ReLU激活函数“神经元死亡”的缺点。Maxout激活函数的缺点是增加了一层神经网络,无形中增加了参数和计算量。45激活函数卷积神经网络中的激活函数选择CNN在卷积层尽量不要使用Sigmoid和Tanh,将导致梯度消失。首先选用ReLU,使用较小的学习率,以免造成神经元死亡的情况。如果ReLU失效,考虑使用LeakyReLU、PReLU、ELU或者Maxout,此时一般情况都可以解决。46激活函数47池化层池化操作使用某位置相邻输出的总体统计特征作为该位置的输出。常用类型:最大池化(max-pooling)和均值池化(average-pooling)。池化层不包含需要训练学习的参数,仅需指定池化操作的核大小、步幅以及池化类型。48池化层池化层的作用对输入对象进行“降采样(Downsampling)”操作,一定程度上提高了模型的容错能力。保证了当输入出现少量平移时,输出近似不变,增强了网络对输入图像中的小变形、扭曲、平移的鲁棒性(输入里的微小扭曲不会改变池化输出)。池化核的指定相当于在空间范围内对特征图的特征进行了维度约减,同时缩小了下一层输入的特征图尺寸,进而在一定程度上减少了网络的参数个数和计算量。49全连接层全连接层一般由一到多层的全连接神经网络组成,功能是对卷积层或池化层输出的特征图(二维)进行降维。50全连接层可以将不同的区域特征合并为一个完整的特征。/weixin_40903337/article/details/10007487851输出层分类问题:使用Softmax函数递归问题:使用线性函数

52卷积神经网络的训练以图像分类任务为例用随机数初始化网络需训练的参数(如权重、偏置)。将训练图像作为输入,进行卷积层、ReLU、池化层以及全连接层的前向传播,并计算每个类别的对应输出概率。计算输出层的总误差:总误差=-∑(目标概率×log⁡(输出概率))。使用BP算法计算总误差相对于所有参数的梯度,并用梯度下降法或其他优化算法更新所有参数的值,以使输出误差最小。卷积核个数、卷积核大小以及网络架构,是在步骤1之前就已经确定的,且不会在训练过程中改变,只有网络的其他参数,如神经元的权重、偏置会更新。53卷积神经网络的训练池化层的训练:把池化层改为多层神经网络的形式。54卷积神经网络的训练池化层的训练:最大池化和均值池化的误差反向传播。最大池化均值池化55卷积神经网络的训练卷积层的训练:首先把卷积层也改为多层神经网络的形式,之后使用BP算法进行训练。56卷积神经网络的训练

57卷积神经网络的训练

58卷积神经网络的训练

典型卷积神经网络4LeNet-5AlexNetVGGNetGoolgeNetResNet60经典卷积神经网络61LeNet-5LeNet-5由LeCun等人提出于1998年提出。主要进行手写数字识别和英文字母识别。LetNet虽小,各模块齐全,是学习CNN的基础。/exdb/lenet/。Y.LeCun,L.Bottou,Y.Bengio,andP.Haffner.Gradient-basedlearningappliedtodocumentrecognition.ProceedingsoftheIEEE,November1998.62LeNet-563LeNet-5输入层:尺寸大小为32×32的图像。C1层(卷积层):选用6个5×5的卷积核,步长为1,得到6个大小为28×28的特征图(32-5+1=28),神经元的个数为6×28×28=4704。64LeNet-5S2层(下采样层):对C1所得6个28×28的特征图进行均值池化,池化核大小选择2×2,步长为2,得到的均值乘上一个权重加上一个偏置作为Sigmoid激活函数的输入,得到6个14×14的特征图,神经元个数为6×14×14=1176。65LeNet-5C3层(卷积层):选用16个5×5卷积核组(前6个卷积核组中的卷积核个数为3,中间6个为4,之后3个为4,最后1个为6)对S2层输出的特征图进行卷积,加偏置和激活函数(Sigmoid)后得到16张10×10(14-5+1=10)新特征图。此时神经元个数为16×10×10=1600。……66LeNet-5S4层(下采样层):对C3的16张10×10特征图进行最大池化,池化核大小为2×2,步长为2,得到的最大值乘以一个权重参数,再加上一个偏置参数作为激活函数(Sigmoid)的输入,得到16张5×5的特征图,神经元个数已经减少为16×5×5=400。67LeNet-5C5层(卷积层):选用16个5×5的卷积核进行卷积,乘以一个权重参数并求和,再加上一个偏置参数作为激活函数(Sigmoid)的输入,得到1×1(5-5+1=1)的特征图。然后我们希望得到120个特征图,就要用总共120个5×5卷积核组(每个组16个卷积核)进行卷积,神经元减少为120个。68LeNet-5F6层(全连接层):与C5层全连接,有84个神经元,对应于一个7×12的比特图。将输入乘以一个权重并求和,再加上一个偏置作为Sigmoid函数的输入,得到84个值。ASCII编码图(每个字符7X12像素)C5层120个69LeNet-5Output层(全连接层):与F6层全连接,共有10个神经元,分别代表数字0到9。输出层采用径向基函数(RadialBasisFunction,RBF)的网络连接方式。70LeNet-5

71LeNet-5总结:卷积核大小、卷积核个数(特征图需要多少个)、池化核大小和步长等这些参数都是变化的,这就是所谓的CNN调参,需要学会根据需要进行不同的选择。72AlexNetAlexNet由Hinton的学生AlexKrizhevsky于2012年提出。获得ImageNetLSVRC-2012(物体识别挑战赛)的冠军,数据集包含1000个类别120万幅高清图像,Error:26.2%(2011)→15.3%(2012)。通过AlexNet确定了CNN在计算机视觉领域的王者地位。A.Krizhevsky,I.Sutskever,andG.Hinton.Imagenetclassificationwithdeepconvolutionalneuralnetworks.InNIPS,2012.73AlexNet首次成功应用ReLU作为CNN的激活函数。使用Dropout丢弃部分神元,避免了过拟合。使用重叠MaxPooling(让池化层的步长小于池化核的大小),提升了特征的丰富性。首次使用CUDA加速训练过程。使用了数据增强,在原始图像大小为256×256的原始图像中重复截取224×224大小的区域,大幅增加了数据量。对图像数据通过主成分分析方法进行降维处理。74AlexNetAlexNet的原始结构75AlexNetAlexNet的简化结构76AlexNetAlexNet可分为8层(池化层未单独算作一层),包括5个卷积层以及3个全连接层。输入层:AlexNet首先使用大小为224×224×3图像作为输入,后改为227×227×3。77AlexNet第一个卷积层(含池化):包含96个大小为11×11的卷积核组,卷积步长为4,因此第一层输出大小为55×55×96((227-11)/4+1=55),分为两组,每组48个;然后构建一个核大小为3×3、步长为2的最大池化层进行数据降采样,进而输出大小为27×27×96((55-3)/2+1=27),每组48个。78AlexNet第二个卷积层(含池化):包含256个大小为5×5的卷积核组,卷积步长为1,同时利用padding保证输出尺寸不变,因此该层输出大小为27×27×256;然后再次通过核大小为3×3、步长为2的最大池化层进行数据降采样,进而输出大小为13×13×256((27-3)/2+1=13)。79AlexNet第三层与第四层(卷积层):均为卷积核大小为3×3、步长为1的same卷积,共包含384个卷积核,因此两层的输出大小都为13×13×384。80AlexNet第五层(卷积层):同样为卷积核大小为3×3、步长为1的same卷积,但包含256个卷积核,进而输出大小为13×13×256;在数据进入全连接层之前再次通过一个核大小为3×3、步长为2的最大池化层进行数据降采样,数据大小降为6×6×256((13-3)/2+1=6),并将数据扁平化处理展开为9216个单元。81AlexNet第一个、第二个和第三个全连接层:第一个全连接层与第二个全连接层的神经元个数都是4096,第三个全连接层神经元个数为1000个,使用Softmax分类器输出1000类的分类结果。82VGG-16

K.SimonyanandA.Zisserman.Verydeepconvolutionalnetworksforlarge-scaleimagerecognition.InICLR,2015.83VGG-1684VGG-16

Conv1Conv2Conv3Conv4Conv5卷积层数22333卷积核数6412825651251285VGG-16两个卷积核大小为3*3的卷积层串联后的感受野尺寸为5*5,相当于单个卷积核大小为5*5的卷积层。两者参数数量比值为(2*3*3)/(5*5)=72%

,前者参数量更少。此外,两个卷积层串联可使用两次ReLU激活函数,而一个卷积层只使用一次。86GoogleNet由Google公司2014年提出,获得ImageNetLSVRC-2014冠军。它的主要思想是除了在网络深度上加深(22层)之外,在宽度上也加宽。GoogleNet的核心是Inception模块,Inception模块包含4个分支,每个分支均使用了1×1卷积,它可以跨通道组织信息,提高网络的表达能力,同时还可以对输出通道进行升维和降维。Inception模块中包含了1×1、3×3、5×5三种不同尺寸的卷积和1个3×3最大池化,增强了网络对不同尺度特征图的适应性。87GoogleNet深度:层数更深,采用了22层。宽度:InceptionModule包含4个分支,在卷积核3x3、5x5之前、maxpooling之后分别加上了1x1的卷积核,起到了降低特征图厚度的作用。88InceptionNetInception四个版本所对应的论文及ILSVRC中的Top-5错误率:[v1]GoingDeeperwithConvolutions:6.67%testerror。[v2]BatchNormalization:AcceleratingDeepNetworkTrainingbyReducingInternalCovariateShift:4.8%testerror。[v3]RethinkingtheInceptionArchitectureforComputerVision:3.5%testerror。[v4]Inception-v4,Inception-ResNetandtheImpactofResidualConnectionsonLearning:3.08%testerror。

参考链接:/p/cc830a6ed54b

89ResNetResNet(ResidualNeuralNetwork),又叫做残差神经网络,是由微软研究院的何凯明等人2015年提出。获得ImageNetILSVRC2015比赛冠军。获得CVPR2016最佳论文奖。KaimingHe,XiangyuZhang,ShaoqingRen,JianSun.DeepResidualLearningforImageRecognition.CVPR2016:770-77890ResNet随着卷积网络层数的增加,误差的逆传播过程中存在的梯度消失和梯度爆炸问题同样也会导致模型的训练难以进行。甚至会出现随着网络深度的加深,模型在训练集上的训练误差会出现先降低再升高的现象。残差网络的引入则有助于解决梯度消失和梯度爆炸问题。91ResNet梯度消失和梯度爆炸问题原因深度神经网络训练问题。激活函数问题。/qq_25737169/article/details/78847691。92ResNetResNet的核心是叫做残差块(Residualblock)的小单元,残差块可以视作在标准神经网络基础上加入了跳跃连接(Skipconnection)。

93ResNet卷积神经网络的主要应用595卷积神经网络的主要应用目标检测:R-CNN系列,YOLO系列图像分割:FCN,SegNet,UNet姿态估计:DeepPose,基于沙漏网络的姿态估计人脸识别:DeepFace,DeepID/DeepID2,FaceNet96目标检测目标检测是指将图像或者视频中的目标物体用边框(BoundingBox)标记并识别出该目标物体的类别。目前目标检测任务有两类模型一类是以区域卷积神经网络(Region-CNN,R-CNN)系列为代表的两阶段模型一类是以YOLO系列为代表的一阶段模型97R-CNN系列R-CNN由RossGirshick等人2014年提出。首先在ImageNet上训练模型,然后在PASCALVOC数据集上进行Fine-tuning。在PascalVOC2012的数据集上,能够将目标检测的验证指标mAP提升到53.7%,这相对于之前最好的结果提升了整整13.3%。RossB.Girshick,JeffDonahue,TrevorDarrell,JitendraMalik.RichFeatureHierarchiesforAccurateObjectDetectionandSemanticSegmentation.CVPR2014:580-58798R-CNN系列99R-CNN系列实现过程区域划分:给定一张输入图片,采用SelectiveSearch算法从图片中提取2000左右类别独立的候选区域。特征提取:对于每个区域利用Alexnet抽取一个固定长度的特征向量。目标分类:对每个区域利用SVM

进行分类。边框回归:使用BoundingboxRegression(Bbox回归)进行边框坐标偏移优化和调整。100R-CNN系列Crop就是从一个大图抠出网络输入大小的patch,比如227×227Warp把一个边界框boundingbox的内容resize成227×227101R-CNN系列区域划分SelectiveSearch算法的核心思想:图像中物体可能存在的区域应该有某些相似性或者连续性的,算法采用子区域合并的方法提取候选边界框。首先,通过图像分割算法将输入图像分割成许多小的子区域。其次,根据这些子区域之间的相似性(主要考虑颜色、纹理、尺寸和空间交叠4个方面的相似性)

进行区域迭代合并。每次迭代过程中对这些合并的子区域做Boundingboxes(外切矩形),这些子区域的外切矩形就是通常所说的候选框。SelectiveSearch算法相似度计算考虑了颜色、纹理、尺寸和是否交叠四个方面:102R-CNN系列[1]PedroF.Felzenszwalb,DanielP.Huttenlocher.EfficientGraph-BasedImageSegmentation.IJCV,200459(2):167-181JasperR.R.Uijlings,KoenE.A.vandeSande,TheoGevers,ArnoldW.M.Smeulders.SelectiveSearchforObjectRecognition.IJCV,2013,104(2):154-171层次分组算法(HierarchicalGroupAlgorithm)输入:(彩色)图像输出:目标定位假设L的集合EndEnd103R-CNN系列104R-CNN系列105R-CNN系列SVM分类(二分类)训练时,把Ground-truth作为该类别的正例,把IoU小于0.3的Proposal作为该类别的负例。调优CNN时,把IoU大于0.5的Proposal作为该类别的正例,其他作为负例(所有类别的背景)。IntersectionoverUnionIoU=(A∩B)/(A∪B)106R-CNN系列边框回归GroundtruthProposal107R-CNN系列边框回归:是使得预测的边框尽可能与人工标定的边框越接近越好。108R-CNN系列

109R-CNN系列

110R-CNN系列

基于边长的归一化尺度比例的对数111R-CNN系列

112R-CNN系列边框回归113R-CNN系列mAP:meanAveragePrecision,是多标签图像分类任务中的评价指标。AP衡量的是学出来的模型在给定类别上的好坏,而mAP衡量的是学出的模型在所有类别上的好坏。/xw_2_xh/article/details/88190806114SPPNet

KaimingHe,XiangyuZhang,ShaoqingRen,JianSun.

SpatialPyramidPoolinginDeepConvolutionalNetworksforVisualRecognition.IEEETrans.PatternAnal.Mach.Intell.37(9):1904-1916(2015)115SPPNet

KaimingHe,XiangyuZhang,ShaoqingRen,JianSun.

SpatialPyramidPoolinginDeepConvolutionalNetworksforVisualRecognition.IEEETrans.PatternAnal.Mach.Intell.37(9):1904-1916(2015)116R-CNN系列SPPnet如图所示,在conv5层得到的特征图是256个,每个都做一次spatialpyramidpooling。先把每个特征图分割成多个不同尺寸的网格,比如网格分别为4*4、2*2、1*1,然后对每个网格做maxpooling,这样256个特征图就形成了16*256,4*256,1*256维特征。它们连起来就形成了一个固定长度的特征向量,将这个向量输入到后面的全连接层。117R-CNN系列FastR-CNN使用Softmax分类替换R-CNN中的SVM分类。将候选框目标分类与边框回归同时放入全连接层,形成一个多任务学习(Multi-taskLearning)模型,设计了联合损失函数,将Softmax分类、边框回归一起训练。添加感兴趣区域池化(RegionofInterestPooling,RoIPooling)层,实现了不同大小区域特征图的池化。训练时所有的特征存在缓存中,不再存到硬盘上,提升了速度。RossB.Girshick.

FastR-CNN.ICCV2015:1440-1448118R-CNN系列训练时:RoI共64个测试时:RoI共2000个119R-CNN系列120R-CNN系列ROIPooling层:将每个候选区域均匀分成M×N块,对每块进行maxpooling。将特征图上大小不一的候选区域转变为大小统一的数据,送入下一层。121R-CNN系列在R-CNN中的流程是先提proposal,然后CNN提取特征,之后用SVM分类器,最后再做Bbox回归进行候选框的微调。FastR-CNN在CNN提取特征后,做一个RoIpooling,再将候选框目标分类与Bbox回归同时放入全连接层,形成一个multi-task模型。122R-CNN系列

即对真实分类的概率取负log123R-CNN系列

124R-CNN系列125R-CNN系列126R-CNN系列FasterR-CNNRPN(RegionProposalNetwork):使用全卷积神经网络来生成区域建议(Regionproposal),替代之前的Selectivesearch。

ShaoqingRen,KaimingHe,RossB.Girshick,JianSun.FasterR-CNN:TowardsReal-TimeObjectDetectionwithRegionProposalNetworks.IEEETrans.PatternAnal.Mach.Intell.39(6):1137-1149(2017)127R-CNN系列/p/31426458128R-CNN系列FasterR-CNN卷积层(Convlayers):首先使用一组Conv+ReLU+Pooling组合提取Image的特征图(Featuremaps),特征图被共享用于后续的RPN和RoIPooling。区域建议网络(RegionProposalNetworks,RPN):RPN用于生成regionproposals。它通过Softmax判断区域是有目标的正例(Positive)还是没有目标的负例(Negative),再利用边框回归获得候选区域。129R-CNN系列FasterR-CNNRoIPooling:该层接收卷积层的featuremaps和RPN层的proposals,综合这些信息后提取proposalfeaturemaps,送入全连接层判定目标类别。Classification:利用proposalfeaturemaps计算proposal的类别,同时再次使用Bbox回归获得检测框最终的精确位置。130R-CNN系列RPNAnchor:矩形框。RPN中使用了长宽比为1:1,1:2和2:1三种矩形框。输入图像需要reshape适应Anchor大小。131R-CNN系列RPNClslayer用Softmax计算Anchor内是某个object的概率。Reglayer实现Anchor边界框回归输出。132R-CNN系列RPN通过Softmax分类anchors获得positive和negative分类。计算anchors的Bbox回归的偏移量。最后的Proposal综合positiveanchors和对应Bbox回归偏移量获取proposals,同时剔除太小和超出边界的proposals。133R-CNN系列

134R-CNN系列

135R-CNN系列FasterR-CNN训练方式Alternatingtraining。Approximatejointtraining。Non-approximatejointtraining。136R-CNN系列137R-CNN系列138R-CNN系列139YOLO系列YOLO与R-CNN系列最大的区别是用一个卷积神经网络结构(one-stage)就可以从输入图像直接预测boundingbox和类别概率,实现了End2End训练。可以学到物体的全局信息,背景误检率比R-CNN降低一半,泛化能力强。准确率不如R-CNN高,小物体检测效果较差。速度非常快,实时性好。JosephRedmon,SantoshKumarDivvala,RossB.Girshick,AliFarhadi.YouOnlyLookOnce:Unified,Real-TimeObjectDetection.CVPR2016:779-788140YOLO系列141YOLO系列若某个物体的中心位置的坐标落入到某个格子,那么这个格子就负责检测出这个物体142YOLO系列x,y是boundingbox中心位置相对于当前格子位置的偏移值,并且被归一化到[0,1]内。w和h的值根据图像的宽度和高度把boundingbox宽度和高度归一化到[0,1]内。143YOLO系列

xy144YOLO系列145YOLO系列146YOLO系列

147YOLO系列

148YOLO系列

149YOLO系列

150YOLO系列YOLO损失函数位置误差含有目标的置信度误差不含目标的置信度误差分类误差第i个Cell的第j个Bbox负责object,与groundtruthBbox的IoU值最大的负责151YOLO系列152YOLO系列YOLO2和YOLO9000JosephRedmon,AliFarhadi.YOLO9000:Better,Faster,Stronger.CVPR2017:6517-6525153YOLO系列YOLOv2Batchnormalization:在每一个卷积层后添加batchnormalization,极大的改善了收敛速度同时减少了对其它regularization方法的依赖,使得mAP获得了2%的提升。分辨率修改:YOLOv2首先修改预训练分类网络的分辨率为448*448,在ImageNet数据集上训练10轮(10epochs),mAP获得了4%的提升。多尺度训练:YOLO使用全连接层数据进行boundingbox预测(要把1470*1的全链接层reshape为7*7*30的最终特征),这会丢失较多的空间信息导致定位不准,丢弃全连接层使用RPN中的anchorbox去做Bbox回归。154YOLO系列BatchnormalizationSergeyIoffe,

ChristianSzegedy.BatchNormalization:AcceleratingDeepNetworkTrainingbyReducingInternalCovariateShift./abs/1502.03167v3155YOLO系列YOLO2156YOLO系列YOLO9000首先基于Wordnet构建WordTree层次分类。基于WordTree进行图像分类和目标检测的联合训练。157YOLO系列YOLOV3更好的主干网Darknet-53。多尺度预测。更好的分类器:Softmax不适用于多标签分类使用独立的多个logistic分类器,准确率不会下降158YOLO系列YOLOV3159YOLO系列YOLOv4使用CSPDarknet-53作为骨干网络,并引入特征金字塔池化、Mosaic数据增强和Mish激活函数等改进方法,与YOLOv3相比,检测准确率有较大的提升。YOLOv5与YOLOv4相比,改进不大,主要是把最大池化由并行改为了串行。YOLOv6的改进也不大,主要的改进是骨干网络由CSPDarknet-53改为了EfficientRep。160YOLO系列Mosaic数据增强:将四张图片进行拼接到一张图上作为训练样本随机选取四张图片。对每张图片进行数据增强,翻转、缩放、色域变化。进行图片的组合和候选框的组合,形成一张图片。Mish激活函数:光滑函数,比ReLU泛化能力更好161图像分割全卷积网络(FullyConvolutionalNetworks,FCN)是使用深度神经网络进行图像分割的开山之作。FCN与传统的卷积神经网络不同,仅包含卷积层和池化层,不再包含全连接层和输出层。因此,它也不再对整幅图像进行分类,而是实现了像素级的分类,进而输出图像分割的结果。J.Long,E.Shelhamer,andT.Darrell,“Fullyconvolutionalnetworksforsemanticsegmentation,”inProceedingsoftheIEEEConferenceonComputerVisionandPatternRecognition,2015,pp.3431–3440.FCN162FCN与传统CNN的区别FCN163FCN中的卷积过程和上采样过程FCN164image经过多个conv和一个maxpooling变为pool1feature,特征图的宽高变为1/2。pool1feature再经过多个conv和一个maxpooling变为pool2feature,特征图的宽高变为1/4。pool2feature再经过多个conv和一个maxpooling变为pool3feature,特征图的宽高变为1/8。直到pool5feature,宽高变为1/32。FCN中的卷积过程FCN165对于FCN-32s,直接对pool5feature进行32倍上采样获得32xupsampledfeature,再对32xupsampledfeature每个点做softmaxprediction获得32xupsampledfeatureprediction(即分割图)。对于FCN-16s,首先对pool5feature进行2倍上采样获得2xupsampledfeature,再把pool4feature和2xupsampledfeature逐点相加,然后对相加的feature进行16倍上采样,并softmaxprediction,获得16xupsampledfeatureprediction。对于FCN-8s,首先进行pool4+2xupsampledfeature逐点相加,然后又进行pool3+2xupsampledfeature逐点相加,即进行更多次特征融合。FCN中的上采样过程FCN166上采样(upsampling)一般包括2种方式:调整尺寸(Resize),如使用双线性插值进行图像放大。逆卷积(Deconvolution),也叫TransposedConvolution。FCN167

FCN168SegNet169V.Badrinarayanan,A.Kendall,andR.Cipolla.

Segnet:Adeepconvolutionalencoder-decoderarchitectureforimagesegmentation,arXivpreprintarXiv:1511.00561,2016.http://mi.eng.cam.ac.uk/projects/segnet/EncoderVGG-16,13个卷积层(卷积+BatchNormalization+ReLU),不含全连接层。5个最大池化层。进行2×2最大池化时,存储相应的最大池化索引(位置)。170SegNetDecoderVGG-16,13个卷积层(卷积+BatchNo-rmalization+ReLU),不含全连接层。5个上采样层,采用Encoder的最大池化索引进行上采样。使用K类Softmax分类器来预测每个像素的类别。171SegNetSegNet172SegNet173SegNet174UNet175OlafRonneberger,PhilippFischer,andThomasBrox.

U-Net:ConvolutionalNetworksforBiomedicalImageSegmentation.arXiv:1505.04597v1[cs.CV]18May2015Encoder-Decoder架构Encoder:左半部分,由两个3x3的卷积层(RELU)再加上一个2x2的Maxpooling层组成,一共下采样4次。Decoder:右半部分,由一个上采样的逆卷积层加上特征拼接再加上两个3x3的卷积层(ReLU)组成,也相应上采样4次。176UNetSkipconnection在同一个层次进行了特征Copy,保证了最后恢复出来的特征图融合了更多的底层特征,也使得不同尺度(scale)的特征得到了的融合,从而可以进行多尺度预测,4次上采样也使得分割图恢复边缘等信息更加精细。177UNetUNet178UNet179基于UNet的眼球血管图像分割DRIVE数据集,/UNet180基于UNet的医学图像分割姿态估计181姿态估计(PoseEstimation):可视为图像或视频中人体关节位置(也称为关键点,如手肘、膝盖、肩膀等)的定位问题,因此也被称为人体关键点检测。MSCOCO人体姿态关键点格式人体姿态识别示例0:nose1:neck2:rightshoulder3:rightelbow4:rightwrist5:leftshoulder6:leftelbow7:leftwrist8:righthip9:rightknee10:rightankle11:lefthip12:leftknee13:leftankle14:righteye15:lefteye16:rightear17:leftear姿态估计182姿态估计分类单人姿态估计(SinglePersonPoseEstimation,SPPE)。多人姿态估计(MultiplePersonPoseEstimation,MPPE)。姿态估计方法最初集中于SPPE,但MPPE更符合实际情况但也更难,随着更多的MPPE数据集出现,针对MPPE的工作越来越多。姿态估计183多人姿态估计方法Top-Down方法:首先利用目标检测器检测图像中出现的多个人,然后使用SPPE模型估计每一个人的姿态。Bottom-Up方法:首先检测出图像中所有的关键点位置,然后问题转换为关键点的分配问题,将属于不同人的关键点进行关联和组合。姿态估计184Top-Down方法:先目标检测,然后对单人进行姿态估计。Bottom-Up方法:先检测出所有的关键点,然后进行关键点之间的关联。姿态估计185Top-Down方法优点:思路直观,易于实现,单人姿态估计精度高。缺点:依赖于人体目标检测的效果,无法很好的解决遮挡问题,并且速度会随着图像场景中人数的增加而变慢。Bottom-Up方法优点:整个图像只需要处理一次,且速度不受图像场景中人数变化影响,相对而言实时性更好。缺点:精度相对不如Top-Down方法,同样无法很好解决遮挡问题。姿态估计186单人姿态估计(DeepPose)

DeepPose是使用深度神经网络进行人体姿态识别的开山之作,将姿态估计问题转换为图像的卷积特征提取与关键点坐标位置回归问题。蓝色为卷积层,绿色为全连接层AlexanderToshev,

ChristianSzegedy:DeepPose:

Human

Pose

Estimation

via

Deep

Neural

Networks.

CVPR2014:

1653-1660姿态估计187

姿态估计188

姿态估计189单人姿态估计(DeepPose)

模型还使用了级联回归器(cascadedregressors)对预测结果进行细化。模型基于前一阶段预测坐标位置对图像进行局部裁剪作为现阶段的输入,因此现阶段的输入有着更高的分辨率,从而能学习到更为精细的尺度特征,以此来对前一阶段的预测结果进行细化。绿色为groundtruth,红色为每一阶段输出姿态估计190

姿态估计191单人姿态估计(StackedHourglass)

StackedHourglass的提出有着里程碑式的意义,不仅在姿态估计各数据集取得了当时SOTA的效果,后续也被应用于目标检测、分割等领域。下图中重复的形似沙漏的结构就是Hourglass模块。AlejandroNewell,KaiyuYang,JiaDeng:StackedHourglassNetworksforHumanPoseEstimation.ECCV(8)2016:483-499姿态估计192单人姿态估计(StackedHourglass)

Hourglass模块包含重复的降采样(高分辨率到低分辨率)和上采样(低分辨率到高分辨率),此外还使用了残差连接保存不同分辨率下的空间信息。与DeepPose采用级联回归器目的相似,Hourglass模块的初衷在于捕捉与利用多个尺度上的信息,例如局部特征信息对于识别脸部、手部等特征十分重要,但人体最终的姿态估计也需要图像的全局特征信息。姿态估计193

姿态估计194单人姿态估计(StackedHourglass)

人脸识别所谓人脸识别,就是利用计算机分析人脸图像,并从中提取出有效的特征,最终判别人脸对象的身份。人脸识别已经成为计算机视觉领域的最重要的应用之一,目前在人们生产和生活的很多方面开展了应用,包括乘坐高铁、飞机时的身份验证、银行账户验证、手机支付验证等。195人脸识别人脸识别宏观上分为两种:人脸验证/人脸比对(FaceVerification)

1比1的比对,即判断两张图片里的人是否为同一人。应用场景:手机人脸解锁。人脸识别(FaceIdentification)1比N的比对,即判断系统当前见到的人,为数据库中众多人中的哪一个。应用场景:疑犯追踪,小区门禁,会场签到,客户识别。196人脸识别传统人脸识别的主要思路是设计特征提取器,再利用机器学习算法对提取特征进行分类。核心思想为:不同人脸由不同特征组成。5个特征,可识别32张脸特征越多,识别能力越强神经网络具有自动提取特征的能力,与人脸识别任务很契合!197人脸识别人脸识别的性能,取决于特征的数量与辨识度,并依托于假设:同一个人在不同照片里的脸,在特征空间里非常接近。不同人的脸在特征空间里相距较远。实际应用中,光照、遮挡、形变(表情)、侧脸等诸多条件下,会导致“异常脸”的出现:异常脸在特征空间里落到错误的位置,导致识别和验证失败。无论是传统算法,还是深度学习,目前皆处理不好异常脸情况。通常采用拒绝辨识,限制识别环境等方式。198数据集2007年发布的LFW是第一个在非限定环境下进行人脸识别的数据集。2014年发布的CASIA-Webface是第一个被广泛使用的公共训练集,自此之后涌现了许多大规模的训练集,如包含260万张人脸的VGGFace。上图中粉红色框内多被用来作为大规模训练集,其余则作为不同任务和场景下的测试集。199数据集LFW(LabeledFacesintheWild)专为研究非受限人脸识别问题而设计的人脸照片数据库。包含从网络收集的超过13,000张人脸图像。每张脸都标有人物的名字,有1680人有两张或更多张不同的照片。人脸图片均来源于生活中的自然场景,因此识别难度会增大,尤其由于多姿态、光照、表情、年龄、遮挡等因素影响导致即使同一人的照片差别也很大。有些照片中可能不止一个人脸出现(此时仅选择中心坐标的人脸作为目标,其余视为噪声)。200数据集MatchPairsMismatchPairsLFW数据集中的图片被两两分组,这两张图片可能来自同一个人(如左图),也可能来自不同的人(如右图)。模型需要做的就是判断两张照片是否来自同一个人。201

评估指标202DeepFaceDeepFace是2014年,Facebook提出的模型,是CNN在人脸识别领域的奠基之作,具有以下贡献:人脸识别中,通常经过四个步骤:检测,对齐(校正),表示,分类。论文主要阐述了在对齐和表示这两个步骤上提出了新的方法,模型的表现超越了前人的工作,在LFW上达到了97.35%的人脸验证精度。对齐方面主要使用了3D人脸模型来对齐人脸。表示方面使用了一个9层的CNN,其中使用了局部卷积。对齐可理解为:获取正脸(去噪)表示可理解为:构造特征Y.Taigman,M.Yang,M.Ranzato,andL.Wolf.Deepface:Closingthegaptohuman-levelperformanceinfaceverification.InCVPR,pages1701–1708,2014.203DeepFace204DeepFace对齐用LBP+SVR的方法检测出人脸的6个基准点,眼镜两个点,鼻子一个点,嘴巴三个点,如图(a)。通过拟合一个对基准点的转换(缩放,旋转,平移)对图像进行裁剪,得到图(b)。对图像定位67个基准点,并进行三角剖分,得到图(c)。用一个3D人脸库USFHuman-ID得到一个平均3D人脸模型(正脸),如图(d)。学习一个3D人脸模型和原2D人脸之间的映射P,并可视化为三角块,如图(e)。通过相关的映射,把原2D人脸中的基准点转换成3D模型产生的基准点,得到图(f)。最后的正脸,图(g)。205LocalBinaryPattern:每个像素与周围像素的关系SupportVectorRegression:使到超平面最远的样本点的“距离”最小DeepFace表示前3层采用传统的卷积和池化提取信息,共享卷积核。后3个卷积层采用局部连接,提取不同维度上的特征,不共享卷积核。倒数第二层采用全连接层提取出对应的人脸特征,最后是Softmax层进行分类。206DeepFace

207DeepFace

208DeepIDDeepID源于论文于2014年提出,主要针对的是人脸验证任务。模型在训练集中对10000个人脸实体进行分类,再将学习到的特征用于人脸验证。模型使用人脸上不同的区域训练多个单独的ConvNet,每个ConvNet的最后一个隐层为提取到的特征,称之为DeepID(DeephiddenIDentityfeature)。209Y.Sun,X.Wang,andX.Tang.Deeplearningfacerepresentationfrompredicting10,000classes.InCVPR,pages1891–1898,2014.DeepID210DeepIDConvNet的结构由四层CNN和一层Softmax组成。输入的不是整个人脸,而是人脸中的某个区域(Patch)。输入数据有两种,一种是39*31*k,对应矩形区域,一种是31*31*k,对应正方形区域,其中k当输入是RGB图像时为3,灰度图时为1。输出的特征DeepID是Softmax层之前的隐层,Softmax层只

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论