來源:《電子學報》,作者侯慶山等
摘 要:?鑒于Single Shot Multibox Detector (SSD)算法對中小目標檢測時會出現漏檢甚至錯檢的情況,提出一種改進的SSD目標檢測算法,以提高中小目標檢測的準確性.運用Gradient-weighted Class Activation Mapping (Grad-CAM)技術對檢測過程中的細節作可視化處理,并以類激活圖的形式呈現各檢測層細節,分析各檢測層的類激活圖發現SSD算法中待檢測目標的錯檢以及中小目標的漏檢現象與回歸損失函數相關.據此,采用Kullback-Leibler (KL)邊框回歸損失策略,利用Non Maximum Suppression (NMS)算法輸出最終預測框.實驗結果表明,改進算法相較于已有檢測算法具有更高的準確率以及穩定性.
關鍵詞:?目標檢測;可視化;類激活圖;Grad-CAM;SSD;KL損失
1 引言
目標檢測技術的不斷完善和發展,引起智能化交通系統[1]、智能監控系統[2]、軍事目標檢測[3]及醫學導航手術中手術器械定位[4]等領域的廣泛關注,是計算機視覺領域的核心技術之一.在國內外相關研究機構的努力下,高效的目標檢測算法如雨后春筍般層出不窮,如基于單階段過程的You Only Look Once (YOLO)算法[5]、SSD算法[6]、基于雙階段過程的Region with CNN features (R-CNN)算法[7]等.
針對SSD算法在中小目標檢測中漏檢甚至錯檢的問題,Wen,Zhan[8]等人改進原SSD算法的激活函數,并引入Atrous濾波器.Wu[9]等人在傳統的SSD檢測算法中加入轉置卷積結構,將低分辨率、高語義與高分辨率、低語義的輸出特征圖進行融合.針對圖像中某些待檢測目標被遮擋的情況,Xing[10]等人根據檢測目標的分布規律調整了輸出特征層的縮放系數,一定程度上解決了漏檢問題.Tang[11]等人提出了多視窗的方法,但由于該方法存在目標被拆分檢測等問題,使得其準確性及穩定性受到影響.針對SSD模型的低特征層,Chen[12]等人采用區域放大提取的方法提升了算法的中小目標檢測能力.Fu[13]等人提出Deconvolutional Single Shot Detector (DSSD)模型,但其網絡結構也隨之變得更復雜,導致模型的檢測實時性下降.Jeong?[14]等人提出的Rainbow Single Shot Multibox Detector (RSSD)模型改進了特征融合的方式,對各輸出層特征更加充分的利用,提升算法對中小目標的檢測效果.Li[15]等人通過特征融合與下采樣的方法獲取更多輸出特征層細節信息,從而提出Feature fusion Single Shot multibox Detector (FSSD)目標檢測模型.
為了方便對SSD算法在中小目標檢測方面性能的提高,本文引入可視化技術[16]對原算法的檢測過程進行分析,優化了原算法的損失函數.改進后的檢測算法對中小目標的檢測能力更強,總體檢測效果更好,并且目標漏檢、錯檢問題也得到相應改善.
2 相關研究
2.1 SSD模型
SSD算法使用多尺度特征層進行目標檢測,是一種直接預測目標類別和邊界框的多目標檢測算法.與雙階段過程的目標檢測算法相比SSD算法將所有計算在單階段過程中進行,沒有候選框區域的生成和后續特征重采樣階段的過程,提升了SSD算法的檢測速度.該算法以Visual Geometry Group 16 (VGG-16)[17]為基礎網絡,中上部分采用采樣金字塔結構[18],將最后兩個全連接層替換為卷積層,并在其后增加四個卷積層.
2.2 KL損失函數
現有的目標檢測算法在大規模數據集上進行某些邊界框標定時存在歧義.KL損失[19]針對邊界框的移動與位置間的方差進行學習,在同等計算量下提升不同結構定位的準確率.KL邊界框回歸損失可以獲取到數據集中的模糊,從而降低預測邊界框的回歸損失.
基于對Faster R-CNN[20],Mask R-CNN[21]檢測網絡的認知,KL損失將原本的回歸框參數由(x,y,w,h)替換為(x1,y1,x2,y2),這樣便于在每個維度上單獨優化,預測邊界框與真實邊界框的偏差可由式(1)表達.
(1)
(x1,y1,x2,y2)表示預測邊界框左上角和右下角的坐標,
表示真實邊界框左上角以及右下角的坐標.(x1a,x2a,y1a,y2a,wa,ha)是由真實邊界框聚類產生的錨框.
KL損失重點評估位置的置信度,在預測位置的同時給出置信度.假設坐標間互相獨立并使用單變量高斯模型,將邊界框坐標表示為x,單獨對每個坐標進行獨立優化,可由式(2)表達.
(2)
式(2)中Θ表示一組要學習的參數,xe表示預測邊界框的位置,xe∈(x1,y1,x2,y2),σ表示位置估計的置信度.
真實邊界框也可以表示為σ→0的高斯分布,如式(3)所示.式(3)中的xg表示真實邊界框的位置.
PD(x)=δ(x-xg)
(3)
選取N個樣本,將這些樣本的預測邊界框分布PΘ(x)和真實邊界框分布PD(x)之間的誤差最小化,進而對
進行評估,獲取位置定位的目標,可由式(4)表達.
(4)
基于KL損失的檢測算法中,邊界框回歸的損失函數采用KL損失,對于單個樣本的邊界框回歸損失由式(5)定義.
Lreg=DKL(PD(x)‖PΘ(x))
(5)
xe表示預測邊界框的位置,當預測邊界框的坐標位置不準確時,網絡通過預測更大的方差σ2,使回歸損失降低,由于式(5)中的后兩部分與參數Θ無關,得式(6).
(6)
當σ=1時,損失變為歐氏距離,如式(7).
(7)
對式(6)中預測邊界框的位置估計和定位標準偏差σ分別求偏導,如式(8)、(9)所示.
(8)
(9)
為了防止在訓練開始時發生梯度爆炸,令α=log(σ2),在進行測試時,將α重新變回為σ,變換后的損失可由式(10)表達.
(10)
用隨機高斯分布對全連接層初始化,KL損失在開始訓練時類似于smooth?L1損失,當│xg-xe│>1時,損失可定義為式(11).
(11)
2.3 類激活圖
為解決卷積神經網絡模型中的不可見問題,通過Grad-CAM技術[22]可將網絡模型對輸入圖像中感興趣的區域表示出來,將網絡模型可視化,直觀的表達了算法得出分類結果的原因.在Grad-CAM技術中,利用類別輸出結果對卷積層的輸出特征圖求導獲取特征激活圖,由式(12)計算得到權重值
將
與特征圖累加得到可視化結果,權重
說明了類別c對特征映射的重要度.
(12)
通過ReLU函數除去特征圖上負值對分類結果的影響,最終的分類任務由式(13)、(14)表達.
(13)
(14)
3 改進框架設計
3.1 SSD檢測算法的可視化
Grad_CAM技術根據輸入圖像中各目標的類別標簽判別目標區域.將該技術運用到SSD檢測算法,使該算法的執行過程可視化,針對用于目標檢測的各卷積層,對這些層的特征輸出層進行分析,構建各檢測層的類激活圖.
SSD檢測算法的可視化,能夠更好的理解網絡的目標檢測過程,通過分析類激活圖,得出中小目標檢測不準確或漏檢的原因,針對該原因做出相應的改進策略,提高檢測效率.SSD 300目標檢測算法的可視化過程如圖1所示.
3.2 基于KL損失的SSD算法
3.2.1 默認框設定
檢測算法沿用了原SSD算法中默認框的設定方法,針對多個目標檢測層的輸出特征圖進行設定,對于特征圖中的每個像素點生成大小不同的兩個正方形及多個長方形默認框.比例值ar的數目決定了特征輸出圖中某一像素點下默認框的數目,默認框的大小取決于Sk值的設定,默認框的長和寬可由式(15)、(16)進行表達.
(15)
其中m為特征圖的個數,Smin=0.2 ,Smax=0.9.
(16)
其中默認框長寬比ar∈(1,2,3,1/2,1/3),另外設置一個
的默認框.默認框中心點的位置可由式(17)計算.
(17)
其中│fk│為第k個特征圖的大小,i,j∈[0,│fk│].
3.2.2 正負樣本標定
利用檢測算法對輸入圖像中的目標進行檢測時,需要對默認邊界框進行類別標定.通過IoU值進行匹配,IoU值由式(18)定義.對于每一個待檢測目標的真實邊界框,對應默認邊界框的匹配規則如下:設定IoU的閾值為0.5,當默認邊界框與真實邊界框的IoU值大于0.5時,將此默認邊界框標定為正例樣本,否則標定為負例樣本.
(18)
其中Areadb,Areagt分別表示默認邊界框與真實邊界框的面積.
3.2.3 損失策略
改進的SSD目標檢測算法的訓練損失由目標分類損失和預測邊界框的回歸損失兩部分組成,改進算法訓練損失可由式(19)表達.
(19)
式中N為正例樣本數,α表示用于控制分類損失和回歸損失的比重.
目標分類損失采用交叉熵損失[23],損失由式(20)表達.
(20)
表示的是第i個默認邊界框與第j個真實邊界框關于目標類別p是否匹配,當
時不匹配,
時匹配.
預測邊界框的回歸損失采用KL損失,回歸損失由式(21)定義.
(21)
式中p,g分別表示預測邊界框和真實邊界框與默認邊界框之間的偏移量,在邊界框的回歸損失中,通常期望p和g差距較小.
對經過NMS算法處理后所選中的邊界框位置投票,選擇最大得分邊界框M{x1,y1,x2,y2,s,σx1,σy1,σx2,σy2},根據自身和相鄰邊界框的參數更新坐標位置,鄰近邊界框權重值Pi和新坐標的計算式由式(22)定義.
pi=e-(1-IoU(bi,b))2/σt
?
(22)
式中σt表示變量投票表決時的可調參數.
4 圖像數據預處理
為增強檢測算法的通用性和穩定性,采取數據增廣的方法對數據預處理.通常將圖像目標區域分割掩碼中像素數量小于1024的目標定義為小目標,大于1024且小于9216的目標定義為中等目標.為此,針對改進的SSD算法制定如下數據增廣規則:
(a)對原始的輸入圖像進行隨機位置的采樣,采樣圖像與原始圖像的比例取1/64、1/32、1/16、1/8、1/4、1/2、1.
(b)對采樣圖像以一定的概率作翻轉和裁剪處理.
(c)對采樣圖像以一定的概率添加色彩變換.
與原SSD算法的采樣比例相比,更小的采樣比例可以使得由隨機采樣得到的小目標經過圖像尺寸恢復后被更明顯的表示出來.
5 實驗設計
5.1 實驗數據集說明
以PASCAL VOC和MS COCO 2017三種數據集為基礎,設計相關實驗數據集,數據集的說明如下:
選取MS COCO數據集中的30類目標作為檢測類別.分別從MS COCO和PASCAL VOC數據集的訓練集中選取3000張和2000張帶有檢測類別的圖像,將選取的5000張圖像作為訓練集;從MS COCO數據集的驗證集中選取1000張圖像作為驗證集,用于調控模型的超參數,監測過擬合現象;分別從MS COCO和PASCAL VOC數據集的測試集中選取800張圖像作為檢測算法的測試集.
5.2 實驗相關過程描述
基于設計好的實驗數據集,對改進的SSD目標檢測算法進行訓練測試.改進的SSD目標檢測算法采用了隨機梯度下降的方法,對改進算法的初始學習率、動量、權重大小、批量等參數進行設定.檢測算法在訓練數據時將初始學習率設定為0.001,對訓練集中的圖像進行30000次的迭代訓練;進一步將學習率設定為0.0001,對訓練集中的圖像進行10000次的迭代訓練;最后將學習率下降至0.00005,對訓練集中的圖像進行10000次的迭代訓練.此外,設置IoU閾值為0.5,利用驗證集對超參數進行調節,監測過擬合現象.
利用測試集對訓練好的改進目標檢測算法進行測試,與原算法的mPA及fps值作對比,體現改進檢測算法的優勢,驗證算法改進的合理性和有效性.
5.3 實驗結果分析
5.3.1 各檢測層結果對比
檢測算法的低檢測層對小目標特征進行提取,對原SSD目標檢測算法中各檢測層的檢測效果進行測試,與原檢測算法相比,改進算法對小目標檢測的準確度明顯提升,檢測精度提升約12%.計算原算法和改進算法各檢測層的mPA值和fps值,如表1所示.
表1 目標檢測算法各檢測層mPA值和fps值對比
由表1數據可知,改進后的低特征層對小目標的檢測效果提升明顯,能夠收集到更豐富的語義信息.通過fps值的對比,改進后的SSD目標檢測算法保持了良好的檢測實時性,SSD算法得到明顯改進.
5.3.2 SSD相關改進算法對比
對現有的一些SSD改進算法在相關數據集上訓練和預測, 將訓練和預測結果與改進的SSD 300目標檢測算法做對比,對比結果如表2所示。
分析表2可知,與選取的SSD改進算法相比,本文提出的改進算法檢測精度有較明顯的提高,算法的檢測實時性得到較好保持.
表2 SSD相關改進算法mPA和fps對比
5.3.3 常見目標檢測算法框架對比
對現有的一些目標檢測算法在實驗設計數據集上訓練和預測,將訓練和預測結果與改進的SSD目標檢測算法做對比,對比結果如表3所示.
將改進算法訓練過程的mPA值與YOLO、YOLOv2算法訓練過程的mPA值對比,對比結果如圖2所示.另外選取基于兩階段過程的Fast R-CNN、Faster R-CNN算法,訓練過程的mPA值對比結果如圖3所示.
對比改進算法與原SSD算法訓練過程的mPA值,對比結果如圖4所示.
與現有的目標檢測算法對比,改進后的SSD目標檢測算法檢測精度有較明顯的提高,算法的檢測實時性較好.一方面,對原SSD目標檢測算法的損失策略進行改進,進一步縮小了檢測算法訓練時的損失;另一方面,針對圖像中的中小目標做出相應的圖像增廣策略,
表3 目標檢測算法mPA和fps對比
使得檢測算法對中小目標特征的收集更加全面,提高了對輸入圖像上中小目標的檢測精度.
5.3.4 效果圖對比
將改進算法的檢測效果圖與原算法的檢測效果圖進行對比,對比效果圖如圖5、6所示.改進后的SSD目標檢測算法對輸入圖像中的中小目標能夠更加精準的檢測和分類,對由于遮擋現象造成的目標漏檢問題有良好改善.在復雜場景中,與原SSD檢測算法相比,改進的SSD目標檢測算法能夠檢測到更多的目標;在簡單場景中,改進算法對待檢測目標類型的判別更加精確,目標的正確分類得分更高。此外,在處理模糊場景及小目標場景時,改進算法能夠檢測到更多的模糊目標與小目標。
6 結束語
改進的SSD目標檢測算法提高了原SSD目標檢測算法的穩定性和準確率,改善了在遮擋情況下造成的目標錯檢現象,對中小目標的檢測效果有明顯的提升.改進算法的貢獻主要體現在以下方面:
(1)對SSD目標檢測算法進行可視化,分析SSD目標檢測算法的檢測過程.
(2)針對原算法的不足,改進了輸入圖像的增廣策略.
(3)基于對可視化結果的分析,優化了傳統SSD目標檢測算法的邊界框回歸損失.
(4)利用改進的NMS算法輸出目標的預測邊界框.
審核編輯:符乾江
評論
查看更多