新聞中心

EEPW首頁 > 設計應用 > 基于改進SSD算法的小目標檢測研究*

基于改進SSD算法的小目標檢測研究*

作者:何杰林,劉興超黃凌霄(寧夏大學信息工程學院,銀川 750021)時間:2021-10-26來源:電子產品世界收藏
編者按:本文提出了一種改進SSD(Single Shot MultiBox Detection)算法的小目標場景檢測算法,并且系統闡述了目標檢測算法的研究現狀。在SSD首創算法的網絡結構基礎上,引入改進特征金字塔結構SFPN融合不同層特征語義信息提高小目標檢測性能,將原特征網絡VggNet16替換成網絡層數更深的ResNet50,加深網絡結構提高整體網絡性能,并且引進BN、全局平均池化等結構,加快收斂速度和降低參數量,提高實時性,設計得到RFG_SSD網絡。結果表明,該網絡的檢測精度與速度都具有很好的表現,實現多

*基金項目:寧夏高等學校科學研究項目(NGY2020009);寧夏重點研發計劃(引才專項)項目(2020BEB04018);寧夏自然科學基金項目(2021AAC03096)

本文引用地址:http://www.pfaennle.com/article/202110/429083.htm

0   引言

近年來,常用的目標檢測算法在小目標應用場景中也已證明了其卓越的性能。目標檢測場景中小目標識別檢測一直是熱點研究問題,基于此問題提出改進的圖像模型及其應用。首先在原SSD主干部分和檢測部分之間引入改進特征金字塔網絡,融合不同層感受野特征信息提升性能。其次使用深層特征提取網絡 替換VggNet16 提升整體網絡精度。最后在檢測層使用全局平均池化層替換全連接層,降低參數從而提高檢測速度,設計得到改進網絡RFG_SSD 算法。通過使用改進SSD 算法和其他的一些主流檢測方法,在數據集上進行3 種評價指標的對比實驗,包括平均精度、速度以及小目標檢測個數。結果表明,改進算法平均精度達到98.05%,FPS達到85.56,小目標檢測個數相較原SSD 檢測個數高出3倍多,小目標檢測性能效果顯著提升。

1   目標檢測研究方法綜述

目標檢測的目的是從所需要檢測的目標圖像中找到需要檢測的目標,目標檢測包含定位與識別兩個過程,目標定位是在需要檢測的目標圖像中找到需要檢測的目標位置,目標識別是在目標圖像中識別出,并且定位到需要檢測的目標類別。目標檢測的任務可以分成3 個部分,①先建立一個提取候選區域的模型,運用建立的模型從真實的目標檢測應用場景中提取出需要的候選區域;②在提取出的候選區域中識別出其分類模型;③對識別出的分類模型的參數作出進一步的精確調整,并對提取到的有用的候選框的位置進一步精確調修,從而使之達到較滿意的檢測效果。目前,對于目標檢測的算法主要分成兩大類,一類是傳統的目標檢測算法[1-10],另一類是基于深度學習的目標檢測算法[11-12]

1.1 基于傳統視覺的目標檢測算法

基于傳統視覺的目標檢測算法的目標檢測過程主要使用3 個步驟:①目標圖像中的候選區域的選取主要使用窗口生成;②在候選區域中特征的提取是在這些候選區域上提取到對目標圖像檢測有用的特征;③使用分類器對所需要檢測的目標圖像進行分類,從而確定需要檢測的目標圖像中的目標類別。對于目標檢測的工作很早就已經展開。2001 年,Viola 和Jones 與其關目標圖像中的所有滑動窗口,不如關注所需檢測的目標圖像中可能會有檢測目標圖像的某些區域,過濾滑動窗口減少了整個目標發現任務所需的時間;2002 年,Papageorgiou 等人提出了用于靜態目標檢測場景中需要檢測的目標圖像所通用的框架,使用這個框架不需要有任何的先驗知識,運動分割或者模型,就可以從這個框架中直接學習到我們所需要的特征;2004 年,Lowe 對SIFT 尺度不變特征進一步改進,改進之后的運動目標是由獲取目標圖像的關鍵點及其鄰近的梯度信息來描述的;2005 年,Dalai 等人提出了HOG梯度方向直方圖,HOG 是在需要檢測的目標圖像的一些局部區域做特定動作,也是對行人進行目標檢測的一種特征描述子,并且可以使光線變化以及圖像形狀都可以具有好的魯棒性,由于其不會被需要檢測的行人的一些細小肢體動作干擾,所以HOG 非常適合做一些人體檢測任務;2010 年,Felzenszwalb 等將SVM 與HOG特征兩者的功能結合,提出了一種DPM 可變形部件模型,DPM 是利用滑動窗口來提取目標圖像所需要的特征,檢測行人的輪廓信息時,使用了多尺度DPM 檢測。

1.2 基于深度學習的目標檢測方法

