?

改進SSD算法的多目標檢測

2020-12-07 08:20馬原東羅子江倪照風吳鳳嬌孫收余楊秀璋
計算機工程與應用 2020年23期
關鍵詞:置信度卷積閾值

馬原東,羅子江 ,倪照風,徐 斌,吳鳳嬌,孫收余 ,楊秀璋

1.貴州財經大學 信息學院,貴陽 550025

2.北京盛開互動科技有限公司,北京 100089

1 引言

近年來,隨著計算機處理能力的提升和人工智能浪潮的推進,目標檢測在人們日常生活中扮演著越來越重要的角色。伴隨著目標檢測的迅速發展,各種算法也不斷更新,目前主要的檢測算法可分為三類:(1)傳統目標檢測算法。如Cascade[1]+HOG/DPM[2]+Haar/SVM[3],該類方法通過直接提取HOG/DPM特征,并送入已訓練好的分類器進行分類,該類算法檢測速度慢,檢測性能較低。(2)基于候選區域的目標檢測。該方法分兩步實現:①首先獲取每個像素點各自的特征,將兩個最為接近的特征組合,為避免邊界框之間的影響,設置不同閾值的檢測區域(Regions Of Interest,ROI)。 ② 采用SVM分類器和Logic函數計算損失,修正邊界,其中具有代表性的有 R-CNN[4]、Fast R-CNN[5]和 Faster R-CNN[6]等?;诤蜻x區域的檢測具有較高的精確度,但仍存在目標檢測速度較慢,計算量較大等問題。(3)基于端對端學習的目標檢測。該方法無需預先獲取候選框,直接采用卷積網絡提取圖像特征,網絡末端通過全連接層分別與分類損失和回歸損失連接,輸出對應類別概率和位置信息,速度相對較快,具有代表性的有SSD[7]、YOLO[8]和Retina-Net,其中 SSD 算法是 Liu W 等人在 ECCV2016上提出的一種全新檢測算法,該算法在前向傳播過程中提取不同尺度下的特征圖,生成預選框送入網絡,并通過反向傳播更新參數,兼具高速和高識別率。SSD算法在目標檢測[9-10]和目標分類[11-12]中應用同樣廣泛,其中,Li Haotian等人[13]提出一種基于特征金字塔融合SSD的小目標檢測算法,該算法通過特征金字塔結構將選定的多尺度特征層與尺度不變卷積層合并,提高小目標檢測效率,但存在SSD 網絡結構不統一、相對大目標檢測魯棒性不足等問題;Liu Yi等人[14]提出一種具有前后幀指導的多目標檢測算法,讓跨層的特征圖和網絡的側面輸出得到了充分利用,進一步提升目標檢測效率;陳幻杰[15]等人提出一種改進的多尺度卷積特征目標檢測方法,提高SSD模型對中目標和小目標的檢測精度。在多目標檢測環境下,現有的算法已經具有良好的檢測效果,但當檢測環境較為復雜時,仍存在較高的誤檢、漏檢率。本文針對現有的多目標檢測算法存在的不足以及SSD內部的網絡結構特點,提出一種改進SSD算法的多目標檢測,通過優化SSD內部網絡和提高訓練樣本適用性的方式改善檢測性能;其中,采用修改網絡輸出并結合SENet[16]網絡添加抗旋轉卷積層(Anti Rotation Convolution,ARConv)來統一網絡結構,加快模型收斂、減少漏檢;提出概率非極大值抑制算法(Probability-Non Maximum Suppression,P-NMS)和限制函數來優化訓練樣本,減少誤檢;測試階段提出單張圖片批量測試方法,有效提高模型召回率;在Caffe框架下實現該算法,實驗結果驗證了算法的有效性,相比傳統SSD 算法誤檢率、漏檢率明顯降低,模型魯棒性更強。

2 算法介紹

2.1 檢測算法性能比較

當前主流算法可分為One-stage 和Two-stage 兩類,并且兩類算法在檢測速度和檢測性能上有著極為明顯的差距,其中,Two-stage 檢測速度整體偏慢;在精確度上Two-stage優于YOLO,略低于SSD算法。SSD300在速度上比YOLO 快一倍,平均精確度(mean Average Precision,mAP)提高約15%,相比較于R-CNN 系列,速度提高7~2 000 倍,mAP 值提高約10%。具體對比結果如圖1 所示,SSD 算法整體效率明顯靠前,是目前應用較為廣泛的目標檢測算法。

