謝 兄,楊金鵬
大連海事大學 信息科學技術學院,遼寧 大連116026
目標檢測是找出特定場景圖像中所有感興趣的目標并確定目標的特征信息,包括目標的位置、目標置信度評分以及目標所屬的類別。
基于滑動窗的目標檢測算法是計算機視覺研究的經典檢測方法[1-2]。隨著卷積神經網絡(Convolutional Neural Networks,CNN)的廣泛應用,兩階段(two-stage)目標檢測算法成為計算機視覺研究的主要方法之一。Girshick 等人提出一種兩階段目標檢測的R-CNN 算法[3],R-CNN 算法的不足之處是算法包含重復計算,容易丟失圖像信息等。為解決R-CNN算法的不足,He等人提出SPP-Net[4]算法,Girshick 等人提出Fast R-CNN[5]算法,雖然這些算法應用金字塔池化思想,但由于采用Selective Search方法提取候選框,因而算法復雜、耗時。Ren等人提出的Faster R-CNN[6]算法、He等人提出的Mask R-CNN[7]算法應用RPN(Region Proposal Network)而不是Selective Search方法提取候選框,幾乎將候選框的計算成本降為0。
雖然兩階段目標檢測算法檢測精度較高,但檢測速度通常不能滿足實時性的要求。因此單階段(one-stage)目標檢測算法又重新引起人們的重視。單階段目標檢測算法兼顧目標檢測的精度和實時性的要求。其中YOLO算法[8-10]和SSD算法[11-13]跳過RPN過程,直接應用CNN 對圖像進行回歸,預測目標類別和邊界框信息。相比于兩階段目標檢測算法,單階段目標檢測算法檢測精度相對較低,為提高單階段目標檢測算法的檢測精度,Lin等人提出RetinaNet算法,通過引入Focal Loss解決前景、背景不平衡問題[14]。徐誠極等人提出一種改進的引入注意力機制的YOLO檢測算法(Attention-YOLO)。Attention-YOLO借鑒項的注意力機制,同時添加二階項以減少融合過程中的信息損失[15]。溫捷文等人將批再規(guī)范化處理引入YOLO 中,移除Dropout 層并增大網絡訓練的學習率以提高檢測精度和速度[16]。
由于邊界框坐標定位存在不確定性,如果在預測邊界框坐標時不考慮定位置信度,目標檢測算法有可能給出邊界框坐標錯誤的檢測結果。目前,人們已經開始嘗試在深度學習算法中兼顧預測不確定性。Kendall等人提出一種偶然不確定性和認知不確定性相結合的貝葉斯深度神經網絡,以考慮不確定性的影響[17]。Feng等人將這一思想推廣應用于3D目標檢測領域[18-19]。He等人提出考慮邊界框坐標定位不確定性的Softer-NMS 算法[20],通過與狄拉克函數進行擬合,深度神經網絡可以同時學習邊界框坐標和定位置信度。Choi 等人提出Gaussian YOLOv3 算法以預測邊界框坐標定位不確定性[21],但由于直接將高斯概率密度值的NLL(Negative Log-Likelihood)值作為邊界框損失,在訓練的中后期會導致一些邊界框的損失為負值,進而影響模型的穩(wěn)定性。
本文在YOLOv3[10]算法的基礎上,應用深度學習中的不確定性思想[17-24],提出一種考慮邊界框定位不確定性的YOLO-wLU算法。該算法使用Softer-NMS[20]和Gaussian YOLOv3算法[21]中的建模方式:使用高斯分布函數建立邊界框坐標模型;每個坐標高斯分布方差代表對應坐標定位不確定性:坐標高斯分布方差越大則對應坐標定位不確定性越高;定位不確定性大小也說明定位置信度大小,定位不確定性越高則定位置信度越低。同時通過重新設計的邊界框損失函數,網絡能夠學習獲得更多的可判別性特征。此外在檢測過程中設計新的目標綜合評分規(guī)則,移除定位不確定性相對較大的檢測結果,并通過融合周圍邊界框坐標使得檢測結果更加準確。實驗結果表明,在不過多增加計算量和網絡參數量的前提下,YOLO-wLU 算法的性能相較于YOLOv3 算法有一定的提升。
深度學習算法具有強大的學習能力,能夠將高維空間的數據映射為低維數組。這些映射結果常被盲目采用,并被認為是正確的,但事實并不總是如此,其結果的正確性存在不確定性。此外,大多數深度學習算法雖然能獲得某一具體的學習結果,但不能給出這個結果的不確定性有多大。不確定性指的是觀測中的固有噪聲或模型中的不確定性。計算機視覺中的不確定性量化主要分為回歸和分類兩大類,而現有的不確定性分析、計算方法則有粒子濾波法[22]和條件隨機場法[23]等。深度學習算法很難量化不確定性,如在分類問題中,深度學習算法給出歸一化的得分值,而這些得分值并不能捕獲所輸出結果的不確定性。不確定性可以用貝葉斯深度學習算法捕獲[24],基于貝葉斯的深度學習算法可以在擁有深度學習高性能的同時計算出模型的不確定性。
貝葉斯深度學習算法通過其參數以概率分布的形式提供不確定性估計,即貝葉斯深度學習算法認為每一個權重和偏置都是一個概率分布,而不是一個確定的值,訓練的目的就是得到權重和偏置的概率分布,這樣訓練出的網絡不是一個函數,而是一個函數的概率分布,通過這個概率分布,可以得到結果的置信度。因為貝葉斯深度學習算法的權重和偏置都是概率分布,所以前向傳播進行參數估計時需要對參數進行多次采樣,這樣將增加參數的采樣數并增加計算量。Softer-NMS、Gaussian YOLOv3 等算法將貝葉斯深度學習算法中的不確定性思想應用于目標檢測,由于只是預測邊界框坐標的概率分布,所增加的參數量和計算量并不是很大。
YOLOv3將檢測問題轉化為回歸問題,將分類和定位集成在一個步驟中完成,因此YOLOv3一次推理可同時檢測多個目標。同時,YOLOv3采用殘差網絡(ResNet)結構[25],形成了更深的網絡層次,同時應用多尺度檢測,提升了微小物體的檢測效果。
1.2.1 YOLOv3網絡結構
YOLOv3網絡移除池化層和全連接層,在前向傳播過程中通過改變卷積核的步長實現張量的尺寸變換。如圖1所示,YOLOv3網絡采用去除全連接層的DarkNet-53作為主干網絡,在DarkNet-53中,CBL(CNN_BN_Leaky)為YOLOv3 的基本組件,由CNN 層、批量歸一化(Batch Normalization,BN)層、Leaky ReLU(Rectified Linear Unit)激活函數組成,BN 層有提高模型的收斂速度和正則化的功能,Leaky ReLU激活函數可以避免梯度消失問題;Resz表示該模塊含有z個Res1單元,每個Res1類似ResNet結構,由兩個CBL 組件和一個跳躍連接組成。為提高算法對微小目標的檢測精度,YOLOv3 采用類似FPN(Feature Pyramid Networks)的上采樣(Up-sample)和融合(Concatenation)策略,采用多尺度檢測不同大小的目標,輸入圖像經過YOLOv3網絡得到3個尺度的輸出特征圖,分別為Output1、Output2和Output3。
圖1 YOLOv3網絡結構Fig.1 YOLOv3 network structure
1.2.2 檢測過程
YOLOv3基于回歸的方法檢測目標,是一種端到端的過程。對于每一尺度,YOLOv3將圖片分為W×H個單元格(W是橫向單元格的個數,H是縱向單元格的個數)。例如圖2中圖片的W為11,H為5,共有11×5=55個單元格。YOLOv3采用錨框機制,為每一尺度設置3 個預定義不同寬高的錨框,每個單元格分別對3 個錨框進行回歸分析,得到3 個不同的Box,分別為Box1、Box2 和Box3,共得到W×H×3 個Box。每個Boxijk(i∈[1,W],j∈[1,H],k∈[1,3])的結構如圖2中F1 所示,包括三部分,分別是預測的邊界框坐標分別代表目標中心點坐標相對于當前單元格左上角x、y軸的偏移,分別代表目標寬、高相對于第k個錨框寬、高的偏移)、目標置信度評分(Pobjijk)、類別評分(P1ijk,P2ijk,…,Pcijk),c為類別個數。為方便描述,此處及下文中上標或下標ijk代表第i列第j行單元格的第k個Box。計算每個Boxijk邊界框的左上角(x1ijk,y1ijk)、右下角(x2ijk,y2ijk)坐標,并計算每個Boxijk的目標綜合評分scoreijk,計算式為:
圖2 YOLOv3輸出特征圖Fig.2 YOLOv3 output feature map
其中,sigmoid(u)表示將任意數值u歸一化到(0,1)之間:
然后根據設定的目標綜合評分閾值,移除目標綜合評分低于閾值的Box。最后應用非極大值抑制(Non-Maximum Suppression,NMS)算法[26]移除冗余的Box,剩下的Box即為最終的檢測結果。
YOLOv3 在檢測過程中基于目標置信度評分和類別評分的乘積,設置一定的目標綜合評分閾值篩選檢測結果。顯然YOLOv3 并沒有考慮邊界框坐標定位的不確定性,即邊界框坐標定位置信度大小。因為YOLOv3預測的邊界框坐標不是評分值,而目標置信度評分和類別評分又不能反映邊界框坐標預測結果的可靠性,所以YOLOv3算法不能給出邊界框坐標的定位不確定性。
為評估邊界框坐標定位的不確定性,需要YOLO-wLU算法能夠預測邊界框坐標的概率分布而不僅僅只是邊界框坐標。本文使用Softer-NMS[20]和Gaussian YOLOv3算法[21]的建模方式:采用高斯分布函數對邊界框坐標進行建模,即預測代表邊界框坐標的高斯分布均值和代表坐標定位不確定性的高斯分布方差。采用高斯分布函數對邊界框坐標進行建模后的輸出特征圖中每個Boxijk的結構如圖3 中F2 所示,邊界框坐標高斯分布參數為對其處理如下:
圖3 YOLO-wLU輸出特征圖Fig.3 YOLO-wLU output feature map
邊界框坐標預測函數的高斯概率密度分布為:
基于式(11)對每個邊界框坐標分量(坐標分量為μ,坐標分量的高斯分布方差為σ2)進行預測,得到坐標分量取值為α時的概率密度。將每個邊界框4 個坐標分量的(對應的高斯分布方差分別為分別代入式(11),得到4 個坐標分量的概率分布。由高斯分布的性質:高斯分布的方差衡量隨機變量關于均值的偏離程度,方差越小說明分布越集中在均值附近,方差越大說明分布越分散,方差可以衡量定位不確定性,當方差趨近于0 時,表明定位不確定性較小,此時說明定位置信度較高。
由于應用高斯分布函數對邊界框坐標建模,需要重新設計邊界框損失函數來同時優(yōu)化邊界框定位不確定性和邊界框坐標的預測值。當預測結果比較準確時,將實際坐標代入式(11)可得對應概率密度值,進而判斷預測結果的準確性。概率密度值較大意味著預測結果比較準確,概率密度值較小則表明預測結果精度較差。為此,本文參考Gaussian YOLOv3算法[21]中計算高斯概率密度值的NLL 損失,將邊界框損失設計為計算高斯概率密度值的雙曲正切值的負自然對數值的和,記為NLL-Tanhloss,分別計算邊界框坐標分量的損失值的和,得到計算式為:
圖4 tanh函數Fig.4 tanh function
圖5 給出典型的邊界框坐標高斯分布預測實例。圖中橫坐標表示坐標值,縱坐標為概率密度。箭頭線表示坐標分量實際取值為0.1,d1、d2、d3 分別為YOLOwLU算法在實際坐標分量為0.1時預測的3個坐標高斯概率密度分布曲線。每條曲線表示預測的坐標為μ,預測坐標的高斯分布方差為σ2時,任意一點坐標的概率密度。顯然,d1 預測的坐標值0 更接近實際的坐標值0.1,相對于d1 來說,d2 和d3 預測的坐標值相對誤差較大,d2 預測的方差相對較大,d3 預測的方差相對較小,d2和d3在實際坐標值為0.1時,B點的概率密度值大于C點,根據NLL-Tanh loss,B點的損失值小于C點的損失值。由此可知,對于相對不準確的預測坐標值,如果預測的方差較大,則根據NLL-Tanh loss 公式得到的損失值相對較低,如果預測的方差相對較小,則損失值較大。因此對于預測的相對不準確的坐標值,YOLOwLU算法更傾向于預測較大的方差。
圖5 邊界框坐標高斯分布預測示例圖Fig.5 Example of Gaussian distribution prediction of bounding box coordinates
2.3.1 目標綜合評分
得到代表每個坐標分量定位不確定性的高斯分布方差后,可以在檢測過程中兼顧邊界框坐標定位的不確定性。由于檢測過程中會設置一定的閾值過濾目標綜合評分低于閾值的Box,而一些定位不確定性較高的Box的目標綜合評分高于閾值,這些定位不確定性較高的Box通常坐標定位精度較差,會造成誤報(False Positive,FP),因此可以降低定位不確定性較高的Box 的目標綜合評分,使其低于閾值,這樣會過濾掉一些定位不確定性較高的檢測結果,減少FP,提高檢測精度。為此,根據Softer-NMS[20]和Gaussian YOLOv3[21]算法中不確定性思想,提出如下的目標綜合評分score′ijk,計算式為:
其中,b_scoreijk為每個Boxijk的邊界框定位置信度評分,介于(0,1)之間。由于邊界框由4個坐標分量表示,邊界框定位不確定性應該由4 個坐標分量共同決定,可以設計為各坐標分量定位不確定性的乘性相融,即式(20)中表示邊界框定位不確定性,δ是超參數,用來調節(jié)邊界框定位不確定性大小,δ取10-5。邊界框定位不確定性可以衡量邊界框定位置信度,當邊界框定位不確定性較大時,說明邊界框定位置信度較低,當邊界框定位不確定性較小時,說明邊界框定位置信度較高。當邊界框定位比較準確時,每個坐標分量的定位不確定性都相對較小,相對較小,由式(20)可知,此時邊界框定位置信度評分相對較高;當邊界框定位相對不準確時,說明某些坐標分量的定位不確定性相對較大,相對較大,由式(20)可知,此時邊界框定位置信度評分相對較低,因此式(20)可以計算邊界框定位置信度評分。式(19)使得原目標綜合評分乘以邊界框定位置信度評分b_scoreijk,當定位較為準確時,b_scoreijk接近于1,score′ijk并沒有顯著變??;當邊界框定位精度較差時,b_scoreijk較小,隨著邊界框定位精度的變差,b_scoreijk趨近于0,此時目標綜合評分乘以一個較小的系數b_scoreijk,使得新的目標綜合評分score′ijk顯著變小,通過過濾score′ijk低于閾值的Box,可以移除一些定位不確定性相對較高的檢測結果,一定程度上可以減少FP,提高檢測精度。
2.3.2 融合周圍邊界框坐標
假設移除目標綜合評分低的Box 后某個類別的Box剩余n個,令集合B代表n個Box的邊界框坐標集合,B={b1,b2,…,bn},B中每一個元素bl=(x1l,y1l,x2l,y2l),(x1l,y1l)為左上角坐標,(x2l,y2l)為右下角坐標。為方便描述,此處及下文中的下標l代表剩余Box中的第l個Box。令集合S代表n個Box新的目標綜合評分集合,S={s1,s2,…,sn},sl代表第l個Box的目標綜合評分。
NMS 算法在檢測過程中,首先在集合S中找到目標綜合評分最高值sm,在集合B找到sm對應的邊界框坐標bm(x1m,y1m,x2m,y2m);接著在集合B中找到所有與bm的IOU 大于NMS 閾值的邊界框坐標子集合B[idx](B[idx]∈B);在集合S中找到B[idx]對應的目標綜合評分子集合S[idx](S[idx]∈S);然后將B[idx]從集合B中移除,將S[idx]從集合S中移除,并返回bm和sm。需要注意的是,NMS 算法可能過濾掉具有較精確預測坐標的邊界框。為此,本文算法利用學習到的定位不確定性等信息,在NMS算法中融合周圍邊界框坐標信息(B[idx]),在移除B[idx]前利用這些可能具有精確預測坐標的邊界框,即最終預測的邊界框坐標由與當前邊界框bm的IoU大于NMS 閾值的邊界框坐標共同決定,給與bm的IoU較大、同時目標綜合評分較高的邊界框坐標分配較大的權重,反之則給予一個較小的權重。綜上,本文借鑒Softer-NMS[20]算法基本思想提出一種改進的NMS 算法——M-NMS算法,具體描述如下:
算法1 M-NMS算法
輸入:邊界框坐標集合B={b1,b2,…,bn}、目標綜合評分集合S={s1,s2,…,sn}、NMS閾值n_t。
輸出:最終預測的邊界框坐標集合B′和目標綜合評分集合S′。
步驟1B′←{},S′←{}。
當集合B非空時,重復執(zhí)行以下步驟:
步驟2在集合S中找到目標綜合評分最高值sm,在集合B中找到目標綜合評分最高的邊界框bm。
步驟3找出所有與bm的IoU 大于NMS 閾值的邊界框坐標子集合B[idx],在S集合中找到相應的S[idx]。
步驟4采用式(21)計算每一個邊界框坐標的權重weightl。
area1 表示邊界框bm和bl的矩形面積交,area2 表示邊界框bm和bl的矩形面積并。
步驟5令b′m(x1′m,y1′m,x2′m,y2′m)為bm更新后的坐標,采用式(25)得到x1′m,類似地,分別得到x2′m、y1′m、y2′m。
步驟6將b′m加入集合B′,將sm加入集合S′。
步驟7將B[idx]從集合B中移除,將S[idx]從集合S中移除。
由式(21)和式(25)可知,在滿足IoU(bm,bl)>n_t前提下,兩類邊界框坐標的權重較低:(1)目標綜合評分低的邊界框坐標,如果邊界框定位不確定性相對較大,則通常計算出的目標綜合評分相對較低,此時sl相對較小,因此對b′m每個坐標分量的影響較小;(2)與當前邊界框bm的IoU較小的邊界框坐標,由式(21)可知,如果IoU(bm,bl)較小,則weightl較小,因此對b′m每個坐標分量的影響較小。
實驗采用COCO2014數據集,COCO2014用于目標檢測的部分共有80 個類別。本文選擇trainval35k 作為訓練集,共117 264張圖片;采用minival作為測試集,共5 000張圖片,以下稱為COCO2014測試集。遵循COCO評估指標,在檢測時,評估IoU在[0.5:0.05:0.95]下共10個閾值的平均精度(Average Precision,AP),最后以這10個AP平均值作為評估檢測精確度的主要指標,記為mAP。AP50、AP75、AP90分別表示IoU閾值在0.5、0.75、0.9下的AP,APS、APM、APL分別表示目標面積在(0,322]、(322,962]、(962,+∞)區(qū)間內的AP,AR1、AR10、AR100分別表示一張圖片檢測1 個結果、一張圖片檢測10 個結果、一張圖片檢測100 個結果時的平均召回率(Average Recall,AR)。
遵循YOLO[8-10]的實驗設置,訓練時采用在ImageNet分類任務上預訓練的模型Darknet-53 作為YOLO-wLU主干網絡初始化的權重。網絡訓練過程中采用隨機梯度下降算法進行反向傳播優(yōu)化網絡模型,動量設置為0.9,動量衰減正則項設置為0.000 48,網絡的批量大小設置為64,初始學習率設置為0.002,進行500 200 次迭代,分別在400 000、450 000 次迭代時將學習率調整為原來的0.1。采用多尺度訓練,即圖片分辨率在[320:32:608]下共10個不同的分辨率,每10次迭代后,調整分辨率。
以YOLOv3算法的計算結果為參考,在COCO2014測試集,圖片分辨率為416×416 下分別研究NLL-Tanhloss、新的目標綜合評分、M-NMS 算法及其組合對計算結果的影響,具體結果見表1(表中√表示實驗中應用此項改進)。
表1 各部分設計對結果性能的提升Table 1 Improvement of result performance by each part design %
表1中YOLOv3的mAP為31.0%,YOLO-wLU應用NLL-Tanh loss的mAP為33.1%,提升2.1個百分點。同時提升了AP75、APL、AR1、AR10、AR100等指標。由于NLLTanh loss同時對邊界框坐標定位不確定性和邊界框坐標進行優(yōu)化,NLL-Tanh loss可有效減少數據集、模型等的不確定性的影響,使YOLO-wLU 網絡可以從樣本中獲得更多的信息,有助于網絡學習到更多的可判別性特征。應用新的目標綜合評分,mAP 提高了0.9 個百分點,由于應用新的目標綜合評分可過濾定位不確定性較高的Box 從而減少FP,因此可以提升mAP。M-NMS算法的mAP 提升1.1 個百分點,雖然AP50只提升0.3 個百分點,但AP75、APM、APL分別提升2.2 個百分點、1.8 個百分點、1.2 個百分點,說明通過融合周圍邊界框坐標,YOLO-wLU算法將能夠獲得更加準確的邊界框坐標。
最后,綜合應用本文提出的NLL-Tanh loss、新的目標綜合評分、M-NMS算法等措施,mAP可提高4.1個百分點。
在圖片分辨率為416×416下測試YOLOv3和YOLOwLU 算法檢測單張圖片的時間。不失一般性,實驗時記錄檢測COCO2014 測試集中1 000 張圖片的時間,之后取其平均值作為實驗結果(測試環(huán)境為Nvidia 2070)。如表2 所示,相比于YOLOv3,YOLO-wLU 算法檢測單張圖片的時間增加約6.2%,說明YOLO-wLU 算法并沒有明顯增加檢測時間。如表2所示,相比于YOLOv3算法,YOLO-wLU 算法增加約0.03%的參數數量和約0.04%的浮點運算(Floating Point Operations,FLOPs),說明YOLO-wLU 算法沒有明顯增加計算復雜度,因此YOLO-wLU算法檢測單張圖片的時間與YOLOv3算法所用的時間基本相同。
表2 圖片檢測時間和計算復雜度對比Table 2 Comparison of picture detection time and calculation complexity
在COCO2014 測試集上,記錄YOLOv3 和YOLOwLU 算法AP50、AP75、AP90的FP 變化,具體結果見表3。由表3 可知,測試集共有標注35 094 個,YOLO-wLU 算法分別在AP50、AP75、AP90評估指標上減少21.40%、17.15%、15.40%的FP,說明YOLO-wLU 算法可有效減少誤報率。由于NLL-Tanh loss可使網絡學習到更多的特征,同時在檢測過程中修改目標綜合評分也移除了部分錯誤的檢測結果,再加上融合周圍邊界框坐標信息可以使檢測結果的邊界框坐標更加準確,因此可以明顯減少誤報率。
表3 基于COCO2014測試集的檢測結果FP對比Table 3 Comparison of detection results FP based on COCO2014 test dataset
每個坐標分量的高斯分布方差代表對應坐標分量的定位不確定性,圖6展示了COCO2014測試集中每個坐標分量定位不確定性和對應坐標分量絕對誤差(預測坐標與實際坐標之差的絕對值)之間的關系,針對每個區(qū)間計算坐標絕對誤差平均值和對應定位不確定性的平均值,作為圖中各點。μtx、μty對應的坐標絕對誤差理論上介于(0,1)之間,實際檢測結果中絕對誤差大于0.75 的樣本數小于總樣本數的0.01%且有較多離群點,因此這里只考慮μtx、μty對應的絕對誤差小于0.75 的情況;μtw、μth對應的坐標絕對誤差理論上介于(0,+∞)之間,實際檢測結果中絕對誤差大多數小于1.2,因此這里只考慮μtw、μth對應的絕對誤差小于1.2的情況。
圖6 各坐標定位不確定性vs對應坐標絕對誤差Fig.6 Each coordinate localization uncertainty vs corresponding absolute error of coordinate
由圖6 可知,隨著各坐標分量絕對誤差的增大,對應坐標分量的定位不確定性整體呈現增大趨勢,說明各個坐標分量的定位不確定性可以衡量各自坐標分量的定位置信度,定位不確定性較大時,定位精度較差,定位置信度較低,定位不確定性較小時,定位精度較高,定位置信度較高。由于NLL-Tanh loss同時優(yōu)化邊界框坐標和定位不確定性,網絡會捕獲到每個坐標分量的定位不確定性,對于預測較為準確的坐標值,YOLO-wLU算法傾向于預測較小的高斯分布方差,對于預測相對不準確的坐標值,YOLO-wLU 算法傾向于預測較大的方差。由于邊界框包含4個坐標分量,一個邊界框的定位不確定性應該由4 個坐標分量的定位不確定性共同決定。式(20)中由各個坐標分量的乘性相融表示邊界框定位不確定性,即超參數δ用于調節(jié)邊界框定位不確定性大小,當各個坐標分量的定位不確定性都相對較小時,邊界框定位不確定性相對較小,此時邊界框定位置信度評分相對較高,反之邊界框定位置信度評分則相對較低。在得到邊界框定位置信度評分后,通過式(19)中新的目標綜合評分規(guī)則,可以在檢測過程中移除邊界框定位置信度評分相對較低的檢測結果,因此可以減少FP 并提升檢測精度。δ的取值及對應的評估指標如圖7 所示,可以發(fā)現,在δ取10-5時,mAP 取得最大值,同時AP75、APM得到較好的結果。本文采用mAP 作為評估檢測精確度的主要指標,因此δ取10-5。
圖7 不同δ 取值vs對應的評估指標Fig.7 Varying δ vs corresponding evaluation metrics
在COCO2014測試集上對比分析了YOLO-wLU算法和其他幾種目標檢測算法的實驗結果,具體實驗結果見表4。
表4 不同檢測算法的實驗結果Table 4 Experimental results of different detection algorithms
如表4 所示,相比于單階段目標檢測算法SSD、YOLOv3、Gaussian YOLOv3,YOLO-wLU 算法檢測精度較高,雖然單階段目標檢測算法RetinaNet的檢測精度略高于YOLO_wLU 的檢測精度,但其檢測單張圖片的時間約是YOLO_wLU檢測時間的5~6倍。相比于兩階段目標檢測算法Faster R-CNN、Mask R-CNN,YOLOwLU 算法檢測精度略差,但檢測速度較快,其中Faster R-CNN 檢測單張圖片的時間約是YOLO-wLU 算法的5~6倍,Mask R-CNN檢測單張圖片的時間約是YOLOwLU 算法的7~8 倍。實驗結果表明:YOLO-wLU 算法在實時性和檢測精度上達到了更好的平衡。
本文提出一種考慮定位不確定性的目標檢測算法——YOLO-wLU算法。YOLO-wLU算法使用高斯分布函數建立邊界框坐標的概率分布模型,設計新的邊界框損失函數,并利用定位不確定性等信息設計了新的目標綜合評分規(guī)則過濾錯誤的檢測結果。此外,提出M-NMS 算法融合利用周圍邊界框坐標信息以提升YOLOv3算法的檢測性能。實驗表明:與YOLOv3算法相比,YOLO-wLU 算法減少了數據集、模型等的不確定性帶來的影響,減少了FP,并提升了檢測精度,同時YOLO-wLU 算法沒有明顯增加參數數量和計算復雜度,因此實時性較好。在后續(xù)工作中計劃將本文考慮的定位不確定性的思想推廣應用于其他目標檢測算法中,進一步研究不確定性在深度學習算法中的應用問題。