基于深度學習的目標檢測方法可以分為以下3 類,①基于區域建議的目標檢測算法,例如Faster R-CNN算法,R.CNN 算法等;②基于回歸的目標檢測算法,例如KittiBox 算法、SSD 算法、YOLO 算法等;③基于搜索的目標檢測算法,例如基于視覺注意的AttentionNet和基于強化學習的算法。

1) 基于區域建議的目標檢測算法。2013 年,Ross Girshick 等人提出了R-CNN 算法,R-CNN 是一種基于深度學習的目標檢測算法。2015 年,何凱明等人提出了SPP.Net,SPP.Net 對R-CNN 算法做了改進,在全連接層與卷積層之間添加了特征空間金字塔層級網絡結構,從而在訓練過程中解決了R-CNN 算法只能輸入一些固定尺寸的圖像的缺陷,進一步改進實現了輸入任意尺寸的圖片都可以進行訓練,而且也實現了共享特征提取層的特點,使訓練速度進一步加快。SPP.Net 和R-CNN 算法相比,兩者都存在缺陷,一是有很多計算重復,二是訓練過程也相對復雜。2015 年,R.CNN 作者Ross Girshickt 提出了Fast R-CNN 算法,Fast R-CNN 算法中使用新的網絡,新的網絡中融合了后續的SVM 分類和CNN 特征提取來實現分類和回歸,改進了R-CNN 算法。2016 年,Shaoqing Ren 等人通過對Fast R-CNN 算法的優化改進,提出了Faster R-CNN算法,Faster R-CNN 算法創造了一個RPN,用RPN 替代了Fast R-CNN 算法以及R-CNN 算法中運用的選擇性搜索方法。2016 年,Dai J 等人提出R-FCN 方法,R-FCN 方法是在Faster R-CNN 算法的網絡結構上改進得到的,R-FCN 方法是通過在目標RoI pooling Layer感興趣區域池化層,即在RoI pooling Layer 前加入目標的位置信息,讓不同的特征圖可以檢測出目標圖像中的不同位置。2019 年杜雪、廖泓舟、張勛等人提出水下目標智能識別方法,它是基于深度卷積特征提出的,加入了VGGNet 視覺幾何組網絡的逐層遞增的卷積層思想,同時加入遷移學習以及數據增強技術進行二次學習,學習水下目標的獨特能力,解決水下數據集不足的狀況,并且也防止了過擬合的發生;2019 年,Wei-Hong lin 等人提出并構建了一個有更好泛化能力的模型,在Faster R-CNN 方法的基礎上,通過研究增強策略,從而去模擬重疊、模糊和遮擋的目標,也創造了一種稱為ROIMIX 的增強方法,ROIMIX 方法也能夠表示圖像之間的相互作用。

2)基于回歸的目標檢測算法,例如SSD 算法,KittiBox 算法等,2015 年Wei Liu 等人提出了基于改進的SSD 算法,在這個改進的SSD 算法中合并了YOLO中的回歸思想以及Faster R-CNN中的錨(anchor)機制。為了能夠達到更快的檢測速度,Joseph 等人在2015 年提出YOLO 算法,模型去掉了兩階段算法中尋找框的步驟,直接設計網絡輸出帶有框與分類置信度的圖片,也是第一個一階段目標檢測算法,在速度上更是遠超兩階段算法。但YOLO 算法由于沒有對于框的預先設定,導致其精度較低。Joseph 受兩階段方法設定錨框的啟發,為一階段算法加入預設框,提出YOLO v2、YOLO v3,既保持了算法的速度又進一步提升了算法精度。目標檢測過程中,在模型最后懲罰預測框進行位置優化時,框回歸損失函數的設定直接影響優化的速度和定位的準確度。為了更加準確預測出目標的位置,框回歸損失函數的設定經歷了一系列發展。2015年Girshick 等人在Fast r-cnn 中引入smooth L1 損失函數,兩階段算法中多沿用此損失函數作為框回歸優化算法。而YOLO 系列中使用的是均方誤差(MSE)函數。兩種損失函數的設計思路均為懲罰預測框與目標框四個坐標信息之間的歐式距離,而實際上在評判預測框定位準確性和保留預測框的過程中的指標是IOU,但這兩者之間非等價關系。即多個預測框可能有相同大小的smooth L1 損失,但他們與真實框的IOU 卻相差很大,導致懲罰損失函數不能對框之間的IOU 進行直接優化。為了解決這個問題,J.Yu 等人引入IOU 損失函數,最大化預測框與目標框之間的IOU 來優化預測框位置,即拉大兩框之間的重合面積,與評價預測框的指標函數相符合。但當預測框與目標框沒有重疊部分面積時,目標損失函數值為1,無法進行梯度回轉,且IOU 也不能完全反應兩個框的相交情況。于是,2019 年Rezatofighi H 等人提出廣義的交開比GIOU(Generalized Intersection over Union),它由兩部分組成損失函數,在最大化兩框相交面積的同時最小化兩框形成的最大框,去掉了兩框之間的面積,模型避免了當兩框不相交時梯度消失的問題。目前YOLO 系列算法已經更新至第5 代版本,第1 代到第4 代已經開源,很多深度學習框架都可以很好地實現YOLO系列算法。2021 年,鄒慧海等人提出改進網絡RFG_SSD 算法,提升了檢測精度和效率。

