999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于改進SSD的目標檢測方法

2020-03-02 11:36:35欒浩王力姜敏
軟件 2020年1期

欒浩 王力 姜敏

摘 ?要: 為了提高目標檢測的準確度與穩定性,在原始SSD算法的基礎上提出一種新的檢測方法。該方法在原先的網絡結構上進行優化和改進,把原本級聯的網絡改成殘差連接結構并加入FPN算法思想,把網絡中高低層的特征進行融合。同時為了解決用預訓練模型訓練網絡所帶來的學習目標偏差和體系結構受分類網絡的限制,修改不方便等問題,采用批處理歸一化BatchNorm去隨機初始化訓練模型。在PASCAL VOC數據集上的測試結果表明,相比于原始SSD,該方法可以自由地修改體系結構,而不需要預訓練,并且進一步提高了小目標的檢測精度。

關鍵詞: 目標檢測;卷積神經網絡;殘差連接;FPN;特征融合;BatchNorm

中圖分類號: TP391.41 ? ?文獻標識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2020.01.007

本文著錄格式:欒浩,王力,姜敏,等. 基于改進SSD的目標檢測方法[J]. 軟件,2020,41(01):2935

【Abstract】: In order to improve the accuracy and stability of object detection, a new detection method is proposed based on the original SSD algorithm. The method optimizes and improves the original network structure, changes the original cascaded network into a residual connection structure and adds the FPN algorithm idea to fuse the high and low layer features in the network. At the same time, in order to solve the problem that the learning object deviation caused by training the network with the pre-training model and the architecture is restricted by the classification network, and the inconvenient modification, the batch normalized (BatchNorm) is used to randomly initialize the training model. The test results on the PASCAL VOC dataset show that compared to the original SSD, the method can freely modify the architecture without pre-training and further improve the detection accuracy of small objects.

【Key words】: Object detection; Convolutional neural network; Residual connection; FPN; Feature fusion; BatchNorm

0 ?引言

目標檢測作為計算機視覺領域重要的研究方向和研究熱點[1],在入侵檢測、指紋識別、違章車輛檢測、車牌識別、行人檢測、視頻檢索等各個領 ? ?域[2]有著無與倫比的重要性。在目標檢測的早期時候,常用的一些方法通常都是依靠先驗知識來建立與之相關的數學模型來實現,常用的方法有:Hough變換[3]、幀差法[4]、背景減除法[5]、光流法[6]、滑動窗口模型[7]、可變形部件模型[8]等。這六種方法的實現方式不盡相同,大體可以分為兩種:前四種方法是利用數據的特征來建立模型,最終求解模型得到檢測的結果,這種方法主要采用數據特征和數學模型的形式去實現;而后兩種方法則是采用特征提取加分類器的方法,利用SHIFT[9]HOG[10]、Haar[11]等一些手工設計特征的方法并且結合像SVM、Adaboost等一些分類器,最后根據數據的特征進行分類得到檢測結果。然而傳統的目標檢測算法無論在精度和速度上都很不理想,隨著深度學習技術在目標檢測領域大放異彩,早期的一些目標檢測方法逐漸被淘汰。

深度學習相比于傳統的目標檢測算法,大大提升了檢測的精度和魯棒性。深度神經網絡不用像早期目標檢測算法那樣來手工設計特征,它能夠通過卷積計算自主的學習不同層級的特征,所學習到的特征相比較于手工設計的特征來說更加的豐富,同時表征能力也更強[12]。基于深度學習的目標檢測算法主要分為兩類:基于區域建議的目標檢測算法和基于回歸的目標檢測算法。基于區域建議的目標檢測算法如下:R-CNN[13]、Fast R-CNN[14]、Faster R-CNN[15]、R-FCN[16]等等。該類算法首先通過目標候選區域生成算法(如Selective Search)生成一系列目標候選區域,然后把這些候選區域送入深度神經網絡去提取相應的特征,最后用這些提取出來的特征來預測目標的類別和位置。相比于基于區域建議的檢測算法,基于回歸的目標檢測算法則是把耗時的目標區域的生成過程去除,然后按照預先設定好的方法去劃分默認框,這樣做可以有效地提升檢測速度,保證檢測的實時性,其代表算法有YOLO[17]和SSD[18]。SSD算法相比于YOLO算法加入了Faster R-CNN的anchor機制,這樣做既保證了實時性,又保證了較高的檢測準確率。但是,SSD算法對小目標的檢測效果較差[18]。