圖1 不同檢測算法的性能比較

2.2 SSD網絡結構

SSD網絡結構如圖2所示,其中多分類單桿檢測器表明定位目標和分類任務是在網絡的一次前向傳遞中完成,同時表明 SSD 屬于 One-stage 算法;MultiBox[17-18]邊界框回歸技術表明SSD 采用多框預測方式實現目標檢測。

圖2 SSD網絡結構

SSD 輸入圖片尺寸為300×300,檢測框架主要由兩部分構成,第一部分為VGG-16[19](骨干網絡可自由選擇如:MobileNet、ResNet)多層卷積提取特征得到Conv4_3的特征圖,該特征圖屬性為38×38×512;第二部分為多尺度檢測網絡,用于對骨干網絡獲取的特征進行多尺度特征提取。圖2中SSD在經過VGG16網絡后繼續經過卷積分別生成19×19×1 024、10×10×512、5×5×256、3×3×256、1×1×256的特征圖,檢測時設置不同的寬高比生成候選框,囊括不同尺寸目標,為后期目標檢測和分類打下基礎。SSD 模型中特征提取采用逐層提取并抽象化的思想,運用傳統卷積手段提取特征,并結合NMS生成對應檢測框,雖然模型采用了不同卷積、不同尺度的特征數據進行目標檢測,但對于復雜場景變換、目標旋轉等情況下仍存在誤檢、漏檢率,本文在傳統SSD 架構的基礎上,采用ARConv卷積和P-NMS算法替代原有的操作,提升模型整體效率。

3 SSD優化

3.1 網絡優化

3.1.1 多輸入單輸出

為了便于網絡輸出,并且能夠實現與其他模型、框架的統一,本文將SSD 算法中的Multibox 層進行修改,使其支持多輸入單輸出模式。傳統的Multibox 獲取多個輸入,輸出兩個結果,并在同一層內對兩個輸出進行損失計算。具體公式如下:

式中,x表示單個候選框屬于預測類的概率值,范圍在{0,1}內,c表示置信度,l為預測框,g表示真實框,Lconf(x,c)、Lloc(x,l,g)分別為計算獲得的置信度損失值和定位損失值,α為拉格朗日乘子。傳統的SSD算法將獲取的多尺度特征送入Multibox層,并根據損失計算公式,輸出兩個對應的特征集合,分別送入對應的Lconf和Lloc損失公式,獲取最終值。該方法在算法設計上較為方便,但該網絡的設計與單輸出模型不同步,無法統一網絡結構,并且現有的深度學習框架,大多不支持類似多輸入多輸出模式。本文改進Multibox層,將多輸入多輸出方式修改為多輸入單輸出,即輸入多尺度特征值后輸出一個多維的特征集合,通過在Caffe 框架中添加slice 層(該層主要用于切分輸出數據)實現特征集合分類。slice 層根據輸入特征維度、正負檢測框屬性、標簽屬性、數量從輸出特征集合中為兩個損失函數分配不同的特征值,并獲取最終損失結果。算法思想如圖3 所示,(a)為傳統Multibox 層結構,(b)為改進后的多輸入單輸出模式,多尺度輸入數據經過Multibox層計算之后得到一個輸出集合,將輸出結果送入slice 層,根據輸入和標簽屬性分割所需數據。該方法能夠統一網絡結構,使訓練更清晰、流暢,并且讓網絡具有更強的可移植性,對不同的深度學習框架都有很好的適配效果。

圖3 多輸入單輸出結構

3.1.2 ARConv抗旋轉卷積

深度學習中常見的數據擴充方法包括鏡像、隨機裁剪、局部變形、原始圖像旋轉以及使用生成對抗網絡等。若大量采用此類數據擴充方式,易造成訓練集過大,訓練難度增強、訓練難收斂。本文在已有的數據擴充方法上提出一種新穎的抗旋轉卷積層ARConv,該層以全新的網絡層的方式出現在網絡模型中,能夠降低訓練后的模型對待測目標旋轉的敏感度。ARConv 采用特征旋轉的方式,將高層卷積提取的信息送進下一層或更深層的網絡中進行學習,在減少目標旋轉造成漏檢的同時,加快模型收斂。傳統的卷積層,主要用于特征的提取,公式如下:

