深度學習 課件 第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

提交評論