為了改進SSD在小目標檢測方面的缺陷,結合殘差網絡結構和FPN[19]算法中特征金字塔思想對特征進行融合,同時在改進的網絡結構中添加BatchNorm,從頭訓練該網絡。結果表明,該改進方法充分利用了網絡結構的優勢,提高了模型對小目標物體檢測的準確度,具有一定的參考價值。

1 ?SSD目標檢測算法

1.1 ?原始SSD算法模型結構

原始SSD模型可以分為以下幾個部分:骨干網絡部分,其中骨干網絡又分為基礎網絡和附加特征提取層,原始包圍框生成部分和卷積預測部分,卷積預測又包括目標類別預測和位置預測。算法的主要流程如下:首先輸入原始圖像,利用深度神經網絡提取特征;然后對所提取的不同尺度的特征圖設計不同的默認框;接著提取默認框中的特征來預測目標的種類和位置;最后通過非極大值抑制算法篩選出與真實框最匹配的預測結果。

1.1.1 ?基礎網絡

基礎網絡是由VGG-16[20]的卷積部分組成,主要的作用是對輸入的圖像進行淺層的特征提取,經過卷積網絡得到的特征有兩方面作用。一方面是送入下一層進行更深層的特征提取,另一方面是用于目標預測和邊框的回歸。該基礎網絡包括5個卷積模塊,前兩個模塊包括兩個卷積層和一個池化層,后三個模塊包括三個卷積層和一個池化層,一共包含13個不同的卷積層。如果把一張大小為300*300的三通道圖像送入該基礎網絡,最終可以得到512張19*19的特征圖。

1.1.2 ?附加特征提取層

附加特征提取層由10層卷積層級聯而成,是為了對基礎網絡所提取的特征進行進一步的卷積計算,提取不同尺度的特征。附加層的頭兩層是按照文獻[21]當中所提出的下采樣和atrous方法由VGG-16中的兩個全連接層修改而成。其余的卷積層是由卷積核分別為1和3的常用卷積層組成。

1.1.3 ?預測框生成部分

1.1.4 ?預測網絡部分

預測框生成之后,選取不同尺度的特征送入預測網絡部分進行預測計算,輸出的預測結果分為兩個部分。一部分是預測框的修正值,另一部分就是框內物體是目標還是背景的概率。

1.2 ?損失函數

其中,N是與ground truth目標框匹配的預測框的個數;Lconf(z,c)代表置信度損失;Lloc(z,l,g)代表位置損失,一般采用Smooth L1 Loss[13]去計算;z表示預測框是否與ground truth目標框相匹配,如果匹配就等于1,否則為0;c則表示預測框的置信度;l表示預測框的位置信息;g表示為ground truth目標框的位置信息;α為權重參數,用來決定置信度損失和位置損失所占的權重關系,一般兩者取相同的權重,值設為1。

2 ?原始SSD算法存在的問題

2.1 ?骨干網絡部分

原始SSD算法的骨干網絡是直接利用VGG-16的卷積層,卷積層之間級聯連接,每層卷積層的輸入就只是上一層卷積層的輸出,跟之前的卷積層毫無關系,并沒有把之前卷積計算所得到的大量特征信息給利用起來。除此之外,在這種級聯的連接方式下,如果前面一些卷積層的權重更新出現較大誤差,那么會導致后面的卷積層都會受影響,影響最終的預測結果。

2.2 ?模型訓練部分