圖4 ARConv結構

分支右側首先將所有特征圖做歸一化處理,并獲取單個批次中第i個特征圖內(1~m)個特征值組成的矩陣,與同樣歸一化處理后的i+1 個特征圖內積;度量公式如下:

式中引入相鄰特征圖余弦值,以為基準,采用內積的方式獲取向量間余弦值,并通過公式(4)求得第i+1個特征圖的旋轉角度。之后將當前位置的對應角度輸入旋轉層;當i=0 時,此時獲取的特征矩陣為保存的上一批次旋轉后的最后一個特征圖矩陣。不同角度的特征旋轉,可能會導致部分邊緣信息丟失;針對這一問題,分支左側引入單通道注意力機制,該機制可理解為從大量信息中有選擇地篩選出重要信息并聚焦,同時忽略大多數不重要信息;聚焦的過程體現在權重系數的計算上,權重越大表明該部分關注度越高。本文在訓練中為每個通道賦予不同的權重值以建模通道的重要程度,加強對重要特征提取能力,降低因邊緣信息丟失造成的特征提取不充分,如圖5所示。

圖5 通道注意力機制

文中借鑒SENet[16]網絡的通道注意力機制和ResNeXt[20]的卷積分組方法,提出更適合ARConv 的Split Attention 機制,圖5 中單個批次中總共含有M個特征圖,每個特征圖內包含m個通道,將特征圖連接后送入全局池化層,輸出對應通道全局特征,之后接r-Softmax 賦予各通道不同的權重以建模通道的重要程度。假設給定輸入特征圖Y∈Rh×w×c,將特征圖沿輸入通道維度分成M組,用xi∈Rh×w×c表示各個分組,i∈{1,M},其中每個xi含有m=c/M個通道。分組后的特征圖在框架中以特征向量xi=[a1,a2,…,am]形式存儲,其中每個通道am含有不同的特征響應,利用不同通道間的相互關系,采用全局平均池化聚合每個通道,映射生成對應通道的權重信息,其中權重的每個元素都由特征圖的空間維度h×w全局平均得到,公式如下:

式(5)中,Sc表示聚合后通道的輸出權值,在獲取單通道權值信息后加入BN 層(Batch Normalization,BN)調整輸出比例,并接PRelu 增加權重非線性信息,最后輸入r-Softmax 函數,將所有信息轉化為非負數并做歸一化,輸出各通道權值,其中⊕表示逐元素相加,?表示逐元素相乘。文中采用BN層和PRelu激活函數代替傳統注意力機制的兩個全連接層和Sigmoid 函數,降低Split Attention 帶來的參數量,接著連接r-Softmax 函數避免權重逐元素相乘時引入更多噪音信息干擾特征提取,然后再與輸入模塊進行跨通道整合讓淺層信息保留到深層網絡提升模型決策能力,輸出帶權值特征矩陣并結合角度信息旋轉特征。

(1)漏檢率分析。ARConv 層根據矩陣運算后輸出特征圖的大小、特征數據在網絡中的存儲方式、特征向量的變化角度等進行特征旋轉,并添加通道注意力機制,通過擬合多組權重向量來精細捕捉高層特征送入下一層卷積。通過不斷的學習使下一層卷積的輸入特征更具統一性,同時讓整個網絡的學習能力增強,訓練結果具備更強的魯棒性,同時降低因待測目標旋轉而造成的漏識別。實驗驗證及注意力權重可視化結果表明,通道注意力機制賦予各通道不同權重值信息,在兼顧粗特征提取基礎上能夠進一步提升待測目標各成分間重要性的區分度,從而有助于復雜環境下的多目標分類與提取。

(2)收斂性分析。添加ARConv層對淺層輸入特征進行對應角度的特征旋轉,使高層卷積獲取的特征值含有的旋轉屬性較少,學習難度降低,同時訓練集中旋轉樣本數量可適量減少;加入單通道注意力機制,推導并制定出一整套類別權重計算方法,各個類別權重作為參數量與r-softmax 損失函數共同參與訓練。類別權重信息的引入,可杜絕原始采樣所引入的隨機誤差,保證待測目標的固有屬性。實驗結果表明,該方法在改善目標特征提取不平衡問題的同時,加速了訓練階段模型整體的收斂速率。相同訓練環境下,添加ARConv層網絡的訓練集更少,收斂速度更快,有效縮短模型訓練時間。多目標檢測情況下,能夠有效解決訓練樣本不夠豐富造成的模型無法識別旋轉目標以及魯棒性不足的問題;同時還能增強模型學習能力降低漏檢率,加快模型收斂。