3)基于搜索的目標檢測算法,例如基于視覺注意的AttentionNet 和基于強化學習的算法。基于值函數的DRL 算法采用深度神經網絡對值函數或者動作值函數進行近似,通過時間差分(temporal difference,TD)學習或者Q 學習的方式分別對值函數或者動作值函數進行更新。2015 年,DeepMind 團隊在Nature 上發表了深度Q 網絡(deep Q-network,DQN) 的文章, 認為DRL可以實現類人水平的控制。2017 年,DeepMind 團隊根據深度學習和策略搜索的方法推出了AlphaGo。2019 年,DeepMind 團隊基于MADRL 推出AlphaStar 方法。可以看到,DRL 在封閉、靜態和確定性的環境(如圍棋、游戲等)下,可以達到甚至超越人類的決策水平。

2   小目標檢測使用的評價指標與常用數據集

2.1 評價指標

在小目標檢測實驗中,我們使用了要檢測目標的真實圖像數據作為本課題的實驗數據,實驗所用的數據集包含1 萬多張小目標檢測場景的真實圖像,而且具有與實際應用場景一致的詳細目標圖像的標注數據。對于幾種目標檢測算法,都以此數據集作為進行實驗的標準數據,比較不同的目標檢測算法在準確率、效率等性能指標上的異同。在準確度方面,實驗采用交并比方法評估各個算法的檢測結果。

2.2 常用數據集

為了進一步深入研究小目標應用場景,國內外學者公開發表了很多目標檢測應用領域的數據集。數據集在整個目標檢測領域的發展史中占有重要地位,而開發一些高級目標檢測算法的關鍵是具有足夠大,并且有專門的不同應用場景所需要的數據集,也是比較不同算法的評估基準。近十年來,目標檢測不同應用場景中也涌現出了很多著名的公開數據集,包括SUN、BDD100K、ImageNet 等。當應用區域檢測到很多小目標時,也提出了很多相關的數據集,例如特定區域的目標檢測,特別是航拍圖像中的目標檢測、遙感衛星圖像中的目標檢測等,相關的一些常用目標檢測應用場景的數據集對比如表1 所示。

3   結束語

實驗通過對幾種算法的對比研究,對基于改進的SSD 算法的小目標圖像的目標檢測方法進行評估。使用該算法與其他主流檢測方法在小目標檢測數據集上進行對比實驗,包括平均精度、速度以及小目標檢測個數。使用小目標檢測常用數據集提供的小目標圖像中的目標真實圖像數據作為本研究的實驗數據,同時,每個圖像中都有相應的詳細注釋數據。比較幾種不同的目標檢測算法,都以此數據集作為進行實驗的標準數據,比較不同的目標檢測算法在準確率、效率等性能指標上的異同。在準確度方面,實驗采用交并比方法評估各個算法的檢測結果,用交并比(IOU)計算公式計算。本文還以系統檢測精度、處理時間、檢測時間等指標作為評價目標檢測算法性能優劣的標準。

1635226785767809.png

參考文獻:

[1] 付若楠.基于深度學習的目標檢測研究[D].北京:北京交通大學,2017.

[2] 王震.基于深度學習的快速目標檢測技術研究[D].天津:天津理工大學,2017.

[3] 袁寶紅.基于視頻的運動目標檢測與跟蹤研究[D].合肥:安徽大學,2014.

[4] 張巍.水下圖像的目標檢測與定位研究[D].武漢:華中科技大學,2007.

[5] BENGIO Y.Deep learning of representations:Looking forward[C].SLSP 2013, Tarragona,(sp):1-37.

[6] 高志華.基于深度學習的CPU實時動物目標檢測[J].現代計算機,2017(31):3-9.

[7] 周曉彥,王珂,李凌燕.基于深度學習的目標檢測算法綜述[J].電子測量技術,2017(11):4-8.

[8] 張慧,王坤峰.深度學習在目標視覺檢測應用進展與展望[J].電子測量技術,2017,43(8):1289-1305.

[9] 陳江昀.一種基于深度學習的新型小目標檢測方法[J].計算機應用與軟件2017,34(10):227-231.

[10] 張芳慧.行車視頻中基于深度學習的目標檢測[D].北京:北京交通大學,2018.

[11] 張志豪.基于深度學習的目標檢測算法研究[D].成都:電子科技大學,2018.

[12] 史文麗.基于深度學習的目標檢測算法研究[D].大連:大連海事大學,2018.

(本文來源于《電子產品世界》雜志2021年10月期)



評論


技術專區

關閉
动漫日语台词