目前大多數先進的目標檢測算法訓練模型都是在大規模分類數據集ImageNet上預先訓練好的網絡上進行微調。一般,在訓練好的現成網絡上進行微調所獲得的模型,其性能都會比從頭開始訓練的模型要好。但是,這種訓練模型的方法有一些不可忽視的局限性。一方面,在目標檢測的過程中,通常被分為兩個任務:一是分類任務,二是檢測任務,這兩個任務具有不同的敏感度。平移不變性對于分類任務更加重要,分類任務需要下采樣操作來獲得更好的性能,下采樣操作一般包括池化和卷積操作。然而,檢測任務更傾向于局部紋理信息,這使得對下采樣操作更加敏感,需要謹慎使用。另一方面,使用預訓練好的網絡去微調模型,在微調過程中修改網絡結構是很不方便的。當改變網絡結構時,應該在大規模數據集上重新預訓練,這需要很高的計算成本。

3 ?改進方法

改進的SSD目標檢測算法是把基礎網絡和附加的特征提取部分原本的級聯方式替換成殘差連接結構,用來增加前后特征層之間的聯系,除此之外還把FPN算法思想融入到網絡結構中,把低層特征的高分辨信息和高層特征的高語義信息通過橫向連接和top-down網絡融合起來,充分利用各個尺度卷積層的特征信息,增加模型對小目標物體檢測的魯棒性。同時,為了解決使用預訓練模型微調模型所帶來的問題,在原始SSD的骨干網絡和預測卷積層中添加批處理歸一化BN(BatchNorm)操作[22],借助其帶來的穩定和可預測的梯度從頭開始訓練模型,這樣就不會受到不良收斂的影響,可以探索任意的網絡架構。

3.1 ?殘差連接骨干網絡部分

整個的骨干網網絡部分由原來的級聯變成了殘差連接方式。基礎網絡部分由兩到三個卷積層組成的殘差塊構成,每個塊的具體操作如圖1所示。第一個卷積層的輸入是前面殘差塊的輸出,第二層的輸入則是第一層卷積的輸出,第二層卷積計算出的結果經過BatchNorm操作后和前一個殘差塊的輸出進行組合,然而在與前一個殘差塊的輸出進行結合之前要進行維度判斷,如果兩者的維度不相等則通過卷積核大小為1的卷積進行維度變換,組合后的結果再一次經過BatchNorm操作,所得到的結果作為該殘差塊最終的卷積計算結果。附加的特征提取層把原來卷積核為1的卷積層換成卷積核為3的卷積層,然后進行殘差連接,連接方式跟基礎網絡部分一樣。

3.2 ?FPN算法

FPN算法最主要的思想就是把低層特征和高層特征通過橫向連接和top-down網絡進行融合,充分利用卷積計算出來的特征信息。橫向連接就是卷積核大小為1的卷積操作,它的主要目的是改變特征的輸出個數,但是并不改變輸出特征的尺度大小。自頂向下網絡就是一個上采樣的過程,采用最近鄰插值方法,將上采樣結果和自底向上(網絡的前向過程)所生成的相同大小的feature map進行融合,融合之后還會采用卷積核大小為3的卷積對融合后的結果進行卷積計算,以此來消除上采樣的混疊效應(aliasing effect)。結構圖如圖2所示。

3.3 ?BatchNorm

3.3.1 ?BatchNorm算法概述

BatchNorm是為了解決訓練過程中數據分布的改變,提高網絡泛化性,加快網絡訓練的一種算法。在網絡訓練的過程中,參數不斷地在更新,前一層網絡參數的更新,就會導致下一層網絡輸入數據分布的變化(輸入層的數據除外,因為在輸入網絡之前,已經人為地對數據進行了歸一化的操作),那么該層網絡就要去適應新的數據分布,這樣大大影響了網絡訓練的速度。另一方面,CNN的訓練過程就是在學習數據分布,如果數據分布不斷發生變化的話,那么會降低網絡的泛化能力。BatchNorm本質就是對數據進行預處理,把數據送入網絡之前,先對它進行歸一化,這樣做可以減少數據分布的變化,使得網絡的泛化性和訓練速度大大提高。

3.3.2 ?BatchNorm算法預處理

在神經網絡中常常用白化操作進行數據預處理,但是該操作計算量太大,并且不是處處可微的,于是BatchNorm算法在白化的基礎上進行改進,首先讓每個維度的特征獨立地歸一化成均值為0,方差為1,而不是對層輸入和輸出進行聯合白化。比如有一個d維輸入x=(x(1),x(2),...x(d)),BatchNorm會歸一化每個維度特征,過程如下式所示。