3.2 算法優化

3.2.1 正負樣本限制

在多人物檢測中,若單張圖片中存在多個目標,會導致檢測結果的正樣本框數量過多。傳統的SSD 算法只對負樣本的數量進行選擇,忽略了正樣本數量過多導致負樣本數量過少的情況,經過改進后的SSD算法通過在網絡配置文件中設置超參數,判斷是否需要對正樣本的數量進行限制,能夠解決由于正樣本過多而造成的誤識別情況。算法思想如下:根據網絡配置文件,確定正負樣本比例(本文設定為1∶3),并求出最大正樣本的數量,如式(6)所示:

式中,MPnum為最大正樣本數量,PBnum為先驗框總數,(1+3)取值根據配置文件中的正負樣本比例設置;判斷正樣本數量是否超出限制,若數量正常,直接進行下一步,若數量過多,隨機刪除部分正樣本數量(隨機刪除可保證樣本多樣性)刪除數量如下:

式中,Nnum表示負樣本數量,Pnum表示正樣本數量,Denum為需要刪除的正樣本數量。

3.2.2 P-NMS算法

多目標檢測中,生成待測框集合之后,如何提取最優框是衡量目標檢測性能的關鍵。目前多采用非極大值抑制[21](Non-Maximum Suppression,NMS)提取最優框,傳統NMS 算法無法排除個別非目標檢測區域出現單個誤檢框,因此本文提出P-NMS 算法對需要顯示的先驗框集合進行二次計算,用框的數量和概率來判斷該區域是否有檢測目標,從而達到降低誤檢率的目的。

傳統NMS算法步驟如下:(1)對所有檢測框集合進行降序排列,放入先驗框集合Confidence中。(2)按置信度從大到小遍歷所有檢測框,單個檢測框分別與剩余所有框進行交并比(Intersection-over-Union,IOU)[22]運算,如果IOU大于某個閾值,則在Confidence集合中刪除該框位置,并將最大概率框放入集合MaxConfidence 中。(3)集合MaxConfidence 保留該圖片所有框的坐標以及置信度,用于后續姿態分類。若存在單個檢測框誤檢情況,會導致Confidence 集合得分非常高,極易出現誤檢影響檢測整體性能。如圖6(a)表示傳統NMS處理之前效果,(b)表示NMS 處理之后效果,其中紅色表示該區域內置信度最高的框,綠色表示與紅色框交并比大于閾值的預測框。

圖6 傳統NMS性能圖

如圖6(b)所示,傳統NMS 檢測后會出現左上角窗戶位置的紅色誤檢框,并且類似情況在檢測中常有發生,傳統算法無法排除此類框,針對該問題,本文提出P-NMS算法,具體步驟如下:(1)首先對先驗框集合Confidence按置信度得分排序。(2)選取置信度較高的框,并與剩余框進行IOU計算,當IOU大于某個閾值,刪除該框,且在MaxConfidence 集合中對此計數。(3)MaxConfidence 集合保留目標檢測框坐標并對檢測框做數值統計(包括:每個目標IOU大于閾值的數量、大于IOU閾值的集合中置信度最高檢測框坐標以及該集合置信度得分總和)。(4)進行平均置信度求值,當該值大于設定的顯示閾值時,標定該框為最終目標位置,具體如式(10)和(11)所示:

式中,num表示該框與其他所有剩余框進行IOU 計算之后,IOU大于設定閾值的數量;MeanConfidence表示該集合內平均置信度,根據檢測情況選擇不同的計算模式(包括平均概率模式和最大概率模式,文中選擇最大概率模式)。P-NMS不僅考慮置信度的大小,同時考慮待測目標周圍檢測框數量。實際檢測中,不同目標、不同網絡、不同環境下,設定的閾值也不相同,閾值具體設計思路如下:(1)首先根據訓練結果統計檢測框的置信度得分,獲取得分最大值j和置信度眾數k確定閾值區間{k,j}。(2)統計單個目標平均生成檢測框數量a,在閾值區間內以0.1為間隔取不同的置信度值{c1,c2,…,cn}∈{k,j},求取對應閾值。(3)對閾值集合中的所有值分別進行檢測框閾值判定并統計誤檢率,選取誤檢率最低時對應的閾值c′n作為最終閾值。

