版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
目錄摘要................................................................................................................................1一.圖像分類技術簡介與相關工作..........................................................................21.1圖像分類技術.................................................................................................21.2圖像分類技術的相關工作.............................................................................2二.數(shù)據(jù)以及數(shù)據(jù)處理..............................................................................................32.1Cifar10...............................................................................................................32.2Cifar10數(shù)據(jù)處理..............................................................................................4三.本文使用的圖像分類方法或改進策略................................................................63.1簡單卷積神經網(wǎng)絡.........................................................................................63.2簡單卷積神經網(wǎng)絡+數(shù)據(jù)增強.......................................................................83.3深度卷積神經網(wǎng)絡/深度卷積神經網(wǎng)絡+數(shù)據(jù)增強......................................83.4殘差網(wǎng)絡Resnet/殘差網(wǎng)絡Resnet+數(shù)據(jù)增強............................................113.5HRnet..............................................................................................................12四.實驗結果與對比分析..........................................................................................164.1簡單卷積神經網(wǎng)絡與數(shù)據(jù)增強的對比.......................................................164.2深度卷積神經網(wǎng)絡與數(shù)據(jù)增強的對比.......................................................174.3Resnet殘差網(wǎng)絡與數(shù)據(jù)增強的對比............................................................194.4HRnet..............................................................................................................224.5所有結果accuracy對比...............................................................................23五.總結....................................................................................................................24參考文獻......................................................................................................................25
摘要本文主要研究圖像分類技術,本文主要通過keras在Cifar10數(shù)據(jù)集上嘗試不同的圖像分類的模型與算法,對比與分析各個圖像分類方法的優(yōu)缺點,探究如何提升圖像分類的效率以及準確率,另外,本文嘗試在keras上復現(xiàn)出HRNet網(wǎng)絡,來比較HRNet網(wǎng)絡與常規(guī)圖像分類網(wǎng)絡模型的優(yōu)劣性關鍵詞:圖像分類,對比與分析,HRNet1
一.圖像分類技術簡介與相關工作1.1圖像分類技術圖像分類,是指根據(jù)各自在圖像信息中所反映的不同特征,把不同類別的目標區(qū)分開來的圖像處理方法。它利用計算機對圖像進行定量分析,把圖像或圖像中的每個像元或區(qū)域劃歸為若干個類別中的某一種,以代替人的視覺判讀。圖像分類是計算機視覺中最基礎的一個任務,也是幾乎所有的基準模型進行比較的任務。從最開始比較簡單的10分類的灰度圖像手寫數(shù)字識別任務mnist數(shù)據(jù)集,到后來更大一點的10分類的cifar10,也就是和100分類的cifar100任務,到后來的imagenet任務,圖像分類模型伴隨著本文主要使用的數(shù)據(jù)集,數(shù)據(jù)集的增長,一步一步提升到了今天的水平?,F(xiàn)在,在imagenet這樣的超過1000萬圖像,超過2萬類的數(shù)據(jù)集中,計算機的圖像分類水準已經超過了人類。圖像分類在很多領域有廣泛應用,包括安防領域的人臉識別和智能視頻分析等,交通領域的交通場景識別,互聯(lián)網(wǎng)領域基于內容的圖像檢索和相冊自動歸類,醫(yī)學領域的圖像識別等。1.2圖像分類技術的相關工作本文討論圖像分類技術的相關技術主要是從圖像分類經典技術的改進與圖像分類提升作為的軸來進行介紹的。2013年ILSVRC分類任務冠軍網(wǎng)絡是Clarifai,不過更為我們熟知的是zfnet,即《VisualizingandUnderstandingConvolutionalNetworks》[1],Zeiler和Fergus在研究中利用反卷積技術引入了神經網(wǎng)絡的可視化,對網(wǎng)絡的中間特征層進行了可視化,為研究人員檢驗不同特征激活及其與輸入空間的關系成為了可能。在這個指導下對AlexNet網(wǎng)絡進行了簡單改進,包括使用了更小的卷積核和步長,將11x11的卷積核變成7x7的卷積核,將stride從4變成了2,性能超過了原始的AlexNet網(wǎng)絡。而2014年的冠亞軍的圖像分類網(wǎng)絡分別是GoogLeNet[2]和VGGNet[3]。其中VGGNet包括16層和19層兩個版本,共包含參數(shù)約為550M。全部使用3×3的卷積核和2×2的最大池化核,簡化了卷積神經網(wǎng)絡的結構。VGGNet很好的展示了如何在先前網(wǎng)絡架構的基礎上通過簡單地增加網(wǎng)絡層數(shù)和深度就可以提高網(wǎng)絡的性能。雖然簡單,但是卻異常的有效,在今天,VGGNet仍然被很多的任務選為基準模型。而GoogLeNet是于Google的ChristianSzegedy等人提出的22層的網(wǎng)絡,其top-5分類錯誤率只有6.7%。GoogleNet的核心是的inception結構,包括有四個成分。1×1卷積,3×3卷積,5×5卷積,3×3最大InceptionModule的核來自InceptionModule,它采用并行的方式。一個經典池化,最后對四個成分運算結果進行通道上組合。這就是心思想。通過多個卷積核提取圖像不同尺度的信息然后進行融合,可以得到圖像更好的表征。自此,深度學習模型的分類準確率已經達到了人類的水平(5%~10%)。與VGGNet相比,GoogleNet模型架構在精心設計的Inception結構下,模型更深又更小,計算效率更高。在2015年,何凱明的團隊的ResNet[4]獲得了分類任務2
冠軍。它以3.57%的錯誤率表現(xiàn)超過了人類的識別水平,并以152層的網(wǎng)絡架構創(chuàng)造了新的模型記錄。由于ResNet采用了跨層連接的方式,它成功的緩解了深層神經網(wǎng)絡中的梯度消散問題,為上千層的網(wǎng)絡訓練提供了可能。2016年依舊誕生了許多經典的模型,包括贏得分類比賽第二名的ResNeXt[5],101層的ResNeXt可以達到ResNet152的精確度,卻在復雜度上只有后者的一半,核心思想為分組卷積。即首先將輸入通道進行分組,經過若干并行分支的非線性變換,最后合并。在ResNet基礎上,密集連接的DenseNet[6]在前饋過程中將每一層與其他的層都連接起來。對于每一層網(wǎng)絡來說,前面所有網(wǎng)絡的特征圖都被作為輸入,同時其特征圖也都被后面的網(wǎng)絡層作為輸入所利用。DenseNet中的密集連接還可以緩解梯度消失的問題,同時相比ResNet,可以更強化特征傳播和特征的復用,并減少了參數(shù)的數(shù)目。DenseNet相較于ResNet所需的內存和計算資源更少,并達到更好的性能。2017年,也是ILSVRC圖像分類比賽的最后一年,SeNet[7]獲得了冠軍。這個結構,僅僅使用了“特征重標定”的策略來對特征進行處理,通過學習獲取每個特征通道的重要程度,根據(jù)重要性去降低或者提升相應的特征通道的權重。至此,圖像分類的比賽基本落幕,也接近算法的極限。但是,在實際的應用中,卻面臨著比比賽中更加復雜和現(xiàn)實的問題,之后的圖像分類問題就需要研究者們根據(jù)具體的場景和需要進行其他的改進與提升。二.數(shù)據(jù)以及數(shù)據(jù)處理2.1Cifar10本文主要個微小圖像數(shù)據(jù)集的子集。他們由AlexKrizhevsky,VinodNair和GeoffreyHinton收集。使用的是Cifar10數(shù)據(jù)集,CIFAR-10和CIFAR-100被標記為8000萬而其中的CIFAR-10數(shù)據(jù)集由10個類的60000個32x32彩色圖像組成,每個類有6000個圖像。有50000個訓練圖像和10000個測試圖像。數(shù)據(jù)集分為五個訓練批次和一個測試批次,每個批次有10000個圖像。測試批次包含來自每個類別的恰好1000個隨機選擇的圖像。訓練批次以隨機順序包含剩余圖像,但一些訓練批次可能包含來自一個類別的圖像比另一個更多。總體來說,五個訓練集之和包含來自每個類的正好5000張圖像。以下是數(shù)據(jù)集中的類,以及來自每個類的10個隨機圖像,截自Cifar10官方網(wǎng)站:3
本文之所以使用Cifar10數(shù)據(jù)是因為Cifar10比較方便處理,雖然Cifar10的圖像數(shù)據(jù)同樣也不少,但是由于他的數(shù)據(jù)存儲方式比較節(jié)省空間與資源,所以處理起來也比較方便,不像imagenet一樣有海量的數(shù)據(jù),難以下載并進行處理。2.2Cifar10數(shù)據(jù)處理首先,下圖是Cifar10的數(shù)據(jù),但是在代碼中使用的是keras的數(shù)據(jù)處理的代碼,可以直接下載并進行處理,但是這里還是介紹一下Cifar10的數(shù)據(jù)。首先介紹上圖中的5個data_batch文件和test_batch,前者是是測試集,在一個batch中,有10000張圖片,但是像比如imagenet的數(shù)據(jù)一樣是訓練集,后者他這里的處理方式比較特別,他并不是一張張圖獨立出來的,而是為了保證能4
夠將數(shù)據(jù)的體量壓縮到較小的程度,并且方便處理,這一個batch可以理解成是將10000張圖拼成的一張大圖,首先,這一個batch文件的shape是10000x3072uint8的numpy數(shù)組,10000是指圖像的數(shù)量,而這個3072是1024維,又由于這里一個這么來的,因為這一萬張圖中的一張圖大小是32*32,也就是使用的是彩色圖像,從上面官網(wǎng)截取的概覽圖也可以發(fā)現(xiàn)。所以所謂彩色圖,那就是存在三個通道,就應該是32*32*3,也就是3072,所以這也就是這一個batch是10000x3072的原因。而這里的batches.meta則是label_names[0]==“airplane”。做了一個元素的對應,例如接下來從代碼角度來進行說明,由于使用的是keras的數(shù)據(jù)處理的方法,所以代碼比較簡單,主要是來看看輸入數(shù)據(jù)的格式與shape。如下圖進行輸出。得到下圖的顯示可以看出,訓練集的shape是50000*32*32*3,也就是50000張32*32的彩色圖片,標簽是50000*1,測試集是10000*32*32*3,也就是10000張32*32的彩色圖片,標簽是10000*1,之后的所謂多分類標簽生成也就是將標簽變?yōu)閛ne-hot的標簽,也就是屬于哪一類就在那個下標標1,其他全為0,這主要方便在訓練中方便模型的擬合。一般使用softmax之后得到的結果與one-hot的標簽進行交叉熵計算。然后數(shù)據(jù)處理中還有下圖的代碼:5
從我之前有提到,這里的Cifar10數(shù)據(jù)中的batch文件的shape是一個10000x3072uint8的numpy數(shù)組,這里是使用0~255由于keras以及卷積等操作的處理基本上使用float類型,并且0~1的值比較好進行操作或者訓練,所以這里將訓練集和測試集除以了255進行標準化,下圖可以看到處理之后shape并沒有發(fā)生變化,主要是uint8的形式,也就是RGB值是的數(shù)值來進行的表示,但是改變了數(shù)值大小。三.本文使用的圖像分類方法或改進策略3.1簡單卷積神經網(wǎng)絡這里的簡單神經網(wǎng)絡可以理解成一個本文使用的一個基準方法,得到的結果可以作為baseline,以此來進行之后的其他網(wǎng)絡的實驗結果的對比。首先看一下簡單卷積神經網(wǎng)絡的構建代碼:6
可以看出,首先經過了一個二維卷積層,其中,輸出濾波器數(shù)量為32,(3,3)是卷積核的shape,padding是same的意思就是說保持卷積前后大小一致,然后經過一層最大池化層,將特征圖縮小到原來的兩倍,然后再進行以此卷積,這里的padding策略并不是same,所以特征圖大小會發(fā)生變化,然后再進行一次最大池化進行特征圖縮小,中間穿插激活層RELU。通過幾次處理之后用flatten對向量進行打平,然后進入dense層進行分類,為了防止過擬合,設置dropout層為0.5.下圖是每層的shape。7
3.2簡單卷積神經網(wǎng)絡+數(shù)據(jù)增強深層神經網(wǎng)絡一般都需要大量的訓練數(shù)據(jù)才能獲得比較理想的結果。在數(shù)據(jù)量有限的情況下,可以通過數(shù)據(jù)增強來增加訓練樣本的多樣性,提高模型魯棒性,避免過擬合。例如,可以對圖像進行翻轉,即將圖像沿水平或垂直方法隨機翻轉一定角度;旋轉,即將圖像按順時針或逆時針方向隨機旋轉一定角度;平移,即將圖像沿水平或垂直方法平移一定步長;縮放,即將圖像放大或縮??;隨機裁剪或補零,即將圖像隨機裁剪或補零到指定大小等等。Keras自帶一種生成相似圖像數(shù)據(jù)的方式,即keras的ImageDataGenerator類。這個類可以對原始圖像進行水平/豎直移動一定范圍、水平/垂直翻轉圖像、放大圖像一定范圍等等,達到數(shù)據(jù)增強的目的。其他代碼大致與3.1中的一樣,就是進入ImageDataGenerator進行數(shù)據(jù)增強,然后由于這里訓練集的數(shù)據(jù)的model.fit要改成model.fit_generator,以此來迎這里訓練集暫時不直接除以255來做標準化,而是格式發(fā)生了改變,所以在下面合新的訓練集的數(shù)據(jù)格式。之后在其他地方也會使用到這個數(shù)據(jù)增強,之后就不一一闡述了。3.3深度卷積神經網(wǎng)絡/深度卷積神經網(wǎng)絡+數(shù)據(jù)增強較為簡單的卷積神經網(wǎng)絡對于數(shù)據(jù)的擬合能力還是十分有限的,并且在圖像分類領域,有很多人認為提升模型的層數(shù),增加模型的深度,有助于圖像分類的任務,雖然深度學習中并不是層數(shù)越多就越好,畢竟層數(shù)越多參數(shù)越多,更容易發(fā)生過擬合,超參數(shù)需要進行小心的平衡,并且深度過高會導致梯度傳播異常的等等問題,但是不可否認的是,大多數(shù)情況下,只要平衡好模型的各個參數(shù),加深模型層數(shù)確實會比簡單的模型的擬合能力更強一些。下圖是深度卷積神經網(wǎng)絡的網(wǎng)絡模型構建的代碼。8
9
可以看到其中卷積神經網(wǎng)絡的層數(shù)明顯加深,下圖是每層的shape。10
這里同樣也使用了數(shù)據(jù)增強,之后會進行實驗結果的對比。3.4殘差網(wǎng)絡Resnet/殘差網(wǎng)絡Resnet+數(shù)據(jù)增強殘差網(wǎng)絡是繼卷積神經網(wǎng)絡提出之后又一個十分經典的方法,主要為了解決卷積神經網(wǎng)絡層數(shù)過深之后的信息丟失問題,Resnet的大致思想就是不斷地使用前面的層的輸出數(shù)據(jù)進行數(shù)據(jù)加強,避免隨著卷積層數(shù)的增加而導致數(shù)據(jù)丟失。Resnet提出了一種殘差模塊,如下圖11
上圖是一個殘差block的定義,主要是進行卷積之后過一個批normalization函數(shù),防止梯度消失以及梯度爆炸,有助于模型的訓練,然后進行激活。上面圖的所謂殘差是通過下圖來進行的,主要使用for循環(huán)來進行殘差網(wǎng)絡的搭建,可以看出,a和b主要是分別進行兩次殘差模塊之后得到的結果,然后將兩次之后的結果b與之前的未經過處理的x進行累加,這也就是對于輸入x殘差網(wǎng)絡的精髓。之后也同樣使用了數(shù)據(jù)增強來提升模型效率。3.5HRnet主要是論文《DeepHigh-ResolutionRepresentationLearningforHumanPoseEstimation》中提出的一種方法,模型如下圖,具體上課分享的時候講過。12
下面是復現(xiàn)的代碼,復現(xiàn)主要是照著這張模型圖進行的復現(xiàn)。13
14
這個網(wǎng)絡模型其實應該還可以優(yōu)化一下,比如使用循環(huán)進行操作。這個應該暫時還沒有人使用keras復現(xiàn),因為github上也找不到,復現(xiàn)起來還是其中有幾個對keras復現(xiàn)比較重要的幾個點。上采樣在keras中有些麻煩。首先是原論文中提到的上采樣是采取的最鄰近插值,但是并沒有某個特定的可以使用的網(wǎng)絡層來達到這個效果。所以需要使用這個Lambda這個網(wǎng)絡層,這個層可以將你自己設置的函數(shù)轉變成一個層結構,來滿足keras對于網(wǎng)絡層的格式要求,這里函數(shù)實現(xiàn)是這樣的:然后使用方法是下面這樣:這樣就能夠在keras的網(wǎng)絡層中進行上采樣并且使用最鄰近插值方法了,另外就是里面有除法的定義,同理:這樣就能夠使用除法了。但是Lambda還是有一個問題,那就是當函數(shù)中含有需要訓練的參數(shù)時無法進行定義,那樣就需要另外一種完整定義keras層的方法了。15
四.實驗結果與對比分析4.1簡單卷積神經網(wǎng)絡與數(shù)據(jù)增強的對比上圖分別是簡單卷積神經網(wǎng)絡的accuracy圖以及l(fā)oss收斂圖。
從上面4.2深度卷積神經網(wǎng)絡與數(shù)據(jù)增強的對比
上兩張圖是神經網(wǎng)絡的層數(shù)變深之后,模型會在訓練到一半之后就無法再進行提高,并且之后loss甚至會逐漸增大,所以要采取保留最優(yōu)模型的策略,才能夠防止模型在到達訓練最優(yōu)點之后越來越差。下面兩張圖是數(shù)據(jù)增強之后的accuracy圖以及l(fā)oss收斂圖
可以看出數(shù)據(jù)增強之后的深度卷積神經網(wǎng)絡還是要比不增強的模型表現(xiàn)好很多。4.3Resnet殘差網(wǎng)絡與數(shù)據(jù)增強的對比19
上圖是Resnet網(wǎng)絡的accuracy和loss收斂情況下圖是Resnet網(wǎng)絡加上數(shù)據(jù)增強之后的accuracy和loss收斂情況。20
21
可以看出在accuracy上,數(shù)據(jù)增強之后的Resnet的表現(xiàn)更好,并且從loss收斂情況可以看出,模型在穩(wěn)定之后,在數(shù)據(jù)增強的Resnet下,loss更不容易回升,這也說明數(shù)據(jù)增強之后的Resnet模型的訓練更加穩(wěn)定,模型表現(xiàn)也更好。4.4HRnet下圖分別是HRnet的accuracy圖和loss收斂圖:可以看出訓練起來的結果比較正常,但是準確率較低,但是訓練集的準確率又是上升的,所以推測出現(xiàn)了過擬合情況,并且可能是在實現(xiàn)過程中可能忽略掉了某個細節(jié)或者是HRnet的層數(shù)比較少,無法達到預期效果也有可能,由于accuracy有點低,所以不參加后續(xù)的比較。具體怎么復現(xiàn)比較好并且符合原文的22
設定,還需要進一步研究。4.5所有結果accuracy對比這張圖可以明顯看出,綜合來說,殘差網(wǎng)絡Resnet加上數(shù)據(jù)增強的表現(xiàn)是最好的。23
五.總結通過對計算機視覺的學習,還是掌握到了很多計算機視覺方面的知識,對于計算機視覺的各個任務都有了一個大致的了解,感覺受益匪淺,并且之前淺顯接觸過計算機視覺,但是掌握的并不是很系統(tǒng),這門課比較系統(tǒng)的將計算機視覺的知識都講了,老師的講解也很細致,很多計算講的都很精細,而不是幾句話帶過。而本文主要是對于各種圖像分類技術有一個大致了解,并且互相對比他們的表現(xiàn),并且探究如何使圖像分類任務的表現(xiàn)更好,比如使用數(shù)據(jù)增強等等方法,并且比較了數(shù)據(jù)增強之前和之后模型的表現(xiàn),比較直觀的了解了數(shù)據(jù)增強對于計算機視覺這一領域的重要性,并且從accuracy和loss上也能對于效果有很好的展現(xiàn)。此外還對比了淺層和深層卷積神經網(wǎng)絡和殘差網(wǎng)絡以及HRnet網(wǎng)絡,對比分析了他們優(yōu)劣性以及在Cifar10圖像分類任務中的模型表現(xiàn),對于圖像分類技術和圖像分類任務有了更深的理解。上完這門課之后還是有很多感想,一方面覺得計算機視覺確實是一門十分有趣但是也十分嚴謹?shù)膶W科,并且,其實很多計算機視覺上的技術并不僅僅只能使用在計算機視覺任務中,比如像卷積神經網(wǎng)絡CNN就已經被運用到了機器學習以及深度學習的各個領域,包括我現(xiàn)在所研究的關聯(lián)預測,知識圖譜嵌入技術等等,里面都有一些還比較前沿的方法會使用到卷積神經網(wǎng)絡,并且有些其他的研究問題與課題中,有一些與計算機視覺相關的研究與代碼經驗,所以計算機視覺也不僅僅只是一個研究領域,它還能帶給一些其他的學科一些處理某些數(shù)據(jù)上的方法,在發(fā)展自身的同時,也能夠輻射到其他的領域。24
參考文獻[1]ZeilerMD,FergusR.Visualizingandunderstandingconvolutionalnetworks[C]//Europeanconferenceoncomputerv
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職船舶與海洋工程裝備(船舶導航)試題及答案
- 2025年大學化學(分析化學)試題及答案
- 2025年高職(美容美體藝術)美體塑形階段測試題及答案
- 禁毒宣傳知識課件
- 當前醫(yī)患關系矛盾焦點
- 神秘殺手信息技術
- 祛斑方法培訓課件
- 天津市第九中學2025-2026學年高三上學期12月月考語文試題(含答案)
- 2022-2023學年廣東深圳羅湖區(qū)九年級上學期11月考英語試題含答案
- 2026廣東清遠市連南瑤族自治縣聚匯勞務派遣有限公司第二次招聘門衛(wèi)崗位1人備考題庫及答案詳解(奪冠系列)
- 兒童呼吸道合胞病毒感染診斷治療和預防專家共識 4
- 雨課堂在線學堂《大數(shù)據(jù)技術與應用》作業(yè)單元考核答案
- 全國計算機等級考試一級WPS Office真題題庫及答案
- 養(yǎng)牛場消防知識培訓
- 義警法律知識培訓總結課件
- 實施指南(2025)《DZT 0462.5-2023 礦產資源“三率”指標要求 第 5 部分:金、銀、鈮、鉭、鋰、鋯、鍶、稀土、鍺》解讀
- 棉塵安全培訓課件
- 梯子作業(yè)安全培訓效果課件
- 管控人力成本課件
- 吸附解析塔拆除施工方案
- 留置場所人員管理辦法
評論
0/150
提交評論