3.4 ?改進SSD算法的整體結構

改進后的SSD整體結構圖如圖3所示。基礎網絡部分是由多個殘差塊組成,卷積得到的高低層特征通過FPN進行融合,融合后的特征最后送入預測網絡。特征層融合之后的特征參數如表1所示,以融合層conv_fpn_6為例進行說明。這一層的維度輸出為512x38x38。conv_fpn_5輸出維度為512x19x19經過上采樣后得到維度為512x38x38的特征圖;block4_x輸出的特征維度為512x38x38,然后把上采樣后的結果和block4_x相拼接得到conv_fpn_6,其維度為512x38x38,融合之后再經過BatchNorm操作,最后送入卷積核大小為3x3的卷積中進行預測計算。

4 ?實驗與結果分析

為了檢驗優化后SSD算法的有效性,在PASCAL VOC數據集上進行測試,并將測試結果與原始SSD算法結果進行比較和分析。

4.1 ?模型訓練

模型是在VOC 2007 trainval和VOC 2012 trainval,一共16551張圖片上訓練的,訓練數據經過左右翻轉和隨機采樣實現數據增強,隨機采樣的最小jaccard overlap[23]值為0.5,數據輸入尺寸為300*300,使用限制學習率的動態自適應梯度法[24](ADAPTIVE GRADIENT METHODS WITH DYNAMIC BOUND OF LEARNING RATE,Adabound)來訓練,采用默認參數,lr設為0.001,final_lr為0.1,權重衰減為0.0005。該算法是對Adam等自適應學習率算法的改進,通過對自適應學習率進行動態裁剪,使得該算法在訓練早期更加接近Adam,隨著時間的增長該算法在后期更加接近于SGD,在獲得快速收斂速度的同時又在測試集上表現良好。訓練平臺為一塊NVIDIA Titan RTX GPU,Windows 10,Intel i7 8700。為了保證BatchNorm在訓練階段有穩定的統計結果,根據文獻[25]需要設置較大的batch_size,但是實驗條件有限,最后batch_size設為32。在模型訓練的時候使用回調函數ReduceLROnPlateau監控val_loss,耐心值patience設為15,當val_loss經過15個epoch不下降時,learning_rate降低10倍。

4.2 ?實驗結果分析

4.2.1 ?訓練結果

模型訓練過程中的training loss如圖4所示,整個網絡利用批歸一化BatchNorm帶來的穩定和可預測的梯度從頭訓練,經過144個epoch訓練后learning_rate從0.001降低為0.0001,200epoch后模型收斂。VOC 2007 test一共4952張,包含常見的各類物體例如羊、人、自行車等等共20種類別,訓練出來的模型在該數據集上進行測試。目標檢測中,一般選用mAP(mean Average Precision)來評估模型的檢測準確度。在置信度閾值為0.5的條件下,改進后SSD算法的mAP為78.5,相比較于原始SSD算法提升了1.3。

4.2.2 ?小目標物體檢測結果對比

為了測試改進后的算法對小目標物體的檢測性能,從VOC 2007 數據集中選取110張包含小目標物體的圖像,其中包括鳥(bird)、船(boat)、羊(sheep)、飛機(aeroplane)、瓶子(bottle)、汽車(car)、椅子(chair)、牛(cow)、狗(dog)、馬(horse)、摩托車(motorbike)、人(person)一共12類物體,分別對原始SSD算法和改進后SSD算法進行目標檢測,從中選擇了幾張檢測結果圖進行對比,如圖5所示,左邊一列是原始SSD檢測出來的結果,右邊則是改進之后的SSD所檢測出來的結果。

比較檢測結果我們可以得出以下幾個結論:(1)改進之后算法相比較原始算法可以檢測出更多的物體。(2)對于類別相似的物體改進算法檢測準確率更高,減少了誤檢。(3)檢測出來的同一物體,改進算法的檢測置信度更高。

4.2.3 ?小目標物體檢測精度對比