改進后的置信度比較如圖7所示,將圖6(b)中處理后的誤檢情況和準確檢測框放大,其中圖7(a)為置信度得分為0.81的誤檢框,圖7(b)為置信度得分為0.83的正確檢測框,兩者得分很接近,難以通過閾值判定是否保留該框。由圖6(a)可知,圖7(a)位置只有一個預測框,圖7(b)周圍和該框IOU 大于閾值框數量有6 個,包括5個置信度較低的綠色框,1個置信度較高的紅色框。通過P-NMS公式計算兩張圖片的置信度分別為:

圖7 置信度比較

通過對比測試獲取此時的閾值為0.92,由此判定圖7(a)為誤檢框,并刪除該位置檢測框,框的數量越多,表明該區域出現目標的可能性越大,最終Confidence越高,結果越可靠。實驗結果表明,改進后的P-NMS算法能有效減少誤檢率。

3.3 測試優化

傳統檢測方法將單張待測圖片送入已訓練好的網絡模型獲取檢測結果;測試過程中往往由于圖像縮放造成待測圖片失真,從而導致檢測效率下降。本文根據SSD算法及數據集特點,提出分塊測試算法。設計思路如下:(1)設置測試所需的分塊的數量parts(根據原圖大小和圖像輸入大小設定,本文將原圖分為5 個parts)。(2)將分塊后圖片縮放到網絡輸入尺寸。(3)對分塊后存儲的數據進行循環讀取。(4)依次存入內存,并進行通道分離、歸一化操作。(5)批處理所有數據,分別輸出每個框的坐標集合。(6)將每個框的坐標反算到原圖的坐標得到相對于原圖的真實坐標。(7)使用P-NMS算法對所有框進行合并。

由于計算機硬件以及內存限制,SSD算法在進行目標檢測時,需要將原圖縮放至網絡輸入大小,在多目標情況下,縮小后的圖片極易造成失真導致檢測能力較弱,因此本文提出單張圖片批量檢測方法在一定程度上解決了小目標檢測難的問題,在耗費少量測試時間前提下顯著提高了召回率。

4 實驗

4.1 數據集介紹

本文采用常用數據集PASCAL VOC集與自建人物屬性數據集(主要涉及教室、商場等多人物環境)組成混合訓練集共同訓練,其中訓練集共874 523張,測試集共15 463張,涉及了各種姿態、光照、背景。數據集中人物包含各種表情、動作和遮擋,高度貼合現實環境中的場景識別。該數據集包含權威數據集PASCAL VOC,并在權威數據集中添加自建的多類別數據集,不僅保證數據集的廣泛性和權威性,同時也增加目標檢測的難度,讓實驗更具挑戰性。為保證檢測算法的魯棒性,文中采用圖像增強的方法對數據集進行擴充,包括模擬光照變化、灰度變換、模糊處理等。

4.2 實驗環境

實驗測試PC機環境:CPU選取Intel?Core?i7-4590,顯卡NVIDIA GTX 1080Ti,采用Visual Studio 2013,OpenCV2.4.8 和Caffe 框架實現改進型SSD 算法的多目標檢測。

4.3 檢測結果對比

4.3.1 定量分析

為了驗證本文所提出的基于改進SSD 算法的多目標算法性能,本文將從mAP 值、誤檢率、漏檢率和參數量進行對比實驗。AP 值衡量模型在每個類別上的好壞,具體公式如下:

式中,TP為預測為正的正樣本,FN為預測為負的正樣本,FP為預測為正的負樣本,mAP 值為所有類別的Precision平均值;浮點運算數用來量模型參數量。網絡主要采用原始SSD 300、傳統SSD 512與改進后的網絡對比,在實驗中確保各算法軟硬件環境的一致性,以及訓練集、測試集的統一。訓練參數如下:初始學習率0.001,權值衰減項為0.000 5,動量為0.9,批次為64,采用隨機梯度下降算法更新參數。