用制作的小目標數據集來測試模型的檢測精度,每類物體對應的檢測精度AP(Average Precision)如表2所示。從表中可以看出改進后的算 ? ?法幾乎每一類物體的AP都要高出原始算法。改進后SSD算法的mAP為0.753,比原始算法提高 ? ? 了0.068。

綜合以上的實驗結果,改進后的SSD算法對小目標的檢測效果相比于原始算法要更準確。

5 ?結論

本文首先介紹了原始SSD算法的框架和工作原理,然后分析了該算法對小目標物體檢測效果較差的原因,同時也指出了用預訓練網絡去微調模型存在的一些不足之處,針對這些問題提出了相對應的改進方法,首先把級聯連接的骨干網絡改成殘差結構,除此之外把FPN算法思想融入到原始SSD算法框架中,通過高層特征和底層特征的相互融合增加算法對小目標物體檢測的魯棒性,同時為了解決使用預訓練模型訓練網絡所帶來的問題,在網絡結構中加入批量歸一化BatchNorm從頭開始訓練。改進之后的SSD算法在PASCAL VOC數據集上進行訓練和測試,獲得了較高的mAP,相比于原始算法提高了1.3。此外為了驗證改進算法對小目標的檢測效果,從VOC2007test中選取110張小目標數據集進行測試,相比于原始SSD算法,改進后SSD的mAP比原始算法提高了0.068,從而驗證了文中方法的有效性。下面將進一步改善其模型,加強各層之間的特征共享,提高模型的泛化性,進一步提高算法的性能。

參考文獻

[1] Erhan D, Szegedy C, Toshev A, et al. Scalable object detection using deep neural networks[C]//Proceedings of the IEEE Conference on computer Vision and Pattern Recognition, 2014: 2147-2154.

[2] Borji A, Cheng M M, Jiang H, et al. Salient object detection: A benchmark[J]. IEEE Transactions on Image Processing, 2015, 24(12): 5706-5722.

[3] Merlin P M, Farber D J. A parallel mechanism for detecting curves in pictures[J]. IEEE Transactions on Computers, 1975, 100(1): 96-98.

[4] Singla N. Motion detection based on frame difference method[J]. International Journal of Information & Computation Technology, 2014, 4(15): 1559-1565.

[5] Lee D S. Effective Gaussian mixture learning for video background subtraction[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2005, 27(5): 827-832.

[6] Horn B K P, Schunck B G. Determining optical flow[J]. Artificial Intelligence, 1981, 17(1-3): 185-203.

[7] Viola P, Jones M. Rapid object detection using a boosted cascade of simple features[C]//IEEE Conference on Computer Vision and Pattern Recognition, 2003, 1: I-511- I-518.

[8] Felzenszwalb P F, Girshick R B, McAllester D, et al. Object detection with discriminatively trained part-based models[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2010, 32(9): 1627-1645.

[9] Lowe D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91-110.

[10] Dalal N, Triggs B. Histograms of oriented gradients for human detection[C]//Computer Vision and Pattern Recognition, IEEE Computer Society Conference on, IEEE, 2005, 1: 886-893.

[11] Panning A, Al-Hamadi A K, Niese R, et al. Facial expression recognition based on Haar-like feature detection[J]. Pattern Recognition & Image Analysis, 2008, 18(3): 447-452.

[12] Kong T, Yao A, Chen Y, et al. HyperNet: towards accurate region proposal generation and joint object detection[C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016: 845-853.

[13] Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2014: 580-587.

[14] Girshick R. Fast r-cnn[C]//Proceedings of the IEEE International Conference on Computer Vision, 2015: 1440-1448.

[15] Ren S, He K, Girshick R, et al. Faster r-cnn: Towards realtime object detection with region proposal networks[C]// Advances in Neural Information Processing Systems, 2015: 91-99.

[16] Li Y, He K, Sun J. R-fcn: Object detection via region-based fully convolutional networks[C]//Advances in Neural Information Processing Systems, 2016: 379-387.

[17] Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016: 779-788.

[18] Liu W, Anguelov D, Erhan D, et al. SSD: Single shot multibox detector[C]//European Conference on Computer Vision, 2016: 21-37.

[19] T.-Y.Lin, P.Dollar, R. Girshick, K. He, B. Hariharan, and S. Belongie. Feature pyramid networks for object detection. In CVPR, 2017.

[20] Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[C]//ICLR, 2015.

[21] CHEN L C, PAPANDREOU G, KOKKINOS I, et al. Semantic image segmentation with deep convolutional nets and fully connected CRFs[C]//Proceedings of International Conference on Learning Representations.[S.I.]: Computational and Biological Learning Society, 2015: 1-14.

[22] Rui Zhu, Shifeng Zhang, Xiaobo Wang, Longyin Wen, Hailin Shi, Liefeng Bo, Tao Mei. Training Single-Shot Object Detectors from Scratch. In CVPR, 2019.

[23] ERHAN D, SZEGEDY C, TOSHEV A, et al. Scalable object detection using deep neural networks[EB\OL].[2017-08-28].

[24] Liangchen Luo, Yuanhao Xiong, Yan Liu, Xu Sun. ADAPTIVE GRADIENT METHODS WITH DYNAMIC BOUND OF LEARNING RATE. In LCLR, 2019.

[25] Z. Shen, Z. Liu, J. Li, Y.-G. Jiang, Y. Chen, and X. Xue. Dsod: Learning deeply supervised object detectors from scratch. In ICCV, 2017.

主站蜘蛛池模板: 日韩在线视频网站| 天堂网亚洲系列亚洲系列| 色男人的天堂久久综合| 在线免费亚洲无码视频| 国产主播在线一区| 午夜电影在线观看国产1区| 一本大道香蕉高清久久| 91精品国产一区自在线拍| 亚洲国产中文综合专区在| 亚洲天堂精品视频| 色呦呦手机在线精品| 国产极品美女在线播放| 一级黄色网站在线免费看| 亚洲区视频在线观看| 综合五月天网| 男女男免费视频网站国产| 国产一区自拍视频| 国产在线视频福利资源站| 日本不卡在线| 欧美在线导航| 国产亚洲精品91| 欧美激情福利| 国产成人精品一区二区三在线观看| 五月综合色婷婷| 久青草免费视频| 狠狠色丁香婷婷| 久久精品人人做人人爽97| 嫩草在线视频| 亚洲性色永久网址| 精品国产网站| 国产粉嫩粉嫩的18在线播放91 | 成人免费黄色小视频| 亚洲第一页在线观看| 日韩精品无码免费一区二区三区| 久久黄色一级视频| A级全黄试看30分钟小视频| 国产爽歪歪免费视频在线观看 | 白浆视频在线观看| 国产一级毛片高清完整视频版| 国产91小视频在线观看| 欧美另类图片视频无弹跳第一页| yjizz视频最新网站在线| 日韩中文字幕亚洲无线码| 成人一级免费视频| 高清无码一本到东京热| 国产一区二区影院| 亚洲天堂成人| 直接黄91麻豆网站| 久久综合亚洲鲁鲁九月天| 18禁高潮出水呻吟娇喘蜜芽| 欧美国产日本高清不卡| 亚洲精品日产AⅤ| 亚洲国产看片基地久久1024| 久无码久无码av无码| 岛国精品一区免费视频在线观看| 国产精品毛片一区| 亚洲国产欧美国产综合久久 | 宅男噜噜噜66国产在线观看| 免费又爽又刺激高潮网址| 久久综合丝袜日本网| 青青草国产免费国产| 国产理论一区| 午夜色综合| 国产精品成人免费综合| 免费女人18毛片a级毛片视频| 欧美精品在线看| 国产伦精品一区二区三区视频优播| 伊人激情久久综合中文字幕| 免费国产一级 片内射老| 国产一级视频久久| 亚洲性影院| av无码一区二区三区在线| 乱系列中文字幕在线视频| 亚洲欧洲免费视频| 国产av色站网站| 99精品这里只有精品高清视频| 黄色网在线| 最新亚洲av女人的天堂| 色婷婷色丁香| 日本91视频| 亚洲人人视频| 红杏AV在线无码|