傳統模型與本文所提出模型在測試集中整體性能對比結果如表1所示,其中+ARConv表示僅添加本文所提卷積層,SSD…(ours)表示添加ARConv 及P-NMS 算法,表1中分別對SSD 300及SSD 512做優化前后的性能對比,從表1 中可以看出,雖然傳統SSD 300 和SSD 512 算法已經有較理想的準確率,且在PASCAL VOC測試集中mAP值分別達到77.3%和80.2%,但傳統算法漏檢率較高,這是由于網絡無法有效識別旋轉位置變換和復雜環境下的目標并且模型的特征提取能力有限,在加入ARConv卷積層后,此時算法增強對目標的識別能力,表中結果顯示SSD 300+ARConv 旋轉漏檢率降低0.47 個百分點,正面漏檢率降低0.11 個百分點,SSD 512+ARConv旋轉漏檢率降低0.48個百分點,正面漏檢率降低0.09 個百分點。實驗結果驗證了添加ARConv卷積能增強模型識別能力降低漏檢,其中ARConv旋轉機制增強旋轉目標檢測力,注意力機制增強算法正面目標檢測力。在模型性能方面,僅添加ARConv后該算法的mAP 值已超越傳統算法,表明對不同通道賦予不同的權值能夠輔助提升模型對目標的表征能力提高模型檢測準確性,從而進一步影響下游相關特征提取效果;此外,實驗過程中發現帶類別權重的注意力機制在保證模型性能的同時加速了訓練過程的收斂速率。實際多人物測試環境下,通道注意力機制對待測目標復雜環境中的信息具有較強的學習和捕捉能力,使得模型對多目標檢測有更好的表征性能,而在此基礎上引入帶權學習的損失函數可進一步提升模型在訓練階段的擬合能力,從而提高目標檢測效率、加快收斂。

表1 優化對比結果

添加ARConv 卷積后帶來漏檢率降低的同時也引入更多誤檢框,模型分類難度增加,網絡誤檢率略有提高,此時添加P-NMS算法調整邊界框置信度判定方式,SSD 300(ours)相比SSD 300+ARConv誤檢率有明顯降低,與傳統SSD 300 相比誤檢率下降0.19 個百分點,此時模型達到誤檢率與漏檢率的平衡,SSD 512(ours)優化后模型誤檢率同樣有所降低;在參數量方面,采用ARConv 卷積后 SSD 300 和 SSD 512 算法參數量整體低于傳統SSD算法,在提取圖像特征過程中運算量降低,能有效提升算法的運算速度,增強實時性;相比傳統的SSD 300 和SSD 512 本文所提的算法SSD 300(ours)、SSD 512(ours)mAP值分別提升2.4個百分點和1.9個百分點。通過實驗結果可知,特征信息能夠在ARConv機制的作用下得到更好的捕捉和表達;待測框能夠在PNMS 算法下得到更好的篩查和過濾;實驗結果驗證了同時驗證了添加ARConv 卷積以及P-NMS 算法能實現提升模型整體性能的設計目標。

實驗對比結果如圖8所示,輸入教室多人物視角下的待測圖片,將傳統SSD 300 與優化后的SSD 300 做對比測試,網絡輸入是300×300,原始輸入圖片大小為1 920×1 080,圖8(a)中顯示傳統SSD 300 檢測過程中出現大量漏檢情況,部分人臉無法識別檢測效率較低;改進后添加ARConv 卷積以及P-NMS 算法的SSD 300檢測效率明顯提升,誤檢情況也得到有效改善,對歪頭、側臉等難以識別的人臉區域都有較高的檢測率,相較于傳統SSD 300,優化后模型檢測效率明顯提升。

圖8 檢測算法對比

4.3.2 定性測試

在定性對比實驗中,同樣使用mAP 指標來衡量網絡性能,選取SPP-net BB(ZF5)[23]、Fast R-CNN[24]、YOLO[8]、YOLOv2 228、SSD 300、SSD 512與改進后的SSD 300、SSD 512算法進行比較,表2顯示了各算法在相同環境下的性能。從表中結果能夠發現,改進后的SSD 300(ours)迭代85 輪后達到收斂,迭代次數最少、收斂性較強,優化后的 SSD 512(ours)算法相比SSD 512 收斂性同樣增強,這一驗證結果表明本文所提算法能加速模型收斂速率,其原因在于各通道總體損失的貢獻得到平衡,因此一定程度上縮小了模型參數收斂空間,從而提升模型收斂速率。與其他測試算法對比,優化后SSD 300(ours)在較少的迭代時間內具有更高的mAP值,實際檢測速度達62 f/s,與相同領域的YOLO 算法相比在減少15 輪迭代的同時,檢測速度增加接近3 倍,mAP 值提升13.2 個百分點;與性能更為突出的YOLOv2 228 相比,檢測速度幾乎持平,但收斂更快,mAP值提升10.7個百分點;優化后的SSD 512(ours)算法由于網絡限制,相比SSD 300收斂性略有下降,仍能達到對比算法的平均迭代水平,與YOLO 算法相比收斂性幾乎持平,但誤檢率下降近一半,mAP值提升15.6個百分點;與Two-stage領域的Fast R-CNN 算法相比,檢測速度提升近4 倍,mAP 高出 15.2 個百分點。SSD 300(ours)相較于傳統SSD 300 改進后的算法在較少的迭代次數下具有理想的檢測性能、收斂性更強,其中誤檢率降低0.19 個百分點,檢測速度提升 16 f/s,mAP 提升 2.4 個百分點;SSD 512(ours)相比傳統 SSD 512,在檢測速度、誤檢率、mAP值上同樣實現較為可觀的性能提升,誤檢率、mAP值在所有模型中達到最優,但相比優化后的SSD 300檢測速度和收斂性較弱,其原因在于SSD 512網絡模型更大,參數量更多,導致訓練難度增強。結合表2 的對比結果可知,優化后的SSD 算法增加大量候選檢測窗口、提升目標檢測精度,對不同角度、不同環境的待測目標檢測效果都有提升;對比所有算法,優化后SSD 300 訓練難度低、收斂性較強,同時具有理想的mAP 值,在所有算法中整體性能最優;優化后SSD 512由于網絡結構的限制,收斂性和檢測速度低于SSD 300,但mAP值達到最優、具有更低的誤檢、漏檢率,實際檢測性能較強。實驗結果驗證了改進后的SSD 算法能夠降低模型訓練時間,增強網絡收斂性,有效降低誤檢、漏檢率,整個模型具有更理想的檢測效果。

表2 各類檢測算法性能對比

5 結束語

本文基于原有SSD 算法在實際使用中存在的問題進行改進,使算法的網絡結構更為統一、高效,同時在多目標檢測中具有更高的召回率和更低的誤檢率,具體優化如下:

(1)多輸入單輸出。為了增強算法移植性,本文將算法的多輸入多輸出,設計為類似于C語言的多輸入單輸出模式,使模型整體結構更統一。

(2)ARConv。添加ARConv 能夠有效解決訓練樣本不夠豐富造成的漏檢現象,并加快模型收斂。

(3)正負樣本限制。面對SSD 算法生成的正樣本較多導致誤識別增多,在樣本生成過程中對正樣本增加限制。

(4)P-NMS 算法。采用多框合并的方式對先驗框進行二次計算,用框的數量和概率來判斷該區域是否存在待測目標降低誤檢率。

(5)單張圖片批量檢測。將單張測試圖片分塊處理,組合成同一批次輸入訓練后的網絡,并行運算。

實驗結果驗證了本文算法的有效性,相比以往的目標檢測算法,效率明顯提升;與傳統SSD算法比較,能夠在較少的迭代時間內,實現更高的mAP值,并且誤檢率明顯降低,魯棒性更強。

猜你喜歡
置信度卷積閾值
一種基于定位置信度預測的二階段目標檢測方法
硼鋁復合材料硼含量置信度臨界安全分析研究
基于3D-Winograd的快速卷積算法設計及FPGA實現
系統可靠性評估與更新方法
卷積神經網絡的分析與設計
小波閾值去噪在深小孔鉆削聲發射信號處理中的應用
從濾波器理解卷積
基于CS-TWR的動態閾值貪婪算法成像研究
基于自適應閾值和連通域的隧道裂縫提取
正負關聯規則兩級置信度閾值設置方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合